@kamod-ui/core 0.1.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/dist/Accordion-D1PiNspd.d.ts +39 -0
- package/dist/AlertDialog-CpnCfDdN.d.ts +64 -0
- package/dist/Button-tRKMr8-H.d.ts +84 -0
- package/dist/CalendarDateTimePanel-B3J8OlSc.d.ts +79 -0
- package/dist/Carousel-DvlcMPpB.d.ts +41 -0
- package/dist/Chart-Ax22S5_N.d.ts +10 -0
- package/dist/Checkbox-DBbLYq6Q.d.ts +12 -0
- package/dist/Collapsible-DSZCp0tm.d.ts +34 -0
- package/dist/ComboboxInlineInput-CB7CEXzy.d.ts +135 -0
- package/dist/CommandSeparator-pJQnB9Lu.d.ts +47 -0
- package/dist/DataTable-zNTTdYVU.d.ts +13 -0
- package/dist/DatePicker-AFAYh5Ca.d.ts +20 -0
- package/dist/Dialog-CqCI4s9U.d.ts +28 -0
- package/dist/DialogContent-9VJGDt5l.d.ts +24 -0
- package/dist/DialogHeader-CYT7iUDq.d.ts +13 -0
- package/dist/DialogTitle-CvcRlZ_Z.d.ts +13 -0
- package/dist/Direction-25ZOt0gW.d.ts +24 -0
- package/dist/Drawer-BOPihYBJ.d.ts +41 -0
- package/dist/Dropdown-uPFaMqkB.d.ts +143 -0
- package/dist/EmptyTitle-J8rVLcJ3.d.ts +59 -0
- package/dist/FieldTitle-aSgThW-B.d.ts +100 -0
- package/dist/HoverCard-OSnOE6pE.d.ts +52 -0
- package/dist/Input-Cem05el9.d.ts +27 -0
- package/dist/Menubar-DwYDW4w2.d.ts +88 -0
- package/dist/PopoverTrigger-B6kK73gh.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-B41Emmis.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-DFJR_P2D.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-BtRWVyCA.d.ts +40 -0
- package/dist/Typography-ccTtE182.d.ts +64 -0
- package/dist/chunk-2UHCXHAX.js +119 -0
- package/dist/chunk-2UHCXHAX.js.map +1 -0
- package/dist/chunk-2XNWLXG2.js +12 -0
- package/dist/chunk-2XNWLXG2.js.map +1 -0
- package/dist/chunk-3EHH62ZA.js +175 -0
- package/dist/chunk-3EHH62ZA.js.map +1 -0
- package/dist/chunk-3GKUUTSA.js +586 -0
- package/dist/chunk-3GKUUTSA.js.map +1 -0
- package/dist/chunk-3IT2RVO6.js +151 -0
- package/dist/chunk-3IT2RVO6.js.map +1 -0
- package/dist/chunk-3WAPI4KR.js +36 -0
- package/dist/chunk-3WAPI4KR.js.map +1 -0
- package/dist/chunk-44YLIQIS.js +15 -0
- package/dist/chunk-44YLIQIS.js.map +1 -0
- package/dist/chunk-4AJM7IA4.js +9 -0
- package/dist/chunk-4AJM7IA4.js.map +1 -0
- package/dist/chunk-4HX6SEWP.js +24 -0
- package/dist/chunk-4HX6SEWP.js.map +1 -0
- package/dist/chunk-6FTWMOHU.js +478 -0
- package/dist/chunk-6FTWMOHU.js.map +1 -0
- package/dist/chunk-6ZXYDBPR.js +304 -0
- package/dist/chunk-6ZXYDBPR.js.map +1 -0
- package/dist/chunk-7E2ZPDVI.js +224 -0
- package/dist/chunk-7E2ZPDVI.js.map +1 -0
- package/dist/chunk-7HZUM5ZQ.js +85 -0
- package/dist/chunk-7HZUM5ZQ.js.map +1 -0
- package/dist/chunk-7MECYLKS.js +375 -0
- package/dist/chunk-7MECYLKS.js.map +1 -0
- package/dist/chunk-7TDS7TC6.js +49 -0
- package/dist/chunk-7TDS7TC6.js.map +1 -0
- package/dist/chunk-7ZXJRNJO.js +26 -0
- package/dist/chunk-7ZXJRNJO.js.map +1 -0
- package/dist/chunk-AVCG4W6D.js +122 -0
- package/dist/chunk-AVCG4W6D.js.map +1 -0
- package/dist/chunk-BF3F5SJX.js +89 -0
- package/dist/chunk-BF3F5SJX.js.map +1 -0
- package/dist/chunk-BHMKSFES.js +195 -0
- package/dist/chunk-BHMKSFES.js.map +1 -0
- package/dist/chunk-BMF5SGYP.js +45 -0
- package/dist/chunk-BMF5SGYP.js.map +1 -0
- package/dist/chunk-D25ZQ36E.js +273 -0
- package/dist/chunk-D25ZQ36E.js.map +1 -0
- package/dist/chunk-D5W5YHJZ.js +426 -0
- package/dist/chunk-D5W5YHJZ.js.map +1 -0
- package/dist/chunk-DHBILREV.js +70 -0
- package/dist/chunk-DHBILREV.js.map +1 -0
- package/dist/chunk-DJ4PFETN.js +17 -0
- package/dist/chunk-DJ4PFETN.js.map +1 -0
- package/dist/chunk-DKXUKLZT.js +342 -0
- package/dist/chunk-DKXUKLZT.js.map +1 -0
- package/dist/chunk-EL2HT25C.js +9 -0
- package/dist/chunk-EL2HT25C.js.map +1 -0
- package/dist/chunk-FDNPBI2Z.js +26 -0
- package/dist/chunk-FDNPBI2Z.js.map +1 -0
- package/dist/chunk-FWCN47RC.js +65 -0
- package/dist/chunk-FWCN47RC.js.map +1 -0
- package/dist/chunk-G6PBJZYF.js +114 -0
- package/dist/chunk-G6PBJZYF.js.map +1 -0
- package/dist/chunk-GFF5OT46.js +80 -0
- package/dist/chunk-GFF5OT46.js.map +1 -0
- package/dist/chunk-GLWYIUE5.js +242 -0
- package/dist/chunk-GLWYIUE5.js.map +1 -0
- package/dist/chunk-HEQRODRF.js +110 -0
- package/dist/chunk-HEQRODRF.js.map +1 -0
- package/dist/chunk-HGTFOOUL.js +61 -0
- package/dist/chunk-HGTFOOUL.js.map +1 -0
- package/dist/chunk-HNESOMVN.js +18 -0
- package/dist/chunk-HNESOMVN.js.map +1 -0
- package/dist/chunk-I2PR3HXC.js +51 -0
- package/dist/chunk-I2PR3HXC.js.map +1 -0
- package/dist/chunk-IGGEBO7K.js +8 -0
- package/dist/chunk-IGGEBO7K.js.map +1 -0
- package/dist/chunk-J2Z2LSXM.js +26 -0
- package/dist/chunk-J2Z2LSXM.js.map +1 -0
- package/dist/chunk-JC7JMWSH.js +109 -0
- package/dist/chunk-JC7JMWSH.js.map +1 -0
- package/dist/chunk-JZRMLE4X.js +77 -0
- package/dist/chunk-JZRMLE4X.js.map +1 -0
- package/dist/chunk-KBXDU3G4.js +382 -0
- package/dist/chunk-KBXDU3G4.js.map +1 -0
- package/dist/chunk-KF34SFFZ.js +18 -0
- package/dist/chunk-KF34SFFZ.js.map +1 -0
- package/dist/chunk-L42B6QZS.js +524 -0
- package/dist/chunk-L42B6QZS.js.map +1 -0
- package/dist/chunk-LGO5HXMG.js +592 -0
- package/dist/chunk-LGO5HXMG.js.map +1 -0
- package/dist/chunk-LVK44RMS.js +78 -0
- package/dist/chunk-LVK44RMS.js.map +1 -0
- package/dist/chunk-N2LRB6TA.js +8 -0
- package/dist/chunk-N2LRB6TA.js.map +1 -0
- package/dist/chunk-NHTY2HD2.js +8 -0
- package/dist/chunk-NHTY2HD2.js.map +1 -0
- package/dist/chunk-NJUXP5FM.js +392 -0
- package/dist/chunk-NJUXP5FM.js.map +1 -0
- package/dist/chunk-NPHECLV5.js +94 -0
- package/dist/chunk-NPHECLV5.js.map +1 -0
- package/dist/chunk-NXVAR6P2.js +79 -0
- package/dist/chunk-NXVAR6P2.js.map +1 -0
- package/dist/chunk-OMXWBB67.js +9 -0
- package/dist/chunk-OMXWBB67.js.map +1 -0
- package/dist/chunk-PE5QQIV5.js +69 -0
- package/dist/chunk-PE5QQIV5.js.map +1 -0
- package/dist/chunk-QAUGWXGJ.js +158 -0
- package/dist/chunk-QAUGWXGJ.js.map +1 -0
- package/dist/chunk-QCYFSBZ7.js +81 -0
- package/dist/chunk-QCYFSBZ7.js.map +1 -0
- package/dist/chunk-QJT5UAL2.js +714 -0
- package/dist/chunk-QJT5UAL2.js.map +1 -0
- package/dist/chunk-QRLVOM3E.js +83 -0
- package/dist/chunk-QRLVOM3E.js.map +1 -0
- package/dist/chunk-RBVGV7VO.js +26 -0
- package/dist/chunk-RBVGV7VO.js.map +1 -0
- package/dist/chunk-RD6VXGVY.js +340 -0
- package/dist/chunk-RD6VXGVY.js.map +1 -0
- package/dist/chunk-RSPI2A4W.js +106 -0
- package/dist/chunk-RSPI2A4W.js.map +1 -0
- package/dist/chunk-RT26RZ7W.js +79 -0
- package/dist/chunk-RT26RZ7W.js.map +1 -0
- package/dist/chunk-RXAIDZ33.js +522 -0
- package/dist/chunk-RXAIDZ33.js.map +1 -0
- package/dist/chunk-S6TO62GJ.js +53 -0
- package/dist/chunk-S6TO62GJ.js.map +1 -0
- package/dist/chunk-SJ5MYJ7L.js +283 -0
- package/dist/chunk-SJ5MYJ7L.js.map +1 -0
- package/dist/chunk-SZ2I2SRP.js +156 -0
- package/dist/chunk-SZ2I2SRP.js.map +1 -0
- package/dist/chunk-UGOQKTHL.js +23 -0
- package/dist/chunk-UGOQKTHL.js.map +1 -0
- package/dist/chunk-UGQ756Z6.js +92 -0
- package/dist/chunk-UGQ756Z6.js.map +1 -0
- package/dist/chunk-UNPCAFLS.js +22 -0
- package/dist/chunk-UNPCAFLS.js.map +1 -0
- package/dist/chunk-V27UIXBD.js +36 -0
- package/dist/chunk-V27UIXBD.js.map +1 -0
- package/dist/chunk-VB5LDR7C.js +97 -0
- package/dist/chunk-VB5LDR7C.js.map +1 -0
- package/dist/chunk-VJ26PA3U.js +9 -0
- package/dist/chunk-VJ26PA3U.js.map +1 -0
- package/dist/chunk-VKB4VUN7.js +164 -0
- package/dist/chunk-VKB4VUN7.js.map +1 -0
- package/dist/chunk-Y37OHTAO.js +208 -0
- package/dist/chunk-Y37OHTAO.js.map +1 -0
- package/dist/chunk-Y4OW24IS.js +18 -0
- package/dist/chunk-Y4OW24IS.js.map +1 -0
- package/dist/chunk-YDMMDO2W.js +141 -0
- package/dist/chunk-YDMMDO2W.js.map +1 -0
- package/dist/chunk-YENXORWK.js +9 -0
- package/dist/chunk-YENXORWK.js.map +1 -0
- package/dist/chunk-YLTIB224.js +76 -0
- package/dist/chunk-YLTIB224.js.map +1 -0
- package/dist/chunk-YVA6PAML.js +63 -0
- package/dist/chunk-YVA6PAML.js.map +1 -0
- package/dist/chunk-YWUMX4JR.js +9 -0
- package/dist/chunk-YWUMX4JR.js.map +1 -0
- package/dist/chunk-ZDXR2SWG.js +32 -0
- package/dist/chunk-ZDXR2SWG.js.map +1 -0
- package/dist/chunk-ZIFL6GXH.js +187 -0
- package/dist/chunk-ZIFL6GXH.js.map +1 -0
- package/dist/chunk-ZM4VJOGF.js +40 -0
- package/dist/chunk-ZM4VJOGF.js.map +1 -0
- package/dist/chunk-ZVKIJLNO.js +9 -0
- package/dist/chunk-ZVKIJLNO.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 +14 -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 +8 -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 +4 -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 +34 -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-MrMOOgmr.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,478 @@
|
|
|
1
|
+
import { createIdFactory, createDismissableLayer } from './chunk-HEQRODRF.js';
|
|
2
|
+
import { cn } from './chunk-OMXWBB67.js';
|
|
3
|
+
import { signal } from '@preact/signals';
|
|
4
|
+
import { createContext } from 'preact';
|
|
5
|
+
import { useRef, useMemo, useEffect, useContext } from 'preact/hooks';
|
|
6
|
+
import { jsx, jsxs } from 'preact/jsx-runtime';
|
|
7
|
+
|
|
8
|
+
var SelectContext = createContext(null);
|
|
9
|
+
var useSelect = () => {
|
|
10
|
+
const context = useContext(SelectContext);
|
|
11
|
+
if (!context) throw new Error("Select subcomponents must be used within Select");
|
|
12
|
+
return context;
|
|
13
|
+
};
|
|
14
|
+
var Select = ({
|
|
15
|
+
defaultValue,
|
|
16
|
+
value,
|
|
17
|
+
onValueChange,
|
|
18
|
+
children,
|
|
19
|
+
class: className,
|
|
20
|
+
...rest
|
|
21
|
+
}) => {
|
|
22
|
+
const rootRef = useRef(null);
|
|
23
|
+
const triggerRef = useRef(null);
|
|
24
|
+
const itemsRef = useRef([]);
|
|
25
|
+
const idFactory = useMemo(() => createIdFactory("select"), []);
|
|
26
|
+
const triggerId = useMemo(() => idFactory(), [idFactory]);
|
|
27
|
+
const contentId = useMemo(() => idFactory(), [idFactory]);
|
|
28
|
+
const open = useMemo(() => signal(false), []);
|
|
29
|
+
const isControlled = typeof value === "string";
|
|
30
|
+
const selectedValue = useMemo(() => signal(value ?? defaultValue ?? null), []);
|
|
31
|
+
const activeItemId = useMemo(() => signal(null), []);
|
|
32
|
+
useEffect(() => {
|
|
33
|
+
if (isControlled) {
|
|
34
|
+
selectedValue.value = value ?? null;
|
|
35
|
+
}
|
|
36
|
+
}, [isControlled, value]);
|
|
37
|
+
useEffect(() => {
|
|
38
|
+
const layer = createDismissableLayer({
|
|
39
|
+
root: () => rootRef.current,
|
|
40
|
+
open: () => open.value,
|
|
41
|
+
onDismiss: () => {
|
|
42
|
+
open.value = false;
|
|
43
|
+
activeItemId.value = null;
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
return () => layer.dispose();
|
|
47
|
+
}, []);
|
|
48
|
+
const getEnabledItems = () => itemsRef.current.filter((item) => !item.disabled && item.ref && item.ref.isConnected);
|
|
49
|
+
const focusActiveItem = () => {
|
|
50
|
+
const active = itemsRef.current.find((item) => item.id === activeItemId.value && !item.disabled);
|
|
51
|
+
active?.ref?.focus();
|
|
52
|
+
};
|
|
53
|
+
const setActiveFromTarget = (target) => {
|
|
54
|
+
const enabledItems = getEnabledItems();
|
|
55
|
+
if (enabledItems.length === 0) {
|
|
56
|
+
activeItemId.value = null;
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
if (target === "first") {
|
|
60
|
+
activeItemId.value = enabledItems[0]?.id ?? null;
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
if (target === "last") {
|
|
64
|
+
activeItemId.value = enabledItems[enabledItems.length - 1]?.id ?? null;
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
const selected = enabledItems.find((item) => item.value === selectedValue.value);
|
|
68
|
+
activeItemId.value = selected?.id ?? enabledItems[0]?.id ?? null;
|
|
69
|
+
};
|
|
70
|
+
const moveActive = (direction) => {
|
|
71
|
+
const enabledItems = getEnabledItems();
|
|
72
|
+
if (enabledItems.length === 0) {
|
|
73
|
+
activeItemId.value = null;
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
if (direction === "first") {
|
|
77
|
+
activeItemId.value = enabledItems[0]?.id ?? null;
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
if (direction === "last") {
|
|
81
|
+
activeItemId.value = enabledItems[enabledItems.length - 1]?.id ?? null;
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
const currentIndex = enabledItems.findIndex((item) => item.id === activeItemId.value);
|
|
85
|
+
if (currentIndex < 0) {
|
|
86
|
+
activeItemId.value = enabledItems[0]?.id ?? null;
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
const offset = direction === "next" ? 1 : -1;
|
|
90
|
+
const nextIndex = (currentIndex + offset + enabledItems.length) % enabledItems.length;
|
|
91
|
+
activeItemId.value = enabledItems[nextIndex]?.id ?? null;
|
|
92
|
+
};
|
|
93
|
+
const setSelected = (value2) => {
|
|
94
|
+
if (!isControlled) {
|
|
95
|
+
selectedValue.value = value2;
|
|
96
|
+
}
|
|
97
|
+
onValueChange?.(value2);
|
|
98
|
+
open.value = false;
|
|
99
|
+
activeItemId.value = null;
|
|
100
|
+
};
|
|
101
|
+
useEffect(() => {
|
|
102
|
+
if (!open.value) return;
|
|
103
|
+
setActiveFromTarget("selected");
|
|
104
|
+
}, [open.value, selectedValue.value]);
|
|
105
|
+
const openAndFocus = (target) => {
|
|
106
|
+
open.value = true;
|
|
107
|
+
setActiveFromTarget(target);
|
|
108
|
+
if (typeof requestAnimationFrame === "function") {
|
|
109
|
+
requestAnimationFrame(() => focusActiveItem());
|
|
110
|
+
} else {
|
|
111
|
+
focusActiveItem();
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
const closeAndFocusTrigger = () => {
|
|
115
|
+
open.value = false;
|
|
116
|
+
activeItemId.value = null;
|
|
117
|
+
triggerRef.current?.focus();
|
|
118
|
+
};
|
|
119
|
+
const registerItem = (item) => {
|
|
120
|
+
const index = itemsRef.current.findIndex((entry) => entry.id === item.id);
|
|
121
|
+
if (index >= 0) {
|
|
122
|
+
const next = [...itemsRef.current];
|
|
123
|
+
next[index] = item;
|
|
124
|
+
itemsRef.current = next;
|
|
125
|
+
} else {
|
|
126
|
+
itemsRef.current = [...itemsRef.current, item];
|
|
127
|
+
}
|
|
128
|
+
if (open.value && activeItemId.value === null && !item.disabled && item.ref?.isConnected) {
|
|
129
|
+
if (selectedValue.value === item.value || selectedValue.value === null) {
|
|
130
|
+
activeItemId.value = item.id;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
const unregisterItem = (id) => {
|
|
135
|
+
itemsRef.current = itemsRef.current.filter((item) => item.id !== id);
|
|
136
|
+
if (activeItemId.value === id) {
|
|
137
|
+
activeItemId.value = null;
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
return /* @__PURE__ */ jsx(
|
|
141
|
+
SelectContext.Provider,
|
|
142
|
+
{
|
|
143
|
+
value: {
|
|
144
|
+
open,
|
|
145
|
+
selectedValue,
|
|
146
|
+
activeItemId,
|
|
147
|
+
triggerId,
|
|
148
|
+
contentId,
|
|
149
|
+
setOpen: (next) => {
|
|
150
|
+
open.value = next;
|
|
151
|
+
if (!next) activeItemId.value = null;
|
|
152
|
+
},
|
|
153
|
+
setSelected,
|
|
154
|
+
openAndFocus,
|
|
155
|
+
closeAndFocusTrigger,
|
|
156
|
+
registerItem,
|
|
157
|
+
unregisterItem,
|
|
158
|
+
setActiveItemId: (id) => {
|
|
159
|
+
activeItemId.value = id;
|
|
160
|
+
},
|
|
161
|
+
moveActive,
|
|
162
|
+
focusActiveItem,
|
|
163
|
+
setTriggerNode: (node) => {
|
|
164
|
+
triggerRef.current = node;
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
children: /* @__PURE__ */ jsx(
|
|
168
|
+
"div",
|
|
169
|
+
{
|
|
170
|
+
ref: rootRef,
|
|
171
|
+
class: cn("relative", className),
|
|
172
|
+
"data-slot": "select",
|
|
173
|
+
"data-state": open.value ? "open" : "closed",
|
|
174
|
+
...rest,
|
|
175
|
+
children
|
|
176
|
+
}
|
|
177
|
+
)
|
|
178
|
+
}
|
|
179
|
+
);
|
|
180
|
+
};
|
|
181
|
+
var SelectContent = ({
|
|
182
|
+
forceMount = false,
|
|
183
|
+
children,
|
|
184
|
+
onKeyDown,
|
|
185
|
+
class: className,
|
|
186
|
+
...rest
|
|
187
|
+
}) => {
|
|
188
|
+
const select = useSelect();
|
|
189
|
+
if (!select.open.value && !forceMount) return null;
|
|
190
|
+
return /* @__PURE__ */ jsx(
|
|
191
|
+
"div",
|
|
192
|
+
{
|
|
193
|
+
id: select.contentId,
|
|
194
|
+
role: "listbox",
|
|
195
|
+
"aria-labelledby": select.triggerId,
|
|
196
|
+
tabIndex: -1,
|
|
197
|
+
"data-slot": "select-content",
|
|
198
|
+
"data-state": select.open.value ? "open" : "closed",
|
|
199
|
+
"aria-activedescendant": select.activeItemId.value ?? void 0,
|
|
200
|
+
class: cn(
|
|
201
|
+
"bg-popover text-popover-foreground absolute left-0 right-0 top-full z-50 mt-1 flex max-h-72 flex-col overflow-hidden rounded-md border border-border p-1 shadow-md",
|
|
202
|
+
className
|
|
203
|
+
),
|
|
204
|
+
onKeyDown: (event) => {
|
|
205
|
+
switch (event.key) {
|
|
206
|
+
case "ArrowDown":
|
|
207
|
+
event.preventDefault();
|
|
208
|
+
select.moveActive("next");
|
|
209
|
+
select.focusActiveItem();
|
|
210
|
+
break;
|
|
211
|
+
case "ArrowUp":
|
|
212
|
+
event.preventDefault();
|
|
213
|
+
select.moveActive("prev");
|
|
214
|
+
select.focusActiveItem();
|
|
215
|
+
break;
|
|
216
|
+
case "Home":
|
|
217
|
+
event.preventDefault();
|
|
218
|
+
select.moveActive("first");
|
|
219
|
+
select.focusActiveItem();
|
|
220
|
+
break;
|
|
221
|
+
case "End":
|
|
222
|
+
event.preventDefault();
|
|
223
|
+
select.moveActive("last");
|
|
224
|
+
select.focusActiveItem();
|
|
225
|
+
break;
|
|
226
|
+
case "Enter":
|
|
227
|
+
case " ":
|
|
228
|
+
event.preventDefault();
|
|
229
|
+
if (select.activeItemId.value) {
|
|
230
|
+
const active = document.getElementById(select.activeItemId.value);
|
|
231
|
+
active?.click();
|
|
232
|
+
}
|
|
233
|
+
break;
|
|
234
|
+
case "Escape":
|
|
235
|
+
event.preventDefault();
|
|
236
|
+
select.closeAndFocusTrigger();
|
|
237
|
+
break;
|
|
238
|
+
case "Tab":
|
|
239
|
+
select.setOpen(false);
|
|
240
|
+
break;
|
|
241
|
+
}
|
|
242
|
+
onKeyDown?.(event);
|
|
243
|
+
},
|
|
244
|
+
...rest,
|
|
245
|
+
children: /* @__PURE__ */ jsx(
|
|
246
|
+
"div",
|
|
247
|
+
{
|
|
248
|
+
"data-slot": "select-viewport",
|
|
249
|
+
class: cn(
|
|
250
|
+
"flex min-h-0 min-w-0 flex-1 flex-col items-stretch overflow-x-hidden overflow-y-auto",
|
|
251
|
+
/* Classic scrollbars steal inline-end width → uneven highlight vs. padding. Hide bar; list still scrolls (wheel, trackpad, touch, Arrow/Home/End). */
|
|
252
|
+
"[scrollbar-width:none] [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden"
|
|
253
|
+
),
|
|
254
|
+
children
|
|
255
|
+
}
|
|
256
|
+
)
|
|
257
|
+
}
|
|
258
|
+
);
|
|
259
|
+
};
|
|
260
|
+
var SelectGroup = ({ children, class: className, ...rest }) => /* @__PURE__ */ jsx("div", { "data-slot": "select-group", class: cn("p-1", className), ...rest, children });
|
|
261
|
+
var SelectItem = ({
|
|
262
|
+
value,
|
|
263
|
+
disabled = false,
|
|
264
|
+
children,
|
|
265
|
+
id,
|
|
266
|
+
onClick,
|
|
267
|
+
onFocus,
|
|
268
|
+
onKeyDown,
|
|
269
|
+
onMouseMove,
|
|
270
|
+
class: className,
|
|
271
|
+
...rest
|
|
272
|
+
}) => {
|
|
273
|
+
const select = useSelect();
|
|
274
|
+
const itemRef = useRef(null);
|
|
275
|
+
const autoIdFactory = useMemo(() => createIdFactory("select-item"), []);
|
|
276
|
+
const explicitId = typeof id === "string" ? id : void 0;
|
|
277
|
+
const itemId = useMemo(() => autoIdFactory(explicitId), [autoIdFactory, explicitId]);
|
|
278
|
+
const selected = select.selectedValue.value === value;
|
|
279
|
+
const active = select.activeItemId.value === itemId;
|
|
280
|
+
useEffect(() => {
|
|
281
|
+
select.registerItem({
|
|
282
|
+
id: itemId,
|
|
283
|
+
value,
|
|
284
|
+
ref: itemRef.current,
|
|
285
|
+
disabled
|
|
286
|
+
});
|
|
287
|
+
return () => {
|
|
288
|
+
select.unregisterItem(itemId);
|
|
289
|
+
};
|
|
290
|
+
}, [itemId, value, disabled]);
|
|
291
|
+
return /* @__PURE__ */ jsx(
|
|
292
|
+
"div",
|
|
293
|
+
{
|
|
294
|
+
ref: itemRef,
|
|
295
|
+
id: itemId,
|
|
296
|
+
role: "option",
|
|
297
|
+
"data-slot": "select-item",
|
|
298
|
+
"data-highlighted": active ? "true" : void 0,
|
|
299
|
+
"data-disabled": disabled ? "true" : void 0,
|
|
300
|
+
"data-state": selected ? "checked" : "unchecked",
|
|
301
|
+
"aria-selected": selected,
|
|
302
|
+
"aria-disabled": disabled || void 0,
|
|
303
|
+
tabIndex: disabled ? -1 : active ? 0 : -1,
|
|
304
|
+
class: cn(
|
|
305
|
+
"relative flex w-full min-w-0 shrink-0 cursor-default select-none items-center rounded-none px-2 py-1.5 text-sm outline-none transition-colors [-webkit-tap-highlight-color:transparent]",
|
|
306
|
+
/* Solid full-row fill (no rounded corners that read as “gaps” against the popover) */
|
|
307
|
+
"hover:bg-accent hover:text-accent-foreground",
|
|
308
|
+
"focus:bg-accent focus:text-accent-foreground",
|
|
309
|
+
"data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50",
|
|
310
|
+
"data-[highlighted=true]:bg-accent data-[highlighted=true]:text-accent-foreground",
|
|
311
|
+
selected && "font-medium",
|
|
312
|
+
className
|
|
313
|
+
),
|
|
314
|
+
onFocus: (event) => {
|
|
315
|
+
if (!disabled) select.setActiveItemId(itemId);
|
|
316
|
+
onFocus?.(event);
|
|
317
|
+
},
|
|
318
|
+
onMouseMove: (event) => {
|
|
319
|
+
if (!disabled) select.setActiveItemId(itemId);
|
|
320
|
+
onMouseMove?.(event);
|
|
321
|
+
},
|
|
322
|
+
onKeyDown: (event) => {
|
|
323
|
+
if (disabled) {
|
|
324
|
+
onKeyDown?.(event);
|
|
325
|
+
return;
|
|
326
|
+
}
|
|
327
|
+
if (event.key === "Enter" || event.key === " ") {
|
|
328
|
+
event.preventDefault();
|
|
329
|
+
select.setSelected(value);
|
|
330
|
+
select.closeAndFocusTrigger();
|
|
331
|
+
}
|
|
332
|
+
onKeyDown?.(event);
|
|
333
|
+
},
|
|
334
|
+
onClick: (event) => {
|
|
335
|
+
if (disabled) {
|
|
336
|
+
event.preventDefault();
|
|
337
|
+
return;
|
|
338
|
+
}
|
|
339
|
+
select.setSelected(value);
|
|
340
|
+
onClick?.(event);
|
|
341
|
+
select.closeAndFocusTrigger();
|
|
342
|
+
},
|
|
343
|
+
...rest,
|
|
344
|
+
children
|
|
345
|
+
}
|
|
346
|
+
);
|
|
347
|
+
};
|
|
348
|
+
var SelectLabel = ({ children, class: className, ...rest }) => /* @__PURE__ */ jsx("div", { "data-slot": "select-label", class: cn("text-muted-foreground px-2 py-1.5 text-xs font-semibold", className), ...rest, children });
|
|
349
|
+
var SelectSearch = ({ class: className, ...rest }) => /* @__PURE__ */ jsx(
|
|
350
|
+
"input",
|
|
351
|
+
{
|
|
352
|
+
type: "text",
|
|
353
|
+
"data-slot": "select-search",
|
|
354
|
+
class: cn(
|
|
355
|
+
"border-input bg-background placeholder:text-muted-foreground focus:ring-ring mb-1 h-8 w-full rounded-md border px-2.5 text-sm outline-none focus:ring-2",
|
|
356
|
+
className
|
|
357
|
+
),
|
|
358
|
+
...rest
|
|
359
|
+
}
|
|
360
|
+
);
|
|
361
|
+
var SelectSeparator = ({ class: className, ...rest }) => /* @__PURE__ */ jsx("div", { role: "separator", "data-slot": "select-separator", class: cn("bg-border my-1 h-px w-full shrink-0", className), ...rest });
|
|
362
|
+
var SelectTrigger = ({ children, onClick, onKeyDown, ref, class: className, ...rest }) => {
|
|
363
|
+
const select = useSelect();
|
|
364
|
+
const setRefs = (node) => {
|
|
365
|
+
select.setTriggerNode(node);
|
|
366
|
+
if (typeof ref === "function") {
|
|
367
|
+
ref(node);
|
|
368
|
+
return;
|
|
369
|
+
}
|
|
370
|
+
if (ref && typeof ref === "object") {
|
|
371
|
+
ref.current = node;
|
|
372
|
+
}
|
|
373
|
+
};
|
|
374
|
+
return /* @__PURE__ */ jsxs(
|
|
375
|
+
"button",
|
|
376
|
+
{
|
|
377
|
+
ref: setRefs,
|
|
378
|
+
type: "button",
|
|
379
|
+
"data-slot": "select-trigger",
|
|
380
|
+
id: select.triggerId,
|
|
381
|
+
"aria-haspopup": "listbox",
|
|
382
|
+
"aria-controls": select.contentId,
|
|
383
|
+
"aria-expanded": select.open.value,
|
|
384
|
+
"data-state": select.open.value ? "open" : "closed",
|
|
385
|
+
class: cn(
|
|
386
|
+
"border-input bg-background dark:bg-input/30 placeholder:text-muted-foreground flex h-8 w-full items-center justify-between gap-2 rounded-md border px-3 py-1 text-sm shadow-xs outline-none transition-[color,box-shadow]",
|
|
387
|
+
"hover:border-foreground/15",
|
|
388
|
+
"focus-visible:border-outline focus-visible:ring-3 focus-visible:ring-outline/50",
|
|
389
|
+
"data-[state=open]:border-outline data-[state=open]:ring-3 data-[state=open]:ring-outline/50",
|
|
390
|
+
"disabled:cursor-not-allowed disabled:opacity-50",
|
|
391
|
+
className
|
|
392
|
+
),
|
|
393
|
+
onClick: (event) => {
|
|
394
|
+
select.setOpen(!select.open.value);
|
|
395
|
+
onClick?.(event);
|
|
396
|
+
},
|
|
397
|
+
onKeyDown: (event) => {
|
|
398
|
+
switch (event.key) {
|
|
399
|
+
case "ArrowDown":
|
|
400
|
+
event.preventDefault();
|
|
401
|
+
if (!select.open.value) {
|
|
402
|
+
select.openAndFocus("selected");
|
|
403
|
+
} else {
|
|
404
|
+
select.moveActive("next");
|
|
405
|
+
select.focusActiveItem();
|
|
406
|
+
}
|
|
407
|
+
break;
|
|
408
|
+
case "ArrowUp":
|
|
409
|
+
event.preventDefault();
|
|
410
|
+
if (!select.open.value) {
|
|
411
|
+
select.openAndFocus("last");
|
|
412
|
+
} else {
|
|
413
|
+
select.moveActive("prev");
|
|
414
|
+
select.focusActiveItem();
|
|
415
|
+
}
|
|
416
|
+
break;
|
|
417
|
+
case "Enter":
|
|
418
|
+
case " ":
|
|
419
|
+
event.preventDefault();
|
|
420
|
+
if (!select.open.value) {
|
|
421
|
+
select.openAndFocus("selected");
|
|
422
|
+
}
|
|
423
|
+
break;
|
|
424
|
+
}
|
|
425
|
+
onKeyDown?.(event);
|
|
426
|
+
},
|
|
427
|
+
...rest,
|
|
428
|
+
children: [
|
|
429
|
+
children,
|
|
430
|
+
/* @__PURE__ */ jsx(
|
|
431
|
+
"span",
|
|
432
|
+
{
|
|
433
|
+
"aria-hidden": "true",
|
|
434
|
+
class: "text-muted-foreground pointer-events-none size-4 shrink-0 opacity-50",
|
|
435
|
+
children: /* @__PURE__ */ jsx(
|
|
436
|
+
"svg",
|
|
437
|
+
{
|
|
438
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
439
|
+
width: "16",
|
|
440
|
+
height: "16",
|
|
441
|
+
viewBox: "0 0 24 24",
|
|
442
|
+
fill: "none",
|
|
443
|
+
stroke: "currentColor",
|
|
444
|
+
"stroke-width": "2",
|
|
445
|
+
"stroke-linecap": "round",
|
|
446
|
+
"stroke-linejoin": "round",
|
|
447
|
+
class: "size-4",
|
|
448
|
+
"aria-hidden": "true",
|
|
449
|
+
children: /* @__PURE__ */ jsx("path", { d: "m6 9 6 6 6-6" })
|
|
450
|
+
}
|
|
451
|
+
)
|
|
452
|
+
}
|
|
453
|
+
)
|
|
454
|
+
]
|
|
455
|
+
}
|
|
456
|
+
);
|
|
457
|
+
};
|
|
458
|
+
var SelectValue = ({ placeholder = "Select", children, class: className, ...rest }) => {
|
|
459
|
+
const select = useSelect();
|
|
460
|
+
return /* @__PURE__ */ jsx("span", { "data-slot": "select-value", class: cn("line-clamp-1 text-left", className), ...rest, children: children ?? select.selectedValue.value ?? placeholder });
|
|
461
|
+
};
|
|
462
|
+
|
|
463
|
+
// src/components/select/index.ts
|
|
464
|
+
var select_default = {
|
|
465
|
+
Root: Select,
|
|
466
|
+
Trigger: SelectTrigger,
|
|
467
|
+
Content: SelectContent,
|
|
468
|
+
Group: SelectGroup,
|
|
469
|
+
Item: SelectItem,
|
|
470
|
+
Label: SelectLabel,
|
|
471
|
+
Search: SelectSearch,
|
|
472
|
+
Separator: SelectSeparator,
|
|
473
|
+
Value: SelectValue
|
|
474
|
+
};
|
|
475
|
+
|
|
476
|
+
export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectSearch, SelectSeparator, SelectTrigger, SelectValue, select_default };
|
|
477
|
+
//# sourceMappingURL=chunk-6FTWMOHU.js.map
|
|
478
|
+
//# sourceMappingURL=chunk-6FTWMOHU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/select/Select.tsx","../src/components/select/SelectContent.tsx","../src/components/select/SelectGroup.tsx","../src/components/select/SelectItem.tsx","../src/components/select/SelectLabel.tsx","../src/components/select/SelectSearch.tsx","../src/components/select/SelectSeparator.tsx","../src/components/select/SelectTrigger.tsx","../src/components/select/SelectValue.tsx","../src/components/select/index.ts"],"names":["value","jsx","useRef","useMemo","useEffect"],"mappings":";;;;;;;AAgCA,IAAM,aAAA,GAAgB,cAAyC,IAAI,CAAA;AAE5D,IAAM,YAAY,MAAM;AAC7B,EAAA,MAAM,OAAA,GAAU,WAAW,aAAa,CAAA;AACxC,EAAA,IAAI,CAAC,OAAA,EAAS,MAAM,IAAI,MAAM,iDAAiD,CAAA;AAC/E,EAAA,OAAO,OAAA;AACT,CAAA;AASO,IAAM,SAAS,CAAC;AAAA,EACrB,YAAA;AAAA,EACA,KAAA;AAAA,EACA,aAAA;AAAA,EACA,QAAA;AAAA,EACA,KAAA,EAAO,SAAA;AAAA,EACP,GAAG;AACL,CAAA,KAAmB;AACjB,EAAA,MAAM,OAAA,GAAU,OAA8B,IAAI,CAAA;AAClD,EAAA,MAAM,UAAA,GAAa,OAAiC,IAAI,CAAA;AACxD,EAAA,MAAM,QAAA,GAAW,MAAA,CAA2B,EAAE,CAAA;AAC9C,EAAA,MAAM,YAAY,OAAA,CAAQ,MAAM,gBAAgB,QAAQ,CAAA,EAAG,EAAE,CAAA;AAC7D,EAAA,MAAM,YAAY,OAAA,CAAQ,MAAM,WAAU,EAAG,CAAC,SAAS,CAAC,CAAA;AACxD,EAAA,MAAM,YAAY,OAAA,CAAQ,MAAM,WAAU,EAAG,CAAC,SAAS,CAAC,CAAA;AAExD,EAAA,MAAM,OAAO,OAAA,CAAQ,MAAM,OAAO,KAAK,CAAA,EAAG,EAAE,CAAA;AAC5C,EAAA,MAAM,YAAA,GAAe,OAAO,KAAA,KAAU,QAAA;AACtC,EAAA,MAAM,aAAA,GAAgB,QAAQ,MAAM,MAAA,CAAsB,SAAS,YAAA,IAAgB,IAAI,CAAA,EAAG,EAAE,CAAA;AAC5F,EAAA,MAAM,eAAe,OAAA,CAAQ,MAAM,OAAsB,IAAI,CAAA,EAAG,EAAE,CAAA;AAElE,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,YAAA,EAAc;AAChB,MAAA,aAAA,CAAc,QAAQ,KAAA,IAAS,IAAA;AAAA,IACjC;AAAA,EACF,CAAA,EAAG,CAAC,YAAA,EAAc,KAAK,CAAC,CAAA;AAExB,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,MAAM,QAAQ,sBAAA,CAAuB;AAAA,MACnC,IAAA,EAAM,MAAM,OAAA,CAAQ,OAAA;AAAA,MACpB,IAAA,EAAM,MAAM,IAAA,CAAK,KAAA;AAAA,MACjB,WAAW,MAAM;AACf,QAAA,IAAA,CAAK,KAAA,GAAQ,KAAA;AACb,QAAA,YAAA,CAAa,KAAA,GAAQ,IAAA;AAAA,MACvB;AAAA,KACD,CAAA;AACD,IAAA,OAAO,MAAM,MAAM,OAAA,EAAQ;AAAA,EAC7B,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,MAAM,eAAA,GAAkB,MACtB,QAAA,CAAS,OAAA,CAAQ,OAAO,CAAC,IAAA,KAAS,CAAC,IAAA,CAAK,QAAA,IAAY,IAAA,CAAK,GAAA,IAAO,IAAA,CAAK,IAAI,WAAW,CAAA;AAEtF,EAAA,MAAM,kBAAkB,MAAM;AAC5B,IAAA,MAAM,MAAA,GAAS,QAAA,CAAS,OAAA,CAAQ,IAAA,CAAK,CAAC,IAAA,KAAS,IAAA,CAAK,EAAA,KAAO,YAAA,CAAa,KAAA,IAAS,CAAC,IAAA,CAAK,QAAQ,CAAA;AAC/F,IAAA,MAAA,EAAQ,KAAK,KAAA,EAAM;AAAA,EACrB,CAAA;AAEA,EAAA,MAAM,mBAAA,GAAsB,CAAC,MAAA,KAA0C;AACrE,IAAA,MAAM,eAAe,eAAA,EAAgB;AACrC,IAAA,IAAI,YAAA,CAAa,WAAW,CAAA,EAAG;AAC7B,MAAA,YAAA,CAAa,KAAA,GAAQ,IAAA;AACrB,MAAA;AAAA,IACF;AAEA,IAAA,IAAI,WAAW,OAAA,EAAS;AACtB,MAAA,YAAA,CAAa,KAAA,GAAQ,YAAA,CAAa,CAAC,CAAA,EAAG,EAAA,IAAM,IAAA;AAC5C,MAAA;AAAA,IACF;AAEA,IAAA,IAAI,WAAW,MAAA,EAAQ;AACrB,MAAA,YAAA,CAAa,QAAQ,YAAA,CAAa,YAAA,CAAa,MAAA,GAAS,CAAC,GAAG,EAAA,IAAM,IAAA;AAClE,MAAA;AAAA,IACF;AAEA,IAAA,MAAM,QAAA,GAAW,aAAa,IAAA,CAAK,CAAC,SAAS,IAAA,CAAK,KAAA,KAAU,cAAc,KAAK,CAAA;AAC/E,IAAA,YAAA,CAAa,QAAQ,QAAA,EAAU,EAAA,IAAM,YAAA,CAAa,CAAC,GAAG,EAAA,IAAM,IAAA;AAAA,EAC9D,CAAA;AAEA,EAAA,MAAM,UAAA,GAAa,CAAC,SAAA,KAAkD;AACpE,IAAA,MAAM,eAAe,eAAA,EAAgB;AACrC,IAAA,IAAI,YAAA,CAAa,WAAW,CAAA,EAAG;AAC7B,MAAA,YAAA,CAAa,KAAA,GAAQ,IAAA;AACrB,MAAA;AAAA,IACF;AAEA,IAAA,IAAI,cAAc,OAAA,EAAS;AACzB,MAAA,YAAA,CAAa,KAAA,GAAQ,YAAA,CAAa,CAAC,CAAA,EAAG,EAAA,IAAM,IAAA;AAC5C,MAAA;AAAA,IACF;AAEA,IAAA,IAAI,cAAc,MAAA,EAAQ;AACxB,MAAA,YAAA,CAAa,QAAQ,YAAA,CAAa,YAAA,CAAa,MAAA,GAAS,CAAC,GAAG,EAAA,IAAM,IAAA;AAClE,MAAA;AAAA,IACF;AAEA,IAAA,MAAM,YAAA,GAAe,aAAa,SAAA,CAAU,CAAC,SAAS,IAAA,CAAK,EAAA,KAAO,aAAa,KAAK,CAAA;AACpF,IAAA,IAAI,eAAe,CAAA,EAAG;AACpB,MAAA,YAAA,CAAa,KAAA,GAAQ,YAAA,CAAa,CAAC,CAAA,EAAG,EAAA,IAAM,IAAA;AAC5C,MAAA;AAAA,IACF;AAEA,IAAA,MAAM,MAAA,GAAS,SAAA,KAAc,MAAA,GAAS,CAAA,GAAI,EAAA;AAC1C,IAAA,MAAM,SAAA,GAAA,CAAa,YAAA,GAAe,MAAA,GAAS,YAAA,CAAa,UAAU,YAAA,CAAa,MAAA;AAC/E,IAAA,YAAA,CAAa,KAAA,GAAQ,YAAA,CAAa,SAAS,CAAA,EAAG,EAAA,IAAM,IAAA;AAAA,EACtD,CAAA;AAEA,EAAA,MAAM,WAAA,GAAc,CAACA,MAAAA,KAAkB;AACrC,IAAA,IAAI,CAAC,YAAA,EAAc;AACjB,MAAA,aAAA,CAAc,KAAA,GAAQA,MAAAA;AAAA,IACxB;AACA,IAAA,aAAA,GAAgBA,MAAK,CAAA;AACrB,IAAA,IAAA,CAAK,KAAA,GAAQ,KAAA;AACb,IAAA,YAAA,CAAa,KAAA,GAAQ,IAAA;AAAA,EACvB,CAAA;AAEA,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,KAAK,KAAA,EAAO;AACjB,IAAA,mBAAA,CAAoB,UAAU,CAAA;AAAA,EAChC,GAAG,CAAC,IAAA,CAAK,KAAA,EAAO,aAAA,CAAc,KAAK,CAAC,CAAA;AAEpC,EAAA,MAAM,YAAA,GAAe,CAAC,MAAA,KAA0C;AAC9D,IAAA,IAAA,CAAK,KAAA,GAAQ,IAAA;AACb,IAAA,mBAAA,CAAoB,MAAM,CAAA;AAC1B,IAAA,IAAI,OAAO,0BAA0B,UAAA,EAAY;AAC/C,MAAA,qBAAA,CAAsB,MAAM,iBAAiB,CAAA;AAAA,IAC/C,CAAA,MAAO;AACL,MAAA,eAAA,EAAgB;AAAA,IAClB;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,uBAAuB,MAAM;AACjC,IAAA,IAAA,CAAK,KAAA,GAAQ,KAAA;AACb,IAAA,YAAA,CAAa,KAAA,GAAQ,IAAA;AACrB,IAAA,UAAA,CAAW,SAAS,KAAA,EAAM;AAAA,EAC5B,CAAA;AAEA,EAAA,MAAM,YAAA,GAAe,CAAC,IAAA,KAA2B;AAC/C,IAAA,MAAM,KAAA,GAAQ,SAAS,OAAA,CAAQ,SAAA,CAAU,CAAC,KAAA,KAAU,KAAA,CAAM,EAAA,KAAO,IAAA,CAAK,EAAE,CAAA;AACxE,IAAA,IAAI,SAAS,CAAA,EAAG;AACd,MAAA,MAAM,IAAA,GAAO,CAAC,GAAG,QAAA,CAAS,OAAO,CAAA;AACjC,MAAA,IAAA,CAAK,KAAK,CAAA,GAAI,IAAA;AACd,MAAA,QAAA,CAAS,OAAA,GAAU,IAAA;AAAA,IACrB,CAAA,MAAO;AACL,MAAA,QAAA,CAAS,OAAA,GAAU,CAAC,GAAG,QAAA,CAAS,SAAS,IAAI,CAAA;AAAA,IAC/C;AAEA,IAAA,IAAI,IAAA,CAAK,KAAA,IAAS,YAAA,CAAa,KAAA,KAAU,IAAA,IAAQ,CAAC,IAAA,CAAK,QAAA,IAAY,IAAA,CAAK,GAAA,EAAK,WAAA,EAAa;AACxF,MAAA,IAAI,cAAc,KAAA,KAAU,IAAA,CAAK,KAAA,IAAS,aAAA,CAAc,UAAU,IAAA,EAAM;AACtE,QAAA,YAAA,CAAa,QAAQ,IAAA,CAAK,EAAA;AAAA,MAC5B;AAAA,IACF;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,cAAA,GAAiB,CAAC,EAAA,KAAe;AACrC,IAAA,QAAA,CAAS,OAAA,GAAU,SAAS,OAAA,CAAQ,MAAA,CAAO,CAAC,IAAA,KAAS,IAAA,CAAK,OAAO,EAAE,CAAA;AACnE,IAAA,IAAI,YAAA,CAAa,UAAU,EAAA,EAAI;AAC7B,MAAA,YAAA,CAAa,KAAA,GAAQ,IAAA;AAAA,IACvB;AAAA,EACF,CAAA;AAEA,EAAA,uBACE,GAAA;AAAA,IAAC,aAAA,CAAc,QAAA;AAAA,IAAd;AAAA,MACC,KAAA,EAAO;AAAA,QACL,IAAA;AAAA,QACA,aAAA;AAAA,QACA,YAAA;AAAA,QACA,SAAA;AAAA,QACA,SAAA;AAAA,QACA,OAAA,EAAS,CAAC,IAAA,KAAS;AACjB,UAAA,IAAA,CAAK,KAAA,GAAQ,IAAA;AACb,UAAA,IAAI,CAAC,IAAA,EAAM,YAAA,CAAa,KAAA,GAAQ,IAAA;AAAA,QAClC,CAAA;AAAA,QACA,WAAA;AAAA,QACA,YAAA;AAAA,QACA,oBAAA;AAAA,QACA,YAAA;AAAA,QACA,cAAA;AAAA,QACA,eAAA,EAAiB,CAAC,EAAA,KAAO;AACvB,UAAA,YAAA,CAAa,KAAA,GAAQ,EAAA;AAAA,QACvB,CAAA;AAAA,QACA,UAAA;AAAA,QACA,eAAA;AAAA,QACA,cAAA,EAAgB,CAAC,IAAA,KAAS;AACxB,UAAA,UAAA,CAAW,OAAA,GAAU,IAAA;AAAA,QACvB;AAAA,OACF;AAAA,MAEA,QAAA,kBAAA,GAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,GAAA,EAAK,OAAA;AAAA,UACL,KAAA,EAAO,EAAA,CAAG,UAAA,EAAY,SAAS,CAAA;AAAA,UAC/B,WAAA,EAAU,QAAA;AAAA,UACV,YAAA,EAAY,IAAA,CAAK,KAAA,GAAQ,MAAA,GAAS,QAAA;AAAA,UACjC,GAAG,IAAA;AAAA,UAEH;AAAA;AAAA;AACH;AAAA,GACF;AAEJ;ACjOO,IAAM,gBAAgB,CAAC;AAAA,EAC5B,UAAA,GAAa,KAAA;AAAA,EACb,QAAA;AAAA,EACA,SAAA;AAAA,EACA,KAAA,EAAO,SAAA;AAAA,EACP,GAAG;AACL,CAAA,KAA0B;AACxB,EAAA,MAAM,SAAS,SAAA,EAAU;AAEzB,EAAA,IAAI,CAAC,MAAA,CAAO,IAAA,CAAK,KAAA,IAAS,CAAC,YAAY,OAAO,IAAA;AAC9C,EAAA,uBACEC,GAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,IAAI,MAAA,CAAO,SAAA;AAAA,MACX,IAAA,EAAK,SAAA;AAAA,MACL,mBAAiB,MAAA,CAAO,SAAA;AAAA,MACxB,QAAA,EAAU,EAAA;AAAA,MACV,WAAA,EAAU,gBAAA;AAAA,MACV,YAAA,EAAY,MAAA,CAAO,IAAA,CAAK,KAAA,GAAQ,MAAA,GAAS,QAAA;AAAA,MACzC,uBAAA,EAAuB,MAAA,CAAO,YAAA,CAAa,KAAA,IAAS,MAAA;AAAA,MACpD,KAAA,EAAO,EAAA;AAAA,QACL,oKAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,SAAA,EAAW,CAAC,KAAA,KAAU;AACpB,QAAA,QAAQ,MAAM,GAAA;AAAK,UACjB,KAAK,WAAA;AACH,YAAA,KAAA,CAAM,cAAA,EAAe;AACrB,YAAA,MAAA,CAAO,WAAW,MAAM,CAAA;AACxB,YAAA,MAAA,CAAO,eAAA,EAAgB;AACvB,YAAA;AAAA,UACF,KAAK,SAAA;AACH,YAAA,KAAA,CAAM,cAAA,EAAe;AACrB,YAAA,MAAA,CAAO,WAAW,MAAM,CAAA;AACxB,YAAA,MAAA,CAAO,eAAA,EAAgB;AACvB,YAAA;AAAA,UACF,KAAK,MAAA;AACH,YAAA,KAAA,CAAM,cAAA,EAAe;AACrB,YAAA,MAAA,CAAO,WAAW,OAAO,CAAA;AACzB,YAAA,MAAA,CAAO,eAAA,EAAgB;AACvB,YAAA;AAAA,UACF,KAAK,KAAA;AACH,YAAA,KAAA,CAAM,cAAA,EAAe;AACrB,YAAA,MAAA,CAAO,WAAW,MAAM,CAAA;AACxB,YAAA,MAAA,CAAO,eAAA,EAAgB;AACvB,YAAA;AAAA,UACF,KAAK,OAAA;AAAA,UACL,KAAK,GAAA;AACH,YAAA,KAAA,CAAM,cAAA,EAAe;AACrB,YAAA,IAAI,MAAA,CAAO,aAAa,KAAA,EAAO;AAC7B,cAAA,MAAM,MAAA,GAAS,QAAA,CAAS,cAAA,CAAe,MAAA,CAAO,aAAa,KAAK,CAAA;AAChE,cAAA,MAAA,EAAQ,KAAA,EAAM;AAAA,YAChB;AACA,YAAA;AAAA,UACF,KAAK,QAAA;AACH,YAAA,KAAA,CAAM,cAAA,EAAe;AACrB,YAAA,MAAA,CAAO,oBAAA,EAAqB;AAC5B,YAAA;AAAA,UACF,KAAK,KAAA;AACH,YAAA,MAAA,CAAO,QAAQ,KAAK,CAAA;AACpB,YAAA;AAEA;AAEJ,QAAA,SAAA,GAAY,KAAK,CAAA;AAAA,MACnB,CAAA;AAAA,MACC,GAAG,IAAA;AAAA,MAGJ,QAAA,kBAAAA,GAAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,WAAA,EAAU,iBAAA;AAAA,UACV,KAAA,EAAO,EAAA;AAAA,YACL,sFAAA;AAAA;AAAA,YAEA;AAAA,WACF;AAAA,UAEC;AAAA;AAAA;AACH;AAAA,GACF;AAEJ;ACpFO,IAAM,WAAA,GAAc,CAAC,EAAE,QAAA,EAAU,OAAO,SAAA,EAAW,GAAG,MAAK,qBAChEA,IAAC,KAAA,EAAA,EAAI,WAAA,EAAU,gBAAe,KAAA,EAAO,EAAA,CAAG,OAAO,SAAS,CAAA,EAAI,GAAG,IAAA,EAC5D,QAAA,EACH;ACIK,IAAM,aAAa,CAAC;AAAA,EACzB,KAAA;AAAA,EACA,QAAA,GAAW,KAAA;AAAA,EACX,QAAA;AAAA,EACA,EAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA;AAAA,EACA,WAAA;AAAA,EACA,KAAA,EAAO,SAAA;AAAA,EACP,GAAG;AACL,CAAA,KAAuB;AACrB,EAAA,MAAM,SAAS,SAAA,EAAU;AACzB,EAAA,MAAM,OAAA,GAAUC,OAA8B,IAAI,CAAA;AAClD,EAAA,MAAM,gBAAgBC,OAAAA,CAAQ,MAAM,gBAAgB,aAAa,CAAA,EAAG,EAAE,CAAA;AACtE,EAAA,MAAM,UAAA,GAAa,OAAO,EAAA,KAAO,QAAA,GAAW,EAAA,GAAK,MAAA;AACjD,EAAA,MAAM,MAAA,GAASA,QAAQ,MAAM,aAAA,CAAc,UAAU,CAAA,EAAG,CAAC,aAAA,EAAe,UAAU,CAAC,CAAA;AACnF,EAAA,MAAM,QAAA,GAAW,MAAA,CAAO,aAAA,CAAc,KAAA,KAAU,KAAA;AAChD,EAAA,MAAM,MAAA,GAAS,MAAA,CAAO,YAAA,CAAa,KAAA,KAAU,MAAA;AAE7C,EAAAC,UAAU,MAAM;AACd,IAAA,MAAA,CAAO,YAAA,CAAa;AAAA,MAClB,EAAA,EAAI,MAAA;AAAA,MACJ,KAAA;AAAA,MACA,KAAK,OAAA,CAAQ,OAAA;AAAA,MACb;AAAA,KACD,CAAA;AACD,IAAA,OAAO,MAAM;AACX,MAAA,MAAA,CAAO,eAAe,MAAM,CAAA;AAAA,IAC9B,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,MAAA,EAAQ,KAAA,EAAO,QAAQ,CAAC,CAAA;AAE5B,EAAA,uBACEH,GAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA,EAAK,OAAA;AAAA,MACL,EAAA,EAAI,MAAA;AAAA,MACJ,IAAA,EAAK,QAAA;AAAA,MACL,WAAA,EAAU,aAAA;AAAA,MACV,kBAAA,EAAkB,SAAS,MAAA,GAAS,MAAA;AAAA,MACpC,eAAA,EAAe,WAAW,MAAA,GAAS,MAAA;AAAA,MACnC,YAAA,EAAY,WAAW,SAAA,GAAY,WAAA;AAAA,MACnC,eAAA,EAAe,QAAA;AAAA,MACf,iBAAe,QAAA,IAAY,MAAA;AAAA,MAC3B,QAAA,EAAU,QAAA,GAAW,EAAA,GAAK,MAAA,GAAS,CAAA,GAAI,EAAA;AAAA,MACvC,KAAA,EAAO,EAAA;AAAA,QACL,yLAAA;AAAA;AAAA,QAEA,8CAAA;AAAA,QACA,8CAAA;AAAA,QACA,0EAAA;AAAA,QACA,kFAAA;AAAA,QACA,QAAA,IAAY,aAAA;AAAA,QACZ;AAAA,OACF;AAAA,MACA,OAAA,EAAS,CAAC,KAAA,KAAU;AAClB,QAAA,IAAI,CAAC,QAAA,EAAU,MAAA,CAAO,eAAA,CAAgB,MAAM,CAAA;AAC5C,QAAA,OAAA,GAAU,KAAK,CAAA;AAAA,MACjB,CAAA;AAAA,MACA,WAAA,EAAa,CAAC,KAAA,KAAU;AACtB,QAAA,IAAI,CAAC,QAAA,EAAU,MAAA,CAAO,eAAA,CAAgB,MAAM,CAAA;AAC5C,QAAA,WAAA,GAAc,KAAK,CAAA;AAAA,MACrB,CAAA;AAAA,MACA,SAAA,EAAW,CAAC,KAAA,KAAU;AACpB,QAAA,IAAI,QAAA,EAAU;AACZ,UAAA,SAAA,GAAY,KAAK,CAAA;AACjB,UAAA;AAAA,QACF;AACA,QAAA,IAAI,KAAA,CAAM,GAAA,KAAQ,OAAA,IAAW,KAAA,CAAM,QAAQ,GAAA,EAAK;AAC9C,UAAA,KAAA,CAAM,cAAA,EAAe;AACrB,UAAA,MAAA,CAAO,YAAY,KAAK,CAAA;AACxB,UAAA,MAAA,CAAO,oBAAA,EAAqB;AAAA,QAC9B;AACA,QAAA,SAAA,GAAY,KAAK,CAAA;AAAA,MACnB,CAAA;AAAA,MACA,OAAA,EAAS,CAAC,KAAA,KAAU;AAClB,QAAA,IAAI,QAAA,EAAU;AACZ,UAAA,KAAA,CAAM,cAAA,EAAe;AACrB,UAAA;AAAA,QACF;AACA,QAAA,MAAA,CAAO,YAAY,KAAK,CAAA;AACxB,QAAA,OAAA,GAAU,KAA0D,CAAA;AACpE,QAAA,MAAA,CAAO,oBAAA,EAAqB;AAAA,MAC9B,CAAA;AAAA,MACC,GAAG,IAAA;AAAA,MAEH;AAAA;AAAA,GACH;AAEJ;AC/FO,IAAM,WAAA,GAAc,CAAC,EAAE,QAAA,EAAU,OAAO,SAAA,EAAW,GAAG,MAAK,qBAChEA,IAAC,KAAA,EAAA,EAAI,WAAA,EAAU,gBAAe,KAAA,EAAO,EAAA,CAAG,2DAA2D,SAAS,CAAA,EAAI,GAAG,IAAA,EAChH,QAAA,EACH;ACHK,IAAM,YAAA,GAAe,CAAC,EAAE,KAAA,EAAO,WAAW,GAAG,IAAA,uBAClDA,GAAAA;AAAA,EAAC,OAAA;AAAA,EAAA;AAAA,IACC,IAAA,EAAK,MAAA;AAAA,IACL,WAAA,EAAU,eAAA;AAAA,IACV,KAAA,EAAO,EAAA;AAAA,MACL,yJAAA;AAAA,MACA;AAAA,KACF;AAAA,IACC,GAAG;AAAA;AACN;ACTK,IAAM,eAAA,GAAkB,CAAC,EAAE,KAAA,EAAO,WAAW,GAAG,IAAA,uBACrDA,GAAAA,CAAC,SAAI,IAAA,EAAK,WAAA,EAAY,aAAU,kBAAA,EAAmB,KAAA,EAAO,GAAG,qCAAA,EAAuC,SAAS,CAAA,EAAI,GAAG,IAAA,EAAM;ACErH,IAAM,aAAA,GAAgB,CAAC,EAAE,QAAA,EAAU,OAAA,EAAS,SAAA,EAAW,GAAA,EAAK,KAAA,EAAO,SAAA,EAAW,GAAG,IAAA,EAAK,KAA0B;AACrH,EAAA,MAAM,SAAS,SAAA,EAAU;AAEzB,EAAA,MAAM,OAAA,GAAU,CAAC,IAAA,KAAmC;AAClD,IAAA,MAAA,CAAO,eAAe,IAAI,CAAA;AAC1B,IAAA,IAAI,OAAO,QAAQ,UAAA,EAAY;AAC7B,MAAA,GAAA,CAAI,IAAI,CAAA;AACR,MAAA;AAAA,IACF;AACA,IAAA,IAAI,GAAA,IAAO,OAAO,GAAA,KAAQ,QAAA,EAAU;AAClC,MAAA,GAAA,CAAI,OAAA,GAAU,IAAA;AAAA,IAChB;AAAA,EACF,CAAA;AAEA,EAAA,uBACE,IAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,GAAA,EAAK,OAAA;AAAA,MACL,IAAA,EAAK,QAAA;AAAA,MACL,WAAA,EAAU,gBAAA;AAAA,MACV,IAAI,MAAA,CAAO,SAAA;AAAA,MACX,eAAA,EAAc,SAAA;AAAA,MACd,iBAAe,MAAA,CAAO,SAAA;AAAA,MACtB,eAAA,EAAe,OAAO,IAAA,CAAK,KAAA;AAAA,MAC3B,YAAA,EAAY,MAAA,CAAO,IAAA,CAAK,KAAA,GAAQ,MAAA,GAAS,QAAA;AAAA,MACzC,KAAA,EAAO,EAAA;AAAA,QACL,2NAAA;AAAA,QACA,4BAAA;AAAA,QACA,iFAAA;AAAA,QACA,6FAAA;AAAA,QACA,iDAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,OAAA,EAAS,CAAC,KAAA,KAAU;AAClB,QAAA,MAAA,CAAO,OAAA,CAAQ,CAAC,MAAA,CAAO,IAAA,CAAK,KAAK,CAAA;AACjC,QAAA,OAAA,GAAU,KAAK,CAAA;AAAA,MACjB,CAAA;AAAA,MACA,SAAA,EAAW,CAAC,KAAA,KAAU;AACpB,QAAA,QAAQ,MAAM,GAAA;AAAK,UACjB,KAAK,WAAA;AACH,YAAA,KAAA,CAAM,cAAA,EAAe;AACrB,YAAA,IAAI,CAAC,MAAA,CAAO,IAAA,CAAK,KAAA,EAAO;AACtB,cAAA,MAAA,CAAO,aAAa,UAAU,CAAA;AAAA,YAChC,CAAA,MAAO;AACL,cAAA,MAAA,CAAO,WAAW,MAAM,CAAA;AACxB,cAAA,MAAA,CAAO,eAAA,EAAgB;AAAA,YACzB;AACA,YAAA;AAAA,UACF,KAAK,SAAA;AACH,YAAA,KAAA,CAAM,cAAA,EAAe;AACrB,YAAA,IAAI,CAAC,MAAA,CAAO,IAAA,CAAK,KAAA,EAAO;AACtB,cAAA,MAAA,CAAO,aAAa,MAAM,CAAA;AAAA,YAC5B,CAAA,MAAO;AACL,cAAA,MAAA,CAAO,WAAW,MAAM,CAAA;AACxB,cAAA,MAAA,CAAO,eAAA,EAAgB;AAAA,YACzB;AACA,YAAA;AAAA,UACF,KAAK,OAAA;AAAA,UACL,KAAK,GAAA;AACH,YAAA,KAAA,CAAM,cAAA,EAAe;AACrB,YAAA,IAAI,CAAC,MAAA,CAAO,IAAA,CAAK,KAAA,EAAO;AACtB,cAAA,MAAA,CAAO,aAAa,UAAU,CAAA;AAAA,YAChC;AACA,YAAA;AAEA;AAEJ,QAAA,SAAA,GAAY,KAAK,CAAA;AAAA,MACnB,CAAA;AAAA,MACC,GAAG,IAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,QAAA;AAAA,wBACDA,GAAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,aAAA,EAAY,MAAA;AAAA,YACZ,KAAA,EAAM,sEAAA;AAAA,YAEN,QAAA,kBAAAA,GAAAA;AAAA,cAAC,KAAA;AAAA,cAAA;AAAA,gBACC,KAAA,EAAM,4BAAA;AAAA,gBACN,KAAA,EAAM,IAAA;AAAA,gBACN,MAAA,EAAO,IAAA;AAAA,gBACP,OAAA,EAAQ,WAAA;AAAA,gBACR,IAAA,EAAK,MAAA;AAAA,gBACL,MAAA,EAAO,cAAA;AAAA,gBACP,cAAA,EAAa,GAAA;AAAA,gBACb,gBAAA,EAAe,OAAA;AAAA,gBACf,iBAAA,EAAgB,OAAA;AAAA,gBAChB,KAAA,EAAM,QAAA;AAAA,gBACN,aAAA,EAAY,MAAA;AAAA,gBAEZ,QAAA,kBAAAA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,cAAA,EAAe;AAAA;AAAA;AACzB;AAAA;AACF;AAAA;AAAA,GACF;AAEJ;AC5FO,IAAM,WAAA,GAAc,CAAC,EAAE,WAAA,GAAc,QAAA,EAAU,UAAU,KAAA,EAAO,SAAA,EAAW,GAAG,IAAA,EAAK,KAAwB;AAChH,EAAA,MAAM,SAAS,SAAA,EAAU;AACzB,EAAA,uBACEA,GAAAA,CAAC,MAAA,EAAA,EAAK,WAAA,EAAU,cAAA,EAAe,OAAO,EAAA,CAAG,wBAAA,EAA0B,SAAS,CAAA,EAAI,GAAG,IAAA,EAChF,QAAA,EAAA,QAAA,IAAY,MAAA,CAAO,aAAA,CAAc,SAAS,WAAA,EAC7C,CAAA;AAEJ;;;ACMA,IAAO,cAAA,GAAQ;AAAA,EACb,IAAA,EAAM,MAAA;AAAA,EACN,OAAA,EAAS,aAAA;AAAA,EACT,OAAA,EAAS,aAAA;AAAA,EACT,KAAA,EAAO,WAAA;AAAA,EACP,IAAA,EAAM,UAAA;AAAA,EACN,KAAA,EAAO,WAAA;AAAA,EACP,MAAA,EAAQ,YAAA;AAAA,EACR,SAAA,EAAW,eAAA;AAAA,EACX,KAAA,EAAO;AACT","file":"chunk-6FTWMOHU.js","sourcesContent":["import { signal } from \"@preact/signals\";\nimport { createContext } from \"preact\";\nimport { useContext, useEffect, useMemo, useRef } from \"preact/hooks\";\nimport type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { createIdFactory, createDismissableLayer } from \"../../lib/interactive\";\n\ntype SelectItemRecord = {\n id: string;\n value: string;\n ref: HTMLDivElement | null;\n disabled: boolean;\n};\n\ntype SelectContextValue = {\n open: ReturnType<typeof signal<boolean>>;\n selectedValue: ReturnType<typeof signal<string | null>>;\n activeItemId: ReturnType<typeof signal<string | null>>;\n triggerId: string;\n contentId: string;\n setOpen: (next: boolean) => void;\n setSelected: (value: string) => void;\n openAndFocus: (target: \"selected\" | \"first\" | \"last\") => void;\n closeAndFocusTrigger: () => void;\n registerItem: (item: SelectItemRecord) => void;\n unregisterItem: (id: string) => void;\n setActiveItemId: (id: string | null) => void;\n moveActive: (direction: \"next\" | \"prev\" | \"first\" | \"last\") => void;\n focusActiveItem: () => void;\n setTriggerNode: (node: HTMLButtonElement | null) => void;\n};\n\nconst SelectContext = createContext<SelectContextValue | null>(null);\n\nexport const useSelect = () => {\n const context = useContext(SelectContext);\n if (!context) throw new Error(\"Select subcomponents must be used within Select\");\n return context;\n};\n\nexport type SelectProps = JSX.HTMLAttributes<HTMLDivElement> & {\n defaultValue?: string;\n value?: string;\n onValueChange?: (value: string) => void;\n children?: ComponentChildren;\n};\n\nexport const Select = ({\n defaultValue,\n value,\n onValueChange,\n children,\n class: className,\n ...rest\n}: SelectProps) => {\n const rootRef = useRef<HTMLDivElement | null>(null);\n const triggerRef = useRef<HTMLButtonElement | null>(null);\n const itemsRef = useRef<SelectItemRecord[]>([]);\n const idFactory = useMemo(() => createIdFactory(\"select\"), []);\n const triggerId = useMemo(() => idFactory(), [idFactory]);\n const contentId = useMemo(() => idFactory(), [idFactory]);\n\n const open = useMemo(() => signal(false), []);\n const isControlled = typeof value === \"string\";\n const selectedValue = useMemo(() => signal<string | null>(value ?? defaultValue ?? null), []);\n const activeItemId = useMemo(() => signal<string | null>(null), []);\n\n useEffect(() => {\n if (isControlled) {\n selectedValue.value = value ?? null;\n }\n }, [isControlled, value]);\n\n useEffect(() => {\n const layer = createDismissableLayer({\n root: () => rootRef.current,\n open: () => open.value,\n onDismiss: () => {\n open.value = false;\n activeItemId.value = null;\n }\n });\n return () => layer.dispose();\n }, []);\n\n const getEnabledItems = () =>\n itemsRef.current.filter((item) => !item.disabled && item.ref && item.ref.isConnected);\n\n const focusActiveItem = () => {\n const active = itemsRef.current.find((item) => item.id === activeItemId.value && !item.disabled);\n active?.ref?.focus();\n };\n\n const setActiveFromTarget = (target: \"selected\" | \"first\" | \"last\") => {\n const enabledItems = getEnabledItems();\n if (enabledItems.length === 0) {\n activeItemId.value = null;\n return;\n }\n\n if (target === \"first\") {\n activeItemId.value = enabledItems[0]?.id ?? null;\n return;\n }\n\n if (target === \"last\") {\n activeItemId.value = enabledItems[enabledItems.length - 1]?.id ?? null;\n return;\n }\n\n const selected = enabledItems.find((item) => item.value === selectedValue.value);\n activeItemId.value = selected?.id ?? enabledItems[0]?.id ?? null;\n };\n\n const moveActive = (direction: \"next\" | \"prev\" | \"first\" | \"last\") => {\n const enabledItems = getEnabledItems();\n if (enabledItems.length === 0) {\n activeItemId.value = null;\n return;\n }\n\n if (direction === \"first\") {\n activeItemId.value = enabledItems[0]?.id ?? null;\n return;\n }\n\n if (direction === \"last\") {\n activeItemId.value = enabledItems[enabledItems.length - 1]?.id ?? null;\n return;\n }\n\n const currentIndex = enabledItems.findIndex((item) => item.id === activeItemId.value);\n if (currentIndex < 0) {\n activeItemId.value = enabledItems[0]?.id ?? null;\n return;\n }\n\n const offset = direction === \"next\" ? 1 : -1;\n const nextIndex = (currentIndex + offset + enabledItems.length) % enabledItems.length;\n activeItemId.value = enabledItems[nextIndex]?.id ?? null;\n };\n\n const setSelected = (value: string) => {\n if (!isControlled) {\n selectedValue.value = value;\n }\n onValueChange?.(value);\n open.value = false;\n activeItemId.value = null;\n };\n\n useEffect(() => {\n if (!open.value) return;\n setActiveFromTarget(\"selected\");\n }, [open.value, selectedValue.value]);\n\n const openAndFocus = (target: \"selected\" | \"first\" | \"last\") => {\n open.value = true;\n setActiveFromTarget(target);\n if (typeof requestAnimationFrame === \"function\") {\n requestAnimationFrame(() => focusActiveItem());\n } else {\n focusActiveItem();\n }\n };\n\n const closeAndFocusTrigger = () => {\n open.value = false;\n activeItemId.value = null;\n triggerRef.current?.focus();\n };\n\n const registerItem = (item: SelectItemRecord) => {\n const index = itemsRef.current.findIndex((entry) => entry.id === item.id);\n if (index >= 0) {\n const next = [...itemsRef.current];\n next[index] = item;\n itemsRef.current = next;\n } else {\n itemsRef.current = [...itemsRef.current, item];\n }\n\n if (open.value && activeItemId.value === null && !item.disabled && item.ref?.isConnected) {\n if (selectedValue.value === item.value || selectedValue.value === null) {\n activeItemId.value = item.id;\n }\n }\n };\n\n const unregisterItem = (id: string) => {\n itemsRef.current = itemsRef.current.filter((item) => item.id !== id);\n if (activeItemId.value === id) {\n activeItemId.value = null;\n }\n };\n\n return (\n <SelectContext.Provider\n value={{\n open,\n selectedValue,\n activeItemId,\n triggerId,\n contentId,\n setOpen: (next) => {\n open.value = next;\n if (!next) activeItemId.value = null;\n },\n setSelected,\n openAndFocus,\n closeAndFocusTrigger,\n registerItem,\n unregisterItem,\n setActiveItemId: (id) => {\n activeItemId.value = id;\n },\n moveActive,\n focusActiveItem,\n setTriggerNode: (node) => {\n triggerRef.current = node;\n }\n }}\n >\n <div\n ref={rootRef}\n class={cn(\"relative\", className)}\n data-slot=\"select\"\n data-state={open.value ? \"open\" : \"closed\"}\n {...rest}\n >\n {children}\n </div>\n </SelectContext.Provider>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { useSelect } from \"./Select\";\n\nexport type SelectContentProps = JSX.HTMLAttributes<HTMLDivElement> & {\n forceMount?: boolean;\n children?: ComponentChildren;\n};\n\nexport const SelectContent = ({\n forceMount = false,\n children,\n onKeyDown,\n class: className,\n ...rest\n}: SelectContentProps) => {\n const select = useSelect();\n\n if (!select.open.value && !forceMount) return null;\n return (\n <div\n id={select.contentId}\n role=\"listbox\"\n aria-labelledby={select.triggerId}\n tabIndex={-1}\n data-slot=\"select-content\"\n data-state={select.open.value ? \"open\" : \"closed\"}\n aria-activedescendant={select.activeItemId.value ?? undefined}\n class={cn(\n \"bg-popover text-popover-foreground absolute left-0 right-0 top-full z-50 mt-1 flex max-h-72 flex-col overflow-hidden rounded-md border border-border p-1 shadow-md\",\n className\n )}\n onKeyDown={(event) => {\n switch (event.key) {\n case \"ArrowDown\":\n event.preventDefault();\n select.moveActive(\"next\");\n select.focusActiveItem();\n break;\n case \"ArrowUp\":\n event.preventDefault();\n select.moveActive(\"prev\");\n select.focusActiveItem();\n break;\n case \"Home\":\n event.preventDefault();\n select.moveActive(\"first\");\n select.focusActiveItem();\n break;\n case \"End\":\n event.preventDefault();\n select.moveActive(\"last\");\n select.focusActiveItem();\n break;\n case \"Enter\":\n case \" \":\n event.preventDefault();\n if (select.activeItemId.value) {\n const active = document.getElementById(select.activeItemId.value) as HTMLDivElement | null;\n active?.click();\n }\n break;\n case \"Escape\":\n event.preventDefault();\n select.closeAndFocusTrigger();\n break;\n case \"Tab\":\n select.setOpen(false);\n break;\n default:\n break;\n }\n onKeyDown?.(event);\n }}\n {...rest}\n >\n {/* Padding lives on the outer shell; scrolling on the inner viewport avoids asymmetric layout when a scrollbar is present (padding + gutter on one element skews highlights). */}\n <div\n data-slot=\"select-viewport\"\n class={cn(\n \"flex min-h-0 min-w-0 flex-1 flex-col items-stretch overflow-x-hidden overflow-y-auto\",\n /* Classic scrollbars steal inline-end width → uneven highlight vs. padding. Hide bar; list still scrolls (wheel, trackpad, touch, Arrow/Home/End). */\n \"[scrollbar-width:none] [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden\"\n )}\n >\n {children}\n </div>\n </div>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type SelectGroupProps = JSX.HTMLAttributes<HTMLDivElement> & { children?: ComponentChildren };\n\nexport const SelectGroup = ({ children, class: className, ...rest }: SelectGroupProps) => (\n <div data-slot=\"select-group\" class={cn(\"p-1\", className)} {...rest}>\n {children}\n </div>\n);\n\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { useEffect, useMemo, useRef } from \"preact/hooks\";\nimport { createIdFactory } from \"../../lib/interactive\";\nimport { cn } from \"../../lib/utils\";\nimport { useSelect } from \"./Select\";\n\nexport type SelectItemProps = JSX.HTMLAttributes<HTMLDivElement> & {\n value: string;\n disabled?: boolean;\n children?: ComponentChildren;\n};\n\nexport const SelectItem = ({\n value,\n disabled = false,\n children,\n id,\n onClick,\n onFocus,\n onKeyDown,\n onMouseMove,\n class: className,\n ...rest\n}: SelectItemProps) => {\n const select = useSelect();\n const itemRef = useRef<HTMLDivElement | null>(null);\n const autoIdFactory = useMemo(() => createIdFactory(\"select-item\"), []);\n const explicitId = typeof id === \"string\" ? id : undefined;\n const itemId = useMemo(() => autoIdFactory(explicitId), [autoIdFactory, explicitId]);\n const selected = select.selectedValue.value === value;\n const active = select.activeItemId.value === itemId;\n\n useEffect(() => {\n select.registerItem({\n id: itemId,\n value,\n ref: itemRef.current,\n disabled\n });\n return () => {\n select.unregisterItem(itemId);\n };\n }, [itemId, value, disabled]);\n\n return (\n <div\n ref={itemRef}\n id={itemId}\n role=\"option\"\n data-slot=\"select-item\"\n data-highlighted={active ? \"true\" : undefined}\n data-disabled={disabled ? \"true\" : undefined}\n data-state={selected ? \"checked\" : \"unchecked\"}\n aria-selected={selected}\n aria-disabled={disabled || undefined}\n tabIndex={disabled ? -1 : active ? 0 : -1}\n class={cn(\n \"relative flex w-full min-w-0 shrink-0 cursor-default select-none items-center rounded-none px-2 py-1.5 text-sm outline-none transition-colors [-webkit-tap-highlight-color:transparent]\",\n /* Solid full-row fill (no rounded corners that read as “gaps” against the popover) */\n \"hover:bg-accent hover:text-accent-foreground\",\n \"focus:bg-accent focus:text-accent-foreground\",\n \"data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50\",\n \"data-[highlighted=true]:bg-accent data-[highlighted=true]:text-accent-foreground\",\n selected && \"font-medium\",\n className\n )}\n onFocus={(event) => {\n if (!disabled) select.setActiveItemId(itemId);\n onFocus?.(event);\n }}\n onMouseMove={(event) => {\n if (!disabled) select.setActiveItemId(itemId);\n onMouseMove?.(event);\n }}\n onKeyDown={(event) => {\n if (disabled) {\n onKeyDown?.(event);\n return;\n }\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n select.setSelected(value);\n select.closeAndFocusTrigger();\n }\n onKeyDown?.(event);\n }}\n onClick={(event) => {\n if (disabled) {\n event.preventDefault();\n return;\n }\n select.setSelected(value);\n onClick?.(event as unknown as JSX.TargetedMouseEvent<HTMLDivElement>);\n select.closeAndFocusTrigger();\n }}\n {...rest}\n >\n {children}\n </div>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type SelectLabelProps = JSX.HTMLAttributes<HTMLDivElement> & { children?: ComponentChildren };\n\nexport const SelectLabel = ({ children, class: className, ...rest }: SelectLabelProps) => (\n <div data-slot=\"select-label\" class={cn(\"text-muted-foreground px-2 py-1.5 text-xs font-semibold\", className)} {...rest}>\n {children}\n </div>\n);\n\n","import type { JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type SelectSearchProps = JSX.InputHTMLAttributes<HTMLInputElement>;\n\nexport const SelectSearch = ({ class: className, ...rest }: SelectSearchProps) => (\n <input\n type=\"text\"\n data-slot=\"select-search\"\n class={cn(\n \"border-input bg-background placeholder:text-muted-foreground focus:ring-ring mb-1 h-8 w-full rounded-md border px-2.5 text-sm outline-none focus:ring-2\",\n className\n )}\n {...rest}\n />\n);\n\n","import type { JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\n\nexport type SelectSeparatorProps = JSX.HTMLAttributes<HTMLDivElement>;\n\nexport const SelectSeparator = ({ class: className, ...rest }: SelectSeparatorProps) => (\n <div role=\"separator\" data-slot=\"select-separator\" class={cn(\"bg-border my-1 h-px w-full shrink-0\", className)} {...rest} />\n);\n\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { useSelect } from \"./Select\";\n\nexport type SelectTriggerProps = JSX.ButtonHTMLAttributes<HTMLButtonElement> & {\n children?: ComponentChildren;\n};\n\nexport const SelectTrigger = ({ children, onClick, onKeyDown, ref, class: className, ...rest }: SelectTriggerProps) => {\n const select = useSelect();\n\n const setRefs = (node: HTMLButtonElement | null) => {\n select.setTriggerNode(node);\n if (typeof ref === \"function\") {\n ref(node);\n return;\n }\n if (ref && typeof ref === \"object\") {\n ref.current = node;\n }\n };\n\n return (\n <button\n ref={setRefs}\n type=\"button\"\n data-slot=\"select-trigger\"\n id={select.triggerId}\n aria-haspopup=\"listbox\"\n aria-controls={select.contentId}\n aria-expanded={select.open.value}\n data-state={select.open.value ? \"open\" : \"closed\"}\n class={cn(\n \"border-input bg-background dark:bg-input/30 placeholder:text-muted-foreground flex h-8 w-full items-center justify-between gap-2 rounded-md border px-3 py-1 text-sm shadow-xs outline-none transition-[color,box-shadow]\",\n \"hover:border-foreground/15\",\n \"focus-visible:border-outline focus-visible:ring-3 focus-visible:ring-outline/50\",\n \"data-[state=open]:border-outline data-[state=open]:ring-3 data-[state=open]:ring-outline/50\",\n \"disabled:cursor-not-allowed disabled:opacity-50\",\n className\n )}\n onClick={(event) => {\n select.setOpen(!select.open.value);\n onClick?.(event);\n }}\n onKeyDown={(event) => {\n switch (event.key) {\n case \"ArrowDown\":\n event.preventDefault();\n if (!select.open.value) {\n select.openAndFocus(\"selected\");\n } else {\n select.moveActive(\"next\");\n select.focusActiveItem();\n }\n break;\n case \"ArrowUp\":\n event.preventDefault();\n if (!select.open.value) {\n select.openAndFocus(\"last\");\n } else {\n select.moveActive(\"prev\");\n select.focusActiveItem();\n }\n break;\n case \"Enter\":\n case \" \":\n event.preventDefault();\n if (!select.open.value) {\n select.openAndFocus(\"selected\");\n }\n break;\n default:\n break;\n }\n onKeyDown?.(event);\n }}\n {...rest}\n >\n {children}\n <span\n aria-hidden=\"true\"\n class=\"text-muted-foreground pointer-events-none size-4 shrink-0 opacity-50\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n class=\"size-4\"\n aria-hidden=\"true\"\n >\n <path d=\"m6 9 6 6 6-6\" />\n </svg>\n </span>\n </button>\n );\n};\n","import type { ComponentChildren, JSX } from \"preact\";\nimport { cn } from \"../../lib/utils\";\nimport { useSelect } from \"./Select\";\n\nexport type SelectValueProps = JSX.HTMLAttributes<HTMLSpanElement> & {\n placeholder?: string;\n children?: ComponentChildren;\n};\n\nexport const SelectValue = ({ placeholder = \"Select\", children, class: className, ...rest }: SelectValueProps) => {\n const select = useSelect();\n return (\n <span data-slot=\"select-value\" class={cn(\"line-clamp-1 text-left\", className)} {...rest}>\n {children ?? select.selectedValue.value ?? placeholder}\n </span>\n );\n};\n\n","import { Select } from \"./Select\";\nimport { SelectContent } from \"./SelectContent\";\nimport { SelectGroup } from \"./SelectGroup\";\nimport { SelectItem } from \"./SelectItem\";\nimport { SelectLabel } from \"./SelectLabel\";\nimport { SelectSearch } from \"./SelectSearch\";\nimport { SelectSeparator } from \"./SelectSeparator\";\nimport { SelectTrigger } from \"./SelectTrigger\";\nimport { SelectValue } from \"./SelectValue\";\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectSearch,\n SelectSeparator,\n SelectTrigger,\n SelectValue\n};\n\nexport default {\n Root: Select,\n Trigger: SelectTrigger,\n Content: SelectContent,\n Group: SelectGroup,\n Item: SelectItem,\n Label: SelectLabel,\n Search: SelectSearch,\n Separator: SelectSeparator,\n Value: SelectValue\n};\n"]}
|