@botiverse/raft-ui 0.51.0 → 0.52.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/CHANGELOG.md +20 -0
- package/dist/components/activity-inbox/activity-inbox-shell.d.mts +12 -0
- package/dist/components/activity-inbox/activity-inbox-shell.mjs +39 -0
- package/dist/components/activity-inbox/activity-inbox-shell.recipe.mjs +14 -0
- package/dist/components/activity-inbox/activity-inbox-sidebar.d.mts +6 -0
- package/dist/components/activity-inbox/activity-inbox-sidebar.mjs +22 -0
- package/dist/components/activity-inbox/activity-inbox-sidebar.recipe.mjs +22 -0
- package/dist/components/activity-inbox/activity-inbox-toolbar.d.mts +9 -0
- package/dist/components/activity-inbox/activity-inbox-toolbar.mjs +29 -0
- package/dist/components/activity-inbox/activity-inbox-toolbar.recipe.mjs +14 -0
- package/dist/components/activity-inbox/index.d.mts +4 -0
- package/dist/components/alert-dialog/alert-dialog.d.mts +41 -0
- package/dist/components/alert-dialog/alert-dialog.mjs +163 -0
- package/dist/components/alert-dialog/index.d.mts +2 -0
- package/dist/components/announcement-dialog/announcement-dialog.d.mts +18 -0
- package/dist/components/announcement-dialog/announcement-dialog.mjs +121 -0
- package/dist/components/announcement-dialog/index.d.mts +3 -0
- package/dist/components/app-rail/app-rail.d.mts +31 -0
- package/dist/components/app-rail/app-rail.mjs +126 -0
- package/dist/components/app-rail/app-rail.recipe.mjs +47 -0
- package/dist/components/app-rail/index.d.mts +2 -0
- package/dist/components/app-shell/app-shell.d.mts +27 -0
- package/dist/components/app-shell/app-shell.mjs +217 -0
- package/dist/components/app-shell/index.d.mts +2 -0
- package/dist/components/avatar/avatar.d.mts +169 -0
- package/dist/components/avatar/avatar.mjs +298 -0
- package/dist/components/avatar/index.d.mts +2 -0
- package/dist/components/badge/badge.d.mts +89 -0
- package/dist/components/badge/badge.mjs +203 -0
- package/dist/components/badge/index.d.mts +2 -0
- package/dist/components/banner/banner.d.mts +141 -0
- package/dist/components/banner/banner.mjs +228 -0
- package/dist/components/banner/index.d.mts +2 -0
- package/dist/components/button/button.d.mts +257 -0
- package/dist/components/button/button.mjs +177 -0
- package/dist/components/button/index.d.mts +2 -0
- package/dist/components/card/card.d.mts +21 -0
- package/dist/components/card/card.mjs +114 -0
- package/dist/components/card/card.recipe.d.mts +105 -0
- package/dist/components/card/card.recipe.mjs +67 -0
- package/dist/components/card/index.d.mts +2 -0
- package/dist/components/checkbox/checkbox-indicator.d.mts +92 -0
- package/dist/components/checkbox/checkbox-indicator.mjs +61 -0
- package/dist/components/checkbox/checkbox.d.mts +9 -0
- package/dist/components/checkbox/checkbox.mjs +40 -0
- package/dist/components/checkbox/index.d.mts +3 -0
- package/dist/components/choice-list/choice-list.d.mts +103 -0
- package/dist/components/choice-list/choice-list.mjs +301 -0
- package/dist/components/choice-list/choice-list.recipe.mjs +44 -0
- package/dist/components/choice-list/index.d.mts +2 -0
- package/dist/components/code-block/code-block.d.mts +30 -0
- package/dist/components/code-block/code-block.mjs +151 -0
- package/dist/components/code-block/code-block.recipe.mjs +47 -0
- package/dist/components/code-block/index.d.mts +2 -0
- package/dist/components/combobox/combobox.d.mts +69 -0
- package/dist/components/combobox/combobox.mjs +438 -0
- package/dist/components/combobox/index.d.mts +2 -0
- package/dist/components/combobox-select/combobox-select.d.mts +4 -0
- package/dist/components/combobox-select/combobox-select.list-side.mjs +16 -0
- package/dist/components/combobox-select/combobox-select.mjs +473 -0
- package/dist/components/combobox-select/combobox-select.options.mjs +21 -0
- package/dist/components/combobox-select/combobox-select.types.d.mts +83 -0
- package/dist/components/combobox-select/index.d.mts +3 -0
- package/dist/components/comment/comment-card.d.mts +40 -0
- package/dist/components/comment/comment-card.mjs +83 -0
- package/dist/components/comment/comment-entry.d.mts +24 -0
- package/dist/components/comment/comment-entry.mjs +75 -0
- package/dist/components/comment/comment-highlight.d.mts +18 -0
- package/dist/components/comment/comment-highlight.mjs +33 -0
- package/dist/components/comment/comment-margin-layout.d.mts +32 -0
- package/dist/components/comment/comment-margin-layout.mjs +44 -0
- package/dist/components/comment/comment-margin.d.mts +29 -0
- package/dist/components/comment/comment-margin.mjs +164 -0
- package/dist/components/comment/comment-marker.d.mts +16 -0
- package/dist/components/comment/comment-marker.mjs +24 -0
- package/dist/components/comment/comment.recipe.mjs +58 -0
- package/dist/components/comment/index.d.mts +8 -0
- package/dist/components/comment/use-comment-margin-fits.d.mts +16 -0
- package/dist/components/comment/use-comment-margin-fits.mjs +34 -0
- package/dist/components/composer/composer-attachment.recipe.mjs +85 -0
- package/dist/components/composer/composer-attachments-scroll-area.d.mts +5 -0
- package/dist/components/composer/composer-attachments-scroll-area.mjs +93 -0
- package/dist/components/composer/composer-attachments.d.mts +27 -0
- package/dist/components/composer/composer-attachments.mjs +147 -0
- package/dist/components/composer/composer-drop-overlay.d.mts +9 -0
- package/dist/components/composer/composer-drop-overlay.mjs +60 -0
- package/dist/components/composer/composer-drop-overlay.recipe.mjs +23 -0
- package/dist/components/composer/composer-root.d.mts +5 -0
- package/dist/components/composer/composer-root.mjs +18 -0
- package/dist/components/composer/composer-suggestion-list.d.mts +139 -0
- package/dist/components/composer/composer-suggestion-list.mjs +160 -0
- package/dist/components/composer/composer-toolbar-label.d.mts +5 -0
- package/dist/components/composer/composer-toolbar-label.mjs +24 -0
- package/dist/components/composer/composer.d.mts +20 -0
- package/dist/components/composer/composer.mjs +88 -0
- package/dist/components/composer/composer.recipe.mjs +29 -0
- package/dist/components/composer/index.d.mts +10 -0
- package/dist/components/composer/sortable-composer-attachments.d.mts +37 -0
- package/dist/components/composer/sortable-composer-attachments.mjs +247 -0
- package/dist/components/composer/use-composer-suggestions.d.mts +83 -0
- package/dist/components/composer/use-composer-suggestions.mjs +207 -0
- package/dist/components/context-menu/context-menu.d.mts +53 -0
- package/dist/components/context-menu/context-menu.mjs +275 -0
- package/dist/components/context-menu/index.d.mts +2 -0
- package/dist/components/conversation-panel/conversation-panel-empty-state.d.mts +9 -0
- package/dist/components/conversation-panel/conversation-panel-empty-state.mjs +57 -0
- package/dist/components/conversation-panel/conversation-panel.d.mts +20 -0
- package/dist/components/conversation-panel/conversation-panel.mjs +63 -0
- package/dist/components/conversation-panel/conversation-panel.recipe.mjs +15 -0
- package/dist/components/conversation-panel/index.d.mts +3 -0
- package/dist/components/copyable-code/copyable-code.d.mts +72 -0
- package/dist/components/copyable-code/copyable-code.mjs +153 -0
- package/dist/components/copyable-code/index.d.mts +2 -0
- package/dist/components/description-list/description-list.d.mts +59 -0
- package/dist/components/description-list/description-list.mjs +96 -0
- package/dist/components/description-list/index.d.mts +2 -0
- package/dist/components/dialog/dialog-sheet-context.mjs +58 -0
- package/dist/components/dialog/dialog-sheet.d.mts +31 -0
- package/dist/components/dialog/dialog-sheet.mjs +194 -0
- package/dist/components/dialog/dialog.d.mts +85 -0
- package/dist/components/dialog/dialog.mjs +371 -0
- package/dist/components/dialog/index.d.mts +3 -0
- package/dist/components/drag/drag-announcements.d.mts +72 -0
- package/dist/components/drag/drag-announcements.mjs +115 -0
- package/dist/components/drag/drag-lift.d.mts +100 -0
- package/dist/components/drag/drag-lift.mjs +276 -0
- package/dist/components/drag/drag-lists.d.mts +98 -0
- package/dist/components/drag/drag-lists.mjs +258 -0
- package/dist/components/drag/drag-sensors.d.mts +87 -0
- package/dist/components/drag/drag-sensors.mjs +169 -0
- package/dist/components/drag/drag.recipe.d.mts +7 -0
- package/dist/components/drag/drag.recipe.mjs +30 -0
- package/dist/components/drag/drop-placeholder.d.mts +41 -0
- package/dist/components/drag/drop-placeholder.mjs +161 -0
- package/dist/components/drag/index.d.mts +8 -0
- package/dist/components/drawer/drawer.d.mts +34 -0
- package/dist/components/drawer/drawer.mjs +202 -0
- package/dist/components/drawer/drawer.recipe.mjs +175 -0
- package/dist/components/drawer/index.d.mts +2 -0
- package/dist/components/dropdown-menu/dropdown-menu.d.mts +62 -0
- package/dist/components/dropdown-menu/dropdown-menu.mjs +319 -0
- package/dist/components/dropdown-menu/index.d.mts +2 -0
- package/dist/components/ellipsis/ellipsis.d.mts +55 -0
- package/dist/components/ellipsis/ellipsis.mjs +320 -0
- package/dist/components/ellipsis/index.d.mts +3 -0
- package/dist/components/empty-state/empty-state.d.mts +15 -0
- package/dist/components/empty-state/empty-state.mjs +102 -0
- package/dist/components/empty-state/index.d.mts +2 -0
- package/dist/components/field/field.d.mts +79 -0
- package/dist/components/field/field.mjs +100 -0
- package/dist/components/field/index.d.mts +2 -0
- package/dist/components/file-preview/file-preview.d.mts +17 -0
- package/dist/components/file-preview/file-preview.mjs +210 -0
- package/dist/components/file-preview/file-preview.recipe.d.mts +99 -0
- package/dist/components/file-preview/file-preview.recipe.mjs +39 -0
- package/dist/components/file-preview/index.d.mts +2 -0
- package/dist/components/files/files.d.mts +35 -0
- package/dist/components/files/files.mjs +69 -0
- package/dist/components/files/files.recipe.mjs +40 -0
- package/dist/components/files/index.d.mts +2 -0
- package/dist/components/filter-chip/filter-chip.d.mts +25 -0
- package/dist/components/filter-chip/filter-chip.mjs +59 -0
- package/dist/components/filter-chip/index.d.mts +2 -0
- package/dist/components/float-button/float-button.d.mts +36 -0
- package/dist/components/float-button/float-button.mjs +116 -0
- package/dist/components/float-button/float-button.position.d.mts +6 -0
- package/dist/components/float-button/float-button.position.mjs +41 -0
- package/dist/components/float-button/index.d.mts +3 -0
- package/dist/components/form-section/form-section.d.mts +16 -0
- package/dist/components/form-section/form-section.mjs +53 -0
- package/dist/components/form-section/index.d.mts +2 -0
- package/dist/components/icon-tile/icon-tile.d.mts +97 -0
- package/dist/components/icon-tile/icon-tile.mjs +49 -0
- package/dist/components/icon-tile/index.d.mts +2 -0
- package/dist/components/icons/action-icons.d.mts +34 -0
- package/dist/components/icons/action-icons.mjs +383 -0
- package/dist/components/icons/conversation-icons.d.mts +12 -0
- package/dist/components/icons/conversation-icons.mjs +147 -0
- package/dist/components/icons/index.d.mts +4 -0
- package/dist/components/icons/object-icons.d.mts +6 -0
- package/dist/components/icons/object-icons.mjs +27 -0
- package/dist/components/inbox-item/inbox-item-leading-badge.d.mts +13 -0
- package/dist/components/inbox-item/inbox-item-leading-badge.mjs +27 -0
- package/dist/components/inbox-item/inbox-item-skeleton.d.mts +46 -0
- package/dist/components/inbox-item/inbox-item-skeleton.mjs +89 -0
- package/dist/components/inbox-item/inbox-item-skeleton.recipe.mjs +20 -0
- package/dist/components/inbox-item/inbox-item.d.mts +71 -0
- package/dist/components/inbox-item/inbox-item.mjs +276 -0
- package/dist/components/inbox-item/inbox-item.recipe.mjs +137 -0
- package/dist/components/inbox-item/index.d.mts +2 -0
- package/dist/components/inline-code/index.d.mts +2 -0
- package/dist/components/inline-code/inline-code.d.mts +8 -0
- package/dist/components/inline-code/inline-code.mjs +30 -0
- package/dist/components/input/index.d.mts +2 -0
- package/dist/components/input/input.d.mts +16 -0
- package/dist/components/input/input.mjs +20 -0
- package/dist/components/input/input.recipe.mjs +12 -0
- package/dist/components/input-group/index.d.mts +2 -0
- package/dist/components/input-group/input-group.d.mts +93 -0
- package/dist/components/input-group/input-group.mjs +178 -0
- package/dist/components/kbd/index.d.mts +2 -0
- package/dist/components/kbd/kbd.d.mts +7 -0
- package/dist/components/kbd/kbd.mjs +34 -0
- package/dist/components/label/index.d.mts +2 -0
- package/dist/components/label/label.d.mts +60 -0
- package/dist/components/label/label.mjs +75 -0
- package/dist/components/legacy-task-panel/index.d.mts +2 -0
- package/dist/components/legacy-task-panel/legacy-task-panel.d.mts +57 -0
- package/dist/components/legacy-task-panel/legacy-task-panel.mjs +234 -0
- package/dist/components/legacy-task-panel/legacy-task-panel.recipe.mjs +30 -0
- package/dist/components/lightbox/index.d.mts +2 -0
- package/dist/components/lightbox/lightbox.d.mts +55 -0
- package/dist/components/lightbox/lightbox.mjs +336 -0
- package/dist/components/list-row/index.d.mts +2 -0
- package/dist/components/list-row/list-row-skeleton.d.mts +21 -0
- package/dist/components/list-row/list-row-skeleton.mjs +43 -0
- package/dist/components/list-row/list-row.d.mts +66 -0
- package/dist/components/list-row/list-row.mjs +167 -0
- package/dist/components/list-row/list-row.recipe.d.mts +126 -0
- package/dist/components/list-row/list-row.recipe.mjs +94 -0
- package/dist/components/live-agent-activity-bar/index.d.mts +2 -0
- package/dist/components/live-agent-activity-bar/live-agent-activity-bar.d.mts +25 -0
- package/dist/components/live-agent-activity-bar/live-agent-activity-bar.mjs +107 -0
- package/dist/components/logo/index.d.mts +2 -0
- package/dist/components/logo/raft-logo.d.mts +9 -0
- package/dist/components/logo/raft-logo.mjs +63 -0
- package/dist/components/markdown/index.d.mts +2 -0
- package/dist/components/markdown/markdown-parts.d.mts +54 -0
- package/dist/components/markdown/markdown-parts.mjs +153 -0
- package/dist/components/markdown/markdown.recipe.mjs +77 -0
- package/dist/components/message-action-card/index.d.mts +2 -0
- package/dist/components/message-action-card/message-action-card-content.recipe.mjs +50 -0
- package/dist/components/message-action-card/message-action-card.d.mts +95 -0
- package/dist/components/message-action-card/message-action-card.mjs +298 -0
- package/dist/components/message-action-card/message-action-card.recipe.mjs +47 -0
- package/dist/components/message-attachment/index.d.mts +5 -0
- package/dist/components/message-attachment/message-attachment.d.mts +27 -0
- package/dist/components/message-attachment/message-attachment.mjs +129 -0
- package/dist/components/message-attachment/message-attachment.recipe.mjs +36 -0
- package/dist/components/message-attachment/message-image-gallery-rows.d.mts +47 -0
- package/dist/components/message-attachment/message-image-gallery-rows.mjs +55 -0
- package/dist/components/message-attachment/message-image-gallery.d.mts +32 -0
- package/dist/components/message-attachment/message-image-gallery.mjs +105 -0
- package/dist/components/message-attachment/message-image-gallery.recipe.mjs +61 -0
- package/dist/components/message-attachment/message-video-preview.d.mts +19 -0
- package/dist/components/message-attachment/message-video-preview.mjs +92 -0
- package/dist/components/message-attachment/message-video-preview.recipe.mjs +33 -0
- package/dist/components/message-embed/index.d.mts +2 -0
- package/dist/components/message-embed/message-embed.d.mts +12 -0
- package/dist/components/message-embed/message-embed.mjs +42 -0
- package/dist/components/message-embed/message-embed.recipe.mjs +14 -0
- package/dist/components/message-forwarded-bundle/index.d.mts +2 -0
- package/dist/components/message-forwarded-bundle/message-forwarded-bundle.d.mts +92 -0
- package/dist/components/message-forwarded-bundle/message-forwarded-bundle.mjs +324 -0
- package/dist/components/message-forwarded-bundle/message-forwarded-bundle.recipe.mjs +81 -0
- package/dist/components/message-item/index.d.mts +13 -0
- package/dist/components/message-item/message-footer.d.mts +20 -0
- package/dist/components/message-item/message-footer.mjs +54 -0
- package/dist/components/message-item/message-footer.recipe.mjs +46 -0
- package/dist/components/message-item/message-item-content.d.mts +22 -0
- package/dist/components/message-item/message-item-content.mjs +81 -0
- package/dist/components/message-item/message-item-delegated.d.mts +38 -0
- package/dist/components/message-item/message-item-delegated.mjs +72 -0
- package/dist/components/message-item/message-item-gutter.d.mts +10 -0
- package/dist/components/message-item/message-item-gutter.mjs +41 -0
- package/dist/components/message-item/message-item-header.d.mts +29 -0
- package/dist/components/message-item/message-item-header.mjs +107 -0
- package/dist/components/message-item/message-item-label.mjs +113 -0
- package/dist/components/message-item/message-item-root.d.mts +25 -0
- package/dist/components/message-item/message-item-root.mjs +39 -0
- package/dist/components/message-item/message-item-toolbar.d.mts +9 -0
- package/dist/components/message-item/message-item-toolbar.mjs +131 -0
- package/dist/components/message-item/message-item.recipe.d.mts +101 -0
- package/dist/components/message-item/message-item.recipe.mjs +114 -0
- package/dist/components/message-item/message-multi-select.d.mts +15 -0
- package/dist/components/message-item/message-multi-select.mjs +49 -0
- package/dist/components/message-item/message-multi-select.recipe.mjs +23 -0
- package/dist/components/message-item/message-reaction.d.mts +39 -0
- package/dist/components/message-item/message-reaction.mjs +188 -0
- package/dist/components/message-item/message-reaction.recipe.mjs +76 -0
- package/dist/components/message-item/message-reference.d.mts +50 -0
- package/dist/components/message-item/message-reference.mjs +111 -0
- package/dist/components/message-item/message-reference.recipe.d.mts +6 -0
- package/dist/components/message-item/message-reference.recipe.mjs +63 -0
- package/dist/components/message-item/message-text-selection-toolbar.d.mts +24 -0
- package/dist/components/message-item/message-text-selection-toolbar.mjs +13 -0
- package/dist/components/message-list/index.d.mts +4 -0
- package/dist/components/message-list/message-list-jump.d.mts +21 -0
- package/dist/components/message-list/message-list-jump.mjs +73 -0
- package/dist/components/message-list/message-list-markers.d.mts +13 -0
- package/dist/components/message-list/message-list-markers.mjs +70 -0
- package/dist/components/message-list/message-list.d.mts +7 -0
- package/dist/components/message-list/message-list.mjs +52 -0
- package/dist/components/message-list/message-list.recipe.mjs +54 -0
- package/dist/components/message-quoted-preview/index.d.mts +2 -0
- package/dist/components/message-quoted-preview/message-quoted-preview.d.mts +40 -0
- package/dist/components/message-quoted-preview/message-quoted-preview.mjs +144 -0
- package/dist/components/message-quoted-preview/message-quoted-preview.recipe.mjs +38 -0
- package/dist/components/message-replies/index.d.mts +2 -0
- package/dist/components/message-replies/message-replies.d.mts +17 -0
- package/dist/components/message-replies/message-replies.mjs +79 -0
- package/dist/components/message-replies/message-replies.recipe.mjs +25 -0
- package/dist/components/message-translation/index.d.mts +2 -0
- package/dist/components/message-translation/message-translation.d.mts +20 -0
- package/dist/components/message-translation/message-translation.mjs +64 -0
- package/dist/components/message-translation/message-translation.recipe.mjs +27 -0
- package/dist/components/meter/index.d.mts +2 -0
- package/dist/components/meter/meter.d.mts +107 -0
- package/dist/components/meter/meter.mjs +118 -0
- package/dist/components/mobile-nav/index.d.mts +3 -0
- package/dist/components/mobile-nav/mobile-nav-server.d.mts +71 -0
- package/dist/components/mobile-nav/mobile-nav-server.mjs +287 -0
- package/dist/components/mobile-nav/mobile-nav.d.mts +12 -0
- package/dist/components/mobile-nav/mobile-nav.mjs +73 -0
- package/dist/components/mode-bar/index.d.mts +2 -0
- package/dist/components/mode-bar/mode-bar.d.mts +33 -0
- package/dist/components/mode-bar/mode-bar.mjs +115 -0
- package/dist/components/notification-center/index.d.mts +2 -0
- package/dist/components/notification-center/notification-center.d.mts +225 -0
- package/dist/components/notification-center/notification-center.mjs +340 -0
- package/dist/components/panel/index.d.mts +7 -0
- package/dist/components/panel/panel-action.d.mts +15 -0
- package/dist/components/panel/panel-action.mjs +23 -0
- package/dist/components/panel/panel-action.recipe.mjs +40 -0
- package/dist/components/panel/panel-header.d.mts +34 -0
- package/dist/components/panel/panel-header.mjs +135 -0
- package/dist/components/panel/panel-header.recipe.mjs +78 -0
- package/dist/components/panel/panel-notice.d.mts +16 -0
- package/dist/components/panel/panel-notice.mjs +77 -0
- package/dist/components/panel/panel-split-action.d.mts +34 -0
- package/dist/components/panel/panel-split-action.mjs +69 -0
- package/dist/components/panel/panel-split-action.recipe.mjs +53 -0
- package/dist/components/panel/panel-toggle-action.d.mts +6 -0
- package/dist/components/panel/panel-toggle-action.mjs +15 -0
- package/dist/components/panel/panel.d.mts +25 -0
- package/dist/components/panel/panel.mjs +96 -0
- package/dist/components/panel/panel.recipe.mjs +24 -0
- package/dist/components/picker-trigger-button/index.d.mts +2 -0
- package/dist/components/picker-trigger-button/picker-trigger-button.d.mts +7 -0
- package/dist/components/picker-trigger-button/picker-trigger-button.mjs +36 -0
- package/dist/components/popover/index.d.mts +2 -0
- package/dist/components/popover/popover.d.mts +41 -0
- package/dist/components/popover/popover.mjs +184 -0
- package/dist/components/preview-card/index.d.mts +2 -0
- package/dist/components/preview-card/preview-card.d.mts +43 -0
- package/dist/components/preview-card/preview-card.mjs +197 -0
- package/dist/components/profile-panel/index.d.mts +2 -0
- package/dist/components/profile-panel/profile-panel.d.mts +14 -0
- package/dist/components/profile-panel/profile-panel.mjs +46 -0
- package/dist/components/profile-panel/profile-panel.recipe.mjs +14 -0
- package/dist/components/progress/index.d.mts +2 -0
- package/dist/components/progress/progress.d.mts +119 -0
- package/dist/components/progress/progress.mjs +139 -0
- package/dist/components/pull-to-refresh/index.d.mts +4 -0
- package/dist/components/pull-to-refresh/pull-to-refresh-gesture.d.mts +30 -0
- package/dist/components/pull-to-refresh/pull-to-refresh-gesture.mjs +134 -0
- package/dist/components/pull-to-refresh/pull-to-refresh-indicator.d.mts +21 -0
- package/dist/components/pull-to-refresh/pull-to-refresh-indicator.mjs +153 -0
- package/dist/components/pull-to-refresh/pull-to-refresh-material-progress.mjs +150 -0
- package/dist/components/pull-to-refresh/use-pull-to-refresh.d.mts +55 -0
- package/dist/components/pull-to-refresh/use-pull-to-refresh.mjs +156 -0
- package/dist/components/radio-group/index.d.mts +2 -0
- package/dist/components/radio-group/radio-group.d.mts +14 -0
- package/dist/components/radio-group/radio-group.mjs +59 -0
- package/dist/components/resizable/index.d.mts +2 -0
- package/dist/components/resizable/resizable.d.mts +15 -0
- package/dist/components/resizable/resizable.mjs +39 -0
- package/dist/components/resizable/resizable.recipe.mjs +24 -0
- package/dist/components/scroll-area/index.d.mts +2 -0
- package/dist/components/scroll-area/scroll-area.d.mts +17 -0
- package/dist/components/scroll-area/scroll-area.mjs +55 -0
- package/dist/components/scroll-area/scroll-area.recipe.mjs +23 -0
- package/dist/components/search/index.d.mts +6 -0
- package/dist/components/search/search-entity.d.mts +24 -0
- package/dist/components/search/search-entity.mjs +106 -0
- package/dist/components/search/search-entity.recipe.mjs +41 -0
- package/dist/components/search/search-message.d.mts +25 -0
- package/dist/components/search/search-message.mjs +115 -0
- package/dist/components/search/search-message.recipe.mjs +32 -0
- package/dist/components/search/search-thread.d.mts +17 -0
- package/dist/components/search/search-thread.mjs +79 -0
- package/dist/components/search/search-thread.recipe.mjs +16 -0
- package/dist/components/search/search-trigger.d.mts +15 -0
- package/dist/components/search/search-trigger.mjs +59 -0
- package/dist/components/search/search.d.mts +23 -0
- package/dist/components/search/search.mjs +88 -0
- package/dist/components/search/search.recipe.mjs +22 -0
- package/dist/components/segmented-control/index.d.mts +2 -0
- package/dist/components/segmented-control/segmented-control.d.mts +38 -0
- package/dist/components/segmented-control/segmented-control.mjs +306 -0
- package/dist/components/select/index.d.mts +2 -0
- package/dist/components/select/select.d.mts +95 -0
- package/dist/components/select/select.mjs +483 -0
- package/dist/components/separator/index.d.mts +2 -0
- package/dist/components/separator/separator.d.mts +10 -0
- package/dist/components/separator/separator.mjs +49 -0
- package/dist/components/sidebar/index.d.mts +5 -0
- package/dist/components/sidebar/sidebar-item.d.mts +64 -0
- package/dist/components/sidebar/sidebar-item.mjs +201 -0
- package/dist/components/sidebar/sidebar-item.recipe.mjs +100 -0
- package/dist/components/sidebar/sidebar-menu.d.mts +13 -0
- package/dist/components/sidebar/sidebar-menu.mjs +67 -0
- package/dist/components/sidebar/sidebar-menu.recipe.mjs +22 -0
- package/dist/components/sidebar/sidebar-section.d.mts +41 -0
- package/dist/components/sidebar/sidebar-section.mjs +164 -0
- package/dist/components/sidebar/sidebar-section.recipe.mjs +45 -0
- package/dist/components/sidebar/sidebar.d.mts +17 -0
- package/dist/components/sidebar/sidebar.mjs +149 -0
- package/dist/components/sidebar/sidebar.recipe.mjs +37 -0
- package/dist/components/skeleton/index.d.mts +2 -0
- package/dist/components/skeleton/skeleton.d.mts +50 -0
- package/dist/components/skeleton/skeleton.mjs +29 -0
- package/dist/components/spinner/index.d.mts +2 -0
- package/dist/components/spinner/spinner.d.mts +77 -0
- package/dist/components/spinner/spinner.mjs +118 -0
- package/dist/components/status/index.d.mts +2 -0
- package/dist/components/status/status.d.mts +143 -0
- package/dist/components/status/status.mjs +56 -0
- package/dist/components/steps/index.d.mts +3 -0
- package/dist/components/steps/otter-indicator.d.mts +17 -0
- package/dist/components/steps/otter-indicator.mjs +331 -0
- package/dist/components/steps/steps.d.mts +50 -0
- package/dist/components/steps/steps.mjs +174 -0
- package/dist/components/switch/index.d.mts +2 -0
- package/dist/components/switch/switch.d.mts +9 -0
- package/dist/components/switch/switch.mjs +50 -0
- package/dist/components/system-message/index.d.mts +2 -0
- package/dist/components/system-message/system-message.d.mts +27 -0
- package/dist/components/system-message/system-message.mjs +113 -0
- package/dist/components/system-message/system-message.recipe.mjs +34 -0
- package/dist/components/table/index.d.mts +2 -0
- package/dist/components/table/table.d.mts +35 -0
- package/dist/components/table/table.mjs +102 -0
- package/dist/components/table/table.recipe.mjs +31 -0
- package/dist/components/tabs/index.d.mts +2 -0
- package/dist/components/tabs/tabs.d.mts +185 -0
- package/dist/components/tabs/tabs.mjs +528 -0
- package/dist/components/task-board/index.d.mts +2 -0
- package/dist/components/task-board/task-board-column.recipe.mjs +46 -0
- package/dist/components/task-board/task-board.d.mts +40 -0
- package/dist/components/task-board/task-board.mjs +155 -0
- package/dist/components/task-card/index.d.mts +2 -0
- package/dist/components/task-card/task-card-status.recipe.mjs +17 -0
- package/dist/components/task-card/task-card.d.mts +30 -0
- package/dist/components/task-card/task-card.mjs +141 -0
- package/dist/components/task-card/task-card.recipe.mjs +39 -0
- package/dist/components/task-dnd/index.d.mts +2 -0
- package/dist/components/task-dnd/task-dnd.d.mts +75 -0
- package/dist/components/task-dnd/task-dnd.mjs +341 -0
- package/dist/components/task-dnd/task-dnd.recipe.mjs +20 -0
- package/dist/components/task-list/index.d.mts +2 -0
- package/dist/components/task-list/task-list-section.recipe.mjs +37 -0
- package/dist/components/task-list/task-list.d.mts +34 -0
- package/dist/components/task-list/task-list.mjs +119 -0
- package/dist/components/tasks/index.d.mts +7 -0
- package/dist/components/tasks/task-chip.d.mts +14 -0
- package/dist/components/tasks/task-chip.mjs +81 -0
- package/dist/components/tasks/task-loading.d.mts +7 -0
- package/dist/components/tasks/task-loading.mjs +32 -0
- package/dist/components/tasks/task-loading.recipe.mjs +8 -0
- package/dist/components/tasks/task-status-badge.d.mts +24 -0
- package/dist/components/tasks/task-status-badge.mjs +24 -0
- package/dist/components/tasks/task-status-icon.d.mts +13 -0
- package/dist/components/tasks/task-status-icon.mjs +90 -0
- package/dist/components/tasks/task-status.recipe.d.mts +62 -0
- package/dist/components/tasks/task-status.recipe.mjs +33 -0
- package/dist/components/tasks/tasks-panel.d.mts +22 -0
- package/dist/components/tasks/tasks-panel.mjs +114 -0
- package/dist/components/tasks/tasks-panel.recipe.mjs +36 -0
- package/dist/components/text/index.d.mts +2 -0
- package/dist/components/text/text.d.mts +186 -0
- package/dist/components/text/text.mjs +114 -0
- package/dist/components/text-link/index.d.mts +2 -0
- package/dist/components/text-link/text-link.d.mts +36 -0
- package/dist/components/text-link/text-link.mjs +60 -0
- package/dist/components/text-selection-toolbar/index.d.mts +3 -0
- package/dist/components/text-selection-toolbar/text-selection-anchor.d.mts +22 -0
- package/dist/components/text-selection-toolbar/text-selection-anchor.mjs +106 -0
- package/dist/components/text-selection-toolbar/text-selection-toolbar.d.mts +20 -0
- package/dist/components/text-selection-toolbar/text-selection-toolbar.mjs +41 -0
- package/dist/components/text-selection-toolbar/text-selection-toolbar.recipe.mjs +19 -0
- package/dist/components/textarea/index.d.mts +2 -0
- package/dist/components/textarea/textarea.d.mts +16 -0
- package/dist/components/textarea/textarea.mjs +62 -0
- package/dist/components/thread-panel/index.d.mts +2 -0
- package/dist/components/thread-panel/thread-panel.d.mts +31 -0
- package/dist/components/thread-panel/thread-panel.mjs +162 -0
- package/dist/components/thread-panel/thread-panel.recipe.mjs +36 -0
- package/dist/components/timeline/index.d.mts +2 -0
- package/dist/components/timeline/timeline.d.mts +44 -0
- package/dist/components/timeline/timeline.mjs +81 -0
- package/dist/components/toast/index.d.mts +2 -0
- package/dist/components/toast/toast.d.mts +263 -0
- package/dist/components/toast/toast.mjs +556 -0
- package/dist/components/toggle-group/index.d.mts +2 -0
- package/dist/components/toggle-group/toggle-group.d.mts +15 -0
- package/dist/components/toggle-group/toggle-group.mjs +64 -0
- package/dist/components/tooltip/index.d.mts +2 -0
- package/dist/components/tooltip/tooltip.d.mts +18 -0
- package/dist/components/tooltip/tooltip.mjs +197 -0
- package/dist/components/virtual-list/ItemColumns.mjs +37 -0
- package/dist/components/virtual-list/VirtualList.d.mts +4 -0
- package/dist/components/virtual-list/VirtualList.mjs +1401 -0
- package/dist/components/virtual-list/VirtualListContext.mjs +5 -0
- package/dist/components/virtual-list/hooks/use-event-callback.mjs +10 -0
- package/dist/components/virtual-list/hooks/use-ios-momentum-compensation.mjs +148 -0
- package/dist/components/virtual-list/hooks/use-keyboard-scroll.mjs +42 -0
- package/dist/components/virtual-list/hooks/use-latest-ref.mjs +10 -0
- package/dist/components/virtual-list/hooks/use-layout-effect-with-previous.mjs +16 -0
- package/dist/components/virtual-list/hooks/use-memo-with-previous.mjs +22 -0
- package/dist/components/virtual-list/hooks/use-non-passive-wheel.mjs +23 -0
- package/dist/components/virtual-list/hooks/use-non-virtual-content-resize.mjs +28 -0
- package/dist/components/virtual-list/hooks/use-scroll-anchor.mjs +55 -0
- package/dist/components/virtual-list/index.d.mts +5 -0
- package/dist/components/virtual-list/public-types.d.mts +341 -0
- package/dist/components/virtual-list/resize-observer/ResizeObserverWrapper.d.mts +5 -0
- package/dist/components/virtual-list/resize-observer/ResizeObserverWrapper.mjs +70 -0
- package/dist/components/virtual-list/resize-observer/resize-observer-delegate.d.mts +6 -0
- package/dist/components/virtual-list/resize-observer/resize-observer-delegate.mjs +54 -0
- package/dist/components/virtual-list/utils/align.mjs +19 -0
- package/dist/components/virtual-list/utils/constants.mjs +30 -0
- package/dist/components/virtual-list/utils/fenwick-tree.mjs +66 -0
- package/dist/components/virtual-list/utils/items-anchor.mjs +49 -0
- package/dist/components/virtual-list/utils/measure.mjs +77 -0
- package/dist/components/virtual-list/utils/platform.mjs +39 -0
- package/dist/components/virtual-list/utils/range.mjs +103 -0
- package/dist/components/virtual-list/utils/size-cache.mjs +35 -0
- package/dist/components/workspace-button/index.d.mts +2 -0
- package/dist/components/workspace-button/workspace-button.d.mts +9 -0
- package/dist/components/workspace-button/workspace-button.mjs +28 -0
- package/dist/index.d.mts +239 -4864
- package/dist/index.mjs +142 -17054
- package/dist/lib/chip-remove.mjs +17 -0
- package/dist/lib/data-attributes.d.mts +5 -0
- package/dist/lib/decision-width.mjs +9 -0
- package/dist/lib/default-native-button.mjs +8 -0
- package/dist/lib/desktop-media.mjs +10 -0
- package/dist/lib/drag-escape.mjs +37 -0
- package/dist/lib/frame-insets.mjs +127 -0
- package/dist/lib/head-edges.mjs +44 -0
- package/dist/lib/hud-text-action.mjs +10 -0
- package/dist/lib/inline-chip.mjs +30 -0
- package/dist/lib/input-modality.d.mts +36 -0
- package/dist/lib/input-modality.mjs +186 -0
- package/dist/lib/list-cell.mjs +21 -0
- package/dist/lib/located.d.mts +25 -0
- package/dist/lib/located.mjs +28 -0
- package/dist/lib/overlay-depth.d.mts +42 -0
- package/dist/lib/overlay-depth.mjs +59 -0
- package/dist/lib/phone-media.mjs +24 -0
- package/dist/lib/presence.d.mts +16 -0
- package/dist/lib/presence.mjs +16 -0
- package/dist/lib/row-tone.d.mts +8 -0
- package/dist/lib/search-hit.mjs +18 -0
- package/dist/lib/stacked-actions.mjs +112 -0
- package/dist/lib/styled-props.d.mts +15 -0
- package/dist/lib/tap-activation.mjs +133 -0
- package/dist/lib/theme/theme-context.d.mts +10 -0
- package/dist/lib/theme/theme-context.mjs +9 -0
- package/dist/lib/theme/theme-provider.d.mts +23 -0
- package/dist/lib/theme/theme-provider.mjs +61 -0
- package/dist/lib/theme/theme-scope.mjs +19 -0
- package/dist/lib/theme/use-theme.d.mts +5 -0
- package/dist/lib/theme/use-theme.mjs +9 -0
- package/dist/lib/touch-drag.d.mts +55 -0
- package/dist/lib/touch-drag.mjs +151 -0
- package/dist/lib/truncation.d.mts +26 -0
- package/dist/lib/truncation.mjs +153 -0
- package/dist/lib/tv.d.mts +2 -0
- package/dist/lib/tv.mjs +14 -0
- package/dist/lib/use-copy-to-clipboard.mjs +58 -0
- package/dist/lib/use-merged-ref.mjs +60 -0
- package/dist/lib/use-mobile-viewport.mjs +17 -0
- package/dist/lib/use-overflow-title.mjs +49 -0
- package/dist/lib/use-scrollbar-size.d.mts +16 -0
- package/dist/lib/use-scrollbar-size.mjs +46 -0
- package/dist/lib/use-truncated.d.mts +20 -0
- package/dist/lib/use-truncated.mjs +34 -0
- package/dist/lib/without-children.d.mts +8 -0
- package/dist/wip.d.mts +61 -1190
- package/dist/wip.mjs +43 -2970
- package/package.json +8 -1
- package/dist/index-C3ymUW98.d.mts +0 -1816
- package/dist/mode-bar-tGnYByXp.mjs +0 -7564
- package/dist/style.css +0 -1395
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { listColumnMargin } from "../../lib/head-edges.mjs";
|
|
2
|
+
import { tv } from "../../lib/tv.mjs";
|
|
3
|
+
//#region src/components/search/search.recipe.ts
|
|
4
|
+
const search = tv({ slots: {
|
|
5
|
+
frame: [
|
|
6
|
+
"flex h-full min-h-0 flex-1 flex-col",
|
|
7
|
+
"bg-layer-canvas text-foreground",
|
|
8
|
+
listColumnMargin
|
|
9
|
+
],
|
|
10
|
+
filtersRow: ["shrink-0", "border-b border-line-seam bg-layer-canvas px-(--column-margin) py-3"],
|
|
11
|
+
viewport: ["min-h-0 flex-1 overflow-y-auto scrollbar-list p-4", "bg-layer-canvas px-0 pt-0 pb-4"],
|
|
12
|
+
summary: ["block", "mb-0 px-5 pt-2 font-sans text-footnote text-foreground-hint"],
|
|
13
|
+
section: ["mb-0"],
|
|
14
|
+
sectionHeading: [
|
|
15
|
+
"py-2",
|
|
16
|
+
"flex items-center gap-2 px-5 pt-3 pb-0",
|
|
17
|
+
"font-sans text-footnote font-bold text-foreground-hint"
|
|
18
|
+
],
|
|
19
|
+
list: ["flex flex-col", "gap-0.5 py-2"]
|
|
20
|
+
} });
|
|
21
|
+
//#endregion
|
|
22
|
+
export { search };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { SegmentedControl, SegmentedControlCount, SegmentedControlCountProps, SegmentedControlIconsOnlyBelow, SegmentedControlIconsOnlyPreset, SegmentedControlItem, SegmentedControlItemProps, SegmentedControlLabel, SegmentedControlLabelProps, SegmentedControlProps } from "./segmented-control.mjs";
|
|
2
|
+
export { SegmentedControl, SegmentedControlCount, type SegmentedControlCountProps, type SegmentedControlIconsOnlyBelow, type SegmentedControlIconsOnlyPreset, SegmentedControlItem, type SegmentedControlItemProps, SegmentedControlLabel, type SegmentedControlLabelProps, type SegmentedControlProps };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { StyledProps } from "../../lib/styled-props.mjs";
|
|
2
|
+
import { ComponentPropsWithRef } from "react";
|
|
3
|
+
import { Radio } from "@base-ui/react/radio";
|
|
4
|
+
import { RadioGroup } from "@base-ui/react/radio-group";
|
|
5
|
+
//#region src/components/segmented-control/segmented-control.d.ts
|
|
6
|
+
/** Tailwind's container sizes, `@xs` (20rem) to `@2xl` (42rem). */
|
|
7
|
+
export type SegmentedControlIconsOnlyPreset = "xs" | "sm" | "md" | "lg" | "xl" | "2xl";
|
|
8
|
+
/**
|
|
9
|
+
* When the segments show only their icons: `auto` when their labels don't fit
|
|
10
|
+
* the width the control is given, a container size preset, or a CSS length
|
|
11
|
+
* (`px`, `rem` or `em`) the row is narrower than.
|
|
12
|
+
*/
|
|
13
|
+
export type SegmentedControlIconsOnlyBelow = "auto" | SegmentedControlIconsOnlyPreset | `${number}px` | `${number}rem` | `${number}em`;
|
|
14
|
+
export type SegmentedControlProps<T extends string = string> = StyledProps<RadioGroup.Props<T>> & {
|
|
15
|
+
/**
|
|
16
|
+
* When every segment shows only its icon (give each one); its label stays
|
|
17
|
+
* the accessible name and shows in a tooltip. `auto`: when the labelled
|
|
18
|
+
* segments don't fit the width the control is given. A preset (`xs` to
|
|
19
|
+
* `2xl`) or a CSS length (`"18.5rem"`, `"296px"`): when the nearest
|
|
20
|
+
* `@container` ancestor (the row the control sits in) is narrower than it.
|
|
21
|
+
*/
|
|
22
|
+
iconsOnlyBelow?: SegmentedControlIconsOnlyBelow;
|
|
23
|
+
/**
|
|
24
|
+
* `on-frame` in the frame (a top bar): the track the frame's medium fill and
|
|
25
|
+
* the selected segment in the frame's active colours (white on the yellow
|
|
26
|
+
* frame, yellow on the dark one), since a yellow sticker on yellow would
|
|
27
|
+
* not read as selected.
|
|
28
|
+
*/
|
|
29
|
+
variant?: "default" | "on-frame";
|
|
30
|
+
};
|
|
31
|
+
export declare function SegmentedControl<T extends string = string>({ disabled, iconsOnlyBelow, variant, className, ref, ...props }: SegmentedControlProps<T>): import("react").JSX.Element;
|
|
32
|
+
export type SegmentedControlItemProps<T extends string = string> = StyledProps<Radio.Root.Props<T>>;
|
|
33
|
+
export declare function SegmentedControlItem<T extends string = string>({ className, ref, ...props }: SegmentedControlItemProps<T>): import("react").JSX.Element;
|
|
34
|
+
export type SegmentedControlLabelProps = ComponentPropsWithRef<"span">;
|
|
35
|
+
export declare function SegmentedControlLabel({ className, ...props }: SegmentedControlLabelProps): import("react").JSX.Element;
|
|
36
|
+
export type SegmentedControlCountProps = ComponentPropsWithRef<"span">;
|
|
37
|
+
export declare function SegmentedControlCount({ className, ...props }: SegmentedControlCountProps): import("react").JSX.Element;
|
|
38
|
+
//#endregion
|
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
import { tv } from "../../lib/tv.mjs";
|
|
2
|
+
import { useTapActivation } from "../../lib/tap-activation.mjs";
|
|
3
|
+
import { useMergedRef } from "../../lib/use-merged-ref.mjs";
|
|
4
|
+
import { Tooltip, TooltipContent, TooltipTrigger } from "../tooltip/tooltip.mjs";
|
|
5
|
+
import { createContext, use, useCallback, useLayoutEffect, useRef, useState } from "react";
|
|
6
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
import { Radio } from "@base-ui/react/radio";
|
|
8
|
+
import { RadioGroup } from "@base-ui/react/radio-group";
|
|
9
|
+
//#region src/components/segmented-control/segmented-control.tsx
|
|
10
|
+
const segmentedControl = tv({
|
|
11
|
+
slots: {
|
|
12
|
+
root: [
|
|
13
|
+
"inline-flex min-w-0 items-center",
|
|
14
|
+
"w-fit max-w-full flex-nowrap gap-[3px] rounded-[11px] bg-fill-muted p-[3px]",
|
|
15
|
+
"data-overflowing:overflow-x-auto data-overflowing:overscroll-x-contain data-overflowing:scrollbar-none"
|
|
16
|
+
],
|
|
17
|
+
item: [
|
|
18
|
+
"inline-flex min-w-0 shrink-0 items-center gap-1.5",
|
|
19
|
+
"outline-none disabled:pointer-events-none",
|
|
20
|
+
"[&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
21
|
+
"h-8 justify-center rounded-control border-[1.5px] border-transparent bg-transparent px-3",
|
|
22
|
+
"font-sans text-callout font-semibold text-foreground-muted",
|
|
23
|
+
"[&_svg:not([class*='size-'])]:size-4",
|
|
24
|
+
"hover:bg-fill-medium active:bg-fill-medium",
|
|
25
|
+
"data-checked:border-sticker-ink data-checked:bg-selected data-checked:font-bold data-checked:text-sticker-ink data-checked:ring-[1.5px] data-checked:ring-sticker-edge",
|
|
26
|
+
"data-checked:hover:bg-selected data-checked:active:bg-selected data-checked:active:overlay-sticker-medium",
|
|
27
|
+
"focus-visible:shadow-focus",
|
|
28
|
+
"data-disabled:cursor-not-allowed data-disabled:text-foreground-disabled data-disabled:hover:bg-transparent"
|
|
29
|
+
],
|
|
30
|
+
label: ["truncate"],
|
|
31
|
+
count: ["font-mono", "text-mono-meta font-normal"]
|
|
32
|
+
},
|
|
33
|
+
variants: {
|
|
34
|
+
variant: {
|
|
35
|
+
default: {},
|
|
36
|
+
"on-frame": { root: [
|
|
37
|
+
"bg-fill-frame-medium",
|
|
38
|
+
"**:data-[slot=segmented-control-item]:text-foreground-on-frame-muted **:data-[slot=segmented-control-item]:hover:text-foreground-on-frame",
|
|
39
|
+
"**:data-[slot=segmented-control-item]:hover:bg-transparent **:data-[slot=segmented-control-item]:hover:overlay-frame-medium **:data-[slot=segmented-control-item]:active:bg-transparent **:data-[slot=segmented-control-item]:active:overlay-frame-medium",
|
|
40
|
+
"**:data-[slot=segmented-control-item]:data-checked:border-line-frame-active **:data-[slot=segmented-control-item]:data-checked:bg-layer-frame-active **:data-[slot=segmented-control-item]:data-checked:text-foreground-on-frame-active",
|
|
41
|
+
"**:data-[slot=segmented-control-item]:data-checked:hover:bg-layer-frame-active **:data-[slot=segmented-control-item]:data-checked:hover:bg-none **:data-[slot=segmented-control-item]:data-checked:active:bg-layer-frame-active"
|
|
42
|
+
] }
|
|
43
|
+
},
|
|
44
|
+
iconsOnlyBelow: {
|
|
45
|
+
xs: { root: ["@max-xs:**:data-[slot=segmented-control-item]:relative @max-xs:**:data-[slot=segmented-control-item]:w-8 @max-xs:**:data-[slot=segmented-control-item]:px-0", "@max-xs:**:data-[slot=segmented-control-label]:sr-only @max-xs:**:data-[slot=segmented-control-count]:sr-only"] },
|
|
46
|
+
sm: { root: ["@max-sm:**:data-[slot=segmented-control-item]:relative @max-sm:**:data-[slot=segmented-control-item]:w-8 @max-sm:**:data-[slot=segmented-control-item]:px-0", "@max-sm:**:data-[slot=segmented-control-label]:sr-only @max-sm:**:data-[slot=segmented-control-count]:sr-only"] },
|
|
47
|
+
md: { root: ["@max-md:**:data-[slot=segmented-control-item]:relative @max-md:**:data-[slot=segmented-control-item]:w-8 @max-md:**:data-[slot=segmented-control-item]:px-0", "@max-md:**:data-[slot=segmented-control-label]:sr-only @max-md:**:data-[slot=segmented-control-count]:sr-only"] },
|
|
48
|
+
lg: { root: ["@max-lg:**:data-[slot=segmented-control-item]:relative @max-lg:**:data-[slot=segmented-control-item]:w-8 @max-lg:**:data-[slot=segmented-control-item]:px-0", "@max-lg:**:data-[slot=segmented-control-label]:sr-only @max-lg:**:data-[slot=segmented-control-count]:sr-only"] },
|
|
49
|
+
xl: { root: ["@max-xl:**:data-[slot=segmented-control-item]:relative @max-xl:**:data-[slot=segmented-control-item]:w-8 @max-xl:**:data-[slot=segmented-control-item]:px-0", "@max-xl:**:data-[slot=segmented-control-label]:sr-only @max-xl:**:data-[slot=segmented-control-count]:sr-only"] },
|
|
50
|
+
"2xl": { root: ["@max-2xl:**:data-[slot=segmented-control-item]:relative @max-2xl:**:data-[slot=segmented-control-item]:w-8 @max-2xl:**:data-[slot=segmented-control-item]:px-0", "@max-2xl:**:data-[slot=segmented-control-label]:sr-only @max-2xl:**:data-[slot=segmented-control-count]:sr-only"] }
|
|
51
|
+
},
|
|
52
|
+
iconsOnlyMeasured: { true: { root: ["data-icons-only:**:data-[slot=segmented-control-item]:relative data-icons-only:**:data-[slot=segmented-control-item]:w-8 data-icons-only:**:data-[slot=segmented-control-item]:px-0", "data-icons-only:**:data-[slot=segmented-control-label]:sr-only data-icons-only:**:data-[slot=segmented-control-count]:sr-only"] } }
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
const ICONS_ONLY_PRESETS = /* @__PURE__ */ new Set([
|
|
56
|
+
"xs",
|
|
57
|
+
"sm",
|
|
58
|
+
"md",
|
|
59
|
+
"lg",
|
|
60
|
+
"xl",
|
|
61
|
+
"2xl"
|
|
62
|
+
]);
|
|
63
|
+
function isIconsOnlyPreset(value) {
|
|
64
|
+
return value !== void 0 && ICONS_ONLY_PRESETS.has(value);
|
|
65
|
+
}
|
|
66
|
+
const SegmentedControlIconsOnlyContext = createContext(false);
|
|
67
|
+
/**
|
|
68
|
+
* A length threshold in CSS pixels, or `undefined` for a value that isn't a
|
|
69
|
+
* `px`, `rem` or `em` length. `em` is the container's font size, as in a
|
|
70
|
+
* container query.
|
|
71
|
+
*/
|
|
72
|
+
function lengthToPx(value, container) {
|
|
73
|
+
const match = /^(\d*\.?\d+)(px|rem|em)$/.exec(value.trim());
|
|
74
|
+
if (!match) return void 0;
|
|
75
|
+
const amount = Number(match[1]);
|
|
76
|
+
if (match[2] === "px") return amount;
|
|
77
|
+
const fontOf = match[2] === "rem" ? document.documentElement : container;
|
|
78
|
+
return amount * parseFloat(getComputedStyle(fontOf).fontSize);
|
|
79
|
+
}
|
|
80
|
+
/** The nearest size container above the track, as a container query finds it; else its parent. */
|
|
81
|
+
function queryContainerOf(track) {
|
|
82
|
+
for (let el = track.parentElement; el; el = el.parentElement) if (getComputedStyle(el).containerType !== "normal") return el;
|
|
83
|
+
return track.parentElement;
|
|
84
|
+
}
|
|
85
|
+
function contentInlineSize(el) {
|
|
86
|
+
const style = getComputedStyle(el);
|
|
87
|
+
return el.clientWidth - parseFloat(style.paddingLeft) - parseFloat(style.paddingRight);
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Whether the labelled segments fit the track's box: the segments, first to
|
|
91
|
+
* last, and the track's padding take no more than its `clientWidth` (half a
|
|
92
|
+
* pixel of rounding aside; `scrollWidth` would let the last segment eat into
|
|
93
|
+
* the end padding first, and Base UI's visually hidden radio inputs must not
|
|
94
|
+
* count), and no label is truncated (a track stretched with `*:flex-1`
|
|
95
|
+
* shrinks its labels instead). Measured in the labelled layout
|
|
96
|
+
* whatever the control shows now: the attribute comes off for the read and
|
|
97
|
+
* goes back before anything paints. The track is `w-fit max-w-full min-w-0`,
|
|
98
|
+
* so its box is the width it is given, a shrinking flex item's included,
|
|
99
|
+
* never more than its labels need: the answer depends only on the room
|
|
100
|
+
* around it, not on what it shows, and so can't flap at the boundary.
|
|
101
|
+
*/
|
|
102
|
+
function labelsFit(track) {
|
|
103
|
+
const iconsOnly = track.hasAttribute("data-icons-only");
|
|
104
|
+
if (iconsOnly) track.removeAttribute("data-icons-only");
|
|
105
|
+
const segments = Array.from(track.querySelectorAll(":scope > [data-slot=segmented-control-item]"));
|
|
106
|
+
let fits = true;
|
|
107
|
+
if (segments.length > 0) {
|
|
108
|
+
const style = getComputedStyle(track);
|
|
109
|
+
fits = segments[segments.length - 1].getBoundingClientRect().right - segments[0].getBoundingClientRect().left + parseFloat(style.paddingLeft) + parseFloat(style.paddingRight) - track.clientWidth <= .5;
|
|
110
|
+
}
|
|
111
|
+
if (fits) {
|
|
112
|
+
for (const label of Array.from(track.querySelectorAll("[data-slot=segmented-control-label]"))) if (label.scrollWidth - label.clientWidth > 1) {
|
|
113
|
+
fits = false;
|
|
114
|
+
break;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
if (iconsOnly) track.setAttribute("data-icons-only", "");
|
|
118
|
+
return fits;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Lays the track out and reports whether its segments run past its box. The
|
|
122
|
+
* track comes from a callback ref, so a swapped element is measured too.
|
|
123
|
+
*
|
|
124
|
+
* With `iconsOnlyBelow="auto"` or a length, it decides here whether the
|
|
125
|
+
* segments show only their icons, and sets `data-icons-only` on the track
|
|
126
|
+
* (the presets are container queries in CSS and need nothing here). The
|
|
127
|
+
* decision is taken synchronously, in the layout effect and in the observers'
|
|
128
|
+
* callbacks, so the first frame and every resize paint the right layout.
|
|
129
|
+
* Taken again when the track, a segment, the element it is measured against
|
|
130
|
+
* (the parent for `auto`, the container for a length) or one of that
|
|
131
|
+
* element's children resizes or comes and goes, a label, a count or the
|
|
132
|
+
* selection changes, or a web font arrives.
|
|
133
|
+
*
|
|
134
|
+
* The overflow is the track's own `scrollWidth` against its `clientWidth`
|
|
135
|
+
* after that decision, measured in the next frame.
|
|
136
|
+
*/
|
|
137
|
+
function useTrackFit(track, iconsOnlyBelow) {
|
|
138
|
+
const [overflowing, setOverflowing] = useState(false);
|
|
139
|
+
const measured = iconsOnlyBelow !== void 0 && !isIconsOnlyPreset(iconsOnlyBelow);
|
|
140
|
+
useLayoutEffect(() => {
|
|
141
|
+
if (!track || typeof ResizeObserver === "undefined") return void 0;
|
|
142
|
+
const reference = !measured ? null : iconsOnlyBelow === "auto" ? track.parentElement : queryContainerOf(track);
|
|
143
|
+
if (measured && iconsOnlyBelow !== "auto" && reference && lengthToPx(iconsOnlyBelow, reference) === void 0 && process.env.NODE_ENV !== "production") console.warn(`raft-ui: SegmentedControl iconsOnlyBelow="${iconsOnlyBelow}" is not a preset, "auto" or a px, rem or em length; the segments keep their labels.`);
|
|
144
|
+
const fitIcons = () => {
|
|
145
|
+
if (!measured) return;
|
|
146
|
+
let iconsOnly = false;
|
|
147
|
+
if (iconsOnlyBelow === "auto") iconsOnly = !labelsFit(track);
|
|
148
|
+
else if (reference) {
|
|
149
|
+
const threshold = lengthToPx(iconsOnlyBelow, reference);
|
|
150
|
+
iconsOnly = threshold !== void 0 && contentInlineSize(reference) < threshold;
|
|
151
|
+
}
|
|
152
|
+
if (iconsOnly !== track.hasAttribute("data-icons-only")) track.toggleAttribute("data-icons-only", iconsOnly);
|
|
153
|
+
};
|
|
154
|
+
let frame = 0;
|
|
155
|
+
const measure = () => {
|
|
156
|
+
frame = 0;
|
|
157
|
+
setOverflowing(track.scrollWidth - track.clientWidth > 1);
|
|
158
|
+
};
|
|
159
|
+
const schedule = () => {
|
|
160
|
+
if (frame === 0) frame = requestAnimationFrame(measure);
|
|
161
|
+
};
|
|
162
|
+
const update = () => {
|
|
163
|
+
fitIcons();
|
|
164
|
+
schedule();
|
|
165
|
+
};
|
|
166
|
+
const resize = new ResizeObserver(update);
|
|
167
|
+
const observeAll = () => {
|
|
168
|
+
resize.disconnect();
|
|
169
|
+
resize.observe(track);
|
|
170
|
+
for (const child of Array.from(track.children)) resize.observe(child);
|
|
171
|
+
if (reference) {
|
|
172
|
+
resize.observe(reference);
|
|
173
|
+
for (const child of Array.from(reference.children)) resize.observe(child);
|
|
174
|
+
}
|
|
175
|
+
};
|
|
176
|
+
observeAll();
|
|
177
|
+
const mutation = new MutationObserver(() => {
|
|
178
|
+
observeAll();
|
|
179
|
+
update();
|
|
180
|
+
});
|
|
181
|
+
mutation.observe(track, {
|
|
182
|
+
childList: true,
|
|
183
|
+
subtree: true,
|
|
184
|
+
characterData: true,
|
|
185
|
+
attributeFilter: ["data-checked"]
|
|
186
|
+
});
|
|
187
|
+
if (reference) mutation.observe(reference, { childList: true });
|
|
188
|
+
const fonts = typeof document === "undefined" ? void 0 : document.fonts;
|
|
189
|
+
fonts?.addEventListener("loadingdone", update);
|
|
190
|
+
fitIcons();
|
|
191
|
+
measure();
|
|
192
|
+
return () => {
|
|
193
|
+
if (frame !== 0) cancelAnimationFrame(frame);
|
|
194
|
+
resize.disconnect();
|
|
195
|
+
mutation.disconnect();
|
|
196
|
+
fonts?.removeEventListener("loadingdone", update);
|
|
197
|
+
track.removeAttribute("data-icons-only");
|
|
198
|
+
};
|
|
199
|
+
}, [
|
|
200
|
+
track,
|
|
201
|
+
measured,
|
|
202
|
+
iconsOnlyBelow
|
|
203
|
+
]);
|
|
204
|
+
return overflowing;
|
|
205
|
+
}
|
|
206
|
+
/** In development, warns when segments that may show only their icons have none. */
|
|
207
|
+
function useIconsOnlyWarning(ref, iconsOnlyBelow) {
|
|
208
|
+
useLayoutEffect(() => {
|
|
209
|
+
if (process.env.NODE_ENV === "production" || iconsOnlyBelow === void 0) return;
|
|
210
|
+
const items = ref.current?.querySelectorAll("[data-slot=segmented-control-item]") ?? [];
|
|
211
|
+
for (const item of Array.from(items)) if (!item.querySelector("svg, img")) {
|
|
212
|
+
console.warn("raft-ui: a SegmentedControl with iconsOnlyBelow has a segment with no icon; it would be left empty when the segments show only their icons. Give every segment an icon.");
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
}, [ref, iconsOnlyBelow]);
|
|
216
|
+
}
|
|
217
|
+
function SegmentedControl({ disabled = false, iconsOnlyBelow, variant = "default", className, ref, ...props }) {
|
|
218
|
+
const preset = isIconsOnlyPreset(iconsOnlyBelow);
|
|
219
|
+
const { root } = segmentedControl({
|
|
220
|
+
iconsOnlyBelow: preset ? iconsOnlyBelow : void 0,
|
|
221
|
+
iconsOnlyMeasured: iconsOnlyBelow !== void 0 && !preset ? true : void 0,
|
|
222
|
+
variant
|
|
223
|
+
});
|
|
224
|
+
const rootRef = useRef(null);
|
|
225
|
+
const [track, setTrack] = useState(null);
|
|
226
|
+
const [setRef] = useMergedRef(rootRef, setTrack, ref);
|
|
227
|
+
const overflowing = useTrackFit(track, iconsOnlyBelow);
|
|
228
|
+
useIconsOnlyWarning(rootRef, iconsOnlyBelow);
|
|
229
|
+
const value = props.value;
|
|
230
|
+
useLayoutEffect(() => {
|
|
231
|
+
const track = rootRef.current;
|
|
232
|
+
if (!overflowing || !track) return;
|
|
233
|
+
const checked = track.querySelector("[data-checked]");
|
|
234
|
+
if (!checked) return;
|
|
235
|
+
const trackLeft = track.getBoundingClientRect().left;
|
|
236
|
+
const box = checked.getBoundingClientRect();
|
|
237
|
+
const start = box.left - trackLeft + track.scrollLeft;
|
|
238
|
+
const end = start + box.width;
|
|
239
|
+
if (start < track.scrollLeft) track.scrollLeft = start;
|
|
240
|
+
else if (end > track.scrollLeft + track.clientWidth) track.scrollLeft = end - track.clientWidth;
|
|
241
|
+
}, [overflowing, value]);
|
|
242
|
+
return /* @__PURE__ */ jsx(SegmentedControlIconsOnlyContext, {
|
|
243
|
+
value: iconsOnlyBelow !== void 0,
|
|
244
|
+
children: /* @__PURE__ */ jsx(RadioGroup, {
|
|
245
|
+
ref: setRef,
|
|
246
|
+
disabled,
|
|
247
|
+
"data-slot": "segmented-control",
|
|
248
|
+
"data-overflowing": overflowing ? "" : void 0,
|
|
249
|
+
className: root({ className }),
|
|
250
|
+
...props
|
|
251
|
+
})
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
function SegmentedControlItem({ className, ref, ...props }) {
|
|
255
|
+
const { item } = segmentedControl();
|
|
256
|
+
const iconsOnly = use(SegmentedControlIconsOnlyContext);
|
|
257
|
+
const tapRef = useTapActivation();
|
|
258
|
+
const [setRef] = useMergedRef(tapRef, ref);
|
|
259
|
+
const radio = /* @__PURE__ */ jsx(Radio.Root, {
|
|
260
|
+
ref: setRef,
|
|
261
|
+
render: /* @__PURE__ */ jsx("button", { type: "button" }),
|
|
262
|
+
nativeButton: true,
|
|
263
|
+
"data-slot": "segmented-control-item",
|
|
264
|
+
className: item({ className: `group/segmented-control-item ${className ?? ""}`.trim() }),
|
|
265
|
+
...props
|
|
266
|
+
});
|
|
267
|
+
return iconsOnly ? /* @__PURE__ */ jsx(SegmentedControlItemTooltip, { children: radio }) : radio;
|
|
268
|
+
}
|
|
269
|
+
function SegmentedControlItemTooltip({ children }) {
|
|
270
|
+
const [text, setText] = useState("");
|
|
271
|
+
const triggerRef = useRef(null);
|
|
272
|
+
const handleOpenChange = useCallback((open, details) => {
|
|
273
|
+
if (!open) return;
|
|
274
|
+
const label = triggerRef.current?.querySelector("[data-slot=segmented-control-label]");
|
|
275
|
+
if (!label || label.getBoundingClientRect().width > 1) {
|
|
276
|
+
details.cancel();
|
|
277
|
+
return;
|
|
278
|
+
}
|
|
279
|
+
setText(label.textContent ?? "");
|
|
280
|
+
}, []);
|
|
281
|
+
return /* @__PURE__ */ jsxs(Tooltip, {
|
|
282
|
+
onOpenChange: handleOpenChange,
|
|
283
|
+
children: [/* @__PURE__ */ jsx(TooltipTrigger, {
|
|
284
|
+
ref: triggerRef,
|
|
285
|
+
render: children
|
|
286
|
+
}), /* @__PURE__ */ jsx(TooltipContent, { children: text })]
|
|
287
|
+
});
|
|
288
|
+
}
|
|
289
|
+
function SegmentedControlLabel({ className, ...props }) {
|
|
290
|
+
const { label } = segmentedControl();
|
|
291
|
+
return /* @__PURE__ */ jsx("span", {
|
|
292
|
+
"data-slot": "segmented-control-label",
|
|
293
|
+
className: label({ className }),
|
|
294
|
+
...props
|
|
295
|
+
});
|
|
296
|
+
}
|
|
297
|
+
function SegmentedControlCount({ className, ...props }) {
|
|
298
|
+
const { count } = segmentedControl();
|
|
299
|
+
return /* @__PURE__ */ jsx("span", {
|
|
300
|
+
"data-slot": "segmented-control-count",
|
|
301
|
+
className: count({ className }),
|
|
302
|
+
...props
|
|
303
|
+
});
|
|
304
|
+
}
|
|
305
|
+
//#endregion
|
|
306
|
+
export { SegmentedControl, SegmentedControlCount, SegmentedControlItem, SegmentedControlLabel };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { Select, SelectActionItem, SelectActionItemProps, SelectArrow, SelectArrowProps, SelectContent, SelectContentProps, SelectGroup, SelectGroupLabel, SelectGroupLabelProps, SelectGroupProps, SelectIcon, SelectIconProps, SelectItem, SelectItemDescription, SelectItemDescriptionProps, SelectItemIndicator, SelectItemIndicatorProps, SelectItemLeading, SelectItemLeadingProps, SelectItemProps, SelectItemText, SelectItemTextProps, SelectLabel, SelectLabelProps, SelectList, SelectListProps, SelectPopup, SelectPopupProps, SelectPortal, SelectPortalProps, SelectProps, SelectScrollDownArrow, SelectScrollDownArrowProps, SelectScrollUpArrow, SelectScrollUpArrowProps, SelectSeparator, SelectSeparatorProps, SelectTrigger, SelectTriggerProps, SelectValue, SelectValueProps } from "./select.mjs";
|
|
2
|
+
export { Select, SelectActionItem, type SelectActionItemProps, SelectArrow, type SelectArrowProps, SelectContent, type SelectContentProps, SelectGroup, SelectGroupLabel, type SelectGroupLabelProps, type SelectGroupProps, SelectIcon, type SelectIconProps, SelectItem, SelectItemDescription, type SelectItemDescriptionProps, SelectItemIndicator, type SelectItemIndicatorProps, SelectItemLeading, type SelectItemLeadingProps, type SelectItemProps, SelectItemText, type SelectItemTextProps, SelectLabel, type SelectLabelProps, SelectList, type SelectListProps, SelectPopup, type SelectPopupProps, SelectPortal, type SelectPortalProps, type SelectProps, SelectScrollDownArrow, type SelectScrollDownArrowProps, SelectScrollUpArrow, type SelectScrollUpArrowProps, SelectSeparator, type SelectSeparatorProps, SelectTrigger, type SelectTriggerProps, SelectValue, type SelectValueProps };
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { StyledProps } from "../../lib/styled-props.mjs";
|
|
2
|
+
import { DataAttributes } from "../../lib/data-attributes.mjs";
|
|
3
|
+
import { ComponentPropsWithRef } from "react";
|
|
4
|
+
import { Select } from "@base-ui/react/select";
|
|
5
|
+
//#region src/components/select/select.d.ts
|
|
6
|
+
export type SelectChrome = "default" | "field";
|
|
7
|
+
export type SelectProps<Value, Multiple extends boolean | undefined = false> = Select.Root.Props<Value, Multiple> & {
|
|
8
|
+
/**
|
|
9
|
+
* `field` opts this Select into the field metric axis, so it reads as a form
|
|
10
|
+
* field rather than a button. Defaults to `default`, leaving every existing
|
|
11
|
+
* Select untouched.
|
|
12
|
+
*/
|
|
13
|
+
chrome?: SelectChrome;
|
|
14
|
+
};
|
|
15
|
+
declare function Select$1<Value, Multiple extends boolean | undefined = false>({ chrome, onValueChange, onOpenChange, isItemEqualToValue, itemToStringLabel, itemToStringValue, ...props }: SelectProps<Value, Multiple>): import("react").JSX.Element;
|
|
16
|
+
export type SelectTriggerProps = StyledProps<Select.Trigger.Props> & DataAttributes;
|
|
17
|
+
export declare function SelectTrigger({ className, children, render, "data-invalid": dataInvalid, ...props }: SelectTriggerProps): import("react").JSX.Element;
|
|
18
|
+
export type SelectValueProps = StyledProps<Select.Value.Props>;
|
|
19
|
+
export declare function SelectValue({ className, ref, title, ...props }: SelectValueProps): import("react").JSX.Element;
|
|
20
|
+
export type SelectIconProps = StyledProps<Select.Icon.Props>;
|
|
21
|
+
export declare function SelectIcon({ className, children, ...props }: SelectIconProps): import("react").JSX.Element;
|
|
22
|
+
export type SelectPortalProps = Select.Portal.Props;
|
|
23
|
+
export declare function SelectPortal(props: SelectPortalProps): import("react").JSX.Element;
|
|
24
|
+
export type SelectPopupProps = ComponentPropsWithRef<"div">;
|
|
25
|
+
export declare function SelectPopup({ className, ...props }: SelectPopupProps): import("react").JSX.Element;
|
|
26
|
+
export type SelectContentProps = StyledProps<Select.Popup.Props> & Pick<Select.Positioner.Props, "align" | "alignItemWithTrigger" | "alignOffset" | "anchor" | "arrowPadding" | "collisionAvoidance" | "collisionBoundary" | "disableAnchorTracking" | "positionMethod" | "side" | "sideOffset" | "sticky"> & {
|
|
27
|
+
/**
|
|
28
|
+
* Additional space to maintain from the edge of the collision boundary: 8px
|
|
29
|
+
* from the window's edge, and 8px from a frame inset where a shell keeps one.
|
|
30
|
+
* A value you pass is kept as it is.
|
|
31
|
+
* @default 8
|
|
32
|
+
*/
|
|
33
|
+
collisionPadding?: Select.Positioner.Props["collisionPadding"];
|
|
34
|
+
portalProps?: SelectPortalProps;
|
|
35
|
+
};
|
|
36
|
+
export declare function SelectContent({ align, alignItemWithTrigger, alignOffset, anchor, arrowPadding, collisionAvoidance, collisionBoundary, collisionPadding, disableAnchorTracking, positionMethod, side, sideOffset, sticky, portalProps, className, ...props }: SelectContentProps): import("react").JSX.Element;
|
|
37
|
+
export type SelectListProps = StyledProps<Select.List.Props>;
|
|
38
|
+
export declare function SelectList({ className, ...props }: SelectListProps): import("react").JSX.Element;
|
|
39
|
+
export type SelectItemProps = StyledProps<Select.Item.Props>;
|
|
40
|
+
export declare function SelectItem({ className, ...props }: SelectItemProps): import("react").JSX.Element;
|
|
41
|
+
export type SelectItemLeadingProps = StyledProps<ComponentPropsWithRef<"span">>;
|
|
42
|
+
export declare function SelectItemLeading({ className, ...props }: SelectItemLeadingProps): import("react").JSX.Element;
|
|
43
|
+
export type SelectItemIndicatorProps = StyledProps<Select.ItemIndicator.Props>;
|
|
44
|
+
export declare function SelectItemIndicator({ className, children, ...props }: SelectItemIndicatorProps): import("react").JSX.Element;
|
|
45
|
+
export type SelectItemTextProps = StyledProps<Select.ItemText.Props>;
|
|
46
|
+
export declare function SelectItemText({ className, id, ref, title, ...props }: SelectItemTextProps): import("react").JSX.Element;
|
|
47
|
+
export type SelectItemDescriptionProps = StyledProps<ComponentPropsWithRef<"span">>;
|
|
48
|
+
/**
|
|
49
|
+
* A second line under an option's label: what it means, not its name again.
|
|
50
|
+
* It sits beside `SelectItemText`, not inside it, so the selected value in the
|
|
51
|
+
* trigger stays the label alone. The option grows to fit it.
|
|
52
|
+
*/
|
|
53
|
+
export declare function SelectItemDescription({ className, id, ...props }: SelectItemDescriptionProps): import("react").JSX.Element;
|
|
54
|
+
export type SelectActionItemProps = StyledProps<Omit<Select.Item.Props, "value" | "label" | "onClick">> & {
|
|
55
|
+
/**
|
|
56
|
+
* Runs when the row is pressed: clicked, or Enter or Space while it is
|
|
57
|
+
* highlighted. The row never becomes the Select's value and never calls
|
|
58
|
+
* `onValueChange`.
|
|
59
|
+
*/
|
|
60
|
+
onAction?: (event: Event) => void;
|
|
61
|
+
/**
|
|
62
|
+
* Whether pressing the row closes the list. Off by default: a list action
|
|
63
|
+
* such as Show All changes what the list shows, so the list stays open.
|
|
64
|
+
* @default false
|
|
65
|
+
*/
|
|
66
|
+
closeOnAction?: boolean;
|
|
67
|
+
/**
|
|
68
|
+
* The text typeahead matches, when the row's content is not plain text.
|
|
69
|
+
*/
|
|
70
|
+
label?: string;
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* An action row inside the list, placed last after a `SelectSeparator`, such as
|
|
74
|
+
* Show All. It is reached by the arrow keys and typeahead like an item, but
|
|
75
|
+
* pressing it runs `onAction` instead of choosing a value. It is an option to
|
|
76
|
+
* assistive technology, so it takes no `aria-expanded`: its label says what it
|
|
77
|
+
* does.
|
|
78
|
+
*/
|
|
79
|
+
export declare function SelectActionItem({ className, onAction, closeOnAction, ...props }: SelectActionItemProps): import("react").JSX.Element;
|
|
80
|
+
export type SelectLabelProps = StyledProps<Select.Label.Props>;
|
|
81
|
+
export declare function SelectLabel({ className, ...props }: SelectLabelProps): import("react").JSX.Element;
|
|
82
|
+
export type SelectGroupProps = StyledProps<Select.Group.Props>;
|
|
83
|
+
export declare function SelectGroup({ className, ...props }: SelectGroupProps): import("react").JSX.Element;
|
|
84
|
+
export type SelectGroupLabelProps = StyledProps<Select.GroupLabel.Props>;
|
|
85
|
+
export declare function SelectGroupLabel({ className, ...props }: SelectGroupLabelProps): import("react").JSX.Element;
|
|
86
|
+
export type SelectSeparatorProps = StyledProps<ComponentPropsWithRef<"div">>;
|
|
87
|
+
export declare function SelectSeparator({ className, ...props }: SelectSeparatorProps): import("react").JSX.Element;
|
|
88
|
+
export type SelectScrollUpArrowProps = StyledProps<Select.ScrollUpArrow.Props>;
|
|
89
|
+
export declare function SelectScrollUpArrow({ className, children, ...props }: SelectScrollUpArrowProps): import("react").JSX.Element;
|
|
90
|
+
export type SelectScrollDownArrowProps = StyledProps<Select.ScrollDownArrow.Props>;
|
|
91
|
+
export declare function SelectScrollDownArrow({ className, children, ...props }: SelectScrollDownArrowProps): import("react").JSX.Element;
|
|
92
|
+
export type SelectArrowProps = StyledProps<Select.Arrow.Props>;
|
|
93
|
+
export declare function SelectArrow({ className, ...props }: SelectArrowProps): import("react").JSX.Element;
|
|
94
|
+
//#endregion
|
|
95
|
+
export { Select$1 as Select };
|