@kamod-ch/ui 1.1.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/TreeProvider-Cpu8yo3y.d.ts +270 -0
- 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-YMKC3H55.js +921 -0
- package/dist/chunk-YMKC3H55.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/tree/index.d.ts +24 -0
- package/dist/components/tree/index.js +5 -0
- package/dist/components/tree/index.js.map +1 -0
- 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 +25 -24
- package/dist/index.js +80 -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 +34 -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/field/field-variants.ts","../src/components/field/Field.tsx","../src/components/field/FieldContent.tsx","../src/components/field/FieldDescription.tsx","../src/components/field/FieldError.tsx","../src/components/field/FieldGroup.tsx","../src/components/field/FieldLabel.tsx","../src/components/field/FieldLegend.tsx","../src/components/field/FieldSeparator.tsx","../src/components/field/FieldSet.tsx","../src/components/field/FieldTitle.tsx","../src/components/field/index.ts"],"names":["label","jsx","tv","jsxs"],"mappings":"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","file":"chunk-IJ4ZRIR4.js","sourcesContent":["import { tv, type VariantProps } from \"tailwind-variants\";\n\n/** Root layout for composable Field (shadcn fieldVariants). */\nexport const fieldRoot = tv({\n base: [\"group/field flex w-full gap-3\", \"data-[invalid]:text-destructive\"],\n variants: {\n orientation: {\n vertical: \"flex-col *:w-full [.sr-only]:w-auto\",\n horizontal: [\n \"flex-row flex-wrap items-center\",\n \"[&>[data-slot=field-label]]:flex-1\",\n \"has-[>[data-slot=field-content]]:items-start\",\n \"has-[>[data-slot=field-content]]:[&>[data-slot=checkbox],[role=checkbox],[role=radio]]:mt-px\",\n ],\n responsive: [\n \"flex-col *:w-full [.sr-only]:w-auto\",\n \"@md/field-group:flex-row @md/field-group:flex-wrap @md/field-group:items-center\",\n \"@md/field-group:[&>*]:w-auto @md/field-group:[&>[data-slot=field-label]]:flex-1\",\n \"@md/field-group:has-[>[data-slot=field-content]]:items-start\",\n \"@md/field-group:has-[>[data-slot=field-content]]:[&>[data-slot=checkbox],[role=checkbox],[role=radio]]:mt-px\",\n ],\n },\n },\n defaultVariants: {\n orientation: \"vertical\",\n },\n});\n\nexport type FieldRootVariants = VariantProps<typeof fieldRoot>;\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { type FieldRootVariants, fieldRoot } from \"./field-variants\";\n\nexport type FieldProps = JSX.HTMLAttributes<HTMLDivElement> &\n FieldRootVariants & {\n /** Legacy: label text/node (composition: use FieldLabel instead). */\n label?: ComponentChildren;\n /** Legacy: helper below control. */\n description?: ComponentChildren;\n /** Legacy: error below control. */\n error?: ComponentChildren;\n required?: boolean;\n orientation?: \"vertical\" | \"horizontal\" | \"responsive\";\n disabled?: boolean;\n invalid?: boolean;\n children?: ComponentChildren;\n };\n\nexport const Field = ({\n class: className,\n label,\n description,\n error,\n required = false,\n orientation = \"vertical\",\n disabled = false,\n invalid = false,\n children,\n ...rest\n}: FieldProps) => {\n const legacy = label != null || description != null || error != null;\n const resolvedRequired = required && label != null;\n\n if (legacy) {\n const isHorizontal = orientation === \"horizontal\";\n\n return (\n <div\n {...rest}\n data-slot=\"field\"\n data-orientation={orientation}\n data-disabled={disabled ? \"\" : undefined}\n class={cn(\n \"group/field\",\n !isHorizontal && \"grid gap-2\",\n isHorizontal && label != null && \"flex flex-col gap-2\",\n isHorizontal && label == null && fieldRoot({ orientation: \"horizontal\" }),\n disabled ? \"opacity-80\" : null,\n className,\n )}\n {...(invalid ? { \"data-invalid\": \"\" } : {})}\n >\n {label != null ? (\n <label data-slot=\"field-label\" class=\"text-sm leading-none font-medium\">\n {label}\n {resolvedRequired ? (\n <span aria-hidden=\"true\" class=\"ms-1 text-destructive\">\n *\n </span>\n ) : null}\n </label>\n ) : null}\n {isHorizontal && label != null ? (\n <div class=\"flex min-w-0 flex-row flex-wrap items-center gap-3\">{children}</div>\n ) : (\n children\n )}\n {description != null ? (\n <p data-slot=\"field-description\" class=\"text-muted-foreground text-sm leading-normal\">\n {description}\n </p>\n ) : null}\n {error != null ? (\n <p data-slot=\"field-error\" role=\"alert\" class=\"text-destructive text-sm\">\n {error}\n </p>\n ) : null}\n </div>\n );\n }\n\n const orient = orientation === \"responsive\" ? \"responsive\" : orientation;\n\n return (\n <div\n {...rest}\n data-slot=\"field\"\n data-orientation={orientation}\n data-disabled={disabled ? \"\" : undefined}\n class={cn(fieldRoot({ orientation: orient }), disabled ? \"opacity-80\" : null, className)}\n {...(invalid ? { \"data-invalid\": \"\" } : {})}\n >\n {children}\n </div>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type FieldContentProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const FieldContent = ({ class: className, children, ...rest }: FieldContentProps) => (\n <div class={cn(\"flex flex-1 flex-col gap-1\", className)} data-slot=\"field-content\" {...rest}>\n {children}\n </div>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type FieldDescriptionProps = JSX.HTMLAttributes<HTMLParagraphElement> & {\n children?: ComponentChildren;\n};\n\nexport const FieldDescription = ({\n class: className,\n children,\n ...rest\n}: FieldDescriptionProps) => (\n <p\n class={cn(\"text-muted-foreground text-sm leading-normal font-normal\", className)}\n data-slot=\"field-description\"\n {...rest}\n >\n {children}\n </p>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { useMemo } from \"preact/hooks\";\nimport { cn } from \"../../lib/utils\";\n\nexport type FieldErrorProps = JSX.HTMLAttributes<HTMLDivElement> & {\n errors?: Array<{ message?: string } | undefined>;\n children?: ComponentChildren;\n};\n\nexport const FieldError = ({ class: className, children, errors, ...rest }: FieldErrorProps) => {\n const content = useMemo(() => {\n if (children) return children;\n if (!errors?.length) return null;\n\n const uniqueErrors = [\n ...new Map(errors.map((error) => [error?.message, error])).values(),\n ].filter(Boolean);\n\n if (uniqueErrors.length === 0) return null;\n if (uniqueErrors.length === 1) {\n return uniqueErrors[0]?.message ?? null;\n }\n\n return (\n <ul class=\"ml-4 list-disc space-y-0.5\">\n {uniqueErrors.map((error, index) =>\n error?.message ? <li key={`${error.message}-${index}`}>{error.message}</li> : null,\n )}\n </ul>\n );\n }, [children, errors]);\n\n if (content == null) return null;\n\n return (\n <div\n role=\"alert\"\n class={cn(\"text-destructive text-sm font-normal\", className)}\n data-slot=\"field-error\"\n {...rest}\n >\n {content}\n </div>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type FieldGroupProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const FieldGroup = ({ class: className, children, ...rest }: FieldGroupProps) => (\n <div\n class={cn(\"flex flex-col gap-6 @container/field-group\", className)}\n data-slot=\"field-group\"\n {...rest}\n >\n {children}\n </div>\n);\n","import type { JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { label as labelStyles } from \"../label/Label\";\n\nexport type FieldLabelProps = JSX.LabelHTMLAttributes<HTMLLabelElement>;\n\nexport const FieldLabel = ({ class: className, ...rest }: FieldLabelProps) => (\n <label\n class={cn(\n labelStyles({ size: \"sm\" }),\n \"group-data-[disabled]/field:pointer-events-none group-data-[disabled]/field:opacity-50\",\n className,\n )}\n data-slot=\"field-label\"\n {...rest}\n />\n);\n","import type { JSX } from \"preact\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\nimport { cn } from \"../../lib/utils\";\n\nexport const fieldLegend = tv({\n base: \"\",\n variants: {\n variant: {\n legend: \"text-base font-semibold\",\n label: \"text-sm font-medium\",\n },\n },\n defaultVariants: { variant: \"legend\" },\n});\n\nexport type FieldLegendProps = JSX.HTMLAttributes<HTMLLegendElement> &\n VariantProps<typeof fieldLegend>;\n\nexport const FieldLegend = ({ class: className, variant, ...rest }: FieldLegendProps) => (\n <legend class={cn(fieldLegend({ variant }), className)} data-slot=\"field-legend\" {...rest} />\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { Separator } from \"../separator/Separator\";\n\nexport type FieldSeparatorProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const FieldSeparator = ({ class: className, children, ...rest }: FieldSeparatorProps) => (\n <div class={cn(\"flex items-center gap-3 py-2\", className)} data-slot=\"field-separator\" {...rest}>\n <Separator class=\"min-w-0 flex-1 shrink\" orientation=\"horizontal\" />\n {children ? (\n <span class=\"text-muted-foreground shrink-0 text-xs font-medium whitespace-nowrap\">\n {children}\n </span>\n ) : null}\n </div>\n);\n","import type { JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type FieldSetProps = JSX.FieldsetHTMLAttributes<HTMLFieldSetElement>;\n\nexport const FieldSet = ({ class: className, ...rest }: FieldSetProps) => (\n <fieldset\n class={cn(\"m-0 min-w-0 space-y-6 border-0 p-0\", className)}\n data-slot=\"field-set\"\n {...rest}\n />\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type FieldTitleProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const FieldTitle = ({ class: className, children, ...rest }: FieldTitleProps) => (\n <div class={cn(\"text-sm leading-none font-medium\", className)} data-slot=\"field-title\" {...rest}>\n {children}\n </div>\n);\n","import { Field } from \"./Field\";\n\nexport { FieldContent } from \"./FieldContent\";\nexport { FieldDescription } from \"./FieldDescription\";\nexport { FieldError } from \"./FieldError\";\nexport { FieldGroup } from \"./FieldGroup\";\nexport { FieldLabel } from \"./FieldLabel\";\nexport { FieldLegend } from \"./FieldLegend\";\nexport { FieldSeparator } from \"./FieldSeparator\";\nexport { FieldSet } from \"./FieldSet\";\nexport { FieldTitle } from \"./FieldTitle\";\nexport type { FieldRootVariants } from \"./field-variants\";\nexport { fieldRoot } from \"./field-variants\";\nexport { Field };\n\nexport default Field;\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/field/field-variants.ts","../src/components/field/Field.tsx","../src/components/field/FieldContent.tsx","../src/components/field/FieldDescription.tsx","../src/components/field/FieldError.tsx","../src/components/field/FieldGroup.tsx","../src/components/field/FieldLabel.tsx","../src/components/field/FieldLegend.tsx","../src/components/field/FieldSeparator.tsx","../src/components/field/FieldSet.tsx","../src/components/field/FieldTitle.tsx","../src/components/field/index.ts"],"names":["label","jsx","tv","jsxs"],"mappings":"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","file":"chunk-53FZEAOJ.js","sourcesContent":["import { tv, type VariantProps } from \"tailwind-variants\";\n\n/** Root layout for composable Field (shadcn fieldVariants). */\nexport const fieldRoot = tv({\n base: [\"group/field flex w-full gap-3\", \"data-[invalid]:text-destructive\"],\n variants: {\n orientation: {\n vertical: \"flex-col *:w-full [.sr-only]:w-auto\",\n horizontal: [\n \"flex-row flex-wrap items-center\",\n \"[&>[data-slot=field-label]]:flex-1\",\n \"has-[>[data-slot=field-content]]:items-start\",\n \"has-[>[data-slot=field-content]]:[&>[data-slot=checkbox],[role=checkbox],[role=radio]]:mt-px\",\n ],\n responsive: [\n \"flex-col *:w-full [.sr-only]:w-auto\",\n \"@md/field-group:flex-row @md/field-group:flex-wrap @md/field-group:items-center\",\n \"@md/field-group:[&>*]:w-auto @md/field-group:[&>[data-slot=field-label]]:flex-1\",\n \"@md/field-group:has-[>[data-slot=field-content]]:items-start\",\n \"@md/field-group:has-[>[data-slot=field-content]]:[&>[data-slot=checkbox],[role=checkbox],[role=radio]]:mt-px\",\n ],\n },\n },\n defaultVariants: {\n orientation: \"vertical\",\n },\n});\n\nexport type FieldRootVariants = VariantProps<typeof fieldRoot>;\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { type FieldRootVariants, fieldRoot } from \"./field-variants\";\n\nexport type FieldProps = JSX.HTMLAttributes<HTMLDivElement> &\n FieldRootVariants & {\n /** Legacy: label text/node (composition: use FieldLabel instead). */\n label?: ComponentChildren;\n /** Legacy: helper below control. */\n description?: ComponentChildren;\n /** Legacy: error below control. */\n error?: ComponentChildren;\n required?: boolean;\n orientation?: \"vertical\" | \"horizontal\" | \"responsive\";\n disabled?: boolean;\n invalid?: boolean;\n children?: ComponentChildren;\n };\n\nexport const Field = ({\n class: className,\n label,\n description,\n error,\n required = false,\n orientation = \"vertical\",\n disabled = false,\n invalid = false,\n children,\n ...rest\n}: FieldProps) => {\n const legacy = label != null || description != null || error != null;\n const resolvedRequired = required && label != null;\n\n if (legacy) {\n const isHorizontal = orientation === \"horizontal\";\n\n return (\n <div\n {...rest}\n data-slot=\"field\"\n data-orientation={orientation}\n data-disabled={disabled ? \"\" : undefined}\n class={cn(\n \"group/field\",\n !isHorizontal && \"grid gap-2\",\n isHorizontal && label != null && \"flex flex-col gap-2\",\n isHorizontal && label == null && fieldRoot({ orientation: \"horizontal\" }),\n disabled ? \"opacity-80\" : null,\n className,\n )}\n {...(invalid ? { \"data-invalid\": \"\" } : {})}\n >\n {label != null ? (\n <label data-slot=\"field-label\" class=\"text-sm leading-none font-medium\">\n {label}\n {resolvedRequired ? (\n <span aria-hidden=\"true\" class=\"ms-1 text-destructive\">\n *\n </span>\n ) : null}\n </label>\n ) : null}\n {isHorizontal && label != null ? (\n <div class=\"flex min-w-0 flex-row flex-wrap items-center gap-3\">{children}</div>\n ) : (\n children\n )}\n {description != null ? (\n <p data-slot=\"field-description\" class=\"text-muted-foreground text-sm leading-normal\">\n {description}\n </p>\n ) : null}\n {error != null ? (\n <p data-slot=\"field-error\" role=\"alert\" class=\"text-destructive text-sm\">\n {error}\n </p>\n ) : null}\n </div>\n );\n }\n\n const orient = orientation === \"responsive\" ? \"responsive\" : orientation;\n\n return (\n <div\n {...rest}\n data-slot=\"field\"\n data-orientation={orientation}\n data-disabled={disabled ? \"\" : undefined}\n class={cn(fieldRoot({ orientation: orient }), disabled ? \"opacity-80\" : null, className)}\n {...(invalid ? { \"data-invalid\": \"\" } : {})}\n >\n {children}\n </div>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type FieldContentProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const FieldContent = ({ class: className, children, ...rest }: FieldContentProps) => (\n <div class={cn(\"flex flex-1 flex-col gap-1\", className)} data-slot=\"field-content\" {...rest}>\n {children}\n </div>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type FieldDescriptionProps = JSX.HTMLAttributes<HTMLParagraphElement> & {\n children?: ComponentChildren;\n};\n\nexport const FieldDescription = ({\n class: className,\n children,\n ...rest\n}: FieldDescriptionProps) => (\n <p\n class={cn(\"text-muted-foreground text-sm leading-normal font-normal\", className)}\n data-slot=\"field-description\"\n {...rest}\n >\n {children}\n </p>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { useMemo } from \"preact/hooks\";\nimport { cn } from \"../../lib/utils\";\n\nexport type FieldErrorProps = JSX.HTMLAttributes<HTMLDivElement> & {\n errors?: Array<{ message?: string } | undefined>;\n children?: ComponentChildren;\n};\n\nexport const FieldError = ({ class: className, children, errors, ...rest }: FieldErrorProps) => {\n const content = useMemo(() => {\n if (children) return children;\n if (!errors?.length) return null;\n\n const uniqueErrors = [\n ...new Map(errors.map((error) => [error?.message, error])).values(),\n ].filter(Boolean);\n\n if (uniqueErrors.length === 0) return null;\n if (uniqueErrors.length === 1) {\n return uniqueErrors[0]?.message ?? null;\n }\n\n return (\n <ul class=\"ml-4 list-disc space-y-0.5\">\n {uniqueErrors.map((error, index) =>\n error?.message ? <li key={`${error.message}-${index}`}>{error.message}</li> : null,\n )}\n </ul>\n );\n }, [children, errors]);\n\n if (content == null) return null;\n\n return (\n <div\n role=\"alert\"\n class={cn(\"text-destructive text-sm font-normal\", className)}\n data-slot=\"field-error\"\n {...rest}\n >\n {content}\n </div>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type FieldGroupProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const FieldGroup = ({ class: className, children, ...rest }: FieldGroupProps) => (\n <div\n class={cn(\"flex flex-col gap-6 @container/field-group\", className)}\n data-slot=\"field-group\"\n {...rest}\n >\n {children}\n </div>\n);\n","import type { JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { label as labelStyles } from \"../label/Label\";\n\nexport type FieldLabelProps = JSX.LabelHTMLAttributes<HTMLLabelElement>;\n\nexport const FieldLabel = ({ class: className, ...rest }: FieldLabelProps) => (\n <label\n class={cn(\n labelStyles({ size: \"sm\" }),\n \"group-data-[disabled]/field:pointer-events-none group-data-[disabled]/field:opacity-50\",\n className,\n )}\n data-slot=\"field-label\"\n {...rest}\n />\n);\n","import type { JSX } from \"preact\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\nimport { cn } from \"../../lib/utils\";\n\nexport const fieldLegend = tv({\n base: \"\",\n variants: {\n variant: {\n legend: \"text-base font-semibold\",\n label: \"text-sm font-medium\",\n },\n },\n defaultVariants: { variant: \"legend\" },\n});\n\nexport type FieldLegendProps = JSX.HTMLAttributes<HTMLLegendElement> &\n VariantProps<typeof fieldLegend>;\n\nexport const FieldLegend = ({ class: className, variant, ...rest }: FieldLegendProps) => (\n <legend class={cn(fieldLegend({ variant }), className)} data-slot=\"field-legend\" {...rest} />\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { Separator } from \"../separator/Separator\";\n\nexport type FieldSeparatorProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const FieldSeparator = ({ class: className, children, ...rest }: FieldSeparatorProps) => (\n <div class={cn(\"flex items-center gap-3 py-2\", className)} data-slot=\"field-separator\" {...rest}>\n <Separator class=\"min-w-0 flex-1 shrink\" orientation=\"horizontal\" />\n {children ? (\n <span class=\"text-muted-foreground shrink-0 text-xs font-medium whitespace-nowrap\">\n {children}\n </span>\n ) : null}\n </div>\n);\n","import type { JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type FieldSetProps = JSX.FieldsetHTMLAttributes<HTMLFieldSetElement>;\n\nexport const FieldSet = ({ class: className, ...rest }: FieldSetProps) => (\n <fieldset\n class={cn(\"m-0 min-w-0 space-y-6 border-0 p-0\", className)}\n data-slot=\"field-set\"\n {...rest}\n />\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type FieldTitleProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const FieldTitle = ({ class: className, children, ...rest }: FieldTitleProps) => (\n <div class={cn(\"text-sm leading-none font-medium\", className)} data-slot=\"field-title\" {...rest}>\n {children}\n </div>\n);\n","import { Field } from \"./Field\";\n\nexport { FieldContent } from \"./FieldContent\";\nexport { FieldDescription } from \"./FieldDescription\";\nexport { FieldError } from \"./FieldError\";\nexport { FieldGroup } from \"./FieldGroup\";\nexport { FieldLabel } from \"./FieldLabel\";\nexport { FieldLegend } from \"./FieldLegend\";\nexport { FieldSeparator } from \"./FieldSeparator\";\nexport { FieldSet } from \"./FieldSet\";\nexport { FieldTitle } from \"./FieldTitle\";\nexport type { FieldRootVariants } from \"./field-variants\";\nexport { fieldRoot } from \"./field-variants\";\nexport { Field };\n\nexport default Field;\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cn } from './chunk-
|
|
1
|
+
import { cn } from './chunk-XIANSPQO.js';
|
|
2
2
|
import { createContext } from 'preact';
|
|
3
3
|
import { useMemo, useState, useContext } from 'preact/hooks';
|
|
4
4
|
import { tv } from 'tailwind-variants';
|
|
@@ -110,7 +110,7 @@ var ToggleGroup = ({
|
|
|
110
110
|
"data-size": resolvedSize,
|
|
111
111
|
role: "group",
|
|
112
112
|
"aria-orientation": orientation ?? "horizontal",
|
|
113
|
-
class: cn(toggleGroup({ orientation, spacing,
|
|
113
|
+
class: cn(toggleGroup({ orientation, spacing }), className),
|
|
114
114
|
...rest,
|
|
115
115
|
children
|
|
116
116
|
}
|
|
@@ -171,9 +171,7 @@ var ToggleGroupItem = ({
|
|
|
171
171
|
"data-size": resolvedSize,
|
|
172
172
|
"aria-pressed": pressed,
|
|
173
173
|
disabled: isDisabled,
|
|
174
|
-
class: cn(
|
|
175
|
-
toggleGroupItem2({ variant: resolvedVariant, size: resolvedSize, class: className })
|
|
176
|
-
),
|
|
174
|
+
class: cn(toggleGroupItem2({ variant: resolvedVariant, size: resolvedSize }), className),
|
|
177
175
|
onClick: (event) => {
|
|
178
176
|
if (isDisabled) return;
|
|
179
177
|
toggle(value);
|
|
@@ -192,5 +190,5 @@ var toggle_group_default = {
|
|
|
192
190
|
};
|
|
193
191
|
|
|
194
192
|
export { ToggleGroup, ToggleGroupItem, toggle_group_default };
|
|
195
|
-
//# sourceMappingURL=chunk-
|
|
196
|
-
//# sourceMappingURL=chunk-
|
|
193
|
+
//# sourceMappingURL=chunk-5ATODZ6L.js.map
|
|
194
|
+
//# sourceMappingURL=chunk-5ATODZ6L.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/toggle-group/ToggleGroup.tsx","../src/components/toggle-group/ToggleGroupItem.tsx","../src/components/toggle-group/index.ts"],"names":["value","toggleGroupItem","tv","jsx"],"mappings":"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","file":"chunk-5ATODZ6L.js","sourcesContent":["import type { ComponentChildren, JSX } from \"preact\";\nimport { createContext } from \"preact\";\nimport { useContext, useMemo, useState } from \"preact/hooks\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\nimport { cn } from \"../../lib/utils\";\n\ntype ToggleGroupType = \"single\" | \"multiple\";\n\ntype ToggleGroupContextValue = {\n type: ToggleGroupType;\n values: string[];\n toggle: (value: string) => void;\n disabled: boolean;\n itemVariant?: ToggleGroupItemVariants[\"variant\"];\n itemSize?: ToggleGroupItemVariants[\"size\"];\n};\n\nconst ToggleGroupContext = createContext<ToggleGroupContextValue | null>(null);\n\nexport const useToggleGroup = () => {\n const context = useContext(ToggleGroupContext);\n if (!context) throw new Error(\"ToggleGroupItem must be used within ToggleGroup\");\n return context;\n};\n\nconst toggleGroup = tv({\n base: \"inline-flex items-center justify-center\",\n variants: {\n orientation: {\n horizontal: \"flex-row items-center\",\n vertical: \"flex-col items-start\",\n },\n spacing: {\n none: \"gap-0\",\n sm: \"gap-0.5\",\n default: \"gap-1\",\n lg: \"gap-1.5\",\n },\n },\n defaultVariants: {\n orientation: \"horizontal\",\n spacing: \"sm\",\n },\n});\n\n// Used for `typeof toggleGroupItem` type extraction below — runtime usage is intentional.\n// oxlint-disable-next-line typescript/no-unused-vars\nconst toggleGroupItem = tv({\n variants: {\n variant: {\n default: undefined,\n outline: undefined,\n pill: undefined,\n },\n size: {\n sm: undefined,\n default: undefined,\n lg: undefined,\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n});\n\ntype ToggleGroupItemVariants = VariantProps<typeof toggleGroupItem>;\n\ntype ToggleGroupBaseProps = Omit<JSX.HTMLAttributes<HTMLDivElement>, \"class\"> &\n VariantProps<typeof toggleGroup> &\n ToggleGroupItemVariants & {\n class?: string;\n type?: ToggleGroupType;\n defaultValue?: string | string[];\n value?: string | string[];\n onValueChange?: (value: string | string[]) => void;\n disabled?: boolean;\n children?: ComponentChildren;\n };\n\ntype SingleToggleGroupProps = ToggleGroupBaseProps & {\n type?: \"single\";\n onValueChange?: (value: string) => void;\n};\n\ntype MultipleToggleGroupProps = ToggleGroupBaseProps & {\n type: \"multiple\";\n onValueChange?: (value: string[]) => void;\n};\n\nexport type ToggleGroupProps = SingleToggleGroupProps | MultipleToggleGroupProps;\n\nconst toValueArray = (input?: string | string[]) => {\n if (Array.isArray(input)) return input;\n if (typeof input === \"string\") return [input];\n return [];\n};\n\nexport const ToggleGroup = ({\n class: className,\n type = \"single\",\n defaultValue,\n value,\n onValueChange,\n disabled = false,\n orientation,\n spacing,\n variant,\n size,\n children,\n ...rest\n}: ToggleGroupProps) => {\n const initial = useMemo(() => {\n if (Array.isArray(defaultValue)) return defaultValue;\n if (typeof defaultValue === \"string\") return [defaultValue];\n return [];\n }, [defaultValue]);\n const [internalValues, setInternalValues] = useState<string[]>(initial);\n const isControlled = value !== undefined;\n const values = isControlled ? toValueArray(value) : internalValues;\n\n const toggle = (value: string) => {\n const exists = values.includes(value);\n const nextValues =\n type === \"single\"\n ? exists\n ? []\n : [value]\n : exists\n ? values.filter((entry) => entry !== value)\n : [...values, value];\n\n if (!isControlled) {\n setInternalValues(nextValues);\n }\n\n if (onValueChange) {\n if (type === \"multiple\") {\n (onValueChange as (value: string[]) => void)(nextValues);\n } else {\n (onValueChange as (value: string) => void)(nextValues[0] ?? \"\");\n }\n }\n };\n\n const resolvedVariant = variant ?? \"default\";\n const resolvedSize = size ?? \"default\";\n\n return (\n <ToggleGroupContext.Provider\n value={{\n type,\n values,\n toggle,\n disabled,\n itemVariant: resolvedVariant,\n itemSize: resolvedSize,\n }}\n >\n {/* oxlint-disable-next-line jsx-a11y/role-supports-aria-props */}\n <div\n data-slot=\"toggle-group\"\n data-orientation={orientation ?? \"horizontal\"}\n data-variant={resolvedVariant}\n data-size={resolvedSize}\n role=\"group\"\n aria-orientation={orientation ?? \"horizontal\"}\n class={cn(toggleGroup({ orientation, spacing }), className)}\n {...rest}\n >\n {children}\n </div>\n </ToggleGroupContext.Provider>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\nimport { cn } from \"../../lib/utils\";\nimport { useToggleGroup } from \"./ToggleGroup\";\n\nconst toggleGroupItem = tv({\n base: [\n \"inline-flex items-center justify-center rounded-sm text-xs font-medium whitespace-nowrap\",\n \"[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5\",\n \"data-[size=sm]:[&_svg:not([class*='size-'])]:size-3\",\n \"data-[size=lg]:[&_svg:not([class*='size-'])]:size-4\",\n \"select-none transition-all outline-none\",\n \"focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/45\",\n \"disabled:pointer-events-none disabled:opacity-50\",\n \"data-[state=on]:bg-accent data-[state=on]:text-accent-foreground data-[state=on]:shadow-xs\",\n ],\n variants: {\n variant: {\n default: \"bg-transparent hover:bg-muted hover:text-muted-foreground\",\n outline:\n \"border border-input/80 bg-transparent shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/25 dark:border-input/80 dark:hover:bg-input/45\",\n pill: \"rounded-full border border-transparent bg-muted/60 hover:bg-muted\",\n },\n size: {\n sm: \"h-7 min-w-7 gap-0.5 px-1.5 text-[11px] leading-none\",\n default: \"h-8 min-w-8 gap-1 px-2\",\n lg: \"h-9 min-w-9 gap-1.5 px-2.5 text-sm\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n});\n\ntype ToggleGroupItemVariants = VariantProps<typeof toggleGroupItem>;\n\nexport type ToggleGroupItemProps = Omit<JSX.ButtonHTMLAttributes<HTMLButtonElement>, \"class\"> &\n ToggleGroupItemVariants & {\n class?: string;\n value: string;\n children?: ComponentChildren;\n };\n\nexport const ToggleGroupItem = ({\n class: className,\n value,\n variant,\n size,\n disabled,\n children,\n onClick,\n ...rest\n}: ToggleGroupItemProps) => {\n const { values, toggle, disabled: groupDisabled, itemVariant, itemSize } = useToggleGroup();\n const pressed = values.includes(value);\n const isDisabled = groupDisabled || disabled;\n const resolvedVariant = variant ?? itemVariant ?? \"default\";\n const resolvedSize = size ?? itemSize ?? \"default\";\n\n return (\n <button\n type=\"button\"\n data-slot=\"toggle-group-item\"\n data-state={pressed ? \"on\" : \"off\"}\n data-variant={resolvedVariant}\n data-size={resolvedSize}\n aria-pressed={pressed}\n disabled={isDisabled}\n class={cn(toggleGroupItem({ variant: resolvedVariant, size: resolvedSize }), className)}\n onClick={(event) => {\n if (isDisabled) return;\n toggle(value);\n onClick?.(event);\n }}\n {...rest}\n >\n {children}\n </button>\n );\n};\n","import { ToggleGroup } from \"./ToggleGroup\";\nimport { ToggleGroupItem } from \"./ToggleGroupItem\";\n\nexport { ToggleGroup, ToggleGroupItem };\n\nexport default {\n Root: ToggleGroup,\n Item: ToggleGroupItem,\n};\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cn } from './chunk-
|
|
1
|
+
import { cn } from './chunk-XIANSPQO.js';
|
|
2
2
|
import { createContext } from 'preact';
|
|
3
3
|
import { useContext, useId, useState, useEffect } from 'preact/hooks';
|
|
4
4
|
import { jsx } from 'preact/jsx-runtime';
|
|
@@ -44,5 +44,5 @@ var RadioGroup = ({
|
|
|
44
44
|
};
|
|
45
45
|
|
|
46
46
|
export { RadioGroup, useRadioGroup };
|
|
47
|
-
//# sourceMappingURL=chunk-
|
|
48
|
-
//# sourceMappingURL=chunk-
|
|
47
|
+
//# sourceMappingURL=chunk-5I7ULBDP.js.map
|
|
48
|
+
//# sourceMappingURL=chunk-5I7ULBDP.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/radio-group/RadioGroup.tsx"],"names":[],"mappings":";;;;;AAaA,IAAM,iBAAA,GAAoB,cAA6C,IAAI,CAAA;AAEpE,IAAM,gBAAgB,MAAM;AACjC,EAAA,MAAM,OAAA,GAAU,WAAW,iBAAiB,CAAA;AAC5C,EAAA,IAAI,CAAC,OAAA,EAAS,MAAM,IAAI,MAAM,+CAA+C,CAAA;AAC7E,EAAA,OAAO,OAAA;AACT;AAYO,IAAM,aAAa,CAAC;AAAA,EACzB,IAAA,EAAM,QAAA;AAAA,EACN,YAAA;AAAA,EACA,KAAA,EAAO,SAAA;AAAA,EACP,aAAA;AAAA,EACA,KAAA,EAAO,SAAA;AAAA,EACP,QAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAuB;AACrB,EAAA,MAAM,SAAS,KAAA,EAAM;AACrB,EAAA,MAAM,IAAA,GAAO,QAAA,IAAY,CAAA,YAAA,EAAe,MAAM,CAAA,CAAA;AAC9C,EAAA,MAAM,CAAC,aAAA,EAAe,gBAAgB,CAAA,GAAI,QAAA;AAAA,IACxC,SAAA,KAAc,MAAA,GAAY,SAAA,GAAa,YAAA,IAAgB;AAAA,GACzD;AAEA,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,cAAc,MAAA,EAAW;AAC3B,MAAA,gBAAA,CAAiB,SAAS,CAAA;AAAA,IAC5B;AAAA,EACF,CAAA,EAAG,CAAC,SAAS,CAAC,CAAA;AAEd,EAAA,MAAM,QAAA,GAAW,CAAC,IAAA,KAAiB;AACjC,IAAA,IAAI,cAAc,MAAA,EAAW;AAC3B,MAAA,gBAAA,CAAiB,IAAI,CAAA;AAAA,IACvB;AACA,IAAA,aAAA,GAAgB,IAAI,CAAA;AAAA,EACtB,CAAA;AAEA,EAAA,uBACE,GAAA;AAAA,IAAC,iBAAA,CAAkB,QAAA;AAAA,IAAlB;AAAA,MACC,OAAO,EAAE,KAAA,EAAO,eAAe,eAAA,EAAiB,SAAA,EAAW,UAAU,IAAA,EAAK;AAAA,MAE1E,QAAA,kBAAA,GAAA,CAAC,KAAA,EAAA,EAAI,IAAA,EAAK,YAAA,EAAa,WAAA,EAAU,aAAA,EAAc,KAAA,EAAO,EAAA,CAAG,YAAA,EAAc,SAAS,CAAA,EAAI,GAAG,MACpF,QAAA,EACH;AAAA;AAAA,GACF;AAEJ","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/components/radio-group/RadioGroup.tsx"],"names":[],"mappings":";;;;;AAaA,IAAM,iBAAA,GAAoB,cAA6C,IAAI,CAAA;AAEpE,IAAM,gBAAgB,MAAM;AACjC,EAAA,MAAM,OAAA,GAAU,WAAW,iBAAiB,CAAA;AAC5C,EAAA,IAAI,CAAC,OAAA,EAAS,MAAM,IAAI,MAAM,+CAA+C,CAAA;AAC7E,EAAA,OAAO,OAAA;AACT;AAYO,IAAM,aAAa,CAAC;AAAA,EACzB,IAAA,EAAM,QAAA;AAAA,EACN,YAAA;AAAA,EACA,KAAA,EAAO,SAAA;AAAA,EACP,aAAA;AAAA,EACA,KAAA,EAAO,SAAA;AAAA,EACP,QAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAuB;AACrB,EAAA,MAAM,SAAS,KAAA,EAAM;AACrB,EAAA,MAAM,IAAA,GAAO,QAAA,IAAY,CAAA,YAAA,EAAe,MAAM,CAAA,CAAA;AAC9C,EAAA,MAAM,CAAC,aAAA,EAAe,gBAAgB,CAAA,GAAI,QAAA;AAAA,IACxC,SAAA,KAAc,MAAA,GAAY,SAAA,GAAa,YAAA,IAAgB;AAAA,GACzD;AAEA,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,cAAc,MAAA,EAAW;AAC3B,MAAA,gBAAA,CAAiB,SAAS,CAAA;AAAA,IAC5B;AAAA,EACF,CAAA,EAAG,CAAC,SAAS,CAAC,CAAA;AAEd,EAAA,MAAM,QAAA,GAAW,CAAC,IAAA,KAAiB;AACjC,IAAA,IAAI,cAAc,MAAA,EAAW;AAC3B,MAAA,gBAAA,CAAiB,IAAI,CAAA;AAAA,IACvB;AACA,IAAA,aAAA,GAAgB,IAAI,CAAA;AAAA,EACtB,CAAA;AAEA,EAAA,uBACE,GAAA;AAAA,IAAC,iBAAA,CAAkB,QAAA;AAAA,IAAlB;AAAA,MACC,OAAO,EAAE,KAAA,EAAO,eAAe,eAAA,EAAiB,SAAA,EAAW,UAAU,IAAA,EAAK;AAAA,MAE1E,QAAA,kBAAA,GAAA,CAAC,KAAA,EAAA,EAAI,IAAA,EAAK,YAAA,EAAa,WAAA,EAAU,aAAA,EAAc,KAAA,EAAO,EAAA,CAAG,YAAA,EAAc,SAAS,CAAA,EAAI,GAAG,MACpF,QAAA,EACH;AAAA;AAAA,GACF;AAEJ","file":"chunk-5I7ULBDP.js","sourcesContent":["import type { ComponentChildren, JSX } from \"preact\";\nimport { createContext } from \"preact\";\nimport { useContext, useEffect, useId, useState } from \"preact/hooks\";\nimport { cn } from \"../../lib/utils\";\n\ntype RadioGroupContextValue = {\n value: string | null;\n /** When set, selection follows this prop; otherwise local state is used. */\n controlledValue: string | undefined;\n setValue: (next: string) => void;\n name: string;\n};\n\nconst RadioGroupContext = createContext<RadioGroupContextValue | null>(null);\n\nexport const useRadioGroup = () => {\n const context = useContext(RadioGroupContext);\n if (!context) throw new Error(\"RadioGroupItem must be used inside RadioGroup\");\n return context;\n};\n\nexport type RadioGroupProps = Omit<JSX.HTMLAttributes<HTMLDivElement>, \"class\"> & {\n /** When omitted, a stable unique name is generated (forms can still submit if you add name to inputs manually). */\n name?: string;\n defaultValue?: string;\n value?: string;\n onValueChange?: (next: string) => void;\n class?: string;\n children?: ComponentChildren;\n};\n\nexport const RadioGroup = ({\n name: nameProp,\n defaultValue,\n value: valueProp,\n onValueChange,\n class: className,\n children,\n ...rest\n}: RadioGroupProps) => {\n const autoId = useId();\n const name = nameProp ?? `radio-group-${autoId}`;\n const [internalValue, setInternalValue] = useState<string | null>(\n valueProp !== undefined ? valueProp : (defaultValue ?? null),\n );\n\n useEffect(() => {\n if (valueProp !== undefined) {\n setInternalValue(valueProp);\n }\n }, [valueProp]);\n\n const setValue = (next: string) => {\n if (valueProp === undefined) {\n setInternalValue(next);\n }\n onValueChange?.(next);\n };\n\n return (\n <RadioGroupContext.Provider\n value={{ value: internalValue, controlledValue: valueProp, setValue, name }}\n >\n <div role=\"radiogroup\" data-slot=\"radio-group\" class={cn(\"grid gap-3\", className)} {...rest}>\n {children}\n </div>\n </RadioGroupContext.Provider>\n );\n};\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cn } from './chunk-
|
|
1
|
+
import { cn } from './chunk-XIANSPQO.js';
|
|
2
2
|
import { jsx, jsxs } from 'preact/jsx-runtime';
|
|
3
3
|
import { isValidElement, cloneElement } from 'preact';
|
|
4
4
|
|
|
@@ -104,5 +104,5 @@ var BreadcrumbSeparator = ({
|
|
|
104
104
|
);
|
|
105
105
|
|
|
106
106
|
export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator };
|
|
107
|
-
//# sourceMappingURL=chunk-
|
|
108
|
-
//# sourceMappingURL=chunk-
|
|
107
|
+
//# sourceMappingURL=chunk-6HFTTHSY.js.map
|
|
108
|
+
//# sourceMappingURL=chunk-6HFTTHSY.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/breadcrumb/Breadcrumb.tsx","../src/components/breadcrumb/BreadcrumbEllipsis.tsx","../src/components/breadcrumb/BreadcrumbItem.tsx","../src/components/breadcrumb/BreadcrumbLink.tsx","../src/components/breadcrumb/BreadcrumbList.tsx","../src/components/breadcrumb/BreadcrumbPage.tsx","../src/components/breadcrumb/BreadcrumbSeparator.tsx"],"names":["jsx"],"mappings":"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","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/components/breadcrumb/Breadcrumb.tsx","../src/components/breadcrumb/BreadcrumbEllipsis.tsx","../src/components/breadcrumb/BreadcrumbItem.tsx","../src/components/breadcrumb/BreadcrumbLink.tsx","../src/components/breadcrumb/BreadcrumbList.tsx","../src/components/breadcrumb/BreadcrumbPage.tsx","../src/components/breadcrumb/BreadcrumbSeparator.tsx"],"names":["jsx"],"mappings":"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","file":"chunk-6HFTTHSY.js","sourcesContent":["import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type BreadcrumbProps = JSX.HTMLAttributes<HTMLElement> & {\n children?: ComponentChildren;\n};\n\nexport const Breadcrumb = ({ class: className, children, ...rest }: BreadcrumbProps) => (\n <nav aria-label=\"breadcrumb\" data-slot=\"breadcrumb\" class={cn(className)} {...rest}>\n {children}\n </nav>\n);\n","import type { JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type BreadcrumbEllipsisProps = JSX.HTMLAttributes<HTMLSpanElement>;\n\nexport const BreadcrumbEllipsis = ({ class: className, ...rest }: BreadcrumbEllipsisProps) => (\n <span\n data-slot=\"breadcrumb-ellipsis\"\n class={cn(\"flex size-9 items-center justify-center\", className)}\n {...rest}\n >\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\" class=\"size-4\" aria-hidden=\"true\">\n <circle cx=\"5\" cy=\"12\" r=\"2\" />\n <circle cx=\"12\" cy=\"12\" r=\"2\" />\n <circle cx=\"19\" cy=\"12\" r=\"2\" />\n </svg>\n <span class=\"sr-only\">More</span>\n </span>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type BreadcrumbItemProps = JSX.HTMLAttributes<HTMLLIElement> & {\n children?: ComponentChildren;\n};\n\nexport const BreadcrumbItem = ({ class: className, children, ...rest }: BreadcrumbItemProps) => (\n <li\n data-slot=\"breadcrumb-item\"\n class={cn(\"inline-flex items-center gap-1.5\", className)}\n {...rest}\n >\n {children}\n </li>\n);\n","import { type ComponentChildren, cloneElement, isValidElement, type JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type BreadcrumbLinkProps = JSX.AnchorHTMLAttributes<HTMLAnchorElement> & {\n children?: ComponentChildren;\n asChild?: boolean;\n};\n\nconst linkClass = \"hover:text-foreground transition-colors\";\n\nexport const BreadcrumbLink = ({\n asChild = false,\n class: className,\n children,\n ...rest\n}: BreadcrumbLinkProps) => {\n const mergedClass = cn(linkClass, className);\n\n if (asChild) {\n if (!isValidElement(children)) {\n return null;\n }\n\n const childProps = (children.props ?? {}) as JSX.HTMLAttributes<HTMLElement> & {\n class?: string;\n className?: string;\n };\n\n return cloneElement(children, {\n ...(rest as JSX.HTMLAttributes<HTMLElement>),\n ...childProps,\n class: cn(mergedClass, childProps.class, childProps.className),\n \"data-slot\": \"breadcrumb-link\",\n });\n }\n\n return (\n <a data-slot=\"breadcrumb-link\" class={mergedClass} {...rest}>\n {children}\n </a>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type BreadcrumbListProps = JSX.HTMLAttributes<HTMLOListElement> & {\n children?: ComponentChildren;\n};\n\nexport const BreadcrumbList = ({ class: className, children, ...rest }: BreadcrumbListProps) => (\n <ol\n data-slot=\"breadcrumb-list\"\n class={cn(\n \"text-muted-foreground flex flex-wrap items-center gap-1.5 break-words text-sm\",\n className,\n )}\n {...rest}\n >\n {children}\n </ol>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type BreadcrumbPageProps = JSX.HTMLAttributes<HTMLSpanElement> & {\n children?: ComponentChildren;\n};\n\nexport const BreadcrumbPage = ({ class: className, children, ...rest }: BreadcrumbPageProps) => (\n <span\n role=\"link\"\n aria-disabled=\"true\"\n aria-current=\"page\"\n data-slot=\"breadcrumb-page\"\n class={cn(\"text-foreground font-medium\", className)}\n {...rest}\n >\n {children}\n </span>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type BreadcrumbSeparatorProps = JSX.HTMLAttributes<HTMLLIElement> & {\n children?: ComponentChildren;\n};\n\nexport const BreadcrumbSeparator = ({\n class: className,\n children,\n ...rest\n}: BreadcrumbSeparatorProps) => (\n <li\n data-slot=\"breadcrumb-separator\"\n role=\"presentation\"\n aria-hidden=\"true\"\n class={cn(\"[&>svg]:size-3.5\", className)}\n {...rest}\n >\n {children ?? (\n <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=\"shrink-0 rtl:rotate-180\"\n aria-hidden=\"true\"\n >\n <path d=\"m9 18 6-6-6-6\" />\n </svg>\n )}\n </li>\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/input/Input.tsx
|
|
5
5
|
var input = tv({
|
|
6
6
|
base: [
|
|
7
7
|
"border-input dark:bg-input/30 text-foreground min-w-0 w-full rounded-md border bg-transparent shadow-xs",
|
|
@@ -17,15 +17,8 @@ var input = tv({
|
|
|
17
17
|
},
|
|
18
18
|
defaultVariants: { size: "md" }
|
|
19
19
|
});
|
|
20
|
-
var Input = ({ size, class: className, ...rest }) => /* @__PURE__ */ jsx(
|
|
21
|
-
"input",
|
|
22
|
-
{
|
|
23
|
-
class: input({ size, class: className }),
|
|
24
|
-
"data-slot": "input",
|
|
25
|
-
...rest
|
|
26
|
-
}
|
|
27
|
-
);
|
|
20
|
+
var Input = ({ size, class: className, ...rest }) => /* @__PURE__ */ jsx("input", { class: cn(input({ size }), className), "data-slot": "input", ...rest });
|
|
28
21
|
|
|
29
22
|
export { Input, input };
|
|
30
|
-
//# sourceMappingURL=chunk-
|
|
31
|
-
//# sourceMappingURL=chunk-
|
|
23
|
+
//# sourceMappingURL=chunk-7LWAWZHM.js.map
|
|
24
|
+
//# sourceMappingURL=chunk-7LWAWZHM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/input/Input.tsx"],"names":[],"mappings":";;;;AAIO,IAAM,QAAQ,EAAA,CAAG;AAAA,EACtB,IAAA,EAAM;AAAA,IACJ,yGAAA;AAAA,IACA,4HAAA;AAAA,IACA,mDAAA;AAAA,IACA,yHAAA;AAAA,IACA,iDAAA;AAAA,IACA,oEAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,QAAA,EAAU;AAAA,IACR,MAAM,EAAE,EAAA,EAAI,sBAAsB,EAAA,EAAI,kBAAA,EAAoB,IAAI,sBAAA;AAAuB,GACvF;AAAA,EACA,eAAA,EAAiB,EAAE,IAAA,EAAM,IAAA;AAC3B,CAAC;AAKM,IAAM,KAAA,GAAQ,CAAC,EAAE,IAAA,EAAM,OAAO,SAAA,EAAW,GAAG,IAAA,EAAK,qBACtD,GAAA,CAAC,OAAA,EAAA,EAAM,OAAO,EAAA,CAAG,KAAA,CAAM,EAAE,IAAA,EAAM,CAAA,EAAG,SAAS,CAAA,EAAG,WAAA,EAAU,OAAA,EAAS,GAAG,IAAA,EAAM","file":"chunk-7LWAWZHM.js","sourcesContent":["import type { JSX } from \"preact\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\nimport { cn } from \"../../lib/utils\";\n\nexport const input = tv({\n base: [\n \"border-input dark:bg-input/30 text-foreground min-w-0 w-full rounded-md border bg-transparent shadow-xs\",\n \"outline-none focus-visible:border-outline focus-visible:ring-outline/50 transition-[color,box-shadow] focus-visible:ring-3\",\n \"selection:bg-primary/20 selection:text-foreground\",\n \"file:text-foreground file:my-auto file:me-4 file:h-full file:border-0 file:bg-transparent file:text-sm file:font-medium\",\n \"disabled:cursor-not-allowed disabled:opacity-50\",\n \"aria-invalid:border-error aria-invalid:focus-visible:ring-error/40\",\n \"peer placeholder:text-muted-foreground\",\n ],\n variants: {\n size: { sm: \"h-7 px-2.5 text-sm\", md: \"h-8 px-3 text-sm\", lg: \"h-9 px-3.5 text-base\" },\n },\n defaultVariants: { size: \"md\" },\n});\n\nexport type InputProps = Omit<JSX.InputHTMLAttributes<HTMLInputElement>, \"size\"> &\n VariantProps<typeof input>;\n\nexport const Input = ({ size, class: className, ...rest }: InputProps) => (\n <input class={cn(input({ size }), className)} data-slot=\"input\" {...rest} />\n);\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { createIdFactory, createDismissableLayer } from './chunk-
|
|
2
|
-
import { cn } from './chunk-
|
|
1
|
+
import { createIdFactory, createDismissableLayer } from './chunk-3XMFQKWB.js';
|
|
2
|
+
import { cn } from './chunk-XIANSPQO.js';
|
|
3
3
|
import { signal } from '@preact/signals';
|
|
4
4
|
import { useMemo, useRef, useEffect, useContext } from 'preact/hooks';
|
|
5
5
|
import { createContext } from 'preact';
|
|
@@ -451,5 +451,5 @@ var menubar_default = {
|
|
|
451
451
|
};
|
|
452
452
|
|
|
453
453
|
export { Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, menubar_default };
|
|
454
|
-
//# sourceMappingURL=chunk-
|
|
455
|
-
//# sourceMappingURL=chunk-
|
|
454
|
+
//# sourceMappingURL=chunk-A6ZZZFZN.js.map
|
|
455
|
+
//# sourceMappingURL=chunk-A6ZZZFZN.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/menubar/menubar-context.tsx","../src/components/menubar/Menubar.tsx","../src/components/menubar/MenubarCheckboxItem.tsx","../src/components/menubar/MenubarContent.tsx","../src/components/menubar/MenubarGroup.tsx","../src/components/menubar/MenubarItem.tsx","../src/components/menubar/MenubarLabel.tsx","../src/components/menubar/MenubarMenu.tsx","../src/components/menubar/MenubarRadioGroup.tsx","../src/components/menubar/MenubarRadioItem.tsx","../src/components/menubar/MenubarSeparator.tsx","../src/components/menubar/MenubarShortcut.tsx","../src/components/menubar/MenubarSub.tsx","../src/components/menubar/MenubarSubContent.tsx","../src/components/menubar/MenubarSubTrigger.tsx","../src/components/menubar/MenubarTrigger.tsx","../src/components/menubar/index.ts"],"names":["jsx","useMemo","signal","useEffect","jsxs"],"mappings":"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","file":"chunk-RHNI5UQO.js","sourcesContent":["import { type signal } from \"@preact/signals\";\nimport { createContext } from \"preact\";\nimport { useContext } from \"preact/hooks\";\n\nexport type MenubarRootContextValue = {\n openMenuId: ReturnType<typeof signal<string | null>>;\n setOpenMenuId: (id: string | null) => void;\n rootRef: { current: HTMLDivElement | null };\n};\n\nexport const MenubarRootContext = createContext<MenubarRootContextValue | null>(null);\n\nexport const useMenubarRoot = () => {\n const ctx = useContext(MenubarRootContext);\n if (!ctx) throw new Error(\"Menubar components must be used within Menubar\");\n return ctx;\n};\n\nexport type MenubarMenuContextValue = {\n menuId: string;\n};\n\nexport const MenubarMenuContext = createContext<MenubarMenuContextValue | null>(null);\n\nexport const useMenubarMenu = () => {\n const ctx = useContext(MenubarMenuContext);\n if (!ctx) throw new Error(\"MenubarTrigger and MenubarContent must be inside MenubarMenu\");\n return ctx;\n};\n\nexport type MenubarRadioContextValue = {\n selected: ReturnType<typeof signal<string>>;\n controlledValue: string | undefined;\n setValue: (next: string) => void;\n};\n\nexport const MenubarRadioContext = createContext<MenubarRadioContextValue | null>(null);\n\nexport const useMenubarRadio = () => {\n const ctx = useContext(MenubarRadioContext);\n if (!ctx) throw new Error(\"MenubarRadioItem must be inside MenubarRadioGroup\");\n return ctx;\n};\n\nexport type MenubarSubContextValue = {\n open: ReturnType<typeof signal<boolean>>;\n setOpen: (next: boolean) => void;\n};\n\nexport const MenubarSubContext = createContext<MenubarSubContextValue | null>(null);\n\nexport const useMenubarSub = () => {\n const ctx = useContext(MenubarSubContext);\n if (!ctx) throw new Error(\"MenubarSub parts must be inside MenubarSub\");\n return ctx;\n};\n","import { signal } from \"@preact/signals\";\nimport type { ComponentChildren, JSX } from \"preact\";\nimport { useEffect, useMemo, useRef } from \"preact/hooks\";\nimport { createDismissableLayer } from \"../../lib/interactive\";\nimport { cn } from \"../../lib/utils\";\nimport { MenubarRootContext } from \"./menubar-context\";\n\nexport type MenubarProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n dir?: \"ltr\" | \"rtl\";\n};\n\nexport const Menubar = ({ class: className, children, dir, ...rest }: MenubarProps) => {\n const openMenuId = useMemo(() => signal<string | null>(null), []);\n const rootRef = useRef<HTMLDivElement | null>(null);\n\n const ctx = useMemo(\n () => ({\n openMenuId,\n setOpenMenuId: (id: string | null) => {\n openMenuId.value = id;\n },\n rootRef,\n }),\n [openMenuId],\n );\n\n useEffect(() => {\n const layer = createDismissableLayer({\n root: () => rootRef.current,\n open: () => openMenuId.value != null,\n onDismiss: () => {\n openMenuId.value = null;\n },\n });\n return () => layer.dispose();\n }, [openMenuId]);\n\n return (\n <MenubarRootContext.Provider value={ctx}>\n <div\n ref={rootRef}\n data-slot=\"menubar\"\n role=\"menubar\"\n dir={dir}\n class={cn(\n \"flex h-9 items-center gap-0 rounded-md border border-border bg-background p-1 shadow-xs\",\n className,\n )}\n {...rest}\n >\n {children}\n </div>\n </MenubarRootContext.Provider>\n );\n};\n","import { signal } from \"@preact/signals\";\nimport type { ComponentChildren, JSX } from \"preact\";\nimport { useMemo } from \"preact/hooks\";\nimport { cn } from \"../../lib/utils\";\n\nexport type MenubarCheckboxItemProps = JSX.ButtonHTMLAttributes<HTMLButtonElement> & {\n children?: ComponentChildren;\n checked?: boolean;\n defaultChecked?: boolean;\n onCheckedChange?: (checked: boolean) => void;\n};\n\nconst CheckIcon = () => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n class=\"size-4\"\n aria-hidden\n >\n <path d=\"M20 6 9 17l-5-5\" />\n </svg>\n);\n\nexport const MenubarCheckboxItem = ({\n class: className,\n children,\n checked: controlledChecked,\n defaultChecked = false,\n onCheckedChange,\n disabled,\n onClick,\n ...rest\n}: MenubarCheckboxItemProps) => {\n const internal = useMemo(() => signal(defaultChecked), []);\n const checked = controlledChecked !== undefined ? controlledChecked : internal.value;\n\n const setChecked = (next: boolean) => {\n if (controlledChecked === undefined) internal.value = next;\n onCheckedChange?.(next);\n };\n\n return (\n <button\n type=\"button\"\n role=\"menuitemcheckbox\"\n data-slot=\"menubar-checkbox-item\"\n aria-checked={checked}\n disabled={disabled}\n class={cn(\n \"relative flex w-full cursor-default select-none items-center gap-2 rounded-sm py-1.5 ps-8 pe-2 text-start text-sm outline-none\",\n \"focus:bg-accent focus:text-accent-foreground\",\n \"disabled:pointer-events-none disabled:opacity-50\",\n className,\n )}\n onClick={(e) => {\n onClick?.(e);\n if (e.defaultPrevented) return;\n setChecked(!checked);\n }}\n {...rest}\n >\n <span class=\"absolute start-2 flex size-3.5 items-center justify-center\">\n {checked ? <CheckIcon /> : null}\n </span>\n {children}\n </button>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { useMenubarMenu, useMenubarRoot } from \"./menubar-context\";\n\nexport type MenubarContentProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const MenubarContent = ({ class: className, children, ...rest }: MenubarContentProps) => {\n const root = useMenubarRoot();\n const { menuId } = useMenubarMenu();\n const open = root.openMenuId.value === menuId;\n\n if (!open) return null;\n\n return (\n <div\n role=\"menu\"\n data-slot=\"menubar-content\"\n data-state=\"open\"\n class={cn(\n \"absolute start-0 top-full z-50 mt-1 min-w-48 rounded-md border border-border bg-popover p-0 text-popover-foreground shadow-md outline-none\",\n className,\n )}\n {...rest}\n >\n {children}\n </div>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type MenubarGroupProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const MenubarGroup = ({ class: className, children, ...rest }: MenubarGroupProps) => (\n <div role=\"group\" data-slot=\"menubar-group\" class={cn(\"p-1\", className)} {...rest}>\n {children}\n </div>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { useMenubarRoot } from \"./menubar-context\";\n\nexport type MenubarItemProps = JSX.ButtonHTMLAttributes<HTMLButtonElement> & {\n children?: ComponentChildren;\n inset?: boolean;\n variant?: \"default\" | \"destructive\";\n};\n\nexport const MenubarItem = ({\n class: className,\n inset = false,\n variant = \"default\",\n children,\n disabled,\n onClick,\n ...rest\n}: MenubarItemProps) => {\n const root = useMenubarRoot();\n\n return (\n <button\n type=\"button\"\n role=\"menuitem\"\n data-slot=\"menubar-item\"\n data-inset={inset ? \"true\" : undefined}\n data-variant={variant}\n disabled={disabled}\n class={cn(\n \"relative flex w-full cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-start text-sm outline-none\",\n \"focus:bg-accent focus:text-accent-foreground\",\n \"disabled:pointer-events-none disabled:opacity-50\",\n inset && \"ps-8\",\n variant === \"destructive\" &&\n \"text-destructive focus:bg-destructive/10 focus:text-destructive\",\n className,\n )}\n onClick={(e) => {\n onClick?.(e);\n if (e.defaultPrevented) return;\n root.setOpenMenuId(null);\n }}\n {...rest}\n >\n {children}\n </button>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type MenubarLabelProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const MenubarLabel = ({ class: className, children, ...rest }: MenubarLabelProps) => (\n <div\n data-slot=\"menubar-label\"\n class={cn(\"px-2 py-1.5 text-sm font-medium text-muted-foreground\", className)}\n {...rest}\n >\n {children}\n </div>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { useMemo } from \"preact/hooks\";\nimport { createIdFactory } from \"../../lib/interactive\";\nimport { cn } from \"../../lib/utils\";\nimport { MenubarMenuContext } from \"./menubar-context\";\n\nconst nextMenuId = createIdFactory(\"menubar-menu\");\n\nexport type MenubarMenuProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n /** Optional stable id; auto-generated when omitted. */\n value?: string;\n};\n\nexport const MenubarMenu = ({\n class: className,\n children,\n value: valueProp,\n ...rest\n}: MenubarMenuProps) => {\n const menuId = useMemo(() => nextMenuId(valueProp), [valueProp]);\n\n return (\n <MenubarMenuContext.Provider value={{ menuId }}>\n <div data-slot=\"menubar-menu\" class={cn(\"relative flex\", className)} {...rest}>\n {children}\n </div>\n </MenubarMenuContext.Provider>\n );\n};\n","import { signal } from \"@preact/signals\";\nimport type { ComponentChildren, JSX } from \"preact\";\nimport { useEffect, useMemo } from \"preact/hooks\";\nimport { cn } from \"../../lib/utils\";\nimport { MenubarRadioContext } from \"./menubar-context\";\n\nexport type MenubarRadioGroupProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n value?: string;\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n};\n\nexport const MenubarRadioGroup = ({\n class: className,\n children,\n value: controlledValue,\n defaultValue = \"\",\n onValueChange,\n ...rest\n}: MenubarRadioGroupProps) => {\n const selected = useMemo(() => signal(controlledValue ?? defaultValue), []);\n\n useEffect(() => {\n if (controlledValue !== undefined) selected.value = controlledValue;\n }, [controlledValue, selected]);\n\n const ctx = useMemo(\n () => ({\n selected,\n controlledValue,\n setValue: (next: string) => {\n if (controlledValue === undefined) selected.value = next;\n onValueChange?.(next);\n },\n }),\n [controlledValue, onValueChange, selected],\n );\n\n return (\n <MenubarRadioContext.Provider value={ctx}>\n <div role=\"group\" data-slot=\"menubar-radio-group\" class={cn(\"p-1\", className)} {...rest}>\n {children}\n </div>\n </MenubarRadioContext.Provider>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { useMenubarRadio } from \"./menubar-context\";\n\nexport type MenubarRadioItemProps = JSX.ButtonHTMLAttributes<HTMLButtonElement> & {\n children?: ComponentChildren;\n value: string;\n};\n\nconst CircleIcon = ({ filled }: { filled: boolean }) => (\n <span class=\"flex size-3.5 items-center justify-center\" aria-hidden>\n {filled ? (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" class=\"size-2 fill-current\">\n <circle cx=\"12\" cy=\"12\" r=\"6\" />\n </svg>\n ) : (\n <span class=\"size-2 rounded-full border border-current opacity-60\" />\n )}\n </span>\n);\n\nexport const MenubarRadioItem = ({\n class: className,\n value,\n children,\n disabled,\n onClick,\n ...rest\n}: MenubarRadioItemProps) => {\n const radio = useMenubarRadio();\n const current =\n radio.controlledValue !== undefined ? radio.controlledValue : radio.selected.value;\n const checked = current === value;\n\n return (\n <button\n type=\"button\"\n role=\"menuitemradio\"\n data-slot=\"menubar-radio-item\"\n aria-checked={checked}\n disabled={disabled}\n class={cn(\n \"relative flex w-full cursor-default select-none items-center gap-2 rounded-sm py-1.5 ps-8 pe-2 text-start text-sm outline-none\",\n \"focus:bg-accent focus:text-accent-foreground\",\n \"disabled:pointer-events-none disabled:opacity-50\",\n className,\n )}\n onClick={(e) => {\n onClick?.(e);\n if (e.defaultPrevented) return;\n radio.setValue(value);\n }}\n {...rest}\n >\n <span class=\"absolute start-2 flex size-3.5 items-center justify-center text-foreground\">\n <CircleIcon filled={checked} />\n </span>\n {children}\n </button>\n );\n};\n","import type { JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type MenubarSeparatorProps = JSX.HTMLAttributes<HTMLDivElement>;\n\nexport const MenubarSeparator = ({ class: className, ...rest }: MenubarSeparatorProps) => (\n <div\n role=\"separator\"\n data-slot=\"menubar-separator\"\n class={cn(\"mx-1 my-1 h-px bg-border\", className)}\n {...rest}\n />\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type MenubarShortcutProps = JSX.HTMLAttributes<HTMLSpanElement> & {\n children?: ComponentChildren;\n};\n\nexport const MenubarShortcut = ({ class: className, children, ...rest }: MenubarShortcutProps) => (\n <span\n data-slot=\"menubar-shortcut\"\n class={cn(\"ms-auto text-xs tracking-widest text-muted-foreground\", className)}\n {...rest}\n >\n {children}\n </span>\n);\n","import { signal } from \"@preact/signals\";\nimport type { ComponentChildren, JSX } from \"preact\";\nimport { useMemo } from \"preact/hooks\";\nimport { cn } from \"../../lib/utils\";\nimport { MenubarSubContext } from \"./menubar-context\";\n\nexport type MenubarSubProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const MenubarSub = ({ class: className, children, ...rest }: MenubarSubProps) => {\n const open = useMemo(() => signal(false), []);\n\n const ctx = useMemo(\n () => ({\n open,\n setOpen: (next: boolean) => {\n open.value = next;\n },\n }),\n [open],\n );\n\n return (\n <MenubarSubContext.Provider value={ctx}>\n <div\n data-slot=\"menubar-sub\"\n class={cn(\"relative\", className)}\n onPointerLeave={() => {\n open.value = false;\n }}\n {...rest}\n >\n {children}\n </div>\n </MenubarSubContext.Provider>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { useMenubarSub } from \"./menubar-context\";\n\nexport type MenubarSubContentProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const MenubarSubContent = ({\n class: className,\n children,\n onPointerEnter,\n ...rest\n}: MenubarSubContentProps) => {\n const sub = useMenubarSub();\n\n if (!sub.open.value) return null;\n\n return (\n <div\n role=\"menu\"\n data-slot=\"menubar-sub-content\"\n data-state=\"open\"\n class={cn(\n \"absolute start-full top-0 z-50 min-w-40 rounded-md border border-border bg-popover p-0 text-popover-foreground shadow-md outline-none ms-1 rtl:me-1 rtl:ms-0\",\n className,\n )}\n onPointerEnter={(e) => {\n onPointerEnter?.(e);\n sub.setOpen(true);\n }}\n {...rest}\n >\n {children}\n </div>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { useMenubarSub } from \"./menubar-context\";\n\nconst ChevronRight = ({ class: className }: { class?: string }) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n class={cn(\"size-4 shrink-0 rtl:rotate-180\", className)}\n aria-hidden\n >\n <path d=\"m9 18 6-6-6-6\" />\n </svg>\n);\n\nexport type MenubarSubTriggerProps = JSX.ButtonHTMLAttributes<HTMLButtonElement> & {\n children?: ComponentChildren;\n};\n\nexport const MenubarSubTrigger = ({\n class: className,\n children,\n onClick,\n onPointerEnter,\n ...rest\n}: MenubarSubTriggerProps) => {\n const sub = useMenubarSub();\n const open = sub.open.value;\n\n return (\n <button\n type=\"button\"\n role=\"menuitem\"\n data-slot=\"menubar-sub-trigger\"\n data-state={open ? \"open\" : \"closed\"}\n aria-expanded={open}\n aria-haspopup=\"menu\"\n class={cn(\n \"flex w-full cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-start text-sm outline-none\",\n \"focus:bg-accent focus:text-accent-foreground\",\n \"data-[state=open]:bg-accent data-[state=open]:text-accent-foreground\",\n className,\n )}\n onPointerEnter={(e) => {\n onPointerEnter?.(e);\n if (e.defaultPrevented) return;\n sub.setOpen(true);\n }}\n onClick={(e) => {\n onClick?.(e);\n if (e.defaultPrevented) return;\n sub.setOpen(!open);\n }}\n {...rest}\n >\n {children}\n <ChevronRight class=\"ms-auto\" />\n </button>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { useMenubarMenu, useMenubarRoot } from \"./menubar-context\";\n\nexport type MenubarTriggerProps = JSX.ButtonHTMLAttributes<HTMLButtonElement> & {\n children?: ComponentChildren;\n};\n\nexport const MenubarTrigger = ({\n class: className,\n children,\n onClick,\n ...rest\n}: MenubarTriggerProps) => {\n const root = useMenubarRoot();\n const { menuId } = useMenubarMenu();\n const open = root.openMenuId.value === menuId;\n\n return (\n <button\n type=\"button\"\n data-slot=\"menubar-trigger\"\n data-state={open ? \"open\" : \"closed\"}\n aria-expanded={open}\n aria-haspopup=\"menu\"\n class={cn(\n \"flex cursor-default select-none items-center rounded-sm px-2 py-1 text-sm font-medium outline-none\",\n \"focus:bg-accent focus:text-accent-foreground\",\n \"data-[state=open]:bg-accent data-[state=open]:text-accent-foreground\",\n className,\n )}\n onClick={(e) => {\n onClick?.(e);\n if (e.defaultPrevented) return;\n root.setOpenMenuId(open ? null : menuId);\n }}\n {...rest}\n >\n {children}\n </button>\n );\n};\n","import { Menubar } from \"./Menubar\";\nimport { MenubarCheckboxItem } from \"./MenubarCheckboxItem\";\nimport { MenubarContent } from \"./MenubarContent\";\nimport { MenubarGroup } from \"./MenubarGroup\";\nimport { MenubarItem } from \"./MenubarItem\";\nimport { MenubarLabel } from \"./MenubarLabel\";\nimport { MenubarMenu } from \"./MenubarMenu\";\nimport { MenubarRadioGroup } from \"./MenubarRadioGroup\";\nimport { MenubarRadioItem } from \"./MenubarRadioItem\";\nimport { MenubarSeparator } from \"./MenubarSeparator\";\nimport { MenubarShortcut } from \"./MenubarShortcut\";\nimport { MenubarSub } from \"./MenubarSub\";\nimport { MenubarSubContent } from \"./MenubarSubContent\";\nimport { MenubarSubTrigger } from \"./MenubarSubTrigger\";\nimport { MenubarTrigger } from \"./MenubarTrigger\";\n\nexport type { MenubarProps } from \"./Menubar\";\nexport type { MenubarCheckboxItemProps } from \"./MenubarCheckboxItem\";\nexport type { MenubarContentProps } from \"./MenubarContent\";\nexport type { MenubarGroupProps } from \"./MenubarGroup\";\nexport type { MenubarItemProps } from \"./MenubarItem\";\nexport type { MenubarLabelProps } from \"./MenubarLabel\";\nexport type { MenubarMenuProps } from \"./MenubarMenu\";\nexport type { MenubarRadioGroupProps } from \"./MenubarRadioGroup\";\nexport type { MenubarRadioItemProps } from \"./MenubarRadioItem\";\nexport type { MenubarSeparatorProps } from \"./MenubarSeparator\";\nexport type { MenubarShortcutProps } from \"./MenubarShortcut\";\nexport type { MenubarSubProps } from \"./MenubarSub\";\nexport type { MenubarSubContentProps } from \"./MenubarSubContent\";\nexport type { MenubarSubTriggerProps } from \"./MenubarSubTrigger\";\nexport type { MenubarTriggerProps } from \"./MenubarTrigger\";\nexport {\n Menubar,\n MenubarCheckboxItem,\n MenubarContent,\n MenubarGroup,\n MenubarItem,\n MenubarLabel,\n MenubarMenu,\n MenubarRadioGroup,\n MenubarRadioItem,\n MenubarSeparator,\n MenubarShortcut,\n MenubarSub,\n MenubarSubContent,\n MenubarSubTrigger,\n MenubarTrigger,\n};\n\nexport default {\n Root: Menubar,\n Menu: MenubarMenu,\n Trigger: MenubarTrigger,\n Content: MenubarContent,\n Group: MenubarGroup,\n Item: MenubarItem,\n Label: MenubarLabel,\n Separator: MenubarSeparator,\n Shortcut: MenubarShortcut,\n CheckboxItem: MenubarCheckboxItem,\n RadioGroup: MenubarRadioGroup,\n RadioItem: MenubarRadioItem,\n Sub: MenubarSub,\n SubTrigger: MenubarSubTrigger,\n SubContent: MenubarSubContent,\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/menubar/menubar-context.tsx","../src/components/menubar/Menubar.tsx","../src/components/menubar/MenubarCheckboxItem.tsx","../src/components/menubar/MenubarContent.tsx","../src/components/menubar/MenubarGroup.tsx","../src/components/menubar/MenubarItem.tsx","../src/components/menubar/MenubarLabel.tsx","../src/components/menubar/MenubarMenu.tsx","../src/components/menubar/MenubarRadioGroup.tsx","../src/components/menubar/MenubarRadioItem.tsx","../src/components/menubar/MenubarSeparator.tsx","../src/components/menubar/MenubarShortcut.tsx","../src/components/menubar/MenubarSub.tsx","../src/components/menubar/MenubarSubContent.tsx","../src/components/menubar/MenubarSubTrigger.tsx","../src/components/menubar/MenubarTrigger.tsx","../src/components/menubar/index.ts"],"names":["jsx","useMemo","signal","useEffect","jsxs"],"mappings":"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","file":"chunk-A6ZZZFZN.js","sourcesContent":["import { type signal } from \"@preact/signals\";\nimport { createContext } from \"preact\";\nimport { useContext } from \"preact/hooks\";\n\nexport type MenubarRootContextValue = {\n openMenuId: ReturnType<typeof signal<string | null>>;\n setOpenMenuId: (id: string | null) => void;\n rootRef: { current: HTMLDivElement | null };\n};\n\nexport const MenubarRootContext = createContext<MenubarRootContextValue | null>(null);\n\nexport const useMenubarRoot = () => {\n const ctx = useContext(MenubarRootContext);\n if (!ctx) throw new Error(\"Menubar components must be used within Menubar\");\n return ctx;\n};\n\nexport type MenubarMenuContextValue = {\n menuId: string;\n};\n\nexport const MenubarMenuContext = createContext<MenubarMenuContextValue | null>(null);\n\nexport const useMenubarMenu = () => {\n const ctx = useContext(MenubarMenuContext);\n if (!ctx) throw new Error(\"MenubarTrigger and MenubarContent must be inside MenubarMenu\");\n return ctx;\n};\n\nexport type MenubarRadioContextValue = {\n selected: ReturnType<typeof signal<string>>;\n controlledValue: string | undefined;\n setValue: (next: string) => void;\n};\n\nexport const MenubarRadioContext = createContext<MenubarRadioContextValue | null>(null);\n\nexport const useMenubarRadio = () => {\n const ctx = useContext(MenubarRadioContext);\n if (!ctx) throw new Error(\"MenubarRadioItem must be inside MenubarRadioGroup\");\n return ctx;\n};\n\nexport type MenubarSubContextValue = {\n open: ReturnType<typeof signal<boolean>>;\n setOpen: (next: boolean) => void;\n};\n\nexport const MenubarSubContext = createContext<MenubarSubContextValue | null>(null);\n\nexport const useMenubarSub = () => {\n const ctx = useContext(MenubarSubContext);\n if (!ctx) throw new Error(\"MenubarSub parts must be inside MenubarSub\");\n return ctx;\n};\n","import { signal } from \"@preact/signals\";\nimport type { ComponentChildren, JSX } from \"preact\";\nimport { useEffect, useMemo, useRef } from \"preact/hooks\";\nimport { createDismissableLayer } from \"../../lib/interactive\";\nimport { cn } from \"../../lib/utils\";\nimport { MenubarRootContext } from \"./menubar-context\";\n\nexport type MenubarProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n dir?: \"ltr\" | \"rtl\";\n};\n\nexport const Menubar = ({ class: className, children, dir, ...rest }: MenubarProps) => {\n const openMenuId = useMemo(() => signal<string | null>(null), []);\n const rootRef = useRef<HTMLDivElement | null>(null);\n\n const ctx = useMemo(\n () => ({\n openMenuId,\n setOpenMenuId: (id: string | null) => {\n openMenuId.value = id;\n },\n rootRef,\n }),\n [openMenuId],\n );\n\n useEffect(() => {\n const layer = createDismissableLayer({\n root: () => rootRef.current,\n open: () => openMenuId.value != null,\n onDismiss: () => {\n openMenuId.value = null;\n },\n });\n return () => layer.dispose();\n }, [openMenuId]);\n\n return (\n <MenubarRootContext.Provider value={ctx}>\n <div\n ref={rootRef}\n data-slot=\"menubar\"\n role=\"menubar\"\n dir={dir}\n class={cn(\n \"flex h-9 items-center gap-0 rounded-md border border-border bg-background p-1 shadow-xs\",\n className,\n )}\n {...rest}\n >\n {children}\n </div>\n </MenubarRootContext.Provider>\n );\n};\n","import { signal } from \"@preact/signals\";\nimport type { ComponentChildren, JSX } from \"preact\";\nimport { useMemo } from \"preact/hooks\";\nimport { cn } from \"../../lib/utils\";\n\nexport type MenubarCheckboxItemProps = JSX.ButtonHTMLAttributes<HTMLButtonElement> & {\n children?: ComponentChildren;\n checked?: boolean;\n defaultChecked?: boolean;\n onCheckedChange?: (checked: boolean) => void;\n};\n\nconst CheckIcon = () => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n class=\"size-4\"\n aria-hidden\n >\n <path d=\"M20 6 9 17l-5-5\" />\n </svg>\n);\n\nexport const MenubarCheckboxItem = ({\n class: className,\n children,\n checked: controlledChecked,\n defaultChecked = false,\n onCheckedChange,\n disabled,\n onClick,\n ...rest\n}: MenubarCheckboxItemProps) => {\n const internal = useMemo(() => signal(defaultChecked), []);\n const checked = controlledChecked !== undefined ? controlledChecked : internal.value;\n\n const setChecked = (next: boolean) => {\n if (controlledChecked === undefined) internal.value = next;\n onCheckedChange?.(next);\n };\n\n return (\n <button\n type=\"button\"\n role=\"menuitemcheckbox\"\n data-slot=\"menubar-checkbox-item\"\n aria-checked={checked}\n disabled={disabled}\n class={cn(\n \"relative flex w-full cursor-default select-none items-center gap-2 rounded-sm py-1.5 ps-8 pe-2 text-start text-sm outline-none\",\n \"focus:bg-accent focus:text-accent-foreground\",\n \"disabled:pointer-events-none disabled:opacity-50\",\n className,\n )}\n onClick={(e) => {\n onClick?.(e);\n if (e.defaultPrevented) return;\n setChecked(!checked);\n }}\n {...rest}\n >\n <span class=\"absolute start-2 flex size-3.5 items-center justify-center\">\n {checked ? <CheckIcon /> : null}\n </span>\n {children}\n </button>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { useMenubarMenu, useMenubarRoot } from \"./menubar-context\";\n\nexport type MenubarContentProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const MenubarContent = ({ class: className, children, ...rest }: MenubarContentProps) => {\n const root = useMenubarRoot();\n const { menuId } = useMenubarMenu();\n const open = root.openMenuId.value === menuId;\n\n if (!open) return null;\n\n return (\n <div\n role=\"menu\"\n data-slot=\"menubar-content\"\n data-state=\"open\"\n class={cn(\n \"absolute start-0 top-full z-50 mt-1 min-w-48 rounded-md border border-border bg-popover p-0 text-popover-foreground shadow-md outline-none\",\n className,\n )}\n {...rest}\n >\n {children}\n </div>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type MenubarGroupProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const MenubarGroup = ({ class: className, children, ...rest }: MenubarGroupProps) => (\n <div role=\"group\" data-slot=\"menubar-group\" class={cn(\"p-1\", className)} {...rest}>\n {children}\n </div>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { useMenubarRoot } from \"./menubar-context\";\n\nexport type MenubarItemProps = JSX.ButtonHTMLAttributes<HTMLButtonElement> & {\n children?: ComponentChildren;\n inset?: boolean;\n variant?: \"default\" | \"destructive\";\n};\n\nexport const MenubarItem = ({\n class: className,\n inset = false,\n variant = \"default\",\n children,\n disabled,\n onClick,\n ...rest\n}: MenubarItemProps) => {\n const root = useMenubarRoot();\n\n return (\n <button\n type=\"button\"\n role=\"menuitem\"\n data-slot=\"menubar-item\"\n data-inset={inset ? \"true\" : undefined}\n data-variant={variant}\n disabled={disabled}\n class={cn(\n \"relative flex w-full cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-start text-sm outline-none\",\n \"focus:bg-accent focus:text-accent-foreground\",\n \"disabled:pointer-events-none disabled:opacity-50\",\n inset && \"ps-8\",\n variant === \"destructive\" &&\n \"text-destructive focus:bg-destructive/10 focus:text-destructive\",\n className,\n )}\n onClick={(e) => {\n onClick?.(e);\n if (e.defaultPrevented) return;\n root.setOpenMenuId(null);\n }}\n {...rest}\n >\n {children}\n </button>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type MenubarLabelProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const MenubarLabel = ({ class: className, children, ...rest }: MenubarLabelProps) => (\n <div\n data-slot=\"menubar-label\"\n class={cn(\"px-2 py-1.5 text-sm font-medium text-muted-foreground\", className)}\n {...rest}\n >\n {children}\n </div>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { useMemo } from \"preact/hooks\";\nimport { createIdFactory } from \"../../lib/interactive\";\nimport { cn } from \"../../lib/utils\";\nimport { MenubarMenuContext } from \"./menubar-context\";\n\nconst nextMenuId = createIdFactory(\"menubar-menu\");\n\nexport type MenubarMenuProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n /** Optional stable id; auto-generated when omitted. */\n value?: string;\n};\n\nexport const MenubarMenu = ({\n class: className,\n children,\n value: valueProp,\n ...rest\n}: MenubarMenuProps) => {\n const menuId = useMemo(() => nextMenuId(valueProp), [valueProp]);\n\n return (\n <MenubarMenuContext.Provider value={{ menuId }}>\n <div data-slot=\"menubar-menu\" class={cn(\"relative flex\", className)} {...rest}>\n {children}\n </div>\n </MenubarMenuContext.Provider>\n );\n};\n","import { signal } from \"@preact/signals\";\nimport type { ComponentChildren, JSX } from \"preact\";\nimport { useEffect, useMemo } from \"preact/hooks\";\nimport { cn } from \"../../lib/utils\";\nimport { MenubarRadioContext } from \"./menubar-context\";\n\nexport type MenubarRadioGroupProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n value?: string;\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n};\n\nexport const MenubarRadioGroup = ({\n class: className,\n children,\n value: controlledValue,\n defaultValue = \"\",\n onValueChange,\n ...rest\n}: MenubarRadioGroupProps) => {\n const selected = useMemo(() => signal(controlledValue ?? defaultValue), []);\n\n useEffect(() => {\n if (controlledValue !== undefined) selected.value = controlledValue;\n }, [controlledValue, selected]);\n\n const ctx = useMemo(\n () => ({\n selected,\n controlledValue,\n setValue: (next: string) => {\n if (controlledValue === undefined) selected.value = next;\n onValueChange?.(next);\n },\n }),\n [controlledValue, onValueChange, selected],\n );\n\n return (\n <MenubarRadioContext.Provider value={ctx}>\n <div role=\"group\" data-slot=\"menubar-radio-group\" class={cn(\"p-1\", className)} {...rest}>\n {children}\n </div>\n </MenubarRadioContext.Provider>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { useMenubarRadio } from \"./menubar-context\";\n\nexport type MenubarRadioItemProps = JSX.ButtonHTMLAttributes<HTMLButtonElement> & {\n children?: ComponentChildren;\n value: string;\n};\n\nconst CircleIcon = ({ filled }: { filled: boolean }) => (\n <span class=\"flex size-3.5 items-center justify-center\" aria-hidden>\n {filled ? (\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" class=\"size-2 fill-current\">\n <circle cx=\"12\" cy=\"12\" r=\"6\" />\n </svg>\n ) : (\n <span class=\"size-2 rounded-full border border-current opacity-60\" />\n )}\n </span>\n);\n\nexport const MenubarRadioItem = ({\n class: className,\n value,\n children,\n disabled,\n onClick,\n ...rest\n}: MenubarRadioItemProps) => {\n const radio = useMenubarRadio();\n const current =\n radio.controlledValue !== undefined ? radio.controlledValue : radio.selected.value;\n const checked = current === value;\n\n return (\n <button\n type=\"button\"\n role=\"menuitemradio\"\n data-slot=\"menubar-radio-item\"\n aria-checked={checked}\n disabled={disabled}\n class={cn(\n \"relative flex w-full cursor-default select-none items-center gap-2 rounded-sm py-1.5 ps-8 pe-2 text-start text-sm outline-none\",\n \"focus:bg-accent focus:text-accent-foreground\",\n \"disabled:pointer-events-none disabled:opacity-50\",\n className,\n )}\n onClick={(e) => {\n onClick?.(e);\n if (e.defaultPrevented) return;\n radio.setValue(value);\n }}\n {...rest}\n >\n <span class=\"absolute start-2 flex size-3.5 items-center justify-center text-foreground\">\n <CircleIcon filled={checked} />\n </span>\n {children}\n </button>\n );\n};\n","import type { JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type MenubarSeparatorProps = JSX.HTMLAttributes<HTMLDivElement>;\n\nexport const MenubarSeparator = ({ class: className, ...rest }: MenubarSeparatorProps) => (\n <div\n role=\"separator\"\n data-slot=\"menubar-separator\"\n class={cn(\"mx-1 my-1 h-px bg-border\", className)}\n {...rest}\n />\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type MenubarShortcutProps = JSX.HTMLAttributes<HTMLSpanElement> & {\n children?: ComponentChildren;\n};\n\nexport const MenubarShortcut = ({ class: className, children, ...rest }: MenubarShortcutProps) => (\n <span\n data-slot=\"menubar-shortcut\"\n class={cn(\"ms-auto text-xs tracking-widest text-muted-foreground\", className)}\n {...rest}\n >\n {children}\n </span>\n);\n","import { signal } from \"@preact/signals\";\nimport type { ComponentChildren, JSX } from \"preact\";\nimport { useMemo } from \"preact/hooks\";\nimport { cn } from \"../../lib/utils\";\nimport { MenubarSubContext } from \"./menubar-context\";\n\nexport type MenubarSubProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const MenubarSub = ({ class: className, children, ...rest }: MenubarSubProps) => {\n const open = useMemo(() => signal(false), []);\n\n const ctx = useMemo(\n () => ({\n open,\n setOpen: (next: boolean) => {\n open.value = next;\n },\n }),\n [open],\n );\n\n return (\n <MenubarSubContext.Provider value={ctx}>\n <div\n data-slot=\"menubar-sub\"\n class={cn(\"relative\", className)}\n onPointerLeave={() => {\n open.value = false;\n }}\n {...rest}\n >\n {children}\n </div>\n </MenubarSubContext.Provider>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { useMenubarSub } from \"./menubar-context\";\n\nexport type MenubarSubContentProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const MenubarSubContent = ({\n class: className,\n children,\n onPointerEnter,\n ...rest\n}: MenubarSubContentProps) => {\n const sub = useMenubarSub();\n\n if (!sub.open.value) return null;\n\n return (\n <div\n role=\"menu\"\n data-slot=\"menubar-sub-content\"\n data-state=\"open\"\n class={cn(\n \"absolute start-full top-0 z-50 min-w-40 rounded-md border border-border bg-popover p-0 text-popover-foreground shadow-md outline-none ms-1 rtl:me-1 rtl:ms-0\",\n className,\n )}\n onPointerEnter={(e) => {\n onPointerEnter?.(e);\n sub.setOpen(true);\n }}\n {...rest}\n >\n {children}\n </div>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { useMenubarSub } from \"./menubar-context\";\n\nconst ChevronRight = ({ class: className }: { class?: string }) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n class={cn(\"size-4 shrink-0 rtl:rotate-180\", className)}\n aria-hidden\n >\n <path d=\"m9 18 6-6-6-6\" />\n </svg>\n);\n\nexport type MenubarSubTriggerProps = JSX.ButtonHTMLAttributes<HTMLButtonElement> & {\n children?: ComponentChildren;\n};\n\nexport const MenubarSubTrigger = ({\n class: className,\n children,\n onClick,\n onPointerEnter,\n ...rest\n}: MenubarSubTriggerProps) => {\n const sub = useMenubarSub();\n const open = sub.open.value;\n\n return (\n <button\n type=\"button\"\n role=\"menuitem\"\n data-slot=\"menubar-sub-trigger\"\n data-state={open ? \"open\" : \"closed\"}\n aria-expanded={open}\n aria-haspopup=\"menu\"\n class={cn(\n \"flex w-full cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-start text-sm outline-none\",\n \"focus:bg-accent focus:text-accent-foreground\",\n \"data-[state=open]:bg-accent data-[state=open]:text-accent-foreground\",\n className,\n )}\n onPointerEnter={(e) => {\n onPointerEnter?.(e);\n if (e.defaultPrevented) return;\n sub.setOpen(true);\n }}\n onClick={(e) => {\n onClick?.(e);\n if (e.defaultPrevented) return;\n sub.setOpen(!open);\n }}\n {...rest}\n >\n {children}\n <ChevronRight class=\"ms-auto\" />\n </button>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { useMenubarMenu, useMenubarRoot } from \"./menubar-context\";\n\nexport type MenubarTriggerProps = JSX.ButtonHTMLAttributes<HTMLButtonElement> & {\n children?: ComponentChildren;\n};\n\nexport const MenubarTrigger = ({\n class: className,\n children,\n onClick,\n ...rest\n}: MenubarTriggerProps) => {\n const root = useMenubarRoot();\n const { menuId } = useMenubarMenu();\n const open = root.openMenuId.value === menuId;\n\n return (\n <button\n type=\"button\"\n data-slot=\"menubar-trigger\"\n data-state={open ? \"open\" : \"closed\"}\n aria-expanded={open}\n aria-haspopup=\"menu\"\n class={cn(\n \"flex cursor-default select-none items-center rounded-sm px-2 py-1 text-sm font-medium outline-none\",\n \"focus:bg-accent focus:text-accent-foreground\",\n \"data-[state=open]:bg-accent data-[state=open]:text-accent-foreground\",\n className,\n )}\n onClick={(e) => {\n onClick?.(e);\n if (e.defaultPrevented) return;\n root.setOpenMenuId(open ? null : menuId);\n }}\n {...rest}\n >\n {children}\n </button>\n );\n};\n","import { Menubar } from \"./Menubar\";\nimport { MenubarCheckboxItem } from \"./MenubarCheckboxItem\";\nimport { MenubarContent } from \"./MenubarContent\";\nimport { MenubarGroup } from \"./MenubarGroup\";\nimport { MenubarItem } from \"./MenubarItem\";\nimport { MenubarLabel } from \"./MenubarLabel\";\nimport { MenubarMenu } from \"./MenubarMenu\";\nimport { MenubarRadioGroup } from \"./MenubarRadioGroup\";\nimport { MenubarRadioItem } from \"./MenubarRadioItem\";\nimport { MenubarSeparator } from \"./MenubarSeparator\";\nimport { MenubarShortcut } from \"./MenubarShortcut\";\nimport { MenubarSub } from \"./MenubarSub\";\nimport { MenubarSubContent } from \"./MenubarSubContent\";\nimport { MenubarSubTrigger } from \"./MenubarSubTrigger\";\nimport { MenubarTrigger } from \"./MenubarTrigger\";\n\nexport type { MenubarProps } from \"./Menubar\";\nexport type { MenubarCheckboxItemProps } from \"./MenubarCheckboxItem\";\nexport type { MenubarContentProps } from \"./MenubarContent\";\nexport type { MenubarGroupProps } from \"./MenubarGroup\";\nexport type { MenubarItemProps } from \"./MenubarItem\";\nexport type { MenubarLabelProps } from \"./MenubarLabel\";\nexport type { MenubarMenuProps } from \"./MenubarMenu\";\nexport type { MenubarRadioGroupProps } from \"./MenubarRadioGroup\";\nexport type { MenubarRadioItemProps } from \"./MenubarRadioItem\";\nexport type { MenubarSeparatorProps } from \"./MenubarSeparator\";\nexport type { MenubarShortcutProps } from \"./MenubarShortcut\";\nexport type { MenubarSubProps } from \"./MenubarSub\";\nexport type { MenubarSubContentProps } from \"./MenubarSubContent\";\nexport type { MenubarSubTriggerProps } from \"./MenubarSubTrigger\";\nexport type { MenubarTriggerProps } from \"./MenubarTrigger\";\nexport {\n Menubar,\n MenubarCheckboxItem,\n MenubarContent,\n MenubarGroup,\n MenubarItem,\n MenubarLabel,\n MenubarMenu,\n MenubarRadioGroup,\n MenubarRadioItem,\n MenubarSeparator,\n MenubarShortcut,\n MenubarSub,\n MenubarSubContent,\n MenubarSubTrigger,\n MenubarTrigger,\n};\n\nexport default {\n Root: Menubar,\n Menu: MenubarMenu,\n Trigger: MenubarTrigger,\n Content: MenubarContent,\n Group: MenubarGroup,\n Item: MenubarItem,\n Label: MenubarLabel,\n Separator: MenubarSeparator,\n Shortcut: MenubarShortcut,\n CheckboxItem: MenubarCheckboxItem,\n RadioGroup: MenubarRadioGroup,\n RadioItem: MenubarRadioItem,\n Sub: MenubarSub,\n SubTrigger: MenubarSubTrigger,\n SubContent: MenubarSubContent,\n};\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { createIdFactory, createDismissableLayer } from './chunk-
|
|
2
|
-
import { cn } from './chunk-
|
|
1
|
+
import { createIdFactory, createDismissableLayer } from './chunk-3XMFQKWB.js';
|
|
2
|
+
import { cn } from './chunk-XIANSPQO.js';
|
|
3
3
|
import { signal } from '@preact/signals';
|
|
4
4
|
import { useMemo, useRef, useEffect, useContext } from 'preact/hooks';
|
|
5
5
|
import { createContext, isValidElement, cloneElement } from 'preact';
|
|
@@ -322,5 +322,5 @@ var navigation_menu_default = {
|
|
|
322
322
|
};
|
|
323
323
|
|
|
324
324
|
export { NavigationMenu, NavigationMenuContent, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, navigationMenuTriggerStyle, navigation_menu_default };
|
|
325
|
-
//# sourceMappingURL=chunk-
|
|
326
|
-
//# sourceMappingURL=chunk-
|
|
325
|
+
//# sourceMappingURL=chunk-APZXMU2X.js.map
|
|
326
|
+
//# sourceMappingURL=chunk-APZXMU2X.js.map
|