@uipath/apollo-react 4.47.1 → 4.48.1

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 (27) hide show
  1. package/dist/canvas/components/ButtonHandle/HandleButton.cjs +2 -0
  2. package/dist/canvas/components/ButtonHandle/HandleButton.d.ts +1 -1
  3. package/dist/canvas/components/ButtonHandle/HandleButton.d.ts.map +1 -1
  4. package/dist/canvas/components/ButtonHandle/HandleButton.js +2 -0
  5. package/dist/canvas/components/Edges/shared/hooks/useExecutionEdge.cjs +7 -2
  6. package/dist/canvas/components/Edges/shared/hooks/useExecutionEdge.d.ts.map +1 -1
  7. package/dist/canvas/components/Edges/shared/hooks/useExecutionEdge.js +7 -2
  8. package/dist/canvas/components/LoopNode/LoopNode.cjs +10 -10
  9. package/dist/canvas/components/LoopNode/LoopNode.js +10 -10
  10. package/dist/canvas/components/NodeViewportOverlay.cjs +21 -9
  11. package/dist/canvas/components/NodeViewportOverlay.d.ts.map +1 -1
  12. package/dist/canvas/components/NodeViewportOverlay.js +22 -10
  13. package/dist/canvas/components/StickyNoteNode/StickyNoteNode.cjs +11 -5
  14. package/dist/canvas/components/StickyNoteNode/StickyNoteNode.d.ts.map +1 -1
  15. package/dist/canvas/components/StickyNoteNode/StickyNoteNode.js +11 -5
  16. package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.cjs +1 -0
  17. package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.d.ts.map +1 -1
  18. package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.js +1 -0
  19. package/dist/canvas/storybook-utils/components/StoryInfoPanel.d.ts +1 -1
  20. package/dist/canvas/storybook-utils/components/StoryInfoPanel.d.ts.map +1 -1
  21. package/dist/canvas/storybook-utils/manifests/node-definitions.d.ts.map +1 -1
  22. package/dist/canvas/styles/tailwind.canvas.css +1 -1
  23. package/dist/canvas/utils/index.cjs +17 -10
  24. package/dist/canvas/utils/index.d.ts +1 -0
  25. package/dist/canvas/utils/index.d.ts.map +1 -1
  26. package/dist/canvas/utils/index.js +1 -0
  27. package/package.json +2 -2
@@ -109,7 +109,9 @@ const HandleButton = /*#__PURE__*/ (0, external_react_namespaceObject.memo)(({ v
109
109
  })
110
110
  ]
111
111
  });
112
+ const shouldRenderPortal = Boolean(visible || label && labelVisible);
112
113
  if (portal) {
114
+ if (!shouldRenderPortal) return null;
113
115
  const { nodeId, ...anchor } = portal;
114
116
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_NodeViewportOverlay_cjs_namespaceObject.NodeViewportOverlay, {
115
117
  nodeId: nodeId,
@@ -19,7 +19,7 @@ export declare const HandleButton: import("react").MemoExoticComponent<({ visibl
19
19
  labelIcon?: React.ReactNode;
20
20
  labelBackgroundColor?: string;
21
21
  portal?: HandleButtonPortal;
22
- }) => import("react/jsx-runtime").JSX.Element>;
22
+ }) => import("react/jsx-runtime").JSX.Element | null>;
23
23
  export declare const HandleHoverBridge: import("react").MemoExoticComponent<({ position, visible }: {
24
24
  position: Position;
25
25
  visible?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"HandleButton.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/ButtonHandle/HandleButton.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AAepE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAUF,eAAO,MAAM,YAAY,8KAapB;IACD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IAC5C,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,MAAM,CAAC,EAAE,kBAAkB,CAAC;CAC7B,6CA+GF,CAAC;AA0CF,eAAO,MAAM,iBAAiB,8DACJ;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,oDAOlE,CAAC"}
1
+ {"version":3,"file":"HandleButton.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/ButtonHandle/HandleButton.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AAepE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAUF,eAAO,MAAM,YAAY,8KAapB;IACD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IAC5C,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,MAAM,CAAC,EAAE,kBAAkB,CAAC;CAC7B,oDAqHF,CAAC;AA0CF,eAAO,MAAM,iBAAiB,8DACJ;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,oDAOlE,CAAC"}
@@ -80,7 +80,9 @@ const HandleButton = /*#__PURE__*/ memo(({ visible, labelVisible, position, onAc
80
80
  })
81
81
  ]
82
82
  });
