@uipath/apollo-react 4.6.3 → 4.8.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 (80) hide show
  1. package/dist/canvas/components/AgentCanvas/nodes/AgentNode.cjs +0 -4
  2. package/dist/canvas/components/AgentCanvas/nodes/AgentNode.d.ts.map +1 -1
  3. package/dist/canvas/components/AgentCanvas/nodes/AgentNode.js +0 -4
  4. package/dist/canvas/components/AgentCanvas/nodes/ResourceNode.cjs +5 -10
  5. package/dist/canvas/components/AgentCanvas/nodes/ResourceNode.d.ts.map +1 -1
  6. package/dist/canvas/components/AgentCanvas/nodes/ResourceNode.js +5 -10
  7. package/dist/canvas/components/BaseNode/BaseNode.cjs +93 -86
  8. package/dist/canvas/components/BaseNode/BaseNode.d.ts.map +1 -1
  9. package/dist/canvas/components/BaseNode/BaseNode.js +88 -81
  10. package/dist/canvas/components/BaseNode/BaseNodeBadgeSlot.cjs +68 -0
  11. package/dist/canvas/components/BaseNode/BaseNodeBadgeSlot.d.ts +9 -0
  12. package/dist/canvas/components/BaseNode/BaseNodeBadgeSlot.d.ts.map +1 -0
  13. package/dist/canvas/components/BaseNode/BaseNodeBadgeSlot.js +34 -0
  14. package/dist/canvas/components/BaseNode/BaseNodeConfigContext.d.ts +2 -1
  15. package/dist/canvas/components/BaseNode/BaseNodeConfigContext.d.ts.map +1 -1
  16. package/dist/canvas/components/BaseNode/BaseNodeContainer.cjs +88 -0
  17. package/dist/canvas/components/BaseNode/BaseNodeContainer.d.ts +21 -0
  18. package/dist/canvas/components/BaseNode/BaseNodeContainer.d.ts.map +1 -0
  19. package/dist/canvas/components/BaseNode/BaseNodeContainer.js +51 -0
  20. package/dist/canvas/components/BaseNode/BaseNodeInnerShape.cjs +49 -0
  21. package/dist/canvas/components/BaseNode/BaseNodeInnerShape.d.ts +9 -0
  22. package/dist/canvas/components/BaseNode/BaseNodeInnerShape.d.ts.map +1 -0
  23. package/dist/canvas/components/BaseNode/BaseNodeInnerShape.js +15 -0
  24. package/dist/canvas/components/BaseNode/BaseNodeMissingManifest.cjs +62 -0
  25. package/dist/canvas/components/BaseNode/BaseNodeMissingManifest.d.ts +9 -0
  26. package/dist/canvas/components/BaseNode/BaseNodeMissingManifest.d.ts.map +1 -0
  27. package/dist/canvas/components/BaseNode/BaseNodeMissingManifest.js +28 -0
  28. package/dist/canvas/components/BaseNode/NodeLabel.cjs +64 -18
  29. package/dist/canvas/components/BaseNode/NodeLabel.d.ts +8 -1
  30. package/dist/canvas/components/BaseNode/NodeLabel.d.ts.map +1 -1
  31. package/dist/canvas/components/BaseNode/NodeLabel.js +58 -15
  32. package/dist/canvas/components/ButtonHandle/ButtonHandle.cjs +75 -128
  33. package/dist/canvas/components/ButtonHandle/ButtonHandle.d.ts +6 -5
  34. package/dist/canvas/components/ButtonHandle/ButtonHandle.d.ts.map +1 -1
  35. package/dist/canvas/components/ButtonHandle/ButtonHandle.js +77 -130
  36. package/dist/canvas/components/ButtonHandle/ButtonHandleStyleUtils.cjs +4 -7
  37. package/dist/canvas/components/ButtonHandle/ButtonHandleStyleUtils.d.ts.map +1 -1
  38. package/dist/canvas/components/ButtonHandle/ButtonHandleStyleUtils.js +4 -7
  39. package/dist/canvas/components/ButtonHandle/HandleButton.cjs +152 -0
  40. package/dist/canvas/components/ButtonHandle/HandleButton.d.ts +16 -0
  41. package/dist/canvas/components/ButtonHandle/HandleButton.d.ts.map +1 -0
  42. package/dist/canvas/components/ButtonHandle/HandleButton.js +115 -0
  43. package/dist/canvas/components/ButtonHandle/HandleLabel.cjs +62 -0
  44. package/dist/canvas/components/ButtonHandle/HandleLabel.d.ts +9 -0
  45. package/dist/canvas/components/ButtonHandle/HandleLabel.d.ts.map +1 -0
  46. package/dist/canvas/components/ButtonHandle/HandleLabel.js +28 -0
  47. package/dist/canvas/components/ButtonHandle/HandleNotch.cjs +53 -0
  48. package/dist/canvas/components/ButtonHandle/HandleNotch.d.ts +9 -0
  49. package/dist/canvas/components/ButtonHandle/HandleNotch.d.ts.map +1 -0
  50. package/dist/canvas/components/ButtonHandle/HandleNotch.js +19 -0
  51. package/dist/canvas/components/ButtonHandle/SmartHandle.cjs +28 -91
  52. package/dist/canvas/components/ButtonHandle/SmartHandle.d.ts +1 -2
  53. package/dist/canvas/components/ButtonHandle/SmartHandle.d.ts.map +1 -1
  54. package/dist/canvas/components/ButtonHandle/SmartHandle.js +29 -92
  55. package/dist/canvas/components/ButtonHandle/useButtonHandles.cjs +5 -4
  56. package/dist/canvas/components/ButtonHandle/useButtonHandles.d.ts +4 -2
  57. package/dist/canvas/components/ButtonHandle/useButtonHandles.d.ts.map +1 -1
  58. package/dist/canvas/components/ButtonHandle/useButtonHandles.js +5 -4
  59. package/dist/canvas/components/CodedAgent/CodedAgentFlow.cjs +4 -4
  60. package/dist/canvas/components/CodedAgent/CodedAgentFlow.js +4 -4
  61. package/dist/canvas/constants.cjs +64 -0
  62. package/dist/canvas/constants.d.ts +16 -0
  63. package/dist/canvas/constants.d.ts.map +1 -1
  64. package/dist/canvas/constants.js +17 -1
  65. package/dist/canvas/index.cjs +39 -35
  66. package/dist/canvas/index.d.ts +1 -0
  67. package/dist/canvas/index.d.ts.map +1 -1
  68. package/dist/canvas/index.js +1 -0
  69. package/dist/canvas/storybook-utils/manifests/node-definitions.d.ts.map +1 -1
  70. package/dist/canvas/styles/reactflow-reset.css +12 -0
  71. package/dist/canvas/styles/tailwind.canvas.css +1 -1
  72. package/package.json +2 -2
  73. package/dist/canvas/components/BaseNode/BaseNode.styles.cjs +0 -410
  74. package/dist/canvas/components/BaseNode/BaseNode.styles.d.ts +0 -75
  75. package/dist/canvas/components/BaseNode/BaseNode.styles.d.ts.map +0 -1
  76. package/dist/canvas/components/BaseNode/BaseNode.styles.js +0 -342
  77. package/dist/canvas/components/ButtonHandle/ButtonHandle.styles.cjs +0 -220
  78. package/dist/canvas/components/ButtonHandle/ButtonHandle.styles.d.ts +0 -46
  79. package/dist/canvas/components/ButtonHandle/ButtonHandle.styles.d.ts.map +0 -1
  80. package/dist/canvas/components/ButtonHandle/ButtonHandle.styles.js +0 -161
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ MissingManifestNode: ()=>MissingManifestNode
28
+ });
29
+ const jsx_runtime_namespaceObject = require("react/jsx-runtime");
30
+ const external_constants_cjs_namespaceObject = require("../../constants.cjs");
31
+ const index_cjs_namespaceObject = require("../../utils/index.cjs");
32
+ const external_BaseNodeContainer_cjs_namespaceObject = require("./BaseNodeContainer.cjs");
33
+ const external_BaseNodeInnerShape_cjs_namespaceObject = require("./BaseNodeInnerShape.cjs");
34
+ const external_NodeLabel_cjs_namespaceObject = require("./NodeLabel.cjs");
35
+ const MissingManifestNode = ({ type, isSelected, isHovered, interactionState })=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(external_BaseNodeContainer_cjs_namespaceObject.BaseContainer, {
36
+ shape: "square",
37
+ isSelected: isSelected,
38
+ isHovered: isHovered,
39
+ interactionState: interactionState,
40
+ children: [
41
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_BaseNodeInnerShape_cjs_namespaceObject.BaseInnerShape, {
42
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.CanvasIcon, {
43
+ icon: "circle-alert",
44
+ size: external_constants_cjs_namespaceObject.NODE_ERROR_ICON_SIZE,
45
+ color: "var(--color-error-icon)"
46
+ })
47
+ }),
48
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_NodeLabel_cjs_namespaceObject.NodeLabel, {
49
+ label: "Manifest Undefined",
50
+ subLabel: type,
51
+ shape: "square",
52
+ readonly: true
53
+ })
54
+ ]
55
+ });
56
+ exports.MissingManifestNode = __webpack_exports__.MissingManifestNode;
57
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
58
+ "MissingManifestNode"
59
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
60
+ Object.defineProperty(exports, '__esModule', {
61
+ value: true
62
+ });
@@ -0,0 +1,9 @@
1
+ interface MissingManifestNodeProps {
2
+ type?: string;
3
+ isSelected?: boolean;
4
+ isHovered?: boolean;
5
+ interactionState?: string;
6
+ }
7
+ export declare const MissingManifestNode: ({ type, isSelected, isHovered, interactionState, }: MissingManifestNodeProps) => import("react/jsx-runtime").JSX.Element;
8
+ export {};
9
+ //# sourceMappingURL=BaseNodeMissingManifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseNodeMissingManifest.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/BaseNode/BaseNodeMissingManifest.tsx"],"names":[],"mappings":"AAMA,UAAU,wBAAwB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,mBAAmB,GAAI,oDAKjC,wBAAwB,4CAY1B,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { NODE_ERROR_ICON_SIZE } from "../../constants.js";
3
+ import { CanvasIcon } from "../../utils/index.js";
4
+ import { BaseContainer } from "./BaseNodeContainer.js";
5
+ import { BaseInnerShape } from "./BaseNodeInnerShape.js";
6
+ import { NodeLabel } from "./NodeLabel.js";
7
+ const MissingManifestNode = ({ type, isSelected, isHovered, interactionState })=>/*#__PURE__*/ jsxs(BaseContainer, {
8
+ shape: "square",
9
+ isSelected: isSelected,
10
+ isHovered: isHovered,
11
+ interactionState: interactionState,
12
+ children: [
13
+ /*#__PURE__*/ jsx(BaseInnerShape, {
14
+ children: /*#__PURE__*/ jsx(CanvasIcon, {
15
+ icon: "circle-alert",
16
+ size: NODE_ERROR_ICON_SIZE,
17
+ color: "var(--color-error-icon)"
18
+ })
19
+ }),
20
+ /*#__PURE__*/ jsx(NodeLabel, {
21
+ label: "Manifest Undefined",
22
+ subLabel: type,
23
+ shape: "square",
24
+ readonly: true
25
+ })
26
+ ]
27
+ });
28
+ export { MissingManifestNode };
@@ -24,12 +24,27 @@ var __webpack_require__ = {};
24
24
  var __webpack_exports__ = {};
