saha-ui 1.7.0 → 1.8.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 (359) hide show
  1. package/README.md +37 -37
  2. package/dist/components/Accordion/index.d.ts.map +1 -1
  3. package/dist/components/Accordion/index.js +87 -69
  4. package/dist/components/Alert/index.d.ts.map +1 -1
  5. package/dist/components/Alert/index.js +59 -41
  6. package/dist/components/AspectRatio/AspectRatio.types.d.ts +148 -0
  7. package/dist/components/AspectRatio/AspectRatio.types.d.ts.map +1 -0
  8. package/dist/components/AspectRatio/index.d.ts +37 -0
  9. package/dist/components/AspectRatio/index.d.ts.map +1 -0
  10. package/dist/components/AspectRatio/index.js +258 -0
  11. package/dist/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  12. package/dist/components/Autocomplete/Autocomplete.js +326 -251
  13. package/dist/components/Avatar/index.d.ts.map +1 -1
  14. package/dist/components/Avatar/index.js +70 -48
  15. package/dist/components/AvatarGroup/index.d.ts.map +1 -1
  16. package/dist/components/AvatarGroup/index.js +84 -57
  17. package/dist/components/Badge/Badge.types.d.ts +1 -1
  18. package/dist/components/Badge/Badge.types.d.ts.map +1 -1
  19. package/dist/components/Badge/index.d.ts +1 -1
  20. package/dist/components/Badge/index.d.ts.map +1 -1
  21. package/dist/components/Badge/index.js +65 -41
  22. package/dist/components/Breadcrumb/index.d.ts.map +1 -1
  23. package/dist/components/Breadcrumb/index.js +68 -51
  24. package/dist/components/Button/index.d.ts +1 -1
  25. package/dist/components/Button/index.d.ts.map +1 -1
  26. package/dist/components/Button/index.js +45 -29
  27. package/dist/components/ButtonGroup/index.d.ts.map +1 -1
  28. package/dist/components/ButtonGroup/index.js +91 -64
  29. package/dist/components/Calendar/Calendar.types.d.ts +268 -0
  30. package/dist/components/Calendar/Calendar.types.d.ts.map +1 -0
  31. package/dist/components/Calendar/index.d.ts +37 -0
  32. package/dist/components/Calendar/index.d.ts.map +1 -0
  33. package/dist/components/Calendar/index.js +777 -0
  34. package/dist/components/Card/index.d.ts +1 -1
  35. package/dist/components/Card/index.d.ts.map +1 -1
  36. package/dist/components/Card/index.js +80 -53
  37. package/dist/components/Carousel/index.d.ts.map +1 -1
  38. package/dist/components/Carousel/index.js +186 -136
  39. package/dist/components/Checkbox/index.d.ts +1 -1
  40. package/dist/components/Checkbox/index.d.ts.map +1 -1
  41. package/dist/components/Checkbox/index.js +259 -179
  42. package/dist/components/Chip/index.d.ts +2 -2
  43. package/dist/components/Chip/index.d.ts.map +1 -1
  44. package/dist/components/Chip/index.js +77 -46
  45. package/dist/components/Collapsible/Collapsible.styles.d.ts +29 -0
  46. package/dist/components/Collapsible/Collapsible.styles.d.ts.map +1 -0
  47. package/dist/components/Collapsible/Collapsible.styles.js +229 -0
  48. package/dist/components/Collapsible/Collapsible.types.d.ts +156 -0
  49. package/dist/components/Collapsible/Collapsible.types.d.ts.map +1 -0
  50. package/dist/components/Collapsible/index.d.ts +100 -0
  51. package/dist/components/Collapsible/index.d.ts.map +1 -0
  52. package/dist/components/Collapsible/index.js +266 -0
  53. package/dist/components/Combobox/Combobox.d.ts +52 -0
  54. package/dist/components/Combobox/Combobox.d.ts.map +1 -0
  55. package/dist/components/Combobox/Combobox.js +932 -0
  56. package/dist/components/Combobox/Combobox.types.d.ts +177 -0
  57. package/dist/components/Combobox/Combobox.types.d.ts.map +1 -0
  58. package/dist/components/Combobox/index.d.ts +3 -0
  59. package/dist/components/Combobox/index.d.ts.map +1 -0
  60. package/dist/components/Combobox/index.js +15 -0
  61. package/dist/components/Command/Command.d.ts +40 -0
  62. package/dist/components/Command/Command.d.ts.map +1 -0
  63. package/dist/components/Command/Command.js +498 -0
  64. package/dist/components/Command/Command.types.d.ts +123 -0
  65. package/dist/components/Command/Command.types.d.ts.map +1 -0
  66. package/dist/components/Command/index.d.ts +3 -0
  67. package/dist/components/Command/index.d.ts.map +1 -0
  68. package/dist/components/Command/index.js +13 -0
  69. package/dist/components/ContextMenu/ContextMenu.styles.d.ts +53 -0
  70. package/dist/components/ContextMenu/ContextMenu.styles.d.ts.map +1 -0
  71. package/dist/components/ContextMenu/ContextMenu.styles.js +297 -0
  72. package/dist/components/ContextMenu/ContextMenu.types.d.ts +111 -0
  73. package/dist/components/ContextMenu/ContextMenu.types.d.ts.map +1 -0
  74. package/dist/components/ContextMenu/index.d.ts +19 -0
  75. package/dist/components/ContextMenu/index.d.ts.map +1 -0
  76. package/dist/components/ContextMenu/index.js +934 -0
  77. package/dist/components/DataTable/DataTable.styles.d.ts +53 -0
  78. package/dist/components/DataTable/DataTable.styles.d.ts.map +1 -0
  79. package/dist/components/DataTable/DataTable.styles.js +271 -0
  80. package/dist/components/DataTable/DataTable.types.d.ts +278 -0
  81. package/dist/components/DataTable/DataTable.types.d.ts.map +1 -0
  82. package/dist/components/DataTable/index.d.ts +94 -0
  83. package/dist/components/DataTable/index.d.ts.map +1 -0
  84. package/dist/components/DataTable/index.js +350 -0
  85. package/dist/components/DataTable/useDataTable.d.ts +22 -0
  86. package/dist/components/DataTable/useDataTable.d.ts.map +1 -0
  87. package/dist/components/DataTable/useDataTable.js +205 -0
  88. package/dist/components/DatePicker/index.d.ts +2 -2
  89. package/dist/components/DatePicker/index.d.ts.map +1 -1
  90. package/dist/components/DatePicker/index.js +292 -229
  91. package/dist/components/Dialog/Dialog.d.ts +26 -0
  92. package/dist/components/Dialog/Dialog.d.ts.map +1 -0
  93. package/dist/components/Dialog/Dialog.js +296 -0
  94. package/dist/components/{Modal/Modal.subcomponents.types.d.ts → Dialog/Dialog.subcomponents.types.d.ts} +23 -23
  95. package/dist/components/Dialog/Dialog.subcomponents.types.d.ts.map +1 -0
  96. package/dist/components/{Modal/Modal.types.d.ts → Dialog/Dialog.types.d.ts} +3 -3
  97. package/dist/components/Dialog/Dialog.types.d.ts.map +1 -0
  98. package/dist/components/Dialog/DialogComponents.d.ts +33 -0
  99. package/dist/components/Dialog/DialogComponents.d.ts.map +1 -0
  100. package/dist/components/Dialog/DialogComponents.js +108 -0
  101. package/dist/components/Dialog/DialogOverlay.d.ts +10 -0
  102. package/dist/components/Dialog/DialogOverlay.d.ts.map +1 -0
  103. package/dist/components/{Modal/ModalOverlay.js → Dialog/DialogOverlay.js} +11 -11
  104. package/dist/components/Dialog/index.d.ts +6 -0
  105. package/dist/components/Dialog/index.d.ts.map +1 -0
  106. package/dist/components/Dialog/index.js +16 -0
  107. package/dist/components/Dialog/index.old.d.ts +52 -0
  108. package/dist/components/Dialog/index.old.d.ts.map +1 -0
  109. package/dist/components/{Modal → Dialog}/index.old.js +103 -103
  110. package/dist/components/Drawer/Drawer.d.ts.map +1 -1
  111. package/dist/components/Drawer/Drawer.js +144 -87
  112. package/dist/components/Drawer/Drawer.subcomponents.types.d.ts +2 -0
  113. package/dist/components/Drawer/Drawer.subcomponents.types.d.ts.map +1 -1
  114. package/dist/components/Drawer/DrawerComponents.d.ts.map +1 -1
  115. package/dist/components/Drawer/DrawerComponents.js +63 -53
  116. package/dist/components/Dropdown/index.d.ts.map +1 -1
  117. package/dist/components/Dropdown/index.js +297 -231
  118. package/dist/components/Empty/Empty.d.ts.map +1 -1
  119. package/dist/components/Empty/Empty.js +150 -91
  120. package/dist/components/Field/Field.d.ts.map +1 -1
  121. package/dist/components/Field/Field.js +199 -150
  122. package/dist/components/FloatingActionButton/index.d.ts +1 -1
  123. package/dist/components/FloatingActionButton/index.d.ts.map +1 -1
  124. package/dist/components/FloatingActionButton/index.js +75 -44
  125. package/dist/components/Form/Form.styles.d.ts +62 -0
  126. package/dist/components/Form/Form.styles.d.ts.map +1 -0
  127. package/dist/components/Form/Form.styles.js +223 -0
  128. package/dist/components/Form/Form.types.d.ts +194 -0
  129. package/dist/components/Form/Form.types.d.ts.map +1 -0
  130. package/dist/components/Form/index.d.ts +116 -0
  131. package/dist/components/Form/index.d.ts.map +1 -0
  132. package/dist/components/Form/index.js +339 -0
  133. package/dist/components/HoverCard/HoverCard.styles.d.ts +19 -0
  134. package/dist/components/HoverCard/HoverCard.styles.d.ts.map +1 -0
  135. package/dist/components/HoverCard/HoverCard.styles.js +66 -0
  136. package/dist/components/HoverCard/HoverCard.types.d.ts +213 -0
  137. package/dist/components/HoverCard/HoverCard.types.d.ts.map +1 -0
  138. package/dist/components/HoverCard/index.d.ts +24 -0
  139. package/dist/components/HoverCard/index.d.ts.map +1 -0
  140. package/dist/components/HoverCard/index.js +220 -0
  141. package/dist/components/Image/index.d.ts.map +1 -1
  142. package/dist/components/Image/index.js +111 -63
  143. package/dist/components/Input/index.d.ts.map +1 -1
  144. package/dist/components/Input/index.js +109 -75
  145. package/dist/components/InputOTP/InputOTP.styles.d.ts +38 -0
  146. package/dist/components/InputOTP/InputOTP.styles.d.ts.map +1 -0
  147. package/dist/components/InputOTP/InputOTP.styles.js +156 -0
  148. package/dist/components/InputOTP/InputOTP.types.d.ts +198 -0
  149. package/dist/components/InputOTP/InputOTP.types.d.ts.map +1 -0
  150. package/dist/components/InputOTP/index.d.ts +40 -0
  151. package/dist/components/InputOTP/index.d.ts.map +1 -0
  152. package/dist/components/InputOTP/index.js +309 -0
  153. package/dist/components/Item/Item.styles.d.ts +70 -0
  154. package/dist/components/Item/Item.styles.d.ts.map +1 -0
  155. package/dist/components/Item/Item.styles.js +297 -0
  156. package/dist/components/Item/Item.types.d.ts +243 -0
  157. package/dist/components/Item/Item.types.d.ts.map +1 -0
  158. package/dist/components/Item/index.d.ts +94 -0
  159. package/dist/components/Item/index.d.ts.map +1 -0
  160. package/dist/components/Item/index.js +327 -0
  161. package/dist/components/Kbd/Kbd.styles.d.ts +33 -0
  162. package/dist/components/Kbd/Kbd.styles.d.ts.map +1 -0
  163. package/dist/components/Kbd/Kbd.styles.js +195 -0
  164. package/dist/components/Kbd/Kbd.types.d.ts +176 -0
  165. package/dist/components/Kbd/Kbd.types.d.ts.map +1 -0
  166. package/dist/components/Kbd/Kbd.types.js +35 -0
  167. package/dist/components/Kbd/index.d.ts +74 -0
  168. package/dist/components/Kbd/index.d.ts.map +1 -0
  169. package/dist/components/Kbd/index.js +139 -0
  170. package/dist/components/Label/Label.styles.d.ts +39 -0
  171. package/dist/components/Label/Label.styles.d.ts.map +1 -0
  172. package/dist/components/Label/Label.styles.js +161 -0
  173. package/dist/components/Label/Label.types.d.ts +192 -0
  174. package/dist/components/Label/Label.types.d.ts.map +1 -0
  175. package/dist/components/Label/index.d.ts +95 -0
  176. package/dist/components/Label/index.d.ts.map +1 -0
  177. package/dist/components/Label/index.js +156 -0
  178. package/dist/components/Link/index.d.ts +1 -1
  179. package/dist/components/Link/index.d.ts.map +1 -1
  180. package/dist/components/Link/index.js +66 -37
  181. package/dist/components/List/ListItem.d.ts +1 -1
  182. package/dist/components/List/ListItem.js +4 -4
  183. package/dist/components/List/index.d.ts.map +1 -1
  184. package/dist/components/List/index.js +60 -37
  185. package/dist/components/Menubar/Menubar.styles.d.ts +61 -0
  186. package/dist/components/Menubar/Menubar.styles.d.ts.map +1 -0
  187. package/dist/components/Menubar/Menubar.styles.js +563 -0
  188. package/dist/components/Menubar/Menubar.types.d.ts +257 -0
  189. package/dist/components/Menubar/Menubar.types.d.ts.map +1 -0
  190. package/dist/components/Menubar/index.d.ts +90 -0
  191. package/dist/components/Menubar/index.d.ts.map +1 -0
  192. package/dist/components/Menubar/index.js +433 -0
  193. package/dist/components/NativeSelect/NativeSelect.styles.d.ts +39 -0
  194. package/dist/components/NativeSelect/NativeSelect.styles.d.ts.map +1 -0
  195. package/dist/components/NativeSelect/NativeSelect.styles.js +236 -0
  196. package/dist/components/NativeSelect/NativeSelect.types.d.ts +197 -0
  197. package/dist/components/NativeSelect/NativeSelect.types.d.ts.map +1 -0
  198. package/dist/components/NativeSelect/index.d.ts +91 -0
  199. package/dist/components/NativeSelect/index.d.ts.map +1 -0
  200. package/dist/components/NativeSelect/index.js +486 -0
  201. package/dist/components/NavigationMenu/NavigationMenu.d.ts +42 -0
  202. package/dist/components/NavigationMenu/NavigationMenu.d.ts.map +1 -0
  203. package/dist/components/NavigationMenu/NavigationMenu.js +379 -0
  204. package/dist/components/NavigationMenu/NavigationMenu.styles.d.ts +31 -0
  205. package/dist/components/NavigationMenu/NavigationMenu.styles.d.ts.map +1 -0
  206. package/dist/components/NavigationMenu/NavigationMenu.styles.js +261 -0
  207. package/dist/components/NavigationMenu/NavigationMenu.types.d.ts +58 -0
  208. package/dist/components/NavigationMenu/NavigationMenu.types.d.ts.map +1 -0
  209. package/dist/components/NavigationMenu/index.d.ts +3 -0
  210. package/dist/components/NavigationMenu/index.d.ts.map +1 -0
  211. package/dist/components/NavigationMenu/index.js +10 -0
  212. package/dist/components/Pagination/index.d.ts.map +1 -1
  213. package/dist/components/Pagination/index.js +165 -107
  214. package/dist/components/PlayButton/index.d.ts +1 -1
  215. package/dist/components/PlayButton/index.d.ts.map +1 -1
  216. package/dist/components/PlayButton/index.js +70 -35
  217. package/dist/components/Popover/index.d.ts +4 -4
  218. package/dist/components/Popover/index.d.ts.map +1 -1
  219. package/dist/components/Popover/index.js +185 -106
  220. package/dist/components/Progress/index.d.ts +3 -3
  221. package/dist/components/Progress/index.d.ts.map +1 -1
  222. package/dist/components/Progress/index.js +128 -69
  223. package/dist/components/Radio/index.d.ts +1 -1
  224. package/dist/components/Radio/index.d.ts.map +1 -1
  225. package/dist/components/Radio/index.js +223 -137
  226. package/dist/components/Rating/index.d.ts +1 -1
  227. package/dist/components/Rating/index.d.ts.map +1 -1
  228. package/dist/components/Rating/index.js +166 -123
  229. package/dist/components/Resizable/Resizable.styles.d.ts +35 -0
  230. package/dist/components/Resizable/Resizable.styles.d.ts.map +1 -0
  231. package/dist/components/Resizable/Resizable.styles.js +131 -0
  232. package/dist/components/Resizable/Resizable.types.d.ts +140 -0
  233. package/dist/components/Resizable/Resizable.types.d.ts.map +1 -0
  234. package/dist/components/Resizable/index.d.ts +14 -0
  235. package/dist/components/Resizable/index.d.ts.map +1 -0
  236. package/dist/components/Resizable/index.js +109 -0
  237. package/dist/components/ScrollArea/ScrollArea.styles.d.ts +21 -0
  238. package/dist/components/ScrollArea/ScrollArea.styles.d.ts.map +1 -0
  239. package/dist/components/ScrollArea/ScrollArea.styles.js +87 -0
  240. package/dist/components/ScrollArea/index.d.ts +30 -0
  241. package/dist/components/ScrollArea/index.d.ts.map +1 -0
  242. package/dist/components/ScrollArea/index.js +238 -0
  243. package/dist/components/Select/index.d.ts +1 -1
  244. package/dist/components/Select/index.d.ts.map +1 -1
  245. package/dist/components/Select/index.js +204 -144
  246. package/dist/components/Separator/Separator.types.d.ts +61 -0
  247. package/dist/components/Separator/Separator.types.d.ts.map +1 -0
  248. package/dist/components/Separator/index.d.ts +65 -0
  249. package/dist/components/Separator/index.d.ts.map +1 -0
  250. package/dist/components/Separator/index.js +320 -0
  251. package/dist/components/Skeleton/index.d.ts +1 -1
  252. package/dist/components/Skeleton/index.d.ts.map +1 -1
  253. package/dist/components/Skeleton/index.js +73 -45
  254. package/dist/components/Slider/Slider.d.ts +19 -0
  255. package/dist/components/Slider/Slider.d.ts.map +1 -0
  256. package/dist/components/Slider/Slider.js +668 -0
  257. package/dist/components/Slider/Slider.types.d.ts +41 -0
  258. package/dist/components/Slider/Slider.types.d.ts.map +1 -0
  259. package/dist/components/Slider/index.d.ts +3 -0
  260. package/dist/components/Slider/index.d.ts.map +1 -0
  261. package/dist/components/Slider/index.js +7 -0
  262. package/dist/components/Sonner/Sonner.styles.d.ts +10 -0
  263. package/dist/components/Sonner/Sonner.styles.d.ts.map +1 -0
  264. package/dist/components/Sonner/Sonner.styles.js +92 -0
  265. package/dist/components/Sonner/SonnerExample.d.ts +3 -0
  266. package/dist/components/Sonner/SonnerExample.d.ts.map +1 -0
  267. package/dist/components/Sonner/SonnerExample.js +394 -0
  268. package/dist/components/Sonner/index.d.ts +64 -0
  269. package/dist/components/Sonner/index.d.ts.map +1 -0
  270. package/dist/components/Sonner/index.js +213 -0
  271. package/dist/components/Spinner/index.d.ts +3 -3
  272. package/dist/components/Spinner/index.d.ts.map +1 -1
  273. package/dist/components/Spinner/index.js +211 -143
  274. package/dist/components/Steps/index.d.ts.map +1 -1
  275. package/dist/components/Steps/index.js +92 -80
  276. package/dist/components/Switch/index.d.ts +1 -1
  277. package/dist/components/Switch/index.d.ts.map +1 -1
  278. package/dist/components/Switch/index.js +119 -82
  279. package/dist/components/Tab/index.d.ts.map +1 -1
  280. package/dist/components/Tab/index.js +86 -64
  281. package/dist/components/Table/index.d.ts.map +1 -1
  282. package/dist/components/Table/index.js +81 -64
  283. package/dist/components/Tag/index.d.ts +1 -1
  284. package/dist/components/Tag/index.d.ts.map +1 -1
  285. package/dist/components/Tag/index.js +171 -115
  286. package/dist/components/TagInput/index.d.ts.map +1 -1
  287. package/dist/components/TagInput/index.js +202 -140
  288. package/dist/components/TextArea/index.d.ts.map +1 -1
  289. package/dist/components/TextArea/index.js +153 -111
  290. package/dist/components/TextEditor/TextEditor.styles.d.ts +27 -0
  291. package/dist/components/TextEditor/TextEditor.styles.d.ts.map +1 -0
  292. package/dist/components/TextEditor/TextEditor.styles.js +286 -0
  293. package/dist/components/TextEditor/TextEditor.types.d.ts +110 -0
  294. package/dist/components/TextEditor/TextEditor.types.d.ts.map +1 -0
  295. package/dist/components/TextEditor/index.d.ts +37 -0
  296. package/dist/components/TextEditor/index.d.ts.map +1 -0
  297. package/dist/components/TextEditor/index.js +512 -0
  298. package/dist/components/Timeline/index.d.ts.map +1 -1
  299. package/dist/components/Timeline/index.js +77 -52
  300. package/dist/components/Toast/ToastItem.d.ts.map +1 -1
  301. package/dist/components/Toast/ToastItem.js +145 -92
  302. package/dist/components/Toggle/Toggle.styles.d.ts +10 -0
  303. package/dist/components/Toggle/Toggle.styles.d.ts.map +1 -0
  304. package/dist/components/Toggle/Toggle.styles.js +92 -0
  305. package/dist/components/Toggle/Toggle.types.d.ts +135 -0
  306. package/dist/components/Toggle/Toggle.types.d.ts.map +1 -0
  307. package/dist/components/Toggle/index.d.ts +50 -0
  308. package/dist/components/Toggle/index.d.ts.map +1 -0
  309. package/dist/components/Toggle/index.js +115 -0
  310. package/dist/components/ToggleGroup/ToggleGroup.styles.d.ts +16 -0
  311. package/dist/components/ToggleGroup/ToggleGroup.styles.d.ts.map +1 -0
  312. package/dist/components/ToggleGroup/ToggleGroup.styles.js +153 -0
  313. package/dist/components/ToggleGroup/ToggleGroup.types.d.ts +85 -0
  314. package/dist/components/ToggleGroup/ToggleGroup.types.d.ts.map +1 -0
  315. package/dist/components/ToggleGroup/index.d.ts +65 -0
  316. package/dist/components/ToggleGroup/index.d.ts.map +1 -0
  317. package/dist/components/ToggleGroup/index.js +137 -0
  318. package/dist/components/Tooltip/index.d.ts +4 -4
  319. package/dist/components/Tooltip/index.d.ts.map +1 -1
  320. package/dist/components/Tooltip/index.js +145 -103
  321. package/dist/components/Tree/index.d.ts.map +1 -1
  322. package/dist/components/Tree/index.js +65 -52
  323. package/dist/components/Typography/Typography.styles.d.ts +17 -0
  324. package/dist/components/Typography/Typography.styles.d.ts.map +1 -0
  325. package/dist/components/Typography/Typography.styles.js +76 -0
  326. package/dist/components/Typography/Typography.types.d.ts +50 -0
  327. package/dist/components/Typography/Typography.types.d.ts.map +1 -0
  328. package/dist/components/Typography/index.d.ts +95 -0
  329. package/dist/components/Typography/index.d.ts.map +1 -0
  330. package/dist/components/Typography/index.js +112 -0
  331. package/dist/components/Upload/index.d.ts.map +1 -1
  332. package/dist/components/Upload/index.js +294 -204
  333. package/dist/index.d.ts +42 -4
  334. package/dist/index.d.ts.map +1 -1
  335. package/dist/index.js +369 -177
  336. package/dist/lib/validation.d.ts +128 -0
  337. package/dist/lib/validation.d.ts.map +1 -0
  338. package/dist/lib/validation.js +169 -0
  339. package/package.json +2 -1
  340. package/dist/components/Divider/Divider.types.d.ts +0 -61
  341. package/dist/components/Divider/Divider.types.d.ts.map +0 -1
  342. package/dist/components/Divider/index.d.ts +0 -65
  343. package/dist/components/Divider/index.d.ts.map +0 -1
  344. package/dist/components/Divider/index.js +0 -275
  345. package/dist/components/Modal/Modal.d.ts +0 -26
  346. package/dist/components/Modal/Modal.d.ts.map +0 -1
  347. package/dist/components/Modal/Modal.js +0 -181
  348. package/dist/components/Modal/Modal.subcomponents.types.d.ts.map +0 -1
  349. package/dist/components/Modal/Modal.types.d.ts.map +0 -1
  350. package/dist/components/Modal/ModalComponents.d.ts +0 -33
  351. package/dist/components/Modal/ModalComponents.d.ts.map +0 -1
  352. package/dist/components/Modal/ModalComponents.js +0 -108
  353. package/dist/components/Modal/ModalOverlay.d.ts +0 -10
  354. package/dist/components/Modal/ModalOverlay.d.ts.map +0 -1
  355. package/dist/components/Modal/index.d.ts +0 -6
  356. package/dist/components/Modal/index.d.ts.map +0 -1
  357. package/dist/components/Modal/index.js +0 -16
  358. package/dist/components/Modal/index.old.d.ts +0 -52
  359. package/dist/components/Modal/index.old.d.ts.map +0 -1
