@uipath/apollo-react 4.32.2 → 4.33.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 (38) hide show
  1. package/dist/canvas/components/CanvasModeToolbar/CanvasModeToolbar.cjs +66 -0
  2. package/dist/canvas/components/CanvasModeToolbar/CanvasModeToolbar.d.ts +13 -0
  3. package/dist/canvas/components/CanvasModeToolbar/CanvasModeToolbar.d.ts.map +1 -0
  4. package/dist/canvas/components/CanvasModeToolbar/CanvasModeToolbar.js +23 -0
  5. package/dist/canvas/components/CanvasModeToolbar/CanvasModeToolbar.types.cjs +18 -0
  6. package/dist/canvas/components/CanvasModeToolbar/CanvasModeToolbar.types.d.ts +10 -0
  7. package/dist/canvas/components/CanvasModeToolbar/CanvasModeToolbar.types.d.ts.map +1 -0
  8. package/dist/canvas/components/CanvasModeToolbar/CanvasModeToolbar.types.js +0 -0
  9. package/dist/canvas/components/CanvasModeToolbar/index.cjs +45 -0
  10. package/dist/canvas/components/CanvasModeToolbar/index.d.ts +4 -0
  11. package/dist/canvas/components/CanvasModeToolbar/index.d.ts.map +1 -0
  12. package/dist/canvas/components/CanvasModeToolbar/index.js +2 -0
  13. package/dist/canvas/components/CanvasZoomControls/CanvasZoomControls.cjs +120 -0
  14. package/dist/canvas/components/CanvasZoomControls/CanvasZoomControls.d.ts +18 -0
  15. package/dist/canvas/components/CanvasZoomControls/CanvasZoomControls.d.ts.map +1 -0
  16. package/dist/canvas/components/CanvasZoomControls/CanvasZoomControls.js +86 -0
  17. package/dist/canvas/components/CanvasZoomControls/index.cjs +36 -0
  18. package/dist/canvas/components/CanvasZoomControls/index.d.ts +3 -0
  19. package/dist/canvas/components/CanvasZoomControls/index.d.ts.map +1 -0
  20. package/dist/canvas/components/CanvasZoomControls/index.js +2 -0
  21. package/dist/canvas/components/ToolbarButton.cjs +63 -0
  22. package/dist/canvas/components/ToolbarButton.d.ts +14 -0
  23. package/dist/canvas/components/ToolbarButton.d.ts.map +1 -0
  24. package/dist/canvas/components/ToolbarButton.js +29 -0
  25. package/dist/canvas/components/index.cjs +52 -38
  26. package/dist/canvas/components/index.d.ts +2 -0
  27. package/dist/canvas/components/index.d.ts.map +1 -1
  28. package/dist/canvas/components/index.js +2 -0
  29. package/dist/canvas/hooks/index.cjs +17 -10
  30. package/dist/canvas/hooks/index.d.ts +1 -0
  31. package/dist/canvas/hooks/index.d.ts.map +1 -1
  32. package/dist/canvas/hooks/index.js +1 -0
  33. package/dist/canvas/hooks/useElementsOverlap.cjs +88 -0
  34. package/dist/canvas/hooks/useElementsOverlap.d.ts +6 -0
  35. package/dist/canvas/hooks/useElementsOverlap.d.ts.map +1 -0
  36. package/dist/canvas/hooks/useElementsOverlap.js +54 -0
  37. package/dist/canvas/styles/tailwind.canvas.css +1 -1
  38. package/package.json +2 -2