25
25
  __webpack_require__.r(__webpack_exports__);
26
26
  __webpack_require__.d(__webpack_exports__, {
27
+ BaseTextContainer: ()=>BaseTextContainer,
27
28
  NodeLabel: ()=>NodeLabel
28
29
  });
29
30
  const jsx_runtime_namespaceObject = require("react/jsx-runtime");
30
31
  const external_react_namespaceObject = require("react");
32
+ const external_constants_cjs_namespaceObject = require("../../constants.cjs");
33
+ const CssUtil_cjs_namespaceObject = require("../../utils/CssUtil.cjs");
31
34
  const external_CanvasTooltip_cjs_namespaceObject = require("../CanvasTooltip.cjs");
32
- const external_BaseNode_styles_cjs_namespaceObject = require("./BaseNode.styles.cjs");
35
+ const BaseTextContainer = ({ hasBottomHandles, shape, children })=>{
36
+ if ('rectangle' === shape) return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
37
+ className: "flex flex-1 min-w-0 flex-col items-start text-left",
38
+ children: children
39
+ });
40
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
41
+ className: (0, CssUtil_cjs_namespaceObject.cx)('absolute left-1/2 w-[150%] flex flex-col z-10 transition-transform duration-200', hasBottomHandles ? 'items-start text-left translate-x-[20%] translate-y-1/2' : 'items-center text-center -translate-x-1/2 translate-y-full'),
42
+ style: {
43
+ bottom: hasBottomHandles ? external_constants_cjs_namespaceObject.NODE_TEXT_BOTTOM_OFFSET_WITH_HANDLES : external_constants_cjs_namespaceObject.NODE_TEXT_BOTTOM_OFFSET
44
+ },
45
+ children: children
46
+ });
47
+ };
33
48
  const ConditionalTooltip = ({ content, children })=>{
34
49
  if (!content) return children;
35
50
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_CanvasTooltip_cjs_namespaceObject.CanvasTooltip, {
@@ -40,6 +55,43 @@ const ConditionalTooltip = ({ content, children })=>{
40
55
  children: children
41
56
  });
42
57
  };
