@kamod-ch/ui 1.1.0 → 1.3.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 (336) hide show
  1. package/LICENSE.md +9 -0
  2. package/README.md +12 -0
  3. package/dist/{Accordion-D1PiNspd.d.ts → Accordion-BiCBkB8o.d.ts} +7 -1
  4. package/dist/{AlertDialog-GadhKjPC.d.ts → AlertDialog-CZ2taZg4.d.ts} +3 -3
  5. package/dist/Button-OI3VvO-J.d.ts +84 -0
  6. package/dist/{Collapsible-CW1hQwqV.d.ts → Collapsible-BdQqvk35.d.ts} +6 -1
  7. package/dist/{ComboboxValue-BGfXgtZt.d.ts → ComboboxValue-Cq6zoDkt.d.ts} +1 -1
  8. package/dist/{Dialog-BOIteLfe.d.ts → Dialog-DdD1sMwk.d.ts} +12 -1
  9. package/dist/{DialogContent-cQHSRQdT.d.ts → DialogContent-YWzwWdSv.d.ts} +6 -1
  10. package/dist/{Drawer-CdjXZxxK.d.ts → Drawer-8xfn9KLf.d.ts} +2 -2
  11. package/dist/{Dropdown-CVbWVKok.d.ts → Dropdown-CzDJJgXQ.d.ts} +32 -27
  12. package/dist/{FieldTitle-aSgThW-B.d.ts → FieldTitle-hsI0Y6Zm.d.ts} +13 -13
  13. package/dist/{HoverCard-aVEEtkyO.d.ts → HoverCard-CBBr-tT9.d.ts} +14 -14
  14. package/dist/{Input-Cem05el9.d.ts → Input-C_X0Xpn2.d.ts} +11 -11
  15. package/dist/{PopoverTrigger-CH_Kx2mn.d.ts → PopoverTrigger-CIPAh0h0.d.ts} +14 -14
  16. package/dist/{RadioGroup-BaElzLwa.d.ts → RadioGroup-BDF3NaXQ.d.ts} +8 -8
  17. package/dist/{Sheet-DZ-p-aHY.d.ts → Sheet-DVt5iTiK.d.ts} +1 -1
  18. package/dist/{SidebarProvider-Bx7-BdQn.d.ts → SidebarProvider-CoVCItNd.d.ts} +18 -18
  19. package/dist/{Switch-CTTkNdqF.d.ts → Switch-BcNJFeRY.d.ts} +8 -8
  20. package/dist/{Tabs-CR-thcs6.d.ts → Tabs-CrXH3YED.d.ts} +18 -9
  21. package/dist/{Textarea-DbKkduOG.d.ts → Textarea-CST17pYW.d.ts} +11 -11
  22. package/dist/Toggle-BgvkYUI8.d.ts +49 -0
  23. package/dist/{ToggleGroup-UeYHzQe7.d.ts → ToggleGroup-CqYICGsS.d.ts} +42 -42
  24. package/dist/TreeProvider-Cpu8yo3y.d.ts +270 -0
  25. package/dist/Typography-Df9IVmw2.d.ts +64 -0
  26. package/dist/{chunk-ZM67EKZC.js → chunk-22G3DW5M.js} +4 -4
  27. package/dist/{chunk-ZM67EKZC.js.map → chunk-22G3DW5M.js.map} +1 -1
  28. package/dist/{chunk-BDK7CDEI.js → chunk-2F3PWEDR.js} +3 -3
  29. package/dist/{chunk-BDK7CDEI.js.map → chunk-2F3PWEDR.js.map} +1 -1
  30. package/dist/{chunk-ZHAGKFSO.js → chunk-2SPOI3MX.js} +3 -3
  31. package/dist/{chunk-ZHAGKFSO.js.map → chunk-2SPOI3MX.js.map} +1 -1
  32. package/dist/chunk-2UTJHQTS.js +162 -0
  33. package/dist/chunk-2UTJHQTS.js.map +1 -0
  34. package/dist/{chunk-NKKMM6CK.js → chunk-3AFRSB5R.js} +3 -3
  35. package/dist/{chunk-NKKMM6CK.js.map → chunk-3AFRSB5R.js.map} +1 -1
  36. package/dist/{chunk-LCMPFPBN.js → chunk-3ETRJPBL.js} +3 -3
  37. package/dist/{chunk-LCMPFPBN.js.map → chunk-3ETRJPBL.js.map} +1 -1
  38. package/dist/{chunk-WAPRVVDQ.js → chunk-3HBKDY64.js} +3 -3
  39. package/dist/{chunk-WAPRVVDQ.js.map → chunk-3HBKDY64.js.map} +1 -1
  40. package/dist/{chunk-PPYJQNE5.js → chunk-3XMFQKWB.js} +9 -5
  41. package/dist/chunk-3XMFQKWB.js.map +1 -0
  42. package/dist/{chunk-HCTZJYHK.js → chunk-4SQKSVBH.js} +6 -6
  43. package/dist/chunk-4SQKSVBH.js.map +1 -0
  44. package/dist/{chunk-ZVAW22GX.js → chunk-4ZFKDNSK.js} +3 -3
  45. package/dist/{chunk-ZVAW22GX.js.map → chunk-4ZFKDNSK.js.map} +1 -1
  46. package/dist/{chunk-IJ4ZRIR4.js → chunk-53FZEAOJ.js} +5 -5
  47. package/dist/{chunk-IJ4ZRIR4.js.map → chunk-53FZEAOJ.js.map} +1 -1
  48. package/dist/{chunk-BYG2ULS3.js → chunk-5ATODZ6L.js} +5 -7
  49. package/dist/chunk-5ATODZ6L.js.map +1 -0
  50. package/dist/{chunk-TXKPDNRD.js → chunk-5I7ULBDP.js} +3 -3
  51. package/dist/{chunk-TXKPDNRD.js.map → chunk-5I7ULBDP.js.map} +1 -1
  52. package/dist/{chunk-UEXTD7ZB.js → chunk-6HFTTHSY.js} +3 -3
  53. package/dist/{chunk-UEXTD7ZB.js.map → chunk-6HFTTHSY.js.map} +1 -1
  54. package/dist/{chunk-6RASPU5N.js → chunk-7LWAWZHM.js} +4 -11
  55. package/dist/chunk-7LWAWZHM.js.map +1 -0
  56. package/dist/{chunk-RHNI5UQO.js → chunk-A6ZZZFZN.js} +4 -4
  57. package/dist/{chunk-RHNI5UQO.js.map → chunk-A6ZZZFZN.js.map} +1 -1
  58. package/dist/{chunk-V63YIVKJ.js → chunk-APZXMU2X.js} +4 -4
  59. package/dist/{chunk-V63YIVKJ.js.map → chunk-APZXMU2X.js.map} +1 -1
  60. package/dist/{chunk-6FYSVMH7.js → chunk-AYLEWD77.js} +3 -3
  61. package/dist/{chunk-6FYSVMH7.js.map → chunk-AYLEWD77.js.map} +1 -1
  62. package/dist/{chunk-D3DQ4ICC.js → chunk-BZMD4EZC.js} +4 -11
  63. package/dist/chunk-BZMD4EZC.js.map +1 -0
  64. package/dist/{chunk-PU5J5EPY.js → chunk-C7TARE5T.js} +5 -5
  65. package/dist/{chunk-PU5J5EPY.js.map → chunk-C7TARE5T.js.map} +1 -1
  66. package/dist/{chunk-5FBD2NTR.js → chunk-DDRX6NNW.js} +6 -9
  67. package/dist/chunk-DDRX6NNW.js.map +1 -0
  68. package/dist/{chunk-HHLQYMPT.js → chunk-DUTKHOH3.js} +4 -4
  69. package/dist/{chunk-HHLQYMPT.js.map → chunk-DUTKHOH3.js.map} +1 -1
  70. package/dist/{chunk-24QD2FTA.js → chunk-EBXTNL52.js} +12 -15
  71. package/dist/chunk-EBXTNL52.js.map +1 -0
  72. package/dist/{chunk-STRBBF45.js → chunk-FOQ32NEP.js} +5 -5
  73. package/dist/chunk-FOQ32NEP.js.map +1 -0
  74. package/dist/{chunk-UIA74JVN.js → chunk-FXG53XY2.js} +5 -5
  75. package/dist/chunk-FXG53XY2.js.map +1 -0
  76. package/dist/{chunk-2KY7P27I.js → chunk-G7LTWXRN.js} +3 -3
  77. package/dist/{chunk-2KY7P27I.js.map → chunk-G7LTWXRN.js.map} +1 -1
  78. package/dist/{chunk-6BK3PIRX.js → chunk-GD3VBO44.js} +6 -6
  79. package/dist/{chunk-6BK3PIRX.js.map → chunk-GD3VBO44.js.map} +1 -1
  80. package/dist/{chunk-MD6HHORY.js → chunk-GPRE2VWB.js} +3 -3
  81. package/dist/{chunk-MD6HHORY.js.map → chunk-GPRE2VWB.js.map} +1 -1
  82. package/dist/{chunk-QZX3RFIC.js → chunk-HJF5AV4L.js} +11 -34
  83. package/dist/chunk-HJF5AV4L.js.map +1 -0
  84. package/dist/{chunk-QFDTG2ZJ.js → chunk-HWPROYKB.js} +3 -3
  85. package/dist/{chunk-QFDTG2ZJ.js.map → chunk-HWPROYKB.js.map} +1 -1
  86. package/dist/chunk-ISISDJ3Z.js +205 -0
  87. package/dist/chunk-ISISDJ3Z.js.map +1 -0
  88. package/dist/{chunk-3LIT5GWF.js → chunk-IW43BO47.js} +57 -19
  89. package/dist/chunk-IW43BO47.js.map +1 -0
  90. package/dist/{chunk-CLEC2RMU.js → chunk-JKEILBHG.js} +3 -3
  91. package/dist/{chunk-CLEC2RMU.js.map → chunk-JKEILBHG.js.map} +1 -1
  92. package/dist/{chunk-TFLSEEM4.js → chunk-KCN3GXRK.js} +3 -3
  93. package/dist/{chunk-TFLSEEM4.js.map → chunk-KCN3GXRK.js.map} +1 -1
  94. package/dist/{chunk-EMUPVA2F.js → chunk-KHV3WV6T.js} +4 -4
  95. package/dist/{chunk-EMUPVA2F.js.map → chunk-KHV3WV6T.js.map} +1 -1
  96. package/dist/{chunk-G6TV6TF7.js → chunk-KJ5PYCJG.js} +4 -12
  97. package/dist/chunk-KJ5PYCJG.js.map +1 -0
  98. package/dist/{chunk-5KS2VSX2.js → chunk-LAM4GIME.js} +4 -4
  99. package/dist/chunk-LAM4GIME.js.map +1 -0
  100. package/dist/{chunk-OCLVMKVC.js → chunk-MDXTENZ4.js} +8 -31
  101. package/dist/chunk-MDXTENZ4.js.map +1 -0
  102. package/dist/{chunk-CP55TVOV.js → chunk-MJUKNUFV.js} +3 -3
  103. package/dist/{chunk-CP55TVOV.js.map → chunk-MJUKNUFV.js.map} +1 -1
  104. package/dist/{chunk-GGTDJEE2.js → chunk-MTNLY7AY.js} +3 -3
  105. package/dist/{chunk-GGTDJEE2.js.map → chunk-MTNLY7AY.js.map} +1 -1
  106. package/dist/{chunk-67J4KBOW.js → chunk-NBIBBLP6.js} +10 -52
  107. package/dist/chunk-NBIBBLP6.js.map +1 -0
  108. package/dist/chunk-NBP4J2QF.js +200 -0
  109. package/dist/chunk-NBP4J2QF.js.map +1 -0
  110. package/dist/{chunk-NGKQBNZ5.js → chunk-NJYJCMKY.js} +3 -3
  111. package/dist/{chunk-NGKQBNZ5.js.map → chunk-NJYJCMKY.js.map} +1 -1
  112. package/dist/{chunk-COPT6I2D.js → chunk-NSEY5IC6.js} +9 -10
  113. package/dist/chunk-NSEY5IC6.js.map +1 -0
  114. package/dist/{chunk-UARVH66B.js → chunk-O4PHGLXF.js} +5 -5
  115. package/dist/{chunk-UARVH66B.js.map → chunk-O4PHGLXF.js.map} +1 -1
  116. package/dist/{chunk-J4DMQV64.js → chunk-OCZC4PDM.js} +3 -3
  117. package/dist/{chunk-J4DMQV64.js.map → chunk-OCZC4PDM.js.map} +1 -1
  118. package/dist/{chunk-IQH3XSOI.js → chunk-ODYHA3O5.js} +4 -4
  119. package/dist/{chunk-IQH3XSOI.js.map → chunk-ODYHA3O5.js.map} +1 -1
  120. package/dist/chunk-OJEZZVZB.js +9 -0
  121. package/dist/{chunk-CMBERB5B.js.map → chunk-OJEZZVZB.js.map} +1 -1
  122. package/dist/{chunk-7IOAIEIA.js → chunk-OTXP2QJ7.js} +6 -6
  123. package/dist/{chunk-7IOAIEIA.js.map → chunk-OTXP2QJ7.js.map} +1 -1
  124. package/dist/{chunk-JSHUWI3C.js → chunk-OUVUK3E7.js} +9 -9
  125. package/dist/chunk-OUVUK3E7.js.map +1 -0
  126. package/dist/{chunk-3KB54OYF.js → chunk-P6ICWO5B.js} +3 -3
  127. package/dist/{chunk-3KB54OYF.js.map → chunk-P6ICWO5B.js.map} +1 -1
  128. package/dist/{chunk-GIU6BZTW.js → chunk-P7PPE4P5.js} +8 -11
  129. package/dist/chunk-P7PPE4P5.js.map +1 -0
  130. package/dist/{chunk-XGFJJ2YB.js → chunk-PVQUVEZV.js} +4 -11
  131. package/dist/chunk-PVQUVEZV.js.map +1 -0
  132. package/dist/{chunk-LCWXIQKA.js → chunk-Q3RL7TOY.js} +4 -4
  133. package/dist/chunk-Q3RL7TOY.js.map +1 -0
  134. package/dist/{chunk-5Q4RBIMZ.js → chunk-Q5B6ROW6.js} +3 -3
  135. package/dist/{chunk-5Q4RBIMZ.js.map → chunk-Q5B6ROW6.js.map} +1 -1
  136. package/dist/{chunk-262EK2XT.js → chunk-Q7ZDP6DS.js} +9 -7
  137. package/dist/chunk-Q7ZDP6DS.js.map +1 -0
  138. package/dist/{chunk-4IBTERDG.js → chunk-QFTOABOJ.js} +3 -3
  139. package/dist/{chunk-4IBTERDG.js.map → chunk-QFTOABOJ.js.map} +1 -1
  140. package/dist/{chunk-JURNPBSW.js → chunk-QINEFXUA.js} +3 -3
  141. package/dist/{chunk-JURNPBSW.js.map → chunk-QINEFXUA.js.map} +1 -1
  142. package/dist/{chunk-FIOKWIJP.js → chunk-QWSD34JA.js} +4 -4
  143. package/dist/{chunk-FIOKWIJP.js.map → chunk-QWSD34JA.js.map} +1 -1
  144. package/dist/{chunk-Q5IUIA6B.js → chunk-RLBAA7WW.js} +3 -3
  145. package/dist/{chunk-Q5IUIA6B.js.map → chunk-RLBAA7WW.js.map} +1 -1
  146. package/dist/{chunk-MJQ6R345.js → chunk-SEC7UN45.js} +5 -5
  147. package/dist/chunk-SEC7UN45.js.map +1 -0
  148. package/dist/chunk-SIA46B4Q.js +9 -0
  149. package/dist/{chunk-RTIFG4XT.js.map → chunk-SIA46B4Q.js.map} +1 -1
  150. package/dist/{chunk-X4HPHMYW.js → chunk-TMPADU74.js} +4 -4
  151. package/dist/{chunk-X4HPHMYW.js.map → chunk-TMPADU74.js.map} +1 -1
  152. package/dist/{chunk-YTHUHPE5.js → chunk-USPWL4KC.js} +3 -3
  153. package/dist/{chunk-YTHUHPE5.js.map → chunk-USPWL4KC.js.map} +1 -1
  154. package/dist/{chunk-U2UNWXBC.js → chunk-VEQ7X2PO.js} +7 -6
  155. package/dist/chunk-VEQ7X2PO.js.map +1 -0
  156. package/dist/{chunk-YZLPO4B2.js → chunk-WRXXU5F6.js} +4 -11
  157. package/dist/chunk-WRXXU5F6.js.map +1 -0
  158. package/dist/{chunk-XNYAQZIB.js → chunk-X4B6I3M4.js} +4 -4
  159. package/dist/{chunk-XNYAQZIB.js.map → chunk-X4B6I3M4.js.map} +1 -1
  160. package/dist/{chunk-JNF7FDJO.js → chunk-XCYEWILH.js} +4 -4
  161. package/dist/{chunk-JNF7FDJO.js.map → chunk-XCYEWILH.js.map} +1 -1
  162. package/dist/{chunk-V2MG5Y5F.js → chunk-XGVQXRLA.js} +4 -4
  163. package/dist/chunk-XGVQXRLA.js.map +1 -0
  164. package/dist/chunk-XIANSPQO.js +11 -0
  165. package/dist/chunk-XIANSPQO.js.map +1 -0
  166. package/dist/{chunk-UNWEH4Z6.js → chunk-XOMPJYYA.js} +4 -4
  167. package/dist/chunk-XOMPJYYA.js.map +1 -0
  168. package/dist/{chunk-UXWUFNXY.js → chunk-XSYSV3R3.js} +3 -3
  169. package/dist/{chunk-UXWUFNXY.js.map → chunk-XSYSV3R3.js.map} +1 -1
  170. package/dist/{chunk-ERBGZZ2U.js → chunk-XZYJUJED.js} +4 -4
  171. package/dist/chunk-XZYJUJED.js.map +1 -0
  172. package/dist/chunk-YMKC3H55.js +921 -0
  173. package/dist/chunk-YMKC3H55.js.map +1 -0
  174. package/dist/{chunk-PFV7YIEP.js → chunk-Z4JNYSV3.js} +4 -4
  175. package/dist/{chunk-PFV7YIEP.js.map → chunk-Z4JNYSV3.js.map} +1 -1
  176. package/dist/{chunk-4V3WHQJE.js → chunk-ZLSCHWTN.js} +4 -4
  177. package/dist/{chunk-4V3WHQJE.js.map → chunk-ZLSCHWTN.js.map} +1 -1
  178. package/dist/chunk-ZQ2WOX4X.js +29 -0
  179. package/dist/chunk-ZQ2WOX4X.js.map +1 -0
  180. package/dist/{chunk-NILG56Z7.js → chunk-ZROHNZDC.js} +4 -4
  181. package/dist/{chunk-NILG56Z7.js.map → chunk-ZROHNZDC.js.map} +1 -1
  182. package/dist/{chunk-PGOCR4LG.js → chunk-ZVYCUG4N.js} +4 -4
  183. package/dist/chunk-ZVYCUG4N.js.map +1 -0
  184. package/dist/components/accordion/index.d.ts +2 -2
  185. package/dist/components/accordion/index.js +3 -2
  186. package/dist/components/alert/index.d.ts +26 -26
  187. package/dist/components/alert/index.js +2 -2
  188. package/dist/components/alert-dialog/index.d.ts +6 -5
  189. package/dist/components/alert-dialog/index.js +6 -6
  190. package/dist/components/aspect-ratio/index.js +2 -2
  191. package/dist/components/avatar/index.d.ts +11 -11
  192. package/dist/components/avatar/index.js +2 -2
  193. package/dist/components/badge/index.d.ts +112 -112
  194. package/dist/components/badge/index.js +2 -2
  195. package/dist/components/breadcrumb/index.js +2 -2
  196. package/dist/components/button/index.d.ts +51 -51
  197. package/dist/components/button/index.js +3 -3
  198. package/dist/components/button-group/index.js +2 -2
  199. package/dist/components/calendar/index.js +10 -10
  200. package/dist/components/card/index.d.ts +22 -22
  201. package/dist/components/card/index.js +2 -1
  202. package/dist/components/carousel/index.js +3 -3
  203. package/dist/components/chart/index.js +2 -2
  204. package/dist/components/checkbox/index.js +2 -2
  205. package/dist/components/collapsible/index.d.ts +2 -2
  206. package/dist/components/collapsible/index.js +3 -2
  207. package/dist/components/combobox/index.d.ts +2 -2
  208. package/dist/components/combobox/index.js +5 -5
  209. package/dist/components/command/index.js +7 -7
  210. package/dist/components/context-menu/index.d.ts +11 -11
  211. package/dist/components/context-menu/index.js +3 -3
  212. package/dist/components/data-table/index.js +3 -3
  213. package/dist/components/date-picker/index.js +6 -6
  214. package/dist/components/dialog/index.d.ts +26 -5
  215. package/dist/components/dialog/index.js +5 -5
  216. package/dist/components/direction/index.js +2 -2
  217. package/dist/components/drawer/index.d.ts +5 -4
  218. package/dist/components/drawer/index.js +5 -5
  219. package/dist/components/dropdown/index.d.ts +3 -3
  220. package/dist/components/dropdown/index.js +3 -3
  221. package/dist/components/dropzone/index.js +3 -3
  222. package/dist/components/empty/index.d.ts +6 -6
  223. package/dist/components/empty/index.js +2 -2
  224. package/dist/components/field/index.d.ts +2 -2
  225. package/dist/components/field/index.js +4 -4
  226. package/dist/components/hover-card/index.d.ts +2 -2
  227. package/dist/components/hover-card/index.js +2 -1
  228. package/dist/components/image/index.js +2 -2
  229. package/dist/components/input/index.d.ts +12 -12
  230. package/dist/components/input/index.js +3 -2
  231. package/dist/components/input-group/index.d.ts +56 -56
  232. package/dist/components/input-group/index.js +5 -5
  233. package/dist/components/input-otp/index.js +2 -2
  234. package/dist/components/item/index.d.ts +31 -31
  235. package/dist/components/item/index.js +3 -3
  236. package/dist/components/kbd/index.d.ts +8 -8
  237. package/dist/components/kbd/index.js +2 -2
  238. package/dist/components/label/index.d.ts +22 -22
  239. package/dist/components/label/index.js +3 -2
  240. package/dist/components/locale-segment-group/index.js +2 -2
  241. package/dist/components/menubar/index.js +3 -3
  242. package/dist/components/native-select/index.d.ts +34 -34
  243. package/dist/components/native-select/index.js +2 -1
  244. package/dist/components/navigation-menu/index.d.ts +2 -2
  245. package/dist/components/navigation-menu/index.js +3 -3
  246. package/dist/components/pagination/index.d.ts +1 -1
  247. package/dist/components/pagination/index.js +3 -3
  248. package/dist/components/popover/index.d.ts +22 -22
  249. package/dist/components/popover/index.js +4 -3
  250. package/dist/components/progress/index.js +2 -2
  251. package/dist/components/prose/index.js +2 -2
  252. package/dist/components/radio-group/index.d.ts +2 -2
  253. package/dist/components/radio-group/index.js +3 -3
  254. package/dist/components/scroll-area/index.js +2 -2
  255. package/dist/components/select/index.js +3 -3
  256. package/dist/components/selectable-card/index.js +3 -3
  257. package/dist/components/separator/index.d.ts +8 -8
  258. package/dist/components/separator/index.js +3 -2
  259. package/dist/components/sheet/index.d.ts +5 -4
  260. package/dist/components/sheet/index.js +5 -5
  261. package/dist/components/sidebar/index.d.ts +3 -3
  262. package/dist/components/sidebar/index.js +10 -10
  263. package/dist/components/skeleton/index.d.ts +22 -22
  264. package/dist/components/skeleton/index.js +2 -1
  265. package/dist/components/slider/index.js +2 -2
  266. package/dist/components/spinner/index.js +2 -2
  267. package/dist/components/switch/index.d.ts +1 -1
  268. package/dist/components/switch/index.js +2 -2
  269. package/dist/components/table/index.js +3 -3
  270. package/dist/components/tabs/index.d.ts +2 -2
  271. package/dist/components/tabs/index.js +3 -3
  272. package/dist/components/textarea/index.d.ts +12 -12
  273. package/dist/components/textarea/index.js +3 -2
  274. package/dist/components/theme-toggle/index.js +4 -4
  275. package/dist/components/toggle/index.d.ts +1 -1
  276. package/dist/components/toggle/index.js +2 -2
  277. package/dist/components/toggle-group/index.d.ts +2 -2
  278. package/dist/components/toggle-group/index.js +2 -2
  279. package/dist/components/tree/index.d.ts +24 -0
  280. package/dist/components/tree/index.js +5 -0
  281. package/dist/components/tree/index.js.map +1 -0
  282. package/dist/components/typography/index.d.ts +2 -2
  283. package/dist/components/typography/index.js +2 -2
  284. package/dist/components/video/index.js +2 -2
  285. package/dist/index.d.ts +25 -24
  286. package/dist/index.js +80 -78
  287. package/dist/lib/interactive/index.js +1 -1
  288. package/dist/lib/utils.d.ts +2 -1
  289. package/dist/lib/utils.js +1 -1
  290. package/dist/{navigationMenuTriggerStyle-BWnESpon.d.ts → navigationMenuTriggerStyle-DUhqCYxO.d.ts} +1 -1
  291. package/dist/theme.css +16 -0
  292. package/dist/utils.d.ts +2 -0
  293. package/dist/utils.js +3 -0
  294. package/dist/utils.js.map +1 -0
  295. package/package.json +34 -25
  296. package/dist/Button-vQnkiVTI.d.ts +0 -84
  297. package/dist/Toggle-CseZl7XN.d.ts +0 -49
  298. package/dist/Typography-ccTtE182.d.ts +0 -64
  299. package/dist/chunk-24QD2FTA.js.map +0 -1
  300. package/dist/chunk-262EK2XT.js.map +0 -1
  301. package/dist/chunk-3LIT5GWF.js.map +0 -1
  302. package/dist/chunk-5FBD2NTR.js.map +0 -1
  303. package/dist/chunk-5KS2VSX2.js.map +0 -1
  304. package/dist/chunk-67J4KBOW.js.map +0 -1
  305. package/dist/chunk-6RASPU5N.js.map +0 -1
  306. package/dist/chunk-BYG2ULS3.js.map +0 -1
  307. package/dist/chunk-CMBERB5B.js +0 -9
  308. package/dist/chunk-COPT6I2D.js.map +0 -1
  309. package/dist/chunk-D3DQ4ICC.js.map +0 -1
  310. package/dist/chunk-ERBGZZ2U.js.map +0 -1
  311. package/dist/chunk-G6TV6TF7.js.map +0 -1
  312. package/dist/chunk-GIU6BZTW.js.map +0 -1
  313. package/dist/chunk-HCTZJYHK.js.map +0 -1
  314. package/dist/chunk-JSHUWI3C.js.map +0 -1
  315. package/dist/chunk-LCWXIQKA.js.map +0 -1
  316. package/dist/chunk-MJQ6R345.js.map +0 -1
  317. package/dist/chunk-MKG3UAP6.js +0 -347
  318. package/dist/chunk-MKG3UAP6.js.map +0 -1
  319. package/dist/chunk-MS2ZNYCJ.js +0 -9
  320. package/dist/chunk-MS2ZNYCJ.js.map +0 -1
  321. package/dist/chunk-OCLVMKVC.js.map +0 -1
  322. package/dist/chunk-PGOCR4LG.js.map +0 -1
  323. package/dist/chunk-PPYJQNE5.js.map +0 -1
  324. package/dist/chunk-QZX3RFIC.js.map +0 -1
  325. package/dist/chunk-RTIFG4XT.js +0 -9
  326. package/dist/chunk-STRBBF45.js.map +0 -1
  327. package/dist/chunk-U2UNWXBC.js.map +0 -1
  328. package/dist/chunk-UEGIKBX6.js +0 -385
  329. package/dist/chunk-UEGIKBX6.js.map +0 -1
  330. package/dist/chunk-UIA74JVN.js.map +0 -1
  331. package/dist/chunk-UNWEH4Z6.js.map +0 -1
  332. package/dist/chunk-V2MG5Y5F.js.map +0 -1
  333. package/dist/chunk-X2YUFNK7.js +0 -18
  334. package/dist/chunk-X2YUFNK7.js.map +0 -1
  335. package/dist/chunk-XGFJJ2YB.js.map +0 -1
  336. package/dist/chunk-YZLPO4B2.js.map +0 -1
