@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/accordion/Accordion.tsx","../src/components/accordion/AccordionItem.tsx","../src/components/accordion/AccordionContent.tsx","../src/components/accordion/AccordionTrigger.tsx","../src/components/accordion/index.ts"],"names":["createContext","useContext","jsx"],"mappings":"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","file":"chunk-NBP4J2QF.js","sourcesContent":["import { type Signal, signal } from \"@preact/signals\";\nimport type { ComponentChildren, JSX } from \"preact\";\nimport { createContext } from \"preact\";\nimport { useContext, useMemo } from \"preact/hooks\";\n\ntype AccordionType = \"single\" | \"multiple\";\n\ntype AccordionContextValue = {\n type: AccordionType;\n openValues: Signal<Set<string>>;\n toggleValue: (value: string) => void;\n};\n\nconst AccordionContext = createContext<AccordionContextValue | null>(null);\n\nexport const useAccordion = () => {\n const context = useContext(AccordionContext);\n if (!context) throw new Error(\"Accordion subcomponents must be used within Accordion\");\n return context;\n};\n\nexport type AccordionProps = JSX.HTMLAttributes<HTMLDivElement> & {\n type?: AccordionType;\n /** When `type=\"single\"`, `false` keeps one panel always open (clicking the open trigger does not close it). Default `true` matches common shadcn examples. */\n collapsible?: boolean;\n defaultValue?: string | string[];\n children?: ComponentChildren;\n};\n\nexport const Accordion = ({\n type = \"single\",\n collapsible = true,\n defaultValue,\n children,\n ...rest\n}: AccordionProps) => {\n const openValues = useMemo(() => {\n const initialSet = new Set<string>(\n defaultValue ? (Array.isArray(defaultValue) ? defaultValue : [defaultValue]) : [],\n );\n return signal(initialSet);\n }, []);\n\n const context: AccordionContextValue = {\n type,\n openValues,\n toggleValue: (value) => {\n const next = new Set(openValues.value);\n const isOpen = next.has(value);\n\n if (type === \"single\") {\n if (isOpen && !collapsible) {\n return;\n }\n next.clear();\n if (!isOpen) next.add(value);\n } else if (isOpen) {\n next.delete(value);\n } else {\n next.add(value);\n }\n\n openValues.value = next;\n },\n };\n\n return (\n <AccordionContext.Provider value={context}>\n <div data-slot=\"accordion\" {...rest}>\n {children}\n </div>\n </AccordionContext.Provider>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { createContext } from \"preact\";\nimport { useContext } from \"preact/hooks\";\nimport { useAccordion } from \"./Accordion\";\n\ntype AccordionItemContextValue = {\n value: string;\n isOpen: boolean;\n disabled: boolean;\n};\n\nconst AccordionItemContext = createContext<AccordionItemContextValue | null>(null);\n\nexport const useAccordionItem = () => {\n const context = useContext(AccordionItemContext);\n if (!context) throw new Error(\"Accordion item subcomponents must be used within AccordionItem\");\n return context;\n};\n\nexport type AccordionItemProps = JSX.HTMLAttributes<HTMLDivElement> & {\n value: string;\n disabled?: boolean;\n children?: ComponentChildren;\n};\n\nexport const AccordionItem = ({\n value,\n disabled = false,\n children,\n ...rest\n}: AccordionItemProps) => {\n const { openValues } = useAccordion();\n const isOpen = openValues.value.has(value);\n\n return (\n <AccordionItemContext.Provider value={{ value, isOpen, disabled }}>\n <div\n data-slot=\"accordion-item\"\n data-state={isOpen ? \"open\" : \"closed\"}\n data-disabled={disabled ? \"\" : undefined}\n {...rest}\n >\n {children}\n </div>\n </AccordionItemContext.Provider>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { useHeightDisclosureContent } from \"../../lib/disclosure/use-height-disclosure-content\";\nimport { cn } from \"../../lib/utils\";\nimport { useAccordionItem } from \"./AccordionItem\";\n\nexport type AccordionContentProps = JSX.HTMLAttributes<HTMLDivElement> & {\n forceMount?: boolean;\n /** Grid transition duration, e.g. `400ms` */\n duration?: string;\n /** CSS timing function, e.g. `cubic-bezier(0.4, 0, 0.2, 1)` */\n timingFunction?: string;\n /** Use max-height animation for very tall content to reduce micro-jank. */\n largeContentThreshold?: number;\n children?: ComponentChildren;\n};\n\nexport const AccordionContent = ({\n forceMount = false,\n duration = \"320ms\",\n timingFunction = \"cubic-bezier(0.22, 1, 0.36, 1)\",\n largeContentThreshold = 560,\n children,\n class: className,\n style,\n ...rest\n}: AccordionContentProps) => {\n const { isOpen } = useAccordionItem();\n const {\n allowRender,\n isAnimatingClose,\n isAnimatingOpen,\n outerRef,\n innerRef,\n handleTransitionEnd,\n } = useHeightDisclosureContent({\n open: isOpen,\n forceMount,\n duration,\n timingFunction,\n largeContentThreshold,\n });\n\n if (!allowRender) return null;\n\n const mergedStyle: JSX.CSSProperties = {\n ...(typeof style === \"object\" && style !== null && !Array.isArray(style)\n ? (style as JSX.CSSProperties)\n : {}),\n [\"--kamodui-accordion-duration\" as string]: duration,\n [\"--kamodui-accordion-timing-function\" as string]: timingFunction,\n };\n\n return (\n <div\n ref={outerRef}\n data-slot=\"accordion-content\"\n data-state={isOpen ? \"open\" : \"closed\"}\n onTransitionEnd={handleTransitionEnd}\n style={mergedStyle}\n class={cn(\n \"min-h-0 overflow-hidden\",\n (isAnimatingOpen || isAnimatingClose) && \"will-change-[height]\",\n )}\n aria-hidden={!isOpen && !isAnimatingClose}\n inert={!isOpen || undefined}\n {...rest}\n >\n <div\n ref={innerRef}\n data-slot=\"accordion-content-inner\"\n class={cn(\"min-h-0 min-w-0\", className)}\n >\n {children}\n </div>\n </div>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { useAccordion } from \"./Accordion\";\nimport { useAccordionItem } from \"./AccordionItem\";\n\nexport type AccordionTriggerProps = JSX.ButtonHTMLAttributes<HTMLButtonElement> & {\n hideIndicator?: boolean;\n indicator?: ComponentChildren;\n children?: ComponentChildren;\n};\n\nconst DefaultIndicator = () => (\n <svg viewBox=\"0 0 16 16\" width=\"16\" height=\"16\" fill=\"none\" aria-hidden=\"true\" focusable=\"false\">\n <path\n d=\"M4 6l4 4 4-4\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n);\n\nexport const AccordionTrigger = ({\n hideIndicator = false,\n indicator,\n children,\n class: className,\n onClick,\n ...rest\n}: AccordionTriggerProps) => {\n const { toggleValue } = useAccordion();\n const { value, isOpen, disabled } = useAccordionItem();\n\n return (\n <button\n type=\"button\"\n data-slot=\"accordion-trigger\"\n aria-expanded={isOpen}\n disabled={disabled}\n data-state={isOpen ? \"open\" : \"closed\"}\n class={cn(\n \"flex w-full items-center justify-between gap-2 rounded-md py-4 text-left text-sm font-medium outline-none transition-colors focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50\",\n !isOpen && \"hover:bg-muted/40\",\n className,\n )}\n onClick={(event) => {\n if (disabled) return;\n toggleValue(value);\n onClick?.(event);\n }}\n {...rest}\n >\n <span data-slot=\"accordion-trigger-label\" class=\"min-w-0 flex-1 text-start\">\n {children}\n </span>\n {!hideIndicator ? (\n <span\n data-slot=\"accordion-trigger-indicator\"\n data-state={isOpen ? \"open\" : \"closed\"}\n class={cn(\n \"shrink-0 text-muted-foreground transition-transform duration-200\",\n isOpen && \"rotate-180\",\n )}\n >\n {indicator ?? <DefaultIndicator />}\n </span>\n ) : null}\n </button>\n );\n};\n","import { Accordion } from \"./Accordion\";\nimport { AccordionContent } from \"./AccordionContent\";\nimport { AccordionItem, useAccordionItem } from \"./AccordionItem\";\nimport { AccordionTrigger } from \"./AccordionTrigger\";\n\nexport { Accordion, AccordionContent, AccordionItem, AccordionTrigger, useAccordionItem };\n\nexport default {\n Root: Accordion,\n Item: AccordionItem,\n Trigger: AccordionTrigger,\n Content: AccordionContent,\n};\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cn } from './chunk-
|
|
1
|
+
import { cn } from './chunk-XIANSPQO.js';
|
|
2
2
|
import { jsx } from 'preact/jsx-runtime';
|
|
3
3
|
|
|
4
4
|
var AspectRatio = ({
|
|
@@ -25,5 +25,5 @@ var AspectRatio = ({
|
|
|
25
25
|
};
|
|
26
26
|
|
|
27
27
|
export { AspectRatio };
|
|
28
|
-
//# sourceMappingURL=chunk-
|
|
29
|
-
//# sourceMappingURL=chunk-
|
|
28
|
+
//# sourceMappingURL=chunk-NJYJCMKY.js.map
|
|
29
|
+
//# sourceMappingURL=chunk-NJYJCMKY.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/aspect-ratio/AspectRatio.tsx"],"names":[],"mappings":";;;AAUO,IAAM,cAAc,CAAC;AAAA,EAC1B,KAAA;AAAA,EACA,KAAA,EAAO,SAAA;AAAA,EACP,KAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAwB;AACtB,EAAA,MAAM,WAAA,GACJ,OAAO,KAAA,KAAU,QAAA,IAAY,KAAA,KAAU,IAAA,IAAQ,CAAC,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,GAAI,KAAA,GAAQ,MAAA;AAEjF,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,cAAA;AAAA,MACV,KAAA,EAAO,EAAA,CAAG,yCAAA,EAA2C,SAAS,CAAA;AAAA,MAC9D,KAAA,EAAO;AAAA,QACL,GAAG,WAAA;AAAA,QACH,WAAA,EAAa;AAAA,OACf;AAAA,MACC,GAAG,IAAA;AAAA,MAEH;AAAA;AAAA,GACH;AAEJ","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/components/aspect-ratio/AspectRatio.tsx"],"names":[],"mappings":";;;AAUO,IAAM,cAAc,CAAC;AAAA,EAC1B,KAAA;AAAA,EACA,KAAA,EAAO,SAAA;AAAA,EACP,KAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAwB;AACtB,EAAA,MAAM,WAAA,GACJ,OAAO,KAAA,KAAU,QAAA,IAAY,KAAA,KAAU,IAAA,IAAQ,CAAC,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,GAAI,KAAA,GAAQ,MAAA;AAEjF,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,cAAA;AAAA,MACV,KAAA,EAAO,EAAA,CAAG,yCAAA,EAA2C,SAAS,CAAA;AAAA,MAC9D,KAAA,EAAO;AAAA,QACL,GAAG,WAAA;AAAA,QACH,WAAA,EAAa;AAAA,OACf;AAAA,MACC,GAAG,IAAA;AAAA,MAEH;AAAA;AAAA,GACH;AAEJ","file":"chunk-NJYJCMKY.js","sourcesContent":["import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type AspectRatioProps = JSX.HTMLAttributes<HTMLDivElement> & {\n /** Width ÷ height (e.g. `16 / 9`, `1`, `9 / 16`). Applied as CSS `aspect-ratio`. */\n ratio: number;\n children?: ComponentChildren;\n};\n\n/** Fixed-ratio box for media (CSS `aspect-ratio`; no Radix dependency). Children should use `h-full w-full object-cover` to fill. */\nexport const AspectRatio = ({\n ratio,\n class: className,\n style,\n children,\n ...rest\n}: AspectRatioProps) => {\n const styleObject =\n typeof style === \"object\" && style !== null && !Array.isArray(style) ? style : undefined;\n\n return (\n <div\n data-slot=\"aspect-ratio\"\n class={cn(\"relative w-full min-h-0 overflow-hidden\", className)}\n style={{\n ...styleObject,\n aspectRatio: ratio,\n }}\n {...rest}\n >\n {children}\n </div>\n );\n};\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cn } from './chunk-
|
|
1
|
+
import { cn } from './chunk-XIANSPQO.js';
|
|
2
2
|
import { isValidElement, cloneElement } from 'preact';
|
|
3
3
|
import { tv } from 'tailwind-variants';
|
|
4
4
|
import { jsx } from 'preact/jsx-runtime';
|
|
@@ -63,28 +63,27 @@ var Badge = ({
|
|
|
63
63
|
const resolvedSize = size ?? "md";
|
|
64
64
|
const isHref = "href" in rest && typeof rest.href === "string";
|
|
65
65
|
const isLink = Boolean(isHref);
|
|
66
|
-
const
|
|
66
|
+
const variantClasses = badge({
|
|
67
67
|
variant: resolvedVariant,
|
|
68
68
|
size: resolvedSize,
|
|
69
|
-
isLink
|
|
70
|
-
class: className
|
|
69
|
+
isLink
|
|
71
70
|
});
|
|
71
|
+
const resolvedClass = cn(variantClasses, className);
|
|
72
72
|
if (asChild) {
|
|
73
73
|
if (!isValidElement(children)) {
|
|
74
74
|
return null;
|
|
75
75
|
}
|
|
76
76
|
const childIsAnchor = children.type === "a";
|
|
77
77
|
const childProps = children.props ?? {};
|
|
78
|
-
const
|
|
78
|
+
const asChildVariantClasses = badge({
|
|
79
79
|
variant: resolvedVariant,
|
|
80
80
|
size: resolvedSize,
|
|
81
|
-
isLink: childIsAnchor
|
|
82
|
-
class: className
|
|
81
|
+
isLink: childIsAnchor
|
|
83
82
|
});
|
|
84
83
|
return cloneElement(children, {
|
|
85
84
|
...rest,
|
|
86
85
|
...childProps,
|
|
87
|
-
class: cn(
|
|
86
|
+
class: cn(asChildVariantClasses, childProps.class, childProps.className, className),
|
|
88
87
|
"data-slot": "badge",
|
|
89
88
|
"data-variant": resolvedVariant
|
|
90
89
|
});
|
|
@@ -118,5 +117,5 @@ var BadgeVariants = { badge };
|
|
|
118
117
|
var badge_default = Badge;
|
|
119
118
|
|
|
120
119
|
export { Badge, BadgeVariants, badge_default };
|
|
121
|
-
//# sourceMappingURL=chunk-
|
|
122
|
-
//# sourceMappingURL=chunk-
|
|
120
|
+
//# sourceMappingURL=chunk-NSEY5IC6.js.map
|
|
121
|
+
//# sourceMappingURL=chunk-NSEY5IC6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/badge/Badge.tsx","../src/components/badge/index.ts"],"names":[],"mappings":"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","file":"chunk-NSEY5IC6.js","sourcesContent":["import { type ComponentChildren, cloneElement, isValidElement, type JSX } from \"preact\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\nimport { cn } from \"../../lib/utils\";\n\nexport const badge = tv({\n base: [\n \"group/badge inline-flex w-fit shrink-0 items-center justify-center gap-1.5 overflow-hidden rounded-full font-medium whitespace-nowrap\",\n \"[&+&]:ms-1.5\",\n \"[&_svg]:pointer-events-none [&_svg]:shrink-0\",\n \"transition-all outline-none focus-visible:ring-3\",\n \"aria-invalid:border-destructive aria-invalid:focus-visible:ring-destructive/20\",\n \"dark:aria-invalid:border-destructive/50 dark:aria-invalid:focus-visible:ring-destructive/40\",\n \"has-data-[icon=inline-end]:pe-1.5 has-data-[icon=inline-start]:ps-1.5\",\n ],\n variants: {\n variant: {\n default: \"bg-foreground text-background focus-visible:ring-outline/50\",\n primary: \"bg-primary text-primary-foreground focus-visible:ring-primary/50\",\n secondary: \"bg-secondary text-secondary-foreground focus-visible:ring-secondary/50\",\n destructive: \"bg-destructive text-destructive-foreground focus-visible:ring-outline/50\",\n outline:\n \"border-border bg-background focus-visible:border-outline focus-visible:ring-outline/50 dark:bg-input/30 border\",\n ghost: \"bg-transparent text-foreground hover:bg-muted focus-visible:ring-outline/50\",\n link: \"h-auto rounded-none border-0 bg-transparent p-0 text-primary underline-offset-4 hover:underline focus-visible:ring-0\",\n info: \"bg-info text-info-foreground focus-visible:ring-info/50\",\n success: \"bg-success text-success-foreground focus-visible:ring-success/50\",\n warning: \"bg-warning text-warning-foreground focus-visible:ring-warning/50\",\n error: \"border border-error/60 bg-error/90 text-error-foreground focus-visible:ring-error/50\",\n },\n size: {\n xxs: \"px-2 py-0 text-[10px] leading-4 [&_svg:not([class*='size-'])]:size-2.5\",\n xs: \"px-2.5 py-0 text-xs leading-4 [&_svg:not([class*='size-'])]:size-3\",\n sm: \"px-2.5 py-0.5 text-xs [&_svg:not([class*='size-'])]:size-3\",\n md: \"px-3 py-0.5 text-sm [&_svg:not([class*='size-'])]:size-4\",\n lg: \"px-4 py-1 text-base [&_svg:not([class*='size-'])]:size-4.5\",\n },\n isLink: { true: \"cursor-pointer\", false: \"\" },\n },\n compoundVariants: [\n { isLink: true, variant: \"default\", className: \"hover:bg-foreground/90\" },\n { isLink: true, variant: \"primary\", className: \"hover:bg-primary/90\" },\n { isLink: true, variant: \"secondary\", className: \"hover:bg-secondary/90\" },\n { isLink: true, variant: \"destructive\", className: \"hover:bg-destructive/90\" },\n { isLink: true, variant: \"outline\", className: \"hover:bg-muted\" },\n { isLink: true, variant: \"ghost\", className: \"hover:bg-muted\" },\n { isLink: true, variant: \"link\", className: \"hover:underline\" },\n { isLink: true, variant: \"info\", className: \"hover:bg-info/90\" },\n { isLink: true, variant: \"success\", className: \"hover:bg-success/90\" },\n { isLink: true, variant: \"warning\", className: \"hover:bg-warning/90\" },\n { isLink: true, variant: \"error\", className: \"hover:bg-error\" },\n ],\n defaultVariants: { variant: \"default\", size: \"md\", isLink: false },\n});\n\ntype BadgeCommon = VariantProps<typeof badge> & {\n class?: string;\n children?: ComponentChildren;\n asChild?: boolean;\n};\n\ntype BadgeAsSpan = BadgeCommon &\n JSX.HTMLAttributes<HTMLSpanElement> & {\n href?: undefined;\n };\n\ntype BadgeAsAnchor = BadgeCommon &\n JSX.AnchorHTMLAttributes<HTMLAnchorElement> & {\n href: string;\n };\n\nexport type BadgeProps = BadgeAsSpan | BadgeAsAnchor;\n\nexport const Badge = ({\n variant,\n size,\n class: className,\n children,\n asChild = false,\n ...rest\n}: BadgeProps) => {\n const resolvedVariant = variant ?? \"default\";\n const resolvedSize = size ?? \"md\";\n const isHref = \"href\" in rest && typeof rest.href === \"string\";\n const isLink = Boolean(isHref);\n\n const variantClasses = badge({\n variant: resolvedVariant,\n size: resolvedSize,\n isLink,\n });\n const resolvedClass = cn(variantClasses, className);\n\n if (asChild) {\n if (!isValidElement(children)) {\n return null;\n }\n\n const childIsAnchor = children.type === \"a\";\n const childProps = (children.props ?? {}) as JSX.HTMLAttributes<HTMLElement> & {\n class?: string;\n className?: string;\n };\n\n const asChildVariantClasses = badge({\n variant: resolvedVariant,\n size: resolvedSize,\n isLink: childIsAnchor,\n });\n\n return cloneElement(children, {\n ...(rest as JSX.HTMLAttributes<HTMLElement>),\n ...childProps,\n class: cn(asChildVariantClasses, childProps.class, childProps.className, className),\n \"data-slot\": \"badge\",\n \"data-variant\": resolvedVariant,\n });\n }\n\n if (isHref) {\n return (\n <a\n class={resolvedClass}\n data-slot=\"badge\"\n data-variant={resolvedVariant}\n {...(rest as JSX.AnchorHTMLAttributes<HTMLAnchorElement>)}\n >\n {children}\n </a>\n );\n }\n\n return (\n <span\n class={resolvedClass}\n data-slot=\"badge\"\n data-variant={resolvedVariant}\n {...(rest as JSX.HTMLAttributes<HTMLSpanElement>)}\n >\n {children}\n </span>\n );\n};\n","import { Badge, badge } from \"./Badge\";\n\nconst BadgeVariants = { badge };\n\nexport { Badge, BadgeVariants };\n\nexport default Badge;\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Sheet, SheetContent, SheetFooter, SheetHeader } from './chunk-
|
|
2
|
-
import { DialogClose, DialogDescription, DialogTitle, DialogTrigger } from './chunk-
|
|
3
|
-
import { cn } from './chunk-
|
|
1
|
+
import { Sheet, SheetContent, SheetFooter, SheetHeader } from './chunk-KHV3WV6T.js';
|
|
2
|
+
import { DialogClose, DialogDescription, DialogTitle, DialogTrigger } from './chunk-DUTKHOH3.js';
|
|
3
|
+
import { cn } from './chunk-XIANSPQO.js';
|
|
4
4
|
import { createContext } from 'preact';
|
|
5
5
|
import { useContext } from 'preact/hooks';
|
|
6
6
|
import { jsx, jsxs } from 'preact/jsx-runtime';
|
|
@@ -72,5 +72,5 @@ var drawer_default = {
|
|
|
72
72
|
};
|
|
73
73
|
|
|
74
74
|
export { Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerTitle, DrawerTrigger, drawer_default };
|
|
75
|
-
//# sourceMappingURL=chunk-
|
|
76
|
-
//# sourceMappingURL=chunk-
|
|
75
|
+
//# sourceMappingURL=chunk-O4PHGLXF.js.map
|
|
76
|
+
//# sourceMappingURL=chunk-O4PHGLXF.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/drawer/drawer-context.tsx","../src/components/drawer/Drawer.tsx","../src/components/drawer/DrawerClose.tsx","../src/components/drawer/DrawerContent.tsx","../src/components/drawer/DrawerDescription.tsx","../src/components/drawer/DrawerFooter.tsx","../src/components/drawer/DrawerHeader.tsx","../src/components/drawer/DrawerTitle.tsx","../src/components/drawer/DrawerTrigger.tsx","../src/components/drawer/index.ts"],"names":["jsx"],"mappings":"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","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/components/drawer/drawer-context.tsx","../src/components/drawer/Drawer.tsx","../src/components/drawer/DrawerClose.tsx","../src/components/drawer/DrawerContent.tsx","../src/components/drawer/DrawerDescription.tsx","../src/components/drawer/DrawerFooter.tsx","../src/components/drawer/DrawerHeader.tsx","../src/components/drawer/DrawerTitle.tsx","../src/components/drawer/DrawerTrigger.tsx","../src/components/drawer/index.ts"],"names":["jsx"],"mappings":"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","file":"chunk-O4PHGLXF.js","sourcesContent":["import { createContext } from \"preact\";\nimport { useContext } from \"preact/hooks\";\n\nexport type DrawerDirection = \"top\" | \"right\" | \"bottom\" | \"left\";\n\nexport type DrawerContextValue = {\n direction: DrawerDirection;\n};\n\nconst DrawerContext = createContext<DrawerContextValue | null>(null);\n\nexport const DrawerProvider = DrawerContext.Provider;\n\nexport const useDrawerRoot = () => {\n const ctx = useContext(DrawerContext);\n if (!ctx) throw new Error(\"Drawer subcomponents must be used within Drawer\");\n return ctx;\n};\n","import type { ComponentChildren } from \"preact\";\nimport { Sheet, type SheetProps } from \"../sheet/Sheet\";\nimport { type DrawerDirection, DrawerProvider } from \"./drawer-context\";\n\nexport type DrawerProps = SheetProps & {\n /** Edge the drawer opens from (shadcn/Vaul `direction`). Default `bottom`. */\n direction?: DrawerDirection;\n children?: ComponentChildren;\n};\n\nexport const Drawer = ({ direction = \"bottom\", children, ...rest }: DrawerProps) => (\n <DrawerProvider value={{ direction }}>\n <Sheet data-slot=\"drawer\" {...rest}>\n {children}\n </Sheet>\n </DrawerProvider>\n);\n","import type { DialogCloseProps } from \"../dialog/DialogClose\";\nimport { SheetClose } from \"../sheet/SheetClose\";\n\nexport type DrawerCloseProps = DialogCloseProps;\n\nexport const DrawerClose = (props: DrawerCloseProps) => (\n <SheetClose data-slot=\"drawer-close\" {...props} />\n);\n","import type { ComponentChildren } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { SheetContent, type SheetContentProps } from \"../sheet/SheetContent\";\nimport { useDrawerRoot } from \"./drawer-context\";\n\nexport type DrawerContentProps = Omit<SheetContentProps, \"side\"> & {\n /** Drag affordance for top/bottom drawers. Default: `true` when `direction` is top or bottom. */\n showHandle?: boolean;\n children?: ComponentChildren;\n};\n\nexport const DrawerContent = ({\n showHandle,\n showCloseButton = false,\n class: className,\n children,\n ...rest\n}: DrawerContentProps) => {\n const { direction } = useDrawerRoot();\n const edge = direction === \"top\" || direction === \"bottom\";\n const handleVisible = showHandle !== undefined ? showHandle : edge;\n\n const Handle = () => (\n <div\n data-slot=\"drawer-handle\"\n aria-hidden\n class={cn(\n \"bg-muted mx-auto h-1.5 w-[100px] shrink-0 rounded-full\",\n direction === \"bottom\" && \"mb-2\",\n direction === \"top\" && \"mt-4\",\n )}\n />\n );\n\n return (\n <SheetContent\n side={direction}\n showCloseButton={showCloseButton}\n data-slot=\"drawer-content\"\n data-vaul-drawer-direction={direction}\n class={cn(className)}\n {...rest}\n >\n {direction === \"bottom\" && handleVisible ? <Handle /> : null}\n {children}\n {direction === \"top\" && handleVisible ? <Handle /> : null}\n </SheetContent>\n );\n};\n","import type { DialogDescriptionProps } from \"../dialog/DialogDescription\";\nimport { SheetDescription } from \"../sheet/SheetDescription\";\n\nexport type DrawerDescriptionProps = DialogDescriptionProps;\n\nexport const DrawerDescription = (props: DrawerDescriptionProps) => (\n <SheetDescription data-slot=\"drawer-description\" {...props} />\n);\n","import { SheetFooter, type SheetFooterProps } from \"../sheet/SheetFooter\";\n\nexport type DrawerFooterProps = SheetFooterProps;\n\nexport const DrawerFooter = (props: DrawerFooterProps) => (\n <SheetFooter data-slot=\"drawer-footer\" {...props} />\n);\n","import { SheetHeader, type SheetHeaderProps } from \"../sheet/SheetHeader\";\n\nexport type DrawerHeaderProps = SheetHeaderProps;\n\nexport const DrawerHeader = (props: DrawerHeaderProps) => (\n <SheetHeader data-slot=\"drawer-header\" {...props} />\n);\n","import type { DialogTitleProps } from \"../dialog/DialogTitle\";\nimport { SheetTitle } from \"../sheet/SheetTitle\";\n\nexport type DrawerTitleProps = DialogTitleProps;\n\nexport const DrawerTitle = (props: DrawerTitleProps) => (\n <SheetTitle data-slot=\"drawer-title\" {...props} />\n);\n","import type { DialogTriggerProps } from \"../dialog/DialogTrigger\";\nimport { SheetTrigger } from \"../sheet/SheetTrigger\";\n\nexport type DrawerTriggerProps = DialogTriggerProps;\n\nexport const DrawerTrigger = (props: DrawerTriggerProps) => (\n <SheetTrigger data-slot=\"drawer-trigger\" {...props} />\n);\n","import { Drawer } from \"./Drawer\";\nimport { DrawerClose } from \"./DrawerClose\";\nimport { DrawerContent } from \"./DrawerContent\";\nimport { DrawerDescription } from \"./DrawerDescription\";\nimport { DrawerFooter } from \"./DrawerFooter\";\nimport { DrawerHeader } from \"./DrawerHeader\";\nimport { DrawerTitle } from \"./DrawerTitle\";\nimport { DrawerTrigger } from \"./DrawerTrigger\";\n\nexport type { DrawerDirection } from \"./drawer-context\";\nexport {\n Drawer,\n DrawerClose,\n DrawerContent,\n DrawerDescription,\n DrawerFooter,\n DrawerHeader,\n DrawerTitle,\n DrawerTrigger,\n};\n\nexport default {\n Root: Drawer,\n Trigger: DrawerTrigger,\n Content: DrawerContent,\n Header: DrawerHeader,\n Footer: DrawerFooter,\n Title: DrawerTitle,\n Description: DrawerDescription,\n Close: DrawerClose,\n};\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cn } from './chunk-
|
|
1
|
+
import { cn } from './chunk-XIANSPQO.js';
|
|
2
2
|
import { createContext, toChildArray, isValidElement } from 'preact';
|
|
3
3
|
import { useState, useLayoutEffect, useRef, useMemo, useContext } from 'preact/hooks';
|
|
4
4
|
import { jsx, jsxs } from 'preact/jsx-runtime';
|
|
@@ -336,5 +336,5 @@ var scroll_area_default = {
|
|
|
336
336
|
};
|
|
337
337
|
|
|
338
338
|
export { ScrollArea, ScrollAreaCorner, ScrollBar, scroll_area_default };
|
|
339
|
-
//# sourceMappingURL=chunk-
|
|
340
|
-
//# sourceMappingURL=chunk-
|
|
339
|
+
//# sourceMappingURL=chunk-OCZC4PDM.js.map
|
|
340
|
+
//# sourceMappingURL=chunk-OCZC4PDM.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/scroll-area/scroll-area-context.tsx","../src/components/scroll-area/ScrollAreaCorner.tsx","../src/components/scroll-area/ScrollBar.tsx","../src/components/scroll-area/ScrollArea.tsx","../src/components/scroll-area/index.ts"],"names":["useState","useLayoutEffect","isVertical","jsx","useRef"],"mappings":"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","file":"chunk-J4DMQV64.js","sourcesContent":["import type { RefObject } from \"preact\";\nimport { createContext } from \"preact\";\nimport { useContext } from \"preact/hooks\";\n\nexport type ScrollAreaContextValue = {\n viewportRef: RefObject<HTMLDivElement | null>;\n};\n\nexport const ScrollAreaContext = createContext<ScrollAreaContextValue | null>(null);\n\nexport const useScrollAreaContext = () => {\n const ctx = useContext(ScrollAreaContext);\n if (!ctx) {\n throw new Error(\"ScrollBar and ScrollAreaCorner must be used within ScrollArea\");\n }\n return ctx;\n};\n","import type { JSX } from \"preact\";\nimport { useLayoutEffect, useState } from \"preact/hooks\";\nimport { cn } from \"../../lib/utils\";\nimport { useScrollAreaContext } from \"./scroll-area-context\";\n\nexport type ScrollAreaCornerProps = JSX.HTMLAttributes<HTMLDivElement>;\n\nexport const ScrollAreaCorner = ({ class: className, ...rest }: ScrollAreaCornerProps) => {\n const { viewportRef } = useScrollAreaContext();\n const [visible, setVisible] = useState(false);\n\n useLayoutEffect(() => {\n const el = viewportRef.current;\n if (!el) return;\n\n const check = () => {\n const eps = 0.5;\n const hasX = el.scrollWidth > el.clientWidth + eps;\n const hasY = el.scrollHeight > el.clientHeight + eps;\n setVisible(hasX && hasY);\n };\n\n check();\n el.addEventListener(\"scroll\", check, { passive: true });\n const resizeObserver = new ResizeObserver(check);\n resizeObserver.observe(el);\n const mutationObserver = new MutationObserver(check);\n mutationObserver.observe(el, { childList: true, subtree: true, characterData: true });\n\n return () => {\n el.removeEventListener(\"scroll\", check);\n resizeObserver.disconnect();\n mutationObserver.disconnect();\n };\n }, [viewportRef]);\n\n if (!visible) return null;\n\n return (\n <div\n data-slot=\"scroll-area-corner\"\n aria-hidden=\"true\"\n class={cn(\n \"pointer-events-none absolute bottom-1 right-1 z-[1] size-2.5 rounded-sm bg-border/45\",\n className,\n )}\n {...rest}\n />\n );\n};\n","import type { JSX } from \"preact\";\nimport { useLayoutEffect, useRef, useState } from \"preact/hooks\";\nimport { cn } from \"../../lib/utils\";\nimport { useScrollAreaContext } from \"./scroll-area-context\";\n\nexport type ScrollBarProps = JSX.HTMLAttributes<HTMLDivElement> & {\n orientation?: \"horizontal\" | \"vertical\";\n};\n\ntype ThumbState = {\n size: number;\n offset: number;\n hidden: boolean;\n};\n\ntype Metrics = {\n thumbSize: number;\n maxScroll: number;\n maxThumbTravel: number;\n viewportSize: number;\n scrollSize: number;\n};\n\nconst MIN_THUMB_SIZE = 18;\nconst TRACK_PADDING = 2;\n\nexport const ScrollBar = ({\n class: className,\n orientation = \"vertical\",\n onPointerDown: onPointerDownProp,\n ...rest\n}: ScrollBarProps) => {\n const { viewportRef } = useScrollAreaContext();\n const trackRef = useRef<HTMLDivElement>(null);\n const thumbRef = useRef<HTMLDivElement>(null);\n const metricsRef = useRef<Metrics>({\n thumbSize: 0,\n maxScroll: 0,\n maxThumbTravel: 0,\n viewportSize: 0,\n scrollSize: 0,\n });\n const dragRef = useRef<{ startPointer: number; startScroll: number } | null>(null);\n const [thumb, setThumb] = useState<ThumbState>({ size: 0, offset: 0, hidden: true });\n\n useLayoutEffect(() => {\n const scrollEl = viewportRef.current;\n const track = trackRef.current;\n if (!scrollEl || !track) return;\n\n const compute = () => {\n const isVertical = orientation === \"vertical\";\n const viewportSize = isVertical ? scrollEl.clientHeight : scrollEl.clientWidth;\n const scrollSize = isVertical ? scrollEl.scrollHeight : scrollEl.scrollWidth;\n const scrollOffset = isVertical ? scrollEl.scrollTop : scrollEl.scrollLeft;\n const trackSize = (isVertical ? track.clientHeight : track.clientWidth) - TRACK_PADDING * 2;\n const maxScroll = scrollSize - viewportSize;\n\n if (trackSize <= 0 || maxScroll <= 0) {\n metricsRef.current = {\n thumbSize: 0,\n maxScroll: 0,\n maxThumbTravel: 0,\n viewportSize,\n scrollSize,\n };\n setThumb({ size: 0, offset: 0, hidden: true });\n return;\n }\n\n const rawSize = (viewportSize / scrollSize) * trackSize;\n const size = Math.min(trackSize, Math.max(MIN_THUMB_SIZE, rawSize));\n const maxThumbTravel = trackSize - size;\n const ratio = maxScroll > 0 ? scrollOffset / maxScroll : 0;\n const offset = maxThumbTravel * ratio;\n\n metricsRef.current = {\n thumbSize: size,\n maxScroll,\n maxThumbTravel,\n viewportSize,\n scrollSize,\n };\n setThumb({ size, offset, hidden: false });\n };\n\n compute();\n scrollEl.addEventListener(\"scroll\", compute, { passive: true });\n const resizeObserver = new ResizeObserver(compute);\n resizeObserver.observe(scrollEl);\n resizeObserver.observe(track);\n const mutationObserver = new MutationObserver(compute);\n mutationObserver.observe(scrollEl, { childList: true, subtree: true, characterData: true });\n\n return () => {\n scrollEl.removeEventListener(\"scroll\", compute);\n resizeObserver.disconnect();\n mutationObserver.disconnect();\n };\n }, [orientation, viewportRef]);\n\n const isVertical = orientation === \"vertical\";\n\n const onThumbPointerDown = (e: JSX.TargetedPointerEvent<HTMLDivElement>) => {\n if (thumb.hidden) return;\n e.preventDefault();\n e.stopPropagation();\n const scrollEl = viewportRef.current;\n if (!scrollEl || !e.isPrimary) return;\n\n const m = metricsRef.current;\n if (m.maxThumbTravel <= 0) return;\n\n dragRef.current = {\n startPointer: isVertical ? e.clientY : e.clientX,\n startScroll: isVertical ? scrollEl.scrollTop : scrollEl.scrollLeft,\n };\n\n (e.currentTarget as HTMLElement).setPointerCapture(e.pointerId);\n\n const onMove = (ev: globalThis.PointerEvent) => {\n if (!dragRef.current) return;\n const el = viewportRef.current;\n if (!el) return;\n const mm = metricsRef.current;\n if (mm.maxThumbTravel <= 0) return;\n const pointer = isVertical ? ev.clientY : ev.clientX;\n const delta = pointer - dragRef.current.startPointer;\n const scrollDelta = (delta / mm.maxThumbTravel) * mm.maxScroll;\n const next = dragRef.current.startScroll + scrollDelta;\n const clamped = Math.max(0, Math.min(mm.maxScroll, next));\n if (isVertical) {\n el.scrollTop = clamped;\n } else {\n el.scrollLeft = clamped;\n }\n };\n\n const onUp = (ev: globalThis.PointerEvent) => {\n (e.currentTarget as HTMLElement).releasePointerCapture(ev.pointerId);\n dragRef.current = null;\n window.removeEventListener(\"pointermove\", onMove);\n window.removeEventListener(\"pointerup\", onUp);\n window.removeEventListener(\"pointercancel\", onUp);\n };\n\n window.addEventListener(\"pointermove\", onMove);\n window.addEventListener(\"pointerup\", onUp);\n window.addEventListener(\"pointercancel\", onUp);\n };\n\n const onTrackPointerDown = (e: JSX.TargetedPointerEvent<HTMLDivElement>) => {\n if (thumb.hidden || e.button !== 0) return;\n const t = thumbRef.current;\n if (t && (e.target === t || t.contains(e.target as Node))) return;\n\n const scrollEl = viewportRef.current;\n const track = trackRef.current;\n if (!scrollEl || !track) return;\n\n const m = metricsRef.current;\n if (m.maxThumbTravel <= 0 || m.maxScroll <= 0) return;\n\n const rect = track.getBoundingClientRect();\n const clickAlong = isVertical\n ? e.clientY - rect.top - TRACK_PADDING\n : e.clientX - rect.left - TRACK_PADDING;\n\n const page = thumb.size + 4;\n let nextOffset = thumb.offset;\n if (clickAlong < thumb.offset) {\n nextOffset = Math.max(0, thumb.offset - page);\n } else if (clickAlong > thumb.offset + thumb.size) {\n nextOffset = Math.min(m.maxThumbTravel, thumb.offset + page);\n } else {\n return;\n }\n\n const nextScroll = (nextOffset / m.maxThumbTravel) * m.maxScroll;\n if (isVertical) {\n scrollEl.scrollTop = nextScroll;\n } else {\n scrollEl.scrollLeft = nextScroll;\n }\n };\n\n return (\n <div\n ref={trackRef}\n data-slot=\"scroll-bar\"\n data-orientation={orientation}\n aria-hidden=\"true\"\n class={cn(\n \"absolute z-[1] rounded-full bg-border/45 p-0.5 transition-opacity select-none\",\n orientation === \"vertical\" ? \"right-1 top-1 bottom-1 w-2\" : \"right-1 left-1 bottom-1 h-2\",\n thumb.hidden ? \"pointer-events-none opacity-0\" : \"opacity-100\",\n className,\n )}\n {...rest}\n onPointerDown={(e) => {\n onPointerDownProp?.(e);\n onTrackPointerDown(e);\n }}\n >\n <div\n ref={thumbRef}\n data-slot=\"scroll-bar-thumb\"\n class={cn(\n \"absolute touch-none rounded-full bg-foreground/35 ring-1 ring-border/40\",\n orientation === \"vertical\"\n ? \"left-0 right-0 top-0 cursor-grab active:cursor-grabbing\"\n : \"bottom-0 left-0 top-0 h-full cursor-grab active:cursor-grabbing\",\n )}\n style={\n orientation === \"vertical\"\n ? { height: `${thumb.size}px`, transform: `translateY(${thumb.offset}px)` }\n : { width: `${thumb.size}px`, transform: `translateX(${thumb.offset}px)` }\n }\n onPointerDown={onThumbPointerDown}\n />\n </div>\n );\n};\n","import type { ComponentChild, ComponentChildren, JSX } from \"preact\";\nimport { isValidElement, toChildArray } from \"preact\";\nimport { useLayoutEffect, useMemo, useRef } from \"preact/hooks\";\nimport { cn } from \"../../lib/utils\";\nimport { ScrollAreaCorner } from \"./ScrollAreaCorner\";\nimport { ScrollBar } from \"./ScrollBar\";\nimport { ScrollAreaContext } from \"./scroll-area-context\";\n\nconst hideNativeScrollbar =\n \"[scrollbar-width:none] [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden\";\n\nfunction partitionScrollAreaChildren(children: ComponentChildren): {\n content: ComponentChild[];\n chrome: ComponentChild[];\n} {\n const content: ComponentChild[] = [];\n const chrome: ComponentChild[] = [];\n for (const node of toChildArray(children)) {\n if (isValidElement(node) && (node.type === ScrollBar || node.type === ScrollAreaCorner)) {\n chrome.push(node);\n } else {\n content.push(node);\n }\n }\n return { content, chrome };\n}\n\nfunction syncViewportOverflowState(el: HTMLDivElement) {\n const { scrollLeft, scrollTop, clientWidth, clientHeight, scrollWidth, scrollHeight } = el;\n const maxX = scrollWidth - clientWidth;\n const maxY = scrollHeight - clientHeight;\n const eps = 0.5;\n const hasX = maxX > eps;\n const hasY = maxY > eps;\n\n const setEdge = (name: string, on: boolean) => {\n if (on) el.setAttribute(name, \"\");\n else el.removeAttribute(name);\n };\n\n if (hasX) {\n setEdge(\"data-has-overflow-x\", true);\n setEdge(\"data-overflow-x-start\", scrollLeft > eps);\n setEdge(\"data-overflow-x-end\", scrollLeft < maxX - eps);\n } else {\n el.removeAttribute(\"data-has-overflow-x\");\n el.removeAttribute(\"data-overflow-x-start\");\n el.removeAttribute(\"data-overflow-x-end\");\n }\n\n if (hasY) {\n setEdge(\"data-has-overflow-y\", true);\n setEdge(\"data-overflow-y-start\", scrollTop > eps);\n setEdge(\"data-overflow-y-end\", scrollTop < maxY - eps);\n } else {\n el.removeAttribute(\"data-has-overflow-y\");\n el.removeAttribute(\"data-overflow-y-start\");\n el.removeAttribute(\"data-overflow-y-end\");\n }\n\n el.style.setProperty(\"--scroll-area-overflow-x-start\", `${scrollLeft}px`);\n el.style.setProperty(\"--scroll-area-overflow-x-end\", `${Math.max(0, maxX - scrollLeft)}px`);\n el.style.setProperty(\"--scroll-area-overflow-y-start\", `${scrollTop}px`);\n el.style.setProperty(\"--scroll-area-overflow-y-end\", `${Math.max(0, maxY - scrollTop)}px`);\n}\n\nexport type ScrollAreaProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const ScrollArea = ({ class: className, children, ...rest }: ScrollAreaProps) => {\n const viewportRef = useRef<HTMLDivElement>(null);\n const scrollEndTimerRef = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n const { content, chrome } = partitionScrollAreaChildren(children);\n\n const contextValue = useMemo(() => ({ viewportRef }), []);\n\n useLayoutEffect(() => {\n const el = viewportRef.current;\n if (!el) return;\n\n const update = () => {\n syncViewportOverflowState(el);\n };\n\n const onScroll = () => {\n syncViewportOverflowState(el);\n el.setAttribute(\"data-scrolling\", \"\");\n if (scrollEndTimerRef.current !== undefined) {\n clearTimeout(scrollEndTimerRef.current);\n }\n scrollEndTimerRef.current = setTimeout(() => {\n el.removeAttribute(\"data-scrolling\");\n scrollEndTimerRef.current = undefined;\n }, 150);\n };\n\n update();\n el.addEventListener(\"scroll\", onScroll, { passive: true });\n const resizeObserver = new ResizeObserver(update);\n resizeObserver.observe(el);\n const mutationObserver = new MutationObserver(update);\n mutationObserver.observe(el, { childList: true, subtree: true, characterData: true });\n\n return () => {\n el.removeEventListener(\"scroll\", onScroll);\n resizeObserver.disconnect();\n mutationObserver.disconnect();\n if (scrollEndTimerRef.current !== undefined) {\n clearTimeout(scrollEndTimerRef.current);\n }\n el.removeAttribute(\"data-scrolling\");\n };\n }, []);\n\n return (\n <ScrollAreaContext.Provider value={contextValue}>\n <div\n data-slot=\"scroll-area\"\n class={cn(\"relative min-h-0 min-w-0 overflow-hidden\", className)}\n {...rest}\n >\n <div\n ref={viewportRef}\n data-slot=\"scroll-area-viewport\"\n class={cn(\"size-full overflow-auto\", hideNativeScrollbar)}\n >\n <div data-slot=\"scroll-area-content\" class=\"min-w-0\">\n {content}\n </div>\n </div>\n {chrome}\n </div>\n </ScrollAreaContext.Provider>\n );\n};\n","import { ScrollArea } from \"./ScrollArea\";\nimport { ScrollAreaCorner } from \"./ScrollAreaCorner\";\nimport { ScrollBar } from \"./ScrollBar\";\n\nexport { ScrollArea, ScrollAreaCorner, ScrollBar };\n\nexport default {\n Root: ScrollArea,\n Bar: ScrollBar,\n Corner: ScrollAreaCorner,\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/scroll-area/scroll-area-context.tsx","../src/components/scroll-area/ScrollAreaCorner.tsx","../src/components/scroll-area/ScrollBar.tsx","../src/components/scroll-area/ScrollArea.tsx","../src/components/scroll-area/index.ts"],"names":["useState","useLayoutEffect","isVertical","jsx","useRef"],"mappings":";;;;;AAQO,IAAM,iBAAA,GAAoB,cAA6C,IAAI,CAAA;AAE3E,IAAM,uBAAuB,MAAM;AACxC,EAAA,MAAM,GAAA,GAAM,WAAW,iBAAiB,CAAA;AACxC,EAAA,IAAI,CAAC,GAAA,EAAK;AACR,IAAA,MAAM,IAAI,MAAM,+DAA+D,CAAA;AAAA,EACjF;AACA,EAAA,OAAO,GAAA;AACT,CAAA;ACTO,IAAM,mBAAmB,CAAC,EAAE,OAAO,SAAA,EAAW,GAAG,MAAK,KAA6B;AACxF,EAAA,MAAM,EAAE,WAAA,EAAY,GAAI,oBAAA,EAAqB;AAC7C,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAS,KAAK,CAAA;AAE5C,EAAA,eAAA,CAAgB,MAAM;AACpB,IAAA,MAAM,KAAK,WAAA,CAAY,OAAA;AACvB,IAAA,IAAI,CAAC,EAAA,EAAI;AAET,IAAA,MAAM,QAAQ,MAAM;AAClB,MAAA,MAAM,GAAA,GAAM,GAAA;AACZ,MAAA,MAAM,IAAA,GAAO,EAAA,CAAG,WAAA,GAAc,EAAA,CAAG,WAAA,GAAc,GAAA;AAC/C,MAAA,MAAM,IAAA,GAAO,EAAA,CAAG,YAAA,GAAe,EAAA,CAAG,YAAA,GAAe,GAAA;AACjD,MAAA,UAAA,CAAW,QAAQ,IAAI,CAAA;AAAA,IACzB,CAAA;AAEA,IAAA,KAAA,EAAM;AACN,IAAA,EAAA,CAAG,iBAAiB,QAAA,EAAU,KAAA,EAAO,EAAE,OAAA,EAAS,MAAM,CAAA;AACtD,IAAA,MAAM,cAAA,GAAiB,IAAI,cAAA,CAAe,KAAK,CAAA;AAC/C,IAAA,cAAA,CAAe,QAAQ,EAAE,CAAA;AACzB,IAAA,MAAM,gBAAA,GAAmB,IAAI,gBAAA,CAAiB,KAAK,CAAA;AACnD,IAAA,gBAAA,CAAiB,OAAA,CAAQ,IAAI,EAAE,SAAA,EAAW,MAAM,OAAA,EAAS,IAAA,EAAM,aAAA,EAAe,IAAA,EAAM,CAAA;AAEpF,IAAA,OAAO,MAAM;AACX,MAAA,EAAA,CAAG,mBAAA,CAAoB,UAAU,KAAK,CAAA;AACtC,MAAA,cAAA,CAAe,UAAA,EAAW;AAC1B,MAAA,gBAAA,CAAiB,UAAA,EAAW;AAAA,IAC9B,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,WAAW,CAAC,CAAA;AAEhB,EAAA,IAAI,CAAC,SAAS,OAAO,IAAA;AAErB,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,oBAAA;AAAA,MACV,aAAA,EAAY,MAAA;AAAA,MACZ,KAAA,EAAO,EAAA;AAAA,QACL,sFAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AC1BA,IAAM,cAAA,GAAiB,EAAA;AACvB,IAAM,aAAA,GAAgB,CAAA;AAEf,IAAM,YAAY,CAAC;AAAA,EACxB,KAAA,EAAO,SAAA;AAAA,EACP,WAAA,GAAc,UAAA;AAAA,EACd,aAAA,EAAe,iBAAA;AAAA,EACf,GAAG;AACL,CAAA,KAAsB;AACpB,EAAA,MAAM,EAAE,WAAA,EAAY,GAAI,oBAAA,EAAqB;AAC7C,EAAA,MAAM,QAAA,GAAW,OAAuB,IAAI,CAAA;AAC5C,EAAA,MAAM,QAAA,GAAW,OAAuB,IAAI,CAAA;AAC5C,EAAA,MAAM,aAAa,MAAA,CAAgB;AAAA,IACjC,SAAA,EAAW,CAAA;AAAA,IACX,SAAA,EAAW,CAAA;AAAA,IACX,cAAA,EAAgB,CAAA;AAAA,IAChB,YAAA,EAAc,CAAA;AAAA,IACd,UAAA,EAAY;AAAA,GACb,CAAA;AACD,EAAA,MAAM,OAAA,GAAU,OAA6D,IAAI,CAAA;AACjF,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAIA,QAAAA,CAAqB,EAAE,IAAA,EAAM,CAAA,EAAG,MAAA,EAAQ,CAAA,EAAG,MAAA,EAAQ,IAAA,EAAM,CAAA;AAEnF,EAAAC,gBAAgB,MAAM;AACpB,IAAA,MAAM,WAAW,WAAA,CAAY,OAAA;AAC7B,IAAA,MAAM,QAAQ,QAAA,CAAS,OAAA;AACvB,IAAA,IAAI,CAAC,QAAA,IAAY,CAAC,KAAA,EAAO;AAEzB,IAAA,MAAM,UAAU,MAAM;AACpB,MAAA,MAAMC,cAAa,WAAA,KAAgB,UAAA;AACnC,MAAA,MAAM,YAAA,GAAeA,WAAAA,GAAa,QAAA,CAAS,YAAA,GAAe,QAAA,CAAS,WAAA;AACnE,MAAA,MAAM,UAAA,GAAaA,WAAAA,GAAa,QAAA,CAAS,YAAA,GAAe,QAAA,CAAS,WAAA;AACjE,MAAA,MAAM,YAAA,GAAeA,WAAAA,GAAa,QAAA,CAAS,SAAA,GAAY,QAAA,CAAS,UAAA;AAChE,MAAA,MAAM,aAAaA,WAAAA,GAAa,KAAA,CAAM,YAAA,GAAe,KAAA,CAAM,eAAe,aAAA,GAAgB,CAAA;AAC1F,MAAA,MAAM,YAAY,UAAA,GAAa,YAAA;AAE/B,MAAA,IAAI,SAAA,IAAa,CAAA,IAAK,SAAA,IAAa,CAAA,EAAG;AACpC,QAAA,UAAA,CAAW,OAAA,GAAU;AAAA,UACnB,SAAA,EAAW,CAAA;AAAA,UACX,SAAA,EAAW,CAAA;AAAA,UACX,cAAA,EAAgB,CAAA;AAAA,UAChB,YAAA;AAAA,UACA;AAAA,SACF;AACA,QAAA,QAAA,CAAS,EAAE,IAAA,EAAM,CAAA,EAAG,QAAQ,CAAA,EAAG,MAAA,EAAQ,MAAM,CAAA;AAC7C,QAAA;AAAA,MACF;AAEA,MAAA,MAAM,OAAA,GAAW,eAAe,UAAA,GAAc,SAAA;AAC9C,MAAA,MAAM,IAAA,GAAO,KAAK,GAAA,CAAI,SAAA,EAAW,KAAK,GAAA,CAAI,cAAA,EAAgB,OAAO,CAAC,CAAA;AAClE,MAAA,MAAM,iBAAiB,SAAA,GAAY,IAAA;AACnC,MAAA,MAAM,KAAA,GAAQ,SAAA,GAAY,CAAA,GAAI,YAAA,GAAe,SAAA,GAAY,CAAA;AACzD,MAAA,MAAM,SAAS,cAAA,GAAiB,KAAA;AAEhC,MAAA,UAAA,CAAW,OAAA,GAAU;AAAA,QACnB,SAAA,EAAW,IAAA;AAAA,QACX,SAAA;AAAA,QACA,cAAA;AAAA,QACA,YAAA;AAAA,QACA;AAAA,OACF;AACA,MAAA,QAAA,CAAS,EAAE,IAAA,EAAM,MAAA,EAAQ,MAAA,EAAQ,OAAO,CAAA;AAAA,IAC1C,CAAA;AAEA,IAAA,OAAA,EAAQ;AACR,IAAA,QAAA,CAAS,iBAAiB,QAAA,EAAU,OAAA,EAAS,EAAE,OAAA,EAAS,MAAM,CAAA;AAC9D,IAAA,MAAM,cAAA,GAAiB,IAAI,cAAA,CAAe,OAAO,CAAA;AACjD,IAAA,cAAA,CAAe,QAAQ,QAAQ,CAAA;AAC/B,IAAA,cAAA,CAAe,QAAQ,KAAK,CAAA;AAC5B,IAAA,MAAM,gBAAA,GAAmB,IAAI,gBAAA,CAAiB,OAAO,CAAA;AACrD,IAAA,gBAAA,CAAiB,OAAA,CAAQ,UAAU,EAAE,SAAA,EAAW,MAAM,OAAA,EAAS,IAAA,EAAM,aAAA,EAAe,IAAA,EAAM,CAAA;AAE1F,IAAA,OAAO,MAAM;AACX,MAAA,QAAA,CAAS,mBAAA,CAAoB,UAAU,OAAO,CAAA;AAC9C,MAAA,cAAA,CAAe,UAAA,EAAW;AAC1B,MAAA,gBAAA,CAAiB,UAAA,EAAW;AAAA,IAC9B,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,WAAA,EAAa,WAAW,CAAC,CAAA;AAE7B,EAAA,MAAM,aAAa,WAAA,KAAgB,UAAA;AAEnC,EAAA,MAAM,kBAAA,GAAqB,CAAC,CAAA,KAAgD;AAC1E,IAAA,IAAI,MAAM,MAAA,EAAQ;AAClB,IAAA,CAAA,CAAE,cAAA,EAAe;AACjB,IAAA,CAAA,CAAE,eAAA,EAAgB;AAClB,IAAA,MAAM,WAAW,WAAA,CAAY,OAAA;AAC7B,IAAA,IAAI,CAAC,QAAA,IAAY,CAAC,CAAA,CAAE,SAAA,EAAW;AAE/B,IAAA,MAAM,IAAI,UAAA,CAAW,OAAA;AACrB,IAAA,IAAI,CAAA,CAAE,kBAAkB,CAAA,EAAG;AAE3B,IAAA,OAAA,CAAQ,OAAA,GAAU;AAAA,MAChB,YAAA,EAAc,UAAA,GAAa,CAAA,CAAE,OAAA,GAAU,CAAA,CAAE,OAAA;AAAA,MACzC,WAAA,EAAa,UAAA,GAAa,QAAA,CAAS,SAAA,GAAY,QAAA,CAAS;AAAA,KAC1D;AAEA,IAAC,CAAA,CAAE,aAAA,CAA8B,iBAAA,CAAkB,CAAA,CAAE,SAAS,CAAA;AAE9D,IAAA,MAAM,MAAA,GAAS,CAAC,EAAA,KAAgC;AAC9C,MAAA,IAAI,CAAC,QAAQ,OAAA,EAAS;AACtB,MAAA,MAAM,KAAK,WAAA,CAAY,OAAA;AACvB,MAAA,IAAI,CAAC,EAAA,EAAI;AACT,MAAA,MAAM,KAAK,UAAA,CAAW,OAAA;AACtB,MAAA,IAAI,EAAA,CAAG,kBAAkB,CAAA,EAAG;AAC5B,MAAA,MAAM,OAAA,GAAU,UAAA,GAAa,EAAA,CAAG,OAAA,GAAU,EAAA,CAAG,OAAA;AAC7C,MAAA,MAAM,KAAA,GAAQ,OAAA,GAAU,OAAA,CAAQ,OAAA,CAAQ,YAAA;AACxC,MAAA,MAAM,WAAA,GAAe,KAAA,GAAQ,EAAA,CAAG,cAAA,GAAkB,EAAA,CAAG,SAAA;AACrD,MAAA,MAAM,IAAA,GAAO,OAAA,CAAQ,OAAA,CAAQ,WAAA,GAAc,WAAA;AAC3C,MAAA,MAAM,OAAA,GAAU,KAAK,GAAA,CAAI,CAAA,EAAG,KAAK,GAAA,CAAI,EAAA,CAAG,SAAA,EAAW,IAAI,CAAC,CAAA;AACxD,MAAA,IAAI,UAAA,EAAY;AACd,QAAA,EAAA,CAAG,SAAA,GAAY,OAAA;AAAA,MACjB,CAAA,MAAO;AACL,QAAA,EAAA,CAAG,UAAA,GAAa,OAAA;AAAA,MAClB;AAAA,IACF,CAAA;AAEA,IAAA,MAAM,IAAA,GAAO,CAAC,EAAA,KAAgC;AAC5C,MAAC,CAAA,CAAE,aAAA,CAA8B,qBAAA,CAAsB,EAAA,CAAG,SAAS,CAAA;AACnE,MAAA,OAAA,CAAQ,OAAA,GAAU,IAAA;AAClB,MAAA,MAAA,CAAO,mBAAA,CAAoB,eAAe,MAAM,CAAA;AAChD,MAAA,MAAA,CAAO,mBAAA,CAAoB,aAAa,IAAI,CAAA;AAC5C,MAAA,MAAA,CAAO,mBAAA,CAAoB,iBAAiB,IAAI,CAAA;AAAA,IAClD,CAAA;AAEA,IAAA,MAAA,CAAO,gBAAA,CAAiB,eAAe,MAAM,CAAA;AAC7C,IAAA,MAAA,CAAO,gBAAA,CAAiB,aAAa,IAAI,CAAA;AACzC,IAAA,MAAA,CAAO,gBAAA,CAAiB,iBAAiB,IAAI,CAAA;AAAA,EAC/C,CAAA;AAEA,EAAA,MAAM,kBAAA,GAAqB,CAAC,CAAA,KAAgD;AAC1E,IAAA,IAAI,KAAA,CAAM,MAAA,IAAU,CAAA,CAAE,MAAA,KAAW,CAAA,EAAG;AACpC,IAAA,MAAM,IAAI,QAAA,CAAS,OAAA;AACnB,IAAA,IAAI,CAAA,KAAM,EAAE,MAAA,KAAW,CAAA,IAAK,EAAE,QAAA,CAAS,CAAA,CAAE,MAAc,CAAA,CAAA,EAAI;AAE3D,IAAA,MAAM,WAAW,WAAA,CAAY,OAAA;AAC7B,IAAA,MAAM,QAAQ,QAAA,CAAS,OAAA;AACvB,IAAA,IAAI,CAAC,QAAA,IAAY,CAAC,KAAA,EAAO;AAEzB,IAAA,MAAM,IAAI,UAAA,CAAW,OAAA;AACrB,IAAA,IAAI,CAAA,CAAE,cAAA,IAAkB,CAAA,IAAK,CAAA,CAAE,aAAa,CAAA,EAAG;AAE/C,IAAA,MAAM,IAAA,GAAO,MAAM,qBAAA,EAAsB;AACzC,IAAA,MAAM,UAAA,GAAa,UAAA,GACf,CAAA,CAAE,OAAA,GAAU,IAAA,CAAK,MAAM,aAAA,GACvB,CAAA,CAAE,OAAA,GAAU,IAAA,CAAK,IAAA,GAAO,aAAA;AAE5B,IAAA,MAAM,IAAA,GAAO,MAAM,IAAA,GAAO,CAAA;AAC1B,IAAA,IAAI,aAAa,KAAA,CAAM,MAAA;AACvB,IAAA,IAAI,UAAA,GAAa,MAAM,MAAA,EAAQ;AAC7B,MAAA,UAAA,GAAa,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,KAAA,CAAM,SAAS,IAAI,CAAA;AAAA,IAC9C,CAAA,MAAA,IAAW,UAAA,GAAa,KAAA,CAAM,MAAA,GAAS,MAAM,IAAA,EAAM;AACjD,MAAA,UAAA,GAAa,KAAK,GAAA,CAAI,CAAA,CAAE,cAAA,EAAgB,KAAA,CAAM,SAAS,IAAI,CAAA;AAAA,IAC7D,CAAA,MAAO;AACL,MAAA;AAAA,IACF;AAEA,IAAA,MAAM,UAAA,GAAc,UAAA,GAAa,CAAA,CAAE,cAAA,GAAkB,CAAA,CAAE,SAAA;AACvD,IAAA,IAAI,UAAA,EAAY;AACd,MAAA,QAAA,CAAS,SAAA,GAAY,UAAA;AAAA,IACvB,CAAA,MAAO;AACL,MAAA,QAAA,CAAS,UAAA,GAAa,UAAA;AAAA,IACxB;AAAA,EACF,CAAA;AAEA,EAAA,uBACEC,GAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA,EAAK,QAAA;AAAA,MACL,WAAA,EAAU,YAAA;AAAA,MACV,kBAAA,EAAkB,WAAA;AAAA,MAClB,aAAA,EAAY,MAAA;AAAA,MACZ,KAAA,EAAO,EAAA;AAAA,QACL,+EAAA;AAAA,QACA,WAAA,KAAgB,aAAa,4BAAA,GAA+B,6BAAA;AAAA,QAC5D,KAAA,CAAM,SAAS,+BAAA,GAAkC,aAAA;AAAA,QACjD;AAAA,OACF;AAAA,MACC,GAAG,IAAA;AAAA,MACJ,aAAA,EAAe,CAAC,CAAA,KAAM;AACpB,QAAA,iBAAA,GAAoB,CAAC,CAAA;AACrB,QAAA,kBAAA,CAAmB,CAAC,CAAA;AAAA,MACtB,CAAA;AAAA,MAEA,QAAA,kBAAAA,GAAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,GAAA,EAAK,QAAA;AAAA,UACL,WAAA,EAAU,kBAAA;AAAA,UACV,KAAA,EAAO,EAAA;AAAA,YACL,yEAAA;AAAA,YACA,WAAA,KAAgB,aACZ,yDAAA,GACA;AAAA,WACN;AAAA,UACA,KAAA,EACE,WAAA,KAAgB,UAAA,GACZ,EAAE,MAAA,EAAQ,GAAG,KAAA,CAAM,IAAI,CAAA,EAAA,CAAA,EAAM,SAAA,EAAW,CAAA,WAAA,EAAc,KAAA,CAAM,MAAM,CAAA,GAAA,CAAA,EAAM,GACxE,EAAE,KAAA,EAAO,CAAA,EAAG,KAAA,CAAM,IAAI,CAAA,EAAA,CAAA,EAAM,SAAA,EAAW,CAAA,WAAA,EAAc,KAAA,CAAM,MAAM,CAAA,GAAA,CAAA,EAAM;AAAA,UAE7E,aAAA,EAAe;AAAA;AAAA;AACjB;AAAA,GACF;AAEJ;ACtNA,IAAM,mBAAA,GACJ,gFAAA;AAEF,SAAS,4BAA4B,QAAA,EAGnC;AACA,EAAA,MAAM,UAA4B,EAAC;AACnC,EAAA,MAAM,SAA2B,EAAC;AAClC,EAAA,KAAA,MAAW,IAAA,IAAQ,YAAA,CAAa,QAAQ,CAAA,EAAG;AACzC,IAAA,IAAI,cAAA,CAAe,IAAI,CAAA,KAAM,IAAA,CAAK,SAAS,SAAA,IAAa,IAAA,CAAK,SAAS,gBAAA,CAAA,EAAmB;AACvF,MAAA,MAAA,CAAO,KAAK,IAAI,CAAA;AAAA,IAClB,CAAA,MAAO;AACL,MAAA,OAAA,CAAQ,KAAK,IAAI,CAAA;AAAA,IACnB;AAAA,EACF;AACA,EAAA,OAAO,EAAE,SAAS,MAAA,EAAO;AAC3B;AAEA,SAAS,0BAA0B,EAAA,EAAoB;AACrD,EAAA,MAAM,EAAE,UAAA,EAAY,SAAA,EAAW,aAAa,YAAA,EAAc,WAAA,EAAa,cAAa,GAAI,EAAA;AACxF,EAAA,MAAM,OAAO,WAAA,GAAc,WAAA;AAC3B,EAAA,MAAM,OAAO,YAAA,GAAe,YAAA;AAC5B,EAAA,MAAM,GAAA,GAAM,GAAA;AACZ,EAAA,MAAM,OAAO,IAAA,GAAO,GAAA;AACpB,EAAA,MAAM,OAAO,IAAA,GAAO,GAAA;AAEpB,EAAA,MAAM,OAAA,GAAU,CAAC,IAAA,EAAc,EAAA,KAAgB;AAC7C,IAAA,IAAI,EAAA,EAAI,EAAA,CAAG,YAAA,CAAa,IAAA,EAAM,EAAE,CAAA;AAAA,SAC3B,EAAA,CAAG,gBAAgB,IAAI,CAAA;AAAA,EAC9B,CAAA;AAEA,EAAA,IAAI,IAAA,EAAM;AACR,IAAA,OAAA,CAAQ,uBAAuB,IAAI,CAAA;AACnC,IAAA,OAAA,CAAQ,uBAAA,EAAyB,aAAa,GAAG,CAAA;AACjD,IAAA,OAAA,CAAQ,qBAAA,EAAuB,UAAA,GAAa,IAAA,GAAO,GAAG,CAAA;AAAA,EACxD,CAAA,MAAO;AACL,IAAA,EAAA,CAAG,gBAAgB,qBAAqB,CAAA;AACxC,IAAA,EAAA,CAAG,gBAAgB,uBAAuB,CAAA;AAC1C,IAAA,EAAA,CAAG,gBAAgB,qBAAqB,CAAA;AAAA,EAC1C;AAEA,EAAA,IAAI,IAAA,EAAM;AACR,IAAA,OAAA,CAAQ,uBAAuB,IAAI,CAAA;AACnC,IAAA,OAAA,CAAQ,uBAAA,EAAyB,YAAY,GAAG,CAAA;AAChD,IAAA,OAAA,CAAQ,qBAAA,EAAuB,SAAA,GAAY,IAAA,GAAO,GAAG,CAAA;AAAA,EACvD,CAAA,MAAO;AACL,IAAA,EAAA,CAAG,gBAAgB,qBAAqB,CAAA;AACxC,IAAA,EAAA,CAAG,gBAAgB,uBAAuB,CAAA;AAC1C,IAAA,EAAA,CAAG,gBAAgB,qBAAqB,CAAA;AAAA,EAC1C;AAEA,EAAA,EAAA,CAAG,KAAA,CAAM,WAAA,CAAY,gCAAA,EAAkC,CAAA,EAAG,UAAU,CAAA,EAAA,CAAI,CAAA;AACxE,EAAA,EAAA,CAAG,KAAA,CAAM,WAAA,CAAY,8BAAA,EAAgC,CAAA,EAAG,IAAA,CAAK,IAAI,CAAA,EAAG,IAAA,GAAO,UAAU,CAAC,CAAA,EAAA,CAAI,CAAA;AAC1F,EAAA,EAAA,CAAG,KAAA,CAAM,WAAA,CAAY,gCAAA,EAAkC,CAAA,EAAG,SAAS,CAAA,EAAA,CAAI,CAAA;AACvE,EAAA,EAAA,CAAG,KAAA,CAAM,WAAA,CAAY,8BAAA,EAAgC,CAAA,EAAG,IAAA,CAAK,IAAI,CAAA,EAAG,IAAA,GAAO,SAAS,CAAC,CAAA,EAAA,CAAI,CAAA;AAC3F;AAMO,IAAM,UAAA,GAAa,CAAC,EAAE,KAAA,EAAO,WAAW,QAAA,EAAU,GAAG,MAAK,KAAuB;AACtF,EAAA,MAAM,WAAA,GAAcC,OAAuB,IAAI,CAAA;AAC/C,EAAA,MAAM,iBAAA,GAAoBA,OAAkD,MAAS,CAAA;AACrF,EAAA,MAAM,EAAE,OAAA,EAAS,MAAA,EAAO,GAAI,4BAA4B,QAAQ,CAAA;AAEhE,EAAA,MAAM,eAAe,OAAA,CAAQ,OAAO,EAAE,WAAA,EAAY,CAAA,EAAI,EAAE,CAAA;AAExD,EAAAH,gBAAgB,MAAM;AACpB,IAAA,MAAM,KAAK,WAAA,CAAY,OAAA;AACvB,IAAA,IAAI,CAAC,EAAA,EAAI;AAET,IAAA,MAAM,SAAS,MAAM;AACnB,MAAA,yBAAA,CAA0B,EAAE,CAAA;AAAA,IAC9B,CAAA;AAEA,IAAA,MAAM,WAAW,MAAM;AACrB,MAAA,yBAAA,CAA0B,EAAE,CAAA;AAC5B,MAAA,EAAA,CAAG,YAAA,CAAa,kBAAkB,EAAE,CAAA;AACpC,MAAA,IAAI,iBAAA,CAAkB,YAAY,MAAA,EAAW;AAC3C,QAAA,YAAA,CAAa,kBAAkB,OAAO,CAAA;AAAA,MACxC;AACA,MAAA,iBAAA,CAAkB,OAAA,GAAU,WAAW,MAAM;AAC3C,QAAA,EAAA,CAAG,gBAAgB,gBAAgB,CAAA;AACnC,QAAA,iBAAA,CAAkB,OAAA,GAAU,MAAA;AAAA,MAC9B,GAAG,GAAG,CAAA;AAAA,IACR,CAAA;AAEA,IAAA,MAAA,EAAO;AACP,IAAA,EAAA,CAAG,iBAAiB,QAAA,EAAU,QAAA,EAAU,EAAE,OAAA,EAAS,MAAM,CAAA;AACzD,IAAA,MAAM,cAAA,GAAiB,IAAI,cAAA,CAAe,MAAM,CAAA;AAChD,IAAA,cAAA,CAAe,QAAQ,EAAE,CAAA;AACzB,IAAA,MAAM,gBAAA,GAAmB,IAAI,gBAAA,CAAiB,MAAM,CAAA;AACpD,IAAA,gBAAA,CAAiB,OAAA,CAAQ,IAAI,EAAE,SAAA,EAAW,MAAM,OAAA,EAAS,IAAA,EAAM,aAAA,EAAe,IAAA,EAAM,CAAA;AAEpF,IAAA,OAAO,MAAM;AACX,MAAA,EAAA,CAAG,mBAAA,CAAoB,UAAU,QAAQ,CAAA;AACzC,MAAA,cAAA,CAAe,UAAA,EAAW;AAC1B,MAAA,gBAAA,CAAiB,UAAA,EAAW;AAC5B,MAAA,IAAI,iBAAA,CAAkB,YAAY,MAAA,EAAW;AAC3C,QAAA,YAAA,CAAa,kBAAkB,OAAO,CAAA;AAAA,MACxC;AACA,MAAA,EAAA,CAAG,gBAAgB,gBAAgB,CAAA;AAAA,IACrC,CAAA;AAAA,EACF,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,uBACEE,GAAAA,CAAC,iBAAA,CAAkB,QAAA,EAAlB,EAA2B,OAAO,YAAA,EACjC,QAAA,kBAAA,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,aAAA;AAAA,MACV,KAAA,EAAO,EAAA,CAAG,0CAAA,EAA4C,SAAS,CAAA;AAAA,MAC9D,GAAG,IAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAAA,GAAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,GAAA,EAAK,WAAA;AAAA,YACL,WAAA,EAAU,sBAAA;AAAA,YACV,KAAA,EAAO,EAAA,CAAG,yBAAA,EAA2B,mBAAmB,CAAA;AAAA,YAExD,0BAAAA,GAAAA,CAAC,KAAA,EAAA,EAAI,aAAU,qBAAA,EAAsB,KAAA,EAAM,WACxC,QAAA,EAAA,OAAA,EACH;AAAA;AAAA,SACF;AAAA,QACC;AAAA;AAAA;AAAA,GACH,EACF,CAAA;AAEJ;;;ACjIA,IAAO,mBAAA,GAAQ;AAAA,EACb,IAAA,EAAM,UAAA;AAAA,EACN,GAAA,EAAK,SAAA;AAAA,EACL,MAAA,EAAQ;AACV","file":"chunk-OCZC4PDM.js","sourcesContent":["import type { RefObject } from \"preact\";\nimport { createContext } from \"preact\";\nimport { useContext } from \"preact/hooks\";\n\nexport type ScrollAreaContextValue = {\n viewportRef: RefObject<HTMLDivElement | null>;\n};\n\nexport const ScrollAreaContext = createContext<ScrollAreaContextValue | null>(null);\n\nexport const useScrollAreaContext = () => {\n const ctx = useContext(ScrollAreaContext);\n if (!ctx) {\n throw new Error(\"ScrollBar and ScrollAreaCorner must be used within ScrollArea\");\n }\n return ctx;\n};\n","import type { JSX } from \"preact\";\nimport { useLayoutEffect, useState } from \"preact/hooks\";\nimport { cn } from \"../../lib/utils\";\nimport { useScrollAreaContext } from \"./scroll-area-context\";\n\nexport type ScrollAreaCornerProps = JSX.HTMLAttributes<HTMLDivElement>;\n\nexport const ScrollAreaCorner = ({ class: className, ...rest }: ScrollAreaCornerProps) => {\n const { viewportRef } = useScrollAreaContext();\n const [visible, setVisible] = useState(false);\n\n useLayoutEffect(() => {\n const el = viewportRef.current;\n if (!el) return;\n\n const check = () => {\n const eps = 0.5;\n const hasX = el.scrollWidth > el.clientWidth + eps;\n const hasY = el.scrollHeight > el.clientHeight + eps;\n setVisible(hasX && hasY);\n };\n\n check();\n el.addEventListener(\"scroll\", check, { passive: true });\n const resizeObserver = new ResizeObserver(check);\n resizeObserver.observe(el);\n const mutationObserver = new MutationObserver(check);\n mutationObserver.observe(el, { childList: true, subtree: true, characterData: true });\n\n return () => {\n el.removeEventListener(\"scroll\", check);\n resizeObserver.disconnect();\n mutationObserver.disconnect();\n };\n }, [viewportRef]);\n\n if (!visible) return null;\n\n return (\n <div\n data-slot=\"scroll-area-corner\"\n aria-hidden=\"true\"\n class={cn(\n \"pointer-events-none absolute bottom-1 right-1 z-[1] size-2.5 rounded-sm bg-border/45\",\n className,\n )}\n {...rest}\n />\n );\n};\n","import type { JSX } from \"preact\";\nimport { useLayoutEffect, useRef, useState } from \"preact/hooks\";\nimport { cn } from \"../../lib/utils\";\nimport { useScrollAreaContext } from \"./scroll-area-context\";\n\nexport type ScrollBarProps = JSX.HTMLAttributes<HTMLDivElement> & {\n orientation?: \"horizontal\" | \"vertical\";\n};\n\ntype ThumbState = {\n size: number;\n offset: number;\n hidden: boolean;\n};\n\ntype Metrics = {\n thumbSize: number;\n maxScroll: number;\n maxThumbTravel: number;\n viewportSize: number;\n scrollSize: number;\n};\n\nconst MIN_THUMB_SIZE = 18;\nconst TRACK_PADDING = 2;\n\nexport const ScrollBar = ({\n class: className,\n orientation = \"vertical\",\n onPointerDown: onPointerDownProp,\n ...rest\n}: ScrollBarProps) => {\n const { viewportRef } = useScrollAreaContext();\n const trackRef = useRef<HTMLDivElement>(null);\n const thumbRef = useRef<HTMLDivElement>(null);\n const metricsRef = useRef<Metrics>({\n thumbSize: 0,\n maxScroll: 0,\n maxThumbTravel: 0,\n viewportSize: 0,\n scrollSize: 0,\n });\n const dragRef = useRef<{ startPointer: number; startScroll: number } | null>(null);\n const [thumb, setThumb] = useState<ThumbState>({ size: 0, offset: 0, hidden: true });\n\n useLayoutEffect(() => {\n const scrollEl = viewportRef.current;\n const track = trackRef.current;\n if (!scrollEl || !track) return;\n\n const compute = () => {\n const isVertical = orientation === \"vertical\";\n const viewportSize = isVertical ? scrollEl.clientHeight : scrollEl.clientWidth;\n const scrollSize = isVertical ? scrollEl.scrollHeight : scrollEl.scrollWidth;\n const scrollOffset = isVertical ? scrollEl.scrollTop : scrollEl.scrollLeft;\n const trackSize = (isVertical ? track.clientHeight : track.clientWidth) - TRACK_PADDING * 2;\n const maxScroll = scrollSize - viewportSize;\n\n if (trackSize <= 0 || maxScroll <= 0) {\n metricsRef.current = {\n thumbSize: 0,\n maxScroll: 0,\n maxThumbTravel: 0,\n viewportSize,\n scrollSize,\n };\n setThumb({ size: 0, offset: 0, hidden: true });\n return;\n }\n\n const rawSize = (viewportSize / scrollSize) * trackSize;\n const size = Math.min(trackSize, Math.max(MIN_THUMB_SIZE, rawSize));\n const maxThumbTravel = trackSize - size;\n const ratio = maxScroll > 0 ? scrollOffset / maxScroll : 0;\n const offset = maxThumbTravel * ratio;\n\n metricsRef.current = {\n thumbSize: size,\n maxScroll,\n maxThumbTravel,\n viewportSize,\n scrollSize,\n };\n setThumb({ size, offset, hidden: false });\n };\n\n compute();\n scrollEl.addEventListener(\"scroll\", compute, { passive: true });\n const resizeObserver = new ResizeObserver(compute);\n resizeObserver.observe(scrollEl);\n resizeObserver.observe(track);\n const mutationObserver = new MutationObserver(compute);\n mutationObserver.observe(scrollEl, { childList: true, subtree: true, characterData: true });\n\n return () => {\n scrollEl.removeEventListener(\"scroll\", compute);\n resizeObserver.disconnect();\n mutationObserver.disconnect();\n };\n }, [orientation, viewportRef]);\n\n const isVertical = orientation === \"vertical\";\n\n const onThumbPointerDown = (e: JSX.TargetedPointerEvent<HTMLDivElement>) => {\n if (thumb.hidden) return;\n e.preventDefault();\n e.stopPropagation();\n const scrollEl = viewportRef.current;\n if (!scrollEl || !e.isPrimary) return;\n\n const m = metricsRef.current;\n if (m.maxThumbTravel <= 0) return;\n\n dragRef.current = {\n startPointer: isVertical ? e.clientY : e.clientX,\n startScroll: isVertical ? scrollEl.scrollTop : scrollEl.scrollLeft,\n };\n\n (e.currentTarget as HTMLElement).setPointerCapture(e.pointerId);\n\n const onMove = (ev: globalThis.PointerEvent) => {\n if (!dragRef.current) return;\n const el = viewportRef.current;\n if (!el) return;\n const mm = metricsRef.current;\n if (mm.maxThumbTravel <= 0) return;\n const pointer = isVertical ? ev.clientY : ev.clientX;\n const delta = pointer - dragRef.current.startPointer;\n const scrollDelta = (delta / mm.maxThumbTravel) * mm.maxScroll;\n const next = dragRef.current.startScroll + scrollDelta;\n const clamped = Math.max(0, Math.min(mm.maxScroll, next));\n if (isVertical) {\n el.scrollTop = clamped;\n } else {\n el.scrollLeft = clamped;\n }\n };\n\n const onUp = (ev: globalThis.PointerEvent) => {\n (e.currentTarget as HTMLElement).releasePointerCapture(ev.pointerId);\n dragRef.current = null;\n window.removeEventListener(\"pointermove\", onMove);\n window.removeEventListener(\"pointerup\", onUp);\n window.removeEventListener(\"pointercancel\", onUp);\n };\n\n window.addEventListener(\"pointermove\", onMove);\n window.addEventListener(\"pointerup\", onUp);\n window.addEventListener(\"pointercancel\", onUp);\n };\n\n const onTrackPointerDown = (e: JSX.TargetedPointerEvent<HTMLDivElement>) => {\n if (thumb.hidden || e.button !== 0) return;\n const t = thumbRef.current;\n if (t && (e.target === t || t.contains(e.target as Node))) return;\n\n const scrollEl = viewportRef.current;\n const track = trackRef.current;\n if (!scrollEl || !track) return;\n\n const m = metricsRef.current;\n if (m.maxThumbTravel <= 0 || m.maxScroll <= 0) return;\n\n const rect = track.getBoundingClientRect();\n const clickAlong = isVertical\n ? e.clientY - rect.top - TRACK_PADDING\n : e.clientX - rect.left - TRACK_PADDING;\n\n const page = thumb.size + 4;\n let nextOffset = thumb.offset;\n if (clickAlong < thumb.offset) {\n nextOffset = Math.max(0, thumb.offset - page);\n } else if (clickAlong > thumb.offset + thumb.size) {\n nextOffset = Math.min(m.maxThumbTravel, thumb.offset + page);\n } else {\n return;\n }\n\n const nextScroll = (nextOffset / m.maxThumbTravel) * m.maxScroll;\n if (isVertical) {\n scrollEl.scrollTop = nextScroll;\n } else {\n scrollEl.scrollLeft = nextScroll;\n }\n };\n\n return (\n <div\n ref={trackRef}\n data-slot=\"scroll-bar\"\n data-orientation={orientation}\n aria-hidden=\"true\"\n class={cn(\n \"absolute z-[1] rounded-full bg-border/45 p-0.5 transition-opacity select-none\",\n orientation === \"vertical\" ? \"right-1 top-1 bottom-1 w-2\" : \"right-1 left-1 bottom-1 h-2\",\n thumb.hidden ? \"pointer-events-none opacity-0\" : \"opacity-100\",\n className,\n )}\n {...rest}\n onPointerDown={(e) => {\n onPointerDownProp?.(e);\n onTrackPointerDown(e);\n }}\n >\n <div\n ref={thumbRef}\n data-slot=\"scroll-bar-thumb\"\n class={cn(\n \"absolute touch-none rounded-full bg-foreground/35 ring-1 ring-border/40\",\n orientation === \"vertical\"\n ? \"left-0 right-0 top-0 cursor-grab active:cursor-grabbing\"\n : \"bottom-0 left-0 top-0 h-full cursor-grab active:cursor-grabbing\",\n )}\n style={\n orientation === \"vertical\"\n ? { height: `${thumb.size}px`, transform: `translateY(${thumb.offset}px)` }\n : { width: `${thumb.size}px`, transform: `translateX(${thumb.offset}px)` }\n }\n onPointerDown={onThumbPointerDown}\n />\n </div>\n );\n};\n","import type { ComponentChild, ComponentChildren, JSX } from \"preact\";\nimport { isValidElement, toChildArray } from \"preact\";\nimport { useLayoutEffect, useMemo, useRef } from \"preact/hooks\";\nimport { cn } from \"../../lib/utils\";\nimport { ScrollAreaCorner } from \"./ScrollAreaCorner\";\nimport { ScrollBar } from \"./ScrollBar\";\nimport { ScrollAreaContext } from \"./scroll-area-context\";\n\nconst hideNativeScrollbar =\n \"[scrollbar-width:none] [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden\";\n\nfunction partitionScrollAreaChildren(children: ComponentChildren): {\n content: ComponentChild[];\n chrome: ComponentChild[];\n} {\n const content: ComponentChild[] = [];\n const chrome: ComponentChild[] = [];\n for (const node of toChildArray(children)) {\n if (isValidElement(node) && (node.type === ScrollBar || node.type === ScrollAreaCorner)) {\n chrome.push(node);\n } else {\n content.push(node);\n }\n }\n return { content, chrome };\n}\n\nfunction syncViewportOverflowState(el: HTMLDivElement) {\n const { scrollLeft, scrollTop, clientWidth, clientHeight, scrollWidth, scrollHeight } = el;\n const maxX = scrollWidth - clientWidth;\n const maxY = scrollHeight - clientHeight;\n const eps = 0.5;\n const hasX = maxX > eps;\n const hasY = maxY > eps;\n\n const setEdge = (name: string, on: boolean) => {\n if (on) el.setAttribute(name, \"\");\n else el.removeAttribute(name);\n };\n\n if (hasX) {\n setEdge(\"data-has-overflow-x\", true);\n setEdge(\"data-overflow-x-start\", scrollLeft > eps);\n setEdge(\"data-overflow-x-end\", scrollLeft < maxX - eps);\n } else {\n el.removeAttribute(\"data-has-overflow-x\");\n el.removeAttribute(\"data-overflow-x-start\");\n el.removeAttribute(\"data-overflow-x-end\");\n }\n\n if (hasY) {\n setEdge(\"data-has-overflow-y\", true);\n setEdge(\"data-overflow-y-start\", scrollTop > eps);\n setEdge(\"data-overflow-y-end\", scrollTop < maxY - eps);\n } else {\n el.removeAttribute(\"data-has-overflow-y\");\n el.removeAttribute(\"data-overflow-y-start\");\n el.removeAttribute(\"data-overflow-y-end\");\n }\n\n el.style.setProperty(\"--scroll-area-overflow-x-start\", `${scrollLeft}px`);\n el.style.setProperty(\"--scroll-area-overflow-x-end\", `${Math.max(0, maxX - scrollLeft)}px`);\n el.style.setProperty(\"--scroll-area-overflow-y-start\", `${scrollTop}px`);\n el.style.setProperty(\"--scroll-area-overflow-y-end\", `${Math.max(0, maxY - scrollTop)}px`);\n}\n\nexport type ScrollAreaProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const ScrollArea = ({ class: className, children, ...rest }: ScrollAreaProps) => {\n const viewportRef = useRef<HTMLDivElement>(null);\n const scrollEndTimerRef = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n const { content, chrome } = partitionScrollAreaChildren(children);\n\n const contextValue = useMemo(() => ({ viewportRef }), []);\n\n useLayoutEffect(() => {\n const el = viewportRef.current;\n if (!el) return;\n\n const update = () => {\n syncViewportOverflowState(el);\n };\n\n const onScroll = () => {\n syncViewportOverflowState(el);\n el.setAttribute(\"data-scrolling\", \"\");\n if (scrollEndTimerRef.current !== undefined) {\n clearTimeout(scrollEndTimerRef.current);\n }\n scrollEndTimerRef.current = setTimeout(() => {\n el.removeAttribute(\"data-scrolling\");\n scrollEndTimerRef.current = undefined;\n }, 150);\n };\n\n update();\n el.addEventListener(\"scroll\", onScroll, { passive: true });\n const resizeObserver = new ResizeObserver(update);\n resizeObserver.observe(el);\n const mutationObserver = new MutationObserver(update);\n mutationObserver.observe(el, { childList: true, subtree: true, characterData: true });\n\n return () => {\n el.removeEventListener(\"scroll\", onScroll);\n resizeObserver.disconnect();\n mutationObserver.disconnect();\n if (scrollEndTimerRef.current !== undefined) {\n clearTimeout(scrollEndTimerRef.current);\n }\n el.removeAttribute(\"data-scrolling\");\n };\n }, []);\n\n return (\n <ScrollAreaContext.Provider value={contextValue}>\n <div\n data-slot=\"scroll-area\"\n class={cn(\"relative min-h-0 min-w-0 overflow-hidden\", className)}\n {...rest}\n >\n <div\n ref={viewportRef}\n data-slot=\"scroll-area-viewport\"\n class={cn(\"size-full overflow-auto\", hideNativeScrollbar)}\n >\n <div data-slot=\"scroll-area-content\" class=\"min-w-0\">\n {content}\n </div>\n </div>\n {chrome}\n </div>\n </ScrollAreaContext.Provider>\n );\n};\n","import { ScrollArea } from \"./ScrollArea\";\nimport { ScrollAreaCorner } from \"./ScrollAreaCorner\";\nimport { ScrollBar } from \"./ScrollBar\";\n\nexport { ScrollArea, ScrollAreaCorner, ScrollBar };\n\nexport default {\n Root: ScrollArea,\n Bar: ScrollBar,\n Corner: ScrollAreaCorner,\n};\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { SheetFooter, SheetHeader, SheetContent, Sheet } from './chunk-
|
|
2
|
-
import { DialogClose, DialogDescription, DialogTitle, DialogTrigger } from './chunk-
|
|
1
|
+
import { SheetFooter, SheetHeader, SheetContent, Sheet } from './chunk-KHV3WV6T.js';
|
|
2
|
+
import { DialogClose, DialogDescription, DialogTitle, DialogTrigger } from './chunk-DUTKHOH3.js';
|
|
3
3
|
|
|
4
4
|
// src/components/sheet/index.ts
|
|
5
5
|
var sheet_default = {
|
|
@@ -14,5 +14,5 @@ var sheet_default = {
|
|
|
14
14
|
};
|
|
15
15
|
|
|
16
16
|
export { sheet_default };
|
|
17
|
-
//# sourceMappingURL=chunk-
|
|
18
|
-
//# sourceMappingURL=chunk-
|
|
17
|
+
//# sourceMappingURL=chunk-ODYHA3O5.js.map
|
|
18
|
+
//# sourceMappingURL=chunk-ODYHA3O5.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/sheet/index.ts"],"names":[],"mappings":";;;;AAoBA,IAAO,aAAA,GAAQ;AAAA,EACb,IAAA,EAAM,KAAA;AAAA,EACN,OAAA,EAAS,aAAA;AAAA,EACT,OAAA,EAAS,YAAA;AAAA,EACT,MAAA,EAAQ,WAAA;AAAA,EACR,MAAA,EAAQ,WAAA;AAAA,EACR,KAAA,EAAO,WAAA;AAAA,EACP,WAAA,EAAa,iBAAA;AAAA,EACb,KAAA,EAAO;AACT","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/components/sheet/index.ts"],"names":[],"mappings":";;;;AAoBA,IAAO,aAAA,GAAQ;AAAA,EACb,IAAA,EAAM,KAAA;AAAA,EACN,OAAA,EAAS,aAAA;AAAA,EACT,OAAA,EAAS,YAAA;AAAA,EACT,MAAA,EAAQ,WAAA;AAAA,EACR,MAAA,EAAQ,WAAA;AAAA,EACR,KAAA,EAAO,WAAA;AAAA,EACP,WAAA,EAAa,iBAAA;AAAA,EACb,KAAA,EAAO;AACT","file":"chunk-ODYHA3O5.js","sourcesContent":["import { Sheet } from \"./Sheet\";\nimport { SheetClose } from \"./SheetClose\";\nimport { SheetContent } from \"./SheetContent\";\nimport { SheetDescription } from \"./SheetDescription\";\nimport { SheetFooter } from \"./SheetFooter\";\nimport { SheetHeader } from \"./SheetHeader\";\nimport { SheetTitle } from \"./SheetTitle\";\nimport { SheetTrigger } from \"./SheetTrigger\";\n\nexport {\n Sheet,\n SheetClose,\n SheetContent,\n SheetDescription,\n SheetFooter,\n SheetHeader,\n SheetTitle,\n SheetTrigger,\n};\n\nexport default {\n Root: Sheet,\n Trigger: SheetTrigger,\n Content: SheetContent,\n Header: SheetHeader,\n Footer: SheetFooter,\n Title: SheetTitle,\n Description: SheetDescription,\n Close: SheetClose,\n};\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { input, Input } from './chunk-7LWAWZHM.js';
|
|
2
|
+
|
|
3
|
+
// src/components/input/index.ts
|
|
4
|
+
var InputVariants = { input };
|
|
5
|
+
var input_default = Input;
|
|
6
|
+
|
|
7
|
+
export { InputVariants, input_default };
|
|
8
|
+
//# sourceMappingURL=chunk-OJEZZVZB.js.map
|
|
9
|
+
//# sourceMappingURL=chunk-OJEZZVZB.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/input/index.ts"],"names":[],"mappings":";;;AAEA,IAAM,aAAA,GAAgB,EAAE,KAAA;AAIxB,IAAO,aAAA,GAAQ","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/components/input/index.ts"],"names":[],"mappings":";;;AAEA,IAAM,aAAA,GAAgB,EAAE,KAAA;AAIxB,IAAO,aAAA,GAAQ","file":"chunk-OJEZZVZB.js","sourcesContent":["import { Input, input } from \"./Input\";\n\nconst InputVariants = { input };\n\nexport { Input, InputVariants };\n\nexport default Input;\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Popover, PopoverTrigger, PopoverContent } from './chunk-
|
|
2
|
-
import { Calendar } from './chunk-
|
|
3
|
-
import { Button } from './chunk-
|
|
4
|
-
import { cn } from './chunk-
|
|
1
|
+
import { Popover, PopoverTrigger, PopoverContent } from './chunk-VEQ7X2PO.js';
|
|
2
|
+
import { Calendar } from './chunk-XCYEWILH.js';
|
|
3
|
+
import { Button } from './chunk-DDRX6NNW.js';
|
|
4
|
+
import { cn } from './chunk-XIANSPQO.js';
|
|
5
5
|
import { useState } from 'preact/hooks';
|
|
6
6
|
import { jsx, jsxs } from 'preact/jsx-runtime';
|
|
7
7
|
|
|
@@ -98,5 +98,5 @@ var DatePicker = ({
|
|
|
98
98
|
var date_picker_default = DatePicker;
|
|
99
99
|
|
|
100
100
|
export { DatePicker, date_picker_default, formatDatePickerDisplay };
|
|
101
|
-
//# sourceMappingURL=chunk-
|
|
102
|
-
//# sourceMappingURL=chunk-
|
|
101
|
+
//# sourceMappingURL=chunk-OTXP2QJ7.js.map
|
|
102
|
+
//# sourceMappingURL=chunk-OTXP2QJ7.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/date-picker/DatePicker.tsx","../src/components/date-picker/index.ts"],"names":[],"mappings":"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","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/components/date-picker/DatePicker.tsx","../src/components/date-picker/index.ts"],"names":[],"mappings":"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","file":"chunk-OTXP2QJ7.js","sourcesContent":["import type { ComponentChildren, JSX } from \"preact\";\nimport { useState } from \"preact/hooks\";\nimport { cn } from \"../../lib/utils\";\nimport { Button } from \"../button/Button\";\nimport { Calendar } from \"../calendar/Calendar\";\nimport { Popover } from \"../popover/Popover\";\nimport { PopoverContent } from \"../popover/PopoverContent\";\nimport { PopoverTrigger } from \"../popover/PopoverTrigger\";\n\n/** Long date label (~`date-fns` `PPP`) without extra dependencies. */\nexport const formatDatePickerDisplay = (date: Date, locale?: string) =>\n date.toLocaleDateString(locale, {\n weekday: \"long\",\n month: \"long\",\n day: \"numeric\",\n year: \"numeric\",\n });\n\nconst CalendarGlyph = ({ class: className }: { class?: string }) => (\n <svg\n class={cn(\"size-4 shrink-0 opacity-60\", className)}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n aria-hidden=\"true\"\n >\n <rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\" />\n <path d=\"M16 2v4M8 2v4M3 10h18\" />\n </svg>\n);\n\nconst ChevronDownGlyph = ({ class: className }: { class?: string }) => (\n <svg\n class={cn(\"size-4 shrink-0 opacity-60\", className)}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n aria-hidden=\"true\"\n >\n <path d=\"m6 9 6 6 6-6\" />\n </svg>\n);\n\nexport type DatePickerProps = Omit<JSX.HTMLAttributes<HTMLDivElement>, \"onChange\"> & {\n value?: Date;\n defaultValue?: Date;\n onValueChange?: (next: Date | undefined) => void;\n placeholder?: string;\n /** Close popover after a day is picked (single mode). @default true */\n closeOnSelect?: boolean;\n align?: \"start\" | \"center\" | \"end\";\n /** Trigger affordance aligned with shadcn demos. @default \"chevron\" */\n triggerIcon?: \"chevron\" | \"calendar\" | \"none\";\n format?: (date: Date) => string;\n children?: ComponentChildren;\n};\n\nexport const DatePicker = ({\n class: className,\n value,\n defaultValue,\n onValueChange,\n placeholder = \"Pick a date\",\n closeOnSelect = true,\n align = \"start\",\n triggerIcon = \"chevron\",\n format = formatDatePickerDisplay,\n children,\n ...rest\n}: DatePickerProps) => {\n const [localValue, setLocalValue] = useState<Date | undefined>(defaultValue);\n const [open, setOpen] = useState(false);\n const selected = value !== undefined ? value : localValue;\n const isControlled = value !== undefined;\n\n const setSelected = (next: Date | undefined) => {\n if (!isControlled) setLocalValue(next);\n onValueChange?.(next);\n };\n\n const iconEl =\n triggerIcon === \"calendar\" ? (\n <CalendarGlyph />\n ) : triggerIcon === \"chevron\" ? (\n <ChevronDownGlyph />\n ) : null;\n\n return (\n <div data-slot=\"date-picker\" class={cn(\"inline-flex\", className)} {...rest}>\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n {children ?? (\n <Button\n variant=\"outline\"\n data-empty={selected ? undefined : \"true\"}\n class={cn(\n \"data-[empty=true]:text-muted-foreground w-[min(100%,280px)] text-start font-normal\",\n triggerIcon === \"chevron\" && \"justify-between\",\n (triggerIcon === \"calendar\" || triggerIcon === \"none\") && \"justify-start gap-2\",\n )}\n >\n {triggerIcon === \"calendar\" ? iconEl : null}\n <span class=\"min-w-0 flex-1 truncate\">\n {selected ? format(selected) : <span>{placeholder}</span>}\n </span>\n {triggerIcon === \"chevron\" ? iconEl : null}\n </Button>\n )}\n </PopoverTrigger>\n <PopoverContent class=\"w-auto overflow-hidden p-0\" align={align} sideOffset={4}>\n <Calendar\n mode=\"single\"\n selected={selected}\n defaultMonth={selected}\n onSelect={(d) => {\n if (!(d instanceof Date)) return;\n setSelected(d);\n if (closeOnSelect) setOpen(false);\n }}\n />\n </PopoverContent>\n </Popover>\n </div>\n );\n};\n","import { DatePicker, formatDatePickerDisplay } from \"./DatePicker\";\n\nexport { DatePicker, formatDatePickerDisplay };\n\nexport default DatePicker;\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { DialogFooter, DialogHeader } from './chunk-
|
|
2
|
-
import { Dialog, DialogClose, DialogContent, dialogViewportBleedClass, DialogDescription, DialogTitle, DialogTrigger } from './chunk-
|
|
3
|
-
import { button } from './chunk-
|
|
4
|
-
import { cn } from './chunk-
|
|
1
|
+
import { DialogFooter, DialogHeader } from './chunk-Q5B6ROW6.js';
|
|
2
|
+
import { Dialog, DialogClose, DialogContent, dialogViewportBleedClass, DialogDescription, DialogTitle, DialogTrigger } from './chunk-DUTKHOH3.js';
|
|
3
|
+
import { button } from './chunk-DDRX6NNW.js';
|
|
4
|
+
import { cn } from './chunk-XIANSPQO.js';
|
|
5
5
|
import { jsx } from 'preact/jsx-runtime';
|
|
6
6
|
|
|
7
7
|
var AlertDialog = ({ children, ...rest }) => /* @__PURE__ */ jsx(Dialog, { "data-slot": "alert-dialog", lockBodyScroll: true, ...rest, children });
|
|
@@ -13,7 +13,7 @@ var AlertDialogAction = ({
|
|
|
13
13
|
}) => /* @__PURE__ */ jsx(
|
|
14
14
|
DialogClose,
|
|
15
15
|
{
|
|
16
|
-
class: button({ variant,
|
|
16
|
+
class: cn(button({ variant }), "w-full sm:w-auto", className),
|
|
17
17
|
"data-slot": "alert-dialog-action",
|
|
18
18
|
...rest,
|
|
19
19
|
children
|
|
@@ -27,7 +27,7 @@ var AlertDialogCancel = ({
|
|
|
27
27
|
}) => /* @__PURE__ */ jsx(
|
|
28
28
|
DialogClose,
|
|
29
29
|
{
|
|
30
|
-
class: button({ variant,
|
|
30
|
+
class: cn(button({ variant }), "w-full sm:w-auto", className),
|
|
31
31
|
"data-slot": "alert-dialog-cancel",
|
|
32
32
|
...rest,
|
|
33
33
|
children
|
|
@@ -145,7 +145,7 @@ var AlertDialogTrigger = ({
|
|
|
145
145
|
DialogTrigger,
|
|
146
146
|
{
|
|
147
147
|
asChild,
|
|
148
|
-
class: asChild ? className : button({ variant: "outline",
|
|
148
|
+
class: asChild ? className : cn(button({ variant: "outline" }), className),
|
|
149
149
|
"data-slot": "alert-dialog-trigger",
|
|
150
150
|
...rest,
|
|
151
151
|
children
|
|
@@ -167,5 +167,5 @@ var alert_dialog_default = {
|
|
|
167
167
|
};
|
|
168
168
|
|
|
169
169
|
export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogTitle, AlertDialogTrigger, alert_dialog_default };
|
|
170
|
-
//# sourceMappingURL=chunk-
|
|
171
|
-
//# sourceMappingURL=chunk-
|
|
170
|
+
//# sourceMappingURL=chunk-OUVUK3E7.js.map
|
|
171
|
+
//# sourceMappingURL=chunk-OUVUK3E7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/alert-dialog/AlertDialog.tsx","../src/components/alert-dialog/AlertDialogAction.tsx","../src/components/alert-dialog/AlertDialogCancel.tsx","../src/components/alert-dialog/AlertDialogContent.tsx","../src/components/alert-dialog/AlertDialogDescription.tsx","../src/components/alert-dialog/AlertDialogFooter.tsx","../src/components/alert-dialog/AlertDialogHeader.tsx","../src/components/alert-dialog/AlertDialogMedia.tsx","../src/components/alert-dialog/AlertDialogTitle.tsx","../src/components/alert-dialog/AlertDialogTrigger.tsx","../src/components/alert-dialog/index.ts"],"names":["jsx"],"mappings":"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","file":"chunk-OUVUK3E7.js","sourcesContent":["import type { ComponentChildren } from \"preact\";\nimport { Dialog, type DialogProps } from \"../dialog/Dialog\";\n\nexport type AlertDialogProps = DialogProps & { children?: ComponentChildren };\n\nexport const AlertDialog = ({ children, ...rest }: AlertDialogProps) => (\n <Dialog data-slot=\"alert-dialog\" lockBodyScroll {...rest}>\n {children}\n </Dialog>\n);\n","import type { ComponentChildren } from \"preact\";\nimport type { VariantProps } from \"tailwind-variants\";\nimport { cn } from \"../../lib/utils\";\nimport { button } from \"../button/Button\";\nimport { DialogClose, type DialogCloseProps } from \"../dialog/DialogClose\";\n\nexport type AlertDialogActionProps = DialogCloseProps & {\n variant?: VariantProps<typeof button>[\"variant\"];\n children?: ComponentChildren;\n};\n\nexport const AlertDialogAction = ({\n variant = \"default\",\n class: className,\n children,\n ...rest\n}: AlertDialogActionProps) => (\n <DialogClose\n class={cn(button({ variant }), \"w-full sm:w-auto\", className)}\n data-slot=\"alert-dialog-action\"\n {...rest}\n >\n {children}\n </DialogClose>\n);\n","import type { ComponentChildren } from \"preact\";\nimport type { VariantProps } from \"tailwind-variants\";\nimport { cn } from \"../../lib/utils\";\nimport { button } from \"../button/Button\";\nimport { DialogClose, type DialogCloseProps } from \"../dialog/DialogClose\";\n\nexport type AlertDialogCancelProps = DialogCloseProps & {\n variant?: VariantProps<typeof button>[\"variant\"];\n children?: ComponentChildren;\n};\n\nexport const AlertDialogCancel = ({\n variant = \"outline\",\n class: className,\n children,\n ...rest\n}: AlertDialogCancelProps) => (\n <DialogClose\n class={cn(button({ variant }), \"w-full sm:w-auto\", className)}\n data-slot=\"alert-dialog-cancel\"\n {...rest}\n >\n {children}\n </DialogClose>\n);\n","import type { ComponentChildren } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport {\n DialogContent,\n type DialogContentProps,\n dialogViewportBleedClass,\n} from \"../dialog/DialogContent\";\n\nexport type AlertDialogContentSize = \"default\" | \"sm\";\n\nexport type AlertDialogContentProps = DialogContentProps & {\n /** `sm` — narrower panel (shadcn parity). */\n size?: AlertDialogContentSize;\n children?: ComponentChildren;\n};\n\nexport const AlertDialogContent = ({\n size = \"default\",\n class: className,\n children,\n ...rest\n}: AlertDialogContentProps) => (\n // presentation=\"slot\": we own the full-screen flex overlay + inner panel; default \"modal\" would add a second backdrop.\n <DialogContent\n presentation=\"slot\"\n class={cn(\n dialogViewportBleedClass,\n \"z-50 flex items-center justify-center bg-black/50 p-3 sm:p-6 pointer-events-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fill-mode-forwards fade-in fade-out\",\n )}\n data-slot=\"alert-dialog-content\"\n {...rest}\n >\n <div\n class={cn(\n \"data-open:animate-in relative z-[1] grid min-h-0 min-w-0 w-full max-w-[calc(100svw-1.5rem)] max-h-[calc(100dvh-1.5rem)] overflow-y-auto overflow-x-hidden rounded-xl border bg-background shadow-lg pointer-events-auto\",\n size === \"sm\"\n ? \"gap-3 p-4 sm:max-w-sm sm:max-h-[calc(100dvh-3rem)] sm:p-4\"\n : \"gap-4 p-4 sm:max-w-[32rem] sm:max-h-[calc(100dvh-3rem)] sm:p-6\",\n className,\n )}\n data-slot=\"alert-dialog-panel\"\n data-size={size}\n data-open=\"true\"\n >\n {children}\n </div>\n </DialogContent>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { DialogDescription } from \"../dialog/DialogDescription\";\n\nexport type AlertDialogDescriptionProps = JSX.HTMLAttributes<HTMLParagraphElement> & {\n children?: ComponentChildren;\n};\n\nexport const AlertDialogDescription = ({\n class: className,\n children,\n ...rest\n}: AlertDialogDescriptionProps) => (\n <DialogDescription\n class={cn(\"text-muted-foreground text-sm leading-relaxed break-words\", className)}\n data-slot=\"alert-dialog-description\"\n {...rest}\n >\n {children}\n </DialogDescription>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { DialogFooter } from \"../dialog/DialogFooter\";\n\nexport type AlertDialogFooterProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const AlertDialogFooter = ({\n class: className,\n children,\n ...rest\n}: AlertDialogFooterProps) => (\n <DialogFooter\n class={cn(\"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\", className)}\n data-slot=\"alert-dialog-footer\"\n {...rest}\n >\n {children}\n </DialogFooter>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { DialogHeader } from \"../dialog/DialogHeader\";\n\nexport type AlertDialogHeaderProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const AlertDialogHeader = ({\n class: className,\n children,\n ...rest\n}: AlertDialogHeaderProps) => (\n <DialogHeader\n class={cn(\"grid gap-2 text-center sm:text-left\", className)}\n data-slot=\"alert-dialog-header\"\n {...rest}\n >\n {children}\n </DialogHeader>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type AlertDialogMediaProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\n/** Optional icon or image slot above the title (shadcn AlertDialogMedia pattern). */\nexport const AlertDialogMedia = ({\n class: className,\n children,\n ...rest\n}: AlertDialogMediaProps) => (\n <div\n data-slot=\"alert-dialog-media\"\n class={cn(\n \"mx-auto flex size-12 shrink-0 items-center justify-center rounded-full bg-muted text-foreground\",\n \"[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-6\",\n className,\n )}\n {...rest}\n >\n {children}\n </div>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { DialogTitle } from \"../dialog/DialogTitle\";\n\nexport type AlertDialogTitleProps = JSX.HTMLAttributes<HTMLHeadingElement> & {\n children?: ComponentChildren;\n};\n\nexport const AlertDialogTitle = ({\n class: className,\n children,\n ...rest\n}: AlertDialogTitleProps) => (\n <DialogTitle\n class={cn(\"text-lg font-semibold break-words\", className)}\n data-slot=\"alert-dialog-title\"\n {...rest}\n >\n {children}\n </DialogTitle>\n);\n","import type { ComponentChildren } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { button } from \"../button/Button\";\nimport { DialogTrigger, type DialogTriggerProps } from \"../dialog/DialogTrigger\";\n\nexport type AlertDialogTriggerProps = DialogTriggerProps & { children?: ComponentChildren };\n\nexport const AlertDialogTrigger = ({\n asChild,\n class: className,\n children,\n ...rest\n}: AlertDialogTriggerProps) => (\n <DialogTrigger\n asChild={asChild}\n class={asChild ? className : cn(button({ variant: \"outline\" }), className)}\n data-slot=\"alert-dialog-trigger\"\n {...rest}\n >\n {children}\n </DialogTrigger>\n);\n","import { AlertDialog } from \"./AlertDialog\";\nimport { AlertDialogAction } from \"./AlertDialogAction\";\nimport { AlertDialogCancel } from \"./AlertDialogCancel\";\nimport { AlertDialogContent } from \"./AlertDialogContent\";\nimport { AlertDialogDescription } from \"./AlertDialogDescription\";\nimport { AlertDialogFooter } from \"./AlertDialogFooter\";\nimport { AlertDialogHeader } from \"./AlertDialogHeader\";\nimport { AlertDialogMedia } from \"./AlertDialogMedia\";\nimport { AlertDialogTitle } from \"./AlertDialogTitle\";\nimport { AlertDialogTrigger } from \"./AlertDialogTrigger\";\n\nexport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogMedia,\n AlertDialogTitle,\n AlertDialogTrigger,\n};\n\nexport default {\n Root: AlertDialog,\n Trigger: AlertDialogTrigger,\n Content: AlertDialogContent,\n Header: AlertDialogHeader,\n Footer: AlertDialogFooter,\n Title: AlertDialogTitle,\n Description: AlertDialogDescription,\n Media: AlertDialogMedia,\n Cancel: AlertDialogCancel,\n Action: AlertDialogAction,\n};\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cn } from './chunk-
|
|
1
|
+
import { cn } from './chunk-XIANSPQO.js';
|
|
2
2
|
import { tv } from 'tailwind-variants';
|
|
3
3
|
import { jsxs, jsx } from 'preact/jsx-runtime';
|
|
4
4
|
|
|
@@ -77,5 +77,5 @@ var EmptyTitle = ({ class: className, children, ...rest }) => /* @__PURE__ */ js
|
|
|
77
77
|
);
|
|
78
78
|
|
|
79
79
|
export { Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, emptyMedia, emptyRoot };
|
|
80
|
-
//# sourceMappingURL=chunk-
|
|
81
|
-
//# sourceMappingURL=chunk-
|
|
80
|
+
//# sourceMappingURL=chunk-P6ICWO5B.js.map
|
|
81
|
+
//# sourceMappingURL=chunk-P6ICWO5B.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/empty/empty-variants.ts","../src/components/empty/Empty.tsx","../src/components/empty/EmptyContent.tsx","../src/components/empty/EmptyDescription.tsx","../src/components/empty/EmptyHeader.tsx","../src/components/empty/EmptyMedia.tsx","../src/components/empty/EmptyTitle.tsx"],"names":["jsx"],"mappings":"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","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/components/empty/empty-variants.ts","../src/components/empty/Empty.tsx","../src/components/empty/EmptyContent.tsx","../src/components/empty/EmptyDescription.tsx","../src/components/empty/EmptyHeader.tsx","../src/components/empty/EmptyMedia.tsx","../src/components/empty/EmptyTitle.tsx"],"names":["jsx"],"mappings":"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","file":"chunk-P6ICWO5B.js","sourcesContent":["import { tv, type VariantProps } from \"tailwind-variants\";\n\n/** Composable Empty root (shadcn-aligned). */\nexport const emptyRoot = tv({\n base: \"group/empty flex w-full flex-col items-center justify-center gap-6 text-balance text-center\",\n});\n\nexport type EmptyRootVariants = VariantProps<typeof emptyRoot>;\n\nexport const emptyMedia = tv({\n base: \"mb-0 flex shrink-0 justify-center\",\n variants: {\n variant: {\n default: \"\",\n icon: [\n \"mb-2 flex size-10 items-center justify-center rounded-md border bg-muted text-muted-foreground\",\n \"[&_svg:not([class*='size-'])]:size-6\",\n ],\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n});\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { emptyRoot } from \"./empty-variants\";\n\nexport type EmptyProps = JSX.HTMLAttributes<HTMLDivElement> & {\n /** Legacy: render title inside dashed card (use EmptyTitle when composing). */\n title?: ComponentChildren;\n /** Legacy: description line. */\n description?: ComponentChildren;\n children?: ComponentChildren;\n};\n\nexport const Empty = ({ class: className, title, description, children, ...rest }: EmptyProps) => {\n const legacy = title != null || description != null;\n\n if (legacy) {\n return (\n <div\n {...rest}\n data-slot=\"empty\"\n class={cn(\n \"flex min-h-40 flex-col items-center justify-center gap-2 rounded-lg border border-dashed p-6 text-center\",\n className,\n )}\n >\n {title != null ? (\n <h3 data-slot=\"empty-title\" class=\"text-base font-semibold\">\n {title}\n </h3>\n ) : null}\n {description != null ? (\n <p data-slot=\"empty-description\" class=\"text-muted-foreground text-sm\">\n {description}\n </p>\n ) : null}\n {children}\n </div>\n );\n }\n\n return (\n <div {...rest} data-slot=\"empty\" class={cn(emptyRoot(), className)}>\n {children}\n </div>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type EmptyContentProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const EmptyContent = ({ class: className, children, ...rest }: EmptyContentProps) => (\n <div\n class={cn(\"flex w-full max-w-sm flex-col items-center justify-center gap-2\", className)}\n data-slot=\"empty-content\"\n {...rest}\n >\n {children}\n </div>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type EmptyDescriptionProps = JSX.HTMLAttributes<HTMLParagraphElement> & {\n children?: ComponentChildren;\n};\n\nexport const EmptyDescription = ({\n class: className,\n children,\n ...rest\n}: EmptyDescriptionProps) => (\n <p\n class={cn(\"text-muted-foreground max-w-sm text-sm leading-normal\", className)}\n data-slot=\"empty-description\"\n {...rest}\n >\n {children}\n </p>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type EmptyHeaderProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const EmptyHeader = ({ class: className, children, ...rest }: EmptyHeaderProps) => (\n <div class={cn(\"flex flex-col items-center gap-2\", className)} data-slot=\"empty-header\" {...rest}>\n {children}\n </div>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport type { VariantProps } from \"tailwind-variants\";\nimport { cn } from \"../../lib/utils\";\nimport { emptyMedia } from \"./empty-variants\";\n\nexport type EmptyMediaProps = JSX.HTMLAttributes<HTMLDivElement> &\n VariantProps<typeof emptyMedia> & {\n children?: ComponentChildren;\n };\n\nexport const EmptyMedia = ({ class: className, variant, children, ...rest }: EmptyMediaProps) => (\n <div class={cn(emptyMedia({ variant }), className)} data-slot=\"empty-media\" {...rest}>\n {children}\n </div>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type EmptyTitleProps = JSX.HTMLAttributes<HTMLHeadingElement> & {\n children?: ComponentChildren;\n};\n\nexport const EmptyTitle = ({ class: className, children, ...rest }: EmptyTitleProps) => (\n <h3\n class={cn(\"text-lg font-semibold tracking-tight\", className)}\n data-slot=\"empty-title\"\n {...rest}\n >\n {children}\n </h3>\n);\n"]}
|