@mdigital_ui/ui 0.3.8 → 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-OR4GO5XL.js → chunk-GVVP5TZM.js} +71 -233
  67. package/dist/chunk-GVVP5TZM.js.map +1 -0
  68. package/dist/{chunk-WIR52JXZ.js → chunk-H6G4BUPA.js} +98 -237
  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-OR4GO5XL.js.map +0 -1
  272. package/dist/chunk-OV6K6GML.js.map +0 -1
  273. package/dist/chunk-PHQOHVG3.js +0 -45
  274. package/dist/chunk-PHQOHVG3.js.map +0 -1
  275. package/dist/chunk-QKSDVYKF.js.map +0 -1
  276. package/dist/chunk-SJHNFRXG.js +0 -276
  277. package/dist/chunk-SJHNFRXG.js.map +0 -1
  278. package/dist/chunk-SX5UNM6C.js.map +0 -1
  279. package/dist/chunk-T4MGK3WE.js +0 -143
  280. package/dist/chunk-T4MGK3WE.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-WIR52JXZ.js.map +0 -1
  284. package/dist/chunk-WMTEAMPB.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,7 +1,8 @@
1
+ import { useRipple, RippleContainer } from './chunk-OFUPJH35.js';
1
2
  import { cn } from './chunk-NGYLRX6F.js';
2
3
  import { cva } from 'class-variance-authority';
3
4
  import React, { useState } from 'react';
4
- import { jsxs } from 'react/jsx-runtime';
5
+ import { jsxs, jsx } from 'react/jsx-runtime';
5
6
 
