@uipath/apollo-react 3.63.0-pr431.b5c8666 → 3.63.0-pr439.3bc6dce

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 (29) hide show
  1. package/dist/canvas/components/NodePropertiesPanel/hooks/index.cjs +1 -4
  2. package/dist/canvas/components/NodePropertiesPanel/hooks/index.d.ts +1 -1
  3. package/dist/canvas/components/NodePropertiesPanel/hooks/index.d.ts.map +1 -1
  4. package/dist/canvas/components/NodePropertiesPanel/hooks/index.js +2 -2
  5. package/dist/canvas/components/NodePropertiesPanel/hooks/useNodeSelection.cjs +5 -30
  6. package/dist/canvas/components/NodePropertiesPanel/hooks/useNodeSelection.d.ts +0 -3
  7. package/dist/canvas/components/NodePropertiesPanel/hooks/useNodeSelection.d.ts.map +1 -1
  8. package/dist/canvas/components/NodePropertiesPanel/hooks/useNodeSelection.js +4 -26
  9. package/dist/canvas/components/StageNode/DraggableTask.cjs +7 -9
  10. package/dist/canvas/components/StageNode/DraggableTask.d.ts +1 -1
  11. package/dist/canvas/components/StageNode/DraggableTask.d.ts.map +1 -1
  12. package/dist/canvas/components/StageNode/DraggableTask.js +7 -9
  13. package/dist/canvas/components/StageNode/DraggableTask.types.d.ts +2 -1
  14. package/dist/canvas/components/StageNode/DraggableTask.types.d.ts.map +1 -1
  15. package/dist/canvas/components/StageNode/StageNode.cjs +11 -12
  16. package/dist/canvas/components/StageNode/StageNode.d.ts.map +1 -1
  17. package/dist/canvas/components/StageNode/StageNode.js +13 -14
  18. package/dist/canvas/components/StageNode/StageNode.stories.cjs +152 -114
  19. package/dist/canvas/components/StageNode/StageNode.stories.d.ts.map +1 -1
  20. package/dist/canvas/components/StageNode/StageNode.stories.js +153 -115
  21. package/dist/canvas/components/StageNode/TaskMenu.cjs +12 -12
  22. package/dist/canvas/components/StageNode/TaskMenu.d.ts +1 -1
  23. package/dist/canvas/components/StageNode/TaskMenu.d.ts.map +1 -1
  24. package/dist/canvas/components/StageNode/TaskMenu.js +13 -13
  25. package/dist/canvas/components/Toolbox/Toolbox.cjs +3 -3
  26. package/dist/canvas/components/Toolbox/Toolbox.d.ts +3 -1
  27. package/dist/canvas/components/Toolbox/Toolbox.d.ts.map +1 -1
  28. package/dist/canvas/components/Toolbox/Toolbox.js +3 -3
  29. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { ConnectionMode, Panel, ReactFlowProvider, addEdge, useEdgesState, useNodesState } from "../../xyflow/react.js";
3
3
  import { ApButton, ApMenu } from "../../../material/components/index.js";
4
- import { memo, useCallback, useEffect, useMemo, useRef, useState } from "react";
4
+ import { useCallback, useEffect, useMemo, useRef, useState } from "react";
5
5
  import { DefaultCanvasTranslations } from "../../types.js";
6
6
  import { createGroupModificationHandlers, getHandlerForModificationType } from "../../utils/GroupModificationUtils.js";
7
7
  import { BaseCanvas } from "../BaseCanvas/index.js";
@@ -10,56 +10,6 @@ import { TaskIcon, TaskItemTypeValues } from "../TaskIcon/index.js";
10
10
  import { StageConnectionEdge } from "./StageConnectionEdge.js";
11
11
  import { StageEdge } from "./StageEdge.js";
12
12
  import { StageNode } from "./StageNode.js";
