@flowdrop/flowdrop 1.5.0 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +46 -47
- package/dist/adapters/WorkflowAdapter.d.ts +1 -1
- package/dist/adapters/WorkflowAdapter.js +26 -26
- package/dist/adapters/agentspec/AgentSpecAdapter.d.ts +2 -2
- package/dist/adapters/agentspec/AgentSpecAdapter.js +122 -133
- package/dist/adapters/agentspec/agentAdapter.d.ts +2 -2
- package/dist/adapters/agentspec/agentAdapter.js +10 -10
- package/dist/adapters/agentspec/autoLayout.d.ts +1 -1
- package/dist/adapters/agentspec/autoLayout.js +7 -9
- package/dist/adapters/agentspec/componentTypeDefaults.d.ts +1 -1
- package/dist/adapters/agentspec/componentTypeDefaults.js +120 -120
- package/dist/adapters/agentspec/defaultNodeTypes.d.ts +2 -2
- package/dist/adapters/agentspec/defaultNodeTypes.js +307 -307
- package/dist/adapters/agentspec/index.d.ts +10 -10
- package/dist/adapters/agentspec/index.js +6 -6
- package/dist/adapters/agentspec/validator.d.ts +2 -2
- package/dist/adapters/agentspec/validator.js +20 -22
- package/dist/api/enhanced-client.d.ts +3 -3
- package/dist/api/enhanced-client.js +72 -73
- package/dist/chat/commandClassifier.js +6 -6
- package/dist/chat/index.d.ts +5 -5
- package/dist/chat/index.js +4 -4
- package/dist/chat/responseParser.d.ts +6 -6
- package/dist/chat/responseParser.js +28 -24
- package/dist/commands/batch.d.ts +1 -1
- package/dist/commands/batch.js +5 -7
- package/dist/commands/executor.d.ts +2 -2
- package/dist/commands/executor.js +320 -231
- package/dist/commands/index.d.ts +6 -6
- package/dist/commands/index.js +5 -5
- package/dist/commands/parser.d.ts +1 -1
- package/dist/commands/parser.js +91 -74
- package/dist/commands/positioner.d.ts +2 -2
- package/dist/commands/positioner.js +1 -1
- package/dist/commands/storeIntegration.svelte.d.ts +2 -2
- package/dist/commands/storeIntegration.svelte.js +5 -5
- package/dist/commands/types.d.ts +42 -42
- package/dist/commands/types.js +2 -2
- package/dist/components/App.svelte +240 -294
- package/dist/components/App.svelte.d.ts +9 -9
- package/dist/components/CanvasBanner.stories.svelte +10 -16
- package/dist/components/CanvasBanner.stories.svelte.d.ts +1 -1
- package/dist/components/CanvasBanner.svelte +2 -2
- package/dist/components/CanvasBanner.svelte.d.ts +1 -1
- package/dist/components/CanvasController.svelte +3 -4
- package/dist/components/ConfigForm.svelte +118 -256
- package/dist/components/ConfigForm.svelte.d.ts +2 -2
- package/dist/components/ConfigMappingRow.svelte +7 -9
- package/dist/components/ConfigMappingRow.svelte.d.ts +1 -1
- package/dist/components/ConfigModal.svelte +3 -3
- package/dist/components/ConfigModal.svelte.d.ts +1 -1
- package/dist/components/ConfigPanel.stories.svelte +19 -19
- package/dist/components/ConfigPanel.stories.svelte.d.ts +1 -1
- package/dist/components/ConfigPanel.svelte +9 -20
- package/dist/components/ConfigPanel.svelte.d.ts +1 -1
- package/dist/components/ConnectionLine.svelte +4 -4
- package/dist/components/EdgeRefresher.svelte +1 -1
- package/dist/components/FlowDropEdge.stories.svelte +110 -110
- package/dist/components/FlowDropEdge.svelte +9 -9
- package/dist/components/FlowDropEdge.svelte.d.ts +1 -1
- package/dist/components/FlowDropZone.svelte +6 -9
- package/dist/components/FlowDropZone.svelte.d.ts +1 -1
- package/dist/components/LoadingSpinner.stories.svelte +13 -13
- package/dist/components/LoadingSpinner.stories.svelte.d.ts +1 -1
- package/dist/components/LoadingSpinner.svelte +3 -3
- package/dist/components/LoadingSpinner.svelte.d.ts +1 -1
- package/dist/components/Logo.stories.svelte +4 -4
- package/dist/components/Logo.stories.svelte.d.ts +1 -1
- package/dist/components/Logo.svelte +3 -9
- package/dist/components/LogsSidebar.svelte +41 -48
- package/dist/components/LogsSidebar.svelte.d.ts +1 -1
- package/dist/components/MarkdownDisplay.stories.svelte +10 -14
- package/dist/components/MarkdownDisplay.stories.svelte.d.ts +1 -1
- package/dist/components/MarkdownDisplay.svelte +4 -6
- package/dist/components/Navbar.stories.svelte +19 -19
- package/dist/components/Navbar.stories.svelte.d.ts +1 -1
- package/dist/components/Navbar.svelte +28 -49
- package/dist/components/Navbar.svelte.d.ts +2 -2
- package/dist/components/NodeSidebar.svelte +42 -88
- package/dist/components/NodeSidebar.svelte.d.ts +1 -1
- package/dist/components/NodeStatusOverlay.stories.svelte +19 -31
- package/dist/components/NodeStatusOverlay.stories.svelte.d.ts +1 -1
- package/dist/components/NodeStatusOverlay.svelte +40 -55
- package/dist/components/NodeStatusOverlay.svelte.d.ts +3 -3
- package/dist/components/NodeSwapPicker.svelte +20 -64
- package/dist/components/NodeSwapPicker.svelte.d.ts +1 -1
- package/dist/components/PipelineStatus.svelte +63 -89
- package/dist/components/PipelineStatus.svelte.d.ts +4 -4
- package/dist/components/PortCoordinateTracker.svelte +5 -7
- package/dist/components/PortCoordinateTracker.svelte.d.ts +1 -1
- package/dist/components/PortMappingRow.svelte +20 -24
- package/dist/components/PortMappingRow.svelte.d.ts +2 -2
- package/dist/components/ReadOnlyDetails.svelte +1 -1
- package/dist/components/SchemaForm.stories.svelte +53 -53
- package/dist/components/SchemaForm.stories.svelte.d.ts +1 -1
- package/dist/components/SchemaForm.svelte +24 -51
- package/dist/components/SchemaForm.svelte.d.ts +2 -2
- package/dist/components/SettingsModal.svelte +6 -9
- package/dist/components/SettingsModal.svelte.d.ts +1 -1
- package/dist/components/SettingsPanel.svelte +138 -158
- package/dist/components/SettingsPanel.svelte.d.ts +1 -1
- package/dist/components/StatusIcon.stories.svelte +16 -29
- package/dist/components/StatusIcon.stories.svelte.d.ts +1 -1
- package/dist/components/StatusIcon.svelte +19 -19
- package/dist/components/StatusIcon.svelte.d.ts +2 -2
- package/dist/components/StatusLabel.stories.svelte +8 -8
- package/dist/components/StatusLabel.stories.svelte.d.ts +1 -1
- package/dist/components/SwapMappingEditor.svelte +35 -56
- package/dist/components/SwapMappingEditor.svelte.d.ts +2 -2
- package/dist/components/ThemeToggle.stories.svelte +10 -10
- package/dist/components/ThemeToggle.stories.svelte.d.ts +1 -1
- package/dist/components/ThemeToggle.svelte +22 -33
- package/dist/components/ThemeToggle.svelte.d.ts +1 -1
- package/dist/components/UniversalNode.svelte +29 -41
- package/dist/components/UniversalNode.svelte.d.ts +3 -3
- package/dist/components/WorkflowEditor.svelte +113 -168
- package/dist/components/WorkflowEditor.svelte.d.ts +4 -4
- package/dist/components/chat/AIChatPanel.svelte +272 -133
- package/dist/components/chat/AIChatPanel.svelte.d.ts +3 -3
- package/dist/components/chat/CommandPreview.svelte +74 -24
- package/dist/components/chat/CommandPreview.svelte.d.ts +1 -1
- package/dist/components/console/CommandConsole.stories.svelte +71 -53
- package/dist/components/console/CommandConsole.stories.svelte.d.ts +1 -1
- package/dist/components/console/CommandConsole.svelte +39 -35
- package/dist/components/console/CommandConsole.svelte.d.ts +2 -2
- package/dist/components/console/ConsoleAutocomplete.svelte +6 -3
- package/dist/components/console/ConsoleInput.svelte +148 -89
- package/dist/components/console/ConsoleInput.svelte.d.ts +1 -1
- package/dist/components/console/ConsoleOutput.svelte +5 -10
- package/dist/components/console/ConsoleOutput.svelte.d.ts +1 -1
- package/dist/components/console/formatters.d.ts +1 -1
- package/dist/components/console/formatters.js +27 -29
- package/dist/components/form/FormArray.svelte +75 -132
- package/dist/components/form/FormArray.svelte.d.ts +1 -1
- package/dist/components/form/FormAutocomplete.svelte +65 -108
- package/dist/components/form/FormAutocomplete.svelte.d.ts +1 -1
- package/dist/components/form/FormCheckboxGroup.stories.svelte +13 -16
- package/dist/components/form/FormCheckboxGroup.stories.svelte.d.ts +1 -1
- package/dist/components/form/FormCheckboxGroup.svelte +2 -2
- package/dist/components/form/FormCodeEditor.svelte +42 -56
- package/dist/components/form/FormField.svelte +79 -90
- package/dist/components/form/FormField.svelte.d.ts +2 -2
- package/dist/components/form/FormFieldLight.svelte +72 -88
- package/dist/components/form/FormFieldLight.svelte.d.ts +1 -1
- package/dist/components/form/FormFieldWrapper.stories.svelte +14 -14
- package/dist/components/form/FormFieldWrapper.stories.svelte.d.ts +1 -1
- package/dist/components/form/FormFieldWrapper.svelte +2 -9
- package/dist/components/form/FormFieldWrapper.svelte.d.ts +1 -1
- package/dist/components/form/FormFieldset.svelte +3 -3
- package/dist/components/form/FormFieldset.svelte.d.ts +2 -2
- package/dist/components/form/FormMarkdownEditor.svelte +123 -156
- package/dist/components/form/FormNumberField.stories.svelte +18 -18
- package/dist/components/form/FormNumberField.stories.svelte.d.ts +1 -1
- package/dist/components/form/FormNumberField.svelte +6 -6
- package/dist/components/form/FormRangeField.stories.svelte +13 -13
- package/dist/components/form/FormRangeField.stories.svelte.d.ts +1 -1
- package/dist/components/form/FormRangeField.svelte +4 -12
- package/dist/components/form/FormSelect.stories.svelte +21 -21
- package/dist/components/form/FormSelect.stories.svelte.d.ts +1 -1
- package/dist/components/form/FormSelect.svelte +5 -5
- package/dist/components/form/FormSelect.svelte.d.ts +1 -1
- package/dist/components/form/FormTemplateEditor.svelte +126 -175
- package/dist/components/form/FormTemplateEditor.svelte.d.ts +1 -1
- package/dist/components/form/FormTextField.stories.svelte +17 -23
- package/dist/components/form/FormTextField.stories.svelte.d.ts +1 -1
- package/dist/components/form/FormTextField.svelte +4 -4
- package/dist/components/form/FormTextarea.stories.svelte +18 -21
- package/dist/components/form/FormTextarea.stories.svelte.d.ts +1 -1
- package/dist/components/form/FormTextarea.svelte +4 -4
- package/dist/components/form/FormToggle.stories.svelte +13 -16
- package/dist/components/form/FormToggle.stories.svelte.d.ts +1 -1
- package/dist/components/form/FormToggle.svelte +3 -3
- package/dist/components/form/FormUISchemaRenderer.svelte +12 -19
- package/dist/components/form/FormUISchemaRenderer.svelte.d.ts +3 -3
- package/dist/components/form/index.d.ts +19 -19
- package/dist/components/form/index.js +18 -18
- package/dist/components/form/templateAutocomplete.d.ts +2 -2
- package/dist/components/form/templateAutocomplete.js +55 -64
- package/dist/components/form/types.d.ts +6 -6
- package/dist/components/form/types.js +4 -9
- package/dist/components/icons/AlertCircleIcon.svelte +1 -6
- package/dist/components/icons/CogIcon.svelte +1 -6
- package/dist/components/interrupt/ChoicePrompt.stories.svelte +27 -27
- package/dist/components/interrupt/ChoicePrompt.stories.svelte.d.ts +1 -1
- package/dist/components/interrupt/ChoicePrompt.svelte +17 -41
- package/dist/components/interrupt/ChoicePrompt.svelte.d.ts +1 -1
- package/dist/components/interrupt/ConfirmationPrompt.stories.svelte +17 -17
- package/dist/components/interrupt/ConfirmationPrompt.stories.svelte.d.ts +1 -1
- package/dist/components/interrupt/ConfirmationPrompt.svelte +10 -16
- package/dist/components/interrupt/ConfirmationPrompt.svelte.d.ts +1 -1
- package/dist/components/interrupt/FormPrompt.svelte +10 -15
- package/dist/components/interrupt/FormPrompt.svelte.d.ts +1 -1
- package/dist/components/interrupt/InterruptBubble.svelte +87 -121
- package/dist/components/interrupt/InterruptBubble.svelte.d.ts +2 -2
- package/dist/components/interrupt/ReviewPrompt.stories.svelte +37 -37
- package/dist/components/interrupt/ReviewPrompt.stories.svelte.d.ts +1 -1
- package/dist/components/interrupt/ReviewPrompt.svelte +55 -75
- package/dist/components/interrupt/ReviewPrompt.svelte.d.ts +1 -1
- package/dist/components/interrupt/TextInputPrompt.stories.svelte +16 -17
- package/dist/components/interrupt/TextInputPrompt.stories.svelte.d.ts +1 -1
- package/dist/components/interrupt/TextInputPrompt.svelte +13 -18
- package/dist/components/interrupt/TextInputPrompt.svelte.d.ts +1 -1
- package/dist/components/interrupt/index.d.ts +6 -6
- package/dist/components/interrupt/index.js +6 -6
- package/dist/components/layouts/MainLayout.svelte +46 -84
- package/dist/components/layouts/MainLayout.svelte.d.ts +6 -6
- package/dist/components/nodes/GatewayNode.stories.svelte +64 -65
- package/dist/components/nodes/GatewayNode.svelte +37 -70
- package/dist/components/nodes/GatewayNode.svelte.d.ts +3 -3
- package/dist/components/nodes/IdeaNode.stories.svelte +25 -26
- package/dist/components/nodes/IdeaNode.svelte +22 -36
- package/dist/components/nodes/IdeaNode.svelte.d.ts +1 -1
- package/dist/components/nodes/NotesNode.stories.svelte +37 -38
- package/dist/components/nodes/NotesNode.svelte +28 -39
- package/dist/components/nodes/NotesNode.svelte.d.ts +1 -1
- package/dist/components/nodes/SimpleNode.stories.svelte +137 -138
- package/dist/components/nodes/SimpleNode.svelte +44 -74
- package/dist/components/nodes/SimpleNode.svelte.d.ts +1 -1
- package/dist/components/nodes/SquareNode.stories.svelte +75 -75
- package/dist/components/nodes/SquareNode.svelte +42 -68
- package/dist/components/nodes/SquareNode.svelte.d.ts +1 -1
- package/dist/components/nodes/TerminalNode.stories.svelte +10 -10
- package/dist/components/nodes/TerminalNode.svelte +74 -112
- package/dist/components/nodes/TerminalNode.svelte.d.ts +1 -1
- package/dist/components/nodes/ToolNode.stories.svelte +115 -116
- package/dist/components/nodes/ToolNode.svelte +31 -64
- package/dist/components/nodes/ToolNode.svelte.d.ts +1 -1
- package/dist/components/nodes/WorkflowNode.stories.svelte +84 -89
- package/dist/components/nodes/WorkflowNode.svelte +50 -103
- package/dist/components/nodes/WorkflowNode.svelte.d.ts +3 -3
- package/dist/components/playground/ChatPanel.svelte +47 -103
- package/dist/components/playground/ExecutionLogs.svelte +45 -68
- package/dist/components/playground/InputCollector.svelte +32 -51
- package/dist/components/playground/MessageBubble.stories.svelte +25 -25
- package/dist/components/playground/MessageBubble.stories.svelte.d.ts +1 -1
- package/dist/components/playground/MessageBubble.svelte +54 -70
- package/dist/components/playground/MessageBubble.svelte.d.ts +1 -1
- package/dist/components/playground/Playground.svelte +60 -91
- package/dist/components/playground/Playground.svelte.d.ts +3 -3
- package/dist/components/playground/PlaygroundModal.svelte +8 -12
- package/dist/components/playground/PlaygroundModal.svelte.d.ts +3 -3
- package/dist/components/playground/SessionManager.svelte +34 -40
- package/dist/components/playground/SessionManager.svelte.d.ts +1 -1
- package/dist/config/agentSpecEndpoints.d.ts +1 -1
- package/dist/config/agentSpecEndpoints.js +20 -20
- package/dist/config/constants.js +2 -2
- package/dist/config/defaultCategories.d.ts +1 -1
- package/dist/config/defaultCategories.js +86 -86
- package/dist/config/defaultPortConfig.d.ts +1 -1
- package/dist/config/defaultPortConfig.js +144 -144
- package/dist/config/endpoints.d.ts +4 -4
- package/dist/config/endpoints.js +68 -68
- package/dist/config/runtimeConfig.d.ts +2 -2
- package/dist/config/runtimeConfig.js +8 -8
- package/dist/core/index.d.ts +68 -68
- package/dist/core/index.js +38 -38
- package/dist/display/index.d.ts +2 -2
- package/dist/display/index.js +2 -2
- package/dist/editor/index.d.ts +64 -64
- package/dist/editor/index.js +54 -54
- package/dist/form/code.d.ts +5 -5
- package/dist/form/code.js +14 -14
- package/dist/form/fieldRegistry.d.ts +3 -3
- package/dist/form/fieldRegistry.js +9 -11
- package/dist/form/full.d.ts +8 -8
- package/dist/form/full.js +9 -9
- package/dist/form/index.d.ts +18 -18
- package/dist/form/index.js +16 -16
- package/dist/form/markdown.d.ts +4 -4
- package/dist/form/markdown.js +8 -8
- package/dist/helpers/proximityConnect.d.ts +3 -3
- package/dist/helpers/proximityConnect.js +32 -34
- package/dist/helpers/workflowEditorHelper.d.ts +6 -6
- package/dist/helpers/workflowEditorHelper.js +64 -68
- package/dist/index.d.ts +6 -6
- package/dist/index.js +6 -6
- package/dist/mocks/app-environment.js +2 -2
- package/dist/mocks/app-forms.js +1 -1
- package/dist/mocks/app-navigation.js +2 -2
- package/dist/mocks/app-stores.js +3 -3
- package/dist/playground/index.d.ts +19 -19
- package/dist/playground/index.js +16 -16
- package/dist/playground/mount.d.ts +3 -3
- package/dist/playground/mount.js +24 -24
- package/dist/registry/builtinFormats.js +13 -13
- package/dist/registry/builtinNodes.d.ts +2 -2
- package/dist/registry/builtinNodes.js +77 -77
- package/dist/registry/index.d.ts +4 -4
- package/dist/registry/index.js +4 -4
- package/dist/registry/nodeComponentRegistry.d.ts +8 -8
- package/dist/registry/nodeComponentRegistry.js +9 -11
- package/dist/registry/plugin.d.ts +2 -2
- package/dist/registry/plugin.js +11 -11
- package/dist/registry/workflowFormatRegistry.d.ts +3 -3
- package/dist/registry/workflowFormatRegistry.js +2 -2
- package/dist/schema/index.d.ts +1 -1
- package/dist/schema/index.js +2 -2
- package/dist/services/agentSpecExecutionService.d.ts +3 -3
- package/dist/services/agentSpecExecutionService.js +55 -56
- package/dist/services/api.d.ts +2 -2
- package/dist/services/api.js +37 -37
- package/dist/services/apiVariableService.d.ts +1 -1
- package/dist/services/apiVariableService.js +34 -41
- package/dist/services/autoSaveService.js +8 -8
- package/dist/services/categoriesApi.d.ts +2 -2
- package/dist/services/categoriesApi.js +8 -8
- package/dist/services/chatService.d.ts +1 -1
- package/dist/services/chatService.js +18 -18
- package/dist/services/draftStorage.d.ts +1 -1
- package/dist/services/draftStorage.js +11 -11
- package/dist/services/dynamicSchemaService.d.ts +1 -1
- package/dist/services/dynamicSchemaService.js +39 -41
- package/dist/services/globalSave.d.ts +2 -2
- package/dist/services/globalSave.js +38 -41
- package/dist/services/historyService.d.ts +1 -1
- package/dist/services/historyService.js +10 -10
- package/dist/services/interruptService.d.ts +1 -1
- package/dist/services/interruptService.js +29 -35
- package/dist/services/nodeExecutionService.d.ts +1 -1
- package/dist/services/nodeExecutionService.js +44 -45
- package/dist/services/playgroundService.d.ts +1 -1
- package/dist/services/playgroundService.js +29 -29
- package/dist/services/portConfigApi.d.ts +2 -2
- package/dist/services/portConfigApi.js +8 -8
- package/dist/services/settingsService.d.ts +2 -2
- package/dist/services/settingsService.js +19 -25
- package/dist/services/toastService.d.ts +4 -4
- package/dist/services/toastService.js +33 -33
- package/dist/services/variableService.d.ts +1 -1
- package/dist/services/variableService.js +36 -36
- package/dist/services/workflowStorage.d.ts +2 -2
- package/dist/services/workflowStorage.js +13 -13
- package/dist/settings/index.d.ts +7 -7
- package/dist/settings/index.js +6 -6
- package/dist/skins/default.d.ts +1 -1
- package/dist/skins/default.js +1 -1
- package/dist/skins/index.d.ts +3 -3
- package/dist/skins/index.js +7 -7
- package/dist/skins/slate.d.ts +1 -1
- package/dist/skins/slate.js +69 -69
- package/dist/stores/categoriesStore.svelte.d.ts +1 -1
- package/dist/stores/categoriesStore.svelte.js +5 -5
- package/dist/stores/editorStateMachine.svelte.d.ts +2 -2
- package/dist/stores/editorStateMachine.svelte.js +34 -34
- package/dist/stores/historyStore.svelte.d.ts +4 -4
- package/dist/stores/historyStore.svelte.js +4 -4
- package/dist/stores/interruptStore.svelte.d.ts +3 -3
- package/dist/stores/interruptStore.svelte.js +21 -21
- package/dist/stores/playgroundStore.svelte.d.ts +2 -2
- package/dist/stores/playgroundStore.svelte.js +18 -21
- package/dist/stores/portCoordinateStore.svelte.d.ts +2 -2
- package/dist/stores/portCoordinateStore.svelte.js +10 -13
- package/dist/stores/settingsStore.svelte.d.ts +2 -2
- package/dist/stores/settingsStore.svelte.js +57 -62
- package/dist/stores/workflowStore.svelte.d.ts +3 -3
- package/dist/stores/workflowStore.svelte.js +46 -47
- package/dist/stories/CanvasDecorator.svelte +7 -10
- package/dist/stories/CanvasDecorator.svelte.d.ts +2 -2
- package/dist/stories/EdgeDecorator.svelte +28 -31
- package/dist/stories/EdgeDecorator.svelte.d.ts +1 -1
- package/dist/stories/NodeDecorator.svelte +14 -20
- package/dist/stories/NodeDecorator.svelte.d.ts +1 -1
- package/dist/stories/utils.d.ts +2 -2
- package/dist/stories/utils.js +89 -93
- package/dist/styles/base.css +16 -50
- package/dist/styles/tokens.css +10 -28
- package/dist/svelte-app.d.ts +10 -10
- package/dist/svelte-app.js +39 -39
- package/dist/themes/default.d.ts +1 -1
- package/dist/themes/default.js +4 -4
- package/dist/themes/index.d.ts +3 -3
- package/dist/themes/index.js +11 -11
- package/dist/themes/minimal.d.ts +1 -1
- package/dist/themes/minimal.js +5 -5
- package/dist/types/agentspec.d.ts +18 -18
- package/dist/types/agentspec.js +2 -2
- package/dist/types/auth.d.ts +1 -1
- package/dist/types/auth.js +6 -6
- package/dist/types/chat.d.ts +2 -2
- package/dist/types/config.d.ts +6 -6
- package/dist/types/events.d.ts +3 -3
- package/dist/types/events.js +2 -2
- package/dist/types/index.d.ts +32 -32
- package/dist/types/index.js +6 -6
- package/dist/types/interrupt.d.ts +6 -6
- package/dist/types/interrupt.js +21 -21
- package/dist/types/interruptState.d.ts +12 -12
- package/dist/types/interruptState.js +66 -66
- package/dist/types/playground.d.ts +7 -7
- package/dist/types/playground.js +14 -14
- package/dist/types/settings.d.ts +7 -5
- package/dist/types/settings.js +19 -24
- package/dist/types/skin.d.ts +1 -1
- package/dist/types/theme.d.ts +2 -2
- package/dist/types/uischema.d.ts +4 -4
- package/dist/types/uischema.js +3 -3
- package/dist/utils/colors.d.ts +1 -1
- package/dist/utils/colors.js +95 -97
- package/dist/utils/config.d.ts +2 -2
- package/dist/utils/config.js +48 -48
- package/dist/utils/connections.d.ts +2 -2
- package/dist/utils/connections.js +15 -15
- package/dist/utils/edgeStyling.d.ts +2 -2
- package/dist/utils/edgeStyling.js +36 -39
- package/dist/utils/errors.js +3 -3
- package/dist/utils/fetchWithAuth.d.ts +1 -1
- package/dist/utils/fetchWithAuth.js +2 -2
- package/dist/utils/handleIds.d.ts +2 -2
- package/dist/utils/handleIds.js +8 -8
- package/dist/utils/handlePositioning.d.ts +1 -1
- package/dist/utils/handlePositioning.js +2 -2
- package/dist/utils/icons.d.ts +1 -1
- package/dist/utils/icons.js +74 -74
- package/dist/utils/logger.d.ts +1 -1
- package/dist/utils/logger.js +7 -7
- package/dist/utils/nodeIds.d.ts +1 -1
- package/dist/utils/nodeIds.js +1 -1
- package/dist/utils/nodeStatus.d.ts +1 -1
- package/dist/utils/nodeStatus.js +48 -48
- package/dist/utils/nodeSwap.d.ts +9 -9
- package/dist/utils/nodeSwap.js +52 -58
- package/dist/utils/nodeTypes.d.ts +1 -1
- package/dist/utils/nodeTypes.js +20 -21
- package/dist/utils/nodeWrapper.d.ts +7 -7
- package/dist/utils/nodeWrapper.js +19 -21
- package/dist/utils/performanceUtils.d.ts +1 -1
- package/dist/utils/performanceUtils.js +1 -2
- package/dist/utils/portUtils.d.ts +2 -2
- package/dist/utils/portUtils.js +1 -1
- package/dist/utils/sanitize.js +1 -1
- package/dist/utils/uischema.d.ts +2 -2
- package/dist/utils/uischema.js +8 -8
- package/dist/utils/validation.js +8 -8
- package/package.json +7 -11
|
@@ -28,23 +28,23 @@
|
|
|
28
28
|
-->
|
|
29
29
|
|
|
30
30
|
<script lang="ts">
|
|
31
|
-
import Icon from
|
|
32
|
-
import { SchemaForm } from
|
|
33
|
-
import type { ConfigSchema } from
|
|
34
|
-
import type { SettingsCategory } from
|
|
31
|
+
import Icon from '@iconify/svelte';
|
|
32
|
+
import { SchemaForm } from '../form/index.js';
|
|
33
|
+
import type { ConfigSchema } from '../types/index.js';
|
|
34
|
+
import type { SettingsCategory } from '../types/settings.js';
|
|
35
35
|
import {
|
|
36
36
|
SETTINGS_CATEGORIES,
|
|
37
37
|
SETTINGS_CATEGORY_LABELS,
|
|
38
|
-
SETTINGS_CATEGORY_ICONS
|
|
39
|
-
} from
|
|
38
|
+
SETTINGS_CATEGORY_ICONS
|
|
39
|
+
} from '../types/settings.js';
|
|
40
40
|
import {
|
|
41
41
|
getSettings,
|
|
42
42
|
updateSettings,
|
|
43
43
|
resetSettings,
|
|
44
44
|
syncSettingsToApi,
|
|
45
|
-
getSyncStatus
|
|
46
|
-
} from
|
|
47
|
-
import { logger } from
|
|
45
|
+
getSyncStatus
|
|
46
|
+
} from '../stores/settingsStore.svelte.js';
|
|
47
|
+
import { logger } from '../utils/logger.js';
|
|
48
48
|
|
|
49
49
|
/**
|
|
50
50
|
* Props interface for SettingsPanel component
|
|
@@ -57,10 +57,7 @@
|
|
|
57
57
|
/** Show the reset button */
|
|
58
58
|
showResetButton?: boolean;
|
|
59
59
|
/** Callback when settings change */
|
|
60
|
-
onSettingsChange?: (
|
|
61
|
-
category: SettingsCategory,
|
|
62
|
-
values: Record<string, unknown>,
|
|
63
|
-
) => void;
|
|
60
|
+
onSettingsChange?: (category: SettingsCategory, values: Record<string, unknown>) => void;
|
|
64
61
|
/** Callback when close is requested */
|
|
65
62
|
onClose?: () => void;
|
|
66
63
|
/** Custom CSS class */
|
|
@@ -73,209 +70,212 @@
|
|
|
73
70
|
showResetButton = true,
|
|
74
71
|
onSettingsChange,
|
|
75
72
|
onClose,
|
|
76
|
-
class: className =
|
|
73
|
+
class: className = ''
|
|
77
74
|
}: Props = $props();
|
|
78
75
|
|
|
79
76
|
/**
|
|
80
77
|
* Currently active tab
|
|
81
78
|
*/
|
|
82
79
|
// svelte-ignore state_referenced_locally — initial default, user switches tabs
|
|
83
|
-
let activeTab = $state<SettingsCategory>(categories[0] ??
|
|
80
|
+
let activeTab = $state<SettingsCategory>(categories[0] ?? 'theme');
|
|
84
81
|
|
|
85
82
|
/**
|
|
86
83
|
* Whether sync is in progress
|
|
87
84
|
*/
|
|
88
|
-
let isSyncing = $derived(getSyncStatus().status ===
|
|
85
|
+
let isSyncing = $derived(getSyncStatus().status === 'syncing');
|
|
89
86
|
|
|
90
87
|
/**
|
|
91
88
|
* JSON Schema definitions for each settings category
|
|
92
89
|
*/
|
|
93
90
|
const schemas: Record<SettingsCategory, ConfigSchema> = {
|
|
94
91
|
theme: {
|
|
95
|
-
type:
|
|
92
|
+
type: 'object',
|
|
96
93
|
properties: {
|
|
97
94
|
preference: {
|
|
98
|
-
type:
|
|
99
|
-
title:
|
|
100
|
-
description:
|
|
95
|
+
type: 'string',
|
|
96
|
+
title: 'Theme Preference',
|
|
97
|
+
description: 'Choose your preferred color scheme',
|
|
101
98
|
oneOf: [
|
|
102
|
-
{ const:
|
|
103
|
-
{ const:
|
|
104
|
-
{ const:
|
|
99
|
+
{ const: 'light', title: 'Light' },
|
|
100
|
+
{ const: 'dark', title: 'Dark' },
|
|
101
|
+
{ const: 'auto', title: 'Auto (System)' }
|
|
105
102
|
],
|
|
106
|
-
default:
|
|
107
|
-
}
|
|
108
|
-
}
|
|
103
|
+
default: 'auto'
|
|
104
|
+
}
|
|
105
|
+
}
|
|
109
106
|
},
|
|
110
107
|
editor: {
|
|
111
|
-
type:
|
|
108
|
+
type: 'object',
|
|
112
109
|
properties: {
|
|
113
110
|
showGrid: {
|
|
114
|
-
type:
|
|
115
|
-
title:
|
|
116
|
-
description:
|
|
117
|
-
default: true
|
|
111
|
+
type: 'boolean',
|
|
112
|
+
title: 'Show Grid',
|
|
113
|
+
description: 'Display grid lines on the canvas',
|
|
114
|
+
default: true
|
|
118
115
|
},
|
|
119
116
|
snapToGrid: {
|
|
120
|
-
type:
|
|
121
|
-
title:
|
|
122
|
-
description:
|
|
123
|
-
default: true
|
|
117
|
+
type: 'boolean',
|
|
118
|
+
title: 'Snap to Grid',
|
|
119
|
+
description: 'Snap nodes to grid when dragging',
|
|
120
|
+
default: true
|
|
124
121
|
},
|
|
125
122
|
gridSize: {
|
|
126
|
-
type:
|
|
127
|
-
title:
|
|
128
|
-
description:
|
|
123
|
+
type: 'number',
|
|
124
|
+
title: 'Grid Size',
|
|
125
|
+
description: 'Grid cell size in pixels',
|
|
129
126
|
minimum: 5,
|
|
130
127
|
maximum: 50,
|
|
131
|
-
default: 20
|
|
128
|
+
default: 20
|
|
132
129
|
},
|
|
133
130
|
showMinimap: {
|
|
134
|
-
type:
|
|
135
|
-
title:
|
|
136
|
-
description:
|
|
137
|
-
default: true
|
|
131
|
+
type: 'boolean',
|
|
132
|
+
title: 'Show Minimap',
|
|
133
|
+
description: 'Display navigation minimap',
|
|
134
|
+
default: true
|
|
138
135
|
},
|
|
139
136
|
defaultZoom: {
|
|
140
|
-
type:
|
|
141
|
-
title:
|
|
142
|
-
description:
|
|
137
|
+
type: 'number',
|
|
138
|
+
title: 'Default Zoom',
|
|
139
|
+
description: 'Initial zoom level (1 = 100%)',
|
|
143
140
|
minimum: 0.25,
|
|
144
141
|
maximum: 2,
|
|
145
|
-
default: 1
|
|
142
|
+
default: 1
|
|
146
143
|
},
|
|
147
144
|
fitViewOnLoad: {
|
|
148
|
-
type:
|
|
149
|
-
title:
|
|
150
|
-
description:
|
|
151
|
-
default: true
|
|
145
|
+
type: 'boolean',
|
|
146
|
+
title: 'Fit View on Load',
|
|
147
|
+
description: 'Automatically fit workflow to view when loading',
|
|
148
|
+
default: true
|
|
152
149
|
},
|
|
153
150
|
proximityConnect: {
|
|
154
|
-
type:
|
|
155
|
-
title:
|
|
156
|
-
description:
|
|
157
|
-
|
|
158
|
-
default: false,
|
|
151
|
+
type: 'boolean',
|
|
152
|
+
title: 'Proximity Connect',
|
|
153
|
+
description: 'Auto-connect compatible ports when dragging nodes near each other',
|
|
154
|
+
default: false
|
|
159
155
|
},
|
|
160
156
|
proximityConnectDistance: {
|
|
161
|
-
type:
|
|
162
|
-
title:
|
|
163
|
-
description:
|
|
157
|
+
type: 'number',
|
|
158
|
+
title: 'Proximity Distance',
|
|
159
|
+
description: 'Distance threshold in pixels for proximity connect',
|
|
164
160
|
minimum: 50,
|
|
165
161
|
maximum: 500,
|
|
166
|
-
default: 150
|
|
167
|
-
}
|
|
168
|
-
}
|
|
162
|
+
default: 150
|
|
163
|
+
}
|
|
164
|
+
}
|
|
169
165
|
},
|
|
170
166
|
ui: {
|
|
171
|
-
type:
|
|
167
|
+
type: 'object',
|
|
172
168
|
properties: {
|
|
173
169
|
sidebarWidth: {
|
|
174
|
-
type:
|
|
175
|
-
title:
|
|
176
|
-
description:
|
|
170
|
+
type: 'number',
|
|
171
|
+
title: 'Sidebar Width',
|
|
172
|
+
description: 'Width of the node sidebar in pixels',
|
|
177
173
|
minimum: 200,
|
|
178
174
|
maximum: 500,
|
|
179
|
-
default: 280
|
|
175
|
+
default: 280
|
|
180
176
|
},
|
|
181
177
|
sidebarCollapsed: {
|
|
182
|
-
type:
|
|
183
|
-
title:
|
|
184
|
-
description:
|
|
185
|
-
default: false
|
|
178
|
+
type: 'boolean',
|
|
179
|
+
title: 'Sidebar Collapsed',
|
|
180
|
+
description: 'Start with sidebar collapsed',
|
|
181
|
+
default: false
|
|
186
182
|
},
|
|
187
183
|
compactMode: {
|
|
188
|
-
type:
|
|
189
|
-
title:
|
|
190
|
-
description:
|
|
191
|
-
default: false
|
|
184
|
+
type: 'boolean',
|
|
185
|
+
title: 'Compact Mode',
|
|
186
|
+
description: 'Use compact UI with smaller spacing',
|
|
187
|
+
default: false
|
|
192
188
|
},
|
|
193
189
|
theme: {
|
|
194
|
-
type:
|
|
195
|
-
title:
|
|
196
|
-
description:
|
|
190
|
+
type: 'string',
|
|
191
|
+
title: 'UI Theme',
|
|
192
|
+
description: 'Visual style and layout of the editor',
|
|
197
193
|
oneOf: [
|
|
198
|
-
{ const:
|
|
199
|
-
{ const:
|
|
194
|
+
{ const: 'default', title: 'Default' },
|
|
195
|
+
{ const: 'minimal', title: 'Minimal' }
|
|
200
196
|
],
|
|
201
|
-
default:
|
|
202
|
-
}
|
|
203
|
-
}
|
|
197
|
+
default: 'default'
|
|
198
|
+
}
|
|
199
|
+
}
|
|
204
200
|
},
|
|
205
201
|
behavior: {
|
|
206
|
-
type:
|
|
202
|
+
type: 'object',
|
|
207
203
|
properties: {
|
|
208
204
|
autoSave: {
|
|
209
|
-
type:
|
|
210
|
-
title:
|
|
211
|
-
description:
|
|
212
|
-
default: false
|
|
205
|
+
type: 'boolean',
|
|
206
|
+
title: 'Auto Save',
|
|
207
|
+
description: 'Automatically save changes',
|
|
208
|
+
default: false
|
|
213
209
|
},
|
|
214
210
|
autoSaveInterval: {
|
|
215
|
-
type:
|
|
216
|
-
title:
|
|
217
|
-
description:
|
|
211
|
+
type: 'number',
|
|
212
|
+
title: 'Auto Save Interval',
|
|
213
|
+
description: 'Time between auto-saves in milliseconds',
|
|
218
214
|
minimum: 5000,
|
|
219
215
|
maximum: 300000,
|
|
220
|
-
default: 30000
|
|
216
|
+
default: 30000
|
|
221
217
|
},
|
|
222
218
|
undoHistoryLimit: {
|
|
223
|
-
type:
|
|
224
|
-
title:
|
|
225
|
-
description:
|
|
219
|
+
type: 'number',
|
|
220
|
+
title: 'Undo History Limit',
|
|
221
|
+
description: 'Maximum number of undo steps (0 to disable)',
|
|
226
222
|
minimum: 0,
|
|
227
223
|
maximum: 200,
|
|
228
|
-
default: 0
|
|
224
|
+
default: 0
|
|
229
225
|
},
|
|
230
226
|
confirmDelete: {
|
|
231
|
-
type:
|
|
232
|
-
title:
|
|
233
|
-
description:
|
|
234
|
-
default: true
|
|
227
|
+
type: 'boolean',
|
|
228
|
+
title: 'Confirm Delete',
|
|
229
|
+
description: 'Show confirmation before deleting nodes',
|
|
230
|
+
default: true
|
|
235
231
|
},
|
|
236
|
-
|
|
232
|
+
chatAutoRetry: {
|
|
233
|
+
type: 'boolean',
|
|
234
|
+
title: 'AI Chat Auto-retry',
|
|
235
|
+
description: 'Automatically ask the AI to self-correct when commands fail',
|
|
236
|
+
default: true
|
|
237
|
+
}
|
|
238
|
+
}
|
|
237
239
|
},
|
|
238
240
|
api: {
|
|
239
|
-
type:
|
|
241
|
+
type: 'object',
|
|
240
242
|
properties: {
|
|
241
243
|
timeout: {
|
|
242
|
-
type:
|
|
243
|
-
title:
|
|
244
|
-
description:
|
|
244
|
+
type: 'number',
|
|
245
|
+
title: 'Request Timeout',
|
|
246
|
+
description: 'API request timeout in milliseconds',
|
|
245
247
|
minimum: 5000,
|
|
246
248
|
maximum: 120000,
|
|
247
|
-
default: 30000
|
|
249
|
+
default: 30000
|
|
248
250
|
},
|
|
249
251
|
retryEnabled: {
|
|
250
|
-
type:
|
|
251
|
-
title:
|
|
252
|
-
description:
|
|
253
|
-
default: true
|
|
252
|
+
type: 'boolean',
|
|
253
|
+
title: 'Enable Retry',
|
|
254
|
+
description: 'Automatically retry failed requests',
|
|
255
|
+
default: true
|
|
254
256
|
},
|
|
255
257
|
retryAttempts: {
|
|
256
|
-
type:
|
|
257
|
-
title:
|
|
258
|
-
description:
|
|
258
|
+
type: 'number',
|
|
259
|
+
title: 'Retry Attempts',
|
|
260
|
+
description: 'Maximum number of retry attempts',
|
|
259
261
|
minimum: 1,
|
|
260
262
|
maximum: 10,
|
|
261
|
-
default: 3
|
|
263
|
+
default: 3
|
|
262
264
|
},
|
|
263
265
|
cacheEnabled: {
|
|
264
|
-
type:
|
|
265
|
-
title:
|
|
266
|
-
description:
|
|
267
|
-
default: true
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
}
|
|
266
|
+
type: 'boolean',
|
|
267
|
+
title: 'Enable Caching',
|
|
268
|
+
description: 'Cache API responses for better performance',
|
|
269
|
+
default: true
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
}
|
|
271
273
|
};
|
|
272
274
|
|
|
273
275
|
/**
|
|
274
276
|
* Get current values for a category from the store
|
|
275
277
|
*/
|
|
276
|
-
function getCategoryValues(
|
|
277
|
-
category: SettingsCategory,
|
|
278
|
-
): Record<string, unknown> {
|
|
278
|
+
function getCategoryValues(category: SettingsCategory): Record<string, unknown> {
|
|
279
279
|
const settings = getSettings();
|
|
280
280
|
const categorySettings = settings[category];
|
|
281
281
|
// Convert to Record<string, unknown> for SchemaForm compatibility
|
|
@@ -285,10 +285,7 @@
|
|
|
285
285
|
/**
|
|
286
286
|
* Handle form value changes
|
|
287
287
|
*/
|
|
288
|
-
function handleChange(
|
|
289
|
-
category: SettingsCategory,
|
|
290
|
-
values: Record<string, unknown>,
|
|
291
|
-
): void {
|
|
288
|
+
function handleChange(category: SettingsCategory, values: Record<string, unknown>): void {
|
|
292
289
|
// Update the store
|
|
293
290
|
updateSettings({ [category]: values });
|
|
294
291
|
|
|
@@ -305,7 +302,7 @@
|
|
|
305
302
|
try {
|
|
306
303
|
await syncSettingsToApi();
|
|
307
304
|
} catch (error) {
|
|
308
|
-
logger.error(
|
|
305
|
+
logger.error('Failed to sync settings:', error);
|
|
309
306
|
}
|
|
310
307
|
}
|
|
311
308
|
|
|
@@ -313,11 +310,7 @@
|
|
|
313
310
|
* Handle reset button click
|
|
314
311
|
*/
|
|
315
312
|
function handleReset(): void {
|
|
316
|
-
if (
|
|
317
|
-
confirm(
|
|
318
|
-
`Reset ${SETTINGS_CATEGORY_LABELS[activeTab]} settings to defaults?`,
|
|
319
|
-
)
|
|
320
|
-
) {
|
|
313
|
+
if (confirm(`Reset ${SETTINGS_CATEGORY_LABELS[activeTab]} settings to defaults?`)) {
|
|
321
314
|
resetSettings([activeTab]);
|
|
322
315
|
}
|
|
323
316
|
}
|
|
@@ -326,7 +319,7 @@
|
|
|
326
319
|
* Handle reset all button click
|
|
327
320
|
*/
|
|
328
321
|
function handleResetAll(): void {
|
|
329
|
-
if (confirm(
|
|
322
|
+
if (confirm('Reset all settings to defaults?')) {
|
|
330
323
|
resetSettings();
|
|
331
324
|
}
|
|
332
325
|
}
|
|
@@ -339,16 +332,16 @@
|
|
|
339
332
|
let newIndex = index;
|
|
340
333
|
|
|
341
334
|
switch (event.key) {
|
|
342
|
-
case
|
|
335
|
+
case 'ArrowLeft':
|
|
343
336
|
newIndex = index > 0 ? index - 1 : tabs.length - 1;
|
|
344
337
|
break;
|
|
345
|
-
case
|
|
338
|
+
case 'ArrowRight':
|
|
346
339
|
newIndex = index < tabs.length - 1 ? index + 1 : 0;
|
|
347
340
|
break;
|
|
348
|
-
case
|
|
341
|
+
case 'Home':
|
|
349
342
|
newIndex = 0;
|
|
350
343
|
break;
|
|
351
|
-
case
|
|
344
|
+
case 'End':
|
|
352
345
|
newIndex = tabs.length - 1;
|
|
353
346
|
break;
|
|
354
347
|
default:
|
|
@@ -360,7 +353,7 @@
|
|
|
360
353
|
|
|
361
354
|
// Focus the new tab
|
|
362
355
|
const tabElement = document.querySelector(
|
|
363
|
-
`[data-tab="${tabs[newIndex]}"]
|
|
356
|
+
`[data-tab="${tabs[newIndex]}"]`
|
|
364
357
|
) as HTMLElement | null;
|
|
365
358
|
tabElement?.focus();
|
|
366
359
|
}
|
|
@@ -368,11 +361,7 @@
|
|
|
368
361
|
|
|
369
362
|
<div class="flowdrop-settings-panel {className}">
|
|
370
363
|
<!-- Tab Navigation -->
|
|
371
|
-
<div
|
|
372
|
-
class="flowdrop-settings-panel__tabs"
|
|
373
|
-
role="tablist"
|
|
374
|
-
aria-label="Settings categories"
|
|
375
|
-
>
|
|
364
|
+
<div class="flowdrop-settings-panel__tabs" role="tablist" aria-label="Settings categories">
|
|
376
365
|
{#each categories as category, index (category)}
|
|
377
366
|
<button
|
|
378
367
|
class="flowdrop-settings-panel__tab"
|
|
@@ -385,13 +374,8 @@
|
|
|
385
374
|
onclick={() => (activeTab = category)}
|
|
386
375
|
onkeydown={(e) => handleTabKeydown(e, index)}
|
|
387
376
|
>
|
|
388
|
-
<Icon
|
|
389
|
-
|
|
390
|
-
class="flowdrop-settings-panel__tab-icon"
|
|
391
|
-
/>
|
|
392
|
-
<span class="flowdrop-settings-panel__tab-label"
|
|
393
|
-
>{SETTINGS_CATEGORY_LABELS[category]}</span
|
|
394
|
-
>
|
|
377
|
+
<Icon icon={SETTINGS_CATEGORY_ICONS[category]} class="flowdrop-settings-panel__tab-icon" />
|
|
378
|
+
<span class="flowdrop-settings-panel__tab-label">{SETTINGS_CATEGORY_LABELS[category]}</span>
|
|
395
379
|
</button>
|
|
396
380
|
{/each}
|
|
397
381
|
</div>
|
|
@@ -476,14 +460,10 @@
|
|
|
476
460
|
<Icon icon="mdi:alert-circle" />
|
|
477
461
|
<span>{getSyncStatus().error}</span>
|
|
478
462
|
</div>
|
|
479
|
-
{:else if getSyncStatus().status ===
|
|
463
|
+
{:else if getSyncStatus().status === 'synced' && getSyncStatus().lastSyncedAt}
|
|
480
464
|
<div class="flowdrop-settings-panel__synced">
|
|
481
465
|
<Icon icon="mdi:check-circle" />
|
|
482
|
-
<span
|
|
483
|
-
>Synced {new Date(
|
|
484
|
-
getSyncStatus().lastSyncedAt!,
|
|
485
|
-
).toLocaleTimeString()}</span
|
|
486
|
-
>
|
|
466
|
+
<span>Synced {new Date(getSyncStatus().lastSyncedAt!).toLocaleTimeString()}</span>
|
|
487
467
|
</div>
|
|
488
468
|
{/if}
|
|
489
469
|
</div>
|
|
@@ -1,45 +1,34 @@
|
|
|
1
1
|
<script module>
|
|
2
|
-
import { defineMeta } from
|
|
3
|
-
import StatusIcon from
|
|
2
|
+
import { defineMeta } from '@storybook/addon-svelte-csf';
|
|
3
|
+
import StatusIcon from './StatusIcon.svelte';
|
|
4
4
|
|
|
5
5
|
const { Story } = defineMeta({
|
|
6
|
-
title:
|
|
6
|
+
title: 'Display/StatusIcon',
|
|
7
7
|
component: StatusIcon,
|
|
8
|
-
tags: [
|
|
8
|
+
tags: ['autodocs'],
|
|
9
9
|
argTypes: {
|
|
10
10
|
status: {
|
|
11
|
-
control: { type:
|
|
12
|
-
options: [
|
|
13
|
-
"idle",
|
|
14
|
-
"pending",
|
|
15
|
-
"running",
|
|
16
|
-
"completed",
|
|
17
|
-
"failed",
|
|
18
|
-
"cancelled",
|
|
19
|
-
"skipped",
|
|
20
|
-
],
|
|
11
|
+
control: { type: 'select' },
|
|
12
|
+
options: ['idle', 'pending', 'running', 'completed', 'failed', 'cancelled', 'skipped']
|
|
21
13
|
},
|
|
22
14
|
size: {
|
|
23
|
-
control: { type:
|
|
24
|
-
options: [
|
|
15
|
+
control: { type: 'select' },
|
|
16
|
+
options: ['sm', 'md', 'lg', 'xl']
|
|
25
17
|
},
|
|
26
|
-
showBackground: { control:
|
|
27
|
-
}
|
|
18
|
+
showBackground: { control: 'boolean' }
|
|
19
|
+
}
|
|
28
20
|
});
|
|
29
21
|
</script>
|
|
30
22
|
|
|
31
|
-
<Story name="Idle" args={{ status:
|
|
23
|
+
<Story name="Idle" args={{ status: 'idle' }} />
|
|
32
24
|
|
|
33
|
-
<Story name="Running" args={{ status:
|
|
25
|
+
<Story name="Running" args={{ status: 'running' }} />
|
|
34
26
|
|
|
35
|
-
<Story name="Completed" args={{ status:
|
|
27
|
+
<Story name="Completed" args={{ status: 'completed' }} />
|
|
36
28
|
|
|
37
|
-
<Story name="Failed" args={{ status:
|
|
29
|
+
<Story name="Failed" args={{ status: 'failed' }} />
|
|
38
30
|
|
|
39
|
-
<Story
|
|
40
|
-
name="With Background"
|
|
41
|
-
args={{ status: "completed", showBackground: true }}
|
|
42
|
-
/>
|
|
31
|
+
<Story name="With Background" args={{ status: 'completed', showBackground: true }} />
|
|
43
32
|
|
|
44
33
|
<Story name="All Statuses">
|
|
45
34
|
<div style="display: flex; flex-direction: column; gap: 1.5rem;">
|
|
@@ -56,9 +45,7 @@
|
|
|
56
45
|
</div>
|
|
57
46
|
</div>
|
|
58
47
|
<div>
|
|
59
|
-
<div style="margin-bottom: 0.5rem; font-weight: 600;">
|
|
60
|
-
With Background
|
|
61
|
-
</div>
|
|
48
|
+
<div style="margin-bottom: 0.5rem; font-weight: 600;">With Background</div>
|
|
62
49
|
<div style="display: flex; gap: 1rem; align-items: center;">
|
|
63
50
|
<StatusIcon status="idle" showBackground />
|
|
64
51
|
<StatusIcon status="pending" showBackground />
|
|
@@ -11,7 +11,7 @@ declare const StatusIcon: $$__sveltets_2_IsomorphicComponent<{
|
|
|
11
11
|
}, {
|
|
12
12
|
[evt: string]: CustomEvent<any>;
|
|
13
13
|
}, {}, {}, string>;
|
|
14
|
-
import StatusIcon from
|
|
14
|
+
import StatusIcon from './StatusIcon.svelte';
|
|
15
15
|
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
16
16
|
new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
|
|
17
17
|
$$bindings?: Bindings;
|
|
@@ -5,13 +5,13 @@
|
|
|
5
5
|
-->
|
|
6
6
|
|
|
7
7
|
<script lang="ts">
|
|
8
|
-
import type { NodeExecutionStatus } from
|
|
9
|
-
import Icon from
|
|
10
|
-
import { getStatusColor, getStatusIcon } from
|
|
8
|
+
import type { NodeExecutionStatus } from '../types/index.js';
|
|
9
|
+
import Icon from '@iconify/svelte';
|
|
10
|
+
import { getStatusColor, getStatusIcon } from '../utils/nodeStatus.js';
|
|
11
11
|
|
|
12
12
|
interface Props {
|
|
13
13
|
status: NodeExecutionStatus;
|
|
14
|
-
size?:
|
|
14
|
+
size?: 'sm' | 'md' | 'lg' | 'xl';
|
|
15
15
|
showBackground?: boolean;
|
|
16
16
|
class?: string;
|
|
17
17
|
}
|
|
@@ -21,28 +21,28 @@
|
|
|
21
21
|
// Size configurations
|
|
22
22
|
const sizeConfig = {
|
|
23
23
|
sm: {
|
|
24
|
-
iconSize:
|
|
25
|
-
backgroundSize:
|
|
26
|
-
backgroundRadius:
|
|
24
|
+
iconSize: '12px',
|
|
25
|
+
backgroundSize: '20px',
|
|
26
|
+
backgroundRadius: '0.25rem'
|
|
27
27
|
},
|
|
28
28
|
md: {
|
|
29
|
-
iconSize:
|
|
30
|
-
backgroundSize:
|
|
31
|
-
backgroundRadius:
|
|
29
|
+
iconSize: '16px',
|
|
30
|
+
backgroundSize: '24px',
|
|
31
|
+
backgroundRadius: '0.375rem'
|
|
32
32
|
},
|
|
33
33
|
lg: {
|
|
34
|
-
iconSize:
|
|
35
|
-
backgroundSize:
|
|
36
|
-
backgroundRadius:
|
|
34
|
+
iconSize: '24px',
|
|
35
|
+
backgroundSize: '48px',
|
|
36
|
+
backgroundRadius: '0.5rem'
|
|
37
37
|
},
|
|
38
38
|
xl: {
|
|
39
|
-
iconSize:
|
|
40
|
-
backgroundSize:
|
|
41
|
-
backgroundRadius:
|
|
42
|
-
}
|
|
39
|
+
iconSize: '28px',
|
|
40
|
+
backgroundSize: '56px',
|
|
41
|
+
backgroundRadius: '0.75rem'
|
|
42
|
+
}
|
|
43
43
|
};
|
|
44
44
|
|
|
45
|
-
const config = $derived(sizeConfig[props.size ||
|
|
45
|
+
const config = $derived(sizeConfig[props.size || 'md']);
|
|
46
46
|
const statusColor = $derived(getStatusColor(props.status));
|
|
47
47
|
const statusIcon = $derived(getStatusIcon(props.status));
|
|
48
48
|
</script>
|
|
@@ -103,7 +103,7 @@
|
|
|
103
103
|
}
|
|
104
104
|
|
|
105
105
|
/* Animation for running status */
|
|
106
|
-
.status-icon--with-background[title=
|
|
106
|
+
.status-icon--with-background[title='running'] {
|
|
107
107
|
animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
|
|
108
108
|
}
|
|
109
109
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { NodeExecutionStatus } from
|
|
1
|
+
import type { NodeExecutionStatus } from '../types/index.js';
|
|
2
2
|
interface Props {
|
|
3
3
|
status: NodeExecutionStatus;
|
|
4
|
-
size?:
|
|
4
|
+
size?: 'sm' | 'md' | 'lg' | 'xl';
|
|
5
5
|
showBackground?: boolean;
|
|
6
6
|
class?: string;
|
|
7
7
|
}
|