@progress/kendo-react-diagram 16.2.0-develop.1 → 16.2.0-develop.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/dist/cdn/js/kendo-react-diagram.js +1 -1
  2. package/hooks/useDiagramTooltip.js +1 -1
  3. package/hooks/useDiagramTooltip.mjs +37 -37
  4. package/index.d.mts +3 -2
  5. package/index.d.ts +3 -2
  6. package/index.js +1 -1
  7. package/index.mjs +52 -44
  8. package/messages/index.d.ts +437 -0
  9. package/messages/index.js +8 -0
  10. package/messages/index.mjs +182 -0
  11. package/package-metadata.js +1 -1
  12. package/package-metadata.mjs +2 -2
  13. package/package.json +10 -4
  14. package/rich-text-editing/ConnectionEditingToolbar.d.ts +17 -0
  15. package/rich-text-editing/ConnectionEditingToolbar.js +8 -0
  16. package/rich-text-editing/ConnectionEditingToolbar.mjs +126 -0
  17. package/rich-text-editing/DiagramEditor.d.ts +13 -0
  18. package/rich-text-editing/DiagramEditor.js +8 -0
  19. package/rich-text-editing/DiagramEditor.mjs +197 -0
  20. package/rich-text-editing/DiagramEditorContext.d.ts +34 -0
  21. package/rich-text-editing/DiagramEditorContext.js +8 -0
  22. package/rich-text-editing/DiagramEditorContext.mjs +117 -0
  23. package/rich-text-editing/FloatingToolbarPopup.d.ts +38 -0
  24. package/rich-text-editing/FloatingToolbarPopup.js +8 -0
  25. package/rich-text-editing/FloatingToolbarPopup.mjs +97 -0
  26. package/rich-text-editing/Icons-Dropdown.d.ts +31 -0
  27. package/rich-text-editing/Icons-Dropdown.js +8 -0
  28. package/rich-text-editing/Icons-Dropdown.mjs +160 -0
  29. package/rich-text-editing/MainToolbar.d.ts +21 -0
  30. package/rich-text-editing/MainToolbar.js +8 -0
  31. package/rich-text-editing/MainToolbar.mjs +143 -0
  32. package/rich-text-editing/ShapeEditingToolbar.d.ts +18 -0
  33. package/rich-text-editing/ShapeEditingToolbar.js +8 -0
  34. package/rich-text-editing/ShapeEditingToolbar.mjs +154 -0
  35. package/rich-text-editing/TextEditingToolbar.d.ts +25 -0
  36. package/rich-text-editing/TextEditingToolbar.js +8 -0
  37. package/rich-text-editing/TextEditingToolbar.mjs +212 -0
  38. package/rich-text-editing/border-style.d.ts +15 -0
  39. package/rich-text-editing/border-style.js +8 -0
  40. package/rich-text-editing/border-style.mjs +39 -0
  41. package/rich-text-editing/border-width.d.ts +19 -0
  42. package/rich-text-editing/border-width.js +8 -0
  43. package/rich-text-editing/border-width.mjs +112 -0
  44. package/rich-text-editing/cap-type.d.ts +25 -0
  45. package/rich-text-editing/cap-type.js +8 -0
  46. package/rich-text-editing/cap-type.mjs +40 -0
  47. package/rich-text-editing/connection-style.d.ts +15 -0
  48. package/rich-text-editing/connection-style.js +8 -0
  49. package/rich-text-editing/connection-style.mjs +39 -0
  50. package/rich-text-editing/connection-types.d.ts +15 -0
  51. package/rich-text-editing/connection-types.js +8 -0
  52. package/rich-text-editing/connection-types.mjs +33 -0
  53. package/rich-text-editing/default-toolbar-tools.d.ts +77 -0
  54. package/rich-text-editing/default-toolbar-tools.js +8 -0
  55. package/rich-text-editing/default-toolbar-tools.mjs +63 -0
  56. package/rich-text-editing/index.d.ts +10 -0
  57. package/rich-text-editing/shapes-dropdown.d.ts +23 -0
  58. package/rich-text-editing/shapes-dropdown.js +8 -0
  59. package/rich-text-editing/shapes-dropdown.mjs +66 -0
  60. package/rich-text-editing/types.d.ts +14 -0
  61. package/rich-text-editing/utils.d.ts +48 -0
  62. package/rich-text-editing/utils.js +8 -0
  63. package/rich-text-editing/utils.mjs +42 -0
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { Connection, Shape } from '@progress/kendo-diagram-common';
9
+ import { ToolbarTools, FontTypeItem, FontSizeItem } from './types';
10
+ import * as React from 'react';
11
+ /** @hidden */
12
+ export interface TextEditingToolbarProps {
13
+ editorView?: any;
14
+ editItem?: Shape | Connection | null;
15
+ defaultStyles: {
16
+ color?: string;
17
+ fontSize?: number;
18
+ fontFamily?: string;
19
+ };
20
+ tools: ToolbarTools;
21
+ fontNames?: FontTypeItem[];
22
+ fontSizes?: FontSizeItem[];
23
+ }
24
+ /** @hidden */
25
+ export declare const TextEditingToolbar: (props: TextEditingToolbarProps) => React.JSX.Element | null;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Z=require("react"),f=require("@progress/kendo-react-editor"),O=require("@progress/kendo-react-popup"),tt=require("@progress/kendo-diagram-common"),V=require("./DiagramEditorContext.js"),A=require("@progress/kendo-react-buttons"),H=require("@progress/kendo-react-intl"),c=require("@progress/kendo-svg-icons"),e=require("../messages/index.js"),M=require("./Icons-Dropdown.js"),D=require("./utils.js");function et(t){const l=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const r in t)if(r!=="default"){const s=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(l,r,s.get?s:{enumerable:!0,get:()=>t[r]})}}return l.default=t,Object.freeze(l)}const a=et(Z),{DOMResizeObserver:ot,pmDocToRTContent:nt,parseAlignment:it,Data:lt}=tt.EditingUtils,{fontNames:at,fontSizes:rt,floatingToolbarStyle:st}=lt,{bold:L,italic:P,underline:R,fontName:ct,fontSize:dt,foreColor:gt}=f.EditorToolsSettings,ut=f.EditorTools.ForeColor,mt=f.EditorTools.createInlineFormatTool({...L,props:{...L.props,fillMode:"flat"}}),ft=f.EditorTools.createInlineFormatTool({...P,props:{...P.props,fillMode:"flat"}}),pt=f.EditorTools.createInlineFormatTool({...R,props:{...R.props,fillMode:"flat"}}),St=t=>{const l=V.useDiagramEditorPopupProps("text-toolbar"),r=a.useCallback(s=>{const o=l(s);return{...o,onClose:n=>{var u;(u=o.onClose)==null||u.call(o,n),t.onClose&&t.onClose()}}},[l,t]);return a.createElement(O.PopupPropsContext.Provider,{value:r},a.createElement(ut,{...t,colorPickerProps:{...gt.colorPickerProps,fillMode:"flat"}}))},bt={Left:e.editingAlignLeft,Center:e.editingAlignCenter,Right:e.editingAlignRight,Top:e.editingAlignTop,Middle:e.editingAlignMiddle,Bottom:e.editingAlignBottom},Tt={Standard:e.editingFontStandard,Classic:e.editingFontClassic,Technical:e.editingFontTechnical,Handwritten:e.editingFontHandwritten,Headline:e.editingFontHeadline},zt={"Extra Small":e.editingFontSizeExtraSmall,Small:e.editingFontSizeSmall,Medium:e.editingFontSizeMedium,Large:e.editingFontSizeLarge,"Extra Large":e.editingFontSizeExtraLarge},k=[{label:"Left",value:"left",icon:c.alignLeftIcon},{label:"Center",value:"center",icon:c.alignCenterIcon},{label:"Right",value:"right",icon:c.alignRightIcon}],w=[{label:"Top",value:"top",icon:c.alignTopIcon},{label:"Middle",value:"middle",icon:c.alignMiddleIcon},{label:"Bottom",value:"bottom",icon:c.alignBottomIcon}],v={left:c.alignLeftIcon,center:c.alignCenterIcon,right:c.alignRightIcon,top:c.alignTopIcon,middle:c.alignMiddleIcon,bottom:c.alignBottomIcon},N=(t,l,r,s={})=>t.map(o=>{const n=s[o.text];return{...o,text:r.toLanguageString(n||`${l}.${o.text}`,n?e.messages[n]:o.text)}}),q=(t,l)=>t in v?t:l,vt=t=>{const l=H.useLocalization(),r=n=>{const u=bt[n];return l.toLanguageString(u,e.messages[u])},s=k.map(n=>({...n,title:r(n.label)})),o=w.map(n=>({...n,title:r(n.label)}));return a.createElement(a.Fragment,null,a.createElement(M.IconsDropdown,{columns:k.length,data:s,value:t.horizontal,buttonIcon:v[t.horizontal],buttonTitle:l.toLanguageString(e.editingAlignHorizontal,e.messages[e.editingAlignHorizontal]),overlayOwner:"text-toolbar",onSelect:n=>t.onAlignClick(n,t.vertical)}),t.renderVAlign&&a.createElement(M.IconsDropdown,{columns:w.length,data:o,value:t.vertical,buttonIcon:v[t.vertical],buttonTitle:l.toLanguageString(e.editingAlignVertical,e.messages[e.editingAlignVertical]),overlayOwner:"text-toolbar",onSelect:n=>t.onAlignClick(t.horizontal,n)}))},B=t=>t!=null,It=t=>{var C,E,x,h;const l=V.useDiagramEditorPopupProps("text-toolbar"),r=((C=t.editItem)==null?void 0:C.name)==="Shape"&&t.editItem.type!=="text",s=a.useRef(t.editItem);s.current=t.editItem;const o=(E=t.editorView)==null?void 0:E.view,n=a.useRef(o);n.current=o;const u=(o==null?void 0:o.state.doc.attrs.alignment)||"left top",I=it(u),K=q(I.horizontal,"left"),j=q(I.vertical,"top"),p=H.useLocalization(),$=(i,d)=>{o.dispatch(o.state.tr.setDocAttribute("alignment",`${i} ${d}`)),o.focus()},_=()=>{o.focus()},b=t.fontNames||at,T=t.fontSizes||rt,{FontName:U,FontSize:G}=a.useMemo(()=>{const i=N(b,"diagram.editing.font",p,Tt),d=N(T,"diagram.editing.fontSize",p,zt),g=p.toLanguageString(e.editingFontType,e.messages[e.editingFontType]),m=p.toLanguageString(e.editingFontSize,e.messages[e.editingFontSize]),S=f.EditorTools.createStyleDropDownList({...ct,items:i,defaultItem:void 0}),Y=f.EditorTools.createStyleDropDownList({...dt,items:d,defaultItem:void 0});return{FontName:z=>a.createElement(S,{...z,title:g}),FontSize:z=>a.createElement(Y,{...z,title:m})}},[b,T,p]),J=B(t.defaultStyles.fontSize)&&T.find(i=>i.value===`${t.defaultStyles.fontSize}px`)||void 0,Q=B(t.defaultStyles.fontFamily)&&b.find(i=>i.value===t.defaultStyles.fontFamily)||void 0,y=a.useCallback(()=>{var S;const i=s.current,d=n.current;if(!i||!d||i.name!=="Shape"||i.type!=="text"||!i.bounds())return;const m={...i.options.content,...nt(d.state.doc)};(S=i._syncAutoHeightBounds)==null||S.call(i,m)},[]),W=((h=(x=n.current)==null?void 0:x.dom)==null?void 0:h.isConnected)===!0;a.useEffect(()=>{var d;const i=(d=n.current)==null?void 0:d.dom;if(i&&i.isConnected){const g=s.current;if(!g||g.name!=="Shape"||g.type!=="text")return;g.diagram.select(g);const m=new ot(i);return m.bind("resize",y),m.init(),()=>{m.destroy()}}},[t.editItem,W,y]);const X={color:{component:St,props:{view:o,onClose:_,title:p.toLanguageString(e.editingTextColor,e.messages[e.editingTextColor])}},fontSize:{component:G,props:{view:o,className:"k-toolbar-button",fillMode:"flat",defaultValue:J,dataItemKey:"value"}},fontType:{component:U,props:{view:o,className:"k-toolbar-button",fillMode:"flat",defaultValue:Q,dataItemKey:"value"}},bold:{component:mt,props:{view:o}},italic:{component:ft,props:{view:o}},underline:{component:pt,props:{view:o}},separator:{component:A.ToolbarSeparator,props:{}},align:{component:vt,props:{horizontal:K,vertical:j,renderVAlign:r,onAlignClick:$}}},F=D.mapTools(t.tools,X);return F.length===0?null:a.createElement(O.PopupPropsContext.Provider,{value:l},a.createElement(A.Toolbar,{fillMode:"flat",style:st,buttons:D.floatingToolbarButtons},F))};exports.TextEditingToolbar=It;
@@ -0,0 +1,212 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import * as i from "react";
9
+ import { EditorTools as f, EditorToolsSettings as rt } from "@progress/kendo-react-editor";
10
+ import { PopupPropsContext as O } from "@progress/kendo-react-popup";
11
+ import { EditingUtils as ct } from "@progress/kendo-diagram-common";
12
+ import { useDiagramEditorPopupProps as $ } from "./DiagramEditorContext.mjs";
13
+ import { Toolbar as st, ToolbarSeparator as dt } from "@progress/kendo-react-buttons";
14
+ import { useLocalization as U } from "@progress/kendo-react-intl";
15
+ import { alignBottomIcon as _, alignMiddleIcon as j, alignTopIcon as q, alignRightIcon as G, alignCenterIcon as J, alignLeftIcon as Q } from "@progress/kendo-svg-icons";
16
+ import { editingFontType as A, messages as g, editingFontSize as M, editingTextColor as E, editingFontHeadline as mt, editingFontHandwritten as gt, editingFontTechnical as ut, editingFontClassic as ft, editingFontStandard as pt, editingFontSizeExtraLarge as St, editingFontSizeLarge as bt, editingFontSizeMedium as zt, editingFontSizeSmall as vt, editingFontSizeExtraSmall as Tt, editingAlignHorizontal as L, editingAlignVertical as D, editingAlignBottom as Ft, editingAlignMiddle as yt, editingAlignTop as Ct, editingAlignRight as ht, editingAlignCenter as It, editingAlignLeft as xt } from "../messages/index.mjs";
17
+ import { IconsDropdown as N } from "./Icons-Dropdown.mjs";
18
+ import { mapTools as At, floatingToolbarButtons as Mt } from "./utils.mjs";
19
+ const { DOMResizeObserver: Et, pmDocToRTContent: Lt, parseAlignment: Dt, Data: Nt } = ct, { fontNames: wt, fontSizes: Pt, floatingToolbarStyle: Rt } = Nt, { bold: w, italic: P, underline: R, fontName: kt, fontSize: Bt, foreColor: Vt } = rt, Kt = f.ForeColor, Ht = f.createInlineFormatTool({ ...w, props: { ...w.props, fillMode: "flat" } }), Ot = f.createInlineFormatTool({ ...P, props: { ...P.props, fillMode: "flat" } }), $t = f.createInlineFormatTool({ ...R, props: { ...R.props, fillMode: "flat" } }), Ut = (t) => {
20
+ const l = $("text-toolbar"), c = i.useCallback(
21
+ (a) => {
22
+ const e = l(a);
23
+ return {
24
+ ...e,
25
+ onClose: (o) => {
26
+ var d;
27
+ (d = e.onClose) == null || d.call(e, o), t.onClose && t.onClose();
28
+ }
29
+ };
30
+ },
31
+ [l, t]
32
+ );
33
+ return /* @__PURE__ */ i.createElement(O.Provider, { value: c }, /* @__PURE__ */ i.createElement(Kt, { ...t, colorPickerProps: { ...Vt.colorPickerProps, fillMode: "flat" } }));
34
+ }, _t = {
35
+ Left: xt,
36
+ Center: It,
37
+ Right: ht,
38
+ Top: Ct,
39
+ Middle: yt,
40
+ Bottom: Ft
41
+ }, jt = {
42
+ Standard: pt,
43
+ Classic: ft,
44
+ Technical: ut,
45
+ Handwritten: gt,
46
+ Headline: mt
47
+ }, qt = {
48
+ "Extra Small": Tt,
49
+ Small: vt,
50
+ Medium: zt,
51
+ Large: bt,
52
+ "Extra Large": St
53
+ }, k = [
54
+ { label: "Left", value: "left", icon: Q },
55
+ { label: "Center", value: "center", icon: J },
56
+ { label: "Right", value: "right", icon: G }
57
+ ], B = [
58
+ { label: "Top", value: "top", icon: q },
59
+ { label: "Middle", value: "middle", icon: j },
60
+ { label: "Bottom", value: "bottom", icon: _ }
61
+ ], v = {
62
+ left: Q,
63
+ center: J,
64
+ right: G,
65
+ top: q,
66
+ middle: j,
67
+ bottom: _
68
+ }, V = (t, l, c, a = {}) => t.map((e) => {
69
+ const o = a[e.text];
70
+ return {
71
+ ...e,
72
+ text: c.toLanguageString(
73
+ o || `${l}.${e.text}`,
74
+ o ? g[o] : e.text
75
+ )
76
+ };
77
+ }), K = (t, l) => t in v ? t : l, Gt = (t) => {
78
+ const l = U(), c = (o) => {
79
+ const d = _t[o];
80
+ return l.toLanguageString(d, g[d]);
81
+ }, a = k.map((o) => ({
82
+ ...o,
83
+ title: c(o.label)
84
+ })), e = B.map((o) => ({
85
+ ...o,
86
+ title: c(o.label)
87
+ }));
88
+ return /* @__PURE__ */ i.createElement(i.Fragment, null, /* @__PURE__ */ i.createElement(
89
+ N,
90
+ {
91
+ columns: k.length,
92
+ data: a,
93
+ value: t.horizontal,
94
+ buttonIcon: v[t.horizontal],
95
+ buttonTitle: l.toLanguageString(L, g[L]),
96
+ overlayOwner: "text-toolbar",
97
+ onSelect: (o) => t.onAlignClick(o, t.vertical)
98
+ }
99
+ ), t.renderVAlign && /* @__PURE__ */ i.createElement(
100
+ N,
101
+ {
102
+ columns: B.length,
103
+ data: e,
104
+ value: t.vertical,
105
+ buttonIcon: v[t.vertical],
106
+ buttonTitle: l.toLanguageString(D, g[D]),
107
+ overlayOwner: "text-toolbar",
108
+ onSelect: (o) => t.onAlignClick(t.horizontal, o)
109
+ }
110
+ ));
111
+ }, H = (t) => t != null, ie = (t) => {
112
+ var C, h, I, x;
113
+ const l = $("text-toolbar"), c = ((C = t.editItem) == null ? void 0 : C.name) === "Shape" && t.editItem.type !== "text", a = i.useRef(t.editItem);
114
+ a.current = t.editItem;
115
+ const e = (h = t.editorView) == null ? void 0 : h.view, o = i.useRef(e);
116
+ o.current = e;
117
+ const d = (e == null ? void 0 : e.state.doc.attrs.alignment) || "left top", T = Dt(d), W = K(T.horizontal, "left"), X = K(T.vertical, "top"), u = U(), Y = (n, r) => {
118
+ e.dispatch(e.state.tr.setDocAttribute("alignment", `${n} ${r}`)), e.focus();
119
+ }, Z = () => {
120
+ e.focus();
121
+ }, S = t.fontNames || wt, b = t.fontSizes || Pt, { FontName: tt, FontSize: et } = i.useMemo(() => {
122
+ const n = V(S, "diagram.editing.font", u, jt), r = V(
123
+ b,
124
+ "diagram.editing.fontSize",
125
+ u,
126
+ qt
127
+ ), s = u.toLanguageString(A, g[A]), m = u.toLanguageString(M, g[M]), p = f.createStyleDropDownList({
128
+ ...kt,
129
+ items: n,
130
+ defaultItem: void 0
131
+ }), at = f.createStyleDropDownList({
132
+ ...Bt,
133
+ items: r,
134
+ defaultItem: void 0
135
+ });
136
+ return {
137
+ FontName: (z) => /* @__PURE__ */ i.createElement(p, { ...z, title: s }),
138
+ FontSize: (z) => /* @__PURE__ */ i.createElement(at, { ...z, title: m })
139
+ };
140
+ }, [S, b, u]), ot = H(t.defaultStyles.fontSize) && b.find((n) => n.value === `${t.defaultStyles.fontSize}px`) || void 0, nt = H(t.defaultStyles.fontFamily) && S.find((n) => n.value === t.defaultStyles.fontFamily) || void 0, F = i.useCallback(() => {
141
+ var p;
142
+ const n = a.current, r = o.current;
143
+ if (!n || !r || n.name !== "Shape" || n.type !== "text" || !n.bounds())
144
+ return;
145
+ const m = {
146
+ ...n.options.content,
147
+ ...Lt(r.state.doc)
148
+ };
149
+ (p = n._syncAutoHeightBounds) == null || p.call(n, m);
150
+ }, []), it = ((x = (I = o.current) == null ? void 0 : I.dom) == null ? void 0 : x.isConnected) === !0;
151
+ i.useEffect(() => {
152
+ var r;
153
+ const n = (r = o.current) == null ? void 0 : r.dom;
154
+ if (n && n.isConnected) {
155
+ const s = a.current;
156
+ if (!s || s.name !== "Shape" || s.type !== "text")
157
+ return;
158
+ s.diagram.select(s);
159
+ const m = new Et(n);
160
+ return m.bind("resize", F), m.init(), () => {
161
+ m.destroy();
162
+ };
163
+ }
164
+ }, [t.editItem, it, F]);
165
+ const lt = {
166
+ color: {
167
+ component: Ut,
168
+ props: {
169
+ view: e,
170
+ onClose: Z,
171
+ title: u.toLanguageString(E, g[E])
172
+ }
173
+ },
174
+ fontSize: {
175
+ component: et,
176
+ props: {
177
+ view: e,
178
+ className: "k-toolbar-button",
179
+ fillMode: "flat",
180
+ defaultValue: ot,
181
+ dataItemKey: "value"
182
+ }
183
+ },
184
+ fontType: {
185
+ component: tt,
186
+ props: {
187
+ view: e,
188
+ className: "k-toolbar-button",
189
+ fillMode: "flat",
190
+ defaultValue: nt,
191
+ dataItemKey: "value"
192
+ }
193
+ },
194
+ bold: { component: Ht, props: { view: e } },
195
+ italic: { component: Ot, props: { view: e } },
196
+ underline: { component: $t, props: { view: e } },
197
+ separator: { component: dt, props: {} },
198
+ align: {
199
+ component: Gt,
200
+ props: {
201
+ horizontal: W,
202
+ vertical: X,
203
+ renderVAlign: c,
204
+ onAlignClick: Y
205
+ }
206
+ }
207
+ }, y = At(t.tools, lt);
208
+ return y.length === 0 ? null : /* @__PURE__ */ i.createElement(O.Provider, { value: l }, /* @__PURE__ */ i.createElement(st, { fillMode: "flat", style: Rt, buttons: Mt }, y));
209
+ };
210
+ export {
211
+ ie as TextEditingToolbar
212
+ };
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { DashType, DiagramEditorOverlayOwner } from '@progress/kendo-diagram-common';
9
+ import * as React from 'react';
10
+ /** @hidden */
11
+ export declare const BorderStyle: (props: {
12
+ value: DashType;
13
+ onSelect: (value: DashType) => void;
14
+ overlayOwner: DiagramEditorOverlayOwner;
15
+ }) => React.JSX.Element;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react"),c=require("@progress/kendo-svg-icons"),u=require("@progress/kendo-diagram-common"),g=require("@progress/kendo-react-intl"),e=require("../messages/index.js"),D=require("./Icons-Dropdown.js"),s=require("./utils.js");function y(t){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const r in t)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(o,r,n.get?n:{enumerable:!0,get:()=>t[r]})}}return o.default=t,Object.freeze(o)}const i=y(l),a=u.EditingUtils.Data.borderTypes,p={solid:e.editingBorderStyleSolid,dot:e.editingBorderStyleDotted,dash:e.editingBorderStyleDashed,dashDot:e.editingBorderStyleDashDot,longDash:e.editingBorderStyleLongDash,longDashDot:e.editingBorderStyleLongDashDot,longDashDotDot:e.editingBorderStyleLongDashDotDot},S=t=>{const o=g.useLocalization(),r=o.toLanguageString(e.editingBorderStyle,e.messages[e.editingBorderStyle]),n=i.useMemo(()=>s.localizeDataLabels(a,o,p,d=>d.value),[o]);return i.createElement(D.IconsDropdown,{...t,data:n,buttonIcon:c.borderTypeIcon,buttonTitle:r,columns:a.length,popupClass:s.dropdownPopupClass})};exports.BorderStyle=S;
@@ -0,0 +1,39 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import * as t from "react";
9
+ import { borderTypeIcon as a } from "@progress/kendo-svg-icons";
10
+ import { EditingUtils as l } from "@progress/kendo-diagram-common";
11
+ import { useLocalization as g } from "@progress/kendo-react-intl";
12
+ import { editingBorderStyle as e, messages as p, editingBorderStyleLongDashDotDot as D, editingBorderStyleLongDashDot as m, editingBorderStyleLongDash as c, editingBorderStyleDashDot as y, editingBorderStyleDashed as h, editingBorderStyleDotted as u, editingBorderStyleSolid as S } from "../messages/index.mjs";
13
+ import { IconsDropdown as B } from "./Icons-Dropdown.mjs";
14
+ import { localizeDataLabels as b, dropdownPopupClass as f } from "./utils.mjs";
15
+ const r = l.Data.borderTypes, L = {
16
+ solid: S,
17
+ dot: u,
18
+ dash: h,
19
+ dashDot: y,
20
+ longDash: c,
21
+ longDashDot: m,
22
+ longDashDotDot: D
23
+ }, E = (n) => {
24
+ const o = g(), s = o.toLanguageString(e, p[e]), i = t.useMemo(() => b(r, o, L, (d) => d.value), [o]);
25
+ return /* @__PURE__ */ t.createElement(
26
+ B,
27
+ {
28
+ ...n,
29
+ data: i,
30
+ buttonIcon: a,
31
+ buttonTitle: s,
32
+ columns: r.length,
33
+ popupClass: f
34
+ }
35
+ );
36
+ };
37
+ export {
38
+ E as BorderStyle
39
+ };
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { DiagramEditorOverlayOwner } from '@progress/kendo-diagram-common';
9
+ import * as React from 'react';
10
+ /** @hidden */
11
+ export interface BorderWidthProps {
12
+ value: number;
13
+ onSelect: (value: number) => void;
14
+ label: string;
15
+ min?: number;
16
+ overlayOwner: DiagramEditorOverlayOwner;
17
+ }
18
+ /** @hidden */
19
+ export declare const BorderWidth: (props: BorderWidthProps) => React.JSX.Element;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const D=require("react"),B=require("@progress/kendo-react-buttons"),R=require("@progress/kendo-react-common"),P=require("@progress/kendo-react-popup"),p=require("@progress/kendo-svg-icons"),h=require("@progress/kendo-react-inputs"),m=require("./utils.js"),k=require("./DiagramEditorContext.js");function M(r){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const l in r)if(l!=="default"){const i=Object.getOwnPropertyDescriptor(r,l);Object.defineProperty(s,l,i.get?i:{enumerable:!0,get:()=>r[l]})}}return s.default=r,Object.freeze(s)}const t=M(D),j=()=>t.createElement(h.InputPrefix,{orientation:"horizontal"},t.createElement(R.SvgIcon,{icon:p.rowsIcon}));function T(r){return r.getBoundingClientRect().height}const W=20,z=1,L=r=>{var E;const{value:s,min:l=0,onSelect:i}=r,f=t.useRef(null),d=t.useRef(null),g=t.useRef(null),o=t.useRef(null),{controller:v}=k.useDiagramEditorContext(),{open:u,setOpen:a}=k.useControlledDiagramOverlay(r.overlayOwner),[y,S]=t.useState(60),w=()=>{a(e=>!e)},C=t.useCallback(e=>{var c,b;(c=o.current)==null||c.call(o);const n=(b=e==null?void 0:e.element)==null?void 0:b.querySelector(".k-popup");if(u&&n instanceof HTMLElement){g.current=n,o.current=v.registerSurface(n);return}g.current=null,o.current=null},[v,u]),q=t.useCallback(e=>{const n=e.target.element;setTimeout(()=>{const c=n.querySelector("input");c&&(c.focus(),c.select())},0)},[]),I=t.useCallback(e=>{var n,c;(e.key==="Enter"||e.key==="Escape")&&(a(!1),(c=(n=f.current)==null?void 0:n.element)==null||c.focus())},[a]),O=t.useCallback(()=>{a(!1)},[a]),x=t.useCallback(e=>{i(e.value||0)},[i]);return t.useEffect(()=>{var n;const e=(n=d.current)==null?void 0:n.element;if(!(!e||!u))return e.addEventListener("wheel",m.preventDefault,{capture:!0,passive:!1}),()=>{e.removeEventListener("wheel",m.preventDefault,!0)}},[u]),t.useEffect(()=>()=>{var e;(e=o.current)==null||e.call(o),o.current=null},[]),t.useEffect(()=>{var n;const e=(n=f.current)==null?void 0:n.element;!u||!e||S(Math.ceil(T(e)/5)*10)},[u]),t.createElement(t.Fragment,null,t.createElement(B.Button,{svgIcon:p.borderWidthIcon,endIcon:t.createElement(R.SvgIcon,{icon:p.chevronDownIcon}),onClick:w,type:"button",fillMode:"flat",title:r.label,ref:f,...m.preventFocusSteal}),t.createElement(P.Popup,{anchor:(E=f.current)==null?void 0:E.element,show:u,popupClass:m.dropdownPopupClass,onOpen:q,ref:C},t.createElement(h.NumericTextBox,{spinners:!1,ref:d,width:y,value:s,min:l,max:W,step:z,onKeyDown:I,onBlur:O,fillMode:"flat",onChange:x,prefix:j})))};exports.BorderWidth=L;
@@ -0,0 +1,112 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import * as t from "react";
9
+ import { Button as B } from "@progress/kendo-react-buttons";
10
+ import { SvgIcon as h } from "@progress/kendo-react-common";
11
+ import { Popup as S } from "@progress/kendo-react-popup";
12
+ import { borderWidthIcon as D, chevronDownIcon as M, rowsIcon as O } from "@progress/kendo-svg-icons";
13
+ import { NumericTextBox as P, InputPrefix as W } from "@progress/kendo-react-inputs";
14
+ import { preventDefault as d, preventFocusSteal as L, dropdownPopupClass as T } from "./utils.mjs";
15
+ import { useDiagramEditorContext as q, useControlledDiagramOverlay as z } from "./DiagramEditorContext.mjs";
16
+ const F = () => /* @__PURE__ */ t.createElement(W, { orientation: "horizontal" }, /* @__PURE__ */ t.createElement(h, { icon: O }));
17
+ function N(l) {
18
+ return l.getBoundingClientRect().height;
19
+ }
20
+ const H = 20, K = 1, X = (l) => {
21
+ var p;
22
+ const { value: v, min: g = 0, onSelect: i } = l, s = t.useRef(null), a = t.useRef(null), m = t.useRef(null), r = t.useRef(null), { controller: f } = q(), { open: c, setOpen: u } = z(l.overlayOwner), [w, R] = t.useState(60), b = () => {
23
+ u((e) => !e);
24
+ }, k = t.useCallback(
25
+ (e) => {
26
+ var o, E;
27
+ (o = r.current) == null || o.call(r);
28
+ const n = (E = e == null ? void 0 : e.element) == null ? void 0 : E.querySelector(".k-popup");
29
+ if (c && n instanceof HTMLElement) {
30
+ m.current = n, r.current = f.registerSurface(n);
31
+ return;
32
+ }
33
+ m.current = null, r.current = null;
34
+ },
35
+ [f, c]
36
+ ), x = t.useCallback((e) => {
37
+ const n = e.target.element;
38
+ setTimeout(() => {
39
+ const o = n.querySelector("input");
40
+ o && (o.focus(), o.select());
41
+ }, 0);
42
+ }, []), C = t.useCallback(
43
+ (e) => {
44
+ var n, o;
45
+ (e.key === "Enter" || e.key === "Escape") && (u(!1), (o = (n = s.current) == null ? void 0 : n.element) == null || o.focus());
46
+ },
47
+ [u]
48
+ ), y = t.useCallback(() => {
49
+ u(!1);
50
+ }, [u]), I = t.useCallback(
51
+ (e) => {
52
+ i(e.value || 0);
53
+ },
54
+ [i]
55
+ );
56
+ return t.useEffect(() => {
57
+ var n;
58
+ const e = (n = a.current) == null ? void 0 : n.element;
59
+ if (!(!e || !c))
60
+ return e.addEventListener("wheel", d, { capture: !0, passive: !1 }), () => {
61
+ e.removeEventListener("wheel", d, !0);
62
+ };
63
+ }, [c]), t.useEffect(() => () => {
64
+ var e;
65
+ (e = r.current) == null || e.call(r), r.current = null;
66
+ }, []), t.useEffect(() => {
67
+ var n;
68
+ const e = (n = s.current) == null ? void 0 : n.element;
69
+ !c || !e || R(Math.ceil(N(e) / 5) * 10);
70
+ }, [c]), /* @__PURE__ */ t.createElement(t.Fragment, null, /* @__PURE__ */ t.createElement(
71
+ B,
72
+ {
73
+ svgIcon: D,
74
+ endIcon: /* @__PURE__ */ t.createElement(h, { icon: M }),
75
+ onClick: b,
76
+ type: "button",
77
+ fillMode: "flat",
78
+ title: l.label,
79
+ ref: s,
80
+ ...L
81
+ }
82
+ ), /* @__PURE__ */ t.createElement(
83
+ S,
84
+ {
85
+ anchor: (p = s.current) == null ? void 0 : p.element,
86
+ show: c,
87
+ popupClass: T,
88
+ onOpen: x,
89
+ ref: k
90
+ },
91
+ /* @__PURE__ */ t.createElement(
92
+ P,
93
+ {
94
+ spinners: !1,
95
+ ref: a,
96
+ width: w,
97
+ value: v,
98
+ min: g,
99
+ max: H,
100
+ step: K,
101
+ onKeyDown: C,
102
+ onBlur: y,
103
+ fillMode: "flat",
104
+ onChange: I,
105
+ prefix: F
106
+ }
107
+ )
108
+ ));
109
+ };
110
+ export {
111
+ X as BorderWidth
112
+ };
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { SVGIcon } from '@progress/kendo-svg-icons';
9
+ import { DiagramEditorOverlayOwner } from '@progress/kendo-diagram-common';
10
+ import * as React from 'react';
11
+ interface CapTypeProps {
12
+ value: string;
13
+ onSelect: (value: string) => void;
14
+ data: {
15
+ label: string;
16
+ icon: SVGIcon;
17
+ value: string;
18
+ }[];
19
+ buttonIcon: SVGIcon;
20
+ buttonTitle: string;
21
+ overlayOwner: DiagramEditorOverlayOwner;
22
+ }
23
+ /** @hidden */
24
+ export declare const CapType: ({ value, onSelect, data, buttonIcon, buttonTitle, overlayOwner }: CapTypeProps) => React.JSX.Element;
25
+ export {};
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react"),g=require("@progress/kendo-react-intl"),e=require("../messages/index.js"),w=require("./Icons-Dropdown.js"),l=require("./utils.js");function C(r){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const t in r)if(t!=="default"){const o=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(n,t,o.get?o:{enumerable:!0,get:()=>r[t]})}}return n.default=r,Object.freeze(n)}const c=C(u),f={none:e.editingCapNone,ArrowStart:e.editingCapArrow,ArrowEnd:e.editingCapArrow,TriangleArrowStart:e.editingCapTriangleArrow,TriangleArrowEnd:e.editingCapTriangleArrow,LineArrow:e.editingCapLineArrow,FilledCircle:e.editingCapFilledCircle,FilledDiamond:e.editingCapFilledDiamond},m=({value:r,onSelect:n,data:t,buttonIcon:o,buttonTitle:s,overlayOwner:d})=>{const a=g.useLocalization(),p=c.useMemo(()=>l.localizeDataLabels(t,a,f,i=>i.value),[t,a]);return c.createElement(w.IconsDropdown,{buttonIcon:o,columns:3,onSelect:i=>n(i),value:r,data:p,buttonTitle:s,popupClass:l.dropdownPopupClass,overlayOwner:d})};exports.CapType=m;
@@ -0,0 +1,40 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import * as i from "react";
9
+ import { useLocalization as m } from "@progress/kendo-react-intl";
10
+ import { editingCapFilledDiamond as C, editingCapFilledCircle as g, editingCapLineArrow as w, editingCapTriangleArrow as a, editingCapArrow as n, editingCapNone as u } from "../messages/index.mjs";
11
+ import { IconsDropdown as A } from "./Icons-Dropdown.mjs";
12
+ import { localizeDataLabels as f, dropdownPopupClass as D } from "./utils.mjs";
13
+ const T = {
14
+ none: u,
15
+ ArrowStart: n,
16
+ ArrowEnd: n,
17
+ TriangleArrowStart: a,
18
+ TriangleArrowEnd: a,
19
+ LineArrow: w,
20
+ FilledCircle: g,
21
+ FilledDiamond: C
22
+ }, E = ({ value: t, onSelect: l, data: e, buttonIcon: p, buttonTitle: d, overlayOwner: s }) => {
23
+ const r = m(), c = i.useMemo(() => f(e, r, T, (o) => o.value), [e, r]);
24
+ return /* @__PURE__ */ i.createElement(
25
+ A,
26
+ {
27
+ buttonIcon: p,
28
+ columns: 3,
29
+ onSelect: (o) => l(o),
30
+ value: t,
31
+ data: c,
32
+ buttonTitle: d,
33
+ popupClass: D,
34
+ overlayOwner: s
35
+ }
36
+ );
37
+ };
38
+ export {
39
+ E as CapType
40
+ };
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { DashType, DiagramEditorOverlayOwner } from '@progress/kendo-diagram-common';
9
+ import * as React from 'react';
10
+ /** @hidden */
11
+ export declare const ConnectionStyle: (props: {
12
+ value: DashType;
13
+ onSelect: (value: DashType) => void;
14
+ overlayOwner: DiagramEditorOverlayOwner;
15
+ }) => React.JSX.Element;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react"),l=require("@progress/kendo-svg-icons"),u=require("@progress/kendo-diagram-common"),g=require("@progress/kendo-react-intl"),e=require("../messages/index.js"),D=require("./Icons-Dropdown.js"),i=require("./utils.js");function y(t){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const n in t)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(o,n,r.get?r:{enumerable:!0,get:()=>t[n]})}}return o.default=t,Object.freeze(o)}const s=y(d),a=u.EditingUtils.Data.borderTypes,p={solid:e.editingBorderStyleSolid,dot:e.editingBorderStyleDotted,dash:e.editingBorderStyleDashed,dashDot:e.editingBorderStyleDashDot,longDash:e.editingBorderStyleLongDash,longDashDot:e.editingBorderStyleLongDashDot,longDashDotDot:e.editingBorderStyleLongDashDotDot},S=t=>{const o=g.useLocalization(),n=o.toLanguageString(e.editingConnectionStyle,e.messages[e.editingConnectionStyle]),r=s.useMemo(()=>i.localizeDataLabels(a,o,p,c=>c.value),[o]);return s.createElement(D.IconsDropdown,{...t,data:r,buttonIcon:l.borderTypeIcon,buttonTitle:n,columns:a.length,popupClass:i.dropdownPopupClass})};exports.ConnectionStyle=S;
@@ -0,0 +1,39 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import * as t from "react";
9
+ import { borderTypeIcon as d } from "@progress/kendo-svg-icons";
10
+ import { EditingUtils as l } from "@progress/kendo-diagram-common";
11
+ import { useLocalization as g } from "@progress/kendo-react-intl";
12
+ import { editingConnectionStyle as e, messages as p, editingBorderStyleLongDashDotDot as D, editingBorderStyleLongDashDot as c, editingBorderStyleLongDash as m, editingBorderStyleDashDot as y, editingBorderStyleDashed as h, editingBorderStyleDotted as u, editingBorderStyleSolid as S } from "../messages/index.mjs";
13
+ import { IconsDropdown as B } from "./Icons-Dropdown.mjs";
14
+ import { localizeDataLabels as b, dropdownPopupClass as f } from "./utils.mjs";
15
+ const r = l.Data.borderTypes, L = {
16
+ solid: S,
17
+ dot: u,
18
+ dash: h,
19
+ dashDot: y,
20
+ longDash: m,
21
+ longDashDot: c,
22
+ longDashDotDot: D
23
+ }, E = (n) => {
24
+ const o = g(), i = o.toLanguageString(e, p[e]), s = t.useMemo(() => b(r, o, L, (a) => a.value), [o]);
25
+ return /* @__PURE__ */ t.createElement(
26
+ B,
27
+ {
28
+ ...n,
29
+ data: s,
30
+ buttonIcon: d,
31
+ buttonTitle: i,
32
+ columns: r.length,
33
+ popupClass: f
34
+ }
35
+ );
36
+ };
37
+ export {
38
+ E as ConnectionStyle
39
+ };
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ import { ConnectionType, DiagramEditorOverlayOwner } from '@progress/kendo-diagram-common';
9
+ import * as React from 'react';
10
+ /** @hidden */
11
+ export declare const ConnectionTypes: (props: {
12
+ value: ConnectionType;
13
+ onSelect: (value: ConnectionType) => void;
14
+ overlayOwner: DiagramEditorOverlayOwner;
15
+ }) => React.JSX.Element;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2026 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react"),p=require("@progress/kendo-react-intl"),r=require("@progress/kendo-diagram-common"),t=require("../messages/index.js"),d=require("./Icons-Dropdown.js"),c=require("./utils.js");function g(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const o in e)if(o!=="default"){const i=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(n,o,i.get?i:{enumerable:!0,get:()=>e[o]})}}return n.default=e,Object.freeze(n)}const s=g(u),a=r.EditingUtils.Data.connectionTypes,y=r.EditingUtils.Icons.diagonalLineIcon,T={cascading:t.editingConnectionTypeCascading,polyline:t.editingConnectionTypePolyline},m=e=>{const n=p.useLocalization(),o=n.toLanguageString(t.editingConnectionType,t.messages[t.editingConnectionType]),i=s.useMemo(()=>c.localizeDataLabels(a,n,T,l=>l.value),[n]);return s.createElement(d.IconsDropdown,{...e,data:i,buttonIcon:y,buttonTitle:o,columns:a.length,popupClass:c.dropdownPopupClass})};exports.ConnectionTypes=m;