@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,106 @@
|
|
|
1
|
+
import { Radio } from "./radio.js";
|
|
2
|
+
|
|
3
|
+
//#region src/components/radio/radio.props.d.ts
|
|
4
|
+
/** A spreadable data-attribute prop bag — the shape every `Radio.*.props()` returns. */
|
|
5
|
+
type RadioPartProps = {
|
|
6
|
+
/** The slot value the matching `radio.css` rules anchor on. */"data-slot": string; /** Forwarded verbatim — styling is attribute-driven, so this is an optional consumer passthrough. */
|
|
7
|
+
className?: string; /** A data-attribute present (empty string) or absent (`undefined`); never `false`. */
|
|
8
|
+
[attr: `data-${string}`]: string | undefined;
|
|
9
|
+
};
|
|
10
|
+
/** Common shape: every part's `.props()` accepts an optional `className` passthrough. */
|
|
11
|
+
interface BasePropsArgs {
|
|
12
|
+
/** Forwarded verbatim onto the returned prop bag. */
|
|
13
|
+
className?: string;
|
|
14
|
+
}
|
|
15
|
+
/** Argument to `Radio.Group.props(...)` — the group has no axes of its own; gap flows from the slot. */
|
|
16
|
+
interface RadioGroupPropsArgs extends BasePropsArgs {
|
|
17
|
+
/** Layout axis — stamped as `data-orientation`; `horizontal` lays the radios in a row. @default "vertical" */
|
|
18
|
+
orientation?: Radio.Orientation;
|
|
19
|
+
/** Whether the whole group is disabled (drives the dimmed affordance via `data-disabled`). */
|
|
20
|
+
disabled?: boolean;
|
|
21
|
+
/** Whether the group's value is invalid (cascades the danger border via `data-invalid`). */
|
|
22
|
+
invalid?: boolean;
|
|
23
|
+
}
|
|
24
|
+
/** Argument to `Radio.Root.props(...)` — the box's size axis plus its checked/disabled/read-only/invalid state. */
|
|
25
|
+
interface RadioPropsArgs extends BasePropsArgs {
|
|
26
|
+
/** Box size — stamped as `data-size`, re-points the box and dot edges. @default "md" */
|
|
27
|
+
size?: Radio.Size;
|
|
28
|
+
/** Whether this radio is the selected one (draws the accent border + dot via `data-checked`). */
|
|
29
|
+
checked?: boolean;
|
|
30
|
+
/** Whether this radio is disabled (drives the dimmed affordance via `data-disabled`). */
|
|
31
|
+
disabled?: boolean;
|
|
32
|
+
/** Whether this radio is read-only (drops the pointer and hover affordance via `data-readonly`). */
|
|
33
|
+
readonly?: boolean;
|
|
34
|
+
/** Whether this radio is invalid (paints the danger border via `data-invalid`). */
|
|
35
|
+
invalid?: boolean;
|
|
36
|
+
}
|
|
37
|
+
/** Argument to `Radio.Indicator.props(...)` — the dot mirrors the box's checked state. */
|
|
38
|
+
interface RadioIndicatorPropsArgs extends BasePropsArgs {
|
|
39
|
+
/** Whether the parent radio is selected (shows the dot via `data-checked`). */
|
|
40
|
+
checked?: boolean;
|
|
41
|
+
}
|
|
42
|
+
/** Argument to `Radio.Field.props(...)` — the row pairs a box with its label; its size scales both. */
|
|
43
|
+
interface RadioFieldPropsArgs extends BasePropsArgs {
|
|
44
|
+
/** Row size — stamped as `data-size`, scales the label text and cascades to the box inside. @default "md" */
|
|
45
|
+
size?: Radio.Size;
|
|
46
|
+
}
|
|
47
|
+
/** Argument to `Radio.Label.props(...)` — the label mirrors the field's disabled / invalid state. */
|
|
48
|
+
interface RadioLabelPropsArgs extends BasePropsArgs {
|
|
49
|
+
/** Whether the field is disabled (dims the label and drops its pointer via `data-disabled`). */
|
|
50
|
+
disabled?: boolean;
|
|
51
|
+
/** Whether the field is invalid (recolours the label to danger via `data-invalid`). */
|
|
52
|
+
invalid?: boolean;
|
|
53
|
+
}
|
|
54
|
+
/** Argument to `Radio.Description.props(...)` — the helper text carries no axes of its own. */
|
|
55
|
+
type RadioDescriptionPropsArgs = BasePropsArgs;
|
|
56
|
+
/** Argument to `Radio.Card.props(...)` — the card's control-position axis. */
|
|
57
|
+
interface RadioCardPropsArgs extends BasePropsArgs {
|
|
58
|
+
/** Where the radio sits relative to the content — stamped as `data-control`. @default "leading" */
|
|
59
|
+
controlPosition?: Radio.ControlPosition;
|
|
60
|
+
/** Hide the visible dot (border-only selection) — stamped as `data-control-hidden`. @default false */
|
|
61
|
+
hideControl?: boolean;
|
|
62
|
+
}
|
|
63
|
+
/** Group prop bag: slot anchor plus the `data-orientation` axis and the `data-disabled`/`data-invalid` state. */
|
|
64
|
+
declare function groupProps({
|
|
65
|
+
orientation,
|
|
66
|
+
disabled,
|
|
67
|
+
invalid,
|
|
68
|
+
className
|
|
69
|
+
}?: RadioGroupPropsArgs): RadioPartProps;
|
|
70
|
+
/** Radio box prop bag: slot anchor plus the `data-size` and `data-checked`/`data-disabled`/`data-readonly`/`data-invalid` state. */
|
|
71
|
+
declare function radioProps({
|
|
72
|
+
size,
|
|
73
|
+
checked,
|
|
74
|
+
disabled,
|
|
75
|
+
readonly,
|
|
76
|
+
invalid,
|
|
77
|
+
className
|
|
78
|
+
}?: RadioPropsArgs): RadioPartProps;
|
|
79
|
+
/** Indicator dot prop bag: slot anchor plus the mirrored `data-checked` state. */
|
|
80
|
+
declare function indicatorProps({
|
|
81
|
+
checked,
|
|
82
|
+
className
|
|
83
|
+
}?: RadioIndicatorPropsArgs): RadioPartProps;
|
|
84
|
+
/** Field prop bag: slot anchor plus the `data-size` axis that scales the label and cascades to the box. */
|
|
85
|
+
declare function fieldProps({
|
|
86
|
+
size,
|
|
87
|
+
className
|
|
88
|
+
}?: RadioFieldPropsArgs): RadioPartProps;
|
|
89
|
+
/** Label prop bag: slot anchor plus the `data-disabled`/`data-invalid` that mirror the field state. */
|
|
90
|
+
declare function labelProps({
|
|
91
|
+
disabled,
|
|
92
|
+
invalid,
|
|
93
|
+
className
|
|
94
|
+
}?: RadioLabelPropsArgs): RadioPartProps;
|
|
95
|
+
/** Description prop bag: just the slot anchor (the muted helper text styling flows from the slot). */
|
|
96
|
+
declare function descriptionProps({
|
|
97
|
+
className
|
|
98
|
+
}?: RadioDescriptionPropsArgs): RadioPartProps;
|
|
99
|
+
/** Card prop bag: slot anchor plus the `data-control` position axis. */
|
|
100
|
+
declare function cardProps({
|
|
101
|
+
controlPosition,
|
|
102
|
+
hideControl,
|
|
103
|
+
className
|
|
104
|
+
}?: RadioCardPropsArgs): RadioPartProps;
|
|
105
|
+
//#endregion
|
|
106
|
+
export { cardProps, descriptionProps, fieldProps, groupProps, indicatorProps, labelProps, radioProps };
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { RADIO_SLOTS } from "./radio.slots.js";
|
|
2
|
+
//#region src/components/radio/radio.props.ts
|
|
3
|
+
/** Stamp a boolean state as a bare data-attribute: present (`""`) when on, absent (`undefined`) when off. */
|
|
4
|
+
const flag = (on) => on ? "" : void 0;
|
|
5
|
+
const withClassName = (bag, className) => className === void 0 ? bag : {
|
|
6
|
+
...bag,
|
|
7
|
+
className
|
|
8
|
+
};
|
|
9
|
+
/** Group prop bag: slot anchor plus the `data-orientation` axis and the `data-disabled`/`data-invalid` state. */
|
|
10
|
+
function groupProps({ orientation = "vertical", disabled, invalid, className } = {}) {
|
|
11
|
+
return withClassName({
|
|
12
|
+
"data-slot": RADIO_SLOTS.group,
|
|
13
|
+
"data-orientation": orientation,
|
|
14
|
+
"data-disabled": flag(disabled),
|
|
15
|
+
"data-invalid": flag(invalid)
|
|
16
|
+
}, className);
|
|
17
|
+
}
|
|
18
|
+
/** Radio box prop bag: slot anchor plus the `data-size` and `data-checked`/`data-disabled`/`data-readonly`/`data-invalid` state. */
|
|
19
|
+
function radioProps({ size = "md", checked, disabled, readonly, invalid, className } = {}) {
|
|
20
|
+
return withClassName({
|
|
21
|
+
"data-slot": RADIO_SLOTS.radio,
|
|
22
|
+
"data-size": size,
|
|
23
|
+
"data-checked": flag(checked),
|
|
24
|
+
"data-unchecked": flag(!checked),
|
|
25
|
+
"data-disabled": flag(disabled),
|
|
26
|
+
"data-readonly": flag(readonly),
|
|
27
|
+
"data-invalid": flag(invalid)
|
|
28
|
+
}, className);
|
|
29
|
+
}
|
|
30
|
+
/** Indicator dot prop bag: slot anchor plus the mirrored `data-checked` state. */
|
|
31
|
+
function indicatorProps({ checked, className } = {}) {
|
|
32
|
+
return withClassName({
|
|
33
|
+
"data-slot": RADIO_SLOTS.indicator,
|
|
34
|
+
"data-checked": flag(checked)
|
|
35
|
+
}, className);
|
|
36
|
+
}
|
|
37
|
+
/** Field prop bag: slot anchor plus the `data-size` axis that scales the label and cascades to the box. */
|
|
38
|
+
function fieldProps({ size = "md", className } = {}) {
|
|
39
|
+
return withClassName({
|
|
40
|
+
"data-slot": RADIO_SLOTS.field,
|
|
41
|
+
"data-size": size
|
|
42
|
+
}, className);
|
|
43
|
+
}
|
|
44
|
+
/** Label prop bag: slot anchor plus the `data-disabled`/`data-invalid` that mirror the field state. */
|
|
45
|
+
function labelProps({ disabled, invalid, className } = {}) {
|
|
46
|
+
return withClassName({
|
|
47
|
+
"data-slot": RADIO_SLOTS.label,
|
|
48
|
+
"data-disabled": flag(disabled),
|
|
49
|
+
"data-invalid": flag(invalid)
|
|
50
|
+
}, className);
|
|
51
|
+
}
|
|
52
|
+
/** Description prop bag: just the slot anchor (the muted helper text styling flows from the slot). */
|
|
53
|
+
function descriptionProps({ className } = {}) {
|
|
54
|
+
return withClassName({ "data-slot": RADIO_SLOTS.description }, className);
|
|
55
|
+
}
|
|
56
|
+
/** Card prop bag: slot anchor plus the `data-control` position axis. */
|
|
57
|
+
function cardProps({ controlPosition = "leading", hideControl, className } = {}) {
|
|
58
|
+
return withClassName({
|
|
59
|
+
"data-slot": RADIO_SLOTS.card,
|
|
60
|
+
"data-control": controlPosition,
|
|
61
|
+
"data-control-hidden": flag(hideControl)
|
|
62
|
+
}, className);
|
|
63
|
+
}
|
|
64
|
+
//#endregion
|
|
65
|
+
export { cardProps, descriptionProps, fieldProps, groupProps, indicatorProps, labelProps, radioProps };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
//#region src/components/radio/radio.slots.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* The `data-*` attributes a `Radio` exposes. Base UI stamps the live state attributes the CSS keys
|
|
4
|
+
* off; each member's JSDoc is the description docgen renders into the attributes table.
|
|
5
|
+
*/
|
|
6
|
+
declare enum RadioDataAttributes {
|
|
7
|
+
/** The styling/testing hook: the part's stable slot name. */
|
|
8
|
+
slot = "data-slot",
|
|
9
|
+
/** Size axis on the radio box — `sm` | `md` | `lg`; re-points the box and dot edges. */
|
|
10
|
+
size = "data-size",
|
|
11
|
+
/** Layout axis on the group — `vertical` | `horizontal`; switches the row/column flow. */
|
|
12
|
+
orientation = "data-orientation",
|
|
13
|
+
/** Present on the selected radio box (and its indicator). */
|
|
14
|
+
checked = "data-checked",
|
|
15
|
+
/** Present on an unselected radio box. */
|
|
16
|
+
unchecked = "data-unchecked",
|
|
17
|
+
/** Present on a disabled radio or group. */
|
|
18
|
+
disabled = "data-disabled",
|
|
19
|
+
/** Present on a read-only radio — valid and announced, but not editable. */
|
|
20
|
+
readonly = "data-readonly",
|
|
21
|
+
/** Present on an invalid radio (and on a group flagged `invalid`); also honours `aria-invalid`. */
|
|
22
|
+
invalid = "data-invalid",
|
|
23
|
+
/** On a `Radio.Card`, where the control sits — `leading` | `trailing`. */
|
|
24
|
+
control = "data-control",
|
|
25
|
+
/** On a `Radio.Card` with `hideControl`, marks the dot hidden so the accent edge is the only signal. */
|
|
26
|
+
controlHidden = "data-control-hidden"
|
|
27
|
+
}
|
|
28
|
+
//#endregion
|
|
29
|
+
export { RadioDataAttributes };
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
//#region src/components/radio/radio.slots.ts
|
|
2
|
+
/**
|
|
3
|
+
* The slot vocabulary every `Radio` part stamps as its `data-slot`. The authored source the
|
|
4
|
+
* orchestration files read from, kebab-cased `{component}-{part}`; SLOTS.md still generates from the
|
|
5
|
+
* token-graph declarations.
|
|
6
|
+
*/
|
|
7
|
+
const RADIO_SLOTS = {
|
|
8
|
+
group: "noctis-radio-group",
|
|
9
|
+
radio: "noctis-radio",
|
|
10
|
+
indicator: "noctis-radio-indicator",
|
|
11
|
+
field: "noctis-radio-field",
|
|
12
|
+
label: "noctis-radio-label",
|
|
13
|
+
description: "noctis-radio-description",
|
|
14
|
+
card: "noctis-radio-card"
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* The `data-*` attributes a `Radio` exposes. Base UI stamps the live state attributes the CSS keys
|
|
18
|
+
* off; each member's JSDoc is the description docgen renders into the attributes table.
|
|
19
|
+
*/
|
|
20
|
+
let RadioDataAttributes = /* @__PURE__ */ function(RadioDataAttributes) {
|
|
21
|
+
/** The styling/testing hook: the part's stable slot name. */
|
|
22
|
+
RadioDataAttributes["slot"] = "data-slot";
|
|
23
|
+
/** Size axis on the radio box — `sm` | `md` | `lg`; re-points the box and dot edges. */
|
|
24
|
+
RadioDataAttributes["size"] = "data-size";
|
|
25
|
+
/** Layout axis on the group — `vertical` | `horizontal`; switches the row/column flow. */
|
|
26
|
+
RadioDataAttributes["orientation"] = "data-orientation";
|
|
27
|
+
/** Present on the selected radio box (and its indicator). */
|
|
28
|
+
RadioDataAttributes["checked"] = "data-checked";
|
|
29
|
+
/** Present on an unselected radio box. */
|
|
30
|
+
RadioDataAttributes["unchecked"] = "data-unchecked";
|
|
31
|
+
/** Present on a disabled radio or group. */
|
|
32
|
+
RadioDataAttributes["disabled"] = "data-disabled";
|
|
33
|
+
/** Present on a read-only radio — valid and announced, but not editable. */
|
|
34
|
+
RadioDataAttributes["readonly"] = "data-readonly";
|
|
35
|
+
/** Present on an invalid radio (and on a group flagged `invalid`); also honours `aria-invalid`. */
|
|
36
|
+
RadioDataAttributes["invalid"] = "data-invalid";
|
|
37
|
+
/** On a `Radio.Card`, where the control sits — `leading` | `trailing`. */
|
|
38
|
+
RadioDataAttributes["control"] = "data-control";
|
|
39
|
+
/** On a `Radio.Card` with `hideControl`, marks the dot hidden so the accent edge is the only signal. */
|
|
40
|
+
RadioDataAttributes["controlHidden"] = "data-control-hidden";
|
|
41
|
+
return RadioDataAttributes;
|
|
42
|
+
}({});
|
|
43
|
+
//#endregion
|
|
44
|
+
export { RADIO_SLOTS, RadioDataAttributes };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
//#region src/components/rail/rail.context.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Which edge the rail docks to, and the side its divider faces the content (logical, so it mirrors
|
|
4
|
+
* under RTL). Re-homed here from the now-deleted `rail.styles.ts` so the component, props, and context
|
|
5
|
+
* share one import site without a cycle through `rail.tsx`.
|
|
6
|
+
*/
|
|
7
|
+
type RailSide = "start" | "end";
|
|
8
|
+
/** The rail's width — re-points the size-keyed `--_rail-panel-width` token on the panel. */
|
|
9
|
+
type RailSize = "xs" | "sm" | "md" | "lg";
|
|
10
|
+
/**
|
|
11
|
+
* How an open rail affects the content beside it (see `Rail.Layout`):
|
|
12
|
+
* - `squeeze` — the content's width shrinks; it re-lays-out into the narrower space.
|
|
13
|
+
* - `push` — the content keeps its width and slides over; nothing reflows, the overflow is clipped.
|
|
14
|
+
*/
|
|
15
|
+
type RailVariant = "squeeze" | "push";
|
|
16
|
+
//#endregion
|
|
17
|
+
export { RailSide, RailSize, RailVariant };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { createContext, use } from "react";
|
|
3
|
+
//#region src/components/rail/rail.context.ts
|
|
4
|
+
const RailLayoutContext = createContext(null);
|
|
5
|
+
/** Provided by `Rail.Layout`; carries the reflow `variant`, docking `side`, and `size` to the parts. */
|
|
6
|
+
const RailLayoutProvider = RailLayoutContext.Provider;
|
|
7
|
+
/**
|
|
8
|
+
* Read the surrounding `Rail.Layout`, or `null` when a part renders standalone (a lone `Rail.Panel`
|
|
9
|
+
* docks to the viewport edge, a bare `Rail.Content` lays out on its own) — there is a sensible default,
|
|
10
|
+
* so this never throws.
|
|
11
|
+
*/
|
|
12
|
+
function useRailLayout() {
|
|
13
|
+
return use(RailLayoutContext);
|
|
14
|
+
}
|
|
15
|
+
const RailTitleContext = createContext(null);
|
|
16
|
+
/** Provided by `Rail.Panel`; carries the generated title id so a `Rail.Title` names the panel. */
|
|
17
|
+
const RailTitleProvider = RailTitleContext.Provider;
|
|
18
|
+
/** Read the panel's generated title id, or `null` for a `Rail.Title` rendered outside a `Rail.Panel`. */
|
|
19
|
+
function useRailTitleId() {
|
|
20
|
+
return use(RailTitleContext);
|
|
21
|
+
}
|
|
22
|
+
//#endregion
|
|
23
|
+
export { RailLayoutProvider, RailTitleProvider, useRailLayout, useRailTitleId };
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
import { collapsible_d_exports } from "../../primitives/collapsible.js";
|
|
2
|
+
import { RailSide, RailSize, RailVariant } from "./rail.context.js";
|
|
3
|
+
import { RailPartProps, bodyProps, closeProps, contentProps, headerProps, layoutProps, panelProps, rootProps, surfaceProps, titleProps, triggerProps } from "./rail.props.js";
|
|
4
|
+
import { ComponentProps, ReactElement } from "react";
|
|
5
|
+
|
|
6
|
+
//#region src/components/rail/rail.d.ts
|
|
7
|
+
/**
|
|
8
|
+
* Groups the parts and owns open state — controlled via `open`/`onOpenChange`, or uncontrolled via
|
|
9
|
+
* `defaultOpen` — on Base UI's Collapsible. Unlike a modal sheet, the rail is non-modal: no backdrop,
|
|
10
|
+
* no focus trap, no `Escape`-to-close. It renders transparently (`display: contents`) so the `Layout`
|
|
11
|
+
* (or a lone `Panel`) becomes the surrounding layout's child directly.
|
|
12
|
+
*
|
|
13
|
+
* Slot: `noctis-rail`.
|
|
14
|
+
* @see {@link Rail.Root.Props}
|
|
15
|
+
*/
|
|
16
|
+
declare function RailRoot({
|
|
17
|
+
className,
|
|
18
|
+
...props
|
|
19
|
+
}: Rail.Root.Props): ReactElement;
|
|
20
|
+
/**
|
|
21
|
+
* A button that toggles the rail. Base UI wires `aria-expanded` and `aria-controls` to the panel.
|
|
22
|
+
*
|
|
23
|
+
* Slot: `noctis-rail-trigger`.
|
|
24
|
+
* @see {@link Rail.Trigger.Props}
|
|
25
|
+
*/
|
|
26
|
+
declare function RailTrigger({
|
|
27
|
+
className,
|
|
28
|
+
...props
|
|
29
|
+
}: Rail.Trigger.Props): ReactElement;
|
|
30
|
+
/**
|
|
31
|
+
* The docking row: lays the content and the rail side by side and sets the reflow `variant` so an
|
|
32
|
+
* open rail reshapes the content beside it. Place a `Rail.Content` and a `Rail.Panel` inside. Use this
|
|
33
|
+
* to dock a rail inside a region; drop a `Rail.Panel` on its own (no `Layout`) to dock it to the
|
|
34
|
+
* viewport edge instead.
|
|
35
|
+
*
|
|
36
|
+
* Slot: `noctis-rail-layout`.
|
|
37
|
+
* @see {@link Rail.Layout.Props}
|
|
38
|
+
*/
|
|
39
|
+
declare function RailLayout({
|
|
40
|
+
variant,
|
|
41
|
+
side,
|
|
42
|
+
size,
|
|
43
|
+
className,
|
|
44
|
+
style,
|
|
45
|
+
...props
|
|
46
|
+
}: Rail.Layout.Props): ReactElement;
|
|
47
|
+
/**
|
|
48
|
+
* The content beside the rail inside a `Rail.Layout`. Reshapes per the layout's `variant` when open.
|
|
49
|
+
*
|
|
50
|
+
* Slot: `noctis-rail-content`.
|
|
51
|
+
* @see {@link Rail.Content.Props}
|
|
52
|
+
*/
|
|
53
|
+
declare function RailContent({
|
|
54
|
+
className,
|
|
55
|
+
...props
|
|
56
|
+
}: Rail.Content.Props): ReactElement;
|
|
57
|
+
/**
|
|
58
|
+
* The docked rail itself: a `Collapsible.Panel` rendered as an `aside` (a complementary landmark).
|
|
59
|
+
* Kept mounted while closed and hidden via Base UI, so it leaves the layout and the a11y tree without
|
|
60
|
+
* losing its content. Drop `Rail.Header`/`Rail.Body` inside; a `Rail.Title` names it automatically via
|
|
61
|
+
* `aria-labelledby`. Inside a `Rail.Layout` it docks in that layout's cell; on its own it docks to the
|
|
62
|
+
* viewport edge. `side`/`size` default to the surrounding `Rail.Layout`'s.
|
|
63
|
+
*
|
|
64
|
+
* Slots: `noctis-rail-panel` (the collapsible), `noctis-rail-surface` (the inner surface).
|
|
65
|
+
* @see {@link Rail.Panel.Props}
|
|
66
|
+
*/
|
|
67
|
+
declare function RailPanel({
|
|
68
|
+
side,
|
|
69
|
+
size,
|
|
70
|
+
keepMounted,
|
|
71
|
+
className,
|
|
72
|
+
children,
|
|
73
|
+
"aria-label": ariaLabel,
|
|
74
|
+
"aria-labelledby": ariaLabelledby,
|
|
75
|
+
...props
|
|
76
|
+
}: Rail.Panel.Props): ReactElement;
|
|
77
|
+
/**
|
|
78
|
+
* A ghost icon button that closes the rail. Defaults its glyph to a lucide `X` and its name to the
|
|
79
|
+
* translated "Close"; pass `children` to swap the glyph or `aria-label` to override the name.
|
|
80
|
+
*
|
|
81
|
+
* Slot: `noctis-rail-close`.
|
|
82
|
+
* @see {@link Rail.Close.Props}
|
|
83
|
+
*/
|
|
84
|
+
declare function RailClose({
|
|
85
|
+
className,
|
|
86
|
+
children,
|
|
87
|
+
"aria-label": ariaLabel,
|
|
88
|
+
...props
|
|
89
|
+
}: Rail.Close.Props): ReactElement;
|
|
90
|
+
/**
|
|
91
|
+
* The rail's top region — title and corner actions. Separated by a divider.
|
|
92
|
+
*
|
|
93
|
+
* Slot: `noctis-rail-header`.
|
|
94
|
+
* @see {@link Rail.Header.Props}
|
|
95
|
+
*/
|
|
96
|
+
declare function RailHeader({
|
|
97
|
+
className,
|
|
98
|
+
...props
|
|
99
|
+
}: Rail.Header.Props): ReactElement;
|
|
100
|
+
/**
|
|
101
|
+
* The scrollable middle region. Grows to fill and scrolls its overflow so the header stays put.
|
|
102
|
+
*
|
|
103
|
+
* Slot: `noctis-rail-body`.
|
|
104
|
+
* @see {@link Rail.Body.Props}
|
|
105
|
+
*/
|
|
106
|
+
declare function RailBody({
|
|
107
|
+
className,
|
|
108
|
+
...props
|
|
109
|
+
}: Rail.Body.Props): ReactElement;
|
|
110
|
+
/**
|
|
111
|
+
* The accessible name of the rail, linked to the panel via `aria-labelledby`. Renders an `<h2>`.
|
|
112
|
+
*
|
|
113
|
+
* Slot: `noctis-rail-title`.
|
|
114
|
+
* @see {@link Rail.Title.Props}
|
|
115
|
+
*/
|
|
116
|
+
declare function RailTitle({
|
|
117
|
+
className,
|
|
118
|
+
children,
|
|
119
|
+
...props
|
|
120
|
+
}: Rail.Title.Props): ReactElement;
|
|
121
|
+
/**
|
|
122
|
+
* A docked, collapsible side rail — a non-modal panel that lives in the layout rather than over it.
|
|
123
|
+
*
|
|
124
|
+
* **Rail vs. Sheet.** Reach for a `Sheet` when the panel is a *modal task*: it overlays the page on a
|
|
125
|
+
* dimmed backdrop, traps focus, and closes on `Escape`/outside-click — the page behind is inert until
|
|
126
|
+
* it's dismissed. Reach for a `Rail` when the panel is a *persistent companion* to the page (an
|
|
127
|
+
* inspector, a filter rail, a settings panel): it docks beside the content and **reshapes** it instead
|
|
128
|
+
* of covering it, so the page stays fully usable with the rail open. No backdrop, no focus trap, no
|
|
129
|
+
* `Escape`-to-close.
|
|
130
|
+
*
|
|
131
|
+
* **Two reflow variants** (set on {@link Rail.Layout}): `squeeze` shrinks the content's width so it
|
|
132
|
+
* re-lays-out into the narrower space; `push` keeps the content's width and slides it over, clipping
|
|
133
|
+
* the overflow. Both keep the content interactive — that's the line between a rail and a sheet.
|
|
134
|
+
*
|
|
135
|
+
* **Docking.** Wrap a `Rail.Content` and a `Rail.Panel` in a `Rail.Layout` to dock the rail inside a
|
|
136
|
+
* region. Or drop a `Rail.Panel` straight into the page (no `Layout`) to dock it full-height to the
|
|
137
|
+
* viewport edge — reflowing on large screens, overlaying the edge on small ones.
|
|
138
|
+
*
|
|
139
|
+
* Compose it from parts: `Rail.Root` owns state, `Rail.Trigger` toggles it, `Rail.Layout` +
|
|
140
|
+
* `Rail.Content` set up the reflow, and `Rail.Panel` holds `Header`/`Body`, `Title`, and `Close`.
|
|
141
|
+
*
|
|
142
|
+
* Built on Base UI's Collapsible for the open/close behavior, measured-size animation, and a11y; the
|
|
143
|
+
* runtime compound is a plain object (kept tree-shakeable), with per-part prop types exposed through
|
|
144
|
+
* the matching `Rail` namespace below — e.g. `Rail.Panel.Props`.
|
|
145
|
+
*/
|
|
146
|
+
declare const Rail: {
|
|
147
|
+
/** Groups the parts and owns open state. `Rail.Root.props()` → its spreadable prop bag. */Root: typeof RailRoot & {
|
|
148
|
+
props: typeof rootProps;
|
|
149
|
+
}; /** Toggles the rail. `Rail.Trigger.props()` → its spreadable prop bag. */
|
|
150
|
+
Trigger: typeof RailTrigger & {
|
|
151
|
+
props: typeof triggerProps;
|
|
152
|
+
}; /** The docking row. `Rail.Layout.props({ variant })` → its spreadable prop bag. */
|
|
153
|
+
Layout: typeof RailLayout & {
|
|
154
|
+
props: typeof layoutProps;
|
|
155
|
+
}; /** The content beside the rail. `Rail.Content.props({ variant, side })` → its spreadable prop bag. */
|
|
156
|
+
Content: typeof RailContent & {
|
|
157
|
+
props: typeof contentProps;
|
|
158
|
+
}; /** The docked rail. `Rail.Panel.props({ docking, variant, side, size })` → its spreadable prop bag. */
|
|
159
|
+
Panel: typeof RailPanel & {
|
|
160
|
+
props: typeof panelProps;
|
|
161
|
+
}; /** The ghost-icon close button. `Rail.Close.props()` → its spreadable prop bag. */
|
|
162
|
+
Close: typeof RailClose & {
|
|
163
|
+
props: typeof closeProps;
|
|
164
|
+
}; /** The header region. `Rail.Header.props()` → its spreadable prop bag. */
|
|
165
|
+
Header: typeof RailHeader & {
|
|
166
|
+
props: typeof headerProps;
|
|
167
|
+
}; /** The scrollable body. `Rail.Body.props()` → its spreadable prop bag. */
|
|
168
|
+
Body: typeof RailBody & {
|
|
169
|
+
props: typeof bodyProps;
|
|
170
|
+
}; /** The accessible name. `Rail.Title.props()` → its spreadable prop bag. */
|
|
171
|
+
Title: typeof RailTitle & {
|
|
172
|
+
props: typeof titleProps;
|
|
173
|
+
}; /** The inner surface escape-hatch. `Rail.Surface.props({ side })` → its spreadable prop bag. */
|
|
174
|
+
Surface: {
|
|
175
|
+
props: typeof surfaceProps;
|
|
176
|
+
};
|
|
177
|
+
};
|
|
178
|
+
/**
|
|
179
|
+
* Per-part prop and state types, mirroring Base UI's `Component.Part.Props` convention. This namespace
|
|
180
|
+
* is types-only — it emits no runtime code and merges with the `Rail` object above, so `Rail.Panel` is
|
|
181
|
+
* the component value while `Rail.Panel.Props` is its prop type.
|
|
182
|
+
*/
|
|
183
|
+
declare namespace Rail {
|
|
184
|
+
/** How an open rail reshapes the surrounding content. */
|
|
185
|
+
type Variant = RailVariant;
|
|
186
|
+
/** Which edge the rail docks to. */
|
|
187
|
+
type Side = RailSide;
|
|
188
|
+
/** The rail's open extent — width when docked left/right, height when docked top/bottom. */
|
|
189
|
+
type Size = RailSize;
|
|
190
|
+
/** The spreadable data-attribute prop bag every `Rail.*.props()` returns (D12). */
|
|
191
|
+
type PartProps = RailPartProps;
|
|
192
|
+
namespace Root {
|
|
193
|
+
type Props = collapsible_d_exports.Collapsible.Root.Props;
|
|
194
|
+
type State = collapsible_d_exports.Collapsible.Root.State;
|
|
195
|
+
}
|
|
196
|
+
namespace Trigger {
|
|
197
|
+
type Props = collapsible_d_exports.Collapsible.Trigger.Props;
|
|
198
|
+
type State = collapsible_d_exports.Collapsible.Trigger.State;
|
|
199
|
+
}
|
|
200
|
+
namespace Layout {
|
|
201
|
+
type Props = ComponentProps<"div"> & {
|
|
202
|
+
/** How an open rail reshapes the content. Defaults to `squeeze`. */variant?: RailVariant; /** Which edge the rail docks to. Defaults to `end`. Inherited by `Content`/`Panel`. */
|
|
203
|
+
side?: RailSide; /** The rail's width — also the `push` slide distance. Defaults to `md`. Inherited by `Panel`. */
|
|
204
|
+
size?: RailSize;
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
namespace Content {
|
|
208
|
+
type Props = ComponentProps<"div">;
|
|
209
|
+
}
|
|
210
|
+
namespace Panel {
|
|
211
|
+
type Props = collapsible_d_exports.Collapsible.Panel.Props & {
|
|
212
|
+
/** Which edge to dock to. Defaults to the `Rail.Layout`'s, then `end`. */side?: RailSide; /** The rail's width. Defaults to the `Rail.Layout`'s, then `md`. */
|
|
213
|
+
size?: RailSize;
|
|
214
|
+
};
|
|
215
|
+
type State = collapsible_d_exports.Collapsible.Panel.State;
|
|
216
|
+
}
|
|
217
|
+
namespace Close {
|
|
218
|
+
type Props = collapsible_d_exports.Collapsible.Trigger.Props;
|
|
219
|
+
type State = collapsible_d_exports.Collapsible.Trigger.State;
|
|
220
|
+
}
|
|
221
|
+
namespace Header {
|
|
222
|
+
type Props = ComponentProps<"div">;
|
|
223
|
+
}
|
|
224
|
+
namespace Body {
|
|
225
|
+
type Props = ComponentProps<"div">;
|
|
226
|
+
}
|
|
227
|
+
namespace Title {
|
|
228
|
+
type Props = ComponentProps<"h2">;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
//#endregion
|
|
232
|
+
export { Rail };
|