@dfosco/storyboard-core 4.2.0-beta.3 → 4.2.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/commandpalette.config.json +109 -24
- package/dist/storyboard-ui.css +1 -1
- package/dist/storyboard-ui.js +16711 -27239
- package/dist/storyboard-ui.js.map +1 -1
- package/dist/tailwind.css +1 -1
- package/package.json +5 -2
- package/scaffold/agents/prompt-agent.agent.md +181 -0
- package/scaffold/agents/terminal-agent.agent.md +351 -0
- package/scaffold/codex/config.toml +246 -0
- package/scaffold/manifest.json +5 -10
- package/scaffold/skills/canvas/SKILL.md +5 -4
- package/scaffold/skills/ship/SKILL.md +1 -1
- package/scaffold/storyboard.config.json +11 -1
- package/src/ActionMenuButton.jsx +103 -0
- package/src/AutosyncMenuButton.css +67 -0
- package/src/AutosyncMenuButton.jsx +242 -0
- package/src/BranchSelect.jsx +29 -0
- package/src/BranchSelect.module.css +30 -0
- package/src/CanvasAgentsMenu.jsx +89 -0
- package/src/CanvasCreateMenu.jsx +611 -0
- package/src/CanvasSnap.css +27 -0
- package/src/CanvasSnap.jsx +51 -0
- package/src/CanvasUndoRedo.css +36 -0
- package/src/CanvasUndoRedo.jsx +62 -0
- package/src/CanvasZoomControl.css +53 -0
- package/src/CanvasZoomControl.jsx +49 -0
- package/src/CanvasZoomToFit.css +18 -0
- package/src/CanvasZoomToFit.jsx +26 -0
- package/src/CommandMenu.css +8 -0
- package/src/CommandMenu.jsx +287 -0
- package/src/CommandPalette.jsx +35 -0
- package/src/CommandPaletteTrigger.jsx +25 -0
- package/src/CommentsMenuButton.jsx +40 -0
- package/src/CoreUIBar.css +47 -0
- package/src/CoreUIBar.jsx +858 -0
- package/src/CreateMenuButton.jsx +117 -0
- package/src/HideChromeTrigger.jsx +40 -0
- package/src/InspectorPanel.css +109 -0
- package/src/InspectorPanel.jsx +632 -0
- package/src/PwaInstallBanner.css +42 -0
- package/src/PwaInstallBanner.jsx +124 -0
- package/src/SidePanel.jsx +261 -0
- package/src/ThemeMenuButton.jsx +139 -0
- package/src/autosync/server.js +202 -5
- package/src/autosync/server.test.js +111 -0
- package/src/canvas/__tests__/agent-integration.test.js +596 -0
- package/src/canvas/__tests__/helpers/browser.js +95 -0
- package/src/canvas/__tests__/helpers/canvas-api.js +129 -0
- package/src/canvas/__tests__/helpers/perf.js +118 -0
- package/src/canvas/__tests__/helpers/setup.js +176 -0
- package/src/canvas/__tests__/helpers/tmux.js +130 -0
- package/src/canvas/__tests__/helpers/transcript.js +132 -0
- package/src/canvas/__tests__/terminal-integration.test.js +177 -0
- package/src/canvas/hot-pool.js +756 -0
- package/src/canvas/materializer.js +31 -0
- package/src/canvas/materializer.test.js +56 -0
- package/src/canvas/selectedWidgets.js +65 -7
- package/src/canvas/server.js +1802 -22
- package/src/canvas/server.test.js +239 -0
- package/src/canvas/terminal-config.js +330 -0
- package/src/canvas/terminal-registry.js +41 -3
- package/src/canvas/terminal-server.js +1098 -37
- package/src/canvas/writeGuard.js +51 -3
- package/src/canvasConfig.js +67 -1
- package/src/canvasConfig.test.js +79 -1
- package/src/cli/agent.js +85 -0
- package/src/cli/branch.js +232 -0
- package/src/cli/canvasAdd.js +61 -14
- package/src/cli/canvasBatch.js +98 -0
- package/src/cli/canvasBounds.js +1 -1
- package/src/cli/canvasRead.js +1 -1
- package/src/cli/canvasUpdate.js +179 -0
- package/src/cli/compact.js +0 -2
- package/src/cli/create.js +40 -16
- package/src/cli/dev.js +158 -84
- package/src/cli/exit.js +23 -24
- package/src/cli/index.js +55 -2
- package/src/cli/proxy.js +96 -37
- package/src/cli/schemas.js +22 -4
- package/src/cli/server.js +149 -26
- package/src/cli/serverUrl.js +8 -3
- package/src/cli/sessions.js +133 -7
- package/src/cli/setup.js +138 -12
- package/src/cli/terminal-commands.js +20 -9
- package/src/cli/terminal-messaging.js +231 -0
- package/src/cli/terminal-welcome.js +449 -34
- package/src/cli/updateVersion.js +1 -1
- package/src/commandActions.js +1 -0
- package/src/commandPaletteConfig.js +9 -0
- package/src/comments/auth.js +2 -1
- package/src/comments/ui/AuthModal.jsx +114 -0
- package/src/comments/ui/CommentWindow.jsx +329 -0
- package/src/comments/ui/CommentsDrawer.jsx +102 -0
- package/src/comments/ui/Composer.jsx +64 -0
- package/src/comments/ui/authModal.test.js +1 -1
- package/src/comments/ui/commentWindow.js +16 -17
- package/src/comments/ui/commentsDrawer.js +25 -26
- package/src/comments/ui/composer.js +23 -24
- package/src/comments/ui/index.js +2 -3
- package/src/configSchema.js +59 -1
- package/src/configStore.js +161 -0
- package/src/core-ui-colors.css +12 -0
- package/src/devtools.js +17 -19
- package/src/devtools.test.js +18 -9
- package/src/featureFlags.js +12 -5
- package/src/fuzzySearch.test.js +10 -0
- package/src/index.js +15 -3
- package/src/lib/components/ui/alert/alert-action.jsx +11 -0
- package/src/lib/components/ui/alert/alert-description.jsx +11 -0
- package/src/lib/components/ui/alert/alert-title.jsx +11 -0
- package/src/lib/components/ui/alert/alert.jsx +25 -0
- package/src/lib/components/ui/alert/index.js +15 -15
- package/src/lib/components/ui/avatar/avatar-badge.jsx +22 -0
- package/src/lib/components/ui/avatar/avatar-fallback.jsx +18 -0
- package/src/lib/components/ui/avatar/avatar-group-count.jsx +19 -0
- package/src/lib/components/ui/avatar/avatar-group.jsx +19 -0
- package/src/lib/components/ui/avatar/avatar-image.jsx +15 -0
- package/src/lib/components/ui/avatar/avatar.jsx +19 -0
- package/src/lib/components/ui/avatar/index.js +20 -20
- package/src/lib/components/ui/badge/badge.jsx +31 -0
- package/src/lib/components/ui/badge/index.js +2 -2
- package/src/lib/components/ui/button/button.jsx +100 -0
- package/src/lib/components/ui/button/index.js +9 -9
- package/src/lib/components/ui/card/card-action.jsx +11 -0
- package/src/lib/components/ui/card/card-content.jsx +11 -0
- package/src/lib/components/ui/card/card-description.jsx +11 -0
- package/src/lib/components/ui/card/card-footer.jsx +11 -0
- package/src/lib/components/ui/card/card-header.jsx +19 -0
- package/src/lib/components/ui/card/card-title.jsx +11 -0
- package/src/lib/components/ui/card/card.jsx +17 -0
- package/src/lib/components/ui/card/index.js +23 -23
- package/src/lib/components/ui/checkbox/checkbox.jsx +29 -0
- package/src/lib/components/ui/checkbox/index.js +5 -5
- package/src/lib/components/ui/collapsible/collapsible-content.jsx +7 -0
- package/src/lib/components/ui/collapsible/collapsible-trigger.jsx +7 -0
- package/src/lib/components/ui/collapsible/collapsible.jsx +7 -0
- package/src/lib/components/ui/collapsible/index.js +11 -11
- package/src/lib/components/ui/dialog/dialog-close.jsx +7 -0
- package/src/lib/components/ui/dialog/dialog-content.jsx +34 -0
- package/src/lib/components/ui/dialog/dialog-description.jsx +15 -0
- package/src/lib/components/ui/dialog/dialog-footer.jsx +23 -0
- package/src/lib/components/ui/dialog/dialog-header.jsx +11 -0
- package/src/lib/components/ui/dialog/dialog-overlay.jsx +15 -0
- package/src/lib/components/ui/dialog/dialog-portal.jsx +4 -0
- package/src/lib/components/ui/dialog/dialog-title.jsx +15 -0
- package/src/lib/components/ui/dialog/dialog-trigger.jsx +7 -0
- package/src/lib/components/ui/dialog/dialog.jsx +4 -0
- package/src/lib/components/ui/dialog/index.js +32 -32
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-checkbox-group.jsx +8 -0
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-checkbox-item.jsx +30 -0
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-content.jsx +22 -0
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-group-heading.jsx +16 -0
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-group.jsx +7 -0
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-item.jsx +20 -0
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-label.jsx +17 -0
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-portal.jsx +4 -0
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-radio-group.jsx +7 -0
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-radio-item.jsx +29 -0
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-separator.jsx +15 -0
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-shortcut.jsx +16 -0
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-content.jsx +15 -0
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-trigger.jsx +23 -0
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-sub.jsx +4 -0
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-trigger.jsx +7 -0
- package/src/lib/components/ui/dropdown-menu/dropdown-menu.jsx +4 -0
- package/src/lib/components/ui/dropdown-menu/index.js +52 -52
- package/src/lib/components/ui/input/index.js +5 -5
- package/src/lib/components/ui/input/input.jsx +19 -0
- package/src/lib/components/ui/label/index.js +5 -5
- package/src/lib/components/ui/label/label.jsx +19 -0
- package/src/lib/components/ui/panel/index.js +21 -21
- package/src/lib/components/ui/panel/panel-body.jsx +11 -0
- package/src/lib/components/ui/panel/panel-close.jsx +16 -0
- package/src/lib/components/ui/panel/panel-content.jsx +29 -0
- package/src/lib/components/ui/panel/panel-footer.jsx +11 -0
- package/src/lib/components/ui/panel/panel-header.jsx +11 -0
- package/src/lib/components/ui/panel/panel-title.jsx +12 -0
- package/src/lib/components/ui/panel/panel.jsx +4 -0
- package/src/lib/components/ui/popover/index.js +26 -26
- package/src/lib/components/ui/popover/popover-close.jsx +7 -0
- package/src/lib/components/ui/popover/popover-content.jsx +22 -0
- package/src/lib/components/ui/popover/popover-description.jsx +11 -0
- package/src/lib/components/ui/popover/popover-header.jsx +11 -0
- package/src/lib/components/ui/popover/popover-portal.jsx +4 -0
- package/src/lib/components/ui/popover/popover-title.jsx +11 -0
- package/src/lib/components/ui/popover/popover-trigger.jsx +8 -0
- package/src/lib/components/ui/popover/popover.jsx +4 -0
- package/src/lib/components/ui/searchable-list.jsx +160 -0
- package/src/lib/components/ui/select/index.js +35 -35
- package/src/lib/components/ui/select/select-content.jsx +30 -0
- package/src/lib/components/ui/select/select-group-heading.jsx +17 -0
- package/src/lib/components/ui/select/select-group.jsx +15 -0
- package/src/lib/components/ui/select/select-item.jsx +26 -0
- package/src/lib/components/ui/select/select-label.jsx +11 -0
- package/src/lib/components/ui/select/select-portal.jsx +4 -0
- package/src/lib/components/ui/select/select-scroll-down-button.jsx +18 -0
- package/src/lib/components/ui/select/select-scroll-up-button.jsx +18 -0
- package/src/lib/components/ui/select/select-separator.jsx +15 -0
- package/src/lib/components/ui/select/select-trigger.jsx +25 -0
- package/src/lib/components/ui/select/select.jsx +4 -0
- package/src/lib/components/ui/separator/index.js +5 -5
- package/src/lib/components/ui/separator/separator.jsx +22 -0
- package/src/lib/components/ui/sheet/index.js +32 -32
- package/src/lib/components/ui/sheet/sheet-close.jsx +7 -0
- package/src/lib/components/ui/sheet/sheet-content.jsx +35 -0
- package/src/lib/components/ui/sheet/sheet-description.jsx +15 -0
- package/src/lib/components/ui/sheet/sheet-footer.jsx +11 -0
- package/src/lib/components/ui/sheet/sheet-header.jsx +11 -0
- package/src/lib/components/ui/sheet/sheet-overlay.jsx +15 -0
- package/src/lib/components/ui/sheet/sheet-portal.jsx +4 -0
- package/src/lib/components/ui/sheet/sheet-title.jsx +15 -0
- package/src/lib/components/ui/sheet/sheet-trigger.jsx +7 -0
- package/src/lib/components/ui/sheet/sheet.jsx +4 -0
- package/src/lib/components/ui/textarea/index.js +5 -5
- package/src/lib/components/ui/textarea/textarea.jsx +18 -0
- package/src/lib/components/ui/toggle/index.js +6 -9
- package/src/lib/components/ui/toggle/toggle.jsx +36 -0
- package/src/lib/components/ui/toggle-group/index.js +8 -8
- package/src/lib/components/ui/toggle-group/toggle-group-item.jsx +29 -0
- package/src/lib/components/ui/toggle-group/toggle-group.jsx +43 -0
- package/src/lib/components/ui/tooltip/index.js +3 -3
- package/src/lib/components/ui/tooltip/tooltip-content.jsx +21 -0
- package/src/lib/components/ui/tooltip/tooltip-trigger.jsx +23 -0
- package/src/lib/components/ui/tooltip/tooltip.jsx +11 -0
- package/src/lib/components/ui/trigger-button/index.js +3 -3
- package/src/lib/components/ui/trigger-button/trigger-button.css +38 -0
- package/src/lib/components/ui/trigger-button/trigger-button.jsx +63 -0
- package/src/logger/devLogger.js +238 -0
- package/src/logger/devLogger.test.js +193 -0
- package/src/modes.test.js +4 -4
- package/src/mountStoryboardCore.js +133 -35
- package/src/paletteProviders.js +3 -0
- package/src/paletteProviders.test.js +2 -2
- package/src/server/index.js +104 -40
- package/src/sidepanel.css +214 -0
- package/src/smoothCorners.js +1 -1
- package/src/styles/tailwind.css +1 -1
- package/src/svelte-plugin-ui/__tests__/ModeSwitch.test.ts +8 -8
- package/src/svelte-plugin-ui/__tests__/ToolbarShell.test.ts +11 -10
- package/src/svelte-plugin-ui/components/Icon.css +11 -0
- package/src/svelte-plugin-ui/components/Icon.jsx +281 -0
- package/src/svelte-plugin-ui/components/ModeSwitch.css +90 -0
- package/src/svelte-plugin-ui/components/ModeSwitch.jsx +47 -0
- package/src/svelte-plugin-ui/components/ToolbarShell.css +80 -0
- package/src/svelte-plugin-ui/components/ToolbarShell.jsx +84 -0
- package/src/svelte-plugin-ui/components/Viewfinder.css +412 -0
- package/src/svelte-plugin-ui/components/Viewfinder.jsx +513 -0
- package/src/svelte-plugin-ui/mount.ts +12 -16
- package/src/toolRegistry.js +4 -4
- package/src/toolbarConfigStore.js +30 -0
- package/src/tools/handlers/autosync.js +1 -1
- package/src/tools/handlers/canvasAddWidget.js +1 -1
- package/src/tools/handlers/canvasAgents.js +20 -0
- package/src/tools/handlers/canvasToolbar.js +8 -8
- package/src/tools/handlers/commandPalette.js +9 -0
- package/src/tools/handlers/comments.js +2 -2
- package/src/tools/handlers/create.js +1 -1
- package/src/tools/handlers/devtools.js +19 -3
- package/src/tools/handlers/devtools.test.js +38 -0
- package/src/tools/handlers/featureFlags.js +1 -1
- package/src/tools/handlers/flows.js +3 -3
- package/src/tools/handlers/hideChrome.js +9 -0
- package/src/tools/handlers/paletteTheme.js +35 -0
- package/src/tools/handlers/theme.js +1 -1
- package/src/tools/registry.js +4 -1
- package/src/tools/surfaces/commandList.js +3 -3
- package/src/tools/surfaces/mainToolbar.js +3 -3
- package/src/tools/surfaces/registry.js +4 -4
- package/src/ui/design-modes.ts +2 -2
- package/src/ui/viewfinder.ts +1 -1
- package/src/vite/server-plugin.js +243 -61
- package/src/workshop/features/createCanvas/CreateCanvasForm.jsx +260 -0
- package/src/workshop/features/createCanvas/index.js +1 -1
- package/src/workshop/features/createFlow/CreateFlowForm.jsx +334 -0
- package/src/workshop/features/createFlow/index.js +1 -1
- package/src/workshop/features/createPage/CreatePageForm.jsx +304 -0
- package/src/workshop/features/createPage/index.js +1 -1
- package/src/workshop/features/createPrototype/CreatePrototypeForm.jsx +289 -0
- package/src/workshop/features/createPrototype/index.js +1 -1
- package/src/workshop/features/createPrototype/server.js +98 -0
- package/src/workshop/features/createStory/CreateStoryForm.jsx +208 -0
- package/src/workshop/features/createStory/index.js +1 -1
- package/src/workshop/ui/WorkshopPanel.jsx +98 -0
- package/src/workshop/ui/mount.ts +1 -1
- package/src/worktree/port.js +48 -0
- package/src/worktree/serverRegistry.js +120 -0
- package/toolbar.config.json +93 -42
- package/widgets.config.json +580 -12
- package/scaffold/commandpalette.config.json +0 -4
- package/scaffold/toolbar.config.json +0 -4
- package/src/ActionMenuButton.svelte +0 -119
- package/src/AutosyncMenuButton.svelte +0 -397
- package/src/CanvasCreateMenu.svelte +0 -295
- package/src/CanvasSnap.svelte +0 -87
- package/src/CanvasUndoRedo.svelte +0 -108
- package/src/CanvasZoomControl.svelte +0 -111
- package/src/CanvasZoomToFit.svelte +0 -52
- package/src/CommandMenu.svelte +0 -249
- package/src/CommandPalette.svelte +0 -33
- package/src/CommentsMenuButton.svelte +0 -53
- package/src/CoreUIBar.svelte +0 -847
- package/src/CreateMenuButton.svelte +0 -133
- package/src/DocPanel.svelte +0 -299
- package/src/InspectorPanel.svelte +0 -745
- package/src/PwaInstallBanner.svelte +0 -124
- package/src/SidePanel.svelte +0 -480
- package/src/ThemeMenuButton.svelte +0 -132
- package/src/comments/ui/AuthModal.svelte +0 -108
- package/src/comments/ui/CommentWindow.svelte +0 -333
- package/src/comments/ui/CommentsDrawer.svelte +0 -96
- package/src/comments/ui/Composer.svelte +0 -65
- package/src/lib/components/ui/alert/alert-action.svelte +0 -19
- package/src/lib/components/ui/alert/alert-description.svelte +0 -22
- package/src/lib/components/ui/alert/alert-title.svelte +0 -22
- package/src/lib/components/ui/alert/alert.svelte +0 -38
- package/src/lib/components/ui/avatar/avatar-badge.svelte +0 -25
- package/src/lib/components/ui/avatar/avatar-fallback.svelte +0 -20
- package/src/lib/components/ui/avatar/avatar-group-count.svelte +0 -22
- package/src/lib/components/ui/avatar/avatar-group.svelte +0 -22
- package/src/lib/components/ui/avatar/avatar-image.svelte +0 -17
- package/src/lib/components/ui/avatar/avatar.svelte +0 -24
- package/src/lib/components/ui/badge/badge.svelte +0 -44
- package/src/lib/components/ui/button/button.svelte +0 -108
- package/src/lib/components/ui/card/card-action.svelte +0 -21
- package/src/lib/components/ui/card/card-content.svelte +0 -19
- package/src/lib/components/ui/card/card-description.svelte +0 -19
- package/src/lib/components/ui/card/card-footer.svelte +0 -18
- package/src/lib/components/ui/card/card-header.svelte +0 -21
- package/src/lib/components/ui/card/card-title.svelte +0 -14
- package/src/lib/components/ui/card/card.svelte +0 -21
- package/src/lib/components/ui/checkbox/checkbox.svelte +0 -39
- package/src/lib/components/ui/collapsible/collapsible-content.svelte +0 -7
- package/src/lib/components/ui/collapsible/collapsible-trigger.svelte +0 -7
- package/src/lib/components/ui/collapsible/collapsible.svelte +0 -11
- package/src/lib/components/ui/dialog/dialog-close.svelte +0 -11
- package/src/lib/components/ui/dialog/dialog-content.svelte +0 -42
- package/src/lib/components/ui/dialog/dialog-description.svelte +0 -17
- package/src/lib/components/ui/dialog/dialog-footer.svelte +0 -29
- package/src/lib/components/ui/dialog/dialog-header.svelte +0 -19
- package/src/lib/components/ui/dialog/dialog-overlay.svelte +0 -17
- package/src/lib/components/ui/dialog/dialog-portal.svelte +0 -7
- package/src/lib/components/ui/dialog/dialog-title.svelte +0 -17
- package/src/lib/components/ui/dialog/dialog-trigger.svelte +0 -11
- package/src/lib/components/ui/dialog/dialog.svelte +0 -7
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-checkbox-group.svelte +0 -16
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +0 -40
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-content.svelte +0 -27
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte +0 -18
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-group.svelte +0 -7
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-item.svelte +0 -24
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-label.svelte +0 -20
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-portal.svelte +0 -7
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte +0 -16
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +0 -34
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-separator.svelte +0 -17
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte +0 -19
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte +0 -17
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +0 -27
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-sub.svelte +0 -7
- package/src/lib/components/ui/dropdown-menu/dropdown-menu-trigger.svelte +0 -7
- package/src/lib/components/ui/dropdown-menu/dropdown-menu.svelte +0 -7
- package/src/lib/components/ui/input/input.svelte +0 -40
- package/src/lib/components/ui/label/label.svelte +0 -20
- package/src/lib/components/ui/panel/panel-body.svelte +0 -13
- package/src/lib/components/ui/panel/panel-close.svelte +0 -16
- package/src/lib/components/ui/panel/panel-content.svelte +0 -33
- package/src/lib/components/ui/panel/panel-footer.svelte +0 -13
- package/src/lib/components/ui/panel/panel-header.svelte +0 -16
- package/src/lib/components/ui/panel/panel-title.svelte +0 -14
- package/src/lib/components/ui/panel/panel.svelte +0 -15
- package/src/lib/components/ui/popover/popover-close.svelte +0 -7
- package/src/lib/components/ui/popover/popover-content.svelte +0 -27
- package/src/lib/components/ui/popover/popover-description.svelte +0 -19
- package/src/lib/components/ui/popover/popover-header.svelte +0 -19
- package/src/lib/components/ui/popover/popover-portal.svelte +0 -7
- package/src/lib/components/ui/popover/popover-title.svelte +0 -19
- package/src/lib/components/ui/popover/popover-trigger.svelte +0 -17
- package/src/lib/components/ui/popover/popover.svelte +0 -7
- package/src/lib/components/ui/select/select-content.svelte +0 -40
- package/src/lib/components/ui/select/select-group-heading.svelte +0 -19
- package/src/lib/components/ui/select/select-group.svelte +0 -17
- package/src/lib/components/ui/select/select-item.svelte +0 -38
- package/src/lib/components/ui/select/select-label.svelte +0 -18
- package/src/lib/components/ui/select/select-portal.svelte +0 -7
- package/src/lib/components/ui/select/select-scroll-down-button.svelte +0 -20
- package/src/lib/components/ui/select/select-scroll-up-button.svelte +0 -20
- package/src/lib/components/ui/select/select-separator.svelte +0 -17
- package/src/lib/components/ui/select/select-trigger.svelte +0 -27
- package/src/lib/components/ui/select/select.svelte +0 -11
- package/src/lib/components/ui/separator/separator.svelte +0 -23
- package/src/lib/components/ui/sheet/sheet-close.svelte +0 -7
- package/src/lib/components/ui/sheet/sheet-content.svelte +0 -43
- package/src/lib/components/ui/sheet/sheet-description.svelte +0 -17
- package/src/lib/components/ui/sheet/sheet-footer.svelte +0 -18
- package/src/lib/components/ui/sheet/sheet-header.svelte +0 -19
- package/src/lib/components/ui/sheet/sheet-overlay.svelte +0 -17
- package/src/lib/components/ui/sheet/sheet-portal.svelte +0 -7
- package/src/lib/components/ui/sheet/sheet-title.svelte +0 -17
- package/src/lib/components/ui/sheet/sheet-trigger.svelte +0 -7
- package/src/lib/components/ui/sheet/sheet.svelte +0 -7
- package/src/lib/components/ui/textarea/textarea.svelte +0 -21
- package/src/lib/components/ui/toggle/toggle.svelte +0 -45
- package/src/lib/components/ui/toggle-group/toggle-group-item.svelte +0 -35
- package/src/lib/components/ui/toggle-group/toggle-group.svelte +0 -63
- package/src/lib/components/ui/tooltip/tooltip-content.svelte +0 -24
- package/src/lib/components/ui/tooltip/tooltip-trigger.svelte +0 -27
- package/src/lib/components/ui/tooltip/tooltip.svelte +0 -9
- package/src/lib/components/ui/trigger-button/trigger-button.svelte +0 -106
- package/src/svelte-plugin-ui/components/Icon.svelte +0 -181
- package/src/svelte-plugin-ui/components/ModeSwitch.svelte +0 -121
- package/src/svelte-plugin-ui/components/ToolbarShell.svelte +0 -150
- package/src/svelte-plugin-ui/components/Viewfinder.svelte +0 -1001
- package/src/tools/handlers/docs.js +0 -11
- package/src/workshop/features/createCanvas/CreateCanvasForm.svelte +0 -139
- package/src/workshop/features/createFlow/CreateFlowForm.svelte +0 -314
- package/src/workshop/features/createPage/CreatePageForm.svelte +0 -249
- package/src/workshop/features/createPrototype/CreatePrototypeForm.svelte +0 -287
- package/src/workshop/features/createStory/CreateStoryForm.svelte +0 -161
- package/src/workshop/ui/WorkshopPanel.svelte +0 -97
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canvas agents tool module — dropdown menu for adding agent widgets to canvas.
|
|
3
|
+
*
|
|
4
|
+
* Renders agent options from canvas.agents config. Only active on canvas pages
|
|
5
|
+
* when agents are configured.
|
|
6
|
+
*/
|
|
7
|
+
export const id = 'canvas-agents'
|
|
8
|
+
|
|
9
|
+
export async function guard(_ctx) {
|
|
10
|
+
void _ctx
|
|
11
|
+
const { getConfig } = await import('@dfosco/storyboard-core')
|
|
12
|
+
const canvasConfig = getConfig('canvas')
|
|
13
|
+
const agents = canvasConfig?.agents
|
|
14
|
+
return agents && typeof agents === 'object' && Object.keys(agents).length > 0
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export async function component() {
|
|
18
|
+
const mod = await import('../../CanvasAgentsMenu.jsx')
|
|
19
|
+
return mod.default
|
|
20
|
+
}
|
|
@@ -5,13 +5,13 @@
|
|
|
5
5
|
* handler. The component() export returns the component matching the tool's
|
|
6
6
|
* render type, resolved at load time via the toolConfig passed to component().
|
|
7
7
|
*/
|
|
8
|
-
|
|
8
|
+
import { getCanvasZoom } from '@dfosco/storyboard-core'
|
|
9
9
|
|
|
10
|
-
const
|
|
11
|
-
const ZOOM_MIN = 25
|
|
12
|
-
const ZOOM_MAX = 200
|
|
10
|
+
export const id = 'canvas-toolbar'
|
|
13
11
|
|
|
14
12
|
export async function handler() {
|
|
13
|
+
const { min: ZOOM_MIN, max: ZOOM_MAX, step: ZOOM_STEP } = getCanvasZoom()
|
|
14
|
+
|
|
15
15
|
return {
|
|
16
16
|
zoomIn(currentZoom) {
|
|
17
17
|
const next = Math.min(ZOOM_MAX, currentZoom + ZOOM_STEP)
|
|
@@ -42,10 +42,10 @@ export async function handler() {
|
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
const componentMap = {
|
|
45
|
-
'canvas-zoom': () => import('../../CanvasZoomControl.
|
|
46
|
-
'canvas-zoom-to-fit': () => import('../../CanvasZoomToFit.
|
|
47
|
-
'canvas-undo-redo': () => import('../../CanvasUndoRedo.
|
|
48
|
-
'canvas-snap': () => import('../../CanvasSnap.
|
|
45
|
+
'canvas-zoom': () => import('../../CanvasZoomControl.jsx'),
|
|
46
|
+
'canvas-zoom-to-fit': () => import('../../CanvasZoomToFit.jsx'),
|
|
47
|
+
'canvas-undo-redo': () => import('../../CanvasUndoRedo.jsx'),
|
|
48
|
+
'canvas-snap': () => import('../../CanvasSnap.jsx'),
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
export async function component(renderType) {
|
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
export const id = 'comments'
|
|
7
7
|
|
|
8
8
|
export async function guard() {
|
|
9
|
-
const { isCommentsEnabled } = await import('
|
|
9
|
+
const { isCommentsEnabled } = await import('@dfosco/storyboard-core')
|
|
10
10
|
return isCommentsEnabled()
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
export async function component() {
|
|
14
|
-
const mod = await import('../../CommentsMenuButton.
|
|
14
|
+
const mod = await import('../../CommentsMenuButton.jsx')
|
|
15
15
|
return mod.default
|
|
16
16
|
}
|
|
@@ -19,11 +19,11 @@ export async function handler(ctx) {
|
|
|
19
19
|
let commentsAuth = null
|
|
20
20
|
let prodMode = null
|
|
21
21
|
let ff = null
|
|
22
|
-
try { loader = await import('
|
|
23
|
-
try { hm = await import('
|
|
22
|
+
try { loader = await import('@dfosco/storyboard-core') } catch { /* optional */ }
|
|
23
|
+
try { hm = await import('@dfosco/storyboard-core') } catch { /* optional */ }
|
|
24
24
|
try { commentsAuth = await import('../../comments/auth.js') } catch { /* optional */ }
|
|
25
25
|
try { prodMode = await import('../../prodMode.js') } catch { /* optional */ }
|
|
26
|
-
try { ff = await import('
|
|
26
|
+
try { ff = await import('@dfosco/storyboard-core') } catch { /* optional */ }
|
|
27
27
|
|
|
28
28
|
return {
|
|
29
29
|
getChildren: () => {
|
|
@@ -100,6 +100,22 @@ export async function handler(ctx) {
|
|
|
100
100
|
execute: () => { ff.toggleFlag('dev-logs') },
|
|
101
101
|
})
|
|
102
102
|
}
|
|
103
|
+
if (ff) {
|
|
104
|
+
children.push({
|
|
105
|
+
id: 'core/canvas-auto-reload',
|
|
106
|
+
label: 'Canvas auto-reload',
|
|
107
|
+
type: 'toggle',
|
|
108
|
+
active: ff.getFlag('canvas-auto-reload'),
|
|
109
|
+
execute: () => { ff.toggleFlag('canvas-auto-reload') },
|
|
110
|
+
})
|
|
111
|
+
children.push({
|
|
112
|
+
id: 'core/prototype-auto-reload',
|
|
113
|
+
label: 'Prototype auto-reload',
|
|
114
|
+
type: 'toggle',
|
|
115
|
+
active: ff.getFlag('prototype-auto-reload'),
|
|
116
|
+
execute: () => { ff.toggleFlag('prototype-auto-reload') },
|
|
117
|
+
})
|
|
118
|
+
}
|
|
103
119
|
return children
|
|
104
120
|
},
|
|
105
121
|
}
|
|
@@ -4,6 +4,14 @@ function getProdModeItem(children) {
|
|
|
4
4
|
return children.find(item => item.id === 'core/prod-mode')
|
|
5
5
|
}
|
|
6
6
|
|
|
7
|
+
function getCanvasAutoReloadItem(children) {
|
|
8
|
+
return children.find(item => item.id === 'core/canvas-auto-reload')
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
function getPrototypeAutoReloadItem(children) {
|
|
12
|
+
return children.find(item => item.id === 'core/prototype-auto-reload')
|
|
13
|
+
}
|
|
14
|
+
|
|
7
15
|
describe('devtools production mode toggle', () => {
|
|
8
16
|
const originalLocalDev = window.__SB_LOCAL_DEV__
|
|
9
17
|
|
|
@@ -47,3 +55,33 @@ describe('devtools production mode toggle', () => {
|
|
|
47
55
|
expect(prodModeItem).toBeUndefined()
|
|
48
56
|
})
|
|
49
57
|
})
|
|
58
|
+
|
|
59
|
+
describe('devtools canvas auto-reload toggle', () => {
|
|
60
|
+
beforeEach(() => {
|
|
61
|
+
window.history.replaceState({}, '', '/')
|
|
62
|
+
})
|
|
63
|
+
|
|
64
|
+
it('shows the toggle as inactive by default (guard ON)', async () => {
|
|
65
|
+
const devtools = await createDevtoolsHandler({})
|
|
66
|
+
const item = getCanvasAutoReloadItem(devtools.getChildren())
|
|
67
|
+
|
|
68
|
+
expect(item).toBeTruthy()
|
|
69
|
+
expect(item.type).toBe('toggle')
|
|
70
|
+
expect(item.active).toBe(false)
|
|
71
|
+
})
|
|
72
|
+
})
|
|
73
|
+
|
|
74
|
+
describe('devtools prototype auto-reload toggle', () => {
|
|
75
|
+
beforeEach(() => {
|
|
76
|
+
window.history.replaceState({}, '', '/')
|
|
77
|
+
})
|
|
78
|
+
|
|
79
|
+
it('shows the toggle as active by default (reloads enabled)', async () => {
|
|
80
|
+
const devtools = await createDevtoolsHandler({})
|
|
81
|
+
const item = getPrototypeAutoReloadItem(devtools.getChildren())
|
|
82
|
+
|
|
83
|
+
expect(item).toBeTruthy()
|
|
84
|
+
expect(item.type).toBe('toggle')
|
|
85
|
+
expect(item.active).toBe(true)
|
|
86
|
+
})
|
|
87
|
+
})
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
export const id = 'flows'
|
|
8
8
|
|
|
9
9
|
export async function handler(ctx) {
|
|
10
|
-
const loader = await import('
|
|
11
|
-
const vf =
|
|
10
|
+
const loader = await import('@dfosco/storyboard-core')
|
|
11
|
+
const vf = loader
|
|
12
12
|
const { basePath = '/' } = ctx
|
|
13
13
|
|
|
14
14
|
return {
|
|
@@ -63,6 +63,6 @@ export async function handler(ctx) {
|
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
export async function component() {
|
|
66
|
-
const mod = await import('../../ActionMenuButton.
|
|
66
|
+
const mod = await import('../../ActionMenuButton.jsx')
|
|
67
67
|
return mod.default
|
|
68
68
|
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Palette Theme tool — theme submenu for the command palette.
|
|
3
|
+
*
|
|
4
|
+
* Returns theme options as children, plus a "Theme settings" entry
|
|
5
|
+
* that opens the toolbar Theme menu with the settings submenu expanded.
|
|
6
|
+
*/
|
|
7
|
+
export const id = 'palette-theme'
|
|
8
|
+
|
|
9
|
+
export async function handler() {
|
|
10
|
+
const { themeState, setTheme, THEMES } = await import('@dfosco/storyboard-core')
|
|
11
|
+
|
|
12
|
+
return {
|
|
13
|
+
getChildren() {
|
|
14
|
+
const current = themeState.theme
|
|
15
|
+
return [
|
|
16
|
+
// Theme options
|
|
17
|
+
...THEMES.map(t => ({
|
|
18
|
+
id: `theme:${t.value}`,
|
|
19
|
+
label: t.name,
|
|
20
|
+
type: 'toggle',
|
|
21
|
+
active: current === t.value,
|
|
22
|
+
execute: () => setTheme(t.value),
|
|
23
|
+
})),
|
|
24
|
+
// "Theme settings" opens the toolbar theme menu at the settings submenu
|
|
25
|
+
{
|
|
26
|
+
id: 'theme:settings',
|
|
27
|
+
label: 'Theme settings',
|
|
28
|
+
execute: () => {
|
|
29
|
+
document.dispatchEvent(new CustomEvent('storyboard:open-theme-settings'))
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
]
|
|
33
|
+
},
|
|
34
|
+
}
|
|
35
|
+
}
|
package/src/tools/registry.js
CHANGED
|
@@ -7,16 +7,19 @@
|
|
|
7
7
|
export const coreHandlers = {
|
|
8
8
|
create: () => import('./handlers/create.js'),
|
|
9
9
|
theme: () => import('./handlers/theme.js'),
|
|
10
|
+
'palette-theme': () => import('./handlers/paletteTheme.js'),
|
|
10
11
|
comments: () => import('./handlers/comments.js'),
|
|
11
12
|
flows: () => import('./handlers/flows.js'),
|
|
12
|
-
docs: () => import('./handlers/docs.js'),
|
|
13
13
|
inspector: () => import('./handlers/inspector.js'),
|
|
14
14
|
devtools: () => import('./handlers/devtools.js'),
|
|
15
15
|
'feature-flags': () => import('./handlers/featureFlags.js'),
|
|
16
16
|
autosync: () => import('./handlers/autosync.js'),
|
|
17
17
|
'canvas-add-widget': () => import('./handlers/canvasAddWidget.js'),
|
|
18
|
+
'canvas-agents': () => import('./handlers/canvasAgents.js'),
|
|
18
19
|
'canvas-toolbar': () => import('./handlers/canvasToolbar.js'),
|
|
19
20
|
'hide-toolbars': () => import('./handlers/hideToolbars.js'),
|
|
21
|
+
'command-palette': () => import('./handlers/commandPalette.js'),
|
|
22
|
+
'hide-chrome': () => import('./handlers/hideChrome.js'),
|
|
20
23
|
}
|
|
21
24
|
|
|
22
25
|
// Keep legacy export name for backward compatibility
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Command
|
|
2
|
+
* Command Palette surface — items rendered inside the ⌘K command palette.
|
|
3
3
|
*
|
|
4
4
|
* Tools here appear as menu items, submenus, or links within
|
|
5
5
|
* the command palette. They don't render as standalone buttons.
|
|
6
6
|
*/
|
|
7
|
-
export const id = 'command-
|
|
8
|
-
export const label = 'Command
|
|
7
|
+
export const id = 'command-palette'
|
|
8
|
+
export const label = 'Command Palette'
|
|
9
9
|
export const position = 'overlay'
|
|
10
10
|
export const renderTypes = ['link', 'submenu']
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Command Toolbar surface — the primary floating bar at bottom-right.
|
|
3
3
|
*
|
|
4
4
|
* Supports all standard render types. Tools appear in reverse JSON order
|
|
5
5
|
* (first in config = leftmost in toolbar). The command menu button is
|
|
6
6
|
* always the rightmost item and is not a tool.
|
|
7
7
|
*/
|
|
8
|
-
export const id = '
|
|
9
|
-
export const label = '
|
|
8
|
+
export const id = 'command-toolbar'
|
|
9
|
+
export const label = 'Command Toolbar'
|
|
10
10
|
export const position = 'bottom-right'
|
|
11
11
|
export const renderTypes = ['button', 'menu', 'sidepanel', 'separator']
|
|
@@ -7,13 +7,13 @@
|
|
|
7
7
|
* To add a new surface:
|
|
8
8
|
* 1. Create a definition file in this directory
|
|
9
9
|
* 2. Export it from this registry
|
|
10
|
-
* 3. Add rendering logic in CoreUIBar.
|
|
10
|
+
* 3. Add rendering logic in CoreUIBar.jsx
|
|
11
11
|
*/
|
|
12
|
-
export { id as
|
|
12
|
+
export { id as commandToolbar } from './mainToolbar.js'
|
|
13
13
|
export { id as canvasToolbar } from './canvasToolbar.js'
|
|
14
|
-
export { id as
|
|
14
|
+
export { id as commandPalette } from './commandList.js'
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* All surface IDs for validation.
|
|
18
18
|
*/
|
|
19
|
-
export const SURFACE_IDS = ['
|
|
19
|
+
export const SURFACE_IDS = ['command-toolbar', 'canvas-toolbar', 'command-palette']
|
package/src/ui/design-modes.ts
CHANGED
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
14
|
import { mountSveltePlugin, type PluginHandle } from '../svelte-plugin-ui/mount.js'
|
|
15
|
-
import ModeSwitch from '../svelte-plugin-ui/components/ModeSwitch.
|
|
15
|
+
import ModeSwitch from '../svelte-plugin-ui/components/ModeSwitch.jsx'
|
|
16
16
|
// TODO: Re-enable after migrating devtools features into tool registry
|
|
17
|
-
// import ToolbarShell from '../svelte-plugin-ui/components/ToolbarShell.
|
|
17
|
+
// import ToolbarShell from '../svelte-plugin-ui/components/ToolbarShell.jsx'
|
|
18
18
|
|
|
19
19
|
let handles: PluginHandle[] = []
|
|
20
20
|
|
package/src/ui/viewfinder.ts
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
import { mountSveltePlugin, type PluginHandle } from '../svelte-plugin-ui/mount.js'
|
|
18
|
-
import Viewfinder from '../svelte-plugin-ui/components/Viewfinder.
|
|
18
|
+
import Viewfinder from '../svelte-plugin-ui/components/Viewfinder.jsx'
|
|
19
19
|
|
|
20
20
|
export interface ViewfinderProps {
|
|
21
21
|
title?: string
|