asheeui 0.6.2 → 0.6.3

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 (281) hide show
  1. package/dist/AsheeUIProvider.d.ts +34 -0
  2. package/dist/AsheeUIProvider.d.ts.map +1 -1
  3. package/dist/components/accordion/Accordion.d.ts +55 -44
  4. package/dist/components/accordion/Accordion.d.ts.map +1 -1
  5. package/dist/components/accordion/Accordion.js +27 -27
  6. package/dist/components/accordion/accordion-config.d.ts +41 -12
  7. package/dist/components/accordion/accordion-config.d.ts.map +1 -1
  8. package/dist/components/accordion/accordion-styles.d.ts +20 -0
  9. package/dist/components/accordion/accordion-styles.d.ts.map +1 -1
  10. package/dist/components/accordion/accordion-styles.js +1 -1
  11. package/dist/components/autocomplete/Autocomplete.d.ts +59 -39
  12. package/dist/components/autocomplete/Autocomplete.d.ts.map +1 -1
  13. package/dist/components/autocomplete/Autocomplete.js +98 -91
  14. package/dist/components/autocomplete/autocomplete-config.d.ts +9 -62
  15. package/dist/components/autocomplete/autocomplete-config.d.ts.map +1 -1
  16. package/dist/components/autocomplete/autocomplete-config.js +6 -21
  17. package/dist/components/button/Button.d.ts +50 -51
  18. package/dist/components/button/Button.d.ts.map +1 -1
  19. package/dist/components/button/Button.js +19 -19
  20. package/dist/components/button/button-config.d.ts +23 -15
  21. package/dist/components/button/button-config.d.ts.map +1 -1
  22. package/dist/components/button/button-styles.d.ts +11 -1
  23. package/dist/components/button/button-styles.d.ts.map +1 -1
  24. package/dist/components/card/Card.d.ts +85 -43
  25. package/dist/components/card/Card.d.ts.map +1 -1
  26. package/dist/components/card/Card.js +49 -49
  27. package/dist/components/card/card-config.d.ts +35 -18
  28. package/dist/components/card/card-config.d.ts.map +1 -1
  29. package/dist/components/card/card-config.js +0 -2
  30. package/dist/components/card/card-styles.d.ts +17 -1
  31. package/dist/components/card/card-styles.d.ts.map +1 -1
  32. package/dist/components/carousel/Carousel.d.ts +107 -12
  33. package/dist/components/carousel/Carousel.d.ts.map +1 -1
  34. package/dist/components/carousel/Carousel.js +63 -64
  35. package/dist/components/carousel/carousel-config.d.ts +94 -7
  36. package/dist/components/carousel/carousel-config.d.ts.map +1 -1
  37. package/dist/components/carousel/carousel-config.js +6 -4
  38. package/dist/components/carousel/carousel-styles.d.ts +32 -1
  39. package/dist/components/carousel/carousel-styles.d.ts.map +1 -1
  40. package/dist/components/chip/Chip.d.ts +55 -34
  41. package/dist/components/chip/Chip.d.ts.map +1 -1
  42. package/dist/components/chip/Chip.js +71 -72
  43. package/dist/components/chip/chip-config.d.ts +29 -15
  44. package/dist/components/chip/chip-config.d.ts.map +1 -1
  45. package/dist/components/chip/chip-config.js +5 -6
  46. package/dist/components/chip/chip-styles.d.ts +21 -1
  47. package/dist/components/chip/chip-styles.d.ts.map +1 -1
  48. package/dist/components/date-picker/DatePicker.d.ts +166 -2
  49. package/dist/components/date-picker/DatePicker.d.ts.map +1 -1
  50. package/dist/components/date-picker/DatePicker.js +110 -99
  51. package/dist/components/date-picker/date-picker-config.d.ts +31 -0
  52. package/dist/components/date-picker/date-picker-config.d.ts.map +1 -1
  53. package/dist/components/date-picker/date-picker-config.js +8 -16
  54. package/dist/components/date-picker/date-picker-styles.d.ts +21 -1
  55. package/dist/components/date-picker/date-picker-styles.d.ts.map +1 -1
  56. package/dist/components/date-picker/date-picker-styles.js +7 -11
  57. package/dist/components/drawer/Drawer.d.ts +97 -7
  58. package/dist/components/drawer/Drawer.d.ts.map +1 -1
  59. package/dist/components/drawer/Drawer.js +9 -9
  60. package/dist/components/drawer/drawer-config.d.ts +54 -1
  61. package/dist/components/drawer/drawer-config.d.ts.map +1 -1
  62. package/dist/components/drawer/drawer-styles.d.ts +21 -0
  63. package/dist/components/drawer/drawer-styles.d.ts.map +1 -1
  64. package/dist/components/field/FieldShell.d.ts +86 -0
  65. package/dist/components/field/FieldShell.d.ts.map +1 -1
  66. package/dist/components/field/field-config.d.ts +66 -3
  67. package/dist/components/field/field-config.d.ts.map +1 -1
  68. package/dist/components/field/field-config.js +2 -1
  69. package/dist/components/field/field-styles.d.ts +22 -0
  70. package/dist/components/field/field-styles.d.ts.map +1 -1
  71. package/dist/components/field/field-styles.js +10 -0
  72. package/dist/components/field/index.js +1 -0
  73. package/dist/components/image/Image.d.ts +35 -28
  74. package/dist/components/image/Image.d.ts.map +1 -1
  75. package/dist/components/image/Image.js +7 -7
  76. package/dist/components/image/image-config.d.ts +25 -7
  77. package/dist/components/image/image-config.d.ts.map +1 -1
  78. package/dist/components/image/image-styles.d.ts +9 -0
  79. package/dist/components/image/image-styles.d.ts.map +1 -1
  80. package/dist/components/input/Input.d.ts +117 -10
  81. package/dist/components/input/Input.d.ts.map +1 -1
  82. package/dist/components/input/Input.js +20 -20
  83. package/dist/components/input/PasswordInput.d.ts +48 -0
  84. package/dist/components/input/PasswordInput.d.ts.map +1 -1
  85. package/dist/components/input/input-config.d.ts +10 -1
  86. package/dist/components/input/input-config.d.ts.map +1 -1
  87. package/dist/components/input/input-config.js +5 -8
  88. package/dist/components/input/input-styles.d.ts +10 -0
  89. package/dist/components/input/input-styles.d.ts.map +1 -1
  90. package/dist/components/input/input-styles.js +5 -9
  91. package/dist/components/keyboard/OnScreenKeyboard.d.ts +58 -8
  92. package/dist/components/keyboard/OnScreenKeyboard.d.ts.map +1 -1
  93. package/dist/components/keyboard/OnScreenKeyboard.js +49 -48
  94. package/dist/components/keyboard/index.js +1 -1
  95. package/dist/components/keyboard/keyboard-config.d.ts +88 -3
  96. package/dist/components/keyboard/keyboard-config.d.ts.map +1 -1
  97. package/dist/components/keyboard/{default-keyboard-config.js → keyboard-config.js} +7 -1
  98. package/dist/components/keyboard/keyboard-context.d.ts +103 -13
  99. package/dist/components/keyboard/keyboard-context.d.ts.map +1 -1
  100. package/dist/components/keyboard/keyboard-context.js +66 -68
  101. package/dist/components/keyboard/use-keyboard-field.d.ts +37 -0
  102. package/dist/components/keyboard/use-keyboard-field.d.ts.map +1 -1
  103. package/dist/components/link/Link.d.ts +118 -9
  104. package/dist/components/link/Link.d.ts.map +1 -1
  105. package/dist/components/link/Link.js +29 -30
  106. package/dist/components/link/link-config.d.ts +58 -5
  107. package/dist/components/link/link-config.d.ts.map +1 -1
  108. package/dist/components/link/link-styles.d.ts +24 -4
  109. package/dist/components/link/link-styles.d.ts.map +1 -1
  110. package/dist/components/marquee/Marquee.d.ts +77 -8
  111. package/dist/components/marquee/Marquee.d.ts.map +1 -1
  112. package/dist/components/marquee/Marquee.js +5 -5
  113. package/dist/components/marquee/marquee-config.d.ts +74 -0
  114. package/dist/components/marquee/marquee-config.d.ts.map +1 -1
  115. package/dist/components/marquee/marquee-styles.d.ts +12 -0
  116. package/dist/components/marquee/marquee-styles.d.ts.map +1 -1
  117. package/dist/components/modal/Modal.d.ts +113 -25
  118. package/dist/components/modal/Modal.d.ts.map +1 -1
  119. package/dist/components/modal/Modal.js +75 -82
  120. package/dist/components/modal/modal-config.d.ts +59 -1
  121. package/dist/components/modal/modal-config.d.ts.map +1 -1
  122. package/dist/components/modal/modal-styles.d.ts +8 -1
  123. package/dist/components/modal/modal-styles.d.ts.map +1 -1
  124. package/dist/components/modal/modal-styles.js +4 -11
  125. package/dist/components/multi-select/MultiSelect.d.ts +152 -23
  126. package/dist/components/multi-select/MultiSelect.d.ts.map +1 -1
  127. package/dist/components/multi-select/MultiSelect.js +195 -217
  128. package/dist/components/multi-select/multi-select-config.d.ts +61 -23
  129. package/dist/components/multi-select/multi-select-config.d.ts.map +1 -1
  130. package/dist/components/multi-select/multi-select-config.js +16 -25
  131. package/dist/components/multi-select/multi-select-styles.d.ts +17 -0
  132. package/dist/components/multi-select/multi-select-styles.d.ts.map +1 -1
  133. package/dist/components/multi-select/multi-select-styles.js +9 -13
  134. package/dist/components/radio/Radio.d.ts +137 -13
  135. package/dist/components/radio/Radio.d.ts.map +1 -1
  136. package/dist/components/radio/Radio.js +66 -141
  137. package/dist/components/radio/RadioGroup.d.ts +88 -23
  138. package/dist/components/radio/RadioGroup.d.ts.map +1 -1
  139. package/dist/components/radio/RadioGroup.js +141 -66
  140. package/dist/components/radio/radio-config.d.ts +36 -11
  141. package/dist/components/radio/radio-config.d.ts.map +1 -1
  142. package/dist/components/radio/radio-config.js +9 -11
  143. package/dist/components/radio/radio-context.d.ts +44 -1
  144. package/dist/components/radio/radio-context.d.ts.map +1 -1
  145. package/dist/components/radio/radio-styles.d.ts +24 -1
  146. package/dist/components/radio/radio-styles.d.ts.map +1 -1
  147. package/dist/components/resizable-screen/ResizableScreen.d.ts +79 -32
  148. package/dist/components/resizable-screen/ResizableScreen.d.ts.map +1 -1
  149. package/dist/components/resizable-screen/ResizableScreen.js +77 -72
  150. package/dist/components/resizable-screen/resizable-screen-config.d.ts +62 -0
  151. package/dist/components/resizable-screen/resizable-screen-config.d.ts.map +1 -1
  152. package/dist/components/scrollbar/scrollbar-config.d.ts +44 -9
  153. package/dist/components/scrollbar/scrollbar-config.d.ts.map +1 -1
  154. package/dist/components/select/Select.d.ts +157 -17
  155. package/dist/components/select/Select.d.ts.map +1 -1
  156. package/dist/components/select/Select.js +141 -152
  157. package/dist/components/select/select-config.d.ts +26 -19
  158. package/dist/components/select/select-config.d.ts.map +1 -1
  159. package/dist/components/select/select-config.js +5 -21
  160. package/dist/components/select/select-styles.d.ts +10 -0
  161. package/dist/components/select/select-styles.d.ts.map +1 -1
  162. package/dist/components/select/select-styles.js +5 -9
  163. package/dist/components/select-menu/SelectMenu.d.ts +125 -8
  164. package/dist/components/select-menu/SelectMenu.d.ts.map +1 -1
  165. package/dist/components/select-menu/SelectMenu.js +107 -79
  166. package/dist/components/select-menu/index.d.ts +2 -0
  167. package/dist/components/select-menu/index.d.ts.map +1 -1
  168. package/dist/components/select-menu/index.js +1 -0
  169. package/dist/components/select-menu/select-menu-config.d.ts +82 -0
  170. package/dist/components/select-menu/select-menu-config.d.ts.map +1 -0
  171. package/dist/components/select-menu/select-menu-config.js +12 -0
  172. package/dist/components/sidebar/Sidebar.d.ts +151 -51
  173. package/dist/components/sidebar/Sidebar.d.ts.map +1 -1
  174. package/dist/components/sidebar/Sidebar.js +211 -232
  175. package/dist/components/sidebar/sidebar-config.d.ts +140 -21
  176. package/dist/components/sidebar/sidebar-config.d.ts.map +1 -1
  177. package/dist/components/sidebar/sidebar-config.js +9 -12
  178. package/dist/components/sidebar/sidebar-styles.d.ts +24 -0
  179. package/dist/components/sidebar/sidebar-styles.d.ts.map +1 -1
  180. package/dist/components/spinner/spinner-config.d.ts +15 -9
  181. package/dist/components/spinner/spinner-config.d.ts.map +1 -1
  182. package/dist/components/spinner/spinner-styles.d.ts +10 -3
  183. package/dist/components/spinner/spinner-styles.d.ts.map +1 -1
  184. package/dist/components/spinner/spinner.d.ts +27 -20
  185. package/dist/components/spinner/spinner.d.ts.map +1 -1
  186. package/dist/components/spinner/spinner.js +18 -18
  187. package/dist/components/switch/Switch.d.ts +109 -9
  188. package/dist/components/switch/Switch.d.ts.map +1 -1
  189. package/dist/components/switch/Switch.js +19 -19
  190. package/dist/components/switch/switch-config.d.ts +20 -6
  191. package/dist/components/switch/switch-config.d.ts.map +1 -1
  192. package/dist/components/switch/switch-config.js +8 -16
  193. package/dist/components/switch/switch-styles.d.ts +17 -0
  194. package/dist/components/switch/switch-styles.d.ts.map +1 -1
  195. package/dist/components/table/Table.d.ts +101 -28
  196. package/dist/components/table/Table.d.ts.map +1 -1
  197. package/dist/components/table/Table.js +56 -56
  198. package/dist/components/table/table-config.d.ts +75 -8
  199. package/dist/components/table/table-config.d.ts.map +1 -1
  200. package/dist/components/table/table-styles.d.ts +25 -6
  201. package/dist/components/table/table-styles.d.ts.map +1 -1
  202. package/dist/components/tabs/Tabs.d.ts +84 -31
  203. package/dist/components/tabs/Tabs.d.ts.map +1 -1
  204. package/dist/components/tabs/Tabs.js +44 -44
  205. package/dist/components/tabs/tabs-config.d.ts +102 -9
  206. package/dist/components/tabs/tabs-config.d.ts.map +1 -1
  207. package/dist/components/tabs/tabs-styles.d.ts +16 -4
  208. package/dist/components/tabs/tabs-styles.d.ts.map +1 -1
  209. package/dist/components/textarea/Textarea.d.ts +105 -11
  210. package/dist/components/textarea/Textarea.d.ts.map +1 -1
  211. package/dist/components/textarea/Textarea.js +27 -24
  212. package/dist/components/textarea/textarea-config.d.ts +21 -0
  213. package/dist/components/textarea/textarea-config.d.ts.map +1 -1
  214. package/dist/components/textarea/textarea-config.js +8 -16
  215. package/dist/components/textarea/textarea-styles.d.ts +9 -0
  216. package/dist/components/textarea/textarea-styles.d.ts.map +1 -1
  217. package/dist/components/textarea/textarea-styles.js +5 -9
  218. package/dist/components/toast/ToastItem.d.ts +58 -4
  219. package/dist/components/toast/ToastItem.d.ts.map +1 -1
  220. package/dist/components/toast/ToastItem.js +18 -18
  221. package/dist/components/toast/toast-config.d.ts +104 -6
  222. package/dist/components/toast/toast-config.d.ts.map +1 -1
  223. package/dist/components/toast/toast-context.d.ts +123 -11
  224. package/dist/components/toast/toast-context.d.ts.map +1 -1
  225. package/dist/components/toast/toast-context.js +19 -19
  226. package/dist/components/toast/toast-styles.d.ts +27 -5
  227. package/dist/components/toast/toast-styles.d.ts.map +1 -1
  228. package/dist/components/toast/use-pausable-timeout.d.ts +29 -0
  229. package/dist/components/toast/use-pausable-timeout.d.ts.map +1 -1
  230. package/dist/components/tooltip/Tooltip.d.ts +76 -16
  231. package/dist/components/tooltip/Tooltip.d.ts.map +1 -1
  232. package/dist/components/tooltip/Tooltip.js +25 -25
  233. package/dist/components/tooltip/tooltip-config.d.ts +73 -3
  234. package/dist/components/tooltip/tooltip-config.d.ts.map +1 -1
  235. package/dist/components/tooltip/tooltip-styles.d.ts +12 -0
  236. package/dist/components/tooltip/tooltip-styles.d.ts.map +1 -1
  237. package/dist/config/config.d.ts +50 -2
  238. package/dist/config/config.d.ts.map +1 -1
  239. package/dist/config/default-config.d.ts +5 -0
  240. package/dist/config/default-config.d.ts.map +1 -1
  241. package/dist/config/default-config.js +23 -0
  242. package/dist/config/define-config.d.ts +23 -0
  243. package/dist/config/define-config.d.ts.map +1 -1
  244. package/dist/config/resolve-color.d.ts +25 -0
  245. package/dist/config/resolve-color.d.ts.map +1 -1
  246. package/dist/config/resolve-config.d.ts +23 -0
  247. package/dist/config/resolve-config.d.ts.map +1 -1
  248. package/dist/index.css +43 -7
  249. package/dist/index.d.ts +30 -2
  250. package/dist/index.d.ts.map +1 -1
  251. package/dist/index.js +120 -115
  252. package/dist/libs/context.d.ts +50 -1
  253. package/dist/libs/context.d.ts.map +1 -1
  254. package/dist/libs/registry.d.ts +61 -5
  255. package/dist/libs/registry.d.ts.map +1 -1
  256. package/dist/libs/use-isomorphic-layout-effect.d.ts +18 -0
  257. package/dist/libs/use-isomorphic-layout-effect.d.ts.map +1 -1
  258. package/dist/shared/index.d.ts +3 -0
  259. package/dist/shared/index.d.ts.map +1 -0
  260. package/dist/shared/radius.d.ts +37 -1
  261. package/dist/shared/radius.d.ts.map +1 -1
  262. package/dist/shared/variant.d.ts +31 -0
  263. package/dist/shared/variant.d.ts.map +1 -1
  264. package/dist/shared/variant.js +132 -45
  265. package/dist/theme/color.d.ts +89 -1
  266. package/dist/theme/color.d.ts.map +1 -1
  267. package/dist/theme/controller.d.ts +121 -0
  268. package/dist/theme/controller.d.ts.map +1 -1
  269. package/dist/theme/controller.js +84 -0
  270. package/dist/theme/useTheme.d.ts +68 -0
  271. package/dist/theme/useTheme.d.ts.map +1 -1
  272. package/dist/theme/useTheme.js +23 -0
  273. package/dist/utils/index.d.ts +0 -7
  274. package/dist/utils/index.d.ts.map +1 -1
  275. package/dist/utils/resolve-token.d.ts +101 -0
  276. package/dist/utils/resolve-token.d.ts.map +1 -1
  277. package/package.json +1 -1
  278. package/dist/components/keyboard/default-keyboard-config.d.ts +0 -10
  279. package/dist/components/keyboard/default-keyboard-config.d.ts.map +0 -1
  280. package/dist/shared/size.d.ts +0 -2
  281. package/dist/shared/size.d.ts.map +0 -1
