@uipath/apollo-react 4.10.0 → 4.11.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 (62) hide show
  1. package/dist/canvas/components/AddNodePanel/AddNodePreview.cjs +12 -2
  2. package/dist/canvas/components/AddNodePanel/AddNodePreview.d.ts.map +1 -1
  3. package/dist/canvas/components/AddNodePanel/AddNodePreview.js +13 -3
  4. package/dist/canvas/components/BaseCanvas/CanvasThemeContext.cjs +4 -2
  5. package/dist/canvas/components/BaseCanvas/CanvasThemeContext.d.ts.map +1 -1
  6. package/dist/canvas/components/BaseCanvas/CanvasThemeContext.js +4 -2
  7. package/dist/canvas/components/BaseNode/BaseNode.cjs +7 -7
  8. package/dist/canvas/components/BaseNode/BaseNode.js +7 -7
  9. package/dist/canvas/components/BaseNode/BaseNodeContainer.cjs +1 -1
  10. package/dist/canvas/components/BaseNode/BaseNodeContainer.js +1 -1
  11. package/dist/canvas/components/ButtonHandle/CanvasInlineButton.cjs +56 -0
  12. package/dist/canvas/components/ButtonHandle/CanvasInlineButton.d.ts +8 -0
  13. package/dist/canvas/components/ButtonHandle/CanvasInlineButton.d.ts.map +1 -0
  14. package/dist/canvas/components/ButtonHandle/CanvasInlineButton.js +22 -0
  15. package/dist/canvas/components/ButtonHandle/HandleButton.cjs +3 -11
  16. package/dist/canvas/components/ButtonHandle/HandleButton.d.ts.map +1 -1
  17. package/dist/canvas/components/ButtonHandle/HandleButton.js +3 -11
  18. package/dist/canvas/components/FloatingCanvasPanel/FloatingCanvasPanel.cjs +16 -38
  19. package/dist/canvas/components/FloatingCanvasPanel/FloatingCanvasPanel.d.ts.map +1 -1
  20. package/dist/canvas/components/FloatingCanvasPanel/FloatingCanvasPanel.js +16 -28
  21. package/dist/canvas/components/FloatingCanvasPanel/PanelChrome.cjs +1 -1
  22. package/dist/canvas/components/FloatingCanvasPanel/PanelChrome.js +1 -1
  23. package/dist/canvas/components/Toolbar/EdgeToolbar/EdgeToolbar.cjs +13 -17
  24. package/dist/canvas/components/Toolbar/EdgeToolbar/EdgeToolbar.d.ts.map +1 -1
  25. package/dist/canvas/components/Toolbar/EdgeToolbar/EdgeToolbar.js +14 -18
  26. package/dist/canvas/components/Toolbar/EdgeToolbar/EdgeToolbar.types.d.ts +1 -1
  27. package/dist/canvas/components/Toolbar/EdgeToolbar/EdgeToolbar.types.d.ts.map +1 -1
  28. package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.cjs +149 -106
  29. package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.d.ts.map +1 -1
  30. package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.js +151 -108
  31. package/dist/canvas/components/Toolbar/NodeToolbar/useToolbarState.cjs +1 -1
  32. package/dist/canvas/components/Toolbar/NodeToolbar/useToolbarState.d.ts.map +1 -1
  33. package/dist/canvas/components/Toolbar/NodeToolbar/useToolbarState.js +1 -1
  34. package/dist/canvas/components/Toolbar/shared/ToolbarButton.cjs +7 -7
  35. package/dist/canvas/components/Toolbar/shared/ToolbarButton.js +7 -7
  36. package/dist/canvas/components/Toolbar/shared/ToolbarIconButton.cjs +64 -0
  37. package/dist/canvas/components/Toolbar/shared/ToolbarIconButton.d.ts +8 -0
  38. package/dist/canvas/components/Toolbar/shared/ToolbarIconButton.d.ts.map +1 -0
  39. package/dist/canvas/components/Toolbar/shared/ToolbarIconButton.js +30 -0
  40. package/dist/canvas/components/Toolbar/shared/index.cjs +4 -4
  41. package/dist/canvas/components/Toolbar/shared/index.d.ts +1 -1
  42. package/dist/canvas/components/Toolbar/shared/index.d.ts.map +1 -1
  43. package/dist/canvas/components/Toolbar/shared/index.js +1 -1
  44. package/dist/canvas/constants.cjs +1 -1
  45. package/dist/canvas/constants.d.ts +1 -1
  46. package/dist/canvas/constants.js +1 -1
  47. package/dist/canvas/storybook-utils/decorators.d.ts.map +1 -1
  48. package/dist/canvas/styles/tailwind.canvas.css +1 -1
  49. package/dist/canvas/styles/variables.css +16 -0
  50. package/package.json +1 -1
  51. package/dist/canvas/components/Toolbar/EdgeToolbar/EdgeToolbar.styles.cjs +0 -70
  52. package/dist/canvas/components/Toolbar/EdgeToolbar/EdgeToolbar.styles.d.ts +0 -8
  53. package/dist/canvas/components/Toolbar/EdgeToolbar/EdgeToolbar.styles.d.ts.map +0 -1
  54. package/dist/canvas/components/Toolbar/EdgeToolbar/EdgeToolbar.styles.js +0 -23
  55. package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.styles.cjs +0 -236
  56. package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.styles.d.ts +0 -26
  57. package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.styles.d.ts.map +0 -1
  58. package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.styles.js +0 -180
  59. package/dist/canvas/components/Toolbar/shared/ToolbarButton.styles.cjs +0 -78
  60. package/dist/canvas/components/Toolbar/shared/ToolbarButton.styles.d.ts +0 -9
  61. package/dist/canvas/components/Toolbar/shared/ToolbarButton.styles.d.ts.map +0 -1
  62. package/dist/canvas/components/Toolbar/shared/ToolbarButton.styles.js +0 -34