58
+ const Header = ({ shape, backgroundColor, onDoubleClick, children, 'data-testid': dataTestId })=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
59
+ "data-testid": dataTestId,
60
+ onDoubleClick: onDoubleClick,
61
+ className: (0, CssUtil_cjs_namespaceObject.cx)('text-center text-sm leading-[18px] font-semibold text-foreground overflow-hidden', backgroundColor && 'px-1.5 py-0.5 rounded-sm', 'rectangle' === shape ? 'w-full text-left whitespace-nowrap text-ellipsis' : 'wrap-break-word line-clamp-3'),
62
+ style: backgroundColor ? {
63
+ backgroundColor
64
+ } : void 0,
65
+ children: children
66
+ });
67
+ const SubHeader = ({ shape, onDoubleClick, children, 'data-testid': dataTestId })=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
68
+ "data-testid": dataTestId,
69
+ onDoubleClick: onDoubleClick,
70
+ className: (0, CssUtil_cjs_namespaceObject.cx)('text-center text-xs leading-[18px] text-foreground-muted wrap-break-word overflow-hidden', 'rectangle' === shape ? 'w-full text-left line-clamp-2' : 'line-clamp-5'),
71
+ children: children
72
+ });
73
+ const EditableLabel = /*#__PURE__*/ (0, external_react_namespaceObject.forwardRef)(({ shape, backgroundColor, variant, value, placeholder, rows, onChange, onKeyDown, onBlur, 'aria-label': ariaLabel }, ref)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("textarea", {
74
+ ref: ref,
75
+ value: value,
76
+ placeholder: placeholder,
77
+ rows: rows,
78
+ "aria-label": ariaLabel,
79
+ onChange: onChange,
80
+ onKeyDown: onKeyDown,
81
+ onBlur: onBlur,
82
+ className: (0, CssUtil_cjs_namespaceObject.cx)('nodrag nowheel resize-none font-[inherit] text-foreground border-none rounded-sm outline-1 outline-dashed outline-border-de-emp max-w-full', 'subtext' === variant ? 'text-xs leading-[18px] font-normal mb-0' : 'text-sm leading-[18px] font-semibold mb-0.5', 'rectangle' === shape ? 'field-sizing-fixed w-full' : 'field-sizing-content text-center', backgroundColor && 'px-1.5 py-0.5'),
83
+ style: backgroundColor ? {
84
+ backgroundColor
85
+ } : void 0
86
+ }));
87
+ EditableLabel.displayName = 'EditableLabel';
88
+ const EmptyLabelPlaceholder = ({ onDoubleClick })=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("button", {
89
+ type: "button",
90
+ onDoubleClick: onDoubleClick,
91
+ className: "nodrag nowheel text-sm leading-[18px] font-semibold text-foreground-muted bg-transparent border border-dashed border-border-de-emp rounded-sm cursor-pointer opacity-0 transition-opacity duration-200 min-w-5 min-h-5 hover:opacity-100",
92
+ "aria-label": "Add node label",
93
+ "data-testid": "empty-label-placeholder"
94
+ });
43
95
  const NodeLabelInternal = ({ label = '', subLabel = '', labelTooltip, labelBackgroundColor, shape, hasBottomHandles, selected, dragging, centerAdornment, readonly, onChange })=>{
44
96
  const [isEditing, setIsEditing] = (0, external_react_namespaceObject.useState)(false);
45
97
  const [localLabel, setLocalLabel] = (0, external_react_namespaceObject.useState)('');
@@ -50,7 +102,7 @@ const NodeLabelInternal = ({ label = '', subLabel = '', labelTooltip, labelBackg
50
102
  const handleSave = (0, external_react_namespaceObject.useCallback)(()=>{
51
103
  setIsEditing(false);
52
104
  setFocusTarget(null);
53
- if (localLabel !== label || localSubLabel !== subLabel) onChange({
105
+ if (localLabel !== label || localSubLabel !== subLabel) onChange?.({
54
106
  label: localLabel,
55
107
  subLabel: localSubLabel
56
108
  });
@@ -124,27 +176,23 @@ const NodeLabelInternal = ({ label = '', subLabel = '', labelTooltip, labelBackg
124
176
  }, [
125
177
  handleSave
126
178
  ]);
127
- if (!label && !subLabel && !isEditing) return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(external_BaseNode_styles_cjs_namespaceObject.BaseTextContainer, {
179
+ if (!label && !subLabel && !isEditing) return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(BaseTextContainer, {
128
180
  hasBottomHandles: hasBottomHandles,
129
181
  shape: shape,
130
182
  children: [
131
- /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_BaseNode_styles_cjs_namespaceObject.EmptyLabelPlaceholder, {
132
- onDoubleClick: readonly ? void 0 : handleDoubleClick(labelInputRef),
133
- className: "nodrag nowheel",
134
- role: "button",
135
- "aria-label": "Add node label",
136
- "data-testid": "empty-label-placeholder"
183
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(EmptyLabelPlaceholder, {
184
+ onDoubleClick: readonly ? void 0 : handleDoubleClick(labelInputRef)
137
185
  }),
138
186
  centerAdornment
139
187
  ]
140
188
  });
141
- return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(external_BaseNode_styles_cjs_namespaceObject.BaseTextContainer, {
189
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(BaseTextContainer, {
142
190
  hasBottomHandles: hasBottomHandles,
143
191
  shape: shape,
144
192
  children: [
145
193
  isEditing ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment, {
146
194
  children: [
147
- /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_BaseNode_styles_cjs_namespaceObject.EditableLabel, {
195
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(EditableLabel, {
148
196
  ref: labelInputRef,
149
197
  value: localLabel,
150
198
  onChange: (e)=>setLocalLabel(e.target.value),
@@ -153,13 +201,11 @@ const NodeLabelInternal = ({ label = '', subLabel = '', labelTooltip, labelBackg
153
201
  shape: shape,
154
202
  variant: "normal",
155
203
  backgroundColor: labelBackgroundColor,
156
- className: "nodrag nowheel",
157
204
  placeholder: "Name",
158
205
  rows: 'rectangle' === shape ? 1 : void 0,
159
- role: "textbox",
160
206
  "aria-label": "Edit node name"
161
207
  }),
162
- /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_BaseNode_styles_cjs_namespaceObject.EditableLabel, {
208
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(EditableLabel, {
163
209
  ref: subLabelInputRef,
164
210
  value: localSubLabel,
165
211
  onChange: (e)=>setLocalSubLabel(e.target.value),
@@ -167,24 +213,22 @@ const NodeLabelInternal = ({ label = '', subLabel = '', labelTooltip, labelBackg
167
213
  onBlur: handleBlur,
168
214
  shape: shape,
169
215
  variant: "subtext",
170
- className: "nodrag nowheel",
171
216
  placeholder: "Description",
172
217
  rows: 'rectangle' === shape ? 2 : void 0,
173
- role: "textbox",
174
218
  "aria-label": "Edit node description"
175
219
  })
176
220
  ]
177
221
  }) : /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(ConditionalTooltip, {
178
222
  content: labelTooltip,
179
223
  children: [
180
- /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_BaseNode_styles_cjs_namespaceObject.BaseHeader, {
224
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(Header, {
181
225
  shape: shape,
182
226
  backgroundColor: labelBackgroundColor,
183
227
  onDoubleClick: readonly ? void 0 : handleDoubleClick(labelInputRef),
184
228
  "data-testid": "node-label",
185
229
  children: label
186
230
  }),
187
- subLabel && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_BaseNode_styles_cjs_namespaceObject.BaseSubHeader, {
231
+ subLabel && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(SubHeader, {
188
232
  shape: shape,
189
233
  onDoubleClick: readonly ? void 0 : handleDoubleClick(subLabelInputRef),
190
234
  "data-testid": "node-sublabel",
@@ -197,8 +241,10 @@ const NodeLabelInternal = ({ label = '', subLabel = '', labelTooltip, labelBackg
197
241
  });
198
242
  };
199
243
  const NodeLabel = /*#__PURE__*/ (0, external_react_namespaceObject.memo)(NodeLabelInternal);
244
+ exports.BaseTextContainer = __webpack_exports__.BaseTextContainer;
200
245
  exports.NodeLabel = __webpack_exports__.NodeLabel;
201
246
  for(var __rspack_i in __webpack_exports__)if (-1 === [
247
+ "BaseTextContainer",
202
248
  "NodeLabel"
203
249
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
204
250
  Object.defineProperty(exports, '__esModule', {
@@ -1,4 +1,10 @@
1
1
  import type { NodeShape } from '../../schema';
2
+ interface BaseTextContainerProps {
3
+ hasBottomHandles?: boolean;
4
+ shape?: NodeShape;
5
+ children: React.ReactNode;
6
+ }
7
+ export declare const BaseTextContainer: ({ hasBottomHandles, shape, children, }: BaseTextContainerProps) => import("react/jsx-runtime").JSX.Element;
2
8
  export interface NodeLabelProps {
3
9
  label?: string;
4
10
  subLabel?: string;
@@ -10,10 +16,11 @@ export interface NodeLabelProps {
10
16
  dragging?: boolean;
11
17
  centerAdornment?: React.ReactNode;
12
18
  readonly?: boolean;
13
- onChange: (values: {
19
+ onChange?: (values: {
14
20
  label: string;
15
21
  subLabel: string;
16
22
  }) => void;
17
23
  }
18
24
  export declare const NodeLabel: import("react").MemoExoticComponent<({ label, subLabel, labelTooltip, labelBackgroundColor, shape, hasBottomHandles, selected, dragging, centerAdornment, readonly, onChange, }: NodeLabelProps) => import("react/jsx-runtime").JSX.Element>;
25
+ export {};
19
26
  //# sourceMappingURL=NodeLabel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodeLabel.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/BaseNode/NodeLabel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAU9C,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACjE;AAwMD,eAAO,MAAM,SAAS,mLAzKnB,cAAc,6CAyK+B,CAAC"}
1
+ {"version":3,"file":"NodeLabel.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/BaseNode/NodeLabel.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAI9C,UAAU,sBAAsB;IAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,eAAO,MAAM,iBAAiB,GAAI,wCAI/B,sBAAsB,4CAmBxB,CAAC;AA+IF,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CAClE;AA+KD,eAAO,MAAM,SAAS,mLAjKnB,cAAc,6CAiK+B,CAAC"}
@@ -1,7 +1,21 @@
1
1
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
- import { memo, useCallback, useEffect, useRef, useState } from "react";
2
+ import { forwardRef, memo, useCallback, useEffect, useRef, useState } from "react";
3
+ import { NODE_TEXT_BOTTOM_OFFSET, NODE_TEXT_BOTTOM_OFFSET_WITH_HANDLES } from "../../constants.js";
4
+ import { cx } from "../../utils/CssUtil.js";
3
5
  import { CanvasTooltip } from "../CanvasTooltip.js";
4
- import { BaseHeader, BaseSubHeader, BaseTextContainer, EditableLabel, EmptyLabelPlaceholder } from "./BaseNode.styles.js";
6
+ const BaseTextContainer = ({ hasBottomHandles, shape, children })=>{
7
+ if ('rectangle' === shape) return /*#__PURE__*/ jsx("div", {
8
+ className: "flex flex-1 min-w-0 flex-col items-start text-left",
9
+ children: children
10
+ });
11
+ return /*#__PURE__*/ jsx("div", {
12
+ className: cx('absolute left-1/2 w-[150%] flex flex-col z-10 transition-transform duration-200', hasBottomHandles ? 'items-start text-left translate-x-[20%] translate-y-1/2' : 'items-center text-center -translate-x-1/2 translate-y-full'),
13
+ style: {
14
+ bottom: hasBottomHandles ? NODE_TEXT_BOTTOM_OFFSET_WITH_HANDLES : NODE_TEXT_BOTTOM_OFFSET
15
+ },
16
+ children: children
17
+ });
18
+ };
5
19
  const ConditionalTooltip = ({ content, children })=>{
6
20
  if (!content) return children;
7
21
  return /*#__PURE__*/ jsx(CanvasTooltip, {
@@ -12,6 +26,43 @@ const ConditionalTooltip = ({ content, children })=>{
12
26
  children: children
13
27
  });
14
28
  };
29
+ const Header = ({ shape, backgroundColor, onDoubleClick, children, 'data-testid': dataTestId })=>/*#__PURE__*/ jsx("div", {
30
+ "data-testid": dataTestId,
31
+ onDoubleClick: onDoubleClick,
32
+ className: cx('text-center text-sm leading-[18px] font-semibold text-foreground overflow-hidden', backgroundColor && 'px-1.5 py-0.5 rounded-sm', 'rectangle' === shape ? 'w-full text-left whitespace-nowrap text-ellipsis' : 'wrap-break-word line-clamp-3'),
33
+ style: backgroundColor ? {
34
+ backgroundColor
35
+ } : void 0,
36
+ children: children
37
+ });
38
+ const SubHeader = ({ shape, onDoubleClick, children, 'data-testid': dataTestId })=>/*#__PURE__*/ jsx("div", {
39
+ "data-testid": dataTestId,
40
+ onDoubleClick: onDoubleClick,
41
+ className: cx('text-center text-xs leading-[18px] text-foreground-muted wrap-break-word overflow-hidden', 'rectangle' === shape ? 'w-full text-left line-clamp-2' : 'line-clamp-5'),
42
+ children: children
43
+ });
44
+ const EditableLabel = /*#__PURE__*/ forwardRef(({ shape, backgroundColor, variant, value, placeholder, rows, onChange, onKeyDown, onBlur, 'aria-label': ariaLabel }, ref)=>/*#__PURE__*/ jsx("textarea", {
45
+ ref: ref,
46
+ value: value,
47
+ placeholder: placeholder,
48
+ rows: rows,
49
+ "aria-label": ariaLabel,
50
+ onChange: onChange,
51
+ onKeyDown: onKeyDown,
52
+ onBlur: onBlur,
53
+ className: cx('nodrag nowheel resize-none font-[inherit] text-foreground border-none rounded-sm outline-1 outline-dashed outline-border-de-emp max-w-full', 'subtext' === variant ? 'text-xs leading-[18px] font-normal mb-0' : 'text-sm leading-[18px] font-semibold mb-0.5', 'rectangle' === shape ? 'field-sizing-fixed w-full' : 'field-sizing-content text-center', backgroundColor && 'px-1.5 py-0.5'),
54
+ style: backgroundColor ? {
55
+ backgroundColor
56
+ } : void 0
57
+ }));
58
+ EditableLabel.displayName = 'EditableLabel';
59
+ const EmptyLabelPlaceholder = ({ onDoubleClick })=>/*#__PURE__*/ jsx("button", {
60
+ type: "button",
61
+ onDoubleClick: onDoubleClick,
62
+ className: "nodrag nowheel text-sm leading-[18px] font-semibold text-foreground-muted bg-transparent border border-dashed border-border-de-emp rounded-sm cursor-pointer opacity-0 transition-opacity duration-200 min-w-5 min-h-5 hover:opacity-100",
63
+ "aria-label": "Add node label",
64
+ "data-testid": "empty-label-placeholder"
65
+ });
15
66
  const NodeLabelInternal = ({ label = '', subLabel = '', labelTooltip, labelBackgroundColor, shape, hasBottomHandles, selected, dragging, centerAdornment, readonly, onChange })=>{
16
67
  const [isEditing, setIsEditing] = useState(false);
17
68
  const [localLabel, setLocalLabel] = useState('');
@@ -22,7 +73,7 @@ const NodeLabelInternal = ({ label = '', subLabel = '', labelTooltip, labelBackg
22
73
  const handleSave = useCallback(()=>{
23
74
  setIsEditing(false);
24
75
  setFocusTarget(null);
25
- if (localLabel !== label || localSubLabel !== subLabel) onChange({
76
+ if (localLabel !== label || localSubLabel !== subLabel) onChange?.({
26
77
  label: localLabel,
27
78
  subLabel: localSubLabel
28
79
  });
@@ -101,11 +152,7 @@ const NodeLabelInternal = ({ label = '', subLabel = '', labelTooltip, labelBackg
101
152
  shape: shape,
102
153
  children: [
103
154
  /*#__PURE__*/ jsx(EmptyLabelPlaceholder, {
104
- onDoubleClick: readonly ? void 0 : handleDoubleClick(labelInputRef),
105
- className: "nodrag nowheel",
106
- role: "button",
107
- "aria-label": "Add node label",
108
- "data-testid": "empty-label-placeholder"
155
+ onDoubleClick: readonly ? void 0 : handleDoubleClick(labelInputRef)
109
156
  }),
110
157
  centerAdornment
111
158
  ]
@@ -125,10 +172,8 @@ const NodeLabelInternal = ({ label = '', subLabel = '', labelTooltip, labelBackg
125
172
  shape: shape,
126
173
  variant: "normal",
127
174
  backgroundColor: labelBackgroundColor,
128
- className: "nodrag nowheel",
129
175
  placeholder: "Name",
130
176
  rows: 'rectangle' === shape ? 1 : void 0,
131
- role: "textbox",
132
177
  "aria-label": "Edit node name"
133
178
  }),
134
179
  /*#__PURE__*/ jsx(EditableLabel, {
@@ -139,24 +184,22 @@ const NodeLabelInternal = ({ label = '', subLabel = '', labelTooltip, labelBackg
139
184
  onBlur: handleBlur,
140
185
  shape: shape,
141
186
  variant: "subtext",
142
- className: "nodrag nowheel",
143
187
  placeholder: "Description",
144
188
  rows: 'rectangle' === shape ? 2 : void 0,
145
- role: "textbox",
146
189
  "aria-label": "Edit node description"
147
190
  })
148
191
  ]
149
192
  }) : /*#__PURE__*/ jsxs(ConditionalTooltip, {
150
193
  content: labelTooltip,
151
194
  children: [
152
- /*#__PURE__*/ jsx(BaseHeader, {
195
+ /*#__PURE__*/ jsx(Header, {
153
196
  shape: shape,
154
197
  backgroundColor: labelBackgroundColor,
155
198
  onDoubleClick: readonly ? void 0 : handleDoubleClick(labelInputRef),
156
199
  "data-testid": "node-label",
157
200
  children: label
158
201
  }),
159
- subLabel && /*#__PURE__*/ jsx(BaseSubHeader, {
202
+ subLabel && /*#__PURE__*/ jsx(SubHeader, {
160
203
  shape: shape,
161
204
  onDoubleClick: readonly ? void 0 : handleDoubleClick(subLabelInputRef),
162
205
  "data-testid": "node-sublabel",
@@ -169,4 +212,4 @@ const NodeLabelInternal = ({ label = '', subLabel = '', labelTooltip, labelBackg
169
212
  });
170
213
  };
171
214
  const NodeLabel = /*#__PURE__*/ memo(NodeLabelInternal);
172
- export { NodeLabel };
215
+ export { BaseTextContainer, NodeLabel };