@uipath/apollo-react 3.29.1 → 3.30.0-pr163.a99bafa

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.
Files changed (50) hide show
  1. package/dist/canvas/components/AgentCanvas/components/SuggestionGroupPanel.cjs +34 -13
  2. package/dist/canvas/components/AgentCanvas/components/SuggestionGroupPanel.d.ts.map +1 -1
  3. package/dist/canvas/components/AgentCanvas/components/SuggestionGroupPanel.js +34 -13
  4. package/dist/canvas/components/AgentCanvas/nodes/AgentNode.cjs +42 -25
  5. package/dist/canvas/components/AgentCanvas/nodes/AgentNode.d.ts.map +1 -1
  6. package/dist/canvas/components/AgentCanvas/nodes/AgentNode.js +42 -25
  7. package/dist/canvas/components/AgentCanvas/nodes/ResourceNode.cjs +52 -32
  8. package/dist/canvas/components/AgentCanvas/nodes/ResourceNode.d.ts.map +1 -1
  9. package/dist/canvas/components/AgentCanvas/nodes/ResourceNode.js +52 -32
  10. package/dist/canvas/components/BaseCanvas/BaseCanvas.cjs +2 -2
  11. package/dist/canvas/components/BaseCanvas/BaseCanvas.d.ts.map +1 -1
  12. package/dist/canvas/components/BaseCanvas/BaseCanvas.js +2 -2
  13. package/dist/canvas/components/BaseCanvas/BaseCanvas.types.d.ts +1 -0
  14. package/dist/canvas/components/BaseCanvas/BaseCanvas.types.d.ts.map +1 -1
  15. package/dist/canvas/components/BaseNode/BaseNode.cjs +19 -5
  16. package/dist/canvas/components/BaseNode/BaseNode.d.ts +3 -2
  17. package/dist/canvas/components/BaseNode/BaseNode.d.ts.map +1 -1
  18. package/dist/canvas/components/BaseNode/BaseNode.js +20 -6
  19. package/dist/canvas/components/BaseNode/BaseNode.types.d.ts +0 -28
  20. package/dist/canvas/components/BaseNode/BaseNode.types.d.ts.map +1 -1
  21. package/dist/canvas/components/BaseNode/BaseNodeConfigContext.cjs +45 -0
  22. package/dist/canvas/components/BaseNode/BaseNodeConfigContext.d.ts +31 -0
  23. package/dist/canvas/components/BaseNode/BaseNodeConfigContext.d.ts.map +1 -0
  24. package/dist/canvas/components/BaseNode/BaseNodeConfigContext.js +8 -0
  25. package/dist/canvas/components/BaseNode/index.cjs +12 -3
  26. package/dist/canvas/components/BaseNode/index.d.ts +1 -0
  27. package/dist/canvas/components/BaseNode/index.d.ts.map +1 -1
  28. package/dist/canvas/components/BaseNode/index.js +1 -0
  29. package/dist/canvas/components/ButtonHandle/useButtonHandles.cjs +1 -4
  30. package/dist/canvas/components/ButtonHandle/useButtonHandles.d.ts.map +1 -1
  31. package/dist/canvas/components/ButtonHandle/useButtonHandles.js +1 -4
  32. package/dist/canvas/components/CodedAgent/CodedAgentFlow.cjs +112 -82
  33. package/dist/canvas/components/CodedAgent/CodedAgentFlow.d.ts.map +1 -1
  34. package/dist/canvas/components/CodedAgent/CodedAgentFlow.js +112 -82
  35. package/dist/canvas/components/CollapseConfig/CollapseConfig.stories.cjs +24 -15
  36. package/dist/canvas/components/CollapseConfig/CollapseConfig.stories.d.ts.map +1 -1
  37. package/dist/canvas/components/CollapseConfig/CollapseConfig.stories.js +24 -15
  38. package/dist/canvas/components/TriggerNode/TriggerNode.stories.d.ts.map +1 -1
  39. package/dist/canvas/hooks/ToolbarActionContext.cjs +1 -2
  40. package/dist/canvas/hooks/ToolbarActionContext.d.ts.map +1 -1
  41. package/dist/canvas/hooks/ToolbarActionContext.js +1 -2
  42. package/dist/canvas/utils/manifest-resolver.cjs +12 -7
  43. package/dist/canvas/utils/manifest-resolver.d.ts +3 -0
  44. package/dist/canvas/utils/manifest-resolver.d.ts.map +1 -1
  45. package/dist/canvas/utils/manifest-resolver.js +10 -5
  46. package/dist/canvas/utils/toolbar-resolver.cjs +2 -17
  47. package/dist/canvas/utils/toolbar-resolver.d.ts +1 -3
  48. package/dist/canvas/utils/toolbar-resolver.d.ts.map +1 -1
  49. package/dist/canvas/utils/toolbar-resolver.js +2 -17
  50. package/package.json +2 -2
@@ -6,9 +6,11 @@ import { ApIcon } from "../../../../material/components/index.js";
6
6
  import { memo, useCallback, useMemo } from "react";
7
7
  import { DefaultSuggestionTranslations } from "../../../types.js";
8
8
  import { BaseNode } from "../../BaseNode/BaseNode.js";
9
+ import { BaseNodeOverrideConfigProvider } from "../../BaseNode/BaseNodeConfigContext.js";
9
10
  import { ExecutionStatusIcon } from "../../ExecutionStatusIcon/ExecutionStatusIcon.js";
10
11
  import { ToolResourceIcon } from "../components/ToolResourceIcon/index.js";
11
12
  import { useAgentFlowStore, useEdges } from "../store/agent-flow-store.js";
