@xyne/workflow-ui 0.1.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 +38 -0
- package/dist/components/automations/AutomationCard.d.ts +8 -0
- package/dist/components/automations/AutomationCard.d.ts.map +1 -0
- package/dist/components/automations/AutomationCard.js +55 -0
- package/dist/components/automations/AutomationCard.js.map +1 -0
- package/dist/components/automations/AutomationListView.d.ts +7 -0
- package/dist/components/automations/AutomationListView.d.ts.map +1 -0
- package/dist/components/automations/AutomationListView.js +22 -0
- package/dist/components/automations/AutomationListView.js.map +1 -0
- package/dist/components/automations/CreateWorkflowDialog.d.ts +7 -0
- package/dist/components/automations/CreateWorkflowDialog.d.ts.map +1 -0
- package/dist/components/automations/CreateWorkflowDialog.js +70 -0
- package/dist/components/automations/CreateWorkflowDialog.js.map +1 -0
- package/dist/components/builder/AddStepButton.d.ts +6 -0
- package/dist/components/builder/AddStepButton.d.ts.map +1 -0
- package/dist/components/builder/AddStepButton.js +7 -0
- package/dist/components/builder/AddStepButton.js.map +1 -0
- package/dist/components/builder/BranchEdge.d.ts +3 -0
- package/dist/components/builder/BranchEdge.d.ts.map +1 -0
- package/dist/components/builder/BranchEdge.js +19 -0
- package/dist/components/builder/BranchEdge.js.map +1 -0
- package/dist/components/builder/BuilderToolbar.d.ts +10 -0
- package/dist/components/builder/BuilderToolbar.d.ts.map +1 -0
- package/dist/components/builder/BuilderToolbar.js +16 -0
- package/dist/components/builder/BuilderToolbar.js.map +1 -0
- package/dist/components/builder/StepConfigDrawer.d.ts +11 -0
- package/dist/components/builder/StepConfigDrawer.d.ts.map +1 -0
- package/dist/components/builder/StepConfigDrawer.js +21 -0
- package/dist/components/builder/StepConfigDrawer.js.map +1 -0
- package/dist/components/builder/StepNode.d.ts +15 -0
- package/dist/components/builder/StepNode.d.ts.map +1 -0
- package/dist/components/builder/StepNode.js +56 -0
- package/dist/components/builder/StepNode.js.map +1 -0
- package/dist/components/builder/StepPalette.d.ts +7 -0
- package/dist/components/builder/StepPalette.d.ts.map +1 -0
- package/dist/components/builder/StepPalette.js +83 -0
- package/dist/components/builder/StepPalette.js.map +1 -0
- package/dist/components/builder/StepPicker.d.ts +9 -0
- package/dist/components/builder/StepPicker.d.ts.map +1 -0
- package/dist/components/builder/StepPicker.js +95 -0
- package/dist/components/builder/StepPicker.js.map +1 -0
- package/dist/components/builder/TerminalNode.d.ts +6 -0
- package/dist/components/builder/TerminalNode.d.ts.map +1 -0
- package/dist/components/builder/TerminalNode.js +7 -0
- package/dist/components/builder/TerminalNode.js.map +1 -0
- package/dist/components/builder/TriggerConfigPanel.d.ts +10 -0
- package/dist/components/builder/TriggerConfigPanel.d.ts.map +1 -0
- package/dist/components/builder/TriggerConfigPanel.js +49 -0
- package/dist/components/builder/TriggerConfigPanel.js.map +1 -0
- package/dist/components/builder/TriggerNode.d.ts +9 -0
- package/dist/components/builder/TriggerNode.d.ts.map +1 -0
- package/dist/components/builder/TriggerNode.js +30 -0
- package/dist/components/builder/TriggerNode.js.map +1 -0
- package/dist/components/builder/TriggerPicker.d.ts +8 -0
- package/dist/components/builder/TriggerPicker.d.ts.map +1 -0
- package/dist/components/builder/TriggerPicker.js +61 -0
- package/dist/components/builder/TriggerPicker.js.map +1 -0
- package/dist/components/builder/WorkflowBuilder.d.ts +20 -0
- package/dist/components/builder/WorkflowBuilder.d.ts.map +1 -0
- package/dist/components/builder/WorkflowBuilder.js +157 -0
- package/dist/components/builder/WorkflowBuilder.js.map +1 -0
- package/dist/components/builder/edge-types.d.ts +3 -0
- package/dist/components/builder/edge-types.d.ts.map +1 -0
- package/dist/components/builder/edge-types.js +5 -0
- package/dist/components/builder/edge-types.js.map +1 -0
- package/dist/components/builder/icons.d.ts +25 -0
- package/dist/components/builder/icons.d.ts.map +1 -0
- package/dist/components/builder/icons.js +43 -0
- package/dist/components/builder/icons.js.map +1 -0
- package/dist/components/builder/layout-engine.d.ts +44 -0
- package/dist/components/builder/layout-engine.d.ts.map +1 -0
- package/dist/components/builder/layout-engine.js +216 -0
- package/dist/components/builder/layout-engine.js.map +1 -0
- package/dist/components/builder/node-types.d.ts +3 -0
- package/dist/components/builder/node-types.d.ts.map +1 -0
- package/dist/components/builder/node-types.js +11 -0
- package/dist/components/builder/node-types.js.map +1 -0
- package/dist/components/builder/theme.d.ts +28 -0
- package/dist/components/builder/theme.d.ts.map +1 -0
- package/dist/components/builder/theme.js +63 -0
- package/dist/components/builder/theme.js.map +1 -0
- package/dist/components/builder/v2/AddStepButton.d.ts +6 -0
- package/dist/components/builder/v2/AddStepButton.d.ts.map +1 -0
- package/dist/components/builder/v2/AddStepButton.js +6 -0
- package/dist/components/builder/v2/AddStepButton.js.map +1 -0
- package/dist/components/builder/v2/BranchEdge.d.ts +3 -0
- package/dist/components/builder/v2/BranchEdge.d.ts.map +1 -0
- package/dist/components/builder/v2/BranchEdge.js +46 -0
- package/dist/components/builder/v2/BranchEdge.js.map +1 -0
- package/dist/components/builder/v2/LoopBodyEdge.d.ts +7 -0
- package/dist/components/builder/v2/LoopBodyEdge.d.ts.map +1 -0
- package/dist/components/builder/v2/LoopBodyEdge.js +19 -0
- package/dist/components/builder/v2/LoopBodyEdge.js.map +1 -0
- package/dist/components/builder/v2/LoopbackEdge.d.ts +10 -0
- package/dist/components/builder/v2/LoopbackEdge.d.ts.map +1 -0
- package/dist/components/builder/v2/LoopbackEdge.js +26 -0
- package/dist/components/builder/v2/LoopbackEdge.js.map +1 -0
- package/dist/components/builder/v2/StepNode.d.ts +21 -0
- package/dist/components/builder/v2/StepNode.d.ts.map +1 -0
- package/dist/components/builder/v2/StepNode.js +36 -0
- package/dist/components/builder/v2/StepNode.js.map +1 -0
- package/dist/components/builder/v2/StepPicker.d.ts +8 -0
- package/dist/components/builder/v2/StepPicker.d.ts.map +1 -0
- package/dist/components/builder/v2/StepPicker.js +73 -0
- package/dist/components/builder/v2/StepPicker.js.map +1 -0
- package/dist/components/builder/v2/TerminalNode.d.ts +6 -0
- package/dist/components/builder/v2/TerminalNode.d.ts.map +1 -0
- package/dist/components/builder/v2/TerminalNode.js +7 -0
- package/dist/components/builder/v2/TerminalNode.js.map +1 -0
- package/dist/components/builder/v2/TriggerNode.d.ts +10 -0
- package/dist/components/builder/v2/TriggerNode.d.ts.map +1 -0
- package/dist/components/builder/v2/TriggerNode.js +20 -0
- package/dist/components/builder/v2/TriggerNode.js.map +1 -0
- package/dist/components/builder/v2/TriggerPicker.d.ts +7 -0
- package/dist/components/builder/v2/TriggerPicker.d.ts.map +1 -0
- package/dist/components/builder/v2/TriggerPicker.js +45 -0
- package/dist/components/builder/v2/TriggerPicker.js.map +1 -0
- package/dist/components/builder/v2/WorkflowBuilder.d.ts +14 -0
- package/dist/components/builder/v2/WorkflowBuilder.d.ts.map +1 -0
- package/dist/components/builder/v2/WorkflowBuilder.js +189 -0
- package/dist/components/builder/v2/WorkflowBuilder.js.map +1 -0
- package/dist/components/builder/v2/edge-types.d.ts +3 -0
- package/dist/components/builder/v2/edge-types.d.ts.map +1 -0
- package/dist/components/builder/v2/edge-types.js +9 -0
- package/dist/components/builder/v2/edge-types.js.map +1 -0
- package/dist/components/builder/v2/icons.d.ts +25 -0
- package/dist/components/builder/v2/icons.d.ts.map +1 -0
- package/dist/components/builder/v2/icons.js +43 -0
- package/dist/components/builder/v2/icons.js.map +1 -0
- package/dist/components/builder/v2/layout-engine.d.ts +76 -0
- package/dist/components/builder/v2/layout-engine.d.ts.map +1 -0
- package/dist/components/builder/v2/layout-engine.js +465 -0
- package/dist/components/builder/v2/layout-engine.js.map +1 -0
- package/dist/components/builder/v2/node-types.d.ts +3 -0
- package/dist/components/builder/v2/node-types.d.ts.map +1 -0
- package/dist/components/builder/v2/node-types.js +11 -0
- package/dist/components/builder/v2/node-types.js.map +1 -0
- package/dist/components/builder/v2/theme.d.ts +28 -0
- package/dist/components/builder/v2/theme.d.ts.map +1 -0
- package/dist/components/builder/v2/theme.js +63 -0
- package/dist/components/builder/v2/theme.js.map +1 -0
- package/dist/components/builder/v3/BranchContainer.d.ts +17 -0
- package/dist/components/builder/v3/BranchContainer.d.ts.map +1 -0
- package/dist/components/builder/v3/BranchContainer.js +64 -0
- package/dist/components/builder/v3/BranchContainer.js.map +1 -0
- package/dist/components/builder/v3/BuilderToolbar.d.ts +11 -0
- package/dist/components/builder/v3/BuilderToolbar.d.ts.map +1 -0
- package/dist/components/builder/v3/BuilderToolbar.js +14 -0
- package/dist/components/builder/v3/BuilderToolbar.js.map +1 -0
- package/dist/components/builder/v3/CodeEditor.d.ts +10 -0
- package/dist/components/builder/v3/CodeEditor.d.ts.map +1 -0
- package/dist/components/builder/v3/CodeEditor.js +117 -0
- package/dist/components/builder/v3/CodeEditor.js.map +1 -0
- package/dist/components/builder/v3/ConditionEditorPanel.d.ts +10 -0
- package/dist/components/builder/v3/ConditionEditorPanel.d.ts.map +1 -0
- package/dist/components/builder/v3/ConditionEditorPanel.js +54 -0
- package/dist/components/builder/v3/ConditionEditorPanel.js.map +1 -0
- package/dist/components/builder/v3/Connector.d.ts +7 -0
- package/dist/components/builder/v3/Connector.d.ts.map +1 -0
- package/dist/components/builder/v3/Connector.js +9 -0
- package/dist/components/builder/v3/Connector.js.map +1 -0
- package/dist/components/builder/v3/DiscriminatedUnionEditor.d.ts +14 -0
- package/dist/components/builder/v3/DiscriminatedUnionEditor.d.ts.map +1 -0
- package/dist/components/builder/v3/DiscriminatedUnionEditor.js +69 -0
- package/dist/components/builder/v3/DiscriminatedUnionEditor.js.map +1 -0
- package/dist/components/builder/v3/EnhancedSchemaFormRenderer.d.ts +13 -0
- package/dist/components/builder/v3/EnhancedSchemaFormRenderer.d.ts.map +1 -0
- package/dist/components/builder/v3/EnhancedSchemaFormRenderer.js +231 -0
- package/dist/components/builder/v3/EnhancedSchemaFormRenderer.js.map +1 -0
- package/dist/components/builder/v3/InputSchemaBuilder.d.ts +7 -0
- package/dist/components/builder/v3/InputSchemaBuilder.d.ts.map +1 -0
- package/dist/components/builder/v3/InputSchemaBuilder.js +62 -0
- package/dist/components/builder/v3/InputSchemaBuilder.js.map +1 -0
- package/dist/components/builder/v3/KeyValueEditor.d.ts +12 -0
- package/dist/components/builder/v3/KeyValueEditor.d.ts.map +1 -0
- package/dist/components/builder/v3/KeyValueEditor.js +45 -0
- package/dist/components/builder/v3/KeyValueEditor.js.map +1 -0
- package/dist/components/builder/v3/LoopContainer.d.ts +9 -0
- package/dist/components/builder/v3/LoopContainer.d.ts.map +1 -0
- package/dist/components/builder/v3/LoopContainer.js +8 -0
- package/dist/components/builder/v3/LoopContainer.js.map +1 -0
- package/dist/components/builder/v3/MultiSelectCheckboxes.d.ts +8 -0
- package/dist/components/builder/v3/MultiSelectCheckboxes.d.ts.map +1 -0
- package/dist/components/builder/v3/MultiSelectCheckboxes.js +28 -0
- package/dist/components/builder/v3/MultiSelectCheckboxes.js.map +1 -0
- package/dist/components/builder/v3/OutputFieldsEditor.d.ts +12 -0
- package/dist/components/builder/v3/OutputFieldsEditor.d.ts.map +1 -0
- package/dist/components/builder/v3/OutputFieldsEditor.js +20 -0
- package/dist/components/builder/v3/OutputFieldsEditor.js.map +1 -0
- package/dist/components/builder/v3/SidePanel.d.ts +28 -0
- package/dist/components/builder/v3/SidePanel.d.ts.map +1 -0
- package/dist/components/builder/v3/SidePanel.js +13 -0
- package/dist/components/builder/v3/SidePanel.js.map +1 -0
- package/dist/components/builder/v3/StepConfigPanel.d.ts +14 -0
- package/dist/components/builder/v3/StepConfigPanel.d.ts.map +1 -0
- package/dist/components/builder/v3/StepConfigPanel.js +48 -0
- package/dist/components/builder/v3/StepConfigPanel.js.map +1 -0
- package/dist/components/builder/v3/StepNode.d.ts +18 -0
- package/dist/components/builder/v3/StepNode.d.ts.map +1 -0
- package/dist/components/builder/v3/StepNode.js +34 -0
- package/dist/components/builder/v3/StepNode.js.map +1 -0
- package/dist/components/builder/v3/StepPicker.d.ts +15 -0
- package/dist/components/builder/v3/StepPicker.d.ts.map +1 -0
- package/dist/components/builder/v3/StepPicker.js +71 -0
- package/dist/components/builder/v3/StepPicker.js.map +1 -0
- package/dist/components/builder/v3/StringArrayInput.d.ts +8 -0
- package/dist/components/builder/v3/StringArrayInput.d.ts.map +1 -0
- package/dist/components/builder/v3/StringArrayInput.js +28 -0
- package/dist/components/builder/v3/StringArrayInput.js.map +1 -0
- package/dist/components/builder/v3/SwitchCaseEditor.d.ts +15 -0
- package/dist/components/builder/v3/SwitchCaseEditor.d.ts.map +1 -0
- package/dist/components/builder/v3/SwitchCaseEditor.js +37 -0
- package/dist/components/builder/v3/SwitchCaseEditor.js.map +1 -0
- package/dist/components/builder/v3/TerminalNode.d.ts +2 -0
- package/dist/components/builder/v3/TerminalNode.d.ts.map +1 -0
- package/dist/components/builder/v3/TerminalNode.js +5 -0
- package/dist/components/builder/v3/TerminalNode.js.map +1 -0
- package/dist/components/builder/v3/TriggerConfigPanel.d.ts +11 -0
- package/dist/components/builder/v3/TriggerConfigPanel.d.ts.map +1 -0
- package/dist/components/builder/v3/TriggerConfigPanel.js +15 -0
- package/dist/components/builder/v3/TriggerConfigPanel.js.map +1 -0
- package/dist/components/builder/v3/TriggerNode.d.ts +9 -0
- package/dist/components/builder/v3/TriggerNode.d.ts.map +1 -0
- package/dist/components/builder/v3/TriggerNode.js +13 -0
- package/dist/components/builder/v3/TriggerNode.js.map +1 -0
- package/dist/components/builder/v3/TriggerPicker.d.ts +7 -0
- package/dist/components/builder/v3/TriggerPicker.d.ts.map +1 -0
- package/dist/components/builder/v3/TriggerPicker.js +43 -0
- package/dist/components/builder/v3/TriggerPicker.js.map +1 -0
- package/dist/components/builder/v3/VariablePickerPopover.d.ts +9 -0
- package/dist/components/builder/v3/VariablePickerPopover.d.ts.map +1 -0
- package/dist/components/builder/v3/VariablePickerPopover.js +78 -0
- package/dist/components/builder/v3/VariablePickerPopover.js.map +1 -0
- package/dist/components/builder/v3/VariableRefInput.d.ts +14 -0
- package/dist/components/builder/v3/VariableRefInput.d.ts.map +1 -0
- package/dist/components/builder/v3/VariableRefInput.js +88 -0
- package/dist/components/builder/v3/VariableRefInput.js.map +1 -0
- package/dist/components/builder/v3/WorkflowBuilderV3.d.ts +13 -0
- package/dist/components/builder/v3/WorkflowBuilderV3.d.ts.map +1 -0
- package/dist/components/builder/v3/WorkflowBuilderV3.js +124 -0
- package/dist/components/builder/v3/WorkflowBuilderV3.js.map +1 -0
- package/dist/components/builder/v3/WorkflowCanvas.d.ts +26 -0
- package/dist/components/builder/v3/WorkflowCanvas.d.ts.map +1 -0
- package/dist/components/builder/v3/WorkflowCanvas.js +25 -0
- package/dist/components/builder/v3/WorkflowCanvas.js.map +1 -0
- package/dist/components/builder/v3/WorkflowTree.d.ts +22 -0
- package/dist/components/builder/v3/WorkflowTree.d.ts.map +1 -0
- package/dist/components/builder/v3/WorkflowTree.js +70 -0
- package/dist/components/builder/v3/WorkflowTree.js.map +1 -0
- package/dist/components/dashboard/TriggerFormModal.d.ts +16 -0
- package/dist/components/dashboard/TriggerFormModal.d.ts.map +1 -0
- package/dist/components/dashboard/TriggerFormModal.js +160 -0
- package/dist/components/dashboard/TriggerFormModal.js.map +1 -0
- package/dist/components/dashboard/WorkflowDashboard.d.ts +19 -0
- package/dist/components/dashboard/WorkflowDashboard.d.ts.map +1 -0
- package/dist/components/dashboard/WorkflowDashboard.js +48 -0
- package/dist/components/dashboard/WorkflowDashboard.js.map +1 -0
- package/dist/components/execution/ExecutionEdge.d.ts +4 -0
- package/dist/components/execution/ExecutionEdge.d.ts.map +1 -0
- package/dist/components/execution/ExecutionEdge.js +27 -0
- package/dist/components/execution/ExecutionEdge.js.map +1 -0
- package/dist/components/execution/ExecutionHeader.d.ts +9 -0
- package/dist/components/execution/ExecutionHeader.d.ts.map +1 -0
- package/dist/components/execution/ExecutionHeader.js +22 -0
- package/dist/components/execution/ExecutionHeader.js.map +1 -0
- package/dist/components/execution/ExecutionStepNode.d.ts +14 -0
- package/dist/components/execution/ExecutionStepNode.d.ts.map +1 -0
- package/dist/components/execution/ExecutionStepNode.js +47 -0
- package/dist/components/execution/ExecutionStepNode.js.map +1 -0
- package/dist/components/execution/ExecutionTree.d.ts +12 -0
- package/dist/components/execution/ExecutionTree.d.ts.map +1 -0
- package/dist/components/execution/ExecutionTree.js +65 -0
- package/dist/components/execution/ExecutionTree.js.map +1 -0
- package/dist/components/execution/ExecutionTriggerNode.d.ts +9 -0
- package/dist/components/execution/ExecutionTriggerNode.d.ts.map +1 -0
- package/dist/components/execution/ExecutionTriggerNode.js +15 -0
- package/dist/components/execution/ExecutionTriggerNode.js.map +1 -0
- package/dist/components/execution/ExecutionViewer.d.ts +21 -0
- package/dist/components/execution/ExecutionViewer.d.ts.map +1 -0
- package/dist/components/execution/ExecutionViewer.js +194 -0
- package/dist/components/execution/ExecutionViewer.js.map +1 -0
- package/dist/components/execution/PauseFormRenderer.d.ts +11 -0
- package/dist/components/execution/PauseFormRenderer.d.ts.map +1 -0
- package/dist/components/execution/PauseFormRenderer.js +48 -0
- package/dist/components/execution/PauseFormRenderer.js.map +1 -0
- package/dist/components/execution/PauseInteractionPanel.d.ts +9 -0
- package/dist/components/execution/PauseInteractionPanel.d.ts.map +1 -0
- package/dist/components/execution/PauseInteractionPanel.js +46 -0
- package/dist/components/execution/PauseInteractionPanel.js.map +1 -0
- package/dist/components/execution/RerunDialog.d.ts +34 -0
- package/dist/components/execution/RerunDialog.d.ts.map +1 -0
- package/dist/components/execution/RerunDialog.js +97 -0
- package/dist/components/execution/RerunDialog.js.map +1 -0
- package/dist/components/execution/SchemaAwareRenderer.d.ts +7 -0
- package/dist/components/execution/SchemaAwareRenderer.d.ts.map +1 -0
- package/dist/components/execution/SchemaAwareRenderer.js +116 -0
- package/dist/components/execution/SchemaAwareRenderer.js.map +1 -0
- package/dist/components/execution/StepDetailPanel.d.ts +22 -0
- package/dist/components/execution/StepDetailPanel.d.ts.map +1 -0
- package/dist/components/execution/StepDetailPanel.js +144 -0
- package/dist/components/execution/StepDetailPanel.js.map +1 -0
- package/dist/components/execution/ValueEditor.d.ts +39 -0
- package/dist/components/execution/ValueEditor.d.ts.map +1 -0
- package/dist/components/execution/ValueEditor.js +191 -0
- package/dist/components/execution/ValueEditor.js.map +1 -0
- package/dist/components/execution/execution-layout.d.ts +31 -0
- package/dist/components/execution/execution-layout.d.ts.map +1 -0
- package/dist/components/execution/execution-layout.js +90 -0
- package/dist/components/execution/execution-layout.js.map +1 -0
- package/dist/components/index.d.ts +58 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +40 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/layout/AppShell.d.ts +8 -0
- package/dist/components/layout/AppShell.d.ts.map +1 -0
- package/dist/components/layout/AppShell.js +10 -0
- package/dist/components/layout/AppShell.js.map +1 -0
- package/dist/components/layout/Breadcrumb.d.ts +10 -0
- package/dist/components/layout/Breadcrumb.d.ts.map +1 -0
- package/dist/components/layout/Breadcrumb.js +33 -0
- package/dist/components/layout/Breadcrumb.js.map +1 -0
- package/dist/components/layout/PageHeader.d.ts +10 -0
- package/dist/components/layout/PageHeader.d.ts.map +1 -0
- package/dist/components/layout/PageHeader.js +10 -0
- package/dist/components/layout/PageHeader.js.map +1 -0
- package/dist/components/layout/Sidebar.d.ts +15 -0
- package/dist/components/layout/Sidebar.d.ts.map +1 -0
- package/dist/components/layout/Sidebar.js +30 -0
- package/dist/components/layout/Sidebar.js.map +1 -0
- package/dist/components/provider/WorkflowUIProvider.d.ts +18 -0
- package/dist/components/provider/WorkflowUIProvider.d.ts.map +1 -0
- package/dist/components/provider/WorkflowUIProvider.js +34 -0
- package/dist/components/provider/WorkflowUIProvider.js.map +1 -0
- package/dist/components/provider/slot-resolution.d.ts +13 -0
- package/dist/components/provider/slot-resolution.d.ts.map +1 -0
- package/dist/components/provider/slot-resolution.js +21 -0
- package/dist/components/provider/slot-resolution.js.map +1 -0
- package/dist/components/provider/workflow-ui-context.d.ts +30 -0
- package/dist/components/provider/workflow-ui-context.d.ts.map +1 -0
- package/dist/components/provider/workflow-ui-context.js +14 -0
- package/dist/components/provider/workflow-ui-context.js.map +1 -0
- package/dist/components/runs/RunsFilters.d.ts +7 -0
- package/dist/components/runs/RunsFilters.d.ts.map +1 -0
- package/dist/components/runs/RunsFilters.js +14 -0
- package/dist/components/runs/RunsFilters.js.map +1 -0
- package/dist/components/runs/RunsTable.d.ts +8 -0
- package/dist/components/runs/RunsTable.d.ts.map +1 -0
- package/dist/components/runs/RunsTable.js +96 -0
- package/dist/components/runs/RunsTable.js.map +1 -0
- package/dist/components/runs/RunsView.d.ts +12 -0
- package/dist/components/runs/RunsView.d.ts.map +1 -0
- package/dist/components/runs/RunsView.js +18 -0
- package/dist/components/runs/RunsView.js.map +1 -0
- package/dist/components/schema-form/SchemaFormRenderer.d.ts +19 -0
- package/dist/components/schema-form/SchemaFormRenderer.d.ts.map +1 -0
- package/dist/components/schema-form/SchemaFormRenderer.js +80 -0
- package/dist/components/schema-form/SchemaFormRenderer.js.map +1 -0
- package/dist/components/shared/EmptyState.d.ts +9 -0
- package/dist/components/shared/EmptyState.d.ts.map +1 -0
- package/dist/components/shared/EmptyState.js +7 -0
- package/dist/components/shared/EmptyState.js.map +1 -0
- package/dist/components/shared/ErrorBoundary.d.ts +16 -0
- package/dist/components/shared/ErrorBoundary.d.ts.map +1 -0
- package/dist/components/shared/ErrorBoundary.js +19 -0
- package/dist/components/shared/ErrorBoundary.js.map +1 -0
- package/dist/components/shared/LoadingSpinner.d.ts +6 -0
- package/dist/components/shared/LoadingSpinner.d.ts.map +1 -0
- package/dist/components/shared/LoadingSpinner.js +11 -0
- package/dist/components/shared/LoadingSpinner.js.map +1 -0
- package/dist/components/shared/StatusBadge.d.ts +8 -0
- package/dist/components/shared/StatusBadge.d.ts.map +1 -0
- package/dist/components/shared/StatusBadge.js +25 -0
- package/dist/components/shared/StatusBadge.js.map +1 -0
- package/dist/components/shared/cn.d.ts +9 -0
- package/dist/components/shared/cn.d.ts.map +1 -0
- package/dist/components/shared/cn.js +12 -0
- package/dist/components/shared/cn.js.map +1 -0
- package/dist/hooks/index.d.ts +34 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +25 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/use-condition-editor.d.ts +18 -0
- package/dist/hooks/use-condition-editor.d.ts.map +1 -0
- package/dist/hooks/use-condition-editor.js +115 -0
- package/dist/hooks/use-condition-editor.js.map +1 -0
- package/dist/hooks/use-execution-rerun.d.ts +26 -0
- package/dist/hooks/use-execution-rerun.d.ts.map +1 -0
- package/dist/hooks/use-execution-rerun.js +40 -0
- package/dist/hooks/use-execution-rerun.js.map +1 -0
- package/dist/hooks/use-execution-viewer.d.ts +33 -0
- package/dist/hooks/use-execution-viewer.d.ts.map +1 -0
- package/dist/hooks/use-execution-viewer.js +380 -0
- package/dist/hooks/use-execution-viewer.js.map +1 -0
- package/dist/hooks/use-pause-interaction.d.ts +13 -0
- package/dist/hooks/use-pause-interaction.d.ts.map +1 -0
- package/dist/hooks/use-pause-interaction.js +72 -0
- package/dist/hooks/use-pause-interaction.js.map +1 -0
- package/dist/hooks/use-runs-list.d.ts +20 -0
- package/dist/hooks/use-runs-list.d.ts.map +1 -0
- package/dist/hooks/use-runs-list.js +89 -0
- package/dist/hooks/use-runs-list.js.map +1 -0
- package/dist/hooks/use-schema-form.d.ts +47 -0
- package/dist/hooks/use-schema-form.d.ts.map +1 -0
- package/dist/hooks/use-schema-form.js +247 -0
- package/dist/hooks/use-schema-form.js.map +1 -0
- package/dist/hooks/use-step-config.d.ts +13 -0
- package/dist/hooks/use-step-config.d.ts.map +1 -0
- package/dist/hooks/use-step-config.js +40 -0
- package/dist/hooks/use-step-config.js.map +1 -0
- package/dist/hooks/use-step-metadata.d.ts +37 -0
- package/dist/hooks/use-step-metadata.d.ts.map +1 -0
- package/dist/hooks/use-step-metadata.js +113 -0
- package/dist/hooks/use-step-metadata.js.map +1 -0
- package/dist/hooks/use-trigger-config.d.ts +13 -0
- package/dist/hooks/use-trigger-config.d.ts.map +1 -0
- package/dist/hooks/use-trigger-config.js +40 -0
- package/dist/hooks/use-trigger-config.js.map +1 -0
- package/dist/hooks/use-undo-redo.d.ts +17 -0
- package/dist/hooks/use-undo-redo.d.ts.map +1 -0
- package/dist/hooks/use-undo-redo.js +58 -0
- package/dist/hooks/use-undo-redo.js.map +1 -0
- package/dist/hooks/use-variable-picker.d.ts +26 -0
- package/dist/hooks/use-variable-picker.d.ts.map +1 -0
- package/dist/hooks/use-variable-picker.js +132 -0
- package/dist/hooks/use-variable-picker.js.map +1 -0
- package/dist/hooks/use-workflow-builder.d.ts +47 -0
- package/dist/hooks/use-workflow-builder.d.ts.map +1 -0
- package/dist/hooks/use-workflow-builder.js +374 -0
- package/dist/hooks/use-workflow-builder.js.map +1 -0
- package/dist/hooks/use-workflow-client.d.ts +8 -0
- package/dist/hooks/use-workflow-client.d.ts.map +1 -0
- package/dist/hooks/use-workflow-client.js +15 -0
- package/dist/hooks/use-workflow-client.js.map +1 -0
- package/dist/hooks/use-workflow-list.d.ts +11 -0
- package/dist/hooks/use-workflow-list.d.ts.map +1 -0
- package/dist/hooks/use-workflow-list.js +43 -0
- package/dist/hooks/use-workflow-list.js.map +1 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +41 -0
- package/dist/index.js.map +1 -0
- package/dist/styles.css +117 -0
- package/dist/test-setup.d.ts +2 -0
- package/dist/test-setup.d.ts.map +1 -0
- package/dist/test-setup.js +2 -0
- package/dist/test-setup.js.map +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/slots.d.ts +18 -0
- package/dist/types/slots.d.ts.map +1 -0
- package/dist/types/slots.js +2 -0
- package/dist/types/slots.js.map +1 -0
- package/dist/utils/branch-detection.d.ts +83 -0
- package/dist/utils/branch-detection.d.ts.map +1 -0
- package/dist/utils/branch-detection.js +247 -0
- package/dist/utils/branch-detection.js.map +1 -0
- package/package.json +72 -0
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo } from 'react';
|
|
3
|
+
import { itemSchemaToFields, detectItemDiscriminatedUnion } from '../../../hooks/use-schema-form.js';
|
|
4
|
+
import { VariableRefInput } from './VariableRefInput.js';
|
|
5
|
+
import { KeyValueEditor } from './KeyValueEditor.js';
|
|
6
|
+
import { DiscriminatedUnionEditor } from './DiscriminatedUnionEditor.js';
|
|
7
|
+
import { CodeEditor } from './CodeEditor.js';
|
|
8
|
+
import { OutputFieldsEditor } from './OutputFieldsEditor.js';
|
|
9
|
+
import { StringArrayInput } from './StringArrayInput.js';
|
|
10
|
+
import { MultiSelectCheckboxes } from './MultiSelectCheckboxes.js';
|
|
11
|
+
import { InputSchemaBuilder } from './InputSchemaBuilder.js';
|
|
12
|
+
import { cn } from '../../shared/cn.js';
|
|
13
|
+
function getNestedValue(obj, path) {
|
|
14
|
+
if (path === '')
|
|
15
|
+
return obj;
|
|
16
|
+
const parts = path.split('.');
|
|
17
|
+
let current = obj;
|
|
18
|
+
for (const part of parts) {
|
|
19
|
+
if (current === null || current === undefined || typeof current !== 'object')
|
|
20
|
+
return undefined;
|
|
21
|
+
current = current[part];
|
|
22
|
+
}
|
|
23
|
+
return current;
|
|
24
|
+
}
|
|
25
|
+
export function EnhancedSchemaFormRenderer({ fields, values, errors, onChange, config, atStepId, readOnly, }) {
|
|
26
|
+
return (_jsx("div", { className: "space-y-4", children: fields.map((field) => (_jsx(EnhancedFieldRenderer, { field: field, value: getNestedValue(values, field.path), error: errors[field.path], onChange: (val) => onChange(field.path, val), config: config, atStepId: atStepId, readOnly: readOnly }, field.path))) }));
|
|
27
|
+
}
|
|
28
|
+
function EnhancedFieldRenderer({ field, value, error, onChange, config, atStepId, readOnly, }) {
|
|
29
|
+
const inputClasses = cn('w-full rounded-lg border px-3 py-2 text-sm', 'bg-white text-[var(--wui-fg)]', 'outline-none transition-all', error
|
|
30
|
+
? 'border-red-300 focus:border-red-400 focus:ring-2 focus:ring-red-100'
|
|
31
|
+
: 'border-[var(--wui-border)] focus:border-[var(--wui-primary)] focus:ring-2 focus:ring-[var(--wui-primary)]/10', readOnly && 'opacity-60 cursor-not-allowed bg-[var(--wui-bg-subtle)]');
|
|
32
|
+
const renderInput = () => {
|
|
33
|
+
if (field.enumValues) {
|
|
34
|
+
return (_jsxs("select", { value: String(value ?? ''), onChange: (e) => onChange(e.target.value), disabled: readOnly, className: inputClasses, children: [_jsx("option", { value: "", children: "Select..." }), field.enumValues.map((v) => (_jsx("option", { value: v, children: v }, v)))] }));
|
|
35
|
+
}
|
|
36
|
+
switch (field.type) {
|
|
37
|
+
case 'boolean': {
|
|
38
|
+
// Tri-state dropdown: True / False / (Unset for optional fields).
|
|
39
|
+
// Clearer than a toggle when the field is nullable — toggle can't
|
|
40
|
+
// distinguish "user chose false" from "user hasn't set it".
|
|
41
|
+
const currentValue = value === true ? 'true' : value === false ? 'false' : '';
|
|
42
|
+
return (_jsxs("select", { value: currentValue, onChange: (e) => {
|
|
43
|
+
const v = e.target.value;
|
|
44
|
+
if (v === 'true')
|
|
45
|
+
onChange(true);
|
|
46
|
+
else if (v === 'false')
|
|
47
|
+
onChange(false);
|
|
48
|
+
else
|
|
49
|
+
onChange(undefined);
|
|
50
|
+
}, disabled: readOnly, className: inputClasses, children: [!field.required && _jsx("option", { value: "", children: "Unset" }), _jsx("option", { value: "true", children: "True" }), _jsx("option", { value: "false", children: "False" })] }));
|
|
51
|
+
}
|
|
52
|
+
case 'number':
|
|
53
|
+
case 'integer':
|
|
54
|
+
return (_jsx("input", { type: "number", value: value !== undefined && value !== null ? String(value) : '', onChange: (e) => onChange(e.target.value === '' ? undefined : Number(e.target.value)), placeholder: field.placeholder ?? field.description, disabled: readOnly, step: field.type === 'integer' ? 1 : undefined, className: inputClasses }));
|
|
55
|
+
case 'object':
|
|
56
|
+
// JSON Schema builder (format: 'json-schema')
|
|
57
|
+
if (field.format === 'json-schema') {
|
|
58
|
+
return (_jsx(InputSchemaBuilder, { value: value, onChange: (val) => onChange(val), disabled: readOnly }));
|
|
59
|
+
}
|
|
60
|
+
// Discriminated union (anyOf with const discriminator)
|
|
61
|
+
if (field.discriminator) {
|
|
62
|
+
return (_jsx(DiscriminatedUnionEditor, { field: field, value: value, onChange: (val) => onChange(val), config: config, atStepId: atStepId, readOnly: readOnly, renderField: (vf, vfValue, vfOnChange) => (_jsx(EnhancedFieldRenderer, { field: vf, value: vfValue, onChange: vfOnChange, config: config, atStepId: atStepId, readOnly: readOnly })) }));
|
|
63
|
+
}
|
|
64
|
+
// Record type (additionalProperties) — key-value editor
|
|
65
|
+
if (field.additionalPropertiesSchema) {
|
|
66
|
+
return (_jsx(KeyValueEditor, { value: value, onChange: (val) => onChange(val), config: config, atStepId: atStepId, disabled: readOnly }));
|
|
67
|
+
}
|
|
68
|
+
// Nested object with explicit properties
|
|
69
|
+
if (field.children && field.children.length > 0) {
|
|
70
|
+
return (_jsx("div", { className: "ml-1 mt-2 space-y-3 border-l-2 border-[var(--wui-border)] pl-4", children: field.children.map((child) => (_jsx(EnhancedFieldRenderer, { field: child, value: getNestedValue(value ?? {}, child.path.slice(field.path.length + 1)), onChange: (val) => onChange({
|
|
71
|
+
...(value ?? {}),
|
|
72
|
+
[child.path.slice(field.path.length + 1)]: val,
|
|
73
|
+
}), config: config, atStepId: atStepId, readOnly: readOnly }, child.path))) }));
|
|
74
|
+
}
|
|
75
|
+
// Fallback: raw JSON textarea
|
|
76
|
+
return (_jsx("textarea", { value: value ? JSON.stringify(value, null, 2) : '', onChange: (e) => {
|
|
77
|
+
try {
|
|
78
|
+
onChange(JSON.parse(e.target.value));
|
|
79
|
+
}
|
|
80
|
+
catch { /* invalid JSON */ }
|
|
81
|
+
}, disabled: readOnly, rows: 4, className: cn(inputClasses, 'font-mono text-xs leading-relaxed'), placeholder: "{}" }));
|
|
82
|
+
case 'array':
|
|
83
|
+
if (field.format === 'output-fields') {
|
|
84
|
+
return (_jsx(OutputFieldsEditor, { value: value, onChange: onChange, disabled: readOnly }));
|
|
85
|
+
}
|
|
86
|
+
// Multi-select checkboxes: array + items with enum
|
|
87
|
+
if (field.itemSchema?.['enum'] && Array.isArray(field.itemSchema['enum'])) {
|
|
88
|
+
return (_jsx(MultiSelectCheckboxes, { options: field.itemSchema['enum'], value: value, onChange: (val) => onChange(val), disabled: readOnly }));
|
|
89
|
+
}
|
|
90
|
+
// Tag input: array + items.type === 'string' (no enum)
|
|
91
|
+
if (field.itemSchema?.['type'] === 'string' && !field.itemSchema['enum']) {
|
|
92
|
+
return (_jsx(StringArrayInput, { value: value, onChange: (val) => onChange(val), placeholder: field.description, disabled: readOnly }));
|
|
93
|
+
}
|
|
94
|
+
// Structured array editor when itemSchema describes object items
|
|
95
|
+
if (field.itemSchema && (field.itemSchema['type'] === 'object' || field.itemSchema['anyOf'] || field.itemSchema['oneOf'])) {
|
|
96
|
+
return (_jsx(ArrayOfObjectsEditor, { itemSchema: field.itemSchema, value: value, onChange: onChange, config: config, atStepId: atStepId, readOnly: readOnly }));
|
|
97
|
+
}
|
|
98
|
+
return (_jsx("textarea", { value: value ? JSON.stringify(value, null, 2) : '', onChange: (e) => {
|
|
99
|
+
try {
|
|
100
|
+
onChange(JSON.parse(e.target.value));
|
|
101
|
+
}
|
|
102
|
+
catch { /* invalid JSON */ }
|
|
103
|
+
}, disabled: readOnly, rows: 4, className: cn(inputClasses, 'font-mono text-xs leading-relaxed'), placeholder: "[]" }));
|
|
104
|
+
default:
|
|
105
|
+
// Code editor — CodeMirror with autocomplete
|
|
106
|
+
if (field.format === 'code') {
|
|
107
|
+
return (_jsx(CodeEditor, { value: String(value ?? ''), onChange: onChange, config: config, atStepId: atStepId, readOnly: readOnly }));
|
|
108
|
+
}
|
|
109
|
+
// All other string fields get the variable ref input with {{ }} picker
|
|
110
|
+
return (_jsx(VariableRefInput, { value: value, onChange: onChange, config: config, atStepId: atStepId, placeholder: field.placeholder ?? field.description, disabled: readOnly }));
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
return (_jsxs("div", { className: "space-y-1.5", children: [_jsxs("label", { className: "flex items-center gap-1 text-xs font-medium text-[var(--wui-fg)]", children: [field.label, field.required && _jsx("span", { className: "text-red-400", children: "*" }), field.acceptsVariableRef && (_jsx("span", { className: "ml-auto rounded bg-indigo-50 px-1 py-0.5 text-[9px] font-semibold text-indigo-500", children: '{{var}}' }))] }), renderInput(), field.description && (_jsx("p", { className: "text-[11px] leading-relaxed text-[var(--wui-fg-muted)]", children: field.description })), error && (_jsxs("p", { className: "flex items-center gap-1 text-[11px] text-red-500", children: [_jsxs("svg", { width: "10", height: "10", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "3", strokeLinecap: "round", children: [_jsx("circle", { cx: "12", cy: "12", r: "10" }), _jsx("path", { d: "M12 8v4" }), _jsx("path", { d: "M12 16h.01" })] }), error] }))] }));
|
|
114
|
+
}
|
|
115
|
+
// ─── Array of objects editor ───
|
|
116
|
+
const DISC_PILL_COLORS = {
|
|
117
|
+
set: { bg: 'bg-sky-100', text: 'text-sky-700' },
|
|
118
|
+
rename: { bg: 'bg-amber-100', text: 'text-amber-700' },
|
|
119
|
+
remove: { bg: 'bg-rose-100', text: 'text-rose-700' },
|
|
120
|
+
copy: { bg: 'bg-violet-100', text: 'text-violet-700' },
|
|
121
|
+
text: { bg: 'bg-slate-100', text: 'text-slate-700' },
|
|
122
|
+
textarea: { bg: 'bg-slate-100', text: 'text-slate-700' },
|
|
123
|
+
number: { bg: 'bg-blue-100', text: 'text-blue-700' },
|
|
124
|
+
select: { bg: 'bg-indigo-100', text: 'text-indigo-700' },
|
|
125
|
+
checkbox: { bg: 'bg-emerald-100', text: 'text-emerald-700' },
|
|
126
|
+
};
|
|
127
|
+
const DISC_DEFAULT_PILL = { bg: 'bg-slate-100', text: 'text-slate-600' };
|
|
128
|
+
/** Build a short summary of an item for display in the header. */
|
|
129
|
+
function itemSummary(item, discField) {
|
|
130
|
+
const parts = [];
|
|
131
|
+
for (const [k, v] of Object.entries(item)) {
|
|
132
|
+
if (k === discField)
|
|
133
|
+
continue;
|
|
134
|
+
if (v === undefined || v === null || v === '')
|
|
135
|
+
continue;
|
|
136
|
+
const str = typeof v === 'string' ? v : JSON.stringify(v);
|
|
137
|
+
const truncated = str.length > 40 ? str.slice(0, 37) + '...' : str;
|
|
138
|
+
parts.push(truncated);
|
|
139
|
+
if (parts.length >= 2)
|
|
140
|
+
break;
|
|
141
|
+
}
|
|
142
|
+
return parts.join(' \u2192 ');
|
|
143
|
+
}
|
|
144
|
+
function ArrayOfObjectsEditor({ itemSchema, value, onChange, config, atStepId, readOnly, }) {
|
|
145
|
+
const items = value ?? [];
|
|
146
|
+
const discriminator = useMemo(() => detectItemDiscriminatedUnion(itemSchema), [itemSchema]);
|
|
147
|
+
const simpleFields = useMemo(() => (discriminator ? null : itemSchemaToFields(itemSchema)), [itemSchema, discriminator]);
|
|
148
|
+
const handleAdd = () => {
|
|
149
|
+
const empty = {};
|
|
150
|
+
if (discriminator) {
|
|
151
|
+
const firstVariant = Object.keys(discriminator.variants)[0];
|
|
152
|
+
if (firstVariant)
|
|
153
|
+
empty[discriminator.field] = firstVariant;
|
|
154
|
+
}
|
|
155
|
+
onChange([...items, empty]);
|
|
156
|
+
};
|
|
157
|
+
const handleRemove = (index) => {
|
|
158
|
+
onChange(items.filter((_, i) => i !== index));
|
|
159
|
+
};
|
|
160
|
+
const handleUpdate = (index, updated) => {
|
|
161
|
+
const next = [...items];
|
|
162
|
+
next[index] = updated;
|
|
163
|
+
onChange(next);
|
|
164
|
+
};
|
|
165
|
+
const handleMove = (index, direction) => {
|
|
166
|
+
const newIndex = index + direction;
|
|
167
|
+
if (newIndex < 0 || newIndex >= items.length)
|
|
168
|
+
return;
|
|
169
|
+
const next = [...items];
|
|
170
|
+
[next[index], next[newIndex]] = [next[newIndex], next[index]];
|
|
171
|
+
onChange(next);
|
|
172
|
+
};
|
|
173
|
+
return (_jsxs("div", { className: "space-y-2", children: [items.map((item, index) => (_jsx(ArrayItemRow, { item: item, index: index, total: items.length, simpleFields: simpleFields, discriminator: discriminator, config: config, atStepId: atStepId, readOnly: readOnly, onUpdate: (updated) => handleUpdate(index, updated), onRemove: () => handleRemove(index), onMoveUp: () => handleMove(index, -1), onMoveDown: () => handleMove(index, 1) }, index))), !readOnly && (_jsxs("button", { onClick: handleAdd, type: "button", className: "flex w-full items-center justify-center gap-1.5 rounded-lg border border-dashed border-slate-300 py-2.5 text-[12px] font-medium text-slate-400 hover:border-indigo-300 hover:text-indigo-500 hover:bg-indigo-50/50 transition-all", children: [_jsxs("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", children: [_jsx("path", { d: "M12 5v14" }), _jsx("path", { d: "M5 12h14" })] }), "Add item"] }))] }));
|
|
174
|
+
}
|
|
175
|
+
function ArrayItemRow({ item, index, total, simpleFields, discriminator, config, atStepId, readOnly, onUpdate, onRemove, onMoveUp, onMoveDown, }) {
|
|
176
|
+
const discValue = discriminator ? String(item[discriminator.field] ?? '') : '';
|
|
177
|
+
const fields = discriminator
|
|
178
|
+
? discriminator.variants[discValue] ?? []
|
|
179
|
+
: simpleFields ?? [];
|
|
180
|
+
const summary = itemSummary(item, discriminator?.field);
|
|
181
|
+
const pillColor = DISC_PILL_COLORS[discValue] ?? DISC_DEFAULT_PILL;
|
|
182
|
+
const handleFieldChange = (key, val) => {
|
|
183
|
+
onUpdate({ ...item, [key]: val });
|
|
184
|
+
};
|
|
185
|
+
return (_jsxs("div", { className: "relative rounded-lg border border-slate-200 bg-white shadow-sm", children: [_jsxs("div", { className: "flex items-center gap-2 border-b border-slate-100 px-3 py-2", children: [_jsx("span", { className: "flex h-5 w-5 shrink-0 items-center justify-center rounded bg-slate-100 text-[10px] font-bold text-slate-400", children: index + 1 }), discriminator && discValue && (_jsx("span", { className: cn('shrink-0 rounded-full px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wide', pillColor.bg, pillColor.text), children: discValue })), summary && (_jsx("span", { className: "min-w-0 truncate text-[11px] text-slate-400 font-mono", children: summary })), _jsx("div", { className: "flex-1" }), !readOnly && (_jsxs("div", { className: "flex shrink-0 items-center gap-0.5", children: [_jsx("button", { onClick: onMoveUp, type: "button", disabled: index === 0, className: "flex h-5 w-5 items-center justify-center rounded text-slate-300 hover:text-slate-600 hover:bg-slate-100 transition-colors disabled:opacity-30 disabled:cursor-not-allowed", children: _jsx("svg", { width: "10", height: "10", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", children: _jsx("path", { d: "m18 15-6-6-6 6" }) }) }), _jsx("button", { onClick: onMoveDown, type: "button", disabled: index === total - 1, className: "flex h-5 w-5 items-center justify-center rounded text-slate-300 hover:text-slate-600 hover:bg-slate-100 transition-colors disabled:opacity-30 disabled:cursor-not-allowed", children: _jsx("svg", { width: "10", height: "10", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", children: _jsx("path", { d: "m6 9 6 6 6-6" }) }) }), _jsx("div", { className: "mx-0.5 h-3 w-px bg-slate-200" }), _jsx("button", { onClick: onRemove, type: "button", className: "flex h-5 w-5 items-center justify-center rounded text-slate-300 hover:text-red-500 hover:bg-red-50 transition-colors", children: _jsxs("svg", { width: "10", height: "10", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", children: [_jsx("path", { d: "M18 6 6 18" }), _jsx("path", { d: "m6 6 12 12" })] }) })] }))] }), _jsxs("div", { className: "space-y-3 px-3 py-3", children: [discriminator && (_jsxs("div", { className: "space-y-1.5", children: [_jsx("label", { className: "text-[10px] font-semibold text-slate-400 uppercase tracking-wider", children: discriminator.field.charAt(0).toUpperCase() + discriminator.field.slice(1) }), _jsx("div", { className: "flex flex-wrap gap-1", children: Object.keys(discriminator.variants).map((v) => {
|
|
186
|
+
const isActive = v === discValue;
|
|
187
|
+
const color = DISC_PILL_COLORS[v] ?? DISC_DEFAULT_PILL;
|
|
188
|
+
return (_jsx("button", { type: "button", onClick: () => !readOnly && onUpdate({ [discriminator.field]: v }), disabled: readOnly, className: cn('rounded-md px-2.5 py-1 text-[11px] font-medium capitalize transition-all', isActive
|
|
189
|
+
? `${color.bg} ${color.text} ring-1 ring-offset-0 ${color.bg.replace('bg-', 'ring-').replace('100', '300')}`
|
|
190
|
+
: 'bg-slate-50 text-slate-500 hover:bg-slate-100', readOnly && 'opacity-60 cursor-not-allowed'), children: v }, v));
|
|
191
|
+
}) })] })), fields.map((field) => {
|
|
192
|
+
const key = field.path.split('.').pop() ?? field.path;
|
|
193
|
+
return (_jsx(ArrayItemField, { field: field, value: item[key], config: config, atStepId: atStepId, readOnly: readOnly, onChange: (val) => handleFieldChange(key, val) }, key));
|
|
194
|
+
})] })] }));
|
|
195
|
+
}
|
|
196
|
+
function ArrayItemField({ field, value, config, atStepId, readOnly, onChange, }) {
|
|
197
|
+
const inputClasses = 'w-full rounded-md border border-slate-200 px-2.5 py-1.5 text-[12px] bg-white text-slate-700 outline-none focus:border-indigo-400 focus:ring-1 focus:ring-indigo-100';
|
|
198
|
+
const renderInput = () => {
|
|
199
|
+
if (field.enumValues) {
|
|
200
|
+
return (_jsxs("select", { value: String(value ?? ''), onChange: (e) => onChange(e.target.value), disabled: readOnly, className: inputClasses, children: [_jsx("option", { value: "", children: "Select..." }), field.enumValues.map((v) => (_jsx("option", { value: v, children: v }, v)))] }));
|
|
201
|
+
}
|
|
202
|
+
switch (field.type) {
|
|
203
|
+
case 'boolean': {
|
|
204
|
+
const currentValue = value === true ? 'true' : value === false ? 'false' : '';
|
|
205
|
+
return (_jsxs("select", { value: currentValue, onChange: (e) => {
|
|
206
|
+
const v = e.target.value;
|
|
207
|
+
if (v === 'true')
|
|
208
|
+
onChange(true);
|
|
209
|
+
else if (v === 'false')
|
|
210
|
+
onChange(false);
|
|
211
|
+
else
|
|
212
|
+
onChange(undefined);
|
|
213
|
+
}, disabled: readOnly, className: inputClasses, children: [!field.required && _jsx("option", { value: "", children: "Unset" }), _jsx("option", { value: "true", children: "True" }), _jsx("option", { value: "false", children: "False" })] }));
|
|
214
|
+
}
|
|
215
|
+
case 'number':
|
|
216
|
+
case 'integer':
|
|
217
|
+
return (_jsx("input", { type: "number", value: value !== undefined && value !== null ? String(value) : '', onChange: (e) => onChange(e.target.value === '' ? undefined : Number(e.target.value)), placeholder: field.placeholder ?? field.description, disabled: readOnly, className: inputClasses }));
|
|
218
|
+
case 'array':
|
|
219
|
+
return (_jsx("textarea", { value: value ? JSON.stringify(value, null, 2) : '', onChange: (e) => {
|
|
220
|
+
try {
|
|
221
|
+
onChange(JSON.parse(e.target.value));
|
|
222
|
+
}
|
|
223
|
+
catch { /* invalid JSON */ }
|
|
224
|
+
}, disabled: readOnly, rows: 3, className: cn(inputClasses, 'font-mono text-[11px]'), placeholder: "[]" }));
|
|
225
|
+
default:
|
|
226
|
+
return (_jsx(VariableRefInput, { value: value, onChange: onChange, config: config, atStepId: atStepId, placeholder: field.placeholder ?? field.description, disabled: readOnly, compact: true }));
|
|
227
|
+
}
|
|
228
|
+
};
|
|
229
|
+
return (_jsxs("div", { className: "space-y-1", children: [_jsxs("label", { className: "flex items-center gap-1 text-[11px] font-medium text-slate-600", children: [field.label, field.required && _jsx("span", { className: "text-red-400 text-[10px]", children: "*" }), field.description && (_jsx("span", { className: "ml-auto text-[10px] font-normal text-slate-400 truncate max-w-[50%]", title: field.description, children: field.description }))] }), renderInput()] }));
|
|
230
|
+
}
|
|
231
|
+
//# sourceMappingURL=EnhancedSchemaFormRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EnhancedSchemaFormRenderer.js","sourceRoot":"","sources":["../../../../src/components/builder/v3/EnhancedSchemaFormRenderer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export interface InputSchemaBuilderProps {
|
|
2
|
+
value: Record<string, unknown> | undefined;
|
|
3
|
+
onChange: (value: Record<string, unknown>) => void;
|
|
4
|
+
disabled?: boolean | undefined;
|
|
5
|
+
}
|
|
6
|
+
export declare function InputSchemaBuilder({ value, onChange, disabled }: InputSchemaBuilderProps): import("react").JSX.Element;
|
|
7
|
+
//# sourceMappingURL=InputSchemaBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InputSchemaBuilder.d.ts","sourceRoot":"","sources":["../../../../src/components/builder/v3/InputSchemaBuilder.tsx"],"names":[],"mappings":"AAkBA,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAC3C,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACnD,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAChC;AA+BD,wBAAgB,kBAAkB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,uBAAuB,+BA0HxF"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback } from 'react';
|
|
3
|
+
import { cn } from '../../shared/cn.js';
|
|
4
|
+
const TYPE_OPTIONS = [
|
|
5
|
+
{ value: 'string', label: 'Text' },
|
|
6
|
+
{ value: 'number', label: 'Number' },
|
|
7
|
+
{ value: 'boolean', label: 'Boolean' },
|
|
8
|
+
{ value: 'object', label: 'Object' },
|
|
9
|
+
{ value: 'array', label: 'Array' },
|
|
10
|
+
];
|
|
11
|
+
function parseFields(schema) {
|
|
12
|
+
if (!schema)
|
|
13
|
+
return [];
|
|
14
|
+
const props = schema['properties'];
|
|
15
|
+
if (!props)
|
|
16
|
+
return [];
|
|
17
|
+
const required = new Set(schema['required'] ?? []);
|
|
18
|
+
return Object.entries(props).map(([name, prop]) => ({
|
|
19
|
+
name,
|
|
20
|
+
type: prop['type'] ?? 'string',
|
|
21
|
+
description: prop['description'] ?? '',
|
|
22
|
+
required: required.has(name),
|
|
23
|
+
}));
|
|
24
|
+
}
|
|
25
|
+
function fieldsToSchema(fields) {
|
|
26
|
+
const properties = {};
|
|
27
|
+
const required = [];
|
|
28
|
+
for (const f of fields) {
|
|
29
|
+
const prop = { type: f.type };
|
|
30
|
+
if (f.description)
|
|
31
|
+
prop['description'] = f.description;
|
|
32
|
+
properties[f.name] = prop;
|
|
33
|
+
if (f.required)
|
|
34
|
+
required.push(f.name);
|
|
35
|
+
}
|
|
36
|
+
return {
|
|
37
|
+
type: 'object',
|
|
38
|
+
properties,
|
|
39
|
+
...(required.length > 0 ? { required } : {}),
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
export function InputSchemaBuilder({ value, onChange, disabled }) {
|
|
43
|
+
const fields = parseFields(value);
|
|
44
|
+
const emitChange = useCallback((updated) => {
|
|
45
|
+
onChange(fieldsToSchema(updated));
|
|
46
|
+
}, [onChange]);
|
|
47
|
+
const addField = useCallback(() => {
|
|
48
|
+
const name = `field${fields.length + 1}`;
|
|
49
|
+
emitChange([...fields, { name, type: 'string', description: '', required: false }]);
|
|
50
|
+
}, [fields, emitChange]);
|
|
51
|
+
const removeField = useCallback((index) => {
|
|
52
|
+
emitChange(fields.filter((_, i) => i !== index));
|
|
53
|
+
}, [fields, emitChange]);
|
|
54
|
+
const updateField = useCallback((index, patch) => {
|
|
55
|
+
const next = [...fields];
|
|
56
|
+
next[index] = { ...next[index], ...patch };
|
|
57
|
+
emitChange(next);
|
|
58
|
+
}, [fields, emitChange]);
|
|
59
|
+
const inputClasses = 'w-full rounded-md border border-slate-200 px-2 py-1.5 text-[12px] bg-white text-slate-700 outline-none focus:border-[var(--wui-primary)] focus:ring-1 focus:ring-[var(--wui-primary)]/20 transition-all';
|
|
60
|
+
return (_jsxs("div", { className: cn('rounded-lg border border-[var(--wui-border)] bg-white overflow-hidden', disabled && 'opacity-60 cursor-not-allowed'), children: [fields.length > 0 && (_jsx("div", { className: "divide-y divide-slate-100", children: fields.map((field, i) => (_jsxs("div", { className: "px-3 py-2.5 space-y-2", children: [_jsxs("div", { className: "flex items-start gap-2", children: [_jsxs("div", { className: "flex-1 min-w-0", children: [_jsx("label", { className: "text-[10px] font-medium text-slate-500 uppercase tracking-wider", children: "Name" }), _jsx("input", { type: "text", value: field.name, onChange: (e) => updateField(i, { name: e.target.value }), disabled: disabled, className: inputClasses, placeholder: "fieldName" })] }), _jsxs("div", { className: "w-24 flex-shrink-0", children: [_jsx("label", { className: "text-[10px] font-medium text-slate-500 uppercase tracking-wider", children: "Type" }), _jsx("select", { value: field.type, onChange: (e) => updateField(i, { type: e.target.value }), disabled: disabled, className: inputClasses, children: TYPE_OPTIONS.map((o) => (_jsx("option", { value: o.value, children: o.label }, o.value))) })] }), _jsx("div", { className: "flex-shrink-0 pt-4", children: _jsxs("label", { className: "flex items-center gap-1.5 cursor-pointer", title: "Required", children: [_jsx("input", { type: "checkbox", checked: field.required, onChange: (e) => updateField(i, { required: e.target.checked }), disabled: disabled, className: "rounded border-slate-300 text-[var(--wui-primary)]" }), _jsx("span", { className: "text-[10px] font-medium text-slate-500", children: "Req" })] }) }), !disabled && (_jsx("button", { type: "button", onClick: () => removeField(i), className: "flex-shrink-0 mt-4 p-1 rounded text-slate-300 hover:text-red-500 hover:bg-red-50 transition-colors", children: _jsxs("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", children: [_jsx("path", { d: "M18 6 6 18" }), _jsx("path", { d: "m6 6 12 12" })] }) }))] }), _jsx("input", { type: "text", value: field.description, onChange: (e) => updateField(i, { description: e.target.value }), disabled: disabled, className: cn(inputClasses, 'text-[11px] text-slate-500'), placeholder: "Description (optional)" })] }, i))) })), fields.length === 0 && (_jsx("div", { className: "px-3 py-4 text-center", children: _jsx("p", { className: "text-[12px] text-slate-400", children: "No fields defined yet" }) })), !disabled && (_jsx("div", { className: "border-t border-slate-100 px-3 py-2", children: _jsxs("button", { type: "button", onClick: addField, className: "flex w-full items-center justify-center gap-1.5 rounded-md border border-dashed border-slate-300 py-1.5 text-[11px] font-medium text-slate-400 hover:border-slate-400 hover:text-slate-600 hover:bg-slate-50 transition-all", children: [_jsxs("svg", { width: "10", height: "10", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", children: [_jsx("path", { d: "M12 5v14" }), _jsx("path", { d: "M5 12h14" })] }), "Add field"] }) }))] }));
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=InputSchemaBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InputSchemaBuilder.js","sourceRoot":"","sources":["../../../../src/components/builder/v3/InputSchemaBuilder.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { WorkflowConfig } from '@xyne/workflow-sdk/builder';
|
|
2
|
+
export interface KeyValueEditorProps {
|
|
3
|
+
value: Record<string, string> | undefined;
|
|
4
|
+
onChange: (value: Record<string, string>) => void;
|
|
5
|
+
keyPlaceholder?: string;
|
|
6
|
+
valuePlaceholder?: string;
|
|
7
|
+
disabled?: boolean | undefined;
|
|
8
|
+
config?: WorkflowConfig;
|
|
9
|
+
atStepId?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function KeyValueEditor({ value, onChange, keyPlaceholder, valuePlaceholder, disabled, config, atStepId, }: KeyValueEditorProps): import("react").JSX.Element;
|
|
12
|
+
//# sourceMappingURL=KeyValueEditor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KeyValueEditor.d.ts","sourceRoot":"","sources":["../../../../src/components/builder/v3/KeyValueEditor.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AASjE,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IAC1C,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IAClD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAgBD,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,QAAQ,EACR,cAAsB,EACtB,gBAA0B,EAC1B,QAAQ,EACR,MAAM,EACN,QAAQ,GACT,EAAE,mBAAmB,+BAqGrB"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useState } from 'react';
|
|
3
|
+
import { VariableRefInput } from './VariableRefInput.js';
|
|
4
|
+
import { cn } from '../../shared/cn.js';
|
|
5
|
+
function toRows(record) {
|
|
6
|
+
if (!record || typeof record !== 'object')
|
|
7
|
+
return [];
|
|
8
|
+
return Object.entries(record).map(([key, value]) => ({ key, value: String(value) }));
|
|
9
|
+
}
|
|
10
|
+
function toRecord(rows) {
|
|
11
|
+
const result = {};
|
|
12
|
+
for (const row of rows) {
|
|
13
|
+
const k = row.key.trim();
|
|
14
|
+
if (k)
|
|
15
|
+
result[k] = row.value;
|
|
16
|
+
}
|
|
17
|
+
return result;
|
|
18
|
+
}
|
|
19
|
+
export function KeyValueEditor({ value, onChange, keyPlaceholder = 'Key', valuePlaceholder = 'Value', disabled, config, atStepId, }) {
|
|
20
|
+
const [rows, setRows] = useState(() => {
|
|
21
|
+
const initial = toRows(value);
|
|
22
|
+
return initial.length > 0 ? initial : [];
|
|
23
|
+
});
|
|
24
|
+
const commit = useCallback((updated) => {
|
|
25
|
+
setRows(updated);
|
|
26
|
+
onChange(toRecord(updated));
|
|
27
|
+
}, [onChange]);
|
|
28
|
+
const handleKeyChange = useCallback((idx, newKey) => {
|
|
29
|
+
const updated = rows.map((r, i) => (i === idx ? { ...r, key: newKey } : r));
|
|
30
|
+
commit(updated);
|
|
31
|
+
}, [rows, commit]);
|
|
32
|
+
const handleValueChange = useCallback((idx, newValue) => {
|
|
33
|
+
const updated = rows.map((r, i) => (i === idx ? { ...r, value: String(newValue ?? '') } : r));
|
|
34
|
+
commit(updated);
|
|
35
|
+
}, [rows, commit]);
|
|
36
|
+
const handleRemove = useCallback((idx) => {
|
|
37
|
+
commit(rows.filter((_, i) => i !== idx));
|
|
38
|
+
}, [rows, commit]);
|
|
39
|
+
const handleAdd = useCallback(() => {
|
|
40
|
+
setRows((prev) => [...prev, { key: '', value: '' }]);
|
|
41
|
+
}, []);
|
|
42
|
+
const inputClasses = cn('w-full rounded-md border px-2.5 py-1.5 text-xs', 'bg-white outline-none transition-all', 'border-slate-200 focus:border-indigo-300 focus:ring-1 focus:ring-indigo-100', disabled && 'opacity-60 cursor-not-allowed bg-slate-50');
|
|
43
|
+
return (_jsxs("div", { className: "space-y-1.5", children: [rows.map((row, idx) => (_jsxs("div", { className: "flex items-center gap-1.5", children: [_jsx("input", { type: "text", value: row.key, onChange: (e) => handleKeyChange(idx, e.target.value), placeholder: keyPlaceholder, disabled: disabled, className: cn(inputClasses, 'w-[38%] font-medium') }), config && atStepId ? (_jsx("div", { className: "flex-1", children: _jsx(VariableRefInput, { value: row.value, onChange: (v) => handleValueChange(idx, v), config: config, atStepId: atStepId, placeholder: valuePlaceholder, disabled: disabled, compact: true }) })) : (_jsx("input", { type: "text", value: row.value, onChange: (e) => handleValueChange(idx, e.target.value), placeholder: valuePlaceholder, disabled: disabled, className: cn(inputClasses, 'flex-1') })), !disabled && (_jsx("button", { onClick: () => handleRemove(idx), className: "flex h-7 w-7 shrink-0 items-center justify-center rounded-md text-slate-300 hover:bg-red-50 hover:text-red-400 transition-colors", title: "Remove", children: _jsxs("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", children: [_jsx("path", { d: "M18 6 6 18" }), _jsx("path", { d: "m6 6 12 12" })] }) }))] }, idx))), !disabled && (_jsxs("button", { onClick: handleAdd, className: cn('flex items-center gap-1.5 rounded-md border border-dashed px-2.5 py-1.5 text-[11px] font-medium', 'border-slate-200 text-slate-400', 'hover:border-indigo-300 hover:text-indigo-500 hover:bg-indigo-50/50 transition-all'), children: [_jsxs("svg", { width: "10", height: "10", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", children: [_jsx("path", { d: "M12 5v14" }), _jsx("path", { d: "M5 12h14" })] }), "Add"] }))] }));
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=KeyValueEditor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KeyValueEditor.js","sourceRoot":"","sources":["../../../../src/components/builder/v3/KeyValueEditor.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { WorkflowStepConfig } from '@xyne/workflow-sdk/builder';
|
|
2
|
+
interface LoopContainerProps {
|
|
3
|
+
category?: string | undefined;
|
|
4
|
+
bodySteps: WorkflowStepConfig[];
|
|
5
|
+
renderBody: (steps: WorkflowStepConfig[]) => React.ReactNode;
|
|
6
|
+
}
|
|
7
|
+
export declare function LoopContainer({ category, bodySteps, renderBody, }: LoopContainerProps): import("react").JSX.Element;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=LoopContainer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LoopContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/builder/v3/LoopContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAIrE,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAChC,UAAU,EAAE,CAAC,KAAK,EAAE,kBAAkB,EAAE,KAAK,KAAK,CAAC,SAAS,CAAC;CAC9D;AAED,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,SAAS,EACT,UAAU,GACX,EAAE,kBAAkB,+BAgCpB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { getCategoryTheme } from '../theme.js';
|
|
3
|
+
import { cn } from '../../shared/cn.js';
|
|
4
|
+
export function LoopContainer({ category, bodySteps, renderBody, }) {
|
|
5
|
+
const theme = getCategoryTheme(category);
|
|
6
|
+
return (_jsx("div", { className: "flex flex-col items-center", children: _jsxs("div", { className: cn('relative rounded-xl border-2 border-dashed px-6 py-4', 'bg-gradient-to-b from-slate-50/80 to-white'), style: { borderColor: `${theme.edgeColor}40` }, children: [_jsxs("div", { className: cn('absolute -top-3 left-4 flex items-center gap-1.5 rounded-full px-2.5 py-0.5', 'text-[10px] font-semibold uppercase tracking-wider', theme.iconBg, theme.iconText), children: [_jsxs("svg", { width: "10", height: "10", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("path", { d: "M17 2l4 4-4 4" }), _jsx("path", { d: "M3 11V9a4 4 0 0 1 4-4h14" }), _jsx("path", { d: "M7 22l-4-4 4-4" }), _jsx("path", { d: "M21 13v2a4 4 0 0 1-4 4H3" })] }), "Iterates"] }), _jsx("div", { className: "mt-2 flex flex-col items-center", children: renderBody(bodySteps) })] }) }));
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=LoopContainer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LoopContainer.js","sourceRoot":"","sources":["../../../../src/components/builder/v3/LoopContainer.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAQxC,MAAM,UAAU,aAAa,CAAC,EAC5B,QAAQ,EACR,SAAS,EACT,UAAU,GACS;IACnB,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAEzC,OAAO,CACL,cAAK,SAAS,EAAC,4BAA4B,YAEzC,eACE,SAAS,EAAE,EAAE,CACX,sDAAsD,EACtD,4CAA4C,CAC7C,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,aAG9C,eAAK,SAAS,EAAE,EAAE,CAChB,6EAA6E,EAC7E,oDAAoD,EACpD,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAC7B,aACC,eAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAC,KAAK,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,aAC9I,eAAM,CAAC,EAAC,eAAe,GAAG,EAAA,eAAM,CAAC,EAAC,0BAA0B,GAAG,EAAA,eAAM,CAAC,EAAC,gBAAgB,GAAG,EAAA,eAAM,CAAC,EAAC,0BAA0B,GAAG,IAC3H,gBAEF,EAGN,cAAK,SAAS,EAAC,iCAAiC,YAC7C,UAAU,CAAC,SAAS,CAAC,GAClB,IACF,GACF,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface MultiSelectCheckboxesProps {
|
|
2
|
+
options: string[];
|
|
3
|
+
value: string[] | undefined;
|
|
4
|
+
onChange: (value: string[]) => void;
|
|
5
|
+
disabled?: boolean | undefined;
|
|
6
|
+
}
|
|
7
|
+
export declare function MultiSelectCheckboxes({ options, value, onChange, disabled }: MultiSelectCheckboxesProps): import("react").JSX.Element;
|
|
8
|
+
//# sourceMappingURL=MultiSelectCheckboxes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MultiSelectCheckboxes.d.ts","sourceRoot":"","sources":["../../../../src/components/builder/v3/MultiSelectCheckboxes.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC5B,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAChC;AAED,wBAAgB,qBAAqB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,0BAA0B,+BAsFvG"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useMemo, useState } from 'react';
|
|
3
|
+
import { cn } from '../../shared/cn.js';
|
|
4
|
+
export function MultiSelectCheckboxes({ options, value, onChange, disabled }) {
|
|
5
|
+
const selected = useMemo(() => new Set(value ?? []), [value]);
|
|
6
|
+
const [search, setSearch] = useState('');
|
|
7
|
+
const filtered = useMemo(() => {
|
|
8
|
+
if (!search.trim())
|
|
9
|
+
return options;
|
|
10
|
+
const q = search.toLowerCase();
|
|
11
|
+
return options.filter((o) => o.toLowerCase().includes(q));
|
|
12
|
+
}, [options, search]);
|
|
13
|
+
const toggle = useCallback((option) => {
|
|
14
|
+
const next = new Set(selected);
|
|
15
|
+
if (next.has(option)) {
|
|
16
|
+
next.delete(option);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
next.add(option);
|
|
20
|
+
}
|
|
21
|
+
onChange([...next]);
|
|
22
|
+
}, [selected, onChange]);
|
|
23
|
+
const showSearch = options.length > 8;
|
|
24
|
+
return (_jsxs("div", { className: cn('rounded-lg border border-[var(--wui-border)] bg-white overflow-hidden', disabled && 'opacity-60 cursor-not-allowed'), children: [showSearch && (_jsx("div", { className: "border-b border-[var(--wui-border)] px-2.5 py-1.5", children: _jsx("input", { type: "text", value: search, onChange: (e) => setSearch(e.target.value), placeholder: "Filter options...", disabled: disabled, className: "w-full bg-transparent text-[12px] text-[var(--wui-fg)] outline-none placeholder:text-slate-400" }) })), _jsxs("div", { className: cn('space-y-0.5 p-1.5', options.length > 8 && 'max-h-48 overflow-y-auto'), children: [filtered.length === 0 && (_jsx("p", { className: "px-2 py-1.5 text-[11px] text-slate-400", children: "No matches" })), filtered.map((option) => (_jsxs("label", { className: cn('flex items-center gap-2.5 rounded-md px-2 py-1.5 cursor-pointer transition-colors', 'hover:bg-[var(--wui-bg-subtle)]', selected.has(option) && 'bg-[var(--wui-primary)]/5'), children: [_jsxs("div", { className: "relative flex-shrink-0", children: [_jsx("input", { type: "checkbox", checked: selected.has(option), onChange: () => toggle(option), disabled: disabled, className: "peer sr-only" }), _jsx("div", { className: cn('h-4 w-4 rounded border transition-all', selected.has(option)
|
|
25
|
+
? 'border-[var(--wui-primary)] bg-[var(--wui-primary)]'
|
|
26
|
+
: 'border-slate-300 bg-white'), children: selected.has(option) && (_jsx("svg", { className: "h-4 w-4 text-white", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "3", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("polyline", { points: "20 6 9 17 4 12" }) })) })] }), _jsx("span", { className: "text-[12px] text-[var(--wui-fg)] font-mono", children: option })] }, option)))] }), selected.size > 0 && (_jsx("div", { className: "border-t border-[var(--wui-border)] px-2.5 py-1.5", children: _jsxs("span", { className: "text-[11px] text-slate-500", children: [selected.size, " selected"] }) }))] }));
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=MultiSelectCheckboxes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MultiSelectCheckboxes.js","sourceRoot":"","sources":["../../../../src/components/builder/v3/MultiSelectCheckboxes.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
interface OutputField {
|
|
2
|
+
name: string;
|
|
3
|
+
type: string;
|
|
4
|
+
}
|
|
5
|
+
interface OutputFieldsEditorProps {
|
|
6
|
+
value: OutputField[] | undefined;
|
|
7
|
+
onChange: (value: OutputField[]) => void;
|
|
8
|
+
disabled?: boolean | undefined;
|
|
9
|
+
}
|
|
10
|
+
export declare function OutputFieldsEditor({ value, onChange, disabled }: OutputFieldsEditorProps): import("react").JSX.Element;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=OutputFieldsEditor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OutputFieldsEditor.d.ts","sourceRoot":"","sources":["../../../../src/components/builder/v3/OutputFieldsEditor.tsx"],"names":[],"mappings":"AAGA,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,uBAAuB;IAC/B,KAAK,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;IACjC,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC;IACzC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAChC;AAOD,wBAAgB,kBAAkB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,uBAAuB,+BA+DxF"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback } from 'react';
|
|
3
|
+
import { cn } from '../../shared/cn.js';
|
|
4
|
+
const TYPE_OPTIONS = ['string', 'number', 'boolean', 'object', 'array'];
|
|
5
|
+
const inputClasses = 'w-full rounded-lg border border-slate-200 bg-white px-3 py-2 text-sm text-slate-700 outline-none transition-all focus:border-indigo-300 focus:ring-2 focus:ring-indigo-100';
|
|
6
|
+
export function OutputFieldsEditor({ value, onChange, disabled }) {
|
|
7
|
+
const fields = value ?? [];
|
|
8
|
+
const handleAdd = useCallback(() => {
|
|
9
|
+
onChange([...fields, { name: '', type: 'string' }]);
|
|
10
|
+
}, [fields, onChange]);
|
|
11
|
+
const handleRemove = useCallback((idx) => {
|
|
12
|
+
onChange(fields.filter((_, i) => i !== idx));
|
|
13
|
+
}, [fields, onChange]);
|
|
14
|
+
const handleChange = useCallback((idx, key, val) => {
|
|
15
|
+
const updated = fields.map((f, i) => (i === idx ? { ...f, [key]: val } : f));
|
|
16
|
+
onChange(updated);
|
|
17
|
+
}, [fields, onChange]);
|
|
18
|
+
return (_jsxs("div", { className: "space-y-2", children: [fields.map((field, idx) => (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("input", { type: "text", value: field.name, onChange: (e) => handleChange(idx, 'name', e.target.value), placeholder: "Field name", disabled: disabled, className: cn(inputClasses, 'flex-1') }), _jsx("select", { value: field.type, onChange: (e) => handleChange(idx, 'type', e.target.value), disabled: disabled, className: cn(inputClasses, 'w-28'), children: TYPE_OPTIONS.map((t) => (_jsx("option", { value: t, children: t }, t))) }), !disabled && (_jsx("button", { onClick: () => handleRemove(idx), className: "flex h-8 w-8 shrink-0 items-center justify-center rounded-lg text-slate-400 hover:bg-red-50 hover:text-red-500 transition-colors", children: _jsxs("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", children: [_jsx("path", { d: "M18 6 6 18" }), _jsx("path", { d: "m6 6 12 12" })] }) }))] }, idx))), !disabled && (_jsxs("button", { onClick: handleAdd, className: "flex items-center gap-1.5 rounded-lg border border-dashed border-slate-300 px-3 py-1.5 text-xs text-slate-500 hover:border-indigo-400 hover:text-indigo-500 transition-colors", children: [_jsxs("svg", { width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", children: [_jsx("path", { d: "M12 5v14" }), _jsx("path", { d: "M5 12h14" })] }), "Add output field"] }))] }));
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=OutputFieldsEditor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OutputFieldsEditor.js","sourceRoot":"","sources":["../../../../src/components/builder/v3/OutputFieldsEditor.tsx"],"names":[],"mappings":"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"}
|