@stridge/noctis 1.0.0-beta.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/README.md +60 -0
- package/dist/_virtual/_rolldown/runtime.js +27 -0
- package/dist/components/accordion/accordion.context.js +15 -0
- package/dist/components/accordion/accordion.d.ts +136 -0
- package/dist/components/accordion/accordion.js +132 -0
- package/dist/components/accordion/accordion.props.d.ts +45 -0
- package/dist/components/accordion/accordion.props.js +53 -0
- package/dist/components/accordion/accordion.slots.d.ts +24 -0
- package/dist/components/accordion/accordion.slots.js +39 -0
- package/dist/components/accordion/accordion.types.d.ts +11 -0
- package/dist/components/accordion/index.d.ts +3 -0
- package/dist/components/alert-dialog/alert-dialog.context.js +16 -0
- package/dist/components/alert-dialog/alert-dialog.d.ts +324 -0
- package/dist/components/alert-dialog/alert-dialog.js +279 -0
- package/dist/components/alert-dialog/alert-dialog.props.d.ts +85 -0
- package/dist/components/alert-dialog/alert-dialog.props.js +84 -0
- package/dist/components/alert-dialog/alert-dialog.slots.d.ts +29 -0
- package/dist/components/alert-dialog/alert-dialog.slots.js +52 -0
- package/dist/components/alert-dialog/alert-dialog.types.d.ts +22 -0
- package/dist/components/alert-dialog/index.d.ts +3 -0
- package/dist/components/autocomplete/autocomplete.context.d.ts +5 -0
- package/dist/components/autocomplete/autocomplete.context.js +13 -0
- package/dist/components/autocomplete/autocomplete.d.ts +364 -0
- package/dist/components/autocomplete/autocomplete.js +373 -0
- package/dist/components/autocomplete/autocomplete.props.d.ts +83 -0
- package/dist/components/autocomplete/autocomplete.props.js +63 -0
- package/dist/components/autocomplete/autocomplete.slots.d.ts +32 -0
- package/dist/components/autocomplete/autocomplete.slots.js +61 -0
- package/dist/components/autocomplete/index.d.ts +3 -0
- package/dist/components/avatar/avatar.context.js +21 -0
- package/dist/components/avatar/avatar.d.ts +235 -0
- package/dist/components/avatar/avatar.js +208 -0
- package/dist/components/avatar/avatar.props.d.ts +86 -0
- package/dist/components/avatar/avatar.props.js +78 -0
- package/dist/components/avatar/avatar.slots.d.ts +35 -0
- package/dist/components/avatar/avatar.slots.js +49 -0
- package/dist/components/avatar/avatar.types.d.ts +28 -0
- package/dist/components/avatar/index.d.ts +2 -0
- package/dist/components/button/button.d.ts +91 -0
- package/dist/components/button/button.js +82 -0
- package/dist/components/button/button.props.d.ts +48 -0
- package/dist/components/button/button.props.js +25 -0
- package/dist/components/button/button.slots.d.ts +30 -0
- package/dist/components/button/button.slots.js +40 -0
- package/dist/components/button/button.types.d.ts +12 -0
- package/dist/components/button/index.d.ts +2 -0
- package/dist/components/button-group/button-group.context.js +15 -0
- package/dist/components/button-group/button-group.d.ts +60 -0
- package/dist/components/button-group/button-group.js +50 -0
- package/dist/components/button-group/button-group.props.d.ts +22 -0
- package/dist/components/button-group/button-group.props.js +33 -0
- package/dist/components/button-group/button-group.slots.d.ts +12 -0
- package/dist/components/button-group/button-group.slots.js +18 -0
- package/dist/components/button-group/index.d.ts +2 -0
- package/dist/components/checkbox/checkbox-group.d.ts +46 -0
- package/dist/components/checkbox/checkbox-group.js +31 -0
- package/dist/components/checkbox/checkbox.context.js +15 -0
- package/dist/components/checkbox/checkbox.d.ts +130 -0
- package/dist/components/checkbox/checkbox.js +117 -0
- package/dist/components/checkbox/checkbox.props.d.ts +84 -0
- package/dist/components/checkbox/checkbox.props.js +49 -0
- package/dist/components/checkbox/checkbox.slots.d.ts +27 -0
- package/dist/components/checkbox/checkbox.slots.js +40 -0
- package/dist/components/checkbox/index.d.ts +3 -0
- package/dist/components/code-block/brand-logo.d.ts +37 -0
- package/dist/components/code-block/brand-logo.js +212 -0
- package/dist/components/code-block/code-block.context.js +13 -0
- package/dist/components/code-block/code-block.d.ts +190 -0
- package/dist/components/code-block/code-block.js +267 -0
- package/dist/components/code-block/code-block.props.d.ts +42 -0
- package/dist/components/code-block/code-block.props.js +51 -0
- package/dist/components/code-block/code-block.slots.d.ts +16 -0
- package/dist/components/code-block/code-block.slots.js +31 -0
- package/dist/components/code-block/index.d.ts +3 -0
- package/dist/components/code-block/language-label.js +43 -0
- package/dist/components/collapsible/collapsible.context.js +18 -0
- package/dist/components/collapsible/collapsible.d.ts +167 -0
- package/dist/components/collapsible/collapsible.js +182 -0
- package/dist/components/collapsible/collapsible.props.d.ts +33 -0
- package/dist/components/collapsible/collapsible.props.js +44 -0
- package/dist/components/collapsible/collapsible.slots.d.ts +25 -0
- package/dist/components/collapsible/collapsible.slots.js +40 -0
- package/dist/components/collapsible/collapsible.types.d.ts +23 -0
- package/dist/components/collapsible/index.d.ts +2 -0
- package/dist/components/color-picker/area.d.ts +11 -0
- package/dist/components/color-picker/area.js +148 -0
- package/dist/components/color-picker/color-picker.d.ts +110 -0
- package/dist/components/color-picker/color-picker.js +149 -0
- package/dist/components/color-picker/color-picker.props.d.ts +69 -0
- package/dist/components/color-picker/color-picker.props.js +74 -0
- package/dist/components/color-picker/color-picker.slots.js +21 -0
- package/dist/components/color-picker/color.d.ts +18 -0
- package/dist/components/color-picker/color.js +224 -0
- package/dist/components/color-picker/context.d.ts +25 -0
- package/dist/components/color-picker/context.js +23 -0
- package/dist/components/color-picker/eyedropper.d.ts +14 -0
- package/dist/components/color-picker/eyedropper.js +50 -0
- package/dist/components/color-picker/format-tabs.d.ts +11 -0
- package/dist/components/color-picker/format-tabs.js +35 -0
- package/dist/components/color-picker/index.d.ts +3 -0
- package/dist/components/color-picker/inputs.d.ts +16 -0
- package/dist/components/color-picker/inputs.js +61 -0
- package/dist/components/color-picker/sliders.d.ts +17 -0
- package/dist/components/color-picker/sliders.js +94 -0
- package/dist/components/color-picker/store.js +48 -0
- package/dist/components/color-picker/swatch.d.ts +15 -0
- package/dist/components/color-picker/swatch.js +25 -0
- package/dist/components/color-swatch/color-swatch-picker.d.ts +87 -0
- package/dist/components/color-swatch/color-swatch-picker.js +73 -0
- package/dist/components/color-swatch/color-swatch.context.js +8 -0
- package/dist/components/color-swatch/color-swatch.d.ts +55 -0
- package/dist/components/color-swatch/color-swatch.js +48 -0
- package/dist/components/color-swatch/color-swatch.props.d.ts +54 -0
- package/dist/components/color-swatch/color-swatch.props.js +32 -0
- package/dist/components/color-swatch/color-swatch.slots.js +13 -0
- package/dist/components/color-swatch/index.d.ts +2 -0
- package/dist/components/combobox/combobox.context.js +13 -0
- package/dist/components/combobox/combobox.d.ts +328 -0
- package/dist/components/combobox/combobox.js +315 -0
- package/dist/components/combobox/combobox.props.d.ts +85 -0
- package/dist/components/combobox/combobox.props.js +79 -0
- package/dist/components/combobox/combobox.slots.d.ts +28 -0
- package/dist/components/combobox/combobox.slots.js +63 -0
- package/dist/components/combobox/index.d.ts +2 -0
- package/dist/components/context-menu/context-menu.d.ts +254 -0
- package/dist/components/context-menu/context-menu.js +150 -0
- package/dist/components/context-menu/context-menu.props.d.ts +22 -0
- package/dist/components/context-menu/context-menu.props.js +32 -0
- package/dist/components/context-menu/context-menu.slots.d.ts +24 -0
- package/dist/components/context-menu/context-menu.slots.js +42 -0
- package/dist/components/context-menu/index.d.ts +2 -0
- package/dist/components/copy-button/copy-button.d.ts +56 -0
- package/dist/components/copy-button/copy-button.js +88 -0
- package/dist/components/copy-button/copy-button.props.d.ts +27 -0
- package/dist/components/copy-button/copy-button.props.js +51 -0
- package/dist/components/copy-button/copy-button.slots.d.ts +20 -0
- package/dist/components/copy-button/copy-button.slots.js +36 -0
- package/dist/components/copy-button/index.d.ts +2 -0
- package/dist/components/dialog/dialog.context.js +15 -0
- package/dist/components/dialog/dialog.d.ts +299 -0
- package/dist/components/dialog/dialog.js +263 -0
- package/dist/components/dialog/dialog.props.d.ts +71 -0
- package/dist/components/dialog/dialog.props.js +75 -0
- package/dist/components/dialog/dialog.slots.d.ts +26 -0
- package/dist/components/dialog/dialog.slots.js +46 -0
- package/dist/components/dialog/dialog.types.d.ts +16 -0
- package/dist/components/dialog/index.d.ts +3 -0
- package/dist/components/field/field.d.ts +221 -0
- package/dist/components/field/field.js +192 -0
- package/dist/components/field/field.props.d.ts +66 -0
- package/dist/components/field/field.props.js +65 -0
- package/dist/components/field/field.slots.d.ts +35 -0
- package/dist/components/field/field.slots.js +54 -0
- package/dist/components/field/field.types.d.ts +5 -0
- package/dist/components/field/index.d.ts +4 -0
- package/dist/components/inline-code/index.d.ts +1 -0
- package/dist/components/inline-code/inline-code.d.ts +46 -0
- package/dist/components/inline-code/inline-code.js +36 -0
- package/dist/components/inline-code/inline-code.props.d.ts +17 -0
- package/dist/components/inline-code/inline-code.props.js +27 -0
- package/dist/components/inline-code/inline-code.slots.js +8 -0
- package/dist/components/input/index.d.ts +3 -0
- package/dist/components/input/input.context.js +13 -0
- package/dist/components/input/input.d.ts +161 -0
- package/dist/components/input/input.js +117 -0
- package/dist/components/input/input.props.d.ts +51 -0
- package/dist/components/input/input.props.js +50 -0
- package/dist/components/input/input.slots.d.ts +35 -0
- package/dist/components/input/input.slots.js +46 -0
- package/dist/components/input/input.types.d.ts +12 -0
- package/dist/components/kbd/glyphs.js +45 -0
- package/dist/components/kbd/index.d.ts +1 -0
- package/dist/components/kbd/kbd.d.ts +61 -0
- package/dist/components/kbd/kbd.js +233 -0
- package/dist/components/kbd/kbd.props.d.ts +30 -0
- package/dist/components/kbd/kbd.props.js +39 -0
- package/dist/components/kbd/kbd.slots.js +14 -0
- package/dist/components/kbd/use-apple-platform.js +25 -0
- package/dist/components/menu/index.d.ts +2 -0
- package/dist/components/menu/menu.d.ts +355 -0
- package/dist/components/menu/menu.js +263 -0
- package/dist/components/menu/menu.props.d.ts +92 -0
- package/dist/components/menu/menu.props.js +97 -0
- package/dist/components/menu/menu.slots.d.ts +32 -0
- package/dist/components/menu/menu.slots.js +60 -0
- package/dist/components/menubar/index.d.ts +2 -0
- package/dist/components/menubar/menubar.context.js +13 -0
- package/dist/components/menubar/menubar.d.ts +162 -0
- package/dist/components/menubar/menubar.js +122 -0
- package/dist/components/menubar/menubar.props.d.ts +41 -0
- package/dist/components/menubar/menubar.props.js +45 -0
- package/dist/components/menubar/menubar.slots.d.ts +26 -0
- package/dist/components/menubar/menubar.slots.js +40 -0
- package/dist/components/meter/index.d.ts +2 -0
- package/dist/components/meter/meter.context.d.ts +9 -0
- package/dist/components/meter/meter.context.js +13 -0
- package/dist/components/meter/meter.d.ts +163 -0
- package/dist/components/meter/meter.js +121 -0
- package/dist/components/meter/meter.props.d.ts +50 -0
- package/dist/components/meter/meter.props.js +33 -0
- package/dist/components/meter/meter.slots.d.ts +18 -0
- package/dist/components/meter/meter.slots.js +31 -0
- package/dist/components/navigation-menu/index.d.ts +2 -0
- package/dist/components/navigation-menu/navigation-menu.d.ts +328 -0
- package/dist/components/navigation-menu/navigation-menu.js +274 -0
- package/dist/components/navigation-menu/navigation-menu.props.d.ts +98 -0
- package/dist/components/navigation-menu/navigation-menu.props.js +90 -0
- package/dist/components/navigation-menu/navigation-menu.slots.d.ts +34 -0
- package/dist/components/navigation-menu/navigation-menu.slots.js +60 -0
- package/dist/components/number-field/index.d.ts +2 -0
- package/dist/components/number-field/number-field.context.d.ts +13 -0
- package/dist/components/number-field/number-field.context.js +13 -0
- package/dist/components/number-field/number-field.d.ts +197 -0
- package/dist/components/number-field/number-field.js +187 -0
- package/dist/components/number-field/number-field.props.d.ts +66 -0
- package/dist/components/number-field/number-field.props.js +50 -0
- package/dist/components/number-field/number-field.slots.d.ts +31 -0
- package/dist/components/number-field/number-field.slots.js +48 -0
- package/dist/components/otp-field/index.d.ts +3 -0
- package/dist/components/otp-field/otp-field.context.js +13 -0
- package/dist/components/otp-field/otp-field.d.ts +99 -0
- package/dist/components/otp-field/otp-field.js +76 -0
- package/dist/components/otp-field/otp-field.props.d.ts +48 -0
- package/dist/components/otp-field/otp-field.props.js +43 -0
- package/dist/components/otp-field/otp-field.slots.d.ts +28 -0
- package/dist/components/otp-field/otp-field.slots.js +39 -0
- package/dist/components/popover/index.d.ts +2 -0
- package/dist/components/popover/popover.d.ts +192 -0
- package/dist/components/popover/popover.js +152 -0
- package/dist/components/popover/popover.props.d.ts +34 -0
- package/dist/components/popover/popover.props.js +44 -0
- package/dist/components/popover/popover.slots.d.ts +22 -0
- package/dist/components/popover/popover.slots.js +42 -0
- package/dist/components/preview-card/index.d.ts +2 -0
- package/dist/components/preview-card/preview-card.d.ts +182 -0
- package/dist/components/preview-card/preview-card.js +146 -0
- package/dist/components/preview-card/preview-card.props.d.ts +37 -0
- package/dist/components/preview-card/preview-card.props.js +48 -0
- package/dist/components/preview-card/preview-card.slots.d.ts +22 -0
- package/dist/components/preview-card/preview-card.slots.js +39 -0
- package/dist/components/progress/index.d.ts +3 -0
- package/dist/components/progress/progress.context.d.ts +9 -0
- package/dist/components/progress/progress.context.js +13 -0
- package/dist/components/progress/progress.d.ts +139 -0
- package/dist/components/progress/progress.js +92 -0
- package/dist/components/progress/progress.props.d.ts +56 -0
- package/dist/components/progress/progress.props.js +38 -0
- package/dist/components/progress/progress.slots.d.ts +24 -0
- package/dist/components/progress/progress.slots.js +37 -0
- package/dist/components/radio/index.d.ts +2 -0
- package/dist/components/radio/radio.context.js +5 -0
- package/dist/components/radio/radio.d.ts +205 -0
- package/dist/components/radio/radio.js +168 -0
- package/dist/components/radio/radio.props.d.ts +106 -0
- package/dist/components/radio/radio.props.js +65 -0
- package/dist/components/radio/radio.slots.d.ts +29 -0
- package/dist/components/radio/radio.slots.js +44 -0
- package/dist/components/rail/index.d.ts +3 -0
- package/dist/components/rail/rail.context.d.ts +17 -0
- package/dist/components/rail/rail.context.js +23 -0
- package/dist/components/rail/rail.d.ts +232 -0
- package/dist/components/rail/rail.js +254 -0
- package/dist/components/rail/rail.props.d.ts +98 -0
- package/dist/components/rail/rail.props.js +64 -0
- package/dist/components/rail/rail.slots.d.ts +20 -0
- package/dist/components/rail/rail.slots.js +40 -0
- package/dist/components/scroll-area/index.d.ts +2 -0
- package/dist/components/scroll-area/scroll-area.context.js +15 -0
- package/dist/components/scroll-area/scroll-area.d.ts +217 -0
- package/dist/components/scroll-area/scroll-area.js +153 -0
- package/dist/components/scroll-area/scroll-area.props.d.ts +73 -0
- package/dist/components/scroll-area/scroll-area.props.js +64 -0
- package/dist/components/scroll-area/scroll-area.slots.d.ts +40 -0
- package/dist/components/scroll-area/scroll-area.slots.js +54 -0
- package/dist/components/scroll-area/scroll-area.types.d.ts +24 -0
- package/dist/components/search-dialog/index.d.ts +3 -0
- package/dist/components/search-dialog/parts/input.d.ts +24 -0
- package/dist/components/search-dialog/parts/input.js +53 -0
- package/dist/components/search-dialog/parts/messages.d.ts +80 -0
- package/dist/components/search-dialog/parts/messages.js +75 -0
- package/dist/components/search-dialog/parts/results.d.ts +43 -0
- package/dist/components/search-dialog/parts/results.js +63 -0
- package/dist/components/search-dialog/parts/root.d.ts +54 -0
- package/dist/components/search-dialog/parts/root.js +99 -0
- package/dist/components/search-dialog/search-dialog.context.d.ts +15 -0
- package/dist/components/search-dialog/search-dialog.context.js +20 -0
- package/dist/components/search-dialog/search-dialog.d.ts +84 -0
- package/dist/components/search-dialog/search-dialog.js +43 -0
- package/dist/components/search-dialog/search-dialog.props.d.ts +45 -0
- package/dist/components/search-dialog/search-dialog.props.js +49 -0
- package/dist/components/search-dialog/search-dialog.slots.d.ts +16 -0
- package/dist/components/search-dialog/search-dialog.slots.js +32 -0
- package/dist/components/select/index.d.ts +2 -0
- package/dist/components/select/select.context.js +17 -0
- package/dist/components/select/select.d.ts +356 -0
- package/dist/components/select/select.js +314 -0
- package/dist/components/select/select.props.d.ts +110 -0
- package/dist/components/select/select.props.js +103 -0
- package/dist/components/select/select.slots.d.ts +38 -0
- package/dist/components/select/select.slots.js +67 -0
- package/dist/components/separator/index.d.ts +2 -0
- package/dist/components/separator/separator.d.ts +69 -0
- package/dist/components/separator/separator.js +44 -0
- package/dist/components/separator/separator.props.d.ts +30 -0
- package/dist/components/separator/separator.props.js +30 -0
- package/dist/components/separator/separator.slots.d.ts +22 -0
- package/dist/components/separator/separator.slots.js +21 -0
- package/dist/components/separator/separator.types.d.ts +5 -0
- package/dist/components/sheet/index.d.ts +3 -0
- package/dist/components/sheet/sheet-stack.d.ts +106 -0
- package/dist/components/sheet/sheet-stack.js +146 -0
- package/dist/components/sheet/sheet.d.ts +279 -0
- package/dist/components/sheet/sheet.js +264 -0
- package/dist/components/sheet/sheet.props.d.ts +74 -0
- package/dist/components/sheet/sheet.props.js +77 -0
- package/dist/components/sheet/sheet.slots.js +22 -0
- package/dist/components/sheet/sheet.types.d.ts +12 -0
- package/dist/components/slider/index.d.ts +3 -0
- package/dist/components/slider/slider.context.d.ts +5 -0
- package/dist/components/slider/slider.context.js +29 -0
- package/dist/components/slider/slider.d.ts +230 -0
- package/dist/components/slider/slider.js +274 -0
- package/dist/components/slider/slider.props.d.ts +72 -0
- package/dist/components/slider/slider.props.js +59 -0
- package/dist/components/slider/slider.slots.d.ts +30 -0
- package/dist/components/slider/slider.slots.js +50 -0
- package/dist/components/surface/index.d.ts +1 -0
- package/dist/components/surface/surface.d.ts +84 -0
- package/dist/components/surface/surface.js +48 -0
- package/dist/components/surface/surface.props.d.ts +35 -0
- package/dist/components/surface/surface.props.js +26 -0
- package/dist/components/surface/surface.slots.js +9 -0
- package/dist/components/surface/surface.types.d.ts +14 -0
- package/dist/components/switch/index.d.ts +2 -0
- package/dist/components/switch/switch.context.js +14 -0
- package/dist/components/switch/switch.d.ts +110 -0
- package/dist/components/switch/switch.js +92 -0
- package/dist/components/switch/switch.props.d.ts +68 -0
- package/dist/components/switch/switch.props.js +41 -0
- package/dist/components/switch/switch.slots.d.ts +23 -0
- package/dist/components/switch/switch.slots.js +35 -0
- package/dist/components/table/index.d.ts +1 -0
- package/dist/components/table/table.d.ts +104 -0
- package/dist/components/table/table.js +92 -0
- package/dist/components/table/table.props.d.ts +38 -0
- package/dist/components/table/table.props.js +49 -0
- package/dist/components/table/table.slots.js +17 -0
- package/dist/components/tabs/index.d.ts +2 -0
- package/dist/components/tabs/tabs.context.d.ts +9 -0
- package/dist/components/tabs/tabs.context.js +13 -0
- package/dist/components/tabs/tabs.d.ts +139 -0
- package/dist/components/tabs/tabs.js +118 -0
- package/dist/components/tabs/tabs.props.d.ts +59 -0
- package/dist/components/tabs/tabs.props.js +39 -0
- package/dist/components/tabs/tabs.slots.d.ts +20 -0
- package/dist/components/tabs/tabs.slots.js +33 -0
- package/dist/components/textarea/index.d.ts +3 -0
- package/dist/components/textarea/textarea.context.js +13 -0
- package/dist/components/textarea/textarea.d.ts +142 -0
- package/dist/components/textarea/textarea.js +129 -0
- package/dist/components/textarea/textarea.props.d.ts +44 -0
- package/dist/components/textarea/textarea.props.js +32 -0
- package/dist/components/textarea/textarea.slots.d.ts +23 -0
- package/dist/components/textarea/textarea.slots.js +33 -0
- package/dist/components/textarea/textarea.types.d.ts +5 -0
- package/dist/components/toast/index.d.ts +4 -0
- package/dist/components/toast/toast.d.ts +241 -0
- package/dist/components/toast/toast.js +193 -0
- package/dist/components/toast/toast.manager.d.ts +76 -0
- package/dist/components/toast/toast.manager.js +71 -0
- package/dist/components/toast/toast.props.d.ts +66 -0
- package/dist/components/toast/toast.props.js +74 -0
- package/dist/components/toast/toast.slots.d.ts +30 -0
- package/dist/components/toast/toast.slots.js +49 -0
- package/dist/components/toast/toast.types.d.ts +19 -0
- package/dist/components/toggle/index.d.ts +2 -0
- package/dist/components/toggle/toggle.context.d.ts +11 -0
- package/dist/components/toggle/toggle.context.js +14 -0
- package/dist/components/toggle/toggle.d.ts +136 -0
- package/dist/components/toggle/toggle.js +101 -0
- package/dist/components/toggle/toggle.props.d.ts +51 -0
- package/dist/components/toggle/toggle.props.js +29 -0
- package/dist/components/toggle/toggle.slots.d.ts +26 -0
- package/dist/components/toggle/toggle.slots.js +36 -0
- package/dist/components/toolbar/index.d.ts +3 -0
- package/dist/components/toolbar/toolbar.context.js +23 -0
- package/dist/components/toolbar/toolbar.d.ts +218 -0
- package/dist/components/toolbar/toolbar.js +197 -0
- package/dist/components/toolbar/toolbar.props.d.ts +54 -0
- package/dist/components/toolbar/toolbar.props.js +55 -0
- package/dist/components/toolbar/toolbar.slots.d.ts +24 -0
- package/dist/components/toolbar/toolbar.slots.js +37 -0
- package/dist/components/toolbar/toolbar.types.d.ts +15 -0
- package/dist/components/tooltip/index.d.ts +2 -0
- package/dist/components/tooltip/tooltip.d.ts +170 -0
- package/dist/components/tooltip/tooltip.js +143 -0
- package/dist/components/tooltip/tooltip.props.d.ts +36 -0
- package/dist/components/tooltip/tooltip.props.js +42 -0
- package/dist/components/tooltip/tooltip.slots.d.ts +26 -0
- package/dist/components/tooltip/tooltip.slots.js +42 -0
- package/dist/core/derive-threshold-tone.js +35 -0
- package/dist/core/merge-class-name.d.ts +17 -0
- package/dist/core/merge-class-name.js +16 -0
- package/dist/core/noctis-provider.d.ts +38 -0
- package/dist/core/noctis-provider.js +44 -0
- package/dist/core/primitive/index.d.ts +1 -0
- package/dist/core/primitive/primitive.d.ts +44 -0
- package/dist/core/primitive/primitive.js +27 -0
- package/dist/core/radius-scope/index.d.ts +2 -0
- package/dist/core/radius-scope/radius-scope.d.ts +43 -0
- package/dist/core/radius-scope/radius-scope.js +36 -0
- package/dist/core/radius-scope/radius-scope.styles.d.ts +13 -0
- package/dist/core/radius-scope/radius-scope.styles.js +11 -0
- package/dist/core/render.d.ts +24 -0
- package/dist/core/render.js +12 -0
- package/dist/core/use-copy.d.ts +13 -0
- package/dist/core/use-copy.js +30 -0
- package/dist/core/use-injected-labels.js +55 -0
- package/dist/core/use-reduced-motion.d.ts +9 -0
- package/dist/core/use-reduced-motion.js +26 -0
- package/dist/core/visually-hidden/index.d.ts +1 -0
- package/dist/core/visually-hidden/visually-hidden.d.ts +24 -0
- package/dist/core/visually-hidden/visually-hidden.js +19 -0
- package/dist/i18n/default-messages.d.ts +12 -0
- package/dist/i18n/default-messages.js +10 -0
- package/dist/i18n/index.d.ts +2 -0
- package/dist/i18n/index.js +2 -0
- package/dist/i18n/messages/index.d.ts +2 -0
- package/dist/i18n/messages/index.js +2 -0
- package/dist/icons/glyphs.d.ts +2 -0
- package/dist/icons/glyphs.js +2 -0
- package/dist/icons/icon.d.ts +40 -0
- package/dist/icons/icon.js +26 -0
- package/dist/icons/icon.styles.d.ts +9 -0
- package/dist/icons/index.d.ts +3 -0
- package/dist/index.d.ts +126 -0
- package/dist/index.js +112 -0
- package/dist/primitives/accordion.d.ts +7 -0
- package/dist/primitives/accordion.js +8 -0
- package/dist/primitives/alert-dialog.d.ts +7 -0
- package/dist/primitives/alert-dialog.js +8 -0
- package/dist/primitives/autocomplete/autocomplete.d.ts +58 -0
- package/dist/primitives/autocomplete/autocomplete.js +58 -0
- package/dist/primitives/autocomplete/index.d.ts +1 -0
- package/dist/primitives/autocomplete.d.ts +2 -0
- package/dist/primitives/autocomplete.js +2 -0
- package/dist/primitives/avatar.d.ts +7 -0
- package/dist/primitives/avatar.js +8 -0
- package/dist/primitives/button.d.ts +7 -0
- package/dist/primitives/button.js +8 -0
- package/dist/primitives/checkbox-group.d.ts +7 -0
- package/dist/primitives/checkbox-group.js +8 -0
- package/dist/primitives/checkbox.d.ts +7 -0
- package/dist/primitives/checkbox.js +8 -0
- package/dist/primitives/collapsible.d.ts +7 -0
- package/dist/primitives/collapsible.js +8 -0
- package/dist/primitives/combobox/combobox.d.ts +71 -0
- package/dist/primitives/combobox/combobox.js +66 -0
- package/dist/primitives/combobox/index.d.ts +1 -0
- package/dist/primitives/combobox.d.ts +2 -0
- package/dist/primitives/combobox.js +2 -0
- package/dist/primitives/context-menu.d.ts +7 -0
- package/dist/primitives/context-menu.js +8 -0
- package/dist/primitives/csp-provider.d.ts +1 -0
- package/dist/primitives/csp-provider.js +2 -0
- package/dist/primitives/dialog.d.ts +7 -0
- package/dist/primitives/dialog.js +8 -0
- package/dist/primitives/direction-provider.d.ts +1 -0
- package/dist/primitives/direction-provider.js +8 -0
- package/dist/primitives/drawer.d.ts +1 -0
- package/dist/primitives/drawer.js +2 -0
- package/dist/primitives/field.d.ts +7 -0
- package/dist/primitives/field.js +8 -0
- package/dist/primitives/fieldset.d.ts +7 -0
- package/dist/primitives/fieldset.js +8 -0
- package/dist/primitives/form.d.ts +7 -0
- package/dist/primitives/form.js +8 -0
- package/dist/primitives/index.d.ts +79 -0
- package/dist/primitives/index.js +113 -0
- package/dist/primitives/input.d.ts +7 -0
- package/dist/primitives/input.js +8 -0
- package/dist/primitives/menu.d.ts +7 -0
- package/dist/primitives/menu.js +8 -0
- package/dist/primitives/menubar.d.ts +7 -0
- package/dist/primitives/menubar.js +8 -0
- package/dist/primitives/meter/index.d.ts +1 -0
- package/dist/primitives/meter/meter.d.ts +56 -0
- package/dist/primitives/meter/meter.js +59 -0
- package/dist/primitives/meter.d.ts +2 -0
- package/dist/primitives/meter.js +2 -0
- package/dist/primitives/navigation-menu.d.ts +7 -0
- package/dist/primitives/navigation-menu.js +8 -0
- package/dist/primitives/number-field/context.d.ts +13 -0
- package/dist/primitives/number-field/context.js +36 -0
- package/dist/primitives/number-field/index.d.ts +2 -0
- package/dist/primitives/number-field/number-field.d.ts +90 -0
- package/dist/primitives/number-field/number-field.js +107 -0
- package/dist/primitives/number-field.d.ts +3 -0
- package/dist/primitives/number-field.js +2 -0
- package/dist/primitives/otp-field.d.ts +7 -0
- package/dist/primitives/otp-field.js +8 -0
- package/dist/primitives/popover.d.ts +7 -0
- package/dist/primitives/popover.js +8 -0
- package/dist/primitives/preview-card.d.ts +7 -0
- package/dist/primitives/preview-card.js +8 -0
- package/dist/primitives/progress/index.d.ts +1 -0
- package/dist/primitives/progress/progress.d.ts +56 -0
- package/dist/primitives/progress/progress.js +59 -0
- package/dist/primitives/progress.d.ts +2 -0
- package/dist/primitives/progress.js +2 -0
- package/dist/primitives/radio-group.d.ts +7 -0
- package/dist/primitives/radio-group.js +8 -0
- package/dist/primitives/radio.d.ts +7 -0
- package/dist/primitives/radio.js +8 -0
- package/dist/primitives/scroll-area.d.ts +7 -0
- package/dist/primitives/scroll-area.js +8 -0
- package/dist/primitives/select.d.ts +7 -0
- package/dist/primitives/select.js +8 -0
- package/dist/primitives/separator.d.ts +7 -0
- package/dist/primitives/separator.js +8 -0
- package/dist/primitives/slider/context.d.ts +12 -0
- package/dist/primitives/slider/context.js +18 -0
- package/dist/primitives/slider/index.d.ts +2 -0
- package/dist/primitives/slider/slider.d.ts +83 -0
- package/dist/primitives/slider/slider.js +99 -0
- package/dist/primitives/slider.d.ts +3 -0
- package/dist/primitives/slider.js +2 -0
- package/dist/primitives/switch.d.ts +1 -0
- package/dist/primitives/switch.js +2 -0
- package/dist/primitives/tabs.d.ts +7 -0
- package/dist/primitives/tabs.js +8 -0
- package/dist/primitives/toast/context.d.ts +11 -0
- package/dist/primitives/toast/context.js +18 -0
- package/dist/primitives/toast/index.d.ts +2 -0
- package/dist/primitives/toast/toast.d.ts +122 -0
- package/dist/primitives/toast/toast.js +133 -0
- package/dist/primitives/toast.d.ts +3 -0
- package/dist/primitives/toast.js +2 -0
- package/dist/primitives/toggle-group.d.ts +7 -0
- package/dist/primitives/toggle-group.js +8 -0
- package/dist/primitives/toggle.d.ts +7 -0
- package/dist/primitives/toggle.js +8 -0
- package/dist/primitives/toolbar.d.ts +7 -0
- package/dist/primitives/toolbar.js +8 -0
- package/dist/primitives/tooltip.d.ts +7 -0
- package/dist/primitives/tooltip.js +8 -0
- package/dist/props.d.ts +46 -0
- package/dist/props.js +46 -0
- package/dist/styles.css +11513 -0
- package/dist/tailwind/cn.d.ts +33 -0
- package/dist/tailwind/cn.js +42 -0
- package/dist/tailwind/index.d.ts +3 -0
- package/dist/tailwind/index.js +3 -0
- package/dist/tailwind/tv.d.ts +20 -0
- package/dist/tailwind/tv.js +11 -0
- package/dist/tailwind.css +485 -0
- package/dist/theme/react.d.ts +1 -0
- package/dist/theme/react.js +1 -0
- package/dist/theme.d.ts +1 -0
- package/dist/theme.js +1 -0
- package/dist/tokens/react.d.ts +1 -0
- package/dist/tokens/react.js +1 -0
- package/dist/tokens.d.ts +1 -0
- package/dist/tokens.js +1 -0
- package/package.json +121 -0
|
@@ -0,0 +1,355 @@
|
|
|
1
|
+
import { IconGlyph } from "../../icons/glyphs.js";
|
|
2
|
+
import { MenuItemPropsArgs, MenuPartProps, checkboxItemProps, contentProps, groupLabelProps, groupProps, itemProps, linkItemProps, radioGroupProps, radioItemProps, separatorProps, shortcutProps, submenuTriggerProps, triggerProps } from "./menu.props.js";
|
|
3
|
+
import { menu_d_exports } from "../../primitives/menu.js";
|
|
4
|
+
import { ReactElement, ReactNode } from "react";
|
|
5
|
+
|
|
6
|
+
//#region src/components/menu/menu.d.ts
|
|
7
|
+
/**
|
|
8
|
+
* Owns the open state and shares it with the trigger and content. Wraps Base UI's Menu. Modal by
|
|
9
|
+
* default — outside content is inert and page scroll is locked while open; set `modal={false}` for a
|
|
10
|
+
* lighter popup that leaves the page interactive.
|
|
11
|
+
*/
|
|
12
|
+
declare function MenuRoot(props: Menu.Root.Props): ReactElement;
|
|
13
|
+
/**
|
|
14
|
+
* The control that opens the menu. Style it yourself, or compose a `Button` through `render` — e.g.
|
|
15
|
+
* `<Menu.Trigger render={<Button iconOnly aria-label="More" startIcon={ChevronDownIcon} />} />`.
|
|
16
|
+
*/
|
|
17
|
+
declare function MenuTrigger(props: Menu.Trigger.Props): ReactElement;
|
|
18
|
+
/**
|
|
19
|
+
* The floating menu surface — portaled, elevated, and animated — holding the items, groups, and
|
|
20
|
+
* separators. A root menu opens below the trigger, aligned to its start; inside a `SubmenuRoot` it
|
|
21
|
+
* opens on the inline-end side instead, flipping to inline-start at the viewport edge. Caps at the
|
|
22
|
+
* available viewport height and scrolls its list, keeping the keyboard highlight in view.
|
|
23
|
+
*/
|
|
24
|
+
declare function MenuContent({
|
|
25
|
+
side,
|
|
26
|
+
align,
|
|
27
|
+
sideOffset,
|
|
28
|
+
alignOffset,
|
|
29
|
+
collisionPadding,
|
|
30
|
+
className,
|
|
31
|
+
style,
|
|
32
|
+
children,
|
|
33
|
+
...props
|
|
34
|
+
}: Menu.Content.Props): ReactElement;
|
|
35
|
+
/** A labelled section of related items. Put a `GroupLabel` inside to name it for screen readers. */
|
|
36
|
+
declare function MenuGroup({
|
|
37
|
+
className,
|
|
38
|
+
...props
|
|
39
|
+
}: Menu.Group.Props): ReactElement;
|
|
40
|
+
/** The group's muted, non-interactive heading — announced as the group's accessible name. */
|
|
41
|
+
declare function MenuGroupLabel({
|
|
42
|
+
className,
|
|
43
|
+
...props
|
|
44
|
+
}: Menu.GroupLabel.Props): ReactElement;
|
|
45
|
+
/**
|
|
46
|
+
* A menu action. Optional leading `icon`; `inset` reserves the icon column on icon-less rows so
|
|
47
|
+
* labels align with iconed siblings; `tone="danger"` marks a destructive action — red label and a
|
|
48
|
+
* danger-tinted highlight. Trailing content (a `Menu.Shortcut`, secondary text) flows after the label.
|
|
49
|
+
*/
|
|
50
|
+
declare function MenuItem({
|
|
51
|
+
icon,
|
|
52
|
+
inset,
|
|
53
|
+
tone,
|
|
54
|
+
className,
|
|
55
|
+
children,
|
|
56
|
+
...props
|
|
57
|
+
}: Menu.Item.Props): ReactElement;
|
|
58
|
+
/**
|
|
59
|
+
* A navigable menu row that renders an `<a>` — the canonical "Open in new tab" / "Copy link address"
|
|
60
|
+
* action. Same row recipe as `Item` (leading `icon`, `inset` alignment, `tone="danger"`); pass anchor
|
|
61
|
+
* props (`href`, `target`, `rel`) through. Navigating is a terminal action, so it closes the menu on
|
|
62
|
+
* click by default (set `closeOnClick={false}` to keep it open).
|
|
63
|
+
*/
|
|
64
|
+
declare function MenuLinkItem({
|
|
65
|
+
icon,
|
|
66
|
+
inset,
|
|
67
|
+
tone,
|
|
68
|
+
closeOnClick,
|
|
69
|
+
className,
|
|
70
|
+
children,
|
|
71
|
+
...props
|
|
72
|
+
}: Menu.LinkItem.Props): ReactElement;
|
|
73
|
+
/**
|
|
74
|
+
* A menu item that toggles a setting. The leading slot is a check that animates in while ticked,
|
|
75
|
+
* holding the same column as item icons; toggling does not close the menu (`closeOnClick` stays
|
|
76
|
+
* Base UI's `false`).
|
|
77
|
+
*/
|
|
78
|
+
declare function MenuCheckboxItem({
|
|
79
|
+
className,
|
|
80
|
+
children,
|
|
81
|
+
...props
|
|
82
|
+
}: Menu.CheckboxItem.Props): ReactElement;
|
|
83
|
+
/** Groups `RadioItem`s around one selected `value` (controlled or via `defaultValue`). */
|
|
84
|
+
declare function MenuRadioGroup({
|
|
85
|
+
className,
|
|
86
|
+
...props
|
|
87
|
+
}: Menu.RadioGroup.Props): ReactElement;
|
|
88
|
+
/**
|
|
89
|
+
* One choice in a `RadioGroup`. The leading slot is a dot that marks the selected item, holding the
|
|
90
|
+
* same column as item icons; selecting does not close the menu (`closeOnClick` stays Base UI's
|
|
91
|
+
* `false`).
|
|
92
|
+
*/
|
|
93
|
+
declare function MenuRadioItem({
|
|
94
|
+
className,
|
|
95
|
+
children,
|
|
96
|
+
...props
|
|
97
|
+
}: Menu.RadioItem.Props): ReactElement;
|
|
98
|
+
/** Owns a nested submenu's open state. Renders no element — wrap a `SubmenuTrigger` and a `Content`. */
|
|
99
|
+
declare function MenuSubmenuRoot(props: Menu.SubmenuRoot.Props): ReactElement;
|
|
100
|
+
/**
|
|
101
|
+
* An item-shaped row that opens a nested submenu — on hover (after a short intent delay, with a
|
|
102
|
+
* grace period on leave so diagonal pointer travel into the submenu doesn't snap it shut), on click,
|
|
103
|
+
* and from the keyboard (Right arrow / Enter; Left arrow in RTL). The trailing chevron mirrors under
|
|
104
|
+
* RTL, and the row stays lit while its submenu is open.
|
|
105
|
+
*/
|
|
106
|
+
declare function MenuSubmenuTrigger({
|
|
107
|
+
icon,
|
|
108
|
+
inset,
|
|
109
|
+
openOnHover,
|
|
110
|
+
delay,
|
|
111
|
+
closeDelay,
|
|
112
|
+
className,
|
|
113
|
+
children,
|
|
114
|
+
...props
|
|
115
|
+
}: Menu.SubmenuTrigger.Props): ReactElement;
|
|
116
|
+
/**
|
|
117
|
+
* A trailing, muted keyboard-shortcut hint composing the `Kbd` primitive — pass `keys` in `Kbd`
|
|
118
|
+
* syntax (`"Mod+K"`, `"G D"`) or custom children. Decorative: hidden from assistive tech so the
|
|
119
|
+
* item's action name stays clean (and typeahead never matches the shortcut); when the binding is
|
|
120
|
+
* live, set `aria-keyshortcuts` on the item to expose it.
|
|
121
|
+
*/
|
|
122
|
+
declare function MenuShortcut({
|
|
123
|
+
keys,
|
|
124
|
+
className,
|
|
125
|
+
children
|
|
126
|
+
}: Menu.Shortcut.Props): ReactElement;
|
|
127
|
+
/** A hairline between groups of menu items. */
|
|
128
|
+
declare function MenuSeparator({
|
|
129
|
+
className,
|
|
130
|
+
...props
|
|
131
|
+
}: Menu.Separator.Props): ReactElement;
|
|
132
|
+
/**
|
|
133
|
+
* A dropdown menu: a `Trigger` opens a floating list of actions. Built on Base UI's Menu for keyboard
|
|
134
|
+
* navigation (arrows, Home/End, typeahead), focus management, and `Escape`/outside-click dismissal,
|
|
135
|
+
* and decoupled from any particular trigger — pass your own (commonly a `Button` via `render`).
|
|
136
|
+
*
|
|
137
|
+
* Compose from parts: `Menu.Root` owns the open state, `Menu.Trigger` opens it, and `Menu.Content`
|
|
138
|
+
* holds the rows — `Item`s, `CheckboxItem`s, `RadioGroup`/`RadioItem`s, `Group`s with a `GroupLabel`,
|
|
139
|
+
* and `Separator`s. Nest a `SubmenuRoot` (wrapping a `SubmenuTrigger` and its own `Content`) for
|
|
140
|
+
* submenus, and give items a trailing `Shortcut` for keyboard hints. Noctis menus are flush against
|
|
141
|
+
* their anchor — there is no arrow/caret part (Base UI offers one; this system doesn't use it).
|
|
142
|
+
*
|
|
143
|
+
* Styling is precompiled in `menu.css`, keyed off each part's prefixed `data-slot`. Each part also
|
|
144
|
+
* carries the D12 `props()` escape hatch via `Object.assign` (e.g. `Menu.Item.props({ tone })`),
|
|
145
|
+
* returning a spreadable `{ "data-slot": "noctis-menu-<part>", ...dataAttrs }` bag for a foreign
|
|
146
|
+
* element a `<Menu.*>` can't wrap.
|
|
147
|
+
*
|
|
148
|
+
* The runtime compound is a plain object (kept tree-shakeable); per-part prop and state types are
|
|
149
|
+
* exposed through the matching `Menu` namespace — e.g. `Menu.Item.Props`.
|
|
150
|
+
*/
|
|
151
|
+
declare const Menu: {
|
|
152
|
+
Root: typeof MenuRoot;
|
|
153
|
+
Trigger: typeof MenuTrigger & {
|
|
154
|
+
props: typeof triggerProps;
|
|
155
|
+
};
|
|
156
|
+
Content: typeof MenuContent & {
|
|
157
|
+
props: typeof contentProps;
|
|
158
|
+
};
|
|
159
|
+
Group: typeof MenuGroup & {
|
|
160
|
+
props: typeof groupProps;
|
|
161
|
+
};
|
|
162
|
+
GroupLabel: typeof MenuGroupLabel & {
|
|
163
|
+
props: typeof groupLabelProps;
|
|
164
|
+
};
|
|
165
|
+
Item: typeof MenuItem & {
|
|
166
|
+
props: typeof itemProps;
|
|
167
|
+
};
|
|
168
|
+
LinkItem: typeof MenuLinkItem & {
|
|
169
|
+
props: typeof linkItemProps;
|
|
170
|
+
};
|
|
171
|
+
CheckboxItem: typeof MenuCheckboxItem & {
|
|
172
|
+
props: typeof checkboxItemProps;
|
|
173
|
+
};
|
|
174
|
+
RadioGroup: typeof MenuRadioGroup & {
|
|
175
|
+
props: typeof radioGroupProps;
|
|
176
|
+
};
|
|
177
|
+
RadioItem: typeof MenuRadioItem & {
|
|
178
|
+
props: typeof radioItemProps;
|
|
179
|
+
};
|
|
180
|
+
SubmenuRoot: typeof MenuSubmenuRoot;
|
|
181
|
+
SubmenuTrigger: typeof MenuSubmenuTrigger & {
|
|
182
|
+
props: typeof submenuTriggerProps;
|
|
183
|
+
};
|
|
184
|
+
Shortcut: typeof MenuShortcut & {
|
|
185
|
+
props: typeof shortcutProps;
|
|
186
|
+
};
|
|
187
|
+
Separator: typeof MenuSeparator & {
|
|
188
|
+
props: typeof separatorProps;
|
|
189
|
+
};
|
|
190
|
+
};
|
|
191
|
+
/**
|
|
192
|
+
* Per-part prop and state types, mirroring Base UI's `Component.Part.Props` convention. Types-only —
|
|
193
|
+
* it emits no runtime code and merges with the `Menu` object above, so `Menu.Item` is the component
|
|
194
|
+
* value while `Menu.Item.Props` is its prop type.
|
|
195
|
+
*/
|
|
196
|
+
declare namespace Menu {
|
|
197
|
+
/** The spreadable data-attribute prop bag every `Menu.*.props()` returns (D12). */
|
|
198
|
+
type PartProps = MenuPartProps;
|
|
199
|
+
namespace Root {
|
|
200
|
+
type Props = menu_d_exports.Menu.Root.Props;
|
|
201
|
+
type State = menu_d_exports.Menu.Root.State;
|
|
202
|
+
}
|
|
203
|
+
namespace Trigger {
|
|
204
|
+
type Props = menu_d_exports.Menu.Trigger.Props;
|
|
205
|
+
type State = menu_d_exports.Menu.Trigger.State;
|
|
206
|
+
}
|
|
207
|
+
namespace Content {
|
|
208
|
+
type Props = menu_d_exports.Menu.Popup.Props & {
|
|
209
|
+
/**
|
|
210
|
+
* Which side of the anchor to open on. Inside a `SubmenuRoot` the default becomes
|
|
211
|
+
* `"inline-end"` — beside the trigger row, flipping to `"inline-start"` at the
|
|
212
|
+
* viewport edge.
|
|
213
|
+
* @default "bottom"
|
|
214
|
+
*/
|
|
215
|
+
side?: menu_d_exports.Menu.Positioner.Props["side"];
|
|
216
|
+
/**
|
|
217
|
+
* Alignment along that side.
|
|
218
|
+
* @default "start"
|
|
219
|
+
*/
|
|
220
|
+
align?: menu_d_exports.Menu.Positioner.Props["align"];
|
|
221
|
+
/**
|
|
222
|
+
* Gap from the anchor, in px. Inside a `SubmenuRoot` it defaults to `0`, flush with
|
|
223
|
+
* the parent menu.
|
|
224
|
+
* @default 6
|
|
225
|
+
*/
|
|
226
|
+
sideOffset?: number;
|
|
227
|
+
/**
|
|
228
|
+
* Shift along the alignment axis, in px. Inside a `SubmenuRoot` it defaults to `-4`,
|
|
229
|
+
* lining the submenu's first row up with its trigger.
|
|
230
|
+
* @default 0
|
|
231
|
+
*/
|
|
232
|
+
alignOffset?: number;
|
|
233
|
+
/**
|
|
234
|
+
* Minimum space kept from the viewport edge when avoiding collisions, in px.
|
|
235
|
+
* @default 8
|
|
236
|
+
*/
|
|
237
|
+
collisionPadding?: menu_d_exports.Menu.Positioner.Props["collisionPadding"];
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
namespace Group {
|
|
241
|
+
type Props = menu_d_exports.Menu.Group.Props;
|
|
242
|
+
type State = menu_d_exports.Menu.Group.State;
|
|
243
|
+
}
|
|
244
|
+
namespace GroupLabel {
|
|
245
|
+
type Props = menu_d_exports.Menu.GroupLabel.Props;
|
|
246
|
+
type State = menu_d_exports.Menu.GroupLabel.State;
|
|
247
|
+
}
|
|
248
|
+
namespace Item {
|
|
249
|
+
type Props = menu_d_exports.Menu.Item.Props & {
|
|
250
|
+
/** Optional leading glyph. */icon?: IconGlyph;
|
|
251
|
+
/**
|
|
252
|
+
* Reserve the leading icon column on a row without a glyph, so its label aligns with
|
|
253
|
+
* iconed siblings.
|
|
254
|
+
* @default false
|
|
255
|
+
*/
|
|
256
|
+
inset?: boolean;
|
|
257
|
+
/**
|
|
258
|
+
* Visual intent. `danger` marks a destructive action — red label and a danger-tinted
|
|
259
|
+
* highlight.
|
|
260
|
+
* @default "default"
|
|
261
|
+
*/
|
|
262
|
+
tone?: "default" | "danger";
|
|
263
|
+
};
|
|
264
|
+
type State = menu_d_exports.Menu.Item.State;
|
|
265
|
+
/** Argument to the `Menu.Item.props(...)` escape-hatch helper. */
|
|
266
|
+
type PropsArgs = MenuItemPropsArgs;
|
|
267
|
+
}
|
|
268
|
+
namespace LinkItem {
|
|
269
|
+
type Props = menu_d_exports.Menu.LinkItem.Props & {
|
|
270
|
+
/** Optional leading glyph. */icon?: IconGlyph;
|
|
271
|
+
/**
|
|
272
|
+
* Reserve the leading icon column on a row without a glyph, so its label aligns with
|
|
273
|
+
* iconed siblings.
|
|
274
|
+
* @default false
|
|
275
|
+
*/
|
|
276
|
+
inset?: boolean;
|
|
277
|
+
/**
|
|
278
|
+
* Visual intent. `danger` marks a destructive link — red label and a danger-tinted
|
|
279
|
+
* highlight.
|
|
280
|
+
* @default "default"
|
|
281
|
+
*/
|
|
282
|
+
tone?: "default" | "danger";
|
|
283
|
+
/**
|
|
284
|
+
* Close the menu when the link is clicked. Navigating is a terminal action, so this
|
|
285
|
+
* defaults to `true` (unlike Base UI's `false`).
|
|
286
|
+
* @default true
|
|
287
|
+
*/
|
|
288
|
+
closeOnClick?: boolean;
|
|
289
|
+
};
|
|
290
|
+
type State = menu_d_exports.Menu.LinkItem.State;
|
|
291
|
+
/** Argument to the `Menu.LinkItem.props(...)` escape-hatch helper. */
|
|
292
|
+
type PropsArgs = MenuItemPropsArgs;
|
|
293
|
+
}
|
|
294
|
+
namespace CheckboxItem {
|
|
295
|
+
type Props = menu_d_exports.Menu.CheckboxItem.Props;
|
|
296
|
+
type State = menu_d_exports.Menu.CheckboxItem.State;
|
|
297
|
+
}
|
|
298
|
+
namespace RadioGroup {
|
|
299
|
+
type Props = menu_d_exports.Menu.RadioGroup.Props;
|
|
300
|
+
type State = menu_d_exports.Menu.RadioGroup.State;
|
|
301
|
+
}
|
|
302
|
+
namespace RadioItem {
|
|
303
|
+
type Props = menu_d_exports.Menu.RadioItem.Props;
|
|
304
|
+
type State = menu_d_exports.Menu.RadioItem.State;
|
|
305
|
+
}
|
|
306
|
+
namespace SubmenuRoot {
|
|
307
|
+
type Props = menu_d_exports.Menu.SubmenuRoot.Props;
|
|
308
|
+
type State = menu_d_exports.Menu.SubmenuRoot.State;
|
|
309
|
+
}
|
|
310
|
+
namespace SubmenuTrigger {
|
|
311
|
+
type Props = Omit<menu_d_exports.Menu.SubmenuTrigger.Props, "openOnHover" | "delay" | "closeDelay"> & {
|
|
312
|
+
/** Optional leading glyph. */icon?: IconGlyph;
|
|
313
|
+
/**
|
|
314
|
+
* Reserve the leading icon column on a row without a glyph, so its label aligns with
|
|
315
|
+
* iconed siblings.
|
|
316
|
+
* @default false
|
|
317
|
+
*/
|
|
318
|
+
inset?: boolean;
|
|
319
|
+
/**
|
|
320
|
+
* Also open the submenu when the trigger is hovered.
|
|
321
|
+
* @default true
|
|
322
|
+
*/
|
|
323
|
+
openOnHover?: boolean;
|
|
324
|
+
/**
|
|
325
|
+
* How long to wait before opening on hover, in ms.
|
|
326
|
+
* @default 100
|
|
327
|
+
*/
|
|
328
|
+
delay?: number;
|
|
329
|
+
/**
|
|
330
|
+
* Grace period before a hover-opened submenu closes after the pointer leaves, in ms —
|
|
331
|
+
* long enough for diagonal travel into the submenu.
|
|
332
|
+
* @default 150
|
|
333
|
+
*/
|
|
334
|
+
closeDelay?: number;
|
|
335
|
+
};
|
|
336
|
+
type State = menu_d_exports.Menu.SubmenuTrigger.State;
|
|
337
|
+
}
|
|
338
|
+
namespace Shortcut {
|
|
339
|
+
type Props = {
|
|
340
|
+
/**
|
|
341
|
+
* The keybinding, in `Kbd` syntax — `+` joins keys pressed together, whitespace
|
|
342
|
+
* separates sequence chords (`"Mod+K"`, `"G D"`).
|
|
343
|
+
*/
|
|
344
|
+
keys?: string; /** Custom hint content, rendered when `keys` is not set. */
|
|
345
|
+
children?: ReactNode; /** Classes merged onto the hint. */
|
|
346
|
+
className?: string;
|
|
347
|
+
};
|
|
348
|
+
}
|
|
349
|
+
namespace Separator {
|
|
350
|
+
type Props = menu_d_exports.Menu.Separator.Props;
|
|
351
|
+
type State = menu_d_exports.Menu.Separator.State;
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
//#endregion
|
|
355
|
+
export { Menu };
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { Icon } from "../../icons/icon.js";
|
|
3
|
+
import { CheckIcon, ChevronRightIcon } from "../../icons/glyphs.js";
|
|
4
|
+
import { Surface } from "../surface/surface.js";
|
|
5
|
+
import { menu_exports } from "../../primitives/menu.js";
|
|
6
|
+
import { Kbd } from "../kbd/kbd.js";
|
|
7
|
+
import { MENU_SLOTS } from "./menu.slots.js";
|
|
8
|
+
import { checkboxItemProps, contentProps, groupLabelProps, groupProps, itemProps, linkItemProps, radioGroupProps, radioItemProps, separatorProps, shortcutProps, submenuTriggerProps, triggerProps } from "./menu.props.js";
|
|
9
|
+
import { createContext, useContext } from "react";
|
|
10
|
+
import clsx$1 from "clsx";
|
|
11
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
12
|
+
//#region src/components/menu/menu.tsx
|
|
13
|
+
/**
|
|
14
|
+
* Marks the subtree of a `Menu.SubmenuRoot`, so a nested `Content` switches to submenu positioning
|
|
15
|
+
* defaults (`side="inline-end"`, flush and row-aligned to its trigger) without the caller wiring it.
|
|
16
|
+
*/
|
|
17
|
+
const SubmenuLevelContext = createContext(false);
|
|
18
|
+
/**
|
|
19
|
+
* Owns the open state and shares it with the trigger and content. Wraps Base UI's Menu. Modal by
|
|
20
|
+
* default — outside content is inert and page scroll is locked while open; set `modal={false}` for a
|
|
21
|
+
* lighter popup that leaves the page interactive.
|
|
22
|
+
*/
|
|
23
|
+
function MenuRoot(props) {
|
|
24
|
+
return /* @__PURE__ */ jsx(menu_exports.Menu.Root, { ...props });
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* The control that opens the menu. Style it yourself, or compose a `Button` through `render` — e.g.
|
|
28
|
+
* `<Menu.Trigger render={<Button iconOnly aria-label="More" startIcon={ChevronDownIcon} />} />`.
|
|
29
|
+
*/
|
|
30
|
+
function MenuTrigger(props) {
|
|
31
|
+
return /* @__PURE__ */ jsx(menu_exports.Menu.Trigger, {
|
|
32
|
+
"data-slot": MENU_SLOTS.trigger,
|
|
33
|
+
...props
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* The floating menu surface — portaled, elevated, and animated — holding the items, groups, and
|
|
38
|
+
* separators. A root menu opens below the trigger, aligned to its start; inside a `SubmenuRoot` it
|
|
39
|
+
* opens on the inline-end side instead, flipping to inline-start at the viewport edge. Caps at the
|
|
40
|
+
* available viewport height and scrolls its list, keeping the keyboard highlight in view.
|
|
41
|
+
*/
|
|
42
|
+
function MenuContent({ side, align = "start", sideOffset, alignOffset, collisionPadding = 8, className, style, children, ...props }) {
|
|
43
|
+
const inSubmenu = useContext(SubmenuLevelContext);
|
|
44
|
+
return /* @__PURE__ */ jsx(menu_exports.Menu.Portal, { children: /* @__PURE__ */ jsx(menu_exports.Menu.Positioner, {
|
|
45
|
+
side: side ?? (inSubmenu ? "inline-end" : "bottom"),
|
|
46
|
+
align,
|
|
47
|
+
sideOffset: sideOffset ?? (inSubmenu ? 0 : 6),
|
|
48
|
+
alignOffset: alignOffset ?? (inSubmenu ? -4 : 0),
|
|
49
|
+
collisionPadding,
|
|
50
|
+
"data-slot": MENU_SLOTS.positioner,
|
|
51
|
+
children: /* @__PURE__ */ jsx(menu_exports.Menu.Popup, {
|
|
52
|
+
"data-slot": MENU_SLOTS.content,
|
|
53
|
+
render: /* @__PURE__ */ jsx(Surface, {
|
|
54
|
+
elevation: "menu",
|
|
55
|
+
bordered: true,
|
|
56
|
+
shadow: "popover"
|
|
57
|
+
}),
|
|
58
|
+
style: {
|
|
59
|
+
transformOrigin: "var(--transform-origin)",
|
|
60
|
+
maxHeight: "var(--available-height)",
|
|
61
|
+
...style
|
|
62
|
+
},
|
|
63
|
+
className: clsx$1(className),
|
|
64
|
+
...props,
|
|
65
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
66
|
+
"data-slot": MENU_SLOTS.viewport,
|
|
67
|
+
"data-custom-scrollbar": true,
|
|
68
|
+
children
|
|
69
|
+
})
|
|
70
|
+
})
|
|
71
|
+
}) });
|
|
72
|
+
}
|
|
73
|
+
/** A labelled section of related items. Put a `GroupLabel` inside to name it for screen readers. */
|
|
74
|
+
function MenuGroup({ className, ...props }) {
|
|
75
|
+
return /* @__PURE__ */ jsx(menu_exports.Menu.Group, {
|
|
76
|
+
"data-slot": MENU_SLOTS.group,
|
|
77
|
+
className: clsx$1(className),
|
|
78
|
+
...props
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
/** The group's muted, non-interactive heading — announced as the group's accessible name. */
|
|
82
|
+
function MenuGroupLabel({ className, ...props }) {
|
|
83
|
+
return /* @__PURE__ */ jsx(menu_exports.Menu.GroupLabel, {
|
|
84
|
+
"data-slot": MENU_SLOTS.groupLabel,
|
|
85
|
+
className: clsx$1(className),
|
|
86
|
+
...props
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* A menu action. Optional leading `icon`; `inset` reserves the icon column on icon-less rows so
|
|
91
|
+
* labels align with iconed siblings; `tone="danger"` marks a destructive action — red label and a
|
|
92
|
+
* danger-tinted highlight. Trailing content (a `Menu.Shortcut`, secondary text) flows after the label.
|
|
93
|
+
*/
|
|
94
|
+
function MenuItem({ icon, inset = false, tone = "default", className, children, ...props }) {
|
|
95
|
+
return /* @__PURE__ */ jsxs(menu_exports.Menu.Item, {
|
|
96
|
+
"data-slot": MENU_SLOTS.item,
|
|
97
|
+
"data-variant": tone,
|
|
98
|
+
className: clsx$1(className),
|
|
99
|
+
...props,
|
|
100
|
+
children: [icon ? /* @__PURE__ */ jsx(Icon, {
|
|
101
|
+
icon,
|
|
102
|
+
size: "sm"
|
|
103
|
+
}) : inset ? /* @__PURE__ */ jsx("span", { "data-slot": MENU_SLOTS.insetSpacer }) : null, children]
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* A navigable menu row that renders an `<a>` — the canonical "Open in new tab" / "Copy link address"
|
|
108
|
+
* action. Same row recipe as `Item` (leading `icon`, `inset` alignment, `tone="danger"`); pass anchor
|
|
109
|
+
* props (`href`, `target`, `rel`) through. Navigating is a terminal action, so it closes the menu on
|
|
110
|
+
* click by default (set `closeOnClick={false}` to keep it open).
|
|
111
|
+
*/
|
|
112
|
+
function MenuLinkItem({ icon, inset = false, tone = "default", closeOnClick = true, className, children, ...props }) {
|
|
113
|
+
return /* @__PURE__ */ jsxs(menu_exports.Menu.LinkItem, {
|
|
114
|
+
"data-slot": MENU_SLOTS.linkItem,
|
|
115
|
+
"data-variant": tone,
|
|
116
|
+
closeOnClick,
|
|
117
|
+
className: clsx$1(className),
|
|
118
|
+
...props,
|
|
119
|
+
children: [icon ? /* @__PURE__ */ jsx(Icon, {
|
|
120
|
+
icon,
|
|
121
|
+
size: "sm"
|
|
122
|
+
}) : inset ? /* @__PURE__ */ jsx("span", { "data-slot": MENU_SLOTS.insetSpacer }) : null, children]
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* A menu item that toggles a setting. The leading slot is a check that animates in while ticked,
|
|
127
|
+
* holding the same column as item icons; toggling does not close the menu (`closeOnClick` stays
|
|
128
|
+
* Base UI's `false`).
|
|
129
|
+
*/
|
|
130
|
+
function MenuCheckboxItem({ className, children, ...props }) {
|
|
131
|
+
return /* @__PURE__ */ jsxs(menu_exports.Menu.CheckboxItem, {
|
|
132
|
+
"data-slot": MENU_SLOTS.checkboxItem,
|
|
133
|
+
className: clsx$1(className),
|
|
134
|
+
...props,
|
|
135
|
+
children: [/* @__PURE__ */ jsx(menu_exports.Menu.CheckboxItemIndicator, {
|
|
136
|
+
keepMounted: true,
|
|
137
|
+
"data-slot": MENU_SLOTS.itemIndicator,
|
|
138
|
+
children: /* @__PURE__ */ jsx(Icon, {
|
|
139
|
+
icon: CheckIcon,
|
|
140
|
+
size: "sm"
|
|
141
|
+
})
|
|
142
|
+
}), children]
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
/** Groups `RadioItem`s around one selected `value` (controlled or via `defaultValue`). */
|
|
146
|
+
function MenuRadioGroup({ className, ...props }) {
|
|
147
|
+
return /* @__PURE__ */ jsx(menu_exports.Menu.RadioGroup, {
|
|
148
|
+
"data-slot": MENU_SLOTS.radioGroup,
|
|
149
|
+
className: clsx$1(className),
|
|
150
|
+
...props
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* One choice in a `RadioGroup`. The leading slot is a dot that marks the selected item, holding the
|
|
155
|
+
* same column as item icons; selecting does not close the menu (`closeOnClick` stays Base UI's
|
|
156
|
+
* `false`).
|
|
157
|
+
*/
|
|
158
|
+
function MenuRadioItem({ className, children, ...props }) {
|
|
159
|
+
return /* @__PURE__ */ jsxs(menu_exports.Menu.RadioItem, {
|
|
160
|
+
"data-slot": MENU_SLOTS.radioItem,
|
|
161
|
+
className: clsx$1(className),
|
|
162
|
+
...props,
|
|
163
|
+
children: [/* @__PURE__ */ jsx(menu_exports.Menu.RadioItemIndicator, {
|
|
164
|
+
keepMounted: true,
|
|
165
|
+
"data-slot": MENU_SLOTS.itemIndicator,
|
|
166
|
+
children: /* @__PURE__ */ jsx("span", { "data-slot": MENU_SLOTS.radioDot })
|
|
167
|
+
}), children]
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
/** Owns a nested submenu's open state. Renders no element — wrap a `SubmenuTrigger` and a `Content`. */
|
|
171
|
+
function MenuSubmenuRoot(props) {
|
|
172
|
+
return /* @__PURE__ */ jsx(SubmenuLevelContext.Provider, {
|
|
173
|
+
value: true,
|
|
174
|
+
children: /* @__PURE__ */ jsx(menu_exports.Menu.SubmenuRoot, { ...props })
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* An item-shaped row that opens a nested submenu — on hover (after a short intent delay, with a
|
|
179
|
+
* grace period on leave so diagonal pointer travel into the submenu doesn't snap it shut), on click,
|
|
180
|
+
* and from the keyboard (Right arrow / Enter; Left arrow in RTL). The trailing chevron mirrors under
|
|
181
|
+
* RTL, and the row stays lit while its submenu is open.
|
|
182
|
+
*/
|
|
183
|
+
function MenuSubmenuTrigger({ icon, inset = false, openOnHover = true, delay = 100, closeDelay = 150, className, children, ...props }) {
|
|
184
|
+
return /* @__PURE__ */ jsxs(menu_exports.Menu.SubmenuTrigger, {
|
|
185
|
+
"data-slot": MENU_SLOTS.submenuTrigger,
|
|
186
|
+
openOnHover,
|
|
187
|
+
delay,
|
|
188
|
+
closeDelay,
|
|
189
|
+
className: clsx$1(className),
|
|
190
|
+
...props,
|
|
191
|
+
children: [
|
|
192
|
+
icon ? /* @__PURE__ */ jsx(Icon, {
|
|
193
|
+
icon,
|
|
194
|
+
size: "sm"
|
|
195
|
+
}) : inset ? /* @__PURE__ */ jsx("span", { "data-slot": MENU_SLOTS.insetSpacer }) : null,
|
|
196
|
+
children,
|
|
197
|
+
/* @__PURE__ */ jsx(Icon, {
|
|
198
|
+
icon: ChevronRightIcon,
|
|
199
|
+
size: "sm",
|
|
200
|
+
directional: true
|
|
201
|
+
})
|
|
202
|
+
]
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* A trailing, muted keyboard-shortcut hint composing the `Kbd` primitive — pass `keys` in `Kbd`
|
|
207
|
+
* syntax (`"Mod+K"`, `"G D"`) or custom children. Decorative: hidden from assistive tech so the
|
|
208
|
+
* item's action name stays clean (and typeahead never matches the shortcut); when the binding is
|
|
209
|
+
* live, set `aria-keyshortcuts` on the item to expose it.
|
|
210
|
+
*/
|
|
211
|
+
function MenuShortcut({ keys, className, children }) {
|
|
212
|
+
return /* @__PURE__ */ jsx("span", {
|
|
213
|
+
"data-slot": MENU_SLOTS.shortcut,
|
|
214
|
+
"aria-hidden": true,
|
|
215
|
+
className: clsx$1(className),
|
|
216
|
+
children: keys ? /* @__PURE__ */ jsx(Kbd, { keys }) : children
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
/** A hairline between groups of menu items. */
|
|
220
|
+
function MenuSeparator({ className, ...props }) {
|
|
221
|
+
return /* @__PURE__ */ jsx(menu_exports.Menu.Separator, {
|
|
222
|
+
"data-slot": MENU_SLOTS.separator,
|
|
223
|
+
className: clsx$1(className),
|
|
224
|
+
...props
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* A dropdown menu: a `Trigger` opens a floating list of actions. Built on Base UI's Menu for keyboard
|
|
229
|
+
* navigation (arrows, Home/End, typeahead), focus management, and `Escape`/outside-click dismissal,
|
|
230
|
+
* and decoupled from any particular trigger — pass your own (commonly a `Button` via `render`).
|
|
231
|
+
*
|
|
232
|
+
* Compose from parts: `Menu.Root` owns the open state, `Menu.Trigger` opens it, and `Menu.Content`
|
|
233
|
+
* holds the rows — `Item`s, `CheckboxItem`s, `RadioGroup`/`RadioItem`s, `Group`s with a `GroupLabel`,
|
|
234
|
+
* and `Separator`s. Nest a `SubmenuRoot` (wrapping a `SubmenuTrigger` and its own `Content`) for
|
|
235
|
+
* submenus, and give items a trailing `Shortcut` for keyboard hints. Noctis menus are flush against
|
|
236
|
+
* their anchor — there is no arrow/caret part (Base UI offers one; this system doesn't use it).
|
|
237
|
+
*
|
|
238
|
+
* Styling is precompiled in `menu.css`, keyed off each part's prefixed `data-slot`. Each part also
|
|
239
|
+
* carries the D12 `props()` escape hatch via `Object.assign` (e.g. `Menu.Item.props({ tone })`),
|
|
240
|
+
* returning a spreadable `{ "data-slot": "noctis-menu-<part>", ...dataAttrs }` bag for a foreign
|
|
241
|
+
* element a `<Menu.*>` can't wrap.
|
|
242
|
+
*
|
|
243
|
+
* The runtime compound is a plain object (kept tree-shakeable); per-part prop and state types are
|
|
244
|
+
* exposed through the matching `Menu` namespace — e.g. `Menu.Item.Props`.
|
|
245
|
+
*/
|
|
246
|
+
const Menu = {
|
|
247
|
+
Root: MenuRoot,
|
|
248
|
+
Trigger: Object.assign(MenuTrigger, { props: triggerProps }),
|
|
249
|
+
Content: Object.assign(MenuContent, { props: contentProps }),
|
|
250
|
+
Group: Object.assign(MenuGroup, { props: groupProps }),
|
|
251
|
+
GroupLabel: Object.assign(MenuGroupLabel, { props: groupLabelProps }),
|
|
252
|
+
Item: Object.assign(MenuItem, { props: itemProps }),
|
|
253
|
+
LinkItem: Object.assign(MenuLinkItem, { props: linkItemProps }),
|
|
254
|
+
CheckboxItem: Object.assign(MenuCheckboxItem, { props: checkboxItemProps }),
|
|
255
|
+
RadioGroup: Object.assign(MenuRadioGroup, { props: radioGroupProps }),
|
|
256
|
+
RadioItem: Object.assign(MenuRadioItem, { props: radioItemProps }),
|
|
257
|
+
SubmenuRoot: MenuSubmenuRoot,
|
|
258
|
+
SubmenuTrigger: Object.assign(MenuSubmenuTrigger, { props: submenuTriggerProps }),
|
|
259
|
+
Shortcut: Object.assign(MenuShortcut, { props: shortcutProps }),
|
|
260
|
+
Separator: Object.assign(MenuSeparator, { props: separatorProps })
|
|
261
|
+
};
|
|
262
|
+
//#endregion
|
|
263
|
+
export { Menu };
|