@zentauri-ui/zentauri-components 1.4.62 → 1.4.64

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 (529) hide show
  1. package/README.md +73 -73
  2. package/dist/{chunk-OXS6UJUG.mjs → chunk-2BAMNRAL.mjs} +22 -22
  3. package/dist/chunk-2BAMNRAL.mjs.map +1 -0
  4. package/dist/{chunk-JE3PD5ZA.js → chunk-2VUMVDR3.js} +8 -8
  5. package/dist/{chunk-JE3PD5ZA.js.map → chunk-2VUMVDR3.js.map} +1 -1
  6. package/dist/{chunk-DFEZH7TC.mjs → chunk-4D54YOL6.mjs} +2 -2
  7. package/dist/{chunk-DFEZH7TC.mjs.map → chunk-4D54YOL6.mjs.map} +1 -1
  8. package/dist/{chunk-J56L4ZQ3.mjs → chunk-5TV7EL3H.mjs} +11 -11
  9. package/dist/{chunk-J56L4ZQ3.mjs.map → chunk-5TV7EL3H.mjs.map} +1 -1
  10. package/dist/{chunk-BSWYZTYK.js → chunk-7DCFVPWN.js} +2 -2
  11. package/dist/chunk-7DCFVPWN.js.map +1 -0
  12. package/dist/{chunk-FGGYDAX3.js → chunk-7TLKLMBM.js} +8 -8
  13. package/dist/{chunk-FGGYDAX3.js.map → chunk-7TLKLMBM.js.map} +1 -1
  14. package/dist/{chunk-2P3UU2J3.mjs → chunk-A6KMZ5ZS.mjs} +12 -12
  15. package/dist/chunk-A6KMZ5ZS.mjs.map +1 -0
  16. package/dist/{chunk-U4YQCAXW.js → chunk-AD2LA3XN.js} +18 -18
  17. package/dist/chunk-AD2LA3XN.js.map +1 -0
  18. package/dist/{chunk-4U6FOCFK.js → chunk-AUGLZ3AN.js} +31 -31
  19. package/dist/chunk-AUGLZ3AN.js.map +1 -0
  20. package/dist/{chunk-OJ67PZ6N.js → chunk-BCZIYH53.js} +8 -8
  21. package/dist/{chunk-OJ67PZ6N.js.map → chunk-BCZIYH53.js.map} +1 -1
  22. package/dist/{chunk-UBFKTC2P.mjs → chunk-C5L465FW.mjs} +12 -12
  23. package/dist/chunk-C5L465FW.mjs.map +1 -0
  24. package/dist/{chunk-VSKL5LOB.js → chunk-E4FZY7O2.js} +13 -22
  25. package/dist/chunk-E4FZY7O2.js.map +1 -0
  26. package/dist/{chunk-LVUPECBT.mjs → chunk-FQBMIZH2.mjs} +12 -12
  27. package/dist/chunk-FQBMIZH2.mjs.map +1 -0
  28. package/dist/{chunk-4ANBTJ5G.mjs → chunk-G3LEYBRV.mjs} +3 -3
  29. package/dist/{chunk-4ANBTJ5G.mjs.map → chunk-G3LEYBRV.mjs.map} +1 -1
  30. package/dist/{chunk-UP6S75V5.js → chunk-GBWGVNDA.js} +2 -2
  31. package/dist/chunk-GBWGVNDA.js.map +1 -0
  32. package/dist/{chunk-EQSSYK27.mjs → chunk-I6GR234Z.mjs} +12 -12
  33. package/dist/chunk-I6GR234Z.mjs.map +1 -0
  34. package/dist/{chunk-2PJF7DLJ.mjs → chunk-INMNX3HQ.mjs} +12 -12
  35. package/dist/{chunk-2PJF7DLJ.mjs.map → chunk-INMNX3HQ.mjs.map} +1 -1
  36. package/dist/{chunk-JF3FKUUP.mjs → chunk-JBAUEGYD.mjs} +22 -22
  37. package/dist/chunk-JBAUEGYD.mjs.map +1 -0
  38. package/dist/{chunk-MQZB5EPD.js → chunk-JUDMPOCI.js} +14 -14
  39. package/dist/chunk-JUDMPOCI.js.map +1 -0
  40. package/dist/{chunk-4E66ICIR.mjs → chunk-K6YI4FJO.mjs} +2 -2
  41. package/dist/chunk-K6YI4FJO.mjs.map +1 -0
  42. package/dist/{chunk-WP7GYBRI.js → chunk-KC5LEZ6J.js} +2 -2
  43. package/dist/chunk-KC5LEZ6J.js.map +1 -0
  44. package/dist/{chunk-OG2WM5YK.mjs → chunk-LN77JJTY.mjs} +4 -13
  45. package/dist/chunk-LN77JJTY.mjs.map +1 -0
  46. package/dist/{chunk-Y4EDWZKH.js → chunk-MCOQHXRW.js} +13 -13
  47. package/dist/chunk-MCOQHXRW.js.map +1 -0
  48. package/dist/{chunk-FLILFCQE.mjs → chunk-MTLLJFUI.mjs} +7 -8
  49. package/dist/chunk-MTLLJFUI.mjs.map +1 -0
  50. package/dist/{chunk-6I7X5BF2.js → chunk-N2OAI2HN.js} +18 -18
  51. package/dist/chunk-N2OAI2HN.js.map +1 -0
  52. package/dist/{chunk-ZNDHS5OK.js → chunk-OB4KJZK2.js} +11 -11
  53. package/dist/{chunk-ZNDHS5OK.js.map → chunk-OB4KJZK2.js.map} +1 -1
  54. package/dist/{chunk-PFOV3U7W.js → chunk-OLEMP2HL.js} +18 -18
  55. package/dist/{chunk-PFOV3U7W.js.map → chunk-OLEMP2HL.js.map} +1 -1
  56. package/dist/{chunk-THCNTPPL.js → chunk-PWL5WD34.js} +16 -16
  57. package/dist/{chunk-THCNTPPL.js.map → chunk-PWL5WD34.js.map} +1 -1
  58. package/dist/{chunk-NX3IHMT7.js → chunk-Q5B44QW7.js} +30 -30
  59. package/dist/chunk-Q5B44QW7.js.map +1 -0
  60. package/dist/{chunk-FT2LMA66.mjs → chunk-QADZK5R7.mjs} +2 -2
  61. package/dist/chunk-QADZK5R7.mjs.map +1 -0
  62. package/dist/{chunk-45FCOQ63.mjs → chunk-QZTEFGZF.mjs} +3 -3
  63. package/dist/{chunk-45FCOQ63.mjs.map → chunk-QZTEFGZF.mjs.map} +1 -1
  64. package/dist/{chunk-UOFTZKMM.js → chunk-S7WKFNPT.js} +18 -18
  65. package/dist/chunk-S7WKFNPT.js.map +1 -0
  66. package/dist/{chunk-XIXF7UVM.mjs → chunk-TINHLHCN.mjs} +12 -12
  67. package/dist/chunk-TINHLHCN.mjs.map +1 -0
  68. package/dist/{chunk-IK75NHRX.mjs → chunk-TJUNN2PT.mjs} +12 -12
  69. package/dist/{chunk-IK75NHRX.mjs.map → chunk-TJUNN2PT.mjs.map} +1 -1
  70. package/dist/{chunk-4B7KGBQB.js → chunk-UWA23DUC.js} +12 -13
  71. package/dist/chunk-UWA23DUC.js.map +1 -0
  72. package/dist/{chunk-CY5BQKRZ.mjs → chunk-VXDEPZKH.mjs} +2 -2
  73. package/dist/chunk-VXDEPZKH.mjs.map +1 -0
  74. package/dist/{chunk-C2FCPQTO.js → chunk-Y745GQR2.js} +16 -16
  75. package/dist/chunk-Y745GQR2.js.map +1 -0
  76. package/dist/{chunk-TZ2JVWTZ.mjs → chunk-YNBJAFI2.mjs} +3 -3
  77. package/dist/{chunk-TZ2JVWTZ.mjs.map → chunk-YNBJAFI2.mjs.map} +1 -1
  78. package/dist/{chunk-V2IWLR4O.js → chunk-YTRGRHEB.js} +9 -9
  79. package/dist/{chunk-V2IWLR4O.js.map → chunk-YTRGRHEB.js.map} +1 -1
  80. package/dist/{chunk-Y4IFVO46.mjs → chunk-ZBBFOMSJ.mjs} +12 -12
  81. package/dist/chunk-ZBBFOMSJ.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.map +1 -1
  95. package/dist/hooks/useFocusManagement.js +2 -2
  96. package/dist/hooks/useFocusManagement.mjs +1 -1
  97. package/dist/hooks/useLocalStorage/index.d.ts +1 -1
  98. package/dist/hooks/useLocalStorage/index.d.ts.map +1 -1
  99. package/dist/hooks/useLocalStorage.js +1 -3
  100. package/dist/hooks/useLocalStorage.js.map +1 -1
  101. package/dist/hooks/useLocalStorage.mjs +1 -3
  102. package/dist/hooks/useLocalStorage.mjs.map +1 -1
  103. package/dist/hooks/useMediaQuery/useMediaQuery.d.ts.map +1 -1
  104. package/dist/hooks/useMediaQuery.js +2 -2
  105. package/dist/hooks/useMediaQuery.mjs +1 -1
  106. package/dist/hooks/usePagination.js +4 -4
  107. package/dist/hooks/usePagination.mjs +2 -2
  108. package/dist/hooks/usePrefersColorScheme.js +2 -2
  109. package/dist/hooks/usePrefersColorScheme.mjs +1 -1
  110. package/dist/hooks/usePrefersReducedMotion.js +2 -2
  111. package/dist/hooks/usePrefersReducedMotion.mjs +1 -1
  112. package/dist/hooks/useResizeObserver/index.d.ts +1 -1
  113. package/dist/hooks/useResizeObserver/index.d.ts.map +1 -1
  114. package/dist/hooks/useSessionStorage/useSessionStorage.d.ts.map +1 -1
  115. package/dist/hooks/useSessionStorage.js.map +1 -1
  116. package/dist/hooks/useSessionStorage.mjs.map +1 -1
  117. package/dist/hooks/useThrottledCallback/useThrottledCallback.d.ts.map +1 -1
  118. package/dist/hooks/useThrottledCallback.js.map +1 -1
  119. package/dist/hooks/useThrottledCallback.mjs.map +1 -1
  120. package/dist/hooks/useWindowSize/useWindowSize.d.ts.map +1 -1
  121. package/dist/hooks/useWindowSize.js +4 -1
  122. package/dist/hooks/useWindowSize.js.map +1 -1
  123. package/dist/hooks/useWindowSize.mjs +4 -1
  124. package/dist/hooks/useWindowSize.mjs.map +1 -1
  125. package/dist/hooks/utils.js +5 -5
  126. package/dist/hooks/utils.mjs +1 -1
  127. package/dist/lib/utils.d.ts.map +1 -1
  128. package/dist/ui/accordion/accordion.d.ts.map +1 -1
  129. package/dist/ui/accordion/animated/accordion-content-animated.d.ts.map +1 -1
  130. package/dist/ui/accordion/animated/index.d.ts +1 -1
  131. package/dist/ui/accordion/animated/index.d.ts.map +1 -1
  132. package/dist/ui/accordion/animated/types.d.ts.map +1 -1
  133. package/dist/ui/accordion/animated.js +8 -11
  134. package/dist/ui/accordion/animated.js.map +1 -1
  135. package/dist/ui/accordion/animated.mjs +4 -7
  136. package/dist/ui/accordion/animated.mjs.map +1 -1
  137. package/dist/ui/accordion.js +10 -10
  138. package/dist/ui/accordion.js.map +1 -1
  139. package/dist/ui/accordion.mjs +3 -3
  140. package/dist/ui/accordion.mjs.map +1 -1
  141. package/dist/ui/alert/alert-base.d.ts.map +1 -1
  142. package/dist/ui/alert/alert.d.ts.map +1 -1
  143. package/dist/ui/alert/animated/index.d.ts.map +1 -1
  144. package/dist/ui/alert/animated.js +3 -3
  145. package/dist/ui/alert/animated.mjs +2 -2
  146. package/dist/ui/alert/types.d.ts.map +1 -1
  147. package/dist/ui/alert.js +11 -11
  148. package/dist/ui/alert.js.map +1 -1
  149. package/dist/ui/alert.mjs +3 -3
  150. package/dist/ui/alert.mjs.map +1 -1
  151. package/dist/ui/avatar/animated/index.d.ts +1 -1
  152. package/dist/ui/avatar/animated/index.d.ts.map +1 -1
  153. package/dist/ui/avatar/animated.js +6 -6
  154. package/dist/ui/avatar/animated.mjs +3 -3
  155. package/dist/ui/avatar/avatar-base.d.ts.map +1 -1
  156. package/dist/ui/avatar/avatar.d.ts.map +1 -1
  157. package/dist/ui/avatar/variants.d.ts.map +1 -1
  158. package/dist/ui/avatar.js +10 -10
  159. package/dist/ui/avatar.js.map +1 -1
  160. package/dist/ui/avatar.mjs +3 -3
  161. package/dist/ui/avatar.mjs.map +1 -1
  162. package/dist/ui/badge/animated/index.d.ts +1 -1
  163. package/dist/ui/badge/animated/index.d.ts.map +1 -1
  164. package/dist/ui/badge/animated/types.d.ts.map +1 -1
  165. package/dist/ui/badge/animated.js +3 -3
  166. package/dist/ui/badge/animated.mjs +2 -2
  167. package/dist/ui/badge/variants.d.ts +9 -9
  168. package/dist/ui/badge/variants.d.ts.map +1 -1
  169. package/dist/ui/badge.js +5 -5
  170. package/dist/ui/badge.mjs +3 -3
  171. package/dist/ui/breadcrumb/breadcrumb.d.ts.map +1 -1
  172. package/dist/ui/breadcrumb/types.d.ts.map +1 -1
  173. package/dist/ui/breadcrumb/variants.d.ts.map +1 -1
  174. package/dist/ui/breadcrumb.js +47 -43
  175. package/dist/ui/breadcrumb.js.map +1 -1
  176. package/dist/ui/breadcrumb.mjs +43 -39
  177. package/dist/ui/breadcrumb.mjs.map +1 -1
  178. package/dist/ui/buttons/animated/index.d.ts +1 -1
  179. package/dist/ui/buttons/animated/index.d.ts.map +1 -1
  180. package/dist/ui/buttons/animated/types.d.ts.map +1 -1
  181. package/dist/ui/buttons/animated.js +4 -4
  182. package/dist/ui/buttons/animated.mjs +2 -2
  183. package/dist/ui/buttons/types.d.ts.map +1 -1
  184. package/dist/ui/buttons.js +5 -5
  185. package/dist/ui/buttons.mjs +3 -3
  186. package/dist/ui/card/animated.js +8 -8
  187. package/dist/ui/card/animated.mjs +3 -3
  188. package/dist/ui/card/card-base.d.ts.map +1 -1
  189. package/dist/ui/card/card.d.ts.map +1 -1
  190. package/dist/ui/card/index.d.ts +2 -2
  191. package/dist/ui/card/index.d.ts.map +1 -1
  192. package/dist/ui/card.js +13 -13
  193. package/dist/ui/card.js.map +1 -1
  194. package/dist/ui/card.mjs +3 -3
  195. package/dist/ui/card.mjs.map +1 -1
  196. package/dist/ui/divider/animated/index.d.ts +1 -1
  197. package/dist/ui/divider/animated/index.d.ts.map +1 -1
  198. package/dist/ui/divider/animated/types.d.ts.map +1 -1
  199. package/dist/ui/divider/animated.js +3 -3
  200. package/dist/ui/divider/animated.mjs +2 -2
  201. package/dist/ui/divider/divider-base.d.ts.map +1 -1
  202. package/dist/ui/divider.js +7 -7
  203. package/dist/ui/divider.mjs +3 -3
  204. package/dist/ui/drawer/animated/drawer-content-animated.d.ts.map +1 -1
  205. package/dist/ui/drawer/animated/index.d.ts +1 -1
  206. package/dist/ui/drawer/animated/index.d.ts.map +1 -1
  207. package/dist/ui/drawer/animated.js +15 -15
  208. package/dist/ui/drawer/animated.js.map +1 -1
  209. package/dist/ui/drawer/animated.mjs +4 -4
  210. package/dist/ui/drawer/animated.mjs.map +1 -1
  211. package/dist/ui/drawer/types.d.ts.map +1 -1
  212. package/dist/ui/drawer.js +13 -13
  213. package/dist/ui/drawer.mjs +3 -3
  214. package/dist/ui/dropdown/dropdown.d.ts.map +1 -1
  215. package/dist/ui/dropdown.js +24 -24
  216. package/dist/ui/dropdown.js.map +1 -1
  217. package/dist/ui/dropdown.mjs +20 -20
  218. package/dist/ui/dropdown.mjs.map +1 -1
  219. package/dist/ui/empty-state/animated/empty-state-animated.d.ts.map +1 -1
  220. package/dist/ui/empty-state/animated/index.d.ts +2 -2
  221. package/dist/ui/empty-state/animated/index.d.ts.map +1 -1
  222. package/dist/ui/empty-state/animated.js +3 -3
  223. package/dist/ui/empty-state/animated.js.map +1 -1
  224. package/dist/ui/empty-state/animated.mjs +2 -2
  225. package/dist/ui/empty-state/animated.mjs.map +1 -1
  226. package/dist/ui/empty-state/empty-state-base.d.ts.map +1 -1
  227. package/dist/ui/empty-state/index.d.ts +1 -1
  228. package/dist/ui/empty-state/index.d.ts.map +1 -1
  229. package/dist/ui/empty-state.js +11 -11
  230. package/dist/ui/empty-state.mjs +3 -3
  231. package/dist/ui/file-upload/file-upload.d.ts.map +1 -1
  232. package/dist/ui/file-upload/variants.d.ts.map +1 -1
  233. package/dist/ui/file-upload.js +3 -3
  234. package/dist/ui/file-upload.js.map +1 -1
  235. package/dist/ui/file-upload.mjs +1 -1
  236. package/dist/ui/file-upload.mjs.map +1 -1
  237. package/dist/ui/inputs/animated/index.d.ts +1 -1
  238. package/dist/ui/inputs/animated/index.d.ts.map +1 -1
  239. package/dist/ui/inputs/animated.js +3 -3
  240. package/dist/ui/inputs/animated.mjs +1 -1
  241. package/dist/ui/inputs/types.d.ts.map +1 -1
  242. package/dist/ui/inputs.js +3 -3
  243. package/dist/ui/inputs.mjs +1 -1
  244. package/dist/ui/modal/animated/index.d.ts +1 -1
  245. package/dist/ui/modal/animated/index.d.ts.map +1 -1
  246. package/dist/ui/modal/animated.js +8 -8
  247. package/dist/ui/modal/animated.mjs +3 -3
  248. package/dist/ui/modal/index.d.ts +1 -1
  249. package/dist/ui/modal/index.d.ts.map +1 -1
  250. package/dist/ui/modal/modal-base.d.ts.map +1 -1
  251. package/dist/ui/modal/types.d.ts.map +1 -1
  252. package/dist/ui/modal.js +14 -14
  253. package/dist/ui/modal.js.map +1 -1
  254. package/dist/ui/modal.mjs +4 -4
  255. package/dist/ui/modal.mjs.map +1 -1
  256. package/dist/ui/pagination.js +23 -23
  257. package/dist/ui/pagination.js.map +1 -1
  258. package/dist/ui/pagination.mjs +13 -13
  259. package/dist/ui/pagination.mjs.map +1 -1
  260. package/dist/ui/progress/animated/progress-animated.d.ts.map +1 -1
  261. package/dist/ui/progress/animated.js +11 -11
  262. package/dist/ui/progress/animated.js.map +1 -1
  263. package/dist/ui/progress/animated.mjs +3 -3
  264. package/dist/ui/progress/animated.mjs.map +1 -1
  265. package/dist/ui/progress/index.d.ts +2 -2
  266. package/dist/ui/progress/index.d.ts.map +1 -1
  267. package/dist/ui/progress/progress-base.d.ts.map +1 -1
  268. package/dist/ui/progress/progress.d.ts.map +1 -1
  269. package/dist/ui/progress.js +10 -15
  270. package/dist/ui/progress.js.map +1 -1
  271. package/dist/ui/progress.mjs +4 -9
  272. package/dist/ui/progress.mjs.map +1 -1
  273. package/dist/ui/search/search-bar.d.ts.map +1 -1
  274. package/dist/ui/search/search-suggestion-list.d.ts.map +1 -1
  275. package/dist/ui/search/search-suggestion-utils.d.ts.map +1 -1
  276. package/dist/ui/search.js +13 -7
  277. package/dist/ui/search.js.map +1 -1
  278. package/dist/ui/search.mjs +9 -3
  279. package/dist/ui/search.mjs.map +1 -1
  280. package/dist/ui/select/select.d.ts.map +1 -1
  281. package/dist/ui/select/variants.d.ts.map +1 -1
  282. package/dist/ui/select.js +33 -33
  283. package/dist/ui/select.js.map +1 -1
  284. package/dist/ui/select.mjs +28 -28
  285. package/dist/ui/select.mjs.map +1 -1
  286. package/dist/ui/skeleton/animated/skeleton-animated.d.ts.map +1 -1
  287. package/dist/ui/skeleton/animated/types.d.ts.map +1 -1
  288. package/dist/ui/skeleton/animated.js +34 -10
  289. package/dist/ui/skeleton/animated.js.map +1 -1
  290. package/dist/ui/skeleton/animated.mjs +29 -5
  291. package/dist/ui/skeleton/animated.mjs.map +1 -1
  292. package/dist/ui/skeleton.js +10 -10
  293. package/dist/ui/skeleton.mjs +2 -2
  294. package/dist/ui/slider.js +10 -10
  295. package/dist/ui/slider.js.map +1 -1
  296. package/dist/ui/slider.mjs +2 -2
  297. package/dist/ui/slider.mjs.map +1 -1
  298. package/dist/ui/spinner/animated/spinner.d.ts.map +1 -1
  299. package/dist/ui/spinner/animated.js +8 -8
  300. package/dist/ui/spinner/animated.js.map +1 -1
  301. package/dist/ui/spinner/animated.mjs +1 -1
  302. package/dist/ui/spinner/animated.mjs.map +1 -1
  303. package/dist/ui/stepper/stepper.d.ts.map +1 -1
  304. package/dist/ui/stepper/types.d.ts.map +1 -1
  305. package/dist/ui/stepper/variants.d.ts.map +1 -1
  306. package/dist/ui/stepper.js +6 -9
  307. package/dist/ui/stepper.js.map +1 -1
  308. package/dist/ui/stepper.mjs +2 -5
  309. package/dist/ui/stepper.mjs.map +1 -1
  310. package/dist/ui/table/animated/index.d.ts +2 -2
  311. package/dist/ui/table/animated/index.d.ts.map +1 -1
  312. package/dist/ui/table/animated.js +9 -9
  313. package/dist/ui/table/animated.mjs +3 -3
  314. package/dist/ui/table/table-base.d.ts.map +1 -1
  315. package/dist/ui/table.js +15 -15
  316. package/dist/ui/table.mjs +2 -2
  317. package/dist/ui/tabs/animated/animations.d.ts.map +1 -1
  318. package/dist/ui/tabs/animated/index.d.ts +1 -1
  319. package/dist/ui/tabs/animated/index.d.ts.map +1 -1
  320. package/dist/ui/tabs/animated/types.d.ts.map +1 -1
  321. package/dist/ui/tabs/animated.js +4 -4
  322. package/dist/ui/tabs/animated.js.map +1 -1
  323. package/dist/ui/tabs/animated.mjs +2 -2
  324. package/dist/ui/tabs/animated.mjs.map +1 -1
  325. package/dist/ui/tabs/index.d.ts +1 -1
  326. package/dist/ui/tabs/index.d.ts.map +1 -1
  327. package/dist/ui/tabs/tabs.d.ts +1 -1
  328. package/dist/ui/tabs/tabs.d.ts.map +1 -1
  329. package/dist/ui/tabs.js +10 -10
  330. package/dist/ui/tabs.mjs +2 -2
  331. package/dist/ui/toast/animated/toast-animated.d.ts.map +1 -1
  332. package/dist/ui/toast/animated.js +12 -10
  333. package/dist/ui/toast/animated.js.map +1 -1
  334. package/dist/ui/toast/animated.mjs +5 -3
  335. package/dist/ui/toast/animated.mjs.map +1 -1
  336. package/dist/ui/toast/types.d.ts.map +1 -1
  337. package/dist/ui/toast.js +13 -13
  338. package/dist/ui/toast.mjs +2 -2
  339. package/dist/ui/toggle/animated/index.d.ts +2 -2
  340. package/dist/ui/toggle/animated/index.d.ts.map +1 -1
  341. package/dist/ui/toggle/animated/types.d.ts.map +1 -1
  342. package/dist/ui/toggle/animated.js +3 -3
  343. package/dist/ui/toggle/animated.mjs +1 -1
  344. package/dist/ui/toggle/index.d.ts +1 -1
  345. package/dist/ui/toggle/index.d.ts.map +1 -1
  346. package/dist/ui/toggle/toggle-base.d.ts.map +1 -1
  347. package/dist/ui/toggle.js +3 -3
  348. package/dist/ui/toggle.js.map +1 -1
  349. package/dist/ui/toggle.mjs +1 -1
  350. package/dist/ui/toggle.mjs.map +1 -1
  351. package/dist/ui/tooltip/animated/animations.d.ts.map +1 -1
  352. package/dist/ui/tooltip/animated/types.d.ts.map +1 -1
  353. package/dist/ui/tooltip/animated.js +5 -5
  354. package/dist/ui/tooltip/animated.js.map +1 -1
  355. package/dist/ui/tooltip/animated.mjs +2 -2
  356. package/dist/ui/tooltip/animated.mjs.map +1 -1
  357. package/dist/ui/tooltip/tooltip-base.d.ts.map +1 -1
  358. package/dist/ui/tooltip/variants.d.ts.map +1 -1
  359. package/dist/ui/tooltip.js +8 -8
  360. package/dist/ui/tooltip.mjs +2 -2
  361. package/dist/ui/typography/blockquote-base.d.ts.map +1 -1
  362. package/dist/ui/typography/code-block-base.d.ts.map +1 -1
  363. package/dist/ui/typography/heading-base.d.ts.map +1 -1
  364. package/dist/ui/typography/list-base.d.ts.map +1 -1
  365. package/dist/ui/typography/types.d.ts.map +1 -1
  366. package/dist/ui/typography/variants.d.ts.map +1 -1
  367. package/dist/ui/typography.js +12 -34
  368. package/dist/ui/typography.js.map +1 -1
  369. package/dist/ui/typography.mjs +4 -26
  370. package/dist/ui/typography.mjs.map +1 -1
  371. package/package.json +1 -1
  372. package/src/hooks/index.ts +8 -2
  373. package/src/hooks/useClickOutside/useClickOutside.ts +1 -4
  374. package/src/hooks/useClipboard/useClipboard.test.ts +3 -1
  375. package/src/hooks/useClipboard/useClipboard.ts +1 -2
  376. package/src/hooks/useDisclosure/useDisclosure.test.ts +1 -2
  377. package/src/hooks/useDocumentTitle/useDocumentTitle.test.ts +1 -3
  378. package/src/hooks/useFocusManagement/useFocusManagement.ts +8 -9
  379. package/src/hooks/useInView/useInView.test.ts +6 -1
  380. package/src/hooks/useLocalStorage/index.ts +1 -4
  381. package/src/hooks/useLocalStorage/useLocalStorage.test.ts +8 -20
  382. package/src/hooks/useLocalStorage/useLocalStorage.ts +4 -4
  383. package/src/hooks/useMediaQuery/useMediaQuery.ts +1 -4
  384. package/src/hooks/usePrefersReducedMotion/usePrefersReducedMotion.test.ts +3 -1
  385. package/src/hooks/useResizeObserver/index.ts +1 -4
  386. package/src/hooks/useSessionStorage/useSessionStorage.test.ts +2 -6
  387. package/src/hooks/useSessionStorage/useSessionStorage.ts +4 -2
  388. package/src/hooks/useThrottledCallback/useThrottledCallback.ts +4 -3
  389. package/src/hooks/useWindowSize/useWindowSize.ts +4 -1
  390. package/src/lib/utils.ts +3 -3
  391. package/src/ui/accordion/accordion.tsx +6 -1
  392. package/src/ui/accordion/animated/accordion-content-animated.tsx +1 -4
  393. package/src/ui/accordion/animated/index.ts +4 -1
  394. package/src/ui/accordion/animated/types.ts +6 -2
  395. package/src/ui/accordion/variants.ts +9 -9
  396. package/src/ui/alert/alert-base.tsx +6 -1
  397. package/src/ui/alert/alert.tsx +2 -2
  398. package/src/ui/alert/animated/index.ts +2 -2
  399. package/src/ui/alert/animated/types.ts +1 -1
  400. package/src/ui/alert/types.ts +1 -3
  401. package/src/ui/alert/variants.ts +9 -9
  402. package/src/ui/avatar/animated/index.ts +6 -2
  403. package/src/ui/avatar/avatar-base.tsx +2 -7
  404. package/src/ui/avatar/avatar.tsx +6 -1
  405. package/src/ui/avatar/variants.ts +23 -11
  406. package/src/ui/badge/animated/index.ts +6 -2
  407. package/src/ui/badge/animated/types.ts +1 -2
  408. package/src/ui/badge/variants.ts +9 -11
  409. package/src/ui/breadcrumb/breadcrumb.tsx +10 -2
  410. package/src/ui/breadcrumb/types.ts +20 -9
  411. package/src/ui/breadcrumb/variants.ts +34 -38
  412. package/src/ui/buttons/animated/index.ts +7 -1
  413. package/src/ui/buttons/animated/types.ts +0 -1
  414. package/src/ui/buttons/button.test.tsx +1 -1
  415. package/src/ui/buttons/types.ts +4 -5
  416. package/src/ui/buttons/variants.ts +9 -9
  417. package/src/ui/card/animated/types.ts +0 -1
  418. package/src/ui/card/card-base.tsx +1 -6
  419. package/src/ui/card/card.test.tsx +7 -3
  420. package/src/ui/card/card.tsx +1 -3
  421. package/src/ui/card/index.ts +7 -3
  422. package/src/ui/card/types.ts +1 -1
  423. package/src/ui/card/variants.ts +9 -9
  424. package/src/ui/divider/animated/index.ts +5 -1
  425. package/src/ui/divider/animated/types.ts +4 -2
  426. package/src/ui/divider/divider-base.tsx +0 -1
  427. package/src/ui/drawer/animated/drawer-content-animated.tsx +2 -6
  428. package/src/ui/drawer/animated/index.ts +6 -1
  429. package/src/ui/drawer/types.ts +11 -3
  430. package/src/ui/drawer/variants.ts +18 -18
  431. package/src/ui/dropdown/dropdown.tsx +8 -1
  432. package/src/ui/dropdown/variants.ts +18 -18
  433. package/src/ui/empty-state/animated/empty-state-animated.tsx +2 -4
  434. package/src/ui/empty-state/animated/index.ts +8 -5
  435. package/src/ui/empty-state/empty-state-base.tsx +5 -1
  436. package/src/ui/empty-state/index.ts +7 -1
  437. package/src/ui/file-upload/file-upload.tsx +3 -7
  438. package/src/ui/file-upload/variants.ts +18 -9
  439. package/src/ui/inputs/animated/index.ts +7 -1
  440. package/src/ui/inputs/input.test.tsx +5 -1
  441. package/src/ui/inputs/types.ts +4 -1
  442. package/src/ui/modal/animated/index.ts +6 -1
  443. package/src/ui/modal/index.ts +1 -1
  444. package/src/ui/modal/modal-base.tsx +0 -1
  445. package/src/ui/modal/modal.test.tsx +9 -7
  446. package/src/ui/modal/modal.tsx +1 -1
  447. package/src/ui/modal/types.ts +10 -2
  448. package/src/ui/modal/variants.ts +18 -18
  449. package/src/ui/pagination/variants.ts +9 -9
  450. package/src/ui/progress/animated/progress-animated.tsx +1 -2
  451. package/src/ui/progress/animated/types.ts +1 -1
  452. package/src/ui/progress/index.ts +12 -2
  453. package/src/ui/progress/progress-base.tsx +2 -2
  454. package/src/ui/progress/progress.test.tsx +1 -3
  455. package/src/ui/progress/progress.tsx +2 -6
  456. package/src/ui/search/filter-search-suggestions.test.ts +46 -12
  457. package/src/ui/search/filter-search-suggestions.ts +3 -3
  458. package/src/ui/search/search-bar.tsx +22 -27
  459. package/src/ui/search/search-suggestion-list.tsx +14 -5
  460. package/src/ui/search/search-suggestion-utils.ts +4 -1
  461. package/src/ui/select/select.tsx +1 -2
  462. package/src/ui/select/variants.ts +66 -65
  463. package/src/ui/skeleton/animated/skeleton-animated.tsx +25 -4
  464. package/src/ui/skeleton/animated/types.ts +0 -1
  465. package/src/ui/skeleton/skeleton-base.tsx +3 -3
  466. package/src/ui/skeleton/variants.ts +9 -9
  467. package/src/ui/slider/slider.test.tsx +3 -13
  468. package/src/ui/slider/types.ts +1 -1
  469. package/src/ui/slider/variants.ts +1 -1
  470. package/src/ui/spinner/animated/spinner.tsx +2 -3
  471. package/src/ui/stepper/stepper.test.tsx +3 -3
  472. package/src/ui/stepper/stepper.tsx +1 -6
  473. package/src/ui/stepper/types.ts +4 -2
  474. package/src/ui/stepper/variants.ts +30 -15
  475. package/src/ui/table/animated/index.ts +6 -4
  476. package/src/ui/table/table-base.tsx +1 -6
  477. package/src/ui/tabs/animated/animations.ts +5 -1
  478. package/src/ui/tabs/animated/index.ts +7 -1
  479. package/src/ui/tabs/animated/types.ts +3 -3
  480. package/src/ui/tabs/index.ts +8 -1
  481. package/src/ui/tabs/tabs.tsx +8 -1
  482. package/src/ui/tabs/variants.ts +9 -9
  483. package/src/ui/toast/animated/toast-animated.tsx +3 -1
  484. package/src/ui/toast/animated/types.ts +1 -1
  485. package/src/ui/toast/types.ts +3 -1
  486. package/src/ui/toast/variants.ts +9 -9
  487. package/src/ui/toggle/animated/index.ts +7 -4
  488. package/src/ui/toggle/animated/types.ts +4 -2
  489. package/src/ui/toggle/index.ts +5 -1
  490. package/src/ui/toggle/toggle-base.tsx +4 -5
  491. package/src/ui/tooltip/animated/animations.ts +0 -1
  492. package/src/ui/tooltip/animated/types.ts +0 -1
  493. package/src/ui/tooltip/tooltip-base.tsx +1 -2
  494. package/src/ui/tooltip/variants.ts +9 -11
  495. package/src/ui/typography/blockquote-base.tsx +1 -8
  496. package/src/ui/typography/code-block-base.tsx +19 -24
  497. package/src/ui/typography/heading-base.tsx +35 -38
  498. package/src/ui/typography/inline-code-base.tsx +15 -15
  499. package/src/ui/typography/list-base.tsx +1 -9
  500. package/src/ui/typography/text-base.tsx +32 -32
  501. package/src/ui/typography/types.ts +4 -17
  502. package/src/ui/typography/typography.test.tsx +3 -1
  503. package/src/ui/typography/variants.ts +16 -8
  504. package/dist/chunk-2P3UU2J3.mjs.map +0 -1
  505. package/dist/chunk-4B7KGBQB.js.map +0 -1
  506. package/dist/chunk-4E66ICIR.mjs.map +0 -1
  507. package/dist/chunk-4U6FOCFK.js.map +0 -1
  508. package/dist/chunk-6I7X5BF2.js.map +0 -1
  509. package/dist/chunk-BSWYZTYK.js.map +0 -1
  510. package/dist/chunk-C2FCPQTO.js.map +0 -1
  511. package/dist/chunk-CY5BQKRZ.mjs.map +0 -1
  512. package/dist/chunk-EQSSYK27.mjs.map +0 -1
  513. package/dist/chunk-FLILFCQE.mjs.map +0 -1
  514. package/dist/chunk-FT2LMA66.mjs.map +0 -1
  515. package/dist/chunk-JF3FKUUP.mjs.map +0 -1
  516. package/dist/chunk-LVUPECBT.mjs.map +0 -1
  517. package/dist/chunk-MQZB5EPD.js.map +0 -1
  518. package/dist/chunk-NX3IHMT7.js.map +0 -1
  519. package/dist/chunk-OG2WM5YK.mjs.map +0 -1
  520. package/dist/chunk-OXS6UJUG.mjs.map +0 -1
  521. package/dist/chunk-U4YQCAXW.js.map +0 -1
  522. package/dist/chunk-UBFKTC2P.mjs.map +0 -1
  523. package/dist/chunk-UOFTZKMM.js.map +0 -1
  524. package/dist/chunk-UP6S75V5.js.map +0 -1
  525. package/dist/chunk-VSKL5LOB.js.map +0 -1
  526. package/dist/chunk-WP7GYBRI.js.map +0 -1
  527. package/dist/chunk-XIXF7UVM.mjs.map +0 -1
  528. package/dist/chunk-Y4EDWZKH.js.map +0 -1
  529. package/dist/chunk-Y4IFVO46.mjs.map +0 -1
