@zentauri-ui/zentauri-components 1.4.6 → 1.4.7

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 (682) hide show
  1. package/README.md +136 -90
  2. package/cli/index.mjs +45 -26
  3. package/cli/registry.json +9 -1
  4. package/cli/rewrite-imports.mjs +8 -3
  5. package/dist/charts/area/Area.d.ts +6 -0
  6. package/dist/charts/area/Area.d.ts.map +1 -0
  7. package/dist/charts/area/index.d.ts +4 -0
  8. package/dist/charts/area/index.d.ts.map +1 -0
  9. package/dist/charts/area.js +119 -0
  10. package/dist/charts/area.js.map +1 -0
  11. package/dist/charts/area.mjs +106 -0
  12. package/dist/charts/area.mjs.map +1 -0
  13. package/dist/charts/bar/Bar.d.ts +6 -0
  14. package/dist/charts/bar/Bar.d.ts.map +1 -0
  15. package/dist/charts/bar/index.d.ts +4 -0
  16. package/dist/charts/bar/index.d.ts.map +1 -0
  17. package/dist/charts/bar.js +110 -0
  18. package/dist/charts/bar.js.map +1 -0
  19. package/dist/charts/bar.mjs +97 -0
  20. package/dist/charts/bar.mjs.map +1 -0
  21. package/dist/charts/bubble/Bubble.d.ts +6 -0
  22. package/dist/charts/bubble/Bubble.d.ts.map +1 -0
  23. package/dist/charts/bubble/index.d.ts +4 -0
  24. package/dist/charts/bubble/index.d.ts.map +1 -0
  25. package/dist/charts/bubble.js +122 -0
  26. package/dist/charts/bubble.js.map +1 -0
  27. package/dist/charts/bubble.mjs +109 -0
  28. package/dist/charts/bubble.mjs.map +1 -0
  29. package/dist/charts/line/Line.d.ts +6 -0
  30. package/dist/charts/line/Line.d.ts.map +1 -0
  31. package/dist/charts/line/index.d.ts +4 -0
  32. package/dist/charts/line/index.d.ts.map +1 -0
  33. package/dist/charts/line.js +113 -0
  34. package/dist/charts/line.js.map +1 -0
  35. package/dist/charts/line.mjs +100 -0
  36. package/dist/charts/line.mjs.map +1 -0
  37. package/dist/charts/shared/chart-frame.d.ts +32 -0
  38. package/dist/charts/shared/chart-frame.d.ts.map +1 -0
  39. package/dist/charts/shared/colors.d.ts +43 -0
  40. package/dist/charts/shared/colors.d.ts.map +1 -0
  41. package/dist/charts/shared/types.d.ts +43 -0
  42. package/dist/charts/shared/types.d.ts.map +1 -0
  43. package/dist/charts/shared/variants.d.ts +93 -0
  44. package/dist/charts/shared/variants.d.ts.map +1 -0
  45. package/dist/{chunk-IXDJ3IPG.mjs → chunk-2BAMNRAL.mjs} +40 -32
  46. package/dist/chunk-2BAMNRAL.mjs.map +1 -0
  47. package/dist/{chunk-JE3PD5ZA.js → chunk-2VUMVDR3.js} +8 -8
  48. package/dist/{chunk-JE3PD5ZA.js.map → chunk-2VUMVDR3.js.map} +1 -1
  49. package/dist/{chunk-DFEZH7TC.mjs → chunk-4D54YOL6.mjs} +2 -2
  50. package/dist/{chunk-DFEZH7TC.mjs.map → chunk-4D54YOL6.mjs.map} +1 -1
  51. package/dist/{chunk-BORK3BJO.mjs → chunk-5TV7EL3H.mjs} +19 -19
  52. package/dist/chunk-5TV7EL3H.mjs.map +1 -0
  53. package/dist/{chunk-BSWYZTYK.js → chunk-7DCFVPWN.js} +2 -2
  54. package/dist/chunk-7DCFVPWN.js.map +1 -0
  55. package/dist/{chunk-5QB2KNZQ.js → chunk-7TLKLMBM.js} +11 -9
  56. package/dist/chunk-7TLKLMBM.js.map +1 -0
  57. package/dist/{chunk-2P3UU2J3.mjs → chunk-A6KMZ5ZS.mjs} +12 -12
  58. package/dist/chunk-A6KMZ5ZS.mjs.map +1 -0
  59. package/dist/{chunk-U4YQCAXW.js → chunk-AD2LA3XN.js} +18 -18
  60. package/dist/chunk-AD2LA3XN.js.map +1 -0
  61. package/dist/{chunk-XLAFQ24R.js → chunk-AUGLZ3AN.js} +49 -41
  62. package/dist/chunk-AUGLZ3AN.js.map +1 -0
  63. package/dist/{chunk-OJ67PZ6N.js → chunk-BCZIYH53.js} +8 -8
  64. package/dist/{chunk-OJ67PZ6N.js.map → chunk-BCZIYH53.js.map} +1 -1
  65. package/dist/{chunk-UBFKTC2P.mjs → chunk-C5L465FW.mjs} +12 -12
  66. package/dist/chunk-C5L465FW.mjs.map +1 -0
  67. package/dist/chunk-CIN5JDN4.js +174 -0
  68. package/dist/chunk-CIN5JDN4.js.map +1 -0
  69. package/dist/{chunk-3OR47XMY.js → chunk-E4FZY7O2.js} +52 -33
  70. package/dist/chunk-E4FZY7O2.js.map +1 -0
  71. package/dist/{chunk-LVUPECBT.mjs → chunk-FQBMIZH2.mjs} +12 -12
  72. package/dist/chunk-FQBMIZH2.mjs.map +1 -0
  73. package/dist/{chunk-RDSPHBHK.mjs → chunk-G3LEYBRV.mjs} +50 -7
  74. package/dist/chunk-G3LEYBRV.mjs.map +1 -0
  75. package/dist/chunk-GBWGVNDA.js +160 -0
  76. package/dist/chunk-GBWGVNDA.js.map +1 -0
  77. package/dist/{chunk-XWM2S6VV.mjs → chunk-I6GR234Z.mjs} +22 -20
  78. package/dist/chunk-I6GR234Z.mjs.map +1 -0
  79. package/dist/{chunk-UXGHUBNJ.mjs → chunk-INMNX3HQ.mjs} +13 -13
  80. package/dist/{chunk-UXGHUBNJ.mjs.map → chunk-INMNX3HQ.mjs.map} +1 -1
  81. package/dist/chunk-IQZROQNJ.mjs +165 -0
  82. package/dist/chunk-IQZROQNJ.mjs.map +1 -0
  83. package/dist/{chunk-PGH27VTL.mjs → chunk-JBAUEGYD.mjs} +40 -32
  84. package/dist/chunk-JBAUEGYD.mjs.map +1 -0
  85. package/dist/{chunk-WZKGRU3U.js → chunk-JUDMPOCI.js} +103 -38
  86. package/dist/chunk-JUDMPOCI.js.map +1 -0
  87. package/dist/chunk-K6YI4FJO.mjs +158 -0
  88. package/dist/chunk-K6YI4FJO.mjs.map +1 -0
  89. package/dist/{chunk-WP7GYBRI.js → chunk-KC5LEZ6J.js} +2 -2
  90. package/dist/chunk-KC5LEZ6J.js.map +1 -0
  91. package/dist/{chunk-BVXTOEBI.mjs → chunk-LN77JJTY.mjs} +45 -26
  92. package/dist/chunk-LN77JJTY.mjs.map +1 -0
  93. package/dist/{chunk-E3DZNJAD.js → chunk-MCOQHXRW.js} +23 -21
  94. package/dist/chunk-MCOQHXRW.js.map +1 -0
  95. package/dist/{chunk-FLILFCQE.mjs → chunk-MTLLJFUI.mjs} +7 -8
  96. package/dist/chunk-MTLLJFUI.mjs.map +1 -0
  97. package/dist/{chunk-6I7X5BF2.js → chunk-N2OAI2HN.js} +18 -18
  98. package/dist/chunk-N2OAI2HN.js.map +1 -0
  99. package/dist/{chunk-BITDSQMR.js → chunk-OB4KJZK2.js} +19 -19
  100. package/dist/chunk-OB4KJZK2.js.map +1 -0
  101. package/dist/{chunk-PCK6LX3K.js → chunk-OLEMP2HL.js} +19 -19
  102. package/dist/{chunk-PCK6LX3K.js.map → chunk-OLEMP2HL.js.map} +1 -1
  103. package/dist/{chunk-2PQEXQVR.js → chunk-PWL5WD34.js} +76 -27
  104. package/dist/chunk-PWL5WD34.js.map +1 -0
  105. package/dist/{chunk-N4NO3SYL.js → chunk-Q5B44QW7.js} +48 -40
  106. package/dist/chunk-Q5B44QW7.js.map +1 -0
  107. package/dist/{chunk-FT2LMA66.mjs → chunk-QADZK5R7.mjs} +2 -2
  108. package/dist/chunk-QADZK5R7.mjs.map +1 -0
  109. package/dist/{chunk-WDCIZHXY.mjs → chunk-QZTEFGZF.mjs} +6 -4
  110. package/dist/chunk-QZTEFGZF.mjs.map +1 -0
  111. package/dist/{chunk-UOFTZKMM.js → chunk-S7WKFNPT.js} +18 -18
  112. package/dist/chunk-S7WKFNPT.js.map +1 -0
  113. package/dist/{chunk-XIXF7UVM.mjs → chunk-TINHLHCN.mjs} +12 -12
  114. package/dist/chunk-TINHLHCN.mjs.map +1 -0
  115. package/dist/{chunk-7HL3A4YF.mjs → chunk-TJUNN2PT.mjs} +73 -24
  116. package/dist/chunk-TJUNN2PT.mjs.map +1 -0
  117. package/dist/{chunk-4B7KGBQB.js → chunk-UWA23DUC.js} +12 -13
  118. package/dist/chunk-UWA23DUC.js.map +1 -0
  119. package/dist/{chunk-CY5BQKRZ.mjs → chunk-VXDEPZKH.mjs} +2 -2
  120. package/dist/chunk-VXDEPZKH.mjs.map +1 -0
  121. package/dist/{chunk-C2FCPQTO.js → chunk-Y745GQR2.js} +16 -16
  122. package/dist/chunk-Y745GQR2.js.map +1 -0
  123. package/dist/{chunk-TZ2JVWTZ.mjs → chunk-YNBJAFI2.mjs} +3 -3
  124. package/dist/{chunk-TZ2JVWTZ.mjs.map → chunk-YNBJAFI2.mjs.map} +1 -1
  125. package/dist/{chunk-P5HUBXUX.js → chunk-YTRGRHEB.js} +55 -12
  126. package/dist/chunk-YTRGRHEB.js.map +1 -0
  127. package/dist/{chunk-YNCD6TKE.mjs → chunk-ZBBFOMSJ.mjs} +103 -38
  128. package/dist/chunk-ZBBFOMSJ.mjs.map +1 -0
  129. package/dist/{chunk-UOZYPWDZ.js → chunk-ZS5756ZC.js} +2 -2
  130. package/dist/{chunk-UOZYPWDZ.js.map → chunk-ZS5756ZC.js.map} +1 -1
  131. package/dist/{chunk-W6PRMYUC.mjs → chunk-ZYZJ74XB.mjs} +3 -3
  132. package/dist/{chunk-W6PRMYUC.mjs.map → chunk-ZYZJ74XB.mjs.map} +1 -1
  133. package/dist/hooks/index.d.ts +2 -2
  134. package/dist/hooks/index.d.ts.map +1 -1
  135. package/dist/hooks/useClickOutside/useClickOutside.d.ts.map +1 -1
  136. package/dist/hooks/useClickOutside.js +2 -2
  137. package/dist/hooks/useClickOutside.mjs +1 -1
  138. package/dist/hooks/useClipboard/useClipboard.d.ts.map +1 -1
  139. package/dist/hooks/useClipboard.js.map +1 -1
  140. package/dist/hooks/useClipboard.mjs.map +1 -1
  141. package/dist/hooks/useFocusManagement/useFocusManagement.d.ts +5 -14
  142. package/dist/hooks/useFocusManagement/useFocusManagement.d.ts.map +1 -1
  143. package/dist/hooks/useFocusManagement.js +2 -2
  144. package/dist/hooks/useFocusManagement.mjs +1 -1
  145. package/dist/hooks/useLocalStorage/index.d.ts +1 -1
  146. package/dist/hooks/useLocalStorage/index.d.ts.map +1 -1
  147. package/dist/hooks/useLocalStorage.js +1 -3
  148. package/dist/hooks/useLocalStorage.js.map +1 -1
  149. package/dist/hooks/useLocalStorage.mjs +1 -3
  150. package/dist/hooks/useLocalStorage.mjs.map +1 -1
  151. package/dist/hooks/useMediaQuery/useMediaQuery.d.ts.map +1 -1
  152. package/dist/hooks/useMediaQuery.js +2 -2
  153. package/dist/hooks/useMediaQuery.mjs +1 -1
  154. package/dist/hooks/usePagination.js +4 -4
  155. package/dist/hooks/usePagination.mjs +2 -2
  156. package/dist/hooks/usePrefersColorScheme.js +2 -2
  157. package/dist/hooks/usePrefersColorScheme.mjs +1 -1
  158. package/dist/hooks/usePrefersReducedMotion.js +2 -2
  159. package/dist/hooks/usePrefersReducedMotion.mjs +1 -1
  160. package/dist/hooks/useResizeObserver/index.d.ts +1 -1
  161. package/dist/hooks/useResizeObserver/index.d.ts.map +1 -1
  162. package/dist/hooks/useSessionStorage/useSessionStorage.d.ts.map +1 -1
  163. package/dist/hooks/useSessionStorage.js.map +1 -1
  164. package/dist/hooks/useSessionStorage.mjs.map +1 -1
  165. package/dist/hooks/useThrottledCallback/useThrottledCallback.d.ts.map +1 -1
  166. package/dist/hooks/useThrottledCallback.js.map +1 -1
  167. package/dist/hooks/useThrottledCallback.mjs.map +1 -1
  168. package/dist/hooks/useWindowSize/useWindowSize.d.ts.map +1 -1
  169. package/dist/hooks/useWindowSize.js +4 -1
  170. package/dist/hooks/useWindowSize.js.map +1 -1
  171. package/dist/hooks/useWindowSize.mjs +4 -1
  172. package/dist/hooks/useWindowSize.mjs.map +1 -1
  173. package/dist/hooks/utils.js +5 -5
  174. package/dist/hooks/utils.mjs +1 -1
  175. package/dist/lib/utils.d.ts.map +1 -1
  176. package/dist/ui/accordion/accordion.d.ts.map +1 -1
  177. package/dist/ui/accordion/animated/accordion-content-animated.d.ts.map +1 -1
  178. package/dist/ui/accordion/animated/index.d.ts +1 -1
  179. package/dist/ui/accordion/animated/index.d.ts.map +1 -1
  180. package/dist/ui/accordion/animated/types.d.ts.map +1 -1
  181. package/dist/ui/accordion/animated.js +8 -11
  182. package/dist/ui/accordion/animated.js.map +1 -1
  183. package/dist/ui/accordion/animated.mjs +4 -7
  184. package/dist/ui/accordion/animated.mjs.map +1 -1
  185. package/dist/ui/accordion/variants.d.ts +2 -2
  186. package/dist/ui/accordion.js +10 -10
  187. package/dist/ui/accordion.js.map +1 -1
  188. package/dist/ui/accordion.mjs +3 -3
  189. package/dist/ui/accordion.mjs.map +1 -1
  190. package/dist/ui/alert/alert-base.d.ts.map +1 -1
  191. package/dist/ui/alert/alert.d.ts.map +1 -1
  192. package/dist/ui/alert/animated/index.d.ts.map +1 -1
  193. package/dist/ui/alert/animated.js +3 -3
  194. package/dist/ui/alert/animated.mjs +2 -2
  195. package/dist/ui/alert/types.d.ts.map +1 -1
  196. package/dist/ui/alert/variants.d.ts +1 -1
  197. package/dist/ui/alert.js +11 -11
  198. package/dist/ui/alert.js.map +1 -1
  199. package/dist/ui/alert.mjs +3 -3
  200. package/dist/ui/alert.mjs.map +1 -1
  201. package/dist/ui/avatar/animated/index.d.ts +1 -1
  202. package/dist/ui/avatar/animated/index.d.ts.map +1 -1
  203. package/dist/ui/avatar/animated.js +6 -6
  204. package/dist/ui/avatar/animated.mjs +3 -3
  205. package/dist/ui/avatar/avatar-base.d.ts.map +1 -1
  206. package/dist/ui/avatar/avatar.d.ts.map +1 -1
  207. package/dist/ui/avatar/variants.d.ts +1 -1
  208. package/dist/ui/avatar/variants.d.ts.map +1 -1
  209. package/dist/ui/avatar.js +10 -10
  210. package/dist/ui/avatar.js.map +1 -1
  211. package/dist/ui/avatar.mjs +3 -3
  212. package/dist/ui/avatar.mjs.map +1 -1
  213. package/dist/ui/badge/animated/index.d.ts +1 -1
  214. package/dist/ui/badge/animated/index.d.ts.map +1 -1
  215. package/dist/ui/badge/animated/types.d.ts.map +1 -1
  216. package/dist/ui/badge/animated.js +3 -3
  217. package/dist/ui/badge/animated.mjs +2 -2
  218. package/dist/ui/badge/badge-base.d.ts +1 -1
  219. package/dist/ui/badge/badge-base.d.ts.map +1 -1
  220. package/dist/ui/badge/types.d.ts +1 -0
  221. package/dist/ui/badge/types.d.ts.map +1 -1
  222. package/dist/ui/badge/variants.d.ts +18 -18
  223. package/dist/ui/badge/variants.d.ts.map +1 -1
  224. package/dist/ui/badge.js +5 -5
  225. package/dist/ui/badge.mjs +3 -3
  226. package/dist/ui/breadcrumb/breadcrumb.d.ts.map +1 -1
  227. package/dist/ui/breadcrumb/types.d.ts.map +1 -1
  228. package/dist/ui/breadcrumb/variants.d.ts +1 -1
  229. package/dist/ui/breadcrumb/variants.d.ts.map +1 -1
  230. package/dist/ui/breadcrumb.js +47 -43
  231. package/dist/ui/breadcrumb.js.map +1 -1
  232. package/dist/ui/breadcrumb.mjs +43 -39
  233. package/dist/ui/breadcrumb.mjs.map +1 -1
  234. package/dist/ui/buttons/animated/index.d.ts +1 -1
  235. package/dist/ui/buttons/animated/index.d.ts.map +1 -1
  236. package/dist/ui/buttons/animated/types.d.ts.map +1 -1
  237. package/dist/ui/buttons/animated.js +4 -4
  238. package/dist/ui/buttons/animated.mjs +2 -2
  239. package/dist/ui/buttons/types.d.ts.map +1 -1
  240. package/dist/ui/buttons/variants.d.ts +2 -2
  241. package/dist/ui/buttons.js +5 -5
  242. package/dist/ui/buttons.mjs +3 -3
  243. package/dist/ui/card/animated.js +8 -8
  244. package/dist/ui/card/animated.mjs +3 -3
  245. package/dist/ui/card/card-base.d.ts.map +1 -1
  246. package/dist/ui/card/card.d.ts.map +1 -1
  247. package/dist/ui/card/index.d.ts +2 -2
  248. package/dist/ui/card/index.d.ts.map +1 -1
  249. package/dist/ui/card/variants.d.ts +1 -1
  250. package/dist/ui/card.js +13 -13
  251. package/dist/ui/card.js.map +1 -1
  252. package/dist/ui/card.mjs +3 -3
  253. package/dist/ui/card.mjs.map +1 -1
  254. package/dist/ui/divider/animated/index.d.ts +1 -1
  255. package/dist/ui/divider/animated/index.d.ts.map +1 -1
  256. package/dist/ui/divider/animated/types.d.ts.map +1 -1
  257. package/dist/ui/divider/animated.js +3 -3
  258. package/dist/ui/divider/animated.mjs +2 -2
  259. package/dist/ui/divider/divider-base.d.ts.map +1 -1
  260. package/dist/ui/divider/variants.d.ts +2 -2
  261. package/dist/ui/divider.js +7 -7
  262. package/dist/ui/divider.mjs +3 -3
  263. package/dist/ui/drawer/animated/drawer-content-animated.d.ts.map +1 -1
  264. package/dist/ui/drawer/animated/index.d.ts +1 -1
  265. package/dist/ui/drawer/animated/index.d.ts.map +1 -1
  266. package/dist/ui/drawer/animated.js +19 -20
  267. package/dist/ui/drawer/animated.js.map +1 -1
  268. package/dist/ui/drawer/animated.mjs +9 -10
  269. package/dist/ui/drawer/animated.mjs.map +1 -1
  270. package/dist/ui/drawer/drawer-base.d.ts +1 -1
  271. package/dist/ui/drawer/drawer-base.d.ts.map +1 -1
  272. package/dist/ui/drawer/types.d.ts +1 -0
  273. package/dist/ui/drawer/types.d.ts.map +1 -1
  274. package/dist/ui/drawer/variants.d.ts +3 -3
  275. package/dist/ui/drawer.js +13 -13
  276. package/dist/ui/drawer.mjs +3 -3
  277. package/dist/ui/dropdown/dropdown.d.ts +1 -1
  278. package/dist/ui/dropdown/dropdown.d.ts.map +1 -1
  279. package/dist/ui/dropdown/types.d.ts +1 -0
  280. package/dist/ui/dropdown/types.d.ts.map +1 -1
  281. package/dist/ui/dropdown/variants.d.ts +4 -4
  282. package/dist/ui/dropdown.js +49 -31
  283. package/dist/ui/dropdown.js.map +1 -1
  284. package/dist/ui/dropdown.mjs +46 -28
  285. package/dist/ui/dropdown.mjs.map +1 -1
  286. package/dist/ui/empty-state/animated/empty-state-animated.d.ts.map +1 -1
  287. package/dist/ui/empty-state/animated/index.d.ts +2 -2
  288. package/dist/ui/empty-state/animated/index.d.ts.map +1 -1
  289. package/dist/ui/empty-state/animated.js +3 -3
  290. package/dist/ui/empty-state/animated.js.map +1 -1
  291. package/dist/ui/empty-state/animated.mjs +2 -2
  292. package/dist/ui/empty-state/animated.mjs.map +1 -1
  293. package/dist/ui/empty-state/empty-state-base.d.ts.map +1 -1
  294. package/dist/ui/empty-state/index.d.ts +1 -1
  295. package/dist/ui/empty-state/index.d.ts.map +1 -1
  296. package/dist/ui/empty-state/types.d.ts +1 -0
  297. package/dist/ui/empty-state/types.d.ts.map +1 -1
  298. package/dist/ui/empty-state.js +11 -11
  299. package/dist/ui/empty-state.mjs +3 -3
  300. package/dist/ui/file-upload/file-upload.d.ts.map +1 -1
  301. package/dist/ui/file-upload/variants.d.ts +1 -1
  302. package/dist/ui/file-upload/variants.d.ts.map +1 -1
  303. package/dist/ui/file-upload.js +4 -6
  304. package/dist/ui/file-upload.js.map +1 -1
  305. package/dist/ui/file-upload.mjs +2 -4
  306. package/dist/ui/file-upload.mjs.map +1 -1
  307. package/dist/ui/inputs/animated/index.d.ts +1 -1
  308. package/dist/ui/inputs/animated/index.d.ts.map +1 -1
  309. package/dist/ui/inputs/animated.js +3 -3
  310. package/dist/ui/inputs/animated.mjs +1 -1
  311. package/dist/ui/inputs/input-base.d.ts.map +1 -1
  312. package/dist/ui/inputs/types.d.ts +3 -1
  313. package/dist/ui/inputs/types.d.ts.map +1 -1
  314. package/dist/ui/inputs/variants.d.ts +2 -2
  315. package/dist/ui/inputs.js +49 -5
  316. package/dist/ui/inputs.js.map +1 -1
  317. package/dist/ui/inputs.mjs +47 -3
  318. package/dist/ui/inputs.mjs.map +1 -1
  319. package/dist/ui/modal/animated/index.d.ts +1 -1
  320. package/dist/ui/modal/animated/index.d.ts.map +1 -1
  321. package/dist/ui/modal/animated/modal-content-animated.d.ts.map +1 -1
  322. package/dist/ui/modal/animated.js +12 -13
  323. package/dist/ui/modal/animated.js.map +1 -1
  324. package/dist/ui/modal/animated.mjs +8 -9
  325. package/dist/ui/modal/animated.mjs.map +1 -1
  326. package/dist/ui/modal/index.d.ts +1 -1
  327. package/dist/ui/modal/index.d.ts.map +1 -1
  328. package/dist/ui/modal/modal-base.d.ts +4 -2
  329. package/dist/ui/modal/modal-base.d.ts.map +1 -1
  330. package/dist/ui/modal/types.d.ts.map +1 -1
  331. package/dist/ui/modal/variants.d.ts +2 -2
  332. package/dist/ui/modal.js +14 -14
  333. package/dist/ui/modal.js.map +1 -1
  334. package/dist/ui/modal.mjs +4 -4
  335. package/dist/ui/modal.mjs.map +1 -1
  336. package/dist/ui/pagination/pagination.d.ts +2 -2
  337. package/dist/ui/pagination/variants.d.ts +3 -3
  338. package/dist/ui/pagination.js +25 -25
  339. package/dist/ui/pagination.js.map +1 -1
  340. package/dist/ui/pagination.mjs +15 -15
  341. package/dist/ui/pagination.mjs.map +1 -1
  342. package/dist/ui/progress/animated/progress-animated.d.ts.map +1 -1
  343. package/dist/ui/progress/animated.js +52 -14
  344. package/dist/ui/progress/animated.js.map +1 -1
  345. package/dist/ui/progress/animated.mjs +45 -7
  346. package/dist/ui/progress/animated.mjs.map +1 -1
  347. package/dist/ui/progress/index.d.ts +2 -2
  348. package/dist/ui/progress/index.d.ts.map +1 -1
  349. package/dist/ui/progress/progress-base.d.ts.map +1 -1
  350. package/dist/ui/progress/progress.d.ts.map +1 -1
  351. package/dist/ui/progress/types.d.ts +3 -0
  352. package/dist/ui/progress/types.d.ts.map +1 -1
  353. package/dist/ui/progress/variants.d.ts +1 -1
  354. package/dist/ui/progress.js +10 -15
  355. package/dist/ui/progress.js.map +1 -1
  356. package/dist/ui/progress.mjs +4 -9
  357. package/dist/ui/progress.mjs.map +1 -1
  358. package/dist/ui/search/search-bar.d.ts +1 -1
  359. package/dist/ui/search/search-bar.d.ts.map +1 -1
  360. package/dist/ui/search/search-suggestion-list.d.ts.map +1 -1
  361. package/dist/ui/search/search-suggestion-utils.d.ts.map +1 -1
  362. package/dist/ui/search.js +15 -7
  363. package/dist/ui/search.js.map +1 -1
  364. package/dist/ui/search.mjs +11 -3
  365. package/dist/ui/search.mjs.map +1 -1
  366. package/dist/ui/select/select.d.ts +1 -1
  367. package/dist/ui/select/select.d.ts.map +1 -1
  368. package/dist/ui/select/types.d.ts +1 -0
  369. package/dist/ui/select/types.d.ts.map +1 -1
  370. package/dist/ui/select/variants.d.ts +4 -4
  371. package/dist/ui/select/variants.d.ts.map +1 -1
  372. package/dist/ui/select.js +145 -63
  373. package/dist/ui/select.js.map +1 -1
  374. package/dist/ui/select.mjs +141 -59
  375. package/dist/ui/select.mjs.map +1 -1
  376. package/dist/ui/skeleton/animated/skeleton-animated.d.ts.map +1 -1
  377. package/dist/ui/skeleton/animated/types.d.ts.map +1 -1
  378. package/dist/ui/skeleton/animated.js +34 -10
  379. package/dist/ui/skeleton/animated.js.map +1 -1
  380. package/dist/ui/skeleton/animated.mjs +29 -5
  381. package/dist/ui/skeleton/animated.mjs.map +1 -1
  382. package/dist/ui/skeleton/variants.d.ts +3 -3
  383. package/dist/ui/skeleton.js +10 -10
  384. package/dist/ui/skeleton.mjs +2 -2
  385. package/dist/ui/slider/slider.d.ts.map +1 -1
  386. package/dist/ui/slider/types.d.ts +8 -2
  387. package/dist/ui/slider/types.d.ts.map +1 -1
  388. package/dist/ui/slider/variants.d.ts +1 -1
  389. package/dist/ui/slider.js +53 -17
  390. package/dist/ui/slider.js.map +1 -1
  391. package/dist/ui/slider.mjs +45 -9
  392. package/dist/ui/slider.mjs.map +1 -1
  393. package/dist/ui/spinner/animated/spinner.d.ts.map +1 -1
  394. package/dist/ui/spinner/animated/variants.d.ts +1 -1
  395. package/dist/ui/spinner/animated.js +68 -56
  396. package/dist/ui/spinner/animated.js.map +1 -1
  397. package/dist/ui/spinner/animated.mjs +64 -52
  398. package/dist/ui/spinner/animated.mjs.map +1 -1
  399. package/dist/ui/stepper/stepper.d.ts +2 -7
  400. package/dist/ui/stepper/stepper.d.ts.map +1 -1
  401. package/dist/ui/stepper/types.d.ts +3 -3
  402. package/dist/ui/stepper/types.d.ts.map +1 -1
  403. package/dist/ui/stepper/variants.d.ts +1 -1
  404. package/dist/ui/stepper/variants.d.ts.map +1 -1
  405. package/dist/ui/stepper.js +12 -13
  406. package/dist/ui/stepper.js.map +1 -1
  407. package/dist/ui/stepper.mjs +9 -10
  408. package/dist/ui/stepper.mjs.map +1 -1
  409. package/dist/ui/table/animated/index.d.ts +2 -2
  410. package/dist/ui/table/animated/index.d.ts.map +1 -1
  411. package/dist/ui/table/animated.js +9 -9
  412. package/dist/ui/table/animated.mjs +3 -3
  413. package/dist/ui/table/table-base.d.ts +1 -1
  414. package/dist/ui/table/table-base.d.ts.map +1 -1
  415. package/dist/ui/table/types.d.ts +5 -1
  416. package/dist/ui/table/types.d.ts.map +1 -1
  417. package/dist/ui/table/variants.d.ts +3 -3
  418. package/dist/ui/table.js +15 -15
  419. package/dist/ui/table.mjs +2 -2
  420. package/dist/ui/tabs/animated/animations.d.ts.map +1 -1
  421. package/dist/ui/tabs/animated/index.d.ts +1 -1
  422. package/dist/ui/tabs/animated/index.d.ts.map +1 -1
  423. package/dist/ui/tabs/animated/types.d.ts.map +1 -1
  424. package/dist/ui/tabs/animated.js +4 -4
  425. package/dist/ui/tabs/animated.js.map +1 -1
  426. package/dist/ui/tabs/animated.mjs +2 -2
  427. package/dist/ui/tabs/animated.mjs.map +1 -1
  428. package/dist/ui/tabs/index.d.ts +1 -1
  429. package/dist/ui/tabs/index.d.ts.map +1 -1
  430. package/dist/ui/tabs/tabs-base.d.ts.map +1 -1
  431. package/dist/ui/tabs/tabs.d.ts +1 -1
  432. package/dist/ui/tabs/tabs.d.ts.map +1 -1
  433. package/dist/ui/tabs/types.d.ts +2 -1
  434. package/dist/ui/tabs/types.d.ts.map +1 -1
  435. package/dist/ui/tabs/variants.d.ts +1 -1
  436. package/dist/ui/tabs.js +10 -10
  437. package/dist/ui/tabs.mjs +2 -2
  438. package/dist/ui/toast/animated/toast-animated.d.ts.map +1 -1
  439. package/dist/ui/toast/animated.js +12 -10
  440. package/dist/ui/toast/animated.js.map +1 -1
  441. package/dist/ui/toast/animated.mjs +5 -3
  442. package/dist/ui/toast/animated.mjs.map +1 -1
  443. package/dist/ui/toast/types.d.ts.map +1 -1
  444. package/dist/ui/toast/variants.d.ts +1 -1
  445. package/dist/ui/toast.js +13 -13
  446. package/dist/ui/toast.mjs +2 -2
  447. package/dist/ui/toggle/animated/index.d.ts +2 -2
  448. package/dist/ui/toggle/animated/index.d.ts.map +1 -1
  449. package/dist/ui/toggle/animated/types.d.ts.map +1 -1
  450. package/dist/ui/toggle/animated.js +3 -3
  451. package/dist/ui/toggle/animated.mjs +1 -1
  452. package/dist/ui/toggle/index.d.ts +1 -1
  453. package/dist/ui/toggle/index.d.ts.map +1 -1
  454. package/dist/ui/toggle/toggle-base.d.ts.map +1 -1
  455. package/dist/ui/toggle/variants.d.ts +1 -1
  456. package/dist/ui/toggle.js +31 -6
  457. package/dist/ui/toggle.js.map +1 -1
  458. package/dist/ui/toggle.mjs +30 -5
  459. package/dist/ui/toggle.mjs.map +1 -1
  460. package/dist/ui/tooltip/animated/animations.d.ts.map +1 -1
  461. package/dist/ui/tooltip/animated/types.d.ts.map +1 -1
  462. package/dist/ui/tooltip/animated.js +5 -5
  463. package/dist/ui/tooltip/animated.js.map +1 -1
  464. package/dist/ui/tooltip/animated.mjs +2 -2
  465. package/dist/ui/tooltip/animated.mjs.map +1 -1
  466. package/dist/ui/tooltip/tooltip-base.d.ts.map +1 -1
  467. package/dist/ui/tooltip/types.d.ts +1 -0
  468. package/dist/ui/tooltip/types.d.ts.map +1 -1
  469. package/dist/ui/tooltip/variants.d.ts +1 -1
  470. package/dist/ui/tooltip/variants.d.ts.map +1 -1
  471. package/dist/ui/tooltip.js +8 -8
  472. package/dist/ui/tooltip.mjs +2 -2
  473. package/dist/ui/typography/blockquote-base.d.ts.map +1 -1
  474. package/dist/ui/typography/code-block-base.d.ts.map +1 -1
  475. package/dist/ui/typography/heading-base.d.ts.map +1 -1
  476. package/dist/ui/typography/list-base.d.ts.map +1 -1
  477. package/dist/ui/typography/types.d.ts.map +1 -1
  478. package/dist/ui/typography/variants.d.ts +3 -3
  479. package/dist/ui/typography/variants.d.ts.map +1 -1
  480. package/dist/ui/typography.js +21 -43
  481. package/dist/ui/typography.js.map +1 -1
  482. package/dist/ui/typography.mjs +13 -35
  483. package/dist/ui/typography.mjs.map +1 -1
  484. package/package.json +32 -12
  485. package/src/charts/area/Area.tsx +103 -0
  486. package/src/charts/area/index.ts +9 -0
  487. package/src/charts/bar/Bar.tsx +94 -0
  488. package/src/charts/bar/index.ts +9 -0
  489. package/src/charts/bubble/Bubble.tsx +113 -0
  490. package/src/charts/bubble/index.ts +9 -0
  491. package/src/charts/line/Line.tsx +97 -0
  492. package/src/charts/line/index.ts +9 -0
  493. package/src/charts/shared/chart-frame.tsx +107 -0
  494. package/src/charts/shared/colors.ts +31 -0
  495. package/src/charts/shared/types.ts +60 -0
  496. package/src/charts/shared/variants.ts +87 -0
  497. package/src/hooks/index.ts +8 -2
  498. package/src/hooks/useClickOutside/useClickOutside.ts +1 -4
  499. package/src/hooks/useClipboard/useClipboard.test.ts +3 -1
  500. package/src/hooks/useClipboard/useClipboard.ts +1 -2
  501. package/src/hooks/useDisclosure/useDisclosure.test.ts +1 -2
  502. package/src/hooks/useDocumentTitle/useDocumentTitle.test.ts +1 -3
  503. package/src/hooks/useFocusManagement/useFocusManagement.test.tsx +8 -0
  504. package/src/hooks/useFocusManagement/useFocusManagement.ts +162 -34
  505. package/src/hooks/useInView/useInView.test.ts +6 -1
  506. package/src/hooks/useLocalStorage/index.ts +1 -4
  507. package/src/hooks/useLocalStorage/useLocalStorage.test.ts +8 -20
  508. package/src/hooks/useLocalStorage/useLocalStorage.ts +4 -4
  509. package/src/hooks/useMediaQuery/useMediaQuery.ts +1 -4
  510. package/src/hooks/usePrefersReducedMotion/usePrefersReducedMotion.test.ts +3 -1
  511. package/src/hooks/useResizeObserver/index.ts +1 -4
  512. package/src/hooks/useSessionStorage/useSessionStorage.test.ts +2 -6
  513. package/src/hooks/useSessionStorage/useSessionStorage.ts +4 -2
  514. package/src/hooks/useThrottledCallback/useThrottledCallback.ts +4 -3
  515. package/src/hooks/useWindowSize/useWindowSize.ts +4 -1
  516. package/src/lib/utils.ts +3 -3
  517. package/src/ui/accordion/accordion.tsx +6 -1
  518. package/src/ui/accordion/animated/accordion-content-animated.tsx +1 -4
  519. package/src/ui/accordion/animated/index.ts +4 -1
  520. package/src/ui/accordion/animated/types.ts +6 -2
  521. package/src/ui/accordion/variants.ts +9 -9
  522. package/src/ui/alert/alert-base.tsx +6 -1
  523. package/src/ui/alert/alert.tsx +2 -2
  524. package/src/ui/alert/animated/index.ts +2 -2
  525. package/src/ui/alert/animated/types.ts +1 -1
  526. package/src/ui/alert/types.ts +1 -3
  527. package/src/ui/alert/variants.ts +9 -9
  528. package/src/ui/avatar/animated/index.ts +6 -2
  529. package/src/ui/avatar/avatar-base.tsx +2 -7
  530. package/src/ui/avatar/avatar.tsx +6 -1
  531. package/src/ui/avatar/variants.ts +23 -11
  532. package/src/ui/badge/animated/index.ts +6 -2
  533. package/src/ui/badge/animated/types.ts +1 -2
  534. package/src/ui/badge/badge-base.tsx +4 -1
  535. package/src/ui/badge/types.ts +1 -0
  536. package/src/ui/badge/variants.ts +16 -18
  537. package/src/ui/breadcrumb/breadcrumb.tsx +10 -2
  538. package/src/ui/breadcrumb/types.ts +20 -9
  539. package/src/ui/breadcrumb/variants.ts +34 -38
  540. package/src/ui/buttons/animated/index.ts +7 -1
  541. package/src/ui/buttons/animated/types.ts +0 -1
  542. package/src/ui/buttons/button.test.tsx +2 -2
  543. package/src/ui/buttons/types.ts +4 -5
  544. package/src/ui/buttons/variants.ts +17 -17
  545. package/src/ui/card/animated/types.ts +0 -1
  546. package/src/ui/card/card-base.tsx +1 -6
  547. package/src/ui/card/card.test.tsx +7 -3
  548. package/src/ui/card/card.tsx +1 -3
  549. package/src/ui/card/index.ts +7 -3
  550. package/src/ui/card/types.ts +1 -1
  551. package/src/ui/card/variants.ts +9 -9
  552. package/src/ui/divider/animated/index.ts +5 -1
  553. package/src/ui/divider/animated/types.ts +4 -2
  554. package/src/ui/divider/divider-base.tsx +0 -1
  555. package/src/ui/drawer/animated/drawer-content-animated.tsx +6 -11
  556. package/src/ui/drawer/animated/index.ts +6 -1
  557. package/src/ui/drawer/drawer-base.tsx +16 -8
  558. package/src/ui/drawer/types.ts +12 -3
  559. package/src/ui/drawer/variants.ts +18 -18
  560. package/src/ui/dropdown/dropdown.test.tsx +1 -3
  561. package/src/ui/dropdown/dropdown.tsx +30 -5
  562. package/src/ui/dropdown/types.ts +1 -0
  563. package/src/ui/dropdown/variants.ts +20 -20
  564. package/src/ui/empty-state/animated/empty-state-animated.tsx +2 -4
  565. package/src/ui/empty-state/animated/index.ts +8 -5
  566. package/src/ui/empty-state/empty-state-base.tsx +14 -2
  567. package/src/ui/empty-state/index.ts +7 -1
  568. package/src/ui/empty-state/types.ts +1 -0
  569. package/src/ui/file-upload/file-upload.tsx +3 -9
  570. package/src/ui/file-upload/variants.ts +18 -9
  571. package/src/ui/inputs/animated/index.ts +7 -1
  572. package/src/ui/inputs/input-base.tsx +60 -6
  573. package/src/ui/inputs/input.test.tsx +5 -1
  574. package/src/ui/inputs/types.ts +7 -2
  575. package/src/ui/modal/animated/index.ts +6 -1
  576. package/src/ui/modal/animated/modal-content-animated.tsx +4 -5
  577. package/src/ui/modal/index.ts +1 -1
  578. package/src/ui/modal/modal-base.tsx +19 -10
  579. package/src/ui/modal/modal.test.tsx +44 -4
  580. package/src/ui/modal/modal.tsx +1 -1
  581. package/src/ui/modal/types.ts +10 -2
  582. package/src/ui/modal/variants.ts +18 -18
  583. package/src/ui/pagination/pagination.tsx +2 -2
  584. package/src/ui/pagination/variants.ts +9 -9
  585. package/src/ui/progress/animated/progress-animated.tsx +43 -5
  586. package/src/ui/progress/animated/types.ts +1 -1
  587. package/src/ui/progress/index.ts +12 -2
  588. package/src/ui/progress/progress-base.tsx +61 -5
  589. package/src/ui/progress/progress.test.tsx +1 -3
  590. package/src/ui/progress/progress.tsx +2 -6
  591. package/src/ui/progress/types.ts +3 -0
  592. package/src/ui/search/filter-search-suggestions.test.ts +46 -12
  593. package/src/ui/search/filter-search-suggestions.ts +3 -3
  594. package/src/ui/search/search-bar.tsx +22 -22
  595. package/src/ui/search/search-suggestion-list.tsx +14 -5
  596. package/src/ui/search/search-suggestion-utils.ts +4 -1
  597. package/src/ui/select/select.tsx +96 -6
  598. package/src/ui/select/types.ts +1 -0
  599. package/src/ui/select/variants.ts +71 -68
  600. package/src/ui/skeleton/animated/skeleton-animated.tsx +25 -4
  601. package/src/ui/skeleton/animated/types.ts +0 -1
  602. package/src/ui/skeleton/skeleton-base.tsx +3 -3
  603. package/src/ui/skeleton/variants.ts +9 -9
  604. package/src/ui/slider/slider.test.tsx +23 -9
  605. package/src/ui/slider/slider.tsx +45 -4
  606. package/src/ui/slider/types.ts +9 -3
  607. package/src/ui/slider/variants.ts +1 -1
  608. package/src/ui/spinner/animated/spinner.tsx +6 -3
  609. package/src/ui/stepper/stepper.test.tsx +5 -6
  610. package/src/ui/stepper/stepper.tsx +12 -16
  611. package/src/ui/stepper/types.ts +11 -5
  612. package/src/ui/stepper/variants.ts +30 -15
  613. package/src/ui/table/animated/index.ts +6 -4
  614. package/src/ui/table/table-base.tsx +32 -11
  615. package/src/ui/table/types.ts +8 -1
  616. package/src/ui/tabs/animated/animations.ts +5 -1
  617. package/src/ui/tabs/animated/index.ts +7 -1
  618. package/src/ui/tabs/animated/types.ts +3 -3
  619. package/src/ui/tabs/index.ts +8 -1
  620. package/src/ui/tabs/tabs-base.tsx +71 -10
  621. package/src/ui/tabs/tabs.tsx +8 -1
  622. package/src/ui/tabs/types.ts +2 -1
  623. package/src/ui/tabs/variants.ts +10 -10
  624. package/src/ui/toast/animated/toast-animated.tsx +3 -1
  625. package/src/ui/toast/animated/types.ts +1 -1
  626. package/src/ui/toast/toast-base.tsx +1 -1
  627. package/src/ui/toast/types.ts +3 -1
  628. package/src/ui/toast/variants.ts +9 -9
  629. package/src/ui/toggle/animated/index.ts +7 -4
  630. package/src/ui/toggle/animated/types.ts +4 -2
  631. package/src/ui/toggle/index.ts +5 -1
  632. package/src/ui/toggle/toggle-base.tsx +36 -4
  633. package/src/ui/tooltip/animated/animations.ts +0 -1
  634. package/src/ui/tooltip/animated/types.ts +0 -1
  635. package/src/ui/tooltip/tooltip-base.tsx +118 -22
  636. package/src/ui/tooltip/types.ts +1 -0
  637. package/src/ui/tooltip/variants.ts +11 -13
  638. package/src/ui/typography/blockquote-base.tsx +1 -8
  639. package/src/ui/typography/code-block-base.tsx +19 -24
  640. package/src/ui/typography/heading-base.tsx +35 -38
  641. package/src/ui/typography/inline-code-base.tsx +15 -15
  642. package/src/ui/typography/list-base.tsx +1 -9
  643. package/src/ui/typography/text-base.tsx +32 -32
  644. package/src/ui/typography/types.ts +4 -17
  645. package/src/ui/typography/typography.test.tsx +3 -1
  646. package/src/ui/typography/variants.ts +16 -8
  647. package/dist/chunk-2P3UU2J3.mjs.map +0 -1
  648. package/dist/chunk-2PQEXQVR.js.map +0 -1
  649. package/dist/chunk-3OR47XMY.js.map +0 -1
  650. package/dist/chunk-4B7KGBQB.js.map +0 -1
  651. package/dist/chunk-5QB2KNZQ.js.map +0 -1
  652. package/dist/chunk-6I7X5BF2.js.map +0 -1
  653. package/dist/chunk-7HL3A4YF.mjs.map +0 -1
  654. package/dist/chunk-BITDSQMR.js.map +0 -1
  655. package/dist/chunk-BORK3BJO.mjs.map +0 -1
  656. package/dist/chunk-BSWYZTYK.js.map +0 -1
  657. package/dist/chunk-BVXTOEBI.mjs.map +0 -1
  658. package/dist/chunk-C2FCPQTO.js.map +0 -1
  659. package/dist/chunk-CY5BQKRZ.mjs.map +0 -1
  660. package/dist/chunk-E3DZNJAD.js.map +0 -1
  661. package/dist/chunk-FLILFCQE.mjs.map +0 -1
  662. package/dist/chunk-FT2LMA66.mjs.map +0 -1
  663. package/dist/chunk-IXDJ3IPG.mjs.map +0 -1
  664. package/dist/chunk-LVUPECBT.mjs.map +0 -1
  665. package/dist/chunk-N4NO3SYL.js.map +0 -1
  666. package/dist/chunk-P5HUBXUX.js.map +0 -1
  667. package/dist/chunk-PGH27VTL.mjs.map +0 -1
  668. package/dist/chunk-RDSPHBHK.mjs.map +0 -1
  669. package/dist/chunk-U4YQCAXW.js.map +0 -1
  670. package/dist/chunk-UBFKTC2P.mjs.map +0 -1
  671. package/dist/chunk-UOFTZKMM.js.map +0 -1
  672. package/dist/chunk-WDCIZHXY.mjs.map +0 -1
  673. package/dist/chunk-WL5I7RVS.mjs +0 -54
  674. package/dist/chunk-WL5I7RVS.mjs.map +0 -1
  675. package/dist/chunk-WP7GYBRI.js.map +0 -1
  676. package/dist/chunk-WZKGRU3U.js.map +0 -1
  677. package/dist/chunk-XIXF7UVM.mjs.map +0 -1
  678. package/dist/chunk-XLAFQ24R.js.map +0 -1
  679. package/dist/chunk-XWM2S6VV.mjs.map +0 -1
  680. package/dist/chunk-YNCD6TKE.mjs.map +0 -1
  681. package/dist/chunk-YPLVTUYL.js +0 -56
  682. package/dist/chunk-YPLVTUYL.js.map +0 -1
