@next-bricks/diagram 0.31.0 → 0.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/bricks.json +5 -5
  2. package/dist/chunks/1728.457b3de4.js +2 -0
  3. package/dist/chunks/1728.457b3de4.js.map +1 -0
  4. package/dist/chunks/709.ecbbe43b.js +2 -0
  5. package/dist/chunks/709.ecbbe43b.js.map +1 -0
  6. package/dist/chunks/eo-display-canvas.d128a126.js +2 -0
  7. package/dist/chunks/eo-display-canvas.d128a126.js.map +1 -0
  8. package/dist/chunks/eo-draw-canvas.dc2cf3e4.js +2 -0
  9. package/dist/chunks/eo-draw-canvas.dc2cf3e4.js.map +1 -0
  10. package/dist/chunks/{main.18e4ed32.js → main.0ebe4020.js} +2 -2
  11. package/dist/chunks/{main.18e4ed32.js.map → main.0ebe4020.js.map} +1 -1
  12. package/dist/examples.json +4 -4
  13. package/dist/{index.aba82501.js → index.f8ce68c6.js} +2 -2
  14. package/dist/{index.aba82501.js.map → index.f8ce68c6.js.map} +1 -1
  15. package/dist/manifest.json +137 -111
  16. package/dist/types.json +2709 -2681
  17. package/dist-types/display-canvas/index.d.ts +14 -0
  18. package/dist-types/draw-canvas/CellComponent.d.ts +3 -1
  19. package/dist-types/draw-canvas/NodeComponent.d.ts +3 -1
  20. package/dist-types/draw-canvas/constants.d.ts +1 -0
  21. package/dist-types/draw-canvas/index.d.ts +14 -0
  22. package/dist-types/draw-canvas/processors/updateCells.d.ts +1 -0
  23. package/dist-types/shared/canvas/dagreLayout.d.ts +10 -0
  24. package/dist-types/shared/canvas/forceLayout.d.ts +12 -0
  25. package/docs/eo-display-canvas.md +102 -0
  26. package/package.json +2 -2
  27. package/dist/chunks/1728.cf49ae61.js +0 -2
  28. package/dist/chunks/1728.cf49ae61.js.map +0 -1
  29. package/dist/chunks/709.2c9b1035.js +0 -2
  30. package/dist/chunks/709.2c9b1035.js.map +0 -1
  31. package/dist/chunks/eo-display-canvas.74087b7e.js +0 -2
  32. package/dist/chunks/eo-display-canvas.74087b7e.js.map +0 -1
  33. package/dist/chunks/eo-draw-canvas.5602b10d.js +0 -2
  34. package/dist/chunks/eo-draw-canvas.5602b10d.js.map +0 -1
