@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,27 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useRender } from "../render.js";
|
|
3
|
+
import clsx$1 from "clsx";
|
|
4
|
+
//#region src/core/primitive/primitive.tsx
|
|
5
|
+
/**
|
|
6
|
+
* The styled-element foundation every other primitive builds on: it renders any tag (`as`) or
|
|
7
|
+
* composes with another component (`render`), carries a `data-slot`, and forwards `className`
|
|
8
|
+
* verbatim so consumers can add their own classes. It is deliberately lean — only polymorphism and
|
|
9
|
+
* class passthrough — so layout and spacing concerns live on the primitives that own them, not on
|
|
10
|
+
* the base.
|
|
11
|
+
*
|
|
12
|
+
* @see {@link Primitive.Props}
|
|
13
|
+
*/
|
|
14
|
+
function Primitive({ as, render, ref, className, "data-slot": dataSlot = "noctis-primitive", ...props }) {
|
|
15
|
+
return useRender({
|
|
16
|
+
defaultTagName: as ?? "div",
|
|
17
|
+
render,
|
|
18
|
+
ref,
|
|
19
|
+
props: {
|
|
20
|
+
"data-slot": dataSlot,
|
|
21
|
+
className: clsx$1(className),
|
|
22
|
+
...props
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
//#endregion
|
|
27
|
+
export { Primitive };
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { RadiusPreset } from "./radius-scope.styles.js";
|
|
2
|
+
import { ElementType, HTMLAttributes, ReactElement } from "react";
|
|
3
|
+
|
|
4
|
+
//#region src/core/radius-scope/radius-scope.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* The escape hatch over the global radius default: scope a subtree to its own corner radius. It sets
|
|
7
|
+
* the `--noctis-seed-radius` knob (and the `data-radius-scope` attribute that re-derives the box scale from it),
|
|
8
|
+
* so **every** primitive inside — current or future — re-rounds through the cascade, with no
|
|
9
|
+
* per-component prop. Defaults to a `display: contents` wrapper so it adds no box; pass `as`/`className`
|
|
10
|
+
* to put the scope on a real layout element instead. Pure CSS, so it works in Server Components.
|
|
11
|
+
*
|
|
12
|
+
* @see {@link RadiusScope.Props}
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```tsx
|
|
16
|
+
* <RadiusScope radius="rounded">
|
|
17
|
+
* <Button>Get started</Button> // rounded, regardless of the app-wide setting
|
|
18
|
+
* </RadiusScope>
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
declare function RadiusScope({
|
|
22
|
+
radius,
|
|
23
|
+
as: Tag,
|
|
24
|
+
className,
|
|
25
|
+
style,
|
|
26
|
+
...props
|
|
27
|
+
}: RadiusScope.Props): ReactElement;
|
|
28
|
+
/**
|
|
29
|
+
* Prop and preset types. Types-only — it emits no runtime code and merges with the `RadiusScope`
|
|
30
|
+
* function above, so `RadiusScope` is the component value while `RadiusScope.Props` is its prop type.
|
|
31
|
+
*/
|
|
32
|
+
declare namespace RadiusScope {
|
|
33
|
+
interface Props extends HTMLAttributes<HTMLElement> {
|
|
34
|
+
/** A named preset or a raw px value. The whole `rounded-*` scale inside re-derives from it. */
|
|
35
|
+
radius: RadiusPreset | number;
|
|
36
|
+
/** The element to render. Defaults to a `display: contents` wrapper that adds no layout box. */
|
|
37
|
+
as?: ElementType;
|
|
38
|
+
}
|
|
39
|
+
/** A named radius preset. */
|
|
40
|
+
type Preset = RadiusPreset;
|
|
41
|
+
}
|
|
42
|
+
//#endregion
|
|
43
|
+
export { RadiusScope };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { RADIUS_PRESETS } from "./radius-scope.styles.js";
|
|
2
|
+
import clsx$1 from "clsx";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
//#region src/core/radius-scope/radius-scope.tsx
|
|
5
|
+
/**
|
|
6
|
+
* The escape hatch over the global radius default: scope a subtree to its own corner radius. It sets
|
|
7
|
+
* the `--noctis-seed-radius` knob (and the `data-radius-scope` attribute that re-derives the box scale from it),
|
|
8
|
+
* so **every** primitive inside — current or future — re-rounds through the cascade, with no
|
|
9
|
+
* per-component prop. Defaults to a `display: contents` wrapper so it adds no box; pass `as`/`className`
|
|
10
|
+
* to put the scope on a real layout element instead. Pure CSS, so it works in Server Components.
|
|
11
|
+
*
|
|
12
|
+
* @see {@link RadiusScope.Props}
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```tsx
|
|
16
|
+
* <RadiusScope radius="rounded">
|
|
17
|
+
* <Button>Get started</Button> // rounded, regardless of the app-wide setting
|
|
18
|
+
* </RadiusScope>
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
function RadiusScope({ radius, as: Tag = "div", className, style, ...props }) {
|
|
22
|
+
const px = typeof radius === "number" ? radius : RADIUS_PRESETS[radius];
|
|
23
|
+
const scopeStyle = {
|
|
24
|
+
...style,
|
|
25
|
+
"--noctis-seed-radius": `${px}px`
|
|
26
|
+
};
|
|
27
|
+
return /* @__PURE__ */ jsx(Tag, {
|
|
28
|
+
"data-slot": "noctis-radius-scope",
|
|
29
|
+
"data-radius-scope": "",
|
|
30
|
+
className: clsx$1(className),
|
|
31
|
+
style: scopeStyle,
|
|
32
|
+
...props
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
//#endregion
|
|
36
|
+
export { RadiusScope };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
//#region src/core/radius-scope/radius-scope.styles.d.ts
|
|
2
|
+
/** Named radius presets, in px, matching the System Controls steps (`pill` pills controls, caps surfaces).
|
|
3
|
+
* Pass a raw px value for anything else. */
|
|
4
|
+
declare const RADIUS_PRESETS: {
|
|
5
|
+
readonly sharp: 0;
|
|
6
|
+
readonly subtle: 4;
|
|
7
|
+
readonly rounded: 8;
|
|
8
|
+
readonly pill: 9999;
|
|
9
|
+
};
|
|
10
|
+
/** A named radius preset. */
|
|
11
|
+
type RadiusPreset = keyof typeof RADIUS_PRESETS;
|
|
12
|
+
//#endregion
|
|
13
|
+
export { RADIUS_PRESETS, RadiusPreset };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
//#region src/core/radius-scope/radius-scope.styles.ts
|
|
2
|
+
/** Named radius presets, in px, matching the System Controls steps (`pill` pills controls, caps surfaces).
|
|
3
|
+
* Pass a raw px value for anything else. */
|
|
4
|
+
const RADIUS_PRESETS = {
|
|
5
|
+
sharp: 0,
|
|
6
|
+
subtle: 4,
|
|
7
|
+
rounded: 8,
|
|
8
|
+
pill: 9999
|
|
9
|
+
};
|
|
10
|
+
//#endregion
|
|
11
|
+
export { RADIUS_PRESETS };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ElementType } from "react";
|
|
2
|
+
import { HTMLProps, useRender } from "@base-ui/react/use-render";
|
|
3
|
+
import { mergeProps } from "@base-ui/react/merge-props";
|
|
4
|
+
|
|
5
|
+
//#region src/core/render.d.ts
|
|
6
|
+
/** Drives the `render`/polymorphism mechanism — swaps the rendered element or composes another component. Re-exported from Base UI. */
|
|
7
|
+
declare const useRender$1: typeof useRender;
|
|
8
|
+
/**
|
|
9
|
+
* Types-only namespace for {@link useRender}. Mirrors Base UI's `useRender.*` members (so `useRender.RenderProp`,
|
|
10
|
+
* `useRender.ComponentProps`, … keep resolving through the re-export) and adds `useRender.HTMLProps` — the
|
|
11
|
+
* element-props type for a `render` callback — alongside them.
|
|
12
|
+
*/
|
|
13
|
+
declare namespace useRender$1 {
|
|
14
|
+
/** The element props the render prop receives — the source for a `render={(props: useRender.HTMLProps) => …}` callback. */
|
|
15
|
+
type HTMLProps = HTMLProps;
|
|
16
|
+
type State = useRender.State;
|
|
17
|
+
type RenderProp<TState = Record<string, unknown>> = useRender.RenderProp<TState>;
|
|
18
|
+
type ElementProps<El extends ElementType> = useRender.ElementProps<El>;
|
|
19
|
+
type ComponentProps<El extends ElementType, TState = Record<never, never>, RenderFunctionProps = HTMLProps> = useRender.ComponentProps<El, TState, RenderFunctionProps>;
|
|
20
|
+
type Parameters<TState extends Record<string, unknown>, RenderedElementType extends Element, Enabled extends boolean | undefined = undefined> = useRender.Parameters<TState, RenderedElementType, Enabled>;
|
|
21
|
+
type ReturnValue<Enabled extends boolean | undefined = undefined> = useRender.ReturnValue<Enabled>;
|
|
22
|
+
}
|
|
23
|
+
//#endregion
|
|
24
|
+
export { mergeProps, useRender$1 as useRender };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { useRender } from "@base-ui/react/use-render";
|
|
2
|
+
import { mergeProps } from "@base-ui/react/merge-props";
|
|
3
|
+
//#region src/core/render.ts
|
|
4
|
+
/**
|
|
5
|
+
* Base UI's render primitives, surfaced from the package so every primitive composes the same way:
|
|
6
|
+
* `useRender` drives the `render`/polymorphism mechanism (an element or tag swap) and `mergeProps`
|
|
7
|
+
* merges internal defaults with consumer props — joining `className`/`style` and chaining handlers.
|
|
8
|
+
*/
|
|
9
|
+
/** Drives the `render`/polymorphism mechanism — swaps the rendered element or composes another component. Re-exported from Base UI. */
|
|
10
|
+
const useRender$1 = useRender;
|
|
11
|
+
//#endregion
|
|
12
|
+
export { mergeProps, useRender$1 as useRender };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
//#region src/core/use-copy.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Copy-to-clipboard with a self-resetting "copied" flag. The text is resolved lazily at click time
|
|
4
|
+
* via `getText` so a caller can read live DOM (e.g. the active code panel's `textContent`) rather than
|
|
5
|
+
* snapshotting it up front. The flag flips back after `resetMs`; the pending timer is cleared on
|
|
6
|
+
* unmount so a copy just before navigation can't set state on a gone component.
|
|
7
|
+
*/
|
|
8
|
+
declare function useCopy(getText: () => string, resetMs?: number): {
|
|
9
|
+
copied: boolean;
|
|
10
|
+
copy: () => void;
|
|
11
|
+
};
|
|
12
|
+
//#endregion
|
|
13
|
+
export { useCopy };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useCallback, useEffect, useRef, useState } from "react";
|
|
3
|
+
//#region src/core/use-copy.ts
|
|
4
|
+
/**
|
|
5
|
+
* Copy-to-clipboard with a self-resetting "copied" flag. The text is resolved lazily at click time
|
|
6
|
+
* via `getText` so a caller can read live DOM (e.g. the active code panel's `textContent`) rather than
|
|
7
|
+
* snapshotting it up front. The flag flips back after `resetMs`; the pending timer is cleared on
|
|
8
|
+
* unmount so a copy just before navigation can't set state on a gone component.
|
|
9
|
+
*/
|
|
10
|
+
function useCopy(getText, resetMs = 1600) {
|
|
11
|
+
const [copied, setCopied] = useState(false);
|
|
12
|
+
const timer = useRef(null);
|
|
13
|
+
useEffect(() => () => {
|
|
14
|
+
if (timer.current) clearTimeout(timer.current);
|
|
15
|
+
}, []);
|
|
16
|
+
return {
|
|
17
|
+
copied,
|
|
18
|
+
copy: useCallback(() => {
|
|
19
|
+
const text = getText();
|
|
20
|
+
if (!text || !navigator.clipboard) return;
|
|
21
|
+
navigator.clipboard.writeText(text).then(() => {
|
|
22
|
+
setCopied(true);
|
|
23
|
+
if (timer.current) clearTimeout(timer.current);
|
|
24
|
+
timer.current = setTimeout(() => setCopied(false), resetMs);
|
|
25
|
+
}).catch(() => {});
|
|
26
|
+
}, [getText, resetMs])
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
//#endregion
|
|
30
|
+
export { useCopy };
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useMemo } from "react";
|
|
3
|
+
import en from "@stridge/noctis-intl/messages/en";
|
|
4
|
+
import fa from "@stridge/noctis-intl/messages/fa";
|
|
5
|
+
import { useLocale, useLocalizedStringFormatter } from "@stridge/noctis-intl/react";
|
|
6
|
+
//#region src/core/use-injected-labels.ts
|
|
7
|
+
/** The bundled message catalogs, keyed by language so the formatter resolves against the active locale. */
|
|
8
|
+
const MESSAGES = {
|
|
9
|
+
en,
|
|
10
|
+
fa
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Resolves a primitive's assistive labels with the precedence the whole system uses: English
|
|
14
|
+
* `defaults` (the last-resort fallback const) → the locale-resolved dictionary value → per-instance
|
|
15
|
+
* `overrides` (always wins). `keys` maps each label field to its message key in the bundled catalog.
|
|
16
|
+
*
|
|
17
|
+
* This is the single source of the labels-merge precedence — every locale-aware wrapper uses it
|
|
18
|
+
* instead of re-implementing the merge.
|
|
19
|
+
*/
|
|
20
|
+
function useInjectedLabels(defaults, keys, overrides) {
|
|
21
|
+
const formatter = useLocalizedStringFormatter(MESSAGES);
|
|
22
|
+
return useMemo(() => {
|
|
23
|
+
const resolved = { ...defaults };
|
|
24
|
+
for (const field in keys) {
|
|
25
|
+
const key = keys[field];
|
|
26
|
+
try {
|
|
27
|
+
resolved[field] = formatter.format(key);
|
|
28
|
+
} catch {}
|
|
29
|
+
}
|
|
30
|
+
return {
|
|
31
|
+
...resolved,
|
|
32
|
+
...overrides
|
|
33
|
+
};
|
|
34
|
+
}, [
|
|
35
|
+
formatter,
|
|
36
|
+
defaults,
|
|
37
|
+
keys,
|
|
38
|
+
overrides
|
|
39
|
+
]);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* The bundled-catalog string formatter for the active locale, for wrappers that compose a localized
|
|
43
|
+
* string with runtime arguments (an ICU `select`/`plural`/interpolation) rather than resolving a flat
|
|
44
|
+
* label — e.g. Meter's `aria-valuetext` ("{value} — {status}"). Resolves against the same `MESSAGES`
|
|
45
|
+
* catalog `useInjectedLabels` uses, so the precedence and locale wiring stay identical.
|
|
46
|
+
*/
|
|
47
|
+
function useNoctisStringFormatter() {
|
|
48
|
+
return useLocalizedStringFormatter(MESSAGES);
|
|
49
|
+
}
|
|
50
|
+
/** The active locale to spread onto Base UI roots that accept `Intl.LocalesArgument`. */
|
|
51
|
+
function useInjectedLocale() {
|
|
52
|
+
return useLocale().locale;
|
|
53
|
+
}
|
|
54
|
+
//#endregion
|
|
55
|
+
export { useInjectedLabels, useInjectedLocale, useNoctisStringFormatter };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
//#region src/core/use-reduced-motion.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Whether the user asks for reduced motion (`prefers-reduced-motion: reduce`). Gate non-essential
|
|
4
|
+
* animation on it. For purely declarative transitions, the Tailwind `motion-reduce:` variant is
|
|
5
|
+
* usually enough; reach for this hook when motion is driven in JS.
|
|
6
|
+
*/
|
|
7
|
+
declare function useReducedMotion(): boolean;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { useReducedMotion };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useSyncExternalStore } from "react";
|
|
3
|
+
//#region src/core/use-reduced-motion.ts
|
|
4
|
+
const QUERY = "(prefers-reduced-motion: reduce)";
|
|
5
|
+
function subscribe(onChange) {
|
|
6
|
+
const list = window.matchMedia(QUERY);
|
|
7
|
+
list.addEventListener("change", onChange);
|
|
8
|
+
return () => list.removeEventListener("change", onChange);
|
|
9
|
+
}
|
|
10
|
+
function getSnapshot() {
|
|
11
|
+
return window.matchMedia(QUERY).matches;
|
|
12
|
+
}
|
|
13
|
+
/** The server can't know the preference, so animations start enabled and correct after hydration. */
|
|
14
|
+
function getServerSnapshot() {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Whether the user asks for reduced motion (`prefers-reduced-motion: reduce`). Gate non-essential
|
|
19
|
+
* animation on it. For purely declarative transitions, the Tailwind `motion-reduce:` variant is
|
|
20
|
+
* usually enough; reach for this hook when motion is driven in JS.
|
|
21
|
+
*/
|
|
22
|
+
function useReducedMotion() {
|
|
23
|
+
return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);
|
|
24
|
+
}
|
|
25
|
+
//#endregion
|
|
26
|
+
export { useReducedMotion };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import { VisuallyHidden } from "./visually-hidden.js";
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ComponentPropsWithoutRef, ReactElement } from "react";
|
|
2
|
+
|
|
3
|
+
//#region src/core/visually-hidden/visually-hidden.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Hides content visually while keeping it in the accessibility tree — for screen-reader-only labels
|
|
6
|
+
* and live-region text that should not take up space. Renders a `span` by default; the hiding is owned
|
|
7
|
+
* by `visually-hidden.css` keyed off `data-slot`, and `className` adds to (does not replace) it.
|
|
8
|
+
*
|
|
9
|
+
* @see {@link VisuallyHidden.Props}
|
|
10
|
+
*/
|
|
11
|
+
declare function VisuallyHidden({
|
|
12
|
+
className,
|
|
13
|
+
...props
|
|
14
|
+
}: VisuallyHidden.Props): ReactElement;
|
|
15
|
+
/**
|
|
16
|
+
* Prop types. Types-only — it emits no runtime code and merges with the `VisuallyHidden` function
|
|
17
|
+
* above, so `VisuallyHidden` is the component value while `VisuallyHidden.Props` is its prop type.
|
|
18
|
+
*/
|
|
19
|
+
declare namespace VisuallyHidden {
|
|
20
|
+
/** Props for `VisuallyHidden` — every `span` attribute, plus a `className` merged onto the hiding styles. */
|
|
21
|
+
type Props = ComponentPropsWithoutRef<"span">;
|
|
22
|
+
}
|
|
23
|
+
//#endregion
|
|
24
|
+
export { VisuallyHidden };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import clsx$1 from "clsx";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
//#region src/core/visually-hidden/visually-hidden.tsx
|
|
4
|
+
/**
|
|
5
|
+
* Hides content visually while keeping it in the accessibility tree — for screen-reader-only labels
|
|
6
|
+
* and live-region text that should not take up space. Renders a `span` by default; the hiding is owned
|
|
7
|
+
* by `visually-hidden.css` keyed off `data-slot`, and `className` adds to (does not replace) it.
|
|
8
|
+
*
|
|
9
|
+
* @see {@link VisuallyHidden.Props}
|
|
10
|
+
*/
|
|
11
|
+
function VisuallyHidden({ className, ...props }) {
|
|
12
|
+
return /* @__PURE__ */ jsx("span", {
|
|
13
|
+
"data-slot": "noctis-visually-hidden",
|
|
14
|
+
className: clsx$1(className),
|
|
15
|
+
...props
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
export { VisuallyHidden };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { LocalizedStrings } from "@stridge/noctis-intl";
|
|
2
|
+
|
|
3
|
+
//#region src/i18n/default-messages.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* The fallback string dictionary `NoctisProvider` uses when an app passes no `messages`. An empty
|
|
6
|
+
* `en` map keeps primitives fully labelled via their own prop defaults; compiled per-component
|
|
7
|
+
* bundles plug in here later. Defined as a constant — not inline JSX — so `no-hardcoded-strings`
|
|
8
|
+
* stays satisfied.
|
|
9
|
+
*/
|
|
10
|
+
declare const DEFAULT_MESSAGES: LocalizedStrings<string, string>;
|
|
11
|
+
//#endregion
|
|
12
|
+
export { DEFAULT_MESSAGES };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
//#region src/i18n/default-messages.ts
|
|
2
|
+
/**
|
|
3
|
+
* The fallback string dictionary `NoctisProvider` uses when an app passes no `messages`. An empty
|
|
4
|
+
* `en` map keeps primitives fully labelled via their own prop defaults; compiled per-component
|
|
5
|
+
* bundles plug in here later. Defined as a constant — not inline JSX — so `no-hardcoded-strings`
|
|
6
|
+
* stays satisfied.
|
|
7
|
+
*/
|
|
8
|
+
const DEFAULT_MESSAGES = { en: {} };
|
|
9
|
+
//#endregion
|
|
10
|
+
export { DEFAULT_MESSAGES };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { DateFormatter, DateFormatterOptions, Filter, Locale, LocalizedString, LocalizedStringDictionary, LocalizedStringFormatter, LocalizedStrings, NumberFormatOptions, NumberFormatter, NumberParser, TextDirection, Variables, isRTL, useCollator, useDateFormatter, useFilter, useIsSSR, useListFormatter, useLocale, useLocalizedStringDictionary, useLocalizedStringFormatter, useNumberFormatter } from "@stridge/noctis-intl/react";
|
|
2
|
+
export { DateFormatter, type DateFormatterOptions, type Filter, type Locale, type LocalizedString, LocalizedStringDictionary, LocalizedStringFormatter, type LocalizedStrings, type NumberFormatOptions, NumberFormatter, NumberParser, type TextDirection, type Variables, isRTL, useCollator, useDateFormatter, useFilter, useIsSSR, useListFormatter, useLocale, useLocalizedStringDictionary, useLocalizedStringFormatter, useNumberFormatter };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { DateFormatter, LocalizedStringDictionary, LocalizedStringFormatter, NumberFormatter, NumberParser, isRTL, useCollator, useDateFormatter, useFilter, useIsSSR, useListFormatter, useLocale, useLocalizedStringDictionary, useLocalizedStringFormatter, useNumberFormatter } from "@stridge/noctis-intl/react";
|
|
2
|
+
export { DateFormatter, LocalizedStringDictionary, LocalizedStringFormatter, NumberFormatter, NumberParser, isRTL, useCollator, useDateFormatter, useFilter, useIsSSR, useListFormatter, useLocale, useLocalizedStringDictionary, useLocalizedStringFormatter, useNumberFormatter };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { Check as CheckIcon, ChevronDown as ChevronDownIcon, ChevronRight as ChevronRightIcon, ChevronUp as ChevronUpIcon, ChevronsUpDown as ChevronsUpDownIcon, File as FileIcon, LoaderCircle as SpinnerIcon, Minus as MinusIcon, MoreHorizontal as MoreHorizontalIcon, Pipette as PipetteIcon, Plus as PlusIcon, Search as SearchIcon, Terminal as TerminalIcon, X as XIcon } from "lucide-react";
|
|
2
|
+
export { CheckIcon, ChevronDownIcon, ChevronRightIcon, ChevronUpIcon, ChevronsUpDownIcon, FileIcon, MinusIcon, MoreHorizontalIcon, PipetteIcon, PlusIcon, SearchIcon, SpinnerIcon, TerminalIcon, XIcon };
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { IconGlyph } from "./glyphs.js";
|
|
2
|
+
import { IconSize } from "./icon.styles.js";
|
|
3
|
+
import { ComponentPropsWithoutRef, ReactElement } from "react";
|
|
4
|
+
|
|
5
|
+
//#region src/icons/icon.d.ts
|
|
6
|
+
/**
|
|
7
|
+
* The icon primitive: a lucide glyph sized from the token scale, RTL-aware, and accessible by
|
|
8
|
+
* default. With a `title` it is announced as an image with that name; without one it is hidden
|
|
9
|
+
* from assistive tech, so a labelled control's own text is not doubled up.
|
|
10
|
+
*
|
|
11
|
+
* @see {@link Icon.Props}
|
|
12
|
+
*/
|
|
13
|
+
declare function Icon({
|
|
14
|
+
icon: Glyph,
|
|
15
|
+
size,
|
|
16
|
+
directional,
|
|
17
|
+
title,
|
|
18
|
+
className,
|
|
19
|
+
...props
|
|
20
|
+
}: Icon.Props): ReactElement;
|
|
21
|
+
/**
|
|
22
|
+
* Prop and size types. Types-only — it emits no runtime code and merges with the `Icon` function
|
|
23
|
+
* above, so `Icon` is the component value while `Icon.Props` is its prop type.
|
|
24
|
+
*/
|
|
25
|
+
declare namespace Icon {
|
|
26
|
+
interface Props extends Omit<ComponentPropsWithoutRef<IconGlyph>, "size"> {
|
|
27
|
+
/** The icon glyph component to render (from `./icons`). */
|
|
28
|
+
icon: IconGlyph;
|
|
29
|
+
/** Token-driven size. Defaults to `md`. */
|
|
30
|
+
size?: IconSize;
|
|
31
|
+
/** Mirror the glyph under RTL — set for chevrons, arrows, and back/forward affordances. */
|
|
32
|
+
directional?: boolean;
|
|
33
|
+
/** Accessible name. When set the icon is exposed as an image; when omitted it is decorative. */
|
|
34
|
+
title?: string;
|
|
35
|
+
}
|
|
36
|
+
/** Token-driven icon size. */
|
|
37
|
+
type Size = IconSize;
|
|
38
|
+
}
|
|
39
|
+
//#endregion
|
|
40
|
+
export { Icon };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import clsx$1 from "clsx";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
//#region src/icons/icon.tsx
|
|
4
|
+
/**
|
|
5
|
+
* The icon primitive: a lucide glyph sized from the token scale, RTL-aware, and accessible by
|
|
6
|
+
* default. With a `title` it is announced as an image with that name; without one it is hidden
|
|
7
|
+
* from assistive tech, so a labelled control's own text is not doubled up.
|
|
8
|
+
*
|
|
9
|
+
* @see {@link Icon.Props}
|
|
10
|
+
*/
|
|
11
|
+
function Icon({ icon: Glyph, size = "md", directional = false, title, className, ...props }) {
|
|
12
|
+
const labelled = title !== void 0 && title !== "";
|
|
13
|
+
return /* @__PURE__ */ jsx(Glyph, {
|
|
14
|
+
"data-slot": "noctis-icon",
|
|
15
|
+
"data-size": size,
|
|
16
|
+
"data-directional": directional ? "" : void 0,
|
|
17
|
+
"aria-hidden": labelled ? void 0 : true,
|
|
18
|
+
"aria-label": labelled ? title : void 0,
|
|
19
|
+
role: labelled ? "img" : void 0,
|
|
20
|
+
focusable: false,
|
|
21
|
+
className: clsx$1(className),
|
|
22
|
+
...props
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
//#endregion
|
|
26
|
+
export { Icon };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
//#region src/icons/icon.styles.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Named icon size. Defaults to `md`. The square sizing (`--_icon-size`, retuned per `data-size`) and
|
|
4
|
+
* the directional RTL mirror are owned by the hand-authored `icon.css`, keyed off `data-slot`/
|
|
5
|
+
* `data-directional` — so the icon styles itself with no Tailwind utility.
|
|
6
|
+
*/
|
|
7
|
+
type IconSize = "xs" | "sm" | "md" | "lg" | "xl";
|
|
8
|
+
//#endregion
|
|
9
|
+
export { IconSize };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { AccordionLevel, AccordionSize } from "./components/accordion/accordion.types.js";
|
|
2
|
+
import { Accordion } from "./components/accordion/accordion.js";
|
|
3
|
+
import { AccordionDataAttributes } from "./components/accordion/accordion.slots.js";
|
|
4
|
+
import { IconGlyph } from "./icons/glyphs.js";
|
|
5
|
+
import { Icon } from "./icons/icon.js";
|
|
6
|
+
import { AutocompleteSize } from "./components/autocomplete/autocomplete.context.js";
|
|
7
|
+
import { Autocomplete } from "./components/autocomplete/autocomplete.js";
|
|
8
|
+
import { AutocompleteDataAttributes } from "./components/autocomplete/autocomplete.slots.js";
|
|
9
|
+
import { AlertDialogActionTone } from "./components/alert-dialog/alert-dialog.types.js";
|
|
10
|
+
import { AlertDialog } from "./components/alert-dialog/alert-dialog.js";
|
|
11
|
+
import { AlertDialogDataAttributes } from "./components/alert-dialog/alert-dialog.slots.js";
|
|
12
|
+
import { Avatar } from "./components/avatar/avatar.js";
|
|
13
|
+
import { AvatarDataAttributes } from "./components/avatar/avatar.slots.js";
|
|
14
|
+
import { Button } from "./components/button/button.js";
|
|
15
|
+
import { ButtonDataAttributes } from "./components/button/button.slots.js";
|
|
16
|
+
import { mergeProps, useRender } from "./core/render.js";
|
|
17
|
+
import { Surface } from "./components/surface/surface.js";
|
|
18
|
+
import { ColorFormat } from "./components/color-picker/color.js";
|
|
19
|
+
import { ColorPickerLabels } from "./components/color-picker/context.js";
|
|
20
|
+
import { ColorPicker } from "./components/color-picker/color-picker.js";
|
|
21
|
+
import { ColorSwatch } from "./components/color-swatch/color-swatch.js";
|
|
22
|
+
import { ColorSwatchPicker } from "./components/color-swatch/color-swatch-picker.js";
|
|
23
|
+
import { CheckboxGroup } from "./components/checkbox/checkbox-group.js";
|
|
24
|
+
import { Checkbox } from "./components/checkbox/checkbox.js";
|
|
25
|
+
import { CheckboxDataAttributes } from "./components/checkbox/checkbox.slots.js";
|
|
26
|
+
import { CodeBlock } from "./components/code-block/code-block.js";
|
|
27
|
+
import { CodeBlockDataAttributes } from "./components/code-block/code-block.slots.js";
|
|
28
|
+
import { BrandLogo, PackageManager } from "./components/code-block/brand-logo.js";
|
|
29
|
+
import { Collapsible } from "./components/collapsible/collapsible.js";
|
|
30
|
+
import { CollapsibleDataAttributes } from "./components/collapsible/collapsible.slots.js";
|
|
31
|
+
import { Combobox } from "./components/combobox/combobox.js";
|
|
32
|
+
import { ComboboxDataAttributes } from "./components/combobox/combobox.slots.js";
|
|
33
|
+
import { Menu } from "./components/menu/menu.js";
|
|
34
|
+
import { MenuDataAttributes } from "./components/menu/menu.slots.js";
|
|
35
|
+
import { ContextMenu } from "./components/context-menu/context-menu.js";
|
|
36
|
+
import { ContextMenuDataAttributes } from "./components/context-menu/context-menu.slots.js";
|
|
37
|
+
import { CopyButton } from "./components/copy-button/copy-button.js";
|
|
38
|
+
import { CopyButtonDataAttributes } from "./components/copy-button/copy-button.slots.js";
|
|
39
|
+
import { Field, Fieldset, Form } from "./components/field/field.js";
|
|
40
|
+
import { FieldDataAttributes } from "./components/field/field.slots.js";
|
|
41
|
+
import { InlineCode } from "./components/inline-code/inline-code.js";
|
|
42
|
+
import { InputAdornmentSide, InputAdornmentVariant, InputSize } from "./components/input/input.types.js";
|
|
43
|
+
import { Input } from "./components/input/input.js";
|
|
44
|
+
import { InputDataAttributes } from "./components/input/input.slots.js";
|
|
45
|
+
import { Kbd } from "./components/kbd/kbd.js";
|
|
46
|
+
import { SearchResult } from "./components/search-dialog/search-dialog.context.js";
|
|
47
|
+
import { SearchDialog } from "./components/search-dialog/search-dialog.js";
|
|
48
|
+
import { SearchDialogDataAttributes } from "./components/search-dialog/search-dialog.slots.js";
|
|
49
|
+
import { Select } from "./components/select/select.js";
|
|
50
|
+
import { SelectDataAttributes } from "./components/select/select.slots.js";
|
|
51
|
+
import { SeparatorDataAttributes } from "./components/separator/separator.slots.js";
|
|
52
|
+
import { Separator } from "./components/separator/separator.js";
|
|
53
|
+
import { ClassNameProp, mergeClassName } from "./core/merge-class-name.js";
|
|
54
|
+
import { Rail } from "./components/rail/rail.js";
|
|
55
|
+
import { RailDataAttributes } from "./components/rail/rail.slots.js";
|
|
56
|
+
import { Sheet } from "./components/sheet/sheet.js";
|
|
57
|
+
import { EMPTY_SHEET_STACK, SheetStack, SheetStackEntry, SheetStackEntryInput, SheetStackManager, sheetStackReducer, useSheetStack, useSheetStackContext } from "./components/sheet/sheet-stack.js";
|
|
58
|
+
import { SliderSize } from "./components/slider/slider.context.js";
|
|
59
|
+
import { Slider } from "./components/slider/slider.js";
|
|
60
|
+
import { SliderDataAttributes } from "./components/slider/slider.slots.js";
|
|
61
|
+
import { ButtonGroup } from "./components/button-group/button-group.js";
|
|
62
|
+
import { ButtonGroupDataAttributes } from "./components/button-group/button-group.slots.js";
|
|
63
|
+
import { Dialog } from "./components/dialog/dialog.js";
|
|
64
|
+
import { DialogDataAttributes } from "./components/dialog/dialog.slots.js";
|
|
65
|
+
import { Menubar } from "./components/menubar/menubar.js";
|
|
66
|
+
import { MenubarDataAttributes } from "./components/menubar/menubar.slots.js";
|
|
67
|
+
import { Meter } from "./components/meter/meter.js";
|
|
68
|
+
import { MeterDataAttributes } from "./components/meter/meter.slots.js";
|
|
69
|
+
import { NumberField } from "./components/number-field/number-field.js";
|
|
70
|
+
import { NumberFieldDataAttributes } from "./components/number-field/number-field.slots.js";
|
|
71
|
+
import { OtpFieldSize } from "./components/otp-field/otp-field.props.js";
|
|
72
|
+
import { OtpField } from "./components/otp-field/otp-field.js";
|
|
73
|
+
import { OtpFieldDataAttributes } from "./components/otp-field/otp-field.slots.js";
|
|
74
|
+
import { PreviewCard } from "./components/preview-card/preview-card.js";
|
|
75
|
+
import { PreviewCardDataAttributes } from "./components/preview-card/preview-card.slots.js";
|
|
76
|
+
import { Popover } from "./components/popover/popover.js";
|
|
77
|
+
import { PopoverDataAttributes } from "./components/popover/popover.slots.js";
|
|
78
|
+
import { ProgressSize } from "./components/progress/progress.context.js";
|
|
79
|
+
import { Progress } from "./components/progress/progress.js";
|
|
80
|
+
import { ProgressDataAttributes } from "./components/progress/progress.slots.js";
|
|
81
|
+
import { Radio } from "./components/radio/radio.js";
|
|
82
|
+
import { RadioDataAttributes } from "./components/radio/radio.slots.js";
|
|
83
|
+
import { NavigationMenu } from "./components/navigation-menu/navigation-menu.js";
|
|
84
|
+
import { NavigationMenuDataAttributes } from "./components/navigation-menu/navigation-menu.slots.js";
|
|
85
|
+
import { Table } from "./components/table/table.js";
|
|
86
|
+
import { Tabs } from "./components/tabs/tabs.js";
|
|
87
|
+
import { TabsDataAttributes } from "./components/tabs/tabs.slots.js";
|
|
88
|
+
import { Toggle, ToggleGroup } from "./components/toggle/toggle.js";
|
|
89
|
+
import { ToggleDataAttributes } from "./components/toggle/toggle.slots.js";
|
|
90
|
+
import { Toolbar } from "./components/toolbar/toolbar.js";
|
|
91
|
+
import { ToolbarDataAttributes } from "./components/toolbar/toolbar.slots.js";
|
|
92
|
+
import { TextareaSize } from "./components/textarea/textarea.types.js";
|
|
93
|
+
import { Textarea } from "./components/textarea/textarea.js";
|
|
94
|
+
import { TextareaDataAttributes } from "./components/textarea/textarea.slots.js";
|
|
95
|
+
import { ToastPlacement, ToastType } from "./components/toast/toast.types.js";
|
|
96
|
+
import { ToastManager, ToastObject, ToastOptions, ToastPromiseOptions, ToastStatusOptions, ToastUpdateOptions, useToast } from "./components/toast/toast.manager.js";
|
|
97
|
+
import { Toast } from "./components/toast/toast.js";
|
|
98
|
+
import { ToastDataAttributes } from "./components/toast/toast.slots.js";
|
|
99
|
+
import { Tooltip } from "./components/tooltip/tooltip.js";
|
|
100
|
+
import { TooltipDataAttributes } from "./components/tooltip/tooltip.slots.js";
|
|
101
|
+
import { Primitive } from "./core/primitive/primitive.js";
|
|
102
|
+
import { RADIUS_PRESETS } from "./core/radius-scope/radius-scope.styles.js";
|
|
103
|
+
import { RadiusScope } from "./core/radius-scope/radius-scope.js";
|
|
104
|
+
import { ScrollArea } from "./components/scroll-area/scroll-area.js";
|
|
105
|
+
import { ScrollAreaDataAttributes } from "./components/scroll-area/scroll-area.slots.js";
|
|
106
|
+
import { Switch } from "./components/switch/switch.js";
|
|
107
|
+
import { SwitchDataAttributes } from "./components/switch/switch.slots.js";
|
|
108
|
+
import { useCopy } from "./core/use-copy.js";
|
|
109
|
+
import { useReducedMotion } from "./core/use-reduced-motion.js";
|
|
110
|
+
import { VisuallyHidden } from "./core/visually-hidden/visually-hidden.js";
|
|
111
|
+
import { NoctisProvider } from "./core/noctis-provider.js";
|
|
112
|
+
|
|
113
|
+
//#region src/index.d.ts
|
|
114
|
+
/**
|
|
115
|
+
* `@stridge/noctis` — the Noctis design system: Base UI behavior + hand-authored, framework-neutral
|
|
116
|
+
* CSS on the semantic token layer. This is the authoring substrate every primitive builds on — the
|
|
117
|
+
* lean polymorphic `Primitive` base, the `Surface` layer primitive (and its `Surface.props()` escape
|
|
118
|
+
* hatch) that owns elevation, the render utilities (`useRender`/`mergeProps`), `Icon`,
|
|
119
|
+
* `VisuallyHidden`, the unified `NoctisProvider` (CSP + theme + locale/direction), and the
|
|
120
|
+
* reduced-motion hook — plus the `Button` action, the `Sheet` overlay, and the docked `Rail`. The
|
|
121
|
+
* Tailwind class helpers (`cn`/`tv`) are an opt-in adapter at `@stridge/noctis/tailwind`.
|
|
122
|
+
*/
|
|
123
|
+
/** Package identifier — the workspace-resolution marker consumed by the app scaffold. */
|
|
124
|
+
declare const UI_PACKAGE: "@stridge/noctis";
|
|
125
|
+
//#endregion
|
|
126
|
+
export { Accordion, AccordionDataAttributes, type AccordionLevel, type AccordionSize, AlertDialog, type AlertDialogActionTone, AlertDialogDataAttributes, Autocomplete, AutocompleteDataAttributes, type AutocompleteSize, Avatar, AvatarDataAttributes, BrandLogo, Button, ButtonDataAttributes, ButtonGroup, ButtonGroupDataAttributes, Checkbox, CheckboxDataAttributes, CheckboxGroup, type ClassNameProp, CodeBlock, CodeBlockDataAttributes, Collapsible, CollapsibleDataAttributes, type ColorFormat, ColorPicker, type ColorPickerLabels, ColorSwatch, ColorSwatchPicker, Combobox, ComboboxDataAttributes, ContextMenu, ContextMenuDataAttributes, CopyButton, CopyButtonDataAttributes, Dialog, DialogDataAttributes, EMPTY_SHEET_STACK, Field, FieldDataAttributes, Fieldset, Form, Icon, type IconGlyph, InlineCode, Input, type InputAdornmentSide, type InputAdornmentVariant, InputDataAttributes, type InputSize, Kbd, Menu, MenuDataAttributes, Menubar, MenubarDataAttributes, Meter, MeterDataAttributes, NavigationMenu, NavigationMenuDataAttributes, NoctisProvider, NumberField, NumberFieldDataAttributes, OtpField, OtpFieldDataAttributes, type OtpFieldSize, type PackageManager, Popover, PopoverDataAttributes, PreviewCard, PreviewCardDataAttributes, Primitive, Progress, ProgressDataAttributes, type ProgressSize, RADIUS_PRESETS, Radio, RadioDataAttributes, RadiusScope, Rail, RailDataAttributes, ScrollArea, ScrollAreaDataAttributes, SearchDialog, SearchDialogDataAttributes, type SearchResult, Select, SelectDataAttributes, Separator, SeparatorDataAttributes, Sheet, SheetStack, type SheetStackEntry, type SheetStackEntryInput, type SheetStackManager, Slider, SliderDataAttributes, type SliderSize, Surface, Switch, SwitchDataAttributes, Table, Tabs, TabsDataAttributes, Textarea, TextareaDataAttributes, type TextareaSize, Toast, ToastDataAttributes, type ToastManager, type ToastObject, type ToastOptions, type ToastPlacement, type ToastPromiseOptions, type ToastStatusOptions, type ToastType, type ToastUpdateOptions, Toggle, ToggleDataAttributes, ToggleGroup, Toolbar, ToolbarDataAttributes, Tooltip, TooltipDataAttributes, UI_PACKAGE, VisuallyHidden, mergeClassName, mergeProps, sheetStackReducer, useCopy, useReducedMotion, useRender, useSheetStack, useSheetStackContext, useToast };
|