@@ -1,10 +1,41 @@
1
1
  import { FieldConfig, FieldSizeKey } from '../field/field-config';
2
+ /**
3
+ * The selection mode of the date picker.
4
+ * - `date`: Select only a date.
5
+ * - `time`: Select only a time.
6
+ * - `datetime`: Select both date and time.
7
+ */
2
8
  export type PickerMode = "date" | "time" | "datetime";
9
+ /**
10
+ * Size key for the date picker.
11
+ * Maps to the FieldSizeKey type: "sm", "md", or "lg".
12
+ */
3
13
  export type DatePickerSizeKey = FieldSizeKey;
14
+ /**
15
+ * Theme configuration options for the DatePicker component.
16
+ *
17
+ * Set under `components.datePicker` in the AsheeUI config. Values feed the
18
+ * component-level fallback tier of the theme cascade.
19
+ */
4
20
  export interface DatePickerConfig extends FieldConfig {
21
+ /**
22
+ * The selection mode of the picker.
23
+ * Controls whether the picker shows date, time, or both.
24
+ *
25
+ * @default "date"
26
+ */
5
27
  mode?: PickerMode;
6
28
  }
29
+ /**
30
+ * Default config values registered for the DatePicker component.
31
+ * Inherits field label defaults and sets the default mode to "date".
32
+ */
7
33
  export declare const defaultDatePickerConfig: DatePickerConfig;
