@flowdrop/flowdrop 1.5.0 → 1.7.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 +280 -303
- package/dist/components/App.svelte.d.ts +11 -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 +46 -59
- 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 +51 -81
- 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/schemas/v1/workflow.schema.json +5 -0
- 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 +4 -3
- package/dist/stores/workflowStore.svelte.js +47 -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 +34 -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 +6 -2
- package/dist/utils/connections.js +21 -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
|
@@ -9,25 +9,21 @@
|
|
|
9
9
|
-->
|
|
10
10
|
|
|
11
11
|
<script lang="ts">
|
|
12
|
-
import { Position, Handle } from
|
|
13
|
-
import type { WorkflowNode, NodePort, Branch } from
|
|
14
|
-
import Icon from
|
|
15
|
-
import { getNodeIcon } from
|
|
12
|
+
import { Position, Handle } from '@xyflow/svelte';
|
|
13
|
+
import type { WorkflowNode, NodePort, Branch } from '../../types/index.js';
|
|
14
|
+
import Icon from '@iconify/svelte';
|
|
15
|
+
import { getNodeIcon } from '../../utils/icons.js';
|
|
16
16
|
import {
|
|
17
17
|
getDataTypeColorToken,
|
|
18
18
|
getCategoryColorToken,
|
|
19
|
-
getPortBackgroundColor
|
|
20
|
-
} from
|
|
21
|
-
import { getConnectedHandles } from
|
|
19
|
+
getPortBackgroundColor
|
|
20
|
+
} from '../../utils/colors.js';
|
|
21
|
+
import { getConnectedHandles } from '../../stores/workflowStore.svelte.js';
|
|
22
22
|
|
|
23
23
|
interface Props {
|
|
24
|
-
data: WorkflowNode[
|
|
24
|
+
data: WorkflowNode['data'] & {
|
|
25
25
|
nodeId?: string;
|
|
26
|
-
onConfigOpen?: (node: {
|
|
27
|
-
id: string;
|
|
28
|
-
type: string;
|
|
29
|
-
data: WorkflowNode["data"];
|
|
30
|
-
}) => void;
|
|
26
|
+
onConfigOpen?: (node: { id: string; type: string; data: WorkflowNode['data'] }) => void;
|
|
31
27
|
};
|
|
32
28
|
selected?: boolean;
|
|
33
29
|
}
|
|
@@ -39,9 +35,7 @@
|
|
|
39
35
|
* Falls back to the original label if not set.
|
|
40
36
|
* This allows users to customize the node title per-instance via config.
|
|
41
37
|
*/
|
|
42
|
-
const displayTitle = $derived(
|
|
43
|
-
(props.data.config?.instanceTitle as string) || props.data.label,
|
|
44
|
-
);
|
|
38
|
+
const displayTitle = $derived((props.data.config?.instanceTitle as string) || props.data.label);
|
|
45
39
|
|
|
46
40
|
/**
|
|
47
41
|
* Instance-specific description override from config.
|
|
@@ -49,8 +43,7 @@
|
|
|
49
43
|
* This allows users to customize the node description per-instance via config.
|
|
50
44
|
*/
|
|
51
45
|
const displayDescription = $derived(
|
|
52
|
-
(props.data.config?.instanceDescription as string) ||
|
|
53
|
-
props.data.metadata.description,
|
|
46
|
+
(props.data.config?.instanceDescription as string) || props.data.metadata.description
|
|
54
47
|
);
|
|
55
48
|
|
|
56
49
|
/**
|
|
@@ -60,7 +53,7 @@
|
|
|
60
53
|
const hideUnconnectedHandles = $derived(
|
|
61
54
|
props.data.extensions?.ui?.hideUnconnectedHandles ??
|
|
62
55
|
props.data.metadata?.extensions?.ui?.hideUnconnectedHandles ??
|
|
63
|
-
false
|
|
56
|
+
false
|
|
64
57
|
);
|
|
65
58
|
|
|
66
59
|
/**
|
|
@@ -69,7 +62,7 @@
|
|
|
69
62
|
* @param type - Whether this is an 'input' or 'output' port
|
|
70
63
|
* @returns true if the port should be visible
|
|
71
64
|
*/
|
|
72
|
-
function isPortVisible(port: NodePort, type:
|
|
65
|
+
function isPortVisible(port: NodePort, type: 'input' | 'output'): boolean {
|
|
73
66
|
// Always show if hideUnconnectedHandles is disabled
|
|
74
67
|
if (!hideUnconnectedHandles) {
|
|
75
68
|
return true;
|
|
@@ -89,7 +82,7 @@
|
|
|
89
82
|
* Derived list of visible input ports based on hideUnconnectedHandles setting
|
|
90
83
|
*/
|
|
91
84
|
const visibleInputPorts = $derived(
|
|
92
|
-
props.data.metadata.inputs.filter((port) => isPortVisible(port,
|
|
85
|
+
props.data.metadata.inputs.filter((port) => isPortVisible(port, 'input'))
|
|
93
86
|
);
|
|
94
87
|
|
|
95
88
|
/**
|
|
@@ -111,15 +104,13 @@
|
|
|
111
104
|
// Gateway-specific data - branches are calculated at runtime from config
|
|
112
105
|
let branches = $derived((props.data.config?.branches as Branch[]) || []);
|
|
113
106
|
let activeBranches = $derived(
|
|
114
|
-
(props.data.executionInfo?.output?.active_branches as string[]) || []
|
|
107
|
+
(props.data.executionInfo?.output?.active_branches as string[]) || []
|
|
115
108
|
);
|
|
116
109
|
|
|
117
110
|
/**
|
|
118
111
|
* Derived list of visible branches based on hideUnconnectedHandles setting
|
|
119
112
|
*/
|
|
120
|
-
const visibleBranches = $derived(
|
|
121
|
-
branches.filter((branch) => isBranchVisible(branch.name)),
|
|
122
|
-
);
|
|
113
|
+
const visibleBranches = $derived(branches.filter((branch) => isBranchVisible(branch.name)));
|
|
123
114
|
|
|
124
115
|
/**
|
|
125
116
|
* Handle node click - only handle selection, no config opening
|
|
@@ -134,9 +125,9 @@
|
|
|
134
125
|
function handleNodeDoubleClick(): void {
|
|
135
126
|
if (props.data.onConfigOpen) {
|
|
136
127
|
props.data.onConfigOpen({
|
|
137
|
-
id: props.data.nodeId ||
|
|
138
|
-
type:
|
|
139
|
-
data: props.data
|
|
128
|
+
id: props.data.nodeId || '',
|
|
129
|
+
type: 'gateway',
|
|
130
|
+
data: props.data
|
|
140
131
|
});
|
|
141
132
|
}
|
|
142
133
|
}
|
|
@@ -145,7 +136,7 @@
|
|
|
145
136
|
* Handle keyboard events for accessibility
|
|
146
137
|
*/
|
|
147
138
|
function handleKeydown(event: KeyboardEvent): void {
|
|
148
|
-
if (event.key ===
|
|
139
|
+
if (event.key === 'Enter' || event.key === ' ') {
|
|
149
140
|
event.preventDefault();
|
|
150
141
|
handleNodeClick();
|
|
151
142
|
}
|
|
@@ -177,23 +168,16 @@
|
|
|
177
168
|
<!-- Node Icon with Squircle Background -->
|
|
178
169
|
<div
|
|
179
170
|
class="flowdrop-workflow-node__icon-wrapper"
|
|
180
|
-
style="--_icon-color: {getCategoryColorToken(
|
|
181
|
-
props.data.metadata.category,
|
|
182
|
-
)}"
|
|
171
|
+
style="--_icon-color: {getCategoryColorToken(props.data.metadata.category)}"
|
|
183
172
|
>
|
|
184
173
|
<Icon
|
|
185
|
-
icon={getNodeIcon(
|
|
186
|
-
props.data.metadata.icon,
|
|
187
|
-
props.data.metadata.category,
|
|
188
|
-
)}
|
|
174
|
+
icon={getNodeIcon(props.data.metadata.icon, props.data.metadata.category)}
|
|
189
175
|
class="flowdrop-workflow-node__icon"
|
|
190
176
|
/>
|
|
191
177
|
</div>
|
|
192
178
|
|
|
193
179
|
<!-- Node Title - uses instanceTitle override if set -->
|
|
194
|
-
<h3
|
|
195
|
-
class="flowdrop-text--sm flowdrop-font--medium flowdrop-truncate flowdrop-flex--1"
|
|
196
|
-
>
|
|
180
|
+
<h3 class="flowdrop-text--sm flowdrop-font--medium flowdrop-truncate flowdrop-flex--1">
|
|
197
181
|
{displayTitle}
|
|
198
182
|
</h3>
|
|
199
183
|
</div>
|
|
@@ -219,7 +203,7 @@
|
|
|
219
203
|
id={`${props.data.nodeId}-input-${port.id}`}
|
|
220
204
|
class="flowdrop-workflow-node__handle"
|
|
221
205
|
style="top: 50%; transform: translateY(-50%); --fd-handle-fill: {getDataTypeColorToken(
|
|
222
|
-
port.dataType
|
|
206
|
+
port.dataType
|
|
223
207
|
)}; --fd-handle-border-color: var(--fd-handle-border);"
|
|
224
208
|
role="button"
|
|
225
209
|
tabindex={0}
|
|
@@ -227,38 +211,28 @@
|
|
|
227
211
|
/>
|
|
228
212
|
|
|
229
213
|
<!-- Port Info: padding lives here so handle position is simple -->
|
|
230
|
-
<div
|
|
231
|
-
class="flowdrop-workflow-node__port-content flowdrop-flex--1 flowdrop-min-w--0"
|
|
232
|
-
>
|
|
214
|
+
<div class="flowdrop-workflow-node__port-content flowdrop-flex--1 flowdrop-min-w--0">
|
|
233
215
|
<div class="flowdrop-flex flowdrop-gap--2">
|
|
234
|
-
<span class="flowdrop-text--xs flowdrop-font--medium"
|
|
235
|
-
>{port.name}</span
|
|
236
|
-
>
|
|
216
|
+
<span class="flowdrop-text--xs flowdrop-font--medium">{port.name}</span>
|
|
237
217
|
<span
|
|
238
218
|
class="flowdrop-badge flowdrop-badge--sm"
|
|
239
219
|
style="background-color: {getPortBackgroundColor(
|
|
240
220
|
port.dataType,
|
|
241
|
-
15
|
|
221
|
+
15
|
|
242
222
|
)}; color: {getDataTypeColorToken(
|
|
243
|
-
port.dataType
|
|
244
|
-
)}; border: 1px solid {getPortBackgroundColor(
|
|
245
|
-
port.dataType,
|
|
246
|
-
30,
|
|
247
|
-
)};"
|
|
223
|
+
port.dataType
|
|
224
|
+
)}; border: 1px solid {getPortBackgroundColor(port.dataType, 30)};"
|
|
248
225
|
>
|
|
249
226
|
{port.dataType}
|
|
250
227
|
</span>
|
|
251
228
|
{#if port.required}
|
|
252
|
-
<span
|
|
253
|
-
class="flowdrop-badge flowdrop-badge--error flowdrop-badge--sm"
|
|
229
|
+
<span class="flowdrop-badge flowdrop-badge--error flowdrop-badge--sm"
|
|
254
230
|
>Required</span
|
|
255
231
|
>
|
|
256
232
|
{/if}
|
|
257
233
|
</div>
|
|
258
234
|
{#if port.description}
|
|
259
|
-
<p
|
|
260
|
-
class="flowdrop-text--xs flowdrop-text--gray flowdrop-truncate"
|
|
261
|
-
>
|
|
235
|
+
<p class="flowdrop-text--xs flowdrop-text--gray flowdrop-truncate">
|
|
262
236
|
{port.description}
|
|
263
237
|
</p>
|
|
264
238
|
{/if}
|
|
@@ -298,13 +272,10 @@
|
|
|
298
272
|
class="flowdrop-badge flowdrop-badge--sm"
|
|
299
273
|
style="background-color: {getPortBackgroundColor(
|
|
300
274
|
'trigger',
|
|
301
|
-
15
|
|
275
|
+
15
|
|
302
276
|
)}; color: {getDataTypeColorToken(
|
|
303
|
-
'trigger'
|
|
304
|
-
)}; border: 1px solid {getPortBackgroundColor(
|
|
305
|
-
'trigger',
|
|
306
|
-
30,
|
|
307
|
-
)};"
|
|
277
|
+
'trigger'
|
|
278
|
+
)}; border: 1px solid {getPortBackgroundColor('trigger', 30)};"
|
|
308
279
|
>
|
|
309
280
|
trigger
|
|
310
281
|
</span>
|
|
@@ -316,11 +287,11 @@
|
|
|
316
287
|
type="source"
|
|
317
288
|
position={Position.Right}
|
|
318
289
|
id={`${props.data.nodeId}-output-${branch.name}`}
|
|
319
|
-
class={`flowdrop-workflow-node__handle ${isActive ?
|
|
290
|
+
class={`flowdrop-workflow-node__handle ${isActive ? 'flowdrop-workflow-node__handle--active' : ''}`}
|
|
320
291
|
style="top: 50%; transform: translateY(-50%); --fd-handle-fill: {isActive
|
|
321
292
|
? getDataTypeColorToken('trigger')
|
|
322
293
|
: getDataTypeColorToken(
|
|
323
|
-
'trigger'
|
|
294
|
+
'trigger'
|
|
324
295
|
)}; --fd-handle-border-color: var(--fd-handle-border);"
|
|
325
296
|
role="button"
|
|
326
297
|
tabindex={0}
|
|
@@ -438,11 +409,7 @@
|
|
|
438
409
|
width: 2.25rem;
|
|
439
410
|
height: 2.25rem;
|
|
440
411
|
border-radius: 0.5rem;
|
|
441
|
-
background: color-mix(
|
|
442
|
-
in srgb,
|
|
443
|
-
var(--_icon-color) var(--fd-node-icon-bg-opacity),
|
|
444
|
-
transparent
|
|
445
|
-
);
|
|
412
|
+
background: color-mix(in srgb, var(--_icon-color) var(--fd-node-icon-bg-opacity), transparent);
|
|
446
413
|
flex-shrink: 0;
|
|
447
414
|
transition: all var(--fd-transition-normal);
|
|
448
415
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type { WorkflowNode } from
|
|
1
|
+
import type { WorkflowNode } from '../../types/index.js';
|
|
2
2
|
interface Props {
|
|
3
|
-
data: WorkflowNode[
|
|
3
|
+
data: WorkflowNode['data'] & {
|
|
4
4
|
nodeId?: string;
|
|
5
5
|
onConfigOpen?: (node: {
|
|
6
6
|
id: string;
|
|
7
7
|
type: string;
|
|
8
|
-
data: WorkflowNode[
|
|
8
|
+
data: WorkflowNode['data'];
|
|
9
9
|
}) => void;
|
|
10
10
|
};
|
|
11
11
|
selected?: boolean;
|
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
<script module>
|
|
2
|
-
import { defineMeta } from
|
|
3
|
-
import NodeDecorator from
|
|
2
|
+
import { defineMeta } from '@storybook/addon-svelte-csf';
|
|
3
|
+
import NodeDecorator from '../../stories/NodeDecorator.svelte';
|
|
4
4
|
|
|
5
5
|
const { Story } = defineMeta({
|
|
6
|
-
title:
|
|
7
|
-
tags: [
|
|
6
|
+
title: 'Nodes/IdeaNode',
|
|
7
|
+
tags: ['autodocs'],
|
|
8
8
|
parameters: {
|
|
9
|
-
layout:
|
|
10
|
-
}
|
|
9
|
+
layout: 'centered'
|
|
10
|
+
}
|
|
11
11
|
});
|
|
12
12
|
</script>
|
|
13
13
|
|
|
14
14
|
<Story name="Default">
|
|
15
15
|
<NodeDecorator
|
|
16
16
|
data={{
|
|
17
|
-
label:
|
|
17
|
+
label: 'Idea',
|
|
18
18
|
config: {},
|
|
19
19
|
metadata: {
|
|
20
|
-
id:
|
|
21
|
-
name:
|
|
22
|
-
description:
|
|
23
|
-
category:
|
|
24
|
-
version:
|
|
25
|
-
type:
|
|
20
|
+
id: 'idea',
|
|
21
|
+
name: 'Idea',
|
|
22
|
+
description: 'Planning node',
|
|
23
|
+
category: 'helpers',
|
|
24
|
+
version: '1.0.0',
|
|
25
|
+
type: 'idea',
|
|
26
26
|
inputs: [],
|
|
27
|
-
outputs: []
|
|
28
|
-
}
|
|
27
|
+
outputs: []
|
|
28
|
+
}
|
|
29
29
|
}}
|
|
30
30
|
/>
|
|
31
31
|
</Story>
|
|
@@ -33,21 +33,20 @@
|
|
|
33
33
|
<Story name="With Content">
|
|
34
34
|
<NodeDecorator
|
|
35
35
|
data={{
|
|
36
|
-
label:
|
|
36
|
+
label: 'Feature Idea',
|
|
37
37
|
config: {
|
|
38
|
-
content:
|
|
39
|
-
"Add batch processing support to handle multiple items in parallel.",
|
|
38
|
+
content: 'Add batch processing support to handle multiple items in parallel.'
|
|
40
39
|
},
|
|
41
40
|
metadata: {
|
|
42
|
-
id:
|
|
43
|
-
name:
|
|
44
|
-
description:
|
|
45
|
-
category:
|
|
46
|
-
version:
|
|
47
|
-
type:
|
|
41
|
+
id: 'idea',
|
|
42
|
+
name: 'Idea',
|
|
43
|
+
description: 'Planning node',
|
|
44
|
+
category: 'helpers',
|
|
45
|
+
version: '1.0.0',
|
|
46
|
+
type: 'idea',
|
|
48
47
|
inputs: [],
|
|
49
|
-
outputs: []
|
|
50
|
-
}
|
|
48
|
+
outputs: []
|
|
49
|
+
}
|
|
51
50
|
}}
|
|
52
51
|
/>
|
|
53
52
|
</Story>
|
|
@@ -7,10 +7,10 @@
|
|
|
7
7
|
-->
|
|
8
8
|
|
|
9
9
|
<script lang="ts">
|
|
10
|
-
import { Position, Handle } from
|
|
11
|
-
import type { ConfigValues, NodeMetadata } from
|
|
12
|
-
import Icon from
|
|
13
|
-
import { getDataTypeColor } from
|
|
10
|
+
import { Position, Handle } from '@xyflow/svelte';
|
|
11
|
+
import type { ConfigValues, NodeMetadata } from '../../types/index.js';
|
|
12
|
+
import Icon from '@iconify/svelte';
|
|
13
|
+
import { getDataTypeColor } from '../../utils/colors.js';
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* IdeaNode component props
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
(props.data.config?.title as string) ||
|
|
45
45
|
props.data.label ||
|
|
46
46
|
props.data.metadata?.name ||
|
|
47
|
-
|
|
47
|
+
'New Idea'
|
|
48
48
|
);
|
|
49
49
|
|
|
50
50
|
/**
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
(props.data.config?.instanceDescription as string) ||
|
|
58
58
|
(props.data.config?.description as string) ||
|
|
59
59
|
props.data.metadata?.description ||
|
|
60
|
-
|
|
60
|
+
'Click to add description...'
|
|
61
61
|
);
|
|
62
62
|
|
|
63
63
|
/**
|
|
@@ -66,39 +66,29 @@
|
|
|
66
66
|
const ideaIcon = $derived(
|
|
67
67
|
(props.data.config?.icon as string) ||
|
|
68
68
|
(props.data.metadata?.icon as string) ||
|
|
69
|
-
|
|
69
|
+
'mdi:lightbulb-outline'
|
|
70
70
|
);
|
|
71
71
|
|
|
72
72
|
/**
|
|
73
73
|
* Get accent color from config or metadata, with fallback
|
|
74
74
|
*/
|
|
75
75
|
const ideaColor = $derived(
|
|
76
|
-
(props.data.config?.color as string) ||
|
|
77
|
-
(props.data.metadata?.color as string) ||
|
|
78
|
-
"#6366f1",
|
|
76
|
+
(props.data.config?.color as string) || (props.data.metadata?.color as string) || '#6366f1'
|
|
79
77
|
);
|
|
80
78
|
|
|
81
79
|
/**
|
|
82
80
|
* Port visibility configuration from config
|
|
83
81
|
* Left and Right are enabled by default, Top and Bottom are disabled by default
|
|
84
82
|
*/
|
|
85
|
-
const enableLeftPort = $derived(
|
|
86
|
-
|
|
87
|
-
);
|
|
88
|
-
const
|
|
89
|
-
(props.data.config?.enableRightPort as boolean) ?? true,
|
|
90
|
-
);
|
|
91
|
-
const enableTopPort = $derived(
|
|
92
|
-
(props.data.config?.enableTopPort as boolean) ?? false,
|
|
93
|
-
);
|
|
94
|
-
const enableBottomPort = $derived(
|
|
95
|
-
(props.data.config?.enableBottomPort as boolean) ?? false,
|
|
96
|
-
);
|
|
83
|
+
const enableLeftPort = $derived((props.data.config?.enableLeftPort as boolean) ?? true);
|
|
84
|
+
const enableRightPort = $derived((props.data.config?.enableRightPort as boolean) ?? true);
|
|
85
|
+
const enableTopPort = $derived((props.data.config?.enableTopPort as boolean) ?? false);
|
|
86
|
+
const enableBottomPort = $derived((props.data.config?.enableBottomPort as boolean) ?? false);
|
|
97
87
|
|
|
98
88
|
/**
|
|
99
89
|
* Data type for idea flow connections
|
|
100
90
|
*/
|
|
101
|
-
const IDEA_DATA_TYPE =
|
|
91
|
+
const IDEA_DATA_TYPE = 'idea';
|
|
102
92
|
|
|
103
93
|
/**
|
|
104
94
|
* Opens the configuration sidebar for editing idea properties
|
|
@@ -106,9 +96,9 @@
|
|
|
106
96
|
function openConfigSidebar(): void {
|
|
107
97
|
if (props.data.onConfigOpen) {
|
|
108
98
|
const nodeForConfig = {
|
|
109
|
-
id: props.data.nodeId ||
|
|
110
|
-
type:
|
|
111
|
-
data: props.data
|
|
99
|
+
id: props.data.nodeId || 'unknown',
|
|
100
|
+
type: 'idea',
|
|
101
|
+
data: props.data
|
|
112
102
|
};
|
|
113
103
|
props.data.onConfigOpen(nodeForConfig);
|
|
114
104
|
}
|
|
@@ -133,7 +123,7 @@
|
|
|
133
123
|
* @param event - The keyboard event
|
|
134
124
|
*/
|
|
135
125
|
function handleKeydown(event: KeyboardEvent): void {
|
|
136
|
-
if (event.key ===
|
|
126
|
+
if (event.key === 'Enter' || event.key === ' ') {
|
|
137
127
|
event.preventDefault();
|
|
138
128
|
handleDoubleClick();
|
|
139
129
|
}
|
|
@@ -160,7 +150,7 @@
|
|
|
160
150
|
type="target"
|
|
161
151
|
position={Position.Left}
|
|
162
152
|
style="--fd-handle-fill: {getDataTypeColor(
|
|
163
|
-
IDEA_DATA_TYPE
|
|
153
|
+
IDEA_DATA_TYPE
|
|
164
154
|
)}; --fd-handle-border-color: var(--fd-handle-border); top: 40px; transform: translateY(-50%); z-index: 30;"
|
|
165
155
|
id={`${props.data.nodeId}-input-left`}
|
|
166
156
|
/>
|
|
@@ -172,7 +162,7 @@
|
|
|
172
162
|
type="target"
|
|
173
163
|
position={Position.Top}
|
|
174
164
|
style="--fd-handle-fill: {getDataTypeColor(
|
|
175
|
-
IDEA_DATA_TYPE
|
|
165
|
+
IDEA_DATA_TYPE
|
|
176
166
|
)}; --fd-handle-border-color: var(--fd-handle-border); left: 150px; transform: translateX(-50%); z-index: 30;"
|
|
177
167
|
id={`${props.data.nodeId}-input-top`}
|
|
178
168
|
/>
|
|
@@ -214,11 +204,7 @@
|
|
|
214
204
|
</div>
|
|
215
205
|
|
|
216
206
|
<!-- Config button -->
|
|
217
|
-
<button
|
|
218
|
-
class="flowdrop-idea-node__config-btn"
|
|
219
|
-
onclick={openConfigSidebar}
|
|
220
|
-
title="Configure idea"
|
|
221
|
-
>
|
|
207
|
+
<button class="flowdrop-idea-node__config-btn" onclick={openConfigSidebar} title="Configure idea">
|
|
222
208
|
<Icon icon="mdi:cog" />
|
|
223
209
|
</button>
|
|
224
210
|
|
|
@@ -228,7 +214,7 @@
|
|
|
228
214
|
type="source"
|
|
229
215
|
position={Position.Right}
|
|
230
216
|
style="--fd-handle-fill: {getDataTypeColor(
|
|
231
|
-
IDEA_DATA_TYPE
|
|
217
|
+
IDEA_DATA_TYPE
|
|
232
218
|
)}; --fd-handle-border-color: var(--fd-handle-border); top: 40px; transform: translateY(-50%); z-index: 30;"
|
|
233
219
|
id={`${props.data.nodeId}-output-right`}
|
|
234
220
|
/>
|
|
@@ -240,7 +226,7 @@
|
|
|
240
226
|
type="source"
|
|
241
227
|
position={Position.Bottom}
|
|
242
228
|
style="--fd-handle-fill: {getDataTypeColor(
|
|
243
|
-
IDEA_DATA_TYPE
|
|
229
|
+
IDEA_DATA_TYPE
|
|
244
230
|
)}; --fd-handle-border-color: var(--fd-handle-border); left: 150px; transform: translateX(-50%); z-index: 30;"
|
|
245
231
|
id={`${props.data.nodeId}-output-bottom`}
|
|
246
232
|
/>
|
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
<script module>
|
|
2
|
-
import { defineMeta } from
|
|
3
|
-
import NodeDecorator from
|
|
2
|
+
import { defineMeta } from '@storybook/addon-svelte-csf';
|
|
3
|
+
import NodeDecorator from '../../stories/NodeDecorator.svelte';
|
|
4
4
|
|
|
5
5
|
const { Story } = defineMeta({
|
|
6
|
-
title:
|
|
7
|
-
tags: [
|
|
6
|
+
title: 'Nodes/NotesNode',
|
|
7
|
+
tags: ['autodocs'],
|
|
8
8
|
parameters: {
|
|
9
|
-
layout:
|
|
10
|
-
}
|
|
9
|
+
layout: 'centered'
|
|
10
|
+
}
|
|
11
11
|
});
|
|
12
12
|
</script>
|
|
13
13
|
|
|
14
14
|
<Story name="Default">
|
|
15
15
|
<NodeDecorator
|
|
16
16
|
data={{
|
|
17
|
-
label:
|
|
17
|
+
label: 'Notes',
|
|
18
18
|
config: {},
|
|
19
19
|
metadata: {
|
|
20
|
-
id:
|
|
21
|
-
name:
|
|
22
|
-
description:
|
|
23
|
-
category:
|
|
24
|
-
version:
|
|
25
|
-
type:
|
|
20
|
+
id: 'notes',
|
|
21
|
+
name: 'Notes',
|
|
22
|
+
description: 'Documentation node',
|
|
23
|
+
category: 'helpers',
|
|
24
|
+
version: '1.0.0',
|
|
25
|
+
type: 'note',
|
|
26
26
|
inputs: [],
|
|
27
|
-
outputs: []
|
|
28
|
-
}
|
|
27
|
+
outputs: []
|
|
28
|
+
}
|
|
29
29
|
}}
|
|
30
30
|
/>
|
|
31
31
|
</Story>
|
|
@@ -33,22 +33,22 @@
|
|
|
33
33
|
<Story name="With Content">
|
|
34
34
|
<NodeDecorator
|
|
35
35
|
data={{
|
|
36
|
-
label:
|
|
36
|
+
label: 'Notes',
|
|
37
37
|
config: {
|
|
38
38
|
content:
|
|
39
|
-
|
|
40
|
-
noteType:
|
|
39
|
+
'## Important\n\nThis workflow handles **user onboarding**.\n\n- Step 1: Validate email\n- Step 2: Create account\n- Step 3: Send welcome email',
|
|
40
|
+
noteType: 'info'
|
|
41
41
|
},
|
|
42
42
|
metadata: {
|
|
43
|
-
id:
|
|
44
|
-
name:
|
|
45
|
-
description:
|
|
46
|
-
category:
|
|
47
|
-
version:
|
|
48
|
-
type:
|
|
43
|
+
id: 'notes',
|
|
44
|
+
name: 'Notes',
|
|
45
|
+
description: 'Documentation node',
|
|
46
|
+
category: 'helpers',
|
|
47
|
+
version: '1.0.0',
|
|
48
|
+
type: 'note',
|
|
49
49
|
inputs: [],
|
|
50
|
-
outputs: []
|
|
51
|
-
}
|
|
50
|
+
outputs: []
|
|
51
|
+
}
|
|
52
52
|
}}
|
|
53
53
|
/>
|
|
54
54
|
</Story>
|
|
@@ -56,22 +56,21 @@
|
|
|
56
56
|
<Story name="Warning">
|
|
57
57
|
<NodeDecorator
|
|
58
58
|
data={{
|
|
59
|
-
label:
|
|
59
|
+
label: 'Warning',
|
|
60
60
|
config: {
|
|
61
|
-
content:
|
|
62
|
-
|
|
63
|
-
noteType: "warning",
|
|
61
|
+
content: 'Rate limiting is applied to this API call. Max 100 requests/minute.',
|
|
62
|
+
noteType: 'warning'
|
|
64
63
|
},
|
|
65
64
|
metadata: {
|
|
66
|
-
id:
|
|
67
|
-
name:
|
|
68
|
-
description:
|
|
69
|
-
category:
|
|
70
|
-
version:
|
|
71
|
-
type:
|
|
65
|
+
id: 'notes',
|
|
66
|
+
name: 'Notes',
|
|
67
|
+
description: 'Documentation node',
|
|
68
|
+
category: 'helpers',
|
|
69
|
+
version: '1.0.0',
|
|
70
|
+
type: 'note',
|
|
72
71
|
inputs: [],
|
|
73
|
-
outputs: []
|
|
74
|
-
}
|
|
72
|
+
outputs: []
|
|
73
|
+
}
|
|
75
74
|
}}
|
|
76
75
|
/>
|
|
77
76
|
</Story>
|