@uipath/apollo-react 4.13.0-pr556.e4e2855 → 4.13.1-pr556.57ef73e
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/canvas/components/BaseNode/BaseNode.cjs +17 -7
- package/dist/canvas/components/BaseNode/BaseNode.d.ts.map +1 -1
- package/dist/canvas/components/BaseNode/BaseNode.js +17 -7
- package/dist/canvas/components/ButtonHandle/ButtonHandle.cjs +3 -3
- package/dist/canvas/components/ButtonHandle/ButtonHandle.js +3 -3
- package/dist/canvas/components/ButtonHandle/ButtonHandleStyleUtils.cjs +17 -4
- package/dist/canvas/components/ButtonHandle/ButtonHandleStyleUtils.d.ts.map +1 -1
- package/dist/canvas/components/ButtonHandle/ButtonHandleStyleUtils.js +17 -4
- package/dist/canvas/components/ButtonHandle/HandleButton.cjs +9 -3
- package/dist/canvas/components/ButtonHandle/HandleButton.d.ts.map +1 -1
- package/dist/canvas/components/ButtonHandle/HandleButton.js +9 -3
- package/dist/canvas/components/ButtonHandle/HandleLabel.cjs +11 -4
- package/dist/canvas/components/ButtonHandle/HandleLabel.d.ts +4 -1
- package/dist/canvas/components/ButtonHandle/HandleLabel.d.ts.map +1 -1
- package/dist/canvas/components/ButtonHandle/HandleLabel.js +7 -3
- package/dist/canvas/components/ButtonHandle/SmartHandle.cjs +1 -1
- package/dist/canvas/components/ButtonHandle/SmartHandle.d.ts.map +1 -1
- package/dist/canvas/components/ButtonHandle/SmartHandle.js +1 -1
- package/dist/canvas/components/LoopNode/LoopNode.cjs +14 -9
- package/dist/canvas/components/LoopNode/LoopNode.d.ts.map +1 -1
- package/dist/canvas/components/LoopNode/LoopNode.helpers.cjs +1 -1
- package/dist/canvas/components/LoopNode/LoopNode.helpers.js +1 -1
- package/dist/canvas/components/LoopNode/LoopNode.js +14 -9
- package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.cjs +11 -5
- package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.d.ts.map +1 -1
- package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.js +11 -5
- package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.cjs +15 -5
- package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.d.ts +1 -1
- package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.d.ts.map +1 -1
- package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.js +15 -5
- package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.types.d.ts +1 -0
- package/dist/canvas/components/Toolbar/NodeToolbar/NodeToolbar.types.d.ts.map +1 -1
- package/dist/canvas/storybook-utils/manifests/node-definitions.d.ts.map +1 -1
- package/dist/canvas/styles/reactflow-reset.css +8 -0
- package/dist/canvas/styles/tailwind.canvas.css +1 -1
- package/package.json +3 -3
|
@@ -21,7 +21,6 @@ import { NodeToolbar } from "../Toolbar/index.js";
|
|
|
21
21
|
import { DEFAULT_LOOP_FRAME_BACKGROUND, DEFAULT_LOOP_FRAME_BORDER, DEFAULT_LOOP_ICON, DEFAULT_LOOP_MIN_HEIGHT, DEFAULT_LOOP_MIN_WIDTH, DEFAULT_LOOP_NODE_TYPE, DEFAULT_LOOP_SHELL_BACKGROUND, DEFAULT_LOOP_TITLE, LOOP_FRAME_INSET_PX, LOOP_SHELL_RADIUS_PX } from "./LoopNode.constants.js";
|
|
22
22
|
import { partitionLoopHandleGroups } from "./LoopNode.helpers.js";
|
|
23
23
|
const EMPTY_DATA = {};
|
|
24
|
-
const NOOP_HANDLE_ACTION = (_event)=>{};
|
|
25
24
|
const RESIZE_CONTROLS = [
|
|
26
25
|
{
|
|
27
26
|
position: 'top-left',
|
|
@@ -182,8 +181,11 @@ function LoopNodeComponent(props) {
|
|
|
182
181
|
]);
|
|
183
182
|
const handleMouseEnter = useCallback(()=>setIsHovered(true), []);
|
|
184
183
|
const handleMouseLeave = useCallback(()=>setIsHovered(false), []);
|
|
185
|
-
const
|
|
186
|
-
|
|
184
|
+
const handleOuterHandleAction = useCallback((_event)=>{
|
|
185
|
+
setIsHovered(false);
|
|
186
|
+
}, []);
|
|
187
|
+
const shouldShowHandles = (isConnecting || selected || isHovered) && !dragging;
|
|
188
|
+
const showHandleAddButtons = 'design' === mode && !multipleNodesSelected && !isConnecting && !dragging;
|
|
187
189
|
const showResizeControls = selected && !dragging && 'design' === mode;
|
|
188
190
|
const showEmptyStateButton = 'design' === mode && !hasChildNodes && !!onAddFirstChild;
|
|
189
191
|
const interactionState = resolveInteractionState(dragging, selected, isHovered);
|
|
@@ -259,7 +261,7 @@ function LoopNodeComponent(props) {
|
|
|
259
261
|
toolbarConfig && /*#__PURE__*/ jsx(NodeToolbar, {
|
|
260
262
|
nodeId: id,
|
|
261
263
|
config: toolbarConfig,
|
|
262
|
-
expanded: selected,
|
|
264
|
+
expanded: selected || isHovered,
|
|
263
265
|
hidden: dragging || multipleNodesSelected
|
|
264
266
|
}),
|
|
265
267
|
handleGroupVariants.map(([variant, groups])=>/*#__PURE__*/ jsx(HandleGroups, {
|
|
@@ -273,7 +275,8 @@ function LoopNodeComponent(props) {
|
|
|
273
275
|
showNotches: shouldShowHandles,
|
|
274
276
|
nodeWidth: width,
|
|
275
277
|
nodeHeight: height,
|
|
276
|
-
connectedHandleIds: connectedHandleIds
|
|
278
|
+
connectedHandleIds: connectedHandleIds,
|
|
279
|
+
onOuterHandleAction: handleOuterHandleAction
|
|
277
280
|
}, variant))
|
|
278
281
|
]
|
|
279
282
|
});
|
|
@@ -348,7 +351,7 @@ function ResizeCornerIndicators({ selected }) {
|
|
|
348
351
|
}, position))
|
|
349
352
|
});
|
|
350
353
|
}
|
|
351
|
-
function HandleGroups({ nodeId, variant, groups, selected, hovered, shouldShowHandles, showAddButton, showNotches, nodeWidth, nodeHeight, connectedHandleIds }) {
|
|
354
|
+
function HandleGroups({ nodeId, variant, groups, selected, hovered, shouldShowHandles, showAddButton, showNotches, nodeWidth, nodeHeight, connectedHandleIds, onOuterHandleAction }) {
|
|
352
355
|
if (0 === groups.length) return null;
|
|
353
356
|
return /*#__PURE__*/ jsx(Fragment, {
|
|
354
357
|
children: groups.map((group, groupIndex)=>/*#__PURE__*/ jsx(HandleGroup, {
|
|
@@ -362,21 +365,23 @@ function HandleGroups({ nodeId, variant, groups, selected, hovered, shouldShowHa
|
|
|
362
365
|
showNotches: showNotches,
|
|
363
366
|
nodeWidth: nodeWidth,
|
|
364
367
|
nodeHeight: nodeHeight,
|
|
365
|
-
connectedHandleIds: connectedHandleIds
|
|
368
|
+
connectedHandleIds: connectedHandleIds,
|
|
369
|
+
onOuterHandleAction: onOuterHandleAction
|
|
366
370
|
}, `${variant}:${group.position}:${groupIndex}`))
|
|
367
371
|
});
|
|
368
372
|
}
|
|
369
|
-
function HandleGroup({ nodeId, variant, group, selected, hovered, shouldShowHandles, showAddButton, showNotches, nodeWidth, nodeHeight, connectedHandleIds }) {
|
|
373
|
+
function HandleGroup({ nodeId, variant, group, selected, hovered, shouldShowHandles, showAddButton, showNotches, nodeWidth, nodeHeight, connectedHandleIds, onOuterHandleAction }) {
|
|
370
374
|
const groupVisible = shouldShowHandles && (group.visible ?? true);
|
|
371
375
|
const enhancedHandles = useMemo(()=>group.handles.map((handle)=>({
|
|
372
376
|
...handle,
|
|
373
377
|
showHandle: connectedHandleIds.has(handle.id) || groupVisible,
|
|
374
378
|
showButton: 'inner' === variant && 'source' === handle.type ? false : handle.showButton,
|
|
375
|
-
onAction: handle.onAction ?? ('inner' !== variant && 'source' === handle.type && handle.showButton ?
|
|
379
|
+
onAction: handle.onAction ?? ('inner' !== variant && 'source' === handle.type && handle.showButton ? onOuterHandleAction : void 0)
|
|
376
380
|
})), [
|
|
377
381
|
group.handles,
|
|
378
382
|
connectedHandleIds,
|
|
379
383
|
groupVisible,
|
|
384
|
+
onOuterHandleAction,
|
|
380
385
|
variant
|
|
381
386
|
]);
|
|
382
387
|
return /*#__PURE__*/ jsx(ButtonHandles, {
|
|
@@ -43,17 +43,23 @@ function useEdgeToolbarState({ edgeId, pathElementRef, isHovered, source, target
|
|
|
43
43
|
targetPosition
|
|
44
44
|
});
|
|
45
45
|
const handleAddNodeOnEdge = (0, external_react_namespaceObject.useCallback)((position)=>{
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
46
|
+
const existingEdge = reactFlow.getEdges().find((edge)=>edge.id === edgeId);
|
|
47
|
+
const originalEdge = existingEdge ? {
|
|
48
|
+
...existingEdge,
|
|
49
|
+
data: parentId ? {
|
|
50
|
+
...existingEdge.data ?? {},
|
|
51
|
+
parentId
|
|
52
|
+
} : existingEdge.data
|
|
53
|
+
} : {
|
|
50
54
|
id: edgeId,
|
|
51
55
|
source,
|
|
52
56
|
sourceHandle: sourceHandleId,
|
|
53
57
|
target,
|
|
54
58
|
targetHandle: targetHandleId,
|
|
55
59
|
type: 'default',
|
|
56
|
-
data:
|
|
60
|
+
data: parentId ? {
|
|
61
|
+
parentId
|
|
62
|
+
} : void 0
|
|
57
63
|
};
|
|
58
64
|
(0, createPreviewGraph_cjs_namespaceObject.showPreviewGraph)({
|
|
59
65
|
sourceNodeId: source,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEdgeToolbarState.d.ts","sourceRoot":"","sources":["../../../../../src/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,QAAQ,EAAgB,MAAM,0CAA0C,CAAC;AAKlG,OAAO,KAAK,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAGtF,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC9D,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,EAAE,QAAQ,CAAC;IACzB,cAAc,EAAE,QAAQ,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,uBAAuB,GAAG,IAAI,CAAC;IACnD,MAAM,EAAE,iBAAiB,CAAC;IAC1B,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;CAC3D;AAED,wBAAgB,mBAAmB,CAAC,EAClC,MAAM,EACN,cAAc,EACd,SAAS,EACT,MAAM,EACN,MAAM,EACN,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,QAAQ,GACT,EAAE,wBAAwB,GAAG,gBAAgB,
|
|
1
|
+
{"version":3,"file":"useEdgeToolbarState.d.ts","sourceRoot":"","sources":["../../../../../src/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,QAAQ,EAAgB,MAAM,0CAA0C,CAAC;AAKlG,OAAO,KAAK,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAGtF,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC9D,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,EAAE,QAAQ,CAAC;IACzB,cAAc,EAAE,QAAQ,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,uBAAuB,GAAG,IAAI,CAAC;IACnD,MAAM,EAAE,iBAAiB,CAAC;IAC1B,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;CAC3D;AAED,wBAAgB,mBAAmB,CAAC,EAClC,MAAM,EACN,cAAc,EACd,SAAS,EACT,MAAM,EACN,MAAM,EACN,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,QAAQ,GACT,EAAE,wBAAwB,GAAG,gBAAgB,CA+F7C"}
|
|
@@ -15,17 +15,23 @@ function useEdgeToolbarState({ edgeId, pathElementRef, isHovered, source, target
|
|
|
15
15
|
targetPosition
|
|
16
16
|
});
|
|
17
17
|
const handleAddNodeOnEdge = useCallback((position)=>{
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
const existingEdge = reactFlow.getEdges().find((edge)=>edge.id === edgeId);
|
|
19
|
+
const originalEdge = existingEdge ? {
|
|
20
|
+
...existingEdge,
|
|
21
|
+
data: parentId ? {
|
|
22
|
+
...existingEdge.data ?? {},
|
|
23
|
+
parentId
|
|
24
|
+
} : existingEdge.data
|
|
25
|
+
} : {
|
|
22
26
|
id: edgeId,
|
|
23
27
|
source,
|
|
24
28
|
sourceHandle: sourceHandleId,
|
|
25
29
|
target,
|
|
26
30
|
targetHandle: targetHandleId,
|
|
27
31
|
type: 'default',
|
|
28
|
-
data:
|
|
32
|
+
data: parentId ? {
|
|
33
|
+
parentId
|
|
34
|
+
} : void 0
|
|
29
35
|
};
|
|
30
36
|
showPreviewGraph({
|
|
31
37
|
sourceNodeId: source,
|
|
@@ -37,11 +37,12 @@ const external_NodeToolbar_utils_cjs_namespaceObject = require("./NodeToolbar.ut
|
|
|
37
37
|
const external_useToolbarState_cjs_namespaceObject = require("./useToolbarState.cjs");
|
|
38
38
|
const POSITIONER_BASE_CLASS = 'absolute flex pointer-events-none z-10';
|
|
39
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'
|
|
40
|
+
top: 'top-[calc(-52px-var(--toolbar-offset,0px))] left-0 right-0 flex-row',
|
|
41
|
+
bottom: 'bottom-[calc(-52px-var(--toolbar-offset,0px))] left-0 right-0 flex-row',
|
|
42
|
+
left: 'left-[calc(-52px-var(--toolbar-offset,0px))] top-0 bottom-0 flex-col',
|
|
43
|
+
right: 'right-[calc(-52px-var(--toolbar-offset,0px))] top-0 bottom-0 flex-col'
|
|
44
44
|
};
|
|
45
|
+
const TOOLBAR_OFFSET = 48;
|
|
45
46
|
const POSITIONER_ALIGN_CLASS = {
|
|
46
47
|
start: 'justify-start',
|
|
47
48
|
center: 'justify-center',
|
|
@@ -61,7 +62,7 @@ const DROPDOWN_MENU_CLASS = "absolute top-[-2px] left-[calc(100%+4px)] min-w-[18
|
|
|
61
62
|
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
63
|
const DROPDOWN_ITEM_DISABLED_CLASS = 'cursor-not-allowed opacity-40 pointer-events-none';
|
|
63
64
|
const DROPDOWN_ITEM_ENABLED_CLASS = 'cursor-pointer opacity-100';
|
|
64
|
-
const NodeToolbarComponent = ({ nodeId, config, expanded, hidden })=>{
|
|
65
|
+
const NodeToolbarComponent = ({ nodeId, config, expanded, hidden, offsetToolbar })=>{
|
|
65
66
|
const { isDropdownOpen, setIsDropdownOpen, dropdownRef, buttonRef, actionsToDisplay, displayState, shouldShowOverflow, overflowActionsToDisplay, separatorOrientation, toggleDropdown } = (0, external_useToolbarState_cjs_namespaceObject.useToolbarState)({
|
|
66
67
|
config,
|
|
67
68
|
expanded,
|
|
@@ -80,6 +81,14 @@ const NodeToolbarComponent = ({ nodeId, config, expanded, hidden })=>{
|
|
|
80
81
|
const separatorClassName = (0, external_react_namespaceObject.useMemo)(()=>(0, apollo_wind_namespaceObject.cn)(SEPARATOR_BASE_CLASS, 'horizontal' === separatorOrientation ? SEPARATOR_HORIZONTAL_CLASS : SEPARATOR_VERTICAL_CLASS), [
|
|
81
82
|
separatorOrientation
|
|
82
83
|
]);
|
|
84
|
+
const offsetStyle = (0, external_react_namespaceObject.useMemo)(()=>{
|
|
85
|
+
if (!offsetToolbar) return;
|
|
86
|
+
return {
|
|
87
|
+
'--toolbar-offset': `${TOOLBAR_OFFSET}px`
|
|
88
|
+
};
|
|
89
|
+
}, [
|
|
90
|
+
offsetToolbar
|
|
91
|
+
]);
|
|
83
92
|
const toolbarAnimationVariants = (0, external_react_namespaceObject.useMemo)(()=>{
|
|
84
93
|
const offsetAxis = 'top' === position || 'bottom' === position ? 'y' : 'x';
|
|
85
94
|
const offsetAmount = 'top' === position || 'left' === position ? -10 : 10;
|
|
@@ -111,6 +120,7 @@ const NodeToolbarComponent = ({ nodeId, config, expanded, hidden })=>{
|
|
|
111
120
|
return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(react_namespaceObject.AnimatePresence, {
|
|
112
121
|
children: 'hidden' !== displayState && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
|
|
113
122
|
className: positionerClassName,
|
|
123
|
+
style: offsetStyle,
|
|
114
124
|
children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(react_namespaceObject.motion.div, {
|
|
115
125
|
layout: "position",
|
|
116
126
|
className: containerClassName,
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { NodeToolbarProps } from './NodeToolbar.types';
|
|
2
|
-
export declare const NodeToolbar: import("react").MemoExoticComponent<({ nodeId, config, expanded, hidden }: NodeToolbarProps) => import("react/jsx-runtime").JSX.Element | null>;
|
|
2
|
+
export declare const NodeToolbar: import("react").MemoExoticComponent<({ nodeId, config, expanded, hidden, offsetToolbar, }: NodeToolbarProps) => import("react/jsx-runtime").JSX.Element | null>;
|
|
3
3
|
//# sourceMappingURL=NodeToolbar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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;AA8O5D,eAAO,MAAM,WAAW,6FAhLrB,gBAAgB,oDAgLkC,CAAC"}
|
|
@@ -9,11 +9,12 @@ import { isSeparator } from "./NodeToolbar.utils.js";
|
|
|
9
9
|
import { useToolbarState } from "./useToolbarState.js";
|
|
10
10
|
const POSITIONER_BASE_CLASS = 'absolute flex pointer-events-none z-10';
|
|
11
11
|
const POSITIONER_POSITION_CLASS = {
|
|
12
|
-
top: 'top-[-52px] left-0 right-0 flex-row',
|
|
13
|
-
bottom: 'bottom-[-52px] left-0 right-0 flex-row',
|
|
14
|
-
left: 'left-[-52px] top-0 bottom-0 flex-col',
|
|
15
|
-
right: 'right-[-52px] top-0 bottom-0 flex-col'
|
|
12
|
+
top: 'top-[calc(-52px-var(--toolbar-offset,0px))] left-0 right-0 flex-row',
|
|
13
|
+
bottom: 'bottom-[calc(-52px-var(--toolbar-offset,0px))] left-0 right-0 flex-row',
|
|
14
|
+
left: 'left-[calc(-52px-var(--toolbar-offset,0px))] top-0 bottom-0 flex-col',
|
|
15
|
+
right: 'right-[calc(-52px-var(--toolbar-offset,0px))] top-0 bottom-0 flex-col'
|
|
16
16
|
};
|
|
17
|
+
const TOOLBAR_OFFSET = 48;
|
|
17
18
|
const POSITIONER_ALIGN_CLASS = {
|
|
18
19
|
start: 'justify-start',
|
|
19
20
|
center: 'justify-center',
|
|
@@ -33,7 +34,7 @@ const DROPDOWN_MENU_CLASS = "absolute top-[-2px] left-[calc(100%+4px)] min-w-[18
|
|
|
33
34
|
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)";
|
|
34
35
|
const DROPDOWN_ITEM_DISABLED_CLASS = 'cursor-not-allowed opacity-40 pointer-events-none';
|
|
35
36
|
const DROPDOWN_ITEM_ENABLED_CLASS = 'cursor-pointer opacity-100';
|
|
36
|
-
const NodeToolbarComponent = ({ nodeId, config, expanded, hidden })=>{
|
|
37
|
+
const NodeToolbarComponent = ({ nodeId, config, expanded, hidden, offsetToolbar })=>{
|
|
37
38
|
const { isDropdownOpen, setIsDropdownOpen, dropdownRef, buttonRef, actionsToDisplay, displayState, shouldShowOverflow, overflowActionsToDisplay, separatorOrientation, toggleDropdown } = useToolbarState({
|
|
38
39
|
config,
|
|
39
40
|
expanded,
|
|
@@ -52,6 +53,14 @@ const NodeToolbarComponent = ({ nodeId, config, expanded, hidden })=>{
|
|
|
52
53
|
const separatorClassName = useMemo(()=>cn(SEPARATOR_BASE_CLASS, 'horizontal' === separatorOrientation ? SEPARATOR_HORIZONTAL_CLASS : SEPARATOR_VERTICAL_CLASS), [
|
|
53
54
|
separatorOrientation
|
|
54
55
|
]);
|
|
56
|
+
const offsetStyle = useMemo(()=>{
|
|
57
|
+
if (!offsetToolbar) return;
|
|
58
|
+
return {
|
|
59
|
+
'--toolbar-offset': `${TOOLBAR_OFFSET}px`
|
|
60
|
+
};
|
|
61
|
+
}, [
|
|
62
|
+
offsetToolbar
|
|
63
|
+
]);
|
|
55
64
|
const toolbarAnimationVariants = useMemo(()=>{
|
|
56
65
|
const offsetAxis = 'top' === position || 'bottom' === position ? 'y' : 'x';
|
|
57
66
|
const offsetAmount = 'top' === position || 'left' === position ? -10 : 10;
|
|
@@ -83,6 +92,7 @@ const NodeToolbarComponent = ({ nodeId, config, expanded, hidden })=>{
|
|
|
83
92
|
return /*#__PURE__*/ jsx(AnimatePresence, {
|
|
84
93
|
children: 'hidden' !== displayState && /*#__PURE__*/ jsx("div", {
|
|
85
94
|
className: positionerClassName,
|
|
95
|
+
style: offsetStyle,
|
|
86
96
|
children: /*#__PURE__*/ jsxs(motion.div, {
|
|
87
97
|
layout: "position",
|
|
88
98
|
className: containerClassName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeToolbar.types.d.ts","sourceRoot":"","sources":["../../../../../src/canvas/components/Toolbar/NodeToolbar/NodeToolbar.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,eAAe,CAAC,EAAE,aAAa,EAAE,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAC/C,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;CACpC;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAElB,MAAM,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"NodeToolbar.types.d.ts","sourceRoot":"","sources":["../../../../../src/canvas/components/Toolbar/NodeToolbar/NodeToolbar.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,eAAe,CAAC,EAAE,aAAa,EAAE,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAC/C,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;CACpC;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAElB,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-definitions.d.ts","sourceRoot":"","sources":["../../../../src/canvas/storybook-utils/manifests/node-definitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE,eAAO,MAAM,gBAAgB,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"node-definitions.d.ts","sourceRoot":"","sources":["../../../../src/canvas/storybook-utils/manifests/node-definitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE,eAAO,MAAM,gBAAgB,EAAE,YAAY,EAy6B1C,CAAC"}
|
|
@@ -10,6 +10,14 @@
|
|
|
10
10
|
padding: 0 !important;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
+
.react-flow__node:hover {
|
|
14
|
+
z-index: 1000 !important;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.react-flow__node.parent:hover:not(.selected) {
|
|
18
|
+
z-index: 0 !important;
|
|
19
|
+
}
|
|
20
|
+
|
|
13
21
|
.future-dark .apollo-canvas-background {
|
|
14
22
|
background-image: linear-gradient(135deg, var(--canvas-background-overlay, var(--surface-overlay)) 0%, var(--canvas-background, var(--surface)) 100%);
|
|
15
23
|
}
|