package/README.md CHANGED
@@ -27,7 +27,7 @@
27
27
 
28
28
  ## ✨ Features
29
29
 
30
- - 🎨 **45 Modern Components** - Button, ButtonGroup, Alert, Badge, Breadcrumb, Card, Chip, Divider, Drawer, Accordion, Avatar, AvatarGroup, Tooltip, Link, List, Timeline, Tree, Image, Carousel, Steps, Table, Rating, Progress, Popover, PlayButton, FloatingActionButton, Radio, Switch, Checkbox, CheckboxGroup, Select, Dropdown, Tag, TagInput, TextArea, Upload, Modal, Toast, Empty, Autocomplete, Skeleton, Pagination, DatePicker, Tab, Input
30
+ - 🎨 **46 Modern Components** - Button, ButtonGroup, Alert, AspectRatio, Badge, Breadcrumb, Card, Chip, Separator, Drawer, Accordion, Avatar, AvatarGroup, Tooltip, Link, List, Timeline, Tree, Image, Carousel, Steps, Table, Rating, Progress, Popover, PlayButton, FloatingActionButton, Radio, Switch, Checkbox, CheckboxGroup, Select, Dropdown, Tag, TagInput, TextArea, Upload, Dialog, Toast, Empty, Autocomplete, Skeleton, Pagination, DatePicker, Tab, Input
31
31
  - 🌓 **Dark Mode** - Seamless theme switching with full dark mode support
