@exegia/corpora-ui 0.28.0 → 1.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 +33 -11
- package/dist-lib/index.js +13006 -7914
- package/dist-lib/index.js.map +1 -1
- package/dist-lib/src/components/atoms/_layout.d.ts +4 -0
- package/dist-lib/src/components/atoms/avatar/base.d.ts +2 -0
- package/dist-lib/src/components/atoms/avatar/index.d.ts +2 -0
- package/dist-lib/src/components/atoms/avatar/types.d.ts +20 -0
- package/dist-lib/src/components/atoms/avatar/utils.d.ts +13 -0
- package/dist-lib/src/components/atoms/avatar/verified.d.ts +1 -0
- package/dist-lib/src/components/atoms/background/index.d.ts +6 -0
- package/dist-lib/src/components/atoms/background/texture.d.ts +2 -0
- package/dist-lib/src/components/atoms/background/type.d.ts +7 -0
- package/dist-lib/src/components/atoms/background/utils.d.ts +4 -0
- package/dist-lib/src/components/atoms/bubble/actions.d.ts +7 -0
- package/dist-lib/src/components/atoms/bubble/context.d.ts +4 -0
- package/dist-lib/src/components/atoms/bubble/default.d.ts +3 -0
- package/dist-lib/src/components/atoms/bubble/header.d.ts +8 -0
- package/dist-lib/src/components/atoms/bubble/index.d.ts +16 -0
- package/dist-lib/src/components/atoms/bubble/message.d.ts +3 -0
- package/dist-lib/src/components/atoms/bubble/reactions.d.ts +14 -0
- package/dist-lib/src/components/atoms/bubble/types.d.ts +59 -0
- package/dist-lib/src/components/atoms/bubble/utils.d.ts +13 -0
- package/dist-lib/src/components/atoms/chip.d.ts +15 -0
- package/dist-lib/src/components/atoms/index.d.ts +15 -0
- package/dist-lib/src/components/atoms/loader.d.ts +8 -0
- package/dist-lib/src/components/atoms/reference.d.ts +7 -0
- package/dist-lib/src/components/atoms/text/default.d.ts +1144 -0
- package/dist-lib/src/components/atoms/text/heading.d.ts +4 -0
- package/dist-lib/src/components/atoms/text/index.d.ts +21 -0
- package/dist-lib/src/components/atoms/text/label.d.ts +2 -0
- package/dist-lib/src/components/atoms/text/paragraph.d.ts +4 -0
- package/dist-lib/src/components/atoms/text/span.d.ts +3 -0
- package/dist-lib/src/components/atoms/text/types.d.ts +23 -0
- package/dist-lib/src/components/atoms/text/utils.d.ts +4 -0
- package/dist-lib/src/components/atoms/text-selection/click-popover.d.ts +3 -0
- package/dist-lib/src/components/atoms/text-selection/index.d.ts +6 -0
- package/dist-lib/src/components/atoms/text-selection/popover.d.ts +3 -0
- package/dist-lib/src/components/atoms/text-selection/selection-atom.d.ts +30 -0
- package/dist-lib/src/components/atoms/text-selection/selection.d.ts +3 -0
- package/dist-lib/src/components/atoms/text-selection/types.d.ts +90 -0
- package/dist-lib/src/components/atoms/text-selection/use-selection.d.ts +7 -0
- package/dist-lib/src/components/atoms/types.d.ts +17 -0
- package/dist-lib/src/components/blocks/auth/auth-flow-block.story.d.ts +3 -0
- package/dist-lib/src/components/blocks/auth/code-auth-block.story.d.ts +3 -0
- package/dist-lib/src/components/blocks/auth/forgot-password-block.story.d.ts +3 -0
- package/dist-lib/src/components/blocks/auth/linked-accounts-block.story.d.ts +3 -0
- package/dist-lib/src/components/blocks/auth/login-block.story.d.ts +3 -0
- package/dist-lib/src/components/blocks/auth/onboarding-block.story.d.ts +3 -0
- package/dist-lib/src/components/blocks/auth/passkey-manager-block.story.d.ts +3 -0
- package/dist-lib/src/components/blocks/auth/passkey-sign-in-block.story.d.ts +3 -0
- package/dist-lib/src/components/blocks/auth/signup-block.story.d.ts +3 -0
- package/dist-lib/src/components/blocks/auth/update-password-block.story.d.ts +3 -0
- package/dist-lib/src/components/blocks/chat/banners.d.ts +13 -0
- package/dist-lib/src/components/blocks/chat/base.d.ts +10 -0
- package/dist-lib/src/components/blocks/chat/base.story.d.ts +3 -0
- package/dist-lib/src/components/blocks/chat/header.d.ts +4 -0
- package/dist-lib/src/components/blocks/chat/index.d.ts +13 -0
- package/dist-lib/src/components/blocks/chat/recommendation-stack.d.ts +13 -0
- package/dist-lib/src/components/blocks/chat/shared.d.ts +8 -0
- package/dist-lib/src/components/blocks/chat/suggested-prompts.d.ts +3 -0
- package/dist-lib/src/components/blocks/chat/types.d.ts +64 -0
- package/dist-lib/src/components/blocks/chat/version-history-record.d.ts +3 -0
- package/dist-lib/{components → src/components}/blocks/profile/profile-card-block.d.ts +2 -7
- package/dist-lib/src/components/blocks/profile/profile-card-block.story.d.ts +3 -0
- package/dist-lib/{components → src/components}/blocks/profile/type.d.ts +2 -2
- package/dist-lib/src/components/blocks/scaffold/scaffold-root.story.d.ts +3 -0
- package/dist-lib/src/components/blocks/shell/shell-layout.story.d.ts +3 -0
- package/dist-lib/src/components/composed/action-bar/action.d.ts +18 -0
- package/dist-lib/src/components/composed/action-bar/emojis.d.ts +10 -0
- package/dist-lib/src/components/composed/action-bar/index.d.ts +12 -0
- package/dist-lib/src/components/composed/action-bar/toolbar.d.ts +2 -0
- package/dist-lib/src/components/composed/action-bar/types.d.ts +55 -0
- package/dist-lib/src/components/composed/action-bar/utils.d.ts +57 -0
- package/dist-lib/src/components/composed/ai/avatar.d.ts +1 -0
- package/dist-lib/src/components/composed/ai/index.d.ts +17 -0
- package/dist-lib/src/components/composed/ai/message.d.ts +7 -0
- package/dist-lib/src/components/composed/ai/research-answer.d.ts +30 -0
- package/dist-lib/src/components/composed/ai/shared.d.ts +19 -0
- package/dist-lib/src/components/composed/ai/streaming-text.d.ts +26 -0
- package/dist-lib/src/components/composed/ai/suggested-prompt.d.ts +35 -0
- package/dist-lib/src/components/composed/ai/types.d.ts +66 -0
- package/dist-lib/src/components/composed/attachment.story.d.ts +3 -0
- package/dist-lib/src/components/composed/chart.story.d.ts +3 -0
- package/dist-lib/src/components/composed/chat/__tests__/attachment.test.d.ts +1 -0
- package/dist-lib/src/components/composed/chat/__tests__/beautiful-ui.test.d.ts +1 -0
- package/dist-lib/src/components/composed/chat/__tests__/chart.test.d.ts +1 -0
- package/dist-lib/src/components/composed/chat/__tests__/code-block.test.d.ts +1 -0
- package/dist-lib/src/components/composed/chat/__tests__/composer-attachments.test.d.ts +1 -0
- package/dist-lib/src/components/composed/chat/__tests__/composer.test.d.ts +1 -0
- package/dist-lib/src/components/composed/chat/__tests__/flowchart.test.d.ts +1 -0
- package/dist-lib/src/components/composed/chat/__tests__/markdown.test.d.ts +1 -0
- package/dist-lib/src/components/composed/chat/actions.d.ts +2 -0
- package/dist-lib/src/components/composed/chat/attachment.d.ts +62 -0
- package/dist-lib/src/components/composed/chat/chart.d.ts +41 -0
- package/dist-lib/src/components/composed/chat/code-block.d.ts +26 -0
- package/dist-lib/src/components/composed/chat/composer/add-button.d.ts +5 -0
- package/dist-lib/src/components/composed/chat/composer/base.d.ts +8 -0
- package/dist-lib/src/components/composed/chat/composer/command-menu.d.ts +2 -0
- package/dist-lib/src/components/composed/chat/composer/hooks.d.ts +9 -0
- package/dist-lib/src/components/composed/chat/composer/index.d.ts +10 -0
- package/dist-lib/src/components/composed/chat/composer/send-button.d.ts +3 -0
- package/dist-lib/src/components/composed/chat/composer/suggestions.d.ts +7 -0
- package/dist-lib/src/components/composed/chat/composer/utils.d.ts +19 -0
- package/dist-lib/src/components/composed/chat/context-cards.d.ts +27 -0
- package/dist-lib/src/components/composed/chat/filter-table.d.ts +40 -0
- package/dist-lib/src/components/composed/chat/flowchart/chart-node.d.ts +2 -0
- package/dist-lib/src/components/composed/chat/flowchart/connector.d.ts +2 -0
- package/dist-lib/src/components/composed/chat/flowchart/constant.d.ts +15 -0
- package/dist-lib/src/components/composed/chat/flowchart/default.d.ts +7 -0
- package/dist-lib/src/components/composed/chat/flowchart/edge-toolbar.d.ts +9 -0
- package/dist-lib/src/components/composed/chat/flowchart/hooks.d.ts +290 -0
- package/dist-lib/src/components/composed/chat/flowchart/index.d.ts +11 -0
- package/dist-lib/src/components/composed/chat/flowchart/step-body.d.ts +6 -0
- package/dist-lib/src/components/composed/chat/flowchart/types.d.ts +91 -0
- package/dist-lib/src/components/composed/chat/flowchart/utils.d.ts +64 -0
- package/dist-lib/src/components/composed/chat/hint.d.ts +6 -0
- package/dist-lib/src/components/composed/chat/index.d.ts +15 -0
- package/dist-lib/src/components/composed/chat/insight-cards.d.ts +54 -0
- package/dist-lib/src/components/composed/chat/markdown-atom.d.ts +7 -0
- package/dist-lib/src/components/composed/chat/markdown.d.ts +22 -0
- package/dist-lib/src/components/composed/chat/recommendation/checkbox.d.ts +15 -0
- package/dist-lib/src/components/composed/chat/recommendation/constant.d.ts +6 -0
- package/dist-lib/src/components/composed/chat/recommendation/default.d.ts +7 -0
- package/dist-lib/src/components/composed/chat/recommendation/group.d.ts +8 -0
- package/dist-lib/src/components/composed/chat/recommendation/index.d.ts +15 -0
- package/dist-lib/src/components/composed/chat/recommendation/item.d.ts +12 -0
- package/dist-lib/src/components/composed/chat/recommendation/types.d.ts +53 -0
- package/dist-lib/src/components/composed/chat/records-table.d.ts +38 -0
- package/dist-lib/src/components/composed/chat/type.d.ts +86 -0
- package/dist-lib/src/components/composed/code-block.story.d.ts +3 -0
- package/dist-lib/src/components/composed/context-cards.story.d.ts +3 -0
- package/dist-lib/src/components/composed/emoji-action-bar.story.d.ts +3 -0
- package/dist-lib/src/components/composed/filter-table.story.d.ts +7 -0
- package/dist-lib/src/components/composed/flowchart.story.d.ts +3 -0
- package/dist-lib/src/components/composed/insight-cards.story.d.ts +3 -0
- package/dist-lib/src/components/composed/logo.story.d.ts +3 -0
- package/dist-lib/src/components/composed/markdown.story.d.ts +3 -0
- package/dist-lib/src/components/composed/password-input.story.d.ts +7 -0
- package/dist-lib/src/components/composed/reader/applied-mark.d.ts +3 -0
- package/dist-lib/src/components/composed/reader/apply-toast.d.ts +3 -0
- package/dist-lib/src/components/composed/reader/index.d.ts +7 -0
- package/dist-lib/src/components/composed/reader/selection-highlight.d.ts +3 -0
- package/dist-lib/src/components/composed/reader/selection-popover.d.ts +9 -0
- package/dist-lib/src/components/composed/reader/type.d.ts +40 -0
- package/dist-lib/src/components/composed/recommendation-card.story.d.ts +3 -0
- package/dist-lib/src/components/composed/records-table.story.d.ts +3 -0
- package/dist-lib/src/components/composed/research-answer.story.d.ts +3 -0
- package/dist-lib/src/components/composed/social-providers.story.d.ts +3 -0
- package/dist-lib/src/components/composed/streaming-text.story.d.ts +3 -0
- package/dist-lib/src/components/composed/tree/__tests__/tree-atom.test.d.ts +1 -0
- package/dist-lib/src/components/composed/tree/__tests__/tree.test.d.ts +1 -0
- package/dist-lib/src/components/composed/tree/__tests__/use-tree.test.d.ts +1 -0
- package/dist-lib/src/components/composed/tree.story.d.ts +6 -0
- package/dist-lib/src/components/composed/user/index.d.ts +11 -0
- package/dist-lib/src/components/composed/user/info.d.ts +12 -0
- package/dist-lib/src/components/composed/user/message.d.ts +3 -0
- package/dist-lib/src/components/composed/user/pill.d.ts +10 -0
- package/dist-lib/src/components/composed/user/types.d.ts +20 -0
- package/dist-lib/src/components/composed/user/utils.d.ts +1 -0
- package/dist-lib/src/components/composed/user.story.d.ts +8 -0
- package/dist-lib/src/components/composed/verse/__tests__/verse.test.d.ts +1 -0
- package/dist-lib/src/components/composed/verse/index.d.ts +2 -0
- package/dist-lib/src/components/composed/verse/types.d.ts +18 -0
- package/dist-lib/src/components/composed/verse/verse.d.ts +5 -0
- package/dist-lib/src/components/composed/verse.story.d.ts +3 -0
- package/dist-lib/src/components/docs/atoms-gallery.d.ts +3 -0
- package/dist-lib/{components → src/components}/docs/demo-controls.d.ts +3 -10
- package/dist-lib/src/components/docs/hero.d.ts +5 -0
- package/dist-lib/src/components/docs/mermaid.d.ts +3 -0
- package/dist-lib/src/components/icons/__tests__/icons.test.d.ts +1 -0
- package/dist-lib/src/components/motion/index.d.ts +1 -0
- package/dist-lib/src/components/ui/accordion.d.ts +7 -0
- package/dist-lib/src/components/ui/alert-dialog.d.ts +20 -0
- package/dist-lib/src/components/ui/alert.d.ts +10 -0
- package/dist-lib/src/components/ui/autocomplete.d.ts +34 -0
- package/dist-lib/src/components/ui/avatar.d.ts +11 -0
- package/dist-lib/src/components/ui/avatar.story.d.ts +7 -0
- package/dist-lib/src/components/ui/badge.d.ts +14 -0
- package/dist-lib/src/components/ui/bubble.story.d.ts +7 -0
- package/dist-lib/{components → src/components}/ui/button.d.ts +1 -1
- package/dist-lib/src/components/ui/button.story.d.ts +8 -0
- package/dist-lib/src/components/ui/card.story.d.ts +9 -0
- package/dist-lib/src/components/ui/chat/__tests__/segmented-toggle.test.d.ts +1 -0
- package/dist-lib/src/components/ui/chat/avatar-handle.d.ts +13 -0
- package/dist-lib/src/components/ui/chat/badges.d.ts +29 -0
- package/dist-lib/src/components/ui/chat/buttons.d.ts +29 -0
- package/dist-lib/src/components/ui/chat/chips.d.ts +48 -0
- package/dist-lib/src/components/ui/chat/dot.d.ts +30 -0
- package/dist-lib/src/components/ui/chat/icon-button.d.ts +18 -0
- package/dist-lib/src/components/ui/chat/icon-tile.d.ts +20 -0
- package/dist-lib/src/components/ui/chat/index.d.ts +12 -0
- package/dist-lib/src/components/ui/chat/inline-source.d.ts +20 -0
- package/dist-lib/src/components/ui/chat/segmented-toggle.d.ts +20 -0
- package/dist-lib/src/components/ui/chat/tag.d.ts +21 -0
- package/dist-lib/src/components/ui/chat/thumbnail.d.ts +13 -0
- package/dist-lib/src/components/ui/chat/waveform.d.ts +13 -0
- package/dist-lib/src/components/ui/chat-atoms.story.d.ts +22 -0
- package/dist-lib/src/components/ui/checkbox.story.d.ts +7 -0
- package/dist-lib/src/components/ui/collapsible.d.ts +6 -0
- package/dist-lib/src/components/ui/command.d.ts +25 -0
- package/dist-lib/src/components/ui/context-menu.d.ts +42 -0
- package/dist-lib/src/components/ui/emoji-picker.d.ts +7 -0
- package/dist-lib/src/components/ui/field.story.d.ts +7 -0
- package/dist-lib/src/components/ui/file-icons.story.d.ts +7 -0
- package/dist-lib/src/components/ui/frame.story.d.ts +9 -0
- package/dist-lib/{components → src/components}/ui/glasscn/glass-container.d.ts +7 -2
- package/dist-lib/src/components/ui/input-group.story.d.ts +7 -0
- package/dist-lib/src/components/ui/input.story.d.ts +9 -0
- package/dist-lib/src/components/ui/kbd.d.ts +3 -0
- package/dist-lib/src/components/ui/label.story.d.ts +9 -0
- package/dist-lib/src/components/ui/menu-command.d.ts +37 -0
- package/dist-lib/src/components/ui/menu-command.story.d.ts +7 -0
- package/dist-lib/src/components/ui/otp-field.story.d.ts +9 -0
- package/dist-lib/src/components/ui/password-input.story.d.ts +3 -0
- package/dist-lib/src/components/ui/popover-glass.d.ts +32 -0
- package/dist-lib/src/components/ui/popover.d.ts +18 -0
- package/dist-lib/src/components/ui/preview-card.d.ts +11 -0
- package/dist-lib/src/components/ui/reference.story.d.ts +10 -0
- package/dist-lib/src/components/ui/scroll-area.d.ts +11 -0
- package/dist-lib/{components → src/components}/ui/select.d.ts +1 -1
- package/dist-lib/src/components/ui/separator.story.d.ts +7 -0
- package/dist-lib/src/components/ui/tabs.d.ts +15 -0
- package/dist-lib/src/components/ui/text.story.d.ts +9 -0
- package/dist-lib/src/components/ui/textarea.story.d.ts +7 -0
- package/dist-lib/src/components/ui/toast.d.ts +15 -0
- package/dist-lib/src/components/ui/toolbar.d.ts +9 -0
- package/dist-lib/src/components/ui/tooltip.d.ts +14 -0
- package/dist-lib/{index.d.ts → src/index.d.ts} +13 -4
- package/dist-lib/{lib → src/lib}/ease.d.ts +9 -0
- package/dist-lib/src/lib/hooks/use-mobile.d.ts +1 -0
- package/dist-lib/src/lib/keyed-atom.d.ts +14 -0
- package/dist-lib/src/lib/segmented-control.d.ts +8 -0
- package/dist-lib/src/lib/utils.test.d.ts +1 -0
- package/package.json +40 -21
- package/src/assets/css/base.css +62 -0
- package/src/assets/css/chat.css +229 -0
- package/src/assets/css/shadows.css +157 -0
- package/src/assets/css/theme.css +321 -0
- package/src/components/AGENTS.md +0 -0
- package/src/components/atoms/_layout.tsx +9 -0
- package/src/components/atoms/avatar/base.tsx +70 -0
- package/src/components/atoms/avatar/index.ts +3 -0
- package/src/components/atoms/avatar/types.ts +24 -0
- package/src/components/atoms/avatar/utils.ts +54 -0
- package/src/components/atoms/avatar/verified.tsx +16 -0
- package/src/components/atoms/background/index.ts +8 -0
- package/src/components/atoms/background/texture.tsx +29 -0
- package/src/components/atoms/background/type.ts +10 -0
- package/src/components/atoms/background/utils.ts +13 -0
- package/src/components/atoms/bubble/__tests__/bubble.test.tsx +138 -0
- package/src/components/atoms/bubble/__tests__/reference.test.tsx +25 -0
- package/src/components/atoms/bubble/actions.tsx +28 -0
- package/src/components/atoms/bubble/context.ts +11 -0
- package/src/components/atoms/bubble/default.tsx +46 -0
- package/src/components/atoms/bubble/header.tsx +34 -0
- package/src/components/atoms/bubble/index.ts +37 -0
- package/src/components/atoms/bubble/message.tsx +25 -0
- package/src/components/atoms/bubble/reactions.tsx +194 -0
- package/src/components/atoms/bubble/types.ts +79 -0
- package/src/components/atoms/bubble/utils.ts +46 -0
- package/src/components/atoms/chip.tsx +61 -0
- package/src/components/atoms/index.ts +52 -0
- package/src/components/atoms/loader.tsx +42 -0
- package/src/components/atoms/reference.tsx +41 -0
- package/src/components/atoms/text/__tests__/text.test.tsx +47 -0
- package/src/components/atoms/text/default.tsx +59 -0
- package/src/components/atoms/text/heading.tsx +61 -0
- package/src/components/atoms/text/index.ts +24 -0
- package/src/components/atoms/text/label.tsx +16 -0
- package/src/components/atoms/text/paragraph.tsx +58 -0
- package/src/components/atoms/text/span.tsx +15 -0
- package/src/components/atoms/text/types.ts +31 -0
- package/src/components/atoms/text/utils.ts +16 -0
- package/src/components/atoms/text-selection/__tests__/click-popover.test.tsx +61 -0
- package/src/components/atoms/text-selection/__tests__/text-selection.test.tsx +90 -0
- package/src/components/atoms/text-selection/click-popover.tsx +62 -0
- package/src/components/atoms/text-selection/index.ts +30 -0
- package/src/components/atoms/text-selection/popover.tsx +100 -0
- package/src/components/atoms/text-selection/selection-atom.ts +51 -0
- package/src/components/atoms/text-selection/selection.tsx +56 -0
- package/src/components/atoms/text-selection/types.ts +125 -0
- package/src/components/atoms/text-selection/use-selection.ts +84 -0
- package/src/components/atoms/types.ts +18 -0
- package/src/components/blocks/auth/__tests__/auth-flow-block.test.tsx +1 -1
- package/src/components/blocks/auth/__tests__/auth-state-atom.test.tsx +1 -1
- package/src/components/blocks/auth/auth-flow-block.story.tsx +17 -0
- package/src/components/blocks/auth/code-auth-block.story.tsx +20 -0
- package/src/components/blocks/auth/forgot-password-block.story.tsx +14 -0
- package/src/components/blocks/auth/linked-accounts-block.story.tsx +23 -0
- package/src/components/blocks/auth/linked-accounts-block.tsx +1 -1
- package/src/components/blocks/auth/login-block.story.tsx +18 -0
- package/src/components/blocks/auth/onboarding/profile-step.tsx +1 -1
- package/src/components/blocks/auth/onboarding-block.story.tsx +14 -0
- package/src/components/blocks/auth/passkey-manager-block.story.tsx +18 -0
- package/src/components/blocks/auth/passkey-manager-block.tsx +2 -2
- package/src/components/blocks/auth/passkey-sign-in-block.story.tsx +14 -0
- package/src/components/blocks/auth/signup-block.story.tsx +18 -0
- package/src/components/blocks/auth/update-password-block.story.tsx +14 -0
- package/src/components/blocks/chat/__tests__/ai-panel.test.tsx +65 -0
- package/src/components/blocks/chat/banners.tsx +69 -0
- package/src/components/blocks/chat/base.story.tsx +19 -0
- package/src/components/blocks/chat/base.tsx +84 -0
- package/src/components/blocks/chat/header.tsx +60 -0
- package/src/components/blocks/chat/index.ts +39 -0
- package/src/components/blocks/chat/recommendation-stack.tsx +43 -0
- package/src/components/blocks/chat/shared.tsx +27 -0
- package/src/components/blocks/chat/suggested-prompts.tsx +45 -0
- package/src/components/blocks/chat/types.ts +81 -0
- package/src/components/blocks/chat/version-history-record.tsx +37 -0
- package/src/components/blocks/nav/sidebar/__tests__/ai-sidebar-atom.test.tsx +1 -1
- package/src/components/blocks/nav/sidebar/sidebar-row.tsx +2 -2
- package/src/components/blocks/nav/sidebar/use-ai-sidebar.ts +193 -190
- package/src/components/blocks/profile/__tests__/profile-card-block.test.tsx +208 -176
- package/src/components/blocks/profile/profile-card-block.story.tsx +18 -0
- package/src/components/blocks/profile/profile-card-block.tsx +15 -17
- package/src/components/blocks/profile/type.ts +3 -5
- package/src/components/blocks/profile/use-profile-card.ts +17 -11
- package/src/components/blocks/scaffold/scaffold-canvas.tsx +4 -1
- package/src/components/blocks/scaffold/scaffold-root.story.tsx +36 -0
- package/src/components/blocks/scaffold/scaffold-root.tsx +9 -6
- package/src/components/blocks/scaffold/utils.ts +1 -1
- package/src/components/blocks/shell/__tests__/shell-fit-atom.test.tsx +4 -4
- package/src/components/blocks/shell/__tests__/shell-layout.test.tsx +3 -3
- package/src/components/blocks/shell/animated-panel-inset.tsx +1 -1
- package/src/components/blocks/shell/shell-layout.story.tsx +19 -0
- package/src/components/blocks/shell/shell-layout.tsx +1 -1
- package/src/components/blocks/shell/use-shell-fit-state.ts +2 -2
- package/src/components/blocks/shell/use-shell-fit.ts +2 -2
- package/src/components/blocks/shell/use-shell-panels.ts +3 -3
- package/src/components/composed/action-bar/__tests__/action-bar.test.tsx +96 -0
- package/src/components/composed/action-bar/action.tsx +80 -0
- package/src/components/composed/action-bar/emojis.tsx +97 -0
- package/src/components/composed/action-bar/index.ts +24 -0
- package/src/components/composed/action-bar/toolbar.tsx +60 -0
- package/src/components/composed/action-bar/types.ts +58 -0
- package/src/components/composed/action-bar/utils.ts +141 -0
- package/src/components/composed/ai/__tests__/ai.test.tsx +67 -0
- package/src/components/composed/ai/avatar.tsx +20 -0
- package/src/components/composed/ai/index.ts +36 -0
- package/src/components/composed/ai/message.tsx +49 -0
- package/src/components/composed/ai/research-answer.tsx +157 -0
- package/src/components/composed/ai/shared.tsx +94 -0
- package/src/components/composed/ai/streaming-text.tsx +94 -0
- package/src/components/composed/ai/suggested-prompt.tsx +183 -0
- package/src/components/composed/ai/types.ts +81 -0
- package/src/components/composed/attachment.story.tsx +52 -0
- package/src/components/composed/chart.story.tsx +46 -0
- package/src/components/composed/chat/__tests__/attachment.test.tsx +45 -0
- package/src/components/composed/chat/__tests__/beautiful-ui.test.tsx +57 -0
- package/src/components/composed/chat/__tests__/chart.test.tsx +29 -0
- package/src/components/composed/chat/__tests__/code-block.test.tsx +12 -0
- package/src/components/composed/chat/__tests__/composer-attachments.test.tsx +53 -0
- package/src/components/composed/chat/__tests__/composer.test.tsx +81 -0
- package/src/components/composed/chat/__tests__/flowchart.test.tsx +132 -0
- package/src/components/composed/chat/__tests__/markdown.test.tsx +25 -0
- package/src/components/composed/chat/actions.tsx +81 -0
- package/src/components/composed/chat/attachment.tsx +228 -0
- package/src/components/composed/chat/chart.tsx +193 -0
- package/src/components/composed/chat/code-block.tsx +123 -0
- package/src/components/composed/chat/composer/add-button.tsx +22 -0
- package/src/components/composed/chat/composer/base.tsx +248 -0
- package/src/components/composed/chat/composer/command-menu.tsx +42 -0
- package/src/components/composed/chat/composer/hooks.ts +29 -0
- package/src/components/composed/chat/composer/index.ts +19 -0
- package/src/components/composed/chat/composer/send-button.tsx +44 -0
- package/src/components/composed/chat/composer/suggestions.tsx +115 -0
- package/src/components/composed/chat/composer/utils.ts +74 -0
- package/src/components/composed/chat/context-cards.tsx +63 -0
- package/src/components/composed/chat/filter-table.tsx +119 -0
- package/src/components/composed/chat/flowchart/chart-node.tsx +162 -0
- package/src/components/composed/chat/flowchart/connector.tsx +32 -0
- package/src/components/composed/chat/flowchart/constant.ts +26 -0
- package/src/components/composed/chat/flowchart/default.tsx +230 -0
- package/src/components/composed/chat/flowchart/edge-toolbar.tsx +73 -0
- package/src/components/composed/chat/flowchart/hooks.tsx +345 -0
- package/src/components/composed/chat/flowchart/index.ts +14 -0
- package/src/components/composed/chat/flowchart/step-body.tsx +82 -0
- package/src/components/composed/chat/flowchart/types.ts +89 -0
- package/src/components/composed/chat/flowchart/utils.ts +78 -0
- package/src/components/composed/chat/hint.tsx +59 -0
- package/src/components/composed/chat/index.ts +96 -0
- package/src/components/composed/chat/insight-cards.tsx +199 -0
- package/src/components/composed/chat/markdown-atom.ts +15 -0
- package/src/components/composed/chat/markdown.tsx +213 -0
- package/src/components/composed/chat/recommendation/checkbox.tsx +133 -0
- package/src/components/composed/chat/recommendation/constant.ts +25 -0
- package/src/components/composed/chat/recommendation/default.tsx +25 -0
- package/src/components/composed/chat/recommendation/group.tsx +43 -0
- package/src/components/composed/chat/recommendation/index.ts +19 -0
- package/src/components/composed/chat/recommendation/item.tsx +244 -0
- package/src/components/composed/chat/recommendation/types.ts +65 -0
- package/src/components/composed/chat/records-table.tsx +128 -0
- package/src/components/composed/chat/type.ts +126 -0
- package/src/components/composed/code-block.story.tsx +29 -0
- package/src/components/composed/context-cards.story.tsx +30 -0
- package/src/components/composed/emoji-action-bar.story.tsx +20 -0
- package/src/components/composed/filter-table.story.tsx +58 -0
- package/src/components/composed/flowchart.story.tsx +24 -0
- package/src/components/composed/insight-cards.story.tsx +51 -0
- package/src/components/composed/logo.story.tsx +21 -0
- package/src/components/composed/logo.tsx +24 -12
- package/src/components/composed/markdown.story.tsx +21 -0
- package/src/components/composed/password-input.story.tsx +38 -0
- package/src/components/composed/reader/applied-mark.tsx +32 -0
- package/src/components/composed/reader/apply-toast.tsx +49 -0
- package/src/components/composed/reader/index.ts +10 -0
- package/src/components/composed/reader/selection-highlight.tsx +26 -0
- package/src/components/composed/reader/selection-popover.tsx +149 -0
- package/src/components/composed/reader/type.ts +48 -0
- package/src/components/composed/recommendation-card.story.tsx +32 -0
- package/src/components/composed/records-table.story.tsx +46 -0
- package/src/components/composed/research-answer.story.tsx +32 -0
- package/src/components/composed/social-providers.story.tsx +24 -0
- package/src/components/composed/streaming-text.story.tsx +24 -0
- package/src/components/composed/tree/__tests__/tree-atom.test.tsx +1 -1
- package/src/components/composed/tree/__tests__/tree.test.tsx +1 -1
- package/src/components/composed/tree/tree-node.tsx +1 -1
- package/src/components/composed/tree/use-tree.ts +20 -16
- package/src/components/composed/tree.story.tsx +31 -0
- package/src/components/composed/user/index.ts +14 -0
- package/src/components/composed/user/info.tsx +48 -0
- package/src/components/composed/user/message.tsx +10 -0
- package/src/components/composed/user/pill.tsx +20 -0
- package/src/components/composed/user/types.ts +27 -0
- package/src/components/composed/user/utils.ts +0 -0
- package/src/components/composed/user.story.tsx +29 -0
- package/src/components/composed/verse/__tests__/verse.test.tsx +57 -0
- package/src/components/composed/verse/index.ts +2 -0
- package/src/components/composed/verse/types.ts +24 -0
- package/src/components/composed/verse/verse.tsx +100 -0
- package/src/components/composed/verse.story.tsx +21 -0
- package/src/components/docs/atoms-gallery.tsx +286 -0
- package/src/components/docs/code-block.tsx +2 -0
- package/src/components/docs/demo-controls.tsx +20 -20
- package/src/components/docs/hero.tsx +198 -0
- package/src/components/docs/mermaid.tsx +55 -0
- package/src/components/ui/accordion.tsx +68 -0
- package/src/components/ui/alert-dialog.tsx +167 -0
- package/src/components/ui/alert.tsx +84 -0
- package/src/components/ui/autocomplete.tsx +303 -0
- package/src/components/ui/avatar.story.tsx +33 -0
- package/src/components/ui/avatar.tsx +81 -24
- package/src/components/ui/badge.tsx +73 -24
- package/src/components/ui/bubble.story.tsx +45 -0
- package/src/components/ui/button-group.tsx +4 -4
- package/src/components/ui/button.story.tsx +62 -0
- package/src/components/ui/button.tsx +3 -3
- package/src/components/ui/card.story.tsx +36 -0
- package/src/components/ui/card.tsx +2 -2
- package/src/components/ui/chat/__tests__/segmented-toggle.test.tsx +27 -0
- package/src/components/ui/chat/avatar-handle.tsx +30 -0
- package/src/components/ui/chat/badges.tsx +85 -0
- package/src/components/ui/chat/buttons.tsx +94 -0
- package/src/components/ui/chat/chips.tsx +106 -0
- package/src/components/ui/chat/dot.tsx +81 -0
- package/src/components/ui/chat/icon-button.tsx +43 -0
- package/src/components/ui/chat/icon-tile.tsx +33 -0
- package/src/components/ui/chat/index.ts +12 -0
- package/src/components/ui/chat/inline-source.tsx +94 -0
- package/src/components/ui/chat/segmented-toggle.tsx +99 -0
- package/src/components/ui/chat/tag.tsx +61 -0
- package/src/components/ui/chat/thumbnail.tsx +31 -0
- package/src/components/ui/chat/waveform.tsx +30 -0
- package/src/components/ui/chat-atoms.story.tsx +94 -0
- package/src/components/ui/checkbox.story.tsx +30 -0
- package/src/components/ui/collapsible.tsx +42 -0
- package/src/components/ui/command.tsx +263 -0
- package/src/components/ui/context-menu.tsx +342 -0
- package/src/components/ui/emoji-picker.tsx +161 -0
- package/src/components/ui/field.story.tsx +32 -0
- package/src/components/ui/file-icons.story.tsx +24 -0
- package/src/components/ui/frame.story.tsx +32 -0
- package/src/components/ui/frame.tsx +2 -2
- package/src/components/ui/glasscn/glass-container.tsx +9 -3
- package/src/components/ui/glasscn/liquid-glass.tsx +5 -5
- package/src/components/ui/group.tsx +1 -1
- package/src/components/ui/input-group.story.tsx +27 -0
- package/src/components/ui/input-group.tsx +1 -1
- package/src/components/ui/input.story.tsx +42 -0
- package/src/components/ui/input.tsx +1 -1
- package/src/components/ui/kbd.tsx +32 -0
- package/src/components/ui/label.story.tsx +32 -0
- package/src/components/ui/menu-command.story.tsx +37 -0
- package/src/components/ui/menu-command.tsx +128 -0
- package/src/components/ui/otp-field.story.tsx +35 -0
- package/src/components/ui/otp-field.tsx +1 -1
- package/src/components/ui/password-input.story.tsx +19 -0
- package/src/components/ui/popover-glass.tsx +161 -0
- package/src/components/ui/popover.tsx +120 -0
- package/src/components/ui/preview-card.tsx +61 -0
- package/src/components/ui/reference.story.tsx +33 -0
- package/src/components/ui/scroll-area.tsx +80 -0
- package/src/components/ui/select.tsx +1 -1
- package/src/components/ui/separator.story.tsx +34 -0
- package/src/components/ui/tabs.tsx +120 -0
- package/src/components/ui/text.story.tsx +31 -0
- package/src/components/ui/textarea.story.tsx +34 -0
- package/src/components/ui/textarea.tsx +1 -1
- package/src/components/ui/toast.tsx +325 -0
- package/src/components/ui/toolbar.tsx +92 -0
- package/src/components/ui/tooltip.tsx +40 -39
- package/src/index.css +6 -250
- package/src/index.ts +25 -31
- package/src/lib/ease.ts +11 -0
- package/src/lib/hooks/use-mobile.ts +21 -0
- package/src/lib/keyed-atom.ts +60 -0
- package/src/lib/segmented-control.ts +42 -0
- package/src/{state → lib/state}/exegia-provider.tsx +5 -1
- package/src/lib/utils.ts +93 -1
- package/dist-lib/components/beste/piece/browser-frame.d.ts +0 -2
- package/dist-lib/components/beste/piece/type.d.ts +0 -9
- package/dist-lib/components/beste/piece/utils.d.ts +0 -3
- package/dist-lib/components/composed/user-avatar.d.ts +0 -7
- package/dist-lib/components/docs/component-preview.d.ts +0 -10
- package/dist-lib/components/docs/props-table.d.ts +0 -4
- package/dist-lib/components/ui/avatar.d.ts +0 -6
- package/dist-lib/components/ui/badge.d.ts +0 -7
- package/dist-lib/components/ui/tooltip.d.ts +0 -6
- package/dist-lib/components/user-avatar/audio-wave.d.ts +0 -2
- package/dist-lib/components/user-avatar/component.d.ts +0 -3
- package/dist-lib/components/user-avatar/fallback.d.ts +0 -5
- package/dist-lib/components/user-avatar/index.d.ts +0 -18
- package/dist-lib/components/user-avatar/presence-badge.d.ts +0 -16
- package/dist-lib/components/user-avatar/type.d.ts +0 -79
- package/dist-lib/components/user-avatar/use-user-avatar-state.d.ts +0 -26
- package/dist-lib/components/user-avatar/use-user-avatar.d.ts +0 -37
- package/dist-lib/components/user-avatar/user-avatar-atom.d.ts +0 -64
- package/dist-lib/components/user-avatar/utils.d.ts +0 -24
- package/src/components/beste/piece/browser-frame.tsx +0 -58
- package/src/components/beste/piece/type.ts +0 -11
- package/src/components/beste/piece/utils.ts +0 -21
- package/src/components/composed/__tests__/user-avatar.test.tsx +0 -85
- package/src/components/composed/user-avatar.tsx +0 -13
- package/src/components/docs/component-preview.tsx +0 -34
- package/src/components/docs/props-table.tsx +0 -35
- package/src/components/user-avatar/__tests__/user-avatar.test.tsx +0 -286
- package/src/components/user-avatar/audio-wave.tsx +0 -22
- package/src/components/user-avatar/component.tsx +0 -182
- package/src/components/user-avatar/fallback.tsx +0 -28
- package/src/components/user-avatar/index.ts +0 -34
- package/src/components/user-avatar/presence-badge.tsx +0 -56
- package/src/components/user-avatar/type.ts +0 -93
- package/src/components/user-avatar/use-user-avatar-state.ts +0 -60
- package/src/components/user-avatar/use-user-avatar.ts +0 -180
- package/src/components/user-avatar/user-avatar-atom.ts +0 -218
- package/src/components/user-avatar/utils.ts +0 -102
- /package/dist-lib/{components/blocks/auth/__tests__/auth-flow-block.test.d.ts → src/components/atoms/bubble/__tests__/bubble.test.d.ts} +0 -0
- /package/dist-lib/{components/blocks/auth/__tests__/auth-state-atom.test.d.ts → src/components/atoms/bubble/__tests__/reference.test.d.ts} +0 -0
- /package/dist-lib/{components/blocks/auth/__tests__/passkey-manager-block.test.d.ts → src/components/atoms/text/__tests__/text.test.d.ts} +0 -0
- /package/dist-lib/{components/blocks/auth/__tests__/linked-accounts-block.test.d.ts → src/components/atoms/text-selection/__tests__/click-popover.test.d.ts} +0 -0
- /package/dist-lib/{components/blocks/auth/__tests__/onboarding-block.test.d.ts → src/components/atoms/text-selection/__tests__/text-selection.test.d.ts} +0 -0
- /package/dist-lib/{components/blocks/auth/__tests__/passkey-sign-in-block.test.d.ts → src/components/blocks/auth/__tests__/auth-flow-block.test.d.ts} +0 -0
- /package/dist-lib/{components/blocks/auth/__tests__/signup-block.test.d.ts → src/components/blocks/auth/__tests__/auth-state-atom.test.d.ts} +0 -0
- /package/dist-lib/{components/blocks/auth/__tests__/update-password-block.test.d.ts → src/components/blocks/auth/__tests__/linked-accounts-block.test.d.ts} +0 -0
- /package/dist-lib/{components/blocks/nav/sidebar/__tests__/ai-sidebar-atom.test.d.ts → src/components/blocks/auth/__tests__/onboarding-block.test.d.ts} +0 -0
- /package/dist-lib/{components/blocks/nav/sidebar/__tests__/ai-sidebar.test.d.ts → src/components/blocks/auth/__tests__/passkey-manager-block.test.d.ts} +0 -0
- /package/dist-lib/{components/blocks/nav/sidebar/__tests__/use-ai-sidebar.test.d.ts → src/components/blocks/auth/__tests__/passkey-sign-in-block.test.d.ts} +0 -0
- /package/dist-lib/{components/blocks/profile/__tests__/profile-card-block.test.d.ts → src/components/blocks/auth/__tests__/signup-block.test.d.ts} +0 -0
- /package/dist-lib/{components/blocks/scaffold/__tests__/scaffold-atom.test.d.ts → src/components/blocks/auth/__tests__/update-password-block.test.d.ts} +0 -0
- /package/dist-lib/{components → src/components}/blocks/auth/auth-flow-atom.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/auth/auth-flow-block.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/auth/auth-session-atom.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/auth/auth-shell.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/auth/auth-state-type.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/auth/auth-state.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/auth/code-auth-block.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/auth/forgot-password-block.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/auth/linked-accounts-block.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/auth/login-block.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/auth/onboarding/profile-step.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/auth/onboarding-block.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/auth/passkey-manager-block.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/auth/passkey-sign-in-block.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/auth/signup-block.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/auth/update-password-block.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/auth/use-auth-state.d.ts +0 -0
- /package/dist-lib/{components/blocks/scaffold/__tests__/scaffold.test.d.ts → src/components/blocks/chat/__tests__/ai-panel.test.d.ts} +0 -0
- /package/dist-lib/{components → src/components}/blocks/layout.d.ts +0 -0
- /package/dist-lib/{components/blocks/shell/__tests__/shell-fit-atom.test.d.ts → src/components/blocks/nav/sidebar/__tests__/ai-sidebar-atom.test.d.ts} +0 -0
- /package/dist-lib/{components/blocks/shell/__tests__/shell-layout.test.d.ts → src/components/blocks/nav/sidebar/__tests__/ai-sidebar.test.d.ts} +0 -0
- /package/dist-lib/{components/blocks/shell/__tests__/shell-metrics.test.d.ts → src/components/blocks/nav/sidebar/__tests__/use-ai-sidebar.test.d.ts} +0 -0
- /package/dist-lib/{components → src/components}/blocks/nav/sidebar/ai-sidebar-atom.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/nav/sidebar/ai-sidebar.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/nav/sidebar/index.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/nav/sidebar/marquee-label.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/nav/sidebar/sidebar-context.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/nav/sidebar/sidebar-icon.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/nav/sidebar/sidebar-row.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/nav/sidebar/type.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/nav/sidebar/use-ai-sidebar-state.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/nav/sidebar/use-ai-sidebar.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/nav/sidebar/utils.d.ts +0 -0
- /package/dist-lib/{components/composed/__tests__/logo.test.d.ts → src/components/blocks/profile/__tests__/profile-card-block.test.d.ts} +0 -0
- /package/dist-lib/{components → src/components}/blocks/profile/index.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/profile/profile-card-atom.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/profile/use-profile-card-state.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/profile/use-profile-card.d.ts +0 -0
- /package/dist-lib/{components/composed/__tests__/user-avatar.test.d.ts → src/components/blocks/scaffold/__tests__/scaffold-atom.test.d.ts} +0 -0
- /package/dist-lib/{components/composed/tree/__tests__/tree-atom.test.d.ts → src/components/blocks/scaffold/__tests__/scaffold.test.d.ts} +0 -0
- /package/dist-lib/{components → src/components}/blocks/scaffold/constants.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/scaffold/index.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/scaffold/panel-close-button.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/scaffold/panel-menu-button.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/scaffold/scaffold-actions.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/scaffold/scaffold-atom.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/scaffold/scaffold-canvas.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/scaffold/scaffold-context.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/scaffold/scaffold-inspector.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/scaffold/scaffold-main.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/scaffold/scaffold-panel.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/scaffold/scaffold-root.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/scaffold/scaffold-sidebar.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/scaffold/scaffold-sub-panel.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/scaffold/scaffold-tab.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/scaffold/type.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/scaffold/use-scaffold-state.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/scaffold/use-scaffold.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/scaffold/utils.d.ts +0 -0
- /package/dist-lib/{components/composed/tree/__tests__/tree.test.d.ts → src/components/blocks/shell/__tests__/shell-fit-atom.test.d.ts} +0 -0
- /package/dist-lib/{components/composed/tree/__tests__/use-tree.test.d.ts → src/components/blocks/shell/__tests__/shell-layout.test.d.ts} +0 -0
- /package/dist-lib/{components/icons/__tests__/icons.test.d.ts → src/components/blocks/shell/__tests__/shell-metrics.test.d.ts} +0 -0
- /package/dist-lib/{components → src/components}/blocks/shell/animated-panel-inset.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/shell/animated-panel-provider.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/shell/animated-panel-trigger.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/shell/animated-panel.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/shell/index.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/shell/shell-fit-atom.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/shell/shell-layout.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/shell/shell-metrics.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/shell/type.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/shell/use-shell-fit-state.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/shell/use-shell-fit.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/shell/use-shell-panels.d.ts +0 -0
- /package/dist-lib/{components → src/components}/blocks/shell/utils.d.ts +0 -0
- /package/dist-lib/{components/motion/index.d.ts → src/components/composed/__tests__/logo.test.d.ts} +0 -0
- /package/dist-lib/{components/user-avatar/__tests__/user-avatar.test.d.ts → src/components/composed/action-bar/__tests__/action-bar.test.d.ts} +0 -0
- /package/dist-lib/{lib/utils.test.d.ts → src/components/composed/ai/__tests__/ai.test.d.ts} +0 -0
- /package/dist-lib/{components → src/components}/composed/logo.d.ts +0 -0
- /package/dist-lib/{components → src/components}/composed/password-input.d.ts +0 -0
- /package/dist-lib/{components → src/components}/composed/social-providers.d.ts +0 -0
- /package/dist-lib/{components → src/components}/composed/tree/constants.d.ts +0 -0
- /package/dist-lib/{components → src/components}/composed/tree/index.d.ts +0 -0
- /package/dist-lib/{components → src/components}/composed/tree/tree-atom.d.ts +0 -0
- /package/dist-lib/{components → src/components}/composed/tree/tree-context.d.ts +0 -0
- /package/dist-lib/{components → src/components}/composed/tree/tree-node.d.ts +0 -0
- /package/dist-lib/{components → src/components}/composed/tree/tree.d.ts +0 -0
- /package/dist-lib/{components → src/components}/composed/tree/type.d.ts +0 -0
- /package/dist-lib/{components → src/components}/composed/tree/use-tree-dnd.d.ts +0 -0
- /package/dist-lib/{components → src/components}/composed/tree/use-tree-state.d.ts +0 -0
- /package/dist-lib/{components → src/components}/composed/tree/use-tree.d.ts +0 -0
- /package/dist-lib/{components → src/components}/composed/tree/utils.d.ts +0 -0
- /package/dist-lib/{components → src/components}/docs/code-block.d.ts +0 -0
- /package/dist-lib/{components → src/components}/icons/file-badge-cfm.d.ts +0 -0
- /package/dist-lib/{components → src/components}/icons/file-badge-corpus.d.ts +0 -0
- /package/dist-lib/{components → src/components}/icons/file-badge-pdf.d.ts +0 -0
- /package/dist-lib/{components → src/components}/icons/file-badge-tei.d.ts +0 -0
- /package/dist-lib/{components → src/components}/icons/file-badge-tf.d.ts +0 -0
- /package/dist-lib/{components → src/components}/icons/file-badge-txt.d.ts +0 -0
- /package/dist-lib/{components → src/components}/icons/file-badge-xml.d.ts +0 -0
- /package/dist-lib/{components → src/components}/icons/file-wordmark-cfm.d.ts +0 -0
- /package/dist-lib/{components → src/components}/icons/file-wordmark-corpus.d.ts +0 -0
- /package/dist-lib/{components → src/components}/icons/file-wordmark-pdf.d.ts +0 -0
- /package/dist-lib/{components → src/components}/icons/file-wordmark-tei.d.ts +0 -0
- /package/dist-lib/{components → src/components}/icons/file-wordmark-tf.d.ts +0 -0
- /package/dist-lib/{components → src/components}/icons/file-wordmark-txt.d.ts +0 -0
- /package/dist-lib/{components → src/components}/icons/file-wordmark-xml.d.ts +0 -0
- /package/dist-lib/{components → src/components}/icons/index.d.ts +0 -0
- /package/dist-lib/{components → src/components}/icons/types.d.ts +0 -0
- /package/dist-lib/{components → src/components}/motion/overflow-actions.d.ts +0 -0
- /package/dist-lib/{components → src/components}/motion/popover-morph.d.ts +0 -0
- /package/dist-lib/{components → src/components}/motion/popover-position.d.ts +0 -0
- /package/dist-lib/{components → src/components}/motion/shared-layout-bg.d.ts +0 -0
- /package/dist-lib/{components → src/components}/theme-provider.d.ts +0 -0
- /package/dist-lib/{components → src/components}/ui/button-group.d.ts +0 -0
- /package/dist-lib/{components → src/components}/ui/card.d.ts +0 -0
- /package/dist-lib/{components → src/components}/ui/checkbox.d.ts +0 -0
- /package/dist-lib/{components → src/components}/ui/field.d.ts +0 -0
- /package/dist-lib/{components → src/components}/ui/frame.d.ts +0 -0
- /package/dist-lib/{components → src/components}/ui/glasscn/glass-button-group.d.ts +0 -0
- /package/dist-lib/{components → src/components}/ui/glasscn/glass-button.d.ts +0 -0
- /package/dist-lib/{components → src/components}/ui/glasscn/glass-separator.d.ts +0 -0
- /package/dist-lib/{components → src/components}/ui/glasscn/liquid-glass.d.ts +0 -0
- /package/dist-lib/{components → src/components}/ui/group.d.ts +0 -0
- /package/dist-lib/{components → src/components}/ui/input-group.d.ts +0 -0
- /package/dist-lib/{components → src/components}/ui/input.d.ts +0 -0
- /package/dist-lib/{components → src/components}/ui/label.d.ts +0 -0
- /package/dist-lib/{components → src/components}/ui/menu.d.ts +0 -0
- /package/dist-lib/{components → src/components}/ui/otp-field.d.ts +0 -0
- /package/dist-lib/{components → src/components}/ui/separator.d.ts +0 -0
- /package/dist-lib/{components → src/components}/ui/sheet.d.ts +0 -0
- /package/dist-lib/{components → src/components}/ui/skeleton.d.ts +0 -0
- /package/dist-lib/{components → src/components}/ui/spinner.d.ts +0 -0
- /package/dist-lib/{components → src/components}/ui/switch.d.ts +0 -0
- /package/dist-lib/{components → src/components}/ui/textarea.d.ts +0 -0
- /package/dist-lib/{lib → src/lib}/auth-accent.d.ts +0 -0
- /package/dist-lib/{lib → src/lib}/glass-variants.d.ts +0 -0
- /package/dist-lib/{lib → src/lib}/hooks/use-hover-capable.d.ts +0 -0
- /package/dist-lib/{lib → src/lib}/sound.d.ts +0 -0
- /package/dist-lib/{state → src/lib/state}/exegia-provider.d.ts +0 -0
- /package/dist-lib/{state → src/lib/state}/index.d.ts +0 -0
- /package/dist-lib/{state → src/lib/state}/store.d.ts +0 -0
- /package/dist-lib/{lib → src/lib}/utils.d.ts +0 -0
- /package/src/{state → lib/state}/index.ts +0 -0
- /package/src/{state → lib/state}/store.ts +0 -0
package/src/index.css
CHANGED
|
@@ -1,252 +1,8 @@
|
|
|
1
|
-
@import "
|
|
2
|
-
@import "
|
|
3
|
-
@import "
|
|
4
|
-
@import "
|
|
1
|
+
@import "./assets/css/theme.css";
|
|
2
|
+
@import "./assets/css/base.css";
|
|
3
|
+
@import "./assets/css/shadows.css";
|
|
4
|
+
@import "./assets/css/chat.css";
|
|
5
|
+
|
|
5
6
|
@import "@fontsource-variable/inter";
|
|
6
7
|
@import "@fontsource-variable/figtree";
|
|
7
|
-
@import "motion-icons-react/style.css";
|
|
8
|
-
|
|
9
|
-
@custom-variant dark (&:is(.dark *));
|
|
10
|
-
|
|
11
|
-
:root {
|
|
12
|
-
/* Let width/height tween between auto and fixed values (e.g. a button
|
|
13
|
-
toggling to an icon-only size). Progressive enhancement: browsers
|
|
14
|
-
without support keep the instant jump. */
|
|
15
|
-
interpolate-size: allow-keywords;
|
|
16
|
-
--background: oklch(1 0 0);
|
|
17
|
-
--foreground: oklch(0.145 0 0);
|
|
18
|
-
--card: oklch(1 0 0);
|
|
19
|
-
--card-foreground: oklch(0.145 0 0);
|
|
20
|
-
--popover: oklch(1 0 0);
|
|
21
|
-
--popover-foreground: oklch(0.145 0 0);
|
|
22
|
-
--primary: oklch(0.457 0.24 277.023);
|
|
23
|
-
--primary-foreground: oklch(0.962 0.018 272.314);
|
|
24
|
-
--secondary: oklch(0.967 0.001 286.375);
|
|
25
|
-
--secondary-foreground: oklch(0.21 0.006 285.885);
|
|
26
|
-
--muted: oklch(0.97 0 0);
|
|
27
|
-
--muted-foreground: oklch(0.556 0 0);
|
|
28
|
-
--accent: oklch(0.97 0 0);
|
|
29
|
-
--accent-foreground: oklch(0.205 0 0);
|
|
30
|
-
--destructive: oklch(0.577 0.245 27.325);
|
|
31
|
-
--border: oklch(0.922 0 0);
|
|
32
|
-
--input: oklch(0.922 0 0);
|
|
33
|
-
--ring: oklch(0.708 0 0);
|
|
34
|
-
--chart-1: oklch(0.811 0.111 293.571);
|
|
35
|
-
--chart-2: oklch(0.606 0.25 292.717);
|
|
36
|
-
--chart-3: oklch(0.541 0.281 293.009);
|
|
37
|
-
--chart-4: oklch(0.491 0.27 292.581);
|
|
38
|
-
--chart-5: oklch(0.432 0.232 292.759);
|
|
39
|
-
--radius: 0.875rem;
|
|
40
|
-
--sidebar: oklch(0.985 0 0);
|
|
41
|
-
--sidebar-foreground: oklch(0.145 0 0);
|
|
42
|
-
--sidebar-primary: oklch(0.511 0.262 276.966);
|
|
43
|
-
--sidebar-primary-foreground: oklch(0.962 0.018 272.314);
|
|
44
|
-
--sidebar-accent: oklch(0.97 0 0);
|
|
45
|
-
--sidebar-accent-foreground: oklch(0.205 0 0);
|
|
46
|
-
--sidebar-border: oklch(0.922 0 0);
|
|
47
|
-
--sidebar-ring: oklch(0.708 0 0);
|
|
48
|
-
--destructive-foreground: var(--color-red-700);
|
|
49
|
-
--info: var(--color-blue-500);
|
|
50
|
-
--info-foreground: var(--color-blue-700);
|
|
51
|
-
--success: var(--color-emerald-500);
|
|
52
|
-
--success-foreground: var(--color-emerald-700);
|
|
53
|
-
--warning: var(--color-amber-500);
|
|
54
|
-
--warning-foreground: var(--color-amber-700);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
.dark {
|
|
58
|
-
--background: oklch(0.145 0 0);
|
|
59
|
-
--foreground: oklch(0.985 0 0);
|
|
60
|
-
--card: oklch(0.205 0 0);
|
|
61
|
-
--card-foreground: oklch(0.985 0 0);
|
|
62
|
-
--popover: oklch(0.205 0 0);
|
|
63
|
-
--popover-foreground: oklch(0.985 0 0);
|
|
64
|
-
--primary: oklch(0.398 0.195 277.366);
|
|
65
|
-
--primary-foreground: oklch(0.962 0.018 272.314);
|
|
66
|
-
--secondary: oklch(0.274 0.006 286.033);
|
|
67
|
-
--secondary-foreground: oklch(0.985 0 0);
|
|
68
|
-
--muted: oklch(0.269 0 0);
|
|
69
|
-
--muted-foreground: oklch(0.708 0 0);
|
|
70
|
-
--accent: oklch(0.269 0 0);
|
|
71
|
-
--accent-foreground: oklch(0.985 0 0);
|
|
72
|
-
--destructive: oklch(0.704 0.191 22.216);
|
|
73
|
-
--border: oklch(1 0 0 / 10%);
|
|
74
|
-
--input: oklch(1 0 0 / 15%);
|
|
75
|
-
--ring: oklch(0.556 0 0);
|
|
76
|
-
--chart-1: oklch(0.811 0.111 293.571);
|
|
77
|
-
--chart-2: oklch(0.606 0.25 292.717);
|
|
78
|
-
--chart-3: oklch(0.541 0.281 293.009);
|
|
79
|
-
--chart-4: oklch(0.491 0.27 292.581);
|
|
80
|
-
--chart-5: oklch(0.432 0.232 292.759);
|
|
81
|
-
--sidebar: oklch(0.205 0 0);
|
|
82
|
-
--sidebar-foreground: oklch(0.985 0 0);
|
|
83
|
-
--sidebar-primary: oklch(0.585 0.233 277.117);
|
|
84
|
-
--sidebar-primary-foreground: oklch(0.962 0.018 272.314);
|
|
85
|
-
--sidebar-accent: oklch(0.269 0 0);
|
|
86
|
-
--sidebar-accent-foreground: oklch(0.985 0 0);
|
|
87
|
-
--sidebar-border: oklch(1 0 0 / 10%);
|
|
88
|
-
--sidebar-ring: oklch(0.556 0 0);
|
|
89
|
-
--destructive-foreground: var(--color-red-400);
|
|
90
|
-
--info: var(--color-blue-500);
|
|
91
|
-
--info-foreground: var(--color-blue-400);
|
|
92
|
-
--success: var(--color-emerald-500);
|
|
93
|
-
--success-foreground: var(--color-emerald-400);
|
|
94
|
-
--warning: var(--color-amber-500);
|
|
95
|
-
--warning-foreground: var(--color-amber-400);
|
|
96
|
-
|
|
97
|
-
.shadow-bezel {
|
|
98
|
-
box-shadow:
|
|
99
|
-
inset 1px 1px 2px rgb(255 255 255 / 0.15),
|
|
100
|
-
inset -2px -2px 4px rgb(0 0 0 / 0.6);
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
.shadow-debossed {
|
|
104
|
-
box-shadow:
|
|
105
|
-
inset 2px 2px 4px rgb(0 0 0 / 0.6),
|
|
106
|
-
inset -1px -1px 2px rgb(255 255 255 / 0.15);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
@theme inline {
|
|
111
|
-
/* motion tokens (transitions.dev scale) */
|
|
112
|
-
--ease-smooth-out: cubic-bezier(0.22, 1, 0.36, 1);
|
|
113
|
-
--font-sans: "Inter Variable", sans-serif;
|
|
114
|
-
--font-heading: "Figtree Variable", sans-serif;
|
|
115
|
-
--color-sidebar-ring: var(--sidebar-ring);
|
|
116
|
-
--color-sidebar-border: var(--sidebar-border);
|
|
117
|
-
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
|
|
118
|
-
--color-sidebar-accent: var(--sidebar-accent);
|
|
119
|
-
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
|
|
120
|
-
--color-sidebar-primary: var(--sidebar-primary);
|
|
121
|
-
--color-sidebar-foreground: var(--sidebar-foreground);
|
|
122
|
-
--color-sidebar: var(--sidebar);
|
|
123
|
-
--color-chart-5: var(--chart-5);
|
|
124
|
-
--color-chart-4: var(--chart-4);
|
|
125
|
-
--color-chart-3: var(--chart-3);
|
|
126
|
-
--color-chart-2: var(--chart-2);
|
|
127
|
-
--color-chart-1: var(--chart-1);
|
|
128
|
-
--color-ring: var(--ring);
|
|
129
|
-
--color-input: var(--input);
|
|
130
|
-
--color-border: var(--border);
|
|
131
|
-
--color-destructive: var(--destructive);
|
|
132
|
-
--color-accent-foreground: var(--accent-foreground);
|
|
133
|
-
--color-accent: var(--accent);
|
|
134
|
-
--color-muted-foreground: var(--muted-foreground);
|
|
135
|
-
--color-muted: var(--muted);
|
|
136
|
-
--color-secondary-foreground: var(--secondary-foreground);
|
|
137
|
-
--color-secondary: var(--secondary);
|
|
138
|
-
--color-primary-foreground: var(--primary-foreground);
|
|
139
|
-
--color-primary: var(--primary);
|
|
140
|
-
--color-popover-foreground: var(--popover-foreground);
|
|
141
|
-
--color-popover: var(--popover);
|
|
142
|
-
--color-card-foreground: var(--card-foreground);
|
|
143
|
-
--color-card: var(--card);
|
|
144
|
-
--color-foreground: var(--foreground);
|
|
145
|
-
--color-background: var(--background);
|
|
146
|
-
--radius-sm: calc(var(--radius) * 0.6);
|
|
147
|
-
--radius-md: calc(var(--radius) * 0.8);
|
|
148
|
-
--radius-lg: var(--radius);
|
|
149
|
-
--radius-xl: calc(var(--radius) * 1.4);
|
|
150
|
-
--radius-2xl: calc(var(--radius) * 1.8);
|
|
151
|
-
--radius-3xl: calc(var(--radius) * 2.2);
|
|
152
|
-
--radius-4xl: calc(var(--radius) * 2.6);
|
|
153
|
-
--color-destructive-foreground: var(--destructive-foreground);
|
|
154
|
-
@keyframes liquid-drift {
|
|
155
|
-
0% {
|
|
156
|
-
background-position:
|
|
157
|
-
0% 0%,
|
|
158
|
-
100% 100%,
|
|
159
|
-
0% 0%;
|
|
160
|
-
}
|
|
161
|
-
50% {
|
|
162
|
-
background-position:
|
|
163
|
-
30% 20%,
|
|
164
|
-
70% 80%,
|
|
165
|
-
0% 0%;
|
|
166
|
-
}
|
|
167
|
-
100% {
|
|
168
|
-
background-position:
|
|
169
|
-
0% 0%,
|
|
170
|
-
100% 100%,
|
|
171
|
-
0% 0%;
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
--animate-caret-blink: 1s ease-out infinite caret-blink;
|
|
175
|
-
--animate-input-shake: input-shake 0.4s ease-in-out;
|
|
176
|
-
--animate-skeleton: skeleton 2s -1s infinite linear;
|
|
177
|
-
--color-warning-foreground: var(--warning-foreground);
|
|
178
|
-
--color-warning: var(--warning);
|
|
179
|
-
--color-success-foreground: var(--success-foreground);
|
|
180
|
-
--color-success: var(--success);
|
|
181
|
-
--color-info-foreground: var(--info-foreground);
|
|
182
|
-
--color-info: var(--info);
|
|
183
|
-
@keyframes skeleton {
|
|
184
|
-
to {
|
|
185
|
-
background-position: -200% 0;
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
@keyframes input-shake {
|
|
189
|
-
0%,
|
|
190
|
-
100% {
|
|
191
|
-
translate: 0;
|
|
192
|
-
}
|
|
193
|
-
20% {
|
|
194
|
-
translate: -6px 0;
|
|
195
|
-
}
|
|
196
|
-
40% {
|
|
197
|
-
translate: 6px 0;
|
|
198
|
-
}
|
|
199
|
-
60% {
|
|
200
|
-
translate: -4px 0;
|
|
201
|
-
}
|
|
202
|
-
80% {
|
|
203
|
-
translate: 4px 0;
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
@keyframes caret-blink {
|
|
207
|
-
0%,
|
|
208
|
-
70%,
|
|
209
|
-
to {
|
|
210
|
-
opacity: 1;
|
|
211
|
-
}
|
|
212
|
-
20%,
|
|
213
|
-
50% {
|
|
214
|
-
opacity: 0;
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
@layer base {
|
|
220
|
-
* {
|
|
221
|
-
@apply border-border outline-ring/50;
|
|
222
|
-
}
|
|
223
|
-
body {
|
|
224
|
-
@apply bg-background text-foreground;
|
|
225
|
-
}
|
|
226
|
-
button:not(:disabled),
|
|
227
|
-
[role="button"]:not(:disabled) {
|
|
228
|
-
cursor: pointer;
|
|
229
|
-
}
|
|
230
|
-
html {
|
|
231
|
-
@apply font-sans;
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
@utility shadow-bezel {
|
|
236
|
-
/* Inherits light/dark ambient highlights automatically */
|
|
237
|
-
box-shadow:
|
|
238
|
-
inset 1px 1px 2px rgb(255 255 255 / 0.7),
|
|
239
|
-
inset -2px -2px 4px rgb(0 0 0 / 0.25);
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
@utility shadow-debossed {
|
|
243
|
-
box-shadow:
|
|
244
|
-
inset 2px 2px 4px rgb(0 0 0 / 0.25),
|
|
245
|
-
inset -1px -1px 2px rgb(255 255 255 / 0.7);
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
@utility shadow-bezel-dynamic {
|
|
249
|
-
box-shadow:
|
|
250
|
-
inset 1px 1px 2px color-mix(in srgb, currentColor 40%, white),
|
|
251
|
-
inset -2px -2px 4px color-mix(in srgb, currentColor 60%, black);
|
|
252
|
-
}
|
|
8
|
+
@import "motion-icons-react/style.css";
|
package/src/index.ts
CHANGED
|
@@ -7,7 +7,16 @@
|
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
// atoms
|
|
10
|
-
export * from "./components/
|
|
10
|
+
export * from "./components/atoms"
|
|
11
|
+
// ui/avatar: named, not `export *` — the atoms barrel above owns the bare
|
|
12
|
+
// `Avatar` name (the composed identity disc); these are the raw primitives.
|
|
13
|
+
export {
|
|
14
|
+
AvatarBadge,
|
|
15
|
+
AvatarFallback,
|
|
16
|
+
AvatarGroup,
|
|
17
|
+
AvatarGroupCount,
|
|
18
|
+
AvatarImage,
|
|
19
|
+
} from "./components/ui/avatar"
|
|
11
20
|
export * from "./components/ui/button"
|
|
12
21
|
export * from "./components/ui/card"
|
|
13
22
|
export * from "./components/ui/checkbox"
|
|
@@ -17,6 +26,9 @@ export * from "./components/ui/input"
|
|
|
17
26
|
export * from "./components/ui/input-group"
|
|
18
27
|
export * from "./components/ui/label"
|
|
19
28
|
export * from "./components/ui/menu"
|
|
29
|
+
export * from "./components/ui/menu-command"
|
|
30
|
+
export * from "./components/ui/context-menu"
|
|
31
|
+
export * from "./components/ui/toast"
|
|
20
32
|
export * from "./components/ui/otp-field"
|
|
21
33
|
export * from "./components/ui/separator"
|
|
22
34
|
export * from "./components/ui/skeleton"
|
|
@@ -27,39 +39,15 @@ export * from "./components/ui/textarea"
|
|
|
27
39
|
export * from "./components/icons"
|
|
28
40
|
|
|
29
41
|
// components
|
|
42
|
+
export * from "./components/composed/ai"
|
|
30
43
|
export * from "./components/composed/logo"
|
|
31
44
|
export * from "./components/composed/password-input"
|
|
32
45
|
export * from "./components/composed/social-providers"
|
|
46
|
+
export * from "./components/composed/reader"
|
|
33
47
|
export * from "./components/composed/tree"
|
|
34
|
-
|
|
35
|
-
//
|
|
36
|
-
|
|
37
|
-
DEFAULT_BEZEL_ANGLE,
|
|
38
|
-
PresenceBadge,
|
|
39
|
-
UserAvatar,
|
|
40
|
-
initialsFrom,
|
|
41
|
-
removeUserAvatarInstance,
|
|
42
|
-
resetUserAvatarAtom,
|
|
43
|
-
setUserAvatarBezelAngleAtom,
|
|
44
|
-
setUserAvatarPresenceAtom,
|
|
45
|
-
toggleUserAvatarPresenceAtom,
|
|
46
|
-
useUserAvatar,
|
|
47
|
-
useUserAvatarActions,
|
|
48
|
-
useUserAvatarState,
|
|
49
|
-
userAvatarBezelAngleAtom,
|
|
50
|
-
userAvatarIsOnlineAtom,
|
|
51
|
-
userAvatarPresenceAtom,
|
|
52
|
-
userAvatarStateAtom,
|
|
53
|
-
} from "./components/user-avatar"
|
|
54
|
-
export type {
|
|
55
|
-
UseUserAvatarOptions,
|
|
56
|
-
UserAvatarActions,
|
|
57
|
-
UserAvatarBinding,
|
|
58
|
-
UserAvatarInstanceId,
|
|
59
|
-
UserAvatarProps,
|
|
60
|
-
UserAvatarState,
|
|
61
|
-
UserPresence,
|
|
62
|
-
} from "./components/user-avatar"
|
|
48
|
+
export * from "./components/composed/verse"
|
|
49
|
+
// The old `components/user-avatar` module was removed (92f029c); the avatar
|
|
50
|
+
// now lives in `components/atoms/avatar` and flows through the atoms barrel.
|
|
63
51
|
|
|
64
52
|
// blocks
|
|
65
53
|
export * from "./components/blocks/auth/auth-shell"
|
|
@@ -85,7 +73,7 @@ export * from "./components/blocks/profile"
|
|
|
85
73
|
export * from "./components/motion/shared-layout-bg"
|
|
86
74
|
|
|
87
75
|
// state
|
|
88
|
-
export * from "./state"
|
|
76
|
+
export * from "./lib/state"
|
|
89
77
|
|
|
90
78
|
// The v0.17 sidebar monolith became the shell block's AnimatedPanel parts.
|
|
91
79
|
// `blocks/shell` above already exports every part under its new name; these
|
|
@@ -104,3 +92,9 @@ export * from "./lib/auth-accent"
|
|
|
104
92
|
export * from "./lib/ease"
|
|
105
93
|
export * from "./lib/sound"
|
|
106
94
|
export * from "./lib/utils"
|
|
95
|
+
|
|
96
|
+
// chat (exegia-ui Sketch library)
|
|
97
|
+
export * from "./components/ui/chat"
|
|
98
|
+
export * from "./components/composed/chat"
|
|
99
|
+
export * from "./components/blocks/chat"
|
|
100
|
+
export * from "./lib/keyed-atom"
|
package/src/lib/ease.ts
CHANGED
|
@@ -6,6 +6,7 @@ export const EASE_DRAWER = [0.32, 0.72, 0, 1] as const;
|
|
|
6
6
|
|
|
7
7
|
/** CSS string form of EASE_OUT for inline style transitions. */
|
|
8
8
|
export const EASE_OUT_CSS = "cubic-bezier(0.16, 1, 0.3, 1)";
|
|
9
|
+
export const EASE_IN_OUT_MOTION = { type: "spring", stiffness: 300, damping: 30, mass: 0.6 } as const;
|
|
9
10
|
|
|
10
11
|
/** Press feedback on buttons and other tappable surfaces. */
|
|
11
12
|
export const SPRING_PRESS = {
|
|
@@ -64,6 +65,13 @@ export const SHELL_TRANSITION: Transition = {
|
|
|
64
65
|
mass: 0.85,
|
|
65
66
|
};
|
|
66
67
|
|
|
68
|
+
export const BOUNCE_IN_OUT: Transition = {
|
|
69
|
+
type: "spring",
|
|
70
|
+
stiffness: 300,
|
|
71
|
+
damping: 20,
|
|
72
|
+
mass: 0.50,
|
|
73
|
+
} as const;
|
|
74
|
+
|
|
67
75
|
export const ICON_VARIANTS: Variants = {
|
|
68
76
|
hidden: { opacity: 0, filter: "blur(3px)" },
|
|
69
77
|
visible: {
|
|
@@ -77,3 +85,6 @@ export const ICON_VARIANTS: Variants = {
|
|
|
77
85
|
transition: { duration: 0.18, ease: EASE_OUT },
|
|
78
86
|
},
|
|
79
87
|
};
|
|
88
|
+
|
|
89
|
+
/** Strong ease-out for pop-ins, row entrances and panel expands. Matches `--ease-out-strong`. */
|
|
90
|
+
export const EASE_OUT_STRONG = [0.23, 1, 0.32, 1] as const;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as React from "react"
|
|
2
|
+
|
|
3
|
+
const MOBILE_BREAKPOINT = 768
|
|
4
|
+
|
|
5
|
+
function subscribe(onStoreChange: () => void) {
|
|
6
|
+
const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`)
|
|
7
|
+
mql.addEventListener("change", onStoreChange)
|
|
8
|
+
return () => mql.removeEventListener("change", onStoreChange)
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
function getSnapshot() {
|
|
12
|
+
return window.innerWidth < MOBILE_BREAKPOINT
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
function getServerSnapshot() {
|
|
16
|
+
return false
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export function useIsMobile() {
|
|
20
|
+
return React.useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot)
|
|
21
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* String-keyed Jotai atom families for the chat components.
|
|
3
|
+
*
|
|
4
|
+
* `jotai/utils`' `atomFamily` is deprecated for Jotai v3, so the library keeps
|
|
5
|
+
* a tiny in-house family: one cache per family, a `remove(id)` that lets the
|
|
6
|
+
* store drop an instance, and a per-feature registry so `removeInstance(id)`
|
|
7
|
+
* clears every family of that feature at once. `tree`, `scaffold` and the AI
|
|
8
|
+
* sidebar carry their own copies of this shape; new chat state uses this one.
|
|
9
|
+
*/
|
|
10
|
+
import { atom } from "jotai"
|
|
11
|
+
import type { Getter, Setter } from "jotai"
|
|
12
|
+
|
|
13
|
+
export type Family<AtomType> = ((id: string) => AtomType) & { remove: (id: string) => void }
|
|
14
|
+
|
|
15
|
+
export function createKeyedFamilies(feature: string) {
|
|
16
|
+
const families: { remove: (id: string) => void }[] = []
|
|
17
|
+
|
|
18
|
+
function keyed<AtomType>(create: (id: string) => AtomType): Family<AtomType> {
|
|
19
|
+
const cache = new Map<string, AtomType>()
|
|
20
|
+
const family = ((id: string) => {
|
|
21
|
+
let instance = cache.get(id)
|
|
22
|
+
if (instance === undefined) {
|
|
23
|
+
instance = create(id)
|
|
24
|
+
cache.set(id, instance)
|
|
25
|
+
}
|
|
26
|
+
return instance
|
|
27
|
+
}) as Family<AtomType>
|
|
28
|
+
family.remove = (id) => {
|
|
29
|
+
cache.delete(id)
|
|
30
|
+
}
|
|
31
|
+
families.push(family)
|
|
32
|
+
return family
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
function stateFamily<Value>(name: string, initialValue: Value) {
|
|
36
|
+
return keyed((id) => {
|
|
37
|
+
const instance = atom(initialValue)
|
|
38
|
+
instance.debugLabel = `${feature}/${id}/${name}`
|
|
39
|
+
return instance
|
|
40
|
+
})
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function actionFamily<Args extends unknown[]>(
|
|
44
|
+
name: string,
|
|
45
|
+
write: (get: Getter, set: Setter, id: string, ...args: Args) => void
|
|
46
|
+
) {
|
|
47
|
+
return keyed((id) => {
|
|
48
|
+
const instance = atom(null, (get, set, ...args: Args) => write(get, set, id, ...args))
|
|
49
|
+
instance.debugLabel = `${feature}/${id}/${name}`
|
|
50
|
+
return instance
|
|
51
|
+
})
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/** Drop every atom of one instance so the store can release its state. */
|
|
55
|
+
function removeInstance(id: string): void {
|
|
56
|
+
for (const family of families) family.remove(id)
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return { keyed, stateFamily, actionFamily, removeInstance }
|
|
60
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { cva } from "class-variance-authority";
|
|
2
|
+
|
|
3
|
+
export type SegmentedControlSize = "default" | "lg" | "sm" | "xs";
|
|
4
|
+
|
|
5
|
+
export const segmentedControlItemSizeClassNames: Record<
|
|
6
|
+
SegmentedControlSize,
|
|
7
|
+
string
|
|
8
|
+
> = {
|
|
9
|
+
default: "h-8.5 px-[calc(--spacing(2.5)-1px)] sm:h-7.5",
|
|
10
|
+
lg: "h-9.5 px-[calc(--spacing(3)-1px)] sm:h-8.5",
|
|
11
|
+
sm: "h-7.5 px-[calc(--spacing(2)-1px)] sm:h-6.5",
|
|
12
|
+
xs: "h-6.5 px-[calc(--spacing(1.5)-1px)] sm:h-5.5",
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export const segmentedControlRootClassName =
|
|
16
|
+
"relative z-0 flex w-fit items-center justify-center gap-0.5 rounded-lg bg-muted p-0.5";
|
|
17
|
+
|
|
18
|
+
export const segmentedControlItemLayoutClassName =
|
|
19
|
+
"gap-1.5 [&_svg:not([class*='opacity-'])]:opacity-80 [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:-mx-0.5 [&_svg]:shrink-0";
|
|
20
|
+
|
|
21
|
+
export const segmentedControlItemVariants = cva(
|
|
22
|
+
[
|
|
23
|
+
"relative inline-flex shrink-0 cursor-pointer select-none items-center justify-center whitespace-nowrap rounded-md border border-transparent font-medium text-base text-muted-foreground/72 outline-2 outline-transparent transition-[outline-color] hover:bg-transparent hover:text-muted-foreground focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-64 data-disabled:pointer-events-none data-disabled:opacity-64 sm:text-sm",
|
|
24
|
+
segmentedControlItemLayoutClassName,
|
|
25
|
+
],
|
|
26
|
+
{
|
|
27
|
+
defaultVariants: {
|
|
28
|
+
size: "default",
|
|
29
|
+
},
|
|
30
|
+
variants: {
|
|
31
|
+
size: segmentedControlItemSizeClassNames,
|
|
32
|
+
state: {
|
|
33
|
+
checked:
|
|
34
|
+
"data-checked:bg-background data-checked:text-foreground data-checked:shadow-sm/5 dark:data-checked:bg-input",
|
|
35
|
+
current:
|
|
36
|
+
"aria-[current=page]:bg-background aria-[current=page]:text-foreground aria-[current=page]:shadow-sm/5 dark:aria-[current=page]:bg-input",
|
|
37
|
+
pressed:
|
|
38
|
+
"data-pressed:bg-background data-pressed:text-foreground data-pressed:shadow-sm/5 dark:data-pressed:bg-input",
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
);
|
|
@@ -32,6 +32,7 @@ import * as React from "react"
|
|
|
32
32
|
import { Provider, useStore } from "jotai"
|
|
33
33
|
|
|
34
34
|
import { ThemeProvider } from "@/components/theme-provider"
|
|
35
|
+
import { ToastProvider } from "@/components/ui/toast"
|
|
35
36
|
import { bindSounds } from "@/lib/sound"
|
|
36
37
|
import { exegiaStore } from "./store"
|
|
37
38
|
import type { ExegiaStore } from "./store"
|
|
@@ -68,9 +69,12 @@ export function ExegiaProvider({
|
|
|
68
69
|
if (sound) bindSounds()
|
|
69
70
|
}, [sound])
|
|
70
71
|
|
|
72
|
+
// Toasts ride on the same single mount: components call `toastManager.add`
|
|
73
|
+
// and it renders here, so consumers never nest a second provider.
|
|
74
|
+
const content = <ToastProvider>{children}</ToastProvider>
|
|
71
75
|
return (
|
|
72
76
|
<Provider store={store ?? exegiaStore}>
|
|
73
|
-
{theme ? <ThemeProvider {...theme}>{
|
|
77
|
+
{theme ? <ThemeProvider {...theme}>{content}</ThemeProvider> : content}
|
|
74
78
|
</Provider>
|
|
75
79
|
)
|
|
76
80
|
}
|
package/src/lib/utils.ts
CHANGED
|
@@ -1,5 +1,97 @@
|
|
|
1
1
|
import { clsx, type ClassValue } from "clsx"
|
|
2
|
-
import {
|
|
2
|
+
import { extendTailwindMerge, validators } from "tailwind-merge"
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* The `inset-shadow-{lit,dim}-*` bezel family (exported by `index.css`) is
|
|
6
|
+
* ours, not Tailwind's. Left to itself tailwind-merge files every one of them
|
|
7
|
+
* under its built-in `inset-shadow` group — which holds a single `box-shadow`
|
|
8
|
+
* — and keeps only the last, so a bezel written as
|
|
9
|
+
* `inset-shadow-lit-t-2 inset-shadow-dim-b-1` arrives as the dim class alone.
|
|
10
|
+
*
|
|
11
|
+
* Each utility writes exactly one custom property, so the conflict groups
|
|
12
|
+
* mirror those properties: a layer's two axes, its blur and its alpha are
|
|
13
|
+
* independent of each other and of the other layer. `-l-`/`-r-` are the two
|
|
14
|
+
* ends of one axis and `-t-`/`-b-` of the other, so those do collide. Only
|
|
15
|
+
* `inset-shadow-blur-*` spans layers — it writes both blurs — so it alone
|
|
16
|
+
* conflicts across them.
|
|
17
|
+
*/
|
|
18
|
+
type InsetShadowGroupId =
|
|
19
|
+
| "inset-shadow-bezel"
|
|
20
|
+
| "inset-shadow-lit-x"
|
|
21
|
+
| "inset-shadow-lit-y"
|
|
22
|
+
| "inset-shadow-lit-blur"
|
|
23
|
+
| "inset-shadow-lit-alpha"
|
|
24
|
+
| "inset-shadow-dim-x"
|
|
25
|
+
| "inset-shadow-dim-y"
|
|
26
|
+
| "inset-shadow-dim-blur"
|
|
27
|
+
| "inset-shadow-dim-alpha"
|
|
28
|
+
| "inset-shadow-blur"
|
|
29
|
+
|
|
30
|
+
const { isAny } = validators
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Every group in the family writes the whole `box-shadow`, so each one both
|
|
34
|
+
* displaces and is displaced by Tailwind's own shadow utilities. Without
|
|
35
|
+
* this, `shadow-md inset-shadow-lit-t-2` survives `cn` intact and whichever
|
|
36
|
+
* rule the stylesheet happens to sort last silently wins.
|
|
37
|
+
*/
|
|
38
|
+
const INSET_SHADOW_GROUPS = [
|
|
39
|
+
"inset-shadow-bezel",
|
|
40
|
+
"inset-shadow-lit-x",
|
|
41
|
+
"inset-shadow-lit-y",
|
|
42
|
+
"inset-shadow-lit-blur",
|
|
43
|
+
"inset-shadow-lit-alpha",
|
|
44
|
+
"inset-shadow-dim-x",
|
|
45
|
+
"inset-shadow-dim-y",
|
|
46
|
+
"inset-shadow-dim-blur",
|
|
47
|
+
"inset-shadow-dim-alpha",
|
|
48
|
+
"inset-shadow-blur",
|
|
49
|
+
] as const satisfies readonly InsetShadowGroupId[]
|
|
50
|
+
|
|
51
|
+
const displacesTailwindShadows = Object.fromEntries(
|
|
52
|
+
INSET_SHADOW_GROUPS.map((id) => [id, ["shadow", "inset-shadow"]])
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
const twMerge = extendTailwindMerge<InsetShadowGroupId>({
|
|
56
|
+
extend: {
|
|
57
|
+
classGroups: {
|
|
58
|
+
// The shared base every other utility in the family `@apply`s. Grouped
|
|
59
|
+
// so it collapses against Tailwind's shadows like the rest of them.
|
|
60
|
+
"inset-shadow-bezel": ["inset-shadow-bezel"],
|
|
61
|
+
"inset-shadow-lit-x": [
|
|
62
|
+
{ "inset-shadow-lit": [{ l: [isAny], r: [isAny] }] },
|
|
63
|
+
],
|
|
64
|
+
"inset-shadow-lit-y": [
|
|
65
|
+
{ "inset-shadow-lit": [{ t: [isAny], b: [isAny] }] },
|
|
66
|
+
],
|
|
67
|
+
"inset-shadow-lit-blur": [{ "inset-shadow-lit": [{ blur: [isAny] }] }],
|
|
68
|
+
"inset-shadow-dim-x": [
|
|
69
|
+
{ "inset-shadow-dim": [{ l: [isAny], r: [isAny] }] },
|
|
70
|
+
],
|
|
71
|
+
"inset-shadow-dim-y": [
|
|
72
|
+
{ "inset-shadow-dim": [{ t: [isAny], b: [isAny] }] },
|
|
73
|
+
],
|
|
74
|
+
"inset-shadow-dim-blur": [{ "inset-shadow-dim": [{ blur: [isAny] }] }],
|
|
75
|
+
// The bare classes, which carry the layer opacity as a `/40` modifier.
|
|
76
|
+
"inset-shadow-lit-alpha": ["inset-shadow-lit"],
|
|
77
|
+
"inset-shadow-dim-alpha": ["inset-shadow-dim"],
|
|
78
|
+
"inset-shadow-blur": [{ "inset-shadow": [{ blur: [isAny] }] }],
|
|
79
|
+
},
|
|
80
|
+
conflictingClassGroups: {
|
|
81
|
+
...displacesTailwindShadows,
|
|
82
|
+
// …and the other way round, so the last one written wins either way.
|
|
83
|
+
shadow: INSET_SHADOW_GROUPS,
|
|
84
|
+
"inset-shadow": INSET_SHADOW_GROUPS,
|
|
85
|
+
// Blurs both layers at once, so it supersedes either single-layer blur.
|
|
86
|
+
"inset-shadow-blur": [
|
|
87
|
+
"inset-shadow-lit-blur",
|
|
88
|
+
"inset-shadow-dim-blur",
|
|
89
|
+
"shadow",
|
|
90
|
+
"inset-shadow",
|
|
91
|
+
],
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
})
|
|
3
95
|
|
|
4
96
|
export function cn(...inputs: ClassValue[]) {
|
|
5
97
|
return twMerge(clsx(inputs))
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Back-compat path. The avatar moved to `components/user-avatar/` (split
|
|
3
|
-
* into component / atoms / hooks); this module re-exports it so existing
|
|
4
|
-
* imports keep resolving to the one implementation. Prefer the new path.
|
|
5
|
-
*/
|
|
6
|
-
export { UserAvatar, initialsFrom, useUserAvatar, useUserAvatarActions, useUserAvatarState, } from '../user-avatar';
|
|
7
|
-
export type { UserAvatarProps, UserPresence } from '../user-avatar';
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { RegistryEntry } from '../../registry';
|
|
2
|
-
import * as React from "react";
|
|
3
|
-
/**
|
|
4
|
-
* Renders an entry's lazy demo (created at registry module scope) inside a
|
|
5
|
-
* bordered canvas. Falls back to a placeholder while the demo is not
|
|
6
|
-
* implemented yet.
|
|
7
|
-
*/
|
|
8
|
-
export declare function ComponentPreview({ entry }: {
|
|
9
|
-
entry: RegistryEntry;
|
|
10
|
-
}): React.JSX.Element;
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { Avatar as AvatarPrimitive } from '@base-ui/react/avatar';
|
|
2
|
-
import { default as React } from 'react';
|
|
3
|
-
export declare function Avatar({ className, ...props }: AvatarPrimitive.Root.Props): React.ReactElement;
|
|
4
|
-
export declare function AvatarImage({ className, ...props }: AvatarPrimitive.Image.Props): React.ReactElement;
|
|
5
|
-
export declare function AvatarFallback({ className, ...props }: AvatarPrimitive.Fallback.Props): React.ReactElement;
|
|
6
|
-
export { AvatarPrimitive };
|