@gv-tech/ui-web 2.22.1 → 2.23.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/dist/accordion-Dd8Hrexd.mjs +244 -0
- package/dist/accordion-DdSOiVyo.js +1 -0
- package/dist/accordion.cjs +1 -1
- package/dist/accordion.d.ts +5 -7
- package/dist/accordion.d.ts.map +1 -1
- package/dist/accordion.mjs +1 -2
- package/dist/alert-dialog-B7zX3gJX.js +7 -0
- package/dist/alert-dialog-BQoG5g_w.mjs +213 -0
- package/dist/alert-dialog.cjs +1 -1
- package/dist/alert-dialog.d.ts +17 -21
- package/dist/alert-dialog.d.ts.map +1 -1
- package/dist/alert-dialog.mjs +2 -4
- package/dist/alert.cjs +1 -1
- package/dist/alert.d.ts +8 -8
- package/dist/alert.d.ts.map +1 -1
- package/dist/alert.mjs +37 -29
- package/dist/{aspect-ratio-CFWobEnT.mjs → aspect-ratio-DnChDaBi.mjs} +10 -4
- package/dist/{aspect-ratio-D9dApiWv.js → aspect-ratio-QD1ZXP2B.js} +1 -1
- package/dist/aspect-ratio.cjs +1 -1
- package/dist/aspect-ratio.d.ts +2 -4
- package/dist/aspect-ratio.d.ts.map +1 -1
- package/dist/aspect-ratio.mjs +1 -1
- package/dist/avatar-C4onD8-4.mjs +127 -0
- package/dist/avatar-ki_M47qG.js +1 -0
- package/dist/avatar.cjs +1 -1
- package/dist/avatar.d.ts +10 -7
- package/dist/avatar.d.ts.map +1 -1
- package/dist/avatar.mjs +2 -3
- package/dist/badge.cjs +1 -1
- package/dist/badge.d.ts +4 -5
- package/dist/badge.d.ts.map +1 -1
- package/dist/badge.mjs +17 -13
- package/dist/breadcrumb.cjs +1 -1
- package/dist/breadcrumb.d.ts +9 -17
- package/dist/breadcrumb.d.ts.map +1 -1
- package/dist/breadcrumb.mjs +67 -58
- package/dist/button-group.cjs +1 -0
- package/dist/button-group.d.ts +11 -0
- package/dist/button-group.d.ts.map +1 -0
- package/dist/button-group.mjs +39 -0
- package/dist/button.cjs +1 -1
- package/dist/button.d.ts +3 -5
- package/dist/button.d.ts.map +1 -1
- package/dist/button.mjs +33 -26
- package/dist/calendar-D9sapvfY.js +1 -0
- package/dist/{calendar-DtFx4qdT.mjs → calendar-Dg6VGycy.mjs} +631 -625
- package/dist/calendar.cjs +1 -1
- package/dist/calendar.d.ts +5 -5
- package/dist/calendar.d.ts.map +1 -1
- package/dist/calendar.mjs +1 -2
- package/dist/card.cjs +1 -1
- package/dist/card.d.ts +10 -10
- package/dist/card.d.ts.map +1 -1
- package/dist/card.mjs +53 -40
- package/dist/carousel-6oFHLN7R.js +1 -0
- package/dist/{carousel-PQJ97GjQ.mjs → carousel-DbDoNdqJ.mjs} +54 -59
- package/dist/carousel.cjs +1 -1
- package/dist/carousel.d.ts +18 -13
- package/dist/carousel.d.ts.map +1 -1
- package/dist/carousel.mjs +2 -4
- package/dist/chart.cjs +3 -3
- package/dist/chart.d.ts +35 -7
- package/dist/chart.d.ts.map +1 -1
- package/dist/chart.mjs +64 -71
- package/dist/checkbox-BLgY82mB.js +1 -0
- package/dist/{checkbox-BOmSuATv.mjs → checkbox-Bts_zfqd.mjs} +32 -29
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.d.ts +2 -5
- package/dist/checkbox.d.ts.map +1 -1
- package/dist/checkbox.mjs +1 -2
- package/dist/collapsible.cjs +1 -1
- package/dist/collapsible.d.ts +4 -6
- package/dist/collapsible.d.ts.map +1 -1
- package/dist/collapsible.mjs +21 -3
- package/dist/combobox-6qNx9Wbb.js +4 -0
- package/dist/combobox-yDMqxM_J.mjs +5522 -0
- package/dist/combobox.cjs +1 -0
- package/dist/combobox.d.ts +21 -0
- package/dist/combobox.d.ts.map +1 -0
- package/dist/combobox.mjs +4 -0
- package/dist/command-C6wJ5giF.mjs +576 -0
- package/dist/command-DCrPL1iW.js +1 -0
- package/dist/command.cjs +1 -1
- package/dist/command.d.ts +16 -80
- package/dist/command.d.ts.map +1 -1
- package/dist/command.mjs +1 -2
- package/dist/context-menu-CydUpD4W.mjs +349 -0
- package/dist/context-menu-DQ7XuuG5.js +1 -0
- package/dist/context-menu.cjs +1 -1
- package/dist/context-menu.d.ts +29 -21
- package/dist/context-menu.d.ts.map +1 -1
- package/dist/context-menu.mjs +1 -2
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.d.ts +15 -17
- package/dist/dialog.d.ts.map +1 -1
- package/dist/dialog.mjs +89 -43
- package/dist/direction.cjs +1 -0
- package/dist/direction.d.ts +7 -0
- package/dist/direction.d.ts.map +1 -0
- package/dist/direction.mjs +15 -0
- package/dist/dist-1C8JOpVg.js +1 -0
- package/dist/{dist-CTaBktQl.mjs → dist-B1OcuinL.mjs} +93 -92
- package/dist/dist-BGZDG175.mjs +199 -0
- package/dist/dist-BPBwSSyk.mjs +8 -0
- package/dist/{dist-BTlmz3JV.js → dist-BPX1UGAz2.js} +1 -1
- package/dist/dist-BRsDdVlJ.js +1 -0
- package/dist/{dist-_LAgxsbh.mjs → dist-BWwCr-xN.mjs} +10 -9
- package/dist/dist-BYdcKuDi.mjs +16 -0
- package/dist/{dist-DCKyUINZ.mjs → dist-BlB11V_z.mjs} +1 -1
- package/dist/dist-CCXBcfM3.js +1 -0
- package/dist/{dist--EFQaGUD.mjs → dist-CDU9vno-.mjs} +4 -4
- package/dist/dist-CJolxugc.js +1 -0
- package/dist/dist-CQhWBhaI.mjs +91 -0
- package/dist/dist-CRLbUj9C.js +1 -0
- package/dist/dist-CWElW7UD.js +1 -0
- package/dist/{dist-NIAlh3KC.js → dist-CXbzwSnE.js} +1 -1
- package/dist/{dist-C5EZ0AD6.mjs → dist-CYj6O95k.mjs} +42 -41
- package/dist/{dist-Bjlzl0jN.mjs → dist-Cacc4QIh.mjs} +13 -10
- package/dist/dist-ChuP-5Gb.js +1 -0
- package/dist/dist-CiM892Rg.js +1 -0
- package/dist/{dist-Doq7FY_P.js → dist-CuMQq0hV.js} +1 -1
- package/dist/dist-DMnXk8Uo.js +1 -0
- package/dist/{dist-CRmJFaEL.mjs → dist-DPBTfUqI.mjs} +18 -17
- package/dist/dist-DR0lXVFG.js +1 -0
- package/dist/dist-Da7BU5sd.js +5 -0
- package/dist/{dist-D_tuvB-W.mjs → dist-Dz3LbuDd.mjs} +8 -9
- package/dist/{dist-9gQKRtL7.mjs → dist-GhACpuJb2.mjs} +1 -1
- package/dist/dist-o4zlRoDG.js +1 -0
- package/dist/{dist-DdVp13bp.mjs → dist-rGeQfsgN.mjs} +1 -1
- package/dist/{dist-BQOrag93.mjs → dist-tvb2Wafb.mjs} +22 -21
- package/dist/drawer.cjs +1 -1
- package/dist/drawer.d.ts +10 -21
- package/dist/drawer.d.ts.map +1 -1
- package/dist/drawer.mjs +74 -45
- package/dist/dropdown-menu-BoJvZ3Fj.js +1 -0
- package/dist/dropdown-menu-CriaO1_i.mjs +347 -0
- package/dist/dropdown-menu.cjs +1 -1
- package/dist/dropdown-menu.d.ts +27 -21
- package/dist/dropdown-menu.d.ts.map +1 -1
- package/dist/dropdown-menu.mjs +1 -1
- package/dist/empty.cjs +1 -0
- package/dist/empty.d.ts +13 -0
- package/dist/empty.d.ts.map +1 -0
- package/dist/empty.mjs +60 -0
- package/dist/{es2015-DkZq_IIO.mjs → es2015-BhmbVcui.mjs} +2 -2
- package/dist/{es2015-Ca60p53M.js → es2015-D22cM8Q_.js} +1 -1
- package/dist/field.cjs +1 -0
- package/dist/field.d.ts +18 -0
- package/dist/field.d.ts.map +1 -0
- package/dist/field.mjs +109 -0
- package/dist/floating-ui.react-dom-DgS_bqyY.mjs +1089 -0
- package/dist/floating-ui.react-dom-DpCJEf_x.js +1 -0
- package/dist/form.cjs +1 -1
- package/dist/form.mjs +8 -8
- package/dist/hooks/use-mobile.d.ts +2 -0
- package/dist/hooks/use-mobile.d.ts.map +1 -0
- package/dist/hooks/use-theme.d.ts +16 -0
- package/dist/hooks/use-theme.d.ts.map +1 -1
- package/dist/{hover-card-BOk3-K0k.mjs → hover-card-CJ-ibpbC.mjs} +53 -33
- package/dist/hover-card-CK5SjVLL.js +1 -0
- package/dist/hover-card.cjs +1 -1
- package/dist/hover-card.d.ts +4 -6
- package/dist/hover-card.d.ts.map +1 -1
- package/dist/hover-card.mjs +1 -2
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +14 -43
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +66 -54
- package/dist/input-group.cjs +1 -0
- package/dist/input-group.d.ts +18 -0
- package/dist/input-group.d.ts.map +1 -0
- package/dist/input-group.mjs +78 -0
- package/dist/input-otp-BH_9dVhh.mjs +391 -0
- package/dist/input-otp-BibboKMt.js +20 -0
- package/dist/input-otp.cjs +1 -0
- package/dist/input-otp.d.ts +9 -0
- package/dist/input-otp.d.ts.map +1 -0
- package/dist/input-otp.mjs +4 -0
- package/dist/input.cjs +1 -1
- package/dist/input.d.ts +1 -4
- package/dist/input.d.ts.map +1 -1
- package/dist/input.mjs +11 -11
- package/dist/item.cjs +1 -0
- package/dist/item.d.ts +25 -0
- package/dist/item.d.ts.map +1 -0
- package/dist/item.mjs +118 -0
- package/dist/kbd.cjs +1 -0
- package/dist/kbd.d.ts +5 -0
- package/dist/kbd.d.ts.map +1 -0
- package/dist/kbd.mjs +20 -0
- package/dist/label-BXMSoyyu.js +1 -0
- package/dist/label-C8GNfPU0.mjs +25 -0
- package/dist/label.cjs +1 -1
- package/dist/label.d.ts +2 -5
- package/dist/label.d.ts.map +1 -1
- package/dist/label.mjs +1 -2
- package/dist/menubar-BcyqIJgy.mjs +441 -0
- package/dist/menubar-DPxokWFI.js +1 -0
- package/dist/menubar.cjs +1 -1
- package/dist/menubar.d.ts +25 -19
- package/dist/menubar.d.ts.map +1 -1
- package/dist/menubar.mjs +1 -1
- package/dist/native-select.cjs +1 -0
- package/dist/native-select.d.ts +8 -0
- package/dist/native-select.d.ts.map +1 -0
- package/dist/native-select.mjs +39 -0
- package/dist/navigation-menu-2yE2MUu-.js +1 -0
- package/dist/navigation-menu-N8gkxEXE.mjs +628 -0
- package/dist/navigation-menu.cjs +1 -1
- package/dist/navigation-menu.d.ts +11 -11
- package/dist/navigation-menu.d.ts.map +1 -1
- package/dist/navigation-menu.mjs +1 -2
- package/dist/pagination.cjs +1 -1
- package/dist/pagination.d.ts +13 -26
- package/dist/pagination.d.ts.map +1 -1
- package/dist/pagination.mjs +76 -59
- package/dist/popover-D1AO-E8p.js +1 -0
- package/dist/popover-wQACF3ut.mjs +245 -0
- package/dist/popover.cjs +1 -1
- package/dist/popover.d.ts +9 -8
- package/dist/popover.d.ts.map +1 -1
- package/dist/popover.mjs +2 -3
- package/dist/{progress-30ehxjKg.mjs → progress-DPWSEWa5.mjs} +19 -14
- package/dist/{progress-BqWHea4f.js → progress-ShXZwOfj.js} +2 -2
- package/dist/progress.cjs +1 -1
- package/dist/progress.d.ts +2 -4
- package/dist/progress.d.ts.map +1 -1
- package/dist/progress.mjs +1 -1
- package/dist/radio-group-CQbZCQmj.mjs +199 -0
- package/dist/radio-group-DAEi5vW_.js +1 -0
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.d.ts +3 -8
- package/dist/radio-group.d.ts.map +1 -1
- package/dist/radio-group.mjs +1 -2
- package/dist/resizable-Cv-mKMKP.js +1 -0
- package/dist/{resizable-DhOcAmNX.mjs → resizable-DJSE3e5L.mjs} +310 -282
- package/dist/resizable.cjs +1 -1
- package/dist/resizable.d.ts +6 -7
- package/dist/resizable.d.ts.map +1 -1
- package/dist/resizable.mjs +1 -1
- package/dist/{scroll-area-DJcPs0_v.mjs → scroll-area-8QcqkHnC.mjs} +69 -58
- package/dist/scroll-area-Cqqinhxf.js +1 -0
- package/dist/scroll-area.cjs +1 -1
- package/dist/scroll-area.d.ts +3 -5
- package/dist/scroll-area.d.ts.map +1 -1
- package/dist/scroll-area.mjs +1 -2
- package/dist/search.cjs +1 -1
- package/dist/search.d.ts +1 -1
- package/dist/search.d.ts.map +1 -1
- package/dist/search.mjs +15 -14
- package/dist/select-DdUveoSA.js +1 -0
- package/dist/{select-D4bxRFq5.mjs → select-yoeH35x2.mjs} +279 -245
- package/dist/select.cjs +1 -1
- package/dist/select.d.ts +13 -13
- package/dist/select.d.ts.map +1 -1
- package/dist/select.mjs +1 -1
- package/dist/{separator-DZACUutC.mjs → separator-BU1ea5gl.mjs} +14 -10
- package/dist/separator-DBjErwHf.js +1 -0
- package/dist/separator.cjs +1 -1
- package/dist/separator.d.ts +2 -4
- package/dist/separator.d.ts.map +1 -1
- package/dist/separator.mjs +1 -2
- package/dist/sheet.cjs +1 -1
- package/dist/sheet.d.ts +13 -26
- package/dist/sheet.d.ts.map +1 -1
- package/dist/sheet.mjs +84 -54
- package/dist/shim-B5sEfNEJ.js +1 -0
- package/dist/shim-DX33EwUw.mjs +91 -0
- package/dist/sidebar-B-sWccYh.mjs +355 -0
- package/dist/sidebar-DIW-1cin.js +1 -0
- package/dist/sidebar.cjs +1 -0
- package/dist/sidebar.d.ts +45 -0
- package/dist/sidebar.d.ts.map +1 -0
- package/dist/sidebar.mjs +5 -0
- package/dist/skeleton.cjs +1 -1
- package/dist/skeleton.d.ts +1 -4
- package/dist/skeleton.d.ts.map +1 -1
- package/dist/skeleton.mjs +2 -3
- package/dist/{slider-DTdrUy_s.mjs → slider-CCPXejUF.mjs} +81 -59
- package/dist/slider-w05gD_Ix.js +1 -0
- package/dist/slider.cjs +1 -1
- package/dist/slider.d.ts +2 -4
- package/dist/slider.d.ts.map +1 -1
- package/dist/slider.mjs +1 -1
- package/dist/sonner.cjs +1 -1
- package/dist/sonner.d.ts +1 -5
- package/dist/sonner.d.ts.map +1 -1
- package/dist/sonner.mjs +23 -16
- package/dist/spinner.cjs +1 -0
- package/dist/spinner.d.ts +4 -0
- package/dist/spinner.d.ts.map +1 -0
- package/dist/spinner.mjs +15 -0
- package/dist/support-fab.cjs +1 -1
- package/dist/support-fab.mjs +1 -1
- package/dist/switch-CDBqsWQa.mjs +112 -0
- package/dist/switch-X2WBJsUu.js +1 -0
- package/dist/switch.cjs +1 -1
- package/dist/switch.d.ts +4 -4
- package/dist/switch.d.ts.map +1 -1
- package/dist/switch.mjs +1 -1
- package/dist/table.cjs +1 -1
- package/dist/table.d.ts +8 -10
- package/dist/table.d.ts.map +1 -1
- package/dist/table.mjs +62 -54
- package/dist/tabs-DzvgrVzk.js +1 -0
- package/dist/tabs-KDeHjVQU.mjs +160 -0
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.d.ts +10 -8
- package/dist/tabs.d.ts.map +1 -1
- package/dist/tabs.mjs +2 -2
- package/dist/text.d.ts +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.d.ts +1 -4
- package/dist/textarea.d.ts.map +1 -1
- package/dist/textarea.mjs +10 -10
- package/dist/{theme-toggle-Dtze9fyN.js → theme-toggle-C2Y4bIM3.js} +1 -1
- package/dist/{theme-toggle-DAHBgdy0.mjs → theme-toggle-clE-HpSS.mjs} +9 -9
- package/dist/theme-toggle.cjs +1 -1
- package/dist/theme-toggle.mjs +1 -2
- package/dist/toast-1keyrzem.js +1 -0
- package/dist/{toast-G9LdgDDE.mjs → toast-DVI6jPq5.mjs} +102 -101
- package/dist/toast.cjs +1 -1
- package/dist/toast.d.ts.map +1 -1
- package/dist/toast.mjs +1 -1
- package/dist/{toaster-WQJjavlc.mjs → toaster-Czhz-ktg.mjs} +1 -1
- package/dist/{toaster-CKD4CKAZ.js → toaster-DfDb2-aI.js} +1 -1
- package/dist/toaster.cjs +1 -1
- package/dist/toaster.mjs +1 -1
- package/dist/toggle-BGkq5XDM.js +1 -0
- package/dist/toggle-BfIIdlA6.mjs +58 -0
- package/dist/toggle-group-CbqgoPFU.mjs +167 -0
- package/dist/toggle-group-D7hR4BT2.js +1 -0
- package/dist/toggle-group.cjs +1 -1
- package/dist/toggle-group.d.ts +7 -9
- package/dist/toggle-group.d.ts.map +1 -1
- package/dist/toggle-group.mjs +1 -1
- package/dist/toggle.cjs +1 -1
- package/dist/toggle.d.ts +6 -5
- package/dist/toggle.d.ts.map +1 -1
- package/dist/toggle.mjs +2 -19
- package/dist/tooltip-CAIbshMk.js +1 -0
- package/dist/{tooltip-BHEcM7lO.mjs → tooltip-D_o8Z-Ya.mjs} +106 -90
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.d.ts +5 -10
- package/dist/tooltip.d.ts.map +1 -1
- package/dist/tooltip.mjs +1 -1
- package/package.json +8 -6
- package/src/accordion.tsx +58 -51
- package/src/alert-dialog.tsx +140 -93
- package/src/alert.tsx +44 -33
- package/src/aspect-ratio.tsx +10 -4
- package/src/avatar.tsx +92 -37
- package/src/badge.tsx +24 -14
- package/src/breadcrumb.tsx +73 -85
- package/src/button-group.tsx +78 -0
- package/src/button.tsx +46 -24
- package/src/calendar.tsx +52 -40
- package/src/card.tsx +67 -42
- package/src/carousel.tsx +164 -174
- package/src/chart.tsx +206 -232
- package/src/checkbox.tsx +17 -17
- package/src/collapsible.tsx +16 -10
- package/src/combobox.tsx +282 -0
- package/src/command.tsx +123 -120
- package/src/context-menu.tsx +206 -179
- package/src/dialog.tsx +111 -65
- package/src/direction.tsx +18 -0
- package/src/drawer.tsx +75 -78
- package/src/dropdown-menu.tsx +211 -180
- package/src/empty.tsx +83 -0
- package/src/field.tsx +217 -0
- package/src/hooks/use-mobile.ts +19 -0
- package/src/hover-card.tsx +33 -27
- package/src/index.ts +108 -154
- package/src/input-group.tsx +143 -0
- package/src/input-otp.tsx +81 -0
- package/src/input.tsx +8 -8
- package/src/item.tsx +185 -0
- package/src/kbd.tsx +21 -0
- package/src/label.tsx +17 -14
- package/src/menubar.tsx +211 -199
- package/src/native-select.tsx +54 -0
- package/src/navigation-menu.tsx +115 -110
- package/src/pagination.tsx +65 -80
- package/src/popover.tsx +53 -41
- package/src/progress.tsx +22 -20
- package/src/radio-group.tsx +22 -34
- package/src/resizable.tsx +34 -49
- package/src/scroll-area.tsx +43 -35
- package/src/search.tsx +12 -9
- package/src/select.tsx +138 -133
- package/src/separator.tsx +25 -18
- package/src/sheet.tsx +97 -127
- package/src/sidebar.tsx +660 -0
- package/src/skeleton.tsx +7 -6
- package/src/slider.tsx +51 -19
- package/src/sonner.tsx +22 -12
- package/src/spinner.tsx +10 -0
- package/src/support-fab.tsx +1 -1
- package/src/switch.tsx +28 -21
- package/src/table.tsx +61 -87
- package/src/tabs.tsx +75 -56
- package/src/textarea.tsx +8 -10
- package/src/toast.tsx +5 -0
- package/src/toggle-group.tsx +76 -40
- package/src/toggle.tsx +35 -15
- package/src/tooltip.tsx +41 -43
- package/dist/accordion-BTF24dQU.js +0 -1
- package/dist/accordion-DHTV2Am8.mjs +0 -221
- package/dist/alert-dialog-Bwn2-Uyf.mjs +0 -164
- package/dist/alert-dialog-DBMX5E0-.js +0 -7
- package/dist/avatar-BI7s8omb.js +0 -1
- package/dist/avatar-hzlewncL.mjs +0 -185
- package/dist/calendar-ykdYhTj9.js +0 -1
- package/dist/carousel-DSmAn1nc.js +0 -1
- package/dist/checkbox-dK6DJKeV.js +0 -1
- package/dist/command-CDSbHz4C.js +0 -1
- package/dist/command-j0rZqZ7B.mjs +0 -531
- package/dist/context-menu-BWgLbKLP.js +0 -1
- package/dist/context-menu-CWSzssAO.mjs +0 -292
- package/dist/dist-B28N93_W.js +0 -1
- package/dist/dist-B43Kk7ii.js +0 -1
- package/dist/dist-BTPL2C0R.js +0 -1
- package/dist/dist-BjEG16aJ.mjs +0 -111
- package/dist/dist-BlKAvKHD.js +0 -1
- package/dist/dist-C3Z3atn0.mjs +0 -10
- package/dist/dist-C4q8IPk4.mjs +0 -28
- package/dist/dist-CPglx4om.js +0 -1
- package/dist/dist-CV2U2xFR.js +0 -1
- package/dist/dist-Cv9YaN1n.mjs +0 -61
- package/dist/dist-DAe-fOIM.mjs +0 -25
- package/dist/dist-DQAJMTj0.js +0 -1
- package/dist/dist-DaCPM8ia.js +0 -1
- package/dist/dist-DasmYflz.js +0 -1
- package/dist/dist-DneYUKe0.js +0 -1
- package/dist/dist-Du2jbEkG.mjs +0 -1282
- package/dist/dist-Dw6-GQAn.js +0 -1
- package/dist/dist-DwGlbIjj.js +0 -5
- package/dist/dist-Dzjlf9ug.js +0 -1
- package/dist/dist-GaBUW_Tu.js +0 -1
- package/dist/dropdown-menu-Bz5LlLjl.js +0 -1
- package/dist/dropdown-menu-Cp1qpOLk.mjs +0 -288
- package/dist/hover-card-CyKIuXGH.js +0 -1
- package/dist/label-DGuuPl_e.mjs +0 -22
- package/dist/label-gVkdll-j.js +0 -1
- package/dist/menubar-DNrIQhY5.mjs +0 -410
- package/dist/menubar-DkjAo6qJ.js +0 -1
- package/dist/navigation-menu-1cmCEi0j.mjs +0 -602
- package/dist/navigation-menu-qPt8hpr5.js +0 -1
- package/dist/popover-CbM1tqdC.mjs +0 -201
- package/dist/popover-DGTgqdKX.js +0 -1
- package/dist/radio-group-BGThTiQM.mjs +0 -193
- package/dist/radio-group-ClFpAswm.js +0 -1
- package/dist/resizable-D09wr7tV.js +0 -1
- package/dist/scroll-area-W_aOLOdE.js +0 -1
- package/dist/select-BQtkQBiD.js +0 -1
- package/dist/separator-BmkhoDge.js +0 -1
- package/dist/slider-Bkluwc3b.js +0 -1
- package/dist/switch-DENAxyga.js +0 -1
- package/dist/switch-DbsdyQVg.mjs +0 -103
- package/dist/tabs-C9sMowgZ.mjs +0 -136
- package/dist/tabs-DeK-zpy4.js +0 -1
- package/dist/toast-BtXY2QTe.js +0 -1
- package/dist/toggle-group-B0H9TwdD.mjs +0 -155
- package/dist/toggle-group-CAyztsIl.js +0 -1
- package/dist/tooltip-CKcMl7tK.js +0 -1
- /package/dist/{dist-C_45sBzc.js → dist-C_45sBzc2.js} +0 -0
- /package/dist/{dist-DGzGsPqo.mjs → dist-DGzGsPqo2.mjs} +0 -0
package/src/menubar.tsx
CHANGED
|
@@ -1,212 +1,237 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import
|
|
4
|
-
import { Check, ChevronRight, Circle } from 'lucide-react';
|
|
3
|
+
import { Menubar as MenubarPrimitive } from 'radix-ui';
|
|
5
4
|
import * as React from 'react';
|
|
6
5
|
|
|
7
|
-
import {
|
|
8
|
-
MenubarBaseProps,
|
|
9
|
-
MenubarCheckboxItemBaseProps,
|
|
10
|
-
MenubarContentBaseProps,
|
|
11
|
-
MenubarItemBaseProps,
|
|
12
|
-
MenubarLabelBaseProps,
|
|
13
|
-
MenubarMenuBaseProps,
|
|
14
|
-
MenubarRadioItemBaseProps,
|
|
15
|
-
MenubarSeparatorBaseProps,
|
|
16
|
-
MenubarShortcutBaseProps,
|
|
17
|
-
MenubarSubBaseProps,
|
|
18
|
-
MenubarSubContentBaseProps,
|
|
19
|
-
MenubarSubTriggerBaseProps,
|
|
20
|
-
MenubarTriggerBaseProps,
|
|
21
|
-
} from '@gv-tech/ui-core';
|
|
6
|
+
import { CheckIcon, ChevronRightIcon } from 'lucide-react';
|
|
22
7
|
import { cn } from './lib/utils';
|
|
23
8
|
|
|
24
|
-
|
|
25
|
-
|
|
9
|
+
import type { MenubarBaseProps } from '@gv-tech/ui-core';
|
|
10
|
+
|
|
11
|
+
function Menubar({ className, ...props }: React.ComponentProps<typeof MenubarPrimitive.Root>) {
|
|
12
|
+
return (
|
|
13
|
+
<MenubarPrimitive.Root
|
|
14
|
+
data-slot="menubar"
|
|
15
|
+
className={cn('flex h-8 items-center gap-0.5 rounded-lg border p-[3px]', className)}
|
|
16
|
+
{...props}
|
|
17
|
+
/>
|
|
18
|
+
);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
function MenubarMenu({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Menu>) {
|
|
22
|
+
return <MenubarPrimitive.Menu data-slot="menubar-menu" {...props} />;
|
|
26
23
|
}
|
|
27
24
|
|
|
28
25
|
function MenubarGroup({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Group>) {
|
|
29
|
-
return <MenubarPrimitive.Group {...props} />;
|
|
26
|
+
return <MenubarPrimitive.Group data-slot="menubar-group" {...props} />;
|
|
30
27
|
}
|
|
31
28
|
|
|
32
29
|
function MenubarPortal({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Portal>) {
|
|
33
|
-
return <MenubarPrimitive.Portal {...props} />;
|
|
30
|
+
return <MenubarPrimitive.Portal data-slot="menubar-portal" {...props} />;
|
|
34
31
|
}
|
|
35
32
|
|
|
36
33
|
function MenubarRadioGroup({ ...props }: React.ComponentProps<typeof MenubarPrimitive.RadioGroup>) {
|
|
37
|
-
return <MenubarPrimitive.RadioGroup {...props} />;
|
|
34
|
+
return <MenubarPrimitive.RadioGroup data-slot="menubar-radio-group" {...props} />;
|
|
38
35
|
}
|
|
39
36
|
|
|
40
|
-
function
|
|
37
|
+
function MenubarTrigger({ className, ...props }: React.ComponentProps<typeof MenubarPrimitive.Trigger>) {
|
|
38
|
+
return (
|
|
39
|
+
<MenubarPrimitive.Trigger
|
|
40
|
+
data-slot="menubar-trigger"
|
|
41
|
+
className={cn(
|
|
42
|
+
'hover:bg-muted aria-expanded:bg-muted flex items-center rounded-sm px-1.5 py-[2px] text-sm font-medium outline-hidden select-none',
|
|
43
|
+
className,
|
|
44
|
+
)}
|
|
45
|
+
{...props}
|
|
46
|
+
/>
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function MenubarContent({
|
|
51
|
+
className,
|
|
52
|
+
align = 'start',
|
|
53
|
+
alignOffset = -4,
|
|
54
|
+
sideOffset = 8,
|
|
55
|
+
...props
|
|
56
|
+
}: React.ComponentProps<typeof MenubarPrimitive.Content>) {
|
|
57
|
+
return (
|
|
58
|
+
<MenubarPortal>
|
|
59
|
+
<MenubarPrimitive.Content
|
|
60
|
+
data-slot="menubar-content"
|
|
61
|
+
align={align}
|
|
62
|
+
alignOffset={alignOffset}
|
|
63
|
+
sideOffset={sideOffset}
|
|
64
|
+
className={cn(
|
|
65
|
+
'bg-popover text-popover-foreground ring-foreground/10 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 z-50 min-w-36 origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-lg p-1 shadow-md ring-1 duration-100',
|
|
66
|
+
className,
|
|
67
|
+
)}
|
|
68
|
+
{...props}
|
|
69
|
+
/>
|
|
70
|
+
</MenubarPortal>
|
|
71
|
+
);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
function MenubarItem({
|
|
75
|
+
className,
|
|
76
|
+
inset,
|
|
77
|
+
variant = 'default',
|
|
78
|
+
...props
|
|
79
|
+
}: React.ComponentProps<typeof MenubarPrimitive.Item> & {
|
|
80
|
+
inset?: boolean;
|
|
81
|
+
variant?: 'default' | 'destructive';
|
|
82
|
+
}) {
|
|
83
|
+
return (
|
|
84
|
+
<MenubarPrimitive.Item
|
|
85
|
+
data-slot="menubar-item"
|
|
86
|
+
data-inset={inset}
|
|
87
|
+
data-variant={variant}
|
|
88
|
+
className={cn(
|
|
89
|
+
'group/menubar-item focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:*:[svg]:text-destructive! relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:ps-7 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=size-])]:size-4',
|
|
90
|
+
className,
|
|
91
|
+
)}
|
|
92
|
+
{...props}
|
|
93
|
+
/>
|
|
94
|
+
);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
function MenubarCheckboxItem({
|
|
98
|
+
className,
|
|
99
|
+
children,
|
|
100
|
+
checked,
|
|
101
|
+
inset,
|
|
102
|
+
...props
|
|
103
|
+
}: React.ComponentProps<typeof MenubarPrimitive.CheckboxItem> & {
|
|
104
|
+
inset?: boolean;
|
|
105
|
+
}) {
|
|
106
|
+
return (
|
|
107
|
+
<MenubarPrimitive.CheckboxItem
|
|
108
|
+
data-slot="menubar-checkbox-item"
|
|
109
|
+
data-inset={inset}
|
|
110
|
+
className={cn(
|
|
111
|
+
'focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground relative flex cursor-default items-center gap-1.5 rounded-md py-1 ps-7 pe-1.5 text-sm outline-hidden select-none data-disabled:pointer-events-none data-inset:ps-7 [&_svg]:pointer-events-none [&_svg]:shrink-0',
|
|
112
|
+
className,
|
|
113
|
+
)}
|
|
114
|
+
checked={checked}
|
|
115
|
+
{...props}
|
|
116
|
+
>
|
|
117
|
+
<span className="pointer-events-none absolute start-1.5 flex size-4 items-center justify-center [&_svg:not([class*=size-])]:size-4">
|
|
118
|
+
<MenubarPrimitive.ItemIndicator>
|
|
119
|
+
<CheckIcon />
|
|
120
|
+
</MenubarPrimitive.ItemIndicator>
|
|
121
|
+
</span>
|
|
122
|
+
{children}
|
|
123
|
+
</MenubarPrimitive.CheckboxItem>
|
|
124
|
+
);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
function MenubarRadioItem({
|
|
128
|
+
className,
|
|
129
|
+
children,
|
|
130
|
+
inset,
|
|
131
|
+
...props
|
|
132
|
+
}: React.ComponentProps<typeof MenubarPrimitive.RadioItem> & {
|
|
133
|
+
inset?: boolean;
|
|
134
|
+
}) {
|
|
135
|
+
return (
|
|
136
|
+
<MenubarPrimitive.RadioItem
|
|
137
|
+
data-slot="menubar-radio-item"
|
|
138
|
+
data-inset={inset}
|
|
139
|
+
className={cn(
|
|
140
|
+
'focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground relative flex cursor-default items-center gap-1.5 rounded-md py-1 ps-7 pe-1.5 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:ps-7 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=size-])]:size-4',
|
|
141
|
+
className,
|
|
142
|
+
)}
|
|
143
|
+
{...props}
|
|
144
|
+
>
|
|
145
|
+
<span className="pointer-events-none absolute start-1.5 flex size-4 items-center justify-center [&_svg:not([class*=size-])]:size-4">
|
|
146
|
+
<MenubarPrimitive.ItemIndicator>
|
|
147
|
+
<CheckIcon />
|
|
148
|
+
</MenubarPrimitive.ItemIndicator>
|
|
149
|
+
</span>
|
|
150
|
+
{children}
|
|
151
|
+
</MenubarPrimitive.RadioItem>
|
|
152
|
+
);
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
function MenubarLabel({
|
|
156
|
+
className,
|
|
157
|
+
inset,
|
|
158
|
+
...props
|
|
159
|
+
}: React.ComponentProps<typeof MenubarPrimitive.Label> & {
|
|
160
|
+
inset?: boolean;
|
|
161
|
+
}) {
|
|
162
|
+
return (
|
|
163
|
+
<MenubarPrimitive.Label
|
|
164
|
+
data-slot="menubar-label"
|
|
165
|
+
data-inset={inset}
|
|
166
|
+
className={cn('px-1.5 py-1 text-sm font-medium data-inset:ps-7', className)}
|
|
167
|
+
{...props}
|
|
168
|
+
/>
|
|
169
|
+
);
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
function MenubarSeparator({ className, ...props }: React.ComponentProps<typeof MenubarPrimitive.Separator>) {
|
|
173
|
+
return (
|
|
174
|
+
<MenubarPrimitive.Separator
|
|
175
|
+
data-slot="menubar-separator"
|
|
176
|
+
className={cn('bg-border -mx-1 my-1 h-px', className)}
|
|
177
|
+
{...props}
|
|
178
|
+
/>
|
|
179
|
+
);
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
function MenubarShortcut({ className, ...props }: React.ComponentProps<'span'>) {
|
|
183
|
+
return (
|
|
184
|
+
<span
|
|
185
|
+
data-slot="menubar-shortcut"
|
|
186
|
+
className={cn(
|
|
187
|
+
'text-muted-foreground group-focus/menubar-item:text-accent-foreground ms-auto text-xs tracking-widest',
|
|
188
|
+
className,
|
|
189
|
+
)}
|
|
190
|
+
{...props}
|
|
191
|
+
/>
|
|
192
|
+
);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
function MenubarSub({ ...props }: React.ComponentProps<typeof MenubarPrimitive.Sub>) {
|
|
41
196
|
return <MenubarPrimitive.Sub data-slot="menubar-sub" {...props} />;
|
|
42
197
|
}
|
|
43
198
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
)
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
React.ElementRef<typeof MenubarPrimitive.SubTrigger>,
|
|
73
|
-
React.ComponentPropsWithoutRef<typeof MenubarPrimitive.SubTrigger> & MenubarSubTriggerBaseProps
|
|
74
|
-
>(({ className, inset, children, ...props }, ref) => (
|
|
75
|
-
<MenubarPrimitive.SubTrigger
|
|
76
|
-
ref={ref}
|
|
77
|
-
className={cn(
|
|
78
|
-
'focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-none select-none',
|
|
79
|
-
inset && 'pl-8',
|
|
80
|
-
className,
|
|
81
|
-
)}
|
|
82
|
-
{...props}
|
|
83
|
-
>
|
|
84
|
-
{children}
|
|
85
|
-
<ChevronRight className="ml-auto h-4 w-4" />
|
|
86
|
-
</MenubarPrimitive.SubTrigger>
|
|
87
|
-
));
|
|
88
|
-
MenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger?.displayName || 'MenubarSubTrigger';
|
|
89
|
-
|
|
90
|
-
const MenubarSubContent = React.forwardRef<
|
|
91
|
-
React.ElementRef<typeof MenubarPrimitive.SubContent>,
|
|
92
|
-
React.ComponentPropsWithoutRef<typeof MenubarPrimitive.SubContent> & MenubarSubContentBaseProps
|
|
93
|
-
>(({ className, ...props }, ref) => (
|
|
94
|
-
<MenubarPrimitive.SubContent
|
|
95
|
-
ref={ref}
|
|
96
|
-
className={cn(
|
|
97
|
-
'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-[--radix-menubar-content-transform-origin] overflow-hidden rounded-md border p-1 shadow-lg',
|
|
98
|
-
className,
|
|
99
|
-
)}
|
|
100
|
-
{...props}
|
|
101
|
-
/>
|
|
102
|
-
));
|
|
103
|
-
MenubarSubContent.displayName = MenubarPrimitive.SubContent?.displayName || 'MenubarSubContent';
|
|
104
|
-
|
|
105
|
-
const MenubarContent = React.forwardRef<
|
|
106
|
-
React.ElementRef<typeof MenubarPrimitive.Content>,
|
|
107
|
-
React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Content> & MenubarContentBaseProps
|
|
108
|
-
>(({ className, align = 'start', alignOffset = -4, sideOffset = 8, ...props }, ref) => (
|
|
109
|
-
<MenubarPrimitive.Portal>
|
|
110
|
-
<MenubarPrimitive.Content
|
|
111
|
-
ref={ref}
|
|
112
|
-
align={align}
|
|
113
|
-
alignOffset={alignOffset}
|
|
114
|
-
sideOffset={sideOffset}
|
|
199
|
+
function MenubarSubTrigger({
|
|
200
|
+
className,
|
|
201
|
+
inset,
|
|
202
|
+
children,
|
|
203
|
+
...props
|
|
204
|
+
}: React.ComponentProps<typeof MenubarPrimitive.SubTrigger> & {
|
|
205
|
+
inset?: boolean;
|
|
206
|
+
}) {
|
|
207
|
+
return (
|
|
208
|
+
<MenubarPrimitive.SubTrigger
|
|
209
|
+
data-slot="menubar-sub-trigger"
|
|
210
|
+
data-inset={inset}
|
|
211
|
+
className={cn(
|
|
212
|
+
'focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-none select-none data-inset:ps-7 [&_svg:not([class*=size-])]:size-4',
|
|
213
|
+
className,
|
|
214
|
+
)}
|
|
215
|
+
{...props}
|
|
216
|
+
>
|
|
217
|
+
{children}
|
|
218
|
+
<ChevronRightIcon className="ms-auto size-4" />
|
|
219
|
+
</MenubarPrimitive.SubTrigger>
|
|
220
|
+
);
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
function MenubarSubContent({ className, ...props }: React.ComponentProps<typeof MenubarPrimitive.SubContent>) {
|
|
224
|
+
return (
|
|
225
|
+
<MenubarPrimitive.SubContent
|
|
226
|
+
data-slot="menubar-sub-content"
|
|
115
227
|
className={cn(
|
|
116
|
-
'bg-popover text-popover-foreground data-[
|
|
228
|
+
'bg-popover text-popover-foreground ring-foreground/10 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 z-50 min-w-32 origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-lg p-1 shadow-lg ring-1 duration-100',
|
|
117
229
|
className,
|
|
118
230
|
)}
|
|
119
231
|
{...props}
|
|
120
232
|
/>
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
MenubarContent.displayName = MenubarPrimitive.Content?.displayName || 'MenubarContent';
|
|
124
|
-
|
|
125
|
-
const MenubarItem = React.forwardRef<
|
|
126
|
-
React.ElementRef<typeof MenubarPrimitive.Item>,
|
|
127
|
-
React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Item> & MenubarItemBaseProps
|
|
128
|
-
>(({ className, inset, ...props }, ref) => (
|
|
129
|
-
<MenubarPrimitive.Item
|
|
130
|
-
ref={ref}
|
|
131
|
-
className={cn(
|
|
132
|
-
'focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50',
|
|
133
|
-
inset && 'pl-8',
|
|
134
|
-
className,
|
|
135
|
-
)}
|
|
136
|
-
{...props}
|
|
137
|
-
/>
|
|
138
|
-
));
|
|
139
|
-
MenubarItem.displayName = MenubarPrimitive.Item?.displayName || 'MenubarItem';
|
|
140
|
-
|
|
141
|
-
const MenubarCheckboxItem = React.forwardRef<
|
|
142
|
-
React.ElementRef<typeof MenubarPrimitive.CheckboxItem>,
|
|
143
|
-
React.ComponentPropsWithoutRef<typeof MenubarPrimitive.CheckboxItem> & MenubarCheckboxItemBaseProps
|
|
144
|
-
>(({ className, children, checked, ...props }, ref) => (
|
|
145
|
-
<MenubarPrimitive.CheckboxItem
|
|
146
|
-
ref={ref}
|
|
147
|
-
className={cn(
|
|
148
|
-
'focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center rounded-sm py-1.5 pr-2 pl-8 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50',
|
|
149
|
-
className,
|
|
150
|
-
)}
|
|
151
|
-
checked={checked}
|
|
152
|
-
{...props}
|
|
153
|
-
>
|
|
154
|
-
<span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">
|
|
155
|
-
<MenubarPrimitive.ItemIndicator>
|
|
156
|
-
<Check className="h-4 w-4" />
|
|
157
|
-
</MenubarPrimitive.ItemIndicator>
|
|
158
|
-
</span>
|
|
159
|
-
{children}
|
|
160
|
-
</MenubarPrimitive.CheckboxItem>
|
|
161
|
-
));
|
|
162
|
-
MenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem?.displayName || 'MenubarCheckboxItem';
|
|
163
|
-
|
|
164
|
-
const MenubarRadioItem = React.forwardRef<
|
|
165
|
-
React.ElementRef<typeof MenubarPrimitive.RadioItem>,
|
|
166
|
-
React.ComponentPropsWithoutRef<typeof MenubarPrimitive.RadioItem> & MenubarRadioItemBaseProps
|
|
167
|
-
>(({ className, children, ...props }, ref) => (
|
|
168
|
-
<MenubarPrimitive.RadioItem
|
|
169
|
-
ref={ref}
|
|
170
|
-
className={cn(
|
|
171
|
-
'focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center rounded-sm py-1.5 pr-2 pl-8 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50',
|
|
172
|
-
className,
|
|
173
|
-
)}
|
|
174
|
-
{...props}
|
|
175
|
-
>
|
|
176
|
-
<span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">
|
|
177
|
-
<MenubarPrimitive.ItemIndicator>
|
|
178
|
-
<Circle className="h-4 w-4 fill-current" />
|
|
179
|
-
</MenubarPrimitive.ItemIndicator>
|
|
180
|
-
</span>
|
|
181
|
-
{children}
|
|
182
|
-
</MenubarPrimitive.RadioItem>
|
|
183
|
-
));
|
|
184
|
-
MenubarRadioItem.displayName = MenubarPrimitive.RadioItem?.displayName || 'MenubarRadioItem';
|
|
185
|
-
|
|
186
|
-
const MenubarLabel = React.forwardRef<
|
|
187
|
-
React.ElementRef<typeof MenubarPrimitive.Label>,
|
|
188
|
-
React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Label> & MenubarLabelBaseProps
|
|
189
|
-
>(({ className, inset, ...props }, ref) => (
|
|
190
|
-
<MenubarPrimitive.Label
|
|
191
|
-
ref={ref}
|
|
192
|
-
className={cn('px-2 py-1.5 text-sm font-semibold', inset && 'pl-8', className)}
|
|
193
|
-
{...props}
|
|
194
|
-
/>
|
|
195
|
-
));
|
|
196
|
-
MenubarLabel.displayName = MenubarPrimitive.Label?.displayName || 'MenubarLabel';
|
|
197
|
-
|
|
198
|
-
const MenubarSeparator = React.forwardRef<
|
|
199
|
-
React.ElementRef<typeof MenubarPrimitive.Separator>,
|
|
200
|
-
React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Separator> & MenubarSeparatorBaseProps
|
|
201
|
-
>(({ className, ...props }, ref) => (
|
|
202
|
-
<MenubarPrimitive.Separator ref={ref} className={cn('bg-muted -mx-1 my-1 h-px', className)} {...props} />
|
|
203
|
-
));
|
|
204
|
-
MenubarSeparator.displayName = MenubarPrimitive.Separator?.displayName || 'MenubarSeparator';
|
|
205
|
-
|
|
206
|
-
const MenubarShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement> & MenubarShortcutBaseProps) => {
|
|
207
|
-
return <span className={cn('text-muted-foreground ml-auto text-xs tracking-widest', className)} {...props} />;
|
|
208
|
-
};
|
|
209
|
-
MenubarShortcut.displayname = 'MenubarShortcut';
|
|
233
|
+
);
|
|
234
|
+
}
|
|
210
235
|
|
|
211
236
|
export {
|
|
212
237
|
Menubar,
|
|
@@ -227,18 +252,5 @@ export {
|
|
|
227
252
|
MenubarTrigger,
|
|
228
253
|
};
|
|
229
254
|
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
MenubarContentBaseProps as MenubarContentProps,
|
|
233
|
-
MenubarItemBaseProps as MenubarItemProps,
|
|
234
|
-
MenubarLabelBaseProps as MenubarLabelProps,
|
|
235
|
-
MenubarMenuBaseProps as MenubarMenuProps,
|
|
236
|
-
MenubarBaseProps as MenubarProps,
|
|
237
|
-
MenubarRadioItemBaseProps as MenubarRadioItemProps,
|
|
238
|
-
MenubarSeparatorBaseProps as MenubarSeparatorProps,
|
|
239
|
-
MenubarShortcutBaseProps as MenubarShortcutProps,
|
|
240
|
-
MenubarSubContentBaseProps as MenubarSubContentProps,
|
|
241
|
-
MenubarSubBaseProps as MenubarSubProps,
|
|
242
|
-
MenubarSubTriggerBaseProps as MenubarSubTriggerProps,
|
|
243
|
-
MenubarTriggerBaseProps as MenubarTriggerProps,
|
|
244
|
-
};
|
|
255
|
+
// Verify that the component satisfies the ui-core contract
|
|
256
|
+
const _verifyMenubarContract: MenubarBaseProps = {} as unknown as React.ComponentProps<typeof Menubar>;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
import type {
|
|
4
|
+
NativeSelectBaseProps,
|
|
5
|
+
NativeSelectOptGroupBaseProps,
|
|
6
|
+
NativeSelectOptionBaseProps,
|
|
7
|
+
} from '@gv-tech/ui-core';
|
|
8
|
+
import { ChevronDownIcon } from 'lucide-react';
|
|
9
|
+
import { cn } from './lib/utils';
|
|
10
|
+
|
|
11
|
+
type NativeSelectProps = Omit<React.ComponentProps<'select'>, 'size'> & NativeSelectBaseProps;
|
|
12
|
+
|
|
13
|
+
function NativeSelect({ className, size = 'default', ...props }: NativeSelectProps) {
|
|
14
|
+
return (
|
|
15
|
+
<div
|
|
16
|
+
className={cn('group/native-select relative w-fit has-[select:disabled]:opacity-50', className)}
|
|
17
|
+
data-slot="native-select-wrapper"
|
|
18
|
+
data-size={size}
|
|
19
|
+
>
|
|
20
|
+
<select
|
|
21
|
+
data-slot="native-select"
|
|
22
|
+
data-size={size}
|
|
23
|
+
className="border-input selection:bg-primary selection:text-primary-foreground placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 h-8 w-full min-w-0 appearance-none rounded-lg border bg-transparent py-1 ps-2.5 pe-8 text-sm transition-colors outline-none select-none focus-visible:ring-3 disabled:pointer-events-none disabled:cursor-not-allowed aria-invalid:ring-3 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] data-[size=sm]:py-0.5"
|
|
24
|
+
{...props}
|
|
25
|
+
/>
|
|
26
|
+
<ChevronDownIcon
|
|
27
|
+
className="text-muted-foreground pointer-events-none absolute end-2.5 top-1/2 size-4 -translate-y-1/2 select-none"
|
|
28
|
+
aria-hidden="true"
|
|
29
|
+
data-slot="native-select-icon"
|
|
30
|
+
/>
|
|
31
|
+
</div>
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
function NativeSelectOption({ className, ...props }: React.ComponentProps<'option'> & NativeSelectOptionBaseProps) {
|
|
36
|
+
return (
|
|
37
|
+
<option data-slot="native-select-option" className={cn('bg-[Canvas] text-[CanvasText]', className)} {...props} />
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
function NativeSelectOptGroup({
|
|
42
|
+
className,
|
|
43
|
+
...props
|
|
44
|
+
}: React.ComponentProps<'optgroup'> & NativeSelectOptGroupBaseProps) {
|
|
45
|
+
return (
|
|
46
|
+
<optgroup
|
|
47
|
+
data-slot="native-select-optgroup"
|
|
48
|
+
className={cn('bg-[Canvas] text-[CanvasText]', className)}
|
|
49
|
+
{...props}
|
|
50
|
+
/>
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export { NativeSelect, NativeSelectOptGroup, NativeSelectOption };
|