@psnext/design-system 1.1.0 → 1.2.0

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 (787) hide show
  1. package/README.md +137 -30
  2. package/dist/Header.cjs +890 -0
  3. package/dist/Header.cjs.map +1 -0
  4. package/dist/Header.js +798 -0
  5. package/dist/Header.js.map +1 -0
  6. package/dist/Icon.cjs +1969 -0
  7. package/dist/Icon.cjs.map +1 -0
  8. package/dist/Icon.js +1956 -0
  9. package/dist/Icon.js.map +1 -0
  10. package/dist/{ThemeProvider.cjs → Logo.cjs} +2 -1075
  11. package/dist/Logo.cjs.map +1 -0
  12. package/dist/{ThemeProvider.js → Logo.js} +4 -704
  13. package/dist/Logo.js.map +1 -0
  14. package/dist/Sidebar.cjs +562 -0
  15. package/dist/Sidebar.cjs.map +1 -0
  16. package/dist/Sidebar.js +416 -0
  17. package/dist/Sidebar.js.map +1 -0
  18. package/dist/{utils.cjs → chunk.cjs} +0 -39
  19. package/dist/cn.cjs +15 -0
  20. package/dist/cn.cjs.map +1 -0
  21. package/dist/cn.js +10 -0
  22. package/dist/cn.js.map +1 -0
  23. package/dist/index.cjs +413 -346
  24. package/dist/index.d.cts +12 -1996
  25. package/dist/index.d.cts.map +1 -1
  26. package/dist/index.d.ts +12 -1996
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +71 -5
  29. package/dist/index10.d.cts +38 -0
  30. package/dist/index10.d.cts.map +1 -0
  31. package/dist/index10.d.ts +38 -0
  32. package/dist/index10.d.ts.map +1 -0
  33. package/dist/index11.d.cts +30 -0
  34. package/dist/index11.d.cts.map +1 -0
  35. package/dist/index11.d.ts +30 -0
  36. package/dist/index11.d.ts.map +1 -0
  37. package/dist/index12.d.cts +75 -0
  38. package/dist/index12.d.cts.map +1 -0
  39. package/dist/index12.d.ts +75 -0
  40. package/dist/index12.d.ts.map +1 -0
  41. package/dist/index13.d.cts +57 -0
  42. package/dist/index13.d.cts.map +1 -0
  43. package/dist/index13.d.ts +57 -0
  44. package/dist/index13.d.ts.map +1 -0
  45. package/dist/index14.d.cts +98 -0
  46. package/dist/index14.d.cts.map +1 -0
  47. package/dist/index14.d.ts +98 -0
  48. package/dist/index14.d.ts.map +1 -0
  49. package/dist/index15.d.cts +29 -0
  50. package/dist/index15.d.cts.map +1 -0
  51. package/dist/index15.d.ts +29 -0
  52. package/dist/index15.d.ts.map +1 -0
  53. package/dist/index16.d.cts +38 -0
  54. package/dist/index16.d.cts.map +1 -0
  55. package/dist/index16.d.ts +38 -0
  56. package/dist/index16.d.ts.map +1 -0
  57. package/dist/index17.d.cts +19 -0
  58. package/dist/index17.d.cts.map +1 -0
  59. package/dist/index17.d.ts +19 -0
  60. package/dist/index17.d.ts.map +1 -0
  61. package/dist/index18.d.cts +73 -0
  62. package/dist/index18.d.cts.map +1 -0
  63. package/dist/index18.d.ts +73 -0
  64. package/dist/index18.d.ts.map +1 -0
  65. package/dist/index19.d.cts +66 -0
  66. package/dist/index19.d.cts.map +1 -0
  67. package/dist/index19.d.ts +66 -0
  68. package/dist/index19.d.ts.map +1 -0
  69. package/dist/index2.d.cts +44 -4
  70. package/dist/index2.d.cts.map +1 -0
  71. package/dist/index2.d.ts +44 -4
  72. package/dist/index2.d.ts.map +1 -0
  73. package/dist/index20.d.cts +96 -0
  74. package/dist/index20.d.cts.map +1 -0
  75. package/dist/index20.d.ts +96 -0
  76. package/dist/index20.d.ts.map +1 -0
  77. package/dist/index21.d.cts +34 -0
  78. package/dist/index21.d.cts.map +1 -0
  79. package/dist/index21.d.ts +34 -0
  80. package/dist/index21.d.ts.map +1 -0
  81. package/dist/index22.d.cts +62 -0
  82. package/dist/index22.d.cts.map +1 -0
  83. package/dist/index22.d.ts +62 -0
  84. package/dist/index22.d.ts.map +1 -0
  85. package/dist/index23.d.cts +99 -0
  86. package/dist/index23.d.cts.map +1 -0
  87. package/dist/index23.d.ts +99 -0
  88. package/dist/index23.d.ts.map +1 -0
  89. package/dist/index24.d.cts +49 -0
  90. package/dist/index24.d.cts.map +1 -0
  91. package/dist/index24.d.ts +49 -0
  92. package/dist/index24.d.ts.map +1 -0
  93. package/dist/index25.d.cts +17 -0
  94. package/dist/index25.d.cts.map +1 -0
  95. package/dist/index25.d.ts +17 -0
  96. package/dist/index25.d.ts.map +1 -0
  97. package/dist/index26.d.cts +80 -0
  98. package/dist/index26.d.cts.map +1 -0
  99. package/dist/index26.d.ts +80 -0
  100. package/dist/index26.d.ts.map +1 -0
  101. package/dist/index27.d.cts +71 -0
  102. package/dist/index27.d.cts.map +1 -0
  103. package/dist/index27.d.ts +71 -0
  104. package/dist/index27.d.ts.map +1 -0
  105. package/dist/index28.d.cts +37 -0
  106. package/dist/index28.d.cts.map +1 -0
  107. package/dist/index28.d.ts +37 -0
  108. package/dist/index28.d.ts.map +1 -0
  109. package/dist/index29.d.cts +25 -0
  110. package/dist/index29.d.cts.map +1 -0
  111. package/dist/index29.d.ts +25 -0
  112. package/dist/index29.d.ts.map +1 -0
  113. package/dist/index3.d.cts +62 -0
  114. package/dist/index3.d.cts.map +1 -0
  115. package/dist/index3.d.ts +62 -0
  116. package/dist/index3.d.ts.map +1 -0
  117. package/dist/index30.d.cts +59 -0
  118. package/dist/index30.d.cts.map +1 -0
  119. package/dist/index30.d.ts +59 -0
  120. package/dist/index30.d.ts.map +1 -0
  121. package/dist/index31.d.cts +40 -0
  122. package/dist/index31.d.cts.map +1 -0
  123. package/dist/index31.d.ts +40 -0
  124. package/dist/index31.d.ts.map +1 -0
  125. package/dist/index32.d.cts +23 -0
  126. package/dist/index32.d.cts.map +1 -0
  127. package/dist/index32.d.ts +23 -0
  128. package/dist/index32.d.ts.map +1 -0
  129. package/dist/index33.d.cts +55 -0
  130. package/dist/index33.d.cts.map +1 -0
  131. package/dist/index33.d.ts +55 -0
  132. package/dist/index33.d.ts.map +1 -0
  133. package/dist/index34.d.cts +43 -0
  134. package/dist/index34.d.cts.map +1 -0
  135. package/dist/index34.d.ts +43 -0
  136. package/dist/index34.d.ts.map +1 -0
  137. package/dist/index35.d.cts +77 -0
  138. package/dist/index35.d.cts.map +1 -0
  139. package/dist/index35.d.ts +77 -0
  140. package/dist/index35.d.ts.map +1 -0
  141. package/dist/index36.d.cts +19 -0
  142. package/dist/index36.d.cts.map +1 -0
  143. package/dist/index36.d.ts +19 -0
  144. package/dist/index36.d.ts.map +1 -0
  145. package/dist/index37.d.cts +29 -0
  146. package/dist/index37.d.cts.map +1 -0
  147. package/dist/index37.d.ts +29 -0
  148. package/dist/index37.d.ts.map +1 -0
  149. package/dist/index38.d.cts +20 -0
  150. package/dist/index38.d.cts.map +1 -0
  151. package/dist/index38.d.ts +20 -0
  152. package/dist/index38.d.ts.map +1 -0
  153. package/dist/index39.d.cts +105 -0
  154. package/dist/index39.d.cts.map +1 -0
  155. package/dist/index39.d.ts +105 -0
  156. package/dist/index39.d.ts.map +1 -0
  157. package/dist/index4.d.cts +11 -0
  158. package/dist/index4.d.cts.map +1 -0
  159. package/dist/index4.d.ts +11 -0
  160. package/dist/index4.d.ts.map +1 -0
  161. package/dist/index40.d.cts +22 -0
  162. package/dist/index40.d.cts.map +1 -0
  163. package/dist/index40.d.ts +22 -0
  164. package/dist/index40.d.ts.map +1 -0
  165. package/dist/index41.d.cts +56 -0
  166. package/dist/index41.d.cts.map +1 -0
  167. package/dist/index41.d.ts +56 -0
  168. package/dist/index41.d.ts.map +1 -0
  169. package/dist/index42.d.cts +45 -0
  170. package/dist/index42.d.cts.map +1 -0
  171. package/dist/index42.d.ts +45 -0
  172. package/dist/index42.d.ts.map +1 -0
  173. package/dist/index43.d.cts +96 -0
  174. package/dist/index43.d.cts.map +1 -0
  175. package/dist/index43.d.ts +96 -0
  176. package/dist/index43.d.ts.map +1 -0
  177. package/dist/index44.d.cts +48 -0
  178. package/dist/index44.d.cts.map +1 -0
  179. package/dist/index44.d.ts +48 -0
  180. package/dist/index44.d.ts.map +1 -0
  181. package/dist/index45.d.cts +28 -0
  182. package/dist/index45.d.cts.map +1 -0
  183. package/dist/index45.d.ts +28 -0
  184. package/dist/index45.d.ts.map +1 -0
  185. package/dist/index46.d.cts +41 -0
  186. package/dist/index46.d.cts.map +1 -0
  187. package/dist/index46.d.ts +41 -0
  188. package/dist/index46.d.ts.map +1 -0
  189. package/dist/index47.d.cts +25 -0
  190. package/dist/index47.d.cts.map +1 -0
  191. package/dist/index47.d.ts +25 -0
  192. package/dist/index47.d.ts.map +1 -0
  193. package/dist/index48.d.cts +21 -0
  194. package/dist/index48.d.cts.map +1 -0
  195. package/dist/index48.d.ts +21 -0
  196. package/dist/index48.d.ts.map +1 -0
  197. package/dist/index49.d.cts +69 -0
  198. package/dist/index49.d.cts.map +1 -0
  199. package/dist/index49.d.ts +69 -0
  200. package/dist/index49.d.ts.map +1 -0
  201. package/dist/index5.d.cts +45 -0
  202. package/dist/index5.d.cts.map +1 -0
  203. package/dist/index5.d.ts +45 -0
  204. package/dist/index5.d.ts.map +1 -0
  205. package/dist/index50.d.cts +63 -0
  206. package/dist/index50.d.cts.map +1 -0
  207. package/dist/index50.d.ts +63 -0
  208. package/dist/index50.d.ts.map +1 -0
  209. package/dist/index51.d.cts +31 -0
  210. package/dist/index51.d.cts.map +1 -0
  211. package/dist/index51.d.ts +31 -0
  212. package/dist/index51.d.ts.map +1 -0
  213. package/dist/index52.d.cts +209 -0
  214. package/dist/index52.d.cts.map +1 -0
  215. package/dist/index52.d.ts +209 -0
  216. package/dist/index52.d.ts.map +1 -0
  217. package/dist/index53.d.cts +26 -0
  218. package/dist/index53.d.cts.map +1 -0
  219. package/dist/index53.d.ts +26 -0
  220. package/dist/index53.d.ts.map +1 -0
  221. package/dist/index54.d.cts +28 -0
  222. package/dist/index54.d.cts.map +1 -0
  223. package/dist/index54.d.ts +28 -0
  224. package/dist/index54.d.ts.map +1 -0
  225. package/dist/index55.d.cts +25 -0
  226. package/dist/index55.d.cts.map +1 -0
  227. package/dist/index55.d.ts +25 -0
  228. package/dist/index55.d.ts.map +1 -0
  229. package/dist/index56.d.cts +12 -0
  230. package/dist/index56.d.cts.map +1 -0
  231. package/dist/index56.d.ts +12 -0
  232. package/dist/index56.d.ts.map +1 -0
  233. package/dist/index57.d.cts +50 -0
  234. package/dist/index57.d.cts.map +1 -0
  235. package/dist/index57.d.ts +50 -0
  236. package/dist/index57.d.ts.map +1 -0
  237. package/dist/index58.d.cts +51 -0
  238. package/dist/index58.d.cts.map +1 -0
  239. package/dist/index58.d.ts +51 -0
  240. package/dist/index58.d.ts.map +1 -0
  241. package/dist/index59.d.cts +58 -0
  242. package/dist/index59.d.cts.map +1 -0
  243. package/dist/index59.d.ts +58 -0
  244. package/dist/index59.d.ts.map +1 -0
  245. package/dist/index6.d.cts +26 -0
  246. package/dist/index6.d.cts.map +1 -0
  247. package/dist/index6.d.ts +26 -0
  248. package/dist/index6.d.ts.map +1 -0
  249. package/dist/index60.d.cts +45 -0
  250. package/dist/index60.d.cts.map +1 -0
  251. package/dist/index60.d.ts +45 -0
  252. package/dist/index60.d.ts.map +1 -0
  253. package/dist/index61.d.cts +21 -0
  254. package/dist/index61.d.cts.map +1 -0
  255. package/dist/index61.d.ts +21 -0
  256. package/dist/index61.d.ts.map +1 -0
  257. package/dist/index62.d.cts +45 -0
  258. package/dist/index62.d.cts.map +1 -0
  259. package/dist/index62.d.ts +45 -0
  260. package/dist/index62.d.ts.map +1 -0
  261. package/dist/index63.d.cts +23 -0
  262. package/dist/index63.d.cts.map +1 -0
  263. package/dist/index63.d.ts +23 -0
  264. package/dist/index63.d.ts.map +1 -0
  265. package/dist/index64.d.cts +48 -0
  266. package/dist/index64.d.cts.map +1 -0
  267. package/dist/index64.d.ts +48 -0
  268. package/dist/index64.d.ts.map +1 -0
  269. package/dist/index65.d.cts +25 -0
  270. package/dist/index65.d.cts.map +1 -0
  271. package/dist/index65.d.ts +25 -0
  272. package/dist/index65.d.ts.map +1 -0
  273. package/dist/index66.d.cts +19 -0
  274. package/dist/index66.d.cts.map +1 -0
  275. package/dist/index66.d.ts +19 -0
  276. package/dist/index66.d.ts.map +1 -0
  277. package/dist/index67.d.cts +37 -0
  278. package/dist/index67.d.cts.map +1 -0
  279. package/dist/index67.d.ts +37 -0
  280. package/dist/index67.d.ts.map +1 -0
  281. package/dist/index68.d.cts +36 -0
  282. package/dist/index68.d.cts.map +1 -0
  283. package/dist/index68.d.ts +36 -0
  284. package/dist/index68.d.ts.map +1 -0
  285. package/dist/index69.d.cts +69 -0
  286. package/dist/index69.d.ts +69 -0
  287. package/dist/index7.d.cts +46 -0
  288. package/dist/index7.d.cts.map +1 -0
  289. package/dist/index7.d.ts +46 -0
  290. package/dist/index7.d.ts.map +1 -0
  291. package/dist/index70.d.cts +242 -0
  292. package/dist/index70.d.cts.map +1 -0
  293. package/dist/index70.d.ts +242 -0
  294. package/dist/index70.d.ts.map +1 -0
  295. package/dist/index8.d.cts +26 -0
  296. package/dist/index8.d.cts.map +1 -0
  297. package/dist/index8.d.ts +26 -0
  298. package/dist/index8.d.ts.map +1 -0
  299. package/dist/index9.d.cts +20 -0
  300. package/dist/index9.d.cts.map +1 -0
  301. package/dist/index9.d.ts +20 -0
  302. package/dist/index9.d.ts.map +1 -0
  303. package/dist/layouts/Container/index.cjs +39 -0
  304. package/dist/layouts/Container/index.cjs.map +1 -0
  305. package/dist/layouts/Container/index.d.cts +2 -0
  306. package/dist/layouts/Container/index.d.ts +2 -0
  307. package/dist/layouts/Container/index.js +38 -0
  308. package/dist/layouts/Container/index.js.map +1 -0
  309. package/dist/layouts/PageBackground/index.cjs +22 -0
  310. package/dist/layouts/PageBackground/index.cjs.map +1 -0
  311. package/dist/layouts/PageBackground/index.d.cts +2 -0
  312. package/dist/layouts/PageBackground/index.d.ts +2 -0
  313. package/dist/layouts/PageBackground/index.js +21 -0
  314. package/dist/layouts/PageBackground/index.js.map +1 -0
  315. package/dist/{Stack.cjs → layouts/Stack/index.cjs} +7 -15
  316. package/dist/layouts/Stack/index.cjs.map +1 -0
  317. package/dist/layouts/Stack/index.d.cts +2 -0
  318. package/dist/layouts/Stack/index.d.ts +2 -0
  319. package/dist/{Stack.js → layouts/Stack/index.js} +4 -3
  320. package/dist/layouts/Stack/index.js.map +1 -0
  321. package/dist/layouts/TwoColumn/index.cjs +51 -0
  322. package/dist/layouts/TwoColumn/index.cjs.map +1 -0
  323. package/dist/layouts/TwoColumn/index.d.cts +2 -0
  324. package/dist/layouts/TwoColumn/index.d.ts +2 -0
  325. package/dist/layouts/TwoColumn/index.js +48 -0
  326. package/dist/layouts/TwoColumn/index.js.map +1 -0
  327. package/dist/layouts/index.cjs +13 -100
  328. package/dist/layouts/index.d.cts +5 -76
  329. package/dist/layouts/index.d.ts +5 -76
  330. package/dist/layouts/index.js +4 -91
  331. package/dist/patterns/DataTable/index.cjs +114 -0
  332. package/dist/patterns/DataTable/index.cjs.map +1 -0
  333. package/dist/patterns/DataTable/index.d.cts +43 -0
  334. package/dist/patterns/DataTable/index.d.cts.map +1 -0
  335. package/dist/patterns/DataTable/index.d.ts +43 -0
  336. package/dist/patterns/DataTable/index.d.ts.map +1 -0
  337. package/dist/patterns/DataTable/index.js +110 -0
  338. package/dist/patterns/DataTable/index.js.map +1 -0
  339. package/dist/patterns/Footer/index.cjs +76 -0
  340. package/dist/patterns/Footer/index.cjs.map +1 -0
  341. package/dist/patterns/Footer/index.d.cts +54 -0
  342. package/dist/patterns/Footer/index.d.cts.map +1 -0
  343. package/dist/patterns/Footer/index.d.ts +54 -0
  344. package/dist/patterns/Footer/index.d.ts.map +1 -0
  345. package/dist/patterns/Footer/index.js +70 -0
  346. package/dist/patterns/Footer/index.js.map +1 -0
  347. package/dist/patterns/Header/index.cjs +17 -0
  348. package/dist/patterns/Header/index.d.cts +2 -0
  349. package/dist/patterns/Header/index.d.ts +2 -0
  350. package/dist/patterns/Header/index.js +2 -0
  351. package/dist/patterns/MediaObject/index.cjs +108 -0
  352. package/dist/patterns/MediaObject/index.cjs.map +1 -0
  353. package/dist/patterns/MediaObject/index.d.cts +71 -0
  354. package/dist/patterns/MediaObject/index.d.cts.map +1 -0
  355. package/dist/patterns/MediaObject/index.d.ts +71 -0
  356. package/dist/patterns/MediaObject/index.d.ts.map +1 -0
  357. package/dist/patterns/MediaObject/index.js +99 -0
  358. package/dist/patterns/MediaObject/index.js.map +1 -0
  359. package/dist/patterns/SectionCard/index.cjs +35 -0
  360. package/dist/patterns/SectionCard/index.cjs.map +1 -0
  361. package/dist/patterns/SectionCard/index.d.cts +21 -0
  362. package/dist/patterns/SectionCard/index.d.cts.map +1 -0
  363. package/dist/patterns/SectionCard/index.d.ts +21 -0
  364. package/dist/patterns/SectionCard/index.d.ts.map +1 -0
  365. package/dist/patterns/SectionCard/index.js +34 -0
  366. package/dist/patterns/SectionCard/index.js.map +1 -0
  367. package/dist/patterns/SectionHeading/index.cjs +44 -0
  368. package/dist/patterns/SectionHeading/index.cjs.map +1 -0
  369. package/dist/patterns/SectionHeading/index.d.cts +37 -0
  370. package/dist/patterns/SectionHeading/index.d.cts.map +1 -0
  371. package/dist/patterns/SectionHeading/index.d.ts +37 -0
  372. package/dist/patterns/SectionHeading/index.d.ts.map +1 -0
  373. package/dist/patterns/SectionHeading/index.js +43 -0
  374. package/dist/patterns/SectionHeading/index.js.map +1 -0
  375. package/dist/patterns/index.cjs +40 -1124
  376. package/dist/patterns/index.d.cts +7 -410
  377. package/dist/patterns/index.d.ts +7 -410
  378. package/dist/patterns/index.js +6 -1088
  379. package/dist/primitives/Accordion/index.cjs +54 -0
  380. package/dist/primitives/Accordion/index.cjs.map +1 -0
  381. package/dist/primitives/Accordion/index.d.cts +2 -0
  382. package/dist/primitives/Accordion/index.d.ts +2 -0
  383. package/dist/primitives/Accordion/index.js +50 -0
  384. package/dist/primitives/Accordion/index.js.map +1 -0
  385. package/dist/primitives/Alert/index.cjs +61 -0
  386. package/dist/primitives/Alert/index.cjs.map +1 -0
  387. package/dist/primitives/Alert/index.d.cts +2 -0
  388. package/dist/primitives/Alert/index.d.ts +2 -0
  389. package/dist/primitives/Alert/index.js +57 -0
  390. package/dist/primitives/Alert/index.js.map +1 -0
  391. package/dist/primitives/AlertDialog/index.cjs +102 -0
  392. package/dist/primitives/AlertDialog/index.cjs.map +1 -0
  393. package/dist/primitives/AlertDialog/index.d.cts +2 -0
  394. package/dist/primitives/AlertDialog/index.d.ts +2 -0
  395. package/dist/primitives/AlertDialog/index.js +90 -0
  396. package/dist/primitives/AlertDialog/index.js.map +1 -0
  397. package/dist/primitives/AspectRatio/index.cjs +15 -0
  398. package/dist/primitives/AspectRatio/index.cjs.map +1 -0
  399. package/dist/primitives/AspectRatio/index.d.cts +2 -0
  400. package/dist/primitives/AspectRatio/index.d.ts +2 -0
  401. package/dist/primitives/AspectRatio/index.js +14 -0
  402. package/dist/primitives/AspectRatio/index.js.map +1 -0
  403. package/dist/primitives/Avatar/index.cjs +64 -0
  404. package/dist/primitives/Avatar/index.cjs.map +1 -0
  405. package/dist/primitives/Avatar/index.d.cts +2 -0
  406. package/dist/primitives/Avatar/index.d.ts +2 -0
  407. package/dist/primitives/Avatar/index.js +58 -0
  408. package/dist/primitives/Avatar/index.js.map +1 -0
  409. package/dist/primitives/Badge/index.cjs +44 -0
  410. package/dist/primitives/Badge/index.cjs.map +1 -0
  411. package/dist/primitives/Badge/index.d.cts +2 -0
  412. package/dist/primitives/Badge/index.d.ts +2 -0
  413. package/dist/primitives/Badge/index.js +43 -0
  414. package/dist/primitives/Badge/index.js.map +1 -0
  415. package/dist/primitives/Breadcrumb/index.cjs +82 -0
  416. package/dist/primitives/Breadcrumb/index.cjs.map +1 -0
  417. package/dist/primitives/Breadcrumb/index.d.cts +2 -0
  418. package/dist/primitives/Breadcrumb/index.d.ts +2 -0
  419. package/dist/primitives/Breadcrumb/index.js +75 -0
  420. package/dist/primitives/Breadcrumb/index.js.map +1 -0
  421. package/dist/primitives/Button/index.cjs +61 -0
  422. package/dist/primitives/Button/index.cjs.map +1 -0
  423. package/dist/primitives/Button/index.d.cts +2 -0
  424. package/dist/primitives/Button/index.d.ts +2 -0
  425. package/dist/primitives/Button/index.js +60 -0
  426. package/dist/primitives/Button/index.js.map +1 -0
  427. package/dist/primitives/ButtonGroup/index.cjs +46 -0
  428. package/dist/primitives/ButtonGroup/index.cjs.map +1 -0
  429. package/dist/primitives/ButtonGroup/index.d.cts +2 -0
  430. package/dist/primitives/ButtonGroup/index.d.ts +2 -0
  431. package/dist/primitives/ButtonGroup/index.js +43 -0
  432. package/dist/primitives/ButtonGroup/index.js.map +1 -0
  433. package/dist/primitives/Calendar/index.cjs +112 -0
  434. package/dist/primitives/Calendar/index.cjs.map +1 -0
  435. package/dist/primitives/Calendar/index.d.cts +2 -0
  436. package/dist/primitives/Calendar/index.d.ts +2 -0
  437. package/dist/primitives/Calendar/index.js +108 -0
  438. package/dist/primitives/Calendar/index.js.map +1 -0
  439. package/dist/primitives/Card/index.cjs +128 -0
  440. package/dist/primitives/Card/index.cjs.map +1 -0
  441. package/dist/primitives/Card/index.d.cts +2 -0
  442. package/dist/primitives/Card/index.d.ts +2 -0
  443. package/dist/primitives/Card/index.js +121 -0
  444. package/dist/primitives/Card/index.js.map +1 -0
  445. package/dist/primitives/Carousel/index.cjs +146 -0
  446. package/dist/primitives/Carousel/index.cjs.map +1 -0
  447. package/dist/primitives/Carousel/index.d.cts +2 -0
  448. package/dist/primitives/Carousel/index.d.ts +2 -0
  449. package/dist/primitives/Carousel/index.js +138 -0
  450. package/dist/primitives/Carousel/index.js.map +1 -0
  451. package/dist/primitives/Chart/index.cjs +162 -0
  452. package/dist/primitives/Chart/index.cjs.map +1 -0
  453. package/dist/primitives/Chart/index.d.cts +2 -0
  454. package/dist/primitives/Chart/index.d.ts +2 -0
  455. package/dist/primitives/Chart/index.js +153 -0
  456. package/dist/primitives/Chart/index.js.map +1 -0
  457. package/dist/primitives/Checkbox/index.cjs +53 -0
  458. package/dist/primitives/Checkbox/index.cjs.map +1 -0
  459. package/dist/primitives/Checkbox/index.d.cts +2 -0
  460. package/dist/primitives/Checkbox/index.d.ts +2 -0
  461. package/dist/primitives/Checkbox/index.js +51 -0
  462. package/dist/primitives/Checkbox/index.js.map +1 -0
  463. package/dist/primitives/CheckboxTree/index.cjs +106 -0
  464. package/dist/primitives/CheckboxTree/index.cjs.map +1 -0
  465. package/dist/primitives/CheckboxTree/index.d.cts +2 -0
  466. package/dist/primitives/CheckboxTree/index.d.ts +2 -0
  467. package/dist/primitives/CheckboxTree/index.js +103 -0
  468. package/dist/primitives/CheckboxTree/index.js.map +1 -0
  469. package/dist/primitives/Collapsible/index.cjs +31 -0
  470. package/dist/primitives/Collapsible/index.cjs.map +1 -0
  471. package/dist/primitives/Collapsible/index.d.cts +2 -0
  472. package/dist/primitives/Collapsible/index.d.ts +2 -0
  473. package/dist/primitives/Collapsible/index.js +28 -0
  474. package/dist/primitives/Collapsible/index.js.map +1 -0
  475. package/dist/primitives/Command/index.cjs +104 -0
  476. package/dist/primitives/Command/index.cjs.map +1 -0
  477. package/dist/primitives/Command/index.d.cts +2 -0
  478. package/dist/primitives/Command/index.d.ts +2 -0
  479. package/dist/primitives/Command/index.js +95 -0
  480. package/dist/primitives/Command/index.js.map +1 -0
  481. package/dist/primitives/ContextMenu/index.cjs +152 -0
  482. package/dist/primitives/ContextMenu/index.cjs.map +1 -0
  483. package/dist/primitives/ContextMenu/index.d.cts +2 -0
  484. package/dist/primitives/ContextMenu/index.d.ts +2 -0
  485. package/dist/primitives/ContextMenu/index.js +137 -0
  486. package/dist/primitives/ContextMenu/index.js.map +1 -0
  487. package/dist/primitives/Credits/index.cjs +39 -0
  488. package/dist/primitives/Credits/index.cjs.map +1 -0
  489. package/dist/primitives/Credits/index.d.cts +2 -0
  490. package/dist/primitives/Credits/index.d.ts +2 -0
  491. package/dist/primitives/Credits/index.js +38 -0
  492. package/dist/primitives/Credits/index.js.map +1 -0
  493. package/dist/primitives/Dialog/index.cjs +121 -0
  494. package/dist/primitives/Dialog/index.cjs.map +1 -0
  495. package/dist/primitives/Dialog/index.d.cts +2 -0
  496. package/dist/primitives/Dialog/index.d.ts +2 -0
  497. package/dist/primitives/Dialog/index.js +111 -0
  498. package/dist/primitives/Dialog/index.js.map +1 -0
  499. package/dist/primitives/Drawer/index.cjs +98 -0
  500. package/dist/primitives/Drawer/index.cjs.map +1 -0
  501. package/dist/primitives/Drawer/index.d.cts +2 -0
  502. package/dist/primitives/Drawer/index.d.ts +2 -0
  503. package/dist/primitives/Drawer/index.js +88 -0
  504. package/dist/primitives/Drawer/index.js.map +1 -0
  505. package/dist/primitives/DropdownMenu/index.cjs +153 -0
  506. package/dist/primitives/DropdownMenu/index.cjs.map +1 -0
  507. package/dist/primitives/DropdownMenu/index.d.cts +2 -0
  508. package/dist/primitives/DropdownMenu/index.d.ts +2 -0
  509. package/dist/primitives/DropdownMenu/index.js +138 -0
  510. package/dist/primitives/DropdownMenu/index.js.map +1 -0
  511. package/dist/primitives/Empty/index.cjs +84 -0
  512. package/dist/primitives/Empty/index.cjs.map +1 -0
  513. package/dist/primitives/Empty/index.d.cts +2 -0
  514. package/dist/primitives/Empty/index.d.ts +2 -0
  515. package/dist/primitives/Empty/index.js +77 -0
  516. package/dist/primitives/Empty/index.js.map +1 -0
  517. package/dist/primitives/Field/index.cjs +139 -0
  518. package/dist/primitives/Field/index.cjs.map +1 -0
  519. package/dist/primitives/Field/index.d.cts +2 -0
  520. package/dist/primitives/Field/index.d.ts +2 -0
  521. package/dist/primitives/Field/index.js +129 -0
  522. package/dist/primitives/Field/index.js.map +1 -0
  523. package/dist/primitives/Form/index.cjs +104 -0
  524. package/dist/primitives/Form/index.cjs.map +1 -0
  525. package/dist/primitives/Form/index.d.cts +2 -0
  526. package/dist/primitives/Form/index.d.ts +2 -0
  527. package/dist/primitives/Form/index.js +94 -0
  528. package/dist/primitives/Form/index.js.map +1 -0
  529. package/dist/primitives/Heading/index.cjs +53 -0
  530. package/dist/primitives/Heading/index.cjs.map +1 -0
  531. package/dist/primitives/Heading/index.d.cts +2 -0
  532. package/dist/primitives/Heading/index.d.ts +2 -0
  533. package/dist/primitives/Heading/index.js +52 -0
  534. package/dist/primitives/Heading/index.js.map +1 -0
  535. package/dist/primitives/HoverCard/index.cjs +38 -0
  536. package/dist/primitives/HoverCard/index.cjs.map +1 -0
  537. package/dist/primitives/HoverCard/index.d.cts +2 -0
  538. package/dist/primitives/HoverCard/index.d.ts +2 -0
  539. package/dist/primitives/HoverCard/index.js +35 -0
  540. package/dist/primitives/HoverCard/index.js.map +1 -0
  541. package/dist/primitives/Icon/index.cjs +4 -0
  542. package/dist/primitives/Icon/index.d.cts +2 -0
  543. package/dist/primitives/Icon/index.d.ts +2 -0
  544. package/dist/primitives/Icon/index.js +2 -0
  545. package/dist/primitives/InfoBanner/index.cjs +79 -0
  546. package/dist/primitives/InfoBanner/index.cjs.map +1 -0
  547. package/dist/primitives/InfoBanner/index.d.cts +2 -0
  548. package/dist/primitives/InfoBanner/index.d.ts +2 -0
  549. package/dist/primitives/InfoBanner/index.js +78 -0
  550. package/dist/primitives/InfoBanner/index.js.map +1 -0
  551. package/dist/primitives/Input/index.cjs +39 -0
  552. package/dist/primitives/Input/index.cjs.map +1 -0
  553. package/dist/primitives/Input/index.d.cts +2 -0
  554. package/dist/primitives/Input/index.d.ts +2 -0
  555. package/dist/primitives/Input/index.js +38 -0
  556. package/dist/primitives/Input/index.js.map +1 -0
  557. package/dist/primitives/InputGroup/index.cjs +91 -0
  558. package/dist/primitives/InputGroup/index.cjs.map +1 -0
  559. package/dist/primitives/InputGroup/index.d.cts +2 -0
  560. package/dist/primitives/InputGroup/index.d.ts +2 -0
  561. package/dist/primitives/InputGroup/index.js +85 -0
  562. package/dist/primitives/InputGroup/index.js.map +1 -0
  563. package/dist/primitives/InputOtp/index.cjs +80 -0
  564. package/dist/primitives/InputOtp/index.cjs.map +1 -0
  565. package/dist/primitives/InputOtp/index.d.cts +2 -0
  566. package/dist/primitives/InputOtp/index.d.ts +2 -0
  567. package/dist/primitives/InputOtp/index.js +74 -0
  568. package/dist/primitives/InputOtp/index.js.map +1 -0
  569. package/dist/primitives/Item/index.cjs +137 -0
  570. package/dist/primitives/Item/index.cjs.map +1 -0
  571. package/dist/primitives/Item/index.d.cts +2 -0
  572. package/dist/primitives/Item/index.d.ts +2 -0
  573. package/dist/primitives/Item/index.js +127 -0
  574. package/dist/primitives/Item/index.js.map +1 -0
  575. package/dist/primitives/Kbd/index.cjs +25 -0
  576. package/dist/primitives/Kbd/index.cjs.map +1 -0
  577. package/dist/primitives/Kbd/index.d.cts +2 -0
  578. package/dist/primitives/Kbd/index.d.ts +2 -0
  579. package/dist/primitives/Kbd/index.js +23 -0
  580. package/dist/primitives/Kbd/index.js.map +1 -0
  581. package/dist/primitives/Label/index.cjs +18 -0
  582. package/dist/primitives/Label/index.cjs.map +1 -0
  583. package/dist/primitives/Label/index.d.cts +2 -0
  584. package/dist/primitives/Label/index.d.ts +2 -0
  585. package/dist/primitives/Label/index.js +17 -0
  586. package/dist/primitives/Label/index.js.map +1 -0
  587. package/dist/primitives/Link/index.cjs +38 -0
  588. package/dist/primitives/Link/index.cjs.map +1 -0
  589. package/dist/primitives/Link/index.d.cts +2 -0
  590. package/dist/primitives/Link/index.d.ts +2 -0
  591. package/dist/primitives/Link/index.js +37 -0
  592. package/dist/primitives/Link/index.js.map +1 -0
  593. package/dist/primitives/Logo/index.cjs +3 -0
  594. package/dist/primitives/Logo/index.d.cts +2 -0
  595. package/dist/primitives/Logo/index.d.ts +2 -0
  596. package/dist/primitives/Logo/index.js +2 -0
  597. package/dist/primitives/Menubar/index.cjs +165 -0
  598. package/dist/primitives/Menubar/index.cjs.map +1 -0
  599. package/dist/primitives/Menubar/index.d.cts +2 -0
  600. package/dist/primitives/Menubar/index.d.ts +2 -0
  601. package/dist/primitives/Menubar/index.js +149 -0
  602. package/dist/primitives/Menubar/index.js.map +1 -0
  603. package/dist/primitives/NativeSelect/index.cjs +40 -0
  604. package/dist/primitives/NativeSelect/index.cjs.map +1 -0
  605. package/dist/primitives/NativeSelect/index.d.cts +2 -0
  606. package/dist/primitives/NativeSelect/index.d.ts +2 -0
  607. package/dist/primitives/NativeSelect/index.js +39 -0
  608. package/dist/primitives/NativeSelect/index.js.map +1 -0
  609. package/dist/primitives/NavRail/index.cjs +195 -0
  610. package/dist/primitives/NavRail/index.cjs.map +1 -0
  611. package/dist/primitives/NavRail/index.d.cts +2 -0
  612. package/dist/primitives/NavRail/index.d.ts +2 -0
  613. package/dist/primitives/NavRail/index.js +185 -0
  614. package/dist/primitives/NavRail/index.js.map +1 -0
  615. package/dist/primitives/NavigationMenu/index.cjs +98 -0
  616. package/dist/primitives/NavigationMenu/index.cjs.map +1 -0
  617. package/dist/primitives/NavigationMenu/index.d.cts +2 -0
  618. package/dist/primitives/NavigationMenu/index.d.ts +2 -0
  619. package/dist/primitives/NavigationMenu/index.js +89 -0
  620. package/dist/primitives/NavigationMenu/index.js.map +1 -0
  621. package/dist/primitives/Pagination/index.cjs +93 -0
  622. package/dist/primitives/Pagination/index.cjs.map +1 -0
  623. package/dist/primitives/Pagination/index.d.cts +2 -0
  624. package/dist/primitives/Pagination/index.d.ts +2 -0
  625. package/dist/primitives/Pagination/index.js +86 -0
  626. package/dist/primitives/Pagination/index.js.map +1 -0
  627. package/dist/primitives/Popover/index.cjs +70 -0
  628. package/dist/primitives/Popover/index.cjs.map +1 -0
  629. package/dist/primitives/Popover/index.d.cts +2 -0
  630. package/dist/primitives/Popover/index.d.ts +2 -0
  631. package/dist/primitives/Popover/index.js +63 -0
  632. package/dist/primitives/Popover/index.js.map +1 -0
  633. package/dist/primitives/Progress/index.cjs +44 -0
  634. package/dist/primitives/Progress/index.cjs.map +1 -0
  635. package/dist/primitives/Progress/index.d.cts +2 -0
  636. package/dist/primitives/Progress/index.d.ts +2 -0
  637. package/dist/primitives/Progress/index.js +43 -0
  638. package/dist/primitives/Progress/index.js.map +1 -0
  639. package/dist/primitives/RadioGroup/index.cjs +65 -0
  640. package/dist/primitives/RadioGroup/index.cjs.map +1 -0
  641. package/dist/primitives/RadioGroup/index.d.cts +2 -0
  642. package/dist/primitives/RadioGroup/index.d.ts +2 -0
  643. package/dist/primitives/RadioGroup/index.js +62 -0
  644. package/dist/primitives/RadioGroup/index.js.map +1 -0
  645. package/dist/primitives/Resizable/index.cjs +41 -0
  646. package/dist/primitives/Resizable/index.cjs.map +1 -0
  647. package/dist/primitives/Resizable/index.d.cts +2 -0
  648. package/dist/primitives/Resizable/index.d.ts +2 -0
  649. package/dist/primitives/Resizable/index.js +36 -0
  650. package/dist/primitives/Resizable/index.js.map +1 -0
  651. package/dist/primitives/ScrollArea/index.cjs +40 -0
  652. package/dist/primitives/ScrollArea/index.cjs.map +1 -0
  653. package/dist/primitives/ScrollArea/index.d.cts +2 -0
  654. package/dist/primitives/ScrollArea/index.d.ts +2 -0
  655. package/dist/primitives/ScrollArea/index.js +38 -0
  656. package/dist/primitives/ScrollArea/index.js.map +1 -0
  657. package/dist/primitives/Select/index.cjs +126 -0
  658. package/dist/primitives/Select/index.cjs.map +1 -0
  659. package/dist/primitives/Select/index.d.cts +2 -0
  660. package/dist/primitives/Select/index.d.ts +2 -0
  661. package/dist/primitives/Select/index.js +116 -0
  662. package/dist/primitives/Select/index.js.map +1 -0
  663. package/dist/primitives/Separator/index.cjs +25 -0
  664. package/dist/primitives/Separator/index.cjs.map +1 -0
  665. package/dist/primitives/Separator/index.d.cts +2 -0
  666. package/dist/primitives/Separator/index.d.ts +2 -0
  667. package/dist/primitives/Separator/index.js +24 -0
  668. package/dist/primitives/Separator/index.js.map +1 -0
  669. package/dist/primitives/Sheet/index.cjs +107 -0
  670. package/dist/primitives/Sheet/index.cjs.map +1 -0
  671. package/dist/primitives/Sheet/index.d.cts +2 -0
  672. package/dist/primitives/Sheet/index.d.ts +2 -0
  673. package/dist/primitives/Sheet/index.js +99 -0
  674. package/dist/primitives/Sheet/index.js.map +1 -0
  675. package/dist/primitives/Sidebar/index.cjs +26 -0
  676. package/dist/primitives/Sidebar/index.d.cts +2 -0
  677. package/dist/primitives/Sidebar/index.d.ts +2 -0
  678. package/dist/primitives/Sidebar/index.js +2 -0
  679. package/dist/primitives/Skeleton/index.cjs +43 -0
  680. package/dist/primitives/Skeleton/index.cjs.map +1 -0
  681. package/dist/primitives/Skeleton/index.d.cts +2 -0
  682. package/dist/primitives/Skeleton/index.d.ts +2 -0
  683. package/dist/primitives/Skeleton/index.js +39 -0
  684. package/dist/primitives/Skeleton/index.js.map +1 -0
  685. package/dist/primitives/Slider/index.cjs +46 -0
  686. package/dist/primitives/Slider/index.cjs.map +1 -0
  687. package/dist/primitives/Slider/index.d.cts +2 -0
  688. package/dist/primitives/Slider/index.d.ts +2 -0
  689. package/dist/primitives/Slider/index.js +43 -0
  690. package/dist/primitives/Slider/index.js.map +1 -0
  691. package/dist/primitives/Sonner/index.cjs +42 -0
  692. package/dist/primitives/Sonner/index.cjs.map +1 -0
  693. package/dist/primitives/Sonner/index.d.cts +2 -0
  694. package/dist/primitives/Sonner/index.d.ts +2 -0
  695. package/dist/primitives/Sonner/index.js +41 -0
  696. package/dist/primitives/Sonner/index.js.map +1 -0
  697. package/dist/primitives/Spinner/index.cjs +19 -0
  698. package/dist/primitives/Spinner/index.cjs.map +1 -0
  699. package/dist/primitives/Spinner/index.d.cts +2 -0
  700. package/dist/primitives/Spinner/index.d.ts +2 -0
  701. package/dist/primitives/Spinner/index.js +18 -0
  702. package/dist/primitives/Spinner/index.js.map +1 -0
  703. package/dist/primitives/Switch/index.cjs +71 -0
  704. package/dist/primitives/Switch/index.cjs.map +1 -0
  705. package/dist/primitives/Switch/index.d.cts +2 -0
  706. package/dist/primitives/Switch/index.d.ts +2 -0
  707. package/dist/primitives/Switch/index.js +68 -0
  708. package/dist/primitives/Switch/index.js.map +1 -0
  709. package/dist/primitives/Table/index.cjs +84 -0
  710. package/dist/primitives/Table/index.cjs.map +1 -0
  711. package/dist/primitives/Table/index.d.cts +2 -0
  712. package/dist/primitives/Table/index.d.ts +2 -0
  713. package/dist/primitives/Table/index.js +76 -0
  714. package/dist/primitives/Table/index.js.map +1 -0
  715. package/dist/primitives/Tabs/index.cjs +267 -0
  716. package/dist/primitives/Tabs/index.cjs.map +1 -0
  717. package/dist/primitives/Tabs/index.d.cts +2 -0
  718. package/dist/primitives/Tabs/index.d.ts +2 -0
  719. package/dist/primitives/Tabs/index.js +258 -0
  720. package/dist/primitives/Tabs/index.js.map +1 -0
  721. package/dist/primitives/Text/index.cjs +64 -0
  722. package/dist/primitives/Text/index.cjs.map +1 -0
  723. package/dist/primitives/Text/index.d.cts +2 -0
  724. package/dist/primitives/Text/index.d.ts +2 -0
  725. package/dist/primitives/Text/index.js +63 -0
  726. package/dist/primitives/Text/index.js.map +1 -0
  727. package/dist/primitives/Textarea/index.cjs +24 -0
  728. package/dist/primitives/Textarea/index.cjs.map +1 -0
  729. package/dist/primitives/Textarea/index.d.cts +2 -0
  730. package/dist/primitives/Textarea/index.d.ts +2 -0
  731. package/dist/primitives/Textarea/index.js +23 -0
  732. package/dist/primitives/Textarea/index.js.map +1 -0
  733. package/dist/primitives/ThemeProvider/index.cjs +93 -0
  734. package/dist/primitives/ThemeProvider/index.cjs.map +1 -0
  735. package/dist/primitives/ThemeProvider/index.d.cts +2 -0
  736. package/dist/primitives/ThemeProvider/index.d.ts +2 -0
  737. package/dist/primitives/ThemeProvider/index.js +88 -0
  738. package/dist/primitives/ThemeProvider/index.js.map +1 -0
  739. package/dist/primitives/Toggle/index.cjs +59 -0
  740. package/dist/primitives/Toggle/index.cjs.map +1 -0
  741. package/dist/primitives/Toggle/index.d.cts +2 -0
  742. package/dist/primitives/Toggle/index.d.ts +2 -0
  743. package/dist/primitives/Toggle/index.js +58 -0
  744. package/dist/primitives/Toggle/index.js.map +1 -0
  745. package/dist/primitives/ToggleGroup/index.cjs +65 -0
  746. package/dist/primitives/ToggleGroup/index.cjs.map +1 -0
  747. package/dist/primitives/ToggleGroup/index.d.cts +2 -0
  748. package/dist/primitives/ToggleGroup/index.d.ts +2 -0
  749. package/dist/primitives/ToggleGroup/index.js +61 -0
  750. package/dist/primitives/ToggleGroup/index.js.map +1 -0
  751. package/dist/primitives/Tooltip/index.cjs +47 -0
  752. package/dist/primitives/Tooltip/index.cjs.map +1 -0
  753. package/dist/primitives/Tooltip/index.d.cts +2 -0
  754. package/dist/primitives/Tooltip/index.d.ts +2 -0
  755. package/dist/primitives/Tooltip/index.js +43 -0
  756. package/dist/primitives/Tooltip/index.js.map +1 -0
  757. package/dist/primitives/index.cjs +398 -335
  758. package/dist/primitives/index.d.cts +65 -3
  759. package/dist/primitives/index.d.ts +65 -3
  760. package/dist/primitives/index.js +65 -3
  761. package/dist/styles/base.css +70 -0
  762. package/dist/styles/semantic.css +62 -2
  763. package/dist/styles/theme.css +12 -0
  764. package/package.json +21 -2
  765. package/dist/Stack.cjs.map +0 -1
  766. package/dist/Stack.js.map +0 -1
  767. package/dist/ThemeProvider.cjs.map +0 -1
  768. package/dist/ThemeProvider.d.cts +0 -85
  769. package/dist/ThemeProvider.d.cts.map +0 -1
  770. package/dist/ThemeProvider.d.ts +0 -85
  771. package/dist/ThemeProvider.d.ts.map +0 -1
  772. package/dist/ThemeProvider.js.map +0 -1
  773. package/dist/layouts/index.cjs.map +0 -1
  774. package/dist/layouts/index.d.cts.map +0 -1
  775. package/dist/layouts/index.d.ts.map +0 -1
  776. package/dist/layouts/index.js.map +0 -1
  777. package/dist/patterns/index.cjs.map +0 -1
  778. package/dist/patterns/index.d.cts.map +0 -1
  779. package/dist/patterns/index.d.ts.map +0 -1
  780. package/dist/patterns/index.js.map +0 -1
  781. package/dist/primitives.cjs +0 -6979
  782. package/dist/primitives.cjs.map +0 -1
  783. package/dist/primitives.js +0 -5357
  784. package/dist/primitives.js.map +0 -1
  785. package/dist/utils.cjs.map +0 -1
  786. package/dist/utils.js +0 -27
  787. package/dist/utils.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/primitives/Button/Button.tsx"],"sourcesContent":["import { type VariantProps, cva } from \"class-variance-authority\";\nimport { Slot } from \"radix-ui\";\nimport { type ComponentProps, forwardRef } from \"react\";\n\nimport { Spinner } from \"@/primitives/Spinner\";\nimport { cn } from \"@/utils\";\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium cursor-pointer transition-[background-color,color,border-color,box-shadow,opacity,transform] duration-150 ease-out active:scale-[0.97] disabled:pointer-events-none disabled:opacity-50 disabled:active:scale-100 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/90\",\n destructive:\n \"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40\",\n outline:\n \"border bg-background text-foreground hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50\",\n secondary: \"bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n xs: \"h-7 gap-1 px-2.5 text-xs has-[>svg]:px-2\",\n sm: \"h-8 gap-1.5 px-3 has-[>svg]:px-2.5\",\n default: \"h-9 px-4 py-2 has-[>svg]:px-3\",\n lg: \"h-10 px-6 has-[>svg]:px-4\",\n icon: \"size-9\",\n },\n // Default is a pill (Figma); `square` gives the standard rounded-md corner.\n shape: {\n default: \"rounded-full\",\n square: \"rounded-md\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n shape: \"default\",\n },\n },\n);\n\ntype ButtonProps = ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n /** Render as the child element (Radix `Slot`) instead of a native `<button>`. */\n asChild?: boolean;\n /** Show a spinner and disable the button while an action is in flight. */\n loading?: boolean;\n };\n\n/**\n * Clickable button supporting visual variants, sizes, shapes, async loading, and\n * `asChild` composition. Forwards its ref so it can be used as a Radix trigger\n * (`asChild`) for floating overlays (Popover, Tooltip, DropdownMenu, …).\n */\nconst Button = forwardRef<HTMLButtonElement, ButtonProps>(function Button(\n {\n className,\n variant,\n size,\n shape,\n asChild = false,\n loading = false,\n disabled,\n children,\n ...props\n },\n ref,\n) {\n const Comp = asChild ? Slot.Root : \"button\";\n\n return (\n <Comp\n ref={ref}\n data-slot=\"button\"\n data-loading={loading || undefined}\n className={cn(buttonVariants({ variant, size, shape, className }))}\n disabled={disabled || loading}\n {...props}\n >\n {/* asChild expects a single child, so only plain buttons get the spinner. */}\n {asChild ? (\n children\n ) : (\n <>\n {loading ? <Spinner /> : null}\n {children}\n </>\n )}\n </Comp>\n );\n});\n\nexport { Button, buttonVariants, type ButtonProps };\n"],"mappings":";;;;;;;AAOA,MAAM,iBAAiB,IACrB,skBACA;CACE,UAAU;EACR,SAAS;GACP,SAAS;GACT,aACE;GACF,SACE;GACF,WAAW;GACX,OAAO;GACP,MAAM;EACR;EACA,MAAM;GACJ,IAAI;GACJ,IAAI;GACJ,SAAS;GACT,IAAI;GACJ,MAAM;EACR;EAEA,OAAO;GACL,SAAS;GACT,QAAQ;EACV;CACF;CACA,iBAAiB;EACf,SAAS;EACT,MAAM;EACN,OAAO;CACT;AACF,CACF;;;;;;AAeA,MAAM,SAAS,WAA2C,SAAS,OACjE,EACE,WACA,SACA,MACA,OACA,UAAU,OACV,UAAU,OACV,UACA,UACA,GAAG,SAEL,KACA;CAGA,OACE,oBAHW,UAAU,KAAK,OAAO,UAGjC;EACO;EACL,aAAU;EACV,gBAAc,WAAW,KAAA;EACzB,WAAW,GAAG,eAAe;GAAE;GAAS;GAAM;GAAO;EAAU,CAAC,CAAC;EACjE,UAAU,YAAY;EACtB,GAAI;YAGH,UACC,WAEA,qBAAA,UAAA,EAAA,UAAA,CACG,UAAU,oBAAC,SAAD,CAAU,CAAA,IAAI,MACxB,QACD,EAAA,CAAA;CAEA,CAAA;AAEV,CAAC"}
