@mdigital_ui/ui 0.3.7 → 0.3.9

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 (299) hide show
  1. package/dist/accordion/index.d.ts.map +1 -1
  2. package/dist/accordion/index.js +2 -2
  3. package/dist/badge/index.d.ts +1 -1
  4. package/dist/badge/index.d.ts.map +1 -1
  5. package/dist/badge/index.js +2 -2
  6. package/dist/breadcrumbs/index.js +5 -4
  7. package/dist/button/index.d.ts +9 -0
  8. package/dist/button/index.d.ts.map +1 -1
  9. package/dist/button/index.js +4 -3
  10. package/dist/button/types.d.ts +18 -0
  11. package/dist/button/types.d.ts.map +1 -1
  12. package/dist/card/index.d.ts +14 -14
  13. package/dist/card/index.d.ts.map +1 -1
  14. package/dist/card/index.js +2 -2
  15. package/dist/carousel/index.d.ts +1 -1
  16. package/dist/carousel/index.d.ts.map +1 -1
  17. package/dist/carousel/index.js +1 -1
  18. package/dist/cascader/index.js +2 -2
  19. package/dist/checkbox/index.js +2 -2
  20. package/dist/{chunk-7P3Q6H2V.js → chunk-2F5MMMVP.js} +4 -4
  21. package/dist/{chunk-7P3Q6H2V.js.map → chunk-2F5MMMVP.js.map} +1 -1
  22. package/dist/chunk-2TLOWZE4.js +689 -0
  23. package/dist/chunk-2TLOWZE4.js.map +1 -0
  24. package/dist/{chunk-ITCXCSUS.js → chunk-3BZE6BBJ.js} +9 -4
  25. package/dist/chunk-3BZE6BBJ.js.map +1 -0
  26. package/dist/{chunk-6QZFWSN7.js → chunk-3PWILVOE.js} +13 -6
  27. package/dist/chunk-3PWILVOE.js.map +1 -0
  28. package/dist/{chunk-M3AALH7G.js → chunk-4F7U5UPY.js} +16 -8
  29. package/dist/chunk-4F7U5UPY.js.map +1 -0
  30. package/dist/{chunk-QKSDVYKF.js → chunk-4FFVNUTK.js} +5 -8
  31. package/dist/chunk-4FFVNUTK.js.map +1 -0
  32. package/dist/{chunk-OV6K6GML.js → chunk-5QQH5LYU.js} +8 -8
  33. package/dist/chunk-5QQH5LYU.js.map +1 -0
  34. package/dist/{chunk-FCODTRKL.js → chunk-6BAP6QUT.js} +3 -3
  35. package/dist/{chunk-FCODTRKL.js.map → chunk-6BAP6QUT.js.map} +1 -1
  36. package/dist/chunk-6G3BMY4N.js +349 -0
  37. package/dist/chunk-6G3BMY4N.js.map +1 -0
  38. package/dist/{chunk-WMTEAMPB.js → chunk-6LYRMQOI.js} +83 -9
  39. package/dist/chunk-6LYRMQOI.js.map +1 -0
  40. package/dist/{chunk-DUNER5Q3.js → chunk-6YOOKE6C.js} +11 -6
  41. package/dist/chunk-6YOOKE6C.js.map +1 -0
  42. package/dist/chunk-764UKE6X.js +359 -0
  43. package/dist/chunk-764UKE6X.js.map +1 -0
  44. package/dist/{chunk-EGNF7BRT.js → chunk-C4SHFLFR.js} +3 -3
  45. package/dist/{chunk-EGNF7BRT.js.map → chunk-C4SHFLFR.js.map} +1 -1
  46. package/dist/{chunk-ZQTJBYKO.js → chunk-C5IGZLIT.js} +3 -3
  47. package/dist/{chunk-ZQTJBYKO.js.map → chunk-C5IGZLIT.js.map} +1 -1
  48. package/dist/{chunk-SX5UNM6C.js → chunk-CH3YMDCF.js} +6 -6
  49. package/dist/chunk-CH3YMDCF.js.map +1 -0
  50. package/dist/{chunk-I75ZSXD6.js → chunk-DUIL5BYS.js} +3 -3
  51. package/dist/{chunk-I75ZSXD6.js.map → chunk-DUIL5BYS.js.map} +1 -1
  52. package/dist/{chunk-ZPVBIQ2R.js → chunk-EHWXPH76.js} +3 -3
  53. package/dist/chunk-EHWXPH76.js.map +1 -0
  54. package/dist/{chunk-ZSS6E4T2.js → chunk-EPE3OODP.js} +31 -7
  55. package/dist/chunk-EPE3OODP.js.map +1 -0
  56. package/dist/{chunk-E222IQHF.js → chunk-ERRZ2CSG.js} +16 -8
  57. package/dist/chunk-ERRZ2CSG.js.map +1 -0
  58. package/dist/{chunk-GVEEUHM2.js → chunk-FAD45WRP.js} +7 -6
  59. package/dist/chunk-FAD45WRP.js.map +1 -0
  60. package/dist/{chunk-YPHVSPWM.js → chunk-FZSCLZF6.js} +5 -5
  61. package/dist/{chunk-YPHVSPWM.js.map → chunk-FZSCLZF6.js.map} +1 -1
  62. package/dist/{chunk-S2DZXTRN.js → chunk-GJPZOMFE.js} +8 -8
  63. package/dist/{chunk-S2DZXTRN.js.map → chunk-GJPZOMFE.js.map} +1 -1
  64. package/dist/{chunk-SB3JGUGE.js → chunk-GOLARX5K.js} +3 -3
  65. package/dist/{chunk-SB3JGUGE.js.map → chunk-GOLARX5K.js.map} +1 -1
  66. package/dist/{chunk-ZESEEYEJ.js → chunk-GVVP5TZM.js} +72 -231
  67. package/dist/chunk-GVVP5TZM.js.map +1 -0
  68. package/dist/{chunk-UK4RHCMM.js → chunk-H6G4BUPA.js} +99 -235
  69. package/dist/chunk-H6G4BUPA.js.map +1 -0
  70. package/dist/{chunk-MOQDO4XZ.js → chunk-HCOTO5WX.js} +3 -3
  71. package/dist/{chunk-MOQDO4XZ.js.map → chunk-HCOTO5WX.js.map} +1 -1
  72. package/dist/chunk-HECAAILV.js +94 -0
  73. package/dist/chunk-HECAAILV.js.map +1 -0
  74. package/dist/{chunk-OKCKLIFP.js → chunk-HK3NJMSY.js} +8 -6
  75. package/dist/chunk-HK3NJMSY.js.map +1 -0
  76. package/dist/{chunk-GGDDE7LC.js → chunk-HQLHE5RX.js} +3 -9
  77. package/dist/chunk-HQLHE5RX.js.map +1 -0
  78. package/dist/{chunk-56BHCAPI.js → chunk-I32ZQUYY.js} +6 -6
  79. package/dist/chunk-I32ZQUYY.js.map +1 -0
  80. package/dist/{chunk-D53OQERO.js → chunk-JWTWPZ32.js} +14 -6
  81. package/dist/chunk-JWTWPZ32.js.map +1 -0
  82. package/dist/{chunk-KYDQJSSW.js → chunk-KH577UDI.js} +46 -82
  83. package/dist/chunk-KH577UDI.js.map +1 -0
  84. package/dist/{chunk-XOIX5WIL.js → chunk-KJTMZJ7V.js} +6 -6
  85. package/dist/{chunk-XOIX5WIL.js.map → chunk-KJTMZJ7V.js.map} +1 -1
  86. package/dist/{chunk-XHDUO3UW.js → chunk-L5UYN5LX.js} +3 -3
  87. package/dist/{chunk-XHDUO3UW.js.map → chunk-L5UYN5LX.js.map} +1 -1
  88. package/dist/{chunk-DRCT6VZ7.js → chunk-N2WHJ3FI.js} +3 -3
  89. package/dist/{chunk-DRCT6VZ7.js.map → chunk-N2WHJ3FI.js.map} +1 -1
  90. package/dist/{chunk-ZHPYJTWP.js → chunk-O3V3BTIJ.js} +16 -6
  91. package/dist/chunk-O3V3BTIJ.js.map +1 -0
  92. package/dist/chunk-OFUPJH35.js +74 -0
  93. package/dist/chunk-OFUPJH35.js.map +1 -0
  94. package/dist/{chunk-6YVT3AL2.js → chunk-OLTQAMV2.js} +4 -5
  95. package/dist/chunk-OLTQAMV2.js.map +1 -0
  96. package/dist/chunk-ONGJXAYQ.js +144 -0
  97. package/dist/chunk-ONGJXAYQ.js.map +1 -0
  98. package/dist/{chunk-KJRKPYYZ.js → chunk-OQFYIKWR.js} +27 -25
  99. package/dist/chunk-OQFYIKWR.js.map +1 -0
  100. package/dist/{chunk-X5XIBIEF.js → chunk-PMA4VCAH.js} +3 -3
  101. package/dist/{chunk-X5XIBIEF.js.map → chunk-PMA4VCAH.js.map} +1 -1
  102. package/dist/chunk-POLVJ36Y.js +210 -0
  103. package/dist/chunk-POLVJ36Y.js.map +1 -0
  104. package/dist/{chunk-LK4EPTNG.js → chunk-POXI7JJ4.js} +27 -121
  105. package/dist/chunk-POXI7JJ4.js.map +1 -0
  106. package/dist/{chunk-L76WWJGR.js → chunk-R3TLU26W.js} +21 -33
  107. package/dist/chunk-R3TLU26W.js.map +1 -0
  108. package/dist/chunk-RFHTC6AH.js +250 -0
  109. package/dist/chunk-RFHTC6AH.js.map +1 -0
  110. package/dist/{chunk-IAQDQN6W.js → chunk-RPWYIGD3.js} +15 -36
  111. package/dist/chunk-RPWYIGD3.js.map +1 -0
  112. package/dist/{chunk-HXPMYGSR.js → chunk-T7RWQLUB.js} +4 -10
  113. package/dist/chunk-T7RWQLUB.js.map +1 -0
  114. package/dist/chunk-WRSG7WU5.js +278 -0
  115. package/dist/chunk-WRSG7WU5.js.map +1 -0
  116. package/dist/{chunk-ZYWDJMHF.js → chunk-X3YNHX77.js} +4 -4
  117. package/dist/{chunk-ZYWDJMHF.js.map → chunk-X3YNHX77.js.map} +1 -1
  118. package/dist/chunk-Y4XAXZHB.js +42 -0
  119. package/dist/chunk-Y4XAXZHB.js.map +1 -0
  120. package/dist/{chunk-JZ5F6XDO.js → chunk-YS5AIY4A.js} +3 -3
  121. package/dist/{chunk-JZ5F6XDO.js.map → chunk-YS5AIY4A.js.map} +1 -1
  122. package/dist/chunk-ZIYA7TGX.js +141 -0
  123. package/dist/chunk-ZIYA7TGX.js.map +1 -0
  124. package/dist/{chunk-QLUGKHAA.js → chunk-ZKEDJ536.js} +4 -4
  125. package/dist/{chunk-QLUGKHAA.js.map → chunk-ZKEDJ536.js.map} +1 -1
  126. package/dist/clipboard/index.d.ts.map +1 -1
  127. package/dist/clipboard/index.js +3 -2
  128. package/dist/collapse/index.js +2 -2
  129. package/dist/command/index.js +1 -1
  130. package/dist/context-menu/index.d.ts.map +1 -1
  131. package/dist/context-menu/index.js +2 -1
  132. package/dist/date-picker/index.d.ts.map +1 -1
  133. package/dist/date-picker/index.js +3 -3
  134. package/dist/date-picker/types.d.ts +0 -2
  135. package/dist/date-picker/types.d.ts.map +1 -1
  136. package/dist/dropdown/index.d.ts.map +1 -1
  137. package/dist/dropdown/index.js +4 -3
  138. package/dist/fetching-overlay/index.d.ts +1 -1
  139. package/dist/fetching-overlay/index.d.ts.map +1 -1
  140. package/dist/fetching-overlay/index.js +3 -3
  141. package/dist/float-input/index.js +3 -3
  142. package/dist/grid/index.d.ts +1 -1
  143. package/dist/grid/index.d.ts.map +1 -1
  144. package/dist/grid/index.js +1 -1
  145. package/dist/hooks/index.d.ts +6 -0
  146. package/dist/hooks/index.d.ts.map +1 -0
  147. package/dist/hooks/useControllable.d.ts +6 -0
  148. package/dist/hooks/useControllable.d.ts.map +1 -0
  149. package/dist/hooks/useDebounce.d.ts +2 -0
  150. package/dist/hooks/useDebounce.d.ts.map +1 -0
  151. package/dist/hooks/useMediaQuery.d.ts +2 -0
  152. package/dist/hooks/useMediaQuery.d.ts.map +1 -0
  153. package/dist/hooks/useRipple.d.ts +29 -0
  154. package/dist/hooks/useRipple.d.ts.map +1 -0
  155. package/dist/hooks/useThrottle.d.ts +2 -0
  156. package/dist/hooks/useThrottle.d.ts.map +1 -0
  157. package/dist/image/index.d.ts.map +1 -1
  158. package/dist/image/index.js +1 -1
  159. package/dist/image/types.d.ts +4 -0
  160. package/dist/image/types.d.ts.map +1 -1
  161. package/dist/index.d.ts +10 -7
  162. package/dist/index.d.ts.map +1 -1
  163. package/dist/index.js +114 -56
  164. package/dist/index.js.map +1 -1
  165. package/dist/input/index.d.ts.map +1 -1
  166. package/dist/input/index.js +3 -3
  167. package/dist/input-otp/index.js +1 -1
  168. package/dist/input-password/index.js +4 -4
  169. package/dist/kbd/index.js +2 -2
  170. package/dist/link/index.d.ts +1 -1
  171. package/dist/link/index.d.ts.map +1 -1
  172. package/dist/link/index.js +1 -1
  173. package/dist/menubar/index.js +3 -3
  174. package/dist/multi-select/index.d.ts.map +1 -1
  175. package/dist/multi-select/index.js +5 -3
  176. package/dist/multi-select/utils.d.ts.map +1 -1
  177. package/dist/navigation-menu/index.js +1 -1
  178. package/dist/notification/index.js +2 -2
  179. package/dist/number-input/index.d.ts.map +1 -1
  180. package/dist/number-input/index.js +4 -3
  181. package/dist/pagination/index.d.ts.map +1 -1
  182. package/dist/pagination/index.js +2 -1
  183. package/dist/popover/index.js +2 -2
  184. package/dist/progress/index.d.ts.map +1 -1
  185. package/dist/progress/index.js +1 -1
  186. package/dist/progress/styles.d.ts +39 -0
  187. package/dist/progress/styles.d.ts.map +1 -0
  188. package/dist/radio/index.d.ts.map +1 -1
  189. package/dist/radio/index.js +2 -2
  190. package/dist/select/index.d.ts.map +1 -1
  191. package/dist/select/index.js +5 -4
  192. package/dist/shared/useSelectBase.d.ts +56 -0
  193. package/dist/shared/useSelectBase.d.ts.map +1 -0
  194. package/dist/skeleton/index.js +2 -2
  195. package/dist/slider/index.d.ts.map +1 -1
  196. package/dist/slider/index.js +1 -1
  197. package/dist/spinner/index.d.ts +1 -1
  198. package/dist/spinner/index.d.ts.map +1 -1
  199. package/dist/spinner/index.js +2 -2
  200. package/dist/stepper/index.js +1 -1
  201. package/dist/switch/index.d.ts.map +1 -1
  202. package/dist/switch/index.js +2 -2
  203. package/dist/table/index.d.ts.map +1 -1
  204. package/dist/table/index.js +10 -9
  205. package/dist/table/variants.d.ts +0 -4
  206. package/dist/table/variants.d.ts.map +1 -1
  207. package/dist/tabs/index.d.ts.map +1 -1
  208. package/dist/tabs/index.js +2 -2
  209. package/dist/tabs/types.d.ts +4 -0
  210. package/dist/tabs/types.d.ts.map +1 -1
  211. package/dist/tag/index.d.ts +1 -1
  212. package/dist/tag/index.d.ts.map +1 -1
  213. package/dist/tag/index.js +2 -2
  214. package/dist/timeline/index.d.ts.map +1 -1
  215. package/dist/timeline/index.js +1 -1
  216. package/dist/toast/index.d.ts.map +1 -1
  217. package/dist/toast/index.js +2 -2
  218. package/dist/toggle/index.d.ts.map +1 -1
  219. package/dist/toggle/index.js +2 -1
  220. package/dist/toggle-group/index.d.ts.map +1 -1
  221. package/dist/toggle-group/index.js +2 -1
  222. package/dist/tooltip/index.js +2 -2
  223. package/dist/transfer/index.d.ts +0 -1
  224. package/dist/transfer/index.d.ts.map +1 -1
  225. package/dist/transfer/index.js +3 -3
  226. package/dist/tree/index.d.ts.map +1 -1
  227. package/dist/tree/index.js +1 -1
  228. package/dist/tree-select/index.js +4 -4
  229. package/dist/upload/index.d.ts.map +1 -1
  230. package/dist/upload/index.js +2 -1
  231. package/dist/variants.d.ts +44 -163
  232. package/dist/variants.d.ts.map +1 -1
  233. package/package.json +44 -231
  234. package/styles/global.css +327 -220
  235. package/styles/themes/dark.css +57 -44
  236. package/styles/themes/light.css +3 -3
  237. package/styles/themes/presets/corporate.css +32 -30
  238. package/styles/themes/presets/minimal.css +32 -30
  239. package/styles/themes/presets/vibrant.css +38 -36
  240. package/dist/chunk-2K7MDR7K.js +0 -212
  241. package/dist/chunk-2K7MDR7K.js.map +0 -1
  242. package/dist/chunk-2SYAIIJE.js +0 -143
  243. package/dist/chunk-2SYAIIJE.js.map +0 -1
  244. package/dist/chunk-56BHCAPI.js.map +0 -1
  245. package/dist/chunk-6QZFWSN7.js.map +0 -1
  246. package/dist/chunk-6YVT3AL2.js.map +0 -1
  247. package/dist/chunk-D53OQERO.js.map +0 -1
  248. package/dist/chunk-DRL4CJMI.js +0 -147
  249. package/dist/chunk-DRL4CJMI.js.map +0 -1
  250. package/dist/chunk-DUNER5Q3.js.map +0 -1
  251. package/dist/chunk-E222IQHF.js.map +0 -1
  252. package/dist/chunk-FVTMKQUE.js +0 -67
  253. package/dist/chunk-FVTMKQUE.js.map +0 -1
  254. package/dist/chunk-GGDDE7LC.js.map +0 -1
  255. package/dist/chunk-GVEEUHM2.js.map +0 -1
  256. package/dist/chunk-HQVTIFXN.js +0 -494
  257. package/dist/chunk-HQVTIFXN.js.map +0 -1
  258. package/dist/chunk-HXPMYGSR.js.map +0 -1
  259. package/dist/chunk-IAQDQN6W.js.map +0 -1
  260. package/dist/chunk-ITCXCSUS.js.map +0 -1
  261. package/dist/chunk-KJRKPYYZ.js.map +0 -1
  262. package/dist/chunk-KYDQJSSW.js.map +0 -1
  263. package/dist/chunk-L76WWJGR.js.map +0 -1
  264. package/dist/chunk-LK4EPTNG.js.map +0 -1
  265. package/dist/chunk-M3AALH7G.js.map +0 -1
  266. package/dist/chunk-MBAZ7OW5.js +0 -607
  267. package/dist/chunk-MBAZ7OW5.js.map +0 -1
  268. package/dist/chunk-MGKFJWQU.js +0 -194
  269. package/dist/chunk-MGKFJWQU.js.map +0 -1
  270. package/dist/chunk-OKCKLIFP.js.map +0 -1
  271. package/dist/chunk-OV6K6GML.js.map +0 -1
  272. package/dist/chunk-PHQOHVG3.js +0 -45
  273. package/dist/chunk-PHQOHVG3.js.map +0 -1
  274. package/dist/chunk-QKSDVYKF.js.map +0 -1
  275. package/dist/chunk-SJHNFRXG.js +0 -276
  276. package/dist/chunk-SJHNFRXG.js.map +0 -1
  277. package/dist/chunk-SX5UNM6C.js.map +0 -1
  278. package/dist/chunk-T4MGK3WE.js +0 -143
  279. package/dist/chunk-T4MGK3WE.js.map +0 -1
  280. package/dist/chunk-UK4RHCMM.js.map +0 -1
  281. package/dist/chunk-WAPZ4QAN.js +0 -76
  282. package/dist/chunk-WAPZ4QAN.js.map +0 -1
  283. package/dist/chunk-WMTEAMPB.js.map +0 -1
  284. package/dist/chunk-ZESEEYEJ.js.map +0 -1
  285. package/dist/chunk-ZHPYJTWP.js.map +0 -1
  286. package/dist/chunk-ZPVBIQ2R.js.map +0 -1
  287. package/dist/chunk-ZSS6E4T2.js.map +0 -1
  288. package/dist/form/index.d.ts +0 -31
  289. package/dist/form/index.d.ts.map +0 -1
  290. package/dist/form/index.js +0 -4
  291. package/dist/form/index.js.map +0 -1
  292. package/dist/form/types.d.ts +0 -45
  293. package/dist/form/types.d.ts.map +0 -1
  294. package/dist/ribbon/index.d.ts +0 -6
  295. package/dist/ribbon/index.d.ts.map +0 -1
  296. package/dist/ribbon/index.js +0 -4
  297. package/dist/ribbon/index.js.map +0 -1
  298. package/dist/ribbon/types.d.ts +0 -26
  299. package/dist/ribbon/types.d.ts.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/timeline/index.tsx"],"names":[],"mappings":"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","file":"chunk-GGDDE7LC.js","sourcesContent":["'use client'\n\nimport { cva } from 'class-variance-authority'\nimport React from 'react'\n\nimport { cn } from '../utils'\nimport type { TimelineProps } from './types'\n\n/**\n * Timeline dot variants\n */\nconst dotVariants = cva(\n 'rounded-full shrink-0 flex items-center justify-center z-10',\n {\n variants: {\n size: {\n xs: 'w-2 h-2',\n sm: 'w-3 h-3',\n md: 'w-4 h-4',\n lg: 'w-5 h-5',\n },\n color: {\n default: 'bg-border',\n primary: 'bg-primary',\n secondary: 'bg-secondary',\n accent: 'bg-accent',\n success: 'bg-success',\n error: 'bg-error',\n warning: 'bg-warning',\n info: 'bg-info',\n },\n },\n defaultVariants: {\n size: 'md',\n color: 'default',\n },\n }\n)\n\n/**\n * Connector width by size\n */\nconst connectorWidths = {\n xs: 'w-px',\n sm: 'w-px',\n md: 'w-0.5',\n lg: 'w-0.5',\n} as const\n\n/**\n * Track column width by size (enough to hold the dot)\n */\nconst trackWidths = {\n xs: 'w-4',\n sm: 'w-5',\n md: 'w-6',\n lg: 'w-7',\n} as const\n\n/**\n * Content text size by timeline size\n */\nconst contentSizes = {\n xs: 'text-xs',\n sm: 'text-sm',\n md: 'text-base',\n lg: 'text-lg',\n} as const\n\n/**\n * Timestamp text size by timeline size\n */\nconst timestampSizes = {\n xs: 'text-[10px]',\n sm: 'text-xs',\n md: 'text-sm',\n lg: 'text-base',\n} as const\n\n/**\n * Icon size for dots with icons\n */\nconst iconDotSizes = {\n xs: 'w-5 h-5',\n sm: 'w-6 h-6',\n md: 'w-8 h-8',\n lg: 'w-10 h-10',\n} as const\n\nconst iconSizes = {\n xs: 'h-3 w-3',\n sm: 'h-3.5 w-3.5',\n md: 'h-4 w-4',\n lg: 'h-5 w-5',\n} as const\n\n/**\n * Timeline Component\n *\n * Displays a vertical timeline with items connected by lines and dots.\n * Uses a flex column layout where the connector line naturally flows\n * from dot to dot within a dedicated track column.\n */\nconst Timeline = React.memo<TimelineProps>(\n ({\n items,\n mode = 'left',\n size = 'md',\n color = 'default',\n pending = false,\n pendingText = 'Loading...',\n reverse = false,\n className,\n classNames,\n ref,\n }) => {\n const displayItems = reverse ? [...items].reverse() : items\n\n const renderDot = (\n item: (typeof displayItems)[number],\n itemColor: typeof color\n ) => {\n if (item.dot) {\n return (\n <div\n className={cn('timeline_dot', 'shrink-0 z-10', classNames?.dot)}\n data-slot=\"dot\"\n >\n {item.dot}\n </div>\n )\n }\n\n if (item.icon) {\n return (\n <div\n className={cn(\n 'timeline_dot',\n 'rounded-full shrink-0 flex items-center justify-center z-10',\n iconDotSizes[size],\n `bg-${itemColor === 'default' ? 'border' : itemColor}`,\n 'text-white',\n classNames?.dot\n )}\n data-slot=\"dot\"\n >\n <span\n className={cn(\n 'timeline_icon',\n 'flex items-center justify-center',\n iconSizes[size],\n classNames?.icon\n )}\n data-slot=\"icon\"\n >\n {item.icon}\n </span>\n </div>\n )\n }\n\n return (\n <div\n className={cn(\n 'timeline_dot',\n dotVariants({ size, color: itemColor }),\n classNames?.dot\n )}\n data-slot=\"dot\"\n />\n )\n }\n\n const renderContent = (\n item: (typeof displayItems)[number],\n isRight: boolean\n ) => (\n <div\n className={cn(\n 'timeline_content',\n 'flex-1 pb-8',\n contentSizes[size],\n isRight ? 'text-right pr-4' : 'pl-4',\n classNames?.content\n )}\n data-slot=\"content\"\n >\n {item.timestamp && (\n <div\n className={cn(\n 'timeline_timestamp',\n 'text-text-secondary mb-1',\n timestampSizes[size],\n classNames?.timestamp\n )}\n data-slot=\"timestamp\"\n >\n {item.timestamp}\n </div>\n )}\n <div\n className={cn(\n 'timeline_title',\n 'font-semibold text-text-primary',\n item.description && 'mb-1',\n classNames?.title\n )}\n data-slot=\"title\"\n >\n {item.title}\n </div>\n {item.description && (\n <div\n className={cn(\n 'timeline_description',\n 'text-text-secondary',\n classNames?.description\n )}\n data-slot=\"description\"\n >\n {item.description}\n </div>\n )}\n </div>\n )\n\n const renderTrack = (\n item: (typeof displayItems)[number],\n itemColor: typeof color,\n isLast: boolean\n ) => (\n <div\n className={cn(\n 'timeline_track',\n 'relative flex flex-col items-center',\n trackWidths[size]\n )}\n >\n {renderDot(item, itemColor)}\n {!isLast && (\n <div\n className={cn(\n 'timeline_connector',\n 'flex-1 bg-border',\n connectorWidths[size],\n classNames?.connector\n )}\n data-slot=\"connector\"\n />\n )}\n </div>\n )\n\n const renderItem = (\n item: (typeof displayItems)[number],\n index: number\n ) => {\n const isLast = index === displayItems.length - 1 && !pending\n const itemColor = item.color || color\n const isRight =\n mode === 'right' || (mode === 'alternate' && index % 2 !== 0)\n\n return (\n <div\n key={item.key ?? index}\n className={cn(\n 'timeline_item',\n 'flex',\n isRight && 'flex-row-reverse',\n classNames?.item\n )}\n data-slot=\"item\"\n >\n {renderTrack(item, itemColor, isLast)}\n {renderContent(item, isRight)}\n </div>\n )\n }\n\n return (\n <div\n ref={ref}\n className={cn('timeline_root', 'relative', classNames?.root, className)}\n data-slot=\"root\"\n >\n {displayItems.map((item, index) => renderItem(item, index))}\n\n {/* Pending indicator */}\n {pending && (\n <div\n className={cn(\n 'timeline_item',\n 'flex',\n (mode === 'right' ||\n (mode === 'alternate' && displayItems.length % 2 !== 0)) &&\n 'flex-row-reverse',\n classNames?.item\n )}\n data-slot=\"item\"\n >\n <div\n className={cn(\n 'timeline_track',\n 'relative flex flex-col items-center',\n trackWidths[size]\n )}\n >\n <div\n className={cn(\n 'timeline_dot',\n dotVariants({ size, color: 'default' }),\n 'animate-pulse',\n classNames?.dot\n )}\n data-slot=\"dot\"\n />\n </div>\n <div\n className={cn(\n 'timeline_content',\n 'flex-1 text-text-secondary',\n contentSizes[size],\n (mode === 'right' ||\n (mode === 'alternate' && displayItems.length % 2 !== 0))\n ? 'text-right pr-4'\n : 'pl-4',\n classNames?.content\n )}\n data-slot=\"content\"\n >\n {pendingText}\n </div>\n </div>\n )}\n </div>\n )\n }\n)\n\nTimeline.displayName = 'Timeline'\n\nexport type * from './types'\nexport default Timeline\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/slider/index.tsx"],"names":[],"mappings":"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","file":"chunk-GVEEUHM2.js","sourcesContent":["'use client'\n\nimport { cva } from 'class-variance-authority'\nimport React, { useCallback, useRef, useState } from 'react'\n\nimport { cn } from '../utils'\nimport type { SliderProps } from './types'\n\nconst sliderTrackVariants = cva('relative rounded-full', {\n variants: {\n size: {\n xs: 'h-1',\n sm: 'h-2',\n md: 'h-3',\n lg: 'h-4',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n})\n\nconst thumbVariants = cva(\n 'absolute top-1/2 rounded-full border-2 bg-background cursor-pointer hover:scale-110 active:scale-100 transition-transform duration-150',\n {\n variants: {\n size: {\n xs: 'w-3 h-3',\n sm: 'w-3.5 h-3.5',\n md: 'w-4 h-4',\n lg: 'w-6 h-6',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n },\n)\n\nconst trackColorStyles = {\n default: {\n default: 'bg-surface',\n solid: 'bg-border',\n soft: 'bg-surface/50',\n },\n primary: {\n default: 'bg-primary/10',\n solid: 'bg-primary/20',\n soft: 'bg-primary/5',\n },\n secondary: {\n default: 'bg-secondary/10',\n solid: 'bg-secondary/20',\n soft: 'bg-secondary/5',\n },\n accent: {\n default: 'bg-accent/10',\n solid: 'bg-accent/20',\n soft: 'bg-accent/5',\n },\n success: {\n default: 'bg-success/10',\n solid: 'bg-success/20',\n soft: 'bg-success/5',\n },\n error: {\n default: 'bg-error/10',\n solid: 'bg-error/20',\n soft: 'bg-error/5',\n },\n warning: {\n default: 'bg-warning/10',\n solid: 'bg-warning/20',\n soft: 'bg-warning/5',\n },\n info: {\n default: 'bg-info/10',\n solid: 'bg-info/20',\n soft: 'bg-info/5',\n },\n}\n\nconst fillColorStyles = {\n default: {\n default: 'bg-surface border-border',\n solid: 'bg-border',\n soft: 'bg-surface/80',\n },\n primary: {\n default: 'bg-primary/20 border-primary',\n solid: 'bg-primary',\n soft: 'bg-primary/60',\n },\n secondary: {\n default: 'bg-secondary/20 border-secondary',\n solid: 'bg-secondary',\n soft: 'bg-secondary/60',\n },\n accent: {\n default: 'bg-accent/20 border-accent',\n solid: 'bg-accent',\n soft: 'bg-accent/60',\n },\n success: {\n default: 'bg-success/20 border-success',\n solid: 'bg-success',\n soft: 'bg-success/60',\n },\n error: {\n default: 'bg-error/20 border-error',\n solid: 'bg-error',\n soft: 'bg-error/60',\n },\n warning: {\n default: 'bg-warning/20 border-warning',\n solid: 'bg-warning',\n soft: 'bg-warning/60',\n },\n info: {\n default: 'bg-info/20 border-info',\n solid: 'bg-info',\n soft: 'bg-info/60',\n },\n}\n\nconst thumbColorStyles = {\n default: {\n default: 'border-border',\n solid: 'border-border',\n soft: 'border-surface',\n },\n primary: {\n default: 'border-primary',\n solid: 'border-primary',\n soft: 'border-primary/60',\n },\n secondary: {\n default: 'border-secondary',\n solid: 'border-secondary',\n soft: 'border-secondary/60',\n },\n accent: {\n default: 'border-accent',\n solid: 'border-accent',\n soft: 'border-accent/60',\n },\n success: {\n default: 'border-success',\n solid: 'border-success',\n soft: 'border-success/60',\n },\n error: {\n default: 'border-error',\n solid: 'border-error',\n soft: 'border-error/60',\n },\n warning: {\n default: 'border-warning',\n solid: 'border-warning',\n soft: 'border-warning/60',\n },\n info: {\n default: 'border-info',\n solid: 'border-info',\n soft: 'border-info/60',\n },\n}\n\nconst Slider = React.memo<SliderProps>(\n ({\n value: controlledValue,\n defaultValue = 50,\n min = 0,\n max = 100,\n step = 1,\n color = 'primary',\n size = 'md',\n variant = 'default',\n onChange,\n disabled = false,\n className,\n classNames,\n footer = false,\n range = false,\n }) => {\n const [internalValue, setInternalValue] = useState<number | number[]>(\n defaultValue,\n )\n const [hoveredThumb, setHoveredThumb] = useState<number | null>(null)\n const trackRef = useRef<HTMLDivElement>(null)\n const isDragging = useRef(false)\n const activeThumb = useRef<number>(0)\n\n const value = controlledValue ?? internalValue\n const values = Array.isArray(value) ? value : [value]\n\n const getPercentage = (val: number) => ((val - min) / (max - min)) * 100\n\n const getValue = (clientX: number) => {\n if (!trackRef.current) return min\n const rect = trackRef.current.getBoundingClientRect()\n const percentage = (clientX - rect.left) / rect.width\n const rawValue = min + percentage * (max - min)\n const steppedValue = Math.round(rawValue / step) * step\n return Math.max(min, Math.min(max, steppedValue))\n }\n\n const handleMouseMove = useCallback(\n (e: MouseEvent) => {\n if (!isDragging.current || disabled) return\n const newValue = getValue(e.clientX)\n\n if (range && Array.isArray(value)) {\n const newValues = [...value]\n newValues[activeThumb.current] = newValue\n newValues.sort((a, b) => a - b)\n if (!controlledValue) setInternalValue(newValues)\n onChange?.(newValues)\n } else {\n if (!controlledValue) setInternalValue(newValue)\n onChange?.(newValue)\n }\n },\n [disabled, value, range, controlledValue, min, max, step, onChange],\n )\n\n\n const [isDraggingState, setIsDraggingState] = useState(false)\n\n const handleMouseDownWithState = (thumbIndex: number) => (e: React.MouseEvent) => {\n if (disabled) return\n isDragging.current = true\n setIsDraggingState(true)\n activeThumb.current = thumbIndex\n setHoveredThumb(thumbIndex)\n e.preventDefault()\n }\n\n const handleMouseUpWithState = useCallback(() => {\n isDragging.current = false\n setIsDraggingState(false)\n setHoveredThumb(null)\n }, [])\n\n // Only add global listeners when dragging - fixes memory leak\n React.useEffect(() => {\n if (!isDraggingState) return\n\n document.addEventListener('mousemove', handleMouseMove)\n document.addEventListener('mouseup', handleMouseUpWithState)\n return () => {\n document.removeEventListener('mousemove', handleMouseMove)\n document.removeEventListener('mouseup', handleMouseUpWithState)\n }\n }, [isDraggingState, handleMouseMove, handleMouseUpWithState])\n\n const handleTrackClick = (e: React.MouseEvent<HTMLDivElement>) => {\n if (disabled || isDragging.current) return\n const newValue = getValue(e.clientX)\n\n if (range && Array.isArray(value)) {\n let closestThumbIndex = 0\n let minDistance = Math.abs(newValue - (value[0] || 0))\n for (let i = 1; i < value.length; i++) {\n const distance = Math.abs(newValue - (value[i] || 0))\n if (distance < minDistance) {\n minDistance = distance\n closestThumbIndex = i\n }\n }\n\n const newValues = [...value]\n newValues[closestThumbIndex] = newValue\n newValues.sort((a, b) => a - b)\n if (!controlledValue) setInternalValue(newValues)\n onChange?.(newValues)\n } else {\n if (!controlledValue) setInternalValue(newValue)\n onChange?.(newValue)\n }\n }\n\n return (\n <div className={cn('w-full', 'slider_root', classNames?.root, className)}>\n <div\n ref={trackRef}\n onClick={handleTrackClick}\n className={cn(\n sliderTrackVariants({ size }),\n trackColorStyles[color][variant],\n 'relative cursor-pointer',\n 'slider_track',\n classNames?.track,\n disabled && 'opacity-50 cursor-not-allowed',\n )}\n >\n {/* Fill segment */}\n {range && values.length > 1 ? (\n values.slice(0, -1).map((val, index) => {\n const left = getPercentage(val)\n const right = getPercentage(values[index + 1]!)\n return (\n <div\n key={index}\n className={cn(\n 'absolute h-full rounded-full',\n fillColorStyles[color][variant],\n 'slider_range',\n classNames?.range,\n )}\n style={{ left: `${left}%`, width: `${right - left}%` }}\n />\n )\n })\n ) : (\n <div\n className={cn(\n 'absolute h-full rounded-full',\n fillColorStyles[color][variant],\n 'slider_range',\n classNames?.range,\n )}\n style={{ left: '0%', width: `${getPercentage(values[0] || 0)}%` }}\n />\n )}\n\n {/* Thumbs */}\n {values.map((val, index) => {\n const left = getPercentage(val)\n const isAtStart = left <= 0\n const isAtEnd = left >= 100\n return (\n <div\n key={index}\n role=\"slider\"\n tabIndex={disabled ? -1 : 0}\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuenow={val}\n aria-disabled={disabled}\n aria-label={range ? `Slider thumb ${index + 1}` : 'Slider'}\n className={cn(\n thumbVariants({ size }),\n thumbColorStyles[color][variant],\n disabled && 'cursor-not-allowed',\n 'focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-primary',\n 'slider_thumb',\n classNames?.thumb,\n )}\n style={{\n left: `${left}%`,\n transform: `translate(-50%, -50%) ${\n isAtStart\n ? 'translateX(50%)'\n : isAtEnd\n ? 'translateX(-50%)'\n : ''\n }`,\n }}\n onMouseDown={handleMouseDownWithState(index)}\n onKeyDown={(e) => {\n if (disabled) return\n let newValue = val\n if (e.key === 'ArrowRight' || e.key === 'ArrowUp') {\n newValue = Math.min(max, val + step)\n } else if (e.key === 'ArrowLeft' || e.key === 'ArrowDown') {\n newValue = Math.max(min, val - step)\n } else if (e.key === 'Home') {\n newValue = min\n } else if (e.key === 'End') {\n newValue = max\n } else {\n return\n }\n e.preventDefault()\n if (range && Array.isArray(value)) {\n const newValues = [...value]\n newValues[index] = newValue\n newValues.sort((a, b) => a - b)\n if (!controlledValue) setInternalValue(newValues)\n onChange?.(newValues)\n } else {\n if (!controlledValue) setInternalValue(newValue)\n onChange?.(newValue)\n }\n }}\n >\n {hoveredThumb === index && (\n <div className=\"absolute -top-8 left-1/2 -translate-x-1/2 bg-text-primary text-background text-xs px-2 py-1 rounded whitespace-nowrap\">\n {val}\n </div>\n )}\n </div>\n )\n })}\n </div>\n\n {typeof footer === 'boolean' && (\n <div className=\"flex justify-between mt-1 text-sm text-text-secondary\">\n <span className={cn('slider_label', classNames?.label)}>{min}</span>\n <span className={cn('font-medium text-text-primary', 'slider_value', classNames?.value)}>\n {range && Array.isArray(value) ? value.join(' - ') : value}\n </span>\n <span className={cn('slider_label', classNames?.label)}>{max}</span>\n </div>\n )}\n {footer && typeof footer !== 'boolean' && footer}\n </div>\n )\n },\n)\n\nSlider.displayName = 'Slider'\n\nexport type * from './types'\nexport default Slider\n"]}
@@ -1,494 +0,0 @@
1
- import { focusRingColorClasses } from './chunk-LK4EPTNG.js';
2
- import { cn } from './chunk-NGYLRX6F.js';
3
- import { cva } from 'class-variance-authority';
4
- import React from 'react';
5
- import { jsx, jsxs } from 'react/jsx-runtime';
6
-
7
- var CardContext = React.createContext(null);
8
- function useCardContext() {
9
- return React.useContext(CardContext);
10
- }
11
- var cardVariants = cva("rounded-lg transition-[shadow,transform]", {
12
- variants: {
13
- variant: {
14
- default: "bg-card text-card-foreground border",
15
- solid: "border",
16
- outline: "bg-transparent border",
17
- soft: "border-transparent",
18
- ghost: "border-transparent bg-transparent",
19
- elevated: "bg-card text-card-foreground border-transparent shadow-md"
20
- },
21
- color: {
22
- default: "border-border",
23
- primary: "border-primary",
24
- secondary: "border-secondary",
25
- accent: "border-accent",
26
- success: "border-success",
27
- error: "border-error",
28
- warning: "border-warning",
29
- info: "border-info"
30
- },
31
- shadow: {
32
- none: "",
33
- sm: "shadow-sm",
34
- md: "shadow-md",
35
- lg: "shadow-lg"
36
- },
37
- hoverable: {
38
- true: "hover:shadow-lg hover:-translate-y-0.5 cursor-pointer",
39
- false: ""
40
- },
41
- clickable: {
42
- true: "cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 active:translate-y-0 active:shadow-md",
43
- false: ""
44
- }
45
- },
46
- compoundVariants: [
47
- // Default variant with colors
48
- {
49
- variant: "default",
50
- color: "default",
51
- class: "bg-card text-card-foreground border-border"
52
- },
53
- {
54
- variant: "default",
55
- color: "primary",
56
- class: "bg-card text-card-foreground border-primary"
57
- },
58
- {
59
- variant: "default",
60
- color: "secondary",
61
- class: "bg-card text-card-foreground border-secondary"
62
- },
63
- {
64
- variant: "default",
65
- color: "accent",
66
- class: "bg-card text-card-foreground border-accent"
67
- },
68
- {
69
- variant: "default",
70
- color: "success",
71
- class: "bg-card text-card-foreground border-success"
72
- },
73
- {
74
- variant: "default",
75
- color: "error",
76
- class: "bg-card text-card-foreground border-error"
77
- },
78
- {
79
- variant: "default",
80
- color: "warning",
81
- class: "bg-card text-card-foreground border-warning"
82
- },
83
- {
84
- variant: "default",
85
- color: "info",
86
- class: "bg-card text-card-foreground border-info"
87
- },
88
- // Solid variant — full background color
89
- {
90
- variant: "solid",
91
- color: "default",
92
- class: "bg-surface border-border text-text-primary"
93
- },
94
- {
95
- variant: "solid",
96
- color: "primary",
97
- class: "bg-primary border-primary text-background"
98
- },
99
- {
100
- variant: "solid",
101
- color: "secondary",
102
- class: "bg-secondary border-secondary text-background"
103
- },
104
- {
105
- variant: "solid",
106
- color: "accent",
107
- class: "bg-accent border-accent text-background"
108
- },
109
- {
110
- variant: "solid",
111
- color: "success",
112
- class: "bg-success border-success text-background"
113
- },
114
- {
115
- variant: "solid",
116
- color: "error",
117
- class: "bg-error border-error text-background"
118
- },
119
- {
120
- variant: "solid",
121
- color: "warning",
122
- class: "bg-warning border-warning text-background"
123
- },
124
- {
125
- variant: "solid",
126
- color: "info",
127
- class: "bg-info border-info text-background"
128
- },
129
- // Outline variant
130
- {
131
- variant: "outline",
132
- color: "default",
133
- class: "border-border text-text-primary"
134
- },
135
- {
136
- variant: "outline",
137
- color: "primary",
138
- class: "border-primary text-text-primary"
139
- },
140
- {
141
- variant: "outline",
142
- color: "secondary",
143
- class: "border-secondary text-text-primary"
144
- },
145
- {
146
- variant: "outline",
147
- color: "accent",
148
- class: "border-accent text-text-primary"
149
- },
150
- {
151
- variant: "outline",
152
- color: "success",
153
- class: "border-success text-text-primary"
154
- },
155
- {
156
- variant: "outline",
157
- color: "error",
158
- class: "border-error text-text-primary"
159
- },
160
- {
161
- variant: "outline",
162
- color: "warning",
163
- class: "border-warning text-text-primary"
164
- },
165
- {
166
- variant: "outline",
167
- color: "info",
168
- class: "border-info text-text-primary"
169
- },
170
- // Soft variant
171
- {
172
- variant: "soft",
173
- color: "default",
174
- class: "bg-surface text-text-primary"
175
- },
176
- { variant: "soft", color: "primary", class: "bg-primary/10 text-primary" },
177
- {
178
- variant: "soft",
179
- color: "secondary",
180
- class: "bg-secondary/10 text-secondary"
181
- },
182
- { variant: "soft", color: "accent", class: "bg-accent/10 text-accent" },
183
- { variant: "soft", color: "success", class: "bg-success/10 text-success" },
184
- { variant: "soft", color: "error", class: "bg-error/10 text-error" },
185
- { variant: "soft", color: "warning", class: "bg-warning/10 text-warning" },
186
- { variant: "soft", color: "info", class: "bg-info/10 text-info" },
187
- // Ghost variant
188
- { variant: "ghost", color: "default", class: "text-text-primary" },
189
- { variant: "ghost", color: "primary", class: "text-primary" },
190
- { variant: "ghost", color: "secondary", class: "text-secondary" },
191
- { variant: "ghost", color: "accent", class: "text-accent" },
192
- { variant: "ghost", color: "success", class: "text-success" },
193
- { variant: "ghost", color: "error", class: "text-error" },
194
- { variant: "ghost", color: "warning", class: "text-warning" },
195
- { variant: "ghost", color: "info", class: "text-info" },
196
- // Elevated variant
197
- {
198
- variant: "elevated",
199
- color: "default",
200
- class: "bg-card text-card-foreground"
201
- },
202
- {
203
- variant: "elevated",
204
- color: "primary",
205
- class: "bg-card text-card-foreground ring-1 ring-primary/20"
206
- },
207
- {
208
- variant: "elevated",
209
- color: "secondary",
210
- class: "bg-card text-card-foreground ring-1 ring-secondary/20"
211
- },
212
- {
213
- variant: "elevated",
214
- color: "accent",
215
- class: "bg-card text-card-foreground ring-1 ring-accent/20"
216
- },
217
- {
218
- variant: "elevated",
219
- color: "success",
220
- class: "bg-card text-card-foreground ring-1 ring-success/20"
221
- },
222
- {
223
- variant: "elevated",
224
- color: "error",
225
- class: "bg-card text-card-foreground ring-1 ring-error/20"
226
- },
227
- {
228
- variant: "elevated",
229
- color: "warning",
230
- class: "bg-card text-card-foreground ring-1 ring-warning/20"
231
- },
232
- {
233
- variant: "elevated",
234
- color: "info",
235
- class: "bg-card text-card-foreground ring-1 ring-info/20"
236
- }
237
- ],
238
- defaultVariants: {
239
- variant: "default",
240
- color: "default",
241
- shadow: "none",
242
- hoverable: false,
243
- clickable: false
244
- }
245
- });
246
- var sizeClasses = {
247
- xs: "[--card-padding:0.5rem] [--card-content-padding:0.5rem] [--card-footer-padding:0.5rem]",
248
- sm: "[--card-padding:1rem] [--card-content-padding:1rem] [--card-footer-padding:1rem]",
249
- md: "[--card-padding:1.5rem] [--card-content-padding:1.5rem] [--card-footer-padding:1.5rem]",
250
- lg: "[--card-padding:2rem] [--card-content-padding:2rem] [--card-footer-padding:2rem]"
251
- };
252
- var Card = React.memo(
253
- ({
254
- className,
255
- variant = "default",
256
- color = "default",
257
- size = "md",
258
- shadow = "none",
259
- hoverable = false,
260
- clickable = false,
261
- bordered = true,
262
- loading = false,
263
- classNames,
264
- onClick,
265
- ref,
266
- children,
267
- ...props
268
- }) => {
269
- const cardContent = loading ? /* @__PURE__ */ jsxs("div", { className: "animate-pulse", children: [
270
- /* @__PURE__ */ jsxs("div", { className: "p-(--card-padding)", children: [
271
- /* @__PURE__ */ jsx("div", { className: "h-4 bg-surface rounded w-3/4 mb-2" }),
272
- /* @__PURE__ */ jsx("div", { className: "h-3 bg-surface rounded w-1/2" })
273
- ] }),
274
- /* @__PURE__ */ jsxs("div", { className: "p-(--card-content-padding) pt-0", children: [
275
- /* @__PURE__ */ jsx("div", { className: "h-3 bg-surface rounded w-full mb-2" }),
276
- /* @__PURE__ */ jsx("div", { className: "h-3 bg-surface rounded w-full mb-2" }),
277
- /* @__PURE__ */ jsx("div", { className: "h-3 bg-surface rounded w-2/3" })
278
- ] })
279
- ] }) : children;
280
- const cardClassName = cn(
281
- "card_root",
282
- cardVariants({
283
- variant,
284
- color,
285
- shadow,
286
- hoverable,
287
- clickable
288
- }),
289
- !bordered && "border-transparent",
290
- clickable && focusRingColorClasses[color],
291
- sizeClasses[size],
292
- classNames?.root,
293
- className
294
- );
295
- const contextValue = React.useMemo(
296
- () => ({ variant, color, classNames }),
297
- [variant, color, classNames]
298
- );
299
- if (clickable) {
300
- return /* @__PURE__ */ jsx(CardContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx(
301
- "div",
302
- {
303
- ref,
304
- role: "button",
305
- tabIndex: 0,
306
- className: cardClassName,
307
- onClick,
308
- onKeyDown: (e) => {
309
- if (e.key === "Enter" || e.key === " ") {
310
- e.preventDefault();
311
- onClick?.(e);
312
- }
313
- },
314
- "data-slot": "root",
315
- ...props,
316
- children: cardContent
317
- }
318
- ) });
319
- }
320
- return /* @__PURE__ */ jsx(CardContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx("div", { ref, className: cardClassName, onClick, "data-slot": "root", ...props, children: cardContent }) });
321
- }
322
- );
323
- Card.displayName = "Card";
324
- var CardHeader = React.memo(
325
- ({ className, ref, ...props }) => {
326
- const ctx = useCardContext();
327
- return /* @__PURE__ */ jsx(
328
- "div",
329
- {
330
- ref,
331
- className: cn("card_header", "flex flex-col gap-1.5 p-(--card-padding)", ctx?.classNames?.header, className),
332
- "data-slot": "header",
333
- ...props
334
- }
335
- );
336
- }
337
- );
338
- CardHeader.displayName = "CardHeader";
339
- var CardTitle = React.memo(
340
- ({ className, as: Tag = "h3", ref, ...props }) => {
341
- const ctx = useCardContext();
342
- return /* @__PURE__ */ jsx(
343
- Tag,
344
- {
345
- ref,
346
- className: cn(
347
- "card_title",
348
- "text-lg font-semibold leading-none tracking-tight",
349
- ctx?.classNames?.title,
350
- className
351
- ),
352
- "data-slot": "title",
353
- ...props
354
- }
355
- );
356
- }
357
- );
358
- CardTitle.displayName = "CardTitle";
359
- var CardDescription = React.memo(
360
- ({ className, ref, ...props }) => {
361
- const ctx = useCardContext();
362
- const isSolidColored = ctx?.variant === "solid" && ctx?.color !== "default";
363
- return /* @__PURE__ */ jsx(
364
- "p",
365
- {
366
- ref,
367
- className: cn(
368
- "card_description",
369
- "text-sm",
370
- isSolidColored ? "text-inherit opacity-80" : "text-text-secondary",
371
- ctx?.classNames?.description,
372
- className
373
- ),
374
- "data-slot": "description",
375
- ...props
376
- }
377
- );
378
- }
379
- );
380
- CardDescription.displayName = "CardDescription";
381
- var CardContent = React.memo(
382
- ({ className, ref, ...props }) => {
383
- const ctx = useCardContext();
384
- return /* @__PURE__ */ jsx(
385
- "div",
386
- {
387
- ref,
388
- className: cn("card_content", "p-(--card-content-padding) pt-0", ctx?.classNames?.content, className),
389
- "data-slot": "content",
390
- ...props
391
- }
392
- );
393
- }
394
- );
395
- CardContent.displayName = "CardContent";
396
- var CardFooter = React.memo(
397
- ({ className, ref, ...props }) => {
398
- const ctx = useCardContext();
399
- return /* @__PURE__ */ jsx(
400
- "div",
401
- {
402
- ref,
403
- className: cn(
404
- "card_footer",
405
- "flex items-center p-(--card-footer-padding) pt-0",
406
- ctx?.classNames?.footer,
407
- className
408
- ),
409
- "data-slot": "footer",
410
- ...props
411
- }
412
- );
413
- }
414
- );
415
- CardFooter.displayName = "CardFooter";
416
- var CardAction = React.memo(
417
- ({ className, ref, ...props }) => {
418
- const ctx = useCardContext();
419
- return /* @__PURE__ */ jsx(
420
- "div",
421
- {
422
- ref,
423
- className: cn("card_action", "ml-auto flex items-center gap-2", ctx?.classNames?.action, className),
424
- "data-slot": "action",
425
- ...props
426
- }
427
- );
428
- }
429
- );
430
- CardAction.displayName = "CardAction";
431
- var aspectRatioClasses = {
432
- square: "aspect-square",
433
- video: "aspect-video",
434
- wide: "aspect-[21/9]",
435
- auto: ""
436
- };
437
- var objectFitClasses = {
438
- cover: "object-cover",
439
- contain: "object-contain",
440
- fill: "object-fill",
441
- none: "object-none"
442
- };
443
- var CardImage = React.memo(
444
- ({
445
- src,
446
- alt,
447
- position = "top",
448
- aspectRatio = "video",
449
- objectFit = "cover",
450
- className,
451
- ref,
452
- ...props
453
- }) => {
454
- const ctx = useCardContext();
455
- return /* @__PURE__ */ jsx(
456
- "div",
457
- {
458
- className: cn(
459
- "overflow-hidden",
460
- position === "top" && "rounded-t-lg",
461
- position === "bottom" && "rounded-b-lg",
462
- aspectRatio !== "auto" && aspectRatioClasses[aspectRatio]
463
- ),
464
- children: /* @__PURE__ */ jsx(
465
- "img",
466
- {
467
- ref,
468
- src,
469
- alt,
470
- className: cn("card_image", "w-full h-full", objectFitClasses[objectFit], ctx?.classNames?.image, className),
471
- "data-slot": "image",
472
- loading: "lazy",
473
- ...props
474
- }
475
- )
476
- }
477
- );
478
- }
479
- );
480
- CardImage.displayName = "CardImage";
481
- var CardWithSubComponents = Object.assign(Card, {
482
- Header: CardHeader,
483
- Footer: CardFooter,
484
- Title: CardTitle,
485
- Description: CardDescription,
486
- Content: CardContent,
487
- Action: CardAction,
488
- Image: CardImage
489
- });
490
- var card_default = CardWithSubComponents;
491
-
492
- export { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardImage, CardTitle, cardVariants, card_default };
493
- //# sourceMappingURL=chunk-HQVTIFXN.js.map
494
- //# sourceMappingURL=chunk-HQVTIFXN.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/card/index.tsx"],"names":[],"mappings":"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","file":"chunk-HQVTIFXN.js","sourcesContent":["'use client'\n\nimport { cva } from \"class-variance-authority\";\nimport React from \"react\";\n\nimport { cn } from \"../utils\";\nimport { focusRingColorClasses } from \"../variants\";\nimport type {\n CardActionProps,\n CardClassNames,\n CardColor,\n CardContentProps,\n CardDescriptionProps,\n CardFooterProps,\n CardHeaderProps,\n CardImageProps,\n CardProps,\n CardSize,\n CardTitleProps,\n CardVariant,\n} from \"./types\";\n\n// ============================================================================\n// Card Context — shares variant/color/classNames with sub-components\n// ============================================================================\n\ninterface CardContextValue {\n variant: CardVariant;\n color: CardColor;\n classNames?: CardClassNames;\n}\n\nconst CardContext = React.createContext<CardContextValue | null>(null);\n\nfunction useCardContext() {\n return React.useContext(CardContext);\n}\n\n// ============================================================================\n// CVA Variants\n// ============================================================================\n\nconst cardVariants = cva(\"rounded-lg transition-[shadow,transform]\", {\n variants: {\n variant: {\n default: \"bg-card text-card-foreground border\",\n solid: \"border\",\n outline: \"bg-transparent border\",\n soft: \"border-transparent\",\n ghost: \"border-transparent bg-transparent\",\n elevated: \"bg-card text-card-foreground border-transparent shadow-md\",\n },\n color: {\n default: \"border-border\",\n primary: \"border-primary\",\n secondary: \"border-secondary\",\n accent: \"border-accent\",\n success: \"border-success\",\n error: \"border-error\",\n warning: \"border-warning\",\n info: \"border-info\",\n },\n shadow: {\n none: \"\",\n sm: \"shadow-sm\",\n md: \"shadow-md\",\n lg: \"shadow-lg\",\n },\n hoverable: {\n true: \"hover:shadow-lg hover:-translate-y-0.5 cursor-pointer\",\n false: \"\",\n },\n clickable: {\n true: \"cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 active:translate-y-0 active:shadow-md\",\n false: \"\",\n },\n },\n compoundVariants: [\n // Default variant with colors\n {\n variant: \"default\",\n color: \"default\",\n class: \"bg-card text-card-foreground border-border\",\n },\n {\n variant: \"default\",\n color: \"primary\",\n class: \"bg-card text-card-foreground border-primary\",\n },\n {\n variant: \"default\",\n color: \"secondary\",\n class: \"bg-card text-card-foreground border-secondary\",\n },\n {\n variant: \"default\",\n color: \"accent\",\n class: \"bg-card text-card-foreground border-accent\",\n },\n {\n variant: \"default\",\n color: \"success\",\n class: \"bg-card text-card-foreground border-success\",\n },\n {\n variant: \"default\",\n color: \"error\",\n class: \"bg-card text-card-foreground border-error\",\n },\n {\n variant: \"default\",\n color: \"warning\",\n class: \"bg-card text-card-foreground border-warning\",\n },\n {\n variant: \"default\",\n color: \"info\",\n class: \"bg-card text-card-foreground border-info\",\n },\n // Solid variant — full background color\n {\n variant: \"solid\",\n color: \"default\",\n class: \"bg-surface border-border text-text-primary\",\n },\n {\n variant: \"solid\",\n color: \"primary\",\n class: \"bg-primary border-primary text-background\",\n },\n {\n variant: \"solid\",\n color: \"secondary\",\n class: \"bg-secondary border-secondary text-background\",\n },\n {\n variant: \"solid\",\n color: \"accent\",\n class: \"bg-accent border-accent text-background\",\n },\n {\n variant: \"solid\",\n color: \"success\",\n class: \"bg-success border-success text-background\",\n },\n {\n variant: \"solid\",\n color: \"error\",\n class: \"bg-error border-error text-background\",\n },\n {\n variant: \"solid\",\n color: \"warning\",\n class: \"bg-warning border-warning text-background\",\n },\n {\n variant: \"solid\",\n color: \"info\",\n class: \"bg-info border-info text-background\",\n },\n // Outline variant\n {\n variant: \"outline\",\n color: \"default\",\n class: \"border-border text-text-primary\",\n },\n {\n variant: \"outline\",\n color: \"primary\",\n class: \"border-primary text-text-primary\",\n },\n {\n variant: \"outline\",\n color: \"secondary\",\n class: \"border-secondary text-text-primary\",\n },\n {\n variant: \"outline\",\n color: \"accent\",\n class: \"border-accent text-text-primary\",\n },\n {\n variant: \"outline\",\n color: \"success\",\n class: \"border-success text-text-primary\",\n },\n {\n variant: \"outline\",\n color: \"error\",\n class: \"border-error text-text-primary\",\n },\n {\n variant: \"outline\",\n color: \"warning\",\n class: \"border-warning text-text-primary\",\n },\n {\n variant: \"outline\",\n color: \"info\",\n class: \"border-info text-text-primary\",\n },\n // Soft variant\n {\n variant: \"soft\",\n color: \"default\",\n class: \"bg-surface text-text-primary\",\n },\n { variant: \"soft\", color: \"primary\", class: \"bg-primary/10 text-primary\" },\n {\n variant: \"soft\",\n color: \"secondary\",\n class: \"bg-secondary/10 text-secondary\",\n },\n { variant: \"soft\", color: \"accent\", class: \"bg-accent/10 text-accent\" },\n { variant: \"soft\", color: \"success\", class: \"bg-success/10 text-success\" },\n { variant: \"soft\", color: \"error\", class: \"bg-error/10 text-error\" },\n { variant: \"soft\", color: \"warning\", class: \"bg-warning/10 text-warning\" },\n { variant: \"soft\", color: \"info\", class: \"bg-info/10 text-info\" },\n // Ghost variant\n { variant: \"ghost\", color: \"default\", class: \"text-text-primary\" },\n { variant: \"ghost\", color: \"primary\", class: \"text-primary\" },\n { variant: \"ghost\", color: \"secondary\", class: \"text-secondary\" },\n { variant: \"ghost\", color: \"accent\", class: \"text-accent\" },\n { variant: \"ghost\", color: \"success\", class: \"text-success\" },\n { variant: \"ghost\", color: \"error\", class: \"text-error\" },\n { variant: \"ghost\", color: \"warning\", class: \"text-warning\" },\n { variant: \"ghost\", color: \"info\", class: \"text-info\" },\n // Elevated variant\n {\n variant: \"elevated\",\n color: \"default\",\n class: \"bg-card text-card-foreground\",\n },\n {\n variant: \"elevated\",\n color: \"primary\",\n class: \"bg-card text-card-foreground ring-1 ring-primary/20\",\n },\n {\n variant: \"elevated\",\n color: \"secondary\",\n class: \"bg-card text-card-foreground ring-1 ring-secondary/20\",\n },\n {\n variant: \"elevated\",\n color: \"accent\",\n class: \"bg-card text-card-foreground ring-1 ring-accent/20\",\n },\n {\n variant: \"elevated\",\n color: \"success\",\n class: \"bg-card text-card-foreground ring-1 ring-success/20\",\n },\n {\n variant: \"elevated\",\n color: \"error\",\n class: \"bg-card text-card-foreground ring-1 ring-error/20\",\n },\n {\n variant: \"elevated\",\n color: \"warning\",\n class: \"bg-card text-card-foreground ring-1 ring-warning/20\",\n },\n {\n variant: \"elevated\",\n color: \"info\",\n class: \"bg-card text-card-foreground ring-1 ring-info/20\",\n },\n ],\n defaultVariants: {\n variant: \"default\",\n color: \"default\",\n shadow: \"none\",\n hoverable: false,\n clickable: false,\n },\n});\n\n/**\n * Size-based padding classes\n */\nconst sizeClasses: Record<CardSize, string> = {\n xs: \"[--card-padding:0.5rem] [--card-content-padding:0.5rem] [--card-footer-padding:0.5rem]\",\n sm: \"[--card-padding:1rem] [--card-content-padding:1rem] [--card-footer-padding:1rem]\",\n md: \"[--card-padding:1.5rem] [--card-content-padding:1.5rem] [--card-footer-padding:1.5rem]\",\n lg: \"[--card-padding:2rem] [--card-content-padding:2rem] [--card-footer-padding:2rem]\",\n};\n\n/**\n * Card Component\n *\n * A versatile container component for grouping related content and actions.\n *\n * @example\n * <Card>\n * <CardHeader>\n * <CardTitle>Title</CardTitle>\n * <CardDescription>Description</CardDescription>\n * </CardHeader>\n * <CardContent>Content here</CardContent>\n * <CardFooter>\n * <Button>Action</Button>\n * </CardFooter>\n * </Card>\n */\nconst Card = React.memo<CardProps>(\n ({\n className,\n variant = \"default\",\n color = \"default\",\n size = \"md\",\n shadow = \"none\",\n hoverable = false,\n clickable = false,\n bordered = true,\n loading = false,\n classNames,\n onClick,\n ref,\n children,\n ...props\n }) => {\n const cardContent = loading ? (\n <div className=\"animate-pulse\">\n <div className=\"p-(--card-padding)\">\n <div className=\"h-4 bg-surface rounded w-3/4 mb-2\" />\n <div className=\"h-3 bg-surface rounded w-1/2\" />\n </div>\n <div className=\"p-(--card-content-padding) pt-0\">\n <div className=\"h-3 bg-surface rounded w-full mb-2\" />\n <div className=\"h-3 bg-surface rounded w-full mb-2\" />\n <div className=\"h-3 bg-surface rounded w-2/3\" />\n </div>\n </div>\n ) : (\n children\n );\n\n const cardClassName = cn(\n \"card_root\",\n cardVariants({\n variant,\n color,\n shadow,\n hoverable,\n clickable,\n }),\n !bordered && \"border-transparent\",\n clickable && focusRingColorClasses[color],\n sizeClasses[size],\n classNames?.root,\n className,\n );\n\n const contextValue = React.useMemo(\n () => ({ variant, color, classNames }),\n [variant, color, classNames],\n );\n\n if (clickable) {\n return (\n <CardContext.Provider value={contextValue}>\n <div\n ref={ref}\n role=\"button\"\n tabIndex={0}\n className={cardClassName}\n onClick={onClick}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n onClick?.(e as unknown as React.MouseEvent<HTMLDivElement>);\n }\n }}\n data-slot=\"root\"\n {...props}\n >\n {cardContent}\n </div>\n </CardContext.Provider>\n );\n }\n\n return (\n <CardContext.Provider value={contextValue}>\n <div ref={ref} className={cardClassName} onClick={onClick} data-slot=\"root\" {...props}>\n {cardContent}\n </div>\n </CardContext.Provider>\n );\n },\n);\nCard.displayName = \"Card\";\n\n/**\n * CardHeader Component\n */\nconst CardHeader = React.memo<CardHeaderProps>(\n ({ className, ref, ...props }) => {\n const ctx = useCardContext();\n return (\n <div\n ref={ref}\n className={cn(\"card_header\", \"flex flex-col gap-1.5 p-(--card-padding)\", ctx?.classNames?.header, className)}\n data-slot=\"header\"\n {...props}\n />\n );\n },\n);\nCardHeader.displayName = \"CardHeader\";\n\n/**\n * CardTitle Component\n */\nconst CardTitle = React.memo<CardTitleProps>(\n ({ className, as: Tag = \"h3\", ref, ...props }) => {\n const ctx = useCardContext();\n return (\n <Tag\n ref={ref}\n className={cn(\n \"card_title\",\n \"text-lg font-semibold leading-none tracking-tight\",\n ctx?.classNames?.title,\n className,\n )}\n data-slot=\"title\"\n {...props}\n />\n );\n },\n);\nCardTitle.displayName = \"CardTitle\";\n\n/**\n * CardDescription Component\n *\n * Adapts text color for solid colored cards to ensure readability.\n */\nconst CardDescription = React.memo<CardDescriptionProps>(\n ({ className, ref, ...props }) => {\n const ctx = useCardContext();\n const isSolidColored = ctx?.variant === \"solid\" && ctx?.color !== \"default\";\n return (\n <p\n ref={ref}\n className={cn(\n \"card_description\",\n \"text-sm\",\n isSolidColored ? \"text-inherit opacity-80\" : \"text-text-secondary\",\n ctx?.classNames?.description,\n className,\n )}\n data-slot=\"description\"\n {...props}\n />\n );\n },\n);\nCardDescription.displayName = \"CardDescription\";\n\n/**\n * CardContent Component\n */\nconst CardContent = React.memo<CardContentProps>(\n ({ className, ref, ...props }) => {\n const ctx = useCardContext();\n return (\n <div\n ref={ref}\n className={cn(\"card_content\", \"p-(--card-content-padding) pt-0\", ctx?.classNames?.content, className)}\n data-slot=\"content\"\n {...props}\n />\n );\n },\n);\nCardContent.displayName = \"CardContent\";\n\n/**\n * CardFooter Component\n */\nconst CardFooter = React.memo<CardFooterProps>(\n ({ className, ref, ...props }) => {\n const ctx = useCardContext();\n return (\n <div\n ref={ref}\n className={cn(\n \"card_footer\",\n \"flex items-center p-(--card-footer-padding) pt-0\",\n ctx?.classNames?.footer,\n className,\n )}\n data-slot=\"footer\"\n {...props}\n />\n );\n },\n);\nCardFooter.displayName = \"CardFooter\";\n\n/**\n * CardAction Component — for buttons/actions in the header\n */\nconst CardAction = React.memo<CardActionProps>(\n ({ className, ref, ...props }) => {\n const ctx = useCardContext();\n return (\n <div\n ref={ref}\n className={cn(\"card_action\", \"ml-auto flex items-center gap-2\", ctx?.classNames?.action, className)}\n data-slot=\"action\"\n {...props}\n />\n );\n },\n);\nCardAction.displayName = \"CardAction\";\n\n/**\n * Aspect ratio classes for CardImage\n */\nconst aspectRatioClasses = {\n square: \"aspect-square\",\n video: \"aspect-video\",\n wide: \"aspect-[21/9]\",\n auto: \"\",\n};\n\n/**\n * Object fit classes for CardImage\n */\nconst objectFitClasses = {\n cover: \"object-cover\",\n contain: \"object-contain\",\n fill: \"object-fill\",\n none: \"object-none\",\n};\n\n/**\n * CardImage Component — for displaying images in cards\n */\nconst CardImage = React.memo<CardImageProps>(\n ({\n src,\n alt,\n position = \"top\",\n aspectRatio = \"video\",\n objectFit = \"cover\",\n className,\n ref,\n ...props\n }) => {\n const ctx = useCardContext();\n return (\n <div\n className={cn(\n \"overflow-hidden\",\n position === \"top\" && \"rounded-t-lg\",\n position === \"bottom\" && \"rounded-b-lg\",\n aspectRatio !== \"auto\" && aspectRatioClasses[aspectRatio],\n )}\n >\n <img\n ref={ref}\n src={src}\n alt={alt}\n className={cn(\"card_image\", \"w-full h-full\", objectFitClasses[objectFit], ctx?.classNames?.image, className)}\n data-slot=\"image\"\n loading=\"lazy\"\n {...props}\n />\n </div>\n );\n },\n);\nCardImage.displayName = \"CardImage\";\n\n// Attach sub-components to Card\nconst CardWithSubComponents = Object.assign(Card, {\n Header: CardHeader,\n Footer: CardFooter,\n Title: CardTitle,\n Description: CardDescription,\n Content: CardContent,\n Action: CardAction,\n Image: CardImage,\n});\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardDescription,\n CardContent,\n CardAction,\n CardImage,\n cardVariants,\n};\n\nexport type { CardClassNames } from \"./types\";\nexport type * from \"./types\";\nexport default CardWithSubComponents;\n"]}