@agent-native/core 0.117.2 → 0.118.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/corpus/README.md +3 -3
- package/corpus/core/CHANGELOG.md +30 -0
- package/corpus/core/docs/content/custom-design-system.mdx +445 -0
- package/corpus/core/docs/content/toolkit-ui.mdx +16 -0
- package/corpus/core/package.json +1 -1
- package/corpus/core/src/a2a/types.ts +1 -0
- package/corpus/core/src/agent/types.ts +1 -1
- package/corpus/core/src/client/AgentPanel.tsx +90 -107
- package/corpus/core/src/client/AssistantChat.tsx +30 -13
- package/corpus/core/src/client/CommandMenu.tsx +68 -178
- package/corpus/core/src/client/agent-chat-adapter.ts +3 -1
- package/corpus/core/src/client/app-providers.tsx +1 -1
- package/corpus/core/src/client/chat/message-components.tsx +116 -10
- package/corpus/core/src/client/chat/tool-call-display.tsx +26 -5
- package/corpus/core/src/client/chat/widgets/InlineExtensionWidget.tsx +14 -40
- package/corpus/core/src/client/components/ui/message-scroller.tsx +15 -1
- package/corpus/core/src/client/i18n.tsx +22 -0
- package/corpus/core/src/client/index.ts +17 -0
- package/corpus/core/src/client/org/TeamPage.tsx +257 -153
- package/corpus/core/src/client/progress/RunsTray.tsx +89 -88
- package/corpus/core/src/client/resources/McpConnectionSuggestion.tsx +5 -2
- package/corpus/core/src/client/resources/McpIntegrationDialog.tsx +34 -13
- package/corpus/core/src/client/resources/mcp-integration-catalog.ts +13 -0
- package/corpus/core/src/client/settings/DemoModeSection.tsx +6 -18
- package/corpus/core/src/client/settings/SecretsSection.tsx +97 -52
- package/corpus/core/src/client/settings/SettingsPanel.tsx +202 -246
- package/corpus/core/src/client/settings/SettingsTabsPage.tsx +23 -2
- package/corpus/core/src/client/settings/VoiceTranscriptionSection.tsx +7 -18
- package/corpus/core/src/client/settings/index.ts +7 -0
- package/corpus/core/src/client/settings/useSettingsPanelController.ts +155 -0
- package/corpus/core/src/client/setup-connections/BuilderConnectCard.tsx +116 -51
- package/corpus/core/src/client/setup-connections/index.ts +10 -0
- package/corpus/core/src/client/setup-connections/useBuilderConnectCardController.ts +82 -0
- package/corpus/core/src/client/sharing/ShareButton.tsx +64 -586
- package/corpus/core/src/client/sharing/ShareDialog.tsx +299 -633
- package/corpus/core/src/client/sharing/index.ts +42 -0
- package/corpus/core/src/client/sharing/share-controller-helpers.ts +318 -0
- package/corpus/core/src/client/sharing/useShareButtonController.ts +600 -0
- package/corpus/core/src/client/sharing/useShareDialogController.ts +559 -0
- package/corpus/core/src/client/sse-event-processor.ts +23 -0
- package/corpus/core/src/client/tool-display.ts +71 -0
- package/corpus/core/src/client/use-agent-engine-configured.ts +12 -19
- package/corpus/core/src/client/use-chat-threads.ts +33 -12
- package/corpus/core/src/localization/default-messages.ts +5 -0
- package/corpus/core/src/mcp-client/oauth-routes.ts +16 -2
- package/corpus/core/src/scripts/call-agent.ts +5 -1
- package/corpus/core/src/server/realtime-voice.ts +1 -1
- package/corpus/core/src/styles/agent-native.css +0 -24
- package/corpus/core/src/templates/default/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
- package/corpus/core/src/templates/default/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/core/src/templates/default/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/core/src/templates/default/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/core/src/templates/default/app/components/ui/toolkit-provider.tsx +10 -0
- package/corpus/core/src/templates/default/app/design-system.ts +3 -0
- package/corpus/core/src/templates/default/app/root.tsx +5 -2
- package/corpus/core/src/templates/default/package.json +1 -0
- package/corpus/core/src/templates/headless/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
- package/corpus/core/src/templates/headless/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/core/src/templates/workspace-core/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
- package/corpus/core/src/templates/workspace-core/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/core/src/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/core/src/templates/workspace-core/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/core/src/vite/client.ts +39 -0
- package/corpus/templates/analytics/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
- package/corpus/templates/analytics/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/analytics/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/analytics/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/analytics/app/components/ui/toolkit-provider.tsx +6 -1
- package/corpus/templates/analytics/app/design-system.ts +3 -0
- package/corpus/templates/assets/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
- package/corpus/templates/assets/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/assets/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/assets/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/assets/app/components/ui/alert.tsx +1 -0
- package/corpus/templates/assets/app/components/ui/toolkit-provider.tsx +6 -1
- package/corpus/templates/assets/app/design-system.ts +3 -0
- package/corpus/templates/assets/app/routes/brand-kits.$id_.presets.$presetId.tsx +26 -30
- package/corpus/templates/brain/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
- package/corpus/templates/brain/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/brain/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/brain/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/brain/app/components/ui/dialog.tsx +1 -0
- package/corpus/templates/brain/app/components/ui/toolkit-provider.tsx +6 -1
- package/corpus/templates/brain/app/design-system.ts +3 -0
- package/corpus/templates/brain/app/routes/sources.tsx +8 -8
- package/corpus/templates/calendar/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
- package/corpus/templates/calendar/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/calendar/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/calendar/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/calendar/app/components/ui/toolkit-provider.tsx +6 -1
- package/corpus/templates/calendar/app/design-system.ts +3 -0
- package/corpus/templates/chat/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
- package/corpus/templates/chat/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/chat/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/chat/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/chat/app/components/ui/toolkit-provider.tsx +6 -1
- package/corpus/templates/chat/app/design-system.ts +3 -0
- package/corpus/templates/clips/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
- package/corpus/templates/clips/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/clips/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/clips/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/clips/app/components/ui/toolkit-provider.tsx +6 -1
- package/corpus/templates/clips/app/design-system.ts +3 -0
- package/corpus/templates/clips/app/routes/_app.library._index.tsx +1 -1
- package/corpus/templates/clips/changelog/2026-07-22-fixed-windows-recordings-aborting-during-the-countdown.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-22-permissions-and-rewind-controls-are-now-grouped-with-clearer.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-22-the-desktop-popover-opens-centered-under-the-menu-bar-icon-o.md +6 -0
- package/corpus/templates/clips/desktop/src/app.tsx +86 -82
- package/corpus/templates/clips/desktop/src/styles.css +13 -0
- package/corpus/templates/clips/desktop/src-tauri/src/lib.rs +10 -1
- package/corpus/templates/clips/desktop/src-tauri/src/shortcuts.rs +37 -2
- package/corpus/templates/clips/desktop/src-tauri/src/tray.rs +18 -0
- package/corpus/templates/content/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
- package/corpus/templates/content/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/content/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/content/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/content/app/components/editor/DocumentToolbar.tsx +41 -59
- package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +41 -41
- package/corpus/templates/content/app/components/editor/database/GalleryView.tsx +2 -1
- package/corpus/templates/content/app/components/editor/database/ListView.tsx +2 -1
- package/corpus/templates/content/app/components/editor/database/TimelineView.tsx +9 -9
- package/corpus/templates/content/app/components/editor/database/sidebar.tsx +7 -7
- package/corpus/templates/content/app/components/editor/database-sources/BuilderSourceReviewDialog.tsx +11 -11
- package/corpus/templates/content/app/components/ui/checkbox.tsx +1 -0
- package/corpus/templates/content/app/components/ui/collapsible.tsx +1 -0
- package/corpus/templates/content/app/components/ui/toolkit-provider.tsx +6 -1
- package/corpus/templates/content/app/design-system.ts +3 -0
- package/corpus/templates/content/app/global.css +29 -3
- package/corpus/templates/content/changelog/2026-07-22-page-actions-are-grouped-into-the-three-dots-menu-for-a-clea.md +6 -0
- package/corpus/templates/crm/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
- package/corpus/templates/crm/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/crm/app/components/crm/CreateCrmRecordDialog.tsx +10 -10
- package/corpus/templates/crm/app/components/crm/CrmDashboardPanel.tsx +1 -6
- package/corpus/templates/crm/app/components/crm/CrmSignalsPanel.tsx +3 -2
- package/corpus/templates/crm/app/components/crm/IntelligenceSettings.tsx +13 -12
- package/corpus/templates/crm/app/components/crm/RecordActions.tsx +17 -17
- package/corpus/templates/crm/app/components/crm/RecordGrid.tsx +8 -8
- package/corpus/templates/crm/app/components/crm/RecordWorkspace.tsx +3 -8
- package/corpus/templates/crm/app/components/crm/SavedViewDataProgram.tsx +2 -1
- package/corpus/templates/crm/app/components/crm/Surface.tsx +3 -2
- package/corpus/templates/crm/app/components/crm/WorkOverview.tsx +2 -2
- package/corpus/templates/crm/app/components/layout/CrmLayout.tsx +7 -7
- package/corpus/templates/crm/app/components/layout/CrmSidebar.tsx +1 -1
- package/corpus/templates/crm/app/components/ui/alert-dialog.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/badge.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/button.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/card.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/dialog.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/input.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/label.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/select.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/sheet.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/skeleton.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/switch.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/table.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/tabs.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/textarea.tsx +1 -0
- package/corpus/templates/crm/app/components/ui/toolkit-provider.tsx +17 -0
- package/corpus/templates/crm/app/design-system.ts +3 -0
- package/corpus/templates/crm/app/root.tsx +9 -6
- package/corpus/templates/crm/app/routes/dashboard.tsx +1 -1
- package/corpus/templates/crm/app/routes/proposals.tsx +13 -13
- package/corpus/templates/crm/app/routes/setup.tsx +9 -9
- package/corpus/templates/crm/app/routes/tasks.tsx +14 -14
- package/corpus/templates/crm/app/routes/views.tsx +16 -16
- package/corpus/templates/design/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
- package/corpus/templates/design/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/design/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/design/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/design/app/components/editor/PromptDialog.tsx +8 -8
- package/corpus/templates/design/app/components/ui/command.tsx +1 -0
- package/corpus/templates/design/app/components/ui/toolkit-provider.tsx +6 -1
- package/corpus/templates/design/app/design-system.ts +3 -0
- package/corpus/templates/dispatch/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
- package/corpus/templates/dispatch/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/dispatch/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/dispatch/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/dispatch/app/components/ui/button.tsx +1 -0
- package/corpus/templates/dispatch/app/components/ui/toolkit-provider.tsx +17 -0
- package/corpus/templates/dispatch/app/design-system.ts +3 -0
- package/corpus/templates/dispatch/app/root.tsx +10 -7
- package/corpus/templates/dispatch/package.json +1 -0
- package/corpus/templates/forms/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
- package/corpus/templates/forms/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/forms/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/forms/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/forms/app/components/ui/toolkit-provider.tsx +6 -1
- package/corpus/templates/forms/app/design-system.ts +3 -0
- package/corpus/templates/macros/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
- package/corpus/templates/macros/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/macros/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/macros/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/macros/app/components/ui/toolkit-provider.tsx +6 -1
- package/corpus/templates/macros/app/design-system.ts +3 -0
- package/corpus/templates/mail/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
- package/corpus/templates/mail/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/mail/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/mail/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/mail/app/components/email/EmailThread.tsx +134 -93
- package/corpus/templates/mail/app/components/email/email-iframe-document.ts +8 -2
- package/corpus/templates/mail/app/components/ui/textarea.tsx +1 -21
- package/corpus/templates/mail/app/components/ui/toolkit-provider.tsx +6 -1
- package/corpus/templates/mail/app/design-system.ts +3 -0
- package/corpus/templates/mail/changelog/2026-07-22-email-messages-no-longer-flash-with-an-unstyled-page-while-l.md +6 -0
- package/corpus/templates/plan/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
- package/corpus/templates/plan/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/plan/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/plan/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/plan/app/components/plan/PlanContentRenderer.tsx +1 -1
- package/corpus/templates/plan/app/components/ui/toolkit-provider.tsx +6 -1
- package/corpus/templates/plan/app/design-system.ts +3 -0
- package/corpus/templates/slides/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
- package/corpus/templates/slides/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/slides/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/slides/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/slides/app/components/ui/toolkit-provider.tsx +6 -1
- package/corpus/templates/slides/app/design-system.ts +3 -0
- package/corpus/templates/tasks/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
- package/corpus/templates/tasks/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/corpus/templates/tasks/.agents/skills/frontend-design/SKILL.md +22 -2
- package/corpus/templates/tasks/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/corpus/templates/tasks/app/components/ui/toolkit-provider.tsx +17 -0
- package/corpus/templates/tasks/app/design-system.ts +3 -0
- package/corpus/templates/tasks/app/root.tsx +5 -2
- package/corpus/toolkit/CHANGELOG.md +14 -0
- package/corpus/toolkit/agent-native.eject.json +71 -0
- package/corpus/toolkit/package.json +31 -1
- package/corpus/toolkit/src/chat-history/ChatHistoryRail.tsx +100 -39
- package/corpus/toolkit/src/chat-history/index.ts +9 -0
- package/corpus/toolkit/src/chat-history/useChatHistoryRailController.ts +76 -0
- package/corpus/toolkit/src/chat-history.css +2 -0
- package/corpus/toolkit/src/composer/ComposerPlusMenu.tsx +11 -8
- package/corpus/toolkit/src/composer/PromptComposer.tsx +27 -6
- package/corpus/toolkit/src/composer/useRealtimeVoiceMode.tsx +107 -22
- package/corpus/toolkit/src/conformance/__fixtures__/css-in-js-adapter.tsx +401 -0
- package/corpus/toolkit/src/conformance/index.ts +3 -0
- package/corpus/toolkit/src/conformance/runner.tsx +710 -0
- package/corpus/toolkit/src/conformance/types.ts +45 -0
- package/corpus/toolkit/src/conformance/version.ts +22 -0
- package/corpus/toolkit/src/design-system/components.tsx +146 -0
- package/corpus/toolkit/src/design-system/context.tsx +31 -0
- package/corpus/toolkit/src/design-system/default-adapter.tsx +915 -0
- package/corpus/toolkit/src/design-system/definition.ts +14 -0
- package/corpus/toolkit/src/design-system/error-boundary.tsx +37 -0
- package/corpus/toolkit/src/design-system/index.ts +7 -0
- package/corpus/toolkit/src/design-system/theme.ts +145 -0
- package/corpus/toolkit/src/design-system/types.ts +363 -0
- package/corpus/toolkit/src/provider.tsx +98 -5
- package/corpus/toolkit/src/ui/button.tsx +95 -6
- package/corpus/toolkit/src/ui/dialog.tsx +48 -23
- package/corpus/toolkit/src/ui/popover.tsx +16 -2
- package/corpus/toolkit/src/ui/select.tsx +7 -3
- package/corpus/toolkit/src/ui/sidebar.tsx +47 -48
- package/corpus/toolkit/src/ui/tooltip.tsx +7 -3
- package/dist/a2a/types.d.ts +1 -1
- package/dist/a2a/types.d.ts.map +1 -1
- package/dist/a2a/types.js.map +1 -1
- package/dist/agent/types.d.ts +1 -1
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/client/AgentPanel.d.ts.map +1 -1
- package/dist/client/AgentPanel.js +14 -14
- package/dist/client/AgentPanel.js.map +1 -1
- package/dist/client/AssistantChat.d.ts.map +1 -1
- package/dist/client/AssistantChat.js +26 -15
- package/dist/client/AssistantChat.js.map +1 -1
- package/dist/client/CommandMenu.d.ts.map +1 -1
- package/dist/client/CommandMenu.js +18 -106
- package/dist/client/CommandMenu.js.map +1 -1
- package/dist/client/agent-chat-adapter.d.ts.map +1 -1
- package/dist/client/agent-chat-adapter.js +2 -1
- package/dist/client/agent-chat-adapter.js.map +1 -1
- package/dist/client/app-providers.d.ts.map +1 -1
- package/dist/client/app-providers.js +1 -1
- package/dist/client/app-providers.js.map +1 -1
- package/dist/client/chat/message-components.d.ts +9 -1
- package/dist/client/chat/message-components.d.ts.map +1 -1
- package/dist/client/chat/message-components.js +62 -7
- package/dist/client/chat/message-components.js.map +1 -1
- package/dist/client/chat/tool-call-display.d.ts.map +1 -1
- package/dist/client/chat/tool-call-display.js +20 -5
- package/dist/client/chat/tool-call-display.js.map +1 -1
- package/dist/client/chat/widgets/InlineExtensionWidget.d.ts.map +1 -1
- package/dist/client/chat/widgets/InlineExtensionWidget.js +9 -12
- package/dist/client/chat/widgets/InlineExtensionWidget.js.map +1 -1
- package/dist/client/components/ui/message-scroller.d.ts +1 -1
- package/dist/client/components/ui/message-scroller.d.ts.map +1 -1
- package/dist/client/components/ui/message-scroller.js +4 -3
- package/dist/client/components/ui/message-scroller.js.map +1 -1
- package/dist/client/i18n.d.ts.map +1 -1
- package/dist/client/i18n.js +9 -0
- package/dist/client/i18n.js.map +1 -1
- package/dist/client/index.d.ts +2 -2
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +2 -2
- package/dist/client/index.js.map +1 -1
- package/dist/client/org/TeamPage.d.ts.map +1 -1
- package/dist/client/org/TeamPage.js +41 -33
- package/dist/client/org/TeamPage.js.map +1 -1
- package/dist/client/progress/RunsTray.d.ts.map +1 -1
- package/dist/client/progress/RunsTray.js +9 -10
- package/dist/client/progress/RunsTray.js.map +1 -1
- package/dist/client/resources/McpConnectionSuggestion.d.ts.map +1 -1
- package/dist/client/resources/McpConnectionSuggestion.js +5 -4
- package/dist/client/resources/McpConnectionSuggestion.js.map +1 -1
- package/dist/client/resources/McpIntegrationDialog.d.ts.map +1 -1
- package/dist/client/resources/McpIntegrationDialog.js +10 -8
- package/dist/client/resources/McpIntegrationDialog.js.map +1 -1
- package/dist/client/resources/mcp-integration-catalog.d.ts +1 -0
- package/dist/client/resources/mcp-integration-catalog.d.ts.map +1 -1
- package/dist/client/resources/mcp-integration-catalog.js +13 -0
- package/dist/client/resources/mcp-integration-catalog.js.map +1 -1
- package/dist/client/settings/DemoModeSection.d.ts.map +1 -1
- package/dist/client/settings/DemoModeSection.js +2 -5
- package/dist/client/settings/DemoModeSection.js.map +1 -1
- package/dist/client/settings/SecretsSection.d.ts.map +1 -1
- package/dist/client/settings/SecretsSection.js +18 -6
- package/dist/client/settings/SecretsSection.js.map +1 -1
- package/dist/client/settings/SettingsPanel.d.ts.map +1 -1
- package/dist/client/settings/SettingsPanel.js +52 -117
- package/dist/client/settings/SettingsPanel.js.map +1 -1
- package/dist/client/settings/SettingsTabsPage.d.ts.map +1 -1
- package/dist/client/settings/SettingsTabsPage.js +16 -1
- package/dist/client/settings/SettingsTabsPage.js.map +1 -1
- package/dist/client/settings/VoiceTranscriptionSection.d.ts.map +1 -1
- package/dist/client/settings/VoiceTranscriptionSection.js +2 -5
- package/dist/client/settings/VoiceTranscriptionSection.js.map +1 -1
- package/dist/client/settings/index.d.ts +1 -0
- package/dist/client/settings/index.d.ts.map +1 -1
- package/dist/client/settings/index.js +1 -0
- package/dist/client/settings/index.js.map +1 -1
- package/dist/client/settings/useSettingsPanelController.d.ts +22 -0
- package/dist/client/settings/useSettingsPanelController.d.ts.map +1 -0
- package/dist/client/settings/useSettingsPanelController.js +103 -0
- package/dist/client/settings/useSettingsPanelController.js.map +1 -0
- package/dist/client/setup-connections/BuilderConnectCard.d.ts +14 -6
- package/dist/client/setup-connections/BuilderConnectCard.d.ts.map +1 -1
- package/dist/client/setup-connections/BuilderConnectCard.js +24 -16
- package/dist/client/setup-connections/BuilderConnectCard.js.map +1 -1
- package/dist/client/setup-connections/index.d.ts +2 -1
- package/dist/client/setup-connections/index.d.ts.map +1 -1
- package/dist/client/setup-connections/index.js +2 -1
- package/dist/client/setup-connections/index.js.map +1 -1
- package/dist/client/setup-connections/useBuilderConnectCardController.d.ts +34 -0
- package/dist/client/setup-connections/useBuilderConnectCardController.d.ts.map +1 -0
- package/dist/client/setup-connections/useBuilderConnectCardController.js +39 -0
- package/dist/client/setup-connections/useBuilderConnectCardController.js.map +1 -0
- package/dist/client/sharing/ShareButton.d.ts +2 -1
- package/dist/client/sharing/ShareButton.d.ts.map +1 -1
- package/dist/client/sharing/ShareButton.js +17 -463
- package/dist/client/sharing/ShareButton.js.map +1 -1
- package/dist/client/sharing/ShareDialog.d.ts +6 -6
- package/dist/client/sharing/ShareDialog.d.ts.map +1 -1
- package/dist/client/sharing/ShareDialog.js +69 -283
- package/dist/client/sharing/ShareDialog.js.map +1 -1
- package/dist/client/sharing/index.d.ts +3 -0
- package/dist/client/sharing/index.d.ts.map +1 -1
- package/dist/client/sharing/index.js +3 -0
- package/dist/client/sharing/index.js.map +1 -1
- package/dist/client/sharing/share-controller-helpers.d.ts +70 -0
- package/dist/client/sharing/share-controller-helpers.d.ts.map +1 -0
- package/dist/client/sharing/share-controller-helpers.js +224 -0
- package/dist/client/sharing/share-controller-helpers.js.map +1 -0
- package/dist/client/sharing/useShareButtonController.d.ts +91 -0
- package/dist/client/sharing/useShareButtonController.d.ts.map +1 -0
- package/dist/client/sharing/useShareButtonController.js +397 -0
- package/dist/client/sharing/useShareButtonController.js.map +1 -0
- package/dist/client/sharing/useShareDialogController.d.ts +109 -0
- package/dist/client/sharing/useShareDialogController.d.ts.map +1 -0
- package/dist/client/sharing/useShareDialogController.js +348 -0
- package/dist/client/sharing/useShareDialogController.js.map +1 -0
- package/dist/client/sse-event-processor.d.ts.map +1 -1
- package/dist/client/sse-event-processor.js +21 -0
- package/dist/client/sse-event-processor.js.map +1 -1
- package/dist/client/tool-display.d.ts +16 -0
- package/dist/client/tool-display.d.ts.map +1 -1
- package/dist/client/tool-display.js +52 -0
- package/dist/client/tool-display.js.map +1 -1
- package/dist/client/use-agent-engine-configured.d.ts +3 -2
- package/dist/client/use-agent-engine-configured.d.ts.map +1 -1
- package/dist/client/use-agent-engine-configured.js +7 -19
- package/dist/client/use-agent-engine-configured.js.map +1 -1
- package/dist/client/use-chat-threads.d.ts.map +1 -1
- package/dist/client/use-chat-threads.js +21 -8
- package/dist/client/use-chat-threads.js.map +1 -1
- package/dist/localization/default-messages.d.ts +4 -0
- package/dist/localization/default-messages.d.ts.map +1 -1
- package/dist/localization/default-messages.js +4 -0
- package/dist/localization/default-messages.js.map +1 -1
- package/dist/mcp-client/oauth-routes.d.ts +2 -0
- package/dist/mcp-client/oauth-routes.d.ts.map +1 -1
- package/dist/mcp-client/oauth-routes.js +12 -2
- package/dist/mcp-client/oauth-routes.js.map +1 -1
- package/dist/observability/routes.d.ts +3 -3
- package/dist/provider-api/actions/custom-provider-registration.d.ts +4 -4
- package/dist/scripts/call-agent.d.ts.map +1 -1
- package/dist/scripts/call-agent.js +5 -1
- package/dist/scripts/call-agent.js.map +1 -1
- package/dist/server/agent-engine-api-key-route.d.ts +1 -1
- package/dist/server/realtime-voice.js +1 -1
- package/dist/server/realtime-voice.js.map +1 -1
- package/dist/server/transcribe-voice.d.ts +1 -1
- package/dist/styles/agent-native.css +0 -24
- package/dist/templates/chat/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
- package/dist/templates/chat/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/dist/templates/chat/.agents/skills/frontend-design/SKILL.md +22 -2
- package/dist/templates/chat/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/dist/templates/chat/app/components/ui/toolkit-provider.tsx +6 -1
- package/dist/templates/chat/app/design-system.ts +3 -0
- package/dist/templates/default/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
- package/dist/templates/default/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/dist/templates/default/.agents/skills/frontend-design/SKILL.md +22 -2
- package/dist/templates/default/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/dist/templates/default/app/components/ui/toolkit-provider.tsx +10 -0
- package/dist/templates/default/app/design-system.ts +3 -0
- package/dist/templates/default/app/root.tsx +5 -2
- package/dist/templates/default/package.json +1 -0
- package/dist/templates/headless/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
- package/dist/templates/headless/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/dist/templates/workspace-core/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
- package/dist/templates/workspace-core/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/dist/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +22 -2
- package/dist/templates/workspace-core/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/dist/vite/client.d.ts +3 -0
- package/dist/vite/client.d.ts.map +1 -1
- package/dist/vite/client.js +31 -0
- package/dist/vite/client.js.map +1 -1
- package/docs/content/custom-design-system.mdx +445 -0
- package/docs/content/toolkit-ui.mdx +16 -0
- package/package.json +2 -2
- package/src/a2a/types.ts +1 -0
- package/src/agent/types.ts +1 -1
- package/src/client/AgentPanel.tsx +90 -107
- package/src/client/AssistantChat.tsx +30 -13
- package/src/client/CommandMenu.tsx +68 -178
- package/src/client/agent-chat-adapter.ts +3 -1
- package/src/client/app-providers.tsx +1 -1
- package/src/client/chat/message-components.tsx +116 -10
- package/src/client/chat/tool-call-display.tsx +26 -5
- package/src/client/chat/widgets/InlineExtensionWidget.tsx +14 -40
- package/src/client/components/ui/message-scroller.tsx +15 -1
- package/src/client/i18n.tsx +22 -0
- package/src/client/index.ts +17 -0
- package/src/client/org/TeamPage.tsx +257 -153
- package/src/client/progress/RunsTray.tsx +89 -88
- package/src/client/resources/McpConnectionSuggestion.tsx +5 -2
- package/src/client/resources/McpIntegrationDialog.tsx +34 -13
- package/src/client/resources/mcp-integration-catalog.ts +13 -0
- package/src/client/settings/DemoModeSection.tsx +6 -18
- package/src/client/settings/SecretsSection.tsx +97 -52
- package/src/client/settings/SettingsPanel.tsx +202 -246
- package/src/client/settings/SettingsTabsPage.tsx +23 -2
- package/src/client/settings/VoiceTranscriptionSection.tsx +7 -18
- package/src/client/settings/index.ts +7 -0
- package/src/client/settings/useSettingsPanelController.ts +155 -0
- package/src/client/setup-connections/BuilderConnectCard.tsx +116 -51
- package/src/client/setup-connections/index.ts +10 -0
- package/src/client/setup-connections/useBuilderConnectCardController.ts +82 -0
- package/src/client/sharing/ShareButton.tsx +64 -586
- package/src/client/sharing/ShareDialog.tsx +299 -633
- package/src/client/sharing/index.ts +42 -0
- package/src/client/sharing/share-controller-helpers.ts +318 -0
- package/src/client/sharing/useShareButtonController.ts +600 -0
- package/src/client/sharing/useShareDialogController.ts +559 -0
- package/src/client/sse-event-processor.ts +23 -0
- package/src/client/tool-display.ts +71 -0
- package/src/client/use-agent-engine-configured.ts +12 -19
- package/src/client/use-chat-threads.ts +33 -12
- package/src/localization/default-messages.ts +5 -0
- package/src/mcp-client/oauth-routes.ts +16 -2
- package/src/scripts/call-agent.ts +5 -1
- package/src/server/realtime-voice.ts +1 -1
- package/src/styles/agent-native.css +0 -24
- package/src/templates/chat/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
- package/src/templates/chat/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/src/templates/chat/.agents/skills/frontend-design/SKILL.md +22 -2
- package/src/templates/chat/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/src/templates/chat/app/components/ui/toolkit-provider.tsx +6 -1
- package/src/templates/chat/app/design-system.ts +3 -0
- package/src/templates/default/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
- package/src/templates/default/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/src/templates/default/.agents/skills/frontend-design/SKILL.md +22 -2
- package/src/templates/default/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/src/templates/default/app/components/ui/toolkit-provider.tsx +10 -0
- package/src/templates/default/app/design-system.ts +3 -0
- package/src/templates/default/app/root.tsx +5 -2
- package/src/templates/default/package.json +1 -0
- package/src/templates/headless/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
- package/src/templates/headless/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/src/templates/workspace-core/.agents/skills/agent-native-toolkit/SKILL.md +37 -2
- package/src/templates/workspace-core/.agents/skills/customizing-agent-native/SKILL.md +86 -11
- package/src/templates/workspace-core/.agents/skills/frontend-design/SKILL.md +22 -2
- package/src/templates/workspace-core/.agents/skills/shadcn-ui/SKILL.md +28 -4
- package/src/vite/client.ts +39 -0
- package/corpus/templates/analytics/app/components/ui/calendar.tsx +0 -70
- package/corpus/templates/analytics/app/components/ui/chart.tsx +0 -386
- package/corpus/templates/calendar/app/components/ui/sonner.tsx +0 -58
- package/corpus/templates/forms/app/components/ui/calendar.tsx +0 -214
- package/corpus/templates/forms/app/components/ui/chart.tsx +0 -379
- package/corpus/templates/forms/app/components/ui/command.tsx +0 -153
- package/corpus/templates/forms/app/components/ui/context-menu.tsx +0 -198
- package/corpus/templates/forms/app/components/ui/menubar.tsx +0 -254
- package/corpus/templates/macros/app/components/ui/menubar.tsx +0 -238
- package/corpus/templates/macros/app/components/ui/progress.tsx +0 -26
- package/corpus/templates/mail/app/components/ui/calendar.tsx +0 -211
- package/corpus/templates/mail/app/components/ui/chart.tsx +0 -379
- package/corpus/templates/mail/app/components/ui/command.tsx +0 -153
- package/corpus/templates/mail/app/components/ui/context-menu.tsx +0 -198
- package/corpus/templates/mail/app/components/ui/menubar.tsx +0 -254
- package/corpus/templates/tasks/app/components/ui/accordion.tsx +0 -56
- package/corpus/templates/tasks/app/components/ui/aspect-ratio.tsx +0 -5
- package/corpus/templates/tasks/app/components/ui/breadcrumb.tsx +0 -115
- package/corpus/templates/tasks/app/components/ui/calendar.tsx +0 -70
- package/corpus/templates/tasks/app/components/ui/carousel.tsx +0 -260
- package/corpus/templates/tasks/app/components/ui/chart.tsx +0 -379
- package/corpus/templates/tasks/app/components/ui/form.tsx +0 -177
- package/corpus/templates/tasks/app/components/ui/hover-card.tsx +0 -27
- package/corpus/templates/tasks/app/components/ui/input-otp.tsx +0 -69
- package/corpus/templates/tasks/app/components/ui/menubar.tsx +0 -254
- package/corpus/templates/tasks/app/components/ui/navigation-menu.tsx +0 -128
- package/corpus/templates/tasks/app/components/ui/pagination.tsx +0 -121
- package/corpus/templates/tasks/app/components/ui/resizable.tsx +0 -43
- package/corpus/templates/tasks/app/components/ui/sidebar.tsx +0 -782
- package/corpus/templates/tasks/app/components/ui/toggle.tsx +0 -43
|
@@ -921,70 +921,15 @@ export function DocumentToolbar({
|
|
|
921
921
|
</>
|
|
922
922
|
)}
|
|
923
923
|
|
|
924
|
-
<Tooltip>
|
|
925
|
-
<TooltipTrigger asChild>
|
|
926
|
-
<button
|
|
927
|
-
type="button"
|
|
928
|
-
className="flex h-9 w-9 items-center justify-center rounded-lg text-muted-foreground hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"
|
|
929
|
-
aria-label={t("editor.toolbar.copyPageLink")}
|
|
930
|
-
onClick={() => void handleCopyPageLink()}
|
|
931
|
-
>
|
|
932
|
-
<IconLink size={16} />
|
|
933
|
-
</button>
|
|
934
|
-
</TooltipTrigger>
|
|
935
|
-
<TooltipContent>{t("editor.toolbar.copyPageLink")}</TooltipContent>
|
|
936
|
-
</Tooltip>
|
|
937
|
-
|
|
938
|
-
<Tooltip>
|
|
939
|
-
<TooltipTrigger asChild>
|
|
940
|
-
<button
|
|
941
|
-
type="button"
|
|
942
|
-
className={cn(
|
|
943
|
-
"flex size-9 items-center justify-center rounded-lg text-muted-foreground hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
|
|
944
|
-
utilityPanel === "info" && "bg-accent text-foreground",
|
|
945
|
-
)}
|
|
946
|
-
aria-label={t("editor.toolbar.info")}
|
|
947
|
-
aria-pressed={utilityPanel === "info"}
|
|
948
|
-
onClick={() =>
|
|
949
|
-
onUtilityPanelChange(utilityPanel === "info" ? null : "info")
|
|
950
|
-
}
|
|
951
|
-
>
|
|
952
|
-
<IconInfoCircle size={16} />
|
|
953
|
-
</button>
|
|
954
|
-
</TooltipTrigger>
|
|
955
|
-
<TooltipContent>{t("editor.toolbar.info")}</TooltipContent>
|
|
956
|
-
</Tooltip>
|
|
957
|
-
|
|
958
|
-
{showCommentsControl ? (
|
|
959
|
-
<Tooltip>
|
|
960
|
-
<TooltipTrigger asChild>
|
|
961
|
-
<button
|
|
962
|
-
type="button"
|
|
963
|
-
className={cn(
|
|
964
|
-
"flex size-9 items-center justify-center rounded-lg text-muted-foreground hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
|
|
965
|
-
utilityPanel === "comments" && "bg-accent text-foreground",
|
|
966
|
-
)}
|
|
967
|
-
aria-label={t("comments.title")}
|
|
968
|
-
aria-pressed={utilityPanel === "comments"}
|
|
969
|
-
onClick={() =>
|
|
970
|
-
onUtilityPanelChange(
|
|
971
|
-
utilityPanel === "comments" ? null : "comments",
|
|
972
|
-
)
|
|
973
|
-
}
|
|
974
|
-
>
|
|
975
|
-
<IconMessageCircle size={16} />
|
|
976
|
-
</button>
|
|
977
|
-
</TooltipTrigger>
|
|
978
|
-
<TooltipContent>{t("comments.title")}</TooltipContent>
|
|
979
|
-
</Tooltip>
|
|
980
|
-
) : null}
|
|
981
|
-
|
|
982
924
|
<DropdownMenu modal={false}>
|
|
983
925
|
<Tooltip>
|
|
984
926
|
<TooltipTrigger asChild>
|
|
985
927
|
<DropdownMenuTrigger asChild>
|
|
986
928
|
<button
|
|
987
|
-
className=
|
|
929
|
+
className={cn(
|
|
930
|
+
"flex h-9 w-9 items-center justify-center rounded-lg text-muted-foreground hover:bg-accent hover:text-foreground",
|
|
931
|
+
utilityPanel && "bg-accent text-foreground",
|
|
932
|
+
)}
|
|
988
933
|
aria-label={t("editor.toolbar.morePageActions")}
|
|
989
934
|
>
|
|
990
935
|
<IconDotsVertical size={16} />
|
|
@@ -996,6 +941,43 @@ export function DocumentToolbar({
|
|
|
996
941
|
</TooltipContent>
|
|
997
942
|
</Tooltip>
|
|
998
943
|
<DropdownMenuContent align="end" className="w-60">
|
|
944
|
+
<DropdownMenuGroup>
|
|
945
|
+
<DropdownMenuItem onSelect={() => void handleCopyPageLink()}>
|
|
946
|
+
<IconLink className="me-2 h-4 w-4" />
|
|
947
|
+
{t("editor.toolbar.copyPageLink")}
|
|
948
|
+
</DropdownMenuItem>
|
|
949
|
+
<DropdownMenuItem
|
|
950
|
+
onSelect={() =>
|
|
951
|
+
onUtilityPanelChange(
|
|
952
|
+
utilityPanel === "info" ? null : "info",
|
|
953
|
+
)
|
|
954
|
+
}
|
|
955
|
+
className={cn(
|
|
956
|
+
utilityPanel === "info" &&
|
|
957
|
+
"bg-accent text-accent-foreground",
|
|
958
|
+
)}
|
|
959
|
+
>
|
|
960
|
+
<IconInfoCircle className="me-2 h-4 w-4" />
|
|
961
|
+
{t("editor.toolbar.info")}
|
|
962
|
+
</DropdownMenuItem>
|
|
963
|
+
{showCommentsControl ? (
|
|
964
|
+
<DropdownMenuItem
|
|
965
|
+
onSelect={() =>
|
|
966
|
+
onUtilityPanelChange(
|
|
967
|
+
utilityPanel === "comments" ? null : "comments",
|
|
968
|
+
)
|
|
969
|
+
}
|
|
970
|
+
className={cn(
|
|
971
|
+
utilityPanel === "comments" &&
|
|
972
|
+
"bg-accent text-accent-foreground",
|
|
973
|
+
)}
|
|
974
|
+
>
|
|
975
|
+
<IconMessageCircle className="me-2 h-4 w-4" />
|
|
976
|
+
{t("comments.title")}
|
|
977
|
+
</DropdownMenuItem>
|
|
978
|
+
) : null}
|
|
979
|
+
</DropdownMenuGroup>
|
|
980
|
+
<DropdownMenuSeparator />
|
|
999
981
|
{isLocalFileDocument ? (
|
|
1000
982
|
<DropdownMenuGroup>
|
|
1001
983
|
<DropdownMenuLabel className="text-xs text-muted-foreground">
|
|
@@ -10,47 +10,6 @@ import {
|
|
|
10
10
|
useBuilderConnectFlow,
|
|
11
11
|
useBuilderStatus,
|
|
12
12
|
} from "@agent-native/core/client/settings";
|
|
13
|
-
import {
|
|
14
|
-
AlertDialog,
|
|
15
|
-
AlertDialogAction,
|
|
16
|
-
AlertDialogCancel,
|
|
17
|
-
AlertDialogContent,
|
|
18
|
-
AlertDialogDescription,
|
|
19
|
-
AlertDialogFooter,
|
|
20
|
-
AlertDialogHeader,
|
|
21
|
-
AlertDialogTitle,
|
|
22
|
-
} from "@agent-native/toolkit/ui/alert-dialog";
|
|
23
|
-
import { Button } from "@agent-native/toolkit/ui/button";
|
|
24
|
-
import {
|
|
25
|
-
DropdownMenu,
|
|
26
|
-
DropdownMenuContent,
|
|
27
|
-
DropdownMenuItem,
|
|
28
|
-
DropdownMenuLabel,
|
|
29
|
-
DropdownMenuSeparator,
|
|
30
|
-
DropdownMenuSub,
|
|
31
|
-
DropdownMenuSubContent,
|
|
32
|
-
DropdownMenuSubTrigger,
|
|
33
|
-
DropdownMenuTrigger,
|
|
34
|
-
} from "@agent-native/toolkit/ui/dropdown-menu";
|
|
35
|
-
import { Input } from "@agent-native/toolkit/ui/input";
|
|
36
|
-
import {
|
|
37
|
-
Popover,
|
|
38
|
-
PopoverContent,
|
|
39
|
-
PopoverTrigger,
|
|
40
|
-
} from "@agent-native/toolkit/ui/popover";
|
|
41
|
-
import {
|
|
42
|
-
Sheet,
|
|
43
|
-
SheetContent,
|
|
44
|
-
SheetDescription,
|
|
45
|
-
SheetHeader,
|
|
46
|
-
SheetTitle,
|
|
47
|
-
} from "@agent-native/toolkit/ui/sheet";
|
|
48
|
-
import { Spinner } from "@agent-native/toolkit/ui/spinner";
|
|
49
|
-
import {
|
|
50
|
-
Tooltip,
|
|
51
|
-
TooltipContent,
|
|
52
|
-
TooltipTrigger,
|
|
53
|
-
} from "@agent-native/toolkit/ui/tooltip";
|
|
54
13
|
import {
|
|
55
14
|
CONTENT_DATABASE_PERSONAL_VIEW_OVERRIDES_VERSION,
|
|
56
15
|
type BuilderCmsModelSummary,
|
|
@@ -158,6 +117,47 @@ import {
|
|
|
158
117
|
selectContentSpace,
|
|
159
118
|
} from "@/components/sidebar/select-content-space";
|
|
160
119
|
import { WorkspaceSourceMenu } from "@/components/sidebar/WorkspaceSourceMenu";
|
|
120
|
+
import {
|
|
121
|
+
AlertDialog,
|
|
122
|
+
AlertDialogAction,
|
|
123
|
+
AlertDialogCancel,
|
|
124
|
+
AlertDialogContent,
|
|
125
|
+
AlertDialogDescription,
|
|
126
|
+
AlertDialogFooter,
|
|
127
|
+
AlertDialogHeader,
|
|
128
|
+
AlertDialogTitle,
|
|
129
|
+
} from "@/components/ui/alert-dialog";
|
|
130
|
+
import { Button } from "@/components/ui/button";
|
|
131
|
+
import {
|
|
132
|
+
DropdownMenu,
|
|
133
|
+
DropdownMenuContent,
|
|
134
|
+
DropdownMenuItem,
|
|
135
|
+
DropdownMenuLabel,
|
|
136
|
+
DropdownMenuSeparator,
|
|
137
|
+
DropdownMenuSub,
|
|
138
|
+
DropdownMenuSubContent,
|
|
139
|
+
DropdownMenuSubTrigger,
|
|
140
|
+
DropdownMenuTrigger,
|
|
141
|
+
} from "@/components/ui/dropdown-menu";
|
|
142
|
+
import { Input } from "@/components/ui/input";
|
|
143
|
+
import {
|
|
144
|
+
Popover,
|
|
145
|
+
PopoverContent,
|
|
146
|
+
PopoverTrigger,
|
|
147
|
+
} from "@/components/ui/popover";
|
|
148
|
+
import {
|
|
149
|
+
Sheet,
|
|
150
|
+
SheetContent,
|
|
151
|
+
SheetDescription,
|
|
152
|
+
SheetHeader,
|
|
153
|
+
SheetTitle,
|
|
154
|
+
} from "@/components/ui/sheet";
|
|
155
|
+
import { Spinner } from "@/components/ui/spinner";
|
|
156
|
+
import {
|
|
157
|
+
Tooltip,
|
|
158
|
+
TooltipContent,
|
|
159
|
+
TooltipTrigger,
|
|
160
|
+
} from "@/components/ui/tooltip";
|
|
161
161
|
import {
|
|
162
162
|
isContentDatabaseUnavailable,
|
|
163
163
|
useAddDatabaseItem,
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { Spinner } from "@agent-native/toolkit/ui/spinner";
|
|
2
1
|
import type { ContentDatabaseItem, DocumentProperty } from "@shared/api";
|
|
3
2
|
import { IconLayoutGrid, IconPlus } from "@tabler/icons-react";
|
|
4
3
|
import { useRef, useState } from "react";
|
|
5
4
|
|
|
5
|
+
import { Spinner } from "@/components/ui/spinner";
|
|
6
|
+
|
|
6
7
|
import { TYPE_ICONS, displayValue } from "../DocumentProperties";
|
|
7
8
|
import {
|
|
8
9
|
DatabaseGroupHeader,
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { Spinner } from "@agent-native/toolkit/ui/spinner";
|
|
2
1
|
import type { ContentDatabaseItem, DocumentProperty } from "@shared/api";
|
|
3
2
|
import { IconList, IconPlus } from "@tabler/icons-react";
|
|
4
3
|
import { useRef, useState } from "react";
|
|
5
4
|
|
|
5
|
+
import { Spinner } from "@/components/ui/spinner";
|
|
6
|
+
|
|
6
7
|
import { displayValue } from "../DocumentProperties";
|
|
7
8
|
import {
|
|
8
9
|
DatabaseGroupHeader,
|
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
import { Button } from "@agent-native/toolkit/ui/button";
|
|
2
|
-
import {
|
|
3
|
-
DropdownMenu,
|
|
4
|
-
DropdownMenuContent,
|
|
5
|
-
DropdownMenuItem,
|
|
6
|
-
DropdownMenuLabel,
|
|
7
|
-
DropdownMenuTrigger,
|
|
8
|
-
} from "@agent-native/toolkit/ui/dropdown-menu";
|
|
9
|
-
import { Spinner } from "@agent-native/toolkit/ui/spinner";
|
|
10
1
|
import type {
|
|
11
2
|
ContentDatabaseItem,
|
|
12
3
|
ContentDatabaseView,
|
|
@@ -23,6 +14,15 @@ import {
|
|
|
23
14
|
} from "@tabler/icons-react";
|
|
24
15
|
import { useRef, useState } from "react";
|
|
25
16
|
|
|
17
|
+
import { Button } from "@/components/ui/button";
|
|
18
|
+
import {
|
|
19
|
+
DropdownMenu,
|
|
20
|
+
DropdownMenuContent,
|
|
21
|
+
DropdownMenuItem,
|
|
22
|
+
DropdownMenuLabel,
|
|
23
|
+
DropdownMenuTrigger,
|
|
24
|
+
} from "@/components/ui/dropdown-menu";
|
|
25
|
+
import { Spinner } from "@/components/ui/spinner";
|
|
26
26
|
import { cn } from "@/lib/utils";
|
|
27
27
|
|
|
28
28
|
import { AddProperty, TYPE_ICONS, displayValue } from "../DocumentProperties";
|
|
@@ -1,11 +1,4 @@
|
|
|
1
1
|
import { useT } from "@agent-native/core/client/i18n";
|
|
2
|
-
import { Button } from "@agent-native/toolkit/ui/button";
|
|
3
|
-
import {
|
|
4
|
-
Collapsible,
|
|
5
|
-
CollapsibleContent,
|
|
6
|
-
CollapsibleTrigger,
|
|
7
|
-
} from "@agent-native/toolkit/ui/collapsible";
|
|
8
|
-
import { ScrollArea } from "@agent-native/toolkit/ui/scroll-area";
|
|
9
2
|
import type {
|
|
10
3
|
ContentDatabaseItem,
|
|
11
4
|
ContentDatabaseOpenPagesIn,
|
|
@@ -37,6 +30,12 @@ import {
|
|
|
37
30
|
AlertDialogHeader,
|
|
38
31
|
AlertDialogTitle,
|
|
39
32
|
} from "@/components/ui/alert-dialog";
|
|
33
|
+
import { Button } from "@/components/ui/button";
|
|
34
|
+
import {
|
|
35
|
+
Collapsible,
|
|
36
|
+
CollapsibleContent,
|
|
37
|
+
CollapsibleTrigger,
|
|
38
|
+
} from "@/components/ui/collapsible";
|
|
40
39
|
import {
|
|
41
40
|
DropdownMenu,
|
|
42
41
|
DropdownMenuContent,
|
|
@@ -44,6 +43,7 @@ import {
|
|
|
44
43
|
DropdownMenuSeparator,
|
|
45
44
|
DropdownMenuTrigger,
|
|
46
45
|
} from "@/components/ui/dropdown-menu";
|
|
46
|
+
import { ScrollArea } from "@/components/ui/scroll-area";
|
|
47
47
|
import {
|
|
48
48
|
Tooltip,
|
|
49
49
|
TooltipContent,
|
|
@@ -1,15 +1,4 @@
|
|
|
1
1
|
import { useT } from "@agent-native/core/client/i18n";
|
|
2
|
-
import {
|
|
3
|
-
AlertDialog,
|
|
4
|
-
AlertDialogAction,
|
|
5
|
-
AlertDialogCancel,
|
|
6
|
-
AlertDialogContent,
|
|
7
|
-
AlertDialogDescription,
|
|
8
|
-
AlertDialogFooter,
|
|
9
|
-
AlertDialogHeader,
|
|
10
|
-
AlertDialogTitle,
|
|
11
|
-
} from "@agent-native/toolkit/ui/alert-dialog";
|
|
12
|
-
import { Checkbox } from "@agent-native/toolkit/ui/checkbox";
|
|
13
2
|
import type {
|
|
14
3
|
BuilderCmsPublicationTransitionIntent,
|
|
15
4
|
BuilderCmsWriteEffect,
|
|
@@ -27,7 +16,18 @@ import {
|
|
|
27
16
|
} from "@tabler/icons-react";
|
|
28
17
|
import { useEffect, useMemo, useRef, useState } from "react";
|
|
29
18
|
|
|
19
|
+
import {
|
|
20
|
+
AlertDialog,
|
|
21
|
+
AlertDialogAction,
|
|
22
|
+
AlertDialogCancel,
|
|
23
|
+
AlertDialogContent,
|
|
24
|
+
AlertDialogDescription,
|
|
25
|
+
AlertDialogFooter,
|
|
26
|
+
AlertDialogHeader,
|
|
27
|
+
AlertDialogTitle,
|
|
28
|
+
} from "@/components/ui/alert-dialog";
|
|
30
29
|
import { Button } from "@/components/ui/button";
|
|
30
|
+
import { Checkbox } from "@/components/ui/checkbox";
|
|
31
31
|
import {
|
|
32
32
|
Dialog,
|
|
33
33
|
DialogContent,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "@agent-native/toolkit/ui/checkbox";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "@agent-native/toolkit/ui/collapsible";
|
|
@@ -2,11 +2,16 @@ import { ToolkitProvider, type ToolkitComponents } from "@agent-native/toolkit";
|
|
|
2
2
|
import type { ReactNode } from "react";
|
|
3
3
|
|
|
4
4
|
import { Button } from "@/components/ui/button";
|
|
5
|
+
import { designSystem } from "@/design-system";
|
|
5
6
|
|
|
6
7
|
const components: ToolkitComponents = {
|
|
7
8
|
Button: Button as ToolkitComponents["Button"],
|
|
8
9
|
};
|
|
9
10
|
|
|
10
11
|
export function AppToolkitProvider({ children }: { children: ReactNode }) {
|
|
11
|
-
return
|
|
12
|
+
return (
|
|
13
|
+
<ToolkitProvider components={components} designSystem={designSystem}>
|
|
14
|
+
{children}
|
|
15
|
+
</ToolkitProvider>
|
|
16
|
+
);
|
|
12
17
|
}
|
|
@@ -295,6 +295,7 @@
|
|
|
295
295
|
.notion-editor {
|
|
296
296
|
outline: none;
|
|
297
297
|
--notion-indent-size: 1.75rem;
|
|
298
|
+
--notion-list-marker-size: 0.5em;
|
|
298
299
|
font-family:
|
|
299
300
|
"Inter Variable",
|
|
300
301
|
"Inter",
|
|
@@ -506,14 +507,32 @@
|
|
|
506
507
|
}
|
|
507
508
|
|
|
508
509
|
.notion-editor ul:not(.notion-task-list) > li::before {
|
|
509
|
-
content: "
|
|
510
|
+
content: "";
|
|
511
|
+
width: var(--notion-list-marker-size);
|
|
512
|
+
height: var(--notion-list-marker-size);
|
|
513
|
+
min-width: 0;
|
|
514
|
+
align-self: start;
|
|
515
|
+
justify-self: center;
|
|
516
|
+
margin-top: 0.6em;
|
|
517
|
+
border-radius: 50%;
|
|
518
|
+
background: currentColor;
|
|
510
519
|
}
|
|
511
520
|
|
|
512
521
|
.notion-editor
|
|
513
522
|
ul:not(.notion-task-list)
|
|
514
523
|
ul:not(.notion-task-list)
|
|
515
524
|
> li::before {
|
|
516
|
-
content: "
|
|
525
|
+
content: "";
|
|
526
|
+
width: var(--notion-list-marker-size);
|
|
527
|
+
height: var(--notion-list-marker-size);
|
|
528
|
+
min-width: 0;
|
|
529
|
+
align-self: start;
|
|
530
|
+
justify-self: center;
|
|
531
|
+
margin-top: 0.6em;
|
|
532
|
+
border: 0.12em solid currentColor;
|
|
533
|
+
border-radius: 50%;
|
|
534
|
+
background: transparent;
|
|
535
|
+
box-sizing: border-box;
|
|
517
536
|
}
|
|
518
537
|
|
|
519
538
|
.notion-editor
|
|
@@ -521,7 +540,14 @@
|
|
|
521
540
|
ul:not(.notion-task-list)
|
|
522
541
|
ul:not(.notion-task-list)
|
|
523
542
|
> li::before {
|
|
524
|
-
content: "
|
|
543
|
+
content: "";
|
|
544
|
+
width: var(--notion-list-marker-size);
|
|
545
|
+
height: var(--notion-list-marker-size);
|
|
546
|
+
min-width: 0;
|
|
547
|
+
align-self: start;
|
|
548
|
+
justify-self: center;
|
|
549
|
+
margin-top: 0.6em;
|
|
550
|
+
background: currentColor;
|
|
525
551
|
}
|
|
526
552
|
|
|
527
553
|
.notion-editor ol > li {
|
|
@@ -47,6 +47,34 @@ Before creating an app-local version of repeated workspace or agent UI:
|
|
|
47
47
|
Use public package exports at runtime. Published source and ejection manifests
|
|
48
48
|
are discovery and ownership-transfer mechanisms, not private runtime APIs.
|
|
49
49
|
|
|
50
|
+
## Design-System Boundary
|
|
51
|
+
|
|
52
|
+
Every app keeps an explicit design-system seam in `app/design-system.ts` using
|
|
53
|
+
`defineDesignSystem` from `@agent-native/toolkit/design-system`, and supplies it
|
|
54
|
+
to `ToolkitProvider`. The semantic contract contains:
|
|
55
|
+
|
|
56
|
+
- nine leaf components: `ActionButton`, `IconButton`, `TextField`, `TextArea`,
|
|
57
|
+
`Spinner`, `Skeleton`, `Status`, `Surface`, and `Avatar`
|
|
58
|
+
- eight behavior components: `Tooltip`, `Menu`, `Popover`, `Dialog`, `Picker`,
|
|
59
|
+
`Checkbox`, `Switch`, and `Tabs`
|
|
60
|
+
|
|
61
|
+
These are semantic contracts, not styling contracts. An adapter may use
|
|
62
|
+
Tailwind/shadcn, MUI-style theme providers, React Aria, CSS modules, CSS-in-JS,
|
|
63
|
+
or another React design system. Do not assume CVA, utility classes, or even a
|
|
64
|
+
`className`; behavior adapters may supply their overlay and focus
|
|
65
|
+
implementation wholesale while honoring portal, focus-restoration, keyboard,
|
|
66
|
+
dismissal, ARIA, and z-index interoperability.
|
|
67
|
+
|
|
68
|
+
Pages, routes, and domain components import ordinary controls through the app's
|
|
69
|
+
local adapter layer, usually `@/components/ui/*`. They must not import
|
|
70
|
+
`@agent-native/toolkit/ui/*` directly. Toolkit feature exports are still the
|
|
71
|
+
right home for shared workspace behavior; their presentation flows through the
|
|
72
|
+
registered semantic components, feature controller, and product-level slots.
|
|
73
|
+
|
|
74
|
+
Customer adapter packages are normal npm packages imported explicitly by the
|
|
75
|
+
app. Never auto-detect them or load React components from JSON. Run the adapter
|
|
76
|
+
against `@agent-native/toolkit/conformance` in customer CI before adopting it.
|
|
77
|
+
|
|
50
78
|
## Settings Direction
|
|
51
79
|
|
|
52
80
|
Durable settings belong in the Settings app or a registered settings route. The
|
|
@@ -113,8 +141,9 @@ in the moment of agent use.
|
|
|
113
141
|
When adding or refactoring one of these areas:
|
|
114
142
|
|
|
115
143
|
1. Search existing framework and template code for duplicated UI or actions.
|
|
116
|
-
2. Decide the shared contract: data shape, action API,
|
|
117
|
-
|
|
144
|
+
2. Decide the shared contract: data shape, action API, feature-level headless
|
|
145
|
+
controller, default view, semantic components, and product-level render
|
|
146
|
+
slots.
|
|
118
147
|
3. Keep shared data provider-agnostic and scoped by auth/sharing rules.
|
|
119
148
|
4. Expose the same capability to the UI and agent through actions or documented
|
|
120
149
|
client helpers.
|
|
@@ -125,6 +154,12 @@ When adding or refactoring one of these areas:
|
|
|
125
154
|
ship readable source plus a complete ejection unit so apps can take ownership
|
|
126
155
|
of the smallest feature when needed. See `customizing-agent-native` for the
|
|
127
156
|
configure → compose → eject → propose seam ladder.
|
|
157
|
+
8. Keep one controller as the source of truth for the default and custom render
|
|
158
|
+
paths. A custom design must not fork actions, analytics, async state, or
|
|
159
|
+
accessibility behavior.
|
|
160
|
+
9. Verify the default adapter and at least one non-Tailwind adapter with the
|
|
161
|
+
conformance kit, including focus and portal stacking across mixed overlay
|
|
162
|
+
implementations.
|
|
128
163
|
|
|
129
164
|
## Related Skills
|
|
130
165
|
|
|
@@ -13,22 +13,93 @@ metadata:
|
|
|
13
13
|
|
|
14
14
|
## Rule
|
|
15
15
|
|
|
16
|
-
Start with the
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
Start with the app's registered design system and local UI adapters, then use
|
|
17
|
+
the public feature's props, semantic components, controller, product slots,
|
|
18
|
+
and callbacks. If those seams are not enough, use the eject CLI to transfer
|
|
19
|
+
the smallest supported feature into the app and make that copy app-owned.
|
|
20
|
+
Never edit `node_modules`, deep-import a private source file at runtime, or
|
|
21
|
+
patch an `@agent-native/*` package.
|
|
21
22
|
|
|
22
23
|
Use this order:
|
|
23
24
|
|
|
24
|
-
1.
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
1. Set brand tokens with the build-time theme configuration when tokens are
|
|
26
|
+
enough.
|
|
27
|
+
2. Register company components in `app/design-system.ts` with
|
|
28
|
+
`defineDesignSystem`, then pass that definition to `ToolkitProvider`.
|
|
29
|
+
3. Configure a public feature through its semantic components, headless
|
|
30
|
+
controller, and product-level render slots.
|
|
31
|
+
4. Compose app primitives behind the app's local UI adapter layer.
|
|
32
|
+
5. Eject the smallest feature into app-owned source.
|
|
33
|
+
6. Propose a new Toolkit seam when the same override is useful in two apps.
|
|
28
34
|
|
|
29
35
|
Ejection is for intentional product customization, not for hiding an upgrade
|
|
30
36
|
failure or replacing Core runtime behavior.
|
|
31
37
|
|
|
38
|
+
## Use A Company Design System
|
|
39
|
+
|
|
40
|
+
Keep the explicit, typed registration seam in `app/design-system.ts`:
|
|
41
|
+
|
|
42
|
+
```tsx
|
|
43
|
+
import { defineDesignSystem } from "@agent-native/toolkit/design-system";
|
|
44
|
+
import {
|
|
45
|
+
AcmeActionButtonAdapter,
|
|
46
|
+
AcmeDialogAdapter,
|
|
47
|
+
} from "./design-system/acme-adapter";
|
|
48
|
+
|
|
49
|
+
export const designSystem = defineDesignSystem({
|
|
50
|
+
name: "Acme",
|
|
51
|
+
components: {
|
|
52
|
+
ActionButton: AcmeActionButtonAdapter,
|
|
53
|
+
Dialog: AcmeDialogAdapter,
|
|
54
|
+
},
|
|
55
|
+
});
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Adapters translate the semantic Toolkit contract into company component props.
|
|
59
|
+
They are ordinary React components and may use MUI-style providers, React Aria,
|
|
60
|
+
CSS modules, CSS-in-JS, or another styling runtime. `className` and `style` are
|
|
61
|
+
optional interoperability hooks, not Tailwind or CVA requirements.
|
|
62
|
+
|
|
63
|
+
The contract has nine leaf components (`ActionButton`, `IconButton`,
|
|
64
|
+
`TextField`, `TextArea`, `Spinner`, `Skeleton`, `Status`, `Surface`, `Avatar`)
|
|
65
|
+
and eight behavior components (`Tooltip`, `Menu`, `Popover`, `Dialog`,
|
|
66
|
+
`Picker`, `Checkbox`, `Switch`, `Tabs`). `Picker` covers select and combobox
|
|
67
|
+
behavior, not date picking. Behavior adapters own their portal, focus,
|
|
68
|
+
keyboard, dismissal, and stacking implementation while honoring the semantic
|
|
69
|
+
props and `portalContainer` interop contract.
|
|
70
|
+
|
|
71
|
+
App product code imports standard controls from its local adapter path, usually
|
|
72
|
+
`@/components/ui/*`. Do not import `@agent-native/toolkit/ui/*` directly from
|
|
73
|
+
pages, routes, or domain components. That bypasses the app seam and makes a
|
|
74
|
+
future design-system replacement incomplete. Toolkit feature packages remain
|
|
75
|
+
valid imports; configure their presentation through the registered semantic
|
|
76
|
+
components, controller, and product slots.
|
|
77
|
+
|
|
78
|
+
Run the published conformance kit against a complete adapter in its own CI:
|
|
79
|
+
|
|
80
|
+
```tsx
|
|
81
|
+
import { assertDesignSystemConformance } from "@agent-native/toolkit/conformance";
|
|
82
|
+
import { DESIGN_SYSTEM_CONTRACT_VERSION } from "@agent-native/toolkit/design-system";
|
|
83
|
+
|
|
84
|
+
await assertDesignSystemConformance({
|
|
85
|
+
adapterName: "Acme",
|
|
86
|
+
components,
|
|
87
|
+
contractVersion: DESIGN_SYSTEM_CONTRACT_VERSION,
|
|
88
|
+
});
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
New components and optional props are minor contract changes. Required props,
|
|
92
|
+
removed APIs, or behavioral changes require a new contract major.
|
|
93
|
+
|
|
94
|
+
## Customize A Shared Feature
|
|
95
|
+
|
|
96
|
+
Prefer feature-level headless controllers over rebuilding individual widgets.
|
|
97
|
+
One controller must power both the Toolkit default view and every custom render
|
|
98
|
+
path so behavior, actions, analytics, accessibility state, and error handling
|
|
99
|
+
cannot drift. Use a product-level render slot to replace the view while keeping
|
|
100
|
+
that controller. Eject only when the controller and slots cannot express the
|
|
101
|
+
required product behavior.
|
|
102
|
+
|
|
32
103
|
## Eject A Feature
|
|
33
104
|
|
|
34
105
|
Discover and inspect the ejection units published by installed first-party
|
|
@@ -104,11 +175,14 @@ UI ownership may change; product contracts should not:
|
|
|
104
175
|
Core. Do not copy those runtimes into the app.
|
|
105
176
|
- Keep local adapters narrow so package upgrades still improve every surface
|
|
106
177
|
the app has not intentionally taken ownership of.
|
|
178
|
+
- Keep page, route, and domain code on local UI adapter imports. Never reach
|
|
179
|
+
around the registered design system with direct Toolkit UI primitive imports.
|
|
107
180
|
|
|
108
181
|
## App Shapes
|
|
109
182
|
|
|
110
|
-
- **Template app:** begin with its
|
|
111
|
-
Toolkit for repeated workspace
|
|
183
|
+
- **Template app:** begin with `app/design-system.ts`, its local UI adapters,
|
|
184
|
+
and domain UI. Use Toolkit features for repeated workspace behavior; eject
|
|
185
|
+
only the unit being customized.
|
|
112
186
|
- **Chat app:** keep `AgentChatSurface`, thread state, and chat transport in
|
|
113
187
|
Core. Compose or eject Toolkit presentation such as chat-history UI around it.
|
|
114
188
|
- **Headless app:** stay action-first while no UI is needed. When adding a UI,
|
|
@@ -135,6 +209,7 @@ UI ownership may change; product contracts should not:
|
|
|
135
209
|
- Don't copy Core auth, DB, action, agent-loop, or transport internals.
|
|
136
210
|
- Don't manually copy a first-party unit with a missing recipe; fix its manifest.
|
|
137
211
|
- Don't eject a full package when a prop, slot, wrapper, or smaller unit works.
|
|
212
|
+
- Don't fork feature state into a custom view; consume the feature's controller.
|
|
138
213
|
|
|
139
214
|
## Related Skills
|
|
140
215
|
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import { useActionMutation } from "@agent-native/core/client/hooks";
|
|
2
|
-
import {
|
|
2
|
+
import { IconPlus } from "@tabler/icons-react";
|
|
3
|
+
import { useQueryClient } from "@tanstack/react-query";
|
|
4
|
+
import { useState } from "react";
|
|
5
|
+
import { useNavigate } from "react-router";
|
|
6
|
+
import { toast } from "sonner";
|
|
7
|
+
|
|
8
|
+
import { Button } from "@/components/ui/button";
|
|
3
9
|
import {
|
|
4
10
|
Dialog,
|
|
5
11
|
DialogContent,
|
|
@@ -8,15 +14,9 @@ import {
|
|
|
8
14
|
DialogHeader,
|
|
9
15
|
DialogTitle,
|
|
10
16
|
DialogTrigger,
|
|
11
|
-
} from "
|
|
12
|
-
import { Input } from "
|
|
13
|
-
import { Label } from "
|
|
14
|
-
import { IconPlus } from "@tabler/icons-react";
|
|
15
|
-
import { useQueryClient } from "@tanstack/react-query";
|
|
16
|
-
import { useState } from "react";
|
|
17
|
-
import { useNavigate } from "react-router";
|
|
18
|
-
import { toast } from "sonner";
|
|
19
|
-
|
|
17
|
+
} from "@/components/ui/dialog";
|
|
18
|
+
import { Input } from "@/components/ui/input";
|
|
19
|
+
import { Label } from "@/components/ui/label";
|
|
20
20
|
import type { CrmKind } from "@/lib/types";
|
|
21
21
|
|
|
22
22
|
import type { CrmValue } from "../../../shared/crm-contract";
|
|
@@ -4,13 +4,8 @@ import {
|
|
|
4
4
|
MetricCard,
|
|
5
5
|
type GenericChartConfig,
|
|
6
6
|
} from "@agent-native/toolkit/dashboard";
|
|
7
|
-
import {
|
|
8
|
-
Card,
|
|
9
|
-
CardContent,
|
|
10
|
-
CardHeader,
|
|
11
|
-
CardTitle,
|
|
12
|
-
} from "@agent-native/toolkit/ui/card";
|
|
13
7
|
|
|
8
|
+
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
|
|
14
9
|
import type { CrmDashboardPanelConfig } from "@/lib/types";
|
|
15
10
|
|
|
16
11
|
type PanelResult = {
|