13
- const StageNodeWrapper = /*#__PURE__*/ memo((props)=>/*#__PURE__*/ jsx(StageNode, {
14
- ...props,
15
- ...props.data
16
- }));
17
- const DefaultCanvasDecorator = ({ initialNodes, initialEdges = [] })=>{
18
- const [nodes, _setNodes, onNodesChange] = useNodesState(initialNodes);
19
- const [edges, setEdges, onEdgesChange] = useEdgesState(initialEdges);
20
- const onConnect = useCallback((connection)=>{
21
- setEdges((eds)=>addEdge(connection, eds));
22
- }, [
23
- setEdges
24
- ]);
25
- const nodeTypes = useMemo(()=>({
26
- stage: StageNodeWrapper
27
- }), []);
28
- const edgeTypes = useMemo(()=>({
29
- stage: StageEdge
30
- }), []);
31
- const defaultEdgeOptions = useMemo(()=>({
32
- type: 'stage'
33
- }), []);
34
- return /*#__PURE__*/ jsx("div", {
35
- style: {
36
- width: '100vw',
37
- height: '100vh'
38
- },
39
- children: /*#__PURE__*/ jsx(ReactFlowProvider, {
40
- children: /*#__PURE__*/ jsx(BaseCanvas, {
41
- nodes: nodes,
42
- edges: edges,
43
- onNodesChange: onNodesChange,
44
- onEdgesChange: onEdgesChange,
45
- onConnect: onConnect,
46
- nodeTypes: nodeTypes,
47
- edgeTypes: edgeTypes,
48
- mode: "design",
49
- connectionMode: ConnectionMode.Strict,
50
- defaultEdgeOptions: defaultEdgeOptions,
51
- connectionLineComponent: StageConnectionEdge,
52
- elevateEdgesOnSelect: true,
53
- children: /*#__PURE__*/ jsx(Panel, {
54
- position: "bottom-right",
55
- children: /*#__PURE__*/ jsx(CanvasPositionControls, {
56
- translations: DefaultCanvasTranslations
57
- })
58
- })
59
- })
60
- })
61
- });
62
- };
63
13
  const meta = {
64
14
  title: 'Canvas/StageNode',
65
15
  component: StageNode,
@@ -69,6 +19,10 @@ const meta = {
69
19
  decorators: [
70
20
  (Story, context)=>{
71
21
  if (context.parameters?.useCustomRender) return /*#__PURE__*/ jsx(Story, {});
22
+ const StageNodeWrapper = (props)=>/*#__PURE__*/ jsx(StageNode, {
23
+ ...props,
24
+ ...props.data
25
+ });
72
26
  const initialNodes = context.parameters?.nodes || [
73
27
  {
74
28
  id: '1',
@@ -88,9 +42,51 @@ const meta = {
88
42
  }
89
43
  ];
90
44
  const initialEdges = context.parameters?.edges || [];
91
- return /*#__PURE__*/ jsx(DefaultCanvasDecorator, {
92
- initialNodes: initialNodes,
93
- initialEdges: initialEdges
45
+ const [nodes, _setNodes, onNodesChange] = useNodesState(initialNodes);
46
+ const [edges, setEdges, onEdgesChange] = useEdgesState(initialEdges);
47
+ const onConnect = useCallback((connection)=>{
48
+ setEdges((eds)=>addEdge(connection, eds));
49
+ }, [
50
+ setEdges
51
+ ]);
52
+ const nodeTypes = useMemo(()=>({
53
+ stage: StageNodeWrapper
54
+ }), [
55
+ StageNodeWrapper
56
+ ]);
57
+ const edgeTypes = useMemo(()=>({
58
+ stage: StageEdge
59
+ }), []);
60
+ const defaultEdgeOptions = useMemo(()=>({
61
+ type: 'stage'
62
+ }), []);
63
+ return /*#__PURE__*/ jsx("div", {
64
+ style: {
65
+ width: '100vw',
66
+ height: '100vh'
67
+ },
68
+ children: /*#__PURE__*/ jsx(ReactFlowProvider, {
69
+ children: /*#__PURE__*/ jsx(BaseCanvas, {
70
+ nodes: nodes,
71
+ edges: edges,
72
+ onNodesChange: onNodesChange,
73
+ onEdgesChange: onEdgesChange,
74
+ onConnect: onConnect,
75
+ nodeTypes: nodeTypes,
76
+ edgeTypes: edgeTypes,
77
+ mode: "design",
78
+ connectionMode: ConnectionMode.Strict,
79
+ defaultEdgeOptions: defaultEdgeOptions,
80
+ connectionLineComponent: StageConnectionEdge,
81
+ elevateEdgesOnSelect: true,
82
+ children: /*#__PURE__*/ jsx(Panel, {
83
+ position: "bottom-right",
84
+ children: /*#__PURE__*/ jsx(CanvasPositionControls, {
85
+ translations: DefaultCanvasTranslations
86
+ })
87
+ })
88
+ })
89
+ })
94
90
  });
95
91
  }
96
92
  ],
@@ -1277,9 +1273,17 @@ const initialTasks = [
1277
1273
  ]
1278
1274
  ];
1279
1275
  const DraggableTaskReorderingStory = ()=>{
1276
+ const StageNodeWrapper = useMemo(()=>function(props) {
1277
+ return /*#__PURE__*/ jsx(StageNode, {
1278
+ ...props,
1279
+ ...props.data
1280
+ });
1281
+ }, []);
1280
1282
  const nodeTypes = useMemo(()=>({
1281
1283
  stage: StageNodeWrapper
1282
- }), []);
1284
+ }), [
1285
+ StageNodeWrapper
1286
+ ]);
1283
1287
  const edgeTypes = useMemo(()=>({
1284
1288
  stage: StageEdge
1285
1289
  }), []);
@@ -1448,9 +1452,17 @@ const availableTaskOptions = [
1448
1452
  }
1449
1453
  ];
1450
1454
  const AddAndReplaceTasksStory = ()=>{
1455
+ const StageNodeWrapper = useMemo(()=>function(props) {
1456
+ return /*#__PURE__*/ jsx(StageNode, {
1457
+ ...props,
1458
+ ...props.data
1459
+ });
1460
+ }, []);
1451
1461
  const nodeTypes = useMemo(()=>({
1452
1462
  stage: StageNodeWrapper
1453
- }), []);
1463
+ }), [
1464
+ StageNodeWrapper
1465
+ ]);
1454
1466
  const edgeTypes = useMemo(()=>({
1455
1467
  stage: StageEdge
1456
1468
  }), []);
