@uipath/apollo-react 4.24.4 → 4.25.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.
Files changed (109) hide show
  1. package/dist/canvas/components/BaseCanvas/BaseCanvas.cjs +2 -1
  2. package/dist/canvas/components/BaseCanvas/BaseCanvas.d.ts.map +1 -1
  3. package/dist/canvas/components/BaseCanvas/BaseCanvas.js +2 -1
  4. package/dist/canvas/components/BaseCanvas/BaseCanvas.types.d.ts +2 -0
  5. package/dist/canvas/components/BaseCanvas/BaseCanvas.types.d.ts.map +1 -1
  6. package/dist/canvas/components/BaseCanvas/CanvasProviders.cjs +19 -14
  7. package/dist/canvas/components/BaseCanvas/CanvasProviders.d.ts +2 -1
  8. package/dist/canvas/components/BaseCanvas/CanvasProviders.d.ts.map +1 -1
  9. package/dist/canvas/components/BaseCanvas/CanvasProviders.js +19 -14
  10. package/dist/canvas/components/BaseNode/BaseNodeContainer.cjs +5 -1
  11. package/dist/canvas/components/BaseNode/BaseNodeContainer.d.ts.map +1 -1
  12. package/dist/canvas/components/BaseNode/BaseNodeContainer.js +5 -1
  13. package/dist/canvas/components/ButtonHandle/ButtonHandle.cjs +1 -1
  14. package/dist/canvas/components/ButtonHandle/ButtonHandle.js +1 -1
  15. package/dist/canvas/components/CanvasTooltip.cjs +2 -3
  16. package/dist/canvas/components/CanvasTooltip.d.ts +2 -2
  17. package/dist/canvas/components/CanvasTooltip.d.ts.map +1 -1
  18. package/dist/canvas/components/CanvasTooltip.js +2 -3
  19. package/dist/canvas/components/ExecutionStatusIcon/ExecutionStatusIcon.cjs +1 -0
  20. package/dist/canvas/components/ExecutionStatusIcon/ExecutionStatusIcon.d.ts +1 -1
  21. package/dist/canvas/components/ExecutionStatusIcon/ExecutionStatusIcon.d.ts.map +1 -1
  22. package/dist/canvas/components/ExecutionStatusIcon/ExecutionStatusIcon.js +1 -0
  23. package/dist/canvas/components/LoopNode/IterationNavigator.cjs +143 -0
  24. package/dist/canvas/components/LoopNode/IterationNavigator.d.ts +7 -0
  25. package/dist/canvas/components/LoopNode/IterationNavigator.d.ts.map +1 -0
  26. package/dist/canvas/components/LoopNode/IterationNavigator.js +109 -0
  27. package/dist/canvas/components/LoopNode/LoopNode.cjs +45 -18
  28. package/dist/canvas/components/LoopNode/LoopNode.d.ts.map +1 -1
  29. package/dist/canvas/components/LoopNode/LoopNode.js +45 -18
  30. package/dist/canvas/components/LoopNode/LoopNode.types.d.ts +8 -0
  31. package/dist/canvas/components/LoopNode/LoopNode.types.d.ts.map +1 -1
  32. package/dist/canvas/components/StageNode/AdhocTask.cjs +1 -0
  33. package/dist/canvas/components/StageNode/AdhocTask.d.ts.map +1 -1
  34. package/dist/canvas/components/StageNode/AdhocTask.js +1 -0
  35. package/dist/canvas/components/StageNode/DraggableTask.cjs +1 -0
  36. package/dist/canvas/components/StageNode/DraggableTask.d.ts.map +1 -1
  37. package/dist/canvas/components/StageNode/DraggableTask.js +1 -0
  38. package/dist/canvas/components/StageNode/EventDrivenTask.cjs +1 -0
  39. package/dist/canvas/components/StageNode/EventDrivenTask.d.ts.map +1 -1
  40. package/dist/canvas/components/StageNode/EventDrivenTask.js +1 -0
  41. package/dist/canvas/components/StageNode/StageNode.cjs +5 -3
  42. package/dist/canvas/components/StageNode/StageNode.d.ts.map +1 -1
  43. package/dist/canvas/components/StageNode/StageNode.js +5 -3
  44. package/dist/canvas/components/StageNode/StageNode.styles.cjs +4 -39
  45. package/dist/canvas/components/StageNode/StageNode.styles.d.ts +1 -14
  46. package/dist/canvas/components/StageNode/StageNode.styles.d.ts.map +1 -1
  47. package/dist/canvas/components/StageNode/StageNode.styles.js +4 -33
  48. package/dist/canvas/components/StageNode/StageNode.types.d.ts +4 -2
  49. package/dist/canvas/components/StageNode/StageNode.types.d.ts.map +1 -1
  50. package/dist/canvas/components/StageNode/StageNodeAdhocTaskGroups.cjs +3 -1
  51. package/dist/canvas/components/StageNode/StageNodeAdhocTaskGroups.d.ts.map +1 -1
  52. package/dist/canvas/components/StageNode/StageNodeAdhocTaskGroups.js +3 -1
  53. package/dist/canvas/components/StageNode/StageNodeAllTaskGroups.cjs +9 -5
  54. package/dist/canvas/components/StageNode/StageNodeAllTaskGroups.d.ts.map +1 -1
  55. package/dist/canvas/components/StageNode/StageNodeAllTaskGroups.js +9 -5
  56. package/dist/canvas/components/StageNode/StageNodeEventDrivenTaskGroups.cjs +3 -1
  57. package/dist/canvas/components/StageNode/StageNodeEventDrivenTaskGroups.d.ts.map +1 -1
  58. package/dist/canvas/components/StageNode/StageNodeEventDrivenTaskGroups.js +3 -1
  59. package/dist/canvas/components/StageNode/StageNodeHeader.cjs +106 -151
  60. package/dist/canvas/components/StageNode/StageNodeHeader.d.ts.map +1 -1
  61. package/dist/canvas/components/StageNode/StageNodeHeader.js +110 -155
  62. package/dist/canvas/components/StageNode/StageNodeSequentialTaskGroups.cjs +7 -3
  63. package/dist/canvas/components/StageNode/StageNodeSequentialTaskGroups.d.ts.map +1 -1
  64. package/dist/canvas/components/StageNode/StageNodeSequentialTaskGroups.js +7 -3
  65. package/dist/canvas/components/StageNode/StageNodeTaskUtilities.cjs +11 -11
  66. package/dist/canvas/components/StageNode/StageNodeTaskUtilities.d.ts +14 -1
  67. package/dist/canvas/components/StageNode/StageNodeTaskUtilities.d.ts.map +1 -1
  68. package/dist/canvas/components/StageNode/StageNodeTaskUtilities.js +11 -11
  69. package/dist/canvas/components/StageNode/StageTitleInput.cjs +120 -0
  70. package/dist/canvas/components/StageNode/StageTitleInput.d.ts +8 -0
  71. package/dist/canvas/components/StageNode/StageTitleInput.d.ts.map +1 -0
  72. package/dist/canvas/components/StageNode/StageTitleInput.js +86 -0
  73. package/dist/canvas/components/StageNode/useStageNodeLabels.cjs +122 -0
  74. package/dist/canvas/components/StageNode/useStageNodeLabels.d.ts +15 -0
  75. package/dist/canvas/components/StageNode/useStageNodeLabels.d.ts.map +1 -0
  76. package/dist/canvas/components/StageNode/useStageNodeLabels.js +88 -0
  77. package/dist/canvas/components/StickyNoteNode/StickyNoteNode.cjs +51 -38
  78. package/dist/canvas/components/StickyNoteNode/StickyNoteNode.d.ts.map +1 -1
  79. package/dist/canvas/components/StickyNoteNode/StickyNoteNode.js +49 -36
  80. package/dist/canvas/components/StickyNoteNode/StickyNoteNode.styles.cjs +2 -5
  81. package/dist/canvas/components/StickyNoteNode/StickyNoteNode.styles.d.ts.map +1 -1
  82. package/dist/canvas/components/StickyNoteNode/StickyNoteNode.styles.js +2 -5
  83. package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.cjs +5 -5
  84. package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.js +5 -5
  85. package/dist/canvas/components/Toolbox/Toolbox.cjs +7 -1
  86. package/dist/canvas/components/Toolbox/Toolbox.d.ts.map +1 -1
  87. package/dist/canvas/components/Toolbox/Toolbox.js +7 -1
  88. package/dist/canvas/index.cjs +65 -47
  89. package/dist/canvas/index.d.ts +2 -0
  90. package/dist/canvas/index.d.ts.map +1 -1
  91. package/dist/canvas/index.js +2 -1
  92. package/dist/canvas/locales/en.cjs +1 -1
  93. package/dist/canvas/locales/en.d.ts.map +1 -1
  94. package/dist/canvas/locales/en.js +1 -1
  95. package/dist/canvas/storybook-utils/decorators.d.ts.map +1 -1
  96. package/dist/canvas/styles/reactflow-reset.css +5 -1
  97. package/dist/canvas/styles/tailwind.canvas.css +1 -1
  98. package/dist/canvas/utils/adornment-resolver.cjs +4 -8
  99. package/dist/canvas/utils/adornment-resolver.d.ts +4 -1
  100. package/dist/canvas/utils/adornment-resolver.d.ts.map +1 -1
  101. package/dist/canvas/utils/adornment-resolver.js +4 -8
  102. package/dist/canvas/utils/testing.cjs +10 -1
  103. package/dist/canvas/utils/testing.d.ts +1 -1
  104. package/dist/canvas/utils/testing.d.ts.map +1 -1
  105. package/dist/canvas/utils/testing.js +10 -1
  106. package/dist/i18n/ApI18nProvider.cjs +3 -1
  107. package/dist/i18n/ApI18nProvider.d.ts.map +1 -1
  108. package/dist/i18n/ApI18nProvider.js +3 -1
  109. package/package.json +5 -6
