@zentauri-ui/zentauri-components 1.4.61 → 1.4.63

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 (597) hide show
  1. package/README.md +73 -73
  2. package/dist/{chunk-JE3PD5ZA.js → chunk-2VUMVDR3.js} +8 -8
  3. package/dist/{chunk-JE3PD5ZA.js.map → chunk-2VUMVDR3.js.map} +1 -1
  4. package/dist/{chunk-DFEZH7TC.mjs → chunk-4D54YOL6.mjs} +2 -2
  5. package/dist/{chunk-DFEZH7TC.mjs.map → chunk-4D54YOL6.mjs.map} +1 -1
  6. package/dist/{chunk-UXGHUBNJ.mjs → chunk-4LT2GNJL.mjs} +13 -13
  7. package/dist/{chunk-UXGHUBNJ.mjs.map → chunk-4LT2GNJL.mjs.map} +1 -1
  8. package/dist/{chunk-BORK3BJO.mjs → chunk-5TV7EL3H.mjs} +19 -19
  9. package/dist/chunk-5TV7EL3H.mjs.map +1 -0
  10. package/dist/{chunk-BSWYZTYK.js → chunk-7DCFVPWN.js} +2 -2
  11. package/dist/chunk-7DCFVPWN.js.map +1 -0
  12. package/dist/{chunk-5QB2KNZQ.js → chunk-7TLKLMBM.js} +11 -9
  13. package/dist/chunk-7TLKLMBM.js.map +1 -0
  14. package/dist/{chunk-2P3UU2J3.mjs → chunk-A6KMZ5ZS.mjs} +12 -12
  15. package/dist/chunk-A6KMZ5ZS.mjs.map +1 -0
  16. package/dist/{chunk-OJ67PZ6N.js → chunk-BCZIYH53.js} +8 -8
  17. package/dist/{chunk-OJ67PZ6N.js.map → chunk-BCZIYH53.js.map} +1 -1
  18. package/dist/{chunk-3OR47XMY.js → chunk-E4FZY7O2.js} +52 -33
  19. package/dist/chunk-E4FZY7O2.js.map +1 -0
  20. package/dist/{chunk-XLAFQ24R.js → chunk-G3B6OHFG.js} +49 -41
  21. package/dist/chunk-G3B6OHFG.js.map +1 -0
  22. package/dist/{chunk-RDSPHBHK.mjs → chunk-G3LEYBRV.mjs} +50 -7
  23. package/dist/chunk-G3LEYBRV.mjs.map +1 -0
  24. package/dist/chunk-GBWGVNDA.js +160 -0
  25. package/dist/chunk-GBWGVNDA.js.map +1 -0
  26. package/dist/{chunk-LVUPECBT.mjs → chunk-H2I54QPJ.mjs} +12 -12
  27. package/dist/chunk-H2I54QPJ.mjs.map +1 -0
  28. package/dist/{chunk-XWM2S6VV.mjs → chunk-I6GR234Z.mjs} +22 -20
  29. package/dist/chunk-I6GR234Z.mjs.map +1 -0
  30. package/dist/{chunk-WZKGRU3U.js → chunk-JUDMPOCI.js} +103 -38
  31. package/dist/chunk-JUDMPOCI.js.map +1 -0
  32. package/dist/chunk-K6YI4FJO.mjs +158 -0
  33. package/dist/chunk-K6YI4FJO.mjs.map +1 -0
  34. package/dist/{chunk-WP7GYBRI.js → chunk-KC5LEZ6J.js} +2 -2
  35. package/dist/chunk-KC5LEZ6J.js.map +1 -0
  36. package/dist/{chunk-PCK6LX3K.js → chunk-KEKNNZD3.js} +19 -19
  37. package/dist/{chunk-PCK6LX3K.js.map → chunk-KEKNNZD3.js.map} +1 -1
  38. package/dist/{chunk-UBFKTC2P.mjs → chunk-LJ7AAIA3.mjs} +3 -3
  39. package/dist/{chunk-UBFKTC2P.mjs.map → chunk-LJ7AAIA3.mjs.map} +1 -1
  40. package/dist/{chunk-BVXTOEBI.mjs → chunk-LN77JJTY.mjs} +45 -26
  41. package/dist/chunk-LN77JJTY.mjs.map +1 -0
  42. package/dist/{chunk-E3DZNJAD.js → chunk-MCOQHXRW.js} +23 -21
  43. package/dist/chunk-MCOQHXRW.js.map +1 -0
  44. package/dist/{chunk-FLILFCQE.mjs → chunk-MTLLJFUI.mjs} +7 -8
  45. package/dist/chunk-MTLLJFUI.mjs.map +1 -0
  46. package/dist/{chunk-C2FCPQTO.js → chunk-MXKGDFQH.js} +7 -7
  47. package/dist/{chunk-C2FCPQTO.js.map → chunk-MXKGDFQH.js.map} +1 -1
  48. package/dist/{chunk-UOFTZKMM.js → chunk-MXLRXYIX.js} +18 -18
  49. package/dist/{chunk-UOFTZKMM.js.map → chunk-MXLRXYIX.js.map} +1 -1
  50. package/dist/{chunk-6I7X5BF2.js → chunk-N2OAI2HN.js} +18 -18
  51. package/dist/chunk-N2OAI2HN.js.map +1 -0
  52. package/dist/{chunk-BITDSQMR.js → chunk-OB4KJZK2.js} +19 -19
  53. package/dist/chunk-OB4KJZK2.js.map +1 -0
  54. package/dist/{chunk-2PQEXQVR.js → chunk-PWL5WD34.js} +76 -27
  55. package/dist/chunk-PWL5WD34.js.map +1 -0
  56. package/dist/{chunk-FT2LMA66.mjs → chunk-QADZK5R7.mjs} +2 -2
  57. package/dist/chunk-QADZK5R7.mjs.map +1 -0
  58. package/dist/{chunk-XIXF7UVM.mjs → chunk-QEGACUFU.mjs} +12 -12
  59. package/dist/chunk-QEGACUFU.mjs.map +1 -0
  60. package/dist/{chunk-WDCIZHXY.mjs → chunk-QZTEFGZF.mjs} +6 -4
  61. package/dist/chunk-QZTEFGZF.mjs.map +1 -0
  62. package/dist/{chunk-N4NO3SYL.js → chunk-SKPZCISM.js} +48 -40
  63. package/dist/chunk-SKPZCISM.js.map +1 -0
  64. package/dist/{chunk-7HL3A4YF.mjs → chunk-TJUNN2PT.mjs} +73 -24
  65. package/dist/chunk-TJUNN2PT.mjs.map +1 -0
  66. package/dist/{chunk-IXDJ3IPG.mjs → chunk-TTYZBO4E.mjs} +40 -32
  67. package/dist/chunk-TTYZBO4E.mjs.map +1 -0
  68. package/dist/{chunk-4B7KGBQB.js → chunk-UWA23DUC.js} +12 -13
  69. package/dist/chunk-UWA23DUC.js.map +1 -0
  70. package/dist/{chunk-CY5BQKRZ.mjs → chunk-VXDEPZKH.mjs} +2 -2
  71. package/dist/chunk-VXDEPZKH.mjs.map +1 -0
  72. package/dist/{chunk-TZ2JVWTZ.mjs → chunk-YNBJAFI2.mjs} +3 -3
  73. package/dist/{chunk-TZ2JVWTZ.mjs.map → chunk-YNBJAFI2.mjs.map} +1 -1
  74. package/dist/{chunk-P5HUBXUX.js → chunk-YTRGRHEB.js} +55 -12
  75. package/dist/chunk-YTRGRHEB.js.map +1 -0
  76. package/dist/{chunk-U4YQCAXW.js → chunk-Z7PHKV2T.js} +18 -18
  77. package/dist/chunk-Z7PHKV2T.js.map +1 -0
  78. package/dist/{chunk-YNCD6TKE.mjs → chunk-ZBBFOMSJ.mjs} +103 -38
  79. package/dist/chunk-ZBBFOMSJ.mjs.map +1 -0
  80. package/dist/{chunk-PGH27VTL.mjs → chunk-ZIDKBEQJ.mjs} +40 -32
  81. package/dist/chunk-ZIDKBEQJ.mjs.map +1 -0
  82. package/dist/{chunk-UOZYPWDZ.js → chunk-ZS5756ZC.js} +2 -2
  83. package/dist/{chunk-UOZYPWDZ.js.map → chunk-ZS5756ZC.js.map} +1 -1
  84. package/dist/{chunk-W6PRMYUC.mjs → chunk-ZYZJ74XB.mjs} +3 -3
  85. package/dist/{chunk-W6PRMYUC.mjs.map → chunk-ZYZJ74XB.mjs.map} +1 -1
  86. package/dist/hooks/index.d.ts +2 -2
  87. package/dist/hooks/index.d.ts.map +1 -1
  88. package/dist/hooks/useClickOutside/useClickOutside.d.ts.map +1 -1
  89. package/dist/hooks/useClickOutside.js +2 -2
  90. package/dist/hooks/useClickOutside.mjs +1 -1
  91. package/dist/hooks/useClipboard/useClipboard.d.ts.map +1 -1
  92. package/dist/hooks/useClipboard.js.map +1 -1
  93. package/dist/hooks/useClipboard.mjs.map +1 -1
  94. package/dist/hooks/useFocusManagement/useFocusManagement.d.ts +5 -14
  95. package/dist/hooks/useFocusManagement/useFocusManagement.d.ts.map +1 -1
  96. package/dist/hooks/useFocusManagement.js +2 -2
  97. package/dist/hooks/useFocusManagement.mjs +1 -1
  98. package/dist/hooks/useLocalStorage/index.d.ts +1 -1
  99. package/dist/hooks/useLocalStorage/index.d.ts.map +1 -1
  100. package/dist/hooks/useLocalStorage.js +1 -3
  101. package/dist/hooks/useLocalStorage.js.map +1 -1
  102. package/dist/hooks/useLocalStorage.mjs +1 -3
  103. package/dist/hooks/useLocalStorage.mjs.map +1 -1
  104. package/dist/hooks/useMediaQuery/useMediaQuery.d.ts.map +1 -1
  105. package/dist/hooks/useMediaQuery.js +2 -2
  106. package/dist/hooks/useMediaQuery.mjs +1 -1
  107. package/dist/hooks/usePagination.js +4 -4
  108. package/dist/hooks/usePagination.mjs +2 -2
  109. package/dist/hooks/usePrefersColorScheme.js +2 -2
  110. package/dist/hooks/usePrefersColorScheme.mjs +1 -1
  111. package/dist/hooks/usePrefersReducedMotion.js +2 -2
  112. package/dist/hooks/usePrefersReducedMotion.mjs +1 -1
  113. package/dist/hooks/useResizeObserver/index.d.ts +1 -1
  114. package/dist/hooks/useResizeObserver/index.d.ts.map +1 -1
  115. package/dist/hooks/useSessionStorage/useSessionStorage.d.ts.map +1 -1
  116. package/dist/hooks/useSessionStorage.js.map +1 -1
  117. package/dist/hooks/useSessionStorage.mjs.map +1 -1
  118. package/dist/hooks/useThrottledCallback/useThrottledCallback.d.ts.map +1 -1
  119. package/dist/hooks/useThrottledCallback.js.map +1 -1
  120. package/dist/hooks/useThrottledCallback.mjs.map +1 -1
  121. package/dist/hooks/useWindowSize/useWindowSize.d.ts.map +1 -1
  122. package/dist/hooks/useWindowSize.js +4 -1
  123. package/dist/hooks/useWindowSize.js.map +1 -1
  124. package/dist/hooks/useWindowSize.mjs +4 -1
  125. package/dist/hooks/useWindowSize.mjs.map +1 -1
  126. package/dist/hooks/utils.js +5 -5
  127. package/dist/hooks/utils.mjs +1 -1
  128. package/dist/lib/utils.d.ts.map +1 -1
  129. package/dist/ui/accordion/accordion.d.ts.map +1 -1
  130. package/dist/ui/accordion/animated/accordion-content-animated.d.ts.map +1 -1
  131. package/dist/ui/accordion/animated/index.d.ts +1 -1
  132. package/dist/ui/accordion/animated/index.d.ts.map +1 -1
  133. package/dist/ui/accordion/animated/types.d.ts.map +1 -1
  134. package/dist/ui/accordion/animated.js +8 -11
  135. package/dist/ui/accordion/animated.js.map +1 -1
  136. package/dist/ui/accordion/animated.mjs +4 -7
  137. package/dist/ui/accordion/animated.mjs.map +1 -1
  138. package/dist/ui/accordion.js +10 -10
  139. package/dist/ui/accordion.js.map +1 -1
  140. package/dist/ui/accordion.mjs +3 -3
  141. package/dist/ui/accordion.mjs.map +1 -1
  142. package/dist/ui/alert/alert-base.d.ts.map +1 -1
  143. package/dist/ui/alert/alert.d.ts.map +1 -1
  144. package/dist/ui/alert/animated/index.d.ts.map +1 -1
  145. package/dist/ui/alert/animated.js +3 -3
  146. package/dist/ui/alert/animated.mjs +2 -2
  147. package/dist/ui/alert/types.d.ts.map +1 -1
  148. package/dist/ui/alert.js +11 -11
  149. package/dist/ui/alert.js.map +1 -1
  150. package/dist/ui/alert.mjs +3 -3
  151. package/dist/ui/alert.mjs.map +1 -1
  152. package/dist/ui/avatar/animated/index.d.ts +1 -1
  153. package/dist/ui/avatar/animated/index.d.ts.map +1 -1
  154. package/dist/ui/avatar/animated.js +6 -6
  155. package/dist/ui/avatar/animated.mjs +3 -3
  156. package/dist/ui/avatar/avatar-base.d.ts.map +1 -1
  157. package/dist/ui/avatar/avatar.d.ts.map +1 -1
  158. package/dist/ui/avatar/variants.d.ts.map +1 -1
  159. package/dist/ui/avatar.js +10 -10
  160. package/dist/ui/avatar.js.map +1 -1
  161. package/dist/ui/avatar.mjs +3 -3
  162. package/dist/ui/avatar.mjs.map +1 -1
  163. package/dist/ui/badge/animated/index.d.ts +1 -1
  164. package/dist/ui/badge/animated/index.d.ts.map +1 -1
  165. package/dist/ui/badge/animated/types.d.ts.map +1 -1
  166. package/dist/ui/badge/animated.js +3 -3
  167. package/dist/ui/badge/animated.mjs +2 -2
  168. package/dist/ui/badge/badge-base.d.ts +1 -1
  169. package/dist/ui/badge/badge-base.d.ts.map +1 -1
  170. package/dist/ui/badge/types.d.ts +1 -0
  171. package/dist/ui/badge/types.d.ts.map +1 -1
  172. package/dist/ui/badge/variants.d.ts +16 -16
  173. package/dist/ui/badge/variants.d.ts.map +1 -1
  174. package/dist/ui/badge.js +5 -5
  175. package/dist/ui/badge.mjs +3 -3
  176. package/dist/ui/breadcrumb/breadcrumb.d.ts.map +1 -1
  177. package/dist/ui/breadcrumb/types.d.ts.map +1 -1
  178. package/dist/ui/breadcrumb/variants.d.ts.map +1 -1
  179. package/dist/ui/breadcrumb.js +47 -43
  180. package/dist/ui/breadcrumb.js.map +1 -1
  181. package/dist/ui/breadcrumb.mjs +43 -39
  182. package/dist/ui/breadcrumb.mjs.map +1 -1
  183. package/dist/ui/buttons/animated/index.d.ts +1 -1
  184. package/dist/ui/buttons/animated/index.d.ts.map +1 -1
  185. package/dist/ui/buttons/animated/types.d.ts.map +1 -1
  186. package/dist/ui/buttons/animated.js +4 -4
  187. package/dist/ui/buttons/animated.mjs +2 -2
  188. package/dist/ui/buttons/types.d.ts.map +1 -1
  189. package/dist/ui/buttons.js +5 -5
  190. package/dist/ui/buttons.mjs +3 -3
  191. package/dist/ui/card/animated.js +8 -8
  192. package/dist/ui/card/animated.mjs +3 -3
  193. package/dist/ui/card/card-base.d.ts.map +1 -1
  194. package/dist/ui/card/card.d.ts.map +1 -1
  195. package/dist/ui/card/index.d.ts +2 -2
  196. package/dist/ui/card/index.d.ts.map +1 -1
  197. package/dist/ui/card.js +13 -13
  198. package/dist/ui/card.js.map +1 -1
  199. package/dist/ui/card.mjs +3 -3
  200. package/dist/ui/card.mjs.map +1 -1
  201. package/dist/ui/divider/animated/index.d.ts +1 -1
  202. package/dist/ui/divider/animated/index.d.ts.map +1 -1
  203. package/dist/ui/divider/animated/types.d.ts.map +1 -1
  204. package/dist/ui/divider/animated.js +3 -3
  205. package/dist/ui/divider/animated.mjs +2 -2
  206. package/dist/ui/divider/divider-base.d.ts.map +1 -1
  207. package/dist/ui/divider.js +7 -7
  208. package/dist/ui/divider.mjs +3 -3
  209. package/dist/ui/drawer/animated/drawer-content-animated.d.ts.map +1 -1
  210. package/dist/ui/drawer/animated/index.d.ts +1 -1
  211. package/dist/ui/drawer/animated/index.d.ts.map +1 -1
  212. package/dist/ui/drawer/animated.js +19 -20
  213. package/dist/ui/drawer/animated.js.map +1 -1
  214. package/dist/ui/drawer/animated.mjs +9 -10
  215. package/dist/ui/drawer/animated.mjs.map +1 -1
  216. package/dist/ui/drawer/drawer-base.d.ts +1 -1
  217. package/dist/ui/drawer/drawer-base.d.ts.map +1 -1
  218. package/dist/ui/drawer/types.d.ts +1 -0
  219. package/dist/ui/drawer/types.d.ts.map +1 -1
  220. package/dist/ui/drawer.js +13 -13
  221. package/dist/ui/drawer.mjs +3 -3
  222. package/dist/ui/dropdown/dropdown.d.ts +1 -1
  223. package/dist/ui/dropdown/dropdown.d.ts.map +1 -1
  224. package/dist/ui/dropdown/types.d.ts +1 -0
  225. package/dist/ui/dropdown/types.d.ts.map +1 -1
  226. package/dist/ui/dropdown/variants.d.ts +1 -1
  227. package/dist/ui/dropdown.js +49 -31
  228. package/dist/ui/dropdown.js.map +1 -1
  229. package/dist/ui/dropdown.mjs +46 -28
  230. package/dist/ui/dropdown.mjs.map +1 -1
  231. package/dist/ui/empty-state/animated/empty-state-animated.d.ts.map +1 -1
  232. package/dist/ui/empty-state/animated/index.d.ts +2 -2
  233. package/dist/ui/empty-state/animated/index.d.ts.map +1 -1
  234. package/dist/ui/empty-state/animated.js +3 -3
  235. package/dist/ui/empty-state/animated.js.map +1 -1
  236. package/dist/ui/empty-state/animated.mjs +2 -2
  237. package/dist/ui/empty-state/animated.mjs.map +1 -1
  238. package/dist/ui/empty-state/empty-state-base.d.ts.map +1 -1
  239. package/dist/ui/empty-state/index.d.ts +1 -1
  240. package/dist/ui/empty-state/index.d.ts.map +1 -1
  241. package/dist/ui/empty-state/types.d.ts +1 -0
  242. package/dist/ui/empty-state/types.d.ts.map +1 -1
  243. package/dist/ui/empty-state.js +11 -11
  244. package/dist/ui/empty-state.mjs +3 -3
  245. package/dist/ui/file-upload/file-upload.d.ts.map +1 -1
  246. package/dist/ui/file-upload/variants.d.ts.map +1 -1
  247. package/dist/ui/file-upload.js +4 -6
  248. package/dist/ui/file-upload.js.map +1 -1
  249. package/dist/ui/file-upload.mjs +2 -4
  250. package/dist/ui/file-upload.mjs.map +1 -1
  251. package/dist/ui/inputs/animated/index.d.ts +1 -1
  252. package/dist/ui/inputs/animated/index.d.ts.map +1 -1
  253. package/dist/ui/inputs/animated.js +3 -3
  254. package/dist/ui/inputs/animated.mjs +1 -1
  255. package/dist/ui/inputs/input-base.d.ts.map +1 -1
  256. package/dist/ui/inputs/types.d.ts +3 -1
  257. package/dist/ui/inputs/types.d.ts.map +1 -1
  258. package/dist/ui/inputs.js +49 -5
  259. package/dist/ui/inputs.js.map +1 -1
  260. package/dist/ui/inputs.mjs +47 -3
  261. package/dist/ui/inputs.mjs.map +1 -1
  262. package/dist/ui/modal/animated/index.d.ts +1 -1
  263. package/dist/ui/modal/animated/index.d.ts.map +1 -1
  264. package/dist/ui/modal/animated/modal-content-animated.d.ts.map +1 -1
  265. package/dist/ui/modal/animated.js +12 -13
  266. package/dist/ui/modal/animated.js.map +1 -1
  267. package/dist/ui/modal/animated.mjs +8 -9
  268. package/dist/ui/modal/animated.mjs.map +1 -1
  269. package/dist/ui/modal/index.d.ts +1 -1
  270. package/dist/ui/modal/index.d.ts.map +1 -1
  271. package/dist/ui/modal/modal-base.d.ts +4 -2
  272. package/dist/ui/modal/modal-base.d.ts.map +1 -1
  273. package/dist/ui/modal/types.d.ts.map +1 -1
  274. package/dist/ui/modal.js +14 -14
  275. package/dist/ui/modal.js.map +1 -1
  276. package/dist/ui/modal.mjs +4 -4
  277. package/dist/ui/modal.mjs.map +1 -1
  278. package/dist/ui/pagination.js +25 -25
  279. package/dist/ui/pagination.js.map +1 -1
  280. package/dist/ui/pagination.mjs +15 -15
  281. package/dist/ui/pagination.mjs.map +1 -1
  282. package/dist/ui/progress/animated/progress-animated.d.ts.map +1 -1
  283. package/dist/ui/progress/animated.js +52 -14
  284. package/dist/ui/progress/animated.js.map +1 -1
  285. package/dist/ui/progress/animated.mjs +45 -7
  286. package/dist/ui/progress/animated.mjs.map +1 -1
  287. package/dist/ui/progress/index.d.ts +2 -2
  288. package/dist/ui/progress/index.d.ts.map +1 -1
  289. package/dist/ui/progress/progress-base.d.ts.map +1 -1
  290. package/dist/ui/progress/progress.d.ts.map +1 -1
  291. package/dist/ui/progress/types.d.ts +3 -0
  292. package/dist/ui/progress/types.d.ts.map +1 -1
  293. package/dist/ui/progress.js +10 -15
  294. package/dist/ui/progress.js.map +1 -1
  295. package/dist/ui/progress.mjs +4 -9
  296. package/dist/ui/progress.mjs.map +1 -1
  297. package/dist/ui/search/search-bar.d.ts +1 -1
  298. package/dist/ui/search/search-bar.d.ts.map +1 -1
  299. package/dist/ui/search/search-suggestion-list.d.ts.map +1 -1
  300. package/dist/ui/search/search-suggestion-utils.d.ts.map +1 -1
  301. package/dist/ui/search.js +15 -7
  302. package/dist/ui/search.js.map +1 -1
  303. package/dist/ui/search.mjs +11 -3
  304. package/dist/ui/search.mjs.map +1 -1
  305. package/dist/ui/select/select.d.ts +1 -1
  306. package/dist/ui/select/select.d.ts.map +1 -1
  307. package/dist/ui/select/types.d.ts +1 -0
  308. package/dist/ui/select/types.d.ts.map +1 -1
  309. package/dist/ui/select/variants.d.ts +1 -1
  310. package/dist/ui/select/variants.d.ts.map +1 -1
  311. package/dist/ui/select.js +145 -63
  312. package/dist/ui/select.js.map +1 -1
  313. package/dist/ui/select.mjs +141 -59
  314. package/dist/ui/select.mjs.map +1 -1
  315. package/dist/ui/skeleton/animated/skeleton-animated.d.ts.map +1 -1
  316. package/dist/ui/skeleton/animated/types.d.ts.map +1 -1
  317. package/dist/ui/skeleton/animated.js +34 -10
  318. package/dist/ui/skeleton/animated.js.map +1 -1
  319. package/dist/ui/skeleton/animated.mjs +29 -5
  320. package/dist/ui/skeleton/animated.mjs.map +1 -1
  321. package/dist/ui/skeleton/variants.d.ts +1 -1
  322. package/dist/ui/skeleton.js +10 -10
  323. package/dist/ui/skeleton.mjs +2 -2
  324. package/dist/ui/slider/slider.d.ts.map +1 -1
  325. package/dist/ui/slider/types.d.ts +8 -2
  326. package/dist/ui/slider/types.d.ts.map +1 -1
  327. package/dist/ui/slider.js +53 -17
  328. package/dist/ui/slider.js.map +1 -1
  329. package/dist/ui/slider.mjs +45 -9
  330. package/dist/ui/slider.mjs.map +1 -1
  331. package/dist/ui/spinner/animated/spinner.d.ts.map +1 -1
  332. package/dist/ui/spinner/animated.js +68 -56
  333. package/dist/ui/spinner/animated.js.map +1 -1
  334. package/dist/ui/spinner/animated.mjs +64 -52
  335. package/dist/ui/spinner/animated.mjs.map +1 -1
  336. package/dist/ui/stepper/stepper.d.ts +2 -7
  337. package/dist/ui/stepper/stepper.d.ts.map +1 -1
  338. package/dist/ui/stepper/types.d.ts +3 -3
  339. package/dist/ui/stepper/types.d.ts.map +1 -1
  340. package/dist/ui/stepper/variants.d.ts +1 -1
  341. package/dist/ui/stepper/variants.d.ts.map +1 -1
  342. package/dist/ui/stepper.js +12 -13
  343. package/dist/ui/stepper.js.map +1 -1
  344. package/dist/ui/stepper.mjs +9 -10
  345. package/dist/ui/stepper.mjs.map +1 -1
  346. package/dist/ui/table/animated/index.d.ts +2 -2
  347. package/dist/ui/table/animated/index.d.ts.map +1 -1
  348. package/dist/ui/table/animated.js +9 -9
  349. package/dist/ui/table/animated.mjs +3 -3
  350. package/dist/ui/table/table-base.d.ts +1 -1
  351. package/dist/ui/table/table-base.d.ts.map +1 -1
  352. package/dist/ui/table/types.d.ts +5 -1
  353. package/dist/ui/table/types.d.ts.map +1 -1
  354. package/dist/ui/table.js +15 -15
  355. package/dist/ui/table.mjs +2 -2
  356. package/dist/ui/tabs/animated/animations.d.ts.map +1 -1
  357. package/dist/ui/tabs/animated/index.d.ts +1 -1
  358. package/dist/ui/tabs/animated/index.d.ts.map +1 -1
  359. package/dist/ui/tabs/animated/types.d.ts.map +1 -1
  360. package/dist/ui/tabs/animated.js +4 -4
  361. package/dist/ui/tabs/animated.js.map +1 -1
  362. package/dist/ui/tabs/animated.mjs +2 -2
  363. package/dist/ui/tabs/animated.mjs.map +1 -1
  364. package/dist/ui/tabs/index.d.ts +1 -1
  365. package/dist/ui/tabs/index.d.ts.map +1 -1
  366. package/dist/ui/tabs/tabs-base.d.ts.map +1 -1
  367. package/dist/ui/tabs/tabs.d.ts +1 -1
  368. package/dist/ui/tabs/tabs.d.ts.map +1 -1
  369. package/dist/ui/tabs/types.d.ts +2 -1
  370. package/dist/ui/tabs/types.d.ts.map +1 -1
  371. package/dist/ui/tabs.js +10 -10
  372. package/dist/ui/tabs.mjs +2 -2
  373. package/dist/ui/toast/animated/toast-animated.d.ts.map +1 -1
  374. package/dist/ui/toast/animated.js +12 -10
  375. package/dist/ui/toast/animated.js.map +1 -1
  376. package/dist/ui/toast/animated.mjs +5 -3
  377. package/dist/ui/toast/animated.mjs.map +1 -1
  378. package/dist/ui/toast/types.d.ts.map +1 -1
  379. package/dist/ui/toast.js +13 -13
  380. package/dist/ui/toast.mjs +2 -2
  381. package/dist/ui/toggle/animated/index.d.ts +2 -2
  382. package/dist/ui/toggle/animated/index.d.ts.map +1 -1
  383. package/dist/ui/toggle/animated/types.d.ts.map +1 -1
  384. package/dist/ui/toggle/animated.js +3 -3
  385. package/dist/ui/toggle/animated.mjs +1 -1
  386. package/dist/ui/toggle/index.d.ts +1 -1
  387. package/dist/ui/toggle/index.d.ts.map +1 -1
  388. package/dist/ui/toggle/toggle-base.d.ts.map +1 -1
  389. package/dist/ui/toggle.js +31 -6
  390. package/dist/ui/toggle.js.map +1 -1
  391. package/dist/ui/toggle.mjs +30 -5
  392. package/dist/ui/toggle.mjs.map +1 -1
  393. package/dist/ui/tooltip/animated/animations.d.ts.map +1 -1
  394. package/dist/ui/tooltip/animated/types.d.ts.map +1 -1
  395. package/dist/ui/tooltip/animated.js +5 -5
  396. package/dist/ui/tooltip/animated.js.map +1 -1
  397. package/dist/ui/tooltip/animated.mjs +2 -2
  398. package/dist/ui/tooltip/animated.mjs.map +1 -1
  399. package/dist/ui/tooltip/tooltip-base.d.ts.map +1 -1
  400. package/dist/ui/tooltip/types.d.ts +1 -0
  401. package/dist/ui/tooltip/types.d.ts.map +1 -1
  402. package/dist/ui/tooltip/variants.d.ts.map +1 -1
  403. package/dist/ui/tooltip.js +8 -8
  404. package/dist/ui/tooltip.mjs +2 -2
  405. package/dist/ui/typography/blockquote-base.d.ts.map +1 -1
  406. package/dist/ui/typography/code-block-base.d.ts.map +1 -1
  407. package/dist/ui/typography/heading-base.d.ts.map +1 -1
  408. package/dist/ui/typography/list-base.d.ts.map +1 -1
  409. package/dist/ui/typography/types.d.ts.map +1 -1
  410. package/dist/ui/typography/variants.d.ts.map +1 -1
  411. package/dist/ui/typography.js +12 -34
  412. package/dist/ui/typography.js.map +1 -1
  413. package/dist/ui/typography.mjs +4 -26
  414. package/dist/ui/typography.mjs.map +1 -1
  415. package/package.json +1 -1
  416. package/src/hooks/index.ts +8 -2
  417. package/src/hooks/useClickOutside/useClickOutside.ts +1 -4
  418. package/src/hooks/useClipboard/useClipboard.test.ts +3 -1
  419. package/src/hooks/useClipboard/useClipboard.ts +1 -2
  420. package/src/hooks/useDisclosure/useDisclosure.test.ts +1 -2
  421. package/src/hooks/useDocumentTitle/useDocumentTitle.test.ts +1 -3
  422. package/src/hooks/useFocusManagement/useFocusManagement.test.tsx +8 -0
  423. package/src/hooks/useFocusManagement/useFocusManagement.ts +162 -34
  424. package/src/hooks/useInView/useInView.test.ts +6 -1
  425. package/src/hooks/useLocalStorage/index.ts +1 -4
  426. package/src/hooks/useLocalStorage/useLocalStorage.test.ts +8 -20
  427. package/src/hooks/useLocalStorage/useLocalStorage.ts +4 -4
  428. package/src/hooks/useMediaQuery/useMediaQuery.ts +1 -4
  429. package/src/hooks/usePrefersReducedMotion/usePrefersReducedMotion.test.ts +3 -1
  430. package/src/hooks/useResizeObserver/index.ts +1 -4
  431. package/src/hooks/useSessionStorage/useSessionStorage.test.ts +2 -6
  432. package/src/hooks/useSessionStorage/useSessionStorage.ts +4 -2
  433. package/src/hooks/useThrottledCallback/useThrottledCallback.ts +4 -3
  434. package/src/hooks/useWindowSize/useWindowSize.ts +4 -1
  435. package/src/lib/utils.ts +3 -3
  436. package/src/ui/accordion/accordion.tsx +6 -1
  437. package/src/ui/accordion/animated/accordion-content-animated.tsx +1 -4
  438. package/src/ui/accordion/animated/index.ts +4 -1
  439. package/src/ui/accordion/animated/types.ts +6 -2
  440. package/src/ui/alert/alert-base.tsx +6 -1
  441. package/src/ui/alert/alert.tsx +2 -2
  442. package/src/ui/alert/animated/index.ts +2 -2
  443. package/src/ui/alert/animated/types.ts +1 -1
  444. package/src/ui/alert/types.ts +1 -3
  445. package/src/ui/alert/variants.ts +9 -9
  446. package/src/ui/avatar/animated/index.ts +6 -2
  447. package/src/ui/avatar/avatar-base.tsx +2 -7
  448. package/src/ui/avatar/avatar.tsx +6 -1
  449. package/src/ui/avatar/variants.ts +23 -11
  450. package/src/ui/badge/animated/index.ts +6 -2
  451. package/src/ui/badge/animated/types.ts +1 -2
  452. package/src/ui/badge/badge-base.tsx +4 -1
  453. package/src/ui/badge/types.ts +1 -0
  454. package/src/ui/badge/variants.ts +16 -18
  455. package/src/ui/breadcrumb/breadcrumb.tsx +10 -2
  456. package/src/ui/breadcrumb/types.ts +20 -9
  457. package/src/ui/breadcrumb/variants.ts +34 -38
  458. package/src/ui/buttons/animated/index.ts +7 -1
  459. package/src/ui/buttons/animated/types.ts +0 -1
  460. package/src/ui/buttons/button.test.tsx +2 -2
  461. package/src/ui/buttons/types.ts +4 -5
  462. package/src/ui/buttons/variants.ts +17 -17
  463. package/src/ui/card/animated/types.ts +0 -1
  464. package/src/ui/card/card-base.tsx +1 -6
  465. package/src/ui/card/card.test.tsx +7 -3
  466. package/src/ui/card/card.tsx +1 -3
  467. package/src/ui/card/index.ts +7 -3
  468. package/src/ui/card/types.ts +1 -1
  469. package/src/ui/card/variants.ts +9 -9
  470. package/src/ui/divider/animated/index.ts +5 -1
  471. package/src/ui/divider/animated/types.ts +4 -2
  472. package/src/ui/divider/divider-base.tsx +0 -1
  473. package/src/ui/drawer/animated/drawer-content-animated.tsx +6 -11
  474. package/src/ui/drawer/animated/index.ts +6 -1
  475. package/src/ui/drawer/drawer-base.tsx +16 -8
  476. package/src/ui/drawer/types.ts +12 -3
  477. package/src/ui/drawer/variants.ts +18 -18
  478. package/src/ui/dropdown/dropdown.test.tsx +1 -3
  479. package/src/ui/dropdown/dropdown.tsx +30 -5
  480. package/src/ui/dropdown/types.ts +1 -0
  481. package/src/ui/dropdown/variants.ts +20 -20
  482. package/src/ui/empty-state/animated/empty-state-animated.tsx +2 -4
  483. package/src/ui/empty-state/animated/index.ts +8 -5
  484. package/src/ui/empty-state/empty-state-base.tsx +14 -2
  485. package/src/ui/empty-state/index.ts +7 -1
  486. package/src/ui/empty-state/types.ts +1 -0
  487. package/src/ui/file-upload/file-upload.tsx +3 -9
  488. package/src/ui/file-upload/variants.ts +18 -9
  489. package/src/ui/inputs/animated/index.ts +7 -1
  490. package/src/ui/inputs/input-base.tsx +60 -6
  491. package/src/ui/inputs/input.test.tsx +5 -1
  492. package/src/ui/inputs/types.ts +7 -2
  493. package/src/ui/modal/animated/index.ts +6 -1
  494. package/src/ui/modal/animated/modal-content-animated.tsx +4 -5
  495. package/src/ui/modal/index.ts +1 -1
  496. package/src/ui/modal/modal-base.tsx +19 -10
  497. package/src/ui/modal/modal.test.tsx +44 -4
  498. package/src/ui/modal/modal.tsx +1 -1
  499. package/src/ui/modal/types.ts +10 -2
  500. package/src/ui/modal/variants.ts +18 -18
  501. package/src/ui/pagination/pagination.tsx +2 -2
  502. package/src/ui/pagination/variants.ts +9 -9
  503. package/src/ui/progress/animated/progress-animated.tsx +43 -5
  504. package/src/ui/progress/animated/types.ts +1 -1
  505. package/src/ui/progress/index.ts +12 -2
  506. package/src/ui/progress/progress-base.tsx +61 -5
  507. package/src/ui/progress/progress.test.tsx +1 -3
  508. package/src/ui/progress/progress.tsx +2 -6
  509. package/src/ui/progress/types.ts +3 -0
  510. package/src/ui/search/filter-search-suggestions.test.ts +46 -12
  511. package/src/ui/search/filter-search-suggestions.ts +3 -3
  512. package/src/ui/search/search-bar.tsx +22 -22
  513. package/src/ui/search/search-suggestion-list.tsx +14 -5
  514. package/src/ui/search/search-suggestion-utils.ts +4 -1
  515. package/src/ui/select/select.tsx +96 -6
  516. package/src/ui/select/types.ts +1 -0
  517. package/src/ui/select/variants.ts +71 -68
  518. package/src/ui/skeleton/animated/skeleton-animated.tsx +25 -4
  519. package/src/ui/skeleton/animated/types.ts +0 -1
  520. package/src/ui/skeleton/skeleton-base.tsx +3 -3
  521. package/src/ui/skeleton/variants.ts +9 -9
  522. package/src/ui/slider/slider.test.tsx +23 -9
  523. package/src/ui/slider/slider.tsx +45 -4
  524. package/src/ui/slider/types.ts +9 -3
  525. package/src/ui/slider/variants.ts +1 -1
  526. package/src/ui/spinner/animated/spinner.tsx +6 -3
  527. package/src/ui/stepper/stepper.test.tsx +5 -6
  528. package/src/ui/stepper/stepper.tsx +12 -16
  529. package/src/ui/stepper/types.ts +11 -5
  530. package/src/ui/stepper/variants.ts +30 -15
  531. package/src/ui/table/animated/index.ts +6 -4
  532. package/src/ui/table/table-base.tsx +32 -11
  533. package/src/ui/table/types.ts +8 -1
  534. package/src/ui/tabs/animated/animations.ts +5 -1
  535. package/src/ui/tabs/animated/index.ts +7 -1
  536. package/src/ui/tabs/animated/types.ts +3 -3
  537. package/src/ui/tabs/index.ts +8 -1
  538. package/src/ui/tabs/tabs-base.tsx +71 -10
  539. package/src/ui/tabs/tabs.tsx +8 -1
  540. package/src/ui/tabs/types.ts +2 -1
  541. package/src/ui/tabs/variants.ts +10 -10
  542. package/src/ui/toast/animated/toast-animated.tsx +3 -1
  543. package/src/ui/toast/animated/types.ts +1 -1
  544. package/src/ui/toast/toast-base.tsx +1 -1
  545. package/src/ui/toast/types.ts +3 -1
  546. package/src/ui/toast/variants.ts +9 -9
  547. package/src/ui/toggle/animated/index.ts +7 -4
  548. package/src/ui/toggle/animated/types.ts +4 -2
  549. package/src/ui/toggle/index.ts +5 -1
  550. package/src/ui/toggle/toggle-base.tsx +36 -4
  551. package/src/ui/tooltip/animated/animations.ts +0 -1
  552. package/src/ui/tooltip/animated/types.ts +0 -1
  553. package/src/ui/tooltip/tooltip-base.tsx +118 -22
  554. package/src/ui/tooltip/types.ts +1 -0
  555. package/src/ui/tooltip/variants.ts +11 -13
  556. package/src/ui/typography/blockquote-base.tsx +1 -8
  557. package/src/ui/typography/code-block-base.tsx +19 -24
  558. package/src/ui/typography/heading-base.tsx +35 -38
  559. package/src/ui/typography/inline-code-base.tsx +15 -15
  560. package/src/ui/typography/list-base.tsx +1 -9
  561. package/src/ui/typography/text-base.tsx +32 -32
  562. package/src/ui/typography/types.ts +4 -17
  563. package/src/ui/typography/typography.test.tsx +3 -1
  564. package/src/ui/typography/variants.ts +16 -8
  565. package/dist/chunk-2P3UU2J3.mjs.map +0 -1
  566. package/dist/chunk-2PQEXQVR.js.map +0 -1
  567. package/dist/chunk-3OR47XMY.js.map +0 -1
  568. package/dist/chunk-4B7KGBQB.js.map +0 -1
  569. package/dist/chunk-5QB2KNZQ.js.map +0 -1
  570. package/dist/chunk-6I7X5BF2.js.map +0 -1
  571. package/dist/chunk-7HL3A4YF.mjs.map +0 -1
  572. package/dist/chunk-BITDSQMR.js.map +0 -1
  573. package/dist/chunk-BORK3BJO.mjs.map +0 -1
  574. package/dist/chunk-BSWYZTYK.js.map +0 -1
  575. package/dist/chunk-BVXTOEBI.mjs.map +0 -1
  576. package/dist/chunk-CY5BQKRZ.mjs.map +0 -1
  577. package/dist/chunk-E3DZNJAD.js.map +0 -1
  578. package/dist/chunk-FLILFCQE.mjs.map +0 -1
  579. package/dist/chunk-FT2LMA66.mjs.map +0 -1
  580. package/dist/chunk-IXDJ3IPG.mjs.map +0 -1
  581. package/dist/chunk-LVUPECBT.mjs.map +0 -1
  582. package/dist/chunk-N4NO3SYL.js.map +0 -1
  583. package/dist/chunk-P5HUBXUX.js.map +0 -1
  584. package/dist/chunk-PGH27VTL.mjs.map +0 -1
  585. package/dist/chunk-RDSPHBHK.mjs.map +0 -1
  586. package/dist/chunk-U4YQCAXW.js.map +0 -1
  587. package/dist/chunk-WDCIZHXY.mjs.map +0 -1
  588. package/dist/chunk-WL5I7RVS.mjs +0 -54
  589. package/dist/chunk-WL5I7RVS.mjs.map +0 -1
  590. package/dist/chunk-WP7GYBRI.js.map +0 -1
  591. package/dist/chunk-WZKGRU3U.js.map +0 -1
  592. package/dist/chunk-XIXF7UVM.mjs.map +0 -1
  593. package/dist/chunk-XLAFQ24R.js.map +0 -1
  594. package/dist/chunk-XWM2S6VV.mjs.map +0 -1
  595. package/dist/chunk-YNCD6TKE.mjs.map +0 -1
  596. package/dist/chunk-YPLVTUYL.js +0 -56
  597. package/dist/chunk-YPLVTUYL.js.map +0 -1