6
7
  var inactiveHoverClasses = {
7
8
  default: "text-text-secondary hover:text-text-primary hover:bg-surface",
@@ -57,7 +58,7 @@ var getToggleClasses = (color, variant, isActive) => {
57
58
  return activeDefaultClasses[toggleColor] || activeDefaultClasses.default;
58
59
  };
59
60
  var singleToggleVariants = cva(
60
- "inline-flex items-center gap-2 font-medium transition-[colors,transform] cursor-pointer border rounded-md active:scale-[0.95] focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
61
+ "inline-flex items-center gap-2 font-medium transition-colors cursor-pointer border rounded-md focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
61
62
  {
62
63
  variants: {
63
64
  size: {
@@ -91,6 +92,7 @@ var Toggle = React.memo(
91
92
  classNames
92
93
  }) => {
93
94
  const [internalPressed, setInternalPressed] = useState(defaultPressed);
95
+ const { ripples, onPointerDown: ripplePointerDown, onKeyDown: rippleKeyDown, onAnimationEnd: rippleAnimationEnd } = useRipple(!disabled);
94
96
  const pressed = controlledPressed !== void 0 ? controlledPressed : internalPressed;
95
97
  const handleClick = () => {
96
98
  if (disabled) return;
@@ -108,18 +110,21 @@ var Toggle = React.memo(
108
110
  "toggle_root",
109
111
  singleToggleVariants({ size }),
110
112
  getSingleToggleClasses(color, variant, pressed),
111
- "border",
113
+ "border relative overflow-hidden",
112
114
  disabled && "opacity-50 cursor-not-allowed",
113
115
  classNames?.root,
114
116
  className
115
117
  ),
116
118
  onClick: handleClick,
119
+ onPointerDown: ripplePointerDown,
120
+ onKeyDown: rippleKeyDown,
117
121
  disabled,
118
122
  "aria-pressed": pressed,
119
123
  "aria-label": ariaLabel,
120
124
  children: [
121
125
  icon,
122
- children
126
+ children,
127
+ /* @__PURE__ */ jsx(RippleContainer, { ripples, onAnimationEnd: rippleAnimationEnd })
123
128
  ]
124
129
  }
125
130
  );
@@ -129,5 +134,5 @@ Toggle.displayName = "Toggle";
129
134
  var toggle_default = Toggle;
130
135
 
131
136
  export { toggle_default };
132
- //# sourceMappingURL=chunk-DUNER5Q3.js.map
133
- //# sourceMappingURL=chunk-DUNER5Q3.js.map
137
+ //# sourceMappingURL=chunk-6YOOKE6C.js.map
138
+ //# sourceMappingURL=chunk-6YOOKE6C.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/toggle/index.tsx"],"names":[],"mappings":"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","file":"chunk-6YOOKE6C.js","sourcesContent":["'use client'\n\nimport { cva } from 'class-variance-authority'\nimport React, { useState } from 'react'\n\nimport { useRipple, RippleContainer } from '../hooks/useRipple'\nimport { cn } from '../utils'\nimport type { SingleToggleProps } from './types'\n\n// Inactive hover states for each color\nconst inactiveHoverClasses = {\n default: 'text-text-secondary hover:text-text-primary hover:bg-surface',\n primary: 'text-text-secondary hover:text-primary hover:bg-primary/10',\n secondary: 'text-text-secondary hover:text-secondary hover:bg-secondary/10',\n accent: 'text-text-secondary hover:text-accent hover:bg-accent/10',\n success: 'text-text-secondary hover:text-success hover:bg-success/10',\n error: 'text-text-secondary hover:text-error hover:bg-error/10',\n warning: 'text-text-secondary hover:text-warning hover:bg-warning/10',\n info: 'text-text-secondary hover:text-info hover:bg-info/10',\n} as const\n\n// Active solid variant classes\nconst activeSolidClasses = {\n default: 'bg-border text-text-primary',\n primary: 'bg-primary text-background',\n secondary: 'bg-secondary text-background',\n accent: 'bg-accent text-background',\n success: 'bg-success text-background',\n error: 'bg-error text-background',\n warning: 'bg-warning text-background',\n info: 'bg-info text-background',\n} as const\n\n// Active soft variant classes\nconst activeSoftClasses = {\n default: 'bg-border/20 text-text-primary',\n primary: 'bg-primary/20 text-primary',\n secondary: 'bg-secondary/20 text-secondary',\n accent: 'bg-accent/20 text-accent',\n success: 'bg-success/20 text-success',\n error: 'bg-error/20 text-error',\n warning: 'bg-warning/20 text-warning',\n info: 'bg-info/20 text-info',\n} as const\n\n// Active default variant classes\nconst activeDefaultClasses = {\n default: 'bg-surface text-text-primary',\n primary: 'border-primary bg-primary/10 text-primary',\n secondary: 'border-secondary bg-secondary/10 text-secondary',\n accent: 'border-accent bg-accent/10 text-accent',\n success: 'border-success bg-success/10 text-success',\n error: 'border-error bg-error/10 text-error',\n warning: 'border-warning bg-warning/10 text-warning',\n info: 'border-info bg-info/10 text-info',\n} as const\n\ntype ToggleColor = keyof typeof inactiveHoverClasses\n\nconst getToggleClasses = (\n color: string,\n variant: string,\n isActive: boolean,\n) => {\n const toggleColor = color as ToggleColor\n\n if (!isActive) {\n return inactiveHoverClasses[toggleColor] || inactiveHoverClasses.default\n }\n\n // Active state\n if (variant === 'solid') {\n return activeSolidClasses[toggleColor] || activeSolidClasses.default\n }\n if (variant === 'soft') {\n return activeSoftClasses[toggleColor] || activeSoftClasses.default\n }\n return activeDefaultClasses[toggleColor] || activeDefaultClasses.default\n}\n\nconst singleToggleVariants = cva(\n 'inline-flex items-center gap-2 font-medium transition-colors cursor-pointer border rounded-md focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2',\n {\n variants: {\n size: {\n xs: 'text-xs px-2 py-1',\n sm: 'text-sm px-3 py-1.5',\n md: 'text-base px-4 py-2',\n lg: 'text-lg px-5 py-2.5',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n },\n)\n\n// Single toggle uses the same class logic as toggle group\nconst getSingleToggleClasses = (\n color: string,\n variant: string,\n isPressed: boolean,\n) => {\n return getToggleClasses(color, variant, isPressed)\n}\n\nconst Toggle = React.memo<SingleToggleProps>(\n ({\n pressed: controlledPressed,\n defaultPressed = false,\n color = 'primary',\n size = 'md',\n variant = 'default',\n onChange,\n disabled = false,\n icon,\n children,\n 'aria-label': ariaLabel,\n className,\n classNames,\n }) => {\n const [internalPressed, setInternalPressed] = useState(defaultPressed)\n const { ripples, onPointerDown: ripplePointerDown, onKeyDown: rippleKeyDown, onAnimationEnd: rippleAnimationEnd } = useRipple(!disabled)\n\n const pressed =\n controlledPressed !== undefined ? controlledPressed : internalPressed\n\n const handleClick = () => {\n if (disabled) return\n\n const newPressed = !pressed\n if (controlledPressed === undefined) {\n setInternalPressed(newPressed)\n }\n onChange?.(newPressed)\n }\n\n return (\n <button\n type=\"button\"\n className={cn(\n 'toggle_root',\n singleToggleVariants({ size }),\n getSingleToggleClasses(color, variant, pressed),\n 'border relative overflow-hidden',\n disabled && 'opacity-50 cursor-not-allowed',\n classNames?.root,\n className,\n )}\n onClick={handleClick}\n onPointerDown={ripplePointerDown}\n onKeyDown={rippleKeyDown}\n disabled={disabled}\n aria-pressed={pressed}\n aria-label={ariaLabel}\n >\n {icon}\n {children}\n <RippleContainer ripples={ripples} onAnimationEnd={rippleAnimationEnd} />\n </button>\n )\n },\n)\n\nToggle.displayName = 'Toggle'\n\nexport type * from './types'\nexport default Toggle\n"]}
@@ -0,0 +1,359 @@
1
+ import { focusRingColorClasses } from './chunk-POXI7JJ4.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
+ const styles = {
48
+ default: {
49
+ default: "bg-card text-card-foreground border-border",
50
+ primary: "bg-card text-card-foreground border-primary",
51
+ secondary: "bg-card text-card-foreground border-secondary",
52
+ accent: "bg-card text-card-foreground border-accent",
53
+ success: "bg-card text-card-foreground border-success",
54
+ error: "bg-card text-card-foreground border-error",
55
+ warning: "bg-card text-card-foreground border-warning",
56
+ info: "bg-card text-card-foreground border-info"
57
+ },
58
+ solid: {
59
+ default: "bg-surface border-border text-text-primary",
60
+ primary: "bg-primary border-primary text-background",
61
+ secondary: "bg-secondary border-secondary text-background",
62
+ accent: "bg-accent border-accent text-background",
63
+ success: "bg-success border-success text-background",
64
+ error: "bg-error border-error text-background",
65
+ warning: "bg-warning border-warning text-background",
66
+ info: "bg-info border-info text-background"
67
+ },
68
+ outline: {
69
+ default: "border-border text-text-primary",
70
+ primary: "border-primary text-text-primary",
71
+ secondary: "border-secondary text-text-primary",
72
+ accent: "border-accent text-text-primary",
73
+ success: "border-success text-text-primary",
74
+ error: "border-error text-text-primary",
75
+ warning: "border-warning text-text-primary",
76
+ info: "border-info text-text-primary"
77
+ },
78
+ soft: {
79
+ default: "bg-surface text-text-primary",
80
+ primary: "bg-primary/10 text-primary",
81
+ secondary: "bg-secondary/10 text-secondary",
82
+ accent: "bg-accent/10 text-accent",
83
+ success: "bg-success/10 text-success",
84
+ error: "bg-error/10 text-error",
85
+ warning: "bg-warning/10 text-warning",
86
+ info: "bg-info/10 text-info"
87
+ },
88
+ ghost: {
89
+ default: "text-text-primary",
90
+ primary: "text-primary",
91
+ secondary: "text-secondary",
92
+ accent: "text-accent",
93
+ success: "text-success",
94
+ error: "text-error",
95
+ warning: "text-warning",
96
+ info: "text-info"
97
+ },
98
+ elevated: {
99
+ default: "bg-card text-card-foreground",
100
+ primary: "bg-card text-card-foreground ring-1 ring-primary/20",
101
+ secondary: "bg-card text-card-foreground ring-1 ring-secondary/20",
102
+ accent: "bg-card text-card-foreground ring-1 ring-accent/20",
103
+ success: "bg-card text-card-foreground ring-1 ring-success/20",
104
+ error: "bg-card text-card-foreground ring-1 ring-error/20",
105
+ warning: "bg-card text-card-foreground ring-1 ring-warning/20",
106
+ info: "bg-card text-card-foreground ring-1 ring-info/20"
107
+ }
108
+ };
109
+ return Object.entries(styles).flatMap(
110
+ ([variant, colorMap]) => Object.entries(colorMap).map(([color, cls]) => ({
111
+ variant,
112
+ color,
113
+ class: cls
114
+ }))
115
+ );
116
+ })(),
117
+ defaultVariants: {
118
+ variant: "default",
119
+ color: "default",
120
+ shadow: "none",
121
+ hoverable: false,
122
+ clickable: false
123
+ }
124
+ });
125
+ var sizeClasses = {
126
+ xs: "[--card-padding:0.5rem] [--card-content-padding:0.5rem] [--card-footer-padding:0.5rem]",
127
+ sm: "[--card-padding:1rem] [--card-content-padding:1rem] [--card-footer-padding:1rem]",
128
+ md: "[--card-padding:1.5rem] [--card-content-padding:1.5rem] [--card-footer-padding:1.5rem]",
129
+ lg: "[--card-padding:2rem] [--card-content-padding:2rem] [--card-footer-padding:2rem]"
130
+ };
131
+ var Card = React.memo(
132
+ ({
133
+ className,
134
+ variant = "default",
135
+ color = "default",
136
+ size = "md",
137
+ shadow = "none",
138
+ hoverable = false,
139
+ clickable = false,
140
+ bordered = true,
141
+ loading = false,
142
+ classNames,
143
+ onClick,
144
+ ref,
145
+ children,
146
+ ...props
147
+ }) => {
148
+ const cardContent = loading ? /* @__PURE__ */ jsxs("div", { className: "animate-pulse", children: [
149
+ /* @__PURE__ */ jsxs("div", { className: "p-(--card-padding)", children: [
150
+ /* @__PURE__ */ jsx("div", { className: "h-4 bg-surface rounded w-3/4 mb-2" }),
151
+ /* @__PURE__ */ jsx("div", { className: "h-3 bg-surface rounded w-1/2" })
152
+ ] }),
153
+ /* @__PURE__ */ jsxs("div", { className: "p-(--card-content-padding) pt-0", children: [
154
+ /* @__PURE__ */ jsx("div", { className: "h-3 bg-surface rounded w-full mb-2" }),
155
+ /* @__PURE__ */ jsx("div", { className: "h-3 bg-surface rounded w-full mb-2" }),
156
+ /* @__PURE__ */ jsx("div", { className: "h-3 bg-surface rounded w-2/3" })
157
+ ] })
158
+ ] }) : children;
159
+ const cardClassName = cn(
160
+ "card_root",
161
+ cardVariants({
162
+ variant,
163
+ color,
164
+ shadow,
165
+ hoverable,
166
+ clickable
167
+ }),
168
+ !bordered && "border-transparent",
169
+ clickable && focusRingColorClasses[color],
170
+ sizeClasses[size],
171
+ classNames?.root,
172
+ className
173
+ );
174
+ const contextValue = React.useMemo(
175
+ () => ({ variant, color, classNames }),
176
+ [variant, color, classNames]
177
+ );
178
+ if (clickable) {
179
+ return /* @__PURE__ */ jsx(CardContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx(
180
+ "div",
181
+ {
182
+ ref,
183
+ role: "button",
184
+ tabIndex: 0,
185
+ className: cardClassName,
186
+ onClick,
187
+ onKeyDown: (e) => {
188
+ if (e.key === "Enter" || e.key === " ") {
189
+ e.preventDefault();
190
+ onClick?.(e);
191
+ }
192
+ },
193
+ "data-slot": "root",
194
+ ...props,
195
+ children: cardContent
196
+ }
197
+ ) });
198
+ }
199
+ return /* @__PURE__ */ jsx(CardContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx("div", { ref, className: cardClassName, onClick, "data-slot": "root", ...props, children: cardContent }) });
200
+ }
201
+ );
202
+ Card.displayName = "Card";
203
+ var CardHeader = ({ className, ref, ...props }) => {
204
+ const ctx = useCardContext();
205
+ return /* @__PURE__ */ jsx(
206
+ "div",
207
+ {
208
+ ref,
209
+ className: cn("card_header", "flex flex-col gap-1.5 p-(--card-padding)", ctx?.classNames?.header, className),
210
+ "data-slot": "header",
211
+ ...props
212
+ }
213
+ );
214
+ };
215
+ CardHeader.displayName = "CardHeader";
216
+ var CardTitle = ({ className, as: Tag = "h3", ref, ...props }) => {
217
+ const ctx = useCardContext();
218
+ return /* @__PURE__ */ jsx(
219
+ Tag,
220
+ {
221
+ ref,
222
+ className: cn(
223
+ "card_title",
224
+ "text-lg font-semibold leading-none tracking-tight",
225
+ ctx?.classNames?.title,
226
+ className
227
+ ),
228
+ "data-slot": "title",
229
+ ...props
230
+ }
231
+ );
232
+ };
233
+ CardTitle.displayName = "CardTitle";
234
+ var CardDescription = ({ className, ref, ...props }) => {
235
+ const ctx = useCardContext();
236
+ const isSolidColored = ctx?.variant === "solid" && ctx?.color !== "default";
237
+ return /* @__PURE__ */ jsx(
238
+ "p",
239
+ {
240
+ ref,
241
+ className: cn(
242
+ "card_description",
243
+ "text-sm",
244
+ isSolidColored ? "text-inherit opacity-80" : "text-text-secondary",
245
+ ctx?.classNames?.description,
246
+ className
247
+ ),
248
+ "data-slot": "description",
249
+ ...props
250
+ }
251
+ );
252
+ };
253
+ CardDescription.displayName = "CardDescription";
254
+ var CardContent = ({ className, ref, ...props }) => {
255
+ const ctx = useCardContext();
256
+ return /* @__PURE__ */ jsx(
257
+ "div",
258
+ {
259
+ ref,
260
+ className: cn("card_content", "p-(--card-content-padding) pt-0", ctx?.classNames?.content, className),
261
+ "data-slot": "content",
262
+ ...props
263
+ }
264
+ );
265
+ };
266
+ CardContent.displayName = "CardContent";
267
+ var CardFooter = ({ className, ref, ...props }) => {
268
+ const ctx = useCardContext();
269
+ return /* @__PURE__ */ jsx(
270
+ "div",
271
+ {
272
+ ref,
273
+ className: cn(
274
+ "card_footer",
275
+ "flex items-center p-(--card-footer-padding) pt-0",
276
+ ctx?.classNames?.footer,
277
+ className
278
+ ),
279
+ "data-slot": "footer",
280
+ ...props
281
+ }
282
+ );
283
+ };
284
+ CardFooter.displayName = "CardFooter";
285
+ var CardAction = ({ className, ref, ...props }) => {
286
+ const ctx = useCardContext();
287
+ return /* @__PURE__ */ jsx(
288
+ "div",
289
+ {
290
+ ref,
291
+ className: cn("card_action", "ml-auto flex items-center gap-2", ctx?.classNames?.action, className),
292
+ "data-slot": "action",
293
+ ...props
294
+ }
295
+ );
296
+ };
297
+ CardAction.displayName = "CardAction";
298
+ var aspectRatioClasses = {
299
+ square: "aspect-square",
300
+ video: "aspect-video",
301
+ wide: "aspect-[21/9]",
302
+ auto: ""
303
+ };
304
+ var objectFitClasses = {
305
+ cover: "object-cover",
306
+ contain: "object-contain",
307
+ fill: "object-fill",
308
+ none: "object-none"
309
+ };
310
+ var CardImage = ({
311
+ src,
312
+ alt,
313
+ position = "top",
314
+ aspectRatio = "video",
315
+ objectFit = "cover",
316
+ className,
317
+ ref,
318
+ ...props
319
+ }) => {
320
+ const ctx = useCardContext();
321
+ return /* @__PURE__ */ jsx(
322
+ "div",
323
+ {
324
+ className: cn(
325
+ "overflow-hidden",
326
+ position === "top" && "rounded-t-lg",
327
+ position === "bottom" && "rounded-b-lg",
328
+ aspectRatio !== "auto" && aspectRatioClasses[aspectRatio]
329
+ ),
330
+ children: /* @__PURE__ */ jsx(
331
+ "img",
332
+ {
333
+ ref,
334
+ src,
335
+ alt,
336
+ className: cn("card_image", "w-full h-full", objectFitClasses[objectFit], ctx?.classNames?.image, className),
337
+ "data-slot": "image",
338
+ loading: "lazy",
339
+ ...props
340
+ }
341
+ )
342
+ }
343
+ );
344
+ };
345
+ CardImage.displayName = "CardImage";
346
+ var CardWithSubComponents = Object.assign(Card, {
347
+ Header: CardHeader,
348
+ Footer: CardFooter,
349
+ Title: CardTitle,
350
+ Description: CardDescription,
351
+ Content: CardContent,
352
+ Action: CardAction,
353
+ Image: CardImage
354
+ });
355
+ var card_default = CardWithSubComponents;
356
+
357
+ export { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardImage, CardTitle, cardVariants, card_default };
358
+ //# sourceMappingURL=chunk-764UKE6X.js.map
359
+ //# sourceMappingURL=chunk-764UKE6X.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/card/index.tsx"],"names":[],"mappings":"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","file":"chunk-764UKE6X.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 const styles: Record<string, Record<string, string>> = {\n default: {\n default: 'bg-card text-card-foreground border-border',\n primary: 'bg-card text-card-foreground border-primary',\n secondary: 'bg-card text-card-foreground border-secondary',\n accent: 'bg-card text-card-foreground border-accent',\n success: 'bg-card text-card-foreground border-success',\n error: 'bg-card text-card-foreground border-error',\n warning: 'bg-card text-card-foreground border-warning',\n info: 'bg-card text-card-foreground border-info',\n },\n solid: {\n default: 'bg-surface border-border text-text-primary',\n primary: 'bg-primary border-primary text-background',\n secondary: 'bg-secondary border-secondary text-background',\n accent: 'bg-accent border-accent text-background',\n success: 'bg-success border-success text-background',\n error: 'bg-error border-error text-background',\n warning: 'bg-warning border-warning text-background',\n info: 'bg-info border-info text-background',\n },\n outline: {\n default: 'border-border text-text-primary',\n primary: 'border-primary text-text-primary',\n secondary: 'border-secondary text-text-primary',\n accent: 'border-accent text-text-primary',\n success: 'border-success text-text-primary',\n error: 'border-error text-text-primary',\n warning: 'border-warning text-text-primary',\n info: 'border-info text-text-primary',\n },\n soft: {\n default: 'bg-surface text-text-primary',\n primary: 'bg-primary/10 text-primary',\n secondary: 'bg-secondary/10 text-secondary',\n accent: 'bg-accent/10 text-accent',\n success: 'bg-success/10 text-success',\n error: 'bg-error/10 text-error',\n warning: 'bg-warning/10 text-warning',\n info: 'bg-info/10 text-info',\n },\n ghost: {\n default: 'text-text-primary',\n primary: 'text-primary',\n secondary: 'text-secondary',\n accent: 'text-accent',\n success: 'text-success',\n error: 'text-error',\n warning: 'text-warning',\n info: 'text-info',\n },\n elevated: {\n default: 'bg-card text-card-foreground',\n primary: 'bg-card text-card-foreground ring-1 ring-primary/20',\n secondary: 'bg-card text-card-foreground ring-1 ring-secondary/20',\n accent: 'bg-card text-card-foreground ring-1 ring-accent/20',\n success: 'bg-card text-card-foreground ring-1 ring-success/20',\n error: 'bg-card text-card-foreground ring-1 ring-error/20',\n warning: 'bg-card text-card-foreground ring-1 ring-warning/20',\n info: 'bg-card text-card-foreground ring-1 ring-info/20',\n },\n }\n return Object.entries(styles).flatMap(([variant, colorMap]) =>\n Object.entries(colorMap).map(([color, cls]) => ({\n variant: variant as \"default\" | \"solid\" | \"outline\" | \"soft\" | \"ghost\" | \"elevated\",\n color: color as \"default\" | \"primary\" | \"secondary\" | \"accent\" | \"success\" | \"error\" | \"warning\" | \"info\",\n class: cls,\n }))\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.FC<CardHeaderProps> = ({ 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};\nCardHeader.displayName = \"CardHeader\";\n\n/**\n * CardTitle Component\n */\nconst CardTitle: React.FC<CardTitleProps> = ({ 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};\nCardTitle.displayName = \"CardTitle\";\n\n/**\n * CardDescription Component\n *\n * Adapts text color for solid colored cards to ensure readability.\n */\nconst CardDescription: React.FC<CardDescriptionProps> = ({ 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};\nCardDescription.displayName = \"CardDescription\";\n\n/**\n * CardContent Component\n */\nconst CardContent: React.FC<CardContentProps> = ({ 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};\nCardContent.displayName = \"CardContent\";\n\n/**\n * CardFooter Component\n */\nconst CardFooter: React.FC<CardFooterProps> = ({ 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};\nCardFooter.displayName = \"CardFooter\";\n\n/**\n * CardAction Component — for buttons/actions in the header\n */\nconst CardAction: React.FC<CardActionProps> = ({ 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};\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.FC<CardImageProps> = ({\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};\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"]}
@@ -1,4 +1,4 @@
1
- import { createKbdColorVariants, componentColors } from './chunk-LK4EPTNG.js';
1
+ import { createKbdColorVariants, componentColors } from './chunk-POXI7JJ4.js';
2
2
  import { cn } from './chunk-NGYLRX6F.js';
