@kamod-ch/ui 1.0.1 → 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 (331) hide show
  1. package/README.md +15 -3
  2. package/dist/{Accordion-D1PiNspd.d.ts → Accordion-BiCBkB8o.d.ts} +7 -1
  3. package/dist/{AlertDialog-GadhKjPC.d.ts → AlertDialog-CZ2taZg4.d.ts} +3 -3
  4. package/dist/Button-OI3VvO-J.d.ts +84 -0
  5. package/dist/{Collapsible-CW1hQwqV.d.ts → Collapsible-BdQqvk35.d.ts} +6 -1
  6. package/dist/{ComboboxValue-BGfXgtZt.d.ts → ComboboxValue-Cq6zoDkt.d.ts} +1 -1
  7. package/dist/{Dialog-BOIteLfe.d.ts → Dialog-DdD1sMwk.d.ts} +12 -1
  8. package/dist/{DialogContent-cQHSRQdT.d.ts → DialogContent-YWzwWdSv.d.ts} +6 -1
  9. package/dist/{Drawer-CdjXZxxK.d.ts → Drawer-8xfn9KLf.d.ts} +2 -2
  10. package/dist/{Dropdown-CVbWVKok.d.ts → Dropdown-CzDJJgXQ.d.ts} +32 -27
  11. package/dist/{FieldTitle-aSgThW-B.d.ts → FieldTitle-hsI0Y6Zm.d.ts} +13 -13
  12. package/dist/{HoverCard-aVEEtkyO.d.ts → HoverCard-CBBr-tT9.d.ts} +14 -14
  13. package/dist/{Input-Cem05el9.d.ts → Input-C_X0Xpn2.d.ts} +11 -11
  14. package/dist/{PopoverTrigger-CH_Kx2mn.d.ts → PopoverTrigger-CIPAh0h0.d.ts} +14 -14
  15. package/dist/{RadioGroup-BaElzLwa.d.ts → RadioGroup-BDF3NaXQ.d.ts} +8 -8
  16. package/dist/{Sheet-DZ-p-aHY.d.ts → Sheet-DVt5iTiK.d.ts} +1 -1
  17. package/dist/SidebarProvider-CoVCItNd.d.ts +160 -0
  18. package/dist/{Switch-CTTkNdqF.d.ts → Switch-BcNJFeRY.d.ts} +8 -8
  19. package/dist/{Tabs-CR-thcs6.d.ts → Tabs-CrXH3YED.d.ts} +18 -9
  20. package/dist/{Textarea-DbKkduOG.d.ts → Textarea-CST17pYW.d.ts} +11 -11
  21. package/dist/Toggle-BgvkYUI8.d.ts +49 -0
  22. package/dist/{ToggleGroup-UeYHzQe7.d.ts → ToggleGroup-CqYICGsS.d.ts} +42 -42
  23. package/dist/Typography-Df9IVmw2.d.ts +64 -0
  24. package/dist/{chunk-ZM67EKZC.js → chunk-22G3DW5M.js} +4 -4
  25. package/dist/{chunk-ZM67EKZC.js.map → chunk-22G3DW5M.js.map} +1 -1
  26. package/dist/{chunk-BDK7CDEI.js → chunk-2F3PWEDR.js} +3 -3
  27. package/dist/{chunk-BDK7CDEI.js.map → chunk-2F3PWEDR.js.map} +1 -1
  28. package/dist/{chunk-ZHAGKFSO.js → chunk-2SPOI3MX.js} +3 -3
  29. package/dist/{chunk-ZHAGKFSO.js.map → chunk-2SPOI3MX.js.map} +1 -1
  30. package/dist/chunk-2UTJHQTS.js +162 -0
  31. package/dist/chunk-2UTJHQTS.js.map +1 -0
  32. package/dist/{chunk-NKKMM6CK.js → chunk-3AFRSB5R.js} +3 -3
  33. package/dist/{chunk-NKKMM6CK.js.map → chunk-3AFRSB5R.js.map} +1 -1
  34. package/dist/{chunk-LCMPFPBN.js → chunk-3ETRJPBL.js} +3 -3
  35. package/dist/{chunk-LCMPFPBN.js.map → chunk-3ETRJPBL.js.map} +1 -1
  36. package/dist/{chunk-WAPRVVDQ.js → chunk-3HBKDY64.js} +3 -3
  37. package/dist/{chunk-WAPRVVDQ.js.map → chunk-3HBKDY64.js.map} +1 -1
  38. package/dist/{chunk-PPYJQNE5.js → chunk-3XMFQKWB.js} +9 -5
  39. package/dist/chunk-3XMFQKWB.js.map +1 -0
  40. package/dist/{chunk-HCTZJYHK.js → chunk-4SQKSVBH.js} +6 -6
  41. package/dist/chunk-4SQKSVBH.js.map +1 -0
  42. package/dist/{chunk-ZVAW22GX.js → chunk-4ZFKDNSK.js} +3 -3
  43. package/dist/{chunk-ZVAW22GX.js.map → chunk-4ZFKDNSK.js.map} +1 -1
  44. package/dist/{chunk-IJ4ZRIR4.js → chunk-53FZEAOJ.js} +5 -5
  45. package/dist/{chunk-IJ4ZRIR4.js.map → chunk-53FZEAOJ.js.map} +1 -1
  46. package/dist/{chunk-BYG2ULS3.js → chunk-5ATODZ6L.js} +5 -7
  47. package/dist/chunk-5ATODZ6L.js.map +1 -0
  48. package/dist/{chunk-TXKPDNRD.js → chunk-5I7ULBDP.js} +3 -3
  49. package/dist/{chunk-TXKPDNRD.js.map → chunk-5I7ULBDP.js.map} +1 -1
  50. package/dist/{chunk-UEXTD7ZB.js → chunk-6HFTTHSY.js} +3 -3
  51. package/dist/{chunk-UEXTD7ZB.js.map → chunk-6HFTTHSY.js.map} +1 -1
  52. package/dist/{chunk-6RASPU5N.js → chunk-7LWAWZHM.js} +4 -11
  53. package/dist/chunk-7LWAWZHM.js.map +1 -0
  54. package/dist/{chunk-RHNI5UQO.js → chunk-A6ZZZFZN.js} +4 -4
  55. package/dist/{chunk-RHNI5UQO.js.map → chunk-A6ZZZFZN.js.map} +1 -1
  56. package/dist/{chunk-V63YIVKJ.js → chunk-APZXMU2X.js} +4 -4
  57. package/dist/{chunk-V63YIVKJ.js.map → chunk-APZXMU2X.js.map} +1 -1
  58. package/dist/{chunk-6FYSVMH7.js → chunk-AYLEWD77.js} +3 -3
  59. package/dist/{chunk-6FYSVMH7.js.map → chunk-AYLEWD77.js.map} +1 -1
  60. package/dist/{chunk-D3DQ4ICC.js → chunk-BZMD4EZC.js} +4 -11
  61. package/dist/chunk-BZMD4EZC.js.map +1 -0
  62. package/dist/{chunk-PU5J5EPY.js → chunk-C7TARE5T.js} +5 -5
  63. package/dist/{chunk-PU5J5EPY.js.map → chunk-C7TARE5T.js.map} +1 -1
  64. package/dist/{chunk-5FBD2NTR.js → chunk-DDRX6NNW.js} +6 -9
  65. package/dist/chunk-DDRX6NNW.js.map +1 -0
  66. package/dist/{chunk-HHLQYMPT.js → chunk-DUTKHOH3.js} +4 -4
  67. package/dist/{chunk-HHLQYMPT.js.map → chunk-DUTKHOH3.js.map} +1 -1
  68. package/dist/chunk-EBXTNL52.js +719 -0
  69. package/dist/chunk-EBXTNL52.js.map +1 -0
  70. package/dist/{chunk-STRBBF45.js → chunk-FOQ32NEP.js} +5 -5
  71. package/dist/chunk-FOQ32NEP.js.map +1 -0
  72. package/dist/{chunk-UIA74JVN.js → chunk-FXG53XY2.js} +5 -5
  73. package/dist/chunk-FXG53XY2.js.map +1 -0
  74. package/dist/{chunk-2KY7P27I.js → chunk-G7LTWXRN.js} +3 -3
  75. package/dist/{chunk-2KY7P27I.js.map → chunk-G7LTWXRN.js.map} +1 -1
  76. package/dist/{chunk-6BK3PIRX.js → chunk-GD3VBO44.js} +6 -6
  77. package/dist/{chunk-6BK3PIRX.js.map → chunk-GD3VBO44.js.map} +1 -1
  78. package/dist/{chunk-MD6HHORY.js → chunk-GPRE2VWB.js} +3 -3
  79. package/dist/{chunk-MD6HHORY.js.map → chunk-GPRE2VWB.js.map} +1 -1
  80. package/dist/{chunk-QZX3RFIC.js → chunk-HJF5AV4L.js} +11 -34
  81. package/dist/chunk-HJF5AV4L.js.map +1 -0
  82. package/dist/{chunk-QFDTG2ZJ.js → chunk-HWPROYKB.js} +3 -3
  83. package/dist/{chunk-QFDTG2ZJ.js.map → chunk-HWPROYKB.js.map} +1 -1
  84. package/dist/chunk-ISISDJ3Z.js +205 -0
  85. package/dist/chunk-ISISDJ3Z.js.map +1 -0
  86. package/dist/{chunk-7AJT2E2Y.js → chunk-IW43BO47.js} +57 -19
  87. package/dist/chunk-IW43BO47.js.map +1 -0
  88. package/dist/{chunk-CLEC2RMU.js → chunk-JKEILBHG.js} +3 -3
  89. package/dist/{chunk-CLEC2RMU.js.map → chunk-JKEILBHG.js.map} +1 -1
  90. package/dist/{chunk-TFLSEEM4.js → chunk-KCN3GXRK.js} +3 -3
  91. package/dist/{chunk-TFLSEEM4.js.map → chunk-KCN3GXRK.js.map} +1 -1
  92. package/dist/{chunk-EMUPVA2F.js → chunk-KHV3WV6T.js} +4 -4
  93. package/dist/{chunk-EMUPVA2F.js.map → chunk-KHV3WV6T.js.map} +1 -1
  94. package/dist/{chunk-G6TV6TF7.js → chunk-KJ5PYCJG.js} +4 -12
  95. package/dist/chunk-KJ5PYCJG.js.map +1 -0
  96. package/dist/{chunk-5KS2VSX2.js → chunk-LAM4GIME.js} +4 -4
  97. package/dist/chunk-LAM4GIME.js.map +1 -0
  98. package/dist/{chunk-OCLVMKVC.js → chunk-MDXTENZ4.js} +8 -31
  99. package/dist/chunk-MDXTENZ4.js.map +1 -0
  100. package/dist/{chunk-CP55TVOV.js → chunk-MJUKNUFV.js} +3 -3
  101. package/dist/{chunk-CP55TVOV.js.map → chunk-MJUKNUFV.js.map} +1 -1
  102. package/dist/{chunk-GGTDJEE2.js → chunk-MTNLY7AY.js} +3 -3
  103. package/dist/{chunk-GGTDJEE2.js.map → chunk-MTNLY7AY.js.map} +1 -1
  104. package/dist/{chunk-67J4KBOW.js → chunk-NBIBBLP6.js} +10 -52
  105. package/dist/chunk-NBIBBLP6.js.map +1 -0
  106. package/dist/chunk-NBP4J2QF.js +200 -0
  107. package/dist/chunk-NBP4J2QF.js.map +1 -0
  108. package/dist/{chunk-NGKQBNZ5.js → chunk-NJYJCMKY.js} +3 -3
  109. package/dist/{chunk-NGKQBNZ5.js.map → chunk-NJYJCMKY.js.map} +1 -1
  110. package/dist/{chunk-COPT6I2D.js → chunk-NSEY5IC6.js} +9 -10
  111. package/dist/chunk-NSEY5IC6.js.map +1 -0
  112. package/dist/{chunk-UARVH66B.js → chunk-O4PHGLXF.js} +5 -5
  113. package/dist/{chunk-UARVH66B.js.map → chunk-O4PHGLXF.js.map} +1 -1
  114. package/dist/{chunk-J4DMQV64.js → chunk-OCZC4PDM.js} +3 -3
  115. package/dist/{chunk-J4DMQV64.js.map → chunk-OCZC4PDM.js.map} +1 -1
  116. package/dist/{chunk-IQH3XSOI.js → chunk-ODYHA3O5.js} +4 -4
  117. package/dist/{chunk-IQH3XSOI.js.map → chunk-ODYHA3O5.js.map} +1 -1
  118. package/dist/chunk-OJEZZVZB.js +9 -0
  119. package/dist/{chunk-CMBERB5B.js.map → chunk-OJEZZVZB.js.map} +1 -1
  120. package/dist/{chunk-7IOAIEIA.js → chunk-OTXP2QJ7.js} +6 -6
  121. package/dist/{chunk-7IOAIEIA.js.map → chunk-OTXP2QJ7.js.map} +1 -1
  122. package/dist/{chunk-JSHUWI3C.js → chunk-OUVUK3E7.js} +9 -9
  123. package/dist/chunk-OUVUK3E7.js.map +1 -0
  124. package/dist/{chunk-3KB54OYF.js → chunk-P6ICWO5B.js} +3 -3
  125. package/dist/{chunk-3KB54OYF.js.map → chunk-P6ICWO5B.js.map} +1 -1
  126. package/dist/{chunk-GIU6BZTW.js → chunk-P7PPE4P5.js} +8 -11
  127. package/dist/chunk-P7PPE4P5.js.map +1 -0
  128. package/dist/{chunk-XGFJJ2YB.js → chunk-PVQUVEZV.js} +4 -11
  129. package/dist/chunk-PVQUVEZV.js.map +1 -0
  130. package/dist/{chunk-LCWXIQKA.js → chunk-Q3RL7TOY.js} +4 -4
  131. package/dist/chunk-Q3RL7TOY.js.map +1 -0
  132. package/dist/{chunk-5Q4RBIMZ.js → chunk-Q5B6ROW6.js} +3 -3
  133. package/dist/{chunk-5Q4RBIMZ.js.map → chunk-Q5B6ROW6.js.map} +1 -1
  134. package/dist/{chunk-262EK2XT.js → chunk-Q7ZDP6DS.js} +9 -7
  135. package/dist/chunk-Q7ZDP6DS.js.map +1 -0
  136. package/dist/{chunk-4IBTERDG.js → chunk-QFTOABOJ.js} +3 -3
  137. package/dist/{chunk-4IBTERDG.js.map → chunk-QFTOABOJ.js.map} +1 -1
  138. package/dist/{chunk-JURNPBSW.js → chunk-QINEFXUA.js} +3 -3
  139. package/dist/{chunk-JURNPBSW.js.map → chunk-QINEFXUA.js.map} +1 -1
  140. package/dist/{chunk-FIOKWIJP.js → chunk-QWSD34JA.js} +4 -4
  141. package/dist/{chunk-FIOKWIJP.js.map → chunk-QWSD34JA.js.map} +1 -1
  142. package/dist/{chunk-Q5IUIA6B.js → chunk-RLBAA7WW.js} +3 -3
  143. package/dist/{chunk-Q5IUIA6B.js.map → chunk-RLBAA7WW.js.map} +1 -1
  144. package/dist/{chunk-2BQ54337.js → chunk-SEC7UN45.js} +5 -5
  145. package/dist/chunk-SEC7UN45.js.map +1 -0
  146. package/dist/chunk-SIA46B4Q.js +9 -0
  147. package/dist/{chunk-RTIFG4XT.js.map → chunk-SIA46B4Q.js.map} +1 -1
  148. package/dist/{chunk-X4HPHMYW.js → chunk-TMPADU74.js} +4 -4
  149. package/dist/{chunk-X4HPHMYW.js.map → chunk-TMPADU74.js.map} +1 -1
  150. package/dist/{chunk-YTHUHPE5.js → chunk-USPWL4KC.js} +3 -3
  151. package/dist/{chunk-YTHUHPE5.js.map → chunk-USPWL4KC.js.map} +1 -1
  152. package/dist/{chunk-U2UNWXBC.js → chunk-VEQ7X2PO.js} +7 -6
  153. package/dist/chunk-VEQ7X2PO.js.map +1 -0
  154. package/dist/{chunk-YZLPO4B2.js → chunk-WRXXU5F6.js} +4 -11
  155. package/dist/chunk-WRXXU5F6.js.map +1 -0
  156. package/dist/{chunk-XNYAQZIB.js → chunk-X4B6I3M4.js} +4 -4
  157. package/dist/{chunk-XNYAQZIB.js.map → chunk-X4B6I3M4.js.map} +1 -1
  158. package/dist/{chunk-JNF7FDJO.js → chunk-XCYEWILH.js} +4 -4
  159. package/dist/{chunk-JNF7FDJO.js.map → chunk-XCYEWILH.js.map} +1 -1
  160. package/dist/{chunk-V2MG5Y5F.js → chunk-XGVQXRLA.js} +4 -4
  161. package/dist/chunk-XGVQXRLA.js.map +1 -0
  162. package/dist/chunk-XIANSPQO.js +11 -0
  163. package/dist/chunk-XIANSPQO.js.map +1 -0
  164. package/dist/{chunk-UNWEH4Z6.js → chunk-XOMPJYYA.js} +4 -4
  165. package/dist/chunk-XOMPJYYA.js.map +1 -0
  166. package/dist/{chunk-UXWUFNXY.js → chunk-XSYSV3R3.js} +3 -3
  167. package/dist/{chunk-UXWUFNXY.js.map → chunk-XSYSV3R3.js.map} +1 -1
  168. package/dist/{chunk-ERBGZZ2U.js → chunk-XZYJUJED.js} +4 -4
  169. package/dist/chunk-XZYJUJED.js.map +1 -0
  170. package/dist/{chunk-PFV7YIEP.js → chunk-Z4JNYSV3.js} +4 -4
  171. package/dist/{chunk-PFV7YIEP.js.map → chunk-Z4JNYSV3.js.map} +1 -1
  172. package/dist/{chunk-4V3WHQJE.js → chunk-ZLSCHWTN.js} +4 -4
  173. package/dist/{chunk-4V3WHQJE.js.map → chunk-ZLSCHWTN.js.map} +1 -1
  174. package/dist/chunk-ZQ2WOX4X.js +29 -0
  175. package/dist/chunk-ZQ2WOX4X.js.map +1 -0
  176. package/dist/{chunk-NILG56Z7.js → chunk-ZROHNZDC.js} +4 -4
  177. package/dist/{chunk-NILG56Z7.js.map → chunk-ZROHNZDC.js.map} +1 -1
  178. package/dist/{chunk-PGOCR4LG.js → chunk-ZVYCUG4N.js} +4 -4
  179. package/dist/chunk-ZVYCUG4N.js.map +1 -0
  180. package/dist/components/accordion/index.d.ts +2 -2
  181. package/dist/components/accordion/index.js +3 -2
  182. package/dist/components/alert/index.d.ts +26 -26
  183. package/dist/components/alert/index.js +2 -2
  184. package/dist/components/alert-dialog/index.d.ts +6 -5
  185. package/dist/components/alert-dialog/index.js +6 -6
  186. package/dist/components/aspect-ratio/index.js +2 -2
  187. package/dist/components/avatar/index.d.ts +11 -11
  188. package/dist/components/avatar/index.js +2 -2
  189. package/dist/components/badge/index.d.ts +112 -112
  190. package/dist/components/badge/index.js +2 -2
  191. package/dist/components/breadcrumb/index.js +2 -2
  192. package/dist/components/button/index.d.ts +51 -51
  193. package/dist/components/button/index.js +3 -3
  194. package/dist/components/button-group/index.js +2 -2
  195. package/dist/components/calendar/index.js +10 -10
  196. package/dist/components/card/index.d.ts +22 -22
  197. package/dist/components/card/index.js +2 -1
  198. package/dist/components/carousel/index.js +3 -3
  199. package/dist/components/chart/index.js +2 -2
  200. package/dist/components/checkbox/index.js +2 -2
  201. package/dist/components/collapsible/index.d.ts +2 -2
  202. package/dist/components/collapsible/index.js +3 -2
  203. package/dist/components/combobox/index.d.ts +2 -2
  204. package/dist/components/combobox/index.js +5 -5
  205. package/dist/components/command/index.js +7 -7
  206. package/dist/components/context-menu/index.d.ts +11 -11
  207. package/dist/components/context-menu/index.js +3 -3
  208. package/dist/components/data-table/index.js +3 -3
  209. package/dist/components/date-picker/index.js +6 -6
  210. package/dist/components/dialog/index.d.ts +26 -5
  211. package/dist/components/dialog/index.js +5 -5
  212. package/dist/components/direction/index.js +2 -2
  213. package/dist/components/drawer/index.d.ts +5 -4
  214. package/dist/components/drawer/index.js +5 -5
  215. package/dist/components/dropdown/index.d.ts +3 -3
  216. package/dist/components/dropdown/index.js +3 -3
  217. package/dist/components/dropzone/index.js +3 -3
  218. package/dist/components/empty/index.d.ts +6 -6
  219. package/dist/components/empty/index.js +2 -2
  220. package/dist/components/field/index.d.ts +2 -2
  221. package/dist/components/field/index.js +4 -4
  222. package/dist/components/hover-card/index.d.ts +2 -2
  223. package/dist/components/hover-card/index.js +2 -1
  224. package/dist/components/image/index.js +2 -2
  225. package/dist/components/input/index.d.ts +12 -12
  226. package/dist/components/input/index.js +3 -2
  227. package/dist/components/input-group/index.d.ts +56 -56
  228. package/dist/components/input-group/index.js +5 -5
  229. package/dist/components/input-otp/index.js +2 -2
  230. package/dist/components/item/index.d.ts +31 -31
  231. package/dist/components/item/index.js +3 -3
  232. package/dist/components/kbd/index.d.ts +8 -8
  233. package/dist/components/kbd/index.js +2 -2
  234. package/dist/components/label/index.d.ts +22 -22
  235. package/dist/components/label/index.js +3 -2
  236. package/dist/components/locale-segment-group/index.js +2 -2
  237. package/dist/components/menubar/index.js +3 -3
  238. package/dist/components/native-select/index.d.ts +34 -34
  239. package/dist/components/native-select/index.js +2 -1
  240. package/dist/components/navigation-menu/index.d.ts +2 -2
  241. package/dist/components/navigation-menu/index.js +3 -3
  242. package/dist/components/pagination/index.d.ts +1 -1
  243. package/dist/components/pagination/index.js +3 -3
  244. package/dist/components/popover/index.d.ts +22 -22
  245. package/dist/components/popover/index.js +4 -3
  246. package/dist/components/progress/index.js +2 -2
  247. package/dist/components/prose/index.js +2 -2
  248. package/dist/components/radio-group/index.d.ts +2 -2
  249. package/dist/components/radio-group/index.js +3 -3
  250. package/dist/components/scroll-area/index.js +2 -2
  251. package/dist/components/select/index.js +3 -3
  252. package/dist/components/selectable-card/index.js +3 -3
  253. package/dist/components/separator/index.d.ts +8 -8
  254. package/dist/components/separator/index.js +3 -2
  255. package/dist/components/sheet/index.d.ts +5 -4
  256. package/dist/components/sheet/index.js +5 -5
  257. package/dist/components/sidebar/index.d.ts +15 -10
  258. package/dist/components/sidebar/index.js +13 -1
  259. package/dist/components/skeleton/index.d.ts +22 -22
  260. package/dist/components/skeleton/index.js +2 -1
  261. package/dist/components/slider/index.js +2 -2
  262. package/dist/components/spinner/index.js +2 -2
  263. package/dist/components/switch/index.d.ts +1 -1
  264. package/dist/components/switch/index.js +2 -2
  265. package/dist/components/table/index.js +3 -3
  266. package/dist/components/tabs/index.d.ts +2 -2
  267. package/dist/components/tabs/index.js +3 -3
  268. package/dist/components/textarea/index.d.ts +12 -12
  269. package/dist/components/textarea/index.js +3 -2
  270. package/dist/components/theme-toggle/index.js +4 -4
  271. package/dist/components/toggle/index.d.ts +1 -1
  272. package/dist/components/toggle/index.js +2 -2
  273. package/dist/components/toggle-group/index.d.ts +2 -2
  274. package/dist/components/toggle-group/index.js +2 -2
  275. package/dist/components/typography/index.d.ts +2 -2
  276. package/dist/components/typography/index.js +2 -2
  277. package/dist/components/video/index.js +2 -2
  278. package/dist/index.d.ts +24 -24
  279. package/dist/index.js +80 -79
  280. package/dist/lib/interactive/index.js +1 -1
  281. package/dist/lib/utils.d.ts +2 -1
  282. package/dist/lib/utils.js +1 -1
  283. package/dist/{navigationMenuTriggerStyle-BWnESpon.d.ts → navigationMenuTriggerStyle-DUhqCYxO.d.ts} +1 -1
  284. package/dist/theme.css +16 -0
  285. package/dist/utils.d.ts +2 -0
  286. package/dist/utils.js +3 -0
  287. package/dist/utils.js.map +1 -0
  288. package/package.json +17 -13
  289. package/dist/Button-vQnkiVTI.d.ts +0 -84
  290. package/dist/SidebarProvider-IAihmyD7.d.ts +0 -46
  291. package/dist/Toggle-CseZl7XN.d.ts +0 -49
  292. package/dist/Typography-ccTtE182.d.ts +0 -64
  293. package/dist/chunk-262EK2XT.js.map +0 -1
  294. package/dist/chunk-2BQ54337.js.map +0 -1
  295. package/dist/chunk-5FBD2NTR.js.map +0 -1
  296. package/dist/chunk-5KS2VSX2.js.map +0 -1
  297. package/dist/chunk-67J4KBOW.js.map +0 -1
  298. package/dist/chunk-6RASPU5N.js.map +0 -1
  299. package/dist/chunk-7AJT2E2Y.js.map +0 -1
  300. package/dist/chunk-BYG2ULS3.js.map +0 -1
  301. package/dist/chunk-CMBERB5B.js +0 -9
  302. package/dist/chunk-COPT6I2D.js.map +0 -1
  303. package/dist/chunk-D3DQ4ICC.js.map +0 -1
  304. package/dist/chunk-ERBGZZ2U.js.map +0 -1
  305. package/dist/chunk-G6TV6TF7.js.map +0 -1
  306. package/dist/chunk-GIU6BZTW.js.map +0 -1
  307. package/dist/chunk-HCTZJYHK.js.map +0 -1
  308. package/dist/chunk-JSHUWI3C.js.map +0 -1
  309. package/dist/chunk-LCWXIQKA.js.map +0 -1
  310. package/dist/chunk-MKG3UAP6.js +0 -347
  311. package/dist/chunk-MKG3UAP6.js.map +0 -1
  312. package/dist/chunk-MS2ZNYCJ.js +0 -9
  313. package/dist/chunk-MS2ZNYCJ.js.map +0 -1
  314. package/dist/chunk-OCLVMKVC.js.map +0 -1
  315. package/dist/chunk-PGOCR4LG.js.map +0 -1
  316. package/dist/chunk-PPYJQNE5.js.map +0 -1
  317. package/dist/chunk-QZX3RFIC.js.map +0 -1
  318. package/dist/chunk-R565SY7K.js +0 -69
  319. package/dist/chunk-R565SY7K.js.map +0 -1
  320. package/dist/chunk-RTIFG4XT.js +0 -9
  321. package/dist/chunk-STRBBF45.js.map +0 -1
  322. package/dist/chunk-U2UNWXBC.js.map +0 -1
  323. package/dist/chunk-UEGIKBX6.js +0 -385
  324. package/dist/chunk-UEGIKBX6.js.map +0 -1
  325. package/dist/chunk-UIA74JVN.js.map +0 -1
  326. package/dist/chunk-UNWEH4Z6.js.map +0 -1
  327. package/dist/chunk-V2MG5Y5F.js.map +0 -1
  328. package/dist/chunk-X2YUFNK7.js +0 -18
  329. package/dist/chunk-X2YUFNK7.js.map +0 -1
  330. package/dist/chunk-XGFJJ2YB.js.map +0 -1
  331. package/dist/chunk-YZLPO4B2.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/button/Button.tsx"],"names":[],"mappings":"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","file":"chunk-5FBD2NTR.js","sourcesContent":["import { type ComponentChildren, cloneElement, isValidElement, type JSX } from \"preact\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\nimport { cn } from \"../../lib/utils\";\n\nexport const button = tv({\n base: [\n \"group/button inline-flex shrink-0 cursor-pointer items-center justify-center rounded-lg bg-clip-padding text-sm font-medium whitespace-nowrap\",\n \"select-none transition-all outline-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50\",\n \"active:translate-y-px disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50\",\n \"aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20\",\n \"dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40\",\n \"[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n \"has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\",\n ],\n variants: {\n variant: {\n default: \"bg-primary text-background hover:bg-foreground/90 focus-visible:ring-outline/50\",\n secondary:\n \"bg-secondary text-secondary-foreground hover:bg-secondary/90 focus-visible:ring-secondary/50\",\n inverse: \"bg-foreground text-background hover:opacity-[0.85] focus-visible:ring-outline/50\",\n outline:\n \"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50 border\",\n ghost: \"hover:bg-muted hover:text-foreground focus-visible:ring-outline/50\",\n destructive:\n \"bg-destructive text-destructive-foreground hover:bg-destructive/90 focus-visible:ring-outline/50\",\n link: \"h-auto p-0 text-primary underline-offset-4 hover:underline active:translate-y-0 focus-visible:ring-0\",\n },\n size: {\n xxs: \"h-5 gap-1 px-1.5 text-[10px]\",\n xs: \"h-6 gap-1 px-2 text-xs\",\n sm: \"h-7 gap-1.5 px-3\",\n default: \"h-8 gap-1.5 px-2.5\",\n lg: \"h-9 gap-2 px-5 text-base has-[>svg]:px-4 [&_svg:not([class*='size-'])]:size-4.5\",\n icon: \"size-8\",\n \"icon-xs\": \"size-6 [&_svg:not([class*='size-'])]:size-3.5\",\n \"icon-sm\": \"size-7 [&_svg:not([class*='size-'])]:size-4\",\n \"icon-lg\": \"size-9 [&_svg:not([class*='size-'])]:size-5\",\n },\n },\n defaultVariants: { variant: \"default\", size: \"default\" },\n});\n\ntype CommonProps = VariantProps<typeof button> & {\n class?: string;\n asChild?: boolean;\n children?: ComponentChildren;\n};\n\ntype ButtonAsButton = CommonProps &\n JSX.ButtonHTMLAttributes<HTMLButtonElement> & {\n href?: undefined;\n };\n\ntype ButtonAsAnchor = CommonProps &\n JSX.AnchorHTMLAttributes<HTMLAnchorElement> & {\n href: string;\n };\n\nexport type ButtonProps = ButtonAsButton | ButtonAsAnchor;\n\nexport const Button = ({\n variant,\n size,\n asChild = false,\n class: className,\n children,\n ...rest\n}: ButtonProps) => {\n const resolvedVariant = variant ?? \"default\";\n const resolvedSize = size ?? \"default\";\n const resolvedClassName = button({\n variant: resolvedVariant,\n size: resolvedSize,\n class: className,\n });\n\n if (asChild) {\n if (!isValidElement(children)) {\n const env = (globalThis as { process?: { env?: { NODE_ENV?: string } } }).process?.env\n ?.NODE_ENV;\n if (env !== \"production\") {\n console.warn(\n \"[kamod-ui] <Button asChild> expects a single valid element child. \" +\n \"Received: \" +\n typeof children +\n \". Falling back to rendering nothing.\",\n );\n }\n return null;\n }\n\n const childProps = (children.props ?? {}) as JSX.HTMLAttributes<HTMLElement> & {\n class?: string;\n className?: string;\n };\n\n return cloneElement(children, {\n ...childProps,\n ...(rest as JSX.HTMLAttributes<HTMLElement>),\n class: cn(childProps.class, childProps.className, resolvedClassName),\n \"data-slot\": \"button\",\n \"data-variant\": resolvedVariant,\n \"data-size\": resolvedSize,\n });\n }\n\n if (\"href\" in rest && typeof rest.href === \"string\") {\n return (\n <a\n class={resolvedClassName}\n data-slot=\"button\"\n data-variant={resolvedVariant}\n data-size={resolvedSize}\n {...rest}\n >\n {children}\n </a>\n );\n }\n\n return (\n <button\n class={resolvedClassName}\n data-slot=\"button\"\n data-variant={resolvedVariant}\n data-size={resolvedSize}\n {...rest}\n >\n {children}\n </button>\n );\n};\n"]}
