@cascivo/react 0.14.0 → 0.16.1
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 +8 -3
- package/dist/accordion/accordion.css +1 -1
- package/dist/accordion/accordion.js +81 -65
- package/dist/accordion/accordion.module.js +6 -9
- package/dist/action-sheet/action-sheet.js +11 -11
- package/dist/action-sheet/action-sheet.module.js +0 -2
- package/dist/alert/alert.module.js +0 -2
- package/dist/alert-dialog/alert-dialog.css +1 -1
- package/dist/alert-dialog/alert-dialog.js +6 -6
- package/dist/alert-dialog/alert-dialog.module.js +7 -9
- package/dist/app-shell/app-shell.js +10 -10
- package/dist/app-shell/app-shell.module.js +0 -2
- package/dist/aspect-ratio/aspect-ratio.js +1 -3
- package/dist/aspect-ratio/aspect-ratio.module.js +0 -2
- package/dist/avatar/avatar.module.js +0 -2
- package/dist/avatar-group/avatar-group.js +1 -3
- package/dist/avatar-group/avatar-group.module.js +0 -2
- package/dist/badge/badge.js +2 -4
- package/dist/badge/badge.module.js +0 -2
- package/dist/blockquote/blockquote.js +1 -3
- package/dist/blockquote/blockquote.module.js +0 -2
- package/dist/bottom-sheet/bottom-sheet.js +12 -12
- package/dist/bottom-sheet/bottom-sheet.module.js +0 -2
- package/dist/breadcrumb/breadcrumb.module.js +0 -2
- package/dist/button/button.js +1 -3
- package/dist/button/button.module.js +0 -2
- package/dist/button-group/button-group.js +6 -6
- package/dist/button-group/button-group.module.js +0 -2
- package/dist/calendar/calendar.module.js +0 -2
- package/dist/card/card.js +1 -3
- package/dist/card/card.module.js +0 -2
- package/dist/carousel/carousel.js +9 -9
- package/dist/carousel/carousel.module.js +0 -2
- package/dist/chat-bubble/chat-bubble.js +0 -2
- package/dist/chat-bubble/chat-bubble.module.js +0 -2
- package/dist/checkbox/checkbox.js +10 -10
- package/dist/checkbox/checkbox.module.js +0 -2
- package/dist/checkbox-card/checkbox-card.js +5 -5
- package/dist/checkbox-card/checkbox-card.module.js +0 -2
- package/dist/code/code.js +1 -3
- package/dist/code/code.module.js +0 -2
- package/dist/code-snippet/code-snippet.module.js +0 -2
- package/dist/code-snippet/highlight.js +0 -2
- package/dist/collapsible/collapsible.css +1 -1
- package/dist/collapsible/collapsible.js +36 -31
- package/dist/collapsible/collapsible.module.js +3 -6
- package/dist/color-picker/color-picker.js +7 -7
- package/dist/color-picker/color-picker.module.js +0 -2
- package/dist/combobox/combobox.css +1 -1
- package/dist/combobox/combobox.js +11 -11
- package/dist/combobox/combobox.module.js +15 -17
- package/dist/command-menu/command-menu.js +113 -113
- package/dist/command-menu/command-menu.module.js +0 -2
- package/dist/comparison/comparison.js +5 -5
- package/dist/comparison/comparison.module.js +0 -2
- package/dist/contained-list/contained-list.module.js +0 -2
- package/dist/context-menu/context-menu.js +42 -38
- package/dist/context-menu/context-menu.module.js +0 -2
- package/dist/copy-button/copy-button.js +7 -7
- package/dist/copy-button/copy-button.module.js +0 -2
- package/dist/data-list/data-list.js +1 -3
- package/dist/data-list/data-list.module.js +0 -2
- package/dist/data-table/data-table.css +1 -1
- package/dist/data-table/data-table.js +164 -164
- package/dist/data-table/data-table.module.js +29 -31
- package/dist/date-picker/date-picker.css +1 -1
- package/dist/date-picker/date-picker.js +24 -24
- package/dist/date-picker/date-picker.module.js +19 -21
- package/dist/date-range-picker/date-range-picker.js +30 -30
- package/dist/date-range-picker/date-range-picker.module.js +0 -2
- package/dist/dock/dock.module.js +0 -2
- package/dist/drawer/drawer.js +11 -11
- package/dist/drawer/drawer.module.js +0 -2
- package/dist/dropdown/dropdown.js +14 -14
- package/dist/dropdown/dropdown.module.js +0 -2
- package/dist/editable/editable.css +1 -1
- package/dist/editable/editable.js +8 -8
- package/dist/editable/editable.module.js +7 -9
- package/dist/empty-state/empty-state.js +1 -3
- package/dist/empty-state/empty-state.module.js +0 -2
- package/dist/fab/fab.js +12 -12
- package/dist/fab/fab.module.js +0 -2
- package/dist/field/field.js +1 -3
- package/dist/field/field.module.js +0 -2
- package/dist/file-uploader/file-uploader.css +1 -1
- package/dist/file-uploader/file-uploader.js +5 -5
- package/dist/file-uploader/file-uploader.module.js +14 -16
- package/dist/filter/filter.module.js +0 -2
- package/dist/form/form.module.js +0 -2
- package/dist/header/header.module.js +0 -2
- package/dist/header-panel/header-panel.js +8 -8
- package/dist/header-panel/header-panel.module.js +0 -2
- package/dist/heading/heading.js +1 -3
- package/dist/heading/heading.module.js +0 -2
- package/dist/hover-card/hover-card.js +18 -18
- package/dist/hover-card/hover-card.module.js +0 -2
- package/dist/icon-button/icon-button.js +1 -3
- package/dist/icon-button/icon-button.module.js +0 -2
- package/dist/image/image.module.js +0 -2
- package/dist/index.d.ts +353 -163
- package/dist/index.js +0 -1
- package/dist/indicator/indicator.js +0 -2
- package/dist/indicator/indicator.module.js +0 -2
- package/dist/infinite-scroll/infinite-scroll.css +1 -0
- package/dist/infinite-scroll/infinite-scroll.js +49 -0
- package/dist/infinite-scroll/infinite-scroll.module.js +8 -0
- package/dist/inline-loading/inline-loading.js +1 -3
- package/dist/inline-loading/inline-loading.module.js +0 -2
- package/dist/input/input.js +11 -11
- package/dist/input/input.module.js +0 -2
- package/dist/input-group/input-group.js +1 -3
- package/dist/input-group/input-group.module.js +0 -2
- package/dist/item/item.js +1 -3
- package/dist/item/item.module.js +0 -2
- package/dist/join/join.js +0 -2
- package/dist/join/join.module.js +0 -2
- package/dist/kbd/kbd.js +1 -3
- package/dist/kbd/kbd.module.js +0 -2
- package/dist/label/label.js +1 -3
- package/dist/label/label.module.js +0 -2
- package/dist/large-title-header/large-title-header.css +1 -0
- package/dist/large-title-header/large-title-header.js +38 -0
- package/dist/large-title-header/large-title-header.module.js +13 -0
- package/dist/layouts/src/auto-grid/auto-grid.js +1 -3
- package/dist/layouts/src/auto-grid/auto-grid.module.js +0 -2
- package/dist/layouts/src/center/center.js +1 -3
- package/dist/layouts/src/center/center.module.js +0 -2
- package/dist/layouts/src/columns/columns.js +1 -3
- package/dist/layouts/src/columns/columns.module.js +0 -2
- package/dist/layouts/src/flex/flex.js +1 -3
- package/dist/layouts/src/flex/flex.module.js +0 -2
- package/dist/layouts/src/grid/grid.js +1 -3
- package/dist/layouts/src/grid/grid.module.js +0 -2
- package/dist/layouts/src/page-header/page-header.css +1 -1
- package/dist/layouts/src/page-header/page-header.js +1 -3
- package/dist/layouts/src/page-header/page-header.module.js +6 -8
- package/dist/layouts/src/spacer/spacer.js +1 -3
- package/dist/layouts/src/spacer/spacer.module.js +0 -2
- package/dist/link/link.css +1 -1
- package/dist/link/link.js +1 -3
- package/dist/link/link.module.js +1 -3
- package/dist/list/list.js +1 -3
- package/dist/list/list.module.js +0 -2
- package/dist/log-viewer/log-viewer.js +15 -15
- package/dist/log-viewer/log-viewer.module.js +0 -2
- package/dist/menu/menu.js +52 -47
- package/dist/menu/menu.module.js +0 -2
- package/dist/menu-button/menu-button.js +8 -8
- package/dist/menu-button/menu-button.module.js +0 -2
- package/dist/menubar/menubar.js +24 -24
- package/dist/menubar/menubar.module.js +0 -2
- package/dist/modal/modal.js +9 -9
- package/dist/modal/modal.module.js +0 -2
- package/dist/multi-select/multi-select.css +1 -1
- package/dist/multi-select/multi-select.js +8 -8
- package/dist/multi-select/multi-select.module.js +11 -13
- package/dist/native-select/native-select.js +1 -3
- package/dist/native-select/native-select.module.js +0 -2
- package/dist/navigation-menu/navigation-menu.js +26 -26
- package/dist/navigation-menu/navigation-menu.module.js +0 -2
- package/dist/node/accordion/accordion.js +81 -65
- package/dist/node/accordion/accordion.module.js +6 -9
- package/dist/node/action-sheet/action-sheet.js +11 -11
- package/dist/node/action-sheet/action-sheet.module.js +0 -2
- package/dist/node/alert/alert.module.js +0 -2
- package/dist/node/alert-dialog/alert-dialog.js +6 -6
- package/dist/node/alert-dialog/alert-dialog.module.js +7 -9
- package/dist/node/app-shell/app-shell.js +10 -10
- package/dist/node/app-shell/app-shell.module.js +0 -2
- package/dist/node/aspect-ratio/aspect-ratio.js +1 -3
- package/dist/node/aspect-ratio/aspect-ratio.module.js +0 -2
- package/dist/node/avatar/avatar.module.js +0 -2
- package/dist/node/avatar-group/avatar-group.js +1 -3
- package/dist/node/avatar-group/avatar-group.module.js +0 -2
- package/dist/node/badge/badge.js +2 -4
- package/dist/node/badge/badge.module.js +0 -2
- package/dist/node/blockquote/blockquote.js +1 -3
- package/dist/node/blockquote/blockquote.module.js +0 -2
- package/dist/node/bottom-sheet/bottom-sheet.js +12 -12
- package/dist/node/bottom-sheet/bottom-sheet.module.js +0 -2
- package/dist/node/breadcrumb/breadcrumb.module.js +0 -2
- package/dist/node/button/button.js +1 -3
- package/dist/node/button/button.module.js +0 -2
- package/dist/node/button-group/button-group.js +6 -6
- package/dist/node/button-group/button-group.module.js +0 -2
- package/dist/node/calendar/calendar.module.js +0 -2
- package/dist/node/card/card.js +1 -3
- package/dist/node/card/card.module.js +0 -2
- package/dist/node/carousel/carousel.js +9 -9
- package/dist/node/carousel/carousel.module.js +0 -2
- package/dist/node/chat-bubble/chat-bubble.js +0 -2
- package/dist/node/chat-bubble/chat-bubble.module.js +0 -2
- package/dist/node/checkbox/checkbox.js +10 -10
- package/dist/node/checkbox/checkbox.module.js +0 -2
- package/dist/node/checkbox-card/checkbox-card.js +5 -5
- package/dist/node/checkbox-card/checkbox-card.module.js +0 -2
- package/dist/node/code/code.js +1 -3
- package/dist/node/code/code.module.js +0 -2
- package/dist/node/code-snippet/code-snippet.module.js +0 -2
- package/dist/node/code-snippet/highlight.js +0 -2
- package/dist/node/collapsible/collapsible.js +36 -31
- package/dist/node/collapsible/collapsible.module.js +3 -6
- package/dist/node/color-picker/color-picker.js +7 -7
- package/dist/node/color-picker/color-picker.module.js +0 -2
- package/dist/node/combobox/combobox.js +11 -11
- package/dist/node/combobox/combobox.module.js +15 -17
- package/dist/node/command-menu/command-menu.js +113 -113
- package/dist/node/command-menu/command-menu.module.js +0 -2
- package/dist/node/comparison/comparison.js +5 -5
- package/dist/node/comparison/comparison.module.js +0 -2
- package/dist/node/contained-list/contained-list.module.js +0 -2
- package/dist/node/context-menu/context-menu.js +42 -38
- package/dist/node/context-menu/context-menu.module.js +0 -2
- package/dist/node/copy-button/copy-button.js +7 -7
- package/dist/node/copy-button/copy-button.module.js +0 -2
- package/dist/node/data-list/data-list.js +1 -3
- package/dist/node/data-list/data-list.module.js +0 -2
- package/dist/node/data-table/data-table.js +164 -164
- package/dist/node/data-table/data-table.module.js +29 -31
- package/dist/node/date-picker/date-picker.js +24 -24
- package/dist/node/date-picker/date-picker.module.js +19 -21
- package/dist/node/date-range-picker/date-range-picker.js +30 -30
- package/dist/node/date-range-picker/date-range-picker.module.js +0 -2
- package/dist/node/dock/dock.module.js +0 -2
- package/dist/node/drawer/drawer.js +11 -11
- package/dist/node/drawer/drawer.module.js +0 -2
- package/dist/node/dropdown/dropdown.js +14 -14
- package/dist/node/dropdown/dropdown.module.js +0 -2
- package/dist/node/editable/editable.js +8 -8
- package/dist/node/editable/editable.module.js +7 -9
- package/dist/node/empty-state/empty-state.js +1 -3
- package/dist/node/empty-state/empty-state.module.js +0 -2
- package/dist/node/fab/fab.js +12 -12
- package/dist/node/fab/fab.module.js +0 -2
- package/dist/node/field/field.js +1 -3
- package/dist/node/field/field.module.js +0 -2
- package/dist/node/file-uploader/file-uploader.js +5 -5
- package/dist/node/file-uploader/file-uploader.module.js +14 -16
- package/dist/node/filter/filter.module.js +0 -2
- package/dist/node/form/form.module.js +0 -2
- package/dist/node/header/header.module.js +0 -2
- package/dist/node/header-panel/header-panel.js +8 -8
- package/dist/node/header-panel/header-panel.module.js +0 -2
- package/dist/node/heading/heading.js +1 -3
- package/dist/node/heading/heading.module.js +0 -2
- package/dist/node/hover-card/hover-card.js +18 -18
- package/dist/node/hover-card/hover-card.module.js +0 -2
- package/dist/node/icon-button/icon-button.js +1 -3
- package/dist/node/icon-button/icon-button.module.js +0 -2
- package/dist/node/image/image.module.js +0 -2
- package/dist/node/index.js +0 -1
- package/dist/node/indicator/indicator.js +0 -2
- package/dist/node/indicator/indicator.module.js +0 -2
- package/dist/node/infinite-scroll/infinite-scroll.js +49 -0
- package/dist/node/infinite-scroll/infinite-scroll.module.js +7 -0
- package/dist/node/inline-loading/inline-loading.js +1 -3
- package/dist/node/inline-loading/inline-loading.module.js +0 -2
- package/dist/node/input/input.js +11 -11
- package/dist/node/input/input.module.js +0 -2
- package/dist/node/input-group/input-group.js +1 -3
- package/dist/node/input-group/input-group.module.js +0 -2
- package/dist/node/item/item.js +1 -3
- package/dist/node/item/item.module.js +0 -2
- package/dist/node/join/join.js +0 -2
- package/dist/node/join/join.module.js +0 -2
- package/dist/node/kbd/kbd.js +1 -3
- package/dist/node/kbd/kbd.module.js +0 -2
- package/dist/node/label/label.js +1 -3
- package/dist/node/label/label.module.js +0 -2
- package/dist/node/large-title-header/large-title-header.js +38 -0
- package/dist/node/large-title-header/large-title-header.module.js +12 -0
- package/dist/node/layouts/src/auto-grid/auto-grid.js +1 -3
- package/dist/node/layouts/src/auto-grid/auto-grid.module.js +0 -2
- package/dist/node/layouts/src/center/center.js +1 -3
- package/dist/node/layouts/src/center/center.module.js +0 -2
- package/dist/node/layouts/src/columns/columns.js +1 -3
- package/dist/node/layouts/src/columns/columns.module.js +0 -2
- package/dist/node/layouts/src/flex/flex.js +1 -3
- package/dist/node/layouts/src/flex/flex.module.js +0 -2
- package/dist/node/layouts/src/grid/grid.js +1 -3
- package/dist/node/layouts/src/grid/grid.module.js +0 -2
- package/dist/node/layouts/src/page-header/page-header.js +1 -3
- package/dist/node/layouts/src/page-header/page-header.module.js +6 -8
- package/dist/node/layouts/src/spacer/spacer.js +1 -3
- package/dist/node/layouts/src/spacer/spacer.module.js +0 -2
- package/dist/node/link/link.js +1 -3
- package/dist/node/link/link.module.js +1 -3
- package/dist/node/list/list.js +1 -3
- package/dist/node/list/list.module.js +0 -2
- package/dist/node/log-viewer/log-viewer.js +15 -15
- package/dist/node/log-viewer/log-viewer.module.js +0 -2
- package/dist/node/menu/menu.js +52 -47
- package/dist/node/menu/menu.module.js +0 -2
- package/dist/node/menu-button/menu-button.js +8 -8
- package/dist/node/menu-button/menu-button.module.js +0 -2
- package/dist/node/menubar/menubar.js +24 -24
- package/dist/node/menubar/menubar.module.js +0 -2
- package/dist/node/modal/modal.js +9 -9
- package/dist/node/modal/modal.module.js +0 -2
- package/dist/node/multi-select/multi-select.js +8 -8
- package/dist/node/multi-select/multi-select.module.js +11 -13
- package/dist/node/native-select/native-select.js +1 -3
- package/dist/node/native-select/native-select.module.js +0 -2
- package/dist/node/navigation-menu/navigation-menu.js +26 -26
- package/dist/node/navigation-menu/navigation-menu.module.js +0 -2
- package/dist/node/notification/notification.js +6 -6
- package/dist/node/notification/notification.module.js +0 -2
- package/dist/node/number-input/number-input.js +7 -7
- package/dist/node/number-input/number-input.module.js +0 -2
- package/dist/node/otp-input/otp-input.js +5 -5
- package/dist/node/otp-input/otp-input.module.js +0 -2
- package/dist/node/overflow-menu/overflow-menu.module.js +0 -2
- package/dist/node/pagination/pagination.module.js +0 -2
- package/dist/node/password-input/password-input.js +8 -8
- package/dist/node/password-input/password-input.module.js +0 -2
- package/dist/node/popover/popover.js +12 -12
- package/dist/node/popover/popover.module.js +0 -2
- package/dist/node/popover/use-popover.js +8 -10
- package/dist/node/progress/progress.js +0 -2
- package/dist/node/progress/progress.module.js +0 -2
- package/dist/node/progress-bar/progress-bar.js +1 -3
- package/dist/node/progress-bar/progress-bar.module.js +0 -2
- package/dist/node/progress-circle/progress-circle.js +1 -3
- package/dist/node/progress-circle/progress-circle.module.js +0 -2
- package/dist/node/progress-indicator/progress-indicator.js +1 -3
- package/dist/node/progress-indicator/progress-indicator.module.js +0 -2
- package/dist/node/prose/prose.js +1 -3
- package/dist/node/prose/prose.module.js +0 -2
- package/dist/node/pull-to-refresh/pull-to-refresh.js +8 -8
- package/dist/node/pull-to-refresh/pull-to-refresh.module.js +0 -2
- package/dist/node/qr-code/encode.js +0 -2
- package/dist/node/qr-code/qr-code.module.js +0 -2
- package/dist/node/radial-progress/radial-progress.js +9 -10
- package/dist/node/radial-progress/radial-progress.module.js +0 -2
- package/dist/node/radio/radio.js +1 -3
- package/dist/node/radio/radio.module.js +0 -2
- package/dist/node/radio-card/radio-card.js +8 -8
- package/dist/node/radio-card/radio-card.module.js +0 -2
- package/dist/node/rating-group/rating-group.module.js +0 -2
- package/dist/node/react/src/index.js +27 -25
- package/dist/node/relative-time/relative-time.module.js +0 -2
- package/dist/node/reorder-list/reorder-list.js +143 -0
- package/dist/node/reorder-list/reorder-list.module.js +11 -0
- package/dist/node/resizable/resizable.js +7 -7
- package/dist/node/resizable/resizable.module.js +0 -2
- package/dist/node/scroll-area/scroll-area.js +6 -6
- package/dist/node/scroll-area/scroll-area.module.js +0 -2
- package/dist/node/search/search.js +9 -9
- package/dist/node/search/search.module.js +0 -2
- package/dist/node/segmented-control/segmented-control.module.js +0 -2
- package/dist/node/select/select.js +11 -11
- package/dist/node/select/select.module.js +0 -2
- package/dist/node/separator/separator.js +1 -3
- package/dist/node/separator/separator.module.js +0 -2
- package/dist/node/sheet/sheet.js +4 -4
- package/dist/node/sheet/sheet.module.js +0 -2
- package/dist/node/shell-header/shell-header.module.js +0 -2
- package/dist/node/side-nav/side-nav.js +37 -37
- package/dist/node/side-nav/side-nav.module.js +0 -2
- package/dist/node/skeleton/skeleton.js +1 -3
- package/dist/node/skeleton/skeleton.module.js +0 -2
- package/dist/node/skip-nav/skip-nav.js +7 -6
- package/dist/node/skip-nav/skip-nav.module.js +0 -2
- package/dist/node/slider/slider.js +1 -3
- package/dist/node/slider/slider.module.js +0 -2
- package/dist/node/spinner/spinner.module.js +0 -2
- package/dist/node/stack/stack.js +0 -2
- package/dist/node/stack/stack.module.js +0 -2
- package/dist/node/stat/stat.js +22 -23
- package/dist/node/stat/stat.module.js +7 -9
- package/dist/node/status/status.js +1 -3
- package/dist/node/status/status.module.js +0 -2
- package/dist/node/steps/steps.module.js +0 -2
- package/dist/node/structured-list/structured-list.js +10 -10
- package/dist/node/structured-list/structured-list.module.js +0 -2
- package/dist/node/swap/swap.js +10 -11
- package/dist/node/swap/swap.module.js +0 -2
- package/dist/node/swipe-item/swipe-item.module.js +0 -2
- package/dist/node/switcher/switcher.module.js +0 -2
- package/dist/node/tabs/tabs.js +51 -51
- package/dist/node/tabs/tabs.module.js +0 -2
- package/dist/node/tag/tag.module.js +2 -4
- package/dist/node/tags-input/tags-input.js +6 -6
- package/dist/node/tags-input/tags-input.module.js +4 -6
- package/dist/node/text/text.js +1 -3
- package/dist/node/text/text.module.js +0 -2
- package/dist/node/textarea/textarea.js +11 -11
- package/dist/node/textarea/textarea.module.js +0 -2
- package/dist/node/tile/tile.module.js +0 -2
- package/dist/node/time-picker/time-picker.js +9 -9
- package/dist/node/time-picker/time-picker.module.js +5 -7
- package/dist/node/timeline/timeline.js +32 -31
- package/dist/node/timeline/timeline.module.js +7 -9
- package/dist/node/toast/toast.js +15 -15
- package/dist/node/toast/toast.module.js +0 -2
- package/dist/node/toc/toc.js +7 -7
- package/dist/node/toc/toc.module.js +0 -2
- package/dist/node/toggle/toggle.js +7 -7
- package/dist/node/toggle/toggle.module.js +0 -2
- package/dist/node/toggle-group/toggle-group.js +25 -25
- package/dist/node/toggle-group/toggle-group.module.js +0 -2
- package/dist/node/toggletip/toggletip.js +7 -7
- package/dist/node/toggletip/toggletip.module.js +0 -2
- package/dist/node/tooltip/tooltip.js +9 -9
- package/dist/node/tooltip/tooltip.module.js +0 -2
- package/dist/node/tree-view/tree-view.js +47 -47
- package/dist/node/tree-view/tree-view.module.js +0 -2
- package/dist/node/user/user.js +1 -3
- package/dist/node/user/user.module.js +0 -2
- package/dist/node/virtual-list/virtual-list.js +40 -0
- package/dist/node/virtual-list/virtual-list.module.js +7 -0
- package/dist/node/visually-hidden/visually-hidden.js +1 -3
- package/dist/node/wheel-picker/wheel-picker.js +84 -0
- package/dist/node/wheel-picker/wheel-picker.module.js +8 -0
- package/dist/notification/notification.js +6 -6
- package/dist/notification/notification.module.js +0 -2
- package/dist/number-input/number-input.js +7 -7
- package/dist/number-input/number-input.module.js +0 -2
- package/dist/otp-input/otp-input.js +5 -5
- package/dist/otp-input/otp-input.module.js +0 -2
- package/dist/overflow-menu/overflow-menu.module.js +0 -2
- package/dist/pagination/pagination.module.js +0 -2
- package/dist/password-input/password-input.js +8 -8
- package/dist/password-input/password-input.module.js +0 -2
- package/dist/popover/popover.js +12 -12
- package/dist/popover/popover.module.js +0 -2
- package/dist/popover/use-popover.js +8 -10
- package/dist/progress/progress.js +0 -2
- package/dist/progress/progress.module.js +0 -2
- package/dist/progress-bar/progress-bar.js +1 -3
- package/dist/progress-bar/progress-bar.module.js +0 -2
- package/dist/progress-circle/progress-circle.js +1 -3
- package/dist/progress-circle/progress-circle.module.js +0 -2
- package/dist/progress-indicator/progress-indicator.js +1 -3
- package/dist/progress-indicator/progress-indicator.module.js +0 -2
- package/dist/prose/prose.js +1 -3
- package/dist/prose/prose.module.js +0 -2
- package/dist/pull-to-refresh/pull-to-refresh.js +8 -8
- package/dist/pull-to-refresh/pull-to-refresh.module.js +0 -2
- package/dist/qr-code/encode.js +0 -2
- package/dist/qr-code/qr-code.module.js +0 -2
- package/dist/radial-progress/radial-progress.js +9 -10
- package/dist/radial-progress/radial-progress.module.js +0 -2
- package/dist/radio/radio.js +1 -3
- package/dist/radio/radio.module.js +0 -2
- package/dist/radio-card/radio-card.js +8 -8
- package/dist/radio-card/radio-card.module.js +0 -2
- package/dist/rating-group/rating-group.module.js +0 -2
- package/dist/react/src/index.js +27 -25
- package/dist/relative-time/relative-time.module.js +0 -2
- package/dist/reorder-list/reorder-list.css +1 -0
- package/dist/reorder-list/reorder-list.js +143 -0
- package/dist/reorder-list/reorder-list.module.js +12 -0
- package/dist/resizable/resizable.js +7 -7
- package/dist/resizable/resizable.module.js +0 -2
- package/dist/scroll-area/scroll-area.js +6 -6
- package/dist/scroll-area/scroll-area.module.js +0 -2
- package/dist/search/search.js +9 -9
- package/dist/search/search.module.js +0 -2
- package/dist/segmented-control/segmented-control.module.js +0 -2
- package/dist/select/select.js +11 -11
- package/dist/select/select.module.js +0 -2
- package/dist/separator/separator.js +1 -3
- package/dist/separator/separator.module.js +0 -2
- package/dist/sheet/sheet.js +4 -4
- package/dist/sheet/sheet.module.js +0 -2
- package/dist/shell-header/shell-header.module.js +0 -2
- package/dist/side-nav/side-nav.js +37 -37
- package/dist/side-nav/side-nav.module.js +0 -2
- package/dist/skeleton/skeleton.js +1 -3
- package/dist/skeleton/skeleton.module.js +0 -2
- package/dist/skip-nav/skip-nav.js +7 -6
- package/dist/skip-nav/skip-nav.module.js +0 -2
- package/dist/slider/slider.js +1 -3
- package/dist/slider/slider.module.js +0 -2
- package/dist/spinner/spinner.module.js +0 -2
- package/dist/stack/stack.js +0 -2
- package/dist/stack/stack.module.js +0 -2
- package/dist/stat/stat.css +1 -1
- package/dist/stat/stat.js +22 -23
- package/dist/stat/stat.module.js +7 -9
- package/dist/status/status.js +1 -3
- package/dist/status/status.module.js +0 -2
- package/dist/steps/steps.module.js +0 -2
- package/dist/structured-list/structured-list.js +10 -10
- package/dist/structured-list/structured-list.module.js +0 -2
- package/dist/styles.css +55 -18
- package/dist/swap/swap.js +10 -11
- package/dist/swap/swap.module.js +0 -2
- package/dist/swipe-item/swipe-item.module.js +0 -2
- package/dist/switcher/switcher.module.js +0 -2
- package/dist/tabs/tabs.js +51 -51
- package/dist/tabs/tabs.module.js +0 -2
- package/dist/tag/tag.css +1 -1
- package/dist/tag/tag.module.js +2 -4
- package/dist/tags-input/tags-input.css +1 -1
- package/dist/tags-input/tags-input.js +6 -6
- package/dist/tags-input/tags-input.module.js +4 -6
- package/dist/text/text.js +1 -3
- package/dist/text/text.module.js +0 -2
- package/dist/textarea/textarea.js +11 -11
- package/dist/textarea/textarea.module.js +0 -2
- package/dist/tile/tile.module.js +0 -2
- package/dist/time-picker/time-picker.css +1 -1
- package/dist/time-picker/time-picker.js +9 -9
- package/dist/time-picker/time-picker.module.js +5 -7
- package/dist/timeline/timeline.css +1 -1
- package/dist/timeline/timeline.js +32 -31
- package/dist/timeline/timeline.module.js +7 -9
- package/dist/toast/toast.js +15 -15
- package/dist/toast/toast.module.js +0 -2
- package/dist/toc/toc.js +7 -7
- package/dist/toc/toc.module.js +0 -2
- package/dist/toggle/toggle.js +7 -7
- package/dist/toggle/toggle.module.js +0 -2
- package/dist/toggle-group/toggle-group.js +25 -25
- package/dist/toggle-group/toggle-group.module.js +0 -2
- package/dist/toggletip/toggletip.js +7 -7
- package/dist/toggletip/toggletip.module.js +0 -2
- package/dist/tooltip/tooltip.js +9 -9
- package/dist/tooltip/tooltip.module.js +0 -2
- package/dist/tree-view/tree-view.js +47 -47
- package/dist/tree-view/tree-view.module.js +0 -2
- package/dist/user/user.js +1 -3
- package/dist/user/user.module.js +0 -2
- package/dist/virtual-list/virtual-list.css +1 -0
- package/dist/virtual-list/virtual-list.js +40 -0
- package/dist/virtual-list/virtual-list.module.js +8 -0
- package/dist/visually-hidden/visually-hidden.js +1 -3
- package/dist/wheel-picker/wheel-picker.css +1 -0
- package/dist/wheel-picker/wheel-picker.js +84 -0
- package/dist/wheel-picker/wheel-picker.module.js +9 -0
- package/package.json +4 -4
- package/readme.body.md +8 -3
- package/dist/node/react/src/theme.js +0 -78
- package/dist/node/storage/src/drivers.js +0 -36
- package/dist/node/storage/src/persisted-signal.js +0 -43
- package/dist/react/src/theme.js +0 -78
- package/dist/storage/src/drivers.js +0 -36
- package/dist/storage/src/persisted-signal.js +0 -43
package/dist/index.d.ts
CHANGED
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
* Docs: https://cascivo.com/llms.txt — or fully offline, no website needed:
|
|
22
22
|
* npx -y @cascivo/docs (index; `npx @cascivo/docs <component>` for one doc)
|
|
23
23
|
*/
|
|
24
|
-
import { DismissableLayer, DismissableLayerProps, ErrorBoundary, FocusScope, LinkComponent, LinkComponentProps, Machine, MachineConfig, Portal, Presence, ProgressInput, RovingOrientation, Signal, Slot, SlotProps, SpaceStep, SuspenseBoundary, ToneInput, UseClipboardOptions, UseClipboardReturn, UseControllableSignalOptions, UseDisclosureOptions, UseDisclosureReturn, VisuallyHidden, VisuallyHiddenProps, batch, cn, composeRefs, computePosition, computed, createMachine, createScope, createStreamBuffer, effect, getLinkComponent, mergeProps, setLinkComponent, signal, useAnchorPosition, useClipboard, useComputed, useControllableSignal, useDisclosure, useEffectPropSignal, useId, useMachine, useMediaQuery, useRovingFocus, useScope, useScrollLock, useSignal, useSignalEffect, useSignals, useStreamBuffer, useTypeahead } from "@cascivo/core";
|
|
25
24
|
import { AnchorHTMLAttributes, ButtonHTMLAttributes, FormHTMLAttributes, HTMLAttributes, ImgHTMLAttributes, InputHTMLAttributes, LabelHTMLAttributes, LiHTMLAttributes, MouseEvent, ReactElement, ReactNode, RefObject, SelectHTMLAttributes, TextareaHTMLAttributes, TimeHTMLAttributes } from "react";
|
|
25
|
+
import { DismissableLayer, DismissableLayerProps, ErrorBoundary, FocusScope, LinkComponent, LinkComponentProps, Machine, MachineConfig, Portal, Presence, ProgressInput, RovingOrientation, Signal, Slot, SlotProps, SpaceStep, SuspenseBoundary, ThemeProvider, ThemeProviderProps, ToneInput, UseClipboardOptions, UseClipboardReturn, UseControllableSignalOptions, UseDisclosureOptions, UseDisclosureReturn, VisuallyHidden, VisuallyHiddenProps, applyTheme, batch, cn, composeRefs, computePosition, computed, createMachine, createScope, createStreamBuffer, effect, getLinkComponent, mergeProps, setLinkComponent, setTheme, signal, themePreloadScript, themeSignal, useAnchorPosition, useClipboard, useComputed, useControllableSignal, useDisclosure, useEffectPropSignal, useId, useMachine, useMediaQuery, useRovingFocus, useScope, useScrollLock, useSignal, useSignalEffect, useSignals, useStreamBuffer, useTheme, useTypeahead } from "@cascivo/core";
|
|
26
26
|
|
|
27
27
|
interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
28
28
|
/**
|
|
@@ -433,6 +433,15 @@ interface SelectOption {
|
|
|
433
433
|
*/
|
|
434
434
|
disabled?: boolean;
|
|
435
435
|
}
|
|
436
|
+
/**
|
|
437
|
+
* ⚠ `Select` is a **native `<select>` wrapper**, so its change handler is the DOM
|
|
438
|
+
* `onChange(event)` — read the value off `event.target.value`. There is **no**
|
|
439
|
+
* `onValueChange`; TypeScript unhelpfully suggests `onVolumeChange` when you try it.
|
|
440
|
+
*
|
|
441
|
+
* The catalog's `onValueChange` convention covers composite components that invent their
|
|
442
|
+
* own value (`Tabs`, `Combobox`, `Toggle`, …). `Select`, like `Checkbox` and
|
|
443
|
+
* `NativeSelect`, spreads onto a real element and inherits that element's event.
|
|
444
|
+
*/
|
|
436
445
|
interface SelectProps extends Omit<SelectHTMLAttributes<HTMLSelectElement>, 'size'> {
|
|
437
446
|
label?: string;
|
|
438
447
|
hint?: string;
|
|
@@ -526,6 +535,13 @@ interface ToggleProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onC
|
|
|
526
535
|
* not work there.
|
|
527
536
|
*/
|
|
528
537
|
declare const Toggle: import("react").ForwardRefExoticComponent<ToggleProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
538
|
+
/**
|
|
539
|
+
* ⚠ `Slider` is a **native `<input type="range">` wrapper**, so its change handler is the
|
|
540
|
+
* DOM `onChange(event)` — read the value off `event.target.value`. There is **no**
|
|
541
|
+
* `onValueChange`, despite the catalog convention of that name for value-carrying
|
|
542
|
+
* callbacks: that convention covers composite components that invent their own value,
|
|
543
|
+
* while this one inherits the underlying element's event.
|
|
544
|
+
*/
|
|
529
545
|
interface SliderProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> {
|
|
530
546
|
label?: string;
|
|
531
547
|
}
|
|
@@ -652,6 +668,26 @@ declare function TabsList({
|
|
|
652
668
|
interface TabsTriggerProps extends HTMLAttributes<HTMLButtonElement> {
|
|
653
669
|
value: string;
|
|
654
670
|
disabled?: boolean;
|
|
671
|
+
/**
|
|
672
|
+
* Render your own element instead of the `<button>`, keeping every tab behaviour
|
|
673
|
+
* (`role="tab"`, `aria-selected`, `aria-controls`, the roving `tabIndex`, `data-state`)
|
|
674
|
+
* and the tab styling.
|
|
675
|
+
*
|
|
676
|
+
* This exists for **URL-driven tabs**, the canonical dashboard shape: one route per tab.
|
|
677
|
+
* Navigating from `onValueChange` instead loses middle-click, cmd-click, open-in-new-tab
|
|
678
|
+
* and a crawlable `href` — a real anchor gives you all four for free.
|
|
679
|
+
*
|
|
680
|
+
* ```tsx
|
|
681
|
+
* <TabsTrigger value="overview" asChild>
|
|
682
|
+
* <Link to="/projects/$id/overview">Overview</Link>
|
|
683
|
+
* </TabsTrigger>
|
|
684
|
+
* ```
|
|
685
|
+
*
|
|
686
|
+
* With `asChild`, `disabled` becomes `aria-disabled`: it is not a valid attribute on an
|
|
687
|
+
* anchor, and a slotted element gets no `type` either. See
|
|
688
|
+
* [USING-WITH-A-ROUTER.md](../../../../docs/USING-WITH-A-ROUTER.md) for the full recipe.
|
|
689
|
+
*/
|
|
690
|
+
asChild?: boolean;
|
|
655
691
|
}
|
|
656
692
|
/**
|
|
657
693
|
* `forwardRef` so `ref` reaches the tab `<button>` — see `textarea.tsx` for the full
|
|
@@ -679,9 +715,14 @@ declare function Accordion({
|
|
|
679
715
|
className,
|
|
680
716
|
children
|
|
681
717
|
}: AccordionProps): import("react").JSX.Element;
|
|
682
|
-
interface AccordionItemProps extends HTMLAttributes<
|
|
718
|
+
interface AccordionItemProps extends HTMLAttributes<HTMLElement> {
|
|
683
719
|
value: string;
|
|
684
720
|
}
|
|
721
|
+
/**
|
|
722
|
+
* Renders the `<details>` element itself, so `AccordionTrigger` (a `<summary>`) and
|
|
723
|
+
* `AccordionContent` land as its first and second children — which is exactly the shape
|
|
724
|
+
* consumers already write.
|
|
725
|
+
*/
|
|
685
726
|
declare function AccordionItem({
|
|
686
727
|
value,
|
|
687
728
|
className,
|
|
@@ -689,11 +730,12 @@ declare function AccordionItem({
|
|
|
689
730
|
...props
|
|
690
731
|
}: AccordionItemProps): import("react").JSX.Element;
|
|
691
732
|
/**
|
|
692
|
-
* `forwardRef` so `ref` reaches the trigger
|
|
693
|
-
* rationale (2026-07-28 report C10). The
|
|
694
|
-
*
|
|
733
|
+
* `forwardRef` so `ref` reaches the trigger element — see `textarea.tsx` for the full
|
|
734
|
+
* rationale (2026-07-28 report C10). The target is the `<summary>`, not a `<button>`:
|
|
735
|
+
* `<summary>` must be the first child of `<details>`, so it cannot be nested inside a
|
|
736
|
+
* heading. The heading moves inside it instead, which `<summary>`'s content model allows.
|
|
695
737
|
*/
|
|
696
|
-
declare const AccordionTrigger: import("react").ForwardRefExoticComponent<HTMLAttributes<
|
|
738
|
+
declare const AccordionTrigger: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & import("react").RefAttributes<HTMLElement>>;
|
|
697
739
|
declare function AccordionContent(props: HTMLAttributes<HTMLDivElement>): import("react").JSX.Element;
|
|
698
740
|
interface ActionSheetAction {
|
|
699
741
|
label: ReactNode;
|
|
@@ -1407,19 +1449,24 @@ interface Column<Row> {
|
|
|
1407
1449
|
align?: 'start' | 'end';
|
|
1408
1450
|
/**
|
|
1409
1451
|
* Preferred column width, any CSS length (`'8rem'`, `'120px'`, `'12%'`). Set it on
|
|
1410
|
-
* identifier-shaped columns (
|
|
1411
|
-
*
|
|
1452
|
+
* identifier-shaped columns (ids, statuses, dates) so they stop stealing space from the
|
|
1453
|
+
* free-form ones.
|
|
1412
1454
|
*
|
|
1413
|
-
*
|
|
1414
|
-
*
|
|
1415
|
-
*
|
|
1416
|
-
*
|
|
1455
|
+
* It is a *preferred* size with a **content floor**: a sized column never shrinks below
|
|
1456
|
+
* its own longest word, so you do not need a paired `minWidth` just to stop it
|
|
1457
|
+
* collapsing. Use `minWidth` only to raise the floor above the content.
|
|
1458
|
+
*
|
|
1459
|
+
* ⚠ **Sizing EVERY column changes the layout mode.** Only then does the table switch to
|
|
1460
|
+
* `table-layout: fixed` (which keeps widths identical across pages), and a fixed table
|
|
1461
|
+
* can exceed its container — the extra columns are reachable by horizontal scroll, not
|
|
1462
|
+
* dropped. Leave at least one free-form column unsized unless you specifically want
|
|
1463
|
+
* page-stable widths.
|
|
1417
1464
|
*/
|
|
1418
1465
|
width?: string;
|
|
1419
1466
|
/**
|
|
1420
|
-
* Floor for the column's width, any CSS length. Use it on a free-form column
|
|
1421
|
-
*
|
|
1422
|
-
*
|
|
1467
|
+
* Floor for the column's width, any CSS length. Use it on a free-form column that should
|
|
1468
|
+
* get a minimum share, or to raise a sized column's floor above its content — the
|
|
1469
|
+
* content floor is automatic, so this is no longer needed merely to prevent collapse.
|
|
1423
1470
|
*/
|
|
1424
1471
|
minWidth?: string;
|
|
1425
1472
|
}
|
|
@@ -2016,11 +2063,17 @@ declare function Menu({
|
|
|
2016
2063
|
}: MenuProps): import("react").JSX.Element;
|
|
2017
2064
|
interface MenuTriggerProps {
|
|
2018
2065
|
children: ReactNode;
|
|
2066
|
+
/**
|
|
2067
|
+
* Invisible accessible name. The catalog convention (see the item-identity table in
|
|
2068
|
+
* `docs/AI-RULES.md`); `aria-label` is accepted as an alias for the DOM spelling.
|
|
2069
|
+
*/
|
|
2070
|
+
ariaLabel?: string;
|
|
2019
2071
|
'aria-label'?: string;
|
|
2020
2072
|
}
|
|
2021
2073
|
declare function MenuTrigger({
|
|
2022
2074
|
children,
|
|
2023
|
-
|
|
2075
|
+
ariaLabel,
|
|
2076
|
+
'aria-label': ariaLabelDom
|
|
2024
2077
|
}: MenuTriggerProps): import("react").JSX.Element;
|
|
2025
2078
|
interface MenuItemProps {
|
|
2026
2079
|
children: ReactNode;
|
|
@@ -2655,6 +2708,20 @@ interface StatProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
|
|
|
2655
2708
|
value: string | number;
|
|
2656
2709
|
delta?: string;
|
|
2657
2710
|
trend?: 'up' | 'down' | 'flat';
|
|
2711
|
+
/**
|
|
2712
|
+
* Which direction is *good* for this metric — the colour, independent of the arrow.
|
|
2713
|
+
*
|
|
2714
|
+
* `trend` says which way the number moved; this says whether that is welcome. They are
|
|
2715
|
+
* the same question only for metrics where up is better, and hard-coding that made every
|
|
2716
|
+
* error-rate, latency, cost and churn tile render its worst news in green. Lying about
|
|
2717
|
+
* `trend` to fix the colour also reverses the arrow, so there was no correct answer.
|
|
2718
|
+
*
|
|
2719
|
+
* `'neutral'` keeps the arrow and drops the sentiment colour, for metrics where neither
|
|
2720
|
+
* direction is inherently good (headcount, page views).
|
|
2721
|
+
*
|
|
2722
|
+
* @defaultValue `up`
|
|
2723
|
+
*/
|
|
2724
|
+
goodDirection?: 'up' | 'down' | 'neutral';
|
|
2658
2725
|
helpText?: string;
|
|
2659
2726
|
/**
|
|
2660
2727
|
* Wrap the tile in the same card chrome (surface, border, radius, padding) that
|
|
@@ -2672,6 +2739,7 @@ declare function Stat({
|
|
|
2672
2739
|
value,
|
|
2673
2740
|
delta,
|
|
2674
2741
|
trend,
|
|
2742
|
+
goodDirection,
|
|
2675
2743
|
helpText,
|
|
2676
2744
|
card,
|
|
2677
2745
|
visual,
|
|
@@ -3406,10 +3474,11 @@ interface CollapsibleProps {
|
|
|
3406
3474
|
defaultOpen?: boolean;
|
|
3407
3475
|
/** Called whenever the open state should change. */
|
|
3408
3476
|
onOpenChange?: (open: boolean) => void;
|
|
3409
|
-
/** Content rendered inside the trigger
|
|
3477
|
+
/** Content rendered inside the trigger. */
|
|
3410
3478
|
trigger: ReactNode;
|
|
3411
3479
|
/**
|
|
3412
|
-
* Disables the trigger
|
|
3480
|
+
* Disables the trigger. Enforced in the enhancement layer — <details> has no native
|
|
3481
|
+
* disabled state, so with JavaScript off a disabled Collapsible is still operable
|
|
3413
3482
|
*
|
|
3414
3483
|
* @defaultValue `false`
|
|
3415
3484
|
* @see the component manifest
|
|
@@ -3520,14 +3589,27 @@ interface MenubarMenu {
|
|
|
3520
3589
|
label: ReactNode;
|
|
3521
3590
|
items: MenubarItem[];
|
|
3522
3591
|
}
|
|
3523
|
-
interface
|
|
3592
|
+
interface MenubarBaseProps {
|
|
3524
3593
|
menus: MenubarMenu[];
|
|
3525
|
-
'aria-label': string;
|
|
3526
3594
|
className?: string;
|
|
3527
3595
|
}
|
|
3596
|
+
/**
|
|
3597
|
+
* Exactly one of `ariaLabel` / `aria-label` is required — a menubar landmark with no
|
|
3598
|
+
* accessible name is a bug, so this stays enforced by the type rather than a dev warning.
|
|
3599
|
+
* `ariaLabel` is the catalog's convention; `aria-label` is the DOM spelling this component
|
|
3600
|
+
* shipped with. Both work, mirroring `IconButton`.
|
|
3601
|
+
*/
|
|
3602
|
+
type MenubarProps = MenubarBaseProps & ({
|
|
3603
|
+
ariaLabel: string;
|
|
3604
|
+
'aria-label'?: never;
|
|
3605
|
+
} | {
|
|
3606
|
+
'aria-label': string;
|
|
3607
|
+
ariaLabel?: never;
|
|
3608
|
+
});
|
|
3528
3609
|
declare function Menubar({
|
|
3529
3610
|
menus,
|
|
3530
|
-
|
|
3611
|
+
ariaLabel,
|
|
3612
|
+
'aria-label': ariaLabelDom,
|
|
3531
3613
|
className
|
|
3532
3614
|
}: MenubarProps): import("react").JSX.Element;
|
|
3533
3615
|
interface NavigationMenuItem {
|
|
@@ -3538,6 +3620,11 @@ interface NavigationMenuItem {
|
|
|
3538
3620
|
}
|
|
3539
3621
|
interface NavigationMenuProps {
|
|
3540
3622
|
items: NavigationMenuItem[];
|
|
3623
|
+
/**
|
|
3624
|
+
* Invisible accessible name. The catalog convention (see the item-identity table in
|
|
3625
|
+
* `docs/AI-RULES.md`); `aria-label` is accepted as an alias for the DOM spelling.
|
|
3626
|
+
*/
|
|
3627
|
+
ariaLabel?: string;
|
|
3541
3628
|
'aria-label'?: string;
|
|
3542
3629
|
/**
|
|
3543
3630
|
* Layout orientation of the component.
|
|
@@ -3550,7 +3637,8 @@ interface NavigationMenuProps {
|
|
|
3550
3637
|
}
|
|
3551
3638
|
declare function NavigationMenu({
|
|
3552
3639
|
items,
|
|
3553
|
-
'aria-label':
|
|
3640
|
+
'aria-label': ariaLabelDom,
|
|
3641
|
+
ariaLabel,
|
|
3554
3642
|
orientation,
|
|
3555
3643
|
className
|
|
3556
3644
|
}: NavigationMenuProps): import("react").JSX.Element;
|
|
@@ -3570,6 +3658,11 @@ interface TreeViewProps {
|
|
|
3570
3658
|
defaultExpanded?: string[];
|
|
3571
3659
|
onExpandedChange?: (expanded: string[]) => void;
|
|
3572
3660
|
className?: string;
|
|
3661
|
+
/**
|
|
3662
|
+
* Invisible accessible name. The catalog convention (see the item-identity table in
|
|
3663
|
+
* `docs/AI-RULES.md`); `aria-label` is accepted as an alias for the DOM spelling.
|
|
3664
|
+
*/
|
|
3665
|
+
ariaLabel?: string;
|
|
3573
3666
|
'aria-label'?: string;
|
|
3574
3667
|
}
|
|
3575
3668
|
declare function TreeView({
|
|
@@ -3582,19 +3675,30 @@ declare function TreeView({
|
|
|
3582
3675
|
defaultExpanded,
|
|
3583
3676
|
onExpandedChange,
|
|
3584
3677
|
className,
|
|
3585
|
-
'aria-label':
|
|
3678
|
+
'aria-label': ariaLabelDom,
|
|
3679
|
+
ariaLabel
|
|
3586
3680
|
}: TreeViewProps): import("react").JSX.Element;
|
|
3587
3681
|
declare const treeViewMessages: {
|
|
3588
3682
|
loading: () => string;
|
|
3589
3683
|
expand: () => string;
|
|
3590
3684
|
collapse: () => string;
|
|
3591
3685
|
};
|
|
3686
|
+
/**
|
|
3687
|
+
* One row's data. **This is a type, not a component.**
|
|
3688
|
+
*
|
|
3689
|
+
* `StructuredList` is config-driven: pass `items`, not children. An adopter imported
|
|
3690
|
+
* `StructuredListItem` expecting a composable `<StructuredListItem>` — a reasonable guess,
|
|
3691
|
+
* since most catalogs ship both forms — wrote markup against it, and only then found the
|
|
3692
|
+
* real API. There is no composable form and none is planned; the config shape is what
|
|
3693
|
+
* makes the list keyboard-navigable and selectable without per-row wiring.
|
|
3694
|
+
*/
|
|
3592
3695
|
interface StructuredListItem {
|
|
3593
3696
|
id: string;
|
|
3594
3697
|
cells: ReactNode[];
|
|
3595
3698
|
selected?: boolean;
|
|
3596
3699
|
}
|
|
3597
3700
|
interface StructuredListProps {
|
|
3701
|
+
/** The rows. `StructuredList` is config-driven — there is no composable child form. */
|
|
3598
3702
|
items: StructuredListItem[];
|
|
3599
3703
|
headers?: ReactNode[];
|
|
3600
3704
|
/**
|
|
@@ -4042,6 +4146,219 @@ declare function Dock({
|
|
|
4042
4146
|
className,
|
|
4043
4147
|
ariaLabel
|
|
4044
4148
|
}: DockProps): import("react").JSX.Element;
|
|
4149
|
+
interface LargeTitleHeaderProps {
|
|
4150
|
+
/** The page title. Rendered as the large heading and mirrored in the collapsed bar. */
|
|
4151
|
+
title: string;
|
|
4152
|
+
/** Content of the scrolling region, rendered below the title. */
|
|
4153
|
+
children: ReactNode;
|
|
4154
|
+
/** Leading slot of the compact bar — typically a back control. */
|
|
4155
|
+
leading?: ReactNode;
|
|
4156
|
+
/** Trailing slot of the compact bar — typically icon buttons. */
|
|
4157
|
+
actions?: ReactNode;
|
|
4158
|
+
/**
|
|
4159
|
+
* Heading level for the title, mapping to h1–h3.
|
|
4160
|
+
*
|
|
4161
|
+
* @defaultValue `1`
|
|
4162
|
+
* @see the component manifest
|
|
4163
|
+
*/
|
|
4164
|
+
level?: 1 | 2 | 3;
|
|
4165
|
+
/**
|
|
4166
|
+
* Scroll distance (px) over which the large title collapses into the bar.
|
|
4167
|
+
*
|
|
4168
|
+
* @defaultValue `48`
|
|
4169
|
+
* @see the component manifest
|
|
4170
|
+
*/
|
|
4171
|
+
collapseDistance?: number;
|
|
4172
|
+
className?: string;
|
|
4173
|
+
}
|
|
4174
|
+
/**
|
|
4175
|
+
* Scrolling region with an iOS-style page header: the large title scrolls away and a
|
|
4176
|
+
* compact sticky bar reveals the same title in its place.
|
|
4177
|
+
*
|
|
4178
|
+
* The collapse is a CSS scroll-driven animation — no scroll listener, no
|
|
4179
|
+
* IntersectionObserver, no client JavaScript of any kind, so this renders complete from
|
|
4180
|
+
* the server and never hydrates. Where `animation-timeline` is unsupported the mirrored
|
|
4181
|
+
* title stays hidden and the region degrades to a plain sticky bar above a heading; the
|
|
4182
|
+
* heading itself is always present, so no content depends on the enhancement.
|
|
4183
|
+
*
|
|
4184
|
+
* The component owns the scroll container so the sticky bar and the scroll timeline
|
|
4185
|
+
* cannot be broken by the surrounding markup. Give it a parent with a resolved height.
|
|
4186
|
+
*/
|
|
4187
|
+
declare function LargeTitleHeader({
|
|
4188
|
+
title,
|
|
4189
|
+
children,
|
|
4190
|
+
leading,
|
|
4191
|
+
actions,
|
|
4192
|
+
level,
|
|
4193
|
+
collapseDistance,
|
|
4194
|
+
className
|
|
4195
|
+
}: LargeTitleHeaderProps): import("react").JSX.Element;
|
|
4196
|
+
interface InfiniteScrollProps {
|
|
4197
|
+
/** Called when the sentinel comes into view, or the button is activated. */
|
|
4198
|
+
onLoadMore: () => Promise<unknown> | unknown;
|
|
4199
|
+
/**
|
|
4200
|
+
* When true, stops observing and renders nothing — there are no more pages.
|
|
4201
|
+
*
|
|
4202
|
+
* @defaultValue `false`
|
|
4203
|
+
* @see the component manifest
|
|
4204
|
+
*/
|
|
4205
|
+
disabled?: boolean;
|
|
4206
|
+
/**
|
|
4207
|
+
* How far ahead of the end to start loading, as an IntersectionObserver root margin.
|
|
4208
|
+
*
|
|
4209
|
+
* @defaultValue `'200px'`
|
|
4210
|
+
* @see the component manifest
|
|
4211
|
+
*/
|
|
4212
|
+
rootMargin?: string;
|
|
4213
|
+
labels?: {
|
|
4214
|
+
loadMore?: string;
|
|
4215
|
+
loading?: string;
|
|
4216
|
+
};
|
|
4217
|
+
className?: string;
|
|
4218
|
+
}
|
|
4219
|
+
/**
|
|
4220
|
+
* Loads the next page when the end of a list comes into view.
|
|
4221
|
+
*
|
|
4222
|
+
* Place it as the last child of the scrolling region, after the list. It renders a real
|
|
4223
|
+
* "Load more" button and auto-activates it via an `IntersectionObserver` — so the next
|
|
4224
|
+
* page is reachable by keyboard and by screen reader, not only by scrolling, which is the
|
|
4225
|
+
* standing accessibility complaint against scroll-only infinite lists. Re-entry is
|
|
4226
|
+
* guarded, so a sentinel that stays visible after a short page cannot loop.
|
|
4227
|
+
*/
|
|
4228
|
+
declare function InfiniteScroll({
|
|
4229
|
+
onLoadMore,
|
|
4230
|
+
disabled,
|
|
4231
|
+
rootMargin,
|
|
4232
|
+
labels,
|
|
4233
|
+
className
|
|
4234
|
+
}: InfiniteScrollProps): import("react").JSX.Element | null;
|
|
4235
|
+
interface ReorderItem {
|
|
4236
|
+
id: string;
|
|
4237
|
+
label: ReactNode;
|
|
4238
|
+
/** Plain-text name used in announcements when `label` is not a string. */
|
|
4239
|
+
name?: string;
|
|
4240
|
+
}
|
|
4241
|
+
interface ReorderListProps {
|
|
4242
|
+
value: ReorderItem[];
|
|
4243
|
+
onValueChange: (value: ReorderItem[]) => void;
|
|
4244
|
+
/**
|
|
4245
|
+
* When true, disables the control and removes it from the tab order.
|
|
4246
|
+
*
|
|
4247
|
+
* @defaultValue `false`
|
|
4248
|
+
* @see the component manifest
|
|
4249
|
+
*/
|
|
4250
|
+
disabled?: boolean;
|
|
4251
|
+
labels?: {
|
|
4252
|
+
handle?: string;
|
|
4253
|
+
grabbed?: string;
|
|
4254
|
+
moved?: string;
|
|
4255
|
+
dropped?: string;
|
|
4256
|
+
cancelled?: string;
|
|
4257
|
+
};
|
|
4258
|
+
className?: string;
|
|
4259
|
+
}
|
|
4260
|
+
/**
|
|
4261
|
+
* A list whose rows can be reordered by pointer drag or entirely by keyboard.
|
|
4262
|
+
*
|
|
4263
|
+
* Each row carries a drag handle. Space or Enter picks the row up, Arrow keys move it,
|
|
4264
|
+
* Space or Enter drops it, and Escape restores the order it had before the pick-up — the
|
|
4265
|
+
* keyboard path Ionic's pointer-only `ion-reorder` has no equivalent for. Every transition
|
|
4266
|
+
* is announced through a polite live region.
|
|
4267
|
+
*/
|
|
4268
|
+
declare function ReorderList({
|
|
4269
|
+
value,
|
|
4270
|
+
onValueChange,
|
|
4271
|
+
disabled,
|
|
4272
|
+
labels,
|
|
4273
|
+
className
|
|
4274
|
+
}: ReorderListProps): import("react").JSX.Element;
|
|
4275
|
+
interface VirtualListProps<Item> {
|
|
4276
|
+
items: Item[];
|
|
4277
|
+
/** Fixed row height in px. Rows must all be this tall for positions to be correct. */
|
|
4278
|
+
itemHeight: number;
|
|
4279
|
+
/**
|
|
4280
|
+
* Height of the scrolling viewport, in px.
|
|
4281
|
+
*
|
|
4282
|
+
* Deliberately not a CSS length: the visible row count is computed from this number, and
|
|
4283
|
+
* a relative length like `100%` cannot be resolved without measuring. Wrap the list and
|
|
4284
|
+
* pass a measured px value if the height has to be fluid.
|
|
4285
|
+
*/
|
|
4286
|
+
height: number;
|
|
4287
|
+
renderItem: (item: Item, index: number) => ReactNode;
|
|
4288
|
+
/**
|
|
4289
|
+
* Extra rows rendered above and below the visible window, to cover fast scrolling.
|
|
4290
|
+
*
|
|
4291
|
+
* @defaultValue `3`
|
|
4292
|
+
* @see the component manifest
|
|
4293
|
+
*/
|
|
4294
|
+
overscan?: number;
|
|
4295
|
+
/** Accessible label for the list; defaults to none, so label it when standalone. */
|
|
4296
|
+
ariaLabel?: string;
|
|
4297
|
+
className?: string;
|
|
4298
|
+
}
|
|
4299
|
+
/**
|
|
4300
|
+
* Renders only the rows inside the scrolled viewport, so a list of any length costs a
|
|
4301
|
+
* constant number of DOM nodes.
|
|
4302
|
+
*
|
|
4303
|
+
* Row height is fixed: positions are arithmetic rather than measured, which keeps scrolling
|
|
4304
|
+
* on the compositor and avoids a layout pass per frame. Each rendered row carries
|
|
4305
|
+
* `aria-setsize` and `aria-posinset` for the **full** collection, so assistive technology
|
|
4306
|
+
* reports "3 of 10000" rather than the size of the rendered window.
|
|
4307
|
+
*/
|
|
4308
|
+
declare function VirtualList<Item>({
|
|
4309
|
+
items,
|
|
4310
|
+
itemHeight,
|
|
4311
|
+
height,
|
|
4312
|
+
renderItem,
|
|
4313
|
+
overscan,
|
|
4314
|
+
ariaLabel,
|
|
4315
|
+
className
|
|
4316
|
+
}: VirtualListProps<Item>): import("react").JSX.Element;
|
|
4317
|
+
interface WheelPickerOption {
|
|
4318
|
+
value: string;
|
|
4319
|
+
label: string;
|
|
4320
|
+
}
|
|
4321
|
+
interface WheelPickerProps {
|
|
4322
|
+
options: WheelPickerOption[];
|
|
4323
|
+
value: string;
|
|
4324
|
+
onValueChange: (value: string) => void;
|
|
4325
|
+
/**
|
|
4326
|
+
* How many rows are visible. Odd numbers keep the selection centred.
|
|
4327
|
+
*
|
|
4328
|
+
* @defaultValue `5`
|
|
4329
|
+
* @see the component manifest
|
|
4330
|
+
*/
|
|
4331
|
+
visibleCount?: number;
|
|
4332
|
+
/**
|
|
4333
|
+
* Row height in px.
|
|
4334
|
+
*
|
|
4335
|
+
* @defaultValue `36`
|
|
4336
|
+
* @see the component manifest
|
|
4337
|
+
*/
|
|
4338
|
+
itemHeight?: number;
|
|
4339
|
+
ariaLabel?: string;
|
|
4340
|
+
className?: string;
|
|
4341
|
+
}
|
|
4342
|
+
/**
|
|
4343
|
+
* iOS-style drum picker: a column of options that scrolls and snaps to a centred selection.
|
|
4344
|
+
*
|
|
4345
|
+
* The wheel is CSS scroll-snap, not a JavaScript gesture engine — momentum, rubber-banding
|
|
4346
|
+
* and snapping are the platform's, so the whole gesture runs on the compositor and behaves
|
|
4347
|
+
* natively on every device. JavaScript only reads which row settled and moves the column
|
|
4348
|
+
* when the value changes from outside.
|
|
4349
|
+
*
|
|
4350
|
+
* Semantically a single-select listbox whose selection follows focus: Arrow keys, Home and
|
|
4351
|
+
* End move the selection and scroll to match, so there is nothing to confirm.
|
|
4352
|
+
*/
|
|
4353
|
+
declare function WheelPicker({
|
|
4354
|
+
options,
|
|
4355
|
+
value,
|
|
4356
|
+
onValueChange,
|
|
4357
|
+
visibleCount,
|
|
4358
|
+
itemHeight,
|
|
4359
|
+
ariaLabel,
|
|
4360
|
+
className
|
|
4361
|
+
}: WheelPickerProps): import("react").JSX.Element;
|
|
4045
4362
|
interface DrawerProps {
|
|
4046
4363
|
/** Controlled open state. */
|
|
4047
4364
|
open?: boolean;
|
|
@@ -4395,6 +4712,11 @@ interface RadialProgressProps {
|
|
|
4395
4712
|
*/
|
|
4396
4713
|
variant?: RadialProgressVariant;
|
|
4397
4714
|
children?: React.ReactNode;
|
|
4715
|
+
/**
|
|
4716
|
+
* Invisible accessible name. The catalog convention (see the item-identity table in
|
|
4717
|
+
* `docs/AI-RULES.md`); `aria-label` is accepted as an alias for the DOM spelling.
|
|
4718
|
+
*/
|
|
4719
|
+
ariaLabel?: string;
|
|
4398
4720
|
'aria-label'?: string;
|
|
4399
4721
|
className?: string;
|
|
4400
4722
|
}
|
|
@@ -4404,6 +4726,7 @@ declare function RadialProgress({
|
|
|
4404
4726
|
variant,
|
|
4405
4727
|
children,
|
|
4406
4728
|
className,
|
|
4729
|
+
ariaLabel,
|
|
4407
4730
|
...aria
|
|
4408
4731
|
}: RadialProgressProps): import("react").JSX.Element;
|
|
4409
4732
|
type SwapMode = 'rotate' | 'flip';
|
|
@@ -4422,6 +4745,11 @@ interface SwapProps {
|
|
|
4422
4745
|
/** @deprecated Use `onValueChange` — it receives the same `checked` boolean. */
|
|
4423
4746
|
onChange?: (checked: boolean) => void;
|
|
4424
4747
|
mode?: SwapMode;
|
|
4748
|
+
/**
|
|
4749
|
+
* Invisible accessible name. The catalog convention (see the item-identity table in
|
|
4750
|
+
* `docs/AI-RULES.md`); `aria-label` is accepted as an alias for the DOM spelling.
|
|
4751
|
+
*/
|
|
4752
|
+
ariaLabel?: string;
|
|
4425
4753
|
'aria-label'?: string;
|
|
4426
4754
|
className?: string;
|
|
4427
4755
|
}
|
|
@@ -4433,6 +4761,7 @@ declare function Swap({
|
|
|
4433
4761
|
onChange,
|
|
4434
4762
|
mode,
|
|
4435
4763
|
className,
|
|
4764
|
+
ariaLabel,
|
|
4436
4765
|
...aria
|
|
4437
4766
|
}: SwapProps): import("react").JSX.Element;
|
|
4438
4767
|
interface SwipeAction {
|
|
@@ -4653,143 +4982,4 @@ declare function PageHeader({
|
|
|
4653
4982
|
actions,
|
|
4654
4983
|
className
|
|
4655
4984
|
}: PageHeaderProps): import("react").JSX.Element;
|
|
4656
|
-
|
|
4657
|
-
* Set the active theme imperatively, from anywhere. Persists the choice and
|
|
4658
|
-
* drives the `data-theme` attribute through the mounted {@link ThemeProvider}.
|
|
4659
|
-
*
|
|
4660
|
-
* Requires a mounted {@link ThemeProvider} — this writes the signal, the provider writes
|
|
4661
|
-
* the DOM. Without one, nothing restyles (dev builds warn). To write the attribute
|
|
4662
|
-
* directly, with no provider and no React, use {@link applyTheme}.
|
|
4663
|
-
*/
|
|
4664
|
-
declare function setTheme(next: string): void;
|
|
4665
|
-
/**
|
|
4666
|
-
* Write a theme onto an element directly, with no provider and no React.
|
|
4667
|
-
*
|
|
4668
|
-
* The escape hatch for imperative setups: a theme toggle in a non-React shell, a
|
|
4669
|
-
* pre-hydration inline script, a Storybook decorator, an e2e test. Also updates the theme
|
|
4670
|
-
* signal, so a React tree reading {@link useTheme} stays in sync.
|
|
4671
|
-
*
|
|
4672
|
-
* `setTheme` deliberately does **not** do this itself: it is SSR-callable, and
|
|
4673
|
-
* `ThemeProvider` can scope a theme to any subtree via its `target` ref. A direct document
|
|
4674
|
-
* write inside `setTheme` would break scoped theming and touch `document` on the server.
|
|
4675
|
-
*
|
|
4676
|
-
* ```ts
|
|
4677
|
-
* applyTheme('midnight') // <html data-theme="midnight">
|
|
4678
|
-
* applyTheme('warm', panelRef.current) // scope to a subtree
|
|
4679
|
-
* ```
|
|
4680
|
-
*
|
|
4681
|
-
* No-op on the server (no `document`).
|
|
4682
|
-
*/
|
|
4683
|
-
declare function applyTheme(next: string, target?: HTMLElement | null): void;
|
|
4684
|
-
/**
|
|
4685
|
-
* Read and set the active theme. Returns the current theme **name** (a plain
|
|
4686
|
-
* string) and a setter — the component re-renders when the theme changes with no
|
|
4687
|
-
* signal handling on your part (this hook calls `useSignals()` for you, so it
|
|
4688
|
-
* works in React apps with no Babel transform). This is the React-idiomatic shape;
|
|
4689
|
-
* for signal-native code (`computed()`, `effect()`, Preact) use {@link themeSignal}.
|
|
4690
|
-
*
|
|
4691
|
-
* ```tsx
|
|
4692
|
-
* const [theme, setTheme] = useTheme()
|
|
4693
|
-
* return <button onClick={() => setTheme(theme === 'dark' ? 'light' : 'dark')}>
|
|
4694
|
-
* {theme}
|
|
4695
|
-
* </button>
|
|
4696
|
-
* ```
|
|
4697
|
-
*/
|
|
4698
|
-
declare function useTheme(): readonly [string, (next: string) => void];
|
|
4699
|
-
/**
|
|
4700
|
-
* The underlying theme signal, for signal-native code — `computed()`, `effect()`,
|
|
4701
|
-
* or a Preact app where signals are natively reactive. Most React apps want
|
|
4702
|
-
* {@link useTheme}, which hands back a plain string and handles subscription.
|
|
4703
|
-
*/
|
|
4704
|
-
declare function themeSignal(): Signal<string>;
|
|
4705
|
-
interface ThemeProviderProps {
|
|
4706
|
-
/**
|
|
4707
|
-
* Theme to use when nothing is persisted yet. When set, it **wins over** the
|
|
4708
|
-
* visitor's OS `prefers-color-scheme` — pass it for a "dark by default" or
|
|
4709
|
-
* custom-theme (`'midnight'`, …) app. Omit it to follow the OS (light/dark),
|
|
4710
|
-
* falling back to `'light'`. Precedence: persisted value > `defaultTheme` (if
|
|
4711
|
-
* set) > OS preference > `'light'`.
|
|
4712
|
-
*/
|
|
4713
|
-
defaultTheme?: string;
|
|
4714
|
-
/**
|
|
4715
|
-
* Controlled theme. When set, the provider mirrors it on every render and the
|
|
4716
|
-
* persisted value is ignored — the parent owns the state (React semantics).
|
|
4717
|
-
*/
|
|
4718
|
-
value?: string;
|
|
4719
|
-
/** localStorage key for the persisted choice. Defaults to `cascivo-theme`. */
|
|
4720
|
-
storageKey?: string;
|
|
4721
|
-
/** Attribute written to the target element. Defaults to `data-theme`. */
|
|
4722
|
-
attribute?: string;
|
|
4723
|
-
/**
|
|
4724
|
-
* Element to theme. Omit to theme the whole document (`<html>`). Pass a ref to
|
|
4725
|
-
* a container to scope the theme to a subtree — cascivo themes resolve against
|
|
4726
|
-
* the nearest `data-theme`, so a scoped subtree can differ from the page.
|
|
4727
|
-
*/
|
|
4728
|
-
target?: RefObject<HTMLElement | null>;
|
|
4729
|
-
/** Called whenever the active theme changes. */
|
|
4730
|
-
onChange?: (theme: string) => void;
|
|
4731
|
-
/**
|
|
4732
|
-
* CSP nonce forwarded to the inline attribute-setter script emitted for the
|
|
4733
|
-
* controlled ({@link ThemeProviderProps.value}) SSR flow. Set it to match your
|
|
4734
|
-
* Content-Security-Policy `script-src 'nonce-…'`.
|
|
4735
|
-
*/
|
|
4736
|
-
nonce?: string;
|
|
4737
|
-
children?: ReactNode;
|
|
4738
|
-
}
|
|
4739
|
-
/**
|
|
4740
|
-
* Binds the active theme signal to a `data-theme` attribute and persists the
|
|
4741
|
-
* choice — the reusable, SSR-safe form of the wiring apps otherwise hand-roll.
|
|
4742
|
-
*
|
|
4743
|
-
* - No flash of the wrong theme: pair with {@link themePreloadScript} in your
|
|
4744
|
-
* document `<head>` so the correct theme paints on first byte.
|
|
4745
|
-
* - No banned React hooks: the DOM write happens in `useSignalEffect`, not
|
|
4746
|
-
* `useEffect`; there is no `useState`/`useContext`.
|
|
4747
|
-
* - Uncontrolled by default (persists to localStorage); pass `value` to control.
|
|
4748
|
-
* - SSR-safe when controlled: with a `value` (and no scoped `target`), the
|
|
4749
|
-
* provider renders a tiny inline script that sets `data-theme` during HTML
|
|
4750
|
-
* parsing, so the server-rendered first paint is themed — no flash, no
|
|
4751
|
-
* hydration mismatch (the same markup renders on both sides; the client effect
|
|
4752
|
-
* owns every update after hydration). For the uncontrolled/persisted flow, pair
|
|
4753
|
-
* with {@link themePreloadScript} in `<head>` instead.
|
|
4754
|
-
*/
|
|
4755
|
-
declare function ThemeProvider({
|
|
4756
|
-
defaultTheme,
|
|
4757
|
-
value,
|
|
4758
|
-
storageKey,
|
|
4759
|
-
attribute,
|
|
4760
|
-
target,
|
|
4761
|
-
onChange,
|
|
4762
|
-
nonce,
|
|
4763
|
-
children
|
|
4764
|
-
}: ThemeProviderProps): ReactNode;
|
|
4765
|
-
/**
|
|
4766
|
-
* A tiny script to inline in your document `<head>` (before the app bundle) so
|
|
4767
|
-
* the persisted theme paints on the first byte — no flash of the wrong theme on
|
|
4768
|
-
* SSR or a hard reload. Pass the same `storageKey`/`attribute`/`defaultTheme`
|
|
4769
|
-
* you give {@link ThemeProvider}.
|
|
4770
|
-
*
|
|
4771
|
-
* Precedence matches {@link ThemeProvider}: persisted value > `defaultTheme`
|
|
4772
|
-
* (if set) > OS `prefers-color-scheme` > `'light'`. Passing `defaultTheme`
|
|
4773
|
-
* suppresses the OS check, so a "dark by default" app stays dark on a light-OS
|
|
4774
|
-
* visitor.
|
|
4775
|
-
*
|
|
4776
|
-
* The script sets `data-theme` **before** React hydrates, so add
|
|
4777
|
-
* `suppressHydrationWarning` to the element that carries the attribute (usually
|
|
4778
|
-
* `<html>`) — the mutation is intentional, and without the flag React 19 logs a
|
|
4779
|
-
* hydration mismatch.
|
|
4780
|
-
*
|
|
4781
|
-
* ```tsx
|
|
4782
|
-
* // Next.js app/layout.tsx
|
|
4783
|
-
* <html suppressHydrationWarning>
|
|
4784
|
-
* <head>
|
|
4785
|
-
* <script dangerouslySetInnerHTML={{ __html: themePreloadScript({ defaultTheme: 'dark' }) }} />
|
|
4786
|
-
* </head>
|
|
4787
|
-
* </html>
|
|
4788
|
-
* ```
|
|
4789
|
-
*/
|
|
4790
|
-
declare function themePreloadScript(options?: {
|
|
4791
|
-
storageKey?: string;
|
|
4792
|
-
attribute?: string;
|
|
4793
|
-
defaultTheme?: string;
|
|
4794
|
-
}): string;
|
|
4795
|
-
export { Accordion, AccordionContent, AccordionItem, AccordionItemProps, AccordionProps, AccordionTrigger, ActionSheet, ActionSheetAction, ActionSheetProps, Alert, AlertDialog, AlertDialogLabels, AlertDialogProps, AlertProps, AppShell, AppShellProps, AspectRatio, AspectRatioProps, AutoGrid, AutoGridProps, Avatar, AvatarGroup, AvatarGroupLabels, AvatarGroupProps, AvatarProps, Badge, BadgeProps, Blockquote, BlockquoteProps, BottomSheet, BottomSheetProps, Breadcrumb, BreadcrumbItem, BreadcrumbProps, Button, ButtonGroup, ButtonGroupProps, ButtonProps, Calendar, CalendarLabels, CalendarProps, Card, CardContent, CardContentProps, CardFooter, CardFooterProps, CardHeader, CardHeaderProps, CardProps, CardTitle, CardTitleProps, Carousel, CarouselLabels, CarouselProps, Center, CenterProps, ChatBubble, ChatBubbleProps, ChatBubbleSide, Checkbox, CheckboxCard, CheckboxCardProps, CheckboxProps, Code, type CodeLang, CodeProps, CodeSnippet, CodeSnippetProps, Collapsible, CollapsibleProps, ColorPicker, ColorPickerLabels, ColorPickerProps, Column, Columns, ColumnsProps, Combobox, ComboboxLabels, ComboboxOption, ComboboxProps, CommandAction, CommandGroup, CommandItem, CommandMenu, CommandMenuProps, CommandPage, CommandScope, CommandStatus, Comparison, ComparisonProps, ContainedList, ContainedListItem, ContainedListItemProps, ContainedListProps, ContextMenu, ContextMenuItem, ContextMenuItemProps, ContextMenuProps, CopyButton, CopyButtonProps, DataList, DataListItem, DataListProps, DataTable, DataTableLabels, DataTableProps, DatePicker, DatePickerLabels, DatePickerProps, DateRange, DateRangePicker, DateRangePickerLabels, DateRangePickerProps, DateRangePreset, DismissableLayer, type DismissableLayerProps, Dock, DockItem, DockProps, Drawer, DrawerProps, Dropdown, DropdownItem, DropdownProps, Editable, EditableProps, EmptyState, EmptyStateProps, ErrorBoundary, Fab, FabAction, FabProps, Field, FieldProps, FileUploader, FileUploaderLabels, FileUploaderProps, Filter, FilterOption, FilterProps, FilterVariant, Flex, FlexProps, FocusScope, Form, FormConfig, FormProps, FormStore, FuzzyMatch, Grid, GridAlign, GridItem, GridItemProps, GridProps, Header, HeaderLabels, HeaderLink, HeaderPanel, HeaderPanelLabels, HeaderPanelProps, HeaderProps, Heading, HeadingLevel, HeadingProps, HeadingSize, HoverCard, HoverCardContent, HoverCardContentProps, HoverCardProps, HoverCardTrigger, HoverCardTriggerProps, IconButton, IconButtonProps, Image, ImageProps, Indicator, IndicatorPlacement, IndicatorProps, InlineLoading, InlineLoadingProps, InlineLoadingStatus, Input, InputGroup, InputGroupAddon, type InputGroupAddonProps, type InputGroupProps, InputProps, Item, ItemActions, ItemActionsProps, ItemContent, ItemContentProps, ItemDescription, ItemDescriptionProps, ItemMedia, ItemMediaProps, ItemProps, ItemTitle, ItemTitleProps, Join, JoinOrientation, JoinProps, Kbd, KbdProps, Label, LabelProps, Link, type LinkComponent, type LinkComponentProps, LinkProps, List, ListItem, ListItemProps, ListProps, LogLevel, LogLine, LogViewer, LogViewerLabels, LogViewerProps, type Machine, type MachineConfig, Menu, MenuButton, MenuButtonItem, MenuButtonProps, MenuItem, MenuItemProps, MenuProps, MenuSeparator, MenuTrigger, MenuTriggerProps, Menubar, MenubarItem, MenubarMenu, MenubarProps, Modal, ModalProps, MultiSelect, MultiSelectLabels, MultiSelectOption, MultiSelectProps, NativeSelect, NativeSelectOption, NativeSelectProps, NavigationMenu, NavigationMenuItem, NavigationMenuProps, Notification, NotificationProps, NotificationVariant, NumberInput, NumberInputProps, OtpInput, OtpInputProps, OverflowMenu, OverflowMenuItem, OverflowMenuProps, PageHeader, PageHeaderProps, Pagination, PaginationLabels, PaginationProps, PasswordInput, PasswordInputLabels, PasswordInputProps, Popover, PopoverContent, PopoverContentProps, PopoverProps, PopoverTrigger, PopoverTriggerProps, Portal, Presence, Progress, ProgressBar, ProgressBarProps, ProgressCircle, ProgressCircleProps, ProgressIndicator, ProgressIndicatorProps, ProgressProps, ProgressSize, ProgressStep, ProgressVariant, Prose, ProseProps, PullToRefresh, PullToRefreshProps, QrCode, QrCodeProps, RadialProgress, RadialProgressProps, RadialProgressSize, RadialProgressVariant, Radio, RadioCard, RadioCardGroup, RadioCardGroupProps, RadioCardProps, RadioGroup, RadioGroupProps, RadioProps, RatingGroup, RatingGroupLabels, RatingGroupProps, RelativeTime, RelativeTimeProps, Resizable, ResizableProps, Responsive, ScrollArea, ScrollAreaProps, Search, SearchProps, SegmentedControl, SegmentedControlOption, SegmentedControlProps, Select, SelectOption, SelectProps, Separator, SeparatorProps, Sheet, SheetProps, ShellHeader, ShellHeaderAction, ShellHeaderBrand, ShellHeaderLabels, ShellHeaderNavItem, ShellHeaderNavLink, ShellHeaderNavMenu, ShellHeaderNavMenuItem, ShellHeaderProps, SideNav, SideNavGroup, SideNavItem, SideNavLinkProps, SideNavLinkSubItem, SideNavProps, SideNavSubItem, SideNavTone, Skeleton, SkeletonProps, SkipNavLink, SkipNavLinkProps, SkipNavTarget, SkipNavTargetProps, Slider, SliderProps, Slot, type SlotProps, SortDirection, SortState, Spacer, SpacerProps, Spinner, SpinnerProps, Stack, StackProps, type StandardSchemaV1, Stat, StatProps, Status, StatusProps, Step, StepState, Steps, StepsProps, StructuredList, StructuredListItem, StructuredListProps, SuspenseBoundary, Swap, SwapMode, SwapProps, SwipeAction, SwipeItem, SwipeItemProps, Switcher, SwitcherEntry, SwitcherLink, SwitcherProps, Tabs, TabsContent, TabsContentProps, TabsList, TabsProps, TabsTrigger, TabsTriggerProps, Tag, TagProps, TagsInput, TagsInputProps, Text, TextProps, Textarea, TextareaProps, ThemeProvider, type ThemeProviderProps, Tile, TileProps, TimePicker, TimePickerProps, Timeline, TimelineItem, TimelineProps, ToastOptions, ToastProvider, ToastVariant, Toc, TocItem, TocProps, Toggle, ToggleGroup, ToggleGroupItem, ToggleGroupProps, ToggleProps, Toggletip, ToggletipPlacement, ToggletipProps, Tooltip, TooltipProps, TreeNode, TreeView, TreeViewProps, UploaderFile, type UseClipboardOptions, type UseClipboardReturn, type UseControllableSignalOptions, type UseDisclosureOptions, type UseDisclosureReturn, type UsePopoverOptions, type UsePopoverReturn, type UseTocFromRegionOptions, User, UserProps, VisuallyHidden, VisuallyHiddenProps, applyTheme, batch, cn, composeRefs, computePosition, computed, createForm, createMachine, createScope, createStreamBuffer, dismissAllToasts, effect, fuzzyMatch, fuzzyScore, getLinkComponent, mergeProps, setLinkComponent, setTheme, signal, themePreloadScript, themeSignal, treeViewMessages, useAnchorPosition, useClipboard, useComputed, useControllableSignal, useDisclosure, useEffectPropSignal, useForm, useId, useMachine, useMediaQuery, usePopover, useRovingFocus, useScope, useScrollLock, useSignal, useSignalEffect, useSignals, useStreamBuffer, useTheme, useToast, useTocFromRegion, useTypeahead };
|
|
4985
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionItemProps, AccordionProps, AccordionTrigger, ActionSheet, ActionSheetAction, ActionSheetProps, Alert, AlertDialog, AlertDialogLabels, AlertDialogProps, AlertProps, AppShell, AppShellProps, AspectRatio, AspectRatioProps, AutoGrid, AutoGridProps, Avatar, AvatarGroup, AvatarGroupLabels, AvatarGroupProps, AvatarProps, Badge, BadgeProps, Blockquote, BlockquoteProps, BottomSheet, BottomSheetProps, Breadcrumb, BreadcrumbItem, BreadcrumbProps, Button, ButtonGroup, ButtonGroupProps, ButtonProps, Calendar, CalendarLabels, CalendarProps, Card, CardContent, CardContentProps, CardFooter, CardFooterProps, CardHeader, CardHeaderProps, CardProps, CardTitle, CardTitleProps, Carousel, CarouselLabels, CarouselProps, Center, CenterProps, ChatBubble, ChatBubbleProps, ChatBubbleSide, Checkbox, CheckboxCard, CheckboxCardProps, CheckboxProps, Code, type CodeLang, CodeProps, CodeSnippet, CodeSnippetProps, Collapsible, CollapsibleProps, ColorPicker, ColorPickerLabels, ColorPickerProps, Column, Columns, ColumnsProps, Combobox, ComboboxLabels, ComboboxOption, ComboboxProps, CommandAction, CommandGroup, CommandItem, CommandMenu, CommandMenuProps, CommandPage, CommandScope, CommandStatus, Comparison, ComparisonProps, ContainedList, ContainedListItem, ContainedListItemProps, ContainedListProps, ContextMenu, ContextMenuItem, ContextMenuItemProps, ContextMenuProps, CopyButton, CopyButtonProps, DataList, DataListItem, DataListProps, DataTable, DataTableLabels, DataTableProps, DatePicker, DatePickerLabels, DatePickerProps, DateRange, DateRangePicker, DateRangePickerLabels, DateRangePickerProps, DateRangePreset, DismissableLayer, type DismissableLayerProps, Dock, DockItem, DockProps, Drawer, DrawerProps, Dropdown, DropdownItem, DropdownProps, Editable, EditableProps, EmptyState, EmptyStateProps, ErrorBoundary, Fab, FabAction, FabProps, Field, FieldProps, FileUploader, FileUploaderLabels, FileUploaderProps, Filter, FilterOption, FilterProps, FilterVariant, Flex, FlexProps, FocusScope, Form, FormConfig, FormProps, FormStore, FuzzyMatch, Grid, GridAlign, GridItem, GridItemProps, GridProps, Header, HeaderLabels, HeaderLink, HeaderPanel, HeaderPanelLabels, HeaderPanelProps, HeaderProps, Heading, HeadingLevel, HeadingProps, HeadingSize, HoverCard, HoverCardContent, HoverCardContentProps, HoverCardProps, HoverCardTrigger, HoverCardTriggerProps, IconButton, IconButtonProps, Image, ImageProps, Indicator, IndicatorPlacement, IndicatorProps, InfiniteScroll, InfiniteScrollProps, InlineLoading, InlineLoadingProps, InlineLoadingStatus, Input, InputGroup, InputGroupAddon, type InputGroupAddonProps, type InputGroupProps, InputProps, Item, ItemActions, ItemActionsProps, ItemContent, ItemContentProps, ItemDescription, ItemDescriptionProps, ItemMedia, ItemMediaProps, ItemProps, ItemTitle, ItemTitleProps, Join, JoinOrientation, JoinProps, Kbd, KbdProps, Label, LabelProps, LargeTitleHeader, LargeTitleHeaderProps, Link, type LinkComponent, type LinkComponentProps, LinkProps, List, ListItem, ListItemProps, ListProps, LogLevel, LogLine, LogViewer, LogViewerLabels, LogViewerProps, type Machine, type MachineConfig, Menu, MenuButton, MenuButtonItem, MenuButtonProps, MenuItem, MenuItemProps, MenuProps, MenuSeparator, MenuTrigger, MenuTriggerProps, Menubar, MenubarBaseProps, MenubarItem, MenubarMenu, MenubarProps, Modal, ModalProps, MultiSelect, MultiSelectLabels, MultiSelectOption, MultiSelectProps, NativeSelect, NativeSelectOption, NativeSelectProps, NavigationMenu, NavigationMenuItem, NavigationMenuProps, Notification, NotificationProps, NotificationVariant, NumberInput, NumberInputProps, OtpInput, OtpInputProps, OverflowMenu, OverflowMenuItem, OverflowMenuProps, PageHeader, PageHeaderProps, Pagination, PaginationLabels, PaginationProps, PasswordInput, PasswordInputLabels, PasswordInputProps, Popover, PopoverContent, PopoverContentProps, PopoverProps, PopoverTrigger, PopoverTriggerProps, Portal, Presence, Progress, ProgressBar, ProgressBarProps, ProgressCircle, ProgressCircleProps, ProgressIndicator, ProgressIndicatorProps, ProgressProps, ProgressSize, ProgressStep, ProgressVariant, Prose, ProseProps, PullToRefresh, PullToRefreshProps, QrCode, QrCodeProps, RadialProgress, RadialProgressProps, RadialProgressSize, RadialProgressVariant, Radio, RadioCard, RadioCardGroup, RadioCardGroupProps, RadioCardProps, RadioGroup, RadioGroupProps, RadioProps, RatingGroup, RatingGroupLabels, RatingGroupProps, RelativeTime, RelativeTimeProps, ReorderItem, ReorderList, ReorderListProps, Resizable, ResizableProps, Responsive, ScrollArea, ScrollAreaProps, Search, SearchProps, SegmentedControl, SegmentedControlOption, SegmentedControlProps, Select, SelectOption, SelectProps, Separator, SeparatorProps, Sheet, SheetProps, ShellHeader, ShellHeaderAction, ShellHeaderBrand, ShellHeaderLabels, ShellHeaderNavItem, ShellHeaderNavLink, ShellHeaderNavMenu, ShellHeaderNavMenuItem, ShellHeaderProps, SideNav, SideNavGroup, SideNavItem, SideNavLinkProps, SideNavLinkSubItem, SideNavProps, SideNavSubItem, SideNavTone, Skeleton, SkeletonProps, SkipNavLink, SkipNavLinkProps, SkipNavTarget, SkipNavTargetProps, Slider, SliderProps, Slot, type SlotProps, SortDirection, SortState, Spacer, SpacerProps, Spinner, SpinnerProps, Stack, StackProps, type StandardSchemaV1, Stat, StatProps, Status, StatusProps, Step, StepState, Steps, StepsProps, StructuredList, StructuredListItem, StructuredListProps, SuspenseBoundary, Swap, SwapMode, SwapProps, SwipeAction, SwipeItem, SwipeItemProps, Switcher, SwitcherEntry, SwitcherLink, SwitcherProps, Tabs, TabsContent, TabsContentProps, TabsList, TabsProps, TabsTrigger, TabsTriggerProps, Tag, TagProps, TagsInput, TagsInputProps, Text, TextProps, Textarea, TextareaProps, ThemeProvider, type ThemeProviderProps, Tile, TileProps, TimePicker, TimePickerProps, Timeline, TimelineItem, TimelineProps, ToastOptions, ToastProvider, ToastVariant, Toc, TocItem, TocProps, Toggle, ToggleGroup, ToggleGroupItem, ToggleGroupProps, ToggleProps, Toggletip, ToggletipPlacement, ToggletipProps, Tooltip, TooltipProps, TreeNode, TreeView, TreeViewProps, UploaderFile, type UseClipboardOptions, type UseClipboardReturn, type UseControllableSignalOptions, type UseDisclosureOptions, type UseDisclosureReturn, type UsePopoverOptions, type UsePopoverReturn, type UseTocFromRegionOptions, User, UserProps, VirtualList, VirtualListProps, VisuallyHidden, VisuallyHiddenProps, WheelPicker, WheelPickerOption, WheelPickerProps, applyTheme, batch, cn, composeRefs, computePosition, computed, createForm, createMachine, createScope, createStreamBuffer, dismissAllToasts, effect, fuzzyMatch, fuzzyScore, getLinkComponent, mergeProps, setLinkComponent, setTheme, signal, themePreloadScript, themeSignal, treeViewMessages, useAnchorPosition, useClipboard, useComputed, useControllableSignal, useDisclosure, useEffectPropSignal, useForm, useId, useMachine, useMediaQuery, usePopover, useRovingFocus, useScope, useScrollLock, useSignal, useSignalEffect, useSignals, useStreamBuffer, useTheme, useToast, useTocFromRegion, useTypeahead };
|