32
32
  - 🔮 **Glass Morphism** - Beautiful backdrop blur effects across components
33
33
  - 🎯 **Type-Safe** - Full TypeScript support with comprehensive prop types
@@ -148,7 +148,7 @@ import { cn } from "saha-ui/lib/utils";
148
148
  | **Breadcrumb** | Navigation trail with 5 variants, 4 separators, and collapsing | ✅ | ✅ |
149
149
  | **Card** | Container with 5 variants and sub-components | ✅ | ✅ |
150
150
  | **Chip** | Interactive tags with 5 variants, deletable, and avatars | ✅ | ✅ |
151
- | **Divider** | Content separator with 5 variants and label support | ✅ | ✅ |
151
+ | **Separator** | Content separator with 5 variants and label support | ✅ | ✅ |
152
152
  | **Drawer** | Side panel with 4 positions, 5 sizes, animations, nested support | ✅ | ✅ |
153
153
  | **Accordion** | Collapsible content with 5 behavior modes | ✅ | ✅ |
154
154
  | **Avatar** | User profile images with status indicators | ✅ | ✅ |
@@ -177,7 +177,7 @@ import { cn } from "saha-ui/lib/utils";
177
177
  | **TagInput** | Dynamic tag input with validation, Enter/Comma keys, paste support | ✅ | ✅ |