@@ -1691,25 +1703,20 @@ const AddAndReplaceTasks = {
1691
1703
  args: {}
1692
1704
  };
1693
1705
  const InlineTitleEditStory = ()=>{
1706
+ const StageNodeWrapper = useMemo(()=>function(props) {
1707
+ return /*#__PURE__*/ jsx(StageNode, {
1708
+ ...props,
1709
+ ...props.data
1710
+ });
1711
+ }, []);
1694
1712
  const nodeTypes = useMemo(()=>({
1695
1713
  stage: StageNodeWrapper
1696
- }), []);
1714
+ }), [
1715
+ StageNodeWrapper
1716
+ ]);
1697
1717
  const edgeTypes = useMemo(()=>({
1698
1718
  stage: StageEdge
1699
1719
  }), []);
1700
- const setNodesRef = useRef(null);
1701
- const createTitleChangeHandler = useCallback((nodeId)=>(newTitle)=>{
1702
- setNodesRef.current((nds)=>nds.map((node)=>node.id === nodeId ? {
1703
- ...node,
1704
- data: {
1705
- ...node.data,
1706
- stageDetails: {
1707
- ...node.data.stageDetails,
1708
- label: newTitle
1709
- }
1710
- }
1711
- } : node));
1712
- }, []);
1713
1720
  const initialNodes = useMemo(()=>[
1714
1721
  {
1715
1722
  id: 'editable-stage',
@@ -1741,8 +1748,7 @@ const InlineTitleEditStory = ()=>{
1741
1748
  },
1742
1749
  onTaskAdd: ()=>{
1743
1750
  window.alert('Add task functionality - this would open a dialog to add a new task');
1744
- },
1745
- onStageTitleChange: createTitleChangeHandler('editable-stage')
1751
+ }
1746
1752
  }
1747
1753
  },