@@ -41,23 +41,23 @@ export const toastRootVariants = cva(
41
41
  amber: "border-amber-600 bg-amber-950/70 backdrop-blur-xl",
42
42
  violet: "border-violet-600 bg-violet-950/70 backdrop-blur-xl",
43
43
  "gradient-blue":
44
- "border-gradient-to-r from-blue-600 to-purple-600 bg-gradient-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl",
44
+ "border-blue-600 bg-linear-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl",
45
45
  "gradient-green":
46
- "border-gradient-to-r from-green-600 to-lime-600 bg-gradient-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl",
46
+ "border-green-600 bg-linear-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl",
47
47
  "gradient-red":
48
- "border-gradient-to-r from-red-600 to-pink-600 bg-gradient-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl",
48
+ "border-red-600 bg-linear-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl",
49
49
  "gradient-yellow":
50
- "border-gradient-to-r from-yellow-600 to-orange-600 bg-gradient-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl",
50
+ "border-yellow-600 bg-linear-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl",
51
51
  "gradient-purple":
52
- "border-gradient-to-r from-purple-600 to-pink-600 bg-gradient-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl",
52
+ "border-purple-600 bg-linear-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl",
53
53
  "gradient-teal":
54
- "border-gradient-to-r from-teal-600 to-cyan-600 bg-gradient-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl",
54
+ "border-teal-600 bg-linear-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl",
55
55
  "gradient-indigo":
56
- "border-gradient-to-r from-indigo-600 to-purple-600 bg-gradient-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl",
56
+ "border-indigo-600 bg-linear-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl",
57
57
  "gradient-pink":
58
- "border-gradient-to-r from-pink-600 to-rose-600 bg-gradient-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl",
58
+ "border-pink-600 bg-linear-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl",
59
59
  "gradient-orange":
60
- "border-gradient-to-r from-orange-600 to-red-600 bg-gradient-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl",
60
+ "border-orange-600 bg-linear-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl",
61
61
  },