@@ -1 +1 @@
1
- {"version":3,"file":"EdgeToolbar.d.ts","sourceRoot":"","sources":["../../../../../src/canvas/components/Toolbar/EdgeToolbar/EdgeToolbar.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAuD5D,eAAO,MAAM,WAAW;4EA9CrB,gBAAgB;;EA8CkC,CAAC"}
1
+ {"version":3,"file":"EdgeToolbar.d.ts","sourceRoot":"","sources":["../../../../../src/canvas/components/Toolbar/EdgeToolbar/EdgeToolbar.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAuD5D,eAAO,MAAM,WAAW;4EA9CrB,gBAAgB;;EA8CkC,CAAC"}
@@ -1,24 +1,16 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { EdgeLabelRenderer } from "../../../xyflow/react.js";
3
- import { AnimatePresence } from "motion/react";
3
+ import { AnimatePresence, motion } from "motion/react";
4
4
  import { memo, useMemo } from "react";
5
- import { ToolbarButton } from "../shared/index.js";
6
- import { StyledEdgeToolbarContainer, StyledEdgeToolbarContent } from "./EdgeToolbar.styles.js";
5
+ import { CanvasInlineButton } from "../../ButtonHandle/CanvasInlineButton.js";
7
6
  const EdgeToolbarComponent = ({ edgeId, visible, positioning, config, onMouseEnter, onMouseLeave })=>{
8
- const actionsWithHandlers = useMemo(()=>config.actions.map((action)=>({
9
- ...action,
10
- onClick: ()=>action.onAction(edgeId, positioning.pathPosition)
11
- })), [
12
- config.actions,
13
- edgeId,
14
- positioning.pathPosition
15
- ]);
16
7
  const transform = useMemo(()=>`translate(-50%, -50%) translate(${positioning.offsetPosition.x}px, ${positioning.offsetPosition.y}px)`, [
17
8
  positioning.offsetPosition
18
9
  ]);
19
10
  return /*#__PURE__*/ jsx(EdgeLabelRenderer, {
20
11
  children: /*#__PURE__*/ jsx(AnimatePresence, {
21
- children: visible && /*#__PURE__*/ jsx(StyledEdgeToolbarContainer, {
12
+ children: visible && /*#__PURE__*/ jsx(motion.div, {
13
+ className: "nodrag nopan absolute top-0 left-0 pointer-events-auto z-[1000] flex flex-row items-center gap-1",
22
14
  initial: {
23
15
  opacity: 0
24
16
  },
@@ -35,14 +27,18 @@ const EdgeToolbarComponent = ({ edgeId, visible, positioning, config, onMouseEnt
35
27
  style: {
36
28
  transform
37
29
  },
38
- className: "nodrag nopan",
39
30
  onMouseEnter: onMouseEnter,
40
31
  onMouseLeave: onMouseLeave,
41
- children: /*#__PURE__*/ jsx(StyledEdgeToolbarContent, {
42
- children: actionsWithHandlers.map((action)=>/*#__PURE__*/ jsx(ToolbarButton, {
43
- action: action
44
- }, action.id))
45
- })
32
+ children: config.actions.map((action)=>/*#__PURE__*/ jsx(CanvasInlineButton, {
33
+ "aria-label": action.label ?? action.id,
34
+ disabled: action.disabled,
35
+ icon: action.icon ?? 'plus',
36
+ onClick: (e)=>{
37
+ e.stopPropagation();
38
+ e.preventDefault();
39
+ if (!action.disabled) action.onAction(edgeId, positioning.pathPosition);
40
+ }
41
+ }, action.id))
46
42
  }, `edge-toolbar-${edgeId}`)
47
43
  })
48
44
  });
@@ -1,6 +1,6 @@
1
1
  import type { XYPosition } from '../../../xyflow/system.ts';
2
2
  import type { ToolbarActionItem } from '../shared/toolbar.types';
3
- export interface EdgeToolbarActionItem extends Omit<ToolbarActionItem, 'onAction'> {
3
+ export interface EdgeToolbarActionItem extends Omit<ToolbarActionItem, 'onAction' | 'color' | 'isToggled'> {
4
4
  onAction: (edgeId: string, position: {
5
5
  x: number;
6
6
  y: number;
@@ -1 +1 @@
1
- {"version":3,"file":"EdgeToolbar.types.d.ts","sourceRoot":"","sources":["../../../../../src/canvas/components/Toolbar/EdgeToolbar/EdgeToolbar.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAMjE,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC;IAChF,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACxE;AAKD,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,qBAAqB,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,uBAAuB;IACtC,cAAc,EAAE,UAAU,CAAC;IAC3B,YAAY,EAAE,UAAU,CAAC;CAC1B;AAKD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,uBAAuB,CAAC;IACrC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B"}
1
+ {"version":3,"file":"EdgeToolbar.types.d.ts","sourceRoot":"","sources":["../../../../../src/canvas/components/Toolbar/EdgeToolbar/EdgeToolbar.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAUjE,MAAM,WAAW,qBACf,SAAQ,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,OAAO,GAAG,WAAW,CAAC;IACnE,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACxE;AAKD,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,qBAAqB,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,uBAAuB;IACtC,cAAc,EAAE,UAAU,CAAC;IAC3B,YAAY,EAAE,UAAU,CAAC;CAC1B;AAKD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,uBAAuB,CAAC;IACrC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;CAC3B"}
@@ -27,14 +27,40 @@ __webpack_require__.d(__webpack_exports__, {
27
27
  NodeToolbar: ()=>NodeToolbar
28
28
  });
29
29
  const jsx_runtime_namespaceObject = require("react/jsx-runtime");
30
+ const apollo_wind_namespaceObject = require("@uipath/apollo-wind");
30
31
  const react_namespaceObject = require("motion/react");
31
32
  const external_react_namespaceObject = require("react");
32
33
  const icon_registry_cjs_namespaceObject = require("../../../utils/icon-registry.cjs");
33
34
  const external_CanvasTooltip_cjs_namespaceObject = require("../../CanvasTooltip.cjs");
34
35
  const index_cjs_namespaceObject = require("../shared/index.cjs");
35
- const external_NodeToolbar_styles_cjs_namespaceObject = require("./NodeToolbar.styles.cjs");
36
36
  const external_NodeToolbar_utils_cjs_namespaceObject = require("./NodeToolbar.utils.cjs");
37
37
  const external_useToolbarState_cjs_namespaceObject = require("./useToolbarState.cjs");
38
+ const POSITIONER_BASE_CLASS = 'absolute flex pointer-events-none z-10';
39
+ const POSITIONER_POSITION_CLASS = {
40
+ top: 'top-[-52px] left-0 right-0 flex-row',
41
+ bottom: 'bottom-[-52px] left-0 right-0 flex-row',
42
+ left: 'left-[-52px] top-0 bottom-0 flex-col',
43
+ right: 'right-[-52px] top-0 bottom-0 flex-col'
44
+ };
45
+ const POSITIONER_ALIGN_CLASS = {
46
+ start: 'justify-start',
47
+ center: 'justify-center',
48
+ end: 'justify-end'
49
+ };
50
+ const CONTAINER_BASE_CLASS = "flex items-center gap-1 p-1 min-h-10 min-w-10 shrink-0 bg-(--canvas-background-raised) border border-(--canvas-background-overlay) rounded-xl shadow-[0_2px_6px_rgba(0,0,0,0.08)] pointer-events-auto";
51
+ const CONTAINER_DIRECTION_CLASS = {
52
+ top: 'flex-row',
53
+ bottom: 'flex-row',
54
+ left: 'flex-col',
55
+ right: 'flex-col'
56
+ };
57
+ const SEPARATOR_BASE_CLASS = 'flex-[0_0_auto] bg-(--canvas-background-overlay) self-center';
58
+ const SEPARATOR_VERTICAL_CLASS = 'w-px h-5';
59
+ const SEPARATOR_HORIZONTAL_CLASS = 'w-full h-px';
60
+ const DROPDOWN_MENU_CLASS = "absolute top-[-2px] left-[calc(100%+4px)] min-w-[180px] bg-(--canvas-background-raised) border border-(--canvas-background-overlay) rounded-md shadow-[0_4px_12px_rgba(0,0,0,0.08),0_2px_4px_rgba(0,0,0,0.04)] p-1 z-[1000] pointer-events-auto";
61
+ const DROPDOWN_ITEM_BASE_CLASS = "flex items-center gap-3 w-full py-2 px-3 bg-transparent border-none rounded-[4px] text-sm text-(--canvas-foreground) text-left [transition:background_0.15s_ease] enabled:hover:bg-(--canvas-background-hover) future:enabled:hover:bg-(--canvas-background-overlay) [&>svg]:shrink-0 [&>svg]:text-(--canvas-foreground)";
62
+ const DROPDOWN_ITEM_DISABLED_CLASS = 'cursor-not-allowed opacity-40 pointer-events-none';
63
+ const DROPDOWN_ITEM_ENABLED_CLASS = 'cursor-pointer opacity-100';
38
64
  const NodeToolbarComponent = ({ nodeId, config, expanded, hidden })=>{
39
65
  const { isDropdownOpen, setIsDropdownOpen, dropdownRef, buttonRef, actionsToDisplay, displayState, shouldShowOverflow, overflowActionsToDisplay, separatorOrientation, toggleDropdown } = (0, external_useToolbarState_cjs_namespaceObject.useToolbarState)({
40
66
  config,
@@ -42,9 +68,21 @@ const NodeToolbarComponent = ({ nodeId, config, expanded, hidden })=>{
42
68
  nodeId,
43
69
  hidden
44
70
  });
71
+ const position = config.position || 'top';
72
+ const align = config.align || 'center';
73
+ const positionerClassName = (0, external_react_namespaceObject.useMemo)(()=>(0, apollo_wind_namespaceObject.cn)(POSITIONER_BASE_CLASS, POSITIONER_POSITION_CLASS[position], POSITIONER_ALIGN_CLASS[align]), [
74
+ position,
75
+ align
76
+ ]);
77
+ const containerClassName = (0, external_react_namespaceObject.useMemo)(()=>(0, apollo_wind_namespaceObject.cn)(CONTAINER_BASE_CLASS, CONTAINER_DIRECTION_CLASS[position]), [
78
+ position
79
+ ]);
80
+ const separatorClassName = (0, external_react_namespaceObject.useMemo)(()=>(0, apollo_wind_namespaceObject.cn)(SEPARATOR_BASE_CLASS, 'horizontal' === separatorOrientation ? SEPARATOR_HORIZONTAL_CLASS : SEPARATOR_VERTICAL_CLASS), [
81
+ separatorOrientation
82
+ ]);
45
83
  const toolbarAnimationVariants = (0, external_react_namespaceObject.useMemo)(()=>{
46
- const offsetAxis = 'top' === config.position || 'bottom' === config.position ? 'y' : 'x';
47
- const offsetAmount = 'top' === config.position || 'left' === config.position ? -10 : 10;
84
+ const offsetAxis = 'top' === position || 'bottom' === position ? 'y' : 'x';
85
+ const offsetAmount = 'top' === position || 'left' === position ? -10 : 10;
48
86
  const offset = 'pinned' !== displayState ? {
49
87
  [offsetAxis]: offsetAmount
50
88
  } : {};
@@ -66,118 +104,123 @@ const NodeToolbarComponent = ({ nodeId, config, expanded, hidden })=>{
66
104
  }
67
105
  };
68
106
  }, [
69
- config.position,
107
+ position,
70
108
  displayState
71
109
  ]);
72
110
  if (0 === config.actions.length && (!config.overflowActions || 0 === config.overflowActions.length)) return null;
73
111
  return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_namespaceObject.AnimatePresence, {
74
- children: 'hidden' !== displayState && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(external_NodeToolbar_styles_cjs_namespaceObject.StyledToolbarContainer, {
75
- layout: true,
76
- $position: config.position || 'top',
77
- $align: config.align || 'end',
78
- initial: toolbarAnimationVariants.initial,
79
- animate: toolbarAnimationVariants.animate,
80
- exit: toolbarAnimationVariants.exit,
81
- transition: {
82
- duration: 0.15,
83
- ease: 'easeOut'
84
- },
85
- role: "toolbar",
86
- children: [
87
- actionsToDisplay.map((item, i)=>(0, external_NodeToolbar_utils_cjs_namespaceObject.isSeparator)(item) ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_NodeToolbar_styles_cjs_namespaceObject.StyledToolbarSeparator, {
88
- $orientation: separatorOrientation
89
- }, `separator-${i}`) : /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.ToolbarButton, {
90
- action: item,
91
- layoutId: item.isPinned ? `toolbar-btn-${nodeId}-${item.id}` : void 0
92
- }, item.id)),
93
- shouldShowOverflow && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment, {
94
- children: [
95
- actionsToDisplay.length > 0 && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_NodeToolbar_styles_cjs_namespaceObject.StyledToolbarSeparator, {
96
- $orientation: separatorOrientation
97
- }),
98
- /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(external_NodeToolbar_styles_cjs_namespaceObject.StyledOverflowContainer, {
99
- children: [
100
- /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.StyledToolbarButton, {
101
- ref: buttonRef,
102
- type: "button",
103
- className: "nodrag nopan",
104
- onClick: toggleDropdown,
105
- "aria-label": "More options",
106
- "aria-expanded": isDropdownOpen,
107
- "aria-haspopup": "menu",
108
- children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_CanvasTooltip_cjs_namespaceObject.CanvasTooltip, {
109
- content: config.overflowLabel,
112
+ children: 'hidden' !== displayState && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
113
+ className: positionerClassName,
114
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(react_namespaceObject.motion.div, {
115
+ layout: "position",
116
+ className: containerClassName,
117
+ initial: toolbarAnimationVariants.initial,
118
+ animate: toolbarAnimationVariants.animate,
119
+ exit: toolbarAnimationVariants.exit,
120
+ transition: {
121
+ duration: 0.15,
122
+ ease: 'easeOut'
123
+ },
124
+ role: "toolbar",
125
+ children: [
126
+ actionsToDisplay.map((item, i)=>(0, external_NodeToolbar_utils_cjs_namespaceObject.isSeparator)(item) ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
127
+ className: separatorClassName
128
+ }, `separator-${i}`) : /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.ToolbarButton, {
129
+ action: item,
130
+ layoutId: item.isPinned ? `toolbar-btn-${nodeId}-${item.id}` : void 0
131
+ }, item.id)),
132
+ shouldShowOverflow && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment, {
133
+ children: [
134
+ actionsToDisplay.length > 0 && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
135
+ className: separatorClassName
136
+ }),
137
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
138
+ className: "relative",
139
+ children: [
140
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_CanvasTooltip_cjs_namespaceObject.CanvasTooltip, {
141
+ content: config.overflowLabel ?? 'More options',
110
142
  placement: "top",
111
- children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(icon_registry_cjs_namespaceObject.CanvasIcon, {
112
- icon: "ellipsis-vertical",
113
- size: 16
143
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(index_cjs_namespaceObject.ToolbarIconButton, {
144
+ ref: buttonRef,
145
+ type: "button",
146
+ className: "nodrag nopan",
147
+ onClick: toggleDropdown,
148
+ "aria-label": config.overflowLabel ?? 'More options',
149
+ "aria-expanded": isDropdownOpen,
150
+ "aria-haspopup": "menu",
151
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(icon_registry_cjs_namespaceObject.CanvasIcon, {
152
+ icon: "ellipsis-vertical",
153
+ size: 16
154
+ })
114
155
  })
115
- })
116
- }),
117
- /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_namespaceObject.AnimatePresence, {
118
- children: isDropdownOpen && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_NodeToolbar_styles_cjs_namespaceObject.StyledDropdownMenu, {
119
- ref: dropdownRef,
120
- initial: {
121
- opacity: 0,
122
- x: -8
123
- },
124
- animate: {
125
- opacity: 1,
126
- x: 0
127
- },
128
- exit: {
129
- opacity: 0,
130
- x: -8
131
- },
132
- transition: {
133
- duration: 0.15
134
- },
135
- role: "menu",
136
- "aria-labelledby": buttonRef.current?.id,
137
- children: overflowActionsToDisplay.map((item, i)=>{
138
- if ((0, external_NodeToolbar_utils_cjs_namespaceObject.isSeparator)(item)) return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_NodeToolbar_styles_cjs_namespaceObject.StyledToolbarSeparator, {
139
- $orientation: "horizontal"
140
- }, `separator-${i}`);
141
- return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(external_NodeToolbar_styles_cjs_namespaceObject.StyledDropdownItem, {
142
- type: "button",
143
- className: "nodrag nopan",
144
- onClick: (e)=>{
145
- e.stopPropagation();
146
- e.preventDefault();
147
- if (!item.disabled) {
148
- item.onClick();
149
- setIsDropdownOpen(false);
150
- }
151
- },
152
- "aria-label": item.label,
153
- "aria-disabled": item.disabled,
154
- role: "menuitem",
155
- $disabled: item.disabled,
156
- children: [
157
- item.icon && 'string' == typeof item.icon && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
158
- style: {
159
- flex: 'unset',
160
- display: 'inline-flex'
161
- },
162
- children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(icon_registry_cjs_namespaceObject.CanvasIcon, {
163
- icon: item.icon,
164
- size: 16
156
+ }),
157
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_namespaceObject.AnimatePresence, {
158
+ children: isDropdownOpen && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_namespaceObject.motion.div, {
159
+ ref: dropdownRef,
160
+ className: DROPDOWN_MENU_CLASS,
161
+ initial: {
162
+ opacity: 0,
163
+ x: -8
164
+ },
165
+ animate: {
166
+ opacity: 1,
167
+ x: 0
168
+ },
169
+ exit: {
170
+ opacity: 0,
171
+ x: -8
172
+ },
173
+ transition: {
174
+ duration: 0.15
175
+ },
176
+ role: "menu",
177
+ "aria-label": config.overflowLabel ?? 'More options',
178
+ children: overflowActionsToDisplay.map((item, i)=>{
179
+ if ((0, external_NodeToolbar_utils_cjs_namespaceObject.isSeparator)(item)) return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
180
+ className: (0, apollo_wind_namespaceObject.cn)(SEPARATOR_BASE_CLASS, SEPARATOR_HORIZONTAL_CLASS)
181
+ }, `separator-${i}`);
182
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("button", {
183
+ type: "button",
184
+ className: (0, apollo_wind_namespaceObject.cn)(DROPDOWN_ITEM_BASE_CLASS, item.disabled ? DROPDOWN_ITEM_DISABLED_CLASS : DROPDOWN_ITEM_ENABLED_CLASS, 'nodrag nopan'),
185
+ onClick: (e)=>{
186
+ e.stopPropagation();
187
+ e.preventDefault();
188
+ if (!item.disabled) {
189
+ item.onClick();
190
+ setIsDropdownOpen(false);
191
+ }
192
+ },
193
+ "aria-label": item.label,
194
+ "aria-disabled": item.disabled,
195
+ disabled: item.disabled,
196
+ role: "menuitem",
197
+ children: [
198
+ item.icon && 'string' == typeof item.icon && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
199
+ style: {
200
+ flex: 'unset',
201
+ display: 'inline-flex'
202
+ },
203
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(icon_registry_cjs_namespaceObject.CanvasIcon, {
204
+ icon: item.icon,
205
+ size: 16
206
+ })
207
+ }),
208
+ item.icon && 'string' != typeof item.icon && item.icon,
209
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
210
+ className: "flex-1 text-(--canvas-foreground)",
211
+ children: item.label
165
212
  })
166
- }),
167
- item.icon && 'string' != typeof item.icon && item.icon,
168
- /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
169
- children: item.label
170
- })
171
- ]
172
- }, item.id);
213
+ ]
214
+ }, item.id);
215
+ })
173
216
  })
174
217
  })
175
- })
176
- ]
177
- })
178
- ]
179
- })
180
- ]
218
+ ]
219
+ })
220
+ ]
221
+ })
222
+ ]
223
+ })
181
224
  })
182
225
  });
183
226
  };
@@ -1 +1 @@
1
- {"version":3,"file":"NodeToolbar.d.ts","sourceRoot":"","sources":["../../../../../src/canvas/components/Toolbar/NodeToolbar/NodeToolbar.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AA8I5D,eAAO,MAAM,WAAW,6EA1I4C,gBAAgB,oDA0I/B,CAAC"}
1
+ {"version":3,"file":"NodeToolbar.d.ts","sourceRoot":"","sources":["../../../../../src/canvas/components/Toolbar/NodeToolbar/NodeToolbar.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AA+N5D,eAAO,MAAM,WAAW,6EA3K4C,gBAAgB,oDA2K/B,CAAC"}