83
+ const shouldRenderPortal = Boolean(visible || label && labelVisible);
83
84
  if (portal) {
85
+ if (!shouldRenderPortal) return null;
84
86
  const { nodeId, ...anchor } = portal;
85
87
  return /*#__PURE__*/ jsx(NodeViewportOverlay, {
86
88
  nodeId: nodeId,
@@ -28,6 +28,7 @@ __webpack_require__.d(__webpack_exports__, {
28
28
  });
29
29
  const external_react_namespaceObject = require("react");
30
30
  const index_cjs_namespaceObject = require("../../../../hooks/index.cjs");
31
+ const execution_cjs_namespaceObject = require("../../../../types/execution.cjs");
31
32
  const external_EdgeUtils_cjs_namespaceObject = require("../../EdgeUtils.cjs");
32
33
  function resolveStatus(executionState, validation) {
33
34
  if (executionState) return executionState?.status ?? executionState;
@@ -39,9 +40,13 @@ function useExecutionEdge(args) {
39
40
  const validation = (0, index_cjs_namespaceObject.useElementValidationStatus)(edgeId);
40
41
  const status = enabled ? resolveStatus(executionState, validation) : void 0;
41
42
  const statusColor = status ? external_EdgeUtils_cjs_namespaceObject.edgeTargetStatusToEdgeColor[status] : void 0;
42
- const animation = (0, external_react_namespaceObject.useMemo)(()=>(0, external_EdgeUtils_cjs_namespaceObject.getStatusAnimation)(status, edgePath), [
43
+ const animationPath = status === execution_cjs_namespaceObject.ElementStatusValues.InProgress ? edgePath : void 0;
44
+ const animation = (0, external_react_namespaceObject.useMemo)(()=>{
45
+ if (null == animationPath) return null;
46
+ return (0, external_EdgeUtils_cjs_namespaceObject.getStatusAnimation)(status, animationPath);
47
+ }, [
43
48
  status,
44
- edgePath
49
+ animationPath
45
50
  ]);
46
51
  return {
47
52
  statusColor,
@@ -1 +1 @@
1
- {"version":3,"file":"useExecutionEdge.d.ts","sourceRoot":"","sources":["../../../../../../src/canvas/components/Edges/shared/hooks/useExecutionEdge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;AAMhD,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IAEf,QAAQ,EAAE,MAAM,CAAC;IAEjB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AAeF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,aAAa,CAW1E"}
1
+ {"version":3,"file":"useExecutionEdge.d.ts","sourceRoot":"","sources":["../../../../../../src/canvas/components/Edges/shared/hooks/useExecutionEdge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;AAUhD,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IAEf,QAAQ,EAAE,MAAM,CAAC;IAEjB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AAeF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,aAAa,CAmB1E"}
@@ -1,5 +1,6 @@
1
1
  import { useMemo } from "react";
2
2
  import { useEdgeExecutionState, useElementValidationStatus } from "../../../../hooks/index.js";
3
+ import { ElementStatusValues } from "../../../../types/execution.js";
3
4
  import { edgeTargetStatusToEdgeColor, getStatusAnimation } from "../../EdgeUtils.js";
4
5
  function resolveStatus(executionState, validation) {
5
6
  if (executionState) return executionState?.status ?? executionState;
@@ -11,9 +12,13 @@ function useExecutionEdge(args) {
11
12
  const validation = useElementValidationStatus(edgeId);
12
13
  const status = enabled ? resolveStatus(executionState, validation) : void 0;
13
14
  const statusColor = status ? edgeTargetStatusToEdgeColor[status] : void 0;
14
- const animation = useMemo(()=>getStatusAnimation(status, edgePath), [
15
+ const animationPath = status === ElementStatusValues.InProgress ? edgePath : void 0;
16
+ const animation = useMemo(()=>{
17
+ if (null == animationPath) return null;
18
+ return getStatusAnimation(status, animationPath);
19
+ }, [
15
20
  status,
16
- edgePath
21
+ animationPath
17
22
  ]);
18
23
  return {
19
24
  statusColor,
@@ -117,7 +117,7 @@ function resolveInteractionState(dragging, selected, isHovered) {
117
117
  return 'default';
118
118
  }
119
119
  function useHasChildNodes(id, enabled) {
120
- return (0, react_cjs_namespaceObject.useStore)((0, external_react_namespaceObject.useCallback)((state)=>!enabled || state.nodes.some((node)=>node.parentId === id), [
120
+ return (0, react_cjs_namespaceObject.useStore)((0, external_react_namespaceObject.useCallback)((state)=>!enabled || (state.parentLookup.get(id)?.size ?? 0) > 0, [
121
121
  id,
122
122
  enabled
123
123
  ]));
@@ -352,7 +352,7 @@ function LoopNodeComponent(props) {
352
352
  hasTopLeftAdornment: hasTopLeftAdornment,
353
353
  hasTopRightAdornment: hasTopRightAdornment
354
354
  }),
355
- /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(BodyFrame, {
355
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(LoopNode_BodyFrame, {
356
356
  isEmpty: showEmptyStateButton,
357
357
  isLoading: isLoading
358
358
  })
@@ -363,10 +363,10 @@ function LoopNodeComponent(props) {
363
363
  shape: "rectangle",
364
364
  children: adornments[slot]
365
365
  }, slot) : null),
366
- /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(ResizeCornerIndicators, {
366
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(LoopNode_ResizeCornerIndicators, {
367
367
  visible: resizeControlsVisible
368
368
  }),
369
- resizeControlsMounted ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(ResizeControls, {
369
+ resizeControlsMounted ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(LoopNode_ResizeControls, {
370
370
  minimums: resizeMinimums,
371
371
  onResize: handleResize,
372
372
  onResizeStart: handleResizeStart,
@@ -478,7 +478,7 @@ function EmptyState({ label, onAddFirstChild }) {
478
478
  })
479
479
  });
480
480
  }
481
- function BodyFrame({ isEmpty, isLoading }) {
481
+ const LoopNode_BodyFrame = /*#__PURE__*/ (0, external_react_namespaceObject.memo)(function({ isEmpty, isLoading }) {
482
482
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
483
483
  "data-testid": "loop-body-frame",
484
484
  "data-empty": isEmpty ? 'true' : 'false',
@@ -487,8 +487,8 @@ function BodyFrame({ isEmpty, isLoading }) {
487
487
  className: "m-6 h-14 w-full animate-pulse rounded-[18px] bg-(--canvas-background-overlay)"
488
488
  }) : null
489
489
  });
490
- }
491
- function ResizeControls({ minimums = DEFAULT_RESIZE_MINIMUMS, onResize, onResizeStart, onResizeEnd }) {
490
+ });
491
+ const LoopNode_ResizeControls = /*#__PURE__*/ (0, external_react_namespaceObject.memo)(function({ minimums = DEFAULT_RESIZE_MINIMUMS, onResize, onResizeStart, onResizeEnd }) {
492
492
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(jsx_runtime_namespaceObject.Fragment, {
493
493
  children: RESIZE_CONTROLS.map(({ position, widthSide, heightSide, cursor })=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_cjs_namespaceObject.NodeResizeControl, {
494
494
  style: RESIZE_CONTROL_STYLE,
@@ -506,8 +506,8 @@ function ResizeControls({ minimums = DEFAULT_RESIZE_MINIMUMS, onResize, onResize
506
506
  })
507
507
  }, position))
508
508
  });
509
- }
510
- function ResizeCornerIndicators({ visible }) {
509
+ });
510
+ const LoopNode_ResizeCornerIndicators = /*#__PURE__*/ (0, external_react_namespaceObject.memo)(function({ visible }) {
511
511
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(jsx_runtime_namespaceObject.Fragment, {
512
512
  children: RESIZE_CONTROLS.map(({ position, indicatorClassName })=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
513
513
  "aria-hidden": true,
@@ -515,7 +515,7 @@ function ResizeCornerIndicators({ visible }) {
515
515
  className: (0, apollo_wind_namespaceObject.cn)('pointer-events-none absolute h-2 w-2 rounded-full bg-brand transition-opacity', indicatorClassName, visible ? 'opacity-100' : 'opacity-0')
516
516
  }, position))
517
517
  });
518
- }
518
+ });
519
519
  function HandleGroups({ groups, ...handleGroupProps }) {
520
520
  if (0 === groups.length) return null;
521
521
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(jsx_runtime_namespaceObject.Fragment, {
@@ -89,7 +89,7 @@ function resolveInteractionState(dragging, selected, isHovered) {
89
89
  return 'default';
90
90
  }
91
91
  function useHasChildNodes(id, enabled) {
92
- return useStore(useCallback((state)=>!enabled || state.nodes.some((node)=>node.parentId === id), [
92
+ return useStore(useCallback((state)=>!enabled || (state.parentLookup.get(id)?.size ?? 0) > 0, [
93
93
  id,
94
94
  enabled
95
95
  ]));
@@ -324,7 +324,7 @@ function LoopNodeComponent(props) {
324
324
  hasTopLeftAdornment: hasTopLeftAdornment,
325
325
  hasTopRightAdornment: hasTopRightAdornment
326
326
  }),
327
- /*#__PURE__*/ jsx(BodyFrame, {
327
+ /*#__PURE__*/ jsx(LoopNode_BodyFrame, {
328
328
  isEmpty: showEmptyStateButton,
329
329
  isLoading: isLoading
330
330
  })
@@ -335,10 +335,10 @@ function LoopNodeComponent(props) {
335
335
  shape: "rectangle",
336
336
  children: adornments[slot]
337
337
  }, slot) : null),
338
- /*#__PURE__*/ jsx(ResizeCornerIndicators, {
338
+ /*#__PURE__*/ jsx(LoopNode_ResizeCornerIndicators, {
339
339
  visible: resizeControlsVisible
340
340
  }),
341
- resizeControlsMounted ? /*#__PURE__*/ jsx(ResizeControls, {
341
+ resizeControlsMounted ? /*#__PURE__*/ jsx(LoopNode_ResizeControls, {
342
342
  minimums: resizeMinimums,
343
343
  onResize: handleResize,
344
344
  onResizeStart: handleResizeStart,
@@ -450,7 +450,7 @@ function EmptyState({ label, onAddFirstChild }) {
450
450
  })
451
451
  });
452
452
  }
453
- function BodyFrame({ isEmpty, isLoading }) {
453
+ const LoopNode_BodyFrame = /*#__PURE__*/ memo(function({ isEmpty, isLoading }) {
454
454
  return /*#__PURE__*/ jsx("div", {
455
455
  "data-testid": "loop-body-frame",
456
456
  "data-empty": isEmpty ? 'true' : 'false',
@@ -459,8 +459,8 @@ function BodyFrame({ isEmpty, isLoading }) {
459
459
  className: "m-6 h-14 w-full animate-pulse rounded-[18px] bg-(--canvas-background-overlay)"
460
460
  }) : null
461
461
  });
462
- }
463
- function ResizeControls({ minimums = DEFAULT_RESIZE_MINIMUMS, onResize, onResizeStart, onResizeEnd }) {
462
+ });
463
+ const LoopNode_ResizeControls = /*#__PURE__*/ memo(function({ minimums = DEFAULT_RESIZE_MINIMUMS, onResize, onResizeStart, onResizeEnd }) {
464
464
  return /*#__PURE__*/ jsx(Fragment, {
465
465
  children: RESIZE_CONTROLS.map(({ position, widthSide, heightSide, cursor })=>/*#__PURE__*/ jsx(NodeResizeControl, {
466
466
  style: RESIZE_CONTROL_STYLE,
@@ -478,8 +478,8 @@ function ResizeControls({ minimums = DEFAULT_RESIZE_MINIMUMS, onResize, onResize
478
478
  })
479
479
  }, position))
480
480
  });
481
- }
482
- function ResizeCornerIndicators({ visible }) {
481
+ });
482
+ const LoopNode_ResizeCornerIndicators = /*#__PURE__*/ memo(function({ visible }) {
483
483
  return /*#__PURE__*/ jsx(Fragment, {
484
484
  children: RESIZE_CONTROLS.map(({ position, indicatorClassName })=>/*#__PURE__*/ jsx("div", {
485
485
  "aria-hidden": true,
@@ -487,7 +487,7 @@ function ResizeCornerIndicators({ visible }) {
487
487
  className: cn('pointer-events-none absolute h-2 w-2 rounded-full bg-brand transition-opacity', indicatorClassName, visible ? 'opacity-100' : 'opacity-0')
488
488
  }, position))
489
489
  });
490
- }
490
+ });
491
491
  function HandleGroups({ groups, ...handleGroupProps }) {
492
492
  if (0 === groups.length) return null;
493
493
  return /*#__PURE__*/ jsx(Fragment, {
@@ -28,25 +28,37 @@ __webpack_require__.d(__webpack_exports__, {
28
28
  });
29
29
  const jsx_runtime_namespaceObject = require("react/jsx-runtime");
30
30
  const react_cjs_namespaceObject = require("../xyflow/react.cjs");
31
+ const external_react_namespaceObject = require("react");
32
+ const shallow_namespaceObject = require("zustand/shallow");
31
33
  const NODE_VIEWPORT_OVERLAY_Z_INDEX = {
32
34
  nodeHandleAffordance: 1002,
33
35
  nodeToolbar: 1003
34
36
  };
35
37
  function NodeViewportOverlay({ nodeId, anchor, layer, children }) {
36
- const internalNode = (0, react_cjs_namespaceObject.useInternalNode)(nodeId);
37
- const positionAbsolute = internalNode?.internals.positionAbsolute;
38
- const width = anchor?.width ?? internalNode?.measured?.width ?? internalNode?.width;
39
- const height = anchor?.height ?? internalNode?.measured?.height ?? internalNode?.height;
40
- if (!positionAbsolute || null == width || null == height) return children;
38
+ const geometry = (0, react_cjs_namespaceObject.useStore)((0, external_react_namespaceObject.useCallback)((state)=>{
39
+ const internalNode = state.nodeLookup.get(nodeId);
40
+ const positionAbsolute = internalNode?.internals.positionAbsolute;
41
+ return {
42
+ x: positionAbsolute?.x,
43
+ y: positionAbsolute?.y,
44
+ width: anchor?.width ?? internalNode?.measured?.width ?? internalNode?.width,
45
+ height: anchor?.height ?? internalNode?.measured?.height ?? internalNode?.height
46
+ };
47
+ }, [
48
+ anchor?.height,
49
+ anchor?.width,
50
+ nodeId
51
+ ]), shallow_namespaceObject.shallow);
52
+ if (null == geometry.x || null == geometry.y || null == geometry.width || null == geometry.height) return children;
41
53
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_cjs_namespaceObject.ViewportPortal, {
42
54
  children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
43
55
  className: "absolute pointer-events-none",
44
56
  style: {
45
57
  position: 'absolute',
46
- left: positionAbsolute.x + (anchor?.left ?? 0),
47
- top: positionAbsolute.y + (anchor?.top ?? 0),
48
- width,
49
- height,
58
+ left: geometry.x + (anchor?.left ?? 0),
59
+ top: geometry.y + (anchor?.top ?? 0),
60
+ width: geometry.width,
61
+ height: geometry.height,
50
62
  transform: anchor?.transform,
51
63
  zIndex: layer ? NODE_VIEWPORT_OVERLAY_Z_INDEX[layer] : void 0
52
64
  },
@@ -1 +1 @@
1
- {"version":3,"file":"NodeViewportOverlay.d.ts","sourceRoot":"","sources":["../../../src/canvas/components/NodeViewportOverlay.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAItD,QAAA,MAAM,6BAA6B;;;CAGzB,CAAC;AAEX,KAAK,wBAAwB,GAAG,MAAM,OAAO,6BAA6B,CAAC;AAE3E,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,yBAAyB,CAAC;IACnC,KAAK,CAAC,EAAE,wBAAwB,CAAC;IACjC,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,wBAAwB,2UA4BhG"}
1
+ {"version":3,"file":"NodeViewportOverlay.d.ts","sourceRoot":"","sources":["../../../src/canvas/components/NodeViewportOverlay.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMtD,QAAA,MAAM,6BAA6B;;;CAGzB,CAAC;AAEX,KAAK,wBAAwB,GAAG,MAAM,OAAO,6BAA6B,CAAC;AAE3E,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,yBAAyB,CAAC;IACnC,KAAK,CAAC,EAAE,wBAAwB,CAAC;IACjC,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AASF,wBAAgB,mBAAmB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,wBAAwB,2UA8ChG"}
@@ -1,24 +1,36 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { ViewportPortal, useInternalNode } from "../xyflow/react.js";
2
+ import { ViewportPortal, useStore } from "../xyflow/react.js";
3
+ import { useCallback } from "react";
4
+ import { shallow } from "zustand/shallow";
3
5
  const NODE_VIEWPORT_OVERLAY_Z_INDEX = {
4
6
  nodeHandleAffordance: 1002,
5
7
  nodeToolbar: 1003
6
8
  };
7
9
  function NodeViewportOverlay({ nodeId, anchor, layer, children }) {
8
- const internalNode = useInternalNode(nodeId);
9
- const positionAbsolute = internalNode?.internals.positionAbsolute;
10
- const width = anchor?.width ?? internalNode?.measured?.width ?? internalNode?.width;
11
- const height = anchor?.height ?? internalNode?.measured?.height ?? internalNode?.height;
12
- if (!positionAbsolute || null == width || null == height) return children;
10
+ const geometry = useStore(useCallback((state)=>{
11
+ const internalNode = state.nodeLookup.get(nodeId);
12
+ const positionAbsolute = internalNode?.internals.positionAbsolute;
13
+ return {
14
+ x: positionAbsolute?.x,
15
+ y: positionAbsolute?.y,
16
+ width: anchor?.width ?? internalNode?.measured?.width ?? internalNode?.width,
17
+ height: anchor?.height ?? internalNode?.measured?.height ?? internalNode?.height
18
+ };
19
+ }, [
20
+ anchor?.height,
21
+ anchor?.width,
22
+ nodeId
23
+ ]), shallow);
24
+ if (null == geometry.x || null == geometry.y || null == geometry.width || null == geometry.height) return children;
13
25
  return /*#__PURE__*/ jsx(ViewportPortal, {
14
26
  children: /*#__PURE__*/ jsx("div", {
15
27
  className: "absolute pointer-events-none",
16
28
  style: {
17
29
  position: 'absolute',
18
- left: positionAbsolute.x + (anchor?.left ?? 0),
19
- top: positionAbsolute.y + (anchor?.top ?? 0),
20
- width,
21
- height,
30
+ left: geometry.x + (anchor?.left ?? 0),
31
+ top: geometry.y + (anchor?.top ?? 0),
32
+ width: geometry.width,
33
+ height: geometry.height,
22
34
  transform: anchor?.transform,
23
35
  zIndex: layer ? NODE_VIEWPORT_OVERLAY_Z_INDEX[layer] : void 0
24
36
  },
@@ -50,6 +50,8 @@ const external_remark_gfm_namespaceObject = require("remark-gfm");
50
50
  var external_remark_gfm_default = /*#__PURE__*/ __webpack_require__.n(external_remark_gfm_namespaceObject);
51
51
  const index_cjs_namespaceObject = require("../../../i18n/index.cjs");
52
52
  const external_constants_cjs_namespaceObject = require("../../constants.cjs");
53
+ const nodePropsEqual_cjs_namespaceObject = require("../../utils/nodePropsEqual.cjs");
54
+ const SelectionStateContext_cjs_namespaceObject = require("../BaseCanvas/SelectionStateContext.cjs");
53
55
  const external_NodeViewportOverlay_cjs_namespaceObject = require("../NodeViewportOverlay.cjs");
54
56
  const external_Toolbar_index_cjs_namespaceObject = require("../Toolbar/index.cjs");
55
57
  const external_FormattingToolbar_cjs_namespaceObject = require("./FormattingToolbar.cjs");
@@ -64,6 +66,7 @@ const minHeight = 8 * external_constants_cjs_namespaceObject.GRID_SPACING;
64
66
  const StickyNoteNodeComponent = ({ id, data, selected, dragging, placeholder = 'Add text', renderPlaceholderOnSelect = false, readOnly = false, onContentChange, onColorChange, onResize, onResizeStart, onResizeEnd })=>{
65
67
  const { _ } = (0, index_cjs_namespaceObject.useSafeLingui)();
66
68
  const { updateNodeData, deleteElements } = (0, react_cjs_namespaceObject.useReactFlow)();
69
+ const { multipleNodesSelected } = (0, SelectionStateContext_cjs_namespaceObject.useSelectionState)();
67
70
  const [isEditing, setIsEditing] = (0, external_react_namespaceObject.useState)(!readOnly && (data.autoFocus ?? false));
68
71
  const [isResizing, setIsResizing] = (0, external_react_namespaceObject.useState)(false);
69
72
  const [isColorPickerOpen, setIsColorPickerOpen] = (0, external_react_namespaceObject.useState)(false);
@@ -103,10 +106,12 @@ const StickyNoteNodeComponent = ({ id, data, selected, dragging, placeholder = '
103
106
  readOnly
104
107
  ]);
105
108
  (0, external_react_namespaceObject.useEffect)(()=>{
106
- if (!selected || isResizing) setIsColorPickerOpen(false);
109
+ if (!selected || dragging || isResizing || multipleNodesSelected) setIsColorPickerOpen(false);
107
110
  }, [
108
111
  selected,
109
- isResizing
112
+ dragging,
113
+ isResizing,
114
+ multipleNodesSelected
110
115
  ]);
111
116
  (0, external_react_namespaceObject.useEffect)(()=>{
112
117
  if (readOnly) {
@@ -355,6 +360,7 @@ const StickyNoteNodeComponent = ({ id, data, selected, dragging, placeholder = '
355
360
  color,
356
361
  handleDelete
357
362
  ]);
363
+ const shouldRenderToolbarOverlay = !readOnly && selected && !dragging && !isResizing && !multipleNodesSelected;
358
364
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment, {
359
365
  children: [
360
366
  /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_namespaceObject.Global, {
@@ -487,13 +493,13 @@ const StickyNoteNodeComponent = ({ id, data, selected, dragging, placeholder = '
487
493
  })
488
494
  ]
489
495
  }),
490
- !readOnly && selected && !dragging && !isResizing && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_Toolbar_index_cjs_namespaceObject.NodeToolbar, {
496
+ shouldRenderToolbarOverlay && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_Toolbar_index_cjs_namespaceObject.NodeToolbar, {
491
497
  nodeId: id,
492
498
  config: toolbarConfig,
493
499
  expanded: true,
494
500
  portalToNodeOverlay: true
495
501
  }),
496
- !readOnly && selected && !dragging && !isResizing && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_NodeViewportOverlay_cjs_namespaceObject.NodeViewportOverlay, {
502
+ shouldRenderToolbarOverlay && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_NodeViewportOverlay_cjs_namespaceObject.NodeViewportOverlay, {
497
503
  nodeId: id,
498
504
  layer: "nodeToolbar",
499
505
  children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_motion_react_namespaceObject.AnimatePresence, {
@@ -548,7 +554,7 @@ const StickyNoteNodeComponent = ({ id, data, selected, dragging, placeholder = '
548
554
  ]
549
555
  });
550
556
  };
551
- const StickyNoteNode = /*#__PURE__*/ (0, external_react_namespaceObject.memo)(StickyNoteNodeComponent);
557
+ const StickyNoteNode = /*#__PURE__*/ (0, external_react_namespaceObject.memo)(StickyNoteNodeComponent, nodePropsEqual_cjs_namespaceObject.areNodePropsEqualIgnoringPosition);
552
558
  exports.StickyNoteNode = __webpack_exports__.StickyNoteNode;
553
559
  for(var __rspack_i in __webpack_exports__)if (-1 === [
554
560
  "StickyNoteNode"
@@ -1 +1 @@
1
- {"version":3,"file":"StickyNoteNode.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/StickyNoteNode/StickyNoteNode.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAkC1E,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAiB,MAAM,wBAAwB,CAAC;AAM7F,MAAM,WAAW,mBAAoB,SAAQ,SAAS;IACpD,IAAI,EAAE,cAAc,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IACjD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B;AAwcD,eAAO,MAAM,cAAc,kMAtbxB,mBAAmB,6CAsbqC,CAAC"}
1
+ {"version":3,"file":"StickyNoteNode.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/StickyNoteNode/StickyNoteNode.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAoC1E,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAiB,MAAM,wBAAwB,CAAC;AAM7F,MAAM,WAAW,mBAAoB,SAAQ,SAAS;IACpD,IAAI,EAAE,cAAc,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IACjD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B;AA4cD,eAAO,MAAM,cAAc,kMA1bxB,mBAAmB,6CA0bwE,CAAC"}
@@ -10,6 +10,8 @@ import remark_breaks from "remark-breaks";
10
10
  import remark_gfm from "remark-gfm";
11
11
  import { useSafeLingui } from "../../../i18n/index.js";
12
12
  import { GRID_SPACING } from "../../constants.js";
13
+ import { areNodePropsEqualIgnoringPosition } from "../../utils/nodePropsEqual.js";
14
+ import { useSelectionState } from "../BaseCanvas/SelectionStateContext.js";
13
15
  import { NodeViewportOverlay } from "../NodeViewportOverlay.js";
14
16
  import { NodeToolbar } from "../Toolbar/index.js";
15
17
  import { FormattingToolbar } from "./FormattingToolbar.js";
@@ -24,6 +26,7 @@ const minHeight = 8 * GRID_SPACING;
24
26
  const StickyNoteNodeComponent = ({ id, data, selected, dragging, placeholder = 'Add text', renderPlaceholderOnSelect = false, readOnly = false, onContentChange, onColorChange, onResize, onResizeStart, onResizeEnd })=>{
25
27
  const { _ } = useSafeLingui();
26
28
  const { updateNodeData, deleteElements } = useReactFlow();
29
+ const { multipleNodesSelected } = useSelectionState();
27
30
  const [isEditing, setIsEditing] = useState(!readOnly && (data.autoFocus ?? false));
28
31
  const [isResizing, setIsResizing] = useState(false);
29
32
  const [isColorPickerOpen, setIsColorPickerOpen] = useState(false);
@@ -63,10 +66,12 @@ const StickyNoteNodeComponent = ({ id, data, selected, dragging, placeholder = '
63
66
  readOnly
64
67
  ]);
65
68
  useEffect(()=>{
66
- if (!selected || isResizing) setIsColorPickerOpen(false);
69
+ if (!selected || dragging || isResizing || multipleNodesSelected) setIsColorPickerOpen(false);
67
70
  }, [
68
71
  selected,
69
- isResizing
72
+ dragging,
73
+ isResizing,
74
+ multipleNodesSelected
70
75
  ]);
71
76
  useEffect(()=>{
72
77
  if (readOnly) {
@@ -315,6 +320,7 @@ const StickyNoteNodeComponent = ({ id, data, selected, dragging, placeholder = '
315
320
  color,
316
321
  handleDelete
317
322
  ]);
323
+ const shouldRenderToolbarOverlay = !readOnly && selected && !dragging && !isResizing && !multipleNodesSelected;
318
324
  return /*#__PURE__*/ jsxs(Fragment, {
319
325
  children: [
320
326
  /*#__PURE__*/ jsx(Global, {
@@ -447,13 +453,13 @@ const StickyNoteNodeComponent = ({ id, data, selected, dragging, placeholder = '
447
453
  })
448
454
  ]
449
455
  }),
450
- !readOnly && selected && !dragging && !isResizing && /*#__PURE__*/ jsx(NodeToolbar, {
456
+ shouldRenderToolbarOverlay && /*#__PURE__*/ jsx(NodeToolbar, {
451
457
  nodeId: id,
452
458
  config: toolbarConfig,
453
459
  expanded: true,
454
460
  portalToNodeOverlay: true
455
461
  }),
456
- !readOnly && selected && !dragging && !isResizing && /*#__PURE__*/ jsx(NodeViewportOverlay, {
462
+ shouldRenderToolbarOverlay && /*#__PURE__*/ jsx(NodeViewportOverlay, {
457
463
  nodeId: id,
458
464
  layer: "nodeToolbar",
459
465
  children: /*#__PURE__*/ jsx(AnimatePresence, {
@@ -508,5 +514,5 @@ const StickyNoteNodeComponent = ({ id, data, selected, dragging, placeholder = '
508
514
  ]
509
515
  });
510
516
  };
511
- const StickyNoteNode = /*#__PURE__*/ memo(StickyNoteNodeComponent);
517
+ const StickyNoteNode = /*#__PURE__*/ memo(StickyNoteNodeComponent, areNodePropsEqualIgnoringPosition);
512
518
  export { StickyNoteNode };
@@ -128,6 +128,7 @@ const NodeToolbarComponent = ({ nodeId, config, expanded, hidden, offsetToolbar,
128
128
  displayState
129
129
  ]);
130
130
  if (0 === config.actions.length && (!config.overflowActions || 0 === config.overflowActions.length)) return null;
131
+ if (portalToNodeOverlay && 'hidden' === displayState) return null;
131
132
  const toolbarContent = /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_namespaceObject.AnimatePresence, {
132
133
  children: 'hidden' !== displayState && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
133
134
  className: positionerClassName,
@@ -1 +1 @@
1
- {"version":3,"file":"NodeToolbar.d.ts","sourceRoot":"","sources":["../../../../../src/canvas/components/Toolbar/NodeToolbar/NodeToolbar.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAwR5D,eAAO,MAAM,WAAW,kHAxMrB,gBAAgB,oDAwMkC,CAAC"}
1
+ {"version":3,"file":"NodeToolbar.d.ts","sourceRoot":"","sources":["../../../../../src/canvas/components/Toolbar/NodeToolbar/NodeToolbar.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AA4R5D,eAAO,MAAM,WAAW,kHA5MrB,gBAAgB,oDA4MkC,CAAC"}
@@ -100,6 +100,7 @@ const NodeToolbarComponent = ({ nodeId, config, expanded, hidden, offsetToolbar,
100
100
  displayState
101
101
  ]);
102
102
  if (0 === config.actions.length && (!config.overflowActions || 0 === config.overflowActions.length)) return null;
103
+ if (portalToNodeOverlay && 'hidden' === displayState) return null;
103
104
  const toolbarContent = /*#__PURE__*/ jsx(AnimatePresence, {
104
105
  children: 'hidden' !== displayState && /*#__PURE__*/ jsxs("div", {
105
106
  className: positionerClassName,
@@ -6,5 +6,5 @@ export interface StoryInfoPanelProps {
6
6
  defaultCollapsed?: boolean;
7
7
  position?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
8
8
  }
9
- export declare function StoryInfoPanel({ title, description, children, collapsible, defaultCollapsed, position, }: StoryInfoPanelProps): import("react/jsx-runtime").JSX.Element;
9
+ export declare const StoryInfoPanel: import("react").NamedExoticComponent<StoryInfoPanelProps>;
10
10
  //# sourceMappingURL=StoryInfoPanel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StoryInfoPanel.d.ts","sourceRoot":"","sources":["../../../../src/canvas/storybook-utils/components/StoryInfoPanel.tsx"],"names":[],"mappings":"AAMA,MAAM,WAAW,mBAAmB;IAElC,KAAK,EAAE,MAAM,CAAC;IAEd,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,QAAQ,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,CAAC;CACtE;AAED,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,WAAW,EACX,QAAQ,EACR,WAAmB,EACnB,gBAAwB,EACxB,QAAqB,GACtB,EAAE,mBAAmB,2CAmDrB"}
1
+ {"version":3,"file":"StoryInfoPanel.d.ts","sourceRoot":"","sources":["../../../../src/canvas/storybook-utils/components/StoryInfoPanel.tsx"],"names":[],"mappings":"AAMA,MAAM,WAAW,mBAAmB;IAElC,KAAK,EAAE,MAAM,CAAC;IAEd,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,QAAQ,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,CAAC;CACtE;AAED,eAAO,MAAM,cAAc,2DA0DzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"node-definitions.d.ts","sourceRoot":"","sources":["../../../../src/canvas/storybook-utils/manifests/node-definitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE,eAAO,MAAM,gBAAgB,EAAE,YAAY,EA65B1C,CAAC"}
1
+ {"version":3,"file":"node-definitions.d.ts","sourceRoot":"","sources":["../../../../src/canvas/storybook-utils/manifests/node-definitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE,eAAO,MAAM,gBAAgB,EAAE,YAAY,EA45B1C,CAAC"}