62
62
  size: {
63
63
  sm: "p-3 text-xs",
@@ -1,7 +1,10 @@
1
1
  "use client";
2
2
 
3
3
  export { ToggleAnimated } from "./toggle-animated";
4
- export type { ToggleAnimatedProps, ToggleAnimation, ToggleAnimationPresets, ToggleThumbPreset} from "./types";
5
- export {
6
- toggleThumbAnimationPresets,
7
- } from "./animations";
4
+ export type {
5
+ ToggleAnimatedProps,
6
+ ToggleAnimation,
7
+ ToggleAnimationPresets,
8
+ ToggleThumbPreset,
9
+ } from "./types";
10
+ export { toggleThumbAnimationPresets } from "./animations";
@@ -3,11 +3,13 @@ import type { ToggleProps } from "../types";
3
3
 
4
4
  export type ToggleAnimation = "none" | "spring";
5
5
 
6
- export type ToggleThumbPreset = Pick<HTMLMotionProps<"span">, "transition" | "layout">;
6
+ export type ToggleThumbPreset = Pick<
7
+ HTMLMotionProps<"span">,
8
+ "transition" | "layout"
9
+ >;
7
10
 
8
11
  export type ToggleAnimationPresets = Record<ToggleAnimation, ToggleThumbPreset>;
9
12
 
10
-
11
13
  export type ToggleAnimatedProps = ToggleProps & {
12
14
  animation?: ToggleAnimation;
13
15
  };
@@ -1,5 +1,9 @@
1
1
  "use client";
2
2
 
3
3
  export { Toggle } from "./toggle";
4
- export type { ToggleProps, ToggleTrackVariantProps, ToggleThumbVariantProps } from "./types";
4
+ export type {
5
+ ToggleProps,
6
+ ToggleTrackVariantProps,
7
+ ToggleThumbVariantProps,
8
+ } from "./types";
5
9
  export { toggleThumbVariants, toggleTrackVariants } from "./variants";
@@ -57,9 +57,8 @@ export function ToggleBase(props: ToggleProps) {
57
57
 
58
58
  const thumbShiftPx = size === "sm" ? 14 : size === "lg" ? 26 : 20;
59
59
  const labeledByChildren = hasToggleLabelChildren(children);
60
- const labeling =
61
- labeledByChildren ?
62
- {
60
+ const labeling = labeledByChildren
61
+ ? {
63
62
  "aria-labelledby": toggleLabelId,
64
63
  }
65
64
  : {
@@ -84,11 +83,11 @@ export function ToggleBase(props: ToggleProps) {
84
83
  }}
85
84
  {...rest}
86
85
  >
87
- {labeledByChildren ?
86
+ {labeledByChildren ? (
88
87
  <span id={toggleLabelId} className="sr-only">
89
88
  {children}
90
89
  </span>
91
- : null}
90
+ ) : null}
92
91
  <span
93
92
  className={cn(
94
93
  toggleThumbVariants({ size }),
@@ -1,6 +1,5 @@
1
1
  import type { TooltipAnimationPresets } from "./types";
2
2
 
3
-
4
3
  export const tooltipAnimationPresets: TooltipAnimationPresets = {
5
4
  none: {},
6
5
  fade: {
@@ -13,7 +13,6 @@ export type TooltipAnimationPresets = Record<
13
13
  TooltipPresetMotionProps
14
14
  >;
15
15
 
16
-
17
16
  export type TooltipContentAnimatedProps = TooltipContentProps & {
18
17
  animation?: TooltipAnimation;
19
18
  };
@@ -139,8 +139,7 @@ export const TooltipTrigger = ({
139
139
  };
140
140
 
141
141
  const childList = Children.toArray(children).filter(
142
- (node) =>
143
- node !== null && node !== undefined && typeof node !== "boolean",
142
+ (node) => node !== null && node !== undefined && typeof node !== "boolean",
144
143
  );
145
144
 
146
145
  const soleCandidate =
@@ -20,22 +20,20 @@ export const tooltipVariants = cva(
20
20
  orange: "bg-orange-600 text-white",
21
21
  green: "bg-green-600 text-white",
22
22
  "gradient-blue":
23
- "bg-gradient-to-r from-blue-600 to-purple-600 text-white",
23
+ "bg-linear-to-r from-blue-600 to-purple-600 text-white",
24
24
  "gradient-green":
25
- "bg-gradient-to-r from-green-600 to-lime-600 text-white",
26
- "gradient-red": "bg-gradient-to-r from-red-600 to-pink-600 text-white",
25
+ "bg-linear-to-r from-green-600 to-lime-600 text-white",
26
+ "gradient-red": "bg-linear-to-r from-red-600 to-pink-600 text-white",
27
27
  "gradient-yellow":
28
- "bg-gradient-to-r from-yellow-600 to-orange-600 text-white",
28
+ "bg-linear-to-r from-yellow-600 to-orange-600 text-white",
29
29
  "gradient-purple":
30
- "bg-gradient-to-r from-purple-600 to-pink-600 text-white",
31
- "gradient-teal":
32
- "bg-gradient-to-r from-teal-600 to-cyan-600 text-white",
30
+ "bg-linear-to-r from-purple-600 to-pink-600 text-white",
31
+ "gradient-teal": "bg-linear-to-r from-teal-600 to-cyan-600 text-white",
33
32
  "gradient-indigo":
34
- "bg-gradient-to-r from-indigo-600 to-purple-600 text-white",
35
- "gradient-pink":
36
- "bg-gradient-to-r from-pink-600 to-rose-600 text-white",
33
+ "bg-linear-to-r from-indigo-600 to-purple-600 text-white",
34
+ "gradient-pink": "bg-linear-to-r from-pink-600 to-rose-600 text-white",
37
35
  "gradient-orange":
38
- "bg-gradient-to-r from-orange-600 to-red-600 text-white",
36
+ "bg-linear-to-r from-orange-600 to-red-600 text-white",
39
37
  },
40
38
  size: {
41
39
  sm: "text-xs px-2 py-1",
@@ -6,14 +6,7 @@ import type { BlockquoteProps } from "./types";
6
6
  import { typographyToneVariants } from "./variants";
7
7
 
8
8
  export const BlockquoteBase = (props: BlockquoteProps) => {
9
- const {
10
- tone,
11
- attribution,
12
- className,
13
- children,
14
- ref,
15
- ...rest
16
- } = props;
9
+ const { tone, attribution, className, children, ref, ...rest } = props;
17
10
 
18
11
  return (
19
12
  <blockquote
@@ -6,32 +6,27 @@ import type { CodeBlockProps } from "./types";
6
6
  import { typographyToneVariants } from "./variants";
7
7
 
8
8
  export const CodeBlockBase = (props: CodeBlockProps) => {
9
- const {
10
- tone,
11
- language,
12
- className,
13
- children,
14
- ref,
15
- ...rest
16
- } = props;
9
+ const { tone, language, className, children, ref, ...rest } = props;
17
10
 
18
- const ariaLabel = language ? `Code sample (${language})` : "Code sample";
11
+ const ariaLabel = language ? `Code sample (${language})` : "Code sample";
19
12
 
20
- return (
21
- <pre
22
- ref={ref}
23
- data-slot="typography-code-block"
24
- aria-label={ariaLabel}
25
- className={cn(
26
- typographyToneVariants({ tone }),
27
- "overflow-x-auto rounded-xl border border-white/10 bg-slate-950/80 p-4 text-sm leading-relaxed shadow-inner shadow-slate-950/40",
28
- className,
29
- )}
30
- {...rest}
31
- >
32
- <code className="font-mono text-[0.95em] whitespace-pre-wrap wrap-break-word">{children}</code>
33
- </pre>
34
- );
13
+ return (
14
+ <pre
15
+ ref={ref}
16
+ data-slot="typography-code-block"
17
+ aria-label={ariaLabel}
18
+ className={cn(
19
+ typographyToneVariants({ tone }),
20
+ "overflow-x-auto rounded-xl border border-white/10 bg-slate-950/80 p-4 text-sm leading-relaxed shadow-inner shadow-slate-950/40",
21
+ className,
22
+ )}
23
+ {...rest}
24
+ >
25
+ <code className="font-mono text-[0.95em] whitespace-pre-wrap wrap-break-word">
26
+ {children}
27
+ </code>
28
+ </pre>
29
+ );
35
30
  };
36
31
 
37
32
  CodeBlockBase.displayName = "CodeBlock";
@@ -3,10 +3,7 @@ import { forwardRef } from "react";
3
3
  import { cn } from "../../lib/utils";
4
4
 
5
5
  import type { HeadingProps } from "./types";
6
- import {
7
- headingLevelVariants,
8
- typographyToneVariants,
9
- } from "./variants";
6
+ import { headingLevelVariants, typographyToneVariants } from "./variants";
10
7
 
11
8
  const HEADING_TAGS = {
12
9
  1: "h1",
@@ -18,42 +15,42 @@ const HEADING_TAGS = {
18
15
  } as const;
19
16
 
20
17
  export const HeadingBase = (props: HeadingProps) => {
21
- const {
22
- level,
23
- displayLevel,
24
- tone,
25
- bold,
26
- italic,
27
- underline,
28
- strikethrough,
29
- ref,
30
- className,
31
- children,
32
- ...rest
33
- } = props;
18
+ const {
19
+ level,
20
+ displayLevel,
21
+ tone,
22
+ bold,
23
+ italic,
24
+ underline,
25
+ strikethrough,
26
+ ref,
27
+ className,
28
+ children,
29
+ ...rest
30
+ } = props;
34
31
 
35
- const Tag = HEADING_TAGS[level];
36
- const scale = displayLevel ?? level;
32
+ const Tag = HEADING_TAGS[level];
33
+ const scale = displayLevel ?? level;
37
34
 
38
- return (
39
- <Tag
40
- ref={ref}
41
- data-slot="typography-heading"
42
- data-level={level}
43
- className={cn(
44
- typographyToneVariants({ tone }),
45
- headingLevelVariants({ level: scale }),
46
- bold && "font-bold",
47
- italic && "italic",
48
- underline && "underline underline-offset-4",
49
- strikethrough && "line-through",
50
- className,
51
- )}
52
- {...rest}
53
- >
54
- {children}
55
- </Tag>
56
- );
35
+ return (
36
+ <Tag
37
+ ref={ref}
38
+ data-slot="typography-heading"
39
+ data-level={level}
40
+ className={cn(
41
+ typographyToneVariants({ tone }),
42
+ headingLevelVariants({ level: scale }),
43
+ bold && "font-bold",
44
+ italic && "italic",
45
+ underline && "underline underline-offset-4",
46
+ strikethrough && "line-through",
47
+ className,
48
+ )}
49
+ {...rest}
50
+ >
51
+ {children}
52
+ </Tag>
53
+ );
57
54
  };
58
55
 
59
56
  HeadingBase.displayName = "Heading";
@@ -6,22 +6,22 @@ import type { InlineCodeProps } from "./types";
6
6
  import { typographyToneVariants } from "./variants";
7
7
 
8
8
  export const InlineCodeBase = (props: InlineCodeProps) => {
9
- const { tone, className, children, ref, ...rest } = props;
9
+ const { tone, className, children, ref, ...rest } = props;
10
10
 
11
- return (
12
- <code
13
- ref={ref}
14
- data-slot="typography-inline-code"
15
- className={cn(
16
- typographyToneVariants({ tone }),
17
- "rounded-md border border-white/10 bg-white/6 px-1.5 py-0.5 font-mono text-[0.925em] font-normal",
18
- className,
19
- )}
20
- {...rest}
21
- >
22
- {children}
23
- </code>
24
- );
11
+ return (
12
+ <code
13
+ ref={ref}
14
+ data-slot="typography-inline-code"
15
+ className={cn(
16
+ typographyToneVariants({ tone }),
17
+ "rounded-md border border-white/10 bg-white/6 px-1.5 py-0.5 font-mono text-[0.925em] font-normal",
18
+ className,
19
+ )}
20
+ {...rest}
21
+ >
22
+ {children}
23
+ </code>
24
+ );
25
25
  };
26
26
 
27
27
  InlineCodeBase.displayName = "InlineCode";
@@ -9,15 +9,7 @@ import {
9
9
 
10
10
  export function ListBase(props: ListProps) {
11
11
  if ("ordered" in props && props.ordered === true) {
12
- const {
13
- tone,
14
- className,
15
- children,
16
- ref,
17
- ordered,
18
- marker,
19
- ...rest
20
- } = props;
12
+ const { tone, className, children, ref, ordered, marker, ...rest } = props;
21
13
 
22
14
  void ordered;
23
15
  void marker;
@@ -4,40 +4,40 @@ import type { TextProps } from "./types";
4
4
  import { textSizeVariants, typographyToneVariants } from "./variants";
5
5
 
6
6
  export const TextBase = (props: TextProps) => {
7
- const {
8
- as = "p",
9
- size = "base",
10
- tone,
11
- bold,
12
- italic,
13
- underline,
14
- strikethrough,
15
- highlight,
16
- className,
17
- children,
18
- ...rest
19
- } = props;
7
+ const {
8
+ as = "p",
9
+ size = "base",
10
+ tone,
11
+ bold,
12
+ italic,
13
+ underline,
14
+ strikethrough,
15
+ highlight,
16
+ className,
17
+ children,
18
+ ...rest
19
+ } = props;
20
20
 
21
- const Component = as;
21
+ const Component = as;
22
22
 
23
- return (
24
- <Component
25
- data-slot="typography-text"
26
- className={cn(
27
- typographyToneVariants({ tone }),
28
- textSizeVariants({ size }),
29
- bold && "font-semibold",
30
- italic && "italic",
31
- underline && "underline underline-offset-2",
32
- strikethrough && "line-through",
33
- highlight && "rounded bg-amber-400/15 px-0.5",
34
- className,
35
- )}
36
- {...rest}
37
- >
38
- {children}
39
- </Component>
40
- );
23
+ return (
24
+ <Component
25
+ data-slot="typography-text"
26
+ className={cn(
27
+ typographyToneVariants({ tone }),
28
+ textSizeVariants({ size }),
29
+ bold && "font-semibold",
30
+ italic && "italic",
31
+ underline && "underline underline-offset-2",
32
+ strikethrough && "line-through",
33
+ highlight && "rounded bg-amber-400/15 px-0.5",
34
+ className,
35
+ )}
36
+ {...rest}
37
+ >
38
+ {children}
39
+ </Component>
40
+ );
41
41
  };
42
42
 
43
43
  TextBase.displayName = "Text";
@@ -1,9 +1,5 @@
1
1
  import type { VariantProps } from "class-variance-authority";
2
- import type {
3
- ComponentProps,
4
- HTMLAttributes,
5
- RefObject,
6
- } from "react";
2
+ import type { ComponentProps, HTMLAttributes, RefObject } from "react";
7
3
 
8
4
  import type {
9
5
  textSizeVariants,
@@ -17,10 +13,7 @@ export type TypographyTone = NonNullable<
17
13
 
18
14
  export type HeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
19
15
 
20
- export type HeadingProps = Omit<
21
- ComponentProps<"h1">,
22
- "color"
23
- > & {
16
+ export type HeadingProps = Omit<ComponentProps<"h1">, "color"> & {
24
17
  level: HeadingLevel;
25
18
  /** Visual scale; defaults to `level`. */
26
19
  displayLevel?: HeadingLevel;
@@ -72,17 +65,11 @@ export type BlockquoteProps = ComponentProps<"blockquote"> & {
72
65
  ref?: RefObject<HTMLQuoteElement>;
73
66
  };
74
67
 
75
- export type InlineCodeProps = Omit<
76
- ComponentProps<"code">,
77
- "color"
78
- > & {
68
+ export type InlineCodeProps = Omit<ComponentProps<"code">, "color"> & {
79
69
  tone?: TypographyTone;
80
70
  };
81
71
 
82
- export type CodeBlockProps = Omit<
83
- ComponentProps<"pre">,
84
- "color"
85
- > & {
72
+ export type CodeBlockProps = Omit<ComponentProps<"pre">, "color"> & {
86
73
  tone?: TypographyTone;
87
74
  /** Hint for stacked highlighting stacks / aria-labels. */
88
75
  language?: string;
@@ -64,7 +64,9 @@ describe("Typography primitives", () => {
64
64
 
65
65
  it("should render InlineCode with monospace styling token", () => {
66
66
  const { container } = render(<InlineCode>npm i</InlineCode>);
67
- const code = container.querySelector('[data-slot="typography-inline-code"]');
67
+ const code = container.querySelector(
68
+ '[data-slot="typography-inline-code"]',
69
+ );
68
70
  expect(code?.tagName).toBe("CODE");
69
71
  expect(code?.className).toMatch(/font-mono/);
70
72
  });
@@ -14,14 +14,22 @@ export const typographyToneVariants = cva("", {
14
14
  success: "text-emerald-300 border-emerald-300/40",
15
15
  warning: "text-amber-300 border-amber-300/40",
16
16
  error: "text-red-300 border-red-300/40",
17
- "gradient-pink-violet": "bg-linear-to-r from-pink-400 to-violet-400 bg-clip-text text-transparent",
18
- "gradient-cyan-violet": "bg-linear-to-r from-cyan-400 to-violet-400 bg-clip-text text-transparent",
19
- "gradient-cyan-blue": "bg-linear-to-r from-cyan-400 to-blue-400 bg-clip-text text-transparent",
20
- "gradient-cyan-green": "bg-linear-to-r from-cyan-400 to-green-400 bg-clip-text text-transparent",
21
- "gradient-cyan-orange": "bg-linear-to-r from-cyan-400 to-orange-400 bg-clip-text text-transparent",
22
- "gradient-cyan-red": "bg-linear-to-r from-cyan-400 to-red-400 bg-clip-text text-transparent",
23
- "gradient-cyan-purple": "bg-linear-to-r from-cyan-400 to-purple-400 bg-clip-text text-transparent",
24
- "gradient-cyan-pink": "bg-linear-to-r from-cyan-400 to-pink-400 bg-clip-text text-transparent",
17
+ "gradient-pink-violet":
18
+ "bg-linear-to-r from-pink-400 to-violet-400 bg-clip-text text-transparent",
19
+ "gradient-cyan-violet":
20
+ "bg-linear-to-r from-cyan-400 to-violet-400 bg-clip-text text-transparent",
21
+ "gradient-cyan-blue":
22
+ "bg-linear-to-r from-cyan-400 to-blue-400 bg-clip-text text-transparent",
23
+ "gradient-cyan-green":
24
+ "bg-linear-to-r from-cyan-400 to-green-400 bg-clip-text text-transparent",
25
+ "gradient-cyan-orange":
26
+ "bg-linear-to-r from-cyan-400 to-orange-400 bg-clip-text text-transparent",
27
+ "gradient-cyan-red":
28
+ "bg-linear-to-r from-cyan-400 to-red-400 bg-clip-text text-transparent",
29
+ "gradient-cyan-purple":
30
+ "bg-linear-to-r from-cyan-400 to-purple-400 bg-clip-text text-transparent",
31
+ "gradient-cyan-pink":
32
+ "bg-linear-to-r from-cyan-400 to-pink-400 bg-clip-text text-transparent",
25
33
  },
26
34
  },
27
35
  defaultVariants: {
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/ui/skeleton/variants.ts","../src/ui/skeleton/skeleton-base.tsx"],"names":[],"mappings":"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","file":"chunk-2P3UU2J3.mjs","sourcesContent":["import { cva } from \"class-variance-authority\";\n\nconst shimmerLayer =\n \"[background-size:220%_100%] [background-repeat:no-repeat] [background-position:100%_0%]\";\n\nexport const skeletonShimmerGradientClasses = {\n default: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(255,255,255,0.04),rgba(255,255,255,0.22),rgba(255,255,255,0.04))]`,\n subtle: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(255,255,255,0.03),rgba(255,255,255,0.14),rgba(255,255,255,0.03))]`,\n muted: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(255,255,255,0.02),rgba(255,255,255,0.1),rgba(255,255,255,0.02))]`,\n sky: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(56,189,248,0.1),rgba(56,189,248,0.42),rgba(56,189,248,0.1))]`,\n rose: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(251,113,133,0.1),rgba(251,113,133,0.42),rgba(251,113,133,0.1))]`,\n purple: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(192,132,252,0.1),rgba(192,132,252,0.42),rgba(192,132,252,0.1))]`,\n pink: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(244,114,182,0.1),rgba(244,114,182,0.42),rgba(244,114,182,0.1))]`,\n orange: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(251,146,60,0.1),rgba(251,146,60,0.42),rgba(251,146,60,0.1))]`,\n yellow: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(250,204,21,0.12),rgba(250,204,21,0.4),rgba(250,204,21,0.12))]`,\n teal: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(45,212,191,0.1),rgba(45,212,191,0.42),rgba(45,212,191,0.1))]`,\n indigo: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(129,140,248,0.1),rgba(129,140,248,0.42),rgba(129,140,248,0.1))]`,\n emerald: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(52,211,153,0.1),rgba(52,211,153,0.42),rgba(52,211,153,0.1))]`,\n gray: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(161,161,170,0.1),rgba(161,161,170,0.38),rgba(161,161,170,0.1))]`,\n amber: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(251,191,36,0.12),rgba(251,191,36,0.42),rgba(251,191,36,0.12))]`,\n violet: `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(167,139,250,0.1),rgba(167,139,250,0.42),rgba(167,139,250,0.1))]`,\n \"gradient-blue\": `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(100,149,237,0.1),rgba(100,149,237,0.42),rgba(100,149,237,0.1))]`,\n \"gradient-green\": `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(52,211,153,0.1),rgba(52,211,153,0.42),rgba(52,211,153,0.1))]`,\n \"gradient-red\": `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(239,68,68,0.1),rgba(239,68,68,0.42),rgba(239,68,68,0.1))]`,\n \"gradient-yellow\": `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(250,204,21,0.12),rgba(250,204,21,0.42),rgba(250,204,21,0.12))]`,\n \"gradient-purple\": `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(167,139,250,0.1),rgba(167,139,250,0.42),rgba(167,139,250,0.1))]`,\n \"gradient-teal\": `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(45,212,191,0.1),rgba(45,212,191,0.42),rgba(45,212,191,0.1))]`,\n \"gradient-indigo\": `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(129,140,248,0.1),rgba(129,140,248,0.42),rgba(129,140,248,0.1))]`,\n \"gradient-pink\": `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(244,114,182,0.1),rgba(244,114,182,0.42),rgba(244,114,182,0.1))]`,\n \"gradient-orange\": `${shimmerLayer} [background-image:linear-gradient(90deg,rgba(251,146,60,0.1),rgba(251,146,60,0.42),rgba(251,146,60,0.1))]`,\n} as const;\n\nexport type SkeletonShimmerTone = keyof typeof skeletonShimmerGradientClasses;\n\nexport const skeletonVariants = cva(\n \"relative overflow-hidden bg-white/10 text-transparent\",\n {\n variants: {\n appearance: {\n default: \"bg-white/10\",\n subtle: \"bg-white/[0.07]\",\n muted: \"bg-slate-800/80\",\n sky: \"bg-sky-500/10\",\n rose: \"bg-rose-500/10\",\n purple: \"bg-purple-500/10\",\n pink: \"bg-pink-500/10\",\n orange: \"bg-orange-500/10\",\n yellow: \"bg-yellow-500/10\",\n teal: \"bg-teal-500/10\",\n indigo: \"bg-indigo-500/10\",\n emerald: \"bg-emerald-500/10\",\n gray: \"bg-gray-500/10\",\n amber: \"bg-amber-500/10\",\n violet: \"bg-violet-500/10\",\n \"gradient-blue\": \"bg-gradient-to-r from-blue-600 to-purple-600\",\n \"gradient-green\": \"bg-gradient-to-r from-green-600 to-lime-600\",\n \"gradient-red\": \"bg-gradient-to-r from-red-600 to-pink-600\",\n \"gradient-yellow\": \"bg-gradient-to-r from-yellow-600 to-orange-600\",\n \"gradient-purple\": \"bg-gradient-to-r from-purple-600 to-pink-600\",\n \"gradient-teal\": \"bg-gradient-to-r from-teal-600 to-cyan-600\",\n \"gradient-indigo\": \"bg-gradient-to-r from-indigo-600 to-purple-600\",\n \"gradient-pink\": \"bg-gradient-to-r from-pink-600 to-rose-600\",\n \"gradient-orange\": \"bg-gradient-to-r from-orange-600 to-red-600\",\n },\n size: {\n sm: \"min-h-3\",\n md: \"min-h-4\",\n lg: \"min-h-6\",\n },\n rounded: {\n none: \"rounded-none\",\n sm: \"rounded-md\",\n md: \"rounded-lg\",\n lg: \"rounded-xl\",\n full: \"rounded-full\",\n },\n animation: {\n none: \"\",\n shimmer: \"\",\n pulse: \"\",\n },\n shimmerTone: {\n default: \"\",\n subtle: \"\",\n muted: \"\",\n sky: \"\",\n rose: \"\",\n purple: \"\",\n pink: \"\",\n orange: \"\",\n yellow: \"\",\n teal: \"\",\n indigo: \"\",\n emerald: \"\",\n gray: \"\",\n amber: \"\",\n violet: \"\",\n \"gradient-blue\": \"\",\n \"gradient-green\": \"\",\n \"gradient-red\": \"\",\n \"gradient-yellow\": \"\",\n \"gradient-purple\": \"\",\n \"gradient-teal\": \"\",\n \"gradient-indigo\": \"\",\n \"gradient-pink\": \"\",\n \"gradient-orange\": \"\",\n },\n },\n compoundVariants: [\n {\n animation: \"shimmer\",\n shimmerTone: \"default\",\n class: skeletonShimmerGradientClasses.default,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"muted\",\n class: skeletonShimmerGradientClasses.subtle,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"subtle\",\n class: skeletonShimmerGradientClasses.subtle,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"sky\",\n class: skeletonShimmerGradientClasses.sky,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"rose\",\n class: skeletonShimmerGradientClasses.rose,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"purple\",\n class: skeletonShimmerGradientClasses.purple,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"pink\",\n class: skeletonShimmerGradientClasses.pink,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"orange\",\n class: skeletonShimmerGradientClasses.orange,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"yellow\",\n class: skeletonShimmerGradientClasses.yellow,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"teal\",\n class: skeletonShimmerGradientClasses.teal,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"indigo\",\n class: skeletonShimmerGradientClasses.indigo,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"emerald\",\n class: skeletonShimmerGradientClasses.emerald,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"gray\",\n class: skeletonShimmerGradientClasses.gray,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"amber\",\n class: skeletonShimmerGradientClasses.amber,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"violet\",\n class: skeletonShimmerGradientClasses.violet,\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"gradient-blue\",\n class: skeletonShimmerGradientClasses[\"gradient-blue\"],\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"gradient-green\",\n class: skeletonShimmerGradientClasses[\"gradient-green\"],\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"gradient-red\",\n class: skeletonShimmerGradientClasses[\"gradient-red\"],\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"gradient-yellow\",\n class: skeletonShimmerGradientClasses[\"gradient-yellow\"],\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"gradient-purple\",\n class: skeletonShimmerGradientClasses[\"gradient-purple\"],\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"gradient-teal\",\n class: skeletonShimmerGradientClasses[\"gradient-teal\"],\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"gradient-indigo\",\n class: skeletonShimmerGradientClasses[\"gradient-indigo\"],\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"gradient-pink\",\n class: skeletonShimmerGradientClasses[\"gradient-pink\"],\n },\n {\n animation: \"shimmer\",\n shimmerTone: \"gradient-orange\",\n class: skeletonShimmerGradientClasses[\"gradient-orange\"],\n },\n {\n animation: \"pulse\",\n class: \"\",\n },\n ],\n defaultVariants: {\n appearance: \"default\",\n size: \"md\",\n rounded: \"md\",\n animation: \"shimmer\",\n shimmerTone: \"default\",\n },\n },\n);\n\nexport const skeletonTextLineVariants = cva(\"block w-full\", {\n variants: {\n size: {\n sm: \"h-2.5\",\n md: \"h-3\",\n lg: \"h-4\",\n },\n },\n defaultVariants: { size: \"md\" },\n});\n","\"use client\";\n\nimport { createContext, useContext, useMemo } from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport type {\n SkeletonAnimation,\n SkeletonAvatarProps,\n SkeletonButtonProps,\n SkeletonCardProps,\n SkeletonProps,\n SkeletonTextProps,\n} from \"./types\";\nimport { skeletonTextLineVariants, skeletonVariants } from \"./variants\";\n\nexport const SkeletonAnimationContext = createContext<\n SkeletonAnimation | undefined\n>(undefined);\n\nexport function useSkeletonAnimation(\n fallback: SkeletonAnimation,\n): SkeletonAnimation {\n const value = useContext(SkeletonAnimationContext);\n return value ?? fallback;\n}\n\nfunction skeletonMotionClass(animation: SkeletonAnimation): string {\n if (animation === \"none\") {\n return \"\";\n }\n return \"animate-pulse\";\n}\n\nexport function SkeletonBase(props: SkeletonProps) {\n const {\n className,\n appearance,\n size,\n rounded,\n animation = \"shimmer\",\n shimmerTone,\n busy,\n children,\n ref,\n as:Wrapper = \"div\",\n ...rest\n } = props;\n const ctx = useMemo(() => animation, [animation]);\n\n return (\n <SkeletonAnimationContext.Provider value={ctx}>\n <Wrapper\n ref={ref}\n data-slot=\"skeleton\"\n aria-hidden\n aria-busy={busy ? true : undefined}\n className={cn(\n skeletonVariants({\n appearance,\n size,\n rounded,\n animation,\n shimmerTone,\n }),\n skeletonMotionClass(animation),\n className,\n )}\n {...rest}\n >\n {children}\n </Wrapper>\n </SkeletonAnimationContext.Provider>\n );\n}\n\nSkeletonBase.displayName = \"Skeleton\";\n\nexport function SkeletonTextBase(props: SkeletonTextProps) {\n const {\n lines = 3,\n className,\n appearance,\n size,\n rounded,\n animation = \"shimmer\",\n shimmerTone,\n busy,\n ref,\n as:Wrapper = \"div\",\n } = props;\n const effectiveAnimation = useSkeletonAnimation(animation);\n const motionClass = skeletonMotionClass(effectiveAnimation);\n\n return (\n <div\n data-slot=\"skeleton-text\"\n className={cn(\"flex w-full flex-col gap-2\", className)}\n aria-hidden\n aria-busy={busy ? true : undefined}\n >\n {Array.from({ length: lines }).map((_, index) => (\n <Wrapper\n key={index}\n ref={index === 0 ? ref : undefined}\n className={cn(\n skeletonVariants({\n appearance,\n size,\n rounded,\n animation: effectiveAnimation,\n shimmerTone,\n }),\n skeletonTextLineVariants({ size }),\n index === lines - 1 ? \"w-3/5\" : \"w-full\",\n motionClass,\n )}\n />\n ))}\n </div>\n );\n}\n\nSkeletonTextBase.displayName = \"SkeletonText\";\n\nconst avatarSizeClass: Record<\n NonNullable<SkeletonAvatarProps[\"avatarSize\"]>,\n string\n> = {\n xs: \"size-6\",\n sm: \"size-8\",\n md: \"size-10\",\n lg: \"size-12\",\n xl: \"size-14\",\n \"2xl\": \"size-16\",\n};\n\nexport function SkeletonAvatarBase(props: SkeletonAvatarProps) {\n const {\n avatarSize = \"md\",\n className,\n appearance,\n size,\n rounded = \"full\",\n animation,\n shimmerTone,\n busy,\n ref,\n as:Wrapper = \"div\",\n ...rest\n } = props;\n const effectiveAnimation = useSkeletonAnimation(animation ?? \"shimmer\");\n const motionClass = skeletonMotionClass(effectiveAnimation);\n\n return (\n <Wrapper\n ref={ref}\n data-slot=\"skeleton-avatar\"\n aria-hidden\n aria-busy={busy ? true : undefined}\n className={cn(\n skeletonVariants({\n appearance,\n size,\n rounded,\n animation: effectiveAnimation,\n shimmerTone,\n }),\n avatarSizeClass[avatarSize],\n motionClass,\n className,\n )}\n {...rest}\n />\n );\n}\n\nSkeletonAvatarBase.displayName = \"SkeletonAvatar\";\n\nexport function SkeletonCardBase(props: SkeletonCardProps) {\n const {\n className,\n busy,\n animation = \"shimmer\",\n shimmerTone,\n appearance,\n size,\n rounded,\n ref,\n } = props;\n\n return (\n <div\n ref={ref as never}\n data-slot=\"skeleton-card\"\n className={cn(\"w-full max-w-sm\", className)}\n aria-busy={busy ? true : undefined}\n >\n <SkeletonBase\n rounded=\"lg\"\n animation={animation}\n shimmerTone={shimmerTone}\n appearance={appearance}\n size={size}\n busy={busy}\n className=\"flex flex-col gap-4 p-4\"\n >\n <div className=\"flex items-center gap-3\">\n <SkeletonAvatarBase\n appearance={appearance}\n size={size}\n animation={animation}\n shimmerTone={shimmerTone}\n rounded={rounded}\n />\n <div className=\"flex flex-1 flex-col gap-2\">\n <SkeletonTextBase\n lines={2}\n appearance={appearance}\n size={size}\n animation={animation}\n shimmerTone={shimmerTone}\n />\n </div>\n </div>\n <SkeletonTextBase\n lines={4}\n appearance={appearance}\n size={size}\n animation={animation}\n shimmerTone={shimmerTone}\n />\n </SkeletonBase>\n </div>\n );\n}\n\nSkeletonCardBase.displayName = \"SkeletonCard\";\n\nconst buttonHeight: Record<\n NonNullable<SkeletonButtonProps[\"buttonSize\"]>,\n string\n> = {\n sm: \"h-8 w-24\",\n md: \"h-10 w-32\",\n lg: \"h-12 w-40\",\n};\n\nexport function SkeletonButtonBase(props: SkeletonButtonProps) {\n const {\n buttonSize = \"md\",\n className,\n appearance,\n size,\n rounded = \"md\",\n animation,\n shimmerTone,\n busy,\n ref,\n ...rest\n } = props;\n const effectiveAnimation = useSkeletonAnimation(animation ?? \"shimmer\");\n const motionClass = skeletonMotionClass(effectiveAnimation);\n\n return (\n <div\n ref={ref}\n data-slot=\"skeleton-button\"\n aria-hidden\n aria-busy={busy ? true : undefined}\n className={cn(\n skeletonVariants({\n appearance,\n size,\n rounded,\n animation: effectiveAnimation,\n shimmerTone,\n }),\n buttonHeight[buttonSize],\n motionClass,\n className,\n )}\n {...rest}\n />\n );\n}\n\nSkeletonButtonBase.displayName = \"SkeletonButton\";\n"]}