@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
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
import { ReactNode, RefObject, ButtonHTMLAttributes, CSSProperties, HTMLAttributes } from 'react';
|
|
2
|
+
import { HTMLMotionProps } from 'motion/react';
|
|
3
|
+
import { IShellMetrics, IShellSidebarFit } from './shell-metrics';
|
|
4
|
+
/** The key a shell's fit state is filed under. Pass your own to reach it from
|
|
5
|
+
* anywhere (`useShellFitState("app-shell")`); leave it out and the provider
|
|
6
|
+
* generates one that dies with it. */
|
|
7
|
+
export type TShellFitInstanceId = string;
|
|
8
|
+
/** The range a secondary-panel resize may land in, in px. */
|
|
9
|
+
export interface IShellFitPanelBounds {
|
|
10
|
+
min: number;
|
|
11
|
+
max: number;
|
|
12
|
+
}
|
|
13
|
+
/** What the shell measured of itself — readable by id through
|
|
14
|
+
* `useShellFitState`. */
|
|
15
|
+
export interface IShellFitState {
|
|
16
|
+
/** Actual rail layout after applying container constraints. */
|
|
17
|
+
sidebar: IShellSidebarFit | null;
|
|
18
|
+
/** The px the shell last measured, or null before its first measurement
|
|
19
|
+
* (a server render, a host with no layout). */
|
|
20
|
+
metrics: IShellMetrics | null;
|
|
21
|
+
/** Whether the shell can hold a secondary panel. True while unmeasured, so
|
|
22
|
+
* a panel never flickers out over a reading that has not happened yet. */
|
|
23
|
+
fits: boolean;
|
|
24
|
+
/** The secondary panel's width in px, already clamped to `bounds` — null
|
|
25
|
+
* before the first measurement, where the panel falls back to
|
|
26
|
+
* `--panel-width`. */
|
|
27
|
+
panelWidth: number | null;
|
|
28
|
+
/** The range a resize may land in. */
|
|
29
|
+
bounds: IShellFitPanelBounds;
|
|
30
|
+
}
|
|
31
|
+
/** Writes only — drive a shell's secondary panel by id through
|
|
32
|
+
* `useShellFitActions` without re-rendering when it moves. */
|
|
33
|
+
export interface IShellFitActions {
|
|
34
|
+
/** Resize the secondary panel. Clamped on the way in, so a drag past the
|
|
35
|
+
* gutter parks at the bound instead of banking travel it has to give back. */
|
|
36
|
+
resizePanel: (width: number) => void;
|
|
37
|
+
/** Back to the width the shell mounted with — `defaultPanelWidth`, or
|
|
38
|
+
* `--panel-width` when there was none. */
|
|
39
|
+
resetPanelWidth: () => void;
|
|
40
|
+
}
|
|
41
|
+
/** What `useShellFit` hands the provider: the state, the actions and the id
|
|
42
|
+
* they are filed under. */
|
|
43
|
+
export interface IShellFitController extends IShellFitState, IShellFitActions {
|
|
44
|
+
defaultPanelWidth: number | null;
|
|
45
|
+
shellId: TShellFitInstanceId;
|
|
46
|
+
}
|
|
47
|
+
export interface IUseShellFitOptions {
|
|
48
|
+
/** File the fit under this id so it can be read elsewhere and outlive the
|
|
49
|
+
* shell. Generated (and dropped on unmount) when omitted. */
|
|
50
|
+
shellId?: TShellFitInstanceId;
|
|
51
|
+
/** The element the shell's CSS variables live on (the provider wrapper). */
|
|
52
|
+
hostRef: RefObject<HTMLElement | null>;
|
|
53
|
+
/** Whether the left rail is expanded right now — a render input, so a fold
|
|
54
|
+
* counts the moment React commits it rather than a frame later when the
|
|
55
|
+
* width animation has moved. */
|
|
56
|
+
railOpen: boolean;
|
|
57
|
+
/** The width the secondary panel opens at, in px, instead of
|
|
58
|
+
* `--panel-width`. Read once, on mount. */
|
|
59
|
+
defaultPanelWidth?: number;
|
|
60
|
+
/** Fired whenever a measurement lands on "no room": the shell uses it to
|
|
61
|
+
* retire the panel's open state instead of parking it. */
|
|
62
|
+
onUnfit?: () => void;
|
|
63
|
+
}
|
|
64
|
+
/** @internal What an instance starts from, restored by `resetShellPanelWidthAtom`. */
|
|
65
|
+
export interface IShellFitSeed {
|
|
66
|
+
/** The requested panel width at mount — null for `--panel-width`. */
|
|
67
|
+
panelWidth: number | null;
|
|
68
|
+
}
|
|
69
|
+
export interface IShellAction {
|
|
70
|
+
id: string;
|
|
71
|
+
label: string;
|
|
72
|
+
icon: ReactNode;
|
|
73
|
+
badge?: ReactNode;
|
|
74
|
+
onSelect?: () => void;
|
|
75
|
+
}
|
|
76
|
+
export interface IShellWorkspace {
|
|
77
|
+
name: string;
|
|
78
|
+
logo?: ReactNode;
|
|
79
|
+
meta?: ReactNode;
|
|
80
|
+
}
|
|
81
|
+
export interface IPanel {
|
|
82
|
+
id: string;
|
|
83
|
+
name: string;
|
|
84
|
+
component: ReactNode;
|
|
85
|
+
/** Replaces the default icon inside the panel's header trigger. The shell
|
|
86
|
+
* keeps the trigger button itself (toggle wiring, aria-label) — this only
|
|
87
|
+
* swaps what renders inside it. */
|
|
88
|
+
trigger?: ReactNode;
|
|
89
|
+
open: boolean;
|
|
90
|
+
defaultOpen?: boolean;
|
|
91
|
+
side: "left" | "bottom" | "right" | "sidebar";
|
|
92
|
+
}
|
|
93
|
+
/** The side a panel docks to, as a value union (`IPanel["side"]`).
|
|
94
|
+
* `Pick<IPanel, "side">` would be the object type `{ side: ... }`, which can
|
|
95
|
+
* neither key a Record nor travel as a plain callback argument. */
|
|
96
|
+
export type TPanelSide = IPanel["side"];
|
|
97
|
+
/** Panel content keyed by the side it docks to. `Side` narrows the map to
|
|
98
|
+
* the sides a surface actually renders (the shell renders left and right).
|
|
99
|
+
* Entries are optional — a shell with no bottom dock simply has no `bottom`
|
|
100
|
+
* key. Where an entry's own `side` field disagrees with its key, the key
|
|
101
|
+
* wins. */
|
|
102
|
+
export type TPanelMap<Side extends TPanelSide = TPanelSide> = Partial<Record<Side, IPanel>>;
|
|
103
|
+
/** Dynamic panel content keyed by side — filled by
|
|
104
|
+
* `useShellPanels().openPanel(side, component)` and read by ShellLayout,
|
|
105
|
+
* where a side's entry wins over the static `panels` map's `component`. */
|
|
106
|
+
export type TSidebarComponentMap = Partial<Record<TSidebarSide, ReactNode>>;
|
|
107
|
+
/** The open/close surface of the shell's panels, lifted straight from
|
|
108
|
+
* AnimatedPanelProvider — every prop is keyed by side, there are no
|
|
109
|
+
* explicit per-side props. `useShellPanels` produces the controlled subset
|
|
110
|
+
* of these as `providerProps`. */
|
|
111
|
+
export type TShellPanelControlProps = Pick<IAnimatedSidebarProviderProps, "open" | "defaultOpen" | "onOpenChange" | "openMobile" | "defaultOpenMobile" | "onOpenMobileChange" | "shellId" | "defaultPanelWidth" | "panelComponents">;
|
|
112
|
+
export interface IUseShellPanelsOptions {
|
|
113
|
+
/** The id the shell's fit state is filed under. Name it to read the same
|
|
114
|
+
* shell from elsewhere (`useShellFitState("app-shell")`) and to keep a
|
|
115
|
+
* dragged panel width across a route change; otherwise the hook generates
|
|
116
|
+
* one that dies with it. */
|
|
117
|
+
shellId?: TShellFitInstanceId;
|
|
118
|
+
/** Initial desktop open state per side, merged over
|
|
119
|
+
* `{ left: true, right: false }`. */
|
|
120
|
+
defaultOpen?: IAnimatedSidebarProviderProps["defaultOpen"];
|
|
121
|
+
/** Initial mobile overlay state per side — every side starts closed. */
|
|
122
|
+
defaultOpenMobile?: IAnimatedSidebarProviderProps["defaultOpenMobile"];
|
|
123
|
+
/** The width the secondary panel opens at, in px, instead of
|
|
124
|
+
* `--panel-width`. */
|
|
125
|
+
defaultPanelWidth?: number;
|
|
126
|
+
/** Panel change event returning both the next open state and the side of
|
|
127
|
+
* the panel the change comes from. Mobile overlay changes report the same
|
|
128
|
+
* side as their desktop counterpart. */
|
|
129
|
+
onPanelChange?: (open: boolean, side: TPanelSide) => void;
|
|
130
|
+
}
|
|
131
|
+
export interface IShellPanelControls {
|
|
132
|
+
/** Rendered rail width and whether it can expand in the current container. */
|
|
133
|
+
sidebar: IShellSidebarFit | null;
|
|
134
|
+
sidebarWidth: number | null;
|
|
135
|
+
resizeSidebar: (width: number) => void;
|
|
136
|
+
/** The id the shell's fit state is filed under — hand it to
|
|
137
|
+
* `useShellFitState` / `useShellFitActions` anywhere below `ExegiaProvider`. */
|
|
138
|
+
shellId: TShellFitInstanceId;
|
|
139
|
+
/** The viewport cannot hold the secondary panel beside the rail and the
|
|
140
|
+
* body at their floors, so the shell has dropped the right panel and its
|
|
141
|
+
* trigger — UI outside the shell should stand down with them. Read straight
|
|
142
|
+
* out of the shell's fit atoms; it is only ever `true` once the shell is
|
|
143
|
+
* mounted and measured. */
|
|
144
|
+
isNarrow: boolean;
|
|
145
|
+
/** The secondary panel's current width in px, or null until the shell has
|
|
146
|
+
* measured itself (the panel then sits at `--panel-width`). */
|
|
147
|
+
panelWidth: number | null;
|
|
148
|
+
/** Resize the secondary panel from outside the shell — clamped to the room
|
|
149
|
+
* the shell has. */
|
|
150
|
+
resizePanel: (width: number) => void;
|
|
151
|
+
/** Requested open state. `sidebar` reports the responsive rail layout. */
|
|
152
|
+
open: Record<TSidebarSide, boolean>;
|
|
153
|
+
/** Live mobile overlay state, keyed by side. */
|
|
154
|
+
openMobile: Record<TSidebarSide, boolean>;
|
|
155
|
+
/** Refuses to OPEN the right panel while `isNarrow` — there is nothing on
|
|
156
|
+
* screen to open. Closing it always goes through. */
|
|
157
|
+
setOpen: (open: boolean, side: TSidebarSide) => void;
|
|
158
|
+
setOpenMobile: (open: boolean, side: TSidebarSide) => void;
|
|
159
|
+
/** Desktop-only convenience — the in-shell triggers already pick the
|
|
160
|
+
* mobile state themselves when the viewport is narrow. Carries the same
|
|
161
|
+
* `isNarrow` refusal as `setOpen`. */
|
|
162
|
+
toggle: (side: TSidebarSide) => void;
|
|
163
|
+
/** Open a side's panel and, when given, swap in the content it shows.
|
|
164
|
+
* The component travels through `providerProps.panelComponents` into
|
|
165
|
+
* ShellLayout, where it wins over the static `panels` entry for that
|
|
166
|
+
* side, and sticks until the next `openPanel(side, component)` replaces
|
|
167
|
+
* it — closing the panel leaves it in place for the exit animation and
|
|
168
|
+
* the next open. Carries the same `isNarrow` refusal as `setOpen`. */
|
|
169
|
+
openPanel: (side: TSidebarSide, component?: ReactNode) => void;
|
|
170
|
+
/** Spread onto ShellLayout (or AnimatedPanelProvider directly). */
|
|
171
|
+
providerProps: TShellPanelControlProps;
|
|
172
|
+
}
|
|
173
|
+
export interface IShellLayoutProps extends TShellPanelControlProps {
|
|
174
|
+
children?: ReactNode;
|
|
175
|
+
/** Content for the shell's panels, keyed by the side. The shell renders
|
|
176
|
+
* the `left` rail and the `right` drawer; other sides are reserved. */
|
|
177
|
+
panels?: TPanelMap;
|
|
178
|
+
header?: ReactNode;
|
|
179
|
+
/** Actions pinned to the header's right edge, rendered just before the
|
|
180
|
+
* right panel's trigger. The cluster hugs the trailing edge no matter
|
|
181
|
+
* which of `header` / the left rail / the right panel are present. */
|
|
182
|
+
trailing?: ReactNode;
|
|
183
|
+
className?: string;
|
|
184
|
+
variant?: "web" | "desktop";
|
|
185
|
+
}
|
|
186
|
+
export type TSidebarSide = "left" | "right";
|
|
187
|
+
/** Open flags keyed by the side. Sides left out stay uncontrolled / at their
|
|
188
|
+
* default — there is no per-side prop, the record IS the API. */
|
|
189
|
+
export type TSidebarOpenState = Partial<Record<TSidebarSide, boolean>>;
|
|
190
|
+
export type TSidebarVariant = "sidebar" | "floating" | "inset";
|
|
191
|
+
export type TSidebarCollapsible = "offcanvas" | "icon" | "none";
|
|
192
|
+
export interface IAnimatedSidebarContextValue {
|
|
193
|
+
isMobile: boolean;
|
|
194
|
+
/** What the shell measured of itself: whether it can hold a secondary panel
|
|
195
|
+
* at all, how wide that panel is, and the range a resize may land in. The
|
|
196
|
+
* right panel and its trigger stand down when `fit.fits` is false. */
|
|
197
|
+
fit: IShellFitController;
|
|
198
|
+
layoutId: string;
|
|
199
|
+
/** Desktop open state, keyed by side. */
|
|
200
|
+
open: Record<TSidebarSide, boolean>;
|
|
201
|
+
/** Mobile overlay open state, keyed by side. */
|
|
202
|
+
openMobile: Record<TSidebarSide, boolean>;
|
|
203
|
+
reduce: boolean;
|
|
204
|
+
setOpen: (open: boolean, side: TSidebarSide) => void;
|
|
205
|
+
setOpenMobile: (open: boolean, side: TSidebarSide) => void;
|
|
206
|
+
/** Toggle the docked panel when the container can accommodate it. */
|
|
207
|
+
toggleSidebar: (side: TSidebarSide) => void;
|
|
208
|
+
triggerRefs: Record<TSidebarSide, React.RefObject<HTMLButtonElement | null>>;
|
|
209
|
+
}
|
|
210
|
+
export interface IAnimatedSidebarProviderProps extends HTMLAttributes<HTMLDivElement> {
|
|
211
|
+
/** The id this shell's fit state (whether a secondary panel fits, how wide
|
|
212
|
+
* it is) is filed under in the store. Name it to read or drive the shell
|
|
213
|
+
* from elsewhere and to keep a dragged width across a route change; omit it
|
|
214
|
+
* and the provider generates one that is dropped on unmount. */
|
|
215
|
+
shellId?: TShellFitInstanceId;
|
|
216
|
+
/** The width the secondary panel opens at, in px, instead of
|
|
217
|
+
* `--panel-width`. Read once, on mount. */
|
|
218
|
+
defaultPanelWidth?: number;
|
|
219
|
+
/** Controlled desktop open state, keyed by the side. A side left undefined
|
|
220
|
+
* stays uncontrolled. */
|
|
221
|
+
open?: TSidebarOpenState;
|
|
222
|
+
/** Initial desktop open state, merged over `{ left: true, right: false }`. */
|
|
223
|
+
defaultOpen?: TSidebarOpenState;
|
|
224
|
+
onOpenChange?: (open: boolean, side: TSidebarSide) => void;
|
|
225
|
+
/** Controlled mobile overlay state, keyed by side. */
|
|
226
|
+
openMobile?: TSidebarOpenState;
|
|
227
|
+
/** Initial mobile overlay state — every side starts closed. */
|
|
228
|
+
defaultOpenMobile?: TSidebarOpenState;
|
|
229
|
+
onOpenMobileChange?: (open: boolean, side: TSidebarSide) => void;
|
|
230
|
+
/** Content pushed into a side's panel by `useShellPanels().openPanel`. It
|
|
231
|
+
* rides along in `providerProps` so the record can be spread on either
|
|
232
|
+
* surface: ShellLayout renders it in that side's panel; the bare provider
|
|
233
|
+
* renders no panels, so it only swallows the prop to keep it off the DOM. */
|
|
234
|
+
panelComponents?: TSidebarComponentMap;
|
|
235
|
+
/** Fires when the shell crosses the width a secondary panel needs (rail +
|
|
236
|
+
* body + panel at their floors). An imperative escape hatch for a consumer
|
|
237
|
+
* that mounts the provider on its own; anything under `ExegiaProvider` can
|
|
238
|
+
* subscribe by id instead with `useShellFitState(shellId).fits`. */
|
|
239
|
+
onNarrowChange?: (isNarrow: boolean) => void;
|
|
240
|
+
style?: TSidebarProviderStyle;
|
|
241
|
+
}
|
|
242
|
+
export type TSidebarProviderStyle = CSSProperties & {
|
|
243
|
+
/** Left rail, expanded. */
|
|
244
|
+
"--sidebar-width"?: string;
|
|
245
|
+
/** Minimum expanded rail width before it folds to icons. Default 180px. */
|
|
246
|
+
"--sidebar-min-width"?: string;
|
|
247
|
+
/** Left rail, folded to icons. */
|
|
248
|
+
"--sidebar-width-icon"?: string;
|
|
249
|
+
"--sidebar-width-mobile"?: string;
|
|
250
|
+
/** The secondary panel's floor, and the width it opens at. */
|
|
251
|
+
"--panel-width"?: string;
|
|
252
|
+
/** The body's floor — the secondary panel may never squeeze it past this. */
|
|
253
|
+
"--inset-min-width"?: string;
|
|
254
|
+
};
|
|
255
|
+
export type TAnimatedSidebarInsetProps = HTMLMotionProps<"main">;
|
|
256
|
+
export interface IAnimatedSidebarTriggerProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
257
|
+
side?: TSidebarSide;
|
|
258
|
+
}
|
|
259
|
+
export interface IAnimatedSidebarPanelContextValue {
|
|
260
|
+
collapsed: boolean;
|
|
261
|
+
collapsible: TSidebarCollapsible;
|
|
262
|
+
side: TSidebarSide;
|
|
263
|
+
}
|
|
264
|
+
export interface IAnimatedSidebarProps extends Omit<HTMLMotionProps<"aside">, "children"> {
|
|
265
|
+
children?: ReactNode;
|
|
266
|
+
side?: TSidebarSide;
|
|
267
|
+
variant?: TSidebarVariant;
|
|
268
|
+
collapsible?: TSidebarCollapsible;
|
|
269
|
+
ariaLabel?: string;
|
|
270
|
+
panelClassName?: string;
|
|
271
|
+
}
|
|
272
|
+
export interface IAnimatedSidebarMenuSubProps extends Omit<HTMLMotionProps<"ul">, "children"> {
|
|
273
|
+
open: boolean;
|
|
274
|
+
children?: ReactNode;
|
|
275
|
+
}
|
|
276
|
+
export interface IAnimatedSidebarMenuSubButtonProps {
|
|
277
|
+
children: ReactNode;
|
|
278
|
+
icon?: ReactNode;
|
|
279
|
+
href?: string;
|
|
280
|
+
isActive?: boolean;
|
|
281
|
+
disabled?: boolean;
|
|
282
|
+
closeOnSelect?: boolean;
|
|
283
|
+
target?: "_blank" | "_self" | "_parent" | "_top";
|
|
284
|
+
rel?: string;
|
|
285
|
+
onSelect?: () => void;
|
|
286
|
+
className?: string;
|
|
287
|
+
}
|
|
288
|
+
export interface IAnimatedSidebarMenuButtonProps {
|
|
289
|
+
children: ReactNode;
|
|
290
|
+
icon?: ReactNode;
|
|
291
|
+
badge?: ReactNode;
|
|
292
|
+
href?: string;
|
|
293
|
+
isActive?: boolean;
|
|
294
|
+
ariaExpanded?: boolean;
|
|
295
|
+
disabled?: boolean;
|
|
296
|
+
closeOnSelect?: boolean;
|
|
297
|
+
target?: "_blank" | "_self" | "_parent" | "_top";
|
|
298
|
+
rel?: string;
|
|
299
|
+
onSelect?: () => void;
|
|
300
|
+
className?: string;
|
|
301
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { IShellFitActions, TShellFitInstanceId, IShellFitState } from './type';
|
|
2
|
+
/**
|
|
3
|
+
* Read the fit of the shell registered under `shellId` from anywhere below
|
|
4
|
+
* `ExegiaProvider` — no controller, no props, no provider of its own.
|
|
5
|
+
*
|
|
6
|
+
* ```tsx
|
|
7
|
+
* const { fits, panelWidth } = useShellFitState("app-shell")
|
|
8
|
+
* ```
|
|
9
|
+
*
|
|
10
|
+
* This returns the whole state object, so the caller re-renders on every
|
|
11
|
+
* measurement. A component that reads one field should subscribe to that
|
|
12
|
+
* field's atom instead: `useAtomValue(shellFitFitsAtom("app-shell"))`.
|
|
13
|
+
*/
|
|
14
|
+
export declare function useShellFitState(shellId: TShellFitInstanceId): IShellFitState;
|
|
15
|
+
/**
|
|
16
|
+
* Drive the secondary panel of the shell registered under `shellId` from
|
|
17
|
+
* anywhere. Writes only — the caller never re-renders when the shell moves,
|
|
18
|
+
* so this is what a command palette or a keyboard shortcut should reach for.
|
|
19
|
+
*
|
|
20
|
+
* ```tsx
|
|
21
|
+
* const shell = useShellFitActions("app-shell")
|
|
22
|
+
* <Button onClick={() => shell.resizePanel(480)}>Wide inspector</Button>
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export declare function useShellFitActions(shellId: TShellFitInstanceId): IShellFitActions;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IShellFitController, IUseShellFitOptions } from './type';
|
|
2
|
+
/**
|
|
3
|
+
* Measures the shell and decides what the secondary panel may do: whether it
|
|
4
|
+
* exists at all, and how wide it may be dragged.
|
|
5
|
+
*
|
|
6
|
+
* Container resizing, rail folding, and user resizing are observed here,
|
|
7
|
+
* so embedded shells obey the same bounds as full-page layouts. The measurement is
|
|
8
|
+
* the only thing this hook keeps to itself: the numbers land in the shell-fit
|
|
9
|
+
* atoms keyed by `shellId`, so anything under `ExegiaProvider` can read the
|
|
10
|
+
* verdict (`useShellFitState`) or move the panel (`useShellFitActions`)
|
|
11
|
+
* without holding this controller.
|
|
12
|
+
*/
|
|
13
|
+
export declare function useShellFit({ shellId: explicitId, hostRef, railOpen, defaultPanelWidth, onUnfit, }: IUseShellFitOptions): IShellFitController;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { IShellPanelControls, IUseShellPanelsOptions } from './type';
|
|
2
|
+
/**
|
|
3
|
+
* Owns the open/close state of the shell's panels, keyed by side, and
|
|
4
|
+
* reports every change through a single `onPanelChange(open, side)`
|
|
5
|
+
* callback. Spread the returned `providerProps` onto ShellLayout; the
|
|
6
|
+
* setters and `toggle` are for UI that lives outside the shell (title-bar
|
|
7
|
+
* buttons, command palette, shortcuts).
|
|
8
|
+
*
|
|
9
|
+
* The way back down is the store: `providerProps` carries a `shellId`, the
|
|
10
|
+
* shell files its measurement under it, and this hook reads `isNarrow` and
|
|
11
|
+
* `panelWidth` straight out of those atoms — so outside UI stands down with
|
|
12
|
+
* the panel instead of measuring `--sidebar-width` a second time. Name the
|
|
13
|
+
* `shellId` and any component below `ExegiaProvider` can do the same with
|
|
14
|
+
* `useShellFitState(shellId)`.
|
|
15
|
+
*
|
|
16
|
+
* Call it under the same `ExegiaProvider` as the shell it drives (or under
|
|
17
|
+
* none at all, on both sides): mounted above the provider it would read
|
|
18
|
+
* Jotai's default store while the shell writes to the provider's.
|
|
19
|
+
*/
|
|
20
|
+
export declare function useShellPanels({ shellId: explicitId, defaultOpen, defaultOpenMobile, defaultPanelWidth, onPanelChange, }?: IUseShellPanelsOptions): IShellPanelControls;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { Variants } from 'motion/react';
|
|
2
|
+
import { IAnimatedSidebarContextValue, IAnimatedSidebarPanelContextValue } from './type';
|
|
3
|
+
export declare const SHELL_BEZEL_CLASSES = "bezel-lit-t-2 bezel-lit-blur-2 bezel-lit/57 bezel-dim-b-2 bezel-dim-blur-3 bezel-dim/11 dark:bezel-lit-blur-3 dark:bezel-lit/14 dark:bezel-dim/78";
|
|
4
|
+
export declare const TITLE_BAR_HEIGHT = 48;
|
|
5
|
+
export declare const SIDEBAR_MORPH_TRANSITION: {
|
|
6
|
+
readonly type: "spring";
|
|
7
|
+
readonly stiffness: 380;
|
|
8
|
+
readonly damping: 35;
|
|
9
|
+
readonly mass: 0.75;
|
|
10
|
+
};
|
|
11
|
+
export declare const LABEL_ENTER_TRANSITION: {
|
|
12
|
+
readonly duration: 0.2;
|
|
13
|
+
readonly delay: 0.08;
|
|
14
|
+
readonly ease: readonly [0.16, 1, 0.3, 1];
|
|
15
|
+
};
|
|
16
|
+
export declare const LABEL_EXIT_TRANSITION: {
|
|
17
|
+
readonly duration: 0.12;
|
|
18
|
+
readonly ease: readonly [0.16, 1, 0.3, 1];
|
|
19
|
+
};
|
|
20
|
+
export declare const PANEL_TRANSITION: {
|
|
21
|
+
readonly duration: 0.36;
|
|
22
|
+
readonly ease: readonly [0.32, 0.72, 0, 1];
|
|
23
|
+
};
|
|
24
|
+
export declare const REDUCED_TRANSITION: {
|
|
25
|
+
readonly duration: 0.16;
|
|
26
|
+
readonly ease: readonly [0.16, 1, 0.3, 1];
|
|
27
|
+
};
|
|
28
|
+
export declare const SUBMENU_VARIANTS: Variants;
|
|
29
|
+
export declare const SUBMENU_ITEM_VARIANTS: Variants;
|
|
30
|
+
export declare const FOCUSABLE_SELECTOR: string;
|
|
31
|
+
export declare const MOBILE_QUERY = "(max-width: 767px)";
|
|
32
|
+
export declare const SIDEBAR_KEYBOARD_SHORTCUT = "b";
|
|
33
|
+
/**
|
|
34
|
+
* The shell's layout contract, in px. Every entry lands on the provider's
|
|
35
|
+
* wrapper as a CSS variable, so a consumer overrides a column by restyling it
|
|
36
|
+
* rather than by passing a prop:
|
|
37
|
+
*
|
|
38
|
+
* | variable | column |
|
|
39
|
+
* | ---------------------- | ----------------------------------------- |
|
|
40
|
+
* | `--sidebar-width` | left rail, expanded |
|
|
41
|
+
* | `--sidebar-width-icon` | left rail, folded to icons |
|
|
42
|
+
* | `--panel-width` | secondary panel: its floor AND its default |
|
|
43
|
+
* | `--inset-min-width` | the body's floor |
|
|
44
|
+
*
|
|
45
|
+
* These are only the defaults. Every measurement resolves the live variable,
|
|
46
|
+
* so an override wins over the value written here.
|
|
47
|
+
*/
|
|
48
|
+
export declare const SHELL_WIDTHS: {
|
|
49
|
+
readonly "--sidebar-min-width": "180px";
|
|
50
|
+
readonly "--sidebar-width": "256px";
|
|
51
|
+
readonly "--sidebar-width-icon": "56px";
|
|
52
|
+
readonly "--sidebar-width-mobile": "18rem";
|
|
53
|
+
readonly "--panel-width": "320px";
|
|
54
|
+
readonly "--inset-min-width": "360px";
|
|
55
|
+
};
|
|
56
|
+
/** The expanded width of a panel docked to `side`: the secondary panel opens
|
|
57
|
+
* at `--panel-width`, the primary rail at `--sidebar-width`. */
|
|
58
|
+
export declare function expandedWidthVar(side: "left" | "right"): "var(--panel-width)" | "var(--sidebar-width)";
|
|
59
|
+
/** Resolve a CSS length — `var()` included — to px inside `host`'s cascade.
|
|
60
|
+
* Custom properties inherit, so a throwaway probe mounted in `host` reads the
|
|
61
|
+
* very `--sidebar-width` the shell lays out with, including a value a
|
|
62
|
+
* consumer overrode on the provider. Returns 0 when `host` has no layout
|
|
63
|
+
* (server render, `display: none`), so callers must fail open on 0 rather
|
|
64
|
+
* than treat it as a real measurement. */
|
|
65
|
+
export declare function resolveLength(host: HTMLElement, value: string): number;
|
|
66
|
+
export declare const AnimatedSidebarContext: import('react').Context<IAnimatedSidebarContextValue | null>;
|
|
67
|
+
export declare const AnimatedSidebarPanelContext: import('react').Context<IAnimatedSidebarPanelContextValue | null>;
|
|
68
|
+
export declare function useAnimatedSidebar(): IAnimatedSidebarContextValue;
|
|
69
|
+
export declare function getMobileSnapshot(): boolean;
|
|
70
|
+
export declare function getServerMobileSnapshot(): boolean;
|
|
71
|
+
export declare function useIsMobile(): boolean;
|
|
72
|
+
export declare function useAnimatedSidebarPanel(): IAnimatedSidebarPanelContextValue;
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
import { Atom } from 'jotai';
|
|
2
|
+
import { IAISidebarConfig, IAISidebarHandlers, TAISidebarInstanceId, IAISidebarSeed, IAISidebarState, IDropTarget, IFlatResource, ISidebarResource, TSidebarResourceDropPosition, ISidebarResourceMove } from './type.ts';
|
|
3
|
+
/** What a sidebar reads as before `useAISidebar` publishes its options. */
|
|
4
|
+
export declare const DEFAULT_AI_SIDEBAR_CONFIG: IAISidebarConfig;
|
|
5
|
+
/**
|
|
6
|
+
* A string-keyed atom family.
|
|
7
|
+
*
|
|
8
|
+
* `jotai/utils`' `atomFamily` is deprecated for Jotai v3, and we need only
|
|
9
|
+
* the string-keyed case with a `remove` — so this stays in-house rather than
|
|
10
|
+
* adding `jotai-family` as a second Jotai package to keep version-aligned.
|
|
11
|
+
* Dropping a key lets the store's WeakMap release that instance's state.
|
|
12
|
+
*/
|
|
13
|
+
type TFamily<AtomType> = ((id: TAISidebarInstanceId) => AtomType) & {
|
|
14
|
+
remove: (id: TAISidebarInstanceId) => void;
|
|
15
|
+
};
|
|
16
|
+
/** @internal */
|
|
17
|
+
export declare const aiSidebarConfigAtom: TFamily<import('jotai').PrimitiveAtom<IAISidebarConfig> & {
|
|
18
|
+
init: IAISidebarConfig;
|
|
19
|
+
}>;
|
|
20
|
+
/** @internal Refreshed every commit; nothing subscribes, so it is free. */
|
|
21
|
+
export declare const aiSidebarHandlersAtom: TFamily<import('jotai').PrimitiveAtom<IAISidebarHandlers> & {
|
|
22
|
+
init: IAISidebarHandlers;
|
|
23
|
+
}>;
|
|
24
|
+
/** The sidebar's current data — hook-owned, or the projection of a
|
|
25
|
+
* controlled `items` prop. */
|
|
26
|
+
export declare const aiSidebarItemsAtom: TFamily<import('jotai').PrimitiveAtom<ISidebarResource[]> & {
|
|
27
|
+
init: ISidebarResource[];
|
|
28
|
+
}>;
|
|
29
|
+
/** @internal The hook-owned selection. `select` writes it only while no
|
|
30
|
+
* `activeId` prop owns the selection — read `aiSidebarActiveIdAtom` for the
|
|
31
|
+
* value the sidebar actually renders. */
|
|
32
|
+
export declare const aiSidebarOwnActiveIdAtom: TFamily<import('jotai').PrimitiveAtom<string | null> & {
|
|
33
|
+
init: string | null;
|
|
34
|
+
}>;
|
|
35
|
+
/** @internal Projection of a controlled `activeId` prop; `undefined` while
|
|
36
|
+
* the selection is hook-owned. */
|
|
37
|
+
export declare const aiSidebarControlledActiveIdAtom: TFamily<import('jotai').PrimitiveAtom<string | null | undefined> & {
|
|
38
|
+
init: string | null | undefined;
|
|
39
|
+
}>;
|
|
40
|
+
/** Open rows — hook-owned, or the projection of a controlled `expandedIds`
|
|
41
|
+
* prop. */
|
|
42
|
+
export declare const aiSidebarExpandedIdsAtom: TFamily<import('jotai').PrimitiveAtom<ReadonlySet<string>> & {
|
|
43
|
+
init: ReadonlySet<string>;
|
|
44
|
+
}>;
|
|
45
|
+
/** Roving-focus target. DOM focus is moved by the block, which owns the row
|
|
46
|
+
* refs; this is only which row is tabbable. */
|
|
47
|
+
export declare const aiSidebarFocusedIdAtom: TFamily<import('jotai').PrimitiveAtom<string | null> & {
|
|
48
|
+
init: string | null;
|
|
49
|
+
}>;
|
|
50
|
+
export declare const aiSidebarDraggingIdAtom: TFamily<import('jotai').PrimitiveAtom<string | null> & {
|
|
51
|
+
init: string | null;
|
|
52
|
+
}>;
|
|
53
|
+
export declare const aiSidebarDropTargetAtom: TFamily<import('jotai').PrimitiveAtom<IDropTarget | null> & {
|
|
54
|
+
init: IDropTarget | null;
|
|
55
|
+
}>;
|
|
56
|
+
export declare const aiSidebarMenuOpenIdAtom: TFamily<import('jotai').PrimitiveAtom<string | null> & {
|
|
57
|
+
init: string | null;
|
|
58
|
+
}>;
|
|
59
|
+
export declare const aiSidebarRenamingIdAtom: TFamily<import('jotai').PrimitiveAtom<string | null> & {
|
|
60
|
+
init: string | null;
|
|
61
|
+
}>;
|
|
62
|
+
export declare const aiSidebarHoveredIdAtom: TFamily<import('jotai').PrimitiveAtom<string | null> & {
|
|
63
|
+
init: string | null;
|
|
64
|
+
}>;
|
|
65
|
+
/** Live-region text for the last move or rename outcome. */
|
|
66
|
+
export declare const aiSidebarAnnouncementAtom: TFamily<import('jotai').PrimitiveAtom<string> & {
|
|
67
|
+
init: string;
|
|
68
|
+
}>;
|
|
69
|
+
/** A move is in flight. Read synchronously by `moveAISidebarRowAtom` before
|
|
70
|
+
* it starts another — the store needs no ref to see its own latest write. */
|
|
71
|
+
export declare const aiSidebarMovePendingAtom: TFamily<import('jotai').PrimitiveAtom<boolean> & {
|
|
72
|
+
init: boolean;
|
|
73
|
+
}>;
|
|
74
|
+
/** @internal The only items atom `useAISidebar` may subscribe to: empty
|
|
75
|
+
* while a controlled `items` prop owns the data, so the projection write
|
|
76
|
+
* never feeds back into the render that produced it. An inline `items={[…]}`
|
|
77
|
+
* array is a new reference every render, and a subscribed round-trip would
|
|
78
|
+
* loop. */
|
|
79
|
+
export declare const aiSidebarOwnedItemsAtom: TFamily<Atom<ISidebarResource[]>>;
|
|
80
|
+
/** @internal The same guard for `expandedIds`, which is controllable here
|
|
81
|
+
* and arrives as an array — just as unstable an identity as `items`. */
|
|
82
|
+
export declare const aiSidebarOwnedExpandedIdsAtom: TFamily<Atom<ReadonlySet<string>>>;
|
|
83
|
+
/** The selected row: the controlled `activeId` when there is one, the
|
|
84
|
+
* hook-owned selection otherwise. Kept as two atoms because a controlled
|
|
85
|
+
* `activeId` of `null` falls through to the hook-owned value — the block has
|
|
86
|
+
* always read `activeId ?? internalActiveId`. */
|
|
87
|
+
export declare const aiSidebarActiveIdAtom: TFamily<Atom<string | null>>;
|
|
88
|
+
/** Visible rows in order, each with its depth and parent id. */
|
|
89
|
+
export declare const aiSidebarFlatAtom: TFamily<Atom<IFlatResource[]>>;
|
|
90
|
+
/** Some row is hovered and no drag is running — mounts the pill wrapper. */
|
|
91
|
+
export declare const aiSidebarHoverActiveAtom: TFamily<Atom<boolean>>;
|
|
92
|
+
/** Whether this one row is the current selection. */
|
|
93
|
+
export declare const aiSidebarRowSelectedAtom: (id: TAISidebarInstanceId, rowId: string) => Atom<boolean>;
|
|
94
|
+
/** Whether this one row is open. */
|
|
95
|
+
export declare const aiSidebarRowExpandedAtom: (id: TAISidebarInstanceId, rowId: string) => Atom<boolean>;
|
|
96
|
+
/** Whether this one row is the roving-focus target. */
|
|
97
|
+
export declare const aiSidebarRowFocusedAtom: (id: TAISidebarInstanceId, rowId: string) => Atom<boolean>;
|
|
98
|
+
/** Whether this one row is in rename mode. */
|
|
99
|
+
export declare const aiSidebarRowRenamingAtom: (id: TAISidebarInstanceId, rowId: string) => Atom<boolean>;
|
|
100
|
+
/** Whether this one row's action menu is open. */
|
|
101
|
+
export declare const aiSidebarRowMenuOpenAtom: (id: TAISidebarInstanceId, rowId: string) => Atom<boolean>;
|
|
102
|
+
/** Whether this one row is the row in flight. */
|
|
103
|
+
export declare const aiSidebarRowDraggingAtom: (id: TAISidebarInstanceId, rowId: string) => Atom<boolean>;
|
|
104
|
+
/** Where a drop on this one row would land, `null` when it is not hovered
|
|
105
|
+
* by a drag. */
|
|
106
|
+
export declare const aiSidebarRowDropAtom: (id: TAISidebarInstanceId, rowId: string) => Atom<TSidebarResourceDropPosition | null>;
|
|
107
|
+
/** Whether this one row owns the sliding hover pill. */
|
|
108
|
+
export declare const aiSidebarRowHoveredAtom: (id: TAISidebarInstanceId, rowId: string) => Atom<boolean>;
|
|
109
|
+
/** The whole state of one sidebar. Components reading a single field should
|
|
110
|
+
* subscribe to that field's atom instead — this one changes on every edit. */
|
|
111
|
+
export declare const aiSidebarStateAtom: TFamily<Atom<IAISidebarState>>;
|
|
112
|
+
export declare const expandAISidebarRowAtom: TFamily<import('jotai').WritableAtom<null, [rowId: string], void> & {
|
|
113
|
+
init: null;
|
|
114
|
+
}>;
|
|
115
|
+
export declare const collapseAISidebarRowAtom: TFamily<import('jotai').WritableAtom<null, [rowId: string], void> & {
|
|
116
|
+
init: null;
|
|
117
|
+
}>;
|
|
118
|
+
export declare const toggleAISidebarRowAtom: TFamily<import('jotai').WritableAtom<null, [rowId: string], void> & {
|
|
119
|
+
init: null;
|
|
120
|
+
}>;
|
|
121
|
+
export declare const expandAllAISidebarRowsAtom: TFamily<import('jotai').WritableAtom<null, [], void> & {
|
|
122
|
+
init: null;
|
|
123
|
+
}>;
|
|
124
|
+
export declare const collapseAllAISidebarRowsAtom: TFamily<import('jotai').WritableAtom<null, [], void> & {
|
|
125
|
+
init: null;
|
|
126
|
+
}>;
|
|
127
|
+
/** Open every ancestor of `rowId` without touching the rest of the tree. */
|
|
128
|
+
export declare const revealAISidebarRowAtom: TFamily<import('jotai').WritableAtom<null, [rowId: string], void> & {
|
|
129
|
+
init: null;
|
|
130
|
+
}>;
|
|
131
|
+
export declare const selectAISidebarRowAtom: TFamily<import('jotai').WritableAtom<null, [rowId: string], void> & {
|
|
132
|
+
init: null;
|
|
133
|
+
}>;
|
|
134
|
+
/** The store half of `focus`: which row is tabbable. Moving DOM focus is the
|
|
135
|
+
* block's job — it owns the row refs. */
|
|
136
|
+
export declare const focusAISidebarRowAtom: TFamily<import('jotai').WritableAtom<null, [rowId: string], void> & {
|
|
137
|
+
init: null;
|
|
138
|
+
}>;
|
|
139
|
+
/** @internal Keeps the roving target on a row that still renders: a focused
|
|
140
|
+
* row that folds away hands focus to the first visible row instead of
|
|
141
|
+
* pointing at nothing. `useAISidebar` runs it after every projection. */
|
|
142
|
+
export declare const normalizeAISidebarFocusAtom: TFamily<import('jotai').WritableAtom<null, [], void> & {
|
|
143
|
+
init: null;
|
|
144
|
+
}>;
|
|
145
|
+
export declare const startAISidebarRenameAtom: TFamily<import('jotai').WritableAtom<null, [rowId: string], void> & {
|
|
146
|
+
init: null;
|
|
147
|
+
}>;
|
|
148
|
+
export declare const cancelAISidebarRenameAtom: TFamily<import('jotai').WritableAtom<null, [], void> & {
|
|
149
|
+
init: null;
|
|
150
|
+
}>;
|
|
151
|
+
/** Commit a rename and leave rename mode. Applied optimistically and rolled
|
|
152
|
+
* back if `onRename` rejects. Blank and unchanged labels are dropped. */
|
|
153
|
+
export declare const renameAISidebarRowAtom: TFamily<import('jotai').WritableAtom<null, [rowId: string, label: string], void> & {
|
|
154
|
+
init: null;
|
|
155
|
+
}>;
|
|
156
|
+
export declare const openAISidebarMenuAtom: TFamily<import('jotai').WritableAtom<null, [rowId: string], void> & {
|
|
157
|
+
init: null;
|
|
158
|
+
}>;
|
|
159
|
+
/** Closes the menu and hands the roving target back to the row that owned
|
|
160
|
+
* it, then returns that id so the block can move DOM focus there — otherwise
|
|
161
|
+
* focus falls back to the body and the keyboard user loses their place. */
|
|
162
|
+
export declare const closeAISidebarMenuAtom: TFamily<import('jotai').WritableAtom<null, [], string | null> & {
|
|
163
|
+
init: null;
|
|
164
|
+
}>;
|
|
165
|
+
/**
|
|
166
|
+
* Reorder, applied optimistically and rolled back if `onMove` rejects.
|
|
167
|
+
*
|
|
168
|
+
* The pending flag is read straight back out of the store, which is why this
|
|
169
|
+
* needs no ref to guard overlapping moves the way React state did: the write
|
|
170
|
+
* is visible to the next call immediately, not after a commit.
|
|
171
|
+
*/
|
|
172
|
+
export declare const moveAISidebarRowAtom: TFamily<import('jotai').WritableAtom<null, [move: ISidebarResourceMove], Promise<void>> & {
|
|
173
|
+
init: null;
|
|
174
|
+
}>;
|
|
175
|
+
/** Replace the data. Reports through `onItemsChange`; writes the atom only
|
|
176
|
+
* when no controlled `items` prop owns it. */
|
|
177
|
+
export declare const setAISidebarItemsAtom: TFamily<import('jotai').WritableAtom<null, [items: ISidebarResource[]], void> & {
|
|
178
|
+
init: null;
|
|
179
|
+
}>;
|
|
180
|
+
export declare const setAISidebarHoveredAtom: TFamily<import('jotai').WritableAtom<null, [rowId: string, hovered: boolean], void> & {
|
|
181
|
+
init: null;
|
|
182
|
+
}>;
|
|
183
|
+
export declare const clearAISidebarHoverAtom: TFamily<import('jotai').WritableAtom<null, [], void> & {
|
|
184
|
+
init: null;
|
|
185
|
+
}>;
|
|
186
|
+
export declare const endAISidebarDragAtom: TFamily<import('jotai').WritableAtom<null, [], void> & {
|
|
187
|
+
init: null;
|
|
188
|
+
}>;
|
|
189
|
+
/** @internal Publish the latest options; seed the instance once. */
|
|
190
|
+
export declare const mountAISidebarAtom: TFamily<import('jotai').WritableAtom<null, [config: IAISidebarConfig, seed: IAISidebarSeed], void> & {
|
|
191
|
+
init: null;
|
|
192
|
+
}>;
|
|
193
|
+
/** @internal */
|
|
194
|
+
export declare const setAISidebarHandlersAtom: TFamily<import('jotai').WritableAtom<null, [handlers: IAISidebarHandlers], void> & {
|
|
195
|
+
init: null;
|
|
196
|
+
}>;
|
|
197
|
+
/** @internal One-way projections of controlled props — no callbacks fire. */
|
|
198
|
+
export declare const projectAISidebarItemsAtom: TFamily<import('jotai').WritableAtom<null, [items: ISidebarResource[]], void> & {
|
|
199
|
+
init: null;
|
|
200
|
+
}>;
|
|
201
|
+
/** @internal */
|
|
202
|
+
export declare const projectAISidebarActiveIdAtom: TFamily<import('jotai').WritableAtom<null, [activeId: string | null], void> & {
|
|
203
|
+
init: null;
|
|
204
|
+
}>;
|
|
205
|
+
/** @internal */
|
|
206
|
+
export declare const projectAISidebarExpandedIdsAtom: TFamily<import('jotai').WritableAtom<null, [expandedIds: string[]], void> & {
|
|
207
|
+
init: null;
|
|
208
|
+
}>;
|
|
209
|
+
/** Back to the values the instance mounted with. */
|
|
210
|
+
export declare const resetAISidebarAtom: TFamily<import('jotai').WritableAtom<null, [], void> & {
|
|
211
|
+
init: null;
|
|
212
|
+
}>;
|
|
213
|
+
/** Drop every atom for `id`. `useAISidebar` calls this on unmount for
|
|
214
|
+
* sidebars it keyed itself; an explicit `sidebarId` outlives its component,
|
|
215
|
+
* so an app-named sidebar keeps its open rows across a route change. */
|
|
216
|
+
export declare function removeAISidebarInstance(id: TAISidebarInstanceId): void;
|
|
217
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { TAISidebarComponentProps } from './type';
|
|
2
|
+
/**
|
|
3
|
+
* Resource tree for the app rail: nested rows with drag-and-drop reorder,
|
|
4
|
+
* inline rename, per-row action menus and full keyboard navigation.
|
|
5
|
+
*
|
|
6
|
+
* Two ways to drive it. Pass the data and handlers as props and the block
|
|
7
|
+
* owns its state, or hold a `useAISidebar` controller and pass it as
|
|
8
|
+
* `controller` — the same rendering, but select, expand, rename, reorder
|
|
9
|
+
* and menu state are then callable from anywhere in your app.
|
|
10
|
+
*/
|
|
11
|
+
export declare function AISidebar(props: TAISidebarComponentProps): import("react").JSX.Element;
|