@@ -48,43 +48,13 @@ const StageContainer = styled.div`
48
48
  const StageHeader = styled.div`
49
49
  position: relative;
50
50
  display: flex;
51
- justify-content: space-between;
51
+ flex-direction: column;
52
52
  padding: ${Spacing.SpacingS} ${Spacing.SpacingBase};
53
53
  border-bottom: solid 1px var(--canvas-border-de-emp);
54
54
  background: ${(props)=>props.isException ? 'var(--color-background-secondary)' : 'var(--canvas-background)'};
55
55
  border-radius: ${Spacing.SpacingBase} ${Spacing.SpacingBase} 0 0;
56
56
  overflow: hidden;
57
57
  `;
58
- const StageTitleContainer = styled.div`
59
- display: block;
60
- border-radius: 4px;
61
- height: 100%;
62
- width: 100%;
63
- box-sizing: border-box;
64
- border: ${(props)=>props.isEditing ? '1px solid var(--canvas-border-de-emp)' : 'none'};
65
- `;
66
- const StageTitleInput = styled.input`
67
- font-family: inherit;
68
- font-size: inherit;
69
- font-weight: inherit;
70
- cursor: text;
71
- border: none;
72
- background: transparent;
73
- text-overflow: ellipsis;
74
- border-radius: 2px;
75
- width: 100%;
76
- min-width: 100px;
77
- padding: ${Padding.PadS} 0px;
78
-
79
- &:focus {
80
- outline: none;
81
- }
82
-
83
- &:hover {
84
- cursor: ${(props)=>props.isStageTitleEditable ? 'text' : 'pointer'};
85
- background: ${(props)=>props.isEditing || props.isStageTitleEditable ? 'var(--canvas-background-secondary)' : 'transparent'};
86
- }
87
- `;
88
58
  const StageContent = styled.div`
89
59
  padding: 15px ${STAGE_CONTENT_PADDING_X}px ${Spacing.SpacingBase} ${STAGE_CONTENT_PADDING_X}px;
90
60
  border-radius: 0 0 ${Spacing.SpacingBase} ${Spacing.SpacingBase};
@@ -140,7 +110,8 @@ const StageTask = styled.div`
140
110
  gap: ${Spacing.SpacingXs};
141
111
  padding: ${Padding.PadS} ${Padding.PadM};
142
112
  background: var(--canvas-background);
143
- border: 1px solid var(--canvas-border-de-emp);
113
+ border: 1px ${({ isPlaceholder })=>isPlaceholder ? 'dashed' : 'solid'}
114
+ var(--canvas-border-de-emp);
144
115
  border-radius: ${Spacing.SpacingXs};
145
116
  color: var(--canvas-foreground);
146
117
  transition: all 0.2s ease;
@@ -259,4 +230,4 @@ const StageTaskDragPlaceholder = styled.div`
259
230
  height: 100%;