@@ -1,8 +1,8 @@
1
1
  "use client";
2
- import { useModalContext, modalOverlayVariants, modalContentVariants } from '../../chunk-IXDJ3IPG.mjs';
3
- import { useFocusManagement } from '../../chunk-WL5I7RVS.mjs';
2
+ import { useModalContext, modalOverlayVariants, modalContentVariants } from '../../chunk-TTYZBO4E.mjs';
3
+ import { useFocusManagement } from '../../chunk-K6YI4FJO.mjs';
4
4
  import '../../chunk-PMAF6FBF.mjs';
5
- import { cn } from '../../chunk-DFEZH7TC.mjs';
5
+ import { cn } from '../../chunk-4D54YOL6.mjs';
6
6
  import { useReducedMotion, AnimatePresence, motion } from 'framer-motion';
7
7
  import { createPortal } from 'react-dom';
8
8
  import { jsx, jsxs } from 'react/jsx-runtime';
@@ -46,14 +46,15 @@ function ModalContentAnimated({
46
46
  id,
47
47
  style
48
48
  }) {
49
- const { open, setOpen, titleId, descriptionId, contentRef } = useModalContext("ModalContent");
49
+ const { open, setOpen, titleId, descriptionId, contentRef, triggerRef } = useModalContext("ModalContent");
50
50
  const reduceMotion = useReducedMotion();
51
51
  const overlayMotion = modalOverlayAnimationPresets[reduceMotion ? "fade" : animation];
52
52
  const panelMotion = modalOverlayAnimationPresets[reduceMotion ? "fade" : animation];
53
53
  useFocusManagement({
54
54
  open,
55
55
  setOpen,
56
- contentRef
56
+ contentRef,
57
+ triggerRef
57
58
  });
58
59
  const portalTarget = typeof document !== "undefined" ? document.body : null;
59
60
  if (!portalTarget) {
@@ -62,11 +63,9 @@ function ModalContentAnimated({
62
63
  return createPortal(
63
64
  /* @__PURE__ */ jsx(AnimatePresence, { children: open ? /* @__PURE__ */ jsxs("div", { className: "fixed inset-0 z-50", "data-slot": "modal-portal", children: [
64
65
  /* @__PURE__ */ jsx(
65
- motion.button,
66
+ motion.div,
66
67
  {
67
- type: "button",
68
- "aria-hidden": true,
69
- tabIndex: -1,
68
+ role: "presentation",
70
69
  "data-slot": "modal-overlay",
71
70
  className: modalOverlayVariants(),
72
71
  onClick: () => setOpen(false),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/ui/modal/animated/animations.ts","../../../src/ui/modal/animated/modal-content-animated.tsx"],"names":[],"mappings":"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","file":"animated.mjs","sourcesContent":["import type { ModalAnimationPresets } from \"./types\";\n\nexport const modalOverlayAnimationPresets: ModalAnimationPresets = {\n none: {},\n fade: {\n initial: { opacity: 0 },\n animate: { opacity: 1 },\n exit: { opacity: 0 },\n transition: { duration: 0.2 },\n },\n scale: {\n initial: { opacity: 0, scale: 0.96 },\n animate: { opacity: 1, scale: 1 },\n exit: { opacity: 0, scale: 0.96 },\n transition: { type: \"spring\", stiffness: 420, damping: 32 },\n },\n \"slide-up\": {\n initial: { opacity: 0, y: 24 },\n animate: { opacity: 1, y: 0 },\n exit: { opacity: 0, y: 16 },\n transition: { type: \"spring\", stiffness: 380, damping: 30 },\n },\n \"slide-down\": {\n initial: { opacity: 0, y: -24 },\n animate: { opacity: 1, y: 0 },\n exit: { opacity: 0, y: -16 },\n transition: { type: \"spring\", stiffness: 380, damping: 30 },\n },\n};\n","\"use client\";\n\nimport { AnimatePresence, motion, useReducedMotion } from \"framer-motion\";\nimport { createPortal } from \"react-dom\";\n\nimport { cn } from \"../../../lib/utils\";\nimport { useFocusManagement } from \"../../../hooks/useFocusManagement\";\n\nimport { modalOverlayAnimationPresets } from \"./animations\";\nimport type { ModalContentAnimatedProps } from \"./types\";\nimport { modalContentVariants, modalOverlayVariants } from \"../variants\";\nimport { useModalContext } from \"../modal-base\";\n\nexport function ModalContentAnimated({\n className,\n size,\n position,\n appearance,\n animation = \"scale\",\n children,\n ref,\n id,\n style,\n}: ModalContentAnimatedProps) {\n const { open, setOpen, titleId, descriptionId, contentRef } =\n useModalContext(\"ModalContent\");\n const reduceMotion = useReducedMotion();\n const overlayMotion =\n modalOverlayAnimationPresets[reduceMotion ? \"fade\" : animation];\n const panelMotion =\n modalOverlayAnimationPresets[reduceMotion ? \"fade\" : animation];\n\n useFocusManagement({\n open,\n setOpen,\n contentRef,\n });\n\n const portalTarget = typeof document !== \"undefined\" ? document.body : null;\n\n if (!portalTarget) {\n return null;\n }\n\n return createPortal(\n <AnimatePresence>\n {open ? (\n <div className=\"fixed inset-0 z-50\" data-slot=\"modal-portal\">\n <motion.button\n type=\"button\"\n aria-hidden\n tabIndex={-1}\n data-slot=\"modal-overlay\"\n className={modalOverlayVariants()}\n onClick={() => setOpen(false)}\n initial={animation === \"none\" ? false : overlayMotion.initial}\n animate={animation === \"none\" ? undefined : overlayMotion.animate}\n exit={animation === \"none\" ? undefined : overlayMotion.exit}\n transition={overlayMotion.transition}\n />\n <motion.div\n ref={(node) => {\n contentRef.current = node;\n if (typeof ref === \"function\") {\n ref(node);\n } else if (ref) {\n (ref as React.RefObject<HTMLDivElement | null>).current = node;\n }\n }}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={titleId}\n aria-describedby={descriptionId}\n data-slot=\"modal-content\"\n tabIndex={-1}\n className={cn(\n modalContentVariants({ size, position, appearance }),\n className,\n )}\n initial={animation === \"none\" ? false : panelMotion.initial}\n animate={animation === \"none\" ? undefined : panelMotion.animate}\n exit={animation === \"none\" ? undefined : panelMotion.exit}\n transition={panelMotion.transition}\n id={id}\n style={style}\n >\n {children}\n </motion.div>\n </div>\n ) : null}\n </AnimatePresence>,\n portalTarget,\n );\n}\n\nModalContentAnimated.displayName = \"ModalContent\";\n"]}
1
+ {"version":3,"sources":["../../../src/ui/modal/animated/animations.ts","../../../src/ui/modal/animated/modal-content-animated.tsx"],"names":[],"mappings":"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","file":"animated.mjs","sourcesContent":["import type { ModalAnimationPresets } from \"./types\";\n\nexport const modalOverlayAnimationPresets: ModalAnimationPresets = {\n none: {},\n fade: {\n initial: { opacity: 0 },\n animate: { opacity: 1 },\n exit: { opacity: 0 },\n transition: { duration: 0.2 },\n },\n scale: {\n initial: { opacity: 0, scale: 0.96 },\n animate: { opacity: 1, scale: 1 },\n exit: { opacity: 0, scale: 0.96 },\n transition: { type: \"spring\", stiffness: 420, damping: 32 },\n },\n \"slide-up\": {\n initial: { opacity: 0, y: 24 },\n animate: { opacity: 1, y: 0 },\n exit: { opacity: 0, y: 16 },\n transition: { type: \"spring\", stiffness: 380, damping: 30 },\n },\n \"slide-down\": {\n initial: { opacity: 0, y: -24 },\n animate: { opacity: 1, y: 0 },\n exit: { opacity: 0, y: -16 },\n transition: { type: \"spring\", stiffness: 380, damping: 30 },\n },\n};\n","\"use client\";\n\nimport { AnimatePresence, motion, useReducedMotion } from \"framer-motion\";\nimport { createPortal } from \"react-dom\";\n\nimport { cn } from \"../../../lib/utils\";\nimport { useFocusManagement } from \"../../../hooks/useFocusManagement\";\n\nimport { modalOverlayAnimationPresets } from \"./animations\";\nimport type { ModalContentAnimatedProps } from \"./types\";\nimport { modalContentVariants, modalOverlayVariants } from \"../variants\";\nimport { useModalContext } from \"../modal-base\";\n\nexport function ModalContentAnimated({\n className,\n size,\n position,\n appearance,\n animation = \"scale\",\n children,\n ref,\n id,\n style,\n}: ModalContentAnimatedProps) {\n const { open, setOpen, titleId, descriptionId, contentRef, triggerRef } =\n useModalContext(\"ModalContent\");\n const reduceMotion = useReducedMotion();\n const overlayMotion =\n modalOverlayAnimationPresets[reduceMotion ? \"fade\" : animation];\n const panelMotion =\n modalOverlayAnimationPresets[reduceMotion ? \"fade\" : animation];\n\n useFocusManagement({\n open,\n setOpen,\n contentRef,\n triggerRef,\n });\n\n const portalTarget = typeof document !== \"undefined\" ? document.body : null;\n\n if (!portalTarget) {\n return null;\n }\n\n return createPortal(\n <AnimatePresence>\n {open ? (\n <div className=\"fixed inset-0 z-50\" data-slot=\"modal-portal\">\n <motion.div\n role=\"presentation\"\n data-slot=\"modal-overlay\"\n className={modalOverlayVariants()}\n onClick={() => setOpen(false)}\n initial={animation === \"none\" ? false : overlayMotion.initial}\n animate={animation === \"none\" ? undefined : overlayMotion.animate}\n exit={animation === \"none\" ? undefined : overlayMotion.exit}\n transition={overlayMotion.transition}\n />\n <motion.div\n ref={(node) => {\n contentRef.current = node;\n if (typeof ref === \"function\") {\n ref(node);\n } else if (ref) {\n (ref as React.RefObject<HTMLDivElement | null>).current = node;\n }\n }}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={titleId}\n aria-describedby={descriptionId}\n data-slot=\"modal-content\"\n tabIndex={-1}\n className={cn(\n modalContentVariants({ size, position, appearance }),\n className,\n )}\n initial={animation === \"none\" ? false : panelMotion.initial}\n animate={animation === \"none\" ? undefined : panelMotion.animate}\n exit={animation === \"none\" ? undefined : panelMotion.exit}\n transition={panelMotion.transition}\n id={id}\n style={style}\n >\n {children}\n </motion.div>\n </div>\n ) : null}\n </AnimatePresence>,\n portalTarget,\n );\n}\n\nModalContentAnimated.displayName = \"ModalContent\";\n"]}
@@ -1,5 +1,5 @@
1
1
  export { Modal } from "./modal";
2
- export { ModalTrigger, ModalContent, ModalTitle, ModalBody, ModalHeader, ModalDescription, ModalClose, ModalFooter } from "./modal-base";
2
+ export { ModalTrigger, ModalContent, ModalTitle, ModalBody, ModalHeader, ModalDescription, ModalClose, ModalFooter, } from "./modal-base";
3
3
  export type { ModalContentProps, ModalProps, ModalSectionProps, ModalTriggerProps, ModalContentVariantProps, } from "./types";
4
4
  export { modalContentVariants, modalOverlayVariants } from "./variants";
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/modal/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,WAAW,EACZ,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,iBAAiB,EACjB,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/modal/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,WAAW,GACZ,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,iBAAiB,EACjB,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC"}
@@ -1,17 +1,19 @@
1
+ import { type RefObject } from "react";
1
2
  import type { ModalContentProps, ModalProps, ModalSectionProps, ModalTriggerProps } from "./types";
2
3
  type ModalCtx = {
3
4
  open: boolean;
4
5
  setOpen: (next: boolean) => void;
5
6
  titleId: string;
6
7
  descriptionId: string;
7
- contentRef: React.RefObject<HTMLDivElement | null>;
8
+ contentRef: RefObject<HTMLDivElement | null>;
9
+ triggerRef: RefObject<HTMLElement | null>;
8
10
  };
9
11
  export declare function useModalContext(component: string): ModalCtx;
10
12
  export declare function Modal({ open, defaultOpen, onOpenChange, children, }: ModalProps): import("react/jsx-runtime").JSX.Element;
11
13
  export declare namespace Modal {
12
14
  var displayName: string;
13
15
  }
14
- export declare function ModalTrigger({ className, children, appearance, onClick, ref, ...rest }: ModalTriggerProps): import("react/jsx-runtime").JSX.Element;
16
+ export declare function ModalTrigger({ className, children, appearance, onClick, ref: refProp, ...rest }: ModalTriggerProps): import("react/jsx-runtime").JSX.Element;
15
17
  export declare namespace ModalTrigger {
16
18
  var displayName: string;
17
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"modal-base.d.ts","sourceRoot":"","sources":["../../../src/ui/modal/modal-base.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACV,iBAAiB,EACjB,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAOjB,KAAK,QAAQ,GAAG;IACd,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;CACpD,CAAC;AAIF,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,CAM3D;AAED,wBAAgB,KAAK,CAAC,EACpB,IAAI,EACJ,WAAmB,EACnB,YAAY,EACZ,QAAQ,GACT,EAAE,UAAU,2CAgCZ;yBArCe,KAAK;;;AAyCrB,wBAAgB,YAAY,CAAC,EAC3B,SAAS,EACT,QAAQ,EACR,UAAU,EACV,OAAO,EACP,GAAG,EACH,GAAG,IAAI,EACR,EAAE,iBAAiB,2CAmBnB;yBA1Be,YAAY;;;AA+B5B,wBAAgB,YAAY,CAAC,EAC3B,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,GAAG,EACH,EAAE,EACF,KAAK,GACN,EAAE,iBAAiB,sCAuDnB;yBAhEe,YAAY;;;AAoE5B,wBAAgB,WAAW,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CASrE;yBATe,WAAW;;;AAa3B,wBAAgB,SAAS,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CASnE;yBATe,SAAS;;;AAazB,wBAAgB,WAAW,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CASrE;yBATe,WAAW;;;AAa3B,wBAAgB,UAAU,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CAWpE;yBAXe,UAAU;;;AAe1B,wBAAgB,gBAAgB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CAW1E;yBAXe,gBAAgB;;;AAehC,wBAAgB,UAAU,CAAC,EACzB,SAAS,EACT,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,iBAAiB,2CAiBnB;yBArBe,UAAU"}
1
+ {"version":3,"file":"modal-base.d.ts","sourceRoot":"","sources":["../../../src/ui/modal/modal-base.tsx"],"names":[],"mappings":"AAEA,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAMf,OAAO,KAAK,EACV,iBAAiB,EACjB,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAOjB,KAAK,QAAQ,GAAG;IACd,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC7C,UAAU,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;CAC3C,CAAC;AAIF,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,CAM3D;AAED,wBAAgB,KAAK,CAAC,EACpB,IAAI,EACJ,WAAmB,EACnB,YAAY,EACZ,QAAQ,GACT,EAAE,UAAU,2CAkCZ;yBAvCe,KAAK;;;AA2CrB,wBAAgB,YAAY,CAAC,EAC3B,SAAS,EACT,QAAQ,EACR,UAAU,EACV,OAAO,EACP,GAAG,EAAE,OAAO,EACZ,GAAG,IAAI,EACR,EAAE,iBAAiB,2CA0BnB;yBAjCe,YAAY;;;AAqC5B,wBAAgB,YAAY,CAAC,EAC3B,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,GAAG,EACH,EAAE,EACF,KAAK,GACN,EAAE,iBAAiB,sCAsDnB;yBA/De,YAAY;;;AAmE5B,wBAAgB,WAAW,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CASrE;yBATe,WAAW;;;AAa3B,wBAAgB,SAAS,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CASnE;yBATe,SAAS;;;AAazB,wBAAgB,WAAW,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CASrE;yBATe,WAAW;;;AAa3B,wBAAgB,UAAU,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CAWpE;yBAXe,UAAU;;;AAe1B,wBAAgB,gBAAgB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CAW1E;yBAXe,gBAAgB;;;AAehC,wBAAgB,UAAU,CAAC,EACzB,SAAS,EACT,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,iBAAiB,2CAiBnB;yBArBe,UAAU"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ui/modal/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAe,cAAc,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAExF,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAE7E,MAAM,MAAM,wBAAwB,GAAG,YAAY,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEjF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC,iBAAiB,CAAC,GAAG;IAClE,GAAG,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC7B,UAAU,CAAC,EAAE,YAAY,CAAC,OAAO,oBAAoB,CAAC,CAAC,YAAY,CAAC,CAAC;CACtE,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,wBAAwB,GAAG;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ui/modal/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EACV,aAAa,EAEb,cAAc,EACd,SAAS,EACT,GAAG,EACJ,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAE7E,MAAM,MAAM,wBAAwB,GAAG,YAAY,CACjD,OAAO,oBAAoB,CAC5B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC,iBAAiB,CAAC,GAAG;IAClE,GAAG,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC7B,UAAU,CAAC,EAAE,YAAY,CAAC,OAAO,oBAAoB,CAAC,CAAC,YAAY,CAAC,CAAC;CACtE,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,wBAAwB,GAAG;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC"}
package/dist/ui/modal.js CHANGED
@@ -1,56 +1,56 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkXLAFQ24R_js = require('../chunk-XLAFQ24R.js');
5
- require('../chunk-YPLVTUYL.js');
4
+ var chunkG3B6OHFG_js = require('../chunk-G3B6OHFG.js');
5
+ require('../chunk-GBWGVNDA.js');
6
6
  require('../chunk-UIYFEP3I.js');
7
- require('../chunk-UOZYPWDZ.js');
7
+ require('../chunk-ZS5756ZC.js');
8
8
  var jsxRuntime = require('react/jsx-runtime');
9
9
 
10
10
  var Modal2 = (props) => {
11
- return /* @__PURE__ */ jsxRuntime.jsx(chunkXLAFQ24R_js.Modal, { ...props });
11
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkG3B6OHFG_js.Modal, { ...props });
12
12
  };
13
13
  Modal2.displayName = "Modal";
14
14
 
15
15
  Object.defineProperty(exports, "ModalBody", {
16
16
  enumerable: true,
17
- get: function () { return chunkXLAFQ24R_js.ModalBody; }
17
+ get: function () { return chunkG3B6OHFG_js.ModalBody; }
18
18
  });
19
19
  Object.defineProperty(exports, "ModalClose", {
20
20
  enumerable: true,
21
- get: function () { return chunkXLAFQ24R_js.ModalClose; }
21
+ get: function () { return chunkG3B6OHFG_js.ModalClose; }
22
22
  });
23
23
  Object.defineProperty(exports, "ModalContent", {
24
24
  enumerable: true,
25
- get: function () { return chunkXLAFQ24R_js.ModalContent; }
25
+ get: function () { return chunkG3B6OHFG_js.ModalContent; }
26
26
  });
27
27
  Object.defineProperty(exports, "ModalDescription", {
28
28
  enumerable: true,
29
- get: function () { return chunkXLAFQ24R_js.ModalDescription; }
29
+ get: function () { return chunkG3B6OHFG_js.ModalDescription; }
30
30
  });
31
31
  Object.defineProperty(exports, "ModalFooter", {
32
32
  enumerable: true,
33
- get: function () { return chunkXLAFQ24R_js.ModalFooter; }
33
+ get: function () { return chunkG3B6OHFG_js.ModalFooter; }
34
34
  });
35
35
  Object.defineProperty(exports, "ModalHeader", {
36
36
  enumerable: true,
37
- get: function () { return chunkXLAFQ24R_js.ModalHeader; }
37
+ get: function () { return chunkG3B6OHFG_js.ModalHeader; }
38
38
  });
39
39
  Object.defineProperty(exports, "ModalTitle", {
40
40
  enumerable: true,
41
- get: function () { return chunkXLAFQ24R_js.ModalTitle; }
41
+ get: function () { return chunkG3B6OHFG_js.ModalTitle; }
42
42
  });
43
43
  Object.defineProperty(exports, "ModalTrigger", {
44
44
  enumerable: true,
45
- get: function () { return chunkXLAFQ24R_js.ModalTrigger; }
45
+ get: function () { return chunkG3B6OHFG_js.ModalTrigger; }
46
46
  });
47
47
  Object.defineProperty(exports, "modalContentVariants", {
48
48
  enumerable: true,
49
- get: function () { return chunkXLAFQ24R_js.modalContentVariants; }
49
+ get: function () { return chunkG3B6OHFG_js.modalContentVariants; }
50
50
  });
51
51
  Object.defineProperty(exports, "modalOverlayVariants", {
52
52
  enumerable: true,
53
- get: function () { return chunkXLAFQ24R_js.modalOverlayVariants; }
53
+ get: function () { return chunkG3B6OHFG_js.modalOverlayVariants; }
54
54
  });
55
55
  exports.Modal = Modal2;
56
56
  //# sourceMappingURL=modal.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ui/modal/modal.tsx"],"names":["Modal","jsx"],"mappings":";;;;;;;;AAGO,IAAMA,MAAAA,GAAQ,CAAC,KAAA,KAAsB;AAC1C,EAAA,uBAAOC,cAAA,CAACD,sBAAA,EAAA,EAAW,GAAG,KAAA,EAAO,CAAA;AAC/B;AAEAA,MAAAA,CAAM,WAAA,GAAc,OAAA","file":"modal.js","sourcesContent":["import { Modal as ModalBase } from \"./modal-base\";\nimport type { ModalProps } from \"./types\";\n\nexport const Modal = (props: ModalProps) => {\n return <ModalBase {...props} />;\n};\n\nModal.displayName = \"Modal\";"]}
1
+ {"version":3,"sources":["../../src/ui/modal/modal.tsx"],"names":["Modal","jsx"],"mappings":";;;;;;;;AAGO,IAAMA,MAAAA,GAAQ,CAAC,KAAA,KAAsB;AAC1C,EAAA,uBAAOC,cAAA,CAACD,sBAAA,EAAA,EAAW,GAAG,KAAA,EAAO,CAAA;AAC/B;AAEAA,MAAAA,CAAM,WAAA,GAAc,OAAA","file":"modal.js","sourcesContent":["import { Modal as ModalBase } from \"./modal-base\";\nimport type { ModalProps } from \"./types\";\n\nexport const Modal = (props: ModalProps) => {\n return <ModalBase {...props} />;\n};\n\nModal.displayName = \"Modal\";\n"]}
package/dist/ui/modal.mjs CHANGED
@@ -1,9 +1,9 @@
1
1
  "use client";
2
- import { Modal } from '../chunk-IXDJ3IPG.mjs';
3
- export { ModalBody, ModalClose, ModalContent, ModalDescription, ModalFooter, ModalHeader, ModalTitle, ModalTrigger, modalContentVariants, modalOverlayVariants } from '../chunk-IXDJ3IPG.mjs';
4
- import '../chunk-WL5I7RVS.mjs';
2
+ import { Modal } from '../chunk-TTYZBO4E.mjs';
3
+ export { ModalBody, ModalClose, ModalContent, ModalDescription, ModalFooter, ModalHeader, ModalTitle, ModalTrigger, modalContentVariants, modalOverlayVariants } from '../chunk-TTYZBO4E.mjs';
4
+ import '../chunk-K6YI4FJO.mjs';
5
5
  import '../chunk-PMAF6FBF.mjs';
6
- import '../chunk-DFEZH7TC.mjs';
6
+ import '../chunk-4D54YOL6.mjs';
7
7
  import { jsx } from 'react/jsx-runtime';
8
8
 
9
9
  var Modal2 = (props) => {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ui/modal/modal.tsx"],"names":["Modal"],"mappings":";;;;;;;AAGO,IAAMA,MAAAA,GAAQ,CAAC,KAAA,KAAsB;AAC1C,EAAA,uBAAO,GAAA,CAAC,KAAA,EAAA,EAAW,GAAG,KAAA,EAAO,CAAA;AAC/B;AAEAA,MAAAA,CAAM,WAAA,GAAc,OAAA","file":"modal.mjs","sourcesContent":["import { Modal as ModalBase } from \"./modal-base\";\nimport type { ModalProps } from \"./types\";\n\nexport const Modal = (props: ModalProps) => {\n return <ModalBase {...props} />;\n};\n\nModal.displayName = \"Modal\";"]}
1
+ {"version":3,"sources":["../../src/ui/modal/modal.tsx"],"names":["Modal"],"mappings":";;;;;;;AAGO,IAAMA,MAAAA,GAAQ,CAAC,KAAA,KAAsB;AAC1C,EAAA,uBAAO,GAAA,CAAC,KAAA,EAAA,EAAW,GAAG,KAAA,EAAO,CAAA;AAC/B;AAEAA,MAAAA,CAAM,WAAA,GAAc,OAAA","file":"modal.mjs","sourcesContent":["import { Modal as ModalBase } from \"./modal-base\";\nimport type { ModalProps } from \"./types\";\n\nexport const Modal = (props: ModalProps) => {\n return <ModalBase {...props} />;\n};\n\nModal.displayName = \"Modal\";\n"]}
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkJE3PD5ZA_js = require('../chunk-JE3PD5ZA.js');
5
- var chunkBITDSQMR_js = require('../chunk-BITDSQMR.js');
6
- var chunkUOZYPWDZ_js = require('../chunk-UOZYPWDZ.js');
4
+ var chunk2VUMVDR3_js = require('../chunk-2VUMVDR3.js');
5
+ var chunkOB4KJZK2_js = require('../chunk-OB4KJZK2.js');
6
+ var chunkZS5756ZC_js = require('../chunk-ZS5756ZC.js');
7
7
  var react = require('react');
8
8
  var classVarianceAuthority = require('class-variance-authority');
9
9
  var jsxRuntime = require('react/jsx-runtime');
@@ -32,15 +32,15 @@ var paginationListVariants = classVarianceAuthority.cva(
32
32
  gray: "border-gray-500/25 bg-gray-950/20",
33
33
  amber: "border-amber-500/25 bg-amber-950/20",
34
34
  violet: "border-violet-500/25 bg-violet-950/20",
35
- "gradient-blue": "border-blue-500/30 bg-gradient-to-r from-blue-950/30 to-purple-950/30",
36
- "gradient-green": "border-lime-500/30 bg-gradient-to-r from-green-950/30 to-lime-950/30",
37
- "gradient-red": "border-pink-500/30 bg-gradient-to-r from-red-950/30 to-pink-950/30",
38
- "gradient-yellow": "border-orange-500/30 bg-gradient-to-r from-yellow-950/30 to-orange-950/30",
39
- "gradient-purple": "border-pink-500/30 bg-gradient-to-r from-purple-950/30 to-pink-950/30",
40
- "gradient-teal": "border-cyan-500/30 bg-gradient-to-r from-teal-950/30 to-cyan-950/30",
41
- "gradient-indigo": "border-purple-500/30 bg-gradient-to-r from-indigo-950/30 to-purple-950/30",
42
- "gradient-pink": "border-rose-500/30 bg-gradient-to-r from-pink-950/30 to-rose-950/30",
43
- "gradient-orange": "border-orange-500/30 bg-gradient-to-r from-orange-950/30 to-red-950/30"
35
+ "gradient-blue": "border-blue-500/30 bg-linear-to-r from-blue-950/30 to-purple-950/30",
36
+ "gradient-green": "border-lime-500/30 bg-linear-to-r from-green-950/30 to-lime-950/30",
37
+ "gradient-red": "border-pink-500/30 bg-linear-to-r from-red-950/30 to-pink-950/30",
38
+ "gradient-yellow": "border-orange-500/30 bg-linear-to-r from-yellow-950/30 to-orange-950/30",
39
+ "gradient-purple": "border-pink-500/30 bg-linear-to-r from-purple-950/30 to-pink-950/30",
40
+ "gradient-teal": "border-cyan-500/30 bg-linear-to-r from-teal-950/30 to-cyan-950/30",
41
+ "gradient-indigo": "border-purple-500/30 bg-linear-to-r from-indigo-950/30 to-purple-950/30",
42
+ "gradient-pink": "border-rose-500/30 bg-linear-to-r from-pink-950/30 to-rose-950/30",
43
+ "gradient-orange": "border-orange-500/30 bg-linear-to-r from-orange-950/30 to-red-950/30"
44
44
  },
45
45
  size: {
46
46
  sm: "gap-0.5",
@@ -121,7 +121,7 @@ var Pagination = react.forwardRef(
121
121
  goNext,
122
122
  canGoPrev,
123
123
  canGoNext
124
- } = chunkJE3PD5ZA_js.usePagination({
124
+ } = chunk2VUMVDR3_js.usePagination({
125
125
  pageCount,
126
126
  page,
127
127
  defaultPage,
@@ -157,16 +157,16 @@ var Pagination = react.forwardRef(
157
157
  if (pageCount <= 0) {
158
158
  return null;
159
159
  }
160
- const inactiveTriggerClass = chunkUOZYPWDZ_js.cn(
161
- chunkBITDSQMR_js.buttonVariants({ appearance: "ghost", size }),
160
+ const inactiveTriggerClass = chunkZS5756ZC_js.cn(
161
+ chunkOB4KJZK2_js.buttonVariants({ appearance: "ghost", size }),
162
162
  "bg-white/[0.04] text-slate-200 hover:bg-white/10"
163
163
  );
164
- const currentTriggerClass = chunkBITDSQMR_js.buttonVariants({ appearance, size });
164
+ const currentTriggerClass = chunkOB4KJZK2_js.buttonVariants({ appearance, size });
165
165
  const triggerFocusRing = "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-slate-300 focus-visible:ring-offset-2 focus-visible:ring-offset-slate-950";
166
166
  const renderPageControl = (pageNumber) => {
167
167
  const isCurrent = pageNumber === currentPage;
168
168
  const href = getPageHref?.(pageNumber);
169
- const shared = chunkUOZYPWDZ_js.cn(
169
+ const shared = chunkZS5756ZC_js.cn(
170
170
  isCurrent ? currentTriggerClass : inactiveTriggerClass,
171
171
  "min-w-[2.25ch] shrink-0",
172
172
  triggerFocusRing
@@ -201,10 +201,10 @@ var Pagination = react.forwardRef(
201
201
  }
202
202
  );
203
203
  };
204
- const prevHref = getPageHref?.(chunkUOZYPWDZ_js.clampPage(currentPage - 1, pageCount));
205
- const nextHref = getPageHref?.(chunkUOZYPWDZ_js.clampPage(currentPage + 1, pageCount));
206
- const navTriggerClass = chunkUOZYPWDZ_js.cn(
207
- chunkBITDSQMR_js.buttonVariants({ appearance: "outline", size }),
204
+ const prevHref = getPageHref?.(chunkZS5756ZC_js.clampPage(currentPage - 1, pageCount));
205
+ const nextHref = getPageHref?.(chunkZS5756ZC_js.clampPage(currentPage + 1, pageCount));
206
+ const navTriggerClass = chunkZS5756ZC_js.cn(
207
+ chunkOB4KJZK2_js.buttonVariants({ appearance: "outline", size }),
208
208
  "shrink-0 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-slate-300 focus-visible:ring-offset-2 focus-visible:ring-offset-slate-950"
209
209
  );
210
210
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -213,7 +213,7 @@ var Pagination = react.forwardRef(
213
213
  ref,
214
214
  "data-slot": "pagination",
215
215
  "aria-label": ariaLabel,
216
- className: chunkUOZYPWDZ_js.cn("w-full", className),
216
+ className: chunkZS5756ZC_js.cn("w-full", className),
217
217
  onKeyDown: handleKeyDown,
218
218
  ...rest,
219
219
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-2", children: [
@@ -253,9 +253,9 @@ var Pagination = react.forwardRef(
253
253
  "span",
254
254
  {
255
255
  "data-slot": "pagination-ellipsis",
256
- "aria-hidden": "true",
257
- title: ellipsisLabel,
258
256
  className: paginationEllipsisVariants({ size }),
257
+ role: "img",
258
+ "aria-label": ellipsisLabel,
259
259
  children: "\u2026"
260
260
  }
261
261
  ) : renderPageControl(item.value)
@@ -294,7 +294,7 @@ Pagination.displayName = "Pagination";
294
294
 
295
295
  Object.defineProperty(exports, "usePagination", {
296
296
  enumerable: true,
297
- get: function () { return chunkJE3PD5ZA_js.usePagination; }
297
+ get: function () { return chunk2VUMVDR3_js.usePagination; }
298
298
  });
299
299
  exports.Pagination = Pagination;
300
300
  exports.paginationEllipsisVariants = paginationEllipsisVariants;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ui/pagination/variants.ts","../../src/ui/pagination/pagination.tsx"],"names":["cva","forwardRef","Pagination","useId","usePagination","useCallback","cn","buttonVariants","jsx","clampPage","jsxs"],"mappings":"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","file":"pagination.js","sourcesContent":["import { cva } from \"class-variance-authority\";\n\n/**\n * Layout and chrome for the page list cluster. Appearance and size keys align with\n * `components/ui/buttons/variants.ts` for consistent design-system tokens.\n */\nexport const paginationListVariants = cva(\n \"inline-flex flex-wrap items-center rounded-xl border p-1 ring-offset-slate-950\",\n {\n variants: {\n appearance: {\n default: \"border-white/10 bg-white/[0.03]\",\n secondary: \"border-white/10 bg-slate-900/40\",\n destructive: \"border-rose-500/25 bg-rose-950/20\",\n outline: \"border-white/15 bg-transparent\",\n ghost: \"border-transparent bg-transparent\",\n link: \"border-transparent bg-transparent\",\n glass: \"border-white/15 bg-white/5 backdrop-blur-md\",\n emerald: \"border-emerald-500/25 bg-emerald-950/20\",\n indigo: \"border-indigo-500/25 bg-indigo-950/20\",\n purple: \"border-purple-500/25 bg-purple-950/20\",\n pink: \"border-pink-500/25 bg-pink-950/20\",\n rose: \"border-rose-500/25 bg-rose-950/20\",\n sky: \"border-sky-500/25 bg-sky-950/20\",\n teal: \"border-teal-500/25 bg-teal-950/20\",\n yellow: \"border-yellow-500/25 bg-yellow-950/20\",\n orange: \"border-orange-500/25 bg-orange-950/20\",\n gray: \"border-gray-500/25 bg-gray-950/20\",\n amber: \"border-amber-500/25 bg-amber-950/20\",\n violet: \"border-violet-500/25 bg-violet-950/20\",\n \"gradient-blue\":\n \"border-blue-500/30 bg-gradient-to-r from-blue-950/30 to-purple-950/30\",\n \"gradient-green\":\n \"border-lime-500/30 bg-gradient-to-r from-green-950/30 to-lime-950/30\",\n \"gradient-red\":\n \"border-pink-500/30 bg-gradient-to-r from-red-950/30 to-pink-950/30\",\n \"gradient-yellow\":\n \"border-orange-500/30 bg-gradient-to-r from-yellow-950/30 to-orange-950/30\",\n \"gradient-purple\":\n \"border-pink-500/30 bg-gradient-to-r from-purple-950/30 to-pink-950/30\",\n \"gradient-teal\":\n \"border-cyan-500/30 bg-gradient-to-r from-teal-950/30 to-cyan-950/30\",\n \"gradient-indigo\":\n \"border-purple-500/30 bg-gradient-to-r from-indigo-950/30 to-purple-950/30\",\n \"gradient-pink\":\n \"border-rose-500/30 bg-gradient-to-r from-pink-950/30 to-rose-950/30\",\n \"gradient-orange\":\n \"border-orange-500/30 bg-gradient-to-r from-orange-950/30 to-red-950/30\",\n },\n size: {\n sm: \"gap-0.5\",\n md: \"gap-1\",\n lg: \"gap-1\",\n xl: \"gap-1.5\",\n \"2xl\": \"gap-1.5\",\n \"3xl\": \"gap-2\",\n \"4xl\": \"gap-2\",\n \"5xl\": \"gap-2\",\n \"6xl\": \"gap-2\",\n \"7xl\": \"gap-2.5\",\n \"8xl\": \"gap-2.5\",\n \"9xl\": \"gap-2.5\",\n \"10xl\": \"gap-3\",\n icon: \"gap-1\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n size: \"md\",\n },\n },\n);\n\nexport const paginationEllipsisVariants = cva(\n \"inline-flex min-w-[2ch] select-none items-center justify-center px-1 font-medium text-slate-400\",\n {\n variants: {\n size: {\n sm: \"text-xs\",\n md: \"text-sm\",\n lg: \"text-base\",\n xl: \"text-base\",\n \"2xl\": \"text-lg\",\n \"3xl\": \"text-lg\",\n \"4xl\": \"text-xl\",\n \"5xl\": \"text-xl\",\n \"6xl\": \"text-xl\",\n \"7xl\": \"text-2xl\",\n \"8xl\": \"text-2xl\",\n \"9xl\": \"text-2xl\",\n \"10xl\": \"text-2xl\",\n icon: \"text-sm\",\n },\n },\n defaultVariants: { size: \"md\" },\n },\n);\n","\"use client\";\n\nimport { forwardRef, useCallback, useId, type KeyboardEvent } from \"react\";\n\nimport { cn, clampPage } from \"../../lib/utils\";\nimport { buttonVariants } from \"../buttons/variants\";\n\nimport type { PaginationProps } from \"./types\";\nimport { usePagination } from \"../../hooks/usePagination\";\nimport { paginationEllipsisVariants, paginationListVariants } from \"./variants\";\n\nconst defaultPrevLabel = \"Previous page\";\nconst defaultNextLabel = \"Next page\";\nconst defaultEllipsisLabel = \"More pages\";\n\nexport const Pagination = forwardRef<HTMLElement, PaginationProps>(\n function Pagination(\n {\n className,\n appearance = \"default\",\n size = \"md\",\n pageCount,\n page,\n defaultPage = 1,\n onPageChange,\n siblingCount = 1,\n boundaryCount = 1,\n showPrevNext = true,\n prevLabel = defaultPrevLabel,\n nextLabel = defaultNextLabel,\n ellipsisLabel = defaultEllipsisLabel,\n getPageHref,\n \"aria-label\": ariaLabel = \"Pagination\",\n ...rest\n },\n ref,\n ) {\n const id = useId();\n const listId = `${id}-list`;\n\n const {\n currentPage,\n items,\n setPage,\n goPrev,\n goNext,\n canGoPrev,\n canGoNext,\n } = usePagination({\n pageCount,\n page,\n defaultPage,\n siblingCount,\n boundaryCount,\n onPageChange,\n });\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLElement>) => {\n if (pageCount <= 0) {\n return;\n }\n if (event.key === \"ArrowRight\" || event.key === \"ArrowDown\") {\n event.preventDefault();\n if (canGoNext) {\n setPage(currentPage + 1);\n }\n } else if (event.key === \"ArrowLeft\" || event.key === \"ArrowUp\") {\n event.preventDefault();\n if (canGoPrev) {\n setPage(currentPage - 1);\n }\n } else if (event.key === \"Home\") {\n event.preventDefault();\n setPage(1);\n } else if (event.key === \"End\") {\n event.preventDefault();\n setPage(pageCount);\n }\n },\n [canGoNext, canGoPrev, currentPage, pageCount, setPage],\n );\n\n if (pageCount <= 0) {\n return null;\n }\n\n const inactiveTriggerClass = cn(\n buttonVariants({ appearance: \"ghost\", size }),\n \"bg-white/[0.04] text-slate-200 hover:bg-white/10\",\n );\n\n const currentTriggerClass = buttonVariants({ appearance, size });\n\n const triggerFocusRing =\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-slate-300 focus-visible:ring-offset-2 focus-visible:ring-offset-slate-950\";\n\n const renderPageControl = (pageNumber: number) => {\n const isCurrent = pageNumber === currentPage;\n const href = getPageHref?.(pageNumber);\n const shared = cn(\n isCurrent ? currentTriggerClass : inactiveTriggerClass,\n \"min-w-[2.25ch] shrink-0\",\n triggerFocusRing,\n );\n\n if (href) {\n return (\n <a\n data-slot=\"pagination-trigger\"\n href={href}\n aria-label={`Page ${pageNumber}`}\n aria-current={isCurrent ? \"page\" : undefined}\n className={shared}\n >\n {pageNumber}\n </a>\n );\n }\n\n return (\n <button\n type=\"button\"\n data-slot=\"pagination-trigger\"\n aria-label={`Page ${pageNumber}`}\n aria-current={isCurrent ? \"page\" : undefined}\n className={shared}\n onClick={() => {\n if (!isCurrent) {\n setPage(pageNumber);\n }\n }}\n >\n {pageNumber}\n </button>\n );\n };\n\n const prevHref = getPageHref?.(clampPage(currentPage - 1, pageCount));\n const nextHref = getPageHref?.(clampPage(currentPage + 1, pageCount));\n\n const navTriggerClass = cn(\n buttonVariants({ appearance: \"outline\", size }),\n \"shrink-0 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-slate-300 focus-visible:ring-offset-2 focus-visible:ring-offset-slate-950\",\n );\n\n return (\n <nav\n ref={ref}\n data-slot=\"pagination\"\n aria-label={ariaLabel}\n className={cn(\"w-full\", className)}\n onKeyDown={handleKeyDown}\n {...rest}\n >\n <div className=\"flex flex-wrap items-center gap-2\">\n {showPrevNext ? (\n getPageHref && prevHref && canGoPrev ? (\n <a\n data-slot=\"pagination-prev\"\n aria-label={prevLabel}\n href={prevHref}\n className={navTriggerClass}\n >\n Prev\n </a>\n ) : (\n <button\n type=\"button\"\n data-slot=\"pagination-prev\"\n aria-label={prevLabel}\n disabled={!canGoPrev}\n className={navTriggerClass}\n onClick={goPrev}\n >\n Prev\n </button>\n )\n ) : null}\n\n <ul\n id={listId}\n data-slot=\"pagination-list\"\n className={paginationListVariants({ appearance, size })}\n >\n {items.map((item) => (\n <li\n key={item.type === \"page\" ? `page-${item.value}` : item.key}\n data-slot=\"pagination-item\"\n className=\"inline-flex items-center\"\n >\n {item.type === \"ellipsis\" ? (\n <span\n data-slot=\"pagination-ellipsis\"\n aria-hidden=\"true\"\n title={ellipsisLabel}\n className={paginationEllipsisVariants({ size })}\n >\n …\n </span>\n ) : (\n renderPageControl(item.value)\n )}\n </li>\n ))}\n </ul>\n\n {showPrevNext ? (\n getPageHref && nextHref && canGoNext ? (\n <a\n data-slot=\"pagination-next\"\n aria-label={nextLabel}\n href={nextHref}\n className={navTriggerClass}\n >\n Next\n </a>\n ) : (\n <button\n type=\"button\"\n data-slot=\"pagination-next\"\n aria-label={nextLabel}\n disabled={!canGoNext}\n className={navTriggerClass}\n onClick={goNext}\n >\n Next\n </button>\n )\n ) : null}\n </div>\n </nav>\n );\n },\n);\n\nPagination.displayName = \"Pagination\";\n"]}
1
+ {"version":3,"sources":["../../src/ui/pagination/variants.ts","../../src/ui/pagination/pagination.tsx"],"names":["cva","forwardRef","Pagination","useId","usePagination","useCallback","cn","buttonVariants","jsx","clampPage","jsxs"],"mappings":"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","file":"pagination.js","sourcesContent":["import { cva } from \"class-variance-authority\";\n\n/**\n * Layout and chrome for the page list cluster. Appearance and size keys align with\n * `components/ui/buttons/variants.ts` for consistent design-system tokens.\n */\nexport const paginationListVariants = cva(\n \"inline-flex flex-wrap items-center rounded-xl border p-1 ring-offset-slate-950\",\n {\n variants: {\n appearance: {\n default: \"border-white/10 bg-white/[0.03]\",\n secondary: \"border-white/10 bg-slate-900/40\",\n destructive: \"border-rose-500/25 bg-rose-950/20\",\n outline: \"border-white/15 bg-transparent\",\n ghost: \"border-transparent bg-transparent\",\n link: \"border-transparent bg-transparent\",\n glass: \"border-white/15 bg-white/5 backdrop-blur-md\",\n emerald: \"border-emerald-500/25 bg-emerald-950/20\",\n indigo: \"border-indigo-500/25 bg-indigo-950/20\",\n purple: \"border-purple-500/25 bg-purple-950/20\",\n pink: \"border-pink-500/25 bg-pink-950/20\",\n rose: \"border-rose-500/25 bg-rose-950/20\",\n sky: \"border-sky-500/25 bg-sky-950/20\",\n teal: \"border-teal-500/25 bg-teal-950/20\",\n yellow: \"border-yellow-500/25 bg-yellow-950/20\",\n orange: \"border-orange-500/25 bg-orange-950/20\",\n gray: \"border-gray-500/25 bg-gray-950/20\",\n amber: \"border-amber-500/25 bg-amber-950/20\",\n violet: \"border-violet-500/25 bg-violet-950/20\",\n \"gradient-blue\":\n \"border-blue-500/30 bg-linear-to-r from-blue-950/30 to-purple-950/30\",\n \"gradient-green\":\n \"border-lime-500/30 bg-linear-to-r from-green-950/30 to-lime-950/30\",\n \"gradient-red\":\n \"border-pink-500/30 bg-linear-to-r from-red-950/30 to-pink-950/30\",\n \"gradient-yellow\":\n \"border-orange-500/30 bg-linear-to-r from-yellow-950/30 to-orange-950/30\",\n \"gradient-purple\":\n \"border-pink-500/30 bg-linear-to-r from-purple-950/30 to-pink-950/30\",\n \"gradient-teal\":\n \"border-cyan-500/30 bg-linear-to-r from-teal-950/30 to-cyan-950/30\",\n \"gradient-indigo\":\n \"border-purple-500/30 bg-linear-to-r from-indigo-950/30 to-purple-950/30\",\n \"gradient-pink\":\n \"border-rose-500/30 bg-linear-to-r from-pink-950/30 to-rose-950/30\",\n \"gradient-orange\":\n \"border-orange-500/30 bg-linear-to-r from-orange-950/30 to-red-950/30\",\n },\n size: {\n sm: \"gap-0.5\",\n md: \"gap-1\",\n lg: \"gap-1\",\n xl: \"gap-1.5\",\n \"2xl\": \"gap-1.5\",\n \"3xl\": \"gap-2\",\n \"4xl\": \"gap-2\",\n \"5xl\": \"gap-2\",\n \"6xl\": \"gap-2\",\n \"7xl\": \"gap-2.5\",\n \"8xl\": \"gap-2.5\",\n \"9xl\": \"gap-2.5\",\n \"10xl\": \"gap-3\",\n icon: \"gap-1\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n size: \"md\",\n },\n },\n);\n\nexport const paginationEllipsisVariants = cva(\n \"inline-flex min-w-[2ch] select-none items-center justify-center px-1 font-medium text-slate-400\",\n {\n variants: {\n size: {\n sm: \"text-xs\",\n md: \"text-sm\",\n lg: \"text-base\",\n xl: \"text-base\",\n \"2xl\": \"text-lg\",\n \"3xl\": \"text-lg\",\n \"4xl\": \"text-xl\",\n \"5xl\": \"text-xl\",\n \"6xl\": \"text-xl\",\n \"7xl\": \"text-2xl\",\n \"8xl\": \"text-2xl\",\n \"9xl\": \"text-2xl\",\n \"10xl\": \"text-2xl\",\n icon: \"text-sm\",\n },\n },\n defaultVariants: { size: \"md\" },\n },\n);\n","\"use client\";\n\nimport { forwardRef, useCallback, useId, type KeyboardEvent } from \"react\";\n\nimport { cn, clampPage } from \"../../lib/utils\";\nimport { buttonVariants } from \"../buttons/variants\";\n\nimport type { PaginationProps } from \"./types\";\nimport { usePagination } from \"../../hooks/usePagination\";\nimport { paginationEllipsisVariants, paginationListVariants } from \"./variants\";\n\nconst defaultPrevLabel = \"Previous page\";\nconst defaultNextLabel = \"Next page\";\nconst defaultEllipsisLabel = \"More pages\";\n\nexport const Pagination = forwardRef<HTMLElement, PaginationProps>(\n function Pagination(\n {\n className,\n appearance = \"default\",\n size = \"md\",\n pageCount,\n page,\n defaultPage = 1,\n onPageChange,\n siblingCount = 1,\n boundaryCount = 1,\n showPrevNext = true,\n prevLabel = defaultPrevLabel,\n nextLabel = defaultNextLabel,\n ellipsisLabel = defaultEllipsisLabel,\n getPageHref,\n \"aria-label\": ariaLabel = \"Pagination\",\n ...rest\n },\n ref,\n ) {\n const id = useId();\n const listId = `${id}-list`;\n\n const {\n currentPage,\n items,\n setPage,\n goPrev,\n goNext,\n canGoPrev,\n canGoNext,\n } = usePagination({\n pageCount,\n page,\n defaultPage,\n siblingCount,\n boundaryCount,\n onPageChange,\n });\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLElement>) => {\n if (pageCount <= 0) {\n return;\n }\n if (event.key === \"ArrowRight\" || event.key === \"ArrowDown\") {\n event.preventDefault();\n if (canGoNext) {\n setPage(currentPage + 1);\n }\n } else if (event.key === \"ArrowLeft\" || event.key === \"ArrowUp\") {\n event.preventDefault();\n if (canGoPrev) {\n setPage(currentPage - 1);\n }\n } else if (event.key === \"Home\") {\n event.preventDefault();\n setPage(1);\n } else if (event.key === \"End\") {\n event.preventDefault();\n setPage(pageCount);\n }\n },\n [canGoNext, canGoPrev, currentPage, pageCount, setPage],\n );\n\n if (pageCount <= 0) {\n return null;\n }\n\n const inactiveTriggerClass = cn(\n buttonVariants({ appearance: \"ghost\", size }),\n \"bg-white/[0.04] text-slate-200 hover:bg-white/10\",\n );\n\n const currentTriggerClass = buttonVariants({ appearance, size });\n\n const triggerFocusRing =\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-slate-300 focus-visible:ring-offset-2 focus-visible:ring-offset-slate-950\";\n\n const renderPageControl = (pageNumber: number) => {\n const isCurrent = pageNumber === currentPage;\n const href = getPageHref?.(pageNumber);\n const shared = cn(\n isCurrent ? currentTriggerClass : inactiveTriggerClass,\n \"min-w-[2.25ch] shrink-0\",\n triggerFocusRing,\n );\n\n if (href) {\n return (\n <a\n data-slot=\"pagination-trigger\"\n href={href}\n aria-label={`Page ${pageNumber}`}\n aria-current={isCurrent ? \"page\" : undefined}\n className={shared}\n >\n {pageNumber}\n </a>\n );\n }\n\n return (\n <button\n type=\"button\"\n data-slot=\"pagination-trigger\"\n aria-label={`Page ${pageNumber}`}\n aria-current={isCurrent ? \"page\" : undefined}\n className={shared}\n onClick={() => {\n if (!isCurrent) {\n setPage(pageNumber);\n }\n }}\n >\n {pageNumber}\n </button>\n );\n };\n\n const prevHref = getPageHref?.(clampPage(currentPage - 1, pageCount));\n const nextHref = getPageHref?.(clampPage(currentPage + 1, pageCount));\n\n const navTriggerClass = cn(\n buttonVariants({ appearance: \"outline\", size }),\n \"shrink-0 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-slate-300 focus-visible:ring-offset-2 focus-visible:ring-offset-slate-950\",\n );\n\n return (\n <nav\n ref={ref}\n data-slot=\"pagination\"\n aria-label={ariaLabel}\n className={cn(\"w-full\", className)}\n onKeyDown={handleKeyDown}\n {...rest}\n >\n <div className=\"flex flex-wrap items-center gap-2\">\n {showPrevNext ? (\n getPageHref && prevHref && canGoPrev ? (\n <a\n data-slot=\"pagination-prev\"\n aria-label={prevLabel}\n href={prevHref}\n className={navTriggerClass}\n >\n Prev\n </a>\n ) : (\n <button\n type=\"button\"\n data-slot=\"pagination-prev\"\n aria-label={prevLabel}\n disabled={!canGoPrev}\n className={navTriggerClass}\n onClick={goPrev}\n >\n Prev\n </button>\n )\n ) : null}\n\n <ul\n id={listId}\n data-slot=\"pagination-list\"\n className={paginationListVariants({ appearance, size })}\n >\n {items.map((item) => (\n <li\n key={item.type === \"page\" ? `page-${item.value}` : item.key}\n data-slot=\"pagination-item\"\n className=\"inline-flex items-center\"\n >\n {item.type === \"ellipsis\" ? (\n <span\n data-slot=\"pagination-ellipsis\"\n className={paginationEllipsisVariants({ size })}\n role=\"img\"\n aria-label={ellipsisLabel}\n >\n …\n </span>\n ) : (\n renderPageControl(item.value)\n )}\n </li>\n ))}\n </ul>\n\n {showPrevNext ? (\n getPageHref && nextHref && canGoNext ? (\n <a\n data-slot=\"pagination-next\"\n aria-label={nextLabel}\n href={nextHref}\n className={navTriggerClass}\n >\n Next\n </a>\n ) : (\n <button\n type=\"button\"\n data-slot=\"pagination-next\"\n aria-label={nextLabel}\n disabled={!canGoNext}\n className={navTriggerClass}\n onClick={goNext}\n >\n Next\n </button>\n )\n ) : null}\n </div>\n </nav>\n );\n },\n);\n\nPagination.displayName = \"Pagination\";\n"]}
@@ -1,8 +1,8 @@
1
1
  "use client";
2
- import { usePagination } from '../chunk-TZ2JVWTZ.mjs';
3
- export { usePagination } from '../chunk-TZ2JVWTZ.mjs';
4
- import { buttonVariants } from '../chunk-BORK3BJO.mjs';
5
- import { cn, clampPage } from '../chunk-DFEZH7TC.mjs';
2
+ import { usePagination } from '../chunk-YNBJAFI2.mjs';
3
+ export { usePagination } from '../chunk-YNBJAFI2.mjs';
4
+ import { buttonVariants } from '../chunk-5TV7EL3H.mjs';
5
+ import { cn, clampPage } from '../chunk-4D54YOL6.mjs';
6
6
  import { forwardRef, useId, useCallback } from 'react';
7
7
  import { cva } from 'class-variance-authority';
8
8
  import { jsx, jsxs } from 'react/jsx-runtime';
@@ -31,15 +31,15 @@ var paginationListVariants = cva(
31
31
  gray: "border-gray-500/25 bg-gray-950/20",
32
32
  amber: "border-amber-500/25 bg-amber-950/20",
33
33
  violet: "border-violet-500/25 bg-violet-950/20",
34
- "gradient-blue": "border-blue-500/30 bg-gradient-to-r from-blue-950/30 to-purple-950/30",
35
- "gradient-green": "border-lime-500/30 bg-gradient-to-r from-green-950/30 to-lime-950/30",
36
- "gradient-red": "border-pink-500/30 bg-gradient-to-r from-red-950/30 to-pink-950/30",
37
- "gradient-yellow": "border-orange-500/30 bg-gradient-to-r from-yellow-950/30 to-orange-950/30",
38
- "gradient-purple": "border-pink-500/30 bg-gradient-to-r from-purple-950/30 to-pink-950/30",
39
- "gradient-teal": "border-cyan-500/30 bg-gradient-to-r from-teal-950/30 to-cyan-950/30",
40
- "gradient-indigo": "border-purple-500/30 bg-gradient-to-r from-indigo-950/30 to-purple-950/30",
41
- "gradient-pink": "border-rose-500/30 bg-gradient-to-r from-pink-950/30 to-rose-950/30",
42
- "gradient-orange": "border-orange-500/30 bg-gradient-to-r from-orange-950/30 to-red-950/30"
34
+ "gradient-blue": "border-blue-500/30 bg-linear-to-r from-blue-950/30 to-purple-950/30",
35
+ "gradient-green": "border-lime-500/30 bg-linear-to-r from-green-950/30 to-lime-950/30",
36
+ "gradient-red": "border-pink-500/30 bg-linear-to-r from-red-950/30 to-pink-950/30",
37
+ "gradient-yellow": "border-orange-500/30 bg-linear-to-r from-yellow-950/30 to-orange-950/30",
38
+ "gradient-purple": "border-pink-500/30 bg-linear-to-r from-purple-950/30 to-pink-950/30",
39
+ "gradient-teal": "border-cyan-500/30 bg-linear-to-r from-teal-950/30 to-cyan-950/30",
40
+ "gradient-indigo": "border-purple-500/30 bg-linear-to-r from-indigo-950/30 to-purple-950/30",
41
+ "gradient-pink": "border-rose-500/30 bg-linear-to-r from-pink-950/30 to-rose-950/30",
42
+ "gradient-orange": "border-orange-500/30 bg-linear-to-r from-orange-950/30 to-red-950/30"
43
43
  },
44
44
  size: {
45
45
  sm: "gap-0.5",
@@ -252,9 +252,9 @@ var Pagination = forwardRef(
252
252
  "span",
253
253
  {
254
254
  "data-slot": "pagination-ellipsis",
255
- "aria-hidden": "true",
256
- title: ellipsisLabel,
257
255
  className: paginationEllipsisVariants({ size }),
256
+ role: "img",
257
+ "aria-label": ellipsisLabel,
258
258
  children: "\u2026"
259
259
  }
260
260
  ) : renderPageControl(item.value)
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ui/pagination/variants.ts","../../src/ui/pagination/pagination.tsx"],"names":["Pagination"],"mappings":"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","file":"pagination.mjs","sourcesContent":["import { cva } from \"class-variance-authority\";\n\n/**\n * Layout and chrome for the page list cluster. Appearance and size keys align with\n * `components/ui/buttons/variants.ts` for consistent design-system tokens.\n */\nexport const paginationListVariants = cva(\n \"inline-flex flex-wrap items-center rounded-xl border p-1 ring-offset-slate-950\",\n {\n variants: {\n appearance: {\n default: \"border-white/10 bg-white/[0.03]\",\n secondary: \"border-white/10 bg-slate-900/40\",\n destructive: \"border-rose-500/25 bg-rose-950/20\",\n outline: \"border-white/15 bg-transparent\",\n ghost: \"border-transparent bg-transparent\",\n link: \"border-transparent bg-transparent\",\n glass: \"border-white/15 bg-white/5 backdrop-blur-md\",\n emerald: \"border-emerald-500/25 bg-emerald-950/20\",\n indigo: \"border-indigo-500/25 bg-indigo-950/20\",\n purple: \"border-purple-500/25 bg-purple-950/20\",\n pink: \"border-pink-500/25 bg-pink-950/20\",\n rose: \"border-rose-500/25 bg-rose-950/20\",\n sky: \"border-sky-500/25 bg-sky-950/20\",\n teal: \"border-teal-500/25 bg-teal-950/20\",\n yellow: \"border-yellow-500/25 bg-yellow-950/20\",\n orange: \"border-orange-500/25 bg-orange-950/20\",\n gray: \"border-gray-500/25 bg-gray-950/20\",\n amber: \"border-amber-500/25 bg-amber-950/20\",\n violet: \"border-violet-500/25 bg-violet-950/20\",\n \"gradient-blue\":\n \"border-blue-500/30 bg-gradient-to-r from-blue-950/30 to-purple-950/30\",\n \"gradient-green\":\n \"border-lime-500/30 bg-gradient-to-r from-green-950/30 to-lime-950/30\",\n \"gradient-red\":\n \"border-pink-500/30 bg-gradient-to-r from-red-950/30 to-pink-950/30\",\n \"gradient-yellow\":\n \"border-orange-500/30 bg-gradient-to-r from-yellow-950/30 to-orange-950/30\",\n \"gradient-purple\":\n \"border-pink-500/30 bg-gradient-to-r from-purple-950/30 to-pink-950/30\",\n \"gradient-teal\":\n \"border-cyan-500/30 bg-gradient-to-r from-teal-950/30 to-cyan-950/30\",\n \"gradient-indigo\":\n \"border-purple-500/30 bg-gradient-to-r from-indigo-950/30 to-purple-950/30\",\n \"gradient-pink\":\n \"border-rose-500/30 bg-gradient-to-r from-pink-950/30 to-rose-950/30\",\n \"gradient-orange\":\n \"border-orange-500/30 bg-gradient-to-r from-orange-950/30 to-red-950/30\",\n },\n size: {\n sm: \"gap-0.5\",\n md: \"gap-1\",\n lg: \"gap-1\",\n xl: \"gap-1.5\",\n \"2xl\": \"gap-1.5\",\n \"3xl\": \"gap-2\",\n \"4xl\": \"gap-2\",\n \"5xl\": \"gap-2\",\n \"6xl\": \"gap-2\",\n \"7xl\": \"gap-2.5\",\n \"8xl\": \"gap-2.5\",\n \"9xl\": \"gap-2.5\",\n \"10xl\": \"gap-3\",\n icon: \"gap-1\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n size: \"md\",\n },\n },\n);\n\nexport const paginationEllipsisVariants = cva(\n \"inline-flex min-w-[2ch] select-none items-center justify-center px-1 font-medium text-slate-400\",\n {\n variants: {\n size: {\n sm: \"text-xs\",\n md: \"text-sm\",\n lg: \"text-base\",\n xl: \"text-base\",\n \"2xl\": \"text-lg\",\n \"3xl\": \"text-lg\",\n \"4xl\": \"text-xl\",\n \"5xl\": \"text-xl\",\n \"6xl\": \"text-xl\",\n \"7xl\": \"text-2xl\",\n \"8xl\": \"text-2xl\",\n \"9xl\": \"text-2xl\",\n \"10xl\": \"text-2xl\",\n icon: \"text-sm\",\n },\n },\n defaultVariants: { size: \"md\" },\n },\n);\n","\"use client\";\n\nimport { forwardRef, useCallback, useId, type KeyboardEvent } from \"react\";\n\nimport { cn, clampPage } from \"../../lib/utils\";\nimport { buttonVariants } from \"../buttons/variants\";\n\nimport type { PaginationProps } from \"./types\";\nimport { usePagination } from \"../../hooks/usePagination\";\nimport { paginationEllipsisVariants, paginationListVariants } from \"./variants\";\n\nconst defaultPrevLabel = \"Previous page\";\nconst defaultNextLabel = \"Next page\";\nconst defaultEllipsisLabel = \"More pages\";\n\nexport const Pagination = forwardRef<HTMLElement, PaginationProps>(\n function Pagination(\n {\n className,\n appearance = \"default\",\n size = \"md\",\n pageCount,\n page,\n defaultPage = 1,\n onPageChange,\n siblingCount = 1,\n boundaryCount = 1,\n showPrevNext = true,\n prevLabel = defaultPrevLabel,\n nextLabel = defaultNextLabel,\n ellipsisLabel = defaultEllipsisLabel,\n getPageHref,\n \"aria-label\": ariaLabel = \"Pagination\",\n ...rest\n },\n ref,\n ) {\n const id = useId();\n const listId = `${id}-list`;\n\n const {\n currentPage,\n items,\n setPage,\n goPrev,\n goNext,\n canGoPrev,\n canGoNext,\n } = usePagination({\n pageCount,\n page,\n defaultPage,\n siblingCount,\n boundaryCount,\n onPageChange,\n });\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLElement>) => {\n if (pageCount <= 0) {\n return;\n }\n if (event.key === \"ArrowRight\" || event.key === \"ArrowDown\") {\n event.preventDefault();\n if (canGoNext) {\n setPage(currentPage + 1);\n }\n } else if (event.key === \"ArrowLeft\" || event.key === \"ArrowUp\") {\n event.preventDefault();\n if (canGoPrev) {\n setPage(currentPage - 1);\n }\n } else if (event.key === \"Home\") {\n event.preventDefault();\n setPage(1);\n } else if (event.key === \"End\") {\n event.preventDefault();\n setPage(pageCount);\n }\n },\n [canGoNext, canGoPrev, currentPage, pageCount, setPage],\n );\n\n if (pageCount <= 0) {\n return null;\n }\n\n const inactiveTriggerClass = cn(\n buttonVariants({ appearance: \"ghost\", size }),\n \"bg-white/[0.04] text-slate-200 hover:bg-white/10\",\n );\n\n const currentTriggerClass = buttonVariants({ appearance, size });\n\n const triggerFocusRing =\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-slate-300 focus-visible:ring-offset-2 focus-visible:ring-offset-slate-950\";\n\n const renderPageControl = (pageNumber: number) => {\n const isCurrent = pageNumber === currentPage;\n const href = getPageHref?.(pageNumber);\n const shared = cn(\n isCurrent ? currentTriggerClass : inactiveTriggerClass,\n \"min-w-[2.25ch] shrink-0\",\n triggerFocusRing,\n );\n\n if (href) {\n return (\n <a\n data-slot=\"pagination-trigger\"\n href={href}\n aria-label={`Page ${pageNumber}`}\n aria-current={isCurrent ? \"page\" : undefined}\n className={shared}\n >\n {pageNumber}\n </a>\n );\n }\n\n return (\n <button\n type=\"button\"\n data-slot=\"pagination-trigger\"\n aria-label={`Page ${pageNumber}`}\n aria-current={isCurrent ? \"page\" : undefined}\n className={shared}\n onClick={() => {\n if (!isCurrent) {\n setPage(pageNumber);\n }\n }}\n >\n {pageNumber}\n </button>\n );\n };\n\n const prevHref = getPageHref?.(clampPage(currentPage - 1, pageCount));\n const nextHref = getPageHref?.(clampPage(currentPage + 1, pageCount));\n\n const navTriggerClass = cn(\n buttonVariants({ appearance: \"outline\", size }),\n \"shrink-0 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-slate-300 focus-visible:ring-offset-2 focus-visible:ring-offset-slate-950\",\n );\n\n return (\n <nav\n ref={ref}\n data-slot=\"pagination\"\n aria-label={ariaLabel}\n className={cn(\"w-full\", className)}\n onKeyDown={handleKeyDown}\n {...rest}\n >\n <div className=\"flex flex-wrap items-center gap-2\">\n {showPrevNext ? (\n getPageHref && prevHref && canGoPrev ? (\n <a\n data-slot=\"pagination-prev\"\n aria-label={prevLabel}\n href={prevHref}\n className={navTriggerClass}\n >\n Prev\n </a>\n ) : (\n <button\n type=\"button\"\n data-slot=\"pagination-prev\"\n aria-label={prevLabel}\n disabled={!canGoPrev}\n className={navTriggerClass}\n onClick={goPrev}\n >\n Prev\n </button>\n )\n ) : null}\n\n <ul\n id={listId}\n data-slot=\"pagination-list\"\n className={paginationListVariants({ appearance, size })}\n >\n {items.map((item) => (\n <li\n key={item.type === \"page\" ? `page-${item.value}` : item.key}\n data-slot=\"pagination-item\"\n className=\"inline-flex items-center\"\n >\n {item.type === \"ellipsis\" ? (\n <span\n data-slot=\"pagination-ellipsis\"\n aria-hidden=\"true\"\n title={ellipsisLabel}\n className={paginationEllipsisVariants({ size })}\n >\n …\n </span>\n ) : (\n renderPageControl(item.value)\n )}\n </li>\n ))}\n </ul>\n\n {showPrevNext ? (\n getPageHref && nextHref && canGoNext ? (\n <a\n data-slot=\"pagination-next\"\n aria-label={nextLabel}\n href={nextHref}\n className={navTriggerClass}\n >\n Next\n </a>\n ) : (\n <button\n type=\"button\"\n data-slot=\"pagination-next\"\n aria-label={nextLabel}\n disabled={!canGoNext}\n className={navTriggerClass}\n onClick={goNext}\n >\n Next\n </button>\n )\n ) : null}\n </div>\n </nav>\n );\n },\n);\n\nPagination.displayName = \"Pagination\";\n"]}
1
+ {"version":3,"sources":["../../src/ui/pagination/variants.ts","../../src/ui/pagination/pagination.tsx"],"names":["Pagination"],"mappings":"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","file":"pagination.mjs","sourcesContent":["import { cva } from \"class-variance-authority\";\n\n/**\n * Layout and chrome for the page list cluster. Appearance and size keys align with\n * `components/ui/buttons/variants.ts` for consistent design-system tokens.\n */\nexport const paginationListVariants = cva(\n \"inline-flex flex-wrap items-center rounded-xl border p-1 ring-offset-slate-950\",\n {\n variants: {\n appearance: {\n default: \"border-white/10 bg-white/[0.03]\",\n secondary: \"border-white/10 bg-slate-900/40\",\n destructive: \"border-rose-500/25 bg-rose-950/20\",\n outline: \"border-white/15 bg-transparent\",\n ghost: \"border-transparent bg-transparent\",\n link: \"border-transparent bg-transparent\",\n glass: \"border-white/15 bg-white/5 backdrop-blur-md\",\n emerald: \"border-emerald-500/25 bg-emerald-950/20\",\n indigo: \"border-indigo-500/25 bg-indigo-950/20\",\n purple: \"border-purple-500/25 bg-purple-950/20\",\n pink: \"border-pink-500/25 bg-pink-950/20\",\n rose: \"border-rose-500/25 bg-rose-950/20\",\n sky: \"border-sky-500/25 bg-sky-950/20\",\n teal: \"border-teal-500/25 bg-teal-950/20\",\n yellow: \"border-yellow-500/25 bg-yellow-950/20\",\n orange: \"border-orange-500/25 bg-orange-950/20\",\n gray: \"border-gray-500/25 bg-gray-950/20\",\n amber: \"border-amber-500/25 bg-amber-950/20\",\n violet: \"border-violet-500/25 bg-violet-950/20\",\n \"gradient-blue\":\n \"border-blue-500/30 bg-linear-to-r from-blue-950/30 to-purple-950/30\",\n \"gradient-green\":\n \"border-lime-500/30 bg-linear-to-r from-green-950/30 to-lime-950/30\",\n \"gradient-red\":\n \"border-pink-500/30 bg-linear-to-r from-red-950/30 to-pink-950/30\",\n \"gradient-yellow\":\n \"border-orange-500/30 bg-linear-to-r from-yellow-950/30 to-orange-950/30\",\n \"gradient-purple\":\n \"border-pink-500/30 bg-linear-to-r from-purple-950/30 to-pink-950/30\",\n \"gradient-teal\":\n \"border-cyan-500/30 bg-linear-to-r from-teal-950/30 to-cyan-950/30\",\n \"gradient-indigo\":\n \"border-purple-500/30 bg-linear-to-r from-indigo-950/30 to-purple-950/30\",\n \"gradient-pink\":\n \"border-rose-500/30 bg-linear-to-r from-pink-950/30 to-rose-950/30\",\n \"gradient-orange\":\n \"border-orange-500/30 bg-linear-to-r from-orange-950/30 to-red-950/30\",\n },\n size: {\n sm: \"gap-0.5\",\n md: \"gap-1\",\n lg: \"gap-1\",\n xl: \"gap-1.5\",\n \"2xl\": \"gap-1.5\",\n \"3xl\": \"gap-2\",\n \"4xl\": \"gap-2\",\n \"5xl\": \"gap-2\",\n \"6xl\": \"gap-2\",\n \"7xl\": \"gap-2.5\",\n \"8xl\": \"gap-2.5\",\n \"9xl\": \"gap-2.5\",\n \"10xl\": \"gap-3\",\n icon: \"gap-1\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n size: \"md\",\n },\n },\n);\n\nexport const paginationEllipsisVariants = cva(\n \"inline-flex min-w-[2ch] select-none items-center justify-center px-1 font-medium text-slate-400\",\n {\n variants: {\n size: {\n sm: \"text-xs\",\n md: \"text-sm\",\n lg: \"text-base\",\n xl: \"text-base\",\n \"2xl\": \"text-lg\",\n \"3xl\": \"text-lg\",\n \"4xl\": \"text-xl\",\n \"5xl\": \"text-xl\",\n \"6xl\": \"text-xl\",\n \"7xl\": \"text-2xl\",\n \"8xl\": \"text-2xl\",\n \"9xl\": \"text-2xl\",\n \"10xl\": \"text-2xl\",\n icon: \"text-sm\",\n },\n },\n defaultVariants: { size: \"md\" },\n },\n);\n","\"use client\";\n\nimport { forwardRef, useCallback, useId, type KeyboardEvent } from \"react\";\n\nimport { cn, clampPage } from \"../../lib/utils\";\nimport { buttonVariants } from \"../buttons/variants\";\n\nimport type { PaginationProps } from \"./types\";\nimport { usePagination } from \"../../hooks/usePagination\";\nimport { paginationEllipsisVariants, paginationListVariants } from \"./variants\";\n\nconst defaultPrevLabel = \"Previous page\";\nconst defaultNextLabel = \"Next page\";\nconst defaultEllipsisLabel = \"More pages\";\n\nexport const Pagination = forwardRef<HTMLElement, PaginationProps>(\n function Pagination(\n {\n className,\n appearance = \"default\",\n size = \"md\",\n pageCount,\n page,\n defaultPage = 1,\n onPageChange,\n siblingCount = 1,\n boundaryCount = 1,\n showPrevNext = true,\n prevLabel = defaultPrevLabel,\n nextLabel = defaultNextLabel,\n ellipsisLabel = defaultEllipsisLabel,\n getPageHref,\n \"aria-label\": ariaLabel = \"Pagination\",\n ...rest\n },\n ref,\n ) {\n const id = useId();\n const listId = `${id}-list`;\n\n const {\n currentPage,\n items,\n setPage,\n goPrev,\n goNext,\n canGoPrev,\n canGoNext,\n } = usePagination({\n pageCount,\n page,\n defaultPage,\n siblingCount,\n boundaryCount,\n onPageChange,\n });\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLElement>) => {\n if (pageCount <= 0) {\n return;\n }\n if (event.key === \"ArrowRight\" || event.key === \"ArrowDown\") {\n event.preventDefault();\n if (canGoNext) {\n setPage(currentPage + 1);\n }\n } else if (event.key === \"ArrowLeft\" || event.key === \"ArrowUp\") {\n event.preventDefault();\n if (canGoPrev) {\n setPage(currentPage - 1);\n }\n } else if (event.key === \"Home\") {\n event.preventDefault();\n setPage(1);\n } else if (event.key === \"End\") {\n event.preventDefault();\n setPage(pageCount);\n }\n },\n [canGoNext, canGoPrev, currentPage, pageCount, setPage],\n );\n\n if (pageCount <= 0) {\n return null;\n }\n\n const inactiveTriggerClass = cn(\n buttonVariants({ appearance: \"ghost\", size }),\n \"bg-white/[0.04] text-slate-200 hover:bg-white/10\",\n );\n\n const currentTriggerClass = buttonVariants({ appearance, size });\n\n const triggerFocusRing =\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-slate-300 focus-visible:ring-offset-2 focus-visible:ring-offset-slate-950\";\n\n const renderPageControl = (pageNumber: number) => {\n const isCurrent = pageNumber === currentPage;\n const href = getPageHref?.(pageNumber);\n const shared = cn(\n isCurrent ? currentTriggerClass : inactiveTriggerClass,\n \"min-w-[2.25ch] shrink-0\",\n triggerFocusRing,\n );\n\n if (href) {\n return (\n <a\n data-slot=\"pagination-trigger\"\n href={href}\n aria-label={`Page ${pageNumber}`}\n aria-current={isCurrent ? \"page\" : undefined}\n className={shared}\n >\n {pageNumber}\n </a>\n );\n }\n\n return (\n <button\n type=\"button\"\n data-slot=\"pagination-trigger\"\n aria-label={`Page ${pageNumber}`}\n aria-current={isCurrent ? \"page\" : undefined}\n className={shared}\n onClick={() => {\n if (!isCurrent) {\n setPage(pageNumber);\n }\n }}\n >\n {pageNumber}\n </button>\n );\n };\n\n const prevHref = getPageHref?.(clampPage(currentPage - 1, pageCount));\n const nextHref = getPageHref?.(clampPage(currentPage + 1, pageCount));\n\n const navTriggerClass = cn(\n buttonVariants({ appearance: \"outline\", size }),\n \"shrink-0 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-slate-300 focus-visible:ring-offset-2 focus-visible:ring-offset-slate-950\",\n );\n\n return (\n <nav\n ref={ref}\n data-slot=\"pagination\"\n aria-label={ariaLabel}\n className={cn(\"w-full\", className)}\n onKeyDown={handleKeyDown}\n {...rest}\n >\n <div className=\"flex flex-wrap items-center gap-2\">\n {showPrevNext ? (\n getPageHref && prevHref && canGoPrev ? (\n <a\n data-slot=\"pagination-prev\"\n aria-label={prevLabel}\n href={prevHref}\n className={navTriggerClass}\n >\n Prev\n </a>\n ) : (\n <button\n type=\"button\"\n data-slot=\"pagination-prev\"\n aria-label={prevLabel}\n disabled={!canGoPrev}\n className={navTriggerClass}\n onClick={goPrev}\n >\n Prev\n </button>\n )\n ) : null}\n\n <ul\n id={listId}\n data-slot=\"pagination-list\"\n className={paginationListVariants({ appearance, size })}\n >\n {items.map((item) => (\n <li\n key={item.type === \"page\" ? `page-${item.value}` : item.key}\n data-slot=\"pagination-item\"\n className=\"inline-flex items-center\"\n >\n {item.type === \"ellipsis\" ? (\n <span\n data-slot=\"pagination-ellipsis\"\n className={paginationEllipsisVariants({ size })}\n role=\"img\"\n aria-label={ellipsisLabel}\n >\n …\n </span>\n ) : (\n renderPageControl(item.value)\n )}\n </li>\n ))}\n </ul>\n\n {showPrevNext ? (\n getPageHref && nextHref && canGoNext ? (\n <a\n data-slot=\"pagination-next\"\n aria-label={nextLabel}\n href={nextHref}\n className={navTriggerClass}\n >\n Next\n </a>\n ) : (\n <button\n type=\"button\"\n data-slot=\"pagination-next\"\n aria-label={nextLabel}\n disabled={!canGoNext}\n className={navTriggerClass}\n onClick={goNext}\n >\n Next\n </button>\n )\n ) : null}\n </div>\n </nav>\n );\n },\n);\n\nPagination.displayName = \"Pagination\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"progress-animated.d.ts","sourceRoot":"","sources":["../../../../src/ui/progress/animated/progress-animated.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,KAAK,EAAe,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAMlE,OAAO,EAEL,aAAa,EACb,aAAa,EAEd,MAAM,kBAAkB,CAAC;AAE1B,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,UAAsB,EACtB,IAAW,EACX,KAAiB,EACjB,OAAe,EACf,QAAgB,EAChB,KAAS,EACT,GAAO,EACP,GAAS,EACT,KAAK,EACL,QAAQ,EACR,GAAG,EACH,SAAkB,EAClB,IAAI,EACJ,GAAG,IAAI,EACR,EAAE,qBAAqB,2CAiDvB;yBAjEe,gBAAgB;;;AAqEhC,wBAAgB,mBAAmB,CAAC,EAClC,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,IAAI,EACR,EAAE,oBAAoB,GAAG;IACxB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;CACjC,2CA6BA;yBArCe,mBAAmB;;;AAyCnC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"progress-animated.d.ts","sourceRoot":"","sources":["../../../../src/ui/progress/animated/progress-animated.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,KAAK,EAAe,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAMlE,OAAO,EAEL,aAAa,EACb,aAAa,EAEd,MAAM,kBAAkB,CAAC;AAE1B,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,UAAsB,EACtB,IAAW,EACX,KAAiB,EACjB,OAAe,EACf,QAAgB,EAChB,KAAS,EACT,GAAO,EACP,GAAS,EACT,KAAK,EACL,QAAQ,EACR,GAAG,EACH,SAAkB,EAClB,IAAI,EACJ,GAAG,IAAI,EACR,EAAE,qBAAqB,2CAwFvB;yBAxGe,gBAAgB;;;AA4GhC,wBAAgB,mBAAmB,CAAC,EAClC,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,IAAI,EACR,EAAE,oBAAoB,GAAG;IACxB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;CACjC,2CA4BA;yBApCe,mBAAmB;;;AAwCnC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC"}