@@ -1,7 +1,7 @@
1
+ import { cn } from './chunk-XIANSPQO.js';
1
2
  import { tv } from 'tailwind-variants';
2
3
  import { jsxs, jsx } from 'preact/jsx-runtime';
3
4
 
4
- // src/components/native-select/NativeSelect.tsx
5
5
  var nativeSelectWrapper = tv({
6
6
  base: [
7
7
  /* min-w-0 + no w-fit: column flex + w-full on <select> must resolve to parent width (w-fit breaks that). */
@@ -50,15 +50,7 @@ var NativeSelect = ({
50
50
  children,
51
51
  ...rest
52
52
  }) => /* @__PURE__ */ jsxs("div", { class: nativeSelectWrapper(), "data-size": size, "data-slot": "native-select-wrapper", children: [
53
- /* @__PURE__ */ jsx(
54
- "select",
55
- {
56
- class: nativeSelect({ size, class: className }),
57
- "data-slot": "native-select",
58
- ...rest,
59
- children
60
- }
61
- ),
53
+ /* @__PURE__ */ jsx("select", { class: cn(nativeSelect({ size }), className), "data-slot": "native-select", ...rest, children }),
62
54
  icon ?? /* @__PURE__ */ jsx(
63
55
  "svg",
64
56
  {
@@ -91,5 +83,5 @@ var native_select_default = {
91
83
  };
92
84
 
93
85
  export { NativeSelect, NativeSelectOptGroup, NativeSelectOption, NativeSelectVariants, native_select_default };
94
- //# sourceMappingURL=chunk-G6TV6TF7.js.map
95
- //# sourceMappingURL=chunk-G6TV6TF7.js.map
86
+ //# sourceMappingURL=chunk-KJ5PYCJG.js.map
87
+ //# sourceMappingURL=chunk-KJ5PYCJG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/native-select/NativeSelect.tsx","../src/components/native-select/NativeSelectOptGroup.tsx","../src/components/native-select/NativeSelectOption.tsx","../src/components/native-select/index.ts"],"names":["jsx"],"mappings":";;;;AAIO,IAAM,sBAAsB,EAAA,CAAG;AAAA,EACpC,IAAA,EAAM;AAAA;AAAA,IAEJ;AAAA;AAEJ,CAAC,CAAA;AAEM,IAAM,eAAe,EAAA,CAAG;AAAA,EAC7B,IAAA,EAAM;AAAA,IACJ,wIAAA;AAAA,IACA,4BAAA;AAAA,IACA,8HAAA;AAAA,IACA,4BAAA;AAAA,IACA,oFAAA;AAAA,IACA,iFAAA;AAAA,IACA,0DAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI,4CAAA;AAAA,MACJ,EAAA,EAAI,6CAAA;AAAA,MACJ,EAAA,EAAI;AAAA;AACN,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM;AAAA;AAEV,CAAC,CAAA;AAEM,IAAM,mBAAmB,EAAA,CAAG;AAAA,EACjC,IAAA,EAAM,CAAC,6EAA6E,CAAA;AAAA,EACpF,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI,kBAAA;AAAA,MACJ,EAAA,EAAI,cAAA;AAAA,MACJ,EAAA,EAAI;AAAA;AACN,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM;AAAA;AAEV,CAAC,CAAA;AAQM,IAAM,eAAe,CAAC;AAAA,EAC3B,KAAA,EAAO,SAAA;AAAA,EACP,IAAA;AAAA,EACA,IAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,qBACE,IAAA,CAAC,SAAI,KAAA,EAAO,mBAAA,IAAuB,WAAA,EAAW,IAAA,EAAM,aAAU,uBAAA,EAC5D,QAAA,EAAA;AAAA,kBAAA,GAAA,CAAC,QAAA,EAAA,EAAO,KAAA,EAAO,EAAA,CAAG,YAAA,CAAa,EAAE,IAAA,EAAM,CAAA,EAAG,SAAS,CAAA,EAAG,WAAA,EAAU,eAAA,EAAiB,GAAG,MACjF,QAAA,EACH,CAAA;AAAA,EACC,IAAA,oBACC,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,OAAA,EAAQ,WAAA;AAAA,MACR,IAAA,EAAK,MAAA;AAAA,MACL,MAAA,EAAO,cAAA;AAAA,MACP,WAAA,EAAY,GAAA;AAAA,MACZ,aAAA,EAAc,OAAA;AAAA,MACd,cAAA,EAAe,OAAA;AAAA,MACf,aAAA,EAAY,MAAA;AAAA,MACZ,KAAA,EAAO,gBAAA,CAAiB,EAAE,IAAA,EAAM,CAAA;AAAA,MAChC,WAAA,EAAU,oBAAA;AAAA,MAEV,QAAA,kBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,cAAA,EAAe;AAAA;AAAA;AACzB,CAAA,EAEJ;AC1EK,IAAM,oBAAA,GAAuB,CAAC,EAAE,QAAA,EAAU,GAAG,IAAA,EAAK,qBACvDA,GAAAA,CAAC,UAAA,EAAA,EAAU,GAAG,IAAA,EAAO,QAAA,EAAS;ACDzB,IAAM,kBAAA,GAAqB,CAAC,EAAE,QAAA,EAAU,GAAG,IAAA,EAAK,qBACrDA,GAAAA,CAAC,QAAA,EAAA,EAAQ,GAAG,IAAA,EAAO,QAAA,EAAS;;;ACH9B,IAAM,oBAAA,GAAuB;AAAA,EAC3B,YAAA;AAAA,EACA,gBAAA;AAAA,EACA;AACF;AAIA,IAAO,qBAAA,GAAQ;AAAA,EACb,IAAA,EAAM,YAAA;AAAA,EACN,MAAA,EAAQ,kBAAA;AAAA,EACR,QAAA,EAAU;AACZ","file":"chunk-KJ5PYCJG.js","sourcesContent":["import type { ComponentChildren, JSX } from \"preact\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\nimport { cn } from \"../../lib/utils\";\n\nexport const nativeSelectWrapper = tv({\n base: [\n /* min-w-0 + no w-fit: column flex + w-full on <select> must resolve to parent width (w-fit breaks that). */\n \"group/native-select relative isolate min-w-0 max-w-full has-[select:disabled]:opacity-50\",\n ],\n});\n\nexport const nativeSelect = tv({\n base: [\n \"border-input dark:bg-input/30 text-foreground ring-offset-background min-h-0 min-w-0 w-full rounded-md border bg-transparent shadow-xs\",\n \"invalid:text-foreground/85\",\n \"placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground appearance-none bg-none select-none\",\n \"[&_option]:text-foreground\",\n \"hover:border-foreground/20 transition-[color,box-shadow,border-color] outline-none\",\n \"focus-visible:border-outline focus-visible:ring-outline/50 focus-visible:ring-3\",\n \"disabled:pointer-events-none disabled:cursor-not-allowed\",\n \"aria-invalid:border-error aria-invalid:focus-visible:ring-error/40 aria-invalid:focus-visible:ring-3\",\n ],\n variants: {\n size: {\n sm: \"min-h-8 py-1 pe-9 ps-2.5 text-sm leading-5\",\n md: \"min-h-9 py-1.5 pe-10 ps-3 text-sm leading-5\",\n lg: \"min-h-11 py-2 pe-11 ps-3.5 text-base leading-6\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport const nativeSelectIcon = tv({\n base: [\"text-muted-foreground pointer-events-none absolute top-1/2 -translate-y-1/2\"],\n variants: {\n size: {\n sm: \"end-2.5 size-3.5\",\n md: \"end-3 size-4\",\n lg: \"end-3.5 size-5\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport type NativeSelectProps = Omit<JSX.SelectHTMLAttributes<HTMLSelectElement>, \"size\"> &\n VariantProps<typeof nativeSelect> & {\n icon?: ComponentChildren;\n children?: ComponentChildren;\n };\n\nexport const NativeSelect = ({\n class: className,\n size,\n icon,\n children,\n ...rest\n}: NativeSelectProps) => (\n <div class={nativeSelectWrapper()} data-size={size} data-slot=\"native-select-wrapper\">\n <select class={cn(nativeSelect({ size }), className)} data-slot=\"native-select\" {...rest}>\n {children}\n </select>\n {icon ?? (\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n class={nativeSelectIcon({ size })}\n data-slot=\"native-select-icon\"\n >\n <path d=\"m6 9 6 6 6-6\" />\n </svg>\n )}\n </div>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\n\nexport type NativeSelectOptGroupProps = JSX.OptgroupHTMLAttributes<HTMLOptGroupElement> & {\n children?: ComponentChildren;\n};\n\nexport const NativeSelectOptGroup = ({ children, ...rest }: NativeSelectOptGroupProps) => (\n <optgroup {...rest}>{children}</optgroup>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\n\nexport type NativeSelectOptionProps = JSX.OptionHTMLAttributes<HTMLOptionElement> & {\n children?: ComponentChildren;\n};\n\nexport const NativeSelectOption = ({ children, ...rest }: NativeSelectOptionProps) => (\n <option {...rest}>{children}</option>\n);\n","import { NativeSelect, nativeSelect, nativeSelectIcon, nativeSelectWrapper } from \"./NativeSelect\";\nimport { NativeSelectOptGroup } from \"./NativeSelectOptGroup\";\nimport { NativeSelectOption } from \"./NativeSelectOption\";\n\nconst NativeSelectVariants = {\n nativeSelect,\n nativeSelectIcon,\n nativeSelectWrapper,\n};\n\nexport { NativeSelect, NativeSelectOptGroup, NativeSelectOption, NativeSelectVariants };\n\nexport default {\n Root: NativeSelect,\n Option: NativeSelectOption,\n OptGroup: NativeSelectOptGroup,\n};\n"]}
@@ -1,4 +1,4 @@
1
- import { cn } from './chunk-MS2ZNYCJ.js';
1
+ import { cn } from './chunk-XIANSPQO.js';
2
2
  import { useState } from 'preact/hooks';
3
3
  import { tv } from 'tailwind-variants';
4
4
  import { jsxs, jsx } from 'preact/jsx-runtime';
@@ -61,7 +61,7 @@ var Switch = ({
61
61
  "data-slot": "switch",
62
62
  "data-state": nextChecked ? "checked" : "unchecked",
63
63
  "data-size": size ?? "default",
64
- class: cn(switchRoot({ size, class: className })),
64
+ class: cn(switchRoot({ size }), className),
65
65
  onClick: (event) => {
66
66
  const updated = !nextChecked;
67
67
  if (!isControlled) {
@@ -90,5 +90,5 @@ var Switch = ({
90
90
  var switch_default = Switch;
91
91
 
92
92
  export { Switch, switch_default };
93
- //# sourceMappingURL=chunk-5KS2VSX2.js.map
94
- //# sourceMappingURL=chunk-5KS2VSX2.js.map
93
+ //# sourceMappingURL=chunk-LAM4GIME.js.map
94
+ //# sourceMappingURL=chunk-LAM4GIME.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/switch/Switch.tsx","../src/components/switch/index.ts"],"names":[],"mappings":";;;;;AAKA,IAAM,aAAa,EAAA,CAAG;AAAA,EACpB,IAAA,EAAM;AAAA,IACJ,0GAAA;AAAA,IACA,6BAAA;AAAA,IACA,iDAAA;AAAA,IACA,iDAAA;AAAA,IACA,2IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,OAAA,EAAS,UAAA;AAAA,MACT,EAAA,EAAI;AAAA;AACN,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM;AAAA;AAEV,CAAC,CAAA;AAED,IAAM,cAAc,EAAA,CAAG;AAAA,EACrB,IAAA,EAAM;AAAA,IACJ,sDAAA;AAAA,IACA,uCAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,OAAA,EAAS,2CAAA;AAAA,MACT,EAAA,EAAI;AAAA;AACN,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM;AAAA;AAEV,CAAC,CAAA;AAaM,IAAM,SAAS,CAAC;AAAA,EACrB,cAAA,GAAiB,KAAA;AAAA,EACjB,OAAA;AAAA,EACA,eAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA,EAAO,SAAA;AAAA,EACP,QAAA;AAAA,EACA,OAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAmB;AACjB,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAI,SAAS,cAAc,CAAA;AAC/D,EAAA,MAAM,YAAA,GAAe,OAAO,OAAA,KAAY,SAAA;AACxC,EAAA,MAAM,WAAA,GAAc,eAAe,OAAA,GAAU,YAAA;AAE7C,EAAA,uBACE,IAAA,CAAC,MAAA,EAAA,EAAK,WAAA,EAAU,aAAA,EAAc,OAAM,gCAAA,EAClC,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,QAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAK,QAAA;AAAA,QACL,IAAA,EAAK,QAAA;AAAA,QACL,cAAA,EAAc,WAAA;AAAA,QACd,WAAA,EAAU,QAAA;AAAA,QACV,YAAA,EAAY,cAAc,SAAA,GAAY,WAAA;AAAA,QACtC,aAAW,IAAA,IAAQ,SAAA;AAAA,QACnB,OAAO,EAAA,CAAG,UAAA,CAAW,EAAE,IAAA,EAAM,GAAG,SAAS,CAAA;AAAA,QACzC,OAAA,EAAS,CAAC,KAAA,KAAU;AAClB,UAAA,MAAM,UAAU,CAAC,WAAA;AACjB,UAAA,IAAI,CAAC,YAAA,EAAc;AACjB,YAAA,eAAA,CAAgB,OAAO,CAAA;AAAA,UACzB;AACA,UAAA,eAAA,GAAkB,OAAO,CAAA;AACzB,UAAA,OAAA,GAAU,KAAK,CAAA;AAAA,QACjB,CAAA;AAAA,QACC,GAAG,IAAA;AAAA,QAEJ,QAAA,kBAAA,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,WAAA,EAAU,cAAA;AAAA,YACV,aAAW,IAAA,IAAQ,SAAA;AAAA,YACnB,YAAA,EAAY,cAAc,SAAA,GAAY,WAAA;AAAA,YACtC,OAAO,EAAA,CAAG,WAAA,CAAY,EAAE,IAAA,EAAM,CAAC;AAAA;AAAA;AACjC;AAAA,KACF;AAAA,IACC,2BAAW,GAAA,CAAC,MAAA,EAAA,EAAK,WAAA,EAAU,cAAA,EAAgB,UAAS,CAAA,GAAU;AAAA,GAAA,EACjE,CAAA;AAEJ;;;AC7FA,IAAO,cAAA,GAAQ","file":"chunk-LAM4GIME.js","sourcesContent":["import type { ComponentChildren, JSX } from \"preact\";\nimport { useState } from \"preact/hooks\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\nimport { cn } from \"../../lib/utils\";\n\nconst switchRoot = tv({\n base: [\n \"peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-xs\",\n \"outline-none transition-all\",\n \"focus-visible:ring-3 focus-visible:ring-ring/50\",\n \"disabled:cursor-not-allowed disabled:opacity-50\",\n \"data-[state=checked]:bg-primary data-[state=checked]:saturate-125 data-[state=unchecked]:bg-input dark:data-[state=unchecked]:bg-input/80\",\n \"aria-invalid:ring-destructive/20 aria-invalid:border-destructive\",\n ],\n variants: {\n size: {\n default: \"h-6 w-11\",\n sm: \"h-5 w-9\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n});\n\nconst switchThumb = tv({\n base: [\n \"pointer-events-none block rounded-full bg-background\",\n \"shadow-sm ring-0 transition-transform\",\n \"data-[state=unchecked]:translate-x-0\",\n ],\n variants: {\n size: {\n default: \"size-5 data-[state=checked]:translate-x-5\",\n sm: \"size-4 data-[state=checked]:translate-x-4\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n});\n\ntype SwitchVariants = VariantProps<typeof switchRoot>;\n\nexport type SwitchProps = Omit<JSX.ButtonHTMLAttributes<HTMLButtonElement>, \"class\"> &\n SwitchVariants & {\n class?: string;\n defaultChecked?: boolean;\n checked?: boolean;\n onCheckedChange?: (next: boolean) => void;\n children?: ComponentChildren;\n };\n\nexport const Switch = ({\n defaultChecked = false,\n checked,\n onCheckedChange,\n size,\n class: className,\n children,\n onClick,\n ...rest\n}: SwitchProps) => {\n const [localChecked, setLocalChecked] = useState(defaultChecked);\n const isControlled = typeof checked === \"boolean\";\n const nextChecked = isControlled ? checked : localChecked;\n\n return (\n <span data-slot=\"switch-root\" class=\"inline-flex items-center gap-2\">\n <button\n type=\"button\"\n role=\"switch\"\n aria-checked={nextChecked}\n data-slot=\"switch\"\n data-state={nextChecked ? \"checked\" : \"unchecked\"}\n data-size={size ?? \"default\"}\n class={cn(switchRoot({ size }), className)}\n onClick={(event) => {\n const updated = !nextChecked;\n if (!isControlled) {\n setLocalChecked(updated);\n }\n onCheckedChange?.(updated);\n onClick?.(event);\n }}\n {...rest}\n >\n <span\n data-slot=\"switch-thumb\"\n data-size={size ?? \"default\"}\n data-state={nextChecked ? \"checked\" : \"unchecked\"}\n class={cn(switchThumb({ size }))}\n />\n </button>\n {children ? <span data-slot=\"switch-label\">{children}</span> : null}\n </span>\n );\n};\n","import { Switch } from \"./Switch\";\n\nexport { Switch };\n\nexport default Switch;\n"]}
@@ -1,4 +1,5 @@
1
- import { popoverTrigger, popoverContent, popover, PopoverContent, PopoverTrigger, Popover, usePopover } from './chunk-U2UNWXBC.js';
1
+ import { popoverTrigger, popoverContent, popover, PopoverContent, PopoverTrigger, Popover, usePopover } from './chunk-VEQ7X2PO.js';
2
+ import { cn } from './chunk-XIANSPQO.js';
2
3
  import { tv } from 'tailwind-variants';
3
4
  import { jsx, jsxs } from 'preact/jsx-runtime';
4
5
 
@@ -20,7 +21,7 @@ var PopoverClose = ({
20
21
  "button",
21
22
  {
22
23
  type: "button",
23
- class: popoverClose({ class: className }),
24
+ class: cn(popoverClose(), className),
24
25
  "data-slot": "popover-close",
25
26
  "aria-label": "Close",
26
27
  onClick: (event) => {
@@ -55,35 +56,11 @@ var PopoverDescription = ({
55
56
  class: className,
56
57
  children,
57
58
  ...rest
58
- }) => /* @__PURE__ */ jsx(
59
- "p",
60
- {
61
- class: popoverDescription({ class: className }),
62
- "data-slot": "popover-description",
63
- ...rest,
64
- children
65
- }
66
- );
59
+ }) => /* @__PURE__ */ jsx("p", { class: cn(popoverDescription(), className), "data-slot": "popover-description", ...rest, children });
67
60
  var popoverHeader = tv({ base: "flex flex-col gap-1.5" });
68
- var PopoverHeader = ({ class: className, children, ...rest }) => /* @__PURE__ */ jsx(
69
- "div",
70
- {
71
- class: popoverHeader({ class: className }),
72
- "data-slot": "popover-header",
73
- ...rest,
74
- children
75
- }
76
- );
61
+ var PopoverHeader = ({ class: className, children, ...rest }) => /* @__PURE__ */ jsx("div", { class: cn(popoverHeader(), className), "data-slot": "popover-header", ...rest, children });
77
62
  var popoverTitle = tv({ base: "font-medium leading-none" });
78
- var PopoverTitle = ({ class: className, children, ...rest }) => /* @__PURE__ */ jsx(
79
- "h3",
80
- {
81
- class: popoverTitle({ class: className }),
82
- "data-slot": "popover-title",
83
- ...rest,
84
- children
85
- }
86
- );
63
+ var PopoverTitle = ({ class: className, children, ...rest }) => /* @__PURE__ */ jsx("h3", { class: cn(popoverTitle(), className), "data-slot": "popover-title", ...rest, children });
87
64
 
88
65
  // src/components/popover/index.ts
89
66
  var PopoverVariants = {
@@ -106,5 +83,5 @@ var popover_default = {
106
83
  };
107
84
 
108
85
  export { PopoverClose, PopoverDescription, PopoverHeader, PopoverTitle, PopoverVariants, popover_default };
109
- //# sourceMappingURL=chunk-OCLVMKVC.js.map
110
- //# sourceMappingURL=chunk-OCLVMKVC.js.map
86
+ //# sourceMappingURL=chunk-MDXTENZ4.js.map
87
+ //# sourceMappingURL=chunk-MDXTENZ4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/popover/PopoverClose.tsx","../src/components/popover/PopoverDescription.tsx","../src/components/popover/PopoverHeader.tsx","../src/components/popover/PopoverTitle.tsx","../src/components/popover/index.ts"],"names":["popover","tv","jsx"],"mappings":";;;;;AAKO,IAAM,eAAe,EAAA,CAAG;AAAA,EAC7B,IAAA,EAAM;AAAA,IACJ,6FAAA;AAAA,IACA,8FAAA;AAAA,IACA;AAAA;AAEJ,CAAC,CAAA;AAMM,IAAM,eAAe,CAAC;AAAA,EAC3B,KAAA,EAAO,SAAA;AAAA,EACP,QAAA;AAAA,EACA,OAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAyB;AACvB,EAAA,MAAMA,WAAU,UAAA,EAAW;AAE3B,EAAA,uBACE,GAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAK,QAAA;AAAA,MACL,KAAA,EAAO,EAAA,CAAG,YAAA,EAAa,EAAG,SAAS,CAAA;AAAA,MACnC,WAAA,EAAU,eAAA;AAAA,MACV,YAAA,EAAW,OAAA;AAAA,MACX,OAAA,EAAS,CAAC,KAAA,KAAU;AAClB,QAAAA,QAAAA,CAAQ,QAAQ,KAAK,CAAA;AACrB,QAAAA,QAAAA,CAAQ,UAAA,CAAW,OAAA,EAAS,KAAA,EAAM;AAClC,QAAA,OAAA,GAAU,KAAK,CAAA;AAAA,MACjB,CAAA;AAAA,MACC,GAAG,IAAA;AAAA,MAEH,QAAA,EAAA,QAAA,oBACC,IAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,KAAA,EAAM,4BAAA;AAAA,UACN,KAAA,EAAM,IAAA;AAAA,UACN,MAAA,EAAO,IAAA;AAAA,UACP,OAAA,EAAQ,WAAA;AAAA,UACR,IAAA,EAAK,MAAA;AAAA,UACL,MAAA,EAAO,cAAA;AAAA,UACP,cAAA,EAAa,GAAA;AAAA,UACb,gBAAA,EAAe,OAAA;AAAA,UACf,iBAAA,EAAgB,OAAA;AAAA,UAEhB,QAAA,EAAA;AAAA,4BAAA,GAAA,CAAC,MAAA,EAAA,EAAK,GAAE,YAAA,EAAa,CAAA;AAAA,4BACrB,GAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,YAAA,EAAa;AAAA;AAAA;AAAA;AACvB;AAAA,GAEJ;AAEJ;ACpDO,IAAM,kBAAA,GAAqBC,EAAAA,CAAG,EAAE,IAAA,EAAM,iCAAiC,CAAA;AAMvE,IAAM,qBAAqB,CAAC;AAAA,EACjC,KAAA,EAAO,SAAA;AAAA,EACP,QAAA;AAAA,EACA,GAAG;AACL,CAAA,qBACEC,GAAAA,CAAC,GAAA,EAAA,EAAE,KAAA,EAAO,EAAA,CAAG,kBAAA,EAAmB,EAAG,SAAS,CAAA,EAAG,WAAA,EAAU,qBAAA,EAAuB,GAAG,MAChF,QAAA,EACH;ACbK,IAAM,aAAA,GAAgBD,EAAAA,CAAG,EAAE,IAAA,EAAM,yBAAyB,CAAA;AAM1D,IAAM,aAAA,GAAgB,CAAC,EAAE,KAAA,EAAO,WAAW,QAAA,EAAU,GAAG,IAAA,EAAK,qBAClEC,GAAAA,CAAC,SAAI,KAAA,EAAO,EAAA,CAAG,eAAc,EAAG,SAAS,GAAG,WAAA,EAAU,gBAAA,EAAkB,GAAG,IAAA,EACxE,QAAA,EACH;ACTK,IAAM,YAAA,GAAeD,EAAAA,CAAG,EAAE,IAAA,EAAM,4BAA4B,CAAA;AAM5D,IAAM,YAAA,GAAe,CAAC,EAAE,KAAA,EAAO,WAAW,QAAA,EAAU,GAAG,IAAA,EAAK,qBACjEC,GAAAA,CAAC,QAAG,KAAA,EAAO,EAAA,CAAG,cAAa,EAAG,SAAS,GAAG,WAAA,EAAU,eAAA,EAAiB,GAAG,IAAA,EACrE,QAAA,EACH;;;ACLF,IAAM,eAAA,GAAkB;AAAA,EACtB,OAAA;AAAA,EACA,YAAA;AAAA,EACA,cAAA;AAAA,EACA,kBAAA;AAAA,EACA,aAAA;AAAA,EACA,YAAA;AAAA,EACA;AACF;AAaA,IAAO,eAAA,GAAQ;AAAA,EACb,IAAA,EAAM,OAAA;AAAA,EACN,KAAA,EAAO,YAAA;AAAA,EACP,OAAA,EAAS,cAAA;AAAA,EACT,OAAA,EAAS,cAAA;AAAA,EACT,MAAA,EAAQ,aAAA;AAAA,EACR,KAAA,EAAO,YAAA;AAAA,EACP,WAAA,EAAa;AACf","file":"chunk-MDXTENZ4.js","sourcesContent":["import type { ComponentChildren, JSX } from \"preact\";\nimport { tv } from \"tailwind-variants\";\nimport { cn } from \"../../lib/utils\";\nimport { usePopover } from \"./Popover\";\n\nexport const popoverClose = tv({\n base: [\n \"absolute right-3 top-3 inline-flex size-6 items-center justify-center rounded-sm opacity-70\",\n \"hover:opacity-100 focus-visible:ring-ring/50 focus-visible:ring-2 focus-visible:outline-none\",\n \"disabled:pointer-events-none\",\n ],\n});\n\nexport type PopoverCloseProps = JSX.ButtonHTMLAttributes<HTMLButtonElement> & {\n children?: ComponentChildren;\n};\n\nexport const PopoverClose = ({\n class: className,\n children,\n onClick,\n ...rest\n}: PopoverCloseProps) => {\n const popover = usePopover();\n\n return (\n <button\n type=\"button\"\n class={cn(popoverClose(), className)}\n data-slot=\"popover-close\"\n aria-label=\"Close\"\n onClick={(event) => {\n popover.setOpen(false);\n popover.triggerRef.current?.focus();\n onClick?.(event);\n }}\n {...rest}\n >\n {children ?? (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <path d=\"M18 6 6 18\" />\n <path d=\"m6 6 12 12\" />\n </svg>\n )}\n </button>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { tv } from \"tailwind-variants\";\nimport { cn } from \"../../lib/utils\";\n\nexport const popoverDescription = tv({ base: \"text-muted-foreground text-sm\" });\n\nexport type PopoverDescriptionProps = JSX.HTMLAttributes<HTMLParagraphElement> & {\n children?: ComponentChildren;\n};\n\nexport const PopoverDescription = ({\n class: className,\n children,\n ...rest\n}: PopoverDescriptionProps) => (\n <p class={cn(popoverDescription(), className)} data-slot=\"popover-description\" {...rest}>\n {children}\n </p>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { tv } from \"tailwind-variants\";\nimport { cn } from \"../../lib/utils\";\n\nexport const popoverHeader = tv({ base: \"flex flex-col gap-1.5\" });\n\nexport type PopoverHeaderProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const PopoverHeader = ({ class: className, children, ...rest }: PopoverHeaderProps) => (\n <div class={cn(popoverHeader(), className)} data-slot=\"popover-header\" {...rest}>\n {children}\n </div>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { tv } from \"tailwind-variants\";\nimport { cn } from \"../../lib/utils\";\n\nexport const popoverTitle = tv({ base: \"font-medium leading-none\" });\n\nexport type PopoverTitleProps = JSX.HTMLAttributes<HTMLHeadingElement> & {\n children?: ComponentChildren;\n};\n\nexport const PopoverTitle = ({ class: className, children, ...rest }: PopoverTitleProps) => (\n <h3 class={cn(popoverTitle(), className)} data-slot=\"popover-title\" {...rest}>\n {children}\n </h3>\n);\n","import { Popover, popover } from \"./Popover\";\nimport { PopoverClose, popoverClose } from \"./PopoverClose\";\nimport { PopoverContent, popoverContent } from \"./PopoverContent\";\nimport { PopoverDescription, popoverDescription } from \"./PopoverDescription\";\nimport { PopoverHeader, popoverHeader } from \"./PopoverHeader\";\nimport { PopoverTitle, popoverTitle } from \"./PopoverTitle\";\nimport { PopoverTrigger, popoverTrigger } from \"./PopoverTrigger\";\n\nconst PopoverVariants = {\n popover,\n popoverClose,\n popoverContent,\n popoverDescription,\n popoverHeader,\n popoverTitle,\n popoverTrigger,\n};\n\nexport {\n Popover,\n PopoverClose,\n PopoverContent,\n PopoverDescription,\n PopoverHeader,\n PopoverTitle,\n PopoverTrigger,\n PopoverVariants,\n};\n\nexport default {\n Root: Popover,\n Close: PopoverClose,\n Trigger: PopoverTrigger,\n Content: PopoverContent,\n Header: PopoverHeader,\n Title: PopoverTitle,\n Description: PopoverDescription,\n};\n"]}
@@ -1,4 +1,4 @@
1
- import { cn } from './chunk-MS2ZNYCJ.js';
1
+ import { cn } from './chunk-XIANSPQO.js';
2
2
  import { signal } from '@preact/signals';
3
3
  import { createContext } from 'preact';
4
4
  import { useContext, useMemo, useCallback, useRef, useLayoutEffect } from 'preact/hooks';
@@ -267,5 +267,5 @@ var CommandSeparator = ({ class: className, ...rest }) => /* @__PURE__ */ jsx(
267
267
  );
268
268
 
269
269
  export { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, useCommand };
270
- //# sourceMappingURL=chunk-CP55TVOV.js.map
271
- //# sourceMappingURL=chunk-CP55TVOV.js.map
270
+ //# sourceMappingURL=chunk-MJUKNUFV.js.map
271
+ //# sourceMappingURL=chunk-MJUKNUFV.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/command/Command.tsx","../src/components/command/CommandEmpty.tsx","../src/components/command/CommandGroup.tsx","../src/components/command/CommandInput.tsx","../src/components/command/CommandItem.tsx","../src/components/command/CommandList.tsx","../src/components/command/CommandSeparator.tsx"],"names":["jsx"],"mappings":"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","file":"chunk-CP55TVOV.js","sourcesContent":["import { type Signal, signal } from \"@preact/signals\";\nimport type { ComponentChildren, JSX } from \"preact\";\nimport { createContext } from \"preact\";\nimport { useCallback, useContext, useMemo } from \"preact/hooks\";\nimport { cn } from \"../../lib/utils\";\n\nexport type CommandContextValue = {\n query: Signal<string>;\n hasVisibleItems: Signal<boolean>;\n autoHighlight: boolean;\n highlightedIndex: Signal<number>;\n listRef: { current: HTMLDivElement | null };\n moveHighlight: (delta: number) => void;\n activateHighlighted: () => void;\n};\n\nconst CommandContext = createContext<CommandContextValue | null>(null);\n\nexport const useCommand = () => {\n const context = useContext(CommandContext);\n if (!context) throw new Error(\"Command subcomponents must be used within Command\");\n return context;\n};\n\nexport type CommandProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n /** First visible item gets `data-highlighted`; enables ArrowUp/Down + Enter in `CommandInput`. */\n autoHighlight?: boolean;\n /** External filter signal (e.g. combobox inline input shares query with the list). */\n query?: Signal<string>;\n /** External visibility signal; updated by `CommandList` when provided. */\n hasVisibleItems?: Signal<boolean>;\n};\n\nexport const Command = ({\n class: className,\n children,\n autoHighlight = false,\n query: queryProp,\n hasVisibleItems: hasVisibleProp,\n ...rest\n}: CommandProps) => {\n const internalQuery = useMemo(() => signal(\"\"), []);\n const query = queryProp ?? internalQuery;\n const internalHas = useMemo(() => signal(true), []);\n const hasVisibleItems = hasVisibleProp ?? internalHas;\n const highlightedIndex = useMemo(() => signal(-1), []);\n const listRef = useMemo(() => ({ current: null as HTMLDivElement | null }), []);\n\n const moveHighlight = useCallback(\n (delta: number) => {\n const root = listRef.current;\n if (!root || !autoHighlight) return;\n const nodes = [\n ...root.querySelectorAll<HTMLElement>('[data-slot=\"command-item\"][data-match=\"true\"]'),\n ];\n if (nodes.length === 0) return;\n let idx = highlightedIndex.value;\n if (idx < 0) idx = delta > 0 ? 0 : nodes.length - 1;\n else idx = (idx + delta + nodes.length) % nodes.length;\n highlightedIndex.value = idx;\n },\n [autoHighlight, highlightedIndex, listRef],\n );\n\n const activateHighlighted = useCallback(() => {\n if (!autoHighlight) return;\n const root = listRef.current;\n if (!root) return;\n const nodes = [\n ...root.querySelectorAll<HTMLElement>('[data-slot=\"command-item\"][data-match=\"true\"]'),\n ];\n if (nodes.length === 0) return;\n let idx = highlightedIndex.value;\n if (idx < 0 || idx >= nodes.length) idx = 0;\n nodes[idx]?.click();\n }, [autoHighlight, highlightedIndex, listRef]);\n\n const contextValue = useMemo<CommandContextValue>(\n () => ({\n query,\n hasVisibleItems,\n autoHighlight,\n highlightedIndex,\n listRef,\n moveHighlight,\n activateHighlighted,\n }),\n [\n query,\n hasVisibleItems,\n autoHighlight,\n highlightedIndex,\n listRef,\n moveHighlight,\n activateHighlighted,\n ],\n );\n\n return (\n <CommandContext.Provider value={contextValue}>\n <div\n data-slot=\"command\"\n class={cn(\"w-full rounded-md border bg-popover text-popover-foreground\", className)}\n {...rest}\n >\n {children}\n </div>\n </CommandContext.Provider>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { useCommand } from \"./Command\";\n\nexport type CommandEmptyProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const CommandEmpty = ({ children, class: className, ...rest }: CommandEmptyProps) => {\n const { query, hasVisibleItems } = useCommand();\n void hasVisibleItems.value;\n\n if (!(query.value ?? \"\").trim()) return null;\n if (hasVisibleItems.value) return null;\n\n return (\n <div\n data-slot=\"command-empty\"\n class={cn(\"p-2 text-sm text-muted-foreground\", className)}\n {...rest}\n >\n {children}\n </div>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type CommandGroupProps = JSX.HTMLAttributes<HTMLDivElement> & {\n heading?: string;\n children?: ComponentChildren;\n};\n\nexport const CommandGroup = ({\n heading,\n class: className,\n children,\n ...rest\n}: CommandGroupProps) => (\n <div\n data-slot=\"command-group\"\n role=\"presentation\"\n class={cn(\"text-foreground overflow-hidden p-1\", className)}\n {...rest}\n >\n {heading ? (\n <div\n class=\"text-muted-foreground px-2 py-1.5 text-xs font-medium\"\n data-slot=\"command-group-heading\"\n >\n {heading}\n </div>\n ) : null}\n <div class=\"space-y-0.5\" role=\"group\">\n {children}\n </div>\n </div>\n);\n","import type { JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { useCommand } from \"./Command\";\n\nexport type CommandInputProps = JSX.InputHTMLAttributes<HTMLInputElement>;\n\nexport const CommandInput = ({\n class: className,\n onInput,\n onKeyDown,\n ...rest\n}: CommandInputProps) => {\n const { query, autoHighlight, moveHighlight, activateHighlighted } = useCommand();\n void query.value;\n return (\n <input\n data-slot=\"command-input\"\n class={cn(\"h-10 w-full border-b bg-transparent px-3 text-sm outline-none\", className)}\n value={query.value}\n onInput={(event) => {\n query.value = event.currentTarget.value;\n onInput?.(event);\n }}\n onKeyDown={(event) => {\n if (autoHighlight) {\n if (event.key === \"ArrowDown\") {\n event.preventDefault();\n moveHighlight(1);\n return;\n }\n if (event.key === \"ArrowUp\") {\n event.preventDefault();\n moveHighlight(-1);\n return;\n }\n if (event.key === \"Enter\") {\n event.preventDefault();\n activateHighlighted();\n return;\n }\n }\n onKeyDown?.(event);\n }}\n {...rest}\n />\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { useCommand } from \"./Command\";\n\nexport type CommandItemProps = JSX.ButtonHTMLAttributes<HTMLButtonElement> & {\n /** Used for case-insensitive filtering against the query. */\n value: string;\n children?: ComponentChildren;\n onSelect?: (value: string) => void;\n};\n\nexport const CommandItem = ({\n class: className,\n value,\n children,\n disabled,\n onClick,\n onSelect,\n ...rest\n}: CommandItemProps) => {\n const { query } = useCommand();\n const q = (query.value ?? \"\").trim().toLowerCase();\n const textMatch = !q || value.toLowerCase().includes(q);\n\n return (\n <button\n type=\"button\"\n data-slot=\"command-item\"\n data-match={textMatch ? \"true\" : \"false\"}\n disabled={disabled}\n class={cn(\n \"flex w-full cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-start text-sm outline-none\",\n \"hover:bg-accent hover:text-accent-foreground\",\n \"focus:bg-accent focus:text-accent-foreground\",\n \"data-[highlighted=true]:bg-accent data-[highlighted=true]:text-accent-foreground\",\n \"data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n \"[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n !textMatch && \"hidden\",\n className,\n )}\n onClick={(event) => {\n onClick?.(event);\n if (event.defaultPrevented) return;\n onSelect?.(value);\n }}\n {...rest}\n >\n {children}\n </button>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { useLayoutEffect, useRef } from \"preact/hooks\";\nimport { cn } from \"../../lib/utils\";\nimport { useCommand } from \"./Command\";\n\nexport type CommandListProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n /** Notified when the list root mounts (e.g. combobox inline input forwards keyboard to the list). */\n onMount?: (el: HTMLDivElement | null) => void;\n};\n\nexport const CommandList = ({ class: className, children, onMount, ...rest }: CommandListProps) => {\n const { query, hasVisibleItems, autoHighlight, highlightedIndex, listRef } = useCommand();\n const prevQueryRef = useRef<string | null>(null);\n\n void query.value;\n void highlightedIndex.value;\n\n useLayoutEffect(() => {\n const root = listRef.current;\n if (!root) return;\n\n const nodes = [\n ...root.querySelectorAll<HTMLElement>('[data-slot=\"command-item\"][data-match=\"true\"]'),\n ];\n hasVisibleItems.value = nodes.length > 0;\n\n if (!autoHighlight) {\n root\n .querySelectorAll('[data-slot=\"command-item\"]')\n .forEach((el) => el.removeAttribute(\"data-highlighted\"));\n prevQueryRef.current = query.value;\n return;\n }\n\n const queryBumped = prevQueryRef.current !== query.value;\n prevQueryRef.current = query.value;\n\n let idx = highlightedIndex.value;\n if (queryBumped) {\n idx = nodes.length > 0 ? 0 : -1;\n highlightedIndex.value = idx;\n } else {\n if (nodes.length === 0) {\n highlightedIndex.value = -1;\n idx = -1;\n } else if (idx >= nodes.length) {\n idx = nodes.length - 1;\n highlightedIndex.value = idx;\n } else if (idx < 0) {\n idx = 0;\n highlightedIndex.value = idx;\n }\n }\n\n root\n .querySelectorAll('[data-slot=\"command-item\"]')\n .forEach((el) => el.removeAttribute(\"data-highlighted\"));\n if (idx >= 0 && nodes[idx]) {\n nodes[idx].setAttribute(\"data-highlighted\", \"true\");\n nodes[idx].scrollIntoView({ block: \"nearest\" });\n }\n }, [query.value, highlightedIndex.value, autoHighlight]);\n\n return (\n <div\n ref={(node) => {\n listRef.current = node;\n onMount?.(node);\n }}\n data-slot=\"command-list\"\n class={cn(\"max-h-72 overflow-y-auto overflow-x-hidden p-1\", className)}\n {...rest}\n >\n {children}\n </div>\n );\n};\n","import type { JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type CommandSeparatorProps = JSX.HTMLAttributes<HTMLHRElement>;\n\nexport const CommandSeparator = ({ class: className, ...rest }: CommandSeparatorProps) => (\n <hr\n data-slot=\"command-separator\"\n class={cn(\"bg-border -mx-1 my-1 h-px border-0\", className)}\n {...rest}\n />\n);\n"]}
1
+ {"version":3,"sources":["../src/components/command/Command.tsx","../src/components/command/CommandEmpty.tsx","../src/components/command/CommandGroup.tsx","../src/components/command/CommandInput.tsx","../src/components/command/CommandItem.tsx","../src/components/command/CommandList.tsx","../src/components/command/CommandSeparator.tsx"],"names":["jsx"],"mappings":"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","file":"chunk-MJUKNUFV.js","sourcesContent":["import { type Signal, signal } from \"@preact/signals\";\nimport type { ComponentChildren, JSX } from \"preact\";\nimport { createContext } from \"preact\";\nimport { useCallback, useContext, useMemo } from \"preact/hooks\";\nimport { cn } from \"../../lib/utils\";\n\nexport type CommandContextValue = {\n query: Signal<string>;\n hasVisibleItems: Signal<boolean>;\n autoHighlight: boolean;\n highlightedIndex: Signal<number>;\n listRef: { current: HTMLDivElement | null };\n moveHighlight: (delta: number) => void;\n activateHighlighted: () => void;\n};\n\nconst CommandContext = createContext<CommandContextValue | null>(null);\n\nexport const useCommand = () => {\n const context = useContext(CommandContext);\n if (!context) throw new Error(\"Command subcomponents must be used within Command\");\n return context;\n};\n\nexport type CommandProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n /** First visible item gets `data-highlighted`; enables ArrowUp/Down + Enter in `CommandInput`. */\n autoHighlight?: boolean;\n /** External filter signal (e.g. combobox inline input shares query with the list). */\n query?: Signal<string>;\n /** External visibility signal; updated by `CommandList` when provided. */\n hasVisibleItems?: Signal<boolean>;\n};\n\nexport const Command = ({\n class: className,\n children,\n autoHighlight = false,\n query: queryProp,\n hasVisibleItems: hasVisibleProp,\n ...rest\n}: CommandProps) => {\n const internalQuery = useMemo(() => signal(\"\"), []);\n const query = queryProp ?? internalQuery;\n const internalHas = useMemo(() => signal(true), []);\n const hasVisibleItems = hasVisibleProp ?? internalHas;\n const highlightedIndex = useMemo(() => signal(-1), []);\n const listRef = useMemo(() => ({ current: null as HTMLDivElement | null }), []);\n\n const moveHighlight = useCallback(\n (delta: number) => {\n const root = listRef.current;\n if (!root || !autoHighlight) return;\n const nodes = [\n ...root.querySelectorAll<HTMLElement>('[data-slot=\"command-item\"][data-match=\"true\"]'),\n ];\n if (nodes.length === 0) return;\n let idx = highlightedIndex.value;\n if (idx < 0) idx = delta > 0 ? 0 : nodes.length - 1;\n else idx = (idx + delta + nodes.length) % nodes.length;\n highlightedIndex.value = idx;\n },\n [autoHighlight, highlightedIndex, listRef],\n );\n\n const activateHighlighted = useCallback(() => {\n if (!autoHighlight) return;\n const root = listRef.current;\n if (!root) return;\n const nodes = [\n ...root.querySelectorAll<HTMLElement>('[data-slot=\"command-item\"][data-match=\"true\"]'),\n ];\n if (nodes.length === 0) return;\n let idx = highlightedIndex.value;\n if (idx < 0 || idx >= nodes.length) idx = 0;\n nodes[idx]?.click();\n }, [autoHighlight, highlightedIndex, listRef]);\n\n const contextValue = useMemo<CommandContextValue>(\n () => ({\n query,\n hasVisibleItems,\n autoHighlight,\n highlightedIndex,\n listRef,\n moveHighlight,\n activateHighlighted,\n }),\n [\n query,\n hasVisibleItems,\n autoHighlight,\n highlightedIndex,\n listRef,\n moveHighlight,\n activateHighlighted,\n ],\n );\n\n return (\n <CommandContext.Provider value={contextValue}>\n <div\n data-slot=\"command\"\n class={cn(\"w-full rounded-md border bg-popover text-popover-foreground\", className)}\n {...rest}\n >\n {children}\n </div>\n </CommandContext.Provider>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { useCommand } from \"./Command\";\n\nexport type CommandEmptyProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const CommandEmpty = ({ children, class: className, ...rest }: CommandEmptyProps) => {\n const { query, hasVisibleItems } = useCommand();\n void hasVisibleItems.value;\n\n if (!(query.value ?? \"\").trim()) return null;\n if (hasVisibleItems.value) return null;\n\n return (\n <div\n data-slot=\"command-empty\"\n class={cn(\"p-2 text-sm text-muted-foreground\", className)}\n {...rest}\n >\n {children}\n </div>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type CommandGroupProps = JSX.HTMLAttributes<HTMLDivElement> & {\n heading?: string;\n children?: ComponentChildren;\n};\n\nexport const CommandGroup = ({\n heading,\n class: className,\n children,\n ...rest\n}: CommandGroupProps) => (\n <div\n data-slot=\"command-group\"\n role=\"presentation\"\n class={cn(\"text-foreground overflow-hidden p-1\", className)}\n {...rest}\n >\n {heading ? (\n <div\n class=\"text-muted-foreground px-2 py-1.5 text-xs font-medium\"\n data-slot=\"command-group-heading\"\n >\n {heading}\n </div>\n ) : null}\n <div class=\"space-y-0.5\" role=\"group\">\n {children}\n </div>\n </div>\n);\n","import type { JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { useCommand } from \"./Command\";\n\nexport type CommandInputProps = JSX.InputHTMLAttributes<HTMLInputElement>;\n\nexport const CommandInput = ({\n class: className,\n onInput,\n onKeyDown,\n ...rest\n}: CommandInputProps) => {\n const { query, autoHighlight, moveHighlight, activateHighlighted } = useCommand();\n void query.value;\n return (\n <input\n data-slot=\"command-input\"\n class={cn(\"h-10 w-full border-b bg-transparent px-3 text-sm outline-none\", className)}\n value={query.value}\n onInput={(event) => {\n query.value = event.currentTarget.value;\n onInput?.(event);\n }}\n onKeyDown={(event) => {\n if (autoHighlight) {\n if (event.key === \"ArrowDown\") {\n event.preventDefault();\n moveHighlight(1);\n return;\n }\n if (event.key === \"ArrowUp\") {\n event.preventDefault();\n moveHighlight(-1);\n return;\n }\n if (event.key === \"Enter\") {\n event.preventDefault();\n activateHighlighted();\n return;\n }\n }\n onKeyDown?.(event);\n }}\n {...rest}\n />\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { useCommand } from \"./Command\";\n\nexport type CommandItemProps = JSX.ButtonHTMLAttributes<HTMLButtonElement> & {\n /** Used for case-insensitive filtering against the query. */\n value: string;\n children?: ComponentChildren;\n onSelect?: (value: string) => void;\n};\n\nexport const CommandItem = ({\n class: className,\n value,\n children,\n disabled,\n onClick,\n onSelect,\n ...rest\n}: CommandItemProps) => {\n const { query } = useCommand();\n const q = (query.value ?? \"\").trim().toLowerCase();\n const textMatch = !q || value.toLowerCase().includes(q);\n\n return (\n <button\n type=\"button\"\n data-slot=\"command-item\"\n data-match={textMatch ? \"true\" : \"false\"}\n disabled={disabled}\n class={cn(\n \"flex w-full cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-start text-sm outline-none\",\n \"hover:bg-accent hover:text-accent-foreground\",\n \"focus:bg-accent focus:text-accent-foreground\",\n \"data-[highlighted=true]:bg-accent data-[highlighted=true]:text-accent-foreground\",\n \"data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n \"[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n !textMatch && \"hidden\",\n className,\n )}\n onClick={(event) => {\n onClick?.(event);\n if (event.defaultPrevented) return;\n onSelect?.(value);\n }}\n {...rest}\n >\n {children}\n </button>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { useLayoutEffect, useRef } from \"preact/hooks\";\nimport { cn } from \"../../lib/utils\";\nimport { useCommand } from \"./Command\";\n\nexport type CommandListProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n /** Notified when the list root mounts (e.g. combobox inline input forwards keyboard to the list). */\n onMount?: (el: HTMLDivElement | null) => void;\n};\n\nexport const CommandList = ({ class: className, children, onMount, ...rest }: CommandListProps) => {\n const { query, hasVisibleItems, autoHighlight, highlightedIndex, listRef } = useCommand();\n const prevQueryRef = useRef<string | null>(null);\n\n void query.value;\n void highlightedIndex.value;\n\n useLayoutEffect(() => {\n const root = listRef.current;\n if (!root) return;\n\n const nodes = [\n ...root.querySelectorAll<HTMLElement>('[data-slot=\"command-item\"][data-match=\"true\"]'),\n ];\n hasVisibleItems.value = nodes.length > 0;\n\n if (!autoHighlight) {\n root\n .querySelectorAll('[data-slot=\"command-item\"]')\n .forEach((el) => el.removeAttribute(\"data-highlighted\"));\n prevQueryRef.current = query.value;\n return;\n }\n\n const queryBumped = prevQueryRef.current !== query.value;\n prevQueryRef.current = query.value;\n\n let idx = highlightedIndex.value;\n if (queryBumped) {\n idx = nodes.length > 0 ? 0 : -1;\n highlightedIndex.value = idx;\n } else {\n if (nodes.length === 0) {\n highlightedIndex.value = -1;\n idx = -1;\n } else if (idx >= nodes.length) {\n idx = nodes.length - 1;\n highlightedIndex.value = idx;\n } else if (idx < 0) {\n idx = 0;\n highlightedIndex.value = idx;\n }\n }\n\n root\n .querySelectorAll('[data-slot=\"command-item\"]')\n .forEach((el) => el.removeAttribute(\"data-highlighted\"));\n if (idx >= 0 && nodes[idx]) {\n nodes[idx].setAttribute(\"data-highlighted\", \"true\");\n nodes[idx].scrollIntoView({ block: \"nearest\" });\n }\n }, [query.value, highlightedIndex.value, autoHighlight]);\n\n return (\n <div\n ref={(node) => {\n listRef.current = node;\n onMount?.(node);\n }}\n data-slot=\"command-list\"\n class={cn(\"max-h-72 overflow-y-auto overflow-x-hidden p-1\", className)}\n {...rest}\n >\n {children}\n </div>\n );\n};\n","import type { JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type CommandSeparatorProps = JSX.HTMLAttributes<HTMLHRElement>;\n\nexport const CommandSeparator = ({ class: className, ...rest }: CommandSeparatorProps) => (\n <hr\n data-slot=\"command-separator\"\n class={cn(\"bg-border -mx-1 my-1 h-px border-0\", className)}\n {...rest}\n />\n);\n"]}
@@ -1,4 +1,4 @@
1
- import { cn } from './chunk-MS2ZNYCJ.js';
1
+ import { cn } from './chunk-XIANSPQO.js';
2
2
  import { jsxs, jsx } from 'preact/jsx-runtime';
3
3
 
4
4
  var Chart = ({ class: className, title, description, children, ...rest }) => /* @__PURE__ */ jsxs("div", { "data-slot": "chart", class: cn("rounded-md border p-4", className), ...rest, children: [
@@ -11,5 +11,5 @@ var Chart = ({ class: className, title, description, children, ...rest }) => /*
11
11
  var chart_default = Chart;
12
12
 
13
13
  export { Chart, chart_default };
14
- //# sourceMappingURL=chunk-GGTDJEE2.js.map
15
- //# sourceMappingURL=chunk-GGTDJEE2.js.map
14
+ //# sourceMappingURL=chunk-MTNLY7AY.js.map
15
+ //# sourceMappingURL=chunk-MTNLY7AY.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/chart/Chart.tsx","../src/components/chart/index.ts"],"names":[],"mappings":";;;AASO,IAAM,KAAA,GAAQ,CAAC,EAAE,KAAA,EAAO,WAAW,KAAA,EAAO,WAAA,EAAa,UAAU,GAAG,IAAA,uBACzE,IAAA,CAAC,KAAA,EAAA,EAAI,aAAU,OAAA,EAAQ,KAAA,EAAO,GAAG,uBAAA,EAAyB,SAAS,CAAA,EAAI,GAAG,IAAA,EACvE,QAAA,EAAA;AAAA,EAAA,KAAA,mBAAQ,GAAA,CAAC,IAAA,EAAA,EAAG,KAAA,EAAM,qBAAA,EAAuB,iBAAM,CAAA,GAAQ,IAAA;AAAA,EACvD,8BAAc,GAAA,CAAC,GAAA,EAAA,EAAE,KAAA,EAAM,oCAAA,EAAsC,uBAAY,CAAA,GAAO,IAAA;AAAA,kBACjF,GAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAM,MAAA,EAAQ,QAAA,EAAS;AAAA,CAAA,EAC9B;;;ACVF,IAAO,aAAA,GAAQ","file":"chunk-GGTDJEE2.js","sourcesContent":["import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type ChartProps = JSX.HTMLAttributes<HTMLDivElement> & {\n title?: string;\n description?: string;\n children?: ComponentChildren;\n};\n\nexport const Chart = ({ class: className, title, description, children, ...rest }: ChartProps) => (\n <div data-slot=\"chart\" class={cn(\"rounded-md border p-4\", className)} {...rest}>\n {title ? <h3 class=\"text-sm font-medium\">{title}</h3> : null}\n {description ? <p class=\"mt-1 text-xs text-muted-foreground\">{description}</p> : null}\n <div class=\"mt-3\">{children}</div>\n </div>\n);\n","import { Chart } from \"./Chart\";\n\nexport { Chart };\n\nexport default Chart;\n"]}
1
+ {"version":3,"sources":["../src/components/chart/Chart.tsx","../src/components/chart/index.ts"],"names":[],"mappings":";;;AASO,IAAM,KAAA,GAAQ,CAAC,EAAE,KAAA,EAAO,WAAW,KAAA,EAAO,WAAA,EAAa,UAAU,GAAG,IAAA,uBACzE,IAAA,CAAC,KAAA,EAAA,EAAI,aAAU,OAAA,EAAQ,KAAA,EAAO,GAAG,uBAAA,EAAyB,SAAS,CAAA,EAAI,GAAG,IAAA,EACvE,QAAA,EAAA;AAAA,EAAA,KAAA,mBAAQ,GAAA,CAAC,IAAA,EAAA,EAAG,KAAA,EAAM,qBAAA,EAAuB,iBAAM,CAAA,GAAQ,IAAA;AAAA,EACvD,8BAAc,GAAA,CAAC,GAAA,EAAA,EAAE,KAAA,EAAM,oCAAA,EAAsC,uBAAY,CAAA,GAAO,IAAA;AAAA,kBACjF,GAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAM,MAAA,EAAQ,QAAA,EAAS;AAAA,CAAA,EAC9B;;;ACVF,IAAO,aAAA,GAAQ","file":"chunk-MTNLY7AY.js","sourcesContent":["import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type ChartProps = JSX.HTMLAttributes<HTMLDivElement> & {\n title?: string;\n description?: string;\n children?: ComponentChildren;\n};\n\nexport const Chart = ({ class: className, title, description, children, ...rest }: ChartProps) => (\n <div data-slot=\"chart\" class={cn(\"rounded-md border p-4\", className)} {...rest}>\n {title ? <h3 class=\"text-sm font-medium\">{title}</h3> : null}\n {description ? <p class=\"mt-1 text-xs text-muted-foreground\">{description}</p> : null}\n <div class=\"mt-3\">{children}</div>\n </div>\n);\n","import { Chart } from \"./Chart\";\n\nexport { Chart };\n\nexport default Chart;\n"]}
@@ -1,7 +1,7 @@
1
+ import { cn } from './chunk-XIANSPQO.js';
1
2
  import { tv } from 'tailwind-variants';
2
3
  import { jsx } from 'preact/jsx-runtime';
3
4
 
4
- // src/components/card/Card.tsx
5
5
  var card = tv({
6
6
  base: [
7
7
  "bg-card text-card-foreground group/card ring-border flex min-w-0 flex-col rounded-xl ring-1",
@@ -21,7 +21,7 @@ var card = tv({
21
21
  var Card = ({ class: className, size, children, ...rest }) => /* @__PURE__ */ jsx(
22
22
  "div",
23
23
  {
24
- class: card({ size, class: className }),
24
+ class: cn(card({ size }), className),
25
25
  "data-slot": "card",
26
26
  "data-size": size ?? "default",
27
27
  ...rest,
@@ -31,47 +31,19 @@ var Card = ({ class: className, size, children, ...rest }) => /* @__PURE__ */ js
31
31
  var cardAction = tv({
32
32
  base: "col-start-2 row-span-2 row-start-1 shrink-0 self-start justify-self-end"
33
33
  });
34
- var CardAction = ({ class: className, ...rest }) => /* @__PURE__ */ jsx(
35
- "div",
36
- {
37
- class: cardAction({ class: className }),
38
- "data-slot": "card-action",
39
- ...rest
40
- }
41
- );
34
+ var CardAction = ({ class: className, ...rest }) => /* @__PURE__ */ jsx("div", { class: cn(cardAction(), className), "data-slot": "card-action", ...rest });
42
35
  var cardContent = tv({
43
36
  base: "px-6 group-data-[size=sm]/card:px-4"
44
37
  });
45
- var CardContent = ({ class: className, ...rest }) => /* @__PURE__ */ jsx(
46
- "div",
47
- {
48
- class: cardContent({ class: className }),
49
- "data-slot": "card-content",
50
- ...rest
51
- }
52
- );
38
+ var CardContent = ({ class: className, ...rest }) => /* @__PURE__ */ jsx("div", { class: cn(cardContent(), className), "data-slot": "card-content", ...rest });
53
39
  var cardDescription = tv({
54
40
  base: "min-w-0 break-words text-muted-foreground text-sm group-data-[size=sm]/card:text-xs"
55
41
  });
56
- var CardDescription = ({ class: className, ...rest }) => /* @__PURE__ */ jsx(
57
- "div",
58
- {
59
- class: cardDescription({ class: className }),
60
- "data-slot": "card-description",
61
- ...rest
62
- }
63
- );
42
+ var CardDescription = ({ class: className, ...rest }) => /* @__PURE__ */ jsx("div", { class: cn(cardDescription(), className), "data-slot": "card-description", ...rest });
64
43
  var cardFooter = tv({
65
44
  base: "bg-muted/50 flex items-center rounded-b-xl border-t p-6 group-data-[size=sm]/card:p-4"
66
45
  });
67
- var CardFooter = ({ class: className, ...rest }) => /* @__PURE__ */ jsx(
68
- "div",
69
- {
70
- class: cardFooter({ class: className }),
71
- "data-slot": "card-footer",
72
- ...rest
73
- }
74
- );
46
+ var CardFooter = ({ class: className, ...rest }) => /* @__PURE__ */ jsx("div", { class: cn(cardFooter(), className), "data-slot": "card-footer", ...rest });
75
47
  var cardHeader = tv({
76
48
  base: [
77
49
  "@container/card-header grid w-full min-w-0 auto-rows-min items-start gap-1.5 px-6 group-data-[size=sm]/card:px-4",
@@ -79,25 +51,11 @@ var cardHeader = tv({
79
51
  "has-data-[slot=card-action]:grid-cols-[minmax(0,1fr)_auto] has-data-[slot=card-description]:grid-rows-[auto_auto]"
80
52
  ]
81
53
  });
82
- var CardHeader = ({ class: className, ...rest }) => /* @__PURE__ */ jsx(
83
- "div",
84
- {
85
- class: cardHeader({ class: className }),
86
- "data-slot": "card-header",
87
- ...rest
88
- }
89
- );
54
+ var CardHeader = ({ class: className, ...rest }) => /* @__PURE__ */ jsx("div", { class: cn(cardHeader(), className), "data-slot": "card-header", ...rest });
90
55
  var cardTitle = tv({
91
56
  base: "font-heading min-w-0 break-words text-xl leading-snug font-semibold group-data-[size=sm]/card:text-base"
92
57
  });
93
- var CardTitle = ({ class: className, ...rest }) => /* @__PURE__ */ jsx(
94
- "div",
95
- {
96
- class: cardTitle({ class: className }),
97
- "data-slot": "card-title",
98
- ...rest
99
- }
100
- );
58
+ var CardTitle = ({ class: className, ...rest }) => /* @__PURE__ */ jsx("div", { class: cn(cardTitle(), className), "data-slot": "card-title", ...rest });
101
59
 
102
60
  // src/components/card/index.ts
103
61
  var CardVariants = {
@@ -120,5 +78,5 @@ var card_default = {
120
78
  };
121
79
 
122
80
  export { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CardVariants, card_default };
123
- //# sourceMappingURL=chunk-67J4KBOW.js.map
124
- //# sourceMappingURL=chunk-67J4KBOW.js.map
81
+ //# sourceMappingURL=chunk-NBIBBLP6.js.map
82
+ //# sourceMappingURL=chunk-NBIBBLP6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/card/Card.tsx","../src/components/card/CardAction.tsx","../src/components/card/CardContent.tsx","../src/components/card/CardDescription.tsx","../src/components/card/CardFooter.tsx","../src/components/card/CardHeader.tsx","../src/components/card/CardTitle.tsx","../src/components/card/index.ts"],"names":["tv","jsx"],"mappings":"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","file":"chunk-NBIBBLP6.js","sourcesContent":["import type { ComponentChildren, JSX } from \"preact\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\nimport { cn } from \"../../lib/utils\";\n\nexport const card = tv({\n base: [\n \"bg-card text-card-foreground group/card ring-border flex min-w-0 flex-col rounded-xl ring-1\",\n \"has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0\",\n \"*:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl\",\n ],\n variants: {\n size: {\n default: \"gap-6 py-6\",\n sm: \"gap-4 py-4 text-sm\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n});\n\nexport type CardProps = JSX.HTMLAttributes<HTMLDivElement> &\n VariantProps<typeof card> & {\n children?: ComponentChildren;\n };\n\nexport const Card = ({ class: className, size, children, ...rest }: CardProps) => (\n <div\n class={cn(card({ size }), className)}\n data-slot=\"card\"\n data-size={size ?? \"default\"}\n {...rest}\n >\n {children}\n </div>\n);\n","import type { JSX } from \"preact\";\nimport { tv } from \"tailwind-variants\";\nimport { cn } from \"../../lib/utils\";\n\nexport const cardAction = tv({\n base: \"col-start-2 row-span-2 row-start-1 shrink-0 self-start justify-self-end\",\n});\n\nexport type CardActionProps = JSX.HTMLAttributes<HTMLDivElement>;\n\nexport const CardAction = ({ class: className, ...rest }: CardActionProps) => (\n <div class={cn(cardAction(), className)} data-slot=\"card-action\" {...rest} />\n);\n","import type { JSX } from \"preact\";\nimport { tv } from \"tailwind-variants\";\nimport { cn } from \"../../lib/utils\";\n\nexport const cardContent = tv({\n base: \"px-6 group-data-[size=sm]/card:px-4\",\n});\n\nexport type CardContentProps = JSX.HTMLAttributes<HTMLDivElement>;\n\nexport const CardContent = ({ class: className, ...rest }: CardContentProps) => (\n <div class={cn(cardContent(), className)} data-slot=\"card-content\" {...rest} />\n);\n","import type { JSX } from \"preact\";\nimport { tv } from \"tailwind-variants\";\nimport { cn } from \"../../lib/utils\";\n\nexport const cardDescription = tv({\n base: \"min-w-0 break-words text-muted-foreground text-sm group-data-[size=sm]/card:text-xs\",\n});\n\nexport type CardDescriptionProps = JSX.HTMLAttributes<HTMLDivElement>;\n\nexport const CardDescription = ({ class: className, ...rest }: CardDescriptionProps) => (\n <div class={cn(cardDescription(), className)} data-slot=\"card-description\" {...rest} />\n);\n","import type { JSX } from \"preact\";\nimport { tv } from \"tailwind-variants\";\nimport { cn } from \"../../lib/utils\";\n\nexport const cardFooter = tv({\n base: \"bg-muted/50 flex items-center rounded-b-xl border-t p-6 group-data-[size=sm]/card:p-4\",\n});\n\nexport type CardFooterProps = JSX.HTMLAttributes<HTMLDivElement>;\n\nexport const CardFooter = ({ class: className, ...rest }: CardFooterProps) => (\n <div class={cn(cardFooter(), className)} data-slot=\"card-footer\" {...rest} />\n);\n","import type { JSX } from \"preact\";\nimport { tv } from \"tailwind-variants\";\nimport { cn } from \"../../lib/utils\";\n\nexport const cardHeader = tv({\n base: [\n \"@container/card-header grid w-full min-w-0 auto-rows-min items-start gap-1.5 px-6 group-data-[size=sm]/card:px-4\",\n // minmax(0,1fr) + min-w-0 on title/description keeps CardAction in the second column inside the card (flex preview children)\n \"has-data-[slot=card-action]:grid-cols-[minmax(0,1fr)_auto] has-data-[slot=card-description]:grid-rows-[auto_auto]\",\n ],\n});\n\nexport type CardHeaderProps = JSX.HTMLAttributes<HTMLDivElement>;\n\nexport const CardHeader = ({ class: className, ...rest }: CardHeaderProps) => (\n <div class={cn(cardHeader(), className)} data-slot=\"card-header\" {...rest} />\n);\n","import type { JSX } from \"preact\";\nimport { tv } from \"tailwind-variants\";\nimport { cn } from \"../../lib/utils\";\n\nexport const cardTitle = tv({\n base: \"font-heading min-w-0 break-words text-xl leading-snug font-semibold group-data-[size=sm]/card:text-base\",\n});\n\nexport type CardTitleProps = JSX.HTMLAttributes<HTMLDivElement>;\n\nexport const CardTitle = ({ class: className, ...rest }: CardTitleProps) => (\n <div class={cn(cardTitle(), className)} data-slot=\"card-title\" {...rest} />\n);\n","import { Card, card } from \"./Card\";\nimport { CardAction, cardAction } from \"./CardAction\";\nimport { CardContent, cardContent } from \"./CardContent\";\nimport { CardDescription, cardDescription } from \"./CardDescription\";\nimport { CardFooter, cardFooter } from \"./CardFooter\";\nimport { CardHeader, cardHeader } from \"./CardHeader\";\nimport { CardTitle, cardTitle } from \"./CardTitle\";\n\nconst CardVariants = {\n card,\n cardAction,\n cardContent,\n cardDescription,\n cardFooter,\n cardHeader,\n cardTitle,\n};\n\nexport {\n Card,\n CardAction,\n CardContent,\n CardDescription,\n CardFooter,\n CardHeader,\n CardTitle,\n CardVariants,\n};\n\nexport default {\n Root: Card,\n Header: CardHeader,\n Footer: CardFooter,\n Title: CardTitle,\n Description: CardDescription,\n Content: CardContent,\n Action: CardAction,\n};\n"]}
@@ -0,0 +1,200 @@
1
+ import { useHeightDisclosureContent } from './chunk-ISISDJ3Z.js';
2
+ import { cn } from './chunk-XIANSPQO.js';
3
+ import { signal } from '@preact/signals';
4
+ import { createContext } from 'preact';
5
+ import { useMemo, useContext } from 'preact/hooks';
6
+ import { jsx, jsxs } from 'preact/jsx-runtime';
7
+
8
+ var AccordionContext = createContext(null);
9
+ var useAccordion = () => {
10
+ const context = useContext(AccordionContext);
11
+ if (!context) throw new Error("Accordion subcomponents must be used within Accordion");
12
+ return context;
13
+ };
14
+ var Accordion = ({
15
+ type = "single",
16
+ collapsible = true,
17
+ defaultValue,
18
+ children,
19
+ ...rest
20
+ }) => {
21
+ const openValues = useMemo(() => {
22
+ const initialSet = new Set(
23
+ defaultValue ? Array.isArray(defaultValue) ? defaultValue : [defaultValue] : []
24
+ );
25
+ return signal(initialSet);
26
+ }, []);
27
+ const context = {
28
+ type,
29
+ openValues,
30
+ toggleValue: (value) => {
31
+ const next = new Set(openValues.value);
32
+ const isOpen = next.has(value);
33
+ if (type === "single") {
34
+ if (isOpen && !collapsible) {
35
+ return;
36
+ }
37
+ next.clear();
38
+ if (!isOpen) next.add(value);
39
+ } else if (isOpen) {
40
+ next.delete(value);
41
+ } else {
42
+ next.add(value);
43
+ }
44
+ openValues.value = next;
45
+ }
46
+ };
47
+ return /* @__PURE__ */ jsx(AccordionContext.Provider, { value: context, children: /* @__PURE__ */ jsx("div", { "data-slot": "accordion", ...rest, children }) });
48
+ };
49
+ var AccordionItemContext = createContext(null);
50
+ var useAccordionItem = () => {
51
+ const context = useContext(AccordionItemContext);
52
+ if (!context) throw new Error("Accordion item subcomponents must be used within AccordionItem");
53
+ return context;
54
+ };
55
+ var AccordionItem = ({
56
+ value,
57
+ disabled = false,
58
+ children,
59
+ ...rest
60
+ }) => {
61
+ const { openValues } = useAccordion();
62
+ const isOpen = openValues.value.has(value);
63
+ return /* @__PURE__ */ jsx(AccordionItemContext.Provider, { value: { value, isOpen, disabled }, children: /* @__PURE__ */ jsx(
64
+ "div",
65
+ {
66
+ "data-slot": "accordion-item",
67
+ "data-state": isOpen ? "open" : "closed",
68
+ "data-disabled": disabled ? "" : void 0,
69
+ ...rest,
70
+ children
71
+ }
72
+ ) });
73
+ };
74
+ var AccordionContent = ({
75
+ forceMount = false,
76
+ duration = "320ms",
77
+ timingFunction = "cubic-bezier(0.22, 1, 0.36, 1)",
78
+ largeContentThreshold = 560,
79
+ children,
80
+ class: className,
81
+ style,
82
+ ...rest
83
+ }) => {
84
+ const { isOpen } = useAccordionItem();
85
+ const {
86
+ allowRender,
87
+ isAnimatingClose,
88
+ isAnimatingOpen,
89
+ outerRef,
90
+ innerRef,
91
+ handleTransitionEnd
92
+ } = useHeightDisclosureContent({
93
+ open: isOpen,
94
+ forceMount,
95
+ duration,
96
+ timingFunction,
97
+ largeContentThreshold
98
+ });
99
+ if (!allowRender) return null;
100
+ const mergedStyle = {
101
+ ...typeof style === "object" && style !== null && !Array.isArray(style) ? style : {},
102
+ ["--kamodui-accordion-duration"]: duration,
103
+ ["--kamodui-accordion-timing-function"]: timingFunction
104
+ };
105
+ return /* @__PURE__ */ jsx(
106
+ "div",
107
+ {
108
+ ref: outerRef,
109
+ "data-slot": "accordion-content",
110
+ "data-state": isOpen ? "open" : "closed",
111
+ onTransitionEnd: handleTransitionEnd,
112
+ style: mergedStyle,
113
+ class: cn(
114
+ "min-h-0 overflow-hidden",
115
+ (isAnimatingOpen || isAnimatingClose) && "will-change-[height]"
116
+ ),
117
+ "aria-hidden": !isOpen && !isAnimatingClose,
118
+ inert: !isOpen || void 0,
119
+ ...rest,
120
+ children: /* @__PURE__ */ jsx(
121
+ "div",
122
+ {
123
+ ref: innerRef,
124
+ "data-slot": "accordion-content-inner",
125
+ class: cn("min-h-0 min-w-0", className),
126
+ children
127
+ }
128
+ )
129
+ }
130
+ );
131
+ };
132
+ var DefaultIndicator = () => /* @__PURE__ */ jsx("svg", { viewBox: "0 0 16 16", width: "16", height: "16", fill: "none", "aria-hidden": "true", focusable: "false", children: /* @__PURE__ */ jsx(
133
+ "path",
134
+ {
135
+ d: "M4 6l4 4 4-4",
136
+ stroke: "currentColor",
137
+ strokeWidth: "1.5",
138
+ strokeLinecap: "round",
139
+ strokeLinejoin: "round"
140
+ }
141
+ ) });
142
+ var AccordionTrigger = ({
143
+ hideIndicator = false,
144
+ indicator,
145
+ children,
146
+ class: className,
147
+ onClick,
148
+ ...rest
149
+ }) => {
150
+ const { toggleValue } = useAccordion();
151
+ const { value, isOpen, disabled } = useAccordionItem();
152
+ return /* @__PURE__ */ jsxs(
153
+ "button",
154
+ {
155
+ type: "button",
156
+ "data-slot": "accordion-trigger",
157
+ "aria-expanded": isOpen,
158
+ disabled,
159
+ "data-state": isOpen ? "open" : "closed",
160
+ class: cn(
161
+ "flex w-full items-center justify-between gap-2 rounded-md py-4 text-left text-sm font-medium outline-none transition-colors focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50",
162
+ !isOpen && "hover:bg-muted/40",
163
+ className
164
+ ),
165
+ onClick: (event) => {
166
+ if (disabled) return;
167
+ toggleValue(value);
168
+ onClick?.(event);
169
+ },
170
+ ...rest,
171
+ children: [
172
+ /* @__PURE__ */ jsx("span", { "data-slot": "accordion-trigger-label", class: "min-w-0 flex-1 text-start", children }),
173
+ !hideIndicator ? /* @__PURE__ */ jsx(
174
+ "span",
175
+ {
176
+ "data-slot": "accordion-trigger-indicator",
177
+ "data-state": isOpen ? "open" : "closed",
178
+ class: cn(
179
+ "shrink-0 text-muted-foreground transition-transform duration-200",
180
+ isOpen && "rotate-180"
181
+ ),
182
+ children: indicator ?? /* @__PURE__ */ jsx(DefaultIndicator, {})
183
+ }
184
+ ) : null
185
+ ]
186
+ }
187
+ );
188
+ };
189
+
190
+ // src/components/accordion/index.ts
191
+ var accordion_default = {
192
+ Root: Accordion,
193
+ Item: AccordionItem,
194
+ Trigger: AccordionTrigger,
195
+ Content: AccordionContent
196
+ };
197
+
198
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, accordion_default, useAccordionItem };
199
+ //# sourceMappingURL=chunk-NBP4J2QF.js.map
200
+ //# sourceMappingURL=chunk-NBP4J2QF.js.map