@agent-native/core 0.80.4 → 0.80.6
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/corpus/README.md +2 -2
- package/corpus/core/CHANGELOG.md +28 -2
- package/corpus/core/docs/content/locales/ar-SA/real-time-collaboration.mdx +2 -2
- package/corpus/core/docs/content/locales/ar-SA/template-design.mdx +1 -1
- package/corpus/core/docs/content/locales/de-DE/real-time-collaboration.mdx +3 -3
- package/corpus/core/docs/content/locales/de-DE/template-design.mdx +1 -1
- package/corpus/core/docs/content/locales/es-ES/real-time-collaboration.mdx +2 -2
- package/corpus/core/docs/content/locales/es-ES/template-design.mdx +1 -1
- package/corpus/core/docs/content/locales/fr-FR/real-time-collaboration.mdx +2 -2
- package/corpus/core/docs/content/locales/fr-FR/template-design.mdx +1 -1
- package/corpus/core/docs/content/locales/hi-IN/template-design.mdx +1 -1
- package/corpus/core/docs/content/locales/ja-JP/real-time-collaboration.mdx +2 -2
- package/corpus/core/docs/content/locales/ja-JP/template-design.mdx +1 -1
- package/corpus/core/docs/content/locales/ko-KR/real-time-collaboration.mdx +2 -2
- package/corpus/core/docs/content/locales/ko-KR/template-design.mdx +1 -1
- package/corpus/core/docs/content/locales/pt-BR/real-time-collaboration.mdx +2 -2
- package/corpus/core/docs/content/locales/pt-BR/template-design.mdx +1 -1
- package/corpus/core/docs/content/locales/zh-CN/real-time-collaboration.mdx +2 -2
- package/corpus/core/docs/content/locales/zh-CN/template-design.mdx +1 -1
- package/corpus/core/docs/content/locales/zh-TW/real-time-collaboration.mdx +2 -2
- package/corpus/core/docs/content/locales/zh-TW/template-design.mdx +1 -1
- package/corpus/core/docs/content/real-time-collaboration.mdx +2 -2
- package/corpus/core/docs/content/template-design.mdx +1 -1
- package/corpus/core/package.json +3 -7
- package/corpus/core/src/action.ts +21 -0
- package/corpus/core/src/agent/durable-background.ts +32 -11
- package/corpus/core/src/agent/production-agent.ts +11 -1
- package/corpus/core/src/agent/run-loop-with-resume.ts +3 -1
- package/corpus/core/src/brand-kit/fig/index.ts +17 -37
- package/corpus/core/src/cli/create.ts +1 -0
- package/corpus/core/src/cli/index.ts +1 -1
- package/corpus/core/src/cli/mcp-config-writers.ts +187 -51
- package/corpus/core/src/cli/skills.ts +18 -3
- package/corpus/core/src/client/AssistantChat.tsx +11 -1
- package/corpus/core/src/client/agent-chat.ts +12 -1
- package/corpus/core/src/client/composer/PromptComposer.tsx +100 -41
- package/corpus/core/src/client/org/OrgSwitcher.tsx +1 -1
- package/corpus/core/src/client/sharing/ShareButton.tsx +3 -27
- package/corpus/core/src/collab/presence.ts +1 -1
- package/corpus/core/src/mcp/connect-route.ts +34 -5
- package/corpus/core/src/server/action-discovery.ts +4 -0
- package/corpus/core/src/server/agent-chat-plugin.ts +20 -0
- package/corpus/core/src/sharing/registry.ts +17 -0
- package/corpus/core/src/templates/default/pnpm-workspace.yaml +1 -0
- package/corpus/core/src/templates/workspace-root/pnpm-workspace.yaml +1 -0
- package/corpus/templates/analytics/actions/dashboard-mutation-api.ts +2 -0
- package/corpus/templates/analytics/actions/update-dashboard.ts +8 -0
- package/corpus/templates/analytics/app/components/layout/Layout.tsx +1 -1
- package/corpus/templates/analytics/app/components/layout/Sidebar.tsx +117 -33
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/index.tsx +4 -0
- package/corpus/templates/analytics/app/pages/adhoc/sql-dashboard/types.ts +7 -0
- package/corpus/templates/analytics/changelog/2026-06-27-dashboards-can-now-nest-under-a-parent-in-the-sidebar-via-a-.md +6 -0
- package/corpus/templates/analytics/changelog/2026-06-29-analytics-pages-now-sit-closer-under-the-header-with-tighter.md +6 -0
- package/corpus/templates/assets/actions/generate-image-batch.ts +3 -0
- package/corpus/templates/assets/actions/generate-image.ts +3 -0
- package/corpus/templates/assets/changelog/2026-06-29-longer-agent-generation-window.md +6 -0
- package/corpus/templates/assets/netlify.toml +3 -3
- package/corpus/templates/assets/server/plugins/agent-chat.ts +4 -1
- package/corpus/templates/clips/app/components/capture-install-options.tsx +7 -8
- package/corpus/templates/clips/app/components/recorder/recorder-engine.ts +1 -1
- package/corpus/templates/content/AGENTS.md +57 -44
- package/corpus/templates/content/README.md +16 -0
- package/corpus/templates/content/actions/_builder-cms-read-client.ts +125 -0
- package/corpus/templates/content/actions/_builder-cms-source-adapter.ts +28 -6
- package/corpus/templates/content/actions/_builder-cms-write-adapter.ts +238 -69
- package/corpus/templates/content/actions/_builder-cms-write-settings.ts +125 -43
- package/corpus/templates/content/actions/_database-source-utils.ts +746 -97
- package/corpus/templates/content/actions/_database-utils.ts +17 -14
- package/corpus/templates/content/actions/_federation-join.ts +14 -2
- package/corpus/templates/content/actions/_join-suggestion.ts +89 -14
- package/corpus/templates/content/actions/_local-file-documents.ts +2 -1
- package/corpus/templates/content/actions/attach-content-database-source.ts +124 -5
- package/corpus/templates/content/actions/bind-content-database-source-field.ts +256 -0
- package/corpus/templates/content/actions/change-content-database-source-role.ts +420 -0
- package/corpus/templates/content/actions/create-document.ts +8 -0
- package/corpus/templates/content/actions/execute-builder-source-batch.ts +282 -0
- package/corpus/templates/content/actions/execute-builder-source-execution.ts +220 -8
- package/corpus/templates/content/actions/get-content-database.ts +10 -2
- package/corpus/templates/content/actions/prepare-builder-source-execution.ts +19 -2
- package/corpus/templates/content/actions/prepare-builder-source-review.ts +47 -15
- package/corpus/templates/content/actions/refresh-content-database-source.ts +11 -4
- package/corpus/templates/content/actions/review-content-database-source-change-set.ts +6 -2
- package/corpus/templates/content/actions/set-content-database-source-write-mode.ts +32 -12
- package/corpus/templates/content/actions/stage-builder-revision.ts +14 -10
- package/corpus/templates/content/actions/validate-builder-source-execution.ts +25 -3
- package/corpus/templates/content/app/blocks/BuilderDocsBlocks.tsx +10 -0
- package/corpus/templates/content/app/components/editor/BubbleToolbar.tsx +1 -0
- package/corpus/templates/content/app/components/editor/ContentReferencePreview.tsx +185 -0
- package/corpus/templates/content/app/components/editor/DocumentDatabase.tsx +1520 -553
- package/corpus/templates/content/app/components/editor/DocumentEditor.tsx +3 -0
- package/corpus/templates/content/app/components/editor/DocumentProperties.tsx +150 -1
- package/corpus/templates/content/app/components/editor/VisualEditor.tsx +19 -0
- package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +647 -66
- package/corpus/templates/content/app/components/editor/database-sources/BuilderSourceReviewDialog.tsx +543 -204
- package/corpus/templates/content/app/components/editor/extensions/ContentReferenceNode.tsx +82 -0
- package/corpus/templates/content/app/global.css +9 -0
- package/corpus/templates/content/app/hooks/use-content-database.ts +62 -0
- package/corpus/templates/content/app/i18n/zh-TW.ts +76 -0
- package/corpus/templates/content/app/i18n-data.ts +924 -0
- package/corpus/templates/content/changelog/2026-06-29-builder-review-checks-now-preserve-publish-and-unpublish-cho.md +6 -0
- package/corpus/templates/content/changelog/2026-06-29-database-sources-can-now-be-added-as-more-rows-or-matched.md +6 -0
- package/corpus/templates/content/changelog/2026-06-29-fixed-loading-the-final-rows-in-larger-databases-without-bre.md +6 -0
- package/corpus/templates/content/changelog/2026-06-29-reusable-mdx-references-now-preview-linked-local-documents-i.md +6 -0
- package/corpus/templates/content/shared/api.ts +91 -1
- package/corpus/templates/content/shared/builder-docs-blocks.ts +8 -0
- package/corpus/templates/content/shared/builder-mdx.ts +141 -4
- package/corpus/templates/content/shared/nfm.ts +62 -0
- package/corpus/templates/content/vite.config.ts +14 -7
- package/corpus/templates/design/.agents/skills/design-systems/SKILL.md +10 -11
- package/corpus/templates/design/AGENTS.md +5 -0
- package/corpus/templates/design/_gitignore +7 -0
- package/corpus/templates/design/actions/apply-visual-edit.ts +22 -12
- package/corpus/templates/design/actions/create-design-system.ts +15 -4
- package/corpus/templates/design/actions/create-file.ts +20 -1
- package/corpus/templates/design/actions/delete-design-system.ts +2 -2
- package/corpus/templates/design/actions/duplicate-design.ts +35 -9
- package/corpus/templates/design/actions/generate-design.ts +146 -69
- package/corpus/templates/design/actions/generate-screens.ts +51 -19
- package/corpus/templates/design/actions/get-design-snapshot.ts +5 -1
- package/corpus/templates/design/actions/get-design.ts +2 -0
- package/corpus/templates/design/actions/import-design-project.ts +28 -9
- package/corpus/templates/design/actions/import-document.ts +22 -8
- package/corpus/templates/design/actions/index-design-system-with-builder.ts +6 -153
- package/corpus/templates/design/actions/navigate.ts +105 -54
- package/corpus/templates/design/actions/set-default-design-system.ts +17 -3
- package/corpus/templates/design/actions/show-design-questions.ts +2 -0
- package/corpus/templates/design/actions/update-design.ts +2 -1
- package/corpus/templates/design/actions/view-screen.ts +12 -6
- package/corpus/templates/design/app/components/design/CanvasContextMenu.tsx +4 -4
- package/corpus/templates/design/app/components/design/DesignCanvas.tsx +159 -41
- package/corpus/templates/design/app/components/design/DesignExtensionsPanel.tsx +8 -4
- package/corpus/templates/design/app/components/design/DrawOverlay.tsx +37 -42
- package/corpus/templates/design/app/components/design/EditPanel.tsx +336 -183
- package/corpus/templates/design/app/components/design/LayersPanel.tsx +153 -34
- package/corpus/templates/design/app/components/design/MultiScreenCanvas.tsx +135 -33
- package/corpus/templates/design/app/components/design/QuestionFlow.tsx +6 -0
- package/corpus/templates/design/app/components/design/TweaksPanel.tsx +2 -1
- package/corpus/templates/design/app/components/design/inspector/AlignmentMatrix.tsx +4 -10
- package/corpus/templates/design/app/components/design/inspector/AutoLayoutMatrix.tsx +84 -43
- package/corpus/templates/design/app/components/design/inspector/ConstraintsWidget.tsx +4 -4
- package/corpus/templates/design/app/components/design/inspector/{FigmaColorPicker.tsx → DesignColorPicker.tsx} +89 -62
- package/corpus/templates/design/app/components/design/inspector/ExportSettingsPanel.tsx +14 -26
- package/corpus/templates/design/app/components/design/inspector/GradientEditor.tsx +40 -12
- package/corpus/templates/design/app/components/design/inspector/ImageFillControls.tsx +13 -4
- package/corpus/templates/design/app/components/design/inspector/SHADER_INTEGRATION.md +13 -13
- package/corpus/templates/design/app/components/design/inspector/ScrubInput.tsx +13 -9
- package/corpus/templates/design/app/components/design/inspector/ShaderControls.tsx +13 -4
- package/corpus/templates/design/app/components/design/inspector/ShaderFillsPanel.tsx +6 -6
- package/corpus/templates/design/app/components/design/inspector/{figma-icons.tsx → design-icons.tsx} +2 -2
- package/corpus/templates/design/app/components/design/inspector/index.ts +12 -12
- package/corpus/templates/design/app/components/design/inspector/scrub-input-utils.ts +5 -2
- package/corpus/templates/design/app/components/editor/PromptDialog.tsx +3 -3
- package/corpus/templates/design/app/components/layout/Layout.tsx +5 -2
- package/corpus/templates/design/app/components/layout/Sidebar.tsx +1 -1
- package/corpus/templates/design/app/components/visual-editor/CanvasCommentPins.tsx +167 -91
- package/corpus/templates/design/app/components/visual-editor/DrawOverlay.tsx +16 -3
- package/corpus/templates/design/app/components/visual-editor/SaveStatusIndicator.tsx +15 -0
- package/corpus/templates/design/app/global.css +4 -0
- package/corpus/templates/design/app/hooks/use-design-system.ts +4 -1
- package/corpus/templates/design/app/hooks/use-navigation-state.ts +38 -3
- package/corpus/templates/design/app/hooks/useDesignHotkeys.ts +9 -2
- package/corpus/templates/design/app/i18n/zh-TW.ts +22 -0
- package/corpus/templates/design/app/i18n-data.ts +527 -0
- package/corpus/templates/design/app/lib/design-systems.ts +6 -4
- package/corpus/templates/design/app/lib/design-templates.ts +15 -3
- package/corpus/templates/design/app/pages/DesignEditor.tsx +641 -158
- package/corpus/templates/design/app/pages/DesignSystemSetup.tsx +42 -34
- package/corpus/templates/design/app/pages/VisualEdit.tsx +100 -0
- package/corpus/templates/design/app/root.tsx +42 -9
- package/corpus/templates/design/app/routes/visual-edit.tsx +7 -0
- package/corpus/templates/design/changelog/2026-06-28-live-cursors-now-keep-names-beside-a-cleaner-pointer-marker.md +1 -1
- package/corpus/templates/design/changelog/2026-06-28-mode-switching-now-lives-in-a-compact-bottom-right-icon-dock.md +1 -1
- package/corpus/templates/design/changelog/2026-06-28-visual-code-design-mode.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-design-generation-prompts-now-show-connect-ai-before-sending.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-design-mode-top-chrome-now-groups-collaborators-preview-shar.md +1 -1
- package/corpus/templates/design/changelog/2026-06-29-fixed-design-editor-exports-and-gradient-edits-so-multi-scre.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-longer-hosted-agent-turns.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-png-export-handles-modern-css-color-functions-more-reliably.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-png-export-now-ignores-duplicate-clicks-while-a-download-is-.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-public-visual-edit-and-shared-design-links-now-invite-visito.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-visual-edit-actions-now-reject-missing-design-targets-before.md +6 -0
- package/corpus/templates/design/e2e/README.md +71 -0
- package/corpus/templates/design/e2e/global-setup.ts +157 -0
- package/corpus/templates/design/e2e/helpers.ts +148 -0
- package/corpus/templates/design/netlify.toml +3 -4
- package/corpus/templates/design/package.json +5 -1
- package/corpus/templates/design/playwright.config.ts +51 -0
- package/corpus/templates/design/server/handlers/index-design-system-with-builder.ts +121 -0
- package/corpus/templates/design/server/handlers/uploads.ts +89 -38
- package/corpus/templates/design/server/lib/builder-design-system-proxy.ts +181 -0
- package/corpus/templates/design/server/lib/coding-handoff.ts +33 -4
- package/corpus/templates/design/server/lib/design-export.ts +35 -8
- package/corpus/templates/design/server/plugins/agent-chat.ts +4 -0
- package/corpus/templates/design/server/plugins/auth.ts +10 -1
- package/corpus/templates/design/server/routes/api/index-design-system-with-builder.post.ts +1 -0
- package/corpus/templates/design/shared/api.ts +2 -0
- package/corpus/templates/design/shared/apply-edits.ts +12 -8
- package/corpus/templates/design/shared/canvas-math.ts +19 -1
- package/corpus/templates/design/shared/code-layer.ts +87 -28
- package/corpus/templates/design/shared/generation-session.ts +1 -0
- package/corpus/templates/design/shared/resolve-tweaks.ts +4 -3
- package/corpus/templates/design/shared/shader-presets.ts +10 -0
- package/corpus/templates/design/shared/source-mode.ts +9 -0
- package/corpus/templates/design/vitest.config.ts +2 -1
- package/corpus/templates/mail/app/components/layout/AppLayout.tsx +1 -1
- package/corpus/templates/plan/.agents/skills/visual-plan/references/canvas.md +1 -1
- package/corpus/templates/plan/AGENTS.md +1 -1
- package/corpus/templates/plan/actions/create-plan-design.ts +1 -1
- package/corpus/templates/plan/actions/validate-local-plan-source.ts +2 -10
- package/corpus/templates/plan/app/pages/PlansPage.tsx +1 -0
- package/corpus/templates/plan/docs/commenting-ux-plan.md +2 -2
- package/corpus/templates/plan/server/plan-content.ts +1 -1
- package/corpus/templates/plan/server/ui-plan-html.ts +2 -2
- package/corpus/templates/slides/actions/index-design-system-with-builder.ts +6 -153
- package/corpus/templates/slides/app/components/design-system/DesignSystemSetup.tsx +53 -38
- package/corpus/templates/slides/app/components/design-system/{fig-import-response.ts → builder-index-response.ts} +9 -6
- package/corpus/templates/slides/app/components/visual-editor/MultiSelectChip.tsx +1 -1
- package/corpus/templates/slides/changelog/2026-06-29-design-system-setup-now-indexes-uploaded-design-files-throug.md +6 -0
- package/corpus/templates/slides/changelog/2026-06-29-longer-hosted-agent-turns.md +6 -0
- package/corpus/templates/slides/netlify.toml +3 -6
- package/corpus/templates/slides/server/handlers/index-design-system-with-builder.ts +116 -0
- package/corpus/templates/slides/server/lib/builder-design-system-proxy.ts +179 -0
- package/corpus/templates/slides/server/plugins/agent-chat.ts +4 -1
- package/corpus/templates/slides/server/routes/api/index-design-system-with-builder.post.ts +1 -0
- package/dist/action.d.ts +15 -0
- package/dist/action.d.ts.map +1 -1
- package/dist/action.js +6 -0
- package/dist/action.js.map +1 -1
- package/dist/agent/durable-background.d.ts +9 -7
- package/dist/agent/durable-background.d.ts.map +1 -1
- package/dist/agent/durable-background.js +27 -11
- package/dist/agent/durable-background.js.map +1 -1
- package/dist/agent/production-agent.d.ts +7 -0
- package/dist/agent/production-agent.d.ts.map +1 -1
- package/dist/agent/production-agent.js +4 -1
- package/dist/agent/production-agent.js.map +1 -1
- package/dist/agent/run-loop-with-resume.d.ts +2 -1
- package/dist/agent/run-loop-with-resume.d.ts.map +1 -1
- package/dist/agent/run-loop-with-resume.js +2 -2
- package/dist/agent/run-loop-with-resume.js.map +1 -1
- package/dist/brand-kit/fig/index.d.ts +4 -4
- package/dist/brand-kit/fig/index.d.ts.map +1 -1
- package/dist/brand-kit/fig/index.js +14 -27
- package/dist/brand-kit/fig/index.js.map +1 -1
- package/dist/cli/create.d.ts.map +1 -1
- package/dist/cli/create.js +1 -0
- package/dist/cli/create.js.map +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/mcp-config-writers.d.ts +15 -7
- package/dist/cli/mcp-config-writers.d.ts.map +1 -1
- package/dist/cli/mcp-config-writers.js +198 -45
- package/dist/cli/mcp-config-writers.js.map +1 -1
- package/dist/cli/skills.d.ts +1 -1
- package/dist/cli/skills.d.ts.map +1 -1
- package/dist/cli/skills.js +18 -3
- package/dist/cli/skills.js.map +1 -1
- package/dist/client/AssistantChat.d.ts.map +1 -1
- package/dist/client/AssistantChat.js +11 -1
- package/dist/client/AssistantChat.js.map +1 -1
- package/dist/client/agent-chat.d.ts.map +1 -1
- package/dist/client/agent-chat.js +15 -2
- package/dist/client/agent-chat.js.map +1 -1
- package/dist/client/composer/PromptComposer.d.ts.map +1 -1
- package/dist/client/composer/PromptComposer.js +35 -1
- package/dist/client/composer/PromptComposer.js.map +1 -1
- package/dist/client/org/OrgSwitcher.js +1 -1
- package/dist/client/org/OrgSwitcher.js.map +1 -1
- package/dist/client/sharing/ShareButton.d.ts +1 -1
- package/dist/client/sharing/ShareButton.d.ts.map +1 -1
- package/dist/client/sharing/ShareButton.js +2 -15
- package/dist/client/sharing/ShareButton.js.map +1 -1
- package/dist/collab/presence.d.ts +1 -1
- package/dist/collab/presence.js +1 -1
- package/dist/collab/presence.js.map +1 -1
- package/dist/collab/routes.d.ts +1 -1
- package/dist/file-upload/actions/upload-image.d.ts +2 -2
- package/dist/mcp/connect-route.d.ts.map +1 -1
- package/dist/mcp/connect-route.js +34 -5
- package/dist/mcp/connect-route.js.map +1 -1
- package/dist/notifications/routes.d.ts +2 -2
- package/dist/observability/routes.d.ts +8 -8
- package/dist/resources/handlers.d.ts +1 -1
- package/dist/server/action-discovery.d.ts.map +1 -1
- package/dist/server/action-discovery.js +5 -0
- package/dist/server/action-discovery.js.map +1 -1
- package/dist/server/agent-chat-plugin.d.ts +6 -0
- package/dist/server/agent-chat-plugin.d.ts.map +1 -1
- package/dist/server/agent-chat-plugin.js +12 -3
- package/dist/server/agent-chat-plugin.js.map +1 -1
- package/dist/server/agent-engine-api-key-route.d.ts +1 -1
- package/dist/sharing/registry.d.ts.map +1 -1
- package/dist/sharing/registry.js +11 -0
- package/dist/sharing/registry.js.map +1 -1
- package/dist/templates/default/pnpm-workspace.yaml +1 -0
- package/dist/templates/workspace-root/pnpm-workspace.yaml +1 -0
- package/docs/content/locales/ar-SA/real-time-collaboration.mdx +2 -2
- package/docs/content/locales/ar-SA/template-design.mdx +1 -1
- package/docs/content/locales/de-DE/real-time-collaboration.mdx +3 -3
- package/docs/content/locales/de-DE/template-design.mdx +1 -1
- package/docs/content/locales/es-ES/real-time-collaboration.mdx +2 -2
- package/docs/content/locales/es-ES/template-design.mdx +1 -1
- package/docs/content/locales/fr-FR/real-time-collaboration.mdx +2 -2
- package/docs/content/locales/fr-FR/template-design.mdx +1 -1
- package/docs/content/locales/hi-IN/template-design.mdx +1 -1
- package/docs/content/locales/ja-JP/real-time-collaboration.mdx +2 -2
- package/docs/content/locales/ja-JP/template-design.mdx +1 -1
- package/docs/content/locales/ko-KR/real-time-collaboration.mdx +2 -2
- package/docs/content/locales/ko-KR/template-design.mdx +1 -1
- package/docs/content/locales/pt-BR/real-time-collaboration.mdx +2 -2
- package/docs/content/locales/pt-BR/template-design.mdx +1 -1
- package/docs/content/locales/zh-CN/real-time-collaboration.mdx +2 -2
- package/docs/content/locales/zh-CN/template-design.mdx +1 -1
- package/docs/content/locales/zh-TW/real-time-collaboration.mdx +2 -2
- package/docs/content/locales/zh-TW/template-design.mdx +1 -1
- package/docs/content/real-time-collaboration.mdx +2 -2
- package/docs/content/template-design.mdx +1 -1
- package/package.json +3 -7
- package/src/templates/default/pnpm-workspace.yaml +1 -0
- package/src/templates/workspace-root/pnpm-workspace.yaml +1 -0
- package/corpus/core/src/brand-kit/fig/decode.ts +0 -410
- package/corpus/core/src/brand-kit/fig/extract-design-system.ts +0 -947
- package/corpus/core/src/brand-kit/fig/fig-to-html.ts +0 -1906
- package/corpus/templates/design/actions/import-figma.ts +0 -55
- package/corpus/templates/design/changelog/2026-06-28-figma-style-code-design-mode.md +0 -6
- package/corpus/templates/design/server/handlers/import-figma-system.ts +0 -86
- package/corpus/templates/design/server/routes/api/import-figma-system.post.ts +0 -1
- package/corpus/templates/slides/server/handlers/import-figma-system.ts +0 -101
- package/corpus/templates/slides/server/routes/api/import-figma-system.post.ts +0 -1
- package/dist/brand-kit/fig/decode.d.ts +0 -33
- package/dist/brand-kit/fig/decode.d.ts.map +0 -1
- package/dist/brand-kit/fig/decode.js +0 -358
- package/dist/brand-kit/fig/decode.js.map +0 -1
- package/dist/brand-kit/fig/extract-design-system.d.ts +0 -44
- package/dist/brand-kit/fig/extract-design-system.d.ts.map +0 -1
- package/dist/brand-kit/fig/extract-design-system.js +0 -752
- package/dist/brand-kit/fig/extract-design-system.js.map +0 -1
- package/dist/brand-kit/fig/fig-to-html.d.ts +0 -246
- package/dist/brand-kit/fig/fig-to-html.d.ts.map +0 -1
- package/dist/brand-kit/fig/fig-to-html.js +0 -1506
- package/dist/brand-kit/fig/fig-to-html.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IconPhotoPlus, IconX } from "@tabler/icons-react";
|
|
2
|
-
import { useRef, useState } from "react";
|
|
2
|
+
import { useEffect, useRef, useState } from "react";
|
|
3
3
|
|
|
4
4
|
import { Input } from "@/components/ui/input";
|
|
5
5
|
import {
|
|
@@ -45,7 +45,7 @@ function imageFitMarker(fit: ImageFitMode): string {
|
|
|
45
45
|
|
|
46
46
|
/**
|
|
47
47
|
* Build the CSS `background` shorthand for an image fill.
|
|
48
|
-
* Maps
|
|
48
|
+
* Maps the design editor's fit semantics onto background-size / background-repeat:
|
|
49
49
|
* - Fill → cover, no-repeat
|
|
50
50
|
* - Fit → contain, no-repeat
|
|
51
51
|
* - Crop → cover, no-repeat (cropped to the box; identical CSS to Fill but
|
|
@@ -79,6 +79,11 @@ export function parseImageFillCss(value: string): ImageFillValue | null {
|
|
|
79
79
|
const url = match[2];
|
|
80
80
|
const marker = value.match(FIT_MARKER_RE)?.[1] as ImageFitMode | undefined;
|
|
81
81
|
if (marker) return { url, fit: marker };
|
|
82
|
+
// Heuristic fallback when no marker comment is present (e.g. CSS pasted from
|
|
83
|
+
// DevTools or Figma inspect). Note: "crop" and "fill" produce identical CSS
|
|
84
|
+
// (center / cover no-repeat), so external CSS without the marker comment will
|
|
85
|
+
// always parse as "fill". Crop mode is only recoverable via the proprietary
|
|
86
|
+
// agent-native-image-fit marker written by imageFillToCss.
|
|
82
87
|
let fit: ImageFitMode = "fill";
|
|
83
88
|
if (/contain/i.test(value)) fit = "fit";
|
|
84
89
|
else if (/repeat(?!\s+no)/i.test(value) && !/no-repeat/i.test(value))
|
|
@@ -105,6 +110,10 @@ export function ImageFillControls({
|
|
|
105
110
|
const fileInputRef = useRef<HTMLInputElement>(null);
|
|
106
111
|
const [urlDraft, setUrlDraft] = useState(value.url);
|
|
107
112
|
|
|
113
|
+
useEffect(() => {
|
|
114
|
+
setUrlDraft(value.url);
|
|
115
|
+
}, [value.url]);
|
|
116
|
+
|
|
108
117
|
const commitUrl = () => {
|
|
109
118
|
onChange({ ...value, url: urlDraft.trim() });
|
|
110
119
|
};
|
|
@@ -132,7 +141,7 @@ export function ImageFillControls({
|
|
|
132
141
|
className="relative h-24 w-full overflow-hidden rounded-md border border-border/60"
|
|
133
142
|
style={{
|
|
134
143
|
backgroundImage: value.url
|
|
135
|
-
? `url("${value.url}")`
|
|
144
|
+
? `url("${value.url.trim().replace(/["')]/g, encodeURIComponent)}")`
|
|
136
145
|
: CHECKERBOARD_IMAGE,
|
|
137
146
|
backgroundSize: value.url
|
|
138
147
|
? value.fit === "fit"
|
|
@@ -142,7 +151,7 @@ export function ImageFillControls({
|
|
|
142
151
|
: "cover"
|
|
143
152
|
: "8px 8px, 8px 8px, 8px 8px, 8px 8px",
|
|
144
153
|
backgroundRepeat: value.fit === "tile" ? "repeat" : "no-repeat",
|
|
145
|
-
backgroundPosition: "center",
|
|
154
|
+
backgroundPosition: value.fit === "tile" ? "top left" : "center",
|
|
146
155
|
}}
|
|
147
156
|
>
|
|
148
157
|
{!value.url && (
|
|
@@ -8,30 +8,30 @@ Do NOT rely on line numbers — they drift. Use the search strings instead.
|
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
-
## (a)
|
|
11
|
+
## (a) DesignColorPicker.tsx — Add `"shader"` fill type
|
|
12
12
|
|
|
13
|
-
**File:** `app/components/design/inspector/
|
|
13
|
+
**File:** `app/components/design/inspector/DesignColorPicker.tsx`
|
|
14
14
|
|
|
15
|
-
### 1. Extend `
|
|
15
|
+
### 1. Extend `DesignFillType`
|
|
16
16
|
|
|
17
17
|
Search for:
|
|
18
18
|
|
|
19
19
|
```ts
|
|
20
|
-
export type
|
|
20
|
+
export type DesignFillType = "solid" | "gradient" | "image";
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
Replace with:
|
|
24
24
|
|
|
25
25
|
```ts
|
|
26
|
-
export type
|
|
26
|
+
export type DesignFillType = "solid" | "gradient" | "image" | "shader";
|
|
27
27
|
```
|
|
28
28
|
|
|
29
|
-
### 2. Extend `
|
|
29
|
+
### 2. Extend `DesignPaintType`
|
|
30
30
|
|
|
31
31
|
Search for:
|
|
32
32
|
|
|
33
33
|
```ts
|
|
34
|
-
export type
|
|
34
|
+
export type DesignPaintType =
|
|
35
35
|
| "solid"
|
|
36
36
|
| "linear"
|
|
37
37
|
| "radial"
|
|
@@ -43,7 +43,7 @@ export type FigmaPaintType =
|
|
|
43
43
|
Replace with:
|
|
44
44
|
|
|
45
45
|
```ts
|
|
46
|
-
export type
|
|
46
|
+
export type DesignPaintType =
|
|
47
47
|
| "solid"
|
|
48
48
|
| "linear"
|
|
49
49
|
| "radial"
|
|
@@ -53,7 +53,7 @@ export type FigmaPaintType =
|
|
|
53
53
|
| "shader";
|
|
54
54
|
```
|
|
55
55
|
|
|
56
|
-
### 3. Add `canUseShaders` prop to `
|
|
56
|
+
### 3. Add `canUseShaders` prop to `DesignColorPickerProps`
|
|
57
57
|
|
|
58
58
|
Search for:
|
|
59
59
|
|
|
@@ -407,10 +407,10 @@ shader token picker.
|
|
|
407
407
|
|
|
408
408
|
## Integration Checklist
|
|
409
409
|
|
|
410
|
-
- [ ] `
|
|
411
|
-
- [ ] `
|
|
412
|
-
- [ ] `
|
|
413
|
-
- [ ] `
|
|
410
|
+
- [ ] `DesignColorPicker.tsx` — `DesignFillType` includes `"shader"`
|
|
411
|
+
- [ ] `DesignColorPicker.tsx` — `DesignPaintType` includes `"shader"`
|
|
412
|
+
- [ ] `DesignColorPicker.tsx` — shader button renders in paint-type row
|
|
413
|
+
- [ ] `DesignColorPicker.tsx` — `ShaderControls` renders when `paintType === "shader"`
|
|
414
414
|
- [ ] `EditPanel.tsx` — `ShaderEffectRow` renders in `EffectsProperties`
|
|
415
415
|
- [ ] `EditPanel.tsx` — "Add Shader" option in effects dropdown
|
|
416
416
|
- [ ] `actions/apply-shader.ts` exists
|
|
@@ -78,7 +78,7 @@ export function ScrubInput({
|
|
|
78
78
|
const dragRef = useRef({
|
|
79
79
|
pointerId: -1,
|
|
80
80
|
startX: 0,
|
|
81
|
-
|
|
81
|
+
prevX: 0,
|
|
82
82
|
hasDragged: false,
|
|
83
83
|
});
|
|
84
84
|
|
|
@@ -112,7 +112,7 @@ export function ScrubInput({
|
|
|
112
112
|
event.preventDefault();
|
|
113
113
|
const direction = event.key === "ArrowUp" ? 1 : -1;
|
|
114
114
|
// getScrubStepFromEvent handles shiftKey (×10) and altKey (÷10).
|
|
115
|
-
// Cmd (metaKey) mirrors Shift for ×10 —
|
|
115
|
+
// Cmd (metaKey) mirrors Shift for ×10 — editor convention on macOS.
|
|
116
116
|
const baseStep = getScrubStepFromEvent(event, step);
|
|
117
117
|
const cmdMultiplier = event.metaKey && !event.shiftKey ? 10 : 1;
|
|
118
118
|
setNextValue(value + direction * baseStep * cmdMultiplier, {
|
|
@@ -143,7 +143,7 @@ export function ScrubInput({
|
|
|
143
143
|
dragRef.current = {
|
|
144
144
|
pointerId: event.pointerId,
|
|
145
145
|
startX: event.clientX,
|
|
146
|
-
|
|
146
|
+
prevX: event.clientX,
|
|
147
147
|
hasDragged: false,
|
|
148
148
|
};
|
|
149
149
|
event.currentTarget.setPointerCapture(event.pointerId);
|
|
@@ -152,12 +152,16 @@ export function ScrubInput({
|
|
|
152
152
|
|
|
153
153
|
const handlePointerMove = (event: PointerEvent<HTMLLabelElement>) => {
|
|
154
154
|
if (!dragging || dragRef.current.pointerId !== event.pointerId) return;
|
|
155
|
-
const
|
|
156
|
-
if (
|
|
155
|
+
const incr = event.clientX - dragRef.current.prevX;
|
|
156
|
+
if (incr === 0) return;
|
|
157
|
+
dragRef.current.prevX = event.clientX;
|
|
157
158
|
dragRef.current.hasDragged = true;
|
|
159
|
+
// Use incremental deltas from the last move so that clamped/rounded values
|
|
160
|
+
// committed by onChange are respected. A total-delta approach would create
|
|
161
|
+
// a dead zone equal to the amount dragged past the clamp boundary.
|
|
158
162
|
const next =
|
|
159
|
-
|
|
160
|
-
|
|
163
|
+
value +
|
|
164
|
+
incr *
|
|
161
165
|
getScrubStepFromEvent(
|
|
162
166
|
{ altKey: event.altKey, shiftKey: event.shiftKey },
|
|
163
167
|
step,
|
|
@@ -171,7 +175,7 @@ export function ScrubInput({
|
|
|
171
175
|
const wasDrag = dragRef.current.hasDragged;
|
|
172
176
|
setDragging(false);
|
|
173
177
|
// If the pointer was released without dragging (a plain click), focus the
|
|
174
|
-
// input so the user can type immediately — mirrors
|
|
178
|
+
// input so the user can type immediately — mirrors the design editor's label click
|
|
175
179
|
// behaviour (the event.preventDefault() in handlePointerDown blocks the
|
|
176
180
|
// native label→input focus transfer).
|
|
177
181
|
if (!wasDrag && !disabled) {
|
|
@@ -227,7 +231,7 @@ export function ScrubInput({
|
|
|
227
231
|
onChange={(event) => setDraft(event.target.value)}
|
|
228
232
|
onKeyDown={handleKeyDown}
|
|
229
233
|
className={cn(
|
|
230
|
-
// Compact
|
|
234
|
+
// Compact design-editor: h-6, 11px tabular text, ring-1 with no offset.
|
|
231
235
|
"h-6 text-[11px] tabular-nums",
|
|
232
236
|
"focus-visible:ring-1 focus-visible:ring-offset-0",
|
|
233
237
|
inputClassName,
|
|
@@ -151,7 +151,7 @@ function ParamLabel({ children }: { children: React.ReactNode }) {
|
|
|
151
151
|
}
|
|
152
152
|
|
|
153
153
|
// ---------------------------------------------------------------------------
|
|
154
|
-
// Color swatch button —
|
|
154
|
+
// Color swatch button — design-editor style: rounded rect swatch + hex label inline
|
|
155
155
|
// ---------------------------------------------------------------------------
|
|
156
156
|
|
|
157
157
|
interface ColorSwatchProps {
|
|
@@ -161,6 +161,14 @@ interface ColorSwatchProps {
|
|
|
161
161
|
}
|
|
162
162
|
|
|
163
163
|
function ColorSwatch({ color, label, onChange }: ColorSwatchProps) {
|
|
164
|
+
// <input type="color"> only accepts 6-digit hex; strip any alpha suffix before
|
|
165
|
+
// passing as value, then reattach it when the user picks a new color so alpha
|
|
166
|
+
// is preserved rather than silently dropped.
|
|
167
|
+
const sixDigit =
|
|
168
|
+
color.length === 9 && color.startsWith("#") ? color.slice(0, 7) : color;
|
|
169
|
+
const alphaSuffix =
|
|
170
|
+
color.length === 9 && color.startsWith("#") ? color.slice(7) : "";
|
|
171
|
+
|
|
164
172
|
return (
|
|
165
173
|
<Tooltip>
|
|
166
174
|
<TooltipTrigger asChild>
|
|
@@ -178,8 +186,8 @@ function ColorSwatch({ color, label, onChange }: ColorSwatchProps) {
|
|
|
178
186
|
</span>
|
|
179
187
|
<input
|
|
180
188
|
type="color"
|
|
181
|
-
value={
|
|
182
|
-
onChange={(e) => onChange(e.target.value)}
|
|
189
|
+
value={sixDigit}
|
|
190
|
+
onChange={(e) => onChange(e.target.value + alphaSuffix)}
|
|
183
191
|
className="sr-only"
|
|
184
192
|
aria-label={label}
|
|
185
193
|
/>
|
|
@@ -387,11 +395,12 @@ export function ShaderControls({
|
|
|
387
395
|
}
|
|
388
396
|
}
|
|
389
397
|
|
|
398
|
+
setAnimated(false);
|
|
390
399
|
onChange({
|
|
391
400
|
preset: newPreset.name,
|
|
392
401
|
params: defaults,
|
|
393
402
|
colors: newPreset.defaultColors ?? undefined,
|
|
394
|
-
speed:
|
|
403
|
+
speed: 0,
|
|
395
404
|
frame: descriptor.frame,
|
|
396
405
|
});
|
|
397
406
|
}
|
|
@@ -287,13 +287,13 @@ export function ShaderFillsPanel({
|
|
|
287
287
|
);
|
|
288
288
|
}
|
|
289
289
|
|
|
290
|
-
// ── Browse view:
|
|
290
|
+
// ── Browse view: design-editor title + search + Created by you + Library presets ───
|
|
291
291
|
return (
|
|
292
292
|
<div className="flex flex-col">
|
|
293
293
|
{/* Header: "Shader fills" title + + button + × button */}
|
|
294
294
|
<div className="flex h-6 items-center gap-1 px-3">
|
|
295
295
|
<span className="flex-1 truncate text-[11px] font-semibold text-foreground">
|
|
296
|
-
{"Shader fills" /* i18n-ignore
|
|
296
|
+
{"Shader fills" /* i18n-ignore design panel title */}
|
|
297
297
|
</span>
|
|
298
298
|
<Tooltip>
|
|
299
299
|
<TooltipTrigger asChild>
|
|
@@ -351,7 +351,7 @@ export function ShaderFillsPanel({
|
|
|
351
351
|
{!search && (
|
|
352
352
|
<section className="mb-3">
|
|
353
353
|
<p className="mb-1.5 text-[10px] font-semibold text-muted-foreground">
|
|
354
|
-
{"Created by you" /* i18n-ignore
|
|
354
|
+
{"Created by you" /* i18n-ignore design section */}
|
|
355
355
|
</p>
|
|
356
356
|
{/* 2-col grid — "Create new" tile occupies the first cell */}
|
|
357
357
|
<div className="grid grid-cols-2 gap-2">
|
|
@@ -372,18 +372,18 @@ export function ShaderFillsPanel({
|
|
|
372
372
|
</span>
|
|
373
373
|
<IconPlus className="size-4" />
|
|
374
374
|
<span className="text-[10px]">
|
|
375
|
-
{"Create new" /* i18n-ignore
|
|
375
|
+
{"Create new" /* i18n-ignore design create tile */}
|
|
376
376
|
</span>
|
|
377
377
|
</button>
|
|
378
378
|
</div>
|
|
379
379
|
</section>
|
|
380
380
|
)}
|
|
381
381
|
|
|
382
|
-
{/* ──
|
|
382
|
+
{/* ── Library presets — 2-col preset thumbnail grid ── */}
|
|
383
383
|
<section>
|
|
384
384
|
{!search && (
|
|
385
385
|
<p className="mb-1.5 text-[10px] font-semibold text-muted-foreground">
|
|
386
|
-
{"
|
|
386
|
+
{"Library presets" /* i18n-ignore design section */}
|
|
387
387
|
</p>
|
|
388
388
|
)}
|
|
389
389
|
{filtered.length === 0 ? (
|
package/corpus/templates/design/app/components/design/inspector/{figma-icons.tsx → design-icons.tsx}
RENAMED
|
@@ -378,7 +378,7 @@ export function IconResizeToFit({ className }: IconProps) {
|
|
|
378
378
|
}
|
|
379
379
|
|
|
380
380
|
// Auto-layout toggle "on" — rounded rectangle with two small boxes arranged in a row inside
|
|
381
|
-
// Matches
|
|
381
|
+
// Matches the design editor's blue auto-layout indicator glyph
|
|
382
382
|
export function IconAutoLayoutOn({ className }: IconProps) {
|
|
383
383
|
return (
|
|
384
384
|
<svg
|
|
@@ -583,7 +583,7 @@ export function IconAlignRight({ className }: IconProps) {
|
|
|
583
583
|
}
|
|
584
584
|
|
|
585
585
|
// ─────────────────────────────────────────────────
|
|
586
|
-
// W/H sizing-menu glyphs (
|
|
586
|
+
// W/H sizing-menu glyphs (design resizing dropdown rows)
|
|
587
587
|
// ─────────────────────────────────────────────────
|
|
588
588
|
|
|
589
589
|
// Sizing: Fixed — a bar bounded by two end-stops (⊢ / fixed dimension)
|
|
@@ -36,18 +36,18 @@ export {
|
|
|
36
36
|
type ExportSettingsValue,
|
|
37
37
|
} from "./ExportSettingsPanel";
|
|
38
38
|
export {
|
|
39
|
-
|
|
40
|
-
type
|
|
41
|
-
type
|
|
42
|
-
type
|
|
43
|
-
type
|
|
44
|
-
type
|
|
45
|
-
type
|
|
46
|
-
type
|
|
47
|
-
type
|
|
48
|
-
type
|
|
49
|
-
type
|
|
50
|
-
} from "./
|
|
39
|
+
DesignColorPicker,
|
|
40
|
+
type DesignColorMode,
|
|
41
|
+
type DesignColorPickerLabels,
|
|
42
|
+
type DesignColorPickerProps,
|
|
43
|
+
type DesignFillRow,
|
|
44
|
+
type DesignFillRowPatch,
|
|
45
|
+
type DesignFillType,
|
|
46
|
+
type DesignGradientStop,
|
|
47
|
+
type DesignGradientStopPatch,
|
|
48
|
+
type DesignGradientType,
|
|
49
|
+
type DesignPaintType,
|
|
50
|
+
} from "./DesignColorPicker";
|
|
51
51
|
export {
|
|
52
52
|
GradientEditor,
|
|
53
53
|
defaultGradient,
|
|
@@ -69,9 +69,12 @@ export function getScrubStepFromEvent(
|
|
|
69
69
|
event: Pick<KeyboardEvent | PointerEvent, "altKey" | "shiftKey">,
|
|
70
70
|
step: number,
|
|
71
71
|
): number {
|
|
72
|
+
// Alt (fine-step) and Shift (coarse) are mutually exclusive — alt takes
|
|
73
|
+
// priority, matching Figma's modifier convention. Applying both independently
|
|
74
|
+
// would make Shift+Alt a no-op (×10 × 0.1 = ×1).
|
|
72
75
|
let multiplier = 1;
|
|
73
|
-
if (event.
|
|
74
|
-
if (event.
|
|
76
|
+
if (event.altKey) multiplier = 0.1;
|
|
77
|
+
else if (event.shiftKey) multiplier = 10;
|
|
75
78
|
return step * multiplier;
|
|
76
79
|
}
|
|
77
80
|
|
|
@@ -307,7 +307,7 @@ export default function PromptPopover({
|
|
|
307
307
|
panel.style.left = left + "px";
|
|
308
308
|
panel.style.right = "auto";
|
|
309
309
|
panel.style.transform = "none";
|
|
310
|
-
});
|
|
310
|
+
}, [open, centered, anchorRef]);
|
|
311
311
|
|
|
312
312
|
// Close on outside click / escape
|
|
313
313
|
useEffect(() => {
|
|
@@ -410,7 +410,7 @@ export default function PromptPopover({
|
|
|
410
410
|
if (name !== "chooseImage" && name !== "chooseAsset") return;
|
|
411
411
|
const url = pickedAssetImageSource(payload);
|
|
412
412
|
if (!url) {
|
|
413
|
-
toast.error("
|
|
413
|
+
toast.error(t("promptDialog.assetsNoImageUrl"));
|
|
414
414
|
return;
|
|
415
415
|
}
|
|
416
416
|
|
|
@@ -433,7 +433,7 @@ export default function PromptPopover({
|
|
|
433
433
|
setAssetsPickerOpen(false);
|
|
434
434
|
toast.success(t("promptDialog.assetAdded"));
|
|
435
435
|
},
|
|
436
|
-
[],
|
|
436
|
+
[t],
|
|
437
437
|
);
|
|
438
438
|
|
|
439
439
|
const removePickedAsset = useCallback((path: string) => {
|
|
@@ -2,6 +2,7 @@ import {
|
|
|
2
2
|
AgentSidebar,
|
|
3
3
|
isEmbedAuthActive,
|
|
4
4
|
getBrowserTabId,
|
|
5
|
+
useSession,
|
|
5
6
|
useT,
|
|
6
7
|
} from "@agent-native/core/client";
|
|
7
8
|
import { IconMenu2 } from "@tabler/icons-react";
|
|
@@ -44,9 +45,11 @@ const BARE_PREFIXES = ["/present/"];
|
|
|
44
45
|
const EDITOR_PREFIXES = ["/design/", "/extensions"];
|
|
45
46
|
|
|
46
47
|
export function Layout({ children }: LayoutProps) {
|
|
47
|
-
useNavigationState();
|
|
48
48
|
const location = useLocation();
|
|
49
49
|
const t = useT();
|
|
50
|
+
const { session } = useSession();
|
|
51
|
+
const hasSession = Boolean(session?.email);
|
|
52
|
+
useNavigationState(hasSession);
|
|
50
53
|
const [mobileSidebarOpen, setMobileSidebarOpen] = useState(false);
|
|
51
54
|
const openMobileSidebar = useCallback(() => setMobileSidebarOpen(true), []);
|
|
52
55
|
|
|
@@ -78,7 +81,7 @@ export function Layout({ children }: LayoutProps) {
|
|
|
78
81
|
const showMobileTopBar = !isDesignEditor;
|
|
79
82
|
const embedded = isEmbedAuthActive();
|
|
80
83
|
|
|
81
|
-
if (embedded) {
|
|
84
|
+
if (embedded || (isDesignEditor && !hasSession)) {
|
|
82
85
|
return (
|
|
83
86
|
<HeaderActionsProvider>
|
|
84
87
|
<MobileSidebarContext.Provider value={null}>
|
|
@@ -62,7 +62,7 @@ export function Sidebar() {
|
|
|
62
62
|
return (
|
|
63
63
|
<aside
|
|
64
64
|
className={cn(
|
|
65
|
-
"flex h-full min-w-0 shrink-0 flex-col overflow-hidden
|
|
65
|
+
"flex h-full min-w-0 shrink-0 flex-col overflow-hidden bg-sidebar text-sidebar-foreground transition-[width] duration-200 ease-out",
|
|
66
66
|
collapsed ? "w-14" : "w-56",
|
|
67
67
|
)}
|
|
68
68
|
>
|