forstok-ui-lib 8.3.11 → 8.3.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agent/README.md +15 -0
- package/.agent/api-map.md +3 -0
- package/.agent/app-workflows.md +13 -0
- package/.agent/architecture-overview.md +10 -0
- package/.agent/backend-flow.md +3 -0
- package/.agent/bugfix-prompts.md +19 -0
- package/.agent/change-log.md +3 -0
- package/.agent/coding-conventions.md +11 -0
- package/.agent/database-map.md +3 -0
- package/.agent/deployment-notes.md +8 -0
- package/.agent/env-map.md +4 -0
- package/.agent/feature-prompts.md +19 -0
- package/.agent/frontend-flow.md +9 -0
- package/.agent/module-map.md +30 -0
- package/.agent/open-questions.md +6 -0
- package/.agent/repository-summary.md +18 -0
- package/.agent/risk-register.md +9 -0
- package/.agent/task-entrypoints.md +9 -0
- package/.agent/testing-map.md +6 -0
- package/dist/index.d.ts +7 -6
- package/dist/index.js +97 -107
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +97 -107
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/assets/stylesheets/shares.styles.ts +100 -110
- package/src/typeds/shares.typed.ts +306 -275
package/.agent/README.md
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# .agent Working Memory
|
|
2
|
+
|
|
3
|
+
Purpose: persistent, AI-friendly notes about this repo so future agents can ramp quickly without re-scanning the codebase.
|
|
4
|
+
|
|
5
|
+
How to use:
|
|
6
|
+
- Read `repository-summary.md` and `architecture-overview.md` first for context, then `module-map.md`, `frontend-flow.md`, `backend-flow.md` (if present), and `env-map.md` before coding.
|
|
7
|
+
- Consult `coding-conventions.md` to match existing style and `risk-register.md` to avoid regressions.
|
|
8
|
+
- For specific tasks, jump to `task-entrypoints.md`, `feature-prompts.md`, or `bugfix-prompts.md`.
|
|
9
|
+
- Update `change-log.md` whenever you modify code or these docs.
|
|
10
|
+
|
|
11
|
+
Update rules:
|
|
12
|
+
- Keep docs grounded in actual code; mark assumptions explicitly.
|
|
13
|
+
- Never store secrets, credentials, or tokens here.
|
|
14
|
+
- When adding features/fixes, refresh relevant sections (flows, module map, risks, tests) and append a dated note to `change-log.md`.
|
|
15
|
+
- If something is unclear, record questions in `open-questions.md`.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# App Workflows
|
|
2
|
+
|
|
3
|
+
This repository is a component library, not a runnable app. Workflows refer to component usage patterns:
|
|
4
|
+
|
|
5
|
+
- **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.
|
|
6
|
+
- **Input flow**: `InputComponent` handles text/number/currency inputs with formatting (`formatNumber`), reset/force-update flags, Enter-key handlers, and form-field callbacks.
|
|
7
|
+
- **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`.
|
|
8
|
+
- **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.
|
|
9
|
+
- **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.
|
|
10
|
+
- **Upload flow**: file/image upload components manage drag/drop and thumbnail display using shared CSS patterns.
|
|
11
|
+
- **Emoji & Icon flow**: wraps `frimousse` emoji picker and SVG/icon usage.
|
|
12
|
+
|
|
13
|
+
Assumption: consuming apps orchestrate business logic, pass data/handlers into these components, and provide theme variables.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# Architecture Overview
|
|
2
|
+
|
|
3
|
+
- **Pattern**: Monorepo-less, single package React component library. No backend/services. All logic resides in front-end components and shared helpers.
|
|
4
|
+
- **Exports**: `src/index.ts` aggregates `components`, `assets`, `typeds`, and `maps` for external consumption.
|
|
5
|
+
- **Styling**: styled-components with heavy use of CSS variables (expects host app to define theme tokens such as `--pri-clr`, `--sec-clr-bg`). Some CSS modules imported via `rollup-plugin-import-css`.
|
|
6
|
+
- **State & hooks**: React functional components; some use `use-state-with-callback` for post-set callbacks. Utilities rely on browser globals (`window`, `document`, storage), implying browser-only usage (no SSR safety guards).
|
|
7
|
+
- **External integrations**: UI dependencies only (react-select, react-datepicker, moment, approvejs for validation, html-to-text, frimousse emoji picker). No HTTP/API layers.
|
|
8
|
+
- **Data/config**: `src/maps/common.ts` provides default date range presets using moment.
|
|
9
|
+
- **Build pipeline**: Rollup builds CJS + ESM bundles and separate DTS bundle. Peer deps externalized. Styled-components transformer injects component IDs and display names.
|
|
10
|
+
- **Background/queue/cron**: None.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Bugfix Prompt Templates
|
|
2
|
+
|
|
3
|
+
- **General bug investigation**
|
|
4
|
+
"Investigate bug in <ComponentName>. Reproduce with prop/state combo. Inspect src/components/<name>/index.tsx and related styles/helpers. Check `reset`/`isForceUpdate` handling and event callbacks."
|
|
5
|
+
|
|
6
|
+
- **Root cause analysis**
|
|
7
|
+
"Trace the failing behavior in <ComponentName>. Map input props → internal state → rendered output. Verify helper usage (formatNumber, generateMessageQuestion, etc.) and external deps. Document findings in .agent/change-log.md."
|
|
8
|
+
|
|
9
|
+
- **Safe fix with minimal regression**
|
|
10
|
+
"Implement minimal change to fix <issue> in <ComponentName>. Avoid altering public prop shapes; add guards/tests if possible. Update types and styles only where necessary."
|
|
11
|
+
|
|
12
|
+
- **Query/formatting bug fix**
|
|
13
|
+
"Fix data formatting or color/status mapping in src/assets/javascripts/helper.ts or function.ts. Keep return types and callers intact."
|
|
14
|
+
|
|
15
|
+
- **API (prop) bug fix**
|
|
16
|
+
"Adjust prop handling for <prop> in <ComponentName>. Ensure defaults and optional props are preserved. Update typed.ts if required."
|
|
17
|
+
|
|
18
|
+
- **Frontend UI bug fix**
|
|
19
|
+
"Correct UI glitch in <ComponentName> styles (src/components/<name>/styles.ts). Verify CSS variables and responsive rules. Keep DOM structure stable for consumers."
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Coding Conventions
|
|
2
|
+
|
|
3
|
+
- **Language**: TypeScript with React functional components; strict mode in tsconfig.
|
|
4
|
+
- **Styling**: styled-components; props often prefixed with `$` to avoid DOM leakage and drive style variants. CSS variables expected from host (e.g., `--pri-clr`, `--sec-clr-bg`). Shared CSS fragments live in `src/assets/stylesheets` and `components/*/styles.ts`.
|
|
5
|
+
- **State**: `useState` and `use-state-with-callback` for cases needing post-set callbacks; components expose `isForceUpdate`/`setForceUpdate` and `reset/setReset` flags for parent-controlled resets.
|
|
6
|
+
- **Events**: callbacks prefixed with `ev*` (e.g., `evChange`, `evCreateMessage`); form-field updates use `evChangeCustom(name, value)` when `isField` is true.
|
|
7
|
+
- **Data typing**: shared types in `src/typeds` (`TObject`, `TState`, `TOption`, etc.). Component-specific `typed.ts` files accompany components with complex props.
|
|
8
|
+
- **Error handling**: UI-level guards (e.g., disable actions, prevent deletion below min count); uses helper validation via `approvejs` in utilities, but no central error boundary.
|
|
9
|
+
- **Logging**: none in codebase; rely on UI cues instead of console logging.
|
|
10
|
+
- **Formatting/number handling**: helpers like `formatNumber`, `currencyNumber`, `generateValue`, and multiple color/status mappers in `assets/javascripts`.
|
|
11
|
+
- **Structure**: components often rely on child `aria-label` markers to organize slots (table, popup, message).
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# Deployment Notes
|
|
2
|
+
|
|
3
|
+
- **Artifact**: Built with rollup into `dist/index.js` (CJS), `dist/index.mjs` (ESM), and `dist/index.d.ts` (types).
|
|
4
|
+
- **Build command**: `npm run build`.
|
|
5
|
+
- **Publish**: likely published to npm (`npm publish`) after bumping version (`npm version [patch|minor|major]`), as hinted in README.
|
|
6
|
+
- **CI/CD**: No CI config present in repo.
|
|
7
|
+
- **Runtime assumptions**: Browser environment with CSS variables defined by host app; React 19 and styled-components 6 provided as peer deps.
|
|
8
|
+
- **Bundling details**: Peer deps externalized; assets (images) emitted to `dist/images`; styled-components transformer enabled for better class names.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Feature Prompt Templates
|
|
2
|
+
|
|
3
|
+
- **Add new component**
|
|
4
|
+
"You are updating forstok-ui-lib. Goal: add a new <ComponentName> under src/components/<name>. Review coding style in src/components/<similar>/ and exports in src/components/index.ts + src/index.ts. Provide styled-components styles, typed props, and ensure no breaking API changes. Include usage notes and build updates."
|
|
5
|
+
|
|
6
|
+
- **Update existing component behavior**
|
|
7
|
+
"Modify <ComponentName> in src/components/<name>/ to <desired change>. Preserve existing props and `reset/isForceUpdate` patterns. Update types in typed.ts if needed and adjust styles carefully."
|
|
8
|
+
|
|
9
|
+
- **Change business/UI flow**
|
|
10
|
+
"Adjust component flow for <scenario> (e.g., Select removal confirmation). Identify callbacks (`evChange`, `evCreateMessageQuestion`) and update logic in index.tsx plus helper utilities if necessary. Document risks and update .agent/change-log.md."
|
|
11
|
+
|
|
12
|
+
- **Add endpoint-like utility**
|
|
13
|
+
"Add new helper in src/assets/javascripts/function.ts for <purpose>. Keep pure/browser-safe, add type definitions, and ensure exports."
|
|
14
|
+
|
|
15
|
+
- **Update database query**
|
|
16
|
+
"N/A (no DB). If needing data shaping, modify helper functions only and keep types in sync."
|
|
17
|
+
|
|
18
|
+
- **Refactor module**
|
|
19
|
+
"Refactor <module> for clarity/performance without changing public API. Maintain prop names, CSS variable expectations, and ensure build passes."
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Frontend Flow
|
|
2
|
+
|
|
3
|
+
- **Routing**: None defined; components are framework-agnostic React pieces for host apps to compose.
|
|
4
|
+
- **Component hierarchy**: Flat exports; each component encapsulates its own styles. Some components (Popup, Table, List) rely on children with specific `aria-label` markers to render sections.
|
|
5
|
+
- **Data fetching**: Not included. Components accept data via props (e.g., `options` for Select, `data` for lists/tables).
|
|
6
|
+
- **State management**: Local React state with optional externally controlled flags (`reset`, `isForceUpdate`). No global state/store included.
|
|
7
|
+
- **Forms**: Inputs/Selects support `isField` and `evChangeCustom(name, value)` to integrate with form management; `evEnter` for Enter-key submissions; currency/number formatting helpers used during key events.
|
|
8
|
+
- **UI patterns**: Styled-components for theming; extensive use of CSS variables; modal overlay pattern via Popup/Message; skeleton loaders via Loader/Loading; select dropdown custom styling consistent across modes.
|
|
9
|
+
- **Reusable components**: Buttons, Inputs (including OTP and ref-forwarding), Select variants, Date/Datetime pickers, Upload drag/drop, Emoji picker, Table/List layouts, Icon set, Popup/Message utilities.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Module Map
|
|
2
|
+
|
|
3
|
+
- `src/index.ts`: central export barrel for components, assets, typeds, maps.
|
|
4
|
+
- `src/components/`: React components.
|
|
5
|
+
- `button/`: styled button variants with optional arrow indicator.
|
|
6
|
+
- `checkbox/`, `radio/`, `switch/`: form controls with custom styles.
|
|
7
|
+
- `input/`: text/number/currency input, OTP variant, ref-forwarding variant.
|
|
8
|
+
- `textarea/`: textarea with ref variant.
|
|
9
|
+
- `select/`: react-select wrappers (standard, async paginate, creatable, select-all, custom menu list, helper functions & types).
|
|
10
|
+
- `dropdown/`: simple dropdown container + styles.
|
|
11
|
+
- `date/`, `datetime/`: date/datetime pickers, refs, typed helpers, styles.
|
|
12
|
+
- `label/`, `text/`, `link/`: typography helpers and link styles.
|
|
13
|
+
- `list/`, `table/`: list/table layout components using children slots.
|
|
14
|
+
- `popup/`, `message/`: modal/toast messaging infrastructure with typed helpers.
|
|
15
|
+
- `portal/`: React portal wrapper.
|
|
16
|
+
- `icon/`: icon renderer with typed icon names.
|
|
17
|
+
- `image/`, `upload/`: image display and upload drag-drop UI.
|
|
18
|
+
- `emoji/`: emoji picker component.
|
|
19
|
+
- `loader/`, `loading/`: loading indicators/skeletons.
|
|
20
|
+
- `form/styles.ts`, `date/styles.ts`, `dropdown/styles.ts`, `select/styles.ts`: shared styled-components fragments exposed for consumer styling.
|
|
21
|
+
- `src/assets/`:
|
|
22
|
+
- `stylesheets/`: `bases.styles.ts` and `shares.styles.ts` reusable CSS snippets.
|
|
23
|
+
- `javascripts/`: helper utilities (`function.ts`, `helper.ts`).
|
|
24
|
+
- `images/`: placeholder assets/icons used by styles.
|
|
25
|
+
- `src/typeds/`: shared types (`base.typed.ts`, `shares.typed.ts`) used across components.
|
|
26
|
+
- `src/maps/`: `common.ts` config constants (date range defaults) exported via `index.ts`.
|
|
27
|
+
- `dist/`: generated build artifacts.
|
|
28
|
+
- `grunch`: text pointer file (non-functional).
|
|
29
|
+
|
|
30
|
+
Safe-to-change: docs in `.agent/`, new components/types under `src/components`/`src/typeds` (ensure exports added). Sensitive: existing component APIs/props used by consuming apps—avoid breaking prop names/shapes; CSS variable expectations; dist artifacts (regenerate via build instead of editing).
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# Open Questions
|
|
2
|
+
|
|
3
|
+
- Are there official theming guidelines or a CSS variable contract for host apps? (CSS vars referenced but not documented here.)
|
|
4
|
+
- Which consuming apps rely on specific component props/modes? Lacking compatibility matrix makes API changes risky.
|
|
5
|
+
- Should SSR compatibility be added, or is browser-only acceptable for all consumers?
|
|
6
|
+
- Any plan for adding automated tests or CI before further changes?
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Repository Summary
|
|
2
|
+
|
|
3
|
+
- **Name**: forstok-ui-lib (UI component library for Forstok apps).
|
|
4
|
+
- **Tech stack**: React 19 + TypeScript 5, styled-components 6, react-select, react-datepicker, moment, rollup bundling. No backend/server code.
|
|
5
|
+
- **Purpose**: reusable UI components (inputs, selects, date pickers, loaders, popups, tables, etc.) plus helper utilities and shared types for Forstok frontends.
|
|
6
|
+
- **Key folders**:
|
|
7
|
+
- `src/components/`: React components grouped by feature (button, input, select, popup, table, etc.).
|
|
8
|
+
- `src/assets/`: shared styles (styled-components css fragments), helper JS utilities, images.
|
|
9
|
+
- `src/typeds/`: shared TypeScript types.
|
|
10
|
+
- `src/maps/`: common config constants (date range defaults).
|
|
11
|
+
- `dist/`: built output (CJS/ESM/types) — generated, do not edit.
|
|
12
|
+
- `grunch`: text reference file (YouTube link), unused in build.
|
|
13
|
+
- **Entrypoint**: `src/index.ts` re-exports components, assets, typeds, and maps for consumers.
|
|
14
|
+
- **Build**: `npm run build` (rollup, outputs to `dist/`).
|
|
15
|
+
- **Tests**: none (`npm test` exits with error placeholder).
|
|
16
|
+
- **Lint/format**: none configured.
|
|
17
|
+
- **Install**: `npm install` (preinstall rewrites lock via `npm-force-resolutions`).
|
|
18
|
+
- **System shape**: single-package UI library; no runtime services, APIs, or databases.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Risk Register
|
|
2
|
+
|
|
3
|
+
- **API/prop stability**: Consumers depend on current prop names and `$`-prefixed styling flags; breaking changes will ripple across multiple apps.
|
|
4
|
+
- **Browser globals**: Helpers and components access `window`, `document`, and storage directly—unsafe for SSR/Node; changes should preserve browser-only assumptions or add guards.
|
|
5
|
+
- **CSS variable reliance**: Styling expects host-defined CSS vars; altering names/defaults can break theming.
|
|
6
|
+
- **Absence of tests**: No automated coverage; regressions in interactive components (Select, Input, Popup, Table, Upload) are likely if behavior changes.
|
|
7
|
+
- **State flags**: `reset`/`isForceUpdate` patterns used across components; incorrect handling could desync UI state.
|
|
8
|
+
- **Dependencies**: Third-party components (react-select, react-datepicker, moment-range) influence bundle size and behavior; updates may introduce breaking changes.
|
|
9
|
+
- **Accessibility**: Custom controls may not meet accessibility expectations (keyboard focus management limited); modifying markup requires care.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Task Entrypoints
|
|
2
|
+
|
|
3
|
+
- **Add a new component**: Create under `src/components/<name>/`, add styles/typed as needed, and export from `src/components/index.ts` plus `src/index.ts` if new barrel export required.
|
|
4
|
+
- **Enhance existing component**: Start in its folder (e.g., `src/components/select/`), inspect `typed.ts` for props and `styles.ts` for theming contracts; consider impacts on shared helpers (`assets/javascripts`).
|
|
5
|
+
- **Adjust shared styles**: `src/assets/stylesheets/` for CSS fragments; `components/*/styles.ts` for component-specific styling.
|
|
6
|
+
- **Modify utilities**: `src/assets/javascripts/function.ts` and `helper.ts` contain formatting, storage, and color/status mappers.
|
|
7
|
+
- **Update shared types**: `src/typeds/` (avoid breaking API unless coordinated with consumers).
|
|
8
|
+
- **Change exports**: keep barrel files (`src/components/index.ts`, `src/index.ts`) in sync.
|
|
9
|
+
- **Build/publish**: run `npm run build`; bump version before publish.
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# Testing Map
|
|
2
|
+
|
|
3
|
+
- Test framework: none configured. `npm test` exits with an error placeholder.
|
|
4
|
+
- Existing coverage: none.
|
|
5
|
+
- Gaps: all components lack automated tests; manual verification required when changing props, styles, or behavior.
|
|
6
|
+
- Recommended: add component-level tests (React Testing Library) and visual regression coverage for high-traffic components (Select, Input, Popup, Table) before making risky changes.
|
package/dist/index.d.ts
CHANGED
|
@@ -304,6 +304,7 @@ type TChannel = {
|
|
|
304
304
|
icon?: string | null;
|
|
305
305
|
id?: number | null;
|
|
306
306
|
totalStores?: number;
|
|
307
|
+
phone?: string;
|
|
307
308
|
Stores?: {
|
|
308
309
|
id?: number;
|
|
309
310
|
storeName?: string;
|
|
@@ -396,7 +397,7 @@ type TInList = TInPart & {
|
|
|
396
397
|
evClickCollapse?: TMouseEvent;
|
|
397
398
|
isReadyQuery: boolean;
|
|
398
399
|
};
|
|
399
|
-
type TInlistPart = Omit<TInList,
|
|
400
|
+
type TInlistPart = Omit<TInList, "evClickTab" | "activePageOption" | "evSetPageOption" | "activePage" | "evSetPage" | "activeCursor" | "searchInput" | "abortRef" | "abortSecRef" | "isResetSubscription" | "isReadyQuery"> & {
|
|
400
401
|
pageEl: JSX.Element | null;
|
|
401
402
|
readyFilter?: string[];
|
|
402
403
|
parseSetForceUpdate?: (value: boolean) => void;
|
|
@@ -409,7 +410,7 @@ interface TPagination {
|
|
|
409
410
|
evSetPage: TMouseEvent;
|
|
410
411
|
activePageOption?: number;
|
|
411
412
|
evSetPageOption: TMouseEvent;
|
|
412
|
-
mode?:
|
|
413
|
+
mode?: "noPageOption" | "min10PageOption";
|
|
413
414
|
}
|
|
414
415
|
type TObjPage = {
|
|
415
416
|
cursor?: string;
|
|
@@ -467,7 +468,7 @@ type TDetailNew<TData = never> = {
|
|
|
467
468
|
type Callback<S> = (state: S) => void | (() => void | undefined);
|
|
468
469
|
type DispatchWithCallback<A, S> = (value: A, callback: Callback<S>) => void;
|
|
469
470
|
type TStateCallback<TData> = DispatchWithCallback<React.SetStateAction<TData>, TData>;
|
|
470
|
-
type ModeListTableColumn =
|
|
471
|
+
type ModeListTableColumn = "item" | "item-nocheck" | "quantity" | "listing" | "listing-nocheck" | "picklist" | "package" | "shipment" | "invoice" | "payment-receive" | "sales-return" | "activity" | "putaway" | "inbound" | "lowstock" | "price" | "stock-adjustment" | "stock-outbound" | "stock-transfer" | "promotion" | "stock-history" | "price-history" | "turnover" | "days-outofstock" | "warehouses" | "archived" | "pos-order" | "order" | "order-nocheck" | "table-customheader";
|
|
471
472
|
type TInDetail = TInPart & {
|
|
472
473
|
firstDispatch?: Dispatch<any>;
|
|
473
474
|
resetByOption: (opt?: string | string[], callback?: () => void, noScroll?: boolean) => void;
|
|
@@ -483,9 +484,9 @@ type TInDetailProps = {
|
|
|
483
484
|
tabDef?: string;
|
|
484
485
|
hasSubscription?: boolean;
|
|
485
486
|
};
|
|
486
|
-
type modeTable =
|
|
487
|
-
type BodyContentStyle =
|
|
488
|
-
type BodyContentMode = BodyContentStyle |
|
|
487
|
+
type modeTable = "picklist" | "listing" | "price" | "price" | "price-full" | "price-mid";
|
|
488
|
+
type BodyContentStyle = "create-return" | "create-price" | "create-adjustment" | "create-outbound" | "confirm-inbound" | "confirm-outbound" | "confirm-adjustment";
|
|
489
|
+
type BodyContentMode = BodyContentStyle | "create-promotion" | "create-inbound" | "create-transfer" | "create-picklist" | "edit-picklist" | "create-package" | "edit-master" | "putaway-inbound" | "create-paymentreceive" | "create-master" | "create-listing" | "create-adjustment" | "edit-listing";
|
|
489
490
|
|
|
490
491
|
declare const InputOTPComponent: ({ otpLength, value, onChange, ...props }: {
|
|
491
492
|
otpLength: number;
|