3
3
  import { cva } from 'class-variance-authority';
4
4
  import React from 'react';
@@ -71,5 +71,5 @@ Kbd.displayName = "Kbd";
71
71
  var kbd_default = Kbd;
72
72
 
73
73
  export { kbd_default };
74
- //# sourceMappingURL=chunk-EGNF7BRT.js.map
75
- //# sourceMappingURL=chunk-EGNF7BRT.js.map
74
+ //# sourceMappingURL=chunk-C4SHFLFR.js.map
75
+ //# sourceMappingURL=chunk-C4SHFLFR.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/kbd/index.tsx"],"names":[],"mappings":";;;;;;AAOA,IAAM,WAAA,GAAc,GAAA;AAAA,EAClB,+IAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,KAAA,EAAO,EAAA;AAAA,QACP,OAAA,EAAS,EAAA;AAAA,QACT,IAAA,EAAM;AAAA,OACR;AAAA,MACA,KAAA,EAAO;AAAA,QACL,OAAA,EAAS,EAAA;AAAA,QACT,OAAA,EAAS,EAAA;AAAA,QACT,SAAA,EAAW,EAAA;AAAA,QACX,MAAA,EAAQ,EAAA;AAAA,QACR,OAAA,EAAS,EAAA;AAAA,QACT,KAAA,EAAO,EAAA;AAAA,QACP,OAAA,EAAS,EAAA;AAAA,QACT,IAAA,EAAM;AAAA,OACR;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,wBAAA;AAAA,QACJ,EAAA,EAAI,mBAAA;AAAA,QACJ,EAAA,EAAI,sBAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,gBAAA,EAAkB,uBAAuB,eAAA,EAAiB;AAAA,MACxD,OAAA;AAAA,MACA,SAAA;AAAA,MACA;AAAA,KACD,CAAA;AAAA,IACD,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS,SAAA;AAAA,MACT,KAAA,EAAO,SAAA;AAAA,MACP,IAAA,EAAM;AAAA;AACR;AAEJ,CAAA;AAEA,IAAM,MAAM,KAAA,CAAM,IAAA;AAAA,EAChB,CAAC;AAAA,IACC,OAAA,GAAU,SAAA;AAAA,IACV,KAAA,GAAQ,SAAA;AAAA,IACR,IAAA,GAAO,IAAA;AAAA,IACP,SAAA;AAAA,IACA,QAAA;AAAA,IACA,GAAG;AAAA,GACL,KAAM;AACJ,IAAA,uBACE,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,WAAA,EAAU,MAAA;AAAA,QACV,SAAA,EAAW,EAAA;AAAA,UACT,UAAA;AAAA,UACA,WAAA,CAAY,EAAE,OAAA,EAAS,KAAA,EAAO,MAAM,CAAA;AAAA,UACpC,sCAAA;AAAA,UACA;AAAA,SACF;AAAA,QACC,GAAG,KAAA;AAAA,QAEH;AAAA;AAAA,KACH;AAAA,EAEJ;AACF,CAAA;AAEA,GAAA,CAAI,WAAA,GAAc,KAAA;AAGlB,IAAO,WAAA,GAAQ","file":"chunk-EGNF7BRT.js","sourcesContent":["import { cva } from 'class-variance-authority'\nimport React from 'react'\n\nimport { cn } from '../utils'\nimport { componentColors, createKbdColorVariants } from '../variants'\nimport type { KbdProps } from './types'\n\nconst kbdVariants = cva(\n 'pointer-events-none min-w-4 min-h-3.5 border inline-flex w-fit items-center justify-center gap-1 rounded-sm font-sans font-medium select-none',\n {\n variants: {\n variant: {\n solid: '',\n outline: '',\n soft: '',\n },\n color: {\n default: '',\n primary: '',\n secondary: '',\n accent: '',\n success: '',\n error: '',\n warning: '',\n info: '',\n },\n size: {\n xs: 'h-3.5 p-0.5 text-[9px]',\n sm: 'h-4 p-0.5 text-xs',\n md: 'h-4.5 px-1.5 text-sm',\n lg: 'h-5 px-2 text-sm',\n },\n },\n compoundVariants: createKbdColorVariants(componentColors, [\n 'solid',\n 'outline',\n 'soft',\n ]),\n defaultVariants: {\n variant: 'outline',\n color: 'default',\n size: 'sm',\n },\n },\n)\n\nconst Kbd = React.memo<KbdProps>(\n ({\n variant = 'outline',\n color = 'default',\n size = 'sm',\n className,\n children,\n ...props\n }) => {\n return (\n <kbd\n data-slot=\"root\"\n className={cn(\n 'kbd_root',\n kbdVariants({ variant, color, size }),\n \"[&_svg:not([class*='size-'])]:size-3\",\n className,\n )}\n {...props}\n >\n {children}\n </kbd>\n )\n },\n)\n\nKbd.displayName = 'Kbd'\n\nexport type * from './types'\nexport default Kbd\n"]}
1
+ {"version":3,"sources":["../src/kbd/index.tsx"],"names":[],"mappings":";;;;;;AAOA,IAAM,WAAA,GAAc,GAAA;AAAA,EAClB,+IAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,KAAA,EAAO,EAAA;AAAA,QACP,OAAA,EAAS,EAAA;AAAA,QACT,IAAA,EAAM;AAAA,OACR;AAAA,MACA,KAAA,EAAO;AAAA,QACL,OAAA,EAAS,EAAA;AAAA,QACT,OAAA,EAAS,EAAA;AAAA,QACT,SAAA,EAAW,EAAA;AAAA,QACX,MAAA,EAAQ,EAAA;AAAA,QACR,OAAA,EAAS,EAAA;AAAA,QACT,KAAA,EAAO,EAAA;AAAA,QACP,OAAA,EAAS,EAAA;AAAA,QACT,IAAA,EAAM;AAAA,OACR;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,wBAAA;AAAA,QACJ,EAAA,EAAI,mBAAA;AAAA,QACJ,EAAA,EAAI,sBAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,gBAAA,EAAkB,uBAAuB,eAAA,EAAiB;AAAA,MACxD,OAAA;AAAA,MACA,SAAA;AAAA,MACA;AAAA,KACD,CAAA;AAAA,IACD,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS,SAAA;AAAA,MACT,KAAA,EAAO,SAAA;AAAA,MACP,IAAA,EAAM;AAAA;AACR;AAEJ,CAAA;AAEA,IAAM,MAAM,KAAA,CAAM,IAAA;AAAA,EAChB,CAAC;AAAA,IACC,OAAA,GAAU,SAAA;AAAA,IACV,KAAA,GAAQ,SAAA;AAAA,IACR,IAAA,GAAO,IAAA;AAAA,IACP,SAAA;AAAA,IACA,QAAA;AAAA,IACA,GAAG;AAAA,GACL,KAAM;AACJ,IAAA,uBACE,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,WAAA,EAAU,MAAA;AAAA,QACV,SAAA,EAAW,EAAA;AAAA,UACT,UAAA;AAAA,UACA,WAAA,CAAY,EAAE,OAAA,EAAS,KAAA,EAAO,MAAM,CAAA;AAAA,UACpC,sCAAA;AAAA,UACA;AAAA,SACF;AAAA,QACC,GAAG,KAAA;AAAA,QAEH;AAAA;AAAA,KACH;AAAA,EAEJ;AACF,CAAA;AAEA,GAAA,CAAI,WAAA,GAAc,KAAA;AAGlB,IAAO,WAAA,GAAQ","file":"chunk-C4SHFLFR.js","sourcesContent":["import { cva } from 'class-variance-authority'\nimport React from 'react'\n\nimport { cn } from '../utils'\nimport { componentColors, createKbdColorVariants } from '../variants'\nimport type { KbdProps } from './types'\n\nconst kbdVariants = cva(\n 'pointer-events-none min-w-4 min-h-3.5 border inline-flex w-fit items-center justify-center gap-1 rounded-sm font-sans font-medium select-none',\n {\n variants: {\n variant: {\n solid: '',\n outline: '',\n soft: '',\n },\n color: {\n default: '',\n primary: '',\n secondary: '',\n accent: '',\n success: '',\n error: '',\n warning: '',\n info: '',\n },\n size: {\n xs: 'h-3.5 p-0.5 text-[9px]',\n sm: 'h-4 p-0.5 text-xs',\n md: 'h-4.5 px-1.5 text-sm',\n lg: 'h-5 px-2 text-sm',\n },\n },\n compoundVariants: createKbdColorVariants(componentColors, [\n 'solid',\n 'outline',\n 'soft',\n ]),\n defaultVariants: {\n variant: 'outline',\n color: 'default',\n size: 'sm',\n },\n },\n)\n\nconst Kbd = React.memo<KbdProps>(\n ({\n variant = 'outline',\n color = 'default',\n size = 'sm',\n className,\n children,\n ...props\n }) => {\n return (\n <kbd\n data-slot=\"root\"\n className={cn(\n 'kbd_root',\n kbdVariants({ variant, color, size }),\n \"[&_svg:not([class*='size-'])]:size-3\",\n className,\n )}\n {...props}\n >\n {children}\n </kbd>\n )\n },\n)\n\nKbd.displayName = 'Kbd'\n\nexport type * from './types'\nexport default Kbd\n"]}
@@ -1,4 +1,4 @@
1
- import { createPopoverColorVariants, componentColors } from './chunk-LK4EPTNG.js';
1
+ import { createPopoverColorVariants, componentColors } from './chunk-POXI7JJ4.js';
2
2
  import { cn } from './chunk-NGYLRX6F.js';
