@kamod-ch/ui 0.2.1
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 +183 -0
- package/dist/Accordion-D1PiNspd.d.ts +39 -0
- package/dist/AlertDialog-ALB541qy.d.ts +64 -0
- package/dist/Button-vQnkiVTI.d.ts +84 -0
- package/dist/CalendarDateTimePanel-B3J8OlSc.d.ts +79 -0
- package/dist/Carousel-BUB4DVuh.d.ts +48 -0
- package/dist/Chart-Ax22S5_N.d.ts +10 -0
- package/dist/Checkbox-DBbLYq6Q.d.ts +12 -0
- package/dist/Collapsible-CW1hQwqV.d.ts +34 -0
- package/dist/ComboboxValue-BGfXgtZt.d.ts +135 -0
- package/dist/CommandSeparator-wZRCsqsT.d.ts +47 -0
- package/dist/DataTable-zNTTdYVU.d.ts +13 -0
- package/dist/DatePicker-AFAYh5Ca.d.ts +20 -0
- package/dist/Dialog-BOIteLfe.d.ts +28 -0
- package/dist/DialogContent-CK1t4m4e.d.ts +24 -0
- package/dist/DialogHeader-CYT7iUDq.d.ts +13 -0
- package/dist/DialogTitle-CerJD0oA.d.ts +13 -0
- package/dist/Direction-25ZOt0gW.d.ts +24 -0
- package/dist/Drawer-B3pZMn5j.d.ts +41 -0
- package/dist/Dropdown-CVbWVKok.d.ts +143 -0
- package/dist/FieldTitle-aSgThW-B.d.ts +100 -0
- package/dist/HoverCard-aVEEtkyO.d.ts +52 -0
- package/dist/Input-Cem05el9.d.ts +27 -0
- package/dist/Menubar-DwYDW4w2.d.ts +88 -0
- package/dist/PopoverTrigger-CH_Kx2mn.d.ts +43 -0
- package/dist/Progress-BGij8Hob.d.ts +13 -0
- package/dist/RadioGroup-BaElzLwa.d.ts +40 -0
- package/dist/ScrollArea-B-vILe3g.d.ts +16 -0
- package/dist/Select-B_mNVh70.d.ts +51 -0
- package/dist/Separator-DCQYrnpB.d.ts +9 -0
- package/dist/Sheet-s0xRF22F.d.ts +29 -0
- package/dist/SidebarProvider-IAihmyD7.d.ts +46 -0
- package/dist/Slider-BQLMBpYs.d.ts +16 -0
- package/dist/Switch-CTTkNdqF.d.ts +31 -0
- package/dist/Tabs-CR-thcs6.d.ts +47 -0
- package/dist/Textarea-DbKkduOG.d.ts +27 -0
- package/dist/ThemeToggle-DfiEM1dZ.d.ts +9 -0
- package/dist/Toggle-CseZl7XN.d.ts +49 -0
- package/dist/ToggleGroup-UeYHzQe7.d.ts +137 -0
- package/dist/Tooltip-Ba3GxE7u.d.ts +40 -0
- package/dist/Typography-ccTtE182.d.ts +64 -0
- package/dist/chunk-26CRIZXP.js +244 -0
- package/dist/chunk-26CRIZXP.js.map +1 -0
- package/dist/chunk-2BQ54337.js +282 -0
- package/dist/chunk-2BQ54337.js.map +1 -0
- package/dist/chunk-2HZCH73K.js +109 -0
- package/dist/chunk-2HZCH73K.js.map +1 -0
- package/dist/chunk-2KY7P27I.js +64 -0
- package/dist/chunk-2KY7P27I.js.map +1 -0
- package/dist/chunk-3DNIMQX6.js +78 -0
- package/dist/chunk-3DNIMQX6.js.map +1 -0
- package/dist/chunk-3KB54OYF.js +81 -0
- package/dist/chunk-3KB54OYF.js.map +1 -0
- package/dist/chunk-4BJJOHZT.js +477 -0
- package/dist/chunk-4BJJOHZT.js.map +1 -0
- package/dist/chunk-4IBTERDG.js +9 -0
- package/dist/chunk-4IBTERDG.js.map +1 -0
- package/dist/chunk-4V3WHQJE.js +510 -0
- package/dist/chunk-4V3WHQJE.js.map +1 -0
- package/dist/chunk-5FBD2NTR.js +103 -0
- package/dist/chunk-5FBD2NTR.js.map +1 -0
- package/dist/chunk-5KS2VSX2.js +94 -0
- package/dist/chunk-5KS2VSX2.js.map +1 -0
- package/dist/chunk-5Q4RBIMZ.js +25 -0
- package/dist/chunk-5Q4RBIMZ.js.map +1 -0
- package/dist/chunk-67J4KBOW.js +124 -0
- package/dist/chunk-67J4KBOW.js.map +1 -0
- package/dist/chunk-6BK3PIRX.js +151 -0
- package/dist/chunk-6BK3PIRX.js.map +1 -0
- package/dist/chunk-6FYSVMH7.js +21 -0
- package/dist/chunk-6FYSVMH7.js.map +1 -0
- package/dist/chunk-6RASPU5N.js +31 -0
- package/dist/chunk-6RASPU5N.js.map +1 -0
- package/dist/chunk-7AJT2E2Y.js +624 -0
- package/dist/chunk-7AJT2E2Y.js.map +1 -0
- package/dist/chunk-7IOAIEIA.js +102 -0
- package/dist/chunk-7IOAIEIA.js.map +1 -0
- package/dist/chunk-7MITRFPE.js +192 -0
- package/dist/chunk-7MITRFPE.js.map +1 -0
- package/dist/chunk-BDK7CDEI.js +22 -0
- package/dist/chunk-BDK7CDEI.js.map +1 -0
- package/dist/chunk-BQP4UA44.js +18 -0
- package/dist/chunk-BQP4UA44.js.map +1 -0
- package/dist/chunk-BYG2ULS3.js +196 -0
- package/dist/chunk-BYG2ULS3.js.map +1 -0
- package/dist/chunk-C7WEQOUA.js +26 -0
- package/dist/chunk-C7WEQOUA.js.map +1 -0
- package/dist/chunk-CLEC2RMU.js +8 -0
- package/dist/chunk-CLEC2RMU.js.map +1 -0
- package/dist/chunk-CMBERB5B.js +9 -0
- package/dist/chunk-CMBERB5B.js.map +1 -0
- package/dist/chunk-COPT6I2D.js +122 -0
- package/dist/chunk-COPT6I2D.js.map +1 -0
- package/dist/chunk-CP55TVOV.js +271 -0
- package/dist/chunk-CP55TVOV.js.map +1 -0
- package/dist/chunk-D3DQ4ICC.js +25 -0
- package/dist/chunk-D3DQ4ICC.js.map +1 -0
- package/dist/chunk-ERBGZZ2U.js +26 -0
- package/dist/chunk-ERBGZZ2U.js.map +1 -0
- package/dist/chunk-FIOKWIJP.js +361 -0
- package/dist/chunk-FIOKWIJP.js.map +1 -0
- package/dist/chunk-G6TV6TF7.js +95 -0
- package/dist/chunk-G6TV6TF7.js.map +1 -0
- package/dist/chunk-GGTDJEE2.js +15 -0
- package/dist/chunk-GGTDJEE2.js.map +1 -0
- package/dist/chunk-GIU6BZTW.js +173 -0
- package/dist/chunk-GIU6BZTW.js.map +1 -0
- package/dist/chunk-HAAXVB3R.js +34 -0
- package/dist/chunk-HAAXVB3R.js.map +1 -0
- package/dist/chunk-HTSAUMF5.js +398 -0
- package/dist/chunk-HTSAUMF5.js.map +1 -0
- package/dist/chunk-IJ4ZRIR4.js +182 -0
- package/dist/chunk-IJ4ZRIR4.js.map +1 -0
- package/dist/chunk-J4DMQV64.js +340 -0
- package/dist/chunk-J4DMQV64.js.map +1 -0
- package/dist/chunk-JKXSX67K.js +95 -0
- package/dist/chunk-JKXSX67K.js.map +1 -0
- package/dist/chunk-JNF7FDJO.js +633 -0
- package/dist/chunk-JNF7FDJO.js.map +1 -0
- package/dist/chunk-JURNPBSW.js +70 -0
- package/dist/chunk-JURNPBSW.js.map +1 -0
- package/dist/chunk-LCMPFPBN.js +141 -0
- package/dist/chunk-LCMPFPBN.js.map +1 -0
- package/dist/chunk-LCWXIQKA.js +36 -0
- package/dist/chunk-LCWXIQKA.js.map +1 -0
- package/dist/chunk-LFJF3M6M.js +171 -0
- package/dist/chunk-LFJF3M6M.js.map +1 -0
- package/dist/chunk-MD6HHORY.js +524 -0
- package/dist/chunk-MD6HHORY.js.map +1 -0
- package/dist/chunk-MJG6UKD4.js +83 -0
- package/dist/chunk-MJG6UKD4.js.map +1 -0
- package/dist/chunk-MKG3UAP6.js +347 -0
- package/dist/chunk-MKG3UAP6.js.map +1 -0
- package/dist/chunk-MS2ZNYCJ.js +9 -0
- package/dist/chunk-MS2ZNYCJ.js.map +1 -0
- package/dist/chunk-NGKQBNZ5.js +29 -0
- package/dist/chunk-NGKQBNZ5.js.map +1 -0
- package/dist/chunk-NKKMM6CK.js +56 -0
- package/dist/chunk-NKKMM6CK.js.map +1 -0
- package/dist/chunk-OCLVMKVC.js +110 -0
- package/dist/chunk-OCLVMKVC.js.map +1 -0
- package/dist/chunk-PFV7YIEP.js +104 -0
- package/dist/chunk-PFV7YIEP.js.map +1 -0
- package/dist/chunk-PGOCR4LG.js +216 -0
- package/dist/chunk-PGOCR4LG.js.map +1 -0
- package/dist/chunk-PPYJQNE5.js +159 -0
- package/dist/chunk-PPYJQNE5.js.map +1 -0
- package/dist/chunk-PU5J5EPY.js +733 -0
- package/dist/chunk-PU5J5EPY.js.map +1 -0
- package/dist/chunk-PZS2D2QM.js +32 -0
- package/dist/chunk-PZS2D2QM.js.map +1 -0
- package/dist/chunk-Q5IUIA6B.js +9 -0
- package/dist/chunk-Q5IUIA6B.js.map +1 -0
- package/dist/chunk-QFDTG2ZJ.js +176 -0
- package/dist/chunk-QFDTG2ZJ.js.map +1 -0
- package/dist/chunk-QZX3RFIC.js +165 -0
- package/dist/chunk-QZX3RFIC.js.map +1 -0
- package/dist/chunk-R565SY7K.js +69 -0
- package/dist/chunk-R565SY7K.js.map +1 -0
- package/dist/chunk-RHNI5UQO.js +455 -0
- package/dist/chunk-RHNI5UQO.js.map +1 -0
- package/dist/chunk-ROKLAZHC.js +550 -0
- package/dist/chunk-ROKLAZHC.js.map +1 -0
- package/dist/chunk-RTIFG4XT.js +9 -0
- package/dist/chunk-RTIFG4XT.js.map +1 -0
- package/dist/chunk-TFLSEEM4.js +88 -0
- package/dist/chunk-TFLSEEM4.js.map +1 -0
- package/dist/chunk-U2UNWXBC.js +242 -0
- package/dist/chunk-U2UNWXBC.js.map +1 -0
- package/dist/chunk-UEGIKBX6.js +385 -0
- package/dist/chunk-UEGIKBX6.js.map +1 -0
- package/dist/chunk-UEXTD7ZB.js +108 -0
- package/dist/chunk-UEXTD7ZB.js.map +1 -0
- package/dist/chunk-UNWEH4Z6.js +83 -0
- package/dist/chunk-UNWEH4Z6.js.map +1 -0
- package/dist/chunk-UXWUFNXY.js +8 -0
- package/dist/chunk-UXWUFNXY.js.map +1 -0
- package/dist/chunk-V2MG5Y5F.js +77 -0
- package/dist/chunk-V2MG5Y5F.js.map +1 -0
- package/dist/chunk-V63YIVKJ.js +326 -0
- package/dist/chunk-V63YIVKJ.js.map +1 -0
- package/dist/chunk-WAPRVVDQ.js +9 -0
- package/dist/chunk-WAPRVVDQ.js.map +1 -0
- package/dist/chunk-X4HPHMYW.js +17 -0
- package/dist/chunk-X4HPHMYW.js.map +1 -0
- package/dist/chunk-XGFJJ2YB.js +36 -0
- package/dist/chunk-XGFJJ2YB.js.map +1 -0
- package/dist/chunk-YJGECAOZ.js +18 -0
- package/dist/chunk-YJGECAOZ.js.map +1 -0
- package/dist/chunk-YTHUHPE5.js +51 -0
- package/dist/chunk-YTHUHPE5.js.map +1 -0
- package/dist/chunk-YTJRKLUR.js +76 -0
- package/dist/chunk-YTJRKLUR.js.map +1 -0
- package/dist/chunk-YVALXJRN.js +49 -0
- package/dist/chunk-YVALXJRN.js.map +1 -0
- package/dist/chunk-YZLPO4B2.js +33 -0
- package/dist/chunk-YZLPO4B2.js.map +1 -0
- package/dist/chunk-ZHAGKFSO.js +16 -0
- package/dist/chunk-ZHAGKFSO.js.map +1 -0
- package/dist/chunk-ZM67EKZC.js +135 -0
- package/dist/chunk-ZM67EKZC.js.map +1 -0
- package/dist/chunk-ZVAW22GX.js +50 -0
- package/dist/chunk-ZVAW22GX.js.map +1 -0
- package/dist/components/accordion/index.d.ts +12 -0
- package/dist/components/accordion/index.js +4 -0
- package/dist/components/accordion/index.js.map +1 -0
- package/dist/components/alert/index.d.ts +64 -0
- package/dist/components/alert/index.js +4 -0
- package/dist/components/alert/index.js.map +1 -0
- package/dist/components/alert-dialog/index.d.ts +22 -0
- package/dist/components/alert-dialog/index.js +9 -0
- package/dist/components/alert-dialog/index.js.map +1 -0
- package/dist/components/aspect-ratio/index.d.ts +11 -0
- package/dist/components/aspect-ratio/index.js +4 -0
- package/dist/components/aspect-ratio/index.js.map +1 -0
- package/dist/components/avatar/index.d.ts +53 -0
- package/dist/components/avatar/index.js +4 -0
- package/dist/components/avatar/index.js.map +1 -0
- package/dist/components/badge/index.d.ts +175 -0
- package/dist/components/badge/index.js +4 -0
- package/dist/components/badge/index.js.map +1 -0
- package/dist/components/breadcrumb/index.d.ts +38 -0
- package/dist/components/breadcrumb/index.js +4 -0
- package/dist/components/breadcrumb/index.js.map +1 -0
- package/dist/components/button/index.d.ts +72 -0
- package/dist/components/button/index.js +5 -0
- package/dist/components/button/index.js.map +1 -0
- package/dist/components/button-group/index.d.ts +21 -0
- package/dist/components/button-group/index.js +4 -0
- package/dist/components/button-group/index.js.map +1 -0
- package/dist/components/calendar/index.d.ts +7 -0
- package/dist/components/calendar/index.js +12 -0
- package/dist/components/calendar/index.js.map +1 -0
- package/dist/components/card/index.d.ts +80 -0
- package/dist/components/card/index.js +3 -0
- package/dist/components/card/index.js.map +1 -0
- package/dist/components/carousel/index.d.ts +15 -0
- package/dist/components/carousel/index.js +5 -0
- package/dist/components/carousel/index.js.map +1 -0
- package/dist/components/chart/index.d.ts +6 -0
- package/dist/components/chart/index.js +4 -0
- package/dist/components/chart/index.js.map +1 -0
- package/dist/components/checkbox/index.d.ts +7 -0
- package/dist/components/checkbox/index.js +4 -0
- package/dist/components/checkbox/index.js.map +1 -0
- package/dist/components/collapsible/index.d.ts +11 -0
- package/dist/components/collapsible/index.js +4 -0
- package/dist/components/collapsible/index.js.map +1 -0
- package/dist/components/combobox/index.d.ts +13 -0
- package/dist/components/combobox/index.js +7 -0
- package/dist/components/combobox/index.js.map +1 -0
- package/dist/components/command/index.d.ts +21 -0
- package/dist/components/command/index.js +10 -0
- package/dist/components/command/index.js.map +1 -0
- package/dist/components/context-menu/index.d.ts +114 -0
- package/dist/components/context-menu/index.js +5 -0
- package/dist/components/context-menu/index.js.map +1 -0
- package/dist/components/data-table/index.d.ts +6 -0
- package/dist/components/data-table/index.js +5 -0
- package/dist/components/data-table/index.js.map +1 -0
- package/dist/components/date-picker/index.d.ts +7 -0
- package/dist/components/date-picker/index.js +8 -0
- package/dist/components/date-picker/index.js.map +1 -0
- package/dist/components/dialog/index.d.ts +22 -0
- package/dist/components/dialog/index.js +8 -0
- package/dist/components/dialog/index.js.map +1 -0
- package/dist/components/direction/index.d.ts +7 -0
- package/dist/components/direction/index.js +4 -0
- package/dist/components/direction/index.js.map +1 -0
- package/dist/components/drawer/index.d.ts +19 -0
- package/dist/components/drawer/index.js +8 -0
- package/dist/components/drawer/index.js.map +1 -0
- package/dist/components/dropdown/index.d.ts +24 -0
- package/dist/components/dropdown/index.js +5 -0
- package/dist/components/dropdown/index.js.map +1 -0
- package/dist/components/dropzone/index.d.ts +26 -0
- package/dist/components/dropzone/index.js +5 -0
- package/dist/components/dropzone/index.js.map +1 -0
- package/dist/components/empty/index.d.ts +59 -0
- package/dist/components/empty/index.js +4 -0
- package/dist/components/empty/index.js.map +1 -0
- package/dist/components/field/index.d.ts +8 -0
- package/dist/components/field/index.js +6 -0
- package/dist/components/field/index.js.map +1 -0
- package/dist/components/hover-card/index.d.ts +12 -0
- package/dist/components/hover-card/index.js +3 -0
- package/dist/components/hover-card/index.js.map +1 -0
- package/dist/components/image/index.d.ts +6 -0
- package/dist/components/image/index.js +4 -0
- package/dist/components/image/index.js.map +1 -0
- package/dist/components/input/index.d.ts +27 -0
- package/dist/components/input/index.js +4 -0
- package/dist/components/input/index.js.map +1 -0
- package/dist/components/input-group/index.d.ts +132 -0
- package/dist/components/input-group/index.js +7 -0
- package/dist/components/input-group/index.js.map +1 -0
- package/dist/components/input-otp/index.d.ts +39 -0
- package/dist/components/input-otp/index.js +4 -0
- package/dist/components/input-otp/index.js.map +1 -0
- package/dist/components/item/index.d.ts +108 -0
- package/dist/components/item/index.js +5 -0
- package/dist/components/item/index.js.map +1 -0
- package/dist/components/kbd/index.d.ts +31 -0
- package/dist/components/kbd/index.js +4 -0
- package/dist/components/kbd/index.js.map +1 -0
- package/dist/components/label/index.d.ts +49 -0
- package/dist/components/label/index.js +4 -0
- package/dist/components/label/index.js.map +1 -0
- package/dist/components/locale-segment-group/index.d.ts +15 -0
- package/dist/components/locale-segment-group/index.js +4 -0
- package/dist/components/locale-segment-group/index.js.map +1 -0
- package/dist/components/menubar/index.d.ts +23 -0
- package/dist/components/menubar/index.js +5 -0
- package/dist/components/menubar/index.js.map +1 -0
- package/dist/components/native-select/index.d.ts +89 -0
- package/dist/components/native-select/index.js +3 -0
- package/dist/components/native-select/index.js.map +1 -0
- package/dist/components/navigation-menu/index.d.ts +15 -0
- package/dist/components/navigation-menu/index.js +5 -0
- package/dist/components/navigation-menu/index.js.map +1 -0
- package/dist/components/pagination/index.d.ts +44 -0
- package/dist/components/pagination/index.js +5 -0
- package/dist/components/pagination/index.js.map +1 -0
- package/dist/components/popover/index.d.ts +76 -0
- package/dist/components/popover/index.js +5 -0
- package/dist/components/popover/index.js.map +1 -0
- package/dist/components/progress/index.d.ts +6 -0
- package/dist/components/progress/index.js +4 -0
- package/dist/components/progress/index.js.map +1 -0
- package/dist/components/prose/index.d.ts +8 -0
- package/dist/components/prose/index.js +4 -0
- package/dist/components/prose/index.js.map +1 -0
- package/dist/components/radio-group/index.d.ts +11 -0
- package/dist/components/radio-group/index.js +5 -0
- package/dist/components/radio-group/index.js.map +1 -0
- package/dist/components/scroll-area/index.d.ts +11 -0
- package/dist/components/scroll-area/index.js +4 -0
- package/dist/components/scroll-area/index.js.map +1 -0
- package/dist/components/select/index.d.ts +17 -0
- package/dist/components/select/index.js +5 -0
- package/dist/components/select/index.js.map +1 -0
- package/dist/components/selectable-card/index.d.ts +11 -0
- package/dist/components/selectable-card/index.js +5 -0
- package/dist/components/selectable-card/index.js.map +1 -0
- package/dist/components/separator/index.d.ts +24 -0
- package/dist/components/separator/index.js +4 -0
- package/dist/components/separator/index.js.map +1 -0
- package/dist/components/sheet/index.d.ts +20 -0
- package/dist/components/sheet/index.js +8 -0
- package/dist/components/sheet/index.js.map +1 -0
- package/dist/components/sidebar/index.d.ts +16 -0
- package/dist/components/sidebar/index.js +3 -0
- package/dist/components/sidebar/index.js.map +1 -0
- package/dist/components/skeleton/index.d.ts +52 -0
- package/dist/components/skeleton/index.js +3 -0
- package/dist/components/skeleton/index.js.map +1 -0
- package/dist/components/slider/index.d.ts +7 -0
- package/dist/components/slider/index.js +4 -0
- package/dist/components/slider/index.js.map +1 -0
- package/dist/components/sonner/index.d.ts +7 -0
- package/dist/components/sonner/index.js +3 -0
- package/dist/components/sonner/index.js.map +1 -0
- package/dist/components/spinner/index.d.ts +10 -0
- package/dist/components/spinner/index.js +4 -0
- package/dist/components/spinner/index.js.map +1 -0
- package/dist/components/switch/index.d.ts +7 -0
- package/dist/components/switch/index.js +4 -0
- package/dist/components/switch/index.js.map +1 -0
- package/dist/components/table/index.d.ts +45 -0
- package/dist/components/table/index.js +5 -0
- package/dist/components/table/index.js.map +1 -0
- package/dist/components/tabs/index.d.ts +13 -0
- package/dist/components/tabs/index.js +5 -0
- package/dist/components/tabs/index.js.map +1 -0
- package/dist/components/textarea/index.d.ts +27 -0
- package/dist/components/textarea/index.js +4 -0
- package/dist/components/textarea/index.js.map +1 -0
- package/dist/components/theme-toggle/index.d.ts +6 -0
- package/dist/components/theme-toggle/index.js +6 -0
- package/dist/components/theme-toggle/index.js.map +1 -0
- package/dist/components/toast/index.d.ts +27 -0
- package/dist/components/toast/index.js +3 -0
- package/dist/components/toast/index.js.map +1 -0
- package/dist/components/toggle/index.d.ts +7 -0
- package/dist/components/toggle/index.js +4 -0
- package/dist/components/toggle/index.js.map +1 -0
- package/dist/components/toggle-group/index.d.ts +11 -0
- package/dist/components/toggle-group/index.js +4 -0
- package/dist/components/toggle-group/index.js.map +1 -0
- package/dist/components/tooltip/index.d.ts +12 -0
- package/dist/components/tooltip/index.js +3 -0
- package/dist/components/tooltip/index.js.map +1 -0
- package/dist/components/typography/index.d.ts +8 -0
- package/dist/components/typography/index.js +4 -0
- package/dist/components/typography/index.js.map +1 -0
- package/dist/components/video/index.d.ts +8 -0
- package/dist/components/video/index.js +4 -0
- package/dist/components/video/index.js.map +1 -0
- package/dist/index.d.ts +82 -0
- package/dist/index.js +83 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/interactive/index.d.ts +44 -0
- package/dist/lib/interactive/index.js +3 -0
- package/dist/lib/interactive/index.js.map +1 -0
- package/dist/lib/signals/index.d.ts +15 -0
- package/dist/lib/signals/index.js +3 -0
- package/dist/lib/signals/index.js.map +1 -0
- package/dist/lib/utils.d.ts +5 -0
- package/dist/lib/utils.js +3 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/navigationMenuTriggerStyle-BWnESpon.d.ts +48 -0
- package/dist/sonner-store-Dfdxy8ba.d.ts +11 -0
- package/dist/theme.css +81 -0
- package/package.json +360 -0
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { cn } from './chunk-MS2ZNYCJ.js';
|
|
2
|
+
import { isValidElement, cloneElement } from 'preact';
|
|
3
|
+
import { tv } from 'tailwind-variants';
|
|
4
|
+
import { jsx } from 'preact/jsx-runtime';
|
|
5
|
+
|
|
6
|
+
var button = tv({
|
|
7
|
+
base: [
|
|
8
|
+
"group/button inline-flex shrink-0 cursor-pointer items-center justify-center rounded-lg bg-clip-padding text-sm font-medium whitespace-nowrap",
|
|
9
|
+
"select-none transition-all outline-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50",
|
|
10
|
+
"active:translate-y-px disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",
|
|
11
|
+
"aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20",
|
|
12
|
+
"dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",
|
|
13
|
+
"[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
14
|
+
"has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2"
|
|
15
|
+
],
|
|
16
|
+
variants: {
|
|
17
|
+
variant: {
|
|
18
|
+
default: "bg-primary text-background hover:bg-foreground/90 focus-visible:ring-outline/50",
|
|
19
|
+
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/90 focus-visible:ring-secondary/50",
|
|
20
|
+
inverse: "bg-foreground text-background hover:opacity-[0.85] focus-visible:ring-outline/50",
|
|
21
|
+
outline: "border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50 border",
|
|
22
|
+
ghost: "hover:bg-muted hover:text-foreground focus-visible:ring-outline/50",
|
|
23
|
+
destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90 focus-visible:ring-outline/50",
|
|
24
|
+
link: "h-auto p-0 text-primary underline-offset-4 hover:underline active:translate-y-0 focus-visible:ring-0"
|
|
25
|
+
},
|
|
26
|
+
size: {
|
|
27
|
+
xxs: "h-5 gap-1 px-1.5 text-[10px]",
|
|
28
|
+
xs: "h-6 gap-1 px-2 text-xs",
|
|
29
|
+
sm: "h-7 gap-1.5 px-3",
|
|
30
|
+
default: "h-8 gap-1.5 px-2.5",
|
|
31
|
+
lg: "h-9 gap-2 px-5 text-base has-[>svg]:px-4 [&_svg:not([class*='size-'])]:size-4.5",
|
|
32
|
+
icon: "size-8",
|
|
33
|
+
"icon-xs": "size-6 [&_svg:not([class*='size-'])]:size-3.5",
|
|
34
|
+
"icon-sm": "size-7 [&_svg:not([class*='size-'])]:size-4",
|
|
35
|
+
"icon-lg": "size-9 [&_svg:not([class*='size-'])]:size-5"
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
defaultVariants: { variant: "default", size: "default" }
|
|
39
|
+
});
|
|
40
|
+
var Button = ({
|
|
41
|
+
variant,
|
|
42
|
+
size,
|
|
43
|
+
asChild = false,
|
|
44
|
+
class: className,
|
|
45
|
+
children,
|
|
46
|
+
...rest
|
|
47
|
+
}) => {
|
|
48
|
+
const resolvedVariant = variant ?? "default";
|
|
49
|
+
const resolvedSize = size ?? "default";
|
|
50
|
+
const resolvedClassName = button({
|
|
51
|
+
variant: resolvedVariant,
|
|
52
|
+
size: resolvedSize,
|
|
53
|
+
class: className
|
|
54
|
+
});
|
|
55
|
+
if (asChild) {
|
|
56
|
+
if (!isValidElement(children)) {
|
|
57
|
+
const env = globalThis.process?.env?.NODE_ENV;
|
|
58
|
+
if (env !== "production") {
|
|
59
|
+
console.warn(
|
|
60
|
+
"[kamod-ui] <Button asChild> expects a single valid element child. Received: " + typeof children + ". Falling back to rendering nothing."
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
const childProps = children.props ?? {};
|
|
66
|
+
return cloneElement(children, {
|
|
67
|
+
...childProps,
|
|
68
|
+
...rest,
|
|
69
|
+
class: cn(childProps.class, childProps.className, resolvedClassName),
|
|
70
|
+
"data-slot": "button",
|
|
71
|
+
"data-variant": resolvedVariant,
|
|
72
|
+
"data-size": resolvedSize
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
if ("href" in rest && typeof rest.href === "string") {
|
|
76
|
+
return /* @__PURE__ */ jsx(
|
|
77
|
+
"a",
|
|
78
|
+
{
|
|
79
|
+
class: resolvedClassName,
|
|
80
|
+
"data-slot": "button",
|
|
81
|
+
"data-variant": resolvedVariant,
|
|
82
|
+
"data-size": resolvedSize,
|
|
83
|
+
...rest,
|
|
84
|
+
children
|
|
85
|
+
}
|
|
86
|
+
);
|
|
87
|
+
}
|
|
88
|
+
return /* @__PURE__ */ jsx(
|
|
89
|
+
"button",
|
|
90
|
+
{
|
|
91
|
+
class: resolvedClassName,
|
|
92
|
+
"data-slot": "button",
|
|
93
|
+
"data-variant": resolvedVariant,
|
|
94
|
+
"data-size": resolvedSize,
|
|
95
|
+
...rest,
|
|
96
|
+
children
|
|
97
|
+
}
|
|
98
|
+
);
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
export { Button, button };
|
|
102
|
+
//# sourceMappingURL=chunk-5FBD2NTR.js.map
|
|
103
|
+
//# sourceMappingURL=chunk-5FBD2NTR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/button/Button.tsx"],"names":[],"mappings":"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","file":"chunk-5FBD2NTR.js","sourcesContent":["import { type ComponentChildren, cloneElement, isValidElement, type JSX } from \"preact\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\nimport { cn } from \"../../lib/utils\";\n\nexport const button = tv({\n base: [\n \"group/button inline-flex shrink-0 cursor-pointer items-center justify-center rounded-lg bg-clip-padding text-sm font-medium whitespace-nowrap\",\n \"select-none transition-all outline-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50\",\n \"active:translate-y-px disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50\",\n \"aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20\",\n \"dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40\",\n \"[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n \"has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\",\n ],\n variants: {\n variant: {\n default: \"bg-primary text-background hover:bg-foreground/90 focus-visible:ring-outline/50\",\n secondary:\n \"bg-secondary text-secondary-foreground hover:bg-secondary/90 focus-visible:ring-secondary/50\",\n inverse: \"bg-foreground text-background hover:opacity-[0.85] focus-visible:ring-outline/50\",\n outline:\n \"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50 border\",\n ghost: \"hover:bg-muted hover:text-foreground focus-visible:ring-outline/50\",\n destructive:\n \"bg-destructive text-destructive-foreground hover:bg-destructive/90 focus-visible:ring-outline/50\",\n link: \"h-auto p-0 text-primary underline-offset-4 hover:underline active:translate-y-0 focus-visible:ring-0\",\n },\n size: {\n xxs: \"h-5 gap-1 px-1.5 text-[10px]\",\n xs: \"h-6 gap-1 px-2 text-xs\",\n sm: \"h-7 gap-1.5 px-3\",\n default: \"h-8 gap-1.5 px-2.5\",\n lg: \"h-9 gap-2 px-5 text-base has-[>svg]:px-4 [&_svg:not([class*='size-'])]:size-4.5\",\n icon: \"size-8\",\n \"icon-xs\": \"size-6 [&_svg:not([class*='size-'])]:size-3.5\",\n \"icon-sm\": \"size-7 [&_svg:not([class*='size-'])]:size-4\",\n \"icon-lg\": \"size-9 [&_svg:not([class*='size-'])]:size-5\",\n },\n },\n defaultVariants: { variant: \"default\", size: \"default\" },\n});\n\ntype CommonProps = VariantProps<typeof button> & {\n class?: string;\n asChild?: boolean;\n children?: ComponentChildren;\n};\n\ntype ButtonAsButton = CommonProps &\n JSX.ButtonHTMLAttributes<HTMLButtonElement> & {\n href?: undefined;\n };\n\ntype ButtonAsAnchor = CommonProps &\n JSX.AnchorHTMLAttributes<HTMLAnchorElement> & {\n href: string;\n };\n\nexport type ButtonProps = ButtonAsButton | ButtonAsAnchor;\n\nexport const Button = ({\n variant,\n size,\n asChild = false,\n class: className,\n children,\n ...rest\n}: ButtonProps) => {\n const resolvedVariant = variant ?? \"default\";\n const resolvedSize = size ?? \"default\";\n const resolvedClassName = button({\n variant: resolvedVariant,\n size: resolvedSize,\n class: className,\n });\n\n if (asChild) {\n if (!isValidElement(children)) {\n const env = (globalThis as { process?: { env?: { NODE_ENV?: string } } }).process?.env\n ?.NODE_ENV;\n if (env !== \"production\") {\n console.warn(\n \"[kamod-ui] <Button asChild> expects a single valid element child. \" +\n \"Received: \" +\n typeof children +\n \". Falling back to rendering nothing.\",\n );\n }\n return null;\n }\n\n const childProps = (children.props ?? {}) as JSX.HTMLAttributes<HTMLElement> & {\n class?: string;\n className?: string;\n };\n\n return cloneElement(children, {\n ...childProps,\n ...(rest as JSX.HTMLAttributes<HTMLElement>),\n class: cn(childProps.class, childProps.className, resolvedClassName),\n \"data-slot\": \"button\",\n \"data-variant\": resolvedVariant,\n \"data-size\": resolvedSize,\n });\n }\n\n if (\"href\" in rest && typeof rest.href === \"string\") {\n return (\n <a\n class={resolvedClassName}\n data-slot=\"button\"\n data-variant={resolvedVariant}\n data-size={resolvedSize}\n {...rest}\n >\n {children}\n </a>\n );\n }\n\n return (\n <button\n class={resolvedClassName}\n data-slot=\"button\"\n data-variant={resolvedVariant}\n data-size={resolvedSize}\n {...rest}\n >\n {children}\n </button>\n );\n};\n"]}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { cn } from './chunk-MS2ZNYCJ.js';
|
|
2
|
+
import { useState } from 'preact/hooks';
|
|
3
|
+
import { tv } from 'tailwind-variants';
|
|
4
|
+
import { jsxs, jsx } from 'preact/jsx-runtime';
|
|
5
|
+
|
|
6
|
+
var switchRoot = tv({
|
|
7
|
+
base: [
|
|
8
|
+
"peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-xs",
|
|
9
|
+
"outline-none transition-all",
|
|
10
|
+
"focus-visible:ring-3 focus-visible:ring-ring/50",
|
|
11
|
+
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
12
|
+
"data-[state=checked]:bg-primary data-[state=checked]:saturate-125 data-[state=unchecked]:bg-input dark:data-[state=unchecked]:bg-input/80",
|
|
13
|
+
"aria-invalid:ring-destructive/20 aria-invalid:border-destructive"
|
|
14
|
+
],
|
|
15
|
+
variants: {
|
|
16
|
+
size: {
|
|
17
|
+
default: "h-6 w-11",
|
|
18
|
+
sm: "h-5 w-9"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
defaultVariants: {
|
|
22
|
+
size: "default"
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
var switchThumb = tv({
|
|
26
|
+
base: [
|
|
27
|
+
"pointer-events-none block rounded-full bg-background",
|
|
28
|
+
"shadow-sm ring-0 transition-transform",
|
|
29
|
+
"data-[state=unchecked]:translate-x-0"
|
|
30
|
+
],
|
|
31
|
+
variants: {
|
|
32
|
+
size: {
|
|
33
|
+
default: "size-5 data-[state=checked]:translate-x-5",
|
|
34
|
+
sm: "size-4 data-[state=checked]:translate-x-4"
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
defaultVariants: {
|
|
38
|
+
size: "default"
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
var Switch = ({
|
|
42
|
+
defaultChecked = false,
|
|
43
|
+
checked,
|
|
44
|
+
onCheckedChange,
|
|
45
|
+
size,
|
|
46
|
+
class: className,
|
|
47
|
+
children,
|
|
48
|
+
onClick,
|
|
49
|
+
...rest
|
|
50
|
+
}) => {
|
|
51
|
+
const [localChecked, setLocalChecked] = useState(defaultChecked);
|
|
52
|
+
const isControlled = typeof checked === "boolean";
|
|
53
|
+
const nextChecked = isControlled ? checked : localChecked;
|
|
54
|
+
return /* @__PURE__ */ jsxs("span", { "data-slot": "switch-root", class: "inline-flex items-center gap-2", children: [
|
|
55
|
+
/* @__PURE__ */ jsx(
|
|
56
|
+
"button",
|
|
57
|
+
{
|
|
58
|
+
type: "button",
|
|
59
|
+
role: "switch",
|
|
60
|
+
"aria-checked": nextChecked,
|
|
61
|
+
"data-slot": "switch",
|
|
62
|
+
"data-state": nextChecked ? "checked" : "unchecked",
|
|
63
|
+
"data-size": size ?? "default",
|
|
64
|
+
class: cn(switchRoot({ size, class: className })),
|
|
65
|
+
onClick: (event) => {
|
|
66
|
+
const updated = !nextChecked;
|
|
67
|
+
if (!isControlled) {
|
|
68
|
+
setLocalChecked(updated);
|
|
69
|
+
}
|
|
70
|
+
onCheckedChange?.(updated);
|
|
71
|
+
onClick?.(event);
|
|
72
|
+
},
|
|
73
|
+
...rest,
|
|
74
|
+
children: /* @__PURE__ */ jsx(
|
|
75
|
+
"span",
|
|
76
|
+
{
|
|
77
|
+
"data-slot": "switch-thumb",
|
|
78
|
+
"data-size": size ?? "default",
|
|
79
|
+
"data-state": nextChecked ? "checked" : "unchecked",
|
|
80
|
+
class: cn(switchThumb({ size }))
|
|
81
|
+
}
|
|
82
|
+
)
|
|
83
|
+
}
|
|
84
|
+
),
|
|
85
|
+
children ? /* @__PURE__ */ jsx("span", { "data-slot": "switch-label", children }) : null
|
|
86
|
+
] });
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
// src/components/switch/index.ts
|
|
90
|
+
var switch_default = Switch;
|
|
91
|
+
|
|
92
|
+
export { Switch, switch_default };
|
|
93
|
+
//# sourceMappingURL=chunk-5KS2VSX2.js.map
|
|
94
|
+
//# sourceMappingURL=chunk-5KS2VSX2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/switch/Switch.tsx","../src/components/switch/index.ts"],"names":[],"mappings":";;;;;AAKA,IAAM,aAAa,EAAA,CAAG;AAAA,EACpB,IAAA,EAAM;AAAA,IACJ,0GAAA;AAAA,IACA,6BAAA;AAAA,IACA,iDAAA;AAAA,IACA,iDAAA;AAAA,IACA,2IAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,OAAA,EAAS,UAAA;AAAA,MACT,EAAA,EAAI;AAAA;AACN,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM;AAAA;AAEV,CAAC,CAAA;AAED,IAAM,cAAc,EAAA,CAAG;AAAA,EACrB,IAAA,EAAM;AAAA,IACJ,sDAAA;AAAA,IACA,uCAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,OAAA,EAAS,2CAAA;AAAA,MACT,EAAA,EAAI;AAAA;AACN,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM;AAAA;AAEV,CAAC,CAAA;AAaM,IAAM,SAAS,CAAC;AAAA,EACrB,cAAA,GAAiB,KAAA;AAAA,EACjB,OAAA;AAAA,EACA,eAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA,EAAO,SAAA;AAAA,EACP,QAAA;AAAA,EACA,OAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAmB;AACjB,EAAA,MAAM,CAAC,YAAA,EAAc,eAAe,CAAA,GAAI,SAAS,cAAc,CAAA;AAC/D,EAAA,MAAM,YAAA,GAAe,OAAO,OAAA,KAAY,SAAA;AACxC,EAAA,MAAM,WAAA,GAAc,eAAe,OAAA,GAAU,YAAA;AAE7C,EAAA,uBACE,IAAA,CAAC,MAAA,EAAA,EAAK,WAAA,EAAU,aAAA,EAAc,OAAM,gCAAA,EAClC,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,QAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAK,QAAA;AAAA,QACL,IAAA,EAAK,QAAA;AAAA,QACL,cAAA,EAAc,WAAA;AAAA,QACd,WAAA,EAAU,QAAA;AAAA,QACV,YAAA,EAAY,cAAc,SAAA,GAAY,WAAA;AAAA,QACtC,aAAW,IAAA,IAAQ,SAAA;AAAA,QACnB,KAAA,EAAO,GAAG,UAAA,CAAW,EAAE,MAAM,KAAA,EAAO,SAAA,EAAW,CAAC,CAAA;AAAA,QAChD,OAAA,EAAS,CAAC,KAAA,KAAU;AAClB,UAAA,MAAM,UAAU,CAAC,WAAA;AACjB,UAAA,IAAI,CAAC,YAAA,EAAc;AACjB,YAAA,eAAA,CAAgB,OAAO,CAAA;AAAA,UACzB;AACA,UAAA,eAAA,GAAkB,OAAO,CAAA;AACzB,UAAA,OAAA,GAAU,KAAK,CAAA;AAAA,QACjB,CAAA;AAAA,QACC,GAAG,IAAA;AAAA,QAEJ,QAAA,kBAAA,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,WAAA,EAAU,cAAA;AAAA,YACV,aAAW,IAAA,IAAQ,SAAA;AAAA,YACnB,YAAA,EAAY,cAAc,SAAA,GAAY,WAAA;AAAA,YACtC,OAAO,EAAA,CAAG,WAAA,CAAY,EAAE,IAAA,EAAM,CAAC;AAAA;AAAA;AACjC;AAAA,KACF;AAAA,IACC,2BAAW,GAAA,CAAC,MAAA,EAAA,EAAK,WAAA,EAAU,cAAA,EAAgB,UAAS,CAAA,GAAU;AAAA,GAAA,EACjE,CAAA;AAEJ;;;AC7FA,IAAO,cAAA,GAAQ","file":"chunk-5KS2VSX2.js","sourcesContent":["import type { ComponentChildren, JSX } from \"preact\";\nimport { useState } from \"preact/hooks\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\nimport { cn } from \"../../lib/utils\";\n\nconst switchRoot = tv({\n base: [\n \"peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-xs\",\n \"outline-none transition-all\",\n \"focus-visible:ring-3 focus-visible:ring-ring/50\",\n \"disabled:cursor-not-allowed disabled:opacity-50\",\n \"data-[state=checked]:bg-primary data-[state=checked]:saturate-125 data-[state=unchecked]:bg-input dark:data-[state=unchecked]:bg-input/80\",\n \"aria-invalid:ring-destructive/20 aria-invalid:border-destructive\",\n ],\n variants: {\n size: {\n default: \"h-6 w-11\",\n sm: \"h-5 w-9\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n});\n\nconst switchThumb = tv({\n base: [\n \"pointer-events-none block rounded-full bg-background\",\n \"shadow-sm ring-0 transition-transform\",\n \"data-[state=unchecked]:translate-x-0\",\n ],\n variants: {\n size: {\n default: \"size-5 data-[state=checked]:translate-x-5\",\n sm: \"size-4 data-[state=checked]:translate-x-4\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n});\n\ntype SwitchVariants = VariantProps<typeof switchRoot>;\n\nexport type SwitchProps = Omit<JSX.ButtonHTMLAttributes<HTMLButtonElement>, \"class\"> &\n SwitchVariants & {\n class?: string;\n defaultChecked?: boolean;\n checked?: boolean;\n onCheckedChange?: (next: boolean) => void;\n children?: ComponentChildren;\n };\n\nexport const Switch = ({\n defaultChecked = false,\n checked,\n onCheckedChange,\n size,\n class: className,\n children,\n onClick,\n ...rest\n}: SwitchProps) => {\n const [localChecked, setLocalChecked] = useState(defaultChecked);\n const isControlled = typeof checked === \"boolean\";\n const nextChecked = isControlled ? checked : localChecked;\n\n return (\n <span data-slot=\"switch-root\" class=\"inline-flex items-center gap-2\">\n <button\n type=\"button\"\n role=\"switch\"\n aria-checked={nextChecked}\n data-slot=\"switch\"\n data-state={nextChecked ? \"checked\" : \"unchecked\"}\n data-size={size ?? \"default\"}\n class={cn(switchRoot({ size, class: className }))}\n onClick={(event) => {\n const updated = !nextChecked;\n if (!isControlled) {\n setLocalChecked(updated);\n }\n onCheckedChange?.(updated);\n onClick?.(event);\n }}\n {...rest}\n >\n <span\n data-slot=\"switch-thumb\"\n data-size={size ?? \"default\"}\n data-state={nextChecked ? \"checked\" : \"unchecked\"}\n class={cn(switchThumb({ size }))}\n />\n </button>\n {children ? <span data-slot=\"switch-label\">{children}</span> : null}\n </span>\n );\n};\n","import { Switch } from \"./Switch\";\n\nexport { Switch };\n\nexport default Switch;\n"]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { cn } from './chunk-MS2ZNYCJ.js';
|
|
2
|
+
import { jsx } from 'preact/jsx-runtime';
|
|
3
|
+
|
|
4
|
+
var DialogFooter = ({ class: className, children, ...rest }) => /* @__PURE__ */ jsx(
|
|
5
|
+
"div",
|
|
6
|
+
{
|
|
7
|
+
"data-slot": "dialog-footer",
|
|
8
|
+
class: cn("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", className),
|
|
9
|
+
...rest,
|
|
10
|
+
children
|
|
11
|
+
}
|
|
12
|
+
);
|
|
13
|
+
var DialogHeader = ({ class: className, children, ...rest }) => /* @__PURE__ */ jsx(
|
|
14
|
+
"div",
|
|
15
|
+
{
|
|
16
|
+
"data-slot": "dialog-header",
|
|
17
|
+
class: cn("flex flex-col gap-2 text-center sm:text-start", className),
|
|
18
|
+
...rest,
|
|
19
|
+
children
|
|
20
|
+
}
|
|
21
|
+
);
|
|
22
|
+
|
|
23
|
+
export { DialogFooter, DialogHeader };
|
|
24
|
+
//# sourceMappingURL=chunk-5Q4RBIMZ.js.map
|
|
25
|
+
//# sourceMappingURL=chunk-5Q4RBIMZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/dialog/DialogFooter.tsx","../src/components/dialog/DialogHeader.tsx"],"names":["jsx"],"mappings":";;;AAOO,IAAM,YAAA,GAAe,CAAC,EAAE,KAAA,EAAO,WAAW,QAAA,EAAU,GAAG,MAAK,qBACjE,GAAA;AAAA,EAAC,KAAA;AAAA,EAAA;AAAA,IACC,WAAA,EAAU,eAAA;AAAA,IACV,KAAA,EAAO,EAAA,CAAG,wDAAA,EAA0D,SAAS,CAAA;AAAA,IAC5E,GAAG,IAAA;AAAA,IAEH;AAAA;AACH;ACPK,IAAM,YAAA,GAAe,CAAC,EAAE,KAAA,EAAO,WAAW,QAAA,EAAU,GAAG,IAAA,EAAK,qBACjEA,GAAAA;AAAA,EAAC,KAAA;AAAA,EAAA;AAAA,IACC,WAAA,EAAU,eAAA;AAAA,IACV,KAAA,EAAO,EAAA,CAAG,+CAAA,EAAiD,SAAS,CAAA;AAAA,IACnE,GAAG,IAAA;AAAA,IAEH;AAAA;AACH","file":"chunk-5Q4RBIMZ.js","sourcesContent":["import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type DialogFooterProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const DialogFooter = ({ class: className, children, ...rest }: DialogFooterProps) => (\n <div\n data-slot=\"dialog-footer\"\n class={cn(\"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\", className)}\n {...rest}\n >\n {children}\n </div>\n);\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type DialogHeaderProps = JSX.HTMLAttributes<HTMLDivElement> & {\n children?: ComponentChildren;\n};\n\nexport const DialogHeader = ({ class: className, children, ...rest }: DialogHeaderProps) => (\n <div\n data-slot=\"dialog-header\"\n class={cn(\"flex flex-col gap-2 text-center sm:text-start\", className)}\n {...rest}\n >\n {children}\n </div>\n);\n"]}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { tv } from 'tailwind-variants';
|
|
2
|
+
import { jsx } from 'preact/jsx-runtime';
|
|
3
|
+
|
|
4
|
+
// src/components/card/Card.tsx
|
|
5
|
+
var card = tv({
|
|
6
|
+
base: [
|
|
7
|
+
"bg-card text-card-foreground group/card ring-border flex min-w-0 flex-col rounded-xl ring-1",
|
|
8
|
+
"has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0",
|
|
9
|
+
"*:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl"
|
|
10
|
+
],
|
|
11
|
+
variants: {
|
|
12
|
+
size: {
|
|
13
|
+
default: "gap-6 py-6",
|
|
14
|
+
sm: "gap-4 py-4 text-sm"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
defaultVariants: {
|
|
18
|
+
size: "default"
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
var Card = ({ class: className, size, children, ...rest }) => /* @__PURE__ */ jsx(
|
|
22
|
+
"div",
|
|
23
|
+
{
|
|
24
|
+
class: card({ size, class: className }),
|
|
25
|
+
"data-slot": "card",
|
|
26
|
+
"data-size": size ?? "default",
|
|
27
|
+
...rest,
|
|
28
|
+
children
|
|
29
|
+
}
|
|
30
|
+
);
|
|
31
|
+
var cardAction = tv({
|
|
32
|
+
base: "col-start-2 row-span-2 row-start-1 shrink-0 self-start justify-self-end"
|
|
33
|
+
});
|
|
34
|
+
var CardAction = ({ class: className, ...rest }) => /* @__PURE__ */ jsx(
|
|
35
|
+
"div",
|
|
36
|
+
{
|
|
37
|
+
class: cardAction({ class: className }),
|
|
38
|
+
"data-slot": "card-action",
|
|
39
|
+
...rest
|
|
40
|
+
}
|
|
41
|
+
);
|
|
42
|
+
var cardContent = tv({
|
|
43
|
+
base: "px-6 group-data-[size=sm]/card:px-4"
|
|
44
|
+
});
|
|
45
|
+
var CardContent = ({ class: className, ...rest }) => /* @__PURE__ */ jsx(
|
|
46
|
+
"div",
|
|
47
|
+
{
|
|
48
|
+
class: cardContent({ class: className }),
|
|
49
|
+
"data-slot": "card-content",
|
|
50
|
+
...rest
|
|
51
|
+
}
|
|
52
|
+
);
|
|
53
|
+
var cardDescription = tv({
|
|
54
|
+
base: "min-w-0 break-words text-muted-foreground text-sm group-data-[size=sm]/card:text-xs"
|
|
55
|
+
});
|
|
56
|
+
var CardDescription = ({ class: className, ...rest }) => /* @__PURE__ */ jsx(
|
|
57
|
+
"div",
|
|
58
|
+
{
|
|
59
|
+
class: cardDescription({ class: className }),
|
|
60
|
+
"data-slot": "card-description",
|
|
61
|
+
...rest
|
|
62
|
+
}
|
|
63
|
+
);
|
|
64
|
+
var cardFooter = tv({
|
|
65
|
+
base: "bg-muted/50 flex items-center rounded-b-xl border-t p-6 group-data-[size=sm]/card:p-4"
|
|
66
|
+
});
|
|
67
|
+
var CardFooter = ({ class: className, ...rest }) => /* @__PURE__ */ jsx(
|
|
68
|
+
"div",
|
|
69
|
+
{
|
|
70
|
+
class: cardFooter({ class: className }),
|
|
71
|
+
"data-slot": "card-footer",
|
|
72
|
+
...rest
|
|
73
|
+
}
|
|
74
|
+
);
|
|
75
|
+
var cardHeader = tv({
|
|
76
|
+
base: [
|
|
77
|
+
"@container/card-header grid w-full min-w-0 auto-rows-min items-start gap-1.5 px-6 group-data-[size=sm]/card:px-4",
|
|
78
|
+
// minmax(0,1fr) + min-w-0 on title/description keeps CardAction in the second column inside the card (flex preview children)
|
|
79
|
+
"has-data-[slot=card-action]:grid-cols-[minmax(0,1fr)_auto] has-data-[slot=card-description]:grid-rows-[auto_auto]"
|
|
80
|
+
]
|
|
81
|
+
});
|
|
82
|
+
var CardHeader = ({ class: className, ...rest }) => /* @__PURE__ */ jsx(
|
|
83
|
+
"div",
|
|
84
|
+
{
|
|
85
|
+
class: cardHeader({ class: className }),
|
|
86
|
+
"data-slot": "card-header",
|
|
87
|
+
...rest
|
|
88
|
+
}
|
|
89
|
+
);
|
|
90
|
+
var cardTitle = tv({
|
|
91
|
+
base: "font-heading min-w-0 break-words text-xl leading-snug font-semibold group-data-[size=sm]/card:text-base"
|
|
92
|
+
});
|
|
93
|
+
var CardTitle = ({ class: className, ...rest }) => /* @__PURE__ */ jsx(
|
|
94
|
+
"div",
|
|
95
|
+
{
|
|
96
|
+
class: cardTitle({ class: className }),
|
|
97
|
+
"data-slot": "card-title",
|
|
98
|
+
...rest
|
|
99
|
+
}
|
|
100
|
+
);
|
|
101
|
+
|
|
102
|
+
// src/components/card/index.ts
|
|
103
|
+
var CardVariants = {
|
|
104
|
+
card,
|
|
105
|
+
cardAction,
|
|
106
|
+
cardContent,
|
|
107
|
+
cardDescription,
|
|
108
|
+
cardFooter,
|
|
109
|
+
cardHeader,
|
|
110
|
+
cardTitle
|
|
111
|
+
};
|
|
112
|
+
var card_default = {
|
|
113
|
+
Root: Card,
|
|
114
|
+
Header: CardHeader,
|
|
115
|
+
Footer: CardFooter,
|
|
116
|
+
Title: CardTitle,
|
|
117
|
+
Description: CardDescription,
|
|
118
|
+
Content: CardContent,
|
|
119
|
+
Action: CardAction
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
export { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CardVariants, card_default };
|
|
123
|
+
//# sourceMappingURL=chunk-67J4KBOW.js.map
|
|
124
|
+
//# sourceMappingURL=chunk-67J4KBOW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/card/Card.tsx","../src/components/card/CardAction.tsx","../src/components/card/CardContent.tsx","../src/components/card/CardDescription.tsx","../src/components/card/CardFooter.tsx","../src/components/card/CardHeader.tsx","../src/components/card/CardTitle.tsx","../src/components/card/index.ts"],"names":["tv","jsx"],"mappings":"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","file":"chunk-67J4KBOW.js","sourcesContent":["import type { ComponentChildren, JSX } from \"preact\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\n\nexport const card = tv({\n base: [\n \"bg-card text-card-foreground group/card ring-border flex min-w-0 flex-col rounded-xl ring-1\",\n \"has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0\",\n \"*:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl\",\n ],\n variants: {\n size: {\n default: \"gap-6 py-6\",\n sm: \"gap-4 py-4 text-sm\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n});\n\nexport type CardProps = JSX.HTMLAttributes<HTMLDivElement> &\n VariantProps<typeof card> & {\n children?: ComponentChildren;\n };\n\nexport const Card = ({ class: className, size, children, ...rest }: CardProps) => (\n <div\n class={card({ size, class: className as string | undefined })}\n data-slot=\"card\"\n data-size={size ?? \"default\"}\n {...rest}\n >\n {children}\n </div>\n);\n","import type { JSX } from \"preact\";\nimport { tv } from \"tailwind-variants\";\n\nexport const cardAction = tv({\n base: \"col-start-2 row-span-2 row-start-1 shrink-0 self-start justify-self-end\",\n});\n\nexport type CardActionProps = JSX.HTMLAttributes<HTMLDivElement>;\n\nexport const CardAction = ({ class: className, ...rest }: CardActionProps) => (\n <div\n class={cardAction({ class: className as string | undefined })}\n data-slot=\"card-action\"\n {...rest}\n />\n);\n","import type { JSX } from \"preact\";\nimport { tv } from \"tailwind-variants\";\n\nexport const cardContent = tv({\n base: \"px-6 group-data-[size=sm]/card:px-4\",\n});\n\nexport type CardContentProps = JSX.HTMLAttributes<HTMLDivElement>;\n\nexport const CardContent = ({ class: className, ...rest }: CardContentProps) => (\n <div\n class={cardContent({ class: className as string | undefined })}\n data-slot=\"card-content\"\n {...rest}\n />\n);\n","import type { JSX } from \"preact\";\nimport { tv } from \"tailwind-variants\";\n\nexport const cardDescription = tv({\n base: \"min-w-0 break-words text-muted-foreground text-sm group-data-[size=sm]/card:text-xs\",\n});\n\nexport type CardDescriptionProps = JSX.HTMLAttributes<HTMLDivElement>;\n\nexport const CardDescription = ({ class: className, ...rest }: CardDescriptionProps) => (\n <div\n class={cardDescription({ class: className as string | undefined })}\n data-slot=\"card-description\"\n {...rest}\n />\n);\n","import type { JSX } from \"preact\";\nimport { tv } from \"tailwind-variants\";\n\nexport const cardFooter = tv({\n base: \"bg-muted/50 flex items-center rounded-b-xl border-t p-6 group-data-[size=sm]/card:p-4\",\n});\n\nexport type CardFooterProps = JSX.HTMLAttributes<HTMLDivElement>;\n\nexport const CardFooter = ({ class: className, ...rest }: CardFooterProps) => (\n <div\n class={cardFooter({ class: className as string | undefined })}\n data-slot=\"card-footer\"\n {...rest}\n />\n);\n","import type { JSX } from \"preact\";\nimport { tv } from \"tailwind-variants\";\n\nexport const cardHeader = tv({\n base: [\n \"@container/card-header grid w-full min-w-0 auto-rows-min items-start gap-1.5 px-6 group-data-[size=sm]/card:px-4\",\n // minmax(0,1fr) + min-w-0 on title/description keeps CardAction in the second column inside the card (flex preview children)\n \"has-data-[slot=card-action]:grid-cols-[minmax(0,1fr)_auto] has-data-[slot=card-description]:grid-rows-[auto_auto]\",\n ],\n});\n\nexport type CardHeaderProps = JSX.HTMLAttributes<HTMLDivElement>;\n\nexport const CardHeader = ({ class: className, ...rest }: CardHeaderProps) => (\n <div\n class={cardHeader({ class: className as string | undefined })}\n data-slot=\"card-header\"\n {...rest}\n />\n);\n","import type { JSX } from \"preact\";\nimport { tv } from \"tailwind-variants\";\n\nexport const cardTitle = tv({\n base: \"font-heading min-w-0 break-words text-xl leading-snug font-semibold group-data-[size=sm]/card:text-base\",\n});\n\nexport type CardTitleProps = JSX.HTMLAttributes<HTMLDivElement>;\n\nexport const CardTitle = ({ class: className, ...rest }: CardTitleProps) => (\n <div\n class={cardTitle({ class: className as string | undefined })}\n data-slot=\"card-title\"\n {...rest}\n />\n);\n","import { Card, card } from \"./Card\";\nimport { CardAction, cardAction } from \"./CardAction\";\nimport { CardContent, cardContent } from \"./CardContent\";\nimport { CardDescription, cardDescription } from \"./CardDescription\";\nimport { CardFooter, cardFooter } from \"./CardFooter\";\nimport { CardHeader, cardHeader } from \"./CardHeader\";\nimport { CardTitle, cardTitle } from \"./CardTitle\";\n\nconst CardVariants = {\n card,\n cardAction,\n cardContent,\n cardDescription,\n cardFooter,\n cardHeader,\n cardTitle,\n};\n\nexport {\n Card,\n CardAction,\n CardContent,\n CardDescription,\n CardFooter,\n CardHeader,\n CardTitle,\n CardVariants,\n};\n\nexport default {\n Root: Card,\n Header: CardHeader,\n Footer: CardFooter,\n Title: CardTitle,\n Description: CardDescription,\n Content: CardContent,\n Action: CardAction,\n};\n"]}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { InputGroup, InputGroupAddon, InputGroupInput } from './chunk-QZX3RFIC.js';
|
|
2
|
+
import { FieldGroup, Field, FieldLabel } from './chunk-IJ4ZRIR4.js';
|
|
3
|
+
import { Calendar } from './chunk-JNF7FDJO.js';
|
|
4
|
+
import { cn } from './chunk-MS2ZNYCJ.js';
|
|
5
|
+
import { useId, useState } from 'preact/hooks';
|
|
6
|
+
import { jsxs, jsx } from 'preact/jsx-runtime';
|
|
7
|
+
|
|
8
|
+
var WEEKDAY_TWO_LETTER = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"];
|
|
9
|
+
var ClockGlyph = ({ class: className }) => /* @__PURE__ */ jsxs(
|
|
10
|
+
"svg",
|
|
11
|
+
{
|
|
12
|
+
class: cn("size-3.5 shrink-0 opacity-70", className),
|
|
13
|
+
viewBox: "0 0 24 24",
|
|
14
|
+
fill: "none",
|
|
15
|
+
stroke: "currentColor",
|
|
16
|
+
"stroke-width": "2",
|
|
17
|
+
"aria-hidden": "true",
|
|
18
|
+
children: [
|
|
19
|
+
/* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "10" }),
|
|
20
|
+
/* @__PURE__ */ jsx("path", { d: "M12 6v6l4 2" })
|
|
21
|
+
]
|
|
22
|
+
}
|
|
23
|
+
);
|
|
24
|
+
var CalendarDateTimePanel = ({
|
|
25
|
+
class: className,
|
|
26
|
+
selected,
|
|
27
|
+
defaultSelected,
|
|
28
|
+
onSelect,
|
|
29
|
+
defaultMonth,
|
|
30
|
+
month,
|
|
31
|
+
onMonthChange,
|
|
32
|
+
locale = "en-US",
|
|
33
|
+
disabled,
|
|
34
|
+
dir,
|
|
35
|
+
showOutsideDays = true,
|
|
36
|
+
captionLayout = "buttons",
|
|
37
|
+
size = "sm",
|
|
38
|
+
startTime: startTimeProp,
|
|
39
|
+
defaultStartTime = "10:30:00",
|
|
40
|
+
onStartTimeChange,
|
|
41
|
+
endTime: endTimeProp,
|
|
42
|
+
defaultEndTime = "12:30:00",
|
|
43
|
+
onEndTimeChange,
|
|
44
|
+
startTimeLabel = "Start Time",
|
|
45
|
+
endTimeLabel = "End Time",
|
|
46
|
+
compactWeekdays = true,
|
|
47
|
+
showWeekdayLeadBorder = false,
|
|
48
|
+
...rest
|
|
49
|
+
}) => {
|
|
50
|
+
const uid = useId();
|
|
51
|
+
const startId = `kamod-cdtp-s-${uid}`;
|
|
52
|
+
const endId = `kamod-cdtp-e-${uid}`;
|
|
53
|
+
const [innerDate, setInnerDate] = useState(defaultSelected);
|
|
54
|
+
const selectedDate = selected !== void 0 ? selected : innerDate;
|
|
55
|
+
const [innerStart, setInnerStart] = useState(defaultStartTime);
|
|
56
|
+
const [innerEnd, setInnerEnd] = useState(defaultEndTime);
|
|
57
|
+
const startVal = startTimeProp !== void 0 ? startTimeProp : innerStart;
|
|
58
|
+
const endVal = endTimeProp !== void 0 ? endTimeProp : innerEnd;
|
|
59
|
+
const setDate = (d) => {
|
|
60
|
+
if (selected === void 0) setInnerDate(d);
|
|
61
|
+
onSelect?.(d);
|
|
62
|
+
};
|
|
63
|
+
const setStart = (v) => {
|
|
64
|
+
if (startTimeProp === void 0) setInnerStart(v);
|
|
65
|
+
onStartTimeChange?.(v);
|
|
66
|
+
};
|
|
67
|
+
const setEnd = (v) => {
|
|
68
|
+
if (endTimeProp === void 0) setInnerEnd(v);
|
|
69
|
+
onEndTimeChange?.(v);
|
|
70
|
+
};
|
|
71
|
+
const photoCalendarClass = "w-full min-w-0 max-w-full border-0 bg-transparent p-0 shadow-none [&_[data-slot=calendar-day][data-outside=true]]:!text-neutral-400 dark:[&_[data-slot=calendar-day][data-outside=true]]:!text-neutral-500 [&_[data-slot=calendar-day]]:!rounded-full [&_[data-slot=calendar-day]:not(:disabled):hover]:!bg-neutral-200/90 dark:[&_[data-slot=calendar-day]:not(:disabled):hover]:!bg-white/10 [&_[data-slot=calendar-day].bg-primary]:!rounded-xl [&_[data-slot=calendar-day].bg-primary]:!bg-[#1a1a1a] [&_[data-slot=calendar-day].bg-primary]:hover:!bg-[#1a1a1a] [&_[data-slot=calendar-day].bg-primary]:!text-white dark:[&_[data-slot=calendar-day].bg-primary]:!bg-primary dark:[&_[data-slot=calendar-day].bg-primary]:!text-primary-foreground dark:[&_[data-slot=calendar-day].bg-primary]:hover:!bg-primary/90 [&_[data-slot=calendar-day].bg-accent]:!rounded-full";
|
|
72
|
+
return /* @__PURE__ */ jsxs(
|
|
73
|
+
"div",
|
|
74
|
+
{
|
|
75
|
+
"data-slot": "calendar-datetime-panel",
|
|
76
|
+
class: cn(
|
|
77
|
+
"bg-background text-foreground w-full max-w-[min(100%,300px)] rounded-xl border border-[#e0e0e0] p-3.5 shadow-sm dark:border-border",
|
|
78
|
+
className
|
|
79
|
+
),
|
|
80
|
+
...rest,
|
|
81
|
+
children: [
|
|
82
|
+
/* @__PURE__ */ jsx(
|
|
83
|
+
Calendar,
|
|
84
|
+
{
|
|
85
|
+
mode: "single",
|
|
86
|
+
dir,
|
|
87
|
+
locale,
|
|
88
|
+
disabled,
|
|
89
|
+
showOutsideDays,
|
|
90
|
+
captionLayout,
|
|
91
|
+
size,
|
|
92
|
+
selected: selectedDate,
|
|
93
|
+
defaultMonth: defaultMonth ?? selectedDate ?? /* @__PURE__ */ new Date(),
|
|
94
|
+
month,
|
|
95
|
+
onMonthChange,
|
|
96
|
+
onSelect: (v) => {
|
|
97
|
+
if (v instanceof Date) setDate(v);
|
|
98
|
+
},
|
|
99
|
+
captionTitleClass: "text-sm font-semibold tracking-tight",
|
|
100
|
+
weekdayLabels: compactWeekdays ? [...WEEKDAY_TWO_LETTER] : void 0,
|
|
101
|
+
showWeekdayLeadBorder,
|
|
102
|
+
class: photoCalendarClass
|
|
103
|
+
}
|
|
104
|
+
),
|
|
105
|
+
/* @__PURE__ */ jsx("div", { class: "mt-0.5 border-t border-[#e0e0e0] pt-3 dark:border-border", children: /* @__PURE__ */ jsxs(FieldGroup, { class: "gap-2.5", children: [
|
|
106
|
+
/* @__PURE__ */ jsxs(Field, { children: [
|
|
107
|
+
/* @__PURE__ */ jsx(FieldLabel, { class: "text-foreground mb-1 text-xs font-semibold", htmlFor: startId, children: startTimeLabel }),
|
|
108
|
+
/* @__PURE__ */ jsxs(InputGroup, { class: "border-[#e0e0e0] dark:border-input h-9 min-h-9 rounded-full px-0.5 shadow-none", children: [
|
|
109
|
+
/* @__PURE__ */ jsx(InputGroupAddon, { class: "ps-2.5", children: /* @__PURE__ */ jsx(ClockGlyph, {}) }),
|
|
110
|
+
/* @__PURE__ */ jsx(
|
|
111
|
+
InputGroupInput,
|
|
112
|
+
{
|
|
113
|
+
id: startId,
|
|
114
|
+
type: "time",
|
|
115
|
+
step: 1,
|
|
116
|
+
value: startVal,
|
|
117
|
+
onInput: (e) => setStart(e.target.value),
|
|
118
|
+
class: "font-mono text-xs tabular-nums"
|
|
119
|
+
}
|
|
120
|
+
)
|
|
121
|
+
] })
|
|
122
|
+
] }),
|
|
123
|
+
/* @__PURE__ */ jsxs(Field, { children: [
|
|
124
|
+
/* @__PURE__ */ jsx(FieldLabel, { class: "text-foreground mb-1 text-xs font-semibold", htmlFor: endId, children: endTimeLabel }),
|
|
125
|
+
/* @__PURE__ */ jsxs(InputGroup, { class: "border-[#e0e0e0] dark:border-input h-9 min-h-9 rounded-full px-0.5 shadow-none", children: [
|
|
126
|
+
/* @__PURE__ */ jsx(InputGroupAddon, { class: "ps-2.5", children: /* @__PURE__ */ jsx(ClockGlyph, {}) }),
|
|
127
|
+
/* @__PURE__ */ jsx(
|
|
128
|
+
InputGroupInput,
|
|
129
|
+
{
|
|
130
|
+
id: endId,
|
|
131
|
+
type: "time",
|
|
132
|
+
step: 1,
|
|
133
|
+
value: endVal,
|
|
134
|
+
onInput: (e) => setEnd(e.target.value),
|
|
135
|
+
class: "font-mono text-xs tabular-nums"
|
|
136
|
+
}
|
|
137
|
+
)
|
|
138
|
+
] })
|
|
139
|
+
] })
|
|
140
|
+
] }) })
|
|
141
|
+
]
|
|
142
|
+
}
|
|
143
|
+
);
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
// src/components/calendar/index.ts
|
|
147
|
+
var calendar_default = Calendar;
|
|
148
|
+
|
|
149
|
+
export { CalendarDateTimePanel, calendar_default };
|
|
150
|
+
//# sourceMappingURL=chunk-6BK3PIRX.js.map
|
|
151
|
+
//# sourceMappingURL=chunk-6BK3PIRX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/calendar/CalendarDateTimePanel.tsx","../src/components/calendar/index.ts"],"names":[],"mappings":"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","file":"chunk-6BK3PIRX.js","sourcesContent":["import type { JSX } from \"preact\";\nimport { useId, useState } from \"preact/hooks\";\nimport { cn } from \"../../lib/utils\";\nimport { Field, FieldGroup, FieldLabel } from \"../field\";\nimport { InputGroup, InputGroupAddon, InputGroupInput } from \"../input-group\";\nimport type { CalendarProps } from \"./Calendar\";\nimport { Calendar } from \"./Calendar\";\n\nconst WEEKDAY_TWO_LETTER = [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"] as const;\n\nconst ClockGlyph = ({ class: className }: { class?: string }) => (\n <svg\n class={cn(\"size-3.5 shrink-0 opacity-70\", className)}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n aria-hidden=\"true\"\n >\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"M12 6v6l4 2\" />\n </svg>\n);\n\nexport type CalendarDateTimePanelProps = Omit<JSX.HTMLAttributes<HTMLDivElement>, \"onSelect\"> &\n Pick<\n CalendarProps,\n | \"defaultMonth\"\n | \"month\"\n | \"onMonthChange\"\n | \"locale\"\n | \"disabled\"\n | \"dir\"\n | \"showOutsideDays\"\n | \"captionLayout\"\n | \"size\"\n > & {\n /** Selected calendar day (controlled). */\n selected?: Date;\n /** Initial day when uncontrolled. */\n defaultSelected?: Date;\n onSelect?: (date: Date) => void;\n /** `HH:mm` or `HH:mm:ss` for native `input[type=time]`. */\n startTime?: string;\n defaultStartTime?: string;\n onStartTimeChange?: (value: string) => void;\n endTime?: string;\n defaultEndTime?: string;\n onEndTimeChange?: (value: string) => void;\n startTimeLabel?: string;\n endTimeLabel?: string;\n /** Use two-letter weekday headers (Su–Sa). @default true */\n compactWeekdays?: boolean;\n /** Decorative line left of the first weekday; off by default. */\n showWeekdayLeadBorder?: boolean;\n };\n\n/**\n * Single-month calendar with start/end time fields, styled for a compact “schedule” card (date + time range).\n * Defaults to `size=\"sm\"` on the inner {@link Calendar} for a dense layout; pass `size=\"default\"` for roomier cells.\n */\nexport const CalendarDateTimePanel = ({\n class: className,\n selected,\n defaultSelected,\n onSelect,\n defaultMonth,\n month,\n onMonthChange,\n locale = \"en-US\",\n disabled,\n dir,\n showOutsideDays = true,\n captionLayout = \"buttons\",\n size = \"sm\",\n startTime: startTimeProp,\n defaultStartTime = \"10:30:00\",\n onStartTimeChange,\n endTime: endTimeProp,\n defaultEndTime = \"12:30:00\",\n onEndTimeChange,\n startTimeLabel = \"Start Time\",\n endTimeLabel = \"End Time\",\n compactWeekdays = true,\n showWeekdayLeadBorder = false,\n ...rest\n}: CalendarDateTimePanelProps) => {\n const uid = useId();\n const startId = `kamod-cdtp-s-${uid}`;\n const endId = `kamod-cdtp-e-${uid}`;\n\n const [innerDate, setInnerDate] = useState<Date | undefined>(defaultSelected);\n const selectedDate = selected !== undefined ? selected : innerDate;\n\n const [innerStart, setInnerStart] = useState(defaultStartTime);\n const [innerEnd, setInnerEnd] = useState(defaultEndTime);\n const startVal = startTimeProp !== undefined ? startTimeProp : innerStart;\n const endVal = endTimeProp !== undefined ? endTimeProp : innerEnd;\n\n const setDate = (d: Date) => {\n if (selected === undefined) setInnerDate(d);\n onSelect?.(d);\n };\n\n const setStart = (v: string) => {\n if (startTimeProp === undefined) setInnerStart(v);\n onStartTimeChange?.(v);\n };\n\n const setEnd = (v: string) => {\n if (endTimeProp === undefined) setInnerEnd(v);\n onEndTimeChange?.(v);\n };\n\n const photoCalendarClass =\n \"w-full min-w-0 max-w-full border-0 bg-transparent p-0 shadow-none \" +\n \"[&_[data-slot=calendar-day][data-outside=true]]:!text-neutral-400 dark:[&_[data-slot=calendar-day][data-outside=true]]:!text-neutral-500 \" +\n \"[&_[data-slot=calendar-day]]:!rounded-full [&_[data-slot=calendar-day]:not(:disabled):hover]:!bg-neutral-200/90 dark:[&_[data-slot=calendar-day]:not(:disabled):hover]:!bg-white/10 \" +\n \"[&_[data-slot=calendar-day].bg-primary]:!rounded-xl [&_[data-slot=calendar-day].bg-primary]:!bg-[#1a1a1a] [&_[data-slot=calendar-day].bg-primary]:hover:!bg-[#1a1a1a] [&_[data-slot=calendar-day].bg-primary]:!text-white \" +\n \"dark:[&_[data-slot=calendar-day].bg-primary]:!bg-primary dark:[&_[data-slot=calendar-day].bg-primary]:!text-primary-foreground dark:[&_[data-slot=calendar-day].bg-primary]:hover:!bg-primary/90 \" +\n \"[&_[data-slot=calendar-day].bg-accent]:!rounded-full\";\n\n return (\n <div\n data-slot=\"calendar-datetime-panel\"\n class={cn(\n \"bg-background text-foreground w-full max-w-[min(100%,300px)] rounded-xl border border-[#e0e0e0] p-3.5 shadow-sm dark:border-border\",\n className,\n )}\n {...rest}\n >\n <Calendar\n mode=\"single\"\n dir={dir}\n locale={locale}\n disabled={disabled}\n showOutsideDays={showOutsideDays}\n captionLayout={captionLayout}\n size={size}\n selected={selectedDate}\n defaultMonth={defaultMonth ?? selectedDate ?? new Date()}\n month={month}\n onMonthChange={onMonthChange}\n onSelect={(v) => {\n if (v instanceof Date) setDate(v);\n }}\n captionTitleClass=\"text-sm font-semibold tracking-tight\"\n weekdayLabels={compactWeekdays ? [...WEEKDAY_TWO_LETTER] : undefined}\n showWeekdayLeadBorder={showWeekdayLeadBorder}\n class={photoCalendarClass}\n />\n <div class=\"mt-0.5 border-t border-[#e0e0e0] pt-3 dark:border-border\">\n <FieldGroup class=\"gap-2.5\">\n <Field>\n <FieldLabel class=\"text-foreground mb-1 text-xs font-semibold\" htmlFor={startId}>\n {startTimeLabel}\n </FieldLabel>\n <InputGroup class=\"border-[#e0e0e0] dark:border-input h-9 min-h-9 rounded-full px-0.5 shadow-none\">\n <InputGroupAddon class=\"ps-2.5\">\n <ClockGlyph />\n </InputGroupAddon>\n <InputGroupInput\n id={startId}\n type=\"time\"\n step={1}\n value={startVal}\n onInput={(e) => setStart((e.target as HTMLInputElement).value)}\n class=\"font-mono text-xs tabular-nums\"\n />\n </InputGroup>\n </Field>\n <Field>\n <FieldLabel class=\"text-foreground mb-1 text-xs font-semibold\" htmlFor={endId}>\n {endTimeLabel}\n </FieldLabel>\n <InputGroup class=\"border-[#e0e0e0] dark:border-input h-9 min-h-9 rounded-full px-0.5 shadow-none\">\n <InputGroupAddon class=\"ps-2.5\">\n <ClockGlyph />\n </InputGroupAddon>\n <InputGroupInput\n id={endId}\n type=\"time\"\n step={1}\n value={endVal}\n onInput={(e) => setEnd((e.target as HTMLInputElement).value)}\n class=\"font-mono text-xs tabular-nums\"\n />\n </InputGroup>\n </Field>\n </FieldGroup>\n </div>\n </div>\n );\n};\n","import { Calendar } from \"./Calendar\";\n\nexport type {\n CalendarDisabledProp,\n CalendarMode,\n CalendarProps,\n CalendarSize,\n DateRange,\n} from \"./Calendar\";\nexport type { CalendarDateTimePanelProps } from \"./CalendarDateTimePanel\";\nexport { CalendarDateTimePanel } from \"./CalendarDateTimePanel\";\nexport { Calendar };\n\nexport default Calendar;\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { cn } from './chunk-MS2ZNYCJ.js';
|
|
2
|
+
import { jsx } from 'preact/jsx-runtime';
|
|
3
|
+
|
|
4
|
+
var Video = ({ class: className, controls = true, children, ...rest }) => (
|
|
5
|
+
// Captions are the consumer's responsibility (passed as <track> via children).
|
|
6
|
+
// oxlint-disable-next-line jsx-a11y/media-has-caption
|
|
7
|
+
/* @__PURE__ */ jsx(
|
|
8
|
+
"video",
|
|
9
|
+
{
|
|
10
|
+
"data-slot": "video",
|
|
11
|
+
class: cn("block w-full rounded-md border", className),
|
|
12
|
+
controls,
|
|
13
|
+
...rest,
|
|
14
|
+
children
|
|
15
|
+
}
|
|
16
|
+
)
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
export { Video };
|
|
20
|
+
//# sourceMappingURL=chunk-6FYSVMH7.js.map
|
|
21
|
+
//# sourceMappingURL=chunk-6FYSVMH7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/video/Video.tsx"],"names":[],"mappings":";;;AAOO,IAAM,KAAA,GAAQ,CAAC,EAAE,KAAA,EAAO,WAAW,QAAA,GAAW,IAAA,EAAM,QAAA,EAAU,GAAG,IAAA,EAAK;AAAA;AAAA;AAAA,kBAG3E,GAAA;AAAA,IAAC,OAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,OAAA;AAAA,MACV,KAAA,EAAO,EAAA,CAAG,gCAAA,EAAkC,SAAS,CAAA;AAAA,MACrD,QAAA;AAAA,MACC,GAAG,IAAA;AAAA,MAEH;AAAA;AAAA;AACH","file":"chunk-6FYSVMH7.js","sourcesContent":["import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type VideoProps = JSX.VideoHTMLAttributes<HTMLVideoElement> & {\n children?: ComponentChildren;\n};\n\nexport const Video = ({ class: className, controls = true, children, ...rest }: VideoProps) => (\n // Captions are the consumer's responsibility (passed as <track> via children).\n // oxlint-disable-next-line jsx-a11y/media-has-caption\n <video\n data-slot=\"video\"\n class={cn(\"block w-full rounded-md border\", className)}\n controls={controls}\n {...rest}\n >\n {children}\n </video>\n);\n"]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { tv } from 'tailwind-variants';
|
|
2
|
+
import { jsx } from 'preact/jsx-runtime';
|
|
3
|
+
|
|
4
|
+
// src/components/input/Input.tsx
|
|
5
|
+
var input = tv({
|
|
6
|
+
base: [
|
|
7
|
+
"border-input dark:bg-input/30 text-foreground min-w-0 w-full rounded-md border bg-transparent shadow-xs",
|
|
8
|
+
"outline-none focus-visible:border-outline focus-visible:ring-outline/50 transition-[color,box-shadow] focus-visible:ring-3",
|
|
9
|
+
"selection:bg-primary/20 selection:text-foreground",
|
|
10
|
+
"file:text-foreground file:my-auto file:me-4 file:h-full file:border-0 file:bg-transparent file:text-sm file:font-medium",
|
|
11
|
+
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
12
|
+
"aria-invalid:border-error aria-invalid:focus-visible:ring-error/40",
|
|
13
|
+
"peer placeholder:text-muted-foreground"
|
|
14
|
+
],
|
|
15
|
+
variants: {
|
|
16
|
+
size: { sm: "h-7 px-2.5 text-sm", md: "h-8 px-3 text-sm", lg: "h-9 px-3.5 text-base" }
|
|
17
|
+
},
|
|
18
|
+
defaultVariants: { size: "md" }
|
|
19
|
+
});
|
|
20
|
+
var Input = ({ size, class: className, ...rest }) => /* @__PURE__ */ jsx(
|
|
21
|
+
"input",
|
|
22
|
+
{
|
|
23
|
+
class: input({ size, class: className }),
|
|
24
|
+
"data-slot": "input",
|
|
25
|
+
...rest
|
|
26
|
+
}
|
|
27
|
+
);
|
|
28
|
+
|
|
29
|
+
export { Input, input };
|
|
30
|
+
//# sourceMappingURL=chunk-6RASPU5N.js.map
|
|
31
|
+
//# sourceMappingURL=chunk-6RASPU5N.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/input/Input.tsx"],"names":[],"mappings":";;;;AAGO,IAAM,QAAQ,EAAA,CAAG;AAAA,EACtB,IAAA,EAAM;AAAA,IACJ,yGAAA;AAAA,IACA,4HAAA;AAAA,IACA,mDAAA;AAAA,IACA,yHAAA;AAAA,IACA,iDAAA;AAAA,IACA,oEAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,QAAA,EAAU;AAAA,IACR,MAAM,EAAE,EAAA,EAAI,sBAAsB,EAAA,EAAI,kBAAA,EAAoB,IAAI,sBAAA;AAAuB,GACvF;AAAA,EACA,eAAA,EAAiB,EAAE,IAAA,EAAM,IAAA;AAC3B,CAAC;AAKM,IAAM,KAAA,GAAQ,CAAC,EAAE,IAAA,EAAM,OAAO,SAAA,EAAW,GAAG,MAAK,qBACtD,GAAA;AAAA,EAAC,OAAA;AAAA,EAAA;AAAA,IACC,OAAO,KAAA,CAAM,EAAE,IAAA,EAAM,KAAA,EAAO,WAAiC,CAAA;AAAA,IAC7D,WAAA,EAAU,OAAA;AAAA,IACT,GAAG;AAAA;AACN","file":"chunk-6RASPU5N.js","sourcesContent":["import type { JSX } from \"preact\";\nimport { tv, type VariantProps } from \"tailwind-variants\";\n\nexport const input = tv({\n base: [\n \"border-input dark:bg-input/30 text-foreground min-w-0 w-full rounded-md border bg-transparent shadow-xs\",\n \"outline-none focus-visible:border-outline focus-visible:ring-outline/50 transition-[color,box-shadow] focus-visible:ring-3\",\n \"selection:bg-primary/20 selection:text-foreground\",\n \"file:text-foreground file:my-auto file:me-4 file:h-full file:border-0 file:bg-transparent file:text-sm file:font-medium\",\n \"disabled:cursor-not-allowed disabled:opacity-50\",\n \"aria-invalid:border-error aria-invalid:focus-visible:ring-error/40\",\n \"peer placeholder:text-muted-foreground\",\n ],\n variants: {\n size: { sm: \"h-7 px-2.5 text-sm\", md: \"h-8 px-3 text-sm\", lg: \"h-9 px-3.5 text-base\" },\n },\n defaultVariants: { size: \"md\" },\n});\n\nexport type InputProps = Omit<JSX.InputHTMLAttributes<HTMLInputElement>, \"size\"> &\n VariantProps<typeof input>;\n\nexport const Input = ({ size, class: className, ...rest }: InputProps) => (\n <input\n class={input({ size, class: className as string | undefined })}\n data-slot=\"input\"\n {...rest}\n />\n);\n"]}
|