1748
1754
  {
@@ -1768,16 +1774,36 @@ const InlineTitleEditStory = ()=>{
1768
1774
  },
1769
1775
  onTaskAdd: ()=>{
1770
1776
  window.alert('Add task functionality - this would open a dialog to add a new task');
1771
- },
1772
- onStageTitleChange: createTitleChangeHandler('long-title-stage')
1777
+ }
1773
1778
  }
1774
1779
  }
1775
- ], [
1776
- createTitleChangeHandler
1777
- ]);
1780
+ ], []);
1778
1781
  const [nodes, setNodes, onNodesChange] = useNodesState(initialNodes);
1779
- setNodesRef.current = setNodes;
1780
1782
  const [edges, setEdges, onEdgesChange] = useEdgesState([]);
1783
+ const createTitleChangeHandler = useCallback((nodeId)=>(newTitle)=>{
1784
+ setNodes((nds)=>nds.map((node)=>node.id === nodeId ? {
1785
+ ...node,
1786
+ data: {
1787
+ ...node.data,
1788
+ stageDetails: {
1789
+ ...node.data.stageDetails,
1790
+ label: newTitle
1791
+ }
1792
+ }
1793
+ } : node));
1794
+ }, [
1795
+ setNodes
1796
+ ]);
1797
+ const nodesWithHandlers = useMemo(()=>nodes.map((node)=>({
1798
+ ...node,
1799
+ data: {
1800
+ ...node.data,
1801
+ onStageTitleChange: createTitleChangeHandler(node.id)
1802
+ }
1803
+ })), [
1804
+ nodes,
1805
+ createTitleChangeHandler
1806
+ ]);
1781
1807
  const onConnect = useCallback((connection)=>setEdges((eds)=>addEdge(connection, eds)), [
1782
1808
  setEdges
1783
1809
  ]);
@@ -1788,7 +1814,7 @@ const InlineTitleEditStory = ()=>{
1788
1814
  },
1789
1815
  children: /*#__PURE__*/ jsx(ReactFlowProvider, {
1790
1816
  children: /*#__PURE__*/ jsx(BaseCanvas, {
1791
- nodes: nodes,
1817
+ nodes: nodesWithHandlers,
1792
1818
  edges: edges,
1793
1819
  onNodesChange: onNodesChange,
1794
1820
  onEdgesChange: onEdgesChange,
@@ -1879,33 +1905,20 @@ const loadedTaskOptionsWithChildren = [
1879
1905
  }
1880
1906
  ];
1881
1907
  const AddTaskLoadingStory = ()=>{
1908
+ const StageNodeWrapper = useMemo(()=>function(props) {
1909
+ return /*#__PURE__*/ jsx(StageNode, {
1910
+ ...props,
1911
+ ...props.data
1912
+ });
1913
+ }, []);
1882
1914
  const nodeTypes = useMemo(()=>({
1883
1915
  stage: StageNodeWrapper
1884
- }), []);
1916
+ }), [
1917
+ StageNodeWrapper
1918
+ ]);
1885
1919
  const edgeTypes = useMemo(()=>({
1886
1920
  stage: StageEdge
1887
1921
  }), []);
1888
- const setNodesRef = useRef(null);
1889
- const timeoutRef = useRef(void 0);
1890
- const handleAddTaskFromToolbox = useCallback((nodeId, _taskItem)=>{
1891
- clearTimeout(timeoutRef.current);
1892
- setNodesRef.current((nds)=>nds.map((n)=>n.id === nodeId ? {
1893
- ...n,
1894
- data: {
1895
- ...n.data,
1896
- addTaskLoading: true
1897
- }
1898
- } : n));
1899
- timeoutRef.current = setTimeout(()=>{
1900
- setNodesRef.current((nds)=>nds.map((n)=>n.id === nodeId ? {
1901
- ...n,
1902
- data: {
1903
- ...n.data,
1904
- addTaskLoading: false
1905
- }
1906
- } : n));
1907
- }, 2000);
1908
- }, []);
1909
1922
  const initialNodes = useMemo(()=>[
1910
1923
  {
1911
1924
  id: 'loading-stage-empty',
@@ -1921,10 +1934,7 @@ const AddTaskLoadingStory = ()=>{
1921
1934
  tasks: []
1922
1935
  },
1923
1936
  addTaskLoading: true,
1924
- taskOptions: [],
1925
- onAddTaskFromToolbox: (taskItem)=>{
1926
- handleAddTaskFromToolbox('loading-stage-empty', taskItem);
1927
- }
1937
+ taskOptions: []
1928
1938
  }
1929
1939
  },
1930
1940
  {
@@ -1949,17 +1959,11 @@ const AddTaskLoadingStory = ()=>{
1949
1959
  ]
1950
1960
  },
1951
1961
  addTaskLoading: false,
1952
- taskOptions: loadedTaskOptionsWithChildren,
1953
- onAddTaskFromToolbox: (taskItem)=>{
1954
- handleAddTaskFromToolbox('loading-stage-children', taskItem);
1955
- }
1962
+ taskOptions: loadedTaskOptionsWithChildren
1956
1963
  }
1957
1964
  }