178
178
  | **TextArea** | Multi-line text input with auto-resize, character count, validation | ✅ | ✅ |
179
179
  | **Upload** | File upload with drag & drop, preview, progress, validation, 4 types | ✅ | ✅ |
180
- | **Modal** | Dialog with 9 variants, 7 sizes, animations, focus trap, accessibility | ✅ | ✅ |
180
+ | **Dialog** | Dialog with 9 variants, 7 sizes, animations, focus trap, accessibility | ✅ | ✅ |
181
181
  | **Toast** | Notification toasts with 4 variants, 6 positions, 4 animations, actions | ✅ | ✅ |
182
182
  | **Empty** | Empty states with 4 variants, 4 sizes, 13 preset icons, animations | ✅ | ✅ |
183
183
  | **Autocomplete** | Search input with filtering, keyboard nav, grouping, async, composable | ✅ | ✅ |
@@ -307,15 +307,15 @@ import { Chip } from "saha-ui";
307
307
  </Chip>
308
308
  ```
309
309
 
310
- ### Divider
310
+ ### Separator
311
311
 
312
312
  ```tsx
313
- import { Divider } from "saha-ui";
313
+ import { Separator } from "saha-ui";
314
314
 
315
- <Divider />
316
- <Divider label="OR" />
317
- <Divider variant="gradient" thickness="medium" />
318
- <Divider orientation="vertical" className="h-24" />
315
+ <Separator />
316
+ <Separator label="OR" />
317
+ <Separator variant="gradient" thickness="medium" />
318
+ <Separator orientation="vertical" className="h-24" />
319
319
  ```
320
320
 
321
321
  ### Accordion
@@ -1231,7 +1231,7 @@ import { ButtonGroup, Button } from "saha-ui";
1231
1231
  **Contextual Usage:**
1232
1232
 
1233
1233
  ```tsx