@@ -0,0 +1,66 @@
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
+ CANVAS_MODE_TOOLBAR_HEIGHT: ()=>CANVAS_MODE_TOOLBAR_HEIGHT,
28
+ CountBadge: ()=>CanvasModeToolbar_CountBadge,
29
+ CanvasModeToolbar: ()=>CanvasModeToolbar_CanvasModeToolbar,
30
+ TOOLBAR_ICON_BUTTON_CLASS: ()=>TOOLBAR_ICON_BUTTON_CLASS
31
+ });
32
+ const jsx_runtime_namespaceObject = require("react/jsx-runtime");
33
+ const external_react_namespaceObject = require("react");
34
+ const apollo_wind_namespaceObject = require("@uipath/apollo-wind");
35
+ const CANVAS_MODE_TOOLBAR_HEIGHT = 48;
36
+ const TOOLBAR_ICON_BUTTON_CLASS = 'text-foreground-muted hover:bg-surface-hover hover:text-foreground [&_svg]:size-5 [&_svg]:transition-all hover:[&_svg]:size-6 disabled:hover:[&_svg]:size-5';
37
+ const CanvasModeToolbar_CountBadge = /*#__PURE__*/ (0, external_react_namespaceObject.memo)(function({ count, variant = 'default' }) {
38
+ if (count <= 0) return null;
39
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
40
+ className: `absolute -top-1 -right-1 min-w-[16px] h-4 px-1 text-[10px] font-medium rounded-full flex items-center justify-center ${'destructive' === variant ? 'bg-destructive text-destructive-foreground' : 'bg-muted text-muted-foreground'}`,
41
+ children: count
42
+ });
43
+ });
44
+ const CanvasModeToolbar_CanvasModeToolbar = /*#__PURE__*/ (0, external_react_namespaceObject.memo)(function({ children, className }) {
45
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(apollo_wind_namespaceObject.Row, {
46
+ "data-testid": "canvas-toolbar",
47
+ className: (0, apollo_wind_namespaceObject.cn)('gap-2 items-center rounded-2xl border border-border-subtle bg-surface-raised text-foreground px-2.5 backdrop-blur-sm shadow-lg', className),
48
+ style: {
49
+ height: CANVAS_MODE_TOOLBAR_HEIGHT
50
+ },
51
+ children: children
52
+ });
53
+ });
54
+ exports.CANVAS_MODE_TOOLBAR_HEIGHT = __webpack_exports__.CANVAS_MODE_TOOLBAR_HEIGHT;
55
+ exports.CanvasModeToolbar = __webpack_exports__.CanvasModeToolbar;
56
+ exports.CountBadge = __webpack_exports__.CountBadge;
57
+ exports.TOOLBAR_ICON_BUTTON_CLASS = __webpack_exports__.TOOLBAR_ICON_BUTTON_CLASS;
58
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
59
+ "CANVAS_MODE_TOOLBAR_HEIGHT",
60
+ "CanvasModeToolbar",
61
+ "CountBadge",
62
+ "TOOLBAR_ICON_BUTTON_CLASS"
63
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
64
+ Object.defineProperty(exports, '__esModule', {
65
+ value: true
66
+ });
@@ -0,0 +1,13 @@
1
+ import type { ReactNode } from 'react';
2
+ export declare const CANVAS_MODE_TOOLBAR_HEIGHT = 48;
3
+ export declare const TOOLBAR_ICON_BUTTON_CLASS = "text-foreground-muted hover:bg-surface-hover hover:text-foreground [&_svg]:size-5 [&_svg]:transition-all hover:[&_svg]:size-6 disabled:hover:[&_svg]:size-5";
4
+ export declare const CountBadge: import("react").NamedExoticComponent<{
5
+ count: number;
6
+ variant?: "default" | "destructive";
7
+ }>;
8
+ export interface CanvasModeToolbarProps {
9
+ children?: ReactNode;
10
+ className?: string;
11
+ }
12
+ export declare const CanvasModeToolbar: import("react").NamedExoticComponent<CanvasModeToolbarProps>;
13
+ //# sourceMappingURL=CanvasModeToolbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CanvasModeToolbar.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/CanvasModeToolbar/CanvasModeToolbar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAOvC,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAE7C,eAAO,MAAM,yBAAyB,gKACyH,CAAC;AAMhK,eAAO,MAAM,UAAU;WAId,MAAM;cACH,SAAS,GAAG,aAAa;EAcnC,CAAC;AAMH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD,eAAO,MAAM,iBAAiB,8DAgB5B,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { memo } from "react";
3
+ import { Row, cn } from "@uipath/apollo-wind";
4
+ const CANVAS_MODE_TOOLBAR_HEIGHT = 48;
5
+ const TOOLBAR_ICON_BUTTON_CLASS = 'text-foreground-muted hover:bg-surface-hover hover:text-foreground [&_svg]:size-5 [&_svg]:transition-all hover:[&_svg]:size-6 disabled:hover:[&_svg]:size-5';
6
+ const CanvasModeToolbar_CountBadge = /*#__PURE__*/ memo(function({ count, variant = 'default' }) {
7
+ if (count <= 0) return null;
8
+ return /*#__PURE__*/ jsx("span", {
9
+ className: `absolute -top-1 -right-1 min-w-[16px] h-4 px-1 text-[10px] font-medium rounded-full flex items-center justify-center ${'destructive' === variant ? 'bg-destructive text-destructive-foreground' : 'bg-muted text-muted-foreground'}`,
10
+ children: count
11
+ });
12
+ });
13
+ const CanvasModeToolbar_CanvasModeToolbar = /*#__PURE__*/ memo(function({ children, className }) {
14
+ return /*#__PURE__*/ jsx(Row, {
15
+ "data-testid": "canvas-toolbar",
16
+ className: cn('gap-2 items-center rounded-2xl border border-border-subtle bg-surface-raised text-foreground px-2.5 backdrop-blur-sm shadow-lg', className),
17
+ style: {
18
+ height: CANVAS_MODE_TOOLBAR_HEIGHT
19
+ },
20
+ children: children
21
+ });
22
+ });
23
+ export { CANVAS_MODE_TOOLBAR_HEIGHT, CanvasModeToolbar_CanvasModeToolbar as CanvasModeToolbar, CanvasModeToolbar_CountBadge as CountBadge, TOOLBAR_ICON_BUTTON_CLASS };
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.r = (exports1)=>{
5
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
6
+ value: 'Module'
7
+ });
8
+ Object.defineProperty(exports1, '__esModule', {
9
+ value: true
10
+ });
11
+ };
12
+ })();
13
+ var __webpack_exports__ = {};
14
+ __webpack_require__.r(__webpack_exports__);
15
+ for(var __rspack_i in __webpack_exports__)exports[__rspack_i] = __webpack_exports__[__rspack_i];
16
+ Object.defineProperty(exports, '__esModule', {
17
+ value: true
18
+ });
@@ -0,0 +1,10 @@
1
+ export type CanvasMode = 'design' | 'debug' | 'evaluate';
2
+ export interface DebugControls {
3
+ isInitiated?: boolean;
4
+ status?: string;
5
+ onStep?: () => void;
6
+ onContinue?: () => void;
7
+ onRestart?: () => void;
8
+ onStop?: () => void;
9
+ }
10
+ //# sourceMappingURL=CanvasModeToolbar.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CanvasModeToolbar.types.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/CanvasModeToolbar/CanvasModeToolbar.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;AAEzD,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB"}
@@ -0,0 +1,45 @@
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
+ CANVAS_MODE_TOOLBAR_HEIGHT: ()=>external_CanvasModeToolbar_cjs_namespaceObject.CANVAS_MODE_TOOLBAR_HEIGHT,
28
+ CountBadge: ()=>external_CanvasModeToolbar_cjs_namespaceObject.CountBadge,
29
+ CanvasModeToolbar: ()=>external_CanvasModeToolbar_cjs_namespaceObject.CanvasModeToolbar,
30
+ TOOLBAR_ICON_BUTTON_CLASS: ()=>external_CanvasModeToolbar_cjs_namespaceObject.TOOLBAR_ICON_BUTTON_CLASS
31
+ });
32
+ const external_CanvasModeToolbar_cjs_namespaceObject = require("./CanvasModeToolbar.cjs");
33
+ exports.CANVAS_MODE_TOOLBAR_HEIGHT = __webpack_exports__.CANVAS_MODE_TOOLBAR_HEIGHT;
34
+ exports.CanvasModeToolbar = __webpack_exports__.CanvasModeToolbar;
35
+ exports.CountBadge = __webpack_exports__.CountBadge;
36
+ exports.TOOLBAR_ICON_BUTTON_CLASS = __webpack_exports__.TOOLBAR_ICON_BUTTON_CLASS;
37
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
38
+ "CANVAS_MODE_TOOLBAR_HEIGHT",
39
+ "CanvasModeToolbar",
40
+ "CountBadge",
41
+ "TOOLBAR_ICON_BUTTON_CLASS"
42
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
43
+ Object.defineProperty(exports, '__esModule', {
44
+ value: true
45
+ });
@@ -0,0 +1,4 @@
1
+ export { CanvasModeToolbar, CountBadge, CANVAS_MODE_TOOLBAR_HEIGHT, TOOLBAR_ICON_BUTTON_CLASS, } from './CanvasModeToolbar';
2
+ export type { CanvasModeToolbarProps } from './CanvasModeToolbar';
3
+ export type { CanvasMode, DebugControls } from './CanvasModeToolbar.types';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/CanvasModeToolbar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { CANVAS_MODE_TOOLBAR_HEIGHT, CanvasModeToolbar, CountBadge, TOOLBAR_ICON_BUTTON_CLASS } from "./CanvasModeToolbar.js";
2
+ export { CANVAS_MODE_TOOLBAR_HEIGHT, CanvasModeToolbar, CountBadge, TOOLBAR_ICON_BUTTON_CLASS };
@@ -0,0 +1,120 @@
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
+ CanvasZoomControls: ()=>CanvasZoomControls_CanvasZoomControls
28
+ });
29
+ const jsx_runtime_namespaceObject = require("react/jsx-runtime");
30
+ const external_react_namespaceObject = require("react");
31
+ const external_lucide_react_namespaceObject = require("lucide-react");
32
+ const react_cjs_namespaceObject = require("../../xyflow/react.cjs");
33
+ const external_ToolbarButton_cjs_namespaceObject = require("../ToolbarButton.cjs");
34
+ const index_cjs_namespaceObject = require("../../../i18n/index.cjs");
35
+ const ZOOM_ICON_BUTTON_CLASS = 'text-foreground-muted hover:bg-surface-hover hover:text-foreground [&_svg]:size-[18px] [&_svg]:transition-all hover:[&_svg]:size-[22px] disabled:hover:[&_svg]:size-[18px]';
36
+ const CanvasZoomControls_CanvasZoomControls = /*#__PURE__*/ (0, external_react_namespaceObject.memo)(/*#__PURE__*/ (0, external_react_namespaceObject.forwardRef)(function({ orientation = 'vertical', fitViewOptions, zoomInOptions, zoomOutOptions, onOrganize, onFitView }, ref) {
37
+ const { zoomIn, zoomOut, fitView } = (0, react_cjs_namespaceObject.useReactFlow)();
38
+ const { _ } = (0, index_cjs_namespaceObject.useSafeLingui)();
39
+ const isVertical = 'vertical' === orientation;
40
+ const tooltipSide = isVertical ? 'left' : 'top';
41
+ const handleZoomIn = (0, external_react_namespaceObject.useCallback)(()=>{
42
+ zoomIn(zoomInOptions);
43
+ }, [
44
+ zoomIn,
45
+ zoomInOptions
46
+ ]);
47
+ const handleZoomOut = (0, external_react_namespaceObject.useCallback)(()=>{
48
+ zoomOut(zoomOutOptions);
49
+ }, [
50
+ zoomOut,
51
+ zoomOutOptions
52
+ ]);
53
+ const handleFitView = (0, external_react_namespaceObject.useCallback)(()=>{
54
+ if (onFitView) onFitView();
55
+ else fitView(fitViewOptions);
56
+ }, [
57
+ onFitView,
58
+ fitView,
59
+ fitViewOptions
60
+ ]);
61
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
62
+ ref: ref,
63
+ "data-testid": "canvas-controls",
64
+ className: `flex gap-1 items-center rounded-xl border border-border-subtle bg-surface-raised text-foreground p-1 backdrop-blur-sm shadow-lg ${isVertical ? 'flex-col' : 'flex-row'}`,
65
+ children: [
66
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_ToolbarButton_cjs_namespaceObject.ToolbarButton, {
67
+ testId: "zoom-in-button",
68
+ label: _({
69
+ id: 'canvas.zoom.zoom_in',
70
+ message: 'Zoom in'
71
+ }),
72
+ tooltipSide: tooltipSide,
73
+ onClick: handleZoomIn,
74
+ className: ZOOM_ICON_BUTTON_CLASS,
75
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_lucide_react_namespaceObject.ZoomIn, {})
76
+ }),
77
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_ToolbarButton_cjs_namespaceObject.ToolbarButton, {
78
+ testId: "zoom-out-button",
79
+ label: _({
80
+ id: 'canvas.zoom.zoom_out',
81
+ message: 'Zoom out'
82
+ }),
83
+ tooltipSide: tooltipSide,
84
+ onClick: handleZoomOut,
85
+ className: ZOOM_ICON_BUTTON_CLASS,
86
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_lucide_react_namespaceObject.ZoomOut, {})
87
+ }),
88
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_ToolbarButton_cjs_namespaceObject.ToolbarButton, {
89
+ testId: "fit-to-view-button",
90
+ label: _({
91
+ id: 'canvas.zoom.fit_to_screen',
92
+ message: 'Fit to screen'
93
+ }),
94
+ tooltipSide: tooltipSide,
95
+ onClick: handleFitView,
96
+ className: ZOOM_ICON_BUTTON_CLASS,
97
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_lucide_react_namespaceObject.Scan, {})
98
+ }),
99
+ onOrganize && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_ToolbarButton_cjs_namespaceObject.ToolbarButton, {
100
+ testId: "organize-button",
101
+ label: _({
102
+ id: 'canvas.zoom.tidy_up',
103
+ message: 'Tidy up'
104
+ }),
105
+ tooltipSide: tooltipSide,
106
+ onClick: onOrganize,
107
+ className: ZOOM_ICON_BUTTON_CLASS,
108
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_lucide_react_namespaceObject.BrushCleaning, {})
109
+ })
110
+ ]
111
+ });
112
+ }));
113
+ CanvasZoomControls_CanvasZoomControls.displayName = 'CanvasZoomControls';
114
+ exports.CanvasZoomControls = __webpack_exports__.CanvasZoomControls;
115
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
116
+ "CanvasZoomControls"
117
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
118
+ Object.defineProperty(exports, '__esModule', {
119
+ value: true
120
+ });
@@ -0,0 +1,18 @@
1
+ export interface CanvasZoomControlsProps {
2
+ orientation?: 'vertical' | 'horizontal';
3
+ fitViewOptions?: {
4
+ duration?: number;
5
+ padding?: number;
6
+ maxZoom?: number;
7
+ };
8
+ zoomInOptions?: {
9
+ duration?: number;
10
+ };
11
+ zoomOutOptions?: {
12
+ duration?: number;
13
+ };
14
+ onOrganize?: () => void;
15
+ onFitView?: () => void;
16
+ }
17
+ export declare const CanvasZoomControls: import("react").NamedExoticComponent<CanvasZoomControlsProps & import("react").RefAttributes<HTMLDivElement>>;
18
+ //# sourceMappingURL=CanvasZoomControls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CanvasZoomControls.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/CanvasZoomControls/CanvasZoomControls.tsx"],"names":[],"mappings":"AAMA,MAAM,WAAW,uBAAuB;IACtC,WAAW,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACxC,cAAc,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3E,aAAa,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,cAAc,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAKD,eAAO,MAAM,kBAAkB,+GAqF9B,CAAC"}
@@ -0,0 +1,86 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { forwardRef, memo, useCallback } from "react";
3
+ import { BrushCleaning, Scan, ZoomIn, ZoomOut } from "lucide-react";
4
+ import { useReactFlow } from "../../xyflow/react.js";
5
+ import { ToolbarButton } from "../ToolbarButton.js";
6
+ import { useSafeLingui } from "../../../i18n/index.js";
7
+ const ZOOM_ICON_BUTTON_CLASS = 'text-foreground-muted hover:bg-surface-hover hover:text-foreground [&_svg]:size-[18px] [&_svg]:transition-all hover:[&_svg]:size-[22px] disabled:hover:[&_svg]:size-[18px]';
8
+ const CanvasZoomControls_CanvasZoomControls = /*#__PURE__*/ memo(/*#__PURE__*/ forwardRef(function({ orientation = 'vertical', fitViewOptions, zoomInOptions, zoomOutOptions, onOrganize, onFitView }, ref) {
9
+ const { zoomIn, zoomOut, fitView } = useReactFlow();
10
+ const { _ } = useSafeLingui();
11
+ const isVertical = 'vertical' === orientation;
12
+ const tooltipSide = isVertical ? 'left' : 'top';
13
+ const handleZoomIn = useCallback(()=>{
14
+ zoomIn(zoomInOptions);
15
+ }, [
16
+ zoomIn,
17
+ zoomInOptions
18
+ ]);
19
+ const handleZoomOut = useCallback(()=>{
20
+ zoomOut(zoomOutOptions);
21
+ }, [
22
+ zoomOut,
23
+ zoomOutOptions
24
+ ]);
25
+ const handleFitView = useCallback(()=>{
26
+ if (onFitView) onFitView();
27
+ else fitView(fitViewOptions);
28
+ }, [
29
+ onFitView,
30
+ fitView,
31
+ fitViewOptions
32
+ ]);
33
+ return /*#__PURE__*/ jsxs("div", {
34
+ ref: ref,
35
+ "data-testid": "canvas-controls",
36
+ className: `flex gap-1 items-center rounded-xl border border-border-subtle bg-surface-raised text-foreground p-1 backdrop-blur-sm shadow-lg ${isVertical ? 'flex-col' : 'flex-row'}`,
37
+ children: [
38
+ /*#__PURE__*/ jsx(ToolbarButton, {
39
+ testId: "zoom-in-button",
40
+ label: _({
41
+ id: 'canvas.zoom.zoom_in',
42
+ message: 'Zoom in'
43
+ }),
44
+ tooltipSide: tooltipSide,
45
+ onClick: handleZoomIn,
46
+ className: ZOOM_ICON_BUTTON_CLASS,
47
+ children: /*#__PURE__*/ jsx(ZoomIn, {})
48
+ }),
49
+ /*#__PURE__*/ jsx(ToolbarButton, {
50
+ testId: "zoom-out-button",
51
+ label: _({
52
+ id: 'canvas.zoom.zoom_out',
53
+ message: 'Zoom out'
54
+ }),
55
+ tooltipSide: tooltipSide,
56
+ onClick: handleZoomOut,
57
+ className: ZOOM_ICON_BUTTON_CLASS,
58
+ children: /*#__PURE__*/ jsx(ZoomOut, {})
59
+ }),
60
+ /*#__PURE__*/ jsx(ToolbarButton, {
61
+ testId: "fit-to-view-button",
62
+ label: _({
63
+ id: 'canvas.zoom.fit_to_screen',
64
+ message: 'Fit to screen'
65
+ }),
66
+ tooltipSide: tooltipSide,
67
+ onClick: handleFitView,
68
+ className: ZOOM_ICON_BUTTON_CLASS,
69
+ children: /*#__PURE__*/ jsx(Scan, {})
70
+ }),
71
+ onOrganize && /*#__PURE__*/ jsx(ToolbarButton, {
72
+ testId: "organize-button",
73
+ label: _({
74
+ id: 'canvas.zoom.tidy_up',
75
+ message: 'Tidy up'
76
+ }),
77
+ tooltipSide: tooltipSide,
78
+ onClick: onOrganize,
79
+ className: ZOOM_ICON_BUTTON_CLASS,
80
+ children: /*#__PURE__*/ jsx(BrushCleaning, {})
81
+ })
82
+ ]
83
+ });
84
+ }));
85
+ CanvasZoomControls_CanvasZoomControls.displayName = 'CanvasZoomControls';
86
+ export { CanvasZoomControls_CanvasZoomControls as CanvasZoomControls };
@@ -0,0 +1,36 @@
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
+ CanvasZoomControls: ()=>external_CanvasZoomControls_cjs_namespaceObject.CanvasZoomControls
28
+ });
29
+ const external_CanvasZoomControls_cjs_namespaceObject = require("./CanvasZoomControls.cjs");
30
+ exports.CanvasZoomControls = __webpack_exports__.CanvasZoomControls;
31
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
32
+ "CanvasZoomControls"
33
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
34
+ Object.defineProperty(exports, '__esModule', {
35
+ value: true
36
+ });
@@ -0,0 +1,3 @@
1
+ export { CanvasZoomControls } from './CanvasZoomControls';
2
+ export type { CanvasZoomControlsProps } from './CanvasZoomControls';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/CanvasZoomControls/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { CanvasZoomControls } from "./CanvasZoomControls.js";
2
+ export { CanvasZoomControls };
@@ -0,0 +1,63 @@
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
+ ToolbarButton: ()=>ToolbarButton_ToolbarButton
28
+ });
29
+ const jsx_runtime_namespaceObject = require("react/jsx-runtime");
30
+ const external_react_namespaceObject = require("react");
31
+ const apollo_wind_namespaceObject = require("@uipath/apollo-wind");
32
+ const ToolbarButton_ToolbarButton = /*#__PURE__*/ (0, external_react_namespaceObject.forwardRef)(function({ label, tooltip, testId, onClick, disabled, className, tooltipSide, children }, ref) {
33
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(apollo_wind_namespaceObject.Tooltip, {
34
+ children: [
35
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(apollo_wind_namespaceObject.TooltipTrigger, {
36
+ asChild: true,
37
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(apollo_wind_namespaceObject.Button, {
38
+ ref: ref,
39
+ "data-testid": testId,
40
+ "aria-label": label,
41
+ variant: "ghost",
42
+ size: "xs",
43
+ icon: true,
44
+ className: className,
45
+ onClick: onClick,
46
+ disabled: disabled,
47
+ children: children
48
+ })
49
+ }),
50
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(apollo_wind_namespaceObject.TooltipContent, {
51
+ side: tooltipSide,
52
+ children: tooltip ?? label
53
+ })
54
+ ]
55
+ });
56
+ });
57
+ exports.ToolbarButton = __webpack_exports__.ToolbarButton;
58
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
59
+ "ToolbarButton"
60
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
61
+ Object.defineProperty(exports, '__esModule', {
62
+ value: true
63
+ });
@@ -0,0 +1,14 @@
1
+ import type { MouseEventHandler, ReactNode } from 'react';
2
+ interface ToolbarButtonProps {
3
+ label: string;
4
+ tooltip?: ReactNode;
5
+ testId?: string;
6
+ onClick?: MouseEventHandler<HTMLButtonElement>;
7
+ disabled?: boolean;
8
+ className?: string;
9
+ tooltipSide?: 'top' | 'right' | 'bottom' | 'left';
10
+ children: ReactNode;
11
+ }
12
+ export declare const ToolbarButton: import("react").ForwardRefExoticComponent<ToolbarButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
13
+ export {};
14
+ //# sourceMappingURL=ToolbarButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolbarButton.d.ts","sourceRoot":"","sources":["../../../src/canvas/components/ToolbarButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAG1D,UAAU,kBAAkB;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAC/C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAClD,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,eAAO,MAAM,aAAa,kHA0BzB,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { forwardRef } from "react";
3
+ import { Button, Tooltip, TooltipContent, TooltipTrigger } from "@uipath/apollo-wind";
4
+ const ToolbarButton_ToolbarButton = /*#__PURE__*/ forwardRef(function({ label, tooltip, testId, onClick, disabled, className, tooltipSide, children }, ref) {
5
+ return /*#__PURE__*/ jsxs(Tooltip, {
6
+ children: [
7
+ /*#__PURE__*/ jsx(TooltipTrigger, {
8
+ asChild: true,
9
+ children: /*#__PURE__*/ jsx(Button, {
10
+ ref: ref,
11
+ "data-testid": testId,
12
+ "aria-label": label,
13
+ variant: "ghost",
14
+ size: "xs",
15
+ icon: true,
16
+ className: className,
17
+ onClick: onClick,
18
+ disabled: disabled,
19
+ children: children
20
+ })
21
+ }),
22
+ /*#__PURE__*/ jsx(TooltipContent, {
23
+ side: tooltipSide,
24
+ children: tooltip ?? label
25
+ })
26
+ ]
27
+ });
28
+ });
29
+ export { ToolbarButton_ToolbarButton as ToolbarButton };