@uipath/apollo-react 3.68.3 → 3.69.0-pr458.25d2dee

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 (57) hide show
  1. package/dist/canvas/components/CanvasPerformance.stories.cjs +349 -0
  2. package/dist/canvas/components/CanvasPerformance.stories.d.ts +6 -0
  3. package/dist/canvas/components/CanvasPerformance.stories.d.ts.map +1 -0
  4. package/dist/canvas/components/CanvasPerformance.stories.js +312 -0
  5. package/dist/canvas/components/NodePropertiesPanel/hooks/index.cjs +4 -1
  6. package/dist/canvas/components/NodePropertiesPanel/hooks/index.d.ts +1 -1
  7. package/dist/canvas/components/NodePropertiesPanel/hooks/index.d.ts.map +1 -1
  8. package/dist/canvas/components/NodePropertiesPanel/hooks/index.js +2 -2
  9. package/dist/canvas/components/NodePropertiesPanel/hooks/useNodeSelection.cjs +27 -6
  10. package/dist/canvas/components/NodePropertiesPanel/hooks/useNodeSelection.d.ts +3 -0
  11. package/dist/canvas/components/NodePropertiesPanel/hooks/useNodeSelection.d.ts.map +1 -1
  12. package/dist/canvas/components/NodePropertiesPanel/hooks/useNodeSelection.js +23 -5
  13. package/dist/canvas/components/StageNode/AdhocTask.cjs +4 -5
  14. package/dist/canvas/components/StageNode/AdhocTask.d.ts +2 -3
  15. package/dist/canvas/components/StageNode/AdhocTask.d.ts.map +1 -1
  16. package/dist/canvas/components/StageNode/AdhocTask.js +4 -5
  17. package/dist/canvas/components/StageNode/DraggableTask.cjs +14 -5
  18. package/dist/canvas/components/StageNode/DraggableTask.d.ts +1 -1
  19. package/dist/canvas/components/StageNode/DraggableTask.d.ts.map +1 -1
  20. package/dist/canvas/components/StageNode/DraggableTask.js +14 -5
  21. package/dist/canvas/components/StageNode/DraggableTask.types.d.ts +3 -3
  22. package/dist/canvas/components/StageNode/DraggableTask.types.d.ts.map +1 -1
  23. package/dist/canvas/components/StageNode/StageEdge.cjs +34 -11
  24. package/dist/canvas/components/StageNode/StageEdge.d.ts +2 -1
  25. package/dist/canvas/components/StageNode/StageEdge.d.ts.map +1 -1
  26. package/dist/canvas/components/StageNode/StageEdge.js +35 -12
  27. package/dist/canvas/components/StageNode/StageNode.cjs +30 -59
  28. package/dist/canvas/components/StageNode/StageNode.d.ts.map +1 -1
  29. package/dist/canvas/components/StageNode/StageNode.js +35 -64
  30. package/dist/canvas/components/StageNode/StageNode.stories.cjs +127 -179
  31. package/dist/canvas/components/StageNode/StageNode.stories.d.ts +2 -2
  32. package/dist/canvas/components/StageNode/StageNode.stories.d.ts.map +1 -1
  33. package/dist/canvas/components/StageNode/StageNode.stories.js +123 -175
  34. package/dist/canvas/components/StageNode/StageNode.stories.utils.cjs +45 -0
  35. package/dist/canvas/components/StageNode/StageNode.stories.utils.d.ts +8 -0
  36. package/dist/canvas/components/StageNode/StageNode.stories.utils.d.ts.map +1 -0
  37. package/dist/canvas/components/StageNode/StageNode.stories.utils.js +11 -0
  38. package/dist/canvas/components/StageNode/StageNode.types.d.ts +9 -4
  39. package/dist/canvas/components/StageNode/StageNode.types.d.ts.map +1 -1
  40. package/dist/canvas/components/StageNode/StageTaskDragOverlay.cjs +69 -0
  41. package/dist/canvas/components/StageNode/StageTaskDragOverlay.d.ts +3 -0
  42. package/dist/canvas/components/StageNode/StageTaskDragOverlay.d.ts.map +1 -0
  43. package/dist/canvas/components/StageNode/StageTaskDragOverlay.js +35 -0
  44. package/dist/canvas/components/StageNode/TaskMenu.cjs +14 -17
  45. package/dist/canvas/components/StageNode/TaskMenu.d.ts +1 -2
  46. package/dist/canvas/components/StageNode/TaskMenu.d.ts.map +1 -1
  47. package/dist/canvas/components/StageNode/TaskMenu.js +15 -18
  48. package/dist/canvas/components/StageNode/index.d.ts +1 -1
  49. package/dist/canvas/components/StageNode/index.d.ts.map +1 -1
  50. package/dist/canvas/components/StickyNoteNode/StickyNoteNode.cjs +10 -2
  51. package/dist/canvas/components/StickyNoteNode/StickyNoteNode.d.ts.map +1 -1
  52. package/dist/canvas/components/StickyNoteNode/StickyNoteNode.js +9 -2
  53. package/dist/canvas/components/StickyNoteNode/useScrollCapture.cjs +72 -0
  54. package/dist/canvas/components/StickyNoteNode/useScrollCapture.d.ts +9 -0
  55. package/dist/canvas/components/StickyNoteNode/useScrollCapture.d.ts.map +1 -0
  56. package/dist/canvas/components/StickyNoteNode/useScrollCapture.js +38 -0
  57. package/package.json +5 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StageTaskDragOverlay.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/StageNode/StageTaskDragOverlay.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,eAAO,MAAM,oBAAoB,GAAI,uDAIlC,yBAAyB,uCA4B3B,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { DragOverlay } from "@dnd-kit/core";
