@botiverse/raft-ui 0.51.0 → 0.52.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +26 -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,57 @@
|
|
|
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/conversation-panel/conversation-panel-empty-state.tsx
|
|
5
|
+
const conversationPanelEmptyState = tv({ slots: {
|
|
6
|
+
root: [
|
|
7
|
+
"flex h-full min-h-0 min-w-0 flex-1 flex-col items-center justify-center",
|
|
8
|
+
"text-center",
|
|
9
|
+
"gap-2 px-5 py-6",
|
|
10
|
+
"font-sans text-headline font-bold normal-case text-foreground-muted"
|
|
11
|
+
],
|
|
12
|
+
brand: ["shrink-0", "mb-1 inline-flex rounded-none p-0 text-foreground-hint"],
|
|
13
|
+
brandMark: [
|
|
14
|
+
"relative flex items-center justify-center",
|
|
15
|
+
"[&>svg]:relative [&>svg]:z-10",
|
|
16
|
+
"size-9 overflow-visible rounded-none",
|
|
17
|
+
"[&>svg]:size-9 [&>svg]:stroke-2"
|
|
18
|
+
]
|
|
19
|
+
} });
|
|
20
|
+
function ConversationPanelEmptyState({ className, render, ...props }) {
|
|
21
|
+
const { root } = conversationPanelEmptyState();
|
|
22
|
+
const defaultProps = {
|
|
23
|
+
"data-slot": "conversation-panel-empty-state",
|
|
24
|
+
className: root({ className })
|
|
25
|
+
};
|
|
26
|
+
return useRender({
|
|
27
|
+
defaultTagName: "div",
|
|
28
|
+
render,
|
|
29
|
+
props: mergeProps(defaultProps, props)
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
function ConversationPanelEmptyStateBrand({ className, render, ...props }) {
|
|
33
|
+
const { brand } = conversationPanelEmptyState();
|
|
34
|
+
const defaultProps = {
|
|
35
|
+
"data-slot": "conversation-panel-empty-state-brand",
|
|
36
|
+
className: brand({ className })
|
|
37
|
+
};
|
|
38
|
+
return useRender({
|
|
39
|
+
defaultTagName: "div",
|
|
40
|
+
render,
|
|
41
|
+
props: mergeProps(defaultProps, props)
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
function ConversationPanelEmptyStateBrandMark({ className, render, ...props }) {
|
|
45
|
+
const { brandMark } = conversationPanelEmptyState();
|
|
46
|
+
const defaultProps = {
|
|
47
|
+
"data-slot": "conversation-panel-empty-state-brand-mark",
|
|
48
|
+
className: brandMark({ className })
|
|
49
|
+
};
|
|
50
|
+
return useRender({
|
|
51
|
+
defaultTagName: "div",
|
|
52
|
+
render,
|
|
53
|
+
props: mergeProps(defaultProps, props)
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
//#endregion
|
|
57
|
+
export { ConversationPanelEmptyState, ConversationPanelEmptyStateBrand, ConversationPanelEmptyStateBrandMark };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { PanelEdge } from "../panel/panel.mjs";
|
|
2
|
+
import { useRender } from "@base-ui/react/use-render";
|
|
3
|
+
//#region src/components/conversation-panel/conversation-panel.d.ts
|
|
4
|
+
export type ConversationPanelRootProps = useRender.ComponentProps<"section"> & {
|
|
5
|
+
edge?: PanelEdge;
|
|
6
|
+
};
|
|
7
|
+
export declare function ConversationPanelRoot({ className, edge, render, ...props }: ConversationPanelRootProps): import("react").JSX.Element;
|
|
8
|
+
export type ConversationPanelContentProps = useRender.ComponentProps<"div">;
|
|
9
|
+
/**
|
|
10
|
+
* Content region below the conversation header: one container hosting tabs,
|
|
11
|
+
* body, and footer.
|
|
12
|
+
*/
|
|
13
|
+
export declare function ConversationPanelContent({ className, render, ...props }: ConversationPanelContentProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
14
|
+
export type ConversationPanelBodyProps = useRender.ComponentProps<"div">;
|
|
15
|
+
export declare function ConversationPanelBody({ className, render, ...props }: ConversationPanelBodyProps): import("react").JSX.Element;
|
|
16
|
+
export type ConversationPanelTabsProps = useRender.ComponentProps<"div">;
|
|
17
|
+
export declare function ConversationPanelTabs({ className, render, ...props }: ConversationPanelTabsProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
18
|
+
export type ConversationPanelFooterProps = useRender.ComponentProps<"div">;
|
|
19
|
+
export declare function ConversationPanelFooter({ className, render, ...props }: ConversationPanelFooterProps): import("react").JSX.Element;
|
|
20
|
+
//#endregion
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { Panel, PanelBody, PanelFooter } from "../panel/panel.mjs";
|
|
2
|
+
import { conversationPanel } from "./conversation-panel.recipe.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/conversation-panel/conversation-panel.tsx
|
|
7
|
+
function ConversationPanelRoot({ className, edge = "inset", render, ...props }) {
|
|
8
|
+
const { root } = conversationPanel();
|
|
9
|
+
return /* @__PURE__ */ jsx(Panel, {
|
|
10
|
+
...props,
|
|
11
|
+
render,
|
|
12
|
+
edge,
|
|
13
|
+
"data-slot": "conversation-panel-root",
|
|
14
|
+
className: root({ className })
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Content region below the conversation header: one container hosting tabs,
|
|
19
|
+
* body, and footer.
|
|
20
|
+
*/
|
|
21
|
+
function ConversationPanelContent({ className, render, ...props }) {
|
|
22
|
+
const { content } = conversationPanel();
|
|
23
|
+
const defaultProps = {
|
|
24
|
+
"data-slot": "conversation-panel-content",
|
|
25
|
+
className: content({ className })
|
|
26
|
+
};
|
|
27
|
+
return useRender({
|
|
28
|
+
defaultTagName: "div",
|
|
29
|
+
render,
|
|
30
|
+
props: mergeProps(defaultProps, props)
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
function ConversationPanelBody({ className, render, ...props }) {
|
|
34
|
+
return /* @__PURE__ */ jsx(PanelBody, {
|
|
35
|
+
...props,
|
|
36
|
+
render,
|
|
37
|
+
"data-slot": "conversation-panel-body",
|
|
38
|
+
className
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
function ConversationPanelTabs({ className, render, ...props }) {
|
|
42
|
+
const { tabs } = conversationPanel();
|
|
43
|
+
const defaultProps = {
|
|
44
|
+
"data-slot": "conversation-panel-tabs",
|
|
45
|
+
className: tabs({ className })
|
|
46
|
+
};
|
|
47
|
+
return useRender({
|
|
48
|
+
defaultTagName: "div",
|
|
49
|
+
render,
|
|
50
|
+
props: mergeProps(defaultProps, props)
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
function ConversationPanelFooter({ className, render, ...props }) {
|
|
54
|
+
const { footer } = conversationPanel();
|
|
55
|
+
return /* @__PURE__ */ jsx(PanelFooter, {
|
|
56
|
+
...props,
|
|
57
|
+
render,
|
|
58
|
+
"data-slot": "conversation-panel-footer",
|
|
59
|
+
className: footer({ className })
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
//#endregion
|
|
63
|
+
export { ConversationPanelBody, ConversationPanelContent, ConversationPanelFooter, ConversationPanelRoot, ConversationPanelTabs };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { tv } from "../../lib/tv.mjs";
|
|
2
|
+
//#region src/components/conversation-panel/conversation-panel.recipe.ts
|
|
3
|
+
const conversationPanel = tv({ slots: {
|
|
4
|
+
root: ["flex h-full min-h-0 min-w-0 flex-1 flex-col", "bg-layer-canvas font-sans text-foreground"],
|
|
5
|
+
content: ["flex min-h-0 min-w-0 flex-1 flex-col", "bg-layer-canvas"],
|
|
6
|
+
tabs: [
|
|
7
|
+
"shrink-0",
|
|
8
|
+
"border-b border-line-seam bg-layer-canvas",
|
|
9
|
+
"*:data-[slot=tabs-list]:w-full *:data-[slot=tabs-list]:px-5 max-md:*:data-[slot=tabs-list]:px-4",
|
|
10
|
+
"*:data-[slot=tabs-list]:data-[variant=default]:py-2"
|
|
11
|
+
],
|
|
12
|
+
footer: ["pt-0", "bg-layer-canvas"]
|
|
13
|
+
} });
|
|
14
|
+
//#endregion
|
|
15
|
+
export { conversationPanel };
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { ConversationPanelBody, ConversationPanelBodyProps, ConversationPanelContent, ConversationPanelContentProps, ConversationPanelFooter, ConversationPanelFooterProps, ConversationPanelRoot, ConversationPanelRootProps, ConversationPanelTabs, ConversationPanelTabsProps } from "./conversation-panel.mjs";
|
|
2
|
+
import { ConversationPanelEmptyState, ConversationPanelEmptyStateBrand, ConversationPanelEmptyStateBrandMark, ConversationPanelEmptyStateBrandMarkProps, ConversationPanelEmptyStateBrandProps, ConversationPanelEmptyStateProps } from "./conversation-panel-empty-state.mjs";
|
|
3
|
+
export { ConversationPanelBody, type ConversationPanelBodyProps, ConversationPanelContent, type ConversationPanelContentProps, ConversationPanelEmptyState, ConversationPanelEmptyStateBrand, ConversationPanelEmptyStateBrandMark, type ConversationPanelEmptyStateBrandMarkProps, type ConversationPanelEmptyStateBrandProps, type ConversationPanelEmptyStateProps, ConversationPanelFooter, type ConversationPanelFooterProps, ConversationPanelRoot, type ConversationPanelRootProps, ConversationPanelTabs, type ConversationPanelTabsProps };
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { VariantProps } from "../../lib/tv.mjs";
|
|
2
|
+
import { ButtonProps } from "../button/button.mjs";
|
|
3
|
+
import "../button/index.mjs";
|
|
4
|
+
import { ComponentPropsWithRef, ReactNode } from "react";
|
|
5
|
+
//#region src/components/copyable-code/copyable-code.d.ts
|
|
6
|
+
declare const copyableCode: import("tailwind-variants/lite").TVReturnType<{
|
|
7
|
+
size: {
|
|
8
|
+
sm: {
|
|
9
|
+
code: string[];
|
|
10
|
+
};
|
|
11
|
+
md: {
|
|
12
|
+
code: string[];
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
}, {
|
|
16
|
+
root: string[];
|
|
17
|
+
code: string[];
|
|
18
|
+
codeInner: string[];
|
|
19
|
+
action: string[];
|
|
20
|
+
iconSwap: string[];
|
|
21
|
+
}, undefined, {
|
|
22
|
+
size: {
|
|
23
|
+
sm: {
|
|
24
|
+
code: string[];
|
|
25
|
+
};
|
|
26
|
+
md: {
|
|
27
|
+
code: string[];
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
}, {
|
|
31
|
+
root: string[];
|
|
32
|
+
code: string[];
|
|
33
|
+
codeInner: string[];
|
|
34
|
+
action: string[];
|
|
35
|
+
iconSwap: string[];
|
|
36
|
+
}, import("tailwind-variants/lite").TVReturnTypeLike<{
|
|
37
|
+
size: {
|
|
38
|
+
sm: {
|
|
39
|
+
code: string[];
|
|
40
|
+
};
|
|
41
|
+
md: {
|
|
42
|
+
code: string[];
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
}, {
|
|
46
|
+
root: string[];
|
|
47
|
+
code: string[];
|
|
48
|
+
codeInner: string[];
|
|
49
|
+
action: string[];
|
|
50
|
+
iconSwap: string[];
|
|
51
|
+
}>>;
|
|
52
|
+
export type CopyableCodeRootProps = Omit<ComponentPropsWithRef<"div">, "onCopy" | "onError"> & Pick<VariantProps<typeof copyableCode>, "size"> & {
|
|
53
|
+
copied?: boolean;
|
|
54
|
+
/** Called with the copied text only after a write that actually landed. */
|
|
55
|
+
onCopy?: (value: string) => void | Promise<void>;
|
|
56
|
+
/** Called when every copy strategy failed, so the consumer can tell the user. */
|
|
57
|
+
onError?: (error: Error) => void;
|
|
58
|
+
};
|
|
59
|
+
export declare function CopyableCodeRoot({ copied, onCopy, onError, size, className, ...props }: CopyableCodeRootProps): import("react").JSX.Element;
|
|
60
|
+
export type CopyableCodeProps = ComponentPropsWithRef<"code"> & {
|
|
61
|
+
truncate?: boolean;
|
|
62
|
+
};
|
|
63
|
+
export declare function CopyableCode({ children, className, truncate, ...props }: CopyableCodeProps): import("react").JSX.Element;
|
|
64
|
+
export type CopyableCodeActionProps = Omit<ButtonProps, "children" | "className"> & {
|
|
65
|
+
buttonClassName?: string;
|
|
66
|
+
className?: string;
|
|
67
|
+
children?: ReactNode | ((state: {
|
|
68
|
+
copied: boolean;
|
|
69
|
+
}) => ReactNode);
|
|
70
|
+
};
|
|
71
|
+
export declare function CopyableCodeAction({ children, buttonClassName, className, onClick, size, variant, ...props }: CopyableCodeActionProps): import("react").JSX.Element;
|
|
72
|
+
//#endregion
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { tv } from "../../lib/tv.mjs";
|
|
3
|
+
import { Button } from "../button/button.mjs";
|
|
4
|
+
import { useCopyToClipboard } from "../../lib/use-copy-to-clipboard.mjs";
|
|
5
|
+
import { Check, Copy } from "lucide-react";
|
|
6
|
+
import { createContext, useCallback, useContext, useMemo } from "react";
|
|
7
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
+
//#region src/components/copyable-code/copyable-code.tsx
|
|
9
|
+
const copyableCode = tv({
|
|
10
|
+
slots: {
|
|
11
|
+
root: ["group/copyable-code flex w-full min-w-0 items-center gap-2"],
|
|
12
|
+
code: [
|
|
13
|
+
"min-w-0 flex-1 font-mono",
|
|
14
|
+
"rounded-control border border-line-hairline bg-layer-code",
|
|
15
|
+
"text-mono-code text-foreground"
|
|
16
|
+
],
|
|
17
|
+
codeInner: ["block w-full min-w-0 max-w-full break-all"],
|
|
18
|
+
action: [
|
|
19
|
+
"shrink-0",
|
|
20
|
+
"**:data-[slot=button]:transition-[color,background-color,box-shadow]",
|
|
21
|
+
"**:data-[slot=button]:duration-150 [&_[data-slot=button]]:ease-out"
|
|
22
|
+
],
|
|
23
|
+
iconSwap: [
|
|
24
|
+
"relative inline-grid",
|
|
25
|
+
"**:data-[slot=copyable-code-icon]:col-start-1 **:data-[slot=copyable-code-icon]:row-start-1",
|
|
26
|
+
"**:data-[slot=copyable-code-icon]:origin-center",
|
|
27
|
+
"**:data-[slot=copyable-code-icon]:transition-[opacity,filter,scale]",
|
|
28
|
+
"**:data-[slot=copyable-code-icon]:duration-170",
|
|
29
|
+
"**:data-[slot=copyable-code-icon]:ease-[cubic-bezier(0.16,1,0.3,1)]",
|
|
30
|
+
"**:data-[slot=copyable-code-icon]:will-change-[opacity,filter,scale]",
|
|
31
|
+
"motion-reduce:**:data-[slot=copyable-code-icon]:transition-none",
|
|
32
|
+
"data-[state=idle]:**:data-[icon=copy]:scale-100 data-[state=idle]:**:data-[icon=copy]:opacity-100 data-[state=idle]:[&_[data-icon=copy]]:blur-0",
|
|
33
|
+
"data-[state=idle]:**:data-[icon=check]:scale-[0.72] data-[state=idle]:**:data-[icon=check]:opacity-0 data-[state=idle]:**:data-[icon=check]:blur-[1px]",
|
|
34
|
+
"data-[state=copied]:**:data-[icon=check]:scale-100 data-[state=copied]:**:data-[icon=check]:opacity-100 data-[state=copied]:[&_[data-icon=check]]:blur-0",
|
|
35
|
+
"data-[state=copied]:**:data-[icon=copy]:scale-[0.72] data-[state=copied]:**:data-[icon=copy]:opacity-0 data-[state=copied]:**:data-[icon=copy]:blur-[1px]",
|
|
36
|
+
"size-4",
|
|
37
|
+
"**:data-[slot=copyable-code-icon]:size-4 **:data-[slot=copyable-code-icon]:stroke-2"
|
|
38
|
+
]
|
|
39
|
+
},
|
|
40
|
+
variants: { size: {
|
|
41
|
+
sm: { code: ["px-3 leading-5", "py-[5px]"] },
|
|
42
|
+
md: { code: ["px-3 leading-5", "min-h-10 py-[9px]"] }
|
|
43
|
+
} },
|
|
44
|
+
defaultVariants: { size: "md" }
|
|
45
|
+
});
|
|
46
|
+
const CopyableCodeContext = createContext(null);
|
|
47
|
+
function useCopyableCode(part) {
|
|
48
|
+
const context = useContext(CopyableCodeContext);
|
|
49
|
+
if (!context) throw new Error(`${part} must be used inside CopyableCodeRoot.`);
|
|
50
|
+
return context;
|
|
51
|
+
}
|
|
52
|
+
function CopyableCodeRoot({ copied, onCopy, onError, size = "md", className, ...props }) {
|
|
53
|
+
const { root } = copyableCode({ size });
|
|
54
|
+
const { copied: clipboardCopied, copyText } = useCopyToClipboard({ timeout: 1400 });
|
|
55
|
+
const effectiveCopied = copied ?? clipboardCopied;
|
|
56
|
+
const copyValue = useCallback(async (value) => {
|
|
57
|
+
try {
|
|
58
|
+
await copyText(value);
|
|
59
|
+
} catch (error) {
|
|
60
|
+
onError?.(error instanceof Error ? error : new Error(String(error)));
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
await onCopy?.(value);
|
|
64
|
+
}, [
|
|
65
|
+
copyText,
|
|
66
|
+
onCopy,
|
|
67
|
+
onError
|
|
68
|
+
]);
|
|
69
|
+
const context = useMemo(() => ({
|
|
70
|
+
copied: effectiveCopied,
|
|
71
|
+
copyValue,
|
|
72
|
+
size
|
|
73
|
+
}), [
|
|
74
|
+
copyValue,
|
|
75
|
+
effectiveCopied,
|
|
76
|
+
size
|
|
77
|
+
]);
|
|
78
|
+
return /* @__PURE__ */ jsx(CopyableCodeContext.Provider, {
|
|
79
|
+
value: context,
|
|
80
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
81
|
+
"data-slot": "copyable-code-root",
|
|
82
|
+
"data-size": size,
|
|
83
|
+
"data-state": effectiveCopied ? "copied" : "idle",
|
|
84
|
+
className: root({ className }),
|
|
85
|
+
...props
|
|
86
|
+
})
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
function CopyableCode({ children, className, truncate, ...props }) {
|
|
90
|
+
const { size } = useCopyableCode("CopyableCode");
|
|
91
|
+
const { code, codeInner } = copyableCode({ size });
|
|
92
|
+
const scrollClassName = "overflow-x-auto overflow-y-hidden break-normal whitespace-nowrap text-clip [scrollbar-width:none] [&::-webkit-scrollbar]:hidden";
|
|
93
|
+
return /* @__PURE__ */ jsx("code", {
|
|
94
|
+
"data-slot": "copyable-code",
|
|
95
|
+
"data-truncate": truncate ? "true" : void 0,
|
|
96
|
+
className: code({ className }),
|
|
97
|
+
...props,
|
|
98
|
+
children: /* @__PURE__ */ jsx("span", {
|
|
99
|
+
"data-slot": "copyable-code-inner",
|
|
100
|
+
className: codeInner({ className: [truncate && scrollClassName] }),
|
|
101
|
+
children
|
|
102
|
+
})
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
function CopyableCodeAction({ children, buttonClassName, className, onClick, size, variant, ...props }) {
|
|
106
|
+
const { copied, copyValue } = useCopyableCode("CopyableCodeAction");
|
|
107
|
+
const { action } = copyableCode();
|
|
108
|
+
const accessibleLabel = copied ? "Copied code" : "Copy code";
|
|
109
|
+
const buttonSize = size ?? "icon-md";
|
|
110
|
+
const buttonVariant = variant ?? "ghost";
|
|
111
|
+
const handleClick = useCallback(async (event) => {
|
|
112
|
+
const value = event.currentTarget.closest("[data-slot=\"copyable-code-root\"]")?.querySelector("[data-slot=\"copyable-code\"]")?.textContent ?? "";
|
|
113
|
+
await copyValue(value);
|
|
114
|
+
onClick?.(event);
|
|
115
|
+
}, [copyValue, onClick]);
|
|
116
|
+
return /* @__PURE__ */ jsx("span", {
|
|
117
|
+
"data-slot": "copyable-code-action",
|
|
118
|
+
className: action({ className }),
|
|
119
|
+
children: /* @__PURE__ */ jsx(Button, {
|
|
120
|
+
type: "button",
|
|
121
|
+
variant: buttonVariant,
|
|
122
|
+
size: buttonSize,
|
|
123
|
+
"aria-label": props["aria-label"] ?? accessibleLabel,
|
|
124
|
+
"aria-live": "polite",
|
|
125
|
+
onClick: handleClick,
|
|
126
|
+
className: buttonClassName,
|
|
127
|
+
...props,
|
|
128
|
+
children: typeof children === "function" ? children({ copied }) : children ?? /* @__PURE__ */ jsx(CopyableCodeActionIcon, { copied })
|
|
129
|
+
})
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
function CopyableCodeActionIcon({ copied }) {
|
|
133
|
+
const { iconSwap } = copyableCode();
|
|
134
|
+
return /* @__PURE__ */ jsxs("span", {
|
|
135
|
+
"data-slot": "copyable-code-icon-swap",
|
|
136
|
+
"data-state": copied ? "copied" : "idle",
|
|
137
|
+
className: iconSwap(),
|
|
138
|
+
"aria-hidden": true,
|
|
139
|
+
children: [/* @__PURE__ */ jsx(Copy, {
|
|
140
|
+
"data-slot": "copyable-code-icon",
|
|
141
|
+
"data-icon": "copy",
|
|
142
|
+
className: "size-3",
|
|
143
|
+
strokeWidth: 1.75
|
|
144
|
+
}), /* @__PURE__ */ jsx(Check, {
|
|
145
|
+
"data-slot": "copyable-code-icon",
|
|
146
|
+
"data-icon": "check",
|
|
147
|
+
className: "size-3",
|
|
148
|
+
strokeWidth: 1.75
|
|
149
|
+
})]
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
//#endregion
|
|
153
|
+
export { CopyableCode, CopyableCodeAction, CopyableCodeRoot };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { CopyableCode, CopyableCodeAction, CopyableCodeActionProps, CopyableCodeProps, CopyableCodeRoot, CopyableCodeRootProps } from "./copyable-code.mjs";
|
|
2
|
+
export { CopyableCode, CopyableCodeAction, type CopyableCodeActionProps, type CopyableCodeProps, CopyableCodeRoot, type CopyableCodeRootProps };
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { VariantProps } from "../../lib/tv.mjs";
|
|
2
|
+
import { useRender } from "@base-ui/react/use-render";
|
|
3
|
+
//#region src/components/description-list/description-list.d.ts
|
|
4
|
+
declare const descriptionList: import("tailwind-variants/lite").TVReturnType<{
|
|
5
|
+
direction: {
|
|
6
|
+
vertical: {};
|
|
7
|
+
horizontal: {
|
|
8
|
+
root: string[];
|
|
9
|
+
};
|
|
10
|
+
inline: {
|
|
11
|
+
root: string[];
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
}, {
|
|
15
|
+
root: string[];
|
|
16
|
+
item: string[];
|
|
17
|
+
term: string[];
|
|
18
|
+
details: string[];
|
|
19
|
+
}, undefined, {
|
|
20
|
+
direction: {
|
|
21
|
+
vertical: {};
|
|
22
|
+
horizontal: {
|
|
23
|
+
root: string[];
|
|
24
|
+
};
|
|
25
|
+
inline: {
|
|
26
|
+
root: string[];
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
}, {
|
|
30
|
+
root: string[];
|
|
31
|
+
item: string[];
|
|
32
|
+
term: string[];
|
|
33
|
+
details: string[];
|
|
34
|
+
}, import("tailwind-variants/lite").TVReturnTypeLike<{
|
|
35
|
+
direction: {
|
|
36
|
+
vertical: {};
|
|
37
|
+
horizontal: {
|
|
38
|
+
root: string[];
|
|
39
|
+
};
|
|
40
|
+
inline: {
|
|
41
|
+
root: string[];
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
}, {
|
|
45
|
+
root: string[];
|
|
46
|
+
item: string[];
|
|
47
|
+
term: string[];
|
|
48
|
+
details: string[];
|
|
49
|
+
}>>;
|
|
50
|
+
export type DescriptionListDirection = NonNullable<VariantProps<typeof descriptionList>["direction"]>;
|
|
51
|
+
export type DescriptionListProps = useRender.ComponentProps<"dl"> & Pick<VariantProps<typeof descriptionList>, "direction">;
|
|
52
|
+
export declare function DescriptionList({ direction, className, render, ...props }: DescriptionListProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
53
|
+
export type DescriptionItemProps = useRender.ComponentProps<"div">;
|
|
54
|
+
export declare function DescriptionItem({ className, render, ...props }: DescriptionItemProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
55
|
+
export type DescriptionTermProps = useRender.ComponentProps<"dt">;
|
|
56
|
+
export declare function DescriptionTerm({ className, render, ...props }: DescriptionTermProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
57
|
+
export type DescriptionDetailsProps = useRender.ComponentProps<"dd">;
|
|
58
|
+
export declare function DescriptionDetails({ className, render, ...props }: DescriptionDetailsProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
59
|
+
//#endregion
|
|
@@ -0,0 +1,96 @@
|
|
|
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/description-list/description-list.tsx
|
|
5
|
+
const descriptionList = tv({
|
|
6
|
+
slots: {
|
|
7
|
+
root: ["m-0"],
|
|
8
|
+
item: ["", "[&+&]:pt-2"],
|
|
9
|
+
term: [
|
|
10
|
+
"flex items-center",
|
|
11
|
+
"*:data-[slot=button]:ml-[-5px]",
|
|
12
|
+
"mb-0 gap-1.5",
|
|
13
|
+
"font-sans text-footnote font-medium text-foreground-hint"
|
|
14
|
+
],
|
|
15
|
+
details: [
|
|
16
|
+
"m-0",
|
|
17
|
+
"flex min-h-7 min-w-0 flex-wrap items-center gap-1.5",
|
|
18
|
+
"font-sans text-callout text-foreground"
|
|
19
|
+
]
|
|
20
|
+
},
|
|
21
|
+
variants: { direction: {
|
|
22
|
+
vertical: {},
|
|
23
|
+
horizontal: { root: [
|
|
24
|
+
"@container/description-list w-full grid items-baseline",
|
|
25
|
+
"[&>[data-slot=description-item]>*]:@max-sm/description-list:col-span-full",
|
|
26
|
+
"[&>[data-slot=description-item]>[data-slot=description-details]]:@max-sm/description-list:min-h-0",
|
|
27
|
+
"[&>[data-slot=description-item]+[data-slot=description-item]>[data-slot=description-term]]:@max-sm/description-list:mt-2",
|
|
28
|
+
"*:data-[slot=description-item]:contents",
|
|
29
|
+
"[&>[data-slot=description-item]>[data-slot=description-term]]:mb-0",
|
|
30
|
+
"[&>[data-slot=description-item]>[data-slot=description-term]]:max-w-40",
|
|
31
|
+
"[&>[data-slot=description-item]>[data-slot=description-term]]:min-w-0",
|
|
32
|
+
"[&>[data-slot=description-item]>[data-slot=description-term]]:wrap-break-word",
|
|
33
|
+
"[&>[data-slot=description-item]>[data-slot=description-details]]:min-w-0",
|
|
34
|
+
"[&>[data-slot=description-item]>[data-slot=description-details]]:wrap-break-word",
|
|
35
|
+
"grid-cols-[minmax(88px,max-content)_minmax(0,1fr)] gap-x-4 gap-y-0.5",
|
|
36
|
+
"[&>[data-slot=description-item]>[data-slot=description-details]]:min-h-8"
|
|
37
|
+
] },
|
|
38
|
+
inline: { root: [
|
|
39
|
+
"flex flex-wrap items-baseline gap-x-6 gap-y-2",
|
|
40
|
+
"*:data-[slot=description-item]:flex *:data-[slot=description-item]:min-w-0 *:data-[slot=description-item]:items-baseline *:data-[slot=description-item]:gap-3",
|
|
41
|
+
"*:data-[slot=description-item]:max-w-[min(100%,24rem)]",
|
|
42
|
+
"[&>[data-slot=description-item]>[data-slot=description-details]]:min-w-0",
|
|
43
|
+
"[&>[data-slot=description-item]+[data-slot=description-item]]:pt-0",
|
|
44
|
+
"[&>[data-slot=description-item]>[data-slot=description-term]]:shrink-0",
|
|
45
|
+
"[&>[data-slot=description-item]>[data-slot=description-details]>[data-slot=badge]:first-child]:-ml-1.5",
|
|
46
|
+
"[&>[data-slot=description-item]>[data-slot=description-details]>[data-slot=badge]:first-child]:max-w-[calc(100%+6px)]",
|
|
47
|
+
"[&>[data-slot=description-item]>[data-slot=description-details]>:is([data-slot=task-chip],[data-slot=task-status-badge]):first-child]:ml-[-7px]",
|
|
48
|
+
"[&>[data-slot=description-item]>[data-slot=description-details]>:is([data-slot=task-chip],[data-slot=task-status-badge]):first-child]:max-w-[calc(100%+7px)]",
|
|
49
|
+
"[&>[data-slot=description-item]>[data-slot=description-details]>[data-slot=button]:first-child]:ml-[-7.5px]",
|
|
50
|
+
"[&>[data-slot=description-item]>[data-slot=description-details]>[data-slot=button]:first-child]:px-1.5"
|
|
51
|
+
] }
|
|
52
|
+
} },
|
|
53
|
+
defaultVariants: { direction: "vertical" }
|
|
54
|
+
});
|
|
55
|
+
function DescriptionList({ direction = "vertical", className, render, ...props }) {
|
|
56
|
+
const { root } = descriptionList({ direction });
|
|
57
|
+
const defaultProps = { className: root({ className }) };
|
|
58
|
+
return useRender({
|
|
59
|
+
defaultTagName: "dl",
|
|
60
|
+
render,
|
|
61
|
+
props: mergeProps(defaultProps, props),
|
|
62
|
+
state: { slot: "description-list" }
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
function DescriptionItem({ className, render, ...props }) {
|
|
66
|
+
const { item } = descriptionList();
|
|
67
|
+
const defaultProps = { className: item({ className }) };
|
|
68
|
+
return useRender({
|
|
69
|
+
defaultTagName: "div",
|
|
70
|
+
render,
|
|
71
|
+
props: mergeProps(defaultProps, props),
|
|
72
|
+
state: { slot: "description-item" }
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
function DescriptionTerm({ className, render, ...props }) {
|
|
76
|
+
const { term } = descriptionList();
|
|
77
|
+
const defaultProps = { className: term({ className }) };
|
|
78
|
+
return useRender({
|
|
79
|
+
defaultTagName: "dt",
|
|
80
|
+
render,
|
|
81
|
+
props: mergeProps(defaultProps, props),
|
|
82
|
+
state: { slot: "description-term" }
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
function DescriptionDetails({ className, render, ...props }) {
|
|
86
|
+
const { details } = descriptionList();
|
|
87
|
+
const defaultProps = { className: details({ className }) };
|
|
88
|
+
return useRender({
|
|
89
|
+
defaultTagName: "dd",
|
|
90
|
+
render,
|
|
91
|
+
props: mergeProps(defaultProps, props),
|
|
92
|
+
state: { slot: "description-details" }
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
//#endregion
|
|
96
|
+
export { DescriptionDetails, DescriptionItem, DescriptionList, DescriptionTerm };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { DescriptionDetails, DescriptionDetailsProps, DescriptionItem, DescriptionItemProps, DescriptionList, DescriptionListDirection, DescriptionListProps, DescriptionTerm, DescriptionTermProps } from "./description-list.mjs";
|
|
2
|
+
export { DescriptionDetails, type DescriptionDetailsProps, DescriptionItem, type DescriptionItemProps, DescriptionList, type DescriptionListDirection, type DescriptionListProps, DescriptionTerm, type DescriptionTermProps };
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { tv } from "../../lib/tv.mjs";
|
|
2
|
+
import { createContext, createElement, useContext } from "react";
|
|
3
|
+
//#region src/components/dialog/dialog-sheet-context.ts
|
|
4
|
+
const NO_SHEET = {
|
|
5
|
+
sheet: false,
|
|
6
|
+
commitSlot: null,
|
|
7
|
+
setCommitSlot: () => void 0,
|
|
8
|
+
bodyEndSlot: null,
|
|
9
|
+
setBodyEndSlot: () => void 0
|
|
10
|
+
};
|
|
11
|
+
const DialogSheetContext = createContext(NO_SHEET);
|
|
12
|
+
function useDialogSheet() {
|
|
13
|
+
return useContext(DialogSheetContext);
|
|
14
|
+
}
|
|
15
|
+
/** Inside the sheet's head: its × is a pushed page's leading action. */
|
|
16
|
+
const DialogSheetHeadContext = createContext(false);
|
|
17
|
+
function useInDialogSheetHead() {
|
|
18
|
+
return useContext(DialogSheetHeadContext);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Every overlay surface starts outside any sheet: a confirm, a dialog or a
|
|
22
|
+
* drawer opened from inside a sheet keeps its own head, footer and commit
|
|
23
|
+
* button instead of taking the sheet's.
|
|
24
|
+
*/
|
|
25
|
+
function DialogSheetReset({ children }) {
|
|
26
|
+
return createElement(DialogSheetContext.Provider, { value: NO_SHEET }, createElement(DialogSheetHeadContext.Provider, { value: false }, children));
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* A dialog drawn as a phone sheet (design: dialog.md "On a phone"). The
|
|
30
|
+
* surface is DialogContent's frame docked to the bottom, 90% of the screen
|
|
31
|
+
* tall, rounded on its top corners, sliding up as a bottom sheet does; its
|
|
32
|
+
* head is a pushed page's head (× at the start, the title, the commit button
|
|
33
|
+
* at the end); its body keeps the phone's 16px margin and the home indicator's
|
|
34
|
+
* inset. Merged over DialogContent's classes, so these win.
|
|
35
|
+
*/
|
|
36
|
+
const dialogSheet = tv({ slots: {
|
|
37
|
+
content: [
|
|
38
|
+
"fixed inset-x-0 top-auto bottom-0 left-0 h-[90dvh] max-h-none w-full max-w-none translate-none",
|
|
39
|
+
"rounded-none rounded-t-dialog",
|
|
40
|
+
"pr-[env(safe-area-inset-right,0px)] pl-[env(safe-area-inset-left,0px)]",
|
|
41
|
+
"transition-transform duration-240 ease-slide data-ending-style:duration-180",
|
|
42
|
+
"data-starting-style:translate-y-full data-ending-style:translate-y-full",
|
|
43
|
+
"motion-reduce:transition-none"
|
|
44
|
+
],
|
|
45
|
+
overlay: [
|
|
46
|
+
"transition-opacity duration-240 ease-slide data-ending-style:duration-180",
|
|
47
|
+
"data-starting-style:opacity-0 data-ending-style:opacity-0",
|
|
48
|
+
"motion-reduce:transition-none"
|
|
49
|
+
],
|
|
50
|
+
header: ["flex h-14 shrink-0 items-center gap-2 px-4 pt-0", "border-b border-line-seam"],
|
|
51
|
+
title: ["min-w-0 flex-1 truncate"],
|
|
52
|
+
commitSlot: ["flex shrink-0 items-center empty:hidden"],
|
|
53
|
+
body: ["min-h-0 content-start", "px-4 pt-4 first:pt-4 pb-[max(16px,env(safe-area-inset-bottom,0px))]"],
|
|
54
|
+
barBody: ["block overflow-y-auto"],
|
|
55
|
+
bodyEnd: ["mt-4 empty:hidden", "text-start font-sans text-footnote text-foreground-muted *:data-[slot=text-link]:text-footnote"]
|
|
56
|
+
} });
|
|
57
|
+
//#endregion
|
|
58
|
+
export { DialogSheetContext, DialogSheetHeadContext, DialogSheetReset, NO_SHEET, dialogSheet, useDialogSheet, useInDialogSheetHead };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { ButtonProps } from "../button/button.mjs";
|
|
2
|
+
import "../button/index.mjs";
|
|
3
|
+
import { DialogContentProps } from "./dialog.mjs";
|
|
4
|
+
//#region src/components/dialog/dialog-sheet.d.ts
|
|
5
|
+
export type DialogSheetContentProps = DialogContentProps;
|
|
6
|
+
/**
|
|
7
|
+
* DialogContent for a dialog with several fields, a long list or steps. On a
|
|
8
|
+
* desktop and a tablet it is DialogContent, the same DOM and classes. Below
|
|
9
|
+
* 768px it is a sheet: docked to the bottom, 90% of the screen tall, sliding
|
|
10
|
+
* up over its scrim; `DialogHeader` becomes a pushed page's head (× at the
|
|
11
|
+
* start, the title, the `DialogCommit` button at the end), `DialogFooter` is
|
|
12
|
+
* hidden (× is Cancel) and `DialogBody` scrolls on the phone's 16px margin
|
|
13
|
+
* above the home indicator. Base UI keeps Esc, focus and close.
|
|
14
|
+
*/
|
|
15
|
+
export declare function DialogSheetContent({ className, overlay, style, ref, children, ...props }: DialogSheetContentProps): import("react").JSX.Element;
|
|
16
|
+
export type DialogCommitProps = ButtonProps;
|
|
17
|
+
/**
|
|
18
|
+
* The dialog's one commit button: a `Button`, written where it goes on a
|
|
19
|
+
* desktop (the end of `DialogFooter`). In a `DialogSheetContent` below 768px
|
|
20
|
+
* it is drawn at the end of the sheet's head instead, the same button (color,
|
|
21
|
+
* words, disabled and loading state) at `size="md"`. In a flow of steps, write
|
|
22
|
+
* each step's button as one (Next, then the last step's action).
|
|
23
|
+
*
|
|
24
|
+
* A submit button stays its form's default button in the head: it is tied to
|
|
25
|
+
* the form it was written in by the form's `id` (the `form` attribute), so a
|
|
26
|
+
* click and Enter in a field submit, and neither does while it is disabled.
|
|
27
|
+
* Give that form an `id`, or pass `form`. Without one a click still submits
|
|
28
|
+
* the form, but Enter in a field doesn't.
|
|
29
|
+
*/
|
|
30
|
+
export declare function DialogCommit({ size, form, onClick, ...props }: DialogCommitProps): import("react").JSX.Element;
|
|
31
|
+
//#endregion
|