@dashforge/tw 0.1.0-beta → 0.2.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.
Files changed (185) hide show
  1. package/CHANGELOG.md +108 -0
  2. package/dist/index.d.ts +1 -82
  3. package/dist/index.esm.js +1563 -2
  4. package/dist/src/components/AspectRatio/AspectRatio.d.ts +36 -0
  5. package/dist/src/components/AspectRatio/AspectRatio.d.ts.map +1 -0
  6. package/dist/src/components/AspectRatio/aspectRatio.types.d.ts +50 -0
  7. package/dist/src/components/AspectRatio/aspectRatio.types.d.ts.map +1 -0
  8. package/dist/src/components/Box/Box.d.ts +36 -0
  9. package/dist/src/components/Box/Box.d.ts.map +1 -0
  10. package/dist/src/components/Box/box.types.d.ts +54 -0
  11. package/dist/src/components/Box/box.types.d.ts.map +1 -0
  12. package/dist/src/components/Box/box.variants.d.ts +402 -0
  13. package/dist/src/components/Box/box.variants.d.ts.map +1 -0
  14. package/dist/src/components/Container/Container.d.ts +35 -0
  15. package/dist/src/components/Container/Container.d.ts.map +1 -0
  16. package/dist/src/components/Container/container.types.d.ts +41 -0
  17. package/dist/src/components/Container/container.types.d.ts.map +1 -0
  18. package/dist/src/components/Container/container.variants.d.ts +93 -0
  19. package/dist/src/components/Container/container.variants.d.ts.map +1 -0
  20. package/dist/src/components/Divider/Divider.d.ts +50 -0
  21. package/dist/src/components/Divider/Divider.d.ts.map +1 -0
  22. package/dist/src/components/Divider/divider.types.d.ts +47 -0
  23. package/dist/src/components/Divider/divider.types.d.ts.map +1 -0
  24. package/dist/src/components/Divider/divider.variants.d.ts +129 -0
  25. package/dist/src/components/Divider/divider.variants.d.ts.map +1 -0
  26. package/dist/src/components/Grid/Grid.d.ts +32 -0
  27. package/dist/src/components/Grid/Grid.d.ts.map +1 -0
  28. package/dist/src/components/Grid/grid.types.d.ts +103 -0
  29. package/dist/src/components/Grid/grid.types.d.ts.map +1 -0
  30. package/dist/src/components/Grid/grid.variants.d.ts +453 -0
  31. package/dist/src/components/Grid/grid.variants.d.ts.map +1 -0
  32. package/dist/src/components/Stack/Stack.d.ts +24 -0
  33. package/dist/src/components/Stack/Stack.d.ts.map +1 -0
  34. package/dist/src/components/Stack/stack.types.d.ts +61 -0
  35. package/dist/src/components/Stack/stack.types.d.ts.map +1 -0
  36. package/dist/src/components/Stack/stack.variants.d.ts +163 -0
  37. package/dist/src/components/Stack/stack.variants.d.ts.map +1 -0
  38. package/dist/src/components/Typography/Typography.d.ts +42 -0
  39. package/dist/src/components/Typography/Typography.d.ts.map +1 -0
  40. package/dist/src/components/Typography/typography.types.d.ts +61 -0
  41. package/dist/src/components/Typography/typography.types.d.ts.map +1 -0
  42. package/dist/src/components/Typography/typography.variants.d.ts +167 -0
  43. package/dist/src/components/Typography/typography.variants.d.ts.map +1 -0
  44. package/dist/src/components/VisuallyHidden/VisuallyHidden.d.ts +42 -0
  45. package/dist/src/components/VisuallyHidden/VisuallyHidden.d.ts.map +1 -0
  46. package/dist/src/components/VisuallyHidden/visuallyHidden.types.d.ts +42 -0
  47. package/dist/src/components/VisuallyHidden/visuallyHidden.types.d.ts.map +1 -0
  48. package/dist/src/index.d.ts +22 -0
  49. package/dist/src/index.d.ts.map +1 -1
  50. package/package.json +3 -3
  51. package/src/components/AspectRatio/AspectRatio.test.tsx +173 -0
  52. package/src/components/AspectRatio/AspectRatio.tsx +73 -0
  53. package/src/components/AspectRatio/aspectRatio.types.ts +54 -0
  54. package/src/components/Box/Box.test.tsx +349 -0
  55. package/src/components/Box/Box.tsx +83 -0
  56. package/src/components/Box/box.types.ts +61 -0
  57. package/src/components/Box/box.variants.ts +211 -0
  58. package/src/components/Container/Container.test.tsx +209 -0
  59. package/src/components/Container/Container.tsx +74 -0
  60. package/src/components/Container/container.types.ts +45 -0
  61. package/src/components/Container/container.variants.ts +81 -0
  62. package/src/components/Divider/Divider.test.tsx +241 -0
  63. package/src/components/Divider/Divider.tsx +140 -0
  64. package/src/components/Divider/divider.types.ts +52 -0
  65. package/src/components/Divider/divider.variants.ts +115 -0
  66. package/src/components/Grid/Grid.test.tsx +321 -0
  67. package/src/components/Grid/Grid.tsx +148 -0
  68. package/src/components/Grid/grid.types.ts +112 -0
  69. package/src/components/Grid/grid.variants.ts +133 -0
  70. package/src/components/Stack/Stack.test.tsx +309 -0
  71. package/src/components/Stack/Stack.tsx +115 -0
  72. package/src/components/Stack/stack.types.ts +68 -0
  73. package/src/components/Stack/stack.variants.ts +80 -0
  74. package/src/components/Typography/Typography.test.tsx +230 -0
  75. package/src/components/Typography/Typography.tsx +112 -0
  76. package/src/components/Typography/typography.types.ts +65 -0
  77. package/src/components/Typography/typography.variants.ts +113 -0
  78. package/src/components/VisuallyHidden/VisuallyHidden.test.tsx +86 -0
  79. package/src/components/VisuallyHidden/VisuallyHidden.tsx +59 -0
  80. package/src/components/VisuallyHidden/visuallyHidden.types.ts +45 -0
  81. package/src/index.ts +49 -0
  82. package/dist/components/AppShell/AppShell.d.ts +0 -32
  83. package/dist/components/AppShell/AppShell.d.ts.map +0 -1
  84. package/dist/components/AppShell/appShell.types.d.ts +0 -62
  85. package/dist/components/AppShell/appShell.types.d.ts.map +0 -1
  86. package/dist/components/AppShell/appShell.variants.d.ts +0 -65
  87. package/dist/components/AppShell/appShell.variants.d.ts.map +0 -1
  88. package/dist/components/Autocomplete/Autocomplete.d.ts +0 -32
  89. package/dist/components/Autocomplete/Autocomplete.d.ts.map +0 -1
  90. package/dist/components/Autocomplete/autocomplete.types.d.ts +0 -214
  91. package/dist/components/Autocomplete/autocomplete.types.d.ts.map +0 -1
  92. package/dist/components/Autocomplete/autocomplete.variants.d.ts +0 -214
  93. package/dist/components/Autocomplete/autocomplete.variants.d.ts.map +0 -1
  94. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +0 -23
  95. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts.map +0 -1
  96. package/dist/components/Breadcrumbs/breadcrumbs.types.d.ts +0 -98
  97. package/dist/components/Breadcrumbs/breadcrumbs.types.d.ts.map +0 -1
  98. package/dist/components/Breadcrumbs/breadcrumbs.variants.d.ts +0 -85
  99. package/dist/components/Breadcrumbs/breadcrumbs.variants.d.ts.map +0 -1
  100. package/dist/components/Button/Button.d.ts +0 -44
  101. package/dist/components/Button/Button.d.ts.map +0 -1
  102. package/dist/components/Button/button.types.d.ts +0 -66
  103. package/dist/components/Button/button.types.d.ts.map +0 -1
  104. package/dist/components/Button/button.variants.d.ts +0 -104
  105. package/dist/components/Button/button.variants.d.ts.map +0 -1
  106. package/dist/components/Checkbox/Checkbox.d.ts +0 -31
  107. package/dist/components/Checkbox/Checkbox.d.ts.map +0 -1
  108. package/dist/components/Checkbox/checkbox.types.d.ts +0 -86
  109. package/dist/components/Checkbox/checkbox.types.d.ts.map +0 -1
  110. package/dist/components/Checkbox/checkbox.variants.d.ts +0 -109
  111. package/dist/components/Checkbox/checkbox.variants.d.ts.map +0 -1
  112. package/dist/components/ConfirmDialog/ConfirmDialog.d.ts +0 -38
  113. package/dist/components/ConfirmDialog/ConfirmDialog.d.ts.map +0 -1
  114. package/dist/components/ConfirmDialog/confirmDialog.types.d.ts +0 -80
  115. package/dist/components/ConfirmDialog/confirmDialog.types.d.ts.map +0 -1
  116. package/dist/components/ConfirmDialog/confirmDialog.variants.d.ts +0 -90
  117. package/dist/components/ConfirmDialog/confirmDialog.variants.d.ts.map +0 -1
  118. package/dist/components/DateTimePicker/DateTimePicker.d.ts +0 -49
  119. package/dist/components/DateTimePicker/DateTimePicker.d.ts.map +0 -1
  120. package/dist/components/DateTimePicker/dateTimePicker.types.d.ts +0 -95
  121. package/dist/components/DateTimePicker/dateTimePicker.types.d.ts.map +0 -1
  122. package/dist/components/DateTimePicker/dateTimePicker.variants.d.ts +0 -165
  123. package/dist/components/DateTimePicker/dateTimePicker.variants.d.ts.map +0 -1
  124. package/dist/components/LeftNav/LeftNav.d.ts +0 -34
  125. package/dist/components/LeftNav/LeftNav.d.ts.map +0 -1
  126. package/dist/components/LeftNav/leftNav.types.d.ts +0 -136
  127. package/dist/components/LeftNav/leftNav.types.d.ts.map +0 -1
  128. package/dist/components/LeftNav/leftNav.variants.d.ts +0 -143
  129. package/dist/components/LeftNav/leftNav.variants.d.ts.map +0 -1
  130. package/dist/components/NumberField/NumberField.d.ts +0 -18
  131. package/dist/components/NumberField/NumberField.d.ts.map +0 -1
  132. package/dist/components/NumberField/numberField.types.d.ts +0 -79
  133. package/dist/components/NumberField/numberField.types.d.ts.map +0 -1
  134. package/dist/components/NumberField/numberField.variants.d.ts +0 -169
  135. package/dist/components/NumberField/numberField.variants.d.ts.map +0 -1
  136. package/dist/components/OTPField/OTPField.d.ts +0 -25
  137. package/dist/components/OTPField/OTPField.d.ts.map +0 -1
  138. package/dist/components/OTPField/otpField.types.d.ts +0 -74
  139. package/dist/components/OTPField/otpField.types.d.ts.map +0 -1
  140. package/dist/components/OTPField/otpField.variants.d.ts +0 -105
  141. package/dist/components/OTPField/otpField.variants.d.ts.map +0 -1
  142. package/dist/components/RadioGroup/RadioGroup.d.ts +0 -35
  143. package/dist/components/RadioGroup/RadioGroup.d.ts.map +0 -1
  144. package/dist/components/RadioGroup/radioGroup.types.d.ts +0 -103
  145. package/dist/components/RadioGroup/radioGroup.types.d.ts.map +0 -1
  146. package/dist/components/RadioGroup/radioGroup.variants.d.ts +0 -166
  147. package/dist/components/RadioGroup/radioGroup.variants.d.ts.map +0 -1
  148. package/dist/components/Snackbar/Snackbar.d.ts +0 -37
  149. package/dist/components/Snackbar/Snackbar.d.ts.map +0 -1
  150. package/dist/components/Snackbar/snackbar.types.d.ts +0 -86
  151. package/dist/components/Snackbar/snackbar.types.d.ts.map +0 -1
  152. package/dist/components/Snackbar/snackbar.variants.d.ts +0 -153
  153. package/dist/components/Snackbar/snackbar.variants.d.ts.map +0 -1
  154. package/dist/components/Switch/Switch.d.ts +0 -15
  155. package/dist/components/Switch/Switch.d.ts.map +0 -1
  156. package/dist/components/Switch/switch.types.d.ts +0 -47
  157. package/dist/components/Switch/switch.types.d.ts.map +0 -1
  158. package/dist/components/Switch/switch.variants.d.ts +0 -105
  159. package/dist/components/Switch/switch.variants.d.ts.map +0 -1
  160. package/dist/components/TextField/TextField.d.ts +0 -25
  161. package/dist/components/TextField/TextField.d.ts.map +0 -1
  162. package/dist/components/TextField/textField.types.d.ts +0 -72
  163. package/dist/components/TextField/textField.types.d.ts.map +0 -1
  164. package/dist/components/TextField/textField.variants.d.ts +0 -160
  165. package/dist/components/TextField/textField.variants.d.ts.map +0 -1
  166. package/dist/components/Textarea/Textarea.d.ts +0 -16
  167. package/dist/components/Textarea/Textarea.d.ts.map +0 -1
  168. package/dist/components/Textarea/textarea.types.d.ts +0 -63
  169. package/dist/components/Textarea/textarea.types.d.ts.map +0 -1
  170. package/dist/components/Textarea/textarea.variants.d.ts +0 -197
  171. package/dist/components/Textarea/textarea.variants.d.ts.map +0 -1
  172. package/dist/components/TopBar/TopBar.d.ts +0 -33
  173. package/dist/components/TopBar/TopBar.d.ts.map +0 -1
  174. package/dist/components/TopBar/topBar.types.d.ts +0 -49
  175. package/dist/components/TopBar/topBar.types.d.ts.map +0 -1
  176. package/dist/components/TopBar/topBar.variants.d.ts +0 -79
  177. package/dist/components/TopBar/topBar.variants.d.ts.map +0 -1
  178. package/dist/components/_shared/resolveValidationState.d.ts +0 -42
  179. package/dist/components/_shared/resolveValidationState.d.ts.map +0 -1
  180. package/dist/hooks/useAccessState.d.ts +0 -37
  181. package/dist/hooks/useAccessState.d.ts.map +0 -1
  182. package/dist/index.d.ts.map +0 -1
  183. package/dist/tsconfig.lib.tsbuildinfo +0 -1
  184. package/dist/utils/cn.d.ts +0 -26
  185. package/dist/utils/cn.d.ts.map +0 -1
