@uipath/apollo-react 6.22.3 → 6.23.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.
- package/README.md +2 -1
- package/dist/canvas/components/JsonTree/JsonTree.cjs +1 -1
- package/dist/canvas/components/JsonTree/JsonTree.js +1 -1
- package/dist/canvas/components/JsonTree/JsonTreeRow.cjs +16 -11
- package/dist/canvas/components/JsonTree/JsonTreeRow.d.ts.map +1 -1
- package/dist/canvas/components/JsonTree/JsonTreeRow.js +16 -11
- package/dist/canvas/components/JsonTree/NodeKey.cjs +1 -1
- package/dist/canvas/components/JsonTree/NodeKey.d.ts.map +1 -1
- package/dist/canvas/components/JsonTree/NodeKey.js +1 -1
- package/dist/canvas/components/JsonTree/ScalarValueCell.cjs +2 -2
- package/dist/canvas/components/JsonTree/ScalarValueCell.d.ts.map +1 -1
- package/dist/canvas/components/JsonTree/ScalarValueCell.js +2 -2
- package/dist/canvas/components/JsonTree/buildJsonTree.cjs +2 -2
- package/dist/canvas/components/JsonTree/buildJsonTree.d.ts +3 -1
- package/dist/canvas/components/JsonTree/buildJsonTree.d.ts.map +1 -1
- package/dist/canvas/components/JsonTree/buildJsonTree.js +2 -2
- package/dist/canvas/components/NodeIOView/PanelTitleBar.cjs +5 -7
- package/dist/canvas/components/NodeIOView/PanelTitleBar.d.ts.map +1 -1
- package/dist/canvas/components/NodeIOView/PanelTitleBar.js +5 -7
- package/dist/canvas/components/StageNode/StageNode.styles.cjs +7 -0
- package/dist/canvas/components/StageNode/StageNode.styles.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/StageNode.styles.js +7 -0
- package/dist/canvas/components/StageNode/StageNode.types.d.ts +0 -5
- package/dist/canvas/components/StageNode/StageNode.types.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/hooks/useStageTaskDragHandler.cjs +28 -53
- package/dist/canvas/components/StageNode/hooks/useStageTaskDragHandler.d.ts +7 -10
- package/dist/canvas/components/StageNode/hooks/useStageTaskDragHandler.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/hooks/useStageTaskDragHandler.js +29 -54
- package/dist/canvas/components/StageNode/hooks/useStageTasksByGroups.cjs +12 -39
- package/dist/canvas/components/StageNode/hooks/useStageTasksByGroups.d.ts +0 -15
- package/dist/canvas/components/StageNode/hooks/useStageTasksByGroups.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/hooks/useStageTasksByGroups.js +12 -39
- package/dist/canvas/components/StageNode/tasks/DraggableTask.cjs +4 -47
- package/dist/canvas/components/StageNode/tasks/DraggableTask.d.ts +1 -1
- package/dist/canvas/components/StageNode/tasks/DraggableTask.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/tasks/DraggableTask.js +6 -49
- package/dist/canvas/components/StageNode/tasks/DraggableTask.types.d.ts +0 -1
- package/dist/canvas/components/StageNode/tasks/DraggableTask.types.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/tasks/SortableTaskRow.cjs +75 -0
- package/dist/canvas/components/StageNode/tasks/SortableTaskRow.d.ts +7 -0
- package/dist/canvas/components/StageNode/tasks/SortableTaskRow.d.ts.map +1 -0
- package/dist/canvas/components/StageNode/tasks/SortableTaskRow.js +41 -0
- package/dist/canvas/components/StageNode/tasks/StageNodeAdhocTaskGroups.cjs +77 -25
- package/dist/canvas/components/StageNode/tasks/StageNodeAdhocTaskGroups.d.ts +6 -3
- package/dist/canvas/components/StageNode/tasks/StageNodeAdhocTaskGroups.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/tasks/StageNodeAdhocTaskGroups.js +78 -26
- package/dist/canvas/components/StageNode/tasks/StageNodeAllTaskGroups.cjs +29 -4
- package/dist/canvas/components/StageNode/tasks/StageNodeAllTaskGroups.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/tasks/StageNodeAllTaskGroups.js +29 -4
- package/dist/canvas/components/StageNode/tasks/StageNodeEventDrivenTaskGroups.cjs +76 -24
- package/dist/canvas/components/StageNode/tasks/StageNodeEventDrivenTaskGroups.d.ts +6 -3
- package/dist/canvas/components/StageNode/tasks/StageNodeEventDrivenTaskGroups.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/tasks/StageNodeEventDrivenTaskGroups.js +77 -25
- package/dist/canvas/components/StageNode/tasks/StageNodeSequentialTaskGroups.cjs +53 -54
- package/dist/canvas/components/StageNode/tasks/StageNodeSequentialTaskGroups.d.ts +2 -3
- package/dist/canvas/components/StageNode/tasks/StageNodeSequentialTaskGroups.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/tasks/StageNodeSequentialTaskGroups.js +53 -54
- package/dist/canvas/components/StageNode/tasks/TaskContent.cjs +1 -0
- package/dist/canvas/components/StageNode/tasks/TaskContent.d.ts.map +1 -1
- package/dist/canvas/components/StageNode/tasks/TaskContent.js +1 -0
- package/dist/canvas/controls/NodeOutputModeSelect/NodeOutputModeSelect.cjs +6 -18
- package/dist/canvas/controls/NodeOutputModeSelect/NodeOutputModeSelect.d.ts.map +1 -1
- package/dist/canvas/controls/NodeOutputModeSelect/NodeOutputModeSelect.js +8 -20
- package/dist/canvas/locales/en.cjs +1 -1
- package/dist/canvas/locales/en.d.ts.map +1 -1
- package/dist/canvas/locales/en.js +1 -1
- package/dist/canvas/styles/tailwind.canvas.css +1 -1
- package/dist/canvas/utils/nodePropsEqual.cjs +1 -1
- package/dist/canvas/utils/nodePropsEqual.js +1 -1
- package/dist/core/index.cjs +5 -5
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -1
- package/dist/core/tokens/jss/palette.cjs +1697 -3442
- package/dist/core/tokens/jss/palette.js +1688 -1
- package/package.json +4 -3
|
@@ -1,13 +1,38 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
2
|
+
import { DndContext, KeyboardSensor, PointerSensor, closestCenter, useSensor, useSensors } from "@dnd-kit/core";
|
|
3
|
+
import { SortableContext, sortableKeyboardCoordinates, verticalListSortingStrategy } from "@dnd-kit/sortable";
|
|
4
|
+
import { memo, useCallback, useMemo } from "react";
|
|
5
|
+
import { useStageTaskDragHandler } from "../hooks/useStageTaskDragHandler.js";
|
|
3
6
|
import { StageItemsList, StageItemsSection } from "../StageNode.styles.js";
|
|
4
7
|
import { StageItemsHeaderTitle } from "../shared/StageItemsHeaderTitle.js";
|
|
5
8
|
import { useStageNodeLabels } from "../useStageNodeLabels.js";
|
|
6
9
|
import { EventDrivenTaskItem } from "./EventDrivenTask.js";
|
|
7
|
-
|
|
8
|
-
|
|
10
|
+
import { SortableTaskRow } from "./SortableTaskRow.js";
|
|
11
|
+
import { getDivider } from "./StageNodeTaskUtilities.js";
|
|
12
|
+
import { StageTaskDragOverlay } from "./StageTaskDragOverlay.js";
|
|
13
|
+
const StageNodeEventDrivenTaskGroupsInner = ({ props, eventDrivenTaskGroups, isReadOnly, selectedTaskId, taskWidthStyle, handleTaskClick, handleReorderEventDrivenTasks, generateReplaceTaskMenuItemForTask, generateDeleteTaskMenuItemForTask })=>{
|
|
14
|
+
const { id, execution, onTaskGroupModification, onReplaceTaskFromToolbox, onTaskReorder, loadingTaskIds, onTaskBreakpointToggle, getTaskContextMenuItems } = props;
|
|
9
15
|
const hasBuiltInTaskActions = !!(onReplaceTaskFromToolbox || onTaskGroupModification);
|
|
10
16
|
const labels = useStageNodeLabels();
|
|
17
|
+
const isDragDisabled = !onTaskReorder || isReadOnly;
|
|
18
|
+
const rows = useMemo(()=>eventDrivenTaskGroups.flat(), [
|
|
19
|
+
eventDrivenTaskGroups
|
|
20
|
+
]);
|
|
21
|
+
const rowIds = useMemo(()=>rows.map((task)=>task.id), [
|
|
22
|
+
rows
|
|
23
|
+
]);
|
|
24
|
+
const { activeTask, handleDragStart, handleDragEnd, handleDragCancel } = useStageTaskDragHandler({
|
|
25
|
+
taskGroups: eventDrivenTaskGroups,
|
|
26
|
+
onTaskReorder: handleReorderEventDrivenTasks,
|
|
27
|
+
allowRegrouping: false
|
|
28
|
+
});
|
|
29
|
+
const sensors = useSensors(useSensor(PointerSensor, {
|
|
30
|
+
activationConstraint: {
|
|
31
|
+
distance: 3
|
|
32
|
+
}
|
|
33
|
+
}), useSensor(KeyboardSensor, {
|
|
34
|
+
coordinateGetter: sortableKeyboardCoordinates
|
|
35
|
+
}));
|
|
11
36
|
const getEventDrivenContextMenuItems = useCallback((task)=>{
|
|
12
37
|
const items = [];
|
|
13
38
|
const replaceTaskMenuItem = generateReplaceTaskMenuItemForTask(task.id, false);
|
|
@@ -19,40 +44,67 @@ const StageNodeEventDrivenTaskGroupsInner = ({ props, eventDrivenTasks, isReadOn
|
|
|
19
44
|
}) ?? [];
|
|
20
45
|
items.push(...additionalMenuItems);
|
|
21
46
|
const deleteTaskMenuItem = generateDeleteTaskMenuItemForTask(task.id);
|
|
22
|
-
if (deleteTaskMenuItem)
|
|
47
|
+
if (deleteTaskMenuItem) {
|
|
48
|
+
if (items.length) items.push(getDivider());
|
|
49
|
+
items.push(deleteTaskMenuItem);
|
|
50
|
+
}
|
|
23
51
|
return items;
|
|
24
52
|
}, [
|
|
25
53
|
generateReplaceTaskMenuItemForTask,
|
|
26
54
|
getTaskContextMenuItems,
|
|
27
55
|
generateDeleteTaskMenuItemForTask
|
|
28
56
|
]);
|
|
29
|
-
|
|
57
|
+
const taskList = /*#__PURE__*/ jsx(StageItemsList, {
|
|
58
|
+
"data-testid": `event-driven-tasks-list-${id}`,
|
|
59
|
+
className: isDragDisabled ? void 0 : 'nodrag nopan',
|
|
60
|
+
children: rows.map((task)=>{
|
|
61
|
+
const taskExecution = execution?.taskStatus?.[task.id];
|
|
62
|
+
const hasMenu = !isReadOnly && hasBuiltInTaskActions || (getTaskContextMenuItems?.({
|
|
63
|
+
task,
|
|
64
|
+
taskGroupType: 'event-driven',
|
|
65
|
+
isParallel: false
|
|
66
|
+
})?.length ?? 0) > 0;
|
|
67
|
+
const row = /*#__PURE__*/ jsx(EventDrivenTaskItem, {
|
|
68
|
+
task: task,
|
|
69
|
+
taskExecution: taskExecution,
|
|
70
|
+
isSelected: selectedTaskId === task.id,
|
|
71
|
+
onTaskClick: handleTaskClick,
|
|
72
|
+
isTaskLoading: loadingTaskIds?.has(task.id),
|
|
73
|
+
isReadOnly: isReadOnly,
|
|
74
|
+
onToggleBreakpoint: isReadOnly ? onTaskBreakpointToggle : void 0,
|
|
75
|
+
getContextMenuItems: hasMenu ? getEventDrivenContextMenuItems : void 0
|
|
76
|
+
}, task.id);
|
|
77
|
+
return isDragDisabled ? row : /*#__PURE__*/ jsx(SortableTaskRow, {
|
|
78
|
+
taskId: task.id,
|
|
79
|
+
children: row
|
|
80
|
+
}, task.id);
|
|
81
|
+
})
|
|
82
|
+
});
|
|
83
|
+
if (0 === rows.length) return null;
|
|
30
84
|
return /*#__PURE__*/ jsxs(StageItemsSection, {
|
|
31
85
|
children: [
|
|
32
86
|
/*#__PURE__*/ jsx(StageItemsHeaderTitle, {
|
|
33
87
|
title: labels.eventDrivenTasks,
|
|
34
88
|
testId: `event-driven-tasks-header-${id}`
|
|
35
89
|
}),
|
|
36
|
-
/*#__PURE__*/
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
}, task.id);
|
|
55
|
-
})
|
|
90
|
+
isDragDisabled ? taskList : /*#__PURE__*/ jsxs(DndContext, {
|
|
91
|
+
collisionDetection: closestCenter,
|
|
92
|
+
sensors: sensors,
|
|
93
|
+
onDragStart: handleDragStart,
|
|
94
|
+
onDragEnd: handleDragEnd,
|
|
95
|
+
onDragCancel: handleDragCancel,
|
|
96
|
+
children: [
|
|
97
|
+
/*#__PURE__*/ jsx(SortableContext, {
|
|
98
|
+
items: rowIds,
|
|
99
|
+
strategy: verticalListSortingStrategy,
|
|
100
|
+
children: taskList
|
|
101
|
+
}),
|
|
102
|
+
/*#__PURE__*/ jsx(StageTaskDragOverlay, {
|
|
103
|
+
activeTask: activeTask,
|
|
104
|
+
isActiveTaskParallel: false,
|
|
105
|
+
taskWidthStyle: taskWidthStyle
|
|
106
|
+
})
|
|
107
|
+
]
|
|
56
108
|
})
|
|
57
109
|
]
|
|
58
110
|
});
|
|
@@ -40,16 +40,16 @@ const external_useStageNodeLabels_cjs_namespaceObject = require("../useStageNode
|
|
|
40
40
|
const external_DraggableTask_cjs_namespaceObject = require("./DraggableTask.cjs");
|
|
41
41
|
const external_StageNodeTaskUtilities_cjs_namespaceObject = require("./StageNodeTaskUtilities.cjs");
|
|
42
42
|
const external_StageTaskDragOverlay_cjs_namespaceObject = require("./StageTaskDragOverlay.cjs");
|
|
43
|
-
const StageNodeSequentialTaskGroups = ({ props, sequentialTaskGroups,
|
|
43
|
+
const StageNodeSequentialTaskGroups = ({ props, sequentialTaskGroups, allTasks, isReadOnly, selectedTaskId, taskWidthStyle, handleTaskClick, handleReorderSequentialTasks, generateReplaceTaskMenuItemForTask })=>{
|
|
44
44
|
const { id, execution, onTaskGroupModification, onReplaceTaskFromToolbox, onTaskReorder, hideParallelOptions, loadingTaskIds, onTaskBreakpointToggle, getTaskContextMenuItems } = props;
|
|
45
45
|
const hasBuiltInTaskActions = !!(onReplaceTaskFromToolbox || onTaskGroupModification);
|
|
46
|
+
const isDragDisabled = !onTaskReorder || isReadOnly;
|
|
46
47
|
const labels = (0, external_useStageNodeLabels_cjs_namespaceObject.useStageNodeLabels)();
|
|
47
|
-
const sequentialTaskIds = (0, external_react_namespaceObject.useMemo)(()=>
|
|
48
|
-
|
|
48
|
+
const sequentialTaskIds = (0, external_react_namespaceObject.useMemo)(()=>sequentialTaskGroups.flat().map((task)=>task.id), [
|
|
49
|
+
sequentialTaskGroups
|
|
49
50
|
]);
|
|
50
|
-
const {
|
|
51
|
-
sequentialTaskGroups,
|
|
52
|
-
sequentialTasks,
|
|
51
|
+
const { activeTask, isActiveTaskParallel, handleDragStart, handleDragMove, handleDragEnd, handleDragCancel } = (0, useStageTaskDragHandler_cjs_namespaceObject.useStageTaskDragHandler)({
|
|
52
|
+
taskGroups: sequentialTaskGroups,
|
|
53
53
|
onTaskReorder: handleReorderSequentialTasks
|
|
54
54
|
});
|
|
55
55
|
const handleTaskRegroup = (0, external_react_namespaceObject.useCallback)((groupModificationType, groupIndex, taskIndex)=>{
|
|
@@ -124,6 +124,50 @@ const StageNodeSequentialTaskGroups = ({ props, sequentialTaskGroups, sequential
|
|
|
124
124
|
}), (0, core_namespaceObject.useSensor)(core_namespaceObject.KeyboardSensor, {
|
|
125
125
|
coordinateGetter: sortable_namespaceObject.sortableKeyboardCoordinates
|
|
126
126
|
}));
|
|
127
|
+
const taskList = /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_StageNode_styles_cjs_namespaceObject.StageItemsList, {
|
|
128
|
+
"data-testid": `sequential-tasks-list-${id}`,
|
|
129
|
+
className: "nodrag nopan",
|
|
130
|
+
children: sequentialTaskGroups.map((taskGroup, groupIndex)=>{
|
|
131
|
+
const isParallel = taskGroup.length > 1;
|
|
132
|
+
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(index_cjs_namespaceObject.Row, {
|
|
133
|
+
gap: apollo_core_namespaceObject.Spacing.SpacingS,
|
|
134
|
+
children: [
|
|
135
|
+
isParallel && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_StageNode_styles_cjs_namespaceObject.StageParallelBracket, {}),
|
|
136
|
+
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(external_StageNode_styles_cjs_namespaceObject.StageTaskGroupContainer, {
|
|
137
|
+
isParallel: isParallel,
|
|
138
|
+
children: [
|
|
139
|
+
isParallel && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_StageNode_styles_cjs_namespaceObject.StageParallelLabel, {
|
|
140
|
+
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
|
|
141
|
+
className: "text-xs",
|
|
142
|
+
children: labels.parallel
|
|
143
|
+
})
|
|
144
|
+
}),
|
|
145
|
+
taskGroup.map((task)=>{
|
|
146
|
+
const taskExecution = execution?.taskStatus?.[task.id];
|
|
147
|
+
const hasMenu = !isReadOnly && hasBuiltInTaskActions || (getTaskContextMenuItems?.({
|
|
148
|
+
task,
|
|
149
|
+
taskGroupType: 'sequential',
|
|
150
|
+
isParallel
|
|
151
|
+
})?.length ?? 0) > 0;
|
|
152
|
+
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_DraggableTask_cjs_namespaceObject.DraggableTask, {
|
|
153
|
+
task: task,
|
|
154
|
+
taskExecution: taskExecution,
|
|
155
|
+
isSelected: selectedTaskId === task.id,
|
|
156
|
+
isParallel: isParallel,
|
|
157
|
+
onTaskClick: handleTaskClick,
|
|
158
|
+
isDragDisabled: isDragDisabled,
|
|
159
|
+
isTaskLoading: loadingTaskIds?.has(task.id),
|
|
160
|
+
isReadOnly: isReadOnly,
|
|
161
|
+
onToggleBreakpoint: isReadOnly ? onTaskBreakpointToggle : void 0,
|
|
162
|
+
getContextMenuItems: hasMenu ? buildContextMenuItems : void 0
|
|
163
|
+
}, task.id);
|
|
164
|
+
})
|
|
165
|
+
]
|
|
166
|
+
})
|
|
167
|
+
]
|
|
168
|
+
}, `group-${groupIndex}`);
|
|
169
|
+
})
|
|
170
|
+
});
|
|
127
171
|
if (0 === sequentialTaskGroups.length) return null;
|
|
128
172
|
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(external_StageNode_styles_cjs_namespaceObject.StageItemsSection, {
|
|
129
173
|
children: [
|
|
@@ -131,66 +175,21 @@ const StageNodeSequentialTaskGroups = ({ props, sequentialTaskGroups, sequential
|
|
|
131
175
|
title: labels.sequentialTasks,
|
|
132
176
|
testId: `sequential-tasks-header-${id}`
|
|
133
177
|
}),
|
|
134
|
-
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(core_namespaceObject.DndContext, {
|
|
178
|
+
isDragDisabled ? taskList : /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(core_namespaceObject.DndContext, {
|
|
135
179
|
collisionDetection: core_namespaceObject.closestCenter,
|
|
136
180
|
sensors: sensors,
|
|
137
181
|
onDragStart: handleDragStart,
|
|
138
182
|
onDragMove: handleDragMove,
|
|
139
|
-
onDragOver: handleDragOver,
|
|
140
183
|
onDragEnd: handleDragEnd,
|
|
141
184
|
onDragCancel: handleDragCancel,
|
|
142
185
|
children: [
|
|
143
186
|
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(sortable_namespaceObject.SortableContext, {
|
|
144
187
|
items: sequentialTaskIds,
|
|
145
188
|
strategy: sortable_namespaceObject.verticalListSortingStrategy,
|
|
146
|
-
children:
|
|
147
|
-
"data-testid": `sequential-tasks-list-${id}`,
|
|
148
|
-
className: "nodrag nopan",
|
|
149
|
-
children: sequentialTaskGroups.map((taskGroup, groupIndex)=>{
|
|
150
|
-
const isParallel = taskGroup.length > 1;
|
|
151
|
-
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(index_cjs_namespaceObject.Row, {
|
|
152
|
-
gap: apollo_core_namespaceObject.Spacing.SpacingS,
|
|
153
|
-
children: [
|
|
154
|
-
isParallel && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_StageNode_styles_cjs_namespaceObject.StageParallelBracket, {}),
|
|
155
|
-
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(external_StageNode_styles_cjs_namespaceObject.StageTaskGroupContainer, {
|
|
156
|
-
isParallel: isParallel,
|
|
157
|
-
children: [
|
|
158
|
-
isParallel && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_StageNode_styles_cjs_namespaceObject.StageParallelLabel, {
|
|
159
|
-
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
|
|
160
|
-
className: "text-xs",
|
|
161
|
-
children: labels.parallel
|
|
162
|
-
})
|
|
163
|
-
}),
|
|
164
|
-
taskGroup.map((task)=>{
|
|
165
|
-
const taskExecution = execution?.taskStatus?.[task.id];
|
|
166
|
-
const hasMenu = !isReadOnly && hasBuiltInTaskActions || (getTaskContextMenuItems?.({
|
|
167
|
-
task,
|
|
168
|
-
taskGroupType: 'sequential',
|
|
169
|
-
isParallel
|
|
170
|
-
})?.length ?? 0) > 0;
|
|
171
|
-
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_DraggableTask_cjs_namespaceObject.DraggableTask, {
|
|
172
|
-
task: task,
|
|
173
|
-
taskExecution: taskExecution,
|
|
174
|
-
isSelected: selectedTaskId === task.id,
|
|
175
|
-
isParallel: isParallel,
|
|
176
|
-
onTaskClick: handleTaskClick,
|
|
177
|
-
projectedDepth: task.id === activeDragId && projected ? projected.depth : void 0,
|
|
178
|
-
isDragDisabled: !onTaskReorder || isReadOnly,
|
|
179
|
-
isTaskLoading: loadingTaskIds?.has(task.id),
|
|
180
|
-
isReadOnly: isReadOnly,
|
|
181
|
-
onToggleBreakpoint: isReadOnly ? onTaskBreakpointToggle : void 0,
|
|
182
|
-
getContextMenuItems: hasMenu ? buildContextMenuItems : void 0
|
|
183
|
-
}, task.id);
|
|
184
|
-
})
|
|
185
|
-
]
|
|
186
|
-
})
|
|
187
|
-
]
|
|
188
|
-
}, `group-${groupIndex}`);
|
|
189
|
-
})
|
|
190
|
-
})
|
|
189
|
+
children: taskList
|
|
191
190
|
}),
|
|
192
191
|
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_StageTaskDragOverlay_cjs_namespaceObject.StageTaskDragOverlay, {
|
|
193
|
-
activeTask:
|
|
192
|
+
activeTask: activeTask,
|
|
194
193
|
isActiveTaskParallel: isActiveTaskParallel,
|
|
195
194
|
taskWidthStyle: taskWidthStyle
|
|
196
195
|
})
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { type CSSProperties } from 'react';
|
|
2
2
|
import type { NodeMenuItem } from '../../NodeContextMenu';
|
|
3
|
-
import type { StageNodeProps,
|
|
4
|
-
export declare const StageNodeSequentialTaskGroups: ({ props, sequentialTaskGroups,
|
|
3
|
+
import type { StageNodeProps, StageTaskItem } from '../StageNode.types';
|
|
4
|
+
export declare const StageNodeSequentialTaskGroups: ({ props, sequentialTaskGroups, allTasks, isReadOnly, selectedTaskId, taskWidthStyle, handleTaskClick, handleReorderSequentialTasks, generateReplaceTaskMenuItemForTask, }: {
|
|
5
5
|
props: StageNodeProps;
|
|
6
6
|
sequentialTaskGroups: StageTaskItem[][];
|
|
7
|
-
sequentialTasks: StageTaskGroup[];
|
|
8
7
|
allTasks: StageTaskItem[][];
|
|
9
8
|
isReadOnly: boolean;
|
|
10
9
|
selectedTaskId?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StageNodeSequentialTaskGroups.d.ts","sourceRoot":"","sources":["../../../../../src/canvas/components/StageNode/tasks/StageNodeSequentialTaskGroups.tsx"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,aAAa,EAAwB,MAAM,OAAO,CAAC;AAMjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAS1D,OAAO,KAAK,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"StageNodeSequentialTaskGroups.d.ts","sourceRoot":"","sources":["../../../../../src/canvas/components/StageNode/tasks/StageNodeSequentialTaskGroups.tsx"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,aAAa,EAAwB,MAAM,OAAO,CAAC;AAMjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAS1D,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAOxE,eAAO,MAAM,6BAA6B,GAAI,2KAU3C;IACD,KAAK,EAAE,cAAc,CAAC;IACtB,oBAAoB,EAAE,aAAa,EAAE,EAAE,CAAC;IACxC,QAAQ,EAAE,aAAa,EAAE,EAAE,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,eAAe,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,EAAE,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IACtE,4BAA4B,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,KAAK,IAAI,CAAC;IACpE,kCAAkC,EAAE,CAClC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,OAAO,KAChB,YAAY,GAAG,SAAS,CAAC;CAC/B,mDAyNA,CAAC"}
|
|
@@ -12,16 +12,16 @@ import { useStageNodeLabels } from "../useStageNodeLabels.js";
|
|
|
12
12
|
import { DraggableTask } from "./DraggableTask.js";
|
|
13
13
|
import { getContextMenuItems, getDivider } from "./StageNodeTaskUtilities.js";
|
|
14
14
|
import { StageTaskDragOverlay } from "./StageTaskDragOverlay.js";
|
|
15
|
-
const StageNodeSequentialTaskGroups = ({ props, sequentialTaskGroups,
|
|
15
|
+
const StageNodeSequentialTaskGroups = ({ props, sequentialTaskGroups, allTasks, isReadOnly, selectedTaskId, taskWidthStyle, handleTaskClick, handleReorderSequentialTasks, generateReplaceTaskMenuItemForTask })=>{
|
|
16
16
|
const { id, execution, onTaskGroupModification, onReplaceTaskFromToolbox, onTaskReorder, hideParallelOptions, loadingTaskIds, onTaskBreakpointToggle, getTaskContextMenuItems } = props;
|
|
17
17
|
const hasBuiltInTaskActions = !!(onReplaceTaskFromToolbox || onTaskGroupModification);
|
|
18
|
+
const isDragDisabled = !onTaskReorder || isReadOnly;
|
|
18
19
|
const labels = useStageNodeLabels();
|
|
19
|
-
const sequentialTaskIds = useMemo(()=>
|
|
20
|
-
|
|
20
|
+
const sequentialTaskIds = useMemo(()=>sequentialTaskGroups.flat().map((task)=>task.id), [
|
|
21
|
+
sequentialTaskGroups
|
|
21
22
|
]);
|
|
22
|
-
const {
|
|
23
|
-
sequentialTaskGroups,
|
|
24
|
-
sequentialTasks,
|
|
23
|
+
const { activeTask, isActiveTaskParallel, handleDragStart, handleDragMove, handleDragEnd, handleDragCancel } = useStageTaskDragHandler({
|
|
24
|
+
taskGroups: sequentialTaskGroups,
|
|
25
25
|
onTaskReorder: handleReorderSequentialTasks
|
|
26
26
|
});
|
|
27
27
|
const handleTaskRegroup = useCallback((groupModificationType, groupIndex, taskIndex)=>{
|
|
@@ -96,6 +96,50 @@ const StageNodeSequentialTaskGroups = ({ props, sequentialTaskGroups, sequential
|
|
|
96
96
|
}), useSensor(KeyboardSensor, {
|
|
97
97
|
coordinateGetter: sortableKeyboardCoordinates
|
|
98
98
|
}));
|
|
99
|
+
const taskList = /*#__PURE__*/ jsx(StageItemsList, {
|
|
100
|
+
"data-testid": `sequential-tasks-list-${id}`,
|
|
101
|
+
className: "nodrag nopan",
|
|
102
|
+
children: sequentialTaskGroups.map((taskGroup, groupIndex)=>{
|
|
103
|
+
const isParallel = taskGroup.length > 1;
|
|
104
|
+
return /*#__PURE__*/ jsxs(Row, {
|
|
105
|
+
gap: Spacing.SpacingS,
|
|
106
|
+
children: [
|
|
107
|
+
isParallel && /*#__PURE__*/ jsx(StageParallelBracket, {}),
|
|
108
|
+
/*#__PURE__*/ jsxs(StageTaskGroupContainer, {
|
|
109
|
+
isParallel: isParallel,
|
|
110
|
+
children: [
|
|
111
|
+
isParallel && /*#__PURE__*/ jsx(StageParallelLabel, {
|
|
112
|
+
children: /*#__PURE__*/ jsx("span", {
|
|
113
|
+
className: "text-xs",
|
|
114
|
+
children: labels.parallel
|
|
115
|
+
})
|
|
116
|
+
}),
|
|
117
|
+
taskGroup.map((task)=>{
|
|
118
|
+
const taskExecution = execution?.taskStatus?.[task.id];
|
|
119
|
+
const hasMenu = !isReadOnly && hasBuiltInTaskActions || (getTaskContextMenuItems?.({
|
|
120
|
+
task,
|
|
121
|
+
taskGroupType: 'sequential',
|
|
122
|
+
isParallel
|
|
123
|
+
})?.length ?? 0) > 0;
|
|
124
|
+
return /*#__PURE__*/ jsx(DraggableTask, {
|
|
125
|
+
task: task,
|
|
126
|
+
taskExecution: taskExecution,
|
|
127
|
+
isSelected: selectedTaskId === task.id,
|
|
128
|
+
isParallel: isParallel,
|
|
129
|
+
onTaskClick: handleTaskClick,
|
|
130
|
+
isDragDisabled: isDragDisabled,
|
|
131
|
+
isTaskLoading: loadingTaskIds?.has(task.id),
|
|
132
|
+
isReadOnly: isReadOnly,
|
|
133
|
+
onToggleBreakpoint: isReadOnly ? onTaskBreakpointToggle : void 0,
|
|
134
|
+
getContextMenuItems: hasMenu ? buildContextMenuItems : void 0
|
|
135
|
+
}, task.id);
|
|
136
|
+
})
|
|
137
|
+
]
|
|
138
|
+
})
|
|
139
|
+
]
|
|
140
|
+
}, `group-${groupIndex}`);
|
|
141
|
+
})
|
|
142
|
+
});
|
|
99
143
|
if (0 === sequentialTaskGroups.length) return null;
|
|
100
144
|
return /*#__PURE__*/ jsxs(StageItemsSection, {
|
|
101
145
|
children: [
|
|
@@ -103,66 +147,21 @@ const StageNodeSequentialTaskGroups = ({ props, sequentialTaskGroups, sequential
|
|
|
103
147
|
title: labels.sequentialTasks,
|
|
104
148
|
testId: `sequential-tasks-header-${id}`
|
|
105
149
|
}),
|
|
106
|
-
/*#__PURE__*/ jsxs(DndContext, {
|
|
150
|
+
isDragDisabled ? taskList : /*#__PURE__*/ jsxs(DndContext, {
|
|
107
151
|
collisionDetection: closestCenter,
|
|
108
152
|
sensors: sensors,
|
|
109
153
|
onDragStart: handleDragStart,
|
|
110
154
|
onDragMove: handleDragMove,
|
|
111
|
-
onDragOver: handleDragOver,
|
|
112
155
|
onDragEnd: handleDragEnd,
|
|
113
156
|
onDragCancel: handleDragCancel,
|
|
114
157
|
children: [
|
|
115
158
|
/*#__PURE__*/ jsx(SortableContext, {
|
|
116
159
|
items: sequentialTaskIds,
|
|
117
160
|
strategy: verticalListSortingStrategy,
|
|
118
|
-
children:
|
|
119
|
-
"data-testid": `sequential-tasks-list-${id}`,
|
|
120
|
-
className: "nodrag nopan",
|
|
121
|
-
children: sequentialTaskGroups.map((taskGroup, groupIndex)=>{
|
|
122
|
-
const isParallel = taskGroup.length > 1;
|
|
123
|
-
return /*#__PURE__*/ jsxs(Row, {
|
|
124
|
-
gap: Spacing.SpacingS,
|
|
125
|
-
children: [
|
|
126
|
-
isParallel && /*#__PURE__*/ jsx(StageParallelBracket, {}),
|
|
127
|
-
/*#__PURE__*/ jsxs(StageTaskGroupContainer, {
|
|
128
|
-
isParallel: isParallel,
|
|
129
|
-
children: [
|
|
130
|
-
isParallel && /*#__PURE__*/ jsx(StageParallelLabel, {
|
|
131
|
-
children: /*#__PURE__*/ jsx("span", {
|
|
132
|
-
className: "text-xs",
|
|
133
|
-
children: labels.parallel
|
|
134
|
-
})
|
|
135
|
-
}),
|
|
136
|
-
taskGroup.map((task)=>{
|
|
137
|
-
const taskExecution = execution?.taskStatus?.[task.id];
|
|
138
|
-
const hasMenu = !isReadOnly && hasBuiltInTaskActions || (getTaskContextMenuItems?.({
|
|
139
|
-
task,
|
|
140
|
-
taskGroupType: 'sequential',
|
|
141
|
-
isParallel
|
|
142
|
-
})?.length ?? 0) > 0;
|
|
143
|
-
return /*#__PURE__*/ jsx(DraggableTask, {
|
|
144
|
-
task: task,
|
|
145
|
-
taskExecution: taskExecution,
|
|
146
|
-
isSelected: selectedTaskId === task.id,
|
|
147
|
-
isParallel: isParallel,
|
|
148
|
-
onTaskClick: handleTaskClick,
|
|
149
|
-
projectedDepth: task.id === activeDragId && projected ? projected.depth : void 0,
|
|
150
|
-
isDragDisabled: !onTaskReorder || isReadOnly,
|
|
151
|
-
isTaskLoading: loadingTaskIds?.has(task.id),
|
|
152
|
-
isReadOnly: isReadOnly,
|
|
153
|
-
onToggleBreakpoint: isReadOnly ? onTaskBreakpointToggle : void 0,
|
|
154
|
-
getContextMenuItems: hasMenu ? buildContextMenuItems : void 0
|
|
155
|
-
}, task.id);
|
|
156
|
-
})
|
|
157
|
-
]
|
|
158
|
-
})
|
|
159
|
-
]
|
|
160
|
-
}, `group-${groupIndex}`);
|
|
161
|
-
})
|
|
162
|
-
})
|
|
161
|
+
children: taskList
|
|
163
162
|
}),
|
|
164
163
|
/*#__PURE__*/ jsx(StageTaskDragOverlay, {
|
|
165
|
-
activeTask:
|
|
164
|
+
activeTask: activeTask,
|
|
166
165
|
isActiveTaskParallel: isActiveTaskParallel,
|
|
167
166
|
taskWidthStyle: taskWidthStyle
|
|
168
167
|
})
|
|
@@ -121,6 +121,7 @@ const TaskPlayButton = /*#__PURE__*/ (0, external_react_namespaceObject.memo)(({
|
|
|
121
121
|
size: "icon",
|
|
122
122
|
"data-testid": `stage-task-play-${taskId}`,
|
|
123
123
|
onClick: handlePlayClick,
|
|
124
|
+
onPointerDown: (e)=>e.stopPropagation(),
|
|
124
125
|
onMouseDown: (e)=>e.stopPropagation(),
|
|
125
126
|
onKeyDown: (e)=>e.stopPropagation(),
|
|
126
127
|
"aria-label": triggerTaskLabel,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskContent.d.ts","sourceRoot":"","sources":["../../../../../src/canvas/components/StageNode/tasks/TaskContent.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"TaskContent.d.ts","sourceRoot":"","sources":["../../../../../src/canvas/components/StageNode/tasks/TaskContent.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAyE5E,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,aAAa,CAAC;IACpB,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACnC;AAED,eAAO,MAAM,WAAW,yGAC6C,gBAAgB,6CAoKpF,CAAC"}
|
|
@@ -83,6 +83,7 @@ const TaskPlayButton = /*#__PURE__*/ memo(({ taskId, onTaskPlay })=>{
|
|
|
83
83
|
size: "icon",
|
|
84
84
|
"data-testid": `stage-task-play-${taskId}`,
|
|
85
85
|
onClick: handlePlayClick,
|
|
86
|
+
onPointerDown: (e)=>e.stopPropagation(),
|
|
86
87
|
onMouseDown: (e)=>e.stopPropagation(),
|
|
87
88
|
onKeyDown: (e)=>e.stopPropagation(),
|
|
88
89
|
"aria-label": triggerTaskLabel,
|
|
@@ -69,18 +69,6 @@ const MODE_DEFS = [
|
|
|
69
69
|
id: "canvas.node_mode_select.simulated_description",
|
|
70
70
|
message: 'Generate a response dynamically using an LLM'
|
|
71
71
|
}
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
value: 'disabled',
|
|
75
|
-
icon: external_lucide_react_namespaceObject.CircleOff,
|
|
76
|
-
label: {
|
|
77
|
-
id: 'canvas.node_mode_select.disabled_label',
|
|
78
|
-
message: 'Skip node'
|
|
79
|
-
},
|
|
80
|
-
description: {
|
|
81
|
-
id: "canvas.node_mode_select.disabled_description",
|
|
82
|
-
message: "Don't execute this node"
|
|
83
|
-
}
|
|
84
72
|
}
|
|
85
73
|
];
|
|
86
74
|
const DEFAULT_NODE_OUTPUT_MODES = MODE_DEFS.map((mode)=>({
|
|
@@ -112,24 +100,24 @@ function NodeOutputModeSelect({ value, onChange, options, disabled = false, clas
|
|
|
112
100
|
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(apollo_wind_namespaceObject.DropdownMenuTrigger, {
|
|
113
101
|
asChild: true,
|
|
114
102
|
disabled: disabled,
|
|
115
|
-
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(
|
|
116
|
-
|
|
103
|
+
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(apollo_wind_namespaceObject.Button, {
|
|
104
|
+
variant: "ghost",
|
|
105
|
+
size: "3xs",
|
|
117
106
|
disabled: disabled,
|
|
118
107
|
"aria-label": _({
|
|
119
108
|
id: 'canvas.node_mode_select.node_mode',
|
|
120
|
-
message: 'Node mode'
|
|
109
|
+
message: 'Node output mode'
|
|
121
110
|
}),
|
|
122
|
-
className: (0, apollo_wind_namespaceObject.cn)('
|
|
111
|
+
className: (0, apollo_wind_namespaceObject.cn)('min-w-12 gap-1.5 rounded-full border border-border px-2 text-[11px] font-medium text-foreground-muted hover:bg-surface-overlay hover:text-foreground [&_svg]:size-2.5', className),
|
|
123
112
|
children: [
|
|
124
113
|
CurrentIcon && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(CurrentIcon, {
|
|
125
|
-
size: 10,
|
|
126
114
|
className: "text-foreground-subtle"
|
|
127
115
|
}),
|
|
128
116
|
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
|
|
117
|
+
className: "min-w-0 flex-1 truncate shrink-0",
|
|
129
118
|
children: current?.label
|
|
130
119
|
}),
|
|
131
120
|
/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_lucide_react_namespaceObject.ChevronDown, {
|
|
132
|
-
size: 10,
|
|
133
121
|
className: "text-foreground-subtle"
|
|
134
122
|
})
|
|
135
123
|
]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeOutputModeSelect.d.ts","sourceRoot":"","sources":["../../../../src/canvas/controls/NodeOutputModeSelect/NodeOutputModeSelect.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NodeOutputModeSelect.d.ts","sourceRoot":"","sources":["../../../../src/canvas/controls/NodeOutputModeSelect/NodeOutputModeSelect.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAK/C,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAwCD,eAAO,MAAM,yBAAyB,EAAE,oBAAoB,EAKzD,CAAC;AAGJ,wBAAgB,yBAAyB,IAAI,oBAAoB,EAAE,CAYlE;AAED,MAAM,WAAW,yBAAyB;IAExC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAElC,OAAO,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,EACL,QAAQ,EACR,OAAO,EACP,QAAgB,EAChB,SAAS,GACV,EAAE,yBAAyB,2CAgE3B"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { DropdownMenu, DropdownMenuContent, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuTrigger, cn } from "@uipath/apollo-wind";
|
|
3
|
-
import { ChevronDown, CircleDot,
|
|
2
|
+
import { Button, DropdownMenu, DropdownMenuContent, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuTrigger, cn } from "@uipath/apollo-wind";
|
|
3
|
+
import { ChevronDown, CircleDot, FileBracesCorner, Sparkles } from "lucide-react";
|
|
4
4
|
import { useMemo } from "react";
|
|
5
5
|
import { useSafeLingui } from "../../../i18n/index.js";
|
|
6
6
|
const MODE_DEFS = [
|
|
@@ -39,18 +39,6 @@ const MODE_DEFS = [
|
|
|
39
39
|
id: "canvas.node_mode_select.simulated_description",
|
|
40
40
|
message: 'Generate a response dynamically using an LLM'
|
|
41
41
|
}
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
value: 'disabled',
|
|
45
|
-
icon: CircleOff,
|
|
46
|
-
label: {
|
|
47
|
-
id: 'canvas.node_mode_select.disabled_label',
|
|
48
|
-
message: 'Skip node'
|
|
49
|
-
},
|
|
50
|
-
description: {
|
|
51
|
-
id: "canvas.node_mode_select.disabled_description",
|
|
52
|
-
message: "Don't execute this node"
|
|
53
|
-
}
|
|
54
42
|
}
|
|
55
43
|
];
|
|
56
44
|
const DEFAULT_NODE_OUTPUT_MODES = MODE_DEFS.map((mode)=>({
|
|
@@ -82,24 +70,24 @@ function NodeOutputModeSelect({ value, onChange, options, disabled = false, clas
|
|
|
82
70
|
/*#__PURE__*/ jsx(DropdownMenuTrigger, {
|
|
83
71
|
asChild: true,
|
|
84
72
|
disabled: disabled,
|
|
85
|
-
children: /*#__PURE__*/ jsxs(
|
|
86
|
-
|
|
73
|
+
children: /*#__PURE__*/ jsxs(Button, {
|
|
74
|
+
variant: "ghost",
|
|
75
|
+
size: "3xs",
|
|
87
76
|
disabled: disabled,
|
|
88
77
|
"aria-label": _({
|
|
89
78
|
id: 'canvas.node_mode_select.node_mode',
|
|
90
|
-
message: 'Node mode'
|
|
79
|
+
message: 'Node output mode'
|
|
91
80
|
}),
|
|
92
|
-
className: cn('
|
|
81
|
+
className: cn('min-w-12 gap-1.5 rounded-full border border-border px-2 text-[11px] font-medium text-foreground-muted hover:bg-surface-overlay hover:text-foreground [&_svg]:size-2.5', className),
|
|
93
82
|
children: [
|
|
94
83
|
CurrentIcon && /*#__PURE__*/ jsx(CurrentIcon, {
|
|
95
|
-
size: 10,
|
|
96
84
|
className: "text-foreground-subtle"
|
|
97
85
|
}),
|
|
98
86
|
/*#__PURE__*/ jsx("span", {
|
|
87
|
+
className: "min-w-0 flex-1 truncate shrink-0",
|
|
99
88
|
children: current?.label
|
|
100
89
|
}),
|
|
101
90
|
/*#__PURE__*/ jsx(ChevronDown, {
|
|
102
|
-
size: 10,
|
|
103
91
|
className: "text-foreground-subtle"
|
|
104
92
|
})
|
|
105
93
|
]
|