@@ -0,0 +1,46 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_cn = require("../../cn.cjs");
3
+ const require_primitives_Separator_index = require("../Separator/index.cjs");
4
+ let radix_ui = require("radix-ui");
5
+ let react_jsx_runtime = require("react/jsx-runtime");
6
+ //#region src/primitives/ButtonGroup/ButtonGroup.tsx
7
+ const buttonGroupVariants = (0, require("class-variance-authority").cva)("flex w-fit items-stretch has-[>[data-slot=button-group]]:gap-2 [&>*]:focus-visible:relative [&>*]:focus-visible:z-10 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-md [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1", {
8
+ variants: { orientation: {
9
+ horizontal: "[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none",
10
+ vertical: "flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none"
11
+ } },
12
+ defaultVariants: { orientation: "horizontal" }
13
+ });
14
+ /** Groups related buttons into a single attached unit with merged borders and shared corners. */
15
+ function ButtonGroup({ className, orientation, ...props }) {
16
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
17
+ role: "group",
18
+ "data-slot": "button-group",
19
+ "data-orientation": orientation,
20
+ className: require_cn.cn(buttonGroupVariants({ orientation }), className),
21
+ ...props
22
+ });
23
+ }
24
+ /** A non-interactive label/affix segment styled to sit inline with the grouped buttons. */
25
+ function ButtonGroupText({ className, asChild = false, ...props }) {
26
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(asChild ? radix_ui.Slot.Root : "div", {
27
+ className: require_cn.cn("flex items-center gap-2 rounded-md border bg-muted px-4 text-sm font-medium shadow-xs [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4", className),
28
+ ...props
29
+ });
30
+ }
31
+ /** A divider between segments inside a {@link ButtonGroup}, defaulting to a vertical rule. */
32
+ function ButtonGroupSeparator({ className, orientation = "vertical", ...props }) {
33
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_primitives_Separator_index.Separator, {
34
+ "data-slot": "button-group-separator",
35
+ orientation,
36
+ className: require_cn.cn("relative m-0! self-stretch bg-input data-[orientation=vertical]:h-auto", className),
37
+ ...props
38
+ });
39
+ }
40
+ //#endregion
41
+ exports.ButtonGroup = ButtonGroup;
42
+ exports.ButtonGroupSeparator = ButtonGroupSeparator;
43
+ exports.ButtonGroupText = ButtonGroupText;
44
+ exports.buttonGroupVariants = buttonGroupVariants;
45
+
46
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","names":["cn","Slot","Separator"],"sources":["../../../src/primitives/ButtonGroup/ButtonGroup.tsx"],"sourcesContent":["import { type VariantProps, cva } from \"class-variance-authority\";\nimport { Slot } from \"radix-ui\";\n\nimport { Separator } from \"@/primitives/Separator\";\nimport { cn } from \"@/utils\";\n\nconst buttonGroupVariants = cva(\n \"flex w-fit items-stretch has-[>[data-slot=button-group]]:gap-2 [&>*]:focus-visible:relative [&>*]:focus-visible:z-10 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-md [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1\",\n {\n variants: {\n orientation: {\n horizontal:\n \"[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none\",\n vertical:\n \"flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none\",\n },\n },\n defaultVariants: {\n orientation: \"horizontal\",\n },\n },\n);\n\n/** Props for the {@link ButtonGroup} container. */\ntype ButtonGroupProps = React.ComponentProps<\"div\"> & VariantProps<typeof buttonGroupVariants>;\n\n/** Groups related buttons into a single attached unit with merged borders and shared corners. */\nfunction ButtonGroup({\n className,\n /** Lays the group out left-to-right (`horizontal`, default) or stacked (`vertical`). */\n orientation,\n ...props\n}: ButtonGroupProps) {\n return (\n <div\n role=\"group\"\n data-slot=\"button-group\"\n data-orientation={orientation}\n className={cn(buttonGroupVariants({ orientation }), className)}\n {...props}\n />\n );\n}\n\n/** A non-interactive label/affix segment styled to sit inline with the grouped buttons. */\nfunction ButtonGroupText({\n className,\n /** Renders into the child element via Radix `Slot` instead of a wrapping `div`. */\n asChild = false,\n ...props\n}: React.ComponentProps<\"div\"> & {\n /** Renders into the child element via Radix `Slot` instead of a wrapping `div`. */\n asChild?: boolean;\n}) {\n const Comp = asChild ? Slot.Root : \"div\";\n\n return (\n <Comp\n className={cn(\n \"flex items-center gap-2 rounded-md border bg-muted px-4 text-sm font-medium shadow-xs [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** A divider between segments inside a {@link ButtonGroup}, defaulting to a vertical rule. */\nfunction ButtonGroupSeparator({\n className,\n /** Divider direction; defaults to `vertical` to split horizontally-laid buttons. */\n orientation = \"vertical\",\n ...props\n}: React.ComponentProps<typeof Separator>) {\n return (\n <Separator\n data-slot=\"button-group-separator\"\n orientation={orientation}\n className={cn(\n \"relative m-0! self-stretch bg-input data-[orientation=vertical]:h-auto\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants };\n"],"mappings":";;;;;;AAMA,MAAM,uBAAA,qCAAA,EAAA,KACJ,oSACA;CACE,UAAU,EACR,aAAa;EACX,YACE;EACF,UACE;CACJ,EACF;CACA,iBAAiB,EACf,aAAa,aACf;AACF,CACF;;AAMA,SAAS,YAAY,EACnB,WAEA,aACA,GAAG,SACgB;CACnB,OACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,MAAK;EACL,aAAU;EACV,oBAAkB;EAClB,WAAWA,WAAAA,GAAG,oBAAoB,EAAE,YAAY,CAAC,GAAG,SAAS;EAC7D,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,gBAAgB,EACvB,WAEA,UAAU,OACV,GAAG,SAIF;CAGD,OACE,iBAAA,GAAA,kBAAA,KAHW,UAAUC,SAAAA,KAAK,OAAO,OAGjC;EACE,WAAWD,WAAAA,GACT,0JACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,qBAAqB,EAC5B,WAEA,cAAc,YACd,GAAG,SACsC;CACzC,OACE,iBAAA,GAAA,kBAAA,KAACE,mCAAAA,WAAD;EACE,aAAU;EACG;EACb,WAAWF,WAAAA,GACT,0EACA,SACF;EACA,GAAI;CACL,CAAA;AAEL"}
@@ -0,0 +1,2 @@
1
+ import { i as buttonGroupVariants, n as ButtonGroupSeparator, r as ButtonGroupText, t as ButtonGroup } from "../../index10.cjs";
2
+ export { ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants };
@@ -0,0 +1,2 @@
1
+ import { i as buttonGroupVariants, n as ButtonGroupSeparator, r as ButtonGroupText, t as ButtonGroup } from "../../index10.js";
2
+ export { ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants };
@@ -0,0 +1,43 @@
1
+ import { t as cn } from "../../cn.js";
2
+ import { Separator as Separator$1 } from "../Separator/index.js";
3
+ import { Slot } from "radix-ui";
4
+ import { jsx } from "react/jsx-runtime";
5
+ import { cva } from "class-variance-authority";
6
+ //#region src/primitives/ButtonGroup/ButtonGroup.tsx
7
+ const buttonGroupVariants = cva("flex w-fit items-stretch has-[>[data-slot=button-group]]:gap-2 [&>*]:focus-visible:relative [&>*]:focus-visible:z-10 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-md [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1", {
8
+ variants: { orientation: {
9
+ horizontal: "[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none",
10
+ vertical: "flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none"
11
+ } },
12
+ defaultVariants: { orientation: "horizontal" }
13
+ });
14
+ /** Groups related buttons into a single attached unit with merged borders and shared corners. */
15
+ function ButtonGroup({ className, orientation, ...props }) {
16
+ return /* @__PURE__ */ jsx("div", {
17
+ role: "group",
18
+ "data-slot": "button-group",
19
+ "data-orientation": orientation,
20
+ className: cn(buttonGroupVariants({ orientation }), className),
21
+ ...props
22
+ });
23
+ }
24
+ /** A non-interactive label/affix segment styled to sit inline with the grouped buttons. */
25
+ function ButtonGroupText({ className, asChild = false, ...props }) {
26
+ return /* @__PURE__ */ jsx(asChild ? Slot.Root : "div", {
27
+ className: cn("flex items-center gap-2 rounded-md border bg-muted px-4 text-sm font-medium shadow-xs [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4", className),
28
+ ...props
29
+ });
30
+ }
31
+ /** A divider between segments inside a {@link ButtonGroup}, defaulting to a vertical rule. */
32
+ function ButtonGroupSeparator({ className, orientation = "vertical", ...props }) {
33
+ return /* @__PURE__ */ jsx(Separator$1, {
34
+ "data-slot": "button-group-separator",
35
+ orientation,
36
+ className: cn("relative m-0! self-stretch bg-input data-[orientation=vertical]:h-auto", className),
37
+ ...props
38
+ });
39
+ }
40
+ //#endregion
41
+ export { ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants };
42
+
43
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["Separator"],"sources":["../../../src/primitives/ButtonGroup/ButtonGroup.tsx"],"sourcesContent":["import { type VariantProps, cva } from \"class-variance-authority\";\nimport { Slot } from \"radix-ui\";\n\nimport { Separator } from \"@/primitives/Separator\";\nimport { cn } from \"@/utils\";\n\nconst buttonGroupVariants = cva(\n \"flex w-fit items-stretch has-[>[data-slot=button-group]]:gap-2 [&>*]:focus-visible:relative [&>*]:focus-visible:z-10 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-md [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1\",\n {\n variants: {\n orientation: {\n horizontal:\n \"[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none\",\n vertical:\n \"flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none\",\n },\n },\n defaultVariants: {\n orientation: \"horizontal\",\n },\n },\n);\n\n/** Props for the {@link ButtonGroup} container. */\ntype ButtonGroupProps = React.ComponentProps<\"div\"> & VariantProps<typeof buttonGroupVariants>;\n\n/** Groups related buttons into a single attached unit with merged borders and shared corners. */\nfunction ButtonGroup({\n className,\n /** Lays the group out left-to-right (`horizontal`, default) or stacked (`vertical`). */\n orientation,\n ...props\n}: ButtonGroupProps) {\n return (\n <div\n role=\"group\"\n data-slot=\"button-group\"\n data-orientation={orientation}\n className={cn(buttonGroupVariants({ orientation }), className)}\n {...props}\n />\n );\n}\n\n/** A non-interactive label/affix segment styled to sit inline with the grouped buttons. */\nfunction ButtonGroupText({\n className,\n /** Renders into the child element via Radix `Slot` instead of a wrapping `div`. */\n asChild = false,\n ...props\n}: React.ComponentProps<\"div\"> & {\n /** Renders into the child element via Radix `Slot` instead of a wrapping `div`. */\n asChild?: boolean;\n}) {\n const Comp = asChild ? Slot.Root : \"div\";\n\n return (\n <Comp\n className={cn(\n \"flex items-center gap-2 rounded-md border bg-muted px-4 text-sm font-medium shadow-xs [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** A divider between segments inside a {@link ButtonGroup}, defaulting to a vertical rule. */\nfunction ButtonGroupSeparator({\n className,\n /** Divider direction; defaults to `vertical` to split horizontally-laid buttons. */\n orientation = \"vertical\",\n ...props\n}: React.ComponentProps<typeof Separator>) {\n return (\n <Separator\n data-slot=\"button-group-separator\"\n orientation={orientation}\n className={cn(\n \"relative m-0! self-stretch bg-input data-[orientation=vertical]:h-auto\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants };\n"],"mappings":";;;;;;AAMA,MAAM,sBAAsB,IAC1B,oSACA;CACE,UAAU,EACR,aAAa;EACX,YACE;EACF,UACE;CACJ,EACF;CACA,iBAAiB,EACf,aAAa,aACf;AACF,CACF;;AAMA,SAAS,YAAY,EACnB,WAEA,aACA,GAAG,SACgB;CACnB,OACE,oBAAC,OAAD;EACE,MAAK;EACL,aAAU;EACV,oBAAkB;EAClB,WAAW,GAAG,oBAAoB,EAAE,YAAY,CAAC,GAAG,SAAS;EAC7D,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,gBAAgB,EACvB,WAEA,UAAU,OACV,GAAG,SAIF;CAGD,OACE,oBAHW,UAAU,KAAK,OAAO,OAGjC;EACE,WAAW,GACT,0JACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,qBAAqB,EAC5B,WAEA,cAAc,YACd,GAAG,SACsC;CACzC,OACE,oBAACA,aAAD;EACE,aAAU;EACG;EACb,WAAW,GACT,0EACA,SACF;EACA,GAAI;CACL,CAAA;AAEL"}
@@ -0,0 +1,112 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_chunk = require("../../chunk.cjs");
3
+ const require_cn = require("../../cn.cjs");
4
+ const require_primitives_Button_index = require("../Button/index.cjs");
5
+ let react = require("react");
6
+ react = require_chunk.__toESM(react);
7
+ let lucide_react = require("lucide-react");
8
+ let react_jsx_runtime = require("react/jsx-runtime");
9
+ let react_day_picker = require("react-day-picker");
10
+ //#region src/primitives/Calendar/Calendar.tsx
11
+ /** Date picker calendar built on react-day-picker, themed with the DS Button + tokens. */
12
+ function Calendar({ className, classNames, showOutsideDays = true, captionLayout = "label", buttonVariant = "ghost", formatters, components, ...props }) {
13
+ const defaultClassNames = (0, react_day_picker.getDefaultClassNames)();
14
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_day_picker.DayPicker, {
15
+ showOutsideDays,
16
+ className: require_cn.cn("group/calendar bg-background p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent", String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`, String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`, className),
17
+ captionLayout,
18
+ formatters: {
19
+ formatMonthDropdown: (date) => date.toLocaleString("default", { month: "short" }),
20
+ ...formatters
21
+ },
22
+ classNames: {
23
+ root: require_cn.cn("w-fit", defaultClassNames.root),
24
+ months: require_cn.cn("relative flex flex-col gap-4 md:flex-row", defaultClassNames.months),
25
+ month: require_cn.cn("flex w-full flex-col gap-4", defaultClassNames.month),
26
+ nav: require_cn.cn("absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1", defaultClassNames.nav),
27
+ button_previous: require_cn.cn(require_primitives_Button_index.buttonVariants({ variant: buttonVariant }), "size-(--cell-size) p-0 select-none aria-disabled:opacity-50", defaultClassNames.button_previous),
28
+ button_next: require_cn.cn(require_primitives_Button_index.buttonVariants({ variant: buttonVariant }), "size-(--cell-size) p-0 select-none aria-disabled:opacity-50", defaultClassNames.button_next),
29
+ month_caption: require_cn.cn("flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)", defaultClassNames.month_caption),
30
+ dropdowns: require_cn.cn("flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-sm font-medium", defaultClassNames.dropdowns),
31
+ dropdown_root: require_cn.cn("relative rounded-md border border-input shadow-xs has-focus:border-ring has-focus:ring-[3px] has-focus:ring-ring/50", defaultClassNames.dropdown_root),
32
+ dropdown: require_cn.cn("absolute inset-0 bg-popover opacity-0", defaultClassNames.dropdown),
33
+ caption_label: require_cn.cn("font-medium select-none", captionLayout === "label" ? "text-sm" : "flex h-8 items-center gap-1 rounded-md pr-1 pl-2 text-sm [&>svg]:size-3.5 [&>svg]:text-muted-foreground", defaultClassNames.caption_label),
34
+ month_grid: "w-full border-collapse",
35
+ weekdays: require_cn.cn("flex", defaultClassNames.weekdays),
36
+ weekday: require_cn.cn("flex-1 rounded-md text-[0.8rem] font-normal text-muted-foreground select-none", defaultClassNames.weekday),
37
+ week: require_cn.cn("mt-2 flex w-full", defaultClassNames.week),
38
+ week_number_header: require_cn.cn("w-(--cell-size) select-none", defaultClassNames.week_number_header),
39
+ week_number: require_cn.cn("text-[0.8rem] text-muted-foreground select-none", defaultClassNames.week_number),
40
+ day: require_cn.cn("group/day relative aspect-square h-full w-full p-0 text-center select-none [&:last-child[data-selected=true]_button]:rounded-r-md", props.showWeekNumber ? "[&:nth-child(2)[data-selected=true]_button]:rounded-l-md" : "[&:first-child[data-selected=true]_button]:rounded-l-md", defaultClassNames.day),
41
+ range_start: require_cn.cn("rounded-l-md bg-accent", defaultClassNames.range_start),
42
+ range_middle: require_cn.cn("rounded-none", defaultClassNames.range_middle),
43
+ range_end: require_cn.cn("rounded-r-md bg-accent", defaultClassNames.range_end),
44
+ today: require_cn.cn("font-semibold text-foreground data-[selected=true]:rounded-none", defaultClassNames.today),
45
+ outside: require_cn.cn("text-muted-foreground aria-selected:text-muted-foreground", defaultClassNames.outside),
46
+ disabled: require_cn.cn("text-muted-foreground opacity-50", defaultClassNames.disabled),
47
+ hidden: require_cn.cn("invisible", defaultClassNames.hidden),
48
+ ...classNames
49
+ },
50
+ components: {
51
+ Root: ({ className, rootRef, ...props }) => {
52
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
53
+ "data-slot": "calendar",
54
+ ref: rootRef,
55
+ className: require_cn.cn(className),
56
+ ...props
57
+ });
58
+ },
59
+ Chevron: ({ className, orientation, ...props }) => {
60
+ if (orientation === "left") return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ChevronLeftIcon, {
61
+ className: require_cn.cn("size-4", className),
62
+ ...props
63
+ });
64
+ if (orientation === "right") return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ChevronRightIcon, {
65
+ className: require_cn.cn("size-4", className),
66
+ ...props
67
+ });
68
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ChevronDownIcon, {
69
+ className: require_cn.cn("size-4", className),
70
+ ...props
71
+ });
72
+ },
73
+ DayButton: CalendarDayButton,
74
+ WeekNumber: ({ children, ...props }) => {
75
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("td", {
76
+ ...props,
77
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
78
+ className: "flex size-(--cell-size) items-center justify-center text-center",
79
+ children
80
+ })
81
+ });
82
+ },
83
+ ...components
84
+ },
85
+ ...props
86
+ });
87
+ }
88
+ /** Single day cell button, applying selected/range styling from the day's modifiers. */
89
+ function CalendarDayButton({ className, day, modifiers, ...props }) {
90
+ const defaultClassNames = (0, react_day_picker.getDefaultClassNames)();
91
+ const ref = react.useRef(null);
92
+ react.useEffect(() => {
93
+ if (modifiers.focused) ref.current?.focus();
94
+ }, [modifiers.focused]);
95
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_primitives_Button_index.Button, {
96
+ ref,
97
+ variant: "ghost",
98
+ size: "icon",
99
+ "data-day": day.date.toLocaleDateString(),
100
+ "data-selected-single": modifiers.selected && !modifiers.range_start && !modifiers.range_end && !modifiers.range_middle,
101
+ "data-range-start": modifiers.range_start,
102
+ "data-range-end": modifiers.range_end,
103
+ "data-range-middle": modifiers.range_middle,
104
+ className: require_cn.cn("flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-[3px] group-data-[focused=true]/day:ring-ring/50 data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-end=true]:bg-accent data-[range-end=true]:text-accent-foreground data-[range-middle=true]:rounded-none data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md data-[range-start=true]:bg-accent data-[range-start=true]:text-accent-foreground data-[selected-single=true]:bg-accent data-[selected-single=true]:text-accent-foreground dark:hover:text-accent-foreground [&>span]:text-xs [&>span]:opacity-70", defaultClassNames.day, className),
105
+ ...props
106
+ });
107
+ }
108
+ //#endregion
109
+ exports.Calendar = Calendar;
110
+ exports.CalendarDayButton = CalendarDayButton;
111
+
112
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","names":["DayPicker","cn","buttonVariants","ChevronLeftIcon","ChevronRightIcon","ChevronDownIcon","React","Button"],"sources":["../../../src/primitives/Calendar/Calendar.tsx"],"sourcesContent":["import { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon } from \"lucide-react\";\nimport * as React from \"react\";\nimport { type DayButton, DayPicker, getDefaultClassNames } from \"react-day-picker\";\n\nimport { Button, buttonVariants } from \"@/primitives/Button\";\nimport { cn } from \"@/utils\";\n\n/** Date picker calendar built on react-day-picker, themed with the DS Button + tokens. */\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n captionLayout = \"label\",\n buttonVariant = \"ghost\",\n formatters,\n components,\n ...props\n}: React.ComponentProps<typeof DayPicker> & {\n /** Button variant used for the previous/next navigation controls. */\n buttonVariant?: React.ComponentProps<typeof Button>[\"variant\"];\n}) {\n const defaultClassNames = getDefaultClassNames();\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\n \"group/calendar bg-background p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent\",\n String.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n String.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n className,\n )}\n captionLayout={captionLayout}\n formatters={{\n formatMonthDropdown: (date) => date.toLocaleString(\"default\", { month: \"short\" }),\n ...formatters,\n }}\n classNames={{\n root: cn(\"w-fit\", defaultClassNames.root),\n months: cn(\"relative flex flex-col gap-4 md:flex-row\", defaultClassNames.months),\n month: cn(\"flex w-full flex-col gap-4\", defaultClassNames.month),\n nav: cn(\n \"absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1\",\n defaultClassNames.nav,\n ),\n button_previous: cn(\n buttonVariants({ variant: buttonVariant }),\n \"size-(--cell-size) p-0 select-none aria-disabled:opacity-50\",\n defaultClassNames.button_previous,\n ),\n button_next: cn(\n buttonVariants({ variant: buttonVariant }),\n \"size-(--cell-size) p-0 select-none aria-disabled:opacity-50\",\n defaultClassNames.button_next,\n ),\n month_caption: cn(\n \"flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)\",\n defaultClassNames.month_caption,\n ),\n dropdowns: cn(\n \"flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-sm font-medium\",\n defaultClassNames.dropdowns,\n ),\n dropdown_root: cn(\n \"relative rounded-md border border-input shadow-xs has-focus:border-ring has-focus:ring-[3px] has-focus:ring-ring/50\",\n defaultClassNames.dropdown_root,\n ),\n dropdown: cn(\"absolute inset-0 bg-popover opacity-0\", defaultClassNames.dropdown),\n caption_label: cn(\n \"font-medium select-none\",\n captionLayout === \"label\"\n ? \"text-sm\"\n : \"flex h-8 items-center gap-1 rounded-md pr-1 pl-2 text-sm [&>svg]:size-3.5 [&>svg]:text-muted-foreground\",\n defaultClassNames.caption_label,\n ),\n month_grid: \"w-full border-collapse\",\n weekdays: cn(\"flex\", defaultClassNames.weekdays),\n weekday: cn(\n \"flex-1 rounded-md text-[0.8rem] font-normal text-muted-foreground select-none\",\n defaultClassNames.weekday,\n ),\n week: cn(\"mt-2 flex w-full\", defaultClassNames.week),\n week_number_header: cn(\"w-(--cell-size) select-none\", defaultClassNames.week_number_header),\n week_number: cn(\n \"text-[0.8rem] text-muted-foreground select-none\",\n defaultClassNames.week_number,\n ),\n day: cn(\n \"group/day relative aspect-square h-full w-full p-0 text-center select-none [&:last-child[data-selected=true]_button]:rounded-r-md\",\n props.showWeekNumber\n ? \"[&:nth-child(2)[data-selected=true]_button]:rounded-l-md\"\n : \"[&:first-child[data-selected=true]_button]:rounded-l-md\",\n defaultClassNames.day,\n ),\n range_start: cn(\"rounded-l-md bg-accent\", defaultClassNames.range_start),\n range_middle: cn(\"rounded-none\", defaultClassNames.range_middle),\n range_end: cn(\"rounded-r-md bg-accent\", defaultClassNames.range_end),\n today: cn(\n \"font-semibold text-foreground data-[selected=true]:rounded-none\",\n defaultClassNames.today,\n ),\n outside: cn(\n \"text-muted-foreground aria-selected:text-muted-foreground\",\n defaultClassNames.outside,\n ),\n disabled: cn(\"text-muted-foreground opacity-50\", defaultClassNames.disabled),\n hidden: cn(\"invisible\", defaultClassNames.hidden),\n ...classNames,\n }}\n components={{\n Root: ({ className, rootRef, ...props }) => {\n return <div data-slot=\"calendar\" ref={rootRef} className={cn(className)} {...props} />;\n },\n Chevron: ({ className, orientation, ...props }) => {\n if (orientation === \"left\") {\n return <ChevronLeftIcon className={cn(\"size-4\", className)} {...props} />;\n }\n\n if (orientation === \"right\") {\n return <ChevronRightIcon className={cn(\"size-4\", className)} {...props} />;\n }\n\n return <ChevronDownIcon className={cn(\"size-4\", className)} {...props} />;\n },\n DayButton: CalendarDayButton,\n WeekNumber: ({ children, ...props }) => {\n return (\n <td {...props}>\n <div className=\"flex size-(--cell-size) items-center justify-center text-center\">\n {children}\n </div>\n </td>\n );\n },\n ...components,\n }}\n {...props}\n />\n );\n}\n\n/** Single day cell button, applying selected/range styling from the day's modifiers. */\nfunction CalendarDayButton({\n className,\n day,\n modifiers,\n ...props\n}: React.ComponentProps<typeof DayButton>) {\n const defaultClassNames = getDefaultClassNames();\n\n const ref = React.useRef<HTMLButtonElement>(null);\n React.useEffect(() => {\n if (modifiers.focused) ref.current?.focus();\n }, [modifiers.focused]);\n\n return (\n <Button\n ref={ref}\n variant=\"ghost\"\n size=\"icon\"\n data-day={day.date.toLocaleDateString()}\n data-selected-single={\n modifiers.selected &&\n !modifiers.range_start &&\n !modifiers.range_end &&\n !modifiers.range_middle\n }\n data-range-start={modifiers.range_start}\n data-range-end={modifiers.range_end}\n data-range-middle={modifiers.range_middle}\n className={cn(\n \"flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-[3px] group-data-[focused=true]/day:ring-ring/50 data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-end=true]:bg-accent data-[range-end=true]:text-accent-foreground data-[range-middle=true]:rounded-none data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md data-[range-start=true]:bg-accent data-[range-start=true]:text-accent-foreground data-[selected-single=true]:bg-accent data-[selected-single=true]:text-accent-foreground dark:hover:text-accent-foreground [&>span]:text-xs [&>span]:opacity-70\",\n defaultClassNames.day,\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Calendar, CalendarDayButton };\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { n as CalendarDayButton, t as Calendar } from "../../index11.cjs";
2
+ export { Calendar, CalendarDayButton };
@@ -0,0 +1,2 @@
1
+ import { n as CalendarDayButton, t as Calendar } from "../../index11.js";
2
+ export { Calendar, CalendarDayButton };
@@ -0,0 +1,108 @@
1
+ import { t as cn } from "../../cn.js";
2
+ import { Button, buttonVariants } from "../Button/index.js";
3
+ import * as React from "react";
4
+ import { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon } from "lucide-react";
5
+ import { jsx } from "react/jsx-runtime";
6
+ import { DayPicker, getDefaultClassNames } from "react-day-picker";
7
+ //#region src/primitives/Calendar/Calendar.tsx
8
+ /** Date picker calendar built on react-day-picker, themed with the DS Button + tokens. */
9
+ function Calendar({ className, classNames, showOutsideDays = true, captionLayout = "label", buttonVariant = "ghost", formatters, components, ...props }) {
10
+ const defaultClassNames = getDefaultClassNames();
11
+ return /* @__PURE__ */ jsx(DayPicker, {
12
+ showOutsideDays,
13
+ className: cn("group/calendar bg-background p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent", String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`, String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`, className),
14
+ captionLayout,
15
+ formatters: {
16
+ formatMonthDropdown: (date) => date.toLocaleString("default", { month: "short" }),
17
+ ...formatters
18
+ },
19
+ classNames: {
20
+ root: cn("w-fit", defaultClassNames.root),
21
+ months: cn("relative flex flex-col gap-4 md:flex-row", defaultClassNames.months),
22
+ month: cn("flex w-full flex-col gap-4", defaultClassNames.month),
23
+ nav: cn("absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1", defaultClassNames.nav),
24
+ button_previous: cn(buttonVariants({ variant: buttonVariant }), "size-(--cell-size) p-0 select-none aria-disabled:opacity-50", defaultClassNames.button_previous),
25
+ button_next: cn(buttonVariants({ variant: buttonVariant }), "size-(--cell-size) p-0 select-none aria-disabled:opacity-50", defaultClassNames.button_next),
26
+ month_caption: cn("flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)", defaultClassNames.month_caption),
27
+ dropdowns: cn("flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-sm font-medium", defaultClassNames.dropdowns),
28
+ dropdown_root: cn("relative rounded-md border border-input shadow-xs has-focus:border-ring has-focus:ring-[3px] has-focus:ring-ring/50", defaultClassNames.dropdown_root),
29
+ dropdown: cn("absolute inset-0 bg-popover opacity-0", defaultClassNames.dropdown),
30
+ caption_label: cn("font-medium select-none", captionLayout === "label" ? "text-sm" : "flex h-8 items-center gap-1 rounded-md pr-1 pl-2 text-sm [&>svg]:size-3.5 [&>svg]:text-muted-foreground", defaultClassNames.caption_label),
31
+ month_grid: "w-full border-collapse",
32
+ weekdays: cn("flex", defaultClassNames.weekdays),
33
+ weekday: cn("flex-1 rounded-md text-[0.8rem] font-normal text-muted-foreground select-none", defaultClassNames.weekday),
34
+ week: cn("mt-2 flex w-full", defaultClassNames.week),
35
+ week_number_header: cn("w-(--cell-size) select-none", defaultClassNames.week_number_header),
36
+ week_number: cn("text-[0.8rem] text-muted-foreground select-none", defaultClassNames.week_number),
37
+ day: cn("group/day relative aspect-square h-full w-full p-0 text-center select-none [&:last-child[data-selected=true]_button]:rounded-r-md", props.showWeekNumber ? "[&:nth-child(2)[data-selected=true]_button]:rounded-l-md" : "[&:first-child[data-selected=true]_button]:rounded-l-md", defaultClassNames.day),
38
+ range_start: cn("rounded-l-md bg-accent", defaultClassNames.range_start),
39
+ range_middle: cn("rounded-none", defaultClassNames.range_middle),
40
+ range_end: cn("rounded-r-md bg-accent", defaultClassNames.range_end),
41
+ today: cn("font-semibold text-foreground data-[selected=true]:rounded-none", defaultClassNames.today),
42
+ outside: cn("text-muted-foreground aria-selected:text-muted-foreground", defaultClassNames.outside),
43
+ disabled: cn("text-muted-foreground opacity-50", defaultClassNames.disabled),
44
+ hidden: cn("invisible", defaultClassNames.hidden),
45
+ ...classNames
46
+ },
47
+ components: {
48
+ Root: ({ className, rootRef, ...props }) => {
49
+ return /* @__PURE__ */ jsx("div", {
50
+ "data-slot": "calendar",
51
+ ref: rootRef,
52
+ className: cn(className),
53
+ ...props
54
+ });
55
+ },
56
+ Chevron: ({ className, orientation, ...props }) => {
57
+ if (orientation === "left") return /* @__PURE__ */ jsx(ChevronLeftIcon, {
58
+ className: cn("size-4", className),
59
+ ...props
60
+ });
61
+ if (orientation === "right") return /* @__PURE__ */ jsx(ChevronRightIcon, {
62
+ className: cn("size-4", className),
63
+ ...props
64
+ });
65
+ return /* @__PURE__ */ jsx(ChevronDownIcon, {
66
+ className: cn("size-4", className),
67
+ ...props
68
+ });
69
+ },
70
+ DayButton: CalendarDayButton,
71
+ WeekNumber: ({ children, ...props }) => {
72
+ return /* @__PURE__ */ jsx("td", {
73
+ ...props,
74
+ children: /* @__PURE__ */ jsx("div", {
75
+ className: "flex size-(--cell-size) items-center justify-center text-center",
76
+ children
77
+ })
78
+ });
79
+ },
80
+ ...components
81
+ },
82
+ ...props
83
+ });
84
+ }
85
+ /** Single day cell button, applying selected/range styling from the day's modifiers. */
86
+ function CalendarDayButton({ className, day, modifiers, ...props }) {
87
+ const defaultClassNames = getDefaultClassNames();
88
+ const ref = React.useRef(null);
89
+ React.useEffect(() => {
90
+ if (modifiers.focused) ref.current?.focus();
91
+ }, [modifiers.focused]);
92
+ return /* @__PURE__ */ jsx(Button, {
93
+ ref,
94
+ variant: "ghost",
95
+ size: "icon",
96
+ "data-day": day.date.toLocaleDateString(),
97
+ "data-selected-single": modifiers.selected && !modifiers.range_start && !modifiers.range_end && !modifiers.range_middle,
98
+ "data-range-start": modifiers.range_start,
99
+ "data-range-end": modifiers.range_end,
100
+ "data-range-middle": modifiers.range_middle,
101
+ className: cn("flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-[3px] group-data-[focused=true]/day:ring-ring/50 data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-end=true]:bg-accent data-[range-end=true]:text-accent-foreground data-[range-middle=true]:rounded-none data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md data-[range-start=true]:bg-accent data-[range-start=true]:text-accent-foreground data-[selected-single=true]:bg-accent data-[selected-single=true]:text-accent-foreground dark:hover:text-accent-foreground [&>span]:text-xs [&>span]:opacity-70", defaultClassNames.day, className),
102
+ ...props
103
+ });
104
+ }
105
+ //#endregion
106
+ export { Calendar, CalendarDayButton };
107
+
108
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/primitives/Calendar/Calendar.tsx"],"sourcesContent":["import { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon } from \"lucide-react\";\nimport * as React from \"react\";\nimport { type DayButton, DayPicker, getDefaultClassNames } from \"react-day-picker\";\n\nimport { Button, buttonVariants } from \"@/primitives/Button\";\nimport { cn } from \"@/utils\";\n\n/** Date picker calendar built on react-day-picker, themed with the DS Button + tokens. */\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n captionLayout = \"label\",\n buttonVariant = \"ghost\",\n formatters,\n components,\n ...props\n}: React.ComponentProps<typeof DayPicker> & {\n /** Button variant used for the previous/next navigation controls. */\n buttonVariant?: React.ComponentProps<typeof Button>[\"variant\"];\n}) {\n const defaultClassNames = getDefaultClassNames();\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\n \"group/calendar bg-background p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent\",\n String.raw`rtl:**:[.rdp-button\\_next>svg]:rotate-180`,\n String.raw`rtl:**:[.rdp-button\\_previous>svg]:rotate-180`,\n className,\n )}\n captionLayout={captionLayout}\n formatters={{\n formatMonthDropdown: (date) => date.toLocaleString(\"default\", { month: \"short\" }),\n ...formatters,\n }}\n classNames={{\n root: cn(\"w-fit\", defaultClassNames.root),\n months: cn(\"relative flex flex-col gap-4 md:flex-row\", defaultClassNames.months),\n month: cn(\"flex w-full flex-col gap-4\", defaultClassNames.month),\n nav: cn(\n \"absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1\",\n defaultClassNames.nav,\n ),\n button_previous: cn(\n buttonVariants({ variant: buttonVariant }),\n \"size-(--cell-size) p-0 select-none aria-disabled:opacity-50\",\n defaultClassNames.button_previous,\n ),\n button_next: cn(\n buttonVariants({ variant: buttonVariant }),\n \"size-(--cell-size) p-0 select-none aria-disabled:opacity-50\",\n defaultClassNames.button_next,\n ),\n month_caption: cn(\n \"flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)\",\n defaultClassNames.month_caption,\n ),\n dropdowns: cn(\n \"flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-sm font-medium\",\n defaultClassNames.dropdowns,\n ),\n dropdown_root: cn(\n \"relative rounded-md border border-input shadow-xs has-focus:border-ring has-focus:ring-[3px] has-focus:ring-ring/50\",\n defaultClassNames.dropdown_root,\n ),\n dropdown: cn(\"absolute inset-0 bg-popover opacity-0\", defaultClassNames.dropdown),\n caption_label: cn(\n \"font-medium select-none\",\n captionLayout === \"label\"\n ? \"text-sm\"\n : \"flex h-8 items-center gap-1 rounded-md pr-1 pl-2 text-sm [&>svg]:size-3.5 [&>svg]:text-muted-foreground\",\n defaultClassNames.caption_label,\n ),\n month_grid: \"w-full border-collapse\",\n weekdays: cn(\"flex\", defaultClassNames.weekdays),\n weekday: cn(\n \"flex-1 rounded-md text-[0.8rem] font-normal text-muted-foreground select-none\",\n defaultClassNames.weekday,\n ),\n week: cn(\"mt-2 flex w-full\", defaultClassNames.week),\n week_number_header: cn(\"w-(--cell-size) select-none\", defaultClassNames.week_number_header),\n week_number: cn(\n \"text-[0.8rem] text-muted-foreground select-none\",\n defaultClassNames.week_number,\n ),\n day: cn(\n \"group/day relative aspect-square h-full w-full p-0 text-center select-none [&:last-child[data-selected=true]_button]:rounded-r-md\",\n props.showWeekNumber\n ? \"[&:nth-child(2)[data-selected=true]_button]:rounded-l-md\"\n : \"[&:first-child[data-selected=true]_button]:rounded-l-md\",\n defaultClassNames.day,\n ),\n range_start: cn(\"rounded-l-md bg-accent\", defaultClassNames.range_start),\n range_middle: cn(\"rounded-none\", defaultClassNames.range_middle),\n range_end: cn(\"rounded-r-md bg-accent\", defaultClassNames.range_end),\n today: cn(\n \"font-semibold text-foreground data-[selected=true]:rounded-none\",\n defaultClassNames.today,\n ),\n outside: cn(\n \"text-muted-foreground aria-selected:text-muted-foreground\",\n defaultClassNames.outside,\n ),\n disabled: cn(\"text-muted-foreground opacity-50\", defaultClassNames.disabled),\n hidden: cn(\"invisible\", defaultClassNames.hidden),\n ...classNames,\n }}\n components={{\n Root: ({ className, rootRef, ...props }) => {\n return <div data-slot=\"calendar\" ref={rootRef} className={cn(className)} {...props} />;\n },\n Chevron: ({ className, orientation, ...props }) => {\n if (orientation === \"left\") {\n return <ChevronLeftIcon className={cn(\"size-4\", className)} {...props} />;\n }\n\n if (orientation === \"right\") {\n return <ChevronRightIcon className={cn(\"size-4\", className)} {...props} />;\n }\n\n return <ChevronDownIcon className={cn(\"size-4\", className)} {...props} />;\n },\n DayButton: CalendarDayButton,\n WeekNumber: ({ children, ...props }) => {\n return (\n <td {...props}>\n <div className=\"flex size-(--cell-size) items-center justify-center text-center\">\n {children}\n </div>\n </td>\n );\n },\n ...components,\n }}\n {...props}\n />\n );\n}\n\n/** Single day cell button, applying selected/range styling from the day's modifiers. */\nfunction CalendarDayButton({\n className,\n day,\n modifiers,\n ...props\n}: React.ComponentProps<typeof DayButton>) {\n const defaultClassNames = getDefaultClassNames();\n\n const ref = React.useRef<HTMLButtonElement>(null);\n React.useEffect(() => {\n if (modifiers.focused) ref.current?.focus();\n }, [modifiers.focused]);\n\n return (\n <Button\n ref={ref}\n variant=\"ghost\"\n size=\"icon\"\n data-day={day.date.toLocaleDateString()}\n data-selected-single={\n modifiers.selected &&\n !modifiers.range_start &&\n !modifiers.range_end &&\n !modifiers.range_middle\n }\n data-range-start={modifiers.range_start}\n data-range-end={modifiers.range_end}\n data-range-middle={modifiers.range_middle}\n className={cn(\n \"flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-[3px] group-data-[focused=true]/day:ring-ring/50 data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-end=true]:bg-accent data-[range-end=true]:text-accent-foreground data-[range-middle=true]:rounded-none data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md data-[range-start=true]:bg-accent data-[range-start=true]:text-accent-foreground data-[selected-single=true]:bg-accent data-[selected-single=true]:text-accent-foreground dark:hover:text-accent-foreground [&>span]:text-xs [&>span]:opacity-70\",\n defaultClassNames.day,\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Calendar, CalendarDayButton };\n"],"mappings":";;;;;;;;AAQA,SAAS,SAAS,EAChB,WACA,YACA,kBAAkB,MAClB,gBAAgB,SAChB,gBAAgB,SAChB,YACA,YACA,GAAG,SAIF;CACD,MAAM,oBAAoB,qBAAqB;CAE/C,OACE,oBAAC,WAAD;EACmB;EACjB,WAAW,GACT,0JACA,OAAO,GAAG,6CACV,OAAO,GAAG,iDACV,SACF;EACe;EACf,YAAY;GACV,sBAAsB,SAAS,KAAK,eAAe,WAAW,EAAE,OAAO,QAAQ,CAAC;GAChF,GAAG;EACL;EACA,YAAY;GACV,MAAM,GAAG,SAAS,kBAAkB,IAAI;GACxC,QAAQ,GAAG,4CAA4C,kBAAkB,MAAM;GAC/E,OAAO,GAAG,8BAA8B,kBAAkB,KAAK;GAC/D,KAAK,GACH,2EACA,kBAAkB,GACpB;GACA,iBAAiB,GACf,eAAe,EAAE,SAAS,cAAc,CAAC,GACzC,+DACA,kBAAkB,eACpB;GACA,aAAa,GACX,eAAe,EAAE,SAAS,cAAc,CAAC,GACzC,+DACA,kBAAkB,WACpB;GACA,eAAe,GACb,4EACA,kBAAkB,aACpB;GACA,WAAW,GACT,uFACA,kBAAkB,SACpB;GACA,eAAe,GACb,uHACA,kBAAkB,aACpB;GACA,UAAU,GAAG,yCAAyC,kBAAkB,QAAQ;GAChF,eAAe,GACb,2BACA,kBAAkB,UACd,YACA,2GACJ,kBAAkB,aACpB;GACA,YAAY;GACZ,UAAU,GAAG,QAAQ,kBAAkB,QAAQ;GAC/C,SAAS,GACP,iFACA,kBAAkB,OACpB;GACA,MAAM,GAAG,oBAAoB,kBAAkB,IAAI;GACnD,oBAAoB,GAAG,+BAA+B,kBAAkB,kBAAkB;GAC1F,aAAa,GACX,mDACA,kBAAkB,WACpB;GACA,KAAK,GACH,qIACA,MAAM,iBACF,6DACA,2DACJ,kBAAkB,GACpB;GACA,aAAa,GAAG,0BAA0B,kBAAkB,WAAW;GACvE,cAAc,GAAG,gBAAgB,kBAAkB,YAAY;GAC/D,WAAW,GAAG,0BAA0B,kBAAkB,SAAS;GACnE,OAAO,GACL,mEACA,kBAAkB,KACpB;GACA,SAAS,GACP,6DACA,kBAAkB,OACpB;GACA,UAAU,GAAG,oCAAoC,kBAAkB,QAAQ;GAC3E,QAAQ,GAAG,aAAa,kBAAkB,MAAM;GAChD,GAAG;EACL;EACA,YAAY;GACV,OAAO,EAAE,WAAW,SAAS,GAAG,YAAY;IAC1C,OAAO,oBAAC,OAAD;KAAK,aAAU;KAAW,KAAK;KAAS,WAAW,GAAG,SAAS;KAAG,GAAI;IAAQ,CAAA;GACvF;GACA,UAAU,EAAE,WAAW,aAAa,GAAG,YAAY;IACjD,IAAI,gBAAgB,QAClB,OAAO,oBAAC,iBAAD;KAAiB,WAAW,GAAG,UAAU,SAAS;KAAG,GAAI;IAAQ,CAAA;IAG1E,IAAI,gBAAgB,SAClB,OAAO,oBAAC,kBAAD;KAAkB,WAAW,GAAG,UAAU,SAAS;KAAG,GAAI;IAAQ,CAAA;IAG3E,OAAO,oBAAC,iBAAD;KAAiB,WAAW,GAAG,UAAU,SAAS;KAAG,GAAI;IAAQ,CAAA;GAC1E;GACA,WAAW;GACX,aAAa,EAAE,UAAU,GAAG,YAAY;IACtC,OACE,oBAAC,MAAD;KAAI,GAAI;eACN,oBAAC,OAAD;MAAK,WAAU;MACZ;KACE,CAAA;IACH,CAAA;GAER;GACA,GAAG;EACL;EACA,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,kBAAkB,EACzB,WACA,KACA,WACA,GAAG,SACsC;CACzC,MAAM,oBAAoB,qBAAqB;CAE/C,MAAM,MAAM,MAAM,OAA0B,IAAI;CAChD,MAAM,gBAAgB;EACpB,IAAI,UAAU,SAAS,IAAI,SAAS,MAAM;CAC5C,GAAG,CAAC,UAAU,OAAO,CAAC;CAEtB,OACE,oBAAC,QAAD;EACO;EACL,SAAQ;EACR,MAAK;EACL,YAAU,IAAI,KAAK,mBAAmB;EACtC,wBACE,UAAU,YACV,CAAC,UAAU,eACX,CAAC,UAAU,aACX,CAAC,UAAU;EAEb,oBAAkB,UAAU;EAC5B,kBAAgB,UAAU;EAC1B,qBAAmB,UAAU;EAC7B,WAAW,GACT,82BACA,kBAAkB,KAClB,SACF;EACA,GAAI;CACL,CAAA;AAEL"}
@@ -0,0 +1,128 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_cn = require("../../cn.cjs");
3
+ let react_jsx_runtime = require("react/jsx-runtime");
4
+ //#region src/primitives/Card/Card.tsx
5
+ const cardVariants = (0, require("class-variance-authority").cva)("flex flex-col gap-6 rounded-xl border text-card-foreground", {
6
+ variants: {
7
+ variant: {
8
+ default: "bg-card",
9
+ glass: "border-transparent backdrop-blur-[var(--glass-blur)]",
10
+ brand: "border-transparent bg-[image:var(--brand-surface-gradient)] text-brand-surface-foreground",
11
+ inverted: "border-transparent bg-foreground text-background"
12
+ },
13
+ tint: {
14
+ subtle: "",
15
+ light: "",
16
+ medium: "",
17
+ heavy: ""
18
+ }
19
+ },
20
+ compoundVariants: [
21
+ {
22
+ variant: "glass",
23
+ tint: "subtle",
24
+ class: "bg-[var(--glass-subtle)]"
25
+ },
26
+ {
27
+ variant: "glass",
28
+ tint: "light",
29
+ class: "bg-[var(--glass-light)]"
30
+ },
31
+ {
32
+ variant: "glass",
33
+ tint: "medium",
34
+ class: "bg-[var(--glass-medium)]"
35
+ },
36
+ {
37
+ variant: "glass",
38
+ tint: "heavy",
39
+ class: "bg-[var(--glass-heavy)]"
40
+ }
41
+ ],
42
+ defaultVariants: {
43
+ variant: "default",
44
+ tint: "light"
45
+ }
46
+ });
47
+ /** Surface container with composable header/content/footer slots. */
48
+ function Card({ className, variant, tint, ...props }) {
49
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
50
+ "data-slot": "card",
51
+ "data-variant": variant ?? "default",
52
+ className: require_cn.cn(cardVariants({
53
+ variant,
54
+ tint
55
+ }), className),
56
+ ...props
57
+ });
58
+ }
59
+ const cardHeaderAlign = {
60
+ start: "items-start",
61
+ center: "items-center",
62
+ end: "items-end"
63
+ };
64
+ /** Top region of a card — holds the title, description, and optional action. */
65
+ function CardHeader({ className, align = "center", ...props }) {
66
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
67
+ "data-slot": "card-header",
68
+ className: require_cn.cn("@container/card-header grid auto-rows-min grid-rows-[auto_auto] gap-1.5 px-6 pt-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6", cardHeaderAlign[align], className),
69
+ ...props
70
+ });
71
+ }
72
+ /** Card heading rendered as an `h4`. */
73
+ function CardTitle({ className, ...props }) {
74
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("h4", {
75
+ "data-slot": "card-title",
76
+ className: require_cn.cn("leading-none", className),
77
+ ...props
78
+ });
79
+ }
80
+ /** Muted supporting text shown beneath the title. */
81
+ function CardDescription({ className, ...props }) {
82
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
83
+ "data-slot": "card-description",
84
+ className: require_cn.cn("text-muted-foreground", className),
85
+ ...props
86
+ });
87
+ }
88
+ /** Action slot in the header row, aligned to the end alongside the title. */
89
+ function CardAction({ className, ...props }) {
90
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
91
+ "data-slot": "card-action",
92
+ className: require_cn.cn("col-start-2 row-start-1 justify-self-end", className),
93
+ ...props
94
+ });
95
+ }
96
+ /** Main body region of the card. */
97
+ function CardContent({ className, ...props }) {
98
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
99
+ "data-slot": "card-content",
100
+ className: require_cn.cn("px-6 [&:last-child]:pb-6", className),
101
+ ...props
102
+ });
103
+ }
104
+ const cardFooterTone = {
105
+ default: "px-6 pb-6 [.border-t]:pt-6",
106
+ brand: "justify-center rounded-b-xl bg-brand-accent px-6 py-3 text-brand-accent-foreground",
107
+ muted: "justify-center rounded-b-xl bg-muted px-6 py-3 text-muted-foreground",
108
+ card: "justify-center rounded-b-xl bg-card px-6 py-3 text-card-foreground"
109
+ };
110
+ /** Bottom region of the card — typically holds actions or summary text. */
111
+ function CardFooter({ className, tone = "default", ...props }) {
112
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
113
+ "data-slot": "card-footer",
114
+ className: require_cn.cn("flex items-center", cardFooterTone[tone], className),
115
+ ...props
116
+ });
117
+ }
118
+ //#endregion
119
+ exports.Card = Card;
120
+ exports.CardAction = CardAction;
121
+ exports.CardContent = CardContent;
122
+ exports.CardDescription = CardDescription;
123
+ exports.CardFooter = CardFooter;
124
+ exports.CardHeader = CardHeader;
125
+ exports.CardTitle = CardTitle;
126
+ exports.cardVariants = cardVariants;
127
+
128
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","names":["cn"],"sources":["../../../src/primitives/Card/Card.tsx"],"sourcesContent":["import { type VariantProps, cva } from \"class-variance-authority\";\nimport type * as React from \"react\";\n\nimport { cn } from \"@/utils\";\n\nconst cardVariants = cva(\"flex flex-col gap-6 rounded-xl border text-card-foreground\", {\n variants: {\n variant: {\n // Solid surface (default).\n default: \"bg-card\",\n // Translucent, backdrop-blurred glass surface — reads over a textured\n // background (e.g. PageBackground). `tint` picks the --glass-* token.\n glass: \"border-transparent backdrop-blur-[var(--glass-blur)]\",\n // Filled brand surface with light foreground — the active product's colour,\n // as a left-to-right gradient (darker → lighter brand shade).\n brand:\n \"border-transparent bg-[image:var(--brand-surface-gradient)] text-brand-surface-foreground\",\n // Inverted surface — contrasts with the page (dark card in light mode,\n // light card in dark mode).\n inverted: \"border-transparent bg-foreground text-background\",\n },\n tint: {\n subtle: \"\",\n light: \"\",\n medium: \"\",\n heavy: \"\",\n },\n },\n compoundVariants: [\n { variant: \"glass\", tint: \"subtle\", class: \"bg-[var(--glass-subtle)]\" },\n { variant: \"glass\", tint: \"light\", class: \"bg-[var(--glass-light)]\" },\n { variant: \"glass\", tint: \"medium\", class: \"bg-[var(--glass-medium)]\" },\n { variant: \"glass\", tint: \"heavy\", class: \"bg-[var(--glass-heavy)]\" },\n ],\n defaultVariants: {\n variant: \"default\",\n tint: \"light\",\n },\n});\n\ntype CardProps = React.ComponentProps<\"div\"> &\n VariantProps<typeof cardVariants> & {\n /** Surface treatment of the card. Default `default` (solid `bg-card`). */\n variant?: VariantProps<typeof cardVariants>[\"variant\"];\n /** Glass opacity step — only applies to `variant=\"glass\"`. Default `light`. */\n tint?: VariantProps<typeof cardVariants>[\"tint\"];\n };\n\n/** Surface container with composable header/content/footer slots. */\nfunction Card({ className, variant, tint, ...props }: CardProps) {\n return (\n <div\n data-slot=\"card\"\n data-variant={variant ?? \"default\"}\n className={cn(cardVariants({ variant, tint }), className)}\n {...props}\n />\n );\n}\n\n// Vertical alignment of the header's items (title/description vs. the action).\nconst cardHeaderAlign = {\n start: \"items-start\",\n center: \"items-center\",\n end: \"items-end\",\n} as const;\n\n/** Top region of a card — holds the title, description, and optional action. */\nfunction CardHeader({\n className,\n align = \"center\",\n ...props\n}: React.ComponentProps<\"div\"> & {\n /** Vertical alignment of the header items. Default `center`. */\n align?: keyof typeof cardHeaderAlign;\n}) {\n return (\n <div\n data-slot=\"card-header\"\n className={cn(\n \"@container/card-header grid auto-rows-min grid-rows-[auto_auto] gap-1.5 px-6 pt-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6\",\n cardHeaderAlign[align],\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Card heading rendered as an `h4`. */\nfunction CardTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return <h4 data-slot=\"card-title\" className={cn(\"leading-none\", className)} {...props} />;\n}\n\n/** Muted supporting text shown beneath the title. */\nfunction CardDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <p data-slot=\"card-description\" className={cn(\"text-muted-foreground\", className)} {...props} />\n );\n}\n\n/** Action slot in the header row, aligned to the end alongside the title. */\nfunction CardAction({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-action\"\n // Sits in row 1 alongside the title (not spanning rows) and has no `self-*`,\n // so it shares the title's row and follows CardHeader's `align` — the title\n // and action then truly centre against each other regardless of height.\n className={cn(\"col-start-2 row-start-1 justify-self-end\", className)}\n {...props}\n />\n );\n}\n\n/** Main body region of the card. */\nfunction CardContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-content\"\n className={cn(\"px-6 [&:last-child]:pb-6\", className)}\n {...props}\n />\n );\n}\n\n// Footer fill. `default` is transparent (the usual footer); `brand`/`muted`\n// render a full-width tinted band with the action centred — pair with\n// `<Card className=\"overflow-hidden\">` so the band clips to the card radius.\nconst cardFooterTone = {\n default: \"px-6 pb-6 [.border-t]:pt-6\",\n brand: \"justify-center rounded-b-xl bg-brand-accent px-6 py-3 text-brand-accent-foreground\",\n muted: \"justify-center rounded-b-xl bg-muted px-6 py-3 text-muted-foreground\",\n card: \"justify-center rounded-b-xl bg-card px-6 py-3 text-card-foreground\",\n} as const;\n\n/** Bottom region of the card — typically holds actions or summary text. */\nfunction CardFooter({\n className,\n tone = \"default\",\n ...props\n}: React.ComponentProps<\"div\"> & {\n /** Footer fill. `brand`/`muted` render a full-width tinted band. */\n tone?: keyof typeof cardFooterTone;\n}) {\n return (\n <div\n data-slot=\"card-footer\"\n className={cn(\"flex items-center\", cardFooterTone[tone], className)}\n {...props}\n />\n );\n}\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardAction,\n CardDescription,\n CardContent,\n cardVariants,\n type CardProps,\n};\n"],"mappings":";;;;AAKA,MAAM,gBAAA,qCAAA,EAAA,KAAmB,8DAA8D;CACrF,UAAU;EACR,SAAS;GAEP,SAAS;GAGT,OAAO;GAGP,OACE;GAGF,UAAU;EACZ;EACA,MAAM;GACJ,QAAQ;GACR,OAAO;GACP,QAAQ;GACR,OAAO;EACT;CACF;CACA,kBAAkB;EAChB;GAAE,SAAS;GAAS,MAAM;GAAU,OAAO;EAA2B;EACtE;GAAE,SAAS;GAAS,MAAM;GAAS,OAAO;EAA0B;EACpE;GAAE,SAAS;GAAS,MAAM;GAAU,OAAO;EAA2B;EACtE;GAAE,SAAS;GAAS,MAAM;GAAS,OAAO;EAA0B;CACtE;CACA,iBAAiB;EACf,SAAS;EACT,MAAM;CACR;AACF,CAAC;;AAWD,SAAS,KAAK,EAAE,WAAW,SAAS,MAAM,GAAG,SAAoB;CAC/D,OACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,aAAU;EACV,gBAAc,WAAW;EACzB,WAAWA,WAAAA,GAAG,aAAa;GAAE;GAAS;EAAK,CAAC,GAAG,SAAS;EACxD,GAAI;CACL,CAAA;AAEL;AAGA,MAAM,kBAAkB;CACtB,OAAO;CACP,QAAQ;CACR,KAAK;AACP;;AAGA,SAAS,WAAW,EAClB,WACA,QAAQ,UACR,GAAG,SAIF;CACD,OACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,aAAU;EACV,WAAWA,WAAAA,GACT,uJACA,gBAAgB,QAChB,SACF;EACA,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,UAAU,EAAE,WAAW,GAAG,SAAsC;CACvE,OAAO,iBAAA,GAAA,kBAAA,KAAC,MAAD;EAAI,aAAU;EAAa,WAAWA,WAAAA,GAAG,gBAAgB,SAAS;EAAG,GAAI;CAAQ,CAAA;AAC1F;;AAGA,SAAS,gBAAgB,EAAE,WAAW,GAAG,SAAsC;CAC7E,OACE,iBAAA,GAAA,kBAAA,KAAC,KAAD;EAAG,aAAU;EAAmB,WAAWA,WAAAA,GAAG,yBAAyB,SAAS;EAAG,GAAI;CAAQ,CAAA;AAEnG;;AAGA,SAAS,WAAW,EAAE,WAAW,GAAG,SAAsC;CACxE,OACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,aAAU;EAIV,WAAWA,WAAAA,GAAG,4CAA4C,SAAS;EACnE,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,YAAY,EAAE,WAAW,GAAG,SAAsC;CACzE,OACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,aAAU;EACV,WAAWA,WAAAA,GAAG,4BAA4B,SAAS;EACnD,GAAI;CACL,CAAA;AAEL;AAKA,MAAM,iBAAiB;CACrB,SAAS;CACT,OAAO;CACP,OAAO;CACP,MAAM;AACR;;AAGA,SAAS,WAAW,EAClB,WACA,OAAO,WACP,GAAG,SAIF;CACD,OACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,aAAU;EACV,WAAWA,WAAAA,GAAG,qBAAqB,eAAe,OAAO,SAAS;EAClE,GAAI;CACL,CAAA;AAEL"}
@@ -0,0 +1,2 @@
1
+ import { a as CardFooter, c as CardTitle, i as CardDescription, l as cardVariants, n as CardAction, o as CardHeader, r as CardContent, s as CardProps, t as Card } from "../../index12.cjs";
2
+ export { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardProps, CardTitle, cardVariants };
@@ -0,0 +1,2 @@
1
+ import { a as CardFooter, c as CardTitle, i as CardDescription, l as cardVariants, n as CardAction, o as CardHeader, r as CardContent, s as CardProps, t as Card } from "../../index12.js";
2
+ export { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardProps, CardTitle, cardVariants };