@@ -1,72 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,160 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,16 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,63 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"textarea.types.d.ts","sourceRoot":"","sources":["../../../src/components/Textarea/textarea.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EACjB,SAAS,EACT,sBAAsB,EACvB,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,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,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,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;;;;;;;GAOG;AACH,MAAM,WAAW,aACf,SAAQ,IAAI,CACR,sBAAsB,CAAC,mBAAmB,CAAC,EAC3C,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,cAAc,CACnE,EACD,gBAAgB;IAClB,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,wEAAwE;IACxE,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,iBAAiB,CAAC;IAC9B,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;IACnD,kEAAkE;IAClE,MAAM,CAAC,EAAE,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;IAChD,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
@@ -1,197 +0,0 @@
1
- import { type VariantProps } from 'tailwind-variants';
2
- /**
3
- * Tailwind-variants recipe for `<Textarea>` with 7 slots.
4
- *
5
- * Sibling of `<TextField>` but renders a multi-line `<textarea>` element
6
- * instead of a single-line `<input>`. Shares the same slot taxonomy +
7
- * variant axes so consumers can swap the two without rewriting overrides.
8
- */
9
- export declare const textareaVariants: import("tailwind-variants").TVReturnType<{
10
- size: {
11
- sm: {
12
- inputWrapper: string;
13
- input: string;
14
- };
15
- md: {
16
- inputWrapper: string;
17
- input: string;
18
- };
19
- lg: {
20
- inputWrapper: string;
21
- input: string;
22
- };
23
- };
24
- layout: {
25
- stacked: {
26
- root: string;
27
- };
28
- inline: {
29
- root: string;
30
- label: string;
31
- };
32
- };
33
- error: {
34
- true: {
35
- inputWrapper: string;
36
- };
37
- };
38
- fullWidth: {
39
- true: {
40
- root: string;
41
- inputWrapper: string;
42
- };
43
- };
44
- disabled: {
45
- true: {
46
- inputWrapper: string;
47
- };
48
- };
49
- resize: {
50
- none: {
51
- input: string;
52
- };
53
- vertical: {
54
- input: string;
55
- };
56
- horizontal: {
57
- input: string;
58
- };
59
- both: {
60
- input: string;
61
- };
62
- };
63
- }, {
64
- root: string;
65
- label: string;
66
- requiredMark: string;
67
- inputWrapper: string[];
68
- input: string[];
69
- helperText: string;
70
- errorText: string;
71
- }, undefined, {
72
- size: {
73
- sm: {
74
- inputWrapper: string;
75
- input: string;
76
- };
77
- md: {
78
- inputWrapper: string;
79
- input: string;
80
- };
81
- lg: {
82
- inputWrapper: string;
83
- input: string;
84
- };
85
- };
86
- layout: {
87
- stacked: {
88
- root: string;
89
- };
90
- inline: {
91
- root: string;
92
- label: string;
93
- };
94
- };
95
- error: {
96
- true: {
97
- inputWrapper: string;
98
- };
99
- };
100
- fullWidth: {
101
- true: {
102
- root: string;
103
- inputWrapper: string;
104
- };
105
- };
106
- disabled: {
107
- true: {
108
- inputWrapper: string;
109
- };
110
- };
111
- resize: {
112
- none: {
113
- input: string;
114
- };
115
- vertical: {
116
- input: string;
117
- };
118
- horizontal: {
119
- input: string;
120
- };
121
- both: {
122
- input: string;
123
- };
124
- };
125
- }, {
126
- root: string;
127
- label: string;
128
- requiredMark: string;
129
- inputWrapper: string[];
130
- input: string[];
131
- helperText: string;
132
- errorText: string;
133
- }, import("tailwind-variants").TVReturnType<{
134
- size: {
135
- sm: {
136
- inputWrapper: string;
137
- input: string;
138
- };
139
- md: {
140
- inputWrapper: string;
141
- input: string;
142
- };
143
- lg: {
144
- inputWrapper: string;
145
- input: string;
146
- };
147
- };
148
- layout: {
149
- stacked: {
150
- root: string;
151
- };
152
- inline: {
153
- root: string;
154
- label: string;
155
- };
156
- };
157
- error: {
158
- true: {
159
- inputWrapper: string;
160
- };
161
- };
162
- fullWidth: {
163
- true: {
164
- root: string;
165
- inputWrapper: string;
166
- };
167
- };
168
- disabled: {
169
- true: {
170
- inputWrapper: string;
171
- };
172
- };
173
- resize: {
174
- none: {
175
- input: string;
176
- };
177
- vertical: {
178
- input: string;
179
- };
180
- horizontal: {
181
- input: string;
182
- };
183
- both: {
184
- input: string;
185
- };
186
- };
187
- }, {
188
- root: string;
189
- label: string;
190
- requiredMark: string;
191
- inputWrapper: string[];
192
- input: string[];
193
- helperText: string;
194
- errorText: string;
195
- }, undefined, unknown, unknown, undefined>>;
196
- export type TextareaVariants = VariantProps<typeof textareaVariants>;
197
- //# sourceMappingURL=textarea.variants.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"textarea.variants.d.ts","sourceRoot":"","sources":["../../../src/components/Textarea/textarea.variants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE1D;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAyE3B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
@@ -1,33 +0,0 @@
1
- import type { TopBarProps } from './topBar.types.js';
2
- /**
3
- * Dashforge TW TopBar — sticky header with 3 named slots.
4
- *
5
- * Pure composition. Three regions arranged horizontally:
6
- *
7
- * ┌──────────────────────────────────────────────────────────┐
8
- * │ start │ center │ end │
9
- * └──────────────────────────────────────────────────────────┘
10
- *
11
- * - `start` and `end` shrink to content.
12
- * - `center` grows to fill remaining space.
13
- * - If you pass `children` instead of `center`, those children render
14
- * in the center region — handy for terse JSX:
15
- *
16
- * ```tsx
17
- * <TopBar start={<Logo />} end={<UserMenu />}>
18
- * <Breadcrumbs items={trail} />
19
- * </TopBar>
20
- * ```
21
- *
22
- * Default renders as `<header role="banner">` (implicit from
23
- * `<header>` as a top-level landmark). Pass `asDiv` for cases where
24
- * you don't want the banner role (e.g., nested inside another header).
25
- *
26
- * **A11y**:
27
- * - `<header>` is a banner landmark — only one per page; if you put
28
- * multiple TopBars on a page, use `asDiv` on the secondary ones.
29
- * - Slots are agnostic about ARIA — wrap your slot content with
30
- * appropriate roles (`<nav>`, `<search>`, etc.) where needed.
31
- */
32
- export declare function TopBar(props: TopBarProps): import("react/jsx-runtime").JSX.Element;
33
- //# sourceMappingURL=TopBar.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TopBar.d.ts","sourceRoot":"","sources":["../../../src/components/TopBar/TopBar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,2CA+BxC"}
@@ -1,49 +0,0 @@
1
- import type { ReactNode } from 'react';
2
- import type { TopBarVariants } from './topBar.variants.js';
3
- export interface TopBarSlotProps {
4
- root?: {
5
- className?: string;
6
- };
7
- start?: {
8
- className?: string;
9
- };
10
- center?: {
11
- className?: string;
12
- };
13
- end?: {
14
- className?: string;
15
- };
16
- }
17
- /**
18
- * Props for `<TopBar>`.
19
- *
20
- * Pure composition container with 3 named slots — `start`, `center`,
21
- * `end` — that fill a sticky horizontal bar.
22
- *
23
- * Typical patterns:
24
- *
25
- * - **start**: mobile menu toggle, brand/logo
26
- * - **center**: Breadcrumbs, page title, global search
27
- * - **end**: notifications icon, user menu, theme toggle
28
- *
29
- * The component is intentionally minimal: it just lays out the three
30
- * regions. All semantics (e.g., `<header role="banner">`) come for
31
- * free from rendering as an HTML `<header>` element.
32
- */
33
- export interface TopBarProps extends TopBarVariants {
34
- /** Left-aligned slot (mobile menu, brand). */
35
- start?: ReactNode;
36
- /** Center slot (breadcrumbs, title). Grows to fill remaining space. */
37
- center?: ReactNode;
38
- /** Right-aligned slot (actions, user menu). */
39
- end?: ReactNode;
40
- /** Convenience: render the bar as a plain `<div>` (no banner role). */
41
- asDiv?: boolean;
42
- /** Root className shortcut. */
43
- sx?: string;
44
- /** Per-slot className overrides. */
45
- slotProps?: TopBarSlotProps;
46
- /** Children render between `start` and `end` when no `center` is set. */
47
- children?: ReactNode;
48
- }
49
- //# sourceMappingURL=topBar.types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"topBar.types.d.ts","sourceRoot":"","sources":["../../../src/components/TopBar/topBar.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,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,KAAK,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/B,MAAM,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChC,GAAG,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,WAAY,SAAQ,cAAc;IACjD,8CAA8C;IAC9C,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,uEAAuE;IACvE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,+CAA+C;IAC/C,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,uEAAuE;IACvE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,+BAA+B;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,oCAAoC;IACpC,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,yEAAyE;IACzE,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB"}