@uipath/apollo-react 6.24.0 → 6.26.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 (46) hide show
  1. package/dist/canvas/components/BaseCanvas/BaseCanvas.cjs +18 -2
  2. package/dist/canvas/components/BaseCanvas/BaseCanvas.d.ts.map +1 -1
  3. package/dist/canvas/components/BaseCanvas/BaseCanvas.hooks.cjs +33 -1
  4. package/dist/canvas/components/BaseCanvas/BaseCanvas.hooks.d.ts +2 -1
  5. package/dist/canvas/components/BaseCanvas/BaseCanvas.hooks.d.ts.map +1 -1
  6. package/dist/canvas/components/BaseCanvas/BaseCanvas.hooks.js +31 -2
  7. package/dist/canvas/components/BaseCanvas/BaseCanvas.js +19 -3
  8. package/dist/canvas/components/BaseCanvas/BaseCanvas.types.d.ts +1 -0
  9. package/dist/canvas/components/BaseCanvas/BaseCanvas.types.d.ts.map +1 -1
  10. package/dist/canvas/components/BaseCanvas/CanvasProviders.cjs +10 -6
  11. package/dist/canvas/components/BaseCanvas/CanvasProviders.d.ts +2 -1
  12. package/dist/canvas/components/BaseCanvas/CanvasProviders.d.ts.map +1 -1
  13. package/dist/canvas/components/BaseCanvas/CanvasProviders.js +10 -6
  14. package/dist/canvas/components/BaseCanvas/ConnectedHandlesContext.cjs +4 -11
  15. package/dist/canvas/components/BaseCanvas/ConnectedHandlesContext.d.ts.map +1 -1
  16. package/dist/canvas/components/BaseCanvas/ConnectedHandlesContext.js +1 -8
  17. package/dist/canvas/components/BaseCanvas/ReadOnlyNodesContext.cjs +111 -0
  18. package/dist/canvas/components/BaseCanvas/ReadOnlyNodesContext.d.ts +7 -0
  19. package/dist/canvas/components/BaseCanvas/ReadOnlyNodesContext.d.ts.map +1 -0
  20. package/dist/canvas/components/BaseCanvas/ReadOnlyNodesContext.js +71 -0
  21. package/dist/canvas/components/BaseCanvas/index.cjs +72 -19
  22. package/dist/canvas/components/BaseCanvas/index.d.ts +2 -1
  23. package/dist/canvas/components/BaseCanvas/index.d.ts.map +1 -1
  24. package/dist/canvas/components/BaseCanvas/index.js +3 -2
  25. package/dist/canvas/components/BaseCanvas/set-utils.cjs +46 -0
  26. package/dist/canvas/components/BaseCanvas/set-utils.d.ts +3 -0
  27. package/dist/canvas/components/BaseCanvas/set-utils.d.ts.map +1 -0
  28. package/dist/canvas/components/BaseCanvas/set-utils.js +9 -0
  29. package/dist/canvas/components/BaseNode/BaseNode.cjs +32 -10
  30. package/dist/canvas/components/BaseNode/BaseNode.d.ts.map +1 -1
  31. package/dist/canvas/components/BaseNode/BaseNode.js +32 -10
  32. package/dist/canvas/components/BaseNode/NodeLabel.cjs +17 -11
  33. package/dist/canvas/components/BaseNode/NodeLabel.d.ts +2 -1
  34. package/dist/canvas/components/BaseNode/NodeLabel.d.ts.map +1 -1
  35. package/dist/canvas/components/BaseNode/NodeLabel.js +17 -11
  36. package/dist/canvas/components/Toolbar/shared/ToolbarButton.cjs +28 -23
  37. package/dist/canvas/components/Toolbar/shared/ToolbarButton.d.ts.map +1 -1
  38. package/dist/canvas/components/Toolbar/shared/ToolbarButton.js +28 -23
  39. package/dist/canvas/hooks/useIsomorphicLayoutEffect.cjs +37 -0
  40. package/dist/canvas/hooks/useIsomorphicLayoutEffect.d.ts +3 -0
  41. package/dist/canvas/hooks/useIsomorphicLayoutEffect.d.ts.map +1 -0
  42. package/dist/canvas/hooks/useIsomorphicLayoutEffect.js +3 -0
  43. package/dist/canvas/hooks/useLatestRef.cjs +2 -2
  44. package/dist/canvas/hooks/useLatestRef.d.ts.map +1 -1
  45. package/dist/canvas/hooks/useLatestRef.js +2 -2
  46. package/package.json +3 -3
