@botiverse/raft-ui 0.50.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 +32 -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 -17053
- 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 -1222
- package/dist/wip.mjs +43 -3079
- package/package.json +8 -1
- package/dist/inbox-item-B4nNvpp1.d.mts +0 -1784
- package/dist/inbox-item-DHJOrxB8.mjs +0 -7454
- package/dist/style.css +0 -1395
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { useRender } from "@base-ui/react/use-render";
|
|
2
|
+
//#region src/components/panel/panel-header.d.ts
|
|
3
|
+
export type PanelHeaderProps = useRender.ComponentProps<"div">;
|
|
4
|
+
export declare function PanelHeader({ children, className, render, ...props }: PanelHeaderProps): import("react").JSX.Element;
|
|
5
|
+
export type PanelSectionHeaderProps = useRender.ComponentProps<"div">;
|
|
6
|
+
export declare function PanelSectionHeader({ children, className, render, ...props }: PanelSectionHeaderProps): import("react").JSX.Element;
|
|
7
|
+
export type PanelHeaderIconProps = useRender.ComponentProps<"div">;
|
|
8
|
+
export declare function PanelHeaderIcon({ className, render, ...props }: PanelHeaderIconProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
9
|
+
export type PanelHeaderContentProps = useRender.ComponentProps<"div">;
|
|
10
|
+
export declare function PanelHeaderContent({ className, render, ...props }: PanelHeaderContentProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
11
|
+
export type PanelHeadingProps = useRender.ComponentProps<"div">;
|
|
12
|
+
export declare function PanelHeading({ className, render, ...props }: PanelHeadingProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
13
|
+
export type PanelTitleProps = useRender.ComponentProps<"div">;
|
|
14
|
+
export declare function PanelTitle({ className, render, ...props }: PanelTitleProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
15
|
+
export type PanelMetaProps = useRender.ComponentProps<"div"> & {
|
|
16
|
+
size?: "sm" | "md";
|
|
17
|
+
};
|
|
18
|
+
export declare function PanelMeta({ className, render, size, ...props }: PanelMetaProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
19
|
+
export type PanelStatusProps = useRender.ComponentProps<"span">;
|
|
20
|
+
/**
|
|
21
|
+
* Attribute badge in a panel header, such as a muted or archived marker.
|
|
22
|
+
* Use `PanelActivity` for a live status readout wrapping a `Status`.
|
|
23
|
+
*/
|
|
24
|
+
export declare function PanelStatus({ className, render, ...props }: PanelStatusProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
25
|
+
export type PanelActivityProps = useRender.ComponentProps<"span">;
|
|
26
|
+
/**
|
|
27
|
+
* Live status readout in a panel header, such as agent activity or presence.
|
|
28
|
+
* Wraps a `Status` and supplies header-appropriate spacing and typography;
|
|
29
|
+
* use `PanelStatus` for a standalone attribute badge.
|
|
30
|
+
*/
|
|
31
|
+
export declare function PanelActivity({ className, render, ...props }: PanelActivityProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
32
|
+
export type PanelActionsProps = useRender.ComponentProps<"div">;
|
|
33
|
+
export declare function PanelActions({ className, render, ...props }: PanelActionsProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
34
|
+
//#endregion
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { panelHeader } from "./panel-header.recipe.mjs";
|
|
2
|
+
import { PanelHeaderRoot } from "./panel.mjs";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
import { mergeProps } from "@base-ui/react/merge-props";
|
|
5
|
+
import { useRender } from "@base-ui/react/use-render";
|
|
6
|
+
//#region src/components/panel/panel-header.tsx
|
|
7
|
+
function PanelHeader({ children, className, render, ...props }) {
|
|
8
|
+
const { header } = panelHeader();
|
|
9
|
+
return /* @__PURE__ */ jsx(PanelHeaderRoot, {
|
|
10
|
+
...props,
|
|
11
|
+
render,
|
|
12
|
+
"data-panel-frame-header": "",
|
|
13
|
+
"data-slot": "panel-header",
|
|
14
|
+
className: header({ className }),
|
|
15
|
+
children
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
function PanelSectionHeader({ children, className, render, ...props }) {
|
|
19
|
+
const { sectionHeader } = panelHeader();
|
|
20
|
+
return /* @__PURE__ */ jsx(PanelHeaderRoot, {
|
|
21
|
+
...props,
|
|
22
|
+
render,
|
|
23
|
+
"data-slot": "panel-section-header",
|
|
24
|
+
className: sectionHeader({ className }),
|
|
25
|
+
children
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
function PanelHeaderIcon({ className, render, ...props }) {
|
|
29
|
+
const { headerIcon } = panelHeader();
|
|
30
|
+
const defaultProps = {
|
|
31
|
+
"data-slot": "panel-header-icon",
|
|
32
|
+
className: headerIcon({ className })
|
|
33
|
+
};
|
|
34
|
+
return useRender({
|
|
35
|
+
defaultTagName: "div",
|
|
36
|
+
render,
|
|
37
|
+
props: mergeProps(defaultProps, props)
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
function PanelHeaderContent({ className, render, ...props }) {
|
|
41
|
+
const { headerContent } = panelHeader();
|
|
42
|
+
const defaultProps = {
|
|
43
|
+
"data-slot": "panel-header-content",
|
|
44
|
+
className: headerContent({ className })
|
|
45
|
+
};
|
|
46
|
+
return useRender({
|
|
47
|
+
defaultTagName: "div",
|
|
48
|
+
render,
|
|
49
|
+
props: mergeProps(defaultProps, props)
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
function PanelHeading({ className, render, ...props }) {
|
|
53
|
+
const { heading } = panelHeader();
|
|
54
|
+
const defaultProps = {
|
|
55
|
+
"data-slot": "panel-heading",
|
|
56
|
+
className: heading({ className })
|
|
57
|
+
};
|
|
58
|
+
return useRender({
|
|
59
|
+
defaultTagName: "div",
|
|
60
|
+
render,
|
|
61
|
+
props: mergeProps(defaultProps, props)
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
function PanelTitle({ className, render, ...props }) {
|
|
65
|
+
const { title } = panelHeader();
|
|
66
|
+
const defaultProps = {
|
|
67
|
+
"data-slot": "panel-title",
|
|
68
|
+
className: title({ className })
|
|
69
|
+
};
|
|
70
|
+
return useRender({
|
|
71
|
+
defaultTagName: "div",
|
|
72
|
+
render,
|
|
73
|
+
props: mergeProps(defaultProps, props)
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
function PanelMeta({ className, render, size = "sm", ...props }) {
|
|
77
|
+
const { meta } = panelHeader({ size });
|
|
78
|
+
const defaultProps = {
|
|
79
|
+
"data-slot": "panel-meta",
|
|
80
|
+
className: meta({ className })
|
|
81
|
+
};
|
|
82
|
+
return useRender({
|
|
83
|
+
defaultTagName: "div",
|
|
84
|
+
render,
|
|
85
|
+
props: mergeProps(defaultProps, props)
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Attribute badge in a panel header, such as a muted or archived marker.
|
|
90
|
+
* Use `PanelActivity` for a live status readout wrapping a `Status`.
|
|
91
|
+
*/
|
|
92
|
+
function PanelStatus({ className, render, ...props }) {
|
|
93
|
+
const { status } = panelHeader();
|
|
94
|
+
const defaultProps = {
|
|
95
|
+
"data-slot": "panel-status",
|
|
96
|
+
className: status({ className })
|
|
97
|
+
};
|
|
98
|
+
return useRender({
|
|
99
|
+
defaultTagName: "span",
|
|
100
|
+
render,
|
|
101
|
+
props: mergeProps(defaultProps, props)
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Live status readout in a panel header, such as agent activity or presence.
|
|
106
|
+
* Wraps a `Status` and supplies header-appropriate spacing and typography;
|
|
107
|
+
* use `PanelStatus` for a standalone attribute badge.
|
|
108
|
+
*/
|
|
109
|
+
function PanelActivity({ className, render, ...props }) {
|
|
110
|
+
const { activity } = panelHeader();
|
|
111
|
+
const defaultProps = {
|
|
112
|
+
"data-slot": "panel-activity",
|
|
113
|
+
className: activity({ className })
|
|
114
|
+
};
|
|
115
|
+
return useRender({
|
|
116
|
+
defaultTagName: "span",
|
|
117
|
+
render,
|
|
118
|
+
props: mergeProps(defaultProps, props)
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
function PanelActions({ className, render, ...props }) {
|
|
122
|
+
const { actions } = panelHeader();
|
|
123
|
+
const defaultProps = {
|
|
124
|
+
"data-slot": "panel-actions",
|
|
125
|
+
"data-icon-inset": "",
|
|
126
|
+
className: actions({ className })
|
|
127
|
+
};
|
|
128
|
+
return useRender({
|
|
129
|
+
defaultTagName: "div",
|
|
130
|
+
render,
|
|
131
|
+
props: mergeProps(defaultProps, props)
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
//#endregion
|
|
135
|
+
export { PanelActions, PanelActivity, PanelHeader, PanelHeaderContent, PanelHeaderIcon, PanelHeading, PanelMeta, PanelSectionHeader, PanelStatus, PanelTitle };
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { controlIconInset, headEdges } from "../../lib/head-edges.mjs";
|
|
2
|
+
import { tv } from "../../lib/tv.mjs";
|
|
3
|
+
//#region src/components/panel/panel-header.recipe.ts
|
|
4
|
+
/**
|
|
5
|
+
* Where a head's edge controls sit, shared by every head (panel, section,
|
|
6
|
+
* drawer, thread): see lib/head-edges.ts. Both sides pad by the content
|
|
7
|
+
* margin, 20px on a desktop and 16px on a phone, so a filled thing (a sticker,
|
|
8
|
+
* a pill, a filled Button) puts its shape on it, and the first and last
|
|
9
|
+
* frameless icon button are pulled out by their icon inset so their icon box
|
|
10
|
+
* lands on it: 20px on a desktop and on a touch screen with the desktop
|
|
11
|
+
* layout, 16px on a phone, mirrored at the two ends.
|
|
12
|
+
*/
|
|
13
|
+
const panelHeadEdges = headEdges;
|
|
14
|
+
/**
|
|
15
|
+
* A head's trailing actions, 2px apart (4px on a desktop). The group declares
|
|
16
|
+
* its PanelActions' icon inset, so the head pulls the group, not its last
|
|
17
|
+
* button: an action hidden at some width (a thread's Close below 1024px) then
|
|
18
|
+
* leaves the next one on the edge.
|
|
19
|
+
*/
|
|
20
|
+
const panelHeadActions = ["flex shrink-0 items-center gap-0.5 md:pointer-fine:gap-1", controlIconInset];
|
|
21
|
+
/**
|
|
22
|
+
* `header` and `sectionHeader` share one bar, expressed through
|
|
23
|
+
* `compoundSlots`: a 56px row (the shell header height) with a seam under it.
|
|
24
|
+
* On a phone the section head sits on the frame.
|
|
25
|
+
*/
|
|
26
|
+
const panelHeader = tv({
|
|
27
|
+
slots: {
|
|
28
|
+
header: [],
|
|
29
|
+
sectionHeader: [],
|
|
30
|
+
headerIcon: [
|
|
31
|
+
"flex size-[27px] shrink-0 items-center justify-center",
|
|
32
|
+
"rounded-sticker border-[1.5px] border-sticker-ink bg-brand text-sticker-ink ring-[1.5px] ring-sticker-edge",
|
|
33
|
+
"not-data-[icon-kind=avatar]:[&_svg]:size-3.5 not-data-[icon-kind=avatar]:[&_svg]:stroke-2",
|
|
34
|
+
"data-[icon-kind=avatar]:size-auto data-[icon-kind=avatar]:border-transparent data-[icon-kind=avatar]:bg-transparent"
|
|
35
|
+
],
|
|
36
|
+
headerContent: "flex min-w-0 flex-1 flex-col justify-center",
|
|
37
|
+
heading: "flex min-w-0 items-center gap-2",
|
|
38
|
+
title: "truncate font-sans text-headline font-bold text-foreground",
|
|
39
|
+
meta: "min-w-0 truncate font-sans text-caption text-foreground-hint",
|
|
40
|
+
status: [
|
|
41
|
+
"inline-flex shrink-0 items-center gap-1 border-0 bg-transparent p-0",
|
|
42
|
+
"font-sans text-caption font-medium normal-case text-foreground-hint",
|
|
43
|
+
"[&_svg]:size-3.5 [&_svg]:shrink-0"
|
|
44
|
+
],
|
|
45
|
+
activity: [
|
|
46
|
+
"inline-flex shrink-0 items-center gap-1.5",
|
|
47
|
+
"font-sans text-caption text-foreground-hint",
|
|
48
|
+
"[&_svg]:size-3.5 [&_svg]:shrink-0",
|
|
49
|
+
"*:data-[slot=status]:lead-dot"
|
|
50
|
+
],
|
|
51
|
+
actions: panelHeadActions
|
|
52
|
+
},
|
|
53
|
+
variants: { size: {
|
|
54
|
+
sm: {},
|
|
55
|
+
md: { meta: ["text-footnote"] }
|
|
56
|
+
} },
|
|
57
|
+
compoundSlots: [{
|
|
58
|
+
slots: ["header", "sectionHeader"],
|
|
59
|
+
class: [
|
|
60
|
+
"flex h-(--shell-header-height,56px) shrink-0 items-center gap-3 max-md:gap-2",
|
|
61
|
+
panelHeadEdges,
|
|
62
|
+
"border-b border-line-seam bg-layer-canvas text-foreground",
|
|
63
|
+
"max-md:sticky max-md:top-0 max-md:z-30"
|
|
64
|
+
]
|
|
65
|
+
}, {
|
|
66
|
+
slots: ["sectionHeader"],
|
|
67
|
+
class: [
|
|
68
|
+
"max-md:bg-layer-frame max-md:text-foreground-on-frame",
|
|
69
|
+
"max-md:[&>[data-slot=panel-header-icon]]:hidden",
|
|
70
|
+
"max-md:**:data-[slot=panel-title]:text-foreground-on-frame",
|
|
71
|
+
"max-md:**:data-[slot=panel-meta]:text-foreground-on-frame-muted",
|
|
72
|
+
"max-md:**:data-[slot=panel-action]:text-foreground-on-frame",
|
|
73
|
+
"max-md:**:data-[slot=panel-action]:hover:bg-fill-frame-medium max-md:**:data-[slot=panel-action]:active:bg-fill-frame-medium"
|
|
74
|
+
]
|
|
75
|
+
}]
|
|
76
|
+
});
|
|
77
|
+
//#endregion
|
|
78
|
+
export { panelHeadActions, panelHeadEdges, panelHeader };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { useRender } from "@base-ui/react/use-render";
|
|
2
|
+
//#region src/components/panel/panel-notice.d.ts
|
|
3
|
+
export type PanelNoticeStatus = "default" | "warning" | "destructive" | "info" | "success";
|
|
4
|
+
export type PanelNoticeProps = useRender.ComponentProps<"div"> & {
|
|
5
|
+
/** The tint: warning for something to fix (the default), destructive only
|
|
6
|
+
* for what cannot be undone. */
|
|
7
|
+
status?: PanelNoticeStatus;
|
|
8
|
+
};
|
|
9
|
+
export declare function PanelNotice({ className, render, status, ...props }: PanelNoticeProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
10
|
+
export type PanelNoticeContentProps = useRender.ComponentProps<"div">;
|
|
11
|
+
/** The message: takes the width left and wraps or clamps as the caller says. */
|
|
12
|
+
export declare function PanelNoticeContent({ className, render, ...props }: PanelNoticeContentProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
13
|
+
export type PanelNoticeActionsProps = useRender.ComponentProps<"div">;
|
|
14
|
+
/** Trailing controls (copy, a link, ×), centred on the first text line. */
|
|
15
|
+
export declare function PanelNoticeActions({ className, render, ...props }: PanelNoticeActionsProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
16
|
+
//#endregion
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { tv } from "../../lib/tv.mjs";
|
|
2
|
+
import { mergeProps } from "@base-ui/react/merge-props";
|
|
3
|
+
import { useRender } from "@base-ui/react/use-render";
|
|
4
|
+
//#region src/components/panel/panel-notice.tsx
|
|
5
|
+
/**
|
|
6
|
+
* A notice strip that runs the full width of a panel, under its head (a
|
|
7
|
+
* runtime error, a setting that failed to save). It is a region of its own,
|
|
8
|
+
* so it is closed by the region seam, the same line the head draws above it
|
|
9
|
+
* — never the lighter in-region divider. Its edges are the panel's (`--column-margin`:
|
|
10
|
+
* 20 / 16 on a phone, 20 in a column of list cells), and its trailing actions overhang the padding so a 32px
|
|
11
|
+
* button sits on the first text line instead of making the strip taller.
|
|
12
|
+
*
|
|
13
|
+
* Inside a card or a dialog, where a notice is part of the content, use
|
|
14
|
+
* Banner instead.
|
|
15
|
+
*/
|
|
16
|
+
const panelNotice = tv({
|
|
17
|
+
slots: {
|
|
18
|
+
root: [
|
|
19
|
+
"flex shrink-0 items-start",
|
|
20
|
+
"min-h-10 gap-2.5 border-b border-line-seam px-(--column-margin) py-2.5",
|
|
21
|
+
"font-sans text-callout font-semibold text-foreground",
|
|
22
|
+
"[&>svg]:lead-icon",
|
|
23
|
+
"*:data-[slot=spinner]:lead-icon *:data-[slot=spinner]:w-4 *:data-[slot=spinner]:leading-[inherit]"
|
|
24
|
+
],
|
|
25
|
+
content: ["min-w-0 flex-1"],
|
|
26
|
+
actions: ["flex shrink-0 items-center", "-my-1.5 gap-3"]
|
|
27
|
+
},
|
|
28
|
+
variants: { status: {
|
|
29
|
+
default: { root: ["bg-fill-muted"] },
|
|
30
|
+
warning: { root: ["bg-warning-soft"] },
|
|
31
|
+
destructive: { root: ["bg-danger-soft"] },
|
|
32
|
+
info: { root: ["bg-info-soft"] },
|
|
33
|
+
success: { root: ["bg-success-soft"] }
|
|
34
|
+
} },
|
|
35
|
+
defaultVariants: { status: "warning" }
|
|
36
|
+
});
|
|
37
|
+
function PanelNotice({ className, render, status = "warning", ...props }) {
|
|
38
|
+
const { root } = panelNotice({ status });
|
|
39
|
+
const defaultProps = {
|
|
40
|
+
"data-slot": "panel-notice",
|
|
41
|
+
"data-status": status,
|
|
42
|
+
className: root({ className })
|
|
43
|
+
};
|
|
44
|
+
return useRender({
|
|
45
|
+
defaultTagName: "div",
|
|
46
|
+
render,
|
|
47
|
+
props: mergeProps(defaultProps, props)
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
/** The message: takes the width left and wraps or clamps as the caller says. */
|
|
51
|
+
function PanelNoticeContent({ className, render, ...props }) {
|
|
52
|
+
const { content } = panelNotice();
|
|
53
|
+
const defaultProps = {
|
|
54
|
+
"data-slot": "panel-notice-content",
|
|
55
|
+
className: content({ className })
|
|
56
|
+
};
|
|
57
|
+
return useRender({
|
|
58
|
+
defaultTagName: "div",
|
|
59
|
+
render,
|
|
60
|
+
props: mergeProps(defaultProps, props)
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
/** Trailing controls (copy, a link, ×), centred on the first text line. */
|
|
64
|
+
function PanelNoticeActions({ className, render, ...props }) {
|
|
65
|
+
const { actions } = panelNotice();
|
|
66
|
+
const defaultProps = {
|
|
67
|
+
"data-slot": "panel-notice-actions",
|
|
68
|
+
className: actions({ className })
|
|
69
|
+
};
|
|
70
|
+
return useRender({
|
|
71
|
+
defaultTagName: "div",
|
|
72
|
+
render,
|
|
73
|
+
props: mergeProps(defaultProps, props)
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
//#endregion
|
|
77
|
+
export { PanelNotice, PanelNoticeActions, PanelNoticeContent };
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { StyledProps } from "../../lib/styled-props.mjs";
|
|
2
|
+
import { DataAttributes } from "../../lib/data-attributes.mjs";
|
|
3
|
+
import { ComponentProps } from "react";
|
|
4
|
+
import { Button } from "@base-ui/react/button";
|
|
5
|
+
import { Toggle } from "@base-ui/react/toggle";
|
|
6
|
+
//#region src/components/panel/panel-split-action.d.ts
|
|
7
|
+
export type PanelSplitActionProps = ComponentProps<"div"> & DataAttributes;
|
|
8
|
+
/**
|
|
9
|
+
* One header action with a menu beside it, such as Comment and its ▾: a
|
|
10
|
+
* `PanelSplitActionMain` (or `PanelSplitActionToggle`), then a `PanelSplitActionMenu` as the trigger of a
|
|
11
|
+
* DropdownMenu or a Popover. The two parts read as one control.
|
|
12
|
+
*/
|
|
13
|
+
export declare function PanelSplitAction({ className, ...props }: PanelSplitActionProps): import("react").JSX.Element;
|
|
14
|
+
export type PanelSplitActionMainProps = Omit<StyledProps<Button.Props>, "type"> & DataAttributes;
|
|
15
|
+
/**
|
|
16
|
+
* The primary action of a split action, a panel action's square: a Base UI
|
|
17
|
+
* Button. For an action that stays on, use `PanelSplitActionToggle`.
|
|
18
|
+
*/
|
|
19
|
+
export declare function PanelSplitActionMain({ className, render, nativeButton, ...props }: PanelSplitActionMainProps): import("react").JSX.Element;
|
|
20
|
+
export type PanelSplitActionToggleProps = Omit<StyledProps<Toggle.Props>, "type"> & DataAttributes;
|
|
21
|
+
/**
|
|
22
|
+
* The primary action of a split action when it turns something on, such as
|
|
23
|
+
* commenting: a Base UI Toggle (`aria-pressed`), the yellow sticker while
|
|
24
|
+
* pressed, like PanelToggleAction.
|
|
25
|
+
*/
|
|
26
|
+
export declare function PanelSplitActionToggle({ className, render, nativeButton, ...props }: PanelSplitActionToggleProps): import("react").JSX.Element;
|
|
27
|
+
export type PanelSplitActionMenuProps = Omit<StyledProps<Button.Props>, "type"> & DataAttributes;
|
|
28
|
+
/**
|
|
29
|
+
* The narrow part of a split action that opens its menu, with a chevron by
|
|
30
|
+
* default. Render it as the trigger of a DropdownMenu or a Popover:
|
|
31
|
+
* `<DropdownMenuTrigger render={<PanelSplitActionMenu aria-label="Comments" />} />`.
|
|
32
|
+
*/
|
|
33
|
+
export declare function PanelSplitActionMenu({ className, render, nativeButton, children, ...props }: PanelSplitActionMenuProps): import("react").JSX.Element;
|
|
34
|
+
//#endregion
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { defaultNativeButton } from "../../lib/default-native-button.mjs";
|
|
2
|
+
import { panelSplitAction, panelSplitActionMain, panelSplitActionMenu, panelSplitActionToggle } from "./panel-split-action.recipe.mjs";
|
|
3
|
+
import { ChevronDown } from "lucide-react";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
import { Button } from "@base-ui/react/button";
|
|
6
|
+
import { Toggle } from "@base-ui/react/toggle";
|
|
7
|
+
//#region src/components/panel/panel-split-action.tsx
|
|
8
|
+
/**
|
|
9
|
+
* One header action with a menu beside it, such as Comment and its ▾: a
|
|
10
|
+
* `PanelSplitActionMain` (or `PanelSplitActionToggle`), then a `PanelSplitActionMenu` as the trigger of a
|
|
11
|
+
* DropdownMenu or a Popover. The two parts read as one control.
|
|
12
|
+
*/
|
|
13
|
+
function PanelSplitAction({ className, ...props }) {
|
|
14
|
+
return /* @__PURE__ */ jsx("div", {
|
|
15
|
+
role: "group",
|
|
16
|
+
...props,
|
|
17
|
+
"data-slot": "panel-split-action",
|
|
18
|
+
className: panelSplitAction({ className })
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* The primary action of a split action, a panel action's square: a Base UI
|
|
23
|
+
* Button. For an action that stays on, use `PanelSplitActionToggle`.
|
|
24
|
+
*/
|
|
25
|
+
function PanelSplitActionMain({ className, render, nativeButton, ...props }) {
|
|
26
|
+
return /* @__PURE__ */ jsx(Button, {
|
|
27
|
+
...props,
|
|
28
|
+
render,
|
|
29
|
+
nativeButton: nativeButton ?? defaultNativeButton(render),
|
|
30
|
+
type: "button",
|
|
31
|
+
"data-slot": "panel-split-action-main",
|
|
32
|
+
"data-split-action-main": "",
|
|
33
|
+
className: panelSplitActionMain({ className })
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* The primary action of a split action when it turns something on, such as
|
|
38
|
+
* commenting: a Base UI Toggle (`aria-pressed`), the yellow sticker while
|
|
39
|
+
* pressed, like PanelToggleAction.
|
|
40
|
+
*/
|
|
41
|
+
function PanelSplitActionToggle({ className, render, nativeButton, ...props }) {
|
|
42
|
+
return /* @__PURE__ */ jsx(Toggle, {
|
|
43
|
+
...props,
|
|
44
|
+
render,
|
|
45
|
+
nativeButton: nativeButton ?? defaultNativeButton(render),
|
|
46
|
+
type: "button",
|
|
47
|
+
"data-slot": "panel-split-action-toggle",
|
|
48
|
+
"data-split-action-main": "",
|
|
49
|
+
className: panelSplitActionToggle({ className })
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* The narrow part of a split action that opens its menu, with a chevron by
|
|
54
|
+
* default. Render it as the trigger of a DropdownMenu or a Popover:
|
|
55
|
+
* `<DropdownMenuTrigger render={<PanelSplitActionMenu aria-label="Comments" />} />`.
|
|
56
|
+
*/
|
|
57
|
+
function PanelSplitActionMenu({ className, render, nativeButton, children, ...props }) {
|
|
58
|
+
return /* @__PURE__ */ jsx(Button, {
|
|
59
|
+
...props,
|
|
60
|
+
render,
|
|
61
|
+
nativeButton: nativeButton ?? defaultNativeButton(render),
|
|
62
|
+
type: "button",
|
|
63
|
+
"data-slot": "panel-split-action-menu",
|
|
64
|
+
className: panelSplitActionMenu({ className }),
|
|
65
|
+
children: children ?? /* @__PURE__ */ jsx(ChevronDown, { "aria-hidden": true })
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
//#endregion
|
|
69
|
+
export { PanelSplitAction, PanelSplitActionMain, PanelSplitActionMenu, PanelSplitActionToggle };
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { tv } from "../../lib/tv.mjs";
|
|
2
|
+
import { panelAction, panelToggleAction } from "./panel-action.recipe.mjs";
|
|
3
|
+
//#region src/components/panel/panel-split-action.recipe.ts
|
|
4
|
+
/**
|
|
5
|
+
* A split action reads as one control: the group is one rounded shape, and
|
|
6
|
+
* whichever part is under the pointer takes the medium tier (`fill-medium`)
|
|
7
|
+
* while the other part takes the subtle tier (`fill-subtle`). The coupling is
|
|
8
|
+
* `group-hover` on the root, which only hovers through a part (the root lets
|
|
9
|
+
* the pointer through, so a disabled part, which takes no pointer, hovers
|
|
10
|
+
* nothing). A part's resting fill is a custom property: the menu reads the
|
|
11
|
+
* main part's (or the toggle's) pressed state through a sibling selector, the main part reads
|
|
12
|
+
* the open menu through a has-selector on the root itself (packages/ui/CLAUDE.md,
|
|
13
|
+
* Selector Cost), so a hover, a press, a selection or a disabled state on the
|
|
14
|
+
* part itself always wins over the tint.
|
|
15
|
+
*/
|
|
16
|
+
const panelSplitAction = tv({ base: [
|
|
17
|
+
"group/split-action relative inline-flex shrink-0 items-center",
|
|
18
|
+
"rounded-control pointer-events-none",
|
|
19
|
+
"has-[>[data-popup-open]]:[--split-action-main-tint:var(--fill-subtle)]"
|
|
20
|
+
] });
|
|
21
|
+
const splitActionMainParts = [
|
|
22
|
+
"pointer-events-auto rounded-e-none",
|
|
23
|
+
"after:end-0",
|
|
24
|
+
"focus-visible:z-1 aria-pressed:z-1 data-pressed:z-1",
|
|
25
|
+
"bg-(--split-action-main-tint,transparent)",
|
|
26
|
+
"group-hover/split-action:bg-fill-subtle",
|
|
27
|
+
"hover:bg-fill-medium active:bg-fill-medium"
|
|
28
|
+
];
|
|
29
|
+
const panelSplitActionMain = tv({
|
|
30
|
+
extend: panelAction,
|
|
31
|
+
base: splitActionMainParts
|
|
32
|
+
});
|
|
33
|
+
const panelSplitActionToggle = tv({
|
|
34
|
+
extend: panelToggleAction,
|
|
35
|
+
base: splitActionMainParts
|
|
36
|
+
});
|
|
37
|
+
const panelSplitActionMenu = tv({
|
|
38
|
+
extend: panelAction,
|
|
39
|
+
base: [
|
|
40
|
+
"pointer-events-auto min-w-0 rounded-s-none px-0",
|
|
41
|
+
"w-6 me-5 md:pointer-fine:w-5 md:pointer-fine:me-0",
|
|
42
|
+
"after:start-0 after:inset-e-[-21.5px] md:pointer-fine:after:-end-control-hit",
|
|
43
|
+
"focus-visible:z-1",
|
|
44
|
+
"[[data-split-action-main][data-pressed]~&]:[--split-action-menu-tint:var(--fill-subtle)]",
|
|
45
|
+
"[[data-split-action-main][aria-pressed=true]~&]:[--split-action-menu-tint:var(--fill-subtle)]",
|
|
46
|
+
"bg-(--split-action-menu-tint,transparent)",
|
|
47
|
+
"group-hover/split-action:bg-fill-subtle",
|
|
48
|
+
"hover:bg-fill-medium active:bg-fill-medium data-popup-open:bg-fill-medium",
|
|
49
|
+
"[&>svg]:size-4"
|
|
50
|
+
]
|
|
51
|
+
});
|
|
52
|
+
//#endregion
|
|
53
|
+
export { panelSplitAction, panelSplitActionMain, panelSplitActionMenu, panelSplitActionToggle };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { StyledProps } from "../../lib/styled-props.mjs";
|
|
2
|
+
import { Toggle } from "@base-ui/react/toggle";
|
|
3
|
+
//#region src/components/panel/panel-toggle-action.d.ts
|
|
4
|
+
export type PanelToggleActionProps = Omit<StyledProps<Toggle.Props>, "type">;
|
|
5
|
+
export declare function PanelToggleAction({ className, ...props }: PanelToggleActionProps): import("react").JSX.Element;
|
|
6
|
+
//#endregion
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { panelToggleAction } from "./panel-action.recipe.mjs";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { Toggle } from "@base-ui/react/toggle";
|
|
4
|
+
//#region src/components/panel/panel-toggle-action.tsx
|
|
5
|
+
function PanelToggleAction({ className, ...props }) {
|
|
6
|
+
return /* @__PURE__ */ jsx(Toggle, {
|
|
7
|
+
...props,
|
|
8
|
+
type: "button",
|
|
9
|
+
"data-slot": "panel-toggle-action",
|
|
10
|
+
"data-icon-inset": "",
|
|
11
|
+
className: panelToggleAction({ className })
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
//#endregion
|
|
15
|
+
export { PanelToggleAction };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { useRender } from "@base-ui/react/use-render";
|
|
2
|
+
//#region src/components/panel/panel.d.ts
|
|
3
|
+
export type PanelEdge = "attached" | "inset";
|
|
4
|
+
export type PanelProps = useRender.ComponentProps<"section"> & {
|
|
5
|
+
edge?: PanelEdge;
|
|
6
|
+
};
|
|
7
|
+
export declare function Panel({ className, edge, render, ...props }: PanelProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
8
|
+
export type PanelHeaderRootProps = useRender.ComponentProps<"div">;
|
|
9
|
+
/**
|
|
10
|
+
* Bare header bar: fixed height and centered flex row, no border, fill, or padding.
|
|
11
|
+
* Shared base for `PanelHeader`, `PanelSectionHeader`, and panel-specific headers
|
|
12
|
+
* such as `ThreadPanelHeader` — it is not exclusive to `PanelHeader`.
|
|
13
|
+
*/
|
|
14
|
+
export declare function PanelHeaderRoot({ className, render, ...props }: PanelHeaderRootProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
15
|
+
export type PanelBodyProps = useRender.ComponentProps<"div">;
|
|
16
|
+
export declare function PanelBody({ className, render, ...props }: PanelBodyProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
17
|
+
export type PanelScrollViewportProps = useRender.ComponentProps<"div">;
|
|
18
|
+
export declare function PanelScrollViewport({ className, render, ...props }: PanelScrollViewportProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
19
|
+
export type PanelScrollContentProps = useRender.ComponentProps<"div">;
|
|
20
|
+
export declare function PanelScrollContent({ className, render, ...props }: PanelScrollContentProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
21
|
+
export type PanelSectionProps = useRender.ComponentProps<"section">;
|
|
22
|
+
export declare function PanelSection({ className, render, ...props }: PanelSectionProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
23
|
+
export type PanelFooterProps = useRender.ComponentProps<"div">;
|
|
24
|
+
export declare function PanelFooter({ className, render, ...props }: PanelFooterProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
25
|
+
//#endregion
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { panel } from "./panel.recipe.mjs";
|
|
2
|
+
import { mergeProps } from "@base-ui/react/merge-props";
|
|
3
|
+
import { useRender } from "@base-ui/react/use-render";
|
|
4
|
+
//#region src/components/panel/panel.tsx
|
|
5
|
+
function Panel({ className, edge, render, ...props }) {
|
|
6
|
+
const { root } = panel({ edge });
|
|
7
|
+
const defaultProps = {
|
|
8
|
+
"data-edge": edge,
|
|
9
|
+
"data-slot": "panel",
|
|
10
|
+
className: root({ className })
|
|
11
|
+
};
|
|
12
|
+
return useRender({
|
|
13
|
+
defaultTagName: "section",
|
|
14
|
+
render,
|
|
15
|
+
props: mergeProps(defaultProps, props)
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Bare header bar: fixed height and centered flex row, no border, fill, or padding.
|
|
20
|
+
* Shared base for `PanelHeader`, `PanelSectionHeader`, and panel-specific headers
|
|
21
|
+
* such as `ThreadPanelHeader` — it is not exclusive to `PanelHeader`.
|
|
22
|
+
*/
|
|
23
|
+
function PanelHeaderRoot({ className, render, ...props }) {
|
|
24
|
+
const { header } = panel();
|
|
25
|
+
const defaultProps = {
|
|
26
|
+
"data-slot": "panel-header-root",
|
|
27
|
+
className: header({ className })
|
|
28
|
+
};
|
|
29
|
+
return useRender({
|
|
30
|
+
defaultTagName: "div",
|
|
31
|
+
render,
|
|
32
|
+
props: mergeProps(defaultProps, props)
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
function PanelBody({ className, render, ...props }) {
|
|
36
|
+
const { body } = panel();
|
|
37
|
+
const defaultProps = {
|
|
38
|
+
"data-slot": "panel-body",
|
|
39
|
+
className: body({ className })
|
|
40
|
+
};
|
|
41
|
+
return useRender({
|
|
42
|
+
defaultTagName: "div",
|
|
43
|
+
render,
|
|
44
|
+
props: mergeProps(defaultProps, props)
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
function PanelScrollViewport({ className, render, ...props }) {
|
|
48
|
+
const { scrollViewport } = panel();
|
|
49
|
+
const defaultProps = {
|
|
50
|
+
"data-slot": "panel-scroll-viewport",
|
|
51
|
+
className: scrollViewport({ className })
|
|
52
|
+
};
|
|
53
|
+
return useRender({
|
|
54
|
+
defaultTagName: "div",
|
|
55
|
+
render,
|
|
56
|
+
props: mergeProps(defaultProps, props)
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
function PanelScrollContent({ className, render, ...props }) {
|
|
60
|
+
const { scrollContent } = panel();
|
|
61
|
+
const defaultProps = {
|
|
62
|
+
"data-slot": "panel-scroll-content",
|
|
63
|
+
className: scrollContent({ className })
|
|
64
|
+
};
|
|
65
|
+
return useRender({
|
|
66
|
+
defaultTagName: "div",
|
|
67
|
+
render,
|
|
68
|
+
props: mergeProps(defaultProps, props)
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
function PanelSection({ className, render, ...props }) {
|
|
72
|
+
const { section } = panel();
|
|
73
|
+
const defaultProps = {
|
|
74
|
+
"data-slot": "panel-section",
|
|
75
|
+
className: section({ className })
|
|
76
|
+
};
|
|
77
|
+
return useRender({
|
|
78
|
+
defaultTagName: "section",
|
|
79
|
+
render,
|
|
80
|
+
props: mergeProps(defaultProps, props)
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
function PanelFooter({ className, render, ...props }) {
|
|
84
|
+
const { footer } = panel();
|
|
85
|
+
const defaultProps = {
|
|
86
|
+
"data-slot": "panel-footer",
|
|
87
|
+
className: footer({ className })
|
|
88
|
+
};
|
|
89
|
+
return useRender({
|
|
90
|
+
defaultTagName: "div",
|
|
91
|
+
render,
|
|
92
|
+
props: mergeProps(defaultProps, props)
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
//#endregion
|
|
96
|
+
export { Panel, PanelBody, PanelFooter, PanelHeaderRoot, PanelScrollContent, PanelScrollViewport, PanelSection };
|