@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,161 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { drag } from "./drag.recipe.mjs";
|
|
3
|
+
import { dragPointer } from "./drag-lift.mjs";
|
|
4
|
+
import { useEffect, useRef } from "react";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
import { mergeProps } from "@base-ui/react/merge-props";
|
|
7
|
+
import { useRender } from "@base-ui/react/use-render";
|
|
8
|
+
import { createPortal } from "react-dom";
|
|
9
|
+
import { useDndContext } from "@dnd-kit/core";
|
|
10
|
+
//#region src/components/drag/drop-placeholder.tsx
|
|
11
|
+
/**
|
|
12
|
+
* Where a dragged item will land (design/patterns/drag-and-drop.md#where-it-will-land):
|
|
13
|
+
* a 1.5px dashed `line-strong` outline on `fill-subtle`, with the item's
|
|
14
|
+
* radius and size. One look for every place. The control radius is the
|
|
15
|
+
* default; pass the item's own (`rounded-container` for a card). Hidden from
|
|
16
|
+
* assistive technology: the announcements say where the item is.
|
|
17
|
+
*/
|
|
18
|
+
function DropPlaceholder({ opaque = false, className, render, ...props }) {
|
|
19
|
+
const { placeholder } = drag({ opaque });
|
|
20
|
+
return useRender({
|
|
21
|
+
defaultTagName: "div",
|
|
22
|
+
render,
|
|
23
|
+
props: mergeProps({
|
|
24
|
+
"aria-hidden": true,
|
|
25
|
+
className: placeholder({ className })
|
|
26
|
+
}, props, { "data-slot": "drop-placeholder" })
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
/** The chip sits this far right of and below the pointer. */
|
|
30
|
+
const HINT_OFFSET = {
|
|
31
|
+
x: 14,
|
|
32
|
+
y: 16
|
|
33
|
+
};
|
|
34
|
+
/** It stays at least this far inside the window on every side. */
|
|
35
|
+
const HINT_INSET = 8;
|
|
36
|
+
/** Pushed off the lifted copy, it keeps this far from it. */
|
|
37
|
+
const HINT_GAP = 6;
|
|
38
|
+
function overlaps(a, b) {
|
|
39
|
+
return a.left < b.right && a.right > b.left && a.top < b.bottom && a.bottom > b.top;
|
|
40
|
+
}
|
|
41
|
+
function clamp(value, min, max) {
|
|
42
|
+
return Math.max(min, Math.min(value, Math.max(min, max)));
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Where the refusal chip goes (design/patterns/drag-and-drop.md#refused-places):
|
|
46
|
+
* right of and below the pointer; left of it (and of the copy) where the
|
|
47
|
+
* window's right edge would cut it, above it where the bottom edge would; off
|
|
48
|
+
* the lifted copy, which is drawn over it; and always at least 8px inside the
|
|
49
|
+
* window.
|
|
50
|
+
*/
|
|
51
|
+
function placeRefusalHint(point, size, lift, viewport) {
|
|
52
|
+
const { width, height } = size;
|
|
53
|
+
const maxX = viewport.width - HINT_INSET - width;
|
|
54
|
+
const maxY = viewport.height - HINT_INSET - height;
|
|
55
|
+
const fitsX = (x) => x >= HINT_INSET && x <= maxX;
|
|
56
|
+
const fitsY = (y) => y >= HINT_INSET && y <= maxY;
|
|
57
|
+
const right = point.x + HINT_OFFSET.x;
|
|
58
|
+
const onRight = right <= maxX;
|
|
59
|
+
let x = onRight ? right : Math.min(point.x, lift?.left ?? point.x) - HINT_OFFSET.x - width;
|
|
60
|
+
const below = point.y + HINT_OFFSET.y;
|
|
61
|
+
const onBelow = below <= maxY;
|
|
62
|
+
let y = onBelow ? below : point.y - HINT_OFFSET.y - height;
|
|
63
|
+
const box = (bx, by) => ({
|
|
64
|
+
left: bx,
|
|
65
|
+
top: by,
|
|
66
|
+
right: bx + width,
|
|
67
|
+
bottom: by + height
|
|
68
|
+
});
|
|
69
|
+
if (lift && overlaps(box(x, y), lift)) {
|
|
70
|
+
const clearBelow = lift.bottom + HINT_GAP;
|
|
71
|
+
const clearAbove = lift.top - HINT_GAP - height;
|
|
72
|
+
const vertical = (onBelow ? [clearBelow, clearAbove] : [clearAbove, clearBelow]).find(fitsY);
|
|
73
|
+
if (vertical !== void 0) y = vertical;
|
|
74
|
+
else {
|
|
75
|
+
const besideRight = lift.right + HINT_OFFSET.x;
|
|
76
|
+
const besideLeft = lift.left - HINT_OFFSET.x - width;
|
|
77
|
+
const beside = (onRight ? [besideRight, besideLeft] : [besideLeft, besideRight]).find(fitsX);
|
|
78
|
+
if (beside !== void 0) x = beside;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return {
|
|
82
|
+
x: Math.round(clamp(x, HINT_INSET, maxX)),
|
|
83
|
+
y: Math.round(clamp(y, HINT_INSET, maxY))
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Shown while the hand is over a place that refuses the item
|
|
88
|
+
* (design/patterns/drag-and-drop.md#refused-places): the reason, in a HUD
|
|
89
|
+
* chip by the pointer (by the lifted copy in a keyboard drag), and the
|
|
90
|
+
* not-allowed cursor. Render it only while the place is refused, inside the
|
|
91
|
+
* `DndContext`, with no placeholder anywhere. Announce the reason as well:
|
|
92
|
+
* the chip is not read out.
|
|
93
|
+
*
|
|
94
|
+
* The chip sits right of and below the pointer. Near the window's right edge
|
|
95
|
+
* it goes left of the pointer and of the lifted copy, near the bottom edge
|
|
96
|
+
* above the pointer; it never sits under the copy, and always stays 8px inside
|
|
97
|
+
* the window. Its size is measured when its content changes, not every frame.
|
|
98
|
+
*/
|
|
99
|
+
function DragRefusalHint({ children, container, className, style, ...props }) {
|
|
100
|
+
const { hint } = drag();
|
|
101
|
+
const ref = useRef(null);
|
|
102
|
+
const { active, activatorEvent } = useDndContext();
|
|
103
|
+
const dragging = active != null;
|
|
104
|
+
const viaKeyboard = typeof KeyboardEvent !== "undefined" && activatorEvent instanceof KeyboardEvent;
|
|
105
|
+
useEffect(() => {
|
|
106
|
+
if (!dragging) return;
|
|
107
|
+
const root = document.documentElement;
|
|
108
|
+
root.setAttribute("data-drag-refused", "");
|
|
109
|
+
const node = ref.current;
|
|
110
|
+
const size = {
|
|
111
|
+
width: node?.offsetWidth ?? 0,
|
|
112
|
+
height: node?.offsetHeight ?? 0
|
|
113
|
+
};
|
|
114
|
+
const observer = node && typeof ResizeObserver !== "undefined" ? new ResizeObserver(() => {
|
|
115
|
+
size.width = node.offsetWidth;
|
|
116
|
+
size.height = node.offsetHeight;
|
|
117
|
+
}) : null;
|
|
118
|
+
if (node) observer?.observe(node);
|
|
119
|
+
let frame = 0;
|
|
120
|
+
const tick = () => {
|
|
121
|
+
if (node) {
|
|
122
|
+
const lift = document.querySelector("[data-slot=drag-lift]")?.getBoundingClientRect();
|
|
123
|
+
let point = dragPointer();
|
|
124
|
+
if ((viaKeyboard || !point) && lift) point = {
|
|
125
|
+
x: lift.right,
|
|
126
|
+
y: lift.top + lift.height / 2
|
|
127
|
+
};
|
|
128
|
+
if (point) {
|
|
129
|
+
const at = placeRefusalHint(point, size, lift ?? null, {
|
|
130
|
+
width: window.innerWidth,
|
|
131
|
+
height: window.innerHeight
|
|
132
|
+
});
|
|
133
|
+
node.style.transform = `translate(${at.x}px, ${at.y}px)`;
|
|
134
|
+
node.style.visibility = "visible";
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
frame = requestAnimationFrame(tick);
|
|
138
|
+
};
|
|
139
|
+
tick();
|
|
140
|
+
return () => {
|
|
141
|
+
root.removeAttribute("data-drag-refused");
|
|
142
|
+
observer?.disconnect();
|
|
143
|
+
cancelAnimationFrame(frame);
|
|
144
|
+
};
|
|
145
|
+
}, [dragging, viaKeyboard]);
|
|
146
|
+
if (!dragging || typeof document === "undefined") return null;
|
|
147
|
+
return createPortal(/* @__PURE__ */ jsx("div", {
|
|
148
|
+
...props,
|
|
149
|
+
ref,
|
|
150
|
+
"data-slot": "drag-refusal-hint",
|
|
151
|
+
"aria-hidden": true,
|
|
152
|
+
className: hint({ className }),
|
|
153
|
+
style: {
|
|
154
|
+
visibility: "hidden",
|
|
155
|
+
...style
|
|
156
|
+
},
|
|
157
|
+
children
|
|
158
|
+
}), container ?? document.body);
|
|
159
|
+
}
|
|
160
|
+
//#endregion
|
|
161
|
+
export { DragRefusalHint, DropPlaceholder, placeRefusalHint };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { DEFAULT_DRAG_MESSAGES, DragAnnouncementSource, DragMessages, DragNamed, DragPlace, createDragAnnouncements, dragInstructions, dragMessages } from "./drag-announcements.mjs";
|
|
2
|
+
import { HoldThenMoveOptions, HoldThenMoveTouchSensor, MouseOnlyPointerSensor, TOUCH_DRAG_DISTANCE_PX, TOUCH_DRAG_HOLD_MS, TOUCH_DRAG_TOLERANCE_PX, useHoldThenMoveTouchSensor, useMouseOnlyPointerSensor } from "../../lib/touch-drag.mjs";
|
|
3
|
+
import { DRAG_KEYBOARD_CODES, DragAcrossLists, DragRemeasure, DragRemeasureProps, DragSensorsOptions, MOUSE_DRAG_DISTANCE_PX, listKeyboardCoordinates, useDragAcrossLists, useDragSensors } from "./drag-sensors.mjs";
|
|
4
|
+
import { LIFT_CLASS } from "./drag.recipe.mjs";
|
|
5
|
+
import { DRAG_AUTO_SCROLL_ZONE_PX, DRAG_KEYBOARD_OFFSET_PX, DRAG_LIFT_Z_INDEX, DRAG_SETTLE, DRAG_SIBLING_TRANSITION, DROP_GLIDE, DragLift, DragLiftProps, ORIGIN_OPACITY, cancelDrag, keepGrabInside, useDragSiblingTransition } from "./drag-lift.mjs";
|
|
6
|
+
import { DragRefusalHint, DragRefusalHintProps, DropPlaceholder, DropPlaceholderProps } from "./drop-placeholder.mjs";
|
|
7
|
+
import { DragListsItems, DragLiveRegion, DraggedSlot, DraggedSlotProps, UseDragListsOptions, dragListStrategy, useDragAnnouncer, useDragLists } from "./drag-lists.mjs";
|
|
8
|
+
export { DEFAULT_DRAG_MESSAGES, DRAG_AUTO_SCROLL_ZONE_PX, DRAG_KEYBOARD_CODES, DRAG_KEYBOARD_OFFSET_PX, DRAG_LIFT_Z_INDEX, DRAG_SETTLE, DRAG_SIBLING_TRANSITION, DROP_GLIDE, type DragAcrossLists, type DragAnnouncementSource, DragLift, type DragLiftProps, type DragListsItems, DragLiveRegion, type DragMessages, type DragNamed, type DragPlace, DragRefusalHint, type DragRefusalHintProps, DragRemeasure, type DragRemeasureProps, type DragSensorsOptions, DraggedSlot, type DraggedSlotProps, DropPlaceholder, type DropPlaceholderProps, type HoldThenMoveOptions, HoldThenMoveTouchSensor, LIFT_CLASS, MOUSE_DRAG_DISTANCE_PX, MouseOnlyPointerSensor, ORIGIN_OPACITY, TOUCH_DRAG_DISTANCE_PX, TOUCH_DRAG_HOLD_MS, TOUCH_DRAG_TOLERANCE_PX, type UseDragListsOptions, cancelDrag, createDragAnnouncements, dragInstructions, dragListStrategy, dragMessages, keepGrabInside, listKeyboardCoordinates, useDragAcrossLists, useDragAnnouncer, useDragLists, useDragSensors, useDragSiblingTransition, useHoldThenMoveTouchSensor, useMouseOnlyPointerSensor };
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { StyledProps } from "../../lib/styled-props.mjs";
|
|
2
|
+
import { ButtonProps } from "../button/button.mjs";
|
|
3
|
+
import "../button/index.mjs";
|
|
4
|
+
import { useRender } from "@base-ui/react/use-render";
|
|
5
|
+
import { Drawer } from "@base-ui/react/drawer";
|
|
6
|
+
//#region src/components/drawer/drawer.d.ts
|
|
7
|
+
export type DrawerProps = Drawer.Root.Props;
|
|
8
|
+
declare function Drawer$1({ modal, snapPoints, swipeDirection, children, ...props }: DrawerProps): import("react").JSX.Element;
|
|
9
|
+
export type DrawerTriggerProps = Drawer.Trigger.Props;
|
|
10
|
+
export declare function DrawerTrigger(props: DrawerTriggerProps): import("react").JSX.Element;
|
|
11
|
+
export type DrawerPortalProps = Drawer.Portal.Props;
|
|
12
|
+
export declare function DrawerPortal(props: DrawerPortalProps): import("react").JSX.Element;
|
|
13
|
+
export type DrawerOverlayProps = StyledProps<Drawer.Backdrop.Props>;
|
|
14
|
+
export declare function DrawerOverlay({ className, ...props }: DrawerOverlayProps): import("react").JSX.Element;
|
|
15
|
+
export type DrawerContentProps = StyledProps<Drawer.Popup.Props> & {
|
|
16
|
+
portalProps?: DrawerPortalProps;
|
|
17
|
+
};
|
|
18
|
+
export declare function DrawerContent({ className, children, portalProps, ...props }: DrawerContentProps): import("react").JSX.Element;
|
|
19
|
+
export type DrawerCloseProps = StyledProps<Drawer.Close.Props> & Pick<ButtonProps, "variant" | "size">;
|
|
20
|
+
export declare function DrawerClose({ className, variant, size, children, render, "aria-label": ariaLabel, ...props }: DrawerCloseProps): import("react").JSX.Element;
|
|
21
|
+
export type DrawerHeaderProps = useRender.ComponentProps<"div">;
|
|
22
|
+
export declare function DrawerHeader({ className, render, ...props }: DrawerHeaderProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
23
|
+
export type DrawerFooterProps = useRender.ComponentProps<"div">;
|
|
24
|
+
export declare function DrawerFooter({ className, render, ...props }: DrawerFooterProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
25
|
+
export type DrawerBodyProps = useRender.ComponentProps<"div">;
|
|
26
|
+
export declare function DrawerBody({ className, render, ...props }: DrawerBodyProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
27
|
+
export type DrawerActionsProps = useRender.ComponentProps<"div">;
|
|
28
|
+
export declare function DrawerActions({ className, render, children, ...props }: DrawerActionsProps): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
|
|
29
|
+
export type DrawerTitleProps = StyledProps<Drawer.Title.Props>;
|
|
30
|
+
export declare function DrawerTitle({ className, ...props }: DrawerTitleProps): import("react").JSX.Element;
|
|
31
|
+
export type DrawerDescriptionProps = StyledProps<Drawer.Description.Props>;
|
|
32
|
+
export declare function DrawerDescription({ className, ...props }: DrawerDescriptionProps): import("react").JSX.Element;
|
|
33
|
+
//#endregion
|
|
34
|
+
export { Drawer$1 as Drawer };
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
import { cn } from "../../cn.mjs";
|
|
2
|
+
import { useThemeScopeProps } from "../../lib/theme/theme-scope.mjs";
|
|
3
|
+
import { useParentOverlayKind, withOverlayLayer } from "../../lib/overlay-depth.mjs";
|
|
4
|
+
import { Button } from "../button/button.mjs";
|
|
5
|
+
import { DialogSheetReset } from "../dialog/dialog-sheet-context.mjs";
|
|
6
|
+
import { drawer } from "./drawer.recipe.mjs";
|
|
7
|
+
import { X } from "lucide-react";
|
|
8
|
+
import { createContext, useContext, useMemo } from "react";
|
|
9
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
10
|
+
import { mergeProps } from "@base-ui/react/merge-props";
|
|
11
|
+
import { useRender } from "@base-ui/react/use-render";
|
|
12
|
+
import { Drawer } from "@base-ui/react/drawer";
|
|
13
|
+
//#region src/components/drawer/drawer.tsx
|
|
14
|
+
const DrawerConfigContext = createContext(null);
|
|
15
|
+
function useDrawerConfig() {
|
|
16
|
+
const context = useContext(DrawerConfigContext);
|
|
17
|
+
if (!context) throw new Error("Drawer parts must be used within Drawer.");
|
|
18
|
+
return context;
|
|
19
|
+
}
|
|
20
|
+
function Drawer$1({ modal = true, snapPoints, swipeDirection = "down", children, ...props }) {
|
|
21
|
+
const hasSnapPoints = snapPoints != null && snapPoints.length > 0;
|
|
22
|
+
const swipeAxis = swipeDirection === "down" || swipeDirection === "up" ? "y" : "x";
|
|
23
|
+
const contextValue = useMemo(() => ({
|
|
24
|
+
hasSnapPoints,
|
|
25
|
+
modal,
|
|
26
|
+
swipeAxis,
|
|
27
|
+
swipeDirection
|
|
28
|
+
}), [
|
|
29
|
+
hasSnapPoints,
|
|
30
|
+
modal,
|
|
31
|
+
swipeAxis,
|
|
32
|
+
swipeDirection
|
|
33
|
+
]);
|
|
34
|
+
return /* @__PURE__ */ jsx(DrawerConfigContext.Provider, {
|
|
35
|
+
value: contextValue,
|
|
36
|
+
children: /* @__PURE__ */ jsx(Drawer.Root, {
|
|
37
|
+
modal,
|
|
38
|
+
snapPoints,
|
|
39
|
+
swipeDirection,
|
|
40
|
+
...props,
|
|
41
|
+
children: withOverlayLayer("drawer", modal === true, children)
|
|
42
|
+
})
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
function DrawerTrigger(props) {
|
|
46
|
+
return /* @__PURE__ */ jsx(Drawer.Trigger, {
|
|
47
|
+
"data-slot": "drawer-trigger",
|
|
48
|
+
...props
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
function DrawerPortal(props) {
|
|
52
|
+
return /* @__PURE__ */ jsx(Drawer.Portal, {
|
|
53
|
+
"data-slot": "drawer-portal",
|
|
54
|
+
...useThemeScopeProps(props)
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
function DrawerOverlay({ className, ...props }) {
|
|
58
|
+
const { hasSnapPoints } = useDrawerConfig();
|
|
59
|
+
const nested = useParentOverlayKind() === "dialog";
|
|
60
|
+
const { overlay } = drawer({
|
|
61
|
+
snapPoints: hasSnapPoints,
|
|
62
|
+
nested
|
|
63
|
+
});
|
|
64
|
+
return /* @__PURE__ */ jsx(Drawer.Backdrop, {
|
|
65
|
+
"data-slot": "drawer-overlay",
|
|
66
|
+
"data-nested": nested ? "" : void 0,
|
|
67
|
+
forceRender: nested,
|
|
68
|
+
className: overlay({ className }),
|
|
69
|
+
...props
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
function DrawerSwipeHandle() {
|
|
73
|
+
const { swipeAxis, swipeDirection } = useDrawerConfig();
|
|
74
|
+
const { swipeHandle } = drawer({
|
|
75
|
+
side: swipeDirection,
|
|
76
|
+
axis: swipeAxis
|
|
77
|
+
});
|
|
78
|
+
return /* @__PURE__ */ jsx("div", {
|
|
79
|
+
"data-slot": "drawer-swipe-handle",
|
|
80
|
+
"aria-hidden": "true",
|
|
81
|
+
className: swipeHandle()
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
function DrawerContent({ className, children, portalProps, ...props }) {
|
|
85
|
+
const { hasSnapPoints, modal, swipeAxis, swipeDirection } = useDrawerConfig();
|
|
86
|
+
const { content, popup, viewport } = drawer({
|
|
87
|
+
side: swipeDirection,
|
|
88
|
+
axis: swipeAxis,
|
|
89
|
+
snapPoints: hasSnapPoints
|
|
90
|
+
});
|
|
91
|
+
return /* @__PURE__ */ jsxs(DrawerPortal, {
|
|
92
|
+
...portalProps,
|
|
93
|
+
children: [modal === true ? /* @__PURE__ */ jsx(DrawerOverlay, {}) : null, /* @__PURE__ */ jsx(Drawer.Viewport, {
|
|
94
|
+
"data-slot": "drawer-viewport",
|
|
95
|
+
className: cn(viewport(), modal === true && "pointer-events-auto"),
|
|
96
|
+
children: /* @__PURE__ */ jsxs(Drawer.Popup, {
|
|
97
|
+
"data-slot": "drawer-popup",
|
|
98
|
+
className: popup({ className }),
|
|
99
|
+
...props,
|
|
100
|
+
children: [hasSnapPoints ? /* @__PURE__ */ jsx(DrawerSwipeHandle, {}) : null, /* @__PURE__ */ jsx(Drawer.Content, {
|
|
101
|
+
"data-slot": "drawer-content",
|
|
102
|
+
className: content(),
|
|
103
|
+
children: /* @__PURE__ */ jsx(DialogSheetReset, { children })
|
|
104
|
+
})]
|
|
105
|
+
})
|
|
106
|
+
})]
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
function DrawerClose({ className, variant, size, children, render, "aria-label": ariaLabel, ...props }) {
|
|
110
|
+
const { close, closeIcon } = drawer();
|
|
111
|
+
if (render) return /* @__PURE__ */ jsx(Drawer.Close, {
|
|
112
|
+
"data-slot": "drawer-close",
|
|
113
|
+
className,
|
|
114
|
+
render,
|
|
115
|
+
"aria-label": ariaLabel,
|
|
116
|
+
...props,
|
|
117
|
+
children
|
|
118
|
+
});
|
|
119
|
+
return /* @__PURE__ */ jsx(Drawer.Close, {
|
|
120
|
+
"data-slot": "drawer-close",
|
|
121
|
+
render: /* @__PURE__ */ jsx(Button, {
|
|
122
|
+
variant: variant ?? "ghost",
|
|
123
|
+
size: size ?? "icon-lg",
|
|
124
|
+
"aria-label": ariaLabel ?? "Close"
|
|
125
|
+
}),
|
|
126
|
+
className: close({ className }),
|
|
127
|
+
...props,
|
|
128
|
+
children: children ?? /* @__PURE__ */ jsx(X, { className: closeIcon() })
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
function DrawerHeader({ className, render, ...props }) {
|
|
132
|
+
const { hasSnapPoints, swipeAxis, swipeDirection } = useDrawerConfig();
|
|
133
|
+
const { header } = drawer({
|
|
134
|
+
side: swipeDirection,
|
|
135
|
+
axis: swipeAxis,
|
|
136
|
+
snapPoints: hasSnapPoints
|
|
137
|
+
});
|
|
138
|
+
const defaultProps = { className: header({ className }) };
|
|
139
|
+
return useRender({
|
|
140
|
+
defaultTagName: "div",
|
|
141
|
+
render,
|
|
142
|
+
props: mergeProps(defaultProps, props),
|
|
143
|
+
state: { slot: "drawer-header" }
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
function DrawerFooter({ className, render, ...props }) {
|
|
147
|
+
const { swipeAxis } = useDrawerConfig();
|
|
148
|
+
const { footer } = drawer({ axis: swipeAxis });
|
|
149
|
+
const defaultProps = { className: footer({ className }) };
|
|
150
|
+
return useRender({
|
|
151
|
+
defaultTagName: "div",
|
|
152
|
+
render,
|
|
153
|
+
props: mergeProps(defaultProps, props),
|
|
154
|
+
state: { slot: "drawer-footer" }
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
function DrawerBody({ className, render, ...props }) {
|
|
158
|
+
const { swipeAxis } = useDrawerConfig();
|
|
159
|
+
const { body } = drawer({ axis: swipeAxis });
|
|
160
|
+
const defaultProps = { className: body({ className }) };
|
|
161
|
+
return useRender({
|
|
162
|
+
defaultTagName: "div",
|
|
163
|
+
render,
|
|
164
|
+
props: mergeProps(defaultProps, props),
|
|
165
|
+
state: { slot: "drawer-body" }
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
function DrawerActions({ className, render, children, ...props }) {
|
|
169
|
+
const swipeAxis = useContext(DrawerConfigContext)?.swipeAxis;
|
|
170
|
+
const { actions } = drawer({ axis: swipeAxis });
|
|
171
|
+
const defaultProps = {
|
|
172
|
+
className: actions({ className }),
|
|
173
|
+
"data-stacked": swipeAxis === "x" ? void 0 : "",
|
|
174
|
+
children
|
|
175
|
+
};
|
|
176
|
+
return useRender({
|
|
177
|
+
defaultTagName: "div",
|
|
178
|
+
render,
|
|
179
|
+
props: mergeProps(defaultProps, props),
|
|
180
|
+
state: { slot: "drawer-actions" }
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
function DrawerTitle({ className, ...props }) {
|
|
184
|
+
const { swipeAxis } = useDrawerConfig();
|
|
185
|
+
const { title } = drawer({ axis: swipeAxis });
|
|
186
|
+
return /* @__PURE__ */ jsx(Drawer.Title, {
|
|
187
|
+
"data-slot": "drawer-title",
|
|
188
|
+
className: title({ className }),
|
|
189
|
+
...props
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
function DrawerDescription({ className, ...props }) {
|
|
193
|
+
const { swipeAxis } = useDrawerConfig();
|
|
194
|
+
const { description } = drawer({ axis: swipeAxis });
|
|
195
|
+
return /* @__PURE__ */ jsx(Drawer.Description, {
|
|
196
|
+
"data-slot": "drawer-description",
|
|
197
|
+
className: description({ className }),
|
|
198
|
+
...props
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
//#endregion
|
|
202
|
+
export { Drawer$1 as Drawer, DrawerActions, DrawerBody, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger };
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import { tv } from "../../lib/tv.mjs";
|
|
2
|
+
import { panelHeadEdges } from "../panel/panel-header.recipe.mjs";
|
|
3
|
+
//#region src/components/drawer/drawer.recipe.ts
|
|
4
|
+
const drawerMotion = tv({
|
|
5
|
+
slots: {
|
|
6
|
+
overlay: [
|
|
7
|
+
"opacity-[max(var(--drawer-overlay-min-opacity,0),calc(1-var(--drawer-swipe-progress)))]",
|
|
8
|
+
"transition-opacity duration-200 ease-slide",
|
|
9
|
+
"data-starting-style:opacity-0 data-ending-style:pointer-events-none data-ending-style:opacity-0 data-ending-style:duration-150",
|
|
10
|
+
"motion-reduce:transition-none"
|
|
11
|
+
],
|
|
12
|
+
popup: [
|
|
13
|
+
"[--drawer-blur:2px] [--drawer-ease:var(--ease-slide)]",
|
|
14
|
+
"[--closed-transform:translate3d(var(--drawer-exit-x,0px),var(--drawer-exit-y,0px),0)]",
|
|
15
|
+
"[--drawer-stack-peek:16px] [--drawer-stack-step:0.05]",
|
|
16
|
+
"[--drawer-stack-progress:clamp(0,var(--drawer-swipe-progress),1)]",
|
|
17
|
+
"[--drawer-stack-offset:max(0px,calc((var(--nested-drawers)-var(--drawer-stack-progress))*var(--drawer-stack-peek)))]",
|
|
18
|
+
"[--drawer-stack-scale-base:calc(max(0,1-(var(--nested-drawers)*var(--drawer-stack-step))))]",
|
|
19
|
+
"[--drawer-stack-scale:clamp(0,calc(var(--drawer-stack-scale-base)+(var(--drawer-stack-step)*var(--drawer-stack-progress))),1)]",
|
|
20
|
+
"[--drawer-stack-shrink:calc(1-var(--drawer-stack-scale))]",
|
|
21
|
+
"[--drawer-stack-shrink-offset:calc(var(--drawer-stack-shrink)*var(--drawer-stack-size))]",
|
|
22
|
+
"origin-(--drawer-transform-origin)",
|
|
23
|
+
"transform-[translate3d(calc(var(--drawer-swipe-x,0px)+var(--drawer-stack-x,0px)),calc(var(--drawer-swipe-y,0px)+var(--drawer-stack-y,0px)),0)_scale(var(--drawer-stack-scale))]",
|
|
24
|
+
"opacity-100 blur-0",
|
|
25
|
+
"transition-[transform,height,opacity,filter] duration-240 ease-(--drawer-ease) will-change-transform",
|
|
26
|
+
"data-ending-style:duration-[calc(var(--drawer-swipe-strength,1)*180ms)]",
|
|
27
|
+
"data-starting-style:transform-(--closed-transform) data-starting-style:opacity-0 data-starting-style:blur-(--drawer-blur)",
|
|
28
|
+
"data-ending-style:transform-(--closed-transform) data-ending-style:opacity-0 data-ending-style:blur-(--drawer-blur)",
|
|
29
|
+
"data-swiping:duration-0 data-nested-drawer-swiping:duration-0 motion-reduce:transition-none"
|
|
30
|
+
],
|
|
31
|
+
content: ["transition-opacity duration-150 ease-slide motion-reduce:transition-none", "group-data-nested-drawer-open/drawer-popup:opacity-0 group-data-nested-drawer-swiping/drawer-popup:opacity-100"],
|
|
32
|
+
swipeHandle: ["transition-opacity duration-150 motion-reduce:transition-none", "group-data-nested-drawer-open/drawer-popup:opacity-0 group-data-nested-drawer-swiping/drawer-popup:opacity-100"]
|
|
33
|
+
},
|
|
34
|
+
variants: {
|
|
35
|
+
side: {
|
|
36
|
+
down: { popup: [
|
|
37
|
+
"[--drawer-exit-y:calc(100%+var(--drawer-inset)+2px)]",
|
|
38
|
+
"[--drawer-stack-y:calc(0px-var(--drawer-stack-offset)-var(--drawer-stack-shrink-offset))]",
|
|
39
|
+
"[--drawer-transform-origin:50%_100%]"
|
|
40
|
+
] },
|
|
41
|
+
up: { popup: [
|
|
42
|
+
"[--drawer-exit-y:calc(-100%-var(--drawer-inset)-2px)]",
|
|
43
|
+
"[--drawer-stack-y:calc(var(--drawer-stack-offset)+var(--drawer-stack-shrink-offset))]",
|
|
44
|
+
"[--drawer-transform-origin:50%_0%]"
|
|
45
|
+
] },
|
|
46
|
+
left: { popup: [
|
|
47
|
+
"[--drawer-exit-x:calc(-100%-var(--drawer-inset)-2px)]",
|
|
48
|
+
"[--drawer-stack-x:calc(var(--drawer-stack-offset)+var(--drawer-stack-shrink-offset))]",
|
|
49
|
+
"[--drawer-transform-origin:0%_50%]"
|
|
50
|
+
] },
|
|
51
|
+
right: { popup: [
|
|
52
|
+
"[--drawer-exit-x:calc(100%+var(--drawer-inset)+2px)]",
|
|
53
|
+
"[--drawer-stack-x:calc(0px-var(--drawer-stack-offset)-var(--drawer-stack-shrink-offset))]",
|
|
54
|
+
"[--drawer-transform-origin:100%_50%]"
|
|
55
|
+
] }
|
|
56
|
+
},
|
|
57
|
+
axis: {
|
|
58
|
+
x: { popup: ["[--drawer-stack-size:100%]", "[--drawer-swipe-x:var(--drawer-swipe-movement-x)]"] },
|
|
59
|
+
y: { popup: ["[--drawer-stack-size:max(0px,var(--drawer-frontmost-height,var(--drawer-height)))]", "[--drawer-swipe-y:calc(var(--drawer-snap-point-offset,0px)+var(--drawer-swipe-movement-y))]"] }
|
|
60
|
+
},
|
|
61
|
+
snapPoints: { true: { overlay: ["[--drawer-overlay-min-opacity:0.5]"] } }
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
const drawer = tv({
|
|
65
|
+
extend: drawerMotion,
|
|
66
|
+
slots: {
|
|
67
|
+
overlay: [
|
|
68
|
+
"fixed inset-0 z-50 min-h-dvh select-none",
|
|
69
|
+
"supports-[-webkit-touch-callout:none]:absolute",
|
|
70
|
+
"bg-layer-backdrop"
|
|
71
|
+
],
|
|
72
|
+
viewport: ["pointer-events-none fixed inset-0 z-50 select-none"],
|
|
73
|
+
popup: [
|
|
74
|
+
"group/drawer-popup pointer-events-auto fixed z-50 flex h-(--drawer-content-height) flex-col outline-none",
|
|
75
|
+
"[--drawer-inset:12px] [--drawer-content-height:var(--drawer-height,auto)]",
|
|
76
|
+
"data-nested-drawer-open:overflow-hidden",
|
|
77
|
+
"bg-layer-popover text-foreground",
|
|
78
|
+
"shadow-float ring-1 ring-line-seam"
|
|
79
|
+
],
|
|
80
|
+
content: ["flex min-h-0 flex-1 flex-col rounded-[inherit] select-text", "group-data-swiping/drawer-popup:select-none"],
|
|
81
|
+
swipeHandle: [
|
|
82
|
+
"relative z-10 shrink-0 cursor-grab select-none active:cursor-grabbing",
|
|
83
|
+
"before:absolute before:content-['']",
|
|
84
|
+
"before:rounded-full before:bg-line-seam"
|
|
85
|
+
],
|
|
86
|
+
close: ["shrink-0"],
|
|
87
|
+
closeIcon: ["size-control-icon"],
|
|
88
|
+
header: ["flex flex-col", "items-stretch gap-1 px-4 pt-4 pb-2 text-left"],
|
|
89
|
+
body: ["flex flex-1 flex-col", "items-stretch px-4 pt-2 pb-4 text-left"],
|
|
90
|
+
footer: ["mt-auto py-5", "px-4 pt-3 pb-4"],
|
|
91
|
+
actions: [
|
|
92
|
+
"flex w-full flex-col items-stretch",
|
|
93
|
+
"**:data-[slot=button]:w-full",
|
|
94
|
+
"gap-2"
|
|
95
|
+
],
|
|
96
|
+
title: ["text-pretty text-foreground", "max-w-none text-left font-sans text-headline font-bold"],
|
|
97
|
+
description: ["text-pretty", "max-w-none text-left font-sans text-callout text-foreground-muted"]
|
|
98
|
+
},
|
|
99
|
+
variants: {
|
|
100
|
+
nested: {
|
|
101
|
+
false: {},
|
|
102
|
+
true: { overlay: ["bg-layer-backdrop-nested"] }
|
|
103
|
+
},
|
|
104
|
+
side: {
|
|
105
|
+
down: {
|
|
106
|
+
popup: [
|
|
107
|
+
"bottom-(--drawer-inset) min-h-64 max-h-[82vh]",
|
|
108
|
+
"rounded-t-dialog [--drawer-inset:0px]",
|
|
109
|
+
"pb-[env(safe-area-inset-bottom,0px)]"
|
|
110
|
+
],
|
|
111
|
+
swipeHandle: ["before:top-3"]
|
|
112
|
+
},
|
|
113
|
+
up: {
|
|
114
|
+
popup: [
|
|
115
|
+
"top-(--drawer-inset) max-h-[80vh]",
|
|
116
|
+
"rounded-b-dialog [--drawer-inset:0px]",
|
|
117
|
+
"pt-[env(safe-area-inset-top,0px)]"
|
|
118
|
+
],
|
|
119
|
+
swipeHandle: ["order-last", "before:bottom-3"]
|
|
120
|
+
},
|
|
121
|
+
left: {
|
|
122
|
+
popup: ["left-(--drawer-inset)"],
|
|
123
|
+
swipeHandle: ["order-last", "before:right-3"]
|
|
124
|
+
},
|
|
125
|
+
right: {
|
|
126
|
+
popup: ["right-(--drawer-inset)"],
|
|
127
|
+
swipeHandle: ["before:left-3"]
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
axis: {
|
|
131
|
+
x: {
|
|
132
|
+
popup: ["flex-row", "inset-y-0 w-full max-w-[420px] [--drawer-inset:0px]"],
|
|
133
|
+
swipeHandle: [
|
|
134
|
+
"my-auto h-16 w-11",
|
|
135
|
+
"before:top-1/2 before:-translate-y-1/2",
|
|
136
|
+
"before:w-1 before:h-9"
|
|
137
|
+
],
|
|
138
|
+
header: [
|
|
139
|
+
"min-h-14 shrink-0 flex-row items-center justify-between gap-2 py-0 text-left",
|
|
140
|
+
"border-b border-line-seam",
|
|
141
|
+
panelHeadEdges
|
|
142
|
+
],
|
|
143
|
+
body: ["items-stretch text-left", "min-h-0 overflow-y-auto px-5 py-4"],
|
|
144
|
+
footer: ["border-t border-line-seam px-5 py-3"],
|
|
145
|
+
title: ["min-w-0 max-w-none flex-1 text-left"],
|
|
146
|
+
description: ["max-w-none text-left"],
|
|
147
|
+
actions: ["flex-row flex-wrap justify-end", "**:data-[slot=button]:w-auto"]
|
|
148
|
+
},
|
|
149
|
+
y: {
|
|
150
|
+
popup: [
|
|
151
|
+
"data-nested-drawer-open:h-(--drawer-frontmost-height)",
|
|
152
|
+
"mx-auto md:max-w-md",
|
|
153
|
+
"inset-x-0"
|
|
154
|
+
],
|
|
155
|
+
swipeHandle: [
|
|
156
|
+
"mx-auto w-16",
|
|
157
|
+
"before:left-1/2 before:-translate-x-1/2",
|
|
158
|
+
"h-4",
|
|
159
|
+
"before:top-1.5 before:h-1 before:w-9"
|
|
160
|
+
]
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
},
|
|
164
|
+
compoundVariants: [{
|
|
165
|
+
side: "down",
|
|
166
|
+
snapPoints: true,
|
|
167
|
+
class: { header: ["pt-2"] }
|
|
168
|
+
}, {
|
|
169
|
+
axis: "y",
|
|
170
|
+
snapPoints: true,
|
|
171
|
+
class: { popup: ["[--drawer-content-height:100dvh]"] }
|
|
172
|
+
}]
|
|
173
|
+
});
|
|
174
|
+
//#endregion
|
|
175
|
+
export { drawer };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { Drawer, DrawerActions, DrawerActionsProps, DrawerBody, DrawerBodyProps, DrawerClose, DrawerCloseProps, DrawerContent, DrawerContentProps, DrawerDescription, DrawerDescriptionProps, DrawerFooter, DrawerFooterProps, DrawerHeader, DrawerHeaderProps, DrawerOverlay, DrawerOverlayProps, DrawerPortal, DrawerPortalProps, DrawerProps, DrawerTitle, DrawerTitleProps, DrawerTrigger, DrawerTriggerProps } from "./drawer.mjs";
|
|
2
|
+
export { Drawer, DrawerActions, type DrawerActionsProps, DrawerBody, type DrawerBodyProps, DrawerClose, type DrawerCloseProps, DrawerContent, type DrawerContentProps, DrawerDescription, type DrawerDescriptionProps, DrawerFooter, type DrawerFooterProps, DrawerHeader, type DrawerHeaderProps, DrawerOverlay, type DrawerOverlayProps, DrawerPortal, type DrawerPortalProps, type DrawerProps, DrawerTitle, type DrawerTitleProps, DrawerTrigger, type DrawerTriggerProps };
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { StyledProps } from "../../lib/styled-props.mjs";
|
|
2
|
+
import { BadgeProps } from "../badge/badge.mjs";
|
|
3
|
+
import "../badge/index.mjs";
|
|
4
|
+
import { KbdProps } from "../kbd/kbd.mjs";
|
|
5
|
+
import "../kbd/index.mjs";
|
|
6
|
+
import { ComponentPropsWithRef } from "react";
|
|
7
|
+
import { Menu } from "@base-ui/react/menu";
|
|
8
|
+
//#region src/components/dropdown-menu/dropdown-menu.d.ts
|
|
9
|
+
export type DropdownMenuProps = Menu.Root.Props;
|
|
10
|
+
export declare function DropdownMenu(props: DropdownMenuProps): import("react").JSX.Element;
|
|
11
|
+
export type DropdownMenuSubmenuProps = Menu.SubmenuRoot.Props;
|
|
12
|
+
export declare function DropdownMenuSubmenu(props: DropdownMenuSubmenuProps): import("react").JSX.Element;
|
|
13
|
+
export type DropdownMenuTriggerProps = StyledProps<Menu.Trigger.Props>;
|
|
14
|
+
export declare function DropdownMenuTrigger({ className, render, ...props }: DropdownMenuTriggerProps): import("react").JSX.Element;
|
|
15
|
+
export type DropdownMenuPortalProps = Menu.Portal.Props;
|
|
16
|
+
export declare function DropdownMenuPortal(props: DropdownMenuPortalProps): import("react").JSX.Element;
|
|
17
|
+
export type DropdownMenuPopupProps = ComponentPropsWithRef<"div">;
|
|
18
|
+
export declare function DropdownMenuPopup({ className, ...props }: DropdownMenuPopupProps): import("react").JSX.Element;
|
|
19
|
+
export type DropdownMenuContentProps = StyledProps<Menu.Popup.Props> & Pick<Menu.Positioner.Props, "align" | "alignOffset" | "anchor" | "arrowPadding" | "collisionAvoidance" | "collisionBoundary" | "collisionPadding" | "disableAnchorTracking" | "positionMethod" | "side" | "sideOffset" | "sticky"> & {
|
|
20
|
+
portalProps?: DropdownMenuPortalProps;
|
|
21
|
+
};
|
|
22
|
+
export declare function DropdownMenuContent({ align, alignOffset, anchor, arrowPadding, collisionAvoidance, collisionBoundary, collisionPadding, disableAnchorTracking, positionMethod, side, sideOffset, sticky, portalProps, className, ...props }: DropdownMenuContentProps): import("react").JSX.Element;
|
|
23
|
+
export type DropdownMenuItemProps = StyledProps<Menu.Item.Props>;
|
|
24
|
+
export declare function DropdownMenuItem({ className, ...props }: DropdownMenuItemProps): import("react").JSX.Element;
|
|
25
|
+
export type DropdownMenuItemLabelProps = StyledProps<ComponentPropsWithRef<"span">>;
|
|
26
|
+
export declare function DropdownMenuItemLabel({ className, ...props }: DropdownMenuItemLabelProps): import("react").JSX.Element;
|
|
27
|
+
export type DropdownMenuFooterProps = StyledProps<ComponentPropsWithRef<"div">>;
|
|
28
|
+
export declare function DropdownMenuFooter({ className, ...props }: DropdownMenuFooterProps): import("react").JSX.Element;
|
|
29
|
+
export type DropdownMenuSubmenuTriggerProps = StyledProps<Menu.SubmenuTrigger.Props>;
|
|
30
|
+
export declare function DropdownMenuSubmenuTrigger({ children, className, ...props }: DropdownMenuSubmenuTriggerProps): import("react").JSX.Element;
|
|
31
|
+
export type DropdownMenuLabelProps = StyledProps<ComponentPropsWithRef<"div">>;
|
|
32
|
+
export declare function DropdownMenuLabel({ className, ...props }: DropdownMenuLabelProps): import("react").JSX.Element;
|
|
33
|
+
export type DropdownMenuShortcutProps = KbdProps;
|
|
34
|
+
export declare function DropdownMenuShortcut({ className, ...props }: DropdownMenuShortcutProps): import("react").JSX.Element;
|
|
35
|
+
export type DropdownMenuItemCountProps = BadgeProps;
|
|
36
|
+
export declare function DropdownMenuItemCount({ className, ...props }: DropdownMenuItemCountProps): import("react").JSX.Element;
|
|
37
|
+
export type DropdownMenuSeparatorProps = StyledProps<Menu.Separator.Props>;
|
|
38
|
+
export declare function DropdownMenuSeparator({ className, ...props }: DropdownMenuSeparatorProps): import("react").JSX.Element;
|
|
39
|
+
export type DropdownMenuRadioGroupProps = StyledProps<Menu.RadioGroup.Props>;
|
|
40
|
+
export declare function DropdownMenuRadioGroup({ ...props }: DropdownMenuRadioGroupProps): import("react").JSX.Element;
|
|
41
|
+
export type DropdownMenuRadioItemProps = StyledProps<Menu.RadioItem.Props>;
|
|
42
|
+
export declare function DropdownMenuRadioItem({ className, children, closeOnClick, ...props }: DropdownMenuRadioItemProps): import("react").JSX.Element;
|
|
43
|
+
export type DropdownMenuRadioItemIndicatorProps = StyledProps<Menu.RadioItemIndicator.Props>;
|
|
44
|
+
export declare function DropdownMenuRadioItemIndicator({ className, ...props }: DropdownMenuRadioItemIndicatorProps): import("react").JSX.Element;
|
|
45
|
+
export type DropdownMenuCheckboxItemProps = StyledProps<Menu.CheckboxItem.Props>;
|
|
46
|
+
export declare function DropdownMenuCheckboxItem({ className, children, ...props }: DropdownMenuCheckboxItemProps): import("react").JSX.Element;
|
|
47
|
+
export type DropdownMenuCheckboxItemIndicatorProps = StyledProps<Menu.CheckboxItemIndicator.Props>;
|
|
48
|
+
export declare function DropdownMenuCheckboxItemIndicator({ className, ...props }: DropdownMenuCheckboxItemIndicatorProps): import("react").JSX.Element;
|
|
49
|
+
export type DropdownMenuLinkItemProps = StyledProps<Menu.LinkItem.Props> & {
|
|
50
|
+
/**
|
|
51
|
+
* The page being shown: `aria-current="page"`, drawn as the chosen value
|
|
52
|
+
* of a radio group (a check mark and bold text).
|
|
53
|
+
*/
|
|
54
|
+
current?: boolean;
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* One choice that is another page, such as the same page in another
|
|
58
|
+
* language: a link, so it opens in a new tab and can be copied. Its
|
|
59
|
+
* `href` goes on the item; `current` marks the page being shown.
|
|
60
|
+
*/
|
|
61
|
+
export declare function DropdownMenuLinkItem({ current, className, children, ...props }: DropdownMenuLinkItemProps): import("react").JSX.Element;
|
|
62
|
+
//#endregion
|