@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
|
@@ -3,35 +3,22 @@
|
|
|
3
3
|
import * as React from "react"
|
|
4
4
|
import { MotionConfig } from "motion/react"
|
|
5
5
|
|
|
6
|
-
import type { SocialProvider } from "@/components/composed/social-providers"
|
|
7
|
-
import type { AuthAccent } from "@/lib/auth-accent"
|
|
8
6
|
import { cn } from "@/lib/utils"
|
|
9
7
|
import { AuthCard, AuthSuccess, MorphStep } from "./auth-shell"
|
|
10
|
-
import { CodeAuthBlock
|
|
8
|
+
import { CodeAuthBlock } from "./code-auth-block"
|
|
11
9
|
import {
|
|
12
10
|
ForgotPasswordBlock,
|
|
13
|
-
type ForgotPasswordBlockProps,
|
|
14
11
|
} from "./forgot-password-block"
|
|
15
|
-
import { LoginBlock
|
|
12
|
+
import { LoginBlock } from "./login-block"
|
|
16
13
|
import {
|
|
17
14
|
OnboardingBlock,
|
|
18
|
-
type OnboardingBlockProps,
|
|
19
|
-
type OnboardingStepConfig,
|
|
20
|
-
type OnboardingValue,
|
|
21
15
|
} from "./onboarding-block"
|
|
22
|
-
import { SignupBlock
|
|
16
|
+
import { SignupBlock } from "./signup-block"
|
|
23
17
|
import {
|
|
24
18
|
UpdatePasswordBlock,
|
|
25
|
-
type UpdatePasswordBlockProps,
|
|
26
19
|
} from "./update-password-block"
|
|
27
|
-
import type {
|
|
28
|
-
AuthFlowId,
|
|
29
|
-
AuthFlowState,
|
|
30
|
-
AuthFlowStep,
|
|
31
|
-
AuthUser,
|
|
32
|
-
BeginAuthVerificationOptions,
|
|
33
|
-
} from "./auth-state-type"
|
|
34
20
|
import { useAuthFlow, useAuthFlowActions } from "./use-auth-state"
|
|
21
|
+
import type { IAuthFlowBlockProps, TAuthFlowDirective, TAuthFlowHandler } from "./type"
|
|
35
22
|
|
|
36
23
|
/**
|
|
37
24
|
* Where the flow goes after a step callback resolves. Returned from every
|
|
@@ -48,78 +35,6 @@ import { useAuthFlow, useAuthFlowActions } from "./use-auth-state"
|
|
|
48
35
|
* which owns its transient error/shake state (see `react/CLAUDE.md`,
|
|
49
36
|
* "Third implementation: auth").
|
|
50
37
|
*/
|
|
51
|
-
export type AuthFlowDirective =
|
|
52
|
-
| { user: AuthUser }
|
|
53
|
-
| { verify: BeginAuthVerificationOptions }
|
|
54
|
-
| { step: AuthFlowStep }
|
|
55
|
-
| void
|
|
56
|
-
|
|
57
|
-
export type AuthFlowHandler<Data = void> = (
|
|
58
|
-
data: Data
|
|
59
|
-
) => Promise<AuthFlowDirective> | AuthFlowDirective
|
|
60
|
-
|
|
61
|
-
/** Per-step prop overrides, merged over the orchestrator's wiring — spread
|
|
62
|
-
* last, so an app can restyle a block or unhook a default navigation link
|
|
63
|
-
* (`{ login: { onSignup: undefined } }` removes the sign-up hand-off). */
|
|
64
|
-
export interface AuthFlowStepOverrides {
|
|
65
|
-
login?: Partial<LoginBlockProps>
|
|
66
|
-
signup?: Partial<SignupBlockProps>
|
|
67
|
-
"verify-code"?: Partial<CodeAuthBlockProps>
|
|
68
|
-
"forgot-password"?: Partial<ForgotPasswordBlockProps>
|
|
69
|
-
"update-password"?: Partial<UpdatePasswordBlockProps>
|
|
70
|
-
onboarding?: Partial<OnboardingBlockProps>
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
export interface AuthFlowBlockProps {
|
|
74
|
-
/** Which flow instance to orchestrate. The default flow unless a re-auth
|
|
75
|
-
* modal or a second surface needs its own. */
|
|
76
|
-
flowId?: AuthFlowId
|
|
77
|
-
/** Brand mark handed to every step's card. */
|
|
78
|
-
logo?: React.ReactNode
|
|
79
|
-
/** Brand accent handed to every step's card. */
|
|
80
|
-
accent?: AuthAccent
|
|
81
|
-
/** Social providers offered on the login and signup steps. */
|
|
82
|
-
providers?: SocialProvider[]
|
|
83
|
-
/** The login attempt. Resolve with a directive; reject to show the error
|
|
84
|
-
* in the block. */
|
|
85
|
-
onLogin?: AuthFlowHandler<{
|
|
86
|
-
email: string
|
|
87
|
-
password: string
|
|
88
|
-
remember: boolean
|
|
89
|
-
}>
|
|
90
|
-
/** The signup attempt. */
|
|
91
|
-
onSignup?: AuthFlowHandler<{ name: string; email: string; password: string }>
|
|
92
|
-
/** A social provider chosen on the login or signup step. */
|
|
93
|
-
onProviderSelect?: AuthFlowHandler<SocialProvider>
|
|
94
|
-
/** The forgot-password request. Resolving without a directive stays on the
|
|
95
|
-
* step (the block shows its own "link sent" state). */
|
|
96
|
-
onRequestReset?: AuthFlowHandler<{ email: string }>
|
|
97
|
-
/** The code entered on the verification step. */
|
|
98
|
-
onVerifyCode?: AuthFlowHandler<string>
|
|
99
|
-
/** "Resend code" on the verification step. */
|
|
100
|
-
onResendCode?: AuthFlowHandler
|
|
101
|
-
/** The update-password submit. */
|
|
102
|
-
onUpdatePassword?: AuthFlowHandler<{ password: string }>
|
|
103
|
-
/** Onboarding finished, with the merged profile. */
|
|
104
|
-
onOnboardingComplete?: AuthFlowHandler<Record<string, OnboardingValue>>
|
|
105
|
-
/** Declared onboarding steps, handed to `OnboardingBlock`. */
|
|
106
|
-
onboardingSteps?: OnboardingStepConfig[]
|
|
107
|
-
/** Per-step prop overrides, merged over the orchestrator's wiring. */
|
|
108
|
-
steps?: AuthFlowStepOverrides
|
|
109
|
-
/** Replace any step's UI entirely; return `undefined` to keep the default
|
|
110
|
-
* for that step. Receives the flow state for destination copy etc. */
|
|
111
|
-
renderStep?: (
|
|
112
|
-
step: AuthFlowStep,
|
|
113
|
-
flow: AuthFlowState
|
|
114
|
-
) => React.ReactNode | undefined
|
|
115
|
-
/** Replaces the whole default success card. */
|
|
116
|
-
success?: React.ReactNode
|
|
117
|
-
/** Card title of the default success step. */
|
|
118
|
-
successTitle?: string
|
|
119
|
-
/** Body under the default success step's "You're signed in" check. */
|
|
120
|
-
successDescription?: string
|
|
121
|
-
className?: string
|
|
122
|
-
}
|
|
123
38
|
|
|
124
39
|
/**
|
|
125
40
|
* Renders the right auth block for the flow's current step with the store
|
|
@@ -127,7 +42,7 @@ export interface AuthFlowBlockProps {
|
|
|
127
42
|
* `useAuthFlow`. Navigation links between steps (login ↔ signup, forgot
|
|
128
43
|
* password, back from verification) are pre-wired to `goToStep`; each
|
|
129
44
|
* submit-shaped prop awaits your handler and applies the returned
|
|
130
|
-
* {@link
|
|
45
|
+
* {@link TAuthFlowDirective}.
|
|
131
46
|
*
|
|
132
47
|
* The blocks themselves stay untouched: passwords, codes and field drafts
|
|
133
48
|
* live in their local state, and a rejected handler renders as the block's
|
|
@@ -164,12 +79,12 @@ export function AuthFlowBlock({
|
|
|
164
79
|
successTitle = "Welcome",
|
|
165
80
|
successDescription,
|
|
166
81
|
className,
|
|
167
|
-
}:
|
|
82
|
+
}: IAuthFlowBlockProps): React.ReactElement {
|
|
168
83
|
const flow = useAuthFlow(flowId)
|
|
169
84
|
const { goToStep, beginVerification, complete } = useAuthFlowActions(flowId)
|
|
170
85
|
|
|
171
86
|
const apply = React.useCallback(
|
|
172
|
-
(directive:
|
|
87
|
+
(directive: TAuthFlowDirective) => {
|
|
173
88
|
if (!directive) return
|
|
174
89
|
if ("user" in directive) complete(directive.user)
|
|
175
90
|
else if ("verify" in directive) beginVerification(directive.verify)
|
|
@@ -181,7 +96,7 @@ export function AuthFlowBlock({
|
|
|
181
96
|
/** Wrap a handler so its directive lands in the store. Errors propagate —
|
|
182
97
|
* the block owns the error rendering. Absent handlers stay absent, so a
|
|
183
98
|
* block keeps its "no handler" affordances (hidden buttons etc.). */
|
|
184
|
-
function run<Data>(handler:
|
|
99
|
+
function run<Data>(handler: TAuthFlowHandler<Data> | undefined) {
|
|
185
100
|
if (!handler) return undefined
|
|
186
101
|
return async (data: Data) => {
|
|
187
102
|
apply(await handler(data))
|
|
@@ -16,18 +16,18 @@
|
|
|
16
16
|
import { atom } from "jotai"
|
|
17
17
|
|
|
18
18
|
import type {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
} from "./
|
|
19
|
+
IAuthSessionState,
|
|
20
|
+
TAuthSessionStatus,
|
|
21
|
+
IAuthUser,
|
|
22
|
+
} from "./type"
|
|
23
23
|
|
|
24
24
|
// ── primitives ───────────────────────────────────────────────────────────
|
|
25
25
|
|
|
26
26
|
/** `"unknown"` until the app restores or rejects a session at boot. */
|
|
27
|
-
export const authSessionStatusAtom = atom<
|
|
27
|
+
export const authSessionStatusAtom = atom<TAuthSessionStatus>("unknown")
|
|
28
28
|
authSessionStatusAtom.debugLabel = "auth-session/status"
|
|
29
29
|
|
|
30
|
-
export const authUserAtom = atom<
|
|
30
|
+
export const authUserAtom = atom<IAuthUser | null>(null)
|
|
31
31
|
authUserAtom.debugLabel = "auth-session/user"
|
|
32
32
|
|
|
33
33
|
// ── derived ──────────────────────────────────────────────────────────────
|
|
@@ -37,7 +37,7 @@ export const isAuthenticatedAtom = atom(
|
|
|
37
37
|
)
|
|
38
38
|
isAuthenticatedAtom.debugLabel = "auth-session/isAuthenticated"
|
|
39
39
|
|
|
40
|
-
export const authSessionStateAtom = atom<
|
|
40
|
+
export const authSessionStateAtom = atom<IAuthSessionState>((get) => ({
|
|
41
41
|
status: get(authSessionStatusAtom),
|
|
42
42
|
user: get(authUserAtom),
|
|
43
43
|
}))
|
|
@@ -45,7 +45,7 @@ authSessionStateAtom.debugLabel = "auth-session/state"
|
|
|
45
45
|
|
|
46
46
|
// ── actions ──────────────────────────────────────────────────────────────
|
|
47
47
|
|
|
48
|
-
export const signInAtom = atom(null, (_get, set, user:
|
|
48
|
+
export const signInAtom = atom(null, (_get, set, user: IAuthUser) => {
|
|
49
49
|
set(authUserAtom, user)
|
|
50
50
|
set(authSessionStatusAtom, "authenticated")
|
|
51
51
|
})
|
|
@@ -53,7 +53,7 @@ signInAtom.debugLabel = "auth-session/signIn"
|
|
|
53
53
|
|
|
54
54
|
export const updateAuthUserAtom = atom(
|
|
55
55
|
null,
|
|
56
|
-
(get, set, patch: Partial<
|
|
56
|
+
(get, set, patch: Partial<IAuthUser>) => {
|
|
57
57
|
const user = get(authUserAtom)
|
|
58
58
|
// No-op when signed out: there is no user to merge into, and inventing
|
|
59
59
|
// one from a partial patch would fabricate an identity.
|
|
@@ -12,13 +12,12 @@ import {
|
|
|
12
12
|
} from "@/components/ui/card";
|
|
13
13
|
import { Frame, FrameFooter } from "@/components/ui/frame";
|
|
14
14
|
import { Separator } from "@/components/ui/separator";
|
|
15
|
-
import { type
|
|
15
|
+
import { type TAuthAccent, authAccentVars } from "@/lib/auth-accent";
|
|
16
16
|
import { cn } from "@/lib/utils";
|
|
17
17
|
|
|
18
18
|
/** transitions.dev motion scale, shared by all auth blocks. */
|
|
19
19
|
export const EASE = [0.22, 1, 0.36, 1] as const;
|
|
20
20
|
|
|
21
|
-
export type AuthStatus = "idle" | "loading" | "success" | "error";
|
|
22
21
|
|
|
23
22
|
/**
|
|
24
23
|
* Frame shell shared by the auth blocks (coss particle p-card-8): a raised
|
|
@@ -43,7 +42,7 @@ export function AuthCard({
|
|
|
43
42
|
/** Brand mark rendered above the title. Omit for no logo row at all. */
|
|
44
43
|
logo?: React.ReactNode;
|
|
45
44
|
/** Brand accent for the card's primary action. Omit to keep `bg-primary`. */
|
|
46
|
-
accent?:
|
|
45
|
+
accent?: TAuthAccent;
|
|
47
46
|
}) {
|
|
48
47
|
return (
|
|
49
48
|
<MotionConfig reducedMotion="user">
|
|
@@ -38,15 +38,3 @@ export {
|
|
|
38
38
|
useAuthSession,
|
|
39
39
|
useAuthSessionActions,
|
|
40
40
|
} from "./use-auth-state"
|
|
41
|
-
export type {
|
|
42
|
-
AuthFlowActions,
|
|
43
|
-
AuthFlowChannel,
|
|
44
|
-
AuthFlowId,
|
|
45
|
-
AuthFlowState,
|
|
46
|
-
AuthFlowStep,
|
|
47
|
-
AuthSessionActions,
|
|
48
|
-
AuthSessionState,
|
|
49
|
-
AuthSessionStatus,
|
|
50
|
-
AuthUser,
|
|
51
|
-
BeginAuthVerificationOptions,
|
|
52
|
-
} from "./auth-state-type"
|
|
@@ -5,8 +5,9 @@ import { motion } from "motion/react";
|
|
|
5
5
|
import * as React from "react";
|
|
6
6
|
|
|
7
7
|
import { Button } from "@/components/ui/button";
|
|
8
|
+
import { Label } from "@/components/ui/label";
|
|
8
9
|
import { OTPField, OTPFieldInput } from "@/components/ui/otp-field";
|
|
9
|
-
import {
|
|
10
|
+
import { authAccentActionStyles } from "@/lib/auth-accent";
|
|
10
11
|
import { cn } from "@/lib/utils";
|
|
11
12
|
import {
|
|
12
13
|
AuthCard,
|
|
@@ -15,28 +16,8 @@ import {
|
|
|
15
16
|
EASE,
|
|
16
17
|
MorphStep,
|
|
17
18
|
useCountdown,
|
|
18
|
-
type AuthStatus,
|
|
19
19
|
} from "./auth-shell";
|
|
20
|
-
|
|
21
|
-
export interface CodeAuthBlockProps {
|
|
22
|
-
/** Brand mark rendered above the title. Omit for no logo row at all. */
|
|
23
|
-
logo?: React.ReactNode;
|
|
24
|
-
/** Brand accent for the primary action. Omit to keep the default primary. */
|
|
25
|
-
accent?: AuthAccent;
|
|
26
|
-
/** Where the code was sent; drives copy and icon. */
|
|
27
|
-
channel?: "email" | "sms";
|
|
28
|
-
/** Masked destination shown in the description, e.g. "y•••@example.com". */
|
|
29
|
-
destination?: string;
|
|
30
|
-
length?: number;
|
|
31
|
-
/** Submit automatically once all digits are entered. */
|
|
32
|
-
autoSubmit?: boolean;
|
|
33
|
-
/** Seconds before "Resend code" becomes available. 0 disables the wait. */
|
|
34
|
-
resendSeconds?: number;
|
|
35
|
-
/** Reject (or throw) to show the error shake and clear the code. */
|
|
36
|
-
onVerify?: (code: string) => Promise<void> | void;
|
|
37
|
-
onResend?: () => Promise<void> | void;
|
|
38
|
-
onBack?: () => void;
|
|
39
|
-
}
|
|
20
|
+
import type { ICodeAuthBlockProps, TAuthStatus } from "./type";
|
|
40
21
|
|
|
41
22
|
export function CodeAuthBlock({
|
|
42
23
|
channel = "email",
|
|
@@ -49,8 +30,9 @@ export function CodeAuthBlock({
|
|
|
49
30
|
onVerify,
|
|
50
31
|
onResend,
|
|
51
32
|
onBack,
|
|
52
|
-
}:
|
|
53
|
-
const
|
|
33
|
+
}: ICodeAuthBlockProps) {
|
|
34
|
+
const codeFieldId = React.useId();
|
|
35
|
+
const [status, setStatus] = React.useState<TAuthStatus>("idle");
|
|
54
36
|
const [error, setError] = React.useState<string | null>(null);
|
|
55
37
|
const [code, setCode] = React.useState("");
|
|
56
38
|
const [resendCount, setResendCount] = React.useState(0);
|
|
@@ -72,7 +54,7 @@ export function CodeAuthBlock({
|
|
|
72
54
|
setError(cause instanceof Error ? cause.message : "Invalid code.");
|
|
73
55
|
}
|
|
74
56
|
},
|
|
75
|
-
[onVerify]
|
|
57
|
+
[onVerify]
|
|
76
58
|
);
|
|
77
59
|
|
|
78
60
|
function handleChange(value: string) {
|
|
@@ -93,10 +75,11 @@ export function CodeAuthBlock({
|
|
|
93
75
|
return (
|
|
94
76
|
<AuthCard
|
|
95
77
|
title="Enter verification code"
|
|
78
|
+
className="[&_[data-slot=card-header]]:gap-3 [&_[data-slot=card-header]]:pb-8 [&_[data-slot=card-description]]:text-xs [&_[data-slot=card-description]]:leading-relaxed"
|
|
96
79
|
logo={logo}
|
|
97
80
|
accent={accent}
|
|
98
81
|
description={
|
|
99
|
-
<span className="inline-flex items-center
|
|
82
|
+
<span className="gap-1.5 inline-flex items-center">
|
|
100
83
|
<ChannelIcon className="size-3.5 shrink-0" />
|
|
101
84
|
<span>
|
|
102
85
|
We sent a {length}-digit code to your {channelLabel}
|
|
@@ -127,14 +110,18 @@ export function CodeAuthBlock({
|
|
|
127
110
|
description="Your identity has been confirmed."
|
|
128
111
|
/>
|
|
129
112
|
) : (
|
|
130
|
-
<div className="flex flex-col items-center
|
|
113
|
+
<div className="gap-4 flex flex-col items-center">
|
|
131
114
|
<motion.div
|
|
132
115
|
// Shake the whole field on error; keying by message replays it.
|
|
133
116
|
key={error ?? "steady"}
|
|
134
117
|
animate={error ? { x: [0, -8, 8, -5, 5, 0] } : { x: 0 }}
|
|
135
118
|
transition={{ duration: 0.4, ease: "easeInOut" }}
|
|
136
119
|
>
|
|
120
|
+
<Label className="sr-only" htmlFor={codeFieldId}>
|
|
121
|
+
Verification code
|
|
122
|
+
</Label>
|
|
137
123
|
<OTPField
|
|
124
|
+
id={codeFieldId}
|
|
138
125
|
length={length}
|
|
139
126
|
value={code}
|
|
140
127
|
onValueChange={handleChange}
|
|
@@ -144,7 +131,6 @@ export function CodeAuthBlock({
|
|
|
144
131
|
<OTPFieldInput
|
|
145
132
|
key={`slot-${index}`}
|
|
146
133
|
aria-invalid={error ? true : undefined}
|
|
147
|
-
aria-label={`Digit ${index + 1} of ${length}`}
|
|
148
134
|
/>
|
|
149
135
|
))}
|
|
150
136
|
</OTPField>
|
|
@@ -163,12 +149,12 @@ export function CodeAuthBlock({
|
|
|
163
149
|
<motion.p
|
|
164
150
|
layout
|
|
165
151
|
transition={{ duration: 0.25, ease: EASE }}
|
|
166
|
-
className="text-
|
|
152
|
+
className="text-sm text-center text-muted-foreground"
|
|
167
153
|
>
|
|
168
154
|
{remaining > 0 ? (
|
|
169
155
|
<>
|
|
170
156
|
Resend code in{" "}
|
|
171
|
-
<span className="font-medium tabular-nums
|
|
157
|
+
<span className="font-medium text-foreground tabular-nums">
|
|
172
158
|
{remaining}s
|
|
173
159
|
</span>
|
|
174
160
|
</>
|
|
@@ -6,26 +6,15 @@ import * as React from "react";
|
|
|
6
6
|
import { Button } from "@/components/ui/button";
|
|
7
7
|
import { Field, FieldLabel } from "@/components/ui/field";
|
|
8
8
|
import { Input } from "@/components/ui/input";
|
|
9
|
-
import {
|
|
9
|
+
import { authAccentActionStyles } from "@/lib/auth-accent";
|
|
10
10
|
import { cn } from "@/lib/utils";
|
|
11
11
|
import {
|
|
12
12
|
AuthCard,
|
|
13
13
|
AuthError,
|
|
14
14
|
AuthSuccess,
|
|
15
15
|
MorphStep,
|
|
16
|
-
type AuthStatus,
|
|
17
16
|
} from "./auth-shell";
|
|
18
|
-
|
|
19
|
-
export interface ForgotPasswordBlockProps {
|
|
20
|
-
title?: string;
|
|
21
|
-
description?: string;
|
|
22
|
-
/** Brand mark rendered above the title. Omit for no logo row at all. */
|
|
23
|
-
logo?: React.ReactNode;
|
|
24
|
-
/** Brand accent for the primary action. Omit to keep the default primary. */
|
|
25
|
-
accent?: AuthAccent;
|
|
26
|
-
onSubmit?: (data: { email: string }) => Promise<void> | void;
|
|
27
|
-
onBackToLogin?: () => void;
|
|
28
|
-
}
|
|
17
|
+
import type { IForgotPasswordBlockProps, TAuthStatus } from "./type";
|
|
29
18
|
|
|
30
19
|
export function ForgotPasswordBlock({
|
|
31
20
|
title = "Reset your password",
|
|
@@ -34,9 +23,9 @@ export function ForgotPasswordBlock({
|
|
|
34
23
|
description = "Enter your email and we will send you a reset link",
|
|
35
24
|
onSubmit,
|
|
36
25
|
onBackToLogin,
|
|
37
|
-
}:
|
|
26
|
+
}: IForgotPasswordBlockProps) {
|
|
38
27
|
const emailId = React.useId();
|
|
39
|
-
const [status, setStatus] = React.useState<
|
|
28
|
+
const [status, setStatus] = React.useState<TAuthStatus>("idle");
|
|
40
29
|
const [error, setError] = React.useState<string | null>(null);
|
|
41
30
|
const [email, setEmail] = React.useState("");
|
|
42
31
|
|
|
@@ -5,7 +5,6 @@ import * as React from "react"
|
|
|
5
5
|
|
|
6
6
|
import {
|
|
7
7
|
SOCIAL_PROVIDERS,
|
|
8
|
-
type SocialProvider,
|
|
9
8
|
} from "@/components/composed/social-providers"
|
|
10
9
|
import { Button } from "@/components/ui/button"
|
|
11
10
|
import {
|
|
@@ -18,35 +17,10 @@ import {
|
|
|
18
17
|
import { Spinner } from "@/components/ui/spinner"
|
|
19
18
|
import { cn } from "@/lib/utils"
|
|
20
19
|
import { AuthError, EASE } from "./auth-shell"
|
|
20
|
+
import type { ILinkedAccountsBlockProps } from "./type"
|
|
21
|
+
import type { TSocialProvider } from "@/components/composed/types"
|
|
22
|
+
import { Users2 } from "lucide-react"
|
|
21
23
|
|
|
22
|
-
/** One sign-in identity attached to the account. */
|
|
23
|
-
export interface LinkedIdentity {
|
|
24
|
-
id: string
|
|
25
|
-
provider: SocialProvider
|
|
26
|
-
/** Account address shown under the provider name, when known. */
|
|
27
|
-
email?: string | null
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export interface LinkedAccountsBlockProps {
|
|
31
|
-
title?: string
|
|
32
|
-
description?: string
|
|
33
|
-
/** Identities already attached to the account. */
|
|
34
|
-
identities?: LinkedIdentity[]
|
|
35
|
-
/** Providers offered as connect candidates; connected ones are filtered out. */
|
|
36
|
-
providers?: SocialProvider[]
|
|
37
|
-
/** Shows the loading row instead of the list. */
|
|
38
|
-
loading?: boolean
|
|
39
|
-
/**
|
|
40
|
-
* The account can also sign in through a method that has no row in this
|
|
41
|
-
* list — an email/password credential, say. Lifts the last-method guard,
|
|
42
|
-
* which otherwise refuses to disconnect the final listed identity.
|
|
43
|
-
*/
|
|
44
|
-
hasOtherSignInMethods?: boolean
|
|
45
|
-
/** Reject (or throw) to show the inline error. */
|
|
46
|
-
onLink?: (provider: SocialProvider) => Promise<void> | void
|
|
47
|
-
onUnlink?: (id: string) => Promise<void> | void
|
|
48
|
-
className?: string
|
|
49
|
-
}
|
|
50
24
|
|
|
51
25
|
const LAST_METHOD_EXPLANATION =
|
|
52
26
|
"This is your only way to sign in, so it can't be disconnected."
|
|
@@ -67,10 +41,10 @@ export function LinkedAccountsBlock({
|
|
|
67
41
|
onLink,
|
|
68
42
|
onUnlink,
|
|
69
43
|
className,
|
|
70
|
-
}:
|
|
44
|
+
}: ILinkedAccountsBlockProps) {
|
|
71
45
|
const noteId = React.useId()
|
|
72
46
|
const [error, setError] = React.useState<string | null>(null)
|
|
73
|
-
const [linking, setLinking] = React.useState<
|
|
47
|
+
const [linking, setLinking] = React.useState<TSocialProvider | null>(null)
|
|
74
48
|
const [unlinking, setUnlinking] = React.useState<string | null>(null)
|
|
75
49
|
|
|
76
50
|
const connected = new Set(identities.map((identity) => identity.provider))
|
|
@@ -81,7 +55,7 @@ export function LinkedAccountsBlock({
|
|
|
81
55
|
// the account reachable, so it lifts the guard.
|
|
82
56
|
const lastMethod = !hasOtherSignInMethods && identities.length <= 1
|
|
83
57
|
|
|
84
|
-
async function connect(provider:
|
|
58
|
+
async function connect(provider: TSocialProvider) {
|
|
85
59
|
if (busy) return
|
|
86
60
|
setError(null)
|
|
87
61
|
setLinking(provider)
|
|
@@ -115,7 +89,7 @@ export function LinkedAccountsBlock({
|
|
|
115
89
|
<MotionConfig reducedMotion="user">
|
|
116
90
|
<Card className={cn("w-full", className)} data-slot="auth-block">
|
|
117
91
|
<CardHeader>
|
|
118
|
-
<CardTitle
|
|
92
|
+
<CardTitle className="inline-flex items-center gap-1"><Users2 size={18} /> {title}</CardTitle>
|
|
119
93
|
<CardDescription>{description}</CardDescription>
|
|
120
94
|
</CardHeader>
|
|
121
95
|
<CardPanel>
|
|
@@ -203,12 +177,12 @@ export function LinkedAccountsBlock({
|
|
|
203
177
|
)}
|
|
204
178
|
|
|
205
179
|
{connectable.map((provider) => {
|
|
206
|
-
const { label, BrandIcon, brandClassName } =
|
|
180
|
+
const { label, BrandIcon, brandClassName, buttonClassName, labelClassName } =
|
|
207
181
|
SOCIAL_PROVIDERS[provider]
|
|
208
182
|
return (
|
|
209
183
|
<Button
|
|
210
184
|
key={provider}
|
|
211
|
-
className="w-full"
|
|
185
|
+
className={cn("w-full", buttonClassName)}
|
|
212
186
|
type="button"
|
|
213
187
|
variant="outline"
|
|
214
188
|
disabled={busy}
|
|
@@ -216,7 +190,7 @@ export function LinkedAccountsBlock({
|
|
|
216
190
|
onClick={() => void connect(provider)}
|
|
217
191
|
>
|
|
218
192
|
<BrandIcon aria-hidden="true" className={brandClassName} />
|
|
219
|
-
<span className="flex-1">Connect {label}</span>
|
|
193
|
+
<span className={cn("flex-1", labelClassName)}>Connect {label}</span>
|
|
220
194
|
</Button>
|
|
221
195
|
)
|
|
222
196
|
})}
|
|
@@ -5,14 +5,13 @@ import * as React from "react";
|
|
|
5
5
|
import { PasswordInput } from "@/components/composed/password-input";
|
|
6
6
|
import {
|
|
7
7
|
SocialProviders,
|
|
8
|
-
type SocialProvider,
|
|
9
8
|
} from "@/components/composed/social-providers";
|
|
10
9
|
import { Button } from "@/components/ui/button";
|
|
11
10
|
import { Checkbox } from "@/components/ui/checkbox";
|
|
12
11
|
import { Field, FieldLabel } from "@/components/ui/field";
|
|
13
12
|
import { Input } from "@/components/ui/input";
|
|
14
13
|
import { Label } from "@/components/ui/label";
|
|
15
|
-
import {
|
|
14
|
+
import { authAccentActionStyles } from "@/lib/auth-accent";
|
|
16
15
|
import { cn } from "@/lib/utils";
|
|
17
16
|
import {
|
|
18
17
|
AuthCard,
|
|
@@ -21,30 +20,9 @@ import {
|
|
|
21
20
|
AuthSuccess,
|
|
22
21
|
MorphStep,
|
|
23
22
|
Reveal,
|
|
24
|
-
type AuthStatus,
|
|
25
23
|
} from "./auth-shell";
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
title?: string;
|
|
29
|
-
description?: string;
|
|
30
|
-
/** Brand mark rendered above the title. Omit for no logo row at all. */
|
|
31
|
-
logo?: React.ReactNode;
|
|
32
|
-
/** Brand accent for the primary action. Omit to keep the default primary. */
|
|
33
|
-
accent?: AuthAccent;
|
|
34
|
-
/** Social providers to offer; empty array hides the social section. */
|
|
35
|
-
providers?: SocialProvider[];
|
|
36
|
-
showRememberMe?: boolean;
|
|
37
|
-
showForgotPassword?: boolean;
|
|
38
|
-
/** Reject (or throw) to show the error state with the error's message. */
|
|
39
|
-
onSubmit?: (data: {
|
|
40
|
-
email: string;
|
|
41
|
-
password: string;
|
|
42
|
-
remember: boolean;
|
|
43
|
-
}) => Promise<void> | void;
|
|
44
|
-
onProviderSelect?: (provider: SocialProvider) => Promise<void> | void;
|
|
45
|
-
onForgotPassword?: () => void;
|
|
46
|
-
onSignup?: () => void;
|
|
47
|
-
}
|
|
24
|
+
import type { ILoginBlockProps, TAuthStatus } from "./type";
|
|
25
|
+
import type { TSocialProvider } from "@/components/composed/types";
|
|
48
26
|
|
|
49
27
|
export function LoginBlock({
|
|
50
28
|
title = "Login to your account",
|
|
@@ -58,13 +36,13 @@ export function LoginBlock({
|
|
|
58
36
|
onProviderSelect,
|
|
59
37
|
onForgotPassword,
|
|
60
38
|
onSignup,
|
|
61
|
-
}:
|
|
39
|
+
}: ILoginBlockProps) {
|
|
62
40
|
const emailId = React.useId();
|
|
63
41
|
const rememberId = React.useId();
|
|
64
|
-
const [status, setStatus] = React.useState<
|
|
42
|
+
const [status, setStatus] = React.useState<TAuthStatus>("idle");
|
|
65
43
|
const [error, setError] = React.useState<string | null>(null);
|
|
66
44
|
const [loadingProvider, setLoadingProvider] =
|
|
67
|
-
React.useState<
|
|
45
|
+
React.useState<TSocialProvider | null>(null);
|
|
68
46
|
const [remember, setRemember] = React.useState(false);
|
|
69
47
|
const [email, setEmail] = React.useState("");
|
|
70
48
|
const [emailValid, setEmailValid] = React.useState(false);
|
|
@@ -102,7 +80,7 @@ export function LoginBlock({
|
|
|
102
80
|
}
|
|
103
81
|
}
|
|
104
82
|
|
|
105
|
-
async function handleProvider(provider:
|
|
83
|
+
async function handleProvider(provider: TSocialProvider) {
|
|
106
84
|
setError(null);
|
|
107
85
|
setLoadingProvider(provider);
|
|
108
86
|
try {
|
|
@@ -10,35 +10,24 @@ import { Label } from "@/components/ui/label";
|
|
|
10
10
|
import { Textarea } from "@/components/ui/textarea";
|
|
11
11
|
import { cn } from "@/lib/utils";
|
|
12
12
|
import type {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
} from "../
|
|
17
|
-
|
|
18
|
-
export interface ProfileStepProps {
|
|
19
|
-
step: OnboardingStepConfig;
|
|
20
|
-
/** Seed values, so drafts survive back/forward navigation. */
|
|
21
|
-
values: Record<string, OnboardingValue>;
|
|
22
|
-
submitting?: boolean;
|
|
23
|
-
submitLabel: string;
|
|
24
|
-
onSubmit: (values: Record<string, OnboardingValue>) => void | Promise<void>;
|
|
25
|
-
onBack?: () => void;
|
|
26
|
-
/** Reports every edit so the flow can restore drafts across navigation. */
|
|
27
|
-
onDraftChange?: (name: string, value: OnboardingValue) => void;
|
|
28
|
-
}
|
|
13
|
+
IProfileStepProps,
|
|
14
|
+
TOnboardingFieldConfig,
|
|
15
|
+
TOnboardingValue,
|
|
16
|
+
} from "../type";
|
|
17
|
+
|
|
29
18
|
|
|
30
19
|
function initialValue(
|
|
31
|
-
field:
|
|
32
|
-
saved:
|
|
33
|
-
):
|
|
20
|
+
field: TOnboardingFieldConfig,
|
|
21
|
+
saved: TOnboardingValue | undefined,
|
|
22
|
+
): TOnboardingValue {
|
|
34
23
|
if (field.kind === "checkbox") return typeof saved === "boolean" ? saved : false;
|
|
35
24
|
return typeof saved === "string" ? saved : "";
|
|
36
25
|
}
|
|
37
26
|
|
|
38
27
|
/** Built-in validation, mirroring the declared `FieldConfig` contract. */
|
|
39
28
|
function validateField(
|
|
40
|
-
field:
|
|
41
|
-
value:
|
|
29
|
+
field: TOnboardingFieldConfig,
|
|
30
|
+
value: TOnboardingValue,
|
|
42
31
|
): string | null {
|
|
43
32
|
const required = field.required === true;
|
|
44
33
|
|
|
@@ -81,9 +70,9 @@ export function ProfileStep({
|
|
|
81
70
|
onSubmit,
|
|
82
71
|
onBack,
|
|
83
72
|
onDraftChange,
|
|
84
|
-
}:
|
|
73
|
+
}: IProfileStepProps) {
|
|
85
74
|
const idPrefix = React.useId();
|
|
86
|
-
const [draft, setDraft] = React.useState<Record<string,
|
|
75
|
+
const [draft, setDraft] = React.useState<Record<string, TOnboardingValue>>(
|
|
87
76
|
() =>
|
|
88
77
|
Object.fromEntries(
|
|
89
78
|
step.fields.map((field) => [
|
|
@@ -94,7 +83,7 @@ export function ProfileStep({
|
|
|
94
83
|
);
|
|
95
84
|
const [errors, setErrors] = React.useState<Record<string, string>>({});
|
|
96
85
|
|
|
97
|
-
function setValue(name: string, value:
|
|
86
|
+
function setValue(name: string, value: TOnboardingValue) {
|
|
98
87
|
setDraft((current) => ({ ...current, [name]: value }));
|
|
99
88
|
onDraftChange?.(name, value);
|
|
100
89
|
// Clear a field's error as soon as it is edited; re-validation happens on
|
|
@@ -119,7 +108,7 @@ export function ProfileStep({
|
|
|
119
108
|
}
|
|
120
109
|
setErrors({});
|
|
121
110
|
|
|
122
|
-
const submitted: Record<string,
|
|
111
|
+
const submitted: Record<string, TOnboardingValue> = {};
|
|
123
112
|
for (const field of step.fields) {
|
|
124
113
|
const value = draft[field.name];
|
|
125
114
|
submitted[field.name] = typeof value === "string" ? value.trim() : value;
|