@dashforge/tw 0.1.0-beta → 0.2.1-beta
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/A11Y.md +130 -0
- package/CHANGELOG.md +231 -0
- package/dist/index.d.ts +1 -82
- package/dist/index.esm.js +1608 -11
- package/dist/src/components/AspectRatio/AspectRatio.d.ts +36 -0
- package/dist/src/components/AspectRatio/AspectRatio.d.ts.map +1 -0
- package/dist/src/components/AspectRatio/aspectRatio.types.d.ts +50 -0
- package/dist/src/components/AspectRatio/aspectRatio.types.d.ts.map +1 -0
- package/dist/src/components/Box/Box.d.ts +36 -0
- package/dist/src/components/Box/Box.d.ts.map +1 -0
- package/dist/src/components/Box/box.types.d.ts +54 -0
- package/dist/src/components/Box/box.types.d.ts.map +1 -0
- package/dist/src/components/Box/box.variants.d.ts +402 -0
- package/dist/src/components/Box/box.variants.d.ts.map +1 -0
- package/dist/src/components/Button/Button.d.ts.map +1 -1
- package/dist/src/components/Checkbox/Checkbox.d.ts.map +1 -1
- package/dist/src/components/Container/Container.d.ts +35 -0
- package/dist/src/components/Container/Container.d.ts.map +1 -0
- package/dist/src/components/Container/container.types.d.ts +41 -0
- package/dist/src/components/Container/container.types.d.ts.map +1 -0
- package/dist/src/components/Container/container.variants.d.ts +93 -0
- package/dist/src/components/Container/container.variants.d.ts.map +1 -0
- package/dist/src/components/Divider/Divider.d.ts +50 -0
- package/dist/src/components/Divider/Divider.d.ts.map +1 -0
- package/dist/src/components/Divider/divider.types.d.ts +47 -0
- package/dist/src/components/Divider/divider.types.d.ts.map +1 -0
- package/dist/src/components/Divider/divider.variants.d.ts +129 -0
- package/dist/src/components/Divider/divider.variants.d.ts.map +1 -0
- package/dist/src/components/Grid/Grid.d.ts +32 -0
- package/dist/src/components/Grid/Grid.d.ts.map +1 -0
- package/dist/src/components/Grid/grid.types.d.ts +103 -0
- package/dist/src/components/Grid/grid.types.d.ts.map +1 -0
- package/dist/src/components/Grid/grid.variants.d.ts +453 -0
- package/dist/src/components/Grid/grid.variants.d.ts.map +1 -0
- package/dist/src/components/NumberField/NumberField.d.ts.map +1 -1
- package/dist/src/components/RadioGroup/RadioGroup.d.ts.map +1 -1
- package/dist/src/components/Stack/Stack.d.ts +24 -0
- package/dist/src/components/Stack/Stack.d.ts.map +1 -0
- package/dist/src/components/Stack/stack.types.d.ts +61 -0
- package/dist/src/components/Stack/stack.types.d.ts.map +1 -0
- package/dist/src/components/Stack/stack.variants.d.ts +163 -0
- package/dist/src/components/Stack/stack.variants.d.ts.map +1 -0
- package/dist/src/components/Typography/Typography.d.ts +42 -0
- package/dist/src/components/Typography/Typography.d.ts.map +1 -0
- package/dist/src/components/Typography/typography.types.d.ts +61 -0
- package/dist/src/components/Typography/typography.types.d.ts.map +1 -0
- package/dist/src/components/Typography/typography.variants.d.ts +167 -0
- package/dist/src/components/Typography/typography.variants.d.ts.map +1 -0
- package/dist/src/components/VisuallyHidden/VisuallyHidden.d.ts +42 -0
- package/dist/src/components/VisuallyHidden/VisuallyHidden.d.ts.map +1 -0
- package/dist/src/components/VisuallyHidden/visuallyHidden.types.d.ts +42 -0
- package/dist/src/components/VisuallyHidden/visuallyHidden.types.d.ts.map +1 -0
- package/dist/src/index.d.ts +23 -1
- package/dist/src/index.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/components/AspectRatio/AspectRatio.test.tsx +173 -0
- package/src/components/AspectRatio/AspectRatio.tsx +73 -0
- package/src/components/AspectRatio/aspectRatio.types.ts +54 -0
- package/src/components/Box/Box.test.tsx +349 -0
- package/src/components/Box/Box.tsx +83 -0
- package/src/components/Box/box.types.ts +61 -0
- package/src/components/Box/box.variants.ts +211 -0
- package/src/components/Button/Button.tsx +11 -0
- package/src/components/Checkbox/Checkbox.tsx +26 -2
- package/src/components/Container/Container.test.tsx +209 -0
- package/src/components/Container/Container.tsx +74 -0
- package/src/components/Container/container.types.ts +45 -0
- package/src/components/Container/container.variants.ts +81 -0
- package/src/components/Divider/Divider.test.tsx +241 -0
- package/src/components/Divider/Divider.tsx +140 -0
- package/src/components/Divider/divider.types.ts +52 -0
- package/src/components/Divider/divider.variants.ts +115 -0
- package/src/components/Grid/Grid.test.tsx +321 -0
- package/src/components/Grid/Grid.tsx +148 -0
- package/src/components/Grid/grid.types.ts +112 -0
- package/src/components/Grid/grid.variants.ts +133 -0
- package/src/components/NumberField/NumberField.tsx +30 -2
- package/src/components/RadioGroup/RadioGroup.tsx +23 -1
- package/src/components/Stack/Stack.test.tsx +309 -0
- package/src/components/Stack/Stack.tsx +115 -0
- package/src/components/Stack/stack.types.ts +68 -0
- package/src/components/Stack/stack.variants.ts +80 -0
- package/src/components/Typography/Typography.test.tsx +230 -0
- package/src/components/Typography/Typography.tsx +112 -0
- package/src/components/Typography/typography.types.ts +65 -0
- package/src/components/Typography/typography.variants.ts +113 -0
- package/src/components/VisuallyHidden/VisuallyHidden.test.tsx +86 -0
- package/src/components/VisuallyHidden/VisuallyHidden.tsx +59 -0
- package/src/components/VisuallyHidden/visuallyHidden.types.ts +45 -0
- package/src/index.ts +50 -1
- package/LICENSE +0 -21
- package/dist/components/AppShell/AppShell.d.ts +0 -32
- package/dist/components/AppShell/AppShell.d.ts.map +0 -1
- package/dist/components/AppShell/appShell.types.d.ts +0 -62
- package/dist/components/AppShell/appShell.types.d.ts.map +0 -1
- package/dist/components/AppShell/appShell.variants.d.ts +0 -65
- package/dist/components/AppShell/appShell.variants.d.ts.map +0 -1
- package/dist/components/Autocomplete/Autocomplete.d.ts +0 -32
- package/dist/components/Autocomplete/Autocomplete.d.ts.map +0 -1
- package/dist/components/Autocomplete/autocomplete.types.d.ts +0 -214
- package/dist/components/Autocomplete/autocomplete.types.d.ts.map +0 -1
- package/dist/components/Autocomplete/autocomplete.variants.d.ts +0 -214
- package/dist/components/Autocomplete/autocomplete.variants.d.ts.map +0 -1
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +0 -23
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts.map +0 -1
- package/dist/components/Breadcrumbs/breadcrumbs.types.d.ts +0 -98
- package/dist/components/Breadcrumbs/breadcrumbs.types.d.ts.map +0 -1
- package/dist/components/Breadcrumbs/breadcrumbs.variants.d.ts +0 -85
- package/dist/components/Breadcrumbs/breadcrumbs.variants.d.ts.map +0 -1
- package/dist/components/Button/Button.d.ts +0 -44
- package/dist/components/Button/Button.d.ts.map +0 -1
- package/dist/components/Button/button.types.d.ts +0 -66
- package/dist/components/Button/button.types.d.ts.map +0 -1
- package/dist/components/Button/button.variants.d.ts +0 -104
- package/dist/components/Button/button.variants.d.ts.map +0 -1
- package/dist/components/Checkbox/Checkbox.d.ts +0 -31
- package/dist/components/Checkbox/Checkbox.d.ts.map +0 -1
- package/dist/components/Checkbox/checkbox.types.d.ts +0 -86
- package/dist/components/Checkbox/checkbox.types.d.ts.map +0 -1
- package/dist/components/Checkbox/checkbox.variants.d.ts +0 -109
- package/dist/components/Checkbox/checkbox.variants.d.ts.map +0 -1
- package/dist/components/ConfirmDialog/ConfirmDialog.d.ts +0 -38
- package/dist/components/ConfirmDialog/ConfirmDialog.d.ts.map +0 -1
- package/dist/components/ConfirmDialog/confirmDialog.types.d.ts +0 -80
- package/dist/components/ConfirmDialog/confirmDialog.types.d.ts.map +0 -1
- package/dist/components/ConfirmDialog/confirmDialog.variants.d.ts +0 -90
- package/dist/components/ConfirmDialog/confirmDialog.variants.d.ts.map +0 -1
- package/dist/components/DateTimePicker/DateTimePicker.d.ts +0 -49
- package/dist/components/DateTimePicker/DateTimePicker.d.ts.map +0 -1
- package/dist/components/DateTimePicker/dateTimePicker.types.d.ts +0 -95
- package/dist/components/DateTimePicker/dateTimePicker.types.d.ts.map +0 -1
- package/dist/components/DateTimePicker/dateTimePicker.variants.d.ts +0 -165
- package/dist/components/DateTimePicker/dateTimePicker.variants.d.ts.map +0 -1
- package/dist/components/LeftNav/LeftNav.d.ts +0 -34
- package/dist/components/LeftNav/LeftNav.d.ts.map +0 -1
- package/dist/components/LeftNav/leftNav.types.d.ts +0 -136
- package/dist/components/LeftNav/leftNav.types.d.ts.map +0 -1
- package/dist/components/LeftNav/leftNav.variants.d.ts +0 -143
- package/dist/components/LeftNav/leftNav.variants.d.ts.map +0 -1
- package/dist/components/NumberField/NumberField.d.ts +0 -18
- package/dist/components/NumberField/NumberField.d.ts.map +0 -1
- package/dist/components/NumberField/numberField.types.d.ts +0 -79
- package/dist/components/NumberField/numberField.types.d.ts.map +0 -1
- package/dist/components/NumberField/numberField.variants.d.ts +0 -169
- package/dist/components/NumberField/numberField.variants.d.ts.map +0 -1
- package/dist/components/OTPField/OTPField.d.ts +0 -25
- package/dist/components/OTPField/OTPField.d.ts.map +0 -1
- package/dist/components/OTPField/otpField.types.d.ts +0 -74
- package/dist/components/OTPField/otpField.types.d.ts.map +0 -1
- package/dist/components/OTPField/otpField.variants.d.ts +0 -105
- package/dist/components/OTPField/otpField.variants.d.ts.map +0 -1
- package/dist/components/RadioGroup/RadioGroup.d.ts +0 -35
- package/dist/components/RadioGroup/RadioGroup.d.ts.map +0 -1
- package/dist/components/RadioGroup/radioGroup.types.d.ts +0 -103
- package/dist/components/RadioGroup/radioGroup.types.d.ts.map +0 -1
- package/dist/components/RadioGroup/radioGroup.variants.d.ts +0 -166
- package/dist/components/RadioGroup/radioGroup.variants.d.ts.map +0 -1
- package/dist/components/Snackbar/Snackbar.d.ts +0 -37
- package/dist/components/Snackbar/Snackbar.d.ts.map +0 -1
- package/dist/components/Snackbar/snackbar.types.d.ts +0 -86
- package/dist/components/Snackbar/snackbar.types.d.ts.map +0 -1
- package/dist/components/Snackbar/snackbar.variants.d.ts +0 -153
- package/dist/components/Snackbar/snackbar.variants.d.ts.map +0 -1
- package/dist/components/Switch/Switch.d.ts +0 -15
- package/dist/components/Switch/Switch.d.ts.map +0 -1
- package/dist/components/Switch/switch.types.d.ts +0 -47
- package/dist/components/Switch/switch.types.d.ts.map +0 -1
- package/dist/components/Switch/switch.variants.d.ts +0 -105
- package/dist/components/Switch/switch.variants.d.ts.map +0 -1
- package/dist/components/TextField/TextField.d.ts +0 -25
- package/dist/components/TextField/TextField.d.ts.map +0 -1
- package/dist/components/TextField/textField.types.d.ts +0 -72
- package/dist/components/TextField/textField.types.d.ts.map +0 -1
- package/dist/components/TextField/textField.variants.d.ts +0 -160
- package/dist/components/TextField/textField.variants.d.ts.map +0 -1
- package/dist/components/Textarea/Textarea.d.ts +0 -16
- package/dist/components/Textarea/Textarea.d.ts.map +0 -1
- package/dist/components/Textarea/textarea.types.d.ts +0 -63
- package/dist/components/Textarea/textarea.types.d.ts.map +0 -1
- package/dist/components/Textarea/textarea.variants.d.ts +0 -197
- package/dist/components/Textarea/textarea.variants.d.ts.map +0 -1
- package/dist/components/TopBar/TopBar.d.ts +0 -33
- package/dist/components/TopBar/TopBar.d.ts.map +0 -1
- package/dist/components/TopBar/topBar.types.d.ts +0 -49
- package/dist/components/TopBar/topBar.types.d.ts.map +0 -1
- package/dist/components/TopBar/topBar.variants.d.ts +0 -79
- package/dist/components/TopBar/topBar.variants.d.ts.map +0 -1
- package/dist/components/_shared/resolveValidationState.d.ts +0 -42
- package/dist/components/_shared/resolveValidationState.d.ts.map +0 -1
- package/dist/hooks/useAccessState.d.ts +0 -37
- package/dist/hooks/useAccessState.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/tsconfig.lib.tsbuildinfo +0 -1
- package/dist/utils/cn.d.ts +0 -26
- package/dist/utils/cn.d.ts.map +0 -1
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
import { type VariantProps } from 'tailwind-variants';
|
|
2
|
-
/**
|
|
3
|
-
* Tailwind-variants recipe for `<LeftNav>`.
|
|
4
|
-
*
|
|
5
|
-
* Slots:
|
|
6
|
-
* - `root` — `<nav>` landmark
|
|
7
|
-
* - `brand` — top brand/logo wrapper
|
|
8
|
-
* - `list` — `<ul>` containing items & groups
|
|
9
|
-
* - `item` — `<li>` wrapper
|
|
10
|
-
* - `itemLink` — clickable row (`<a>` or `<button>`)
|
|
11
|
-
* - `itemActive` — active state on the row
|
|
12
|
-
* - `itemIcon` — icon slot inside a row
|
|
13
|
-
* - `itemLabel` — text label slot
|
|
14
|
-
* - `itemBadge` — right-aligned pill
|
|
15
|
-
* - `group` — wrapper around a group header + children
|
|
16
|
-
* - `groupHeader` — clickable header row (`<button>`)
|
|
17
|
-
* - `groupChildren` — `<ul>` containing the group's items
|
|
18
|
-
* - `footer` — bottom slot (user badge, etc.)
|
|
19
|
-
* - `collapseToggle` — rail-mode toggle button
|
|
20
|
-
*/
|
|
21
|
-
export declare const leftNavVariants: import("tailwind-variants").TVReturnType<{
|
|
22
|
-
width: {
|
|
23
|
-
sm: {
|
|
24
|
-
root: string;
|
|
25
|
-
};
|
|
26
|
-
md: {
|
|
27
|
-
root: string;
|
|
28
|
-
};
|
|
29
|
-
lg: {
|
|
30
|
-
root: string;
|
|
31
|
-
};
|
|
32
|
-
};
|
|
33
|
-
collapsed: {
|
|
34
|
-
true: {
|
|
35
|
-
root: string;
|
|
36
|
-
brand: string;
|
|
37
|
-
list: string;
|
|
38
|
-
itemLink: string;
|
|
39
|
-
itemLabel: string;
|
|
40
|
-
itemBadge: string;
|
|
41
|
-
groupHeader: string;
|
|
42
|
-
groupChildren: string;
|
|
43
|
-
footer: string;
|
|
44
|
-
};
|
|
45
|
-
};
|
|
46
|
-
}, {
|
|
47
|
-
root: string[];
|
|
48
|
-
brand: string[];
|
|
49
|
-
list: string;
|
|
50
|
-
item: string;
|
|
51
|
-
itemLink: string[];
|
|
52
|
-
itemActive: string;
|
|
53
|
-
itemIcon: string;
|
|
54
|
-
itemLabel: string;
|
|
55
|
-
itemBadge: string[];
|
|
56
|
-
group: string;
|
|
57
|
-
groupHeader: string[];
|
|
58
|
-
groupChildren: string;
|
|
59
|
-
footer: string[];
|
|
60
|
-
collapseToggle: string[];
|
|
61
|
-
}, undefined, {
|
|
62
|
-
width: {
|
|
63
|
-
sm: {
|
|
64
|
-
root: string;
|
|
65
|
-
};
|
|
66
|
-
md: {
|
|
67
|
-
root: string;
|
|
68
|
-
};
|
|
69
|
-
lg: {
|
|
70
|
-
root: string;
|
|
71
|
-
};
|
|
72
|
-
};
|
|
73
|
-
collapsed: {
|
|
74
|
-
true: {
|
|
75
|
-
root: string;
|
|
76
|
-
brand: string;
|
|
77
|
-
list: string;
|
|
78
|
-
itemLink: string;
|
|
79
|
-
itemLabel: string;
|
|
80
|
-
itemBadge: string;
|
|
81
|
-
groupHeader: string;
|
|
82
|
-
groupChildren: string;
|
|
83
|
-
footer: string;
|
|
84
|
-
};
|
|
85
|
-
};
|
|
86
|
-
}, {
|
|
87
|
-
root: string[];
|
|
88
|
-
brand: string[];
|
|
89
|
-
list: string;
|
|
90
|
-
item: string;
|
|
91
|
-
itemLink: string[];
|
|
92
|
-
itemActive: string;
|
|
93
|
-
itemIcon: string;
|
|
94
|
-
itemLabel: string;
|
|
95
|
-
itemBadge: string[];
|
|
96
|
-
group: string;
|
|
97
|
-
groupHeader: string[];
|
|
98
|
-
groupChildren: string;
|
|
99
|
-
footer: string[];
|
|
100
|
-
collapseToggle: string[];
|
|
101
|
-
}, import("tailwind-variants").TVReturnType<{
|
|
102
|
-
width: {
|
|
103
|
-
sm: {
|
|
104
|
-
root: string;
|
|
105
|
-
};
|
|
106
|
-
md: {
|
|
107
|
-
root: string;
|
|
108
|
-
};
|
|
109
|
-
lg: {
|
|
110
|
-
root: string;
|
|
111
|
-
};
|
|
112
|
-
};
|
|
113
|
-
collapsed: {
|
|
114
|
-
true: {
|
|
115
|
-
root: string;
|
|
116
|
-
brand: string;
|
|
117
|
-
list: string;
|
|
118
|
-
itemLink: string;
|
|
119
|
-
itemLabel: string;
|
|
120
|
-
itemBadge: string;
|
|
121
|
-
groupHeader: string;
|
|
122
|
-
groupChildren: string;
|
|
123
|
-
footer: string;
|
|
124
|
-
};
|
|
125
|
-
};
|
|
126
|
-
}, {
|
|
127
|
-
root: string[];
|
|
128
|
-
brand: string[];
|
|
129
|
-
list: string;
|
|
130
|
-
item: string;
|
|
131
|
-
itemLink: string[];
|
|
132
|
-
itemActive: string;
|
|
133
|
-
itemIcon: string;
|
|
134
|
-
itemLabel: string;
|
|
135
|
-
itemBadge: string[];
|
|
136
|
-
group: string;
|
|
137
|
-
groupHeader: string[];
|
|
138
|
-
groupChildren: string;
|
|
139
|
-
footer: string[];
|
|
140
|
-
collapseToggle: string[];
|
|
141
|
-
}, undefined, unknown, unknown, undefined>>;
|
|
142
|
-
export type LeftNavVariants = VariantProps<typeof leftNavVariants>;
|
|
143
|
-
//# sourceMappingURL=leftNav.variants.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"leftNav.variants.d.ts","sourceRoot":"","sources":["../../../src/components/LeftNav/leftNav.variants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE1D;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAwE1B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,OAAO,eAAe,CAAC,CAAC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { NumberFieldProps } from './numberField.types.js';
|
|
2
|
-
/**
|
|
3
|
-
* Dashforge TW NumberField — bridge-integrated numeric input.
|
|
4
|
-
*
|
|
5
|
-
* Mirrors `@dashforge/ui/NumberField` semantics: storage type is
|
|
6
|
-
* `number | null`, NaN is never written, `Number.isFinite` is the guard.
|
|
7
|
-
* Renders a native `<input type="number">` with an OPTIONAL +/− stepper
|
|
8
|
-
* (opt-in via `showStepper`). The native browser spinner is suppressed
|
|
9
|
-
* in CSS so visual consistency is preserved cross-browser.
|
|
10
|
-
*
|
|
11
|
-
* **A11y**:
|
|
12
|
-
* - `aria-invalid` from resolved validation state
|
|
13
|
-
* - `aria-describedby` links the input to the helper/error text
|
|
14
|
-
* - `min` / `max` / `step` forwarded to the native input (which exposes
|
|
15
|
-
* `aria-valuemin` / `aria-valuemax` automatically)
|
|
16
|
-
*/
|
|
17
|
-
export declare function NumberField(props: NumberFieldProps): import("react/jsx-runtime").JSX.Element | null;
|
|
18
|
-
//# sourceMappingURL=NumberField.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NumberField.d.ts","sourceRoot":"","sources":["../../../src/components/NumberField/NumberField.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAuC/D;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,kDAsOlD"}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import type { ChangeEventHandler, FocusEventHandler, InputHTMLAttributes, ReactNode } from 'react';
|
|
2
|
-
import type { Engine } from '@dashforge/ui-core';
|
|
3
|
-
import type { AccessRequirement } from '@dashforge/rbac';
|
|
4
|
-
import type { NumberFieldVariants } from './numberField.variants.js';
|
|
5
|
-
export interface NumberFieldSlotProps {
|
|
6
|
-
root?: {
|
|
7
|
-
className?: string;
|
|
8
|
-
};
|
|
9
|
-
label?: {
|
|
10
|
-
className?: string;
|
|
11
|
-
};
|
|
12
|
-
requiredMark?: {
|
|
13
|
-
className?: string;
|
|
14
|
-
};
|
|
15
|
-
inputWrapper?: {
|
|
16
|
-
className?: string;
|
|
17
|
-
};
|
|
18
|
-
input?: {
|
|
19
|
-
className?: string;
|
|
20
|
-
};
|
|
21
|
-
stepper?: {
|
|
22
|
-
className?: string;
|
|
23
|
-
};
|
|
24
|
-
stepperButton?: {
|
|
25
|
-
className?: string;
|
|
26
|
-
};
|
|
27
|
-
helperText?: {
|
|
28
|
-
className?: string;
|
|
29
|
-
};
|
|
30
|
-
errorText?: {
|
|
31
|
-
className?: string;
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Props for `<NumberField>`.
|
|
36
|
-
*
|
|
37
|
-
* Value contract (mirrors `@dashforge/ui/NumberField`):
|
|
38
|
-
* - Bridge storage type: `number | null` (NEVER `NaN`).
|
|
39
|
-
* - UI display: `number → String(number)`, `null/undefined → ""`.
|
|
40
|
-
* - On user input:
|
|
41
|
-
* - empty string → `setValue(name, null)`
|
|
42
|
-
* - parseable number → `setValue(name, parsed)`
|
|
43
|
-
* - non-numeric input → no bridge write (UI string is kept as-is for UX,
|
|
44
|
-
* but the bridge stays at the last valid value)
|
|
45
|
-
* - Parsing uses `Number(...)` + `Number.isFinite(...)`. No locale parsing.
|
|
46
|
-
*/
|
|
47
|
-
export interface NumberFieldProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'name' | 'type' | 'size' | 'onChange' | 'onBlur' | 'value' | 'defaultValue'>, NumberFieldVariants {
|
|
48
|
-
name: string;
|
|
49
|
-
rules?: unknown;
|
|
50
|
-
label?: ReactNode;
|
|
51
|
-
helperText?: ReactNode;
|
|
52
|
-
required?: boolean;
|
|
53
|
-
error?: boolean;
|
|
54
|
-
disabled?: boolean;
|
|
55
|
-
/** Engine predicate — field not rendered when it returns `false`. */
|
|
56
|
-
visibleWhen?: (engine: Engine) => boolean;
|
|
57
|
-
/** RBAC access requirement (combines with explicit `disabled`). */
|
|
58
|
-
access?: AccessRequirement;
|
|
59
|
-
/** Root className shortcut (`cn`'d with the variant root class). */
|
|
60
|
-
sx?: string;
|
|
61
|
-
/** Per-slot className overrides. */
|
|
62
|
-
slotProps?: NumberFieldSlotProps;
|
|
63
|
-
/** Controlled value (form mode reads from the bridge if omitted). */
|
|
64
|
-
value?: number | string | null;
|
|
65
|
-
/** Default value (uncontrolled, standalone mode only). */
|
|
66
|
-
defaultValue?: number | string | null;
|
|
67
|
-
/** Min allowed value (passed to the input + clamps stepper). */
|
|
68
|
-
min?: number;
|
|
69
|
-
/** Max allowed value (passed to the input + clamps stepper). */
|
|
70
|
-
max?: number;
|
|
71
|
-
/** Stepper step size. Default 1. */
|
|
72
|
-
step?: number;
|
|
73
|
-
/** Show inline +/− stepper buttons inside the input wrapper. Default false. */
|
|
74
|
-
showStepper?: boolean;
|
|
75
|
-
/** Change handler — receives the native event; consume value via bridge. */
|
|
76
|
-
onChange?: ChangeEventHandler<HTMLInputElement>;
|
|
77
|
-
onBlur?: FocusEventHandler<HTMLInputElement>;
|
|
78
|
-
}
|
|
79
|
-
//# sourceMappingURL=numberField.types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"numberField.types.d.ts","sourceRoot":"","sources":["../../../src/components/NumberField/numberField.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,SAAS,EACV,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAErE,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9B,KAAK,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/B,YAAY,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,YAAY,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,KAAK,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/B,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjC,aAAa,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,UAAU,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACpC,SAAS,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACpC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,gBACf,SAAQ,IAAI,CACR,mBAAmB,CAAC,gBAAgB,CAAC,EACrC,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,cAAc,CAC5E,EACD,mBAAmB;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qEAAqE;IACrE,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1C,mEAAmE;IACnE,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,oEAAoE;IACpE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,oCAAoC;IACpC,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC/B,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACtC,gEAAgE;IAChE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IAChD,MAAM,CAAC,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;CAC9C"}
|
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
import { type VariantProps } from 'tailwind-variants';
|
|
2
|
-
/**
|
|
3
|
-
* Tailwind-variants recipe for `<NumberField>`.
|
|
4
|
-
*
|
|
5
|
-
* Same 7-slot taxonomy as `<TextField>` for visual/override parity, plus
|
|
6
|
-
* a dedicated `stepper` slot for the optional +/- increment buttons.
|
|
7
|
-
*/
|
|
8
|
-
export declare const numberFieldVariants: import("tailwind-variants").TVReturnType<{
|
|
9
|
-
size: {
|
|
10
|
-
sm: {
|
|
11
|
-
inputWrapper: string;
|
|
12
|
-
input: string;
|
|
13
|
-
stepperButton: string;
|
|
14
|
-
};
|
|
15
|
-
md: {
|
|
16
|
-
inputWrapper: string;
|
|
17
|
-
input: string;
|
|
18
|
-
stepperButton: string;
|
|
19
|
-
};
|
|
20
|
-
lg: {
|
|
21
|
-
inputWrapper: string;
|
|
22
|
-
input: string;
|
|
23
|
-
stepperButton: string;
|
|
24
|
-
};
|
|
25
|
-
};
|
|
26
|
-
layout: {
|
|
27
|
-
stacked: {
|
|
28
|
-
root: string;
|
|
29
|
-
};
|
|
30
|
-
inline: {
|
|
31
|
-
root: string;
|
|
32
|
-
label: string;
|
|
33
|
-
};
|
|
34
|
-
};
|
|
35
|
-
error: {
|
|
36
|
-
true: {
|
|
37
|
-
inputWrapper: string;
|
|
38
|
-
};
|
|
39
|
-
};
|
|
40
|
-
fullWidth: {
|
|
41
|
-
true: {
|
|
42
|
-
root: string;
|
|
43
|
-
inputWrapper: string;
|
|
44
|
-
};
|
|
45
|
-
};
|
|
46
|
-
disabled: {
|
|
47
|
-
true: {
|
|
48
|
-
inputWrapper: string;
|
|
49
|
-
};
|
|
50
|
-
};
|
|
51
|
-
}, {
|
|
52
|
-
root: string;
|
|
53
|
-
label: string;
|
|
54
|
-
requiredMark: string;
|
|
55
|
-
inputWrapper: string[];
|
|
56
|
-
input: string[];
|
|
57
|
-
stepper: string[];
|
|
58
|
-
stepperButton: string[];
|
|
59
|
-
helperText: string;
|
|
60
|
-
errorText: string;
|
|
61
|
-
}, undefined, {
|
|
62
|
-
size: {
|
|
63
|
-
sm: {
|
|
64
|
-
inputWrapper: string;
|
|
65
|
-
input: string;
|
|
66
|
-
stepperButton: string;
|
|
67
|
-
};
|
|
68
|
-
md: {
|
|
69
|
-
inputWrapper: string;
|
|
70
|
-
input: string;
|
|
71
|
-
stepperButton: string;
|
|
72
|
-
};
|
|
73
|
-
lg: {
|
|
74
|
-
inputWrapper: string;
|
|
75
|
-
input: string;
|
|
76
|
-
stepperButton: string;
|
|
77
|
-
};
|
|
78
|
-
};
|
|
79
|
-
layout: {
|
|
80
|
-
stacked: {
|
|
81
|
-
root: string;
|
|
82
|
-
};
|
|
83
|
-
inline: {
|
|
84
|
-
root: string;
|
|
85
|
-
label: string;
|
|
86
|
-
};
|
|
87
|
-
};
|
|
88
|
-
error: {
|
|
89
|
-
true: {
|
|
90
|
-
inputWrapper: string;
|
|
91
|
-
};
|
|
92
|
-
};
|
|
93
|
-
fullWidth: {
|
|
94
|
-
true: {
|
|
95
|
-
root: string;
|
|
96
|
-
inputWrapper: string;
|
|
97
|
-
};
|
|
98
|
-
};
|
|
99
|
-
disabled: {
|
|
100
|
-
true: {
|
|
101
|
-
inputWrapper: string;
|
|
102
|
-
};
|
|
103
|
-
};
|
|
104
|
-
}, {
|
|
105
|
-
root: string;
|
|
106
|
-
label: string;
|
|
107
|
-
requiredMark: string;
|
|
108
|
-
inputWrapper: string[];
|
|
109
|
-
input: string[];
|
|
110
|
-
stepper: string[];
|
|
111
|
-
stepperButton: string[];
|
|
112
|
-
helperText: string;
|
|
113
|
-
errorText: string;
|
|
114
|
-
}, import("tailwind-variants").TVReturnType<{
|
|
115
|
-
size: {
|
|
116
|
-
sm: {
|
|
117
|
-
inputWrapper: string;
|
|
118
|
-
input: string;
|
|
119
|
-
stepperButton: string;
|
|
120
|
-
};
|
|
121
|
-
md: {
|
|
122
|
-
inputWrapper: string;
|
|
123
|
-
input: string;
|
|
124
|
-
stepperButton: string;
|
|
125
|
-
};
|
|
126
|
-
lg: {
|
|
127
|
-
inputWrapper: string;
|
|
128
|
-
input: string;
|
|
129
|
-
stepperButton: string;
|
|
130
|
-
};
|
|
131
|
-
};
|
|
132
|
-
layout: {
|
|
133
|
-
stacked: {
|
|
134
|
-
root: string;
|
|
135
|
-
};
|
|
136
|
-
inline: {
|
|
137
|
-
root: string;
|
|
138
|
-
label: string;
|
|
139
|
-
};
|
|
140
|
-
};
|
|
141
|
-
error: {
|
|
142
|
-
true: {
|
|
143
|
-
inputWrapper: string;
|
|
144
|
-
};
|
|
145
|
-
};
|
|
146
|
-
fullWidth: {
|
|
147
|
-
true: {
|
|
148
|
-
root: string;
|
|
149
|
-
inputWrapper: string;
|
|
150
|
-
};
|
|
151
|
-
};
|
|
152
|
-
disabled: {
|
|
153
|
-
true: {
|
|
154
|
-
inputWrapper: string;
|
|
155
|
-
};
|
|
156
|
-
};
|
|
157
|
-
}, {
|
|
158
|
-
root: string;
|
|
159
|
-
label: string;
|
|
160
|
-
requiredMark: string;
|
|
161
|
-
inputWrapper: string[];
|
|
162
|
-
input: string[];
|
|
163
|
-
stepper: string[];
|
|
164
|
-
stepperButton: string[];
|
|
165
|
-
helperText: string;
|
|
166
|
-
errorText: string;
|
|
167
|
-
}, undefined, unknown, unknown, undefined>>;
|
|
168
|
-
export type NumberFieldVariants = VariantProps<typeof numberFieldVariants>;
|
|
169
|
-
//# sourceMappingURL=numberField.variants.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"numberField.variants.d.ts","sourceRoot":"","sources":["../../../src/components/NumberField/numberField.variants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE1D;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAmF9B,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,YAAY,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import type { OTPFieldProps } from './otpField.types.js';
|
|
2
|
-
/**
|
|
3
|
-
* Dashforge TW OTPField — segmented input for one-time codes.
|
|
4
|
-
*
|
|
5
|
-
* Renders N visible "slot" cells over a hidden text input that absorbs
|
|
6
|
-
* all keystrokes. The visible cells are read-only display surfaces; only
|
|
7
|
-
* the hidden input takes focus. This pattern works correctly with
|
|
8
|
-
* password managers + autofill (the hidden input has
|
|
9
|
-
* `autoComplete="one-time-code"`).
|
|
10
|
-
*
|
|
11
|
-
* Bridge contract: the joined string (length ≤ `length`) is what gets
|
|
12
|
-
* written to the bridge. Use `<DashForm rules={{ minLength: length }} />`
|
|
13
|
-
* to require a complete code.
|
|
14
|
-
*
|
|
15
|
-
* Out of scope for F4-B (deferred to a follow-up sprint):
|
|
16
|
-
* - Per-slot click to jump caret
|
|
17
|
-
* - Arrow-key navigation between slots
|
|
18
|
-
* - Right-to-left input direction
|
|
19
|
-
*
|
|
20
|
-
* **A11y**: the hidden `<input>` exposes
|
|
21
|
-
* `inputMode="numeric" | "text"` per mode + `autoComplete="one-time-code"`
|
|
22
|
-
* so iOS Safari + Android Chrome trigger SMS autofill correctly.
|
|
23
|
-
*/
|
|
24
|
-
export declare function OTPField(props: OTPFieldProps): import("react/jsx-runtime").JSX.Element | null;
|
|
25
|
-
//# sourceMappingURL=OTPField.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OTPField.d.ts","sourceRoot":"","sources":["../../../src/components/OTPField/OTPField.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAgB,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAgBvE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,kDA2M5C"}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import type { ReactNode } from 'react';
|
|
2
|
-
import type { Engine } from '@dashforge/ui-core';
|
|
3
|
-
import type { AccessRequirement } from '@dashforge/rbac';
|
|
4
|
-
import type { OTPFieldVariants } from './otpField.variants.js';
|
|
5
|
-
export type OTPFieldMode = 'numeric' | 'alphanumeric';
|
|
6
|
-
export interface OTPFieldSlotProps {
|
|
7
|
-
root?: {
|
|
8
|
-
className?: string;
|
|
9
|
-
};
|
|
10
|
-
label?: {
|
|
11
|
-
className?: string;
|
|
12
|
-
};
|
|
13
|
-
requiredMark?: {
|
|
14
|
-
className?: string;
|
|
15
|
-
};
|
|
16
|
-
slotsRow?: {
|
|
17
|
-
className?: string;
|
|
18
|
-
};
|
|
19
|
-
slot?: {
|
|
20
|
-
className?: string;
|
|
21
|
-
};
|
|
22
|
-
slotChar?: {
|
|
23
|
-
className?: string;
|
|
24
|
-
};
|
|
25
|
-
hiddenInput?: {
|
|
26
|
-
className?: string;
|
|
27
|
-
};
|
|
28
|
-
helperText?: {
|
|
29
|
-
className?: string;
|
|
30
|
-
};
|
|
31
|
-
errorText?: {
|
|
32
|
-
className?: string;
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Props for `<OTPField>`.
|
|
37
|
-
*
|
|
38
|
-
* Storage contract: bridge value is a single string (e.g. `"123456"`).
|
|
39
|
-
* The user types characters that the component sanitises per `mode`:
|
|
40
|
-
* - `'numeric'` → `[0-9]`
|
|
41
|
-
* - `'alphanumeric'` → `[A-Za-z0-9]`
|
|
42
|
-
* Anything else is dropped. Paste content is sanitised the same way and
|
|
43
|
-
* fills slots sequentially.
|
|
44
|
-
*/
|
|
45
|
-
export interface OTPFieldProps extends OTPFieldVariants {
|
|
46
|
-
name: string;
|
|
47
|
-
rules?: unknown;
|
|
48
|
-
label?: ReactNode;
|
|
49
|
-
helperText?: ReactNode;
|
|
50
|
-
required?: boolean;
|
|
51
|
-
error?: boolean;
|
|
52
|
-
disabled?: boolean;
|
|
53
|
-
/** Engine predicate — field not rendered when it returns `false`. */
|
|
54
|
-
visibleWhen?: (engine: Engine) => boolean;
|
|
55
|
-
/** RBAC access requirement (combines with explicit `disabled`). */
|
|
56
|
-
access?: AccessRequirement;
|
|
57
|
-
/** Root className shortcut. */
|
|
58
|
-
sx?: string;
|
|
59
|
-
/** Per-slot className overrides. */
|
|
60
|
-
slotProps?: OTPFieldSlotProps;
|
|
61
|
-
/** Number of slots (default 6 — the SMS code convention). */
|
|
62
|
-
length?: number;
|
|
63
|
-
/** Character set allowed. Default `'numeric'`. */
|
|
64
|
-
mode?: OTPFieldMode;
|
|
65
|
-
/** Controlled value (form mode reads from the bridge if omitted). */
|
|
66
|
-
value?: string;
|
|
67
|
-
/** Default value (uncontrolled, standalone mode only). */
|
|
68
|
-
defaultValue?: string;
|
|
69
|
-
/** Fires every time the joined value changes (sanitised, ≤ length). */
|
|
70
|
-
onChange?: (value: string) => void;
|
|
71
|
-
/** Fires when the user has filled all slots. */
|
|
72
|
-
onComplete?: (value: string) => void;
|
|
73
|
-
}
|
|
74
|
-
//# sourceMappingURL=otpField.types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"otpField.types.d.ts","sourceRoot":"","sources":["../../../src/components/OTPField/otpField.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,cAAc,CAAC;AAEtD,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9B,KAAK,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/B,YAAY,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,QAAQ,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClC,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9B,QAAQ,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClC,WAAW,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrC,UAAU,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACpC,SAAS,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACpC;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,aAAc,SAAQ,gBAAgB;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qEAAqE;IACrE,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1C,mEAAmE;IACnE,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,+BAA+B;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,oCAAoC;IACpC,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,gDAAgD;IAChD,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC"}
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import { type VariantProps } from 'tailwind-variants';
|
|
2
|
-
/**
|
|
3
|
-
* Tailwind-variants recipe for `<OTPField>`.
|
|
4
|
-
*
|
|
5
|
-
* Slots:
|
|
6
|
-
* - `root` — outer wrapper (label + slots row + helper/error)
|
|
7
|
-
* - `label` — group-level label
|
|
8
|
-
* - `requiredMark` — red `*` for required fields
|
|
9
|
-
* - `slotsRow` — flex row holding the visible slot boxes
|
|
10
|
-
* - `slot` — single slot cell (visual representation of a char)
|
|
11
|
-
* - `slotChar` — the character displayed inside a slot
|
|
12
|
-
* - `hiddenInput` — the actual <input> absorbing keystrokes (visually
|
|
13
|
-
* hidden but focusable + reads as a single
|
|
14
|
-
* one-line text input to AT)
|
|
15
|
-
* - `helperText` — descriptive line below
|
|
16
|
-
* - `errorText` — semantic counterpart of helperText for error mode
|
|
17
|
-
*
|
|
18
|
-
* Variants:
|
|
19
|
-
* - `size` : sm / md / lg — drives slot box dimensions + text size
|
|
20
|
-
* - `error` : bool — swaps slot border + helperText color to danger tones
|
|
21
|
-
*/
|
|
22
|
-
export declare const otpFieldVariants: import("tailwind-variants").TVReturnType<{
|
|
23
|
-
size: {
|
|
24
|
-
sm: {
|
|
25
|
-
slot: string;
|
|
26
|
-
};
|
|
27
|
-
md: {
|
|
28
|
-
slot: string;
|
|
29
|
-
};
|
|
30
|
-
lg: {
|
|
31
|
-
slot: string;
|
|
32
|
-
};
|
|
33
|
-
};
|
|
34
|
-
error: {
|
|
35
|
-
true: {
|
|
36
|
-
slot: string;
|
|
37
|
-
};
|
|
38
|
-
};
|
|
39
|
-
}, {
|
|
40
|
-
root: string;
|
|
41
|
-
label: string;
|
|
42
|
-
requiredMark: string;
|
|
43
|
-
slotsRow: string;
|
|
44
|
-
slot: string[];
|
|
45
|
-
slotChar: string;
|
|
46
|
-
hiddenInput: string[];
|
|
47
|
-
helperText: string;
|
|
48
|
-
errorText: string;
|
|
49
|
-
}, undefined, {
|
|
50
|
-
size: {
|
|
51
|
-
sm: {
|
|
52
|
-
slot: string;
|
|
53
|
-
};
|
|
54
|
-
md: {
|
|
55
|
-
slot: string;
|
|
56
|
-
};
|
|
57
|
-
lg: {
|
|
58
|
-
slot: string;
|
|
59
|
-
};
|
|
60
|
-
};
|
|
61
|
-
error: {
|
|
62
|
-
true: {
|
|
63
|
-
slot: string;
|
|
64
|
-
};
|
|
65
|
-
};
|
|
66
|
-
}, {
|
|
67
|
-
root: string;
|
|
68
|
-
label: string;
|
|
69
|
-
requiredMark: string;
|
|
70
|
-
slotsRow: string;
|
|
71
|
-
slot: string[];
|
|
72
|
-
slotChar: string;
|
|
73
|
-
hiddenInput: string[];
|
|
74
|
-
helperText: string;
|
|
75
|
-
errorText: string;
|
|
76
|
-
}, import("tailwind-variants").TVReturnType<{
|
|
77
|
-
size: {
|
|
78
|
-
sm: {
|
|
79
|
-
slot: string;
|
|
80
|
-
};
|
|
81
|
-
md: {
|
|
82
|
-
slot: string;
|
|
83
|
-
};
|
|
84
|
-
lg: {
|
|
85
|
-
slot: string;
|
|
86
|
-
};
|
|
87
|
-
};
|
|
88
|
-
error: {
|
|
89
|
-
true: {
|
|
90
|
-
slot: string;
|
|
91
|
-
};
|
|
92
|
-
};
|
|
93
|
-
}, {
|
|
94
|
-
root: string;
|
|
95
|
-
label: string;
|
|
96
|
-
requiredMark: string;
|
|
97
|
-
slotsRow: string;
|
|
98
|
-
slot: string[];
|
|
99
|
-
slotChar: string;
|
|
100
|
-
hiddenInput: string[];
|
|
101
|
-
helperText: string;
|
|
102
|
-
errorText: string;
|
|
103
|
-
}, undefined, unknown, unknown, undefined>>;
|
|
104
|
-
export type OTPFieldVariants = VariantProps<typeof otpFieldVariants>;
|
|
105
|
-
//# sourceMappingURL=otpField.variants.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"otpField.variants.d.ts","sourceRoot":"","sources":["../../../src/components/OTPField/otpField.variants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CA+C3B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import type { RadioGroupProps } from './radioGroup.types.js';
|
|
2
|
-
/**
|
|
3
|
-
* Dashforge TW RadioGroup — bridge-integrated single-choice group.
|
|
4
|
-
*
|
|
5
|
-
* Renders through Radix `RadioGroup.Root` + `Item` + `Indicator`, styled
|
|
6
|
-
* with the `radioGroupVariants` TV recipe. Behaviour at the bridge level
|
|
7
|
-
* is a 1:1 port of `@dashforge/ui/RadioGroup` (MUI):
|
|
8
|
-
*
|
|
9
|
-
* - Inside `DashFormProvider`: registers with the bridge, reads
|
|
10
|
-
* `useDashFieldMeta` for the selected value (reactive snapshot),
|
|
11
|
-
* writes through `bridge.setValue` on change, fires
|
|
12
|
-
* `registration.onChange` / `onBlur` for RHF.
|
|
13
|
-
* - Outside: behaves as a plain Radix RadioGroup (controlled by `value`
|
|
14
|
-
* + `onValueChange`, or uncontrolled via `defaultValue`).
|
|
15
|
-
* - `visibleWhen` predicates the engine state.
|
|
16
|
-
* - `useAccessState(access)` resolves group-level RBAC; per-option RBAC
|
|
17
|
-
* is resolved by calling `useAccessState` for every entry of the
|
|
18
|
-
* `options` array (Rules of Hooks: stable as long as `options.length`
|
|
19
|
-
* is stable, which is the documented contract — mutating the array
|
|
20
|
-
* between renders breaks).
|
|
21
|
-
* - Group-level RBAC has precedence over option-level (hide-the-group
|
|
22
|
-
* wins even if some options would be visible).
|
|
23
|
-
* - Error gating: bridge error shows only after `touched` or after the
|
|
24
|
-
* form has been submitted at least once (Form Closure v1).
|
|
25
|
-
* - StrictMode-safe unregister-on-unmount, mirrors Checkbox/Switch.
|
|
26
|
-
*
|
|
27
|
-
* **A11y**:
|
|
28
|
-
* - The group root is a `<div role="radiogroup">` (Radix default).
|
|
29
|
-
* - A `<label id="...">` is associated with the group via `aria-labelledby`.
|
|
30
|
-
* - The helper/error text is linked via `aria-describedby`.
|
|
31
|
-
* - Each option is a Radix `<RadioGroup.Item>` (`<button role="radio">`)
|
|
32
|
-
* keyboard-accessible by default (arrow keys move selection).
|
|
33
|
-
*/
|
|
34
|
-
export declare function RadioGroup(props: RadioGroupProps): import("react/jsx-runtime").JSX.Element | null;
|
|
35
|
-
//# sourceMappingURL=RadioGroup.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RadioGroup.d.ts","sourceRoot":"","sources":["../../../src/components/RadioGroup/RadioGroup.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,kDAyNhD"}
|