@agent-native/core 0.129.1 → 0.130.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 +2 -2
- package/corpus/core/CHANGELOG.md +78 -0
- package/corpus/core/docs/content/cloneable-saas.mdx +114 -0
- package/corpus/core/docs/content/creating-templates.mdx +28 -2
- package/corpus/core/docs/content/syncing-template-changes.mdx +7 -0
- package/corpus/core/docs/content/template-clips-developers.mdx +12 -5
- package/corpus/core/docs/content/template-dispatch-developers.mdx +1 -1
- package/corpus/core/docs/content/template-dispatch.mdx +1 -1
- package/corpus/core/package.json +1 -1
- package/corpus/core/src/action-ui.ts +1 -0
- package/corpus/core/src/action.ts +5 -1
- package/corpus/core/src/agent/engine/ai-sdk-engine.ts +15 -5
- package/corpus/core/src/agent/harness/runner.ts +5 -0
- package/corpus/core/src/agent/production-agent.ts +33 -0
- package/corpus/core/src/agent/run-loop-with-resume.ts +5 -0
- package/corpus/core/src/agent/run-manager.ts +126 -1
- package/corpus/core/src/agent/thread-data-builder.ts +47 -2
- package/corpus/core/src/agent/types.ts +2 -0
- package/corpus/core/src/chat-threads/store.ts +4 -5
- package/corpus/core/src/cli/create.ts +1139 -65
- package/corpus/core/src/cli/design-connect.ts +3 -7
- package/corpus/core/src/cli/index.ts +5 -3
- package/corpus/core/src/cli/skills-content/design-visual-edit-skill.ts +83 -47
- package/corpus/core/src/client/AssistantChat.tsx +27 -16
- package/corpus/core/src/client/agent-chat-adapter.ts +24 -0
- package/corpus/core/src/client/blocks/library/wireframe-kit.tsx +17 -2
- package/corpus/core/src/client/chat/index.ts +1 -0
- package/corpus/core/src/client/chat/message-components.tsx +104 -1
- package/corpus/core/src/client/chat/run-recovery.tsx +15 -3
- package/corpus/core/src/client/chat/widgets/DataTableWidget.tsx +10 -29
- package/corpus/core/src/client/chat/widgets/WorkspaceFileWidget.tsx +71 -0
- package/corpus/core/src/client/chat/widgets/builtin-tool-renderers.tsx +22 -0
- package/corpus/core/src/client/chat/widgets/workspace-file-result.ts +49 -0
- package/corpus/core/src/client/embed-auth.ts +2 -0
- package/corpus/core/src/client/org/InvitationBanner.tsx +14 -1
- package/corpus/core/src/client/org/OrgSwitcher.tsx +23 -0
- package/corpus/core/src/client/org/TeamPage.tsx +130 -0
- package/corpus/core/src/client/org/WorkspaceNotice.tsx +85 -0
- package/corpus/core/src/client/org/hooks.ts +14 -0
- package/corpus/core/src/client/org/index.ts +2 -0
- package/corpus/core/src/client/resources/McpIntegrationDialog.tsx +27 -40
- package/corpus/core/src/client/resources/ResourcesPanel.tsx +134 -51
- package/corpus/core/src/client/resources/mcp-integration-catalog.ts +7 -0
- package/corpus/core/src/client/resources/use-resources.ts +6 -0
- package/corpus/core/src/client/use-action.ts +3 -1
- package/corpus/core/src/client/widgets/index.ts +1 -0
- package/corpus/core/src/coding-tools/run-code.ts +2 -1
- package/corpus/core/src/db/client.ts +28 -4
- package/corpus/core/src/deploy/build.ts +31 -3
- package/corpus/core/src/eject/remote-mcp-presets.ts +1 -1
- package/corpus/core/src/index.browser.ts +1 -0
- package/corpus/core/src/index.ts +1 -0
- package/corpus/core/src/integrations/google-docs-poller.ts +3 -0
- package/corpus/core/src/integrations/webhook-handler.ts +28 -11
- package/corpus/core/src/jobs/scheduler.ts +4 -0
- package/corpus/core/src/localization/default-messages.ts +3 -2
- package/corpus/core/src/mcp/build-server.ts +20 -2
- package/corpus/core/src/observability/traces.ts +48 -12
- package/corpus/core/src/org/handlers.ts +52 -1
- package/corpus/core/src/org/migrations.ts +4 -0
- package/corpus/core/src/org/plugin.ts +14 -0
- package/corpus/core/src/org/schema.ts +1 -0
- package/corpus/core/src/org/types.ts +8 -0
- package/corpus/core/src/org/workspace-url.ts +74 -0
- package/corpus/core/src/resources/handlers.ts +35 -5
- package/corpus/core/src/scripts/runner.ts +183 -5
- package/corpus/core/src/server/action-routes.ts +32 -2
- package/corpus/core/src/server/agent-chat-plugin.ts +29 -0
- package/corpus/core/src/server/agent-teams.ts +10 -1
- package/corpus/core/src/server/auth.ts +33 -7
- package/corpus/core/src/server/embed-route.ts +9 -0
- package/corpus/core/src/server/embed-session.ts +62 -3
- package/corpus/core/src/server/open-route.ts +20 -6
- package/corpus/core/src/server/prompts/framework-core-compact.ts +1 -1
- package/corpus/core/src/server/prompts/framework-core.ts +1 -0
- package/corpus/core/src/server/request-context.ts +36 -1
- package/corpus/core/src/shared/embed-auth.ts +1 -0
- package/corpus/core/src/shared/html-document.ts +115 -0
- package/corpus/core/src/shared/index.ts +1 -0
- package/corpus/core/src/sharing/access.ts +8 -1
- package/corpus/core/src/sharing/registry.ts +11 -2
- package/corpus/core/src/workspace-files/actions.ts +100 -0
- package/corpus/core/src/workspace-files/tool.ts +4 -0
- package/corpus/templates/analytics/.agents/skills/analysis-workspace/SKILL.md +4 -0
- package/corpus/templates/analytics/.agents/skills/hubspot/SKILL.md +9 -1
- package/corpus/templates/analytics/AGENTS.md +17 -24
- package/corpus/templates/analytics/actions/data-source-status.ts +11 -1
- package/corpus/templates/analytics/app/i18n-data.ts +34 -0
- package/corpus/templates/analytics/app/lib/data-source-status.ts +86 -0
- package/corpus/templates/analytics/app/lib/native-mcp-exclusions.ts +9 -0
- package/corpus/templates/analytics/app/pages/DataSources.tsx +184 -20
- package/corpus/templates/analytics/changelog/2026-07-28-native-analytics-data-sources-no-longer-show-duplicate-mc.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-29-exports-now-appear-in-chat-with-a-direct-download-instead-of.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-29-queued-chat-prompts-no-longer-resend-after-analytics-navigat.md +6 -0
- package/corpus/templates/analytics/changelog/2026-07-29-scheduled-dashboard-emails-load-every-panel-reliably-without.md +6 -0
- package/corpus/templates/analytics/scripts/emit-netlify-dashboard-report-cron.ts +6 -3
- package/corpus/templates/analytics/server/lib/credential-keys.ts +1 -1
- package/corpus/templates/analytics/server/lib/hubspot.ts +1 -1
- package/corpus/templates/analytics/server/lib/provider-credentials.ts +55 -1
- package/corpus/templates/analytics/server/plugins/agent-chat.ts +123 -27
- package/corpus/templates/analytics/server/routes/[...page].get.ts +2 -7
- package/corpus/templates/analytics/vite.config.ts +7 -0
- package/corpus/templates/brain/actions/list-connection-providers.ts +100 -2
- package/corpus/templates/brain/app/lib/brain.ts +10 -0
- package/corpus/templates/brain/app/routes/sources.tsx +15 -4
- package/corpus/templates/brain/changelog/2026-07-29-brain-automatically-retries-failed-source-syncs-and-guides-y.md +6 -0
- package/corpus/templates/brain/jobs/process-ingest-queue.ts +13 -0
- package/corpus/templates/brain/server/jobs/sync-sources.ts +27 -22
- package/corpus/templates/brain/server/plugins/agent-chat.ts +2 -1
- package/corpus/templates/brain/server/routes/api/brain/queue/run.post.ts +7 -1
- package/corpus/templates/clips/AGENTS.md +1 -1
- package/corpus/templates/clips/actions/create-recording-agent-link.ts +11 -1
- package/corpus/templates/clips/actions/update-comment.ts +68 -0
- package/corpus/templates/clips/app/components/editor/editor-layout.tsx +0 -1
- package/corpus/templates/clips/app/components/player/comments-panel.tsx +221 -65
- package/corpus/templates/clips/app/components/player/video-player.tsx +101 -27
- package/corpus/templates/clips/app/i18n/en-US.ts +2 -1
- package/corpus/templates/clips/app/routes/bug-report.done.tsx +48 -27
- package/corpus/templates/clips/app/routes/bug-report.tsx +43 -4
- package/corpus/templates/clips/app/routes/record.tsx +2 -0
- package/corpus/templates/clips/changelog/2026-07-29-clip-playback-now-recovers-instead-of-getting-stuck-when-a-b.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-29-comments-can-now-be-edited-after-posting.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-29-download-actions-now-use-a-shorter-clearer-label.md +6 -0
- package/corpus/templates/clips/changelog/2026-07-29-embedded-bug-reports-now-return-a-temporary-agent-readable.md +6 -0
- package/corpus/templates/clips/desktop/src-tauri/src/native_screen.rs +1 -1
- package/corpus/templates/clips/desktop/src-tauri/src/system_audio.rs +21 -1
- package/corpus/templates/clips/shared/bug-report.ts +99 -0
- package/corpus/templates/content/actions/_content-database-personal-view.ts +7 -1
- package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +5 -2
- package/corpus/templates/content/app/components/sidebar/DocumentSidebar.tsx +20 -8
- package/corpus/templates/content/changelog/2026-07-29-missing-databases-no-longer-trigger-repeated-personal-view-e.md +6 -0
- package/corpus/templates/design/.agents/skills/visual-edit/SKILL.md +83 -47
- package/corpus/templates/design/.generated/bridge/editor-chrome.generated.ts +474 -55
- package/corpus/templates/design/.generated/bridge/embedded-wheel.generated.ts +3 -0
- package/corpus/templates/design/.generated/bridge/hit-test.generated.ts +18 -1
- package/corpus/templates/design/.generated/bridge/source-location.generated.ts +348 -0
- package/corpus/templates/design/actions/add-localhost-screens.ts +2 -7
- package/corpus/templates/design/actions/apply-visual-edit.ts +7 -1
- package/corpus/templates/design/actions/connect-localhost.ts +5 -9
- package/corpus/templates/design/actions/create-component.ts +16 -13
- package/corpus/templates/design/actions/grant-localhost-write-consent.ts +2 -7
- package/corpus/templates/design/actions/list-design-source-capabilities.ts +4 -7
- package/corpus/templates/design/actions/list-local-files.ts +26 -50
- package/corpus/templates/design/actions/list-localhost-connections.ts +2 -7
- package/corpus/templates/design/actions/migrate-board-objects-to-file.ts +2 -2
- package/corpus/templates/design/actions/open-visual-edit.ts +234 -135
- package/corpus/templates/design/actions/read-local-file.ts +26 -50
- package/corpus/templates/design/actions/request-localhost-write-consent.ts +2 -7
- package/corpus/templates/design/actions/write-local-file.ts +31 -73
- package/corpus/templates/design/app/components/design/DesignCanvas.tsx +307 -133
- package/corpus/templates/design/app/components/design/EditPanel.tsx +94 -22
- package/corpus/templates/design/app/components/design/MultiScreenCanvas.tsx +137 -60
- package/corpus/templates/design/app/components/design/ResponsiveInteractBar.tsx +75 -14
- package/corpus/templates/design/app/components/design/bridge/editor-chrome.bridge.ts +755 -97
- package/corpus/templates/design/app/components/design/bridge/embedded-wheel.bridge.ts +8 -0
- package/corpus/templates/design/app/components/design/bridge/hit-test.bridge.ts +24 -1
- package/corpus/templates/design/app/components/design/bridge/source-location.bridge.ts +530 -0
- package/corpus/templates/design/app/components/design/code-workbench/CodeWorkbenchLoader.tsx +278 -0
- package/corpus/templates/design/app/components/design/code-workbench/editor/MonacoHost.tsx +32 -12
- package/corpus/templates/design/app/components/design/code-workbench/editor/monaco-setup.ts +14 -3
- package/corpus/templates/design/app/components/design/code-workbench/explorer/ExplorerView.tsx +87 -24
- package/corpus/templates/design/app/components/design/code-workbench/explorer/FileTree.tsx +36 -0
- package/corpus/templates/design/app/components/design/code-workbench/store.tsx +2 -1
- package/corpus/templates/design/app/components/design/code-workbench/workspace/localhost-provider.ts +48 -8
- package/corpus/templates/design/app/components/design/design-canvas/content-size-report.ts +3 -13
- package/corpus/templates/design/app/components/design/design-canvas/embedded-frame.ts +4 -2
- package/corpus/templates/design/app/components/design/design-canvas/hit-test.ts +3 -13
- package/corpus/templates/design/app/components/design/edit-panel/element-classification.ts +3 -1
- package/corpus/templates/design/app/components/design/edit-panel/inspect-code-source.ts +93 -0
- package/corpus/templates/design/app/components/design/multi-screen/board-surface-html.ts +4 -2
- package/corpus/templates/design/app/components/design/multi-screen/cross-screen-drop.ts +35 -0
- package/corpus/templates/design/app/components/design/multi-screen/iframe-targeting.ts +24 -0
- package/corpus/templates/design/app/components/design/multi-screen/types.ts +9 -0
- package/corpus/templates/design/app/components/design/types.ts +29 -0
- package/corpus/templates/design/app/components/layout/Layout.tsx +7 -4
- package/corpus/templates/design/app/hooks/use-navigation-state.ts +3 -0
- package/corpus/templates/design/app/i18n-data.ts +153 -46
- package/corpus/templates/design/app/i18n-responsive-interact.ts +12 -12
- package/corpus/templates/design/app/lib/design-editor-route.ts +23 -0
- package/corpus/templates/design/app/pages/VisualEdit.tsx +19 -6
- package/corpus/templates/design/app/pages/design-editor/action-error.ts +19 -0
- package/corpus/templates/design/app/pages/design-editor/canvas-primitive-insert.ts +29 -0
- package/corpus/templates/design/app/pages/design-editor/clone-and-pen-edit.ts +6 -0
- package/corpus/templates/design/app/pages/design-editor/code-layer-state.ts +277 -15
- package/corpus/templates/design/app/pages/design-editor/editor-state.ts +75 -9
- package/corpus/templates/design/app/pages/design-editor/layer-state-scope.ts +28 -0
- package/corpus/templates/design/app/pages/design-editor/live-screen-layer-drop.ts +41 -0
- package/corpus/templates/design/app/pages/design-editor/pending-edits.ts +496 -41
- package/corpus/templates/design/app/pages/design-editor/pending-live-edit-unload-guard.ts +27 -0
- package/corpus/templates/design/app/pages/design-editor/pending-structure-verification.ts +10 -0
- package/corpus/templates/design/app/pages/design-editor/react-semantic-handoff.ts +168 -9
- package/corpus/templates/design/app/pages/design-editor/responsive-interact.ts +41 -3
- package/corpus/templates/design/app/pages/design-editor/screen-command-utils.ts +5 -0
- package/corpus/templates/design/app/pages/design-editor/selection-state.ts +42 -13
- package/corpus/templates/design/app/pages/design-editor/source-location.ts +180 -0
- package/corpus/templates/design/app/pages/design-editor/tool-state.ts +17 -0
- package/corpus/templates/design/app/public-routes.ts +1 -0
- package/corpus/templates/design/app/routes/visual-edit.$id.tsx +15 -0
- package/corpus/templates/design/changelog/2026-06-29-screen-overview-is-easier-to-find-and-named-screens-open-dir.md +1 -1
- package/corpus/templates/design/changelog/2026-07-28-deleting-a-selected-element-now-removes-it-from-the-live-pre.md +6 -0
- package/corpus/templates/design/changelog/2026-07-28-deleting-an-element-on-a-connected-localhost-screen-now-queu.md +6 -0
- package/corpus/templates/design/changelog/2026-07-28-interact-mode-now-shows-a-responsive-device-preview-with-pre.md +6 -0
- package/corpus/templates/design/changelog/2026-07-28-layer-hide-and-lock-now-apply-to-the-live-preview-instead-of.md +6 -0
- package/corpus/templates/design/changelog/2026-07-28-layers-panel-selections-on-a-connected-localhost-screen-can-.md +6 -0
- package/corpus/templates/design/changelog/2026-07-28-locked-layers-now-show-a-subtle-dashed-outline-in-the-live-p.md +6 -0
- package/corpus/templates/design/changelog/2026-07-28-the-apply-design-updates-button-now-counts-pending-live-text.md +6 -0
- package/corpus/templates/design/changelog/2026-07-28-the-design-canvas-no-longer-stalls-on-a-render-loop-while-a-.md +6 -0
- package/corpus/templates/design/changelog/2026-07-28-visual-edit-on-a-local-dev-server-no-longer-requires-signing.md +6 -0
- package/corpus/templates/design/changelog/2026-07-28-visual-edits-on-a-react-19-app-no-longer-report-a-source-lin.md +6 -0
- package/corpus/templates/design/changelog/2026-07-29-an-edit-that-cannot-be-written-to-source-now-names-the-reaso.md +6 -0
- package/corpus/templates/design/changelog/2026-07-29-applying-a-primitive-dropped-onto-a-connected-localhost-scre.md +6 -0
- package/corpus/templates/design/changelog/2026-07-29-changing-a-style-in-the-inspector-now-updates-a-connected-lo.md +6 -0
- package/corpus/templates/design/changelog/2026-07-29-choosing-edit-or-annotate-from-a-focused-screen-now-returns-.md +6 -0
- package/corpus/templates/design/changelog/2026-07-29-concurrent-source-edits-now-return-a-clear-conflict-response.md +6 -0
- package/corpus/templates/design/changelog/2026-07-29-creating-a-component-from-an-element-that-repeats-in-the-sou.md +6 -0
- package/corpus/templates/design/changelog/2026-07-29-deleting-an-element-you-just-dropped-onto-a-live-screen-no-l.md +6 -0
- package/corpus/templates/design/changelog/2026-07-29-dragging-a-layer-across-screens-no-longer-dies-when-the-poin.md +6 -0
- package/corpus/templates/design/changelog/2026-07-29-dragging-an-element-from-a-stored-screen-into-a-live-localho.md +6 -0
- package/corpus/templates/design/changelog/2026-07-29-drawing-a-box-on-the-canvas-and-dragging-it-into-a-connected.md +6 -0
- package/corpus/templates/design/changelog/2026-07-29-fixed-a-loading-screen-flicker-when-reopening-designs-with-a.md +6 -0
- package/corpus/templates/design/changelog/2026-07-29-interact-mode-has-edit-and-annotate-buttons-again-so-you-can.md +6 -0
- package/corpus/templates/design/changelog/2026-07-29-layer-groups-can-be-dropped-onto-live-localhost-screens.md +6 -0
- package/corpus/templates/design/changelog/2026-07-29-localhost-source-errors-now-say-what-actually-went-wrong-whi.md +6 -0
- package/corpus/templates/design/changelog/2026-07-29-opening-or-refreshing-a-live-localhost-screen-in-single-scre.md +6 -0
- package/corpus/templates/design/changelog/2026-07-29-redo-after-undoing-a-drop-onto-a-live-screen-puts-the-elemen.md +6 -0
- package/corpus/templates/design/changelog/2026-07-29-shapes-can-be-drawn-directly-onto-live-localhost-screens.md +6 -0
- package/corpus/templates/design/changelog/2026-07-29-shapes-drawn-on-the-canvas-board-now-appear-immediately-inst.md +6 -0
- package/corpus/templates/design/changelog/2026-07-29-style-edits-on-a-running-localhost-screen-now-preview-live-a.md +6 -0
- package/corpus/templates/design/changelog/2026-07-29-the-apply-design-updates-control-now-appears-as-a-clean-conn.md +6 -0
- package/corpus/templates/design/changelog/2026-07-29-visual-edits-on-a-mapped-component-instance-now-tell-the-age.md +6 -0
- package/corpus/templates/design/server/lib/design-data-access.ts +21 -7
- package/corpus/templates/design/server/lib/localhost-connection.ts +240 -0
- package/corpus/templates/design/server/routes/[...page].get.ts +2 -5
- package/corpus/templates/design/server/source-workspace.ts +2 -0
- package/corpus/templates/design/shared/code-layer.ts +43 -0
- package/corpus/templates/design/shared/html-content.ts +26 -0
- package/corpus/templates/design/shared/html-integrity.ts +21 -1
- package/corpus/templates/design/shared/local-jsx-visual-edit.ts +15 -0
- package/corpus/templates/design/shared/source-mode.ts +76 -0
- package/corpus/templates/dispatch/changelog/2026-07-29-workspace-members-without-admin-access-now-see-a-clear-permi.md +6 -0
- package/corpus/templates/dispatch/server/lib/usage-metrics.ts +2 -1
- package/corpus/templates/plan/app/lib/plan-annotation-runtime.ts +3 -4
- package/corpus/templates/plan/server/routes/[...page].get.ts +2 -5
- package/corpus/templates/slides/actions/patch-deck.ts +29 -17
- package/corpus/toolkit/CHANGELOG.md +6 -0
- package/corpus/toolkit/package.json +1 -1
- package/corpus/toolkit/src/composer/ComposerPlusMenu.tsx +3 -2
- package/dist/action-ui.d.ts +1 -0
- package/dist/action-ui.d.ts.map +1 -1
- package/dist/action-ui.js +1 -0
- package/dist/action-ui.js.map +1 -1
- package/dist/action.d.ts +5 -1
- package/dist/action.d.ts.map +1 -1
- package/dist/action.js.map +1 -1
- package/dist/agent/engine/ai-sdk-engine.d.ts.map +1 -1
- package/dist/agent/engine/ai-sdk-engine.js +13 -5
- package/dist/agent/engine/ai-sdk-engine.js.map +1 -1
- package/dist/agent/harness/runner.d.ts.map +1 -1
- package/dist/agent/harness/runner.js +5 -0
- package/dist/agent/harness/runner.js.map +1 -1
- package/dist/agent/production-agent.d.ts +16 -0
- package/dist/agent/production-agent.d.ts.map +1 -1
- package/dist/agent/production-agent.js +18 -1
- package/dist/agent/production-agent.js.map +1 -1
- package/dist/agent/run-loop-with-resume.d.ts.map +1 -1
- package/dist/agent/run-loop-with-resume.js +6 -0
- package/dist/agent/run-loop-with-resume.js.map +1 -1
- package/dist/agent/run-manager.d.ts +14 -0
- package/dist/agent/run-manager.d.ts.map +1 -1
- package/dist/agent/run-manager.js +91 -1
- package/dist/agent/run-manager.js.map +1 -1
- package/dist/agent/thread-data-builder.d.ts +3 -0
- package/dist/agent/thread-data-builder.d.ts.map +1 -1
- package/dist/agent/thread-data-builder.js +35 -3
- package/dist/agent/thread-data-builder.js.map +1 -1
- package/dist/agent/types.d.ts +2 -0
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/chat-threads/store.d.ts.map +1 -1
- package/dist/chat-threads/store.js +4 -6
- package/dist/chat-threads/store.js.map +1 -1
- package/dist/cli/create.d.ts +66 -6
- package/dist/cli/create.d.ts.map +1 -1
- package/dist/cli/create.js +765 -66
- package/dist/cli/create.js.map +1 -1
- package/dist/cli/design-connect.d.ts.map +1 -1
- package/dist/cli/design-connect.js +2 -7
- package/dist/cli/design-connect.js.map +1 -1
- package/dist/cli/index.js +5 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/skills-content/design-visual-edit-skill.d.ts +1 -1
- package/dist/cli/skills-content/design-visual-edit-skill.d.ts.map +1 -1
- package/dist/cli/skills-content/design-visual-edit-skill.js +83 -47
- package/dist/cli/skills-content/design-visual-edit-skill.js.map +1 -1
- package/dist/client/AssistantChat.d.ts.map +1 -1
- package/dist/client/AssistantChat.js +16 -9
- package/dist/client/AssistantChat.js.map +1 -1
- package/dist/client/agent-chat-adapter.d.ts.map +1 -1
- package/dist/client/agent-chat-adapter.js +21 -0
- package/dist/client/agent-chat-adapter.js.map +1 -1
- package/dist/client/blocks/library/wireframe-kit.d.ts +2 -0
- package/dist/client/blocks/library/wireframe-kit.d.ts.map +1 -1
- package/dist/client/blocks/library/wireframe-kit.js +8 -2
- package/dist/client/blocks/library/wireframe-kit.js.map +1 -1
- package/dist/client/chat/index.d.ts +1 -1
- package/dist/client/chat/index.d.ts.map +1 -1
- package/dist/client/chat/index.js +1 -1
- package/dist/client/chat/index.js.map +1 -1
- package/dist/client/chat/message-components.d.ts +17 -0
- package/dist/client/chat/message-components.d.ts.map +1 -1
- package/dist/client/chat/message-components.js +24 -2
- package/dist/client/chat/message-components.js.map +1 -1
- package/dist/client/chat/run-recovery.d.ts +6 -0
- package/dist/client/chat/run-recovery.d.ts.map +1 -1
- package/dist/client/chat/run-recovery.js +13 -3
- package/dist/client/chat/run-recovery.js.map +1 -1
- package/dist/client/chat/widgets/DataTableWidget.d.ts.map +1 -1
- package/dist/client/chat/widgets/DataTableWidget.js +2 -3
- package/dist/client/chat/widgets/DataTableWidget.js.map +1 -1
- package/dist/client/chat/widgets/WorkspaceFileWidget.d.ts +5 -0
- package/dist/client/chat/widgets/WorkspaceFileWidget.d.ts.map +1 -0
- package/dist/client/chat/widgets/WorkspaceFileWidget.js +34 -0
- package/dist/client/chat/widgets/WorkspaceFileWidget.js.map +1 -0
- package/dist/client/chat/widgets/builtin-tool-renderers.d.ts.map +1 -1
- package/dist/client/chat/widgets/builtin-tool-renderers.js +13 -1
- package/dist/client/chat/widgets/builtin-tool-renderers.js.map +1 -1
- package/dist/client/chat/widgets/workspace-file-result.d.ts +12 -0
- package/dist/client/chat/widgets/workspace-file-result.d.ts.map +1 -0
- package/dist/client/chat/widgets/workspace-file-result.js +34 -0
- package/dist/client/chat/widgets/workspace-file-result.js.map +1 -0
- package/dist/client/embed-auth.d.ts.map +1 -1
- package/dist/client/embed-auth.js +2 -1
- package/dist/client/embed-auth.js.map +1 -1
- package/dist/client/org/InvitationBanner.d.ts +5 -2
- package/dist/client/org/InvitationBanner.d.ts.map +1 -1
- package/dist/client/org/InvitationBanner.js +9 -2
- package/dist/client/org/InvitationBanner.js.map +1 -1
- package/dist/client/org/OrgSwitcher.d.ts.map +1 -1
- package/dist/client/org/OrgSwitcher.js +3 -2
- package/dist/client/org/OrgSwitcher.js.map +1 -1
- package/dist/client/org/TeamPage.d.ts.map +1 -1
- package/dist/client/org/TeamPage.js +27 -3
- package/dist/client/org/TeamPage.js.map +1 -1
- package/dist/client/org/WorkspaceNotice.d.ts +18 -0
- package/dist/client/org/WorkspaceNotice.d.ts.map +1 -0
- package/dist/client/org/WorkspaceNotice.js +56 -0
- package/dist/client/org/WorkspaceNotice.js.map +1 -0
- package/dist/client/org/hooks.d.ts +1 -0
- package/dist/client/org/hooks.d.ts.map +1 -1
- package/dist/client/org/hooks.js +12 -0
- package/dist/client/org/hooks.js.map +1 -1
- package/dist/client/org/index.d.ts +2 -1
- package/dist/client/org/index.d.ts.map +1 -1
- package/dist/client/org/index.js +2 -1
- package/dist/client/org/index.js.map +1 -1
- package/dist/client/resources/McpIntegrationDialog.d.ts.map +1 -1
- package/dist/client/resources/McpIntegrationDialog.js +8 -12
- package/dist/client/resources/McpIntegrationDialog.js.map +1 -1
- package/dist/client/resources/ResourcesPanel.d.ts +3 -0
- package/dist/client/resources/ResourcesPanel.d.ts.map +1 -1
- package/dist/client/resources/ResourcesPanel.js +49 -20
- package/dist/client/resources/ResourcesPanel.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 +3 -0
- package/dist/client/resources/mcp-integration-catalog.js.map +1 -1
- package/dist/client/resources/use-resources.d.ts +1 -0
- package/dist/client/resources/use-resources.d.ts.map +1 -1
- package/dist/client/resources/use-resources.js +3 -0
- package/dist/client/resources/use-resources.js.map +1 -1
- package/dist/client/use-action.d.ts +3 -1
- package/dist/client/use-action.d.ts.map +1 -1
- package/dist/client/use-action.js +3 -1
- package/dist/client/use-action.js.map +1 -1
- package/dist/client/widgets/index.d.ts +1 -1
- package/dist/client/widgets/index.d.ts.map +1 -1
- package/dist/client/widgets/index.js +1 -1
- package/dist/client/widgets/index.js.map +1 -1
- package/dist/coding-tools/run-code.js +2 -1
- package/dist/coding-tools/run-code.js.map +1 -1
- package/dist/collab/awareness.d.ts +2 -2
- package/dist/collab/awareness.d.ts.map +1 -1
- package/dist/collab/routes.d.ts +1 -1
- package/dist/db/client.d.ts +1 -0
- package/dist/db/client.d.ts.map +1 -1
- package/dist/db/client.js +24 -3
- package/dist/db/client.js.map +1 -1
- package/dist/deploy/build.d.ts.map +1 -1
- package/dist/deploy/build.js +25 -3
- package/dist/deploy/build.js.map +1 -1
- package/dist/eject/remote-mcp-presets.js +1 -1
- package/dist/eject/remote-mcp-presets.js.map +1 -1
- package/dist/index.browser.d.ts +1 -1
- package/dist/index.browser.d.ts.map +1 -1
- package/dist/index.browser.js +1 -1
- package/dist/index.browser.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/integrations/google-docs-poller.d.ts.map +1 -1
- package/dist/integrations/google-docs-poller.js +4 -1
- package/dist/integrations/google-docs-poller.js.map +1 -1
- package/dist/integrations/webhook-handler.d.ts.map +1 -1
- package/dist/integrations/webhook-handler.js +23 -11
- package/dist/integrations/webhook-handler.js.map +1 -1
- package/dist/jobs/scheduler.js +4 -0
- package/dist/jobs/scheduler.js.map +1 -1
- package/dist/localization/default-messages.d.ts +3 -2
- package/dist/localization/default-messages.d.ts.map +1 -1
- package/dist/localization/default-messages.js +3 -2
- package/dist/localization/default-messages.js.map +1 -1
- package/dist/mcp/build-server.d.ts.map +1 -1
- package/dist/mcp/build-server.js +10 -1
- package/dist/mcp/build-server.js.map +1 -1
- package/dist/notifications/routes.d.ts +1 -1
- package/dist/observability/traces.d.ts.map +1 -1
- package/dist/observability/traces.js +27 -7
- package/dist/observability/traces.js.map +1 -1
- package/dist/org/handlers.d.ts +15 -0
- package/dist/org/handlers.d.ts.map +1 -1
- package/dist/org/handlers.js +45 -1
- package/dist/org/handlers.js.map +1 -1
- package/dist/org/migrations.d.ts.map +1 -1
- package/dist/org/migrations.js +4 -0
- package/dist/org/migrations.js.map +1 -1
- package/dist/org/plugin.d.ts +1 -0
- package/dist/org/plugin.d.ts.map +1 -1
- package/dist/org/plugin.js +10 -1
- package/dist/org/plugin.js.map +1 -1
- package/dist/org/schema.d.ts +19 -0
- package/dist/org/schema.d.ts.map +1 -1
- package/dist/org/schema.js +1 -0
- package/dist/org/schema.js.map +1 -1
- package/dist/org/types.d.ts +8 -0
- package/dist/org/types.d.ts.map +1 -1
- package/dist/org/types.js.map +1 -1
- package/dist/org/workspace-url.d.ts +32 -0
- package/dist/org/workspace-url.d.ts.map +1 -0
- package/dist/org/workspace-url.js +63 -0
- package/dist/org/workspace-url.js.map +1 -0
- package/dist/progress/routes.d.ts +1 -1
- package/dist/provider-api/actions/custom-provider-registration.d.ts +11 -11
- package/dist/provider-api/actions/provider-api.d.ts +7 -7
- package/dist/resources/handlers.d.ts +2 -3
- package/dist/resources/handlers.d.ts.map +1 -1
- package/dist/resources/handlers.js +25 -5
- package/dist/resources/handlers.js.map +1 -1
- package/dist/scripts/runner.d.ts +17 -0
- package/dist/scripts/runner.d.ts.map +1 -1
- package/dist/scripts/runner.js +130 -5
- package/dist/scripts/runner.js.map +1 -1
- package/dist/secrets/routes.d.ts +9 -9
- package/dist/server/action-routes.d.ts.map +1 -1
- package/dist/server/action-routes.js +24 -2
- package/dist/server/action-routes.js.map +1 -1
- package/dist/server/agent-chat-plugin.d.ts.map +1 -1
- package/dist/server/agent-chat-plugin.js +26 -1
- package/dist/server/agent-chat-plugin.js.map +1 -1
- package/dist/server/agent-engine-api-key-route.d.ts +1 -1
- package/dist/server/agent-teams.d.ts.map +1 -1
- package/dist/server/agent-teams.js +10 -1
- package/dist/server/agent-teams.js.map +1 -1
- package/dist/server/auth.d.ts +22 -0
- package/dist/server/auth.d.ts.map +1 -1
- package/dist/server/auth.js +33 -7
- package/dist/server/auth.js.map +1 -1
- package/dist/server/embed-route.d.ts.map +1 -1
- package/dist/server/embed-route.js +6 -1
- package/dist/server/embed-route.js.map +1 -1
- package/dist/server/embed-session.d.ts +7 -0
- package/dist/server/embed-session.d.ts.map +1 -1
- package/dist/server/embed-session.js +46 -4
- package/dist/server/embed-session.js.map +1 -1
- package/dist/server/open-route.d.ts.map +1 -1
- package/dist/server/open-route.js +17 -7
- package/dist/server/open-route.js.map +1 -1
- package/dist/server/prompts/framework-core-compact.js +1 -1
- package/dist/server/prompts/framework-core-compact.js.map +1 -1
- package/dist/server/prompts/framework-core.d.ts.map +1 -1
- package/dist/server/prompts/framework-core.js +1 -0
- package/dist/server/prompts/framework-core.js.map +1 -1
- package/dist/server/request-context.d.ts +26 -0
- package/dist/server/request-context.d.ts.map +1 -1
- package/dist/server/request-context.js +18 -1
- package/dist/server/request-context.js.map +1 -1
- package/dist/shared/embed-auth.d.ts +1 -0
- package/dist/shared/embed-auth.d.ts.map +1 -1
- package/dist/shared/embed-auth.js +1 -0
- package/dist/shared/embed-auth.js.map +1 -1
- package/dist/shared/html-document.d.ts +12 -0
- package/dist/shared/html-document.d.ts.map +1 -0
- package/dist/shared/html-document.js +92 -0
- package/dist/shared/html-document.js.map +1 -0
- package/dist/shared/index.d.ts +1 -0
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +1 -0
- package/dist/shared/index.js.map +1 -1
- package/dist/sharing/access.d.ts +1 -0
- package/dist/sharing/access.d.ts.map +1 -1
- package/dist/sharing/access.js +8 -2
- package/dist/sharing/access.js.map +1 -1
- package/dist/sharing/registry.d.ts +3 -0
- package/dist/sharing/registry.d.ts.map +1 -1
- package/dist/sharing/registry.js.map +1 -1
- package/dist/workspace-files/actions.d.ts +28 -0
- package/dist/workspace-files/actions.d.ts.map +1 -0
- package/dist/workspace-files/actions.js +75 -0
- package/dist/workspace-files/actions.js.map +1 -0
- package/dist/workspace-files/tool.d.ts.map +1 -1
- package/dist/workspace-files/tool.js +4 -0
- package/dist/workspace-files/tool.js.map +1 -1
- package/docs/content/cloneable-saas.mdx +114 -0
- package/docs/content/creating-templates.mdx +28 -2
- package/docs/content/syncing-template-changes.mdx +7 -0
- package/docs/content/template-clips-developers.mdx +12 -5
- package/docs/content/template-dispatch-developers.mdx +1 -1
- package/docs/content/template-dispatch.mdx +1 -1
- package/package.json +2 -2
- package/src/action-ui.ts +1 -0
- package/src/action.ts +5 -1
- package/src/agent/engine/ai-sdk-engine.ts +15 -5
- package/src/agent/harness/runner.ts +5 -0
- package/src/agent/production-agent.ts +33 -0
- package/src/agent/run-loop-with-resume.ts +5 -0
- package/src/agent/run-manager.ts +126 -1
- package/src/agent/thread-data-builder.ts +47 -2
- package/src/agent/types.ts +2 -0
- package/src/chat-threads/store.ts +4 -5
- package/src/cli/create.ts +1139 -65
- package/src/cli/design-connect.ts +3 -7
- package/src/cli/index.ts +5 -3
- package/src/cli/skills-content/design-visual-edit-skill.ts +83 -47
- package/src/client/AssistantChat.tsx +27 -16
- package/src/client/agent-chat-adapter.ts +24 -0
- package/src/client/blocks/library/wireframe-kit.tsx +17 -2
- package/src/client/chat/index.ts +1 -0
- package/src/client/chat/message-components.tsx +104 -1
- package/src/client/chat/run-recovery.tsx +15 -3
- package/src/client/chat/widgets/DataTableWidget.tsx +10 -29
- package/src/client/chat/widgets/WorkspaceFileWidget.tsx +71 -0
- package/src/client/chat/widgets/builtin-tool-renderers.tsx +22 -0
- package/src/client/chat/widgets/workspace-file-result.ts +49 -0
- package/src/client/embed-auth.ts +2 -0
- package/src/client/org/InvitationBanner.tsx +14 -1
- package/src/client/org/OrgSwitcher.tsx +23 -0
- package/src/client/org/TeamPage.tsx +130 -0
- package/src/client/org/WorkspaceNotice.tsx +85 -0
- package/src/client/org/hooks.ts +14 -0
- package/src/client/org/index.ts +2 -0
- package/src/client/resources/McpIntegrationDialog.tsx +27 -40
- package/src/client/resources/ResourcesPanel.tsx +134 -51
- package/src/client/resources/mcp-integration-catalog.ts +7 -0
- package/src/client/resources/use-resources.ts +6 -0
- package/src/client/use-action.ts +3 -1
- package/src/client/widgets/index.ts +1 -0
- package/src/coding-tools/run-code.ts +2 -1
- package/src/db/client.ts +28 -4
- package/src/deploy/build.ts +31 -3
- package/src/eject/remote-mcp-presets.ts +1 -1
- package/src/index.browser.ts +1 -0
- package/src/index.ts +1 -0
- package/src/integrations/google-docs-poller.ts +3 -0
- package/src/integrations/webhook-handler.ts +28 -11
- package/src/jobs/scheduler.ts +4 -0
- package/src/localization/default-messages.ts +3 -2
- package/src/mcp/build-server.ts +20 -2
- package/src/observability/traces.ts +48 -12
- package/src/org/handlers.ts +52 -1
- package/src/org/migrations.ts +4 -0
- package/src/org/plugin.ts +14 -0
- package/src/org/schema.ts +1 -0
- package/src/org/types.ts +8 -0
- package/src/org/workspace-url.ts +74 -0
- package/src/resources/handlers.ts +35 -5
- package/src/scripts/runner.ts +183 -5
- package/src/server/__snapshots__/agent-chat-plugin.surface.spec.ts.snap +2 -1
- package/src/server/action-routes.ts +32 -2
- package/src/server/agent-chat-plugin.ts +29 -0
- package/src/server/agent-teams.ts +10 -1
- package/src/server/auth.ts +33 -7
- package/src/server/embed-route.ts +9 -0
- package/src/server/embed-session.ts +62 -3
- package/src/server/open-route.ts +20 -6
- package/src/server/prompts/framework-core-compact.ts +1 -1
- package/src/server/prompts/framework-core.ts +1 -0
- package/src/server/request-context.ts +36 -1
- package/src/shared/embed-auth.ts +1 -0
- package/src/shared/html-document.ts +115 -0
- package/src/shared/index.ts +1 -0
- package/src/sharing/access.ts +8 -1
- package/src/sharing/registry.ts +11 -2
- package/src/workspace-files/actions.ts +100 -0
- package/src/workspace-files/tool.ts +4 -0
- package/corpus/templates/design/changelog/2026-07-28-interact-mode-can-preview-designs-in-responsive-device-sizes.md +0 -6
- package/corpus/templates/design/changelog/2026-07-28-interact-mode-now-opens-a-full-screen-responsive-preview-wit.md +0 -6
|
@@ -247,6 +247,8 @@ export declare const HTML_ROUGH_SELECTOR = "[data-rough],button,input,textarea,s
|
|
|
247
247
|
export declare function sketchRoughness(sketch: number): number;
|
|
248
248
|
/** Rough.js cannot safely render paths whose inset consumes the whole box. */
|
|
249
249
|
export declare function hasDrawableRoughBounds(width: number, height: number, inset: number): boolean;
|
|
250
|
+
/** Rough.js recursively flattens paths, so every coordinate must be finite. */
|
|
251
|
+
export declare function hasDrawableRoughGeometry(x: number, y: number, width: number, height: number, inset: number): boolean;
|
|
250
252
|
/**
|
|
251
253
|
* Renders the rough overlay for a frame. `scopeRef` points at the frame root.
|
|
252
254
|
* When `enabled` is false (skeleton / clean register) it renders nothing and the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wireframe-kit.d.ts","sourceRoot":"","sources":["../../../../src/client/blocks/library/wireframe-kit.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wireframe-kit.d.ts","sourceRoot":"","sources":["../../../../src/client/blocks/library/wireframe-kit.tsx"],"names":[],"mappings":"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"}
|
|
@@ -713,7 +713,7 @@ function sameColor(a, b) {
|
|
|
713
713
|
}
|
|
714
714
|
/** A rounded-rect SVG path (so the frame stroke follows the artboard radius). */
|
|
715
715
|
function roundedRectPath(x, y, w, h, r) {
|
|
716
|
-
const rad = Math.max(0, Math.min(r, w / 2, h / 2));
|
|
716
|
+
const rad = Math.max(0, Math.min(Number.isFinite(r) ? r : 0, w / 2, h / 2));
|
|
717
717
|
return [
|
|
718
718
|
`M${x + rad},${y}`,
|
|
719
719
|
`H${x + w - rad}`,
|
|
@@ -734,6 +734,12 @@ export function hasDrawableRoughBounds(width, height, inset) {
|
|
|
734
734
|
width > inset * 2 &&
|
|
735
735
|
height > inset * 2);
|
|
736
736
|
}
|
|
737
|
+
/** Rough.js recursively flattens paths, so every coordinate must be finite. */
|
|
738
|
+
export function hasDrawableRoughGeometry(x, y, width, height, inset) {
|
|
739
|
+
return (Number.isFinite(x) &&
|
|
740
|
+
Number.isFinite(y) &&
|
|
741
|
+
hasDrawableRoughBounds(width, height, inset));
|
|
742
|
+
}
|
|
737
743
|
function elementStroke(node, fallback) {
|
|
738
744
|
const explicit = readVar(node, "--rough-stroke");
|
|
739
745
|
if (explicit)
|
|
@@ -843,7 +849,7 @@ function build(scope, opts) {
|
|
|
843
849
|
const y = (r.top - base.top) / zoom;
|
|
844
850
|
const w = r.width / zoom;
|
|
845
851
|
const h = r.height / zoom;
|
|
846
|
-
if (!
|
|
852
|
+
if (!hasDrawableRoughGeometry(x, y, w, h, 1))
|
|
847
853
|
return;
|
|
848
854
|
const kind = inferRoughKind(node);
|
|
849
855
|
const rawStroke = elementStroke(node, sketch);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wireframe-kit.js","sourceRoot":"","sources":["../../../../src/client/blocks/library/wireframe-kit.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,aAAa,EACb,UAAU,EACV,SAAS,EACT,MAAM,EACN,QAAQ,EACR,oBAAoB,GAIrB,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,MAAM,SAAS,CAAC;AA6B5B,MAAM,iBAAiB,GAAG,sBAAsB,CAAC;AACjD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAc,CAAC;AAE7C,SAAS,eAAe;IACtB,IAAI,OAAO,YAAY,KAAK,WAAW;QAAE,OAAO,SAAS,CAAC;IAC1D,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,OAAO;YACxD,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,IAAI,YAAY,GAAmB,eAAe,EAAE,CAAC;AAErD,MAAM,UAAU,iBAAiB,CAAC,KAAqB;IACrD,IAAI,KAAK,KAAK,YAAY;QAAE,OAAO;IACnC,YAAY,GAAG,KAAK,CAAC;IACrB,IAAI,CAAC;QACH,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,2CAA2C;IAC7C,CAAC;IACD,KAAK,MAAM,QAAQ,IAAI,cAAc;QAAE,QAAQ,EAAE,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,iBAAiB,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,cAAc,CAAC,QAAoB;IAC1C,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7B,MAAM,SAAS,GAAG,CAAC,KAAmB,EAAE,EAAE;QACxC,IAAI,KAAK,CAAC,GAAG,KAAK,iBAAiB,EAAE,CAAC;YACpC,YAAY,GAAG,eAAe,EAAE,CAAC;YACjC,QAAQ,EAAE,CAAC;QACb,CAAC;IACH,CAAC,CAAC;IACF,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,GAAG,EAAE;QACV,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YAClC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACnD,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,oBAAoB,CACzB,cAAc,EACd,GAAG,EAAE,CAAC,YAAY,EAClB,GAAG,EAAE,CAAC,SAAS,CAChB,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,SAAS;IACvB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,QAAQ,KAAK,WAAW;YAAE,OAAO;QAC5C,MAAM,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC;QACtC,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9D,IAAI,EAAE,CAAC;QACP,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC5C,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACzE,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;IACrC,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAM1C,EAAE,CAAC,CAAC;AAEP,MAAM,CAAC,GAAG;IACR,GAAG,EAAE,YAAY;IACjB,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,cAAc;IACrB,IAAI,EAAE,aAAa;IACnB,MAAM,EAAE,eAAe;IACvB,UAAU,EAAE,oBAAoB;IAChC,IAAI,EAAE,aAAa;IACnB,QAAQ,EAAE,kBAAkB;IAC5B,EAAE,EAAE,WAAW;IACf,MAAM,EAAE,gBAAgB;IACxB,MAAM,EAAE,eAAe;IACvB,MAAM,EAAE,eAAe;IACvB,GAAG,EAAE,YAAY;IACjB,GAAG,EAAE,YAAY;IACjB,EAAE,EAAE,WAAW;IACf,IAAI,EAAE,kBAAkB;IACxB,MAAM,EAAE,oBAAoB;CACpB,CAAC;AAIX,SAAS,UAAU,CAAC,IAAI,GAAkB,SAAS;IACjD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;QAC1D,KAAK,MAAM;YACT,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACpD,KAAK,IAAI;YACP,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;QAC9C,KAAK,OAAO;YACV,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACvD;YACE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;IACvD,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,IAAoB;IACnC,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;AAC7B,CAAC;AAED,SAAS,UAAU,CAAC,MAAqC;IACvD,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,GAAG,CAAC;IAClC,IAAI,MAAM,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IACpC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,EACrB,QAAQ,EACR,GAAG,GAAG,CAAC,EACP,MAAM,EACN,OAAO,EACP,KAAK,EACL,QAAQ,GAAG,KAAK,EAChB,KAAK,GAAG,EAAE,GASX;IACC,MAAM,GAAG,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,IAAI,SAAS,CAAC;IACvC,MAAM,OAAO,GAAG,KAAK,IAAI,GAAG,CAAC,KAAK,IAAI,OAAO,CAAC;IAC9C,MAAM,YAAY,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC9C,KAAK,MAAM,CAAC;IACZ,OAAO,CACL,cACE,SAAS,EAAC,SAAS,kBACL,OAAO,IAAI,SAAS,gBACtB,OAAO,mBACJ,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,gBAClC,OAAO,EACnB,KAAK,EAAE;YACL,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,MAAM;YACb,kEAAkE;YAClE,qEAAqE;YACrE,wEAAwE;YACxE,mEAAmE;YACnE,SAAS,EAAE,MAAM;YACjB,UAAU,EAAE,aAAa;YACzB,KAAK,EAAE,CAAC,CAAC,GAAG;YACZ,UAAU,EAAE,CAAC,CAAC,IAAI;YAClB,QAAQ,EAAE,CAAC,CAAC,EAAE;YACd,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,QAAQ;YACvB,OAAO,EAAE,YAAY;YACrB,SAAS,EAAE,YAAY;YACvB,QAAQ,EAAE,QAAQ;YAClB,GAAG,KAAK;SACT,YAEA,QAAQ,GACL,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,EACnB,QAAQ,EACR,IAAI,EACJ,MAAM,GAAG,GAAG,EACZ,KAAK,GAAG,CAAC,CAAC,GAAG,EACb,MAAM,GAAG,KAAK,EACd,KAAK,GAAG,EAAE,GAQX;IACC,OAAO,CACL,eACE,KAAK,EAAE;YACL,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;YACtC,QAAQ,EAAE,IAAI,IAAI,CAAC,CAAC,EAAE;YACtB,UAAU,EAAE,MAAM;YAClB,KAAK;YACL,QAAQ,EAAE,CAAC;YACX,YAAY,EAAE,YAAY;YAC1B,GAAG,KAAK;SACT,YAEA,QAAQ,GACJ,CACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,EAClB,CAAC,GAAG,EAAE,EACN,CAAC,EACD,KAAK,GAAG,CAAC,CAAC,IAAI,EACd,CAAC,GAAG,CAAC,EACL,KAAK,GAAG,EAAE,GAOX;IACC,OAAO,CACL,cACE,KAAK,EAAE;YACL,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC,IAAI,wBAAwB;YACrC,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,CAAC;YACf,IAAI,EAAE,UAAU;YAChB,GAAG,KAAK;SACT,GACD,CACH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,EACpB,CAAC,GAAG,CAAC,EACL,GAAG,GAAG,CAAC,EACP,MAAM,EACN,KAAK,GAAG,CAAC,CAAC,IAAI,EACd,KAAK,GAAG,EAAE,GAOX;IACC,MAAM,EAAE,GACN,MAAM;QACN,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACtE,OAAO,CACL,cAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,YACpE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAChB,KAAC,GAAG,IAAS,CAAC,EAAE,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,IAAvD,CAAC,CAA0D,CACtE,CAAC,GACE,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,EAClB,QAAQ,EACR,GAAG,GAAG,CAAC,CAAC,GAAG,EACX,IAAI,GAAG,CAAC,CAAC,IAAI,EACb,MAAM,GAAG,KAAK,EACd,KAAK,GAAG,EAAE,GAOX;IACC,OAAO,CACL,4BACa,MAAM,EACjB,KAAK,EAAE;YACL,CAAC,gBAA0B,CAAC,EAAE,CAAC,CAAC,GAAG;YACnC,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,EAAE;YAC7D,YAAY,EAAE,CAAC,CAAC,MAAM;YACtB,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,GAAG;YACZ,SAAS,EAAE,YAAY;YACvB,QAAQ,EAAE,CAAC;YACX,GAAG,KAAK;SACT,YAEA,QAAQ,GACL,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,EACpB,IAAI,GAAG,KAAK,EACZ,KAAK,GAAG,QAAQ,EAChB,IAAI,GAAG,EAAE,GAKV;IACC,MAAM,CAAC,GAAG,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,2BAA2B,CAAC;IACnE,OAAO,CACL,4BACc,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EACnD,KAAK,EAAE;YACL,CAAC,gBAA0B,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;YACrD,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,UAAU;YAChB,YAAY,EAAE,CAAC;YACf,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE;YACtD,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa;YAC3C,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,QAAQ;SACzB,YAEA,IAAI,IAAI,CACP,cACE,KAAK,EAAE,IAAI,GAAG,GAAG,EACjB,MAAM,EAAE,IAAI,GAAG,GAAG,EAClB,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,MAAM,EACb,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,YAEtB,eAAM,CAAC,EAAC,qBAAqB,GAAG,GAC5B,CACP,GACG,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,EACnB,QAAQ,EACR,IAAI,GAAG,SAAS,EAChB,KAAK,GAAG,EAAE,GAKX;IACC,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC3B,OAAO,CACL,eACE,KAAK,EAAE;YACL,OAAO,EAAE,aAAa;YACtB,UAAU,EAAE,QAAQ;YACpB,GAAG,EAAE,CAAC;YACN,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,UAAU,CAAC,CAAC,EAAE,EAAE;YACnC,UAAU,EAAE,CAAC,CAAC,EAAE;YAChB,KAAK,EAAE,CAAC,CAAC,EAAE;YACX,YAAY,EAAE,GAAG;YACjB,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE,wBAAwB;YAClC,UAAU,EAAE,CAAC,CAAC,IAAI;YAClB,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE,CAAC;YACX,UAAU,EAAE,QAAQ;YACpB,YAAY,EAAE,UAAU;YACxB,UAAU,EAAE,GAAG;YACf,GAAG,KAAK;SACT,YAEA,QAAQ,GACJ,CACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAsC;IAC3E,MAAM,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC;IACzE,MAAM,EAAE,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC;IAChD,OAAO,CACL,gBAAM,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,aACnE,eACE,KAAK,EAAE;oBACL,KAAK,EAAE,CAAC;oBACR,MAAM,EAAE,CAAC;oBACT,YAAY,EAAE,KAAK;oBACnB,UAAU,EAAE,IAAI;oBAChB,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,UAAU,EAAE,EAAE;oBACjC,IAAI,EAAE,UAAU;iBACjB,GACD,EACD,KAAK,IAAI,CACR,KAAC,IAAI,IAAC,IAAI,EAAC,wBAAwB,EAAC,KAAK,EAAE,CAAC,CAAC,IAAI,YAC9C,KAAK,GACD,CACR,IACI,CACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,EAClB,QAAQ,EACR,KAAK,GAAG,KAAK,EACb,IAAI,GAAG,KAAK,EACZ,IAAI,GAAG,IAAI,EACX,IAAI,GAAG,SAAS,EAChB,KAAK,GAAG,EAAE,GAQX;IACC,MAAM,GAAG,GACP,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC;IACxE,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC3D,OAAO,CACL,4BACa,MAAM,EACjB,KAAK,EAAE;YACL,CAAC,gBAA0B,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;YAClD,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa;YACtC,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,QAAQ;YACxB,GAAG,EAAE,CAAC;YACN,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE;YACnD,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa;YACxC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;YAC7B,YAAY,EAAE,CAAC,CAAC,MAAM;YACtB,OAAO,EAAE,GAAG;YACZ,UAAU,EAAE,CAAC,CAAC,IAAI;YAClB,QAAQ,EAAE,CAAC,CAAC,EAAE;YACd,UAAU,EAAE,GAAG;YACf,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;YAC7B,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,YAAY;YACvB,UAAU,EAAE,QAAQ;YACpB,YAAY,EAAE,UAAU;YACxB,SAAS,EAAE,QAAQ;YACnB,GAAG,KAAK;SACT,YAEA,QAAQ,GACL,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,EACnB,QAAQ,EACR,MAAM,GAAG,KAAK,EACd,KAAK,GAAG,EAAE,GAKX;IACC,OAAO,CACL,eACE,KAAK,EAAE;YACL,OAAO,EAAE,aAAa;YACtB,UAAU,EAAE,QAAQ;YACpB,GAAG,EAAE,CAAC;YACN,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,UAAU,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE;YACxD,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa;YACjD,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;YAChC,YAAY,EAAE,GAAG;YACjB,OAAO,EAAE,UAAU;YACnB,QAAQ,EAAE,wBAAwB;YAClC,UAAU,EAAE,CAAC,CAAC,IAAI;YAClB,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;YAC9B,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE,CAAC;YACX,UAAU,EAAE,QAAQ;YACpB,YAAY,EAAE,UAAU;YACxB,GAAG,KAAK;SACT,YAEA,QAAQ,GACJ,CACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,EACpB,KAAK,EACL,KAAK,EACL,WAAW,EACX,CAAC,EACD,IAAI,GAAG,KAAK,EACZ,KAAK,EACL,KAAK,GAAG,EAAE,GASX;IACC,OAAO,CACL,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,aACvE,KAAK,IAAI,CACR,KAAC,IAAI,IAAC,IAAI,EAAC,wBAAwB,EAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,YAC3D,KAAK,GACD,CACR,EACD,6BACa,MAAM,EACjB,KAAK,EAAE;oBACL,CAAC,gBAA0B,CAAC,EAAE,CAAC,CAAC,GAAG;oBACnC,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,UAAU,CAAC,CAAC,GAAG,EAAE;oBACpC,YAAY,EAAE,CAAC,CAAC,MAAM;oBACtB,UAAU,EAAE,CAAC,CAAC,IAAI;oBAClB,OAAO,EAAE,wBAAwB;oBACjC,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;oBACpC,OAAO,EAAE,MAAM;oBACf,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ;oBAC1C,cAAc,EAAE,eAAe;oBAC/B,QAAQ,EAAE,CAAC;oBACX,GAAG,EAAE,CAAC;iBACP,aAEA,KAAK,CAAC,CAAC,CAAC,CACP,KAAC,IAAI,IAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,YAAG,KAAK,GAAQ,CACvE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACT,KAAC,KAAK,IAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,GAAI,CACxC,CAAC,CAAC,CAAC,CACF,KAAC,GAAG,IAAC,CAAC,EAAE,WAAW,IAAI,GAAG,GAAI,CAC/B,EACA,KAAK,IACF,IACF,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,CACL,eACE,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,eAAe;YAC/B,OAAO,EAAE,cAAc;YACvB,IAAI,EAAE,UAAU;SACjB,aAED,KAAC,IAAI,IAAC,IAAI,EAAC,wBAAwB,EAAC,MAAM,EAAE,GAAG,qBAExC,EACP,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,aAC3D,KAAC,GAAG,IAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,GAAI,EACzC,KAAC,GAAG,IAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,GAAI,EACzC,KAAC,GAAG,IAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,GAAI,IACrC,IACF,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,EAAE,IAAI,GAAG,GAAG,EAAqB;IACnD,OAAO,CACL,4BACa,SAAS,EACpB,KAAK,EAAE;YACL,CAAC,gBAA0B,CAAC,EAAE,CAAC,CAAC,MAAM;YACtC,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;YACV,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;YACV,YAAY,EAAE,KAAK;YACnB,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,UAAU,CAAC,CAAC,MAAM,EAAE;YACvC,UAAU,EAAE,CAAC,CAAC,MAAM;YACpB,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,QAAQ;YACxB,UAAU,EAAE,CAAC,CAAC,IAAI;YAClB,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,GAAG;YACf,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,6BAA6B;YACxC,MAAM,EAAE,CAAC;SACV,YAEA,IAAI,GACD,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EACzB,KAAK,GAAG,MAAM,EACd,QAAQ,GAIT;IACC,OAAO,CACL,6BACa,aAAa,EACxB,KAAK,EAAE;YACL,CAAC,gBAA0B,CAAC,EAAE,CAAC,CAAC,GAAG;YACnC,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,QAAQ;YACpB,GAAG,EAAE,EAAE;YACP,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,GAAG,CAAC,CAAC,MAAM,UAAU,CAAC,CAAC,GAAG,EAAE;YAC1C,IAAI,EAAE,UAAU;YAChB,UAAU,EAAE,CAAC,CAAC,IAAI;SACnB,aAED,cAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,YACpC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACpB,6BAEa,SAAS,EACpB,KAAK,EAAE;wBACL,CAAC,gBAA0B,CAAC,EAAE,CAAC,CAAC,GAAG;wBACnC,KAAK,EAAE,EAAE;wBACT,MAAM,EAAE,EAAE;wBACV,YAAY,EAAE,KAAK;wBACnB,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,UAAU,CAAC,CAAC,GAAG,EAAE;qBACrC,IARI,CAAC,CASN,CACH,CAAC,GACE,EACN,eACE,KAAK,EAAE;oBACL,IAAI,EAAE,CAAC;oBACP,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,UAAU,CAAC,CAAC,IAAI,EAAE;oBACrC,YAAY,EAAE,GAAG;oBACjB,OAAO,EAAE,UAAU;oBACnB,OAAO,EAAE,MAAM;oBACf,UAAU,EAAE,QAAQ;oBACpB,GAAG,EAAE,CAAC;iBACP,aAED,KAAC,GAAG,IAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,GAAI,EAC1C,MAAC,IAAI,IAAC,IAAI,EAAC,wBAAwB,EAAC,KAAK,EAAE,CAAC,CAAC,IAAI,aAC9C,KAAK,YACD,IACH,EACL,QAAQ,IACL,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAC3B,QAAQ,EACR,KAAK,EACL,IAAI,GAAG,OAAO,GAKf;IACC,OAAO,CACL,eACE,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,UAAU;YACtB,cAAc,EAAE,eAAe;YAC/B,QAAQ,EAAE,CAAC;YACX,GAAG,EAAE,CAAC;SACP,aAED,KAAC,IAAI,IACH,IAAI,EAAC,uBAAuB,EAC5B,MAAM,EAAE,GAAG,EACX,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EACpB,KAAK,EAAE;oBACL,aAAa,EAAE,GAAG;oBAClB,QAAQ,EAAE,CAAC;oBACX,YAAY,EAAE,UAAU;iBACzB,YAEA,QAAQ,GACJ,EACN,KAAK,IACF,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,EAAE,IAAI,GAAG,EAAE,EAAqB;IACrD,OAAO,CACL,4BACa,SAAS,EACpB,KAAK,EAAE;YACL,CAAC,gBAA0B,CAAC,EAAE,CAAC,CAAC,GAAG;YACnC,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,KAAK;YACnB,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,UAAU,CAAC,CAAC,GAAG,EAAE;YACpC,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,IAAI,EAAE,UAAU;SACjB,GACD,CACH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EACzB,IAAI,GAAG,EAAE,EACT,MAAM,GAAG,KAAK,GAIf;IACC,OAAO,CACL,4BACa,MAAM,EACjB,KAAK,EAAE;YACL,CAAC,gBAA0B,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;YACxD,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,UAAU;YAChB,YAAY,EAAE,2BAA2B;YACzC,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,UAAU,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;YACzD,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,QAAQ;SACzB,YAED,cACE,KAAK,EAAE;gBACL,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,KAAK;gBACb,YAAY,EAAE,CAAC;gBACf,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;aACvC,GACD,GACE,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,EACtB,KAAK,EACL,KAAK,EACL,MAAM,GAAG,KAAK,EACd,GAAG,GAAG,KAAK,EACX,IAAI,GAAG,QAAQ,GAOhB;IACC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO,CACL,eACE,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,QAAQ;YACpB,GAAG,EAAE,CAAC;YACN,OAAO,EAAE,SAAS;YAClB,YAAY,EAAE,CAAC,CAAC,MAAM;YACtB,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa;YACjD,QAAQ,EAAE,CAAC;SACZ,aAEA,GAAG,CAAC,CAAC,CAAC,CACL,eACE,KAAK,EAAE;oBACL,KAAK,EAAE,EAAE;oBACT,MAAM,EAAE,EAAE;oBACV,YAAY,EAAE,KAAK;oBACnB,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,UAAU,QAAQ,EAAE;oBACvC,UAAU,EAAE,QAAQ;oBACpB,IAAI,EAAE,UAAU;iBACjB,GACD,CACH,CAAC,CAAC,CAAC,CACF,KAAC,UAAU,IAAC,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,GAAI,CACzC,EACD,KAAC,IAAI,IACH,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAChC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAC1B,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,YAE9B,KAAK,GACD,EACN,KAAK,IAAI,IAAI,IAAI,CAChB,KAAC,IAAI,IAAC,IAAI,EAAC,wBAAwB,EAAC,KAAK,EAAE,CAAC,CAAC,IAAI,YAC9C,KAAK,GACD,CACR,IACG,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,EACtB,QAAQ,EACR,KAAK,GAAG,GAAG,EACX,KAAK,GAAG,EAAE,GAKX;IACC,OAAO,CACL,4BACa,YAAY,EACvB,KAAK,EAAE;YACL,CAAC,gBAA0B,CAAC,EAAE,CAAC,CAAC,GAAG;YACnC,KAAK;YACL,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,GAAG,CAAC,CAAC,MAAM,UAAU,CAAC,CAAC,GAAG,EAAE;YACzC,UAAU,EAAE,CAAC,CAAC,IAAI;YAClB,OAAO,EAAE,CAAC,CAAC,GAAG;YACd,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,QAAQ;YACvB,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,SAAS,EAAE,CAAC;YACZ,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,SAAS;YACpB,QAAQ,EAAE,QAAQ;YAClB,GAAG,KAAK;SACT,YAEA,QAAQ,GACL,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,EACnB,QAAQ,EACR,KAAK,GAAG,EAAE,GAIX;IACC,OAAO,CACL,cACE,KAAK,EAAE;YACL,IAAI,EAAE,CAAC;YACP,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,WAAW;YACpB,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,QAAQ;YACvB,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,QAAQ,EAAE,QAAQ;YAClB,GAAG,KAAK;SACT,YAEA,QAAQ,GACL,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,EAClB,QAAQ,EACR,IAAI,GAAG,KAAK,EACZ,KAAK,GAAG,EAAE,GAKX;IACC,OAAO,CACL,cACE,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,KAAK;YACpB,UAAU,EAAE,SAAS;YACrB,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,CAAC;YACZ,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;YAC1B,GAAG,KAAK;SACT,YAEA,QAAQ,GACL,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,EAClB,QAAQ,EACR,IAAI,GAAG,KAAK,EACZ,KAAK,GAAG,EAAE,GAKX;IACC,OAAO,CACL,cACE,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,QAAQ;YACvB,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,CAAC;YACZ,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;YAC1B,GAAG,KAAK;SACT,YAEA,QAAQ,GACL,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,EACtB,KAAK,EACL,IAAI,EACJ,GAAG,EACH,OAAO,GAAG,SAAS,EACnB,IAAI,EACJ,IAAI,GAAG,KAAK,GAQb;IACC,OAAO,CACL,eACE,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,YAAY;YACxB,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,OAAO,EAAE,2BAA2B;YACpC,QAAQ,EAAE,CAAC;SACZ,aAED,cAAK,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,YAC1B,KAAC,KAAK,IAAC,IAAI,EAAE,IAAI,GAAI,GACjB,EACN,eACE,KAAK,EAAE;oBACL,IAAI,EAAE,CAAC;oBACP,QAAQ,EAAE,CAAC;oBACX,OAAO,EAAE,MAAM;oBACf,aAAa,EAAE,QAAQ;oBACvB,GAAG,EAAE,CAAC;iBACP,aAED,KAAC,IAAI,IACH,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAC5B,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,SAAS,YAE3D,KAAK,GACD,EACN,IAAI,IAAI,CACP,KAAC,IAAI,IAAC,IAAI,EAAC,wBAAwB,EAAC,KAAK,EAAE,CAAC,CAAC,IAAI,YAC9C,IAAI,GACA,CACR,IACG,EACN,eACE,KAAK,EAAE;oBACL,OAAO,EAAE,MAAM;oBACf,UAAU,EAAE,QAAQ;oBACpB,QAAQ,EAAE,MAAM;oBAChB,cAAc,EAAE,UAAU;oBAC1B,GAAG,EAAE,CAAC;oBACN,IAAI,EAAE,UAAU;iBACjB,aAEA,GAAG,IAAI,KAAC,IAAI,IAAC,IAAI,EAAE,OAAO,YAAG,GAAG,GAAQ,EACxC,IAAI,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,KAAK,EAAE,IAAI,GAAI,CAAC,CAAC,CAAC,IAAI,IAChC,IACF,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,EACnB,QAAQ,EACR,KAAK,GAAG,EAAE,GAIX;IACC,OAAO,CACL,KAAC,GAAG,IACF,GAAG,EAAC,wBAAwB,EAC5B,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,QAAQ;YACvB,GAAG,EAAE,CAAC;YACN,UAAU,EAAE,CAAC,CAAC,IAAI;YAClB,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,MAAM;YAChB,GAAG,KAAK;SACT,YAEA,QAAQ,GACL,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,EACrB,KAAK,EACL,KAAK,EACL,IAAI,GAAG,OAAO,EACd,KAAK,GAAG,GAAG,EACX,QAAQ,GAOT;IACC,OAAO,CACL,eACE,KAAK,EAAE;YACL,KAAK;YACL,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,QAAQ;YACvB,GAAG,EAAE,CAAC,CAAC,GAAG;SACX,aAED,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,aAC3D,eACE,KAAK,EAAE;4BACL,KAAK,EAAE,CAAC;4BACR,MAAM,EAAE,CAAC;4BACT,YAAY,EAAE,KAAK;4BACnB,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC;4BACzB,IAAI,EAAE,UAAU;yBACjB,GACD,EACF,KAAC,IAAI,IAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,YAC/C,KAAK,GACD,EACN,KAAK,IAAI,IAAI,IAAI,CAChB,KAAC,IAAI,IAAC,IAAI,EAAC,wBAAwB,EAAC,KAAK,EAAE,CAAC,CAAC,IAAI,YAC9C,KAAK,GACD,CACR,EACD,cAAK,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAI,EAC3B,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,kBAEzB,IACH,EACL,QAAQ,IACL,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,EACtB,QAAQ,EACR,KAAK,GAAG,EAAE,GAIX;IACC,OAAO,CACL,4BACa,aAAa,EACxB,KAAK,EAAE;YACL,CAAC,gBAA0B,CAAC,EAAE,CAAC,CAAC,GAAG;YACnC,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,eAAe;YAC/B,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,OAAO,EAAE,WAAW;YACpB,YAAY,EAAE,GAAG,CAAC,CAAC,MAAM,UAAU,CAAC,CAAC,GAAG,EAAE;YAC1C,UAAU,EAAE,CAAC,CAAC,IAAI;YAClB,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,MAAM;YAChB,GAAG,KAAK;SACT,YAEA,QAAQ,GACL,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,EACnB,KAAK,GAAG,EAAE,GAGX;IACC,OAAO,CACL,cAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,YACtD,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACtB,KAAC,IAAI,IAAS,MAAM,EAAE,IAAI,CAAC,MAAM,YAC9B,IAAI,CAAC,KAAK,IADF,CAAC,CAEL,CACR,CAAC,GACE,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,EAA8C;IAC1E,OAAO,CACL,cAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,YAC7D,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CACpB,eAEE,KAAK,EAAE;gBACL,OAAO,EAAE,MAAM;gBACf,UAAU,EAAE,UAAU;gBACtB,cAAc,EAAE,eAAe;gBAC/B,GAAG,EAAE,EAAE;aACR,aAED,KAAC,IAAI,IAAC,IAAI,EAAC,wBAAwB,EAAC,KAAK,EAAE,CAAC,CAAC,IAAI,YAC9C,GAAG,CAAC,CAAC,GACD,EACP,KAAC,IAAI,IACH,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,YAElE,GAAG,CAAC,CAAC,GACD,KAfF,CAAC,CAgBF,CACP,CAAC,GACE,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,EACxB,WAAW,GAAG,QAAQ,GAGvB;IACC,OAAO,CACL,eACE,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,QAAQ;YACpB,GAAG,EAAE,CAAC;YACN,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,UAAU,CAAC,CAAC,IAAI,EAAE;YACrC,YAAY,EAAE,GAAG;YACjB,OAAO,EAAE,UAAU;YACnB,UAAU,EAAE,CAAC,CAAC,IAAI;SACnB,aAED,KAAC,GAAG,IAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,GAAI,EAC1C,KAAC,IAAI,IAAC,IAAI,EAAC,wBAAwB,EAAC,KAAK,EAAE,CAAC,CAAC,IAAI,YAC9C,WAAW,GACP,IACH,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,EAAE,KAAK,GAAG,EAAE,EAA6B;IAC/D,OAAO,CACL,cACE,KAAK,EAAE;YACL,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,UAAU,EAAE,CAAC,CAAC,IAAI;YAClB,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,OAAO;YACf,GAAG,KAAK;SACT,GACD,CACH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,EACpB,IAAI,EACJ,MAAM,GAAG,KAAK,EACd,IAAI,GAAG,qBAAqB,EAC5B,KAAK,GAAG,CAAC,CAAC,GAAG,GAMd;IACC,OAAO,CACL,KAAC,IAAI,IAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,YACxD,IAAI,GACA,CACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,EACnB,KAAK,EACL,KAAK,EACL,MAAM,EACN,MAAM,GAAG,KAAK,GAMf;IACC,OAAO,CACL,KAAC,IAAI,IAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,YACpE,KAAK,GACD,CACR,CAAC;AACJ,CAAC;AAQD,MAAM,QAAQ,GAA0C;IACtD,0EAA0E;IAC1E,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;QACZ,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACzB,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;YAC1B,OAAO,CACL,MAAC,MAAM,IAAC,GAAG,EAAE,CAAC,aACX,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,YAAY,CAAC,EAC/C,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAC9B,CACV,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YACzB,OAAO,CACL,MAAC,MAAM,IAAC,GAAG,EAAE,CAAC,aACX,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,WAAW,CAAC,EAC/C,cACE,KAAK,EAAE;4BACL,IAAI,EAAE,CAAC;4BACP,SAAS,EAAE,CAAC;4BACZ,OAAO,EAAE,MAAM;4BACf,aAAa,EAAE,QAAQ;4BACvB,GAAG,EAAE,YAAY;4BACjB,OAAO,EAAE,wBAAwB;yBAClC,YAEA,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GACjC,IACC,CACV,CAAC;QACJ,CAAC;QACD,OAAO,CACL,KAAC,MAAM,IAAC,GAAG,EAAC,yBAAyB,YAClC,qBAAqB,CAAC,IAAI,CAAC,GACrB,CACV,CAAC;IACJ,CAAC;IACD,UAAU,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,CAC3B,KAAC,UAAU,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,YAAG,QAAQ,GAAc,CAC9D;IACD,SAAS,EAAE,GAAG,EAAE,CAAC,KAAC,SAAS,KAAG;IAC9B,OAAO,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,KAAC,OAAO,cAAE,QAAQ,GAAW;IACxD,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,KAAC,GAAG,IAAC,IAAI,EAAE,CAAC,CAAC,IAAI,YAAG,QAAQ,GAAO;IACzD,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,KAAC,GAAG,IAAC,IAAI,EAAE,CAAC,CAAC,IAAI,YAAG,QAAQ,GAAO;IACzD,OAAO,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,KAAC,OAAO,cAAE,QAAQ,GAAW;IACxD,IAAI,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,KAAC,IAAI,cAAE,QAAQ,GAAQ;IAC/C,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,KAAC,GAAG,IAAC,MAAM,EAAE,CAAC,CAAC,MAAM,YAAG,QAAQ,GAAO;IAC7D,IAAI,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,KAAC,IAAI,cAAE,QAAQ,GAAQ;IAC/C,MAAM,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,CACvB,KAAC,MAAM,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,YAC3D,QAAQ,GACF,CACV;IACD,OAAO,EAAE,GAAG,EAAE,CAAC,KAAC,OAAO,KAAG;IAE1B,0EAA0E;IAC1E,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAC,KAAK,IAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,GAAI;IACvD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CACX,KAAC,IAAI,IACH,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,EACxB,KAAK,EAAE,CAAC,CAAC,KAAK,EACd,MAAM,EAAE,CAAC,CAAC,MAAM,EAChB,MAAM,EAAE,CAAC,CAAC,MAAM,GAChB,CACH;IACD,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAC,KAAK,IAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,GAAI;IACjD,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CACd,KAAC,YAAY,IAAC,IAAI,EAAE,CAAC,CAAC,IAAI,YAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,GAAgB,CAC/D;IAED,0EAA0E;IAC1E,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CACd,KAAC,OAAO,IACN,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,EACxB,KAAK,EAAE,CAAC,CAAC,KAAK,EACd,MAAM,EAAE,CAAC,CAAC,MAAM,EAChB,GAAG,EAAE,CAAC,CAAC,GAAG,EACV,IAAI,EAAE,CAAC,CAAC,IAAI,GACZ,CACH;IACD,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CACd,KAAC,OAAO,IACN,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,EACxB,IAAI,EAAE,CAAC,CAAC,IAAI,EACZ,GAAG,EAAE,CAAC,CAAC,GAAG,EACV,OAAO,EAAE,CAAC,CAAC,OAAO,EAClB,IAAI,EAAE,CAAC,CAAC,IAAI,EACZ,IAAI,EAAE,CAAC,CAAC,IAAI,GACZ,CACH;IAED,0EAA0E;IAC1E,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,GAAI;IAC5C,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAC,IAAI,IAAC,MAAM,EAAE,CAAC,CAAC,MAAM,YAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,GAAQ;IAC/D,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAC,IAAI,IAAC,IAAI,EAAE,CAAC,CAAC,IAAI,YAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,GAAQ;IAC3D,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAC,KAAK,IAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,GAAI;IACrD,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CACZ,KAAC,KAAK,IACJ,KAAK,EAAE,CAAC,CAAC,KAAK,EACd,KAAK,EAAE,CAAC,CAAC,KAAK,EACd,WAAW,EAAE,CAAC,CAAC,WAAW,EAC1B,IAAI,EAAE,CAAC,CAAC,IAAI,GACZ,CACH;IACD,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CACV,KAAC,GAAG,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,YAC5C,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,GACd,CACP;IACD,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAC,GAAG,IAAC,IAAI,EAAE,CAAC,CAAC,IAAI,GAAI;IACjC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAC,SAAS,IAAC,WAAW,EAAE,CAAC,CAAC,WAAW,GAAI;IAE3D,0EAA0E;IAC1E,MAAM,EAAE,GAAG,EAAE,CAAC,KAAC,MAAM,KAAG;IACxB,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAC,UAAU,IAAC,MAAM,EAAE,CAAC,CAAC,MAAM,GAAI;IACnD,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAC,EAAE,IAAC,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,GAAI;CACtC,CAAC;AAEF,SAAS,oBAAoB,CAC3B,IAAmB,EACnB,GAAqB;IAErB,MAAM,UAAU,GACd,IAAI,CAAC,IAAI,KAAK,KAAK;QACnB,CAAC,IAAI,CAAC,EAAE,KAAK,KAAK,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;IACjE,OAAO,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAsB;IACnD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAC3B,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,eAAe,CAAC,EAAE,CAAC,CAC1D,CAAC;AACJ,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,UAAU,CACxB,IAAmB,EACnB,GAAqB;IAErB,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3E,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,QAAQ,CAAC,CAAC,CAAC,wBAAgB,QAAQ,IAAd,GAAG,CAAkB,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3D,CAAC;IACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC1C,OAAO,KAAC,SAAS,cAAuB,QAAQ,IAAzB,GAAG,IAAI,IAAI,CAAC,EAAE,CAAwB,CAAC;AAChE,CAAC;AAED,gCAAgC;AAChC,MAAM,UAAU,WAAW,CAAC,KAAsB;IAChD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,mEAAmE;AACnE,SAAS,SAAS,CAAC,EAAE,QAAQ,EAA2B;IACtD,OAAO,4BAAG,QAAQ,GAAI,CAAC;AACzB,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,WAAW,CAAC,EAAU;IACpC,OAAO,EAAE,IAAI,QAAQ,CAAC;AACxB,CAAC;AAED,OAAO,EAAE,QAAQ,IAAI,aAAa,EAAE,CAAC,IAAI,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AAEhF,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAEhF,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;AAI9B,uGAAuG;AACvG,MAAM,CAAC,MAAM,mBAAmB,GAC9B,gOAAgO,CAAC;AAEnO,6EAA6E;AAC7E,SAAS,QAAQ,CAAC,GAAG,KAA6B;IAChD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,IAAI,GAAG,UAAU,CAAC;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;AACzC,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,OAAO,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,YAAY,CAAC,MAAc;IAClC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,OAAO,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,OAAO,CAAC,EAAW,EAAE,IAAY;IACxC,OAAO,gBAAgB,CAAC,EAAE,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AAC5D,CAAC;AAED,gFAAgF;AAChF,SAAS,QAAQ,CAAC,KAAa;IAC7B,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IACvB,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACrD,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACjB,MAAM,IAAI,GACR,CAAC,CAAC,MAAM,KAAK,CAAC;YACZ,CAAC,CAAC,CAAC;iBACE,KAAK,CAAC,EAAE,CAAC;iBACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;iBACjB,IAAI,CAAC,EAAE,CAAC;YACb,CAAC,CAAC,CAAC,CAAC;QACR,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC7B,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;IAC3D,CAAC;IACD,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACzC,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QACvE,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAC1B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,8EAA8E;AAC9E,SAAS,SAAS,CAAC,CAAS,EAAE,CAAS;IACrC,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACvB,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACvB,OAAO,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC;AAClC,CAAC;AAED,iFAAiF;AACjF,SAAS,eAAe,CACtB,CAAS,EACT,CAAS,EACT,CAAS,EACT,CAAS,EACT,CAAS;IAET,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACnD,OAAO;QACL,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE;QAClB,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE;QACjB,IAAI,GAAG,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE;QAC1C,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE;QACjB,IAAI,GAAG,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE;QAC9C,IAAI,CAAC,GAAG,GAAG,EAAE;QACb,IAAI,GAAG,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE;QAC1C,IAAI,CAAC,GAAG,GAAG,EAAE;QACb,IAAI,GAAG,IAAI,GAAG,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE;QACtC,GAAG;KACJ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,sBAAsB,CACpC,KAAa,EACb,MAAc,EACd,KAAa;IAEb,OAAO,CACL,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QACtB,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QACvB,KAAK,GAAG,KAAK,GAAG,CAAC;QACjB,MAAM,GAAG,KAAK,GAAG,CAAC,CACnB,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,IAAa,EAAE,QAAgB;IACpD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACjD,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,EAAE,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI;QACjB,gBAAgB;QAChB,iBAAiB;QACjB,mBAAmB;QACnB,kBAAkB;KACV,EAAE,CAAC;QACX,MAAM,KAAK,GAAG,UAAU,CACtB,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CACpD,CAAC;QACF,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,KAAK,KAAK,kBAAkB;YAAE,OAAO,KAAK,CAAC;IACvE,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,kBAAkB,CACzB,IAAa;IAEb,MAAM,EAAE,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,KAAK,GAA+C,EAAE,CAAC;IAC7D,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI;QACzC,CAAC,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,CAAC;QAC3C,CAAC,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,CAAC;QACjD,CAAC,QAAQ,EAAE,mBAAmB,EAAE,mBAAmB,CAAC;QACpD,CAAC,MAAM,EAAE,iBAAiB,EAAE,iBAAiB,CAAC;KACtC,EAAE,CAAC;QACX,MAAM,KAAK,GAAG,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC5B,IACE,KAAK,GAAG,CAAC;YACT,KAAK;YACL,KAAK,KAAK,kBAAkB;YAC5B,KAAK,KAAK,aAAa,EACvB,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,IAAiB;IACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;IACjD,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;QAAE,OAAO,aAAa,CAAC;IAChD,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IACtC,QAAQ,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACjB,KAAK,KAAK;YACR,OAAO,UAAU,CAAC;QACpB,KAAK,OAAO;YACV,OAAO,YAAY,CAAC;QACtB,KAAK,QAAQ;YACX,OAAO,aAAa,CAAC;QACvB,KAAK,MAAM;YACT,OAAO,WAAW,CAAC;IACvB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,KAAK,CACZ,KAAkB,EAClB,IAMC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,qBAAqB,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC;IAClC,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,CAAC;IACnC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,OAAO,IAAI,CAAC,CAAC;IAEvC,MAAM,MAAM,GACV,CAAC,KAAK,CAAC,OAAO,CAAC,iDAAiD,CAAC;QAC/D,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,KAAK,CAAC,aAAa,CACjB,iDAAiD,CAClD,CAAC,IAAI,KAAK,CAAC;IAClB,MAAM,GAAG,GACP,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,SAAS,CAAC;IACvE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,GAAG,CAAC;IACrD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;IAE7E,MAAM,KAAK,GAAgB,EAAE,CAAC;IAC9B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,IAAI,GAAG,CAAC,QAAiB,EAAE,MAAc,EAAE,EAAU,EAAE,EAAE;QAC7D,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO,CACzB,QAA6C,CAC9C,EAAE,CAAC;YACF,KAAK,CAAC,IAAI,CAAC;gBACT,CAAC,EAAE,CAAC,CAAC,CAAC;gBACN,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;gBAC3D,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,EAAE;aACjC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAE,EAAU,EAAE,IAAY,EAAE,EAAE,CAAC,CAAC;QAC9D,IAAI;QACJ,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,MAAM;QACN,WAAW,EAAE,EAAE;QACf,gBAAgB,EAAE,IAAI;KACvB,CAAC,CAAC;IAEH,IAAI,IAAI,CAAC,SAAS,IAAI,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC;QAClE,MAAM,EAAE,GAAG,CAAC,CAAC;QACb,IAAI,CACF,GAAG,CAAC,IAAI,CACN,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,EACjE;YACE,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC5D,SAAS,EAAE,IAAI,CAAC,SAAS,GAAG,IAAI;YAChC,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI;SAC3B,CACF,EACD,MAAM,EACN,EAAE,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAc,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAClE,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,KAAK,MAAM;YAAE,OAAO;QACvD,IAAI,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,KAAK,GAAG;YAAE,OAAO;QAClD,MAAM,CAAC,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QACtC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACpC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;QACzB,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAAE,OAAO;QAC7C,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC9C,MAAM,MAAM,GACV,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE,IAAI,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACtE,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,IAAI,GAAG,CAAC;QACrD,MAAM,IAAI,GAAG,QAAQ,CACnB,IAAI,EACJ,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EACb,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EACb,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EACb,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EACb,KAAK,EAAE,CACR,CAAC;QACF,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;QACrC,IAAI,QAAiB,CAAC;QACtB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YAChC,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACzC,CAAC;aAAM,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;YACjC,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACjD,CAAC;aAAM,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YAClC,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACjD,CAAC;aAAM,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YAC/B,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACzC,CAAC;aAAM,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YAClC,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,GAAG,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YACvE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACjD,QAAQ;gBACN,MAAM,GAAG,CAAC;oBACR,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;oBAClE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,EAC3B,QAAQ,EACR,MAAM,GAAG,EAAE,EACX,OAAO,GAAG,IAAI,EACd,SAAS,GAAG,IAAI,EAChB,WAAW,GAAG,EAAE,EAChB,QAAQ,GAAG,cAAc,GAQ1B;IACC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAI/B,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAEzB,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;YACpB,EAAE,EAAE,eAAe,CAAC,kBAAkB,CAAC,CAAC;YACxC,EAAE,EAAE,aAAa,CACf,iDAAiD,CAClD,EAAE,eAAe,CAAC,kBAAkB,CAAC,CAAC;YACvC,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACpC,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC7B,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;gBACtC,MAAM,IAAI,GAAG,KAAK,CAAC,EAAE,EAAE;oBACrB,SAAS;oBACT,MAAM;oBACN,WAAW;oBACX,SAAS;oBACT,QAAQ;iBACT,CAAC,CAAC;gBACH,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC;oBACrB,EAAE,CAAC,YAAY,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;oBAC5C,CACE,EAAE,CAAC,aAAa,CACd,iDAAiD,CAClD,IAAI,EAAE,CACR,CAAC,YAAY,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;oBAC3C,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACjB,CAAC;YACH,CAAC,EAAE,CAAC,CAAC,CAAC;QACR,CAAC,CAAC;QACF,OAAO,EAAE,CAAC;QACV,MAAM,EAAE,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;QACvC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACf,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,MAAM,EAAE,GAAG,IAAI,gBAAgB,CAAC,CAAC,SAAS,EAAE,EAAE;YAC5C,IAAI,SAAS,CAAC,KAAK,CAAC,sBAAsB,CAAC;gBAAE,OAAO;YACpD,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE;YACb,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,IAAI;YACf,aAAa,EAAE,IAAI;YACnB,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,EAAE,CAAC,gBAAgB,CAAC,iCAAiC,EAAE,OAAO,CAAC,CAAC;QAChE,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC3D,KAAK,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;gBAClC,IAAI,CAAC,SAAS;oBAAE,OAAO,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;YACjB,EAAE,CAAC,UAAU,EAAE,CAAC;YAChB,EAAE,CAAC,UAAU,EAAE,CAAC;YAChB,EAAE,CAAC,mBAAmB,CAAC,iCAAiC,EAAE,OAAO,CAAC,CAAC;YACnE,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC7B,EAAE,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;YACvC,EAAE,CAAC,aAAa,CACd,iDAAiD,CAClD,EAAE,eAAe,CAAC,kBAAkB,CAAC,CAAC;QACzC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;IAElE,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACjD,OAAO,CACL,mCAEE,SAAS,EAAC,oBAAoB,EAC9B,KAAK,EAAC,MAAM,EACZ,MAAM,EAAC,MAAM,EACb,OAAO,EAAE,OAAO,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,EACpC,mBAAmB,EAAC,MAAM,EAC1B,KAAK,EAAE;YACL,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,CAAC;YACR,aAAa,EAAE,MAAM;YACrB,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,CAAC;SACV,YAEA,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACzB,eAEE,CAAC,EAAE,CAAC,CAAC,CAAC,EACN,IAAI,EAAC,MAAM,EACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAChB,WAAW,EAAE,CAAC,CAAC,WAAW,EAC1B,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,IANjB,CAAC,CAON,CACH,CAAC,GACE,CACP,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,QAAwB;IACtD,IAAI,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAErD,MAAM,YAAY,GAAG;QACnB,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QAClC,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;KACrC,CAAC;IACF,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAU;IACpC,MAAM,OAAO,GAAG,IAAI,YAAY,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;IACpE,OAAO,OAAO,CACZ,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QACjD,OAAO,EAAE,OAAO,CAAC,qBAAqB,CAAC,CACxC,CAAC;AACJ,CAAC","sourcesContent":["import {\n createContext,\n useContext,\n useEffect,\n useRef,\n useState,\n useSyncExternalStore,\n type CSSProperties,\n type ReactNode,\n type RefObject,\n} from \"react\";\nimport rough from \"roughjs\";\n\nimport type {\n WireframeElName,\n WireframeNode,\n WireframeTone,\n} from \"./wireframe.config.js\";\n\n/**\n * Shared wireframe \"kit\" — hand-drawn low-fi primitives, the el → component node\n * registry, the rough.js sketch overlay, and the viewer-level sketchy/clean\n * style preference. Ported verbatim (geometry-wise) from the plan template's\n * `app/components/plan/wireframe/kit/*` so any app can render wireframe blocks.\n *\n * DECOUPLING: the only behavioral change from the plan copy is theme detection —\n * core blocks read `document.documentElement.classList.contains(\"dark\")` (the\n * MermaidBlock precedent) instead of importing `next-themes`. Everything else\n * (the `.plan-wf` / `.wf-*` / `[data-rough]` class contract the rough overlay\n * measures, the `--wf-*` / `--ink` / `--paper` token names every primitive\n * reads) is preserved exactly, so the kit looks identical in plan and renders\n * correctly in any app once the matching tokens exist in `core/styles/blocks.css`.\n */\n\n/* ========================================================================== */\n/* Viewer-level wireframe style preference (localStorage) */\n/* ========================================================================== */\n\nexport type WireframeStyle = \"sketchy\" | \"clean\";\n\nconst STYLE_STORAGE_KEY = \"plan-wireframe-style\";\nconst styleListeners = new Set<() => void>();\n\nfunction readStoredStyle(): WireframeStyle {\n if (typeof localStorage === \"undefined\") return \"sketchy\";\n try {\n return localStorage.getItem(STYLE_STORAGE_KEY) === \"clean\"\n ? \"clean\"\n : \"sketchy\";\n } catch {\n return \"sketchy\";\n }\n}\n\nlet currentStyle: WireframeStyle = readStoredStyle();\n\nexport function setWireframeStyle(style: WireframeStyle): void {\n if (style === currentStyle) return;\n currentStyle = style;\n try {\n localStorage.setItem(STYLE_STORAGE_KEY, style);\n } catch {\n // ignore (private mode / disabled storage)\n }\n for (const listener of styleListeners) listener();\n}\n\nexport function toggleWireframeStyle(): void {\n setWireframeStyle(currentStyle === \"sketchy\" ? \"clean\" : \"sketchy\");\n}\n\nfunction subscribeStyle(callback: () => void): () => void {\n styleListeners.add(callback);\n const onStorage = (event: StorageEvent) => {\n if (event.key === STYLE_STORAGE_KEY) {\n currentStyle = readStoredStyle();\n callback();\n }\n };\n if (typeof window !== \"undefined\") {\n window.addEventListener(\"storage\", onStorage);\n }\n return () => {\n styleListeners.delete(callback);\n if (typeof window !== \"undefined\") {\n window.removeEventListener(\"storage\", onStorage);\n }\n };\n}\n\nexport function useWireframeStyle(): WireframeStyle {\n return useSyncExternalStore(\n subscribeStyle,\n () => currentStyle,\n () => \"sketchy\",\n );\n}\n\n/** Read the live dark-mode flag from the document root (next-themes-free). */\nexport function useIsDark(): boolean {\n const [isDark, setIsDark] = useState(false);\n useEffect(() => {\n if (typeof document === \"undefined\") return;\n const root = document.documentElement;\n const read = () => setIsDark(root.classList.contains(\"dark\"));\n read();\n const observer = new MutationObserver(read);\n observer.observe(root, { attributes: true, attributeFilter: [\"class\"] });\n return () => observer.disconnect();\n }, []);\n return isDark;\n}\n\n/* ========================================================================== */\n/* Primitives (ported from kit/primitives.tsx) */\n/* ========================================================================== */\n\n/**\n * Frame-level config threaded to every Screen so skeleton / theme / sketch-vs-\n * clean reach the kit no matter which path renders the root Screen.\n */\nexport const KitConfigContext = createContext<{\n skeleton?: boolean;\n flushFrame?: boolean;\n sketch?: number;\n theme?: \"light\" | \"dark\";\n style?: \"sketchy\" | \"clean\";\n}>({});\n\nconst V = {\n ink: \"var(--ink)\",\n soft: \"var(--ink-soft)\",\n line: \"var(--line)\",\n paper: \"var(--paper)\",\n card: \"var(--card)\",\n accent: \"var(--accent)\",\n accentSoft: \"var(--accent-soft)\",\n warn: \"var(--warn)\",\n warnSoft: \"var(--warn-soft)\",\n ok: \"var(--ok)\",\n okSoft: \"var(--ok-soft)\",\n stroke: \"var(--stroke)\",\n radius: \"var(--radius)\",\n gap: \"var(--gap)\",\n pad: \"var(--pad)\",\n fs: \"var(--fs)\",\n hand: \"var(--font-hand)\",\n script: \"var(--font-script)\",\n} as const;\n\ntype ToneColors = { fg: string; bg: string; bd: string };\n\nfunction toneColors(tone: WireframeTone = \"default\"): ToneColors {\n switch (tone) {\n case \"accent\":\n return { fg: V.accent, bg: V.accentSoft, bd: V.accent };\n case \"warn\":\n return { fg: V.warn, bg: V.warnSoft, bd: V.warn };\n case \"ok\":\n return { fg: V.ok, bg: V.okSoft, bd: V.ok };\n case \"muted\":\n return { fg: V.soft, bg: \"transparent\", bd: V.soft };\n default:\n return { fg: V.ink, bg: \"transparent\", bd: V.ink };\n }\n}\n\nfunction toneInk(tone?: WireframeTone): string {\n return toneColors(tone).fg;\n}\n\nfunction fontWeight(weight?: \"normal\" | \"medium\" | \"bold\"): number {\n if (weight === \"bold\") return 700;\n if (weight === \"medium\") return 600;\n return 400;\n}\n\nexport function Screen({\n children,\n pad = 0,\n sketch,\n density,\n theme,\n skeleton = false,\n style = {},\n}: {\n children?: ReactNode;\n pad?: number | string;\n sketch?: number;\n density?: \"compact\" | \"regular\" | \"roomy\";\n theme?: \"light\" | \"dark\";\n skeleton?: boolean;\n style?: CSSProperties;\n}) {\n const cfg = useContext(KitConfigContext);\n const isSkeleton = skeleton || Boolean(cfg.skeleton);\n const wfStyle = cfg.style ?? \"sketchy\";\n const wfTheme = theme ?? cfg.theme ?? \"light\";\n const effectivePad = cfg.flushFrame ? 0 : pad;\n void sketch;\n return (\n <div\n className=\"plan-wf\"\n data-density={density ?? \"regular\"}\n data-theme={wfTheme}\n data-skeleton={isSkeleton ? \"true\" : undefined}\n data-style={wfStyle}\n style={{\n position: \"relative\",\n width: \"100%\",\n // `minHeight` (not a fixed `height: 100%`) so the screen fills an\n // auto-height artboard's floor yet grows with its content instead of\n // clipping. The frame shell (`ArtboardFrame`) owns the height policy; a\n // caller can still override via `style.height` for a fixed canvas.\n minHeight: \"100%\",\n background: \"transparent\",\n color: V.ink,\n fontFamily: V.hand,\n fontSize: V.fs,\n lineHeight: 1.25,\n display: \"flex\",\n flexDirection: \"column\",\n padding: effectivePad,\n boxSizing: \"border-box\",\n overflow: \"hidden\",\n ...style,\n }}\n >\n {children}\n </div>\n );\n}\n\nexport function Hand({\n children,\n size,\n weight = 400,\n color = V.ink,\n script = false,\n style = {},\n}: {\n children?: ReactNode;\n size?: number | string;\n weight?: number;\n color?: string;\n script?: boolean;\n style?: CSSProperties;\n}) {\n return (\n <span\n style={{\n fontFamily: script ? V.script : V.hand,\n fontSize: size ?? V.fs,\n fontWeight: weight,\n color,\n minWidth: 0,\n overflowWrap: \"break-word\",\n ...style,\n }}\n >\n {children}\n </span>\n );\n}\n\nexport function Bar({\n w = 80,\n h,\n color = V.line,\n r = 4,\n style = {},\n}: {\n w?: number | string;\n h?: number | string;\n color?: string;\n r?: number | string;\n style?: CSSProperties;\n}) {\n return (\n <div\n style={{\n width: w,\n height: h ?? \"calc(var(--fs) * 0.72)\",\n background: color,\n borderRadius: r,\n flex: \"0 0 auto\",\n ...style,\n }}\n />\n );\n}\n\nexport function Lines({\n n = 2,\n gap = 6,\n widths,\n color = V.line,\n style = {},\n}: {\n n?: number;\n gap?: number;\n widths?: Array<number | string>;\n color?: string;\n style?: CSSProperties;\n}) {\n const ws =\n widths ??\n Array.from({ length: n }, (_, i) => (i === n - 1 ? \"55%\" : \"100%\"));\n return (\n <div style={{ display: \"flex\", flexDirection: \"column\", gap, ...style }}>\n {ws.map((w, i) => (\n <Bar key={i} w={typeof w === \"number\" ? `${w}%` : w} color={color} />\n ))}\n </div>\n );\n}\n\nexport function Box({\n children,\n pad = V.pad,\n fill = V.card,\n dashed = false,\n style = {},\n}: {\n children?: ReactNode;\n pad?: number | string;\n fill?: string;\n dashed?: boolean;\n style?: CSSProperties;\n}) {\n return (\n <div\n data-rough=\"rect\"\n style={{\n [\"--rough-stroke\" as string]: V.ink,\n border: `${V.stroke} ${dashed ? \"dashed\" : \"solid\"} ${V.ink}`,\n borderRadius: V.radius,\n background: fill,\n padding: pad,\n boxSizing: \"border-box\",\n minWidth: 0,\n ...style,\n }}\n >\n {children}\n </div>\n );\n}\n\nexport function Check({\n done = false,\n shape = \"square\",\n size = 18,\n}: {\n done?: boolean;\n shape?: \"square\" | \"circle\";\n size?: number;\n}) {\n const r = shape === \"circle\" ? \"50%\" : \"calc(var(--radius) * 0.5)\";\n return (\n <div\n data-rough={shape === \"circle\" ? \"ellipse\" : \"rect\"}\n style={{\n [\"--rough-stroke\" as string]: done ? V.accent : V.ink,\n width: size,\n height: size,\n flex: \"0 0 auto\",\n borderRadius: r,\n border: `${V.stroke} solid ${done ? V.accent : V.ink}`,\n background: done ? V.accent : \"transparent\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n }}\n >\n {done && (\n <svg\n width={size * 0.6}\n height={size * 0.6}\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n stroke=\"#fff\"\n strokeWidth=\"2.2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M2 6.5l2.5 2.5L10 3\" />\n </svg>\n )}\n </div>\n );\n}\n\nexport function Pill({\n children,\n tone = \"default\",\n style = {},\n}: {\n children?: ReactNode;\n tone?: WireframeTone;\n style?: CSSProperties;\n}) {\n const c = toneColors(tone);\n return (\n <span\n style={{\n display: \"inline-flex\",\n alignItems: \"center\",\n gap: 4,\n border: `${V.stroke} solid ${c.bd}`,\n background: c.bg,\n color: c.fg,\n borderRadius: 999,\n padding: \"2px 9px\",\n fontSize: \"calc(var(--fs) * 0.82)\",\n fontFamily: V.hand,\n maxWidth: \"100%\",\n minWidth: 0,\n whiteSpace: \"normal\",\n overflowWrap: \"anywhere\",\n lineHeight: 1.3,\n ...style,\n }}\n >\n {children}\n </span>\n );\n}\n\nexport function Prio({ level = 2, label }: { level?: number; label?: string }) {\n const fill = level === 1 ? V.warn : level === 2 ? V.soft : \"transparent\";\n const bd = level === 3 ? V.soft : \"transparent\";\n return (\n <span style={{ display: \"inline-flex\", alignItems: \"center\", gap: 5 }}>\n <span\n style={{\n width: 9,\n height: 9,\n borderRadius: \"50%\",\n background: fill,\n border: `${V.stroke} solid ${bd}`,\n flex: \"0 0 auto\",\n }}\n />\n {label && (\n <Hand size=\"calc(var(--fs) * 0.82)\" color={V.soft}>\n {label}\n </Hand>\n )}\n </span>\n );\n}\n\nexport function Btn({\n children,\n solid = false,\n full = false,\n size = \"md\",\n tone = \"default\",\n style = {},\n}: {\n children?: ReactNode;\n solid?: boolean;\n full?: boolean;\n size?: \"sm\" | \"md\" | \"lg\";\n tone?: WireframeTone;\n style?: CSSProperties;\n}) {\n const pad =\n size === \"sm\" ? \"4px 10px\" : size === \"lg\" ? \"10px 18px\" : \"7px 14px\";\n const c = toneColors(tone === \"default\" ? \"accent\" : tone);\n return (\n <div\n data-rough=\"rect\"\n style={{\n [\"--rough-stroke\" as string]: solid ? c.bd : V.ink,\n display: full ? \"flex\" : \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: 6,\n border: `${V.stroke} solid ${solid ? c.bd : V.ink}`,\n background: solid ? c.bd : \"transparent\",\n color: solid ? \"#fff\" : V.ink,\n borderRadius: V.radius,\n padding: pad,\n fontFamily: V.hand,\n fontSize: V.fs,\n fontWeight: 700,\n width: full ? \"100%\" : \"auto\",\n maxWidth: \"100%\",\n minWidth: 0,\n boxSizing: \"border-box\",\n whiteSpace: \"normal\",\n overflowWrap: \"anywhere\",\n textAlign: \"center\",\n ...style,\n }}\n >\n {children}\n </div>\n );\n}\n\nexport function Chip({\n children,\n active = false,\n style = {},\n}: {\n children?: ReactNode;\n active?: boolean;\n style?: CSSProperties;\n}) {\n return (\n <span\n style={{\n display: \"inline-flex\",\n alignItems: \"center\",\n gap: 5,\n border: `${V.stroke} solid ${active ? V.accent : V.ink}`,\n background: active ? V.accentSoft : \"transparent\",\n color: active ? V.accent : V.ink,\n borderRadius: 999,\n padding: \"4px 12px\",\n fontSize: \"calc(var(--fs) * 0.88)\",\n fontFamily: V.hand,\n fontWeight: active ? 700 : 400,\n maxWidth: \"100%\",\n minWidth: 0,\n whiteSpace: \"normal\",\n overflowWrap: \"anywhere\",\n ...style,\n }}\n >\n {children}\n </span>\n );\n}\n\nexport function Field({\n label,\n value,\n placeholder,\n h,\n area = false,\n right,\n style = {},\n}: {\n label?: string;\n value?: string;\n placeholder?: number | string;\n h?: number | string;\n area?: boolean;\n right?: ReactNode;\n style?: CSSProperties;\n}) {\n return (\n <div style={{ display: \"flex\", flexDirection: \"column\", gap: 5, ...style }}>\n {label && (\n <Hand size=\"calc(var(--fs) * 0.86)\" color={V.soft} weight={700}>\n {label}\n </Hand>\n )}\n <div\n data-rough=\"rect\"\n style={{\n [\"--rough-stroke\" as string]: V.ink,\n border: `${V.stroke} solid ${V.ink}`,\n borderRadius: V.radius,\n background: V.card,\n padding: \"calc(var(--pad) * 0.8)\",\n minHeight: h ?? (area ? 64 : \"auto\"),\n display: \"flex\",\n alignItems: area ? \"flex-start\" : \"center\",\n justifyContent: \"space-between\",\n minWidth: 0,\n gap: 8,\n }}\n >\n {value ? (\n <Hand style={{ minWidth: 0, overflowWrap: \"anywhere\" }}>{value}</Hand>\n ) : area ? (\n <Lines n={2} widths={[\"85%\", \"60%\"]} />\n ) : (\n <Bar w={placeholder ?? 110} />\n )}\n {right}\n </div>\n </div>\n );\n}\n\nexport function StatusBar() {\n return (\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: \"9px 18px 2px\",\n flex: \"0 0 auto\",\n }}\n >\n <Hand size=\"calc(var(--fs) * 0.82)\" weight={700}>\n 9:41\n </Hand>\n <div style={{ display: \"flex\", gap: 5, alignItems: \"center\" }}>\n <Bar w={16} h={8} color={V.soft} r={2} />\n <Bar w={12} h={8} color={V.soft} r={2} />\n <Bar w={20} h={9} color={V.soft} r={2} />\n </div>\n </div>\n );\n}\n\nexport function Fab({ icon = \"+\" }: { icon?: string }) {\n return (\n <div\n data-rough=\"ellipse\"\n style={{\n [\"--rough-stroke\" as string]: V.accent,\n position: \"absolute\",\n right: 18,\n bottom: 22,\n width: 52,\n height: 52,\n borderRadius: \"50%\",\n border: `${V.stroke} solid ${V.accent}`,\n background: V.accent,\n color: \"#fff\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n fontFamily: V.hand,\n fontSize: 28,\n fontWeight: 700,\n lineHeight: 1,\n boxShadow: \"0 4px 12px rgba(0,0,0,0.16)\",\n zIndex: 4,\n }}\n >\n {icon}\n </div>\n );\n}\n\nexport function BrowserBar({\n title = \"todo\",\n children,\n}: {\n title?: string;\n children?: ReactNode;\n}) {\n return (\n <div\n data-rough=\"line:bottom\"\n style={{\n [\"--rough-stroke\" as string]: V.ink,\n display: \"flex\",\n alignItems: \"center\",\n gap: 10,\n padding: \"9px 14px\",\n borderBottom: `${V.stroke} solid ${V.ink}`,\n flex: \"0 0 auto\",\n background: V.card,\n }}\n >\n <div style={{ display: \"flex\", gap: 6 }}>\n {[0, 1, 2].map((i) => (\n <span\n key={i}\n data-rough=\"ellipse\"\n style={{\n [\"--rough-stroke\" as string]: V.ink,\n width: 11,\n height: 11,\n borderRadius: \"50%\",\n border: `${V.stroke} solid ${V.ink}`,\n }}\n />\n ))}\n </div>\n <div\n style={{\n flex: 1,\n border: `${V.stroke} solid ${V.soft}`,\n borderRadius: 999,\n padding: \"3px 12px\",\n display: \"flex\",\n alignItems: \"center\",\n gap: 6,\n }}\n >\n <Bar w={12} h={10} color={V.soft} r={3} />\n <Hand size=\"calc(var(--fs) * 0.82)\" color={V.soft}>\n {title}.app\n </Hand>\n </div>\n {children}\n </div>\n );\n}\n\nexport function SectionLabel({\n children,\n right,\n tone = \"muted\",\n}: {\n children?: ReactNode;\n right?: ReactNode;\n tone?: WireframeTone;\n}) {\n return (\n <div\n style={{\n display: \"flex\",\n alignItems: \"baseline\",\n justifyContent: \"space-between\",\n minWidth: 0,\n gap: 8,\n }}\n >\n <Hand\n size=\"calc(var(--fs) * 0.9)\"\n weight={700}\n color={toneInk(tone)}\n style={{\n letterSpacing: 0.3,\n minWidth: 0,\n overflowWrap: \"anywhere\",\n }}\n >\n {children}\n </Hand>\n {right}\n </div>\n );\n}\n\nexport function Avatar({ size = 26 }: { size?: number }) {\n return (\n <div\n data-rough=\"ellipse\"\n style={{\n [\"--rough-stroke\" as string]: V.ink,\n width: size,\n height: size,\n borderRadius: \"50%\",\n border: `${V.stroke} solid ${V.ink}`,\n background: V.accentSoft,\n flex: \"0 0 auto\",\n }}\n />\n );\n}\n\nexport function IconSquare({\n size = 18,\n active = false,\n}: {\n size?: number;\n active?: boolean;\n}) {\n return (\n <div\n data-rough=\"rect\"\n style={{\n [\"--rough-stroke\" as string]: active ? V.accent : V.soft,\n width: size,\n height: size,\n flex: \"0 0 auto\",\n borderRadius: \"calc(var(--radius) * 0.5)\",\n border: `${V.stroke} solid ${active ? V.accent : V.soft}`,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n }}\n >\n <div\n style={{\n width: \"55%\",\n height: \"55%\",\n borderRadius: 2,\n background: active ? V.accent : V.line,\n }}\n />\n </div>\n );\n}\n\nexport function NavItem({\n label,\n count,\n active = false,\n dot = false,\n tone = \"accent\",\n}: {\n label?: string;\n count?: number;\n active?: boolean;\n dot?: boolean;\n tone?: WireframeTone;\n}) {\n const dotColor = toneInk(tone);\n return (\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n gap: 9,\n padding: \"5px 8px\",\n borderRadius: V.radius,\n background: active ? V.accentSoft : \"transparent\",\n minWidth: 0,\n }}\n >\n {dot ? (\n <span\n style={{\n width: 10,\n height: 10,\n borderRadius: \"50%\",\n border: `${V.stroke} solid ${dotColor}`,\n background: dotColor,\n flex: \"0 0 auto\",\n }}\n />\n ) : (\n <IconSquare size={15} active={active} />\n )}\n <Hand\n color={active ? V.accent : V.ink}\n weight={active ? 700 : 400}\n style={{ flex: 1, minWidth: 0 }}\n >\n {label}\n </Hand>\n {count != null && (\n <Hand size=\"calc(var(--fs) * 0.82)\" color={V.soft}>\n {count}\n </Hand>\n )}\n </div>\n );\n}\n\nexport function Sidebar({\n children,\n width = 196,\n style = {},\n}: {\n children?: ReactNode;\n width?: number;\n style?: CSSProperties;\n}) {\n return (\n <div\n data-rough=\"line:right\"\n style={{\n [\"--rough-stroke\" as string]: V.ink,\n width,\n flex: \"0 0 auto\",\n borderRight: `${V.stroke} solid ${V.ink}`,\n background: V.card,\n padding: V.pad,\n display: \"flex\",\n flexDirection: \"column\",\n gap: V.gap,\n minHeight: 0,\n minWidth: 0,\n alignSelf: \"stretch\",\n overflow: \"hidden\",\n ...style,\n }}\n >\n {children}\n </div>\n );\n}\n\nexport function Main({\n children,\n style = {},\n}: {\n children?: ReactNode;\n style?: CSSProperties;\n}) {\n return (\n <div\n style={{\n flex: 1,\n minWidth: 0,\n minHeight: 0,\n padding: \"18px 24px\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: V.gap,\n overflow: \"hidden\",\n ...style,\n }}\n >\n {children}\n </div>\n );\n}\n\nexport function Row({\n children,\n full = false,\n style = {},\n}: {\n children?: ReactNode;\n full?: boolean;\n style?: CSSProperties;\n}) {\n return (\n <div\n style={{\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"stretch\",\n gap: V.gap,\n minWidth: 0,\n minHeight: 0,\n maxWidth: \"100%\",\n flex: full ? 1 : undefined,\n ...style,\n }}\n >\n {children}\n </div>\n );\n}\n\nexport function Col({\n children,\n full = false,\n style = {},\n}: {\n children?: ReactNode;\n full?: boolean;\n style?: CSSProperties;\n}) {\n return (\n <div\n style={{\n display: \"flex\",\n flexDirection: \"column\",\n gap: V.gap,\n minWidth: 0,\n minHeight: 0,\n flex: full ? 1 : undefined,\n ...style,\n }}\n >\n {children}\n </div>\n );\n}\n\nexport function TaskRow({\n title,\n note,\n due,\n dueTone = \"default\",\n prio,\n done = false,\n}: {\n title?: string;\n note?: string;\n due?: string;\n dueTone?: WireframeTone;\n prio?: number;\n done?: boolean;\n}) {\n return (\n <div\n style={{\n display: \"flex\",\n alignItems: \"flex-start\",\n gap: V.gap,\n padding: \"calc(var(--pad) * 0.55) 0\",\n minWidth: 0,\n }}\n >\n <div style={{ marginTop: 1 }}>\n <Check done={done} />\n </div>\n <div\n style={{\n flex: 1,\n minWidth: 0,\n display: \"flex\",\n flexDirection: \"column\",\n gap: 4,\n }}\n >\n <Hand\n color={done ? V.soft : V.ink}\n style={done ? { textDecoration: \"line-through\" } : undefined}\n >\n {title}\n </Hand>\n {note && (\n <Hand size=\"calc(var(--fs) * 0.85)\" color={V.soft}>\n {note}\n </Hand>\n )}\n </div>\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n flexWrap: \"wrap\",\n justifyContent: \"flex-end\",\n gap: 8,\n flex: \"0 0 auto\",\n }}\n >\n {due && <Pill tone={dueTone}>{due}</Pill>}\n {prio ? <Prio level={prio} /> : null}\n </div>\n </div>\n );\n}\n\nexport function Card({\n children,\n style = {},\n}: {\n children?: ReactNode;\n style?: CSSProperties;\n}) {\n return (\n <Box\n pad=\"calc(var(--pad) * 0.9)\"\n style={{\n display: \"flex\",\n flexDirection: \"column\",\n gap: 8,\n background: V.card,\n minWidth: 0,\n maxWidth: \"100%\",\n ...style,\n }}\n >\n {children}\n </Box>\n );\n}\n\nexport function Column({\n title,\n count,\n tone = \"muted\",\n width = 232,\n children,\n}: {\n title?: string;\n count?: number;\n tone?: WireframeTone;\n width?: number;\n children?: ReactNode;\n}) {\n return (\n <div\n style={{\n width,\n flex: \"0 0 auto\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: V.gap,\n }}\n >\n <div style={{ display: \"flex\", alignItems: \"center\", gap: 8 }}>\n <span\n style={{\n width: 9,\n height: 9,\n borderRadius: \"50%\",\n background: toneInk(tone),\n flex: \"0 0 auto\",\n }}\n />\n <Hand weight={700} style={{ whiteSpace: \"nowrap\" }}>\n {title}\n </Hand>\n {count != null && (\n <Hand size=\"calc(var(--fs) * 0.82)\" color={V.soft}>\n {count}\n </Hand>\n )}\n <div style={{ flex: 1 }} />\n <Hand color={V.soft} weight={700}>\n +\n </Hand>\n </div>\n {children}\n </div>\n );\n}\n\nexport function Toolbar({\n children,\n style = {},\n}: {\n children?: ReactNode;\n style?: CSSProperties;\n}) {\n return (\n <div\n data-rough=\"line:bottom\"\n style={{\n [\"--rough-stroke\" as string]: V.ink,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n gap: V.gap,\n padding: \"12px 22px\",\n borderBottom: `${V.stroke} solid ${V.ink}`,\n background: V.card,\n flex: \"0 0 auto\",\n minWidth: 0,\n flexWrap: \"wrap\",\n ...style,\n }}\n >\n {children}\n </div>\n );\n}\n\nexport function Tabs({\n items = [],\n}: {\n items?: Array<{ label: string; active?: boolean }>;\n}) {\n return (\n <div style={{ display: \"flex\", gap: 7, flexWrap: \"wrap\" }}>\n {items.map((item, i) => (\n <Chip key={i} active={item.active}>\n {item.label}\n </Chip>\n ))}\n </div>\n );\n}\n\nexport function KV({ rows = [] }: { rows?: Array<{ k: string; v: string }> }) {\n return (\n <div style={{ display: \"flex\", flexDirection: \"column\", gap: 6 }}>\n {rows.map((row, i) => (\n <div\n key={i}\n style={{\n display: \"flex\",\n alignItems: \"baseline\",\n justifyContent: \"space-between\",\n gap: 12,\n }}\n >\n <Hand size=\"calc(var(--fs) * 0.88)\" color={V.soft}>\n {row.k}\n </Hand>\n <Hand\n style={{ textAlign: \"right\", minWidth: 0, wordBreak: \"break-word\" }}\n >\n {row.v}\n </Hand>\n </div>\n ))}\n </div>\n );\n}\n\nexport function SearchBar({\n placeholder = \"Search\",\n}: {\n placeholder?: string;\n}) {\n return (\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n gap: 6,\n border: `${V.stroke} solid ${V.soft}`,\n borderRadius: 999,\n padding: \"5px 11px\",\n background: V.card,\n }}\n >\n <Bar w={11} h={11} color={V.soft} r={3} />\n <Hand size=\"calc(var(--fs) * 0.85)\" color={V.soft}>\n {placeholder}\n </Hand>\n </div>\n );\n}\n\nexport function Divider({ style = {} }: { style?: CSSProperties }) {\n return (\n <div\n style={{\n height: V.stroke,\n background: V.line,\n flex: \"0 0 auto\",\n margin: \"3px 0\",\n ...style,\n }}\n />\n );\n}\n\nexport function Title({\n text,\n script = false,\n size = \"calc(var(--fs) * 2)\",\n color = V.ink,\n}: {\n text?: string;\n script?: boolean;\n size?: number | string;\n color?: string;\n}) {\n return (\n <Hand script={script} size={size} weight={700} color={color}>\n {text}\n </Hand>\n );\n}\n\nexport function Text({\n value,\n color,\n weight,\n script = false,\n}: {\n value?: string;\n color?: WireframeTone;\n weight?: \"normal\" | \"medium\" | \"bold\";\n script?: boolean;\n}) {\n return (\n <Hand color={toneInk(color)} weight={fontWeight(weight)} script={script}>\n {value}\n </Hand>\n );\n}\n\n/* ========================================================================== */\n/* Node registry (ported from kit/registry.tsx) */\n/* ========================================================================== */\n\ntype NodeRenderer = (node: WireframeNode, children: ReactNode) => ReactNode;\n\nconst REGISTRY: Record<WireframeElName, NodeRenderer> = {\n // --- Frame / structure -------------------------------------------------\n screen: (n) => {\n const kids = n.children ?? [];\n const lead = kids[0]?.el;\n if (lead === \"browserBar\") {\n return (\n <Screen pad={0}>\n {renderNode(kids[0], kids[0].id ?? \"browserbar\")}\n {renderScreenBodyNodes(kids.slice(1))}\n </Screen>\n );\n }\n if (lead === \"statusBar\") {\n return (\n <Screen pad={0}>\n {renderNode(kids[0], kids[0].id ?? \"statusbar\")}\n <div\n style={{\n flex: 1,\n minHeight: 0,\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--gap)\",\n padding: \"calc(var(--pad) * 1.1)\",\n }}\n >\n {renderScreenBodyNodes(kids.slice(1))}\n </div>\n </Screen>\n );\n }\n return (\n <Screen pad=\"calc(var(--pad) * 1.35)\">\n {renderScreenBodyNodes(kids)}\n </Screen>\n );\n },\n browserBar: (n, children) => (\n <BrowserBar title={n.title ?? n.text}>{children}</BrowserBar>\n ),\n statusBar: () => <StatusBar />,\n toolbar: (_n, children) => <Toolbar>{children}</Toolbar>,\n row: (n, children) => <Row full={n.full}>{children}</Row>,\n col: (n, children) => <Col full={n.full}>{children}</Col>,\n sidebar: (_n, children) => <Sidebar>{children}</Sidebar>,\n main: (_n, children) => <Main>{children}</Main>,\n box: (n, children) => <Box dashed={n.dashed}>{children}</Box>,\n card: (_n, children) => <Card>{children}</Card>,\n column: (n, children) => (\n <Column title={n.title ?? n.text} count={n.count} tone={n.tone}>\n {children}\n </Column>\n ),\n divider: () => <Divider />,\n\n // --- Text --------------------------------------------------------------\n title: (n) => <Title text={n.text} script={n.script} />,\n text: (n) => (\n <Text\n value={n.value ?? n.text}\n color={n.color}\n weight={n.weight}\n script={n.script}\n />\n ),\n lines: (n) => <Lines n={n.n} widths={n.widths} />,\n section: (n) => (\n <SectionLabel tone={n.tone}>{n.label ?? n.text}</SectionLabel>\n ),\n\n // --- List / task -------------------------------------------------------\n navItem: (n) => (\n <NavItem\n label={n.label ?? n.text}\n count={n.count}\n active={n.active}\n dot={n.dot}\n tone={n.tone}\n />\n ),\n taskRow: (n) => (\n <TaskRow\n title={n.title ?? n.text}\n note={n.note}\n due={n.due}\n dueTone={n.dueTone}\n prio={n.prio}\n done={n.done}\n />\n ),\n\n // --- Controls ----------------------------------------------------------\n chips: (n) => <Tabs items={n.items ?? []} />,\n chip: (n) => <Chip active={n.active}>{n.label ?? n.text}</Chip>,\n pill: (n) => <Pill tone={n.tone}>{n.label ?? n.text}</Pill>,\n check: (n) => <Check done={n.done} shape={n.shape} />,\n field: (n) => (\n <Field\n label={n.label}\n value={n.value}\n placeholder={n.placeholder}\n area={n.area}\n />\n ),\n btn: (n) => (\n <Btn solid={n.solid} full={n.full} tone={n.tone}>\n {n.label ?? n.text}\n </Btn>\n ),\n fab: (n) => <Fab icon={n.icon} />,\n searchBar: (n) => <SearchBar placeholder={n.placeholder} />,\n\n // --- Atoms -------------------------------------------------------------\n avatar: () => <Avatar />,\n iconSquare: (n) => <IconSquare active={n.active} />,\n kv: (n) => <KV rows={n.rows ?? []} />,\n};\n\nfunction renderScreenBodyNode(\n node: WireframeNode,\n key?: string | number,\n): ReactNode {\n const shouldFill =\n node.full !== false &&\n (node.el === \"row\" || node.el === \"col\" || node.el === \"main\");\n return renderNode(shouldFill ? { ...node, full: true } : node, key);\n}\n\nfunction renderScreenBodyNodes(nodes: WireframeNode[]): ReactNode {\n return nodes.map((node, i) =>\n renderScreenBodyNode(node, node.id ?? `screen-body-${i}`),\n );\n}\n\n/** Render a single kit-tree node (and its children, recursively). */\nexport function renderNode(\n node: WireframeNode,\n key?: string | number,\n): ReactNode {\n const renderer = REGISTRY[node.el];\n const children = node.children?.length ? renderNodes(node.children) : null;\n if (!renderer) {\n return children ? <div key={key}>{children}</div> : null;\n }\n const rendered = renderer(node, children);\n return <KeyedNode key={key ?? node.id}>{rendered}</KeyedNode>;\n}\n\n/** Render an array of nodes. */\nexport function renderNodes(nodes: WireframeNode[]): ReactNode {\n return nodes.map((node, i) => renderNode(node, node.id ?? i));\n}\n\n/** Lightweight keyed wrapper that does not introduce extra DOM. */\nfunction KeyedNode({ children }: { children: ReactNode }) {\n return <>{children}</>;\n}\n\n/** Whether an `el` name has a registered renderer. */\nexport function hasRenderer(el: string): el is WireframeElName {\n return el in REGISTRY;\n}\n\nexport { REGISTRY as NODE_REGISTRY, V as WFV, toneColors, toneInk, fontWeight };\n\n/* ========================================================================== */\n/* Rough overlay (ported from kit/rough.tsx) */\n/* ========================================================================== */\n\nconst gen = rough.generator();\n\ntype RoughPath = { d: string; stroke: string; strokeWidth: number };\n\n/** The default selector used for HTML mockups: standard wireframe primitives plus explicit opt-ins. */\nexport const HTML_ROUGH_SELECTOR =\n \"[data-rough],button,input,textarea,select,hr,.wf-btn,.wf-card,.wf-box,.wf-pill,.wf-chip,.wf-icon-fallback,[style*='border:'],[style*='border-top:'],[style*='border-right:'],[style*='border-bottom:'],[style*='border-left:']\";\n\n/** Stable per-element seed so a frame doesn't re-wobble on every measure. */\nfunction seedFrom(...parts: Array<string | number>): number {\n const value = parts.join(\":\");\n let hash = 2166136261;\n for (let i = 0; i < value.length; i++) {\n hash ^= value.charCodeAt(i);\n hash = Math.imul(hash, 16777619);\n }\n return ((hash >>> 0) % 2147483646) + 1;\n}\n\n/** Map the 0–100 sketch slider to a rough.js roughness (calm + legible). */\nexport function sketchRoughness(sketch: number): number {\n const s = Math.max(0, Math.min(100, Number.isFinite(sketch) ? sketch : 0));\n return Number((0.32 + (s / 100) * 1.15).toFixed(2));\n}\n\nfunction sketchBowing(sketch: number): number {\n const s = Math.max(0, Math.min(100, Number.isFinite(sketch) ? sketch : 0));\n return Number((0.4 + (s / 100) * 0.5).toFixed(2));\n}\n\nfunction readVar(el: Element, name: string): string {\n return getComputedStyle(el).getPropertyValue(name).trim();\n}\n\n/** Normalize a CSS color (hex or rgb[a]) to \"r,g,b\" for equality comparison. */\nfunction toRgbKey(color: string): string | null {\n const c = color.trim();\n const hex = c.match(/^#([0-9a-f]{3}|[0-9a-f]{6})$/i);\n if (hex) {\n const h = hex[1];\n const full =\n h.length === 3\n ? h\n .split(\"\")\n .map((d) => d + d)\n .join(\"\")\n : h;\n const n = parseInt(full, 16);\n return `${(n >> 16) & 255},${(n >> 8) & 255},${n & 255}`;\n }\n const rgb = c.match(/rgba?\\(([^)]+)\\)/i);\n if (rgb) {\n const [r, g, b] = rgb[1].split(\",\").map((v) => parseInt(v.trim(), 10));\n return `${r},${g},${b}`;\n }\n return null;\n}\n\n/** True when two CSS colors resolve to the same RGB (hex vs rgb tolerant). */\nfunction sameColor(a: string, b: string): boolean {\n const ka = toRgbKey(a);\n const kb = toRgbKey(b);\n return ka !== null && ka === kb;\n}\n\n/** A rounded-rect SVG path (so the frame stroke follows the artboard radius). */\nfunction roundedRectPath(\n x: number,\n y: number,\n w: number,\n h: number,\n r: number,\n): string {\n const rad = Math.max(0, Math.min(r, w / 2, h / 2));\n return [\n `M${x + rad},${y}`,\n `H${x + w - rad}`,\n `A${rad},${rad} 0 0 1 ${x + w},${y + rad}`,\n `V${y + h - rad}`,\n `A${rad},${rad} 0 0 1 ${x + w - rad},${y + h}`,\n `H${x + rad}`,\n `A${rad},${rad} 0 0 1 ${x},${y + h - rad}`,\n `V${y + rad}`,\n `A${rad},${rad} 0 0 1 ${x + rad},${y}`,\n \"Z\",\n ].join(\" \");\n}\n\n/** Rough.js cannot safely render paths whose inset consumes the whole box. */\nexport function hasDrawableRoughBounds(\n width: number,\n height: number,\n inset: number,\n): boolean {\n return (\n Number.isFinite(width) &&\n Number.isFinite(height) &&\n width > inset * 2 &&\n height > inset * 2\n );\n}\n\nfunction elementStroke(node: Element, fallback: string): string {\n const explicit = readVar(node, \"--rough-stroke\");\n if (explicit) return explicit;\n const cs = getComputedStyle(node);\n for (const side of [\n \"borderTopColor\",\n \"borderLeftColor\",\n \"borderBottomColor\",\n \"borderRightColor\",\n ] as const) {\n const width = parseFloat(\n cs.getPropertyValue(side.replace(\"Color\", \"Width\")),\n );\n const color = cs[side];\n if (width > 0 && color && color !== \"rgba(0, 0, 0, 0)\") return color;\n }\n return fallback;\n}\n\nfunction visibleBorderSides(\n node: Element,\n): Array<\"top\" | \"right\" | \"bottom\" | \"left\"> {\n const cs = getComputedStyle(node);\n const sides: Array<\"top\" | \"right\" | \"bottom\" | \"left\"> = [];\n for (const [side, widthProp, colorProp] of [\n [\"top\", \"borderTopWidth\", \"borderTopColor\"],\n [\"right\", \"borderRightWidth\", \"borderRightColor\"],\n [\"bottom\", \"borderBottomWidth\", \"borderBottomColor\"],\n [\"left\", \"borderLeftWidth\", \"borderLeftColor\"],\n ] as const) {\n const width = parseFloat(cs[widthProp]);\n const color = cs[colorProp];\n if (\n width > 0 &&\n color &&\n color !== \"rgba(0, 0, 0, 0)\" &&\n color !== \"transparent\"\n ) {\n sides.push(side);\n }\n }\n return sides;\n}\n\nfunction inferRoughKind(node: HTMLElement): string {\n const explicit = node.getAttribute(\"data-rough\");\n if (explicit) return explicit;\n if (node.tagName === \"HR\") return \"line:middle\";\n const sides = visibleBorderSides(node);\n if (sides.length !== 1) return \"rect\";\n switch (sides[0]) {\n case \"top\":\n return \"line:top\";\n case \"right\":\n return \"line:right\";\n case \"bottom\":\n return \"line:bottom\";\n case \"left\":\n return \"line:left\";\n }\n return \"rect\";\n}\n\nfunction build(\n scope: HTMLElement,\n opts: {\n roughness: number;\n bowing: number;\n frameRadius: number;\n drawFrame: boolean;\n selector: string;\n },\n): { paths: RoughPath[]; w: number; h: number } {\n const base = scope.getBoundingClientRect();\n const layoutW = scope.offsetWidth;\n const layoutH = scope.offsetHeight;\n if (!layoutW || !layoutH) return { paths: [], w: 0, h: 0 };\n const zoom = base.width / layoutW || 1;\n\n const themed =\n (scope.matches(\".plan-wf, .plan-html-frame, .plan-diagram-frame\")\n ? scope\n : scope.querySelector(\n \".plan-wf, .plan-html-frame, .plan-diagram-frame\",\n )) ?? scope;\n const ink =\n readVar(themed, \"--ink\") || readVar(themed, \"--wf-ink\") || \"#34322e\";\n const sketch = readVar(themed, \"--wf-sketch\") || ink;\n const line = readVar(themed, \"--wf-line\") || readVar(themed, \"--line\") || \"\";\n\n const paths: RoughPath[] = [];\n let index = 0;\n const push = (drawable: unknown, stroke: string, sw: number) => {\n for (const p of gen.toPaths(\n drawable as Parameters<typeof gen.toPaths>[0],\n )) {\n paths.push({\n d: p.d,\n stroke: p.stroke && p.stroke !== \"none\" ? p.stroke : stroke,\n strokeWidth: p.strokeWidth || sw,\n });\n }\n };\n const makeOpts = (stroke: string, sw: number, seed: number) => ({\n seed,\n roughness: opts.roughness,\n bowing: opts.bowing,\n stroke,\n strokeWidth: sw,\n preserveVertices: true,\n });\n\n if (opts.drawFrame && hasDrawableRoughBounds(layoutW, layoutH, 2)) {\n const sw = 2;\n push(\n gen.path(\n roundedRectPath(2, 2, layoutW - 4, layoutH - 4, opts.frameRadius),\n {\n ...makeOpts(sketch, sw, seedFrom(\"frame\", layoutW, layoutH)),\n roughness: opts.roughness + 0.35,\n bowing: opts.bowing + 0.18,\n },\n ),\n sketch,\n sw,\n );\n }\n\n scope.querySelectorAll<HTMLElement>(opts.selector).forEach((node) => {\n if (node.getAttribute(\"data-rough\") === \"none\") return;\n if (readVar(node, \"--rough-skip\") === \"1\") return;\n const r = node.getBoundingClientRect();\n const x = (r.left - base.left) / zoom;\n const y = (r.top - base.top) / zoom;\n const w = r.width / zoom;\n const h = r.height / zoom;\n if (!hasDrawableRoughBounds(w, h, 1)) return;\n const kind = inferRoughKind(node);\n const rawStroke = elementStroke(node, sketch);\n const stroke =\n sameColor(rawStroke, ink) || (line !== \"\" && sameColor(rawStroke, line))\n ? sketch\n : rawStroke;\n const sw = Number(readVar(node, \"--rough-w\")) || 1.4;\n const seed = seedFrom(\n kind,\n Math.round(x),\n Math.round(y),\n Math.round(w),\n Math.round(h),\n index++,\n );\n const o = makeOpts(stroke, sw, seed);\n let drawable: unknown;\n if (kind === \"ellipse\") {\n drawable = gen.ellipse(x + w / 2, y + h / 2, w, h, o);\n } else if (kind === \"line:left\") {\n drawable = gen.line(x, y, x, y + h, o);\n } else if (kind === \"line:right\") {\n drawable = gen.line(x + w, y, x + w, y + h, o);\n } else if (kind === \"line:bottom\") {\n drawable = gen.line(x, y + h, x + w, y + h, o);\n } else if (kind === \"line:top\") {\n drawable = gen.line(x, y, x + w, y, o);\n } else if (kind === \"line:middle\") {\n drawable = gen.line(x, y + h / 2, x + w, y + h / 2, o);\n } else {\n const cr = parseFloat(getComputedStyle(node).borderTopLeftRadius) || 0;\n const radius = Math.min(cr / zoom, w / 2, h / 2);\n drawable =\n radius > 1\n ? gen.path(roundedRectPath(x + 1, y + 1, w - 2, h - 2, radius), o)\n : gen.rectangle(x + 1, y + 1, w - 2, h - 2, o);\n }\n push(drawable, stroke, sw);\n });\n\n return { paths, w: layoutW, h: layoutH };\n}\n\n/**\n * Renders the rough overlay for a frame. `scopeRef` points at the frame root.\n * When `enabled` is false (skeleton / clean register) it renders nothing and the\n * crisp CSS borders stay visible.\n */\nexport function RoughOverlay({\n scopeRef,\n sketch = 52,\n enabled = true,\n drawFrame = true,\n frameRadius = 14,\n selector = \"[data-rough]\",\n}: {\n scopeRef: RefObject<HTMLElement | null>;\n sketch?: number;\n enabled?: boolean;\n drawFrame?: boolean;\n frameRadius?: number;\n selector?: string;\n}) {\n const [state, setState] = useState<{\n paths: RoughPath[];\n w: number;\n h: number;\n }>({ paths: [], w: 0, h: 0 });\n const rafRef = useRef(0);\n\n useEffect(() => {\n const el = scopeRef.current;\n if (!el || !enabled) {\n el?.removeAttribute(\"data-rough-ready\");\n el?.querySelector(\n \".plan-wf, .plan-html-frame, .plan-diagram-frame\",\n )?.removeAttribute(\"data-rough-ready\");\n setState({ paths: [], w: 0, h: 0 });\n return;\n }\n const roughness = sketchRoughness(sketch);\n const bowing = sketchBowing(sketch);\n const measure = () => {\n clearTimeout(rafRef.current);\n rafRef.current = window.setTimeout(() => {\n const next = build(el, {\n roughness,\n bowing,\n frameRadius,\n drawFrame,\n selector,\n });\n if (next.w && next.h) {\n el.setAttribute(\"data-rough-ready\", \"true\");\n (\n el.querySelector(\n \".plan-wf, .plan-html-frame, .plan-diagram-frame\",\n ) ?? el\n ).setAttribute(\"data-rough-ready\", \"true\");\n setState(next);\n }\n }, 0);\n };\n measure();\n const ro = new ResizeObserver(measure);\n ro.observe(el);\n el.querySelectorAll(selector).forEach((node) => ro.observe(node));\n const mo = new MutationObserver((mutations) => {\n if (mutations.every(isRoughOverlayMutation)) return;\n measure();\n });\n mo.observe(el, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true,\n });\n el.addEventListener(\"plan-prototype-runtime:rendered\", measure);\n let cancelled = false;\n if (typeof document !== \"undefined\" && \"fonts\" in document) {\n void document.fonts.ready.then(() => {\n if (!cancelled) measure();\n });\n }\n return () => {\n cancelled = true;\n ro.disconnect();\n mo.disconnect();\n el.removeEventListener(\"plan-prototype-runtime:rendered\", measure);\n clearTimeout(rafRef.current);\n el.removeAttribute(\"data-rough-ready\");\n el.querySelector(\n \".plan-wf, .plan-html-frame, .plan-diagram-frame\",\n )?.removeAttribute(\"data-rough-ready\");\n };\n }, [scopeRef, sketch, enabled, drawFrame, frameRadius, selector]);\n\n if (!enabled || !state.paths.length) return null;\n return (\n <svg\n aria-hidden\n className=\"plan-rough-overlay\"\n width=\"100%\"\n height=\"100%\"\n viewBox={`0 0 ${state.w} ${state.h}`}\n preserveAspectRatio=\"none\"\n style={{\n position: \"absolute\",\n inset: 0,\n pointerEvents: \"none\",\n overflow: \"hidden\",\n zIndex: 3,\n }}\n >\n {state.paths.map((p, i) => (\n <path\n key={i}\n d={p.d}\n fill=\"none\"\n stroke={p.stroke}\n strokeWidth={p.strokeWidth}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n ))}\n </svg>\n );\n}\n\nfunction isRoughOverlayMutation(mutation: MutationRecord) {\n if (nodeIsRoughOverlay(mutation.target)) return true;\n\n const changedNodes = [\n ...Array.from(mutation.addedNodes),\n ...Array.from(mutation.removedNodes),\n ];\n return changedNodes.length > 0 && changedNodes.every(nodeIsRoughOverlay);\n}\n\nfunction nodeIsRoughOverlay(node: Node) {\n const element = node instanceof Element ? node : node.parentElement;\n return Boolean(\n element?.classList.contains(\"plan-rough-overlay\") ||\n element?.closest(\".plan-rough-overlay\"),\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"wireframe-kit.js","sourceRoot":"","sources":["../../../../src/client/blocks/library/wireframe-kit.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n createContext,\n useContext,\n useEffect,\n useRef,\n useState,\n useSyncExternalStore,\n type CSSProperties,\n type ReactNode,\n type RefObject,\n} from \"react\";\nimport rough from \"roughjs\";\n\nimport type {\n WireframeElName,\n WireframeNode,\n WireframeTone,\n} from \"./wireframe.config.js\";\n\n/**\n * Shared wireframe \"kit\" — hand-drawn low-fi primitives, the el → component node\n * registry, the rough.js sketch overlay, and the viewer-level sketchy/clean\n * style preference. Ported verbatim (geometry-wise) from the plan template's\n * `app/components/plan/wireframe/kit/*` so any app can render wireframe blocks.\n *\n * DECOUPLING: the only behavioral change from the plan copy is theme detection —\n * core blocks read `document.documentElement.classList.contains(\"dark\")` (the\n * MermaidBlock precedent) instead of importing `next-themes`. Everything else\n * (the `.plan-wf` / `.wf-*` / `[data-rough]` class contract the rough overlay\n * measures, the `--wf-*` / `--ink` / `--paper` token names every primitive\n * reads) is preserved exactly, so the kit looks identical in plan and renders\n * correctly in any app once the matching tokens exist in `core/styles/blocks.css`.\n */\n\n/* ========================================================================== */\n/* Viewer-level wireframe style preference (localStorage) */\n/* ========================================================================== */\n\nexport type WireframeStyle = \"sketchy\" | \"clean\";\n\nconst STYLE_STORAGE_KEY = \"plan-wireframe-style\";\nconst styleListeners = new Set<() => void>();\n\nfunction readStoredStyle(): WireframeStyle {\n if (typeof localStorage === \"undefined\") return \"sketchy\";\n try {\n return localStorage.getItem(STYLE_STORAGE_KEY) === \"clean\"\n ? \"clean\"\n : \"sketchy\";\n } catch {\n return \"sketchy\";\n }\n}\n\nlet currentStyle: WireframeStyle = readStoredStyle();\n\nexport function setWireframeStyle(style: WireframeStyle): void {\n if (style === currentStyle) return;\n currentStyle = style;\n try {\n localStorage.setItem(STYLE_STORAGE_KEY, style);\n } catch {\n // ignore (private mode / disabled storage)\n }\n for (const listener of styleListeners) listener();\n}\n\nexport function toggleWireframeStyle(): void {\n setWireframeStyle(currentStyle === \"sketchy\" ? \"clean\" : \"sketchy\");\n}\n\nfunction subscribeStyle(callback: () => void): () => void {\n styleListeners.add(callback);\n const onStorage = (event: StorageEvent) => {\n if (event.key === STYLE_STORAGE_KEY) {\n currentStyle = readStoredStyle();\n callback();\n }\n };\n if (typeof window !== \"undefined\") {\n window.addEventListener(\"storage\", onStorage);\n }\n return () => {\n styleListeners.delete(callback);\n if (typeof window !== \"undefined\") {\n window.removeEventListener(\"storage\", onStorage);\n }\n };\n}\n\nexport function useWireframeStyle(): WireframeStyle {\n return useSyncExternalStore(\n subscribeStyle,\n () => currentStyle,\n () => \"sketchy\",\n );\n}\n\n/** Read the live dark-mode flag from the document root (next-themes-free). */\nexport function useIsDark(): boolean {\n const [isDark, setIsDark] = useState(false);\n useEffect(() => {\n if (typeof document === \"undefined\") return;\n const root = document.documentElement;\n const read = () => setIsDark(root.classList.contains(\"dark\"));\n read();\n const observer = new MutationObserver(read);\n observer.observe(root, { attributes: true, attributeFilter: [\"class\"] });\n return () => observer.disconnect();\n }, []);\n return isDark;\n}\n\n/* ========================================================================== */\n/* Primitives (ported from kit/primitives.tsx) */\n/* ========================================================================== */\n\n/**\n * Frame-level config threaded to every Screen so skeleton / theme / sketch-vs-\n * clean reach the kit no matter which path renders the root Screen.\n */\nexport const KitConfigContext = createContext<{\n skeleton?: boolean;\n flushFrame?: boolean;\n sketch?: number;\n theme?: \"light\" | \"dark\";\n style?: \"sketchy\" | \"clean\";\n}>({});\n\nconst V = {\n ink: \"var(--ink)\",\n soft: \"var(--ink-soft)\",\n line: \"var(--line)\",\n paper: \"var(--paper)\",\n card: \"var(--card)\",\n accent: \"var(--accent)\",\n accentSoft: \"var(--accent-soft)\",\n warn: \"var(--warn)\",\n warnSoft: \"var(--warn-soft)\",\n ok: \"var(--ok)\",\n okSoft: \"var(--ok-soft)\",\n stroke: \"var(--stroke)\",\n radius: \"var(--radius)\",\n gap: \"var(--gap)\",\n pad: \"var(--pad)\",\n fs: \"var(--fs)\",\n hand: \"var(--font-hand)\",\n script: \"var(--font-script)\",\n} as const;\n\ntype ToneColors = { fg: string; bg: string; bd: string };\n\nfunction toneColors(tone: WireframeTone = \"default\"): ToneColors {\n switch (tone) {\n case \"accent\":\n return { fg: V.accent, bg: V.accentSoft, bd: V.accent };\n case \"warn\":\n return { fg: V.warn, bg: V.warnSoft, bd: V.warn };\n case \"ok\":\n return { fg: V.ok, bg: V.okSoft, bd: V.ok };\n case \"muted\":\n return { fg: V.soft, bg: \"transparent\", bd: V.soft };\n default:\n return { fg: V.ink, bg: \"transparent\", bd: V.ink };\n }\n}\n\nfunction toneInk(tone?: WireframeTone): string {\n return toneColors(tone).fg;\n}\n\nfunction fontWeight(weight?: \"normal\" | \"medium\" | \"bold\"): number {\n if (weight === \"bold\") return 700;\n if (weight === \"medium\") return 600;\n return 400;\n}\n\nexport function Screen({\n children,\n pad = 0,\n sketch,\n density,\n theme,\n skeleton = false,\n style = {},\n}: {\n children?: ReactNode;\n pad?: number | string;\n sketch?: number;\n density?: \"compact\" | \"regular\" | \"roomy\";\n theme?: \"light\" | \"dark\";\n skeleton?: boolean;\n style?: CSSProperties;\n}) {\n const cfg = useContext(KitConfigContext);\n const isSkeleton = skeleton || Boolean(cfg.skeleton);\n const wfStyle = cfg.style ?? \"sketchy\";\n const wfTheme = theme ?? cfg.theme ?? \"light\";\n const effectivePad = cfg.flushFrame ? 0 : pad;\n void sketch;\n return (\n <div\n className=\"plan-wf\"\n data-density={density ?? \"regular\"}\n data-theme={wfTheme}\n data-skeleton={isSkeleton ? \"true\" : undefined}\n data-style={wfStyle}\n style={{\n position: \"relative\",\n width: \"100%\",\n // `minHeight` (not a fixed `height: 100%`) so the screen fills an\n // auto-height artboard's floor yet grows with its content instead of\n // clipping. The frame shell (`ArtboardFrame`) owns the height policy; a\n // caller can still override via `style.height` for a fixed canvas.\n minHeight: \"100%\",\n background: \"transparent\",\n color: V.ink,\n fontFamily: V.hand,\n fontSize: V.fs,\n lineHeight: 1.25,\n display: \"flex\",\n flexDirection: \"column\",\n padding: effectivePad,\n boxSizing: \"border-box\",\n overflow: \"hidden\",\n ...style,\n }}\n >\n {children}\n </div>\n );\n}\n\nexport function Hand({\n children,\n size,\n weight = 400,\n color = V.ink,\n script = false,\n style = {},\n}: {\n children?: ReactNode;\n size?: number | string;\n weight?: number;\n color?: string;\n script?: boolean;\n style?: CSSProperties;\n}) {\n return (\n <span\n style={{\n fontFamily: script ? V.script : V.hand,\n fontSize: size ?? V.fs,\n fontWeight: weight,\n color,\n minWidth: 0,\n overflowWrap: \"break-word\",\n ...style,\n }}\n >\n {children}\n </span>\n );\n}\n\nexport function Bar({\n w = 80,\n h,\n color = V.line,\n r = 4,\n style = {},\n}: {\n w?: number | string;\n h?: number | string;\n color?: string;\n r?: number | string;\n style?: CSSProperties;\n}) {\n return (\n <div\n style={{\n width: w,\n height: h ?? \"calc(var(--fs) * 0.72)\",\n background: color,\n borderRadius: r,\n flex: \"0 0 auto\",\n ...style,\n }}\n />\n );\n}\n\nexport function Lines({\n n = 2,\n gap = 6,\n widths,\n color = V.line,\n style = {},\n}: {\n n?: number;\n gap?: number;\n widths?: Array<number | string>;\n color?: string;\n style?: CSSProperties;\n}) {\n const ws =\n widths ??\n Array.from({ length: n }, (_, i) => (i === n - 1 ? \"55%\" : \"100%\"));\n return (\n <div style={{ display: \"flex\", flexDirection: \"column\", gap, ...style }}>\n {ws.map((w, i) => (\n <Bar key={i} w={typeof w === \"number\" ? `${w}%` : w} color={color} />\n ))}\n </div>\n );\n}\n\nexport function Box({\n children,\n pad = V.pad,\n fill = V.card,\n dashed = false,\n style = {},\n}: {\n children?: ReactNode;\n pad?: number | string;\n fill?: string;\n dashed?: boolean;\n style?: CSSProperties;\n}) {\n return (\n <div\n data-rough=\"rect\"\n style={{\n [\"--rough-stroke\" as string]: V.ink,\n border: `${V.stroke} ${dashed ? \"dashed\" : \"solid\"} ${V.ink}`,\n borderRadius: V.radius,\n background: fill,\n padding: pad,\n boxSizing: \"border-box\",\n minWidth: 0,\n ...style,\n }}\n >\n {children}\n </div>\n );\n}\n\nexport function Check({\n done = false,\n shape = \"square\",\n size = 18,\n}: {\n done?: boolean;\n shape?: \"square\" | \"circle\";\n size?: number;\n}) {\n const r = shape === \"circle\" ? \"50%\" : \"calc(var(--radius) * 0.5)\";\n return (\n <div\n data-rough={shape === \"circle\" ? \"ellipse\" : \"rect\"}\n style={{\n [\"--rough-stroke\" as string]: done ? V.accent : V.ink,\n width: size,\n height: size,\n flex: \"0 0 auto\",\n borderRadius: r,\n border: `${V.stroke} solid ${done ? V.accent : V.ink}`,\n background: done ? V.accent : \"transparent\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n }}\n >\n {done && (\n <svg\n width={size * 0.6}\n height={size * 0.6}\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n stroke=\"#fff\"\n strokeWidth=\"2.2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M2 6.5l2.5 2.5L10 3\" />\n </svg>\n )}\n </div>\n );\n}\n\nexport function Pill({\n children,\n tone = \"default\",\n style = {},\n}: {\n children?: ReactNode;\n tone?: WireframeTone;\n style?: CSSProperties;\n}) {\n const c = toneColors(tone);\n return (\n <span\n style={{\n display: \"inline-flex\",\n alignItems: \"center\",\n gap: 4,\n border: `${V.stroke} solid ${c.bd}`,\n background: c.bg,\n color: c.fg,\n borderRadius: 999,\n padding: \"2px 9px\",\n fontSize: \"calc(var(--fs) * 0.82)\",\n fontFamily: V.hand,\n maxWidth: \"100%\",\n minWidth: 0,\n whiteSpace: \"normal\",\n overflowWrap: \"anywhere\",\n lineHeight: 1.3,\n ...style,\n }}\n >\n {children}\n </span>\n );\n}\n\nexport function Prio({ level = 2, label }: { level?: number; label?: string }) {\n const fill = level === 1 ? V.warn : level === 2 ? V.soft : \"transparent\";\n const bd = level === 3 ? V.soft : \"transparent\";\n return (\n <span style={{ display: \"inline-flex\", alignItems: \"center\", gap: 5 }}>\n <span\n style={{\n width: 9,\n height: 9,\n borderRadius: \"50%\",\n background: fill,\n border: `${V.stroke} solid ${bd}`,\n flex: \"0 0 auto\",\n }}\n />\n {label && (\n <Hand size=\"calc(var(--fs) * 0.82)\" color={V.soft}>\n {label}\n </Hand>\n )}\n </span>\n );\n}\n\nexport function Btn({\n children,\n solid = false,\n full = false,\n size = \"md\",\n tone = \"default\",\n style = {},\n}: {\n children?: ReactNode;\n solid?: boolean;\n full?: boolean;\n size?: \"sm\" | \"md\" | \"lg\";\n tone?: WireframeTone;\n style?: CSSProperties;\n}) {\n const pad =\n size === \"sm\" ? \"4px 10px\" : size === \"lg\" ? \"10px 18px\" : \"7px 14px\";\n const c = toneColors(tone === \"default\" ? \"accent\" : tone);\n return (\n <div\n data-rough=\"rect\"\n style={{\n [\"--rough-stroke\" as string]: solid ? c.bd : V.ink,\n display: full ? \"flex\" : \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: 6,\n border: `${V.stroke} solid ${solid ? c.bd : V.ink}`,\n background: solid ? c.bd : \"transparent\",\n color: solid ? \"#fff\" : V.ink,\n borderRadius: V.radius,\n padding: pad,\n fontFamily: V.hand,\n fontSize: V.fs,\n fontWeight: 700,\n width: full ? \"100%\" : \"auto\",\n maxWidth: \"100%\",\n minWidth: 0,\n boxSizing: \"border-box\",\n whiteSpace: \"normal\",\n overflowWrap: \"anywhere\",\n textAlign: \"center\",\n ...style,\n }}\n >\n {children}\n </div>\n );\n}\n\nexport function Chip({\n children,\n active = false,\n style = {},\n}: {\n children?: ReactNode;\n active?: boolean;\n style?: CSSProperties;\n}) {\n return (\n <span\n style={{\n display: \"inline-flex\",\n alignItems: \"center\",\n gap: 5,\n border: `${V.stroke} solid ${active ? V.accent : V.ink}`,\n background: active ? V.accentSoft : \"transparent\",\n color: active ? V.accent : V.ink,\n borderRadius: 999,\n padding: \"4px 12px\",\n fontSize: \"calc(var(--fs) * 0.88)\",\n fontFamily: V.hand,\n fontWeight: active ? 700 : 400,\n maxWidth: \"100%\",\n minWidth: 0,\n whiteSpace: \"normal\",\n overflowWrap: \"anywhere\",\n ...style,\n }}\n >\n {children}\n </span>\n );\n}\n\nexport function Field({\n label,\n value,\n placeholder,\n h,\n area = false,\n right,\n style = {},\n}: {\n label?: string;\n value?: string;\n placeholder?: number | string;\n h?: number | string;\n area?: boolean;\n right?: ReactNode;\n style?: CSSProperties;\n}) {\n return (\n <div style={{ display: \"flex\", flexDirection: \"column\", gap: 5, ...style }}>\n {label && (\n <Hand size=\"calc(var(--fs) * 0.86)\" color={V.soft} weight={700}>\n {label}\n </Hand>\n )}\n <div\n data-rough=\"rect\"\n style={{\n [\"--rough-stroke\" as string]: V.ink,\n border: `${V.stroke} solid ${V.ink}`,\n borderRadius: V.radius,\n background: V.card,\n padding: \"calc(var(--pad) * 0.8)\",\n minHeight: h ?? (area ? 64 : \"auto\"),\n display: \"flex\",\n alignItems: area ? \"flex-start\" : \"center\",\n justifyContent: \"space-between\",\n minWidth: 0,\n gap: 8,\n }}\n >\n {value ? (\n <Hand style={{ minWidth: 0, overflowWrap: \"anywhere\" }}>{value}</Hand>\n ) : area ? (\n <Lines n={2} widths={[\"85%\", \"60%\"]} />\n ) : (\n <Bar w={placeholder ?? 110} />\n )}\n {right}\n </div>\n </div>\n );\n}\n\nexport function StatusBar() {\n return (\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: \"9px 18px 2px\",\n flex: \"0 0 auto\",\n }}\n >\n <Hand size=\"calc(var(--fs) * 0.82)\" weight={700}>\n 9:41\n </Hand>\n <div style={{ display: \"flex\", gap: 5, alignItems: \"center\" }}>\n <Bar w={16} h={8} color={V.soft} r={2} />\n <Bar w={12} h={8} color={V.soft} r={2} />\n <Bar w={20} h={9} color={V.soft} r={2} />\n </div>\n </div>\n );\n}\n\nexport function Fab({ icon = \"+\" }: { icon?: string }) {\n return (\n <div\n data-rough=\"ellipse\"\n style={{\n [\"--rough-stroke\" as string]: V.accent,\n position: \"absolute\",\n right: 18,\n bottom: 22,\n width: 52,\n height: 52,\n borderRadius: \"50%\",\n border: `${V.stroke} solid ${V.accent}`,\n background: V.accent,\n color: \"#fff\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n fontFamily: V.hand,\n fontSize: 28,\n fontWeight: 700,\n lineHeight: 1,\n boxShadow: \"0 4px 12px rgba(0,0,0,0.16)\",\n zIndex: 4,\n }}\n >\n {icon}\n </div>\n );\n}\n\nexport function BrowserBar({\n title = \"todo\",\n children,\n}: {\n title?: string;\n children?: ReactNode;\n}) {\n return (\n <div\n data-rough=\"line:bottom\"\n style={{\n [\"--rough-stroke\" as string]: V.ink,\n display: \"flex\",\n alignItems: \"center\",\n gap: 10,\n padding: \"9px 14px\",\n borderBottom: `${V.stroke} solid ${V.ink}`,\n flex: \"0 0 auto\",\n background: V.card,\n }}\n >\n <div style={{ display: \"flex\", gap: 6 }}>\n {[0, 1, 2].map((i) => (\n <span\n key={i}\n data-rough=\"ellipse\"\n style={{\n [\"--rough-stroke\" as string]: V.ink,\n width: 11,\n height: 11,\n borderRadius: \"50%\",\n border: `${V.stroke} solid ${V.ink}`,\n }}\n />\n ))}\n </div>\n <div\n style={{\n flex: 1,\n border: `${V.stroke} solid ${V.soft}`,\n borderRadius: 999,\n padding: \"3px 12px\",\n display: \"flex\",\n alignItems: \"center\",\n gap: 6,\n }}\n >\n <Bar w={12} h={10} color={V.soft} r={3} />\n <Hand size=\"calc(var(--fs) * 0.82)\" color={V.soft}>\n {title}.app\n </Hand>\n </div>\n {children}\n </div>\n );\n}\n\nexport function SectionLabel({\n children,\n right,\n tone = \"muted\",\n}: {\n children?: ReactNode;\n right?: ReactNode;\n tone?: WireframeTone;\n}) {\n return (\n <div\n style={{\n display: \"flex\",\n alignItems: \"baseline\",\n justifyContent: \"space-between\",\n minWidth: 0,\n gap: 8,\n }}\n >\n <Hand\n size=\"calc(var(--fs) * 0.9)\"\n weight={700}\n color={toneInk(tone)}\n style={{\n letterSpacing: 0.3,\n minWidth: 0,\n overflowWrap: \"anywhere\",\n }}\n >\n {children}\n </Hand>\n {right}\n </div>\n );\n}\n\nexport function Avatar({ size = 26 }: { size?: number }) {\n return (\n <div\n data-rough=\"ellipse\"\n style={{\n [\"--rough-stroke\" as string]: V.ink,\n width: size,\n height: size,\n borderRadius: \"50%\",\n border: `${V.stroke} solid ${V.ink}`,\n background: V.accentSoft,\n flex: \"0 0 auto\",\n }}\n />\n );\n}\n\nexport function IconSquare({\n size = 18,\n active = false,\n}: {\n size?: number;\n active?: boolean;\n}) {\n return (\n <div\n data-rough=\"rect\"\n style={{\n [\"--rough-stroke\" as string]: active ? V.accent : V.soft,\n width: size,\n height: size,\n flex: \"0 0 auto\",\n borderRadius: \"calc(var(--radius) * 0.5)\",\n border: `${V.stroke} solid ${active ? V.accent : V.soft}`,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n }}\n >\n <div\n style={{\n width: \"55%\",\n height: \"55%\",\n borderRadius: 2,\n background: active ? V.accent : V.line,\n }}\n />\n </div>\n );\n}\n\nexport function NavItem({\n label,\n count,\n active = false,\n dot = false,\n tone = \"accent\",\n}: {\n label?: string;\n count?: number;\n active?: boolean;\n dot?: boolean;\n tone?: WireframeTone;\n}) {\n const dotColor = toneInk(tone);\n return (\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n gap: 9,\n padding: \"5px 8px\",\n borderRadius: V.radius,\n background: active ? V.accentSoft : \"transparent\",\n minWidth: 0,\n }}\n >\n {dot ? (\n <span\n style={{\n width: 10,\n height: 10,\n borderRadius: \"50%\",\n border: `${V.stroke} solid ${dotColor}`,\n background: dotColor,\n flex: \"0 0 auto\",\n }}\n />\n ) : (\n <IconSquare size={15} active={active} />\n )}\n <Hand\n color={active ? V.accent : V.ink}\n weight={active ? 700 : 400}\n style={{ flex: 1, minWidth: 0 }}\n >\n {label}\n </Hand>\n {count != null && (\n <Hand size=\"calc(var(--fs) * 0.82)\" color={V.soft}>\n {count}\n </Hand>\n )}\n </div>\n );\n}\n\nexport function Sidebar({\n children,\n width = 196,\n style = {},\n}: {\n children?: ReactNode;\n width?: number;\n style?: CSSProperties;\n}) {\n return (\n <div\n data-rough=\"line:right\"\n style={{\n [\"--rough-stroke\" as string]: V.ink,\n width,\n flex: \"0 0 auto\",\n borderRight: `${V.stroke} solid ${V.ink}`,\n background: V.card,\n padding: V.pad,\n display: \"flex\",\n flexDirection: \"column\",\n gap: V.gap,\n minHeight: 0,\n minWidth: 0,\n alignSelf: \"stretch\",\n overflow: \"hidden\",\n ...style,\n }}\n >\n {children}\n </div>\n );\n}\n\nexport function Main({\n children,\n style = {},\n}: {\n children?: ReactNode;\n style?: CSSProperties;\n}) {\n return (\n <div\n style={{\n flex: 1,\n minWidth: 0,\n minHeight: 0,\n padding: \"18px 24px\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: V.gap,\n overflow: \"hidden\",\n ...style,\n }}\n >\n {children}\n </div>\n );\n}\n\nexport function Row({\n children,\n full = false,\n style = {},\n}: {\n children?: ReactNode;\n full?: boolean;\n style?: CSSProperties;\n}) {\n return (\n <div\n style={{\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"stretch\",\n gap: V.gap,\n minWidth: 0,\n minHeight: 0,\n maxWidth: \"100%\",\n flex: full ? 1 : undefined,\n ...style,\n }}\n >\n {children}\n </div>\n );\n}\n\nexport function Col({\n children,\n full = false,\n style = {},\n}: {\n children?: ReactNode;\n full?: boolean;\n style?: CSSProperties;\n}) {\n return (\n <div\n style={{\n display: \"flex\",\n flexDirection: \"column\",\n gap: V.gap,\n minWidth: 0,\n minHeight: 0,\n flex: full ? 1 : undefined,\n ...style,\n }}\n >\n {children}\n </div>\n );\n}\n\nexport function TaskRow({\n title,\n note,\n due,\n dueTone = \"default\",\n prio,\n done = false,\n}: {\n title?: string;\n note?: string;\n due?: string;\n dueTone?: WireframeTone;\n prio?: number;\n done?: boolean;\n}) {\n return (\n <div\n style={{\n display: \"flex\",\n alignItems: \"flex-start\",\n gap: V.gap,\n padding: \"calc(var(--pad) * 0.55) 0\",\n minWidth: 0,\n }}\n >\n <div style={{ marginTop: 1 }}>\n <Check done={done} />\n </div>\n <div\n style={{\n flex: 1,\n minWidth: 0,\n display: \"flex\",\n flexDirection: \"column\",\n gap: 4,\n }}\n >\n <Hand\n color={done ? V.soft : V.ink}\n style={done ? { textDecoration: \"line-through\" } : undefined}\n >\n {title}\n </Hand>\n {note && (\n <Hand size=\"calc(var(--fs) * 0.85)\" color={V.soft}>\n {note}\n </Hand>\n )}\n </div>\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n flexWrap: \"wrap\",\n justifyContent: \"flex-end\",\n gap: 8,\n flex: \"0 0 auto\",\n }}\n >\n {due && <Pill tone={dueTone}>{due}</Pill>}\n {prio ? <Prio level={prio} /> : null}\n </div>\n </div>\n );\n}\n\nexport function Card({\n children,\n style = {},\n}: {\n children?: ReactNode;\n style?: CSSProperties;\n}) {\n return (\n <Box\n pad=\"calc(var(--pad) * 0.9)\"\n style={{\n display: \"flex\",\n flexDirection: \"column\",\n gap: 8,\n background: V.card,\n minWidth: 0,\n maxWidth: \"100%\",\n ...style,\n }}\n >\n {children}\n </Box>\n );\n}\n\nexport function Column({\n title,\n count,\n tone = \"muted\",\n width = 232,\n children,\n}: {\n title?: string;\n count?: number;\n tone?: WireframeTone;\n width?: number;\n children?: ReactNode;\n}) {\n return (\n <div\n style={{\n width,\n flex: \"0 0 auto\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: V.gap,\n }}\n >\n <div style={{ display: \"flex\", alignItems: \"center\", gap: 8 }}>\n <span\n style={{\n width: 9,\n height: 9,\n borderRadius: \"50%\",\n background: toneInk(tone),\n flex: \"0 0 auto\",\n }}\n />\n <Hand weight={700} style={{ whiteSpace: \"nowrap\" }}>\n {title}\n </Hand>\n {count != null && (\n <Hand size=\"calc(var(--fs) * 0.82)\" color={V.soft}>\n {count}\n </Hand>\n )}\n <div style={{ flex: 1 }} />\n <Hand color={V.soft} weight={700}>\n +\n </Hand>\n </div>\n {children}\n </div>\n );\n}\n\nexport function Toolbar({\n children,\n style = {},\n}: {\n children?: ReactNode;\n style?: CSSProperties;\n}) {\n return (\n <div\n data-rough=\"line:bottom\"\n style={{\n [\"--rough-stroke\" as string]: V.ink,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n gap: V.gap,\n padding: \"12px 22px\",\n borderBottom: `${V.stroke} solid ${V.ink}`,\n background: V.card,\n flex: \"0 0 auto\",\n minWidth: 0,\n flexWrap: \"wrap\",\n ...style,\n }}\n >\n {children}\n </div>\n );\n}\n\nexport function Tabs({\n items = [],\n}: {\n items?: Array<{ label: string; active?: boolean }>;\n}) {\n return (\n <div style={{ display: \"flex\", gap: 7, flexWrap: \"wrap\" }}>\n {items.map((item, i) => (\n <Chip key={i} active={item.active}>\n {item.label}\n </Chip>\n ))}\n </div>\n );\n}\n\nexport function KV({ rows = [] }: { rows?: Array<{ k: string; v: string }> }) {\n return (\n <div style={{ display: \"flex\", flexDirection: \"column\", gap: 6 }}>\n {rows.map((row, i) => (\n <div\n key={i}\n style={{\n display: \"flex\",\n alignItems: \"baseline\",\n justifyContent: \"space-between\",\n gap: 12,\n }}\n >\n <Hand size=\"calc(var(--fs) * 0.88)\" color={V.soft}>\n {row.k}\n </Hand>\n <Hand\n style={{ textAlign: \"right\", minWidth: 0, wordBreak: \"break-word\" }}\n >\n {row.v}\n </Hand>\n </div>\n ))}\n </div>\n );\n}\n\nexport function SearchBar({\n placeholder = \"Search\",\n}: {\n placeholder?: string;\n}) {\n return (\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n gap: 6,\n border: `${V.stroke} solid ${V.soft}`,\n borderRadius: 999,\n padding: \"5px 11px\",\n background: V.card,\n }}\n >\n <Bar w={11} h={11} color={V.soft} r={3} />\n <Hand size=\"calc(var(--fs) * 0.85)\" color={V.soft}>\n {placeholder}\n </Hand>\n </div>\n );\n}\n\nexport function Divider({ style = {} }: { style?: CSSProperties }) {\n return (\n <div\n style={{\n height: V.stroke,\n background: V.line,\n flex: \"0 0 auto\",\n margin: \"3px 0\",\n ...style,\n }}\n />\n );\n}\n\nexport function Title({\n text,\n script = false,\n size = \"calc(var(--fs) * 2)\",\n color = V.ink,\n}: {\n text?: string;\n script?: boolean;\n size?: number | string;\n color?: string;\n}) {\n return (\n <Hand script={script} size={size} weight={700} color={color}>\n {text}\n </Hand>\n );\n}\n\nexport function Text({\n value,\n color,\n weight,\n script = false,\n}: {\n value?: string;\n color?: WireframeTone;\n weight?: \"normal\" | \"medium\" | \"bold\";\n script?: boolean;\n}) {\n return (\n <Hand color={toneInk(color)} weight={fontWeight(weight)} script={script}>\n {value}\n </Hand>\n );\n}\n\n/* ========================================================================== */\n/* Node registry (ported from kit/registry.tsx) */\n/* ========================================================================== */\n\ntype NodeRenderer = (node: WireframeNode, children: ReactNode) => ReactNode;\n\nconst REGISTRY: Record<WireframeElName, NodeRenderer> = {\n // --- Frame / structure -------------------------------------------------\n screen: (n) => {\n const kids = n.children ?? [];\n const lead = kids[0]?.el;\n if (lead === \"browserBar\") {\n return (\n <Screen pad={0}>\n {renderNode(kids[0], kids[0].id ?? \"browserbar\")}\n {renderScreenBodyNodes(kids.slice(1))}\n </Screen>\n );\n }\n if (lead === \"statusBar\") {\n return (\n <Screen pad={0}>\n {renderNode(kids[0], kids[0].id ?? \"statusbar\")}\n <div\n style={{\n flex: 1,\n minHeight: 0,\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"var(--gap)\",\n padding: \"calc(var(--pad) * 1.1)\",\n }}\n >\n {renderScreenBodyNodes(kids.slice(1))}\n </div>\n </Screen>\n );\n }\n return (\n <Screen pad=\"calc(var(--pad) * 1.35)\">\n {renderScreenBodyNodes(kids)}\n </Screen>\n );\n },\n browserBar: (n, children) => (\n <BrowserBar title={n.title ?? n.text}>{children}</BrowserBar>\n ),\n statusBar: () => <StatusBar />,\n toolbar: (_n, children) => <Toolbar>{children}</Toolbar>,\n row: (n, children) => <Row full={n.full}>{children}</Row>,\n col: (n, children) => <Col full={n.full}>{children}</Col>,\n sidebar: (_n, children) => <Sidebar>{children}</Sidebar>,\n main: (_n, children) => <Main>{children}</Main>,\n box: (n, children) => <Box dashed={n.dashed}>{children}</Box>,\n card: (_n, children) => <Card>{children}</Card>,\n column: (n, children) => (\n <Column title={n.title ?? n.text} count={n.count} tone={n.tone}>\n {children}\n </Column>\n ),\n divider: () => <Divider />,\n\n // --- Text --------------------------------------------------------------\n title: (n) => <Title text={n.text} script={n.script} />,\n text: (n) => (\n <Text\n value={n.value ?? n.text}\n color={n.color}\n weight={n.weight}\n script={n.script}\n />\n ),\n lines: (n) => <Lines n={n.n} widths={n.widths} />,\n section: (n) => (\n <SectionLabel tone={n.tone}>{n.label ?? n.text}</SectionLabel>\n ),\n\n // --- List / task -------------------------------------------------------\n navItem: (n) => (\n <NavItem\n label={n.label ?? n.text}\n count={n.count}\n active={n.active}\n dot={n.dot}\n tone={n.tone}\n />\n ),\n taskRow: (n) => (\n <TaskRow\n title={n.title ?? n.text}\n note={n.note}\n due={n.due}\n dueTone={n.dueTone}\n prio={n.prio}\n done={n.done}\n />\n ),\n\n // --- Controls ----------------------------------------------------------\n chips: (n) => <Tabs items={n.items ?? []} />,\n chip: (n) => <Chip active={n.active}>{n.label ?? n.text}</Chip>,\n pill: (n) => <Pill tone={n.tone}>{n.label ?? n.text}</Pill>,\n check: (n) => <Check done={n.done} shape={n.shape} />,\n field: (n) => (\n <Field\n label={n.label}\n value={n.value}\n placeholder={n.placeholder}\n area={n.area}\n />\n ),\n btn: (n) => (\n <Btn solid={n.solid} full={n.full} tone={n.tone}>\n {n.label ?? n.text}\n </Btn>\n ),\n fab: (n) => <Fab icon={n.icon} />,\n searchBar: (n) => <SearchBar placeholder={n.placeholder} />,\n\n // --- Atoms -------------------------------------------------------------\n avatar: () => <Avatar />,\n iconSquare: (n) => <IconSquare active={n.active} />,\n kv: (n) => <KV rows={n.rows ?? []} />,\n};\n\nfunction renderScreenBodyNode(\n node: WireframeNode,\n key?: string | number,\n): ReactNode {\n const shouldFill =\n node.full !== false &&\n (node.el === \"row\" || node.el === \"col\" || node.el === \"main\");\n return renderNode(shouldFill ? { ...node, full: true } : node, key);\n}\n\nfunction renderScreenBodyNodes(nodes: WireframeNode[]): ReactNode {\n return nodes.map((node, i) =>\n renderScreenBodyNode(node, node.id ?? `screen-body-${i}`),\n );\n}\n\n/** Render a single kit-tree node (and its children, recursively). */\nexport function renderNode(\n node: WireframeNode,\n key?: string | number,\n): ReactNode {\n const renderer = REGISTRY[node.el];\n const children = node.children?.length ? renderNodes(node.children) : null;\n if (!renderer) {\n return children ? <div key={key}>{children}</div> : null;\n }\n const rendered = renderer(node, children);\n return <KeyedNode key={key ?? node.id}>{rendered}</KeyedNode>;\n}\n\n/** Render an array of nodes. */\nexport function renderNodes(nodes: WireframeNode[]): ReactNode {\n return nodes.map((node, i) => renderNode(node, node.id ?? i));\n}\n\n/** Lightweight keyed wrapper that does not introduce extra DOM. */\nfunction KeyedNode({ children }: { children: ReactNode }) {\n return <>{children}</>;\n}\n\n/** Whether an `el` name has a registered renderer. */\nexport function hasRenderer(el: string): el is WireframeElName {\n return el in REGISTRY;\n}\n\nexport { REGISTRY as NODE_REGISTRY, V as WFV, toneColors, toneInk, fontWeight };\n\n/* ========================================================================== */\n/* Rough overlay (ported from kit/rough.tsx) */\n/* ========================================================================== */\n\nconst gen = rough.generator();\n\ntype RoughPath = { d: string; stroke: string; strokeWidth: number };\n\n/** The default selector used for HTML mockups: standard wireframe primitives plus explicit opt-ins. */\nexport const HTML_ROUGH_SELECTOR =\n \"[data-rough],button,input,textarea,select,hr,.wf-btn,.wf-card,.wf-box,.wf-pill,.wf-chip,.wf-icon-fallback,[style*='border:'],[style*='border-top:'],[style*='border-right:'],[style*='border-bottom:'],[style*='border-left:']\";\n\n/** Stable per-element seed so a frame doesn't re-wobble on every measure. */\nfunction seedFrom(...parts: Array<string | number>): number {\n const value = parts.join(\":\");\n let hash = 2166136261;\n for (let i = 0; i < value.length; i++) {\n hash ^= value.charCodeAt(i);\n hash = Math.imul(hash, 16777619);\n }\n return ((hash >>> 0) % 2147483646) + 1;\n}\n\n/** Map the 0–100 sketch slider to a rough.js roughness (calm + legible). */\nexport function sketchRoughness(sketch: number): number {\n const s = Math.max(0, Math.min(100, Number.isFinite(sketch) ? sketch : 0));\n return Number((0.32 + (s / 100) * 1.15).toFixed(2));\n}\n\nfunction sketchBowing(sketch: number): number {\n const s = Math.max(0, Math.min(100, Number.isFinite(sketch) ? sketch : 0));\n return Number((0.4 + (s / 100) * 0.5).toFixed(2));\n}\n\nfunction readVar(el: Element, name: string): string {\n return getComputedStyle(el).getPropertyValue(name).trim();\n}\n\n/** Normalize a CSS color (hex or rgb[a]) to \"r,g,b\" for equality comparison. */\nfunction toRgbKey(color: string): string | null {\n const c = color.trim();\n const hex = c.match(/^#([0-9a-f]{3}|[0-9a-f]{6})$/i);\n if (hex) {\n const h = hex[1];\n const full =\n h.length === 3\n ? h\n .split(\"\")\n .map((d) => d + d)\n .join(\"\")\n : h;\n const n = parseInt(full, 16);\n return `${(n >> 16) & 255},${(n >> 8) & 255},${n & 255}`;\n }\n const rgb = c.match(/rgba?\\(([^)]+)\\)/i);\n if (rgb) {\n const [r, g, b] = rgb[1].split(\",\").map((v) => parseInt(v.trim(), 10));\n return `${r},${g},${b}`;\n }\n return null;\n}\n\n/** True when two CSS colors resolve to the same RGB (hex vs rgb tolerant). */\nfunction sameColor(a: string, b: string): boolean {\n const ka = toRgbKey(a);\n const kb = toRgbKey(b);\n return ka !== null && ka === kb;\n}\n\n/** A rounded-rect SVG path (so the frame stroke follows the artboard radius). */\nfunction roundedRectPath(\n x: number,\n y: number,\n w: number,\n h: number,\n r: number,\n): string {\n const rad = Math.max(0, Math.min(Number.isFinite(r) ? r : 0, w / 2, h / 2));\n return [\n `M${x + rad},${y}`,\n `H${x + w - rad}`,\n `A${rad},${rad} 0 0 1 ${x + w},${y + rad}`,\n `V${y + h - rad}`,\n `A${rad},${rad} 0 0 1 ${x + w - rad},${y + h}`,\n `H${x + rad}`,\n `A${rad},${rad} 0 0 1 ${x},${y + h - rad}`,\n `V${y + rad}`,\n `A${rad},${rad} 0 0 1 ${x + rad},${y}`,\n \"Z\",\n ].join(\" \");\n}\n\n/** Rough.js cannot safely render paths whose inset consumes the whole box. */\nexport function hasDrawableRoughBounds(\n width: number,\n height: number,\n inset: number,\n): boolean {\n return (\n Number.isFinite(width) &&\n Number.isFinite(height) &&\n width > inset * 2 &&\n height > inset * 2\n );\n}\n\n/** Rough.js recursively flattens paths, so every coordinate must be finite. */\nexport function hasDrawableRoughGeometry(\n x: number,\n y: number,\n width: number,\n height: number,\n inset: number,\n): boolean {\n return (\n Number.isFinite(x) &&\n Number.isFinite(y) &&\n hasDrawableRoughBounds(width, height, inset)\n );\n}\n\nfunction elementStroke(node: Element, fallback: string): string {\n const explicit = readVar(node, \"--rough-stroke\");\n if (explicit) return explicit;\n const cs = getComputedStyle(node);\n for (const side of [\n \"borderTopColor\",\n \"borderLeftColor\",\n \"borderBottomColor\",\n \"borderRightColor\",\n ] as const) {\n const width = parseFloat(\n cs.getPropertyValue(side.replace(\"Color\", \"Width\")),\n );\n const color = cs[side];\n if (width > 0 && color && color !== \"rgba(0, 0, 0, 0)\") return color;\n }\n return fallback;\n}\n\nfunction visibleBorderSides(\n node: Element,\n): Array<\"top\" | \"right\" | \"bottom\" | \"left\"> {\n const cs = getComputedStyle(node);\n const sides: Array<\"top\" | \"right\" | \"bottom\" | \"left\"> = [];\n for (const [side, widthProp, colorProp] of [\n [\"top\", \"borderTopWidth\", \"borderTopColor\"],\n [\"right\", \"borderRightWidth\", \"borderRightColor\"],\n [\"bottom\", \"borderBottomWidth\", \"borderBottomColor\"],\n [\"left\", \"borderLeftWidth\", \"borderLeftColor\"],\n ] as const) {\n const width = parseFloat(cs[widthProp]);\n const color = cs[colorProp];\n if (\n width > 0 &&\n color &&\n color !== \"rgba(0, 0, 0, 0)\" &&\n color !== \"transparent\"\n ) {\n sides.push(side);\n }\n }\n return sides;\n}\n\nfunction inferRoughKind(node: HTMLElement): string {\n const explicit = node.getAttribute(\"data-rough\");\n if (explicit) return explicit;\n if (node.tagName === \"HR\") return \"line:middle\";\n const sides = visibleBorderSides(node);\n if (sides.length !== 1) return \"rect\";\n switch (sides[0]) {\n case \"top\":\n return \"line:top\";\n case \"right\":\n return \"line:right\";\n case \"bottom\":\n return \"line:bottom\";\n case \"left\":\n return \"line:left\";\n }\n return \"rect\";\n}\n\nfunction build(\n scope: HTMLElement,\n opts: {\n roughness: number;\n bowing: number;\n frameRadius: number;\n drawFrame: boolean;\n selector: string;\n },\n): { paths: RoughPath[]; w: number; h: number } {\n const base = scope.getBoundingClientRect();\n const layoutW = scope.offsetWidth;\n const layoutH = scope.offsetHeight;\n if (!layoutW || !layoutH) return { paths: [], w: 0, h: 0 };\n const zoom = base.width / layoutW || 1;\n\n const themed =\n (scope.matches(\".plan-wf, .plan-html-frame, .plan-diagram-frame\")\n ? scope\n : scope.querySelector(\n \".plan-wf, .plan-html-frame, .plan-diagram-frame\",\n )) ?? scope;\n const ink =\n readVar(themed, \"--ink\") || readVar(themed, \"--wf-ink\") || \"#34322e\";\n const sketch = readVar(themed, \"--wf-sketch\") || ink;\n const line = readVar(themed, \"--wf-line\") || readVar(themed, \"--line\") || \"\";\n\n const paths: RoughPath[] = [];\n let index = 0;\n const push = (drawable: unknown, stroke: string, sw: number) => {\n for (const p of gen.toPaths(\n drawable as Parameters<typeof gen.toPaths>[0],\n )) {\n paths.push({\n d: p.d,\n stroke: p.stroke && p.stroke !== \"none\" ? p.stroke : stroke,\n strokeWidth: p.strokeWidth || sw,\n });\n }\n };\n const makeOpts = (stroke: string, sw: number, seed: number) => ({\n seed,\n roughness: opts.roughness,\n bowing: opts.bowing,\n stroke,\n strokeWidth: sw,\n preserveVertices: true,\n });\n\n if (opts.drawFrame && hasDrawableRoughBounds(layoutW, layoutH, 2)) {\n const sw = 2;\n push(\n gen.path(\n roundedRectPath(2, 2, layoutW - 4, layoutH - 4, opts.frameRadius),\n {\n ...makeOpts(sketch, sw, seedFrom(\"frame\", layoutW, layoutH)),\n roughness: opts.roughness + 0.35,\n bowing: opts.bowing + 0.18,\n },\n ),\n sketch,\n sw,\n );\n }\n\n scope.querySelectorAll<HTMLElement>(opts.selector).forEach((node) => {\n if (node.getAttribute(\"data-rough\") === \"none\") return;\n if (readVar(node, \"--rough-skip\") === \"1\") return;\n const r = node.getBoundingClientRect();\n const x = (r.left - base.left) / zoom;\n const y = (r.top - base.top) / zoom;\n const w = r.width / zoom;\n const h = r.height / zoom;\n if (!hasDrawableRoughGeometry(x, y, w, h, 1)) return;\n const kind = inferRoughKind(node);\n const rawStroke = elementStroke(node, sketch);\n const stroke =\n sameColor(rawStroke, ink) || (line !== \"\" && sameColor(rawStroke, line))\n ? sketch\n : rawStroke;\n const sw = Number(readVar(node, \"--rough-w\")) || 1.4;\n const seed = seedFrom(\n kind,\n Math.round(x),\n Math.round(y),\n Math.round(w),\n Math.round(h),\n index++,\n );\n const o = makeOpts(stroke, sw, seed);\n let drawable: unknown;\n if (kind === \"ellipse\") {\n drawable = gen.ellipse(x + w / 2, y + h / 2, w, h, o);\n } else if (kind === \"line:left\") {\n drawable = gen.line(x, y, x, y + h, o);\n } else if (kind === \"line:right\") {\n drawable = gen.line(x + w, y, x + w, y + h, o);\n } else if (kind === \"line:bottom\") {\n drawable = gen.line(x, y + h, x + w, y + h, o);\n } else if (kind === \"line:top\") {\n drawable = gen.line(x, y, x + w, y, o);\n } else if (kind === \"line:middle\") {\n drawable = gen.line(x, y + h / 2, x + w, y + h / 2, o);\n } else {\n const cr = parseFloat(getComputedStyle(node).borderTopLeftRadius) || 0;\n const radius = Math.min(cr / zoom, w / 2, h / 2);\n drawable =\n radius > 1\n ? gen.path(roundedRectPath(x + 1, y + 1, w - 2, h - 2, radius), o)\n : gen.rectangle(x + 1, y + 1, w - 2, h - 2, o);\n }\n push(drawable, stroke, sw);\n });\n\n return { paths, w: layoutW, h: layoutH };\n}\n\n/**\n * Renders the rough overlay for a frame. `scopeRef` points at the frame root.\n * When `enabled` is false (skeleton / clean register) it renders nothing and the\n * crisp CSS borders stay visible.\n */\nexport function RoughOverlay({\n scopeRef,\n sketch = 52,\n enabled = true,\n drawFrame = true,\n frameRadius = 14,\n selector = \"[data-rough]\",\n}: {\n scopeRef: RefObject<HTMLElement | null>;\n sketch?: number;\n enabled?: boolean;\n drawFrame?: boolean;\n frameRadius?: number;\n selector?: string;\n}) {\n const [state, setState] = useState<{\n paths: RoughPath[];\n w: number;\n h: number;\n }>({ paths: [], w: 0, h: 0 });\n const rafRef = useRef(0);\n\n useEffect(() => {\n const el = scopeRef.current;\n if (!el || !enabled) {\n el?.removeAttribute(\"data-rough-ready\");\n el?.querySelector(\n \".plan-wf, .plan-html-frame, .plan-diagram-frame\",\n )?.removeAttribute(\"data-rough-ready\");\n setState({ paths: [], w: 0, h: 0 });\n return;\n }\n const roughness = sketchRoughness(sketch);\n const bowing = sketchBowing(sketch);\n const measure = () => {\n clearTimeout(rafRef.current);\n rafRef.current = window.setTimeout(() => {\n const next = build(el, {\n roughness,\n bowing,\n frameRadius,\n drawFrame,\n selector,\n });\n if (next.w && next.h) {\n el.setAttribute(\"data-rough-ready\", \"true\");\n (\n el.querySelector(\n \".plan-wf, .plan-html-frame, .plan-diagram-frame\",\n ) ?? el\n ).setAttribute(\"data-rough-ready\", \"true\");\n setState(next);\n }\n }, 0);\n };\n measure();\n const ro = new ResizeObserver(measure);\n ro.observe(el);\n el.querySelectorAll(selector).forEach((node) => ro.observe(node));\n const mo = new MutationObserver((mutations) => {\n if (mutations.every(isRoughOverlayMutation)) return;\n measure();\n });\n mo.observe(el, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true,\n });\n el.addEventListener(\"plan-prototype-runtime:rendered\", measure);\n let cancelled = false;\n if (typeof document !== \"undefined\" && \"fonts\" in document) {\n void document.fonts.ready.then(() => {\n if (!cancelled) measure();\n });\n }\n return () => {\n cancelled = true;\n ro.disconnect();\n mo.disconnect();\n el.removeEventListener(\"plan-prototype-runtime:rendered\", measure);\n clearTimeout(rafRef.current);\n el.removeAttribute(\"data-rough-ready\");\n el.querySelector(\n \".plan-wf, .plan-html-frame, .plan-diagram-frame\",\n )?.removeAttribute(\"data-rough-ready\");\n };\n }, [scopeRef, sketch, enabled, drawFrame, frameRadius, selector]);\n\n if (!enabled || !state.paths.length) return null;\n return (\n <svg\n aria-hidden\n className=\"plan-rough-overlay\"\n width=\"100%\"\n height=\"100%\"\n viewBox={`0 0 ${state.w} ${state.h}`}\n preserveAspectRatio=\"none\"\n style={{\n position: \"absolute\",\n inset: 0,\n pointerEvents: \"none\",\n overflow: \"hidden\",\n zIndex: 3,\n }}\n >\n {state.paths.map((p, i) => (\n <path\n key={i}\n d={p.d}\n fill=\"none\"\n stroke={p.stroke}\n strokeWidth={p.strokeWidth}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n ))}\n </svg>\n );\n}\n\nfunction isRoughOverlayMutation(mutation: MutationRecord) {\n if (nodeIsRoughOverlay(mutation.target)) return true;\n\n const changedNodes = [\n ...Array.from(mutation.addedNodes),\n ...Array.from(mutation.removedNodes),\n ];\n return changedNodes.length > 0 && changedNodes.every(nodeIsRoughOverlay);\n}\n\nfunction nodeIsRoughOverlay(node: Node) {\n const element = node instanceof Element ? node : node.parentElement;\n return Boolean(\n element?.classList.contains(\"plan-rough-overlay\") ||\n element?.closest(\".plan-rough-overlay\"),\n );\n}\n"]}
|
|
@@ -13,7 +13,7 @@ export { useAgentChatGenerating } from "../use-agent-chat.js";
|
|
|
13
13
|
export { useSendToAgentChat } from "../use-send-to-agent-chat.js";
|
|
14
14
|
export { requestAgentSidebarOpen, SIDEBAR_STATE_CHANGE_EVENT, setAgentSidebarOpenPreference, type AgentSidebarStateChangeDetail, type AgentSidebarStateMode, type AgentSidebarStateSource, } from "../agent-sidebar-state.js";
|
|
15
15
|
export { clearReservedToolRenderersForTests, clearToolRenderersForTests, registerActionChatRenderer, registerFallbackToolRenderer, registerReservedActionChatRenderer, registerReservedFallbackToolRenderer, registerReservedToolRenderer, registerToolRenderer, resolveToolRenderer, type ActionChatRendererRegistration, type ToolRendererComponent, type ToolRendererContext, type ToolRendererMatch, type ToolRendererProps, type ToolRendererRegistration, } from "./tool-render-registry.js";
|
|
16
|
-
export { ACTION_CHAT_UI_DATA_CHART_RENDERER, ACTION_CHAT_UI_DATA_INSIGHTS_RENDERER, ACTION_CHAT_UI_DATA_TABLE_RENDERER, ACTION_CHAT_UI_DATA_WIDGET_RENDERER, ACTION_CHAT_UI_INLINE_EXTENSION_RENDERER, type ActionChatUIConfig, } from "../../action-ui.js";
|
|
16
|
+
export { ACTION_CHAT_UI_DATA_CHART_RENDERER, ACTION_CHAT_UI_DATA_INSIGHTS_RENDERER, ACTION_CHAT_UI_DATA_TABLE_RENDERER, ACTION_CHAT_UI_DATA_WIDGET_RENDERER, ACTION_CHAT_UI_INLINE_EXTENSION_RENDERER, ACTION_CHAT_UI_WORKSPACE_FILE_RENDERER, type ActionChatUIConfig, } from "../../action-ui.js";
|
|
17
17
|
export { DATA_CHART_WIDGET, DATA_INSIGHTS_WIDGET, DATA_TABLE_WIDGET, createDataChartWidgetResult, createDataInsightsWidgetResult, createDataTableWidgetResult, dataChartWidgetResultSchema, dataChartWidgetSchema, dataInsightsWidgetResultSchema, dataTableWidgetResultSchema, dataTableWidgetSchema, dataWidgetResultSchema, isDataChartWidget, isDataTableWidget, isDataWidgetResult, normalizeDataWidgetKind, normalizeDataWidgetResult, type DataChartSeriesDefinition, type DataChartWidget, type DataChartWidgetResult, type DataChartWidgetResultInput, type DataInsightsWidgetResult, type DataInsightsWidgetResultInput, type DataTableColumn, type DataTableWidget, type DataTableWidgetResult, type DataTableWidgetResultInput, type DataWidgetDisplay, type DataWidgetKind, type DataWidgetResult, type DataWidgetResultMetadata, } from "./widgets/data-widget-types.js";
|
|
18
18
|
export { useChatModels, type UseChatModelsResult, type EngineModelGroup, } from "../use-chat-models.js";
|
|
19
19
|
export { useChatThreads, type ChatThreadScope, type ChatThreadSnapshot, type ChatThreadSummary, type ChatThreadData, type ChatThreadShareLink, type ChatThreadShareState, type UseChatThreadsOptions, } from "../use-chat-threads.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/chat/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/chat/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,iBAAiB,GACvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,8BAA8B,EAC9B,gCAAgC,EAChC,+BAA+B,EAC/B,2BAA2B,EAC3B,+BAA+B,EAC/B,4BAA4B,EAC5B,wBAAwB,EACxB,mCAAmC,EACnC,4BAA4B,EAC5B,+BAA+B,EAC/B,KAAK,2BAA2B,EAChC,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,GACpC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,uBAAuB,EACvB,4BAA4B,EAC5B,KAAK,mCAAmC,EACxC,KAAK,8BAA8B,GACpC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,2BAA2B,GACjC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,qBAAqB,EACrB,KAAK,0BAA0B,EAC/B,KAAK,gCAAgC,GACtC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,sBAAsB,EACtB,KAAK,oBAAoB,EACzB,KAAK,6BAA6B,GACnC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,kCAAkC,EAClC,0BAA0B,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,4BAA4B,EACjC,KAAK,iCAAiC,GACvC,MAAM,+BAA+B,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,OAAO,EACL,eAAe,EACf,yBAAyB,EACzB,2BAA2B,EAC3B,8BAA8B,EAC9B,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,+BAA+B,GACrC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,6BAA6B,EAC7B,KAAK,6BAA6B,EAClC,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,GAC7B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,kCAAkC,EAClC,0BAA0B,EAC1B,0BAA0B,EAC1B,4BAA4B,EAC5B,kCAAkC,EAClC,oCAAoC,EACpC,4BAA4B,EAC5B,oBAAoB,EACpB,mBAAmB,EACnB,KAAK,8BAA8B,EACnC,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,GAC9B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,kCAAkC,EAClC,qCAAqC,EACrC,kCAAkC,EAClC,mCAAmC,EACnC,wCAAwC,EACxC,sCAAsC,EACtC,KAAK,kBAAkB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,2BAA2B,EAC3B,8BAA8B,EAC9B,2BAA2B,EAC3B,2BAA2B,EAC3B,qBAAqB,EACrB,8BAA8B,EAC9B,2BAA2B,EAC3B,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,EACzB,KAAK,yBAAyB,EAC9B,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,6BAA6B,EAClC,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,0BAA0B,EAC/B,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,GAC9B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,aAAa,EACb,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,cAAc,EACd,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,GAC3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,eAAe,EACf,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,cAAc,0BAA0B,CAAC"}
|
|
@@ -13,7 +13,7 @@ export { useAgentChatGenerating } from "../use-agent-chat.js";
|
|
|
13
13
|
export { useSendToAgentChat } from "../use-send-to-agent-chat.js";
|
|
14
14
|
export { requestAgentSidebarOpen, SIDEBAR_STATE_CHANGE_EVENT, setAgentSidebarOpenPreference, } from "../agent-sidebar-state.js";
|
|
15
15
|
export { clearReservedToolRenderersForTests, clearToolRenderersForTests, registerActionChatRenderer, registerFallbackToolRenderer, registerReservedActionChatRenderer, registerReservedFallbackToolRenderer, registerReservedToolRenderer, registerToolRenderer, resolveToolRenderer, } from "./tool-render-registry.js";
|
|
16
|
-
export { ACTION_CHAT_UI_DATA_CHART_RENDERER, ACTION_CHAT_UI_DATA_INSIGHTS_RENDERER, ACTION_CHAT_UI_DATA_TABLE_RENDERER, ACTION_CHAT_UI_DATA_WIDGET_RENDERER, ACTION_CHAT_UI_INLINE_EXTENSION_RENDERER, } from "../../action-ui.js";
|
|
16
|
+
export { ACTION_CHAT_UI_DATA_CHART_RENDERER, ACTION_CHAT_UI_DATA_INSIGHTS_RENDERER, ACTION_CHAT_UI_DATA_TABLE_RENDERER, ACTION_CHAT_UI_DATA_WIDGET_RENDERER, ACTION_CHAT_UI_INLINE_EXTENSION_RENDERER, ACTION_CHAT_UI_WORKSPACE_FILE_RENDERER, } from "../../action-ui.js";
|
|
17
17
|
export { DATA_CHART_WIDGET, DATA_INSIGHTS_WIDGET, DATA_TABLE_WIDGET, createDataChartWidgetResult, createDataInsightsWidgetResult, createDataTableWidgetResult, dataChartWidgetResultSchema, dataChartWidgetSchema, dataInsightsWidgetResultSchema, dataTableWidgetResultSchema, dataTableWidgetSchema, dataWidgetResultSchema, isDataChartWidget, isDataTableWidget, isDataWidgetResult, normalizeDataWidgetKind, normalizeDataWidgetResult, } from "./widgets/data-widget-types.js";
|
|
18
18
|
export { useChatModels, } from "../use-chat-models.js";
|
|
19
19
|
export { useChatThreads, } from "../use-chat-threads.js";
|