@uipath/apollo-react 3.71.0 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/canvas/components/AddNodePanel/AddNodePreview.cjs +9 -9
- package/dist/canvas/components/AddNodePanel/AddNodePreview.d.ts.map +1 -1
- package/dist/canvas/components/AddNodePanel/AddNodePreview.js +9 -9
- package/dist/canvas/components/AgentCanvas/components/SuggestionGroupPanel.cjs +40 -39
- package/dist/canvas/components/AgentCanvas/components/SuggestionGroupPanel.d.ts.map +1 -1
- package/dist/canvas/components/AgentCanvas/components/SuggestionGroupPanel.js +41 -40
- package/dist/canvas/components/AgentCanvas/components/TimelinePlayer.cjs +13 -9
- package/dist/canvas/components/AgentCanvas/components/TimelinePlayer.js +14 -10
- package/dist/canvas/components/AgentCanvas/nodes/AgentNode.cjs +5 -5
- package/dist/canvas/components/AgentCanvas/nodes/AgentNode.d.ts.map +1 -1
- package/dist/canvas/components/AgentCanvas/nodes/AgentNode.js +5 -5
- package/dist/canvas/components/AgentCanvas/nodes/ResourceNode.cjs +22 -26
- package/dist/canvas/components/AgentCanvas/nodes/ResourceNode.d.ts.map +1 -1
- package/dist/canvas/components/AgentCanvas/nodes/ResourceNode.js +22 -26
- package/dist/canvas/components/BaseCanvas/CanvasProviders.cjs +15 -7
- package/dist/canvas/components/BaseCanvas/CanvasProviders.d.ts.map +1 -1
- package/dist/canvas/components/BaseCanvas/CanvasProviders.js +15 -7
- package/dist/canvas/components/BaseNode/BaseNode.cjs +5 -6
- package/dist/canvas/components/BaseNode/BaseNode.d.ts.map +1 -1
- package/dist/canvas/components/BaseNode/BaseNode.js +6 -7
- package/dist/canvas/components/BaseNode/BaseNode.styles.cjs +2 -2
- package/dist/canvas/components/BaseNode/BaseNode.styles.d.ts +1 -1
- package/dist/canvas/components/BaseNode/BaseNode.styles.js +2 -2
- package/dist/canvas/components/BaseNode/NodeLabel.cjs +2 -2
- package/dist/canvas/components/BaseNode/NodeLabel.d.ts.map +1 -1
- package/dist/canvas/components/BaseNode/NodeLabel.js +2 -2
- package/dist/canvas/components/BlankCanvasNode/BlankCanvasNode.cjs +6 -6
- package/dist/canvas/components/BlankCanvasNode/BlankCanvasNode.js +4 -4
- package/dist/canvas/components/ButtonHandle/ButtonHandle.cjs +9 -11
- package/dist/canvas/components/ButtonHandle/ButtonHandle.d.ts.map +1 -1
- package/dist/canvas/components/ButtonHandle/ButtonHandle.js +9 -11
- package/dist/canvas/components/ButtonHandle/SmartHandle.cjs +6 -9
- package/dist/canvas/components/ButtonHandle/SmartHandle.d.ts.map +1 -1
- package/dist/canvas/components/ButtonHandle/SmartHandle.js +6 -9
- package/dist/canvas/components/CanvasPositionControls.cjs +33 -34
- package/dist/canvas/components/CanvasPositionControls.d.ts.map +1 -1
- package/dist/canvas/components/CanvasPositionControls.js +33 -24
- package/dist/canvas/components/CanvasTooltip.cjs +138 -0
- package/dist/canvas/components/CanvasTooltip.d.ts +14 -0
- package/dist/canvas/components/CanvasTooltip.d.ts.map +1 -0
- package/dist/canvas/components/CanvasTooltip.js +91 -0
- package/dist/canvas/components/CodedAgent/CodedAgentFlow.cjs +41 -48
- package/dist/canvas/components/CodedAgent/CodedAgentFlow.d.ts.map +1 -1
- package/dist/canvas/components/CodedAgent/CodedAgentFlow.js +42 -49
- package/dist/canvas/components/ExecutionStatusIcon/ExecutionStatusIcon.cjs +35 -32
- package/dist/canvas/components/ExecutionStatusIcon/ExecutionStatusIcon.d.ts.map +1 -1
- package/dist/canvas/components/ExecutionStatusIcon/ExecutionStatusIcon.js +35 -32
- package/dist/canvas/components/FloatingCanvasPanel/PanelChrome.cjs +12 -9
- package/dist/canvas/components/FloatingCanvasPanel/PanelChrome.d.ts.map +1 -1
- package/dist/canvas/components/FloatingCanvasPanel/PanelChrome.js +12 -9
- package/dist/canvas/components/GroupNode/GroupNode.cjs +10 -12
- package/dist/canvas/components/GroupNode/GroupNode.d.ts.map +1 -1
- package/dist/canvas/components/GroupNode/GroupNode.js +10 -12
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.cjs +11 -8
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.d.ts.map +1 -1
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.js +9 -6
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvasWithControls.cjs +79 -66
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvasWithControls.d.ts.map +1 -1
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvasWithControls.js +77 -64
- package/dist/canvas/components/NodeContextMenu/NodeContextMenu.cjs +14 -82
- package/dist/canvas/components/NodeContextMenu/NodeContextMenu.d.ts +1 -2
- package/dist/canvas/components/NodeContextMenu/NodeContextMenu.d.ts.map +1 -1
- package/dist/canvas/components/NodeContextMenu/NodeContextMenu.js +16 -84
- package/dist/canvas/components/NodeInspector.cjs +64 -68
- package/dist/canvas/components/NodeInspector.d.ts.map +1 -1
- package/dist/canvas/components/NodeInspector.js +64 -68
- package/dist/canvas/components/NodePropertiesPanel/NodePropertiesPanel.cjs +9 -5
- package/dist/canvas/components/NodePropertiesPanel/NodePropertiesPanel.d.ts.map +1 -1
- package/dist/canvas/components/NodePropertiesPanel/NodePropertiesPanel.js +9 -5
- package/dist/canvas/components/StageNode/AdhocTask.cjs +1 -9
- package/dist/canvas/components/StageNode/AdhocTask.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/AdhocTask.js +2 -10
- package/dist/canvas/components/StageNode/DraggableTask.cjs +5 -13
- package/dist/canvas/components/StageNode/DraggableTask.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/DraggableTask.js +4 -12
- package/dist/canvas/components/StageNode/StageNode.cjs +42 -41
- package/dist/canvas/components/StageNode/StageNode.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/StageNode.js +43 -42
- package/dist/canvas/components/StageNode/StageNode.stories.utils.cjs +13 -1
- package/dist/canvas/components/StageNode/StageNode.stories.utils.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/StageNode.stories.utils.js +13 -1
- package/dist/canvas/components/StageNode/TaskContent.cjs +36 -35
- package/dist/canvas/components/StageNode/TaskContent.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/TaskContent.js +37 -36
- package/dist/canvas/components/StageNode/TaskMenu.cjs +19 -99
- package/dist/canvas/components/StageNode/TaskMenu.d.ts +0 -2
- package/dist/canvas/components/StageNode/TaskMenu.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/TaskMenu.js +21 -91
- package/dist/canvas/components/StickyNoteNode/FormattingToolbar.cjs +17 -17
- package/dist/canvas/components/StickyNoteNode/FormattingToolbar.d.ts.map +1 -1
- package/dist/canvas/components/StickyNoteNode/FormattingToolbar.js +12 -12
- package/dist/canvas/components/StickyNoteNode/StickyNoteNode.cjs +2 -2
- package/dist/canvas/components/StickyNoteNode/StickyNoteNode.js +3 -3
- package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.cjs +16 -14
- package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.d.ts.map +1 -1
- package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.js +13 -11
- package/dist/canvas/components/Toolbar/shared/ToolbarButton.cjs +6 -6
- package/dist/canvas/components/Toolbar/shared/ToolbarButton.d.ts.map +1 -1
- package/dist/canvas/components/Toolbar/shared/ToolbarButton.js +6 -6
- package/dist/canvas/components/Toolbox/Header.cjs +11 -10
- package/dist/canvas/components/Toolbox/Header.d.ts.map +1 -1
- package/dist/canvas/components/Toolbox/Header.js +11 -10
- package/dist/canvas/components/Toolbox/ListView.cjs +22 -34
- package/dist/canvas/components/Toolbox/ListView.d.ts.map +1 -1
- package/dist/canvas/components/Toolbox/ListView.js +23 -35
- package/dist/canvas/components/Toolbox/SearchBox.cjs +7 -7
- package/dist/canvas/components/Toolbox/SearchBox.d.ts.map +1 -1
- package/dist/canvas/components/Toolbox/SearchBox.js +7 -7
- package/dist/canvas/components/TriggerNode/TriggerNode.cjs +5 -10
- package/dist/canvas/components/TriggerNode/TriggerNode.d.ts.map +1 -1
- package/dist/canvas/components/TriggerNode/TriggerNode.js +5 -10
- package/dist/canvas/components/shared/CanvasDropdownMenu.cjs +80 -0
- package/dist/canvas/components/shared/CanvasDropdownMenu.d.ts +13 -0
- package/dist/canvas/components/shared/CanvasDropdownMenu.d.ts.map +1 -0
- package/dist/canvas/components/shared/CanvasDropdownMenu.js +46 -0
- package/dist/canvas/constants.cjs +4 -0
- package/dist/canvas/constants.d.ts +1 -0
- package/dist/canvas/constants.d.ts.map +1 -1
- package/dist/canvas/constants.js +2 -1
- package/dist/canvas/controls/Breadcrumb/Breadcrumb.cjs +12 -23
- package/dist/canvas/controls/Breadcrumb/Breadcrumb.d.ts.map +1 -1
- package/dist/canvas/controls/Breadcrumb/Breadcrumb.js +9 -20
- package/dist/canvas/storybook-utils/components/StoryInfoPanel.cjs +13 -11
- package/dist/canvas/storybook-utils/components/StoryInfoPanel.d.ts.map +1 -1
- package/dist/canvas/storybook-utils/components/StoryInfoPanel.js +13 -11
- package/dist/canvas/storybook-utils/decorators.cjs +7 -1
- package/dist/canvas/storybook-utils/decorators.d.ts.map +1 -1
- package/dist/canvas/storybook-utils/decorators.js +7 -1
- package/dist/canvas/styles/tailwind.canvas.css +2 -0
- package/dist/canvas/utils/adornment-resolver.cjs +11 -12
- package/dist/canvas/utils/adornment-resolver.d.ts.map +1 -1
- package/dist/canvas/utils/adornment-resolver.js +12 -13
- package/dist/canvas/utils/icon-registry.cjs +6 -2
- package/dist/canvas/utils/icon-registry.d.ts +3 -2
- package/dist/canvas/utils/icon-registry.d.ts.map +1 -1
- package/dist/canvas/utils/icon-registry.js +3 -2
- package/dist/material/components/ap-chat/locales/ro.json +3 -3
- package/dist/material/components/ap-tool-call/locales/ro.json +1 -1
- package/package.json +4 -2
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { FontVariantToken } from "@uipath/apollo-core";
|
|
3
2
|
import { Panel, ReactFlowProvider, useReactFlow } from "../../xyflow/react.js";
|
|
4
|
-
import {
|
|
5
|
-
import { ApIcon } from "../../../material/components/index.js";
|
|
3
|
+
import { Button } from "@uipath/apollo-wind";
|
|
6
4
|
import { useCallback, useEffect, useState } from "react";
|
|
7
5
|
import { NodeRegistryProvider } from "../../core/index.js";
|
|
8
6
|
import { selectAddNode, selectCurrentCanvas, selectCurrentPathLength, selectRemoveEdge, selectRemoveNode, selectUpdateNodes, useCanvasStore } from "../../stores/canvasStore.js";
|
|
9
7
|
import { canvasEventBus } from "../../utils/CanvasEventBus.js";
|
|
8
|
+
import { CanvasIcon } from "../../utils/icon-registry.js";
|
|
10
9
|
import { createAddNodePreview } from "../AddNodePanel/createAddNodePreview.js";
|
|
11
10
|
import { HierarchicalCanvas } from "./HierarchicalCanvas.js";
|
|
12
11
|
const createDemoCanvases = ()=>{
|
|
@@ -283,7 +282,7 @@ const workflowManifests = [
|
|
|
283
282
|
actions: [
|
|
284
283
|
{
|
|
285
284
|
id: 'drill-in',
|
|
286
|
-
icon: '
|
|
285
|
+
icon: 'external-link',
|
|
287
286
|
label: 'Open Sub-Process'
|
|
288
287
|
}
|
|
289
288
|
]
|
|
@@ -433,74 +432,88 @@ const CanvasWithControlsContent = ({ initialCanvases, initialPath, onCanvasesCha
|
|
|
433
432
|
minWidth: '180px'
|
|
434
433
|
},
|
|
435
434
|
children: [
|
|
436
|
-
/*#__PURE__*/
|
|
435
|
+
/*#__PURE__*/ jsxs(Button, {
|
|
437
436
|
variant: "secondary",
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
437
|
+
size: "sm",
|
|
438
|
+
onClick: ()=>handleAddNode('start'),
|
|
439
|
+
children: [
|
|
440
|
+
/*#__PURE__*/ jsx(CanvasIcon, {
|
|
441
|
+
icon: "circle-play",
|
|
442
|
+
size: 16
|
|
443
|
+
}),
|
|
444
|
+
" Start"
|
|
445
|
+
]
|
|
445
446
|
}),
|
|
446
|
-
/*#__PURE__*/
|
|
447
|
+
/*#__PURE__*/ jsxs(Button, {
|
|
447
448
|
variant: "secondary",
|
|
448
|
-
size: "
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
449
|
+
size: "sm",
|
|
450
|
+
onClick: ()=>handleAddNode('process'),
|
|
451
|
+
children: [
|
|
452
|
+
/*#__PURE__*/ jsx(CanvasIcon, {
|
|
453
|
+
icon: "settings",
|
|
454
|
+
size: 16
|
|
455
|
+
}),
|
|
456
|
+
" Process"
|
|
457
|
+
]
|
|
455
458
|
}),
|
|
456
|
-
/*#__PURE__*/
|
|
459
|
+
/*#__PURE__*/ jsxs(Button, {
|
|
457
460
|
variant: "secondary",
|
|
458
|
-
size: "
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
461
|
+
size: "sm",
|
|
462
|
+
onClick: ()=>handleAddNode('decision'),
|
|
463
|
+
children: [
|
|
464
|
+
/*#__PURE__*/ jsx(CanvasIcon, {
|
|
465
|
+
icon: "circle-question-mark",
|
|
466
|
+
size: 16
|
|
467
|
+
}),
|
|
468
|
+
" Decision"
|
|
469
|
+
]
|
|
465
470
|
}),
|
|
466
|
-
/*#__PURE__*/
|
|
471
|
+
/*#__PURE__*/ jsxs(Button, {
|
|
467
472
|
variant: "secondary",
|
|
468
|
-
size: "
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
473
|
+
size: "sm",
|
|
474
|
+
onClick: ()=>handleAddNode('subprocess'),
|
|
475
|
+
children: [
|
|
476
|
+
/*#__PURE__*/ jsx(CanvasIcon, {
|
|
477
|
+
icon: "folder",
|
|
478
|
+
size: 16
|
|
479
|
+
}),
|
|
480
|
+
" Sub-Process"
|
|
481
|
+
]
|
|
475
482
|
}),
|
|
476
|
-
/*#__PURE__*/
|
|
483
|
+
/*#__PURE__*/ jsxs(Button, {
|
|
477
484
|
variant: "secondary",
|
|
478
|
-
size: "
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
+
size: "sm",
|
|
486
|
+
onClick: ()=>handleAddNode('end'),
|
|
487
|
+
children: [
|
|
488
|
+
/*#__PURE__*/ jsx(CanvasIcon, {
|
|
489
|
+
icon: "circle-stop",
|
|
490
|
+
size: 16
|
|
491
|
+
}),
|
|
492
|
+
" End"
|
|
493
|
+
]
|
|
485
494
|
}),
|
|
486
|
-
/*#__PURE__*/
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
+
/*#__PURE__*/ jsxs(Button, {
|
|
496
|
+
size: "sm",
|
|
497
|
+
onClick: handleAddSampleWorkflow,
|
|
498
|
+
children: [
|
|
499
|
+
/*#__PURE__*/ jsx(CanvasIcon, {
|
|
500
|
+
icon: "sparkles",
|
|
501
|
+
size: 16
|
|
502
|
+
}),
|
|
503
|
+
" Sample Workflow"
|
|
504
|
+
]
|
|
495
505
|
}),
|
|
496
|
-
/*#__PURE__*/
|
|
506
|
+
/*#__PURE__*/ jsxs(Button, {
|
|
497
507
|
variant: "secondary",
|
|
498
|
-
size: "
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
508
|
+
size: "sm",
|
|
509
|
+
onClick: handleClearCanvas,
|
|
510
|
+
children: [
|
|
511
|
+
/*#__PURE__*/ jsx(CanvasIcon, {
|
|
512
|
+
icon: "x",
|
|
513
|
+
size: 16
|
|
514
|
+
}),
|
|
515
|
+
" Clear Canvas"
|
|
516
|
+
]
|
|
504
517
|
})
|
|
505
518
|
]
|
|
506
519
|
})
|
|
@@ -517,8 +530,8 @@ const CanvasWithControlsContent = ({ initialCanvases, initialPath, onCanvasesCha
|
|
|
517
530
|
fontSize: '12px'
|
|
518
531
|
},
|
|
519
532
|
children: [
|
|
520
|
-
/*#__PURE__*/ jsx(
|
|
521
|
-
|
|
533
|
+
/*#__PURE__*/ jsx("span", {
|
|
534
|
+
className: "text-sm font-bold",
|
|
522
535
|
children: "Canvas Info"
|
|
523
536
|
}),
|
|
524
537
|
/*#__PURE__*/ jsxs("div", {
|
|
@@ -539,8 +552,8 @@ const CanvasWithControlsContent = ({ initialCanvases, initialPath, onCanvasesCha
|
|
|
539
552
|
currentPathLength
|
|
540
553
|
]
|
|
541
554
|
}),
|
|
542
|
-
/*#__PURE__*/ jsx(
|
|
543
|
-
|
|
555
|
+
/*#__PURE__*/ jsx("span", {
|
|
556
|
+
className: "text-sm font-bold",
|
|
544
557
|
children: "Instructions"
|
|
545
558
|
}),
|
|
546
559
|
/*#__PURE__*/ jsxs("div", {
|
|
@@ -27,97 +27,29 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
27
27
|
NodeContextMenu: ()=>NodeContextMenu
|
|
28
28
|
});
|
|
29
29
|
const jsx_runtime_namespaceObject = require("react/jsx-runtime");
|
|
30
|
-
const index_cjs_namespaceObject = require("../../../material/components/index.cjs");
|
|
31
30
|
const external_react_namespaceObject = require("react");
|
|
31
|
+
const CanvasDropdownMenu_cjs_namespaceObject = require("../shared/CanvasDropdownMenu.cjs");
|
|
32
32
|
const external_NodeContextMenu_styles_cjs_namespaceObject = require("./NodeContextMenu.styles.cjs");
|
|
33
33
|
const NodeContextMenu = /*#__PURE__*/ (0, external_react_namespaceObject.memo)(({ menuItems, isVisible = false })=>{
|
|
34
34
|
const [isOpen, setIsOpen] = (0, external_react_namespaceObject.useState)(false);
|
|
35
|
-
const anchorRef = (0, external_react_namespaceObject.useRef)(null);
|
|
36
|
-
const handleMenuOpen = (0, external_react_namespaceObject.useCallback)((event)=>{
|
|
37
|
-
event.stopPropagation();
|
|
38
|
-
event.preventDefault();
|
|
39
|
-
setIsOpen(true);
|
|
40
|
-
}, []);
|
|
41
|
-
const handleMenuClose = (0, external_react_namespaceObject.useCallback)(()=>{
|
|
42
|
-
setIsOpen(false);
|
|
43
|
-
}, []);
|
|
44
|
-
(0, external_react_namespaceObject.useEffect)(()=>{
|
|
45
|
-
if (!isOpen) return;
|
|
46
|
-
const handleKeyDown = (e)=>{
|
|
47
|
-
if ('Escape' === e.key || 'Esc' === e.key) {
|
|
48
|
-
e.preventDefault();
|
|
49
|
-
e.stopPropagation();
|
|
50
|
-
setIsOpen(false);
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
const handleClickAway = (e)=>{
|
|
54
|
-
const target = e.target;
|
|
55
|
-
if (anchorRef.current?.contains(target)) return;
|
|
56
|
-
const menuElement = document.querySelector('[role="menu"]');
|
|
57
|
-
if (menuElement && !menuElement.contains(target)) setIsOpen(false);
|
|
58
|
-
};
|
|
59
|
-
window.addEventListener('keydown', handleKeyDown, true);
|
|
60
|
-
document.addEventListener('mousedown', handleClickAway);
|
|
61
|
-
return ()=>{
|
|
62
|
-
window.removeEventListener('keydown', handleKeyDown, true);
|
|
63
|
-
document.removeEventListener('mousedown', handleClickAway);
|
|
64
|
-
};
|
|
65
|
-
}, [
|
|
66
|
-
isOpen
|
|
67
|
-
]);
|
|
68
35
|
const handleMenuItemClick = (0, external_react_namespaceObject.useCallback)((item)=>{
|
|
69
36
|
if (true === item.disabled) return;
|
|
70
37
|
item.onClick();
|
|
71
|
-
|
|
72
|
-
}, [
|
|
73
|
-
handleMenuClose
|
|
74
|
-
]);
|
|
75
|
-
const transformedMenuItems = (0, external_react_namespaceObject.useMemo)(()=>menuItems?.map((item, index)=>{
|
|
76
|
-
if ('type' in item && 'divider' === item.type) return {
|
|
77
|
-
divider: true,
|
|
78
|
-
key: `divider-${index}`,
|
|
79
|
-
variant: 'separator'
|
|
80
|
-
};
|
|
81
|
-
const actionItem = item;
|
|
82
|
-
return {
|
|
83
|
-
key: actionItem.id,
|
|
84
|
-
title: actionItem.label,
|
|
85
|
-
startIcon: actionItem.icon,
|
|
86
|
-
disabled: actionItem.disabled,
|
|
87
|
-
onClick: ()=>handleMenuItemClick(actionItem),
|
|
88
|
-
variant: 'item'
|
|
89
|
-
};
|
|
90
|
-
}) || [], [
|
|
91
|
-
menuItems,
|
|
92
|
-
handleMenuItemClick
|
|
93
|
-
]);
|
|
38
|
+
setIsOpen(false);
|
|
39
|
+
}, []);
|
|
94
40
|
if (!menuItems || 0 === menuItems.length) return null;
|
|
95
41
|
if (!isVisible && !isOpen) return null;
|
|
96
|
-
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
onMouseDown: (e)=>e.stopPropagation(),
|
|
108
|
-
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.ApIcon, {
|
|
109
|
-
name: "more_vert",
|
|
110
|
-
size: "16px"
|
|
111
|
-
})
|
|
112
|
-
})
|
|
113
|
-
}),
|
|
114
|
-
isOpen && anchorRef.current && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.ApMenu, {
|
|
115
|
-
isOpen: isOpen,
|
|
116
|
-
anchorEl: anchorRef.current,
|
|
117
|
-
menuItems: transformedMenuItems,
|
|
118
|
-
onClose: handleMenuClose
|
|
119
|
-
})
|
|
120
|
-
]
|
|
42
|
+
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_NodeContextMenu_styles_cjs_namespaceObject.MenuButton, {
|
|
43
|
+
$isVisible: isVisible || isOpen,
|
|
44
|
+
onClick: (e)=>e.stopPropagation(),
|
|
45
|
+
onMouseDown: (e)=>e.stopPropagation(),
|
|
46
|
+
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(CanvasDropdownMenu_cjs_namespaceObject.CanvasDropdownMenu, {
|
|
47
|
+
open: isOpen,
|
|
48
|
+
onOpenChange: setIsOpen,
|
|
49
|
+
menuItems: menuItems,
|
|
50
|
+
onItemClick: handleMenuItemClick,
|
|
51
|
+
triggerAriaLabel: "Node context menu"
|
|
52
|
+
})
|
|
121
53
|
});
|
|
122
54
|
});
|
|
123
55
|
exports.NodeContextMenu = __webpack_exports__.NodeContextMenu;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type React from 'react';
|
|
2
1
|
import type { NodeContextMenuProps } from './NodeContextMenu.types';
|
|
3
|
-
export declare const NodeContextMenu:
|
|
2
|
+
export declare const NodeContextMenu: import("react").MemoExoticComponent<({ menuItems, isVisible }: NodeContextMenuProps) => import("react/jsx-runtime").JSX.Element | null>;
|
|
4
3
|
//# sourceMappingURL=NodeContextMenu.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeContextMenu.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/NodeContextMenu/NodeContextMenu.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NodeContextMenu.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/NodeContextMenu/NodeContextMenu.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAkB,MAAM,yBAAyB,CAAC;AAEpF,eAAO,MAAM,eAAe,iEAA2C,oBAAoB,oDAkCzF,CAAC"}
|
|
@@ -1,95 +1,27 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { memo, useCallback, useState } from "react";
|
|
3
|
+
import { CanvasDropdownMenu } from "../shared/CanvasDropdownMenu.js";
|
|
4
4
|
import { MenuButton } from "./NodeContextMenu.styles.js";
|
|
5
5
|
const NodeContextMenu = /*#__PURE__*/ memo(({ menuItems, isVisible = false })=>{
|
|
6
6
|
const [isOpen, setIsOpen] = useState(false);
|
|
7
|
-
const anchorRef = useRef(null);
|
|
8
|
-
const handleMenuOpen = useCallback((event)=>{
|
|
9
|
-
event.stopPropagation();
|
|
10
|
-
event.preventDefault();
|
|
11
|
-
setIsOpen(true);
|
|
12
|
-
}, []);
|
|
13
|
-
const handleMenuClose = useCallback(()=>{
|
|
14
|
-
setIsOpen(false);
|
|
15
|
-
}, []);
|
|
16
|
-
useEffect(()=>{
|
|
17
|
-
if (!isOpen) return;
|
|
18
|
-
const handleKeyDown = (e)=>{
|
|
19
|
-
if ('Escape' === e.key || 'Esc' === e.key) {
|
|
20
|
-
e.preventDefault();
|
|
21
|
-
e.stopPropagation();
|
|
22
|
-
setIsOpen(false);
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
const handleClickAway = (e)=>{
|
|
26
|
-
const target = e.target;
|
|
27
|
-
if (anchorRef.current?.contains(target)) return;
|
|
28
|
-
const menuElement = document.querySelector('[role="menu"]');
|
|
29
|
-
if (menuElement && !menuElement.contains(target)) setIsOpen(false);
|
|
30
|
-
};
|
|
31
|
-
window.addEventListener('keydown', handleKeyDown, true);
|
|
32
|
-
document.addEventListener('mousedown', handleClickAway);
|
|
33
|
-
return ()=>{
|
|
34
|
-
window.removeEventListener('keydown', handleKeyDown, true);
|
|
35
|
-
document.removeEventListener('mousedown', handleClickAway);
|
|
36
|
-
};
|
|
37
|
-
}, [
|
|
38
|
-
isOpen
|
|
39
|
-
]);
|
|
40
7
|
const handleMenuItemClick = useCallback((item)=>{
|
|
41
8
|
if (true === item.disabled) return;
|
|
42
9
|
item.onClick();
|
|
43
|
-
|
|
44
|
-
}, [
|
|
45
|
-
handleMenuClose
|
|
46
|
-
]);
|
|
47
|
-
const transformedMenuItems = useMemo(()=>menuItems?.map((item, index)=>{
|
|
48
|
-
if ('type' in item && 'divider' === item.type) return {
|
|
49
|
-
divider: true,
|
|
50
|
-
key: `divider-${index}`,
|
|
51
|
-
variant: 'separator'
|
|
52
|
-
};
|
|
53
|
-
const actionItem = item;
|
|
54
|
-
return {
|
|
55
|
-
key: actionItem.id,
|
|
56
|
-
title: actionItem.label,
|
|
57
|
-
startIcon: actionItem.icon,
|
|
58
|
-
disabled: actionItem.disabled,
|
|
59
|
-
onClick: ()=>handleMenuItemClick(actionItem),
|
|
60
|
-
variant: 'item'
|
|
61
|
-
};
|
|
62
|
-
}) || [], [
|
|
63
|
-
menuItems,
|
|
64
|
-
handleMenuItemClick
|
|
65
|
-
]);
|
|
10
|
+
setIsOpen(false);
|
|
11
|
+
}, []);
|
|
66
12
|
if (!menuItems || 0 === menuItems.length) return null;
|
|
67
13
|
if (!isVisible && !isOpen) return null;
|
|
68
|
-
return /*#__PURE__*/
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
onMouseDown: (e)=>e.stopPropagation(),
|
|
80
|
-
children: /*#__PURE__*/ jsx(ApIcon, {
|
|
81
|
-
name: "more_vert",
|
|
82
|
-
size: "16px"
|
|
83
|
-
})
|
|
84
|
-
})
|
|
85
|
-
}),
|
|
86
|
-
isOpen && anchorRef.current && /*#__PURE__*/ jsx(ApMenu, {
|
|
87
|
-
isOpen: isOpen,
|
|
88
|
-
anchorEl: anchorRef.current,
|
|
89
|
-
menuItems: transformedMenuItems,
|
|
90
|
-
onClose: handleMenuClose
|
|
91
|
-
})
|
|
92
|
-
]
|
|
14
|
+
return /*#__PURE__*/ jsx(MenuButton, {
|
|
15
|
+
$isVisible: isVisible || isOpen,
|
|
16
|
+
onClick: (e)=>e.stopPropagation(),
|
|
17
|
+
onMouseDown: (e)=>e.stopPropagation(),
|
|
18
|
+
children: /*#__PURE__*/ jsx(CanvasDropdownMenu, {
|
|
19
|
+
open: isOpen,
|
|
20
|
+
onOpenChange: setIsOpen,
|
|
21
|
+
menuItems: menuItems,
|
|
22
|
+
onItemClick: handleMenuItemClick,
|
|
23
|
+
triggerAriaLabel: "Node context menu"
|
|
24
|
+
})
|
|
93
25
|
});
|
|
94
26
|
});
|
|
95
27
|
export { NodeContextMenu };
|