@progress/kendo-react-diagram 16.2.0-develop.12 → 16.2.0-develop.14
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/Diagram.js +1 -1
- package/Diagram.mjs +119 -114
- package/dist/cdn/js/kendo-react-diagram.js +1 -1
- package/package-metadata.js +1 -1
- package/package-metadata.mjs +2 -2
- package/package.json +9 -9
- package/rich-text-editing/DiagramEditor.js +1 -1
- package/rich-text-editing/DiagramEditor.mjs +49 -48
- package/rich-text-editing/types.d.ts +1 -1
package/Diagram.js
CHANGED
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const De=require("react"),m=require("@progress/kendo-react-common"),x=require("@progress/kendo-diagram-common"),j=require("./package-metadata.js"),he=require("./DiagramConnectionTooltip.js"),ye=require("./DiagramShapeTooltip.js"),be=require("./hooks/useDiagramTooltip.js"),ze=require("./hooks/useDiagramData.js"),ve=require("./hooks/useDiagramEvents.js"),n=require("./utils/consts.js"),L=require("./utils/navigate.js");function Me(i){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(i){for(const r in i)if(r!=="default"){const p=Object.getOwnPropertyDescriptor(i,r);Object.defineProperty(s,r,p.get?p:{enumerable:!0,get:()=>i[r]})}}return s.default=i,Object.freeze(s)}const o=Me(De),W=o.forwardRef((i,s)=>{const{connectionDefaults:r,connections:p=n.diagramDefaultProps.connections,connectionModelFields:A,editable:g=n.diagramDefaultProps.editable,layout:D,pannable:h=n.diagramDefaultProps.pannable,selectable:y=n.diagramDefaultProps.selectable,shapeDefaults:b,shapes:V=n.diagramDefaultProps.shapes,shapeModelFields:F,zoom:z=n.diagramDefaultProps.zoom,zoomMax:v=n.diagramDefaultProps.zoomMax,zoomMin:M=n.diagramDefaultProps.zoomMin,zoomRate:R=n.diagramDefaultProps.zoomRate,navigable:E,onChange:H,onDiagramClick:K,onDrag:Z,onDragEnd:_,onDragStart:B,onShapeBoundsChange:I,onMouseEnter:G,onMouseLeave:J,onPan:Q,onSelect:U,onZoomEnd:X,onZoomStart:Y,onTooltipShow:$,onTooltipHide:ee,style:ae,className:oe,role:S=n.diagramDefaultProps.role,ariaLabel:T,children:l}=i,c=o.useRef(null),u=o.useRef(null),[te,ne]=o.useState(null),se=!m.validatePackage(j.packageMetadata,{component:"Diagram"}),ie=m.getLicenseMessage(j.packageMetadata),k=o.useMemo(()=>L.normalizeNavigable(E),[E]),P=o.useCallback(a=>{u.current=a,typeof s=="function"?s(a):s&&(s.current=a),ne(a)},[s]),{convertedShapes:C,convertedConnections:N}=ze.useDiagramData(V,p,F,A),O=o.useMemo(()=>({role:S,ariaLabel:T,ariaRoleDescription:"Diagram"}),[S,T]),e=o.useMemo(()=>({shapes:C,connections:N,selectable:y,editable:g,zoom:z,zoomMax:v,zoomMin:M,zoomRate:R,layout:D,pannable:h,shapeDefaults:b,connectionDefaults:r,navigation:L.toNavigationOptions(k),accessibility:O}),[C,N,y,g,z,v,M,R,D,h,b,r,k,O]),re=o.useMemo(()=>{const a=o.Children.toArray(l).find(t=>o.isValidElement(t)&&t.type===ye.DiagramShapeTooltip);return a?a.props.children:null},[l]),le=o.useMemo(()=>{const a=o.Children.toArray(l).find(t=>o.isValidElement(t)&&t.type===he.DiagramConnectionTooltip);return a?a.props.children:null},[l]),q=o.Children.toArray(l).find(a=>o.isValidElement(a)&&typeof a.type=="function"&&"displayName"in a.type&&a.type.displayName==="KendoDiagramEditor"),{tooltipState:d,tooltipElRef:ce,hideTooltip:ue,handleTooltipShow:me,handleTooltipHide:pe}=be.useDiagramTooltip({shapeTooltipRender:re,connectionTooltipRender:le,diagramRef:u,wrapperRef:c,onTooltipShow:$,onTooltipHide:ee}),{bindDiagramEvents:de}=ve.useDiagramEvents({handlers:{onChange:H,onDiagramClick:K,onDrag:Z,onDragEnd:_,onDragStart:B,onShapeBoundsChange:I,onMouseEnter:G,onMouseLeave:J,onPan:Q,onSelect:U,onZoomEnd:X,onZoomStart:Y},handleTooltipShow:me,handleTooltipHide:pe}),f=o.useRef(!1),w=o.useRef(e);return o.useEffect(()=>{if(!c.current)return;const a=x.loadTheme(c.current),t=new x.Diagram(c.current,e,a);return t._createOptionElements(),t.zoom(t.options.zoom),t.canvas.draw(),u.current=t,P(t),de(t,e),f.current=!0,()=>{ue(),t.destroy(),P(null),f.current=!1}},[]),o.useEffect(()=>{if(!u.current||!f.current)return;const a=u.current,t=w.current;(t.shapes!==e.shapes||t.connections!==e.connections)&&a.load(e),(t.layout!==e.layout||t.shapes!==e.shapes||t.connections!==e.connections)&&a.layout(e.layout),t.zoom!==e.zoom&&a.zoom(e.zoom);const fe=t.connectionDefaults===e.connectionDefaults?e.connectionDefaults:{...a.options.connectionDefaults,...e.connectionDefaults},ge=t.shapeDefaults===e.shapeDefaults?e.shapeDefaults:{...a.options.shapeDefaults,...e.shapeDefaults};a.setOptions({zoom:e.zoom,zoomMax:e.zoomMax,zoomMin:e.zoomMin,zoomRate:e.zoomRate,selectable:e.selectable,pannable:e.pannable,layout:e.layout,navigation:e.navigation,connectionDefaults:fe,shapeDefaults:ge}),w.current=e},[e]),o.createElement("div",{ref:c,className:m.classNames("k-diagram",oe),style:{display:"block",position:"relative",cursor:"default",...ae}},d.visible&&o.createElement("div",{ref:ce,className:m.classNames("k-popup","k-tooltip",d.className),style:d.style},d.content),se&&o.createElement(m.WatermarkOverlay,{message:ie}),q&&o.cloneElement(q,{diagram:te}))});W.displayName="KendoDiagram";exports.Diagram=W;
|
package/Diagram.mjs
CHANGED
|
@@ -5,152 +5,154 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
import * as
|
|
9
|
-
import { validatePackage as
|
|
10
|
-
import { loadTheme as
|
|
11
|
-
import { packageMetadata as
|
|
12
|
-
import { DiagramConnectionTooltip as
|
|
13
|
-
import { DiagramShapeTooltip as
|
|
14
|
-
import { useDiagramTooltip as
|
|
15
|
-
import { useDiagramData as
|
|
16
|
-
import { useDiagramEvents as
|
|
17
|
-
import { diagramDefaultProps as
|
|
18
|
-
import { normalizeNavigable as
|
|
19
|
-
const
|
|
8
|
+
import * as t from "react";
|
|
9
|
+
import { validatePackage as fe, getLicenseMessage as de, classNames as O, WatermarkOverlay as ge } from "@progress/kendo-react-common";
|
|
10
|
+
import { loadTheme as De, Diagram as he } from "@progress/kendo-diagram-common";
|
|
11
|
+
import { packageMetadata as w } from "./package-metadata.mjs";
|
|
12
|
+
import { DiagramConnectionTooltip as ye } from "./DiagramConnectionTooltip.mjs";
|
|
13
|
+
import { DiagramShapeTooltip as ze } from "./DiagramShapeTooltip.mjs";
|
|
14
|
+
import { useDiagramTooltip as ve } from "./hooks/useDiagramTooltip.mjs";
|
|
15
|
+
import { useDiagramData as be } from "./hooks/useDiagramData.mjs";
|
|
16
|
+
import { useDiagramEvents as Me } from "./hooks/useDiagramEvents.mjs";
|
|
17
|
+
import { diagramDefaultProps as n } from "./utils/consts.mjs";
|
|
18
|
+
import { normalizeNavigable as Re, toNavigationOptions as Ee } from "./utils/navigate.mjs";
|
|
19
|
+
const Ne = t.forwardRef((L, s) => {
|
|
20
20
|
const {
|
|
21
21
|
connectionDefaults: p,
|
|
22
|
-
connections:
|
|
23
|
-
connectionModelFields:
|
|
24
|
-
editable: u =
|
|
22
|
+
connections: W = n.connections,
|
|
23
|
+
connectionModelFields: A,
|
|
24
|
+
editable: u = n.editable,
|
|
25
25
|
layout: f,
|
|
26
|
-
pannable: d =
|
|
27
|
-
selectable: g =
|
|
28
|
-
shapeDefaults:
|
|
29
|
-
shapes:
|
|
30
|
-
shapeModelFields:
|
|
31
|
-
zoom:
|
|
32
|
-
zoomMax:
|
|
33
|
-
zoomMin:
|
|
34
|
-
zoomRate: v =
|
|
26
|
+
pannable: d = n.pannable,
|
|
27
|
+
selectable: g = n.selectable,
|
|
28
|
+
shapeDefaults: D,
|
|
29
|
+
shapes: P = n.shapes,
|
|
30
|
+
shapeModelFields: V,
|
|
31
|
+
zoom: h = n.zoom,
|
|
32
|
+
zoomMax: y = n.zoomMax,
|
|
33
|
+
zoomMin: z = n.zoomMin,
|
|
34
|
+
zoomRate: v = n.zoomRate,
|
|
35
35
|
navigable: b,
|
|
36
|
-
onChange:
|
|
37
|
-
onDiagramClick:
|
|
38
|
-
onDrag:
|
|
36
|
+
onChange: F,
|
|
37
|
+
onDiagramClick: H,
|
|
38
|
+
onDrag: K,
|
|
39
39
|
onDragEnd: Z,
|
|
40
40
|
onDragStart: B,
|
|
41
41
|
onShapeBoundsChange: I,
|
|
42
|
-
onMouseEnter:
|
|
43
|
-
onMouseLeave:
|
|
44
|
-
onPan:
|
|
45
|
-
onSelect:
|
|
46
|
-
onZoomEnd:
|
|
47
|
-
onZoomStart:
|
|
48
|
-
onTooltipShow:
|
|
49
|
-
onTooltipHide:
|
|
50
|
-
style:
|
|
51
|
-
className:
|
|
52
|
-
role: M =
|
|
42
|
+
onMouseEnter: $,
|
|
43
|
+
onMouseLeave: j,
|
|
44
|
+
onPan: q,
|
|
45
|
+
onSelect: G,
|
|
46
|
+
onZoomEnd: J,
|
|
47
|
+
onZoomStart: Q,
|
|
48
|
+
onTooltipShow: U,
|
|
49
|
+
onTooltipHide: X,
|
|
50
|
+
style: Y,
|
|
51
|
+
className: _,
|
|
52
|
+
role: M = n.role,
|
|
53
53
|
ariaLabel: R,
|
|
54
|
-
children:
|
|
55
|
-
} =
|
|
56
|
-
(
|
|
57
|
-
|
|
54
|
+
children: i
|
|
55
|
+
} = L, r = t.useRef(null), l = t.useRef(null), [ee, oe] = t.useState(null), te = !fe(w, { component: "Diagram" }), ae = de(w), E = t.useMemo(() => Re(b), [b]), N = t.useCallback(
|
|
56
|
+
(o) => {
|
|
57
|
+
l.current = o, typeof s == "function" ? s(o) : s && (s.current = o), oe(o);
|
|
58
58
|
},
|
|
59
59
|
[s]
|
|
60
|
-
), { convertedShapes:
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
),
|
|
60
|
+
), { convertedShapes: S, convertedConnections: T } = be(
|
|
61
|
+
P,
|
|
62
|
+
W,
|
|
63
|
+
V,
|
|
64
|
+
A
|
|
65
|
+
), k = t.useMemo(
|
|
66
66
|
() => ({
|
|
67
67
|
role: M,
|
|
68
68
|
ariaLabel: R,
|
|
69
69
|
ariaRoleDescription: "Diagram"
|
|
70
70
|
}),
|
|
71
71
|
[M, R]
|
|
72
|
-
), e =
|
|
72
|
+
), e = t.useMemo(
|
|
73
73
|
() => ({
|
|
74
|
-
shapes:
|
|
75
|
-
connections:
|
|
74
|
+
shapes: S,
|
|
75
|
+
connections: T,
|
|
76
76
|
selectable: g,
|
|
77
77
|
editable: u,
|
|
78
|
-
zoom:
|
|
79
|
-
zoomMax:
|
|
80
|
-
zoomMin:
|
|
78
|
+
zoom: h,
|
|
79
|
+
zoomMax: y,
|
|
80
|
+
zoomMin: z,
|
|
81
81
|
zoomRate: v,
|
|
82
82
|
layout: f,
|
|
83
83
|
pannable: d,
|
|
84
|
-
shapeDefaults:
|
|
84
|
+
shapeDefaults: D,
|
|
85
85
|
connectionDefaults: p,
|
|
86
|
-
navigation:
|
|
87
|
-
accessibility:
|
|
86
|
+
navigation: Ee(E),
|
|
87
|
+
accessibility: k
|
|
88
88
|
}),
|
|
89
89
|
[
|
|
90
|
-
k,
|
|
91
90
|
S,
|
|
91
|
+
T,
|
|
92
92
|
g,
|
|
93
93
|
u,
|
|
94
|
-
|
|
95
|
-
z,
|
|
94
|
+
h,
|
|
96
95
|
y,
|
|
96
|
+
z,
|
|
97
97
|
v,
|
|
98
98
|
f,
|
|
99
99
|
d,
|
|
100
|
-
|
|
100
|
+
D,
|
|
101
101
|
p,
|
|
102
102
|
E,
|
|
103
|
-
|
|
103
|
+
k
|
|
104
104
|
]
|
|
105
|
-
),
|
|
106
|
-
const
|
|
107
|
-
(
|
|
105
|
+
), ne = t.useMemo(() => {
|
|
106
|
+
const o = t.Children.toArray(i).find(
|
|
107
|
+
(a) => t.isValidElement(a) && a.type === ze
|
|
108
108
|
);
|
|
109
|
-
return
|
|
110
|
-
}, [
|
|
111
|
-
const
|
|
112
|
-
(
|
|
109
|
+
return o ? o.props.children : null;
|
|
110
|
+
}, [i]), se = t.useMemo(() => {
|
|
111
|
+
const o = t.Children.toArray(i).find(
|
|
112
|
+
(a) => t.isValidElement(a) && a.type === ye
|
|
113
113
|
);
|
|
114
|
-
return
|
|
115
|
-
}, [
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
114
|
+
return o ? o.props.children : null;
|
|
115
|
+
}, [i]), C = t.Children.toArray(i).find(
|
|
116
|
+
(o) => t.isValidElement(o) && typeof o.type == "function" && "displayName" in o.type && o.type.displayName === "KendoDiagramEditor"
|
|
117
|
+
), { tooltipState: c, tooltipElRef: ie, hideTooltip: re, handleTooltipShow: le, handleTooltipHide: ce } = ve({
|
|
118
|
+
shapeTooltipRender: ne,
|
|
119
|
+
connectionTooltipRender: se,
|
|
120
|
+
diagramRef: l,
|
|
121
|
+
wrapperRef: r,
|
|
122
|
+
onTooltipShow: U,
|
|
123
|
+
onTooltipHide: X
|
|
124
|
+
}), { bindDiagramEvents: me } = Me({
|
|
123
125
|
handlers: {
|
|
124
|
-
onChange:
|
|
125
|
-
onDiagramClick:
|
|
126
|
-
onDrag:
|
|
126
|
+
onChange: F,
|
|
127
|
+
onDiagramClick: H,
|
|
128
|
+
onDrag: K,
|
|
127
129
|
onDragEnd: Z,
|
|
128
130
|
onDragStart: B,
|
|
129
131
|
onShapeBoundsChange: I,
|
|
130
|
-
onMouseEnter:
|
|
131
|
-
onMouseLeave:
|
|
132
|
-
onPan:
|
|
133
|
-
onSelect:
|
|
134
|
-
onZoomEnd:
|
|
135
|
-
onZoomStart:
|
|
132
|
+
onMouseEnter: $,
|
|
133
|
+
onMouseLeave: j,
|
|
134
|
+
onPan: q,
|
|
135
|
+
onSelect: G,
|
|
136
|
+
onZoomEnd: J,
|
|
137
|
+
onZoomStart: Q
|
|
136
138
|
},
|
|
137
|
-
handleTooltipShow:
|
|
138
|
-
handleTooltipHide:
|
|
139
|
-
}), m =
|
|
140
|
-
return
|
|
141
|
-
if (!
|
|
139
|
+
handleTooltipShow: le,
|
|
140
|
+
handleTooltipHide: ce
|
|
141
|
+
}), m = t.useRef(!1), x = t.useRef(e);
|
|
142
|
+
return t.useEffect(() => {
|
|
143
|
+
if (!r.current)
|
|
142
144
|
return;
|
|
143
|
-
const
|
|
144
|
-
return
|
|
145
|
-
|
|
145
|
+
const o = De(r.current), a = new he(r.current, e, o);
|
|
146
|
+
return a._createOptionElements(), a.zoom(a.options.zoom), a.canvas.draw(), l.current = a, N(a), me(a, e), m.current = !0, () => {
|
|
147
|
+
re(), a.destroy(), N(null), m.current = !1;
|
|
146
148
|
};
|
|
147
|
-
}, []),
|
|
148
|
-
if (!
|
|
149
|
+
}, []), t.useEffect(() => {
|
|
150
|
+
if (!l.current || !m.current)
|
|
149
151
|
return;
|
|
150
|
-
const
|
|
151
|
-
(
|
|
152
|
-
const
|
|
153
|
-
|
|
152
|
+
const o = l.current, a = x.current;
|
|
153
|
+
(a.shapes !== e.shapes || a.connections !== e.connections) && o.load(e), (a.layout !== e.layout || a.shapes !== e.shapes || a.connections !== e.connections) && o.layout(e.layout), a.zoom !== e.zoom && o.zoom(e.zoom);
|
|
154
|
+
const pe = a.connectionDefaults === e.connectionDefaults ? e.connectionDefaults : { ...o.options.connectionDefaults, ...e.connectionDefaults }, ue = a.shapeDefaults === e.shapeDefaults ? e.shapeDefaults : { ...o.options.shapeDefaults, ...e.shapeDefaults };
|
|
155
|
+
o.setOptions({
|
|
154
156
|
zoom: e.zoom,
|
|
155
157
|
zoomMax: e.zoomMax,
|
|
156
158
|
zoomMin: e.zoomMin,
|
|
@@ -159,29 +161,32 @@ const Me = n.forwardRef((O, s) => {
|
|
|
159
161
|
pannable: e.pannable,
|
|
160
162
|
layout: e.layout,
|
|
161
163
|
navigation: e.navigation,
|
|
162
|
-
connectionDefaults:
|
|
163
|
-
shapeDefaults:
|
|
164
|
-
}),
|
|
165
|
-
}, [e]), /* @__PURE__ */
|
|
164
|
+
connectionDefaults: pe,
|
|
165
|
+
shapeDefaults: ue
|
|
166
|
+
}), x.current = e;
|
|
167
|
+
}, [e]), /* @__PURE__ */ t.createElement(
|
|
166
168
|
"div",
|
|
167
169
|
{
|
|
168
|
-
ref:
|
|
169
|
-
className:
|
|
170
|
-
style: { display: "block", position: "relative", cursor: "default", ...
|
|
170
|
+
ref: r,
|
|
171
|
+
className: O("k-diagram", _),
|
|
172
|
+
style: { display: "block", position: "relative", cursor: "default", ...Y }
|
|
171
173
|
},
|
|
172
|
-
c.visible && /* @__PURE__ */
|
|
174
|
+
c.visible && /* @__PURE__ */ t.createElement(
|
|
173
175
|
"div",
|
|
174
176
|
{
|
|
175
|
-
ref:
|
|
176
|
-
className:
|
|
177
|
+
ref: ie,
|
|
178
|
+
className: O("k-popup", "k-tooltip", c.className),
|
|
177
179
|
style: c.style
|
|
178
180
|
},
|
|
179
181
|
c.content
|
|
180
182
|
),
|
|
181
|
-
|
|
183
|
+
te && /* @__PURE__ */ t.createElement(ge, { message: ae }),
|
|
184
|
+
C && t.cloneElement(C, {
|
|
185
|
+
diagram: ee
|
|
186
|
+
})
|
|
182
187
|
);
|
|
183
188
|
});
|
|
184
|
-
|
|
189
|
+
Ne.displayName = "KendoDiagram";
|
|
185
190
|
export {
|
|
186
|
-
|
|
191
|
+
Ne as Diagram
|
|
187
192
|
};
|
|
@@ -12,4 +12,4 @@
|
|
|
12
12
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
13
13
|
*-------------------------------------------------------------------------------------------
|
|
14
14
|
*/
|
|
15
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@progress/kendo-diagram-common"),require("react"),require("@progress/kendo-react-common"),require("@progress/kendo-react-editor"),require("@progress/kendo-react-intl"),require("@progress/kendo-react-popup"),require("@progress/kendo-react-buttons"),require("@progress/kendo-svg-icons"),require("@progress/kendo-react-inputs"),require("react-dom")):"function"==typeof define&&define.amd?define(["exports","@progress/kendo-diagram-common","react","@progress/kendo-react-common","@progress/kendo-react-editor","@progress/kendo-react-intl","@progress/kendo-react-popup","@progress/kendo-react-buttons","@progress/kendo-svg-icons","@progress/kendo-react-inputs","react-dom"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoReactDiagram={},e.KendoDiagramCommon,e.React,e.KendoReactCommon,e.KendoReactEditor,e.KendoReactIntl,e.KendoReactPopup,e.KendoReactButtons,e.KendoSvgIcons,e.KendoReactInputs,e.ReactDOM)}(this,function(e,t,n,o,a,r,l,i,c,s,u){"use strict";function p(e){var t=Object.create(null);return e&&Object.keys(e).forEach(function(n){if("default"!==n){var o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:function(){return e[n]}})}}),t.default=e,Object.freeze(t)}var d=p(n);const g=Object.freeze({name:"@progress/kendo-react-diagram",productName:"KendoReact",productCode:"KENDOUIREACT",productCodes:["KENDOUIREACT"],publishDate:0,version:"16.2.0-develop.12",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning"}),m=e=>null;m.displayName="KendoDiagramConnectionTooltip";const f=e=>null;f.displayName="KendoDiagramShapeTooltip";const h={width:0,height:0},b=0,v=0,y={visible:!1,content:null,style:{}},S=e=>{if(!e)return{};const t={};return Object.keys(e).forEach(n=>{const o=e[n];o&&(t[n]=o)}),t},C=(e,t)=>e&&Array.isArray(e)&&0!==e.length?t&&Array.isArray(t)?e.map((e,n)=>({...e,dataItem:t[n]})):e:[],T={change:"onChange",click:"onDiagramClick",drag:"onDrag",dragEnd:"onDragEnd",dragStart:"onDragStart",itemBoundsChange:"onShapeBoundsChange",mouseEnter:"onMouseEnter",mouseLeave:"onMouseLeave",pan:"onPan",select:"onSelect",zoomEnd:"onZoomEnd",zoomStart:"onZoomStart"},D={enabled:!0,smallStep:1,largeStep:5},E={connections:[],shapes:[],editable:!0,pannable:{enabled:!0,showScrollbars:!0,autoHideScrollbars:!0},selectable:!0,zoom:1,zoomMax:2,zoomMin:.1,zoomRate:.1,role:"application"},w={fontSize:16,fontFamily:t.EditingUtils.Data.fontNames[0].value},k=e=>({disabled:!e.enabled,smallStep:e.smallStep,largeStep:e.largeStep}),P=d.forwardRef((e,n)=>{const{connectionDefaults:a,connections:r=E.connections,connectionModelFields:l,editable:i=E.editable,layout:c,pannable:s=E.pannable,selectable:u=E.selectable,shapeDefaults:p,shapes:w=E.shapes,shapeModelFields:P,zoom:M=E.zoom,zoomMax:O=E.zoomMax,zoomMin:I=E.zoomMin,zoomRate:x=E.zoomRate,navigable:L,onChange:R,onDiagramClick:z,onDrag:A,onDragEnd:F,onDragStart:j,onShapeBoundsChange:B,onMouseEnter:N,onMouseLeave:K,onPan:V,onSelect:H,onZoomEnd:U,onZoomStart:q,onTooltipShow:$,onTooltipHide:W,style:_,className:Z,role:J=E.role,ariaLabel:Y,children:X}=e,G=d.useRef(null),Q=d.useRef(null),ee=!o.validatePackage(g,{component:"Diagram"}),te=o.getLicenseMessage(g),ne=d.useMemo(()=>(e=>{var t;return void 0===e||!0===e?D:!1===e?{...D,enabled:!1}:{...D,...e,enabled:null==(t=e.enabled)||t}})(L),[L]),oe=d.useCallback(e=>{Q.current=e,"function"==typeof n?n(e):n&&(n.current=e)},[n]),{convertedShapes:ae,convertedConnections:re}=((e,n,o,a)=>d.useMemo(()=>{if(o||a){const r={shapes:{source:()=>e||[],map:S(o)},connections:{source:()=>n||[],map:S(a)}},l=t.convertToDiagramModel({shapes:e,connections:n},r);return{convertedShapes:C(l.shapes,e),convertedConnections:C(l.connections,n)}}return{convertedShapes:C(e,e),convertedConnections:C(n,n)}},[e,n,o,a]))(w,r,P,l),le=d.useMemo(()=>({role:J,ariaLabel:Y,ariaRoleDescription:"Diagram"}),[J,Y]),ie=d.useMemo(()=>({shapes:ae,connections:re,selectable:u,editable:i,zoom:M,zoomMax:O,zoomMin:I,zoomRate:x,layout:c,pannable:s,shapeDefaults:p,connectionDefaults:a,navigation:k(ne),accessibility:le}),[ae,re,u,i,M,O,I,x,c,s,p,a,ne,le]),ce=d.useMemo(()=>{const e=d.Children.toArray(X).find(e=>d.isValidElement(e)&&e.type===f);return e?e.props.children:null},[X]),se=d.useMemo(()=>{const e=d.Children.toArray(X).find(e=>d.isValidElement(e)&&e.type===m);return e?e.props.children:null},[X]),{tooltipState:ue,tooltipElRef:pe,hideTooltip:de,handleTooltipShow:ge,handleTooltipHide:me}=(e=>{const{shapeTooltipRender:n,connectionTooltipRender:o,diagramRef:a,wrapperRef:r,onTooltipShow:l,onTooltipHide:i}=e,[c,s]=d.useState(y),u=d.useCallback(()=>{g.current=null,s(y)},[]),p=d.useRef(null),g=d.useRef(null);d.useLayoutEffect(()=>{const e=p.current,n=g.current;if(!c.visible||!n||!e)return;const{width:o,height:a}=e.getBoundingClientRect();if(0===o&&0===a)return;g.current=null;const r=t.placeTooltip({hovered:n.item,mouse:n.mouse,shapes:n.shapes,connections:n.connections,diagramRect:n.diagramRect,zoom:n.zoom,pan:n.pan,tooltipSize:{width:o,height:a},viewportBounds:n.viewportBounds});s(e=>({...e,style:{position:"fixed",left:r.left+n.scrollX,top:r.top+n.scrollY,zIndex:9999}}))});const m=d.useCallback((e,i)=>{var c,p,d,m,f,y,S,C,T,D;u();const{dataItem:E}=e.item,w="Shape"===e.item.name,k="Connection"===e.item.name,P=w?null==(p=null==(c=i.shapeDefaults)?void 0:c.tooltip)?void 0:p.visible:null==(m=null==(d=i.connectionDefaults)?void 0:d.tooltip)?void 0:m.visible,M=E&&(null==(f=E.tooltip)?void 0:f.visible),O=w?i.shapes:i.connections,I=null==O?void 0:O.find(t=>{var n;return(null==t?void 0:t.id)===(null==(n=null==e?void 0:e.item)?void 0:n.id)}),x=null==I?void 0:I.tooltipText,L=(null==E?void 0:E.tooltipText)||x;if(!L||!1===M||!P&&!M)return;const R=L===E.tooltipText?E:{...E,tooltipText:L};let z;z=w&&n?n(R):k&&o?o(R):L;const A=w?null==(S=null==(y=i.shapeDefaults)?void 0:y.tooltip)?void 0:S.cssClass:null==(T=null==(C=i.connectionDefaults)?void 0:C.tooltip)?void 0:T.cssClass,F=null==(D=E.tooltip)?void 0:D.cssClass,j=A||F;if(!a.current||!r.current)return;const B=r.current,N=B.ownerDocument.defaultView;if(!N)return;const K=a.current.connections.map(e=>e.allPoints()),V=a.current.shapes.map(e=>e.bounds()),H=B.getBoundingClientRect(),U=a.current.pan(),q=a.current.zoom(),$=new DOMRect(b,v,N.innerWidth,N.innerHeight),W=t.placeTooltip({hovered:e.item,mouse:e.point,shapes:V,connections:K,diagramRect:H,zoom:q,pan:U,tooltipSize:h,viewportBounds:$});g.current={item:e.item,mouse:e.point,shapes:V,connections:K,diagramRect:H,zoom:q,pan:U,viewportBounds:$,scrollX:N.scrollX,scrollY:N.scrollY},s({visible:!0,content:z,className:j,style:{position:"fixed",left:W.left+N.scrollX,top:W.top+N.scrollY,zIndex:9999,visibility:"hidden"}}),null==l||l({...R})},[n,o,u,l,a,r]),f=d.useCallback(e=>{u(),null==i||i({...e})},[u,i]);return{tooltipState:c,tooltipElRef:p,hideTooltip:u,handleTooltipShow:m,handleTooltipHide:f}})({shapeTooltipRender:ce,connectionTooltipRender:se,diagramRef:Q,wrapperRef:G,onTooltipShow:$,onTooltipHide:W}),{bindDiagramEvents:fe}=(e=>{const n=d.useRef(e);return n.current=e,{bindDiagramEvents:d.useCallback((e,o)=>{t.events.forEach(t=>{e.bind(t,e=>{var a,r;if("tooltipShow"===t)return void n.current.handleTooltipShow(e,o);if("tooltipHide"===t)return void n.current.handleTooltipHide(null!=(r=null==(a=e.item)?void 0:a.dataItem)?r:{});const l=T[t];if(l){const t=n.current.handlers[l];null==t||t(e)}})})},[])}})({handlers:{onChange:R,onDiagramClick:z,onDrag:A,onDragEnd:F,onDragStart:j,onShapeBoundsChange:B,onMouseEnter:N,onMouseLeave:K,onPan:V,onSelect:H,onZoomEnd:U,onZoomStart:q},handleTooltipShow:ge,handleTooltipHide:me}),he=d.useRef(!1),be=d.useRef(ie);return d.useEffect(()=>{if(!G.current)return;const e=t.loadTheme(G.current),n=new t.Diagram(G.current,ie,e);return n._createOptionElements(),n.zoom(n.options.zoom),n.canvas.draw(),Q.current=n,oe(n),fe(n,ie),he.current=!0,()=>{de(),n.destroy(),oe(null),he.current=!1}},[]),d.useEffect(()=>{if(!Q.current||!he.current)return;const e=Q.current,t=be.current;(t.shapes!==ie.shapes||t.connections!==ie.connections)&&e.load(ie),(t.layout!==ie.layout||t.shapes!==ie.shapes||t.connections!==ie.connections)&&e.layout(ie.layout),t.zoom!==ie.zoom&&e.zoom(ie.zoom);const n=t.connectionDefaults===ie.connectionDefaults?ie.connectionDefaults:{...e.options.connectionDefaults,...ie.connectionDefaults},o=t.shapeDefaults===ie.shapeDefaults?ie.shapeDefaults:{...e.options.shapeDefaults,...ie.shapeDefaults};e.setOptions({zoom:ie.zoom,zoomMax:ie.zoomMax,zoomMin:ie.zoomMin,zoomRate:ie.zoomRate,selectable:ie.selectable,pannable:ie.pannable,layout:ie.layout,navigation:ie.navigation,connectionDefaults:n,shapeDefaults:o}),be.current=ie},[ie]),d.createElement("div",{ref:G,className:o.classNames("k-diagram",Z),style:{display:"block",position:"relative",cursor:"default",..._}},ue.visible&&d.createElement("div",{ref:pe,className:o.classNames("k-popup","k-tooltip",ue.className),style:ue.style},ue.content),ee&&d.createElement(o.WatermarkOverlay,{message:te}))});P.displayName="KendoDiagram";const M=()=>{};let O=0;const I=d.createContext(null),x=I.Provider,L=()=>{const e=d.useContext(I);if(!e)throw new Error("DiagramEditorContext is not available.");return e},R=e=>{const t=d.useRef(null);return d.useEffect(()=>()=>{var e;null==(e=t.current)||e.call(t),t.current=null},[]),d.useCallback(n=>{var o;null==(o=t.current)||o.call(t),t.current=n&&e?e.registerSurface(n):null},[e])},z=e=>{const{controller:t,snapshot:n}=L(),o=d.useId(),a=n.openOverlays.has(o);d.useEffect(()=>()=>{t.closeOverlay(o)},[t,o]);const r=d.useCallback(n=>{const r="function"==typeof n?n(a):n;if(r!==a){if(r)return void t.openOverlay(o,e);t.closeOverlay(o)}},[t,a,o,e]);return{overlayId:o,open:a,setOpen:r}},A=e=>{const{controller:t}=L(),n=d.useRef(new Map);return d.useEffect(()=>()=>{n.current.forEach((e,n)=>{e(),t.closeOverlay(n)}),n.current.clear()},[t]),d.useCallback(o=>({...o,animate:!1,onOpen:a=>{var r,l,i,c;null==(r=o.onOpen)||r.call(o,a);const s=null==(i=null==(l=a.target)?void 0:l.element)?void 0:i.querySelector(".k-popup");if(!(s instanceof HTMLElement))return;let u=s.dataset.diagramEditorOverlayId;u||(u=`${e}-${O++}`,s.dataset.diagramEditorOverlayId=u),t.openOverlay(u,e),null==(c=n.current.get(u))||c(),n.current.set(u,t.registerSurface(s))},onClose:e=>{var a,r,l,i;const c=null==(r=null==(a=e.target)?void 0:a.element)?void 0:r.querySelector(".k-popup"),s=c instanceof HTMLElement?c.dataset.diagramEditorOverlayId:void 0;s&&(null==(l=n.current.get(s))||l(),n.current.delete(s),t.closeOverlay(s)),null==(i=o.onClose)||i.call(o,e)}}),[t,e])},F="diagram.editing.textPlaceholder",j="diagram.editing.undo",B="diagram.editing.redo",N="diagram.editing.select",K="diagram.editing.pan",V="diagram.editing.text",H="diagram.editing.shape",U="diagram.editing.shapeType",q="diagram.editing.fillColor",$="diagram.editing.borderWidth",W="diagram.editing.borderColor",_="diagram.editing.borderStyle",Z="diagram.editing.borderStyle.solid",J="diagram.editing.borderStyle.dotted",Y="diagram.editing.borderStyle.dashed",X="diagram.editing.borderStyle.dashDot",G="diagram.editing.borderStyle.longDash",Q="diagram.editing.borderStyle.longDashDot",ee="diagram.editing.borderStyle.longDashDotDot",te="diagram.editing.toFront",ne="diagram.editing.toBack",oe="diagram.editing.rotateLeft",ae="diagram.editing.rotateRight",re="diagram.editing.duplicate",le="diagram.editing.delete",ie="diagram.editing.connectionColor",ce="diagram.editing.connectionWidth",se="diagram.editing.connectionStyle",ue="diagram.editing.connectionType",pe="diagram.editing.connectionType.cascading",de="diagram.editing.connectionType.polyline",ge="diagram.editing.editText",me="diagram.editing.startCapType",fe="diagram.editing.cap.none",he="diagram.editing.cap.arrow",be="diagram.editing.cap.triangleArrow",ve="diagram.editing.cap.lineArrow",ye="diagram.editing.cap.filledCircle",Se="diagram.editing.cap.filledDiamond",Ce="diagram.editing.endCapType",Te="diagram.editing.shape.collate",De="diagram.editing.shape.connector",Ee="diagram.editing.shape.dataStorage",we="diagram.editing.shape.database",ke="diagram.editing.shape.decision",Pe="diagram.editing.shape.delay",Me="diagram.editing.shape.directAccessStorage",Oe="diagram.editing.shape.display",Ie="diagram.editing.shape.document",xe="diagram.editing.shape.extract",Le="diagram.editing.shape.inputOutput",Re="diagram.editing.shape.internalStorage",ze="diagram.editing.shape.logicalOr",Ae="diagram.editing.shape.manualInputOutput",Fe="diagram.editing.shape.manualOperation",je="diagram.editing.shape.merge",Be="diagram.editing.shape.multipleDocuments",Ne="diagram.editing.shape.offPageConnector",Ke="diagram.editing.shape.predefinedProcess",Ve="diagram.editing.shape.preparation",He="diagram.editing.shape.process",Ue="diagram.editing.shape.sort",qe="diagram.editing.shape.summingJunction",$e="diagram.editing.shape.terminator",We="diagram.editing.alignLeft",_e="diagram.editing.alignCenter",Ze="diagram.editing.alignRight",Je="diagram.editing.alignTop",Ye="diagram.editing.alignMiddle",Xe="diagram.editing.alignBottom",Ge="diagram.editing.alignHorizontal",Qe="diagram.editing.alignVertical",et="diagram.editing.fontType",tt="diagram.editing.fontSize",nt="diagram.editing.font.standard",ot="diagram.editing.font.classic",at="diagram.editing.font.technical",rt="diagram.editing.font.handwritten",lt="diagram.editing.font.headline",it="diagram.editing.fontSize.extraSmall",ct="diagram.editing.fontSize.small",st="diagram.editing.fontSize.medium",ut="diagram.editing.fontSize.large",pt="diagram.editing.fontSize.extraLarge",dt="diagram.editing.color",gt={[F]:"Type something",[j]:"Undo",[B]:"Redo",[N]:"Select",[K]:"Pan",[V]:"Text",[H]:"Shape",[U]:"Shape Type",[q]:"Fill Color",[$]:"Border Width",[W]:"Border Color",[_]:"Border Style",[Z]:"Solid",[J]:"Dotted",[Y]:"Dashed",[X]:"Dash Dot",[G]:"Long Dash",[Q]:"Long Dash Dot",[ee]:"Long Dash Dot Dot",[te]:"To Front",[ne]:"To Back",[oe]:"Rotate Left",[ae]:"Rotate Right",[re]:"Duplicate",[le]:"Delete",[ie]:"Connection Color",[ce]:"Connection Width",[se]:"Connection Style",[ue]:"Connection Type",[pe]:"Cascading",[de]:"Polyline",[ge]:"Edit Text",[me]:"Start Cap Type",[fe]:"None",[he]:"Arrow",[be]:"Triangle Arrow",[ve]:"Line Arrow",[ye]:"Filled Circle",[Se]:"Filled Diamond",[Ce]:"End Cap Type",[Te]:"Collate",[De]:"Connector",[Ee]:"Data Storage",[we]:"Database",[ke]:"Decision",[Pe]:"Delay",[Me]:"Direct Access Storage",[Oe]:"Display",[Ie]:"Document",[xe]:"Extract",[Le]:"Input Output",[Re]:"Internal Storage",[ze]:"Logical OR",[Ae]:"Manual Input Output",[Fe]:"Manual Operation",[je]:"Merge",[Be]:"Multiple Documents",[Ne]:"Off-page Connector",[Ke]:"Predefined Process",[Ve]:"Preparation",[He]:"Process",[Ue]:"Sort",[qe]:"Summing Junction (Logical AND)",[$e]:"Terminator",[We]:"Left",[_e]:"Center",[Ze]:"Right",[Je]:"Top",[Ye]:"Middle",[Xe]:"Bottom",[Ge]:"Horizontal Alignment",[Qe]:"Vertical Alignment",[et]:"Font Type",[tt]:"Font Size",[nt]:"Standard",[ot]:"Classic",[at]:"Technical",[rt]:"Handwritten",[lt]:"Headline",[it]:"Extra Small",[ct]:"Small",[st]:"Medium",[ut]:"Large",[pt]:"Extra Large",[dt]:"Text Color"},mt=e=>e.preventDefault(),ft={onMouseDown:mt,onPointerDown:mt},ht=":not(.k-dropdownlist button):not(.k-colorpicker button):not(.k-split-button .k-split-button-arrow)",bt=[`button${ht}`,`.k-button-group > button${ht}`,".k-colorpicker",".k-dropdownlist"],vt=(e,t)=>`${e}-${t}`,yt=(e,t)=>{if(!e)return null;const{component:n,props:o}=e;return d.createElement(n,{...o,key:t})},St=(e,t)=>e.map((e,n)=>Array.isArray(e)?d.createElement(i.ButtonGroup,{key:vt("group",n)},e.map((e,n)=>yt(t[e],vt(e,n))).filter(Boolean)):yt(t[e],vt(e,n))).filter(Boolean),Ct=(e,t,n,o)=>e.map(e=>{const a=n[String(o(e))];return{...e,label:a?t.toLanguageString(a,gt[a]):e.label}}),Tt="k-diagram-context-toolbar-popup",Dt="k-diagram-context-toolbar-container",Et=d.forwardRef((e,t)=>{var n;const a=d.useRef(null),r=d.useRef(null),s=d.useRef(null),u=d.useRef(null),p=d.useRef(null),g=d.useRef(!1),{controller:m}=L(),{open:f,setOpen:h}=z(e.overlayOwner),{columns:b}=e,v=d.useRef(e);v.current=e,d.useImperativeHandle(t,()=>a.current,[]);const y=d.useCallback(e=>{var t,n;const o="function"==typeof e?e(f):e;o!==f&&(null==(n=(t=v.current).onOpenChange)||n.call(t,o),h(o))},[h,f]),S=d.useCallback(()=>{y(e=>(e&&(g.current=!0),!e))},[y]),C=d.useCallback(()=>{var e,t,n;let a=[];s.current=new o.Navigation({root:r,selectors:["button"],keyboardEvents:{keydown:{ArrowRight:(e,t,n)=>{n.preventDefault(),t.focusNext(e)},ArrowLeft:(e,t,n)=>{n.preventDefault(),t.focusPrevious(e)},ArrowDown:(e,t,n)=>{n.preventDefault(),((e,t)=>{var n;const o=a.indexOf(e)+t;null==(n=a.at(o%a.length))||n.focus()})(e,b)},ArrowUp:(e,t,n)=>{n.preventDefault(),((e,t)=>{var n;const o=a.indexOf(e)-t;null==(n=a.at((o+a.length)%a.length))||n.focus()})(e,b)},Escape:(e,t,n)=>{n.preventDefault(),g.current=!0,y(!1)}}},tabIndex:0}),a=null==(e=s.current)?void 0:e.elements;const l=v.current.data.findIndex(e=>e.value===v.current.value);l>=0?null==(t=a[l])||t.focus():null==(n=s.current.first)||n.focus()},[b,y]),T=d.useCallback(()=>{var e,t;s.current=null,g.current&&(null==(t=null==(e=a.current)?void 0:e.element)||t.focus(),g.current=!1)},[]),D=d.useCallback(e=>{var t,n;null==(t=p.current)||t.call(p);const o=null==(n=null==e?void 0:e.element)?void 0:n.querySelector(".k-popup");if(f&&o instanceof HTMLElement)return u.current=o,void(p.current=m.registerSurface(o));u.current=null,p.current=null},[m,f]);d.useEffect(()=>{f||T()},[T,f]);const E=d.useMemo(()=>4!==b?{gridTemplateColumns:`repeat(${b}, max-content)`}:{},[b]),w=d.useCallback(e=>{var t;null==(t=s.current)||t.triggerKeyboardEvent(e)},[]),k=d.useCallback(e=>{var t,n,o,l;(null==(n=null==(t=a.current)?void 0:t.element)||!n.contains(e.relatedTarget))&&(null==(o=r.current)||!o.contains(e.relatedTarget))&&(null==(l=u.current)||!l.contains(e.relatedTarget))&&y(!1)},[y]);return d.useEffect(()=>()=>{var e;null==(e=p.current)||e.call(p),p.current=null},[]),d.createElement(d.Fragment,null,d.createElement(i.Button,{svgIcon:e.buttonIcon,endIcon:d.createElement(o.SvgIcon,{icon:c.chevronDownIcon}),onClick:S,ref:a,type:"button",fillMode:"flat",togglable:void 0!==e.active,selected:!0===e.active,title:e.buttonTitle,"aria-label":e.buttonTitle}),d.createElement(l.Popup,{anchor:null==(n=a.current)?void 0:n.element,show:f,popupClass:e.popupClass,onOpen:C,ref:D},d.createElement("div",{className:"k-diagram-shapes-container",style:E,onKeyDown:w,ref:r,onBlur:k},e.data.map(({label:t,icon:n,value:o},a)=>d.createElement(i.Button,{key:t+a,fillMode:"flat",title:t,"aria-label":t,onClick:()=>{g.current=!0,y(!1),e.onSelect(o)},togglable:!0,selected:e.value===o,type:"button",svgIcon:n,iconSize:"large",...ft})))))});Et.displayName="IconsDropdown";const{DOMResizeObserver:wt,pmDocToRTContent:kt,parseAlignment:Pt,Data:Mt}=t.EditingUtils,{fontNames:Ot,fontSizes:It,floatingToolbarStyle:xt}=Mt,{bold:Lt,italic:Rt,underline:zt,fontName:At,fontSize:Ft,foreColor:jt}=a.EditorToolsSettings,Bt=a.EditorTools.ForeColor,Nt=a.EditorTools.createInlineFormatTool({...Lt,props:{...Lt.props,fillMode:"flat"}}),Kt=a.EditorTools.createInlineFormatTool({...Rt,props:{...Rt.props,fillMode:"flat"}}),Vt=a.EditorTools.createInlineFormatTool({...zt,props:{...zt.props,fillMode:"flat"}}),Ht=e=>{const t=A("text-toolbar"),n=d.useCallback(n=>{const o=t(n);return{...o,onClose:t=>{var n;null==(n=o.onClose)||n.call(o,t),e.onClose&&e.onClose()}}},[t,e]);return d.createElement(l.PopupPropsContext.Provider,{value:n},d.createElement(Bt,{...e,colorPickerProps:{...jt.colorPickerProps,fillMode:"flat"}}))},Ut={Left:We,Center:_e,Right:Ze,Top:Je,Middle:Ye,Bottom:Xe},qt={Standard:nt,Classic:ot,Technical:at,Handwritten:rt,Headline:lt},$t={"Extra Small":it,Small:ct,Medium:st,Large:ut,"Extra Large":pt},Wt=[{label:"Left",value:"left",icon:c.alignLeftIcon},{label:"Center",value:"center",icon:c.alignCenterIcon},{label:"Right",value:"right",icon:c.alignRightIcon}],_t=[{label:"Top",value:"top",icon:c.alignTopIcon},{label:"Middle",value:"middle",icon:c.alignMiddleIcon},{label:"Bottom",value:"bottom",icon:c.alignBottomIcon}],Zt={left:c.alignLeftIcon,center:c.alignCenterIcon,right:c.alignRightIcon,top:c.alignTopIcon,middle:c.alignMiddleIcon,bottom:c.alignBottomIcon},Jt=(e,t,n,o={})=>e.map(e=>{const a=o[e.text];return{...e,text:n.toLanguageString(a||`${t}.${e.text}`,a?gt[a]:e.text)}}),Yt=(e,t)=>e in Zt?e:t,Xt=e=>{const t=r.useLocalization(),n=e=>{const n=Ut[e];return t.toLanguageString(n,gt[n])},o=Wt.map(e=>({...e,title:n(e.label)})),a=_t.map(e=>({...e,title:n(e.label)}));return d.createElement(d.Fragment,null,d.createElement(Et,{columns:Wt.length,data:o,value:e.horizontal,buttonIcon:Zt[e.horizontal],buttonTitle:t.toLanguageString(Ge,gt[Ge]),overlayOwner:"text-toolbar",onSelect:t=>e.onAlignClick(t,e.vertical)}),e.renderVAlign&&d.createElement(Et,{columns:_t.length,data:a,value:e.vertical,buttonIcon:Zt[e.vertical],buttonTitle:t.toLanguageString(Qe,gt[Qe]),overlayOwner:"text-toolbar",onSelect:t=>e.onAlignClick(e.horizontal,t)}))},Gt=e=>null!=e,Qt=e=>{var t,n,o,c;const s=A("text-toolbar"),u="Shape"===(null==(t=e.editItem)?void 0:t.name)&&"text"!==e.editItem.type,p=d.useRef(e.editItem);p.current=e.editItem;const g=null==(n=e.editorView)?void 0:n.view,m=d.useRef(g);m.current=g;const f=(null==g?void 0:g.state.doc.attrs.alignment)||"left top",h=Pt(f),b=Yt(h.horizontal,"left"),v=Yt(h.vertical,"top"),y=r.useLocalization(),S=e.fontNames||Ot,C=e.fontSizes||It,{FontName:T,FontSize:D}=d.useMemo(()=>{const e=Jt(S,"diagram.editing.font",y,qt),t=Jt(C,"diagram.editing.fontSize",y,$t),n=y.toLanguageString(et,gt[et]),o=y.toLanguageString(tt,gt[tt]),r=a.EditorTools.createStyleDropDownList({...At,items:e,defaultItem:void 0}),l=a.EditorTools.createStyleDropDownList({...Ft,items:t,defaultItem:void 0});return{FontName:e=>d.createElement(r,{...e,title:n}),FontSize:e=>d.createElement(l,{...e,title:o})}},[S,C,y]),E=Gt(e.defaultStyles.fontSize)&&C.find(t=>t.value===`${e.defaultStyles.fontSize}px`)||void 0,w=Gt(e.defaultStyles.fontFamily)&&S.find(t=>t.value===e.defaultStyles.fontFamily)||void 0,k=d.useCallback(()=>{var e;const t=p.current,n=m.current;if(!t||!n||"Shape"!==t.name||"text"!==t.type||!t.bounds())return;const o={...t.options.content,...kt(n.state.doc)};null==(e=t._syncAutoHeightBounds)||e.call(t,o)},[]),P=!0===(null==(c=null==(o=m.current)?void 0:o.dom)?void 0:c.isConnected);d.useEffect(()=>{var e;const t=null==(e=m.current)?void 0:e.dom;if(t&&t.isConnected){const e=p.current;if(!e||"Shape"!==e.name||"text"!==e.type)return;e.diagram.select(e);const n=new wt(t);return n.bind("resize",k),n.init(),()=>{n.destroy()}}},[e.editItem,P,k]);const M={color:{component:Ht,props:{view:g,onClose:()=>{g.focus()},title:y.toLanguageString(dt,gt[dt])}},fontSize:{component:D,props:{view:g,className:"k-toolbar-button",fillMode:"flat",defaultValue:E,dataItemKey:"value"}},fontType:{component:T,props:{view:g,className:"k-toolbar-button",fillMode:"flat",defaultValue:w,dataItemKey:"value"}},bold:{component:Nt,props:{view:g}},italic:{component:Kt,props:{view:g}},underline:{component:Vt,props:{view:g}},separator:{component:i.ToolbarSeparator,props:{}},align:{component:Xt,props:{horizontal:b,vertical:v,renderVAlign:u,onAlignClick:(e,t)=>{g.dispatch(g.state.tr.setDocAttribute("alignment",`${e} ${t}`)),g.focus()}}}},O=St(e.tools,M);return 0===O.length?null:d.createElement(l.PopupPropsContext.Provider,{value:s},d.createElement(i.Toolbar,{fillMode:"flat",style:xt,buttons:bt},O))},{shapesData:en}=t.EditingUtils.Icons,{workflowShapes:tn}=t.EditingUtils.Data,nn={[t.FlowchartShapeType.Collate]:Te,[t.FlowchartShapeType.OnPageConnector]:De,[t.FlowchartShapeType.DataStorage]:Ee,[t.FlowchartShapeType.Database]:we,[t.FlowchartShapeType.Decision]:ke,[t.FlowchartShapeType.Delay]:Pe,[t.FlowchartShapeType.DirectAccessStorage]:Me,[t.FlowchartShapeType.Display]:Oe,[t.FlowchartShapeType.Document]:Ie,[t.FlowchartShapeType.Extract]:xe,[t.FlowchartShapeType.DataInputOutput]:Le,[t.FlowchartShapeType.InternalStorage]:Re,[t.FlowchartShapeType.LogicalOr]:ze,[t.FlowchartShapeType.ManualInputOutput]:Ae,[t.FlowchartShapeType.ManualOperation]:Fe,[t.FlowchartShapeType.Merge]:je,[t.FlowchartShapeType.MultipleDocuments]:Be,[t.FlowchartShapeType.OffPageConnector]:Ne,[t.FlowchartShapeType.PredefinedProcess]:Ke,[t.FlowchartShapeType.Preparation]:Ve,[t.FlowchartShapeType.Process]:He,[t.FlowchartShapeType.Sort]:Ue,[t.FlowchartShapeType.SummingJunction]:qe,[t.FlowchartShapeType.Terminator]:$e},on=d.forwardRef(function(e,t){const n=r.useLocalization(),o=d.useMemo(()=>Ct(en,n,nn,e=>e.type),[n]),a=d.useMemo(()=>{const t=new Map(o.map(({label:e,icon:t,type:n})=>[n,{icon:t,label:e}]));return(e.shapes||tn).map(e=>{const n=t.get(e);return{label:(null==n?void 0:n.label)||o[0].label,icon:(null==n?void 0:n.icon)||o[0].icon,value:e}})},[o,e.shapes]);return d.createElement(Et,{...e,ref:t,data:a,buttonIcon:c.shapesIcon,buttonTitle:e.buttonTitle,columns:4})}),an=()=>d.createElement(s.InputPrefix,{orientation:"horizontal"},d.createElement(o.SvgIcon,{icon:c.rowsIcon}));const rn=e=>{var t;const{value:n,min:a=0,onSelect:r}=e,u=d.useRef(null),p=d.useRef(null),g=d.useRef(null),m=d.useRef(null),{controller:f}=L(),{open:h,setOpen:b}=z(e.overlayOwner),[v,y]=d.useState(60),S=d.useCallback(e=>{var t,n;null==(t=m.current)||t.call(m);const o=null==(n=null==e?void 0:e.element)?void 0:n.querySelector(".k-popup");if(h&&o instanceof HTMLElement)return g.current=o,void(m.current=f.registerSurface(o));g.current=null,m.current=null},[f,h]),C=d.useCallback(e=>{const t=e.target.element;setTimeout(()=>{const e=t.querySelector("input");e&&(e.focus(),e.select())},0)},[]),T=d.useCallback(e=>{var t,n;("Enter"===e.key||"Escape"===e.key)&&(b(!1),null==(n=null==(t=u.current)?void 0:t.element)||n.focus())},[b]),D=d.useCallback(()=>{b(!1)},[b]),E=d.useCallback(e=>{r(e.value||0)},[r]);return d.useEffect(()=>{var e;const t=null==(e=p.current)?void 0:e.element;if(t&&h)return t.addEventListener("wheel",mt,{capture:!0,passive:!1}),()=>{t.removeEventListener("wheel",mt,!0)}},[h]),d.useEffect(()=>()=>{var e;null==(e=m.current)||e.call(m),m.current=null},[]),d.useEffect(()=>{var e;const t=null==(e=u.current)?void 0:e.element;!h||!t||y(10*Math.ceil(function(e){return e.getBoundingClientRect().height}(t)/5))},[h]),d.createElement(d.Fragment,null,d.createElement(i.Button,{svgIcon:c.borderWidthIcon,endIcon:d.createElement(o.SvgIcon,{icon:c.chevronDownIcon}),onClick:()=>{b(e=>!e)},type:"button",fillMode:"flat",title:e.label,ref:u,...ft}),d.createElement(l.Popup,{anchor:null==(t=u.current)?void 0:t.element,show:h,popupClass:Tt,onOpen:C,ref:S},d.createElement(s.NumericTextBox,{spinners:!1,ref:p,width:v,value:n,min:a,max:20,step:1,onKeyDown:T,onBlur:D,fillMode:"flat",onChange:E,prefix:an})))},ln=t.EditingUtils.Data.borderTypes,cn={solid:Z,dot:J,dash:Y,dashDot:X,longDash:G,longDashDot:Q,longDashDotDot:ee},sn=e=>{const t=r.useLocalization(),n=t.toLanguageString(_,gt[_]),o=d.useMemo(()=>Ct(ln,t,cn,e=>e.value),[t]);return d.createElement(Et,{...e,data:o,buttonIcon:c.borderTypeIcon,buttonTitle:n,columns:ln.length,popupClass:Tt})},{Data:un}=t.EditingUtils,pn=un.floatingToolbarStyle,dn=e=>{var t,n,o;const{shape:a,tools:u,shapes:p}=e,{controller:g}=L(),m=A("shape-toolbar"),f=r.useLocalization();if(!a)return null;const h=a.options,b=h.type||"rectangle",v="string"==typeof h.fill?h.fill:(null==(t=h.fill)?void 0:t.color)||"#ffffff",y=(null==(o=null==(n=a.shapeVisual)?void 0:n.options)?void 0:o.stroke)||{},S=y.color||"",C=y.width||1,T=y.dashType||"solid",D={type:{component:on,props:{onSelect:e=>{e!==b&&g.execute({type:"setShapeType",value:e})},value:a.options.type,buttonTitle:f.toLanguageString(U,gt[U]),shapes:p,popupClass:Tt,overlayOwner:"shape-toolbar"}},backColor:{component:s.ColorPicker,props:{value:v,gradientSettings:{opacity:!1},fillMode:"flat",onChange:e=>(e=>{g.execute({type:"setShapeFillColor",value:e})})(e.value),title:f.toLanguageString(q,gt[q])}},separator:{component:i.ToolbarSeparator,props:{}},borderWidth:{component:rn,props:{value:C,onSelect:e=>{g.execute({type:"setShapeStrokeWidth",value:e})},label:f.toLanguageString($,gt[$]),overlayOwner:"shape-toolbar"}},borderColor:{component:s.ColorPicker,props:{value:S,svgIcon:c.borderColorIcon,gradientSettings:{opacity:!1},fillMode:"flat",onChange:e=>(e=>{g.execute({type:"setShapeStrokeColor",value:e})})(e.value),title:f.toLanguageString(W,gt[W])}},borderStyle:{component:sn,props:{value:T,onSelect:e=>{g.execute({type:"setShapeStrokeDashType",value:e})},overlayOwner:"shape-toolbar"}},toFront:{component:i.Button,props:{fillMode:"flat",onClick:()=>{g.execute({type:"shapeToFront"})},svgIcon:c.bringToFrontIcon,title:f.toLanguageString(te,gt[te])}},toBack:{component:i.Button,props:{fillMode:"flat",onClick:()=>{g.execute({type:"shapeToBack"})},svgIcon:c.bringToBackIcon,title:f.toLanguageString(ne,gt[ne])}},rotateLeft:{component:i.Button,props:{fillMode:"flat",onClick:()=>{g.execute({type:"rotateShapeLeft"})},svgIcon:c.rotateLeftIcon,title:f.toLanguageString(oe,gt[oe])}},rotateRight:{component:i.Button,props:{fillMode:"flat",onClick:()=>{g.execute({type:"rotateShapeRight"})},svgIcon:c.rotateRightIcon,title:f.toLanguageString(ae,gt[ae])}},duplicate:{component:i.Button,props:{fillMode:"flat",onClick:()=>{g.execute({type:"duplicateSelection"})},svgIcon:c.copyIcon,title:f.toLanguageString(re,gt[re])}},delete:{component:i.Button,props:{fillMode:"flat",onClick:()=>{g.execute({type:"deleteSelection"})},svgIcon:c.trashIcon,title:f.toLanguageString(le,gt[le])}}},E=St(u,D);return 0===E.length?null:d.createElement(l.PopupPropsContext.Provider,{value:m},d.createElement(i.Toolbar,{fillMode:"flat",style:{...pn},buttons:bt},E))},gn=t.EditingUtils.Data.connectionTypes,mn=t.EditingUtils.Icons.diagonalLineIcon,fn={cascading:pe,polyline:de},hn=e=>{const t=r.useLocalization(),n=t.toLanguageString(ue,gt[ue]),o=d.useMemo(()=>Ct(gn,t,fn,e=>e.value),[t]);return d.createElement(Et,{...e,data:o,buttonIcon:mn,buttonTitle:n,columns:gn.length,popupClass:Tt})},bn=t.EditingUtils.Data.borderTypes,vn={solid:Z,dot:J,dash:Y,dashDot:X,longDash:G,longDashDot:Q,longDashDotDot:ee},yn=e=>{const t=r.useLocalization(),n=t.toLanguageString(se,gt[se]),o=d.useMemo(()=>Ct(bn,t,vn,e=>e.value),[t]);return d.createElement(Et,{...e,data:o,buttonIcon:c.borderTypeIcon,buttonTitle:n,columns:bn.length,popupClass:Tt})},Sn={none:fe,ArrowStart:he,ArrowEnd:he,TriangleArrowStart:be,TriangleArrowEnd:be,LineArrow:ve,FilledCircle:ye,FilledDiamond:Se},Cn=({value:e,onSelect:t,data:n,buttonIcon:o,buttonTitle:a,overlayOwner:l})=>{const i=r.useLocalization(),c=d.useMemo(()=>Ct(n,i,Sn,e=>e.value),[n,i]);return d.createElement(Et,{buttonIcon:o,columns:3,onSelect:e=>t(e),value:e,data:c,buttonTitle:a,popupClass:Tt,overlayOwner:l})},Tn=["undo","redo","separator","select","pan","separator","text","separator","shape"],Dn=["type","backColor","separator","borderWidth","borderColor","borderStyle","separator",["toFront","toBack"],"separator",["rotateLeft","rotateRight"],"separator",["duplicate","delete"]],En=["color","separator","width","separator","style","separator","text","separator","startCap","separator","type","separator","endCap","separator","delete"],wn=["color","separator","fontSize","separator","fontType","separator",["bold","italic","underline"],"separator","align"],{ConnectionCommands:kn,Data:Pn}=t.EditingUtils,{leftCapTypes:Mn,rightCapTypes:On,floatingToolbarStyle:In}=Pn,xn=e=>{var t,n;const{connection:o,tools:a=En}=e,{controller:u}=L(),p=A("connection-toolbar"),g=r.useLocalization();if(!o)return null;const m=o.options,f=m.type||"cascading",h="string"==typeof m.stroke?{color:m.stroke}:m.stroke||{},b=h.color||"#000000",v=h.dashType||"solid",y=h.width||1,S=kn.getCapTypeValue(m.startCap,"start"),C=kn.getCapTypeValue(m.endCap,"end"),T={color:{component:s.ColorPicker,props:{value:b,gradientSettings:{opacity:!1},fillMode:"flat",onChange:e=>(e=>{u.execute({type:"setConnectionStrokeColor",value:e})})(e.value),title:g.toLanguageString(ie,gt[ie])}},width:{component:rn,props:{value:y,onSelect:e=>(e=>{u.execute({type:"setConnectionStrokeWidth",value:e})})(e),label:g.toLanguageString(ce,gt[ce]),min:1,overlayOwner:"connection-toolbar"}},style:{component:yn,props:{value:v,onSelect:e=>(e=>{u.execute({type:"setConnectionStrokeDashType",value:e})})(e),overlayOwner:"connection-toolbar"}},text:{component:i.Button,props:{type:"button",fillMode:"flat",svgIcon:c.freeTextIcon,onClick:()=>u.execute({type:"openSelectedTextEditor"}),title:g.toLanguageString(ge,gt[ge])}},startCap:{component:Cn,props:{value:S,onSelect:e=>(e=>{u.execute({type:"setConnectionStartCap",value:e})})(e),data:Mn,buttonIcon:(null==(t=Mn.find(e=>e.value===S))?void 0:t.icon)||c.arrowLeftIcon,buttonTitle:g.toLanguageString(me,gt[me]),overlayOwner:"connection-toolbar"}},type:{component:hn,props:{value:f,onSelect:e=>(e=>{e!==f&&u.execute({type:"setConnectionType",value:e})})(e),overlayOwner:"connection-toolbar"}},endCap:{component:Cn,props:{value:C,onSelect:e=>(e=>{u.execute({type:"setConnectionEndCap",value:e})})(e),data:On,buttonIcon:(null==(n=On.find(e=>e.value===C))?void 0:n.icon)||c.arrowRightIcon,buttonTitle:g.toLanguageString(Ce,gt[Ce]),overlayOwner:"connection-toolbar"}},delete:{component:i.Button,props:{fillMode:"flat",onClick:()=>{u.execute({type:"deleteSelection"})},svgIcon:c.trashIcon,title:g.toLanguageString(le,gt[le])}},separator:{component:i.ToolbarSeparator,props:{}}},D=St(a,T);return 0===D.length?null:d.createElement(l.PopupPropsContext.Provider,{value:p},d.createElement(i.Toolbar,{fillMode:"flat",style:In,buttons:bt},D))},{floatingToolbarStyle:Ln}=t.EditingUtils.Data,Rn=e=>{const{diagram:t,tools:n,position:o="top",shapes:a,visible:s=!0}=e,{controller:p,snapshot:g}=L(),m=R(p),f=A("main-toolbar"),h=g.activeTool,b=!(!t||!t.canUndo()),v=!(!t||!t.canRedo()),y=r.useLocalization();d.useEffect(()=>{if(!t)return;const{element:e}=t,n=e.ownerDocument.defaultView;if(!n||"static"!==n.getComputedStyle(e).position)return;const o=e.style.position;return e.style.position="relative",()=>{e.style.position=o}},[t]);const S=d.useCallback(e=>{p.dispatch({type:"setActiveTool",tool:e})},[p]),C={undo:{component:i.Button,props:{svgIcon:c.undoIcon,fillMode:"flat",onClick:()=>p.execute({type:"undo"}),disabled:!b,title:y.toLanguageString(j,gt[j])}},redo:{component:i.Button,props:{svgIcon:c.redoIcon,fillMode:"flat",onClick:()=>p.execute({type:"redo"}),disabled:!v,title:y.toLanguageString(B,gt[B])}},select:{component:i.Button,props:{svgIcon:c.pointerIcon,fillMode:"flat",onClick:()=>S({type:"select"}),togglable:!0,selected:"select"===h.type,title:y.toLanguageString(N,gt[N])}},pan:{component:i.Button,props:{svgIcon:c.handIcon,fillMode:"flat",onClick:()=>S({type:"pan"}),togglable:!0,selected:"pan"===h.type,title:y.toLanguageString(K,gt[K])}},text:{component:i.Button,props:{svgIcon:c.freeTextIcon,fillMode:"flat",onClick:()=>S({type:"insert-text"}),togglable:!0,selected:"insert-text"===h.type,title:y.toLanguageString(V,gt[V])}},shape:{component:on,props:{onSelect:e=>{S({type:"insert-shape",shape:e})},value:"insert-shape"===h.type?h.shape:null,active:"insert-shape"===h.type,buttonTitle:y.toLanguageString(H,gt[H]),shapes:a,popupClass:"k-diagram-main-toolbar-popup",overlayOwner:"main-toolbar"}},separator:{component:i.ToolbarSeparator,props:{}}},T=St(n,C);if(!t||0===T.length)return null;const D={position:"absolute",left:0,right:0,top:"top"===o?2:void 0,bottom:"bottom"===o?12:void 0,display:"flex",justifyContent:"center",pointerEvents:"none",zIndex:1},E={opacity:s?1:0,visibility:s?"visible":"hidden",pointerEvents:s?"auto":"none",transition:s?"opacity 140ms ease":"opacity 140ms ease, visibility 0s linear 140ms",...Ln};return u.createPortal(d.createElement("div",{style:D,className:"k-animation-container k-animation-container-shown"},d.createElement("div",{ref:m,className:"k-popup k-diagram-top-toolbar-container",style:E,onPointerEnter:()=>p.handlePointerEnter(),onPointerLeave:()=>p.handlePointerLeave()},d.createElement(l.PopupPropsContext.Provider,{value:f},d.createElement(i.Toolbar,{fillMode:"flat",style:Ln,buttons:bt},T)))),t.element)},{floatingToolbarStyle:zn}=t.EditingUtils.Data,An={horizontal:"center",vertical:"center"},Fn={horizontal:"center",vertical:"bottom"},jn={above:Fn,below:{horizontal:"center",vertical:"top"}},Bn={left:0,top:0},Nn={offset:Bn,placement:"above",visible:!1},Kn=(e,t)=>({left:e.left+(t?t.left:0),top:e.top+(t?t.top:0)}),Vn=(e,t,n)=>({offset:e||Bn,placement:t,visible:n}),Hn=(e,t)=>e.visible===t.visible&&e.offset.left===t.offset.left&&e.offset.top===t.offset.top&&e.placement===t.placement,Un=({show:e,baseAnchor:n,fallbackAnchor:o=null,boundaryElement:a,anchorAlign:r=An,popupAlign:i=Fn,offset:c=Bn,children:s})=>{const u=d.useRef(null),p=d.useRef(0),g=(e=>"top"===(null==e?void 0:e.vertical)?"below":"above")(i),m=d.useMemo(()=>n?Kn(n,c):null,[n,c]),f=d.useMemo(()=>o?Kn(o,c):null,[o,c]),[h,b]=d.useState(()=>m?Vn(m,g,!0):Nn),v=d.useCallback(e=>{var t;const n=null==(t=null==e?void 0:e.element)?void 0:t.querySelector(".k-popup");u.current=n instanceof HTMLElement?n:null,n instanceof HTMLElement&&Object.keys(zn).forEach(e=>{const t=zn[e];n.style[e]=t})},[]),y=e&&!!n;d.useLayoutEffect(()=>{var e,n;if(!y||!m)return void b(e=>Hn(e,Nn)?e:Nn);let o;if(!a||!f)return o=Vn(m,g,!0),void b(e=>Hn(e,o)?e:o);const r=(null==(e=u.current)?void 0:e.getBoundingClientRect().height)||p.current;if(r>0&&(p.current=r),p.current<=0)return o=Vn(m,g,!0),void b(e=>Hn(e,o)?e:o);const l=a.getBoundingClientRect(),i=((null==(n=a.ownerDocument)?void 0:n.defaultView)||window).scrollY;o=t.resolveFloatingToolbarPlacement({baseAnchor:m,fallbackAnchor:f,popupHeight:p.current,boundaryTop:l.top+i,boundaryBottom:l.bottom+i}),b(e=>Hn(e,o)?e:o)},[a,g,y,m,f]);const S=y&&(h.visible||p.current<=0||!a||!f),C=h.visible?h.offset:m||Bn,T=h.visible?jn[h.placement]:i;return d.createElement(l.Popup,{show:S,anchorAlign:r,popupAlign:T,offset:C,positionMode:"fixed",ref:v,animate:!1},s)},{pmDocToRTContent:qn,rtContentToPM:$n,schemaSpec:Wn,styleEditor:_n,scheduleRafCall:Zn,recalcVerticalAlign:Jn}=t.EditingUtils,Yn=new a.ProseMirror.Schema(Wn),Xn=$n(a.ProseMirror.Node,Yn),{imageResizing:Gn}=a.EditorUtils;class Qn extends a.ProseMirror.EditorView{}a.ProseMirror.Node;const eo=e=>{const t=e.content.firstChild;return 0===e.childCount||!(1!==e.childCount||null==t||!t.inlineContent||0!==t.childCount)};Object.defineProperty(e,"ArrowMarker",{enumerable:!0,get:function(){return t.ArrowMarker}}),Object.defineProperty(e,"CapType",{enumerable:!0,get:function(){return t.CapType}}),Object.defineProperty(e,"Circle",{enumerable:!0,get:function(){return t.Circle}}),Object.defineProperty(e,"CircleMarker",{enumerable:!0,get:function(){return t.CircleMarker}}),Object.defineProperty(e,"Collate",{enumerable:!0,get:function(){return t.Collate}}),Object.defineProperty(e,"Connection",{enumerable:!0,get:function(){return t.Connection}}),Object.defineProperty(e,"Connector",{enumerable:!0,get:function(){return t.Connector}}),Object.defineProperty(e,"DataInputOutput",{enumerable:!0,get:function(){return t.DataInputOutput}}),Object.defineProperty(e,"DataStorage",{enumerable:!0,get:function(){return t.DataStorage}}),Object.defineProperty(e,"Database",{enumerable:!0,get:function(){return t.Database}}),Object.defineProperty(e,"Decision",{enumerable:!0,get:function(){return t.Decision}}),Object.defineProperty(e,"Delay",{enumerable:!0,get:function(){return t.Delay}}),Object.defineProperty(e,"DiagramWidget",{enumerable:!0,get:function(){return t.Diagram}}),Object.defineProperty(e,"DirectAccessStorage",{enumerable:!0,get:function(){return t.DirectAccessStorage}}),Object.defineProperty(e,"Display",{enumerable:!0,get:function(){return t.Display}}),Object.defineProperty(e,"Document",{enumerable:!0,get:function(){return t.Document}}),Object.defineProperty(e,"Extract",{enumerable:!0,get:function(){return t.Extract}}),Object.defineProperty(e,"FlowchartShapeType",{enumerable:!0,get:function(){return t.FlowchartShapeType}}),Object.defineProperty(e,"Group",{enumerable:!0,get:function(){return t.Group}}),Object.defineProperty(e,"Image",{enumerable:!0,get:function(){return t.Image}}),Object.defineProperty(e,"InternalStorage",{enumerable:!0,get:function(){return t.InternalStorage}}),Object.defineProperty(e,"Layout",{enumerable:!0,get:function(){return t.Layout}}),Object.defineProperty(e,"Line",{enumerable:!0,get:function(){return t.Line}}),Object.defineProperty(e,"LogicalOr",{enumerable:!0,get:function(){return t.LogicalOr}}),Object.defineProperty(e,"ManualInputOutput",{enumerable:!0,get:function(){return t.ManualInputOutput}}),Object.defineProperty(e,"ManualOperation",{enumerable:!0,get:function(){return t.ManualOperation}}),Object.defineProperty(e,"MarkerType",{enumerable:!0,get:function(){return t.MarkerType}}),Object.defineProperty(e,"Merge",{enumerable:!0,get:function(){return t.Merge}}),Object.defineProperty(e,"MultiLineTextBlock",{enumerable:!0,get:function(){return t.MultiLineTextBlock}}),Object.defineProperty(e,"MultipleDocuments",{enumerable:!0,get:function(){return t.MultipleDocuments}}),Object.defineProperty(e,"OffPageConnector",{enumerable:!0,get:function(){return t.OffPageConnector}}),Object.defineProperty(e,"OnPageConnector",{enumerable:!0,get:function(){return t.OnPageConnector}}),Object.defineProperty(e,"Path",{enumerable:!0,get:function(){return t.Path}}),Object.defineProperty(e,"PathDefiner",{enumerable:!0,get:function(){return t.PathDefiner}}),Object.defineProperty(e,"Point",{enumerable:!0,get:function(){return t.Point}}),Object.defineProperty(e,"Polyline",{enumerable:!0,get:function(){return t.Polyline}}),Object.defineProperty(e,"PredefinedProcess",{enumerable:!0,get:function(){return t.PredefinedProcess}}),Object.defineProperty(e,"Preparation",{enumerable:!0,get:function(){return t.Preparation}}),Object.defineProperty(e,"Process",{enumerable:!0,get:function(){return t.Process}}),Object.defineProperty(e,"Rect",{enumerable:!0,get:function(){return t.Rect}}),Object.defineProperty(e,"Rectangle",{enumerable:!0,get:function(){return t.Rectangle}}),Object.defineProperty(e,"Rotation",{enumerable:!0,get:function(){return t.Rotation}}),Object.defineProperty(e,"Shape",{enumerable:!0,get:function(){return t.Shape}}),Object.defineProperty(e,"Sort",{enumerable:!0,get:function(){return t.Sort}}),Object.defineProperty(e,"SummingJunction",{enumerable:!0,get:function(){return t.SummingJunction}}),Object.defineProperty(e,"Terminator",{enumerable:!0,get:function(){return t.Terminator}}),Object.defineProperty(e,"TextBlock",{enumerable:!0,get:function(){return t.TextBlock}}),Object.defineProperty(e,"convertToDiagramModel",{enumerable:!0,get:function(){return t.convertToDiagramModel}}),e.Diagram=P,e.DiagramConnectionTooltip=m,e.DiagramEditor=e=>{var n,o;const{diagram:l,toolbars:i={}}=e,c={position:"top",tools:Tn,shapes:e.shapes},s={tools:Dn,shapes:e.shapes},u={tools:En},p={tools:wn,fontNames:e.fontTypes,fontSizes:e.fontSizes},{diagram:g=c,shape:m=s,connection:f=u,text:h=p}=i,b="boolean"==typeof g?g?c:{position:"top",tools:[]}:g,v="boolean"==typeof m?m?s:{tools:[]}:m,y="boolean"==typeof f?f?u:{tools:[]}:f,S="boolean"==typeof h?h?p:{tools:[]}:h,{controller:C,snapshot:T}=(e=>{const[n,o]=d.useState(null);d.useEffect(()=>{if(!e)return void o(null);const n=new t.DiagramEditorController({diagram:e});return o(n),()=>{n.destroy(),o(e=>e===n?null:e)}},[e]);const a=d.useCallback(e=>n?n.subscribe(e):M,[n]),r=d.useCallback(()=>n?n.getSnapshot():t.emptyDiagramEditorSnapshot,[n]),l=d.useSyncExternalStore(a,r,()=>t.emptyDiagramEditorSnapshot);return{controller:n,snapshot:l}})(l),D=R(C),E=R(C),w=R(C),k=d.useRef(null),[P,O]=d.useState(null),I=d.useRef(null),[L,z]=d.useState(null),A=d.useRef(null),j=r.useLocalization(),B=T.editingSession?`${T.editingSession.target.type}:${T.editingSession.target.id}`:null,N=d.useCallback(e=>{var t;null==(t=A.current)||t.call(A),A.current=e&&C?C.registerSurface(e):null},[C]),K=d.useCallback(e=>{k.current=e,w(e)},[w]),V=d.useCallback(()=>{var e;const t=null==(e=k.current)?void 0:e.querySelector('[tabindex]:not([tabindex="-1"]), button:not([disabled]), .k-dropdownlist, .k-colorpicker');return!!t&&(t.focus({preventScroll:!0}),!0)},[]);d.useEffect(()=>()=>{var e;null==(e=A.current)||e.call(A),A.current=null},[]),d.useLayoutEffect(()=>{var e;if(!C||!T.editingSession)return O(null),I.current=null,z(null),null==C||C.setTextEditingAdapter(null),null==(e=A.current)||e.call(A),void(A.current=null);const t=Xn(T.editingSession.item._contentVisual.options);return O(t),I.current=t,z(null),C.setTextEditingAdapter({getCommitPayload:()=>{const e=I.current;return e?{content:qn(e),isEmpty:eo(e),textContent:e.textContent}:null}}),()=>{C.setTextEditingAdapter(null)}},[C,B,T.editingSession]);const H=T.editingSession?T.editingSession.item._contentVisual.options:{},U=T.selectedShape,q=T.selectedConnection,$=null!=(n=null==l?void 0:l.element)?n:null,W=d.useMemo(()=>t.getContextToolbarAnchors(U,T.anchors.shape),[U,T.anchors.shape]),_=d.useMemo(()=>t.getContextToolbarAnchors(q,T.anchors.connection),[q,T.anchors.connection]),Z=d.useMemo(()=>!!(U&&W.base&&T.visibility.shape&&v.tools.length>0&&t.isDiagramItemVisibleInViewport(U,$)),[U,W.base,T.visibility.shape,v.tools.length,$]),J=d.useMemo(()=>!!(q&&_.base&&T.visibility.connection&&y.tools.length>0&&t.isDiagramItemVisibleInViewport(q,$)),[q,_.base,T.visibility.connection,y.tools.length,$]),Y=d.useCallback(e=>{"Tab"!==e.key||e.shiftKey||L&&(e.preventDefault(),L.view.focus())},[L]);return C?d.createElement(x,{value:{controller:C,snapshot:T}},d.createElement(d.Fragment,null,d.createElement("div",{style:{position:"relative"}},d.createElement(Rn,{diagram:l,visible:T.visibility.main&&b.tools.length>0,...b}),d.createElement(Un,{show:Z,baseAnchor:W.base,fallbackAnchor:W.fallback,boundaryElement:$},d.createElement("div",{ref:D,className:Dt},d.createElement(dn,{shape:U,...v}))),d.createElement(Un,{show:J,baseAnchor:_.base,fallbackAnchor:_.fallback,boundaryElement:$},d.createElement("div",{ref:E,className:Dt},d.createElement(xn,{connection:q,...y}))),d.createElement(Un,{show:!!(T.editingSession&&L&&P&&T.anchors.textEditing&&T.visibility.textEditing&&S.tools.length>0),baseAnchor:T.anchors.textEditing?{left:T.anchors.textEditing.x,top:T.anchors.textEditing.y}:null},d.createElement("div",{ref:K,className:Dt,onKeyDown:Y},d.createElement(Qt,{editorView:L,editItem:null==(o=T.editingSession)?void 0:o.item,defaultStyles:H,...S})))),T.editingSession&&P&&d.createElement(a.Editor,{value:P,onChange:e=>{O(e.value),I.current=e.value,L&&z({view:L.view})},defaultEditMode:"div",className:"k-diagram-rich-text-editor",style:{background:"transparent"},onMount:e=>{var t;const n=e.target;if(!(T.editingSession&&n.element&&C&&P))return;const o=n.element;N(o);const{item:r}=T.editingSession,l="Shape"===r.name?r._contentVisual.padding():{top:0,bottom:0,left:0,right:0},i=e.dom,c=j.toLanguageString(F,gt[F]);let s;const u=new a.ProseMirror.Plugin({filterTransaction:e=>(Zn(Jn,[e.doc.attrs.alignment,i,l]),z({view:s}),!0)}),p=a.ProseMirror.EditorState.create({doc:P,schema:Yn,plugins:[Gn(),...e.viewProps.state.plugins,a.EditorUtils.placeholder(c),u]});return s=new Qn({mount:i},{...e.viewProps,state:p,handleKeyDown:(t,n)=>{var o,a,r,l;return"Escape"===n.key?(C.handleKeyDown(n),n.defaultPrevented||!0===(null==(a=(o=e.viewProps).handleKeyDown)?void 0:a.call(o,t,n))):"F10"===n.key&&n.altKey&&V()?(n.preventDefault(),!0):null==(l=(r=e.viewProps).handleKeyDown)?void 0:l.call(r,t,n)}}),_n(r,o,c),s.focus(),Zn(Jn,[null==(t=r.options.content)?void 0:t.align,i,l]),z({view:s}),s}}))):null},e.DiagramShapeTooltip=f,e.defaultTextToolbarTools=wn,e.diagramEditingContentDefaults=w});
|
|
15
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@progress/kendo-diagram-common"),require("react"),require("@progress/kendo-react-common"),require("@progress/kendo-react-editor"),require("@progress/kendo-react-intl"),require("@progress/kendo-react-popup"),require("@progress/kendo-react-buttons"),require("@progress/kendo-svg-icons"),require("@progress/kendo-react-inputs"),require("react-dom")):"function"==typeof define&&define.amd?define(["exports","@progress/kendo-diagram-common","react","@progress/kendo-react-common","@progress/kendo-react-editor","@progress/kendo-react-intl","@progress/kendo-react-popup","@progress/kendo-react-buttons","@progress/kendo-svg-icons","@progress/kendo-react-inputs","react-dom"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).KendoReactDiagram={},e.KendoDiagramCommon,e.React,e.KendoReactCommon,e.KendoReactEditor,e.KendoReactIntl,e.KendoReactPopup,e.KendoReactButtons,e.KendoSvgIcons,e.KendoReactInputs,e.ReactDOM)}(this,function(e,t,n,o,a,r,l,i,c,s,u){"use strict";function p(e){var t=Object.create(null);return e&&Object.keys(e).forEach(function(n){if("default"!==n){var o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:function(){return e[n]}})}}),t.default=e,Object.freeze(t)}var d=p(n);const g=Object.freeze({name:"@progress/kendo-react-diagram",productName:"KendoReact",productCode:"KENDOUIREACT",productCodes:["KENDOUIREACT"],publishDate:0,version:"16.2.0-develop.14",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning"}),m=e=>null;m.displayName="KendoDiagramConnectionTooltip";const f=e=>null;f.displayName="KendoDiagramShapeTooltip";const h={width:0,height:0},b=0,y=0,v={visible:!1,content:null,style:{}},S=e=>{if(!e)return{};const t={};return Object.keys(e).forEach(n=>{const o=e[n];o&&(t[n]=o)}),t},C=(e,t)=>e&&Array.isArray(e)&&0!==e.length?t&&Array.isArray(t)?e.map((e,n)=>({...e,dataItem:t[n]})):e:[],T={change:"onChange",click:"onDiagramClick",drag:"onDrag",dragEnd:"onDragEnd",dragStart:"onDragStart",itemBoundsChange:"onShapeBoundsChange",mouseEnter:"onMouseEnter",mouseLeave:"onMouseLeave",pan:"onPan",select:"onSelect",zoomEnd:"onZoomEnd",zoomStart:"onZoomStart"},D={enabled:!0,smallStep:1,largeStep:5},E={connections:[],shapes:[],editable:!0,pannable:{enabled:!0,showScrollbars:!0,autoHideScrollbars:!0},selectable:!0,zoom:1,zoomMax:2,zoomMin:.1,zoomRate:.1,role:"application"},w={fontSize:16,fontFamily:t.EditingUtils.Data.fontNames[0].value},k=e=>({disabled:!e.enabled,smallStep:e.smallStep,largeStep:e.largeStep}),P=d.forwardRef((e,n)=>{const{connectionDefaults:a,connections:r=E.connections,connectionModelFields:l,editable:i=E.editable,layout:c,pannable:s=E.pannable,selectable:u=E.selectable,shapeDefaults:p,shapes:w=E.shapes,shapeModelFields:P,zoom:M=E.zoom,zoomMax:O=E.zoomMax,zoomMin:I=E.zoomMin,zoomRate:x=E.zoomRate,navigable:L,onChange:R,onDiagramClick:z,onDrag:A,onDragEnd:F,onDragStart:j,onShapeBoundsChange:B,onMouseEnter:N,onMouseLeave:K,onPan:V,onSelect:H,onZoomEnd:U,onZoomStart:q,onTooltipShow:$,onTooltipHide:W,style:_,className:Z,role:J=E.role,ariaLabel:Y,children:X}=e,G=d.useRef(null),Q=d.useRef(null),[ee,te]=d.useState(null),ne=!o.validatePackage(g,{component:"Diagram"}),oe=o.getLicenseMessage(g),ae=d.useMemo(()=>(e=>{var t;return void 0===e||!0===e?D:!1===e?{...D,enabled:!1}:{...D,...e,enabled:null==(t=e.enabled)||t}})(L),[L]),re=d.useCallback(e=>{Q.current=e,"function"==typeof n?n(e):n&&(n.current=e),te(e)},[n]),{convertedShapes:le,convertedConnections:ie}=((e,n,o,a)=>d.useMemo(()=>{if(o||a){const r={shapes:{source:()=>e||[],map:S(o)},connections:{source:()=>n||[],map:S(a)}},l=t.convertToDiagramModel({shapes:e,connections:n},r);return{convertedShapes:C(l.shapes,e),convertedConnections:C(l.connections,n)}}return{convertedShapes:C(e,e),convertedConnections:C(n,n)}},[e,n,o,a]))(w,r,P,l),ce=d.useMemo(()=>({role:J,ariaLabel:Y,ariaRoleDescription:"Diagram"}),[J,Y]),se=d.useMemo(()=>({shapes:le,connections:ie,selectable:u,editable:i,zoom:M,zoomMax:O,zoomMin:I,zoomRate:x,layout:c,pannable:s,shapeDefaults:p,connectionDefaults:a,navigation:k(ae),accessibility:ce}),[le,ie,u,i,M,O,I,x,c,s,p,a,ae,ce]),ue=d.useMemo(()=>{const e=d.Children.toArray(X).find(e=>d.isValidElement(e)&&e.type===f);return e?e.props.children:null},[X]),pe=d.useMemo(()=>{const e=d.Children.toArray(X).find(e=>d.isValidElement(e)&&e.type===m);return e?e.props.children:null},[X]),de=d.Children.toArray(X).find(e=>d.isValidElement(e)&&"function"==typeof e.type&&"displayName"in e.type&&"KendoDiagramEditor"===e.type.displayName),{tooltipState:ge,tooltipElRef:me,hideTooltip:fe,handleTooltipShow:he,handleTooltipHide:be}=(e=>{const{shapeTooltipRender:n,connectionTooltipRender:o,diagramRef:a,wrapperRef:r,onTooltipShow:l,onTooltipHide:i}=e,[c,s]=d.useState(v),u=d.useCallback(()=>{g.current=null,s(v)},[]),p=d.useRef(null),g=d.useRef(null);d.useLayoutEffect(()=>{const e=p.current,n=g.current;if(!c.visible||!n||!e)return;const{width:o,height:a}=e.getBoundingClientRect();if(0===o&&0===a)return;g.current=null;const r=t.placeTooltip({hovered:n.item,mouse:n.mouse,shapes:n.shapes,connections:n.connections,diagramRect:n.diagramRect,zoom:n.zoom,pan:n.pan,tooltipSize:{width:o,height:a},viewportBounds:n.viewportBounds});s(e=>({...e,style:{position:"fixed",left:r.left+n.scrollX,top:r.top+n.scrollY,zIndex:9999}}))});const m=d.useCallback((e,i)=>{var c,p,d,m,f,v,S,C,T,D;u();const{dataItem:E}=e.item,w="Shape"===e.item.name,k="Connection"===e.item.name,P=w?null==(p=null==(c=i.shapeDefaults)?void 0:c.tooltip)?void 0:p.visible:null==(m=null==(d=i.connectionDefaults)?void 0:d.tooltip)?void 0:m.visible,M=E&&(null==(f=E.tooltip)?void 0:f.visible),O=w?i.shapes:i.connections,I=null==O?void 0:O.find(t=>{var n;return(null==t?void 0:t.id)===(null==(n=null==e?void 0:e.item)?void 0:n.id)}),x=null==I?void 0:I.tooltipText,L=(null==E?void 0:E.tooltipText)||x;if(!L||!1===M||!P&&!M)return;const R=L===E.tooltipText?E:{...E,tooltipText:L};let z;z=w&&n?n(R):k&&o?o(R):L;const A=w?null==(S=null==(v=i.shapeDefaults)?void 0:v.tooltip)?void 0:S.cssClass:null==(T=null==(C=i.connectionDefaults)?void 0:C.tooltip)?void 0:T.cssClass,F=null==(D=E.tooltip)?void 0:D.cssClass,j=A||F;if(!a.current||!r.current)return;const B=r.current,N=B.ownerDocument.defaultView;if(!N)return;const K=a.current.connections.map(e=>e.allPoints()),V=a.current.shapes.map(e=>e.bounds()),H=B.getBoundingClientRect(),U=a.current.pan(),q=a.current.zoom(),$=new DOMRect(b,y,N.innerWidth,N.innerHeight),W=t.placeTooltip({hovered:e.item,mouse:e.point,shapes:V,connections:K,diagramRect:H,zoom:q,pan:U,tooltipSize:h,viewportBounds:$});g.current={item:e.item,mouse:e.point,shapes:V,connections:K,diagramRect:H,zoom:q,pan:U,viewportBounds:$,scrollX:N.scrollX,scrollY:N.scrollY},s({visible:!0,content:z,className:j,style:{position:"fixed",left:W.left+N.scrollX,top:W.top+N.scrollY,zIndex:9999,visibility:"hidden"}}),null==l||l({...R})},[n,o,u,l,a,r]),f=d.useCallback(e=>{u(),null==i||i({...e})},[u,i]);return{tooltipState:c,tooltipElRef:p,hideTooltip:u,handleTooltipShow:m,handleTooltipHide:f}})({shapeTooltipRender:ue,connectionTooltipRender:pe,diagramRef:Q,wrapperRef:G,onTooltipShow:$,onTooltipHide:W}),{bindDiagramEvents:ye}=(e=>{const n=d.useRef(e);return n.current=e,{bindDiagramEvents:d.useCallback((e,o)=>{t.events.forEach(t=>{e.bind(t,e=>{var a,r;if("tooltipShow"===t)return void n.current.handleTooltipShow(e,o);if("tooltipHide"===t)return void n.current.handleTooltipHide(null!=(r=null==(a=e.item)?void 0:a.dataItem)?r:{});const l=T[t];if(l){const t=n.current.handlers[l];null==t||t(e)}})})},[])}})({handlers:{onChange:R,onDiagramClick:z,onDrag:A,onDragEnd:F,onDragStart:j,onShapeBoundsChange:B,onMouseEnter:N,onMouseLeave:K,onPan:V,onSelect:H,onZoomEnd:U,onZoomStart:q},handleTooltipShow:he,handleTooltipHide:be}),ve=d.useRef(!1),Se=d.useRef(se);return d.useEffect(()=>{if(!G.current)return;const e=t.loadTheme(G.current),n=new t.Diagram(G.current,se,e);return n._createOptionElements(),n.zoom(n.options.zoom),n.canvas.draw(),Q.current=n,re(n),ye(n,se),ve.current=!0,()=>{fe(),n.destroy(),re(null),ve.current=!1}},[]),d.useEffect(()=>{if(!Q.current||!ve.current)return;const e=Q.current,t=Se.current;(t.shapes!==se.shapes||t.connections!==se.connections)&&e.load(se),(t.layout!==se.layout||t.shapes!==se.shapes||t.connections!==se.connections)&&e.layout(se.layout),t.zoom!==se.zoom&&e.zoom(se.zoom);const n=t.connectionDefaults===se.connectionDefaults?se.connectionDefaults:{...e.options.connectionDefaults,...se.connectionDefaults},o=t.shapeDefaults===se.shapeDefaults?se.shapeDefaults:{...e.options.shapeDefaults,...se.shapeDefaults};e.setOptions({zoom:se.zoom,zoomMax:se.zoomMax,zoomMin:se.zoomMin,zoomRate:se.zoomRate,selectable:se.selectable,pannable:se.pannable,layout:se.layout,navigation:se.navigation,connectionDefaults:n,shapeDefaults:o}),Se.current=se},[se]),d.createElement("div",{ref:G,className:o.classNames("k-diagram",Z),style:{display:"block",position:"relative",cursor:"default",..._}},ge.visible&&d.createElement("div",{ref:me,className:o.classNames("k-popup","k-tooltip",ge.className),style:ge.style},ge.content),ne&&d.createElement(o.WatermarkOverlay,{message:oe}),de&&d.cloneElement(de,{diagram:ee}))});P.displayName="KendoDiagram";const M=()=>{};let O=0;const I=d.createContext(null),x=I.Provider,L=()=>{const e=d.useContext(I);if(!e)throw new Error("DiagramEditorContext is not available.");return e},R=e=>{const t=d.useRef(null);return d.useEffect(()=>()=>{var e;null==(e=t.current)||e.call(t),t.current=null},[]),d.useCallback(n=>{var o;null==(o=t.current)||o.call(t),t.current=n&&e?e.registerSurface(n):null},[e])},z=e=>{const{controller:t,snapshot:n}=L(),o=d.useId(),a=n.openOverlays.has(o);d.useEffect(()=>()=>{t.closeOverlay(o)},[t,o]);const r=d.useCallback(n=>{const r="function"==typeof n?n(a):n;if(r!==a){if(r)return void t.openOverlay(o,e);t.closeOverlay(o)}},[t,a,o,e]);return{overlayId:o,open:a,setOpen:r}},A=e=>{const{controller:t}=L(),n=d.useRef(new Map);return d.useEffect(()=>()=>{n.current.forEach((e,n)=>{e(),t.closeOverlay(n)}),n.current.clear()},[t]),d.useCallback(o=>({...o,animate:!1,onOpen:a=>{var r,l,i,c;null==(r=o.onOpen)||r.call(o,a);const s=null==(i=null==(l=a.target)?void 0:l.element)?void 0:i.querySelector(".k-popup");if(!(s instanceof HTMLElement))return;let u=s.dataset.diagramEditorOverlayId;u||(u=`${e}-${O++}`,s.dataset.diagramEditorOverlayId=u),t.openOverlay(u,e),null==(c=n.current.get(u))||c(),n.current.set(u,t.registerSurface(s))},onClose:e=>{var a,r,l,i;const c=null==(r=null==(a=e.target)?void 0:a.element)?void 0:r.querySelector(".k-popup"),s=c instanceof HTMLElement?c.dataset.diagramEditorOverlayId:void 0;s&&(null==(l=n.current.get(s))||l(),n.current.delete(s),t.closeOverlay(s)),null==(i=o.onClose)||i.call(o,e)}}),[t,e])},F="diagram.editing.textPlaceholder",j="diagram.editing.undo",B="diagram.editing.redo",N="diagram.editing.select",K="diagram.editing.pan",V="diagram.editing.text",H="diagram.editing.shape",U="diagram.editing.shapeType",q="diagram.editing.fillColor",$="diagram.editing.borderWidth",W="diagram.editing.borderColor",_="diagram.editing.borderStyle",Z="diagram.editing.borderStyle.solid",J="diagram.editing.borderStyle.dotted",Y="diagram.editing.borderStyle.dashed",X="diagram.editing.borderStyle.dashDot",G="diagram.editing.borderStyle.longDash",Q="diagram.editing.borderStyle.longDashDot",ee="diagram.editing.borderStyle.longDashDotDot",te="diagram.editing.toFront",ne="diagram.editing.toBack",oe="diagram.editing.rotateLeft",ae="diagram.editing.rotateRight",re="diagram.editing.duplicate",le="diagram.editing.delete",ie="diagram.editing.connectionColor",ce="diagram.editing.connectionWidth",se="diagram.editing.connectionStyle",ue="diagram.editing.connectionType",pe="diagram.editing.connectionType.cascading",de="diagram.editing.connectionType.polyline",ge="diagram.editing.editText",me="diagram.editing.startCapType",fe="diagram.editing.cap.none",he="diagram.editing.cap.arrow",be="diagram.editing.cap.triangleArrow",ye="diagram.editing.cap.lineArrow",ve="diagram.editing.cap.filledCircle",Se="diagram.editing.cap.filledDiamond",Ce="diagram.editing.endCapType",Te="diagram.editing.shape.collate",De="diagram.editing.shape.connector",Ee="diagram.editing.shape.dataStorage",we="diagram.editing.shape.database",ke="diagram.editing.shape.decision",Pe="diagram.editing.shape.delay",Me="diagram.editing.shape.directAccessStorage",Oe="diagram.editing.shape.display",Ie="diagram.editing.shape.document",xe="diagram.editing.shape.extract",Le="diagram.editing.shape.inputOutput",Re="diagram.editing.shape.internalStorage",ze="diagram.editing.shape.logicalOr",Ae="diagram.editing.shape.manualInputOutput",Fe="diagram.editing.shape.manualOperation",je="diagram.editing.shape.merge",Be="diagram.editing.shape.multipleDocuments",Ne="diagram.editing.shape.offPageConnector",Ke="diagram.editing.shape.predefinedProcess",Ve="diagram.editing.shape.preparation",He="diagram.editing.shape.process",Ue="diagram.editing.shape.sort",qe="diagram.editing.shape.summingJunction",$e="diagram.editing.shape.terminator",We="diagram.editing.alignLeft",_e="diagram.editing.alignCenter",Ze="diagram.editing.alignRight",Je="diagram.editing.alignTop",Ye="diagram.editing.alignMiddle",Xe="diagram.editing.alignBottom",Ge="diagram.editing.alignHorizontal",Qe="diagram.editing.alignVertical",et="diagram.editing.fontType",tt="diagram.editing.fontSize",nt="diagram.editing.font.standard",ot="diagram.editing.font.classic",at="diagram.editing.font.technical",rt="diagram.editing.font.handwritten",lt="diagram.editing.font.headline",it="diagram.editing.fontSize.extraSmall",ct="diagram.editing.fontSize.small",st="diagram.editing.fontSize.medium",ut="diagram.editing.fontSize.large",pt="diagram.editing.fontSize.extraLarge",dt="diagram.editing.color",gt={[F]:"Type something",[j]:"Undo",[B]:"Redo",[N]:"Select",[K]:"Pan",[V]:"Text",[H]:"Shape",[U]:"Shape Type",[q]:"Fill Color",[$]:"Border Width",[W]:"Border Color",[_]:"Border Style",[Z]:"Solid",[J]:"Dotted",[Y]:"Dashed",[X]:"Dash Dot",[G]:"Long Dash",[Q]:"Long Dash Dot",[ee]:"Long Dash Dot Dot",[te]:"To Front",[ne]:"To Back",[oe]:"Rotate Left",[ae]:"Rotate Right",[re]:"Duplicate",[le]:"Delete",[ie]:"Connection Color",[ce]:"Connection Width",[se]:"Connection Style",[ue]:"Connection Type",[pe]:"Cascading",[de]:"Polyline",[ge]:"Edit Text",[me]:"Start Cap Type",[fe]:"None",[he]:"Arrow",[be]:"Triangle Arrow",[ye]:"Line Arrow",[ve]:"Filled Circle",[Se]:"Filled Diamond",[Ce]:"End Cap Type",[Te]:"Collate",[De]:"Connector",[Ee]:"Data Storage",[we]:"Database",[ke]:"Decision",[Pe]:"Delay",[Me]:"Direct Access Storage",[Oe]:"Display",[Ie]:"Document",[xe]:"Extract",[Le]:"Input Output",[Re]:"Internal Storage",[ze]:"Logical OR",[Ae]:"Manual Input Output",[Fe]:"Manual Operation",[je]:"Merge",[Be]:"Multiple Documents",[Ne]:"Off-page Connector",[Ke]:"Predefined Process",[Ve]:"Preparation",[He]:"Process",[Ue]:"Sort",[qe]:"Summing Junction (Logical AND)",[$e]:"Terminator",[We]:"Left",[_e]:"Center",[Ze]:"Right",[Je]:"Top",[Ye]:"Middle",[Xe]:"Bottom",[Ge]:"Horizontal Alignment",[Qe]:"Vertical Alignment",[et]:"Font Type",[tt]:"Font Size",[nt]:"Standard",[ot]:"Classic",[at]:"Technical",[rt]:"Handwritten",[lt]:"Headline",[it]:"Extra Small",[ct]:"Small",[st]:"Medium",[ut]:"Large",[pt]:"Extra Large",[dt]:"Text Color"},mt=e=>e.preventDefault(),ft={onMouseDown:mt,onPointerDown:mt},ht=":not(.k-dropdownlist button):not(.k-colorpicker button):not(.k-split-button .k-split-button-arrow)",bt=[`button${ht}`,`.k-button-group > button${ht}`,".k-colorpicker",".k-dropdownlist"],yt=(e,t)=>`${e}-${t}`,vt=(e,t)=>{if(!e)return null;const{component:n,props:o}=e;return d.createElement(n,{...o,key:t})},St=(e,t)=>e.map((e,n)=>Array.isArray(e)?d.createElement(i.ButtonGroup,{key:yt("group",n)},e.map((e,n)=>vt(t[e],yt(e,n))).filter(Boolean)):vt(t[e],yt(e,n))).filter(Boolean),Ct=(e,t,n,o)=>e.map(e=>{const a=n[String(o(e))];return{...e,label:a?t.toLanguageString(a,gt[a]):e.label}}),Tt="k-diagram-context-toolbar-popup",Dt="k-diagram-context-toolbar-container",Et=d.forwardRef((e,t)=>{var n;const a=d.useRef(null),r=d.useRef(null),s=d.useRef(null),u=d.useRef(null),p=d.useRef(null),g=d.useRef(!1),{controller:m}=L(),{open:f,setOpen:h}=z(e.overlayOwner),{columns:b}=e,y=d.useRef(e);y.current=e,d.useImperativeHandle(t,()=>a.current,[]);const v=d.useCallback(e=>{var t,n;const o="function"==typeof e?e(f):e;o!==f&&(null==(n=(t=y.current).onOpenChange)||n.call(t,o),h(o))},[h,f]),S=d.useCallback(()=>{v(e=>(e&&(g.current=!0),!e))},[v]),C=d.useCallback(()=>{var e,t,n;let a=[];s.current=new o.Navigation({root:r,selectors:["button"],keyboardEvents:{keydown:{ArrowRight:(e,t,n)=>{n.preventDefault(),t.focusNext(e)},ArrowLeft:(e,t,n)=>{n.preventDefault(),t.focusPrevious(e)},ArrowDown:(e,t,n)=>{n.preventDefault(),((e,t)=>{var n;const o=a.indexOf(e)+t;null==(n=a.at(o%a.length))||n.focus()})(e,b)},ArrowUp:(e,t,n)=>{n.preventDefault(),((e,t)=>{var n;const o=a.indexOf(e)-t;null==(n=a.at((o+a.length)%a.length))||n.focus()})(e,b)},Escape:(e,t,n)=>{n.preventDefault(),g.current=!0,v(!1)}}},tabIndex:0}),a=null==(e=s.current)?void 0:e.elements;const l=y.current.data.findIndex(e=>e.value===y.current.value);l>=0?null==(t=a[l])||t.focus():null==(n=s.current.first)||n.focus()},[b,v]),T=d.useCallback(()=>{var e,t;s.current=null,g.current&&(null==(t=null==(e=a.current)?void 0:e.element)||t.focus(),g.current=!1)},[]),D=d.useCallback(e=>{var t,n;null==(t=p.current)||t.call(p);const o=null==(n=null==e?void 0:e.element)?void 0:n.querySelector(".k-popup");if(f&&o instanceof HTMLElement)return u.current=o,void(p.current=m.registerSurface(o));u.current=null,p.current=null},[m,f]);d.useEffect(()=>{f||T()},[T,f]);const E=d.useMemo(()=>4!==b?{gridTemplateColumns:`repeat(${b}, max-content)`}:{},[b]),w=d.useCallback(e=>{var t;null==(t=s.current)||t.triggerKeyboardEvent(e)},[]),k=d.useCallback(e=>{var t,n,o,l;(null==(n=null==(t=a.current)?void 0:t.element)||!n.contains(e.relatedTarget))&&(null==(o=r.current)||!o.contains(e.relatedTarget))&&(null==(l=u.current)||!l.contains(e.relatedTarget))&&v(!1)},[v]);return d.useEffect(()=>()=>{var e;null==(e=p.current)||e.call(p),p.current=null},[]),d.createElement(d.Fragment,null,d.createElement(i.Button,{svgIcon:e.buttonIcon,endIcon:d.createElement(o.SvgIcon,{icon:c.chevronDownIcon}),onClick:S,ref:a,type:"button",fillMode:"flat",togglable:void 0!==e.active,selected:!0===e.active,title:e.buttonTitle,"aria-label":e.buttonTitle}),d.createElement(l.Popup,{anchor:null==(n=a.current)?void 0:n.element,show:f,popupClass:e.popupClass,onOpen:C,ref:D},d.createElement("div",{className:"k-diagram-shapes-container",style:E,onKeyDown:w,ref:r,onBlur:k},e.data.map(({label:t,icon:n,value:o},a)=>d.createElement(i.Button,{key:t+a,fillMode:"flat",title:t,"aria-label":t,onClick:()=>{g.current=!0,v(!1),e.onSelect(o)},togglable:!0,selected:e.value===o,type:"button",svgIcon:n,iconSize:"large",...ft})))))});Et.displayName="IconsDropdown";const{DOMResizeObserver:wt,pmDocToRTContent:kt,parseAlignment:Pt,Data:Mt}=t.EditingUtils,{fontNames:Ot,fontSizes:It,floatingToolbarStyle:xt}=Mt,{bold:Lt,italic:Rt,underline:zt,fontName:At,fontSize:Ft,foreColor:jt}=a.EditorToolsSettings,Bt=a.EditorTools.ForeColor,Nt=a.EditorTools.createInlineFormatTool({...Lt,props:{...Lt.props,fillMode:"flat"}}),Kt=a.EditorTools.createInlineFormatTool({...Rt,props:{...Rt.props,fillMode:"flat"}}),Vt=a.EditorTools.createInlineFormatTool({...zt,props:{...zt.props,fillMode:"flat"}}),Ht=e=>{const t=A("text-toolbar"),n=d.useCallback(n=>{const o=t(n);return{...o,onClose:t=>{var n;null==(n=o.onClose)||n.call(o,t),e.onClose&&e.onClose()}}},[t,e]);return d.createElement(l.PopupPropsContext.Provider,{value:n},d.createElement(Bt,{...e,colorPickerProps:{...jt.colorPickerProps,fillMode:"flat"}}))},Ut={Left:We,Center:_e,Right:Ze,Top:Je,Middle:Ye,Bottom:Xe},qt={Standard:nt,Classic:ot,Technical:at,Handwritten:rt,Headline:lt},$t={"Extra Small":it,Small:ct,Medium:st,Large:ut,"Extra Large":pt},Wt=[{label:"Left",value:"left",icon:c.alignLeftIcon},{label:"Center",value:"center",icon:c.alignCenterIcon},{label:"Right",value:"right",icon:c.alignRightIcon}],_t=[{label:"Top",value:"top",icon:c.alignTopIcon},{label:"Middle",value:"middle",icon:c.alignMiddleIcon},{label:"Bottom",value:"bottom",icon:c.alignBottomIcon}],Zt={left:c.alignLeftIcon,center:c.alignCenterIcon,right:c.alignRightIcon,top:c.alignTopIcon,middle:c.alignMiddleIcon,bottom:c.alignBottomIcon},Jt=(e,t,n,o={})=>e.map(e=>{const a=o[e.text];return{...e,text:n.toLanguageString(a||`${t}.${e.text}`,a?gt[a]:e.text)}}),Yt=(e,t)=>e in Zt?e:t,Xt=e=>{const t=r.useLocalization(),n=e=>{const n=Ut[e];return t.toLanguageString(n,gt[n])},o=Wt.map(e=>({...e,title:n(e.label)})),a=_t.map(e=>({...e,title:n(e.label)}));return d.createElement(d.Fragment,null,d.createElement(Et,{columns:Wt.length,data:o,value:e.horizontal,buttonIcon:Zt[e.horizontal],buttonTitle:t.toLanguageString(Ge,gt[Ge]),overlayOwner:"text-toolbar",onSelect:t=>e.onAlignClick(t,e.vertical)}),e.renderVAlign&&d.createElement(Et,{columns:_t.length,data:a,value:e.vertical,buttonIcon:Zt[e.vertical],buttonTitle:t.toLanguageString(Qe,gt[Qe]),overlayOwner:"text-toolbar",onSelect:t=>e.onAlignClick(e.horizontal,t)}))},Gt=e=>null!=e,Qt=e=>{var t,n,o,c;const s=A("text-toolbar"),u="Shape"===(null==(t=e.editItem)?void 0:t.name)&&"text"!==e.editItem.type,p=d.useRef(e.editItem);p.current=e.editItem;const g=null==(n=e.editorView)?void 0:n.view,m=d.useRef(g);m.current=g;const f=(null==g?void 0:g.state.doc.attrs.alignment)||"left top",h=Pt(f),b=Yt(h.horizontal,"left"),y=Yt(h.vertical,"top"),v=r.useLocalization(),S=e.fontNames||Ot,C=e.fontSizes||It,{FontName:T,FontSize:D}=d.useMemo(()=>{const e=Jt(S,"diagram.editing.font",v,qt),t=Jt(C,"diagram.editing.fontSize",v,$t),n=v.toLanguageString(et,gt[et]),o=v.toLanguageString(tt,gt[tt]),r=a.EditorTools.createStyleDropDownList({...At,items:e,defaultItem:void 0}),l=a.EditorTools.createStyleDropDownList({...Ft,items:t,defaultItem:void 0});return{FontName:e=>d.createElement(r,{...e,title:n}),FontSize:e=>d.createElement(l,{...e,title:o})}},[S,C,v]),E=Gt(e.defaultStyles.fontSize)&&C.find(t=>t.value===`${e.defaultStyles.fontSize}px`)||void 0,w=Gt(e.defaultStyles.fontFamily)&&S.find(t=>t.value===e.defaultStyles.fontFamily)||void 0,k=d.useCallback(()=>{var e;const t=p.current,n=m.current;if(!t||!n||"Shape"!==t.name||"text"!==t.type||!t.bounds())return;const o={...t.options.content,...kt(n.state.doc)};null==(e=t._syncAutoHeightBounds)||e.call(t,o)},[]),P=!0===(null==(c=null==(o=m.current)?void 0:o.dom)?void 0:c.isConnected);d.useEffect(()=>{var e;const t=null==(e=m.current)?void 0:e.dom;if(t&&t.isConnected){const e=p.current;if(!e||"Shape"!==e.name||"text"!==e.type)return;e.diagram.select(e);const n=new wt(t);return n.bind("resize",k),n.init(),()=>{n.destroy()}}},[e.editItem,P,k]);const M={color:{component:Ht,props:{view:g,onClose:()=>{g.focus()},title:v.toLanguageString(dt,gt[dt])}},fontSize:{component:D,props:{view:g,className:"k-toolbar-button",fillMode:"flat",defaultValue:E,dataItemKey:"value"}},fontType:{component:T,props:{view:g,className:"k-toolbar-button",fillMode:"flat",defaultValue:w,dataItemKey:"value"}},bold:{component:Nt,props:{view:g}},italic:{component:Kt,props:{view:g}},underline:{component:Vt,props:{view:g}},separator:{component:i.ToolbarSeparator,props:{}},align:{component:Xt,props:{horizontal:b,vertical:y,renderVAlign:u,onAlignClick:(e,t)=>{g.dispatch(g.state.tr.setDocAttribute("alignment",`${e} ${t}`)),g.focus()}}}},O=St(e.tools,M);return 0===O.length?null:d.createElement(l.PopupPropsContext.Provider,{value:s},d.createElement(i.Toolbar,{fillMode:"flat",style:xt,buttons:bt},O))},{shapesData:en}=t.EditingUtils.Icons,{workflowShapes:tn}=t.EditingUtils.Data,nn={[t.FlowchartShapeType.Collate]:Te,[t.FlowchartShapeType.OnPageConnector]:De,[t.FlowchartShapeType.DataStorage]:Ee,[t.FlowchartShapeType.Database]:we,[t.FlowchartShapeType.Decision]:ke,[t.FlowchartShapeType.Delay]:Pe,[t.FlowchartShapeType.DirectAccessStorage]:Me,[t.FlowchartShapeType.Display]:Oe,[t.FlowchartShapeType.Document]:Ie,[t.FlowchartShapeType.Extract]:xe,[t.FlowchartShapeType.DataInputOutput]:Le,[t.FlowchartShapeType.InternalStorage]:Re,[t.FlowchartShapeType.LogicalOr]:ze,[t.FlowchartShapeType.ManualInputOutput]:Ae,[t.FlowchartShapeType.ManualOperation]:Fe,[t.FlowchartShapeType.Merge]:je,[t.FlowchartShapeType.MultipleDocuments]:Be,[t.FlowchartShapeType.OffPageConnector]:Ne,[t.FlowchartShapeType.PredefinedProcess]:Ke,[t.FlowchartShapeType.Preparation]:Ve,[t.FlowchartShapeType.Process]:He,[t.FlowchartShapeType.Sort]:Ue,[t.FlowchartShapeType.SummingJunction]:qe,[t.FlowchartShapeType.Terminator]:$e},on=d.forwardRef(function(e,t){const n=r.useLocalization(),o=d.useMemo(()=>Ct(en,n,nn,e=>e.type),[n]),a=d.useMemo(()=>{const t=new Map(o.map(({label:e,icon:t,type:n})=>[n,{icon:t,label:e}]));return(e.shapes||tn).map(e=>{const n=t.get(e);return{label:(null==n?void 0:n.label)||o[0].label,icon:(null==n?void 0:n.icon)||o[0].icon,value:e}})},[o,e.shapes]);return d.createElement(Et,{...e,ref:t,data:a,buttonIcon:c.shapesIcon,buttonTitle:e.buttonTitle,columns:4})}),an=()=>d.createElement(s.InputPrefix,{orientation:"horizontal"},d.createElement(o.SvgIcon,{icon:c.rowsIcon}));const rn=e=>{var t;const{value:n,min:a=0,onSelect:r}=e,u=d.useRef(null),p=d.useRef(null),g=d.useRef(null),m=d.useRef(null),{controller:f}=L(),{open:h,setOpen:b}=z(e.overlayOwner),[y,v]=d.useState(60),S=d.useCallback(e=>{var t,n;null==(t=m.current)||t.call(m);const o=null==(n=null==e?void 0:e.element)?void 0:n.querySelector(".k-popup");if(h&&o instanceof HTMLElement)return g.current=o,void(m.current=f.registerSurface(o));g.current=null,m.current=null},[f,h]),C=d.useCallback(e=>{const t=e.target.element;setTimeout(()=>{const e=t.querySelector("input");e&&(e.focus(),e.select())},0)},[]),T=d.useCallback(e=>{var t,n;("Enter"===e.key||"Escape"===e.key)&&(b(!1),null==(n=null==(t=u.current)?void 0:t.element)||n.focus())},[b]),D=d.useCallback(()=>{b(!1)},[b]),E=d.useCallback(e=>{r(e.value||0)},[r]);return d.useEffect(()=>{var e;const t=null==(e=p.current)?void 0:e.element;if(t&&h)return t.addEventListener("wheel",mt,{capture:!0,passive:!1}),()=>{t.removeEventListener("wheel",mt,!0)}},[h]),d.useEffect(()=>()=>{var e;null==(e=m.current)||e.call(m),m.current=null},[]),d.useEffect(()=>{var e;const t=null==(e=u.current)?void 0:e.element;!h||!t||v(10*Math.ceil(function(e){return e.getBoundingClientRect().height}(t)/5))},[h]),d.createElement(d.Fragment,null,d.createElement(i.Button,{svgIcon:c.borderWidthIcon,endIcon:d.createElement(o.SvgIcon,{icon:c.chevronDownIcon}),onClick:()=>{b(e=>!e)},type:"button",fillMode:"flat",title:e.label,ref:u,...ft}),d.createElement(l.Popup,{anchor:null==(t=u.current)?void 0:t.element,show:h,popupClass:Tt,onOpen:C,ref:S},d.createElement(s.NumericTextBox,{spinners:!1,ref:p,width:y,value:n,min:a,max:20,step:1,onKeyDown:T,onBlur:D,fillMode:"flat",onChange:E,prefix:an})))},ln=t.EditingUtils.Data.borderTypes,cn={solid:Z,dot:J,dash:Y,dashDot:X,longDash:G,longDashDot:Q,longDashDotDot:ee},sn=e=>{const t=r.useLocalization(),n=t.toLanguageString(_,gt[_]),o=d.useMemo(()=>Ct(ln,t,cn,e=>e.value),[t]);return d.createElement(Et,{...e,data:o,buttonIcon:c.borderTypeIcon,buttonTitle:n,columns:ln.length,popupClass:Tt})},{Data:un}=t.EditingUtils,pn=un.floatingToolbarStyle,dn=e=>{var t,n,o;const{shape:a,tools:u,shapes:p}=e,{controller:g}=L(),m=A("shape-toolbar"),f=r.useLocalization();if(!a)return null;const h=a.options,b=h.type||"rectangle",y="string"==typeof h.fill?h.fill:(null==(t=h.fill)?void 0:t.color)||"#ffffff",v=(null==(o=null==(n=a.shapeVisual)?void 0:n.options)?void 0:o.stroke)||{},S=v.color||"",C=v.width||1,T=v.dashType||"solid",D={type:{component:on,props:{onSelect:e=>{e!==b&&g.execute({type:"setShapeType",value:e})},value:a.options.type,buttonTitle:f.toLanguageString(U,gt[U]),shapes:p,popupClass:Tt,overlayOwner:"shape-toolbar"}},backColor:{component:s.ColorPicker,props:{value:y,gradientSettings:{opacity:!1},fillMode:"flat",onChange:e=>(e=>{g.execute({type:"setShapeFillColor",value:e})})(e.value),title:f.toLanguageString(q,gt[q])}},separator:{component:i.ToolbarSeparator,props:{}},borderWidth:{component:rn,props:{value:C,onSelect:e=>{g.execute({type:"setShapeStrokeWidth",value:e})},label:f.toLanguageString($,gt[$]),overlayOwner:"shape-toolbar"}},borderColor:{component:s.ColorPicker,props:{value:S,svgIcon:c.borderColorIcon,gradientSettings:{opacity:!1},fillMode:"flat",onChange:e=>(e=>{g.execute({type:"setShapeStrokeColor",value:e})})(e.value),title:f.toLanguageString(W,gt[W])}},borderStyle:{component:sn,props:{value:T,onSelect:e=>{g.execute({type:"setShapeStrokeDashType",value:e})},overlayOwner:"shape-toolbar"}},toFront:{component:i.Button,props:{fillMode:"flat",onClick:()=>{g.execute({type:"shapeToFront"})},svgIcon:c.bringToFrontIcon,title:f.toLanguageString(te,gt[te])}},toBack:{component:i.Button,props:{fillMode:"flat",onClick:()=>{g.execute({type:"shapeToBack"})},svgIcon:c.bringToBackIcon,title:f.toLanguageString(ne,gt[ne])}},rotateLeft:{component:i.Button,props:{fillMode:"flat",onClick:()=>{g.execute({type:"rotateShapeLeft"})},svgIcon:c.rotateLeftIcon,title:f.toLanguageString(oe,gt[oe])}},rotateRight:{component:i.Button,props:{fillMode:"flat",onClick:()=>{g.execute({type:"rotateShapeRight"})},svgIcon:c.rotateRightIcon,title:f.toLanguageString(ae,gt[ae])}},duplicate:{component:i.Button,props:{fillMode:"flat",onClick:()=>{g.execute({type:"duplicateSelection"})},svgIcon:c.copyIcon,title:f.toLanguageString(re,gt[re])}},delete:{component:i.Button,props:{fillMode:"flat",onClick:()=>{g.execute({type:"deleteSelection"})},svgIcon:c.trashIcon,title:f.toLanguageString(le,gt[le])}}},E=St(u,D);return 0===E.length?null:d.createElement(l.PopupPropsContext.Provider,{value:m},d.createElement(i.Toolbar,{fillMode:"flat",style:{...pn},buttons:bt},E))},gn=t.EditingUtils.Data.connectionTypes,mn=t.EditingUtils.Icons.diagonalLineIcon,fn={cascading:pe,polyline:de},hn=e=>{const t=r.useLocalization(),n=t.toLanguageString(ue,gt[ue]),o=d.useMemo(()=>Ct(gn,t,fn,e=>e.value),[t]);return d.createElement(Et,{...e,data:o,buttonIcon:mn,buttonTitle:n,columns:gn.length,popupClass:Tt})},bn=t.EditingUtils.Data.borderTypes,yn={solid:Z,dot:J,dash:Y,dashDot:X,longDash:G,longDashDot:Q,longDashDotDot:ee},vn=e=>{const t=r.useLocalization(),n=t.toLanguageString(se,gt[se]),o=d.useMemo(()=>Ct(bn,t,yn,e=>e.value),[t]);return d.createElement(Et,{...e,data:o,buttonIcon:c.borderTypeIcon,buttonTitle:n,columns:bn.length,popupClass:Tt})},Sn={none:fe,ArrowStart:he,ArrowEnd:he,TriangleArrowStart:be,TriangleArrowEnd:be,LineArrow:ye,FilledCircle:ve,FilledDiamond:Se},Cn=({value:e,onSelect:t,data:n,buttonIcon:o,buttonTitle:a,overlayOwner:l})=>{const i=r.useLocalization(),c=d.useMemo(()=>Ct(n,i,Sn,e=>e.value),[n,i]);return d.createElement(Et,{buttonIcon:o,columns:3,onSelect:e=>t(e),value:e,data:c,buttonTitle:a,popupClass:Tt,overlayOwner:l})},Tn=["undo","redo","separator","select","pan","separator","text","separator","shape"],Dn=["type","backColor","separator","borderWidth","borderColor","borderStyle","separator",["toFront","toBack"],"separator",["rotateLeft","rotateRight"],"separator",["duplicate","delete"]],En=["color","separator","width","separator","style","separator","text","separator","startCap","separator","type","separator","endCap","separator","delete"],wn=["color","separator","fontSize","separator","fontType","separator",["bold","italic","underline"],"separator","align"],{ConnectionCommands:kn,Data:Pn}=t.EditingUtils,{leftCapTypes:Mn,rightCapTypes:On,floatingToolbarStyle:In}=Pn,xn=e=>{var t,n;const{connection:o,tools:a=En}=e,{controller:u}=L(),p=A("connection-toolbar"),g=r.useLocalization();if(!o)return null;const m=o.options,f=m.type||"cascading",h="string"==typeof m.stroke?{color:m.stroke}:m.stroke||{},b=h.color||"#000000",y=h.dashType||"solid",v=h.width||1,S=kn.getCapTypeValue(m.startCap,"start"),C=kn.getCapTypeValue(m.endCap,"end"),T={color:{component:s.ColorPicker,props:{value:b,gradientSettings:{opacity:!1},fillMode:"flat",onChange:e=>(e=>{u.execute({type:"setConnectionStrokeColor",value:e})})(e.value),title:g.toLanguageString(ie,gt[ie])}},width:{component:rn,props:{value:v,onSelect:e=>(e=>{u.execute({type:"setConnectionStrokeWidth",value:e})})(e),label:g.toLanguageString(ce,gt[ce]),min:1,overlayOwner:"connection-toolbar"}},style:{component:vn,props:{value:y,onSelect:e=>(e=>{u.execute({type:"setConnectionStrokeDashType",value:e})})(e),overlayOwner:"connection-toolbar"}},text:{component:i.Button,props:{type:"button",fillMode:"flat",svgIcon:c.freeTextIcon,onClick:()=>u.execute({type:"openSelectedTextEditor"}),title:g.toLanguageString(ge,gt[ge])}},startCap:{component:Cn,props:{value:S,onSelect:e=>(e=>{u.execute({type:"setConnectionStartCap",value:e})})(e),data:Mn,buttonIcon:(null==(t=Mn.find(e=>e.value===S))?void 0:t.icon)||c.arrowLeftIcon,buttonTitle:g.toLanguageString(me,gt[me]),overlayOwner:"connection-toolbar"}},type:{component:hn,props:{value:f,onSelect:e=>(e=>{e!==f&&u.execute({type:"setConnectionType",value:e})})(e),overlayOwner:"connection-toolbar"}},endCap:{component:Cn,props:{value:C,onSelect:e=>(e=>{u.execute({type:"setConnectionEndCap",value:e})})(e),data:On,buttonIcon:(null==(n=On.find(e=>e.value===C))?void 0:n.icon)||c.arrowRightIcon,buttonTitle:g.toLanguageString(Ce,gt[Ce]),overlayOwner:"connection-toolbar"}},delete:{component:i.Button,props:{fillMode:"flat",onClick:()=>{u.execute({type:"deleteSelection"})},svgIcon:c.trashIcon,title:g.toLanguageString(le,gt[le])}},separator:{component:i.ToolbarSeparator,props:{}}},D=St(a,T);return 0===D.length?null:d.createElement(l.PopupPropsContext.Provider,{value:p},d.createElement(i.Toolbar,{fillMode:"flat",style:In,buttons:bt},D))},{floatingToolbarStyle:Ln}=t.EditingUtils.Data,Rn=e=>{const{diagram:t,tools:n,position:o="top",shapes:a,visible:s=!0}=e,{controller:p,snapshot:g}=L(),m=R(p),f=A("main-toolbar"),h=g.activeTool,b=!(!t||!t.canUndo()),y=!(!t||!t.canRedo()),v=r.useLocalization();d.useEffect(()=>{if(!t)return;const{element:e}=t,n=e.ownerDocument.defaultView;if(!n||"static"!==n.getComputedStyle(e).position)return;const o=e.style.position;return e.style.position="relative",()=>{e.style.position=o}},[t]);const S=d.useCallback(e=>{p.dispatch({type:"setActiveTool",tool:e})},[p]),C={undo:{component:i.Button,props:{svgIcon:c.undoIcon,fillMode:"flat",onClick:()=>p.execute({type:"undo"}),disabled:!b,title:v.toLanguageString(j,gt[j])}},redo:{component:i.Button,props:{svgIcon:c.redoIcon,fillMode:"flat",onClick:()=>p.execute({type:"redo"}),disabled:!y,title:v.toLanguageString(B,gt[B])}},select:{component:i.Button,props:{svgIcon:c.pointerIcon,fillMode:"flat",onClick:()=>S({type:"select"}),togglable:!0,selected:"select"===h.type,title:v.toLanguageString(N,gt[N])}},pan:{component:i.Button,props:{svgIcon:c.handIcon,fillMode:"flat",onClick:()=>S({type:"pan"}),togglable:!0,selected:"pan"===h.type,title:v.toLanguageString(K,gt[K])}},text:{component:i.Button,props:{svgIcon:c.freeTextIcon,fillMode:"flat",onClick:()=>S({type:"insert-text"}),togglable:!0,selected:"insert-text"===h.type,title:v.toLanguageString(V,gt[V])}},shape:{component:on,props:{onSelect:e=>{S({type:"insert-shape",shape:e})},value:"insert-shape"===h.type?h.shape:null,active:"insert-shape"===h.type,buttonTitle:v.toLanguageString(H,gt[H]),shapes:a,popupClass:"k-diagram-main-toolbar-popup",overlayOwner:"main-toolbar"}},separator:{component:i.ToolbarSeparator,props:{}}},T=St(n,C);if(!t||0===T.length)return null;const D={position:"absolute",left:0,right:0,top:"top"===o?2:void 0,bottom:"bottom"===o?12:void 0,display:"flex",justifyContent:"center",pointerEvents:"none",zIndex:1},E={opacity:s?1:0,visibility:s?"visible":"hidden",pointerEvents:s?"auto":"none",transition:s?"opacity 140ms ease":"opacity 140ms ease, visibility 0s linear 140ms",...Ln};return u.createPortal(d.createElement("div",{style:D,className:"k-animation-container k-animation-container-shown"},d.createElement("div",{ref:m,className:"k-popup k-diagram-top-toolbar-container",style:E,onPointerEnter:()=>p.handlePointerEnter(),onPointerLeave:()=>p.handlePointerLeave()},d.createElement(l.PopupPropsContext.Provider,{value:f},d.createElement(i.Toolbar,{fillMode:"flat",style:Ln,buttons:bt},T)))),t.element)},{floatingToolbarStyle:zn}=t.EditingUtils.Data,An={horizontal:"center",vertical:"center"},Fn={horizontal:"center",vertical:"bottom"},jn={above:Fn,below:{horizontal:"center",vertical:"top"}},Bn={left:0,top:0},Nn={offset:Bn,placement:"above",visible:!1},Kn=(e,t)=>({left:e.left+(t?t.left:0),top:e.top+(t?t.top:0)}),Vn=(e,t,n)=>({offset:e||Bn,placement:t,visible:n}),Hn=(e,t)=>e.visible===t.visible&&e.offset.left===t.offset.left&&e.offset.top===t.offset.top&&e.placement===t.placement,Un=({show:e,baseAnchor:n,fallbackAnchor:o=null,boundaryElement:a,anchorAlign:r=An,popupAlign:i=Fn,offset:c=Bn,children:s})=>{const u=d.useRef(null),p=d.useRef(0),g=(e=>"top"===(null==e?void 0:e.vertical)?"below":"above")(i),m=d.useMemo(()=>n?Kn(n,c):null,[n,c]),f=d.useMemo(()=>o?Kn(o,c):null,[o,c]),[h,b]=d.useState(()=>m?Vn(m,g,!0):Nn),y=d.useCallback(e=>{var t;const n=null==(t=null==e?void 0:e.element)?void 0:t.querySelector(".k-popup");u.current=n instanceof HTMLElement?n:null,n instanceof HTMLElement&&Object.keys(zn).forEach(e=>{const t=zn[e];n.style[e]=t})},[]),v=e&&!!n;d.useLayoutEffect(()=>{var e,n;if(!v||!m)return void b(e=>Hn(e,Nn)?e:Nn);let o;if(!a||!f)return o=Vn(m,g,!0),void b(e=>Hn(e,o)?e:o);const r=(null==(e=u.current)?void 0:e.getBoundingClientRect().height)||p.current;if(r>0&&(p.current=r),p.current<=0)return o=Vn(m,g,!0),void b(e=>Hn(e,o)?e:o);const l=a.getBoundingClientRect(),i=((null==(n=a.ownerDocument)?void 0:n.defaultView)||window).scrollY;o=t.resolveFloatingToolbarPlacement({baseAnchor:m,fallbackAnchor:f,popupHeight:p.current,boundaryTop:l.top+i,boundaryBottom:l.bottom+i}),b(e=>Hn(e,o)?e:o)},[a,g,v,m,f]);const S=v&&(h.visible||p.current<=0||!a||!f),C=h.visible?h.offset:m||Bn,T=h.visible?jn[h.placement]:i;return d.createElement(l.Popup,{show:S,anchorAlign:r,popupAlign:T,offset:C,positionMode:"fixed",ref:y,animate:!1},s)},{pmDocToRTContent:qn,rtContentToPM:$n,schemaSpec:Wn,styleEditor:_n,scheduleRafCall:Zn,recalcVerticalAlign:Jn}=t.EditingUtils,Yn=new a.ProseMirror.Schema(Wn),Xn=$n(a.ProseMirror.Node,Yn),{imageResizing:Gn}=a.EditorUtils;class Qn extends a.ProseMirror.EditorView{}a.ProseMirror.Node;const eo=e=>{const t=e.content.firstChild;return 0===e.childCount||!(1!==e.childCount||null==t||!t.inlineContent||0!==t.childCount)},to=e=>{var n,o;const{diagram:l,toolbars:i={}}=e,c={position:"top",tools:Tn,shapes:e.shapes},s={tools:Dn,shapes:e.shapes},u={tools:En},p={tools:wn,fontNames:e.fontTypes,fontSizes:e.fontSizes},{diagram:g=c,shape:m=s,connection:f=u,text:h=p}=i,b="boolean"==typeof g?g?c:{position:"top",tools:[]}:{...c,...g},y="boolean"==typeof m?m?s:{tools:[]}:{...s,...m},v="boolean"==typeof f?f?u:{tools:[]}:{...u,...f},S="boolean"==typeof h?h?p:{tools:[]}:{...p,...h},{controller:C,snapshot:T}=(e=>{const[n,o]=d.useState(null);d.useEffect(()=>{if(!e)return void o(null);const n=new t.DiagramEditorController({diagram:e});return o(n),()=>{n.destroy(),o(e=>e===n?null:e)}},[e]);const a=d.useCallback(e=>n?n.subscribe(e):M,[n]),r=d.useCallback(()=>n?n.getSnapshot():t.emptyDiagramEditorSnapshot,[n]),l=d.useSyncExternalStore(a,r,()=>t.emptyDiagramEditorSnapshot);return{controller:n,snapshot:l}})(l),D=R(C),E=R(C),w=R(C),k=d.useRef(null),[P,O]=d.useState(null),I=d.useRef(null),[L,z]=d.useState(null),A=d.useRef(null),j=r.useLocalization(),B=T.editingSession?`${T.editingSession.target.type}:${T.editingSession.target.id}`:null,N=d.useCallback(e=>{var t;null==(t=A.current)||t.call(A),A.current=e&&C?C.registerSurface(e):null},[C]),K=d.useCallback(e=>{k.current=e,w(e)},[w]),V=d.useCallback(()=>{var e;const t=null==(e=k.current)?void 0:e.querySelector('[tabindex]:not([tabindex="-1"]), button:not([disabled]), .k-dropdownlist, .k-colorpicker');return!!t&&(t.focus({preventScroll:!0}),!0)},[]);d.useEffect(()=>()=>{var e;null==(e=A.current)||e.call(A),A.current=null},[]),d.useLayoutEffect(()=>{var e;if(!C||!T.editingSession)return O(null),I.current=null,z(null),null==C||C.setTextEditingAdapter(null),null==(e=A.current)||e.call(A),void(A.current=null);const t=Xn(T.editingSession.item._contentVisual.options);return O(t),I.current=t,z(null),C.setTextEditingAdapter({getCommitPayload:()=>{const e=I.current;return e?{content:qn(e),isEmpty:eo(e),textContent:e.textContent}:null}}),()=>{C.setTextEditingAdapter(null)}},[C,B,T.editingSession]);const H=T.editingSession?T.editingSession.item._contentVisual.options:{},U=T.selectedShape,q=T.selectedConnection,$=null!=(n=null==l?void 0:l.element)?n:null,W=d.useMemo(()=>t.getContextToolbarAnchors(U,T.anchors.shape),[U,T.anchors.shape]),_=d.useMemo(()=>t.getContextToolbarAnchors(q,T.anchors.connection),[q,T.anchors.connection]),Z=d.useMemo(()=>!!(U&&W.base&&T.visibility.shape&&y.tools.length>0&&t.isDiagramItemVisibleInViewport(U,$)),[U,W.base,T.visibility.shape,y.tools.length,$]),J=d.useMemo(()=>!!(q&&_.base&&T.visibility.connection&&v.tools.length>0&&t.isDiagramItemVisibleInViewport(q,$)),[q,_.base,T.visibility.connection,v.tools.length,$]),Y=d.useCallback(e=>{"Tab"!==e.key||e.shiftKey||L&&(e.preventDefault(),L.view.focus())},[L]);return C?d.createElement(x,{value:{controller:C,snapshot:T}},d.createElement(d.Fragment,null,d.createElement("div",{style:{position:"relative"}},d.createElement(Rn,{diagram:l,visible:T.visibility.main&&b.tools.length>0,...b}),d.createElement(Un,{show:Z,baseAnchor:W.base,fallbackAnchor:W.fallback,boundaryElement:$},d.createElement("div",{ref:D,className:Dt},d.createElement(dn,{shape:U,...y}))),d.createElement(Un,{show:J,baseAnchor:_.base,fallbackAnchor:_.fallback,boundaryElement:$},d.createElement("div",{ref:E,className:Dt},d.createElement(xn,{connection:q,...v}))),d.createElement(Un,{show:!!(T.editingSession&&L&&P&&T.anchors.textEditing&&T.visibility.textEditing&&S.tools.length>0),baseAnchor:T.anchors.textEditing?{left:T.anchors.textEditing.x,top:T.anchors.textEditing.y}:null},d.createElement("div",{ref:K,className:Dt,onKeyDown:Y},d.createElement(Qt,{editorView:L,editItem:null==(o=T.editingSession)?void 0:o.item,defaultStyles:H,...S})))),T.editingSession&&P&&d.createElement(a.Editor,{value:P,onChange:e=>{O(e.value),I.current=e.value,L&&z({view:L.view})},defaultEditMode:"div",className:"k-diagram-rich-text-editor",style:{background:"transparent"},onMount:e=>{var t;const n=e.target;if(!(T.editingSession&&n.element&&C&&P))return;const o=n.element;N(o);const{item:r}=T.editingSession,l="Shape"===r.name?r._contentVisual.padding():{top:0,bottom:0,left:0,right:0},i=e.dom,c=j.toLanguageString(F,gt[F]);let s;const u=new a.ProseMirror.Plugin({filterTransaction:e=>(Zn(Jn,[e.doc.attrs.alignment,i,l]),z({view:s}),!0)}),p=a.ProseMirror.EditorState.create({doc:P,schema:Yn,plugins:[Gn(),...e.viewProps.state.plugins,a.EditorUtils.placeholder(c),u]});return s=new Qn({mount:i},{...e.viewProps,state:p,handleKeyDown:(t,n)=>{var o,a,r,l;return"Escape"===n.key?(C.handleKeyDown(n),n.defaultPrevented||!0===(null==(a=(o=e.viewProps).handleKeyDown)?void 0:a.call(o,t,n))):"F10"===n.key&&n.altKey&&V()?(n.preventDefault(),!0):null==(l=(r=e.viewProps).handleKeyDown)?void 0:l.call(r,t,n)}}),_n(r,o,c),s.focus(),Zn(Jn,[null==(t=r.options.content)?void 0:t.align,i,l]),z({view:s}),s}}))):null};to.displayName="KendoDiagramEditor",Object.defineProperty(e,"ArrowMarker",{enumerable:!0,get:function(){return t.ArrowMarker}}),Object.defineProperty(e,"CapType",{enumerable:!0,get:function(){return t.CapType}}),Object.defineProperty(e,"Circle",{enumerable:!0,get:function(){return t.Circle}}),Object.defineProperty(e,"CircleMarker",{enumerable:!0,get:function(){return t.CircleMarker}}),Object.defineProperty(e,"Collate",{enumerable:!0,get:function(){return t.Collate}}),Object.defineProperty(e,"Connection",{enumerable:!0,get:function(){return t.Connection}}),Object.defineProperty(e,"Connector",{enumerable:!0,get:function(){return t.Connector}}),Object.defineProperty(e,"DataInputOutput",{enumerable:!0,get:function(){return t.DataInputOutput}}),Object.defineProperty(e,"DataStorage",{enumerable:!0,get:function(){return t.DataStorage}}),Object.defineProperty(e,"Database",{enumerable:!0,get:function(){return t.Database}}),Object.defineProperty(e,"Decision",{enumerable:!0,get:function(){return t.Decision}}),Object.defineProperty(e,"Delay",{enumerable:!0,get:function(){return t.Delay}}),Object.defineProperty(e,"DiagramWidget",{enumerable:!0,get:function(){return t.Diagram}}),Object.defineProperty(e,"DirectAccessStorage",{enumerable:!0,get:function(){return t.DirectAccessStorage}}),Object.defineProperty(e,"Display",{enumerable:!0,get:function(){return t.Display}}),Object.defineProperty(e,"Document",{enumerable:!0,get:function(){return t.Document}}),Object.defineProperty(e,"Extract",{enumerable:!0,get:function(){return t.Extract}}),Object.defineProperty(e,"FlowchartShapeType",{enumerable:!0,get:function(){return t.FlowchartShapeType}}),Object.defineProperty(e,"Group",{enumerable:!0,get:function(){return t.Group}}),Object.defineProperty(e,"Image",{enumerable:!0,get:function(){return t.Image}}),Object.defineProperty(e,"InternalStorage",{enumerable:!0,get:function(){return t.InternalStorage}}),Object.defineProperty(e,"Layout",{enumerable:!0,get:function(){return t.Layout}}),Object.defineProperty(e,"Line",{enumerable:!0,get:function(){return t.Line}}),Object.defineProperty(e,"LogicalOr",{enumerable:!0,get:function(){return t.LogicalOr}}),Object.defineProperty(e,"ManualInputOutput",{enumerable:!0,get:function(){return t.ManualInputOutput}}),Object.defineProperty(e,"ManualOperation",{enumerable:!0,get:function(){return t.ManualOperation}}),Object.defineProperty(e,"MarkerType",{enumerable:!0,get:function(){return t.MarkerType}}),Object.defineProperty(e,"Merge",{enumerable:!0,get:function(){return t.Merge}}),Object.defineProperty(e,"MultiLineTextBlock",{enumerable:!0,get:function(){return t.MultiLineTextBlock}}),Object.defineProperty(e,"MultipleDocuments",{enumerable:!0,get:function(){return t.MultipleDocuments}}),Object.defineProperty(e,"OffPageConnector",{enumerable:!0,get:function(){return t.OffPageConnector}}),Object.defineProperty(e,"OnPageConnector",{enumerable:!0,get:function(){return t.OnPageConnector}}),Object.defineProperty(e,"Path",{enumerable:!0,get:function(){return t.Path}}),Object.defineProperty(e,"PathDefiner",{enumerable:!0,get:function(){return t.PathDefiner}}),Object.defineProperty(e,"Point",{enumerable:!0,get:function(){return t.Point}}),Object.defineProperty(e,"Polyline",{enumerable:!0,get:function(){return t.Polyline}}),Object.defineProperty(e,"PredefinedProcess",{enumerable:!0,get:function(){return t.PredefinedProcess}}),Object.defineProperty(e,"Preparation",{enumerable:!0,get:function(){return t.Preparation}}),Object.defineProperty(e,"Process",{enumerable:!0,get:function(){return t.Process}}),Object.defineProperty(e,"Rect",{enumerable:!0,get:function(){return t.Rect}}),Object.defineProperty(e,"Rectangle",{enumerable:!0,get:function(){return t.Rectangle}}),Object.defineProperty(e,"Rotation",{enumerable:!0,get:function(){return t.Rotation}}),Object.defineProperty(e,"Shape",{enumerable:!0,get:function(){return t.Shape}}),Object.defineProperty(e,"Sort",{enumerable:!0,get:function(){return t.Sort}}),Object.defineProperty(e,"SummingJunction",{enumerable:!0,get:function(){return t.SummingJunction}}),Object.defineProperty(e,"Terminator",{enumerable:!0,get:function(){return t.Terminator}}),Object.defineProperty(e,"TextBlock",{enumerable:!0,get:function(){return t.TextBlock}}),Object.defineProperty(e,"convertToDiagramModel",{enumerable:!0,get:function(){return t.convertToDiagramModel}}),e.Diagram=P,e.DiagramConnectionTooltip=m,e.DiagramEditor=to,e.DiagramShapeTooltip=f,e.defaultTextToolbarTools=wn,e.diagramEditingContentDefaults=w});
|
package/package-metadata.js
CHANGED
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=Object.freeze({name:"@progress/kendo-react-diagram",productName:"KendoReact",productCode:"KENDOUIREACT",productCodes:["KENDOUIREACT"],publishDate:
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=Object.freeze({name:"@progress/kendo-react-diagram",productName:"KendoReact",productCode:"KENDOUIREACT",productCodes:["KENDOUIREACT"],publishDate: 1790343589,version:"16.2.0-develop.14",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning"});exports.packageMetadata=e;
|
package/package-metadata.mjs
CHANGED
|
@@ -6,8 +6,8 @@ export const packageMetadata = Object.freeze({
|
|
|
6
6
|
productName: 'KendoReact',
|
|
7
7
|
productCode: 'KENDOUIREACT',
|
|
8
8
|
productCodes: ['KENDOUIREACT'],
|
|
9
|
-
publishDate:
|
|
10
|
-
version: '16.2.0-develop.
|
|
9
|
+
publishDate: 1790343589,
|
|
10
|
+
version: '16.2.0-develop.14',
|
|
11
11
|
licensingDocsUrl:
|
|
12
12
|
'https://www.telerik.com/kendo-react-ui/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning'
|
|
13
13
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-react-diagram",
|
|
3
|
-
"version": "16.2.0-develop.
|
|
3
|
+
"version": "16.2.0-develop.14",
|
|
4
4
|
"description": "React Diagram component. KendoReact Diagram package",
|
|
5
5
|
"author": "Progress",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
@@ -26,18 +26,18 @@
|
|
|
26
26
|
"sideEffects": false,
|
|
27
27
|
"peerDependencies": {
|
|
28
28
|
"@progress/kendo-licensing": "^1.7.2",
|
|
29
|
-
"@progress/kendo-react-buttons": "16.2.0-develop.
|
|
30
|
-
"@progress/kendo-react-common": "16.2.0-develop.
|
|
31
|
-
"@progress/kendo-react-editor": "16.2.0-develop.
|
|
32
|
-
"@progress/kendo-react-inputs": "16.2.0-develop.
|
|
33
|
-
"@progress/kendo-react-intl": "16.2.0-develop.
|
|
34
|
-
"@progress/kendo-react-popup": "16.2.0-develop.
|
|
29
|
+
"@progress/kendo-react-buttons": "16.2.0-develop.14",
|
|
30
|
+
"@progress/kendo-react-common": "16.2.0-develop.14",
|
|
31
|
+
"@progress/kendo-react-editor": "16.2.0-develop.14",
|
|
32
|
+
"@progress/kendo-react-inputs": "16.2.0-develop.14",
|
|
33
|
+
"@progress/kendo-react-intl": "16.2.0-develop.14",
|
|
34
|
+
"@progress/kendo-react-popup": "16.2.0-develop.14",
|
|
35
35
|
"@progress/kendo-svg-icons": "^4.9.0 || ^5.0.0",
|
|
36
36
|
"react": "^18.0.0 || ^19.0.0",
|
|
37
37
|
"react-dom": "^18.0.0 || ^19.0.0"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@progress/kendo-diagram-common": "^2.7.
|
|
40
|
+
"@progress/kendo-diagram-common": "^2.7.3",
|
|
41
41
|
"prop-types": "^15.6.0"
|
|
42
42
|
},
|
|
43
43
|
"keywords": [
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"package": {
|
|
59
59
|
"productName": "KendoReact",
|
|
60
60
|
"productCode": "KENDOUIREACT",
|
|
61
|
-
"publishDate":
|
|
61
|
+
"publishDate": 1790343589,
|
|
62
62
|
"licensingDocsUrl": "https://www.telerik.com/kendo-react-ui/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning"
|
|
63
63
|
}
|
|
64
64
|
},
|
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ye=require("react"),l=require("@progress/kendo-react-editor"),Se=require("@progress/kendo-react-intl"),xe=require("./TextEditingToolbar.js"),Pe=require("./ShapeEditingToolbar.js"),Ce=require("./ConnectionEditingToolbar.js"),k=require("./default-toolbar-tools.js"),S=require("@progress/kendo-diagram-common"),ve=require("./MainToolbar.js"),F=require("./FloatingToolbarPopup.js"),_=require("./utils.js"),y=require("./DiagramEditorContext.js"),j=require("../messages/index.js");function we(n){const i=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const b in n)if(b!=="default"){const g=Object.getOwnPropertyDescriptor(n,b);Object.defineProperty(i,b,g.get?g:{enumerable:!0,get:()=>n[b]})}}return i.default=n,Object.freeze(i)}const t=we(ye),{pmDocToRTContent:ke,rtContentToPM:Me,schemaSpec:De,styleEditor:Re,scheduleRafCall:te,recalcVerticalAlign:oe}=S.EditingUtils,ne=new l.ProseMirror.Schema(De),Oe=Me(l.ProseMirror.Node,ne),{imageResizing:Ve}=l.EditorUtils;class qe extends l.ProseMirror.EditorView{}class Ke extends l.ProseMirror.Node{}const Ae='[tabindex]:not([tabindex="-1"]), button:not([disabled]), .k-dropdownlist, .k-colorpicker',Ne=n=>{const i=n.content.firstChild;return n.childCount===0||!!(n.childCount===1&&(i!=null&&i.inlineContent)&&i.childCount===0)},re=n=>{var $,G;const{diagram:i,toolbars:b={}}=n,g={position:"top",tools:k.defaultMainToolbarTools,shapes:n.shapes},M={tools:k.defaultShapeToolbarTools,shapes:n.shapes},D={tools:k.defaultConnectionToolbarTools},R={tools:k.defaultTextToolbarTools,fontNames:n.fontTypes,fontSizes:n.fontSizes},{diagram:O=g,shape:V=M,connection:q=D,text:A=R}=b,B=typeof O=="boolean"?O?g:{position:"top",tools:[]}:{...g,...O},N=typeof V=="boolean"?V?M:{tools:[]}:{...M,...V},K=typeof q=="boolean"?q?D:{tools:[]}:{...D,...q},L=typeof A=="boolean"?A?R:{tools:[]}:{...R,...A},{controller:r,snapshot:e}=y.useDiagramEditorController(i),ie=y.useRegisteredSurfaceRef(r),se=y.useRegisteredSurfaceRef(r),U=y.useRegisteredSurfaceRef(r),W=t.useRef(null),[h,I]=t.useState(null),x=t.useRef(null),[u,T]=t.useState(null),s=t.useRef(null),ae=Se.useLocalization(),le=e.editingSession?`${e.editingSession.target.type}:${e.editingSession.target.id}`:null,ce=t.useCallback(o=>{var a;(a=s.current)==null||a.call(s),s.current=o&&r?r.registerSurface(o):null},[r]),ue=t.useCallback(o=>{W.current=o,U(o)},[U]),de=t.useCallback(()=>{var a;const o=(a=W.current)==null?void 0:a.querySelector(Ae);return o?(o.focus({preventScroll:!0}),!0):!1},[]);t.useEffect(()=>()=>{var o;(o=s.current)==null||o.call(s),s.current=null},[]),t.useLayoutEffect(()=>{var a;if(!r||!e.editingSession){I(null),x.current=null,T(null),r==null||r.setTextEditingAdapter(null),(a=s.current)==null||a.call(s),s.current=null;return}const o=Oe(e.editingSession.item._contentVisual.options);return I(o),x.current=o,T(null),r.setTextEditingAdapter({getCommitPayload:()=>{const d=x.current;return d?{content:ke(d),isEmpty:Ne(d),textContent:d.textContent}:null}}),()=>{r.setTextEditingAdapter(null)}},[r,le,e.editingSession]);const be=e.editingSession?e.editingSession.item._contentVisual.options:{},p=e.selectedShape,f=e.selectedConnection,m=($=i==null?void 0:i.element)!=null?$:null,P=t.useMemo(()=>S.getContextToolbarAnchors(p,e.anchors.shape),[p,e.anchors.shape]),C=t.useMemo(()=>S.getContextToolbarAnchors(f,e.anchors.connection),[f,e.anchors.connection]),ge=t.useMemo(()=>!!(p&&P.base&&e.visibility.shape&&N.tools.length>0&&S.isDiagramItemVisibleInViewport(p,m)),[p,P.base,e.visibility.shape,N.tools.length,m]),pe=t.useMemo(()=>!!(f&&C.base&&e.visibility.connection&&K.tools.length>0&&S.isDiagramItemVisibleInViewport(f,m)),[f,C.base,e.visibility.connection,K.tools.length,m]),fe=o=>{I(o.value),x.current=o.value,u&&T({view:u.view})},me=o=>{var Q;const a=o.target;if(!e.editingSession||!a.element||!r||!h)return;const d=a.element;ce(d);const{item:v}=e.editingSession,H=v.name==="Shape"?v._contentVisual.padding():{top:0,bottom:0,left:0,right:0},z=o.dom,J=ae.toLanguageString(j.placeholder,j.messages[j.placeholder]);let E;const Te=new l.ProseMirror.Plugin({filterTransaction:w=>(te(oe,[w.doc.attrs.alignment,z,H]),T({view:E}),!0)}),Ee=l.ProseMirror.EditorState.create({doc:h,schema:ne,plugins:[Ve(),...o.viewProps.state.plugins,l.EditorUtils.placeholder(J),Te]});return E=new qe({mount:z},{...o.viewProps,state:Ee,handleKeyDown:(w,c)=>{var X,Y,Z,ee;return c.key==="Escape"?(r.handleKeyDown(c),c.defaultPrevented||((Y=(X=o.viewProps).handleKeyDown)==null?void 0:Y.call(X,w,c))===!0):c.key==="F10"&&c.altKey&&de()?(c.preventDefault(),!0):(ee=(Z=o.viewProps).handleKeyDown)==null?void 0:ee.call(Z,w,c)}}),Re(v,d,J),E.focus(),te(oe,[(Q=v.options.content)==null?void 0:Q.align,z,H]),T({view:E}),E},he=t.useCallback(o=>{o.key!=="Tab"||o.shiftKey||u&&(o.preventDefault(),u.view.focus())},[u]);return r?t.createElement(y.DiagramEditorProvider,{value:{controller:r,snapshot:e}},t.createElement(t.Fragment,null,t.createElement("div",{style:{position:"relative"}},t.createElement(ve.MainToolbar,{diagram:i,visible:e.visibility.main&&B.tools.length>0,...B}),t.createElement(F.FloatingToolbarPopup,{show:ge,baseAnchor:P.base,fallbackAnchor:P.fallback,boundaryElement:m},t.createElement("div",{ref:ie,className:_.toolbarPopupWrapClass},t.createElement(Pe.ShapeEditingToolbar,{shape:p,...N}))),t.createElement(F.FloatingToolbarPopup,{show:pe,baseAnchor:C.base,fallbackAnchor:C.fallback,boundaryElement:m},t.createElement("div",{ref:se,className:_.toolbarPopupWrapClass},t.createElement(Ce.ConnectionEditingToolbar,{connection:f,...K}))),t.createElement(F.FloatingToolbarPopup,{show:!!(e.editingSession&&u&&h&&e.anchors.textEditing&&e.visibility.textEditing&&L.tools.length>0),baseAnchor:e.anchors.textEditing?{left:e.anchors.textEditing.x,top:e.anchors.textEditing.y}:null},t.createElement("div",{ref:ue,className:_.toolbarPopupWrapClass,onKeyDown:he},t.createElement(xe.TextEditingToolbar,{editorView:u,editItem:(G=e.editingSession)==null?void 0:G.item,defaultStyles:be,...L})))),e.editingSession&&h&&t.createElement(l.Editor,{value:h,onChange:fe,defaultEditMode:"div",className:"k-diagram-rich-text-editor",style:{background:"transparent"},onMount:me}))):null};re.displayName="KendoDiagramEditor";exports.DiagramEditor=re;
|
|
@@ -11,40 +11,40 @@ import { useLocalization as Se } from "@progress/kendo-react-intl";
|
|
|
11
11
|
import { TextEditingToolbar as xe } from "./TextEditingToolbar.mjs";
|
|
12
12
|
import { ShapeEditingToolbar as ve } from "./ShapeEditingToolbar.mjs";
|
|
13
13
|
import { ConnectionEditingToolbar as we } from "./ConnectionEditingToolbar.mjs";
|
|
14
|
-
import { defaultTextToolbarTools as Ce, defaultMainToolbarTools as Pe, defaultShapeToolbarTools as ke, defaultConnectionToolbarTools as
|
|
15
|
-
import { getContextToolbarAnchors as X, isDiagramItemVisibleInViewport as Y, EditingUtils as
|
|
16
|
-
import { MainToolbar as
|
|
17
|
-
import { FloatingToolbarPopup as
|
|
18
|
-
import { toolbarPopupWrapClass as
|
|
19
|
-
import { useDiagramEditorController as Me, useRegisteredSurfaceRef as
|
|
20
|
-
import { placeholder as Z, messages as
|
|
21
|
-
const { pmDocToRTContent: Oe, rtContentToPM: Ke, schemaSpec: ze, styleEditor: Be, scheduleRafCall: ee, recalcVerticalAlign: te } =
|
|
14
|
+
import { defaultTextToolbarTools as Ce, defaultMainToolbarTools as Pe, defaultShapeToolbarTools as ke, defaultConnectionToolbarTools as De } from "./default-toolbar-tools.mjs";
|
|
15
|
+
import { getContextToolbarAnchors as X, isDiagramItemVisibleInViewport as Y, EditingUtils as Ve } from "@progress/kendo-diagram-common";
|
|
16
|
+
import { MainToolbar as Ae } from "./MainToolbar.mjs";
|
|
17
|
+
import { FloatingToolbarPopup as K } from "./FloatingToolbarPopup.mjs";
|
|
18
|
+
import { toolbarPopupWrapClass as z } from "./utils.mjs";
|
|
19
|
+
import { useDiagramEditorController as Me, useRegisteredSurfaceRef as B, DiagramEditorProvider as Ne } from "./DiagramEditorContext.mjs";
|
|
20
|
+
import { placeholder as Z, messages as Re } from "../messages/index.mjs";
|
|
21
|
+
const { pmDocToRTContent: Oe, rtContentToPM: Ke, schemaSpec: ze, styleEditor: Be, scheduleRafCall: ee, recalcVerticalAlign: te } = Ve, ne = new b.Schema(ze), Ie = Ke(b.Node, ne), { imageResizing: Fe } = oe;
|
|
22
22
|
class Le extends b.EditorView {
|
|
23
23
|
}
|
|
24
|
-
class
|
|
24
|
+
class ot extends b.Node {
|
|
25
25
|
}
|
|
26
26
|
const _e = '[tabindex]:not([tabindex="-1"]), button:not([disabled]), .k-dropdownlist, .k-colorpicker', Ue = (i) => {
|
|
27
|
-
const
|
|
28
|
-
return i.childCount === 0 || !!(i.childCount === 1 && (
|
|
29
|
-
},
|
|
27
|
+
const l = i.content.firstChild;
|
|
28
|
+
return i.childCount === 0 || !!(i.childCount === 1 && (l != null && l.inlineContent) && l.childCount === 0);
|
|
29
|
+
}, $e = (i) => {
|
|
30
30
|
var U, $;
|
|
31
|
-
const { diagram:
|
|
31
|
+
const { diagram: l, toolbars: se = {} } = i, v = {
|
|
32
32
|
position: "top",
|
|
33
33
|
tools: Pe,
|
|
34
34
|
shapes: i.shapes
|
|
35
|
-
},
|
|
35
|
+
}, w = { tools: ke, shapes: i.shapes }, C = { tools: De }, P = {
|
|
36
36
|
tools: Ce,
|
|
37
37
|
fontNames: i.fontTypes,
|
|
38
38
|
fontSizes: i.fontSizes
|
|
39
39
|
}, {
|
|
40
|
-
diagram:
|
|
41
|
-
shape:
|
|
42
|
-
connection:
|
|
43
|
-
text:
|
|
44
|
-
} = se, I = typeof
|
|
40
|
+
diagram: k = v,
|
|
41
|
+
shape: D = w,
|
|
42
|
+
connection: V = C,
|
|
43
|
+
text: A = P
|
|
44
|
+
} = se, I = typeof k == "boolean" ? k ? v : { position: "top", tools: [] } : { ...v, ...k }, M = typeof D == "boolean" ? D ? w : { tools: [] } : { ...w, ...D }, N = typeof V == "boolean" ? V ? C : { tools: [] } : { ...C, ...V }, F = typeof A == "boolean" ? A ? P : { tools: [] } : { ...P, ...A }, { controller: n, snapshot: e } = Me(l), ie = B(n), re = B(n), L = B(n), _ = t.useRef(null), [p, R] = t.useState(null), T = t.useRef(null), [c, g] = t.useState(null), s = t.useRef(null), le = Se(), ae = e.editingSession ? `${e.editingSession.target.type}:${e.editingSession.target.id}` : null, ce = t.useCallback(
|
|
45
45
|
(o) => {
|
|
46
|
-
var
|
|
47
|
-
(
|
|
46
|
+
var r;
|
|
47
|
+
(r = s.current) == null || r.call(s), s.current = o && n ? n.registerSurface(o) : null;
|
|
48
48
|
},
|
|
49
49
|
[n]
|
|
50
50
|
), ue = t.useCallback(
|
|
@@ -53,21 +53,21 @@ const _e = '[tabindex]:not([tabindex="-1"]), button:not([disabled]), .k-dropdown
|
|
|
53
53
|
},
|
|
54
54
|
[L]
|
|
55
55
|
), de = t.useCallback(() => {
|
|
56
|
-
var
|
|
57
|
-
const o = (
|
|
56
|
+
var r;
|
|
57
|
+
const o = (r = _.current) == null ? void 0 : r.querySelector(_e);
|
|
58
58
|
return o ? (o.focus({ preventScroll: !0 }), !0) : !1;
|
|
59
59
|
}, []);
|
|
60
60
|
t.useEffect(() => () => {
|
|
61
61
|
var o;
|
|
62
62
|
(o = s.current) == null || o.call(s), s.current = null;
|
|
63
63
|
}, []), t.useLayoutEffect(() => {
|
|
64
|
-
var
|
|
64
|
+
var r;
|
|
65
65
|
if (!n || !e.editingSession) {
|
|
66
|
-
|
|
66
|
+
R(null), T.current = null, g(null), n == null || n.setTextEditingAdapter(null), (r = s.current) == null || r.call(s), s.current = null;
|
|
67
67
|
return;
|
|
68
68
|
}
|
|
69
69
|
const o = Ie(e.editingSession.item._contentVisual.options);
|
|
70
|
-
return
|
|
70
|
+
return R(o), T.current = o, g(null), n.setTextEditingAdapter({
|
|
71
71
|
getCommitPayload: () => {
|
|
72
72
|
const u = T.current;
|
|
73
73
|
return u ? {
|
|
@@ -80,31 +80,31 @@ const _e = '[tabindex]:not([tabindex="-1"]), button:not([disabled]), .k-dropdown
|
|
|
80
80
|
n.setTextEditingAdapter(null);
|
|
81
81
|
};
|
|
82
82
|
}, [n, ae, e.editingSession]);
|
|
83
|
-
const me = e.editingSession ? e.editingSession.item._contentVisual.options : {}, d = e.selectedShape, m = e.selectedConnection, f = (U =
|
|
83
|
+
const me = e.editingSession ? e.editingSession.item._contentVisual.options : {}, d = e.selectedShape, m = e.selectedConnection, f = (U = l == null ? void 0 : l.element) != null ? U : null, E = t.useMemo(() => X(d, e.anchors.shape), [d, e.anchors.shape]), y = t.useMemo(() => X(m, e.anchors.connection), [m, e.anchors.connection]), fe = t.useMemo(() => !!(d && E.base && e.visibility.shape && M.tools.length > 0 && Y(d, f)), [
|
|
84
84
|
d,
|
|
85
85
|
E.base,
|
|
86
86
|
e.visibility.shape,
|
|
87
|
-
|
|
87
|
+
M.tools.length,
|
|
88
88
|
f
|
|
89
|
-
]), be = t.useMemo(() => !!(m && y.base && e.visibility.connection &&
|
|
89
|
+
]), be = t.useMemo(() => !!(m && y.base && e.visibility.connection && N.tools.length > 0 && Y(m, f)), [
|
|
90
90
|
m,
|
|
91
91
|
y.base,
|
|
92
92
|
e.visibility.connection,
|
|
93
|
-
|
|
93
|
+
N.tools.length,
|
|
94
94
|
f
|
|
95
95
|
]), pe = (o) => {
|
|
96
|
-
|
|
96
|
+
R(o.value), T.current = o.value, c && g({ view: c.view });
|
|
97
97
|
}, ge = (o) => {
|
|
98
98
|
var j;
|
|
99
|
-
const
|
|
100
|
-
if (!e.editingSession || !
|
|
99
|
+
const r = o.target;
|
|
100
|
+
if (!e.editingSession || !r.element || !n || !p)
|
|
101
101
|
return;
|
|
102
|
-
const u =
|
|
102
|
+
const u = r.element;
|
|
103
103
|
ce(u);
|
|
104
|
-
const { item: S } = e.editingSession, q = S.name === "Shape" ? S._contentVisual.padding() : { top: 0, bottom: 0, left: 0, right: 0 },
|
|
104
|
+
const { item: S } = e.editingSession, q = S.name === "Shape" ? S._contentVisual.padding() : { top: 0, bottom: 0, left: 0, right: 0 }, O = o.dom, W = le.toLanguageString(Z, Re[Z]);
|
|
105
105
|
let h;
|
|
106
106
|
const Te = new b.Plugin({
|
|
107
|
-
filterTransaction: (x) => (ee(te, [x.doc.attrs.alignment,
|
|
107
|
+
filterTransaction: (x) => (ee(te, [x.doc.attrs.alignment, O, q]), g({ view: h }), !0)
|
|
108
108
|
}), Ee = b.EditorState.create({
|
|
109
109
|
doc: p,
|
|
110
110
|
schema: ne,
|
|
@@ -116,7 +116,7 @@ const _e = '[tabindex]:not([tabindex="-1"]), button:not([disabled]), .k-dropdown
|
|
|
116
116
|
]
|
|
117
117
|
});
|
|
118
118
|
return h = new Le(
|
|
119
|
-
{ mount:
|
|
119
|
+
{ mount: O },
|
|
120
120
|
{
|
|
121
121
|
...o.viewProps,
|
|
122
122
|
state: Ee,
|
|
@@ -125,40 +125,40 @@ const _e = '[tabindex]:not([tabindex="-1"]), button:not([disabled]), .k-dropdown
|
|
|
125
125
|
return a.key === "Escape" ? (n.handleKeyDown(a), a.defaultPrevented || ((H = (G = o.viewProps).handleKeyDown) == null ? void 0 : H.call(G, x, a)) === !0) : a.key === "F10" && a.altKey && de() ? (a.preventDefault(), !0) : (Q = (J = o.viewProps).handleKeyDown) == null ? void 0 : Q.call(J, x, a);
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
|
-
), Be(S, u, W), h.focus(), ee(te, [(j = S.options.content) == null ? void 0 : j.align,
|
|
128
|
+
), Be(S, u, W), h.focus(), ee(te, [(j = S.options.content) == null ? void 0 : j.align, O, q]), g({ view: h }), h;
|
|
129
129
|
}, he = t.useCallback(
|
|
130
130
|
(o) => {
|
|
131
131
|
o.key !== "Tab" || o.shiftKey || c && (o.preventDefault(), c.view.focus());
|
|
132
132
|
},
|
|
133
133
|
[c]
|
|
134
134
|
);
|
|
135
|
-
return n ? /* @__PURE__ */ t.createElement(
|
|
136
|
-
|
|
135
|
+
return n ? /* @__PURE__ */ t.createElement(Ne, { value: { controller: n, snapshot: e } }, /* @__PURE__ */ t.createElement(t.Fragment, null, /* @__PURE__ */ t.createElement("div", { style: { position: "relative" } }, /* @__PURE__ */ t.createElement(
|
|
136
|
+
Ae,
|
|
137
137
|
{
|
|
138
|
-
diagram:
|
|
138
|
+
diagram: l,
|
|
139
139
|
visible: e.visibility.main && I.tools.length > 0,
|
|
140
140
|
...I
|
|
141
141
|
}
|
|
142
142
|
), /* @__PURE__ */ t.createElement(
|
|
143
|
-
|
|
143
|
+
K,
|
|
144
144
|
{
|
|
145
145
|
show: fe,
|
|
146
146
|
baseAnchor: E.base,
|
|
147
147
|
fallbackAnchor: E.fallback,
|
|
148
148
|
boundaryElement: f
|
|
149
149
|
},
|
|
150
|
-
/* @__PURE__ */ t.createElement("div", { ref: ie, className:
|
|
150
|
+
/* @__PURE__ */ t.createElement("div", { ref: ie, className: z }, /* @__PURE__ */ t.createElement(ve, { shape: d, ...M }))
|
|
151
151
|
), /* @__PURE__ */ t.createElement(
|
|
152
|
-
|
|
152
|
+
K,
|
|
153
153
|
{
|
|
154
154
|
show: be,
|
|
155
155
|
baseAnchor: y.base,
|
|
156
156
|
fallbackAnchor: y.fallback,
|
|
157
157
|
boundaryElement: f
|
|
158
158
|
},
|
|
159
|
-
/* @__PURE__ */ t.createElement("div", { ref:
|
|
159
|
+
/* @__PURE__ */ t.createElement("div", { ref: re, className: z }, /* @__PURE__ */ t.createElement(we, { connection: m, ...N }))
|
|
160
160
|
), /* @__PURE__ */ t.createElement(
|
|
161
|
-
|
|
161
|
+
K,
|
|
162
162
|
{
|
|
163
163
|
show: !!(e.editingSession && c && p && e.anchors.textEditing && e.visibility.textEditing && F.tools.length > 0),
|
|
164
164
|
baseAnchor: e.anchors.textEditing ? { left: e.anchors.textEditing.x, top: e.anchors.textEditing.y } : null
|
|
@@ -167,7 +167,7 @@ const _e = '[tabindex]:not([tabindex="-1"]), button:not([disabled]), .k-dropdown
|
|
|
167
167
|
"div",
|
|
168
168
|
{
|
|
169
169
|
ref: ue,
|
|
170
|
-
className:
|
|
170
|
+
className: z,
|
|
171
171
|
onKeyDown: he
|
|
172
172
|
},
|
|
173
173
|
/* @__PURE__ */ t.createElement(
|
|
@@ -192,6 +192,7 @@ const _e = '[tabindex]:not([tabindex="-1"]), button:not([disabled]), .k-dropdown
|
|
|
192
192
|
}
|
|
193
193
|
))) : null;
|
|
194
194
|
};
|
|
195
|
+
$e.displayName = "KendoDiagramEditor";
|
|
195
196
|
export {
|
|
196
|
-
|
|
197
|
+
$e as DiagramEditor
|
|
197
198
|
};
|
|
@@ -10,5 +10,5 @@ export type { ToolbarTools, FontTypeItem, FontSizeItem, ConnectionToolbarOptions
|
|
|
10
10
|
/**
|
|
11
11
|
* The props of the `DiagramEditor` component.
|
|
12
12
|
*/
|
|
13
|
-
export interface DiagramEditorProps extends DiagramEditorOptions {
|
|
13
|
+
export interface DiagramEditorProps extends Omit<DiagramEditorOptions, 'diagram'> {
|
|
14
14
|
}
|