# App Workflows

This repository is a component library, not a runnable app. Workflows refer to component usage patterns:

- **Select flow**: `SelectComponent` wraps `react-select`/`CreatableSelect`, manages value state, supports multi-select, custom labels/options, async paginate menu lists, and guarded removals (confirm via message question). Emits `evChange` and optional form-field `evChangeCustom` callbacks.
- **Input flow**: `InputComponent` handles text/number/currency inputs with formatting (`formatNumber`), reset/force-update flags, Enter-key handlers, and form-field callbacks.
- **Date/DateTime flow**: date pickers (moment + react-datepicker/@wojtekmaj/react-daterange-picker) expose refs, typed props, and custom styles; defaults provided in `maps/common.ts`.
- **Popup & Message flow**: `PopupComponent` renders modal/question overlays with head/body/foot slots; `MessageComponent` renders toast-like notifications with timers and callbacks; helper functions generate typed message payloads.
- **Table/List flow**: components expect children annotated via `aria-label` (head/body/foot) to auto-build rows/columns; supports force-update flag for controlled rerender.
- **Upload flow**: file/image upload components manage drag/drop and thumbnail display using shared CSS patterns.
- **Emoji & Icon flow**: wraps `frimousse` emoji picker and SVG/icon usage.

Assumption: consuming apps orchestrate business logic, pass data/handlers into these components, and provide theme variables.