13
+ const alwaysShowNotches = ()=>true;
12
14
  const ResourceNode = /*#__PURE__*/ memo(({ data, selected, id, mode, hasError = false, hasSuccess = false, hasRunning = false, onEnable, onDisable, onAddBreakpoint, onRemoveBreakpoint, onAddGuardrail, onGoToSource, translations, suggestionTranslations, suggestionGroupVersion, ...nodeProps })=>{
13
15
  const { nodes: _nodes, deleteNode, actOnSuggestion } = useAgentFlowStore();
14
16
  const edges = useEdges();
@@ -403,38 +405,56 @@ const ResourceNode = /*#__PURE__*/ memo(({ data, selected, id, mode, hasError =
403
405
  return 'uipath.resource.tool';
404
406
  }
405
407
  };
406
- return /*#__PURE__*/ jsx(BaseNode, {
407
- ...nodeProps,
408
- type: getResourceNodeType(),
409
- data: {
410
- ...data,
411
- display: {
412
- iconBackground: 'var(--uix-canvas-background-secondary)',
413
- label: data.name,
414
- subLabel: data.originalName,
415
- shape: 'circle'
416
- }
417
- },
418
- id: id,
419
- selected: selected,
420
- draggable: false,
421
- selectable: true,
422
- deletable: !isSuggestion,
423
- labelTooltip: displayTooltips ? data.description : void 0,
424
- labelBackgroundColor: "var(--uix-canvas-background-secondary)",
425
- disabled: isDisabled,
426
- executionStatusOverride: executionStatus,
427
- suggestionType: suggestionType,
428
- iconComponent: resourceIcon,
429
- handleConfigurations: handleConfigurations,
430
- toolbarConfig: toolbarConfig,
431
- adornments: {
432
- topLeft: breakpointAdornment,
433
- topRight: statusAdornment,
434
- bottomLeft: suggestionAdornment,
435
- bottomRight: guardrailsAdornment
436
- },
437
- shouldShowButtonHandleNotchesFn: ()=>true
408
+ const baseNodeConfig = useMemo(()=>({
409
+ labelTooltip: displayTooltips ? data.description : void 0,
410
+ labelBackgroundColor: 'var(--uix-canvas-background-secondary)',
411
+ disabled: isDisabled,
412
+ executionStatusOverride: executionStatus,
413
+ suggestionType,
414
+ iconComponent: resourceIcon,
415
+ handleConfigurations,
416
+ toolbarConfig,
417
+ adornments: {
418
+ topLeft: breakpointAdornment,
419
+ topRight: statusAdornment,
420
+ bottomLeft: suggestionAdornment,
421
+ bottomRight: guardrailsAdornment
422
+ },
423
+ shouldShowButtonHandleNotchesFn: alwaysShowNotches
424
+ }), [
425
+ displayTooltips,
426
+ data.description,
427
+ isDisabled,
428
+ executionStatus,
429
+ suggestionType,
430
+ resourceIcon,
431
+ handleConfigurations,
432
+ toolbarConfig,
433
+ breakpointAdornment,
434
+ statusAdornment,
435
+ suggestionAdornment,
436
+ guardrailsAdornment
437
+ ]);
438
+ return /*#__PURE__*/ jsx(BaseNodeOverrideConfigProvider, {
439
+ value: baseNodeConfig,
440
+ children: /*#__PURE__*/ jsx(BaseNode, {
441
+ ...nodeProps,
442
+ type: getResourceNodeType(),
443
+ data: {
444
+ ...data,
445
+ display: {
446
+ iconBackground: 'var(--uix-canvas-background-secondary)',
447
+ label: data.name,
448
+ subLabel: data.originalName,
449
+ shape: 'circle'
450
+ }
451
+ },
452
+ id: id,
453
+ selected: selected,
454
+ draggable: false,
455
+ selectable: true,
456
+ deletable: !isSuggestion
457
+ })
438
458
  });
439
459
  });
440
460
  export { ResourceNode };
@@ -39,7 +39,7 @@ const external_usePreventBackNavigation_cjs_namespaceObject = require("./usePrev
39
39
  const BaseCanvasInnerComponent = (props)=>{
40
40
  const { innerRef, fitViewOptions: fitViewOptionsProps, ...canvasProps } = props;
41
41
  const fitViewOptions = fitViewOptionsProps ?? external_BaseCanvas_constants_cjs_namespaceObject.BASE_CANVAS_DEFAULTS.fitViewOptions;
42
- const { nodes = [], edges = [], nodeTypes, edgeTypes, children, mode = 'view', showBackground = true, backgroundColor = external_BaseCanvas_constants_cjs_namespaceObject.BASE_CANVAS_DEFAULTS.background.color, backgroundSecondaryColor = external_BaseCanvas_constants_cjs_namespaceObject.BASE_CANVAS_DEFAULTS.background.bgColor, backgroundVariant = external_BaseCanvas_constants_cjs_namespaceObject.BASE_CANVAS_DEFAULTS.background.variant, backgroundGap = external_BaseCanvas_constants_cjs_namespaceObject.BASE_CANVAS_DEFAULTS.background.gap, backgroundSize = external_BaseCanvas_constants_cjs_namespaceObject.BASE_CANVAS_DEFAULTS.background.size, isDarkMode, minZoom = external_BaseCanvas_constants_cjs_namespaceObject.BASE_CANVAS_DEFAULTS.zoom.min, maxZoom = external_BaseCanvas_constants_cjs_namespaceObject.BASE_CANVAS_DEFAULTS.zoom.max, defaultViewport = external_BaseCanvas_constants_cjs_namespaceObject.BASE_CANVAS_DEFAULTS.defaultViewport, defaultEdgeOptions = external_BaseCanvas_constants_cjs_namespaceObject.BASE_CANVAS_DEFAULTS.edge, onNodesChange, onEdgesChange, onConnect, onConnectStart, onConnectEnd, onNodeClick, onNodeDragStart, onNodeDrag, onNodeDragStop, onPaneClick, onInit, onSelectionChange, proOptions = external_BaseCanvas_constants_cjs_namespaceObject.BASE_CANVAS_DEFAULTS.pro, connectionMode = react_cjs_namespaceObject.ConnectionMode.Loose, connectionLineComponent, connectionLineStyle, deleteKeyCode = null, selectNodesOnDrag = true, nodesDraggable = true, nodesConnectable = true, elementsSelectable = true, onlyRenderVisibleElements = true, zoomOnDoubleClick = true, snapToGrid = external_BaseCanvas_constants_cjs_namespaceObject.BASE_CANVAS_DEFAULTS.snapToGrid, snapGrid = external_BaseCanvas_constants_cjs_namespaceObject.BASE_CANVAS_DEFAULTS.snapGrid, initialAutoLayout, maintainNodesInView, onToolbarAction, breakpoints, panShortcutTeachingUIMessage = 'Hold Space and drag to pan around the canvas!', ...reactFlowProps } = canvasProps;
42
+ const { nodes = [], edges = [], nodeTypes, edgeTypes, children, mode = 'view', showBackground = true, backgroundColor = external_BaseCanvas_constants_cjs_namespaceObject.BASE_CANVAS_DEFAULTS.background.color, backgroundSecondaryColor = external_BaseCanvas_constants_cjs_namespaceObject.BASE_CANVAS_DEFAULTS.background.bgColor, backgroundVariant = external_BaseCanvas_constants_cjs_namespaceObject.BASE_CANVAS_DEFAULTS.background.variant, backgroundGap = external_BaseCanvas_constants_cjs_namespaceObject.BASE_CANVAS_DEFAULTS.background.gap, backgroundSize = external_BaseCanvas_constants_cjs_namespaceObject.BASE_CANVAS_DEFAULTS.background.size, isDarkMode, minZoom = external_BaseCanvas_constants_cjs_namespaceObject.BASE_CANVAS_DEFAULTS.zoom.min, maxZoom = external_BaseCanvas_constants_cjs_namespaceObject.BASE_CANVAS_DEFAULTS.zoom.max, defaultViewport = external_BaseCanvas_constants_cjs_namespaceObject.BASE_CANVAS_DEFAULTS.defaultViewport, defaultEdgeOptions = external_BaseCanvas_constants_cjs_namespaceObject.BASE_CANVAS_DEFAULTS.edge, onNodesChange, onEdgesChange, onConnect, onConnectStart, onConnectEnd, onNodeClick, onNodeDragStart, onNodeDrag, onNodeDragStop, onPaneClick, onInit, onSelectionChange, proOptions = external_BaseCanvas_constants_cjs_namespaceObject.BASE_CANVAS_DEFAULTS.pro, connectionMode = react_cjs_namespaceObject.ConnectionMode.Loose, connectionLineComponent, connectionLineStyle, deleteKeyCode = null, selectNodesOnDrag = true, nodesDraggable = true, nodesConnectable = true, elementsSelectable = true, onlyRenderVisibleElements = true, zoomOnDoubleClick = true, snapToGrid = external_BaseCanvas_constants_cjs_namespaceObject.BASE_CANVAS_DEFAULTS.snapToGrid, snapGrid = external_BaseCanvas_constants_cjs_namespaceObject.BASE_CANVAS_DEFAULTS.snapGrid, initialAutoLayout, maintainNodesInView, onToolbarAction, breakpoints, collapsed, panShortcutTeachingUIMessage = 'Hold Space and drag to pan around the canvas!', ...reactFlowProps } = canvasProps;
43
43
  const isInteractive = 'readonly' !== mode;
44
44
  const isDesignMode = 'design' === mode;
45
45
  const [reactFlowInstance, setReactFlowInstance] = (0, external_react_namespaceObject.useState)();
@@ -47,7 +47,7 @@ const BaseCanvasInnerComponent = (props)=>{
47
47
  const { ensureNodesInView, ensureAllNodesInView, centerNode } = (0, external_BaseCanvas_hooks_cjs_namespaceObject.useEnsureNodesInView)();
48
48
  (0, external_usePreventBackNavigation_cjs_namespaceObject.usePreventBackNavigation)();
49
49
  (0, external_BaseCanvas_hooks_cjs_namespaceObject.useMaintainNodesInView)(maintainNodesInView, fitViewOptions);
50
- (0, ToolbarActionContext_cjs_namespaceObject.useToolbarActionStore)(mode, onToolbarAction, breakpoints);
50
+ (0, ToolbarActionContext_cjs_namespaceObject.useToolbarActionStore)(mode, onToolbarAction, breakpoints, collapsed);
51
51
  const handleInit = (0, external_react_namespaceObject.useCallback)((instance)=>{
52
52
  setReactFlowInstance(instance);
53
53
  onInit?.(instance);
@@ -1 +1 @@
1
- {"version":3,"file":"BaseCanvas.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/BaseCanvas/BaseCanvas.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAqB,MAAM,0CAA0C,CAAC;AAE9F,OAAO,EAIL,KAAK,YAAY,EAKlB,MAAM,OAAO,CAAC;AAIf,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAuMzE,eAAO,MAAM,UAAU,EAKjB,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,SAAS,IAAI,GAAG,IAAI,EAC/D,KAAK,EAAE,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG;IAC3C,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;CACpD,KACE,YAAY,CAAC"}
1
+ {"version":3,"file":"BaseCanvas.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/BaseCanvas/BaseCanvas.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAqB,MAAM,0CAA0C,CAAC;AAE9F,OAAO,EAIL,KAAK,YAAY,EAKlB,MAAM,OAAO,CAAC;AAIf,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAwMzE,eAAO,MAAM,UAAU,EAKjB,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,SAAS,IAAI,GAAG,IAAI,EAC/D,KAAK,EAAE,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG;IAC3C,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;CACpD,KACE,YAAY,CAAC"}
@@ -11,7 +11,7 @@ import { usePreventBackNavigation } from "./usePreventBackNavigation.js";
11
11
  const BaseCanvasInnerComponent = (props)=>{
12
12
  const { innerRef, fitViewOptions: fitViewOptionsProps, ...canvasProps } = props;
13
13
  const fitViewOptions = fitViewOptionsProps ?? BASE_CANVAS_DEFAULTS.fitViewOptions;
14
- const { nodes = [], edges = [], nodeTypes, edgeTypes, children, mode = 'view', showBackground = true, backgroundColor = BASE_CANVAS_DEFAULTS.background.color, backgroundSecondaryColor = BASE_CANVAS_DEFAULTS.background.bgColor, backgroundVariant = BASE_CANVAS_DEFAULTS.background.variant, backgroundGap = BASE_CANVAS_DEFAULTS.background.gap, backgroundSize = BASE_CANVAS_DEFAULTS.background.size, isDarkMode, minZoom = BASE_CANVAS_DEFAULTS.zoom.min, maxZoom = BASE_CANVAS_DEFAULTS.zoom.max, defaultViewport = BASE_CANVAS_DEFAULTS.defaultViewport, defaultEdgeOptions = BASE_CANVAS_DEFAULTS.edge, onNodesChange, onEdgesChange, onConnect, onConnectStart, onConnectEnd, onNodeClick, onNodeDragStart, onNodeDrag, onNodeDragStop, onPaneClick, onInit, onSelectionChange, proOptions = BASE_CANVAS_DEFAULTS.pro, connectionMode = ConnectionMode.Loose, connectionLineComponent, connectionLineStyle, deleteKeyCode = null, selectNodesOnDrag = true, nodesDraggable = true, nodesConnectable = true, elementsSelectable = true, onlyRenderVisibleElements = true, zoomOnDoubleClick = true, snapToGrid = BASE_CANVAS_DEFAULTS.snapToGrid, snapGrid = BASE_CANVAS_DEFAULTS.snapGrid, initialAutoLayout, maintainNodesInView, onToolbarAction, breakpoints, panShortcutTeachingUIMessage = 'Hold Space and drag to pan around the canvas!', ...reactFlowProps } = canvasProps;
14
+ const { nodes = [], edges = [], nodeTypes, edgeTypes, children, mode = 'view', showBackground = true, backgroundColor = BASE_CANVAS_DEFAULTS.background.color, backgroundSecondaryColor = BASE_CANVAS_DEFAULTS.background.bgColor, backgroundVariant = BASE_CANVAS_DEFAULTS.background.variant, backgroundGap = BASE_CANVAS_DEFAULTS.background.gap, backgroundSize = BASE_CANVAS_DEFAULTS.background.size, isDarkMode, minZoom = BASE_CANVAS_DEFAULTS.zoom.min, maxZoom = BASE_CANVAS_DEFAULTS.zoom.max, defaultViewport = BASE_CANVAS_DEFAULTS.defaultViewport, defaultEdgeOptions = BASE_CANVAS_DEFAULTS.edge, onNodesChange, onEdgesChange, onConnect, onConnectStart, onConnectEnd, onNodeClick, onNodeDragStart, onNodeDrag, onNodeDragStop, onPaneClick, onInit, onSelectionChange, proOptions = BASE_CANVAS_DEFAULTS.pro, connectionMode = ConnectionMode.Loose, connectionLineComponent, connectionLineStyle, deleteKeyCode = null, selectNodesOnDrag = true, nodesDraggable = true, nodesConnectable = true, elementsSelectable = true, onlyRenderVisibleElements = true, zoomOnDoubleClick = true, snapToGrid = BASE_CANVAS_DEFAULTS.snapToGrid, snapGrid = BASE_CANVAS_DEFAULTS.snapGrid, initialAutoLayout, maintainNodesInView, onToolbarAction, breakpoints, collapsed, panShortcutTeachingUIMessage = 'Hold Space and drag to pan around the canvas!', ...reactFlowProps } = canvasProps;
15
15
  const isInteractive = 'readonly' !== mode;
16
16
  const isDesignMode = 'design' === mode;
17
17
  const [reactFlowInstance, setReactFlowInstance] = useState();
@@ -19,7 +19,7 @@ const BaseCanvasInnerComponent = (props)=>{
19
19
  const { ensureNodesInView, ensureAllNodesInView, centerNode } = useEnsureNodesInView();
20
20
  usePreventBackNavigation();
21
21
  useMaintainNodesInView(maintainNodesInView, fitViewOptions);
22
- useToolbarActionStore(mode, onToolbarAction, breakpoints);
22
+ useToolbarActionStore(mode, onToolbarAction, breakpoints, collapsed);
23
23
  const handleInit = useCallback((instance)=>{
24
24
  setReactFlowInstance(instance);
25
25
  onInit?.(instance);
@@ -28,6 +28,7 @@ export interface BaseCanvasProps<NodeType extends Node = Node, EdgeType extends
28
28
  onToolbarAction?: ToolbarActionHandler;
29
29
  breakpoints?: Set<string>;
30
30
  isDarkMode?: boolean;
31
+ collapsed?: Set<string>;
31
32
  }
32
33
  export interface EnsureNodesInViewOptions {
33
34
  padding?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"BaseCanvas.types.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/BaseCanvas/BaseCanvas.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,IAAI,EACJ,IAAI,EACJ,iBAAiB,EACjB,cAAc,EACf,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAMjE,MAAM,WAAW,wBAAwB;IAOvC,OAAO,CAAC,EACJ,MAAM,GACN;QACE,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IAON,QAAQ,CAAC,EAAE,MAAM,CAAC;IAMlB,OAAO,CAAC,EAAE,MAAM,CAAC;IAMjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AASD,MAAM,WAAW,eAAe,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,SAAS,IAAI,GAAG,IAAI,CACzF,SAAQ,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAe1C,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;IAOtC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAOrB,cAAc,CAAC,EAAE,OAAO,CAAC;IAKzB,eAAe,CAAC,EAAE,MAAM,CAAC;IAKzB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAOlC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAOtC,aAAa,CAAC,EAAE,MAAM,CAAC;IAOvB,cAAc,CAAC,EAAE,MAAM,CAAC;IAcxB,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAkB/C,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAM/B,4BAA4B,CAAC,EAAE,MAAM,CAAC;IAUtC,cAAc,CAAC,EAAE,wBAAwB,CAAC;IAK1C,eAAe,CAAC,EAAE,oBAAoB,CAAC;IAMvC,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAW1B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAMD,MAAM,WAAW,wBAAwB;IAKvC,OAAO,CAAC,EAAE,MAAM,CAAC;IAMjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAMlB,OAAO,CAAC,EAAE,MAAM,CAAC;IAMjB,OAAO,CAAC,EAAE,MAAM,CAAC;IAOjB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AASD,MAAM,WAAW,aAAa,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,SAAS,IAAI,GAAG,IAAI;IAgBvF,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAa/E,oBAAoB,CAAC,OAAO,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAiB/D,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAyBrE,SAAS,EAAE,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,SAAS,CAAC;CAC9D"}
1
+ {"version":3,"file":"BaseCanvas.types.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/BaseCanvas/BaseCanvas.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,IAAI,EACJ,IAAI,EACJ,iBAAiB,EACjB,cAAc,EACf,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAMjE,MAAM,WAAW,wBAAwB;IAOvC,OAAO,CAAC,EACJ,MAAM,GACN;QACE,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IAON,QAAQ,CAAC,EAAE,MAAM,CAAC;IAMlB,OAAO,CAAC,EAAE,MAAM,CAAC;IAMjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AASD,MAAM,WAAW,eAAe,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,SAAS,IAAI,GAAG,IAAI,CACzF,SAAQ,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAe1C,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;IAOtC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAOrB,cAAc,CAAC,EAAE,OAAO,CAAC;IAKzB,eAAe,CAAC,EAAE,MAAM,CAAC;IAKzB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAOlC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAOtC,aAAa,CAAC,EAAE,MAAM,CAAC;IAOvB,cAAc,CAAC,EAAE,MAAM,CAAC;IAcxB,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAkB/C,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAM/B,4BAA4B,CAAC,EAAE,MAAM,CAAC;IAUtC,cAAc,CAAC,EAAE,wBAAwB,CAAC;IAK1C,eAAe,CAAC,EAAE,oBAAoB,CAAC;IAMvC,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAW1B,UAAU,CAAC,EAAE,OAAO,CAAC;IAMrB,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACzB;AAMD,MAAM,WAAW,wBAAwB;IAKvC,OAAO,CAAC,EAAE,MAAM,CAAC;IAMjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAMlB,OAAO,CAAC,EAAE,MAAM,CAAC;IAMjB,OAAO,CAAC,EAAE,MAAM,CAAC;IAOjB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AASD,MAAM,WAAW,aAAa,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,SAAS,IAAI,GAAG,IAAI;IAgBvF,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAa/E,oBAAoB,CAAC,OAAO,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAiB/D,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAyBrE,SAAS,EAAE,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,SAAS,CAAC;CAC9D"}
@@ -46,10 +46,12 @@ const SmartHandle_cjs_namespaceObject = require("../ButtonHandle/SmartHandle.cjs
46
46
  const useButtonHandles_cjs_namespaceObject = require("../ButtonHandle/useButtonHandles.cjs");
47
47
  const external_Toolbar_index_cjs_namespaceObject = require("../Toolbar/index.cjs");
48
48
  const external_BaseNode_styles_cjs_namespaceObject = require("./BaseNode.styles.cjs");
49
+ const external_BaseNodeConfigContext_cjs_namespaceObject = require("./BaseNodeConfigContext.cjs");
49
50
  const external_NodeLabel_cjs_namespaceObject = require("./NodeLabel.cjs");
50
51
  const selectIsConnecting = (state)=>!!state.connectionClickStartHandle;
51
52
  const BaseNodeComponent = (props)=>{
52
- const { type, data, selected, id, dragging, width, height, onHandleAction: onHandleActionProp, shouldShowAddButtonFn: shouldShowAddButtonFnProp, shouldShowButtonHandleNotchesFn: shouldShowButtonHandleNotchesFnProp, toolbarConfig: toolbarConfigProp, handleConfigurations: handleConfigurationsProp, adornments: adornmentsProp, suggestionType, disabled, executionStatusOverride, labelTooltip, labelBackgroundColor, footerVariant, footerComponent, subLabelComponent, iconComponent } = props;
53
+ const { type, data, selected, id, dragging, width, height } = props;
54
+ const { onHandleAction: onHandleActionProp, shouldShowAddButtonFn: shouldShowAddButtonFnProp, shouldShowButtonHandleNotchesFn: shouldShowButtonHandleNotchesFnProp, toolbarConfig: toolbarConfigProp, handleConfigurations: handleConfigurationsProp, adornments: adornmentsProp, suggestionType, disabled, executionStatusOverride, labelTooltip, labelBackgroundColor, footerVariant, footerComponent, subLabelComponent, iconComponent } = (0, external_BaseNodeConfigContext_cjs_namespaceObject.useBaseNodeOverrideConfig)();
53
55
  const updateNodeInternals = (0, react_cjs_namespaceObject.useUpdateNodeInternals)();
54
56
  const { updateNodeData, updateNode } = (0, react_cjs_namespaceObject.useReactFlow)();
55
57
  const containerRef = (0, external_react_namespaceObject.useRef)(null);
@@ -63,6 +65,7 @@ const BaseNodeComponent = (props)=>{
63
65
  const isConnecting = (0, react_cjs_namespaceObject.useStore)(selectIsConnecting);
64
66
  const { multipleNodesSelected } = (0, SelectionStateContext_cjs_namespaceObject.useSelectionState)();
65
67
  const { isDarkMode } = (0, CanvasThemeContext_cjs_namespaceObject.useCanvasTheme)();
68
+ const { collapsed } = (0, external_hooks_index_cjs_namespaceObject.getToolbarActionStore)();
66
69
  const manifest = (0, external_react_namespaceObject.useMemo)(()=>nodeTypeRegistry.getManifest(type), [
67
70
  type,
68
71
  nodeTypeRegistry
@@ -86,9 +89,15 @@ const BaseNodeComponent = (props)=>{
86
89
  const shouldShowAddButtonFn = shouldShowAddButtonFnProp;
87
90
  const shouldShowButtonHandleNotchesFn = shouldShowButtonHandleNotchesFnProp;
88
91
  const executionStatus = executionStatusOverride ?? ('string' == typeof executionState ? executionState : executionState?.status);
89
- const display = (0, external_react_namespaceObject.useMemo)(()=>(0, manifest_resolver_cjs_namespaceObject.resolveDisplay)(manifest?.display, data.display), [
92
+ const display = (0, external_react_namespaceObject.useMemo)(()=>(0, manifest_resolver_cjs_namespaceObject.resolveDisplay)(manifest?.display, {
93
+ ...data.display,
94
+ nodeId: id,
95
+ collapsed
96
+ }), [
90
97
  manifest,
91
- data.display
98
+ data.display,
99
+ id,
100
+ collapsed
92
101
  ]);
93
102
  const Icon = (0, external_react_namespaceObject.useMemo)(()=>{
94
103
  if (void 0 !== iconComponent) return iconComponent;
@@ -101,7 +110,11 @@ const BaseNodeComponent = (props)=>{
101
110
  const handleConfigurations = (0, external_react_namespaceObject.useMemo)(()=>{
102
111
  if (handleConfigurationsProp && Array.isArray(handleConfigurationsProp)) return handleConfigurationsProp;
103
112
  if (!manifest) return [];
104
- const resolved = (0, manifest_resolver_cjs_namespaceObject.resolveHandles)(manifest.handleConfiguration, data);
113
+ const resolved = (0, manifest_resolver_cjs_namespaceObject.resolveHandles)(manifest.handleConfiguration, {
114
+ ...data,
115
+ nodeId: id,
116
+ collapsed
117
+ });
105
118
  return resolved.map((group)=>({
106
119
  position: group.position,
107
120
  handles: group.handles.map((h)=>({
@@ -126,7 +139,8 @@ const BaseNodeComponent = (props)=>{
126
139
  }, [
127
140
  toolbarConfigProp,
128
141
  manifest,
129
- statusContext
142
+ statusContext,
143
+ collapsed
130
144
  ]);
131
145
  const adornments = (0, external_react_namespaceObject.useMemo)(()=>{
132
146
  const adornmentsFromProps = adornmentsProp ?? {};
@@ -1,3 +1,4 @@
1
- import type { BaseNodeComponentProps } from './BaseNode.types';
2
- export declare const BaseNode: import("react").MemoExoticComponent<(props: BaseNodeComponentProps) => import("react/jsx-runtime").JSX.Element>;
1
+ import type { Node, NodeProps } from '../../xyflow/react.ts';
2
+ import type { BaseNodeData } from './BaseNode.types';
3
+ export declare const BaseNode: import("react").MemoExoticComponent<(props: NodeProps<Node<BaseNodeData>>) => import("react/jsx-runtime").JSX.Element>;
3
4
  //# sourceMappingURL=BaseNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseNode.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/BaseNode/BaseNode.tsx"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EACV,sBAAsB,EAIvB,MAAM,kBAAkB,CAAC;AAkgB1B,eAAO,MAAM,QAAQ,8CA7fa,sBAAsB,6CA6fT,CAAC"}
1
+ {"version":3,"file":"BaseNode.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/BaseNode/BaseNode.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAkB,MAAM,0CAA0C,CAAC;AAkChG,OAAO,KAAK,EACV,YAAY,EAIb,MAAM,kBAAkB,CAAC;AAggB1B,eAAO,MAAM,QAAQ,8CA3fa,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,6CA2fhB,CAAC"}
@@ -5,7 +5,7 @@ import { ApIcon } from "../../../material/components/index.js";
5
5
  import { memo, useCallback, useEffect, useMemo, useRef, useState } from "react";
6
6
  import { DEFAULT_NODE_SIZE } from "../../constants.js";
7
7
  import { useNodeTypeRegistry } from "../../core/index.js";
8
- import { useNodeExecutionState } from "../../hooks/index.js";
8
+ import { getToolbarActionStore, useNodeExecutionState } from "../../hooks/index.js";
9
9
  import { resolveAdornments } from "../../utils/adornment-resolver.js";
10
10
  import { getIcon } from "../../utils/icon-registry.js";
11
11
  import { resolveDisplay, resolveHandles } from "../../utils/manifest-resolver.js";
@@ -18,10 +18,12 @@ import { SmartHandle, SmartHandleProvider } from "../ButtonHandle/SmartHandle.js
18
18
  import { useButtonHandles } from "../ButtonHandle/useButtonHandles.js";
19
19
  import { NodeToolbar } from "../Toolbar/index.js";
20
20
  import { BaseBadgeSlot, BaseContainer, BaseHeader, BaseIconWrapper, BaseSubHeader, BaseTextContainer } from "./BaseNode.styles.js";
21
+ import { useBaseNodeOverrideConfig } from "./BaseNodeConfigContext.js";
21
22
  import { NodeLabel } from "./NodeLabel.js";
22
23
  const selectIsConnecting = (state)=>!!state.connectionClickStartHandle;
23
24
  const BaseNodeComponent = (props)=>{
24
- const { type, data, selected, id, dragging, width, height, onHandleAction: onHandleActionProp, shouldShowAddButtonFn: shouldShowAddButtonFnProp, shouldShowButtonHandleNotchesFn: shouldShowButtonHandleNotchesFnProp, toolbarConfig: toolbarConfigProp, handleConfigurations: handleConfigurationsProp, adornments: adornmentsProp, suggestionType, disabled, executionStatusOverride, labelTooltip, labelBackgroundColor, footerVariant, footerComponent, subLabelComponent, iconComponent } = props;
25
+ const { type, data, selected, id, dragging, width, height } = props;
26
+ const { onHandleAction: onHandleActionProp, shouldShowAddButtonFn: shouldShowAddButtonFnProp, shouldShowButtonHandleNotchesFn: shouldShowButtonHandleNotchesFnProp, toolbarConfig: toolbarConfigProp, handleConfigurations: handleConfigurationsProp, adornments: adornmentsProp, suggestionType, disabled, executionStatusOverride, labelTooltip, labelBackgroundColor, footerVariant, footerComponent, subLabelComponent, iconComponent } = useBaseNodeOverrideConfig();
25
27
  const updateNodeInternals = useUpdateNodeInternals();
26
28
  const { updateNodeData, updateNode } = useReactFlow();
27
29
  const containerRef = useRef(null);
@@ -35,6 +37,7 @@ const BaseNodeComponent = (props)=>{
35
37
  const isConnecting = useStore(selectIsConnecting);
36
38
  const { multipleNodesSelected } = useSelectionState();
37
39
  const { isDarkMode } = useCanvasTheme();
40
+ const { collapsed } = getToolbarActionStore();
38
41
  const manifest = useMemo(()=>nodeTypeRegistry.getManifest(type), [
39
42
  type,
40
43
  nodeTypeRegistry
@@ -58,9 +61,15 @@ const BaseNodeComponent = (props)=>{
58
61
  const shouldShowAddButtonFn = shouldShowAddButtonFnProp;
59
62
  const shouldShowButtonHandleNotchesFn = shouldShowButtonHandleNotchesFnProp;
60
63
  const executionStatus = executionStatusOverride ?? ('string' == typeof executionState ? executionState : executionState?.status);
61
- const display = useMemo(()=>resolveDisplay(manifest?.display, data.display), [
64
+ const display = useMemo(()=>resolveDisplay(manifest?.display, {
65
+ ...data.display,
66
+ nodeId: id,
67
+ collapsed
68
+ }), [
62
69
  manifest,
63
- data.display
70
+ data.display,
71
+ id,
72
+ collapsed
64
73
  ]);
65
74
  const Icon = useMemo(()=>{
66
75
  if (void 0 !== iconComponent) return iconComponent;
@@ -73,7 +82,11 @@ const BaseNodeComponent = (props)=>{
73
82
  const handleConfigurations = useMemo(()=>{
74
83
  if (handleConfigurationsProp && Array.isArray(handleConfigurationsProp)) return handleConfigurationsProp;
75
84
  if (!manifest) return [];
76
- const resolved = resolveHandles(manifest.handleConfiguration, data);
85
+ const resolved = resolveHandles(manifest.handleConfiguration, {
86
+ ...data,
87
+ nodeId: id,
88
+ collapsed
89
+ });
77
90
  return resolved.map((group)=>({
78
91
  position: group.position,
79
92
  handles: group.handles.map((h)=>({
@@ -98,7 +111,8 @@ const BaseNodeComponent = (props)=>{
98
111
  }, [
99
112
  toolbarConfigProp,
100
113
  manifest,
101
- statusContext
114
+ statusContext,
115
+ collapsed
102
116
  ]);
103
117
  const adornments = useMemo(()=>{
104
118
  const adornmentsFromProps = adornmentsProp ?? {};
@@ -1,9 +1,5 @@
1
- import type { HandleGroupManifest } from '../../schema/node-definition';
2
1
  import type { NodeShape } from '../../schema';
3
2
  import type { ExecutionState } from '../../types/execution';
4
- import type { HandleActionEvent } from '../ButtonHandle/ButtonHandle';
5
- import type { NodeToolbarConfig } from '../Toolbar';
6
- import type { Node, NodeProps } from '@xyflow/react';
7
3
  export type FooterVariant = 'none' | 'button' | 'single' | 'double';
8
4
  export interface BaseNodeData extends Record<string, unknown> {
9
5
  display?: {
@@ -33,28 +29,4 @@ export interface NodeStatusContext {
33
29
  isSelected?: boolean;
34
30
  isDragging?: boolean;
35
31
  }
36
- export interface BaseNodeComponentProps extends NodeProps<Node<BaseNodeData>> {
37
- onHandleAction?: (event: HandleActionEvent) => void;
38
- shouldShowAddButtonFn?: (opts: {
39
- showAddButton: boolean;
40
- selected: boolean;
41
- }) => boolean;
42
- shouldShowButtonHandleNotchesFn?: (opts: {
43
- isConnecting: boolean;
44
- isSelected: boolean;
45
- isHovered: boolean;
46
- }) => boolean;
47
- toolbarConfig?: NodeToolbarConfig | null;
48
- handleConfigurations?: HandleGroupManifest[];
49
- adornments?: NodeAdornments;
50
- suggestionType?: 'add' | 'update' | 'delete';
51
- disabled?: boolean;
52
- executionStatusOverride?: string;
53
- labelTooltip?: string;
54
- labelBackgroundColor?: string;
55
- footerVariant?: FooterVariant;
56
- footerComponent?: React.ReactNode;
57
- subLabelComponent?: React.ReactNode;
58
- iconComponent?: React.ReactNode;
59
- }
60
32
  //# sourceMappingURL=BaseNode.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseNode.types.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/BaseNode/BaseNode.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAErD,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEpE,MAAM,WAAW,YAAa,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC3D,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,SAAS,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IAOF,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAoBD,MAAM,WAAW,sBAAuB,SAAQ,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAS3E,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAMpD,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,aAAa,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC;IAMzF,+BAA+B,CAAC,EAAE,CAAC,IAAI,EAAE;QACvC,YAAY,EAAE,OAAO,CAAC;QACtB,UAAU,EAAE,OAAO,CAAC;QACpB,SAAS,EAAE,OAAO,CAAC;KACpB,KAAK,OAAO,CAAC;IAad,aAAa,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAMzC,oBAAoB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAQ7C,UAAU,CAAC,EAAE,cAAc,CAAC;IAU5B,cAAc,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAM7C,QAAQ,CAAC,EAAE,OAAO,CAAC;IAMnB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IASjC,YAAY,CAAC,EAAE,MAAM,CAAC;IAKtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAK9B,aAAa,CAAC,EAAE,aAAa,CAAC;IAM9B,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAMlC,iBAAiB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAMpC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACjC"}
1
+ {"version":3,"file":"BaseNode.types.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/BaseNode/BaseNode.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEpE,MAAM,WAAW,YAAa,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC3D,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,SAAS,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IAOF,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ useBaseNodeOverrideConfig: ()=>useBaseNodeOverrideConfig,
28
+ BaseNodeOverrideConfigProvider: ()=>BaseNodeOverrideConfigProvider
29
+ });
30
+ const external_react_namespaceObject = require("react");
31
+ const EMPTY_CONFIG = {};
32
+ const BaseNodeOverrideConfigContext = /*#__PURE__*/ (0, external_react_namespaceObject.createContext)(EMPTY_CONFIG);
33
+ const BaseNodeOverrideConfigProvider = BaseNodeOverrideConfigContext.Provider;
34
+ function useBaseNodeOverrideConfig() {
35
+ return (0, external_react_namespaceObject.useContext)(BaseNodeOverrideConfigContext);
36
+ }
37
+ exports.BaseNodeOverrideConfigProvider = __webpack_exports__.BaseNodeOverrideConfigProvider;
38
+ exports.useBaseNodeOverrideConfig = __webpack_exports__.useBaseNodeOverrideConfig;
39
+ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
40
+ "BaseNodeOverrideConfigProvider",
41
+ "useBaseNodeOverrideConfig"
42
+ ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
43
+ Object.defineProperty(exports, '__esModule', {
44
+ value: true
45
+ });
@@ -0,0 +1,31 @@
1
+ import type { HandleGroupManifest } from '../../schema/node-definition';
2
+ import type { HandleActionEvent } from '../ButtonHandle/ButtonHandle';
3
+ import type { NodeToolbarConfig } from '../Toolbar';
4
+ import type { FooterVariant, NodeAdornments } from './BaseNode.types';
5
+ export interface BaseNodeOverrideConfig {
6
+ onHandleAction?: (event: HandleActionEvent) => void;
7
+ shouldShowAddButtonFn?: (opts: {
8
+ showAddButton: boolean;
9
+ selected: boolean;
10
+ }) => boolean;
11
+ shouldShowButtonHandleNotchesFn?: (opts: {
12
+ isConnecting: boolean;
13
+ isSelected: boolean;
14
+ isHovered: boolean;
15
+ }) => boolean;
16
+ toolbarConfig?: NodeToolbarConfig | null;
17
+ handleConfigurations?: HandleGroupManifest[];
18
+ adornments?: NodeAdornments;
19
+ suggestionType?: 'add' | 'update' | 'delete';
20
+ disabled?: boolean;
21
+ executionStatusOverride?: string;
22
+ labelTooltip?: string;
23
+ labelBackgroundColor?: string;
24
+ footerVariant?: FooterVariant;
25
+ footerComponent?: React.ReactNode;
26
+ subLabelComponent?: React.ReactNode;
27
+ iconComponent?: React.ReactNode;
28
+ }
29
+ export declare const BaseNodeOverrideConfigProvider: import("react").Provider<BaseNodeOverrideConfig>;
30
+ export declare function useBaseNodeOverrideConfig(): BaseNodeOverrideConfig;
31
+ //# sourceMappingURL=BaseNodeConfigContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseNodeConfigContext.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/BaseNode/BaseNodeConfigContext.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AActE,MAAM,WAAW,sBAAsB;IAErC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACpD,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,aAAa,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC;IACzF,+BAA+B,CAAC,EAAE,CAAC,IAAI,EAAE;QACvC,YAAY,EAAE,OAAO,CAAC;QACtB,UAAU,EAAE,OAAO,CAAC;QACpB,SAAS,EAAE,OAAO,CAAC;KACpB,KAAK,OAAO,CAAC;IAGd,aAAa,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACzC,oBAAoB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC7C,UAAU,CAAC,EAAE,cAAc,CAAC;IAG5B,cAAc,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAGjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAClC,iBAAiB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACpC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACjC;AAMD,eAAO,MAAM,8BAA8B,kDAAyC,CAAC;AAMrF,wBAAgB,yBAAyB,IAAI,sBAAsB,CAElE"}
@@ -0,0 +1,8 @@
1
+ import { createContext, useContext } from "react";
2
+ const EMPTY_CONFIG = {};
3
+ const BaseNodeOverrideConfigContext = /*#__PURE__*/ createContext(EMPTY_CONFIG);
4
+ const BaseNodeOverrideConfigProvider = BaseNodeOverrideConfigContext.Provider;
5
+ function useBaseNodeOverrideConfig() {
6
+ return useContext(BaseNodeOverrideConfigContext);
7
+ }
8
+ export { BaseNodeOverrideConfigProvider, useBaseNodeOverrideConfig };
@@ -6,6 +6,9 @@ var __webpack_modules__ = {
6
6
  "./BaseNode.types": function(module) {
7
7
  module.exports = require("./BaseNode.types.cjs");
8
8
  },
9
+ "./BaseNodeConfigContext": function(module) {
10
+ module.exports = require("./BaseNodeConfigContext.cjs");
11
+ },
9
12
  "./useNodeCollapse": function(module) {
10
13
  module.exports = require("./useNodeCollapse.cjs");
11
14
  }
@@ -65,10 +68,16 @@ var __webpack_exports__ = {};
65
68
  return _BaseNode_types__WEBPACK_IMPORTED_MODULE_1__[key];
66
69
  }).bind(0, __WEBPACK_IMPORT_KEY__);
67
70
  __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
68
- var _useNodeCollapse__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("./useNodeCollapse");
71
+ var _BaseNodeConfigContext__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("./BaseNodeConfigContext");
72
+ var __WEBPACK_REEXPORT_OBJECT__ = {};
73
+ for(var __WEBPACK_IMPORT_KEY__ in _BaseNodeConfigContext__WEBPACK_IMPORTED_MODULE_2__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
74
+ return _BaseNodeConfigContext__WEBPACK_IMPORTED_MODULE_2__[key];
75
+ }).bind(0, __WEBPACK_IMPORT_KEY__);
76
+ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
77
+ var _useNodeCollapse__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("./useNodeCollapse");
69
78
  var __WEBPACK_REEXPORT_OBJECT__ = {};
70
- for(var __WEBPACK_IMPORT_KEY__ in _useNodeCollapse__WEBPACK_IMPORTED_MODULE_2__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
71
- return _useNodeCollapse__WEBPACK_IMPORTED_MODULE_2__[key];
79
+ for(var __WEBPACK_IMPORT_KEY__ in _useNodeCollapse__WEBPACK_IMPORTED_MODULE_3__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
80
+ return _useNodeCollapse__WEBPACK_IMPORTED_MODULE_3__[key];
72
81
  }).bind(0, __WEBPACK_IMPORT_KEY__);
73
82
  __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
74
83
  })();
@@ -1,4 +1,5 @@
1
1
  export * from './BaseNode';
2
2
  export * from './BaseNode.types';
3
+ export * from './BaseNodeConfigContext';
3
4
  export * from './useNodeCollapse';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/BaseNode/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/BaseNode/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from "./BaseNode.js";
2
2
  export * from "./BaseNode.types.js";
3
+ export * from "./BaseNodeConfigContext.js";
3
4
  export * from "./useNodeCollapse.js";
@@ -32,10 +32,7 @@ const external_react_namespaceObject = require("react");
32
32
  const manifest_resolver_cjs_namespaceObject = require("../../utils/manifest-resolver.cjs");
33
33
  const ConnectedHandlesContext_cjs_namespaceObject = require("../BaseCanvas/ConnectedHandlesContext.cjs");
34
34
  const external_index_cjs_namespaceObject = require("./index.cjs");
35
- const ToolbarActionContext_cjs_namespaceObject = require("../../hooks/ToolbarActionContext.cjs");
36
35
  const useButtonHandles = ({ handleConfigurations, shouldShowHandles, handleAction, nodeId, selected, showAddButton, showNotches, shouldShowAddButtonFn, nodeWidth, nodeHeight })=>{
37
- const { collapsed } = (0, ToolbarActionContext_cjs_namespaceObject.getToolbarActionStore)();
38
- const isCollapsed = Boolean(collapsed?.has(nodeId));
39
36
  const connectedHandleIds = (0, ConnectedHandlesContext_cjs_namespaceObject.useConnectedHandles)(nodeId);
40
37
  const node = (0, react_namespaceObject.useNodesData)(nodeId);
41
38
  const handleElements = (0, external_react_namespaceObject.useMemo)(()=>{
@@ -44,7 +41,7 @@ const useButtonHandles = ({ handleConfigurations, shouldShowHandles, handleActio
44
41
  const elements = resolvedHandles.map((config, i)=>{
45
42
  const hasConnectedHandle = config.handles.some((h)=>connectedHandleIds.has(h.id));
46
43
  const finalVisible = hasConnectedHandle || shouldShowHandles && (config.visible ?? true);
47
- const enhancedHandles = config.handles.filter((handle)=>isCollapsed ? 'artifact' !== handle.handleType : true).map((handle)=>({
44
+ const enhancedHandles = config.handles.map((handle)=>({
48
45
  ...handle,
49
46
  onAction: handle.onAction || handleAction
50
47
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"useButtonHandles.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/ButtonHandle/useButtonHandles.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAGxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAIzD,eAAO,MAAM,gBAAgB,GAAI,wJAW9B;IACD,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;IAC5C,iBAAiB,EAAE,OAAO,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAClD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IAUpB,qBAAqB,CAAC,EAAE,CAAC,EACvB,aAAa,EACb,QAAQ,GACT,EAAE;QACD,aAAa,EAAE,OAAO,CAAC;QACvB,QAAQ,EAAE,OAAO,CAAC;KACnB,KAAK,OAAO,CAAC;CACf,wFAiEA,CAAC"}
1
+ {"version":3,"file":"useButtonHandles.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/ButtonHandle/useButtonHandles.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAGxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGzD,eAAO,MAAM,gBAAgB,GAAI,wJAW9B;IACD,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;IAC5C,iBAAiB,EAAE,OAAO,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAClD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IAUpB,qBAAqB,CAAC,EAAE,CAAC,EACvB,aAAa,EACb,QAAQ,GACT,EAAE;QACD,aAAa,EAAE,OAAO,CAAC;QACvB,QAAQ,EAAE,OAAO,CAAC;KACnB,KAAK,OAAO,CAAC;CACf,wFA2DA,CAAC"}
@@ -4,10 +4,7 @@ import { useMemo } from "react";
4
4
  import { resolveHandles } from "../../utils/manifest-resolver.js";
5
5
  import { useConnectedHandles } from "../BaseCanvas/ConnectedHandlesContext.js";
6
6
  import { ButtonHandles } from "./index.js";
7
- import { getToolbarActionStore } from "../../hooks/ToolbarActionContext.js";
8
7
  const useButtonHandles = ({ handleConfigurations, shouldShowHandles, handleAction, nodeId, selected, showAddButton, showNotches, shouldShowAddButtonFn, nodeWidth, nodeHeight })=>{
9
- const { collapsed } = getToolbarActionStore();
10
- const isCollapsed = Boolean(collapsed?.has(nodeId));
11
8
  const connectedHandleIds = useConnectedHandles(nodeId);
12
9
  const node = useNodesData(nodeId);
13
10
  const handleElements = useMemo(()=>{
@@ -16,7 +13,7 @@ const useButtonHandles = ({ handleConfigurations, shouldShowHandles, handleActio
16
13
  const elements = resolvedHandles.map((config, i)=>{
17
14
  const hasConnectedHandle = config.handles.some((h)=>connectedHandleIds.has(h.id));
18
15
  const finalVisible = hasConnectedHandle || shouldShowHandles && (config.visible ?? true);
19
- const enhancedHandles = config.handles.filter((handle)=>isCollapsed ? 'artifact' !== handle.handleType : true).map((handle)=>({
16
+ const enhancedHandles = config.handles.map((handle)=>({
20
17
  ...handle,
21
18
  onAction: handle.onAction || handleAction
22
19
  }));