asheeui 0.6.15 → 1.0.0

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 (389) hide show
  1. package/dist/AsheeUIProvider.d.ts.map +1 -1
  2. package/dist/AsheeUIProvider.js +29 -24
  3. package/dist/components/accordion/Accordion.d.ts.map +1 -1
  4. package/dist/components/accordion/Accordion.js +81 -173
  5. package/dist/components/accordion/accordion-config.js +12 -13
  6. package/dist/components/accordion/accordion-styles.js +21 -24
  7. package/dist/components/alert/Alert.d.ts +88 -0
  8. package/dist/components/alert/Alert.d.ts.map +1 -0
  9. package/dist/components/alert/Alert.js +61 -0
  10. package/dist/components/alert/alert-config.d.ts +56 -0
  11. package/dist/components/alert/alert-config.d.ts.map +1 -0
  12. package/dist/components/alert/alert-config.js +14 -0
  13. package/dist/components/alert/alert-styles.d.ts +32 -0
  14. package/dist/components/alert/alert-styles.d.ts.map +1 -0
  15. package/dist/components/alert/alert-styles.js +20 -0
  16. package/dist/components/alert/index.d.ts +3 -0
  17. package/dist/components/alert/index.d.ts.map +1 -0
  18. package/dist/components/alert/index.js +3 -0
  19. package/dist/components/autocomplete/Autocomplete.d.ts +6 -6
  20. package/dist/components/autocomplete/Autocomplete.d.ts.map +1 -1
  21. package/dist/components/autocomplete/Autocomplete.js +114 -136
  22. package/dist/components/autocomplete/autocomplete-config.d.ts +1 -1
  23. package/dist/components/autocomplete/autocomplete-config.d.ts.map +1 -1
  24. package/dist/components/autocomplete/autocomplete-config.js +7 -12
  25. package/dist/components/avatar/Avatar.d.ts +87 -0
  26. package/dist/components/avatar/Avatar.d.ts.map +1 -0
  27. package/dist/components/avatar/Avatar.js +43 -0
  28. package/dist/components/avatar/avatar-config.d.ts +48 -0
  29. package/dist/components/avatar/avatar-config.d.ts.map +1 -0
  30. package/dist/components/avatar/avatar-config.js +14 -0
  31. package/dist/components/avatar/avatar-styles.d.ts +21 -0
  32. package/dist/components/avatar/avatar-styles.d.ts.map +1 -0
  33. package/dist/components/avatar/avatar-styles.js +13 -0
  34. package/dist/components/avatar/avatar.helpers.d.ts +19 -0
  35. package/dist/components/avatar/avatar.helpers.d.ts.map +1 -0
  36. package/dist/components/avatar/avatar.helpers.js +11 -0
  37. package/dist/components/avatar/index.d.ts +3 -0
  38. package/dist/components/avatar/index.d.ts.map +1 -0
  39. package/dist/components/avatar/index.js +4 -0
  40. package/dist/components/badge/Badge.d.ts +69 -0
  41. package/dist/components/badge/Badge.d.ts.map +1 -0
  42. package/dist/components/badge/Badge.js +39 -0
  43. package/dist/components/badge/badge-config.d.ts +63 -0
  44. package/dist/components/badge/badge-config.d.ts.map +1 -0
  45. package/dist/components/badge/badge-config.js +15 -0
  46. package/dist/components/badge/badge-styles.d.ts +27 -0
  47. package/dist/components/badge/badge-styles.d.ts.map +1 -0
  48. package/dist/components/badge/badge-styles.js +25 -0
  49. package/dist/components/badge/index.d.ts +3 -0
  50. package/dist/components/badge/index.d.ts.map +1 -0
  51. package/dist/components/badge/index.js +3 -0
  52. package/dist/components/breadcrumb/Breadcrumb.d.ts +106 -0
  53. package/dist/components/breadcrumb/Breadcrumb.d.ts.map +1 -0
  54. package/dist/components/breadcrumb/Breadcrumb.js +52 -0
  55. package/dist/components/breadcrumb/breadcrumb-config.d.ts +41 -0
  56. package/dist/components/breadcrumb/breadcrumb-config.d.ts.map +1 -0
  57. package/dist/components/breadcrumb/breadcrumb-config.js +10 -0
  58. package/dist/components/breadcrumb/breadcrumb-styles.d.ts +28 -0
  59. package/dist/components/breadcrumb/breadcrumb-styles.d.ts.map +1 -0
  60. package/dist/components/breadcrumb/breadcrumb-styles.js +17 -0
  61. package/dist/components/breadcrumb/index.d.ts +3 -0
  62. package/dist/components/breadcrumb/index.d.ts.map +1 -0
  63. package/dist/components/breadcrumb/index.js +3 -0
  64. package/dist/components/button/Button.d.ts +29 -1
  65. package/dist/components/button/Button.d.ts.map +1 -1
  66. package/dist/components/button/Button.js +50 -108
  67. package/dist/components/button/button-config.js +16 -17
  68. package/dist/components/button/button-styles.js +10 -11
  69. package/dist/components/{date-picker/DatePicker.d.ts → calendar/Calendar.d.ts} +22 -22
  70. package/dist/components/calendar/Calendar.d.ts.map +1 -0
  71. package/dist/components/calendar/Calendar.js +123 -0
  72. package/dist/components/{date-picker/Calendar.d.ts → calendar/DateGrid.d.ts} +7 -7
  73. package/dist/components/calendar/DateGrid.d.ts.map +1 -0
  74. package/dist/components/calendar/DateGrid.js +194 -0
  75. package/dist/components/calendar/TimeSpinner.d.ts.map +1 -0
  76. package/dist/components/calendar/TimeSpinner.js +60 -0
  77. package/dist/components/{date-picker/date-picker-config.d.ts → calendar/calendar-config.d.ts} +17 -17
  78. package/dist/components/calendar/calendar-config.d.ts.map +1 -0
  79. package/dist/components/calendar/calendar-config.js +15 -0
  80. package/dist/components/{date-picker/date-picker-styles.d.ts → calendar/calendar-styles.d.ts} +1 -1
  81. package/dist/components/calendar/calendar-styles.d.ts.map +1 -0
  82. package/dist/components/calendar/calendar-styles.js +46 -0
  83. package/dist/components/{date-picker/date-picker.helpers.d.ts → calendar/calendar.helpers.d.ts} +9 -9
  84. package/dist/components/calendar/calendar.helpers.d.ts.map +1 -0
  85. package/dist/components/calendar/calendar.helpers.js +82 -0
  86. package/dist/components/calendar/index.d.ts +3 -0
  87. package/dist/components/calendar/index.d.ts.map +1 -0
  88. package/dist/components/calendar/index.js +6 -0
  89. package/dist/components/card/Card.d.ts +36 -16
  90. package/dist/components/card/Card.d.ts.map +1 -1
  91. package/dist/components/card/Card.js +115 -205
  92. package/dist/components/card/card-config.js +24 -21
  93. package/dist/components/card/card-styles.js +19 -22
  94. package/dist/components/carousel/Carousel.d.ts.map +1 -1
  95. package/dist/components/carousel/Carousel.js +125 -248
  96. package/dist/components/carousel/carousel-config.js +24 -25
  97. package/dist/components/carousel/carousel-styles.d.ts +1 -20
  98. package/dist/components/carousel/carousel-styles.d.ts.map +1 -1
  99. package/dist/components/carousel/carousel-styles.js +14 -16
  100. package/dist/components/chip/Chip.js +84 -191
  101. package/dist/components/chip/chip-config.js +13 -14
  102. package/dist/components/chip/chip-styles.js +22 -26
  103. package/dist/components/drawer/Drawer.d.ts +33 -11
  104. package/dist/components/drawer/Drawer.d.ts.map +1 -1
  105. package/dist/components/drawer/Drawer.js +70 -131
  106. package/dist/components/drawer/drawer-config.js +14 -15
  107. package/dist/components/drawer/drawer-styles.js +38 -42
  108. package/dist/components/{select/Select.d.ts → dropmenu/Dropmenu.d.ts} +22 -21
  109. package/dist/components/dropmenu/Dropmenu.d.ts.map +1 -0
  110. package/dist/components/dropmenu/Dropmenu.js +102 -0
  111. package/dist/components/{select/select-config.d.ts → dropmenu/dropmenu-config.d.ts} +8 -8
  112. package/dist/components/dropmenu/dropmenu-config.d.ts.map +1 -0
  113. package/dist/components/dropmenu/dropmenu-config.js +9 -0
  114. package/dist/components/{select/select-styles.d.ts → dropmenu/dropmenu-styles.d.ts} +1 -1
  115. package/dist/components/dropmenu/dropmenu-styles.d.ts.map +1 -0
  116. package/dist/components/dropmenu/dropmenu-styles.js +6 -0
  117. package/dist/components/dropmenu/index.d.ts +3 -0
  118. package/dist/components/dropmenu/index.d.ts.map +1 -0
  119. package/dist/components/dropmenu/index.js +3 -0
  120. package/dist/components/field/FieldShell.d.ts +13 -1
  121. package/dist/components/field/FieldShell.d.ts.map +1 -1
  122. package/dist/components/field/FieldShell.js +50 -56
  123. package/dist/components/field/field-config.js +17 -18
  124. package/dist/components/field/field-styles.js +8 -8
  125. package/dist/components/form/Form.d.ts +109 -0
  126. package/dist/components/form/Form.d.ts.map +1 -0
  127. package/dist/components/form/Form.js +42 -0
  128. package/dist/components/form/form-config.d.ts +57 -0
  129. package/dist/components/form/form-config.d.ts.map +1 -0
  130. package/dist/components/form/form-config.js +12 -0
  131. package/dist/components/form/form-styles.d.ts +27 -0
  132. package/dist/components/form/form-styles.d.ts.map +1 -0
  133. package/dist/components/form/form-styles.js +5 -0
  134. package/dist/components/form/index.d.ts +3 -0
  135. package/dist/components/form/index.d.ts.map +1 -0
  136. package/dist/components/form/index.js +3 -0
  137. package/dist/components/image/Image.d.ts +8 -9
  138. package/dist/components/image/Image.d.ts.map +1 -1
  139. package/dist/components/image/Image.js +65 -132
  140. package/dist/components/image/image-config.js +17 -18
  141. package/dist/components/image/image-styles.js +14 -15
  142. package/dist/components/input/Input.js +65 -150
  143. package/dist/components/input/PasswordInput.js +30 -49
  144. package/dist/components/input/input-config.js +7 -7
  145. package/dist/components/input/input-styles.js +9 -10
  146. package/dist/components/keyboard/KeyboardContext.js +10 -11
  147. package/dist/components/keyboard/KeyboardProvider.js +100 -181
  148. package/dist/components/keyboard/OnScreenKeyboard.d.ts.map +1 -1
  149. package/dist/components/keyboard/OnScreenKeyboard.js +159 -166
  150. package/dist/components/keyboard/keyboard-config.js +59 -57
  151. package/dist/components/keyboard/keyboard-styles.js +10 -11
  152. package/dist/components/keyboard/use-keyboard-field.js +29 -21
  153. package/dist/components/link/Link.d.ts +12 -10
  154. package/dist/components/link/Link.d.ts.map +1 -1
  155. package/dist/components/link/Link.js +47 -137
  156. package/dist/components/link/link-config.js +14 -15
  157. package/dist/components/link/link-styles.js +25 -29
  158. package/dist/components/marquee/Marquee.d.ts.map +1 -1
  159. package/dist/components/marquee/Marquee.js +58 -144
  160. package/dist/components/marquee/marquee-config.js +18 -19
  161. package/dist/components/marquee/marquee-styles.js +13 -15
  162. package/dist/components/{select-menu/SelectMenu.d.ts → menu/Menu.d.ts} +52 -19
  163. package/dist/components/menu/Menu.d.ts.map +1 -0
  164. package/dist/components/menu/Menu.js +161 -0
  165. package/dist/components/menu/index.d.ts +5 -0
  166. package/dist/components/menu/index.d.ts.map +1 -0
  167. package/dist/components/menu/index.js +4 -0
  168. package/dist/components/{select-menu/select-menu-config.d.ts → menu/menu-config.d.ts} +5 -5
  169. package/dist/components/menu/menu-config.d.ts.map +1 -0
  170. package/dist/components/menu/menu-config.js +14 -0
  171. package/dist/components/menu/menu-navigation.d.ts +38 -0
  172. package/dist/components/menu/menu-navigation.d.ts.map +1 -0
  173. package/dist/components/menu/menu-navigation.js +20 -0
  174. package/dist/components/{select-menu/use-select-floating.d.ts → menu/use-menu-floating.d.ts} +20 -10
  175. package/dist/components/menu/use-menu-floating.d.ts.map +1 -0
  176. package/dist/components/menu/use-menu-floating.js +43 -0
  177. package/dist/components/modal/Modal.d.ts +32 -11
  178. package/dist/components/modal/Modal.d.ts.map +1 -1
  179. package/dist/components/modal/Modal.js +74 -137
  180. package/dist/components/modal/modal-config.js +15 -16
  181. package/dist/components/modal/modal-styles.js +13 -14
  182. package/dist/components/multi-select/MultiSelect.d.ts +29 -12
  183. package/dist/components/multi-select/MultiSelect.d.ts.map +1 -1
  184. package/dist/components/multi-select/MultiSelect.js +162 -283
  185. package/dist/components/multi-select/multi-select-config.d.ts +24 -19
  186. package/dist/components/multi-select/multi-select-config.d.ts.map +1 -1
  187. package/dist/components/multi-select/multi-select-config.js +18 -21
  188. package/dist/components/multi-select/multi-select-styles.js +17 -20
  189. package/dist/components/pagination/Pagination.d.ts +91 -0
  190. package/dist/components/pagination/Pagination.d.ts.map +1 -0
  191. package/dist/components/pagination/Pagination.js +66 -0
  192. package/dist/components/pagination/index.d.ts +3 -0
  193. package/dist/components/pagination/index.d.ts.map +1 -0
  194. package/dist/components/pagination/index.js +4 -0
  195. package/dist/components/pagination/pagination-config.d.ts +66 -0
  196. package/dist/components/pagination/pagination-config.d.ts.map +1 -0
  197. package/dist/components/pagination/pagination-config.js +19 -0
  198. package/dist/components/pagination/pagination-styles.d.ts +19 -0
  199. package/dist/components/pagination/pagination-styles.d.ts.map +1 -0
  200. package/dist/components/pagination/pagination-styles.js +5 -0
  201. package/dist/components/pagination/pagination.helpers.d.ts +26 -0
  202. package/dist/components/pagination/pagination.helpers.d.ts.map +1 -0
  203. package/dist/components/pagination/pagination.helpers.js +12 -0
  204. package/dist/components/radio/Radio.d.ts +53 -107
  205. package/dist/components/radio/Radio.d.ts.map +1 -1
  206. package/dist/components/radio/Radio.js +56 -79
  207. package/dist/components/radio/RadioGroup.d.ts +107 -53
  208. package/dist/components/radio/RadioGroup.d.ts.map +1 -1
  209. package/dist/components/radio/RadioGroup.js +51 -155
  210. package/dist/components/radio/index.d.ts +0 -1
  211. package/dist/components/radio/index.d.ts.map +1 -1
  212. package/dist/components/radio/radio-config.js +15 -16
  213. package/dist/components/radio/radio-context.js +6 -6
  214. package/dist/components/radio/radio-styles.js +55 -60
  215. package/dist/components/resizable-screen/ResizableScreen.d.ts +4 -4
  216. package/dist/components/resizable-screen/ResizableScreen.js +87 -177
  217. package/dist/components/resizable-screen/resizable-screen-config.js +16 -17
  218. package/dist/components/scrollbar/index.js +1 -0
  219. package/dist/components/scrollbar/scrollbar-config.js +13 -0
  220. package/dist/components/sidebar/Sidebar.d.ts +43 -22
  221. package/dist/components/sidebar/Sidebar.d.ts.map +1 -1
  222. package/dist/components/sidebar/Sidebar.js +148 -331
  223. package/dist/components/sidebar/sidebar-config.d.ts +98 -31
  224. package/dist/components/sidebar/sidebar-config.d.ts.map +1 -1
  225. package/dist/components/sidebar/sidebar-config.js +47 -33
  226. package/dist/components/sidebar/sidebar-styles.js +27 -32
  227. package/dist/components/skeleton/Skeleton.d.ts +65 -0
  228. package/dist/components/skeleton/Skeleton.d.ts.map +1 -0
  229. package/dist/components/skeleton/Skeleton.js +29 -0
  230. package/dist/components/skeleton/index.d.ts +3 -0
  231. package/dist/components/skeleton/index.d.ts.map +1 -0
  232. package/dist/components/skeleton/index.js +3 -0
  233. package/dist/components/skeleton/skeleton-config.d.ts +40 -0
  234. package/dist/components/skeleton/skeleton-config.d.ts.map +1 -0
  235. package/dist/components/skeleton/skeleton-config.js +13 -0
  236. package/dist/components/skeleton/skeleton-styles.d.ts +19 -0
  237. package/dist/components/skeleton/skeleton-styles.d.ts.map +1 -0
  238. package/dist/components/skeleton/skeleton-styles.js +5 -0
  239. package/dist/components/spinner/spinner-config.js +12 -13
  240. package/dist/components/spinner/spinner-styles.js +13 -14
  241. package/dist/components/spinner/spinner.js +39 -82
  242. package/dist/components/switch/Switch.d.ts.map +1 -1
  243. package/dist/components/switch/Switch.js +64 -154
  244. package/dist/components/switch/switch-config.js +11 -12
  245. package/dist/components/switch/switch-styles.js +14 -16
  246. package/dist/components/table/Table.js +64 -186
  247. package/dist/components/table/table-config.js +17 -18
  248. package/dist/components/table/table-styles.js +48 -52
  249. package/dist/components/tabs/Tabs.d.ts +16 -8
  250. package/dist/components/tabs/Tabs.d.ts.map +1 -1
  251. package/dist/components/tabs/Tabs.js +93 -208
  252. package/dist/components/tabs/tabs-config.d.ts +42 -20
  253. package/dist/components/tabs/tabs-config.d.ts.map +1 -1
  254. package/dist/components/tabs/tabs-config.js +26 -18
  255. package/dist/components/tabs/tabs-styles.js +15 -17
  256. package/dist/components/textarea/Textarea.d.ts +10 -10
  257. package/dist/components/textarea/Textarea.js +52 -138
  258. package/dist/components/textarea/textarea-config.d.ts +2 -2
  259. package/dist/components/textarea/textarea-config.js +10 -11
  260. package/dist/components/textarea/textarea-styles.js +9 -10
  261. package/dist/components/toast/ToastContext.js +22 -26
  262. package/dist/components/toast/ToastItem.d.ts.map +1 -1
  263. package/dist/components/toast/ToastItem.js +83 -144
  264. package/dist/components/toast/ToastProvider.d.ts.map +1 -1
  265. package/dist/components/toast/ToastProvider.js +128 -190
  266. package/dist/components/toast/toast-config.js +23 -24
  267. package/dist/components/toast/toast-styles.js +50 -55
  268. package/dist/components/toast/use-pausable-timeout.js +17 -13
  269. package/dist/components/tooltip/Tooltip.d.ts +5 -0
  270. package/dist/components/tooltip/Tooltip.d.ts.map +1 -1
  271. package/dist/components/tooltip/Tooltip.js +68 -158
  272. package/dist/components/tooltip/tooltip-config.d.ts +25 -0
  273. package/dist/components/tooltip/tooltip-config.d.ts.map +1 -1
  274. package/dist/components/tooltip/tooltip-config.js +26 -22
  275. package/dist/components/tooltip/tooltip-styles.js +15 -17
  276. package/dist/components/typography/Typography.d.ts +60 -0
  277. package/dist/components/typography/Typography.d.ts.map +1 -0
  278. package/dist/components/typography/Typography.js +28 -0
  279. package/dist/components/typography/index.d.ts +3 -0
  280. package/dist/components/typography/index.d.ts.map +1 -0
  281. package/dist/components/typography/index.js +3 -0
  282. package/dist/components/typography/typography-config.d.ts +54 -0
  283. package/dist/components/typography/typography-config.d.ts.map +1 -0
  284. package/dist/components/typography/typography-config.js +12 -0
  285. package/dist/components/typography/typography-styles.d.ts +21 -0
  286. package/dist/components/typography/typography-styles.d.ts.map +1 -0
  287. package/dist/components/typography/typography-styles.js +19 -0
  288. package/dist/config/default-config.d.ts.map +1 -1
  289. package/dist/config/default-config.js +11 -34
  290. package/dist/config/index.js +1 -0
  291. package/dist/config/resolve-color.js +23 -23
  292. package/dist/config/resolve-config.d.ts.map +1 -1
  293. package/dist/config/resolve-config.js +14 -12
  294. package/dist/config/validate-config.d.ts +34 -0
  295. package/dist/config/validate-config.d.ts.map +1 -0
  296. package/dist/config/validate-config.js +190 -0
  297. package/dist/icons/ArrowLeftIcon.js +16 -19
  298. package/dist/icons/CalendarIcon.js +43 -24
  299. package/dist/icons/CheckIcon.js +16 -19
  300. package/dist/icons/ChevronDownIcon.js +15 -21
  301. package/dist/icons/ChevronLeftIcon.js +16 -19
  302. package/dist/icons/ChevronRightIcon.js +16 -19
  303. package/dist/icons/ChevronUpIcon.js +16 -19
  304. package/dist/icons/ClearIcon.js +26 -22
  305. package/dist/icons/ClockIcon.js +20 -22
  306. package/dist/icons/CloseIcon.js +26 -22
  307. package/dist/icons/ErrorIcon.js +16 -19
  308. package/dist/icons/ExternalLinkIcon.js +25 -23
  309. package/dist/icons/EyeIcon.js +20 -22
  310. package/dist/icons/EyeOffIcon.js +21 -22
  311. package/dist/icons/InfoIcon.js +16 -19
  312. package/dist/icons/SearchIcon.js +25 -22
  313. package/dist/icons/WarningIcon.js +16 -19
  314. package/dist/index.d.ts +15 -17
  315. package/dist/index.d.ts.map +1 -1
  316. package/dist/index.js +79 -163
  317. package/dist/libs/context.js +10 -13
  318. package/dist/libs/index.js +4 -0
  319. package/dist/libs/registry.js +10 -12
  320. package/dist/libs/use-body-scroll-lock.d.ts +21 -0
  321. package/dist/libs/use-body-scroll-lock.d.ts.map +1 -0
  322. package/dist/libs/use-body-scroll-lock.js +27 -0
  323. package/dist/libs/use-dialog-overlay.d.ts +21 -0
  324. package/dist/libs/use-dialog-overlay.d.ts.map +1 -0
  325. package/dist/libs/use-dialog-overlay.js +21 -0
  326. package/dist/libs/use-floating-z-index.d.ts +32 -0
  327. package/dist/libs/use-floating-z-index.d.ts.map +1 -0
  328. package/dist/libs/use-floating-z-index.js +16 -0
  329. package/dist/libs/use-isomorphic-layout-effect.js +5 -5
  330. package/dist/libs/use-prefers-reduced-motion.d.ts +23 -0
  331. package/dist/libs/use-prefers-reduced-motion.d.ts.map +1 -0
  332. package/dist/libs/use-prefers-reduced-motion.js +19 -0
  333. package/dist/scripts/AsheeThemeScript.js +70 -44
  334. package/dist/shared/index.d.ts +1 -0
  335. package/dist/shared/index.d.ts.map +1 -1
  336. package/dist/shared/radius.d.ts.map +1 -1
  337. package/dist/shared/radius.js +12 -13
  338. package/dist/shared/typography.d.ts +81 -0
  339. package/dist/shared/typography.d.ts.map +1 -0
  340. package/dist/shared/typography.js +137 -0
  341. package/dist/shared/variant.js +46 -134
  342. package/dist/theme/color.js +28 -28
  343. package/dist/theme/controller.d.ts.map +1 -1
  344. package/dist/theme/controller.js +65 -178
  345. package/dist/theme/useTheme.js +13 -44
  346. package/dist/utils/cn.js +7 -7
  347. package/dist/utils/index.d.ts +1 -0
  348. package/dist/utils/index.d.ts.map +1 -1
  349. package/dist/utils/index.js +1 -0
  350. package/dist/utils/merge-object.js +13 -14
  351. package/dist/utils/resolve-token.js +11 -14
  352. package/dist/utils/stacking.d.ts +76 -0
  353. package/dist/utils/stacking.d.ts.map +1 -0
  354. package/dist/utils/stacking.js +34 -0
  355. package/package.json +22 -14
  356. package/dist/components/date-picker/Calendar.d.ts.map +0 -1
  357. package/dist/components/date-picker/Calendar.js +0 -224
  358. package/dist/components/date-picker/DatePicker.d.ts.map +0 -1
  359. package/dist/components/date-picker/DatePicker.js +0 -221
  360. package/dist/components/date-picker/TimeSpinner.d.ts.map +0 -1
  361. package/dist/components/date-picker/TimeSpinner.js +0 -84
  362. package/dist/components/date-picker/date-picker-config.d.ts.map +0 -1
  363. package/dist/components/date-picker/date-picker-config.js +0 -16
  364. package/dist/components/date-picker/date-picker-styles.d.ts.map +0 -1
  365. package/dist/components/date-picker/date-picker-styles.js +0 -47
  366. package/dist/components/date-picker/date-picker.helpers.d.ts.map +0 -1
  367. package/dist/components/date-picker/date-picker.helpers.js +0 -110
  368. package/dist/components/date-picker/index.d.ts +0 -3
  369. package/dist/components/date-picker/index.d.ts.map +0 -1
  370. package/dist/components/date-picker/index.js +0 -6
  371. package/dist/components/select/Select.d.ts.map +0 -1
  372. package/dist/components/select/Select.js +0 -196
  373. package/dist/components/select/index.d.ts +0 -3
  374. package/dist/components/select/index.d.ts.map +0 -1
  375. package/dist/components/select/index.js +0 -3
  376. package/dist/components/select/select-config.d.ts.map +0 -1
  377. package/dist/components/select/select-config.js +0 -10
  378. package/dist/components/select/select-styles.d.ts.map +0 -1
  379. package/dist/components/select/select-styles.js +0 -6
  380. package/dist/components/select-menu/SelectMenu.d.ts.map +0 -1
  381. package/dist/components/select-menu/SelectMenu.js +0 -198
  382. package/dist/components/select-menu/index.d.ts +0 -4
  383. package/dist/components/select-menu/index.d.ts.map +0 -1
  384. package/dist/components/select-menu/index.js +0 -3
  385. package/dist/components/select-menu/select-menu-config.d.ts.map +0 -1
  386. package/dist/components/select-menu/select-menu-config.js +0 -14
  387. package/dist/components/select-menu/use-select-floating.d.ts.map +0 -1
  388. package/dist/components/select-menu/use-select-floating.js +0 -50
  389. /package/dist/components/{date-picker → calendar}/TimeSpinner.d.ts +0 -0
