@notmrabhi/flowforge 0.1.39 → 0.1.41
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/dist/GatewayBranchEdge-Dvkwkx-b.js +2 -0
- package/dist/GatewayBranchEdge-Dvkwkx-b.js.map +1 -0
- package/dist/{GatewayBranchEdge-DffZFc99.js → GatewayBranchEdge-F2AGJpun.js} +653 -580
- package/dist/GatewayBranchEdge-F2AGJpun.js.map +1 -0
- package/dist/canvas.cjs +1 -1
- package/dist/canvas.js +2 -2
- package/dist/core.cjs +1 -1
- package/dist/core.js +23 -22
- package/dist/core.js.map +1 -1
- package/dist/defaultUi.cjs +1 -1
- package/dist/defaultUi.js +1 -1
- package/dist/index-B6xrei80.js +87 -0
- package/dist/index-B6xrei80.js.map +1 -0
- package/dist/index-BrJBVztu.js +2 -0
- package/dist/index-BrJBVztu.js.map +1 -0
- package/dist/index-CXmgrKoe.js +2 -0
- package/dist/index-CXmgrKoe.js.map +1 -0
- package/dist/index-Dcur-XJ9.js +36 -0
- package/dist/index-Dcur-XJ9.js.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +54 -53
- package/dist/index.js.map +1 -1
- package/dist/nodeRegistry.cjs +1 -1
- package/dist/nodeRegistry.cjs.map +1 -1
- package/dist/nodeRegistry.js +23 -543
- package/dist/nodeRegistry.js.map +1 -1
- package/dist/subWorkflowDescriptor-DYOYgBzX.js +535 -0
- package/dist/subWorkflowDescriptor-DYOYgBzX.js.map +1 -0
- package/dist/subWorkflowDescriptor-JDKi2INh.js +2 -0
- package/dist/subWorkflowDescriptor-JDKi2INh.js.map +1 -0
- package/dist/{templateSkeletons-CEqw1Djn.js → templateSkeletons-BQQ7UKp6.js} +4 -4
- package/dist/{templateSkeletons-CEqw1Djn.js.map → templateSkeletons-BQQ7UKp6.js.map} +1 -1
- package/dist/{templateSkeletons-Sd2FDF9w.js → templateSkeletons-C00QyIgk.js} +2 -2
- package/dist/{templateSkeletons-Sd2FDF9w.js.map → templateSkeletons-C00QyIgk.js.map} +1 -1
- package/package.json +1 -1
- package/dist/GatewayBranchEdge-CYoEUE5g.js +0 -2
- package/dist/GatewayBranchEdge-CYoEUE5g.js.map +0 -1
- package/dist/GatewayBranchEdge-DffZFc99.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subWorkflowDescriptor-JDKi2INh.js","sources":["../src/nodeRegistry/defineNode.ts","../src/nodeRegistry/descriptors/startEventDescriptor.ts","../src/nodeRegistry/descriptors/endEventDescriptor.ts","../src/nodeRegistry/descriptors/restApiDescriptor.ts","../src/nodeRegistry/descriptors/notificationDescriptor.ts","../src/nodeRegistry/descriptors/conditionBranchDescriptor.ts","../src/nodeRegistry/descriptors/webhookDescriptors.ts","../src/nodeRegistry/descriptors/subWorkflowDescriptor.ts"],"sourcesContent":["import { NodeDescriptor } from '../WorkflowCanvas/types';\n\n/**\n * Base defaults shared by every node descriptor. A new node only has to specify\n * what makes it different — these fill in the rest.\n *\n * - `formSchema: []` → no config form unless the node defines one\n * - `bpmnEntry` / `bpmnExit` → incoming/outgoing flow connects to the node id itself\n * - `emitBpmnElements` → a single generic bpmn:Task; override for real output\n */\nexport const baseNodeDefaults: Pick<\n NodeDescriptor,\n 'formSchema' | 'bpmnEntry' | 'bpmnExit' | 'emitBpmnElements'\n> = {\n formSchema: [],\n bpmnEntry: (id) => id,\n bpmnExit: (id) => id,\n emitBpmnElements: (id) => [{ id, $type: 'bpmn:Task' }],\n};\n\n/** The fields every node MUST provide — there is no sensible default for these. */\ntype RequiredNodeFields = Pick<NodeDescriptor, 'type' | 'label' | 'matches' | 'reactFlowType'>;\n\n/**\n * Build a node descriptor on top of {@link baseNodeDefaults}.\n *\n * Supply the four required identity fields plus only the behaviour you want to\n * override. Everything else inherits the base.\n *\n * export const startEventDescriptor = defineNode({\n * type: 'startEvent',\n * label: 'Start',\n * matches: (id) => id === 'start',\n * reactFlowType: 'startNode',\n * emitBpmnElements: (id) => [{ id, $type: 'bpmn:StartEvent' }], // override\n * });\n */\nexport function defineNode(\n overrides: RequiredNodeFields & Partial<NodeDescriptor>,\n): NodeDescriptor {\n return { ...baseNodeDefaults, ...overrides };\n}\n","import React from 'react';\nimport { MdPlayCircleOutline } from 'react-icons/md';\nimport { defineNode } from '../defineNode';\n\n/**\n * Start event — a fixed skeleton node with no user-editable form.\n * The canvas seeds it as the literal slot id `'start'` (see buildInitialSlots\n * in WorkflowCanvas.tsx). This descriptor exists so the registry can resolve\n * that id via `forId('start')` and emit it during descriptor-driven BPMN save.\n *\n * Inherits formSchema (none) and bpmnEntry/bpmnExit from the base node.\n */\nexport const startEventDescriptor = defineNode({\n type: 'startEvent',\n label: 'Start',\n icon: React.createElement(MdPlayCircleOutline, { size: 18, color: '#616161' }),\n matches: (id) => id === 'start',\n reactFlowType: 'startNode',\n emitBpmnElements: (id) => [{ id, $type: 'bpmn:StartEvent' }],\n maxPerWorkflow: 1,\n});\n","import React from 'react';\nimport { MdStopCircle } from 'react-icons/md';\nimport { defineNode } from '../defineNode';\n\n/**\n * End event — a fixed skeleton node with no user-editable form.\n * The canvas seeds the main-spine end as the literal slot id `'end'`, and one\n * end per branch as `'end-${filterId}-${branch}'` (see WorkflowCanvas.tsx).\n * `matches` must cover both shapes so every terminal node resolves via `forId`\n * during descriptor-driven BPMN load — otherwise branch ends get skipped.\n *\n * Inherits formSchema (none) and bpmnEntry/bpmnExit from the base node.\n */\nexport const endEventDescriptor = defineNode({\n type: 'endEvent',\n label: 'End',\n icon: React.createElement(MdStopCircle, { size: 18, color: '#616161' }),\n matches: (id) => id === 'end' || id.startsWith('end-'),\n reactFlowType: 'endNode',\n emitBpmnElements: (id) => [{ id, $type: 'bpmn:EndEvent' }],\n});\n","import React from 'react';\nimport { MdHttp } from 'react-icons/md';\nimport { defineNode } from '../defineNode';\n\nexport const restApiDescriptor = defineNode({\n type: 'restApi',\n label: 'REST API Call',\n icon: React.createElement(MdHttp, { size: 18, color: '#546e7a' }),\n matches: (id) => id.startsWith('restApi-'),\n reactFlowType: 'restApiNode',\n formSchema: [\n {\n id: 'method',\n type: 'select',\n label: 'HTTP Method',\n required: true,\n options: [\n { label: 'GET', value: 'GET' },\n { label: 'POST', value: 'POST' },\n { label: 'PUT', value: 'PUT' },\n { label: 'PATCH', value: 'PATCH' },\n { label: 'DELETE', value: 'DELETE' },\n ],\n },\n {\n id: 'url',\n type: 'text',\n label: 'URL',\n required: true,\n placeholder: 'https://api.example.com/endpoint',\n formulaEnabled: true,\n },\n {\n id: 'headers',\n type: 'key-value',\n label: 'Request Headers',\n placeholder: 'Add headers...',\n },\n {\n id: 'queryParams',\n type: 'key-value',\n label: 'Query Parameters',\n shouldHide: ({ values }: { values: Record<string, unknown> }) =>\n values.method !== 'GET' && values.method !== 'DELETE',\n },\n {\n id: 'body',\n type: 'json-editor',\n label: 'Request Body (JSON)',\n shouldHide: ({ values }: { values: Record<string, unknown> }) =>\n values.method === 'GET' || values.method === 'DELETE',\n },\n {\n id: 'responseMapping',\n type: 'array',\n label: 'Map Response Fields to Variables',\n children: [\n {\n id: 'jsonPath',\n type: 'text',\n label: 'JSON Path',\n placeholder: '$.data.userId',\n required: true,\n },\n {\n id: 'variableName',\n type: 'text',\n label: 'Variable Name',\n placeholder: 'userId',\n required: true,\n },\n ],\n },\n {\n id: 'timeoutMs',\n type: 'number',\n label: 'Timeout (ms)',\n placeholder: '5000',\n },\n {\n id: 'continueOnError',\n type: 'toggle',\n label: 'Continue workflow on error',\n },\n ],\n bpmnEntry: (id) => `REST API Call: ${id}`,\n bpmnExit: (id) => `End REST API Call: ${id}`,\n emitBpmnElements: (id, data) => {\n const d = data as Record<string, unknown>;\n return [{\n id,\n $type: 'bpmn:ServiceTask',\n name: `${d.method ?? 'HTTP'} ${d.url ?? ''}`.trim(),\n }];\n },\n});\n","import React from 'react';\nimport { MdNotifications } from 'react-icons/md';\nimport { defineNode } from '../defineNode';\n\nexport const notificationDescriptor = defineNode({\n type: 'notification',\n label: 'Send Notification',\n icon: React.createElement(MdNotifications, { size: 18, color: '#7b1fa2' }),\n matches: (id) => id.startsWith('notification-'),\n reactFlowType: 'notificationNode',\n formSchema: [\n {\n id: 'channel',\n type: 'descriptive-select',\n label: 'Notification Channel',\n required: true,\n options: [\n { value: 'email', label: 'Email', description: 'Send via SMTP or email provider' },\n { value: 'slack', label: 'Slack', description: 'Post to a Slack channel or DM' },\n { value: 'teams', label: 'Microsoft Teams', description: 'Post to a Teams channel or chat' },\n { value: 'sms', label: 'SMS', description: 'Send a text message' },\n { value: 'in-app', label: 'In-App', description: 'miniOrange notification center' },\n { value: 'webhook', label: 'Webhook', description: 'POST to an external URL' },\n ],\n },\n\n // ── Email fields ──────────────────────────────────────────────────────────\n {\n id: 'emailTo',\n type: 'tags',\n label: 'To',\n placeholder: 'Add email address...',\n required: true,\n shouldHide: ({ values }: { values: Record<string, unknown> }) => values.channel !== 'email',\n formulaEnabled: true,\n },\n {\n id: 'emailCc',\n type: 'tags',\n label: 'CC',\n placeholder: 'Add email address...',\n shouldHide: ({ values }: { values: Record<string, unknown> }) => values.channel !== 'email',\n },\n {\n id: 'emailSubject',\n type: 'text',\n label: 'Subject',\n required: true,\n formulaEnabled: true,\n shouldHide: ({ values }: { values: Record<string, unknown> }) => values.channel !== 'email',\n },\n {\n id: 'emailBody',\n type: 'rich-text',\n label: 'Body',\n required: true,\n shouldHide: ({ values }: { values: Record<string, unknown> }) => values.channel !== 'email',\n },\n\n // ── Slack fields ──────────────────────────────────────────────────────────\n {\n id: 'slackChannel',\n type: 'text',\n label: 'Channel / DM',\n required: true,\n placeholder: '#general or @username',\n formulaEnabled: true,\n shouldHide: ({ values }: { values: Record<string, unknown> }) => values.channel !== 'slack',\n },\n {\n id: 'slackMessage',\n type: 'textarea',\n label: 'Message',\n required: true,\n formulaEnabled: true,\n shouldHide: ({ values }: { values: Record<string, unknown> }) => values.channel !== 'slack',\n },\n\n // ── Teams fields ──────────────────────────────────────────────────────────\n {\n id: 'teamsWebhookUrl',\n type: 'text',\n label: 'Incoming Webhook URL',\n required: true,\n placeholder: 'https://...',\n shouldHide: ({ values }: { values: Record<string, unknown> }) => values.channel !== 'teams',\n },\n {\n id: 'teamsMessage',\n type: 'textarea',\n label: 'Message',\n required: true,\n formulaEnabled: true,\n shouldHide: ({ values }: { values: Record<string, unknown> }) => values.channel !== 'teams',\n },\n\n // ── SMS fields ────────────────────────────────────────────────────────────\n {\n id: 'smsTo',\n type: 'text',\n label: 'Phone Number',\n required: true,\n placeholder: '+1234567890',\n formulaEnabled: true,\n shouldHide: ({ values }: { values: Record<string, unknown> }) => values.channel !== 'sms',\n },\n {\n id: 'smsBody',\n type: 'textarea',\n label: 'Message',\n required: true,\n formulaEnabled: true,\n shouldHide: ({ values }: { values: Record<string, unknown> }) => values.channel !== 'sms',\n },\n\n // ── In-App fields ─────────────────────────────────────────────────────────\n {\n id: 'inAppRecipient',\n type: 'text',\n label: 'Recipient (User ID or Username)',\n required: true,\n formulaEnabled: true,\n shouldHide: ({ values }: { values: Record<string, unknown> }) => values.channel !== 'in-app',\n },\n {\n id: 'inAppTitle',\n type: 'text',\n label: 'Title',\n required: true,\n formulaEnabled: true,\n shouldHide: ({ values }: { values: Record<string, unknown> }) => values.channel !== 'in-app',\n },\n {\n id: 'inAppBody',\n type: 'textarea',\n label: 'Message',\n required: true,\n formulaEnabled: true,\n shouldHide: ({ values }: { values: Record<string, unknown> }) => values.channel !== 'in-app',\n },\n\n // ── Webhook fields ────────────────────────────────────────────────────────\n {\n id: 'webhookUrl',\n type: 'text',\n label: 'Webhook URL',\n required: true,\n placeholder: 'https://...',\n formulaEnabled: true,\n shouldHide: ({ values }: { values: Record<string, unknown> }) => values.channel !== 'webhook',\n },\n {\n id: 'webhookPayload',\n type: 'json-editor',\n label: 'Payload (JSON)',\n shouldHide: ({ values }: { values: Record<string, unknown> }) => values.channel !== 'webhook',\n },\n\n // ── Shared options ────────────────────────────────────────────────────────\n {\n id: 'sendOnFailure',\n type: 'toggle',\n label: 'Also send notification on workflow failure',\n },\n {\n id: 'deduplicationKey',\n type: 'text',\n label: 'Deduplication Key',\n placeholder: 'Optional — prevents duplicate sends',\n formulaEnabled: true,\n },\n ],\n bpmnEntry: (id) => `Send Notification: ${id}`,\n bpmnExit: (id) => `End Notification: ${id}`,\n emitBpmnElements: (id, data) => {\n const d = data as Record<string, unknown>;\n return [{ id, $type: 'bpmn:SendTask', name: `Notify via ${d.channel ?? 'channel'}` }];\n },\n});\n","import React from 'react';\nimport { MdCallSplit } from 'react-icons/md';\nimport { defineNode } from '../defineNode';\n\nconst CONDITION_OPERATORS = [\n { label: 'equals (=)', value: 'eq' },\n { label: 'not equals (≠)', value: 'neq' },\n { label: 'greater than (>)', value: 'gt' },\n { label: 'greater or equal (≥)', value: 'gte' },\n { label: 'less than (<)', value: 'lt' },\n { label: 'less or equal (≤)', value: 'lte' },\n { label: 'contains', value: 'contains' },\n { label: 'starts with', value: 'startsWith' },\n { label: 'ends with', value: 'endsWith' },\n { label: 'is empty', value: 'isEmpty' },\n { label: 'is not empty', value: 'isNotEmpty' },\n];\n\nexport const conditionBranchDescriptor = defineNode({\n type: 'conditionBranch',\n label: 'Condition Branch',\n icon: React.createElement(MdCallSplit, { size: 18, color: '#512da8' }),\n matches: (id) => id.startsWith('conditionBranch-'),\n reactFlowType: 'conditionBranchNode',\n /** Initial branch labels — canvas uses these keys to initialise BranchMap on insert.\n * Pre-seeded as Workato-style IF / ELSE IF / ELSE chain. */\n branchLabels: { branch1: 'IF · Branch 1', branch2: 'ELSE IF · Branch 2', default: 'ELSE' },\n formSchema: [\n {\n id: 'title',\n type: 'text',\n label: 'Node Label',\n placeholder: 'e.g. Route by User Role',\n },\n {\n id: 'branchConfigs',\n type: 'array',\n label: 'Branches',\n required: true,\n children: [\n {\n id: 'kind',\n type: 'select',\n label: 'Branch Type',\n required: true,\n options: [\n { label: 'IF', value: 'if' },\n { label: 'ELSE IF', value: 'elseif' },\n { label: 'ELSE', value: 'else' },\n ],\n // Default for new branches is \"elseif\" so the chain reads correctly when\n // appended between the first IF and the trailing ELSE.\n placeholder: 'elseif',\n },\n {\n id: 'key',\n type: 'text',\n label: 'Branch Key',\n required: true,\n placeholder: 'e.g. admin (no spaces)',\n },\n {\n id: 'label',\n type: 'text',\n label: 'Branch Label',\n required: true,\n placeholder: 'e.g. Admin Users',\n },\n {\n id: 'conditions',\n type: 'array',\n label: 'Conditions',\n // ELSE branches have no condition by definition — hide the array.\n shouldHide: ({ values }: { values: Record<string, unknown> }) =>\n values.kind === 'else',\n children: [\n {\n id: 'field',\n type: 'text',\n label: 'Field / Variable',\n required: true,\n placeholder: 'e.g. user.role',\n formulaEnabled: true,\n },\n {\n id: 'operator',\n type: 'select',\n label: 'Operator',\n required: true,\n options: CONDITION_OPERATORS,\n },\n {\n id: 'value',\n type: 'text',\n label: 'Value',\n placeholder: 'e.g. admin',\n formulaEnabled: true,\n shouldHide: ({ values }: { values: Record<string, unknown> }) =>\n values.operator === 'isEmpty' || values.operator === 'isNotEmpty',\n },\n {\n id: 'logicalOperator',\n type: 'select',\n label: 'Combine with next',\n options: [\n { label: 'AND', value: 'AND' },\n { label: 'OR', value: 'OR' },\n ],\n },\n ],\n },\n ],\n },\n {\n id: 'defaultBranch',\n type: 'text',\n label: 'Default Branch Key (fallback if no condition matches)',\n placeholder: 'e.g. default',\n },\n ],\n bpmnEntry: (id) => `Condition Branch: ${id}`,\n bpmnExit: (id) => `End Condition Branch: ${id}`,\n emitBpmnElements: (id, data) => {\n const d = data as Record<string, unknown>;\n const branches = (d.branchConfigs as Array<{ key: string; label: string }> | undefined) ?? [];\n return [\n { id, $type: 'bpmn:ExclusiveGateway', name: (d.title as string) ?? 'Condition Branch' },\n ...branches.map((b) => ({\n id: `${id}-${b.key}`,\n $type: 'bpmn:SequenceFlow',\n name: b.label,\n })),\n ];\n },\n});\n","import React from 'react';\nimport { MdWebhook } from 'react-icons/md';\nimport { WorkflowTemplate } from '../../WorkflowCanvas/types';\nimport { NODE_DESCRIPTOR_ICON_SIZE } from '../../WorkflowCanvas/canvasTokens';\nimport { defineNode } from '../defineNode';\n\nexport const webhookTriggerDescriptor = defineNode({\n type: 'webhookTrigger',\n label: 'Webhook Trigger',\n icon: React.createElement(MdWebhook, { size: NODE_DESCRIPTOR_ICON_SIZE, color: '#1565c0' }),\n matches: (id) => id.startsWith('webhookTrigger-'),\n reactFlowType: 'webhookTriggerNode',\n formSchema: [\n {\n id: 'endpointUrl',\n type: 'text',\n label: 'Endpoint URL',\n disabled: true,\n placeholder: 'Generated after saving',\n },\n {\n id: 'authMethod',\n type: 'select',\n label: 'Authentication',\n required: true,\n options: [\n { label: 'None', value: 'none' },\n { label: 'API Key', value: 'api-key' },\n { label: 'HMAC Signature', value: 'hmac' },\n ],\n },\n {\n id: 'apiKeyHeader',\n type: 'text',\n label: 'API Key Header Name',\n placeholder: 'e.g. X-API-Key',\n shouldHide: ({ values }: { values: Record<string, unknown> }) => values.authMethod !== 'api-key',\n },\n {\n id: 'hmacSecret',\n type: 'text',\n label: 'HMAC Secret',\n placeholder: 'Shared secret for signature verification',\n shouldHide: ({ values }: { values: Record<string, unknown> }) => values.authMethod !== 'hmac',\n },\n {\n id: 'payloadDescription',\n type: 'textarea',\n label: 'Expected Payload Description',\n placeholder: 'Describe the expected JSON payload fields...',\n },\n ],\n bpmnEntry: (id) => `Webhook Trigger: ${id}`,\n bpmnExit: (id) => `End Webhook Trigger: ${id}`,\n emitBpmnElements: (id) => [{ id, $type: 'bpmn:StartEvent', name: 'Webhook Trigger' }],\n});\n\nexport const webhookTriggerTemplate: WorkflowTemplate = {\n triggerKey: 'WEBHOOK_TRIGGER',\n label: 'Incoming Webhook',\n description: 'Start this workflow when an HTTP POST is received at a generated endpoint.',\n triggerCategory: 'webhook',\n icon: React.createElement(MdWebhook, { size: NODE_DESCRIPTOR_ICON_SIZE, color: '#1565c0' }),\n};\n","import React from 'react';\nimport { MdAccountTree } from 'react-icons/md';\nimport { NodeDescriptor } from '../../WorkflowCanvas/types';\nimport { defineNode } from '../defineNode';\n\n/**\n * Sub-Workflow node — calls another saved workflow by ID.\n *\n * The host app must provide `fetchWorkflowOptions` at registration time so the\n * `workflowId` select field can populate. Inject it via the descriptor factory:\n *\n * import { makeSubWorkflowDescriptor } from '@miniorange/flowforge';\n * nodeTypeRegistry.register(makeSubWorkflowDescriptor({\n * fetchWorkflowOptions: async () => myApi.listWorkflows(),\n * }));\n */\nexport interface SubWorkflowDescriptorOptions {\n /** Return a list of available workflows for the workflowId select field */\n fetchWorkflowOptions?: () => Promise<Array<{ label: string; value: string }>>;\n}\n\nexport function makeSubWorkflowDescriptor(opts: SubWorkflowDescriptorOptions = {}): NodeDescriptor {\n return defineNode({\n type: 'subWorkflow',\n label: 'Sub-Workflow',\n icon: React.createElement(MdAccountTree, { size: 18, color: '#00695c' }),\n matches: (id) => id.startsWith('subWorkflow-'),\n reactFlowType: 'subWorkflowNode',\n formSchema: [\n {\n id: 'workflowId',\n type: 'select',\n label: 'Workflow to Call',\n required: true,\n placeholder: 'Select a workflow...',\n ...(opts.fetchWorkflowOptions\n ? { fetchOptions: opts.fetchWorkflowOptions }\n : { options: [] }),\n },\n {\n id: 'workflowLabel',\n type: 'text',\n label: 'Display Name (optional)',\n placeholder: 'Override display name shown on canvas',\n },\n {\n id: 'inputMapping',\n type: 'key-value',\n label: 'Input Mapping',\n placeholder: 'Map parent variables → sub-workflow inputs',\n formulaEnabled: true,\n },\n {\n id: 'outputMapping',\n type: 'key-value',\n label: 'Output Mapping',\n placeholder: 'Map sub-workflow outputs → parent variables',\n },\n {\n id: 'waitForCompletion',\n type: 'toggle',\n label: 'Wait for sub-workflow to complete before continuing',\n },\n {\n id: 'continueOnError',\n type: 'toggle',\n label: 'Continue parent workflow if sub-workflow fails',\n },\n ],\n bpmnEntry: (id) => `Sub-Workflow Call: ${id}`,\n bpmnExit: (id) => `End Sub-Workflow Call: ${id}`,\n emitBpmnElements: (id, data) => {\n const d = data as Record<string, unknown>;\n return [{\n id,\n $type: 'bpmn:CallActivity',\n name: (d.workflowLabel as string) || (d.workflowId as string) || 'Sub-Workflow',\n calledElement: d.workflowId as string,\n }];\n },\n });\n}\n\n/** Pre-built static descriptor (no dynamic workflow list). Swap for makeSubWorkflowDescriptor when you have an API. */\nexport const subWorkflowDescriptor: NodeDescriptor = makeSubWorkflowDescriptor();\n"],"names":["baseNodeDefaults","id","defineNode","overrides","startEventDescriptor","React","MdPlayCircleOutline","endEventDescriptor","MdStopCircle","restApiDescriptor","MdHttp","values","data","d","notificationDescriptor","MdNotifications","CONDITION_OPERATORS","conditionBranchDescriptor","MdCallSplit","branches","b","webhookTriggerDescriptor","MdWebhook","NODE_DESCRIPTOR_ICON_SIZE","webhookTriggerTemplate","makeSubWorkflowDescriptor","opts","MdAccountTree","subWorkflowDescriptor"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { jsxs as w, jsx as u, Fragment as be } from "react/jsx-runtime";
|
|
|
2
2
|
import P, { useRef as Tt, useEffect as re, useState as j, useCallback as Y, useMemo as K } from "react";
|
|
3
3
|
import Rn, { useStore as Dn, useReactFlow as Pn, Background as Bn, Controls as Wn, MiniMap as Gn } from "reactflow";
|
|
4
4
|
import "reactflow/dist/style.css";
|
|
5
|
-
import { e as $n, G as Yn, E as Kn, P as Un, L as Hn, d as Vn, f as qn } from "./GatewayBranchEdge-
|
|
5
|
+
import { e as $n, G as Yn, E as Kn, P as Un, L as Hn, d as Vn, f as qn } from "./GatewayBranchEdge-F2AGJpun.js";
|
|
6
6
|
import { Dialog as Xn, Box as Q, Drawer as Jn, IconButton as _t, Button as Ne, CircularProgress as Zn } from "@mui/material";
|
|
7
7
|
import Qn from "react-select";
|
|
8
8
|
import { MdClose as er, MdCalendarToday as tr, MdBolt as nr, MdArrowBack as Kt, MdChevronRight as Ut, MdAddCircleOutline as rr, MdApps as or, MdErrorOutline as ir, MdAccountTree as sr, MdAdd as lr, MdSearch as ar, MdCategory as dr, MdCancel as Ht, MdError as Vt, MdCheckCircle as qt, MdPlayArrow as Xt, MdHourglassEmpty as cr, MdSchedule as Nt, MdPerson as fr, MdExpandLess as ur, MdExpandMore as hr } from "react-icons/md";
|
|
@@ -2223,8 +2223,8 @@ const Me = ({ isOpen: e, onClose: t, title: n, icon: r, children: o, footer: i,
|
|
|
2223
2223
|
return re(() => {
|
|
2224
2224
|
Promise.all([
|
|
2225
2225
|
Promise.resolve().then(() => ss).then((i) => i.default),
|
|
2226
|
-
import("./
|
|
2227
|
-
import("./
|
|
2226
|
+
import("./index-Dcur-XJ9.js").then((i) => i.nodeTypeRegistry),
|
|
2227
|
+
import("./index-B6xrei80.js").then((i) => i.templateRegistry)
|
|
2228
2228
|
]).then(([i, s, l]) => {
|
|
2229
2229
|
n(() => i), o({ nodeTypeRegistry: s, templateRegistry: l });
|
|
2230
2230
|
});
|
|
@@ -3133,4 +3133,4 @@ export {
|
|
|
3133
3133
|
Ns as u,
|
|
3134
3134
|
Is as w
|
|
3135
3135
|
};
|
|
3136
|
-
//# sourceMappingURL=templateSkeletons-
|
|
3136
|
+
//# sourceMappingURL=templateSkeletons-BQQ7UKp6.js.map
|