@@ -1 +0,0 @@
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,KAAA,EAAO,GAAG,UAAA,CAAW,EAAE,MAAM,KAAA,EAAO,SAAA,EAAW,CAAC,CAAA;AAAA,QAChD,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-5KS2VSX2.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, class: 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 +0,0 @@
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-67J4KBOW.js","sourcesContent":["import type { ComponentChildren, JSX } from \"preact\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\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={card({ size, class: className as string | undefined })}\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\";\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\n class={cardAction({ class: className as string | undefined })}\n data-slot=\"card-action\"\n {...rest}\n />\n);\n","import type { JSX } from \"preact\";\nimport { tv } from \"tailwind-variants\";\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\n class={cardContent({ class: className as string | undefined })}\n data-slot=\"card-content\"\n {...rest}\n />\n);\n","import type { JSX } from \"preact\";\nimport { tv } from \"tailwind-variants\";\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\n class={cardDescription({ class: className as string | undefined })}\n data-slot=\"card-description\"\n {...rest}\n />\n);\n","import type { JSX } from \"preact\";\nimport { tv } from \"tailwind-variants\";\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\n class={cardFooter({ class: className as string | undefined })}\n data-slot=\"card-footer\"\n {...rest}\n />\n);\n","import type { JSX } from \"preact\";\nimport { tv } from \"tailwind-variants\";\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\n class={cardHeader({ class: className as string | undefined })}\n data-slot=\"card-header\"\n {...rest}\n />\n);\n","import type { JSX } from \"preact\";\nimport { tv } from \"tailwind-variants\";\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\n class={cardTitle({ class: className as string | undefined })}\n data-slot=\"card-title\"\n {...rest}\n />\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"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/input/Input.tsx"],"names":[],"mappings":";;;;AAGO,IAAM,QAAQ,EAAA,CAAG;AAAA,EACtB,IAAA,EAAM;AAAA,IACJ,yGAAA;AAAA,IACA,4HAAA;AAAA,IACA,mDAAA;AAAA,IACA,yHAAA;AAAA,IACA,iDAAA;AAAA,IACA,oEAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,QAAA,EAAU;AAAA,IACR,MAAM,EAAE,EAAA,EAAI,sBAAsB,EAAA,EAAI,kBAAA,EAAoB,IAAI,sBAAA;AAAuB,GACvF;AAAA,EACA,eAAA,EAAiB,EAAE,IAAA,EAAM,IAAA;AAC3B,CAAC;AAKM,IAAM,KAAA,GAAQ,CAAC,EAAE,IAAA,EAAM,OAAO,SAAA,EAAW,GAAG,MAAK,qBACtD,GAAA;AAAA,EAAC,OAAA;AAAA,EAAA;AAAA,IACC,OAAO,KAAA,CAAM,EAAE,IAAA,EAAM,KAAA,EAAO,WAAiC,CAAA;AAAA,IAC7D,WAAA,EAAU,OAAA;AAAA,IACT,GAAG;AAAA;AACN","file":"chunk-6RASPU5N.js","sourcesContent":["import type { JSX } from \"preact\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\n\nexport const input = tv({\n base: [\n \"border-input dark:bg-input/30 text-foreground min-w-0 w-full rounded-md border bg-transparent shadow-xs\",\n \"outline-none focus-visible:border-outline focus-visible:ring-outline/50 transition-[color,box-shadow] focus-visible:ring-3\",\n \"selection:bg-primary/20 selection:text-foreground\",\n \"file:text-foreground file:my-auto file:me-4 file:h-full file:border-0 file:bg-transparent file:text-sm file:font-medium\",\n \"disabled:cursor-not-allowed disabled:opacity-50\",\n \"aria-invalid:border-error aria-invalid:focus-visible:ring-error/40\",\n \"peer placeholder:text-muted-foreground\",\n ],\n variants: {\n size: { sm: \"h-7 px-2.5 text-sm\", md: \"h-8 px-3 text-sm\", lg: \"h-9 px-3.5 text-base\" },\n },\n defaultVariants: { size: \"md\" },\n});\n\nexport type InputProps = Omit<JSX.InputHTMLAttributes<HTMLInputElement>, \"size\"> &\n VariantProps<typeof input>;\n\nexport const Input = ({ size, class: className, ...rest }: InputProps) => (\n <input\n class={input({ size, class: className as string | undefined })}\n data-slot=\"input\"\n {...rest}\n />\n);\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/dropdown/Dropdown.tsx","../src/components/dropdown/DropdownCheckboxItem.tsx","../src/components/dropdown/DropdownContent.tsx","../src/components/dropdown/DropdownGroup.tsx","../src/components/dropdown/DropdownItem.tsx","../src/components/dropdown/DropdownLabel.tsx","../src/components/dropdown/DropdownPortal.tsx","../src/components/dropdown/dropdown-radio-context.tsx","../src/components/dropdown/DropdownRadioGroup.tsx","../src/components/dropdown/DropdownRadioItem.tsx","../src/components/dropdown/DropdownSeparator.tsx","../src/components/dropdown/DropdownShortcut.tsx","../src/components/dropdown/dropdown-sub-context.tsx","../src/components/dropdown/DropdownSub.tsx","../src/components/dropdown/DropdownSubContent.tsx","../src/components/dropdown/DropdownSubTrigger.tsx","../src/components/dropdown/DropdownTrigger.tsx","../src/components/dropdown/index.ts"],"names":["useMemo","signal","useEffect","jsx","tv","createContext","useContext","useRef","jsxs"],"mappings":"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","file":"chunk-7AJT2E2Y.js","sourcesContent":["import { signal } from \"@preact/signals\";\nimport type { ComponentChildren, JSX } from \"preact\";\nimport { createContext } from \"preact\";\nimport { useContext, useEffect, useMemo, useRef } from \"preact/hooks\";\nimport { tv } from \"tailwind-variants\";\nimport { createDismissableLayer, createIdFactory } from \"../../lib/interactive\";\n\nexport type DropdownContextValue = {\n open: ReturnType<typeof signal<boolean>>;\n setOpen: (next: boolean) => void;\n triggerId: string;\n contentId: string;\n rootRef: { current: HTMLDivElement | null };\n triggerRef: { current: HTMLElement | null };\n contentRef: { current: HTMLDivElement | null };\n};\n\nconst DropdownContext = createContext<DropdownContextValue | null>(null);\nconst nextDropdownId = createIdFactory(\"kamod-dropdown\");\n\nexport const useDropdown = () => {\n const context = useContext(DropdownContext);\n if (!context) throw new Error(\"Dropdown subcomponents must be used within Dropdown\");\n return context;\n};\n\nexport const dropdownRoot = tv({\n base: \"relative inline-flex\",\n});\n\nexport type DropdownProps = JSX.HTMLAttributes<HTMLDivElement> & {\n defaultOpen?: boolean;\n children?: ComponentChildren;\n};\n\nexport const Dropdown = ({\n defaultOpen = false,\n class: className,\n children,\n ...rest\n}: DropdownProps) => {\n const open = useMemo(() => signal(defaultOpen), []);\n const rootRef = useRef<HTMLDivElement | null>(null);\n const triggerRef = useRef<HTMLElement | null>(null);\n const contentRef = useRef<HTMLDivElement | null>(null);\n const instanceId = useMemo(() => nextDropdownId(), []);\n\n useEffect(() => {\n const layer = createDismissableLayer({\n root: () => rootRef.current,\n open: () => open.value,\n onDismiss: () => {\n open.value = false;\n },\n });\n return () => layer.dispose();\n }, []);\n\n return (\n <DropdownContext.Provider\n value={{\n open,\n setOpen: (next) => {\n open.value = next;\n },\n triggerId: `${instanceId}-trigger`,\n contentId: `${instanceId}-content`,\n rootRef,\n triggerRef,\n contentRef,\n }}\n >\n <div\n ref={rootRef}\n class={dropdownRoot({ class: className as string | undefined })}\n data-slot=\"dropdown\"\n data-state={open.value ? \"open\" : \"closed\"}\n {...rest}\n >\n {children}\n </div>\n </DropdownContext.Provider>\n );\n};\n","import { signal } from \"@preact/signals\";\nimport type { ComponentChildren, JSX } from \"preact\";\nimport { useEffect, useMemo } from \"preact/hooks\";\nimport { cn } from \"../../lib/utils\";\n\nexport type DropdownCheckboxItemProps = Omit<\n JSX.ButtonHTMLAttributes<HTMLButtonElement>,\n \"children\"\n> & {\n checked?: boolean;\n defaultChecked?: boolean;\n onCheckedChange?: (checked: boolean) => void;\n children?: ComponentChildren;\n};\n\nexport const DropdownCheckboxItem = ({\n checked: checkedProp,\n defaultChecked = false,\n onCheckedChange,\n class: className,\n children,\n onClick,\n ...rest\n}: DropdownCheckboxItemProps) => {\n const internal = useMemo(() => signal(defaultChecked), []);\n const isControlled = checkedProp !== undefined;\n\n useEffect(() => {\n if (checkedProp !== undefined) {\n internal.value = checkedProp;\n }\n }, [checkedProp, internal]);\n\n const checked = isControlled ? Boolean(checkedProp) : internal.value;\n\n return (\n <button\n type=\"button\"\n role=\"menuitemcheckbox\"\n data-slot=\"dropdown-checkbox-item\"\n aria-checked={checked}\n class={cn(\n \"relative flex w-full cursor-default select-none items-center gap-1 rounded-sm py-0.5 ps-7 pe-1.5 text-sm outline-none transition-colors duration-100\",\n \"hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground\",\n \"data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className,\n )}\n onClick={(event) => {\n onClick?.(event);\n if (event.defaultPrevented) return;\n const next = !checked;\n if (!isControlled) {\n internal.value = next;\n }\n onCheckedChange?.(next);\n }}\n {...rest}\n >\n <span\n class=\"pointer-events-none absolute start-1.5 flex size-3 items-center justify-center\"\n aria-hidden\n >\n {checked ? (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\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 class=\"size-3.5\"\n >\n <path d=\"M20 6 9 17l-5-5\" />\n </svg>\n ) : null}\n </span>\n {children}\n </button>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\nimport { useDropdown } from \"./Dropdown\";\n\nconst positionBySide = {\n top: \"bottom-full\",\n bottom: \"top-full\",\n left: \"right-full\",\n right: \"left-full\",\n} as const;\n\nconst alignByAxis = {\n vertical: {\n start: \"left-0\",\n center: \"left-1/2 -translate-x-1/2\",\n end: \"right-0\",\n },\n horizontal: {\n start: \"top-0\",\n center: \"top-1/2 -translate-y-1/2\",\n end: \"bottom-0\",\n },\n} as const;\n\nexport const dropdownContent = tv({\n base: [\n // overflow-x visible so DropdownSubContent (absolute start-full) is not clipped; keep vertical scroll for long menus\n \"bg-white text-popover-foreground z-50 flex min-w-[7rem] flex-col gap-0 overflow-x-visible overflow-y-auto rounded-lg p-px shadow-md outline-none ring-1 ring-foreground/10 dark:bg-popover\",\n \"dark:ring-foreground/15\",\n \"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=open]:duration-100\",\n \"data-[state=closed]:animate-out data-[state=closed]:fill-mode-forwards data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=closed]:duration-100\",\n \"absolute isolate max-h-96\",\n ],\n variants: {\n side: {\n bottom: \"slide-in-from-top-2\",\n top: \"slide-in-from-bottom-2\",\n right: \"slide-in-from-left-2\",\n left: \"slide-in-from-right-2\",\n },\n },\n defaultVariants: {\n side: \"bottom\",\n },\n});\n\nexport type DropdownContentProps = JSX.HTMLAttributes<HTMLDivElement> &\n VariantProps<typeof dropdownContent> & {\n forceMount?: boolean;\n side?: \"top\" | \"bottom\" | \"left\" | \"right\";\n align?: \"start\" | \"center\" | \"end\";\n sideOffset?: number;\n children?: ComponentChildren;\n };\n\nexport const DropdownContent = ({\n forceMount = false,\n side = \"bottom\",\n align = \"start\",\n sideOffset = 4,\n class: className,\n style,\n children,\n onKeyDown,\n ...rest\n}: DropdownContentProps) => {\n const dropdown = useDropdown();\n if (!dropdown.open.value && !forceMount) return null;\n\n const isVertical = side === \"top\" || side === \"bottom\";\n const alignClass = isVertical ? alignByAxis.vertical[align] : alignByAxis.horizontal[align];\n const inlineStyle = typeof style === \"object\" && style !== null ? style : undefined;\n const offsetStyle: JSX.CSSProperties =\n side === \"bottom\"\n ? { marginTop: `${sideOffset}px` }\n : side === \"top\"\n ? { marginBottom: `${sideOffset}px` }\n : side === \"right\"\n ? { marginLeft: `${sideOffset}px` }\n : { marginRight: `${sideOffset}px` };\n\n return (\n <div\n ref={(node) => {\n dropdown.contentRef.current = node;\n }}\n id={dropdown.contentId}\n role=\"menu\"\n tabIndex={-1}\n aria-labelledby={dropdown.triggerId}\n data-slot=\"dropdown-content\"\n data-side={side}\n data-align={align}\n data-state={dropdown.open.value ? \"open\" : \"closed\"}\n class={`${positionBySide[side]} ${alignClass} ${dropdownContent({ side, class: className as string | undefined })}`}\n style={inlineStyle ? { ...offsetStyle, ...inlineStyle } : offsetStyle}\n onKeyDown={(event) => {\n if (event.key === \"Escape\") {\n event.preventDefault();\n dropdown.setOpen(false);\n dropdown.triggerRef.current?.focus();\n return;\n }\n onKeyDown?.(event);\n }}\n {...rest}\n >\n {children}\n </div>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type DropdownGroupProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const DropdownGroup = ({ class: className, children, ...rest }: DropdownGroupProps) => (\n <div role=\"group\" data-slot=\"dropdown-group\" class={cn(\"p-1\", className)} {...rest}>\n {children}\n </div>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\nimport { useDropdown } from \"./Dropdown\";\n\nexport const dropdownItem = tv({\n base: [\n \"relative flex w-full cursor-default select-none items-center gap-1 rounded-sm px-1 py-0.5 text-sm outline-none transition-colors duration-100 ease-out\",\n \"text-popover-foreground hover:bg-accent hover:text-accent-foreground\",\n \"focus:bg-accent focus: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-3.5\",\n ],\n variants: {\n variant: {\n default: \"\",\n destructive:\n \"text-destructive hover:bg-destructive/10 hover:text-destructive focus:bg-destructive/10 focus:text-destructive dark:focus:bg-destructive/20 [&_svg]:text-destructive\",\n },\n inset: {\n true: \"ps-6\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n inset: false,\n },\n});\n\nexport type DropdownItemProps = JSX.ButtonHTMLAttributes<HTMLButtonElement> &\n VariantProps<typeof dropdownItem> & {\n children?: ComponentChildren;\n };\n\nexport const DropdownItem = ({\n inset = false,\n variant = \"default\",\n class: className,\n children,\n onClick,\n ...rest\n}: DropdownItemProps) => {\n const dropdown = useDropdown();\n return (\n <button\n type=\"button\"\n role=\"menuitem\"\n data-slot=\"dropdown-item\"\n data-inset={inset ? \"true\" : undefined}\n data-variant={variant}\n class={dropdownItem({ inset, variant, class: className as string | undefined })}\n onClick={(event) => {\n onClick?.(event);\n if (event.defaultPrevented) return;\n dropdown.setOpen(false);\n }}\n {...rest}\n >\n {children}\n </button>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type DropdownLabelProps = JSX.HTMLAttributes<HTMLDivElement> & {\n inset?: boolean;\n children?: ComponentChildren;\n};\n\nexport const DropdownLabel = ({\n inset = false,\n class: className,\n children,\n ...rest\n}: DropdownLabelProps) => (\n <div\n data-slot=\"dropdown-label\"\n data-inset={inset ? \"true\" : undefined}\n class={cn(\n \"text-muted-foreground px-1 py-0.5 text-xs font-semibold\",\n inset && \"ps-6\",\n className,\n )}\n {...rest}\n >\n {children}\n </div>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\n\n/** No-op wrapper for API parity with shadcn; content stays in the tree (no portal). */\nexport type DropdownPortalProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const DropdownPortal = ({ children, ...rest }: DropdownPortalProps) => (\n <div data-slot=\"dropdown-portal\" {...rest}>\n {children}\n </div>\n);\n","import { signal } from \"@preact/signals\";\nimport { createContext } from \"preact\";\nimport { useContext, useEffect, useMemo, useRef } from \"preact/hooks\";\n\nexport type DropdownRadioContextValue = {\n value: ReturnType<typeof signal<string>>;\n setValue: (next: string) => void;\n};\n\nconst DropdownRadioContext = createContext<DropdownRadioContextValue | null>(null);\n\nexport const DropdownRadioProvider = DropdownRadioContext.Provider;\n\nexport const useDropdownRadio = () => {\n const ctx = useContext(DropdownRadioContext);\n if (!ctx) throw new Error(\"DropdownRadioItem must be used within DropdownRadioGroup\");\n return ctx;\n};\n\nexport const useDropdownRadioRoot = (\n defaultValue: string,\n valueProp: string | undefined,\n onValueChange: ((v: string) => void) | undefined,\n): DropdownRadioContextValue => {\n const internal = useMemo(() => signal(valueProp ?? defaultValue), []);\n const controlledRef = useRef(false);\n controlledRef.current = valueProp !== undefined;\n\n useEffect(() => {\n if (valueProp !== undefined) {\n internal.value = valueProp;\n }\n }, [valueProp, internal]);\n\n const onValueChangeRef = useRef(onValueChange);\n onValueChangeRef.current = onValueChange;\n\n return useMemo(\n (): DropdownRadioContextValue => ({\n value: internal,\n setValue: (next: string) => {\n if (!controlledRef.current) {\n internal.value = next;\n }\n onValueChangeRef.current?.(next);\n },\n }),\n [internal],\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { DropdownRadioProvider, useDropdownRadioRoot } from \"./dropdown-radio-context\";\n\nexport type DropdownRadioGroupProps = JSX.HTMLAttributes<HTMLDivElement> & {\n value?: string;\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n children?: ComponentChildren;\n};\n\nexport const DropdownRadioGroup = ({\n value,\n defaultValue = \"\",\n onValueChange,\n children,\n ...rest\n}: DropdownRadioGroupProps) => {\n const ctx = useDropdownRadioRoot(defaultValue, value, onValueChange);\n\n return (\n <DropdownRadioProvider value={ctx}>\n <div role=\"group\" data-slot=\"dropdown-radio-group\" {...rest}>\n {children}\n </div>\n </DropdownRadioProvider>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { useDropdown } from \"./Dropdown\";\nimport { useDropdownRadio } from \"./dropdown-radio-context\";\n\nexport type DropdownRadioItemProps = JSX.ButtonHTMLAttributes<HTMLButtonElement> & {\n value: string;\n children?: ComponentChildren;\n};\n\nexport const DropdownRadioItem = ({\n value,\n class: className,\n children,\n onClick,\n ...rest\n}: DropdownRadioItemProps) => {\n const dropdown = useDropdown();\n const radio = useDropdownRadio();\n const selected = radio.value.value === value;\n\n return (\n <button\n type=\"button\"\n role=\"menuitemradio\"\n data-slot=\"dropdown-radio-item\"\n aria-checked={selected}\n class={cn(\n \"relative flex w-full cursor-default select-none items-center gap-1 rounded-sm py-0.5 ps-7 pe-1.5 text-sm outline-none transition-colors duration-100\",\n \"hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground\",\n \"data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className,\n )}\n onClick={(event) => {\n onClick?.(event);\n if (event.defaultPrevented) return;\n radio.setValue(value);\n dropdown.setOpen(false);\n }}\n {...rest}\n >\n <span\n class=\"pointer-events-none absolute start-1.5 flex size-3 items-center justify-center\"\n aria-hidden\n >\n {selected ? <span class=\"size-1.5 rounded-full bg-current\" /> : null}\n </span>\n {children}\n </button>\n );\n};\n","import type { JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type DropdownSeparatorProps = JSX.HTMLAttributes<HTMLDivElement>;\n\nexport const DropdownSeparator = ({ class: className, ...rest }: DropdownSeparatorProps) => (\n <div\n role=\"separator\"\n data-slot=\"dropdown-separator\"\n class={cn(\"bg-border -mx-px my-px h-px\", className)}\n {...rest}\n />\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type DropdownShortcutProps = JSX.HTMLAttributes<HTMLSpanElement> & {\n children?: ComponentChildren;\n};\n\nexport const DropdownShortcut = ({\n class: className,\n children,\n ...rest\n}: DropdownShortcutProps) => (\n <span\n data-slot=\"dropdown-shortcut\"\n class={cn(\"text-muted-foreground ms-auto text-xs tracking-widest opacity-70\", className)}\n {...rest}\n >\n {children}\n </span>\n);\n","import { signal } from \"@preact/signals\";\nimport type { ComponentChildren } from \"preact\";\nimport { createContext } from \"preact\";\nimport { useContext, useMemo } from \"preact/hooks\";\n\nexport type DropdownSubContextValue = {\n open: ReturnType<typeof signal<boolean>>;\n setOpen: (next: boolean) => void;\n};\n\nconst DropdownSubContext = createContext<DropdownSubContextValue | null>(null);\n\nexport const DropdownSubProvider = ({\n children,\n value,\n}: {\n children: ComponentChildren;\n value: DropdownSubContextValue;\n}) => <DropdownSubContext.Provider value={value}>{children}</DropdownSubContext.Provider>;\n\nexport const useDropdownSub = () => {\n const ctx = useContext(DropdownSubContext);\n if (!ctx) throw new Error(\"Dropdown subcomponents must be used within DropdownSub\");\n return ctx;\n};\n\nexport const useMemoDropdownSub = (): DropdownSubContextValue =>\n useMemo(() => {\n const open = signal(false);\n return {\n open,\n setOpen: (next) => {\n open.value = next;\n },\n };\n }, []);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { DropdownSubProvider, useMemoDropdownSub } from \"./dropdown-sub-context\";\n\nexport type DropdownSubProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const DropdownSub = ({ class: className, children, ...rest }: DropdownSubProps) => {\n const ctx = useMemoDropdownSub();\n\n return (\n <DropdownSubProvider value={ctx}>\n <div\n data-slot=\"dropdown-sub\"\n class={cn(\"relative\", className)}\n onPointerLeave={() => {\n ctx.setOpen(false);\n }}\n {...rest}\n >\n {children}\n </div>\n </DropdownSubProvider>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { useDropdownSub } from \"./dropdown-sub-context\";\n\nexport type DropdownSubContentProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n /** `inline-end` (default): opens toward inline end (right in LTR). `inline-start`: toward inline start (left in LTR) — use near the viewport edge to avoid horizontal page scroll. */\n side?: \"inline-end\" | \"inline-start\";\n};\n\nexport const DropdownSubContent = ({\n class: className,\n children,\n onPointerEnter,\n side = \"inline-end\",\n ...rest\n}: DropdownSubContentProps) => {\n const sub = useDropdownSub();\n\n if (!sub.open.value) return null;\n\n const sidePosition =\n side === \"inline-start\"\n ? \"end-full me-0.5 rtl:ms-0.5 rtl:me-0\"\n : \"start-full ms-0.5 rtl:me-0.5 rtl:ms-0\";\n\n return (\n <div\n role=\"menu\"\n data-slot=\"dropdown-sub-content\"\n data-side={side}\n data-state=\"open\"\n class={cn(\n \"absolute top-0 z-50 min-w-[7rem] max-h-[min(24rem,calc(100dvh-2rem))] overflow-x-hidden overflow-y-auto rounded-lg bg-white p-px text-popover-foreground shadow-md outline-none ring-1 ring-foreground/10 dark:bg-popover dark:ring-foreground/15\",\n sidePosition,\n className,\n )}\n onPointerEnter={(e) => {\n onPointerEnter?.(e);\n sub.setOpen(true);\n }}\n {...rest}\n >\n {children}\n </div>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { useDropdownSub } from \"./dropdown-sub-context\";\n\nconst ChevronRight = ({ class: className }: { class?: string }) => (\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 class={cn(\"size-3.5 shrink-0 rtl:rotate-180\", className)}\n aria-hidden\n >\n <path d=\"m9 18 6-6-6-6\" />\n </svg>\n);\n\nexport type DropdownSubTriggerProps = JSX.ButtonHTMLAttributes<HTMLButtonElement> & {\n children?: ComponentChildren;\n};\n\nexport const DropdownSubTrigger = ({\n class: className,\n children,\n onClick,\n onPointerEnter,\n ...rest\n}: DropdownSubTriggerProps) => {\n const sub = useDropdownSub();\n const open = sub.open.value;\n\n return (\n <button\n type=\"button\"\n role=\"menuitem\"\n data-slot=\"dropdown-sub-trigger\"\n data-state={open ? \"open\" : \"closed\"}\n aria-expanded={open}\n aria-haspopup=\"menu\"\n class={cn(\n \"flex w-full cursor-default select-none items-center gap-1 rounded-sm px-1 py-0.5 text-start text-sm outline-none transition-colors duration-100\",\n \"hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground\",\n \"data-[state=open]:bg-accent data-[state=open]:text-accent-foreground\",\n \"[&_svg]:shrink-0\",\n className,\n )}\n onPointerEnter={(e) => {\n onPointerEnter?.(e);\n if (e.defaultPrevented) return;\n sub.setOpen(true);\n }}\n onClick={(e) => {\n onClick?.(e);\n if (e.defaultPrevented) return;\n sub.setOpen(!open);\n }}\n {...rest}\n >\n {children}\n <ChevronRight class=\"ms-auto\" />\n </button>\n );\n};\n","import { type ComponentChildren, cloneElement, isValidElement, type JSX } from \"preact\";\nimport { tv } from \"tailwind-variants\";\nimport { useDropdown } from \"./Dropdown\";\n\nexport const dropdownTrigger = tv({\n base: [\n \"inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap\",\n \"focus-visible:ring-outline/50 transition-[color,box-shadow] outline-none focus-visible:ring-3\",\n \"disabled:pointer-events-none disabled:opacity-50\",\n \"border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground\",\n \"h-9 px-4 py-2\",\n ],\n});\n\nexport type DropdownTriggerProps = JSX.ButtonHTMLAttributes<HTMLButtonElement> & {\n asChild?: boolean;\n children?: ComponentChildren;\n};\n\nconst callRef = <T extends HTMLElement>(ref: unknown, node: T | null) => {\n if (typeof ref === \"function\") {\n ref(node);\n } else if (ref && typeof ref === \"object\" && \"current\" in ref) {\n (ref as { current: T | null }).current = node;\n }\n};\n\nexport const DropdownTrigger = ({\n asChild = false,\n class: className,\n children,\n onClick,\n ref: outerRef,\n ...rest\n}: DropdownTriggerProps) => {\n const dropdown = useDropdown();\n\n const handleClick = (event: JSX.TargetedMouseEvent<HTMLElement>) => {\n onClick?.(event as JSX.TargetedMouseEvent<HTMLButtonElement>);\n if (event.defaultPrevented) return;\n dropdown.setOpen(!dropdown.open.value);\n };\n\n if (asChild) {\n if (!isValidElement(children)) {\n return null;\n }\n\n const childProps = (children.props ?? {}) as JSX.HTMLAttributes<HTMLElement> & {\n ref?: unknown;\n onClick?: (event: JSX.TargetedMouseEvent<HTMLElement>) => void;\n };\n\n return cloneElement(children, {\n ...(childProps as Record<string, unknown>),\n ...(rest as Record<string, unknown>),\n id: dropdown.triggerId,\n \"aria-controls\": dropdown.contentId,\n \"aria-haspopup\": \"menu\",\n \"aria-expanded\": dropdown.open.value,\n \"data-slot\": \"dropdown-trigger\",\n \"data-state\": dropdown.open.value ? \"open\" : \"closed\",\n onClick: (event: JSX.TargetedMouseEvent<HTMLElement>) => {\n childProps.onClick?.(event);\n handleClick(event);\n },\n ref: (node: HTMLElement | null) => {\n dropdown.triggerRef.current = node;\n callRef(childProps.ref, node);\n callRef(outerRef, node);\n },\n } as never);\n }\n\n return (\n <button\n ref={(node) => {\n dropdown.triggerRef.current = node;\n callRef(outerRef, node);\n }}\n id={dropdown.triggerId}\n type=\"button\"\n class={dropdownTrigger({ class: className as string | undefined })}\n data-slot=\"dropdown-trigger\"\n data-state={dropdown.open.value ? \"open\" : \"closed\"}\n aria-controls={dropdown.contentId}\n aria-haspopup=\"menu\"\n aria-expanded={dropdown.open.value}\n onClick={(event) => handleClick(event as unknown as JSX.TargetedMouseEvent<HTMLElement>)}\n {...rest}\n >\n {children}\n </button>\n );\n};\n","import { Dropdown } from \"./Dropdown\";\nimport { DropdownCheckboxItem } from \"./DropdownCheckboxItem\";\nimport { DropdownContent } from \"./DropdownContent\";\nimport { DropdownGroup } from \"./DropdownGroup\";\nimport { DropdownItem } from \"./DropdownItem\";\nimport { DropdownLabel } from \"./DropdownLabel\";\nimport { DropdownPortal } from \"./DropdownPortal\";\nimport { DropdownRadioGroup } from \"./DropdownRadioGroup\";\nimport { DropdownRadioItem } from \"./DropdownRadioItem\";\nimport { DropdownSeparator } from \"./DropdownSeparator\";\nimport { DropdownShortcut } from \"./DropdownShortcut\";\nimport { DropdownSub } from \"./DropdownSub\";\nimport { DropdownSubContent } from \"./DropdownSubContent\";\nimport { DropdownSubTrigger } from \"./DropdownSubTrigger\";\nimport { DropdownTrigger } from \"./DropdownTrigger\";\n\nexport {\n Dropdown,\n DropdownCheckboxItem,\n DropdownContent,\n DropdownGroup,\n DropdownItem,\n DropdownLabel,\n DropdownPortal,\n DropdownRadioGroup,\n DropdownRadioItem,\n DropdownSeparator,\n DropdownShortcut,\n DropdownSub,\n DropdownSubContent,\n DropdownSubTrigger,\n DropdownTrigger,\n};\n\nexport default {\n Root: Dropdown,\n Trigger: DropdownTrigger,\n Content: DropdownContent,\n Item: DropdownItem,\n Label: DropdownLabel,\n Separator: DropdownSeparator,\n Group: DropdownGroup,\n Shortcut: DropdownShortcut,\n Sub: DropdownSub,\n SubTrigger: DropdownSubTrigger,\n SubContent: DropdownSubContent,\n Portal: DropdownPortal,\n CheckboxItem: DropdownCheckboxItem,\n RadioGroup: DropdownRadioGroup,\n RadioItem: DropdownRadioItem,\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/toggle-group/ToggleGroup.tsx","../src/components/toggle-group/ToggleGroupItem.tsx","../src/components/toggle-group/index.ts"],"names":["value","toggleGroupItem","tv","jsx"],"mappings":"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","file":"chunk-BYG2ULS3.js","sourcesContent":["import type { ComponentChildren, JSX } from \"preact\";\nimport { createContext } from \"preact\";\nimport { useContext, useMemo, useState } from \"preact/hooks\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\nimport { cn } from \"../../lib/utils\";\n\ntype ToggleGroupType = \"single\" | \"multiple\";\n\ntype ToggleGroupContextValue = {\n type: ToggleGroupType;\n values: string[];\n toggle: (value: string) => void;\n disabled: boolean;\n itemVariant?: ToggleGroupItemVariants[\"variant\"];\n itemSize?: ToggleGroupItemVariants[\"size\"];\n};\n\nconst ToggleGroupContext = createContext<ToggleGroupContextValue | null>(null);\n\nexport const useToggleGroup = () => {\n const context = useContext(ToggleGroupContext);\n if (!context) throw new Error(\"ToggleGroupItem must be used within ToggleGroup\");\n return context;\n};\n\nconst toggleGroup = tv({\n base: \"inline-flex items-center justify-center\",\n variants: {\n orientation: {\n horizontal: \"flex-row items-center\",\n vertical: \"flex-col items-start\",\n },\n spacing: {\n none: \"gap-0\",\n sm: \"gap-0.5\",\n default: \"gap-1\",\n lg: \"gap-1.5\",\n },\n },\n defaultVariants: {\n orientation: \"horizontal\",\n spacing: \"sm\",\n },\n});\n\n// Used for `typeof toggleGroupItem` type extraction below — runtime usage is intentional.\n// oxlint-disable-next-line typescript/no-unused-vars\nconst toggleGroupItem = tv({\n variants: {\n variant: {\n default: undefined,\n outline: undefined,\n pill: undefined,\n },\n size: {\n sm: undefined,\n default: undefined,\n lg: undefined,\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n});\n\ntype ToggleGroupItemVariants = VariantProps<typeof toggleGroupItem>;\n\ntype ToggleGroupBaseProps = Omit<JSX.HTMLAttributes<HTMLDivElement>, \"class\"> &\n VariantProps<typeof toggleGroup> &\n ToggleGroupItemVariants & {\n class?: string;\n type?: ToggleGroupType;\n defaultValue?: string | string[];\n value?: string | string[];\n onValueChange?: (value: string | string[]) => void;\n disabled?: boolean;\n children?: ComponentChildren;\n };\n\ntype SingleToggleGroupProps = ToggleGroupBaseProps & {\n type?: \"single\";\n onValueChange?: (value: string) => void;\n};\n\ntype MultipleToggleGroupProps = ToggleGroupBaseProps & {\n type: \"multiple\";\n onValueChange?: (value: string[]) => void;\n};\n\nexport type ToggleGroupProps = SingleToggleGroupProps | MultipleToggleGroupProps;\n\nconst toValueArray = (input?: string | string[]) => {\n if (Array.isArray(input)) return input;\n if (typeof input === \"string\") return [input];\n return [];\n};\n\nexport const ToggleGroup = ({\n class: className,\n type = \"single\",\n defaultValue,\n value,\n onValueChange,\n disabled = false,\n orientation,\n spacing,\n variant,\n size,\n children,\n ...rest\n}: ToggleGroupProps) => {\n const initial = useMemo(() => {\n if (Array.isArray(defaultValue)) return defaultValue;\n if (typeof defaultValue === \"string\") return [defaultValue];\n return [];\n }, [defaultValue]);\n const [internalValues, setInternalValues] = useState<string[]>(initial);\n const isControlled = value !== undefined;\n const values = isControlled ? toValueArray(value) : internalValues;\n\n const toggle = (value: string) => {\n const exists = values.includes(value);\n const nextValues =\n type === \"single\"\n ? exists\n ? []\n : [value]\n : exists\n ? values.filter((entry) => entry !== value)\n : [...values, value];\n\n if (!isControlled) {\n setInternalValues(nextValues);\n }\n\n if (onValueChange) {\n if (type === \"multiple\") {\n (onValueChange as (value: string[]) => void)(nextValues);\n } else {\n (onValueChange as (value: string) => void)(nextValues[0] ?? \"\");\n }\n }\n };\n\n const resolvedVariant = variant ?? \"default\";\n const resolvedSize = size ?? \"default\";\n\n return (\n <ToggleGroupContext.Provider\n value={{\n type,\n values,\n toggle,\n disabled,\n itemVariant: resolvedVariant,\n itemSize: resolvedSize,\n }}\n >\n {/* oxlint-disable-next-line jsx-a11y/role-supports-aria-props */}\n <div\n data-slot=\"toggle-group\"\n data-orientation={orientation ?? \"horizontal\"}\n data-variant={resolvedVariant}\n data-size={resolvedSize}\n role=\"group\"\n aria-orientation={orientation ?? \"horizontal\"}\n class={cn(toggleGroup({ orientation, spacing, class: className }))}\n {...rest}\n >\n {children}\n </div>\n </ToggleGroupContext.Provider>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\nimport { cn } from \"../../lib/utils\";\nimport { useToggleGroup } from \"./ToggleGroup\";\n\nconst toggleGroupItem = tv({\n base: [\n \"inline-flex items-center justify-center rounded-sm text-xs font-medium whitespace-nowrap\",\n \"[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5\",\n \"data-[size=sm]:[&_svg:not([class*='size-'])]:size-3\",\n \"data-[size=lg]:[&_svg:not([class*='size-'])]:size-4\",\n \"select-none transition-all outline-none\",\n \"focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/45\",\n \"disabled:pointer-events-none disabled:opacity-50\",\n \"data-[state=on]:bg-accent data-[state=on]:text-accent-foreground data-[state=on]:shadow-xs\",\n ],\n variants: {\n variant: {\n default: \"bg-transparent hover:bg-muted hover:text-muted-foreground\",\n outline:\n \"border border-input/80 bg-transparent shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/25 dark:border-input/80 dark:hover:bg-input/45\",\n pill: \"rounded-full border border-transparent bg-muted/60 hover:bg-muted\",\n },\n size: {\n sm: \"h-7 min-w-7 gap-0.5 px-1.5 text-[11px] leading-none\",\n default: \"h-8 min-w-8 gap-1 px-2\",\n lg: \"h-9 min-w-9 gap-1.5 px-2.5 text-sm\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n});\n\ntype ToggleGroupItemVariants = VariantProps<typeof toggleGroupItem>;\n\nexport type ToggleGroupItemProps = Omit<JSX.ButtonHTMLAttributes<HTMLButtonElement>, \"class\"> &\n ToggleGroupItemVariants & {\n class?: string;\n value: string;\n children?: ComponentChildren;\n };\n\nexport const ToggleGroupItem = ({\n class: className,\n value,\n variant,\n size,\n disabled,\n children,\n onClick,\n ...rest\n}: ToggleGroupItemProps) => {\n const { values, toggle, disabled: groupDisabled, itemVariant, itemSize } = useToggleGroup();\n const pressed = values.includes(value);\n const isDisabled = groupDisabled || disabled;\n const resolvedVariant = variant ?? itemVariant ?? \"default\";\n const resolvedSize = size ?? itemSize ?? \"default\";\n\n return (\n <button\n type=\"button\"\n data-slot=\"toggle-group-item\"\n data-state={pressed ? \"on\" : \"off\"}\n data-variant={resolvedVariant}\n data-size={resolvedSize}\n aria-pressed={pressed}\n disabled={isDisabled}\n class={cn(\n toggleGroupItem({ variant: resolvedVariant, size: resolvedSize, class: className }),\n )}\n onClick={(event) => {\n if (isDisabled) return;\n toggle(value);\n onClick?.(event);\n }}\n {...rest}\n >\n {children}\n </button>\n );\n};\n","import { ToggleGroup } from \"./ToggleGroup\";\nimport { ToggleGroupItem } from \"./ToggleGroupItem\";\n\nexport { ToggleGroup, ToggleGroupItem };\n\nexport default {\n Root: ToggleGroup,\n Item: ToggleGroupItem,\n};\n"]}
@@ -1,9 +0,0 @@
1
- import { input, Input } from './chunk-6RASPU5N.js';
2
-
3
- // src/components/input/index.ts
4
- var InputVariants = { input };
5
- var input_default = Input;
6
-
7
- export { InputVariants, input_default };
8
- //# sourceMappingURL=chunk-CMBERB5B.js.map
9
- //# sourceMappingURL=chunk-CMBERB5B.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/badge/Badge.tsx","../src/components/badge/index.ts"],"names":[],"mappings":"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","file":"chunk-COPT6I2D.js","sourcesContent":["import { type ComponentChildren, cloneElement, isValidElement, type JSX } from \"preact\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\nimport { cn } from \"../../lib/utils\";\n\nexport const badge = tv({\n base: [\n \"group/badge inline-flex w-fit shrink-0 items-center justify-center gap-1.5 overflow-hidden rounded-full font-medium whitespace-nowrap\",\n \"[&+&]:ms-1.5\",\n \"[&_svg]:pointer-events-none [&_svg]:shrink-0\",\n \"transition-all outline-none focus-visible:ring-3\",\n \"aria-invalid:border-destructive aria-invalid:focus-visible:ring-destructive/20\",\n \"dark:aria-invalid:border-destructive/50 dark:aria-invalid:focus-visible:ring-destructive/40\",\n \"has-data-[icon=inline-end]:pe-1.5 has-data-[icon=inline-start]:ps-1.5\",\n ],\n variants: {\n variant: {\n default: \"bg-foreground text-background focus-visible:ring-outline/50\",\n primary: \"bg-primary text-primary-foreground focus-visible:ring-primary/50\",\n secondary: \"bg-secondary text-secondary-foreground focus-visible:ring-secondary/50\",\n destructive: \"bg-destructive text-destructive-foreground focus-visible:ring-outline/50\",\n outline:\n \"border-border bg-background focus-visible:border-outline focus-visible:ring-outline/50 dark:bg-input/30 border\",\n ghost: \"bg-transparent text-foreground hover:bg-muted focus-visible:ring-outline/50\",\n link: \"h-auto rounded-none border-0 bg-transparent p-0 text-primary underline-offset-4 hover:underline focus-visible:ring-0\",\n info: \"bg-info text-info-foreground focus-visible:ring-info/50\",\n success: \"bg-success text-success-foreground focus-visible:ring-success/50\",\n warning: \"bg-warning text-warning-foreground focus-visible:ring-warning/50\",\n error: \"border border-error/60 bg-error/90 text-error-foreground focus-visible:ring-error/50\",\n },\n size: {\n xxs: \"px-2 py-0 text-[10px] leading-4 [&_svg:not([class*='size-'])]:size-2.5\",\n xs: \"px-2.5 py-0 text-xs leading-4 [&_svg:not([class*='size-'])]:size-3\",\n sm: \"px-2.5 py-0.5 text-xs [&_svg:not([class*='size-'])]:size-3\",\n md: \"px-3 py-0.5 text-sm [&_svg:not([class*='size-'])]:size-4\",\n lg: \"px-4 py-1 text-base [&_svg:not([class*='size-'])]:size-4.5\",\n },\n isLink: { true: \"cursor-pointer\", false: \"\" },\n },\n compoundVariants: [\n { isLink: true, variant: \"default\", className: \"hover:bg-foreground/90\" },\n { isLink: true, variant: \"primary\", className: \"hover:bg-primary/90\" },\n { isLink: true, variant: \"secondary\", className: \"hover:bg-secondary/90\" },\n { isLink: true, variant: \"destructive\", className: \"hover:bg-destructive/90\" },\n { isLink: true, variant: \"outline\", className: \"hover:bg-muted\" },\n { isLink: true, variant: \"ghost\", className: \"hover:bg-muted\" },\n { isLink: true, variant: \"link\", className: \"hover:underline\" },\n { isLink: true, variant: \"info\", className: \"hover:bg-info/90\" },\n { isLink: true, variant: \"success\", className: \"hover:bg-success/90\" },\n { isLink: true, variant: \"warning\", className: \"hover:bg-warning/90\" },\n { isLink: true, variant: \"error\", className: \"hover:bg-error\" },\n ],\n defaultVariants: { variant: \"default\", size: \"md\", isLink: false },\n});\n\ntype BadgeCommon = VariantProps<typeof badge> & {\n class?: string;\n children?: ComponentChildren;\n asChild?: boolean;\n};\n\ntype BadgeAsSpan = BadgeCommon &\n JSX.HTMLAttributes<HTMLSpanElement> & {\n href?: undefined;\n };\n\ntype BadgeAsAnchor = BadgeCommon &\n JSX.AnchorHTMLAttributes<HTMLAnchorElement> & {\n href: string;\n };\n\nexport type BadgeProps = BadgeAsSpan | BadgeAsAnchor;\n\nexport const Badge = ({\n variant,\n size,\n class: className,\n children,\n asChild = false,\n ...rest\n}: BadgeProps) => {\n const resolvedVariant = variant ?? \"default\";\n const resolvedSize = size ?? \"md\";\n const isHref = \"href\" in rest && typeof rest.href === \"string\";\n const isLink = Boolean(isHref);\n\n const resolvedClass = badge({\n variant: resolvedVariant,\n size: resolvedSize,\n isLink,\n class: className,\n });\n\n if (asChild) {\n if (!isValidElement(children)) {\n return null;\n }\n\n const childIsAnchor = children.type === \"a\";\n const childProps = (children.props ?? {}) as JSX.HTMLAttributes<HTMLElement> & {\n class?: string;\n className?: string;\n };\n\n const asChildClass = badge({\n variant: resolvedVariant,\n size: resolvedSize,\n isLink: childIsAnchor,\n class: className,\n });\n\n return cloneElement(children, {\n ...(rest as JSX.HTMLAttributes<HTMLElement>),\n ...childProps,\n class: cn(asChildClass, childProps.class, childProps.className),\n \"data-slot\": \"badge\",\n \"data-variant\": resolvedVariant,\n });\n }\n\n if (isHref) {\n return (\n <a\n class={resolvedClass}\n data-slot=\"badge\"\n data-variant={resolvedVariant}\n {...(rest as JSX.AnchorHTMLAttributes<HTMLAnchorElement>)}\n >\n {children}\n </a>\n );\n }\n\n return (\n <span\n class={resolvedClass}\n data-slot=\"badge\"\n data-variant={resolvedVariant}\n {...(rest as JSX.HTMLAttributes<HTMLSpanElement>)}\n >\n {children}\n </span>\n );\n};\n","import { Badge, badge } from \"./Badge\";\n\nconst BadgeVariants = { badge };\n\nexport { Badge, BadgeVariants };\n\nexport default Badge;\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/label/Label.tsx"],"names":[],"mappings":";;;;AAGO,IAAM,QAAQ,EAAA,CAAG;AAAA,EACtB,IAAA,EAAM;AAAA,IACJ,sDAAA;AAAA,IACA,2DAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,QAAA,EAAU,EAAE,IAAA,EAAM,EAAE,EAAA,EAAI,WAAW,EAAA,EAAI,WAAA,EAAa,EAAA,EAAI,SAAA,EAAU,EAAE;AAAA,EACpE,eAAA,EAAiB,EAAE,IAAA,EAAM,IAAA;AAC3B,CAAC;AAKM,IAAM,KAAA,GAAQ,CAAC,EAAE,IAAA,EAAM,OAAO,SAAA,EAAW,GAAG,MAAK,qBACtD,GAAA;AAAA,EAAC,OAAA;AAAA,EAAA;AAAA,IACC,OAAO,KAAA,CAAM,EAAE,IAAA,EAAM,KAAA,EAAO,WAAiC,CAAA;AAAA,IAC7D,WAAA,EAAU,OAAA;AAAA,IACT,GAAG;AAAA;AACN","file":"chunk-D3DQ4ICC.js","sourcesContent":["import type { JSX } from \"preact\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\n\nexport const label = tv({\n base: [\n \"text-foreground select-none font-medium leading-none\",\n \"peer-disabled:cursor-not-allowed peer-disabled:opacity-70\",\n \"has-[+:disabled]:cursor-not-allowed has-[+:disabled]:opacity-70\",\n ],\n variants: { size: { sm: \"text-sm\", md: \"text-base\", lg: \"text-lg\" } },\n defaultVariants: { size: \"sm\" },\n});\n\nexport type LabelProps = Omit<JSX.LabelHTMLAttributes<HTMLLabelElement>, \"size\"> &\n VariantProps<typeof label>;\n\nexport const Label = ({ size, class: className, ...rest }: LabelProps) => (\n <label\n class={label({ size, class: className as string | undefined })}\n data-slot=\"label\"\n {...rest}\n />\n);\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/kbd/Kbd.tsx","../src/components/kbd/KbdGroup.tsx"],"names":["jsx"],"mappings":";;;;AAGO,IAAM,MAAM,EAAA,CAAG;AAAA,EACpB,IAAA,EAAM;AAAA,IACJ,iGAAA;AAAA,IACA,gGAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI,qDAAA;AAAA,MACJ,EAAA,EAAI;AAAA;AACN,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM;AAAA;AAEV,CAAC,CAAA;AAOM,IAAM,GAAA,GAAM,CAAC,EAAE,KAAA,EAAO,SAAA,EAAW,MAAM,QAAA,EAAU,GAAG,IAAA,EAAK,qBAC9D,GAAA,CAAC,KAAA,EAAA,EAAI,aAAU,KAAA,EAAM,KAAA,EAAO,GAAA,CAAI,EAAE,IAAA,EAAM,KAAA,EAAO,WAAiC,CAAA,EAAI,GAAG,IAAA,EACpF,QAAA,EACH;ACrBK,IAAM,QAAA,GAAW,CAAC,EAAE,KAAA,EAAO,WAAW,QAAA,EAAU,GAAG,MAAK,qBAC7DA,IAAC,MAAA,EAAA,EAAK,WAAA,EAAU,aAAY,KAAA,EAAO,EAAA,CAAG,kCAAkC,SAAS,CAAA,EAAI,GAAG,IAAA,EACrF,QAAA,EACH","file":"chunk-ERBGZZ2U.js","sourcesContent":["import type { ComponentChildren, JSX } from \"preact\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\n\nexport const kbd = tv({\n base: [\n \"pointer-events-none inline-flex select-none items-center justify-center gap-1 whitespace-nowrap\",\n \"rounded-md border border-border bg-muted font-mono font-medium text-muted-foreground shadow-xs\",\n \"data-[icon=inline-end]:translate-x-0.5\",\n ],\n variants: {\n size: {\n sm: \"h-5 min-h-5 min-w-5 px-1.5 text-[11px] leading-none\",\n md: \"h-6 min-h-6 min-w-6 px-2 text-xs leading-none\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\nexport type KbdProps = Omit<JSX.HTMLAttributes<HTMLElement>, \"size\"> &\n VariantProps<typeof kbd> & {\n children?: ComponentChildren;\n };\n\nexport const Kbd = ({ class: className, size, children, ...rest }: KbdProps) => (\n <kbd data-slot=\"kbd\" class={kbd({ size, class: className as string | undefined })} {...rest}>\n {children}\n </kbd>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type KbdGroupProps = JSX.HTMLAttributes<HTMLSpanElement> & {\n children?: ComponentChildren;\n};\n\nexport const KbdGroup = ({ class: className, children, ...rest }: KbdGroupProps) => (\n <span data-slot=\"kbd-group\" class={cn(\"inline-flex items-center gap-1\", className)} {...rest}>\n {children}\n </span>\n);\n"]}
@@ -1 +0,0 @@
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":";;;;AAGO,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;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,OAAO,YAAA,CAAa,EAAE,IAAA,EAAM,KAAA,EAAO,WAAiC,CAAA;AAAA,MACpE,WAAA,EAAU,eAAA;AAAA,MACT,GAAG,IAAA;AAAA,MAEH;AAAA;AAAA,GACH;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;AC7EK,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-G6TV6TF7.js","sourcesContent":["import type { ComponentChildren, JSX } from \"preact\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\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\n class={nativeSelect({ size, class: className as string | undefined })}\n data-slot=\"native-select\"\n {...rest}\n >\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 +0,0 @@
1
- {"version":3,"sources":["../src/components/item/Item.tsx","../src/components/item/ItemActions.tsx","../src/components/item/ItemContent.tsx","../src/components/item/ItemDescription.tsx","../src/components/item/ItemFooter.tsx","../src/components/item/ItemGroup.tsx","../src/components/item/ItemHeader.tsx","../src/components/item/ItemMedia.tsx","../src/components/item/ItemSeparator.tsx","../src/components/item/ItemTitle.tsx"],"names":["jsx","tv"],"mappings":"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","file":"chunk-GIU6BZTW.js","sourcesContent":["import { type ComponentChildren, cloneElement, isValidElement, type JSX } from \"preact\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\nimport { cn } from \"../../lib/utils\";\n\nexport const item = tv({\n base: [\n \"group/item flex flex-wrap items-center rounded-md border border-transparent text-sm outline-none transition-[color,background-color,box-shadow] duration-100\",\n \"[a]:transition-colors [a]:hover:bg-accent/50\",\n \"focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50\",\n ],\n variants: {\n variant: {\n default: \"bg-transparent hover:bg-muted/40\",\n outline: \"border-border hover:bg-accent/35\",\n muted: \"bg-muted/50 hover:bg-muted/65\",\n },\n size: {\n default: \"gap-4 p-4\",\n sm: \"gap-2.5 px-4 py-3\",\n xs: \"gap-2 px-3 py-2 text-xs\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n});\n\nexport type ItemProps = Omit<JSX.HTMLAttributes<HTMLDivElement>, \"size\"> &\n VariantProps<typeof item> & {\n children?: ComponentChildren;\n asChild?: boolean;\n };\n\nexport const Item = ({\n variant,\n size,\n asChild = false,\n class: className,\n children,\n ...rest\n}: ItemProps) => {\n const resolvedVariant = variant ?? \"default\";\n const resolvedSize = size ?? \"default\";\n const resolvedClassName = item({\n variant: resolvedVariant,\n size: resolvedSize,\n class: className as string | undefined,\n });\n\n if (asChild) {\n if (!isValidElement(children)) {\n return null;\n }\n\n const childProps = (children.props ?? {}) as JSX.HTMLAttributes<HTMLElement> & {\n class?: string;\n className?: string;\n };\n\n return cloneElement(children, {\n ...childProps,\n ...(rest as JSX.HTMLAttributes<HTMLElement>),\n class: cn(childProps.class, childProps.className, resolvedClassName),\n \"data-slot\": \"item\",\n \"data-variant\": resolvedVariant,\n \"data-size\": resolvedSize,\n });\n }\n\n return (\n <div\n data-slot=\"item\"\n data-variant={resolvedVariant}\n data-size={resolvedSize}\n class={resolvedClassName}\n {...rest}\n >\n {children}\n </div>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type ItemActionsProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const ItemActions = ({ class: className, children, ...rest }: ItemActionsProps) => (\n <div data-slot=\"item-actions\" class={cn(\"flex items-center gap-2\", className)} {...rest}>\n {children}\n </div>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type ItemContentProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const ItemContent = ({ class: className, children, ...rest }: ItemContentProps) => (\n <div\n data-slot=\"item-content\"\n class={cn(\"flex flex-1 flex-col gap-1 [&+[data-slot=item-content]]:flex-none\", className)}\n {...rest}\n >\n {children}\n </div>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type ItemDescriptionProps = JSX.HTMLAttributes<HTMLParagraphElement> & {\n children?: ComponentChildren;\n};\n\nexport const ItemDescription = ({ class: className, children, ...rest }: ItemDescriptionProps) => (\n <p\n data-slot=\"item-description\"\n class={cn(\n \"text-muted-foreground line-clamp-2 text-balance text-sm font-normal leading-normal\",\n \"[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4\",\n className,\n )}\n {...rest}\n >\n {children}\n </p>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type ItemFooterProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const ItemFooter = ({ class: className, children, ...rest }: ItemFooterProps) => (\n <div\n data-slot=\"item-footer\"\n class={cn(\"flex basis-full items-center justify-between gap-2\", className)}\n {...rest}\n >\n {children}\n </div>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type ItemGroupProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const ItemGroup = ({ class: className, children, ...rest }: ItemGroupProps) => (\n <div\n role=\"list\"\n data-slot=\"item-group\"\n class={cn(\"group/item-group flex flex-col\", className)}\n {...rest}\n >\n {children}\n </div>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type ItemHeaderProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const ItemHeader = ({ class: className, children, ...rest }: ItemHeaderProps) => (\n <div\n data-slot=\"item-header\"\n class={cn(\"flex basis-full items-center justify-between gap-2\", className)}\n {...rest}\n >\n {children}\n </div>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\nimport { cn } from \"../../lib/utils\";\n\nexport const itemMedia = tv({\n base: [\n \"flex shrink-0 items-center justify-center gap-2\",\n \"group-has-[[data-slot=item-description]]/item:translate-y-0.5 group-has-[[data-slot=item-description]]/item:self-start\",\n \"[&_svg]:pointer-events-none\",\n ],\n variants: {\n variant: {\n default: \"bg-transparent\",\n icon: \"bg-muted size-8 rounded-sm border [&_svg:not([class*='size-'])]:size-4\",\n image: \"size-10 overflow-hidden rounded-sm [&_img]:size-full [&_img]:object-cover\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n});\n\nexport type ItemMediaProps = JSX.HTMLAttributes<HTMLDivElement> &\n VariantProps<typeof itemMedia> & {\n children?: ComponentChildren;\n };\n\nexport const ItemMedia = ({ variant, class: className, children, ...rest }: ItemMediaProps) => {\n const resolvedVariant = variant ?? \"default\";\n return (\n <div\n data-slot=\"item-media\"\n data-variant={resolvedVariant}\n class={cn(itemMedia({ variant: resolvedVariant, class: className as string | undefined }))}\n {...rest}\n >\n {children}\n </div>\n );\n};\n","import { cn } from \"../../lib/utils\";\nimport { Separator, type SeparatorProps } from \"../separator/Separator\";\n\nexport const ItemSeparator = ({ class: className, ...rest }: SeparatorProps) => (\n <Separator\n orientation=\"horizontal\"\n class={cn(\"my-0\", className)}\n data-slot=\"item-separator\"\n {...rest}\n />\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type ItemTitleProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const ItemTitle = ({ class: className, children, ...rest }: ItemTitleProps) => (\n <div\n data-slot=\"item-title\"\n class={cn(\"flex w-fit items-center gap-2 text-sm font-medium leading-snug\", className)}\n {...rest}\n >\n {children}\n </div>\n);\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/tabs/Tabs.tsx","../src/components/tabs/TabsContent.tsx","../src/components/tabs/TabsList.tsx","../src/components/tabs/TabsTrigger.tsx","../src/components/tabs/index.ts"],"names":["jsx"],"mappings":";;;;;;;AAeA,IAAM,WAAA,GAAc,cAAuC,IAAI,CAAA;AAExD,IAAM,UAAU,MAAM;AAC3B,EAAA,MAAM,OAAA,GAAU,WAAW,WAAW,CAAA;AACtC,EAAA,IAAI,CAAC,OAAA,EAAS,MAAM,IAAI,MAAM,6CAA6C,CAAA;AAC3E,EAAA,OAAO,OAAA;AACT,CAAA;AAiBA,IAAM,YAAA,uBAAmB,GAAA,EAA+B;AAExD,IAAM,oBAAA,GAAuB,CAAC,GAAA,EAAa,YAAA,KAA4C;AACrF,EAAA,MAAM,QAAA,GAAW,YAAA,CAAa,GAAA,CAAI,GAAG,CAAA;AACrC,EAAA,IAAI,UAAU,OAAO,QAAA;AAErB,EAAA,MAAM,OAAA,GAA6B;AAAA,IACjC,KAAA,EAAO,YAAA;AAAA,IACP,WAAA,sBAAiB,GAAA,EAAoB;AAAA,IACrC,cAAA,EAAgB;AAAA,GAClB;AACA,EAAA,YAAA,CAAa,GAAA,CAAI,KAAK,OAAO,CAAA;AAC7B,EAAA,OAAO,OAAA;AACT,CAAA;AAEO,IAAM,OAAO,CAAC;AAAA,EACnB,YAAA;AAAA,EACA,OAAA;AAAA,EACA,WAAA,GAAc,YAAA;AAAA,EACd,KAAA,EAAO,SAAA;AAAA,EACP,QAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAiB;AACf,EAAA,MAAM,CAAC,KAAA,EAAO,aAAa,CAAA,GAAI,SAAS,YAAY,CAAA;AACpD,EAAA,MAAM,MAAA,GAAS,QAAQ,MAAM,eAAA,CAAgB,MAAM,CAAA,EAAE,EAAG,EAAE,CAAA;AAC1D,EAAA,MAAM,SAAA,GAAY,OAAA,CAAQ,MAAM,CAAC,QAAA,KAAqB,CAAA,EAAG,MAAM,CAAA,SAAA,EAAY,QAAQ,CAAA,CAAA,EAAI,CAAC,MAAM,CAAC,CAAA;AAC/F,EAAA,MAAM,SAAA,GAAY,OAAA,CAAQ,MAAM,CAAC,QAAA,KAAqB,CAAA,EAAG,MAAM,CAAA,SAAA,EAAY,QAAQ,CAAA,CAAA,EAAI,CAAC,MAAM,CAAC,CAAA;AAC/F,EAAA,MAAM,QAAA,GAAW,CAAC,IAAA,KAAiB;AACjC,IAAA,IAAI,CAAC,OAAA,EAAS;AACZ,MAAA,aAAA,CAAc,IAAI,CAAA;AAClB,MAAA;AAAA,IACF;AAEA,IAAA,MAAM,SAAA,GAAY,oBAAA,CAAqB,OAAA,EAAS,KAAK,CAAA;AACrD,IAAA,IAAI,SAAA,CAAU,UAAU,IAAA,EAAM;AAE9B,IAAA,SAAA,CAAU,KAAA,GAAQ,IAAA;AAClB,IAAA,aAAA,CAAc,IAAI,CAAA;AAClB,IAAA,SAAA,CAAU,YAAY,OAAA,CAAQ,CAAC,UAAA,KAAe,UAAA,CAAW,IAAI,CAAC,CAAA;AAAA,EAChE,CAAA;AAEA,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,OAAA,EAAS;AAEd,IAAA,MAAM,SAAA,GAAY,oBAAA,CAAqB,OAAA,EAAS,YAAY,CAAA;AAC5D,IAAA,SAAA,CAAU,cAAA,IAAkB,CAAA;AAC5B,IAAA,aAAA,CAAc,UAAU,KAAK,CAAA;AAE7B,IAAA,MAAM,UAAA,GAA6B,CAAC,SAAA,KAAc;AAChD,MAAA,aAAA,CAAc,CAAC,YAAA,KAAiB;AAC9B,QAAA,IAAI,YAAA,KAAiB,WAAW,OAAO,YAAA;AACvC,QAAA,OAAO,SAAA;AAAA,MACT,CAAC,CAAA;AAAA,IACH,CAAA;AACA,IAAA,SAAA,CAAU,WAAA,CAAY,IAAI,UAAU,CAAA;AAEpC,IAAA,OAAO,MAAM;AACX,MAAA,SAAA,CAAU,WAAA,CAAY,OAAO,UAAU,CAAA;AACvC,MAAA,SAAA,CAAU,cAAA,IAAkB,CAAA;AAC5B,MAAA,IAAI,SAAA,CAAU,kBAAkB,CAAA,EAAG;AACjC,QAAA,YAAA,CAAa,OAAO,OAAO,CAAA;AAAA,MAC7B;AAAA,IACF,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,YAAA,EAAc,OAAO,CAAC,CAAA;AAE1B,EAAA,uBACE,GAAA,CAAC,WAAA,CAAY,QAAA,EAAZ,EAAqB,KAAA,EAAO,EAAE,KAAA,EAAO,QAAA,EAAU,WAAA,EAAa,MAAA,EAAQ,SAAA,EAAW,SAAA,EAAU,EACxF,QAAA,kBAAA,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAO,EAAA,CAAG,YAAA,EAAc,SAAS,CAAA;AAAA,MACjC,WAAA,EAAU,MAAA;AAAA,MACV,kBAAA,EAAkB,WAAA;AAAA,MACjB,GAAG,IAAA;AAAA,MAEH;AAAA;AAAA,GACH,EACF,CAAA;AAEJ;ACzGO,IAAM,cAAc,CAAC;AAAA,EAC1B,KAAA;AAAA,EACA,UAAA,GAAa,KAAA;AAAA,EACb,KAAA,EAAO,SAAA;AAAA,EACP,QAAA;AAAA,EACA,EAAA,EAAI,MAAA;AAAA,EACJ,GAAG;AACL,CAAA,KAAwB;AACtB,EAAA,MAAM,OAAO,OAAA,EAAQ;AACrB,EAAA,MAAM,MAAA,GAAS,KAAK,KAAA,KAAU,KAAA;AAC9B,EAAA,MAAM,EAAA,GAAK,MAAA,IAAU,IAAA,CAAK,SAAA,CAAU,KAAK,CAAA;AACzC,EAAA,MAAM,UAAA,GAAa,IAAA,CAAK,SAAA,CAAU,KAAK,CAAA;AAEvC,EAAA,IAAI,CAAC,MAAA,IAAU,CAAC,UAAA,EAAY,OAAO,IAAA;AAEnC,EAAA,uBACEA,GAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAK,UAAA;AAAA,MACL,EAAA;AAAA,MACA,iBAAA,EAAiB,UAAA;AAAA,MACjB,aAAA,EAAa,CAAC,MAAA,IAAU,MAAA;AAAA,MACxB,WAAA,EAAU,cAAA;AAAA,MACV,YAAA,EAAY,SAAS,QAAA,GAAW,UAAA;AAAA,MAChC,KAAA,EAAO,EAAA;AAAA,QACL,4FAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,QAAA,EAAU,CAAA;AAAA,MACV,MAAA,EAAQ,CAAC,MAAA,IAAU,UAAA,GAAa,IAAA,GAAO,MAAA;AAAA,MACtC,GAAG,IAAA;AAAA,MAEH;AAAA;AAAA,GACH;AAEJ;ACvCA,IAAM,WAAW,EAAA,CAAG;AAAA,EAClB,IAAA,EAAM;AAAA,IACJ,2HAAA;AAAA,IACA,4DAAA;AAAA,IACA,oGAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,QAAA,EAAU;AAAA,IACR,OAAA,EAAS;AAAA,MACP,OAAA,EAAS,EAAA;AAAA,MACT,IAAA,EAAM;AAAA;AACR,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,OAAA,EAAS;AAAA;AAEb,CAAC,CAAA;AAOM,IAAM,QAAA,GAAW,CAAC,EAAE,OAAA,EAAS,OAAO,SAAA,EAAW,QAAA,EAAU,GAAG,IAAA,EAAK,KAAqB;AAC3F,EAAA,MAAM,OAAO,OAAA,EAAQ;AAErB,EAAA,uBACEA,GAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAK,SAAA;AAAA,MACL,oBAAkB,IAAA,CAAK,WAAA;AAAA,MACvB,OAAO,EAAA,CAAG,QAAA,CAAS,EAAE,OAAA,EAAS,GAAG,SAAS,CAAA;AAAA,MAC1C,WAAA,EAAU,WAAA;AAAA,MACV,gBAAc,OAAA,IAAW,SAAA;AAAA,MACzB,oBAAkB,IAAA,CAAK,WAAA;AAAA,MACtB,GAAG,IAAA;AAAA,MAEH;AAAA;AAAA,GACH;AAEJ;ACnCO,IAAM,cAAc,CAAC;AAAA,EAC1B,KAAA;AAAA,EACA,KAAA,EAAO,SAAA;AAAA,EACP,QAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA;AAAA,EACA,EAAA,EAAI,MAAA;AAAA,EACJ,GAAG;AACL,CAAA,KAAwB;AACtB,EAAA,MAAM,OAAO,OAAA,EAAQ;AACrB,EAAA,MAAM,MAAA,GAAS,KAAK,KAAA,KAAU,KAAA;AAC9B,EAAA,MAAM,EAAA,GAAK,MAAA,IAAU,IAAA,CAAK,SAAA,CAAU,KAAK,CAAA;AACzC,EAAA,MAAM,UAAA,GAAa,IAAA,CAAK,SAAA,CAAU,KAAK,CAAA;AAEvC,EAAA,uBACEA,GAAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAK,QAAA;AAAA,MACL,IAAA,EAAK,KAAA;AAAA,MACL,EAAA;AAAA,MACA,eAAA,EAAe,UAAA;AAAA,MACf,KAAA,EAAO,EAAA;AAAA,QACL,qPAAA;AAAA,QACA,yGAAA;AAAA,QACA,oGAAA;AAAA,QACA,gKAAA;AAAA,QACA,6EAAA;AAAA,QACA,0EAAA;AAAA,QACA,8NAAA;AAAA,QACA,qIAAA;AAAA,QACA,oQAAA;AAAA,QACA,mOAAA;AAAA,QACA,mFAAA;AAAA,QACA,yQAAA;AAAA,QACA,uJAAA;AAAA,QACA,6JAAA;AAAA,QACA,6JAAA;AAAA,QACA,6EAAA;AAAA,QACA,4KAAA;AAAA,QACA,iKAAA;AAAA,QACA,iJAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,WAAA,EAAU,cAAA;AAAA,MACV,YAAA,EAAY,SAAS,QAAA,GAAW,UAAA;AAAA,MAChC,aAAA,EAAa,SAAS,MAAA,GAAS,MAAA;AAAA,MAC/B,YAAA,EAAY,KAAA;AAAA,MACZ,oBAAkB,IAAA,CAAK,WAAA;AAAA,MACvB,eAAA,EAAe,MAAA;AAAA,MACf,QAAA,EAAU,SAAS,CAAA,GAAI,EAAA;AAAA,MACvB,OAAA,EAAS,CAAC,KAAA,KAAU;AAClB,QAAA,IAAA,CAAK,SAAS,KAAK,CAAA;AACnB,QAAA,OAAA,GAAU,KAAK,CAAA;AAAA,MACjB,CAAA;AAAA,MACA,SAAA,EAAW,CAAC,KAAA,KAAU;AACpB,QAAA,SAAA,GAAY,KAAK,CAAA;AACjB,QAAA,IAAI,MAAM,gBAAA,EAAkB;AAC5B,QAAA,IAAI,CAAC,CAAC,WAAA,EAAa,YAAA,EAAc,SAAA,EAAW,WAAA,EAAa,MAAA,EAAQ,KAAK,CAAA,CAAE,QAAA,CAAS,KAAA,CAAM,GAAG,CAAA;AACxF,UAAA;AAEF,QAAA,MAAM,OAAA,GAAU,KAAA,CAAM,aAAA,CAAc,OAAA,CAAQ,kBAAkB,CAAA;AAC9D,QAAA,IAAI,CAAC,OAAA,EAAS;AAEd,QAAA,MAAM,WAAW,KAAA,CAAM,IAAA;AAAA,UACrB,OAAA,CAAQ,iBAAoC,8BAA8B;AAAA,SAC5E;AACA,QAAA,MAAM,YAAA,GAAe,QAAA,CAAS,OAAA,CAAQ,KAAA,CAAM,aAAa,CAAA;AACzD,QAAA,IAAI,YAAA,KAAiB,EAAA,IAAM,QAAA,CAAS,MAAA,KAAW,CAAA,EAAG;AAElD,QAAA,MAAM,UAAA,GAAa,KAAK,WAAA,KAAgB,YAAA;AACxC,QAAA,IAAI,SAAA,GAAY,YAAA;AAEhB,QAAA,IAAI,KAAA,CAAM,GAAA,KAAQ,MAAA,EAAQ,SAAA,GAAY,CAAA;AACtC,QAAA,IAAI,KAAA,CAAM,GAAA,KAAQ,KAAA,EAAO,SAAA,GAAY,SAAS,MAAA,GAAS,CAAA;AACvD,QAAA,IAAI,KAAA,CAAM,QAAQ,YAAA,IAAgB,UAAA;AAChC,UAAA,SAAA,GAAA,CAAa,YAAA,GAAe,KAAK,QAAA,CAAS,MAAA;AAC5C,QAAA,IAAI,KAAA,CAAM,QAAQ,WAAA,IAAe,UAAA;AAC/B,UAAA,SAAA,GAAA,CAAa,YAAA,GAAe,CAAA,GAAI,QAAA,CAAS,MAAA,IAAU,QAAA,CAAS,MAAA;AAC9D,QAAA,IAAI,KAAA,CAAM,GAAA,KAAQ,WAAA,IAAe,CAAC,UAAA;AAChC,UAAA,SAAA,GAAA,CAAa,YAAA,GAAe,KAAK,QAAA,CAAS,MAAA;AAC5C,QAAA,IAAI,KAAA,CAAM,GAAA,KAAQ,SAAA,IAAa,CAAC,UAAA;AAC9B,UAAA,SAAA,GAAA,CAAa,YAAA,GAAe,CAAA,GAAI,QAAA,CAAS,MAAA,IAAU,QAAA,CAAS,MAAA;AAE9D,QAAA,IAAI,cAAc,YAAA,EAAc;AAChC,QAAA,KAAA,CAAM,cAAA,EAAe;AACrB,QAAA,MAAM,IAAA,GAAO,SAAS,SAAS,CAAA;AAC/B,QAAA,IAAA,CAAK,KAAA,EAAM;AACX,QAAA,MAAM,SAAA,GAAY,IAAA,CAAK,YAAA,CAAa,YAAY,CAAA;AAChD,QAAA,IAAI,SAAA,EAAW,IAAA,CAAK,QAAA,CAAS,SAAS,CAAA;AAAA,MACxC,CAAA;AAAA,MACC,GAAG,IAAA;AAAA,MAEH;AAAA;AAAA,GACH;AAEJ;;;AChGA,IAAO,YAAA,GAAQ;AAAA,EACb,IAAA,EAAM,IAAA;AAAA,EACN,IAAA,EAAM,QAAA;AAAA,EACN,OAAA,EAAS,WAAA;AAAA,EACT,OAAA,EAAS;AACX","file":"chunk-HCTZJYHK.js","sourcesContent":["import type { ComponentChildren, JSX } from \"preact\";\nimport { createContext } from \"preact\";\nimport { useContext, useEffect, useMemo, useState } from \"preact/hooks\";\nimport { createIdFactory } from \"../../lib/interactive\";\nimport { cn } from \"../../lib/utils\";\n\ntype TabsContextValue = {\n value: string;\n setValue: (next: string) => void;\n orientation: \"horizontal\" | \"vertical\";\n baseId: string;\n triggerId: (tabValue: string) => string;\n contentId: (tabValue: string) => string;\n};\n\nconst TabsContext = createContext<TabsContextValue | null>(null);\n\nexport const useTabs = () => {\n const context = useContext(TabsContext);\n if (!context) throw new Error(\"Tabs subcomponents must be used within Tabs\");\n return context;\n};\n\nexport type TabsProps = JSX.HTMLAttributes<HTMLDivElement> & {\n defaultValue: string;\n syncKey?: string;\n orientation?: \"horizontal\" | \"vertical\";\n children?: ComponentChildren;\n};\n\ntype SyncSubscriber = (nextValue: string) => void;\n\ntype SyncRegistryEntry = {\n value: string;\n subscribers: Set<SyncSubscriber>;\n instancesCount: number;\n};\n\nconst syncRegistry = new Map<string, SyncRegistryEntry>();\n\nconst getOrCreateSyncEntry = (key: string, initialValue: string): SyncRegistryEntry => {\n const existing = syncRegistry.get(key);\n if (existing) return existing;\n\n const created: SyncRegistryEntry = {\n value: initialValue,\n subscribers: new Set<SyncSubscriber>(),\n instancesCount: 0,\n };\n syncRegistry.set(key, created);\n return created;\n};\n\nexport const Tabs = ({\n defaultValue,\n syncKey,\n orientation = \"horizontal\",\n class: className,\n children,\n ...rest\n}: TabsProps) => {\n const [value, setLocalValue] = useState(defaultValue);\n const baseId = useMemo(() => createIdFactory(\"tabs\")(), []);\n const triggerId = useMemo(() => (tabValue: string) => `${baseId}-trigger-${tabValue}`, [baseId]);\n const contentId = useMemo(() => (tabValue: string) => `${baseId}-content-${tabValue}`, [baseId]);\n const setValue = (next: string) => {\n if (!syncKey) {\n setLocalValue(next);\n return;\n }\n\n const syncEntry = getOrCreateSyncEntry(syncKey, value);\n if (syncEntry.value === next) return;\n\n syncEntry.value = next;\n setLocalValue(next);\n syncEntry.subscribers.forEach((subscriber) => subscriber(next));\n };\n\n useEffect(() => {\n if (!syncKey) return;\n\n const syncEntry = getOrCreateSyncEntry(syncKey, defaultValue);\n syncEntry.instancesCount += 1;\n setLocalValue(syncEntry.value);\n\n const subscriber: SyncSubscriber = (nextValue) => {\n setLocalValue((currentValue) => {\n if (currentValue === nextValue) return currentValue;\n return nextValue;\n });\n };\n syncEntry.subscribers.add(subscriber);\n\n return () => {\n syncEntry.subscribers.delete(subscriber);\n syncEntry.instancesCount -= 1;\n if (syncEntry.instancesCount <= 0) {\n syncRegistry.delete(syncKey);\n }\n };\n }, [defaultValue, syncKey]);\n\n return (\n <TabsContext.Provider value={{ value, setValue, orientation, baseId, triggerId, contentId }}>\n <div\n class={cn(\"group/tabs\", className)}\n data-slot=\"tabs\"\n data-orientation={orientation}\n {...rest}\n >\n {children}\n </div>\n </TabsContext.Provider>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { useTabs } from \"./Tabs\";\n\nexport type TabsContentProps = JSX.HTMLAttributes<HTMLDivElement> & {\n value: string;\n forceMount?: boolean;\n children?: ComponentChildren;\n};\n\nexport const TabsContent = ({\n value,\n forceMount = false,\n class: className,\n children,\n id: idProp,\n ...rest\n}: TabsContentProps) => {\n const tabs = useTabs();\n const active = tabs.value === value;\n const id = idProp ?? tabs.contentId(value);\n const labelledBy = tabs.triggerId(value);\n\n if (!active && !forceMount) return null;\n\n return (\n <div\n role=\"tabpanel\"\n id={id}\n aria-labelledby={labelledBy}\n aria-hidden={!active || undefined}\n data-slot=\"tabs-content\"\n data-state={active ? \"active\" : \"inactive\"}\n class={cn(\n \"mt-2 outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n className,\n )}\n tabIndex={0}\n hidden={!active && forceMount ? true : undefined}\n {...rest}\n >\n {children}\n </div>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\nimport { cn } from \"../../lib/utils\";\nimport { useTabs } from \"./Tabs\";\n\nconst tabsList = tv({\n base: [\n \"group/tabs-list inline-flex w-fit items-stretch justify-center gap-0.5 rounded-md bg-muted/80 p-0.5 text-muted-foreground\",\n \"ring-1 ring-inset ring-black/[0.04] dark:ring-white/[0.06]\",\n \"group-data-[orientation=horizontal]/tabs:h-9 group-data-[orientation=horizontal]/tabs:rounded-full\",\n \"group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col group-data-[orientation=vertical]/tabs:rounded-xl group-data-[orientation=vertical]/tabs:gap-0.5 group-data-[orientation=vertical]/tabs:p-1\",\n ],\n variants: {\n variant: {\n default: \"\",\n line: \"gap-1 rounded-none bg-transparent p-0 ring-0 group-data-[orientation=horizontal]/tabs:rounded-none\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n});\n\nexport type TabsListProps = JSX.HTMLAttributes<HTMLDivElement> &\n VariantProps<typeof tabsList> & {\n children?: ComponentChildren;\n };\n\nexport const TabsList = ({ variant, class: className, children, ...rest }: TabsListProps) => {\n const tabs = useTabs();\n\n return (\n <div\n role=\"tablist\"\n aria-orientation={tabs.orientation}\n class={cn(tabsList({ variant }), className)}\n data-slot=\"tabs-list\"\n data-variant={variant ?? \"default\"}\n data-orientation={tabs.orientation}\n {...rest}\n >\n {children}\n </div>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { useTabs } from \"./Tabs\";\n\nexport type TabsTriggerProps = JSX.ButtonHTMLAttributes<HTMLButtonElement> & {\n value: string;\n children?: ComponentChildren;\n};\n\nexport const TabsTrigger = ({\n value,\n class: className,\n children,\n onClick,\n onKeyDown,\n id: idProp,\n ...rest\n}: TabsTriggerProps) => {\n const tabs = useTabs();\n const active = tabs.value === value;\n const id = idProp ?? tabs.triggerId(value);\n const controlsId = tabs.contentId(value);\n\n return (\n <button\n type=\"button\"\n role=\"tab\"\n id={id}\n aria-controls={controlsId}\n class={cn(\n \"relative inline-flex h-full min-h-0 flex-1 items-center justify-center gap-1.5 border border-transparent px-3 py-1 text-sm whitespace-nowrap text-muted-foreground transition-[color,box-shadow,background-color,font-weight] duration-200 ease-out\",\n \"group-data-[orientation=horizontal]/tabs:rounded-full group-data-[orientation=vertical]/tabs:rounded-md\",\n \"group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start\",\n \"hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background\",\n \"disabled:pointer-events-none disabled:opacity-50 dark:hover:text-foreground\",\n \"group-data-[variant=default]/tabs-list:data-[state=inactive]:font-medium\",\n \"group-data-[variant=default]/tabs-list:data-[state=active]:bg-background group-data-[variant=default]/tabs-list:data-[state=active]:font-semibold group-data-[variant=default]/tabs-list:data-[state=active]:text-foreground\",\n \"group-data-[variant=default]/tabs-list:data-[state=active]:shadow-[0_1px_2px_-0.5px_rgb(0_0_0/0.06),0_1px_3px_-1px_rgb(0_0_0/0.08)]\",\n \"dark:group-data-[variant=default]/tabs-list:data-[state=active]:shadow-[0_1px_2px_-0.5px_rgb(0_0_0/0.35)] dark:group-data-[variant=default]/tabs-list:data-[state=active]:ring-1 dark:group-data-[variant=default]/tabs-list:data-[state=active]:ring-white/[0.08]\",\n \"group-data-[variant=line]/tabs-list:rounded-none group-data-[variant=line]/tabs-list:px-0 group-data-[variant=line]/tabs-list:data-[state=active]:shadow-none dark:group-data-[variant=line]/tabs-list:data-[state=active]:ring-0\",\n \"[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n \"group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:font-semibold group-data-[variant=line]/tabs-list:data-[state=active]:text-foreground\",\n \"group-data-[variant=line]/tabs-list:data-[state=inactive]:font-normal group-data-[variant=line]/tabs-list:data-[state=inactive]:text-muted-foreground\",\n \"dark:group-data-[variant=line]/tabs-list:data-[state=active]:border-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent\",\n \"dark:group-data-[variant=default]/tabs-list:data-[state=active]:bg-input/30 dark:group-data-[variant=default]/tabs-list:data-[state=active]:text-foreground\",\n \"after:absolute after:bg-foreground after:opacity-0 after:transition-opacity\",\n \"group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5\",\n \"group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5\",\n \"group-data-[variant=line]/tabs-list:data-[state=active]:after:h-[2px] group-data-[variant=line]/tabs-list:data-[state=active]:after:opacity-100\",\n className,\n )}\n data-slot=\"tabs-trigger\"\n data-state={active ? \"active\" : \"inactive\"}\n data-active={active ? \"true\" : undefined}\n data-value={value}\n data-orientation={tabs.orientation}\n aria-selected={active}\n tabIndex={active ? 0 : -1}\n onClick={(event) => {\n tabs.setValue(value);\n onClick?.(event);\n }}\n onKeyDown={(event) => {\n onKeyDown?.(event);\n if (event.defaultPrevented) return;\n if (![\"ArrowLeft\", \"ArrowRight\", \"ArrowUp\", \"ArrowDown\", \"Home\", \"End\"].includes(event.key))\n return;\n\n const tabList = event.currentTarget.closest('[role=\"tablist\"]');\n if (!tabList) return;\n\n const triggers = Array.from(\n tabList.querySelectorAll<HTMLButtonElement>('[role=\"tab\"]:not([disabled])'),\n );\n const currentIndex = triggers.indexOf(event.currentTarget);\n if (currentIndex === -1 || triggers.length === 0) return;\n\n const horizontal = tabs.orientation === \"horizontal\";\n let nextIndex = currentIndex;\n\n if (event.key === \"Home\") nextIndex = 0;\n if (event.key === \"End\") nextIndex = triggers.length - 1;\n if (event.key === \"ArrowRight\" && horizontal)\n nextIndex = (currentIndex + 1) % triggers.length;\n if (event.key === \"ArrowLeft\" && horizontal)\n nextIndex = (currentIndex - 1 + triggers.length) % triggers.length;\n if (event.key === \"ArrowDown\" && !horizontal)\n nextIndex = (currentIndex + 1) % triggers.length;\n if (event.key === \"ArrowUp\" && !horizontal)\n nextIndex = (currentIndex - 1 + triggers.length) % triggers.length;\n\n if (nextIndex === currentIndex) return;\n event.preventDefault();\n const next = triggers[nextIndex];\n next.focus();\n const nextValue = next.getAttribute(\"data-value\");\n if (nextValue) tabs.setValue(nextValue);\n }}\n {...rest}\n >\n {children}\n </button>\n );\n};\n","import { Tabs } from \"./Tabs\";\nimport { TabsContent } from \"./TabsContent\";\nimport { TabsList } from \"./TabsList\";\nimport { TabsTrigger } from \"./TabsTrigger\";\n\nexport { Tabs, TabsContent, TabsList, TabsTrigger };\n\nexport default {\n Root: Tabs,\n List: TabsList,\n Trigger: TabsTrigger,\n Content: TabsContent,\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/alert-dialog/AlertDialog.tsx","../src/components/alert-dialog/AlertDialogAction.tsx","../src/components/alert-dialog/AlertDialogCancel.tsx","../src/components/alert-dialog/AlertDialogContent.tsx","../src/components/alert-dialog/AlertDialogDescription.tsx","../src/components/alert-dialog/AlertDialogFooter.tsx","../src/components/alert-dialog/AlertDialogHeader.tsx","../src/components/alert-dialog/AlertDialogMedia.tsx","../src/components/alert-dialog/AlertDialogTitle.tsx","../src/components/alert-dialog/AlertDialogTrigger.tsx","../src/components/alert-dialog/index.ts"],"names":["jsx"],"mappings":"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","file":"chunk-JSHUWI3C.js","sourcesContent":["import type { ComponentChildren } from \"preact\";\nimport { Dialog, type DialogProps } from \"../dialog/Dialog\";\n\nexport type AlertDialogProps = DialogProps & { children?: ComponentChildren };\n\nexport const AlertDialog = ({ children, ...rest }: AlertDialogProps) => (\n <Dialog data-slot=\"alert-dialog\" lockBodyScroll {...rest}>\n {children}\n </Dialog>\n);\n","import type { ComponentChildren } from \"preact\";\nimport type { VariantProps } from \"tailwind-variants\";\nimport { cn } from \"../../lib/utils\";\nimport { button } from \"../button/Button\";\nimport { DialogClose, type DialogCloseProps } from \"../dialog/DialogClose\";\n\nexport type AlertDialogActionProps = DialogCloseProps & {\n variant?: VariantProps<typeof button>[\"variant\"];\n children?: ComponentChildren;\n};\n\nexport const AlertDialogAction = ({\n variant = \"default\",\n class: className,\n children,\n ...rest\n}: AlertDialogActionProps) => (\n <DialogClose\n class={button({ variant, class: cn(\"w-full sm:w-auto\", className as string | undefined) })}\n data-slot=\"alert-dialog-action\"\n {...rest}\n >\n {children}\n </DialogClose>\n);\n","import type { ComponentChildren } from \"preact\";\nimport type { VariantProps } from \"tailwind-variants\";\nimport { cn } from \"../../lib/utils\";\nimport { button } from \"../button/Button\";\nimport { DialogClose, type DialogCloseProps } from \"../dialog/DialogClose\";\n\nexport type AlertDialogCancelProps = DialogCloseProps & {\n variant?: VariantProps<typeof button>[\"variant\"];\n children?: ComponentChildren;\n};\n\nexport const AlertDialogCancel = ({\n variant = \"outline\",\n class: className,\n children,\n ...rest\n}: AlertDialogCancelProps) => (\n <DialogClose\n class={button({ variant, class: cn(\"w-full sm:w-auto\", className as string | undefined) })}\n data-slot=\"alert-dialog-cancel\"\n {...rest}\n >\n {children}\n </DialogClose>\n);\n","import type { ComponentChildren } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport {\n DialogContent,\n type DialogContentProps,\n dialogViewportBleedClass,\n} from \"../dialog/DialogContent\";\n\nexport type AlertDialogContentSize = \"default\" | \"sm\";\n\nexport type AlertDialogContentProps = DialogContentProps & {\n /** `sm` — narrower panel (shadcn parity). */\n size?: AlertDialogContentSize;\n children?: ComponentChildren;\n};\n\nexport const AlertDialogContent = ({\n size = \"default\",\n class: className,\n children,\n ...rest\n}: AlertDialogContentProps) => (\n // presentation=\"slot\": we own the full-screen flex overlay + inner panel; default \"modal\" would add a second backdrop.\n <DialogContent\n presentation=\"slot\"\n class={cn(\n dialogViewportBleedClass,\n \"z-50 flex items-center justify-center bg-black/50 p-3 sm:p-6 pointer-events-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fill-mode-forwards fade-in fade-out\",\n )}\n data-slot=\"alert-dialog-content\"\n {...rest}\n >\n <div\n class={cn(\n \"data-open:animate-in relative z-[1] grid min-h-0 min-w-0 w-full max-w-[calc(100svw-1.5rem)] max-h-[calc(100dvh-1.5rem)] overflow-y-auto overflow-x-hidden rounded-xl border bg-background shadow-lg pointer-events-auto\",\n size === \"sm\"\n ? \"gap-3 p-4 sm:max-w-sm sm:max-h-[calc(100dvh-3rem)] sm:p-4\"\n : \"gap-4 p-4 sm:max-w-[32rem] sm:max-h-[calc(100dvh-3rem)] sm:p-6\",\n className,\n )}\n data-slot=\"alert-dialog-panel\"\n data-size={size}\n data-open=\"true\"\n >\n {children}\n </div>\n </DialogContent>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { DialogDescription } from \"../dialog/DialogDescription\";\n\nexport type AlertDialogDescriptionProps = JSX.HTMLAttributes<HTMLParagraphElement> & {\n children?: ComponentChildren;\n};\n\nexport const AlertDialogDescription = ({\n class: className,\n children,\n ...rest\n}: AlertDialogDescriptionProps) => (\n <DialogDescription\n class={cn(\"text-muted-foreground text-sm leading-relaxed break-words\", className)}\n data-slot=\"alert-dialog-description\"\n {...rest}\n >\n {children}\n </DialogDescription>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { DialogFooter } from \"../dialog/DialogFooter\";\n\nexport type AlertDialogFooterProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const AlertDialogFooter = ({\n class: className,\n children,\n ...rest\n}: AlertDialogFooterProps) => (\n <DialogFooter\n class={cn(\"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\", className)}\n data-slot=\"alert-dialog-footer\"\n {...rest}\n >\n {children}\n </DialogFooter>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { DialogHeader } from \"../dialog/DialogHeader\";\n\nexport type AlertDialogHeaderProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const AlertDialogHeader = ({\n class: className,\n children,\n ...rest\n}: AlertDialogHeaderProps) => (\n <DialogHeader\n class={cn(\"grid gap-2 text-center sm:text-left\", className)}\n data-slot=\"alert-dialog-header\"\n {...rest}\n >\n {children}\n </DialogHeader>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type AlertDialogMediaProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\n/** Optional icon or image slot above the title (shadcn AlertDialogMedia pattern). */\nexport const AlertDialogMedia = ({\n class: className,\n children,\n ...rest\n}: AlertDialogMediaProps) => (\n <div\n data-slot=\"alert-dialog-media\"\n class={cn(\n \"mx-auto flex size-12 shrink-0 items-center justify-center rounded-full bg-muted text-foreground\",\n \"[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-6\",\n className,\n )}\n {...rest}\n >\n {children}\n </div>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { DialogTitle } from \"../dialog/DialogTitle\";\n\nexport type AlertDialogTitleProps = JSX.HTMLAttributes<HTMLHeadingElement> & {\n children?: ComponentChildren;\n};\n\nexport const AlertDialogTitle = ({\n class: className,\n children,\n ...rest\n}: AlertDialogTitleProps) => (\n <DialogTitle\n class={cn(\"text-lg font-semibold break-words\", className)}\n data-slot=\"alert-dialog-title\"\n {...rest}\n >\n {children}\n </DialogTitle>\n);\n","import type { ComponentChildren } from \"preact\";\nimport { button } from \"../button/Button\";\nimport { DialogTrigger, type DialogTriggerProps } from \"../dialog/DialogTrigger\";\n\nexport type AlertDialogTriggerProps = DialogTriggerProps & { children?: ComponentChildren };\n\nexport const AlertDialogTrigger = ({\n asChild,\n class: className,\n children,\n ...rest\n}: AlertDialogTriggerProps) => (\n <DialogTrigger\n asChild={asChild}\n class={\n asChild ? className : button({ variant: \"outline\", class: className as string | undefined })\n }\n data-slot=\"alert-dialog-trigger\"\n {...rest}\n >\n {children}\n </DialogTrigger>\n);\n","import { AlertDialog } from \"./AlertDialog\";\nimport { AlertDialogAction } from \"./AlertDialogAction\";\nimport { AlertDialogCancel } from \"./AlertDialogCancel\";\nimport { AlertDialogContent } from \"./AlertDialogContent\";\nimport { AlertDialogDescription } from \"./AlertDialogDescription\";\nimport { AlertDialogFooter } from \"./AlertDialogFooter\";\nimport { AlertDialogHeader } from \"./AlertDialogHeader\";\nimport { AlertDialogMedia } from \"./AlertDialogMedia\";\nimport { AlertDialogTitle } from \"./AlertDialogTitle\";\nimport { AlertDialogTrigger } from \"./AlertDialogTrigger\";\n\nexport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogMedia,\n AlertDialogTitle,\n AlertDialogTrigger,\n};\n\nexport default {\n Root: AlertDialog,\n Trigger: AlertDialogTrigger,\n Content: AlertDialogContent,\n Header: AlertDialogHeader,\n Footer: AlertDialogFooter,\n Title: AlertDialogTitle,\n Description: AlertDialogDescription,\n Media: AlertDialogMedia,\n Cancel: AlertDialogCancel,\n Action: AlertDialogAction,\n};\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/separator/Separator.tsx"],"names":[],"mappings":";;;;AAGO,IAAM,YAAY,EAAA,CAAG;AAAA,EAC1B,IAAA,EAAM,oBAAA;AAAA,EACN,QAAA,EAAU;AAAA,IACR,WAAA,EAAa;AAAA,MACX,UAAA,EAAY,gBAAA;AAAA,MACZ,QAAA,EAAU;AAAA;AACZ,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,WAAA,EAAa;AAAA;AAEjB,CAAC;AAUM,IAAM,YAAY,CAAC;AAAA,EACxB,KAAA,EAAO,SAAA;AAAA,EACP,WAAA,GAAc,YAAA;AAAA,EACd,UAAA,GAAa,KAAA;AAAA,EACb,GAAG;AACL,CAAA,qBACE,GAAA;AAAA,EAAC,KAAA;AAAA,EAAA;AAAA,IACC,IAAA,EAAM,aAAa,MAAA,GAAY,WAAA;AAAA,IAC/B,kBAAA,EAAkB,aAAa,MAAA,GAAY,WAAA;AAAA,IAC3C,kBAAA,EAAkB,WAAA;AAAA,IAClB,OAAO,SAAA,CAAU,EAAE,WAAA,EAAa,KAAA,EAAO,WAAiC,CAAA;AAAA,IACxE,WAAA,EAAU,WAAA;AAAA,IACT,GAAG;AAAA;AACN","file":"chunk-LCWXIQKA.js","sourcesContent":["import type { JSX } from \"preact\";\nimport { tv } from \"tailwind-variants\";\n\nexport const separator = tv({\n base: \"bg-border shrink-0\",\n variants: {\n orientation: {\n horizontal: \"h-[1px] w-full\",\n vertical: \"h-full w-[1px]\",\n },\n },\n defaultVariants: {\n orientation: \"horizontal\",\n },\n});\n\nexport type SeparatorProps = Omit<\n JSX.HTMLAttributes<HTMLDivElement>,\n \"role\" | \"aria-orientation\"\n> & {\n orientation?: \"horizontal\" | \"vertical\";\n decorative?: boolean;\n};\n\nexport const Separator = ({\n class: className,\n orientation = \"horizontal\",\n decorative = false,\n ...rest\n}: SeparatorProps) => (\n <div\n role={decorative ? undefined : \"separator\"}\n aria-orientation={decorative ? undefined : orientation}\n data-orientation={orientation}\n class={separator({ orientation, class: className as string | undefined })}\n data-slot=\"separator\"\n {...rest}\n />\n);\n"]}