@dashforge/tw 0.1.0-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/.swcrc +29 -0
- package/CHANGELOG.md +131 -0
- package/LICENSE +21 -0
- package/README.md +244 -0
- package/dist/components/AppShell/AppShell.d.ts +32 -0
- package/dist/components/AppShell/AppShell.d.ts.map +1 -0
- package/dist/components/AppShell/appShell.types.d.ts +62 -0
- package/dist/components/AppShell/appShell.types.d.ts.map +1 -0
- package/dist/components/AppShell/appShell.variants.d.ts +65 -0
- package/dist/components/AppShell/appShell.variants.d.ts.map +1 -0
- package/dist/components/Autocomplete/Autocomplete.d.ts +32 -0
- package/dist/components/Autocomplete/Autocomplete.d.ts.map +1 -0
- package/dist/components/Autocomplete/autocomplete.types.d.ts +214 -0
- package/dist/components/Autocomplete/autocomplete.types.d.ts.map +1 -0
- package/dist/components/Autocomplete/autocomplete.variants.d.ts +214 -0
- package/dist/components/Autocomplete/autocomplete.variants.d.ts.map +1 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +23 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts.map +1 -0
- package/dist/components/Breadcrumbs/breadcrumbs.types.d.ts +98 -0
- package/dist/components/Breadcrumbs/breadcrumbs.types.d.ts.map +1 -0
- package/dist/components/Breadcrumbs/breadcrumbs.variants.d.ts +85 -0
- package/dist/components/Breadcrumbs/breadcrumbs.variants.d.ts.map +1 -0
- package/dist/components/Button/Button.d.ts +44 -0
- package/dist/components/Button/Button.d.ts.map +1 -0
- package/dist/components/Button/button.types.d.ts +66 -0
- package/dist/components/Button/button.types.d.ts.map +1 -0
- package/dist/components/Button/button.variants.d.ts +104 -0
- package/dist/components/Button/button.variants.d.ts.map +1 -0
- package/dist/components/Checkbox/Checkbox.d.ts +31 -0
- package/dist/components/Checkbox/Checkbox.d.ts.map +1 -0
- package/dist/components/Checkbox/checkbox.types.d.ts +86 -0
- package/dist/components/Checkbox/checkbox.types.d.ts.map +1 -0
- package/dist/components/Checkbox/checkbox.variants.d.ts +109 -0
- package/dist/components/Checkbox/checkbox.variants.d.ts.map +1 -0
- package/dist/components/ConfirmDialog/ConfirmDialog.d.ts +38 -0
- package/dist/components/ConfirmDialog/ConfirmDialog.d.ts.map +1 -0
- package/dist/components/ConfirmDialog/confirmDialog.types.d.ts +80 -0
- package/dist/components/ConfirmDialog/confirmDialog.types.d.ts.map +1 -0
- package/dist/components/ConfirmDialog/confirmDialog.variants.d.ts +90 -0
- package/dist/components/ConfirmDialog/confirmDialog.variants.d.ts.map +1 -0
- package/dist/components/DateTimePicker/DateTimePicker.d.ts +49 -0
- package/dist/components/DateTimePicker/DateTimePicker.d.ts.map +1 -0
- package/dist/components/DateTimePicker/dateTimePicker.types.d.ts +95 -0
- package/dist/components/DateTimePicker/dateTimePicker.types.d.ts.map +1 -0
- package/dist/components/DateTimePicker/dateTimePicker.variants.d.ts +165 -0
- package/dist/components/DateTimePicker/dateTimePicker.variants.d.ts.map +1 -0
- package/dist/components/LeftNav/LeftNav.d.ts +34 -0
- package/dist/components/LeftNav/LeftNav.d.ts.map +1 -0
- package/dist/components/LeftNav/leftNav.types.d.ts +136 -0
- package/dist/components/LeftNav/leftNav.types.d.ts.map +1 -0
- package/dist/components/LeftNav/leftNav.variants.d.ts +143 -0
- package/dist/components/LeftNav/leftNav.variants.d.ts.map +1 -0
- package/dist/components/NumberField/NumberField.d.ts +18 -0
- package/dist/components/NumberField/NumberField.d.ts.map +1 -0
- package/dist/components/NumberField/numberField.types.d.ts +79 -0
- package/dist/components/NumberField/numberField.types.d.ts.map +1 -0
- package/dist/components/NumberField/numberField.variants.d.ts +169 -0
- package/dist/components/NumberField/numberField.variants.d.ts.map +1 -0
- package/dist/components/OTPField/OTPField.d.ts +25 -0
- package/dist/components/OTPField/OTPField.d.ts.map +1 -0
- package/dist/components/OTPField/otpField.types.d.ts +74 -0
- package/dist/components/OTPField/otpField.types.d.ts.map +1 -0
- package/dist/components/OTPField/otpField.variants.d.ts +105 -0
- package/dist/components/OTPField/otpField.variants.d.ts.map +1 -0
- package/dist/components/RadioGroup/RadioGroup.d.ts +35 -0
- package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -0
- package/dist/components/RadioGroup/radioGroup.types.d.ts +103 -0
- package/dist/components/RadioGroup/radioGroup.types.d.ts.map +1 -0
- package/dist/components/RadioGroup/radioGroup.variants.d.ts +166 -0
- package/dist/components/RadioGroup/radioGroup.variants.d.ts.map +1 -0
- package/dist/components/Snackbar/Snackbar.d.ts +37 -0
- package/dist/components/Snackbar/Snackbar.d.ts.map +1 -0
- package/dist/components/Snackbar/snackbar.types.d.ts +86 -0
- package/dist/components/Snackbar/snackbar.types.d.ts.map +1 -0
- package/dist/components/Snackbar/snackbar.variants.d.ts +153 -0
- package/dist/components/Snackbar/snackbar.variants.d.ts.map +1 -0
- package/dist/components/Switch/Switch.d.ts +15 -0
- package/dist/components/Switch/Switch.d.ts.map +1 -0
- package/dist/components/Switch/switch.types.d.ts +47 -0
- package/dist/components/Switch/switch.types.d.ts.map +1 -0
- package/dist/components/Switch/switch.variants.d.ts +105 -0
- package/dist/components/Switch/switch.variants.d.ts.map +1 -0
- package/dist/components/TextField/TextField.d.ts +25 -0
- package/dist/components/TextField/TextField.d.ts.map +1 -0
- package/dist/components/TextField/textField.types.d.ts +72 -0
- package/dist/components/TextField/textField.types.d.ts.map +1 -0
- package/dist/components/TextField/textField.variants.d.ts +160 -0
- package/dist/components/TextField/textField.variants.d.ts.map +1 -0
- package/dist/components/Textarea/Textarea.d.ts +16 -0
- package/dist/components/Textarea/Textarea.d.ts.map +1 -0
- package/dist/components/Textarea/textarea.types.d.ts +63 -0
- package/dist/components/Textarea/textarea.types.d.ts.map +1 -0
- package/dist/components/Textarea/textarea.variants.d.ts +197 -0
- package/dist/components/Textarea/textarea.variants.d.ts.map +1 -0
- package/dist/components/TopBar/TopBar.d.ts +33 -0
- package/dist/components/TopBar/TopBar.d.ts.map +1 -0
- package/dist/components/TopBar/topBar.types.d.ts +49 -0
- package/dist/components/TopBar/topBar.types.d.ts.map +1 -0
- package/dist/components/TopBar/topBar.variants.d.ts +79 -0
- package/dist/components/TopBar/topBar.variants.d.ts.map +1 -0
- package/dist/components/_shared/resolveValidationState.d.ts +42 -0
- package/dist/components/_shared/resolveValidationState.d.ts.map +1 -0
- package/dist/hooks/useAccessState.d.ts +37 -0
- package/dist/hooks/useAccessState.d.ts.map +1 -0
- package/dist/index.d.ts +82 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.esm.js +4958 -0
- package/dist/src/components/AppShell/AppShell.d.ts +32 -0
- package/dist/src/components/AppShell/AppShell.d.ts.map +1 -0
- package/dist/src/components/AppShell/appShell.types.d.ts +62 -0
- package/dist/src/components/AppShell/appShell.types.d.ts.map +1 -0
- package/dist/src/components/AppShell/appShell.variants.d.ts +65 -0
- package/dist/src/components/AppShell/appShell.variants.d.ts.map +1 -0
- package/dist/src/components/Autocomplete/Autocomplete.d.ts +32 -0
- package/dist/src/components/Autocomplete/Autocomplete.d.ts.map +1 -0
- package/dist/src/components/Autocomplete/autocomplete.types.d.ts +214 -0
- package/dist/src/components/Autocomplete/autocomplete.types.d.ts.map +1 -0
- package/dist/src/components/Autocomplete/autocomplete.variants.d.ts +214 -0
- package/dist/src/components/Autocomplete/autocomplete.variants.d.ts.map +1 -0
- package/dist/src/components/Breadcrumbs/Breadcrumbs.d.ts +23 -0
- package/dist/src/components/Breadcrumbs/Breadcrumbs.d.ts.map +1 -0
- package/dist/src/components/Breadcrumbs/breadcrumbs.types.d.ts +98 -0
- package/dist/src/components/Breadcrumbs/breadcrumbs.types.d.ts.map +1 -0
- package/dist/src/components/Breadcrumbs/breadcrumbs.variants.d.ts +85 -0
- package/dist/src/components/Breadcrumbs/breadcrumbs.variants.d.ts.map +1 -0
- package/dist/src/components/Button/Button.d.ts +44 -0
- package/dist/src/components/Button/Button.d.ts.map +1 -0
- package/dist/src/components/Button/button.types.d.ts +66 -0
- package/dist/src/components/Button/button.types.d.ts.map +1 -0
- package/dist/src/components/Button/button.variants.d.ts +104 -0
- package/dist/src/components/Button/button.variants.d.ts.map +1 -0
- package/dist/src/components/Checkbox/Checkbox.d.ts +31 -0
- package/dist/src/components/Checkbox/Checkbox.d.ts.map +1 -0
- package/dist/src/components/Checkbox/checkbox.types.d.ts +86 -0
- package/dist/src/components/Checkbox/checkbox.types.d.ts.map +1 -0
- package/dist/src/components/Checkbox/checkbox.variants.d.ts +109 -0
- package/dist/src/components/Checkbox/checkbox.variants.d.ts.map +1 -0
- package/dist/src/components/ConfirmDialog/ConfirmDialog.d.ts +38 -0
- package/dist/src/components/ConfirmDialog/ConfirmDialog.d.ts.map +1 -0
- package/dist/src/components/ConfirmDialog/confirmDialog.types.d.ts +80 -0
- package/dist/src/components/ConfirmDialog/confirmDialog.types.d.ts.map +1 -0
- package/dist/src/components/ConfirmDialog/confirmDialog.variants.d.ts +90 -0
- package/dist/src/components/ConfirmDialog/confirmDialog.variants.d.ts.map +1 -0
- package/dist/src/components/DateTimePicker/DateTimePicker.d.ts +49 -0
- package/dist/src/components/DateTimePicker/DateTimePicker.d.ts.map +1 -0
- package/dist/src/components/DateTimePicker/dateTimePicker.types.d.ts +95 -0
- package/dist/src/components/DateTimePicker/dateTimePicker.types.d.ts.map +1 -0
- package/dist/src/components/DateTimePicker/dateTimePicker.variants.d.ts +165 -0
- package/dist/src/components/DateTimePicker/dateTimePicker.variants.d.ts.map +1 -0
- package/dist/src/components/LeftNav/LeftNav.d.ts +34 -0
- package/dist/src/components/LeftNav/LeftNav.d.ts.map +1 -0
- package/dist/src/components/LeftNav/leftNav.types.d.ts +136 -0
- package/dist/src/components/LeftNav/leftNav.types.d.ts.map +1 -0
- package/dist/src/components/LeftNav/leftNav.variants.d.ts +143 -0
- package/dist/src/components/LeftNav/leftNav.variants.d.ts.map +1 -0
- package/dist/src/components/NumberField/NumberField.d.ts +18 -0
- package/dist/src/components/NumberField/NumberField.d.ts.map +1 -0
- package/dist/src/components/NumberField/numberField.types.d.ts +79 -0
- package/dist/src/components/NumberField/numberField.types.d.ts.map +1 -0
- package/dist/src/components/NumberField/numberField.variants.d.ts +169 -0
- package/dist/src/components/NumberField/numberField.variants.d.ts.map +1 -0
- package/dist/src/components/OTPField/OTPField.d.ts +25 -0
- package/dist/src/components/OTPField/OTPField.d.ts.map +1 -0
- package/dist/src/components/OTPField/otpField.types.d.ts +74 -0
- package/dist/src/components/OTPField/otpField.types.d.ts.map +1 -0
- package/dist/src/components/OTPField/otpField.variants.d.ts +105 -0
- package/dist/src/components/OTPField/otpField.variants.d.ts.map +1 -0
- package/dist/src/components/RadioGroup/RadioGroup.d.ts +35 -0
- package/dist/src/components/RadioGroup/RadioGroup.d.ts.map +1 -0
- package/dist/src/components/RadioGroup/radioGroup.types.d.ts +103 -0
- package/dist/src/components/RadioGroup/radioGroup.types.d.ts.map +1 -0
- package/dist/src/components/RadioGroup/radioGroup.variants.d.ts +166 -0
- package/dist/src/components/RadioGroup/radioGroup.variants.d.ts.map +1 -0
- package/dist/src/components/Snackbar/Snackbar.d.ts +37 -0
- package/dist/src/components/Snackbar/Snackbar.d.ts.map +1 -0
- package/dist/src/components/Snackbar/snackbar.types.d.ts +86 -0
- package/dist/src/components/Snackbar/snackbar.types.d.ts.map +1 -0
- package/dist/src/components/Snackbar/snackbar.variants.d.ts +153 -0
- package/dist/src/components/Snackbar/snackbar.variants.d.ts.map +1 -0
- package/dist/src/components/Switch/Switch.d.ts +15 -0
- package/dist/src/components/Switch/Switch.d.ts.map +1 -0
- package/dist/src/components/Switch/switch.types.d.ts +47 -0
- package/dist/src/components/Switch/switch.types.d.ts.map +1 -0
- package/dist/src/components/Switch/switch.variants.d.ts +105 -0
- package/dist/src/components/Switch/switch.variants.d.ts.map +1 -0
- package/dist/src/components/TextField/TextField.d.ts +25 -0
- package/dist/src/components/TextField/TextField.d.ts.map +1 -0
- package/dist/src/components/TextField/textField.types.d.ts +72 -0
- package/dist/src/components/TextField/textField.types.d.ts.map +1 -0
- package/dist/src/components/TextField/textField.variants.d.ts +160 -0
- package/dist/src/components/TextField/textField.variants.d.ts.map +1 -0
- package/dist/src/components/Textarea/Textarea.d.ts +16 -0
- package/dist/src/components/Textarea/Textarea.d.ts.map +1 -0
- package/dist/src/components/Textarea/textarea.types.d.ts +63 -0
- package/dist/src/components/Textarea/textarea.types.d.ts.map +1 -0
- package/dist/src/components/Textarea/textarea.variants.d.ts +197 -0
- package/dist/src/components/Textarea/textarea.variants.d.ts.map +1 -0
- package/dist/src/components/TopBar/TopBar.d.ts +33 -0
- package/dist/src/components/TopBar/TopBar.d.ts.map +1 -0
- package/dist/src/components/TopBar/topBar.types.d.ts +49 -0
- package/dist/src/components/TopBar/topBar.types.d.ts.map +1 -0
- package/dist/src/components/TopBar/topBar.variants.d.ts +79 -0
- package/dist/src/components/TopBar/topBar.variants.d.ts.map +1 -0
- package/dist/src/components/_shared/resolveValidationState.d.ts +42 -0
- package/dist/src/components/_shared/resolveValidationState.d.ts.map +1 -0
- package/dist/src/hooks/useAccessState.d.ts +37 -0
- package/dist/src/hooks/useAccessState.d.ts.map +1 -0
- package/dist/src/index.d.ts +82 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/utils/cn.d.ts +26 -0
- package/dist/src/utils/cn.d.ts.map +1 -0
- package/dist/tsconfig.lib.tsbuildinfo +1 -0
- package/dist/utils/cn.d.ts +26 -0
- package/dist/utils/cn.d.ts.map +1 -0
- package/eslint.config.mjs +47 -0
- package/package.json +37 -0
- package/project.json +15 -0
- package/rollup.config.cjs +16 -0
- package/src/components/AppShell/AppShell.test.tsx +223 -0
- package/src/components/AppShell/AppShell.tsx +114 -0
- package/src/components/AppShell/appShell.types.ts +49 -0
- package/src/components/AppShell/appShell.variants.ts +48 -0
- package/src/components/Autocomplete/Autocomplete.perf.test.tsx +225 -0
- package/src/components/Autocomplete/Autocomplete.test.tsx +556 -0
- package/src/components/Autocomplete/Autocomplete.tsx +996 -0
- package/src/components/Autocomplete/autocomplete.types.ts +198 -0
- package/src/components/Autocomplete/autocomplete.variants.ts +135 -0
- package/src/components/Breadcrumbs/Breadcrumbs.perf.test.tsx +125 -0
- package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +231 -0
- package/src/components/Breadcrumbs/Breadcrumbs.tsx +203 -0
- package/src/components/Breadcrumbs/breadcrumbs.types.ts +87 -0
- package/src/components/Breadcrumbs/breadcrumbs.variants.ts +49 -0
- package/src/components/Button/Button.test.tsx +183 -0
- package/src/components/Button/Button.tsx +139 -0
- package/src/components/Button/button.types.ts +74 -0
- package/src/components/Button/button.variants.ts +159 -0
- package/src/components/Checkbox/Checkbox.test.tsx +146 -0
- package/src/components/Checkbox/Checkbox.tsx +228 -0
- package/src/components/Checkbox/checkbox.types.ts +88 -0
- package/src/components/Checkbox/checkbox.variants.ts +68 -0
- package/src/components/ConfirmDialog/ConfirmDialog.perf.test.tsx +172 -0
- package/src/components/ConfirmDialog/ConfirmDialog.test.tsx +311 -0
- package/src/components/ConfirmDialog/ConfirmDialog.tsx +252 -0
- package/src/components/ConfirmDialog/confirmDialog.types.ts +70 -0
- package/src/components/ConfirmDialog/confirmDialog.variants.ts +76 -0
- package/src/components/DateTimePicker/DateTimePicker.perf.test.tsx +153 -0
- package/src/components/DateTimePicker/DateTimePicker.test.tsx +204 -0
- package/src/components/DateTimePicker/DateTimePicker.tsx +319 -0
- package/src/components/DateTimePicker/dateTimePicker.types.ts +83 -0
- package/src/components/DateTimePicker/dateTimePicker.variants.ts +84 -0
- package/src/components/LeftNav/LeftNav.perf.test.tsx +172 -0
- package/src/components/LeftNav/LeftNav.test.tsx +302 -0
- package/src/components/LeftNav/LeftNav.tsx +330 -0
- package/src/components/LeftNav/leftNav.types.ts +120 -0
- package/src/components/LeftNav/leftNav.variants.ts +96 -0
- package/src/components/NumberField/NumberField.test.tsx +83 -0
- package/src/components/NumberField/NumberField.tsx +293 -0
- package/src/components/NumberField/numberField.types.ts +72 -0
- package/src/components/NumberField/numberField.variants.ts +94 -0
- package/src/components/OTPField/OTPField.test.tsx +121 -0
- package/src/components/OTPField/OTPField.tsx +250 -0
- package/src/components/OTPField/otpField.types.ts +58 -0
- package/src/components/OTPField/otpField.variants.ts +72 -0
- package/src/components/RadioGroup/RadioGroup.test.tsx +140 -0
- package/src/components/RadioGroup/RadioGroup.tsx +261 -0
- package/src/components/RadioGroup/radioGroup.types.ts +85 -0
- package/src/components/RadioGroup/radioGroup.variants.ts +87 -0
- package/src/components/Snackbar/Snackbar.perf.test.tsx +144 -0
- package/src/components/Snackbar/Snackbar.test.tsx +327 -0
- package/src/components/Snackbar/Snackbar.tsx +298 -0
- package/src/components/Snackbar/snackbar.types.ts +83 -0
- package/src/components/Snackbar/snackbar.variants.ts +72 -0
- package/src/components/Switch/Switch.test.tsx +131 -0
- package/src/components/Switch/Switch.tsx +158 -0
- package/src/components/Switch/switch.types.ts +36 -0
- package/src/components/Switch/switch.variants.ts +65 -0
- package/src/components/TextField/TextField.test.tsx +194 -0
- package/src/components/TextField/TextField.tsx +216 -0
- package/src/components/TextField/textField.types.ts +70 -0
- package/src/components/TextField/textField.variants.ts +87 -0
- package/src/components/Textarea/Textarea.test.tsx +75 -0
- package/src/components/Textarea/Textarea.tsx +190 -0
- package/src/components/Textarea/textarea.types.ts +60 -0
- package/src/components/Textarea/textarea.variants.ts +85 -0
- package/src/components/TopBar/TopBar.test.tsx +129 -0
- package/src/components/TopBar/TopBar.tsx +66 -0
- package/src/components/TopBar/topBar.types.ts +42 -0
- package/src/components/TopBar/topBar.variants.ts +38 -0
- package/src/components/_shared/resolveValidationState.ts +60 -0
- package/src/hooks/useAccessState.spec.tsx +161 -0
- package/src/hooks/useAccessState.ts +81 -0
- package/src/index.ts +191 -0
- package/src/utils/cn.spec.ts +16 -0
- package/src/utils/cn.ts +29 -0
- package/tsconfig.json +13 -0
- package/tsconfig.lib.json +55 -0
- package/tsconfig.spec.json +34 -0
- package/vite.config.ts +25 -0
- package/vitest.config.mts +22 -0
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { type VariantProps } from 'tailwind-variants';
|
|
2
|
+
/**
|
|
3
|
+
* Tailwind-variants recipe for `<Snackbar>` (stacked toast surface).
|
|
4
|
+
*
|
|
5
|
+
* Slots:
|
|
6
|
+
* - `container` — fixed-position outer stack
|
|
7
|
+
* - `item` — single snackbar surface
|
|
8
|
+
* - `icon` — leading severity icon
|
|
9
|
+
* - `message` — main text
|
|
10
|
+
* - `action` — optional action button
|
|
11
|
+
* - `closeButton` — trailing `×` button
|
|
12
|
+
*/
|
|
13
|
+
export declare const snackbarVariants: import("tailwind-variants").TVReturnType<{
|
|
14
|
+
position: {
|
|
15
|
+
'top-left': {
|
|
16
|
+
container: string;
|
|
17
|
+
};
|
|
18
|
+
'top-center': {
|
|
19
|
+
container: string;
|
|
20
|
+
};
|
|
21
|
+
'top-right': {
|
|
22
|
+
container: string;
|
|
23
|
+
};
|
|
24
|
+
'bottom-left': {
|
|
25
|
+
container: string;
|
|
26
|
+
};
|
|
27
|
+
'bottom-center': {
|
|
28
|
+
container: string;
|
|
29
|
+
};
|
|
30
|
+
'bottom-right': {
|
|
31
|
+
container: string;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
severity: {
|
|
35
|
+
info: {
|
|
36
|
+
item: string;
|
|
37
|
+
icon: string;
|
|
38
|
+
};
|
|
39
|
+
success: {
|
|
40
|
+
item: string;
|
|
41
|
+
icon: string;
|
|
42
|
+
};
|
|
43
|
+
warning: {
|
|
44
|
+
item: string;
|
|
45
|
+
icon: string;
|
|
46
|
+
};
|
|
47
|
+
danger: {
|
|
48
|
+
item: string;
|
|
49
|
+
icon: string;
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
}, {
|
|
53
|
+
container: string[];
|
|
54
|
+
item: string[];
|
|
55
|
+
icon: string;
|
|
56
|
+
message: string;
|
|
57
|
+
action: string[];
|
|
58
|
+
closeButton: string[];
|
|
59
|
+
}, undefined, {
|
|
60
|
+
position: {
|
|
61
|
+
'top-left': {
|
|
62
|
+
container: string;
|
|
63
|
+
};
|
|
64
|
+
'top-center': {
|
|
65
|
+
container: string;
|
|
66
|
+
};
|
|
67
|
+
'top-right': {
|
|
68
|
+
container: string;
|
|
69
|
+
};
|
|
70
|
+
'bottom-left': {
|
|
71
|
+
container: string;
|
|
72
|
+
};
|
|
73
|
+
'bottom-center': {
|
|
74
|
+
container: string;
|
|
75
|
+
};
|
|
76
|
+
'bottom-right': {
|
|
77
|
+
container: string;
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
severity: {
|
|
81
|
+
info: {
|
|
82
|
+
item: string;
|
|
83
|
+
icon: string;
|
|
84
|
+
};
|
|
85
|
+
success: {
|
|
86
|
+
item: string;
|
|
87
|
+
icon: string;
|
|
88
|
+
};
|
|
89
|
+
warning: {
|
|
90
|
+
item: string;
|
|
91
|
+
icon: string;
|
|
92
|
+
};
|
|
93
|
+
danger: {
|
|
94
|
+
item: string;
|
|
95
|
+
icon: string;
|
|
96
|
+
};
|
|
97
|
+
};
|
|
98
|
+
}, {
|
|
99
|
+
container: string[];
|
|
100
|
+
item: string[];
|
|
101
|
+
icon: string;
|
|
102
|
+
message: string;
|
|
103
|
+
action: string[];
|
|
104
|
+
closeButton: string[];
|
|
105
|
+
}, import("tailwind-variants").TVReturnType<{
|
|
106
|
+
position: {
|
|
107
|
+
'top-left': {
|
|
108
|
+
container: string;
|
|
109
|
+
};
|
|
110
|
+
'top-center': {
|
|
111
|
+
container: string;
|
|
112
|
+
};
|
|
113
|
+
'top-right': {
|
|
114
|
+
container: string;
|
|
115
|
+
};
|
|
116
|
+
'bottom-left': {
|
|
117
|
+
container: string;
|
|
118
|
+
};
|
|
119
|
+
'bottom-center': {
|
|
120
|
+
container: string;
|
|
121
|
+
};
|
|
122
|
+
'bottom-right': {
|
|
123
|
+
container: string;
|
|
124
|
+
};
|
|
125
|
+
};
|
|
126
|
+
severity: {
|
|
127
|
+
info: {
|
|
128
|
+
item: string;
|
|
129
|
+
icon: string;
|
|
130
|
+
};
|
|
131
|
+
success: {
|
|
132
|
+
item: string;
|
|
133
|
+
icon: string;
|
|
134
|
+
};
|
|
135
|
+
warning: {
|
|
136
|
+
item: string;
|
|
137
|
+
icon: string;
|
|
138
|
+
};
|
|
139
|
+
danger: {
|
|
140
|
+
item: string;
|
|
141
|
+
icon: string;
|
|
142
|
+
};
|
|
143
|
+
};
|
|
144
|
+
}, {
|
|
145
|
+
container: string[];
|
|
146
|
+
item: string[];
|
|
147
|
+
icon: string;
|
|
148
|
+
message: string;
|
|
149
|
+
action: string[];
|
|
150
|
+
closeButton: string[];
|
|
151
|
+
}, undefined, unknown, unknown, undefined>>;
|
|
152
|
+
export type SnackbarVariants = VariantProps<typeof snackbarVariants>;
|
|
153
|
+
//# sourceMappingURL=snackbar.variants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snackbar.variants.d.ts","sourceRoot":"","sources":["../../../../src/components/Snackbar/snackbar.variants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE1D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAwD3B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { SwitchProps } from './switch.types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Dashforge TW Switch — bridge-integrated toggle.
|
|
4
|
+
*
|
|
5
|
+
* Implementation mirrors `<Checkbox>` (same 8-step bridge integration
|
|
6
|
+
* pattern, same StrictMode-safe unregister, same controlled-vs-
|
|
7
|
+
* uncontrolled Radix props logic) — the only differences are:
|
|
8
|
+
*
|
|
9
|
+
* - Renders Radix `Switch.Root` + `Switch.Thumb` instead of `Checkbox`.
|
|
10
|
+
* - No indicator icon (the thumb position is the visual state).
|
|
11
|
+
* - Variants drive both control track dimensions AND the thumb
|
|
12
|
+
* translate-x distance so the knob lands flush at each end.
|
|
13
|
+
*/
|
|
14
|
+
export declare function Switch(props: SwitchProps): import("react/jsx-runtime").JSX.Element | null;
|
|
15
|
+
//# sourceMappingURL=Switch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../../../src/components/Switch/Switch.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD;;;;;;;;;;;GAWG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,kDAsIxC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { AccessRequirement } from '@dashforge/rbac';
|
|
3
|
+
import type { Engine } from '@dashforge/ui-core';
|
|
4
|
+
import type { SwitchVariants } from './switch.variants.js';
|
|
5
|
+
export interface SwitchSlotProps {
|
|
6
|
+
root?: {
|
|
7
|
+
className?: string;
|
|
8
|
+
};
|
|
9
|
+
control?: {
|
|
10
|
+
className?: string;
|
|
11
|
+
};
|
|
12
|
+
thumb?: {
|
|
13
|
+
className?: string;
|
|
14
|
+
};
|
|
15
|
+
label?: {
|
|
16
|
+
className?: string;
|
|
17
|
+
};
|
|
18
|
+
helperText?: {
|
|
19
|
+
className?: string;
|
|
20
|
+
};
|
|
21
|
+
errorText?: {
|
|
22
|
+
className?: string;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Props for the Dashforge TW `<Switch>` component.
|
|
27
|
+
*
|
|
28
|
+
* Mirrors the bridge contract of `@dashforge/ui/Switch` (MUI). Same
|
|
29
|
+
* `name` / `rules` / `visibleWhen` / `access` semantics, same
|
|
30
|
+
* validation gating. Renders through Radix `Switch.Root` + `Switch.Thumb`.
|
|
31
|
+
*/
|
|
32
|
+
export interface SwitchProps extends Pick<SwitchVariants, 'size'> {
|
|
33
|
+
name: string;
|
|
34
|
+
label?: ReactNode;
|
|
35
|
+
rules?: unknown;
|
|
36
|
+
visibleWhen?: (engine: Engine) => boolean;
|
|
37
|
+
checked?: boolean;
|
|
38
|
+
defaultChecked?: boolean;
|
|
39
|
+
disabled?: boolean;
|
|
40
|
+
helperText?: ReactNode;
|
|
41
|
+
error?: boolean;
|
|
42
|
+
access?: AccessRequirement;
|
|
43
|
+
sx?: string;
|
|
44
|
+
slotProps?: SwitchSlotProps;
|
|
45
|
+
onCheckedChange?: (checked: boolean) => void;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=switch.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"switch.types.d.ts","sourceRoot":"","sources":["../../../../src/components/Switch/switch.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9B,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjC,KAAK,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/B,KAAK,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/B,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;;;;;;GAMG;AACH,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CAC9C"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { type VariantProps } from 'tailwind-variants';
|
|
2
|
+
/**
|
|
3
|
+
* Tailwind-variants recipe for `<Switch>` with slots.
|
|
4
|
+
*
|
|
5
|
+
* Slots:
|
|
6
|
+
* - `root` — outer flex wrapper (control + label)
|
|
7
|
+
* - `control` — the visible track (Radix `Switch.Root`)
|
|
8
|
+
* - `thumb` — the moving knob (Radix `Switch.Thumb`); animated
|
|
9
|
+
* via translate-x on data-state="checked"
|
|
10
|
+
* - `label` — text next to the control
|
|
11
|
+
* - `helperText` / `errorText` — informational lines below
|
|
12
|
+
*/
|
|
13
|
+
export declare const switchVariants: import("tailwind-variants").TVReturnType<{
|
|
14
|
+
size: {
|
|
15
|
+
sm: {
|
|
16
|
+
control: string;
|
|
17
|
+
thumb: string;
|
|
18
|
+
label: string;
|
|
19
|
+
};
|
|
20
|
+
md: {
|
|
21
|
+
control: string;
|
|
22
|
+
thumb: string;
|
|
23
|
+
label: string;
|
|
24
|
+
};
|
|
25
|
+
lg: {
|
|
26
|
+
control: string;
|
|
27
|
+
thumb: string;
|
|
28
|
+
label: string;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
error: {
|
|
32
|
+
true: {
|
|
33
|
+
control: string;
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
}, {
|
|
37
|
+
root: string;
|
|
38
|
+
control: string[];
|
|
39
|
+
thumb: string[];
|
|
40
|
+
label: string;
|
|
41
|
+
helperText: string;
|
|
42
|
+
errorText: string;
|
|
43
|
+
}, undefined, {
|
|
44
|
+
size: {
|
|
45
|
+
sm: {
|
|
46
|
+
control: string;
|
|
47
|
+
thumb: string;
|
|
48
|
+
label: string;
|
|
49
|
+
};
|
|
50
|
+
md: {
|
|
51
|
+
control: string;
|
|
52
|
+
thumb: string;
|
|
53
|
+
label: string;
|
|
54
|
+
};
|
|
55
|
+
lg: {
|
|
56
|
+
control: string;
|
|
57
|
+
thumb: string;
|
|
58
|
+
label: string;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
error: {
|
|
62
|
+
true: {
|
|
63
|
+
control: string;
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
}, {
|
|
67
|
+
root: string;
|
|
68
|
+
control: string[];
|
|
69
|
+
thumb: string[];
|
|
70
|
+
label: string;
|
|
71
|
+
helperText: string;
|
|
72
|
+
errorText: string;
|
|
73
|
+
}, import("tailwind-variants").TVReturnType<{
|
|
74
|
+
size: {
|
|
75
|
+
sm: {
|
|
76
|
+
control: string;
|
|
77
|
+
thumb: string;
|
|
78
|
+
label: string;
|
|
79
|
+
};
|
|
80
|
+
md: {
|
|
81
|
+
control: string;
|
|
82
|
+
thumb: string;
|
|
83
|
+
label: string;
|
|
84
|
+
};
|
|
85
|
+
lg: {
|
|
86
|
+
control: string;
|
|
87
|
+
thumb: string;
|
|
88
|
+
label: string;
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
error: {
|
|
92
|
+
true: {
|
|
93
|
+
control: string;
|
|
94
|
+
};
|
|
95
|
+
};
|
|
96
|
+
}, {
|
|
97
|
+
root: string;
|
|
98
|
+
control: string[];
|
|
99
|
+
thumb: string[];
|
|
100
|
+
label: string;
|
|
101
|
+
helperText: string;
|
|
102
|
+
errorText: string;
|
|
103
|
+
}, undefined, unknown, unknown, undefined>>;
|
|
104
|
+
export type SwitchVariants = VariantProps<typeof switchVariants>;
|
|
105
|
+
//# sourceMappingURL=switch.variants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"switch.variants.d.ts","sourceRoot":"","sources":["../../../../src/components/Switch/switch.variants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE1D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAiDzB,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,cAAc,CAAC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { TextFieldProps } from './textField.types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Dashforge TW TextField — bridge-integrated text input.
|
|
4
|
+
*
|
|
5
|
+
* Implementation mirrors `@dashforge/ui/TextField` (MUI) at the bridge
|
|
6
|
+
* level — same `name` / `rules` / `visibleWhen` / `access` semantics,
|
|
7
|
+
* same validation gating, same StrictMode-safe unregister pattern.
|
|
8
|
+
* Renderer differences:
|
|
9
|
+
*
|
|
10
|
+
* - Native `<input>` element wrapped in a TV-styled
|
|
11
|
+
* `<div role-less wrapper>` so the focus ring extends to the entire
|
|
12
|
+
* field (consistent with shadcn-style inputs).
|
|
13
|
+
* - Layout modes: `stacked` (default — label above) and `inline`
|
|
14
|
+
* (label left of input). MUI's `floating` mode is deferred to a
|
|
15
|
+
* follow-up sprint; consumers needing the visual can layer it via
|
|
16
|
+
* `slotProps`.
|
|
17
|
+
* - No Select-integration hook (Select lands in F4 as its own component).
|
|
18
|
+
*
|
|
19
|
+
* **A11y**:
|
|
20
|
+
* - `aria-invalid` is set from the resolved validation state.
|
|
21
|
+
* - `aria-describedby` links the input to the helper/error text node.
|
|
22
|
+
* - Required fields get the native `required` attribute + a visual `*`.
|
|
23
|
+
*/
|
|
24
|
+
export declare function TextField(props: TextFieldProps): import("react/jsx-runtime").JSX.Element | null;
|
|
25
|
+
//# sourceMappingURL=TextField.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextField.d.ts","sourceRoot":"","sources":["../../../../src/components/TextField/TextField.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,kDAuL9C"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import type { InputHTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
import type { AccessRequirement } from '@dashforge/rbac';
|
|
3
|
+
import type { Engine } from '@dashforge/ui-core';
|
|
4
|
+
import type { TextFieldVariants } from './textField.variants.js';
|
|
5
|
+
/**
|
|
6
|
+
* Per-slot overrides for `<TextField>`.
|
|
7
|
+
*
|
|
8
|
+
* Each slot accepts `{ className: string }` so the override path is
|
|
9
|
+
* extensible (style / aria-* / data-* can be added without a breaking
|
|
10
|
+
* change). Mirrors the MUI-side `slotProps` shape.
|
|
11
|
+
*/
|
|
12
|
+
export interface TextFieldSlotProps {
|
|
13
|
+
root?: {
|
|
14
|
+
className?: string;
|
|
15
|
+
};
|
|
16
|
+
label?: {
|
|
17
|
+
className?: string;
|
|
18
|
+
};
|
|
19
|
+
requiredMark?: {
|
|
20
|
+
className?: string;
|
|
21
|
+
};
|
|
22
|
+
inputWrapper?: {
|
|
23
|
+
className?: string;
|
|
24
|
+
};
|
|
25
|
+
input?: {
|
|
26
|
+
className?: string;
|
|
27
|
+
};
|
|
28
|
+
helperText?: {
|
|
29
|
+
className?: string;
|
|
30
|
+
};
|
|
31
|
+
errorText?: {
|
|
32
|
+
className?: string;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Props for the Dashforge TW `<TextField>`.
|
|
37
|
+
*
|
|
38
|
+
* Extends the native `<input>` attributes (so `placeholder`, `type`,
|
|
39
|
+
* `autoComplete`, `aria-*` etc. all flow through), narrowed in two
|
|
40
|
+
* places:
|
|
41
|
+
*
|
|
42
|
+
* - `size` is omitted because HTML's legacy `size` attribute (number)
|
|
43
|
+
* collides with our variant axis (`'sm' | 'md' | 'lg'`).
|
|
44
|
+
* - `className` is omitted — use `sx` instead (the canonical override
|
|
45
|
+
* path that wins over variant classes via `tailwind-merge`).
|
|
46
|
+
*
|
|
47
|
+
* Plus the variant axes and Dashforge form-bridge wiring (`name`,
|
|
48
|
+
* `rules`, `visibleWhen`, `access`).
|
|
49
|
+
*/
|
|
50
|
+
export interface TextFieldProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'className'>, Pick<TextFieldVariants, 'size' | 'layout' | 'fullWidth'> {
|
|
51
|
+
/** Bridge field name (required when used inside `DashFormProvider`). */
|
|
52
|
+
name: string;
|
|
53
|
+
/** Visible label. */
|
|
54
|
+
label?: ReactNode;
|
|
55
|
+
/** Forwarded to the bridge as RHF rules — opaque to this component. */
|
|
56
|
+
rules?: unknown;
|
|
57
|
+
/** Engine predicate. Component returns null when false. */
|
|
58
|
+
visibleWhen?: (engine: Engine) => boolean;
|
|
59
|
+
/** Helper line below the input. */
|
|
60
|
+
helperText?: ReactNode;
|
|
61
|
+
/** Explicit error semaphore. Overrides bridge auto-error. */
|
|
62
|
+
error?: boolean;
|
|
63
|
+
/** Render the asterisk + set the native `required` attribute. */
|
|
64
|
+
required?: boolean;
|
|
65
|
+
/** RBAC requirement. */
|
|
66
|
+
access?: AccessRequirement;
|
|
67
|
+
/** Root-level Tailwind override — wins over variant classes via `cn()`. */
|
|
68
|
+
sx?: string;
|
|
69
|
+
/** Per-slot overrides — see `TextFieldSlotProps`. */
|
|
70
|
+
slotProps?: TextFieldSlotProps;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=textField.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textField.types.d.ts","sourceRoot":"","sources":["../../../../src/components/TextField/textField.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,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,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;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,cACf,SAAQ,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC,EACvE,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAC;IAC1D,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAC;IAEb,qBAAqB;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB,uEAAuE;IACvE,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IAE1C,mCAAmC;IACnC,UAAU,CAAC,EAAE,SAAS,CAAC;IAEvB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,wBAAwB;IACxB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAE3B,2EAA2E;IAC3E,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,qDAAqD;IACrD,SAAS,CAAC,EAAE,kBAAkB,CAAC;CAChC"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { type VariantProps } from 'tailwind-variants';
|
|
2
|
+
/**
|
|
3
|
+
* Tailwind-variants recipe for `<TextField>` with 7 slots.
|
|
4
|
+
*
|
|
5
|
+
* The MUI-side `TextField` supports three layout modes (floating /
|
|
6
|
+
* stacked / inline) plus a Select-integration hook. The TW-side
|
|
7
|
+
* port covers **stacked** + **inline** in F3 (label outside the
|
|
8
|
+
* input wrapper) and ships a CSS-only floating label using
|
|
9
|
+
* Tailwind's `peer` modifier.
|
|
10
|
+
*
|
|
11
|
+
* The Select integration (`__selectAvailableValues` etc.) is
|
|
12
|
+
* deferred to F4 when the dedicated `<Select>` component arrives.
|
|
13
|
+
*/
|
|
14
|
+
export declare const textFieldVariants: import("tailwind-variants").TVReturnType<{
|
|
15
|
+
size: {
|
|
16
|
+
sm: {
|
|
17
|
+
inputWrapper: string;
|
|
18
|
+
input: string;
|
|
19
|
+
};
|
|
20
|
+
md: {
|
|
21
|
+
inputWrapper: string;
|
|
22
|
+
input: string;
|
|
23
|
+
};
|
|
24
|
+
lg: {
|
|
25
|
+
inputWrapper: string;
|
|
26
|
+
input: string;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
layout: {
|
|
30
|
+
stacked: {
|
|
31
|
+
root: string;
|
|
32
|
+
};
|
|
33
|
+
inline: {
|
|
34
|
+
root: string;
|
|
35
|
+
label: string;
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
error: {
|
|
39
|
+
true: {
|
|
40
|
+
inputWrapper: string;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
fullWidth: {
|
|
44
|
+
true: {
|
|
45
|
+
root: string;
|
|
46
|
+
inputWrapper: string;
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
disabled: {
|
|
50
|
+
true: {
|
|
51
|
+
inputWrapper: string;
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
}, {
|
|
55
|
+
root: string;
|
|
56
|
+
label: string;
|
|
57
|
+
requiredMark: string;
|
|
58
|
+
inputWrapper: string[];
|
|
59
|
+
input: string[];
|
|
60
|
+
helperText: string;
|
|
61
|
+
errorText: string;
|
|
62
|
+
}, undefined, {
|
|
63
|
+
size: {
|
|
64
|
+
sm: {
|
|
65
|
+
inputWrapper: string;
|
|
66
|
+
input: string;
|
|
67
|
+
};
|
|
68
|
+
md: {
|
|
69
|
+
inputWrapper: string;
|
|
70
|
+
input: string;
|
|
71
|
+
};
|
|
72
|
+
lg: {
|
|
73
|
+
inputWrapper: string;
|
|
74
|
+
input: string;
|
|
75
|
+
};
|
|
76
|
+
};
|
|
77
|
+
layout: {
|
|
78
|
+
stacked: {
|
|
79
|
+
root: string;
|
|
80
|
+
};
|
|
81
|
+
inline: {
|
|
82
|
+
root: string;
|
|
83
|
+
label: string;
|
|
84
|
+
};
|
|
85
|
+
};
|
|
86
|
+
error: {
|
|
87
|
+
true: {
|
|
88
|
+
inputWrapper: string;
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
fullWidth: {
|
|
92
|
+
true: {
|
|
93
|
+
root: string;
|
|
94
|
+
inputWrapper: string;
|
|
95
|
+
};
|
|
96
|
+
};
|
|
97
|
+
disabled: {
|
|
98
|
+
true: {
|
|
99
|
+
inputWrapper: string;
|
|
100
|
+
};
|
|
101
|
+
};
|
|
102
|
+
}, {
|
|
103
|
+
root: string;
|
|
104
|
+
label: string;
|
|
105
|
+
requiredMark: string;
|
|
106
|
+
inputWrapper: string[];
|
|
107
|
+
input: string[];
|
|
108
|
+
helperText: string;
|
|
109
|
+
errorText: string;
|
|
110
|
+
}, import("tailwind-variants").TVReturnType<{
|
|
111
|
+
size: {
|
|
112
|
+
sm: {
|
|
113
|
+
inputWrapper: string;
|
|
114
|
+
input: string;
|
|
115
|
+
};
|
|
116
|
+
md: {
|
|
117
|
+
inputWrapper: string;
|
|
118
|
+
input: string;
|
|
119
|
+
};
|
|
120
|
+
lg: {
|
|
121
|
+
inputWrapper: string;
|
|
122
|
+
input: string;
|
|
123
|
+
};
|
|
124
|
+
};
|
|
125
|
+
layout: {
|
|
126
|
+
stacked: {
|
|
127
|
+
root: string;
|
|
128
|
+
};
|
|
129
|
+
inline: {
|
|
130
|
+
root: string;
|
|
131
|
+
label: string;
|
|
132
|
+
};
|
|
133
|
+
};
|
|
134
|
+
error: {
|
|
135
|
+
true: {
|
|
136
|
+
inputWrapper: string;
|
|
137
|
+
};
|
|
138
|
+
};
|
|
139
|
+
fullWidth: {
|
|
140
|
+
true: {
|
|
141
|
+
root: string;
|
|
142
|
+
inputWrapper: string;
|
|
143
|
+
};
|
|
144
|
+
};
|
|
145
|
+
disabled: {
|
|
146
|
+
true: {
|
|
147
|
+
inputWrapper: string;
|
|
148
|
+
};
|
|
149
|
+
};
|
|
150
|
+
}, {
|
|
151
|
+
root: string;
|
|
152
|
+
label: string;
|
|
153
|
+
requiredMark: string;
|
|
154
|
+
inputWrapper: string[];
|
|
155
|
+
input: string[];
|
|
156
|
+
helperText: string;
|
|
157
|
+
errorText: string;
|
|
158
|
+
}, undefined, unknown, unknown, undefined>>;
|
|
159
|
+
export type TextFieldVariants = VariantProps<typeof textFieldVariants>;
|
|
160
|
+
//# sourceMappingURL=textField.variants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textField.variants.d.ts","sourceRoot":"","sources":["../../../../src/components/TextField/textField.variants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE1D;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAsE5B,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { TextareaProps } from './textarea.types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Dashforge TW Textarea — bridge-integrated multi-line input.
|
|
4
|
+
*
|
|
5
|
+
* Sibling of `<TextField>` (same slot taxonomy, same bridge wiring) but
|
|
6
|
+
* renders a `<textarea>` element instead of a single-line `<input>`.
|
|
7
|
+
*
|
|
8
|
+
* Defaults to `rows={3}` and `resize="vertical"` — both overridable via
|
|
9
|
+
* variant prop or per-instance `rows` attribute.
|
|
10
|
+
*
|
|
11
|
+
* **A11y**: `aria-invalid` from the resolved validation state,
|
|
12
|
+
* `aria-describedby` links to the helper/error text node, required
|
|
13
|
+
* fields get the native `required` attribute + a visual `*`.
|
|
14
|
+
*/
|
|
15
|
+
export declare function Textarea(props: TextareaProps): import("react/jsx-runtime").JSX.Element | null;
|
|
16
|
+
//# sourceMappingURL=Textarea.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../../../src/components/Textarea/Textarea.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,kDAsK5C"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { ChangeEventHandler, FocusEventHandler, ReactNode, TextareaHTMLAttributes } from 'react';
|
|
2
|
+
import type { Engine } from '@dashforge/ui-core';
|
|
3
|
+
import type { AccessRequirement } from '@dashforge/rbac';
|
|
4
|
+
import type { TextareaVariants } from './textarea.variants.js';
|
|
5
|
+
export interface TextareaSlotProps {
|
|
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
|
+
helperText?: {
|
|
22
|
+
className?: string;
|
|
23
|
+
};
|
|
24
|
+
errorText?: {
|
|
25
|
+
className?: string;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Props for `<Textarea>`.
|
|
30
|
+
*
|
|
31
|
+
* Mirrors `<TextField>` semantics (bridge integration, RBAC, gating)
|
|
32
|
+
* but renders a multi-line `<textarea>` and exposes a `resize` variant
|
|
33
|
+
* (default `'vertical'`). Inherits standard HTMLTextarea attributes
|
|
34
|
+
* (`rows`, `cols`, `maxLength`, etc.) via `TextareaHTMLAttributes`.
|
|
35
|
+
*/
|
|
36
|
+
export interface TextareaProps extends Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'name' | 'size' | 'onChange' | 'onBlur' | 'value' | 'defaultValue'>, TextareaVariants {
|
|
37
|
+
name: string;
|
|
38
|
+
rules?: unknown;
|
|
39
|
+
label?: ReactNode;
|
|
40
|
+
helperText?: ReactNode;
|
|
41
|
+
required?: boolean;
|
|
42
|
+
error?: boolean;
|
|
43
|
+
disabled?: boolean;
|
|
44
|
+
/** Engine predicate — textarea not rendered when it returns `false`. */
|
|
45
|
+
visibleWhen?: (engine: Engine) => boolean;
|
|
46
|
+
/** RBAC access requirement (combines with explicit `disabled`). */
|
|
47
|
+
access?: AccessRequirement;
|
|
48
|
+
/** Root className shortcut (`cn`'d with the variant root class). */
|
|
49
|
+
sx?: string;
|
|
50
|
+
/** Per-slot className overrides. */
|
|
51
|
+
slotProps?: TextareaSlotProps;
|
|
52
|
+
/** Controlled value (form mode reads from the bridge if omitted). */
|
|
53
|
+
value?: string;
|
|
54
|
+
/** Default value (uncontrolled, standalone mode only). */
|
|
55
|
+
defaultValue?: string;
|
|
56
|
+
/** User-supplied change handler — fires *after* bridge update. */
|
|
57
|
+
onChange?: ChangeEventHandler<HTMLTextAreaElement>;
|
|
58
|
+
/** User-supplied blur handler — fires *after* bridge `onBlur`. */
|
|
59
|
+
onBlur?: FocusEventHandler<HTMLTextAreaElement>;
|
|
60
|
+
/** Minimum visible row count for the textarea. Default: 3. */
|
|
61
|
+
rows?: number;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=textarea.types.d.ts.map
|