@next-bricks/diagram 0.59.0 → 0.60.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -74,6 +74,14 @@ export interface AddNodesContext {
74
74
  canvasHeight: number;
75
75
  }
76
76
  export declare const EoDrawCanvasComponent: React.ForwardRefExoticComponent<EoDrawCanvasComponentProps & React.RefAttributes<DrawCanvasRef>>;
77
+ export interface CanvasContextMenuDetail {
78
+ clientX: number;
79
+ clientY: number;
80
+ view: {
81
+ x: number;
82
+ y: number;
83
+ };
84
+ }
77
85
  /**
78
86
  * 用于手工绘图的画布。
79
87
  *
@@ -206,6 +214,7 @@ export interface EoDrawCanvasComponentProps extends EoDrawCanvasProps {
206
214
  onDecoratorViewChange(detail: DecoratorViewChangePayload): void;
207
215
  onContainerContainerChange(detail: MoveCellPayload[]): void;
208
216
  onScaleChange(scale: number): void;
217
+ onCanvasContextMenu(detail: PositionTuple): void;
209
218
  }
210
219
  export interface DrawCanvasRef {
211
220
  dropNode(node: NodeCell): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@next-bricks/diagram",
3
- "version": "0.59.0",
3
+ "version": "0.60.0",
4
4
  "homepage": "https://github.com/easyops-cn/next-advanced-bricks/tree/master/bricks/diagram",
5
5
  "repository": {
6
6
  "type": "git",
@@ -41,5 +41,5 @@
41
41
  "peerDependencies": {
42
42
  "@next-bricks/basic": "*"
43
43
  },
44
- "gitHead": "b68fefad20cf51a484751dfce6179151405a3794"
44
+ "gitHead": "b2188b417267371d83501fffd0bdaa4ce16a7788"
45
45
  }
@@ -1,2 +0,0 @@
1
- "use strict";(globalThis.webpackChunk_next_bricks_diagram=globalThis.webpackChunk_next_bricks_diagram||[]).push([[8939,9711],{497:(e,t,a)=>{a.d(t,{A:()=>o});var n=a(6758),s=a.n(n),i=a(935),l=a.n(i)()(s());l.push([e.id,'*{box-sizing:border-box}:host{display:block;border:1px solid var(--palette-gray-5);cursor:default;-webkit-user-select:none;user-select:none}:host([hidden]){display:none}:host([usage="dragging"]){opacity:0.75;position:fixed}:host(:not([usage="library"])){background:rgba(0,0,0,0.2);width:60px;height:60px}:host([usage="library"]){width:180px;height:30px;margin-bottom:10px}div{width:100%;height:100%;display:flex;align-items:center;justify-content:center}:host(:not([usage="dragging"]):not([usage="library"]):hover),\n:host([status="highlighted"]){color:var(--palette-blue-5);background:var(--palette-blue-1);border-color:1px solid var(--palette-blue-4)}:host([status="faded"]){opacity:0.3}:host([decorator="area"]){width:100px;height:60px;background:rgba(119,141,195,0.1);border:none}:host([decorator="text"]){width:auto;height:auto;background:none;border:none}',""]);const o=l.toString()},3971:(e,t,a)=>{a.d(t,{A:()=>o});var n=a(6758),s=a.n(n),i=a(935),l=a.n(i)()(s());l.push([e.id,':host{display:block;--local-label-line-height:inherit;--local-label-font-size:inherit;--local-label-color:inherit;--local-label-font-weight:inherit}:host([hidden]){display:none}:host([type="line"]){--local-label-line-height:18px;--local-label-font-size:11px;--local-label-color:var(--color-secondary-text);--local-label-font-weight:400}*{box-sizing:border-box}.label{max-width:168px;margin:-3px}.label-text,\n.label-input{width:100%;height:24px;padding:3px;border:none;line-height:var(--local-label-line-height);font-size:var(--local-label-font-size);color:var(--local-label-color);font-weight:var(--local-label-font-weight);text-align:center;font-family:inherit;cursor:text;-webkit-user-select:text;user-select:text}.label-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-user-select:none;user-select:none}.label.editing .label-text,\n.label.empty:not(.editing) .label-text,\n.label:not(.editing) .label-input{display:none}',""]);const o=l.toString()},9068:(e,t,a)=>{a.d(t,{uuidV4:()=>nn});var n,s=a(4635),i=a(918),l=a(6902),o=a(2559),r=a(5536),d=a(6121),c=a(829),h=a(2740),u=a(8769),g=a.n(u),A=a(6192),p=a(9859),v=a(2304),m=(a(6477),a(1030)),y=a(3373),k=a.n(y),b=a(7566),f=a(5748),w=a(3739),C=a(2912),M=a(8185),E=a(2733),W=a(3906),x=a(3639),N=a(3783),T=a(2098),R=a(227),S=a(3033),L=a(8091),z=a(1819),B=a(7099),D=a(1484),O=a(8197),$=a(7531),P=a(8875),H=a(2722),F=a(9978),I=a(2219),K=a(3012),V=a(6237),U=a(1103),Y=a(9386),_=a(1991),X=a(2202),Z=a(1825),j=a(4117),q=a(4197),G=a(8944),J=a(2969);let Q,ee,te,ae,ne,se,ie,le,oe,re,de,ce,he,ue,ge,Ae,pe,ve,me,ye,ke,be,fe,we,Ce,Me,Ee,We,xe,Ne,Te,Re,Se,Le,ze,Be,De,Oe,$e,Pe,He,Fe,Ie,Ke,Ve,Ue,Ye,_e,Xe,Ze,je,qe,Ge,Je,Qe,et,tt,at,nt,st,it,lt,ot,rt,dt,ct,ht,ut,gt,At,pt,vt,mt,yt,kt,bt,ft,wt,Ct,Mt,Et,Wt,xt,Nt,Tt,Rt,St,Lt,zt,Bt,Dt,Ot,$t,Pt,Ht,Ft,It,Kt,Vt,Ut,Yt,_t,Xt,Zt;const jt=(0,v.unwrapProvider)("basic.lock-body-scroll"),{defineElement:qt,property:Gt,method:Jt,event:Qt}=(0,A.createDecorators)(),ea=g().forwardRef(an);let ta;var aa=new WeakMap,na=new WeakMap,sa=new WeakMap,ia=new WeakMap,la=new WeakMap,oa=new WeakMap,ra=new WeakMap,da=new WeakMap,ca=new WeakMap,ha=new WeakMap,ua=new WeakMap,ga=new WeakMap,Aa=new WeakMap,pa=new WeakMap,va=new WeakMap,ma=new WeakMap,ya=new WeakMap,ka=new WeakMap,ba=new WeakMap,fa=new WeakMap,wa=new WeakMap,Ca=new WeakMap,Ma=new WeakSet,Ea=new WeakMap,Wa=new WeakMap,xa=new WeakMap,Na=new WeakMap,Ta=new WeakMap,Ra=new WeakMap,Sa=new WeakMap,La=new WeakMap,za=new WeakMap,Ba=new WeakMap,Da=new WeakMap,Oa=new WeakMap,$a=new WeakMap,Pa=new WeakMap,Ha=new WeakMap,Fa=new WeakMap,Ia=new WeakMap,Ka=new WeakMap,Va=new WeakMap,Ua=new WeakMap,Ya=new WeakMap,_a=new WeakMap,Xa=new WeakMap,Za=new WeakMap,ja=new WeakMap,qa=new WeakMap,Ga=new WeakMap,Ja=new WeakMap,Qa=new WeakMap;class en extends p.ReactNextElement{constructor(){super(...arguments),(0,s.A)(this,Ma),(0,i.A)(this,aa,(Q(this),te(this))),(0,i.A)(this,na,(ae(this),ne(this))),(0,i.A)(this,sa,(se(this),ie(this))),(0,i.A)(this,ia,(le(this),oe(this,[S.HP,S.HP]))),(0,i.A)(this,la,(re(this),de(this))),(0,i.A)(this,oa,(ce(this),he(this))),(0,i.A)(this,ra,(ue(this),ge(this))),(0,i.A)(this,da,(Ae(this),pe(this))),(0,i.A)(this,ca,(ve(this),me(this))),(0,i.A)(this,ha,(ye(this),ke(this))),(0,i.A)(this,ua,(be(this),fe(this,!0))),(0,i.A)(this,ga,(we(this),Ce(this,!0))),(0,i.A)(this,Aa,(Me(this),Ee(this,!0))),(0,i.A)(this,pa,(We(this),xe(this,!1))),(0,i.A)(this,va,(Ne(this),Te(this))),(0,i.A)(this,ma,(Re(this),Se(this))),(0,i.A)(this,ya,(Le(this),ze(this))),(0,i.A)(this,ka,(Be(this),De(this))),(0,i.A)(this,ba,(Oe(this),$e(this))),(0,i.A)(this,fa,(Pe(this),He(this))),(0,i.A)(this,wa,(Fe(this),Ie(this))),(0,i.A)(this,Ca,(Ke(this),Ve(this))),(0,i.A)(this,Ea,(_e(this),e=>{(0,r.A)(Ma,this,Ue).emit(e)})),(0,i.A)(this,Wa,(e=>{(0,M.c)(e,this.activeTarget)||(this.activeTarget=e)})),(0,i.A)(this,xa,Xe(this)),(0,i.A)(this,Na,(qe(this),Ge(this))),(0,i.A)(this,Ta,(et(this),e=>{(0,r.A)(Ma,this,Je).emit(e),"node"===e.type&&(0,r.A)(Ma,this,Ze).emit(e)})),(0,i.A)(this,Ra,tt(this)),(0,i.A)(this,Sa,(st(this),e=>{(0,r.A)(Ma,this,at).emit(e)})),(0,i.A)(this,La,it(this)),(0,i.A)(this,za,(rt(this),e=>{(0,r.A)(Ma,this,lt).emit(e)})),(0,i.A)(this,Ba,dt(this)),(0,i.A)(this,Da,(ut(this),gt(this))),(0,i.A)(this,Oa,(vt(this),e=>{(0,r.A)(Ma,this,At).emit(e),"node"===e.type&&(0,r.A)(Ma,this,ct).emit(e)})),(0,i.A)(this,$a,mt(this)),(0,i.A)(this,Pa,(bt(this),e=>{(0,r.A)(Ma,this,yt).emit(e)})),(0,i.A)(this,Ha,ft(this)),(0,i.A)(this,Fa,(Mt(this),e=>{(0,r.A)(Ma,this,wt).emit(e)})),(0,i.A)(this,Ia,Et(this)),(0,i.A)(this,Ka,(Nt(this),e=>{(0,r.A)(Ma,this,Wt).emit(e)})),(0,i.A)(this,Va,Tt(this)),(0,i.A)(this,Ua,(Lt(this),e=>{(0,r.A)(Ma,this,Rt).emit(e)})),(0,i.A)(this,Ya,zt(this)),(0,i.A)(this,_a,(Ot(this),e=>{(0,r.A)(Ma,this,Bt).emit(e)})),(0,i.A)(this,Xa,$t(this)),(0,i.A)(this,Za,(Ft(this),e=>{(0,r.A)(Ma,this,Pt).emit(e)})),(0,i.A)(this,ja,It(this)),(0,i.A)(this,qa,(Ut(this),e=>{(0,r.A)(Ma,this,Kt).emit(e)})),(0,i.A)(this,Ga,Yt(this)),(0,i.A)(this,Ja,(Zt(this),e=>{(0,r.A)(Ma,this,_t).emit(e)})),(0,i.A)(this,Qa,(0,u.createRef)())}get cells(){return(0,c.A)(aa,this)}set cells(e){(0,d.A)(aa,this,e)}get layout(){return(0,c.A)(na,this)}set layout(e){(0,d.A)(na,this,e)}get layoutOptions(){return(0,c.A)(sa,this)}set layoutOptions(e){(0,d.A)(sa,this,e)}get defaultNodeSize(){return(0,c.A)(ia,this)}set defaultNodeSize(e){(0,d.A)(ia,this,e)}get defaultNodeBricks(){return(0,c.A)(la,this)}set defaultNodeBricks(e){(0,d.A)(la,this,e)}get degradedThreshold(){return(0,c.A)(oa,this)}set degradedThreshold(e){(0,d.A)(oa,this,e)}get degradedNodeLabel(){return(0,c.A)(ra,this)}set degradedNodeLabel(e){(0,d.A)(ra,this,e)}get defaultEdgeLines(){return(0,c.A)(da,this)}set defaultEdgeLines(e){(0,d.A)(da,this,e)}get activeTarget(){return(0,c.A)(ca,this)}set activeTarget(e){(0,d.A)(ca,this,e)}get fadeUnrelatedCells(){return(0,c.A)(ha,this)}set fadeUnrelatedCells(e){(0,d.A)(ha,this,e)}get zoomable(){return(0,c.A)(ua,this)}set zoomable(e){(0,d.A)(ua,this,e)}get scrollable(){return(0,c.A)(ga,this)}set scrollable(e){(0,d.A)(ga,this,e)}get pannable(){return(0,c.A)(Aa,this)}set pannable(e){(0,d.A)(Aa,this,e)}get allowEdgeToArea(){return(0,c.A)(pa,this)}set allowEdgeToArea(e){(0,d.A)(pa,this,e)}get dragBehavior(){return(0,c.A)(va,this)}set dragBehavior(e){(0,d.A)(va,this,e)}get ctrlDragBehavior(){return(0,c.A)(ma,this)}set ctrlDragBehavior(e){(0,d.A)(ma,this,e)}get scaleRange(){return(0,c.A)(ya,this)}set scaleRange(e){(0,d.A)(ya,this,e)}get lineSettings(){return(0,c.A)(ka,this)}set lineSettings(e){(0,d.A)(ka,this,e)}get lineConnector(){return(0,c.A)(ba,this)}set lineConnector(e){(0,d.A)(ba,this,e)}get doNotResetActiveTargetForSelector(){return(0,c.A)(fa,this)}set doNotResetActiveTargetForSelector(e){(0,d.A)(fa,this,e)}get doNotResetActiveTargetOutsideCanvas(){return(0,c.A)(wa,this)}set doNotResetActiveTargetOutsideCanvas(e){(0,d.A)(wa,this,e)}async dropNode(e){var t,a;let{id:n,position:s,size:i,data:l,useBrick:o}=e;if(null===(t=(a=document).elementsFromPoint)||void 0===t||null===(t=t.call(a,s[0],s[1]))||void 0===t?void 0:t.includes(this)){var r,d,h;const e=this.getBoundingClientRect(),t=(0,c.A)(Qa,this).current.getTransform(),a={type:"node",id:n,view:{..."force"===this.layout||"dagre"===this.layout?null:{x:(s[0]-e.left-t.x)/t.k,y:(s[1]-e.top-t.y)/t.k},width:null!==(r=null==i?void 0:i[0])&&void 0!==r?r:this.defaultNodeSize[0],height:null!==(d=null==i?void 0:i[1])&&void 0!==d?d:this.defaultNodeSize[0]},data:l,useBrick:o};return null===(h=(0,c.A)(Qa,this).current)||void 0===h||h.dropNode(a),a}return null}async dropDecorator(e){var t,a;let{position:n,decorator:s,text:i,direction:l,source:o,target:r,view:d}=e;if(null===(t=(a=document).elementsFromPoint)||void 0===t||null===(t=t.call(a,n[0],n[1]))||void 0===t?void 0:t.includes(this)){var h,u,g,A,p;const e=this.getBoundingClientRect(),t=(0,c.A)(Qa,this).current.getTransform(),a=(n[0]-e.left-t.x)/t.k,v=(n[1]-e.top-t.y)/t.k,m={type:"decorator",decorator:s,id:nn(),view:"line"===s?{source:{x:a+(null!==(h=null==o?void 0:o.x)&&void 0!==h?h:-30),y:v+(null!==(u=null==o?void 0:o.y)&&void 0!==u?u:30)},target:{x:a+(null!==(g=null==r?void 0:r.x)&&void 0!==g?g:30),y:v+(null!==(A=null==r?void 0:r.y)&&void 0!==A?A:-30)},...d}:{width:S.N8,height:S.w1,x:a,y:v,text:i,direction:l,...d}};return null===(p=(0,c.A)(Qa,this).current)||void 0===p||p.dropDecorator(m),m}return null}async addNodes(e){if(0===e.length)return[];const t=e.map((e=>{var t,a;let{size:n,useBrick:s,id:i,data:l}=e;return{type:"node",id:i,data:l,view:{width:null!==(t=null==n?void 0:n[0])&&void 0!==t?t:this.defaultNodeSize[0],height:null!==(a=null==n?void 0:n[1])&&void 0!==a?a:this.defaultNodeSize[0]},useBrick:s}}));return(0,c.A)(Qa,this).current.addNodes(t,{defaultNodeSize:this.defaultNodeSize,canvasWidth:this.clientWidth,canvasHeight:this.clientHeight})}async addEdge(e){var t;let{source:a,target:n,data:s}=e;const i={type:"edge",source:a,target:n,data:s,view:this.lineSettings};return null===(t=(0,c.A)(Qa,this).current)||void 0===t||t.addEdge(i),i}manuallyConnectNodes(e){return(0,c.A)(Qa,this).current.manuallyConnectNodes(e)}async updateCells(e,t){await(0,o.A)(Ma,this,tn).call(this);const{updated:a}=(0,c.A)(Qa,this).current.updateCells(e,{...t,defaultNodeSize:this.defaultNodeSize,canvasWidth:this.clientWidth,canvasHeight:this.clientHeight});return{updated:a}}async reCenter(){var e;null===(e=(0,c.A)(Qa,this).current)||void 0===e||e.reCenter()}async toggleLock(e){return(0,c.A)(Qa,this).current.toggleLock(e,"toggle")}async lock(e){return(0,c.A)(Qa,this).current.toggleLock(e,"lock")}async unlock(e){return(0,c.A)(Qa,this).current.toggleLock(e,"unlock")}disconnectedCallback(){super.disconnectedCallback(),jt(this,!1)}render(){return g().createElement(ea,{host:this,ref:(0,c.A)(Qa,this),layout:this.layout,layoutOptions:this.layoutOptions,cells:this.cells,defaultNodeSize:this.defaultNodeSize,defaultNodeBricks:this.defaultNodeBricks,defaultEdgeLines:this.defaultEdgeLines,degradedThreshold:this.degradedThreshold,degradedNodeLabel:this.degradedNodeLabel,activeTarget:this.activeTarget,fadeUnrelatedCells:this.fadeUnrelatedCells,zoomable:this.zoomable,scrollable:this.scrollable,pannable:this.pannable,dragBehavior:this.dragBehavior,ctrlDragBehavior:this.ctrlDragBehavior,scaleRange:this.scaleRange,lineSettings:this.lineSettings,lineConnector:this.lineConnector,allowEdgeToArea:this.allowEdgeToArea,doNotResetActiveTargetForSelector:this.doNotResetActiveTargetForSelector,doNotResetActiveTargetOutsideCanvas:this.doNotResetActiveTargetOutsideCanvas,onActiveTargetChange:(0,c.A)(Ea,this),onSwitchActiveTarget:(0,c.A)(Wa,this),onCellMove:(0,c.A)(Ta,this),onCellsMove:(0,c.A)(Sa,this),onCellResize:(0,c.A)(za,this),onCellDelete:(0,c.A)(Oa,this),onCellsDelete:(0,c.A)(Pa,this),onEdgeAdd:(0,c.A)(Ka,this),onCellContextMenu:(0,c.A)(Fa,this),onDecoratorTextChange:(0,c.A)(Za,this),onContainerContainerChange:(0,c.A)(qa,this),onScaleChange:(0,c.A)(Ja,this),onEdgeViewChange:(0,c.A)(Ua,this),onDecoratorViewChange:(0,c.A)(_a,this)})}}function tn(){return new Promise((e=>{const t=()=>{(0,c.A)(Qa,this).current?e():setTimeout(t,10)};t()}))}function an(e,t){let{host:a,layout:n,layoutOptions:s,cells:i,defaultNodeSize:l,defaultNodeBricks:o,defaultEdgeLines:r,degradedThreshold:d,degradedNodeLabel:c,activeTarget:h,fadeUnrelatedCells:A,zoomable:p,scrollable:v,pannable:y,dragBehavior:M,ctrlDragBehavior:K,scaleRange:V,lineSettings:Q,lineConnector:ee,allowEdgeToArea:te,doNotResetActiveTargetForSelector:ae,doNotResetActiveTargetOutsideCanvas:ne,onActiveTargetChange:se,onSwitchActiveTarget:ie,onCellMove:le,onCellResize:oe,onCellDelete:re,onCellsMove:de,onCellsDelete:ce,onCellContextMenu:he,onEdgeAdd:ue,onDecoratorTextChange:ge,onScaleChange:Ae,onContainerContainerChange:pe,onEdgeViewChange:ve,onDecoratorViewChange:me}=e;const[{cells:ye,layoutKey:ke},be]=(0,u.useReducer)(f.d,i,(e=>({cells:(0,N.C)(e,{defaultNodeSize:l}),layoutKey:0}))),fe=(0,u.useMemo)((()=>ye.filter(C.N).length>=(null!=d?d:S.pC)),[ye,d]),we=(0,u.useRef)(null),Ce=(0,u.useRef)(null),[Me,Ee]=(0,u.useState)([]),[We,xe]=(0,u.useState)([]),[Ne,Te]=(0,u.useState)(null),{grabbing:Re,transform:Se,zoomer:Le,scaleRange:ze}=(0,L.f)({rootRef:we,zoomable:p,scrollable:v,pannable:y,draggable:"grab"===M,ctrlDraggable:"grab"===K,scaleRange:V,onSwitchActiveTarget:ie});(0,u.useEffect)((()=>{Ae(Se.k)}),[Ae,Se.k]);const[Be,De]=(0,u.useState)(null),[Oe,$e]=(0,u.useState)(null),{centered:Pe,setCentered:He,getNextLayoutKey:Fe}=(0,D.g)({layout:n,layoutOptions:s,rootRef:we,cells:ye,zoomable:p,zoomer:Le,scaleRange:ze,layoutKey:ke,allowEdgeToArea:te,dispatch:be}),Ie=(0,u.useCallback)((()=>{He(!1)}),[He]),Ke=(0,u.useMemo)((()=>(0,G.E)(ye)),[ye]);(0,u.useImperativeHandle)(t,(()=>({dropNode(e){"dagre"!==n&&"force"!==n&&He(!0),be({type:"drop-node",payload:e})},dropDecorator(e){"dagre"!==n&&"force"!==n&&He(!0),be({type:"drop-decorator",payload:e})},addNodes(e,t){let{defaultNodeSize:a,canvasWidth:s,canvasHeight:i}=t;const l=ye.findLastIndex((e=>!("decorator"===e.type&&"text"===e.decorator)))+1,o=[...ye.slice(0,l),...e,...ye.slice(l)],{cells:r,updated:d,shouldReCenter:c}=(0,T.L)({cells:o,layout:n,previousCells:ye,defaultNodeSize:a,canvasWidth:s,canvasHeight:i,scaleRange:ze,transform:Se,allowEdgeToArea:te});return c&&He(!1),be({type:"update-cells",payload:r}),d.filter((t=>e.includes(t)))},addEdge(e){be({type:"add-edge",payload:e})},updateCells(e,t){const{shouldReCenter:a,...s}=(0,T.L)({...t,layout:n,previousCells:ye,cells:e,scaleRange:ze,transform:Se,allowEdgeToArea:te});return a&&He(!1),be({type:"update-cells",payload:s.cells}),s},getTransform:()=>Se,manuallyConnectNodes(e){const t=ye.find((t=>(0,C.bo)(t,te)&&t.id===e));if(t){const e=we.current.getBoundingClientRect();return $e({source:t,from:[t.view.x+t.view.width/2,t.view.y+t.view.height/2],offset:[e.left,e.top]}),new Promise(((e,t)=>{Ce.current={resolve:e,reject:t}}))}return Promise.reject(null)},reCenter:Ie,toggleLock(e,t){const{newCells:a,updates:n}=(0,J.A)(e,t,ye,Ke);return a?(be({type:"update-cells",payload:a}),n):null}})),[ye,n,ze,He,Se,te,Ie,Ke]);const Ve=(0,u.useCallback)(((e,t)=>{var a;for(let a=ye.length-1;a>=0;a--){const s=ye[a];if((0,C.bo)(s,te)&&s.id!==e.source.id&&s.view.x<t[0]&&s.view.x+s.view.width>t[0]&&s.view.y<t[1]&&s.view.y+s.view.height>t[1]){var n;null===(n=Ce.current)||void 0===n||n.resolve({source:e.source,target:s});break}}null===(a=Ce.current)||void 0===a||a.reject(null),$e(null)}),[te,ye]),[Ue,Ye]=(0,u.useState)(null);(0,u.useEffect)((()=>{jt(a,!!(Oe||Ue||Be))}),[Oe,a,Ue,Be]);const _e=(0,z.J)({rootRef:we,activeTarget:h,doNotResetActiveTargetForSelector:ae,doNotResetActiveTargetOutsideCanvas:ne,onActiveTargetChange:se}),[Xe,Ze]=(0,u.useState)([]);(0,u.useEffect)((()=>{const e=A?(0,R.Y)(ye,Oe,_e,te):[];Ze((t=>0===t.length&&0===e.length?t:e))}),[_e,ye,Oe,A,te]),(0,u.useEffect)((()=>{const e=we.current;if(!e||Me.length>0)return;const t=e=>{const t=(0,E.a)(e,{cells:ye,activeTarget:_e,lockedContainerIds:Ke});"delete-cells"===(null==t?void 0:t.action)&&(ce(t.cells),1===t.cells.length&&re(t.cells[0]))};return e.addEventListener("keydown",t),()=>{e.removeEventListener("keydown",t)}}),[_e,ye,Me.length,Ke,re,ce]);const je=`${(0,u.useMemo)((()=>`${(0,m.uniqueId)("diagram-")}-`),[])}line-arrow-`,[qe,Ge]=(0,u.useState)([]),[Je,Qe]=(0,u.useState)(!1),[et,tt]=(0,u.useState)(!1),[at,nt]=(0,u.useState)(!1),st=(0,u.useCallback)((e=>{be({type:"move-cells",payload:e});const t=[];(0,_._)(e,ye).forEach((e=>{var a,n;null!==(a=e.containerCell)&&void 0!==a&&a.id&&t.push(null===(n=e.containerCell)||void 0===n?void 0:n.id)})),xe(t),Ge(e.flatMap((e=>{var t;return null!==(t=e.guideLines)&&void 0!==t?t:[]}))),Qe(!0),e.some((e=>(0,C._m)(e)))||nt(!0)}),[ye]),it=(0,u.useCallback)((e=>{be({type:"move-cells",payload:e}),de(e),1===e.length&&le(e[0]),(0,_._)(e,ye,pe),xe([]),Ge([]),Qe(!1),nt(!1)}),[le,de,ye,pe]),lt=(0,u.useCallback)((e=>{be({type:"resize-cell",payload:e}),tt(!0)}),[]),ot=(0,u.useCallback)((e=>{be({type:"resize-cell",payload:e}),oe(e),tt(!1)}),[oe]),rt=(0,u.useCallback)((e=>{let{id:t,editing:a}=e;Ee(a?e=>e.includes(t)?e:[...e,t]:e=>e.filter((e=>e!==t)))}),[]),dt=(0,u.useCallback)(((e,t)=>{const a=Fe();be({type:"update-node-size",payload:{id:e,size:t},layoutKey:a})}),[Fe]),ct=(0,u.useCallback)((e=>{Le.scaleTo((0,b.A)(we.current),e/100)}),[Le]),{lineConfMap:ht,lineConnectorConf:ut,markers:gt}=(0,$.d)({cells:ye,defaultEdgeLines:r,lineConnector:ee,markerPrefix:je,useMemoizedResult:at||et}),At=(0,j.A)({cells:ye,lineConfMap:ht}),pt=(0,u.useMemo)((()=>{let e=[];return e=ye.filter((e=>!(0,G.l)(e,Ke)&&(0,q.Q)(e,_e)&&((0,C.WW)(e)||(0,C._m)(e))&&At.has(e))),e}),[_e,ye,At,Ke]),vt=(0,O.H)({cells:ye,layout:n,centered:Pe}),[mt,yt]=(0,u.useState)(null),kt=(0,u.useRef)(null),[bt,ft]=(0,u.useState)(null),wt=(0,u.useCallback)((e=>{if(ut&&!(0,G.l)(e,Ke)&&(0,C.bo)(e,te)&&(!bt||"control"!==bt.type)){null!==kt.current&&(clearTimeout(kt.current),kt.current=null);const t=(0,P.G)();yt({cell:e,relativePoints:t,points:sn(t,e.view)})}}),[te,ut,bt,Ke]),Ct=(0,u.useCallback)((e=>{ut&&(0,C.N)(e)&&(kt.current=setTimeout((()=>{yt(null)})))}),[ut]),Mt=(0,u.useCallback)(((e,t,a,n)=>{const s={source:e.id,target:t.id,view:{...Q,exitPosition:a,entryPosition:n,vertices:null}};if(ye.find((a=>"edge"===a.type&&a.source===e.id&&a.target===t.id)))be({type:"change-edge-view",payload:s}),null==ve||ve(s);else{const a={type:"edge",...s};be({type:"add-edge",payload:a}),ue({source:e,target:t,view:a.view})}}),[ye,Q,ue,ve]),Et=(0,u.useCallback)(((e,t,a)=>{const n={source:e.id,target:t.id,view:a};be({type:"change-edge-view",payload:n}),null==ve||ve(n)}),[ve]),Wt=(0,u.useCallback)(((e,t)=>{const a={id:e.id,view:t};be({type:"change-decorator-view",payload:a}),null==me||me(a)}),[me]),xt=(0,u.useMemo)((()=>({rootRef:we,smartConnectLineState:Ue,unsetHoverStateTimeoutRef:kt,hoverState:mt,activeEditableLines:pt,lineEditorState:bt,movingCells:Je,setLineEditorState:ft,setHoverState:yt,setSmartConnectLineState:Ye,onConnect:Mt,onChangeEdgeView:Et,onChangeDecoratorView:Wt})),[pt,Et,Wt,Mt,mt,bt,Ue,Je]);return(0,u.useEffect)((()=>{const e=we.current;if(!e||"lasso"!==M)return;const t=e.getBoundingClientRect(),a=e=>{(0,I.F)(e,{transform:Se,offset:[t.left,t.top],onLassoing(e){De(e)},onLassoed(e){De(null);const t=[];for(const a of ye)if((0,C.WW)(a)||(0,C.N)(a)||(0,C.mH)(a)){const n=(0,m.get)(a,"view.x",0),s=(0,m.get)(a,"view.y",0),i=(0,m.get)(a,"view.width",0),l=(0,m.get)(a,"view.height",0);n>=e.x&&n+i<=e.x+e.width&&s>=e.y&&s+l<=e.y+e.height&&t.push(a)}null==ie||ie(t.length>1?{type:"multi",targets:t.map(Y.P)}:1===t.length?(0,Y.P)(t[0]):null)}})};return e.addEventListener("mousedown",a),()=>{e.removeEventListener("mousedown",a)}}),[Se,ye,M,ie]),g().createElement(F.H.Provider,{value:xt},g().createElement("svg",{width:"100%",height:"100%",ref:we,className:k()("root",{grabbing:Re,pannable:y,ready:vt}),tabIndex:-1},g().createElement("defs",null,gt.map(((e,t)=>g().createElement(w.c,{key:t,id:`${je}${t}`,type:e.markerType,strokeColor:e.strokeColor})))),g().createElement("g",{transform:`translate(${Se.x} ${Se.y}) scale(${Se.k})`},g().createElement("g",{className:k()("cells",{allowEdgeToArea:te})},ye.map((e=>g().createElement(W.m,{key:`${e.type}:${(0,C.WW)(e)?`${e.source}~${e.target}`:e.id}`,dragoverContainer:!(0,C.WW)(e)&&We.includes(e.id),layout:n,layoutOptions:s,cell:e,cells:ye,degraded:fe,degradedNodeLabel:c,defaultNodeBricks:o,transform:Se,lineConfMap:ht,editableLineMap:At,activeTarget:_e,unrelatedCells:Xe,allowEdgeToArea:te,curActiveEditableLine:Ne,locked:(0,G.l)(e,Ke),containerLocked:(0,C.N)(e)&&!!e.containerId&&Ke.includes(e.containerId),updateCurActiveEditableLine:Te,onCellsMoving:st,onCellsMoved:it,onCellResizing:lt,onCellResized:ot,onSwitchActiveTarget:ie,onCellContextMenu:he,onDecoratorTextChange:ge,onDecoratorTextEditing:rt,onNodeBrickResize:dt,onCellMouseEnter:wt,onCellMouseLeave:Ct})))),g().createElement("g",null,g().createElement(x.w,{connectLineState:Oe,transform:Se,markerEnd:`${je}0`,onConnect:Ve})),Be&&g().createElement("rect",{x:Be.x,y:Be.y,width:Be.width,height:Be.height,fill:"var(--palette-gray-5)",fillOpacity:.3,stroke:"var(--palette-gray-5)",strokeDasharray:2}),ut&&g().createElement("g",null,g().createElement(U.X,{transform:Se,lineSettings:Q,options:ut}),g().createElement(Z.W,{cells:ye,editableLineMap:At,transform:Se,options:ut,activeEditableLine:Ne})),g().createElement("g",null,qe.map(((e,t)=>g().createElement("path",{key:t,d:`M${e[0].join(" ")} L${e[1].join(" ")}`,stroke:"var(--palette-orange-5)",fill:"none",strokeWidth:1/Se.k})))),g().createElement("g",null,ut&&(null==pt?void 0:pt.map((e=>g().createElement(X.F,{editableLineMap:At,scale:Se.k,activeEditableLine:e,updateCurActiveEditableLine:Te,key:(0,C.WW)(e)?`${e.source}-${e.target}`:e.id}))))),ut&&g().createElement(H.T,{activeTarget:_e,editableLineMap:At,scale:Se.k,activeEditableLine:Ne,disabled:!!Oe}))),g().createElement(B.Y,{shadowRoot:a.shadowRoot,scale:Se.k,scaleRange:ze,onZoomChange:ct,onReCenter:Ie}))}function nn(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){const t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)}))}function sn(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;const n=S.XK,s=n/2,i=t.x+a/2-s,l=t.y+a/2-s,o=t.width-a+n,r=t.height-a+n;return e.map((e=>({x:i+e.x*o,y:l+e.y*r})))}n=en,({e:[te,ae,ne,se,ie,le,oe,re,de,ce,he,ue,ge,Ae,pe,ve,me,ye,ke,be,fe,we,Ce,Me,Ee,We,xe,Ne,Te,Re,Se,Le,ze,Be,De,Oe,$e,Pe,He,Fe,Ie,Ke,Ve,Ue,Ye,_e,Xe,Ze,je,qe,Ge,Je,Qe,et,tt,at,nt,st,it,lt,ot,rt,dt,ct,ht,ut,gt,At,pt,vt,mt,yt,kt,bt,ft,wt,Ct,Mt,Et,Wt,xt,Nt,Tt,Rt,St,Lt,zt,Bt,Dt,Ot,$t,Pt,Ht,Ft,It,Kt,Vt,Ut,Yt,_t,Xt,Zt,Q],c:[ta,ee]}=(0,h.A)(n,[qt("eo-draw-canvas",{styleTexts:[K.A,V.A]})],[[Gt({attribute:!1}),1,"cells"],[Gt({type:String}),1,"layout"],[Gt({attribute:!1}),1,"layoutOptions"],[Gt({attribute:!1}),1,"defaultNodeSize"],[Gt({attribute:!1}),1,"defaultNodeBricks"],[Gt({type:Number}),1,"degradedThreshold"],[Gt({attribute:!1}),1,"degradedNodeLabel"],[Gt({attribute:!1}),1,"defaultEdgeLines"],[Gt({attribute:!1}),1,"activeTarget"],[Gt({type:Boolean}),1,"fadeUnrelatedCells"],[Gt({type:Boolean}),1,"zoomable"],[Gt({type:Boolean}),1,"scrollable"],[Gt({type:Boolean}),1,"pannable"],[Gt({type:Boolean}),1,"allowEdgeToArea"],[Gt(),1,"dragBehavior"],[Gt(),1,"ctrlDragBehavior"],[Gt({attribute:!1}),1,"scaleRange"],[Gt({attribute:!1}),1,"lineSettings"],[Gt({attribute:!1}),1,"lineConnector"],[Gt(),1,"doNotResetActiveTargetForSelector"],[Gt({type:Boolean}),1,"doNotResetActiveTargetOutsideCanvas"],[Qt({type:"activeTarget.change"}),1,"activeTargetChangeEvent",e=>(0,c.A)(Ca,e),(e,t)=>(0,d.A)(Ca,e,t)],[Qt({type:"node.move"}),1,"nodeMoveEvent",e=>(0,c.A)(xa,e),(e,t)=>(0,d.A)(xa,e,t)],[Qt({type:"cell.move"}),1,"cellMoveEvent",e=>(0,c.A)(Na,e),(e,t)=>(0,d.A)(Na,e,t)],[Qt({type:"cells.move"}),1,"cellsMoveEvent",e=>(0,c.A)(Ra,e),(e,t)=>(0,d.A)(Ra,e,t)],[Qt({type:"cell.resize"}),1,"cellResizeEvent",e=>(0,c.A)(La,e),(e,t)=>(0,d.A)(La,e,t)],[Qt({type:"node.delete"}),1,"nodeDelete",e=>(0,c.A)(Ba,e),(e,t)=>(0,d.A)(Ba,e,t)],[Qt({type:"cell.delete"}),1,"cellDelete",e=>(0,c.A)(Da,e),(e,t)=>(0,d.A)(Da,e,t)],[Qt({type:"cells.delete"}),1,"cellsDelete",e=>(0,c.A)($a,e),(e,t)=>(0,d.A)($a,e,t)],[Qt({type:"cell.contextmenu"}),1,"cellContextMenu",e=>(0,c.A)(Ha,e),(e,t)=>(0,d.A)(Ha,e,t)],[Qt({type:"edge.add"}),1,"edgeAdd",e=>(0,c.A)(Ia,e),(e,t)=>(0,d.A)(Ia,e,t)],[Qt({type:"edge.view.change"}),1,"edgeViewChange",e=>(0,c.A)(Va,e),(e,t)=>(0,d.A)(Va,e,t)],[Qt({type:"decorator.view.change"}),1,"decoratorViewChange",e=>(0,c.A)(Ya,e),(e,t)=>(0,d.A)(Ya,e,t)],[Qt({type:"decorator.text.change"}),1,"decoratorTextChange",e=>(0,c.A)(Xa,e),(e,t)=>(0,d.A)(Xa,e,t)],[Qt({type:"node.container.change"}),1,"containerContainerChange",e=>(0,c.A)(ja,e),(e,t)=>(0,d.A)(ja,e,t)],[Qt({type:"scale.change"}),1,"scaleChange",e=>(0,c.A)(Ga,e),(e,t)=>(0,d.A)(Ga,e,t)],[Jt(),2,"dropNode"],[Jt(),2,"dropDecorator"],[Jt(),2,"addNodes"],[Jt(),2,"addEdge"],[Jt(),2,"manuallyConnectNodes"],[Jt(),2,"updateCells"],[Jt(),2,"reCenter"],[Jt(),2,"toggleLock"],[Jt(),2,"lock"],[Jt(),2,"unlock"]],0,(e=>Qa.has((0,l.A)(e))),p.ReactNextElement)),ee()},9711:(e,t,a)=>{var n,s=a(4635),i=a(918),l=a(6902),o=a(5536),r=a(6121),d=a(829),c=a(2740),h=a(8769),u=a.n(h),g=a(6192),A=a(9859),p=(a(6477),a(7566)),v=a(9047),m=a(3373),y=a.n(m),k=a(1030),b=a(9126),f=a(8892),w=a(5157),C=a(8308),M=a(1518),E=a(9137),W=a(2547),x=a(1803),N=a(3739),T=a(9191),R=a(6671),S=a(8060),L=a(2448),z=a(8657),B=a(8069),D=a(1324),O=a(821),$=a(6753),P=a(2673),H=a(5987);let F,I,K,V,U,Y,_,X,Z,j,q,G,J,Q,ee,te,ae,ne,se,ie,le,oe,re,de,ce,he,ue,ge,Ae,pe,ve,me,ye,ke,be,fe,we,Ce,Me,Ee,We,xe,Ne,Te,Re,Se,Le,ze,Be,De,Oe,$e,Pe,He;const{defineElement:Fe,property:Ie,event:Ke,method:Ve}=(0,g.createDecorators)(),Ue=(0,h.forwardRef)(wt);let Ye;var _e=new WeakMap,Xe=new WeakMap,Ze=new WeakMap,je=new WeakMap,qe=new WeakMap,Ge=new WeakMap,Je=new WeakMap,Qe=new WeakMap,et=new WeakMap,tt=new WeakMap,at=new WeakMap,nt=new WeakMap,st=new WeakMap,it=new WeakMap,lt=new WeakMap,ot=new WeakSet,rt=new WeakMap,dt=new WeakMap,ct=new WeakMap,ht=new WeakMap,ut=new WeakMap,gt=new WeakMap,At=new WeakMap,pt=new WeakMap,vt=new WeakMap,mt=new WeakMap,yt=new WeakMap,kt=new WeakMap,bt=new WeakMap;class ft extends A.ReactNextElement{constructor(){super(...arguments),(0,s.A)(this,ot),(0,i.A)(this,_e,(F(this),K(this))),(0,i.A)(this,Xe,(V(this),U(this))),(0,i.A)(this,Ze,(Y(this),_(this))),(0,i.A)(this,je,(X(this),Z(this))),(0,i.A)(this,qe,(j(this),q(this))),(0,i.A)(this,Ge,(G(this),J(this))),(0,i.A)(this,Je,(Q(this),ee(this))),(0,i.A)(this,Qe,(te(this),ae(this))),(0,i.A)(this,et,(ne(this),se(this))),(0,i.A)(this,tt,(ie(this),le(this))),(0,i.A)(this,at,(oe(this),re(this,!0))),(0,i.A)(this,nt,(de(this),ce(this,!0))),(0,i.A)(this,st,(he(this),ue(this,!0))),(0,i.A)(this,it,(ge(this),Ae(this))),(0,i.A)(this,lt,(pe(this),ve(this))),(0,i.A)(this,rt,(ke(this),e=>{(0,o.A)(ot,this,me).emit(e)})),(0,i.A)(this,dt,be(this)),(0,i.A)(this,ct,(Ce(this),e=>{(0,o.A)(ot,this,fe).emit(e)})),(0,i.A)(this,ht,Me(this)),(0,i.A)(this,ut,(xe(this),e=>{(0,o.A)(ot,this,Ee).emit(e)})),(0,i.A)(this,gt,Ne(this)),(0,i.A)(this,At,(Se(this),e=>{(0,o.A)(ot,this,Te).emit(e)})),(0,i.A)(this,pt,Le(this)),(0,i.A)(this,vt,(De(this),e=>{(0,o.A)(ot,this,ze).emit(e)})),(0,i.A)(this,mt,Oe(this)),(0,i.A)(this,yt,(He(this),e=>{(0,o.A)(ot,this,$e).emit(e)})),(0,i.A)(this,kt,(e=>{(0,P.c)(e,this.activeTarget)||(this.activeTarget=e)})),(0,i.A)(this,bt,(0,h.createRef)())}get layout(){return(0,d.A)(_e,this)}set layout(e){(0,r.A)(_e,this,e)}get nodes(){return(0,d.A)(Xe,this)}set nodes(e){(0,r.A)(Xe,this,e)}get edges(){return(0,d.A)(Ze,this)}set edges(e){(0,r.A)(Ze,this,e)}get nodeBricks(){return(0,d.A)(je,this)}set nodeBricks(e){(0,r.A)(je,this,e)}get lines(){return(0,d.A)(qe,this)}set lines(e){(0,r.A)(qe,this,e)}get layoutOptions(){return(0,d.A)(Ge,this)}set layoutOptions(e){(0,r.A)(Ge,this,e)}get activeTarget(){return(0,d.A)(Je,this)}set activeTarget(e){(0,r.A)(Je,this,e)}get disableKeyboardAction(){return(0,d.A)(Qe,this)}set disableKeyboardAction(e){(0,r.A)(Qe,this,e)}get connectNodes(){return(0,d.A)(et,this)}set connectNodes(e){(0,r.A)(et,this,e)}get dragNodes(){return(0,d.A)(tt,this)}set dragNodes(e){(0,r.A)(tt,this,e)}get zoomable(){return(0,d.A)(at,this)}set zoomable(e){(0,r.A)(at,this,e)}get scrollable(){return(0,d.A)(nt,this)}set scrollable(e){(0,r.A)(nt,this,e)}get pannable(){return(0,d.A)(st,this)}set pannable(e){(0,r.A)(st,this,e)}get scaleRange(){return(0,d.A)(it,this)}set scaleRange(e){(0,r.A)(it,this,e)}callOnLineLabel(e,t){for(var a,n=arguments.length,s=new Array(n>2?n-2:0),i=2;i<n;i++)s[i-2]=arguments[i];null===(a=(0,d.A)(bt,this).current)||void 0===a||a.callOnLineLabel(e,t,...s)}render(){return u().createElement(Ue,{ref:(0,d.A)(bt,this),layout:this.layout,nodes:this.nodes,edges:this.edges,nodeBricks:this.nodeBricks,lines:this.lines,layoutOptions:this.layoutOptions,connectNodes:this.connectNodes,dragNodes:this.dragNodes,activeTarget:this.activeTarget,disableKeyboardAction:this.disableKeyboardAction,zoomable:this.zoomable,scrollable:this.scrollable,pannable:this.pannable,scaleRange:this.scaleRange,onActiveTargetChange:(0,d.A)(rt,this),onSwitchActiveTarget:(0,d.A)(kt,this),onNodeDelete:(0,d.A)(ct,this),onEdgeDelete:(0,d.A)(ut,this),onLineClick:(0,d.A)(At,this),onLineDoubleClick:(0,d.A)(vt,this),onNodesConnect:(0,d.A)(yt,this)})}}function wt(e,t){let{layout:a,nodes:n,edges:s,nodeBricks:i,lines:l,layoutOptions:o,connectNodes:r,dragNodes:d,activeTarget:c,disableKeyboardAction:g,zoomable:A,scrollable:m,pannable:O,scaleRange:F,onActiveTargetChange:I,onSwitchActiveTarget:K,onNodeDelete:V,onEdgeDelete:U,onLineClick:Y,onLineDoubleClick:_,onNodesConnect:X}=e;const[Z,j]=(0,h.useState)(!1),[q,G]=(0,h.useState)(0),[J,Q]=(0,h.useState)(null),[ee,te]=(0,h.useState)(!1),[ae,ne]=(0,h.useState)(0),[se,ie]=(0,h.useState)(null),[le,oe]=(0,h.useState)([]),[re,de]=(0,h.useState)(!1),[ce,he]=(0,h.useState)({k:1,x:0,y:0}),ue=(0,h.useRef)(new Map),ge=(0,h.useRef)(null),Ae=(0,h.useRef)(null),[pe,ve]=(0,h.useState)(!1),{userViewReady:me,userViewNodesMap:ye,saveUserView:ke}=(0,$._)(null==d?void 0:d.save),[be,fe]=(0,h.useState)([0,0]),[we,Ce]=(0,h.useState)(null),[Me,Ee]=(0,h.useState)("initial"),[We,xe]=(0,h.useState)(null);(0,h.useImperativeHandle)(t,(()=>({callOnLineLabel(e,t){for(var a,n=arguments.length,s=new Array(n>2?n-2:0),i=2;i<n;i++)s[i-2]=arguments[i];null==se||null===(a=se.get(e))||void 0===a||null===(a=a.firstElementChild)||void 0===a||a[t](...s)}}))),(0,h.useEffect)((()=>{const e=e=>{(0,L.P)(e,{nodes:n,nodesRefRepository:J,connectNodes:r,dragNodes:d,scale:ce.k,setConnectLineState:Ce,setConnectLineTo:fe,setManualLayoutStatus:Ee,setNodeMovement:xe,onSwitchActiveTarget:K,onNodesConnect:X})},t=Ae.current;return null==t||t.addEventListener("mousedown",e),()=>{null==t||t.removeEventListener("mousedown",e)}}),[n,r,d,ce.k,J,X,K]);const{normalizedLines:Ne,normalizedLinesMap:Te,markers:Re}=(0,h.useMemo)((()=>(0,E.t)(s,l)),[s,l]),Se=(0,h.useMemo)((()=>Ne.flatMap((e=>{let t,a,{line:{text:n,label:s,$id:i},edge:l}=e;return n||s?(s?(t="label",a=[].concat(s)):(t="text",a=[].concat(n)),a.map((e=>{var a;return{[t]:e,id:`${i}-${null!==(a=e.placement)&&void 0!==a?a:"center"}`,edge:l}}))):[]}))),[Ne]),{nodes:Le,edges:ze}=(0,B.o)({layout:a,nodes:n,edges:s,manualLayoutStatus:Me,userViewReady:me,userViewNodesMap:ye,nodeMovement:We,nodesRefRepository:J,lineLabelsRefRepository:se,normalizedLinesMap:Te,layoutOptions:o,nodesRenderId:q,lineLabelsRenderId:ae});(0,h.useEffect)((()=>{"finished"===Me&&ke(Le.map((e=>({id:e.id,x:e.x,y:e.y}))))}),[Me]);const Be=(0,h.useMemo)((()=>(0,M.R)(ze,Le,Ne)),[Ne,Le,ze]),De=null!=c?c:null,[Oe,$e]=(0,h.useState)(De);(0,h.useEffect)((()=>{$e((e=>(0,P.c)(e,De)?e:De))}),[De]);const Pe=(0,h.useRef)(!1);(0,h.useEffect)((()=>{Pe.current?null==I||I(Oe):Pe.current=!0}),[Oe,I]),(0,h.useEffect)((()=>{const e=ge.current;if(!e||g)return;const t=e=>{const t=(0,w.a)(e,{renderedNodes:Le,activeTarget:Oe});"delete-node"===(null==t?void 0:t.action)?null==V||V(t.node):"delete-edge"===(null==t?void 0:t.action)?null==U||U(t.edge):"switch-active-node"===(null==t?void 0:t.action)&&t.node&&(null==K||K({type:"node",nodeId:t.node.id}))};return e.addEventListener("keydown",t),()=>{e.removeEventListener("keydown",t)}}),[Oe,Le,g,K,V,U]);const He=(0,h.useCallback)((e=>{e&&(G((e=>e+1)),Q(e)),j((t=>t||!!e))}),[]),Fe=(0,h.useCallback)((e=>{e&&(ne((e=>e+1)),ie(e)),te((t=>t||!!e))}),[]),Ie=(0,h.useMemo)((()=>null!=F?F:[z.sS,z.Yt]),[F]),Ke=(0,h.useMemo)((()=>(0,v.s_)()),[]);(0,h.useEffect)((()=>{let e=!1;Ke.scaleExtent(A?Ie:[1,1]).on("start",(()=>{e=!1,de(!0)})).on("zoom",(t=>{e=!0,he(t.transform)})).on("end",(()=>{de(!1),e||null==K||K(null)}))}),[K,Ie,A,Ke]),(0,h.useEffect)((()=>{const e=ge.current;if(!e)return;const t=(0,p.A)(e),a=()=>{t.on(".zoom",null).on(".zoom.custom",null).on("wheel",null)};if(A||m||O)return(A||m)&&t.on("wheel.zoom.custom",(e=>{e.ctrlKey||(e.stopImmediatePropagation(),m&&(e.preventDefault(),Ke.translateBy(t,e.wheelDeltaX/5,e.wheelDeltaY/5)))})),t.call(Ke).on("wheel",(e=>e.preventDefault())).on("dblclick.zoom",null),O||t.on("mousedown.zoom",null).on("touchstart.zoom",null).on("touchmove.zoom",null).on("touchend.zoom",null),a;a()}),[O,m,A,Ke]),(0,h.useEffect)((()=>{const e=ge.current;if(0===Le.length||!e||pe)return;const{k:t,x:a,y:n}=(0,C.r)(Le,{canvasWidth:e.clientWidth,canvasHeight:e.clientHeight,scaleRange:A?Ie:void 0});Ke.transform((0,p.A)(e),new v.uV(t,a,n)),ve(!0)}),[pe,Le,Ie,A,Ke]);const Ve=(0,h.useMemo)((()=>`${(0,k.uniqueId)("diagram-")}-`),[]),Ue=`${Ve}line-arrow-`,Ye=`${Ve}mask-`,_e=`${Ve}active-line-`;(0,h.useEffect)((()=>{oe((e=>(0,S.z)(e,Be,ue.current)))}),[Be]);const[Xe,Ze]=u().useState(new Map);return(0,h.useEffect)((()=>{if(!se)return;(0,D.F)(le,se);const e=new b.A((()=>{Ze((0,H.G)(le,se))}));for(const t of se.values())e.observe(t);return()=>{e.disconnect()}}),[ae,se,le]),"dagre"!==a&&"force"!==a?u().createElement("div",null,`Diagram layout not supported: "${a}"`):u().createElement("div",{className:y()("diagram",{ready:Z&&pe,grabbing:re,pannable:O}),tabIndex:-1,ref:ge},u().createElement("svg",{width:"100%",height:"100%",className:"lines"},u().createElement("defs",null,Re.map(((e,t)=>{let{type:a,strokeColor:n}=e;return u().createElement(N.c,{key:t,id:`${Ue}${t}`,type:a,strokeColor:n})})),[...Xe].map((e=>{let[t,a]=e;return u().createElement(T.y,{key:t,lineId:t,rects:a,maskPrefix:Ye,renderedLineLabels:le})})),u().createElement("marker",{id:`${_e}start`,viewBox:"0 0 8 8",refX:4,refY:4,markerWidth:8,markerHeight:8,orient:"auto"},u().createElement("path",{d:"M 0.5 0.5 H 7.5 V 7.5 H 0.5 Z",stroke:"var(--palette-gray-7)",strokeWidth:1,fill:"var(--palette-gray-1)"})),u().createElement("marker",{id:`${_e}end`,viewBox:"0 0 14 8",refX:3,refY:4,markerWidth:14,markerHeight:8,orient:"auto"},u().createElement("path",{d:"M 0.5 1.5 L 5.5 4 L 0.5 6.5 z",stroke:"var(--palette-blue-3)",strokeWidth:1,fill:"var(--palette-blue-3)"}),u().createElement("path",{d:"M 6.5 0.5 H 13.5 V 7.5 H 6.5 Z",stroke:"var(--palette-gray-7)",strokeWidth:1,fill:"var(--palette-gray-1)"}))),u().createElement("g",{transform:`translate(${ce.x} ${ce.y}) scale(${ce.k})`},Be.map((e=>u().createElement(x.m,{key:e.line.$id,line:e,linePaths:ue.current,lineMaskRects:Xe,maskPrefix:Ye,markerPrefix:Ue,activeLineMarkerPrefix:_e,active:"edge"===(null==Oe?void 0:Oe.type)&&Oe.edge.source===e.edge.source&&Oe.edge.target===e.edge.target,activeRelated:"node"===(null==Oe?void 0:Oe.type)&&(e.edge.source===Oe.nodeId||e.edge.target===Oe.nodeId),onLineClick:Y,onLineDoubleClick:_}))))),u().createElement("div",{className:y()("line-labels",{ready:ee}),style:{left:ce.x,top:ce.y,transform:`scale(${ce.k})`}},u().createElement(W.d2,{labels:Se,onRendered:Fe})),u().createElement("div",{className:"nodes",ref:Ae,style:{left:ce.x,top:ce.y,transform:`scale(${ce.k})`}},u().createElement(f.p,{nodes:n,nodeBricks:i,onRendered:He})),u().createElement(R.w,{connectLineState:we,connectLineTo:be,markerPrefix:Ue}))}n=ft,({e:[K,V,U,Y,_,X,Z,j,q,G,J,Q,ee,te,ae,ne,se,ie,le,oe,re,de,ce,he,ue,ge,Ae,pe,ve,me,ye,ke,be,fe,we,Ce,Me,Ee,We,xe,Ne,Te,Re,Se,Le,ze,Be,De,Oe,$e,Pe,He,F],c:[Ye,I]}=(0,c.A)(n,[Fe("eo-diagram",{styleTexts:[O.A]})],[[Ie({type:String}),1,"layout"],[Ie({attribute:!1}),1,"nodes"],[Ie({attribute:!1}),1,"edges"],[Ie({attribute:!1}),1,"nodeBricks"],[Ie({attribute:!1}),1,"lines"],[Ie({attribute:!1}),1,"layoutOptions"],[Ie({attribute:!1}),1,"activeTarget"],[Ie({type:Boolean}),1,"disableKeyboardAction"],[Ie({attribute:!1}),1,"connectNodes"],[Ie({attribute:!1}),1,"dragNodes"],[Ie({type:Boolean}),1,"zoomable"],[Ie({type:Boolean}),1,"scrollable"],[Ie({type:Boolean}),1,"pannable"],[Ie({attribute:!1}),1,"scaleRange"],[Ke({type:"activeTarget.change"}),1,"activeTargetChangeEvent",e=>(0,d.A)(lt,e),(e,t)=>(0,r.A)(lt,e,t)],[Ke({type:"node.delete"}),1,"nodeDelete",e=>(0,d.A)(dt,e),(e,t)=>(0,r.A)(dt,e,t)],[Ke({type:"edge.delete"}),1,"edgeDelete",e=>(0,d.A)(ht,e),(e,t)=>(0,r.A)(ht,e,t)],[Ke({type:"line.click"}),1,"lineClick",e=>(0,d.A)(gt,e),(e,t)=>(0,r.A)(gt,e,t)],[Ke({type:"line.dblclick"}),1,"lineDoubleClick",e=>(0,d.A)(pt,e),(e,t)=>(0,r.A)(pt,e,t)],[Ke({type:"nodes.connect"}),1,"connectNodes",e=>(0,d.A)(mt,e),(e,t)=>(0,r.A)(mt,e,t)],[Ve(),2,"callOnLineLabel"]],0,(e=>bt.has((0,l.A)(e))),A.ReactNextElement)),I();var Ct,Mt=a(3971);let Et,Wt,xt,Nt,Tt,Rt,St,Lt,zt,Bt,Dt,Ot,$t,Pt,Ht,Ft;const{defineElement:It,property:Kt,event:Vt,method:Ut}=(0,g.createDecorators)(),Yt=(0,h.forwardRef)(na);let _t;var Xt=new WeakMap,Zt=new WeakMap,jt=new WeakMap,qt=new WeakMap,Gt=new WeakSet,Jt=new WeakMap,Qt=new WeakMap,ea=new WeakMap,ta=new WeakMap;class aa extends A.ReactNextElement{constructor(){super(...arguments),(0,s.A)(this,Gt),(0,i.A)(this,Xt,(Et(this),xt(this))),(0,i.A)(this,Zt,(Nt(this),Tt(this))),(0,i.A)(this,jt,(Rt(this),St(this))),(0,i.A)(this,qt,(Lt(this),zt(this))),(0,i.A)(this,Jt,(Ot(this),e=>{(0,o.A)(Gt,this,Bt).emit(e)})),(0,i.A)(this,Qt,$t(this)),(0,i.A)(this,ea,(Ft(this),e=>{(0,o.A)(Gt,this,Pt).emit(e)})),(0,i.A)(this,ta,(0,h.createRef)())}get label(){return(0,d.A)(Xt,this)}set label(e){(0,r.A)(Xt,this,e)}get type(){return(0,d.A)(Zt,this)}set type(e){(0,r.A)(Zt,this,e)}get readOnly(){return(0,d.A)(jt,this)}set readOnly(e){(0,r.A)(jt,this,e)}enableEditing(){var e;null===(e=(0,d.A)(ta,this).current)||void 0===e||e.enableEditing()}render(){return u().createElement(Yt,{ref:(0,d.A)(ta,this),label:this.label,readOnly:this.readOnly,onLabelEditingChange:(0,d.A)(Jt,this),onLabelChange:(0,d.A)(ea,this)})}}function na(e,t){let{label:a,readOnly:n,onLabelChange:s,onLabelEditingChange:i}=e;const l=null!=a?a:"",[o,r]=(0,h.useState)(l),[d,c]=(0,h.useState)(!1),g=(0,h.useRef)(!1),[A,p]=(0,h.useState)(!1),v=(0,h.useRef)(null);(0,h.useImperativeHandle)(t,(()=>({enableEditing(){n||c(!0)}}))),(0,h.useEffect)((()=>{r(l)}),[l]);const m=(0,h.useCallback)((e=>{n||(e.preventDefault(),e.stopPropagation(),c(!0))}),[n]);(0,h.useEffect)((()=>{var e,t;d&&(null===(e=v.current)||void 0===e||e.focus({preventScroll:!0}),null===(t=v.current)||void 0===t||t.select())}),[d]),(0,h.useEffect)((()=>{g.current?null==i||i(d):g.current=!0}),[d,i]);const k=(0,h.useCallback)((e=>{r(e.target.value)}),[]),b=(0,h.useCallback)((e=>{e.stopPropagation();const t=e.key||e.keyCode||e.which;var a;"Enter"!==t&&13!==t||null===(a=v.current)||void 0===a||a.blur()}),[]),f=(0,h.useCallback)((()=>{c(!1),p(!0)}),[]);(0,h.useEffect)((()=>{A&&(null==s||s(o),p(!1))}),[o,s,A]);const w=(0,h.useCallback)((e=>{e.stopPropagation()}),[]);return u().createElement("div",{className:y()("label",{editing:d,empty:!o}),onDoubleClick:w,onMouseDown:w},u().createElement("input",{className:"label-input",value:o,ref:v,onChange:k,onKeyDown:b,onBlur:f,onContextMenu:w}),u().createElement("div",{className:"label-text",onDoubleClick:m},o))}Ct=aa,({e:[xt,Nt,Tt,Rt,St,Lt,zt,Bt,Dt,Ot,$t,Pt,Ht,Ft,Et],c:[_t,Wt]}=(0,c.A)(Ct,[It("diagram.editable-label",{styleTexts:[Mt.A]})],[[Kt(),1,"label"],[Kt({render:!1}),1,"type"],[Kt({type:Boolean}),1,"readOnly"],[Vt({type:"label.editing.change"}),1,"labelEditingChange",e=>(0,d.A)(qt,e),(e,t)=>(0,r.A)(qt,e,t)],[Vt({type:"label.change"}),1,"labelChange",e=>(0,d.A)(Qt,e),(e,t)=>(0,r.A)(Qt,e,t)],[Ut(),2,"enableEditing"]],0,(e=>ta.has((0,l.A)(e))),A.ReactNextElement)),Wt(),a(9068);var sa,ia=a(497);let la,oa,ra,da,ca,ha,ua,ga,Aa,pa,va,ma,ya,ka,ba,fa,wa,Ca,Ma;const{defineElement:Ea,property:Wa,event:xa}=(0,g.createDecorators)();let Na;var Ta=new WeakMap,Ra=new WeakMap,Sa=new WeakMap,La=new WeakMap,za=new WeakSet,Ba=new WeakMap,Da=new WeakMap,Oa=new WeakMap,$a=new WeakMap,Pa=new WeakMap;class Ha extends A.ReactNextElement{constructor(){super(...arguments),(0,s.A)(this,za),(0,i.A)(this,Ta,oa(this)),(0,i.A)(this,Ra,(ra(this),da(this))),(0,i.A)(this,Sa,(ca(this),ha(this))),(0,i.A)(this,La,(ua(this),ga(this))),(0,i.A)(this,Ba,(va(this),e=>{(0,o.A)(za,this,Aa).emit(e)})),(0,i.A)(this,Da,ma(this)),(0,i.A)(this,Oa,(ba(this),e=>{(0,o.A)(za,this,ya).emit(e)})),(0,i.A)(this,$a,fa(this)),(0,i.A)(this,Pa,(Ma(this),e=>{(0,o.A)(za,this,wa).emit(e)}))}get usage(){return(0,d.A)(Ta,this)}set usage(e){(0,r.A)(Ta,this,e)}get status(){return(0,d.A)(Ra,this)}set status(e){(0,r.A)(Ra,this,e)}get decorator(){return(0,d.A)(Sa,this)}set decorator(e){(0,r.A)(Sa,this,e)}render(){return u().createElement(Fa,{usage:this.usage,onDragStart:(0,d.A)(Ba,this),onDragMove:(0,d.A)(Oa,this),onDragEnd:(0,d.A)(Pa,this)})}}function Fa(e){let{usage:t,onDragStart:a,onDragMove:n,onDragEnd:s}=e;const i=(0,h.useCallback)((e=>{if("library"!==t)return;e.stopPropagation(),e.preventDefault();const i=[e.clientX,e.clientY];let l=!1;const o=e=>{l||(l=(e.clientX-i[0])**2+(e.clientY-i[1])**2>=9,l&&(null==a||a([e.clientX,e.clientY]))),l&&(null==n||n([e.clientX,e.clientY]))},r=e=>{document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",r),l&&(null==s||s([e.clientX,e.clientY]))};document.addEventListener("mousemove",o),document.addEventListener("mouseup",r)}),[s,n,a,t]);return u().createElement("div",{onMouseDown:i},u().createElement("slot",null))}sa=Ha,({e:[oa,ra,da,ca,ha,ua,ga,Aa,pa,va,ma,ya,ka,ba,fa,wa,Ca,Ma],c:[Na,la]}=(0,c.A)(sa,[Ea("diagram.experimental-node",{styleTexts:[ia.A]})],[[Wa(),1,"usage"],[Wa({type:String,render:!1}),1,"status"],[Wa({type:String}),1,"decorator"],[xa({type:"drag.start"}),1,"dragStartEvent",e=>(0,d.A)(La,e),(e,t)=>(0,r.A)(La,e,t)],[xa({type:"drag.move"}),1,"dragMoveEvent",e=>(0,d.A)(Da,e),(e,t)=>(0,r.A)(Da,e,t)],[xa({type:"drag.end"}),1,"dragEndEvent",e=>(0,d.A)($a,e),(e,t)=>(0,r.A)($a,e,t)]],0,(e=>Pa.has((0,l.A)(e))),A.ReactNextElement)),la();var Ia,Ka=a(8185),Va=a(3906),Ua=a(3783),Ya=a(3033),_a=a(8091),Xa=a(1819),Za=a(5748),ja=a(227),qa=a(2912),Ga=a(7099),Ja=a(1484),Qa=a(8197),en=a(7531),tn=a(2098),an=a(3012),nn=a(6237),sn=a(4117);let ln,on,rn,dn,cn,hn,un,gn,An,pn,vn,mn,yn,kn,bn,fn,wn,Cn,Mn,En,Wn,xn,Nn,Tn,Rn,Sn,Ln,zn,Bn,Dn,On,$n,Pn,Hn,Fn,In,Kn,Vn,Un,Yn,_n,Xn,Zn,jn,qn,Gn,Jn,Qn,es;const{defineElement:ts,property:as,event:ns}=(0,g.createDecorators)();let ss;var is=new WeakMap,ls=new WeakMap,os=new WeakMap,rs=new WeakMap,ds=new WeakMap,cs=new WeakMap,hs=new WeakMap,us=new WeakMap,gs=new WeakMap,As=new WeakMap,ps=new WeakMap,vs=new WeakMap,ms=new WeakMap,ys=new WeakMap,ks=new WeakMap,bs=new WeakMap,fs=new WeakMap,ws=new WeakMap,Cs=new WeakMap,Ms=new WeakSet,Es=new WeakMap,Ws=new WeakMap,xs=new WeakMap,Ns=new WeakMap,Ts=new WeakMap,Rs=new WeakMap;class Ss extends A.ReactNextElement{constructor(){super(...arguments),(0,s.A)(this,Ms),(0,i.A)(this,is,on(this)),(0,i.A)(this,ls,(rn(this),dn(this))),(0,i.A)(this,os,(cn(this),hn(this))),(0,i.A)(this,rs,(un(this),gn(this,[Ya.HP,Ya.HP]))),(0,i.A)(this,ds,(An(this),pn(this))),(0,i.A)(this,cs,(vn(this),mn(this))),(0,i.A)(this,hs,(yn(this),kn(this))),(0,i.A)(this,us,(bn(this),fn(this))),(0,i.A)(this,gs,(wn(this),Cn(this))),(0,i.A)(this,As,(Mn(this),En(this))),(0,i.A)(this,ps,(Wn(this),xn(this,!0))),(0,i.A)(this,vs,(Nn(this),Tn(this,!0))),(0,i.A)(this,ms,(Rn(this),Sn(this,!0))),(0,i.A)(this,ys,(Ln(this),zn(this))),(0,i.A)(this,ks,(Bn(this),Dn(this))),(0,i.A)(this,bs,(On(this),$n(this))),(0,i.A)(this,fs,(Pn(this),Hn(this))),(0,i.A)(this,ws,(Fn(this),In(this))),(0,i.A)(this,Cs,(Kn(this),Vn(this))),(0,i.A)(this,Es,(_n(this),e=>{(0,o.A)(Ms,this,Un).emit(e)})),(0,i.A)(this,Ws,(e=>{(0,Ka.c)(e,this.activeTarget)||(this.activeTarget=e)})),(0,i.A)(this,xs,Xn(this)),(0,i.A)(this,Ns,(qn(this),e=>{(0,o.A)(Ms,this,Zn).emit(e)})),(0,i.A)(this,Ts,Gn(this)),(0,i.A)(this,Rs,(es(this),e=>{(0,o.A)(Ms,this,Jn).emit(e)}))}get cells(){return(0,d.A)(is,this)}set cells(e){(0,r.A)(is,this,e)}get layout(){return(0,d.A)(ls,this)}set layout(e){(0,r.A)(ls,this,e)}get layoutOptions(){return(0,d.A)(os,this)}set layoutOptions(e){(0,r.A)(os,this,e)}get defaultNodeSize(){return(0,d.A)(rs,this)}set defaultNodeSize(e){(0,r.A)(rs,this,e)}get defaultNodeBricks(){return(0,d.A)(ds,this)}set defaultNodeBricks(e){(0,r.A)(ds,this,e)}get degradedThreshold(){return(0,d.A)(cs,this)}set degradedThreshold(e){(0,r.A)(cs,this,e)}get degradedNodeLabel(){return(0,d.A)(hs,this)}set degradedNodeLabel(e){(0,r.A)(hs,this,e)}get defaultEdgeLines(){return(0,d.A)(us,this)}set defaultEdgeLines(e){(0,r.A)(us,this,e)}get activeTarget(){return(0,d.A)(gs,this)}set activeTarget(e){(0,r.A)(gs,this,e)}get fadeUnrelatedCells(){return(0,d.A)(As,this)}set fadeUnrelatedCells(e){(0,r.A)(As,this,e)}get zoomable(){return(0,d.A)(ps,this)}set zoomable(e){(0,r.A)(ps,this,e)}get scrollable(){return(0,d.A)(vs,this)}set scrollable(e){(0,r.A)(vs,this,e)}get pannable(){return(0,d.A)(ms,this)}set pannable(e){(0,r.A)(ms,this,e)}get scaleRange(){return(0,d.A)(ys,this)}set scaleRange(e){(0,r.A)(ys,this,e)}get hideZoomBar(){return(0,d.A)(ks,this)}set hideZoomBar(e){(0,r.A)(ks,this,e)}get autoCenterWhenCellsChange(){return(0,d.A)(bs,this)}set autoCenterWhenCellsChange(e){(0,r.A)(bs,this,e)}get doNotResetActiveTargetForSelector(){return(0,d.A)(fs,this)}set doNotResetActiveTargetForSelector(e){(0,r.A)(fs,this,e)}get doNotResetActiveTargetOutsideCanvas(){return(0,d.A)(ws,this)}set doNotResetActiveTargetOutsideCanvas(e){(0,r.A)(ws,this,e)}render(){return u().createElement(Ls,{shadowRoot:this.shadowRoot,cells:this.cells,layout:this.layout,layoutOptions:this.layoutOptions,defaultNodeSize:this.defaultNodeSize,defaultNodeBricks:this.defaultNodeBricks,defaultEdgeLines:this.defaultEdgeLines,degradedThreshold:this.degradedThreshold,degradedNodeLabel:this.degradedNodeLabel,activeTarget:this.activeTarget,fadeUnrelatedCells:this.fadeUnrelatedCells,zoomable:this.zoomable,scrollable:this.scrollable,pannable:this.pannable,scaleRange:this.scaleRange,hideZoomBar:this.hideZoomBar,doNotResetActiveTargetForSelector:this.doNotResetActiveTargetForSelector,doNotResetActiveTargetOutsideCanvas:this.doNotResetActiveTargetOutsideCanvas,autoCenterWhenCellsChange:this.autoCenterWhenCellsChange,onActiveTargetChange:(0,d.A)(Es,this),onSwitchActiveTarget:(0,d.A)(Ws,this),onCellContextMenu:(0,d.A)(Ns,this),onCellClick:(0,d.A)(Rs,this)})}}function Ls(e){let{shadowRoot:t,cells:a,layout:n,layoutOptions:s,defaultNodeSize:i,defaultNodeBricks:l,defaultEdgeLines:o,degradedThreshold:r,degradedNodeLabel:d,activeTarget:c,fadeUnrelatedCells:g,zoomable:A,scrollable:v,pannable:m,scaleRange:b,hideZoomBar:f,autoCenterWhenCellsChange:w,doNotResetActiveTargetForSelector:C,doNotResetActiveTargetOutsideCanvas:M,onActiveTargetChange:E,onSwitchActiveTarget:W,onCellContextMenu:x,onCellClick:T}=e;const[{cells:R,layoutKey:S},L]=(0,h.useReducer)(Za.d,a,(e=>({cells:(0,Ua.C)(e,{defaultNodeSize:i}),layoutKey:1}))),z=(0,h.useMemo)((()=>R.filter(qa.N).length>=(null!=r?r:Ya.pC)),[R,r]),B=(0,h.useRef)(null),{grabbing:D,transform:O,zoomer:$,scaleRange:P}=(0,_a.f)({rootRef:B,zoomable:A,scrollable:v,pannable:m,draggable:!0,scaleRange:b,onSwitchActiveTarget:W}),{centered:H,setCentered:F,getNextLayoutKey:I}=(0,Ja.g)({layout:n,layoutOptions:s,rootRef:B,cells:R,zoomable:A,zoomer:$,scaleRange:P,layoutKey:S,autoCenterWhenCellsChange:w,dispatch:L}),K=(0,h.useCallback)((()=>{F(!1)}),[F]),V=(0,h.useRef)(a);(0,h.useEffect)((()=>{if(a!==V.current){V.current=a;const e=(0,tn.L)({canvasWidth:t.host.clientWidth,canvasHeight:t.host.clientHeight,defaultNodeSize:i,layout:n,previousCells:R,cells:a,scaleRange:P,transform:O});L({type:"update-cells",payload:e.cells})}}),[R,i,a,n,P,t,O]);const U=(0,Xa.J)({rootRef:B,activeTarget:c,doNotResetActiveTargetForSelector:C,doNotResetActiveTargetOutsideCanvas:M,onActiveTargetChange:E}),Y=`${(0,h.useMemo)((()=>`${(0,k.uniqueId)("diagram-")}-`),[])}line-arrow-`,_=(0,h.useCallback)(((e,t)=>{L({type:"update-node-size",payload:{id:e,size:t},layoutKey:I()})}),[I]),[X,Z]=(0,h.useState)(null),j=(0,h.useCallback)((e=>{Z(e)}),[]),q=(0,h.useCallback)((e=>{Z((t=>t===e?null:t))}),[]),[G,J]=(0,h.useState)([]);(0,h.useEffect)((()=>{const e=g?(0,ja.Y)(R,null,X):[];J((t=>0===t.length&&0===e.length?t:e))}),[R,g,X]);const Q=(0,h.useCallback)((e=>{$.scaleTo((0,p.A)(B.current),e/100)}),[$]),{lineConfMap:ee,markers:te}=(0,en.d)({cells:R,defaultEdgeLines:o,markerPrefix:Y}),ae=(0,sn.A)({cells:R,lineConfMap:ee}),ne=(0,Qa.H)({cells:R,layout:n,centered:H});return u().createElement(u().Fragment,null,u().createElement("svg",{width:"100%",height:"100%",ref:B,className:y()("root",{grabbing:D,pannable:m,ready:ne}),tabIndex:-1},u().createElement("defs",null,te.map(((e,t)=>u().createElement(N.c,{key:t,id:`${Y}${t}`,type:e.markerType,strokeColor:e.strokeColor})))),u().createElement("g",{transform:`translate(${O.x} ${O.y}) scale(${O.k})`},u().createElement("g",{className:"cells"},R.map((e=>u().createElement(Va.m,{key:`${e.type}:${(0,qa.WW)(e)?`${e.source}~${e.target}`:e.id}`,layout:n,cell:e,cells:R,degraded:z,degradedNodeLabel:d,defaultNodeBricks:l,lineConfMap:ee,editableLineMap:ae,transform:O,activeTarget:U,readOnly:!0,hoverCell:X,unrelatedCells:G,onSwitchActiveTarget:W,onCellContextMenu:x,onCellClick:T,onNodeBrickResize:_,onCellMouseEnter:g&&((0,qa.N)(e)||(0,qa.WW)(e))?j:void 0,onCellMouseLeave:g&&((0,qa.N)(e)||(0,qa.WW)(e))?q:void 0})))))),!f&&u().createElement(Ga.Y,{shadowRoot:t,scale:O.k,scaleRange:P,onZoomChange:Q,onReCenter:K}))}Ia=Ss,({e:[on,rn,dn,cn,hn,un,gn,An,pn,vn,mn,yn,kn,bn,fn,wn,Cn,Mn,En,Wn,xn,Nn,Tn,Rn,Sn,Ln,zn,Bn,Dn,On,$n,Pn,Hn,Fn,In,Kn,Vn,Un,Yn,_n,Xn,Zn,jn,qn,Gn,Jn,Qn,es],c:[ss,ln]}=(0,c.A)(Ia,[ts("eo-display-canvas",{styleTexts:[an.A,nn.A]})],[[as({attribute:!1}),1,"cells"],[as({type:String}),1,"layout"],[as({attribute:!1}),1,"layoutOptions"],[as({attribute:!1}),1,"defaultNodeSize"],[as({attribute:!1}),1,"defaultNodeBricks"],[as({type:Number}),1,"degradedThreshold"],[as({attribute:!1}),1,"degradedNodeLabel"],[as({attribute:!1}),1,"defaultEdgeLines"],[as({attribute:!1}),1,"activeTarget"],[as({type:Boolean}),1,"fadeUnrelatedCells"],[as({type:Boolean}),1,"zoomable"],[as({type:Boolean}),1,"scrollable"],[as({type:Boolean}),1,"pannable"],[as({attribute:!1}),1,"scaleRange"],[as({type:Boolean}),1,"hideZoomBar"],[as({type:Boolean}),1,"autoCenterWhenCellsChange"],[as(),1,"doNotResetActiveTargetForSelector"],[as({type:Boolean}),1,"doNotResetActiveTargetOutsideCanvas"],[ns({type:"activeTarget.change"}),1,"activeTargetChangeEvent",e=>(0,d.A)(Cs,e),(e,t)=>(0,r.A)(Cs,e,t)],[ns({type:"cell.contextmenu"}),1,"cellContextMenu",e=>(0,d.A)(xs,e),(e,t)=>(0,r.A)(xs,e,t)],[ns({type:"cell.click"}),1,"cellClick",e=>(0,d.A)(Ts,e),(e,t)=>(0,r.A)(Ts,e,t)]],0,(e=>Rs.has((0,l.A)(e))),A.ReactNextElement)),ln()}}]);
2
- //# sourceMappingURL=9711.24b8bf0e.js.map