@@ -10,6 +10,8 @@ export interface EoDisplayCanvasProps {
10
10
  defaultNodeSize: SizeTuple;
11
11
  defaultNodeBricks?: NodeBrickConf[];
12
12
  defaultEdgeLines?: EdgeLineConf[];
13
+ degradedThreshold?: number;
14
+ degradedNodeLabel?: string;
13
15
  activeTarget?: ActiveTarget | null;
14
16
  fadeUnrelatedCells?: boolean;
15
17
  zoomable?: boolean;
@@ -30,6 +32,18 @@ export declare class EoDisplayCanvas extends ReactNextElement implements EoDispl
30
32
  accessor layoutOptions: LayoutOptions | undefined;
31
33
  accessor defaultNodeSize: SizeTuple;
32
34
  accessor defaultNodeBricks: NodeBrickConf[] | undefined;
35
+ /**
36
+ * 当节点数量达到或超过 `degradedThreshold` 时,节点将被降级展示。
37
+ *
38
+ * @default 500
39
+ */
40
+ accessor degradedThreshold: number | undefined;
41
+ /**
42
+ * 设置节点将降级展示时显示的名称。
43
+ *
44
+ * @default "<% DATA.node.id %>"
45
+ */
46
+ accessor degradedNodeLabel: string | undefined;
33
47
  /**
34
48
  * 使用条件判断设置默认的边对应的连线。在 `if` 表达式中 `DATA` 为 `{ edge }`,例如:
35
49
  *
@@ -6,6 +6,8 @@ export interface CellComponentProps {
6
6
  layout: LayoutType;
7
7
  cell: Cell;
8
8
  cells: Cell[];
9
+ degraded: boolean;
10
+ degradedNodeLabel?: string;
9
11
  defaultNodeBricks?: NodeBrickConf[];
10
12
  transform: TransformLiteral;
11
13
  lineConfMap: WeakMap<EdgeCell, ComputedEdgeLineConf>;
@@ -27,4 +29,4 @@ export interface CellComponentProps {
27
29
  onCellMouseEnter?(cell: Cell): void;
28
30
  onCellMouseLeave?(cell: Cell): void;
29
31
  }
30
- export declare function CellComponent({ layout, cell, cells, defaultNodeBricks, lineConfMap, active, readOnly, transform, unrelatedCells, onCellMoving, onCellMoved, onCellResizing, onCellResized, onSwitchActiveTarget, onCellContextMenu, onDecoratorTextEditing, onDecoratorTextChange, onNodeBrickResize, onCellMouseEnter, onCellMouseLeave, }: CellComponentProps): JSX.Element | null;
32
+ export declare function CellComponent({ layout, cell, cells, degraded, degradedNodeLabel, defaultNodeBricks, lineConfMap, active, readOnly, transform, unrelatedCells, onCellMoving, onCellMoved, onCellResizing, onCellResized, onSwitchActiveTarget, onCellContextMenu, onDecoratorTextEditing, onDecoratorTextChange, onNodeBrickResize, onCellMouseEnter, onCellMouseLeave, }: CellComponentProps): JSX.Element | null;
@@ -3,7 +3,9 @@ import type { NodeBrickConf, NodeCell } from "./interfaces";
3
3
  import type { SizeTuple } from "../diagram/interfaces";
4
4
  export interface NodeComponentProps {
5
5
  node: NodeCell;
6
+ degraded: boolean;
7
+ degradedNodeLabel?: string;
6
8
  defaultNodeBricks?: NodeBrickConf[];
7
9
  onResize(id: string, size: SizeTuple | null): void;
8
10
  }
9
- export declare function NodeComponent({ node, defaultNodeBricks, onResize, }: NodeComponentProps): JSX.Element | null;
11
+ export declare function NodeComponent({ node, degraded, degradedNodeLabel, defaultNodeBricks, onResize, }: NodeComponentProps): JSX.Element | null;
@@ -12,3 +12,4 @@ export declare const DEFAULT_LINE_INTERACT_STROKE_WIDTH = 15;
12
12
  export declare const DEFAULT_LINE_INTERACT_SHOW_START_ARROW = false;
13
13
  export declare const DEFAULT_LINE_INTERACT_SHOW_END_ARROW = true;
14
14
  export declare const DEFAULT_LINE_INTERACT_ANIMATE_DURATION = 1;
15
+ export declare const DEFAULT_DEGRADED_THRESHOLD = 500;
@@ -12,6 +12,8 @@ export interface EoDrawCanvasProps {
12
12
  defaultNodeSize: SizeTuple;
13
13
  defaultNodeBricks?: NodeBrickConf[];
14
14
  defaultEdgeLines?: EdgeLineConf[];
15
+ degradedThreshold?: number;
16
+ degradedNodeLabel?: string;
15
17
  activeTarget?: ActiveTarget | null;
16
18
  fadeUnrelatedCells?: boolean;
17
19
  zoomable?: boolean;
@@ -65,6 +67,18 @@ export declare class EoDrawCanvas extends ReactNextElement implements EoDrawCanv
65
67
  accessor layoutOptions: LayoutOptions | undefined;
66
68
  accessor defaultNodeSize: SizeTuple;
67
69
  accessor defaultNodeBricks: NodeBrickConf[] | undefined;
70
+ /**
71
+ * 当节点数量达到或超过 `degradedThreshold` 时,节点将被降级展示。
72
+ *
73
+ * @default 500
74
+ */
75
+ accessor degradedThreshold: number | undefined;
76
+ /**
77
+ * 设置节点将降级展示时显示的名称。
78
+ *
79
+ * @default "<% DATA.node.id %>"
80
+ */
81
+ accessor degradedNodeLabel: string | undefined;
68
82
  /**
69
83
  * 使用条件判断设置默认的边对应的连线。在 `if` 表达式中 `DATA` 为 `{ edge }`,例如:
70
84
  *
@@ -14,4 +14,5 @@ export declare function updateCells({ cells, layout, previousCells, defaultNodeS
14
14
  }): {
15
15
  cells: Cell[];
16
16
  updated: Cell[];
17
+ shouldReCenter: boolean;
17
18
  };
@@ -0,0 +1,10 @@
1
+ import type { Cell, LayoutOptionsDagre, NodeId, NodeView } from "../../draw-canvas/interfaces";
2
+ import type { FullRectTuple } from "../../diagram/interfaces";
3
+ export interface DagreLayoutOptions {
4
+ cells: Cell[];
5
+ layoutOptions?: LayoutOptionsDagre;
6
+ }
7
+ export declare function dagreLayout({ cells, layoutOptions }: DagreLayoutOptions): {
8
+ getNodeView: (id: NodeId) => NodeView;
9
+ nodePaddings: FullRectTuple;
10
+ };
@@ -0,0 +1,12 @@
1
+ import type { Cell, LayoutOptionsForce, NodeId, NodeView } from "../../draw-canvas/interfaces";
2
+ import type { FullRectTuple, PositionTuple } from "../../diagram/interfaces";
3
+ export interface ForceLayoutOptions {
4
+ cells: Cell[];
5
+ layoutOptions?: LayoutOptionsForce;
6
+ center?: PositionTuple;
7
+ fixedPosition?: boolean;
8
+ }
9
+ export declare function forceLayout({ cells, layoutOptions, center, fixedPosition, }: ForceLayoutOptions): {
10
+ getNodeView: (id: NodeId) => NodeView;
11
+ nodePaddings: FullRectTuple;
12
+ };
@@ -451,3 +451,105 @@
451
451
  ]
452
452
  %>
453
453
  ```
454
+
455
+ ### Degraded diagram
456
+
457
+ ```yaml preview minHeight="600px"
458
+ - brick: div
459
+ properties:
460
+ style:
461
+ display: flex
462
+ height: 600px
463
+ gap: 1em
464
+ context:
465
+ - name: initialCells
466
+ value: |
467
+ <%
468
+ ((...seeds) => seeds.map((seed) => ({
469
+ type: "node",
470
+ id: seed,
471
+ data: {
472
+ name: seed,
473
+ },
474
+ })))(
475
+ ...(
476
+ new Array(500).fill(null).map((_, i) => String(i))
477
+ )
478
+ )
479
+ %>
480
+ - name: activeTarget
481
+ - name: targetCell
482
+ children:
483
+ - brick: div
484
+ properties:
485
+ style:
486
+ flex: 1
487
+ minWidth: 0
488
+ children:
489
+ - brick: eo-display-canvas
490
+ properties:
491
+ style:
492
+ width: 100%
493
+ height: 100%
494
+ activeTarget: <%= CTX.activeTarget %>
495
+ fadeUnrelatedCells: true
496
+ layout: force
497
+ # Initial nodes only
498
+ defaultNodeSize: [60, 60]
499
+ defaultNodeBricks:
500
+ - useBrick:
501
+ brick: diagram.experimental-node
502
+ properties:
503
+ textContent: <% `Node ${DATA.node.id}` %>
504
+ status: |
505
+ <%=
506
+ CTX.activeTarget?.type === "node" && CTX.activeTarget.id === DATA.node.id
507
+ ? "highlighted"
508
+ // : CTX.unrelated.some(n =>
509
+ // n.type === "node" && n.id === DATA.node.id
510
+ // )
511
+ // ? "faded"
512
+ : "default"
513
+ %>
514
+ defaultEdgeLines:
515
+ - if: true
516
+ dashed: <% DATA.edge?.data?.virtual %>
517
+ strokeColor: <% DATA.edge?.data?.strokeColor %>
518
+ showStartArrow: <% DATA.edge?.data?.showStartArrow %>
519
+ strokeWidth: <% DATA.edge?.data?.strokeWidth %>
520
+ animate: <% DATA.edge?.data?.animate %>
521
+ cells: <% CTX.initialCells %>
522
+ events:
523
+ activeTarget.change:
524
+ action: context.replace
525
+ args:
526
+ - activeTarget
527
+ - <% EVENT.detail %>
528
+ cell.contextmenu:
529
+ - target: eo-context-menu
530
+ method: open
531
+ args:
532
+ - position:
533
+ - <% EVENT.detail.clientX %>
534
+ - <% EVENT.detail.clientY %>
535
+ - action: context.replace
536
+ args:
537
+ - targetCell
538
+ - <% EVENT.detail.cell %>
539
+ scale.change:
540
+ action: context.replace
541
+ args:
542
+ - scale
543
+ - <% EVENT.detail %>
544
+ - brick: eo-context-menu
545
+ properties:
546
+ actions: |
547
+ <%=
548
+ [
549
+ {
550
+ text: `Test ${CTX.targetCell?.type}`,
551
+ event: `test-${CTX.targetCell?.type}`,
552
+ }
553
+ ]
554
+ %>
555
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@next-bricks/diagram",
3
- "version": "0.31.0",
3
+ "version": "0.32.0",
4
4
  "homepage": "https://github.com/easyops-cn/next-bricks/tree/master/bricks/diagram",
5
5
  "repository": {
6
6
  "type": "git",
@@ -40,5 +40,5 @@
40
40
  "peerDependencies": {
41
41
  "@next-bricks/basic": "*"
42
42
  },
43
- "gitHead": "537ea59c98619cda6e8ebdc5cdd9e145979325a7"
43
+ "gitHead": "72129b43a19b274307cd99719f2768f5ef02a386"
44
44
  }
@@ -1,2 +0,0 @@
1
- "use strict";(self.webpackChunk_next_bricks_diagram=self.webpackChunk_next_bricks_diagram||[]).push([[1728],{1728:(e,t,n)=>{n.r(t);var a,r,i,o,s,l,c,u,d,h,f,p,g,v,m,w,y,b,k,A,E,x,M,C,W,z,N,S,R,T,L,D,B,O,P,j,I,H,Y,U,V,X,K,_,F,Z,q,J,$,G,Q,ee,te,ne,ae,re=n(4635),ie=n(918),oe=n(1369),se=n(8449),le=n(6902),ce=n(8769),ue=n.n(ce),de=n(9929),he=n(9938),fe=(n(330),n(7566)),pe=n(1517),ge=n(3373),ve=n.n(ge),me=n(1030),we=n(9126),ye=n(8892),be=n(5157),ke=n(8308),Ae=n(6457),Ee=n(9137),xe=n(2547),Me=n(1803),Ce=n(3739),We=n(9191),ze=n(6671),Ne=n(8060),Se=n(2448),Re=n(8657),Te=n(8069),Le=n(1324),De=n(821),Be=n(6753),Oe=n(2673),Pe=n(5987);function je(e,t,n){return n(Ye(e,t))}function Ie(e,t,n){return e.set(Ye(e,t),n),n}function He(e,t){return e.get(Ye(e,t))}function Ye(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Ue,{defineElement:Ve,property:Xe,event:Ke,method:_e}=(0,de.createDecorators)(),Fe=(0,ce.forwardRef)(xt),Ze=new WeakMap,qe=new WeakMap,Je=new WeakMap,$e=new WeakMap,Ge=new WeakMap,Qe=new WeakMap,et=new WeakMap,tt=new WeakMap,nt=new WeakMap,at=new WeakMap,rt=new WeakMap,it=new WeakMap,ot=new WeakMap,st=new WeakMap,lt=new WeakMap,ct=new WeakSet,ut=new WeakMap,dt=new WeakMap,ht=new WeakMap,ft=new WeakMap,pt=new WeakMap,gt=new WeakMap,vt=new WeakMap,mt=new WeakMap,wt=new WeakMap,yt=new WeakMap,bt=new WeakMap,kt=new WeakMap,At=new WeakMap;class Et extends he.ReactNextElement{constructor(){super(...arguments),(0,re.A)(this,ct),(0,ie.A)(this,Ze,(a(this),i(this))),(0,ie.A)(this,qe,(o(this),s(this))),(0,ie.A)(this,Je,(l(this),c(this))),(0,ie.A)(this,$e,(u(this),d(this))),(0,ie.A)(this,Ge,(h(this),f(this))),(0,ie.A)(this,Qe,(p(this),g(this))),(0,ie.A)(this,et,(v(this),m(this))),(0,ie.A)(this,tt,(w(this),y(this))),(0,ie.A)(this,nt,(b(this),k(this))),(0,ie.A)(this,at,(A(this),E(this))),(0,ie.A)(this,rt,(x(this),M(this,!0))),(0,ie.A)(this,it,(C(this),W(this,!0))),(0,ie.A)(this,ot,(z(this),N(this,!0))),(0,ie.A)(this,st,(S(this),R(this))),(0,ie.A)(this,lt,(T(this),L(this))),(0,ie.A)(this,ut,(O(this),e=>{je(ct,this,D).emit(e)})),(0,ie.A)(this,dt,P(this)),(0,ie.A)(this,ht,(H(this),e=>{je(ct,this,j).emit(e)})),(0,ie.A)(this,ft,Y(this)),(0,ie.A)(this,pt,(X(this),e=>{je(ct,this,U).emit(e)})),(0,ie.A)(this,gt,K(this)),(0,ie.A)(this,vt,(Z(this),e=>{je(ct,this,_).emit(e)})),(0,ie.A)(this,mt,q(this)),(0,ie.A)(this,wt,(G(this),e=>{je(ct,this,J).emit(e)})),(0,ie.A)(this,yt,Q(this)),(0,ie.A)(this,bt,(ne(this),e=>{je(ct,this,ee).emit(e)})),(0,ie.A)(this,kt,(e=>{(0,Oe.c)(e,this.activeTarget)||(this.activeTarget=e)})),(0,ie.A)(this,At,(0,ce.createRef)())}get layout(){return He(Ze,this)}set layout(e){Ie(Ze,this,e)}get nodes(){return He(qe,this)}set nodes(e){Ie(qe,this,e)}get edges(){return He(Je,this)}set edges(e){Ie(Je,this,e)}get nodeBricks(){return He($e,this)}set nodeBricks(e){Ie($e,this,e)}get lines(){return He(Ge,this)}set lines(e){Ie(Ge,this,e)}get layoutOptions(){return He(Qe,this)}set layoutOptions(e){Ie(Qe,this,e)}get activeTarget(){return He(et,this)}set activeTarget(e){Ie(et,this,e)}get disableKeyboardAction(){return He(tt,this)}set disableKeyboardAction(e){Ie(tt,this,e)}get connectNodes(){return He(nt,this)}set connectNodes(e){Ie(nt,this,e)}get dragNodes(){return He(at,this)}set dragNodes(e){Ie(at,this,e)}get zoomable(){return He(rt,this)}set zoomable(e){Ie(rt,this,e)}get scrollable(){return He(it,this)}set scrollable(e){Ie(it,this,e)}get pannable(){return He(ot,this)}set pannable(e){Ie(ot,this,e)}get scaleRange(){return He(st,this)}set scaleRange(e){Ie(st,this,e)}callOnLineLabel(e,t){for(var n,a=arguments.length,r=new Array(a>2?a-2:0),i=2;i<a;i++)r[i-2]=arguments[i];null===(n=He(At,this).current)||void 0===n||n.callOnLineLabel(e,t,...r)}render(){return ue().createElement(Fe,{ref:He(At,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:He(ut,this),onSwitchActiveTarget:He(kt,this),onNodeDelete:He(ht,this),onEdgeDelete:He(pt,this),onLineClick:He(vt,this),onLineDoubleClick:He(wt,this),onNodesConnect:He(bt,this)})}}function xt(e,t){var{layout:n,nodes:a,edges:r,nodeBricks:i,lines:o,layoutOptions:s,connectNodes:l,dragNodes:c,activeTarget:u,disableKeyboardAction:d,zoomable:h,scrollable:f,pannable:p,scaleRange:g,onActiveTargetChange:v,onSwitchActiveTarget:m,onNodeDelete:w,onEdgeDelete:y,onLineClick:b,onLineDoubleClick:k,onNodesConnect:A}=e,[E,x]=(0,ce.useState)(!1),[M,C]=(0,ce.useState)(0),[W,z]=(0,ce.useState)(null),[N,S]=(0,ce.useState)(!1),[R,T]=(0,ce.useState)(0),[L,D]=(0,ce.useState)(null),[B,O]=(0,ce.useState)([]),[P,j]=(0,ce.useState)(!1),[I,H]=(0,ce.useState)({k:1,x:0,y:0}),Y=(0,ce.useRef)(new Map),U=(0,ce.useRef)(null),V=(0,ce.useRef)(null),[X,K]=(0,ce.useState)(!1),{userViewReady:_,userViewNodesMap:F,saveUserView:Z}=(0,Be._)(null==c?void 0:c.save),[q,J]=(0,ce.useState)([0,0]),[$,G]=(0,ce.useState)(null),[Q,ee]=(0,ce.useState)("initial"),[te,ne]=(0,ce.useState)(null);(0,ce.useImperativeHandle)(t,(()=>({callOnLineLabel(e,t){for(var n,a=arguments.length,r=new Array(a>2?a-2:0),i=2;i<a;i++)r[i-2]=arguments[i];null==L||null===(n=L.get(e))||void 0===n||null===(n=n.firstElementChild)||void 0===n||n[t](...r)}}))),(0,ce.useEffect)((()=>{var e=e=>{(0,Se.P)(e,{nodes:a,nodesRefRepository:W,connectNodes:l,dragNodes:c,scale:I.k,setConnectLineState:G,setConnectLineTo:J,setManualLayoutStatus:ee,setNodeMovement:ne,onSwitchActiveTarget:m,onNodesConnect:A})},t=V.current;return null==t||t.addEventListener("mousedown",e),()=>{null==t||t.removeEventListener("mousedown",e)}}),[a,l,c,I.k,W,A,m]);var{normalizedLines:ae,normalizedLinesMap:re,markers:ie}=(0,ce.useMemo)((()=>(0,Ee.t)(r,o)),[r,o]),oe=(0,ce.useMemo)((()=>ae.flatMap((e=>{var t,n,{line:{text:a,label:r,$id:i},edge:o}=e;return a||r?(r?(t="label",n=[].concat(r)):(t="text",n=[].concat(a)),n.map((e=>{var n;return{[t]:e,id:"".concat(i,"-").concat(null!==(n=e.placement)&&void 0!==n?n:"center"),edge:o}}))):[]}))),[ae]),{nodes:se,edges:le}=(0,Te.o)({layout:n,nodes:a,edges:r,manualLayoutStatus:Q,userViewReady:_,userViewNodesMap:F,nodeMovement:te,nodesRefRepository:W,lineLabelsRefRepository:L,normalizedLinesMap:re,layoutOptions:s,nodesRenderId:M,lineLabelsRenderId:R});(0,ce.useEffect)((()=>{"finished"===Q&&Z(se.map((e=>({id:e.id,x:e.x,y:e.y}))))}),[Q]);var de=(0,ce.useMemo)((()=>(0,Ae.R)(le,se,ae)),[ae,se,le]),he=null!=u?u:null,[ge,De]=(0,ce.useState)(he);(0,ce.useEffect)((()=>{De((e=>(0,Oe.c)(e,he)?e:he))}),[he]);var je=(0,ce.useRef)(!1);(0,ce.useEffect)((()=>{je.current?null==v||v(ge):je.current=!0}),[ge,v]),(0,ce.useEffect)((()=>{var e=U.current;if(e&&!d){var t=e=>{var t=(0,be.a)(e,{renderedNodes:se,activeTarget:ge});"delete-node"===(null==t?void 0:t.action)?null==w||w(t.node):"delete-edge"===(null==t?void 0:t.action)?null==y||y(t.edge):"switch-active-node"===(null==t?void 0:t.action)&&t.node&&(null==m||m({type:"node",nodeId:t.node.id}))};return e.addEventListener("keydown",t),()=>{e.removeEventListener("keydown",t)}}}),[ge,se,d,m,w,y]);var Ie=(0,ce.useCallback)((e=>{e&&(C((e=>e+1)),z(e)),x((t=>t||!!e))}),[]),He=(0,ce.useCallback)((e=>{e&&(T((e=>e+1)),D(e)),S((t=>t||!!e))}),[]),Ye=(0,ce.useMemo)((()=>null!=g?g:[Re.sS,Re.Yt]),[g]),Ue=(0,ce.useMemo)((()=>(0,pe.s_)()),[]);(0,ce.useEffect)((()=>{var e=!1;Ue.scaleExtent(h?Ye:[1,1]).on("start",(()=>{e=!1,j(!0)})).on("zoom",(t=>{e=!0,H(t.transform)})).on("end",(()=>{j(!1),e||null==m||m(null)}))}),[m,Ye,h,Ue]),(0,ce.useEffect)((()=>{var e=U.current;if(e){var t=(0,fe.A)(e),n=()=>{t.on(".zoom",null).on(".zoom.custom",null).on("wheel",null)};if(h||f||p)return(h||f)&&t.on("wheel.zoom.custom",(e=>{e.ctrlKey||(e.stopImmediatePropagation(),f&&(e.preventDefault(),Ue.translateBy(t,e.wheelDeltaX/5,e.wheelDeltaY/5)))})),t.call(Ue).on("wheel",(e=>e.preventDefault())).on("dblclick.zoom",null),p||t.on("mousedown.zoom",null).on("touchstart.zoom",null).on("touchmove.zoom",null).on("touchend.zoom",null),n;n()}}),[p,f,h,Ue]),(0,ce.useEffect)((()=>{var e=U.current;if(0!==se.length&&e&&!X){var{k:t,x:n,y:a}=(0,ke.r)(se,{canvasWidth:e.clientWidth,canvasHeight:e.clientHeight,scaleRange:h?Ye:void 0});Ue.transform((0,fe.A)(e),new pe.uV(t,n,a)),K(!0)}}),[X,se,Ye,h,Ue]);var Ve=(0,ce.useMemo)((()=>"".concat((0,me.uniqueId)("diagram-"),"-")),[]),Xe="".concat(Ve,"line-arrow-"),Ke="".concat(Ve,"mask-"),_e="".concat(Ve,"active-line-");(0,ce.useEffect)((()=>{O((e=>(0,Ne.z)(e,de,Y.current)))}),[de]);var[Fe,Ze]=ue().useState(new Map);return(0,ce.useEffect)((()=>{if(L){(0,Le.F)(B,L);var e=new we.A((()=>{Ze((0,Pe.G)(B,L))}));for(var t of L.values())e.observe(t);return()=>{e.disconnect()}}}),[R,L,B]),"dagre"!==n&&"force"!==n?ue().createElement("div",null,'Diagram layout not supported: "'.concat(n,'"')):ue().createElement("div",{className:ve()("diagram",{ready:E&&X,grabbing:P,pannable:p}),tabIndex:-1,ref:U},ue().createElement("svg",{width:"100%",height:"100%",className:"lines"},ue().createElement("defs",null,ie.map(((e,t)=>{var{type:n,strokeColor:a}=e;return ue().createElement(Ce.c,{key:t,id:"".concat(Xe).concat(t),type:n,strokeColor:a})})),[...Fe].map((e=>{var[t,n]=e;return ue().createElement(We.y,{key:t,lineId:t,rects:n,maskPrefix:Ke,renderedLineLabels:B})})),ue().createElement("marker",{id:"".concat(_e,"start"),viewBox:"0 0 8 8",refX:4,refY:4,markerWidth:8,markerHeight:8,orient:"auto"},ue().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)"})),ue().createElement("marker",{id:"".concat(_e,"end"),viewBox:"0 0 14 8",refX:3,refY:4,markerWidth:14,markerHeight:8,orient:"auto"},ue().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)"}),ue().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)"}))),ue().createElement("g",{transform:"translate(".concat(I.x," ").concat(I.y,") scale(").concat(I.k,")")},de.map((e=>ue().createElement(Me.m,{key:e.line.$id,line:e,linePaths:Y.current,lineMaskRects:Fe,maskPrefix:Ke,markerPrefix:Xe,activeLineMarkerPrefix:_e,active:"edge"===(null==ge?void 0:ge.type)&&ge.edge.source===e.edge.source&&ge.edge.target===e.edge.target,activeRelated:"node"===(null==ge?void 0:ge.type)&&(e.edge.source===ge.nodeId||e.edge.target===ge.nodeId),onLineClick:b,onLineDoubleClick:k}))))),ue().createElement("div",{className:ve()("line-labels",{ready:N}),style:{left:I.x,top:I.y,transform:"scale(".concat(I.k,")")}},ue().createElement(xe.d2,{labels:oe,onRendered:He})),ue().createElement("div",{className:"nodes",ref:V,style:{left:I.x,top:I.y,transform:"scale(".concat(I.k,")")}},ue().createElement(ye.p,{nodes:a,nodeBricks:i,onRendered:Ie})),ue().createElement(ze.w,{connectLineState:$,connectLineTo:q,markerPrefix:Xe}))}ae=Et,({e:[i,o,s,l,c,u,d,h,f,p,g,v,m,w,y,b,k,A,E,x,M,C,W,z,N,S,R,T,L,D,B,O,P,j,I,H,Y,U,V,X,K,_,F,Z,q,J,$,G,Q,ee,te,ne,a],c:[Ue,r]}=function(e,t,n,a,r,i){var o,s,l,c,u,d,h,f=Symbol.metadata||Symbol.for("Symbol.metadata"),p=Object.defineProperty,g=Object.create,v=[g(null),g(null)],m=t.length;function w(t,n,a){return function(r,i){n&&(i=r,r=e);for(var o=0;o<t.length;o++)i=t[o].apply(r,a?[i]:[]);return a?i:r}}function y(e,t,n,a){if("function"!=typeof e&&(a||void 0!==e))throw new TypeError(t+" must "+(n||"be")+" a function"+(a?"":" or undefined"));return e}function b(e,t,n,a,r,i,l,c,u,d,h){function f(e){if(!h(e))throw new TypeError("Attempted to access private element on non-instance")}var g=[].concat(t[0]),m=t[3],b=!l,k=1===r,A=3===r,E=4===r,x=2===r;function M(t,n,a){return function(r,i){return n&&(i=r,r=e),a&&a(r),C[t].call(r,i)}}if(!b){var C={},W=[],z=A?"get":E||k?"set":"value";if(u?(d||k?C={get:(0,se.A)((function(){return m(this)}),a,"get"),set:function(e){t[4](this,e)}}:C[z]=m,d||(0,se.A)(C[z],a,x?"":z)):d||(C=Object.getOwnPropertyDescriptor(e,a)),!d&&!u){if((s=v[+c][a])&&7!=(s^r))throw new Error("Decorating two elements with the same name ("+C[z].name+") is not supported yet");v[+c][a]=r<3?1:r}}for(var N=e,S=g.length-1;S>=0;S-=n?2:1){var R=g[S],T=n?g[S-1]:void 0,L={},D={kind:["field","accessor","method","getter","setter","class"][r],name:a,metadata:o,addInitializer:function(e,t){if(e.v)throw new Error("attempted to call addInitializer after decoration was finished");y(t,"An initializer","be",!0),i.push(t)}.bind(null,L)};if(b)s=R.call(T,N,D),L.v=1,y(s,"class decorators","return")&&(N=s);else if(D.static=c,D.private=u,s=D.access={has:u?h.bind():function(e){return a in e}},E||(s.get=u?x?function(e){return f(e),C.value}:M("get",0,f):function(e){return e[a]}),x||A||(s.set=u?M("set",0,f):function(e,t){e[a]=t}),N=R.call(T,k?{get:C.get,set:C.set}:C[z],D),L.v=1,k){if("object"==typeof N&&N)(s=y(N.get,"accessor.get"))&&(C.get=s),(s=y(N.set,"accessor.set"))&&(C.set=s),(s=y(N.init,"accessor.init"))&&W.unshift(s);else if(void 0!==N)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else y(N,(d?"field":"method")+" decorators","return")&&(d?W.unshift(N):C[z]=N)}return r<2&&l.push(w(W,c,1),w(i,c,0)),d||b||(u?k?l.splice(-1,0,M("get",c),M("set",c)):l.push(x?C[z]:y.call.bind(C[z])):p(e,a,C)),N}function k(e){return p(e,f,{configurable:!0,enumerable:!0,value:o})}return void 0!==i&&(o=i[f]),o=g(null==o?null:o),u=[],d=function(e){e&&u.push(w(e))},(h=function(t,a){for(var i=0;i<n.length;i++){var o=n[i],s=o[1],d=7&s;if((8&s)==t&&!d==a){var h=o[2],f=!!o[3],p=16&s;b(t?e:e.prototype,o,p,f?"#"+h:(0,oe.A)(h),d,d<2?[]:t?c=c||[]:l=l||[],u,!!t,f,a,t&&f?function(t){return(0,le.A)(t)===e}:r)}}})(8,0),h(0,0),h(8,1),h(0,1),d(l),d(c),s=u,m||k(e),{e:s,get c(){var n=[];return m&&[k(e=b(e,[t],0,e.name,5,n)),w(n,1)]}}}(ae,[Ve("eo-diagram",{styleTexts:[De.A]})],[[Xe({type:String}),1,"layout"],[Xe({attribute:!1}),1,"nodes"],[Xe({attribute:!1}),1,"edges"],[Xe({attribute:!1}),1,"nodeBricks"],[Xe({attribute:!1}),1,"lines"],[Xe({attribute:!1}),1,"layoutOptions"],[Xe({attribute:!1}),1,"activeTarget"],[Xe({type:Boolean}),1,"disableKeyboardAction"],[Xe({attribute:!1}),1,"connectNodes"],[Xe({attribute:!1}),1,"dragNodes"],[Xe({type:Boolean}),1,"zoomable"],[Xe({type:Boolean}),1,"scrollable"],[Xe({type:Boolean}),1,"pannable"],[Xe({attribute:!1}),1,"scaleRange"],[Ke({type:"activeTarget.change"}),1,"activeTargetChangeEvent",e=>He(lt,e),(e,t)=>Ie(lt,e,t)],[Ke({type:"node.delete"}),1,"nodeDelete",e=>He(dt,e),(e,t)=>Ie(dt,e,t)],[Ke({type:"edge.delete"}),1,"edgeDelete",e=>He(ft,e),(e,t)=>Ie(ft,e,t)],[Ke({type:"line.click"}),1,"lineClick",e=>He(gt,e),(e,t)=>Ie(gt,e,t)],[Ke({type:"line.dblclick"}),1,"lineDoubleClick",e=>He(mt,e),(e,t)=>Ie(mt,e,t)],[Ke({type:"nodes.connect"}),1,"connectNodes",e=>He(yt,e),(e,t)=>Ie(yt,e,t)],[_e(),2,"callOnLineLabel"]],0,(e=>At.has((0,le.A)(e))),he.ReactNextElement)),r();var Mt,Ct,Wt,zt,Nt,St,Rt,Tt,Lt,Dt,Bt,Ot,Pt,jt,It,Ht=n(3971);function Yt(e,t,n){return n(Xt(e,t))}function Ut(e,t,n){return e.set(Xt(e,t),n),n}function Vt(e,t){return e.get(Xt(e,t))}function Xt(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Kt,{defineElement:_t,property:Ft,event:Zt,method:qt}=(0,de.createDecorators)(),Jt=(0,ce.forwardRef)(sn),$t=new WeakMap,Gt=new WeakMap,Qt=new WeakMap,en=new WeakSet,tn=new WeakMap,nn=new WeakMap,an=new WeakMap,rn=new WeakMap;class on extends he.ReactNextElement{constructor(){super(...arguments),(0,re.A)(this,en),(0,ie.A)(this,$t,(Mt(this),Wt(this))),(0,ie.A)(this,Gt,(zt(this),Nt(this))),(0,ie.A)(this,Qt,(St(this),Rt(this))),(0,ie.A)(this,tn,(Dt(this),e=>{Yt(en,this,Tt).emit(e)})),(0,ie.A)(this,nn,Bt(this)),(0,ie.A)(this,an,(jt(this),e=>{Yt(en,this,Ot).emit(e)})),(0,ie.A)(this,rn,(0,ce.createRef)())}get label(){return Vt($t,this)}set label(e){Ut($t,this,e)}get type(){return Vt(Gt,this)}set type(e){Ut(Gt,this,e)}enableEditing(){var e;null===(e=Vt(rn,this).current)||void 0===e||e.enableEditing()}render(){return ue().createElement(Jt,{ref:Vt(rn,this),label:this.label,onLabelEditingChange:Vt(tn,this),onLabelChange:Vt(an,this)})}}function sn(e,t){var{label:n,onLabelChange:a,onLabelEditingChange:r}=e,i=null!=n?n:"",[o,s]=(0,ce.useState)(i),[l,c]=(0,ce.useState)(!1),u=(0,ce.useRef)(!1),[d,h]=(0,ce.useState)(!1),f=(0,ce.useRef)(null);(0,ce.useImperativeHandle)(t,(()=>({enableEditing(){c(!0)}}))),(0,ce.useEffect)((()=>{s(i)}),[i]);var p=(0,ce.useCallback)((e=>{e.preventDefault(),e.stopPropagation(),c(!0)}),[]);(0,ce.useEffect)((()=>{var e,t;l&&(null===(e=f.current)||void 0===e||e.focus({preventScroll:!0}),null===(t=f.current)||void 0===t||t.select())}),[l]),(0,ce.useEffect)((()=>{u.current?null==r||r(l):u.current=!0}),[l,r]);var g=(0,ce.useCallback)((e=>{s(e.target.value)}),[]),v=(0,ce.useCallback)((e=>{var t,n=e.key||e.keyCode||e.which;"Enter"!==n&&13!==n||null===(t=f.current)||void 0===t||t.blur()}),[]),m=(0,ce.useCallback)((()=>{c(!1),h(!0)}),[]);(0,ce.useEffect)((()=>{d&&(null==a||a(o),h(!1))}),[o,a,d]);var w=(0,ce.useCallback)((e=>{e.stopPropagation()}),[]);return ue().createElement("div",{className:ve()("label",{editing:l,empty:!o}),onDoubleClick:w,onMouseDown:w},ue().createElement("input",{className:"label-input",value:o,ref:f,onChange:g,onKeyDown:v,onBlur:m}),ue().createElement("div",{className:"label-text",onDoubleClick:p},o))}It=on,({e:[Wt,zt,Nt,St,Rt,Tt,Lt,Dt,Bt,Ot,Pt,jt,Mt],c:[Kt,Ct]}=function(e,t,n,a,r,i){var o,s,l,c,u,d,h,f=Symbol.metadata||Symbol.for("Symbol.metadata"),p=Object.defineProperty,g=Object.create,v=[g(null),g(null)],m=t.length;function w(t,n,a){return function(r,i){n&&(i=r,r=e);for(var o=0;o<t.length;o++)i=t[o].apply(r,a?[i]:[]);return a?i:r}}function y(e,t,n,a){if("function"!=typeof e&&(a||void 0!==e))throw new TypeError(t+" must "+(n||"be")+" a function"+(a?"":" or undefined"));return e}function b(e,t,n,a,r,i,l,c,u,d,h){function f(e){if(!h(e))throw new TypeError("Attempted to access private element on non-instance")}var g=[].concat(t[0]),m=t[3],b=!l,k=1===r,A=3===r,E=4===r,x=2===r;function M(t,n,a){return function(r,i){return n&&(i=r,r=e),a&&a(r),C[t].call(r,i)}}if(!b){var C={},W=[],z=A?"get":E||k?"set":"value";if(u?(d||k?C={get:(0,se.A)((function(){return m(this)}),a,"get"),set:function(e){t[4](this,e)}}:C[z]=m,d||(0,se.A)(C[z],a,x?"":z)):d||(C=Object.getOwnPropertyDescriptor(e,a)),!d&&!u){if((s=v[+c][a])&&7!=(s^r))throw new Error("Decorating two elements with the same name ("+C[z].name+") is not supported yet");v[+c][a]=r<3?1:r}}for(var N=e,S=g.length-1;S>=0;S-=n?2:1){var R=g[S],T=n?g[S-1]:void 0,L={},D={kind:["field","accessor","method","getter","setter","class"][r],name:a,metadata:o,addInitializer:function(e,t){if(e.v)throw new Error("attempted to call addInitializer after decoration was finished");y(t,"An initializer","be",!0),i.push(t)}.bind(null,L)};if(b)s=R.call(T,N,D),L.v=1,y(s,"class decorators","return")&&(N=s);else if(D.static=c,D.private=u,s=D.access={has:u?h.bind():function(e){return a in e}},E||(s.get=u?x?function(e){return f(e),C.value}:M("get",0,f):function(e){return e[a]}),x||A||(s.set=u?M("set",0,f):function(e,t){e[a]=t}),N=R.call(T,k?{get:C.get,set:C.set}:C[z],D),L.v=1,k){if("object"==typeof N&&N)(s=y(N.get,"accessor.get"))&&(C.get=s),(s=y(N.set,"accessor.set"))&&(C.set=s),(s=y(N.init,"accessor.init"))&&W.unshift(s);else if(void 0!==N)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else y(N,(d?"field":"method")+" decorators","return")&&(d?W.unshift(N):C[z]=N)}return r<2&&l.push(w(W,c,1),w(i,c,0)),d||b||(u?k?l.splice(-1,0,M("get",c),M("set",c)):l.push(x?C[z]:y.call.bind(C[z])):p(e,a,C)),N}function k(e){return p(e,f,{configurable:!0,enumerable:!0,value:o})}return void 0!==i&&(o=i[f]),o=g(null==o?null:o),u=[],d=function(e){e&&u.push(w(e))},(h=function(t,a){for(var i=0;i<n.length;i++){var o=n[i],s=o[1],d=7&s;if((8&s)==t&&!d==a){var h=o[2],f=!!o[3],p=16&s;b(t?e:e.prototype,o,p,f?"#"+h:(0,oe.A)(h),d,d<2?[]:t?c=c||[]:l=l||[],u,!!t,f,a,t&&f?function(t){return(0,le.A)(t)===e}:r)}}})(8,0),h(0,0),h(8,1),h(0,1),d(l),d(c),s=u,m||k(e),{e:s,get c(){var n=[];return m&&[k(e=b(e,[t],0,e.name,5,n)),w(n,1)]}}}(It,[_t("diagram.editable-label",{styleTexts:[Ht.A]})],[[Ft(),1,"label"],[Ft({render:!1}),1,"type"],[Zt({type:"label.editing.change"}),1,"labelEditingChange",e=>Vt(Qt,e),(e,t)=>Ut(Qt,e,t)],[Zt({type:"label.change"}),1,"labelChange",e=>Vt(nn,e),(e,t)=>Ut(nn,e,t)],[qt(),2,"enableEditing"]],0,(e=>rn.has((0,le.A)(e))),he.ReactNextElement)),Ct();var ln=n(9740),cn=n(6330),un=n(8438),dn=n(1083),hn=n(531),fn=n(8185),pn=n(2830);function gn(e){var{connectLineState:t,transform:n,markerEnd:a,onConnect:r}=e,[i,o]=(0,ce.useState)(null);return(0,ce.useEffect)((()=>{t&&o(t.from)}),[t]),(0,ce.useEffect)((()=>{if(t){var e=e=>{o([(e.clientX-n.x-t.offset[0])/n.k,(e.clientY-n.y-t.offset[1])/n.k])},a=e=>{e.stopPropagation()},i=e=>{e.stopPropagation(),s(),r(t,[(e.clientX-n.x-t.offset[0])/n.k,(e.clientY-n.y-t.offset[1])/n.k])},s=()=>{document.removeEventListener("mousemove",e),document.removeEventListener("mousedown",a,{capture:!0}),document.removeEventListener("click",i,{capture:!0}),o(null)};return document.addEventListener("mousemove",e),document.addEventListener("mousedown",a,{capture:!0}),document.addEventListener("click",i,{capture:!0}),s}}),[t,r,n]),ue().createElement("path",{className:ve()("connect-line",{connecting:!!t&&i&&(i[0]-t.from[0])**2+(i[1]-t.from[1])**2>25}),d:t&&i?"M".concat(t.from.join(" "),"L").concat(i.join(" ")):"",fill:"none",stroke:"gray",strokeWidth:1,markerEnd:"url(#".concat(a,")")})}var vn=n(3783),mn=n(3033),wn=n(908);function yn(e){var{cells:t,layout:n,previousCells:a,defaultNodeSize:r,canvasWidth:i,canvasHeight:o,scaleRange:s,transform:l,reason:c,parent:u}=e,d="force"!==n&&"dagre"!==n,h=(0,vn.C)(t,{defaultNodeSize:r}),f=[],p=new Map,g=!1;for(var v of a)(0,hn.mH)(v)?g=!0:(0,hn.N)(v)&&(g=!0,v[mn.CV]&&p.set(v.id,v));var m=new Map;for(var w of h)if((0,hn.N)(w)){m.set(w.id,w);var y=p.get(w.id);y&&(w.view.width=y.view.width,w.view.height=y.view.height,w[mn.CV]=!0)}var b=!1;if("add-related-nodes"===c&&u){var k=new Set;for(var A of h)(0,hn.WW)(A)&&A.source===u&&A.target!==u&&k.add(A.target);var E=m.get(u);if(void 0!==(null==E?void 0:E.view.x)&&void 0!==E.view.y){b=!0;var x=[...k].map((e=>m.get(e))).filter(Boolean),M=void 0;for(var C of x)void 0!==C.view.x&&void 0!==C.view.y?(!M||C.view.x>M.view.x)&&C.view.y>E.view.y&&(M=C):f.push(C);if(f.length>0&&d){var W,z;if(M)W=M.view.x+M.view.width+mn.sz,z=M.view.y;else{var N=f.reduce(((e,t)=>e+t.view.width+mn.sz),-mn.sz);W=E.view.x-N/2+E.view.width/2,z=E.view.y+E.view.height+mn.sz}for(var S of f)S.view.x=W,S.view.y=z,W+=S.view.width+mn.sz}}}if(!b){var R=r[0],T=r[1],L=[];for(var D of h)(0,hn.N)(D)&&(D.view.width>R&&(R=D.view.width),D.view.height>T&&(T=D.view.height),void 0===D.view.x||void 0===D.view.y?f.push(D):L.push(D.view));if(d){g||(l=(0,wn.r)((0,me.without)(h,...f),{canvasWidth:i,canvasHeight:o,scaleRange:s}));var B=R+mn.sz,O=T+mn.sz,P=new Set;for(var j of L)for(var I=Math.floor((j.x+l.x/l.k)/B),H=Math.floor((j.y+l.y/l.k)/O),Y=Math.floor((j.x+l.x/l.k+j.width)/B),U=Math.floor((j.y+l.y/l.k+j.height)/O),V=I;V<=Y;V++)for(var X=H;X<=U;X++)P.add("".concat(V,",").concat(X));var K=B*l.k,_=O*l.k,F=Math.max(1,Math.floor(o/_)),Z=0;for(var q of f){var J=void 0,$=void 0;do{J=Math.floor(Z/F),$=Z%F,Z++}while(P.has("".concat(J,",").concat($)));q.view.x=(J*K-l.x)/l.k+mn.sz/2,q.view.y=($*_-l.y)/l.k+mn.sz/2}}}return{cells:h,updated:f}}var bn,kn,An,En,xn,Mn,Cn,Wn,zn,Nn,Sn,Rn,Tn,Ln,Dn,Bn,On,Pn,jn,In,Hn,Yn,Un,Vn,Xn,Kn,_n,Fn,Zn,qn,Jn,$n,Gn,Qn,ea,ta,na,aa,ra,ia,oa,sa,la,ca,ua,da,ha,fa,pa,ga,va,ma,wa,ya,ba,ka,Aa,Ea,xa,Ma,Ca,Wa,za,Na=n(227),Sa=n(8091),Ra=n(1819),Ta=n(7099),La=n(2361),Da=n(8197),Ba=n(7531),Oa=n(3012),Pa=n(8618);function ja(e,t,n){return n(Ya(e,t))}function Ia(e,t,n){return e.set(Ya(e,t),n),n}function Ha(e,t){return e.get(Ya(e,t))}function Ya(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Ua,Va=(0,un.unwrapProvider)("basic.lock-body-scroll"),{defineElement:Xa,property:Ka,method:_a,event:Fa}=(0,de.createDecorators)(),Za=ue().forwardRef(Wr),qa=new WeakMap,Ja=new WeakMap,$a=new WeakMap,Ga=new WeakMap,Qa=new WeakMap,er=new WeakMap,tr=new WeakMap,nr=new WeakMap,ar=new WeakMap,rr=new WeakMap,ir=new WeakMap,or=new WeakMap,sr=new WeakMap,lr=new WeakSet,cr=new WeakMap,ur=new WeakMap,dr=new WeakMap,hr=new WeakMap,fr=new WeakMap,pr=new WeakMap,gr=new WeakMap,vr=new WeakMap,mr=new WeakMap,wr=new WeakMap,yr=new WeakMap,br=new WeakMap,kr=new WeakMap,Ar=new WeakMap,Er=new WeakMap,xr=new WeakMap,Mr=new WeakMap;class Cr extends he.ReactNextElement{constructor(){super(...arguments),(0,re.A)(this,lr),(0,ie.A)(this,qa,(bn(this),An(this))),(0,ie.A)(this,Ja,(En(this),xn(this))),(0,ie.A)(this,$a,(Mn(this),Cn(this))),(0,ie.A)(this,Ga,(Wn(this),zn(this,[mn.HP,mn.HP]))),(0,ie.A)(this,Qa,(Nn(this),Sn(this))),(0,ie.A)(this,er,(Rn(this),Tn(this))),(0,ie.A)(this,tr,(Ln(this),Dn(this))),(0,ie.A)(this,nr,(Bn(this),On(this))),(0,ie.A)(this,ar,(Pn(this),jn(this,!0))),(0,ie.A)(this,rr,(In(this),Hn(this,!0))),(0,ie.A)(this,ir,(Yn(this),Un(this,!0))),(0,ie.A)(this,or,(Vn(this),Xn(this))),(0,ie.A)(this,sr,(Kn(this),_n(this))),(0,ie.A)(this,cr,(qn(this),e=>{ja(lr,this,Fn).emit(e)})),(0,ie.A)(this,ur,(e=>{(0,fn.c)(e,this.activeTarget)||(this.activeTarget=e)})),(0,ie.A)(this,dr,Jn(this)),(0,ie.A)(this,hr,(Qn(this),ea(this))),(0,ie.A)(this,fr,(aa(this),e=>{ja(lr,this,ta).emit(e),"node"===e.type&&ja(lr,this,$n).emit(e)})),(0,ie.A)(this,pr,ra(this)),(0,ie.A)(this,gr,(sa(this),e=>{ja(lr,this,ia).emit(e)})),(0,ie.A)(this,vr,la(this)),(0,ie.A)(this,mr,(da(this),ha(this))),(0,ie.A)(this,wr,(ga(this),e=>{ja(lr,this,fa).emit(e),"node"===e.type&&ja(lr,this,ca).emit(e)})),(0,ie.A)(this,yr,va(this)),(0,ie.A)(this,br,(ya(this),e=>{ja(lr,this,ma).emit(e)})),(0,ie.A)(this,kr,ba(this)),(0,ie.A)(this,Ar,(Ea(this),e=>{ja(lr,this,ka).emit(e)})),(0,ie.A)(this,Er,xa(this)),(0,ie.A)(this,xr,(Wa(this),e=>{ja(lr,this,Ma).emit(e)})),(0,ie.A)(this,Mr,(0,ce.createRef)())}get cells(){return Ha(qa,this)}set cells(e){Ia(qa,this,e)}get layout(){return Ha(Ja,this)}set layout(e){Ia(Ja,this,e)}get layoutOptions(){return Ha($a,this)}set layoutOptions(e){Ia($a,this,e)}get defaultNodeSize(){return Ha(Ga,this)}set defaultNodeSize(e){Ia(Ga,this,e)}get defaultNodeBricks(){return Ha(Qa,this)}set defaultNodeBricks(e){Ia(Qa,this,e)}get defaultEdgeLines(){return Ha(er,this)}set defaultEdgeLines(e){Ia(er,this,e)}get activeTarget(){return Ha(tr,this)}set activeTarget(e){Ia(tr,this,e)}get fadeUnrelatedCells(){return Ha(nr,this)}set fadeUnrelatedCells(e){Ia(nr,this,e)}get zoomable(){return Ha(ar,this)}set zoomable(e){Ia(ar,this,e)}get scrollable(){return Ha(rr,this)}set scrollable(e){Ia(rr,this,e)}get pannable(){return Ha(ir,this)}set pannable(e){Ia(ir,this,e)}get scaleRange(){return Ha(or,this)}set scaleRange(e){Ia(or,this,e)}dropNode(e){var t=this;return(0,cn.A)((function*(){var n,a,{id:r,position:i,size:o,data:s,useBrick:l}=e;if(null===(n=(a=document).elementsFromPoint)||void 0===n||null===(n=n.call(a,i[0],i[1]))||void 0===n?void 0:n.includes(t)){var c,u,d,h=t.getBoundingClientRect(),f=Ha(Mr,t).current.getTransform(),p={type:"node",id:r,view:(0,ln.A)((0,ln.A)({},"force"===t.layout||"dagre"===t.layout?null:{x:(i[0]-h.left-f.x)/f.k,y:(i[1]-h.top-f.y)/f.k}),{},{width:null!==(c=null==o?void 0:o[0])&&void 0!==c?c:t.defaultNodeSize[0],height:null!==(u=null==o?void 0:o[1])&&void 0!==u?u:t.defaultNodeSize[0]}),data:s,useBrick:l};return null===(d=Ha(Mr,t).current)||void 0===d||d.dropNode(p),p}return null}))()}dropDecorator(e){var t=this;return(0,cn.A)((function*(){var n,a,{position:r,decorator:i,text:o}=e;if(null===(n=(a=document).elementsFromPoint)||void 0===n||null===(n=n.call(a,r[0],r[1]))||void 0===n?void 0:n.includes(t)){var s,l=t.getBoundingClientRect(),c=Ha(Mr,t).current.getTransform(),u={type:"decorator",decorator:i,id:"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)})),view:{x:(r[0]-l.left-c.x)/c.k,y:(r[1]-l.top-c.y)/c.k,width:mn.N8,height:mn.w1,text:o}};return null===(s=Ha(Mr,t).current)||void 0===s||s.dropDecorator(u),u}return null}))()}addNodes(e){var t=this;return(0,cn.A)((function*(){if(0===e.length)return[];var n=e.map((e=>{var n,a,{size:r,useBrick:i,id:o,data:s}=e;return{type:"node",id:o,data:s,view:{width:null!==(n=null==r?void 0:r[0])&&void 0!==n?n:t.defaultNodeSize[0],height:null!==(a=null==r?void 0:r[1])&&void 0!==a?a:t.defaultNodeSize[0]},useBrick:i}}));return Ha(Mr,t).current.addNodes(n,{defaultNodeSize:t.defaultNodeSize,canvasWidth:t.clientWidth,canvasHeight:t.clientHeight})}))()}addEdge(e){var t=this;return(0,cn.A)((function*(){var n,{source:a,target:r,data:i}=e,o={type:"edge",source:a,target:r,data:i};return null===(n=Ha(Mr,t).current)||void 0===n||n.addEdge(o),o}))()}manuallyConnectNodes(e){return Ha(Mr,this).current.manuallyConnectNodes(e)}updateCells(e,t){var n=this;return(0,cn.A)((function*(){var{updated:a}=Ha(Mr,n).current.updateCells(e,(0,ln.A)((0,ln.A)({},t),{},{defaultNodeSize:n.defaultNodeSize,canvasWidth:n.clientWidth,canvasHeight:n.clientHeight}));return{updated:a}}))()}disconnectedCallback(){super.disconnectedCallback(),Va(this,!1)}render(){return ue().createElement(Za,{host:this,ref:Ha(Mr,this),layout:this.layout,layoutOptions:this.layoutOptions,cells:this.cells,defaultNodeSize:this.defaultNodeSize,defaultNodeBricks:this.defaultNodeBricks,defaultEdgeLines:this.defaultEdgeLines,activeTarget:this.activeTarget,fadeUnrelatedCells:this.fadeUnrelatedCells,zoomable:this.zoomable,scrollable:this.scrollable,pannable:this.pannable,scaleRange:this.scaleRange,onActiveTargetChange:Ha(cr,this),onSwitchActiveTarget:Ha(ur,this),onCellMove:Ha(fr,this),onCellResize:Ha(gr,this),onCellDelete:Ha(wr,this),onCellContextMenu:Ha(br,this),onDecoratorTextChange:Ha(Ar,this),onScaleChange:Ha(xr,this)})}}function Wr(e,t){var{host:n,layout:a,layoutOptions:r,cells:i,defaultNodeSize:o,defaultNodeBricks:s,defaultEdgeLines:l,activeTarget:c,fadeUnrelatedCells:u,zoomable:d,scrollable:h,pannable:f,scaleRange:p,onActiveTargetChange:g,onSwitchActiveTarget:v,onCellMove:m,onCellResize:w,onCellDelete:y,onCellContextMenu:b,onDecoratorTextChange:k,onScaleChange:A}=e,[{cells:E},x]=(0,ce.useReducer)(dn.d,i,(e=>({cells:(0,vn.C)(e,{defaultNodeSize:o})}))),M=(0,ce.useRef)(null),C=(0,ce.useRef)(null),W=(0,ce.useRef)(null),[z,N]=(0,ce.useState)([]),{grabbing:S,transform:R,zoomer:T,scaleRange:L}=(0,Sa.f)({rootRef:M,zoomable:d,scrollable:h,pannable:f,scaleRange:p,onSwitchActiveTarget:v});(0,ce.useEffect)((()=>{A(R.k)}),[A,R.k]);var[D,B]=(0,ce.useState)(null),{centered:O,setCentered:P}=(0,La.g)({layout:a,layoutOptions:r,rootRef:M,cells:E,zoomable:d,zoomer:T,scaleRange:L,dispatch:x});(0,ce.useImperativeHandle)(t,(()=>({dropNode(e){P(!0),x({type:"drop-node",payload:e})},dropDecorator(e){P(!0),x({type:"drop-decorator",payload:e})},addNodes(e,t){var{defaultNodeSize:n,canvasWidth:r,canvasHeight:i}=t,o=E.findLastIndex((e=>!("decorator"===e.type&&"text"===e.decorator)))+1,s=[...E.slice(0,o),...e,...E.slice(o)],{cells:l,updated:c}=yn({cells:s,layout:a,previousCells:E,defaultNodeSize:n,canvasWidth:r,canvasHeight:i,scaleRange:L,transform:R});return x({type:"update-cells",payload:l}),c.filter((t=>e.includes(t)))},addEdge(e){x({type:"add-edge",payload:e})},updateCells(e,t){var n=yn((0,ln.A)((0,ln.A)({},t),{},{layout:a,previousCells:E,cells:e,scaleRange:L,transform:R}));return x({type:"update-cells",payload:n.cells}),n},getTransform:()=>R,manuallyConnectNodes(e){var t=E.find((t=>(0,hn.N)(t)&&t.id===e));if(t){var n=M.current.getBoundingClientRect();return B({source:t,from:[t.view.x+t.view.width/2,t.view.y+t.view.height/2],offset:[n.left,n.top]}),new Promise(((e,t)=>{W.current={resolve:e,reject:t}}))}return Promise.reject(null)}})),[E,a,L,P,R]);var j=(0,ce.useCallback)(((e,t)=>{for(var n,a=0;a<E.length;a++){var r=E[a];if((0,hn.N)(r)&&r.id!==e.source.id&&r.view.x<t[0]&&r.view.x+r.view.width>t[0]&&r.view.y<t[1]&&r.view.y+r.view.height>t[1]){var i;null===(i=W.current)||void 0===i||i.resolve({source:e.source,target:r});break}}null===(n=W.current)||void 0===n||n.reject(null),B(null)}),[E]);(0,ce.useEffect)((()=>{Va(n,!!D)}),[D,n]);var I=(0,Ra.J)({cellsRef:C,activeTarget:c,onActiveTargetChange:g}),[H,Y]=(0,ce.useState)([]);(0,ce.useEffect)((()=>{var e=u?(0,Na.Y)(E,D,I):[];Y((t=>0===t.length&&0===e.length?t:e))}),[I,E,D,u]),(0,ce.useEffect)((()=>{var e=M.current;if(e&&!(z.length>0)){var t=e=>{var t=function(e,t){var{cells:n,activeTarget:a}=t,r=n.find((e=>(0,fn.c)(e,a)));if(r)switch(e.key||e.keyCode||e.which){case"Backspace":case 8:case"Delete":case 46:return e.preventDefault(),e.stopPropagation(),{action:"delete-cell",cell:r}}}(e,{cells:E,activeTarget:I});"delete-cell"===(null==t?void 0:t.action)&&y(t.cell)};return e.addEventListener("keydown",t),()=>{e.removeEventListener("keydown",t)}}}),[I,E,z.length,y]);var U=(0,ce.useMemo)((()=>"".concat((0,me.uniqueId)("diagram-"),"-")),[]),V="".concat(U,"line-arrow-"),X=(0,ce.useCallback)((e=>{x({type:"move-cell",payload:e})}),[]),K=(0,ce.useCallback)((e=>{x({type:"move-cell",payload:e}),m(e)}),[m]),_=(0,ce.useCallback)((e=>{x({type:"resize-cell",payload:e})}),[]),F=(0,ce.useCallback)((e=>{x({type:"resize-cell",payload:e}),w(e)}),[w]),Z=(0,ce.useCallback)((e=>{var{id:t,editing:n}=e;N(n?e=>e.includes(t)?e:[...e,t]:e=>e.filter((e=>e!==t)))}),[]),q=(0,ce.useCallback)(((e,t)=>{x({type:"update-node-size",payload:{id:e,size:t}})}),[]),J=(0,ce.useCallback)((e=>{T.scaleTo((0,fe.A)(M.current),e/100)}),[T]),$=(0,ce.useCallback)((()=>{P(!1)}),[P]),[G,Q]=(0,Ba.d)({cells:E,defaultEdgeLines:l,markerPrefix:V}),ee=(0,Da.H)({cells:E,layout:a,centered:O});return ue().createElement(ue().Fragment,null,ue().createElement("svg",{width:"100%",height:"100%",ref:M,className:ve()("root",{grabbing:S,pannable:f,ready:ee}),tabIndex:-1},ue().createElement("defs",null,Q.map(((e,t)=>ue().createElement(Ce.c,{key:t,id:"".concat(V).concat(t),type:"arrow",strokeColor:e.strokeColor})))),ue().createElement("g",{transform:"translate(".concat(R.x," ").concat(R.y,") scale(").concat(R.k,")")},ue().createElement("g",{className:"cells",ref:C},E.map((e=>ue().createElement(pn.m,{key:"".concat(e.type,":").concat("edge"===e.type?"".concat(e.source,"~").concat(e.target):e.id),layout:a,cell:e,cells:E,defaultNodeBricks:s,transform:R,lineConfMap:G,active:(0,fn.c)(I,e),unrelatedCells:H,onCellMoving:X,onCellMoved:K,onCellResizing:_,onCellResized:F,onSwitchActiveTarget:v,onCellContextMenu:b,onDecoratorTextChange:k,onDecoratorTextEditing:Z,onNodeBrickResize:q})))),ue().createElement(gn,{connectLineState:D,transform:R,markerEnd:"".concat(V,"0"),onConnect:j}))),ue().createElement(Ta.Y,{shadowRoot:n.shadowRoot,scale:R.k,scaleRange:L,onZoomChange:J,onReCenter:$}))}za=Cr,({e:[An,En,xn,Mn,Cn,Wn,zn,Nn,Sn,Rn,Tn,Ln,Dn,Bn,On,Pn,jn,In,Hn,Yn,Un,Vn,Xn,Kn,_n,Fn,Zn,qn,Jn,$n,Gn,Qn,ea,ta,na,aa,ra,ia,oa,sa,la,ca,ua,da,ha,fa,pa,ga,va,ma,wa,ya,ba,ka,Aa,Ea,xa,Ma,Ca,Wa,bn],c:[Ua,kn]}=function(e,t,n,a,r,i){var o,s,l,c,u,d,h,f=Symbol.metadata||Symbol.for("Symbol.metadata"),p=Object.defineProperty,g=Object.create,v=[g(null),g(null)],m=t.length;function w(t,n,a){return function(r,i){n&&(i=r,r=e);for(var o=0;o<t.length;o++)i=t[o].apply(r,a?[i]:[]);return a?i:r}}function y(e,t,n,a){if("function"!=typeof e&&(a||void 0!==e))throw new TypeError(t+" must "+(n||"be")+" a function"+(a?"":" or undefined"));return e}function b(e,t,n,a,r,i,l,c,u,d,h){function f(e){if(!h(e))throw new TypeError("Attempted to access private element on non-instance")}var g=[].concat(t[0]),m=t[3],b=!l,k=1===r,A=3===r,E=4===r,x=2===r;function M(t,n,a){return function(r,i){return n&&(i=r,r=e),a&&a(r),C[t].call(r,i)}}if(!b){var C={},W=[],z=A?"get":E||k?"set":"value";if(u?(d||k?C={get:(0,se.A)((function(){return m(this)}),a,"get"),set:function(e){t[4](this,e)}}:C[z]=m,d||(0,se.A)(C[z],a,x?"":z)):d||(C=Object.getOwnPropertyDescriptor(e,a)),!d&&!u){if((s=v[+c][a])&&7!=(s^r))throw new Error("Decorating two elements with the same name ("+C[z].name+") is not supported yet");v[+c][a]=r<3?1:r}}for(var N=e,S=g.length-1;S>=0;S-=n?2:1){var R=g[S],T=n?g[S-1]:void 0,L={},D={kind:["field","accessor","method","getter","setter","class"][r],name:a,metadata:o,addInitializer:function(e,t){if(e.v)throw new Error("attempted to call addInitializer after decoration was finished");y(t,"An initializer","be",!0),i.push(t)}.bind(null,L)};if(b)s=R.call(T,N,D),L.v=1,y(s,"class decorators","return")&&(N=s);else if(D.static=c,D.private=u,s=D.access={has:u?h.bind():function(e){return a in e}},E||(s.get=u?x?function(e){return f(e),C.value}:M("get",0,f):function(e){return e[a]}),x||A||(s.set=u?M("set",0,f):function(e,t){e[a]=t}),N=R.call(T,k?{get:C.get,set:C.set}:C[z],D),L.v=1,k){if("object"==typeof N&&N)(s=y(N.get,"accessor.get"))&&(C.get=s),(s=y(N.set,"accessor.set"))&&(C.set=s),(s=y(N.init,"accessor.init"))&&W.unshift(s);else if(void 0!==N)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else y(N,(d?"field":"method")+" decorators","return")&&(d?W.unshift(N):C[z]=N)}return r<2&&l.push(w(W,c,1),w(i,c,0)),d||b||(u?k?l.splice(-1,0,M("get",c),M("set",c)):l.push(x?C[z]:y.call.bind(C[z])):p(e,a,C)),N}function k(e){return p(e,f,{configurable:!0,enumerable:!0,value:o})}return void 0!==i&&(o=i[f]),o=g(null==o?null:o),u=[],d=function(e){e&&u.push(w(e))},(h=function(t,a){for(var i=0;i<n.length;i++){var o=n[i],s=o[1],d=7&s;if((8&s)==t&&!d==a){var h=o[2],f=!!o[3],p=16&s;b(t?e:e.prototype,o,p,f?"#"+h:(0,oe.A)(h),d,d<2?[]:t?c=c||[]:l=l||[],u,!!t,f,a,t&&f?function(t){return(0,le.A)(t)===e}:r)}}})(8,0),h(0,0),h(8,1),h(0,1),d(l),d(c),s=u,m||k(e),{e:s,get c(){var n=[];return m&&[k(e=b(e,[t],0,e.name,5,n)),w(n,1)]}}}(za,[Xa("eo-draw-canvas",{styleTexts:[Oa.A,Pa.A]})],[[Ka({attribute:!1}),1,"cells"],[Ka({type:String}),1,"layout"],[Ka({attribute:!1}),1,"layoutOptions"],[Ka({attribute:!1}),1,"defaultNodeSize"],[Ka({attribute:!1}),1,"defaultNodeBricks"],[Ka({attribute:!1}),1,"defaultEdgeLines"],[Ka({attribute:!1}),1,"activeTarget"],[Ka({type:Boolean}),1,"fadeUnrelatedCells"],[Ka({type:Boolean}),1,"zoomable"],[Ka({type:Boolean}),1,"scrollable"],[Ka({type:Boolean}),1,"pannable"],[Ka({attribute:!1}),1,"scaleRange"],[Fa({type:"activeTarget.change"}),1,"activeTargetChangeEvent",e=>Ha(sr,e),(e,t)=>Ia(sr,e,t)],[Fa({type:"node.move"}),1,"nodeMoveEvent",e=>Ha(dr,e),(e,t)=>Ia(dr,e,t)],[Fa({type:"cell.move"}),1,"cellMoveEvent",e=>Ha(hr,e),(e,t)=>Ia(hr,e,t)],[Fa({type:"cell.resize"}),1,"cellResizeEvent",e=>Ha(pr,e),(e,t)=>Ia(pr,e,t)],[Fa({type:"node.delete"}),1,"nodeDelete",e=>Ha(vr,e),(e,t)=>Ia(vr,e,t)],[Fa({type:"cell.delete"}),1,"cellDelete",e=>Ha(mr,e),(e,t)=>Ia(mr,e,t)],[Fa({type:"cell.contextmenu"}),1,"cellContextMenu",e=>Ha(yr,e),(e,t)=>Ia(yr,e,t)],[Fa({type:"decorator.text.change"}),1,"decoratorTextChange",e=>Ha(kr,e),(e,t)=>Ia(kr,e,t)],[Fa({type:"scale.change"}),1,"scaleChange",e=>Ha(Er,e),(e,t)=>Ia(Er,e,t)],[_a(),2,"dropNode"],[_a(),2,"dropDecorator"],[_a(),2,"addNodes"],[_a(),2,"addEdge"],[_a(),2,"manuallyConnectNodes"],[_a(),2,"updateCells"]],0,(e=>Mr.has((0,le.A)(e))),he.ReactNextElement)),kn();var zr,Nr,Sr,Rr,Tr,Lr,Dr,Br,Or,Pr,jr,Ir,Hr,Yr,Ur,Vr,Xr,Kr,_r,Fr,Zr=n(497);function qr(e,t,n){return n(Gr(e,t))}function Jr(e,t,n){return e.set(Gr(e,t),n),n}function $r(e,t){return e.get(Gr(e,t))}function Gr(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Qr,ei,ti,ni,ai,ri,ii,oi,si,li,ci,ui,di,hi,fi,pi,gi,vi,mi,wi,yi,bi,ki,Ai,Ei,xi,Mi,Ci,Wi,zi,Ni,Si,Ri,Ti,Li,{defineElement:Di,property:Bi,event:Oi}=(0,de.createDecorators)(),Pi=new WeakMap,ji=new WeakMap,Ii=new WeakMap,Hi=new WeakMap,Yi=new WeakSet,Ui=new WeakMap,Vi=new WeakMap,Xi=new WeakMap,Ki=new WeakMap,_i=new WeakMap;class Fi extends he.ReactNextElement{constructor(){super(...arguments),(0,re.A)(this,Yi),(0,ie.A)(this,Pi,Nr(this)),(0,ie.A)(this,ji,(Sr(this),Rr(this))),(0,ie.A)(this,Ii,(Tr(this),Lr(this))),(0,ie.A)(this,Hi,(Dr(this),Br(this))),(0,ie.A)(this,Ui,(jr(this),e=>{qr(Yi,this,Or).emit(e)})),(0,ie.A)(this,Vi,Ir(this)),(0,ie.A)(this,Xi,(Ur(this),e=>{qr(Yi,this,Hr).emit(e)})),(0,ie.A)(this,Ki,Vr(this)),(0,ie.A)(this,_i,(_r(this),e=>{qr(Yi,this,Xr).emit(e)}))}get usage(){return $r(Pi,this)}set usage(e){Jr(Pi,this,e)}get status(){return $r(ji,this)}set status(e){Jr(ji,this,e)}get decorator(){return $r(Ii,this)}set decorator(e){Jr(Ii,this,e)}render(){return ue().createElement(Zi,{usage:this.usage,onDragStart:$r(Ui,this),onDragMove:$r(Xi,this),onDragEnd:$r(_i,this)})}}function Zi(e){var{usage:t,onDragStart:n,onDragMove:a,onDragEnd:r}=e,i=(0,ce.useCallback)((e=>{if("library"===t){e.stopPropagation(),e.preventDefault();var i=[e.clientX,e.clientY],o=!1,s=e=>{o||(o=(e.clientX-i[0])**2+(e.clientY-i[1])**2>=9)&&(null==n||n([e.clientX,e.clientY])),o&&(null==a||a([e.clientX,e.clientY]))},l=e=>{document.removeEventListener("mousemove",s),document.removeEventListener("mouseup",l),o&&(null==r||r([e.clientX,e.clientY]))};document.addEventListener("mousemove",s),document.addEventListener("mouseup",l)}}),[r,a,n,t]);return ue().createElement("div",{onMouseDown:i},ue().createElement("slot",null))}function qi(e,t,n){return n(Gi(e,t))}function Ji(e,t,n){return e.set(Gi(e,t),n),n}function $i(e,t){return e.get(Gi(e,t))}function Gi(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}Fr=Fi,({e:[Nr,Sr,Rr,Tr,Lr,Dr,Br,Or,Pr,jr,Ir,Hr,Yr,Ur,Vr,Xr,Kr,_r],c:[Qr,zr]}=function(e,t,n,a,r,i){var o,s,l,c,u,d,h,f=Symbol.metadata||Symbol.for("Symbol.metadata"),p=Object.defineProperty,g=Object.create,v=[g(null),g(null)],m=t.length;function w(t,n,a){return function(r,i){n&&(i=r,r=e);for(var o=0;o<t.length;o++)i=t[o].apply(r,a?[i]:[]);return a?i:r}}function y(e,t,n,a){if("function"!=typeof e&&(a||void 0!==e))throw new TypeError(t+" must "+(n||"be")+" a function"+(a?"":" or undefined"));return e}function b(e,t,n,a,r,i,l,c,u,d,h){function f(e){if(!h(e))throw new TypeError("Attempted to access private element on non-instance")}var g=[].concat(t[0]),m=t[3],b=!l,k=1===r,A=3===r,E=4===r,x=2===r;function M(t,n,a){return function(r,i){return n&&(i=r,r=e),a&&a(r),C[t].call(r,i)}}if(!b){var C={},W=[],z=A?"get":E||k?"set":"value";if(u?(d||k?C={get:(0,se.A)((function(){return m(this)}),a,"get"),set:function(e){t[4](this,e)}}:C[z]=m,d||(0,se.A)(C[z],a,x?"":z)):d||(C=Object.getOwnPropertyDescriptor(e,a)),!d&&!u){if((s=v[+c][a])&&7!=(s^r))throw new Error("Decorating two elements with the same name ("+C[z].name+") is not supported yet");v[+c][a]=r<3?1:r}}for(var N=e,S=g.length-1;S>=0;S-=n?2:1){var R=g[S],T=n?g[S-1]:void 0,L={},D={kind:["field","accessor","method","getter","setter","class"][r],name:a,metadata:o,addInitializer:function(e,t){if(e.v)throw new Error("attempted to call addInitializer after decoration was finished");y(t,"An initializer","be",!0),i.push(t)}.bind(null,L)};if(b)s=R.call(T,N,D),L.v=1,y(s,"class decorators","return")&&(N=s);else if(D.static=c,D.private=u,s=D.access={has:u?h.bind():function(e){return a in e}},E||(s.get=u?x?function(e){return f(e),C.value}:M("get",0,f):function(e){return e[a]}),x||A||(s.set=u?M("set",0,f):function(e,t){e[a]=t}),N=R.call(T,k?{get:C.get,set:C.set}:C[z],D),L.v=1,k){if("object"==typeof N&&N)(s=y(N.get,"accessor.get"))&&(C.get=s),(s=y(N.set,"accessor.set"))&&(C.set=s),(s=y(N.init,"accessor.init"))&&W.unshift(s);else if(void 0!==N)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else y(N,(d?"field":"method")+" decorators","return")&&(d?W.unshift(N):C[z]=N)}return r<2&&l.push(w(W,c,1),w(i,c,0)),d||b||(u?k?l.splice(-1,0,M("get",c),M("set",c)):l.push(x?C[z]:y.call.bind(C[z])):p(e,a,C)),N}function k(e){return p(e,f,{configurable:!0,enumerable:!0,value:o})}return void 0!==i&&(o=i[f]),o=g(null==o?null:o),u=[],d=function(e){e&&u.push(w(e))},(h=function(t,a){for(var i=0;i<n.length;i++){var o=n[i],s=o[1],d=7&s;if((8&s)==t&&!d==a){var h=o[2],f=!!o[3],p=16&s;b(t?e:e.prototype,o,p,f?"#"+h:(0,oe.A)(h),d,d<2?[]:t?c=c||[]:l=l||[],u,!!t,f,a,t&&f?function(t){return(0,le.A)(t)===e}:r)}}})(8,0),h(0,0),h(8,1),h(0,1),d(l),d(c),s=u,m||k(e),{e:s,get c(){var n=[];return m&&[k(e=b(e,[t],0,e.name,5,n)),w(n,1)]}}}(Fr,[Di("diagram.experimental-node",{styleTexts:[Zr.A]})],[[Bi(),1,"usage"],[Bi({type:String,render:!1}),1,"status"],[Bi({type:String}),1,"decorator"],[Oi({type:"drag.start"}),1,"dragStartEvent",e=>$r(Hi,e),(e,t)=>Jr(Hi,e,t)],[Oi({type:"drag.move"}),1,"dragMoveEvent",e=>$r(Vi,e),(e,t)=>Jr(Vi,e,t)],[Oi({type:"drag.end"}),1,"dragEndEvent",e=>$r(Ki,e),(e,t)=>Jr(Ki,e,t)]],0,(e=>_i.has((0,le.A)(e))),he.ReactNextElement)),zr();var Qi,{defineElement:eo,property:to,event:no}=(0,de.createDecorators)(),ao=new WeakMap,ro=new WeakMap,io=new WeakMap,oo=new WeakMap,so=new WeakMap,lo=new WeakMap,co=new WeakMap,uo=new WeakMap,ho=new WeakMap,fo=new WeakMap,po=new WeakMap,go=new WeakMap,vo=new WeakMap,mo=new WeakSet,wo=new WeakMap,yo=new WeakMap,bo=new WeakMap,ko=new WeakMap;class Ao extends he.ReactNextElement{constructor(){super(...arguments),(0,re.A)(this,mo),(0,ie.A)(this,ao,ti(this)),(0,ie.A)(this,ro,(ni(this),ai(this))),(0,ie.A)(this,io,(ri(this),ii(this))),(0,ie.A)(this,oo,(oi(this),si(this,[mn.HP,mn.HP]))),(0,ie.A)(this,so,(li(this),ci(this))),(0,ie.A)(this,lo,(ui(this),di(this))),(0,ie.A)(this,co,(hi(this),fi(this))),(0,ie.A)(this,uo,(pi(this),gi(this))),(0,ie.A)(this,ho,(vi(this),mi(this,!0))),(0,ie.A)(this,fo,(wi(this),yi(this,!0))),(0,ie.A)(this,po,(bi(this),ki(this,!0))),(0,ie.A)(this,go,(Ai(this),Ei(this))),(0,ie.A)(this,vo,(xi(this),Mi(this))),(0,ie.A)(this,wo,(zi(this),e=>{qi(mo,this,Ci).emit(e)})),(0,ie.A)(this,yo,(e=>{(0,fn.c)(e,this.activeTarget)||(this.activeTarget=e)})),(0,ie.A)(this,bo,Ni(this)),(0,ie.A)(this,ko,(Ti(this),e=>{qi(mo,this,Si).emit(e)}))}get cells(){return $i(ao,this)}set cells(e){Ji(ao,this,e)}get layout(){return $i(ro,this)}set layout(e){Ji(ro,this,e)}get layoutOptions(){return $i(io,this)}set layoutOptions(e){Ji(io,this,e)}get defaultNodeSize(){return $i(oo,this)}set defaultNodeSize(e){Ji(oo,this,e)}get defaultNodeBricks(){return $i(so,this)}set defaultNodeBricks(e){Ji(so,this,e)}get defaultEdgeLines(){return $i(lo,this)}set defaultEdgeLines(e){Ji(lo,this,e)}get activeTarget(){return $i(co,this)}set activeTarget(e){Ji(co,this,e)}get fadeUnrelatedCells(){return $i(uo,this)}set fadeUnrelatedCells(e){Ji(uo,this,e)}get zoomable(){return $i(ho,this)}set zoomable(e){Ji(ho,this,e)}get scrollable(){return $i(fo,this)}set scrollable(e){Ji(fo,this,e)}get pannable(){return $i(po,this)}set pannable(e){Ji(po,this,e)}get scaleRange(){return $i(go,this)}set scaleRange(e){Ji(go,this,e)}render(){return ue().createElement(Eo,{shadowRoot:this.shadowRoot,cells:this.cells,layout:this.layout,layoutOptions:this.layoutOptions,defaultNodeSize:this.defaultNodeSize,defaultNodeBricks:this.defaultNodeBricks,defaultEdgeLines:this.defaultEdgeLines,activeTarget:this.activeTarget,fadeUnrelatedCells:this.fadeUnrelatedCells,zoomable:this.zoomable,scrollable:this.scrollable,pannable:this.pannable,scaleRange:this.scaleRange,onActiveTargetChange:$i(wo,this),onSwitchActiveTarget:$i(yo,this),onCellContextMenu:$i(ko,this)})}}function Eo(e){var{shadowRoot:t,cells:n,layout:a,layoutOptions:r,defaultNodeSize:i,defaultNodeBricks:o,defaultEdgeLines:s,activeTarget:l,fadeUnrelatedCells:c,zoomable:u,scrollable:d,pannable:h,scaleRange:f,onActiveTargetChange:p,onSwitchActiveTarget:g,onCellContextMenu:v}=e,[{cells:m},w]=(0,ce.useReducer)(dn.d,n,(e=>({cells:(0,vn.C)(e,{defaultNodeSize:i})}))),y=(0,ce.useRef)(null),b=(0,ce.useRef)(null),{grabbing:k,transform:A,zoomer:E,scaleRange:x}=(0,Sa.f)({rootRef:y,zoomable:u,scrollable:d,pannable:h,scaleRange:f,onSwitchActiveTarget:g}),{centered:M,setCentered:C}=(0,La.g)({layout:a,layoutOptions:r,rootRef:y,cells:m,zoomable:u,zoomer:E,scaleRange:x,dispatch:w}),W=(0,Ra.J)({cellsRef:b,activeTarget:l,onActiveTargetChange:p}),z=(0,ce.useMemo)((()=>"".concat((0,me.uniqueId)("diagram-"),"-")),[]),N="".concat(z,"line-arrow-"),S=(0,ce.useCallback)(((e,t)=>{w({type:"update-node-size",payload:{id:e,size:t}})}),[]),[R,T]=(0,ce.useState)(null),L=(0,ce.useCallback)((e=>{T(e)}),[]),D=(0,ce.useCallback)((e=>{T((t=>t===e?null:t))}),[]),[B,O]=(0,ce.useState)([]);(0,ce.useEffect)((()=>{var e=c?(0,Na.Y)(m,null,R):[];O((t=>0===t.length&&0===e.length?t:e))}),[m,c,R]);var P=(0,ce.useCallback)((e=>{E.scaleTo((0,fe.A)(y.current),e/100)}),[E]),j=(0,ce.useCallback)((()=>{C(!1)}),[C]),[I,H]=(0,Ba.d)({cells:m,defaultEdgeLines:s,markerPrefix:N}),Y=(0,Da.H)({cells:m,layout:a,centered:M});return ue().createElement(ue().Fragment,null,ue().createElement("svg",{width:"100%",height:"100%",ref:y,className:ve()("root",{grabbing:k,pannable:h,ready:Y}),tabIndex:-1},ue().createElement("defs",null,H.map(((e,t)=>ue().createElement(Ce.c,{key:t,id:"".concat(N).concat(t),type:"arrow",strokeColor:e.strokeColor})))),ue().createElement("g",{transform:"translate(".concat(A.x," ").concat(A.y,") scale(").concat(A.k,")")},ue().createElement("g",{className:"cells",ref:b},m.map((e=>ue().createElement(pn.m,{key:"".concat(e.type,":").concat((0,hn.WW)(e)?"".concat(e.source,"~").concat(e.target):e.id),layout:void 0,cell:e,cells:m,defaultNodeBricks:o,lineConfMap:I,transform:A,active:(0,fn.c)(W,e),readOnly:!0,unrelatedCells:B,onSwitchActiveTarget:g,onCellContextMenu:v,onNodeBrickResize:S,onCellMouseEnter:c&&(0,hn.N)(e)?L:void 0,onCellMouseLeave:c&&(0,hn.N)(e)?D:void 0})))))),ue().createElement(Ta.Y,{shadowRoot:t,scale:A.k,scaleRange:x,onZoomChange:P,onReCenter:j}))}Li=Ao,({e:[ti,ni,ai,ri,ii,oi,si,li,ci,ui,di,hi,fi,pi,gi,vi,mi,wi,yi,bi,ki,Ai,Ei,xi,Mi,Ci,Wi,zi,Ni,Si,Ri,Ti],c:[Qi,ei]}=function(e,t,n,a,r,i){var o,s,l,c,u,d,h,f=Symbol.metadata||Symbol.for("Symbol.metadata"),p=Object.defineProperty,g=Object.create,v=[g(null),g(null)],m=t.length;function w(t,n,a){return function(r,i){n&&(i=r,r=e);for(var o=0;o<t.length;o++)i=t[o].apply(r,a?[i]:[]);return a?i:r}}function y(e,t,n,a){if("function"!=typeof e&&(a||void 0!==e))throw new TypeError(t+" must "+(n||"be")+" a function"+(a?"":" or undefined"));return e}function b(e,t,n,a,r,i,l,c,u,d,h){function f(e){if(!h(e))throw new TypeError("Attempted to access private element on non-instance")}var g=[].concat(t[0]),m=t[3],b=!l,k=1===r,A=3===r,E=4===r,x=2===r;function M(t,n,a){return function(r,i){return n&&(i=r,r=e),a&&a(r),C[t].call(r,i)}}if(!b){var C={},W=[],z=A?"get":E||k?"set":"value";if(u?(d||k?C={get:(0,se.A)((function(){return m(this)}),a,"get"),set:function(e){t[4](this,e)}}:C[z]=m,d||(0,se.A)(C[z],a,x?"":z)):d||(C=Object.getOwnPropertyDescriptor(e,a)),!d&&!u){if((s=v[+c][a])&&7!=(s^r))throw new Error("Decorating two elements with the same name ("+C[z].name+") is not supported yet");v[+c][a]=r<3?1:r}}for(var N=e,S=g.length-1;S>=0;S-=n?2:1){var R=g[S],T=n?g[S-1]:void 0,L={},D={kind:["field","accessor","method","getter","setter","class"][r],name:a,metadata:o,addInitializer:function(e,t){if(e.v)throw new Error("attempted to call addInitializer after decoration was finished");y(t,"An initializer","be",!0),i.push(t)}.bind(null,L)};if(b)s=R.call(T,N,D),L.v=1,y(s,"class decorators","return")&&(N=s);else if(D.static=c,D.private=u,s=D.access={has:u?h.bind():function(e){return a in e}},E||(s.get=u?x?function(e){return f(e),C.value}:M("get",0,f):function(e){return e[a]}),x||A||(s.set=u?M("set",0,f):function(e,t){e[a]=t}),N=R.call(T,k?{get:C.get,set:C.set}:C[z],D),L.v=1,k){if("object"==typeof N&&N)(s=y(N.get,"accessor.get"))&&(C.get=s),(s=y(N.set,"accessor.set"))&&(C.set=s),(s=y(N.init,"accessor.init"))&&W.unshift(s);else if(void 0!==N)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else y(N,(d?"field":"method")+" decorators","return")&&(d?W.unshift(N):C[z]=N)}return r<2&&l.push(w(W,c,1),w(i,c,0)),d||b||(u?k?l.splice(-1,0,M("get",c),M("set",c)):l.push(x?C[z]:y.call.bind(C[z])):p(e,a,C)),N}function k(e){return p(e,f,{configurable:!0,enumerable:!0,value:o})}return void 0!==i&&(o=i[f]),o=g(null==o?null:o),u=[],d=function(e){e&&u.push(w(e))},(h=function(t,a){for(var i=0;i<n.length;i++){var o=n[i],s=o[1],d=7&s;if((8&s)==t&&!d==a){var h=o[2],f=!!o[3],p=16&s;b(t?e:e.prototype,o,p,f?"#"+h:(0,oe.A)(h),d,d<2?[]:t?c=c||[]:l=l||[],u,!!t,f,a,t&&f?function(t){return(0,le.A)(t)===e}:r)}}})(8,0),h(0,0),h(8,1),h(0,1),d(l),d(c),s=u,m||k(e),{e:s,get c(){var n=[];return m&&[k(e=b(e,[t],0,e.name,5,n)),w(n,1)]}}}(Li,[eo("eo-display-canvas",{styleTexts:[Oa.A,Pa.A]})],[[to({attribute:!1}),1,"cells"],[to({type:String}),1,"layout"],[to({attribute:!1}),1,"layoutOptions"],[to({attribute:!1}),1,"defaultNodeSize"],[to({attribute:!1}),1,"defaultNodeBricks"],[to({attribute:!1}),1,"defaultEdgeLines"],[to({attribute:!1}),1,"activeTarget"],[to({type:Boolean}),1,"fadeUnrelatedCells"],[to({type:Boolean}),1,"zoomable"],[to({type:Boolean}),1,"scrollable"],[to({type:Boolean}),1,"pannable"],[to({attribute:!1}),1,"scaleRange"],[no({type:"activeTarget.change"}),1,"activeTargetChangeEvent",e=>$i(vo,e),(e,t)=>Ji(vo,e,t)],[no({type:"cell.contextmenu"}),1,"cellContextMenu",e=>$i(bo,e),(e,t)=>Ji(bo,e,t)]],0,(e=>ko.has((0,le.A)(e))),he.ReactNextElement)),ei()},3971:(e,t,n)=>{n.d(t,{A:()=>s});var a=n(6758),r=n.n(a),i=n(935),o=n.n(i)()(r());o.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;-moz-user-select:text;user-select:text}.label-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.label.editing .label-text,\n.label.empty:not(.editing) .label-text,\n.label:not(.editing) .label-input{display:none}',""]);const s=o.toString()},497:(e,t,n)=>{n.d(t,{A:()=>s});var a=n(6758),r=n.n(a),i=n(935),o=n.n(i)()(r());o.push([e.id,'*{box-sizing:border-box}:host{display:block;border:1px solid var(--palette-gray-5);cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none}:host([hidden]){display:none}:host([usage="dragging"]){opacity:0.75;position:fixed}:host(:not([usage="library"])){background:var(--palette-gray-3);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 s=o.toString()}}]);
2
- //# sourceMappingURL=1728.cf49ae61.js.map