@progress/kendo-react-diagram 16.2.0-develop.2 → 16.2.0-develop.21

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.
@@ -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.2",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=e=>({disabled:!e.enabled,smallStep:e.smallStep,largeStep:e.largeStep}),k=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:k=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:j,onDragStart:F,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]))(k,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:w(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,j=null==(D=E.tooltip)?void 0:D.cssClass,F=A||j;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:F,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:j,onDragStart:F,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}))});k.displayName="KendoDiagram";const P=()=>{};let M=0;const O=d.createContext(null),I=O.Provider,x=()=>{const e=d.useContext(O);if(!e)throw new Error("DiagramEditorContext is not available.");return e},L=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])},R=e=>{const{controller:t,snapshot:n}=x(),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}},z=e=>{const{controller:t}=x(),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}-${M++}`,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])},A="diagram.editing.textPlaceholder",j="diagram.editing.undo",F="diagram.editing.redo",B="diagram.editing.select",N="diagram.editing.pan",K="diagram.editing.text",V="diagram.editing.shape",H="diagram.editing.shapeType",U="diagram.editing.fillColor",q="diagram.editing.borderWidth",$="diagram.editing.borderColor",W="diagram.editing.borderStyle",_="diagram.editing.borderStyle.solid",Z="diagram.editing.borderStyle.dotted",J="diagram.editing.borderStyle.dashed",Y="diagram.editing.borderStyle.dashDot",X="diagram.editing.borderStyle.longDash",G="diagram.editing.borderStyle.longDashDot",Q="diagram.editing.borderStyle.longDashDotDot",ee="diagram.editing.toFront",te="diagram.editing.toBack",ne="diagram.editing.rotateLeft",oe="diagram.editing.rotateRight",ae="diagram.editing.duplicate",re="diagram.editing.delete",le="diagram.editing.connectionColor",ie="diagram.editing.connectionWidth",ce="diagram.editing.connectionStyle",se="diagram.editing.connectionType",ue="diagram.editing.connectionType.cascading",pe="diagram.editing.connectionType.polyline",de="diagram.editing.editText",ge="diagram.editing.startCapType",me="diagram.editing.cap.none",fe="diagram.editing.cap.arrow",he="diagram.editing.cap.triangleArrow",be="diagram.editing.cap.lineArrow",ve="diagram.editing.cap.filledCircle",ye="diagram.editing.cap.filledDiamond",Se="diagram.editing.endCapType",Ce="diagram.editing.shape.collate",Te="diagram.editing.shape.connector",De="diagram.editing.shape.dataStorage",Ee="diagram.editing.shape.database",we="diagram.editing.shape.decision",ke="diagram.editing.shape.delay",Pe="diagram.editing.shape.directAccessStorage",Me="diagram.editing.shape.display",Oe="diagram.editing.shape.document",Ie="diagram.editing.shape.extract",xe="diagram.editing.shape.inputOutput",Le="diagram.editing.shape.internalStorage",Re="diagram.editing.shape.logicalOr",ze="diagram.editing.shape.manualInputOutput",Ae="diagram.editing.shape.manualOperation",je="diagram.editing.shape.merge",Fe="diagram.editing.shape.multipleDocuments",Be="diagram.editing.shape.offPageConnector",Ne="diagram.editing.shape.predefinedProcess",Ke="diagram.editing.shape.preparation",Ve="diagram.editing.shape.process",He="diagram.editing.shape.sort",Ue="diagram.editing.shape.summingJunction",qe="diagram.editing.shape.terminator",$e="diagram.editing.alignLeft",We="diagram.editing.alignCenter",_e="diagram.editing.alignRight",Ze="diagram.editing.alignTop",Je="diagram.editing.alignMiddle",Ye="diagram.editing.alignBottom",Xe="diagram.editing.alignHorizontal",Ge="diagram.editing.alignVertical",Qe="diagram.editing.fontType",et="diagram.editing.fontSize",tt="diagram.editing.font.standard",nt="diagram.editing.font.classic",ot="diagram.editing.font.technical",at="diagram.editing.font.handwritten",rt="diagram.editing.font.headline",lt="diagram.editing.fontSize.extraSmall",it="diagram.editing.fontSize.small",ct="diagram.editing.fontSize.medium",st="diagram.editing.fontSize.large",ut="diagram.editing.fontSize.extraLarge",pt="diagram.editing.color",dt={[A]:"Type something",[j]:"Undo",[F]:"Redo",[B]:"Select",[N]:"Pan",[K]:"Text",[V]:"Shape",[H]:"Shape Type",[U]:"Fill Color",[q]:"Border Width",[$]:"Border Color",[W]:"Border Style",[_]:"Solid",[Z]:"Dotted",[J]:"Dashed",[Y]:"Dash Dot",[X]:"Long Dash",[G]:"Long Dash Dot",[Q]:"Long Dash Dot Dot",[ee]:"To Front",[te]:"To Back",[ne]:"Rotate Left",[oe]:"Rotate Right",[ae]:"Duplicate",[re]:"Delete",[le]:"Connection Color",[ie]:"Connection Width",[ce]:"Connection Style",[se]:"Connection Type",[ue]:"Cascading",[pe]:"Polyline",[de]:"Edit Text",[ge]:"Start Cap Type",[me]:"None",[fe]:"Arrow",[he]:"Triangle Arrow",[be]:"Line Arrow",[ve]:"Filled Circle",[ye]:"Filled Diamond",[Se]:"End Cap Type",[Ce]:"Collate",[Te]:"Connector",[De]:"Data Storage",[Ee]:"Database",[we]:"Decision",[ke]:"Delay",[Pe]:"Direct Access Storage",[Me]:"Display",[Oe]:"Document",[Ie]:"Extract",[xe]:"Input Output",[Le]:"Internal Storage",[Re]:"Logical OR",[ze]:"Manual Input Output",[Ae]:"Manual Operation",[je]:"Merge",[Fe]:"Multiple Documents",[Be]:"Off-page Connector",[Ne]:"Predefined Process",[Ke]:"Preparation",[Ve]:"Process",[He]:"Sort",[Ue]:"Summing Junction (Logical AND)",[qe]:"Terminator",[$e]:"Left",[We]:"Center",[_e]:"Right",[Ze]:"Top",[Je]:"Middle",[Ye]:"Bottom",[Xe]:"Horizontal Alignment",[Ge]:"Vertical Alignment",[Qe]:"Font Type",[et]:"Font Size",[tt]:"Standard",[nt]:"Classic",[ot]:"Technical",[at]:"Handwritten",[rt]:"Headline",[lt]:"Extra Small",[it]:"Small",[ct]:"Medium",[st]:"Large",[ut]:"Extra Large",[pt]:"Text Color"},gt=e=>e.preventDefault(),mt={onMouseDown:gt,onPointerDown:gt},ft=":not(.k-dropdownlist button):not(.k-colorpicker button):not(.k-split-button .k-split-button-arrow)",ht=[`button${ft}`,`.k-button-group > button${ft}`,".k-colorpicker",".k-dropdownlist"],bt=(e,t)=>`${e}-${t}`,vt=(e,t)=>{if(!e)return null;const{component:n,props:o}=e;return d.createElement(n,{...o,key:t})},yt=(e,t)=>e.map((e,n)=>Array.isArray(e)?d.createElement(i.ButtonGroup,{key:bt("group",n)},e.map((e,n)=>vt(t[e],bt(e,n))).filter(Boolean)):vt(t[e],bt(e,n))).filter(Boolean),St=(e,t,n,o)=>e.map(e=>{const a=n[String(o(e))];return{...e,label:a?t.toLanguageString(a,dt[a]):e.label}}),Ct="k-diagram-context-toolbar-popup",Tt="k-diagram-context-toolbar-container",Dt=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}=x(),{open:f,setOpen:h}=R(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",...mt})))))});Dt.displayName="IconsDropdown";const{DOMResizeObserver:Et,pmDocToRTContent:wt,parseAlignment:kt,Data:Pt}=t.EditingUtils,{fontNames:Mt,fontSizes:Ot,floatingToolbarStyle:It}=Pt,{bold:xt,italic:Lt,underline:Rt,fontName:zt,fontSize:At,foreColor:jt}=a.EditorToolsSettings,Ft=a.EditorTools.ForeColor,Bt=a.EditorTools.createInlineFormatTool({...xt,props:{...xt.props,fillMode:"flat"}}),Nt=a.EditorTools.createInlineFormatTool({...Lt,props:{...Lt.props,fillMode:"flat"}}),Kt=a.EditorTools.createInlineFormatTool({...Rt,props:{...Rt.props,fillMode:"flat"}}),Vt=e=>{const t=z("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(Ft,{...e,colorPickerProps:{...jt.colorPickerProps,fillMode:"flat"}}))},Ht={Left:$e,Center:We,Right:_e,Top:Ze,Middle:Je,Bottom:Ye},Ut={Standard:tt,Classic:nt,Technical:ot,Handwritten:at,Headline:rt},qt={"Extra Small":lt,Small:it,Medium:ct,Large:st,"Extra Large":ut},$t=[{label:"Left",value:"left",icon:c.alignLeftIcon},{label:"Center",value:"center",icon:c.alignCenterIcon},{label:"Right",value:"right",icon:c.alignRightIcon}],Wt=[{label:"Top",value:"top",icon:c.alignTopIcon},{label:"Middle",value:"middle",icon:c.alignMiddleIcon},{label:"Bottom",value:"bottom",icon:c.alignBottomIcon}],_t={left:c.alignLeftIcon,center:c.alignCenterIcon,right:c.alignRightIcon,top:c.alignTopIcon,middle:c.alignMiddleIcon,bottom:c.alignBottomIcon},Zt=(e,t,n,o={})=>e.map(e=>{const a=o[e.text];return{...e,text:n.toLanguageString(a||`${t}.${e.text}`,a?dt[a]:e.text)}}),Jt=(e,t)=>e in _t?e:t,Yt=e=>{const t=r.useLocalization(),n=e=>{const n=Ht[e];return t.toLanguageString(n,dt[n])},o=$t.map(e=>({...e,title:n(e.label)})),a=Wt.map(e=>({...e,title:n(e.label)}));return d.createElement(d.Fragment,null,d.createElement(Dt,{columns:$t.length,data:o,value:e.horizontal,buttonIcon:_t[e.horizontal],buttonTitle:t.toLanguageString(Xe,dt[Xe]),overlayOwner:"text-toolbar",onSelect:t=>e.onAlignClick(t,e.vertical)}),e.renderVAlign&&d.createElement(Dt,{columns:Wt.length,data:a,value:e.vertical,buttonIcon:_t[e.vertical],buttonTitle:t.toLanguageString(Ge,dt[Ge]),overlayOwner:"text-toolbar",onSelect:t=>e.onAlignClick(e.horizontal,t)}))},Xt=e=>null!=e,Gt=e=>{var t,n,o,c;const s=z("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=kt(f),b=Jt(h.horizontal,"left"),v=Jt(h.vertical,"top"),y=r.useLocalization(),S=e.fontNames||Mt,C=e.fontSizes||Ot,{FontName:T,FontSize:D}=d.useMemo(()=>{const e=Zt(S,"diagram.editing.font",y,Ut),t=Zt(C,"diagram.editing.fontSize",y,qt),n=y.toLanguageString(Qe,dt[Qe]),o=y.toLanguageString(et,dt[et]),r=a.EditorTools.createStyleDropDownList({...zt,items:e,defaultItem:void 0}),l=a.EditorTools.createStyleDropDownList({...At,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=Xt(e.defaultStyles.fontSize)&&C.find(t=>t.value===`${e.defaultStyles.fontSize}px`)||void 0,w=Xt(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,...wt(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 Et(t);return n.bind("resize",k),n.init(),()=>{n.destroy()}}},[e.editItem,P,k]);const M={color:{component:Vt,props:{view:g,onClose:()=>{g.focus()},title:y.toLanguageString(pt,dt[pt])}},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:Bt,props:{view:g}},italic:{component:Nt,props:{view:g}},underline:{component:Kt,props:{view:g}},separator:{component:i.ToolbarSeparator,props:{}},align:{component:Yt,props:{horizontal:b,vertical:v,renderVAlign:u,onAlignClick:(e,t)=>{g.dispatch(g.state.tr.setDocAttribute("alignment",`${e} ${t}`)),g.focus()}}}},O=yt(e.tools,M);return 0===O.length?null:d.createElement(l.PopupPropsContext.Provider,{value:s},d.createElement(i.Toolbar,{fillMode:"flat",style:It,buttons:ht},O))},{shapesData:Qt}=t.EditingUtils.Icons,{workflowShapes:en}=t.EditingUtils.Data,tn={[t.FlowchartShapeType.Collate]:Ce,[t.FlowchartShapeType.OnPageConnector]:Te,[t.FlowchartShapeType.DataStorage]:De,[t.FlowchartShapeType.Database]:Ee,[t.FlowchartShapeType.Decision]:we,[t.FlowchartShapeType.Delay]:ke,[t.FlowchartShapeType.DirectAccessStorage]:Pe,[t.FlowchartShapeType.Display]:Me,[t.FlowchartShapeType.Document]:Oe,[t.FlowchartShapeType.Extract]:Ie,[t.FlowchartShapeType.DataInputOutput]:xe,[t.FlowchartShapeType.InternalStorage]:Le,[t.FlowchartShapeType.LogicalOr]:Re,[t.FlowchartShapeType.ManualInputOutput]:ze,[t.FlowchartShapeType.ManualOperation]:Ae,[t.FlowchartShapeType.Merge]:je,[t.FlowchartShapeType.MultipleDocuments]:Fe,[t.FlowchartShapeType.OffPageConnector]:Be,[t.FlowchartShapeType.PredefinedProcess]:Ne,[t.FlowchartShapeType.Preparation]:Ke,[t.FlowchartShapeType.Process]:Ve,[t.FlowchartShapeType.Sort]:He,[t.FlowchartShapeType.SummingJunction]:Ue,[t.FlowchartShapeType.Terminator]:qe},nn=d.forwardRef(function(e,t){const n=r.useLocalization(),o=d.useMemo(()=>St(Qt,n,tn,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||en).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(Dt,{...e,ref:t,data:a,buttonIcon:c.shapesIcon,buttonTitle:e.buttonTitle,columns:4})}),on=()=>d.createElement(s.InputPrefix,{orientation:"horizontal"},d.createElement(o.SvgIcon,{icon:c.rowsIcon}));const an=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}=x(),{open:h,setOpen:b}=R(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",gt,{capture:!0,passive:!1}),()=>{t.removeEventListener("wheel",gt,!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,...mt}),d.createElement(l.Popup,{anchor:null==(t=u.current)?void 0:t.element,show:h,popupClass:Ct,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:on})))},rn=t.EditingUtils.Data.borderTypes,ln={solid:_,dot:Z,dash:J,dashDot:Y,longDash:X,longDashDot:G,longDashDotDot:Q},cn=e=>{const t=r.useLocalization(),n=t.toLanguageString(W,dt[W]),o=d.useMemo(()=>St(rn,t,ln,e=>e.value),[t]);return d.createElement(Dt,{...e,data:o,buttonIcon:c.borderTypeIcon,buttonTitle:n,columns:rn.length,popupClass:Ct})},{Data:sn}=t.EditingUtils,un=sn.floatingToolbarStyle,pn=e=>{var t,n,o;const{shape:a,tools:u,shapes:p}=e,{controller:g}=x(),m=z("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:nn,props:{onSelect:e=>{e!==b&&g.execute({type:"setShapeType",value:e})},value:a.options.type,buttonTitle:f.toLanguageString(H,dt[H]),shapes:p,popupClass:Ct,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(U,dt[U])}},separator:{component:i.ToolbarSeparator,props:{}},borderWidth:{component:an,props:{value:C,onSelect:e=>{g.execute({type:"setShapeStrokeWidth",value:e})},label:f.toLanguageString(q,dt[q]),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($,dt[$])}},borderStyle:{component:cn,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(ee,dt[ee])}},toBack:{component:i.Button,props:{fillMode:"flat",onClick:()=>{g.execute({type:"shapeToBack"})},svgIcon:c.bringToBackIcon,title:f.toLanguageString(te,dt[te])}},rotateLeft:{component:i.Button,props:{fillMode:"flat",onClick:()=>{g.execute({type:"rotateShapeLeft"})},svgIcon:c.rotateLeftIcon,title:f.toLanguageString(ne,dt[ne])}},rotateRight:{component:i.Button,props:{fillMode:"flat",onClick:()=>{g.execute({type:"rotateShapeRight"})},svgIcon:c.rotateRightIcon,title:f.toLanguageString(oe,dt[oe])}},duplicate:{component:i.Button,props:{fillMode:"flat",onClick:()=>{g.execute({type:"duplicateSelection"})},svgIcon:c.copyIcon,title:f.toLanguageString(ae,dt[ae])}},delete:{component:i.Button,props:{fillMode:"flat",onClick:()=>{g.execute({type:"deleteSelection"})},svgIcon:c.trashIcon,title:f.toLanguageString(re,dt[re])}}},E=yt(u,D);return 0===E.length?null:d.createElement(l.PopupPropsContext.Provider,{value:m},d.createElement(i.Toolbar,{fillMode:"flat",style:{...un},buttons:ht},E))},dn=t.EditingUtils.Data.connectionTypes,gn=t.EditingUtils.Icons.diagonalLineIcon,mn={cascading:ue,polyline:pe},fn=e=>{const t=r.useLocalization(),n=t.toLanguageString(se,dt[se]),o=d.useMemo(()=>St(dn,t,mn,e=>e.value),[t]);return d.createElement(Dt,{...e,data:o,buttonIcon:gn,buttonTitle:n,columns:dn.length,popupClass:Ct})},hn=t.EditingUtils.Data.borderTypes,bn={solid:_,dot:Z,dash:J,dashDot:Y,longDash:X,longDashDot:G,longDashDotDot:Q},vn=e=>{const t=r.useLocalization(),n=t.toLanguageString(ce,dt[ce]),o=d.useMemo(()=>St(hn,t,bn,e=>e.value),[t]);return d.createElement(Dt,{...e,data:o,buttonIcon:c.borderTypeIcon,buttonTitle:n,columns:hn.length,popupClass:Ct})},yn={none:me,ArrowStart:fe,ArrowEnd:fe,TriangleArrowStart:he,TriangleArrowEnd:he,LineArrow:be,FilledCircle:ve,FilledDiamond:ye},Sn=({value:e,onSelect:t,data:n,buttonIcon:o,buttonTitle:a,overlayOwner:l})=>{const i=r.useLocalization(),c=d.useMemo(()=>St(n,i,yn,e=>e.value),[n,i]);return d.createElement(Dt,{buttonIcon:o,columns:3,onSelect:e=>t(e),value:e,data:c,buttonTitle:a,popupClass:Ct,overlayOwner:l})},Cn=["undo","redo","separator","select","pan","separator","text","separator","shape"],Tn=["type","backColor","separator","borderWidth","borderColor","borderStyle","separator",["toFront","toBack"],"separator",["rotateLeft","rotateRight"],"separator",["duplicate","delete"]],Dn=["color","separator","width","separator","style","separator","text","separator","startCap","separator","type","separator","endCap","separator","delete"],En=["color","separator","fontSize","separator","fontType","separator",["bold","italic","underline"],"separator","align"],{ConnectionCommands:wn,Data:kn}=t.EditingUtils,{leftCapTypes:Pn,rightCapTypes:Mn,floatingToolbarStyle:On}=kn,In=e=>{var t,n;const{connection:o,tools:a=Dn}=e,{controller:u}=x(),p=z("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=wn.getCapTypeValue(m.startCap,"start"),C=wn.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(le,dt[le])}},width:{component:an,props:{value:y,onSelect:e=>(e=>{u.execute({type:"setConnectionStrokeWidth",value:e})})(e),label:g.toLanguageString(ie,dt[ie]),min:1,overlayOwner:"connection-toolbar"}},style:{component:vn,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(de,dt[de])}},startCap:{component:Sn,props:{value:S,onSelect:e=>(e=>{u.execute({type:"setConnectionStartCap",value:e})})(e),data:Pn,buttonIcon:(null==(t=Pn.find(e=>e.value===S))?void 0:t.icon)||c.arrowLeftIcon,buttonTitle:g.toLanguageString(ge,dt[ge]),overlayOwner:"connection-toolbar"}},type:{component:fn,props:{value:f,onSelect:e=>(e=>{e!==f&&u.execute({type:"setConnectionType",value:e})})(e),overlayOwner:"connection-toolbar"}},endCap:{component:Sn,props:{value:C,onSelect:e=>(e=>{u.execute({type:"setConnectionEndCap",value:e})})(e),data:Mn,buttonIcon:(null==(n=Mn.find(e=>e.value===C))?void 0:n.icon)||c.arrowRightIcon,buttonTitle:g.toLanguageString(Se,dt[Se]),overlayOwner:"connection-toolbar"}},delete:{component:i.Button,props:{fillMode:"flat",onClick:()=>{u.execute({type:"deleteSelection"})},svgIcon:c.trashIcon,title:g.toLanguageString(re,dt[re])}},separator:{component:i.ToolbarSeparator,props:{}}},D=yt(a,T);return 0===D.length?null:d.createElement(l.PopupPropsContext.Provider,{value:p},d.createElement(i.Toolbar,{fillMode:"flat",style:On,buttons:ht},D))},{floatingToolbarStyle:xn}=t.EditingUtils.Data,Ln=e=>{const{diagram:t,tools:n,position:o="top",shapes:a,visible:s=!0}=e,{controller:p,snapshot:g}=x(),m=L(p),f=z("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,dt[j])}},redo:{component:i.Button,props:{svgIcon:c.redoIcon,fillMode:"flat",onClick:()=>p.execute({type:"redo"}),disabled:!v,title:y.toLanguageString(F,dt[F])}},select:{component:i.Button,props:{svgIcon:c.pointerIcon,fillMode:"flat",onClick:()=>S({type:"select"}),togglable:!0,selected:"select"===h.type,title:y.toLanguageString(B,dt[B])}},pan:{component:i.Button,props:{svgIcon:c.handIcon,fillMode:"flat",onClick:()=>S({type:"pan"}),togglable:!0,selected:"pan"===h.type,title:y.toLanguageString(N,dt[N])}},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(K,dt[K])}},shape:{component:nn,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(V,dt[V]),shapes:a,popupClass:"k-diagram-main-toolbar-popup",overlayOwner:"main-toolbar"}},separator:{component:i.ToolbarSeparator,props:{}}},T=yt(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",...xn};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:xn,buttons:ht},T)))),t.element)},{floatingToolbarStyle:Rn}=t.EditingUtils.Data,zn={horizontal:"center",vertical:"center"},An={horizontal:"center",vertical:"bottom"},jn={above:An,below:{horizontal:"center",vertical:"top"}},Fn={left:0,top:0},Bn={offset:Fn,placement:"above",visible:!1},Nn=(e,t)=>({left:e.left+(t?t.left:0),top:e.top+(t?t.top:0)}),Kn=(e,t,n)=>({offset:e||Fn,placement:t,visible:n}),Vn=(e,t)=>e.visible===t.visible&&e.offset.left===t.offset.left&&e.offset.top===t.offset.top&&e.placement===t.placement,Hn=({show:e,baseAnchor:n,fallbackAnchor:o=null,boundaryElement:a,anchorAlign:r=zn,popupAlign:i=An,offset:c=Fn,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?Nn(n,c):null,[n,c]),f=d.useMemo(()=>o?Nn(o,c):null,[o,c]),[h,b]=d.useState(()=>m?Kn(m,g,!0):Bn),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(Rn).forEach(e=>{const t=Rn[e];n.style[e]=t})},[]),y=e&&!!n;d.useLayoutEffect(()=>{var e,n;if(!y||!m)return void b(e=>Vn(e,Bn)?e:Bn);let o;if(!a||!f)return o=Kn(m,g,!0),void b(e=>Vn(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=Kn(m,g,!0),void b(e=>Vn(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=>Vn(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||Fn,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:Un,rtContentToPM:qn,schemaSpec:$n,styleEditor:Wn,scheduleRafCall:_n,recalcVerticalAlign:Zn}=t.EditingUtils,Jn=new a.ProseMirror.Schema($n),Yn=qn(a.ProseMirror.Node,Jn),{imageResizing:Xn}=a.EditorUtils;class Gn extends a.ProseMirror.EditorView{}a.ProseMirror.Node;const Qn=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=k,e.DiagramConnectionTooltip=m,e.DiagramEditor=e=>{var n,o;const{diagram:l,toolbars:i={}}=e,c={position:"top",tools:Cn,shapes:e.shapes},s={tools:Tn,shapes:e.shapes},u={tools:Dn},p={tools:En,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):P,[n]),r=d.useCallback(()=>n?n.getSnapshot():t.emptyDiagramEditorSnapshot,[n]),l=d.useSyncExternalStore(a,r,()=>t.emptyDiagramEditorSnapshot);return{controller:n,snapshot:l}})(l),D=L(C),E=L(C),w=L(C),k=d.useRef(null),[M,O]=d.useState(null),x=d.useRef(null),[R,z]=d.useState(null),j=d.useRef(null),F=r.useLocalization(),B=T.editingSession?`${T.editingSession.target.type}:${T.editingSession.target.id}`:null,N=d.useCallback(e=>{var t;null==(t=j.current)||t.call(j),j.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=j.current)||e.call(j),j.current=null},[]),d.useLayoutEffect(()=>{var e;if(!C||!T.editingSession)return O(null),x.current=null,z(null),null==C||C.setTextEditingAdapter(null),null==(e=j.current)||e.call(j),void(j.current=null);const t=Yn(T.editingSession.item._contentVisual.options);return O(t),x.current=t,z(null),C.setTextEditingAdapter({getCommitPayload:()=>{const e=x.current;return e?{content:Un(e),isEmpty:Qn(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||R&&(e.preventDefault(),R.view.focus())},[R]);return C?d.createElement(I,{value:{controller:C,snapshot:T}},d.createElement(d.Fragment,null,d.createElement("div",{style:{position:"relative"}},d.createElement(Ln,{diagram:l,visible:T.visibility.main&&b.tools.length>0,...b}),d.createElement(Hn,{show:Z,baseAnchor:W.base,fallbackAnchor:W.fallback,boundaryElement:$},d.createElement("div",{ref:D,className:Tt},d.createElement(pn,{shape:U,...v}))),d.createElement(Hn,{show:J,baseAnchor:_.base,fallbackAnchor:_.fallback,boundaryElement:$},d.createElement("div",{ref:E,className:Tt},d.createElement(In,{connection:q,...y}))),d.createElement(Hn,{show:!!(T.editingSession&&R&&M&&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:Tt,onKeyDown:Y},d.createElement(Gt,{editorView:R,editItem:null==(o=T.editingSession)?void 0:o.item,defaultStyles:H,...S})))),T.editingSession&&M&&d.createElement(a.Editor,{value:M,onChange:e=>{O(e.value),x.current=e.value,R&&z({view:R.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&&M))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=F.toLanguageString(A,dt[A]);let s;const u=new a.ProseMirror.Plugin({filterTransaction:e=>(_n(Zn,[e.doc.attrs.alignment,i,l]),z({view:s}),!0)}),p=a.ProseMirror.EditorState.create({doc:M,schema:Jn,plugins:[Xn(),...e.viewProps.state.plugins,a.EditorUtils.placeholder(c),u]});return s=new Gn({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)}}),Wn(r,o,c),s.focus(),_n(Zn,[null==(t=r.options.content)?void 0:t.align,i,l]),z({view:s}),s}}))):null},e.DiagramShapeTooltip=f,e.defaultTextToolbarTools=En});
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")):"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"],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)}(this,function(e,t,n,o,a,r,l,i,c,s){"use strict";function u(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 p=u(n);const d=Object.freeze({name:"@progress/kendo-react-diagram",productName:"KendoReact",productCode:"KENDOUIREACT",productCodes:["KENDOUIREACT"],publishDate:0,version:"16.2.0-develop.21",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"}),g=e=>null;g.displayName="KendoDiagramConnectionTooltip";const m=e=>null;m.displayName="KendoDiagramShapeTooltip";const f={width:0,height:0},h=0,b=0,y={visible:!1,content:null,style:{}},v=e=>{if(!e)return{};const t={};return Object.keys(e).forEach(n=>{const o=e[n];o&&(t[n]=o)}),t},S=(e,t)=>e&&Array.isArray(e)&&0!==e.length?t&&Array.isArray(t)?e.map((e,n)=>({...e,dataItem:t[n]})):e:[],C={change:"onChange",click:"onDiagramClick",drag:"onDrag",dragEnd:"onDragEnd",dragStart:"onDragStart",itemBoundsChange:"onShapeBoundsChange",mouseEnter:"onMouseEnter",mouseLeave:"onMouseLeave",pan:"onPan",select:"onSelect",zoomEnd:"onZoomEnd",zoomStart:"onZoomStart"},T={enabled:!0,smallStep:1,largeStep:5},D={connections:[],shapes:[],editable:!0,pannable:{enabled:!0,showScrollbars:!0,autoHideScrollbars:!0},selectable:!0,zoom:1,zoomMax:2,zoomMin:.1,zoomRate:.1,role:"application"},E={fontSize:16,fontFamily:t.EditingUtils.Data.fontNames[0].value},w=e=>({disabled:!e.enabled,smallStep:e.smallStep,largeStep:e.largeStep}),k=p.forwardRef((e,n)=>{const{connectionDefaults:a,connections:r=D.connections,connectionModelFields:l,editable:i=D.editable,layout:c,pannable:s=D.pannable,selectable:u=D.selectable,shapeDefaults:E,shapes:k=D.shapes,shapeModelFields:P,zoom:M=D.zoom,zoomMax:O=D.zoomMax,zoomMin:I=D.zoomMin,zoomRate:x=D.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=D.role,ariaLabel:Y,children:X}=e,G=p.useRef(null),Q=p.useRef(null),[ee,te]=p.useState(null),ne=!o.validatePackage(d,{component:"Diagram"}),oe=o.getLicenseMessage(d),ae=p.useMemo(()=>(e=>{var t;return void 0===e||!0===e?T:!1===e?{...T,enabled:!1}:{...T,...e,enabled:null==(t=e.enabled)||t}})(L),[L]),re=p.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)=>p.useMemo(()=>{if(o||a){const r={shapes:{source:()=>e||[],map:v(o)},connections:{source:()=>n||[],map:v(a)}},l=t.convertToDiagramModel({shapes:e,connections:n},r);return{convertedShapes:S(l.shapes,e),convertedConnections:S(l.connections,n)}}return{convertedShapes:S(e,e),convertedConnections:S(n,n)}},[e,n,o,a]))(k,r,P,l),ce=p.useMemo(()=>({role:J,ariaLabel:Y,ariaRoleDescription:"Diagram"}),[J,Y]),se=p.useMemo(()=>({shapes:le,connections:ie,selectable:u,editable:i,zoom:M,zoomMax:O,zoomMin:I,zoomRate:x,layout:c,pannable:s,shapeDefaults:E,connectionDefaults:a,navigation:w(ae),accessibility:ce}),[le,ie,u,i,M,O,I,x,c,s,E,a,ae,ce]),ue=p.useMemo(()=>{const e=p.Children.toArray(X).find(e=>p.isValidElement(e)&&e.type===m);return e?e.props.children:null},[X]),pe=p.useMemo(()=>{const e=p.Children.toArray(X).find(e=>p.isValidElement(e)&&e.type===g);return e?e.props.children:null},[X]),de=p.Children.toArray(X).find(e=>p.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]=p.useState(y),u=p.useCallback(()=>{g.current=null,s(y)},[]),d=p.useRef(null),g=p.useRef(null);p.useLayoutEffect(()=>{const e=d.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=p.useCallback((e,i)=>{var c,p,d,m,y,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==(y=E.tooltip)?void 0:y.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(h,b,N.innerWidth,N.innerHeight),W=t.placeTooltip({hovered:e.item,mouse:e.point,shapes:V,connections:K,diagramRect:H,zoom:q,pan:U,tooltipSize:f,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]),v=p.useCallback(e=>{u(),null==i||i({...e})},[u,i]);return{tooltipState:c,tooltipElRef:d,hideTooltip:u,handleTooltipShow:m,handleTooltipHide:v}})({shapeTooltipRender:ue,connectionTooltipRender:pe,diagramRef:Q,wrapperRef:G,onTooltipShow:$,onTooltipHide:W}),{bindDiagramEvents:ye}=(e=>{const n=p.useRef(e);return n.current=e,{bindDiagramEvents:p.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=C[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=p.useRef(!1),Se=p.useRef(se);return p.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}},[]),p.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]),p.createElement("div",{ref:G,className:o.classNames("k-diagram",Z),style:{display:"block",position:"relative",cursor:"default",..._}},ge.visible&&p.createElement("div",{ref:me,className:o.classNames("k-popup","k-tooltip",ge.className),style:ge.style},ge.content),ne&&p.createElement(o.WatermarkOverlay,{message:oe}),de&&p.cloneElement(de,{diagram:ee}))});k.displayName="KendoDiagram";const P=()=>{};let M=0;const O=p.createContext(null),I=O.Provider,x=()=>{const e=p.useContext(O);if(!e)throw new Error("DiagramEditorContext is not available.");return e},L=e=>{const t=p.useRef(null);return p.useEffect(()=>()=>{var e;null==(e=t.current)||e.call(t),t.current=null},[]),p.useCallback(n=>{var o;null==(o=t.current)||o.call(t),t.current=n&&e?e.registerSurface(n):null},[e])},R=e=>{const{controller:t,snapshot:n}=x(),o=p.useId(),a=n.openOverlays.has(o);p.useEffect(()=>()=>{t.closeOverlay(o)},[t,o]);const r=p.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}},z=e=>{const{controller:t}=x(),n=p.useRef(new Map);return p.useEffect(()=>()=>{n.current.forEach((e,n)=>{e(),t.closeOverlay(n)}),n.current.clear()},[t]),p.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}-${M++}`,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])},A="diagram.editing.textPlaceholder",F="diagram.editing.undo",j="diagram.editing.redo",B="diagram.editing.select",N="diagram.editing.pan",K="diagram.editing.text",V="diagram.editing.shape",H="diagram.editing.shapeType",U="diagram.editing.fillColor",q="diagram.editing.borderWidth",$="diagram.editing.borderColor",W="diagram.editing.borderStyle",_="diagram.editing.borderStyle.solid",Z="diagram.editing.borderStyle.dotted",J="diagram.editing.borderStyle.dashed",Y="diagram.editing.borderStyle.dashDot",X="diagram.editing.borderStyle.longDash",G="diagram.editing.borderStyle.longDashDot",Q="diagram.editing.borderStyle.longDashDotDot",ee="diagram.editing.toFront",te="diagram.editing.toBack",ne="diagram.editing.rotateLeft",oe="diagram.editing.rotateRight",ae="diagram.editing.duplicate",re="diagram.editing.delete",le="diagram.editing.connectionColor",ie="diagram.editing.connectionWidth",ce="diagram.editing.connectionStyle",se="diagram.editing.connectionType",ue="diagram.editing.connectionType.cascading",pe="diagram.editing.connectionType.polyline",de="diagram.editing.editText",ge="diagram.editing.startCapType",me="diagram.editing.cap.none",fe="diagram.editing.cap.arrow",he="diagram.editing.cap.triangleArrow",be="diagram.editing.cap.lineArrow",ye="diagram.editing.cap.filledCircle",ve="diagram.editing.cap.filledDiamond",Se="diagram.editing.endCapType",Ce="diagram.editing.shape.collate",Te="diagram.editing.shape.connector",De="diagram.editing.shape.dataStorage",Ee="diagram.editing.shape.database",we="diagram.editing.shape.decision",ke="diagram.editing.shape.delay",Pe="diagram.editing.shape.directAccessStorage",Me="diagram.editing.shape.display",Oe="diagram.editing.shape.document",Ie="diagram.editing.shape.extract",xe="diagram.editing.shape.inputOutput",Le="diagram.editing.shape.internalStorage",Re="diagram.editing.shape.logicalOr",ze="diagram.editing.shape.manualInputOutput",Ae="diagram.editing.shape.manualOperation",Fe="diagram.editing.shape.merge",je="diagram.editing.shape.multipleDocuments",Be="diagram.editing.shape.offPageConnector",Ne="diagram.editing.shape.predefinedProcess",Ke="diagram.editing.shape.preparation",Ve="diagram.editing.shape.process",He="diagram.editing.shape.sort",Ue="diagram.editing.shape.summingJunction",qe="diagram.editing.shape.terminator",$e="diagram.editing.alignLeft",We="diagram.editing.alignCenter",_e="diagram.editing.alignRight",Ze="diagram.editing.alignTop",Je="diagram.editing.alignMiddle",Ye="diagram.editing.alignBottom",Xe="diagram.editing.alignHorizontal",Ge="diagram.editing.alignVertical",Qe="diagram.editing.fontType",et="diagram.editing.fontSize",tt="diagram.editing.font.standard",nt="diagram.editing.font.classic",ot="diagram.editing.font.technical",at="diagram.editing.font.handwritten",rt="diagram.editing.font.headline",lt="diagram.editing.fontSize.extraSmall",it="diagram.editing.fontSize.small",ct="diagram.editing.fontSize.medium",st="diagram.editing.fontSize.large",ut="diagram.editing.fontSize.extraLarge",pt="diagram.editing.color",dt={[A]:"Type something",[F]:"Undo",[j]:"Redo",[B]:"Select",[N]:"Pan",[K]:"Text",[V]:"Shape",[H]:"Shape Type",[U]:"Fill Color",[q]:"Border Width",[$]:"Border Color",[W]:"Border Style",[_]:"Solid",[Z]:"Dotted",[J]:"Dashed",[Y]:"Dash Dot",[X]:"Long Dash",[G]:"Long Dash Dot",[Q]:"Long Dash Dot Dot",[ee]:"To Front",[te]:"To Back",[ne]:"Rotate Left",[oe]:"Rotate Right",[ae]:"Duplicate",[re]:"Delete",[le]:"Connection Color",[ie]:"Connection Width",[ce]:"Connection Style",[se]:"Connection Type",[ue]:"Cascading",[pe]:"Polyline",[de]:"Edit Text",[ge]:"Start Cap Type",[me]:"None",[fe]:"Arrow",[he]:"Triangle Arrow",[be]:"Line Arrow",[ye]:"Filled Circle",[ve]:"Filled Diamond",[Se]:"End Cap Type",[Ce]:"Collate",[Te]:"Connector",[De]:"Data Storage",[Ee]:"Database",[we]:"Decision",[ke]:"Delay",[Pe]:"Direct Access Storage",[Me]:"Display",[Oe]:"Document",[Ie]:"Extract",[xe]:"Input Output",[Le]:"Internal Storage",[Re]:"Logical OR",[ze]:"Manual Input Output",[Ae]:"Manual Operation",[Fe]:"Merge",[je]:"Multiple Documents",[Be]:"Off-page Connector",[Ne]:"Predefined Process",[Ke]:"Preparation",[Ve]:"Process",[He]:"Sort",[Ue]:"Summing Junction (Logical AND)",[qe]:"Terminator",[$e]:"Left",[We]:"Center",[_e]:"Right",[Ze]:"Top",[Je]:"Middle",[Ye]:"Bottom",[Xe]:"Horizontal Alignment",[Ge]:"Vertical Alignment",[Qe]:"Font Type",[et]:"Font Size",[tt]:"Standard",[nt]:"Classic",[ot]:"Technical",[at]:"Handwritten",[rt]:"Headline",[lt]:"Extra Small",[it]:"Small",[ct]:"Medium",[st]:"Large",[ut]:"Extra Large",[pt]:"Text Color"},gt=e=>e.preventDefault(),mt={onMouseDown:gt,onPointerDown:gt},ft=":not(.k-dropdownlist button):not(.k-colorpicker button):not(.k-split-button .k-split-button-arrow)",ht=[`button${ft}`,`.k-button-group > button${ft}`,".k-colorpicker",".k-dropdownlist"],bt=(e,t)=>`${e}-${t}`,yt=(e,t)=>{if(!e)return null;const{component:n,props:o}=e;return p.createElement(n,{...o,key:t})},vt=(e,t)=>e.map((e,n)=>Array.isArray(e)?p.createElement(i.ButtonGroup,{key:bt("group",n)},e.map((e,n)=>yt(t[e],bt(e,n))).filter(Boolean)):yt(t[e],bt(e,n))).filter(Boolean),St=(e,t,n,o)=>e.map(e=>{const a=n[String(o(e))];return{...e,label:a?t.toLanguageString(a,dt[a]):e.label}}),Ct="k-diagram-context-toolbar-popup",Tt="k-diagram-context-toolbar-container",Dt=p.forwardRef((e,t)=>{var n;const a=p.useRef(null),r=p.useRef(null),s=p.useRef(null),u=p.useRef(null),d=p.useRef(null),g=p.useRef(!1),{controller:m}=x(),{open:f,setOpen:h}=R(e.overlayOwner),{columns:b}=e,y=p.useRef(e);y.current=e,p.useImperativeHandle(t,()=>a.current,[]);const v=p.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=p.useCallback(()=>{v(e=>(e&&(g.current=!0),!e))},[v]),C=p.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=p.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=p.useCallback(e=>{var t,n;null==(t=d.current)||t.call(d);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(d.current=m.registerSurface(o));u.current=null,d.current=null},[m,f]);p.useEffect(()=>{f||T()},[T,f]);const E=p.useMemo(()=>4!==b?{gridTemplateColumns:`repeat(${b}, max-content)`}:{},[b]),w=p.useCallback(e=>{var t;null==(t=s.current)||t.triggerKeyboardEvent(e)},[]),k=p.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 p.useEffect(()=>()=>{var e;null==(e=d.current)||e.call(d),d.current=null},[]),p.createElement(p.Fragment,null,p.createElement(i.Button,{svgIcon:e.buttonIcon,endIcon:p.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}),p.createElement(l.Popup,{anchor:null==(n=a.current)?void 0:n.element,show:f,popupClass:e.popupClass,onOpen:C,ref:D},p.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)=>p.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",...mt})))))});Dt.displayName="IconsDropdown";const{DOMResizeObserver:Et,pmDocToRTContent:wt,parseAlignment:kt,Data:Pt}=t.EditingUtils,{fontNames:Mt,fontSizes:Ot,floatingToolbarStyle:It}=Pt,{bold:xt,italic:Lt,underline:Rt,fontName:zt,fontSize:At,foreColor:Ft}=a.EditorToolsSettings,jt=a.EditorTools.ForeColor,Bt=a.EditorTools.createInlineFormatTool({...xt,props:{...xt.props,fillMode:"flat"}}),Nt=a.EditorTools.createInlineFormatTool({...Lt,props:{...Lt.props,fillMode:"flat"}}),Kt=a.EditorTools.createInlineFormatTool({...Rt,props:{...Rt.props,fillMode:"flat"}}),Vt=e=>{const t=z("text-toolbar"),n=p.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 p.createElement(l.PopupPropsContext.Provider,{value:n},p.createElement(jt,{...e,colorPickerProps:{...Ft.colorPickerProps,fillMode:"flat"}}))},Ht={Left:$e,Center:We,Right:_e,Top:Ze,Middle:Je,Bottom:Ye},Ut={Standard:tt,Classic:nt,Technical:ot,Handwritten:at,Headline:rt},qt={"Extra Small":lt,Small:it,Medium:ct,Large:st,"Extra Large":ut},$t=[{label:"Left",value:"left",icon:c.alignLeftIcon},{label:"Center",value:"center",icon:c.alignCenterIcon},{label:"Right",value:"right",icon:c.alignRightIcon}],Wt=[{label:"Top",value:"top",icon:c.alignTopIcon},{label:"Middle",value:"middle",icon:c.alignMiddleIcon},{label:"Bottom",value:"bottom",icon:c.alignBottomIcon}],_t={left:c.alignLeftIcon,center:c.alignCenterIcon,right:c.alignRightIcon,top:c.alignTopIcon,middle:c.alignMiddleIcon,bottom:c.alignBottomIcon},Zt=(e,t,n,o={})=>e.map(e=>{const a=o[e.text];return{...e,text:n.toLanguageString(a||`${t}.${e.text}`,a?dt[a]:e.text)}}),Jt=(e,t)=>e in _t?e:t,Yt=e=>{const t=r.useLocalization(),n=e=>{const n=Ht[e];return t.toLanguageString(n,dt[n])},o=$t.map(e=>({...e,title:n(e.label)})),a=Wt.map(e=>({...e,title:n(e.label)}));return p.createElement(p.Fragment,null,p.createElement(Dt,{columns:$t.length,data:o,value:e.horizontal,buttonIcon:_t[e.horizontal],buttonTitle:t.toLanguageString(Xe,dt[Xe]),overlayOwner:"text-toolbar",onSelect:t=>e.onAlignClick(t,e.vertical)}),e.renderVAlign&&p.createElement(Dt,{columns:Wt.length,data:a,value:e.vertical,buttonIcon:_t[e.vertical],buttonTitle:t.toLanguageString(Ge,dt[Ge]),overlayOwner:"text-toolbar",onSelect:t=>e.onAlignClick(e.horizontal,t)}))},Xt=e=>null!=e,Gt=e=>{var t,n,o,c;const s=z("text-toolbar"),u="Shape"===(null==(t=e.editItem)?void 0:t.name)&&"text"!==e.editItem.type,d=p.useRef(e.editItem);d.current=e.editItem;const g=null==(n=e.editorView)?void 0:n.view,m=p.useRef(g);m.current=g;const f=(null==g?void 0:g.state.doc.attrs.alignment)||"left top",h=kt(f),b=Jt(h.horizontal,"left"),y=Jt(h.vertical,"top"),v=r.useLocalization(),S=e.fontNames||Mt,C=e.fontSizes||Ot,{FontName:T,FontSize:D}=p.useMemo(()=>{const e=Zt(S,"diagram.editing.font",v,Ut),t=Zt(C,"diagram.editing.fontSize",v,qt),n=v.toLanguageString(Qe,dt[Qe]),o=v.toLanguageString(et,dt[et]),r=a.EditorTools.createStyleDropDownList({...zt,items:e,defaultItem:void 0}),l=a.EditorTools.createStyleDropDownList({...At,items:t,defaultItem:void 0});return{FontName:e=>p.createElement(r,{...e,title:n}),FontSize:e=>p.createElement(l,{...e,title:o})}},[S,C,v]),E=Xt(e.defaultStyles.fontSize)&&C.find(t=>t.value===`${e.defaultStyles.fontSize}px`)||void 0,w=Xt(e.defaultStyles.fontFamily)&&S.find(t=>t.value===e.defaultStyles.fontFamily)||void 0,k=p.useCallback(()=>{var e;const t=d.current,n=m.current;if(!t||!n||"Shape"!==t.name||"text"!==t.type||!t.bounds())return;const o={...t.options.content,...wt(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);p.useEffect(()=>{var e;const t=null==(e=m.current)?void 0:e.dom;if(t&&t.isConnected){const e=d.current;if(!e||"Shape"!==e.name||"text"!==e.type)return;e.diagram.select(e);const n=new Et(t);return n.bind("resize",k),n.init(),()=>{n.destroy()}}},[e.editItem,P,k]);const M={color:{component:Vt,props:{view:g,onClose:()=>{g.focus()},title:v.toLanguageString(pt,dt[pt])}},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:Bt,props:{view:g}},italic:{component:Nt,props:{view:g}},underline:{component:Kt,props:{view:g}},separator:{component:i.ToolbarSeparator,props:{}},align:{component:Yt,props:{horizontal:b,vertical:y,renderVAlign:u,onAlignClick:(e,t)=>{g.dispatch(g.state.tr.setDocAttribute("alignment",`${e} ${t}`)),g.focus()}}}},O=vt(e.tools,M);return 0===O.length?null:p.createElement(l.PopupPropsContext.Provider,{value:s},p.createElement(i.Toolbar,{fillMode:"flat",style:It,buttons:ht},O))},{shapesData:Qt}=t.EditingUtils.Icons,{workflowShapes:en}=t.EditingUtils.Data,tn={[t.FlowchartShapeType.Collate]:Ce,[t.FlowchartShapeType.OnPageConnector]:Te,[t.FlowchartShapeType.DataStorage]:De,[t.FlowchartShapeType.Database]:Ee,[t.FlowchartShapeType.Decision]:we,[t.FlowchartShapeType.Delay]:ke,[t.FlowchartShapeType.DirectAccessStorage]:Pe,[t.FlowchartShapeType.Display]:Me,[t.FlowchartShapeType.Document]:Oe,[t.FlowchartShapeType.Extract]:Ie,[t.FlowchartShapeType.DataInputOutput]:xe,[t.FlowchartShapeType.InternalStorage]:Le,[t.FlowchartShapeType.LogicalOr]:Re,[t.FlowchartShapeType.ManualInputOutput]:ze,[t.FlowchartShapeType.ManualOperation]:Ae,[t.FlowchartShapeType.Merge]:Fe,[t.FlowchartShapeType.MultipleDocuments]:je,[t.FlowchartShapeType.OffPageConnector]:Be,[t.FlowchartShapeType.PredefinedProcess]:Ne,[t.FlowchartShapeType.Preparation]:Ke,[t.FlowchartShapeType.Process]:Ve,[t.FlowchartShapeType.Sort]:He,[t.FlowchartShapeType.SummingJunction]:Ue,[t.FlowchartShapeType.Terminator]:qe},nn=p.forwardRef(function(e,t){const n=r.useLocalization(),o=p.useMemo(()=>St(Qt,n,tn,e=>e.type),[n]),a=p.useMemo(()=>{const t=new Map(o.map(({label:e,icon:t,type:n})=>[n,{icon:t,label:e}]));return(e.shapes||en).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 p.createElement(Dt,{...e,ref:t,data:a,buttonIcon:c.shapesIcon,buttonTitle:e.buttonTitle,columns:4})}),on=()=>p.createElement(s.InputPrefix,{orientation:"horizontal"},p.createElement(o.SvgIcon,{icon:c.rowsIcon}));const an=e=>{var t;const{value:n,min:a=0,onSelect:r}=e,u=p.useRef(null),d=p.useRef(null),g=p.useRef(null),m=p.useRef(null),{controller:f}=x(),{open:h,setOpen:b}=R(e.overlayOwner),[y,v]=p.useState(60),S=p.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=p.useCallback(e=>{const t=e.target.element;setTimeout(()=>{const e=t.querySelector("input");e&&(e.focus(),e.select())},0)},[]),T=p.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=p.useCallback(()=>{b(!1)},[b]),E=p.useCallback(e=>{r(e.value||0)},[r]);return p.useEffect(()=>{var e;const t=null==(e=d.current)?void 0:e.element;if(t&&h)return t.addEventListener("wheel",gt,{capture:!0,passive:!1}),()=>{t.removeEventListener("wheel",gt,!0)}},[h]),p.useEffect(()=>()=>{var e;null==(e=m.current)||e.call(m),m.current=null},[]),p.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]),p.createElement(p.Fragment,null,p.createElement(i.Button,{svgIcon:c.borderWidthIcon,endIcon:p.createElement(o.SvgIcon,{icon:c.chevronDownIcon}),onClick:()=>{b(e=>!e)},type:"button",fillMode:"flat",title:e.label,ref:u,...mt}),p.createElement(l.Popup,{anchor:null==(t=u.current)?void 0:t.element,show:h,popupClass:Ct,onOpen:C,ref:S},p.createElement(s.NumericTextBox,{spinners:!1,ref:d,width:y,value:n,min:a,max:20,step:1,onKeyDown:T,onBlur:D,fillMode:"flat",onChange:E,prefix:on})))},rn=t.EditingUtils.Data.borderTypes,ln={solid:_,dot:Z,dash:J,dashDot:Y,longDash:X,longDashDot:G,longDashDotDot:Q},cn=e=>{const t=r.useLocalization(),n=t.toLanguageString(W,dt[W]),o=p.useMemo(()=>St(rn,t,ln,e=>e.value),[t]);return p.createElement(Dt,{...e,data:o,buttonIcon:c.borderTypeIcon,buttonTitle:n,columns:rn.length,popupClass:Ct})},{Data:sn}=t.EditingUtils,un=sn.floatingToolbarStyle,pn=e=>{var t,n,o;const{shape:a,tools:u,shapes:d}=e,{controller:g}=x(),m=z("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:nn,props:{onSelect:e=>{e!==b&&g.execute({type:"setShapeType",value:e})},value:a.options.type,buttonTitle:f.toLanguageString(H,dt[H]),shapes:d,popupClass:Ct,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(U,dt[U])}},separator:{component:i.ToolbarSeparator,props:{}},borderWidth:{component:an,props:{value:C,onSelect:e=>{g.execute({type:"setShapeStrokeWidth",value:e})},label:f.toLanguageString(q,dt[q]),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($,dt[$])}},borderStyle:{component:cn,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(ee,dt[ee])}},toBack:{component:i.Button,props:{fillMode:"flat",onClick:()=>{g.execute({type:"shapeToBack"})},svgIcon:c.bringToBackIcon,title:f.toLanguageString(te,dt[te])}},rotateLeft:{component:i.Button,props:{fillMode:"flat",onClick:()=>{g.execute({type:"rotateShapeLeft"})},svgIcon:c.rotateLeftIcon,title:f.toLanguageString(ne,dt[ne])}},rotateRight:{component:i.Button,props:{fillMode:"flat",onClick:()=>{g.execute({type:"rotateShapeRight"})},svgIcon:c.rotateRightIcon,title:f.toLanguageString(oe,dt[oe])}},duplicate:{component:i.Button,props:{fillMode:"flat",onClick:()=>{g.execute({type:"duplicateSelection"})},svgIcon:c.copyIcon,title:f.toLanguageString(ae,dt[ae])}},delete:{component:i.Button,props:{fillMode:"flat",onClick:()=>{g.execute({type:"deleteSelection"})},svgIcon:c.trashIcon,title:f.toLanguageString(re,dt[re])}}},E=vt(u,D);return 0===E.length?null:p.createElement(l.PopupPropsContext.Provider,{value:m},p.createElement(i.Toolbar,{fillMode:"flat",style:{...un},buttons:ht},E))},dn=t.EditingUtils.Data.connectionTypes,gn=t.EditingUtils.Icons.diagonalLineIcon,mn={cascading:ue,polyline:pe},fn=e=>{const t=r.useLocalization(),n=t.toLanguageString(se,dt[se]),o=p.useMemo(()=>St(dn,t,mn,e=>e.value),[t]);return p.createElement(Dt,{...e,data:o,buttonIcon:gn,buttonTitle:n,columns:dn.length,popupClass:Ct})},hn=t.EditingUtils.Data.borderTypes,bn={solid:_,dot:Z,dash:J,dashDot:Y,longDash:X,longDashDot:G,longDashDotDot:Q},yn=e=>{const t=r.useLocalization(),n=t.toLanguageString(ce,dt[ce]),o=p.useMemo(()=>St(hn,t,bn,e=>e.value),[t]);return p.createElement(Dt,{...e,data:o,buttonIcon:c.borderTypeIcon,buttonTitle:n,columns:hn.length,popupClass:Ct})},vn={none:me,ArrowStart:fe,ArrowEnd:fe,TriangleArrowStart:he,TriangleArrowEnd:he,LineArrow:be,FilledCircle:ye,FilledDiamond:ve},Sn=({value:e,onSelect:t,data:n,buttonIcon:o,buttonTitle:a,overlayOwner:l})=>{const i=r.useLocalization(),c=p.useMemo(()=>St(n,i,vn,e=>e.value),[n,i]);return p.createElement(Dt,{buttonIcon:o,columns:3,onSelect:e=>t(e),value:e,data:c,buttonTitle:a,popupClass:Ct,overlayOwner:l})},Cn=["undo","redo","separator","select","pan","separator","text","separator","shape"],Tn=["type","backColor","separator","borderWidth","borderColor","borderStyle","separator",["toFront","toBack"],"separator",["rotateLeft","rotateRight"],"separator",["duplicate","delete"]],Dn=["color","separator","width","separator","style","separator","text","separator","startCap","separator","type","separator","endCap","separator","delete"],En=["color","separator","fontSize","separator","fontType","separator",["bold","italic","underline"],"separator","align"],{ConnectionCommands:wn,Data:kn}=t.EditingUtils,{leftCapTypes:Pn,rightCapTypes:Mn,floatingToolbarStyle:On}=kn,In=e=>{var t,n;const{connection:o,tools:a=Dn}=e,{controller:u}=x(),d=z("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=wn.getCapTypeValue(m.startCap,"start"),C=wn.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(le,dt[le])}},width:{component:an,props:{value:v,onSelect:e=>(e=>{u.execute({type:"setConnectionStrokeWidth",value:e})})(e),label:g.toLanguageString(ie,dt[ie]),min:1,overlayOwner:"connection-toolbar"}},style:{component:yn,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(de,dt[de])}},startCap:{component:Sn,props:{value:S,onSelect:e=>(e=>{u.execute({type:"setConnectionStartCap",value:e})})(e),data:Pn,buttonIcon:(null==(t=Pn.find(e=>e.value===S))?void 0:t.icon)||c.arrowLeftIcon,buttonTitle:g.toLanguageString(ge,dt[ge]),overlayOwner:"connection-toolbar"}},type:{component:fn,props:{value:f,onSelect:e=>(e=>{e!==f&&u.execute({type:"setConnectionType",value:e})})(e),overlayOwner:"connection-toolbar"}},endCap:{component:Sn,props:{value:C,onSelect:e=>(e=>{u.execute({type:"setConnectionEndCap",value:e})})(e),data:Mn,buttonIcon:(null==(n=Mn.find(e=>e.value===C))?void 0:n.icon)||c.arrowRightIcon,buttonTitle:g.toLanguageString(Se,dt[Se]),overlayOwner:"connection-toolbar"}},delete:{component:i.Button,props:{fillMode:"flat",onClick:()=>{u.execute({type:"deleteSelection"})},svgIcon:c.trashIcon,title:g.toLanguageString(re,dt[re])}},separator:{component:i.ToolbarSeparator,props:{}}},D=vt(a,T);return 0===D.length?null:p.createElement(l.PopupPropsContext.Provider,{value:d},p.createElement(i.Toolbar,{fillMode:"flat",style:On,buttons:ht},D))},{floatingToolbarStyle:xn}=t.EditingUtils.Data,Ln={zIndex:1},Rn={type:"fade",openDuration:140,closeDuration:140},zn=e=>{const{diagram:t,tools:n,position:o="top",shapes:a,visible:s=!0}=e,{controller:u,snapshot:d}=x(),g=L(u),m=z("main-toolbar"),f=d.activeTool,h=!(!t||!t.canUndo()),b=!(!t||!t.canRedo()),y=r.useLocalization();p.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 v=p.useCallback(e=>{u.dispatch({type:"setActiveTool",tool:e})},[u]),S={undo:{component:i.Button,props:{svgIcon:c.undoIcon,fillMode:"flat",onClick:()=>u.execute({type:"undo"}),disabled:!h,title:y.toLanguageString(F,dt[F])}},redo:{component:i.Button,props:{svgIcon:c.redoIcon,fillMode:"flat",onClick:()=>u.execute({type:"redo"}),disabled:!b,title:y.toLanguageString(j,dt[j])}},select:{component:i.Button,props:{svgIcon:c.pointerIcon,fillMode:"flat",onClick:()=>v({type:"select"}),togglable:!0,selected:"select"===f.type,title:y.toLanguageString(B,dt[B])}},pan:{component:i.Button,props:{svgIcon:c.handIcon,fillMode:"flat",onClick:()=>v({type:"pan"}),togglable:!0,selected:"pan"===f.type,title:y.toLanguageString(N,dt[N])}},text:{component:i.Button,props:{svgIcon:c.freeTextIcon,fillMode:"flat",onClick:()=>v({type:"insert-text"}),togglable:!0,selected:"insert-text"===f.type,title:y.toLanguageString(K,dt[K])}},shape:{component:nn,props:{onSelect:e=>{v({type:"insert-shape",shape:e})},value:"insert-shape"===f.type?f.shape:null,active:"insert-shape"===f.type,buttonTitle:y.toLanguageString(V,dt[V]),shapes:a,popupClass:"k-diagram-main-toolbar-popup",overlayOwner:"main-toolbar"}},separator:{component:i.ToolbarSeparator,props:{}}},C=p.useMemo(()=>{const e={horizontal:0,vertical:"top"===o?2:12},t={vertical:o,horizontal:"center"};return{anchorAlign:t,popupAlign:{...t},margin:e}},[o]),T=vt(n,S);return t&&0!==T.length?p.createElement(l.Popup,{appendTo:t.element,show:s,animate:Rn,style:Ln,anchor:t.element,...C},p.createElement("div",{ref:g,style:xn},p.createElement(l.PopupPropsContext.Provider,{value:m},p.createElement(i.Toolbar,{fillMode:"flat",style:xn,buttons:ht},T)))):null},{floatingToolbarStyle:An}=t.EditingUtils.Data,Fn={horizontal:"center",vertical:"center"},jn={horizontal:"center",vertical:"bottom"},Bn={above:jn,below:{horizontal:"center",vertical:"top"}},Nn={left:0,top:0},Kn={offset:Nn,placement:"above",visible:!1},Vn=(e,t)=>({left:e.left+(t?t.left:0),top:e.top+(t?t.top:0)}),Hn=(e,t,n)=>({offset:e||Nn,placement:t,visible:n}),Un=(e,t)=>e.visible===t.visible&&e.offset.left===t.offset.left&&e.offset.top===t.offset.top&&e.placement===t.placement,qn=({show:e,baseAnchor:n,fallbackAnchor:o=null,boundaryElement:a,anchorAlign:r=Fn,popupAlign:i=jn,offset:c=Nn,children:s})=>{const u=p.useRef(null),d=p.useRef(0),g=(e=>"top"===(null==e?void 0:e.vertical)?"below":"above")(i),m=p.useMemo(()=>n?Vn(n,c):null,[n,c]),f=p.useMemo(()=>o?Vn(o,c):null,[o,c]),[h,b]=p.useState(()=>m?Hn(m,g,!0):Kn),y=p.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(An).forEach(e=>{const t=An[e];n.style[e]=t})},[]),v=e&&!!n;p.useLayoutEffect(()=>{var e,n;if(!v||!m)return void b(e=>Un(e,Kn)?e:Kn);let o;if(!a||!f)return o=Hn(m,g,!0),void b(e=>Un(e,o)?e:o);const r=(null==(e=u.current)?void 0:e.getBoundingClientRect().height)||d.current;if(r>0&&(d.current=r),d.current<=0)return o=Hn(m,g,!0),void b(e=>Un(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:d.current,boundaryTop:l.top+i,boundaryBottom:l.bottom+i}),b(e=>Un(e,o)?e:o)},[a,g,v,m,f]);const S=v&&(h.visible||d.current<=0||!a||!f),C=h.visible?h.offset:m||Nn,T=h.visible?Bn[h.placement]:i;return p.createElement(l.Popup,{show:S,anchorAlign:r,popupAlign:T,offset:C,positionMode:"fixed",ref:y,animate:!1},s)},{pmDocToRTContent:$n,rtContentToPM:Wn,schemaSpec:_n,styleEditor:Zn,scheduleRafCall:Jn,recalcVerticalAlign:Yn}=t.EditingUtils,Xn=new a.ProseMirror.Schema(_n),Gn=Wn(a.ProseMirror.Node,Xn),{imageResizing:Qn}=a.EditorUtils;class eo extends a.ProseMirror.EditorView{}a.ProseMirror.Node;const to=e=>{const t=e.content.firstChild;return 0===e.childCount||!(1!==e.childCount||null==t||!t.inlineContent||0!==t.childCount)},no=e=>{var n,o;const{diagram:l,toolbars:i={}}=e,c={position:"top",tools:Cn,shapes:e.shapes},s={tools:Tn,shapes:e.shapes},u={tools:Dn},d={tools:En,fontNames:e.fontTypes,fontSizes:e.fontSizes},{diagram:g=c,shape:m=s,connection:f=u,text:h=d}=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?d:{tools:[]}:{...d,...h},{controller:C,snapshot:T}=(e=>{const[n,o]=p.useState(null);p.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=p.useCallback(e=>n?n.subscribe(e):P,[n]),r=p.useCallback(()=>n?n.getSnapshot():t.emptyDiagramEditorSnapshot,[n]),l=p.useSyncExternalStore(a,r,()=>t.emptyDiagramEditorSnapshot);return{controller:n,snapshot:l}})(l),D=L(C),E=L(C),w=L(C),k=p.useRef(null),[M,O]=p.useState(null),x=p.useRef(null),[R,z]=p.useState(null),F=p.useRef(null),j=r.useLocalization(),B=T.editingSession?`${T.editingSession.target.type}:${T.editingSession.target.id}`:null,N=p.useCallback(e=>{var t;null==(t=F.current)||t.call(F),F.current=e&&C?C.registerSurface(e):null},[C]),K=p.useCallback(e=>{k.current=e,w(e)},[w]),V=p.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)},[]);p.useEffect(()=>()=>{var e;null==(e=F.current)||e.call(F),F.current=null},[]),p.useLayoutEffect(()=>{var e;if(!C||!T.editingSession)return O(null),x.current=null,z(null),null==C||C.setTextEditingAdapter(null),null==(e=F.current)||e.call(F),void(F.current=null);const t=Gn(T.editingSession.item._contentVisual.options);return O(t),x.current=t,z(null),C.setTextEditingAdapter({getCommitPayload:()=>{const e=x.current;return e?{content:$n(e),isEmpty:to(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=p.useMemo(()=>t.getContextToolbarAnchors(U,T.anchors.shape),[U,T.anchors.shape]),_=p.useMemo(()=>t.getContextToolbarAnchors(q,T.anchors.connection),[q,T.anchors.connection]),Z=p.useMemo(()=>!!(U&&W.base&&T.visibility.shape&&y.tools.length>0&&t.isDiagramItemVisibleInViewport(U,$)),[U,W.base,T.visibility.shape,y.tools.length,$]),J=p.useMemo(()=>!!(q&&_.base&&T.visibility.connection&&v.tools.length>0&&t.isDiagramItemVisibleInViewport(q,$)),[q,_.base,T.visibility.connection,v.tools.length,$]),Y=p.useCallback(e=>{"Tab"!==e.key||e.shiftKey||R&&(e.preventDefault(),R.view.focus())},[R]);return C?p.createElement(I,{value:{controller:C,snapshot:T}},p.createElement(p.Fragment,null,p.createElement("div",{style:{position:"relative"}},p.createElement(zn,{diagram:l,visible:T.visibility.main&&b.tools.length>0,...b}),p.createElement(qn,{show:Z,baseAnchor:W.base,fallbackAnchor:W.fallback,boundaryElement:$},p.createElement("div",{ref:D,className:Tt},p.createElement(pn,{shape:U,...y}))),p.createElement(qn,{show:J,baseAnchor:_.base,fallbackAnchor:_.fallback,boundaryElement:$},p.createElement("div",{ref:E,className:Tt},p.createElement(In,{connection:q,...v}))),p.createElement(qn,{show:!!(T.editingSession&&R&&M&&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},p.createElement("div",{ref:K,className:Tt,onKeyDown:Y},p.createElement(Gt,{editorView:R,editItem:null==(o=T.editingSession)?void 0:o.item,defaultStyles:H,...S})))),T.editingSession&&M&&p.createElement(a.Editor,{value:M,onChange:e=>{O(e.value),x.current=e.value,R&&z({view:R.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&&M))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(A,dt[A]);let s;const u=new a.ProseMirror.Plugin({filterTransaction:e=>(Jn(Yn,[e.doc.attrs.alignment,i,l]),z({view:s}),!0)}),p=a.ProseMirror.EditorState.create({doc:M,schema:Xn,plugins:[Qn(),...e.viewProps.state.plugins,a.EditorUtils.placeholder(c),u]});return s=new eo({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)}}),Zn(r,o,c),s.focus(),Jn(Yn,[null==(t=r.options.content)?void 0:t.align,i,l]),z({view:s}),s}}))):null};no.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=k,e.DiagramConnectionTooltip=g,e.DiagramEditor=no,e.DiagramShapeTooltip=m,e.defaultTextToolbarTools=En,e.diagramEditingContentDefaults=E});
package/index.d.mts CHANGED
@@ -12,3 +12,4 @@ export * from './DiagramConnectionTooltip.js';
12
12
  export * from './DiagramShapeTooltip.js';
13
13
  export * from './interfaces/index.js';
14
14
  export * from './rich-text-editing/index.js';
15
+ export { diagramEditingContentDefaults } from './utils/consts.js';
package/index.d.ts CHANGED
@@ -12,3 +12,4 @@ export * from './DiagramConnectionTooltip.js';
12
12
  export * from './DiagramShapeTooltip.js';
13
13
  export * from './interfaces/index.js';
14
14
  export * from './rich-text-editing/index.js';
15
+ export { diagramEditingContentDefaults } from './utils/consts.js';
package/index.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=require("@progress/kendo-diagram-common"),t=require("./Diagram.js"),r=require("./DiagramConnectionTooltip.js"),n=require("./DiagramShapeTooltip.js"),a=require("./rich-text-editing/DiagramEditor.js"),o=require("./rich-text-editing/default-toolbar-tools.js");Object.defineProperty(exports,"ArrowMarker",{enumerable:!0,get:()=>e.ArrowMarker});Object.defineProperty(exports,"CapType",{enumerable:!0,get:()=>e.CapType});Object.defineProperty(exports,"Circle",{enumerable:!0,get:()=>e.Circle});Object.defineProperty(exports,"CircleMarker",{enumerable:!0,get:()=>e.CircleMarker});Object.defineProperty(exports,"Collate",{enumerable:!0,get:()=>e.Collate});Object.defineProperty(exports,"Connection",{enumerable:!0,get:()=>e.Connection});Object.defineProperty(exports,"Connector",{enumerable:!0,get:()=>e.Connector});Object.defineProperty(exports,"DataInputOutput",{enumerable:!0,get:()=>e.DataInputOutput});Object.defineProperty(exports,"DataStorage",{enumerable:!0,get:()=>e.DataStorage});Object.defineProperty(exports,"Database",{enumerable:!0,get:()=>e.Database});Object.defineProperty(exports,"Decision",{enumerable:!0,get:()=>e.Decision});Object.defineProperty(exports,"Delay",{enumerable:!0,get:()=>e.Delay});Object.defineProperty(exports,"DiagramWidget",{enumerable:!0,get:()=>e.Diagram});Object.defineProperty(exports,"DirectAccessStorage",{enumerable:!0,get:()=>e.DirectAccessStorage});Object.defineProperty(exports,"Display",{enumerable:!0,get:()=>e.Display});Object.defineProperty(exports,"Document",{enumerable:!0,get:()=>e.Document});Object.defineProperty(exports,"Extract",{enumerable:!0,get:()=>e.Extract});Object.defineProperty(exports,"FlowchartShapeType",{enumerable:!0,get:()=>e.FlowchartShapeType});Object.defineProperty(exports,"Group",{enumerable:!0,get:()=>e.Group});Object.defineProperty(exports,"Image",{enumerable:!0,get:()=>e.Image});Object.defineProperty(exports,"InternalStorage",{enumerable:!0,get:()=>e.InternalStorage});Object.defineProperty(exports,"Layout",{enumerable:!0,get:()=>e.Layout});Object.defineProperty(exports,"Line",{enumerable:!0,get:()=>e.Line});Object.defineProperty(exports,"LogicalOr",{enumerable:!0,get:()=>e.LogicalOr});Object.defineProperty(exports,"ManualInputOutput",{enumerable:!0,get:()=>e.ManualInputOutput});Object.defineProperty(exports,"ManualOperation",{enumerable:!0,get:()=>e.ManualOperation});Object.defineProperty(exports,"MarkerType",{enumerable:!0,get:()=>e.MarkerType});Object.defineProperty(exports,"Merge",{enumerable:!0,get:()=>e.Merge});Object.defineProperty(exports,"MultiLineTextBlock",{enumerable:!0,get:()=>e.MultiLineTextBlock});Object.defineProperty(exports,"MultipleDocuments",{enumerable:!0,get:()=>e.MultipleDocuments});Object.defineProperty(exports,"OffPageConnector",{enumerable:!0,get:()=>e.OffPageConnector});Object.defineProperty(exports,"OnPageConnector",{enumerable:!0,get:()=>e.OnPageConnector});Object.defineProperty(exports,"Path",{enumerable:!0,get:()=>e.Path});Object.defineProperty(exports,"PathDefiner",{enumerable:!0,get:()=>e.PathDefiner});Object.defineProperty(exports,"Point",{enumerable:!0,get:()=>e.Point});Object.defineProperty(exports,"Polyline",{enumerable:!0,get:()=>e.Polyline});Object.defineProperty(exports,"PredefinedProcess",{enumerable:!0,get:()=>e.PredefinedProcess});Object.defineProperty(exports,"Preparation",{enumerable:!0,get:()=>e.Preparation});Object.defineProperty(exports,"Process",{enumerable:!0,get:()=>e.Process});Object.defineProperty(exports,"Rect",{enumerable:!0,get:()=>e.Rect});Object.defineProperty(exports,"Rectangle",{enumerable:!0,get:()=>e.Rectangle});Object.defineProperty(exports,"Rotation",{enumerable:!0,get:()=>e.Rotation});Object.defineProperty(exports,"Shape",{enumerable:!0,get:()=>e.Shape});Object.defineProperty(exports,"Sort",{enumerable:!0,get:()=>e.Sort});Object.defineProperty(exports,"SummingJunction",{enumerable:!0,get:()=>e.SummingJunction});Object.defineProperty(exports,"Terminator",{enumerable:!0,get:()=>e.Terminator});Object.defineProperty(exports,"TextBlock",{enumerable:!0,get:()=>e.TextBlock});Object.defineProperty(exports,"convertToDiagramModel",{enumerable:!0,get:()=>e.convertToDiagramModel});exports.Diagram=t.Diagram;exports.DiagramConnectionTooltip=r.DiagramConnectionTooltip;exports.DiagramShapeTooltip=n.DiagramShapeTooltip;exports.DiagramEditor=a.DiagramEditor;exports.defaultTextToolbarTools=o.defaultTextToolbarTools;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@progress/kendo-diagram-common"),t=require("./Diagram.js"),r=require("./DiagramConnectionTooltip.js"),n=require("./DiagramShapeTooltip.js"),a=require("./utils/consts.js"),o=require("./rich-text-editing/DiagramEditor.js"),u=require("./rich-text-editing/default-toolbar-tools.js");Object.defineProperty(exports,"ArrowMarker",{enumerable:!0,get:()=>e.ArrowMarker});Object.defineProperty(exports,"CapType",{enumerable:!0,get:()=>e.CapType});Object.defineProperty(exports,"Circle",{enumerable:!0,get:()=>e.Circle});Object.defineProperty(exports,"CircleMarker",{enumerable:!0,get:()=>e.CircleMarker});Object.defineProperty(exports,"Collate",{enumerable:!0,get:()=>e.Collate});Object.defineProperty(exports,"Connection",{enumerable:!0,get:()=>e.Connection});Object.defineProperty(exports,"Connector",{enumerable:!0,get:()=>e.Connector});Object.defineProperty(exports,"DataInputOutput",{enumerable:!0,get:()=>e.DataInputOutput});Object.defineProperty(exports,"DataStorage",{enumerable:!0,get:()=>e.DataStorage});Object.defineProperty(exports,"Database",{enumerable:!0,get:()=>e.Database});Object.defineProperty(exports,"Decision",{enumerable:!0,get:()=>e.Decision});Object.defineProperty(exports,"Delay",{enumerable:!0,get:()=>e.Delay});Object.defineProperty(exports,"DiagramWidget",{enumerable:!0,get:()=>e.Diagram});Object.defineProperty(exports,"DirectAccessStorage",{enumerable:!0,get:()=>e.DirectAccessStorage});Object.defineProperty(exports,"Display",{enumerable:!0,get:()=>e.Display});Object.defineProperty(exports,"Document",{enumerable:!0,get:()=>e.Document});Object.defineProperty(exports,"Extract",{enumerable:!0,get:()=>e.Extract});Object.defineProperty(exports,"FlowchartShapeType",{enumerable:!0,get:()=>e.FlowchartShapeType});Object.defineProperty(exports,"Group",{enumerable:!0,get:()=>e.Group});Object.defineProperty(exports,"Image",{enumerable:!0,get:()=>e.Image});Object.defineProperty(exports,"InternalStorage",{enumerable:!0,get:()=>e.InternalStorage});Object.defineProperty(exports,"Layout",{enumerable:!0,get:()=>e.Layout});Object.defineProperty(exports,"Line",{enumerable:!0,get:()=>e.Line});Object.defineProperty(exports,"LogicalOr",{enumerable:!0,get:()=>e.LogicalOr});Object.defineProperty(exports,"ManualInputOutput",{enumerable:!0,get:()=>e.ManualInputOutput});Object.defineProperty(exports,"ManualOperation",{enumerable:!0,get:()=>e.ManualOperation});Object.defineProperty(exports,"MarkerType",{enumerable:!0,get:()=>e.MarkerType});Object.defineProperty(exports,"Merge",{enumerable:!0,get:()=>e.Merge});Object.defineProperty(exports,"MultiLineTextBlock",{enumerable:!0,get:()=>e.MultiLineTextBlock});Object.defineProperty(exports,"MultipleDocuments",{enumerable:!0,get:()=>e.MultipleDocuments});Object.defineProperty(exports,"OffPageConnector",{enumerable:!0,get:()=>e.OffPageConnector});Object.defineProperty(exports,"OnPageConnector",{enumerable:!0,get:()=>e.OnPageConnector});Object.defineProperty(exports,"Path",{enumerable:!0,get:()=>e.Path});Object.defineProperty(exports,"PathDefiner",{enumerable:!0,get:()=>e.PathDefiner});Object.defineProperty(exports,"Point",{enumerable:!0,get:()=>e.Point});Object.defineProperty(exports,"Polyline",{enumerable:!0,get:()=>e.Polyline});Object.defineProperty(exports,"PredefinedProcess",{enumerable:!0,get:()=>e.PredefinedProcess});Object.defineProperty(exports,"Preparation",{enumerable:!0,get:()=>e.Preparation});Object.defineProperty(exports,"Process",{enumerable:!0,get:()=>e.Process});Object.defineProperty(exports,"Rect",{enumerable:!0,get:()=>e.Rect});Object.defineProperty(exports,"Rectangle",{enumerable:!0,get:()=>e.Rectangle});Object.defineProperty(exports,"Rotation",{enumerable:!0,get:()=>e.Rotation});Object.defineProperty(exports,"Shape",{enumerable:!0,get:()=>e.Shape});Object.defineProperty(exports,"Sort",{enumerable:!0,get:()=>e.Sort});Object.defineProperty(exports,"SummingJunction",{enumerable:!0,get:()=>e.SummingJunction});Object.defineProperty(exports,"Terminator",{enumerable:!0,get:()=>e.Terminator});Object.defineProperty(exports,"TextBlock",{enumerable:!0,get:()=>e.TextBlock});Object.defineProperty(exports,"convertToDiagramModel",{enumerable:!0,get:()=>e.convertToDiagramModel});exports.Diagram=t.Diagram;exports.DiagramConnectionTooltip=r.DiagramConnectionTooltip;exports.DiagramShapeTooltip=n.DiagramShapeTooltip;exports.diagramEditingContentDefaults=a.diagramEditingContentDefaults;exports.DiagramEditor=o.DiagramEditor;exports.defaultTextToolbarTools=u.defaultTextToolbarTools;
package/index.mjs CHANGED
@@ -5,50 +5,51 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- import { ArrowMarker as a, CapType as r, Circle as t, CircleMarker as n, Collate as i, Connection as l, Connector as c, DataInputOutput as p, DataStorage as m, Database as g, Decision as u, Delay as D, Diagram as s, DirectAccessStorage as T, Display as f, Document as x, Extract as P, FlowchartShapeType as C, Group as M, Image as S, InternalStorage as y, Layout as d, Line as h, LogicalOr as O, ManualInputOutput as k, ManualOperation as I, MarkerType as L, Merge as R, MultiLineTextBlock as b, MultipleDocuments as w, OffPageConnector as A, OnPageConnector as B, Path as E, PathDefiner as v, Point as F, Polyline as G, PredefinedProcess as J, Preparation as W, Process as j, Rect as q, Rectangle as z, Rotation as H, Shape as K, Sort as N, SummingJunction as Q, Terminator as U, TextBlock as V, convertToDiagramModel as X } from "@progress/kendo-diagram-common";
8
+ import { ArrowMarker as a, CapType as t, Circle as r, CircleMarker as n, Collate as i, Connection as l, Connector as p, DataInputOutput as c, DataStorage as m, Database as g, Decision as u, Delay as D, Diagram as f, DirectAccessStorage as s, Display as T, Document as x, Extract as C, FlowchartShapeType as P, Group as M, Image as d, InternalStorage as S, Layout as y, Line as h, LogicalOr as O, ManualInputOutput as k, ManualOperation as I, MarkerType as L, Merge as E, MultiLineTextBlock as R, MultipleDocuments as b, OffPageConnector as w, OnPageConnector as A, Path as B, PathDefiner as v, Point as F, Polyline as G, PredefinedProcess as J, Preparation as W, Process as j, Rect as q, Rectangle as z, Rotation as H, Shape as K, Sort as N, SummingJunction as Q, Terminator as U, TextBlock as V, convertToDiagramModel as X } from "@progress/kendo-diagram-common";
9
9
  import { Diagram as Z } from "./Diagram.mjs";
10
10
  import { DiagramConnectionTooltip as $ } from "./DiagramConnectionTooltip.mjs";
11
11
  import { DiagramShapeTooltip as oe } from "./DiagramShapeTooltip.mjs";
12
- import { DiagramEditor as re } from "./rich-text-editing/DiagramEditor.mjs";
13
- import { defaultTextToolbarTools as ne } from "./rich-text-editing/default-toolbar-tools.mjs";
12
+ import { diagramEditingContentDefaults as te } from "./utils/consts.mjs";
13
+ import { DiagramEditor as ne } from "./rich-text-editing/DiagramEditor.mjs";
14
+ import { defaultTextToolbarTools as le } from "./rich-text-editing/default-toolbar-tools.mjs";
14
15
  export {
15
16
  a as ArrowMarker,
16
- r as CapType,
17
- t as Circle,
17
+ t as CapType,
18
+ r as Circle,
18
19
  n as CircleMarker,
19
20
  i as Collate,
20
21
  l as Connection,
21
- c as Connector,
22
- p as DataInputOutput,
22
+ p as Connector,
23
+ c as DataInputOutput,
23
24
  m as DataStorage,
24
25
  g as Database,
25
26
  u as Decision,
26
27
  D as Delay,
27
28
  Z as Diagram,
28
29
  $ as DiagramConnectionTooltip,
29
- re as DiagramEditor,
30
+ ne as DiagramEditor,
30
31
  oe as DiagramShapeTooltip,
31
- s as DiagramWidget,
32
- T as DirectAccessStorage,
33
- f as Display,
32
+ f as DiagramWidget,
33
+ s as DirectAccessStorage,
34
+ T as Display,
34
35
  x as Document,
35
- P as Extract,
36
- C as FlowchartShapeType,
36
+ C as Extract,
37
+ P as FlowchartShapeType,
37
38
  M as Group,
38
- S as Image,
39
- y as InternalStorage,
40
- d as Layout,
39
+ d as Image,
40
+ S as InternalStorage,
41
+ y as Layout,
41
42
  h as Line,
42
43
  O as LogicalOr,
43
44
  k as ManualInputOutput,
44
45
  I as ManualOperation,
45
46
  L as MarkerType,
46
- R as Merge,
47
- b as MultiLineTextBlock,
48
- w as MultipleDocuments,
49
- A as OffPageConnector,
50
- B as OnPageConnector,
51
- E as Path,
47
+ E as Merge,
48
+ R as MultiLineTextBlock,
49
+ b as MultipleDocuments,
50
+ w as OffPageConnector,
51
+ A as OnPageConnector,
52
+ B as Path,
52
53
  v as PathDefiner,
53
54
  F as Point,
54
55
  G as Polyline,
@@ -64,5 +65,6 @@ export {
64
65
  U as Terminator,
65
66
  V as TextBlock,
66
67
  X as convertToDiagramModel,
67
- ne as defaultTextToolbarTools
68
+ le as defaultTextToolbarTools,
69
+ te as diagramEditingContentDefaults
68
70
  };
@@ -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: 1789037205,version:"16.2.0-develop.2",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;
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: 1791363988,version:"16.2.0-develop.21",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;
@@ -6,8 +6,8 @@ export const packageMetadata = Object.freeze({
6
6
  productName: 'KendoReact',
7
7
  productCode: 'KENDOUIREACT',
8
8
  productCodes: ['KENDOUIREACT'],
9
- publishDate: 1789037205,
10
- version: '16.2.0-develop.2',
9
+ publishDate: 1791363988,
10
+ version: '16.2.0-develop.21',
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.2",
3
+ "version": "16.2.0-develop.21",
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.2",
30
- "@progress/kendo-react-common": "16.2.0-develop.2",
31
- "@progress/kendo-react-editor": "16.2.0-develop.2",
32
- "@progress/kendo-react-inputs": "16.2.0-develop.2",
33
- "@progress/kendo-react-intl": "16.2.0-develop.2",
34
- "@progress/kendo-react-popup": "16.2.0-develop.2",
29
+ "@progress/kendo-react-buttons": "16.2.0-develop.21",
30
+ "@progress/kendo-react-common": "16.2.0-develop.21",
31
+ "@progress/kendo-react-editor": "16.2.0-develop.21",
32
+ "@progress/kendo-react-inputs": "16.2.0-develop.21",
33
+ "@progress/kendo-react-intl": "16.2.0-develop.21",
34
+ "@progress/kendo-react-popup": "16.2.0-develop.21",
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.2",
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": 1789037205,
61
+ "publishDate": 1791363988,
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 Ee=require("react"),l=require("@progress/kendo-react-editor"),Se=require("@progress/kendo-react-intl"),ye=require("./TextEditingToolbar.js"),xe=require("./ShapeEditingToolbar.js"),Pe=require("./ConnectionEditingToolbar.js"),k=require("./default-toolbar-tools.js"),y=require("@progress/kendo-diagram-common"),Ce=require("./MainToolbar.js"),I=require("./FloatingToolbarPopup.js"),K=require("./utils.js"),S=require("./DiagramEditorContext.js"),z=require("../messages/index.js");function ve(n){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const b in n)if(b!=="default"){const m=Object.getOwnPropertyDescriptor(n,b);Object.defineProperty(s,b,m.get?m:{enumerable:!0,get:()=>n[b]})}}return s.default=n,Object.freeze(s)}const t=ve(Ee),{pmDocToRTContent:we,rtContentToPM:ke,schemaSpec:Me,styleEditor:De,scheduleRafCall:te,recalcVerticalAlign:oe}=y.EditingUtils,ne=new l.ProseMirror.Schema(Me),Re=ke(l.ProseMirror.Node,ne),{imageResizing:Oe}=l.EditorUtils;class Ve extends l.ProseMirror.EditorView{}class Ie extends l.ProseMirror.Node{}const qe='[tabindex]:not([tabindex="-1"]), button:not([disabled]), .k-dropdownlist, .k-colorpicker',Ae=n=>{const s=n.content.firstChild;return n.childCount===0||!!(n.childCount===1&&(s!=null&&s.inlineContent)&&s.childCount===0)},Ne=n=>{var $,G;const{diagram:s,toolbars:b={}}=n,m={position:"top",tools:k.defaultMainToolbarTools,shapes:n.shapes},F={tools:k.defaultShapeToolbarTools,shapes:n.shapes},_={tools:k.defaultConnectionToolbarTools},j={tools:k.defaultTextToolbarTools,fontNames:n.fontTypes,fontSizes:n.fontSizes},{diagram:M=m,shape:D=F,connection:R=_,text:O=j}=b,B=typeof M=="boolean"?M?m:{position:"top",tools:[]}:M,V=typeof D=="boolean"?D?F:{tools:[]}:D,q=typeof R=="boolean"?R?_:{tools:[]}:R,L=typeof O=="boolean"?O?j:{tools:[]}:O,{controller:r,snapshot:e}=S.useDiagramEditorController(s),re=S.useRegisteredSurfaceRef(r),se=S.useRegisteredSurfaceRef(r),U=S.useRegisteredSurfaceRef(r),W=t.useRef(null),[h,A]=t.useState(null),x=t.useRef(null),[u,T]=t.useState(null),i=t.useRef(null),ie=Se.useLocalization(),ae=e.editingSession?`${e.editingSession.target.type}:${e.editingSession.target.id}`:null,le=t.useCallback(o=>{var a;(a=i.current)==null||a.call(i),i.current=o&&r?r.registerSurface(o):null},[r]),ce=t.useCallback(o=>{W.current=o,U(o)},[U]),ue=t.useCallback(()=>{var a;const o=(a=W.current)==null?void 0:a.querySelector(qe);return o?(o.focus({preventScroll:!0}),!0):!1},[]);t.useEffect(()=>()=>{var o;(o=i.current)==null||o.call(i),i.current=null},[]),t.useLayoutEffect(()=>{var a;if(!r||!e.editingSession){A(null),x.current=null,T(null),r==null||r.setTextEditingAdapter(null),(a=i.current)==null||a.call(i),i.current=null;return}const o=Re(e.editingSession.item._contentVisual.options);return A(o),x.current=o,T(null),r.setTextEditingAdapter({getCommitPayload:()=>{const d=x.current;return d?{content:we(d),isEmpty:Ae(d),textContent:d.textContent}:null}}),()=>{r.setTextEditingAdapter(null)}},[r,ae,e.editingSession]);const de=e.editingSession?e.editingSession.item._contentVisual.options:{},g=e.selectedShape,p=e.selectedConnection,f=($=s==null?void 0:s.element)!=null?$:null,P=t.useMemo(()=>y.getContextToolbarAnchors(g,e.anchors.shape),[g,e.anchors.shape]),C=t.useMemo(()=>y.getContextToolbarAnchors(p,e.anchors.connection),[p,e.anchors.connection]),be=t.useMemo(()=>!!(g&&P.base&&e.visibility.shape&&V.tools.length>0&&y.isDiagramItemVisibleInViewport(g,f)),[g,P.base,e.visibility.shape,V.tools.length,f]),ge=t.useMemo(()=>!!(p&&C.base&&e.visibility.connection&&q.tools.length>0&&y.isDiagramItemVisibleInViewport(p,f)),[p,C.base,e.visibility.connection,q.tools.length,f]),pe=o=>{A(o.value),x.current=o.value,u&&T({view:u.view})},fe=o=>{var Q;const a=o.target;if(!e.editingSession||!a.element||!r||!h)return;const d=a.element;le(d);const{item:v}=e.editingSession,H=v.name==="Shape"?v._contentVisual.padding():{top:0,bottom:0,left:0,right:0},N=o.dom,J=ie.toLanguageString(z.placeholder,z.messages[z.placeholder]);let E;const he=new l.ProseMirror.Plugin({filterTransaction:w=>(te(oe,[w.doc.attrs.alignment,N,H]),T({view:E}),!0)}),Te=l.ProseMirror.EditorState.create({doc:h,schema:ne,plugins:[Oe(),...o.viewProps.state.plugins,l.EditorUtils.placeholder(J),he]});return E=new Ve({mount:N},{...o.viewProps,state:Te,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&&ue()?(c.preventDefault(),!0):(ee=(Z=o.viewProps).handleKeyDown)==null?void 0:ee.call(Z,w,c)}}),De(v,d,J),E.focus(),te(oe,[(Q=v.options.content)==null?void 0:Q.align,N,H]),T({view:E}),E},me=t.useCallback(o=>{o.key!=="Tab"||o.shiftKey||u&&(o.preventDefault(),u.view.focus())},[u]);return r?t.createElement(S.DiagramEditorProvider,{value:{controller:r,snapshot:e}},t.createElement(t.Fragment,null,t.createElement("div",{style:{position:"relative"}},t.createElement(Ce.MainToolbar,{diagram:s,visible:e.visibility.main&&B.tools.length>0,...B}),t.createElement(I.FloatingToolbarPopup,{show:be,baseAnchor:P.base,fallbackAnchor:P.fallback,boundaryElement:f},t.createElement("div",{ref:re,className:K.toolbarPopupWrapClass},t.createElement(xe.ShapeEditingToolbar,{shape:g,...V}))),t.createElement(I.FloatingToolbarPopup,{show:ge,baseAnchor:C.base,fallbackAnchor:C.fallback,boundaryElement:f},t.createElement("div",{ref:se,className:K.toolbarPopupWrapClass},t.createElement(Pe.ConnectionEditingToolbar,{connection:p,...q}))),t.createElement(I.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:ce,className:K.toolbarPopupWrapClass,onKeyDown:me},t.createElement(ye.TextEditingToolbar,{editorView:u,editItem:(G=e.editingSession)==null?void 0:G.item,defaultStyles:de,...L})))),e.editingSession&&h&&t.createElement(l.Editor,{value:h,onChange:pe,defaultEditMode:"div",className:"k-diagram-rich-text-editor",style:{background:"transparent"},onMount:fe}))):null};exports.DiagramEditor=Ne;
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;