34
+ /**
35
+ * Hard fallback values used when no config tier provides a value.
36
+ * These values are used when instance props, component config,
37
+ * and global defaults are all undefined.
38
+ */
8
39
  export declare const FALLBACK_DATE_PICKER_CONFIG: Required<DatePickerConfig>;
9
40
  declare module "../../libs/registry" {
10
41
  interface ComponentTypeConfigRegistry {
@@ -1 +1 @@
1
- {"version":3,"file":"date-picker-config.d.ts","sourceRoot":"","sources":["../../../src/components/date-picker/date-picker-config.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;AACtD,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAC;AAE7C,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACnD,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAED,eAAO,MAAM,uBAAuB,EAAE,gBAKrC,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAAC,gBAAgB,CASzD,CAAC;AAEX,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,2BAA2B;QACnC,UAAU,EAAE,gBAAgB,CAAC;KAC9B;CACF"}
1
+ {"version":3,"file":"date-picker-config.d.ts","sourceRoot":"","sources":["../../../src/components/date-picker/date-picker-config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,uBAAuB,CAAC;AAE/B;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;AAEtD;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACnD;;;;;OAKG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,gBAGrC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAAC,gBAAgB,CAGzD,CAAC;AAEX,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,2BAA2B;QACnC,UAAU,EAAE,gBAAgB,CAAC;KAC9B;CACF"}
@@ -1,23 +1,15 @@
1
1
  "use client";
2
2
  import { registerComponentDefaults as e } from "../../libs/registry.js";
3
- import { FALLBACK_FIELD_CONFIG as t } from "../field/field-config.js";
4
- const r = {
5
- size: "md",
6
- labelAlign: "left",
7
- mode: "date",
8
- variant: "bordered"
9
- }, d = {
3
+ import { FALLBACK_FIELD_CONFIG as t, defaultFieldConfig as o } from "../field/field-config.js";
4
+ const i = {
5
+ ...o,
6
+ mode: "date"
7
+ }, C = {
10
8
  ...t,
11
- size: "md",
12
- radius: "md",
13
- variant: "bordered",
14
- color: "primary",
15
- status: "default",
16
- labelAlign: "left",
17
9
  mode: "date"
18
10
  };
19
- e("datePicker", r);
11
+ e("datePicker", i);
20
12
  export {
21
- d as FALLBACK_DATE_PICKER_CONFIG,
22
- r as defaultDatePickerConfig
13
+ C as FALLBACK_DATE_PICKER_CONFIG,
14
+ i as defaultDatePickerConfig
23
15
  };
@@ -1,8 +1,28 @@
1
- import { Color } from '../../shared/variant';
1
+ import { Color } from '../../shared';
2
2
  import { FieldSizeKey, FieldStatus } from '../field/field-config';
3
+ /**
4
+ * CSS classes for date picker trigger size.
5
+ * Maps size keys to Tailwind classes that control the trigger's
6
+ * height, padding, and font size.
7
+ */
3
8
  export declare const DATE_PICKER_SIZE_CLASS: Record<FieldSizeKey, string>;
9
+ /**
10
+ * CSS classes for date picker calendar cell size.
11
+ * Maps size keys to Tailwind classes that control individual
12
+ * day cells in the calendar grid.
13
+ */
4
14
  export declare const DATE_PICKER_CELL_SIZE_CLASS: Record<FieldSizeKey, string>;
15
+ /**
16
+ * CSS classes for date picker status border styles.
17
+ * Maps status values to Tailwind classes for border and
18
+ * focus ring colors.
19
+ */
5
20
  export declare const DATE_PICKER_STATUS_BORDER_CLASS: Record<FieldStatus, string>;
21
+ /**
22
+ * CSS classes for calendar color variations.
23
+ * Maps color names to the corresponding background, text,
24
+ * border, and hover styles for calendar elements.
25
+ */
6
26
  export declare const CALENDAR_COLOR_CLASSES: Record<Color | string, {
7
27
  bg: string;
8
28
  text: string;
@@ -1 +1 @@
1
- {"version":3,"file":"date-picker-styles.d.ts","sourceRoot":"","sources":["../../../src/components/date-picker/date-picker-styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEvE,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAI/D,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAIpE,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAQvE,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,MAAM,CACzC,KAAK,GAAG,MAAM,EACd;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAsC5D,CAAC"}
1
+ {"version":3,"file":"date-picker-styles.d.ts","sourceRoot":"","sources":["../../../src/components/date-picker/date-picker-styles.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGvE;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAI/D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAIpE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAC7C,CAAC;AAE5B;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CACzC,KAAK,GAAG,MAAM,EACd;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAsC5D,CAAC"}
@@ -1,18 +1,14 @@
1
1
  "use client";
2
- const r = {
2
+ import { FIELD_STATUS_BORDER_CLASS as r } from "../field/field-styles.js";
3
+ const t = {
3
4
  sm: "h-8 px-2.5 text-xs",
4
5
  md: "h-10 px-3 text-sm",
5
6
  lg: "h-12 px-4 text-base"
6
- }, e = {
7
+ }, o = {
7
8
  sm: "size-7 text-xs",
8
9
  md: "size-8 text-xs",
9
10
  lg: "size-9 text-sm"
10
- }, o = {
11
- default: "",
12
- error: "border-danger focus-visible:border-danger focus-visible:ring-danger/20",
13
- warning: "border-warning focus-visible:border-warning focus-visible:ring-warning/20",
14
- success: "border-success focus-visible:border-success focus-visible:ring-success/20"
15
- }, s = {
11
+ }, g = r, s = {
16
12
  default: {
17
13
  bg: "bg-foreground text-background",
18
14
  text: "text-foreground",
@@ -52,7 +48,7 @@ const r = {
52
48
  };
53
49
  export {
54
50
  s as CALENDAR_COLOR_CLASSES,
55
- e as DATE_PICKER_CELL_SIZE_CLASS,
56
- r as DATE_PICKER_SIZE_CLASS,
57
- o as DATE_PICKER_STATUS_BORDER_CLASS
51
+ o as DATE_PICKER_CELL_SIZE_CLASS,
52
+ t as DATE_PICKER_SIZE_CLASS,
53
+ g as DATE_PICKER_STATUS_BORDER_CLASS
58
54
  };
@@ -1,16 +1,106 @@
1
1
  import { HTMLAttributes, ReactNode } from 'react';
2
- import { DrawerPlacement, DrawerSize } from './drawer-config';
3
- export interface DrawerProps extends HTMLAttributes<HTMLDivElement> {
2
+ import { DrawerConfig } from './drawer-config';
3
+ type BaseDrawerProps = DrawerConfig & HTMLAttributes<HTMLDivElement>;
4
+ /**
5
+ * Configuration options for the Drawer component.
6
+ */
7
+ export interface DrawerProps extends BaseDrawerProps {
8
+ /**
9
+ * Whether the drawer is open.
10
+ * Controls the visibility of the drawer.
11
+ */
4
12
  isOpen: boolean;
13
+ /**
14
+ * Callback fired when the drawer should close.
15
+ * Called when the overlay is clicked, Escape is pressed, or the close button is triggered.
16
+ */
5
17
  onClose?: () => void;
6
- placement?: DrawerPlacement;
7
- size?: DrawerSize;
8
- animated?: boolean;
9
- closeOnOverlayClick?: boolean;
10
- closeOnEsc?: boolean;
18
+ /**
19
+ * Extra classes applied to the overlay.
20
+ */
11
21
  overlayClassName?: string;
22
+ /**
23
+ * Extra classes applied to the drawer content.
24
+ */
12
25
  contentClassName?: string;
26
+ /**
27
+ * The content to display inside the drawer.
28
+ */
13
29
  children: ReactNode;
14
30
  }
31
+ /**
32
+ * A sliding panel that appears from the edge of the screen.
33
+ *
34
+ * Drawer displays content in a panel that slides in from the right, left,
35
+ * top, or bottom edge. It supports overlay click and Escape key dismissal,
36
+ * animation controls, and sizing options. Visual tokens resolve through
37
+ * the standard AsheeUI cascade: prop, component config, global theme
38
+ * defaults, and the built-in fallback.
39
+ *
40
+ * The component automatically handles accessibility attributes including
41
+ * role="dialog", aria-modal, and proper focus management. It manages
42
+ * its own animation states to prevent transition flashes.
43
+ *
44
+ * @param props - Drawer configuration options and HTML div props.
45
+ * @param props.isOpen - Whether the drawer is open.
46
+ * @param props.onClose - Callback fired when the drawer should close.
47
+ * @param props.placement - The placement of the drawer. Defaults to "right".
48
+ * @param props.size - The size of the drawer. Defaults to "md".
49
+ * @param props.animated - Whether the drawer has slide animations. Defaults to true.
50
+ * @param props.closeOnOverlayClick - Whether clicking the overlay closes the drawer. Defaults to true.
51
+ * @param props.closeOnEsc - Whether pressing Escape closes the drawer. Defaults to true.
52
+ * @param props.overlayClassName - Extra classes for the overlay.
53
+ * @param props.contentClassName - Extra classes for the drawer content.
54
+ * @param props.children - The content to display inside the drawer.
55
+ * @param props.className - Extra classes for the container.
56
+ *
57
+ * @example
58
+ * ```tsx
59
+ * import { Drawer, Button } from "asheeui";
60
+ * import { useState } from "react";
61
+ *
62
+ * export function Example() {
63
+ * const [isOpen, setIsOpen] = useState(false);
64
+ *
65
+ * return (
66
+ * <>
67
+ * <Button onClick={() => setIsOpen(true)}>Open Drawer</Button>
68
+ * <Drawer
69
+ * isOpen={isOpen}
70
+ * onClose={() => setIsOpen(false)}
71
+ * placement="right"
72
+ * size="md"
73
+ * >
74
+ * <div className="p-6">
75
+ * <h2 className="text-xl font-bold">Drawer Content</h2>
76
+ * <p>This is the drawer content.</p>
77
+ * <Button onClick={() => setIsOpen(false)}>Close</Button>
78
+ * </div>
79
+ * </Drawer>
80
+ * </>
81
+ * );
82
+ * }
83
+ * ```
84
+ *
85
+ * @example
86
+ * ```tsx
87
+ * // Bottom drawer with custom sizing
88
+ * <Drawer
89
+ * isOpen={isOpen}
90
+ * onClose={onClose}
91
+ * placement="bottom"
92
+ * size="full"
93
+ * overlayClassName="bg-black/50"
94
+ * >
95
+ * <div className="p-6 max-h-[80vh] overflow-y-auto">
96
+ * {content}
97
+ * </div>
98
+ * </Drawer>
99
+ * ```
100
+ *
101
+ * @see DrawerConfig - The configuration type for component defaults.
102
+ * @see useAsheeConfig - Hook for accessing the global configuration.
103
+ */
15
104
  export declare const Drawer: import('react').ForwardRefExoticComponent<DrawerProps & import('react').RefAttributes<HTMLDivElement>>;
105
+ export {};
16
106
  //# sourceMappingURL=Drawer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Drawer.d.ts","sourceRoot":"","sources":["../../../src/components/drawer/Drawer.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,SAAS,EAIf,MAAM,OAAO,CAAC;AAIf,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,UAAU,EAEhB,MAAM,iBAAiB,CAAC;AASzB,MAAM,WAAW,WAAY,SAAQ,cAAc,CAAC,cAAc,CAAC;IACjE,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,eAAO,MAAM,MAAM,wGAwLlB,CAAC"}
1
+ {"version":3,"file":"Drawer.d.ts","sourceRoot":"","sources":["../../../src/components/drawer/Drawer.tsx"],"names":[],"mappings":"AASA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,SAAS,EAIf,MAAM,OAAO,CAAC;AAIf,OAAO,EACL,KAAK,YAAY,EAIlB,MAAM,iBAAiB,CAAC;AASzB,KAAK,eAAe,GAAG,YAAY,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,eAAe;IAClD;;;OAGG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwEG;AACH,eAAO,MAAM,MAAM,wGAwLlB,CAAC"}
@@ -4,14 +4,14 @@ import { forwardRef as q, useState as V, useEffect as C, useCallback as J } from
4
4
  import { useAsheeConfig as Q } from "../../libs/context.js";
5
5
  import { resolveCascade as a, resolveClassKey as R } from "../../utils/resolve-token.js";
6
6
  import { FALLBACK_DRAWER_CONFIG as t } from "./drawer-config.js";
7
- import { DRAWER_WIDTH_CLASS as U, DRAWER_HEIGHT_CLASS as X, DRAWER_ANIMATION_STATE as Y, DRAWER_BORDER_PLACEMENT_CLASS as b, DRAWER_CONTAINER_PLACEMENT_CLASS as h } from "./drawer-styles.js";
7
+ import { DRAWER_WIDTH_CLASS as U, DRAWER_HEIGHT_CLASS as X, DRAWER_ANIMATION_STATE as Y, DRAWER_BORDER_PLACEMENT_CLASS as b, DRAWER_CONTAINER_PLACEMENT_CLASS as y } from "./drawer-styles.js";
8
8
  import { cn as d } from "../../utils/cn.js";
9
9
  const Z = q(
10
10
  ({
11
11
  isOpen: c,
12
12
  onClose: r,
13
- placement: y,
14
- size: N,
13
+ placement: N,
14
+ size: h,
15
15
  animated: O,
16
16
  closeOnOverlayClick: S,
17
17
  closeOnEsc: _,
@@ -40,12 +40,12 @@ const Z = q(
40
40
  }
41
41
  }, [c]);
42
42
  const m = a(
43
- N,
43
+ h,
44
44
  e == null ? void 0 : e.size,
45
45
  void 0,
46
46
  t.size
47
47
  ), n = a(
48
- y,
48
+ N,
49
49
  e == null ? void 0 : e.placement,
50
50
  void 0,
51
51
  t.placement
@@ -64,15 +64,15 @@ const Z = q(
64
64
  e == null ? void 0 : e.animated,
65
65
  void 0,
66
66
  t.animated
67
- ), g = k ?? "bg-black/70 backdrop-blur-md", F = D ?? "bg-secondary", v = n === "left" || n === "right", H = v ? R(
67
+ ), g = k ?? "bg-black/70 backdrop-blur-md", F = D ?? "bg-secondary", A = n === "left" || n === "right", H = A ? R(
68
68
  m,
69
69
  U,
70
70
  t.size
71
- ) : "w-full", K = v ? "h-full" : R(
71
+ ) : "w-full", K = A ? "h-full" : R(
72
72
  m,
73
73
  X,
74
74
  t.size
75
- ), P = h[n] ?? h.right, M = b[n] ?? b.right, A = Y[n], E = o === "open" || o === "opening", j = p ? E ? A.open : A.closed : "", B = p ? E ? "drawer-backdrop-in" : "drawer-backdrop-out" : "", i = J(
75
+ ), P = y[n] ?? y.right, M = b[n] ?? b.right, E = Y[n], v = o === "open" || o === "opening", j = p ? v ? E.open : E.closed : "", B = p ? v ? "drawer-backdrop-in" : "drawer-backdrop-out" : "", i = J(
76
76
  (s) => {
77
77
  u && s.key === "Escape" && r && r();
78
78
  },
@@ -111,7 +111,7 @@ const Z = q(
111
111
  {
112
112
  style: x,
113
113
  className: d(
114
- "relative z-10 flex flex-col text-foreground shadow-2xl border-border overflow-hidden",
114
+ "relative z-10 flex flex-col text-foreground shadow-2xl border-border",
115
115
  M,
116
116
  H,
117
117
  K,
@@ -1,14 +1,67 @@
1
- import { Size } from '../../shared/size';
1
+ import { Size } from '../../shared';
2
+ /**
3
+ * The placement of the drawer on the screen.
4
+ * - `right`: Slides in from the right edge.
5
+ * - `left`: Slides in from the left edge.
6
+ * - `top`: Slides in from the top edge.
7
+ * - `bottom`: Slides in from the bottom edge.
8
+ */
2
9
  export type DrawerPlacement = "right" | "left" | "top" | "bottom";
10
+ /**
11
+ * The size of the drawer.
12
+ * Can be "sm", "md", "lg", or "full" for full screen.
13
+ */
3
14
  export type DrawerSize = Size | "full";
15
+ /**
16
+ * Theme configuration options for the Drawer component.
17
+ *
18
+ * Set under `components.drawer` in the AsheeUI config. Values feed the
19
+ * component-level fallback tier of the theme cascade.
20
+ */
4
21
  export interface DrawerConfig {
22
+ /**
23
+ * The size of the drawer.
24
+ * Controls the width for left/right drawers and height for top/bottom drawers.
25
+ *
26
+ * @default "md"
27
+ */
5
28
  size?: DrawerSize;
29
+ /**
30
+ * The placement of the drawer.
31
+ * Determines which edge the drawer slides in from.
32
+ *
33
+ * @default "right"
34
+ */
6
35
  placement?: DrawerPlacement;
36
+ /**
37
+ * Whether the drawer has slide animations.
38
+ * When false, the drawer appears and disappears instantly.
39
+ *
40
+ * @default true
41
+ */
7
42
  animated?: boolean;
43
+ /**
44
+ * Whether clicking on the overlay closes the drawer.
45
+ *
46
+ * @default true
47
+ */
8
48
  closeOnOverlayClick?: boolean;
49
+ /**
50
+ * Whether pressing the Escape key closes the drawer.
51
+ *
52
+ * @default true
53
+ */
9
54
  closeOnEsc?: boolean;
10
55
  }
56
+ /**
57
+ * Default config values registered for the Drawer component.
58
+ */
11
59
  export declare const defaultDrawerConfig: DrawerConfig;
60
+ /**
61
+ * Hard fallback values used when no config tier provides a value.
62
+ * These values are used when instance props, component config,
63
+ * and global defaults are all undefined.
64
+ */
12
65
  export declare const FALLBACK_DRAWER_CONFIG: Required<DrawerConfig>;
13
66
  declare module "../../libs/registry" {
14
67
  interface ComponentTypeConfigRegistry {
@@ -1 +1 @@
1
- {"version":3,"file":"drawer-config.d.ts","sourceRoot":"","sources":["../../../src/components/drawer/drawer-config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE9C,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;AAClE,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,MAAM,CAAC;AAEvC,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,mBAAmB,EAAE,YAMjC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,YAAY,CAMhD,CAAC;AAEX,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,2BAA2B;QACnC,MAAM,EAAE,YAAY,CAAC;KACtB;CACF"}
1
+ {"version":3,"file":"drawer-config.d.ts","sourceRoot":"","sources":["../../../src/components/drawer/drawer-config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEzC;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;AAElE;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,MAAM,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC;IAE5B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,YAMjC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,YAAY,CAMhD,CAAC;AAEX,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,2BAA2B;QACnC,MAAM,EAAE,YAAY,CAAC;KACtB;CACF"}
@@ -1,8 +1,29 @@
1
1
  import { DrawerPlacement, DrawerSize } from './drawer-config';
2
+ /**
3
+ * CSS classes for drawer width based on size.
4
+ * Used for left and right placed drawers.
5
+ */
2
6
  export declare const DRAWER_WIDTH_CLASS: Record<DrawerSize, string>;
7
+ /**
8
+ * CSS classes for drawer height based on size.
9
+ * Used for top and bottom placed drawers.
10
+ */
3
11
  export declare const DRAWER_HEIGHT_CLASS: Record<DrawerSize, string>;
12
+ /**
13
+ * CSS classes for drawer container positioning.
14
+ * Controls the flex alignment of the container based on placement.
15
+ */
4
16
  export declare const DRAWER_CONTAINER_PLACEMENT_CLASS: Record<DrawerPlacement, string>;
17
+ /**
18
+ * CSS classes for drawer border placement.
19
+ * Adds a border on the side where the drawer opens from.
20
+ */
5
21
  export declare const DRAWER_BORDER_PLACEMENT_CLASS: Record<DrawerPlacement, string>;
22
+ /**
23
+ * CSS classes for drawer slide animations.
24
+ * Each placement has its own open and closed animation states.
25
+ * These classes should be defined in your global CSS with keyframe animations.
26
+ */
6
27
  export declare const DRAWER_ANIMATION_STATE: Record<DrawerPlacement, {
7
28
  closed: string;
8
29
  open: string;
@@ -1 +1 @@
1
- {"version":3,"file":"drawer-styles.d.ts","sourceRoot":"","sources":["../../../src/components/drawer/drawer-styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEnE,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAKzD,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAK1D,CAAC;AAEF,eAAO,MAAM,gCAAgC,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAM1E,CAAC;AAEJ,eAAO,MAAM,6BAA6B,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAKzE,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,MAAM,CACzC,eAAe,EACf;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAkBjC,CAAC"}
1
+ {"version":3,"file":"drawer-styles.d.ts","sourceRoot":"","sources":["../../../src/components/drawer/drawer-styles.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEnE;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAKzD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAK1D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gCAAgC,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAM1E,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,6BAA6B,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAKzE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CACzC,eAAe,EACf;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAkBjC,CAAC"}
@@ -1,17 +1,103 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { FieldStatus, LabelAlign } from './field-config';
3
+ /**
4
+ * Props for the FieldShell component.
5
+ * Provides a consistent wrapper for form field components.
6
+ */
3
7
  export interface FieldShellProps {
8
+ /**
9
+ * The ID of the field.
10
+ * Used to associate the label with the input via htmlFor.
11
+ */
4
12
  id: string;
13
+ /**
14
+ * The label text for the field.
15
+ */
5
16
  label?: string;
17
+ /**
18
+ * Alignment of the label relative to the field.
19
+ * @default "left"
20
+ */
6
21
  labelAlign?: LabelAlign;
22
+ /**
23
+ * Description text shown below the label.
24
+ */
7
25
  description?: string;
26
+ /**
27
+ * Optional ID for the description element.
28
+ * Used for accessibility to associate with the field.
29
+ */
8
30
  descriptionId?: string;
31
+ /**
32
+ * Validation message shown below the field.
33
+ */
9
34
  message?: string;
35
+ /**
36
+ * Optional ID for the message element.
37
+ * Used for accessibility to associate with the field.
38
+ */
10
39
  messageId?: string;
40
+ /**
41
+ * Validation status of the field.
42
+ * Controls the color of the message text.
43
+ * @default "default"
44
+ */
11
45
  status?: FieldStatus;
46
+ /**
47
+ * Whether the field is required.
48
+ * Adds a required indicator (*) to the label.
49
+ * @default false
50
+ */
12
51
  required?: boolean;
52
+ /**
53
+ * Whether the field is in a loading state.
54
+ * Shows a loading spinner next to the label.
55
+ * @default false
56
+ */
13
57
  isLoading?: boolean;
58
+ /**
59
+ * The field content to render.
60
+ * Typically an input, select, or other form control.
61
+ */
14
62
  children: ReactNode;
15
63
  }
64
+ /**
65
+ * A wrapper component for form fields that provides consistent
66
+ * label, description, status message, and loading state handling.
67
+ *
68
+ * FieldShell is used internally by AsheeUI form components to ensure
69
+ * a uniform layout and behavior across the library. It automatically
70
+ * handles accessibility associations between labels, descriptions,
71
+ * status messages, and the field element.
72
+ *
73
+ * @param props - FieldShell configuration options.
74
+ * @param props.id - The ID of the field.
75
+ * @param props.label - The label text for the field.
76
+ * @param props.labelAlign - Alignment of the label. Defaults to "left".
77
+ * @param props.description - Description text shown below the label.
78
+ * @param props.descriptionId - Optional ID for the description element.
79
+ * @param props.message - Validation message shown below the field.
80
+ * @param props.messageId - Optional ID for the message element.
81
+ * @param props.status - Validation status. Defaults to "default".
82
+ * @param props.required - Whether the field is required. Defaults to false.
83
+ * @param props.isLoading - Whether the field is in a loading state. Defaults to false.
84
+ * @param props.children - The field content to render.
85
+ *
86
+ * @example
87
+ * ```tsx
88
+ * <FieldShell
89
+ * id="email"
90
+ * label="Email Address"
91
+ * description="We'll never share your email."
92
+ * message="Please enter a valid email"
93
+ * status="error"
94
+ * required
95
+ * >
96
+ * <input id="email" type="email" />
97
+ * </FieldShell>
98
+ * ```
99
+ *
100
+ * @see FieldConfig - The configuration type for field components.
101
+ */
16
102
  export declare function FieldShell({ id, label, labelAlign, description, descriptionId, message, messageId, status, required, isLoading, children, }: FieldShellProps): import("react").JSX.Element;
17
103
  //# sourceMappingURL=FieldShell.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FieldShell.d.ts","sourceRoot":"","sources":["../../../src/components/field/FieldShell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAc9D,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,UAAU,CAAC,EACzB,EAAE,EACF,KAAK,EACL,UAAmB,EACnB,WAAW,EACX,aAAa,EACb,OAAO,EACP,SAAS,EACT,MAAkB,EAClB,QAAQ,EACR,SAAS,EACT,QAAQ,GACT,EAAE,eAAe,+BAqCjB"}
1
+ {"version":3,"file":"FieldShell.d.ts","sourceRoot":"","sources":["../../../src/components/field/FieldShell.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAuB9D;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAgB,UAAU,CAAC,EACzB,EAAE,EACF,KAAK,EACL,UAAmB,EACnB,WAAW,EACX,aAAa,EACb,OAAO,EACP,SAAS,EACT,MAAkB,EAClB,QAAQ,EACR,SAAS,EACT,QAAQ,GACT,EAAE,eAAe,+BAqCjB"}
@@ -1,19 +1,82 @@
1
- import { Radius } from '../../shared/radius';
2
- import { Size } from '../../shared/size';
3
- import { Color, Variant } from '../../shared/variant';
1
+ import { Color, Radius, Size, Variant } from '../../shared';
2
+ /**
3
+ * Size key for field components.
4
+ * Maps to the standard Size type: "sm", "md", or "lg".
5
+ */
4
6
  export type FieldSizeKey = Size;
7
+ /**
8
+ * Validation status of a field.
9
+ * Controls visual feedback for different states.
10
+ */
5
11
  export type FieldStatus = "default" | "error" | "warning" | "success";
12
+ /**
13
+ * Alignment of the label relative to the field.
14
+ * Controls text alignment of the label element.
15
+ */
6
16
  export type LabelAlign = "left" | "center" | "right";
17
+ /**
18
+ * Theme configuration options shared by form field components.
19
+ *
20
+ * Set under `components.field` in the AsheeUI config. Values feed the
21
+ * component-level fallback tier of the theme cascade. Individual
22
+ * components may extend this interface with their own properties.
23
+ */
7
24
  export interface FieldConfig {
25
+ /**
26
+ * Size of the field.
27
+ * Controls the height, padding, and font size.
28
+ *
29
+ * @default "md"
30
+ */
8
31
  size?: FieldSizeKey;
32
+ /**
33
+ * Corner rounding of the field.
34
+ *
35
+ * @default "md"
36
+ */
9
37
  radius?: Radius;
38
+ /**
39
+ * Visual style variant of the field.
40
+ *
41
+ * @default "bordered"
42
+ */
10
43
  variant?: Variant;
44
+ /**
45
+ * Theme accent color of the field.
46
+ *
47
+ * @default "primary"
48
+ */
11
49
  color?: Color;
50
+ /**
51
+ * Alignment of the label relative to the field.
52
+ *
53
+ * @default "left"
54
+ */
12
55
  labelAlign?: LabelAlign;
56
+ /**
57
+ * Whether the field should stretch to fill its parent width.
58
+ *
59
+ * @default false
60
+ */
13
61
  fullWidth?: boolean;
62
+ /**
63
+ * Validation status of the field.
64
+ * Controls border color and message styling.
65
+ *
66
+ * @default "default"
67
+ */
14
68
  status?: FieldStatus;
15
69
  }
70
+ /**
71
+ * Default config values registered for field components.
72
+ * These values are used as the base defaults for all field components.
73
+ */
16
74
  export declare const defaultFieldConfig: FieldConfig;
75
+ /**
76
+ * Hard fallback values used when no config tier provides a value.
77
+ * These values are used when instance props, component config,
78
+ * and global defaults are all undefined.
79
+ */
17
80
  export declare const FALLBACK_FIELD_CONFIG: Required<FieldConfig>;
18
81
  declare module "../../libs/registry" {
19
82
  interface ComponentTypeConfigRegistry {
@@ -1 +1 @@
1
- {"version":3,"file":"field-config.d.ts","sourceRoot":"","sources":["../../../src/components/field/field-config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC;AAChC,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AACtE,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAErD,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,eAAO,MAAM,kBAAkB,EAAE,WAIhC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,WAAW,CAQ9C,CAAC;AAEX,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,2BAA2B;QACnC,KAAK,EAAE,WAAW,CAAC;KACpB;CACF"}
1
+ {"version":3,"file":"field-config.d.ts","sourceRoot":"","sources":["../../../src/components/field/field-config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEjE;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC;AAEhC;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAEtE;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAErD;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;OAKG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;IAEpB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;OAIG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IAEd;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAKhC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,WAAW,CAQ9C,CAAC;AAEX,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,2BAA2B;QACnC,KAAK,EAAE,WAAW,CAAC;KACpB;CACF"}
@@ -3,7 +3,8 @@ import { registerComponentDefaults as e } from "../../libs/registry.js";
3
3
  const l = {
4
4
  size: "md",
5
5
  labelAlign: "left",
6
- fullWidth: !1
6
+ fullWidth: !1,
7
+ variant: "bordered"
7
8
  }, i = {
8
9
  size: "md",
9
10
  radius: "md",