@exegia/corpora-ui 1.0.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist-lib/components/atoms/avatar/base.d.ts +2 -0
- package/dist-lib/components/atoms/avatar/index.d.ts +3 -0
- package/dist-lib/components/atoms/avatar/types.d.ts +20 -0
- package/dist-lib/components/atoms/avatar/utils.d.ts +13 -0
- package/dist-lib/components/atoms/background/texture.d.ts +2 -0
- package/dist-lib/components/atoms/background/type.d.ts +7 -0
- package/dist-lib/components/atoms/background/utils.d.ts +4 -0
- package/dist-lib/components/atoms/bubble/actions.d.ts +7 -0
- package/dist-lib/components/atoms/bubble/context.d.ts +4 -0
- package/dist-lib/components/atoms/bubble/default.d.ts +3 -0
- package/dist-lib/components/atoms/bubble/header.d.ts +8 -0
- package/dist-lib/components/atoms/bubble/index.d.ts +16 -0
- package/dist-lib/components/atoms/bubble/message.d.ts +3 -0
- package/dist-lib/components/atoms/bubble/reactions.d.ts +14 -0
- package/dist-lib/components/atoms/bubble/types.d.ts +62 -0
- package/dist-lib/components/atoms/bubble/utils.d.ts +13 -0
- package/dist-lib/components/atoms/field.d.ts +2 -0
- package/dist-lib/components/atoms/index.d.ts +10 -0
- package/dist-lib/components/atoms/loader.d.ts +2 -0
- package/dist-lib/components/atoms/reference.d.ts +7 -0
- package/dist-lib/components/atoms/text/default.d.ts +1144 -0
- package/dist-lib/components/atoms/text/heading.d.ts +2 -0
- package/dist-lib/components/atoms/text/index.d.ts +18 -0
- package/dist-lib/components/atoms/text/label.d.ts +2 -0
- package/dist-lib/components/atoms/text/paragraph.d.ts +2 -0
- package/dist-lib/components/atoms/text/span.d.ts +2 -0
- package/dist-lib/components/atoms/text/types.d.ts +27 -0
- package/dist-lib/components/atoms/text/utils.d.ts +4 -0
- package/dist-lib/components/atoms/text-selection/click-popover.d.ts +3 -0
- package/dist-lib/components/atoms/text-selection/index.d.ts +6 -0
- package/dist-lib/components/atoms/text-selection/popover.d.ts +3 -0
- package/dist-lib/components/atoms/text-selection/selection-atom.d.ts +30 -0
- package/dist-lib/components/atoms/text-selection/selection.d.ts +3 -0
- package/dist-lib/components/atoms/text-selection/types.d.ts +90 -0
- package/dist-lib/components/atoms/text-selection/use-selection.d.ts +7 -0
- package/dist-lib/components/atoms/types.d.ts +39 -0
- package/dist-lib/components/blocks/auth/auth-flow-atom.d.ts +76 -0
- package/dist-lib/components/blocks/auth/auth-flow-block.d.ts +41 -0
- package/dist-lib/components/blocks/auth/auth-session-atom.d.ts +28 -0
- package/dist-lib/components/blocks/auth/auth-shell.d.ts +55 -0
- package/dist-lib/components/blocks/auth/auth-state.d.ts +8 -0
- package/dist-lib/components/blocks/auth/code-auth-block.d.ts +3 -0
- package/dist-lib/components/blocks/auth/forgot-password-block.d.ts +3 -0
- package/dist-lib/components/blocks/auth/linked-accounts-block.d.ts +9 -0
- package/dist-lib/components/blocks/auth/login-block.d.ts +3 -0
- package/dist-lib/components/blocks/auth/onboarding/profile-step.d.ts +8 -0
- package/dist-lib/components/blocks/auth/onboarding-block.d.ts +15 -0
- package/dist-lib/components/blocks/auth/passkey-manager-block.d.ts +10 -0
- package/dist-lib/components/blocks/auth/passkey-sign-in-block.d.ts +8 -0
- package/dist-lib/components/blocks/auth/signup-block.d.ts +3 -0
- package/dist-lib/components/blocks/auth/type.d.ts +398 -0
- package/dist-lib/components/blocks/auth/update-password-block.d.ts +9 -0
- package/dist-lib/components/blocks/auth/use-auth-state.d.ts +52 -0
- package/dist-lib/components/blocks/chat/banners.d.ts +5 -0
- package/dist-lib/components/blocks/chat/base.d.ts +10 -0
- package/dist-lib/components/blocks/chat/header.d.ts +4 -0
- package/dist-lib/components/blocks/chat/index.d.ts +11 -0
- package/dist-lib/components/blocks/chat/recommendation-stack.d.ts +11 -0
- package/dist-lib/components/blocks/chat/suggested-prompts.d.ts +3 -0
- package/dist-lib/components/blocks/chat/type.d.ts +75 -0
- package/dist-lib/components/blocks/chat/version-history-record.d.ts +3 -0
- package/dist-lib/components/blocks/layout.d.ts +8 -0
- package/dist-lib/components/blocks/profile/index.d.ts +7 -0
- package/dist-lib/components/blocks/profile/profile-card-atom.d.ts +68 -0
- package/dist-lib/components/blocks/profile/profile-card-block.d.ts +66 -0
- package/dist-lib/components/blocks/profile/type.d.ts +80 -0
- package/dist-lib/components/blocks/profile/use-profile-card-state.d.ts +24 -0
- package/dist-lib/components/blocks/profile/use-profile-card.d.ts +34 -0
- package/dist-lib/components/blocks/scaffold/index.d.ts +29 -0
- package/dist-lib/components/blocks/scaffold/panel-close-button.d.ts +4 -0
- package/dist-lib/components/blocks/scaffold/panel-menu-button.d.ts +8 -0
- package/dist-lib/components/blocks/scaffold/scaffold-actions.d.ts +10 -0
- package/dist-lib/components/blocks/scaffold/scaffold-atom.d.ts +112 -0
- package/dist-lib/components/blocks/scaffold/scaffold-canvas.d.ts +9 -0
- package/dist-lib/components/blocks/scaffold/scaffold-context.d.ts +7 -0
- package/dist-lib/components/blocks/scaffold/scaffold-inspector.d.ts +9 -0
- package/dist-lib/components/blocks/scaffold/scaffold-main.d.ts +8 -0
- package/dist-lib/components/blocks/scaffold/scaffold-panel.d.ts +16 -0
- package/dist-lib/components/blocks/scaffold/scaffold-root.d.ts +17 -0
- package/dist-lib/components/blocks/scaffold/scaffold-sidebar.d.ts +7 -0
- package/dist-lib/components/blocks/scaffold/scaffold-sub-panel.d.ts +6 -0
- package/dist-lib/components/blocks/scaffold/scaffold-tab.d.ts +14 -0
- package/dist-lib/components/blocks/scaffold/type.d.ts +216 -0
- package/dist-lib/components/blocks/scaffold/use-scaffold-state.d.ts +26 -0
- package/dist-lib/components/blocks/scaffold/use-scaffold.d.ts +14 -0
- package/dist-lib/components/blocks/scaffold/utils.d.ts +38 -0
- package/dist-lib/components/blocks/shell/animated-panel-inset.d.ts +2 -0
- package/dist-lib/components/blocks/shell/animated-panel-provider.d.ts +2 -0
- package/dist-lib/components/blocks/shell/animated-panel-trigger.d.ts +2 -0
- package/dist-lib/components/blocks/shell/animated-panel.d.ts +2 -0
- package/dist-lib/components/blocks/shell/shell-fit-atom.d.ts +68 -0
- package/dist-lib/components/blocks/shell/shell-layout.d.ts +3 -0
- package/dist-lib/components/blocks/shell/shell-metrics.d.ts +72 -0
- package/dist-lib/components/blocks/shell/shell-panel-atom.d.ts +40 -0
- package/dist-lib/components/blocks/shell/type.d.ts +301 -0
- package/dist-lib/components/blocks/shell/use-shell-fit-state.d.ts +25 -0
- package/dist-lib/components/blocks/shell/use-shell-fit.d.ts +13 -0
- package/dist-lib/components/blocks/shell/use-shell-panels.d.ts +20 -0
- package/dist-lib/components/blocks/shell/utils.d.ts +72 -0
- package/dist-lib/components/blocks/sidebar/ai-sidebar-atom.d.ts +217 -0
- package/dist-lib/components/blocks/sidebar/ai-sidebar.d.ts +11 -0
- package/dist-lib/components/blocks/sidebar/index.d.ts +15 -0
- package/dist-lib/components/blocks/sidebar/sidebar-context.d.ts +3 -0
- package/dist-lib/components/blocks/sidebar/sidebar-icon.d.ts +2 -0
- package/dist-lib/components/blocks/sidebar/sidebar-row.d.ts +4 -0
- package/dist-lib/components/blocks/sidebar/type.d.ts +245 -0
- package/dist-lib/components/blocks/sidebar/use-ai-sidebar-state.d.ts +29 -0
- package/dist-lib/components/blocks/sidebar/use-ai-sidebar.d.ts +27 -0
- package/dist-lib/components/blocks/sidebar/utils.d.ts +21 -0
- package/dist-lib/components/blocks/types.d.ts +6 -0
- package/dist-lib/components/composed/action-bar/action.d.ts +18 -0
- package/dist-lib/components/composed/action-bar/emojis.d.ts +10 -0
- package/dist-lib/components/composed/action-bar/index.d.ts +12 -0
- package/dist-lib/components/composed/action-bar/toolbar.d.ts +2 -0
- package/dist-lib/components/composed/action-bar/types.d.ts +55 -0
- package/dist-lib/components/composed/action-bar/utils.d.ts +56 -0
- package/dist-lib/components/composed/ai/index.d.ts +17 -0
- package/dist-lib/components/composed/ai/message.d.ts +7 -0
- package/dist-lib/components/composed/ai/research-answer.d.ts +30 -0
- package/dist-lib/components/composed/ai/streaming-text.d.ts +26 -0
- package/dist-lib/components/composed/ai/suggested-prompt.d.ts +35 -0
- package/dist-lib/components/composed/ai/types.d.ts +68 -0
- package/dist-lib/components/composed/chat/attachment-file.d.ts +17 -0
- package/dist-lib/components/composed/chat/attachment.d.ts +60 -0
- package/dist-lib/components/composed/chat/chart.d.ts +44 -0
- package/dist-lib/components/composed/chat/code-block.d.ts +26 -0
- package/dist-lib/components/composed/chat/composer/add-button.d.ts +5 -0
- package/dist-lib/components/composed/chat/composer/base.d.ts +5 -0
- package/dist-lib/components/composed/chat/composer/command-menu.d.ts +3 -0
- package/dist-lib/components/composed/chat/composer/hooks.d.ts +9 -0
- package/dist-lib/components/composed/chat/composer/send-button.d.ts +3 -0
- package/dist-lib/components/composed/chat/composer/suggestions.d.ts +7 -0
- package/dist-lib/components/composed/chat/composer/use-dictation.d.ts +8 -0
- package/dist-lib/components/composed/chat/composer/utils.d.ts +19 -0
- package/dist-lib/components/composed/chat/context-cards.d.ts +27 -0
- package/dist-lib/components/composed/chat/filter-table.d.ts +40 -0
- package/dist-lib/components/composed/chat/flowchart/chart-node.d.ts +2 -0
- package/dist-lib/components/composed/chat/flowchart/connector.d.ts +2 -0
- package/dist-lib/components/composed/chat/flowchart/default.d.ts +7 -0
- package/dist-lib/components/composed/chat/flowchart/edge-toolbar.d.ts +9 -0
- package/dist-lib/components/composed/chat/flowchart/hooks.d.ts +290 -0
- package/dist-lib/components/composed/chat/flowchart/step-body.d.ts +6 -0
- package/dist-lib/components/composed/chat/flowchart/types.d.ts +91 -0
- package/dist-lib/components/composed/chat/flowchart/utils.d.ts +64 -0
- package/dist-lib/components/composed/chat/index.d.ts +15 -0
- package/dist-lib/components/composed/chat/insight-cards.d.ts +54 -0
- package/dist-lib/components/composed/chat/markdown-atom.d.ts +7 -0
- package/dist-lib/components/composed/chat/markdown.d.ts +22 -0
- package/dist-lib/components/composed/chat/recommendation/checkbox.d.ts +9 -0
- package/dist-lib/components/composed/chat/recommendation/constant.d.ts +52 -0
- package/dist-lib/components/composed/chat/recommendation/default.d.ts +7 -0
- package/dist-lib/components/composed/chat/recommendation/group.d.ts +7 -0
- package/dist-lib/components/composed/chat/recommendation/index.d.ts +13 -0
- package/dist-lib/components/composed/chat/recommendation/item.d.ts +12 -0
- package/dist-lib/components/composed/chat/recommendation/types.d.ts +62 -0
- package/dist-lib/components/composed/chat/records-table.d.ts +40 -0
- package/dist-lib/components/composed/chat/type.d.ts +117 -0
- package/dist-lib/components/composed/logo.d.ts +34 -0
- package/dist-lib/components/composed/password-input.d.ts +30 -0
- package/dist-lib/components/composed/reader/applied-mark.d.ts +3 -0
- package/dist-lib/components/composed/reader/apply-toast.d.ts +3 -0
- package/dist-lib/components/composed/reader/selection-highlight.d.ts +3 -0
- package/dist-lib/components/composed/reader/selection-popover.d.ts +9 -0
- package/dist-lib/components/composed/reader/type.d.ts +40 -0
- package/dist-lib/components/composed/social-providers.d.ts +39 -0
- package/dist-lib/components/composed/tree/index.d.ts +6 -0
- package/dist-lib/components/composed/tree/tree-atom.d.ts +160 -0
- package/dist-lib/components/composed/tree/tree-context.d.ts +4 -0
- package/dist-lib/components/composed/tree/tree-node.d.ts +12 -0
- package/dist-lib/components/composed/tree/tree.d.ts +19 -0
- package/dist-lib/components/composed/tree/type.d.ts +290 -0
- package/dist-lib/components/composed/tree/use-tree-dnd.d.ts +18 -0
- package/dist-lib/components/composed/tree/use-tree-state.d.ts +25 -0
- package/dist-lib/components/composed/tree/use-tree.d.ts +24 -0
- package/dist-lib/components/composed/tree/utils.d.ts +28 -0
- package/dist-lib/components/composed/types.d.ts +7 -0
- package/dist-lib/components/composed/user/index.d.ts +11 -0
- package/dist-lib/components/composed/user/info.d.ts +12 -0
- package/dist-lib/components/composed/user/message.d.ts +2 -0
- package/dist-lib/components/composed/user/pill.d.ts +10 -0
- package/dist-lib/components/composed/user/types.d.ts +27 -0
- package/dist-lib/components/composed/verse/index.d.ts +2 -0
- package/dist-lib/components/composed/verse/types.d.ts +18 -0
- package/dist-lib/components/composed/verse/verse.d.ts +5 -0
- package/dist-lib/components/docs/atoms-gallery.d.ts +12 -0
- package/dist-lib/components/docs/block-demo-stage.d.ts +7 -0
- package/dist-lib/components/docs/blocks-gallery.d.ts +2 -0
- package/dist-lib/components/docs/browser.d.ts +10 -0
- package/dist-lib/components/docs/components-gallery.d.ts +2 -0
- package/dist-lib/components/docs/demo-controls.d.ts +21 -0
- package/dist-lib/components/icons/__tests__/icons.test.d.ts +1 -0
- package/dist-lib/components/icons/file-badge-cfm.d.ts +7 -0
- package/dist-lib/components/icons/file-badge-corpus.d.ts +7 -0
- package/dist-lib/components/icons/file-badge-pdf.d.ts +7 -0
- package/dist-lib/components/icons/file-badge-tei.d.ts +7 -0
- package/dist-lib/components/icons/file-badge-tf.d.ts +7 -0
- package/dist-lib/components/icons/file-badge-txt.d.ts +7 -0
- package/dist-lib/components/icons/file-badge-xml.d.ts +7 -0
- package/dist-lib/components/icons/file-wordmark-cfm.d.ts +7 -0
- package/dist-lib/components/icons/file-wordmark-corpus.d.ts +7 -0
- package/dist-lib/components/icons/file-wordmark-pdf.d.ts +7 -0
- package/dist-lib/components/icons/file-wordmark-tei.d.ts +7 -0
- package/dist-lib/components/icons/file-wordmark-tf.d.ts +7 -0
- package/dist-lib/components/icons/file-wordmark-txt.d.ts +7 -0
- package/dist-lib/components/icons/file-wordmark-xml.d.ts +7 -0
- package/dist-lib/components/icons/index.d.ts +15 -0
- package/dist-lib/components/icons/types.d.ts +7 -0
- package/dist-lib/components/motion/index.d.ts +1 -0
- package/dist-lib/components/motion/overflow-actions.d.ts +35 -0
- package/dist-lib/components/motion/popover-morph.d.ts +35 -0
- package/dist-lib/components/motion/popover-position.d.ts +15 -0
- package/dist-lib/components/motion/shared-layout-bg.d.ts +13 -0
- package/dist-lib/components/stories/attachment.story.d.ts +11 -0
- package/dist-lib/components/stories/auth-flow-block.story.d.ts +2 -0
- package/dist-lib/components/stories/avatar.story.d.ts +6 -0
- package/dist-lib/components/stories/base.story.d.ts +6 -0
- package/dist-lib/components/stories/bubble.story.d.ts +6 -0
- package/dist-lib/components/stories/button.story.d.ts +9 -0
- package/dist-lib/components/stories/card.story.d.ts +8 -0
- package/dist-lib/components/stories/chart.story.d.ts +34 -0
- package/dist-lib/components/stories/checkbox.story.d.ts +6 -0
- package/dist-lib/components/stories/code-auth-block.story.d.ts +2 -0
- package/dist-lib/components/stories/code-block.story.d.ts +12 -0
- package/dist-lib/components/stories/composed-password-input.story.d.ts +6 -0
- package/dist-lib/components/stories/context-cards.story.d.ts +3 -0
- package/dist-lib/components/stories/emoji-action-bar.story.d.ts +3 -0
- package/dist-lib/components/stories/field.story.d.ts +6 -0
- package/dist-lib/components/stories/file-icons.story.d.ts +5 -0
- package/dist-lib/components/stories/filter-table.story.d.ts +21 -0
- package/dist-lib/components/stories/flowchart.story.d.ts +3 -0
- package/dist-lib/components/stories/forgot-password-block.story.d.ts +2 -0
- package/dist-lib/components/stories/frame.story.d.ts +8 -0
- package/dist-lib/components/stories/index.d.ts +54 -0
- package/dist-lib/components/stories/input-group.story.d.ts +6 -0
- package/dist-lib/components/stories/input.story.d.ts +8 -0
- package/dist-lib/components/stories/insight-cards.story.d.ts +45 -0
- package/dist-lib/components/stories/label.story.d.ts +8 -0
- package/dist-lib/components/stories/linked-accounts-block.story.d.ts +2 -0
- package/dist-lib/components/stories/login-block.story.d.ts +2 -0
- package/dist-lib/components/stories/logo.story.d.ts +3 -0
- package/dist-lib/components/stories/markdown.story.d.ts +7 -0
- package/dist-lib/components/stories/menu-command.story.d.ts +13 -0
- package/dist-lib/components/stories/onboarding-block.story.d.ts +2 -0
- package/dist-lib/components/stories/otp-field.story.d.ts +8 -0
- package/dist-lib/components/stories/passkey-manager-block.story.d.ts +2 -0
- package/dist-lib/components/stories/passkey-sign-in-block.story.d.ts +2 -0
- package/dist-lib/components/stories/password-input.story.d.ts +9 -0
- package/dist-lib/components/stories/profile-card-block.story.d.ts +6 -0
- package/dist-lib/components/stories/recommendation-card.story.d.ts +3 -0
- package/dist-lib/components/stories/records-table.story.d.ts +23 -0
- package/dist-lib/components/stories/reference.story.d.ts +9 -0
- package/dist-lib/components/stories/research-answer.story.d.ts +10 -0
- package/dist-lib/components/stories/scaffold-root.story.d.ts +6 -0
- package/dist-lib/components/stories/separator.story.d.ts +6 -0
- package/dist-lib/components/stories/shell-layout.story.d.ts +2 -0
- package/dist-lib/components/stories/signup-block.story.d.ts +2 -0
- package/dist-lib/components/stories/social-providers.story.d.ts +3 -0
- package/dist-lib/components/stories/streaming-text.story.d.ts +3 -0
- package/dist-lib/components/stories/text.story.d.ts +8 -0
- package/dist-lib/components/stories/textarea.story.d.ts +6 -0
- package/dist-lib/components/stories/tree.story.d.ts +4 -0
- package/dist-lib/components/stories/update-password-block.story.d.ts +2 -0
- package/dist-lib/components/stories/user.story.d.ts +8 -0
- package/dist-lib/components/stories/verse.story.d.ts +6 -0
- package/dist-lib/components/theme-provider.d.ts +15 -0
- package/dist-lib/components/types.d.ts +11 -0
- package/dist-lib/components/ui/badge.d.ts +14 -0
- package/dist-lib/components/ui/button.d.ts +28 -0
- package/dist-lib/components/ui/chat/__tests__/segmented-toggle.test.d.ts +1 -0
- package/dist-lib/components/ui/chat/avatar-handle.d.ts +13 -0
- package/dist-lib/components/ui/chat/badges.d.ts +29 -0
- package/dist-lib/components/ui/chat/buttons.d.ts +29 -0
- package/dist-lib/components/ui/chat/chips.d.ts +48 -0
- package/dist-lib/components/ui/chat/dot.d.ts +30 -0
- package/dist-lib/components/ui/chat/icon-button.d.ts +18 -0
- package/dist-lib/components/ui/chat/icon-tile.d.ts +20 -0
- package/dist-lib/components/ui/chat/index.d.ts +12 -0
- package/dist-lib/components/ui/chat/inline-source.d.ts +20 -0
- package/dist-lib/components/ui/chat/segmented-toggle.d.ts +20 -0
- package/dist-lib/components/ui/chat/tag.d.ts +21 -0
- package/dist-lib/components/ui/chat/thumbnail.d.ts +13 -0
- package/dist-lib/components/ui/chat/waveform.d.ts +13 -0
- package/dist-lib/components/ui/glasscn/glass-button-group.d.ts +7 -0
- package/dist-lib/components/ui/glasscn/glass-button.d.ts +6 -0
- package/dist-lib/components/ui/glasscn/glass-container.d.ts +8 -0
- package/dist-lib/components/ui/glasscn/glass-separator.d.ts +5 -0
- package/dist-lib/components/ui/glasscn/liquid-glass.d.ts +29 -0
- package/dist-lib/components/ui/input-group.d.ts +13 -0
- package/dist-lib/components/ui/input.d.ts +9 -0
- package/dist-lib/components/ui/menu-command.d.ts +36 -0
- package/dist-lib/components/ui/popover-glass.d.ts +32 -0
- package/dist-lib/components/ui/select.d.ts +30 -0
- package/dist-lib/components/ui/tabs.d.ts +15 -0
- package/dist-lib/components/ui/textarea.d.ts +8 -0
- package/dist-lib/components/ui/toast.d.ts +15 -0
- package/dist-lib/index.d.ts +65 -0
- package/dist-lib/index.js +6911 -5932
- package/dist-lib/index.js.map +1 -1
- package/dist-lib/lib/attachment-content.d.ts +4 -0
- package/dist-lib/lib/auth-accent.d.ts +33 -0
- package/dist-lib/lib/glass-variants.d.ts +9 -0
- package/dist-lib/lib/keyed-atom.d.ts +14 -0
- package/dist-lib/lib/segmented-control.d.ts +8 -0
- package/dist-lib/lib/specular.d.ts +12 -0
- package/dist-lib/lib/state/__tests__/sound.test.d.ts +1 -0
- package/dist-lib/lib/state/exegia-provider.d.ts +51 -0
- package/dist-lib/lib/state/index.d.ts +4 -0
- package/dist-lib/lib/state/store.d.ts +17 -0
- package/dist-lib/lib/use-motion-panel.d.ts +9 -0
- package/dist-lib/lib/utils.test.d.ts +1 -0
- package/package.json +5 -1
- package/src/components/atoms/avatar/base.tsx +3 -3
- package/src/components/atoms/avatar/index.ts +8 -1
- package/src/components/atoms/avatar/types.ts +9 -9
- package/src/components/atoms/avatar/utils.ts +6 -6
- package/src/components/atoms/background/texture.tsx +2 -2
- package/src/components/atoms/background/type.ts +3 -3
- package/src/components/atoms/background/utils.ts +2 -2
- package/src/components/atoms/bubble/__tests__/bubble.test.tsx +59 -4
- package/src/components/atoms/bubble/actions.tsx +2 -2
- package/src/components/atoms/bubble/context.ts +3 -3
- package/src/components/atoms/bubble/default.tsx +2 -2
- package/src/components/atoms/bubble/header.tsx +6 -4
- package/src/components/atoms/bubble/index.ts +9 -9
- package/src/components/atoms/bubble/message.tsx +12 -5
- package/src/components/atoms/bubble/reactions.tsx +11 -14
- package/src/components/atoms/bubble/types.ts +21 -18
- package/src/components/atoms/bubble/utils.ts +10 -10
- package/src/components/atoms/field.tsx +43 -0
- package/src/components/atoms/index.ts +0 -26
- package/src/components/atoms/loader.tsx +2 -11
- package/src/components/atoms/reference.tsx +2 -2
- package/src/components/atoms/text/default.tsx +5 -5
- package/src/components/atoms/text/heading.tsx +2 -5
- package/src/components/atoms/text/index.ts +8 -4
- package/src/components/atoms/text/label.tsx +2 -2
- package/src/components/atoms/text/paragraph.tsx +2 -5
- package/src/components/atoms/text/span.tsx +2 -3
- package/src/components/atoms/text/types.ts +18 -8
- package/src/components/atoms/text/utils.ts +2 -2
- package/src/components/atoms/text-selection/click-popover.tsx +3 -3
- package/src/components/atoms/text-selection/index.ts +12 -12
- package/src/components/atoms/text-selection/popover.tsx +7 -4
- package/src/components/atoms/text-selection/selection-atom.ts +7 -7
- package/src/components/atoms/text-selection/selection.tsx +2 -2
- package/src/components/atoms/text-selection/types.ts +24 -24
- package/src/components/atoms/text-selection/use-selection.ts +3 -3
- package/src/components/atoms/types.ts +30 -2
- package/src/components/blocks/auth/__tests__/auth-flow-block.test.tsx +4 -4
- package/src/components/blocks/auth/__tests__/auth-state-atom.test.tsx +2 -2
- package/src/components/blocks/auth/__tests__/linked-accounts-block.test.tsx +2 -2
- package/src/components/blocks/auth/__tests__/onboarding-block.test.tsx +39 -12
- package/src/components/blocks/auth/__tests__/passkey-manager-block.test.tsx +4 -4
- package/src/components/blocks/auth/auth-flow-atom.ts +27 -27
- package/src/components/blocks/auth/auth-flow-block.tsx +8 -93
- package/src/components/blocks/auth/auth-session-atom.ts +9 -9
- package/src/components/blocks/auth/auth-shell.tsx +2 -3
- package/src/components/blocks/auth/auth-state.ts +0 -12
- package/src/components/blocks/auth/code-auth-block.tsx +16 -30
- package/src/components/blocks/auth/forgot-password-block.tsx +4 -15
- package/src/components/blocks/auth/linked-accounts-block.tsx +10 -36
- package/src/components/blocks/auth/login-block.tsx +7 -29
- package/src/components/blocks/auth/onboarding/profile-step.tsx +14 -25
- package/src/components/blocks/auth/onboarding-block.tsx +39 -96
- package/src/components/blocks/auth/passkey-manager-block.tsx +8 -33
- package/src/components/blocks/auth/passkey-sign-in-block.tsx +6 -20
- package/src/components/blocks/auth/signup-block.tsx +7 -44
- package/src/components/blocks/auth/type.ts +436 -0
- package/src/components/blocks/auth/update-password-block.tsx +4 -22
- package/src/components/blocks/auth/use-auth-state.ts +12 -12
- package/src/components/blocks/chat/__tests__/ai-panel.test.tsx +2 -2
- package/src/components/blocks/chat/banners.tsx +5 -13
- package/src/components/blocks/chat/base.tsx +2 -2
- package/src/components/blocks/chat/header.tsx +2 -2
- package/src/components/blocks/chat/index.ts +17 -19
- package/src/components/blocks/chat/recommendation-stack.tsx +4 -6
- package/src/components/blocks/chat/suggested-prompts.tsx +2 -2
- package/src/components/blocks/chat/type.ts +96 -0
- package/src/components/blocks/chat/version-history-record.tsx +2 -2
- package/src/components/blocks/profile/__tests__/profile-card-block.test.tsx +6 -6
- package/src/components/blocks/profile/index.ts +2 -2
- package/src/components/blocks/profile/profile-card-atom.ts +29 -29
- package/src/components/blocks/profile/profile-card-block.tsx +30 -30
- package/src/components/blocks/profile/type.ts +17 -17
- package/src/components/blocks/profile/use-profile-card-state.ts +7 -7
- package/src/components/blocks/profile/use-profile-card.ts +18 -18
- package/src/components/blocks/scaffold/__tests__/scaffold-atom.test.tsx +28 -2
- package/src/components/blocks/scaffold/__tests__/scaffold.test.tsx +90 -11
- package/src/components/blocks/scaffold/index.ts +4 -0
- package/src/components/blocks/scaffold/panel-close-button.tsx +2 -2
- package/src/components/blocks/scaffold/panel-menu-button.tsx +2 -2
- package/src/components/blocks/scaffold/scaffold-actions.tsx +2 -2
- package/src/components/blocks/scaffold/scaffold-atom.ts +76 -32
- package/src/components/blocks/scaffold/scaffold-canvas.tsx +89 -10
- package/src/components/blocks/scaffold/scaffold-context.ts +3 -3
- package/src/components/blocks/scaffold/scaffold-inspector.tsx +56 -7
- package/src/components/blocks/scaffold/scaffold-main.tsx +2 -2
- package/src/components/blocks/scaffold/scaffold-panel.tsx +119 -71
- package/src/components/blocks/scaffold/scaffold-root.tsx +14 -12
- package/src/components/blocks/scaffold/scaffold-sidebar.tsx +2 -2
- package/src/components/blocks/scaffold/scaffold-sub-panel.tsx +82 -13
- package/src/components/blocks/scaffold/scaffold-tab.tsx +2 -2
- package/src/components/blocks/scaffold/type.ts +46 -28
- package/src/components/blocks/scaffold/use-scaffold-state.ts +35 -8
- package/src/components/blocks/scaffold/use-scaffold.ts +3 -3
- package/src/components/blocks/scaffold/utils.ts +9 -6
- package/src/components/blocks/shell/__tests__/shell-fit-atom.test.tsx +7 -5
- package/src/components/blocks/shell/__tests__/shell-layout.test.tsx +154 -9
- package/src/components/blocks/shell/__tests__/shell-metrics.test.ts +56 -10
- package/src/components/blocks/shell/animated-panel-inset.tsx +9 -9
- package/src/components/blocks/shell/animated-panel-provider.tsx +76 -30
- package/src/components/blocks/shell/animated-panel-trigger.tsx +10 -5
- package/src/components/blocks/shell/animated-panel.tsx +76 -128
- package/src/components/blocks/shell/shell-fit-atom.ts +29 -26
- package/src/components/blocks/shell/shell-layout.tsx +29 -13
- package/src/components/blocks/shell/shell-metrics.ts +69 -15
- package/src/components/blocks/shell/shell-panel-atom.ts +74 -0
- package/src/components/blocks/shell/type.ts +78 -69
- package/src/components/blocks/shell/use-shell-fit-state.ts +4 -4
- package/src/components/blocks/shell/use-shell-fit.ts +52 -34
- package/src/components/blocks/shell/use-shell-panels.ts +32 -66
- package/src/components/blocks/shell/utils.ts +8 -4
- package/src/components/blocks/sidebar/__tests__/ai-sidebar-atom.test.tsx +325 -0
- package/src/components/blocks/sidebar/__tests__/ai-sidebar.test.tsx +93 -0
- package/src/components/blocks/sidebar/__tests__/use-ai-sidebar.test.tsx +310 -0
- package/src/components/blocks/sidebar/ai-sidebar-atom.ts +698 -0
- package/src/components/blocks/sidebar/ai-sidebar.tsx +150 -0
- package/src/components/blocks/sidebar/index.ts +67 -0
- package/src/components/blocks/sidebar/sidebar-context.ts +15 -0
- package/src/components/blocks/sidebar/sidebar-icon.tsx +14 -0
- package/src/components/blocks/sidebar/sidebar-row.tsx +378 -0
- package/src/components/blocks/sidebar/type.ts +294 -0
- package/src/components/blocks/sidebar/use-ai-sidebar-state.ts +123 -0
- package/src/components/blocks/sidebar/use-ai-sidebar.ts +619 -0
- package/src/components/blocks/sidebar/utils.ts +170 -0
- package/src/components/blocks/types.ts +6 -0
- package/src/components/composed/action-bar/__tests__/action-bar.test.tsx +43 -14
- package/src/components/composed/action-bar/action.tsx +9 -12
- package/src/components/composed/action-bar/emojis.tsx +4 -4
- package/src/components/composed/action-bar/index.ts +8 -8
- package/src/components/composed/action-bar/toolbar.tsx +36 -30
- package/src/components/composed/action-bar/types.ts +14 -14
- package/src/components/composed/action-bar/utils.ts +17 -18
- package/src/components/composed/ai/__tests__/ai.test.tsx +3 -4
- package/src/components/composed/ai/avatar.tsx +4 -5
- package/src/components/composed/ai/index.ts +7 -7
- package/src/components/composed/ai/message.tsx +7 -7
- package/src/components/composed/ai/research-answer.tsx +7 -7
- package/src/components/composed/ai/streaming-text.tsx +5 -5
- package/src/components/composed/ai/suggested-prompt.tsx +4 -4
- package/src/components/composed/ai/types.ts +30 -30
- package/src/components/composed/chat/__tests__/attachment.test.tsx +182 -9
- package/src/components/composed/chat/__tests__/chart.test.tsx +40 -7
- package/src/components/composed/chat/__tests__/composer-attachments.test.tsx +51 -3
- package/src/components/composed/chat/__tests__/composer.test.tsx +173 -6
- package/src/components/composed/chat/__tests__/flowchart.test.tsx +15 -2
- package/src/components/composed/chat/__tests__/glass-material.test.tsx +54 -0
- package/src/components/composed/chat/__tests__/menu-command.test.tsx +35 -0
- package/src/components/composed/chat/__tests__/recommendation.test.tsx +43 -0
- package/src/components/composed/chat/attachment-file.ts +82 -0
- package/src/components/composed/chat/attachment.tsx +387 -117
- package/src/components/composed/chat/chart.tsx +265 -57
- package/src/components/composed/chat/code-block.tsx +5 -5
- package/src/components/composed/chat/composer/BEAUTIFUL-UI-LICENSE.txt +23 -0
- package/src/components/composed/chat/composer/add-button.tsx +24 -17
- package/src/components/composed/chat/composer/base.tsx +503 -178
- package/src/components/composed/chat/composer/command-menu.tsx +31 -26
- package/src/components/composed/chat/composer/hooks.ts +3 -3
- package/src/components/composed/chat/composer/send-button.tsx +20 -28
- package/src/components/composed/chat/composer/suggestions.tsx +2 -2
- package/src/components/composed/chat/composer/use-dictation.ts +123 -0
- package/src/components/composed/chat/composer/utils.ts +4 -4
- package/src/components/composed/chat/context-cards.tsx +5 -5
- package/src/components/composed/chat/filter-table.tsx +8 -8
- package/src/components/composed/chat/flowchart/chart-node.tsx +2 -2
- package/src/components/composed/chat/flowchart/connector.tsx +2 -2
- package/src/components/composed/chat/flowchart/default.tsx +3 -3
- package/src/components/composed/chat/flowchart/edge-toolbar.tsx +5 -5
- package/src/components/composed/chat/flowchart/hooks.tsx +28 -26
- package/src/components/composed/chat/flowchart/step-body.tsx +2 -2
- package/src/components/composed/chat/flowchart/types.ts +14 -14
- package/src/components/composed/chat/flowchart/utils.ts +15 -15
- package/src/components/composed/chat/index.ts +38 -36
- package/src/components/composed/chat/insight-cards.tsx +17 -17
- package/src/components/composed/chat/markdown-atom.ts +2 -2
- package/src/components/composed/chat/markdown.tsx +10 -10
- package/src/components/composed/chat/recommendation/checkbox.tsx +3 -14
- package/src/components/composed/chat/recommendation/constant.ts +35 -6
- package/src/components/composed/chat/recommendation/default.tsx +2 -2
- package/src/components/composed/chat/recommendation/group.tsx +4 -11
- package/src/components/composed/chat/recommendation/index.ts +0 -2
- package/src/components/composed/chat/recommendation/item.tsx +35 -64
- package/src/components/composed/chat/recommendation/types.ts +26 -15
- package/src/components/composed/chat/records-table.tsx +20 -18
- package/src/components/composed/chat/type.ts +56 -25
- package/src/components/composed/logo.tsx +4 -4
- package/src/components/composed/password-input.tsx +2 -2
- package/src/components/composed/reader/applied-mark.tsx +2 -2
- package/src/components/composed/reader/apply-toast.tsx +2 -2
- package/src/components/composed/reader/selection-highlight.tsx +2 -2
- package/src/components/composed/reader/selection-popover.tsx +2 -2
- package/src/components/composed/reader/type.ts +8 -8
- package/src/components/composed/social-providers.tsx +26 -18
- package/src/components/composed/tree/CLAUDE.md +3 -3
- package/src/components/composed/tree/__tests__/tree-atom.test.tsx +8 -8
- package/src/components/composed/tree/__tests__/tree.test.tsx +10 -10
- package/src/components/composed/tree/__tests__/use-tree.test.tsx +10 -10
- package/src/components/composed/tree/index.ts +12 -12
- package/src/components/composed/tree/tree-atom.ts +46 -46
- package/src/components/composed/tree/tree-context.ts +3 -3
- package/src/components/composed/tree/tree-node.tsx +7 -7
- package/src/components/composed/tree/tree.tsx +13 -13
- package/src/components/composed/tree/type.ts +56 -56
- package/src/components/composed/tree/use-tree-dnd.ts +10 -10
- package/src/components/composed/tree/use-tree-state.ts +3 -3
- package/src/components/composed/tree/use-tree.ts +10 -10
- package/src/components/composed/tree/utils.ts +21 -21
- package/src/components/composed/types.ts +9 -0
- package/src/components/composed/user/__tests__/message.test.tsx +79 -0
- package/src/components/composed/user/index.ts +2 -2
- package/src/components/composed/user/info.tsx +15 -7
- package/src/components/composed/user/message.tsx +33 -7
- package/src/components/composed/user/pill.tsx +3 -3
- package/src/components/composed/user/types.ts +34 -14
- package/src/components/composed/verse/index.ts +1 -1
- package/src/components/composed/verse/types.ts +8 -8
- package/src/components/composed/verse/verse.tsx +6 -6
- package/src/components/docs/atoms-gallery.tsx +45 -45
- package/src/components/docs/block-demo-stage.tsx +38 -0
- package/src/components/docs/blocks-gallery.tsx +224 -0
- package/src/components/docs/browser.tsx +87 -0
- package/src/components/docs/components-gallery.tsx +182 -0
- package/src/components/docs/demo-controls.tsx +6 -7
- package/src/components/docs/hero.tsx +2 -3
- package/src/components/icons/file-badge-cfm.tsx +2 -2
- package/src/components/icons/file-badge-corpus.tsx +2 -2
- package/src/components/icons/file-badge-pdf.tsx +2 -2
- package/src/components/icons/file-badge-tei.tsx +2 -2
- package/src/components/icons/file-badge-tf.tsx +2 -2
- package/src/components/icons/file-badge-txt.tsx +2 -2
- package/src/components/icons/file-badge-xml.tsx +2 -2
- package/src/components/icons/file-wordmark-cfm.tsx +2 -2
- package/src/components/icons/file-wordmark-corpus.tsx +2 -2
- package/src/components/icons/file-wordmark-pdf.tsx +2 -2
- package/src/components/icons/file-wordmark-tei.tsx +2 -2
- package/src/components/icons/file-wordmark-tf.tsx +2 -2
- package/src/components/icons/file-wordmark-txt.tsx +2 -2
- package/src/components/icons/file-wordmark-xml.tsx +2 -2
- package/src/components/icons/index.ts +1 -1
- package/src/components/icons/types.ts +1 -1
- package/src/components/motion/overflow-actions.tsx +19 -19
- package/src/components/motion/popover-morph.tsx +15 -15
- package/src/components/motion/popover-position.ts +4 -4
- package/src/components/motion/shared-layout-bg.tsx +2 -2
- package/src/components/stories/attachment.story.tsx +40 -0
- package/src/components/stories/auth-flow-block.story.tsx +17 -0
- package/src/components/stories/avatar.story.tsx +33 -0
- package/src/components/stories/base.story.tsx +70 -0
- package/src/components/stories/bubble.story.tsx +61 -0
- package/src/components/stories/button.story.tsx +32 -0
- package/src/components/stories/card.story.tsx +36 -0
- package/src/components/stories/chart.story.tsx +54 -0
- package/src/components/stories/checkbox.story.tsx +30 -0
- package/src/components/stories/code-auth-block.story.tsx +20 -0
- package/src/components/stories/code-block.story.tsx +35 -0
- package/src/components/stories/composed-password-input.story.tsx +41 -0
- package/src/components/stories/context-cards.story.tsx +30 -0
- package/src/components/stories/emoji-action-bar.story.tsx +20 -0
- package/src/components/stories/field.story.tsx +32 -0
- package/src/components/stories/file-icons.story.tsx +20 -0
- package/src/components/stories/filter-table.story.tsx +63 -0
- package/src/components/stories/flowchart.story.tsx +25 -0
- package/src/components/stories/forgot-password-block.story.tsx +14 -0
- package/src/components/stories/frame.story.tsx +32 -0
- package/src/components/stories/index.ts +57 -0
- package/src/components/stories/input-group.story.tsx +27 -0
- package/src/components/stories/input.story.tsx +42 -0
- package/src/components/stories/insight-cards.story.tsx +67 -0
- package/src/components/stories/label.story.tsx +32 -0
- package/src/components/stories/linked-accounts-block.story.tsx +23 -0
- package/src/components/stories/login-block.story.tsx +18 -0
- package/src/components/stories/logo.story.tsx +21 -0
- package/src/components/stories/markdown.story.tsx +31 -0
- package/src/components/stories/menu-command.story.tsx +43 -0
- package/src/components/stories/onboarding-block.story.tsx +14 -0
- package/src/components/stories/otp-field.story.tsx +35 -0
- package/src/components/stories/passkey-manager-block.story.tsx +18 -0
- package/src/components/stories/passkey-sign-in-block.story.tsx +15 -0
- package/src/components/stories/password-input.story.tsx +35 -0
- package/src/components/stories/profile-card-block.story.tsx +29 -0
- package/src/components/stories/recommendation-card.story.tsx +37 -0
- package/src/components/stories/records-table.story.tsx +52 -0
- package/src/components/stories/reference.story.tsx +33 -0
- package/src/components/stories/research-answer.story.tsx +32 -0
- package/src/components/stories/scaffold-root.story.tsx +47 -0
- package/src/components/stories/separator.story.tsx +37 -0
- package/src/components/stories/shell-layout.story.tsx +19 -0
- package/src/components/stories/signup-block.story.tsx +18 -0
- package/src/components/stories/social-providers.story.tsx +26 -0
- package/src/components/stories/streaming-text.story.tsx +25 -0
- package/src/components/stories/text.story.tsx +31 -0
- package/src/components/stories/textarea.story.tsx +34 -0
- package/src/components/stories/tree.story.tsx +31 -0
- package/src/components/stories/update-password-block.story.tsx +14 -0
- package/src/components/stories/user.story.tsx +32 -0
- package/src/components/stories/verse.story.tsx +42 -0
- package/src/components/theme-provider.tsx +16 -16
- package/src/components/types.ts +106 -0
- package/src/components/ui/badge.tsx +3 -3
- package/src/components/ui/button.tsx +15 -22
- package/src/components/ui/chat/avatar-handle.tsx +2 -2
- package/src/components/ui/chat/badges.tsx +2 -2
- package/src/components/ui/chat/buttons.tsx +7 -7
- package/src/components/ui/chat/chips.tsx +11 -11
- package/src/components/ui/chat/dot.tsx +8 -8
- package/src/components/ui/chat/icon-button.tsx +3 -3
- package/src/components/ui/chat/icon-tile.tsx +2 -2
- package/src/components/ui/chat/index.ts +12 -12
- package/src/components/ui/chat/inline-source.tsx +2 -2
- package/src/components/ui/chat/segmented-toggle.tsx +4 -4
- package/src/components/ui/chat/tag.tsx +10 -10
- package/src/components/ui/chat/thumbnail.tsx +2 -2
- package/src/components/ui/chat/waveform.tsx +2 -2
- package/src/components/ui/field.tsx +3 -3
- package/src/components/ui/glasscn/glass-button-group.tsx +7 -21
- package/src/components/ui/glasscn/glass-button.tsx +5 -5
- package/src/components/ui/glasscn/glass-container.tsx +10 -47
- package/src/components/ui/glasscn/glass-separator.tsx +6 -6
- package/src/components/ui/glasscn/liquid-glass.tsx +43 -300
- package/src/components/ui/input-group.tsx +4 -4
- package/src/components/ui/input.tsx +2 -2
- package/src/components/ui/menu-command.tsx +103 -75
- package/src/components/ui/popover-glass.tsx +11 -14
- package/src/components/ui/select.tsx +2 -2
- package/src/components/ui/tabs.tsx +12 -12
- package/src/components/ui/textarea.tsx +2 -2
- package/src/components/ui/toast.tsx +13 -13
- package/src/index.css +3 -1
- package/src/index.ts +3 -1
- package/src/lib/attachment-content.ts +28 -0
- package/src/lib/auth-accent.ts +2 -2
- package/src/lib/glass-variants.ts +19 -54
- package/src/lib/keyed-atom.ts +3 -3
- package/src/lib/segmented-control.ts +2 -2
- package/src/lib/specular.ts +10 -0
- package/src/lib/state/__tests__/sound.test.tsx +53 -0
- package/src/lib/state/exegia-provider.tsx +6 -6
- package/src/lib/state/index.ts +2 -2
- package/src/lib/state/store.ts +2 -2
- package/src/lib/use-motion-panel.ts +78 -0
- package/src/lib/utils.ts +7 -5
- package/src/specular.js +4 -0
- package/dist-lib/src/components/atoms/avatar/base.d.ts +0 -2
- package/dist-lib/src/components/atoms/avatar/index.d.ts +0 -2
- package/dist-lib/src/components/atoms/avatar/types.d.ts +0 -20
- package/dist-lib/src/components/atoms/avatar/utils.d.ts +0 -13
- package/dist-lib/src/components/atoms/background/texture.d.ts +0 -2
- package/dist-lib/src/components/atoms/background/type.d.ts +0 -7
- package/dist-lib/src/components/atoms/background/utils.d.ts +0 -4
- package/dist-lib/src/components/atoms/bubble/actions.d.ts +0 -7
- package/dist-lib/src/components/atoms/bubble/context.d.ts +0 -4
- package/dist-lib/src/components/atoms/bubble/default.d.ts +0 -3
- package/dist-lib/src/components/atoms/bubble/header.d.ts +0 -8
- package/dist-lib/src/components/atoms/bubble/index.d.ts +0 -16
- package/dist-lib/src/components/atoms/bubble/message.d.ts +0 -3
- package/dist-lib/src/components/atoms/bubble/reactions.d.ts +0 -14
- package/dist-lib/src/components/atoms/bubble/types.d.ts +0 -59
- package/dist-lib/src/components/atoms/bubble/utils.d.ts +0 -13
- package/dist-lib/src/components/atoms/index.d.ts +0 -15
- package/dist-lib/src/components/atoms/loader.d.ts +0 -8
- package/dist-lib/src/components/atoms/reference.d.ts +0 -7
- package/dist-lib/src/components/atoms/text/default.d.ts +0 -1144
- package/dist-lib/src/components/atoms/text/heading.d.ts +0 -4
- package/dist-lib/src/components/atoms/text/index.d.ts +0 -21
- package/dist-lib/src/components/atoms/text/label.d.ts +0 -2
- package/dist-lib/src/components/atoms/text/paragraph.d.ts +0 -4
- package/dist-lib/src/components/atoms/text/span.d.ts +0 -3
- package/dist-lib/src/components/atoms/text/types.d.ts +0 -23
- package/dist-lib/src/components/atoms/text/utils.d.ts +0 -4
- package/dist-lib/src/components/atoms/text-selection/click-popover.d.ts +0 -3
- package/dist-lib/src/components/atoms/text-selection/index.d.ts +0 -6
- package/dist-lib/src/components/atoms/text-selection/popover.d.ts +0 -3
- package/dist-lib/src/components/atoms/text-selection/selection-atom.d.ts +0 -30
- package/dist-lib/src/components/atoms/text-selection/selection.d.ts +0 -3
- package/dist-lib/src/components/atoms/text-selection/types.d.ts +0 -90
- package/dist-lib/src/components/atoms/text-selection/use-selection.d.ts +0 -7
- package/dist-lib/src/components/atoms/types.d.ts +0 -17
- package/dist-lib/src/components/blocks/auth/auth-flow-atom.d.ts +0 -77
- package/dist-lib/src/components/blocks/auth/auth-flow-block.d.ts +0 -123
- package/dist-lib/src/components/blocks/auth/auth-flow-block.story.d.ts +0 -3
- package/dist-lib/src/components/blocks/auth/auth-session-atom.d.ts +0 -28
- package/dist-lib/src/components/blocks/auth/auth-shell.d.ts +0 -56
- package/dist-lib/src/components/blocks/auth/auth-state-type.d.ts +0 -71
- package/dist-lib/src/components/blocks/auth/auth-state.d.ts +0 -9
- package/dist-lib/src/components/blocks/auth/code-auth-block.d.ts +0 -22
- package/dist-lib/src/components/blocks/auth/code-auth-block.story.d.ts +0 -3
- package/dist-lib/src/components/blocks/auth/forgot-password-block.d.ts +0 -15
- package/dist-lib/src/components/blocks/auth/forgot-password-block.story.d.ts +0 -3
- package/dist-lib/src/components/blocks/auth/linked-accounts-block.d.ts +0 -36
- package/dist-lib/src/components/blocks/auth/linked-accounts-block.story.d.ts +0 -3
- package/dist-lib/src/components/blocks/auth/login-block.d.ts +0 -25
- package/dist-lib/src/components/blocks/auth/login-block.story.d.ts +0 -3
- package/dist-lib/src/components/blocks/auth/onboarding/profile-step.d.ts +0 -19
- package/dist-lib/src/components/blocks/auth/onboarding-block.d.ts +0 -69
- package/dist-lib/src/components/blocks/auth/onboarding-block.story.d.ts +0 -3
- package/dist-lib/src/components/blocks/auth/passkey-manager-block.d.ts +0 -38
- package/dist-lib/src/components/blocks/auth/passkey-manager-block.story.d.ts +0 -3
- package/dist-lib/src/components/blocks/auth/passkey-sign-in-block.d.ts +0 -27
- package/dist-lib/src/components/blocks/auth/passkey-sign-in-block.story.d.ts +0 -3
- package/dist-lib/src/components/blocks/auth/signup-block.d.ts +0 -41
- package/dist-lib/src/components/blocks/auth/signup-block.story.d.ts +0 -3
- package/dist-lib/src/components/blocks/auth/update-password-block.d.ts +0 -28
- package/dist-lib/src/components/blocks/auth/update-password-block.story.d.ts +0 -3
- package/dist-lib/src/components/blocks/auth/use-auth-state.d.ts +0 -52
- package/dist-lib/src/components/blocks/chat/banners.d.ts +0 -13
- package/dist-lib/src/components/blocks/chat/base.d.ts +0 -10
- package/dist-lib/src/components/blocks/chat/base.story.d.ts +0 -3
- package/dist-lib/src/components/blocks/chat/header.d.ts +0 -4
- package/dist-lib/src/components/blocks/chat/index.d.ts +0 -13
- package/dist-lib/src/components/blocks/chat/recommendation-stack.d.ts +0 -13
- package/dist-lib/src/components/blocks/chat/suggested-prompts.d.ts +0 -3
- package/dist-lib/src/components/blocks/chat/types.d.ts +0 -64
- package/dist-lib/src/components/blocks/chat/version-history-record.d.ts +0 -3
- package/dist-lib/src/components/blocks/layout.d.ts +0 -8
- package/dist-lib/src/components/blocks/nav/sidebar/ai-sidebar-atom.d.ts +0 -217
- package/dist-lib/src/components/blocks/nav/sidebar/ai-sidebar.d.ts +0 -11
- package/dist-lib/src/components/blocks/nav/sidebar/index.d.ts +0 -15
- package/dist-lib/src/components/blocks/nav/sidebar/sidebar-context.d.ts +0 -3
- package/dist-lib/src/components/blocks/nav/sidebar/sidebar-icon.d.ts +0 -2
- package/dist-lib/src/components/blocks/nav/sidebar/sidebar-row.d.ts +0 -4
- package/dist-lib/src/components/blocks/nav/sidebar/type.d.ts +0 -245
- package/dist-lib/src/components/blocks/nav/sidebar/use-ai-sidebar-state.d.ts +0 -29
- package/dist-lib/src/components/blocks/nav/sidebar/use-ai-sidebar.d.ts +0 -27
- package/dist-lib/src/components/blocks/nav/sidebar/utils.d.ts +0 -21
- package/dist-lib/src/components/blocks/profile/index.d.ts +0 -7
- package/dist-lib/src/components/blocks/profile/profile-card-atom.d.ts +0 -68
- package/dist-lib/src/components/blocks/profile/profile-card-block.d.ts +0 -66
- package/dist-lib/src/components/blocks/profile/profile-card-block.story.d.ts +0 -3
- package/dist-lib/src/components/blocks/profile/type.d.ts +0 -80
- package/dist-lib/src/components/blocks/profile/use-profile-card-state.d.ts +0 -24
- package/dist-lib/src/components/blocks/profile/use-profile-card.d.ts +0 -34
- package/dist-lib/src/components/blocks/scaffold/index.d.ts +0 -29
- package/dist-lib/src/components/blocks/scaffold/panel-close-button.d.ts +0 -4
- package/dist-lib/src/components/blocks/scaffold/panel-menu-button.d.ts +0 -8
- package/dist-lib/src/components/blocks/scaffold/scaffold-actions.d.ts +0 -10
- package/dist-lib/src/components/blocks/scaffold/scaffold-atom.d.ts +0 -97
- package/dist-lib/src/components/blocks/scaffold/scaffold-canvas.d.ts +0 -9
- package/dist-lib/src/components/blocks/scaffold/scaffold-context.d.ts +0 -7
- package/dist-lib/src/components/blocks/scaffold/scaffold-inspector.d.ts +0 -9
- package/dist-lib/src/components/blocks/scaffold/scaffold-main.d.ts +0 -8
- package/dist-lib/src/components/blocks/scaffold/scaffold-panel.d.ts +0 -10
- package/dist-lib/src/components/blocks/scaffold/scaffold-root.d.ts +0 -17
- package/dist-lib/src/components/blocks/scaffold/scaffold-root.story.d.ts +0 -3
- package/dist-lib/src/components/blocks/scaffold/scaffold-sidebar.d.ts +0 -7
- package/dist-lib/src/components/blocks/scaffold/scaffold-sub-panel.d.ts +0 -3
- package/dist-lib/src/components/blocks/scaffold/scaffold-tab.d.ts +0 -14
- package/dist-lib/src/components/blocks/scaffold/type.d.ts +0 -203
- package/dist-lib/src/components/blocks/scaffold/use-scaffold-state.d.ts +0 -26
- package/dist-lib/src/components/blocks/scaffold/use-scaffold.d.ts +0 -14
- package/dist-lib/src/components/blocks/scaffold/utils.d.ts +0 -37
- package/dist-lib/src/components/blocks/shell/animated-panel-inset.d.ts +0 -2
- package/dist-lib/src/components/blocks/shell/animated-panel-provider.d.ts +0 -2
- package/dist-lib/src/components/blocks/shell/animated-panel-trigger.d.ts +0 -2
- package/dist-lib/src/components/blocks/shell/animated-panel.d.ts +0 -2
- package/dist-lib/src/components/blocks/shell/shell-fit-atom.d.ts +0 -68
- package/dist-lib/src/components/blocks/shell/shell-layout.d.ts +0 -3
- package/dist-lib/src/components/blocks/shell/shell-layout.story.d.ts +0 -3
- package/dist-lib/src/components/blocks/shell/shell-metrics.d.ts +0 -54
- package/dist-lib/src/components/blocks/shell/type.d.ts +0 -292
- package/dist-lib/src/components/blocks/shell/use-shell-fit-state.d.ts +0 -25
- package/dist-lib/src/components/blocks/shell/use-shell-fit.d.ts +0 -14
- package/dist-lib/src/components/blocks/shell/use-shell-panels.d.ts +0 -20
- package/dist-lib/src/components/blocks/shell/utils.d.ts +0 -70
- package/dist-lib/src/components/composed/action-bar/action.d.ts +0 -18
- package/dist-lib/src/components/composed/action-bar/emojis.d.ts +0 -10
- package/dist-lib/src/components/composed/action-bar/index.d.ts +0 -12
- package/dist-lib/src/components/composed/action-bar/toolbar.d.ts +0 -2
- package/dist-lib/src/components/composed/action-bar/types.d.ts +0 -55
- package/dist-lib/src/components/composed/action-bar/utils.d.ts +0 -57
- package/dist-lib/src/components/composed/ai/index.d.ts +0 -17
- package/dist-lib/src/components/composed/ai/message.d.ts +0 -7
- package/dist-lib/src/components/composed/ai/research-answer.d.ts +0 -30
- package/dist-lib/src/components/composed/ai/streaming-text.d.ts +0 -26
- package/dist-lib/src/components/composed/ai/suggested-prompt.d.ts +0 -35
- package/dist-lib/src/components/composed/ai/types.d.ts +0 -66
- package/dist-lib/src/components/composed/attachment.story.d.ts +0 -3
- package/dist-lib/src/components/composed/chart.story.d.ts +0 -3
- package/dist-lib/src/components/composed/chat/attachment.d.ts +0 -62
- package/dist-lib/src/components/composed/chat/chart.d.ts +0 -41
- package/dist-lib/src/components/composed/chat/code-block.d.ts +0 -26
- package/dist-lib/src/components/composed/chat/composer/add-button.d.ts +0 -5
- package/dist-lib/src/components/composed/chat/composer/base.d.ts +0 -8
- package/dist-lib/src/components/composed/chat/composer/command-menu.d.ts +0 -2
- package/dist-lib/src/components/composed/chat/composer/hooks.d.ts +0 -9
- package/dist-lib/src/components/composed/chat/composer/send-button.d.ts +0 -3
- package/dist-lib/src/components/composed/chat/composer/suggestions.d.ts +0 -7
- package/dist-lib/src/components/composed/chat/composer/utils.d.ts +0 -19
- package/dist-lib/src/components/composed/chat/context-cards.d.ts +0 -27
- package/dist-lib/src/components/composed/chat/filter-table.d.ts +0 -40
- package/dist-lib/src/components/composed/chat/flowchart/chart-node.d.ts +0 -2
- package/dist-lib/src/components/composed/chat/flowchart/connector.d.ts +0 -2
- package/dist-lib/src/components/composed/chat/flowchart/default.d.ts +0 -7
- package/dist-lib/src/components/composed/chat/flowchart/edge-toolbar.d.ts +0 -9
- package/dist-lib/src/components/composed/chat/flowchart/hooks.d.ts +0 -290
- package/dist-lib/src/components/composed/chat/flowchart/step-body.d.ts +0 -6
- package/dist-lib/src/components/composed/chat/flowchart/types.d.ts +0 -91
- package/dist-lib/src/components/composed/chat/flowchart/utils.d.ts +0 -64
- package/dist-lib/src/components/composed/chat/index.d.ts +0 -15
- package/dist-lib/src/components/composed/chat/insight-cards.d.ts +0 -54
- package/dist-lib/src/components/composed/chat/markdown-atom.d.ts +0 -7
- package/dist-lib/src/components/composed/chat/markdown.d.ts +0 -22
- package/dist-lib/src/components/composed/chat/recommendation/checkbox.d.ts +0 -15
- package/dist-lib/src/components/composed/chat/recommendation/constant.d.ts +0 -6
- package/dist-lib/src/components/composed/chat/recommendation/default.d.ts +0 -7
- package/dist-lib/src/components/composed/chat/recommendation/group.d.ts +0 -8
- package/dist-lib/src/components/composed/chat/recommendation/index.d.ts +0 -15
- package/dist-lib/src/components/composed/chat/recommendation/item.d.ts +0 -12
- package/dist-lib/src/components/composed/chat/recommendation/types.d.ts +0 -53
- package/dist-lib/src/components/composed/chat/records-table.d.ts +0 -38
- package/dist-lib/src/components/composed/chat/type.d.ts +0 -86
- package/dist-lib/src/components/composed/code-block.story.d.ts +0 -3
- package/dist-lib/src/components/composed/context-cards.story.d.ts +0 -3
- package/dist-lib/src/components/composed/emoji-action-bar.story.d.ts +0 -3
- package/dist-lib/src/components/composed/filter-table.story.d.ts +0 -7
- package/dist-lib/src/components/composed/flowchart.story.d.ts +0 -3
- package/dist-lib/src/components/composed/insight-cards.story.d.ts +0 -3
- package/dist-lib/src/components/composed/logo.d.ts +0 -34
- package/dist-lib/src/components/composed/logo.story.d.ts +0 -3
- package/dist-lib/src/components/composed/markdown.story.d.ts +0 -3
- package/dist-lib/src/components/composed/password-input.d.ts +0 -30
- package/dist-lib/src/components/composed/password-input.story.d.ts +0 -7
- package/dist-lib/src/components/composed/reader/applied-mark.d.ts +0 -3
- package/dist-lib/src/components/composed/reader/apply-toast.d.ts +0 -3
- package/dist-lib/src/components/composed/reader/selection-highlight.d.ts +0 -3
- package/dist-lib/src/components/composed/reader/selection-popover.d.ts +0 -9
- package/dist-lib/src/components/composed/reader/type.d.ts +0 -40
- package/dist-lib/src/components/composed/recommendation-card.story.d.ts +0 -3
- package/dist-lib/src/components/composed/records-table.story.d.ts +0 -3
- package/dist-lib/src/components/composed/research-answer.story.d.ts +0 -3
- package/dist-lib/src/components/composed/social-providers.d.ts +0 -37
- package/dist-lib/src/components/composed/social-providers.story.d.ts +0 -3
- package/dist-lib/src/components/composed/streaming-text.story.d.ts +0 -3
- package/dist-lib/src/components/composed/tree/index.d.ts +0 -6
- package/dist-lib/src/components/composed/tree/tree-atom.d.ts +0 -160
- package/dist-lib/src/components/composed/tree/tree-context.d.ts +0 -4
- package/dist-lib/src/components/composed/tree/tree-node.d.ts +0 -12
- package/dist-lib/src/components/composed/tree/tree.d.ts +0 -19
- package/dist-lib/src/components/composed/tree/type.d.ts +0 -290
- package/dist-lib/src/components/composed/tree/use-tree-dnd.d.ts +0 -18
- package/dist-lib/src/components/composed/tree/use-tree-state.d.ts +0 -25
- package/dist-lib/src/components/composed/tree/use-tree.d.ts +0 -24
- package/dist-lib/src/components/composed/tree/utils.d.ts +0 -28
- package/dist-lib/src/components/composed/tree.story.d.ts +0 -6
- package/dist-lib/src/components/composed/user/index.d.ts +0 -11
- package/dist-lib/src/components/composed/user/info.d.ts +0 -12
- package/dist-lib/src/components/composed/user/message.d.ts +0 -3
- package/dist-lib/src/components/composed/user/pill.d.ts +0 -10
- package/dist-lib/src/components/composed/user/types.d.ts +0 -20
- package/dist-lib/src/components/composed/user.story.d.ts +0 -8
- package/dist-lib/src/components/composed/verse/index.d.ts +0 -2
- package/dist-lib/src/components/composed/verse/types.d.ts +0 -18
- package/dist-lib/src/components/composed/verse/verse.d.ts +0 -5
- package/dist-lib/src/components/composed/verse.story.d.ts +0 -3
- package/dist-lib/src/components/docs/atoms-gallery.d.ts +0 -3
- package/dist-lib/src/components/docs/demo-controls.d.ts +0 -21
- package/dist-lib/src/components/icons/file-badge-cfm.d.ts +0 -7
- package/dist-lib/src/components/icons/file-badge-corpus.d.ts +0 -7
- package/dist-lib/src/components/icons/file-badge-pdf.d.ts +0 -7
- package/dist-lib/src/components/icons/file-badge-tei.d.ts +0 -7
- package/dist-lib/src/components/icons/file-badge-tf.d.ts +0 -7
- package/dist-lib/src/components/icons/file-badge-txt.d.ts +0 -7
- package/dist-lib/src/components/icons/file-badge-xml.d.ts +0 -7
- package/dist-lib/src/components/icons/file-wordmark-cfm.d.ts +0 -7
- package/dist-lib/src/components/icons/file-wordmark-corpus.d.ts +0 -7
- package/dist-lib/src/components/icons/file-wordmark-pdf.d.ts +0 -7
- package/dist-lib/src/components/icons/file-wordmark-tei.d.ts +0 -7
- package/dist-lib/src/components/icons/file-wordmark-tf.d.ts +0 -7
- package/dist-lib/src/components/icons/file-wordmark-txt.d.ts +0 -7
- package/dist-lib/src/components/icons/file-wordmark-xml.d.ts +0 -7
- package/dist-lib/src/components/icons/index.d.ts +0 -15
- package/dist-lib/src/components/icons/types.d.ts +0 -7
- package/dist-lib/src/components/motion/overflow-actions.d.ts +0 -35
- package/dist-lib/src/components/motion/popover-morph.d.ts +0 -35
- package/dist-lib/src/components/motion/popover-position.d.ts +0 -15
- package/dist-lib/src/components/motion/shared-layout-bg.d.ts +0 -13
- package/dist-lib/src/components/theme-provider.d.ts +0 -15
- package/dist-lib/src/components/ui/avatar.story.d.ts +0 -7
- package/dist-lib/src/components/ui/badge.d.ts +0 -14
- package/dist-lib/src/components/ui/bubble.story.d.ts +0 -7
- package/dist-lib/src/components/ui/button.d.ts +0 -28
- package/dist-lib/src/components/ui/button.story.d.ts +0 -8
- package/dist-lib/src/components/ui/card.story.d.ts +0 -9
- package/dist-lib/src/components/ui/chat/avatar-handle.d.ts +0 -13
- package/dist-lib/src/components/ui/chat/badges.d.ts +0 -29
- package/dist-lib/src/components/ui/chat/buttons.d.ts +0 -29
- package/dist-lib/src/components/ui/chat/chips.d.ts +0 -48
- package/dist-lib/src/components/ui/chat/dot.d.ts +0 -30
- package/dist-lib/src/components/ui/chat/icon-button.d.ts +0 -18
- package/dist-lib/src/components/ui/chat/icon-tile.d.ts +0 -20
- package/dist-lib/src/components/ui/chat/index.d.ts +0 -12
- package/dist-lib/src/components/ui/chat/inline-source.d.ts +0 -20
- package/dist-lib/src/components/ui/chat/segmented-toggle.d.ts +0 -20
- package/dist-lib/src/components/ui/chat/tag.d.ts +0 -21
- package/dist-lib/src/components/ui/chat/thumbnail.d.ts +0 -13
- package/dist-lib/src/components/ui/chat/waveform.d.ts +0 -13
- package/dist-lib/src/components/ui/chat-atoms.story.d.ts +0 -22
- package/dist-lib/src/components/ui/checkbox.story.d.ts +0 -7
- package/dist-lib/src/components/ui/field.story.d.ts +0 -7
- package/dist-lib/src/components/ui/file-icons.story.d.ts +0 -7
- package/dist-lib/src/components/ui/frame.story.d.ts +0 -9
- package/dist-lib/src/components/ui/glasscn/glass-button-group.d.ts +0 -5
- package/dist-lib/src/components/ui/glasscn/glass-button.d.ts +0 -6
- package/dist-lib/src/components/ui/glasscn/glass-container.d.ts +0 -12
- package/dist-lib/src/components/ui/glasscn/glass-separator.d.ts +0 -5
- package/dist-lib/src/components/ui/glasscn/liquid-glass.d.ts +0 -31
- package/dist-lib/src/components/ui/input-group.d.ts +0 -13
- package/dist-lib/src/components/ui/input-group.story.d.ts +0 -7
- package/dist-lib/src/components/ui/input.d.ts +0 -9
- package/dist-lib/src/components/ui/input.story.d.ts +0 -9
- package/dist-lib/src/components/ui/label.story.d.ts +0 -9
- package/dist-lib/src/components/ui/menu-command.d.ts +0 -37
- package/dist-lib/src/components/ui/menu-command.story.d.ts +0 -7
- package/dist-lib/src/components/ui/otp-field.story.d.ts +0 -9
- package/dist-lib/src/components/ui/password-input.story.d.ts +0 -3
- package/dist-lib/src/components/ui/popover-glass.d.ts +0 -32
- package/dist-lib/src/components/ui/reference.story.d.ts +0 -10
- package/dist-lib/src/components/ui/select.d.ts +0 -30
- package/dist-lib/src/components/ui/separator.story.d.ts +0 -7
- package/dist-lib/src/components/ui/tabs.d.ts +0 -15
- package/dist-lib/src/components/ui/text.story.d.ts +0 -9
- package/dist-lib/src/components/ui/textarea.d.ts +0 -8
- package/dist-lib/src/components/ui/textarea.story.d.ts +0 -7
- package/dist-lib/src/components/ui/toast.d.ts +0 -15
- package/dist-lib/src/index.d.ts +0 -63
- package/dist-lib/src/lib/auth-accent.d.ts +0 -33
- package/dist-lib/src/lib/glass-variants.d.ts +0 -6
- package/dist-lib/src/lib/keyed-atom.d.ts +0 -14
- package/dist-lib/src/lib/segmented-control.d.ts +0 -8
- package/dist-lib/src/lib/state/exegia-provider.d.ts +0 -51
- package/dist-lib/src/lib/state/index.d.ts +0 -4
- package/dist-lib/src/lib/state/store.d.ts +0 -17
- package/src/components/blocks/auth/auth-flow-block.story.tsx +0 -17
- package/src/components/blocks/auth/auth-state-type.ts +0 -97
- package/src/components/blocks/auth/code-auth-block.story.tsx +0 -20
- package/src/components/blocks/auth/forgot-password-block.story.tsx +0 -14
- package/src/components/blocks/auth/linked-accounts-block.story.tsx +0 -23
- package/src/components/blocks/auth/login-block.story.tsx +0 -18
- package/src/components/blocks/auth/onboarding-block.story.tsx +0 -14
- package/src/components/blocks/auth/passkey-manager-block.story.tsx +0 -18
- package/src/components/blocks/auth/passkey-sign-in-block.story.tsx +0 -14
- package/src/components/blocks/auth/signup-block.story.tsx +0 -18
- package/src/components/blocks/auth/update-password-block.story.tsx +0 -14
- package/src/components/blocks/chat/base.story.tsx +0 -19
- package/src/components/blocks/chat/types.ts +0 -81
- package/src/components/blocks/nav/sidebar/__tests__/ai-sidebar-atom.test.tsx +0 -325
- package/src/components/blocks/nav/sidebar/__tests__/ai-sidebar.test.tsx +0 -93
- package/src/components/blocks/nav/sidebar/__tests__/use-ai-sidebar.test.tsx +0 -310
- package/src/components/blocks/nav/sidebar/ai-sidebar-atom.ts +0 -698
- package/src/components/blocks/nav/sidebar/ai-sidebar.tsx +0 -150
- package/src/components/blocks/nav/sidebar/index.ts +0 -67
- package/src/components/blocks/nav/sidebar/sidebar-context.ts +0 -15
- package/src/components/blocks/nav/sidebar/sidebar-icon.tsx +0 -14
- package/src/components/blocks/nav/sidebar/sidebar-row.tsx +0 -378
- package/src/components/blocks/nav/sidebar/type.ts +0 -294
- package/src/components/blocks/nav/sidebar/use-ai-sidebar-state.ts +0 -123
- package/src/components/blocks/nav/sidebar/use-ai-sidebar.ts +0 -619
- package/src/components/blocks/nav/sidebar/utils.ts +0 -170
- package/src/components/blocks/profile/profile-card-block.story.tsx +0 -18
- package/src/components/blocks/scaffold/scaffold-root.story.tsx +0 -36
- package/src/components/blocks/shell/shell-layout.story.tsx +0 -19
- package/src/components/composed/attachment.story.tsx +0 -52
- package/src/components/composed/chart.story.tsx +0 -46
- package/src/components/composed/code-block.story.tsx +0 -29
- package/src/components/composed/context-cards.story.tsx +0 -30
- package/src/components/composed/emoji-action-bar.story.tsx +0 -20
- package/src/components/composed/filter-table.story.tsx +0 -58
- package/src/components/composed/flowchart.story.tsx +0 -24
- package/src/components/composed/insight-cards.story.tsx +0 -51
- package/src/components/composed/logo.story.tsx +0 -21
- package/src/components/composed/markdown.story.tsx +0 -21
- package/src/components/composed/password-input.story.tsx +0 -38
- package/src/components/composed/recommendation-card.story.tsx +0 -32
- package/src/components/composed/records-table.story.tsx +0 -46
- package/src/components/composed/research-answer.story.tsx +0 -32
- package/src/components/composed/social-providers.story.tsx +0 -24
- package/src/components/composed/streaming-text.story.tsx +0 -24
- package/src/components/composed/tree.story.tsx +0 -31
- package/src/components/composed/user.story.tsx +0 -29
- package/src/components/composed/verse.story.tsx +0 -21
- package/src/components/ui/avatar.story.tsx +0 -33
- package/src/components/ui/bubble.story.tsx +0 -45
- package/src/components/ui/button.story.tsx +0 -62
- package/src/components/ui/card.story.tsx +0 -36
- package/src/components/ui/chat-atoms.story.tsx +0 -94
- package/src/components/ui/checkbox.story.tsx +0 -30
- package/src/components/ui/field.story.tsx +0 -32
- package/src/components/ui/file-icons.story.tsx +0 -24
- package/src/components/ui/frame.story.tsx +0 -32
- package/src/components/ui/input-group.story.tsx +0 -27
- package/src/components/ui/input.story.tsx +0 -42
- package/src/components/ui/label.story.tsx +0 -32
- package/src/components/ui/menu-command.story.tsx +0 -37
- package/src/components/ui/otp-field.story.tsx +0 -35
- package/src/components/ui/password-input.story.tsx +0 -19
- package/src/components/ui/reference.story.tsx +0 -33
- package/src/components/ui/separator.story.tsx +0 -34
- package/src/components/ui/text.story.tsx +0 -31
- package/src/components/ui/textarea.story.tsx +0 -34
- /package/dist-lib/{src/components → components}/atoms/_layout.d.ts +0 -0
- /package/dist-lib/{src/components → components}/atoms/avatar/verified.d.ts +0 -0
- /package/dist-lib/{src/components → components}/atoms/background/index.d.ts +0 -0
- /package/dist-lib/{src/components → components}/atoms/bubble/__tests__/bubble.test.d.ts +0 -0
- /package/dist-lib/{src/components → components}/atoms/bubble/__tests__/reference.test.d.ts +0 -0
- /package/dist-lib/{src/components → components}/atoms/chip.d.ts +0 -0
- /package/dist-lib/{src/components → components}/atoms/text/__tests__/text.test.d.ts +0 -0
- /package/dist-lib/{src/components → components}/atoms/text-selection/__tests__/click-popover.test.d.ts +0 -0
- /package/dist-lib/{src/components → components}/atoms/text-selection/__tests__/text-selection.test.d.ts +0 -0
- /package/dist-lib/{src/components → components}/blocks/auth/__tests__/auth-flow-block.test.d.ts +0 -0
- /package/dist-lib/{src/components → components}/blocks/auth/__tests__/auth-state-atom.test.d.ts +0 -0
- /package/dist-lib/{src/components → components}/blocks/auth/__tests__/linked-accounts-block.test.d.ts +0 -0
- /package/dist-lib/{src/components → components}/blocks/auth/__tests__/onboarding-block.test.d.ts +0 -0
- /package/dist-lib/{src/components → components}/blocks/auth/__tests__/passkey-manager-block.test.d.ts +0 -0
- /package/dist-lib/{src/components → components}/blocks/auth/__tests__/passkey-sign-in-block.test.d.ts +0 -0
- /package/dist-lib/{src/components → components}/blocks/auth/__tests__/signup-block.test.d.ts +0 -0
- /package/dist-lib/{src/components → components}/blocks/auth/__tests__/update-password-block.test.d.ts +0 -0
- /package/dist-lib/{src/components → components}/blocks/chat/__tests__/ai-panel.test.d.ts +0 -0
- /package/dist-lib/{src/components → components}/blocks/chat/shared.d.ts +0 -0
- /package/dist-lib/{src/components → components}/blocks/profile/__tests__/profile-card-block.test.d.ts +0 -0
- /package/dist-lib/{src/components → components}/blocks/scaffold/__tests__/scaffold-atom.test.d.ts +0 -0
- /package/dist-lib/{src/components → components}/blocks/scaffold/__tests__/scaffold.test.d.ts +0 -0
- /package/dist-lib/{src/components → components}/blocks/scaffold/constants.d.ts +0 -0
- /package/dist-lib/{src/components → components}/blocks/shell/__tests__/shell-fit-atom.test.d.ts +0 -0
- /package/dist-lib/{src/components → components}/blocks/shell/__tests__/shell-layout.test.d.ts +0 -0
- /package/dist-lib/{src/components → components}/blocks/shell/__tests__/shell-metrics.test.d.ts +0 -0
- /package/dist-lib/{src/components → components}/blocks/shell/index.d.ts +0 -0
- /package/dist-lib/{src/components/blocks/nav → components/blocks}/sidebar/__tests__/ai-sidebar-atom.test.d.ts +0 -0
- /package/dist-lib/{src/components/blocks/nav → components/blocks}/sidebar/__tests__/ai-sidebar.test.d.ts +0 -0
- /package/dist-lib/{src/components/blocks/nav → components/blocks}/sidebar/__tests__/use-ai-sidebar.test.d.ts +0 -0
- /package/dist-lib/{src/components/blocks/nav → components/blocks}/sidebar/marquee-label.d.ts +0 -0
- /package/dist-lib/{src/components → components}/composed/__tests__/logo.test.d.ts +0 -0
- /package/dist-lib/{src/components → components}/composed/action-bar/__tests__/action-bar.test.d.ts +0 -0
- /package/dist-lib/{src/components → components}/composed/ai/__tests__/ai.test.d.ts +0 -0
- /package/dist-lib/{src/components → components}/composed/ai/avatar.d.ts +0 -0
- /package/dist-lib/{src/components → components}/composed/ai/shared.d.ts +0 -0
- /package/dist-lib/{src/components → components}/composed/chat/__tests__/attachment.test.d.ts +0 -0
- /package/dist-lib/{src/components → components}/composed/chat/__tests__/beautiful-ui.test.d.ts +0 -0
- /package/dist-lib/{src/components → components}/composed/chat/__tests__/chart.test.d.ts +0 -0
- /package/dist-lib/{src/components → components}/composed/chat/__tests__/code-block.test.d.ts +0 -0
- /package/dist-lib/{src/components → components}/composed/chat/__tests__/composer-attachments.test.d.ts +0 -0
- /package/dist-lib/{src/components → components}/composed/chat/__tests__/composer.test.d.ts +0 -0
- /package/dist-lib/{src/components → components}/composed/chat/__tests__/flowchart.test.d.ts +0 -0
- /package/dist-lib/{src/components/composed/chat/__tests__/markdown.test.d.ts → components/composed/chat/__tests__/glass-material.test.d.ts} +0 -0
- /package/dist-lib/{src/components/composed/tree/__tests__/tree-atom.test.d.ts → components/composed/chat/__tests__/markdown.test.d.ts} +0 -0
- /package/dist-lib/{src/components/composed/tree/__tests__/tree.test.d.ts → components/composed/chat/__tests__/menu-command.test.d.ts} +0 -0
- /package/dist-lib/{src/components/composed/tree/__tests__/use-tree.test.d.ts → components/composed/chat/__tests__/recommendation.test.d.ts} +0 -0
- /package/dist-lib/{src/components → components}/composed/chat/actions.d.ts +0 -0
- /package/dist-lib/{src/components → components}/composed/chat/composer/index.d.ts +0 -0
- /package/dist-lib/{src/components → components}/composed/chat/flowchart/constant.d.ts +0 -0
- /package/dist-lib/{src/components → components}/composed/chat/flowchart/index.d.ts +0 -0
- /package/dist-lib/{src/components → components}/composed/chat/hint.d.ts +0 -0
- /package/dist-lib/{src/components → components}/composed/reader/index.d.ts +0 -0
- /package/dist-lib/{src/components/composed/user/utils.d.ts → components/composed/tree/__tests__/tree-atom.test.d.ts} +0 -0
- /package/dist-lib/{src/components/composed/verse/__tests__/verse.test.d.ts → components/composed/tree/__tests__/tree.test.d.ts} +0 -0
- /package/dist-lib/{src/components/icons/__tests__/icons.test.d.ts → components/composed/tree/__tests__/use-tree.test.d.ts} +0 -0
- /package/dist-lib/{src/components → components}/composed/tree/constants.d.ts +0 -0
- /package/dist-lib/{src/components/motion/index.d.ts → components/composed/user/__tests__/message.test.d.ts} +0 -0
- /package/dist-lib/{src/components/ui/chat/__tests__/segmented-toggle.test.d.ts → components/composed/user/utils.d.ts} +0 -0
- /package/dist-lib/{src/lib/utils.test.d.ts → components/composed/verse/__tests__/verse.test.d.ts} +0 -0
- /package/dist-lib/{src/components → components}/docs/code-block.d.ts +0 -0
- /package/dist-lib/{src/components → components}/docs/hero.d.ts +0 -0
- /package/dist-lib/{src/components → components}/docs/mermaid.d.ts +0 -0
- /package/dist-lib/{src/components → components}/ui/accordion.d.ts +0 -0
- /package/dist-lib/{src/components → components}/ui/alert-dialog.d.ts +0 -0
- /package/dist-lib/{src/components → components}/ui/alert.d.ts +0 -0
- /package/dist-lib/{src/components → components}/ui/autocomplete.d.ts +0 -0
- /package/dist-lib/{src/components → components}/ui/avatar.d.ts +0 -0
- /package/dist-lib/{src/components → components}/ui/button-group.d.ts +0 -0
- /package/dist-lib/{src/components → components}/ui/card.d.ts +0 -0
- /package/dist-lib/{src/components → components}/ui/checkbox.d.ts +0 -0
- /package/dist-lib/{src/components → components}/ui/collapsible.d.ts +0 -0
- /package/dist-lib/{src/components → components}/ui/command.d.ts +0 -0
- /package/dist-lib/{src/components → components}/ui/context-menu.d.ts +0 -0
- /package/dist-lib/{src/components → components}/ui/emoji-picker.d.ts +0 -0
- /package/dist-lib/{src/components → components}/ui/field.d.ts +0 -0
- /package/dist-lib/{src/components → components}/ui/frame.d.ts +0 -0
- /package/dist-lib/{src/components → components}/ui/group.d.ts +0 -0
- /package/dist-lib/{src/components → components}/ui/kbd.d.ts +0 -0
- /package/dist-lib/{src/components → components}/ui/label.d.ts +0 -0
- /package/dist-lib/{src/components → components}/ui/menu.d.ts +0 -0
- /package/dist-lib/{src/components → components}/ui/otp-field.d.ts +0 -0
- /package/dist-lib/{src/components → components}/ui/popover.d.ts +0 -0
- /package/dist-lib/{src/components → components}/ui/preview-card.d.ts +0 -0
- /package/dist-lib/{src/components → components}/ui/scroll-area.d.ts +0 -0
- /package/dist-lib/{src/components → components}/ui/separator.d.ts +0 -0
- /package/dist-lib/{src/components → components}/ui/sheet.d.ts +0 -0
- /package/dist-lib/{src/components → components}/ui/skeleton.d.ts +0 -0
- /package/dist-lib/{src/components → components}/ui/spinner.d.ts +0 -0
- /package/dist-lib/{src/components → components}/ui/switch.d.ts +0 -0
- /package/dist-lib/{src/components → components}/ui/toolbar.d.ts +0 -0
- /package/dist-lib/{src/components → components}/ui/tooltip.d.ts +0 -0
- /package/dist-lib/{src/lib → lib}/ease.d.ts +0 -0
- /package/dist-lib/{src/lib → lib}/hooks/use-hover-capable.d.ts +0 -0
- /package/dist-lib/{src/lib → lib}/hooks/use-mobile.d.ts +0 -0
- /package/dist-lib/{src/lib → lib}/sound.d.ts +0 -0
- /package/dist-lib/{src/lib → lib}/utils.d.ts +0 -0
- /package/src/components/blocks/{nav/sidebar → sidebar}/marquee-label.tsx +0 -0
|
@@ -2,7 +2,7 @@ import type * as React from "react"
|
|
|
2
2
|
|
|
3
3
|
/** One node in the tree. Nesting depth carries meaning per variant — see
|
|
4
4
|
* `TreeProps["variant"]`. */
|
|
5
|
-
export interface
|
|
5
|
+
export interface ITreeNode {
|
|
6
6
|
id: string
|
|
7
7
|
label: string
|
|
8
8
|
/** Leading icon. Required in practice for `sidebar` — it is all that
|
|
@@ -22,31 +22,31 @@ export interface TreeNode {
|
|
|
22
22
|
badge?: React.ReactNode
|
|
23
23
|
/** Fires on selection, before the tree-level `onNavigate`. */
|
|
24
24
|
onSelect?: () => void
|
|
25
|
-
children?:
|
|
25
|
+
children?: ITreeNode[]
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
export type
|
|
28
|
+
export type TTreeVariant = "navigation" | "toc" | "sidebar" | "files"
|
|
29
29
|
|
|
30
30
|
/** Where a dragged row lands relative to its drop target. */
|
|
31
|
-
export type
|
|
31
|
+
export type TTreeDropPosition = "before" | "after" | "inside"
|
|
32
32
|
|
|
33
33
|
/** Key for one tree’s state in the store. Any stable string; `useTree`
|
|
34
34
|
* generates one when you don't pass it. */
|
|
35
|
-
export type
|
|
35
|
+
export type TTreeInstanceId = string
|
|
36
36
|
|
|
37
37
|
/** Row a drag hovers, and where the drop would land. */
|
|
38
|
-
export interface
|
|
38
|
+
export interface ITreeDropTarget {
|
|
39
39
|
id: string
|
|
40
|
-
position:
|
|
40
|
+
position: TTreeDropPosition
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
interface
|
|
44
|
-
items:
|
|
43
|
+
interface ITreeBaseProps {
|
|
44
|
+
items: ITreeNode[]
|
|
45
45
|
/** Key this tree's state under a name your app can address —
|
|
46
46
|
* `useTreeState("app-nav")` / `useTreeActions("app-nav")` reach it from
|
|
47
47
|
* anywhere under `ExegiaProvider`. Without one the tree generates a key
|
|
48
48
|
* and its state is dropped when it unmounts. */
|
|
49
|
-
treeId?:
|
|
49
|
+
treeId?: TTreeInstanceId
|
|
50
50
|
/** Never set on the data form — `tree` selects the controller form. */
|
|
51
51
|
tree?: never
|
|
52
52
|
/** `id` of the current entry — matches any depth. Its ancestors expand. */
|
|
@@ -55,14 +55,14 @@ interface TreeBaseProps {
|
|
|
55
55
|
* own `onSelect`. Rows are buttons, so this is the routing path — wire
|
|
56
56
|
* your router's navigate here. `toc` rows below the route level still jump
|
|
57
57
|
* to `#{id}` natively, after this fires. */
|
|
58
|
-
onNavigate?: (node:
|
|
58
|
+
onNavigate?: (node: ITreeNode) => void
|
|
59
59
|
/** Expand/collapse cues. Silent until `bindSounds()`. */
|
|
60
60
|
sound?: boolean
|
|
61
61
|
ariaLabel?: string
|
|
62
62
|
className?: string
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
interface
|
|
65
|
+
interface ITreeReadonlyProps {
|
|
66
66
|
collapsed?: never
|
|
67
67
|
onMove?: never
|
|
68
68
|
onRename?: never
|
|
@@ -72,42 +72,42 @@ interface TreeReadonlyProps {
|
|
|
72
72
|
/** Drive the tree from a `useTree` controller instead of raw props. The
|
|
73
73
|
* controller carries the variant, the data and every handler; only the
|
|
74
74
|
* presentational props stay here. */
|
|
75
|
-
export interface
|
|
76
|
-
tree:
|
|
75
|
+
export interface ITreeControllerProps {
|
|
76
|
+
tree: ITreeController
|
|
77
77
|
items?: never
|
|
78
78
|
ariaLabel?: string
|
|
79
79
|
className?: string
|
|
80
80
|
/** Row actions revealed on hover/focus (`files` only — ignored by the
|
|
81
81
|
* other variants, which the controller form cannot type-gate). */
|
|
82
|
-
renderTrailing?: (node:
|
|
82
|
+
renderTrailing?: (node: ITreeNode) => React.ReactNode
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
/** Either form: raw props, or a `useTree` controller via `tree`. */
|
|
86
|
-
export type
|
|
86
|
+
export type TTreeProps = TTreeDataProps | ITreeControllerProps
|
|
87
87
|
|
|
88
88
|
/** The four shapes a Tree takes. Editing props only exist on `files`;
|
|
89
89
|
* `collapsed` only on `sidebar` — the union is the contract. */
|
|
90
|
-
export type
|
|
90
|
+
export type TTreeDataProps = ITreeBaseProps &
|
|
91
91
|
(
|
|
92
92
|
| ({
|
|
93
93
|
/** Nested app navigation. With 3 levels of nodes the top level
|
|
94
94
|
* becomes collapsible section names (styled as headings, not
|
|
95
95
|
* rows); with 2 it renders plain selectable rows. */
|
|
96
96
|
variant: "navigation"
|
|
97
|
-
} &
|
|
97
|
+
} & ITreeReadonlyProps)
|
|
98
98
|
| ({
|
|
99
99
|
/** Table of contents: top-level nodes are routes (handled in
|
|
100
100
|
* `onNavigate`); rows below jump to `#{id}` after select, like an
|
|
101
101
|
* anchor would. Parents select on the row and expand from a
|
|
102
102
|
* separate overlay chevron. */
|
|
103
103
|
variant: "toc"
|
|
104
|
-
} &
|
|
104
|
+
} & ITreeReadonlyProps)
|
|
105
105
|
| ({
|
|
106
106
|
/** Single-level icon rail. `collapsed` shrinks rows to their
|
|
107
107
|
* leading icon; nested children are ignored. */
|
|
108
108
|
variant: "sidebar"
|
|
109
109
|
collapsed?: boolean
|
|
110
|
-
} & Omit<
|
|
110
|
+
} & Omit<ITreeReadonlyProps, "collapsed">)
|
|
111
111
|
| {
|
|
112
112
|
/** File explorer: only leaves navigate, folders toggle. Compact
|
|
113
113
|
* spacing; rename, drag-and-drop and trailing actions enabled. */
|
|
@@ -119,7 +119,7 @@ export type TreeDataProps = TreeBaseProps &
|
|
|
119
119
|
/** Enables inline rename (double-click or F2). */
|
|
120
120
|
onRename?: (id: string, label: string) => void
|
|
121
121
|
/** Row actions revealed on hover/focus — a menu, a delete icon. */
|
|
122
|
-
renderTrailing?: (node:
|
|
122
|
+
renderTrailing?: (node: ITreeNode) => React.ReactNode
|
|
123
123
|
collapsed?: never
|
|
124
124
|
}
|
|
125
125
|
)
|
|
@@ -127,29 +127,29 @@ export type TreeDataProps = TreeBaseProps &
|
|
|
127
127
|
/** Options for `useTree`. Each of `items`, `activeId` and `collapsed` is
|
|
128
128
|
* controlled when passed and hook-owned when its `default*` twin is used
|
|
129
129
|
* instead. */
|
|
130
|
-
export interface
|
|
130
|
+
export interface IUseTreeOptions {
|
|
131
131
|
/** Key this tree's state under a name your app can address —
|
|
132
132
|
* `useTreeState("app-nav")` / `useTreeActions("app-nav")` reach it from
|
|
133
133
|
* anywhere under `ExegiaProvider`. Without one the hook generates a key
|
|
134
134
|
* and the state is dropped when the component unmounts. */
|
|
135
|
-
treeId?:
|
|
135
|
+
treeId?: TTreeInstanceId
|
|
136
136
|
/** Which shape the tree takes — gates rename/reorder (`files`) and the
|
|
137
137
|
* collapsible rail (`sidebar`). */
|
|
138
|
-
variant:
|
|
138
|
+
variant: TTreeVariant
|
|
139
139
|
/** Controlled data. With it, `rename`/`move` only report the edit unless
|
|
140
140
|
* you also pass `onItemsChange`. */
|
|
141
|
-
items?:
|
|
141
|
+
items?: ITreeNode[]
|
|
142
142
|
/** Hook-owned data — `rename` and `move` apply the edit themselves. */
|
|
143
|
-
defaultItems?:
|
|
143
|
+
defaultItems?: ITreeNode[]
|
|
144
144
|
/** Next tree after a `rename`/`move`. Also enables self-applying edits
|
|
145
145
|
* on top of controlled `items`. */
|
|
146
|
-
onItemsChange?: (items:
|
|
146
|
+
onItemsChange?: (items: ITreeNode[]) => void
|
|
147
147
|
/** Controlled selection. Ancestors of the active node expand. */
|
|
148
148
|
activeId?: string
|
|
149
149
|
defaultActiveId?: string
|
|
150
150
|
/** Fires for every selection (rows and leaves alike), after the node's
|
|
151
151
|
* own `onSelect` — wire your router's navigate here. */
|
|
152
|
-
onNavigate?: (node:
|
|
152
|
+
onNavigate?: (node: ITreeNode) => void
|
|
153
153
|
/** Start with these ids expanded instead of the `defaultOpen` set. */
|
|
154
154
|
defaultExpandedIds?: Iterable<string>
|
|
155
155
|
onExpandedChange?: (ids: string[]) => void
|
|
@@ -169,18 +169,18 @@ export interface UseTreeOptions {
|
|
|
169
169
|
|
|
170
170
|
/** Everything the tree can do, callable from outside the component.
|
|
171
171
|
* Returned by `useTree` and accepted by `<Tree tree={…} />`. */
|
|
172
|
-
export interface
|
|
172
|
+
export interface ITreeController {
|
|
173
173
|
/** The key this tree's state is stored under. */
|
|
174
|
-
treeId:
|
|
175
|
-
variant:
|
|
176
|
-
items:
|
|
174
|
+
treeId: TTreeInstanceId
|
|
175
|
+
variant: TTreeVariant
|
|
176
|
+
items: ITreeNode[]
|
|
177
177
|
/** `navigation` with 3 levels of nodes — depth 0 renders as sections. */
|
|
178
178
|
sectioned: boolean
|
|
179
179
|
/** Ids of the section headings, empty unless `sectioned`. Pass one to
|
|
180
180
|
* `expand`/`collapse`/`toggleExpanded` to work a whole section. */
|
|
181
181
|
sectionIds: string[]
|
|
182
182
|
sound: boolean
|
|
183
|
-
getNode: (id: string) =>
|
|
183
|
+
getNode: (id: string) => ITreeNode | null
|
|
184
184
|
|
|
185
185
|
expandedIds: ReadonlySet<string>
|
|
186
186
|
isExpanded: (id: string) => boolean
|
|
@@ -219,7 +219,7 @@ export interface TreeController {
|
|
|
219
219
|
/** Back to the values the tree mounted with. */
|
|
220
220
|
reset: () => void
|
|
221
221
|
|
|
222
|
-
dnd:
|
|
222
|
+
dnd: ITreeDndContextValue
|
|
223
223
|
}
|
|
224
224
|
|
|
225
225
|
/** @internal What a row needs from the root, threaded through context so
|
|
@@ -228,36 +228,36 @@ export interface TreeController {
|
|
|
228
228
|
* Deliberately free of tree state. Rows read state from per-node atoms, so
|
|
229
229
|
* this value keeps its identity for the life of the tree and expanding one
|
|
230
230
|
* branch no longer re-renders every row through context. */
|
|
231
|
-
export interface
|
|
232
|
-
treeId:
|
|
233
|
-
renderTrailing?: (node:
|
|
234
|
-
dnd:
|
|
231
|
+
export interface ITreeContextValue {
|
|
232
|
+
treeId: TTreeInstanceId
|
|
233
|
+
renderTrailing?: (node: ITreeNode) => React.ReactNode
|
|
234
|
+
dnd: ITreeDndHandlers
|
|
235
235
|
}
|
|
236
236
|
|
|
237
237
|
/** @internal The drag event handlers, stable for the life of the tree —
|
|
238
238
|
* they read drag state out of the store instead of closing over it, so
|
|
239
239
|
* handing them to every row costs no re-renders. */
|
|
240
|
-
export interface
|
|
240
|
+
export interface ITreeDndHandlers {
|
|
241
241
|
enabled: boolean
|
|
242
242
|
onRowDragStart: (event: React.DragEvent, id: string) => void
|
|
243
|
-
onRowDragOver: (event: React.DragEvent, node:
|
|
243
|
+
onRowDragOver: (event: React.DragEvent, node: ITreeNode) => void
|
|
244
244
|
onRowDragLeave: (event: React.DragEvent) => void
|
|
245
|
-
onRowDrop: (event: React.DragEvent, node:
|
|
245
|
+
onRowDrop: (event: React.DragEvent, node: ITreeNode) => void
|
|
246
246
|
onRowDragEnd: () => void
|
|
247
247
|
}
|
|
248
248
|
|
|
249
249
|
/** @internal Handlers plus live drag state — what `TreeController.dnd`
|
|
250
250
|
* exposes (all `null`/no-op outside `files`). */
|
|
251
|
-
export interface
|
|
251
|
+
export interface ITreeDndContextValue extends ITreeDndHandlers {
|
|
252
252
|
draggedId: string | null
|
|
253
253
|
/** Row the pointer is over and where the drop would land. */
|
|
254
|
-
dropTarget:
|
|
254
|
+
dropTarget: ITreeDropTarget | null
|
|
255
255
|
}
|
|
256
256
|
|
|
257
257
|
/** Everything observable about one tree, for consumers reading it by id. */
|
|
258
|
-
export interface
|
|
259
|
-
variant:
|
|
260
|
-
items:
|
|
258
|
+
export interface ITreeState {
|
|
259
|
+
variant: TTreeVariant
|
|
260
|
+
items: ITreeNode[]
|
|
261
261
|
activeId?: string
|
|
262
262
|
expandedIds: ReadonlySet<string>
|
|
263
263
|
collapsed: boolean
|
|
@@ -267,11 +267,11 @@ export interface TreeState {
|
|
|
267
267
|
canRename: boolean
|
|
268
268
|
canMove: boolean
|
|
269
269
|
draggedId: string | null
|
|
270
|
-
dropTarget:
|
|
270
|
+
dropTarget: ITreeDropTarget | null
|
|
271
271
|
}
|
|
272
272
|
|
|
273
273
|
/** Everything doable to one tree from outside its component. */
|
|
274
|
-
export interface
|
|
274
|
+
export interface ITreeActions {
|
|
275
275
|
expand: (id: string) => void
|
|
276
276
|
collapse: (id: string) => void
|
|
277
277
|
toggleExpanded: (id: string) => void
|
|
@@ -285,14 +285,14 @@ export interface TreeActions {
|
|
|
285
285
|
cancelRename: () => void
|
|
286
286
|
rename: (id: string, label: string) => void
|
|
287
287
|
move: (id: string, parentId: string | null, index: number) => void
|
|
288
|
-
setItems: (items:
|
|
288
|
+
setItems: (items: ITreeNode[]) => void
|
|
289
289
|
reset: () => void
|
|
290
290
|
}
|
|
291
291
|
|
|
292
292
|
/** @internal Projection of `useTree`'s options — primitives only, so the
|
|
293
293
|
* store write runs once per real change instead of once per render. */
|
|
294
|
-
export interface
|
|
295
|
-
variant:
|
|
294
|
+
export interface ITreeConfig {
|
|
295
|
+
variant: TTreeVariant
|
|
296
296
|
sound: boolean
|
|
297
297
|
controlsItems: boolean
|
|
298
298
|
controlsActiveId: boolean
|
|
@@ -304,9 +304,9 @@ export interface TreeConfig {
|
|
|
304
304
|
|
|
305
305
|
/** @internal Latest option callbacks. Only write atoms read this, so it
|
|
306
306
|
* can be refreshed every commit without re-rendering anything. */
|
|
307
|
-
export interface
|
|
308
|
-
onNavigate?: (node:
|
|
309
|
-
onItemsChange?: (items:
|
|
307
|
+
export interface ITreeHandlers {
|
|
308
|
+
onNavigate?: (node: ITreeNode) => void
|
|
309
|
+
onItemsChange?: (items: ITreeNode[]) => void
|
|
310
310
|
onExpandedChange?: (ids: string[]) => void
|
|
311
311
|
onCollapsedChange?: (collapsed: boolean) => void
|
|
312
312
|
onRename?: (id: string, label: string) => void
|
|
@@ -314,8 +314,8 @@ export interface TreeHandlers {
|
|
|
314
314
|
}
|
|
315
315
|
|
|
316
316
|
/** @internal What an instance starts from, replayed by `resetTreeAtom`. */
|
|
317
|
-
export interface
|
|
318
|
-
items:
|
|
317
|
+
export interface ITreeSeed {
|
|
318
|
+
items: ITreeNode[]
|
|
319
319
|
activeId?: string
|
|
320
320
|
collapsed: boolean
|
|
321
321
|
expandedIds?: string[]
|
|
@@ -12,11 +12,11 @@ import {
|
|
|
12
12
|
treeItemsAtom,
|
|
13
13
|
} from "./tree-atom"
|
|
14
14
|
import type {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
ITreeDndContextValue,
|
|
16
|
+
ITreeDndHandlers,
|
|
17
|
+
TTreeDropPosition,
|
|
18
|
+
TTreeInstanceId,
|
|
19
|
+
ITreeNode,
|
|
20
20
|
} from "./type"
|
|
21
21
|
import { containsNode, findNode, locateNode } from "./utils"
|
|
22
22
|
|
|
@@ -37,7 +37,7 @@ const EDGE_RATIO = 0.25
|
|
|
37
37
|
* never read, so the flow also works where the store is unavailable (tests,
|
|
38
38
|
* some webviews).
|
|
39
39
|
*/
|
|
40
|
-
export function useTreeDndHandlers(treeId:
|
|
40
|
+
export function useTreeDndHandlers(treeId: TTreeInstanceId): ITreeDndHandlers {
|
|
41
41
|
const store = useStore()
|
|
42
42
|
const enabled = useAtomValue(treeCanMoveAtom(treeId))
|
|
43
43
|
const setDraggedId = useSetAtom(treeDraggedIdAtom(treeId))
|
|
@@ -72,7 +72,7 @@ export function useTreeDndHandlers(treeId: TreeInstanceId): TreeDndHandlers {
|
|
|
72
72
|
)
|
|
73
73
|
|
|
74
74
|
const onRowDragOver = React.useCallback(
|
|
75
|
-
(event: React.DragEvent, node:
|
|
75
|
+
(event: React.DragEvent, node: ITreeNode) => {
|
|
76
76
|
const draggedId = readDraggedId()
|
|
77
77
|
if (!enabled || draggedId === null) return
|
|
78
78
|
// A node never drops onto itself or into its own subtree.
|
|
@@ -87,7 +87,7 @@ export function useTreeDndHandlers(treeId: TreeInstanceId): TreeDndHandlers {
|
|
|
87
87
|
// Any node carrying a children array is a folder — an empty one still
|
|
88
88
|
// accepts drops "inside".
|
|
89
89
|
const folder = node.children !== undefined
|
|
90
|
-
const position:
|
|
90
|
+
const position: TTreeDropPosition = folder
|
|
91
91
|
? ratio < EDGE_RATIO
|
|
92
92
|
? "before"
|
|
93
93
|
: ratio > 1 - EDGE_RATIO
|
|
@@ -116,7 +116,7 @@ export function useTreeDndHandlers(treeId: TreeInstanceId): TreeDndHandlers {
|
|
|
116
116
|
)
|
|
117
117
|
|
|
118
118
|
const onRowDrop = React.useCallback(
|
|
119
|
-
(event: React.DragEvent, node:
|
|
119
|
+
(event: React.DragEvent, node: ITreeNode) => {
|
|
120
120
|
if (!enabled) return
|
|
121
121
|
event.preventDefault()
|
|
122
122
|
event.stopPropagation()
|
|
@@ -167,7 +167,7 @@ export function useTreeDndHandlers(treeId: TreeInstanceId): TreeDndHandlers {
|
|
|
167
167
|
|
|
168
168
|
/** The handlers plus live drag state, for `TreeController.dnd`. Rows take the
|
|
169
169
|
* handlers alone and read the state per node instead. */
|
|
170
|
-
export function useTreeDnd(treeId:
|
|
170
|
+
export function useTreeDnd(treeId: TTreeInstanceId): ITreeDndContextValue {
|
|
171
171
|
const handlers = useTreeDndHandlers(treeId)
|
|
172
172
|
const draggedId = useAtomValue(treeDraggedIdAtom(treeId))
|
|
173
173
|
const dropTarget = useAtomValue(treeDropTargetAtom(treeId))
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
toggleTreeNodeAtom,
|
|
22
22
|
treeStateAtom,
|
|
23
23
|
} from "./tree-atom"
|
|
24
|
-
import type {
|
|
24
|
+
import type { ITreeActions, TTreeInstanceId, ITreeState } from "./type"
|
|
25
25
|
|
|
26
26
|
/**
|
|
27
27
|
* Read the tree registered under `treeId` from anywhere below
|
|
@@ -35,7 +35,7 @@ import type { TreeActions, TreeInstanceId, TreeState } from "./type"
|
|
|
35
35
|
* change. A component that reads one field should subscribe to that field's
|
|
36
36
|
* atom instead: `useAtomValue(treeCollapsedAtom("app-nav"))`.
|
|
37
37
|
*/
|
|
38
|
-
export function useTreeState(treeId:
|
|
38
|
+
export function useTreeState(treeId: TTreeInstanceId): ITreeState {
|
|
39
39
|
return useAtomValue(treeStateAtom(treeId))
|
|
40
40
|
}
|
|
41
41
|
|
|
@@ -49,7 +49,7 @@ export function useTreeState(treeId: TreeInstanceId): TreeState {
|
|
|
49
49
|
* <Button onClick={nav.collapseAll}>Collapse all</Button>
|
|
50
50
|
* ```
|
|
51
51
|
*/
|
|
52
|
-
export function useTreeActions(treeId:
|
|
52
|
+
export function useTreeActions(treeId: TTreeInstanceId): ITreeActions {
|
|
53
53
|
const expand = useSetAtom(expandTreeNodeAtom(treeId))
|
|
54
54
|
const collapse = useSetAtom(collapseTreeNodeAtom(treeId))
|
|
55
55
|
const toggleExpanded = useSetAtom(toggleTreeNodeAtom(treeId))
|
|
@@ -34,11 +34,11 @@ import {
|
|
|
34
34
|
treeRenamingIdAtom,
|
|
35
35
|
} from "./tree-atom"
|
|
36
36
|
import type {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
37
|
+
ITreeConfig,
|
|
38
|
+
ITreeController,
|
|
39
|
+
ITreeHandlers,
|
|
40
|
+
ITreeSeed,
|
|
41
|
+
IUseTreeOptions,
|
|
42
42
|
} from "./type"
|
|
43
43
|
import { useTreeDnd } from "./use-tree-dnd"
|
|
44
44
|
import { findNode, hasThreeLevels } from "./utils"
|
|
@@ -65,7 +65,7 @@ import { findNode, hasThreeLevels } from "./utils"
|
|
|
65
65
|
* `ExegiaProvider` can drive this tree without the controller — name it and
|
|
66
66
|
* reach for `useTreeState(treeId)` / `useTreeActions(treeId)` elsewhere.
|
|
67
67
|
*/
|
|
68
|
-
export function useTree(options:
|
|
68
|
+
export function useTree(options: IUseTreeOptions): ITreeController {
|
|
69
69
|
const {
|
|
70
70
|
variant,
|
|
71
71
|
onNavigate,
|
|
@@ -93,7 +93,7 @@ export function useTree(options: UseTreeOptions): TreeController {
|
|
|
93
93
|
|
|
94
94
|
// Primitives only, so this object is stable and the store write below runs
|
|
95
95
|
// once per real change rather than once per render.
|
|
96
|
-
const config = React.useMemo<
|
|
96
|
+
const config = React.useMemo<ITreeConfig>(
|
|
97
97
|
() => ({
|
|
98
98
|
variant,
|
|
99
99
|
sound,
|
|
@@ -116,7 +116,7 @@ export function useTree(options: UseTreeOptions): TreeController {
|
|
|
116
116
|
]
|
|
117
117
|
)
|
|
118
118
|
|
|
119
|
-
const handlers = React.useMemo<
|
|
119
|
+
const handlers = React.useMemo<ITreeHandlers>(
|
|
120
120
|
() => ({
|
|
121
121
|
onNavigate,
|
|
122
122
|
onItemsChange,
|
|
@@ -136,7 +136,7 @@ export function useTree(options: UseTreeOptions): TreeController {
|
|
|
136
136
|
)
|
|
137
137
|
|
|
138
138
|
// Read once: the `default*` options describe the mount, not every render.
|
|
139
|
-
const [seed] = React.useState<
|
|
139
|
+
const [seed] = React.useState<ITreeSeed>(() => ({
|
|
140
140
|
items: options.items ?? options.defaultItems ?? [],
|
|
141
141
|
activeId: options.activeId ?? options.defaultActiveId,
|
|
142
142
|
collapsed: options.collapsed ?? options.defaultCollapsed ?? false,
|
|
@@ -244,7 +244,7 @@ export function useTree(options: UseTreeOptions): TreeController {
|
|
|
244
244
|
|
|
245
245
|
const dnd = useTreeDnd(treeId)
|
|
246
246
|
|
|
247
|
-
return React.useMemo<
|
|
247
|
+
return React.useMemo<ITreeController>(
|
|
248
248
|
() => ({
|
|
249
249
|
treeId,
|
|
250
250
|
variant,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ITreeNode } from "./type"
|
|
2
2
|
|
|
3
3
|
/** Depth-0 nodes read as sections only when the data actually nests three
|
|
4
4
|
* levels — a two-level tree keeps its top level as plain link rows. */
|
|
5
|
-
export function hasThreeLevels(items: readonly
|
|
5
|
+
export function hasThreeLevels(items: readonly ITreeNode[]): boolean {
|
|
6
6
|
return items.some((node) =>
|
|
7
7
|
node.children?.some((child) => (child.children?.length ?? 0) > 0)
|
|
8
8
|
)
|
|
@@ -10,10 +10,10 @@ export function hasThreeLevels(items: readonly TreeNode[]): boolean {
|
|
|
10
10
|
|
|
11
11
|
/** Ids of every ancestor of `id` (nearest last); empty when absent. */
|
|
12
12
|
export function ancestorIdsOf(
|
|
13
|
-
items: readonly
|
|
13
|
+
items: readonly ITreeNode[],
|
|
14
14
|
id: string
|
|
15
15
|
): string[] {
|
|
16
|
-
const walk = (nodes: readonly
|
|
16
|
+
const walk = (nodes: readonly ITreeNode[], trail: string[]): string[] | null => {
|
|
17
17
|
for (const node of nodes) {
|
|
18
18
|
if (node.id === id) return trail
|
|
19
19
|
if (node.children) {
|
|
@@ -29,11 +29,11 @@ export function ancestorIdsOf(
|
|
|
29
29
|
/** Ids that start expanded: `defaultOpen` nodes plus every ancestor of the
|
|
30
30
|
* active entry, so the current location is never folded away. */
|
|
31
31
|
export function initialExpandedIds(
|
|
32
|
-
items: readonly
|
|
32
|
+
items: readonly ITreeNode[],
|
|
33
33
|
activeId?: string
|
|
34
34
|
): Set<string> {
|
|
35
35
|
const expanded = new Set<string>()
|
|
36
|
-
const walk = (nodes: readonly
|
|
36
|
+
const walk = (nodes: readonly ITreeNode[]) => {
|
|
37
37
|
for (const node of nodes) {
|
|
38
38
|
if (node.defaultOpen) expanded.add(node.id)
|
|
39
39
|
if (node.children) walk(node.children)
|
|
@@ -48,11 +48,11 @@ export function initialExpandedIds(
|
|
|
48
48
|
/** Ids of every node that can hold children — the set `expandAll` opens.
|
|
49
49
|
* In `files` an empty `children: []` still counts (it is a folder). */
|
|
50
50
|
export function expandableIdsOf(
|
|
51
|
-
items: readonly
|
|
51
|
+
items: readonly ITreeNode[],
|
|
52
52
|
filesVariant = false
|
|
53
53
|
): string[] {
|
|
54
54
|
const ids: string[] = []
|
|
55
|
-
const walk = (nodes: readonly
|
|
55
|
+
const walk = (nodes: readonly ITreeNode[]) => {
|
|
56
56
|
for (const node of nodes) {
|
|
57
57
|
const branch = filesVariant
|
|
58
58
|
? node.children !== undefined
|
|
@@ -67,10 +67,10 @@ export function expandableIdsOf(
|
|
|
67
67
|
|
|
68
68
|
/** Immutably relabel `id`. Returns the same array reference when absent. */
|
|
69
69
|
export function renameNode(
|
|
70
|
-
items: readonly
|
|
70
|
+
items: readonly ITreeNode[],
|
|
71
71
|
id: string,
|
|
72
72
|
label: string
|
|
73
|
-
):
|
|
73
|
+
): ITreeNode[] {
|
|
74
74
|
return items.map((node) => {
|
|
75
75
|
if (node.id === id) return { ...node, label }
|
|
76
76
|
return node.children
|
|
@@ -82,7 +82,7 @@ export function renameNode(
|
|
|
82
82
|
/** Whether `candidateId` is `id` itself or nests anywhere under it — the
|
|
83
83
|
* guard that keeps a folder from being dropped into its own subtree. */
|
|
84
84
|
export function containsNode(
|
|
85
|
-
items: readonly
|
|
85
|
+
items: readonly ITreeNode[],
|
|
86
86
|
id: string,
|
|
87
87
|
candidateId: string
|
|
88
88
|
): boolean {
|
|
@@ -93,9 +93,9 @@ export function containsNode(
|
|
|
93
93
|
}
|
|
94
94
|
|
|
95
95
|
export function findNode(
|
|
96
|
-
items: readonly
|
|
96
|
+
items: readonly ITreeNode[],
|
|
97
97
|
id: string
|
|
98
|
-
):
|
|
98
|
+
): ITreeNode | null {
|
|
99
99
|
for (const node of items) {
|
|
100
100
|
if (node.id === id) return node
|
|
101
101
|
if (node.children) {
|
|
@@ -108,11 +108,11 @@ export function findNode(
|
|
|
108
108
|
|
|
109
109
|
/** Parent id (`null` at root) and index of `id` among its siblings. */
|
|
110
110
|
export function locateNode(
|
|
111
|
-
items: readonly
|
|
111
|
+
items: readonly ITreeNode[],
|
|
112
112
|
id: string
|
|
113
113
|
): { parentId: string | null; index: number } | null {
|
|
114
114
|
const walk = (
|
|
115
|
-
nodes: readonly
|
|
115
|
+
nodes: readonly ITreeNode[],
|
|
116
116
|
parentId: string | null
|
|
117
117
|
): { parentId: string | null; index: number } | null => {
|
|
118
118
|
for (const [index, node] of nodes.entries()) {
|
|
@@ -132,15 +132,15 @@ export function locateNode(
|
|
|
132
132
|
* consumers don't each rebuild it. `index` addresses the sibling list
|
|
133
133
|
* *after* the node has been lifted out. */
|
|
134
134
|
export function moveNode(
|
|
135
|
-
items: readonly
|
|
135
|
+
items: readonly ITreeNode[],
|
|
136
136
|
id: string,
|
|
137
137
|
parentId: string | null,
|
|
138
138
|
index: number
|
|
139
|
-
):
|
|
139
|
+
): ITreeNode[] {
|
|
140
140
|
// Dropping into the node's own subtree would orphan it — refuse.
|
|
141
141
|
if (parentId !== null && containsNode(items, id, parentId)) return [...items]
|
|
142
|
-
let moved:
|
|
143
|
-
const strip = (nodes: readonly
|
|
142
|
+
let moved: ITreeNode | null = null
|
|
143
|
+
const strip = (nodes: readonly ITreeNode[]): ITreeNode[] =>
|
|
144
144
|
nodes.flatMap((node) => {
|
|
145
145
|
if (node.id === id) {
|
|
146
146
|
moved = node
|
|
@@ -152,14 +152,14 @@ export function moveNode(
|
|
|
152
152
|
})
|
|
153
153
|
const stripped = strip(items)
|
|
154
154
|
if (!moved) return [...items]
|
|
155
|
-
const captured = moved as
|
|
155
|
+
const captured = moved as ITreeNode
|
|
156
156
|
|
|
157
157
|
if (parentId === null) {
|
|
158
158
|
const next = [...stripped]
|
|
159
159
|
next.splice(Math.min(index, next.length), 0, captured)
|
|
160
160
|
return next
|
|
161
161
|
}
|
|
162
|
-
const insert = (nodes: readonly
|
|
162
|
+
const insert = (nodes: readonly ITreeNode[]): ITreeNode[] =>
|
|
163
163
|
nodes.map((node) => {
|
|
164
164
|
if (node.id === parentId) {
|
|
165
165
|
const children = [...(node.children ?? [])]
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type TSocialProvider = "google" | "apple" | "github" | "x"
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
export type * from "./action-bar/types"
|
|
5
|
+
export type * from "./ai/types"
|
|
6
|
+
export type * from "./chat/flowchart/types"
|
|
7
|
+
export type * from "./chat/recommendation/types"
|
|
8
|
+
export type * from "./user/types"
|
|
9
|
+
export type * from "./verse/types"
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { describe, expect, test } from "bun:test"
|
|
2
|
+
import { render, screen } from "@testing-library/react"
|
|
3
|
+
import User from "../index"
|
|
4
|
+
import { Attachment } from "@/components/composed/chat/attachment"
|
|
5
|
+
|
|
6
|
+
describe("User.Message", () => {
|
|
7
|
+
test("uses the user's direction and identity for the whole message", () => {
|
|
8
|
+
const { container } = render(
|
|
9
|
+
<User.Message
|
|
10
|
+
variant="info"
|
|
11
|
+
user={{
|
|
12
|
+
firstName: "Marcus",
|
|
13
|
+
lastName: "Lee",
|
|
14
|
+
role: "Reviewer",
|
|
15
|
+
direction: "recipient",
|
|
16
|
+
description: "10 min ago",
|
|
17
|
+
}}
|
|
18
|
+
>
|
|
19
|
+
Compare the passage.
|
|
20
|
+
</User.Message>
|
|
21
|
+
)
|
|
22
|
+
expect(
|
|
23
|
+
container
|
|
24
|
+
.querySelector('[data-slot="bubble"]')
|
|
25
|
+
?.getAttribute("data-variant")
|
|
26
|
+
).toBe("recipient")
|
|
27
|
+
expect(screen.getByText("Marcus Lee")).toBeDefined()
|
|
28
|
+
expect(screen.getByText("Reviewer")).toBeDefined()
|
|
29
|
+
expect(screen.getByText("10 min ago")).toBeDefined()
|
|
30
|
+
expect(
|
|
31
|
+
screen
|
|
32
|
+
.getByText("Compare the passage.")
|
|
33
|
+
.closest('[data-slot="bubble-message"]')
|
|
34
|
+
).not.toBeNull()
|
|
35
|
+
})
|
|
36
|
+
|
|
37
|
+
test("continued messages omit the identity and keep reactions outside the surface", () => {
|
|
38
|
+
const { container } = render(
|
|
39
|
+
<User.Message
|
|
40
|
+
variant="info"
|
|
41
|
+
continued
|
|
42
|
+
user={{ firstName: "Jenny", direction: "sender" }}
|
|
43
|
+
reactions={{ reactions: [{ emoji: "❤️", label: "heart", count: 1 }] }}
|
|
44
|
+
>
|
|
45
|
+
A follow-up.
|
|
46
|
+
</User.Message>
|
|
47
|
+
)
|
|
48
|
+
expect(container.querySelector('[data-slot="bubble-header"]')).toBeNull()
|
|
49
|
+
expect(
|
|
50
|
+
container
|
|
51
|
+
.querySelector('[data-slot="bubble"]')
|
|
52
|
+
?.hasAttribute("data-continued")
|
|
53
|
+
).toBe(true)
|
|
54
|
+
expect(
|
|
55
|
+
screen
|
|
56
|
+
.getByRole("button", { name: "heart" })
|
|
57
|
+
.closest('[data-slot="bubble-message"]')
|
|
58
|
+
).toBeNull()
|
|
59
|
+
})
|
|
60
|
+
|
|
61
|
+
test("attachment-only user messages retain the bare attachment surface", () => {
|
|
62
|
+
const { container } = render(
|
|
63
|
+
<User.Message
|
|
64
|
+
variant="info"
|
|
65
|
+
user={{ firstName: "Jenny", direction: "sender" }}
|
|
66
|
+
>
|
|
67
|
+
<Attachment kind="image" title="scan.jpg" src="/scan.jpg" />
|
|
68
|
+
</User.Message>
|
|
69
|
+
)
|
|
70
|
+
expect(
|
|
71
|
+
container
|
|
72
|
+
.querySelector('[data-slot="bubble-message"]')
|
|
73
|
+
?.hasAttribute("data-unstyled")
|
|
74
|
+
).toBe(true)
|
|
75
|
+
expect(
|
|
76
|
+
container.querySelector('[data-slot="preview-card-trigger"]')
|
|
77
|
+
).not.toBeNull()
|
|
78
|
+
})
|
|
79
|
+
})
|