@@ -0,0 +1,109 @@
1
+ import { ElementType, FormHTMLAttributes, ReactNode } from 'react';
2
+ import { FormConfig } from './form-config';
3
+ type BaseFormProps = FormConfig & Omit<FormHTMLAttributes<HTMLFormElement>, "color" | "children">;
4
+ /**
5
+ * Configuration options for the Form component.
6
+ */
7
+ export interface FormProps extends BaseFormProps {
8
+ /**
9
+ * The fields and other content of the form.
10
+ */
11
+ children?: ReactNode;
12
+ /**
13
+ * Legend that groups the fields.
14
+ * When it is given the fields are wrapped in a `fieldset` with that legend,
15
+ * which is how a form tells assistive technology which set of controls it is
16
+ * describing. A form whose fields are already grouped by other landmarks
17
+ * omits it and names itself with `aria-label` or `aria-labelledby`.
18
+ */
19
+ legend?: string;
20
+ /**
21
+ * Label of the submit control.
22
+ * When it is given the component renders an AsheeUI `Button` as the form's
23
+ * submit control, so no consumer has to rebuild one. Without it the
24
+ * consumer places its own control.
25
+ */
26
+ submitLabel?: string;
27
+ /**
28
+ * Whether a submission is in progress.
29
+ * While it is true the submit control is disabled and busy, which is how a
30
+ * consumer shows a pending submission without bespoke markup.
31
+ *
32
+ * @default false
33
+ */
34
+ isPending?: boolean;
35
+ /**
36
+ * Component that replaces the native `form` element, such as a framework
37
+ * form primitive.
38
+ *
39
+ * The substitution API is shared with `Link` and `Image`: `component` names
40
+ * the component and `componentProps` carries the props it needs.
41
+ */
42
+ component?: ElementType;
43
+ /**
44
+ * Additional props for `component`.
45
+ */
46
+ componentProps?: Record<string, unknown>;
47
+ }
48
+ /**
49
+ * A framework-native form element.
50
+ *
51
+ * Form wraps the native `form` element the way `Link` wraps the anchor and
52
+ * `Image` wraps the picture, so form-level improvements have one home without
53
+ * the framework taking responsibility for form state. It preserves native
54
+ * submission and validation: `action`, `method`, `encType`, `target`,
55
+ * `noValidate` and the submit event all pass through untouched, and the
56
+ * forwarded ref reaches the element itself.
57
+ *
58
+ * It is deliberately thin, because a consumer's form state belongs to the
59
+ * consumer or to a form library. There is no AsheeUI field registry, no
60
+ * validation schema, and no submission state: `onSubmit` is the native event,
61
+ * so a form library binds to it exactly as it binds to a plain form.
62
+ *
63
+ * Fields keep their own presentation through the framework's field
64
+ * components, and the component renders an AsheeUI `Button` as the submit
65
+ * control when a label is given for it. Page layout stays with the consumer's
66
+ * Tailwind classes.
67
+ *
68
+ * The form never moves focus, on mount or on a rejected submission: where a
69
+ * consumer sends focus after a failed validation is a consumer decision.
70
+ *
71
+ * The form element itself can be replaced, the way `Link` replaces the anchor
72
+ * and `Image` replaces the picture: pass `component` to name a form component
73
+ * and `componentProps` for the props it needs.
74
+ *
75
+ * @param props - Form configuration options and native form attributes.
76
+ * @param props.children - The fields and other content of the form.
77
+ * @param props.legend - Legend that groups the fields.
78
+ * @param props.submitLabel - Label of the submit control the component renders.
79
+ * @param props.isPending - Whether a submission is in progress. Defaults to false.
80
+ * @param props.component - Component that replaces the native form element.
81
+ * @param props.componentProps - Additional props for that component.
82
+ * @param props.submitVariant - Style of the submit control. Defaults to the configured value.
83
+ * @param props.submitColor - Colour of the submit control. Defaults to the configured value.
84
+ * @param props.submitSize - Size of the submit control. Defaults to "md".
85
+ * @param props.submitRadius - Corner rounding of the submit control. Defaults to "md".
86
+ * @param props.className - Extra classes applied last.
87
+ *
88
+ * @example
89
+ * ```tsx
90
+ * <Form legend="Invoice details" submitLabel="Save" onSubmit={handleSubmit}>
91
+ * <Input label="Reference" name="reference" />
92
+ * <Textarea label="Notes" name="notes" />
93
+ * </Form>
94
+ * ```
95
+ *
96
+ * @example
97
+ * ```tsx
98
+ * // A form library binds to the native submit event, unchanged.
99
+ * <Form onSubmit={form.handleSubmit(save)}>
100
+ * <Input label="Email" name="email" />
101
+ * </Form>
102
+ * ```
103
+ *
104
+ * @see FormConfig - The configuration type for component defaults.
105
+ * @see Button - The submit control the component renders.
106
+ */
107
+ export declare const Form: import('react').ForwardRefExoticComponent<FormProps & import('react').RefAttributes<HTMLFormElement>>;
108
+ export {};
109
+ //# sourceMappingURL=Form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Form.d.ts","sourceRoot":"","sources":["../../../src/components/form/Form.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,kBAAkB,EAEvB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAMf,OAAO,EAAE,KAAK,UAAU,EAAwB,MAAM,eAAe,CAAC;AAQtE,KAAK,aAAa,GAAG,UAAU,GAC7B,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,aAAa;IAC9C;;OAEG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,WAAW,CAAC;IAExB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,eAAO,MAAM,IAAI,uGAyFhB,CAAC"}
@@ -0,0 +1,42 @@
1
+ "use client";
2
+ "use client";
3
+ import { cn as e } from "../../utils/cn.js";
4
+ import { useAsheeConfig as t } from "../../libs/context.js";
5
+ import { resolveCascade as n, resolveRadiusKey as r } from "../../utils/resolve-token.js";
6
+ import { Button as i } from "../button/Button.js";
7
+ import { FALLBACK_FORM_CONFIG as a } from "./form-config.js";
8
+ import { FORM_BASE_CLASS as o, FORM_FIELD_GROUP_CLASS as s, FORM_LEGEND_CLASS as c } from "./form-styles.js";
9
+ import { forwardRef as l } from "react";
10
+ import { Fragment as u, jsx as d, jsxs as f } from "react/jsx-runtime";
11
+ //#region src/components/form/Form.tsx
12
+ var p = l(({ children: l, legend: p, submitLabel: m, isPending: h = !1, component: g, componentProps: _, submitVariant: v, submitColor: y, submitSize: b, submitRadius: x, className: S, ...C }, w) => {
13
+ let T = t(), E = T.components?.form, D = n(v, E?.submitVariant, T.defaultVariant, a.submitVariant), O = n(y, E?.submitColor, T.defaultColor, a.submitColor), k = n(b, E?.submitSize, void 0, a.submitSize), A = r(x, E?.submitRadius, T.defaultRadius, a.submitRadius), j = /* @__PURE__ */ f(u, { children: [l, m && /* @__PURE__ */ d("div", {
14
+ className: "flex items-center gap-2 mt-4",
15
+ children: /* @__PURE__ */ d(i, {
16
+ type: "submit",
17
+ variant: D,
18
+ color: O,
19
+ size: k,
20
+ radius: A,
21
+ isLoading: h,
22
+ isDisabled: h,
23
+ children: m
24
+ })
25
+ })] });
26
+ return /* @__PURE__ */ d(g || "form", {
27
+ ref: w,
28
+ className: e(o, S),
29
+ ...C,
30
+ ..._,
31
+ children: p ? /* @__PURE__ */ f("fieldset", {
32
+ className: s,
33
+ children: [/* @__PURE__ */ d("legend", {
34
+ className: c,
35
+ children: p
36
+ }), j]
37
+ }) : j
38
+ });
39
+ });
40
+ p.displayName = "Form";
41
+ //#endregion
42
+ export { p as Form };
@@ -0,0 +1,57 @@
1
+ import { Color, Radius, Size, Variant } from '../../shared';
2
+ /**
3
+ * Theme configuration options for the Form component.
4
+ *
5
+ * Set under `components.form` in the AsheeUI config. Values feed the
6
+ * component-level fallback tier of the theme cascade.
7
+ *
8
+ * The form element itself carries no visual treatment: it is a grouping and
9
+ * submission element, and the fields inside it style themselves. These options
10
+ * describe the submit control the component renders when a label is given for
11
+ * it.
12
+ */
13
+ export interface FormConfig {
14
+ /**
15
+ * Visual style variant of the submit control.
16
+ *
17
+ * @default "solid"
18
+ */
19
+ submitVariant?: Variant;
20
+ /**
21
+ * Theme accent colour of the submit control.
22
+ *
23
+ * @default "primary"
24
+ */
25
+ submitColor?: Color;
26
+ /**
27
+ * Size of the submit control.
28
+ *
29
+ * @default "md"
30
+ */
31
+ submitSize?: Size;
32
+ /**
33
+ * Corner rounding of the submit control.
34
+ *
35
+ * @default "md"
36
+ */
37
+ submitRadius?: Radius;
38
+ }
39
+ /**
40
+ * Default config values registered for the Form component.
41
+ *
42
+ * The visual tokens are intentionally absent so they inherit from the global
43
+ * defaults and the built-in fallback.
44
+ */
45
+ export declare const defaultFormConfig: FormConfig;
46
+ /**
47
+ * Hard fallback values used when no config tier provides a value.
48
+ * These values are used when instance props, component config,
49
+ * and global defaults are all undefined.
50
+ */
51
+ export declare const FALLBACK_FORM_CONFIG: Required<FormConfig>;
52
+ declare module "../../libs/registry" {
53
+ interface ComponentTypeConfigRegistry {
54
+ form: FormConfig;
55
+ }
56
+ }
57
+ //# sourceMappingURL=form-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-config.d.ts","sourceRoot":"","sources":["../../../src/components/form/form-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEjE;;;;;;;;;;GAUG;AACH,MAAM,WAAW,UAAU;IACzB;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC;IAEpB;;;;OAIG;IACH,UAAU,CAAC,EAAE,IAAI,CAAC;IAElB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,UAE/B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,UAAU,CAK5C,CAAC;AAEX,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,2BAA2B;QACnC,IAAI,EAAE,UAAU,CAAC;KAClB;CACF"}
@@ -0,0 +1,12 @@
1
+ "use client";
2
+ import { registerComponentDefaults as e } from "../../libs/registry.js";
3
+ //#region src/components/form/form-config.ts
4
+ var t = { submitRadius: "md" }, n = {
5
+ submitVariant: "solid",
6
+ submitColor: "primary",
7
+ submitSize: "md",
8
+ submitRadius: "md"
9
+ };
10
+ e("form", t);
11
+ //#endregion
12
+ export { n as FALLBACK_FORM_CONFIG, t as defaultFormConfig };
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Form component styles for AsheeUI.
3
+ * This file provides the static classes the Form component is built from.
4
+ *
5
+ * The list is deliberately short: a form groups and submits, and page layout
6
+ * belongs to the consumer's Tailwind classes. Nothing here styles
7
+ * a field, because fields are the framework's field components.
8
+ */
9
+ /**
10
+ * Base classes for the form element.
11
+ */
12
+ export declare const FORM_BASE_CLASS = "w-full";
13
+ /**
14
+ * Classes for the group that wraps the fields when the consumer names them.
15
+ * The browser's default fieldset frame is removed, because the grouping is
16
+ * semantic rather than visual.
17
+ */
18
+ export declare const FORM_FIELD_GROUP_CLASS = "border-0 p-0 m-0 min-w-0";
19
+ /**
20
+ * Classes for the legend of that group.
21
+ */
22
+ export declare const FORM_LEGEND_CLASS = "p-0 mb-2 text-sm font-medium text-foreground";
23
+ /**
24
+ * Classes for the row that holds the submit control.
25
+ */
26
+ export declare const FORM_SUBMIT_ROW_CLASS = "flex items-center gap-2 mt-4";
27
+ //# sourceMappingURL=form-styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-styles.d.ts","sourceRoot":"","sources":["../../../src/components/form/form-styles.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe,WAAW,CAAC;AAExC;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,6BAA6B,CAAC;AAEjE;;GAEG;AACH,eAAO,MAAM,iBAAiB,iDAAiD,CAAC;AAEhF;;GAEG;AACH,eAAO,MAAM,qBAAqB,iCAAiC,CAAC"}
@@ -0,0 +1,5 @@
1
+ "use client";
2
+ //#region src/components/form/form-styles.ts
3
+ var e = "w-full", t = "border-0 p-0 m-0 min-w-0", n = "p-0 mb-2 text-sm font-medium text-foreground", r = "flex items-center gap-2 mt-4";
4
+ //#endregion
5
+ export { e as FORM_BASE_CLASS, t as FORM_FIELD_GROUP_CLASS, n as FORM_LEGEND_CLASS, r as FORM_SUBMIT_ROW_CLASS };
@@ -0,0 +1,3 @@
1
+ export * from './Form';
2
+ export * from './form-config';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/form/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./Form.js";
2
+ export * from "./form-config.js";
3
+ export * from "./form-styles.js";
@@ -15,16 +15,15 @@ export interface ImageProps extends BaseImageProps {
15
15
  * (e.g. `next/image`).
16
16
  * When provided, the component renders this instead of img.
17
17
  */
18
- imageComponent?: ElementType;
18
+ component?: ElementType;
19
19
  /**
20
- * Additional props to pass to the custom image component
21
- * (e.g. `{ priority: true, sizes: "..." }`).
20
+ * Additional props for `component` (for example `{ priority: true }`).
22
21
  *
23
- * If `imageComponent` is set and neither `width`/`height` nor `fill`
22
+ * If `component` is set and neither `width`/`height` nor `fill`
24
23
  * are provided here, `fill: true` is applied automatically since
25
24
  * this component is container/ratio driven.
26
25
  */
27
- imageProps?: Record<string, unknown>;
26
+ componentProps?: Record<string, unknown>;
28
27
  }