@@ -3,9 +3,7 @@
3
3
  import { motion } from "framer-motion";
4
4
  import { emptyStateAnimationPresets } from "./animations";
5
5
  import type { EmptyStateAnimatedProps } from "./types";
6
- import {
7
- EmptyStateBase,
8
- } from "../empty-state-base";
6
+ import { EmptyStateBase } from "../empty-state-base";
9
7
 
10
8
  export function EmptyStateAnimated(props: EmptyStateAnimatedProps) {
11
9
  const { animation = "none" } = props;
@@ -20,4 +18,4 @@ export function EmptyStateAnimated(props: EmptyStateAnimatedProps) {
20
18
  );
21
19
  }
22
20
 
23
- EmptyStateAnimated.displayName = "EmptyState";
21
+ EmptyStateAnimated.displayName = "EmptyState";
@@ -1,7 +1,10 @@
1
1
  "use client";
2
2
 
3
- export {
4
- EmptyStateAnimated,
5
- } from "./empty-state-animated";
6
- export type { EmptyStateAnimatedProps, EmptyStateAnimation, EmptyStateVariantProps, EmptyStateAnimationPresets } from "./types";
7
- export { emptyStateAnimationPresets } from "./animations";
3
+ export { EmptyStateAnimated } from "./empty-state-animated";
4
+ export type {
5
+ EmptyStateAnimatedProps,
6
+ EmptyStateAnimation,
7
+ EmptyStateVariantProps,
8
+ EmptyStateAnimationPresets,
9
+ } from "./types";
10
+ export { emptyStateAnimationPresets } from "./animations";
@@ -4,7 +4,11 @@ import { createContext, useContext, useMemo } from "react";
4
4
 