@@ -66,14 +66,15 @@ const EditableLabel = /*#__PURE__*/ forwardRef(({ shape, backgroundColor, varian
66
66
  } : void 0
67
67
  }));
68
68
  EditableLabel.displayName = 'EditableLabel';
69
- const EmptyLabelPlaceholder = ({ onDoubleClick })=>/*#__PURE__*/ jsx("button", {
69
+ const EmptyLabelPlaceholder = ({ disabled, onDoubleClick })=>/*#__PURE__*/ jsx("button", {
70
70
  type: "button",
71
+ disabled: disabled,
71
72
  onDoubleClick: onDoubleClick,
72
73
  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",
73
74
  "aria-label": "Add node label",
74
75
  "data-testid": "empty-label-placeholder"
75
76
  });
76
- const NodeLabelInternal = ({ label = '', subLabel = '', labelTooltip, labelBackgroundColor, shape, hasBottomHandles, selected, dragging, centerAdornment, readonly, onChange })=>{
77
+ const NodeLabelInternal = ({ label = '', subLabel = '', labelTooltip, labelBackgroundColor, shape, hasBottomHandles, selected, dragging, centerAdornment, readonly, discardDraftOnReadonly, onChange })=>{
77
78
  const [isEditing, setIsEditing] = useState(false);
78
79
  const [localLabel, setLocalLabel] = useState('');
79
80
  const [localSubLabel, setLocalSubLabel] = useState('');
@@ -118,15 +119,6 @@ const NodeLabelInternal = ({ label = '', subLabel = '', labelTooltip, labelBackg
118
119
  isEditing,
119
120
  focusTarget
120
121
  ]);
121
- useEffect(()=>{
122
- if (isEditing && (!selected || dragging || readonly)) handleSave();
123
- }, [
124
- selected,
125
- dragging,
126
- isEditing,
127
- readonly,
128
- handleSave
129
- ]);
130
122
  const handleCancel = useCallback(()=>{
131
123
  setIsEditing(false);
132
124
  setFocusTarget(null);
@@ -136,6 +128,19 @@ const NodeLabelInternal = ({ label = '', subLabel = '', labelTooltip, labelBackg
136
128
  label,
137
129
  subLabel
138
130
  ]);
131
+ useEffect(()=>{
132
+ if (!isEditing) return;
133
+ if (readonly && discardDraftOnReadonly) handleCancel();
134
+ else if (!selected || dragging || readonly) handleSave();
135
+ }, [
136
+ selected,
137
+ dragging,
138
+ isEditing,
139
+ readonly,
140
+ discardDraftOnReadonly,
141
+ handleSave,
142
+ handleCancel
143
+ ]);
139
144
  const handleKeyDown = useCallback((e)=>{
140
145
  if ('Enter' === e.key) {
141
146
  e.preventDefault();
@@ -162,6 +167,7 @@ const NodeLabelInternal = ({ label = '', subLabel = '', labelTooltip, labelBackg
162
167
  shape: shape,
163
168
  children: [
164
169
  /*#__PURE__*/ jsx(EmptyLabelPlaceholder, {
170
+ disabled: readonly,
165
171
  onDoubleClick: readonly ? void 0 : handleDoubleClick(labelInputRef)
166
172
  }),
167
173
  centerAdornment
@@ -40,32 +40,37 @@ const ToolbarButton = /*#__PURE__*/ (0, external_react_namespaceObject.memo)(({
40
40
  e.preventDefault();
41
41
  if (isEnabled) action.onClick();
42
42
  };
43
+ const button = /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_ToolbarIconButton_cjs_namespaceObject.ToolbarIconButton, {
44
+ layout: layoutId ? true : void 0,
45
+ layoutId: layoutId,
46
+ transition: {
47
+ type: 'tween',
48
+ duration: 0.2,
49
+ ease: 'easeOut'
50
+ },
51
+ type: "button",
52
+ className: "nodrag nopan",
53
+ onClick: handleClick,
54
+ "aria-label": action.label,
55
+ "aria-disabled": !isEnabled,
56
+ "aria-pressed": action.isToggled,
57
+ disabled: !isEnabled,
58
+ isToggled: action.isToggled,
59
+ color: action.color,
60
+ hoverBg: hoverBg,
61
+ children: action.icon && 'string' == typeof action.icon ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(icon_registry_cjs_namespaceObject.CanvasIcon, {
62
+ icon: action.icon,
63
+ size: 16,
64
+ color: action.color
65
+ }) : action.icon
66
+ });
43
67
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_CanvasTooltip_cjs_namespaceObject.CanvasTooltip, {
44
68
  content: action.label,
45
69
  placement: "top",
46
- children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_ToolbarIconButton_cjs_namespaceObject.ToolbarIconButton, {
47
- layout: layoutId ? true : void 0,
48
- layoutId: layoutId,
49
- transition: {
50
- type: 'tween',
51
- duration: 0.2,
52
- ease: 'easeOut'
53
- },
54
- type: "button",
55
- className: "nodrag nopan",
56
- onClick: handleClick,
57
- "aria-label": action.label,
58
- "aria-disabled": !isEnabled,
59
- "aria-pressed": action.isToggled,
60
- disabled: !isEnabled,
61
- isToggled: action.isToggled,
62
- color: action.color,
63
- hoverBg: hoverBg,
64
- children: action.icon && 'string' == typeof action.icon ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(icon_registry_cjs_namespaceObject.CanvasIcon, {
65
- icon: action.icon,
66
- size: 16,
67
- color: action.color
68
- }) : action.icon
70
+ children: isEnabled ? button : /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
71
+ className: "inline-flex",
72
+ "data-testid": "toolbar-action-hover-target",
73
+ children: button
69
74
  })
70
75
  });
71
76
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarButton.d.ts","sourceRoot":"","sources":["../../../../../src/canvas/components/Toolbar/shared/ToolbarButton.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,MAAM,WAAW,qBAAsB,SAAQ,iBAAiB;IAC9D,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,qBAAqB,CAAC;IAK9B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,aAAa,6DAA+B,kBAAkB,6CAqCzE,CAAC"}
1
+ {"version":3,"file":"ToolbarButton.d.ts","sourceRoot":"","sources":["../../../../../src/canvas/components/Toolbar/shared/ToolbarButton.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,MAAM,WAAW,qBAAsB,SAAQ,iBAAiB;IAC9D,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,qBAAqB,CAAC;IAK9B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,aAAa,6DAA+B,kBAAkB,6CAkDzE,CAAC"}
@@ -12,32 +12,37 @@ const ToolbarButton = /*#__PURE__*/ memo(({ action, layoutId })=>{
12
12
  e.preventDefault();
13
13
  if (isEnabled) action.onClick();
14
14
  };
15
+ const button = /*#__PURE__*/ jsx(ToolbarIconButton, {
16
+ layout: layoutId ? true : void 0,
17
+ layoutId: layoutId,
18
+ transition: {
19
+ type: 'tween',
20
+ duration: 0.2,
21
+ ease: 'easeOut'
22
+ },
23
+ type: "button",
24
+ className: "nodrag nopan",
25
+ onClick: handleClick,
26
+ "aria-label": action.label,
27
+ "aria-disabled": !isEnabled,
28
+ "aria-pressed": action.isToggled,
29
+ disabled: !isEnabled,
30
+ isToggled: action.isToggled,
31
+ color: action.color,
32
+ hoverBg: hoverBg,
33
+ children: action.icon && 'string' == typeof action.icon ? /*#__PURE__*/ jsx(CanvasIcon, {
34
+ icon: action.icon,
35
+ size: 16,
36
+ color: action.color
37
+ }) : action.icon
38
+ });
15
39
  return /*#__PURE__*/ jsx(CanvasTooltip, {
16
40
  content: action.label,
17
41
  placement: "top",
18
- children: /*#__PURE__*/ jsx(ToolbarIconButton, {
19
- layout: layoutId ? true : void 0,
20
- layoutId: layoutId,
21
- transition: {
22
- type: 'tween',
23
- duration: 0.2,
24
- ease: 'easeOut'
25
- },
26
- type: "button",
27
- className: "nodrag nopan",
28
- onClick: handleClick,
29
- "aria-label": action.label,
30
- "aria-disabled": !isEnabled,
31
- "aria-pressed": action.isToggled,
32
- disabled: !isEnabled,
33
- isToggled: action.isToggled,
34
- color: action.color,
35
- hoverBg: hoverBg,
36
- children: action.icon && 'string' == typeof action.icon ? /*#__PURE__*/ jsx(CanvasIcon, {
37
- icon: action.icon,
38
- size: 16,
39
- color: action.color
40
- }) : action.icon
42
+ children: isEnabled ? button : /*#__PURE__*/ jsx("span", {
43
+ className: "inline-flex",
44
+ "data-testid": "toolbar-action-hover-target",
45
+ children: button
41
46
  })
42
47
  });
43
48
  });
@@ -0,0 +1,37 @@
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
+ useIsomorphicLayoutEffect: ()=>useIsomorphicLayoutEffect
28
+ });
29
+ const external_react_namespaceObject = require("react");
30
+ const useIsomorphicLayoutEffect = "u" < typeof window ? external_react_namespaceObject.useEffect : external_react_namespaceObject.useLayoutEffect;
31
+ exports.useIsomorphicLayoutEffect = __webpack_exports__.useIsomorphicLayoutEffect;
32
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
33
+ "useIsomorphicLayoutEffect"
34
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
35
+ Object.defineProperty(exports, '__esModule', {
36
+ value: true
37
+ });
@@ -0,0 +1,3 @@
1
+ import { useEffect } from 'react';
2
+ export declare const useIsomorphicLayoutEffect: typeof useEffect;
3
+ //# sourceMappingURL=useIsomorphicLayoutEffect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIsomorphicLayoutEffect.d.ts","sourceRoot":"","sources":["../../../src/canvas/hooks/useIsomorphicLayoutEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAmB,MAAM,OAAO,CAAC;AAQnD,eAAO,MAAM,yBAAyB,kBACuB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { useEffect, useLayoutEffect } from "react";
2
+ const useIsomorphicLayoutEffect = "u" < typeof window ? useEffect : useLayoutEffect;
3
+ export { useIsomorphicLayoutEffect };
@@ -27,10 +27,10 @@ __webpack_require__.d(__webpack_exports__, {
27
27
  useLatestRef: ()=>useLatestRef
28
28
  });
29
29
  const external_react_namespaceObject = require("react");
30
- const useIsomorphicLayoutEffect = "u" > typeof window ? external_react_namespaceObject.useLayoutEffect : external_react_namespaceObject.useEffect;
30
+ const external_useIsomorphicLayoutEffect_cjs_namespaceObject = require("./useIsomorphicLayoutEffect.cjs");
31
31
  function useLatestRef(value) {
32
32
  const ref = (0, external_react_namespaceObject.useRef)(value);
33
- useIsomorphicLayoutEffect(()=>{
33
+ (0, external_useIsomorphicLayoutEffect_cjs_namespaceObject.useIsomorphicLayoutEffect)(()=>{
34
34
  ref.current = value;
35
35
  }, [
36
36
  value
@@ -1 +1 @@
1
- {"version":3,"file":"useLatestRef.d.ts","sourceRoot":"","sources":["../../../src/canvas/hooks/useLatestRef.ts"],"names":[],"mappings":"AAIA,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,gCAMvC"}
1
+ {"version":3,"file":"useLatestRef.d.ts","sourceRoot":"","sources":["../../../src/canvas/hooks/useLatestRef.ts"],"names":[],"mappings":"AAGA,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,gCAMvC"}
@@ -1,5 +1,5 @@
1
- import { useEffect, useLayoutEffect, useRef } from "react";
2
- const useIsomorphicLayoutEffect = "u" > typeof window ? useLayoutEffect : useEffect;
1
+ import { useRef } from "react";
2
+ import { useIsomorphicLayoutEffect } from "./useIsomorphicLayoutEffect.js";
3
3
  function useLatestRef(value) {
4
4
  const ref = useRef(value);
5
5
  useIsomorphicLayoutEffect(()=>{
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uipath/apollo-react",
3
- "version": "6.24.0",
3
+ "version": "6.26.0",
4
4
  "description": "Apollo Design System - React component library with Material UI theming",
5
5
  "repository": {
6
6
  "type": "git",
@@ -220,9 +220,9 @@
220
220
  "use-sync-external-store": "^1.2.0",
221
221
  "zod": "^4.3.5",
222
222
  "zustand": "^5.0.9",
223
+ "@uipath/apollo-core": "5.13.0",
223
224
  "@uipath/apollo-ui-icons": "1.0.0",
224
- "@uipath/apollo-wind": "2.35.0",
225
- "@uipath/apollo-core": "5.13.0"
225
+ "@uipath/apollo-wind": "2.35.0"
226
226
  },
227
227
  "devDependencies": {
228
228
  "@lingui/cli": "^5.6.1",