@kamod-ch/ui 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +9 -0
- package/README.md +12 -0
- package/dist/{Accordion-D1PiNspd.d.ts → Accordion-BiCBkB8o.d.ts} +7 -1
- package/dist/{AlertDialog-GadhKjPC.d.ts → AlertDialog-CZ2taZg4.d.ts} +3 -3
- package/dist/Button-OI3VvO-J.d.ts +84 -0
- package/dist/{Collapsible-CW1hQwqV.d.ts → Collapsible-BdQqvk35.d.ts} +6 -1
- package/dist/{ComboboxValue-BGfXgtZt.d.ts → ComboboxValue-Cq6zoDkt.d.ts} +1 -1
- package/dist/{Dialog-BOIteLfe.d.ts → Dialog-DdD1sMwk.d.ts} +12 -1
- package/dist/{DialogContent-cQHSRQdT.d.ts → DialogContent-YWzwWdSv.d.ts} +6 -1
- package/dist/{Drawer-CdjXZxxK.d.ts → Drawer-8xfn9KLf.d.ts} +2 -2
- package/dist/{Dropdown-CVbWVKok.d.ts → Dropdown-CzDJJgXQ.d.ts} +32 -27
- package/dist/{FieldTitle-aSgThW-B.d.ts → FieldTitle-hsI0Y6Zm.d.ts} +13 -13
- package/dist/{HoverCard-aVEEtkyO.d.ts → HoverCard-CBBr-tT9.d.ts} +14 -14
- package/dist/{Input-Cem05el9.d.ts → Input-C_X0Xpn2.d.ts} +11 -11
- package/dist/{PopoverTrigger-CH_Kx2mn.d.ts → PopoverTrigger-CIPAh0h0.d.ts} +14 -14
- package/dist/{RadioGroup-BaElzLwa.d.ts → RadioGroup-BDF3NaXQ.d.ts} +8 -8
- package/dist/{Sheet-DZ-p-aHY.d.ts → Sheet-DVt5iTiK.d.ts} +1 -1
- package/dist/{SidebarProvider-Bx7-BdQn.d.ts → SidebarProvider-CoVCItNd.d.ts} +18 -18
- package/dist/{Switch-CTTkNdqF.d.ts → Switch-BcNJFeRY.d.ts} +8 -8
- package/dist/{Tabs-CR-thcs6.d.ts → Tabs-CrXH3YED.d.ts} +18 -9
- package/dist/{Textarea-DbKkduOG.d.ts → Textarea-CST17pYW.d.ts} +11 -11
- package/dist/Toggle-BgvkYUI8.d.ts +49 -0
- package/dist/{ToggleGroup-UeYHzQe7.d.ts → ToggleGroup-CqYICGsS.d.ts} +42 -42
- package/dist/Typography-Df9IVmw2.d.ts +64 -0
- package/dist/{chunk-ZM67EKZC.js → chunk-22G3DW5M.js} +4 -4
- package/dist/{chunk-ZM67EKZC.js.map → chunk-22G3DW5M.js.map} +1 -1
- package/dist/{chunk-BDK7CDEI.js → chunk-2F3PWEDR.js} +3 -3
- package/dist/{chunk-BDK7CDEI.js.map → chunk-2F3PWEDR.js.map} +1 -1
- package/dist/{chunk-ZHAGKFSO.js → chunk-2SPOI3MX.js} +3 -3
- package/dist/{chunk-ZHAGKFSO.js.map → chunk-2SPOI3MX.js.map} +1 -1
- package/dist/chunk-2UTJHQTS.js +162 -0
- package/dist/chunk-2UTJHQTS.js.map +1 -0
- package/dist/{chunk-NKKMM6CK.js → chunk-3AFRSB5R.js} +3 -3
- package/dist/{chunk-NKKMM6CK.js.map → chunk-3AFRSB5R.js.map} +1 -1
- package/dist/{chunk-LCMPFPBN.js → chunk-3ETRJPBL.js} +3 -3
- package/dist/{chunk-LCMPFPBN.js.map → chunk-3ETRJPBL.js.map} +1 -1
- package/dist/{chunk-WAPRVVDQ.js → chunk-3HBKDY64.js} +3 -3
- package/dist/{chunk-WAPRVVDQ.js.map → chunk-3HBKDY64.js.map} +1 -1
- package/dist/{chunk-PPYJQNE5.js → chunk-3XMFQKWB.js} +9 -5
- package/dist/chunk-3XMFQKWB.js.map +1 -0
- package/dist/{chunk-HCTZJYHK.js → chunk-4SQKSVBH.js} +6 -6
- package/dist/chunk-4SQKSVBH.js.map +1 -0
- package/dist/{chunk-ZVAW22GX.js → chunk-4ZFKDNSK.js} +3 -3
- package/dist/{chunk-ZVAW22GX.js.map → chunk-4ZFKDNSK.js.map} +1 -1
- package/dist/{chunk-IJ4ZRIR4.js → chunk-53FZEAOJ.js} +5 -5
- package/dist/{chunk-IJ4ZRIR4.js.map → chunk-53FZEAOJ.js.map} +1 -1
- package/dist/{chunk-BYG2ULS3.js → chunk-5ATODZ6L.js} +5 -7
- package/dist/chunk-5ATODZ6L.js.map +1 -0
- package/dist/{chunk-TXKPDNRD.js → chunk-5I7ULBDP.js} +3 -3
- package/dist/{chunk-TXKPDNRD.js.map → chunk-5I7ULBDP.js.map} +1 -1
- package/dist/{chunk-UEXTD7ZB.js → chunk-6HFTTHSY.js} +3 -3
- package/dist/{chunk-UEXTD7ZB.js.map → chunk-6HFTTHSY.js.map} +1 -1
- package/dist/{chunk-6RASPU5N.js → chunk-7LWAWZHM.js} +4 -11
- package/dist/chunk-7LWAWZHM.js.map +1 -0
- package/dist/{chunk-RHNI5UQO.js → chunk-A6ZZZFZN.js} +4 -4
- package/dist/{chunk-RHNI5UQO.js.map → chunk-A6ZZZFZN.js.map} +1 -1
- package/dist/{chunk-V63YIVKJ.js → chunk-APZXMU2X.js} +4 -4
- package/dist/{chunk-V63YIVKJ.js.map → chunk-APZXMU2X.js.map} +1 -1
- package/dist/{chunk-6FYSVMH7.js → chunk-AYLEWD77.js} +3 -3
- package/dist/{chunk-6FYSVMH7.js.map → chunk-AYLEWD77.js.map} +1 -1
- package/dist/{chunk-D3DQ4ICC.js → chunk-BZMD4EZC.js} +4 -11
- package/dist/chunk-BZMD4EZC.js.map +1 -0
- package/dist/{chunk-PU5J5EPY.js → chunk-C7TARE5T.js} +5 -5
- package/dist/{chunk-PU5J5EPY.js.map → chunk-C7TARE5T.js.map} +1 -1
- package/dist/{chunk-5FBD2NTR.js → chunk-DDRX6NNW.js} +6 -9
- package/dist/chunk-DDRX6NNW.js.map +1 -0
- package/dist/{chunk-HHLQYMPT.js → chunk-DUTKHOH3.js} +4 -4
- package/dist/{chunk-HHLQYMPT.js.map → chunk-DUTKHOH3.js.map} +1 -1
- package/dist/{chunk-24QD2FTA.js → chunk-EBXTNL52.js} +12 -15
- package/dist/chunk-EBXTNL52.js.map +1 -0
- package/dist/{chunk-STRBBF45.js → chunk-FOQ32NEP.js} +5 -5
- package/dist/chunk-FOQ32NEP.js.map +1 -0
- package/dist/{chunk-UIA74JVN.js → chunk-FXG53XY2.js} +5 -5
- package/dist/chunk-FXG53XY2.js.map +1 -0
- package/dist/{chunk-2KY7P27I.js → chunk-G7LTWXRN.js} +3 -3
- package/dist/{chunk-2KY7P27I.js.map → chunk-G7LTWXRN.js.map} +1 -1
- package/dist/{chunk-6BK3PIRX.js → chunk-GD3VBO44.js} +6 -6
- package/dist/{chunk-6BK3PIRX.js.map → chunk-GD3VBO44.js.map} +1 -1
- package/dist/{chunk-MD6HHORY.js → chunk-GPRE2VWB.js} +3 -3
- package/dist/{chunk-MD6HHORY.js.map → chunk-GPRE2VWB.js.map} +1 -1
- package/dist/{chunk-QZX3RFIC.js → chunk-HJF5AV4L.js} +11 -34
- package/dist/chunk-HJF5AV4L.js.map +1 -0
- package/dist/{chunk-QFDTG2ZJ.js → chunk-HWPROYKB.js} +3 -3
- package/dist/{chunk-QFDTG2ZJ.js.map → chunk-HWPROYKB.js.map} +1 -1
- package/dist/chunk-ISISDJ3Z.js +205 -0
- package/dist/chunk-ISISDJ3Z.js.map +1 -0
- package/dist/{chunk-3LIT5GWF.js → chunk-IW43BO47.js} +57 -19
- package/dist/chunk-IW43BO47.js.map +1 -0
- package/dist/{chunk-CLEC2RMU.js → chunk-JKEILBHG.js} +3 -3
- package/dist/{chunk-CLEC2RMU.js.map → chunk-JKEILBHG.js.map} +1 -1
- package/dist/{chunk-TFLSEEM4.js → chunk-KCN3GXRK.js} +3 -3
- package/dist/{chunk-TFLSEEM4.js.map → chunk-KCN3GXRK.js.map} +1 -1
- package/dist/{chunk-EMUPVA2F.js → chunk-KHV3WV6T.js} +4 -4
- package/dist/{chunk-EMUPVA2F.js.map → chunk-KHV3WV6T.js.map} +1 -1
- package/dist/{chunk-G6TV6TF7.js → chunk-KJ5PYCJG.js} +4 -12
- package/dist/chunk-KJ5PYCJG.js.map +1 -0
- package/dist/{chunk-5KS2VSX2.js → chunk-LAM4GIME.js} +4 -4
- package/dist/chunk-LAM4GIME.js.map +1 -0
- package/dist/{chunk-OCLVMKVC.js → chunk-MDXTENZ4.js} +8 -31
- package/dist/chunk-MDXTENZ4.js.map +1 -0
- package/dist/{chunk-CP55TVOV.js → chunk-MJUKNUFV.js} +3 -3
- package/dist/{chunk-CP55TVOV.js.map → chunk-MJUKNUFV.js.map} +1 -1
- package/dist/{chunk-GGTDJEE2.js → chunk-MTNLY7AY.js} +3 -3
- package/dist/{chunk-GGTDJEE2.js.map → chunk-MTNLY7AY.js.map} +1 -1
- package/dist/{chunk-67J4KBOW.js → chunk-NBIBBLP6.js} +10 -52
- package/dist/chunk-NBIBBLP6.js.map +1 -0
- package/dist/chunk-NBP4J2QF.js +200 -0
- package/dist/chunk-NBP4J2QF.js.map +1 -0
- package/dist/{chunk-NGKQBNZ5.js → chunk-NJYJCMKY.js} +3 -3
- package/dist/{chunk-NGKQBNZ5.js.map → chunk-NJYJCMKY.js.map} +1 -1
- package/dist/{chunk-COPT6I2D.js → chunk-NSEY5IC6.js} +9 -10
- package/dist/chunk-NSEY5IC6.js.map +1 -0
- package/dist/{chunk-UARVH66B.js → chunk-O4PHGLXF.js} +5 -5
- package/dist/{chunk-UARVH66B.js.map → chunk-O4PHGLXF.js.map} +1 -1
- package/dist/{chunk-J4DMQV64.js → chunk-OCZC4PDM.js} +3 -3
- package/dist/{chunk-J4DMQV64.js.map → chunk-OCZC4PDM.js.map} +1 -1
- package/dist/{chunk-IQH3XSOI.js → chunk-ODYHA3O5.js} +4 -4
- package/dist/{chunk-IQH3XSOI.js.map → chunk-ODYHA3O5.js.map} +1 -1
- package/dist/chunk-OJEZZVZB.js +9 -0
- package/dist/{chunk-CMBERB5B.js.map → chunk-OJEZZVZB.js.map} +1 -1
- package/dist/{chunk-7IOAIEIA.js → chunk-OTXP2QJ7.js} +6 -6
- package/dist/{chunk-7IOAIEIA.js.map → chunk-OTXP2QJ7.js.map} +1 -1
- package/dist/{chunk-JSHUWI3C.js → chunk-OUVUK3E7.js} +9 -9
- package/dist/chunk-OUVUK3E7.js.map +1 -0
- package/dist/{chunk-3KB54OYF.js → chunk-P6ICWO5B.js} +3 -3
- package/dist/{chunk-3KB54OYF.js.map → chunk-P6ICWO5B.js.map} +1 -1
- package/dist/{chunk-GIU6BZTW.js → chunk-P7PPE4P5.js} +8 -11
- package/dist/chunk-P7PPE4P5.js.map +1 -0
- package/dist/{chunk-XGFJJ2YB.js → chunk-PVQUVEZV.js} +4 -11
- package/dist/chunk-PVQUVEZV.js.map +1 -0
- package/dist/{chunk-LCWXIQKA.js → chunk-Q3RL7TOY.js} +4 -4
- package/dist/chunk-Q3RL7TOY.js.map +1 -0
- package/dist/{chunk-5Q4RBIMZ.js → chunk-Q5B6ROW6.js} +3 -3
- package/dist/{chunk-5Q4RBIMZ.js.map → chunk-Q5B6ROW6.js.map} +1 -1
- package/dist/{chunk-262EK2XT.js → chunk-Q7ZDP6DS.js} +9 -7
- package/dist/chunk-Q7ZDP6DS.js.map +1 -0
- package/dist/{chunk-4IBTERDG.js → chunk-QFTOABOJ.js} +3 -3
- package/dist/{chunk-4IBTERDG.js.map → chunk-QFTOABOJ.js.map} +1 -1
- package/dist/{chunk-JURNPBSW.js → chunk-QINEFXUA.js} +3 -3
- package/dist/{chunk-JURNPBSW.js.map → chunk-QINEFXUA.js.map} +1 -1
- package/dist/{chunk-FIOKWIJP.js → chunk-QWSD34JA.js} +4 -4
- package/dist/{chunk-FIOKWIJP.js.map → chunk-QWSD34JA.js.map} +1 -1
- package/dist/{chunk-Q5IUIA6B.js → chunk-RLBAA7WW.js} +3 -3
- package/dist/{chunk-Q5IUIA6B.js.map → chunk-RLBAA7WW.js.map} +1 -1
- package/dist/{chunk-MJQ6R345.js → chunk-SEC7UN45.js} +5 -5
- package/dist/chunk-SEC7UN45.js.map +1 -0
- package/dist/chunk-SIA46B4Q.js +9 -0
- package/dist/{chunk-RTIFG4XT.js.map → chunk-SIA46B4Q.js.map} +1 -1
- package/dist/{chunk-X4HPHMYW.js → chunk-TMPADU74.js} +4 -4
- package/dist/{chunk-X4HPHMYW.js.map → chunk-TMPADU74.js.map} +1 -1
- package/dist/{chunk-YTHUHPE5.js → chunk-USPWL4KC.js} +3 -3
- package/dist/{chunk-YTHUHPE5.js.map → chunk-USPWL4KC.js.map} +1 -1
- package/dist/{chunk-U2UNWXBC.js → chunk-VEQ7X2PO.js} +7 -6
- package/dist/chunk-VEQ7X2PO.js.map +1 -0
- package/dist/{chunk-YZLPO4B2.js → chunk-WRXXU5F6.js} +4 -11
- package/dist/chunk-WRXXU5F6.js.map +1 -0
- package/dist/{chunk-XNYAQZIB.js → chunk-X4B6I3M4.js} +4 -4
- package/dist/{chunk-XNYAQZIB.js.map → chunk-X4B6I3M4.js.map} +1 -1
- package/dist/{chunk-JNF7FDJO.js → chunk-XCYEWILH.js} +4 -4
- package/dist/{chunk-JNF7FDJO.js.map → chunk-XCYEWILH.js.map} +1 -1
- package/dist/{chunk-V2MG5Y5F.js → chunk-XGVQXRLA.js} +4 -4
- package/dist/chunk-XGVQXRLA.js.map +1 -0
- package/dist/chunk-XIANSPQO.js +11 -0
- package/dist/chunk-XIANSPQO.js.map +1 -0
- package/dist/{chunk-UNWEH4Z6.js → chunk-XOMPJYYA.js} +4 -4
- package/dist/chunk-XOMPJYYA.js.map +1 -0
- package/dist/{chunk-UXWUFNXY.js → chunk-XSYSV3R3.js} +3 -3
- package/dist/{chunk-UXWUFNXY.js.map → chunk-XSYSV3R3.js.map} +1 -1
- package/dist/{chunk-ERBGZZ2U.js → chunk-XZYJUJED.js} +4 -4
- package/dist/chunk-XZYJUJED.js.map +1 -0
- package/dist/{chunk-PFV7YIEP.js → chunk-Z4JNYSV3.js} +4 -4
- package/dist/{chunk-PFV7YIEP.js.map → chunk-Z4JNYSV3.js.map} +1 -1
- package/dist/{chunk-4V3WHQJE.js → chunk-ZLSCHWTN.js} +4 -4
- package/dist/{chunk-4V3WHQJE.js.map → chunk-ZLSCHWTN.js.map} +1 -1
- package/dist/chunk-ZQ2WOX4X.js +29 -0
- package/dist/chunk-ZQ2WOX4X.js.map +1 -0
- package/dist/{chunk-NILG56Z7.js → chunk-ZROHNZDC.js} +4 -4
- package/dist/{chunk-NILG56Z7.js.map → chunk-ZROHNZDC.js.map} +1 -1
- package/dist/{chunk-PGOCR4LG.js → chunk-ZVYCUG4N.js} +4 -4
- package/dist/chunk-ZVYCUG4N.js.map +1 -0
- package/dist/components/accordion/index.d.ts +2 -2
- package/dist/components/accordion/index.js +3 -2
- package/dist/components/alert/index.d.ts +26 -26
- package/dist/components/alert/index.js +2 -2
- package/dist/components/alert-dialog/index.d.ts +6 -5
- package/dist/components/alert-dialog/index.js +6 -6
- package/dist/components/aspect-ratio/index.js +2 -2
- package/dist/components/avatar/index.d.ts +11 -11
- package/dist/components/avatar/index.js +2 -2
- package/dist/components/badge/index.d.ts +112 -112
- package/dist/components/badge/index.js +2 -2
- package/dist/components/breadcrumb/index.js +2 -2
- package/dist/components/button/index.d.ts +51 -51
- package/dist/components/button/index.js +3 -3
- package/dist/components/button-group/index.js +2 -2
- package/dist/components/calendar/index.js +10 -10
- package/dist/components/card/index.d.ts +22 -22
- package/dist/components/card/index.js +2 -1
- package/dist/components/carousel/index.js +3 -3
- package/dist/components/chart/index.js +2 -2
- package/dist/components/checkbox/index.js +2 -2
- package/dist/components/collapsible/index.d.ts +2 -2
- package/dist/components/collapsible/index.js +3 -2
- package/dist/components/combobox/index.d.ts +2 -2
- package/dist/components/combobox/index.js +5 -5
- package/dist/components/command/index.js +7 -7
- package/dist/components/context-menu/index.d.ts +11 -11
- package/dist/components/context-menu/index.js +3 -3
- package/dist/components/data-table/index.js +3 -3
- package/dist/components/date-picker/index.js +6 -6
- package/dist/components/dialog/index.d.ts +26 -5
- package/dist/components/dialog/index.js +5 -5
- package/dist/components/direction/index.js +2 -2
- package/dist/components/drawer/index.d.ts +5 -4
- package/dist/components/drawer/index.js +5 -5
- package/dist/components/dropdown/index.d.ts +3 -3
- package/dist/components/dropdown/index.js +3 -3
- package/dist/components/dropzone/index.js +3 -3
- package/dist/components/empty/index.d.ts +6 -6
- package/dist/components/empty/index.js +2 -2
- package/dist/components/field/index.d.ts +2 -2
- package/dist/components/field/index.js +4 -4
- package/dist/components/hover-card/index.d.ts +2 -2
- package/dist/components/hover-card/index.js +2 -1
- package/dist/components/image/index.js +2 -2
- package/dist/components/input/index.d.ts +12 -12
- package/dist/components/input/index.js +3 -2
- package/dist/components/input-group/index.d.ts +56 -56
- package/dist/components/input-group/index.js +5 -5
- package/dist/components/input-otp/index.js +2 -2
- package/dist/components/item/index.d.ts +31 -31
- package/dist/components/item/index.js +3 -3
- package/dist/components/kbd/index.d.ts +8 -8
- package/dist/components/kbd/index.js +2 -2
- package/dist/components/label/index.d.ts +22 -22
- package/dist/components/label/index.js +3 -2
- package/dist/components/locale-segment-group/index.js +2 -2
- package/dist/components/menubar/index.js +3 -3
- package/dist/components/native-select/index.d.ts +34 -34
- package/dist/components/native-select/index.js +2 -1
- package/dist/components/navigation-menu/index.d.ts +2 -2
- package/dist/components/navigation-menu/index.js +3 -3
- package/dist/components/pagination/index.d.ts +1 -1
- package/dist/components/pagination/index.js +3 -3
- package/dist/components/popover/index.d.ts +22 -22
- package/dist/components/popover/index.js +4 -3
- package/dist/components/progress/index.js +2 -2
- package/dist/components/prose/index.js +2 -2
- package/dist/components/radio-group/index.d.ts +2 -2
- package/dist/components/radio-group/index.js +3 -3
- package/dist/components/scroll-area/index.js +2 -2
- package/dist/components/select/index.js +3 -3
- package/dist/components/selectable-card/index.js +3 -3
- package/dist/components/separator/index.d.ts +8 -8
- package/dist/components/separator/index.js +3 -2
- package/dist/components/sheet/index.d.ts +5 -4
- package/dist/components/sheet/index.js +5 -5
- package/dist/components/sidebar/index.d.ts +3 -3
- package/dist/components/sidebar/index.js +10 -10
- package/dist/components/skeleton/index.d.ts +22 -22
- package/dist/components/skeleton/index.js +2 -1
- package/dist/components/slider/index.js +2 -2
- package/dist/components/spinner/index.js +2 -2
- package/dist/components/switch/index.d.ts +1 -1
- package/dist/components/switch/index.js +2 -2
- package/dist/components/table/index.js +3 -3
- package/dist/components/tabs/index.d.ts +2 -2
- package/dist/components/tabs/index.js +3 -3
- package/dist/components/textarea/index.d.ts +12 -12
- package/dist/components/textarea/index.js +3 -2
- package/dist/components/theme-toggle/index.js +4 -4
- package/dist/components/toggle/index.d.ts +1 -1
- package/dist/components/toggle/index.js +2 -2
- package/dist/components/toggle-group/index.d.ts +2 -2
- package/dist/components/toggle-group/index.js +2 -2
- package/dist/components/typography/index.d.ts +2 -2
- package/dist/components/typography/index.js +2 -2
- package/dist/components/video/index.js +2 -2
- package/dist/index.d.ts +24 -24
- package/dist/index.js +79 -78
- package/dist/lib/interactive/index.js +1 -1
- package/dist/lib/utils.d.ts +2 -1
- package/dist/lib/utils.js +1 -1
- package/dist/{navigationMenuTriggerStyle-BWnESpon.d.ts → navigationMenuTriggerStyle-DUhqCYxO.d.ts} +1 -1
- package/dist/theme.css +16 -0
- package/dist/utils.d.ts +2 -0
- package/dist/utils.js +3 -0
- package/dist/utils.js.map +1 -0
- package/package.json +28 -25
- package/dist/Button-vQnkiVTI.d.ts +0 -84
- package/dist/Toggle-CseZl7XN.d.ts +0 -49
- package/dist/Typography-ccTtE182.d.ts +0 -64
- package/dist/chunk-24QD2FTA.js.map +0 -1
- package/dist/chunk-262EK2XT.js.map +0 -1
- package/dist/chunk-3LIT5GWF.js.map +0 -1
- package/dist/chunk-5FBD2NTR.js.map +0 -1
- package/dist/chunk-5KS2VSX2.js.map +0 -1
- package/dist/chunk-67J4KBOW.js.map +0 -1
- package/dist/chunk-6RASPU5N.js.map +0 -1
- package/dist/chunk-BYG2ULS3.js.map +0 -1
- package/dist/chunk-CMBERB5B.js +0 -9
- package/dist/chunk-COPT6I2D.js.map +0 -1
- package/dist/chunk-D3DQ4ICC.js.map +0 -1
- package/dist/chunk-ERBGZZ2U.js.map +0 -1
- package/dist/chunk-G6TV6TF7.js.map +0 -1
- package/dist/chunk-GIU6BZTW.js.map +0 -1
- package/dist/chunk-HCTZJYHK.js.map +0 -1
- package/dist/chunk-JSHUWI3C.js.map +0 -1
- package/dist/chunk-LCWXIQKA.js.map +0 -1
- package/dist/chunk-MJQ6R345.js.map +0 -1
- package/dist/chunk-MKG3UAP6.js +0 -347
- package/dist/chunk-MKG3UAP6.js.map +0 -1
- package/dist/chunk-MS2ZNYCJ.js +0 -9
- package/dist/chunk-MS2ZNYCJ.js.map +0 -1
- package/dist/chunk-OCLVMKVC.js.map +0 -1
- package/dist/chunk-PGOCR4LG.js.map +0 -1
- package/dist/chunk-PPYJQNE5.js.map +0 -1
- package/dist/chunk-QZX3RFIC.js.map +0 -1
- package/dist/chunk-RTIFG4XT.js +0 -9
- package/dist/chunk-STRBBF45.js.map +0 -1
- package/dist/chunk-U2UNWXBC.js.map +0 -1
- package/dist/chunk-UEGIKBX6.js +0 -385
- package/dist/chunk-UEGIKBX6.js.map +0 -1
- package/dist/chunk-UIA74JVN.js.map +0 -1
- package/dist/chunk-UNWEH4Z6.js.map +0 -1
- package/dist/chunk-V2MG5Y5F.js.map +0 -1
- package/dist/chunk-X2YUFNK7.js +0 -18
- package/dist/chunk-X2YUFNK7.js.map +0 -1
- package/dist/chunk-XGFJJ2YB.js.map +0 -1
- package/dist/chunk-YZLPO4B2.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/dialog/DialogFooter.tsx","../src/components/dialog/DialogHeader.tsx"],"names":["jsx"],"mappings":";;;AAOO,IAAM,YAAA,GAAe,CAAC,EAAE,KAAA,EAAO,WAAW,QAAA,EAAU,GAAG,MAAK,qBACjE,GAAA;AAAA,EAAC,KAAA;AAAA,EAAA;AAAA,IACC,WAAA,EAAU,eAAA;AAAA,IACV,KAAA,EAAO,EAAA,CAAG,wDAAA,EAA0D,SAAS,CAAA;AAAA,IAC5E,GAAG,IAAA;AAAA,IAEH;AAAA;AACH;ACPK,IAAM,YAAA,GAAe,CAAC,EAAE,KAAA,EAAO,WAAW,QAAA,EAAU,GAAG,IAAA,EAAK,qBACjEA,GAAAA;AAAA,EAAC,KAAA;AAAA,EAAA;AAAA,IACC,WAAA,EAAU,eAAA;AAAA,IACV,KAAA,EAAO,EAAA,CAAG,+CAAA,EAAiD,SAAS,CAAA;AAAA,IACnE,GAAG,IAAA;AAAA,IAEH;AAAA;AACH","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/components/dialog/DialogFooter.tsx","../src/components/dialog/DialogHeader.tsx"],"names":["jsx"],"mappings":";;;AAOO,IAAM,YAAA,GAAe,CAAC,EAAE,KAAA,EAAO,WAAW,QAAA,EAAU,GAAG,MAAK,qBACjE,GAAA;AAAA,EAAC,KAAA;AAAA,EAAA;AAAA,IACC,WAAA,EAAU,eAAA;AAAA,IACV,KAAA,EAAO,EAAA,CAAG,wDAAA,EAA0D,SAAS,CAAA;AAAA,IAC5E,GAAG,IAAA;AAAA,IAEH;AAAA;AACH;ACPK,IAAM,YAAA,GAAe,CAAC,EAAE,KAAA,EAAO,WAAW,QAAA,EAAU,GAAG,IAAA,EAAK,qBACjEA,GAAAA;AAAA,EAAC,KAAA;AAAA,EAAA;AAAA,IACC,WAAA,EAAU,eAAA;AAAA,IACV,KAAA,EAAO,EAAA,CAAG,+CAAA,EAAiD,SAAS,CAAA;AAAA,IACnE,GAAG,IAAA;AAAA,IAEH;AAAA;AACH","file":"chunk-Q5B6ROW6.js","sourcesContent":["import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type DialogFooterProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const DialogFooter = ({ class: className, children, ...rest }: DialogFooterProps) => (\n <div\n data-slot=\"dialog-footer\"\n class={cn(\"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\", className)}\n {...rest}\n >\n {children}\n </div>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type DialogHeaderProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const DialogHeader = ({ class: className, children, ...rest }: DialogHeaderProps) => (\n <div\n data-slot=\"dialog-header\"\n class={cn(\"flex flex-col gap-2 text-center sm:text-start\", className)}\n {...rest}\n >\n {children}\n </div>\n);\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Button } from './chunk-
|
|
2
|
-
import { cn } from './chunk-
|
|
1
|
+
import { Button } from './chunk-DDRX6NNW.js';
|
|
2
|
+
import { cn } from './chunk-XIANSPQO.js';
|
|
3
3
|
import { syncThemeFromStorage, resolvedColorSchemeSignal, setColorScheme } from '@kamod-ch/themes';
|
|
4
|
-
import { useEffect } from 'preact/hooks';
|
|
4
|
+
import { useState, useEffect } from 'preact/hooks';
|
|
5
5
|
import { jsx, jsxs } from 'preact/jsx-runtime';
|
|
6
6
|
|
|
7
7
|
var SunIcon = ({ class: className }) => /* @__PURE__ */ jsxs(
|
|
@@ -43,10 +43,12 @@ var MoonIcon = ({ class: className }) => /* @__PURE__ */ jsx(
|
|
|
43
43
|
}
|
|
44
44
|
);
|
|
45
45
|
var ThemeToggle = ({ children, onClick, ...rest }) => {
|
|
46
|
+
const [mounted, setMounted] = useState(false);
|
|
46
47
|
useEffect(() => {
|
|
47
48
|
syncThemeFromStorage();
|
|
49
|
+
setMounted(true);
|
|
48
50
|
}, []);
|
|
49
|
-
const darkMode = resolvedColorSchemeSignal.value === "dark";
|
|
51
|
+
const darkMode = mounted && resolvedColorSchemeSignal.value === "dark";
|
|
50
52
|
return /* @__PURE__ */ jsx(
|
|
51
53
|
Button,
|
|
52
54
|
{
|
|
@@ -54,7 +56,7 @@ var ThemeToggle = ({ children, onClick, ...rest }) => {
|
|
|
54
56
|
variant: "outline",
|
|
55
57
|
size: "icon",
|
|
56
58
|
"data-slot": "theme-toggle",
|
|
57
|
-
"data-state": darkMode ? "dark" : "light",
|
|
59
|
+
"data-state": mounted ? darkMode ? "dark" : "light" : "light",
|
|
58
60
|
"aria-label": children == null ? darkMode ? "Light mode" : "Dark mode" : void 0,
|
|
59
61
|
onClick: (event) => {
|
|
60
62
|
const next = resolvedColorSchemeSignal.value === "dark" ? "light" : "dark";
|
|
@@ -71,5 +73,5 @@ var ThemeToggle = ({ children, onClick, ...rest }) => {
|
|
|
71
73
|
var theme_toggle_default = ThemeToggle;
|
|
72
74
|
|
|
73
75
|
export { ThemeToggle, theme_toggle_default };
|
|
74
|
-
//# sourceMappingURL=chunk-
|
|
75
|
-
//# sourceMappingURL=chunk-
|
|
76
|
+
//# sourceMappingURL=chunk-Q7ZDP6DS.js.map
|
|
77
|
+
//# sourceMappingURL=chunk-Q7ZDP6DS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/theme-toggle/ThemeToggle.tsx","../src/components/theme-toggle/index.ts"],"names":[],"mappings":"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","file":"chunk-Q7ZDP6DS.js","sourcesContent":["import { resolvedColorSchemeSignal, setColorScheme, syncThemeFromStorage } from \"@kamod-ch/themes\";\nimport type { ComponentChildren, JSX } from \"preact\";\nimport { useEffect, useState } from \"preact/hooks\";\nimport { cn } from \"../../lib/utils\";\nimport { Button } from \"../button\";\n\nexport type ThemeToggleProps = Omit<JSX.ButtonHTMLAttributes<HTMLButtonElement>, \"class\"> & {\n class?: string;\n children?: ComponentChildren;\n};\n\nconst SunIcon = ({ class: className }: { class?: string }) => (\n <svg\n class={cn(\"size-4 shrink-0\", className)}\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 aria-hidden=\"true\"\n >\n <circle cx=\"12\" cy=\"12\" r=\"4\" />\n <path d=\"M12 2v2\" />\n <path d=\"M12 20v2\" />\n <path d=\"m4.93 4.93 1.41 1.41\" />\n <path d=\"m17.66 17.66 1.41 1.41\" />\n <path d=\"M2 12h2\" />\n <path d=\"M20 12h2\" />\n <path d=\"m6.34 17.66-1.41 1.41\" />\n <path d=\"m19.07 4.93-1.41 1.41\" />\n </svg>\n);\n\nconst MoonIcon = ({ class: className }: { class?: string }) => (\n <svg\n class={cn(\"size-4 shrink-0\", className)}\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 aria-hidden=\"true\"\n >\n <path d=\"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z\" />\n </svg>\n);\n\nexport const ThemeToggle = ({ children, onClick, ...rest }: ThemeToggleProps) => {\n // Keep SSR and the first client render identical: theme from localStorage /\n // matchMedia is only known after mount, so icon choice must wait.\n const [mounted, setMounted] = useState(false);\n\n useEffect(() => {\n syncThemeFromStorage();\n setMounted(true);\n }, []);\n\n const darkMode = mounted && resolvedColorSchemeSignal.value === \"dark\";\n\n return (\n <Button\n type=\"button\"\n variant=\"outline\"\n size=\"icon\"\n data-slot=\"theme-toggle\"\n data-state={mounted ? (darkMode ? \"dark\" : \"light\") : \"light\"}\n aria-label={children == null ? (darkMode ? \"Light mode\" : \"Dark mode\") : undefined}\n onClick={(event) => {\n const next = resolvedColorSchemeSignal.value === \"dark\" ? \"light\" : \"dark\";\n setColorScheme(next);\n onClick?.(event);\n }}\n {...rest}\n >\n {children ?? (darkMode ? <SunIcon /> : <MoonIcon />)}\n </Button>\n );\n};\n","import { ThemeToggle } from \"./ThemeToggle\";\n\nexport { ThemeToggle };\n\nexport default ThemeToggle;\n"]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { button, Button } from './chunk-
|
|
1
|
+
import { button, Button } from './chunk-DDRX6NNW.js';
|
|
2
2
|
|
|
3
3
|
// src/components/button/index.ts
|
|
4
4
|
var ButtonVariants = { button };
|
|
5
5
|
var button_default = Button;
|
|
6
6
|
|
|
7
7
|
export { ButtonVariants, button_default };
|
|
8
|
-
//# sourceMappingURL=chunk-
|
|
9
|
-
//# sourceMappingURL=chunk-
|
|
8
|
+
//# sourceMappingURL=chunk-QFTOABOJ.js.map
|
|
9
|
+
//# sourceMappingURL=chunk-QFTOABOJ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/button/index.ts"],"names":[],"mappings":";;;AAEA,IAAM,cAAA,GAAiB,EAAE,MAAA;AAIzB,IAAO,cAAA,GAAQ","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/components/button/index.ts"],"names":[],"mappings":";;;AAEA,IAAM,cAAA,GAAiB,EAAE,MAAA;AAIzB,IAAO,cAAA,GAAQ","file":"chunk-QFTOABOJ.js","sourcesContent":["import { Button, button } from \"./Button\";\n\nconst ButtonVariants = { button };\n\nexport { Button, ButtonVariants };\n\nexport default Button;\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cn } from './chunk-
|
|
1
|
+
import { cn } from './chunk-XIANSPQO.js';
|
|
2
2
|
import { jsx } from 'preact/jsx-runtime';
|
|
3
3
|
import { isValidElement, cloneElement } from 'preact';
|
|
4
4
|
|
|
@@ -66,5 +66,5 @@ var ButtonGroupText = ({
|
|
|
66
66
|
};
|
|
67
67
|
|
|
68
68
|
export { ButtonGroup, ButtonGroupSeparator, ButtonGroupText };
|
|
69
|
-
//# sourceMappingURL=chunk-
|
|
70
|
-
//# sourceMappingURL=chunk-
|
|
69
|
+
//# sourceMappingURL=chunk-QINEFXUA.js.map
|
|
70
|
+
//# sourceMappingURL=chunk-QINEFXUA.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/button-group/ButtonGroup.tsx","../src/components/button-group/ButtonGroupSeparator.tsx","../src/components/button-group/ButtonGroupText.tsx"],"names":["jsx"],"mappings":";;;;AAQO,IAAM,cAAc,CAAC;AAAA,EAC1B,KAAA,EAAO,SAAA;AAAA,EACP,WAAA,GAAc,YAAA;AAAA,EACd,QAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAwB;AACtB,EAAA,MAAM,aAAa,WAAA,KAAgB,UAAA;AAEnC,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAK,OAAA;AAAA,MACL,WAAA,EAAU,cAAA;AAAA,MACV,kBAAA,EAAkB,WAAA;AAAA,MAClB,KAAA,EAAO,EAAA;AAAA,QACL,8GAAA;AAAA,QACA,4FAAA;AAAA,QACA,aACI,0HAAA,GACA,iHAAA;AAAA,QACJ;AAAA,OACF;AAAA,MACC,GAAG,IAAA;AAAA,MAEH;AAAA;AAAA,GACH;AAEJ;AC3BO,IAAM,uBAAuB,CAAC;AAAA,EACnC,KAAA,EAAO,SAAA;AAAA,EACP,WAAA,GAAc,UAAA;AAAA,EACd,GAAG;AACL,CAAA,qBACEA,GAAAA;AAAA,EAAC,MAAA;AAAA,EAAA;AAAA,IACC,WAAA,EAAU,wBAAA;AAAA,IACV,kBAAA,EAAkB,WAAA;AAAA,IAClB,KAAA,EAAO,EAAA;AAAA,MACL,uDAAA;AAAA,MACA,WAAA,KAAgB,eACZ,2DAAA,GACA,2DAAA;AAAA,MACJ;AAAA,KACF;AAAA,IACC,GAAG;AAAA;AACN;ACfF,IAAM,SAAA,GACJ,+IAAA;AAEK,IAAM,kBAAkB,CAAC;AAAA,EAC9B,KAAA,EAAO,SAAA;AAAA,EACP,QAAA;AAAA,EACA,OAAA,GAAU,KAAA;AAAA,EACV,GAAG;AACL,CAAA,KAA4B;AAC1B,EAAA,IAAI,OAAA,EAAS;AACX,IAAA,IAAI,CAAC,cAAA,CAAe,QAAQ,CAAA,EAAG;AAC7B,MAAA,OAAO,IAAA;AAAA,IACT;AAEA,IAAA,MAAM,UAAA,GAAc,QAAA,CAAS,KAAA,IAAS,EAAC;AAKvC,IAAA,OAAO,aAAa,QAAA,EAAU;AAAA,MAC5B,GAAG,UAAA;AAAA,MACH,GAAI,IAAA;AAAA,MACJ,OAAO,EAAA,CAAG,UAAA,CAAW,OAAO,UAAA,CAAW,SAAA,EAAW,WAAW,SAAS,CAAA;AAAA,MACtE,WAAA,EAAa;AAAA,KACd,CAAA;AAAA,EACH;AAEA,EAAA,uBACEA,GAAAA,CAAC,KAAA,EAAA,EAAI,WAAA,EAAU,mBAAA,EAAoB,KAAA,EAAO,EAAA,CAAG,SAAA,EAAW,SAAS,CAAA,EAAI,GAAG,IAAA,EACrE,QAAA,EACH,CAAA;AAEJ","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/components/button-group/ButtonGroup.tsx","../src/components/button-group/ButtonGroupSeparator.tsx","../src/components/button-group/ButtonGroupText.tsx"],"names":["jsx"],"mappings":";;;;AAQO,IAAM,cAAc,CAAC;AAAA,EAC1B,KAAA,EAAO,SAAA;AAAA,EACP,WAAA,GAAc,YAAA;AAAA,EACd,QAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAwB;AACtB,EAAA,MAAM,aAAa,WAAA,KAAgB,UAAA;AAEnC,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAK,OAAA;AAAA,MACL,WAAA,EAAU,cAAA;AAAA,MACV,kBAAA,EAAkB,WAAA;AAAA,MAClB,KAAA,EAAO,EAAA;AAAA,QACL,8GAAA;AAAA,QACA,4FAAA;AAAA,QACA,aACI,0HAAA,GACA,iHAAA;AAAA,QACJ;AAAA,OACF;AAAA,MACC,GAAG,IAAA;AAAA,MAEH;AAAA;AAAA,GACH;AAEJ;AC3BO,IAAM,uBAAuB,CAAC;AAAA,EACnC,KAAA,EAAO,SAAA;AAAA,EACP,WAAA,GAAc,UAAA;AAAA,EACd,GAAG;AACL,CAAA,qBACEA,GAAAA;AAAA,EAAC,MAAA;AAAA,EAAA;AAAA,IACC,WAAA,EAAU,wBAAA;AAAA,IACV,kBAAA,EAAkB,WAAA;AAAA,IAClB,KAAA,EAAO,EAAA;AAAA,MACL,uDAAA;AAAA,MACA,WAAA,KAAgB,eACZ,2DAAA,GACA,2DAAA;AAAA,MACJ;AAAA,KACF;AAAA,IACC,GAAG;AAAA;AACN;ACfF,IAAM,SAAA,GACJ,+IAAA;AAEK,IAAM,kBAAkB,CAAC;AAAA,EAC9B,KAAA,EAAO,SAAA;AAAA,EACP,QAAA;AAAA,EACA,OAAA,GAAU,KAAA;AAAA,EACV,GAAG;AACL,CAAA,KAA4B;AAC1B,EAAA,IAAI,OAAA,EAAS;AACX,IAAA,IAAI,CAAC,cAAA,CAAe,QAAQ,CAAA,EAAG;AAC7B,MAAA,OAAO,IAAA;AAAA,IACT;AAEA,IAAA,MAAM,UAAA,GAAc,QAAA,CAAS,KAAA,IAAS,EAAC;AAKvC,IAAA,OAAO,aAAa,QAAA,EAAU;AAAA,MAC5B,GAAG,UAAA;AAAA,MACH,GAAI,IAAA;AAAA,MACJ,OAAO,EAAA,CAAG,UAAA,CAAW,OAAO,UAAA,CAAW,SAAA,EAAW,WAAW,SAAS,CAAA;AAAA,MACtE,WAAA,EAAa;AAAA,KACd,CAAA;AAAA,EACH;AAEA,EAAA,uBACEA,GAAAA,CAAC,KAAA,EAAA,EAAI,WAAA,EAAU,mBAAA,EAAoB,KAAA,EAAO,EAAA,CAAG,SAAA,EAAW,SAAS,CAAA,EAAI,GAAG,IAAA,EACrE,QAAA,EACH,CAAA;AAEJ","file":"chunk-QINEFXUA.js","sourcesContent":["import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type ButtonGroupProps = JSX.HTMLAttributes<HTMLDivElement> & {\n orientation?: \"horizontal\" | \"vertical\";\n children?: ComponentChildren;\n};\n\nexport const ButtonGroup = ({\n class: className,\n orientation = \"horizontal\",\n children,\n ...rest\n}: ButtonGroupProps) => {\n const isVertical = orientation === \"vertical\";\n\n return (\n <div\n role=\"group\"\n data-slot=\"button-group\"\n data-orientation={orientation}\n class={cn(\n \"flex w-fit items-stretch *:focus-visible:relative *:focus-visible:z-10 has-[>[data-slot=button-group]]:gap-2\",\n \"[&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:min-w-0 [&>input]:flex-1\",\n isVertical\n ? \"flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none\"\n : \"[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none\",\n className,\n )}\n {...rest}\n >\n {children}\n </div>\n );\n};\n","import type { JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type ButtonGroupSeparatorProps = JSX.HTMLAttributes<HTMLSpanElement> & {\n orientation?: \"horizontal\" | \"vertical\";\n};\n\nexport const ButtonGroupSeparator = ({\n class: className,\n orientation = \"vertical\",\n ...rest\n}: ButtonGroupSeparatorProps) => (\n <span\n data-slot=\"button-group-separator\"\n data-orientation={orientation}\n class={cn(\n \"bg-border relative inline-block shrink-0 self-stretch\",\n orientation === \"horizontal\"\n ? \"mx-px h-px min-h-0 w-5 in-data-[slot=button-group]:w-auto\"\n : \"my-px h-5 min-w-0 w-px in-data-[slot=button-group]:h-auto\",\n className,\n )}\n {...rest}\n />\n);\n","import { type ComponentChildren, cloneElement, isValidElement, type JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type ButtonGroupTextProps = Omit<JSX.HTMLAttributes<HTMLDivElement>, \"size\"> & {\n children?: ComponentChildren;\n asChild?: boolean;\n};\n\nconst textClass =\n \"text-muted-foreground flex items-center text-sm font-normal [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\";\n\nexport const ButtonGroupText = ({\n class: className,\n children,\n asChild = false,\n ...rest\n}: ButtonGroupTextProps) => {\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, textClass, className),\n \"data-slot\": \"button-group-text\",\n });\n }\n\n return (\n <div data-slot=\"button-group-text\" class={cn(textClass, className)} {...rest}>\n {children}\n </div>\n );\n};\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Button } from './chunk-
|
|
2
|
-
import { cn } from './chunk-
|
|
1
|
+
import { Button } from './chunk-DDRX6NNW.js';
|
|
2
|
+
import { cn } from './chunk-XIANSPQO.js';
|
|
3
3
|
import { signal } from '@preact/signals';
|
|
4
4
|
import EmblaCarousel from 'embla-carousel';
|
|
5
5
|
import Autoplay from 'embla-carousel-autoplay';
|
|
@@ -357,5 +357,5 @@ var carousel_default = {
|
|
|
357
357
|
};
|
|
358
358
|
|
|
359
359
|
export { Carousel, CarouselAutoplayPause, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, carousel_default };
|
|
360
|
-
//# sourceMappingURL=chunk-
|
|
361
|
-
//# sourceMappingURL=chunk-
|
|
360
|
+
//# sourceMappingURL=chunk-QWSD34JA.js.map
|
|
361
|
+
//# sourceMappingURL=chunk-QWSD34JA.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/carousel/Carousel.tsx","../src/components/carousel/CarouselAutoplayPause.tsx","../src/components/carousel/CarouselContent.tsx","../src/components/carousel/CarouselItem.tsx","../src/components/carousel/CarouselNext.tsx","../src/components/carousel/CarouselPrevious.tsx","../src/components/carousel/index.ts"],"names":["useState","jsx","jsxs","Fragment"],"mappings":"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","file":"chunk-FIOKWIJP.js","sourcesContent":["import { signal } from \"@preact/signals\";\nimport EmblaCarousel, {\n type EmblaCarouselType,\n type EmblaOptionsType,\n type EmblaPluginType,\n} from \"embla-carousel\";\nimport Autoplay from \"embla-carousel-autoplay\";\nimport type { ComponentChildren, JSX } from \"preact\";\nimport { createContext } from \"preact\";\nimport { useCallback, useContext, useLayoutEffect, useMemo, useRef, useState } from \"preact/hooks\";\nimport { cn } from \"../../lib/utils\";\n\nexport type CarouselApi = EmblaCarouselType;\n\nexport type CarouselOrientation = \"horizontal\" | \"vertical\";\n\ntype CarouselContextValue = {\n setCarouselViewport: (el: HTMLDivElement | null) => void;\n embla: ReturnType<typeof signal<EmblaCarouselType | null>>;\n canScrollPrev: ReturnType<typeof signal<boolean>>;\n canScrollNext: ReturnType<typeof signal<boolean>>;\n scrollPrev: () => void;\n scrollNext: () => void;\n orientation: CarouselOrientation;\n autoplayPluginRef: { current: EmblaPluginType | null };\n};\n\nconst CarouselContext = createContext<CarouselContextValue | null>(null);\n\nexport const useCarousel = (strict = true) => {\n const context = useContext(CarouselContext);\n if (!context && strict) throw new Error(\"Carousel subcomponents must be used within Carousel\");\n return context;\n};\n\nexport type CarouselProps = Omit<JSX.HTMLAttributes<HTMLDivElement>, \"dir\"> & {\n opts?: EmblaOptionsType;\n orientation?: CarouselOrientation;\n setApi?: (api: CarouselApi | null) => void;\n plugins?: EmblaPluginType[];\n /** When `plugins` is omitted, adds `embla-carousel-autoplay`. Ignored if `plugins` is set. */\n autoplay?: boolean | { delay?: number; stopOnInteraction?: boolean };\n /** Accessible name for the carousel region. */\n label?: string;\n dir?: \"ltr\" | \"rtl\";\n children?: ComponentChildren;\n};\n\nexport const Carousel = ({\n opts,\n orientation = \"horizontal\",\n setApi,\n plugins,\n autoplay = false,\n label,\n dir,\n class: className,\n children,\n \"aria-label\": ariaLabel,\n ...rest\n}: CarouselProps) => {\n const [viewport, setViewport] = useState<HTMLDivElement | null>(null);\n const lastViewport = useRef<HTMLDivElement | null>(null);\n const setCarouselViewport = useCallback((el: HTMLDivElement | null) => {\n if (lastViewport.current === el) return;\n lastViewport.current = el;\n setViewport(el);\n }, []);\n const signalsRef = useRef<{\n embla: ReturnType<typeof signal<EmblaCarouselType | null>>;\n canScrollPrev: ReturnType<typeof signal<boolean>>;\n canScrollNext: ReturnType<typeof signal<boolean>>;\n } | null>(null);\n if (!signalsRef.current) {\n signalsRef.current = {\n embla: signal<EmblaCarouselType | null>(null),\n canScrollPrev: signal(false),\n canScrollNext: signal(false),\n };\n }\n const { embla, canScrollPrev, canScrollNext } = signalsRef.current;\n const autoplayPluginRef = useRef<EmblaPluginType | null>(null);\n\n const optsKey = JSON.stringify(opts ?? {});\n\n const mergedOpts = useMemo<EmblaOptionsType>(() => {\n const base = opts ?? {};\n return {\n ...base,\n align: base.align ?? (orientation === \"vertical\" ? \"start\" : \"center\"),\n axis: orientation === \"vertical\" ? \"y\" : \"x\",\n ...(dir ? { direction: dir } : {}),\n };\n }, [optsKey, orientation, dir]);\n\n const effectivePlugins = useMemo<EmblaPluginType[]>(() => {\n autoplayPluginRef.current = null;\n if (plugins !== undefined) return plugins;\n if (!autoplay) return [];\n const plugin = Autoplay(typeof autoplay === \"object\" ? autoplay : {});\n autoplayPluginRef.current = plugin;\n return [plugin];\n }, [plugins, autoplay]);\n\n const pluginsKey = useMemo(\n () => effectivePlugins.map((p) => p.name).join(\",\"),\n [effectivePlugins],\n );\n\n useLayoutEffect(() => {\n if (!viewport) return;\n\n const api = EmblaCarousel(viewport, mergedOpts, effectivePlugins);\n embla.value = api;\n\n const updateScroll = () => {\n canScrollPrev.value = api.canScrollPrev();\n canScrollNext.value = api.canScrollNext();\n };\n\n const onSelect = () => updateScroll();\n const onReInit = () => updateScroll();\n\n api.on(\"select\", onSelect);\n api.on(\"reInit\", onReInit);\n updateScroll();\n setApi?.(api);\n\n return () => {\n api.off(\"select\", onSelect);\n api.off(\"reInit\", onReInit);\n setApi?.(null);\n api.destroy();\n embla.value = null;\n canScrollPrev.value = false;\n canScrollNext.value = false;\n };\n }, [viewport, mergedOpts, pluginsKey, optsKey, orientation, dir]);\n\n return (\n <CarouselContext.Provider\n value={{\n setCarouselViewport,\n embla,\n canScrollPrev,\n canScrollNext,\n scrollPrev: () => embla.value?.scrollPrev(),\n scrollNext: () => embla.value?.scrollNext(),\n orientation,\n autoplayPluginRef,\n }}\n >\n <div\n role=\"region\"\n aria-roledescription=\"carousel\"\n aria-label={label ?? ariaLabel}\n data-slot=\"carousel\"\n data-carousel-orientation={orientation}\n class={cn(\"relative\", className)}\n dir={dir}\n {...rest}\n >\n {children}\n </div>\n </CarouselContext.Provider>\n );\n};\n","import type { JSX } from \"preact\";\nimport { useState } from \"preact/hooks\";\nimport { cn } from \"../../lib/utils\";\nimport { Button } from \"../button/Button\";\nimport { useCarousel } from \"./Carousel\";\n\nexport type CarouselAutoplayPauseProps = Omit<\n JSX.ButtonHTMLAttributes<HTMLButtonElement>,\n \"size\"\n> & {\n class?: string;\n};\n\nexport const CarouselAutoplayPause = ({\n class: className,\n onClick,\n ...rest\n}: CarouselAutoplayPauseProps) => {\n const ctx = useCarousel(false);\n const [paused, setPaused] = useState(false);\n const plugin = ctx?.autoplayPluginRef.current as { play: () => void; stop: () => void } | null;\n\n if (!plugin) {\n return null;\n }\n\n return (\n <Button\n type=\"button\"\n variant=\"outline\"\n size=\"icon-sm\"\n data-slot=\"carousel-autoplay-pause\"\n aria-label={paused ? \"Resume autoplay\" : \"Pause autoplay\"}\n aria-pressed={paused}\n class={cn(\"absolute end-2 top-2 z-10 size-8 rounded-full shadow-xs\", className)}\n onClick={(event) => {\n if (paused) {\n plugin.play();\n } else {\n plugin.stop();\n }\n setPaused(!paused);\n onClick?.(event);\n }}\n {...rest}\n >\n <span class=\"sr-only\">{paused ? \"Resume autoplay\" : \"Pause autoplay\"}</span>\n {paused ? (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n class=\"size-3.5\"\n aria-hidden\n >\n <path d=\"M8 5v14l11-7z\" />\n </svg>\n ) : (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n class=\"size-3.5\"\n aria-hidden\n >\n <path d=\"M6 5h4v14H6V5zm8 0h4v14h-4V5z\" />\n </svg>\n )}\n </Button>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { useCarousel } from \"./Carousel\";\n\nexport type CarouselContentProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const CarouselContent = ({ class: className, children, ...rest }: CarouselContentProps) => {\n const ctx = useCarousel(true);\n if (!ctx) throw new Error(\"CarouselContent requires Carousel\");\n const vertical = ctx.orientation === \"vertical\";\n\n return (\n <div\n ref={(el) => {\n ctx.setCarouselViewport(el);\n }}\n data-slot=\"carousel-viewport\"\n data-carousel-axis={vertical ? \"y\" : \"x\"}\n class={cn(\"overflow-hidden\", vertical && \"min-h-0 touch-pan-y\", className)}\n {...rest}\n >\n <div\n data-slot=\"carousel-container\"\n class={cn(\"flex\", vertical ? \"h-full min-h-0 flex-col\" : \"flex-row\")}\n >\n {children}\n </div>\n </div>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type CarouselItemProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const CarouselItem = ({ class: className, children, ...rest }: CarouselItemProps) => (\n <div\n role=\"group\"\n aria-roledescription=\"slide\"\n data-slot=\"carousel-item\"\n class={cn(\"min-h-0 min-w-0 shrink-0 grow-0 basis-full\", className)}\n {...rest}\n >\n {children}\n </div>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { Button } from \"../button/Button\";\nimport { useCarousel } from \"./Carousel\";\n\nconst ChevronRight = ({ class: className }: { class?: string }) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\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-4\", className)}\n aria-hidden\n >\n <path d=\"m9 18 6-6-6-6\" />\n </svg>\n);\n\nconst ChevronDown = ({ class: className }: { class?: string }) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\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-4\", className)}\n aria-hidden\n >\n <path d=\"m6 9 6 6 6-6\" />\n </svg>\n);\n\nexport type CarouselNextProps = Omit<JSX.ButtonHTMLAttributes<HTMLButtonElement>, \"size\"> & {\n children?: ComponentChildren;\n};\n\nexport const CarouselNext = ({\n children,\n class: className,\n onClick,\n disabled,\n ...rest\n}: CarouselNextProps) => {\n const ctx = useCarousel(false);\n const vertical = ctx?.orientation === \"vertical\";\n const canNext = ctx?.canScrollNext.value ?? false;\n\n return (\n <Button\n {...rest}\n type=\"button\"\n variant=\"outline\"\n size=\"icon\"\n data-slot=\"carousel-next\"\n aria-label=\"Next slide\"\n disabled={disabled ?? !canNext}\n class={cn(\n \"absolute z-10 size-8 rounded-full shadow-xs\",\n vertical\n ? \"-bottom-12 left-1/2 -translate-x-1/2\"\n : \"-end-12 top-1/2 -translate-y-1/2 rtl:-rotate-180\",\n className,\n )}\n onClick={(event) => {\n ctx?.scrollNext();\n onClick?.(event);\n }}\n >\n {children ?? (\n <>\n <span class=\"sr-only\">Next slide</span>\n {vertical ? <ChevronDown /> : <ChevronRight />}\n </>\n )}\n </Button>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { Button } from \"../button/Button\";\nimport { useCarousel } from \"./Carousel\";\n\nconst ChevronLeft = ({ class: className }: { class?: string }) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\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-4\", className)}\n aria-hidden\n >\n <path d=\"m15 18-6-6 6-6\" />\n </svg>\n);\n\nconst ChevronUp = ({ class: className }: { class?: string }) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\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-4\", className)}\n aria-hidden\n >\n <path d=\"m18 15-6-6-6 6\" />\n </svg>\n);\n\nexport type CarouselPreviousProps = Omit<JSX.ButtonHTMLAttributes<HTMLButtonElement>, \"size\"> & {\n children?: ComponentChildren;\n};\n\nexport const CarouselPrevious = ({\n children,\n class: className,\n onClick,\n disabled,\n ...rest\n}: CarouselPreviousProps) => {\n const ctx = useCarousel(false);\n const vertical = ctx?.orientation === \"vertical\";\n const canPrev = ctx?.canScrollPrev.value ?? false;\n\n return (\n <Button\n {...rest}\n type=\"button\"\n variant=\"outline\"\n size=\"icon\"\n data-slot=\"carousel-previous\"\n aria-label=\"Previous slide\"\n disabled={disabled ?? !canPrev}\n class={cn(\n \"absolute z-10 size-8 rounded-full shadow-xs\",\n vertical\n ? \"-top-12 left-1/2 -translate-x-1/2\"\n : \"-start-12 top-1/2 -translate-y-1/2 rtl:-rotate-180\",\n className,\n )}\n onClick={(event) => {\n ctx?.scrollPrev();\n onClick?.(event);\n }}\n >\n {children ?? (\n <>\n <span class=\"sr-only\">Previous slide</span>\n {vertical ? <ChevronUp /> : <ChevronLeft />}\n </>\n )}\n </Button>\n );\n};\n","export {\n Carousel,\n type CarouselApi,\n type CarouselOrientation,\n type CarouselProps,\n} from \"./Carousel\";\nexport { CarouselAutoplayPause, type CarouselAutoplayPauseProps } from \"./CarouselAutoplayPause\";\nexport { CarouselContent, type CarouselContentProps } from \"./CarouselContent\";\nexport { CarouselItem, type CarouselItemProps } from \"./CarouselItem\";\nexport { CarouselNext, type CarouselNextProps } from \"./CarouselNext\";\nexport { CarouselPrevious, type CarouselPreviousProps } from \"./CarouselPrevious\";\n\nimport { Carousel } from \"./Carousel\";\nimport { CarouselAutoplayPause } from \"./CarouselAutoplayPause\";\nimport { CarouselContent } from \"./CarouselContent\";\nimport { CarouselItem } from \"./CarouselItem\";\nimport { CarouselNext } from \"./CarouselNext\";\nimport { CarouselPrevious } from \"./CarouselPrevious\";\n\nexport default {\n Root: Carousel,\n Content: CarouselContent,\n Item: CarouselItem,\n Previous: CarouselPrevious,\n Next: CarouselNext,\n AutoplayPause: CarouselAutoplayPause,\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/carousel/Carousel.tsx","../src/components/carousel/CarouselAutoplayPause.tsx","../src/components/carousel/CarouselContent.tsx","../src/components/carousel/CarouselItem.tsx","../src/components/carousel/CarouselNext.tsx","../src/components/carousel/CarouselPrevious.tsx","../src/components/carousel/index.ts"],"names":["useState","jsx","jsxs","Fragment"],"mappings":"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","file":"chunk-QWSD34JA.js","sourcesContent":["import { signal } from \"@preact/signals\";\nimport EmblaCarousel, {\n type EmblaCarouselType,\n type EmblaOptionsType,\n type EmblaPluginType,\n} from \"embla-carousel\";\nimport Autoplay from \"embla-carousel-autoplay\";\nimport type { ComponentChildren, JSX } from \"preact\";\nimport { createContext } from \"preact\";\nimport { useCallback, useContext, useLayoutEffect, useMemo, useRef, useState } from \"preact/hooks\";\nimport { cn } from \"../../lib/utils\";\n\nexport type CarouselApi = EmblaCarouselType;\n\nexport type CarouselOrientation = \"horizontal\" | \"vertical\";\n\ntype CarouselContextValue = {\n setCarouselViewport: (el: HTMLDivElement | null) => void;\n embla: ReturnType<typeof signal<EmblaCarouselType | null>>;\n canScrollPrev: ReturnType<typeof signal<boolean>>;\n canScrollNext: ReturnType<typeof signal<boolean>>;\n scrollPrev: () => void;\n scrollNext: () => void;\n orientation: CarouselOrientation;\n autoplayPluginRef: { current: EmblaPluginType | null };\n};\n\nconst CarouselContext = createContext<CarouselContextValue | null>(null);\n\nexport const useCarousel = (strict = true) => {\n const context = useContext(CarouselContext);\n if (!context && strict) throw new Error(\"Carousel subcomponents must be used within Carousel\");\n return context;\n};\n\nexport type CarouselProps = Omit<JSX.HTMLAttributes<HTMLDivElement>, \"dir\"> & {\n opts?: EmblaOptionsType;\n orientation?: CarouselOrientation;\n setApi?: (api: CarouselApi | null) => void;\n plugins?: EmblaPluginType[];\n /** When `plugins` is omitted, adds `embla-carousel-autoplay`. Ignored if `plugins` is set. */\n autoplay?: boolean | { delay?: number; stopOnInteraction?: boolean };\n /** Accessible name for the carousel region. */\n label?: string;\n dir?: \"ltr\" | \"rtl\";\n children?: ComponentChildren;\n};\n\nexport const Carousel = ({\n opts,\n orientation = \"horizontal\",\n setApi,\n plugins,\n autoplay = false,\n label,\n dir,\n class: className,\n children,\n \"aria-label\": ariaLabel,\n ...rest\n}: CarouselProps) => {\n const [viewport, setViewport] = useState<HTMLDivElement | null>(null);\n const lastViewport = useRef<HTMLDivElement | null>(null);\n const setCarouselViewport = useCallback((el: HTMLDivElement | null) => {\n if (lastViewport.current === el) return;\n lastViewport.current = el;\n setViewport(el);\n }, []);\n const signalsRef = useRef<{\n embla: ReturnType<typeof signal<EmblaCarouselType | null>>;\n canScrollPrev: ReturnType<typeof signal<boolean>>;\n canScrollNext: ReturnType<typeof signal<boolean>>;\n } | null>(null);\n if (!signalsRef.current) {\n signalsRef.current = {\n embla: signal<EmblaCarouselType | null>(null),\n canScrollPrev: signal(false),\n canScrollNext: signal(false),\n };\n }\n const { embla, canScrollPrev, canScrollNext } = signalsRef.current;\n const autoplayPluginRef = useRef<EmblaPluginType | null>(null);\n\n const optsKey = JSON.stringify(opts ?? {});\n\n const mergedOpts = useMemo<EmblaOptionsType>(() => {\n const base = opts ?? {};\n return {\n ...base,\n align: base.align ?? (orientation === \"vertical\" ? \"start\" : \"center\"),\n axis: orientation === \"vertical\" ? \"y\" : \"x\",\n ...(dir ? { direction: dir } : {}),\n };\n }, [optsKey, orientation, dir]);\n\n const effectivePlugins = useMemo<EmblaPluginType[]>(() => {\n autoplayPluginRef.current = null;\n if (plugins !== undefined) return plugins;\n if (!autoplay) return [];\n const plugin = Autoplay(typeof autoplay === \"object\" ? autoplay : {});\n autoplayPluginRef.current = plugin;\n return [plugin];\n }, [plugins, autoplay]);\n\n const pluginsKey = useMemo(\n () => effectivePlugins.map((p) => p.name).join(\",\"),\n [effectivePlugins],\n );\n\n useLayoutEffect(() => {\n if (!viewport) return;\n\n const api = EmblaCarousel(viewport, mergedOpts, effectivePlugins);\n embla.value = api;\n\n const updateScroll = () => {\n canScrollPrev.value = api.canScrollPrev();\n canScrollNext.value = api.canScrollNext();\n };\n\n const onSelect = () => updateScroll();\n const onReInit = () => updateScroll();\n\n api.on(\"select\", onSelect);\n api.on(\"reInit\", onReInit);\n updateScroll();\n setApi?.(api);\n\n return () => {\n api.off(\"select\", onSelect);\n api.off(\"reInit\", onReInit);\n setApi?.(null);\n api.destroy();\n embla.value = null;\n canScrollPrev.value = false;\n canScrollNext.value = false;\n };\n }, [viewport, mergedOpts, pluginsKey, optsKey, orientation, dir]);\n\n return (\n <CarouselContext.Provider\n value={{\n setCarouselViewport,\n embla,\n canScrollPrev,\n canScrollNext,\n scrollPrev: () => embla.value?.scrollPrev(),\n scrollNext: () => embla.value?.scrollNext(),\n orientation,\n autoplayPluginRef,\n }}\n >\n <div\n role=\"region\"\n aria-roledescription=\"carousel\"\n aria-label={label ?? ariaLabel}\n data-slot=\"carousel\"\n data-carousel-orientation={orientation}\n class={cn(\"relative\", className)}\n dir={dir}\n {...rest}\n >\n {children}\n </div>\n </CarouselContext.Provider>\n );\n};\n","import type { JSX } from \"preact\";\nimport { useState } from \"preact/hooks\";\nimport { cn } from \"../../lib/utils\";\nimport { Button } from \"../button/Button\";\nimport { useCarousel } from \"./Carousel\";\n\nexport type CarouselAutoplayPauseProps = Omit<\n JSX.ButtonHTMLAttributes<HTMLButtonElement>,\n \"size\"\n> & {\n class?: string;\n};\n\nexport const CarouselAutoplayPause = ({\n class: className,\n onClick,\n ...rest\n}: CarouselAutoplayPauseProps) => {\n const ctx = useCarousel(false);\n const [paused, setPaused] = useState(false);\n const plugin = ctx?.autoplayPluginRef.current as { play: () => void; stop: () => void } | null;\n\n if (!plugin) {\n return null;\n }\n\n return (\n <Button\n type=\"button\"\n variant=\"outline\"\n size=\"icon-sm\"\n data-slot=\"carousel-autoplay-pause\"\n aria-label={paused ? \"Resume autoplay\" : \"Pause autoplay\"}\n aria-pressed={paused}\n class={cn(\"absolute end-2 top-2 z-10 size-8 rounded-full shadow-xs\", className)}\n onClick={(event) => {\n if (paused) {\n plugin.play();\n } else {\n plugin.stop();\n }\n setPaused(!paused);\n onClick?.(event);\n }}\n {...rest}\n >\n <span class=\"sr-only\">{paused ? \"Resume autoplay\" : \"Pause autoplay\"}</span>\n {paused ? (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n class=\"size-3.5\"\n aria-hidden\n >\n <path d=\"M8 5v14l11-7z\" />\n </svg>\n ) : (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n class=\"size-3.5\"\n aria-hidden\n >\n <path d=\"M6 5h4v14H6V5zm8 0h4v14h-4V5z\" />\n </svg>\n )}\n </Button>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { useCarousel } from \"./Carousel\";\n\nexport type CarouselContentProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const CarouselContent = ({ class: className, children, ...rest }: CarouselContentProps) => {\n const ctx = useCarousel(true);\n if (!ctx) throw new Error(\"CarouselContent requires Carousel\");\n const vertical = ctx.orientation === \"vertical\";\n\n return (\n <div\n ref={(el) => {\n ctx.setCarouselViewport(el);\n }}\n data-slot=\"carousel-viewport\"\n data-carousel-axis={vertical ? \"y\" : \"x\"}\n class={cn(\"overflow-hidden\", vertical && \"min-h-0 touch-pan-y\", className)}\n {...rest}\n >\n <div\n data-slot=\"carousel-container\"\n class={cn(\"flex\", vertical ? \"h-full min-h-0 flex-col\" : \"flex-row\")}\n >\n {children}\n </div>\n </div>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type CarouselItemProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const CarouselItem = ({ class: className, children, ...rest }: CarouselItemProps) => (\n <div\n role=\"group\"\n aria-roledescription=\"slide\"\n data-slot=\"carousel-item\"\n class={cn(\"min-h-0 min-w-0 shrink-0 grow-0 basis-full\", className)}\n {...rest}\n >\n {children}\n </div>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { Button } from \"../button/Button\";\nimport { useCarousel } from \"./Carousel\";\n\nconst ChevronRight = ({ class: className }: { class?: string }) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\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-4\", className)}\n aria-hidden\n >\n <path d=\"m9 18 6-6-6-6\" />\n </svg>\n);\n\nconst ChevronDown = ({ class: className }: { class?: string }) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\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-4\", className)}\n aria-hidden\n >\n <path d=\"m6 9 6 6 6-6\" />\n </svg>\n);\n\nexport type CarouselNextProps = Omit<JSX.ButtonHTMLAttributes<HTMLButtonElement>, \"size\"> & {\n children?: ComponentChildren;\n};\n\nexport const CarouselNext = ({\n children,\n class: className,\n onClick,\n disabled,\n ...rest\n}: CarouselNextProps) => {\n const ctx = useCarousel(false);\n const vertical = ctx?.orientation === \"vertical\";\n const canNext = ctx?.canScrollNext.value ?? false;\n\n return (\n <Button\n {...rest}\n type=\"button\"\n variant=\"outline\"\n size=\"icon\"\n data-slot=\"carousel-next\"\n aria-label=\"Next slide\"\n disabled={disabled ?? !canNext}\n class={cn(\n \"absolute z-10 size-8 rounded-full shadow-xs\",\n vertical\n ? \"-bottom-12 left-1/2 -translate-x-1/2\"\n : \"-end-12 top-1/2 -translate-y-1/2 rtl:-rotate-180\",\n className,\n )}\n onClick={(event) => {\n ctx?.scrollNext();\n onClick?.(event);\n }}\n >\n {children ?? (\n <>\n <span class=\"sr-only\">Next slide</span>\n {vertical ? <ChevronDown /> : <ChevronRight />}\n </>\n )}\n </Button>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { Button } from \"../button/Button\";\nimport { useCarousel } from \"./Carousel\";\n\nconst ChevronLeft = ({ class: className }: { class?: string }) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\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-4\", className)}\n aria-hidden\n >\n <path d=\"m15 18-6-6 6-6\" />\n </svg>\n);\n\nconst ChevronUp = ({ class: className }: { class?: string }) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\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-4\", className)}\n aria-hidden\n >\n <path d=\"m18 15-6-6-6 6\" />\n </svg>\n);\n\nexport type CarouselPreviousProps = Omit<JSX.ButtonHTMLAttributes<HTMLButtonElement>, \"size\"> & {\n children?: ComponentChildren;\n};\n\nexport const CarouselPrevious = ({\n children,\n class: className,\n onClick,\n disabled,\n ...rest\n}: CarouselPreviousProps) => {\n const ctx = useCarousel(false);\n const vertical = ctx?.orientation === \"vertical\";\n const canPrev = ctx?.canScrollPrev.value ?? false;\n\n return (\n <Button\n {...rest}\n type=\"button\"\n variant=\"outline\"\n size=\"icon\"\n data-slot=\"carousel-previous\"\n aria-label=\"Previous slide\"\n disabled={disabled ?? !canPrev}\n class={cn(\n \"absolute z-10 size-8 rounded-full shadow-xs\",\n vertical\n ? \"-top-12 left-1/2 -translate-x-1/2\"\n : \"-start-12 top-1/2 -translate-y-1/2 rtl:-rotate-180\",\n className,\n )}\n onClick={(event) => {\n ctx?.scrollPrev();\n onClick?.(event);\n }}\n >\n {children ?? (\n <>\n <span class=\"sr-only\">Previous slide</span>\n {vertical ? <ChevronUp /> : <ChevronLeft />}\n </>\n )}\n </Button>\n );\n};\n","export {\n Carousel,\n type CarouselApi,\n type CarouselOrientation,\n type CarouselProps,\n} from \"./Carousel\";\nexport { CarouselAutoplayPause, type CarouselAutoplayPauseProps } from \"./CarouselAutoplayPause\";\nexport { CarouselContent, type CarouselContentProps } from \"./CarouselContent\";\nexport { CarouselItem, type CarouselItemProps } from \"./CarouselItem\";\nexport { CarouselNext, type CarouselNextProps } from \"./CarouselNext\";\nexport { CarouselPrevious, type CarouselPreviousProps } from \"./CarouselPrevious\";\n\nimport { Carousel } from \"./Carousel\";\nimport { CarouselAutoplayPause } from \"./CarouselAutoplayPause\";\nimport { CarouselContent } from \"./CarouselContent\";\nimport { CarouselItem } from \"./CarouselItem\";\nimport { CarouselNext } from \"./CarouselNext\";\nimport { CarouselPrevious } from \"./CarouselPrevious\";\n\nexport default {\n Root: Carousel,\n Content: CarouselContent,\n Item: CarouselItem,\n Previous: CarouselPrevious,\n Next: CarouselNext,\n AutoplayPause: CarouselAutoplayPause,\n};\n"]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { textarea, Textarea } from './chunk-
|
|
1
|
+
import { textarea, Textarea } from './chunk-PVQUVEZV.js';
|
|
2
2
|
|
|
3
3
|
// src/components/textarea/index.ts
|
|
4
4
|
var TextareaVariants = { textarea };
|
|
5
5
|
var textarea_default = Textarea;
|
|
6
6
|
|
|
7
7
|
export { TextareaVariants, textarea_default };
|
|
8
|
-
//# sourceMappingURL=chunk-
|
|
9
|
-
//# sourceMappingURL=chunk-
|
|
8
|
+
//# sourceMappingURL=chunk-RLBAA7WW.js.map
|
|
9
|
+
//# sourceMappingURL=chunk-RLBAA7WW.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/textarea/index.ts"],"names":[],"mappings":";;;AAEA,IAAM,gBAAA,GAAmB,EAAE,QAAA;AAI3B,IAAO,gBAAA,GAAQ","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/components/textarea/index.ts"],"names":[],"mappings":";;;AAEA,IAAM,gBAAA,GAAmB,EAAE,QAAA;AAI3B,IAAO,gBAAA,GAAQ","file":"chunk-RLBAA7WW.js","sourcesContent":["import { Textarea, textarea } from \"./Textarea\";\n\nconst TextareaVariants = { textarea };\n\nexport { Textarea, TextareaVariants };\n\nexport default Textarea;\n"]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
+
import { cn } from './chunk-XIANSPQO.js';
|
|
1
2
|
import { signal } from '@preact/signals';
|
|
2
3
|
import { createContext, isValidElement, cloneElement } from 'preact';
|
|
3
4
|
import { useMemo, useRef, useCallback, useEffect, useContext } from 'preact/hooks';
|
|
4
5
|
import { jsx } from 'preact/jsx-runtime';
|
|
5
6
|
import { tv } from 'tailwind-variants';
|
|
6
7
|
|
|
7
|
-
// src/components/hover-card/HoverCard.tsx
|
|
8
8
|
var HoverCardContext = createContext(null);
|
|
9
9
|
var useHoverCard = () => {
|
|
10
10
|
const context = useContext(HoverCardContext);
|
|
@@ -156,7 +156,7 @@ var HoverCardContent = ({
|
|
|
156
156
|
"data-side": side,
|
|
157
157
|
"data-align": align,
|
|
158
158
|
"data-state": "open",
|
|
159
|
-
class:
|
|
159
|
+
class: cn(hoverCardContent({ side }), positionBySide[side], alignClass, className),
|
|
160
160
|
style: inlineStyle ? { ...offsetStyle, ...inlineStyle } : offsetStyle,
|
|
161
161
|
onMouseEnter: (event) => {
|
|
162
162
|
pinOpen();
|
|
@@ -247,7 +247,7 @@ var HoverCardTrigger = ({
|
|
|
247
247
|
},
|
|
248
248
|
type: "button",
|
|
249
249
|
"data-slot": "hover-card-trigger",
|
|
250
|
-
class: hoverCardTrigger(
|
|
250
|
+
class: cn(hoverCardTrigger(), className),
|
|
251
251
|
...rest,
|
|
252
252
|
onMouseEnter: (event) => {
|
|
253
253
|
scheduleOpen();
|
|
@@ -278,5 +278,5 @@ var hover_card_default = {
|
|
|
278
278
|
};
|
|
279
279
|
|
|
280
280
|
export { HoverCard, HoverCardContent, HoverCardTrigger, hover_card_default };
|
|
281
|
-
//# sourceMappingURL=chunk-
|
|
282
|
-
//# sourceMappingURL=chunk-
|
|
281
|
+
//# sourceMappingURL=chunk-SEC7UN45.js.map
|
|
282
|
+
//# sourceMappingURL=chunk-SEC7UN45.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/hover-card/HoverCard.tsx","../src/components/hover-card/HoverCardContent.tsx","../src/components/hover-card/HoverCardTrigger.tsx","../src/components/hover-card/index.ts"],"names":["jsx","tv"],"mappings":"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","file":"chunk-SEC7UN45.js","sourcesContent":["import { signal } from \"@preact/signals\";\nimport type { ComponentChildren, JSX } from \"preact\";\nimport { createContext } from \"preact\";\nimport { useCallback, useContext, useEffect, useMemo, useRef } from \"preact/hooks\";\n\nexport type HoverCardContextValue = {\n open: ReturnType<typeof signal<boolean>>;\n openDelay: number;\n closeDelay: number;\n scheduleOpen: () => void;\n scheduleClose: () => void;\n /** Cancel pending timers and keep the card open (pointer entered content). */\n pinOpen: () => void;\n setOpenImmediate: (next: boolean) => void;\n};\n\nconst HoverCardContext = createContext<HoverCardContextValue | null>(null);\n\nexport const useHoverCard = () => {\n const context = useContext(HoverCardContext);\n if (!context) throw new Error(\"HoverCard subcomponents must be used within HoverCard\");\n return context;\n};\n\nexport type HoverCardProps = JSX.HTMLAttributes<HTMLDivElement> & {\n defaultOpen?: boolean;\n /** Delay before opening (ms). Radix default 700. */\n openDelay?: number;\n /** Delay before closing (ms). Radix default 300. */\n closeDelay?: number;\n children?: ComponentChildren;\n};\n\nexport const HoverCard = ({\n defaultOpen = false,\n openDelay = 700,\n closeDelay = 300,\n children,\n ...rest\n}: HoverCardProps) => {\n const open = useMemo(() => signal(defaultOpen), []);\n const openTimer = useRef<number | null>(null);\n const closeTimer = useRef<number | null>(null);\n\n const clearOpenTimer = useCallback(() => {\n if (openTimer.current !== null) {\n clearTimeout(openTimer.current);\n openTimer.current = null;\n }\n }, []);\n\n const clearCloseTimer = useCallback(() => {\n if (closeTimer.current !== null) {\n clearTimeout(closeTimer.current);\n closeTimer.current = null;\n }\n }, []);\n\n const setOpenImmediate = useCallback(\n (next: boolean) => {\n clearOpenTimer();\n clearCloseTimer();\n open.value = next;\n },\n [clearCloseTimer, clearOpenTimer, open],\n );\n\n const pinOpen = useCallback(() => {\n clearOpenTimer();\n clearCloseTimer();\n open.value = true;\n }, [clearCloseTimer, clearOpenTimer, open]);\n\n const scheduleOpen = useCallback(() => {\n clearCloseTimer();\n clearOpenTimer();\n openTimer.current = window.setTimeout(() => {\n openTimer.current = null;\n open.value = true;\n }, openDelay);\n }, [clearCloseTimer, clearOpenTimer, open, openDelay]);\n\n const scheduleClose = useCallback(() => {\n clearOpenTimer();\n clearCloseTimer();\n closeTimer.current = window.setTimeout(() => {\n closeTimer.current = null;\n open.value = false;\n }, closeDelay);\n }, [clearCloseTimer, clearOpenTimer, open, closeDelay]);\n\n useEffect(\n () => () => {\n clearOpenTimer();\n clearCloseTimer();\n },\n [clearCloseTimer, clearOpenTimer],\n );\n\n const value = useMemo(\n (): HoverCardContextValue => ({\n open,\n openDelay,\n closeDelay,\n scheduleOpen,\n scheduleClose,\n pinOpen,\n setOpenImmediate,\n }),\n [open, openDelay, closeDelay, scheduleOpen, scheduleClose, pinOpen, setOpenImmediate],\n );\n\n return (\n <HoverCardContext.Provider value={value}>\n <div\n data-slot=\"hover-card\"\n data-state={open.value ? \"open\" : \"closed\"}\n class=\"relative inline-flex\"\n {...rest}\n >\n {children}\n </div>\n </HoverCardContext.Provider>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\nimport { cn } from \"../../lib/utils\";\nimport { useHoverCard } from \"./HoverCard\";\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 hoverCardContent = tv({\n base: [\n \"bg-popover text-popover-foreground z-50 flex min-w-0 max-w-[calc(100vw-1.5rem)] flex-col gap-1 rounded-lg border p-3 text-sm shadow-md outline-none\",\n \"data-[state=open]:animate-in fade-in zoom-in-95\",\n \"absolute isolate\",\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 HoverCardContentProps = JSX.HTMLAttributes<HTMLDivElement> &\n VariantProps<typeof hoverCardContent> & {\n side?: \"top\" | \"bottom\" | \"left\" | \"right\";\n align?: \"start\" | \"center\" | \"end\";\n sideOffset?: number;\n children?: ComponentChildren;\n };\n\nexport const HoverCardContent = ({\n side = \"bottom\",\n align = \"center\",\n sideOffset = 8,\n class: className,\n style,\n children,\n onKeyDown,\n onMouseEnter,\n onMouseLeave,\n ...rest\n}: HoverCardContentProps) => {\n const { open, pinOpen, scheduleClose, setOpenImmediate } = useHoverCard();\n if (!open.value) 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 data-slot=\"hover-card-content\"\n role=\"dialog\"\n aria-modal=\"false\"\n tabIndex={-1}\n data-side={side}\n data-align={align}\n data-state=\"open\"\n class={cn(hoverCardContent({ side }), positionBySide[side], alignClass, className)}\n style={inlineStyle ? { ...offsetStyle, ...inlineStyle } : offsetStyle}\n onMouseEnter={(event) => {\n pinOpen();\n onMouseEnter?.(event);\n }}\n onMouseLeave={(event) => {\n scheduleClose();\n onMouseLeave?.(event);\n }}\n onKeyDown={(event) => {\n if (event.key === \"Escape\") {\n event.preventDefault();\n setOpenImmediate(false);\n return;\n }\n onKeyDown?.(event);\n }}\n {...rest}\n >\n {children}\n </div>\n );\n};\n","import { type ComponentChildren, cloneElement, isValidElement, type JSX } from \"preact\";\nimport { tv } from \"tailwind-variants\";\nimport { cn } from \"../../lib/utils\";\nimport { useHoverCard } from \"./HoverCard\";\n\nconst hoverCardTrigger = tv({\n base: [\n \"border-input bg-background hover:bg-muted inline-flex items-center justify-center rounded-md border px-3 py-2 text-sm font-medium shadow-xs transition-colors\",\n \"outline-none focus-visible:ring-3 focus-visible:ring-ring/50\",\n ],\n});\n\nexport type HoverCardTriggerProps = 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 HoverCardTrigger = ({\n asChild = false,\n class: className,\n children,\n onFocus,\n onBlur,\n onMouseEnter,\n onMouseLeave,\n ref: outerRef,\n ...rest\n}: HoverCardTriggerProps) => {\n const { scheduleOpen, scheduleClose } = useHoverCard();\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 onMouseEnter?: (event: JSX.TargetedMouseEvent<HTMLElement>) => void;\n onMouseLeave?: (event: JSX.TargetedMouseEvent<HTMLElement>) => void;\n onFocus?: (event: JSX.TargetedFocusEvent<HTMLElement>) => void;\n onBlur?: (event: JSX.TargetedFocusEvent<HTMLElement>) => void;\n };\n\n return cloneElement(children, {\n ...(childProps as Record<string, unknown>),\n ...(rest as Record<string, unknown>),\n \"data-slot\": \"hover-card-trigger\",\n onMouseEnter: (event: JSX.TargetedMouseEvent<HTMLElement>) => {\n childProps.onMouseEnter?.(event);\n scheduleOpen();\n onMouseEnter?.(event as JSX.TargetedMouseEvent<HTMLButtonElement>);\n },\n onMouseLeave: (event: JSX.TargetedMouseEvent<HTMLElement>) => {\n childProps.onMouseLeave?.(event);\n scheduleClose();\n onMouseLeave?.(event as JSX.TargetedMouseEvent<HTMLButtonElement>);\n },\n onFocus: (event: JSX.TargetedFocusEvent<HTMLElement>) => {\n childProps.onFocus?.(event);\n scheduleOpen();\n onFocus?.(event as JSX.TargetedFocusEvent<HTMLButtonElement>);\n },\n onBlur: (event: JSX.TargetedFocusEvent<HTMLElement>) => {\n childProps.onBlur?.(event);\n scheduleClose();\n onBlur?.(event as JSX.TargetedFocusEvent<HTMLButtonElement>);\n },\n ref: (node: HTMLElement | null) => {\n callRef(childProps.ref, node);\n callRef(outerRef, node);\n },\n } as never);\n }\n\n return (\n <button\n ref={(node) => {\n callRef(outerRef, node);\n }}\n type=\"button\"\n data-slot=\"hover-card-trigger\"\n class={cn(hoverCardTrigger(), className)}\n {...rest}\n onMouseEnter={(event) => {\n scheduleOpen();\n onMouseEnter?.(event);\n }}\n onMouseLeave={(event) => {\n scheduleClose();\n onMouseLeave?.(event);\n }}\n onFocus={(event) => {\n scheduleOpen();\n onFocus?.(event);\n }}\n onBlur={(event) => {\n scheduleClose();\n onBlur?.(event);\n }}\n >\n {children}\n </button>\n );\n};\n","import { HoverCard } from \"./HoverCard\";\nimport { HoverCardContent } from \"./HoverCardContent\";\nimport { HoverCardTrigger } from \"./HoverCardTrigger\";\n\nexport { HoverCard, HoverCardContent, HoverCardTrigger };\n\nexport default {\n Root: HoverCard,\n Trigger: HoverCardTrigger,\n Content: HoverCardContent,\n};\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { label, Label } from './chunk-BZMD4EZC.js';
|
|
2
|
+
|
|
3
|
+
// src/components/label/index.ts
|
|
4
|
+
var LabelVariants = { label };
|
|
5
|
+
var label_default = Label;
|
|
6
|
+
|
|
7
|
+
export { LabelVariants, label_default };
|
|
8
|
+
//# sourceMappingURL=chunk-SIA46B4Q.js.map
|
|
9
|
+
//# sourceMappingURL=chunk-SIA46B4Q.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/label/index.ts"],"names":[],"mappings":";;;AAEA,IAAM,aAAA,GAAgB,EAAE,KAAA;AAIxB,IAAO,aAAA,GAAQ","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/components/label/index.ts"],"names":[],"mappings":";;;AAEA,IAAM,aAAA,GAAgB,EAAE,KAAA;AAIxB,IAAO,aAAA,GAAQ","file":"chunk-SIA46B4Q.js","sourcesContent":["import { Label, label } from \"./Label\";\n\nconst LabelVariants = { label };\n\nexport { Label, LabelVariants };\n\nexport default Label;\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Table } from './chunk-
|
|
2
|
-
import { cn } from './chunk-
|
|
1
|
+
import { Table } from './chunk-JKEILBHG.js';
|
|
2
|
+
import { cn } from './chunk-XIANSPQO.js';
|
|
3
3
|
import { jsx } from 'preact/jsx-runtime';
|
|
4
4
|
|
|
5
5
|
var DataTable = ({
|
|
@@ -13,5 +13,5 @@ var DataTable = ({
|
|
|
13
13
|
var data_table_default = DataTable;
|
|
14
14
|
|
|
15
15
|
export { DataTable, data_table_default };
|
|
16
|
-
//# sourceMappingURL=chunk-
|
|
17
|
-
//# sourceMappingURL=chunk-
|
|
16
|
+
//# sourceMappingURL=chunk-TMPADU74.js.map
|
|
17
|
+
//# sourceMappingURL=chunk-TMPADU74.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/data-table/DataTable.tsx","../src/components/data-table/index.ts"],"names":[],"mappings":";;;;AAaO,IAAM,YAAY,CAAC;AAAA,EACxB,MAAA,GAAS,IAAA;AAAA,EACT,KAAA,EAAO,SAAA;AAAA,EACP,QAAA;AAAA,EACA,GAAG;AACL,CAAA,qBACE,GAAA,CAAC,KAAA,EAAA,EAAI,WAAA,EAAU,YAAA,EAAa,KAAA,EAAO,EAAA,CAAG,QAAA,EAAU,SAAS,CAAA,EAAI,GAAG,IAAA,EAC7D,QAAA,EAAA,MAAA,mBACC,GAAA,CAAC,SAAI,KAAA,EAAM,gEAAA,EACT,QAAA,kBAAA,GAAA,CAAC,KAAA,EAAA,EAAM,KAAA,EAAM,mCAAA,EAAqC,QAAA,EAAS,CAAA,EAC7D,CAAA,mBAEA,GAAA,CAAC,KAAA,EAAA,EAAO,QAAA,EAAS,CAAA,EAErB;;;ACvBF,IAAO,kBAAA,GAAQ","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/components/data-table/DataTable.tsx","../src/components/data-table/index.ts"],"names":[],"mappings":";;;;AAaO,IAAM,YAAY,CAAC;AAAA,EACxB,MAAA,GAAS,IAAA;AAAA,EACT,KAAA,EAAO,SAAA;AAAA,EACP,QAAA;AAAA,EACA,GAAG;AACL,CAAA,qBACE,GAAA,CAAC,KAAA,EAAA,EAAI,WAAA,EAAU,YAAA,EAAa,KAAA,EAAO,EAAA,CAAG,QAAA,EAAU,SAAS,CAAA,EAAI,GAAG,IAAA,EAC7D,QAAA,EAAA,MAAA,mBACC,GAAA,CAAC,SAAI,KAAA,EAAM,gEAAA,EACT,QAAA,kBAAA,GAAA,CAAC,KAAA,EAAA,EAAM,KAAA,EAAM,mCAAA,EAAqC,QAAA,EAAS,CAAA,EAC7D,CAAA,mBAEA,GAAA,CAAC,KAAA,EAAA,EAAO,QAAA,EAAS,CAAA,EAErB;;;ACvBF,IAAO,kBAAA,GAAQ","file":"chunk-TMPADU74.js","sourcesContent":["import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { Table } from \"../table/Table\";\n\nexport type DataTableProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n /**\n * When true (default), wraps the table in `overflow-hidden rounded-md border` like shadcn data tables.\n * Set false if you already provide an outer chrome or use a bare `<Table>`.\n */\n chrome?: boolean;\n};\n\nexport const DataTable = ({\n chrome = true,\n class: className,\n children,\n ...rest\n}: DataTableProps) => (\n <div data-slot=\"data-table\" class={cn(\"w-full\", className)} {...rest}>\n {chrome ? (\n <div class=\"overflow-hidden rounded-md border bg-card text-card-foreground\">\n <Table class=\"rounded-none border-0 shadow-none\">{children}</Table>\n </div>\n ) : (\n <Table>{children}</Table>\n )}\n </div>\n);\n","import { DataTable } from \"./DataTable\";\n\nexport { DataTable };\n\nexport default DataTable;\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cn } from './chunk-
|
|
1
|
+
import { cn } from './chunk-XIANSPQO.js';
|
|
2
2
|
import { jsx } from 'preact/jsx-runtime';
|
|
3
3
|
|
|
4
4
|
var defaultOptions = [
|
|
@@ -47,5 +47,5 @@ var LocaleSegmentGroup = ({
|
|
|
47
47
|
};
|
|
48
48
|
|
|
49
49
|
export { LocaleSegmentGroup };
|
|
50
|
-
//# sourceMappingURL=chunk-
|
|
51
|
-
//# sourceMappingURL=chunk-
|
|
50
|
+
//# sourceMappingURL=chunk-USPWL4KC.js.map
|
|
51
|
+
//# sourceMappingURL=chunk-USPWL4KC.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/locale-segment-group/LocaleSegmentGroup.tsx"],"names":[],"mappings":";;;AAKA,IAAM,cAAA,GAAwC;AAAA,EAC5C,EAAE,KAAA,EAAO,IAAA,EAAM,KAAA,EAAO,IAAA,EAAK;AAAA,EAC3B,EAAE,KAAA,EAAO,IAAA,EAAM,KAAA,EAAO,IAAA;AACxB,CAAA;AAEA,IAAM,OAAA,GAAU,6DAAA;AAEhB,IAAM,SAAA,GAAY,mDAAA;AAElB,IAAM,WAAA,GACJ,2JAAA;AAYK,IAAM,qBAAqB,CAAC;AAAA,EACjC,KAAA;AAAA,EACA,aAAA;AAAA,EACA,OAAA,GAAU,cAAA;AAAA,EACV,KAAA,EAAO,SAAA;AAAA,EACP,cAAc,SAAA,GAAY,UAAA;AAAA,EAC1B,GAAG;AACL,CAAA,KAA+B;AAC7B,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAK,OAAA;AAAA,MACL,YAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAU,sBAAA;AAAA,MACV,KAAA,EAAO,EAAA,CAAG,2BAAA,EAA6B,SAAS,CAAA;AAAA,MAC/C,GAAG,IAAA;AAAA,MAEH,QAAA,EAAA,OAAA,CAAQ,GAAA,CAAI,CAAC,GAAA,KAAQ;AACpB,QAAA,MAAM,QAAA,GAAW,IAAI,KAAA,KAAU,KAAA;AAC/B,QAAA,uBACE,GAAA;AAAA,UAAC,QAAA;AAAA,UAAA;AAAA,YAEC,IAAA,EAAK,QAAA;AAAA,YACL,YAAA,EAAY,WAAW,IAAA,GAAO,KAAA;AAAA,YAC9B,cAAA,EAAc,QAAA;AAAA,YACd,KAAA,EAAO,EAAA,CAAG,OAAA,EAAS,QAAA,GAAW,YAAY,WAAW,CAAA;AAAA,YACrD,SAAS,MAAM;AACb,cAAA,IAAI,QAAA,EAAU;AACd,cAAA,aAAA,CAAc,IAAI,KAAK,CAAA;AAAA,YACzB,CAAA;AAAA,YAEC,QAAA,EAAA,GAAA,CAAI;AAAA,WAAA;AAAA,UAVA,GAAA,CAAI;AAAA,SAWX;AAAA,MAEJ,CAAC;AAAA;AAAA,GACH;AAEJ","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/components/locale-segment-group/LocaleSegmentGroup.tsx"],"names":[],"mappings":";;;AAKA,IAAM,cAAA,GAAwC;AAAA,EAC5C,EAAE,KAAA,EAAO,IAAA,EAAM,KAAA,EAAO,IAAA,EAAK;AAAA,EAC3B,EAAE,KAAA,EAAO,IAAA,EAAM,KAAA,EAAO,IAAA;AACxB,CAAA;AAEA,IAAM,OAAA,GAAU,6DAAA;AAEhB,IAAM,SAAA,GAAY,mDAAA;AAElB,IAAM,WAAA,GACJ,2JAAA;AAYK,IAAM,qBAAqB,CAAC;AAAA,EACjC,KAAA;AAAA,EACA,aAAA;AAAA,EACA,OAAA,GAAU,cAAA;AAAA,EACV,KAAA,EAAO,SAAA;AAAA,EACP,cAAc,SAAA,GAAY,UAAA;AAAA,EAC1B,GAAG;AACL,CAAA,KAA+B;AAC7B,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAK,OAAA;AAAA,MACL,YAAA,EAAY,SAAA;AAAA,MACZ,WAAA,EAAU,sBAAA;AAAA,MACV,KAAA,EAAO,EAAA,CAAG,2BAAA,EAA6B,SAAS,CAAA;AAAA,MAC/C,GAAG,IAAA;AAAA,MAEH,QAAA,EAAA,OAAA,CAAQ,GAAA,CAAI,CAAC,GAAA,KAAQ;AACpB,QAAA,MAAM,QAAA,GAAW,IAAI,KAAA,KAAU,KAAA;AAC/B,QAAA,uBACE,GAAA;AAAA,UAAC,QAAA;AAAA,UAAA;AAAA,YAEC,IAAA,EAAK,QAAA;AAAA,YACL,YAAA,EAAY,WAAW,IAAA,GAAO,KAAA;AAAA,YAC9B,cAAA,EAAc,QAAA;AAAA,YACd,KAAA,EAAO,EAAA,CAAG,OAAA,EAAS,QAAA,GAAW,YAAY,WAAW,CAAA;AAAA,YACrD,SAAS,MAAM;AACb,cAAA,IAAI,QAAA,EAAU;AACd,cAAA,aAAA,CAAc,IAAI,KAAK,CAAA;AAAA,YACzB,CAAA;AAAA,YAEC,QAAA,EAAA,GAAA,CAAI;AAAA,WAAA;AAAA,UAVA,GAAA,CAAI;AAAA,SAWX;AAAA,MAEJ,CAAC;AAAA;AAAA,GACH;AAEJ","file":"chunk-USPWL4KC.js","sourcesContent":["import type { JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type LocaleSegmentOption = { value: string; label: string };\n\nconst defaultOptions: LocaleSegmentOption[] = [\n { value: \"de\", label: \"DE\" },\n { value: \"en\", label: \"EN\" },\n];\n\nconst btnBase = \"rounded px-2 py-1 text-[13px] font-medium transition-colors\";\n\nconst btnActive = \"bg-black text-white dark:bg-white dark:text-black\";\n\nconst btnInactive =\n \"bg-[#f7f4ee] text-black/60 hover:bg-black/5 hover:text-black dark:bg-transparent dark:text-neutral-400 dark:hover:bg-white/10 dark:hover:text-neutral-100\";\n\nexport type LocaleSegmentGroupProps = Omit<\n JSX.HTMLAttributes<HTMLDivElement>,\n \"class\" | \"role\" | \"value\"\n> & {\n value: string;\n onValueChange: (next: string) => void;\n options?: LocaleSegmentOption[];\n class?: string;\n};\n\nexport const LocaleSegmentGroup = ({\n value,\n onValueChange,\n options = defaultOptions,\n class: className,\n \"aria-label\": ariaLabel = \"Language\",\n ...rest\n}: LocaleSegmentGroupProps) => {\n return (\n <div\n role=\"group\"\n aria-label={ariaLabel}\n data-slot=\"locale-segment-group\"\n class={cn(\"flex items-center gap-0.5\", className)}\n {...rest}\n >\n {options.map((opt) => {\n const selected = opt.value === value;\n return (\n <button\n key={opt.value}\n type=\"button\"\n data-state={selected ? \"on\" : \"off\"}\n aria-pressed={selected}\n class={cn(btnBase, selected ? btnActive : btnInactive)}\n onClick={() => {\n if (selected) return;\n onValueChange(opt.value);\n }}\n >\n {opt.label}\n </button>\n );\n })}\n </div>\n );\n};\n"]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { createIdFactory, createDismissableLayer } from './chunk-
|
|
1
|
+
import { createIdFactory, createDismissableLayer } from './chunk-3XMFQKWB.js';
|
|
2
|
+
import { cn } from './chunk-XIANSPQO.js';
|
|
2
3
|
import { signal } from '@preact/signals';
|
|
3
4
|
import { createContext, isValidElement, cloneElement } from 'preact';
|
|
4
5
|
import { useContext, useMemo, useRef, useEffect } from 'preact/hooks';
|
|
@@ -68,7 +69,7 @@ var Popover = ({
|
|
|
68
69
|
"div",
|
|
69
70
|
{
|
|
70
71
|
ref: rootRef,
|
|
71
|
-
class: popover(
|
|
72
|
+
class: cn(popover(), className),
|
|
72
73
|
"data-slot": "popover",
|
|
73
74
|
"data-state": open.value ? "open" : "closed",
|
|
74
75
|
...rest,
|
|
@@ -140,7 +141,7 @@ var PopoverTrigger = ({
|
|
|
140
141
|
},
|
|
141
142
|
id: popover2.triggerId,
|
|
142
143
|
type: "button",
|
|
143
|
-
class: popoverTrigger(
|
|
144
|
+
class: cn(popoverTrigger(), className),
|
|
144
145
|
"data-slot": "popover-trigger",
|
|
145
146
|
"data-state": popover2.open.value ? "open" : "closed",
|
|
146
147
|
"aria-controls": popover2.contentId,
|
|
@@ -220,7 +221,7 @@ var PopoverContent = ({
|
|
|
220
221
|
"data-side": side,
|
|
221
222
|
"data-align": align,
|
|
222
223
|
"data-state": popover2.open.value ? "open" : "closed",
|
|
223
|
-
class:
|
|
224
|
+
class: cn(popoverContent({ side }), positionBySide[side], alignClass, className),
|
|
224
225
|
style: inlineStyle ? { ...offsetStyle, ...inlineStyle } : offsetStyle,
|
|
225
226
|
onKeyDown: (event) => {
|
|
226
227
|
if (event.key === "Escape") {
|
|
@@ -238,5 +239,5 @@ var PopoverContent = ({
|
|
|
238
239
|
};
|
|
239
240
|
|
|
240
241
|
export { Popover, PopoverContent, PopoverTrigger, popover, popoverContent, popoverTrigger, usePopover };
|
|
241
|
-
//# sourceMappingURL=chunk-
|
|
242
|
-
//# sourceMappingURL=chunk-
|
|
242
|
+
//# sourceMappingURL=chunk-VEQ7X2PO.js.map
|
|
243
|
+
//# sourceMappingURL=chunk-VEQ7X2PO.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/popover/Popover.tsx","../src/components/popover/PopoverTrigger.tsx","../src/components/popover/PopoverContent.tsx"],"names":["tv","popover","jsx"],"mappings":"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","file":"chunk-VEQ7X2PO.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\";\nimport { cn } from \"../../lib/utils\";\n\ntype PopoverContextValue = {\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 PopoverContext = createContext<PopoverContextValue | null>(null);\nconst nextPopoverId = createIdFactory(\"kamod-popover\");\n\nexport const usePopover = () => {\n const context = useContext(PopoverContext);\n if (!context) throw new Error(\"Popover subcomponents must be used within Popover\");\n return context;\n};\n\nexport const popover = tv({\n base: \"relative inline-flex\",\n});\n\nexport type PopoverProps = JSX.HTMLAttributes<HTMLDivElement> & {\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n children?: ComponentChildren;\n};\n\nexport const Popover = ({\n open: openProp,\n defaultOpen = false,\n onOpenChange,\n class: className,\n children,\n ...rest\n}: PopoverProps) => {\n const isControlled = openProp !== undefined;\n const open = useMemo(() => signal(isControlled ? openProp : 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(() => nextPopoverId(), []);\n\n useEffect(() => {\n if (isControlled && openProp !== undefined) {\n open.value = openProp;\n }\n }, [openProp, isControlled, open]);\n\n const setOpen = (next: boolean) => {\n onOpenChange?.(next);\n if (!isControlled) {\n open.value = next;\n }\n };\n\n const setOpenRef = useRef(setOpen);\n setOpenRef.current = setOpen;\n\n useEffect(() => {\n const layer = createDismissableLayer({\n root: () => rootRef.current,\n open: () => open.value,\n onDismiss: () => {\n setOpenRef.current(false);\n },\n });\n return () => layer.dispose();\n }, []);\n\n return (\n <PopoverContext.Provider\n value={{\n open,\n setOpen,\n triggerId: `${instanceId}-trigger`,\n contentId: `${instanceId}-content`,\n rootRef,\n triggerRef,\n contentRef,\n }}\n >\n <div\n ref={rootRef}\n class={cn(popover(), className)}\n data-slot=\"popover\"\n data-state={open.value ? \"open\" : \"closed\"}\n {...rest}\n >\n {children}\n </div>\n </PopoverContext.Provider>\n );\n};\n","import { type ComponentChildren, cloneElement, isValidElement, type JSX } from \"preact\";\nimport { tv } from \"tailwind-variants\";\nimport { cn } from \"../../lib/utils\";\nimport { usePopover } from \"./Popover\";\n\nexport const popoverTrigger = tv({\n base: [\n \"inline-flex items-center justify-center\",\n \"focus-visible:ring-outline/50 transition-[color,box-shadow] outline-none focus-visible:ring-3\",\n \"disabled:pointer-events-none\",\n ],\n});\n\nexport type PopoverTriggerProps = 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 PopoverTrigger = ({\n asChild = false,\n class: className,\n children,\n onClick,\n ref: outerRef,\n ...rest\n}: PopoverTriggerProps) => {\n const popover = usePopover();\n\n const handleClick = (event: JSX.TargetedMouseEvent<HTMLElement>) => {\n onClick?.(event as JSX.TargetedMouseEvent<HTMLButtonElement>);\n if (event.defaultPrevented) return;\n popover.setOpen(!popover.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: popover.triggerId,\n \"aria-controls\": popover.contentId,\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": popover.open.value,\n \"data-slot\": \"popover-trigger\",\n \"data-state\": popover.open.value ? \"open\" : \"closed\",\n onClick: (event: JSX.TargetedMouseEvent<HTMLElement>) => {\n childProps.onClick?.(event);\n handleClick(event);\n },\n ref: (node: HTMLElement | null) => {\n popover.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 popover.triggerRef.current = node;\n callRef(outerRef, node);\n }}\n id={popover.triggerId}\n type=\"button\"\n class={cn(popoverTrigger(), className)}\n data-slot=\"popover-trigger\"\n data-state={popover.open.value ? \"open\" : \"closed\"}\n aria-controls={popover.contentId}\n aria-haspopup=\"dialog\"\n aria-expanded={popover.open.value}\n onClick={(event) => handleClick(event as unknown as JSX.TargetedMouseEvent<HTMLElement>)}\n {...rest}\n >\n {children}\n </button>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\nimport { cn } from \"../../lib/utils\";\nimport { usePopover } from \"./Popover\";\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 popoverContent = tv({\n base: [\n \"bg-popover text-popover-foreground z-50 flex min-w-0 w-80 max-w-[calc(100vw-1.5rem)] max-h-[calc(100dvh-2rem)] flex-col gap-3 overflow-x-hidden overflow-y-auto rounded-lg border p-4 shadow-md outline-none\",\n \"data-[state=open]:animate-in fade-in zoom-in-95\",\n \"data-[state=closed]:animate-out data-[state=closed]:fill-mode-forwards fade-out zoom-out-95\",\n \"absolute isolate\",\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 PopoverContentProps = JSX.HTMLAttributes<HTMLDivElement> &\n VariantProps<typeof popoverContent> & {\n forceMount?: boolean;\n side?: \"top\" | \"bottom\" | \"left\" | \"right\";\n align?: \"start\" | \"center\" | \"end\";\n sideOffset?: number;\n children?: ComponentChildren;\n };\n\nexport const PopoverContent = ({\n forceMount = false,\n side = \"bottom\",\n align = \"center\",\n sideOffset = 4,\n class: className,\n style,\n children,\n onKeyDown,\n ...rest\n}: PopoverContentProps) => {\n const popover = usePopover();\n if (!popover.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 popover.contentRef.current = node;\n }}\n id={popover.contentId}\n role=\"dialog\"\n tabIndex={-1}\n aria-labelledby={popover.triggerId}\n data-slot=\"popover-content\"\n data-side={side}\n data-align={align}\n data-state={popover.open.value ? \"open\" : \"closed\"}\n class={cn(popoverContent({ side }), positionBySide[side], alignClass, className)}\n style={inlineStyle ? { ...offsetStyle, ...inlineStyle } : offsetStyle}\n onKeyDown={(event) => {\n if (event.key === \"Escape\") {\n event.preventDefault();\n popover.setOpen(false);\n popover.triggerRef.current?.focus();\n return;\n }\n onKeyDown?.(event);\n }}\n {...rest}\n >\n {children}\n </div>\n );\n};\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { cn } from './chunk-XIANSPQO.js';
|
|
1
2
|
import { tv } from 'tailwind-variants';
|
|
2
3
|
import { jsx } from 'preact/jsx-runtime';
|
|
3
4
|
|
|
4
|
-
// src/components/skeleton/Skeleton.tsx
|
|
5
5
|
var skeleton = tv({
|
|
6
6
|
base: "rounded-md",
|
|
7
7
|
variants: {
|
|
@@ -15,19 +15,12 @@ var skeleton = tv({
|
|
|
15
15
|
variant: "pulse"
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
|
-
var Skeleton = ({ class: className, variant, ...rest }) => /* @__PURE__ */ jsx(
|
|
19
|
-
"div",
|
|
20
|
-
{
|
|
21
|
-
class: skeleton({ class: className, variant }),
|
|
22
|
-
"data-slot": "skeleton",
|
|
23
|
-
...rest
|
|
24
|
-
}
|
|
25
|
-
);
|
|
18
|
+
var Skeleton = ({ class: className, variant, ...rest }) => /* @__PURE__ */ jsx("div", { class: cn(skeleton({ variant }), className), "data-slot": "skeleton", ...rest });
|
|
26
19
|
|
|
27
20
|
// src/components/skeleton/index.ts
|
|
28
21
|
var SkeletonVariants = { skeleton };
|
|
29
22
|
var skeleton_default = Skeleton;
|
|
30
23
|
|
|
31
24
|
export { Skeleton, SkeletonVariants, skeleton_default };
|
|
32
|
-
//# sourceMappingURL=chunk-
|
|
33
|
-
//# sourceMappingURL=chunk-
|
|
25
|
+
//# sourceMappingURL=chunk-WRXXU5F6.js.map
|
|
26
|
+
//# sourceMappingURL=chunk-WRXXU5F6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/skeleton/Skeleton.tsx","../src/components/skeleton/index.ts"],"names":[],"mappings":";;;;AAIO,IAAM,WAAW,EAAA,CAAG;AAAA,EACzB,IAAA,EAAM,YAAA;AAAA,EACN,QAAA,EAAU;AAAA,IACR,OAAA,EAAS;AAAA,MACP,KAAA,EAAO,2BAAA;AAAA,MACP,OAAA,EACE,sIAAA;AAAA,MACF,KAAA,EACE;AAAA;AACJ,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,OAAA,EAAS;AAAA;AAEb,CAAC,CAAA;AASM,IAAM,QAAA,GAAW,CAAC,EAAE,KAAA,EAAO,WAAW,OAAA,EAAS,GAAG,IAAA,EAAK,qBAC5D,GAAA,CAAC,KAAA,EAAA,EAAI,OAAO,EAAA,CAAG,QAAA,CAAS,EAAE,OAAA,EAAS,CAAA,EAAG,SAAS,CAAA,EAAG,WAAA,EAAU,UAAA,EAAY,GAAG,IAAA,EAAM;;;AC1BnF,IAAM,gBAAA,GAAmB,EAAE,QAAA;AAI3B,IAAO,gBAAA,GAAQ","file":"chunk-WRXXU5F6.js","sourcesContent":["import type { JSX } from \"preact\";\nimport { tv } from \"tailwind-variants\";\nimport { cn } from \"../../lib/utils\";\n\nexport const skeleton = tv({\n base: \"rounded-md\",\n variants: {\n variant: {\n pulse: \"animate-pulse bg-muted/80\",\n shimmer:\n \"animate-pulse bg-[linear-gradient(110deg,hsl(var(--muted)/0.68),hsl(var(--muted)/0.9),hsl(var(--muted)/0.68))] bg-[length:220%_100%]\",\n glass:\n \"animate-pulse border border-border/40 bg-[linear-gradient(140deg,hsl(var(--muted)/0.34),hsl(var(--background)/0.78),hsl(var(--muted)/0.28))] backdrop-blur-[1px]\",\n },\n },\n defaultVariants: {\n variant: \"pulse\",\n },\n});\n\ntype SkeletonVariants = Parameters<typeof skeleton>[0];\ntype SkeletonVariant = NonNullable<SkeletonVariants>[\"variant\"];\n\nexport type SkeletonProps = JSX.HTMLAttributes<HTMLDivElement> & {\n variant?: SkeletonVariant;\n};\n\nexport const Skeleton = ({ class: className, variant, ...rest }: SkeletonProps) => (\n <div class={cn(skeleton({ variant }), className)} data-slot=\"skeleton\" {...rest} />\n);\n","import { Skeleton, skeleton } from \"./Skeleton\";\n\nconst SkeletonVariants = { skeleton };\n\nexport { Skeleton, SkeletonVariants };\n\nexport default Skeleton;\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { useRadioGroup } from './chunk-
|
|
2
|
-
import { cn } from './chunk-
|
|
1
|
+
import { useRadioGroup } from './chunk-5I7ULBDP.js';
|
|
2
|
+
import { cn } from './chunk-XIANSPQO.js';
|
|
3
3
|
import { jsxs, jsx } from 'preact/jsx-runtime';
|
|
4
4
|
|
|
5
5
|
function SelectableCardSelectedIndicator() {
|
|
@@ -80,5 +80,5 @@ var SelectableCard = ({
|
|
|
80
80
|
};
|
|
81
81
|
|
|
82
82
|
export { SelectableCard };
|
|
83
|
-
//# sourceMappingURL=chunk-
|
|
84
|
-
//# sourceMappingURL=chunk-
|
|
83
|
+
//# sourceMappingURL=chunk-X4B6I3M4.js.map
|
|
84
|
+
//# sourceMappingURL=chunk-X4B6I3M4.js.map
|