5
5
  import { cn } from "../../lib/utils";
6
6
 
7
- import type { EmptyStateProps, EmptyStateSectionProps, EmptyStateSize } from "./types";
7
+ import type {
8
+ EmptyStateProps,
9
+ EmptyStateSectionProps,
10
+ EmptyStateSize,
11
+ } from "./types";
8
12
  import {
9
13
  emptyStateDescriptionVariants,
10
14
  emptyStateTitleVariants,
@@ -25,17 +29,25 @@ export function EmptyStateBase(props: EmptyStateProps) {
25
29
  align,
26
30
  children,
27
31
  ref,
32
+ liveRegion = false,
28
33
  as: Wrapper = "section",
29
34
  ...rest
30
35
  } = props;
31
36
  const ctx = useMemo(() => size ?? "md", [size]);
32
37
 
38
+ const liveAria =
39
+ typeof liveRegion === "string"
40
+ ? liveRegion
41
+ : liveRegion === true
42
+ ? "polite"
43
+ : undefined;
44
+
33
45
  return (
34
46
  <EmptyStateSizeContext.Provider value={ctx}>
35
47
  <Wrapper
36
48
  ref={ref}
37
49
  data-slot="empty-state"
38
- aria-live="polite"
50
+ aria-live={liveAria}
39
51
  className={cn(
40
52
  emptyStateVariants({ size, appearance, align }),
41
53
  className,
@@ -1,7 +1,13 @@
1
1
  "use client";
2
2
 
3
3
  export { EmptyState } from "./empty-state";
4
- export { EmptyStateAction, EmptyStateBase, EmptyStateDescription, EmptyStateIcon, EmptyStateTitle } from "./empty-state-base";
4
+ export {
5
+ EmptyStateAction,
6
+ EmptyStateBase,
7
+ EmptyStateDescription,
8
+ EmptyStateIcon,
9
+ EmptyStateTitle,
10
+ } from "./empty-state-base";
5
11
  export type { EmptyStateProps, EmptyStateSectionProps } from "./types";
6
12
  export {
7
13
  emptyStateVariants,
@@ -8,6 +8,7 @@ type EmptyStateVariantProps = VariantProps<typeof emptyStateVariants>;
8
8
  export type EmptyStateProps = EmptyStateVariantProps &
9
9
  (Omit<ComponentPropsWithRef<"section">, "children"> & {
10
10
  children?: ReactNode;
11
+ liveRegion?: false | true | "polite" | "assertive";
11
12
  as?: ElementType;
12
13
  });
13
14
 
@@ -70,8 +70,6 @@ export function FileUpload({
70
70
  multiple={multiple}
71
71
  disabled={disabled}
72
72
  onChange={handleChange}
73
- aria-hidden
74
- tabIndex={-1}
75
73
  />
76
74
  <label
77
75
  htmlFor={inputId}
@@ -104,13 +102,9 @@ export function FileUpload({
104
102
  </span>
105
103
  </>
106
104
  )}
107
- {
108
- dragOver && (
109
- <span className="text-xs text-slate-400">
110
- Drop files here
111
- </span>
112
- )
113
- }
105
+ {dragOver && (
106
+ <span className="text-xs text-slate-400">Drop files here</span>
107
+ )}
114
108
  </label>
115
109
  </div>
116
110
  );
@@ -8,17 +8,26 @@ export const fileUploadVariants = cva(
8
8
  idle: "border-white/15 bg-white/5 text-slate-300 hover:border-white/25 hover:bg-white/[0.07]",
9
9
  active: "border-violet-400/70 bg-violet-500/10 text-white",
10
10
  disabled: "cursor-not-allowed opacity-50",
11
- error: "border-red-400/70 bg-red-500/10 text-red-400 hover:border-red-400/80 hover:bg-red-500/15",
12
- success: "border-green-400/70 bg-green-500/10 text-green-400 hover:border-green-400/80 hover:bg-green-500/15",
13
- warning: "border-yellow-400/70 bg-yellow-500/10 text-yellow-400 hover:border-yellow-400/80 hover:bg-yellow-500/15",
11
+ error:
12
+ "border-red-400/70 bg-red-500/10 text-red-400 hover:border-red-400/80 hover:bg-red-500/15",
13
+ success:
14
+ "border-green-400/70 bg-green-500/10 text-green-400 hover:border-green-400/80 hover:bg-green-500/15",
15
+ warning:
16
+ "border-yellow-400/70 bg-yellow-500/10 text-yellow-400 hover:border-yellow-400/80 hover:bg-yellow-500/15",
14
17
  info: "border-blue-400/70 bg-blue-500/10 text-blue-400 hover:border-blue-400/80 hover:bg-blue-500/15",
15
- neutral: "border-gray-400/70 bg-gray-500/10 text-gray-400 hover:border-gray-400/80 hover:bg-gray-500/15",
16
- purple: "border-purple-400/70 bg-purple-500/10 text-purple-400 hover:border-purple-400/80 hover:bg-purple-500/15",
17
- indigo: "border-indigo-400/70 bg-indigo-500/10 text-indigo-400 hover:border-indigo-400/80 hover:bg-indigo-500/15",
18
- emerald: "border-emerald-400/70 bg-emerald-500/10 text-emerald-400 hover:border-emerald-400/80 hover:bg-emerald-500/15",
19
- amber: "border-amber-400/70 bg-amber-500/10 text-amber-400 hover:border-amber-400/80 hover:bg-amber-500/15",
18
+ neutral:
19
+ "border-gray-400/70 bg-gray-500/10 text-gray-400 hover:border-gray-400/80 hover:bg-gray-500/15",
20
+ purple:
21
+ "border-purple-400/70 bg-purple-500/10 text-purple-400 hover:border-purple-400/80 hover:bg-purple-500/15",
22
+ indigo:
23
+ "border-indigo-400/70 bg-indigo-500/10 text-indigo-400 hover:border-indigo-400/80 hover:bg-indigo-500/15",
24
+ emerald:
25
+ "border-emerald-400/70 bg-emerald-500/10 text-emerald-400 hover:border-emerald-400/80 hover:bg-emerald-500/15",
26
+ amber:
27
+ "border-amber-400/70 bg-amber-500/10 text-amber-400 hover:border-amber-400/80 hover:bg-amber-500/15",
20
28
  pink: "border-pink-400/70 bg-pink-500/10 text-pink-400 hover:border-pink-400/80 hover:bg-pink-500/15",
21
- orange: "border-orange-400/70 bg-orange-500/10 text-orange-400 hover:border-orange-400/80 hover:bg-orange-500/15",
29
+ orange:
30
+ "border-orange-400/70 bg-orange-500/10 text-orange-400 hover:border-orange-400/80 hover:bg-orange-500/15",
22
31
  teal: "border-teal-400/70 bg-teal-500/10 text-teal-400 hover:border-teal-400/80 hover:bg-teal-500/15",
23
32
  },
24
33
  },
@@ -1,5 +1,11 @@
1
1
  "use client";
2
2
 
3
3
  export { InputAnimated } from "./input-animated";
4
- export type { InputAnimatedProps, InputAnimation, InputAnimationPresets, InputPresetMotionProps, InputSharedAnimatedProps } from "./types";
4
+ export type {
5
+ InputAnimatedProps,
6
+ InputAnimation,
7
+ InputAnimationPresets,
8
+ InputPresetMotionProps,
9
+ InputSharedAnimatedProps,
10
+ } from "./types";
5
11
  export { inputAnimationPresets } from "./animations";
@@ -7,6 +7,18 @@ import { cn } from "../../lib/utils";
7
7
  import type { InputProps } from "./types";
8
8
  import { inputVariants } from "./variants";
9
9
 
10
+ function mergeDescribedByIds(
11
+ user: string | undefined,
12
+ ...generated: (string | undefined)[]
13
+ ): string | undefined {
14
+ const ids = [
15
+ ...(user ?? "").split(/\s+/).filter(Boolean),
16
+ ...generated.filter((id): id is string => Boolean(id)),
17
+ ];
18
+ const unique = [...new Set(ids)];
19
+ return unique.length > 0 ? unique.join(" ") : undefined;
20
+ }
21
+
10
22
  export const InputBase = (props: InputProps) => {
11
23
  const generatedId = useId();
12
24
 
@@ -19,13 +31,17 @@ export const InputBase = (props: InputProps) => {
19
31
  ref,
20
32
  "aria-invalid": ariaInvalidProp,
21
33
  errorMessage,
34
+ hint,
35
+ label,
22
36
  id,
23
37
  as,
38
+ "aria-describedby": ariaDescribedByUser,
24
39
  ...rest
25
40
  } = props;
26
41
 
27
42
  const controlId = id ?? generatedId;
28
43
  const errorId = `${controlId}-error`;
44
+ const hintId = `${controlId}-hint`;
29
45
  const ariaInvalid =
30
46
  ariaInvalidProp !== undefined
31
47
  ? ariaInvalidProp
@@ -33,8 +49,27 @@ export const InputBase = (props: InputProps) => {
33
49
  ? true
34
50
  : undefined;
35
51
 
52
+ const describedBy = mergeDescribedByIds(
53
+ ariaDescribedByUser,
54
+ hint !== undefined ? hintId : undefined,
55
+ errorMessage && appearance === "error" ? errorId : undefined,
56
+ );
57
+
36
58
  return (
37
59
  <>
60
+ {label !== undefined && (
61
+ <label
62
+ htmlFor={controlId}
63
+ className="mb-1 block text-sm font-medium text-slate-200"
64
+ >
65
+ {label}
66
+ </label>
67
+ )}
68
+ {hint !== undefined && (
69
+ <p id={hintId} className="mb-1 text-xs text-slate-400">
70
+ {hint}
71
+ </p>
72
+ )}
38
73
  <textarea
39
74
  ref={ref}
40
75
  id={controlId}
@@ -44,9 +79,7 @@ export const InputBase = (props: InputProps) => {
44
79
  className,
45
80
  )}
46
81
  aria-invalid={ariaInvalid}
47
- aria-describedby={
48
- errorMessage && appearance === "error" ? errorId : undefined
49
- }
82
+ aria-describedby={describedBy}
50
83
  {...rest}
51
84
  />
52
85
  {errorMessage && appearance === "error" && (
@@ -69,13 +102,17 @@ export const InputBase = (props: InputProps) => {
69
102
  ref,
70
103
  "aria-invalid": ariaInvalidProp,
71
104
  errorMessage,
105
+ hint,
106
+ label,
72
107
  id,
73
108
  as,
109
+ "aria-describedby": ariaDescribedByUser,
74
110
  ...rest
75
111
  } = props;
76
112
 
77
113
  const controlId = id ?? generatedId;
78
114
  const errorId = `${controlId}-error`;
115
+ const hintId = `${controlId}-hint`;
79
116
  const ariaInvalid =
80
117
  ariaInvalidProp !== undefined
81
118
  ? ariaInvalidProp
@@ -83,8 +120,27 @@ export const InputBase = (props: InputProps) => {
83
120
  ? true
84
121
  : undefined;
85
122
 
123
+ const describedBy = mergeDescribedByIds(
124
+ ariaDescribedByUser,
125
+ hint !== undefined ? hintId : undefined,
126
+ errorMessage && appearance === "error" ? errorId : undefined,
127
+ );
128
+
86
129
  return (
87
130
  <>
131
+ {label !== undefined && (
132
+ <label
133
+ htmlFor={controlId}
134
+ className="mb-1 block text-sm font-medium text-slate-200"
135
+ >
136
+ {label}
137
+ </label>
138
+ )}
139
+ {hint !== undefined && (
140
+ <p id={hintId} className="mb-1 text-xs text-slate-400">
141
+ {hint}
142
+ </p>
143
+ )}
88
144
  <input
89
145
  ref={ref}
90
146
  id={controlId}
@@ -94,9 +150,7 @@ export const InputBase = (props: InputProps) => {
94
150
  className,
95
151
  )}
96
152
  aria-invalid={ariaInvalid}
97
- aria-describedby={
98
- errorMessage && appearance === "error" ? errorId : undefined
99
- }
153
+ aria-describedby={describedBy}
100
154
  {...rest}
101
155
  />
102
156
  {errorMessage && appearance === "error" && (
@@ -381,7 +381,11 @@ describe("Input (component library)", () => {
381
381
  "should render without throwing when animation=%s",
382
382
  (animation) => {
383
383
  const { unmount } = render(
384
- <InputAnimated animation={animation} placeholder="x" aria-label="Anim" />,
384
+ <InputAnimated
385
+ animation={animation}
386
+ placeholder="x"
387
+ aria-label="Anim"
388
+ />,
385
389
  );
386
390
  expect(
387
391
  getInputSlot(),
@@ -1,10 +1,15 @@
1
1
  import type { VariantProps } from "class-variance-authority";
2
- import type { ComponentPropsWithRef } from "react";
2
+ import type { ComponentPropsWithRef, ReactNode } from "react";
3
3
 
4
4
  import type { inputVariants } from "./variants";
5
5
 
6
- export type InputSharedProps = Omit<VariantProps<typeof inputVariants>, "as"> & {
6
+ export type InputSharedProps = Omit<
7
+ VariantProps<typeof inputVariants>,
8
+ "as"
9
+ > & {
7
10
  errorMessage?: string;
11
+ hint?: ReactNode;
12
+ label?: ReactNode;
8
13
  };
9
14
 
10
15
  export type InputProps =
@@ -1,5 +1,10 @@
1
1
  "use client";
2
2
 
3
3
  export { ModalContentAnimated } from "./modal-content-animated";
4
- export type { ModalContentAnimatedProps, ModalAnimation, ModalAnimationPresets, ModalPresetMotionProps } from "./types";
4
+ export type {
5
+ ModalContentAnimatedProps,
6
+ ModalAnimation,
7
+ ModalAnimationPresets,
8
+ ModalPresetMotionProps,
9
+ } from "./types";
5
10
  export { modalOverlayAnimationPresets } from "./animations";
@@ -22,7 +22,7 @@ export function ModalContentAnimated({
22
22
  id,
23
23
  style,
24
24
  }: ModalContentAnimatedProps) {
25
- const { open, setOpen, titleId, descriptionId, contentRef } =
25
+ const { open, setOpen, titleId, descriptionId, contentRef, triggerRef } =
26
26
  useModalContext("ModalContent");
27
27
  const reduceMotion = useReducedMotion();
28
28
  const overlayMotion =
@@ -34,6 +34,7 @@ export function ModalContentAnimated({
34
34
  open,
35
35
  setOpen,
36
36
  contentRef,
37
+ triggerRef,
37
38
  });
38
39
 
39
40
  const portalTarget = typeof document !== "undefined" ? document.body : null;
@@ -46,10 +47,8 @@ export function ModalContentAnimated({
46
47
  <AnimatePresence>
47
48
  {open ? (
48
49
  <div className="fixed inset-0 z-50" data-slot="modal-portal">
49
- <motion.button
50
- type="button"
51
- aria-hidden
52
- tabIndex={-1}
50
+ <motion.div
51
+ role="presentation"
53
52
  data-slot="modal-overlay"
54
53
  className={modalOverlayVariants()}
55
54
  onClick={() => setOpen(false)}
@@ -9,7 +9,7 @@ export {
9
9
  ModalHeader,
10
10
  ModalDescription,
11
11
  ModalClose,
12
- ModalFooter
12
+ ModalFooter,
13
13
  } from "./modal-base";
14
14
  export type {
15
15
  ModalContentProps,
@@ -8,6 +8,7 @@ import {
8
8
  useMemo,
9
9
  useRef,
10
10
  useState,
11
+ type RefObject,
11
12
  } from "react";
12
13
  import { createPortal } from "react-dom";
13
14
 
@@ -31,7 +32,8 @@ type ModalCtx = {
31
32
  setOpen: (next: boolean) => void;
32
33
  titleId: string;
33
34
  descriptionId: string;
34
- contentRef: React.RefObject<HTMLDivElement | null>;
35
+ contentRef: RefObject<HTMLDivElement | null>;
36
+ triggerRef: RefObject<HTMLElement | null>;
35
37
  };
36
38
 
37
39
  const ModalContext = createContext<ModalCtx | null>(null);
@@ -68,6 +70,7 @@ export function Modal({
68
70
  const titleId = `${baseId}-title`;
69
71
  const descriptionId = `${baseId}-description`;
70
72
  const contentRef = useRef<HTMLDivElement | null>(null);
73
+ const triggerRef = useRef<HTMLElement | null>(null);
71
74
 
72
75
  const ctx = useMemo(
73
76
  () => ({
@@ -76,6 +79,7 @@ export function Modal({
76
79
  titleId,
77
80
  descriptionId,
78
81
  contentRef,
82
+ triggerRef,
79
83
  }),
80
84
  [descriptionId, resolvedOpen, setOpen, titleId],
81
85
  );
@@ -90,13 +94,20 @@ export function ModalTrigger({
90
94
  children,
91
95
  appearance,
92
96
  onClick,
93
- ref,
97
+ ref: refProp,
94
98
  ...rest
95
99
  }: ModalTriggerProps) {
96
- const { setOpen } = useModalContext("ModalTrigger");
100
+ const { setOpen, triggerRef } = useModalContext("ModalTrigger");
97
101
  return (
98
102
  <button
99
- ref={ref}
103
+ ref={(node) => {
104
+ triggerRef.current = node;
105
+ if (typeof refProp === "function") {
106
+ refProp(node);
107
+ } else if (refProp) {
108
+ (refProp as RefObject<HTMLButtonElement | null>).current = node;
109
+ }
110
+ }}
100
111
  type="button"
101
112
  data-slot="modal-trigger"
102
113
  className={cn(modalTriggerVariants({ appearance }), className)}
@@ -115,7 +126,6 @@ export function ModalTrigger({
115
126
 
116
127
  ModalTrigger.displayName = "ModalTrigger";
117
128
 
118
-
119
129
  export function ModalContent({
120
130
  className,
121
131
  size,
@@ -126,13 +136,14 @@ export function ModalContent({
126
136
  id,
127
137
  style,
128
138
  }: ModalContentProps) {
129
- const { open, setOpen, titleId, descriptionId, contentRef } =
139
+ const { open, setOpen, titleId, descriptionId, contentRef, triggerRef } =
130
140
  useModalContext("ModalContent");
131
141
 
132
142
  useFocusManagement({
133
143
  open,
134
144
  setOpen,
135
145
  contentRef,
146
+ triggerRef,
136
147
  });
137
148
 
138
149
  const portalTarget = typeof document !== "undefined" ? document.body : null;
@@ -144,10 +155,8 @@ export function ModalContent({
144
155
  return createPortal(
145
156
  open ? (
146
157
  <div className="fixed inset-0 z-50" data-slot="modal-portal">
147
- <button
148
- type="button"
149
- aria-hidden
150
- tabIndex={-1}
158
+ <div
159
+ role="presentation"
151
160
  data-slot="modal-overlay"
152
161
  className={modalOverlayVariants()}
153
162
  onClick={() => setOpen(false)}
@@ -2,11 +2,15 @@ import { render, screen, waitFor } from "@testing-library/react";
2
2
  import userEvent from "@testing-library/user-event";
3
3
  import { describe, expect, it, vi } from "vitest";
4
4
 
5
+ import { Modal } from "./modal";
5
6
  import {
6
- Modal,
7
- } from "./modal";
8
- import { ModalTrigger, ModalContent, ModalTitle, ModalBody, ModalDescription, ModalClose } from "./modal-base";
9
-
7
+ ModalTrigger,
8
+ ModalContent,
9
+ ModalTitle,
10
+ ModalBody,
11
+ ModalDescription,
12
+ ModalClose,
13
+ } from "./modal-base";
10
14
 
11
15
  describe("Modal", () => {
12
16
  it("should expose displayName on exported parts", () => {
@@ -77,6 +81,21 @@ describe("Modal", () => {
77
81
  });
78
82
  });
79
83
 
84
+ it("should render overlay as non-focusable presentation surface", async () => {
85
+ render(
86
+ <Modal defaultOpen>
87
+ <ModalContent>
88
+ <ModalTitle>T</ModalTitle>
89
+ </ModalContent>
90
+ </Modal>,
91
+ );
92
+ await waitFor(() => expect(screen.getByRole("dialog")).toBeInTheDocument());
93
+ const overlay = document.querySelector('[data-slot="modal-overlay"]');
94
+ expect(overlay?.tagName.toLowerCase()).toBe("div");
95
+ expect(overlay).toHaveAttribute("role", "presentation");
96
+ expect((overlay as HTMLElement).tabIndex).toBe(-1);
97
+ });
98
+
80
99
  it("should close when Escape is pressed", async () => {
81
100
  const user = userEvent.setup();
82
101
  render(
@@ -126,4 +145,25 @@ describe("Modal", () => {
126
145
  await user.keyboard("{Escape}");
127
146
  await waitFor(() => expect(handleChange).toHaveBeenLastCalledWith(false));
128
147
  });
148
+
149
+ it("should restore focus to the trigger after the dialog closes", async () => {
150
+ const user = userEvent.setup();
151
+ render(
152
+ <Modal>
153
+ <ModalTrigger>Open</ModalTrigger>
154
+ <ModalContent>
155
+ <ModalTitle>T</ModalTitle>
156
+ </ModalContent>
157
+ </Modal>,
158
+ );
159
+ const trigger = screen.getByRole("button", { name: "Open" });
160
+ trigger.focus();
161
+ await user.click(trigger);
162
+ await waitFor(() => expect(screen.getByRole("dialog")).toBeInTheDocument());
163
+ await user.keyboard("{Escape}");
164
+ await waitFor(() =>
165
+ expect(screen.queryByRole("dialog")).not.toBeInTheDocument(),
166
+ );
167
+ expect(trigger).toHaveFocus();
168
+ });
129
169
  });
@@ -5,4 +5,4 @@ export const Modal = (props: ModalProps) => {
5
5
  return <ModalBase {...props} />;
6
6
  };
7
7
 
8
- Modal.displayName = "Modal";
8
+ Modal.displayName = "Modal";
@@ -1,9 +1,17 @@
1
1
  import type { VariantProps } from "class-variance-authority";
2
- import type { CSSProperties, ElementType, HTMLAttributes, ReactNode, Ref } from "react";
2
+ import type {
3
+ CSSProperties,
4
+ ElementType,
5
+ HTMLAttributes,
6
+ ReactNode,
7
+ Ref,
8
+ } from "react";
3
9
 
4
10
  import type { modalContentVariants, modalTriggerVariants } from "./variants";
5
11
 
6
- export type ModalContentVariantProps = VariantProps<typeof modalContentVariants>;
12
+ export type ModalContentVariantProps = VariantProps<
13
+ typeof modalContentVariants
14
+ >;
7
15
 
8
16
  export type ModalProps = {
9
17
  open?: boolean;
@@ -24,23 +24,23 @@ export const modalTriggerVariants = cva(
24
24
  amber: "border-amber-600 bg-amber-950/70 backdrop-blur-xl",
25
25
  violet: "border-violet-600 bg-violet-950/70 backdrop-blur-xl",
26
26
  "gradient-blue":
27
- "border-gradient-to-r from-blue-600 to-purple-600 bg-gradient-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl",
27
+ "border-blue-600 bg-linear-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl",
28
28
  "gradient-green":
29
- "border-gradient-to-r from-green-600 to-lime-600 bg-gradient-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl",
29
+ "border-green-600 bg-linear-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl",
30
30
  "gradient-red":
31
- "border-gradient-to-r from-red-600 to-pink-600 bg-gradient-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl",
31
+ "border-red-600 bg-linear-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl",
32
32
  "gradient-yellow":
33
- "border-gradient-to-r from-yellow-600 to-orange-600 bg-gradient-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl",
33
+ "border-yellow-600 bg-linear-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl",
34
34
  "gradient-purple":
35
- "border-gradient-to-r from-purple-600 to-pink-600 bg-gradient-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl",
35
+ "border-purple-600 bg-linear-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl",
36
36
  "gradient-teal":
37
- "border-gradient-to-r from-teal-600 to-cyan-600 bg-gradient-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl",
37
+ "border-teal-600 bg-linear-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl",
38
38
  "gradient-indigo":
39
- "border-gradient-to-r from-indigo-600 to-purple-600 bg-gradient-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl",
39
+ "border-indigo-600 bg-linear-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl",
40
40
  "gradient-pink":
41
- "border-gradient-to-r from-pink-600 to-rose-600 bg-gradient-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl",
41
+ "border-pink-600 bg-linear-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl",
42
42
  "gradient-orange":
43
- "border-gradient-to-r from-orange-600 to-red-600 bg-gradient-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl",
43
+ "border-orange-600 bg-linear-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl",
44
44
  },
45
45
  },
46
46
  defaultVariants: {
@@ -81,23 +81,23 @@ export const modalContentVariants = cva(
81
81
  amber: "border-amber-600 bg-amber-950/70 backdrop-blur-xl",
82
82
  violet: "border-violet-600 bg-violet-950/70 backdrop-blur-xl",
83
83
  "gradient-blue":
84
- "border-gradient-to-r from-blue-600 to-purple-600 bg-gradient-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl",
84
+ "border-blue-600 bg-linear-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl",
85
85
  "gradient-green":
86
- "border-gradient-to-r from-green-600 to-lime-600 bg-gradient-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl",
86
+ "border-green-600 bg-linear-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl",
87
87
  "gradient-red":
88
- "border-gradient-to-r from-red-600 to-pink-600 bg-gradient-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl",
88
+ "border-red-600 bg-linear-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl",
89
89
  "gradient-yellow":
90
- "border-gradient-to-r from-yellow-600 to-orange-600 bg-gradient-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl",
90
+ "border-yellow-600 bg-linear-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl",
91
91
  "gradient-purple":
92
- "border-gradient-to-r from-purple-600 to-pink-600 bg-gradient-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl",
92
+ "border-purple-600 bg-linear-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl",
93
93
  "gradient-teal":
94
- "border-gradient-to-r from-teal-600 to-cyan-600 bg-gradient-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl",
94
+ "border-teal-600 bg-linear-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl",
95
95
  "gradient-indigo":
96
- "border-gradient-to-r from-indigo-600 to-purple-600 bg-gradient-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl",
96
+ "border-indigo-600 bg-linear-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl",
97
97
  "gradient-pink":
98
- "border-gradient-to-r from-pink-600 to-rose-600 bg-gradient-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl",
98
+ "border-pink-600 bg-linear-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl",
99
99
  "gradient-orange":
100
- "border-gradient-to-r from-orange-600 to-red-600 bg-gradient-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl",
100
+ "border-orange-600 bg-linear-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl",
101
101
  },
102
102
  },
103
103
  defaultVariants: {
@@ -192,9 +192,9 @@ export const Pagination = forwardRef<HTMLElement, PaginationProps>(
192
192
  {item.type === "ellipsis" ? (
193
193
  <span
194
194
  data-slot="pagination-ellipsis"
195
- aria-hidden="true"
196
- title={ellipsisLabel}
197
195
  className={paginationEllipsisVariants({ size })}
196
+ role="img"
197
+ aria-label={ellipsisLabel}
198
198
  >
199
199
 
200
200
  </span>