@cascivo/react 0.18.0 → 1.1.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 +9 -7
- package/dist/accordion/accordion.js +1 -114
- package/dist/accordion/accordion.module.js +1 -10
- package/dist/action-sheet/action-sheet.css +1 -1
- package/dist/action-sheet/action-sheet.js +1 -91
- package/dist/action-sheet/action-sheet.module.js +1 -12
- package/dist/alert/alert.js +1 -55
- package/dist/alert/alert.module.js +1 -11
- package/dist/alert-dialog/alert-dialog.css +1 -1
- package/dist/alert-dialog/alert-dialog.js +1 -66
- package/dist/alert-dialog/alert-dialog.module.js +1 -11
- package/dist/app-shell/app-shell.css +1 -1
- package/dist/app-shell/app-shell.js +1 -85
- package/dist/app-shell/app-shell.module.js +1 -12
- package/dist/aspect-ratio/aspect-ratio.js +1 -20
- package/dist/aspect-ratio/aspect-ratio.module.js +1 -6
- package/dist/avatar/avatar.js +1 -57
- package/dist/avatar/avatar.module.js +1 -8
- package/dist/avatar-group/avatar-group.js +1 -24
- package/dist/avatar-group/avatar-group.module.js +1 -6
- package/dist/badge/badge.js +1 -22
- package/dist/badge/badge.module.js +1 -3
- package/dist/blockquote/blockquote.js +1 -16
- package/dist/blockquote/blockquote.module.js +1 -6
- package/dist/bottom-sheet/bottom-sheet.js +1 -111
- package/dist/bottom-sheet/bottom-sheet.module.js +1 -14
- package/dist/brand/logo/logo.css +1 -0
- package/dist/brand/logo/logo.js +1 -0
- package/dist/brand/logo/logo.module.js +2 -0
- package/dist/breadcrumb/breadcrumb.js +1 -28
- package/dist/breadcrumb/breadcrumb.module.js +1 -3
- package/dist/button/button.css +1 -1
- package/dist/button/button.js +1 -35
- package/dist/button/button.module.js +1 -6
- package/dist/button-group/button-group.js +1 -39
- package/dist/button-group/button-group.module.js +1 -3
- package/dist/calendar/calendar-date.js +1 -0
- package/dist/calendar/calendar.css +1 -1
- package/dist/calendar/calendar.js +1 -199
- package/dist/calendar/calendar.module.js +1 -14
- package/dist/card/card.js +1 -53
- package/dist/card/card.module.js +1 -12
- package/dist/carousel/carousel.css +1 -1
- package/dist/carousel/carousel.js +1 -138
- package/dist/carousel/carousel.module.js +1 -13
- package/dist/chat-bubble/chat-bubble.js +1 -31
- package/dist/chat-bubble/chat-bubble.module.js +1 -11
- package/dist/checkbox/checkbox.js +1 -38
- package/dist/checkbox/checkbox.module.js +1 -8
- package/dist/checkbox-card/checkbox-card.css +1 -1
- package/dist/checkbox-card/checkbox-card.js +1 -50
- package/dist/checkbox-card/checkbox-card.module.js +1 -11
- package/dist/code/code.js +1 -14
- package/dist/code/code.module.js +1 -3
- package/dist/code-snippet/code-snippet.js +2 -121
- package/dist/code-snippet/code-snippet.module.js +1 -17
- package/dist/code-snippet/highlight.js +1 -67
- package/dist/collapsible/collapsible.js +1 -47
- package/dist/collapsible/collapsible.module.js +1 -7
- package/dist/color-picker/color-picker.css +1 -1
- package/dist/color-picker/color-picker.js +1 -268
- package/dist/color-picker/color-picker.module.js +1 -18
- package/dist/color-picker/color.js +1 -0
- package/dist/combobox/combobox.css +1 -1
- package/dist/combobox/combobox.js +1 -165
- package/dist/combobox/combobox.module.js +1 -19
- package/dist/combobox/list-nav.js +1 -0
- package/dist/combobox/option-list.js +1 -0
- package/dist/command-menu/command-menu.js +1 -421
- package/dist/command-menu/command-menu.module.js +1 -34
- package/dist/comparison/comparison.js +1 -69
- package/dist/comparison/comparison.module.js +1 -9
- package/dist/contained-list/contained-list.js +1 -41
- package/dist/contained-list/contained-list.module.js +1 -11
- package/dist/context-menu/context-menu.js +1 -93
- package/dist/context-menu/context-menu.module.js +1 -7
- package/dist/copy-button/copy-button.js +1 -60
- package/dist/copy-button/copy-button.module.js +1 -6
- package/dist/data-list/data-list.js +1 -25
- package/dist/data-list/data-list.module.js +1 -8
- package/dist/data-table/column-filter.js +1 -0
- package/dist/data-table/column-layout.js +1 -0
- package/dist/data-table/data-table.css +1 -1
- package/dist/data-table/data-table.js +1 -371
- package/dist/data-table/data-table.module.js +1 -33
- package/dist/data-table/grid-keys.js +1 -0
- package/dist/data-table/row-group.js +1 -0
- package/dist/data-table/row-search.js +1 -0
- package/dist/data-table/row-sort.js +1 -0
- package/dist/data-table/to-csv.js +3 -0
- package/dist/data-table/virtual-window.js +1 -0
- package/dist/date-picker/date-picker.css +1 -1
- package/dist/date-picker/date-picker.js +1 -219
- package/dist/date-picker/date-picker.module.js +1 -23
- package/dist/date-picker/parse-date.js +1 -0
- package/dist/date-range-picker/date-range-picker.js +1 -196
- package/dist/date-range-picker/date-range-picker.module.js +1 -18
- package/dist/dock/dock.css +1 -1
- package/dist/dock/dock.js +1 -34
- package/dist/dock/dock.module.js +1 -8
- package/dist/drawer/drawer.js +1 -96
- package/dist/drawer/drawer.module.js +1 -13
- package/dist/dropdown/dropdown.css +1 -1
- package/dist/dropdown/dropdown.js +1 -107
- package/dist/dropdown/dropdown.module.js +1 -9
- package/dist/editable/editable.js +1 -67
- package/dist/editable/editable.module.js +1 -11
- package/dist/empty-state/empty-state.js +1 -32
- package/dist/empty-state/empty-state.module.js +1 -9
- package/dist/fab/fab.css +1 -1
- package/dist/fab/fab.js +1 -93
- package/dist/fab/fab.module.js +1 -12
- package/dist/field/field.css +1 -1
- package/dist/field/field.js +1 -46
- package/dist/field/field.module.js +1 -7
- package/dist/file-uploader/file-uploader.css +1 -1
- package/dist/file-uploader/file-uploader.js +1 -122
- package/dist/file-uploader/file-uploader.module.js +1 -18
- package/dist/filter/filter.css +1 -1
- package/dist/filter/filter.js +1 -35
- package/dist/filter/filter.module.js +1 -6
- package/dist/form/form.js +1 -95
- package/dist/form/form.module.js +1 -3
- package/dist/header/header.js +1 -44
- package/dist/header/header.module.js +1 -11
- package/dist/header-panel/header-panel.js +1 -72
- package/dist/header-panel/header-panel.module.js +1 -9
- package/dist/heading/heading.css +1 -1
- package/dist/heading/heading.js +1 -22
- package/dist/heading/heading.module.js +1 -3
- package/dist/hover-card/hover-card.css +1 -1
- package/dist/hover-card/hover-card.js +1 -84
- package/dist/hover-card/hover-card.module.js +1 -6
- package/dist/icon-button/icon-button.js +1 -19
- package/dist/icon-button/icon-button.module.js +1 -3
- package/dist/image/image.css +1 -1
- package/dist/image/image.js +1 -64
- package/dist/image/image.module.js +1 -9
- package/dist/index.d.ts +2084 -120
- package/dist/indicator/indicator.js +1 -16
- package/dist/indicator/indicator.module.js +1 -6
- package/dist/infinite-scroll/infinite-scroll.js +1 -49
- package/dist/infinite-scroll/infinite-scroll.module.js +1 -7
- package/dist/inline-loading/inline-loading.js +1 -74
- package/dist/inline-loading/inline-loading.module.js +1 -9
- package/dist/input/input.css +1 -1
- package/dist/input/input.js +1 -55
- package/dist/input/input.module.js +1 -9
- package/dist/input-group/input-group.css +1 -1
- package/dist/input-group/input-group.js +1 -39
- package/dist/input-group/input-group.module.js +1 -9
- package/dist/item/item.js +1 -50
- package/dist/item/item.module.js +1 -10
- package/dist/join/join.js +1 -12
- package/dist/join/join.module.js +1 -3
- package/dist/kbd/kbd.js +1 -14
- package/dist/kbd/kbd.module.js +1 -3
- package/dist/label/label.js +1 -23
- package/dist/label/label.module.js +1 -7
- package/dist/large-title-header/large-title-header.js +1 -38
- package/dist/large-title-header/large-title-header.module.js +1 -12
- package/dist/layouts/src/auto-grid/auto-grid.js +1 -17
- package/dist/layouts/src/auto-grid/auto-grid.module.js +1 -4
- package/dist/layouts/src/center/center.js +1 -16
- package/dist/layouts/src/center/center.module.js +1 -3
- package/dist/layouts/src/columns/columns.js +1 -21
- package/dist/layouts/src/columns/columns.module.js +1 -6
- package/dist/layouts/src/flex/flex.js +1 -20
- package/dist/layouts/src/flex/flex.module.js +1 -3
- package/dist/layouts/src/grid/grid.css +1 -1
- package/dist/layouts/src/grid/grid.js +1 -55
- package/dist/layouts/src/grid/grid.module.js +1 -7
- package/dist/layouts/src/page-header/page-header.js +1 -31
- package/dist/layouts/src/page-header/page-header.module.js +1 -10
- package/dist/layouts/src/spacer/spacer.js +1 -17
- package/dist/layouts/src/spacer/spacer.module.js +1 -3
- package/dist/link/link.css +1 -1
- package/dist/link/link.js +1 -22
- package/dist/link/link.module.js +1 -3
- package/dist/list/list.js +1 -21
- package/dist/list/list.module.js +1 -6
- package/dist/log-viewer/log-viewer.css +1 -1
- package/dist/log-viewer/log-viewer.js +2 -184
- package/dist/log-viewer/log-viewer.module.js +1 -16
- package/dist/menu/menu.js +1 -126
- package/dist/menu/menu.module.js +1 -8
- package/dist/menu-button/menu-button.js +1 -92
- package/dist/menu-button/menu-button.module.js +1 -8
- package/dist/menubar/menubar.js +1 -103
- package/dist/menubar/menubar.module.js +1 -8
- package/dist/modal/modal.css +1 -1
- package/dist/modal/modal.js +1 -76
- package/dist/modal/modal.module.js +1 -12
- package/dist/multi-select/list-nav.js +1 -0
- package/dist/multi-select/multi-select.css +1 -1
- package/dist/multi-select/multi-select.js +1 -106
- package/dist/multi-select/multi-select.module.js +1 -15
- package/dist/multi-select/option-list.js +1 -0
- package/dist/native-select/native-select.css +1 -1
- package/dist/native-select/native-select.js +1 -37
- package/dist/native-select/native-select.module.js +1 -7
- package/dist/navigation-menu/navigation-menu.js +1 -99
- package/dist/navigation-menu/navigation-menu.module.js +1 -10
- package/dist/node/accordion/accordion.js +1 -114
- package/dist/node/accordion/accordion.module.js +1 -10
- package/dist/node/action-sheet/action-sheet.js +1 -91
- package/dist/node/action-sheet/action-sheet.module.js +1 -12
- package/dist/node/alert/alert.js +1 -55
- package/dist/node/alert/alert.module.js +1 -11
- package/dist/node/alert-dialog/alert-dialog.js +1 -66
- package/dist/node/alert-dialog/alert-dialog.module.js +1 -11
- package/dist/node/app-shell/app-shell.js +1 -85
- package/dist/node/app-shell/app-shell.module.js +1 -12
- package/dist/node/aspect-ratio/aspect-ratio.js +1 -20
- package/dist/node/aspect-ratio/aspect-ratio.module.js +1 -6
- package/dist/node/avatar/avatar.js +1 -57
- package/dist/node/avatar/avatar.module.js +1 -8
- package/dist/node/avatar-group/avatar-group.js +1 -24
- package/dist/node/avatar-group/avatar-group.module.js +1 -6
- package/dist/node/badge/badge.js +1 -22
- package/dist/node/badge/badge.module.js +1 -3
- package/dist/node/blockquote/blockquote.js +1 -16
- package/dist/node/blockquote/blockquote.module.js +1 -6
- package/dist/node/bottom-sheet/bottom-sheet.js +1 -111
- package/dist/node/bottom-sheet/bottom-sheet.module.js +1 -14
- package/dist/node/brand/logo/logo.js +1 -0
- package/dist/node/brand/logo/logo.module.js +1 -0
- package/dist/node/breadcrumb/breadcrumb.js +1 -28
- package/dist/node/breadcrumb/breadcrumb.module.js +1 -3
- package/dist/node/button/button.js +1 -35
- package/dist/node/button/button.module.js +1 -6
- package/dist/node/button-group/button-group.js +1 -39
- package/dist/node/button-group/button-group.module.js +1 -3
- package/dist/node/calendar/calendar-date.js +1 -0
- package/dist/node/calendar/calendar.js +1 -199
- package/dist/node/calendar/calendar.module.js +1 -14
- package/dist/node/card/card.js +1 -53
- package/dist/node/card/card.module.js +1 -12
- package/dist/node/carousel/carousel.js +1 -138
- package/dist/node/carousel/carousel.module.js +1 -13
- package/dist/node/chat-bubble/chat-bubble.js +1 -31
- package/dist/node/chat-bubble/chat-bubble.module.js +1 -11
- package/dist/node/checkbox/checkbox.js +1 -38
- package/dist/node/checkbox/checkbox.module.js +1 -8
- package/dist/node/checkbox-card/checkbox-card.js +1 -50
- package/dist/node/checkbox-card/checkbox-card.module.js +1 -11
- package/dist/node/code/code.js +1 -14
- package/dist/node/code/code.module.js +1 -3
- package/dist/node/code-snippet/code-snippet.js +2 -121
- package/dist/node/code-snippet/code-snippet.module.js +1 -17
- package/dist/node/code-snippet/highlight.js +1 -67
- package/dist/node/collapsible/collapsible.js +1 -47
- package/dist/node/collapsible/collapsible.module.js +1 -7
- package/dist/node/color-picker/color-picker.js +1 -268
- package/dist/node/color-picker/color-picker.module.js +1 -18
- package/dist/node/color-picker/color.js +1 -0
- package/dist/node/combobox/combobox.js +1 -165
- package/dist/node/combobox/combobox.module.js +1 -19
- package/dist/node/combobox/list-nav.js +1 -0
- package/dist/node/combobox/option-list.js +1 -0
- package/dist/node/command-menu/command-menu.js +1 -421
- package/dist/node/command-menu/command-menu.module.js +1 -34
- package/dist/node/comparison/comparison.js +1 -69
- package/dist/node/comparison/comparison.module.js +1 -9
- package/dist/node/contained-list/contained-list.js +1 -41
- package/dist/node/contained-list/contained-list.module.js +1 -11
- package/dist/node/context-menu/context-menu.js +1 -93
- package/dist/node/context-menu/context-menu.module.js +1 -7
- package/dist/node/copy-button/copy-button.js +1 -60
- package/dist/node/copy-button/copy-button.module.js +1 -6
- package/dist/node/data-list/data-list.js +1 -25
- package/dist/node/data-list/data-list.module.js +1 -8
- package/dist/node/data-table/column-filter.js +1 -0
- package/dist/node/data-table/column-layout.js +1 -0
- package/dist/node/data-table/data-table.js +1 -371
- package/dist/node/data-table/data-table.module.js +1 -33
- package/dist/node/data-table/grid-keys.js +1 -0
- package/dist/node/data-table/row-group.js +1 -0
- package/dist/node/data-table/row-search.js +1 -0
- package/dist/node/data-table/row-sort.js +1 -0
- package/dist/node/data-table/to-csv.js +3 -0
- package/dist/node/data-table/virtual-window.js +1 -0
- package/dist/node/date-picker/date-picker.js +1 -219
- package/dist/node/date-picker/date-picker.module.js +1 -23
- package/dist/node/date-picker/parse-date.js +1 -0
- package/dist/node/date-range-picker/date-range-picker.js +1 -196
- package/dist/node/date-range-picker/date-range-picker.module.js +1 -18
- package/dist/node/dock/dock.js +1 -34
- package/dist/node/dock/dock.module.js +1 -8
- package/dist/node/drawer/drawer.js +1 -96
- package/dist/node/drawer/drawer.module.js +1 -13
- package/dist/node/dropdown/dropdown.js +1 -107
- package/dist/node/dropdown/dropdown.module.js +1 -9
- package/dist/node/editable/editable.js +1 -67
- package/dist/node/editable/editable.module.js +1 -11
- package/dist/node/empty-state/empty-state.js +1 -32
- package/dist/node/empty-state/empty-state.module.js +1 -9
- package/dist/node/fab/fab.js +1 -93
- package/dist/node/fab/fab.module.js +1 -12
- package/dist/node/field/field.js +1 -46
- package/dist/node/field/field.module.js +1 -7
- package/dist/node/file-uploader/file-uploader.js +1 -122
- package/dist/node/file-uploader/file-uploader.module.js +1 -18
- package/dist/node/filter/filter.js +1 -35
- package/dist/node/filter/filter.module.js +1 -6
- package/dist/node/form/form.js +1 -95
- package/dist/node/form/form.module.js +1 -3
- package/dist/node/header/header.js +1 -44
- package/dist/node/header/header.module.js +1 -11
- package/dist/node/header-panel/header-panel.js +1 -72
- package/dist/node/header-panel/header-panel.module.js +1 -9
- package/dist/node/heading/heading.js +1 -22
- package/dist/node/heading/heading.module.js +1 -3
- package/dist/node/hover-card/hover-card.js +1 -84
- package/dist/node/hover-card/hover-card.module.js +1 -6
- package/dist/node/icon-button/icon-button.js +1 -19
- package/dist/node/icon-button/icon-button.module.js +1 -3
- package/dist/node/image/image.js +1 -64
- package/dist/node/image/image.module.js +1 -9
- package/dist/node/indicator/indicator.js +1 -16
- package/dist/node/indicator/indicator.module.js +1 -6
- package/dist/node/infinite-scroll/infinite-scroll.js +1 -49
- package/dist/node/infinite-scroll/infinite-scroll.module.js +1 -7
- package/dist/node/inline-loading/inline-loading.js +1 -74
- package/dist/node/inline-loading/inline-loading.module.js +1 -9
- package/dist/node/input/input.js +1 -55
- package/dist/node/input/input.module.js +1 -9
- package/dist/node/input-group/input-group.js +1 -39
- package/dist/node/input-group/input-group.module.js +1 -9
- package/dist/node/item/item.js +1 -50
- package/dist/node/item/item.module.js +1 -10
- package/dist/node/join/join.js +1 -12
- package/dist/node/join/join.module.js +1 -3
- package/dist/node/kbd/kbd.js +1 -14
- package/dist/node/kbd/kbd.module.js +1 -3
- package/dist/node/label/label.js +1 -23
- package/dist/node/label/label.module.js +1 -7
- package/dist/node/large-title-header/large-title-header.js +1 -38
- package/dist/node/large-title-header/large-title-header.module.js +1 -12
- package/dist/node/layouts/src/auto-grid/auto-grid.js +1 -17
- package/dist/node/layouts/src/auto-grid/auto-grid.module.js +1 -4
- package/dist/node/layouts/src/center/center.js +1 -16
- package/dist/node/layouts/src/center/center.module.js +1 -3
- package/dist/node/layouts/src/columns/columns.js +1 -21
- package/dist/node/layouts/src/columns/columns.module.js +1 -6
- package/dist/node/layouts/src/flex/flex.js +1 -20
- package/dist/node/layouts/src/flex/flex.module.js +1 -3
- package/dist/node/layouts/src/grid/grid.js +1 -55
- package/dist/node/layouts/src/grid/grid.module.js +1 -7
- package/dist/node/layouts/src/page-header/page-header.js +1 -31
- package/dist/node/layouts/src/page-header/page-header.module.js +1 -10
- package/dist/node/layouts/src/spacer/spacer.js +1 -17
- package/dist/node/layouts/src/spacer/spacer.module.js +1 -3
- package/dist/node/link/link.js +1 -22
- package/dist/node/link/link.module.js +1 -3
- package/dist/node/list/list.js +1 -21
- package/dist/node/list/list.module.js +1 -6
- package/dist/node/log-viewer/log-viewer.js +2 -184
- package/dist/node/log-viewer/log-viewer.module.js +1 -16
- package/dist/node/menu/menu.js +1 -126
- package/dist/node/menu/menu.module.js +1 -8
- package/dist/node/menu-button/menu-button.js +1 -92
- package/dist/node/menu-button/menu-button.module.js +1 -8
- package/dist/node/menubar/menubar.js +1 -103
- package/dist/node/menubar/menubar.module.js +1 -8
- package/dist/node/modal/modal.js +1 -76
- package/dist/node/modal/modal.module.js +1 -12
- package/dist/node/multi-select/list-nav.js +1 -0
- package/dist/node/multi-select/multi-select.js +1 -106
- package/dist/node/multi-select/multi-select.module.js +1 -15
- package/dist/node/multi-select/option-list.js +1 -0
- package/dist/node/native-select/native-select.js +1 -37
- package/dist/node/native-select/native-select.module.js +1 -7
- package/dist/node/navigation-menu/navigation-menu.js +1 -99
- package/dist/node/navigation-menu/navigation-menu.module.js +1 -10
- package/dist/node/notification/notification.js +1 -140
- package/dist/node/notification/notification.module.js +1 -11
- package/dist/node/number-input/number-input.js +1 -147
- package/dist/node/number-input/number-input.module.js +1 -12
- package/dist/node/otp-input/otp-input.js +1 -70
- package/dist/node/otp-input/otp-input.module.js +1 -6
- package/dist/node/overflow-menu/overflow-menu.js +1 -70
- package/dist/node/overflow-menu/overflow-menu.module.js +1 -7
- package/dist/node/pagination/pagination.js +1 -92
- package/dist/node/pagination/pagination.module.js +1 -11
- package/dist/node/password-input/password-input.js +1 -81
- package/dist/node/password-input/password-input.module.js +1 -11
- package/dist/node/popover/popover.js +1 -51
- package/dist/node/popover/popover.module.js +1 -6
- package/dist/node/popover/use-popover.js +1 -55
- package/dist/node/progress/progress.js +1 -16
- package/dist/node/progress/progress.module.js +1 -6
- package/dist/node/progress-bar/progress-bar.js +1 -42
- package/dist/node/progress-bar/progress-bar.module.js +1 -11
- package/dist/node/progress-circle/progress-circle.js +1 -46
- package/dist/node/progress-circle/progress-circle.module.js +1 -9
- package/dist/node/progress-indicator/progress-indicator.js +1 -34
- package/dist/node/progress-indicator/progress-indicator.module.js +1 -10
- package/dist/node/prose/prose.js +1 -13
- package/dist/node/prose/prose.module.js +1 -3
- package/dist/node/pull-to-refresh/pull-to-refresh.js +1 -82
- package/dist/node/pull-to-refresh/pull-to-refresh.module.js +1 -9
- package/dist/node/qr-code/encode.js +1 -583
- package/dist/node/qr-code/qr-code.js +1 -41
- package/dist/node/qr-code/qr-code.module.js +1 -6
- package/dist/node/radial-progress/radial-progress.js +1 -27
- package/dist/node/radial-progress/radial-progress.module.js +1 -6
- package/dist/node/radio/radio.js +1 -48
- package/dist/node/radio/radio.module.js +1 -9
- package/dist/node/radio-card/radio-card.js +1 -64
- package/dist/node/radio-card/radio-card.module.js +1 -11
- package/dist/node/rating-group/rating-group.js +1 -37
- package/dist/node/rating-group/rating-group.module.js +1 -6
- package/dist/node/react/src/index.js +1 -141
- package/dist/node/relative-time/relative-time.js +1 -66
- package/dist/node/relative-time/relative-time.module.js +1 -3
- package/dist/node/reorder-list/reorder-list.js +1 -143
- package/dist/node/reorder-list/reorder-list.module.js +1 -11
- package/dist/node/resizable/resizable.js +1 -80
- package/dist/node/resizable/resizable.module.js +1 -8
- package/dist/node/scroll-area/scroll-area.js +1 -38
- package/dist/node/scroll-area/scroll-area.module.js +1 -3
- package/dist/node/search/search.js +1 -92
- package/dist/node/search/search.module.js +1 -9
- package/dist/node/segmented-control/segmented-control.js +1 -43
- package/dist/node/segmented-control/segmented-control.module.js +1 -6
- package/dist/node/select/select.js +1 -72
- package/dist/node/select/select.module.js +1 -11
- package/dist/node/separator/separator.js +1 -19
- package/dist/node/separator/separator.module.js +1 -3
- package/dist/node/sheet/sheet.js +1 -49
- package/dist/node/sheet/sheet.module.js +1 -9
- package/dist/node/shell-header/shell-header.js +1 -169
- package/dist/node/shell-header/shell-header.module.js +1 -24
- package/dist/node/side-nav/side-nav.js +1 -334
- package/dist/node/side-nav/side-nav.module.js +1 -31
- package/dist/node/skeleton/skeleton.js +1 -23
- package/dist/node/skeleton/skeleton.module.js +1 -7
- package/dist/node/skip-nav/skip-nav.js +1 -28
- package/dist/node/skip-nav/skip-nav.module.js +1 -3
- package/dist/node/slider/slider.js +1 -29
- package/dist/node/slider/slider.module.js +1 -7
- package/dist/node/spinner/spinner.js +1 -18
- package/dist/node/spinner/spinner.module.js +1 -6
- package/dist/node/stack/stack.js +1 -17
- package/dist/node/stack/stack.module.js +1 -6
- package/dist/node/stat/stat.js +1 -41
- package/dist/node/stat/stat.module.js +1 -11
- package/dist/node/status/status.js +1 -25
- package/dist/node/status/status.module.js +1 -7
- package/dist/node/steps/steps.js +1 -35
- package/dist/node/steps/steps.module.js +1 -8
- package/dist/node/structured-list/structured-list.js +1 -102
- package/dist/node/structured-list/structured-list.module.js +1 -12
- package/dist/node/swap/swap.js +1 -36
- package/dist/node/swap/swap.module.js +1 -7
- package/dist/node/swipe-item/swipe-item.js +1 -62
- package/dist/node/swipe-item/swipe-item.module.js +1 -12
- package/dist/node/switcher/switcher.js +1 -32
- package/dist/node/switcher/switcher.module.js +1 -8
- package/dist/node/tabs/tabs.js +1 -98
- package/dist/node/tabs/tabs.module.js +1 -8
- package/dist/node/tag/tag.js +1 -33
- package/dist/node/tag/tag.module.js +1 -6
- package/dist/node/tags-input/tags-input.js +1 -64
- package/dist/node/tags-input/tags-input.module.js +1 -8
- package/dist/node/text/text.js +1 -16
- package/dist/node/text/text.module.js +1 -3
- package/dist/node/textarea/textarea.js +1 -57
- package/dist/node/textarea/textarea.module.js +1 -9
- package/dist/node/tile/tile.js +1 -39
- package/dist/node/tile/tile.module.js +1 -7
- package/dist/node/time-picker/time-picker.js +1 -63
- package/dist/node/time-picker/time-picker.module.js +1 -9
- package/dist/node/timeline/timeline.js +1 -55
- package/dist/node/timeline/timeline.module.js +1 -11
- package/dist/node/toast/toast.js +1 -85
- package/dist/node/toast/toast.module.js +1 -11
- package/dist/node/toc/toc.js +1 -43
- package/dist/node/toc/toc.module.js +1 -3
- package/dist/node/toc/use-toc-from-region.js +1 -18
- package/dist/node/toggle/toggle.js +1 -41
- package/dist/node/toggle/toggle.module.js +1 -8
- package/dist/node/toggle-group/toggle-group.js +1 -55
- package/dist/node/toggle-group/toggle-group.module.js +1 -6
- package/dist/node/toggletip/toggletip.js +1 -49
- package/dist/node/toggletip/toggletip.module.js +1 -7
- package/dist/node/tooltip/tooltip.js +1 -58
- package/dist/node/tooltip/tooltip.module.js +1 -6
- package/dist/node/tree-view/tree-view.js +1 -201
- package/dist/node/tree-view/tree-view.module.js +1 -13
- package/dist/node/user/user.js +1 -35
- package/dist/node/user/user.module.js +1 -9
- package/dist/node/virtual-list/virtual-list.js +1 -40
- package/dist/node/virtual-list/virtual-list.module.js +1 -7
- package/dist/node/visually-hidden/visually-hidden.js +1 -2
- package/dist/node/wheel-picker/wheel-picker.js +1 -84
- package/dist/node/wheel-picker/wheel-picker.module.js +1 -8
- package/dist/notification/notification.js +1 -140
- package/dist/notification/notification.module.js +1 -11
- package/dist/number-input/number-input.js +1 -147
- package/dist/number-input/number-input.module.js +1 -12
- package/dist/otp-input/otp-input.js +1 -70
- package/dist/otp-input/otp-input.module.js +1 -6
- package/dist/overflow-menu/overflow-menu.js +1 -70
- package/dist/overflow-menu/overflow-menu.module.js +1 -7
- package/dist/pagination/pagination.js +1 -92
- package/dist/pagination/pagination.module.js +1 -11
- package/dist/password-input/password-input.js +1 -81
- package/dist/password-input/password-input.module.js +1 -11
- package/dist/popover/popover.js +1 -51
- package/dist/popover/popover.module.js +1 -6
- package/dist/popover/use-popover.js +1 -55
- package/dist/progress/progress.css +1 -1
- package/dist/progress/progress.js +1 -16
- package/dist/progress/progress.module.js +1 -6
- package/dist/progress-bar/progress-bar.css +1 -1
- package/dist/progress-bar/progress-bar.js +1 -42
- package/dist/progress-bar/progress-bar.module.js +1 -11
- package/dist/progress-circle/progress-circle.js +1 -46
- package/dist/progress-circle/progress-circle.module.js +1 -9
- package/dist/progress-indicator/progress-indicator.css +1 -1
- package/dist/progress-indicator/progress-indicator.js +1 -34
- package/dist/progress-indicator/progress-indicator.module.js +1 -10
- package/dist/prose/prose.css +1 -1
- package/dist/prose/prose.js +1 -13
- package/dist/prose/prose.module.js +1 -3
- package/dist/pull-to-refresh/pull-to-refresh.js +1 -82
- package/dist/pull-to-refresh/pull-to-refresh.module.js +1 -9
- package/dist/qr-code/encode.js +1 -583
- package/dist/qr-code/qr-code.js +1 -41
- package/dist/qr-code/qr-code.module.js +1 -6
- package/dist/radial-progress/radial-progress.js +1 -27
- package/dist/radial-progress/radial-progress.module.js +1 -6
- package/dist/radio/radio.js +1 -48
- package/dist/radio/radio.module.js +1 -9
- package/dist/radio-card/radio-card.css +1 -1
- package/dist/radio-card/radio-card.js +1 -64
- package/dist/radio-card/radio-card.module.js +1 -11
- package/dist/rating-group/rating-group.js +1 -37
- package/dist/rating-group/rating-group.module.js +1 -6
- package/dist/react/src/index.js +1 -141
- package/dist/relative-time/relative-time.js +1 -66
- package/dist/relative-time/relative-time.module.js +1 -3
- package/dist/reorder-list/reorder-list.css +1 -1
- package/dist/reorder-list/reorder-list.js +1 -143
- package/dist/reorder-list/reorder-list.module.js +1 -11
- package/dist/resizable/resizable.js +1 -80
- package/dist/resizable/resizable.module.js +1 -8
- package/dist/scroll-area/scroll-area.css +1 -1
- package/dist/scroll-area/scroll-area.js +1 -38
- package/dist/scroll-area/scroll-area.module.js +1 -3
- package/dist/search/search.js +1 -92
- package/dist/search/search.module.js +1 -9
- package/dist/segmented-control/segmented-control.js +1 -43
- package/dist/segmented-control/segmented-control.module.js +1 -6
- package/dist/select/select.js +1 -72
- package/dist/select/select.module.js +1 -11
- package/dist/separator/separator.js +1 -19
- package/dist/separator/separator.module.js +1 -3
- package/dist/sheet/sheet.js +1 -49
- package/dist/sheet/sheet.module.js +1 -9
- package/dist/shell-header/shell-header.css +1 -1
- package/dist/shell-header/shell-header.js +1 -169
- package/dist/shell-header/shell-header.module.js +1 -24
- package/dist/side-nav/side-nav.css +1 -1
- package/dist/side-nav/side-nav.js +1 -334
- package/dist/side-nav/side-nav.module.js +1 -31
- package/dist/skeleton/skeleton.css +1 -1
- package/dist/skeleton/skeleton.js +1 -23
- package/dist/skeleton/skeleton.module.js +1 -7
- package/dist/skip-nav/skip-nav.js +1 -28
- package/dist/skip-nav/skip-nav.module.js +1 -3
- package/dist/slider/slider.js +1 -29
- package/dist/slider/slider.module.js +1 -7
- package/dist/spinner/spinner.css +1 -1
- package/dist/spinner/spinner.js +1 -18
- package/dist/spinner/spinner.module.js +1 -6
- package/dist/stack/stack.js +1 -17
- package/dist/stack/stack.module.js +1 -6
- package/dist/stat/stat.js +1 -41
- package/dist/stat/stat.module.js +1 -11
- package/dist/status/status.css +1 -1
- package/dist/status/status.js +1 -25
- package/dist/status/status.module.js +1 -7
- package/dist/steps/steps.css +1 -1
- package/dist/steps/steps.js +1 -35
- package/dist/steps/steps.module.js +1 -8
- package/dist/structured-list/structured-list.js +1 -102
- package/dist/structured-list/structured-list.module.js +1 -12
- package/dist/styles.css +395 -53
- package/dist/swap/swap.css +1 -1
- package/dist/swap/swap.js +1 -36
- package/dist/swap/swap.module.js +1 -7
- package/dist/swipe-item/swipe-item.js +1 -62
- package/dist/swipe-item/swipe-item.module.js +1 -12
- package/dist/switcher/switcher.js +1 -32
- package/dist/switcher/switcher.module.js +1 -8
- package/dist/tabs/tabs.js +1 -98
- package/dist/tabs/tabs.module.js +1 -8
- package/dist/tag/tag.js +1 -33
- package/dist/tag/tag.module.js +1 -6
- package/dist/tags-input/tags-input.js +1 -64
- package/dist/tags-input/tags-input.module.js +1 -8
- package/dist/text/text.css +1 -1
- package/dist/text/text.js +1 -16
- package/dist/text/text.module.js +1 -3
- package/dist/textarea/textarea.css +1 -1
- package/dist/textarea/textarea.js +1 -57
- package/dist/textarea/textarea.module.js +1 -9
- package/dist/tile/tile.css +1 -1
- package/dist/tile/tile.js +1 -39
- package/dist/tile/tile.module.js +1 -7
- package/dist/time-picker/time-picker.js +1 -63
- package/dist/time-picker/time-picker.module.js +1 -9
- package/dist/timeline/timeline.js +1 -55
- package/dist/timeline/timeline.module.js +1 -11
- package/dist/toast/toast.css +1 -1
- package/dist/toast/toast.js +1 -85
- package/dist/toast/toast.module.js +1 -11
- package/dist/toc/toc.css +1 -1
- package/dist/toc/toc.js +1 -43
- package/dist/toc/toc.module.js +1 -3
- package/dist/toc/use-toc-from-region.js +1 -18
- package/dist/toggle/toggle.js +1 -41
- package/dist/toggle/toggle.module.js +1 -8
- package/dist/toggle-group/toggle-group.js +1 -55
- package/dist/toggle-group/toggle-group.module.js +1 -6
- package/dist/toggletip/toggletip.js +1 -49
- package/dist/toggletip/toggletip.module.js +1 -7
- package/dist/tooltip/tooltip.css +1 -1
- package/dist/tooltip/tooltip.js +1 -58
- package/dist/tooltip/tooltip.module.js +1 -6
- package/dist/tree-view/tree-view.css +1 -1
- package/dist/tree-view/tree-view.js +1 -201
- package/dist/tree-view/tree-view.module.js +1 -13
- package/dist/user/user.js +1 -35
- package/dist/user/user.module.js +1 -9
- package/dist/virtual-list/virtual-list.js +1 -40
- package/dist/virtual-list/virtual-list.module.js +1 -7
- package/dist/visually-hidden/visually-hidden.js +1 -2
- package/dist/wheel-picker/wheel-picker.js +1 -84
- package/dist/wheel-picker/wheel-picker.module.js +1 -8
- package/package.json +4 -4
- package/readme.body.md +7 -5
package/dist/index.d.ts
CHANGED
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
* Quickstart:
|
|
5
5
|
* pnpm add @cascivo/react @preact/signals-react
|
|
6
6
|
* // @cascivo/themes is installed with @cascivo/react. Once, in your entry file:
|
|
7
|
-
* import '@cascivo/themes/
|
|
7
|
+
* import '@cascivo/themes/light-dark.css' // tokens + base + light & dark — REQUIRED for color
|
|
8
|
+
* // all.css is all TWELVE themes (~2x the CSS) — use it only if you ship a theme picker
|
|
8
9
|
* // No-bundler / single-file alternative (themes bundled in): '@cascivo/react/styles.css'
|
|
9
10
|
* import { Button, Card } from '@cascivo/react'
|
|
10
11
|
*
|
|
@@ -21,8 +22,87 @@
|
|
|
21
22
|
* Docs: https://cascivo.com/llms.txt — or fully offline, no website needed:
|
|
22
23
|
* npx -y @cascivo/docs (index; `npx @cascivo/docs <component>` for one doc)
|
|
23
24
|
*/
|
|
24
|
-
import {
|
|
25
|
-
|
|
25
|
+
import {
|
|
26
|
+
AnchorHTMLAttributes,
|
|
27
|
+
ButtonHTMLAttributes,
|
|
28
|
+
FormHTMLAttributes,
|
|
29
|
+
HTMLAttributes,
|
|
30
|
+
ImgHTMLAttributes,
|
|
31
|
+
InputHTMLAttributes,
|
|
32
|
+
LabelHTMLAttributes,
|
|
33
|
+
LiHTMLAttributes,
|
|
34
|
+
MouseEvent,
|
|
35
|
+
ReactElement,
|
|
36
|
+
ReactNode,
|
|
37
|
+
RefObject,
|
|
38
|
+
SelectHTMLAttributes,
|
|
39
|
+
TextareaHTMLAttributes,
|
|
40
|
+
TimeHTMLAttributes,
|
|
41
|
+
} from "react";
|
|
42
|
+
import {
|
|
43
|
+
DismissableLayer,
|
|
44
|
+
DismissableLayerProps,
|
|
45
|
+
ErrorBoundary,
|
|
46
|
+
FocusScope,
|
|
47
|
+
LinkComponent,
|
|
48
|
+
LinkComponentProps,
|
|
49
|
+
Machine,
|
|
50
|
+
MachineConfig,
|
|
51
|
+
Portal,
|
|
52
|
+
Presence,
|
|
53
|
+
ProgressInput,
|
|
54
|
+
RovingOrientation,
|
|
55
|
+
Signal,
|
|
56
|
+
Slot,
|
|
57
|
+
SlotProps,
|
|
58
|
+
SpaceStep,
|
|
59
|
+
SuspenseBoundary,
|
|
60
|
+
ThemeProvider,
|
|
61
|
+
ThemeProviderProps,
|
|
62
|
+
ToneInput,
|
|
63
|
+
UseClipboardOptions,
|
|
64
|
+
UseClipboardReturn,
|
|
65
|
+
UseControllableSignalOptions,
|
|
66
|
+
UseDisclosureOptions,
|
|
67
|
+
UseDisclosureReturn,
|
|
68
|
+
VisuallyHidden,
|
|
69
|
+
VisuallyHiddenProps,
|
|
70
|
+
applyTheme,
|
|
71
|
+
batch,
|
|
72
|
+
cn,
|
|
73
|
+
composeRefs,
|
|
74
|
+
computePosition,
|
|
75
|
+
computed,
|
|
76
|
+
createMachine,
|
|
77
|
+
createScope,
|
|
78
|
+
createStreamBuffer,
|
|
79
|
+
effect,
|
|
80
|
+
getLinkComponent,
|
|
81
|
+
mergeProps,
|
|
82
|
+
setLinkComponent,
|
|
83
|
+
setTheme,
|
|
84
|
+
signal,
|
|
85
|
+
themePreloadScript,
|
|
86
|
+
themeSignal,
|
|
87
|
+
useAnchorPosition,
|
|
88
|
+
useClipboard,
|
|
89
|
+
useComputed,
|
|
90
|
+
useControllableSignal,
|
|
91
|
+
useDisclosure,
|
|
92
|
+
useEffectPropSignal,
|
|
93
|
+
useId,
|
|
94
|
+
useMachine,
|
|
95
|
+
useMediaQuery,
|
|
96
|
+
useRovingFocus,
|
|
97
|
+
useScope,
|
|
98
|
+
useScrollLock,
|
|
99
|
+
useSignal,
|
|
100
|
+
useSignalEffect,
|
|
101
|
+
useSignals,
|
|
102
|
+
useStreamBuffer,
|
|
103
|
+
useTheme,
|
|
104
|
+
useTypeahead,
|
|
105
|
+
} from "@cascivo/core";
|
|
26
106
|
|
|
27
107
|
/**
|
|
28
108
|
* Button.
|
|
@@ -36,7 +116,8 @@ import { DismissableLayer, DismissableLayerProps, ErrorBoundary, FocusScope, Lin
|
|
|
36
116
|
*/
|
|
37
117
|
interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
38
118
|
/**
|
|
39
|
-
*
|
|
119
|
+
* `primary` for the main action, `secondary` for a supporting one, `ghost` for a
|
|
120
|
+
* borderless action in dense UI, `destructive` for anything that deletes.
|
|
40
121
|
*
|
|
41
122
|
* @defaultValue `primary`
|
|
42
123
|
* @see the component manifest
|
|
@@ -66,6 +147,20 @@ interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
|
66
147
|
*/
|
|
67
148
|
declare const Button: import("react").ForwardRefExoticComponent<ButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
68
149
|
interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size'> {
|
|
150
|
+
/**
|
|
151
|
+
* Invisible accessible name, for when a visible element outside this component already
|
|
152
|
+
* labels it (a heading in a settings row, a table column header) and `label` would render
|
|
153
|
+
* that text a second time.
|
|
154
|
+
*
|
|
155
|
+
* `label` on this component is **visible** — it is painted next to the control. The catalog
|
|
156
|
+
* splits that way deliberately, but `IconButton.label` and `Sparkline.label` are invisible
|
|
157
|
+
* names, so an adopter arriving with that prior writes `label` here and gets the text twice
|
|
158
|
+
* (2026-08-22 report item 13). Both props are now listed side by side, each saying which it
|
|
159
|
+
* is, which is the only thing that interrupts a confident wrong guess.
|
|
160
|
+
*
|
|
161
|
+
* The raw DOM `aria-label` is still accepted and wins over this.
|
|
162
|
+
*/
|
|
163
|
+
ariaLabel?: string;
|
|
69
164
|
label?: string;
|
|
70
165
|
hint?: string;
|
|
71
166
|
error?: string;
|
|
@@ -81,7 +176,8 @@ interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size'>
|
|
|
81
176
|
declare const Input: import("react").ForwardRefExoticComponent<InputProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
82
177
|
interface CardProps extends HTMLAttributes<HTMLDivElement> {
|
|
83
178
|
/**
|
|
84
|
-
*
|
|
179
|
+
* `default` draws a 1px border, `outlined` a heavier one, `elevated` drops the border for
|
|
180
|
+
* a shadow.
|
|
85
181
|
*
|
|
86
182
|
* @defaultValue `default`
|
|
87
183
|
* @see the component manifest
|
|
@@ -233,16 +329,26 @@ interface SpinnerProps extends HTMLAttributes<HTMLSpanElement> {
|
|
|
233
329
|
* @see the component manifest
|
|
234
330
|
*/
|
|
235
331
|
label?: string;
|
|
332
|
+
/**
|
|
333
|
+
* Alias of `label` — the same invisible accessible name under the catalog's own spelling.
|
|
334
|
+
*
|
|
335
|
+
* `ariaLabel` is what the catalog calls a name nothing paints, so it is the guess an agent
|
|
336
|
+
* makes after reading one other component (2026-08-21 report item 1). This component
|
|
337
|
+
* predates the convention and shipped `label`; both work and neither is deprecated.
|
|
338
|
+
*/
|
|
339
|
+
ariaLabel?: string;
|
|
236
340
|
}
|
|
237
341
|
declare function Spinner({
|
|
238
342
|
size,
|
|
239
343
|
label,
|
|
344
|
+
ariaLabel,
|
|
240
345
|
className,
|
|
241
346
|
...props
|
|
242
347
|
}: SpinnerProps): import("react").JSX.Element;
|
|
243
348
|
interface SeparatorProps extends HTMLAttributes<HTMLElement> {
|
|
244
349
|
/**
|
|
245
|
-
*
|
|
350
|
+
* Direction the rule runs: `horizontal` draws a full-width line, `vertical` a full-height
|
|
351
|
+
* one that stretches to its flex row.
|
|
246
352
|
*
|
|
247
353
|
* @defaultValue `horizontal`
|
|
248
354
|
* @see the component manifest
|
|
@@ -262,9 +368,50 @@ declare function Separator({
|
|
|
262
368
|
className,
|
|
263
369
|
...props
|
|
264
370
|
}: SeparatorProps): import("react").JSX.Element;
|
|
371
|
+
type LogoVariant = 'mark' | 'mark-accent' | 'horizontal' | 'stacked' | 'nav';
|
|
372
|
+
interface LogoProps extends HTMLAttributes<HTMLSpanElement> {
|
|
373
|
+
/**
|
|
374
|
+
* The logo renders the mark and, in a lockup, the wordmark — there is no slot for
|
|
375
|
+
* anything else. `never` rather than `Omit<>` because omitting a key off
|
|
376
|
+
* `HTMLAttributes` loses the `style` widening that the signals JSX augmentation
|
|
377
|
+
* applies in an adopter's project, and the spread below then fails to compile there.
|
|
378
|
+
*/
|
|
379
|
+
children?: never;
|
|
380
|
+
/**
|
|
381
|
+
* `mark` and `mark-accent` render the square alone; `horizontal`, `stacked` and `nav`
|
|
382
|
+
* add the wordmark. `nav` is the only lockup permitted below 24px.
|
|
383
|
+
*
|
|
384
|
+
* @defaultValue `mark`
|
|
385
|
+
* @see the component manifest
|
|
386
|
+
*/
|
|
387
|
+
variant?: LogoVariant;
|
|
388
|
+
/**
|
|
389
|
+
* Mark height in px. Clamped to a 16px floor — below that the notch closes optically.
|
|
390
|
+
*
|
|
391
|
+
* @defaultValue `18` for `nav`, `32` otherwise
|
|
392
|
+
* @see the component manifest
|
|
393
|
+
*/
|
|
394
|
+
size?: number;
|
|
395
|
+
}
|
|
396
|
+
/**
|
|
397
|
+
* The cascivo logo: the mark on its own, or one of the three sanctioned lockups.
|
|
398
|
+
*
|
|
399
|
+
* Renders inline SVG rather than an `<img>` on purpose — `currentColor` and
|
|
400
|
+
* `--cascivo-color-accent` only resolve when the SVG is part of the document, which is
|
|
401
|
+
* what lets the logo repaint with whatever `data-theme` subtree it is dropped into.
|
|
402
|
+
*/
|
|
403
|
+
declare function Logo({
|
|
404
|
+
variant,
|
|
405
|
+
size,
|
|
406
|
+
className,
|
|
407
|
+
style,
|
|
408
|
+
...props
|
|
409
|
+
}: LogoProps): import("react").JSX.Element;
|
|
265
410
|
interface AlertProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'> {
|
|
266
411
|
/**
|
|
267
|
-
*
|
|
412
|
+
* Severity tone: `default` (neutral), `info`, `success`, `warning` or `destructive`. Sets
|
|
413
|
+
* the icon and the accent colour. Unlike Badge/Tag/Notification this is a private union,
|
|
414
|
+
* not `ToneInput` — the canonical `danger`/`neutral` spellings are not accepted here.
|
|
268
415
|
*
|
|
269
416
|
* @defaultValue `default`
|
|
270
417
|
* @see the component manifest
|
|
@@ -430,10 +577,34 @@ declare function Image({
|
|
|
430
577
|
...rest
|
|
431
578
|
}: ImageProps): import("react").JSX.Element;
|
|
432
579
|
interface TextareaProps extends TextareaHTMLAttributes<HTMLTextAreaElement> {
|
|
580
|
+
/**
|
|
581
|
+
* Invisible accessible name, for when a visible element outside this component already
|
|
582
|
+
* labels it (a heading in a settings row, a table column header) and `label` would render
|
|
583
|
+
* that text a second time.
|
|
584
|
+
*
|
|
585
|
+
* `label` on this component is **visible** — it is painted next to the control. The catalog
|
|
586
|
+
* splits that way deliberately, but `IconButton.label` and `Sparkline.label` are invisible
|
|
587
|
+
* names, so an adopter arriving with that prior writes `label` here and gets the text twice
|
|
588
|
+
* (2026-08-22 report item 13). Both props are now listed side by side, each saying which it
|
|
589
|
+
* is, which is the only thing that interrupts a confident wrong guess.
|
|
590
|
+
*
|
|
591
|
+
* The raw DOM `aria-label` is still accepted and wins over this.
|
|
592
|
+
*/
|
|
593
|
+
ariaLabel?: string;
|
|
433
594
|
label?: string;
|
|
434
595
|
hint?: string;
|
|
435
596
|
error?: string;
|
|
436
597
|
resize?: 'none' | 'vertical' | 'both';
|
|
598
|
+
/**
|
|
599
|
+
* Grow the control with its content instead of holding the fixed rows height. rows becomes
|
|
600
|
+
* the minimum and --cascivo-textarea-max-block-size (default 20lh) the ceiling. Pure CSS
|
|
601
|
+
* (field-sizing: content) — no measurement and no listener; where unsupported the fixed
|
|
602
|
+
* rows height is kept.
|
|
603
|
+
*
|
|
604
|
+
* @defaultValue `false`
|
|
605
|
+
* @see the component manifest
|
|
606
|
+
*/
|
|
607
|
+
autosize?: boolean;
|
|
437
608
|
}
|
|
438
609
|
/**
|
|
439
610
|
* `forwardRef` so `ref` reaches the underlying `<textarea>` — and so it is TYPED.
|
|
@@ -471,6 +642,20 @@ interface SelectOption {
|
|
|
471
642
|
* `NativeSelect`, spreads onto a real element and inherits that element's event.
|
|
472
643
|
*/
|
|
473
644
|
interface SelectProps extends Omit<SelectHTMLAttributes<HTMLSelectElement>, 'size'> {
|
|
645
|
+
/**
|
|
646
|
+
* Invisible accessible name, for when a visible element outside this component already
|
|
647
|
+
* labels it (a heading in a settings row, a table column header) and `label` would render
|
|
648
|
+
* that text a second time.
|
|
649
|
+
*
|
|
650
|
+
* `label` on this component is **visible** — it is painted next to the control. The catalog
|
|
651
|
+
* splits that way deliberately, but `IconButton.label` and `Sparkline.label` are invisible
|
|
652
|
+
* names, so an adopter arriving with that prior writes `label` here and gets the text twice
|
|
653
|
+
* (2026-08-22 report item 13). Both props are now listed side by side, each saying which it
|
|
654
|
+
* is, which is the only thing that interrupts a confident wrong guess.
|
|
655
|
+
*
|
|
656
|
+
* The raw DOM `aria-label` is still accepted and wins over this.
|
|
657
|
+
*/
|
|
658
|
+
ariaLabel?: string;
|
|
474
659
|
label?: string;
|
|
475
660
|
hint?: string;
|
|
476
661
|
error?: string;
|
|
@@ -486,6 +671,20 @@ interface SelectProps extends Omit<SelectHTMLAttributes<HTMLSelectElement>, 'siz
|
|
|
486
671
|
*/
|
|
487
672
|
declare const Select: import("react").ForwardRefExoticComponent<SelectProps & import("react").RefAttributes<HTMLSelectElement>>;
|
|
488
673
|
interface CheckboxProps extends InputHTMLAttributes<HTMLInputElement> {
|
|
674
|
+
/**
|
|
675
|
+
* Invisible accessible name, for when a visible element outside this component already
|
|
676
|
+
* labels it (a heading in a settings row, a table column header) and `label` would render
|
|
677
|
+
* that text a second time.
|
|
678
|
+
*
|
|
679
|
+
* `label` on this component is **visible** — it is painted next to the control. The catalog
|
|
680
|
+
* splits that way deliberately, but `IconButton.label` and `Sparkline.label` are invisible
|
|
681
|
+
* names, so an adopter arriving with that prior writes `label` here and gets the text twice
|
|
682
|
+
* (2026-08-22 report item 13). Both props are now listed side by side, each saying which it
|
|
683
|
+
* is, which is the only thing that interrupts a confident wrong guess.
|
|
684
|
+
*
|
|
685
|
+
* The raw DOM `aria-label` is still accepted and wins over this.
|
|
686
|
+
*/
|
|
687
|
+
ariaLabel?: string;
|
|
489
688
|
label?: string;
|
|
490
689
|
/**
|
|
491
690
|
* When true, renders the mixed/indeterminate state.
|
|
@@ -504,6 +703,20 @@ interface CheckboxProps extends InputHTMLAttributes<HTMLInputElement> {
|
|
|
504
703
|
*/
|
|
505
704
|
declare const Checkbox: import("react").ForwardRefExoticComponent<CheckboxProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
506
705
|
interface RadioProps extends InputHTMLAttributes<HTMLInputElement> {
|
|
706
|
+
/**
|
|
707
|
+
* Invisible accessible name, for when a visible element outside this component already
|
|
708
|
+
* labels it (a heading in a settings row, a table column header) and `label` would render
|
|
709
|
+
* that text a second time.
|
|
710
|
+
*
|
|
711
|
+
* `label` on this component is **visible** — it is painted next to the control. The catalog
|
|
712
|
+
* splits that way deliberately, but `IconButton.label` and `Sparkline.label` are invisible
|
|
713
|
+
* names, so an adopter arriving with that prior writes `label` here and gets the text twice
|
|
714
|
+
* (2026-08-22 report item 13). Both props are now listed side by side, each saying which it
|
|
715
|
+
* is, which is the only thing that interrupts a confident wrong guess.
|
|
716
|
+
*
|
|
717
|
+
* The raw DOM `aria-label` is still accepted and wins over this.
|
|
718
|
+
*/
|
|
719
|
+
ariaLabel?: string;
|
|
507
720
|
label?: string;
|
|
508
721
|
value: string;
|
|
509
722
|
}
|
|
@@ -535,6 +748,20 @@ declare function RadioGroup({
|
|
|
535
748
|
children
|
|
536
749
|
}: RadioGroupProps): import("react").JSX.Element;
|
|
537
750
|
interface ToggleProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onChange'> {
|
|
751
|
+
/**
|
|
752
|
+
* Invisible accessible name, for when a visible element outside this component already
|
|
753
|
+
* labels it (a heading in a settings row, a table column header) and `label` would render
|
|
754
|
+
* that text a second time.
|
|
755
|
+
*
|
|
756
|
+
* `label` on this component is **visible** — it is painted next to the control. The catalog
|
|
757
|
+
* splits that way deliberately, but `IconButton.label` and `Sparkline.label` are invisible
|
|
758
|
+
* names, so an adopter arriving with that prior writes `label` here and gets the text twice
|
|
759
|
+
* (2026-08-22 report item 13). Both props are now listed side by side, each saying which it
|
|
760
|
+
* is, which is the only thing that interrupts a confident wrong guess.
|
|
761
|
+
*
|
|
762
|
+
* The raw DOM `aria-label` is still accepted and wins over this.
|
|
763
|
+
*/
|
|
764
|
+
ariaLabel?: string;
|
|
538
765
|
checked?: boolean;
|
|
539
766
|
/**
|
|
540
767
|
* Whether the control is checked on first render (uncontrolled).
|
|
@@ -545,8 +772,6 @@ interface ToggleProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onC
|
|
|
545
772
|
defaultChecked?: boolean;
|
|
546
773
|
/** Called with the new checked state when the switch is toggled. */
|
|
547
774
|
onValueChange?: (checked: boolean) => void;
|
|
548
|
-
/** @deprecated Use `onValueChange` — it receives the same `checked` boolean. */
|
|
549
|
-
onChange?: (checked: boolean) => void;
|
|
550
775
|
/**
|
|
551
776
|
* Renders a **visible** text label beside the switch that also becomes its
|
|
552
777
|
* accessible name. When a visible heading already labels the control, omit
|
|
@@ -571,6 +796,20 @@ declare const Toggle: import("react").ForwardRefExoticComponent<ToggleProps & im
|
|
|
571
796
|
* while this one inherits the underlying element's event.
|
|
572
797
|
*/
|
|
573
798
|
interface SliderProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> {
|
|
799
|
+
/**
|
|
800
|
+
* Invisible accessible name, for when a visible element outside this component already
|
|
801
|
+
* labels it (a heading in a settings row, a table column header) and `label` would render
|
|
802
|
+
* that text a second time.
|
|
803
|
+
*
|
|
804
|
+
* `label` on this component is **visible** — it is painted next to the control. The catalog
|
|
805
|
+
* splits that way deliberately, but `IconButton.label` and `Sparkline.label` are invisible
|
|
806
|
+
* names, so an adopter arriving with that prior writes `label` here and gets the text twice
|
|
807
|
+
* (2026-08-22 report item 13). Both props are now listed side by side, each saying which it
|
|
808
|
+
* is, which is the only thing that interrupts a confident wrong guess.
|
|
809
|
+
*
|
|
810
|
+
* The raw DOM `aria-label` is still accepted and wins over this.
|
|
811
|
+
*/
|
|
812
|
+
ariaLabel?: string;
|
|
574
813
|
label?: string;
|
|
575
814
|
}
|
|
576
815
|
/**
|
|
@@ -583,7 +822,7 @@ declare const Slider: import("react").ForwardRefExoticComponent<SliderProps & im
|
|
|
583
822
|
interface TooltipProps {
|
|
584
823
|
content: ReactNode;
|
|
585
824
|
/**
|
|
586
|
-
*
|
|
825
|
+
* Side of the trigger the tip opens on: `top`, `right`, `bottom` or `left`.
|
|
587
826
|
*
|
|
588
827
|
* @defaultValue `top`
|
|
589
828
|
* @see the component manifest
|
|
@@ -604,19 +843,35 @@ declare function Tooltip({
|
|
|
604
843
|
children,
|
|
605
844
|
delay
|
|
606
845
|
}: TooltipProps): import("react").JSX.Element;
|
|
607
|
-
|
|
846
|
+
/** A selectable row in a `Dropdown` menu. */
|
|
847
|
+
interface DropdownMenuItem {
|
|
608
848
|
label: string;
|
|
609
849
|
value: string;
|
|
610
850
|
icon?: ReactNode;
|
|
611
851
|
disabled?: boolean;
|
|
612
|
-
separator?: boolean;
|
|
613
852
|
}
|
|
853
|
+
/**
|
|
854
|
+
* A horizontal rule between groups of items. Carries no data, takes no `label`/`value`, and
|
|
855
|
+
* is skipped by keyboard navigation and selection.
|
|
856
|
+
*/
|
|
857
|
+
interface DropdownSeparatorItem {
|
|
858
|
+
kind: 'separator';
|
|
859
|
+
}
|
|
860
|
+
/**
|
|
861
|
+
* A `Dropdown` entry: either a selectable item or a separator.
|
|
862
|
+
*
|
|
863
|
+
* The union is tagged on `kind` (the catalog convention — `type` is reserved for HTML-ish
|
|
864
|
+
* meanings), so a separator cannot carry data that would be silently discarded.
|
|
865
|
+
*/
|
|
866
|
+
type DropdownItem = DropdownMenuItem | DropdownSeparatorItem;
|
|
614
867
|
interface DropdownProps {
|
|
615
868
|
trigger: ReactElement;
|
|
616
869
|
items: DropdownItem[];
|
|
617
870
|
onSelect?: (value: string) => void;
|
|
618
871
|
/**
|
|
619
|
-
*
|
|
872
|
+
* Which trigger edge the menu aligns to. `bottom-start` hangs it from the trigger's start
|
|
873
|
+
* edge, `bottom-end` from its end edge — use `bottom-end` for a trigger near the end of
|
|
874
|
+
* the viewport.
|
|
620
875
|
*
|
|
621
876
|
* @defaultValue `bottom-start`
|
|
622
877
|
* @see the component manifest
|
|
@@ -638,7 +893,9 @@ interface ToastOptions {
|
|
|
638
893
|
title: string;
|
|
639
894
|
description?: string;
|
|
640
895
|
/**
|
|
641
|
-
*
|
|
896
|
+
* Severity tone: `default` (neutral), `success`, `warning` or `destructive`. Sets the icon
|
|
897
|
+
* and the accent colour. Unlike Badge/Tag/Notification this is a private union, not
|
|
898
|
+
* `ToneInput` — the canonical `danger`/`neutral` spellings are not accepted here.
|
|
642
899
|
*
|
|
643
900
|
* @defaultValue `default`
|
|
644
901
|
* @see the component manifest
|
|
@@ -767,6 +1024,13 @@ declare function AccordionItem({
|
|
|
767
1024
|
declare const AccordionTrigger: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLElement> & import("react").RefAttributes<HTMLElement>>;
|
|
768
1025
|
declare function AccordionContent(props: HTMLAttributes<HTMLDivElement>): import("react").JSX.Element;
|
|
769
1026
|
interface ActionSheetAction {
|
|
1027
|
+
/**
|
|
1028
|
+
* Stable identity, used as the React key. Without it the array index (or a repeatable
|
|
1029
|
+
* `label`) is the key, so inserting or reordering entries re-uses the wrong DOM node — the
|
|
1030
|
+
* defect `link-item-id-parity` exists to prevent, extended past link-shaped items on
|
|
1031
|
+
* 2026-08-22.
|
|
1032
|
+
*/
|
|
1033
|
+
id?: string;
|
|
770
1034
|
label: ReactNode;
|
|
771
1035
|
onSelect: () => void;
|
|
772
1036
|
/** Render in the destructive (danger) style. */
|
|
@@ -828,8 +1092,12 @@ declare function Kbd({
|
|
|
828
1092
|
}: KbdProps): import("react").JSX.Element;
|
|
829
1093
|
interface LinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
|
|
830
1094
|
/**
|
|
831
|
-
* `standalone`
|
|
832
|
-
* `inline` inherits the surrounding prose font and
|
|
1095
|
+
* `standalone` uses the system's own type and underlines on hover — for a link that stands
|
|
1096
|
+
* on its own. `inline` inherits the surrounding prose font and stays underlined — for a
|
|
1097
|
+
* link inside a paragraph.
|
|
1098
|
+
*
|
|
1099
|
+
* @defaultValue `standalone`
|
|
1100
|
+
* @see the component manifest
|
|
833
1101
|
*/
|
|
834
1102
|
variant?: 'standalone' | 'inline';
|
|
835
1103
|
size?: 'sm' | 'md' | 'lg';
|
|
@@ -887,12 +1155,21 @@ interface BreadcrumbProps {
|
|
|
887
1155
|
* @see the component manifest
|
|
888
1156
|
*/
|
|
889
1157
|
ariaLabel?: string;
|
|
1158
|
+
/**
|
|
1159
|
+
* Alias of `ariaLabel` — same invisible accessible name, the other spelling. Not rendered.
|
|
1160
|
+
*
|
|
1161
|
+
* `ariaLabel` is the catalog convention and stays preferred, but `label` is the guess an
|
|
1162
|
+
* adopter makes when they have not read the convention, and an unaccepted guess costs a
|
|
1163
|
+
* compile cycle for nothing (2026-08-21 report item 1). Pass either.
|
|
1164
|
+
*/
|
|
1165
|
+
label?: string;
|
|
890
1166
|
}
|
|
891
1167
|
declare function Breadcrumb({
|
|
892
1168
|
items,
|
|
893
1169
|
maxVisible,
|
|
894
1170
|
className,
|
|
895
|
-
ariaLabel
|
|
1171
|
+
ariaLabel,
|
|
1172
|
+
label
|
|
896
1173
|
}: BreadcrumbProps): import("react").JSX.Element;
|
|
897
1174
|
interface TocItem {
|
|
898
1175
|
/** id of the heading/section this entry links to (without the leading `#`) */
|
|
@@ -1045,6 +1322,13 @@ interface SideNavItem {
|
|
|
1045
1322
|
}) => ReactNode;
|
|
1046
1323
|
}
|
|
1047
1324
|
interface SideNavGroup {
|
|
1325
|
+
/**
|
|
1326
|
+
* Stable identity, used as the React key. Without it the array index (or a repeatable
|
|
1327
|
+
* `label`) is the key, so inserting or reordering entries re-uses the wrong DOM node — the
|
|
1328
|
+
* defect `link-item-id-parity` exists to prevent, extended past link-shaped items on
|
|
1329
|
+
* 2026-08-22.
|
|
1330
|
+
*/
|
|
1331
|
+
id?: string;
|
|
1048
1332
|
label?: string;
|
|
1049
1333
|
items: SideNavItem[];
|
|
1050
1334
|
}
|
|
@@ -1067,6 +1351,14 @@ interface SideNavProps {
|
|
|
1067
1351
|
* @see the component manifest
|
|
1068
1352
|
*/
|
|
1069
1353
|
ariaLabel?: string;
|
|
1354
|
+
/**
|
|
1355
|
+
* Alias of `ariaLabel` — same invisible accessible name, the other spelling. Not rendered.
|
|
1356
|
+
*
|
|
1357
|
+
* `ariaLabel` is the catalog convention and stays preferred, but `label` is the guess an
|
|
1358
|
+
* adopter makes when they have not read the convention, and an unaccepted guess costs a
|
|
1359
|
+
* compile cycle for nothing (2026-08-21 report item 1). Pass either.
|
|
1360
|
+
*/
|
|
1361
|
+
label?: string;
|
|
1070
1362
|
/**
|
|
1071
1363
|
* Accessible label for the collapse control.
|
|
1072
1364
|
*
|
|
@@ -1097,6 +1389,8 @@ interface SideNavProps {
|
|
|
1097
1389
|
showCollapseToggle?: boolean;
|
|
1098
1390
|
/** Content rendered above the items, inside the item padding context. */
|
|
1099
1391
|
header?: ReactNode;
|
|
1392
|
+
/** Content rendered above the collapse toggle, inside the item padding context —
|
|
1393
|
+
* it lines up with the nav items above it, exactly as `header` does. */
|
|
1100
1394
|
footer?: ReactNode;
|
|
1101
1395
|
className?: string;
|
|
1102
1396
|
}
|
|
@@ -1107,6 +1401,7 @@ declare function SideNav({
|
|
|
1107
1401
|
defaultCollapsed,
|
|
1108
1402
|
onCollapsedChange,
|
|
1109
1403
|
ariaLabel,
|
|
1404
|
+
label,
|
|
1110
1405
|
collapseLabel,
|
|
1111
1406
|
expandLabel,
|
|
1112
1407
|
expandOnHover,
|
|
@@ -1150,6 +1445,13 @@ declare function Pagination({
|
|
|
1150
1445
|
className
|
|
1151
1446
|
}: PaginationProps): import("react").JSX.Element;
|
|
1152
1447
|
interface ProgressStep {
|
|
1448
|
+
/**
|
|
1449
|
+
* Stable identity, used as the React key. Without it the array index (or a repeatable
|
|
1450
|
+
* `label`) is the key, so inserting or reordering entries re-uses the wrong DOM node — the
|
|
1451
|
+
* defect `link-item-id-parity` exists to prevent, extended past link-shaped items on
|
|
1452
|
+
* 2026-08-22.
|
|
1453
|
+
*/
|
|
1454
|
+
id?: string;
|
|
1153
1455
|
label: string;
|
|
1154
1456
|
description?: string;
|
|
1155
1457
|
}
|
|
@@ -1173,9 +1475,12 @@ declare function ProgressIndicator({
|
|
|
1173
1475
|
}: ProgressIndicatorProps): import("react").JSX.Element;
|
|
1174
1476
|
interface TagProps extends HTMLAttributes<HTMLSpanElement> {
|
|
1175
1477
|
/**
|
|
1176
|
-
* Severity tone. Accepts the catalog-wide `Tone` vocabulary
|
|
1177
|
-
*
|
|
1178
|
-
*
|
|
1478
|
+
* Severity tone. Accepts the catalog-wide `Tone` vocabulary (`neutral | info | success |
|
|
1479
|
+
* warning | danger`) plus Tag's historical spellings (`default` → neutral,
|
|
1480
|
+
* `error`/`destructive` → danger).
|
|
1481
|
+
*
|
|
1482
|
+
* @defaultValue `default`
|
|
1483
|
+
* @see the component manifest
|
|
1179
1484
|
*/
|
|
1180
1485
|
variant?: ToneInput;
|
|
1181
1486
|
size?: 'sm' | 'md';
|
|
@@ -1199,7 +1504,8 @@ declare function Tag({
|
|
|
1199
1504
|
}: TagProps): import("react").JSX.Element;
|
|
1200
1505
|
interface SkeletonProps extends HTMLAttributes<HTMLDivElement> {
|
|
1201
1506
|
/**
|
|
1202
|
-
*
|
|
1507
|
+
* Shape of the placeholder: `text` (stacked lines), `circle` (an avatar), `rect` (a
|
|
1508
|
+
* block).
|
|
1203
1509
|
*
|
|
1204
1510
|
* @defaultValue `text`
|
|
1205
1511
|
* @see the component manifest
|
|
@@ -1280,17 +1586,16 @@ interface FabAction {
|
|
|
1280
1586
|
onSelect: () => void;
|
|
1281
1587
|
disabled?: boolean;
|
|
1282
1588
|
}
|
|
1283
|
-
interface
|
|
1589
|
+
interface FabBaseProps {
|
|
1284
1590
|
/** The main button icon. */
|
|
1285
1591
|
children: ReactNode;
|
|
1286
|
-
/** Accessible name for the main button (it is icon-only). */
|
|
1287
|
-
label: string;
|
|
1288
1592
|
/** Called on press when there is no speed-dial. Ignored when `actions` is set. */
|
|
1289
1593
|
onClick?: () => void;
|
|
1290
1594
|
/** Speed-dial actions revealed above the button when opened. */
|
|
1291
1595
|
actions?: FabAction[];
|
|
1292
1596
|
/**
|
|
1293
|
-
*
|
|
1597
|
+
* Screen corner the button is pinned to: `bottom-end` or `bottom-start`. Safe-area insets
|
|
1598
|
+
* are honoured either way.
|
|
1294
1599
|
*
|
|
1295
1600
|
* @defaultValue `bottom-end`
|
|
1296
1601
|
* @see the component manifest
|
|
@@ -1304,6 +1609,20 @@ interface FabProps {
|
|
|
1304
1609
|
onOpenChange?: (open: boolean) => void;
|
|
1305
1610
|
className?: string;
|
|
1306
1611
|
}
|
|
1612
|
+
/**
|
|
1613
|
+
* Exactly one of `label` / `ariaLabel` is required — the main button is icon-only, so a
|
|
1614
|
+
* missing accessible name is a bug and stays enforced by the type rather than a dev warning.
|
|
1615
|
+
* `ariaLabel` is the catalog's name for a string nothing paints; `Fab` predates the
|
|
1616
|
+
* convention and shipped `label`, so both work and neither is deprecated. Same shape as
|
|
1617
|
+
* `IconButton`.
|
|
1618
|
+
*/
|
|
1619
|
+
type FabProps = FabBaseProps & ({
|
|
1620
|
+
label: string;
|
|
1621
|
+
ariaLabel?: never;
|
|
1622
|
+
} | {
|
|
1623
|
+
ariaLabel: string;
|
|
1624
|
+
label?: never;
|
|
1625
|
+
});
|
|
1307
1626
|
/**
|
|
1308
1627
|
* Floating action button anchored to a screen corner. On its own it is a single
|
|
1309
1628
|
* fixed button; given `actions` it becomes a speed-dial whose main button toggles a
|
|
@@ -1313,6 +1632,7 @@ interface FabProps {
|
|
|
1313
1632
|
*/
|
|
1314
1633
|
declare function Fab({
|
|
1315
1634
|
children,
|
|
1635
|
+
ariaLabel,
|
|
1316
1636
|
label,
|
|
1317
1637
|
onClick,
|
|
1318
1638
|
actions,
|
|
@@ -1347,7 +1667,8 @@ interface OverflowMenuProps {
|
|
|
1347
1667
|
items: OverflowMenuItem[];
|
|
1348
1668
|
onSelect?: (value: string) => void;
|
|
1349
1669
|
/**
|
|
1350
|
-
*
|
|
1670
|
+
* Which trigger edge the menu aligns to. `bottom-end` hangs it from the trigger's end edge
|
|
1671
|
+
* (right in LTR), `bottom-start` from its start edge.
|
|
1351
1672
|
*
|
|
1352
1673
|
* @defaultValue `bottom-end`
|
|
1353
1674
|
* @see the component manifest
|
|
@@ -1360,8 +1681,28 @@ interface OverflowMenuProps {
|
|
|
1360
1681
|
* @see the component manifest
|
|
1361
1682
|
*/
|
|
1362
1683
|
ariaLabel?: string;
|
|
1684
|
+
/**
|
|
1685
|
+
* Alias of `ariaLabel` — same invisible accessible name, the other spelling. Not rendered.
|
|
1686
|
+
*
|
|
1687
|
+
* `ariaLabel` is the catalog convention and stays preferred, but `label` is the guess an
|
|
1688
|
+
* adopter makes when they have not read the convention, and an unaccepted guess costs a
|
|
1689
|
+
* compile cycle for nothing (2026-08-21 report item 1). Pass either.
|
|
1690
|
+
*/
|
|
1691
|
+
label?: string;
|
|
1363
1692
|
size?: 'sm' | 'md';
|
|
1693
|
+
/**
|
|
1694
|
+
* When true, disables the control and removes it from the tab order.
|
|
1695
|
+
*
|
|
1696
|
+
* @defaultValue `false`
|
|
1697
|
+
* @see the component manifest
|
|
1698
|
+
*/
|
|
1364
1699
|
disabled?: boolean;
|
|
1700
|
+
/**
|
|
1701
|
+
* Tab-order position of the trigger. A composite widget that manages its own focus (a
|
|
1702
|
+
* `DataTable` in grid keyboard mode) passes `-1` so the menu stays reachable by Enter on
|
|
1703
|
+
* its cell without becoming an extra Tab stop.
|
|
1704
|
+
*/
|
|
1705
|
+
tabIndex?: number;
|
|
1365
1706
|
className?: string;
|
|
1366
1707
|
}
|
|
1367
1708
|
declare function OverflowMenu({
|
|
@@ -1369,17 +1710,29 @@ declare function OverflowMenu({
|
|
|
1369
1710
|
onSelect,
|
|
1370
1711
|
placement,
|
|
1371
1712
|
ariaLabel,
|
|
1713
|
+
label,
|
|
1372
1714
|
size,
|
|
1373
1715
|
disabled,
|
|
1716
|
+
tabIndex,
|
|
1374
1717
|
className
|
|
1375
1718
|
}: OverflowMenuProps): import("react").JSX.Element;
|
|
1376
1719
|
interface SearchProps {
|
|
1720
|
+
/**
|
|
1721
|
+
* Wired automatically by a wrapping `Field` — its label id. When present the control is
|
|
1722
|
+
* already named from outside, so the built-in fallback name is not applied.
|
|
1723
|
+
*/
|
|
1724
|
+
'aria-labelledby'?: string;
|
|
1725
|
+
/**
|
|
1726
|
+
* Wired automatically by a wrapping `Field` — the ids of its hint/error text. Forwarded to
|
|
1727
|
+
* the focusable control so the supporting text is announced, not just displayed.
|
|
1728
|
+
*/
|
|
1729
|
+
'aria-describedby'?: string;
|
|
1730
|
+
/** Wired automatically by a wrapping `Field` when it is in an error state. */
|
|
1731
|
+
'aria-invalid'?: boolean;
|
|
1377
1732
|
value?: string;
|
|
1378
1733
|
defaultValue?: string;
|
|
1379
1734
|
/** Called with the current text on every keystroke. */
|
|
1380
1735
|
onValueChange?: (value: string) => void;
|
|
1381
|
-
/** @deprecated Use `onValueChange` — it receives the same string. */
|
|
1382
|
-
onChange?: (value: string) => void;
|
|
1383
1736
|
onSearch?: (value: string) => void;
|
|
1384
1737
|
/**
|
|
1385
1738
|
* Debounce delay (ms) before onSearch fires.
|
|
@@ -1406,6 +1759,16 @@ interface SearchProps {
|
|
|
1406
1759
|
* @see the component manifest
|
|
1407
1760
|
*/
|
|
1408
1761
|
label?: string;
|
|
1762
|
+
/**
|
|
1763
|
+
* Invisible accessible name, for when a visible element outside this component already
|
|
1764
|
+
* labels it and `label` would render that text a second time.
|
|
1765
|
+
*
|
|
1766
|
+
* `label` on this component is **visible**. `IconButton.label` and `Sparkline.label` are
|
|
1767
|
+
* invisible names, so an adopter arriving with that prior writes `label` here and gets the
|
|
1768
|
+
* text twice (2026-08-22 report item 13). Both props are listed side by side, each saying
|
|
1769
|
+
* which it is.
|
|
1770
|
+
*/
|
|
1771
|
+
ariaLabel?: string;
|
|
1409
1772
|
/**
|
|
1410
1773
|
* When true, disables the control and removes it from the tab order.
|
|
1411
1774
|
*
|
|
@@ -1427,24 +1790,39 @@ declare function Search({
|
|
|
1427
1790
|
value,
|
|
1428
1791
|
defaultValue,
|
|
1429
1792
|
onValueChange,
|
|
1430
|
-
onChange,
|
|
1431
1793
|
onSearch,
|
|
1432
1794
|
debounceMs,
|
|
1433
1795
|
placeholder,
|
|
1434
1796
|
size,
|
|
1435
1797
|
label,
|
|
1798
|
+
ariaLabel,
|
|
1436
1799
|
disabled,
|
|
1437
1800
|
clearLabel,
|
|
1438
1801
|
id,
|
|
1802
|
+
'aria-labelledby': ariaLabelledBy,
|
|
1803
|
+
'aria-describedby': ariaDescribedBy,
|
|
1804
|
+
'aria-invalid': ariaInvalid,
|
|
1439
1805
|
className
|
|
1440
1806
|
}: SearchProps): import("react").JSX.Element;
|
|
1441
1807
|
interface NumberInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type' | 'value' | 'defaultValue' | 'onChange' | 'min' | 'max' | 'step'> {
|
|
1808
|
+
/**
|
|
1809
|
+
* Invisible accessible name, for when a visible element outside this component already
|
|
1810
|
+
* labels it (a heading in a settings row, a table column header) and `label` would render
|
|
1811
|
+
* that text a second time.
|
|
1812
|
+
*
|
|
1813
|
+
* `label` on this component is **visible** — it is painted next to the control. The catalog
|
|
1814
|
+
* splits that way deliberately, but `IconButton.label` and `Sparkline.label` are invisible
|
|
1815
|
+
* names, so an adopter arriving with that prior writes `label` here and gets the text twice
|
|
1816
|
+
* (2026-08-22 report item 13). Both props are now listed side by side, each saying which it
|
|
1817
|
+
* is, which is the only thing that interrupts a confident wrong guess.
|
|
1818
|
+
*
|
|
1819
|
+
* The raw DOM `aria-label` is still accepted and wins over this.
|
|
1820
|
+
*/
|
|
1821
|
+
ariaLabel?: string;
|
|
1442
1822
|
value?: number | null;
|
|
1443
1823
|
defaultValue?: number;
|
|
1444
1824
|
/** Called with the new numeric value (or null when cleared). */
|
|
1445
1825
|
onValueChange?: (value: number | null) => void;
|
|
1446
|
-
/** @deprecated Use `onValueChange` — it receives the same `number | null`. */
|
|
1447
|
-
onChange?: (value: number | null) => void;
|
|
1448
1826
|
min?: number;
|
|
1449
1827
|
max?: number;
|
|
1450
1828
|
/**
|
|
@@ -1482,12 +1860,94 @@ interface NumberInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, '
|
|
|
1482
1860
|
* incomplete, which is why the rule is a guard and not a checklist.
|
|
1483
1861
|
*/
|
|
1484
1862
|
declare const NumberInput: import("react").ForwardRefExoticComponent<NumberInputProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
1863
|
+
/**
|
|
1864
|
+
* Per-column filtering, kept pure so the table's filter pipeline is testable without a DOM
|
|
1865
|
+
* and stays O(rows) per change — never per render.
|
|
1866
|
+
*
|
|
1867
|
+
* Three filter shapes cover what dashboards actually ask for (the same three TanStack's
|
|
1868
|
+
* column-filtering guide leads with): a substring on text, a set of allowed values on an
|
|
1869
|
+
* enumerated column, and a numeric range. Values arrive from the table's own inputs or from
|
|
1870
|
+
* a controlled `filters` prop, so the shape is a plain serialisable object — it round-trips
|
|
1871
|
+
* through a URL or storage unchanged.
|
|
1872
|
+
*/
|
|
1873
|
+
/** The kind of filter control a column offers. */
|
|
1874
|
+
type ColumnFilterKind = 'text' | 'select' | 'range';
|
|
1875
|
+
/** The current value of one column's filter. An inactive filter is simply absent. */
|
|
1876
|
+
type ColumnFilterValue = {
|
|
1877
|
+
kind: 'text';
|
|
1878
|
+
value: string;
|
|
1879
|
+
} | {
|
|
1880
|
+
kind: 'select';
|
|
1881
|
+
values: string[];
|
|
1882
|
+
} | {
|
|
1883
|
+
kind: 'range';
|
|
1884
|
+
min?: number;
|
|
1885
|
+
max?: number;
|
|
1886
|
+
};
|
|
1887
|
+
/** Active filters by column key. */
|
|
1888
|
+
type ColumnFilters = Record<string, ColumnFilterValue>;
|
|
1889
|
+
/**
|
|
1890
|
+
* Column layout as data: which columns show, in what order, how wide, and which stick to
|
|
1891
|
+
* an edge. Every transition the header menu and the resize handle perform is a pure
|
|
1892
|
+
* function here, so the table never reasons about layout in JSX and each rule is
|
|
1893
|
+
* testable on its own.
|
|
1894
|
+
*
|
|
1895
|
+
* The shape is deliberately a plain object of keys (`ColumnState`): it round-trips through
|
|
1896
|
+
* storage or a URL, and it survives the column definitions changing underneath it — a key
|
|
1897
|
+
* that no longer exists is ignored, a new column simply takes its definition position.
|
|
1898
|
+
*/
|
|
1899
|
+
/** Which edge a pinned column sticks to. */
|
|
1900
|
+
type PinSide = 'start' | 'end';
|
|
1901
|
+
/** User-adjustable column layout. All fields optional; an absent field means "as defined". */
|
|
1902
|
+
interface ColumnState {
|
|
1903
|
+
/** Keys of hidden columns. At least one column always stays visible. */
|
|
1904
|
+
hidden?: string[];
|
|
1905
|
+
/** Display order of column keys; keys not listed follow in definition order. */
|
|
1906
|
+
order?: string[];
|
|
1907
|
+
/** Explicit widths in px, by key — what the resize handle writes. */
|
|
1908
|
+
widths?: Record<string, number>;
|
|
1909
|
+
/** Pinned columns by key. Pinned-start columns render first, pinned-end last. */
|
|
1910
|
+
pinned?: Record<string, PinSide>;
|
|
1911
|
+
}
|
|
1912
|
+
/**
|
|
1913
|
+
* Row grouping, aggregation and column-group spans as data. The table's body is a flat
|
|
1914
|
+
* list either way — grouping just interleaves group rows with the leaf rows they own, so
|
|
1915
|
+
* paging, the virtual window and the grid keyboard model need no notion of a tree.
|
|
1916
|
+
*/
|
|
1917
|
+
/** Built-in aggregations for `Column.aggregate`. */
|
|
1918
|
+
type AggregateKind = 'sum' | 'avg' | 'min' | 'max' | 'count';
|
|
1919
|
+
/** A band of columns under one header (`columnGroups`). */
|
|
1920
|
+
interface ColumnGroup {
|
|
1921
|
+
header: string;
|
|
1922
|
+
/** Column keys in the band. Non-adjacent keys render as separate spans. */
|
|
1923
|
+
columns: string[];
|
|
1924
|
+
}
|
|
1485
1925
|
interface Column<Row> {
|
|
1486
1926
|
key: string;
|
|
1487
1927
|
header: string;
|
|
1488
1928
|
sortable?: boolean;
|
|
1489
1929
|
render?: (row: Row) => ReactNode;
|
|
1490
1930
|
align?: 'start' | 'end';
|
|
1931
|
+
/**
|
|
1932
|
+
* Offer a per-column filter in a row under the header: `'text'` is a substring input,
|
|
1933
|
+
* `'select'` a faceted checklist of the column's distinct values with counts, `'range'` a
|
|
1934
|
+
* numeric min/max pair. Filters AND together and combine with the global search; the
|
|
1935
|
+
* current values are readable and controllable through the `filters` props.
|
|
1936
|
+
*/
|
|
1937
|
+
filter?: ColumnFilterKind;
|
|
1938
|
+
/**
|
|
1939
|
+
* Let the user edit this column's cells in place. Each cell renders an `Editable`
|
|
1940
|
+
* (click, Enter or F2 to start; Enter commits, Escape cancels) and commits through the
|
|
1941
|
+
* table's `onCellEdit`. Ignored when the column has a `render` — a custom cell brings its
|
|
1942
|
+
* own control — or the table has no `onCellEdit`.
|
|
1943
|
+
*/
|
|
1944
|
+
editable?: boolean;
|
|
1945
|
+
/**
|
|
1946
|
+
* What a group row and the `totals` row show for this column: a built-in reduction over
|
|
1947
|
+
* the numeric cell values (`'count'` counts rows), or a function of the rows for anything
|
|
1948
|
+
* else — a formatted currency, a distinct count, a sparkline.
|
|
1949
|
+
*/
|
|
1950
|
+
aggregate?: AggregateKind | ((rows: Row[]) => ReactNode);
|
|
1491
1951
|
/**
|
|
1492
1952
|
* Preferred column width, any CSS length (`'8rem'`, `'120px'`, `'12%'`). Set it on
|
|
1493
1953
|
* identifier-shaped columns (ids, statuses, dates) so they stop stealing space from the
|
|
@@ -1503,6 +1963,11 @@ interface Column<Row> {
|
|
|
1503
1963
|
* dropped. Leave at least one free-form column unsized unless you specifically want
|
|
1504
1964
|
* page-stable widths.
|
|
1505
1965
|
*
|
|
1966
|
+
* You do not have to get this right by arithmetic: the table **measures** its own overflow
|
|
1967
|
+
* and warns in dev with the real `scrollWidth`/`clientWidth` and the sized columns to
|
|
1968
|
+
* change. In production a scrolling shadow marks the cut edge. The rules of thumb below are
|
|
1969
|
+
* a starting point, not something to compute against a container width you cannot see.
|
|
1970
|
+
*
|
|
1506
1971
|
* ⚠ **"Leave one unsized" is necessary, not sufficient.** The leftover width is split
|
|
1507
1972
|
* between the unsized columns by `table-layout: auto`, which weighs them by content — so
|
|
1508
1973
|
* if the sized columns nearly fill the table, what remains can be narrower than the
|
|
@@ -1520,10 +1985,64 @@ interface Column<Row> {
|
|
|
1520
1985
|
minWidth?: string;
|
|
1521
1986
|
}
|
|
1522
1987
|
type SortDirection = 'asc' | 'desc';
|
|
1523
|
-
|
|
1988
|
+
/** One sorted column. */
|
|
1989
|
+
interface SortKey {
|
|
1524
1990
|
key: string;
|
|
1525
1991
|
direction: SortDirection;
|
|
1526
1992
|
}
|
|
1993
|
+
/**
|
|
1994
|
+
* The active sort. `thenBy` lists the secondary columns that break ties, in order — set
|
|
1995
|
+
* by Shift-clicking headers when `multiSort` is on, or passed directly.
|
|
1996
|
+
*/
|
|
1997
|
+
interface SortState extends SortKey {
|
|
1998
|
+
thenBy?: SortKey[];
|
|
1999
|
+
}
|
|
2000
|
+
/** One entry in a row's actions menu (`rowActions`). */
|
|
2001
|
+
interface RowAction<Row> {
|
|
2002
|
+
id: string;
|
|
2003
|
+
label: string;
|
|
2004
|
+
/** Activation handler; receives the row the menu belongs to. */
|
|
2005
|
+
onSelect: (row: Row) => void;
|
|
2006
|
+
destructive?: boolean;
|
|
2007
|
+
disabled?: boolean;
|
|
2008
|
+
icon?: ReactNode;
|
|
2009
|
+
}
|
|
2010
|
+
/** Everything the table needs the server to apply, when `server` is set. */
|
|
2011
|
+
interface TableQuery {
|
|
2012
|
+
sort: SortState | undefined;
|
|
2013
|
+
/** Trimmed global search text; empty when the box is blank. */
|
|
2014
|
+
search: string;
|
|
2015
|
+
filters: ColumnFilters;
|
|
2016
|
+
/** 1-based page. */
|
|
2017
|
+
page: number;
|
|
2018
|
+
pageSize: number;
|
|
2019
|
+
}
|
|
2020
|
+
/**
|
|
2021
|
+
* Server-driven mode: the table renders `rows` as the current page verbatim and asks the
|
|
2022
|
+
* server for anything that would change them. Sort, search, per-column filters and paging
|
|
2023
|
+
* all stop running on the client at once — one switch, not four.
|
|
2024
|
+
*/
|
|
2025
|
+
interface DataTableServer {
|
|
2026
|
+
/** Total rows across every page; drives the pager and the range label. */
|
|
2027
|
+
totalItems?: number;
|
|
2028
|
+
/**
|
|
2029
|
+
* Called with the full query whenever sort, search, a filter, the page or the page size
|
|
2030
|
+
* changes. Not called on mount: the rows you passed for the initial render are the first
|
|
2031
|
+
* page.
|
|
2032
|
+
*/
|
|
2033
|
+
onQueryChange: (query: TableQuery) => void;
|
|
2034
|
+
}
|
|
2035
|
+
/** Which column-layout controls the table offers. All off by default. */
|
|
2036
|
+
interface ColumnSettings {
|
|
2037
|
+
/** A "Columns" menu in the toolbar that shows and hides columns. */
|
|
2038
|
+
visibility?: boolean;
|
|
2039
|
+
/** A drag handle on each header's trailing edge; arrow keys nudge it, Home resets to auto. */
|
|
2040
|
+
resizable?: boolean;
|
|
2041
|
+
/** "Move left" / "Move right" in each column's header menu. */
|
|
2042
|
+
reorderable?: boolean;
|
|
2043
|
+
/** "Pin to start" / "Pin to end" in each column's header menu; pinned columns stay put while the rest scroll. */
|
|
2044
|
+
pinnable?: boolean;
|
|
2045
|
+
}
|
|
1527
2046
|
interface DataTableLabels {
|
|
1528
2047
|
search?: string;
|
|
1529
2048
|
empty?: string;
|
|
@@ -1533,6 +2052,31 @@ interface DataTableLabels {
|
|
|
1533
2052
|
expandRow?: string;
|
|
1534
2053
|
previousPage?: string;
|
|
1535
2054
|
nextPage?: string;
|
|
2055
|
+
columns?: string;
|
|
2056
|
+
actions?: string;
|
|
2057
|
+
noResults?: string;
|
|
2058
|
+
clearFilters?: string;
|
|
2059
|
+
filterColumn?: (column: string) => string;
|
|
2060
|
+
min?: string;
|
|
2061
|
+
max?: string;
|
|
2062
|
+
all?: string;
|
|
2063
|
+
columnMenu?: (column: string) => string;
|
|
2064
|
+
sortAscending?: string;
|
|
2065
|
+
sortDescending?: string;
|
|
2066
|
+
clearSort?: string;
|
|
2067
|
+
moveLeft?: string;
|
|
2068
|
+
moveRight?: string;
|
|
2069
|
+
pinStart?: string;
|
|
2070
|
+
pinEnd?: string;
|
|
2071
|
+
unpin?: string;
|
|
2072
|
+
hideColumn?: string;
|
|
2073
|
+
resizeColumn?: (column: string) => string;
|
|
2074
|
+
/** Accessible name of an editable cell's control; receives the column header. */
|
|
2075
|
+
editCell?: (column: string) => string;
|
|
2076
|
+
/** Label of the `totals` row. */
|
|
2077
|
+
totals?: string;
|
|
2078
|
+
/** The export button. */
|
|
2079
|
+
exportCsv?: string;
|
|
1536
2080
|
}
|
|
1537
2081
|
interface DataTableProps<Row> {
|
|
1538
2082
|
columns: Column<Row>[];
|
|
@@ -1549,9 +2093,15 @@ interface DataTableProps<Row> {
|
|
|
1549
2093
|
* @see the component manifest
|
|
1550
2094
|
*/
|
|
1551
2095
|
searchable?: boolean;
|
|
2096
|
+
/**
|
|
2097
|
+
* Client-side paging, or the pager for a `server`-driven table. `page` makes the current
|
|
2098
|
+
* page controlled; with `server`, `pageSize`/`page` are echoed back in every `TableQuery`.
|
|
2099
|
+
*/
|
|
1552
2100
|
pagination?: {
|
|
1553
2101
|
pageSize: number;
|
|
1554
2102
|
pageSizeOptions?: number[];
|
|
2103
|
+
page?: number;
|
|
2104
|
+
onPageChange?: (page: number) => void;
|
|
1555
2105
|
};
|
|
1556
2106
|
selection?: {
|
|
1557
2107
|
mode: 'single' | 'multi';
|
|
@@ -1564,6 +2114,109 @@ interface DataTableProps<Row> {
|
|
|
1564
2114
|
onClick: (selectedIds: string[]) => void;
|
|
1565
2115
|
}[];
|
|
1566
2116
|
renderExpandedRow?: (row: Row) => ReactNode;
|
|
2117
|
+
/** Per-column filter values (controlled). Columns opt in with `Column.filter`. */
|
|
2118
|
+
filters?: ColumnFilters;
|
|
2119
|
+
/** Initial per-column filter values (uncontrolled). */
|
|
2120
|
+
defaultFilters?: ColumnFilters;
|
|
2121
|
+
/** Called with the full filter map whenever any column filter changes. */
|
|
2122
|
+
onFiltersChange?: (filters: ColumnFilters) => void;
|
|
2123
|
+
/**
|
|
2124
|
+
* Shown instead of `emptyState` when there ARE rows but the search or filters match none
|
|
2125
|
+
* of them — a different message from "no data", and the moment to offer a reset.
|
|
2126
|
+
*/
|
|
2127
|
+
noResultsState?: ReactNode;
|
|
2128
|
+
/** Extra controls rendered in the toolbar, next to the search box (exports, primary actions). */
|
|
2129
|
+
toolbar?: ReactNode;
|
|
2130
|
+
/**
|
|
2131
|
+
* Per-row actions. Returns the menu entries for a row; the table renders them as a
|
|
2132
|
+
* trailing "⋯" overflow menu column, keyboard-reachable like every other cell control.
|
|
2133
|
+
*/
|
|
2134
|
+
rowActions?: (row: Row) => RowAction<Row>[];
|
|
2135
|
+
/** Column layout (controlled): hidden, order, widths, pinned. See {@link ColumnState}. */
|
|
2136
|
+
columnState?: ColumnState;
|
|
2137
|
+
/** Initial column layout (uncontrolled). */
|
|
2138
|
+
defaultColumnState?: ColumnState;
|
|
2139
|
+
/** Called with the full column layout whenever the user changes it. */
|
|
2140
|
+
onColumnStateChange?: (state: ColumnState) => void;
|
|
2141
|
+
/** Which column-layout controls to offer; see {@link ColumnSettings}. */
|
|
2142
|
+
columnSettings?: ColumnSettings;
|
|
2143
|
+
/** Hand sort, search, filters and paging to the server; see {@link DataTableServer}. */
|
|
2144
|
+
server?: DataTableServer;
|
|
2145
|
+
/**
|
|
2146
|
+
* Allow sorting by more than one column: Shift-click a header adds it as a tie-breaker
|
|
2147
|
+
* (`SortState.thenBy`); a plain click replaces the whole sort. Sorted headers show their
|
|
2148
|
+
* level.
|
|
2149
|
+
*
|
|
2150
|
+
* @defaultValue `false`
|
|
2151
|
+
* @see the component manifest
|
|
2152
|
+
*/
|
|
2153
|
+
multiSort?: boolean;
|
|
2154
|
+
/**
|
|
2155
|
+
* Remember the user's column layout and sort across reloads, in local storage under this
|
|
2156
|
+
* key. Applies when the corresponding props are uncontrolled; a controlled `columnState`
|
|
2157
|
+
* or `sort` still wins. Two tables with the same key share the preference.
|
|
2158
|
+
*/
|
|
2159
|
+
stateKey?: string;
|
|
2160
|
+
/**
|
|
2161
|
+
* How the keyboard moves through the table. `'row'` keeps every control in the Tab order
|
|
2162
|
+
* and lets the arrows step between them. `'grid'` is the APG data-grid pattern: the table
|
|
2163
|
+
* is ONE Tab stop, the arrows move a focused cell, Home/End jump within the row,
|
|
2164
|
+
* Ctrl+Home/End to the corners, PageUp/PageDown by a screenful, Enter or F2 enters the
|
|
2165
|
+
* cell's control and Escape returns to the cell. Cells outside the virtualized window are
|
|
2166
|
+
* scrolled to. Prefer `'grid'` for wide or editable tables, where tabbing through every
|
|
2167
|
+
* control is the complaint.
|
|
2168
|
+
*
|
|
2169
|
+
* @defaultValue `row`
|
|
2170
|
+
* @see the component manifest
|
|
2171
|
+
*/
|
|
2172
|
+
keyboardNavigation?: 'row' | 'grid';
|
|
2173
|
+
/**
|
|
2174
|
+
* Commits an inline edit: the row, the edited column's key and the new text. Enables
|
|
2175
|
+
* editing for every column marked `editable`; the table does not mutate `rows` itself.
|
|
2176
|
+
*/
|
|
2177
|
+
onCellEdit?: (row: Row, key: string, value: string) => void;
|
|
2178
|
+
/**
|
|
2179
|
+
* Group the rows by one or more columns, in order. Each group is a collapsible row
|
|
2180
|
+
* showing its value, its row count and every `aggregate` column's reduction; leaves keep
|
|
2181
|
+
* the current sort inside their group. Groups appear in order of first occurrence, so
|
|
2182
|
+
* sort by the grouped column to order them.
|
|
2183
|
+
*/
|
|
2184
|
+
groupBy?: string | string[];
|
|
2185
|
+
/**
|
|
2186
|
+
* Show a totals row under the body with each `aggregate` column's reduction over every
|
|
2187
|
+
* row that passes the search and filters (not just the page). Sticks to the bottom of
|
|
2188
|
+
* the scroller.
|
|
2189
|
+
*
|
|
2190
|
+
* @defaultValue `false`
|
|
2191
|
+
* @see the component manifest
|
|
2192
|
+
*/
|
|
2193
|
+
totals?: boolean;
|
|
2194
|
+
/**
|
|
2195
|
+
* Rows kept in view outside sort, search, filters, paging and the virtual window: `top`
|
|
2196
|
+
* rows sit under the header (stuck there with `stickyHeader`), `bottom` rows above the
|
|
2197
|
+
* totals. Rendered with the same columns as the body.
|
|
2198
|
+
*/
|
|
2199
|
+
pinnedRows?: {
|
|
2200
|
+
top?: Row[];
|
|
2201
|
+
bottom?: Row[];
|
|
2202
|
+
};
|
|
2203
|
+
/**
|
|
2204
|
+
* Bands of columns under a shared header, rendered as a row above the column headers.
|
|
2205
|
+
* A band's columns should be adjacent; reordering them apart splits the band.
|
|
2206
|
+
*/
|
|
2207
|
+
columnGroups?: ColumnGroup[];
|
|
2208
|
+
/**
|
|
2209
|
+
* An "Export CSV" button in the toolbar: every row passing the search and filters (all
|
|
2210
|
+
* pages; with `server`, the rows given), in the current sort, visible columns as headers,
|
|
2211
|
+
* raw cell values as fields (RFC 4180, UTF-8 with BOM). Pass `{ filename }` to name the
|
|
2212
|
+
* file; it defaults to the `title`.
|
|
2213
|
+
*
|
|
2214
|
+
* @defaultValue `false`
|
|
2215
|
+
* @see the component manifest
|
|
2216
|
+
*/
|
|
2217
|
+
exportable?: boolean | {
|
|
2218
|
+
filename?: string;
|
|
2219
|
+
};
|
|
1567
2220
|
/**
|
|
1568
2221
|
* Row height preset.
|
|
1569
2222
|
*
|
|
@@ -1599,7 +2252,16 @@ interface DataTableProps<Row> {
|
|
|
1599
2252
|
*/
|
|
1600
2253
|
loading?: boolean;
|
|
1601
2254
|
emptyState?: ReactNode;
|
|
2255
|
+
/** Visible caption above the table; it also becomes the table's accessible name. */
|
|
1602
2256
|
title?: string;
|
|
2257
|
+
/**
|
|
2258
|
+
* Invisible accessible name for the `<table>`, used when there is no visible `title`.
|
|
2259
|
+
*
|
|
2260
|
+
* A table with neither is an unnamed landmark for a screen reader — a real WCAG 1.3.1 /
|
|
2261
|
+
* 4.1.2 gap, and until 0.19 there was no way to fix it without rendering a caption you did
|
|
2262
|
+
* not want. Dev-warns when both are absent.
|
|
2263
|
+
*/
|
|
2264
|
+
ariaLabel?: string;
|
|
1603
2265
|
description?: string;
|
|
1604
2266
|
labels?: DataTableLabels;
|
|
1605
2267
|
className?: string;
|
|
@@ -1611,17 +2273,16 @@ interface DataTableProps<Row> {
|
|
|
1611
2273
|
*/
|
|
1612
2274
|
virtualized?: boolean;
|
|
1613
2275
|
/**
|
|
1614
|
-
*
|
|
2276
|
+
* Row height in px for the virtualized window.
|
|
1615
2277
|
*
|
|
1616
|
-
*
|
|
1617
|
-
*
|
|
2278
|
+
* Measured from the first rendered row when omitted, so the density presets stay correct
|
|
2279
|
+
* — the old fixed default of 40 never matched them (rows are 36/48/60 px plus a border),
|
|
2280
|
+
* and a wrong value scales the whole scrollbar. Set it only for custom-sized rows.
|
|
1618
2281
|
*/
|
|
1619
2282
|
rowHeight?: number;
|
|
1620
2283
|
/**
|
|
1621
|
-
*
|
|
1622
|
-
*
|
|
1623
|
-
* @defaultValue `20`
|
|
1624
|
-
* @see the component manifest
|
|
2284
|
+
* Rows rendered per window. Derived from the scroller's height when omitted; set it only
|
|
2285
|
+
* to render a fixed count regardless of height.
|
|
1625
2286
|
*/
|
|
1626
2287
|
windowSize?: number;
|
|
1627
2288
|
/**
|
|
@@ -1645,12 +2306,33 @@ declare function DataTable<Row>({
|
|
|
1645
2306
|
selection,
|
|
1646
2307
|
batchActions,
|
|
1647
2308
|
renderExpandedRow,
|
|
2309
|
+
filters,
|
|
2310
|
+
defaultFilters,
|
|
2311
|
+
onFiltersChange,
|
|
2312
|
+
noResultsState,
|
|
2313
|
+
toolbar,
|
|
2314
|
+
rowActions,
|
|
2315
|
+
columnState,
|
|
2316
|
+
defaultColumnState,
|
|
2317
|
+
onColumnStateChange,
|
|
2318
|
+
columnSettings,
|
|
2319
|
+
server,
|
|
2320
|
+
multiSort,
|
|
2321
|
+
stateKey,
|
|
2322
|
+
keyboardNavigation,
|
|
2323
|
+
onCellEdit,
|
|
2324
|
+
groupBy,
|
|
2325
|
+
totals,
|
|
2326
|
+
pinnedRows,
|
|
2327
|
+
columnGroups,
|
|
2328
|
+
exportable,
|
|
1648
2329
|
density,
|
|
1649
2330
|
zebra,
|
|
1650
2331
|
stickyHeader,
|
|
1651
2332
|
loading,
|
|
1652
2333
|
emptyState,
|
|
1653
2334
|
title,
|
|
2335
|
+
ariaLabel,
|
|
1654
2336
|
description,
|
|
1655
2337
|
labels,
|
|
1656
2338
|
className,
|
|
@@ -1719,6 +2401,12 @@ interface CommandMenuProps {
|
|
|
1719
2401
|
open: boolean;
|
|
1720
2402
|
onOpenChange: (open: boolean) => void;
|
|
1721
2403
|
groups: CommandGroup[];
|
|
2404
|
+
/**
|
|
2405
|
+
* Placeholder text shown when the field is empty.
|
|
2406
|
+
*
|
|
2407
|
+
* @defaultValue `Type a command or search…`
|
|
2408
|
+
* @see the component manifest
|
|
2409
|
+
*/
|
|
1722
2410
|
placeholder?: string;
|
|
1723
2411
|
/**
|
|
1724
2412
|
* Text shown when no commands match the query.
|
|
@@ -1735,12 +2423,20 @@ interface CommandMenuProps {
|
|
|
1735
2423
|
*/
|
|
1736
2424
|
hotkey?: boolean;
|
|
1737
2425
|
/**
|
|
1738
|
-
*
|
|
2426
|
+
* Accessible name for the command dialog. Not rendered — screen readers only.
|
|
1739
2427
|
*
|
|
1740
2428
|
* @defaultValue `Command menu`
|
|
1741
2429
|
* @see the component manifest
|
|
1742
2430
|
*/
|
|
1743
2431
|
label?: string;
|
|
2432
|
+
/**
|
|
2433
|
+
* Alias of `label` — the same invisible accessible name under the catalog's own spelling.
|
|
2434
|
+
*
|
|
2435
|
+
* `ariaLabel` is what the catalog calls a name nothing paints, so it is the guess an agent
|
|
2436
|
+
* makes after reading one other component (2026-08-21 report item 1). This component
|
|
2437
|
+
* predates the convention and shipped `label`; both work and neither is deprecated.
|
|
2438
|
+
*/
|
|
2439
|
+
ariaLabel?: string;
|
|
1744
2440
|
/**
|
|
1745
2441
|
* Shows a loading spinner in place of the empty state (for async items)
|
|
1746
2442
|
*
|
|
@@ -1782,6 +2478,7 @@ declare function CommandMenu({
|
|
|
1782
2478
|
emptyLabel,
|
|
1783
2479
|
hotkey,
|
|
1784
2480
|
label,
|
|
2481
|
+
ariaLabel,
|
|
1785
2482
|
loading,
|
|
1786
2483
|
onQueryChange,
|
|
1787
2484
|
scopes,
|
|
@@ -1856,31 +2553,69 @@ declare function Form<T extends Record<string, unknown>>({
|
|
|
1856
2553
|
className,
|
|
1857
2554
|
...props
|
|
1858
2555
|
}: FormProps<T>): import("react").JSX.Element;
|
|
2556
|
+
/**
|
|
2557
|
+
* Option filtering, grouping and match highlighting for `Combobox`, kept pure so the list
|
|
2558
|
+
* pipeline is testable without a DOM and runs once per query change rather than per render.
|
|
2559
|
+
*
|
|
2560
|
+
* Matching folds diacritics: a user typing `zurich` expects `Zürich`, and a filtered option
|
|
2561
|
+
* list is exactly where that gap bites, because the user cannot see why their query returns
|
|
2562
|
+
* nothing. Folding is done per code point so the folded string stays index-aligned with the
|
|
2563
|
+
* original — that alignment is what lets `highlightSegments` mark the match on the label the
|
|
2564
|
+
* user actually reads rather than on a normalised copy of it.
|
|
2565
|
+
*
|
|
2566
|
+
* `MultiSelect` carries the same four operations against its own option type. They are
|
|
2567
|
+
* deliberately not shared: a registry component is copied into an adopter's project as a
|
|
2568
|
+
* self-contained folder, so a cross-component import would make `cascivo add combobox`
|
|
2569
|
+
* drag in a sibling component's files. The catalog already accepts this for the menu /
|
|
2570
|
+
* context-menu navigation pair.
|
|
2571
|
+
*/
|
|
2572
|
+
/** One selectable option. A list mixing grouped and ungrouped options renders the ungrouped ones first. */
|
|
1859
2573
|
interface ComboboxOption {
|
|
1860
|
-
value: string;
|
|
1861
2574
|
label: string;
|
|
2575
|
+
value: string;
|
|
1862
2576
|
/**
|
|
1863
|
-
* When true,
|
|
2577
|
+
* When true, the option cannot be selected and is skipped by keyboard navigation.
|
|
1864
2578
|
*
|
|
1865
2579
|
* @defaultValue `false`
|
|
1866
2580
|
* @see the component manifest
|
|
1867
2581
|
*/
|
|
1868
2582
|
disabled?: boolean;
|
|
2583
|
+
/** Optional group heading this option belongs to. */
|
|
2584
|
+
group?: string;
|
|
1869
2585
|
}
|
|
1870
2586
|
interface ComboboxLabels {
|
|
1871
2587
|
placeholder?: string;
|
|
1872
2588
|
empty?: string;
|
|
1873
2589
|
clear?: string;
|
|
2590
|
+
/**
|
|
2591
|
+
* @deprecated Named the in-popup search input, which no longer exists — the field itself is
|
|
2592
|
+
* the combobox. Ignored; removed in 2.0.
|
|
2593
|
+
*/
|
|
1874
2594
|
search?: string;
|
|
2595
|
+
/** Text shown in place of the empty message while `loading` is true. */
|
|
2596
|
+
loading?: string;
|
|
2597
|
+
/** Template for the "create" row; `{label}` is replaced with the typed text. */
|
|
2598
|
+
create?: string;
|
|
1875
2599
|
}
|
|
1876
2600
|
interface ComboboxProps {
|
|
2601
|
+
/**
|
|
2602
|
+
* Wired automatically by a wrapping `Field` — its label id. Forwarded to the focusable
|
|
2603
|
+
* control so the Field's label names it.
|
|
2604
|
+
*/
|
|
2605
|
+
'aria-labelledby'?: string;
|
|
2606
|
+
/**
|
|
2607
|
+
* Wired automatically by a wrapping `Field` — the ids of its hint/error text. **Merged**
|
|
2608
|
+
* with this component's own `hint`/`error` ids rather than replacing them, so both are
|
|
2609
|
+
* announced.
|
|
2610
|
+
*/
|
|
2611
|
+
'aria-describedby'?: string;
|
|
2612
|
+
/** Wired automatically by a wrapping `Field` when it is in an error state. */
|
|
2613
|
+
'aria-invalid'?: boolean;
|
|
1877
2614
|
options: ComboboxOption[];
|
|
1878
2615
|
value?: string;
|
|
1879
2616
|
defaultValue?: string;
|
|
1880
2617
|
/** Called with the selected option value (or undefined when cleared). */
|
|
1881
2618
|
onValueChange?: (value: string | undefined) => void;
|
|
1882
|
-
/** @deprecated Use `onValueChange` — it receives the same `string | undefined`. */
|
|
1883
|
-
onChange?: (value: string | undefined) => void;
|
|
1884
2619
|
/**
|
|
1885
2620
|
* When true, shows a control to clear the selected value.
|
|
1886
2621
|
*
|
|
@@ -1889,17 +2624,71 @@ interface ComboboxProps {
|
|
|
1889
2624
|
*/
|
|
1890
2625
|
clearable?: boolean;
|
|
1891
2626
|
/**
|
|
1892
|
-
* When true
|
|
2627
|
+
* When true the field is a text input that filters the list as the user types (the APG
|
|
2628
|
+
* editable combobox). When false it is a button that opens the list, and type-to-select
|
|
2629
|
+
* jumps to a matching option (the APG select-only combobox).
|
|
1893
2630
|
*
|
|
1894
2631
|
* @defaultValue `true`
|
|
1895
2632
|
* @see the component manifest
|
|
1896
2633
|
*/
|
|
1897
2634
|
searchable?: boolean;
|
|
1898
2635
|
label?: string;
|
|
2636
|
+
/**
|
|
2637
|
+
* Invisible accessible name, for when a visible element outside this component already
|
|
2638
|
+
* labels it and `label` would render that text a second time.
|
|
2639
|
+
*
|
|
2640
|
+
* `label` on this component is **visible**. `IconButton.label` and `Sparkline.label` are
|
|
2641
|
+
* invisible names, so an adopter arriving with that prior writes `label` here and gets the
|
|
2642
|
+
* text twice (2026-08-22 report item 13). Both props are listed side by side, each saying
|
|
2643
|
+
* which it is.
|
|
2644
|
+
*/
|
|
2645
|
+
ariaLabel?: string;
|
|
1899
2646
|
hint?: string;
|
|
1900
2647
|
error?: string;
|
|
1901
2648
|
size?: 'sm' | 'md' | 'lg';
|
|
2649
|
+
/**
|
|
2650
|
+
* When true, disables the control and removes it from the tab order.
|
|
2651
|
+
*
|
|
2652
|
+
* @defaultValue `false`
|
|
2653
|
+
* @see the component manifest
|
|
2654
|
+
*/
|
|
1902
2655
|
disabled?: boolean;
|
|
2656
|
+
/**
|
|
2657
|
+
* When true, the list reports itself as busy and shows a loading row instead of the empty
|
|
2658
|
+
* message.
|
|
2659
|
+
*
|
|
2660
|
+
* @defaultValue `false`
|
|
2661
|
+
* @see the component manifest
|
|
2662
|
+
*/
|
|
2663
|
+
loading?: boolean;
|
|
2664
|
+
/** Called with the search text on every keystroke. Pair it with `filter={() => true}` for a server-driven list. */
|
|
2665
|
+
onSearchChange?: (query: string) => void;
|
|
2666
|
+
/** Replaces the built-in diacritic-insensitive matcher. */
|
|
2667
|
+
filter?: (option: ComboboxOption, query: string) => boolean;
|
|
2668
|
+
/**
|
|
2669
|
+
* When true, offers the current search text as a new option.
|
|
2670
|
+
*
|
|
2671
|
+
* @defaultValue `false`
|
|
2672
|
+
* @see the component manifest
|
|
2673
|
+
*/
|
|
2674
|
+
creatable?: boolean;
|
|
2675
|
+
/** Called with the typed label when the user picks the "create" row. */
|
|
2676
|
+
onCreate?: (label: string) => void;
|
|
2677
|
+
/** Submitted with a surrounding form — a hidden input carrying the selected value. */
|
|
2678
|
+
name?: string;
|
|
2679
|
+
/** Marks the control as required for assistive technology. */
|
|
2680
|
+
required?: boolean;
|
|
2681
|
+
/** Controlled open state of the listbox. */
|
|
2682
|
+
open?: boolean;
|
|
2683
|
+
/**
|
|
2684
|
+
* The initial open state when uncontrolled.
|
|
2685
|
+
*
|
|
2686
|
+
* @defaultValue `false`
|
|
2687
|
+
* @see the component manifest
|
|
2688
|
+
*/
|
|
2689
|
+
defaultOpen?: boolean;
|
|
2690
|
+
/** Called when the listbox opens or closes. */
|
|
2691
|
+
onOpenChange?: (open: boolean) => void;
|
|
1903
2692
|
labels?: ComboboxLabels;
|
|
1904
2693
|
className?: string;
|
|
1905
2694
|
id?: string;
|
|
@@ -1909,33 +2698,61 @@ declare function Combobox({
|
|
|
1909
2698
|
value,
|
|
1910
2699
|
defaultValue,
|
|
1911
2700
|
onValueChange,
|
|
1912
|
-
onChange,
|
|
1913
2701
|
clearable,
|
|
1914
2702
|
searchable,
|
|
1915
2703
|
label,
|
|
2704
|
+
ariaLabel,
|
|
1916
2705
|
hint,
|
|
1917
2706
|
error,
|
|
1918
2707
|
size,
|
|
1919
2708
|
disabled,
|
|
2709
|
+
loading,
|
|
2710
|
+
onSearchChange,
|
|
2711
|
+
filter,
|
|
2712
|
+
creatable,
|
|
2713
|
+
onCreate,
|
|
2714
|
+
name,
|
|
2715
|
+
required,
|
|
2716
|
+
open,
|
|
2717
|
+
defaultOpen,
|
|
2718
|
+
onOpenChange,
|
|
1920
2719
|
labels,
|
|
1921
2720
|
className,
|
|
1922
|
-
id
|
|
2721
|
+
id,
|
|
2722
|
+
'aria-labelledby': ariaLabelledBy,
|
|
2723
|
+
'aria-describedby': ariaDescribedBy,
|
|
2724
|
+
'aria-invalid': ariaInvalid
|
|
1923
2725
|
}: ComboboxProps): import("react").JSX.Element;
|
|
1924
2726
|
interface DatePickerLabels {
|
|
1925
2727
|
placeholder?: string;
|
|
1926
2728
|
previousMonth?: string;
|
|
1927
2729
|
nextMonth?: string;
|
|
1928
2730
|
clear?: string;
|
|
2731
|
+
open?: string;
|
|
2732
|
+
today?: string;
|
|
1929
2733
|
}
|
|
1930
2734
|
interface DatePickerProps {
|
|
2735
|
+
/**
|
|
2736
|
+
* Wired automatically by a wrapping `Field` — its label id. Forwarded to the focusable
|
|
2737
|
+
* control so the Field's label names it.
|
|
2738
|
+
*/
|
|
2739
|
+
'aria-labelledby'?: string;
|
|
2740
|
+
/**
|
|
2741
|
+
* Wired automatically by a wrapping `Field` — the ids of its hint/error text. **Merged**
|
|
2742
|
+
* with this component's own `hint`/`error` ids rather than replacing them, so both are
|
|
2743
|
+
* announced.
|
|
2744
|
+
*/
|
|
2745
|
+
'aria-describedby'?: string;
|
|
2746
|
+
/** Wired automatically by a wrapping `Field` when it is in an error state. */
|
|
2747
|
+
'aria-invalid'?: boolean;
|
|
1931
2748
|
value?: string;
|
|
1932
2749
|
defaultValue?: string;
|
|
1933
2750
|
/** Called with the selected ISO date string (or undefined when cleared). */
|
|
1934
2751
|
onValueChange?: (value: string | undefined) => void;
|
|
1935
|
-
/** @deprecated Use `onValueChange` — it receives the same ISO `string | undefined`. */
|
|
1936
|
-
onChange?: (value: string | undefined) => void;
|
|
1937
2752
|
min?: string;
|
|
1938
2753
|
max?: string;
|
|
2754
|
+
/** Rejects individual dates the bounds allow — holidays, weekends, taken slots. */
|
|
2755
|
+
disabledDate?: (date: Date) => boolean;
|
|
1939
2756
|
/**
|
|
1940
2757
|
* Shows a clear button
|
|
1941
2758
|
*
|
|
@@ -1944,6 +2761,16 @@ interface DatePickerProps {
|
|
|
1944
2761
|
*/
|
|
1945
2762
|
clearable?: boolean;
|
|
1946
2763
|
label?: string;
|
|
2764
|
+
/**
|
|
2765
|
+
* Invisible accessible name, for when a visible element outside this component already
|
|
2766
|
+
* labels it and `label` would render that text a second time.
|
|
2767
|
+
*
|
|
2768
|
+
* `label` on this component is **visible**. `IconButton.label` and `Sparkline.label` are
|
|
2769
|
+
* invisible names, so an adopter arriving with that prior writes `label` here and gets the
|
|
2770
|
+
* text twice (2026-08-22 report item 13). Both props are listed side by side, each saying
|
|
2771
|
+
* which it is.
|
|
2772
|
+
*/
|
|
2773
|
+
ariaLabel?: string;
|
|
1947
2774
|
hint?: string;
|
|
1948
2775
|
error?: string;
|
|
1949
2776
|
/**
|
|
@@ -1960,6 +2787,30 @@ interface DatePickerProps {
|
|
|
1960
2787
|
* @see the component manifest
|
|
1961
2788
|
*/
|
|
1962
2789
|
disabled?: boolean;
|
|
2790
|
+
/**
|
|
2791
|
+
* When true, the field accepts a typed date as well as one picked from the calendar.
|
|
2792
|
+
*
|
|
2793
|
+
* @defaultValue `true`
|
|
2794
|
+
* @see the component manifest
|
|
2795
|
+
*/
|
|
2796
|
+
typeable?: boolean;
|
|
2797
|
+
/** Formatting options for the displayed date. Defaults to the locale's numeric form. */
|
|
2798
|
+
format?: Intl.DateTimeFormatOptions;
|
|
2799
|
+
/**
|
|
2800
|
+
* When true, the calendar offers a button that jumps to the current month.
|
|
2801
|
+
*
|
|
2802
|
+
* @defaultValue `false`
|
|
2803
|
+
* @see the component manifest
|
|
2804
|
+
*/
|
|
2805
|
+
showToday?: boolean;
|
|
2806
|
+
/** Submitted with a surrounding form — a hidden input carrying the ISO value. */
|
|
2807
|
+
name?: string;
|
|
2808
|
+
/** Marks the control as required for assistive technology. */
|
|
2809
|
+
required?: boolean;
|
|
2810
|
+
/** Controlled open state of the calendar popup. */
|
|
2811
|
+
open?: boolean;
|
|
2812
|
+
/** Called when the popup opens or closes. */
|
|
2813
|
+
onOpenChange?: (open: boolean) => void;
|
|
1963
2814
|
labels?: DatePickerLabels;
|
|
1964
2815
|
className?: string;
|
|
1965
2816
|
id?: string;
|
|
@@ -1968,18 +2819,29 @@ declare function DatePicker({
|
|
|
1968
2819
|
value,
|
|
1969
2820
|
defaultValue,
|
|
1970
2821
|
onValueChange,
|
|
1971
|
-
onChange,
|
|
1972
2822
|
min,
|
|
1973
2823
|
max,
|
|
2824
|
+
disabledDate,
|
|
1974
2825
|
clearable,
|
|
1975
2826
|
label,
|
|
2827
|
+
ariaLabel,
|
|
1976
2828
|
hint,
|
|
1977
2829
|
error,
|
|
1978
2830
|
size,
|
|
1979
2831
|
disabled,
|
|
2832
|
+
typeable,
|
|
2833
|
+
format,
|
|
2834
|
+
showToday,
|
|
2835
|
+
name,
|
|
2836
|
+
required,
|
|
2837
|
+
open,
|
|
2838
|
+
onOpenChange,
|
|
1980
2839
|
labels,
|
|
1981
2840
|
className,
|
|
1982
|
-
id
|
|
2841
|
+
id,
|
|
2842
|
+
'aria-labelledby': ariaLabelledBy,
|
|
2843
|
+
'aria-describedby': ariaDescribedBy,
|
|
2844
|
+
'aria-invalid': ariaInvalid
|
|
1983
2845
|
}: DatePickerProps): import("react").JSX.Element;
|
|
1984
2846
|
interface UploaderFile {
|
|
1985
2847
|
id: string;
|
|
@@ -2017,6 +2879,16 @@ interface FileUploaderProps {
|
|
|
2017
2879
|
maxSize?: number;
|
|
2018
2880
|
onRejected?: (files: File[], reason: 'size' | 'type') => void;
|
|
2019
2881
|
label?: string;
|
|
2882
|
+
/**
|
|
2883
|
+
* Invisible accessible name, for when a visible element outside this component already
|
|
2884
|
+
* labels it and `label` would render that text a second time.
|
|
2885
|
+
*
|
|
2886
|
+
* `label` on this component is **visible**. `IconButton.label` and `Sparkline.label` are
|
|
2887
|
+
* invisible names, so an adopter arriving with that prior writes `label` here and gets the
|
|
2888
|
+
* text twice (2026-08-22 report item 13). Both props are listed side by side, each saying
|
|
2889
|
+
* which it is.
|
|
2890
|
+
*/
|
|
2891
|
+
ariaLabel?: string;
|
|
2020
2892
|
hint?: string;
|
|
2021
2893
|
labels?: FileUploaderLabels;
|
|
2022
2894
|
/**
|
|
@@ -2037,18 +2909,31 @@ declare function FileUploader({
|
|
|
2037
2909
|
maxSize,
|
|
2038
2910
|
onRejected,
|
|
2039
2911
|
label,
|
|
2912
|
+
ariaLabel,
|
|
2040
2913
|
hint,
|
|
2041
2914
|
labels,
|
|
2042
2915
|
disabled,
|
|
2043
2916
|
className
|
|
2044
2917
|
}: FileUploaderProps): import("react").JSX.Element;
|
|
2045
2918
|
interface TimePickerProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type' | 'value' | 'defaultValue' | 'onChange' | 'min' | 'max' | 'step'> {
|
|
2919
|
+
/**
|
|
2920
|
+
* Invisible accessible name, for when a visible element outside this component already
|
|
2921
|
+
* labels it (a heading in a settings row, a table column header) and `label` would render
|
|
2922
|
+
* that text a second time.
|
|
2923
|
+
*
|
|
2924
|
+
* `label` on this component is **visible** — it is painted next to the control. The catalog
|
|
2925
|
+
* splits that way deliberately, but `IconButton.label` and `Sparkline.label` are invisible
|
|
2926
|
+
* names, so an adopter arriving with that prior writes `label` here and gets the text twice
|
|
2927
|
+
* (2026-08-22 report item 13). Both props are now listed side by side, each saying which it
|
|
2928
|
+
* is, which is the only thing that interrupts a confident wrong guess.
|
|
2929
|
+
*
|
|
2930
|
+
* The raw DOM `aria-label` is still accepted and wins over this.
|
|
2931
|
+
*/
|
|
2932
|
+
ariaLabel?: string;
|
|
2046
2933
|
value?: string;
|
|
2047
2934
|
defaultValue?: string;
|
|
2048
2935
|
/** Called with the new `HH:MM` time string when the value changes. */
|
|
2049
2936
|
onValueChange?: (value: string) => void;
|
|
2050
|
-
/** @deprecated Use `onValueChange` — it receives the same time string. */
|
|
2051
|
-
onChange?: (value: string) => void;
|
|
2052
2937
|
min?: string;
|
|
2053
2938
|
max?: string;
|
|
2054
2939
|
step?: number;
|
|
@@ -2159,7 +3044,8 @@ interface AlertDialogProps {
|
|
|
2159
3044
|
onCancel: () => void;
|
|
2160
3045
|
labels?: AlertDialogLabels;
|
|
2161
3046
|
/**
|
|
2162
|
-
*
|
|
3047
|
+
* `destructive` styles the confirm button as a danger action; `default` styles it as the
|
|
3048
|
+
* primary action. Use `destructive` for anything that deletes.
|
|
2163
3049
|
*
|
|
2164
3050
|
* @defaultValue `default`
|
|
2165
3051
|
* @see the component manifest
|
|
@@ -2182,7 +3068,8 @@ interface SheetProps {
|
|
|
2182
3068
|
title?: ReactNode;
|
|
2183
3069
|
children: ReactNode;
|
|
2184
3070
|
/**
|
|
2185
|
-
* Edge the
|
|
3071
|
+
* Edge the sheet slides in from: `end` (the inline end — right in LTR), `start`, `top` or
|
|
3072
|
+
* `bottom`.
|
|
2186
3073
|
*
|
|
2187
3074
|
* @defaultValue `end`
|
|
2188
3075
|
* @see the component manifest
|
|
@@ -2283,7 +3170,8 @@ interface ComparisonProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange
|
|
|
2283
3170
|
defaultPosition?: number;
|
|
2284
3171
|
onPositionChange?: (position: number) => void;
|
|
2285
3172
|
/**
|
|
2286
|
-
*
|
|
3173
|
+
* Axis you drag along. `horizontal` splits the two images left and right with a vertical
|
|
3174
|
+
* divider; `vertical` splits them top and bottom with a horizontal one.
|
|
2287
3175
|
*
|
|
2288
3176
|
* @defaultValue `horizontal`
|
|
2289
3177
|
* @see the component manifest
|
|
@@ -2296,8 +3184,16 @@ interface ComparisonProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange
|
|
|
2296
3184
|
* @see the component manifest
|
|
2297
3185
|
*/
|
|
2298
3186
|
keyboardStep?: number;
|
|
2299
|
-
/** Accessible
|
|
3187
|
+
/** Accessible name for the divider slider — **not rendered**. */
|
|
2300
3188
|
label?: string;
|
|
3189
|
+
/**
|
|
3190
|
+
* Alias of `label` — the same invisible accessible name under the catalog's own spelling.
|
|
3191
|
+
*
|
|
3192
|
+
* `ariaLabel` is what the catalog calls a name nothing paints, so it is the guess an agent
|
|
3193
|
+
* makes after reading one other component (2026-08-21 report item 1). This component
|
|
3194
|
+
* predates the convention and shipped `label`; both work and neither is deprecated.
|
|
3195
|
+
*/
|
|
3196
|
+
ariaLabel?: string;
|
|
2301
3197
|
}
|
|
2302
3198
|
declare function Comparison({
|
|
2303
3199
|
after,
|
|
@@ -2308,6 +3204,7 @@ declare function Comparison({
|
|
|
2308
3204
|
orientation,
|
|
2309
3205
|
keyboardStep,
|
|
2310
3206
|
label,
|
|
3207
|
+
ariaLabel,
|
|
2311
3208
|
className,
|
|
2312
3209
|
...props
|
|
2313
3210
|
}: ComparisonProps): import("react").JSX.Element;
|
|
@@ -2370,40 +3267,185 @@ interface PasswordInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>,
|
|
|
2370
3267
|
* incomplete, which is why the rule is a guard and not a checklist.
|
|
2371
3268
|
*/
|
|
2372
3269
|
declare const PasswordInput: import("react").ForwardRefExoticComponent<PasswordInputProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
3270
|
+
/**
|
|
3271
|
+
* Option filtering, grouping and match highlighting, kept pure so the list pipeline is
|
|
3272
|
+
* testable without a DOM and runs once per query change rather than per render.
|
|
3273
|
+
*
|
|
3274
|
+
* Matching folds diacritics because a German user typing `zurich` expects `Zürich`, and an
|
|
3275
|
+
* option list is exactly where that gap bites: the user cannot see why their query returns
|
|
3276
|
+
* nothing. Folding is done per code point so the folded string stays index-aligned with the
|
|
3277
|
+
* original — that alignment is what lets `highlightSegments` mark the match on the label the
|
|
3278
|
+
* user actually reads rather than on a normalised copy of it.
|
|
3279
|
+
*/
|
|
3280
|
+
/** One selectable option. `group` is optional; a list mixing grouped and ungrouped options renders the ungrouped ones first. */
|
|
2373
3281
|
interface MultiSelectOption {
|
|
2374
3282
|
label: string;
|
|
2375
3283
|
value: string;
|
|
2376
3284
|
/**
|
|
2377
|
-
* When true,
|
|
3285
|
+
* When true, the option cannot be selected and is skipped by keyboard navigation.
|
|
3286
|
+
*
|
|
3287
|
+
* @defaultValue `false`
|
|
3288
|
+
* @see the component manifest
|
|
3289
|
+
*/
|
|
3290
|
+
disabled?: boolean;
|
|
3291
|
+
/** Optional group heading this option belongs to. */
|
|
3292
|
+
group?: string;
|
|
3293
|
+
}
|
|
3294
|
+
interface MultiSelectLabels {
|
|
3295
|
+
label?: string;
|
|
3296
|
+
placeholder?: string;
|
|
3297
|
+
selected?: (count: number) => string;
|
|
3298
|
+
search?: string;
|
|
3299
|
+
noResults?: string;
|
|
3300
|
+
/** Text shown in place of the no-results message while `loading` is true. */
|
|
3301
|
+
loading?: string;
|
|
3302
|
+
clear?: string;
|
|
3303
|
+
remove?: string;
|
|
3304
|
+
/** Text on the select-all row while nothing is selected. */
|
|
3305
|
+
selectAll?: string;
|
|
3306
|
+
clearAll?: string;
|
|
3307
|
+
create?: string;
|
|
3308
|
+
}
|
|
3309
|
+
interface MultiSelectProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange' | 'defaultValue'> {
|
|
3310
|
+
/**
|
|
3311
|
+
* Wired automatically by a wrapping `Field` — its label id. Forwarded to the focusable
|
|
3312
|
+
* control so the Field's label names it.
|
|
3313
|
+
*/
|
|
3314
|
+
'aria-labelledby'?: string;
|
|
3315
|
+
/**
|
|
3316
|
+
* Wired automatically by a wrapping `Field` — the ids of its hint/error text. **Merged**
|
|
3317
|
+
* with this component's own `hint`/`error` ids rather than replacing them, so both are
|
|
3318
|
+
* announced.
|
|
3319
|
+
*/
|
|
3320
|
+
'aria-describedby'?: string;
|
|
3321
|
+
/** Wired automatically by a wrapping `Field` when it is in an error state. */
|
|
3322
|
+
'aria-invalid'?: boolean;
|
|
3323
|
+
options: MultiSelectOption[];
|
|
3324
|
+
/** The controlled value. Omit it and pass `defaultValue` to let the component own the selection. */
|
|
3325
|
+
value?: string[];
|
|
3326
|
+
/**
|
|
3327
|
+
* The initial value when uncontrolled.
|
|
3328
|
+
*
|
|
3329
|
+
* @defaultValue `[]`
|
|
3330
|
+
* @see the component manifest
|
|
3331
|
+
*/
|
|
3332
|
+
defaultValue?: string[];
|
|
3333
|
+
/** Called with the new value when it changes. */
|
|
3334
|
+
onValueChange?: (value: string[]) => void;
|
|
3335
|
+
placeholder?: string;
|
|
3336
|
+
/** Visible field label. */
|
|
3337
|
+
label?: string;
|
|
3338
|
+
/**
|
|
3339
|
+
* Invisible accessible name, for when a visible element outside this component already
|
|
3340
|
+
* labels it and `label` would render that text a second time.
|
|
3341
|
+
*
|
|
3342
|
+
* `label` on this component is **visible**. `IconButton.label` and `Sparkline.label` are
|
|
3343
|
+
* invisible names, so an adopter arriving with that prior writes `label` here and gets the
|
|
3344
|
+
* text twice (2026-08-22 report item 13). Both props are listed side by side, each saying
|
|
3345
|
+
* which it is.
|
|
3346
|
+
*/
|
|
3347
|
+
ariaLabel?: string;
|
|
3348
|
+
hint?: string;
|
|
3349
|
+
error?: string;
|
|
3350
|
+
/**
|
|
3351
|
+
* How the trigger summarises the selection: a count, or one removable chip per value.
|
|
3352
|
+
*
|
|
3353
|
+
* @defaultValue `'count'`
|
|
3354
|
+
* @see the component manifest
|
|
3355
|
+
*/
|
|
3356
|
+
display?: 'count' | 'chips';
|
|
3357
|
+
/**
|
|
3358
|
+
* When true, disables the control and removes it from the tab order.
|
|
3359
|
+
*
|
|
3360
|
+
* @defaultValue `false`
|
|
3361
|
+
* @see the component manifest
|
|
3362
|
+
*/
|
|
3363
|
+
disabled?: boolean;
|
|
3364
|
+
/**
|
|
3365
|
+
* When true, shows a control that clears every selected value.
|
|
3366
|
+
*
|
|
3367
|
+
* @defaultValue `false`
|
|
3368
|
+
* @see the component manifest
|
|
3369
|
+
*/
|
|
3370
|
+
clearable?: boolean;
|
|
3371
|
+
/**
|
|
3372
|
+
* When true, shows a row that selects or clears every enabled option at once.
|
|
3373
|
+
*
|
|
3374
|
+
* @defaultValue `false`
|
|
3375
|
+
* @see the component manifest
|
|
3376
|
+
*/
|
|
3377
|
+
selectAll?: boolean;
|
|
3378
|
+
/** Maximum number of values that may be selected. Further options become unselectable once reached. */
|
|
3379
|
+
max?: number;
|
|
3380
|
+
/**
|
|
3381
|
+
* When true, offers the current search text as a new option.
|
|
3382
|
+
*
|
|
3383
|
+
* @defaultValue `false`
|
|
3384
|
+
* @see the component manifest
|
|
3385
|
+
*/
|
|
3386
|
+
creatable?: boolean;
|
|
3387
|
+
/** Called with the typed label when the user picks the "create" row. */
|
|
3388
|
+
onCreate?: (label: string) => void;
|
|
3389
|
+
/**
|
|
3390
|
+
* When true, the list reports itself as busy and shows a loading row instead of the
|
|
3391
|
+
* no-results message.
|
|
3392
|
+
*
|
|
3393
|
+
* @defaultValue `false`
|
|
3394
|
+
* @see the component manifest
|
|
3395
|
+
*/
|
|
3396
|
+
loading?: boolean;
|
|
3397
|
+
/** Called with the search text on every keystroke. Pair it with `filter={() => true}` for a server-driven list. */
|
|
3398
|
+
onSearchChange?: (query: string) => void;
|
|
3399
|
+
/** Replaces the built-in diacritic-insensitive matcher. */
|
|
3400
|
+
filter?: (option: MultiSelectOption, query: string) => boolean;
|
|
3401
|
+
/**
|
|
3402
|
+
* When true, shows the search field. The list is keyboard-navigable either way.
|
|
3403
|
+
*
|
|
3404
|
+
* @defaultValue `true`
|
|
3405
|
+
* @see the component manifest
|
|
3406
|
+
*/
|
|
3407
|
+
searchable?: boolean;
|
|
3408
|
+
/**
|
|
3409
|
+
* Field height.
|
|
2378
3410
|
*
|
|
2379
|
-
* @defaultValue `
|
|
3411
|
+
* @defaultValue `'md'`
|
|
2380
3412
|
* @see the component manifest
|
|
2381
3413
|
*/
|
|
2382
|
-
|
|
2383
|
-
|
|
2384
|
-
|
|
2385
|
-
label?: string;
|
|
2386
|
-
placeholder?: string;
|
|
2387
|
-
selected?: (count: number) => string;
|
|
2388
|
-
search?: string;
|
|
2389
|
-
noResults?: string;
|
|
2390
|
-
}
|
|
2391
|
-
interface MultiSelectProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
|
|
2392
|
-
options: MultiSelectOption[];
|
|
2393
|
-
value: string[];
|
|
2394
|
-
onValueChange: (v: string[]) => void;
|
|
2395
|
-
placeholder?: string;
|
|
2396
|
-
disabled?: boolean;
|
|
3414
|
+
size?: 'sm' | 'md' | 'lg';
|
|
3415
|
+
/** Submitted with a surrounding form — one hidden input per selected value. */
|
|
3416
|
+
name?: string;
|
|
2397
3417
|
labels?: MultiSelectLabels;
|
|
3418
|
+
id?: string;
|
|
2398
3419
|
}
|
|
2399
3420
|
declare function MultiSelect({
|
|
2400
3421
|
options,
|
|
2401
3422
|
value,
|
|
3423
|
+
defaultValue,
|
|
2402
3424
|
onValueChange,
|
|
2403
3425
|
placeholder,
|
|
3426
|
+
label,
|
|
3427
|
+
ariaLabel,
|
|
3428
|
+
hint,
|
|
3429
|
+
error,
|
|
3430
|
+
display,
|
|
2404
3431
|
disabled,
|
|
3432
|
+
clearable,
|
|
3433
|
+
selectAll,
|
|
3434
|
+
max,
|
|
3435
|
+
creatable,
|
|
3436
|
+
onCreate,
|
|
3437
|
+
loading,
|
|
3438
|
+
onSearchChange,
|
|
3439
|
+
filter,
|
|
3440
|
+
searchable,
|
|
3441
|
+
size,
|
|
3442
|
+
name,
|
|
2405
3443
|
labels,
|
|
2406
3444
|
className,
|
|
3445
|
+
id,
|
|
3446
|
+
'aria-labelledby': ariaLabelledBy,
|
|
3447
|
+
'aria-describedby': ariaDescribedBy,
|
|
3448
|
+
'aria-invalid': ariaInvalid,
|
|
2407
3449
|
...props
|
|
2408
3450
|
}: MultiSelectProps): import("react").JSX.Element;
|
|
2409
3451
|
interface TagsInputProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
|
|
@@ -2419,6 +3461,28 @@ interface TagsInputProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'
|
|
|
2419
3461
|
* @see the component manifest
|
|
2420
3462
|
*/
|
|
2421
3463
|
disabled?: boolean;
|
|
3464
|
+
/**
|
|
3465
|
+
* Id for the **inner text input** — the focusable control, so a `<label for>` names the
|
|
3466
|
+
* thing that actually takes focus. `Field` supplies this automatically.
|
|
3467
|
+
*
|
|
3468
|
+
* Naming is unaffected by this: the built-in name is dropped only when something actually
|
|
3469
|
+
* names the control (an `ariaLabel`/`label` prop, or the `aria-labelledby` a `Field`
|
|
3470
|
+
* supplies), so a standalone `<TagsInput id="x"/>` keeps its built-in name.
|
|
3471
|
+
*/
|
|
3472
|
+
id?: string;
|
|
3473
|
+
/**
|
|
3474
|
+
* Invisible accessible name for the tag entry field. Use when no visible label names it.
|
|
3475
|
+
*
|
|
3476
|
+
* Inside a `Field` you do not need this — the Field's label is wired through automatically.
|
|
3477
|
+
*/
|
|
3478
|
+
ariaLabel?: string;
|
|
3479
|
+
/**
|
|
3480
|
+
* Alias of `ariaLabel` — the same invisible accessible name under the other spelling. Not
|
|
3481
|
+
* rendered. `ariaLabel` is the catalog convention and stays preferred; `label` is the guess
|
|
3482
|
+
* an adopter makes when they have not read the convention, and an unaccepted guess costs a
|
|
3483
|
+
* compile cycle for nothing.
|
|
3484
|
+
*/
|
|
3485
|
+
label?: string;
|
|
2422
3486
|
}
|
|
2423
3487
|
declare function TagsInput({
|
|
2424
3488
|
value,
|
|
@@ -2428,6 +3492,12 @@ declare function TagsInput({
|
|
|
2428
3492
|
max,
|
|
2429
3493
|
disabled,
|
|
2430
3494
|
className,
|
|
3495
|
+
id,
|
|
3496
|
+
ariaLabel,
|
|
3497
|
+
label,
|
|
3498
|
+
'aria-labelledby': ariaLabelledBy,
|
|
3499
|
+
'aria-describedby': ariaDescribedBy,
|
|
3500
|
+
'aria-invalid': ariaInvalid,
|
|
2431
3501
|
...props
|
|
2432
3502
|
}: TagsInputProps): import("react").JSX.Element;
|
|
2433
3503
|
interface OtpInputProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
|
|
@@ -2474,6 +3544,12 @@ interface SegmentedControlProps extends Omit<HTMLAttributes<HTMLDivElement>, 'on
|
|
|
2474
3544
|
value: string;
|
|
2475
3545
|
onValueChange: (v: string) => void;
|
|
2476
3546
|
size?: 'sm' | 'md' | 'lg';
|
|
3547
|
+
/**
|
|
3548
|
+
* When true, disables the control and removes it from the tab order.
|
|
3549
|
+
*
|
|
3550
|
+
* @defaultValue `false`
|
|
3551
|
+
* @see the component manifest
|
|
3552
|
+
*/
|
|
2477
3553
|
disabled?: boolean;
|
|
2478
3554
|
}
|
|
2479
3555
|
declare function SegmentedControl({
|
|
@@ -2569,6 +3645,18 @@ interface EditableProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'>
|
|
|
2569
3645
|
*/
|
|
2570
3646
|
submitOnBlur?: boolean;
|
|
2571
3647
|
onCancel?: () => void;
|
|
3648
|
+
/**
|
|
3649
|
+
* Id for the **focusable control** — the preview button when idle, the text input while
|
|
3650
|
+
* editing — rather than the wrapper, so a `<label for>` names what actually takes focus.
|
|
3651
|
+
* `Field` supplies this automatically.
|
|
3652
|
+
*/
|
|
3653
|
+
id?: string;
|
|
3654
|
+
/** Wired automatically by a wrapping `Field` — its label id. */
|
|
3655
|
+
'aria-labelledby'?: string;
|
|
3656
|
+
/** Wired automatically by a wrapping `Field` — the ids of its hint/error text. */
|
|
3657
|
+
'aria-describedby'?: string;
|
|
3658
|
+
/** Wired automatically by a wrapping `Field` when it is in an error state. */
|
|
3659
|
+
'aria-invalid'?: boolean;
|
|
2572
3660
|
}
|
|
2573
3661
|
declare function Editable({
|
|
2574
3662
|
value,
|
|
@@ -2578,6 +3666,12 @@ declare function Editable({
|
|
|
2578
3666
|
submitOnBlur,
|
|
2579
3667
|
onCancel,
|
|
2580
3668
|
className,
|
|
3669
|
+
id,
|
|
3670
|
+
'aria-label': ariaLabel,
|
|
3671
|
+
'aria-labelledby': ariaLabelledBy,
|
|
3672
|
+
'aria-describedby': ariaDescribedBy,
|
|
3673
|
+
'aria-invalid': ariaInvalid,
|
|
3674
|
+
tabIndex,
|
|
2581
3675
|
...props
|
|
2582
3676
|
}: EditableProps): import("react").JSX.Element;
|
|
2583
3677
|
interface RadioCardGroupProps {
|
|
@@ -2732,17 +3826,34 @@ type SwitcherEntry = SwitcherLink | {
|
|
|
2732
3826
|
interface SwitcherProps {
|
|
2733
3827
|
items: SwitcherEntry[];
|
|
2734
3828
|
/**
|
|
2735
|
-
*
|
|
3829
|
+
* Accessible name for the switcher list. Not rendered — screen readers only.
|
|
2736
3830
|
*
|
|
2737
3831
|
* @defaultValue `Switch application`
|
|
2738
3832
|
* @see the component manifest
|
|
2739
3833
|
*/
|
|
2740
3834
|
label?: string;
|
|
3835
|
+
/**
|
|
3836
|
+
* Alias of `label` — the same invisible accessible name under the catalog's own spelling.
|
|
3837
|
+
*
|
|
3838
|
+
* `ariaLabel` is what the catalog calls a name nothing paints, so it is the guess an agent
|
|
3839
|
+
* makes after reading one other component (2026-08-21 report item 1). This component
|
|
3840
|
+
* predates the convention and shipped `label`; both work and neither is deprecated.
|
|
3841
|
+
*/
|
|
3842
|
+
ariaLabel?: string;
|
|
2741
3843
|
className?: string | undefined;
|
|
2742
3844
|
}
|
|
3845
|
+
/**
|
|
3846
|
+
* An **always-visible** list of apps/workspaces. Every entry renders at once and stays on
|
|
3847
|
+
* screen — despite the name, nothing collapses and there is no trigger.
|
|
3848
|
+
*
|
|
3849
|
+
* For the shape most consoles want — one row showing the current workspace, a menu on click
|
|
3850
|
+
* — use `Dropdown`. An adopter picked `Switcher` from its name for a Vercel-style team
|
|
3851
|
+
* switcher and got both teams stacked permanently in the sidebar (2026-08-21 report item 5).
|
|
3852
|
+
*/
|
|
2743
3853
|
declare function Switcher({
|
|
2744
3854
|
items,
|
|
2745
3855
|
label,
|
|
3856
|
+
ariaLabel,
|
|
2746
3857
|
className
|
|
2747
3858
|
}: SwitcherProps): import("react").JSX.Element;
|
|
2748
3859
|
interface CheckboxCardProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'title' | 'onChange'> {
|
|
@@ -2894,7 +4005,8 @@ interface ProgressProps {
|
|
|
2894
4005
|
/** 0–100. Omit for indeterminate state. */
|
|
2895
4006
|
value?: number;
|
|
2896
4007
|
/**
|
|
2897
|
-
*
|
|
4008
|
+
* Colour of the fill: `primary` (the accent) or a severity tone — `info`, `success`,
|
|
4009
|
+
* `warning`, `error`.
|
|
2898
4010
|
*
|
|
2899
4011
|
* @defaultValue `primary`
|
|
2900
4012
|
* @see the component manifest
|
|
@@ -2908,6 +4020,14 @@ interface ProgressProps {
|
|
|
2908
4020
|
* flip on every component.
|
|
2909
4021
|
*/
|
|
2910
4022
|
ariaLabel?: string;
|
|
4023
|
+
/**
|
|
4024
|
+
* Alias of `ariaLabel` — same invisible accessible name, the other spelling. Not rendered.
|
|
4025
|
+
*
|
|
4026
|
+
* `ariaLabel` is the catalog convention and stays preferred, but `label` is the guess an
|
|
4027
|
+
* adopter makes when they have not read the convention, and an unaccepted guess costs a
|
|
4028
|
+
* compile cycle for nothing (2026-08-21 report item 1). Pass either.
|
|
4029
|
+
*/
|
|
4030
|
+
label?: string;
|
|
2911
4031
|
/** DOM-spelled alias of {@link ariaLabel}. */
|
|
2912
4032
|
'aria-label'?: string;
|
|
2913
4033
|
'aria-describedby'?: string;
|
|
@@ -2919,6 +4039,7 @@ declare function Progress({
|
|
|
2919
4039
|
size,
|
|
2920
4040
|
className,
|
|
2921
4041
|
ariaLabel,
|
|
4042
|
+
label,
|
|
2922
4043
|
...aria
|
|
2923
4044
|
}: ProgressProps): import("react").JSX.Element;
|
|
2924
4045
|
interface ProgressCircleProps extends HTMLAttributes<HTMLDivElement> {
|
|
@@ -2941,6 +4062,14 @@ interface ProgressCircleProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
2941
4062
|
showValue?: boolean;
|
|
2942
4063
|
/** Accessible name for the progressbar. */
|
|
2943
4064
|
label?: string;
|
|
4065
|
+
/**
|
|
4066
|
+
* Alias of `label` — the same invisible accessible name under the catalog's own spelling.
|
|
4067
|
+
*
|
|
4068
|
+
* `ariaLabel` is what the catalog calls a name nothing paints, so it is the guess an agent
|
|
4069
|
+
* makes after reading one other component (2026-08-21 report item 1). This component
|
|
4070
|
+
* predates the convention and shipped `label`; both work and neither is deprecated.
|
|
4071
|
+
*/
|
|
4072
|
+
ariaLabel?: string;
|
|
2944
4073
|
}
|
|
2945
4074
|
declare function ProgressCircle({
|
|
2946
4075
|
value,
|
|
@@ -2948,6 +4077,7 @@ declare function ProgressCircle({
|
|
|
2948
4077
|
size,
|
|
2949
4078
|
showValue,
|
|
2950
4079
|
label,
|
|
4080
|
+
ariaLabel,
|
|
2951
4081
|
className,
|
|
2952
4082
|
...props
|
|
2953
4083
|
}: ProgressCircleProps): import("react").JSX.Element;
|
|
@@ -2972,7 +4102,8 @@ declare function Heading({
|
|
|
2972
4102
|
}: HeadingProps): import("react").JSX.Element;
|
|
2973
4103
|
interface TextProps extends HTMLAttributes<HTMLElement> {
|
|
2974
4104
|
/**
|
|
2975
|
-
*
|
|
4105
|
+
* `p` for a paragraph, `span` for inline text, `div` for a block that imposes no semantics
|
|
4106
|
+
* of its own.
|
|
2976
4107
|
*
|
|
2977
4108
|
* @defaultValue `p`
|
|
2978
4109
|
* @see the component manifest
|
|
@@ -2981,7 +4112,8 @@ interface TextProps extends HTMLAttributes<HTMLElement> {
|
|
|
2981
4112
|
size?: 'sm' | 'md' | 'lg';
|
|
2982
4113
|
weight?: 'normal' | 'medium' | 'semibold';
|
|
2983
4114
|
/**
|
|
2984
|
-
* When true, renders in a muted/subtle color.
|
|
4115
|
+
* When true, renders in a muted/subtle color. `Text` has no `tone` prop: `tone` is the
|
|
4116
|
+
* severity vocabulary (Status, Badge, Timeline, SideNav); text emphasis is `muted`.
|
|
2985
4117
|
*
|
|
2986
4118
|
* @defaultValue `false`
|
|
2987
4119
|
* @see the component manifest
|
|
@@ -3023,7 +4155,8 @@ declare function Blockquote({
|
|
|
3023
4155
|
}: BlockquoteProps): import("react").JSX.Element;
|
|
3024
4156
|
interface ListProps extends HTMLAttributes<HTMLElement> {
|
|
3025
4157
|
/**
|
|
3026
|
-
*
|
|
4158
|
+
* `ul` for an unordered list, `ol` for a numbered one. Changes the element and its marker,
|
|
4159
|
+
* not the styling.
|
|
3027
4160
|
*
|
|
3028
4161
|
* @defaultValue `ul`
|
|
3029
4162
|
* @see the component manifest
|
|
@@ -3200,8 +4333,17 @@ interface QrCodeProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
|
|
|
3200
4333
|
* @see the component manifest
|
|
3201
4334
|
*/
|
|
3202
4335
|
background?: string;
|
|
3203
|
-
/** Accessible
|
|
4336
|
+
/** Accessible name for the QR image — **not rendered**. Defaults to the i18n built-in
|
|
4337
|
+
* "QR code". */
|
|
3204
4338
|
label?: string;
|
|
4339
|
+
/**
|
|
4340
|
+
* Alias of `label` — the same invisible accessible name under the catalog's own spelling.
|
|
4341
|
+
*
|
|
4342
|
+
* `ariaLabel` is what the catalog calls a name nothing paints, so it is the guess an agent
|
|
4343
|
+
* makes after reading one other component (2026-08-21 report item 1). This component
|
|
4344
|
+
* predates the convention and shipped `label`; both work and neither is deprecated.
|
|
4345
|
+
*/
|
|
4346
|
+
ariaLabel?: string;
|
|
3205
4347
|
}
|
|
3206
4348
|
declare function QrCode({
|
|
3207
4349
|
value,
|
|
@@ -3211,6 +4353,7 @@ declare function QrCode({
|
|
|
3211
4353
|
fill,
|
|
3212
4354
|
background,
|
|
3213
4355
|
label,
|
|
4356
|
+
ariaLabel,
|
|
3214
4357
|
className,
|
|
3215
4358
|
style,
|
|
3216
4359
|
...props
|
|
@@ -3279,8 +4422,18 @@ declare function Label({
|
|
|
3279
4422
|
interface FieldProps {
|
|
3280
4423
|
/** Label text for the control. */
|
|
3281
4424
|
label?: ReactNode;
|
|
3282
|
-
/**
|
|
4425
|
+
/**
|
|
4426
|
+
* Helper text under the control, wired via `aria-describedby`.
|
|
4427
|
+
*
|
|
4428
|
+
* `hint` is the same thing under the name the eight form controls use (`Input.hint`,
|
|
4429
|
+
* `Select.hint`, …); `Field` predates that split and shipped `description`, which is the
|
|
4430
|
+
* catalog's word for the body text of a *feedback* component (`Alert`, `Notification`).
|
|
4431
|
+
* Both work here and neither is deprecated (2026-08-21 report item 4). When both are
|
|
4432
|
+
* passed, `description` wins.
|
|
4433
|
+
*/
|
|
3283
4434
|
description?: ReactNode;
|
|
4435
|
+
/** Alias of `description` — the name the form controls use for the same text. */
|
|
4436
|
+
hint?: ReactNode;
|
|
3284
4437
|
/** Error message; sets aria-invalid on the control and is announced via role="alert". */
|
|
3285
4438
|
error?: ReactNode;
|
|
3286
4439
|
/**
|
|
@@ -3302,6 +4455,7 @@ interface FieldProps {
|
|
|
3302
4455
|
/** The single form control element. */
|
|
3303
4456
|
children: ReactElement<{
|
|
3304
4457
|
id?: string;
|
|
4458
|
+
'aria-labelledby'?: string;
|
|
3305
4459
|
'aria-describedby'?: string;
|
|
3306
4460
|
'aria-invalid'?: boolean;
|
|
3307
4461
|
disabled?: boolean;
|
|
@@ -3311,6 +4465,7 @@ interface FieldProps {
|
|
|
3311
4465
|
declare function Field({
|
|
3312
4466
|
label,
|
|
3313
4467
|
description,
|
|
4468
|
+
hint,
|
|
3314
4469
|
error,
|
|
3315
4470
|
required,
|
|
3316
4471
|
disabled,
|
|
@@ -3335,8 +4490,6 @@ interface FilterProps {
|
|
|
3335
4490
|
defaultValue?: string[];
|
|
3336
4491
|
/** Called with the selected values whenever the selection changes. */
|
|
3337
4492
|
onValueChange?: (selected: string[]) => void;
|
|
3338
|
-
/** @deprecated Use `onValueChange` — it receives the same `string[]`. */
|
|
3339
|
-
onChange?: (selected: string[]) => void;
|
|
3340
4493
|
/**
|
|
3341
4494
|
* Allow multiple items to be selected simultaneously
|
|
3342
4495
|
*
|
|
@@ -3345,7 +4498,17 @@ interface FilterProps {
|
|
|
3345
4498
|
*/
|
|
3346
4499
|
multi?: boolean;
|
|
3347
4500
|
/**
|
|
3348
|
-
*
|
|
4501
|
+
* Alias of `multi` — the HTML spelling, accepted because it is the guess.
|
|
4502
|
+
*
|
|
4503
|
+
* `multiple` is what `<select multiple>` and `<input multiple>` are called, so an adopter
|
|
4504
|
+
* reaches for it first and pays a compile cycle on a prop whose doc comment they never see:
|
|
4505
|
+
* you cannot read the documentation of a prop you do not know exists (2026-08-22 report
|
|
4506
|
+
* item 14). `multi` stays canonical.
|
|
4507
|
+
*/
|
|
4508
|
+
multiple?: boolean;
|
|
4509
|
+
/**
|
|
4510
|
+
* `pill` fills the selected chip with the accent colour; `outline` marks it with an accent
|
|
4511
|
+
* border and text instead, leaving the fill transparent.
|
|
3349
4512
|
*
|
|
3350
4513
|
* @defaultValue `pill`
|
|
3351
4514
|
* @see the component manifest
|
|
@@ -3358,6 +4521,14 @@ interface FilterProps {
|
|
|
3358
4521
|
* flip on every component.
|
|
3359
4522
|
*/
|
|
3360
4523
|
ariaLabel?: string;
|
|
4524
|
+
/**
|
|
4525
|
+
* Alias of `ariaLabel` — same invisible accessible name, the other spelling. Not rendered.
|
|
4526
|
+
*
|
|
4527
|
+
* `ariaLabel` is the catalog convention and stays preferred, but `label` is the guess an
|
|
4528
|
+
* adopter makes when they have not read the convention, and an unaccepted guess costs a
|
|
4529
|
+
* compile cycle for nothing (2026-08-21 report item 1). Pass either.
|
|
4530
|
+
*/
|
|
4531
|
+
label?: string;
|
|
3361
4532
|
/** DOM-spelled alias of {@link ariaLabel}. */
|
|
3362
4533
|
'aria-label'?: string;
|
|
3363
4534
|
className?: string;
|
|
@@ -3367,11 +4538,12 @@ declare function Filter({
|
|
|
3367
4538
|
value,
|
|
3368
4539
|
defaultValue,
|
|
3369
4540
|
onValueChange,
|
|
3370
|
-
onChange,
|
|
3371
4541
|
multi,
|
|
4542
|
+
multiple,
|
|
3372
4543
|
variant,
|
|
3373
4544
|
className,
|
|
3374
4545
|
ariaLabel,
|
|
4546
|
+
label,
|
|
3375
4547
|
...aria
|
|
3376
4548
|
}: FilterProps): import("react").JSX.Element;
|
|
3377
4549
|
interface IconButtonBaseProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
@@ -3380,7 +4552,8 @@ interface IconButtonBaseProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
|
3380
4552
|
icon?: ReactNode;
|
|
3381
4553
|
size?: 'sm' | 'md' | 'lg';
|
|
3382
4554
|
/**
|
|
3383
|
-
*
|
|
4555
|
+
* `ghost` is transparent until hover, `outline` adds a border, `filled` gives the button a
|
|
4556
|
+
* solid surface.
|
|
3384
4557
|
*
|
|
3385
4558
|
* @defaultValue `ghost`
|
|
3386
4559
|
* @see the component manifest
|
|
@@ -3411,7 +4584,8 @@ type IconButtonProps = IconButtonBaseProps & ({
|
|
|
3411
4584
|
declare const IconButton: import("react").ForwardRefExoticComponent<IconButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
3412
4585
|
interface ButtonGroupProps extends HTMLAttributes<HTMLDivElement> {
|
|
3413
4586
|
/**
|
|
3414
|
-
*
|
|
4587
|
+
* Axis the buttons flow along: `horizontal` puts them in a row, `vertical` stacks them in
|
|
4588
|
+
* a column. The seams between them are collapsed either way.
|
|
3415
4589
|
*
|
|
3416
4590
|
* @defaultValue `horizontal`
|
|
3417
4591
|
* @see the component manifest
|
|
@@ -3453,13 +4627,20 @@ interface ToggleGroupProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChang
|
|
|
3453
4627
|
onValueChange?: (value: string | string[]) => void;
|
|
3454
4628
|
items: ToggleGroupItem[];
|
|
3455
4629
|
/**
|
|
3456
|
-
*
|
|
4630
|
+
* Axis the options flow along: `horizontal` for a segmented row, `vertical` for a stacked
|
|
4631
|
+
* column.
|
|
3457
4632
|
*
|
|
3458
4633
|
* @defaultValue `horizontal`
|
|
3459
4634
|
* @see the component manifest
|
|
3460
4635
|
*/
|
|
3461
4636
|
orientation?: 'horizontal' | 'vertical';
|
|
3462
4637
|
size?: 'sm' | 'md' | 'lg';
|
|
4638
|
+
/**
|
|
4639
|
+
* When true, disables the control and removes it from the tab order.
|
|
4640
|
+
*
|
|
4641
|
+
* @defaultValue `false`
|
|
4642
|
+
* @see the component manifest
|
|
4643
|
+
*/
|
|
3463
4644
|
disabled?: boolean;
|
|
3464
4645
|
}
|
|
3465
4646
|
declare const ToggleGroup: import("react").ForwardRefExoticComponent<ToggleGroupProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -3486,9 +4667,12 @@ interface NotificationProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'
|
|
|
3486
4667
|
title: ReactNode;
|
|
3487
4668
|
description?: ReactNode;
|
|
3488
4669
|
/**
|
|
3489
|
-
* Severity tone. Accepts the catalog-wide `Tone` vocabulary
|
|
3490
|
-
*
|
|
3491
|
-
*
|
|
4670
|
+
* Severity tone. Accepts the catalog-wide `Tone` vocabulary (`neutral | info | success |
|
|
4671
|
+
* warning | danger`) plus Notification's historical spellings (`error`, `destructive` →
|
|
4672
|
+
* danger).
|
|
4673
|
+
*
|
|
4674
|
+
* @defaultValue `info`
|
|
4675
|
+
* @see the component manifest
|
|
3492
4676
|
*/
|
|
3493
4677
|
variant?: ToneInput;
|
|
3494
4678
|
/**
|
|
@@ -3616,6 +4800,12 @@ interface MenuButtonProps {
|
|
|
3616
4800
|
items: MenuButtonItem[];
|
|
3617
4801
|
variant?: 'primary' | 'secondary' | 'ghost';
|
|
3618
4802
|
size?: 'sm' | 'md' | 'lg';
|
|
4803
|
+
/**
|
|
4804
|
+
* Disables the trigger
|
|
4805
|
+
*
|
|
4806
|
+
* @defaultValue `false`
|
|
4807
|
+
* @see the component manifest
|
|
4808
|
+
*/
|
|
3619
4809
|
disabled?: boolean;
|
|
3620
4810
|
align?: 'start' | 'end';
|
|
3621
4811
|
labels?: {
|
|
@@ -3711,9 +4901,18 @@ interface NavigationMenuProps {
|
|
|
3711
4901
|
* `docs/AI-RULES.md`); `aria-label` is accepted as an alias for the DOM spelling.
|
|
3712
4902
|
*/
|
|
3713
4903
|
ariaLabel?: string;
|
|
4904
|
+
/**
|
|
4905
|
+
* Alias of `ariaLabel` — same invisible accessible name, the other spelling. Not rendered.
|
|
4906
|
+
*
|
|
4907
|
+
* `ariaLabel` is the catalog convention and stays preferred, but `label` is the guess an
|
|
4908
|
+
* adopter makes when they have not read the convention, and an unaccepted guess costs a
|
|
4909
|
+
* compile cycle for nothing (2026-08-21 report item 1). Pass either.
|
|
4910
|
+
*/
|
|
4911
|
+
label?: string;
|
|
3714
4912
|
'aria-label'?: string;
|
|
3715
4913
|
/**
|
|
3716
|
-
*
|
|
4914
|
+
* Which arrow keys move focus, and the axis the items lay out on: `horizontal`
|
|
4915
|
+
* (Left/Right), `vertical` (Up/Down), or `both` (all four).
|
|
3717
4916
|
*
|
|
3718
4917
|
* @defaultValue `horizontal`
|
|
3719
4918
|
* @see the component manifest
|
|
@@ -3725,6 +4924,7 @@ declare function NavigationMenu({
|
|
|
3725
4924
|
items,
|
|
3726
4925
|
'aria-label': ariaLabelDom,
|
|
3727
4926
|
ariaLabel,
|
|
4927
|
+
label,
|
|
3728
4928
|
orientation,
|
|
3729
4929
|
className
|
|
3730
4930
|
}: NavigationMenuProps): import("react").JSX.Element;
|
|
@@ -3733,13 +4933,34 @@ interface TreeNode {
|
|
|
3733
4933
|
label: ReactNode;
|
|
3734
4934
|
icon?: ReactNode;
|
|
3735
4935
|
children?: TreeNode[];
|
|
4936
|
+
/**
|
|
4937
|
+
* When true, the node cannot be selected and is skipped by keyboard navigation and
|
|
4938
|
+
* type-to-select.
|
|
4939
|
+
*
|
|
4940
|
+
* @defaultValue `false`
|
|
4941
|
+
* @see the component manifest
|
|
4942
|
+
*/
|
|
4943
|
+
disabled?: boolean;
|
|
4944
|
+
/**
|
|
4945
|
+
* Plain-text form of `label`, for type-to-select when the label is JSX.
|
|
4946
|
+
*
|
|
4947
|
+
* Typeahead matched `typeof label === 'string'`, so it silently did nothing for any node
|
|
4948
|
+
* rendering an icon beside its text — the common case.
|
|
4949
|
+
*/
|
|
4950
|
+
textValue?: string;
|
|
3736
4951
|
}
|
|
3737
4952
|
interface TreeViewProps {
|
|
3738
4953
|
items: TreeNode[];
|
|
3739
4954
|
selectionMode?: 'single' | 'multi';
|
|
3740
4955
|
selected?: string | string[];
|
|
3741
4956
|
defaultSelected?: string | string[];
|
|
4957
|
+
/**
|
|
4958
|
+
* @deprecated Use `onValueChange`. The catalog names a value-carrying handler
|
|
4959
|
+
* `onValueChange`; `onSelectChange` appears on this component alone. Still honoured.
|
|
4960
|
+
*/
|
|
3742
4961
|
onSelectChange?: (selected: string | string[]) => void;
|
|
4962
|
+
/** Called with the new selection. */
|
|
4963
|
+
onValueChange?: (selected: string | string[]) => void;
|
|
3743
4964
|
expanded?: string[];
|
|
3744
4965
|
defaultExpanded?: string[];
|
|
3745
4966
|
onExpandedChange?: (expanded: string[]) => void;
|
|
@@ -3749,6 +4970,14 @@ interface TreeViewProps {
|
|
|
3749
4970
|
* `docs/AI-RULES.md`); `aria-label` is accepted as an alias for the DOM spelling.
|
|
3750
4971
|
*/
|
|
3751
4972
|
ariaLabel?: string;
|
|
4973
|
+
/**
|
|
4974
|
+
* Alias of `ariaLabel` — same invisible accessible name, the other spelling. Not rendered.
|
|
4975
|
+
*
|
|
4976
|
+
* `ariaLabel` is the catalog convention and stays preferred, but `label` is the guess an
|
|
4977
|
+
* adopter makes when they have not read the convention, and an unaccepted guess costs a
|
|
4978
|
+
* compile cycle for nothing (2026-08-21 report item 1). Pass either.
|
|
4979
|
+
*/
|
|
4980
|
+
label?: string;
|
|
3752
4981
|
'aria-label'?: string;
|
|
3753
4982
|
}
|
|
3754
4983
|
declare function TreeView({
|
|
@@ -3757,12 +4986,14 @@ declare function TreeView({
|
|
|
3757
4986
|
selected,
|
|
3758
4987
|
defaultSelected,
|
|
3759
4988
|
onSelectChange,
|
|
4989
|
+
onValueChange,
|
|
3760
4990
|
expanded,
|
|
3761
4991
|
defaultExpanded,
|
|
3762
4992
|
onExpandedChange,
|
|
3763
4993
|
className,
|
|
3764
4994
|
'aria-label': ariaLabelDom,
|
|
3765
|
-
ariaLabel
|
|
4995
|
+
ariaLabel,
|
|
4996
|
+
label
|
|
3766
4997
|
}: TreeViewProps): import("react").JSX.Element;
|
|
3767
4998
|
declare const treeViewMessages: {
|
|
3768
4999
|
loading: () => string;
|
|
@@ -3805,6 +5036,14 @@ interface StructuredListProps {
|
|
|
3805
5036
|
* flip on every component.
|
|
3806
5037
|
*/
|
|
3807
5038
|
ariaLabel?: string;
|
|
5039
|
+
/**
|
|
5040
|
+
* Alias of `ariaLabel` — same invisible accessible name, the other spelling. Not rendered.
|
|
5041
|
+
*
|
|
5042
|
+
* `ariaLabel` is the catalog convention and stays preferred, but `label` is the guess an
|
|
5043
|
+
* adopter makes when they have not read the convention, and an unaccepted guess costs a
|
|
5044
|
+
* compile cycle for nothing (2026-08-21 report item 1). Pass either.
|
|
5045
|
+
*/
|
|
5046
|
+
label?: string;
|
|
3808
5047
|
/** DOM-spelled alias of {@link ariaLabel}. */
|
|
3809
5048
|
'aria-label'?: string;
|
|
3810
5049
|
}
|
|
@@ -3840,7 +5079,13 @@ interface DataListItem {
|
|
|
3840
5079
|
interface DataListProps extends HTMLAttributes<HTMLDListElement> {
|
|
3841
5080
|
items: DataListItem[];
|
|
3842
5081
|
/**
|
|
3843
|
-
*
|
|
5082
|
+
* Where each **value** sits relative to its own label — not the axis of the list.
|
|
5083
|
+
*
|
|
5084
|
+
* `'horizontal'` puts the value beside its label; `'vertical'` puts it underneath. Items
|
|
5085
|
+
* are stacked vertically either way, which is the part the name does not say: an adopter
|
|
5086
|
+
* read `orientation="vertical"` as "lay the items out vertically" and got a very tall
|
|
5087
|
+
* block from six rows (2026-08-21 report item 9). In a summary card, prefer
|
|
5088
|
+
* `'horizontal'`.
|
|
3844
5089
|
*
|
|
3845
5090
|
* @defaultValue `horizontal`
|
|
3846
5091
|
* @see the component manifest
|
|
@@ -3896,7 +5141,8 @@ interface TimelineItem {
|
|
|
3896
5141
|
interface TimelineProps extends HTMLAttributes<HTMLOListElement> {
|
|
3897
5142
|
items: TimelineItem[];
|
|
3898
5143
|
/**
|
|
3899
|
-
*
|
|
5144
|
+
* Axis the entries flow along: `vertical` stacks them down the page (the usual reading
|
|
5145
|
+
* order), `horizontal` runs them across.
|
|
3900
5146
|
*
|
|
3901
5147
|
* @defaultValue `vertical`
|
|
3902
5148
|
* @see the component manifest
|
|
@@ -3919,7 +5165,8 @@ interface ItemProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
3919
5165
|
*/
|
|
3920
5166
|
asChild?: boolean;
|
|
3921
5167
|
/**
|
|
3922
|
-
*
|
|
5168
|
+
* `muted` gives the row a subtle background — for a selected or highlighted item;
|
|
5169
|
+
* `default` leaves it transparent.
|
|
3923
5170
|
*
|
|
3924
5171
|
* @defaultValue `default`
|
|
3925
5172
|
* @see the component manifest
|
|
@@ -3968,6 +5215,8 @@ declare function ItemActions({
|
|
|
3968
5215
|
interface CalendarLabels {
|
|
3969
5216
|
previousMonth?: string;
|
|
3970
5217
|
nextMonth?: string;
|
|
5218
|
+
today?: string;
|
|
5219
|
+
weekNumber?: string;
|
|
3971
5220
|
}
|
|
3972
5221
|
interface CalendarProps {
|
|
3973
5222
|
value?: Date | null;
|
|
@@ -3986,6 +5235,15 @@ interface CalendarProps {
|
|
|
3986
5235
|
size?: 'sm' | 'md' | 'lg';
|
|
3987
5236
|
labels?: CalendarLabels;
|
|
3988
5237
|
className?: string;
|
|
5238
|
+
/**
|
|
5239
|
+
* Accessible name for the grid. Defaults to the visible month label.
|
|
5240
|
+
*
|
|
5241
|
+
* Calendar has no visible label slot — the month heading is its own — so `label` and
|
|
5242
|
+
* `ariaLabel` are aliases for the same invisible name. `ariaLabel` wins if both are given.
|
|
5243
|
+
*/
|
|
5244
|
+
ariaLabel?: string;
|
|
5245
|
+
/** Alias for `ariaLabel`. See the note there. */
|
|
5246
|
+
label?: string;
|
|
3989
5247
|
/** Highlight predicate for range previews (date-range-picker). */
|
|
3990
5248
|
isInRange?: (date: Date) => boolean;
|
|
3991
5249
|
/** Range endpoint markers for styling. */
|
|
@@ -4009,6 +5267,20 @@ interface CalendarProps {
|
|
|
4009
5267
|
* @see the component manifest
|
|
4010
5268
|
*/
|
|
4011
5269
|
hideNav?: boolean;
|
|
5270
|
+
/**
|
|
5271
|
+
* When true, shows a button that jumps the view to the current month and focuses today.
|
|
5272
|
+
*
|
|
5273
|
+
* @defaultValue `false`
|
|
5274
|
+
* @see the component manifest
|
|
5275
|
+
*/
|
|
5276
|
+
showToday?: boolean;
|
|
5277
|
+
/**
|
|
5278
|
+
* When true, prefixes each row with its ISO-8601 week number.
|
|
5279
|
+
*
|
|
5280
|
+
* @defaultValue `false`
|
|
5281
|
+
* @see the component manifest
|
|
5282
|
+
*/
|
|
5283
|
+
showWeekNumbers?: boolean;
|
|
4012
5284
|
}
|
|
4013
5285
|
declare function Calendar({
|
|
4014
5286
|
value,
|
|
@@ -4021,6 +5293,8 @@ declare function Calendar({
|
|
|
4021
5293
|
size,
|
|
4022
5294
|
labels,
|
|
4023
5295
|
className,
|
|
5296
|
+
ariaLabel,
|
|
5297
|
+
label,
|
|
4024
5298
|
isInRange,
|
|
4025
5299
|
isRangeStart,
|
|
4026
5300
|
isRangeEnd,
|
|
@@ -4028,13 +5302,22 @@ declare function Calendar({
|
|
|
4028
5302
|
month,
|
|
4029
5303
|
year,
|
|
4030
5304
|
onViewChange,
|
|
4031
|
-
hideNav
|
|
5305
|
+
hideNav,
|
|
5306
|
+
showToday,
|
|
5307
|
+
showWeekNumbers
|
|
4032
5308
|
}: CalendarProps): import("react").JSX.Element;
|
|
4033
5309
|
interface DateRange {
|
|
4034
5310
|
start: Date;
|
|
4035
5311
|
end: Date;
|
|
4036
5312
|
}
|
|
4037
5313
|
interface DateRangePreset {
|
|
5314
|
+
/**
|
|
5315
|
+
* Stable identity, used as the React key. Without it the array index (or a repeatable
|
|
5316
|
+
* `label`) is the key, so inserting or reordering entries re-uses the wrong DOM node — the
|
|
5317
|
+
* defect `link-item-id-parity` exists to prevent, extended past link-shaped items on
|
|
5318
|
+
* 2026-08-22.
|
|
5319
|
+
*/
|
|
5320
|
+
id?: string;
|
|
4038
5321
|
label: string;
|
|
4039
5322
|
range: DateRange;
|
|
4040
5323
|
}
|
|
@@ -4082,19 +5365,34 @@ declare function DateRangePicker({
|
|
|
4082
5365
|
labels,
|
|
4083
5366
|
className
|
|
4084
5367
|
}: DateRangePickerProps): import("react").JSX.Element;
|
|
5368
|
+
/** The output formats an adopter can ask for. */
|
|
5369
|
+
type ColorFormat = 'hex' | 'rgb' | 'hsl';
|
|
4085
5370
|
interface ColorPickerLabels {
|
|
4086
5371
|
hue?: string;
|
|
4087
|
-
/**
|
|
4088
|
-
* When true, enables alpha (opacity) selection.
|
|
4089
|
-
*
|
|
4090
|
-
* @defaultValue `true`
|
|
4091
|
-
* @see the component manifest
|
|
4092
|
-
*/
|
|
5372
|
+
/** Accessible name for the alpha slider. */
|
|
4093
5373
|
alpha?: string;
|
|
4094
5374
|
colorArea?: string;
|
|
5375
|
+
saturation?: string;
|
|
5376
|
+
brightness?: string;
|
|
4095
5377
|
eyedropper?: string;
|
|
5378
|
+
presets?: string;
|
|
5379
|
+
hex?: string;
|
|
4096
5380
|
}
|
|
4097
5381
|
interface ColorPickerProps {
|
|
5382
|
+
/**
|
|
5383
|
+
* Wired automatically by a wrapping `Field` — its label id. Forwarded to the text input so
|
|
5384
|
+
* the Field's label names it; the built-in fallback name is then not applied.
|
|
5385
|
+
*/
|
|
5386
|
+
'aria-labelledby'?: string;
|
|
5387
|
+
/**
|
|
5388
|
+
* Wired automatically by a wrapping `Field` — the ids of its hint/error text. Forwarded to
|
|
5389
|
+
* the text input so the supporting text is announced, not just displayed.
|
|
5390
|
+
*/
|
|
5391
|
+
'aria-describedby'?: string;
|
|
5392
|
+
/** Wired automatically by a wrapping `Field` when it is in an error state. */
|
|
5393
|
+
'aria-invalid'?: boolean;
|
|
5394
|
+
/** Id for the focusable text input. `Field` supplies this automatically. */
|
|
5395
|
+
id?: string;
|
|
4098
5396
|
value?: string;
|
|
4099
5397
|
/**
|
|
4100
5398
|
* The initial value when uncontrolled.
|
|
@@ -4105,8 +5403,32 @@ interface ColorPickerProps {
|
|
|
4105
5403
|
defaultValue?: string;
|
|
4106
5404
|
onValueChange?: (value: string) => void;
|
|
4107
5405
|
presets?: string[];
|
|
5406
|
+
/**
|
|
5407
|
+
* When true, enables alpha (opacity) selection.
|
|
5408
|
+
*
|
|
5409
|
+
* @defaultValue `true`
|
|
5410
|
+
* @see the component manifest
|
|
5411
|
+
*/
|
|
4108
5412
|
alpha?: boolean;
|
|
5413
|
+
/**
|
|
5414
|
+
* Notation for the emitted value. Alpha is included whenever `alpha` is on, so the width
|
|
5415
|
+
* of the emitted string is stable.
|
|
5416
|
+
*
|
|
5417
|
+
* @defaultValue `'hex'`
|
|
5418
|
+
* @see the component manifest
|
|
5419
|
+
*/
|
|
5420
|
+
format?: ColorFormat;
|
|
4109
5421
|
label?: string;
|
|
5422
|
+
/**
|
|
5423
|
+
* Invisible accessible name, for when a visible element outside this component already
|
|
5424
|
+
* labels it and `label` would render that text a second time.
|
|
5425
|
+
*
|
|
5426
|
+
* `label` on this component is **visible**. `IconButton.label` and `Sparkline.label` are
|
|
5427
|
+
* invisible names, so an adopter arriving with that prior writes `label` here and gets the
|
|
5428
|
+
* text twice (2026-08-22 report item 13). Both props are listed side by side, each saying
|
|
5429
|
+
* which it is.
|
|
5430
|
+
*/
|
|
5431
|
+
ariaLabel?: string;
|
|
4110
5432
|
/**
|
|
4111
5433
|
* When true, disables the control and removes it from the tab order.
|
|
4112
5434
|
*
|
|
@@ -4114,26 +5436,37 @@ interface ColorPickerProps {
|
|
|
4114
5436
|
* @see the component manifest
|
|
4115
5437
|
*/
|
|
4116
5438
|
disabled?: boolean;
|
|
5439
|
+
/** Submitted with a surrounding form — a hidden input carrying the current value. */
|
|
5440
|
+
name?: string;
|
|
4117
5441
|
size?: 'sm' | 'md' | 'lg';
|
|
4118
5442
|
className?: string;
|
|
4119
5443
|
labels?: ColorPickerLabels;
|
|
4120
5444
|
}
|
|
4121
5445
|
declare function ColorPicker({
|
|
5446
|
+
id,
|
|
4122
5447
|
value,
|
|
4123
5448
|
defaultValue,
|
|
4124
5449
|
onValueChange,
|
|
4125
5450
|
presets,
|
|
4126
5451
|
alpha,
|
|
5452
|
+
format,
|
|
4127
5453
|
label,
|
|
5454
|
+
ariaLabel,
|
|
4128
5455
|
disabled,
|
|
5456
|
+
name,
|
|
4129
5457
|
size,
|
|
4130
5458
|
className,
|
|
4131
|
-
labels
|
|
5459
|
+
labels,
|
|
5460
|
+
'aria-labelledby': ariaLabelledBy,
|
|
5461
|
+
'aria-describedby': ariaDescribedBy,
|
|
5462
|
+
'aria-invalid': ariaInvalid
|
|
4132
5463
|
}: ColorPickerProps): import("react").JSX.Element;
|
|
4133
5464
|
interface CarouselLabels {
|
|
4134
5465
|
region?: string;
|
|
4135
5466
|
previous?: string;
|
|
4136
5467
|
next?: string;
|
|
5468
|
+
play?: string;
|
|
5469
|
+
pause?: string;
|
|
4137
5470
|
}
|
|
4138
5471
|
interface CarouselProps {
|
|
4139
5472
|
children?: ReactNode;
|
|
@@ -4154,6 +5487,14 @@ interface CarouselProps {
|
|
|
4154
5487
|
* @see the component manifest
|
|
4155
5488
|
*/
|
|
4156
5489
|
loop?: boolean;
|
|
5490
|
+
/**
|
|
5491
|
+
* Milliseconds between automatic advances. Omit or set 0 to leave rotation off.
|
|
5492
|
+
*
|
|
5493
|
+
* Auto-rotation pauses on hover, on focus within the carousel, while the tab is hidden and
|
|
5494
|
+
* under `prefers-reduced-motion`, and always renders a play/pause control — APG requires
|
|
5495
|
+
* one for any carousel that rotates on its own.
|
|
5496
|
+
*/
|
|
5497
|
+
autoplay?: number;
|
|
4157
5498
|
className?: string;
|
|
4158
5499
|
labels?: CarouselLabels;
|
|
4159
5500
|
}
|
|
@@ -4164,13 +5505,15 @@ declare function Carousel({
|
|
|
4164
5505
|
defaultIndex,
|
|
4165
5506
|
onIndexChange,
|
|
4166
5507
|
loop,
|
|
5508
|
+
autoplay,
|
|
4167
5509
|
className,
|
|
4168
5510
|
labels
|
|
4169
5511
|
}: CarouselProps): import("react").JSX.Element;
|
|
4170
5512
|
interface ResizableProps {
|
|
4171
5513
|
children: ReactNode;
|
|
4172
5514
|
/**
|
|
4173
|
-
*
|
|
5515
|
+
* Axis the panes are split along. `horizontal` puts them side by side with a handle you
|
|
5516
|
+
* drag left and right; `vertical` stacks them with a handle you drag up and down.
|
|
4174
5517
|
*
|
|
4175
5518
|
* @defaultValue `horizontal`
|
|
4176
5519
|
* @see the component manifest
|
|
@@ -4201,6 +5544,14 @@ interface ResizableProps {
|
|
|
4201
5544
|
onRatioChange?: (ratio: number) => void;
|
|
4202
5545
|
className?: string;
|
|
4203
5546
|
label?: string;
|
|
5547
|
+
/**
|
|
5548
|
+
* Alias of `label` — the same invisible accessible name under the catalog's own spelling.
|
|
5549
|
+
*
|
|
5550
|
+
* `ariaLabel` is what the catalog calls a name nothing paints, so it is the guess an agent
|
|
5551
|
+
* makes after reading one other component (2026-08-21 report item 1). This component
|
|
5552
|
+
* predates the convention and shipped `label`; both work and neither is deprecated.
|
|
5553
|
+
*/
|
|
5554
|
+
ariaLabel?: string;
|
|
4204
5555
|
}
|
|
4205
5556
|
declare function Resizable({
|
|
4206
5557
|
children,
|
|
@@ -4211,7 +5562,8 @@ declare function Resizable({
|
|
|
4211
5562
|
maxRatio,
|
|
4212
5563
|
onRatioChange,
|
|
4213
5564
|
className,
|
|
4214
|
-
label
|
|
5565
|
+
label,
|
|
5566
|
+
ariaLabel
|
|
4215
5567
|
}: ResizableProps): import("react").JSX.Element;
|
|
4216
5568
|
interface DockItem {
|
|
4217
5569
|
/**
|
|
@@ -4235,12 +5587,21 @@ interface DockProps {
|
|
|
4235
5587
|
className?: string;
|
|
4236
5588
|
/** Accessible label for the nav landmark */
|
|
4237
5589
|
ariaLabel?: string;
|
|
5590
|
+
/**
|
|
5591
|
+
* Alias of `ariaLabel` — same invisible accessible name, the other spelling. Not rendered.
|
|
5592
|
+
*
|
|
5593
|
+
* `ariaLabel` is the catalog convention and stays preferred, but `label` is the guess an
|
|
5594
|
+
* adopter makes when they have not read the convention, and an unaccepted guess costs a
|
|
5595
|
+
* compile cycle for nothing (2026-08-21 report item 1). Pass either.
|
|
5596
|
+
*/
|
|
5597
|
+
label?: string;
|
|
4238
5598
|
}
|
|
4239
5599
|
declare function Dock({
|
|
4240
5600
|
items,
|
|
4241
5601
|
activeIndex,
|
|
4242
5602
|
className,
|
|
4243
|
-
ariaLabel
|
|
5603
|
+
ariaLabel,
|
|
5604
|
+
label
|
|
4244
5605
|
}: DockProps): import("react").JSX.Element;
|
|
4245
5606
|
interface LargeTitleHeaderProps {
|
|
4246
5607
|
/** The page title. Rendered as the large heading and mirrored in the collapsed bar. */
|
|
@@ -4390,6 +5751,14 @@ interface VirtualListProps<Item> {
|
|
|
4390
5751
|
overscan?: number;
|
|
4391
5752
|
/** Accessible label for the list; defaults to none, so label it when standalone. */
|
|
4392
5753
|
ariaLabel?: string;
|
|
5754
|
+
/**
|
|
5755
|
+
* Alias of `ariaLabel` — same invisible accessible name, the other spelling. Not rendered.
|
|
5756
|
+
*
|
|
5757
|
+
* `ariaLabel` is the catalog convention and stays preferred, but `label` is the guess an
|
|
5758
|
+
* adopter makes when they have not read the convention, and an unaccepted guess costs a
|
|
5759
|
+
* compile cycle for nothing (2026-08-21 report item 1). Pass either.
|
|
5760
|
+
*/
|
|
5761
|
+
label?: string;
|
|
4393
5762
|
className?: string;
|
|
4394
5763
|
}
|
|
4395
5764
|
/**
|
|
@@ -4408,6 +5777,7 @@ declare function VirtualList<Item>({
|
|
|
4408
5777
|
renderItem,
|
|
4409
5778
|
overscan,
|
|
4410
5779
|
ariaLabel,
|
|
5780
|
+
label,
|
|
4411
5781
|
className
|
|
4412
5782
|
}: VirtualListProps<Item>): import("react").JSX.Element;
|
|
4413
5783
|
interface WheelPickerOption {
|
|
@@ -4433,6 +5803,14 @@ interface WheelPickerProps {
|
|
|
4433
5803
|
*/
|
|
4434
5804
|
itemHeight?: number;
|
|
4435
5805
|
ariaLabel?: string;
|
|
5806
|
+
/**
|
|
5807
|
+
* Alias of `ariaLabel` — same invisible accessible name, the other spelling. Not rendered.
|
|
5808
|
+
*
|
|
5809
|
+
* `ariaLabel` is the catalog convention and stays preferred, but `label` is the guess an
|
|
5810
|
+
* adopter makes when they have not read the convention, and an unaccepted guess costs a
|
|
5811
|
+
* compile cycle for nothing (2026-08-21 report item 1). Pass either.
|
|
5812
|
+
*/
|
|
5813
|
+
label?: string;
|
|
4436
5814
|
className?: string;
|
|
4437
5815
|
}
|
|
4438
5816
|
/**
|
|
@@ -4453,6 +5831,7 @@ declare function WheelPicker({
|
|
|
4453
5831
|
visibleCount,
|
|
4454
5832
|
itemHeight,
|
|
4455
5833
|
ariaLabel,
|
|
5834
|
+
label,
|
|
4456
5835
|
className
|
|
4457
5836
|
}: WheelPickerProps): import("react").JSX.Element;
|
|
4458
5837
|
interface DrawerProps {
|
|
@@ -4527,6 +5906,10 @@ interface NativeSelectProps extends Omit<SelectHTMLAttributes<HTMLSelectElement>
|
|
|
4527
5906
|
* A styled native `<select>` — keeps the platform's open/close, keyboard, and form behavior, and
|
|
4528
5907
|
* layers on a custom chevron and focus/invalid rings via CSS only. No JS interactivity, so no
|
|
4529
5908
|
* signals: the browser owns all state. Distinct from the custom-rendered `Select` listbox.
|
|
5909
|
+
*
|
|
5910
|
+
* Where `appearance: base-select` is supported the dropdown surface is themed from
|
|
5911
|
+
* `[data-theme]` too, matching `Dropdown` — see the `@supports` block in the stylesheet. It is
|
|
5912
|
+
* progressive enhancement: elsewhere the OS draws the option list, exactly as before.
|
|
4530
5913
|
*/
|
|
4531
5914
|
/**
|
|
4532
5915
|
* `forwardRef` so `ref` reaches the underlying `<select>` — and so it is TYPED. See
|
|
@@ -4612,11 +5995,23 @@ declare function CodeSnippet({
|
|
|
4612
5995
|
type StepState = 'pending' | 'active' | 'complete' | 'error';
|
|
4613
5996
|
interface Step {
|
|
4614
5997
|
label: string;
|
|
4615
|
-
/**
|
|
4616
|
-
|
|
5998
|
+
/**
|
|
5999
|
+
* Stable identity for the step, used as its React key.
|
|
6000
|
+
*
|
|
6001
|
+
* Every other config-item type in the catalog (`TimelineItem`, `SideNavItem`,
|
|
6002
|
+
* `DataListItem`, `BreadcrumbItem`) carries one; `Step` was missed because the sweep that
|
|
6003
|
+
* added them looked for a `label` **and an `href`** (2026-08-22 report item 10). Without it
|
|
6004
|
+
* the index is the key, so reordering or inserting a step re-uses the wrong DOM node.
|
|
6005
|
+
*/
|
|
6006
|
+
id?: string;
|
|
6007
|
+
/**
|
|
6008
|
+
* Step status. `StepState` is the canonical enum; `ProgressInput` additionally accepts
|
|
6009
|
+
* Timeline's `current` / `upcoming` aliases so one status value drives both components.
|
|
6010
|
+
*/
|
|
6011
|
+
state?: StepState | ProgressInput;
|
|
4617
6012
|
}
|
|
4618
|
-
|
|
4619
|
-
|
|
6013
|
+
/** Props shared by both spellings of the collection. */
|
|
6014
|
+
interface StepsBaseProps {
|
|
4620
6015
|
/**
|
|
4621
6016
|
* Index of the currently active step (0-based)
|
|
4622
6017
|
*
|
|
@@ -4628,13 +6023,40 @@ interface StepsProps {
|
|
|
4628
6023
|
className?: string;
|
|
4629
6024
|
/** Accessible label for the steps list */
|
|
4630
6025
|
ariaLabel?: string;
|
|
6026
|
+
/**
|
|
6027
|
+
* Alias of `ariaLabel` — same invisible accessible name, the other spelling. Not rendered.
|
|
6028
|
+
*
|
|
6029
|
+
* `ariaLabel` is the catalog convention and stays preferred, but `label` is the guess an
|
|
6030
|
+
* adopter makes when they have not read the convention, and an unaccepted guess costs a
|
|
6031
|
+
* compile cycle for nothing (2026-08-21 report item 1). Pass either.
|
|
6032
|
+
*/
|
|
6033
|
+
label?: string;
|
|
4631
6034
|
}
|
|
6035
|
+
/**
|
|
6036
|
+
* The collection, under either spelling — exactly one is required.
|
|
6037
|
+
*
|
|
6038
|
+
* `steps` is the domain word and stays canonical. `items` is accepted because the catalog's
|
|
6039
|
+
* published data-prop vocabulary says a config-driven collection is `items`, and an adopter
|
|
6040
|
+
* who followed that rule hit a type error on the one component the rule named wrongly
|
|
6041
|
+
* (2026-08-22 report item 10). The XOR keeps "pass neither" and "pass both" compile errors
|
|
6042
|
+
* rather than silent no-ops, the same shape `Menubar` uses for its name props.
|
|
6043
|
+
*/
|
|
6044
|
+
type StepsCollection = {
|
|
6045
|
+
steps: Step[];
|
|
6046
|
+
items?: never;
|
|
6047
|
+
} | {
|
|
6048
|
+
items: Step[];
|
|
6049
|
+
steps?: never;
|
|
6050
|
+
};
|
|
6051
|
+
type StepsProps = StepsBaseProps & StepsCollection;
|
|
4632
6052
|
declare function Steps({
|
|
4633
6053
|
steps,
|
|
6054
|
+
items,
|
|
4634
6055
|
activeStep: controlledActiveStep,
|
|
4635
6056
|
orientation,
|
|
4636
6057
|
className,
|
|
4637
|
-
ariaLabel
|
|
6058
|
+
ariaLabel,
|
|
6059
|
+
label
|
|
4638
6060
|
}: StepsProps): import("react").JSX.Element;
|
|
4639
6061
|
interface TileProps {
|
|
4640
6062
|
/** Identifies this tile within a group. */
|
|
@@ -4681,7 +6103,8 @@ interface IndicatorProps {
|
|
|
4681
6103
|
children: React.ReactNode;
|
|
4682
6104
|
overlay: React.ReactNode;
|
|
4683
6105
|
/**
|
|
4684
|
-
*
|
|
6106
|
+
* Corner of the wrapped element the dot or count sits on: `top-end`, `top-start`,
|
|
6107
|
+
* `bottom-start` or `bottom-end`.
|
|
4685
6108
|
*
|
|
4686
6109
|
* @defaultValue `top-end`
|
|
4687
6110
|
* @see the component manifest
|
|
@@ -4699,7 +6122,8 @@ type JoinOrientation = 'horizontal' | 'vertical';
|
|
|
4699
6122
|
interface JoinProps {
|
|
4700
6123
|
children: React.ReactNode;
|
|
4701
6124
|
/**
|
|
4702
|
-
*
|
|
6125
|
+
* Axis the joined children flow along: `horizontal` for a row, `vertical` for a column.
|
|
6126
|
+
* Inner corners are squared off either way.
|
|
4703
6127
|
*
|
|
4704
6128
|
* @defaultValue `horizontal`
|
|
4705
6129
|
* @see the component manifest
|
|
@@ -4808,7 +6232,8 @@ type ChatBubbleSide = 'start' | 'end';
|
|
|
4808
6232
|
interface ChatBubbleProps {
|
|
4809
6233
|
children: React.ReactNode;
|
|
4810
6234
|
/**
|
|
4811
|
-
*
|
|
6235
|
+
* Which side of the thread the bubble sits on: `start` for an incoming message (avatar
|
|
6236
|
+
* first), `end` for an outgoing one (right-aligned, avatar last).
|
|
4812
6237
|
*
|
|
4813
6238
|
* @defaultValue `start`
|
|
4814
6239
|
* @see the component manifest
|
|
@@ -4833,7 +6258,8 @@ interface RadialProgressProps {
|
|
|
4833
6258
|
value: number;
|
|
4834
6259
|
size?: RadialProgressSize;
|
|
4835
6260
|
/**
|
|
4836
|
-
*
|
|
6261
|
+
* Colour of the ring: `primary` (the accent) or a severity tone — `info`, `success`,
|
|
6262
|
+
* `warning`, `error`.
|
|
4837
6263
|
*
|
|
4838
6264
|
* @defaultValue `primary`
|
|
4839
6265
|
* @see the component manifest
|
|
@@ -4845,6 +6271,14 @@ interface RadialProgressProps {
|
|
|
4845
6271
|
* `docs/AI-RULES.md`); `aria-label` is accepted as an alias for the DOM spelling.
|
|
4846
6272
|
*/
|
|
4847
6273
|
ariaLabel?: string;
|
|
6274
|
+
/**
|
|
6275
|
+
* Alias of `ariaLabel` — same invisible accessible name, the other spelling. Not rendered.
|
|
6276
|
+
*
|
|
6277
|
+
* `ariaLabel` is the catalog convention and stays preferred, but `label` is the guess an
|
|
6278
|
+
* adopter makes when they have not read the convention, and an unaccepted guess costs a
|
|
6279
|
+
* compile cycle for nothing (2026-08-21 report item 1). Pass either.
|
|
6280
|
+
*/
|
|
6281
|
+
label?: string;
|
|
4848
6282
|
'aria-label'?: string;
|
|
4849
6283
|
className?: string;
|
|
4850
6284
|
}
|
|
@@ -4855,6 +6289,7 @@ declare function RadialProgress({
|
|
|
4855
6289
|
children,
|
|
4856
6290
|
className,
|
|
4857
6291
|
ariaLabel,
|
|
6292
|
+
label: labelProp,
|
|
4858
6293
|
...aria
|
|
4859
6294
|
}: RadialProgressProps): import("react").JSX.Element;
|
|
4860
6295
|
type SwapMode = 'rotate' | 'flip';
|
|
@@ -4870,14 +6305,20 @@ interface SwapProps {
|
|
|
4870
6305
|
checked?: boolean;
|
|
4871
6306
|
/** Called with the new checked state when the swap is toggled. */
|
|
4872
6307
|
onValueChange?: (checked: boolean) => void;
|
|
4873
|
-
/** @deprecated Use `onValueChange` — it receives the same `checked` boolean. */
|
|
4874
|
-
onChange?: (checked: boolean) => void;
|
|
4875
6308
|
mode?: SwapMode;
|
|
4876
6309
|
/**
|
|
4877
6310
|
* Invisible accessible name. The catalog convention (see the item-identity table in
|
|
4878
6311
|
* `docs/AI-RULES.md`); `aria-label` is accepted as an alias for the DOM spelling.
|
|
4879
6312
|
*/
|
|
4880
6313
|
ariaLabel?: string;
|
|
6314
|
+
/**
|
|
6315
|
+
* Alias of `ariaLabel` — same invisible accessible name, the other spelling. Not rendered.
|
|
6316
|
+
*
|
|
6317
|
+
* `ariaLabel` is the catalog convention and stays preferred, but `label` is the guess an
|
|
6318
|
+
* adopter makes when they have not read the convention, and an unaccepted guess costs a
|
|
6319
|
+
* compile cycle for nothing (2026-08-21 report item 1). Pass either.
|
|
6320
|
+
*/
|
|
6321
|
+
label?: string;
|
|
4881
6322
|
'aria-label'?: string;
|
|
4882
6323
|
className?: string;
|
|
4883
6324
|
}
|
|
@@ -4886,10 +6327,10 @@ declare function Swap({
|
|
|
4886
6327
|
off,
|
|
4887
6328
|
checked,
|
|
4888
6329
|
onValueChange,
|
|
4889
|
-
onChange,
|
|
4890
6330
|
mode,
|
|
4891
6331
|
className,
|
|
4892
6332
|
ariaLabel,
|
|
6333
|
+
label,
|
|
4893
6334
|
...aria
|
|
4894
6335
|
}: SwapProps): import("react").JSX.Element;
|
|
4895
6336
|
interface SwipeAction {
|
|
@@ -4959,12 +6400,22 @@ interface GridProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
4959
6400
|
align?: GridAlign;
|
|
4960
6401
|
/** Inline-axis alignment of items within their cells (`justify-items`). Defaults to `stretch`. */
|
|
4961
6402
|
justify?: GridAlign;
|
|
6403
|
+
/**
|
|
6404
|
+
* Align the internal bands of adjacent children via CSS subgrid — every CardHeader in a
|
|
6405
|
+
* row shares one row track, every CardContent the next, every CardFooter the last. Where
|
|
6406
|
+
* subgrid is unsupported the grid renders as it does without this prop.
|
|
6407
|
+
*
|
|
6408
|
+
* @defaultValue `false`
|
|
6409
|
+
* @see the component manifest
|
|
6410
|
+
*/
|
|
6411
|
+
alignRows?: boolean;
|
|
4962
6412
|
}
|
|
4963
6413
|
declare function Grid({
|
|
4964
6414
|
cols,
|
|
4965
6415
|
gap,
|
|
4966
6416
|
align,
|
|
4967
6417
|
justify,
|
|
6418
|
+
alignRows,
|
|
4968
6419
|
className,
|
|
4969
6420
|
style,
|
|
4970
6421
|
children,
|
|
@@ -5129,4 +6580,517 @@ declare function PageHeader({
|
|
|
5129
6580
|
actions,
|
|
5130
6581
|
className
|
|
5131
6582
|
}: PageHeaderProps): import("react").JSX.Element;
|
|
5132
|
-
export {
|
|
6583
|
+
export {
|
|
6584
|
+
Accordion,
|
|
6585
|
+
AccordionContent,
|
|
6586
|
+
AccordionItem,
|
|
6587
|
+
AccordionItemProps,
|
|
6588
|
+
AccordionProps,
|
|
6589
|
+
AccordionTrigger,
|
|
6590
|
+
ActionSheet,
|
|
6591
|
+
ActionSheetAction,
|
|
6592
|
+
ActionSheetProps,
|
|
6593
|
+
type AggregateKind,
|
|
6594
|
+
Alert,
|
|
6595
|
+
AlertDialog,
|
|
6596
|
+
AlertDialogLabels,
|
|
6597
|
+
AlertDialogProps,
|
|
6598
|
+
AlertProps,
|
|
6599
|
+
AppShell,
|
|
6600
|
+
AppShellProps,
|
|
6601
|
+
AspectRatio,
|
|
6602
|
+
AspectRatioProps,
|
|
6603
|
+
AutoGrid,
|
|
6604
|
+
AutoGridProps,
|
|
6605
|
+
Avatar,
|
|
6606
|
+
AvatarGroup,
|
|
6607
|
+
AvatarGroupLabels,
|
|
6608
|
+
AvatarGroupProps,
|
|
6609
|
+
AvatarProps,
|
|
6610
|
+
Badge,
|
|
6611
|
+
BadgeProps,
|
|
6612
|
+
Blockquote,
|
|
6613
|
+
BlockquoteProps,
|
|
6614
|
+
BottomSheet,
|
|
6615
|
+
BottomSheetProps,
|
|
6616
|
+
Breadcrumb,
|
|
6617
|
+
BreadcrumbItem,
|
|
6618
|
+
BreadcrumbProps,
|
|
6619
|
+
Button,
|
|
6620
|
+
ButtonGroup,
|
|
6621
|
+
ButtonGroupProps,
|
|
6622
|
+
ButtonProps,
|
|
6623
|
+
Calendar,
|
|
6624
|
+
CalendarLabels,
|
|
6625
|
+
CalendarProps,
|
|
6626
|
+
Card,
|
|
6627
|
+
CardContent,
|
|
6628
|
+
CardContentProps,
|
|
6629
|
+
CardFooter,
|
|
6630
|
+
CardFooterProps,
|
|
6631
|
+
CardHeader,
|
|
6632
|
+
CardHeaderProps,
|
|
6633
|
+
CardProps,
|
|
6634
|
+
CardTitle,
|
|
6635
|
+
CardTitleProps,
|
|
6636
|
+
Carousel,
|
|
6637
|
+
CarouselLabels,
|
|
6638
|
+
CarouselProps,
|
|
6639
|
+
Center,
|
|
6640
|
+
CenterProps,
|
|
6641
|
+
ChatBubble,
|
|
6642
|
+
ChatBubbleProps,
|
|
6643
|
+
ChatBubbleSide,
|
|
6644
|
+
Checkbox,
|
|
6645
|
+
CheckboxCard,
|
|
6646
|
+
CheckboxCardProps,
|
|
6647
|
+
CheckboxProps,
|
|
6648
|
+
Code,
|
|
6649
|
+
type CodeLang,
|
|
6650
|
+
CodeProps,
|
|
6651
|
+
CodeSnippet,
|
|
6652
|
+
CodeSnippetProps,
|
|
6653
|
+
Collapsible,
|
|
6654
|
+
CollapsibleProps,
|
|
6655
|
+
type ColorFormat,
|
|
6656
|
+
ColorPicker,
|
|
6657
|
+
ColorPickerLabels,
|
|
6658
|
+
ColorPickerProps,
|
|
6659
|
+
Column,
|
|
6660
|
+
type ColumnGroup,
|
|
6661
|
+
ColumnSettings,
|
|
6662
|
+
type ColumnState,
|
|
6663
|
+
Columns,
|
|
6664
|
+
ColumnsProps,
|
|
6665
|
+
Combobox,
|
|
6666
|
+
ComboboxLabels,
|
|
6667
|
+
type ComboboxOption,
|
|
6668
|
+
ComboboxProps,
|
|
6669
|
+
CommandAction,
|
|
6670
|
+
CommandGroup,
|
|
6671
|
+
CommandItem,
|
|
6672
|
+
CommandMenu,
|
|
6673
|
+
CommandMenuProps,
|
|
6674
|
+
CommandPage,
|
|
6675
|
+
CommandScope,
|
|
6676
|
+
CommandStatus,
|
|
6677
|
+
Comparison,
|
|
6678
|
+
ComparisonProps,
|
|
6679
|
+
ContainedList,
|
|
6680
|
+
ContainedListItem,
|
|
6681
|
+
ContainedListItemProps,
|
|
6682
|
+
ContainedListProps,
|
|
6683
|
+
ContextMenu,
|
|
6684
|
+
ContextMenuItem,
|
|
6685
|
+
ContextMenuItemProps,
|
|
6686
|
+
ContextMenuProps,
|
|
6687
|
+
CopyButton,
|
|
6688
|
+
CopyButtonProps,
|
|
6689
|
+
DataList,
|
|
6690
|
+
DataListItem,
|
|
6691
|
+
DataListProps,
|
|
6692
|
+
DataTable,
|
|
6693
|
+
DataTableLabels,
|
|
6694
|
+
DataTableProps,
|
|
6695
|
+
DataTableServer,
|
|
6696
|
+
DatePicker,
|
|
6697
|
+
DatePickerLabels,
|
|
6698
|
+
DatePickerProps,
|
|
6699
|
+
DateRange,
|
|
6700
|
+
DateRangePicker,
|
|
6701
|
+
DateRangePickerLabels,
|
|
6702
|
+
DateRangePickerProps,
|
|
6703
|
+
DateRangePreset,
|
|
6704
|
+
DismissableLayer,
|
|
6705
|
+
type DismissableLayerProps,
|
|
6706
|
+
Dock,
|
|
6707
|
+
DockItem,
|
|
6708
|
+
DockProps,
|
|
6709
|
+
Drawer,
|
|
6710
|
+
DrawerProps,
|
|
6711
|
+
Dropdown,
|
|
6712
|
+
DropdownItem,
|
|
6713
|
+
DropdownMenuItem,
|
|
6714
|
+
DropdownProps,
|
|
6715
|
+
DropdownSeparatorItem,
|
|
6716
|
+
Editable,
|
|
6717
|
+
EditableProps,
|
|
6718
|
+
EmptyState,
|
|
6719
|
+
EmptyStateProps,
|
|
6720
|
+
ErrorBoundary,
|
|
6721
|
+
Fab,
|
|
6722
|
+
FabAction,
|
|
6723
|
+
FabProps,
|
|
6724
|
+
Field,
|
|
6725
|
+
FieldProps,
|
|
6726
|
+
FileUploader,
|
|
6727
|
+
FileUploaderLabels,
|
|
6728
|
+
FileUploaderProps,
|
|
6729
|
+
Filter,
|
|
6730
|
+
FilterOption,
|
|
6731
|
+
FilterProps,
|
|
6732
|
+
FilterVariant,
|
|
6733
|
+
Flex,
|
|
6734
|
+
FlexProps,
|
|
6735
|
+
FocusScope,
|
|
6736
|
+
Form,
|
|
6737
|
+
FormConfig,
|
|
6738
|
+
FormProps,
|
|
6739
|
+
FormStore,
|
|
6740
|
+
FuzzyMatch,
|
|
6741
|
+
Grid,
|
|
6742
|
+
GridAlign,
|
|
6743
|
+
GridItem,
|
|
6744
|
+
GridItemProps,
|
|
6745
|
+
GridProps,
|
|
6746
|
+
Header,
|
|
6747
|
+
HeaderLabels,
|
|
6748
|
+
HeaderLink,
|
|
6749
|
+
HeaderPanel,
|
|
6750
|
+
HeaderPanelLabels,
|
|
6751
|
+
HeaderPanelProps,
|
|
6752
|
+
HeaderProps,
|
|
6753
|
+
Heading,
|
|
6754
|
+
HeadingLevel,
|
|
6755
|
+
HeadingProps,
|
|
6756
|
+
HeadingSize,
|
|
6757
|
+
HoverCard,
|
|
6758
|
+
HoverCardContent,
|
|
6759
|
+
HoverCardContentProps,
|
|
6760
|
+
HoverCardProps,
|
|
6761
|
+
HoverCardTrigger,
|
|
6762
|
+
HoverCardTriggerProps,
|
|
6763
|
+
IconButton,
|
|
6764
|
+
IconButtonProps,
|
|
6765
|
+
Image,
|
|
6766
|
+
ImageProps,
|
|
6767
|
+
Indicator,
|
|
6768
|
+
IndicatorPlacement,
|
|
6769
|
+
IndicatorProps,
|
|
6770
|
+
InfiniteScroll,
|
|
6771
|
+
InfiniteScrollProps,
|
|
6772
|
+
InlineLoading,
|
|
6773
|
+
InlineLoadingProps,
|
|
6774
|
+
InlineLoadingStatus,
|
|
6775
|
+
Input,
|
|
6776
|
+
InputGroup,
|
|
6777
|
+
InputGroupAddon,
|
|
6778
|
+
type InputGroupAddonProps,
|
|
6779
|
+
type InputGroupProps,
|
|
6780
|
+
InputProps,
|
|
6781
|
+
Item,
|
|
6782
|
+
ItemActions,
|
|
6783
|
+
ItemActionsProps,
|
|
6784
|
+
ItemContent,
|
|
6785
|
+
ItemContentProps,
|
|
6786
|
+
ItemDescription,
|
|
6787
|
+
ItemDescriptionProps,
|
|
6788
|
+
ItemMedia,
|
|
6789
|
+
ItemMediaProps,
|
|
6790
|
+
ItemProps,
|
|
6791
|
+
ItemTitle,
|
|
6792
|
+
ItemTitleProps,
|
|
6793
|
+
Join,
|
|
6794
|
+
JoinOrientation,
|
|
6795
|
+
JoinProps,
|
|
6796
|
+
Kbd,
|
|
6797
|
+
KbdProps,
|
|
6798
|
+
Label,
|
|
6799
|
+
LabelProps,
|
|
6800
|
+
LargeTitleHeader,
|
|
6801
|
+
LargeTitleHeaderProps,
|
|
6802
|
+
Link,
|
|
6803
|
+
type LinkComponent,
|
|
6804
|
+
type LinkComponentProps,
|
|
6805
|
+
LinkProps,
|
|
6806
|
+
List,
|
|
6807
|
+
ListItem,
|
|
6808
|
+
ListItemProps,
|
|
6809
|
+
ListProps,
|
|
6810
|
+
LogLevel,
|
|
6811
|
+
LogLine,
|
|
6812
|
+
LogViewer,
|
|
6813
|
+
LogViewerLabels,
|
|
6814
|
+
LogViewerProps,
|
|
6815
|
+
Logo,
|
|
6816
|
+
LogoProps,
|
|
6817
|
+
LogoVariant,
|
|
6818
|
+
type Machine,
|
|
6819
|
+
type MachineConfig,
|
|
6820
|
+
Menu,
|
|
6821
|
+
MenuButton,
|
|
6822
|
+
MenuButtonItem,
|
|
6823
|
+
MenuButtonProps,
|
|
6824
|
+
MenuItem,
|
|
6825
|
+
MenuItemProps,
|
|
6826
|
+
MenuProps,
|
|
6827
|
+
MenuSeparator,
|
|
6828
|
+
MenuTrigger,
|
|
6829
|
+
MenuTriggerProps,
|
|
6830
|
+
Menubar,
|
|
6831
|
+
MenubarBaseProps,
|
|
6832
|
+
MenubarItem,
|
|
6833
|
+
MenubarMenu,
|
|
6834
|
+
MenubarProps,
|
|
6835
|
+
Modal,
|
|
6836
|
+
ModalProps,
|
|
6837
|
+
MultiSelect,
|
|
6838
|
+
MultiSelectLabels,
|
|
6839
|
+
type MultiSelectOption,
|
|
6840
|
+
MultiSelectProps,
|
|
6841
|
+
NativeSelect,
|
|
6842
|
+
NativeSelectOption,
|
|
6843
|
+
NativeSelectProps,
|
|
6844
|
+
NavigationMenu,
|
|
6845
|
+
NavigationMenuItem,
|
|
6846
|
+
NavigationMenuProps,
|
|
6847
|
+
Notification,
|
|
6848
|
+
NotificationProps,
|
|
6849
|
+
NotificationVariant,
|
|
6850
|
+
NumberInput,
|
|
6851
|
+
NumberInputProps,
|
|
6852
|
+
OtpInput,
|
|
6853
|
+
OtpInputProps,
|
|
6854
|
+
OverflowMenu,
|
|
6855
|
+
OverflowMenuItem,
|
|
6856
|
+
OverflowMenuProps,
|
|
6857
|
+
PageHeader,
|
|
6858
|
+
PageHeaderProps,
|
|
6859
|
+
Pagination,
|
|
6860
|
+
PaginationLabels,
|
|
6861
|
+
PaginationProps,
|
|
6862
|
+
PasswordInput,
|
|
6863
|
+
PasswordInputLabels,
|
|
6864
|
+
PasswordInputProps,
|
|
6865
|
+
type PinSide,
|
|
6866
|
+
Popover,
|
|
6867
|
+
PopoverContent,
|
|
6868
|
+
PopoverContentProps,
|
|
6869
|
+
PopoverProps,
|
|
6870
|
+
PopoverTrigger,
|
|
6871
|
+
PopoverTriggerProps,
|
|
6872
|
+
Portal,
|
|
6873
|
+
Presence,
|
|
6874
|
+
Progress,
|
|
6875
|
+
ProgressBar,
|
|
6876
|
+
ProgressBarProps,
|
|
6877
|
+
ProgressCircle,
|
|
6878
|
+
ProgressCircleProps,
|
|
6879
|
+
ProgressIndicator,
|
|
6880
|
+
ProgressIndicatorProps,
|
|
6881
|
+
ProgressProps,
|
|
6882
|
+
ProgressSize,
|
|
6883
|
+
ProgressStep,
|
|
6884
|
+
ProgressVariant,
|
|
6885
|
+
Prose,
|
|
6886
|
+
ProseProps,
|
|
6887
|
+
PullToRefresh,
|
|
6888
|
+
PullToRefreshProps,
|
|
6889
|
+
QrCode,
|
|
6890
|
+
QrCodeProps,
|
|
6891
|
+
RadialProgress,
|
|
6892
|
+
RadialProgressProps,
|
|
6893
|
+
RadialProgressSize,
|
|
6894
|
+
RadialProgressVariant,
|
|
6895
|
+
Radio,
|
|
6896
|
+
RadioCard,
|
|
6897
|
+
RadioCardGroup,
|
|
6898
|
+
RadioCardGroupProps,
|
|
6899
|
+
RadioCardProps,
|
|
6900
|
+
RadioGroup,
|
|
6901
|
+
RadioGroupProps,
|
|
6902
|
+
RadioProps,
|
|
6903
|
+
RatingGroup,
|
|
6904
|
+
RatingGroupLabels,
|
|
6905
|
+
RatingGroupProps,
|
|
6906
|
+
RelativeTime,
|
|
6907
|
+
RelativeTimeProps,
|
|
6908
|
+
ReorderItem,
|
|
6909
|
+
ReorderList,
|
|
6910
|
+
ReorderListProps,
|
|
6911
|
+
Resizable,
|
|
6912
|
+
ResizableProps,
|
|
6913
|
+
Responsive,
|
|
6914
|
+
RowAction,
|
|
6915
|
+
ScrollArea,
|
|
6916
|
+
ScrollAreaProps,
|
|
6917
|
+
Search,
|
|
6918
|
+
SearchProps,
|
|
6919
|
+
SegmentedControl,
|
|
6920
|
+
SegmentedControlOption,
|
|
6921
|
+
SegmentedControlProps,
|
|
6922
|
+
Select,
|
|
6923
|
+
SelectOption,
|
|
6924
|
+
SelectProps,
|
|
6925
|
+
Separator,
|
|
6926
|
+
SeparatorProps,
|
|
6927
|
+
Sheet,
|
|
6928
|
+
SheetProps,
|
|
6929
|
+
ShellHeader,
|
|
6930
|
+
ShellHeaderAction,
|
|
6931
|
+
ShellHeaderBrand,
|
|
6932
|
+
ShellHeaderLabels,
|
|
6933
|
+
ShellHeaderNavItem,
|
|
6934
|
+
ShellHeaderNavLink,
|
|
6935
|
+
ShellHeaderNavMenu,
|
|
6936
|
+
ShellHeaderNavMenuItem,
|
|
6937
|
+
ShellHeaderProps,
|
|
6938
|
+
SideNav,
|
|
6939
|
+
SideNavGroup,
|
|
6940
|
+
SideNavItem,
|
|
6941
|
+
SideNavLinkProps,
|
|
6942
|
+
SideNavLinkSubItem,
|
|
6943
|
+
SideNavProps,
|
|
6944
|
+
SideNavSubItem,
|
|
6945
|
+
SideNavTone,
|
|
6946
|
+
Skeleton,
|
|
6947
|
+
SkeletonProps,
|
|
6948
|
+
SkipNavLink,
|
|
6949
|
+
SkipNavLinkProps,
|
|
6950
|
+
SkipNavTarget,
|
|
6951
|
+
SkipNavTargetProps,
|
|
6952
|
+
Slider,
|
|
6953
|
+
SliderProps,
|
|
6954
|
+
Slot,
|
|
6955
|
+
type SlotProps,
|
|
6956
|
+
SortDirection,
|
|
6957
|
+
SortKey,
|
|
6958
|
+
SortState,
|
|
6959
|
+
Spacer,
|
|
6960
|
+
SpacerProps,
|
|
6961
|
+
Spinner,
|
|
6962
|
+
SpinnerProps,
|
|
6963
|
+
Stack,
|
|
6964
|
+
StackProps,
|
|
6965
|
+
type StandardSchemaV1,
|
|
6966
|
+
Stat,
|
|
6967
|
+
StatProps,
|
|
6968
|
+
Status,
|
|
6969
|
+
StatusProps,
|
|
6970
|
+
Step,
|
|
6971
|
+
StepState,
|
|
6972
|
+
Steps,
|
|
6973
|
+
StepsProps,
|
|
6974
|
+
StructuredList,
|
|
6975
|
+
StructuredListItem,
|
|
6976
|
+
StructuredListProps,
|
|
6977
|
+
SuspenseBoundary,
|
|
6978
|
+
Swap,
|
|
6979
|
+
SwapMode,
|
|
6980
|
+
SwapProps,
|
|
6981
|
+
SwipeAction,
|
|
6982
|
+
SwipeItem,
|
|
6983
|
+
SwipeItemProps,
|
|
6984
|
+
Toggle as Switch,
|
|
6985
|
+
Toggle,
|
|
6986
|
+
type ToggleProps as SwitchProps,
|
|
6987
|
+
ToggleProps,
|
|
6988
|
+
Switcher,
|
|
6989
|
+
SwitcherEntry,
|
|
6990
|
+
SwitcherLink,
|
|
6991
|
+
SwitcherProps,
|
|
6992
|
+
TableQuery,
|
|
6993
|
+
Tabs,
|
|
6994
|
+
TabsContent,
|
|
6995
|
+
TabsContentProps,
|
|
6996
|
+
TabsList,
|
|
6997
|
+
TabsProps,
|
|
6998
|
+
TabsTrigger,
|
|
6999
|
+
TabsTriggerProps,
|
|
7000
|
+
Tag,
|
|
7001
|
+
TagProps,
|
|
7002
|
+
TagsInput,
|
|
7003
|
+
TagsInputProps,
|
|
7004
|
+
Text,
|
|
7005
|
+
TextProps,
|
|
7006
|
+
Textarea,
|
|
7007
|
+
TextareaProps,
|
|
7008
|
+
ThemeProvider,
|
|
7009
|
+
type ThemeProviderProps,
|
|
7010
|
+
Tile,
|
|
7011
|
+
TileProps,
|
|
7012
|
+
TimePicker,
|
|
7013
|
+
TimePickerProps,
|
|
7014
|
+
Timeline,
|
|
7015
|
+
TimelineItem,
|
|
7016
|
+
TimelineProps,
|
|
7017
|
+
ToastOptions,
|
|
7018
|
+
ToastProvider,
|
|
7019
|
+
ToastVariant,
|
|
7020
|
+
Toc,
|
|
7021
|
+
TocItem,
|
|
7022
|
+
TocProps,
|
|
7023
|
+
ToggleGroup,
|
|
7024
|
+
ToggleGroupItem,
|
|
7025
|
+
ToggleGroupProps,
|
|
7026
|
+
Toggletip,
|
|
7027
|
+
ToggletipPlacement,
|
|
7028
|
+
ToggletipProps,
|
|
7029
|
+
Tooltip,
|
|
7030
|
+
TooltipProps,
|
|
7031
|
+
TreeNode,
|
|
7032
|
+
TreeView,
|
|
7033
|
+
TreeViewProps,
|
|
7034
|
+
UploaderFile,
|
|
7035
|
+
type UseClipboardOptions,
|
|
7036
|
+
type UseClipboardReturn,
|
|
7037
|
+
type UseControllableSignalOptions,
|
|
7038
|
+
type UseDisclosureOptions,
|
|
7039
|
+
type UseDisclosureReturn,
|
|
7040
|
+
type UsePopoverOptions,
|
|
7041
|
+
type UsePopoverReturn,
|
|
7042
|
+
type UseTocFromRegionOptions,
|
|
7043
|
+
User,
|
|
7044
|
+
UserProps,
|
|
7045
|
+
VirtualList,
|
|
7046
|
+
VirtualListProps,
|
|
7047
|
+
VisuallyHidden,
|
|
7048
|
+
VisuallyHiddenProps,
|
|
7049
|
+
WheelPicker,
|
|
7050
|
+
WheelPickerOption,
|
|
7051
|
+
WheelPickerProps,
|
|
7052
|
+
applyTheme,
|
|
7053
|
+
batch,
|
|
7054
|
+
cn,
|
|
7055
|
+
composeRefs,
|
|
7056
|
+
computePosition,
|
|
7057
|
+
computed,
|
|
7058
|
+
createForm,
|
|
7059
|
+
createMachine,
|
|
7060
|
+
createScope,
|
|
7061
|
+
createStreamBuffer,
|
|
7062
|
+
dismissAllToasts,
|
|
7063
|
+
effect,
|
|
7064
|
+
fuzzyMatch,
|
|
7065
|
+
fuzzyScore,
|
|
7066
|
+
getLinkComponent,
|
|
7067
|
+
mergeProps,
|
|
7068
|
+
setLinkComponent,
|
|
7069
|
+
setTheme,
|
|
7070
|
+
signal,
|
|
7071
|
+
themePreloadScript,
|
|
7072
|
+
themeSignal,
|
|
7073
|
+
treeViewMessages,
|
|
7074
|
+
useAnchorPosition,
|
|
7075
|
+
useClipboard,
|
|
7076
|
+
useComputed,
|
|
7077
|
+
useControllableSignal,
|
|
7078
|
+
useDisclosure,
|
|
7079
|
+
useEffectPropSignal,
|
|
7080
|
+
useForm,
|
|
7081
|
+
useId,
|
|
7082
|
+
useMachine,
|
|
7083
|
+
useMediaQuery,
|
|
7084
|
+
usePopover,
|
|
7085
|
+
useRovingFocus,
|
|
7086
|
+
useScope,
|
|
7087
|
+
useScrollLock,
|
|
7088
|
+
useSignal,
|
|
7089
|
+
useSignalEffect,
|
|
7090
|
+
useSignals,
|
|
7091
|
+
useStreamBuffer,
|
|
7092
|
+
useTheme,
|
|
7093
|
+
useToast,
|
|
7094
|
+
useTocFromRegion,
|
|
7095
|
+
useTypeahead,
|
|
7096
|
+
};
|