@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,43 @@
|
|
|
1
|
+
import { OTP_FIELD_SLOTS } from "./otp-field.slots.js";
|
|
2
|
+
//#region src/components/otp-field/otp-field.props.ts
|
|
3
|
+
/**
|
|
4
|
+
* The D12 unified variant contract for OtpField — each compound part exposes a `props(...)` builder
|
|
5
|
+
* returning a **spreadable props object** of the form `{ "data-slot": "noctis-otp-field-<part>",
|
|
6
|
+
* ...dataAttrs }`, derived from the part's variant/state inputs. Under the single-`data-slot` anchor
|
|
7
|
+
* model the `data-slot` is the only styling hook needed — `otp-field.css` keys every rule off it — so
|
|
8
|
+
* spreading a part's `props()` onto a *foreign* element styles it as that part:
|
|
9
|
+
*
|
|
10
|
+
* <input {...OtpField.Input.props({ invalid: true })} />
|
|
11
|
+
* // → <input data-slot="noctis-otp-field-input" data-invalid="">
|
|
12
|
+
*
|
|
13
|
+
* The escape hatch carries no className (styling is attribute-driven); an optional `className`
|
|
14
|
+
* passthrough is accepted and forwarded verbatim.
|
|
15
|
+
*/
|
|
16
|
+
/** Stamp a boolean state as a bare data-attribute: present (`""`) when on, absent (`undefined`) when off. */
|
|
17
|
+
const flag = (on) => on ? "" : void 0;
|
|
18
|
+
const withClassName = (bag, className) => className === void 0 ? bag : {
|
|
19
|
+
...bag,
|
|
20
|
+
className
|
|
21
|
+
};
|
|
22
|
+
/** Root prop bag: `data-slot` plus the `data-size` the descendant cell rules read. */
|
|
23
|
+
function rootProps({ size = "md", className } = {}) {
|
|
24
|
+
return withClassName({
|
|
25
|
+
"data-slot": OTP_FIELD_SLOTS.root,
|
|
26
|
+
"data-size": size
|
|
27
|
+
}, className);
|
|
28
|
+
}
|
|
29
|
+
/** Cell prop bag: slot anchor plus the `data-filled`/`data-disabled`/`data-invalid` state. */
|
|
30
|
+
function inputProps({ filled, disabled, invalid, className } = {}) {
|
|
31
|
+
return withClassName({
|
|
32
|
+
"data-slot": OTP_FIELD_SLOTS.input,
|
|
33
|
+
"data-filled": flag(filled),
|
|
34
|
+
"data-disabled": flag(disabled),
|
|
35
|
+
"data-invalid": flag(invalid)
|
|
36
|
+
}, className);
|
|
37
|
+
}
|
|
38
|
+
/** Separator prop bag: just the slot anchor the divider rule keys off (Base UI stamps `data-orientation` itself). */
|
|
39
|
+
function separatorProps({ className } = {}) {
|
|
40
|
+
return withClassName({ "data-slot": OTP_FIELD_SLOTS.separator }, className);
|
|
41
|
+
}
|
|
42
|
+
//#endregion
|
|
43
|
+
export { inputProps, rootProps, separatorProps };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
//#region src/components/otp-field/otp-field.slots.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* The `data-*` hooks `OtpField` stamps on its parts, for host-side styling and tests. Slot values
|
|
4
|
+
* mark each rendered element; the state attributes are emitted by Base UI's OTP Field — pair a slot
|
|
5
|
+
* with a state to target, say, only a filled or invalid cell.
|
|
6
|
+
*/
|
|
7
|
+
declare enum OtpFieldDataAttributes {
|
|
8
|
+
/** The root OTP-field element. */
|
|
9
|
+
slot = "data-slot",
|
|
10
|
+
/** Present on the root when every slot is filled. */
|
|
11
|
+
complete = "data-complete",
|
|
12
|
+
/** Present on a cell that contains a character, and on the root when any cell is filled. */
|
|
13
|
+
filled = "data-filled",
|
|
14
|
+
/** Present when the field is disabled. */
|
|
15
|
+
disabled = "data-disabled",
|
|
16
|
+
/** Present when the field is read-only. */
|
|
17
|
+
readonly = "data-readonly",
|
|
18
|
+
/** Present when the field is required. */
|
|
19
|
+
required = "data-required",
|
|
20
|
+
/** Present on the root when one of the cells is focused. */
|
|
21
|
+
focused = "data-focused",
|
|
22
|
+
/** Present when the field is in a valid state (wrapped in `Field.Root`). */
|
|
23
|
+
valid = "data-valid",
|
|
24
|
+
/** Present when the field is in an invalid state (wrapped in `Field.Root`). */
|
|
25
|
+
invalid = "data-invalid"
|
|
26
|
+
}
|
|
27
|
+
//#endregion
|
|
28
|
+
export { OtpFieldDataAttributes };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
//#region src/components/otp-field/otp-field.slots.ts
|
|
2
|
+
/**
|
|
3
|
+
* The slot vocabulary every `OtpField` part stamps as its `data-slot`. The authored source the
|
|
4
|
+
* orchestration file reads from, kebab-cased `{component}-{part}`; SLOTS.md still generates from the
|
|
5
|
+
* token-graph declarations.
|
|
6
|
+
*/
|
|
7
|
+
const OTP_FIELD_SLOTS = {
|
|
8
|
+
root: "noctis-otp-field",
|
|
9
|
+
input: "noctis-otp-field-input",
|
|
10
|
+
separator: "noctis-otp-field-separator"
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* The `data-*` hooks `OtpField` stamps on its parts, for host-side styling and tests. Slot values
|
|
14
|
+
* mark each rendered element; the state attributes are emitted by Base UI's OTP Field — pair a slot
|
|
15
|
+
* with a state to target, say, only a filled or invalid cell.
|
|
16
|
+
*/
|
|
17
|
+
let OtpFieldDataAttributes = /* @__PURE__ */ function(OtpFieldDataAttributes) {
|
|
18
|
+
/** The root OTP-field element. */
|
|
19
|
+
OtpFieldDataAttributes["slot"] = "data-slot";
|
|
20
|
+
/** Present on the root when every slot is filled. */
|
|
21
|
+
OtpFieldDataAttributes["complete"] = "data-complete";
|
|
22
|
+
/** Present on a cell that contains a character, and on the root when any cell is filled. */
|
|
23
|
+
OtpFieldDataAttributes["filled"] = "data-filled";
|
|
24
|
+
/** Present when the field is disabled. */
|
|
25
|
+
OtpFieldDataAttributes["disabled"] = "data-disabled";
|
|
26
|
+
/** Present when the field is read-only. */
|
|
27
|
+
OtpFieldDataAttributes["readonly"] = "data-readonly";
|
|
28
|
+
/** Present when the field is required. */
|
|
29
|
+
OtpFieldDataAttributes["required"] = "data-required";
|
|
30
|
+
/** Present on the root when one of the cells is focused. */
|
|
31
|
+
OtpFieldDataAttributes["focused"] = "data-focused";
|
|
32
|
+
/** Present when the field is in a valid state (wrapped in `Field.Root`). */
|
|
33
|
+
OtpFieldDataAttributes["valid"] = "data-valid";
|
|
34
|
+
/** Present when the field is in an invalid state (wrapped in `Field.Root`). */
|
|
35
|
+
OtpFieldDataAttributes["invalid"] = "data-invalid";
|
|
36
|
+
return OtpFieldDataAttributes;
|
|
37
|
+
}({});
|
|
38
|
+
//#endregion
|
|
39
|
+
export { OTP_FIELD_SLOTS, OtpFieldDataAttributes };
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import { popover_d_exports } from "../../primitives/popover.js";
|
|
2
|
+
import { PopoverPartProps, closeProps, descriptionProps, popupProps, titleProps, triggerProps } from "./popover.props.js";
|
|
3
|
+
import { ReactElement } from "react";
|
|
4
|
+
|
|
5
|
+
//#region src/components/popover/popover.d.ts
|
|
6
|
+
/**
|
|
7
|
+
* Owns the open state and shares it with the trigger and popup. Wraps Base UI's Popover. Non-modal by
|
|
8
|
+
* default — the page stays interactive while the popover is open; an outside click or `Escape` closes
|
|
9
|
+
* it and focus returns to the trigger. Pass `modal` for a focus-trapped, scroll-locked popover.
|
|
10
|
+
*/
|
|
11
|
+
declare function PopoverRoot(props: Popover.Root.Props): ReactElement;
|
|
12
|
+
/**
|
|
13
|
+
* The control that opens the popover. Style it yourself, or compose a `Button` through `render` — e.g.
|
|
14
|
+
* `<Popover.Trigger render={<Button variant="secondary">Filters</Button>} />`.
|
|
15
|
+
*/
|
|
16
|
+
declare function PopoverTrigger(props: Popover.Trigger.Props): ReactElement;
|
|
17
|
+
/**
|
|
18
|
+
* Moves the popup to a portal at the end of `<body>`.
|
|
19
|
+
*/
|
|
20
|
+
declare function PopoverPortal(props: Popover.Portal.Props): ReactElement;
|
|
21
|
+
/**
|
|
22
|
+
* The floating popup surface — portaled, elevated, and animated — holding the title, description, and
|
|
23
|
+
* any content. Opens below the trigger, aligned to its start, and is collision-aware: it flips to the
|
|
24
|
+
* opposite side and stays clear of the viewport edges. Renders through `<Surface elevation="menu">` so
|
|
25
|
+
* it re-derives the anchored-overlay scope (shared with menu) and paints its base; this file styles
|
|
26
|
+
* only the popover's own slots, never Surface.
|
|
27
|
+
*
|
|
28
|
+
* It caps at the collision-aware `--available-height` and scrolls its inner `viewport` past that — a
|
|
29
|
+
* popover taller than the screen never clips. The `viewport` carries the content padding/gap so the
|
|
30
|
+
* scrollbar sits flush at the popup edge.
|
|
31
|
+
*
|
|
32
|
+
* Provide the `<Popover.Portal>` and `<Popover.Positioner>` yourself for full control, or use this
|
|
33
|
+
* `Popup` directly — it portals and positions itself with sensible defaults.
|
|
34
|
+
*/
|
|
35
|
+
declare function PopoverPopup({
|
|
36
|
+
side,
|
|
37
|
+
align,
|
|
38
|
+
sideOffset,
|
|
39
|
+
alignOffset,
|
|
40
|
+
collisionPadding,
|
|
41
|
+
anchor,
|
|
42
|
+
className,
|
|
43
|
+
style,
|
|
44
|
+
children,
|
|
45
|
+
...props
|
|
46
|
+
}: Popover.Popup.Props): ReactElement;
|
|
47
|
+
/**
|
|
48
|
+
* Positions the popup against the trigger — collision-aware, flipping and shifting to stay on screen.
|
|
49
|
+
* Reach for it (with `Popover.Portal`) when you need to wrap the popup in your own positioning
|
|
50
|
+
* container; the common case is handled by `Popover.Popup` directly.
|
|
51
|
+
*/
|
|
52
|
+
declare function PopoverPositioner({
|
|
53
|
+
className,
|
|
54
|
+
...props
|
|
55
|
+
}: Popover.Positioner.Props): ReactElement;
|
|
56
|
+
/**
|
|
57
|
+
* The accessible name of the popover, linked to the popup via `aria-labelledby`. Renders an `<h2>`.
|
|
58
|
+
*/
|
|
59
|
+
declare function PopoverTitle({
|
|
60
|
+
className,
|
|
61
|
+
...props
|
|
62
|
+
}: Popover.Title.Props): ReactElement;
|
|
63
|
+
/**
|
|
64
|
+
* Supporting copy under the title, linked to the popup via `aria-describedby`. Renders a `<p>`.
|
|
65
|
+
*/
|
|
66
|
+
declare function PopoverDescription({
|
|
67
|
+
className,
|
|
68
|
+
...props
|
|
69
|
+
}: Popover.Description.Props): ReactElement;
|
|
70
|
+
/**
|
|
71
|
+
* Closes the popover. Renders a bare button and carries no styling of its own, so it composes with any
|
|
72
|
+
* Noctis `Button` through `render`. Give it an `aria-label` (or visible text) for the accessible name.
|
|
73
|
+
*/
|
|
74
|
+
declare function PopoverClose({
|
|
75
|
+
className,
|
|
76
|
+
...props
|
|
77
|
+
}: Popover.Close.Props): ReactElement;
|
|
78
|
+
/**
|
|
79
|
+
* A popover: a `Trigger` opens a floating, elevated panel anchored to it. Built on Base UI's Popover
|
|
80
|
+
* for collision-aware positioning, managed focus (focus moves into the popup and returns to the
|
|
81
|
+
* trigger on close), and `Escape`/outside-click dismissal, and decoupled from any particular trigger —
|
|
82
|
+
* pass your own (commonly a `Button` via `render`).
|
|
83
|
+
*
|
|
84
|
+
* Compose from parts: `Popover.Root` owns the open state, `Popover.Trigger` opens it, and
|
|
85
|
+
* `Popover.Popup` is the floating panel — it portals and positions itself, holding an optional
|
|
86
|
+
* `Title` and `Description` plus any content and a `Close`. For full control over the portal and
|
|
87
|
+
* positioning, drop a `Popover.Portal` + `Popover.Positioner` around the popup yourself. Noctis
|
|
88
|
+
* popovers are flush against their anchor — there is no arrow/caret part.
|
|
89
|
+
*
|
|
90
|
+
* Styling is precompiled in `popover.css`, keyed off each part's prefixed `data-slot`. Each part also
|
|
91
|
+
* carries the D12 `props()` escape hatch via `Object.assign` (e.g. `Popover.Title.props()`), returning
|
|
92
|
+
* a spreadable `{ "data-slot": "noctis-popover-<part>", ... }` bag for a foreign element a
|
|
93
|
+
* `<Popover.*>` can't wrap.
|
|
94
|
+
*
|
|
95
|
+
* The runtime compound is a plain object (kept tree-shakeable); per-part prop and state types are
|
|
96
|
+
* exposed through the matching `Popover` namespace — e.g. `Popover.Popup.Props`.
|
|
97
|
+
*/
|
|
98
|
+
declare const Popover: {
|
|
99
|
+
Root: typeof PopoverRoot;
|
|
100
|
+
Trigger: typeof PopoverTrigger & {
|
|
101
|
+
props: typeof triggerProps;
|
|
102
|
+
};
|
|
103
|
+
Portal: typeof PopoverPortal;
|
|
104
|
+
Positioner: typeof PopoverPositioner;
|
|
105
|
+
Popup: typeof PopoverPopup & {
|
|
106
|
+
props: typeof popupProps;
|
|
107
|
+
};
|
|
108
|
+
Title: typeof PopoverTitle & {
|
|
109
|
+
props: typeof titleProps;
|
|
110
|
+
};
|
|
111
|
+
Description: typeof PopoverDescription & {
|
|
112
|
+
props: typeof descriptionProps;
|
|
113
|
+
};
|
|
114
|
+
Close: typeof PopoverClose & {
|
|
115
|
+
props: typeof closeProps;
|
|
116
|
+
};
|
|
117
|
+
};
|
|
118
|
+
/**
|
|
119
|
+
* Per-part prop and state types, mirroring Base UI's `Component.Part.Props` convention. Types-only —
|
|
120
|
+
* it emits no runtime code and merges with the `Popover` object above, so `Popover.Popup` is the
|
|
121
|
+
* component value while `Popover.Popup.Props` is its prop type.
|
|
122
|
+
*/
|
|
123
|
+
declare namespace Popover {
|
|
124
|
+
/** The spreadable data-attribute prop bag every `Popover.*.props()` returns (D12). */
|
|
125
|
+
type PartProps = PopoverPartProps;
|
|
126
|
+
namespace Root {
|
|
127
|
+
type Props = popover_d_exports.Popover.Root.Props;
|
|
128
|
+
type State = popover_d_exports.Popover.Root.State;
|
|
129
|
+
}
|
|
130
|
+
namespace Trigger {
|
|
131
|
+
type Props = popover_d_exports.Popover.Trigger.Props;
|
|
132
|
+
type State = popover_d_exports.Popover.Trigger.State;
|
|
133
|
+
}
|
|
134
|
+
namespace Portal {
|
|
135
|
+
type Props = popover_d_exports.Popover.Portal.Props;
|
|
136
|
+
}
|
|
137
|
+
namespace Positioner {
|
|
138
|
+
type Props = popover_d_exports.Popover.Positioner.Props;
|
|
139
|
+
type State = popover_d_exports.Popover.Positioner.State;
|
|
140
|
+
}
|
|
141
|
+
namespace Popup {
|
|
142
|
+
type Props = popover_d_exports.Popover.Popup.Props & {
|
|
143
|
+
/**
|
|
144
|
+
* Which side of the anchor to open on. Collision-aware — flips to the opposite side at the
|
|
145
|
+
* viewport edge.
|
|
146
|
+
* @default "bottom"
|
|
147
|
+
*/
|
|
148
|
+
side?: popover_d_exports.Popover.Positioner.Props["side"];
|
|
149
|
+
/**
|
|
150
|
+
* Alignment along that side. Direction-aware — `start`/`end` flip under RTL.
|
|
151
|
+
* @default "start"
|
|
152
|
+
*/
|
|
153
|
+
align?: popover_d_exports.Popover.Positioner.Props["align"];
|
|
154
|
+
/**
|
|
155
|
+
* Gap from the anchor, in px.
|
|
156
|
+
* @default 6
|
|
157
|
+
*/
|
|
158
|
+
sideOffset?: number;
|
|
159
|
+
/**
|
|
160
|
+
* Shift along the alignment axis, in px.
|
|
161
|
+
* @default 0
|
|
162
|
+
*/
|
|
163
|
+
alignOffset?: number;
|
|
164
|
+
/**
|
|
165
|
+
* Minimum space kept from the viewport edge when avoiding collisions, in px.
|
|
166
|
+
* @default 8
|
|
167
|
+
*/
|
|
168
|
+
collisionPadding?: popover_d_exports.Popover.Positioner.Props["collisionPadding"];
|
|
169
|
+
/**
|
|
170
|
+
* The element to anchor and position against. Defaults to the `Popover.Trigger`; pass an
|
|
171
|
+
* element, a ref, or a `() => Element | null` getter to anchor a triggerless, fully
|
|
172
|
+
* controlled popover to an arbitrary element (e.g. a row affordance or a canvas node).
|
|
173
|
+
*/
|
|
174
|
+
anchor?: popover_d_exports.Popover.Positioner.Props["anchor"];
|
|
175
|
+
};
|
|
176
|
+
type State = popover_d_exports.Popover.Popup.State;
|
|
177
|
+
}
|
|
178
|
+
namespace Title {
|
|
179
|
+
type Props = popover_d_exports.Popover.Title.Props;
|
|
180
|
+
type State = popover_d_exports.Popover.Title.State;
|
|
181
|
+
}
|
|
182
|
+
namespace Description {
|
|
183
|
+
type Props = popover_d_exports.Popover.Description.Props;
|
|
184
|
+
type State = popover_d_exports.Popover.Description.State;
|
|
185
|
+
}
|
|
186
|
+
namespace Close {
|
|
187
|
+
type Props = popover_d_exports.Popover.Close.Props;
|
|
188
|
+
type State = popover_d_exports.Popover.Close.State;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
//#endregion
|
|
192
|
+
export { Popover };
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { Surface } from "../surface/surface.js";
|
|
3
|
+
import { popover_exports } from "../../primitives/popover.js";
|
|
4
|
+
import { POPOVER_SLOTS } from "./popover.slots.js";
|
|
5
|
+
import { closeProps, descriptionProps, popupProps, titleProps, triggerProps } from "./popover.props.js";
|
|
6
|
+
import clsx$1 from "clsx";
|
|
7
|
+
import { jsx } from "react/jsx-runtime";
|
|
8
|
+
//#region src/components/popover/popover.tsx
|
|
9
|
+
/**
|
|
10
|
+
* Owns the open state and shares it with the trigger and popup. Wraps Base UI's Popover. Non-modal by
|
|
11
|
+
* default — the page stays interactive while the popover is open; an outside click or `Escape` closes
|
|
12
|
+
* it and focus returns to the trigger. Pass `modal` for a focus-trapped, scroll-locked popover.
|
|
13
|
+
*/
|
|
14
|
+
function PopoverRoot(props) {
|
|
15
|
+
return /* @__PURE__ */ jsx(popover_exports.Popover.Root, { ...props });
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* The control that opens the popover. Style it yourself, or compose a `Button` through `render` — e.g.
|
|
19
|
+
* `<Popover.Trigger render={<Button variant="secondary">Filters</Button>} />`.
|
|
20
|
+
*/
|
|
21
|
+
function PopoverTrigger(props) {
|
|
22
|
+
return /* @__PURE__ */ jsx(popover_exports.Popover.Trigger, {
|
|
23
|
+
"data-slot": POPOVER_SLOTS.trigger,
|
|
24
|
+
...props
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Moves the popup to a portal at the end of `<body>`.
|
|
29
|
+
*/
|
|
30
|
+
function PopoverPortal(props) {
|
|
31
|
+
return /* @__PURE__ */ jsx(popover_exports.Popover.Portal, { ...props });
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* The floating popup surface — portaled, elevated, and animated — holding the title, description, and
|
|
35
|
+
* any content. Opens below the trigger, aligned to its start, and is collision-aware: it flips to the
|
|
36
|
+
* opposite side and stays clear of the viewport edges. Renders through `<Surface elevation="menu">` so
|
|
37
|
+
* it re-derives the anchored-overlay scope (shared with menu) and paints its base; this file styles
|
|
38
|
+
* only the popover's own slots, never Surface.
|
|
39
|
+
*
|
|
40
|
+
* It caps at the collision-aware `--available-height` and scrolls its inner `viewport` past that — a
|
|
41
|
+
* popover taller than the screen never clips. The `viewport` carries the content padding/gap so the
|
|
42
|
+
* scrollbar sits flush at the popup edge.
|
|
43
|
+
*
|
|
44
|
+
* Provide the `<Popover.Portal>` and `<Popover.Positioner>` yourself for full control, or use this
|
|
45
|
+
* `Popup` directly — it portals and positions itself with sensible defaults.
|
|
46
|
+
*/
|
|
47
|
+
function PopoverPopup({ side = "bottom", align = "start", sideOffset = 6, alignOffset = 0, collisionPadding = 8, anchor, className, style, children, ...props }) {
|
|
48
|
+
return /* @__PURE__ */ jsx(popover_exports.Popover.Portal, { children: /* @__PURE__ */ jsx(popover_exports.Popover.Positioner, {
|
|
49
|
+
anchor,
|
|
50
|
+
side,
|
|
51
|
+
align,
|
|
52
|
+
sideOffset,
|
|
53
|
+
alignOffset,
|
|
54
|
+
collisionPadding,
|
|
55
|
+
"data-slot": POPOVER_SLOTS.positioner,
|
|
56
|
+
children: /* @__PURE__ */ jsx(popover_exports.Popover.Popup, {
|
|
57
|
+
"data-slot": POPOVER_SLOTS.popup,
|
|
58
|
+
render: /* @__PURE__ */ jsx(Surface, {
|
|
59
|
+
elevation: "menu",
|
|
60
|
+
bordered: true,
|
|
61
|
+
shadow: "popover"
|
|
62
|
+
}),
|
|
63
|
+
style: {
|
|
64
|
+
transformOrigin: "var(--transform-origin)",
|
|
65
|
+
maxHeight: "var(--available-height)",
|
|
66
|
+
...style
|
|
67
|
+
},
|
|
68
|
+
className: clsx$1(className),
|
|
69
|
+
...props,
|
|
70
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
71
|
+
"data-slot": POPOVER_SLOTS.viewport,
|
|
72
|
+
"data-custom-scrollbar": true,
|
|
73
|
+
children
|
|
74
|
+
})
|
|
75
|
+
})
|
|
76
|
+
}) });
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Positions the popup against the trigger — collision-aware, flipping and shifting to stay on screen.
|
|
80
|
+
* Reach for it (with `Popover.Portal`) when you need to wrap the popup in your own positioning
|
|
81
|
+
* container; the common case is handled by `Popover.Popup` directly.
|
|
82
|
+
*/
|
|
83
|
+
function PopoverPositioner({ className, ...props }) {
|
|
84
|
+
return /* @__PURE__ */ jsx(popover_exports.Popover.Positioner, {
|
|
85
|
+
"data-slot": POPOVER_SLOTS.positioner,
|
|
86
|
+
className: clsx$1(className),
|
|
87
|
+
...props
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* The accessible name of the popover, linked to the popup via `aria-labelledby`. Renders an `<h2>`.
|
|
92
|
+
*/
|
|
93
|
+
function PopoverTitle({ className, ...props }) {
|
|
94
|
+
return /* @__PURE__ */ jsx(popover_exports.Popover.Title, {
|
|
95
|
+
"data-slot": POPOVER_SLOTS.title,
|
|
96
|
+
className: clsx$1(className),
|
|
97
|
+
...props
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Supporting copy under the title, linked to the popup via `aria-describedby`. Renders a `<p>`.
|
|
102
|
+
*/
|
|
103
|
+
function PopoverDescription({ className, ...props }) {
|
|
104
|
+
return /* @__PURE__ */ jsx(popover_exports.Popover.Description, {
|
|
105
|
+
"data-slot": POPOVER_SLOTS.description,
|
|
106
|
+
className: clsx$1(className),
|
|
107
|
+
...props
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Closes the popover. Renders a bare button and carries no styling of its own, so it composes with any
|
|
112
|
+
* Noctis `Button` through `render`. Give it an `aria-label` (or visible text) for the accessible name.
|
|
113
|
+
*/
|
|
114
|
+
function PopoverClose({ className, ...props }) {
|
|
115
|
+
return /* @__PURE__ */ jsx(popover_exports.Popover.Close, {
|
|
116
|
+
"data-slot": POPOVER_SLOTS.close,
|
|
117
|
+
className: clsx$1(className),
|
|
118
|
+
...props
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* A popover: a `Trigger` opens a floating, elevated panel anchored to it. Built on Base UI's Popover
|
|
123
|
+
* for collision-aware positioning, managed focus (focus moves into the popup and returns to the
|
|
124
|
+
* trigger on close), and `Escape`/outside-click dismissal, and decoupled from any particular trigger —
|
|
125
|
+
* pass your own (commonly a `Button` via `render`).
|
|
126
|
+
*
|
|
127
|
+
* Compose from parts: `Popover.Root` owns the open state, `Popover.Trigger` opens it, and
|
|
128
|
+
* `Popover.Popup` is the floating panel — it portals and positions itself, holding an optional
|
|
129
|
+
* `Title` and `Description` plus any content and a `Close`. For full control over the portal and
|
|
130
|
+
* positioning, drop a `Popover.Portal` + `Popover.Positioner` around the popup yourself. Noctis
|
|
131
|
+
* popovers are flush against their anchor — there is no arrow/caret part.
|
|
132
|
+
*
|
|
133
|
+
* Styling is precompiled in `popover.css`, keyed off each part's prefixed `data-slot`. Each part also
|
|
134
|
+
* carries the D12 `props()` escape hatch via `Object.assign` (e.g. `Popover.Title.props()`), returning
|
|
135
|
+
* a spreadable `{ "data-slot": "noctis-popover-<part>", ... }` bag for a foreign element a
|
|
136
|
+
* `<Popover.*>` can't wrap.
|
|
137
|
+
*
|
|
138
|
+
* The runtime compound is a plain object (kept tree-shakeable); per-part prop and state types are
|
|
139
|
+
* exposed through the matching `Popover` namespace — e.g. `Popover.Popup.Props`.
|
|
140
|
+
*/
|
|
141
|
+
const Popover = {
|
|
142
|
+
Root: PopoverRoot,
|
|
143
|
+
Trigger: Object.assign(PopoverTrigger, { props: triggerProps }),
|
|
144
|
+
Portal: PopoverPortal,
|
|
145
|
+
Positioner: PopoverPositioner,
|
|
146
|
+
Popup: Object.assign(PopoverPopup, { props: popupProps }),
|
|
147
|
+
Title: Object.assign(PopoverTitle, { props: titleProps }),
|
|
148
|
+
Description: Object.assign(PopoverDescription, { props: descriptionProps }),
|
|
149
|
+
Close: Object.assign(PopoverClose, { props: closeProps })
|
|
150
|
+
};
|
|
151
|
+
//#endregion
|
|
152
|
+
export { Popover };
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
//#region src/components/popover/popover.props.d.ts
|
|
2
|
+
/** A spreadable data-attribute prop bag — the shape every `Popover.*.props()` returns. */
|
|
3
|
+
type PopoverPartProps = {
|
|
4
|
+
/** The slot value the matching `popover.css` rules anchor on. */"data-slot": string; /** Forwarded verbatim — styling is attribute-driven, so this is an optional consumer passthrough. */
|
|
5
|
+
className?: string; /** A data-attribute present (empty string) or absent (`undefined`); never `false`. */
|
|
6
|
+
[attr: `data-${string}`]: string | undefined;
|
|
7
|
+
};
|
|
8
|
+
/** Common shape: every part's `.props()` accepts an optional `className` passthrough. */
|
|
9
|
+
interface PopoverPropsArgs {
|
|
10
|
+
/** Forwarded verbatim onto the returned prop bag. */
|
|
11
|
+
className?: string;
|
|
12
|
+
}
|
|
13
|
+
/** Trigger prop bag: just the slot anchor. */
|
|
14
|
+
declare function triggerProps({
|
|
15
|
+
className
|
|
16
|
+
}?: PopoverPropsArgs): PopoverPartProps;
|
|
17
|
+
/** Popup prop bag: just the slot anchor (the popup surface paint is owned by the composed Surface). */
|
|
18
|
+
declare function popupProps({
|
|
19
|
+
className
|
|
20
|
+
}?: PopoverPropsArgs): PopoverPartProps;
|
|
21
|
+
/** Title prop bag: just the slot anchor. */
|
|
22
|
+
declare function titleProps({
|
|
23
|
+
className
|
|
24
|
+
}?: PopoverPropsArgs): PopoverPartProps;
|
|
25
|
+
/** Description prop bag: just the slot anchor. */
|
|
26
|
+
declare function descriptionProps({
|
|
27
|
+
className
|
|
28
|
+
}?: PopoverPropsArgs): PopoverPartProps;
|
|
29
|
+
/** Close prop bag: just the slot anchor. */
|
|
30
|
+
declare function closeProps({
|
|
31
|
+
className
|
|
32
|
+
}?: PopoverPropsArgs): PopoverPartProps;
|
|
33
|
+
//#endregion
|
|
34
|
+
export { PopoverPartProps, closeProps, descriptionProps, popupProps, titleProps, triggerProps };
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { POPOVER_SLOTS } from "./popover.slots.js";
|
|
2
|
+
//#region src/components/popover/popover.props.ts
|
|
3
|
+
/**
|
|
4
|
+
* The D12 unified variant contract for Popover — a per-part set of `props(...)` builders that each
|
|
5
|
+
* return a **spreadable props object** of the form `{ "data-slot": "noctis-popover-<part>", ... }`,
|
|
6
|
+
* derived from the part's inputs.
|
|
7
|
+
*
|
|
8
|
+
* Under the single-`data-slot` anchor model the `data-slot` is the only styling hook needed —
|
|
9
|
+
* `popover.css` keys every rule off it — so spreading a part's `props()` onto a *foreign* element
|
|
10
|
+
* styles it as that part:
|
|
11
|
+
*
|
|
12
|
+
* <h2 {...Popover.Title.props()}>Filters</h2>
|
|
13
|
+
* // → <h2 data-slot="noctis-popover-title">
|
|
14
|
+
*
|
|
15
|
+
* The escape hatch carries no className (styling is attribute-driven); an optional `className`
|
|
16
|
+
* passthrough is accepted and forwarded verbatim. The same mapping is emitted as data from the token
|
|
17
|
+
* graph (`generated/declarations.json`) so non-React / agent consumers can hand-write the markup.
|
|
18
|
+
*/
|
|
19
|
+
const withClassName = (bag, className) => className === void 0 ? bag : {
|
|
20
|
+
...bag,
|
|
21
|
+
className
|
|
22
|
+
};
|
|
23
|
+
/** Trigger prop bag: just the slot anchor. */
|
|
24
|
+
function triggerProps({ className } = {}) {
|
|
25
|
+
return withClassName({ "data-slot": POPOVER_SLOTS.trigger }, className);
|
|
26
|
+
}
|
|
27
|
+
/** Popup prop bag: just the slot anchor (the popup surface paint is owned by the composed Surface). */
|
|
28
|
+
function popupProps({ className } = {}) {
|
|
29
|
+
return withClassName({ "data-slot": POPOVER_SLOTS.popup }, className);
|
|
30
|
+
}
|
|
31
|
+
/** Title prop bag: just the slot anchor. */
|
|
32
|
+
function titleProps({ className } = {}) {
|
|
33
|
+
return withClassName({ "data-slot": POPOVER_SLOTS.title }, className);
|
|
34
|
+
}
|
|
35
|
+
/** Description prop bag: just the slot anchor. */
|
|
36
|
+
function descriptionProps({ className } = {}) {
|
|
37
|
+
return withClassName({ "data-slot": POPOVER_SLOTS.description }, className);
|
|
38
|
+
}
|
|
39
|
+
/** Close prop bag: just the slot anchor. */
|
|
40
|
+
function closeProps({ className } = {}) {
|
|
41
|
+
return withClassName({ "data-slot": POPOVER_SLOTS.close }, className);
|
|
42
|
+
}
|
|
43
|
+
//#endregion
|
|
44
|
+
export { closeProps, descriptionProps, popupProps, titleProps, triggerProps };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
//#region src/components/popover/popover.slots.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* The `data-*` hooks `Popover` stamps on its parts, for host-side styling and tests. Slot values mark
|
|
4
|
+
* each rendered element; the state attributes are emitted by Base UI's Popover — pair a slot with a
|
|
5
|
+
* state to target, say, the trigger only while its popover is open, or the popup during its transition.
|
|
6
|
+
*/
|
|
7
|
+
declare enum PopoverDataAttributes {
|
|
8
|
+
/** The trigger element. */
|
|
9
|
+
trigger = "data-slot",
|
|
10
|
+
/** Present on the trigger while its popover is open. */
|
|
11
|
+
popupOpen = "data-popup-open",
|
|
12
|
+
/** The side of the anchor the popup actually rendered on (`bottom`, `top`, `inline-start`, …). */
|
|
13
|
+
side = "data-side",
|
|
14
|
+
/** Present on the popup for the first frame after mount — the transition's start state. */
|
|
15
|
+
startingStyle = "data-starting-style",
|
|
16
|
+
/** Present on the popup while it transitions out before unmounting. */
|
|
17
|
+
endingStyle = "data-ending-style",
|
|
18
|
+
/** Present on the popup when the change should not animate (keyboard open, dismissal). */
|
|
19
|
+
instant = "data-instant"
|
|
20
|
+
}
|
|
21
|
+
//#endregion
|
|
22
|
+
export { PopoverDataAttributes };
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
//#region src/components/popover/popover.slots.ts
|
|
2
|
+
/**
|
|
3
|
+
* The slot vocabulary every `Popover` part stamps as its `data-slot`. The authored source the
|
|
4
|
+
* orchestration file reads from, prefixed `noctis-popover-{part}` (the precompiled `popover.css` keys
|
|
5
|
+
* every rule off these anchors); SLOTS.md still generates from the token-graph declaration.
|
|
6
|
+
*
|
|
7
|
+
* `positioner` is a styling-only anchor (the z-index wrapper around the portalled popup) — it carries
|
|
8
|
+
* no token mint, so it lives here but not in the token-graph anatomy. `viewport` is the scrollable
|
|
9
|
+
* inner region the orchestration file wraps the popup's children in (the family overflow idiom): it is
|
|
10
|
+
* declared anatomy but reuses the popup's own padding/gap mints, so it mints nothing of its own.
|
|
11
|
+
*/
|
|
12
|
+
const POPOVER_SLOTS = {
|
|
13
|
+
trigger: "noctis-popover-trigger",
|
|
14
|
+
positioner: "noctis-popover-positioner",
|
|
15
|
+
popup: "noctis-popover-popup",
|
|
16
|
+
viewport: "noctis-popover-viewport",
|
|
17
|
+
title: "noctis-popover-title",
|
|
18
|
+
description: "noctis-popover-description",
|
|
19
|
+
close: "noctis-popover-close"
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* The `data-*` hooks `Popover` stamps on its parts, for host-side styling and tests. Slot values mark
|
|
23
|
+
* each rendered element; the state attributes are emitted by Base UI's Popover — pair a slot with a
|
|
24
|
+
* state to target, say, the trigger only while its popover is open, or the popup during its transition.
|
|
25
|
+
*/
|
|
26
|
+
let PopoverDataAttributes = /* @__PURE__ */ function(PopoverDataAttributes) {
|
|
27
|
+
/** The trigger element. */
|
|
28
|
+
PopoverDataAttributes["trigger"] = "data-slot";
|
|
29
|
+
/** Present on the trigger while its popover is open. */
|
|
30
|
+
PopoverDataAttributes["popupOpen"] = "data-popup-open";
|
|
31
|
+
/** The side of the anchor the popup actually rendered on (`bottom`, `top`, `inline-start`, …). */
|
|
32
|
+
PopoverDataAttributes["side"] = "data-side";
|
|
33
|
+
/** Present on the popup for the first frame after mount — the transition's start state. */
|
|
34
|
+
PopoverDataAttributes["startingStyle"] = "data-starting-style";
|
|
35
|
+
/** Present on the popup while it transitions out before unmounting. */
|
|
36
|
+
PopoverDataAttributes["endingStyle"] = "data-ending-style";
|
|
37
|
+
/** Present on the popup when the change should not animate (keyboard open, dismissal). */
|
|
38
|
+
PopoverDataAttributes["instant"] = "data-instant";
|
|
39
|
+
return PopoverDataAttributes;
|
|
40
|
+
}({});
|
|
41
|
+
//#endregion
|
|
42
|
+
export { POPOVER_SLOTS, PopoverDataAttributes };
|