29
28
  /**
30
29
  * An image element with ratio locking, object-fit control, radius
@@ -50,8 +49,8 @@ export interface ImageProps extends BaseImageProps {
50
49
  * @param props.fallbackSrc - Error fallback source.
51
50
  * @param props.showSkeleton - Loading placeholder. Defaults to true.
52
51
  * @param props.className - Extra classes for the image element.
53
- * @param props.imageComponent - Custom image component.
54
- * @param props.imageProps - Props forwarded to the image component.
52
+ * @param props.component - Custom image component.
53
+ * @param props.componentProps - Props forwarded to the image component.
55
54
  * @param props.src - The image source URL.
56
55
  * @param props.onLoad - Callback fired when the image loads.
57
56
  * @param props.onError - Callback fired when the image fails to load.
@@ -82,8 +81,8 @@ export interface ImageProps extends BaseImageProps {
82
81
  * <Image
83
82
  * src="/hero.png"
84
83
  * alt="Hero image"
85
- * imageComponent={NextImage}
86
- * imageProps={{ priority: true, sizes: "100vw" }}
84
+ * component={NextImage}
85
+ * componentProps={{ priority: true, sizes: "100vw" }}
87
86
  * />
88
87
  * ```
89
88
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Image.d.ts","sourceRoot":"","sources":["../../../src/components/image/Image.tsx"],"names":[],"mappings":"AAUA,OAAO,EACL,KAAK,WAAW,EAEhB,KAAK,iBAAiB,EAKvB,MAAM,OAAO,CAAC;AASf,OAAO,EAEL,KAAK,WAAW,EAGjB,MAAM,gBAAgB,CAAC;AAGxB,KAAK,cAAc,GAAG,WAAW,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,cAAc;IAChD;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,cAAc,CAAC,EAAE,WAAW,CAAC;IAE7B;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAUD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,eAAO,MAAM,KAAK,yGAsNjB,CAAC"}
1
+ {"version":3,"file":"Image.d.ts","sourceRoot":"","sources":["../../../src/components/image/Image.tsx"],"names":[],"mappings":"AAUA,OAAO,EACL,KAAK,WAAW,EAEhB,KAAK,iBAAiB,EAKvB,MAAM,OAAO,CAAC;AASf,OAAO,EAEL,KAAK,WAAW,EAGjB,MAAM,gBAAgB,CAAC;AAGxB,KAAK,cAAc,GAAG,WAAW,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,cAAc;IAChD;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,SAAS,CAAC,EAAE,WAAW,CAAC;IAExB;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C;AAUD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,eAAO,MAAM,KAAK,yGAsNjB,CAAC"}
@@ -1,134 +1,67 @@
1
1
  "use client";
2
- import { jsxs as P, jsx as _ } from "react/jsx-runtime";
3
- import { forwardRef as tt, useState as N, useRef as et, useEffect as z } from "react";
4
- import { useAsheeConfig as st } from "../../libs/context.js";
5
- import { resolveCascade as o, resolveRadiusKey as it, resolveClassKey as v } from "../../utils/resolve-token.js";
6
- import { FALLBACK_IMAGE_CONFIG as i } from "./image-config.js";
7
- import { IMAGE_FIT_CLASS as nt, IMAGE_RATIO_CLASS as lt } from "./image-styles.js";
8
- import { RADIUS_CLASS as at } from "../../shared/radius.js";
9
- import { cn as I } from "../../utils/cn.js";
10
- function F(l) {
11
- return typeof l == "string" && l.trim().length > 0;
2
+ "use client";
3
+ import { cn as e } from "../../utils/cn.js";
4
+ import { RADIUS_CLASS as t } from "../../shared/radius.js";
5
+ import { useAsheeConfig as n } from "../../libs/context.js";
6
+ import { resolveCascade as r, resolveClassKey as i, resolveRadiusKey as a } from "../../utils/resolve-token.js";
7
+ import { FALLBACK_IMAGE_CONFIG as o } from "./image-config.js";
8
+ import { IMAGE_FIT_CLASS as s, IMAGE_RATIO_CLASS as c } from "./image-styles.js";
9
+ import { forwardRef as l, useEffect as u, useRef as d, useState as f } from "react";
10
+ import { jsx as p, jsxs as m } from "react/jsx-runtime";
11
+ //#region src/components/image/Image.tsx
12
+ function h(e) {
13
+ return typeof e == "string" && e.trim().length > 0;
12
14
  }
13
- const dt = tt(
14
- ({
15
- alt: l,
16
- fit: x,
17
- ratio: G,
18
- radius: K,
19
- fallbackSrc: u,
20
- showSkeleton: E,
21
- loading: M,
22
- src: r,
23
- className: b,
24
- onLoad: f,
25
- onError: h,
26
- imageComponent: S,
27
- imageProps: t,
28
- ...j
29
- }, a) => {
30
- var L;
31
- const A = st(), e = (L = A.components) == null ? void 0 : L.image, [R, d] = N(!1), [n, w] = N(r), C = et(null);
32
- z(() => {
33
- w(r), d(!1);
34
- }, [r]), z(() => {
35
- const s = C.current;
36
- s != null && s.complete && s.naturalWidth > 0 && d(!0);
37
- }, [n]);
38
- const k = (s) => {
39
- d(!0), f == null || f(s);
40
- }, B = (s) => {
41
- if (F(u) && n !== u) {
42
- w(u);
43
- return;
44
- }
45
- d(!0), h == null || h(s);
46
- }, O = (s) => {
47
- C.current = s, typeof a == "function" ? a(s) : a && (a.current = s);
48
- }, T = o(
49
- x,
50
- e == null ? void 0 : e.fit,
51
- void 0,
52
- i.fit
53
- ), V = o(
54
- G,
55
- e == null ? void 0 : e.ratio,
56
- void 0,
57
- i.ratio
58
- ), D = it(
59
- K,
60
- e == null ? void 0 : e.radius,
61
- A.defaultRadius,
62
- i.radius
63
- ), U = o(
64
- M,
65
- e == null ? void 0 : e.loading,
66
- void 0,
67
- i.loading
68
- ), W = o(
69
- E,
70
- e == null ? void 0 : e.showSkeleton,
71
- void 0,
72
- i.showSkeleton
73
- ), $ = v(
74
- T,
75
- nt,
76
- i.fit
77
- ), g = v(
78
- V,
79
- lt,
80
- i.ratio
81
- ), m = v(
82
- D,
83
- at,
84
- i.radius
85
- ), q = S || "img", y = !!S, H = F(n), J = (t == null ? void 0 : t.width) !== void 0 || (t == null ? void 0 : t.height) !== void 0 || (t == null ? void 0 : t.fill) !== void 0, Q = y && !J ? { fill: !0, sizes: "100%" } : {}, X = I(
86
- "h-full w-full transition-opacity duration-300",
87
- $,
88
- R ? "opacity-100" : "opacity-0",
89
- m,
90
- b
91
- );
92
- let c = { ...t ?? {} };
93
- if (y) {
94
- const s = (t == null ? void 0 : t.loading) === "lazy", p = (t == null ? void 0 : t.priority) === !0;
95
- (s || p) && console.warn(
96
- `[Image] ${s ? '`loading="lazy"`' : "`priority={true}`"} with custom image component may cause rendering issues. Consider using \`loading="eager"\` and removing \`priority\` for this image.`
97
- ), c = {
98
- ...c,
99
- loading: "eager",
100
- // Remove priority if present to avoid conflicts
101
- ...c.priority !== void 0 && { priority: !1 }
102
- };
103
- }
104
- const Y = {
105
- src: n,
106
- alt: l,
107
- loading: U,
108
- onLoad: k,
109
- onError: B,
110
- className: X,
111
- ref: O,
112
- ...Q,
113
- ...j,
114
- ...c
115
- }, Z = !y || H;
116
- return /* @__PURE__ */ P("span", { className: I("relative block w-full", g, m), children: [
117
- W && !R && /* @__PURE__ */ _(
118
- "span",
119
- {
120
- "aria-hidden": "true",
121
- className: I(
122
- "absolute inset-0 animate-pulse bg-border/40",
123
- m
124
- )
125
- }
126
- ),
127
- Z && /* @__PURE__ */ _(q, { ...Y }, n)
128
- ] });
129
- }
130
- );
131
- dt.displayName = "Image";
132
- export {
133
- dt as Image
134
- };
15
+ var g = l(({ alt: l, fit: g, ratio: _, radius: v, fallbackSrc: y, showSkeleton: ee, loading: b, src: x, className: S, onLoad: C, onError: w, component: T, componentProps: E, ...D }, O) => {
16
+ let k = n(), A = k.components?.image, [j, M] = f(!1), [N, P] = f(x), F = d(null);
17
+ u(() => {
18
+ P(x), M(!1);
19
+ }, [x]), u(() => {
20
+ let e = F.current;
21
+ e?.complete && e.naturalWidth > 0 && M(!0);
22
+ }, [N]);
23
+ let I = (e) => {
24
+ M(!0), C?.(e);
25
+ }, L = (e) => {
26
+ if (h(y) && N !== y) {
27
+ P(y);
28
+ return;
29
+ }
30
+ M(!0), w?.(e);
31
+ }, R = (e) => {
32
+ F.current = e, typeof O == "function" ? O(e) : O && (O.current = e);
33
+ }, z = r(g, A?.fit, void 0, o.fit), B = r(_, A?.ratio, void 0, o.ratio), V = a(v, A?.radius, k.defaultRadius, o.radius), H = r(b, A?.loading, void 0, o.loading), U = r(ee, A?.showSkeleton, void 0, o.showSkeleton), W = i(z, s, o.fit), G = i(B, c, o.ratio), K = i(V, t, o.radius), q = T || "img", J = !!T, Y = h(N), X = E?.width !== void 0 || E?.height !== void 0 || E?.fill !== void 0, Z = J && !X ? {
34
+ fill: !0,
35
+ sizes: "100%"
36
+ } : {}, Q = e("h-full w-full transition-opacity duration-300", W, j ? "opacity-100" : "opacity-0", K, S), $ = { ...E ?? {} };
37
+ if (J) {
38
+ let e = E?.loading === "lazy", t = E?.priority === !0;
39
+ (e || t) && console.warn(`[Image] ${e ? "`loading=\"lazy\"`" : "`priority={true}`"} with custom image component may cause rendering issues. Consider using \`loading="eager"\` and removing \`priority\` for this image.`), $ = {
40
+ ...$,
41
+ loading: "eager",
42
+ ...$.priority !== void 0 && { priority: !1 }
43
+ };
44
+ }
45
+ let te = {
46
+ src: N,
47
+ alt: l,
48
+ loading: H,
49
+ onLoad: I,
50
+ onError: L,
51
+ className: Q,
52
+ ref: R,
53
+ ...Z,
54
+ ...D,
55
+ ...$
56
+ }, ne = !J || Y;
57
+ return /* @__PURE__ */ m("span", {
58
+ className: e("relative block w-full", G, K),
59
+ children: [U && !j && /* @__PURE__ */ p("span", {
60
+ "aria-hidden": "true",
61
+ className: e("absolute inset-0 animate-pulse bg-border/40", K)
62
+ }), ne && /* @__PURE__ */ p(q, { ...te }, N)]
63
+ });
64
+ });
65
+ g.displayName = "Image";
66
+ //#endregion
67
+ export { g as Image };
@@ -1,20 +1,19 @@
1
1
  "use client";