1234
- // In modal footer
1234
+ // In dialog footer
1235
1235
  <Card>
1236
1236
  <CardHeader>
1237
1237
  <CardTitle>Confirm Action</CardTitle>
@@ -1805,7 +1805,7 @@ const customChipClass = chipVariants({
1805
1805
 
1806
1806
  ---
1807
1807
 
1808
- ### Divider
1808
+ ### Separator
1809
1809
 
1810
1810
  Content separator component with 5 modern variants, optional labels, and decorative elements.
1811
1811
 
@@ -1815,35 +1815,35 @@ Content separator component with 5 modern variants, optional labels, and decorat
1815
1815
  **Spacing:** `none` `xs` `sm` `md` `lg` `xl`
1816
1816
 
1817
1817
  ```tsx
1818
- import { Divider } from "saha-ui";
1818
+ import { Separator } from "saha-ui";
1819
1819
 
1820
- // Basic divider
1821
- <Divider />
1820
+ // Basic Separator
1821
+ <Separator />
1822
1822
 
1823
1823
  // With label
1824
- <Divider label="OR" />
1824
+ <Separator label="OR" />
1825
1825
 
1826
1826
  // Gradient variant
1827
- <Divider variant="gradient" thickness="medium" />
1827
+ <Separator variant="gradient" thickness="medium" />
1828
1828
 
1829
- // Vertical divider
1829
+ // Vertical Separator
1830
1830
  <div className="flex items-center h-24">
1831
1831
  <div>Section 1</div>
1832
- <Divider orientation="vertical" className="h-full" />
1832
+ <Separator orientation="vertical" className="h-full" />
1833
1833
  <div>Section 2</div>
1834
1834
  </div>
1835
1835
 
1836
1836
  // Decorative with label
1837
- <Divider label="Continue Reading" decorative />
1837
+ <Separator label="Continue Reading" decorative />
1838
1838
 
1839
1839
  // Custom positioning
1840
- <Divider label="Section Start" labelPosition="left" variant="dashed" />
1840
+ <Separator label="Section Start" labelPosition="left" variant="dashed" />
1841
1841
 
1842
1842
  // Different thickness
1843
- <Divider thickness="thick" variant="solid" />
1843
+ <Separator thickness="thick" variant="solid" />
1844
1844
 
1845
1845
  // Custom spacing
1846
- <Divider spacing="xl" variant="gradient" />
1846
+ <Separator spacing="xl" variant="gradient" />
1847
1847
  ```
1848
1848
 
1849
1849
  **Features:**
@@ -1870,7 +1870,7 @@ import { Divider } from "saha-ui";
1870
1870
  **Props:**
1871
1871
 
1872
1872
  ```tsx
1873
- interface DividerProps {
1873
+ interface SeparatorProps {
1874
1874
  variant?: "solid" | "dashed" | "dotted" | "gradient" | "glass";
1875
1875
  orientation?: "horizontal" | "vertical";
1876
1876
  thickness?: "thin" | "medium" | "thick";
@@ -1892,7 +1892,7 @@ interface DividerProps {
1892
1892
  Sign in with Email
1893
1893
  </Button>
1894
1894
 
1895
- <Divider label="OR" variant="gradient" spacing="sm" />
1895
+ <Separator label="OR" variant="gradient" spacing="sm" />
1896
1896
 
1897
1897
  <Button variant="outline" className="w-full">
1898
1898
  Continue with GitHub
@@ -1904,7 +1904,7 @@ interface DividerProps {
1904
1904
  <article>
1905
1905
  <p>Introduction paragraph...</p>
1906
1906
 
1907
- <Divider
1907
+ <Separator
1908
1908
  label="Section 1"
1909
1909
  labelPosition="left"
1910
1910
  variant="dashed"
@@ -1913,7 +1913,7 @@ interface DividerProps {
1913
1913
 
1914
1914
  <p>Main content...</p>
1915
1915
 
1916
- <Divider
1916
+ <Separator
1917
1917
  label="Conclusion"
1918
1918
  labelPosition="left"
1919
1919
  variant="dashed"
@@ -1922,13 +1922,13 @@ interface DividerProps {
1922
1922
 
1923
1923
  <p>Summary...</p>
1924
1924
 
1925
- <Divider decorative spacing="lg" variant="gradient" />
1925
+ <Separator decorative spacing="lg" variant="gradient" />
1926
1926
  </article>
1927
1927
 
1928
1928
  // Vertical layout sections
1929
1929
  <div className="flex h-64">
1930
1930
  <div className="flex-1">Left Panel</div>
1931
- <Divider
1931
+ <Separator
1932
1932
  orientation="vertical"
1933
1933
  variant="gradient"
1934
1934
  className="h-full"
@@ -1939,9 +1939,9 @@ interface DividerProps {
1939
1939
  // Dashboard sections
1940
1940
  <div className="flex gap-4 h-48">
1941
1941
  <Card className="flex-1">Stats 1</Card>
1942
- <Divider orientation="vertical" variant="glass" className="h-full" />
1942
+ <Separator orientation="vertical" variant="glass" className="h-full" />
1943
1943
  <Card className="flex-1">Stats 2</Card>
1944
- <Divider orientation="vertical" variant="glass" className="h-full" />
1944
+ <Separator orientation="vertical" variant="glass" className="h-full" />
1945
1945
  <Card className="flex-1">Stats 3</Card>
1946
1946
  </div>
1947
1947
  ```
@@ -1950,24 +1950,24 @@ interface DividerProps {
1950
1950
 
1951
1951
  ```tsx
1952
1952
  import {
1953
- dividerVariants,
1954
- dividerLineVariants,
1955
- dividerLabelVariants,
1953
+ SeparatorVariants,
1954
+ SeparatorLineVariants,
1955
+ SeparatorLabelVariants,
1956
1956
  } from "saha-ui";
1957
1957
 
1958
1958
  // Use exported variants for custom styling
1959
- const customContainerClass = dividerVariants({
1959
+ const customContainerClass = SeparatorVariants({
1960
1960
  orientation: "horizontal",
1961
1961
  spacing: "lg",
1962
1962
  });
1963
1963
 
1964
- const customLineClass = dividerLineVariants({
1964
+ const customLineClass = SeparatorLineVariants({
1965
1965
  variant: "gradient",
1966
1966
  orientation: "horizontal",
1967
1967
  thickness: "medium",
1968
1968
  });
1969
1969
 
1970
- const customLabelClass = dividerLabelVariants({
1970
+ const customLabelClass = SeparatorLabelVariants({
1971
1971
  orientation: "horizontal",
1972
1972
  });
1973
1973
  ```
@@ -2484,7 +2484,7 @@ import { CheckCircle, Star, Zap, Heart } from 'lucide-react';
2484
2484
 
2485
2485
  - **default** - Clean, minimal design with standard list styling
2486
2486
  - **bordered** - Card background with border, shadow, and backdrop blur (20px)
2487
- - **divided** - Items separated by divider lines, subtle hover effects
2487
+ - **divided** - Items separated by Separator lines, subtle hover effects
2488
2488
  - **striped** - Alternating background colors for better readability
2489
2489
  - **cards** - Individual card-style items with gradient overlay on hover
2490
2490
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Accordion/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2D,MAAM,OAAO,CAAC;AAIhF,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EAEtB,MAAM,mBAAmB,CAAC;AAwH3B,eAAO,MAAM,SAAS,uFA2ErB,CAAC;AAIF,eAAO,MAAM,aAAa,2FAsBxB,CAAC;AAIH,eAAO,MAAM,gBAAgB,iGA6C3B,CAAC;AAIH,eAAO,MAAM,gBAAgB,8FAsB3B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Accordion/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AAIf,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EAEtB,MAAM,mBAAmB,CAAC;AA6H3B,eAAO,MAAM,SAAS,uFA6GrB,CAAC;AAIF,eAAO,MAAM,aAAa,2FAsBxB,CAAC;AAIH,eAAO,MAAM,gBAAgB,iGA6C3B,CAAC;AAIH,eAAO,MAAM,gBAAgB,8FAsB3B,CAAC"}
@@ -1,8 +1,9 @@
1
- import { jsx as n, jsxs as v } from "react/jsx-runtime";
2
- import p, { createContext as g, useState as V, useCallback as R, useContext as h } from "react";
1
+ import { jsx as d, jsxs as y } from "react/jsx-runtime";
2
+ import p, { createContext as g, useState as I, useEffect as E, useCallback as R, useContext as h } from "react";
3
3
  import { cva as u } from "class-variance-authority";
4
- import { cn as d } from "../../lib/utils.js";
5
- import { ChevronDown as j } from "lucide-react";
4
+ import { cn as b } from "../../lib/utils.js";
5
+ import { ChevronDown as T } from "lucide-react";
6
+ import { createValidator as j, isValidBoolean as P, commonValidators as _ } from "../../lib/validation.js";
6
7
  const w = g(
7
8
  void 0
8
9
  ), x = () => {
@@ -19,7 +20,7 @@ const w = g(
19
20
  "AccordionTrigger and AccordionContent must be used within an AccordionItem component"
20
21
  );
21
22
  return e;
22
- }, T = u(
23
+ }, B = u(
23
24
  "w-full space-y-0 rounded-2xl overflow-hidden transition-all duration-300 relative isolate hover:shadow-2xl",
24
25
  {
25
26
  variants: {
@@ -36,7 +37,7 @@ const w = g(
36
37
  variant: "default"
37
38
  }
38
39
  }
39
- ), E = u(
40
+ ), D = u(
40
41
  "group relative w-full overflow-hidden transition-all duration-300 ease-out border-b border-border/30 last:border-b-0 backdrop-blur-sm shadow-sm hover:shadow-lg transition-shadow isolate before:absolute before:inset-0 before:bg-gradient-to-r before:from-transparent before:via-primary/5 before:to-transparent before:opacity-0 hover:before:opacity-100 before:transition-opacity before:duration-300",
41
42
  {
42
43
  variants: {
@@ -54,7 +55,7 @@ const w = g(
54
55
  disabled: !1
55
56
  }
56
57
  }
57
- ), P = u(
58
+ ), H = u(
58
59
  "w-full flex justify-between items-center cursor-pointer transition-all duration-300 px-6 py-4 gap-4 relative isolate hover:scale-[1.01] active:scale-[0.99]",
59
60
  {
60
61
  variants: {
@@ -67,7 +68,7 @@ const w = g(
67
68
  isOpen: !1
68
69
  }
69
70
  }
70
- ), D = u(
71
+ ), S = u(
71
72
  "w-full px-6 overflow-hidden transition-all duration-500 ease-in-out bg-card/20",
72
73
  {
73
74
  variants: {
@@ -80,44 +81,61 @@ const w = g(
80
81
  isOpen: !1
81
82
  }
82
83
  }
83
- ), H = p.forwardRef(
84
+ ), U = p.forwardRef(
84
85
  ({
85
86
  type: e = "single",
86
- value: o,
87
- defaultValue: a,
88
- onValueChange: r,
89
- variant: b = "default",
90
- className: t,
91
- collapsible: i = !1,
87
+ value: a,
88
+ defaultValue: i,
89
+ onValueChange: o,
90
+ variant: c = "default",
91
+ className: r,
92
+ collapsible: n = !1,
92
93
  children: s
93
94
  }, m) => {
94
- const [N, k] = V(() => a !== void 0 ? a : e === "multiple" ? [] : ""), f = o !== void 0 ? o : N, O = R(
95
- (l) => {
96
- let c;
95
+ const [k, N] = I(() => i !== void 0 ? i : e === "multiple" ? [] : ""), l = a !== void 0 ? a : k;
96
+ E(() => {
97
+ const t = j("Accordion");
98
+ t.validateEnum("type", e, ["single", "multiple"]), t.validateEnum("variant", c, [
99
+ "default",
100
+ "controlled",
101
+ "allopen",
102
+ "toggle",
103
+ "firstopen",
104
+ "glass"
105
+ ]), t.validateType(
106
+ "collapsible",
107
+ n,
108
+ "boolean",
109
+ P
110
+ ), s || t.warn("Accordion should have AccordionItem children"), _.className(t, r);
111
+ }, [e, c, n, s, r]);
112
+ const O = R(
113
+ (t) => {
114
+ let f;
97
115
  if (e === "multiple") {
98
- const y = Array.isArray(f) ? f : [];
99
- y.includes(l) ? c = y.filter((I) => I !== l) : c = [...y, l];
116
+ const v = Array.isArray(l) ? l : [];
117
+ v.includes(t) ? f = v.filter((V) => V !== t) : f = [...v, t];
100
118
  } else
101
- i && f === l ? c = "" : c = l;
102
- r && r(c), o === void 0 && k(c);
119
+ n && l === t ? f = "" : f = t;
120
+ o && o(f), a === void 0 && N(f);
103
121
  },
104
- [e, f, i, r, o]
122
+ [e, l, n, o, a]
105
123
  );
106
- return /* @__PURE__ */ n(
124
+ return /* @__PURE__ */ d(
107
125
  w.Provider,
108
126
  {
109
127
  value: {
110
- value: f,
128
+ value: l,
111
129
  onValueChange: O,
112
- variant: b,
130
+ variant: c,
113
131
  type: e,
114
- collapsible: i
132
+ collapsible: n
115
133
  },
116
- children: /* @__PURE__ */ n(
134
+ children: /* @__PURE__ */ d(
117
135
  "div",
118
136
  {
119
137
  ref: m,
120
- className: d(T({ variant: b }), t),
138
+ className: b(B({ variant: c }), r),
121
139
  children: s
122
140
  }
123
141
  )
@@ -125,51 +143,51 @@ const w = g(
125
143
  );
126
144
  }
127
145
  );
128
- H.displayName = "Accordion";
129
- const S = p.forwardRef(({ value: e, className: o, disabled: a = !1, children: r }, b) => {
130
- const { value: t, type: i } = x(), s = i === "multiple" ? Array.isArray(t) && t.includes(e) : t === e;
131
- return /* @__PURE__ */ n(A.Provider, { value: { isOpen: s, disabled: a, value: e }, children: /* @__PURE__ */ n(
146
+ U.displayName = "Accordion";
147
+ const q = p.forwardRef(({ value: e, className: a, disabled: i = !1, children: o }, c) => {
148
+ const { value: r, type: n } = x(), s = n === "multiple" ? Array.isArray(r) && r.includes(e) : r === e;
149
+ return /* @__PURE__ */ d(A.Provider, { value: { isOpen: s, disabled: i, value: e }, children: /* @__PURE__ */ d(
132
150
  "div",
133
151
  {
134
- ref: b,
135
- className: d(E({ isOpen: s, disabled: a }), o),
152
+ ref: c,
153
+ className: b(D({ isOpen: s, disabled: i }), a),
136
154
  "data-state": s ? "open" : "closed",
137
- children: r
155
+ children: o
138
156
  }
139
157
  ) });
140
158
  });
141
- S.displayName = "AccordionItem";
142
- const U = p.forwardRef(({ children: e, className: o, icon: a }, r) => {
143
- const { onValueChange: b } = x(), { isOpen: t, disabled: i, value: s } = C(), m = () => {
144
- i || b(s);
159
+ q.displayName = "AccordionItem";
160
+ const z = p.forwardRef(({ children: e, className: a, icon: i }, o) => {
161
+ const { onValueChange: c } = x(), { isOpen: r, disabled: n, value: s } = C(), m = () => {
162
+ n || c(s);
145
163
  };
146
- return /* @__PURE__ */ v(
164
+ return /* @__PURE__ */ y(
147
165
  "button",
148
166
  {
149
- ref: r,
167
+ ref: o,
150
168
  type: "button",
151
- className: d(P({ isOpen: t }), o),
169
+ className: b(H({ isOpen: r }), a),
152
170
  onClick: m,
153
- "aria-expanded": t,
154
- disabled: i,
171
+ "aria-expanded": r,
172
+ disabled: n,
155
173
  children: [
156
- /* @__PURE__ */ n("h3", { className: "text-base font-semibold text-foreground tracking-wide flex-1 text-left", children: e }),
157
- /* @__PURE__ */ v("div", { className: "relative", children: [
158
- /* @__PURE__ */ n(
174
+ /* @__PURE__ */ d("h3", { className: "text-base font-semibold text-foreground tracking-wide flex-1 text-left", children: e }),
175
+ /* @__PURE__ */ y("div", { className: "relative", children: [
176
+ /* @__PURE__ */ d(
159
177
  "div",
160
178
  {
161
- className: d(
179
+ className: b(
162
180
  "absolute -inset-2 bg-gradient-to-r from-primary/20 via-secondary/20 to-accent/20 rounded-full blur-md opacity-0 transition-opacity duration-300",
163
- t && "opacity-100"
181
+ r && "opacity-100"
164
182
  )
165
183
  }
166
184
  ),
167
- a || /* @__PURE__ */ n(
168
- j,
185
+ i || /* @__PURE__ */ d(
186
+ T,
169
187
  {
170
- className: d(
188
+ className: b(
171
189
  "relative h-5 w-5 transition-all duration-500 ease-out",
172
- t ? "rotate-180 text-primary" : "rotate-0 text-muted-foreground group-hover:text-foreground"
190
+ r ? "rotate-180 text-primary" : "rotate-0 text-muted-foreground group-hover:text-foreground"
173
191
  )
174
192
  }
175
193
  )
@@ -178,21 +196,21 @@ const U = p.forwardRef(({ children: e, className: o, icon: a }, r) => {
178
196
  }
179
197
  );
180
198
  });
181
- U.displayName = "AccordionTrigger";
182
- const q = p.forwardRef(({ children: e, className: o }, a) => {
183
- const { isOpen: r } = C();
184
- return /* @__PURE__ */ n(
199
+ z.displayName = "AccordionTrigger";
200
+ const F = p.forwardRef(({ children: e, className: a }, i) => {
201
+ const { isOpen: o } = C();
202
+ return /* @__PURE__ */ d(
185
203
  "div",
186
204
  {
187
- ref: a,
188
- className: d(D({ isOpen: r }), o),
189
- "data-state": r ? "open" : "closed",
190
- children: /* @__PURE__ */ n(
205
+ ref: i,
206
+ className: b(S({ isOpen: o }), a),
207
+ "data-state": o ? "open" : "closed",
208
+ children: /* @__PURE__ */ d(
191
209
  "div",
192
210
  {
193
- className: d(
211
+ className: b(
194
212
  "text-muted-foreground leading-relaxed transition-all duration-300",
195
- r ? "translate-y-0 opacity-100" : "translate-y-2 opacity-0"
213
+ o ? "translate-y-0 opacity-100" : "translate-y-2 opacity-0"
196
214
  ),
197
215
  children: e
198
216
  }
@@ -200,10 +218,10 @@ const q = p.forwardRef(({ children: e, className: o }, a) => {
200
218
  }
201
219
  );
202
220
  });
203
- q.displayName = "AccordionContent";
221
+ F.displayName = "AccordionContent";
204
222
  export {
205
- H as Accordion,
206
- q as AccordionContent,
207
- S as AccordionItem,
208
- U as AccordionTrigger
223
+ U as Accordion,
224
+ F as AccordionContent,
225
+ q as AccordionItem,
226
+ z as AccordionTrigger
209
227
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Alert/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAGxC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAuP3C,QAAA,MAAM,KAAK,mFAsFV,CAAC;AAIF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Alert/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAQnD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAuP3C,QAAA,MAAM,KAAK,mFA2HV,CAAC;AAIF,eAAe,KAAK,CAAC"}
@@ -1,8 +1,9 @@
1
- import { jsx as e, jsxs as i } from "react/jsx-runtime";
2
- import v, { useState as m } from "react";
3
- import { cva as w } from "class-variance-authority";
4
- import { cn as p } from "../../lib/utils.js";
5
- const x = w(
1
+ import { jsx as e, jsxs as l } from "react/jsx-runtime";
2
+ import m, { useState as w, useEffect as p } from "react";
3
+ import { cva as x } from "class-variance-authority";
4
+ import { cn as N } from "../../lib/utils.js";
5
+ import { createValidator as k, isValidBoolean as u, commonValidators as y } from "../../lib/validation.js";
6
+ const L = x(
6
7
  "relative w-full p-4 transition-all duration-300 ease-out overflow-hidden isolate group hover:scale-[1.01] hover:shadow-2xl",
7
8
  {
8
9
  variants: {
@@ -159,12 +160,12 @@ const x = w(
159
160
  rounded: !0
160
161
  }
161
162
  }
162
- ), N = ({ status: t }) => {
163
- const r = "w-6 h-6 flex-shrink-0";
164
- return t === "success" ? /* @__PURE__ */ e(
163
+ ), C = ({ status: a }) => {
164
+ const t = "w-6 h-6 flex-shrink-0";
165
+ return a === "success" ? /* @__PURE__ */ e(
165
166
  "svg",
166
167
  {
167
- className: r,
168
+ className: t,
168
169
  fill: "none",
169
170
  viewBox: "0 0 24 24",
170
171
  stroke: "currentColor",
@@ -178,10 +179,10 @@ const x = w(
178
179
  }
179
180
  )
180
181
  }
181
- ) : t === "warning" ? /* @__PURE__ */ e(
182
+ ) : a === "warning" ? /* @__PURE__ */ e(
182
183
  "svg",
183
184
  {
184
- className: r,
185
+ className: t,
185
186
  fill: "none",
186
187
  viewBox: "0 0 24 24",
187
188
  stroke: "currentColor",
@@ -195,10 +196,10 @@ const x = w(
195
196
  }
196
197
  )
197
198
  }
198
- ) : t === "danger" ? /* @__PURE__ */ e(
199
+ ) : a === "danger" ? /* @__PURE__ */ e(
199
200
  "svg",
200
201
  {
201
- className: r,
202
+ className: t,
202
203
  fill: "none",
203
204
  viewBox: "0 0 24 24",
204
205
  stroke: "currentColor",
@@ -215,7 +216,7 @@ const x = w(
215
216
  ) : /* @__PURE__ */ e(
216
217
  "svg",
217
218
  {
218
- className: r,
219
+ className: t,
219
220
  fill: "none",
220
221
  viewBox: "0 0 24 24",
221
222
  stroke: "currentColor",
@@ -230,49 +231,66 @@ const x = w(
230
231
  )
231
232
  }
232
233
  );
233
- }, k = v.forwardRef(
234
+ }, M = m.forwardRef(
234
235
  ({
235
- variant: t = "solid",
236
- message: r = "",
236
+ variant: a = "solid",
237
+ message: t = "",
237
238
  title: s,
238
239
  status: o = "info",
239
- rounded: c = !0,
240
- closeable: d = !1,
241
- className: l,
242
- ...u
243
- }, f) => {
244
- const [b, g] = m(!0);
245
- if (!b) return null;
246
- const h = r.split(/(https?:\/\/[^\s]+)/).map(
247
- (a, n) => a.match(/(https?:\/\/[^\s]+)/) ? /* @__PURE__ */ e(
240
+ rounded: n = !0,
241
+ closeable: i = !1,
242
+ className: c,
243
+ ...f
244
+ }, b) => {
245
+ const [g, h] = w(!0);
246
+ if (p(() => {
247
+ const r = k("Alert");
248
+ r.validateEnum("variant", a, [
249
+ "solid",
250
+ "subtle",
251
+ "left-accent",
252
+ "top-accent",
253
+ "outline",
254
+ "glass"
255
+ ]), r.validateEnum("status", o, [
256
+ "info",
257
+ "success",
258
+ "warning",
259
+ "danger"
260
+ ]), r.validateType("rounded", n, "boolean", u), r.validateType("closeable", i, "boolean", u), !t && !s && r.warn(
261
+ "Alert should have either a message or title for accessibility"
262
+ ), y.className(r, c);
263
+ }, [a, o, n, i, t, s, c]), !g) return null;
264
+ const v = t.split(/(https?:\/\/[^\s]+)/).map(
265
+ (r, d) => r.match(/(https?:\/\/[^\s]+)/) ? /* @__PURE__ */ e(
248
266
  "a",
249
267
  {
250
268
  className: "underline hover:opacity-80 transition-opacity font-medium",
251
- href: a,
269
+ href: r,
252
270
  target: "_blank",
253
271
  rel: "noopener noreferrer",
254
- children: a
272
+ children: r
255
273
  },
256
- n
257
- ) : /* @__PURE__ */ e("span", { children: a }, n)
274
+ d
275
+ ) : /* @__PURE__ */ e("span", { children: r }, d)
258
276
  );
259
277
  return /* @__PURE__ */ e(
260
278
  "div",
261
279
  {
262
- ref: f,
263
- className: p(x({ variant: t, status: o, rounded: c }), l),
280
+ ref: b,
281
+ className: N(L({ variant: a, status: o, rounded: n }), c),
264
282
  role: "alert",
265
- ...u,
266
- children: /* @__PURE__ */ i("div", { className: "relative z-10 flex items-start gap-3", children: [
267
- /* @__PURE__ */ e(N, { status: o }),
268
- /* @__PURE__ */ i("div", { className: "flex-1 min-w-0", children: [
283
+ ...f,
284
+ children: /* @__PURE__ */ l("div", { className: "relative z-10 flex items-start gap-3", children: [
285
+ /* @__PURE__ */ e(C, { status: o }),
286
+ /* @__PURE__ */ l("div", { className: "flex-1 min-w-0", children: [
269
287
  s && /* @__PURE__ */ e("h4", { className: "font-semibold text-base mb-1 tracking-tight", children: s }),
270
- /* @__PURE__ */ e("div", { className: "text-sm leading-relaxed opacity-95", children: h })
288
+ /* @__PURE__ */ e("div", { className: "text-sm leading-relaxed opacity-95", children: v })
271
289
  ] }),
272
- d && /* @__PURE__ */ e(
290
+ i && /* @__PURE__ */ e(
273
291
  "button",
274
292
  {
275
- onClick: () => g(!1),
293
+ onClick: () => h(!1),
276
294
  className: "flex-shrink-0 p-1 rounded-lg hover:bg-black/10 dark:hover:bg-white/10 transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-current/30",
277
295
  "aria-label": "Close alert",
278
296
  children: /* @__PURE__ */ e(
@@ -300,7 +318,7 @@ const x = w(
300
318
  );
301
319
  }
302
320
  );
303
- k.displayName = "Alert";
321
+ M.displayName = "Alert";
304
322
  export {
305
- k as default
323
+ M as default
306
324
  };