3
3
  import * as PopoverPrimitive from '@radix-ui/react-popover';
4
4
  import { cva } from 'class-variance-authority';
@@ -103,5 +103,5 @@ function PopoverAnchor({
103
103
  }
104
104
 
105
105
  export { Popover, PopoverAnchor, PopoverContent, PopoverTrigger };
106
- //# sourceMappingURL=chunk-ZQTJBYKO.js.map
107
- //# sourceMappingURL=chunk-ZQTJBYKO.js.map
106
+ //# sourceMappingURL=chunk-C5IGZLIT.js.map
107
+ //# sourceMappingURL=chunk-C5IGZLIT.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/popover/index.tsx"],"names":[],"mappings":";;;;;;AAUA,SAAS,OAAA,CAAQ;AAAA,EACf,GAAG;AACL,CAAA,EAAuD;AACrD,EAAA,uBACE,GAAA;AAAA,IAAkB,gBAAA,CAAA,IAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,SAAA;AAAA,MACT,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,cAAA,CAAe;AAAA,EACtB,GAAG;AACL,CAAA,EAA0D;AACxD,EAAA,uBACE,GAAA;AAAA,IAAkB,gBAAA,CAAA,OAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,iBAAA;AAAA,MACT,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,IAAM,sBAAA,GAAyB,GAAA;AAAA,EAC7B,spBAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,aAAA;AAAA,QACJ,EAAA,EAAI,aAAA;AAAA,QACJ,EAAA,EAAI,eAAA;AAAA,QACJ,EAAA,EAAI;AAAA,OACN;AAAA,MACA,OAAA,EAAS;AAAA,QACP,OAAA,EAAS,EAAA;AAAA,QACT,KAAA,EAAO,EAAA;AAAA,QACP,IAAA,EAAM;AAAA,OACR;AAAA,MACA,KAAA,EAAO;AAAA,QACL,OAAA,EAAS,EAAA;AAAA,QACT,OAAA,EAAS,EAAA;AAAA,QACT,SAAA,EAAW,EAAA;AAAA,QACX,MAAA,EAAQ,EAAA;AAAA,QACR,OAAA,EAAS,EAAA;AAAA,QACT,KAAA,EAAO,EAAA;AAAA,QACP,OAAA,EAAS,EAAA;AAAA,QACT,IAAA,EAAM;AAAA;AACR,KACF;AAAA,IACA,gBAAA,EAAkB,2BAA2B,eAAA,EAAiB;AAAA,MAC5D,SAAA;AAAA,MACA,OAAA;AAAA,MACA;AAAA,KACD,CAAA;AAAA,IACD,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM,IAAA;AAAA,MACN,OAAA,EAAS,SAAA;AAAA,MACT,KAAA,EAAO;AAAA;AACT;AAEJ,CAAA;AAQA,SAAS,cAAA,CAAe;AAAA,EACtB,SAAA;AAAA,EACA,KAAA,GAAQ,QAAA;AAAA,EACR,UAAA,GAAa,CAAA;AAAA,EACb,IAAA,GAAO,IAAA;AAAA,EACP,OAAA,GAAU,SAAA;AAAA,EACV,KAAA,GAAQ,SAAA;AAAA,EACR,UAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAwB;AACtB,EAAA,uBACE,GAAA,CAAkB,yBAAjB,EACC,QAAA,kBAAA,GAAA;AAAA,IAAkB,gBAAA,CAAA,OAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,iBAAA;AAAA,MACV,KAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA,EAAW,EAAA;AAAA,QACT,iBAAA;AAAA,QACA,sBAAA,CAAuB,EAAE,IAAA,EAAM,OAAA,EAAS,OAAO,CAAA;AAAA,QAC/C,SAAA;AAAA,QACA,UAAA,EAAY;AAAA,OACd;AAAA,MACC,GAAG;AAAA;AAAA,GACN,EACF,CAAA;AAEJ;AAEA,SAAS,aAAA,CAAc;AAAA,EACrB,GAAG;AACL,CAAA,EAAyD;AACvD,EAAA,uBACE,GAAA;AAAA,IAAkB,gBAAA,CAAA,MAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,gBAAA;AAAA,MACT,GAAG;AAAA;AAAA,GACN;AAEJ","file":"chunk-ZQTJBYKO.js","sourcesContent":["'use client'\n\nimport * as PopoverPrimitive from '@radix-ui/react-popover'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport * as React from 'react'\n\nimport { cn } from '../utils'\nimport { componentColors, createPopoverColorVariants } from '../variants'\nimport type { PopoverClassNames } from './types'\n\nfunction Popover({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Root>) {\n return (\n <PopoverPrimitive.Root\n data-slot=\"popover\"\n {...props}\n />\n )\n}\n\nfunction PopoverTrigger({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {\n return (\n <PopoverPrimitive.Trigger\n data-slot=\"popover-trigger\"\n {...props}\n />\n )\n}\n\nconst popoverContentVariants = cva(\n 'overflow-hidden will-change-[transform,_opacity] duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 data-[state=closed]:data-[side=right]:slide-out-to-left-2 data-[state=closed]:data-[side=top]:slide-out-to-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border outline-none',\n {\n variants: {\n size: {\n xs: 'p-2 text-xs',\n sm: 'p-3 text-sm',\n md: 'p-4 text-base',\n lg: 'p-5 text-lg',\n },\n variant: {\n default: '',\n solid: '',\n soft: '',\n },\n color: {\n default: '',\n primary: '',\n secondary: '',\n accent: '',\n success: '',\n error: '',\n warning: '',\n info: '',\n },\n },\n compoundVariants: createPopoverColorVariants(componentColors, [\n 'default',\n 'solid',\n 'soft',\n ]),\n defaultVariants: {\n size: 'md',\n variant: 'default',\n color: 'default',\n },\n },\n)\n\nexport interface PopoverContentProps\n extends Omit<React.ComponentProps<typeof PopoverPrimitive.Content>, 'color'>,\n VariantProps<typeof popoverContentVariants> {\n classNames?: PopoverClassNames\n}\n\nfunction PopoverContent({\n className,\n align = 'center',\n sideOffset = 4,\n size = 'md',\n variant = 'default',\n color = 'default',\n classNames,\n ...props\n}: PopoverContentProps) {\n return (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n data-slot=\"popover-content\"\n align={align}\n sideOffset={sideOffset}\n className={cn(\n 'popover_content',\n popoverContentVariants({ size, variant, color }),\n className,\n classNames?.content,\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n )\n}\n\nfunction PopoverAnchor({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {\n return (\n <PopoverPrimitive.Anchor\n data-slot=\"popover-anchor\"\n {...props}\n />\n )\n}\n\nexport type * from './types'\nexport { Popover, PopoverTrigger, PopoverContent, PopoverAnchor }\n"]}
1
+ {"version":3,"sources":["../src/popover/index.tsx"],"names":[],"mappings":";;;;;;AAUA,SAAS,OAAA,CAAQ;AAAA,EACf,GAAG;AACL,CAAA,EAAuD;AACrD,EAAA,uBACE,GAAA;AAAA,IAAkB,gBAAA,CAAA,IAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,SAAA;AAAA,MACT,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,cAAA,CAAe;AAAA,EACtB,GAAG;AACL,CAAA,EAA0D;AACxD,EAAA,uBACE,GAAA;AAAA,IAAkB,gBAAA,CAAA,OAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,iBAAA;AAAA,MACT,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,IAAM,sBAAA,GAAyB,GAAA;AAAA,EAC7B,spBAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,aAAA;AAAA,QACJ,EAAA,EAAI,aAAA;AAAA,QACJ,EAAA,EAAI,eAAA;AAAA,QACJ,EAAA,EAAI;AAAA,OACN;AAAA,MACA,OAAA,EAAS;AAAA,QACP,OAAA,EAAS,EAAA;AAAA,QACT,KAAA,EAAO,EAAA;AAAA,QACP,IAAA,EAAM;AAAA,OACR;AAAA,MACA,KAAA,EAAO;AAAA,QACL,OAAA,EAAS,EAAA;AAAA,QACT,OAAA,EAAS,EAAA;AAAA,QACT,SAAA,EAAW,EAAA;AAAA,QACX,MAAA,EAAQ,EAAA;AAAA,QACR,OAAA,EAAS,EAAA;AAAA,QACT,KAAA,EAAO,EAAA;AAAA,QACP,OAAA,EAAS,EAAA;AAAA,QACT,IAAA,EAAM;AAAA;AACR,KACF;AAAA,IACA,gBAAA,EAAkB,2BAA2B,eAAA,EAAiB;AAAA,MAC5D,SAAA;AAAA,MACA,OAAA;AAAA,MACA;AAAA,KACD,CAAA;AAAA,IACD,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM,IAAA;AAAA,MACN,OAAA,EAAS,SAAA;AAAA,MACT,KAAA,EAAO;AAAA;AACT;AAEJ,CAAA;AAQA,SAAS,cAAA,CAAe;AAAA,EACtB,SAAA;AAAA,EACA,KAAA,GAAQ,QAAA;AAAA,EACR,UAAA,GAAa,CAAA;AAAA,EACb,IAAA,GAAO,IAAA;AAAA,EACP,OAAA,GAAU,SAAA;AAAA,EACV,KAAA,GAAQ,SAAA;AAAA,EACR,UAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAwB;AACtB,EAAA,uBACE,GAAA,CAAkB,yBAAjB,EACC,QAAA,kBAAA,GAAA;AAAA,IAAkB,gBAAA,CAAA,OAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,iBAAA;AAAA,MACV,KAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA,EAAW,EAAA;AAAA,QACT,iBAAA;AAAA,QACA,sBAAA,CAAuB,EAAE,IAAA,EAAM,OAAA,EAAS,OAAO,CAAA;AAAA,QAC/C,SAAA;AAAA,QACA,UAAA,EAAY;AAAA,OACd;AAAA,MACC,GAAG;AAAA;AAAA,GACN,EACF,CAAA;AAEJ;AAEA,SAAS,aAAA,CAAc;AAAA,EACrB,GAAG;AACL,CAAA,EAAyD;AACvD,EAAA,uBACE,GAAA;AAAA,IAAkB,gBAAA,CAAA,MAAA;AAAA,IAAjB;AAAA,MACC,WAAA,EAAU,gBAAA;AAAA,MACT,GAAG;AAAA;AAAA,GACN;AAEJ","file":"chunk-C5IGZLIT.js","sourcesContent":["'use client'\n\nimport * as PopoverPrimitive from '@radix-ui/react-popover'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport * as React from 'react'\n\nimport { cn } from '../utils'\nimport { componentColors, createPopoverColorVariants } from '../variants'\nimport type { PopoverClassNames } from './types'\n\nfunction Popover({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Root>) {\n return (\n <PopoverPrimitive.Root\n data-slot=\"popover\"\n {...props}\n />\n )\n}\n\nfunction PopoverTrigger({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {\n return (\n <PopoverPrimitive.Trigger\n data-slot=\"popover-trigger\"\n {...props}\n />\n )\n}\n\nconst popoverContentVariants = cva(\n 'overflow-hidden will-change-[transform,_opacity] duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:data-[side=bottom]:slide-out-to-top-2 data-[state=closed]:data-[side=left]:slide-out-to-right-2 data-[state=closed]:data-[side=right]:slide-out-to-left-2 data-[state=closed]:data-[side=top]:slide-out-to-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border outline-none',\n {\n variants: {\n size: {\n xs: 'p-2 text-xs',\n sm: 'p-3 text-sm',\n md: 'p-4 text-base',\n lg: 'p-5 text-lg',\n },\n variant: {\n default: '',\n solid: '',\n soft: '',\n },\n color: {\n default: '',\n primary: '',\n secondary: '',\n accent: '',\n success: '',\n error: '',\n warning: '',\n info: '',\n },\n },\n compoundVariants: createPopoverColorVariants(componentColors, [\n 'default',\n 'solid',\n 'soft',\n ]),\n defaultVariants: {\n size: 'md',\n variant: 'default',\n color: 'default',\n },\n },\n)\n\nexport interface PopoverContentProps\n extends Omit<React.ComponentProps<typeof PopoverPrimitive.Content>, 'color'>,\n VariantProps<typeof popoverContentVariants> {\n classNames?: PopoverClassNames\n}\n\nfunction PopoverContent({\n className,\n align = 'center',\n sideOffset = 4,\n size = 'md',\n variant = 'default',\n color = 'default',\n classNames,\n ...props\n}: PopoverContentProps) {\n return (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n data-slot=\"popover-content\"\n align={align}\n sideOffset={sideOffset}\n className={cn(\n 'popover_content',\n popoverContentVariants({ size, variant, color }),\n className,\n classNames?.content,\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n )\n}\n\nfunction PopoverAnchor({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {\n return (\n <PopoverPrimitive.Anchor\n data-slot=\"popover-anchor\"\n {...props}\n />\n )\n}\n\nexport type * from './types'\nexport { Popover, PopoverTrigger, PopoverContent, PopoverAnchor }\n"]}
@@ -74,10 +74,10 @@ var commandInputVariants = cva(
74
74
  {
75
75
  variants: {
76
76
  size: {
77
- xs: "h-6 py-1 text-xs",
78
- sm: "h-8 py-2 text-sm",
79
- md: "h-10 py-3 text-base",
80
- lg: "h-12 py-4 text-lg"
77
+ xs: "text-xs",
78
+ sm: "text-sm",
79
+ md: "text-base",
80
+ lg: "text-lg"
81
81
  }
82
82
  },
83
83
  defaultVariants: {
@@ -330,5 +330,5 @@ var CommandShortcut = ({
330
330
  CommandShortcut.displayName = "CommandShortcut";
331
331
 
332
332
  export { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandModal, CommandSeparator, CommandShortcut };
333
- //# sourceMappingURL=chunk-SX5UNM6C.js.map
334
- //# sourceMappingURL=chunk-SX5UNM6C.js.map
333
+ //# sourceMappingURL=chunk-CH3YMDCF.js.map
334
+ //# sourceMappingURL=chunk-CH3YMDCF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/command/index.tsx"],"names":["CommandPrimitive"],"mappings":"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","file":"chunk-CH3YMDCF.js","sourcesContent":["'use client'\n\nimport { cva } from 'class-variance-authority'\nimport { Command as CommandPrimitive } from 'cmdk'\nimport { SearchIcon } from 'lucide-react'\nimport * as React from 'react'\n\nimport { CommandSize, CommandClassNames } from './types'\n\nimport {\n Modal,\n ModalContent,\n ModalDescription,\n ModalHeader,\n ModalTitle,\n} from '../modal'\nimport { ComponentColor } from '../types'\nimport { cn, iconSizes } from '../utils'\n\nconst commandVariants = cva(\n 'flex h-full w-full flex-col overflow-hidden rounded-md bg-background text-text-primary',\n {\n variants: {\n size: {\n xs: 'text-xs',\n sm: 'text-sm',\n md: 'text-base',\n lg: 'text-lg',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n },\n)\n\nconst Command = ({\n className,\n size = 'md',\n classNames,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive> & {\n size?: CommandSize\n classNames?: CommandClassNames\n}) => {\n return (\n <CommandPrimitive\n data-slot=\"command\"\n className={cn('command_root', commandVariants({ size }), classNames?.root, className)}\n {...props}\n />\n )\n}\n\nCommand.displayName = 'Command'\n\nconst CommandModal = ({\n title = 'Command Palette',\n description = 'Search for a command to run...',\n children,\n className,\n showCloseButton = true,\n size = 'md',\n ...props\n}: React.ComponentProps<typeof Modal> & {\n title?: string\n description?: string\n className?: string\n showCloseButton?: boolean\n size?: CommandSize\n}) => {\n return (\n <Modal {...props}>\n <ModalHeader className=\"sr-only\">\n <ModalTitle>{title}</ModalTitle>\n <ModalDescription>{description}</ModalDescription>\n </ModalHeader>\n <ModalContent\n className={cn('overflow-hidden p-0', className)}\n showCloseButton={showCloseButton}\n >\n <Command\n size={size}\n className=\"[&_[cmdk-group-heading]]:text-text-secondary [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0\"\n >\n {children}\n </Command>\n </ModalContent>\n </Modal>\n )\n}\n\nCommandModal.displayName = 'CommandModal'\n\nconst commandInputVariants = cva(\n 'flex w-full bg-transparent outline-hidden disabled:cursor-not-allowed disabled:opacity-50 placeholder:text-text-secondary/50 text-text-primary',\n {\n variants: {\n size: {\n xs: 'text-xs',\n sm: 'text-sm',\n md: 'text-base',\n lg: 'text-lg',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n },\n)\n\nconst commandInputWrapperVariants = cva(\n 'flex items-center gap-2 border-b border-border px-3',\n {\n variants: {\n size: {\n xs: 'h-6',\n sm: 'h-8',\n md: 'h-10',\n lg: 'h-12',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n },\n)\n\nconst CommandInput = ({\n className,\n size = 'md',\n classNames,\n ...props\n}: Omit<React.ComponentProps<typeof CommandPrimitive.Input>, 'size'> & {\n size?: CommandSize\n classNames?: CommandClassNames\n}) => {\n return (\n <div\n data-slot=\"command-input-wrapper\"\n className={commandInputWrapperVariants({ size })}\n >\n <SearchIcon\n data-slot=\"command-input-icon\"\n className={cn('command_inputIcon', 'shrink-0 opacity-50 text-text-secondary', iconSizes[size], classNames?.inputIcon)}\n />\n <CommandPrimitive.Input\n data-slot=\"command-input\"\n className={cn('command_input', commandInputVariants({ size }), classNames?.input, className)}\n {...props}\n />\n </div>\n )\n}\n\nCommandInput.displayName = 'CommandInput'\n\nconst commandListVariants = cva(\n 'scroll-py-1 overflow-x-hidden overflow-y-auto',\n {\n variants: {\n size: {\n xs: 'max-h-[150px]',\n sm: 'max-h-[200px]',\n md: 'max-h-[300px]',\n lg: 'max-h-[400px]',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n },\n)\n\nconst CommandList = ({\n className,\n size = 'md',\n classNames,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.List> & {\n size?: CommandSize\n classNames?: CommandClassNames\n}) => {\n return (\n <CommandPrimitive.List\n data-slot=\"command-list\"\n className={cn('command_list', commandListVariants({ size }), classNames?.list, className)}\n {...props}\n />\n )\n}\n\nCommandList.displayName = 'CommandList'\n\nconst commandEmptyVariants = cva('text-center text-text-secondary', {\n variants: {\n size: {\n xs: 'py-3 text-[10px]',\n sm: 'py-4 text-xs',\n md: 'py-6 text-sm',\n lg: 'py-8 text-base',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n})\n\nconst CommandEmpty = ({\n size = 'md',\n classNames,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Empty> & {\n size?: CommandSize\n classNames?: CommandClassNames\n}) => {\n return (\n <CommandPrimitive.Empty\n data-slot=\"command-empty\"\n className={cn('command_empty', commandEmptyVariants({ size }), classNames?.empty)}\n {...props}\n />\n )\n}\n\nCommandEmpty.displayName = 'CommandEmpty'\n\nconst commandGroupVariants = cva(\n 'overflow-hidden text-text-primary [&_[cmdk-group-heading]]:text-text-secondary [&_[cmdk-group-heading]]:font-medium',\n {\n variants: {\n size: {\n xs: 'p-0.5 [&_[cmdk-group-heading]]:px-1 [&_[cmdk-group-heading]]:py-0.5 [&_[cmdk-group-heading]]:text-[9px]',\n sm: 'p-0.5 [&_[cmdk-group-heading]]:px-1.5 [&_[cmdk-group-heading]]:py-1 [&_[cmdk-group-heading]]:text-[10px]',\n md: 'p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs',\n lg: 'p-1.5 [&_[cmdk-group-heading]]:px-3 [&_[cmdk-group-heading]]:py-2 [&_[cmdk-group-heading]]:text-sm',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n },\n)\n\nconst CommandGroup = ({\n className,\n size = 'md',\n classNames,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Group> & {\n size?: CommandSize\n classNames?: CommandClassNames\n}) => {\n return (\n <CommandPrimitive.Group\n data-slot=\"command-group\"\n className={cn('command_group', commandGroupVariants({ size }), classNames?.group, className)}\n {...props}\n />\n )\n}\n\nCommandGroup.displayName = 'CommandGroup'\n\nconst commandSeparatorVariants = cva('bg-border h-px', {\n variants: {\n size: {\n xs: '-mx-0',\n sm: '-mx-0.5',\n md: '-mx-1',\n lg: '-mx-1.5',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n})\n\nconst CommandSeparator = ({\n className,\n size = 'md',\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Separator> & {\n size?: CommandSize\n}) => {\n return (\n <CommandPrimitive.Separator\n data-slot=\"command-separator\"\n className={cn(commandSeparatorVariants({ size }), className)}\n {...props}\n />\n )\n}\n\nCommandSeparator.displayName = 'CommandSeparator'\n\nconst commandSelectedColorClasses: Record<ComponentColor, string> = {\n default: 'data-[selected=true]:bg-surface data-[selected=true]:text-text-primary',\n primary: 'data-[selected=true]:bg-primary/10 data-[selected=true]:text-primary',\n secondary: 'data-[selected=true]:bg-secondary/10 data-[selected=true]:text-secondary',\n accent: 'data-[selected=true]:bg-accent/10 data-[selected=true]:text-accent',\n success: 'data-[selected=true]:bg-success/10 data-[selected=true]:text-success',\n error: 'data-[selected=true]:bg-error/10 data-[selected=true]:text-error',\n warning: 'data-[selected=true]:bg-warning/10 data-[selected=true]:text-warning',\n info: 'data-[selected=true]:bg-info/10 data-[selected=true]:text-info',\n}\n\nconst commandItemVariants = cva(\n \"relative flex cursor-default items-center gap-2 rounded-sm outline-hidden select-none text-text-primary data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='text-'])]:text-text-secondary transition-colors\",\n {\n variants: {\n size: {\n xs: \"px-1 py-0.5 text-[10px] gap-1 [&_svg:not([class*='size-'])]:size-3\",\n sm: \"px-1.5 py-1 text-xs gap-1.5 [&_svg:not([class*='size-'])]:size-3.5\",\n md: \"px-2 py-1.5 text-sm gap-2 [&_svg:not([class*='size-'])]:size-4\",\n lg: \"px-3 py-2 text-base gap-2.5 [&_svg:not([class*='size-'])]:size-5\",\n },\n },\n defaultVariants: {\n size: 'md',\n },\n },\n)\n\nconst CommandItem = ({\n className,\n size = 'md',\n color = 'primary',\n classNames,\n ...props\n}: React.ComponentProps<typeof CommandPrimitive.Item> & {\n size?: CommandSize\n color?: ComponentColor\n classNames?: CommandClassNames\n}) => {\n return (\n <CommandPrimitive.Item\n data-slot=\"command-item\"\n className={cn('command_item', commandItemVariants({ size }), commandSelectedColorClasses[color], classNames?.item, className)}\n {...props}\n />\n )\n}\n\nCommandItem.displayName = 'CommandItem'\n\nconst commandShortcutVariants = cva(\n 'ml-auto tracking-widest text-text-secondary opacity-60',\n {\n variants: {\n size: {\n xs: 'text-[9px]',\n sm: 'text-[10px]',\n md: 'text-xs',\n lg: 'text-sm',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n },\n)\n\nconst CommandShortcut = ({\n className,\n size = 'md',\n classNames,\n ...props\n}: React.ComponentProps<'span'> & {\n size?: CommandSize\n classNames?: CommandClassNames\n}) => {\n return (\n <span\n data-slot=\"command-shortcut\"\n className={cn('command_shortcut', commandShortcutVariants({ size }), classNames?.shortcut, className)}\n {...props}\n />\n )\n}\n\nCommandShortcut.displayName = 'CommandShortcut'\n\nexport type * from './types'\nexport {\n Command,\n CommandModal,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandShortcut,\n CommandSeparator,\n}\n"]}