2
- import { registerComponentDefaults as o } from "../../libs/registry.js";
3
- const t = {
4
- fit: "cover",
5
- ratio: "auto",
6
- radius: "md",
7
- loading: "lazy",
8
- showSkeleton: !0
9
- }, a = {
10
- fit: "cover",
11
- ratio: "auto",
12
- radius: "md",
13
- loading: "lazy",
14
- showSkeleton: !0
15
- };
16
- o("image", t);
17
- export {
18
- a as FALLBACK_IMAGE_CONFIG,
19
- t as defaultImageConfig
2
+ import { registerComponentDefaults as e } from "../../libs/registry.js";
3
+ //#region src/components/image/image-config.ts
4
+ var t = {
5
+ fit: "cover",
6
+ ratio: "auto",
7
+ radius: "md",
8
+ loading: "lazy",
9
+ showSkeleton: !0
10
+ }, n = {
11
+ fit: "cover",
12
+ ratio: "auto",
13
+ radius: "md",
14
+ loading: "lazy",
15
+ showSkeleton: !0
20
16
  };
17
+ e("image", t);
18
+ //#endregion
19
+ export { n as FALLBACK_IMAGE_CONFIG, t as defaultImageConfig };
@@ -1,17 +1,16 @@
1
1
  "use client";
2
- const e = {
3
- cover: "object-cover",
4
- contain: "object-contain",
5
- fill: "object-fill",
6
- none: "object-none",
7
- "scale-down": "object-scale-down"
8
- }, o = {
9
- auto: "",
10
- square: "aspect-square",
11
- video: "aspect-video",
12
- portrait: "aspect-[3/4]"
13
- };
14
- export {
15
- e as IMAGE_FIT_CLASS,
16
- o as IMAGE_RATIO_CLASS
2
+ //#region src/components/image/image-styles.ts
3
+ var e = {
4
+ cover: "object-cover",
5
+ contain: "object-contain",
6
+ fill: "object-fill",
7
+ none: "object-none",
8
+ "scale-down": "object-scale-down"
9
+ }, t = {
10
+ auto: "",
11
+ square: "aspect-square",
12
+ video: "aspect-video",
13
+ portrait: "aspect-[3/4]"
17
14
  };
15
+ //#endregion
16
+ export { e as IMAGE_FIT_CLASS, t as IMAGE_RATIO_CLASS };