1958
- ], [
1959
- handleAddTaskFromToolbox
1960
- ]);
1961
- const [nodes, setNodes, onNodesChange] = useNodesState(initialNodes);
1962
- setNodesRef.current = setNodes;
1965
+ ], []);
1966
+ const [nodesState, setNodes, onNodesChange] = useNodesState(initialNodes);
1963
1967
  const [edges, setEdges, onEdgesChange] = useEdgesState([]);
1964
1968
  useEffect(()=>{
1965
1969
  const timeout = setTimeout(()=>{
@@ -1976,7 +1980,41 @@ const AddTaskLoadingStory = ()=>{
1976
1980
  }, [
1977
1981
  setNodes
1978
1982
  ]);
1983
+ const timeoutRef = useRef(void 0);
1979
1984
  useEffect(()=>()=>clearTimeout(timeoutRef.current), []);
1985
+ const handleAddTaskFromToolbox = useCallback((nodeId, _taskItem)=>{
1986
+ clearTimeout(timeoutRef.current);
1987
+ setNodes((nds)=>nds.map((n)=>n.id === nodeId ? {
1988
+ ...n,
1989
+ data: {
1990
+ ...n.data,
1991
+ addTaskLoading: true
1992
+ }
1993
+ } : n));
1994
+ timeoutRef.current = setTimeout(()=>{
1995
+ setNodes((nds)=>nds.map((n)=>n.id === nodeId ? {
1996
+ ...n,
1997
+ data: {
1998
+ ...n.data,
1999
+ addTaskLoading: false
2000
+ }
2001
+ } : n));
2002
+ }, 2000);
2003
+ }, [
2004
+ setNodes
2005
+ ]);
2006
+ const nodesWithHandler = useMemo(()=>nodesState.map((node)=>({
2007
+ ...node,
2008
+ data: {
2009
+ ...node.data,
2010
+ onAddTaskFromToolbox: (taskItem)=>{
2011
+ handleAddTaskFromToolbox(node.id, taskItem);
2012
+ }
2013
+ }
2014
+ })), [
2015
+ nodesState,
2016
+ handleAddTaskFromToolbox
2017
+ ]);
1980
2018
  const onConnect = useCallback((connection)=>setEdges((eds)=>addEdge(connection, eds)), [
1981
2019
  setEdges
1982
2020
  ]);
@@ -1987,7 +2025,7 @@ const AddTaskLoadingStory = ()=>{
1987
2025
  },
1988
2026
  children: /*#__PURE__*/ jsx(ReactFlowProvider, {
1989
2027
  children: /*#__PURE__*/ jsx(BaseCanvas, {
1990
- nodes: nodes,
2028
+ nodes: nodesWithHandler,
1991
2029
  edges: edges,
1992
2030
  onNodesChange: onNodesChange,
1993
2031
  onEdgesChange: onEdgesChange,
@@ -41,11 +41,10 @@ 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, getContextMenuItems, onMenuOpenChange, onMenuOpen, taskRef }, ref)=>{
44
+ const TaskMenuComponent = ({ taskId, contextMenuItems, onMenuOpenChange, onMenuOpen, taskRef }, ref)=>{
45
45
  const [isMenuOpen, setIsMenuOpen] = (0, external_react_namespaceObject.useState)(false);
46
46
  const [anchorElement, setAnchorElement] = (0, external_react_namespaceObject.useState)(null);
47
47
  const menuAnchorRef = (0, external_react_namespaceObject.useRef)(null);
48
- const [menuItems, setMenuItems] = (0, external_react_namespaceObject.useState)([]);
49
48
  const handleMenuClose = (0, external_react_namespaceObject.useCallback)(()=>{
50
49
  setIsMenuOpen(false);
51
50
  setAnchorElement(null);
@@ -53,21 +52,12 @@ const TaskMenuComponent = ({ taskId, getContextMenuItems, onMenuOpenChange, onMe
53
52
  }, [
54
53
  onMenuOpenChange
55
54
  ]);
56
- const handleMenuItemClick = (0, external_react_namespaceObject.useCallback)((item)=>{
57
- item.onClick();
58
- handleMenuClose();
59
- }, [
60
- handleMenuClose
61
- ]);
62
55
  const openMenu = (0, external_react_namespaceObject.useCallback)((anchor)=>{
63
56
  setAnchorElement(anchor);
64
57
  setIsMenuOpen(true);
65
- setMenuItems((0, external_StageNodeTaskUtilities_cjs_namespaceObject.transformMenuItems)(getContextMenuItems(), handleMenuItemClick));
66
58
  onMenuOpen?.();
67
59
  onMenuOpenChange?.(true);
68
60
  }, [
69
- getContextMenuItems,
70
- handleMenuItemClick,
71
61
  onMenuOpen,
72
62
  onMenuOpenChange
73
63
  ]);
@@ -96,6 +86,16 @@ const TaskMenuComponent = ({ taskId, getContextMenuItems, onMenuOpenChange, onMe
96
86
  const handleMenuMouseDown = (0, external_react_namespaceObject.useCallback)((e)=>{
97
87
  e.stopPropagation();
98
88
  }, []);
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
99
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment, {
100
100
  children: [
101
101
  /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.ApIconButton, {
@@ -118,7 +118,7 @@ const TaskMenuComponent = ({ taskId, getContextMenuItems, onMenuOpenChange, onMe
118
118
  }),
119
119
  /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.ApMenu, {
120
120
  isOpen: isMenuOpen,
121
- menuItems: menuItems,
121
+ menuItems: transformedMenuItems,
122
122
  anchorEl: anchorElement,
123
123
  onClose: handleMenuClose,
124
124
  anchorOrigin: {
@@ -4,7 +4,7 @@ export interface TaskMenuHandle {
4
4
  }
5
5
  interface TaskMenuProps {
6
6
  taskId: string;
7
- getContextMenuItems: () => NodeMenuItem[];
7
+ contextMenuItems: NodeMenuItem[];
8
8
  onMenuOpenChange?: (isOpen: boolean) => void;
9
9
  onMenuOpen?: () => void;
10
10
  taskRef?: React.RefObject<HTMLElement | null>;
@@ -1 +1 @@
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,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;CAC/C;AAoHD,eAAO,MAAM,QAAQ,qGAAsC,CAAC"}
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;AAIvE,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,13 +1,12 @@
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, useRef, useState } from "react";
4
+ import { forwardRef, memo, useCallback, useImperativeHandle, useMemo, useRef, useState } from "react";
5
5
  import { transformMenuItems } from "./StageNodeTaskUtilities.js";
6
- const TaskMenuComponent = ({ taskId, getContextMenuItems, onMenuOpenChange, onMenuOpen, taskRef }, ref)=>{
6
+ const TaskMenuComponent = ({ taskId, contextMenuItems, onMenuOpenChange, onMenuOpen, taskRef }, ref)=>{
7
7
  const [isMenuOpen, setIsMenuOpen] = useState(false);
8
8
  const [anchorElement, setAnchorElement] = useState(null);
9
9
  const menuAnchorRef = useRef(null);
10
- const [menuItems, setMenuItems] = useState([]);
11
10
  const handleMenuClose = useCallback(()=>{
12
11
  setIsMenuOpen(false);
13
12
  setAnchorElement(null);
@@ -15,21 +14,12 @@ const TaskMenuComponent = ({ taskId, getContextMenuItems, onMenuOpenChange, onMe
15
14
  }, [
16
15
  onMenuOpenChange
17
16
  ]);
18
- const handleMenuItemClick = useCallback((item)=>{
19
- item.onClick();
20
- handleMenuClose();
21
- }, [
22
- handleMenuClose
23
- ]);
24
17
  const openMenu = useCallback((anchor)=>{
25
18
  setAnchorElement(anchor);
26
19
  setIsMenuOpen(true);
27
- setMenuItems(transformMenuItems(getContextMenuItems(), handleMenuItemClick));
28
20
  onMenuOpen?.();
29
21
  onMenuOpenChange?.(true);
30
22
  }, [
31
- getContextMenuItems,
32
- handleMenuItemClick,
33
23
  onMenuOpen,
34
24
  onMenuOpenChange
35
25
  ]);
@@ -58,6 +48,16 @@ const TaskMenuComponent = ({ taskId, getContextMenuItems, onMenuOpenChange, onMe
58
48
  const handleMenuMouseDown = useCallback((e)=>{
59
49
  e.stopPropagation();
60
50
  }, []);
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
61
  return /*#__PURE__*/ jsxs(Fragment, {
62
62
  children: [
63
63
  /*#__PURE__*/ jsx(ApIconButton, {
@@ -80,7 +80,7 @@ const TaskMenuComponent = ({ taskId, getContextMenuItems, onMenuOpenChange, onMe
80
80
  }),
81
81
  /*#__PURE__*/ jsx(ApMenu, {
82
82
  isOpen: isMenuOpen,
83
- menuItems: menuItems,
83
+ menuItems: transformedMenuItems,
84
84
  anchorEl: anchorElement,
85
85
  onClose: handleMenuClose,
86
86
  anchorOrigin: {
@@ -79,7 +79,7 @@ function searchLeafItems(items, query) {
79
79
  }
80
80
  return results;
81
81
  }
82
- function Toolbox({ onClose, onBack, onItemSelect, onSearch, onItemHover, title, initialItems, loading }) {
82
+ function Toolbox({ onClose, onBack, onItemSelect, onSearch, onItemHover, title, initialItems, loading, fullWidth = false, fullHeight = false }) {
83
83
  const [items, setItems] = (0, external_react_namespaceObject.useState)(initialItems);
84
84
  const [search, setSearch] = (0, external_react_namespaceObject.useState)('');
85
85
  const [searchLoading, setSearchLoading] = (0, external_react_namespaceObject.useState)(false);
@@ -392,8 +392,8 @@ function Toolbox({ onClose, onBack, onItemSelect, onSearch, onItemHover, title,
392
392
  px: 20,
393
393
  py: 12,
394
394
  gap: 12,
395
- w: 320,
396
- h: 440,
395
+ w: fullWidth ? '100%' : 320,
396
+ h: fullHeight ? '100%' : 440,
397
397
  children: [
398
398
  /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_Header_cjs_namespaceObject.Header, {
399
399
  title: currentParentItem?.name || title,
@@ -7,11 +7,13 @@ export interface ToolboxProps<T> {
7
7
  title: string;
8
8
  initialItems: ListItem<T>[];
9
9
  loading?: boolean;
10
+ fullWidth?: boolean;
11
+ fullHeight?: boolean;
10
12
  onClose: () => void;
11
13
  onItemSelect: (item: ListItem<T>) => Promise<void> | void;
12
14
  onItemHover?: (item: ListItem<T>) => void;
13
15
  onBack?: () => void;
14
16
  onSearch?: ToolboxSearchHandler<T>;
15
17
  }
16
- export declare function Toolbox<T>({ onClose, onBack, onItemSelect, onSearch, onItemHover, title, initialItems, loading, }: ToolboxProps<T>): import("react/jsx-runtime").JSX.Element;
18
+ export declare function Toolbox<T>({ onClose, onBack, onItemSelect, onSearch, onItemHover, title, initialItems, loading, fullWidth, fullHeight, }: ToolboxProps<T>): import("react/jsx-runtime").JSX.Element;
17
19
  //# sourceMappingURL=Toolbox.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Toolbox.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/Toolbox/Toolbox.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,QAAQ,EAAkD,MAAM,YAAY,CAAC;AAwC3F,MAAM,MAAM,oBAAoB,CAAC,CAAC,GAAG,GAAG,IAAI,CAC1C,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,OAAO,EACzB,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE;IAAE,YAAY,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,KAC5E,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAE5B,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1D,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAC1C,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;CACpC;AAgDD,wBAAgB,OAAO,CAAC,CAAC,EAAE,EACzB,OAAO,EACP,MAAM,EACN,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,KAAK,EACL,YAAY,EACZ,OAAO,GACR,EAAE,YAAY,CAAC,CAAC,CAAC,2CAocjB"}
1
+ {"version":3,"file":"Toolbox.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/Toolbox/Toolbox.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,QAAQ,EAAkD,MAAM,YAAY,CAAC;AAwC3F,MAAM,MAAM,oBAAoB,CAAC,CAAC,GAAG,GAAG,IAAI,CAC1C,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,OAAO,EACzB,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE;IAAE,YAAY,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,KAC5E,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAE5B,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1D,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAC1C,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;CACpC;AAgDD,wBAAgB,OAAO,CAAC,CAAC,EAAE,EACzB,OAAO,EACP,MAAM,EACN,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,KAAK,EACL,YAAY,EACZ,OAAO,EACP,SAAiB,EACjB,UAAkB,GACnB,EAAE,YAAY,CAAC,CAAC,CAAC,2CAocjB"}
@@ -51,7 +51,7 @@ function searchLeafItems(items, query) {
51
51
  }
52
52
  return results;
53
53
  }
54
- function Toolbox({ onClose, onBack, onItemSelect, onSearch, onItemHover, title, initialItems, loading }) {
54
+ function Toolbox({ onClose, onBack, onItemSelect, onSearch, onItemHover, title, initialItems, loading, fullWidth = false, fullHeight = false }) {
55
55
  const [items, setItems] = useState(initialItems);
56
56
  const [search, setSearch] = useState('');
57
57
  const [searchLoading, setSearchLoading] = useState(false);
@@ -364,8 +364,8 @@ function Toolbox({ onClose, onBack, onItemSelect, onSearch, onItemHover, title,
364
364
  px: 20,
365
365
  py: 12,
366
366
  gap: 12,
367
- w: 320,
368
- h: 440,
367
+ w: fullWidth ? '100%' : 320,
368
+ h: fullHeight ? '100%' : 440,
369
369
  children: [
370
370
  /*#__PURE__*/ jsx(Header, {
371
371
  title: currentParentItem?.name || title,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uipath/apollo-react",
3
- "version": "3.63.0-pr431.b5c8666",
3
+ "version": "3.63.0-pr439.3bc6dce",
4
4
  "description": "Apollo Design System - React component library with Material UI theming",
5
5
  "repository": {
6
6
  "type": "git",