3
+ import { useStore } from "../../xyflow/react.js";
4
+ import { useMemo } from "react";
5
+ import { createPortal } from "react-dom";
6
+ import { TaskContent } from "./DraggableTask.js";
7
+ import { StageTask } from "./StageNode.styles.js";
8
+ const StageTaskDragOverlay = ({ activeTask, isActiveTaskParallel, taskWidthStyle })=>{
9
+ const zoom = useStore((state)=>state.transform[2]);
10
+ const dragOverlayStyle = useMemo(()=>({
11
+ transform: `scale(${zoom})`,
12
+ transformOrigin: 'top left'
13
+ }), [
14
+ zoom
15
+ ]);
16
+ if (!activeTask) return null;
17
+ return /*#__PURE__*/ createPortal(/*#__PURE__*/ jsx(DragOverlay, {
18
+ children: /*#__PURE__*/ jsx("div", {
19
+ style: dragOverlayStyle,
20
+ children: /*#__PURE__*/ jsx(StageTask, {
21
+ selected: true,
22
+ isParallel: isActiveTaskParallel,
23
+ style: {
24
+ cursor: 'grabbing',
25
+ ...taskWidthStyle
26
+ },
27
+ children: /*#__PURE__*/ jsx(TaskContent, {
28
+ task: activeTask,
29
+ isDragging: true
30
+ })
31
+ })
32
+ })
33
+ }), document.body);
34
+ };
35
+ export { StageTaskDragOverlay };
@@ -41,24 +41,31 @@ var apollo_core_default = /*#__PURE__*/ __webpack_require__.n(apollo_core_namesp
41
41
  const index_cjs_namespaceObject = require("../../../material/index.cjs");
42
42
  const external_react_namespaceObject = require("react");
43
43
  const external_StageNodeTaskUtilities_cjs_namespaceObject = require("./StageNodeTaskUtilities.cjs");
44
- const TaskMenuComponent = ({ taskId, contextMenuItems, onMenuOpenChange, onMenuOpen, taskRef }, ref)=>{
45
- const [isMenuOpen, setIsMenuOpen] = (0, external_react_namespaceObject.useState)(false);
44
+ const TaskMenuComponent = ({ taskId, getContextMenuItems, onMenuOpenChange, taskRef }, ref)=>{
46
45
  const [anchorElement, setAnchorElement] = (0, external_react_namespaceObject.useState)(null);
47
46
  const menuAnchorRef = (0, external_react_namespaceObject.useRef)(null);
47
+ const isMenuOpen = null !== anchorElement;
48
+ const [menuItems, setMenuItems] = (0, external_react_namespaceObject.useState)([]);
48
49
  const handleMenuClose = (0, external_react_namespaceObject.useCallback)(()=>{
49
- setIsMenuOpen(false);
50
50
  setAnchorElement(null);
51
51
  onMenuOpenChange?.(false);
52
52
  }, [
53
53
  onMenuOpenChange
54
54
  ]);
55
+ const handleMenuItemClick = (0, external_react_namespaceObject.useCallback)((item)=>{
56
+ item.onClick();
57
+ handleMenuClose();
58
+ }, [
59
+ handleMenuClose
60
+ ]);
55
61
  const openMenu = (0, external_react_namespaceObject.useCallback)((anchor)=>{
62
+ if (!anchor) return;
56
63
  setAnchorElement(anchor);
57
- setIsMenuOpen(true);
58
- onMenuOpen?.();
64
+ setMenuItems((0, external_StageNodeTaskUtilities_cjs_namespaceObject.transformMenuItems)(getContextMenuItems(), handleMenuItemClick));
59
65
  onMenuOpenChange?.(true);
60
66
  }, [
61
- onMenuOpen,
67
+ getContextMenuItems,
68
+ handleMenuItemClick,
62
69
  onMenuOpenChange
63
70
  ]);
64
71
  const handleMenuClick = (0, external_react_namespaceObject.useCallback)((e)=>{
@@ -86,16 +93,6 @@ const TaskMenuComponent = ({ taskId, contextMenuItems, onMenuOpenChange, onMenuO
86
93
  const handleMenuMouseDown = (0, external_react_namespaceObject.useCallback)((e)=>{
87
94
  e.stopPropagation();
88
95
  }, []);
89
- const handleMenuItemClick = (0, external_react_namespaceObject.useCallback)((item)=>{
90
- item.onClick();
91
- handleMenuClose();
92
- }, [
93
- handleMenuClose
94
- ]);
95
- const transformedMenuItems = (0, external_react_namespaceObject.useMemo)(()=>(0, external_StageNodeTaskUtilities_cjs_namespaceObject.transformMenuItems)(contextMenuItems, handleMenuItemClick), [
96
- contextMenuItems,
97
- handleMenuItemClick
98
- ]);
99
96
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment, {
100
97
  children: [
101
98
  /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.ApIconButton, {
@@ -118,7 +115,7 @@ const TaskMenuComponent = ({ taskId, contextMenuItems, onMenuOpenChange, onMenuO
118
115
  }),
119
116
  /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.ApMenu, {
120
117
  isOpen: isMenuOpen,
121
- menuItems: transformedMenuItems,
118
+ menuItems: menuItems,
122
119
  anchorEl: anchorElement,
123
120
  onClose: handleMenuClose,
124
121
  anchorOrigin: {
@@ -4,9 +4,8 @@ export interface TaskMenuHandle {
4
4
  }
5
5
  interface TaskMenuProps {
6
6
  taskId: string;
7
- contextMenuItems: NodeMenuItem[];
7
+ getContextMenuItems: () => NodeMenuItem[];
8
8
  onMenuOpenChange?: (isOpen: boolean) => void;
9
- onMenuOpen?: () => void;
10
9
  taskRef?: React.RefObject<HTMLElement | null>;
11
10
  }
12
11
  export declare const TaskMenu: import("react").NamedExoticComponent<TaskMenuProps & import("react").RefAttributes<TaskMenuHandle>>;
@@ -1 +1 @@
1
- {"version":3,"file":"TaskMenu.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/StageNode/TaskMenu.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAkB,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvE,MAAM,WAAW,cAAc;IAC7B,iBAAiB,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;CAC/D;AAED,UAAU,aAAa;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,YAAY,EAAE,CAAC;IACjC,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;CAC/C;AAqHD,eAAO,MAAM,QAAQ,qGAAsC,CAAC"}
1
+ {"version":3,"file":"TaskMenu.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/StageNode/TaskMenu.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAkB,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvE,MAAM,WAAW,cAAc;IAC7B,iBAAiB,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;CAC/D;AAED,UAAU,aAAa;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,EAAE,MAAM,YAAY,EAAE,CAAC;IAC1C,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;CAC/C;AAqHD,eAAO,MAAM,QAAQ,qGAAsC,CAAC"}
@@ -1,26 +1,33 @@
1
1
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
2
  import apollo_core, { Spacing } from "@uipath/apollo-core";
3
3
  import { ApIcon, ApIconButton, ApMenu } from "../../../material/index.js";
4
- import { forwardRef, memo, useCallback, useImperativeHandle, useMemo, useRef, useState } from "react";
4
+ import { forwardRef, memo, useCallback, useImperativeHandle, useRef, useState } from "react";
5
5
  import { transformMenuItems } from "./StageNodeTaskUtilities.js";
6
- const TaskMenuComponent = ({ taskId, contextMenuItems, onMenuOpenChange, onMenuOpen, taskRef }, ref)=>{
7
- const [isMenuOpen, setIsMenuOpen] = useState(false);
6
+ const TaskMenuComponent = ({ taskId, getContextMenuItems, onMenuOpenChange, taskRef }, ref)=>{
8
7
  const [anchorElement, setAnchorElement] = useState(null);
9
8
  const menuAnchorRef = useRef(null);
9
+ const isMenuOpen = null !== anchorElement;
10
+ const [menuItems, setMenuItems] = useState([]);
10
11
  const handleMenuClose = useCallback(()=>{
11
- setIsMenuOpen(false);
12
12
  setAnchorElement(null);
13
13
  onMenuOpenChange?.(false);
14
14
  }, [
15
15
  onMenuOpenChange
16
16
  ]);
17
+ const handleMenuItemClick = useCallback((item)=>{
18
+ item.onClick();
19
+ handleMenuClose();
20
+ }, [
21
+ handleMenuClose
22
+ ]);
17
23
  const openMenu = useCallback((anchor)=>{
24
+ if (!anchor) return;
18
25
  setAnchorElement(anchor);
19
- setIsMenuOpen(true);
20
- onMenuOpen?.();
26
+ setMenuItems(transformMenuItems(getContextMenuItems(), handleMenuItemClick));
21
27
  onMenuOpenChange?.(true);
22
28
  }, [
23
- onMenuOpen,
29
+ getContextMenuItems,
30
+ handleMenuItemClick,
24
31
  onMenuOpenChange
25
32
  ]);
26
33
  const handleMenuClick = useCallback((e)=>{
@@ -48,16 +55,6 @@ const TaskMenuComponent = ({ taskId, contextMenuItems, onMenuOpenChange, onMenuO
48
55
  const handleMenuMouseDown = useCallback((e)=>{
49
56
  e.stopPropagation();
50
57
  }, []);
51
- const handleMenuItemClick = useCallback((item)=>{
52
- item.onClick();
53
- handleMenuClose();
54
- }, [
55
- handleMenuClose
56
- ]);
57
- const transformedMenuItems = useMemo(()=>transformMenuItems(contextMenuItems, handleMenuItemClick), [
58
- contextMenuItems,
59
- handleMenuItemClick
60
- ]);
61
58
  return /*#__PURE__*/ jsxs(Fragment, {
62
59
  children: [
63
60
  /*#__PURE__*/ jsx(ApIconButton, {
@@ -80,7 +77,7 @@ const TaskMenuComponent = ({ taskId, contextMenuItems, onMenuOpenChange, onMenuO
80
77
  }),
81
78
  /*#__PURE__*/ jsx(ApMenu, {
82
79
  isOpen: isMenuOpen,
83
- menuItems: transformedMenuItems,
80
+ menuItems: menuItems,
84
81
  anchorEl: anchorElement,
85
82
  onClose: handleMenuClose,
86
83
  anchorOrigin: {
@@ -1,6 +1,6 @@
1
1
  export { StageConnectionEdge } from './StageConnectionEdge';
2
2
  export { StageEdge } from './StageEdge';
3
3
  export { StageNode } from './StageNode';
4
- export type { StageHeaderChip, StageNodeProps, StageStatus, StageTaskItem, StageTaskStatus, } from './StageNode.types';
4
+ export type { StageHeaderChip, StageNodeCanvasProps, StageNodeProps, StageStatus, StageTaskItem, StageTaskStatus, } from './StageNode.types';
5
5
  export { StageHeaderChipType } from './StageNode.types';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/StageNode/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EACV,eAAe,EACf,cAAc,EACd,WAAW,EACX,aAAa,EACb,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/StageNode/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EACV,eAAe,EACf,oBAAoB,EACpB,cAAc,EACd,WAAW,EACX,aAAa,EACb,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -43,6 +43,8 @@ const external_motion_react_namespaceObject = require("motion/react");
43
43
  const external_react_namespaceObject = require("react");
44
44
  const external_react_markdown_namespaceObject = require("react-markdown");
45
45
  var external_react_markdown_default = /*#__PURE__*/ __webpack_require__.n(external_react_markdown_namespaceObject);
46
+ const external_remark_breaks_namespaceObject = require("remark-breaks");
47
+ var external_remark_breaks_default = /*#__PURE__*/ __webpack_require__.n(external_remark_breaks_namespaceObject);
46
48
  const external_remark_gfm_namespaceObject = require("remark-gfm");
47
49
  var external_remark_gfm_default = /*#__PURE__*/ __webpack_require__.n(external_remark_gfm_namespaceObject);
48
50
  const external_constants_cjs_namespaceObject = require("../../constants.cjs");
@@ -53,6 +55,7 @@ const external_StickyNoteNode_styles_cjs_namespaceObject = require("./StickyNote
53
55
  const external_StickyNoteNode_types_cjs_namespaceObject = require("./StickyNoteNode.types.cjs");
54
56
  const external_StickyNoteNode_utils_cjs_namespaceObject = require("./StickyNoteNode.utils.cjs");
55
57
  const external_useMarkdownShortcuts_cjs_namespaceObject = require("./useMarkdownShortcuts.cjs");
58
+ const external_useScrollCapture_cjs_namespaceObject = require("./useScrollCapture.cjs");
56
59
  const minWidth = 8 * external_constants_cjs_namespaceObject.GRID_SPACING;
57
60
  const minHeight = 8 * external_constants_cjs_namespaceObject.GRID_SPACING;
58
61
  const StickyNoteNodeComponent = ({ id, data, selected, dragging, placeholder = 'Add text', renderPlaceholderOnSelect = false })=>{
@@ -62,6 +65,7 @@ const StickyNoteNodeComponent = ({ id, data, selected, dragging, placeholder = '
62
65
  const [isColorPickerOpen, setIsColorPickerOpen] = (0, external_react_namespaceObject.useState)(false);
63
66
  const [localContent, setLocalContent] = (0, external_react_namespaceObject.useState)(data.content || '');
64
67
  const textAreaRef = (0, external_react_namespaceObject.useRef)(null);
68
+ const { ref: markdownRef, scrollCaptureProps } = (0, external_useScrollCapture_cjs_namespaceObject.useScrollCapture)();
65
69
  const colorButtonRef = (0, external_react_namespaceObject.useRef)(null);
66
70
  const [activeFormats, setActiveFormats] = (0, external_react_namespaceObject.useState)({
67
71
  bold: false,
@@ -384,15 +388,19 @@ const StickyNoteNodeComponent = ({ id, data, selected, dragging, placeholder = '
384
388
  })
385
389
  ]
386
390
  }) : /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_StickyNoteNode_styles_cjs_namespaceObject.StickyNoteMarkdown, {
391
+ ref: markdownRef,
392
+ ...scrollCaptureProps,
387
393
  children: localContent ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_react_markdown_default(), {
388
394
  remarkPlugins: [
389
- external_remark_gfm_default()
395
+ external_remark_gfm_default(),
396
+ external_remark_breaks_default()
390
397
  ],
391
398
  components: markdownComponents,
392
399
  children: (0, external_StickyNoteNode_utils_cjs_namespaceObject.preserveNewlines)(localContent)
393
400
  }) : renderPlaceholderOnSelect && selected && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_react_markdown_default(), {
394
401
  remarkPlugins: [
395
- external_remark_gfm_default()
402
+ external_remark_gfm_default(),
403
+ external_remark_breaks_default()
396
404
  ],
397
405
  components: markdownComponents,
398
406
  children: placeholder
@@ -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;AA6B1E,OAAO,KAAK,EAAmB,cAAc,EAAiB,MAAM,wBAAwB,CAAC;AAK7F,MAAM,WAAW,mBAAoB,SAAQ,SAAS;IACpD,IAAI,EAAE,cAAc,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC;AAsXD,eAAO,MAAM,cAAc,kHA1WxB,mBAAmB,6CA0WqC,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;AA8B1E,OAAO,KAAK,EAAmB,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;CACrC;AA6XD,eAAO,MAAM,cAAc,kHAjXxB,mBAAmB,6CAiXqC,CAAC"}
@@ -5,6 +5,7 @@ import { NodeResizeControl, useReactFlow } from "../../xyflow/react.js";
5
5
  import { AnimatePresence } from "motion/react";
6
6
  import { memo, useCallback, useEffect, useMemo, useRef, useState } from "react";
7
7
  import react_markdown from "react-markdown";
8
+ import remark_breaks from "remark-breaks";
8
9
  import remark_gfm from "remark-gfm";
9
10
  import { GRID_SPACING } from "../../constants.js";
10
11
  import { NodeToolbar } from "../Toolbar/index.js";
@@ -14,6 +15,7 @@ import { BottomCornerIndicators, ColorOption, ColorPickerPanel, RESIZE_CONTROL_Z
14
15
  import { STICKY_NOTE_COLORS, withAlpha } from "./StickyNoteNode.types.js";
15
16
  import { preserveNewlines } from "./StickyNoteNode.utils.js";
16
17
  import { useMarkdownShortcuts } from "./useMarkdownShortcuts.js";
18
+ import { useScrollCapture } from "./useScrollCapture.js";
17
19
  const minWidth = 8 * GRID_SPACING;
18
20
  const minHeight = 8 * GRID_SPACING;
19
21
  const StickyNoteNodeComponent = ({ id, data, selected, dragging, placeholder = 'Add text', renderPlaceholderOnSelect = false })=>{
@@ -23,6 +25,7 @@ const StickyNoteNodeComponent = ({ id, data, selected, dragging, placeholder = '
23
25
  const [isColorPickerOpen, setIsColorPickerOpen] = useState(false);
24
26
  const [localContent, setLocalContent] = useState(data.content || '');
25
27
  const textAreaRef = useRef(null);
28
+ const { ref: markdownRef, scrollCaptureProps } = useScrollCapture();
26
29
  const colorButtonRef = useRef(null);
27
30
  const [activeFormats, setActiveFormats] = useState({
28
31
  bold: false,
@@ -345,15 +348,19 @@ const StickyNoteNodeComponent = ({ id, data, selected, dragging, placeholder = '
345
348
  })
346
349
  ]
347
350
  }) : /*#__PURE__*/ jsx(StickyNoteMarkdown, {
351
+ ref: markdownRef,
352
+ ...scrollCaptureProps,
348
353
  children: localContent ? /*#__PURE__*/ jsx(react_markdown, {
349
354
  remarkPlugins: [
350
- remark_gfm
355
+ remark_gfm,
356
+ remark_breaks
351
357
  ],
352
358
  components: markdownComponents,
353
359
  children: preserveNewlines(localContent)
354
360
  }) : renderPlaceholderOnSelect && selected && /*#__PURE__*/ jsx(react_markdown, {
355
361
  remarkPlugins: [
356
- remark_gfm
362
+ remark_gfm,
363
+ remark_breaks
357
364
  ],
358
365
  components: markdownComponents,
359
366
  children: placeholder
@@ -0,0 +1,72 @@
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 ("u" > 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
+ useScrollCapture: ()=>useScrollCapture
28
+ });
29
+ const external_react_namespaceObject = require("react");
30
+ const EVENT_START_POLL_INTERVAL = 150;
31
+ function useScrollCapture() {
32
+ const ref = (0, external_react_namespaceObject.useRef)(null);
33
+ const [captureScroll, setCaptureScroll] = (0, external_react_namespaceObject.useState)(false);
34
+ const wheelActiveRef = (0, external_react_namespaceObject.useRef)(false);
35
+ const wheelTimeoutRef = (0, external_react_namespaceObject.useRef)(null);
36
+ (0, external_react_namespaceObject.useEffect)(()=>{
37
+ const onWheel = ()=>{
38
+ wheelActiveRef.current = true;
39
+ if (wheelTimeoutRef.current) clearTimeout(wheelTimeoutRef.current);
40
+ wheelTimeoutRef.current = setTimeout(()=>{
41
+ wheelActiveRef.current = false;
42
+ }, EVENT_START_POLL_INTERVAL);
43
+ };
44
+ window.addEventListener('wheel', onWheel, {
45
+ passive: true
46
+ });
47
+ return ()=>window.removeEventListener('wheel', onWheel);
48
+ }, []);
49
+ const onMouseEnter = (0, external_react_namespaceObject.useCallback)(()=>{
50
+ if (wheelActiveRef.current) return;
51
+ const el = ref.current;
52
+ if (el && el.scrollHeight > el.clientHeight) setCaptureScroll(true);
53
+ }, []);
54
+ const onMouseLeave = (0, external_react_namespaceObject.useCallback)(()=>{
55
+ setCaptureScroll(false);
56
+ }, []);
57
+ return {
58
+ ref,
59
+ scrollCaptureProps: {
60
+ className: captureScroll ? 'nowheel' : void 0,
61
+ onMouseEnter,
62
+ onMouseLeave
63
+ }
64
+ };
65
+ }
66
+ exports.useScrollCapture = __webpack_exports__.useScrollCapture;
67
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
68
+ "useScrollCapture"
69
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
70
+ Object.defineProperty(exports, '__esModule', {
71
+ value: true
72
+ });
@@ -0,0 +1,9 @@
1
+ export declare function useScrollCapture<T extends HTMLElement = HTMLDivElement>(): {
2
+ ref: import("react").RefObject<T | null>;
3
+ scrollCaptureProps: {
4
+ className: string | undefined;
5
+ onMouseEnter: () => void;
6
+ onMouseLeave: () => void;
7
+ };
8
+ };
9
+ //# sourceMappingURL=useScrollCapture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useScrollCapture.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/StickyNoteNode/useScrollCapture.ts"],"names":[],"mappings":"AAYA,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,WAAW,GAAG,cAAc;;;;;;;EAwCtE"}
@@ -0,0 +1,38 @@
1
+ import { useCallback, useEffect, useRef, useState } from "react";
2
+ const EVENT_START_POLL_INTERVAL = 150;
3
+ function useScrollCapture() {
4
+ const ref = useRef(null);
5
+ const [captureScroll, setCaptureScroll] = useState(false);
6
+ const wheelActiveRef = useRef(false);
7
+ const wheelTimeoutRef = useRef(null);
8
+ useEffect(()=>{
9
+ const onWheel = ()=>{
10
+ wheelActiveRef.current = true;
11
+ if (wheelTimeoutRef.current) clearTimeout(wheelTimeoutRef.current);
12
+ wheelTimeoutRef.current = setTimeout(()=>{
13
+ wheelActiveRef.current = false;
14
+ }, EVENT_START_POLL_INTERVAL);
15
+ };
16
+ window.addEventListener('wheel', onWheel, {
17
+ passive: true
18
+ });
19
+ return ()=>window.removeEventListener('wheel', onWheel);
20
+ }, []);
21
+ const onMouseEnter = useCallback(()=>{
22
+ if (wheelActiveRef.current) return;
23
+ const el = ref.current;
24
+ if (el && el.scrollHeight > el.clientHeight) setCaptureScroll(true);
25
+ }, []);
26
+ const onMouseLeave = useCallback(()=>{
27
+ setCaptureScroll(false);
28
+ }, []);
29
+ return {
30
+ ref,
31
+ scrollCaptureProps: {
32
+ className: captureScroll ? 'nowheel' : void 0,
33
+ onMouseEnter,
34
+ onMouseLeave
35
+ }
36
+ };
37
+ }
38
+ export { useScrollCapture };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uipath/apollo-react",
3
- "version": "3.68.3",
3
+ "version": "3.69.0-pr458.25d2dee",
4
4
  "description": "Apollo Design System - React component library with Material UI theming",
5
5
  "repository": {
6
6
  "type": "git",
@@ -181,7 +181,7 @@
181
181
  "debounce": "^3.0.0",
182
182
  "html-to-image": "^1.11.11",
183
183
  "katex": "^0.16.27",
184
- "lodash": "^4.17.23",
184
+ "lodash": "^4.18.1",
185
185
  "lucide-react": "^0.555.0",
186
186
  "luxon": "^3.7.1",
187
187
  "mermaid": "^11.13.0",
@@ -192,6 +192,7 @@
192
192
  "react-syntax-highlighter": "^16.1.0",
193
193
  "react-window": "^2.2.1",
194
194
  "rehype-katex": "^7.0.1",
195
+ "remark-breaks": "^4.0.0",
195
196
  "remark-gfm": "^4.0.1",
196
197
  "remark-math": "^6.0.0",
197
198
  "reselect": "^5.1.1",
@@ -200,8 +201,8 @@
200
201
  "use-sync-external-store": "^1.2.0",
201
202
  "zod": "^4.3.5",
202
203
  "zustand": "^5.0.9",
203
- "@uipath/apollo-core": "5.9.0",
204
- "@uipath/apollo-wind": "2.0.0"
204
+ "@uipath/apollo-wind": "2.0.0",
205
+ "@uipath/apollo-core": "5.9.0"
205
206
  },
206
207
  "devDependencies": {
207
208
  "@lingui/cli": "^5.6.1",