260
231
  width: ${({ isTargetParallel })=>isTargetParallel ? 'var(--stage-task-width-parallel, 216px)' : 'var(--stage-task-width, 246px)'};
261
232
  `;
262
- export { INDENTATION_WIDTH, STAGE_BORDER_WIDTH, STAGE_CONTENT_INSET, STAGE_CONTENT_PADDING_X, StageAdditionalTasksHeaderSection, StageAdditionalTasksSection, StageChip, StageContainer, StageContent, StageHeader, StageHeaderChipsRow, StageParallelBracket, StageParallelLabel, StageTask, StageTaskDragPlaceholder, StageTaskDragPlaceholderWrapper, StageTaskGroupContainer, StageTaskIcon, StageTaskList, StageTaskRetryDuration, StageTaskWrapper, StageTitleContainer, StageTitleInput };
233
+ export { INDENTATION_WIDTH, STAGE_BORDER_WIDTH, STAGE_CONTENT_INSET, STAGE_CONTENT_PADDING_X, StageAdditionalTasksHeaderSection, StageAdditionalTasksSection, StageChip, StageContainer, StageContent, StageHeader, StageHeaderChipsRow, StageParallelBracket, StageParallelLabel, StageTask, StageTaskDragPlaceholder, StageTaskDragPlaceholderWrapper, StageTaskGroupContainer, StageTaskIcon, StageTaskList, StageTaskRetryDuration, StageTaskWrapper };
@@ -15,11 +15,13 @@ declare enum ElementStatusValues {
15
15
  }
16
16
  export type StageStatus = `${ElementStatusValues}`;
17
17
  export type StageTaskStatus = `${ElementStatusValues}`;
18
+ export type StageSlaIcon = 'warning' | 'error';
18
19
  export interface StageTaskItem {
19
20
  id: string;
20
21
  label: string;
21
22
  icon?: React.ReactElement;
22
23
  isAdhoc?: boolean;
24
+ isPlaceholder?: boolean;
23
25
  taskGroupType?: 'sequential' | 'event-driven' | 'adhoc';
24
26
  hasEntryCondition?: boolean;
25
27
  }
@@ -52,14 +54,14 @@ export interface StageNodeBaseProps {
52
54
  selectedTaskId?: string;
53
55
  headerChips?: StageHeaderChip[];
54
56
  };
55
- addTaskLabel?: string;
56
- replaceTaskLabel?: string;
57
57
  taskOptions?: ListItem[];
58
58
  execution?: {
59
59
  stageStatus: {
60
60
  status?: StageStatus;
61
61
  label?: string;
62
62
  duration?: string;
63
+ slaText?: string;
64
+ slaIcon?: StageSlaIcon;
63
65
  };
64
66
  taskStatus: Record<string, StageTaskExecution>;
65
67
  };
@@ -1 +1 @@
1
- {"version":3,"file":"StageNode.types.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/StageNode/StageNode.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StageNode.types.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/StageNode/StageNode.types.ts"],"names":[],"mappings":"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"}
@@ -30,8 +30,10 @@ const jsx_runtime_namespaceObject = require("react/jsx-runtime");
30
30
  const external_react_namespaceObject = require("react");
31
31
  const external_AdhocTask_cjs_namespaceObject = require("./AdhocTask.cjs");
32
32
  const external_StageNode_styles_cjs_namespaceObject = require("./StageNode.styles.cjs");
33
+ const external_useStageNodeLabels_cjs_namespaceObject = require("./useStageNodeLabels.cjs");
33
34
  const StageNodeAdhocTaskGroupsInner = ({ props, adhocTasks, isReadOnly, selectedTaskId, marginTop, handleTaskClick, generateReplaceTaskMenuItemForTask, generateDeleteTaskMenuItemForTask })=>{
34
35
  const { execution, onTaskGroupModification, onReplaceTaskFromToolbox, onTaskPlay, loadingTaskIds } = props;
36
+ const labels = (0, external_useStageNodeLabels_cjs_namespaceObject.useStageNodeLabels)();
35
37
  const getAdhocContextMenuItems = (0, external_react_namespaceObject.useCallback)((taskId)=>{
36
38
  const items = [];
37
39
  const replaceTaskMenuItem = generateReplaceTaskMenuItemForTask(taskId, false);
@@ -52,7 +54,7 @@ const StageNodeAdhocTaskGroupsInner = ({ props, adhocTasks, isReadOnly, selected
52
54
  /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_StageNode_styles_cjs_namespaceObject.StageAdditionalTasksHeaderSection, {
53
55
  children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
54
56
  className: "text-xs font-bold text-foreground-muted",
55
- children: "Ad hoc tasks"
57
+ children: labels.adhocTasks
56
58
  })
57
59
  }),
58
60
  /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_StageNode_styles_cjs_namespaceObject.StageTaskList, {
@@ -1 +1 @@
1
- {"version":3,"file":"StageNodeAdhocTaskGroups.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/StageNode/StageNodeAdhocTaskGroups.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOvD,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAqFxE,eAAO,MAAM,wBAAwB,8LA1ElC;IACD,KAAK,EAAE,cAAc,CAAC;IACtB,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,EAAE,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IACtE,kCAAkC,EAAE,CAClC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,OAAO,KAChB,YAAY,GAAG,SAAS,CAAC;IAC9B,iCAAiC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,YAAY,GAAG,SAAS,CAAC;CACjF,oDA8D0E,CAAC"}
1
+ {"version":3,"file":"StageNodeAdhocTaskGroups.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/StageNode/StageNodeAdhocTaskGroups.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOvD,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAuFxE,eAAO,MAAM,wBAAwB,8LA3ElC;IACD,KAAK,EAAE,cAAc,CAAC;IACtB,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,EAAE,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IACtE,kCAAkC,EAAE,CAClC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,OAAO,KAChB,YAAY,GAAG,SAAS,CAAC;IAC9B,iCAAiC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,YAAY,GAAG,SAAS,CAAC;CACjF,oDA+D0E,CAAC"}
@@ -2,8 +2,10 @@ import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { memo, useCallback } from "react";
3
3
  import { AdhocTaskItem } from "./AdhocTask.js";
4
4
  import { StageAdditionalTasksHeaderSection, StageAdditionalTasksSection, StageTaskList } from "./StageNode.styles.js";
5
+ import { useStageNodeLabels } from "./useStageNodeLabels.js";
5
6
  const StageNodeAdhocTaskGroupsInner = ({ props, adhocTasks, isReadOnly, selectedTaskId, marginTop, handleTaskClick, generateReplaceTaskMenuItemForTask, generateDeleteTaskMenuItemForTask })=>{
6
7
  const { execution, onTaskGroupModification, onReplaceTaskFromToolbox, onTaskPlay, loadingTaskIds } = props;
8
+ const labels = useStageNodeLabels();
7
9
  const getAdhocContextMenuItems = useCallback((taskId)=>{
8
10
  const items = [];
9
11
  const replaceTaskMenuItem = generateReplaceTaskMenuItemForTask(taskId, false);
@@ -24,7 +26,7 @@ const StageNodeAdhocTaskGroupsInner = ({ props, adhocTasks, isReadOnly, selected
24
26
  /*#__PURE__*/ jsx(StageAdditionalTasksHeaderSection, {
25
27
  children: /*#__PURE__*/ jsx("span", {
26
28
  className: "text-xs font-bold text-foreground-muted",
27
- children: "Ad hoc tasks"
29
+ children: labels.adhocTasks
28
30
  })
29
31
  }),
30
32
  /*#__PURE__*/ jsx(StageTaskList, {
@@ -38,14 +38,16 @@ const external_StageNodeAdhocTaskGroups_cjs_namespaceObject = require("./StageNo
38
38
  const external_StageNodeEventDrivenTaskGroups_cjs_namespaceObject = require("./StageNodeEventDrivenTaskGroups.cjs");
39
39
  const external_StageNodeSequentialTaskGroups_cjs_namespaceObject = require("./StageNodeSequentialTaskGroups.cjs");
40
40
  const external_StageNodeTaskUtilities_cjs_namespaceObject = require("./StageNodeTaskUtilities.cjs");
41
+ const external_useStageNodeLabels_cjs_namespaceObject = require("./useStageNodeLabels.cjs");
41
42
  const StageNodeAllTaskGroupsInner = ({ props, isReadOnly, taskWidthStyle, taskStateReference, setSelectedNodeId, handleTaskAddClick, setIsReplacingTask })=>{
42
43
  const { id, stageDetails, onTaskAdd, onAddTaskFromToolbox, onTaskClick, onTaskGroupModification, onTaskReorder, onReplaceTaskFromToolbox } = props;
44
+ const labels = (0, external_useStageNodeLabels_cjs_namespaceObject.useStageNodeLabels)();
43
45
  const allTasks = (0, external_react_namespaceObject.useMemo)(()=>stageDetails?.tasks || [], [
44
46
  stageDetails?.tasks
45
47
  ]);
46
48
  const { sequentialTaskGroups, sequentialTasks, adhocTaskGroups, adhocTasks, eventDrivenTaskGroups, eventDrivenTasks } = (0, useStageTasksByGroups_cjs_namespaceObject.useStageTasksByGroups)(allTasks);
47
49
  const selectedTaskId = stageDetails?.selectedTaskId;
48
- const defaultContent = stageDetails?.defaultContent || (isReadOnly ? 'No tasks' : 'Add first task');
50
+ const defaultContent = stageDetails?.defaultContent || (isReadOnly ? labels.noTasks : labels.addFirstTask);
49
51
  const handleReorderSequentialTasks = (0, external_react_namespaceObject.useCallback)((newTasks)=>{
50
52
  if (!onTaskReorder) return;
51
53
  onTaskReorder([
@@ -78,7 +80,7 @@ const StageNodeAllTaskGroupsInner = ({ props, isReadOnly, taskWidthStyle, taskSt
78
80
  break;
79
81
  }
80
82
  if (void 0 === groupIndex || void 0 === taskIndex) return;
81
- return (0, external_StageNodeTaskUtilities_cjs_namespaceObject.getMenuItem)('replace-task', 'Replace task', ()=>{
83
+ return (0, external_StageNodeTaskUtilities_cjs_namespaceObject.getMenuItem)('replace-task', labels.replaceTask, ()=>{
82
84
  taskStateReference.current = {
83
85
  isParallel,
84
86
  groupIndex,
@@ -92,7 +94,8 @@ const StageNodeAllTaskGroupsInner = ({ props, isReadOnly, taskWidthStyle, taskSt
92
94
  allTasks,
93
95
  onTaskClick,
94
96
  setIsReplacingTask,
95
- taskStateReference
97
+ taskStateReference,
98
+ labels.replaceTask
96
99
  ]);
97
100
  const generateDeleteTaskMenuItemForTask = (0, external_react_namespaceObject.useCallback)((taskId)=>{
98
101
  if (!onTaskGroupModification) return;
@@ -104,10 +107,11 @@ const StageNodeAllTaskGroupsInner = ({ props, isReadOnly, taskWidthStyle, taskSt
104
107
  break;
105
108
  }
106
109
  if (void 0 === groupIndex || void 0 === taskIndex) return;
107
- return (0, external_StageNodeTaskUtilities_cjs_namespaceObject.getMenuItem)('remove-task', 'Delete task', ()=>onTaskGroupModification(external_utils_index_cjs_namespaceObject.GroupModificationType.REMOVE_TASK, groupIndex, taskIndex));
110
+ return (0, external_StageNodeTaskUtilities_cjs_namespaceObject.getMenuItem)('remove-task', labels.deleteTask, ()=>onTaskGroupModification(external_utils_index_cjs_namespaceObject.GroupModificationType.REMOVE_TASK, groupIndex, taskIndex));
108
111
  }, [
109
112
  allTasks,
110
- onTaskGroupModification
113
+ onTaskGroupModification,
114
+ labels.deleteTask
111
115
  ]);
112
116
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_StageNode_styles_cjs_namespaceObject.StageContent, {
113
117
  children: 0 === sequentialTaskGroups.length && 0 === adhocTaskGroups.length && 0 === eventDrivenTaskGroups.length ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.Column, {
@@ -1 +1 @@
1
- {"version":3,"file":"StageNodeAllTaskGroups.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/StageNode/StageNodeAllTaskGroups.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,aAAa,EAAQ,KAAK,SAAS,EAAwB,MAAM,OAAO,CAAC;AAIvF,OAAO,KAAK,EAAE,cAAc,EAAiB,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAqM3F,eAAO,MAAM,sBAAsB,8JAvLhC;IACD,KAAK,EAAE,cAAc,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,kBAAkB,EAAE,SAAS,CAAC,kBAAkB,CAAC,CAAC;IAClD,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,kBAAkB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IACtD,kBAAkB,EAAE,CAAC,eAAe,EAAE,OAAO,KAAK,IAAI,CAAC;CACxD,6CA+KsE,CAAC"}
1
+ {"version":3,"file":"StageNodeAllTaskGroups.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/StageNode/StageNodeAllTaskGroups.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,aAAa,EAAQ,KAAK,SAAS,EAAwB,MAAM,OAAO,CAAC;AAIvF,OAAO,KAAK,EAAE,cAAc,EAAiB,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AA8M3F,eAAO,MAAM,sBAAsB,8JA/LhC;IACD,KAAK,EAAE,cAAc,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,kBAAkB,EAAE,SAAS,CAAC,kBAAkB,CAAC,CAAC;IAClD,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,kBAAkB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IACtD,kBAAkB,EAAE,CAAC,eAAe,EAAE,OAAO,KAAK,IAAI,CAAC;CACxD,6CAuLsE,CAAC"}
@@ -10,14 +10,16 @@ import { StageNodeAdhocTaskGroups } from "./StageNodeAdhocTaskGroups.js";
10
10
  import { StageNodeEventDrivenTaskGroups } from "./StageNodeEventDrivenTaskGroups.js";
11
11
  import { StageNodeSequentialTaskGroups } from "./StageNodeSequentialTaskGroups.js";
12
12
  import { getMenuItem } from "./StageNodeTaskUtilities.js";
13
+ import { useStageNodeLabels } from "./useStageNodeLabels.js";
13
14
  const StageNodeAllTaskGroupsInner = ({ props, isReadOnly, taskWidthStyle, taskStateReference, setSelectedNodeId, handleTaskAddClick, setIsReplacingTask })=>{
14
15
  const { id, stageDetails, onTaskAdd, onAddTaskFromToolbox, onTaskClick, onTaskGroupModification, onTaskReorder, onReplaceTaskFromToolbox } = props;
16
+ const labels = useStageNodeLabels();
15
17
  const allTasks = useMemo(()=>stageDetails?.tasks || [], [
16
18
  stageDetails?.tasks
17
19
  ]);
18
20
  const { sequentialTaskGroups, sequentialTasks, adhocTaskGroups, adhocTasks, eventDrivenTaskGroups, eventDrivenTasks } = useStageTasksByGroups(allTasks);
19
21
  const selectedTaskId = stageDetails?.selectedTaskId;
20
- const defaultContent = stageDetails?.defaultContent || (isReadOnly ? 'No tasks' : 'Add first task');
22
+ const defaultContent = stageDetails?.defaultContent || (isReadOnly ? labels.noTasks : labels.addFirstTask);
21
23
  const handleReorderSequentialTasks = useCallback((newTasks)=>{
22
24
  if (!onTaskReorder) return;
23
25
  onTaskReorder([
@@ -50,7 +52,7 @@ const StageNodeAllTaskGroupsInner = ({ props, isReadOnly, taskWidthStyle, taskSt
50
52
  break;
51
53
  }
52
54
  if (void 0 === groupIndex || void 0 === taskIndex) return;
53
- return getMenuItem('replace-task', 'Replace task', ()=>{
55
+ return getMenuItem('replace-task', labels.replaceTask, ()=>{
54
56
  taskStateReference.current = {
55
57
  isParallel,
56
58
  groupIndex,
@@ -64,7 +66,8 @@ const StageNodeAllTaskGroupsInner = ({ props, isReadOnly, taskWidthStyle, taskSt
64
66
  allTasks,
65
67
  onTaskClick,
66
68
  setIsReplacingTask,
67
- taskStateReference
69
+ taskStateReference,
70
+ labels.replaceTask
68
71
  ]);
69
72
  const generateDeleteTaskMenuItemForTask = useCallback((taskId)=>{
70
73
  if (!onTaskGroupModification) return;
@@ -76,10 +79,11 @@ const StageNodeAllTaskGroupsInner = ({ props, isReadOnly, taskWidthStyle, taskSt
76
79
  break;
77
80
  }
78
81
  if (void 0 === groupIndex || void 0 === taskIndex) return;
79
- return getMenuItem('remove-task', 'Delete task', ()=>onTaskGroupModification(GroupModificationType.REMOVE_TASK, groupIndex, taskIndex));
82
+ return getMenuItem('remove-task', labels.deleteTask, ()=>onTaskGroupModification(GroupModificationType.REMOVE_TASK, groupIndex, taskIndex));
80
83
  }, [
81
84
  allTasks,
82
- onTaskGroupModification
85
+ onTaskGroupModification,
86
+ labels.deleteTask
83
87
  ]);
84
88
  return /*#__PURE__*/ jsx(StageContent, {
85
89
  children: 0 === sequentialTaskGroups.length && 0 === adhocTaskGroups.length && 0 === eventDrivenTaskGroups.length ? /*#__PURE__*/ jsx(Column, {
@@ -30,8 +30,10 @@ const jsx_runtime_namespaceObject = require("react/jsx-runtime");
30
30
  const external_react_namespaceObject = require("react");
31
31
  const external_EventDrivenTask_cjs_namespaceObject = require("./EventDrivenTask.cjs");
32
32
  const external_StageNode_styles_cjs_namespaceObject = require("./StageNode.styles.cjs");
33
+ const external_useStageNodeLabels_cjs_namespaceObject = require("./useStageNodeLabels.cjs");
33
34
  const StageNodeEventDrivenTaskGroupsInner = ({ props, eventDrivenTasks, isReadOnly, selectedTaskId, marginTop, handleTaskClick, generateReplaceTaskMenuItemForTask, generateDeleteTaskMenuItemForTask })=>{
34
35
  const { execution, onTaskGroupModification, onReplaceTaskFromToolbox, loadingTaskIds } = props;
36
+ const labels = (0, external_useStageNodeLabels_cjs_namespaceObject.useStageNodeLabels)();
35
37
  const getEventDrivenContextMenuItems = (0, external_react_namespaceObject.useCallback)((taskId)=>{
36
38
  const items = [];
37
39
  const replaceTaskMenuItem = generateReplaceTaskMenuItemForTask(taskId, false);
@@ -52,7 +54,7 @@ const StageNodeEventDrivenTaskGroupsInner = ({ props, eventDrivenTasks, isReadOn
52
54
  /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_StageNode_styles_cjs_namespaceObject.StageAdditionalTasksHeaderSection, {
53
55
  children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
54
56
  className: "text-xs font-bold text-foreground-muted",
55
- children: "Event-driven tasks"
57
+ children: labels.eventDrivenTasks
56
58
  })
57
59
  }),
58
60
  /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_StageNode_styles_cjs_namespaceObject.StageTaskList, {
@@ -1 +1 @@
1
- {"version":3,"file":"StageNodeEventDrivenTaskGroups.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/StageNode/StageNodeEventDrivenTaskGroups.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOvD,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AA8ExE,eAAO,MAAM,8BAA8B,oMAnExC;IACD,KAAK,EAAE,cAAc,CAAC;IACtB,gBAAgB,EAAE,cAAc,EAAE,CAAC;IACnC,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,EAAE,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IACtE,kCAAkC,EAAE,CAClC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,OAAO,KAChB,YAAY,GAAG,SAAS,CAAC;IAC9B,iCAAiC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,YAAY,GAAG,SAAS,CAAC;CACjF,oDAuDsF,CAAC"}
1
+ {"version":3,"file":"StageNodeEventDrivenTaskGroups.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/StageNode/StageNodeEventDrivenTaskGroups.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOvD,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAgFxE,eAAO,MAAM,8BAA8B,oMApExC;IACD,KAAK,EAAE,cAAc,CAAC;IACtB,gBAAgB,EAAE,cAAc,EAAE,CAAC;IACnC,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,EAAE,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IACtE,kCAAkC,EAAE,CAClC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,OAAO,KAChB,YAAY,GAAG,SAAS,CAAC;IAC9B,iCAAiC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,YAAY,GAAG,SAAS,CAAC;CACjF,oDAwDsF,CAAC"}
@@ -2,8 +2,10 @@ import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { memo, useCallback } from "react";
3
3
  import { EventDrivenTaskItem } from "./EventDrivenTask.js";
4
4
  import { StageAdditionalTasksHeaderSection, StageAdditionalTasksSection, StageTaskList } from "./StageNode.styles.js";
5
+ import { useStageNodeLabels } from "./useStageNodeLabels.js";
5
6
  const StageNodeEventDrivenTaskGroupsInner = ({ props, eventDrivenTasks, isReadOnly, selectedTaskId, marginTop, handleTaskClick, generateReplaceTaskMenuItemForTask, generateDeleteTaskMenuItemForTask })=>{
6
7
  const { execution, onTaskGroupModification, onReplaceTaskFromToolbox, loadingTaskIds } = props;
8
+ const labels = useStageNodeLabels();
7
9
  const getEventDrivenContextMenuItems = useCallback((taskId)=>{
8
10
  const items = [];
9
11
  const replaceTaskMenuItem = generateReplaceTaskMenuItemForTask(taskId, false);
@@ -24,7 +26,7 @@ const StageNodeEventDrivenTaskGroupsInner = ({ props, eventDrivenTasks, isReadOn
24
26
  /*#__PURE__*/ jsx(StageAdditionalTasksHeaderSection, {
25
27
  children: /*#__PURE__*/ jsx("span", {
26
28
  className: "text-xs font-bold text-foreground-muted",
27
- children: "Event-driven tasks"
29
+ children: labels.eventDrivenTasks
28
30
  })
29
31
  }),
30
32
  /*#__PURE__*/ jsx(StageTaskList, {
@@ -38,6 +38,18 @@ const external_ExecutionStatusIcon_index_cjs_namespaceObject = require("../Execu
38
38
  const ExecutionStatusIcon_cjs_namespaceObject = require("../ExecutionStatusIcon/ExecutionStatusIcon.cjs");
39
39
  const external_StageNode_styles_cjs_namespaceObject = require("./StageNode.styles.cjs");
40
40
  const external_StageNode_types_cjs_namespaceObject = require("./StageNode.types.cjs");
41
+ const external_StageTitleInput_cjs_namespaceObject = require("./StageTitleInput.cjs");
42
+ const external_useStageNodeLabels_cjs_namespaceObject = require("./useStageNodeLabels.cjs");
43
+ const SLA_ICON_CONFIG = {
44
+ warning: {
45
+ icon: 'triangle-alert',
46
+ iconColor: 'var(--canvas-warning-icon)'
47
+ },
48
+ error: {
49
+ icon: 'circle-alert',
50
+ iconColor: 'var(--canvas-error-icon)'
51
+ }
52
+ };
41
53
  const CHIP_ICONS = {
42
54
  [external_StageNode_types_cjs_namespaceObject.StageHeaderChipType.Entry]: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_icons_index_cjs_namespaceObject.EntryConditionIcon, {
43
55
  w: apollo_core_namespaceObject.Icon.IconXs,
@@ -61,183 +73,126 @@ const CHIP_ICONS = {
61
73
  })
62
74
  };
63
75
  const StageNodeHeaderInner = ({ props, isReadOnly, isException, status, handleTaskAddClick })=>{
64
- const { id, stageDetails, execution, addTaskLabel = 'Add task', onTaskAdd, onAddTaskFromToolbox, onStageTitleChange, loadingTaskIds } = props;
76
+ const labels = (0, external_useStageNodeLabels_cjs_namespaceObject.useStageNodeLabels)();
77
+ const { id, stageDetails, execution, onTaskAdd, onAddTaskFromToolbox, onStageTitleChange, loadingTaskIds } = props;
65
78
  const isAddTaskDisabled = (loadingTaskIds?.size ?? 0) > 0;
66
79
  const icon = stageDetails?.icon;
67
80
  const statusLabel = execution?.stageStatus?.label;
68
81
  const stageDuration = execution?.stageStatus?.duration;
69
- const isStageTitleEditable = !!onStageTitleChange && !isReadOnly;
70
- const [isStageTitleEditing, setIsStageTitleEditing] = (0, external_react_namespaceObject.useState)(false);
71
- const stageTitleRef = (0, external_react_namespaceObject.useRef)(null);
72
- const [label, setLabel] = (0, external_react_namespaceObject.useState)(props.stageDetails.label);
73
- (0, external_react_namespaceObject.useEffect)(()=>{
74
- setLabel(props.stageDetails.label);
75
- }, [
76
- props.stageDetails.label
77
- ]);
78
- const handleStageTitleChange = (0, external_react_namespaceObject.useCallback)((e)=>{
79
- setIsStageTitleEditing(true);
80
- setLabel(e.target.value);
81
- }, []);
82
- const handleStageTitleClickToSave = (0, external_react_namespaceObject.useCallback)((e)=>{
83
- if (isStageTitleEditing && !stageTitleRef.current?.contains(e.target)) {
84
- setIsStageTitleEditing(false);
85
- if (onStageTitleChange) {
86
- if ('' === label.trim()) setLabel('Untitled Stage');
87
- onStageTitleChange(label);
88
- }
89
- }
90
- }, [
91
- isStageTitleEditing,
92
- onStageTitleChange,
93
- label
94
- ]);
95
- (0, external_react_namespaceObject.useEffect)(()=>{
96
- if (isStageTitleEditing) document.addEventListener('click', handleStageTitleClickToSave);
97
- return ()=>{
98
- document.removeEventListener('click', handleStageTitleClickToSave);
99
- };
100
- }, [
101
- handleStageTitleClickToSave,
102
- isStageTitleEditing
103
- ]);
104
- const handleStageTitleBlurToSave = (0, external_react_namespaceObject.useCallback)(()=>{
105
- if (isStageTitleEditing) {
106
- setIsStageTitleEditing(false);
107
- if (onStageTitleChange) {
108
- if ('' === label.trim()) setLabel('Untitled Stage');
109
- onStageTitleChange(label);
110
- }
111
- }
112
- }, [
113
- isStageTitleEditing,
114
- onStageTitleChange,
115
- label
116
- ]);
117
- const handleStageTitleKeyDown = (0, external_react_namespaceObject.useCallback)((e)=>{
118
- if ('Enter' === e.key) {
119
- setIsStageTitleEditing(false);
120
- if (onStageTitleChange) onStageTitleChange(label);
121
- }
122
- if ('Escape' !== e.key) e.stopPropagation();
123
- }, [
124
- onStageTitleChange,
125
- label
126
- ]);
82
+ const slaText = execution?.stageStatus?.slaText;
83
+ const slaIcon = execution?.stageStatus?.slaIcon;
84
+ const slaIndicator = slaIcon ? SLA_ICON_CONFIG[slaIcon] : void 0;
127
85
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(external_StageNode_styles_cjs_namespaceObject.StageHeader, {
128
86
  isException: isException,
129
87
  "data-testid": `stage-header-${id}`,
130
88
  children: [
131
- /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(index_cjs_namespaceObject.Row, {
132
- gap: apollo_core_namespaceObject.Spacing.SpacingMicro,
133
- align: "center",
134
- flex: 1,
135
- minW: 0,
89
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
90
+ className: "flex items-start justify-between gap-1",
136
91
  children: [
137
- icon,
138
- /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(index_cjs_namespaceObject.Column, {
139
- py: 2,
92
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(index_cjs_namespaceObject.Row, {
93
+ gap: apollo_core_namespaceObject.Spacing.SpacingMicro,
94
+ align: "center",
140
95
  flex: 1,
141
96
  minW: 0,
142
97
  children: [
143
- /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
144
- className: (0, apollo_wind_namespaceObject.cn)('text-sm', !isStageTitleEditing && 'font-bold'),
145
- children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_CanvasTooltip_cjs_namespaceObject.CanvasTooltip, {
146
- content: label,
147
- placement: "top",
148
- delay: true,
149
- children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_StageNode_styles_cjs_namespaceObject.StageTitleContainer, {
150
- isEditing: isStageTitleEditing,
151
- children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_StageNode_styles_cjs_namespaceObject.StageTitleInput, {
152
- name: "Stage Title",
153
- isStageTitleEditable: isStageTitleEditable,
154
- value: label,
155
- ref: stageTitleRef,
156
- isEditing: isStageTitleEditing,
157
- ...onStageTitleChange && {
158
- onFocus: ()=>setIsStageTitleEditing(true),
159
- onInput: handleStageTitleChange,
160
- onKeyDown: handleStageTitleKeyDown,
161
- onBlur: handleStageTitleBlurToSave
162
- },
163
- readOnly: !isStageTitleEditable
164
- })
98
+ icon,
99
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_StageTitleInput_cjs_namespaceObject.StageTitleInput, {
100
+ label: stageDetails.label,
101
+ onChange: isReadOnly ? void 0 : onStageTitleChange,
102
+ className: "flex-1 min-w-0"
103
+ })
104
+ ]
105
+ }),
106
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(index_cjs_namespaceObject.Row, {
107
+ gap: apollo_core_namespaceObject.Spacing.SpacingMicro,
108
+ align: "start",
109
+ py: apollo_core_namespaceObject.Padding.PadS,
110
+ children: [
111
+ status && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_CanvasTooltip_cjs_namespaceObject.CanvasTooltip, {
112
+ content: statusLabel,
113
+ placement: "top",
114
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(apollo_wind_namespaceObject.Button, {
115
+ variant: "ghost",
116
+ size: "icon",
117
+ className: "h-6 w-6",
118
+ "aria-label": statusLabel,
119
+ children: 'NotExecuted' === status ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(icon_registry_cjs_namespaceObject.CanvasIcon, {
120
+ icon: "hourglass",
121
+ size: 20,
122
+ color: (0, ExecutionStatusIcon_cjs_namespaceObject.getExecutionStatusColor)('NotExecuted')
123
+ }) : /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_ExecutionStatusIcon_index_cjs_namespaceObject.ExecutionStatusIcon, {
124
+ status: status,
125
+ size: 20
165
126
  })
166
127
  })
167
128
  }),
168
- stageDuration && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
169
- className: "text-xs text-foreground-muted",
170
- children: stageDuration
171
- }),
172
- stageDetails.headerChips && stageDetails.headerChips.length > 0 && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_StageNode_styles_cjs_namespaceObject.StageHeaderChipsRow, {
173
- children: stageDetails.headerChips.map((chip)=>{
174
- const button = /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(external_StageNode_styles_cjs_namespaceObject.StageChip, {
175
- type: "button",
176
- "aria-label": 'string' == typeof chip.tooltip ? chip.tooltip : chip.type,
177
- onClick: (e)=>{
178
- e.stopPropagation();
179
- chip.onClick?.();
180
- },
181
- children: [
182
- CHIP_ICONS[chip.type],
183
- void 0 !== chip.count && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
184
- className: "text-xs",
185
- children: chip.count
186
- })
187
- ]
188
- }, chip.type);
189
- if (chip.tooltip) return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_CanvasTooltip_cjs_namespaceObject.CanvasTooltip, {
190
- placement: "bottom",
191
- content: chip.tooltip,
192
- children: button
193
- }, chip.type);
194
- return button;
129
+ (onTaskAdd || onAddTaskFromToolbox) && !isReadOnly && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_CanvasTooltip_cjs_namespaceObject.CanvasTooltip, {
130
+ content: labels.addTask,
131
+ placement: "top",
132
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(apollo_wind_namespaceObject.Button, {
133
+ variant: "ghost",
134
+ size: "icon",
135
+ className: "h-6 w-6",
136
+ onClick: handleTaskAddClick,
137
+ "aria-label": labels.addTask,
138
+ disabled: isAddTaskDisabled,
139
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(icon_registry_cjs_namespaceObject.CanvasIcon, {
140
+ icon: "plus",
141
+ size: 20
142
+ })
195
143
  })
196
144
  })
197
145
  ]
198
146
  })
199
147
  ]
200
148
  }),
201
- /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(index_cjs_namespaceObject.Row, {
202
- gap: apollo_core_namespaceObject.Spacing.SpacingMicro,
203
- align: "start",
204
- py: apollo_core_namespaceObject.Padding.PadS,
149
+ (slaText || stageDetails.headerChips && stageDetails.headerChips.length > 0) && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
150
+ className: "mt-1 flex flex-wrap items-center justify-between gap-2",
205
151
  children: [
206
- status && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_CanvasTooltip_cjs_namespaceObject.CanvasTooltip, {
207
- content: statusLabel,
208
- placement: "top",
209
- children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(apollo_wind_namespaceObject.Button, {
210
- variant: "ghost",
211
- size: "icon",
212
- className: "h-6 w-6",
213
- "aria-label": statusLabel,
214
- children: 'NotExecuted' === status ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(icon_registry_cjs_namespaceObject.CanvasIcon, {
215
- icon: "hourglass",
216
- size: 20,
217
- color: (0, ExecutionStatusIcon_cjs_namespaceObject.getExecutionStatusColor)('NotExecuted')
218
- }) : /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_ExecutionStatusIcon_index_cjs_namespaceObject.ExecutionStatusIcon, {
219
- status: status,
220
- size: 20
221
- })
222
- })
152
+ slaText && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("span", {
153
+ className: "inline-flex items-center gap-1 text-xs text-foreground-muted",
154
+ "data-testid": `stage-sla-${id}`,
155
+ "data-sla-icon": slaIcon,
156
+ children: [
157
+ slaIndicator && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(icon_registry_cjs_namespaceObject.CanvasIcon, {
158
+ icon: slaIndicator.icon,
159
+ size: 16,
160
+ color: slaIndicator.iconColor
161
+ }),
162
+ slaText
163
+ ]
223
164
  }),
224
- (onTaskAdd || onAddTaskFromToolbox) && !isReadOnly && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_CanvasTooltip_cjs_namespaceObject.CanvasTooltip, {
225
- content: addTaskLabel,
226
- placement: "top",
227
- children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(apollo_wind_namespaceObject.Button, {
228
- variant: "ghost",
229
- size: "icon",
230
- className: "h-6 w-6",
231
- onClick: handleTaskAddClick,
232
- "aria-label": addTaskLabel,
233
- disabled: isAddTaskDisabled,
234
- children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(icon_registry_cjs_namespaceObject.CanvasIcon, {
235
- icon: "plus",
236
- size: 20
237
- })
165
+ stageDetails.headerChips && stageDetails.headerChips.length > 0 && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
166
+ className: "flex flex-wrap items-center gap-1",
167
+ children: stageDetails.headerChips.map((chip)=>{
168
+ const button = /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(external_StageNode_styles_cjs_namespaceObject.StageChip, {
169
+ type: "button",
170
+ "aria-label": 'string' == typeof chip.tooltip ? chip.tooltip : chip.type,
171
+ onClick: (e)=>{
172
+ e.stopPropagation();
173
+ chip.onClick?.();
174
+ },
175
+ children: [
176
+ CHIP_ICONS[chip.type],
177
+ void 0 !== chip.count && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
178
+ className: "text-xs",
179
+ children: chip.count
180
+ })
181
+ ]
182
+ }, chip.type);
183
+ if (chip.tooltip) return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_CanvasTooltip_cjs_namespaceObject.CanvasTooltip, {
184
+ placement: "bottom",
185
+ content: chip.tooltip,
186
+ children: button
187
+ }, chip.type);
188
+ return button;
238
189
  })
239
190
  })
240
191
  ]
192
+ }),
193
+ stageDuration && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
194
+ className: "mt-1 text-xs text-foreground-muted",
195
+ children: stageDuration
241
196
  })
242
197
  ]
243
198
  });
@@ -1 +1 @@
1
- {"version":3,"file":"StageNodeHeader.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/StageNode/StageNodeHeader.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAoMrE,eAAO,MAAM,eAAe,wGAnLzB;IACD,KAAK,EAAE,cAAc,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,kBAAkB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;CACvD,6CA6KwD,CAAC"}
1
+ {"version":3,"file":"StageNodeHeader.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/StageNode/StageNodeHeader.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAgB,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAqJnF,eAAO,MAAM,eAAe,wGAvHzB;IACD,KAAK,EAAE,cAAc,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,kBAAkB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;CACvD,6CAiHwD,CAAC"}