@next-bricks/diagram 0.5.2 → 0.6.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.
- package/dist/bricks.json +1 -1
- package/dist/chunks/6457.71ac2fd7.js +2 -0
- package/dist/chunks/6457.71ac2fd7.js.map +1 -0
- package/dist/chunks/9393.18aab720.js +2 -0
- package/dist/chunks/9393.18aab720.js.map +1 -0
- package/dist/chunks/eo-diagram.7b7b7b0d.js +2 -0
- package/dist/chunks/eo-diagram.7b7b7b0d.js.map +1 -0
- package/dist/chunks/{main.2d3b0cb6.js → main.a2d9eb73.js} +2 -2
- package/dist/chunks/{main.2d3b0cb6.js.map → main.a2d9eb73.js.map} +1 -1
- package/dist/examples.json +1 -1
- package/dist/{index.1993f974.js → index.96852b62.js} +2 -2
- package/dist/{index.1993f974.js.map → index.96852b62.js.map} +1 -1
- package/dist/manifest.json +17 -4
- package/dist/types.json +128 -6
- package/dist-types/diagram/ConnectLineComponent.spec.d.ts +1 -0
- package/dist-types/diagram/LineComponent.d.ts +5 -2
- package/dist-types/diagram/index.d.ts +8 -6
- package/dist-types/diagram/interfaces.d.ts +9 -0
- package/dist-types/diagram/processors/handleDiagramMouseDown.d.ts +3 -3
- package/dist-types/diagram/processors/handleKeyboard.d.ts +8 -4
- package/docs/eo-diagram.md +69 -12
- package/package.json +2 -2
- package/dist/chunks/6457.0e22ff80.js +0 -2
- package/dist/chunks/6457.0e22ff80.js.map +0 -1
- package/dist/chunks/9393.4db156f6.js +0 -2
- package/dist/chunks/9393.4db156f6.js.map +0 -1
- package/dist/chunks/eo-diagram.a0684049.js +0 -2
- package/dist/chunks/eo-diagram.a0684049.js.map +0 -1
package/dist/bricks.json
CHANGED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_next_bricks_diagram=self.webpackChunk_next_bricks_diagram||[]).push([[6457],{2260:(e,t,n)=>{n.d(t,{K:()=>a});var r=n(8657),o=n.n(r);function a(e){var{clipPath:t,clipPathPrefix:n,renderedLineLabels:r}=e,{x0:a,y0:i,w:l,h:c,id:d}=t,s=r.find((e=>e.id===d));if(!s)return null;var{left:u,top:f,right:v,bottom:h}=s.lineRect;return o().createElement("clipPath",{key:d,id:"".concat(n).concat(d)},o().createElement("polygon",{points:["".concat(a,",").concat(i+c),"".concat(a+l,",").concat(i+c),"".concat(a+l,",").concat(i),"".concat(a,",").concat(i),"".concat(a,",").concat(f),"".concat(v,",").concat(f),"".concat(v,",").concat(h),"".concat(u,",").concat(h),"".concat(u,",").concat(f),"".concat(a,",").concat(f)].join(" ")}))}},7587:(e,t,n)=>{n.d(t,{f:()=>c});var r=n(8657),o=n.n(r),a=n(2779),i=n.n(a),l=n(9575);function c(e){var{connectLineState:t,connectLineTo:n,markerPrefix:r}=e;return o().createElement("svg",{width:"100%",height:"100%",className:i()("connect-line",{connecting:!!t&&(n[0]-t.from[0])**2+(n[1]-t.from[1])**2>25})},o().createElement("defs",null,o().createElement(l.C,{id:"".concat(r,"connect-line"),strokeColor:null==t?void 0:t.options.strokeColor})),o().createElement("path",{d:t?"M".concat(t.from.join(" "),"L").concat(n.join(" ")):"",fill:"none",stroke:null==t?void 0:t.options.strokeColor,strokeWidth:null==t?void 0:t.options.strokeWidth,markerEnd:null!=t&&t.options.arrow?"url(#".concat(r,"connect-line)"):void 0}))}},6462:(e,t,n)=>{n.d(t,{y:()=>l});var r=n(8657),o=n.n(r),a=n(2779),i=n.n(a);function l(e){var{line:{line:t,d:n,markerIndex:r,edge:a},linePaths:l,clipPathList:c,markerPrefix:d,clipPathPrefix:s,activeLineMarkerPrefix:u,activeEdge:f,onLineClick:v,onLineDoubleClick:h}=e,m=c.some((e=>e.id===t.$id))?"url(#".concat(s).concat(t.$id,")"):void 0;return o().createElement("g",{className:i()("line",{interactable:t.interactable,active:f&&a.source===f.source&&a.target===f.target}),onClick:t.interactable?()=>{null==v||v({id:t.$id,edge:a})}:void 0,onDoubleClick:t.interactable?e=>{e.preventDefault(),e.stopPropagation(),null==h||h({id:t.$id,edge:a})}:void 0,style:{cursor:t.cursor}},t.interactable&&o().createElement("path",{d:n,fill:"none",stroke:"transparent",strokeWidth:t.interactStrokeWidth}),o().createElement("path",{ref:e=>l.set(t.$id,e),stroke:t.strokeColor,strokeWidth:t.strokeWidth,d:n,fill:"none",markerEnd:void 0===r?void 0:"url(#".concat(d).concat(r,")"),clipPath:m}),o().createElement("path",{stroke:"var(--palette-blue-3)",strokeWidth:t.strokeWidth,d:n,fill:"none",className:"active-bg",markerStart:"url(#".concat(u,"start)"),markerEnd:"url(#".concat(u,"end)"),clipPath:m}))}},7853:(e,t,n)=>{n.d(t,{L8:()=>c});var r=n(3028),o=n(8657),a=n.n(o),i=n(9494),l=n(9464);function c(e){var{labels:t,onRendered:n}=e,[r,i]=(0,o.useState)(!1),[l,c]=(0,o.useState)([]),u=(0,o.useMemo)((()=>new Map),[]),f=(0,o.useCallback)(((e,t)=>{t&&u.set(e,t),c((t=>t.includes(e)?t:t.concat(e)))}),[u]),v=(0,o.useCallback)((e=>{c((t=>{var n=t.indexOf(e);return-1===n?t:t.slice(0,n).concat(t.slice(n+1))})),u.delete(e)}),[u]);return(0,o.useEffect)((()=>{i(!(null!=t&&t.some((e=>!l.includes(e.id)))))}),[t,l]),(0,o.useEffect)((()=>{null==n||n(r?u:null)}),[u,r]),a().createElement(a().Fragment,null,null==t?void 0:t.map((e=>{var{text:t,label:n,position:r,id:o,edge:i}=e;return n?a().createElement("div",{key:o,className:"line-label",style:{left:r[0],top:r[1]}},a().createElement(s,{id:o,edge:i,label:n,onRendered:f,onUnmount:v})):a().createElement(d,{key:o,id:o,text:t,position:r,onRendered:f})})))}function d(e){var{id:t,text:n,position:i,onRendered:l}=e,c=(0,o.useCallback)((e=>{null==l||l(t,e)}),[t,l]);return a().createElement("div",{className:"line-label",ref:c,style:(0,r.Z)({left:i[0],top:i[1]},n.style)},n.content)}function s(e){var{id:t,edge:n,label:r,onRendered:c,onUnmount:d}=e,s=(0,o.useMemo)((()=>(0,l.checkIfByTransform)(r,{edge:n})?r.useBrick:null),[n,r]),u=(0,o.useMemo)((()=>({edge:n})),[n]);(0,o.useEffect)((()=>{s||setTimeout((()=>{null==c||c(t,null)}))}),[t,c,s]),(0,o.useEffect)((()=>()=>{null==d||d(t)}),[]);var f=(0,o.useCallback)((e=>{e&&setTimeout((()=>{null==c||c(t,e.parentElement)}))}),[t,c]),v=(0,o.useCallback)((()=>{setTimeout((()=>{null==c||c(t,null)}))}),[t,c]);return s?a().createElement(i.ReactUseBrick,{refCallback:f,ignoredCallback:v,useBrick:s,data:u}):null}},9575:(e,t,n)=>{n.d(t,{C:()=>a});var r=n(8657),o=n.n(r);function a(e){var{id:t,strokeColor:n}=e;return o().createElement("marker",{id:t,viewBox:"0 0 6 6",refX:3,refY:3,markerWidth:6,markerHeight:6,orient:"auto"},o().createElement("path",{d:"M 0.5 0.5 L 5.5 3 L 0.5 5.5 z",stroke:n,strokeWidth:1,fill:n}))}},2370:(e,t,n)=>{n.d(t,{n:()=>l});var r=n(8657),o=n.n(r),a=n(9494),i=n(9464);function l(e){var{nodes:t,nodeBricks:n,onRendered:a}=e,[i,l]=(0,r.useState)(!1),[d,s]=(0,r.useState)([]),u=(0,r.useMemo)((()=>new Map),[]),f=(0,r.useCallback)(((e,t)=>{t&&u.set(e,t),s((t=>t.includes(e)?t:t.concat(e)))}),[u]),v=(0,r.useCallback)((e=>{s((t=>{var n=t.indexOf(e);return-1===n?t:t.slice(0,n).concat(t.slice(n+1))})),u.delete(e)}),[u]);return(0,r.useEffect)((()=>{l(!(null!=t&&t.some((e=>!d.includes(e.id)))))}),[t,d]),(0,r.useEffect)((()=>{null==a||a(i?u:null)}),[u,i]),o().createElement(o().Fragment,null,null==t?void 0:t.map((e=>o().createElement("div",{key:e.id,className:"node"},o().createElement(c,{nodeBricks:n,node:e,onRendered:f,onUnmount:v})))))}function c(e){var{node:t,nodeBricks:n,onRendered:l,onUnmount:c}=e,d=(0,r.useMemo)((()=>{var e;return null===(e=function(e,t){return null==t?void 0:t.find((t=>t.nodeType?[].concat(t.nodeType).includes(e.type):(0,i.checkIfByTransform)(t,{node:e})))}(t,n))||void 0===e?void 0:e.useBrick}),[t,n]),s=(0,r.useMemo)((()=>({node:t})),[t]);(0,r.useEffect)((()=>{d||setTimeout((()=>{null==l||l(t.id,null)}))}),[t.id,l,d]),(0,r.useEffect)((()=>()=>{null==c||c(t.id)}),[]);var u=(0,r.useCallback)((e=>{e&&setTimeout((()=>{null==l||l(t.id,e)}))}),[t.id,l]),f=(0,r.useCallback)((()=>{setTimeout((()=>{null==l||l(t.id,null)}))}),[t.id,l]);return d?o().createElement(a.ReactUseBrick,{refCallback:u,ignoredCallback:f,useBrick:d,data:s}):null}},5318:(e,t,n)=>{n.d(t,{IC:()=>r,_w:()=>o,no:()=>a,wl:()=>i});var r="var(--palette-gray-5)",o=1,a="curveBasis",i=20},6365:(e,t,n)=>{function r(e,t){var[n,r]=t,o=1/0,a=1/0,i=-1/0,l=-1/0;for(var c of e){var d=c.width/2,s=c.height/2,u=c.x-d,f=c.x+d,v=c.y-s,h=c.y+s;u<o&&(o=u),f>i&&(i=f),v<a&&(a=v),h>l&&(l=h)}return[(n-(i-o))/2-a,(r-(l-a))/2-o]}n.d(t,{i:()=>r})},1251:(e,t,n)=>{function r(e,t){return e.map((e=>{var{id:n}=e,r=null==t?void 0:t.get(n);if(r){var{offsetWidth:o,offsetHeight:a}=r;if(0!==o&&0!==a)return{x0:r.offsetLeft-o/2-3,y0:r.offsetTop-a/2-3,w:o+6,h:a+6,id:n}}})).filter(Boolean)}n.d(t,{i:()=>r})},5173:(e,t,n)=>{n.d(t,{T:()=>a});var r=n(908),o=n.n(r);function a(e,t,n,r){var a=new(o().graphlib.Graph);for(var i of(a.setGraph(r),a.setDefaultEdgeLabel((function(){return{}})),null!=t?t:[])){var l=null==e?void 0:e.node(i.id);a.setNode(i.id,(null==l?void 0:l.data)===i?l:{id:i.id,data:i})}for(var c of null!=n?n:[])a.setEdge(c.source,c.target,{data:c});return a}},7201:(e,t,n)=>{n.d(t,{E:()=>a});var r=n(908),o=n.n(r);function a(e){var{graph:t,nodesRefRepository:n,nodePadding:r}=e;if(!t||!n||0===t.nodeCount())return null;var a=function(e){if(Array.isArray(e)){var t=e[0],n=e.length>1?e[1]:t;return[t,n,e.length>2?e[2]:t,e.length>3?e[3]:n]}return new Array(4).fill(e)}(r);for(var i of t.nodes()){var l,c,d=t.node(i);if(d){var s=n.get(i);d.width=(null!==(l=null==s?void 0:s.offsetWidth)&&void 0!==l?l:10)+a[1]+a[3],d.height=(null!==(c=null==s?void 0:s.offsetHeight)&&void 0!==c?c:10)+a[0]+a[2]}else console.error("Diagram node not found: %s",i)}o().layout(t);var u=[];for(var f of t.nodes()){var v,h=t.node(f);if(h){u.push(h);var m=h.x-h.width/2+a[3],g=h.y-h.height/2+a[0],p=null===(v=n.get(f))||void 0===v?void 0:v.parentElement;p&&(p.style.left="".concat(m,"px"),p.style.top="".concat(g,"px"),p.style.visibility="visible")}}return{nodes:u,edges:t.edges().map((e=>t.edge(e)))}}},4126:(e,t,n)=>{function r(e,t,n){return 0===e.length&&0===t.length?e:t.map((e=>{var{line:{text:t,label:r,$id:o},edge:a}=e,i=n.get(o);if((t||r)&&i&&i.getAttribute("d")){var{x:l,y:c,width:d,height:s}=i.getBBox(),u=1e3,f=l-u,v=c-u,h=l+d+u,m=c+s+u,g=i.getPointAtLength(i.getTotalLength()/2);return{text:t,label:r,edge:a,position:[g.x,g.y],lineRect:{left:f,top:v,right:h,bottom:m},id:o}}})).filter(Boolean)}n.d(t,{K:()=>r})},5731:(e,t,n)=>{n.d(t,{b:()=>g});var r=n(3028),o=n(2159),a=n(1211),i=n(9464),l=n(5318),c=n(3698),d=n(1479),s=n(6481),u=n(9389),f=n(8282),v=n(5004);function h(e,t,n){if(!Array.isArray(e))return"";var r;switch(n){case"curveBasis":r=c.ZP;break;case"curveBumpX":r=d.sj;break;case"curveBumpY":r=d.BW;break;case"curveMonotoneX":r=s.Z;break;case"curveMonotoneY":r=s.s;break;case"curveNatural":r=u.Z;break;default:r=f.Z}var o=0,a=0;if(t){var{x:i,y:l}=e[e.length-2],{x:h,y:m}=e[e.length-1],g=t/Math.sqrt(Math.pow(h-i,2)+Math.pow(m-l,2));o=(i-h)*g,a=(l-m)*g}var p=e;return(0,v.Z)().x(((t,n)=>t.x-(n===e.length-1?o:0))).y(((t,n)=>t.y-(n===e.length-1?a:0))).curve(r)(p)}var m=["label"];function g(e,t){var n=[],c=[],d=function(e){var d,s=null!==(d=null==t?void 0:t.find((t=>{return n=e,!!(r=t)&&(r.edgeType?[].concat(r.edgeType).includes(n.type):(0,i.checkIfByTransform)(r,{edge:n}));var n,r})))&&void 0!==d?d:{},{label:f}=s,v=(0,o.Z)(s,m),g=i.__secret_internals.legacyDoTransform({edge:e},v);if(!1===(null==g?void 0:g.draw))return 1;var p,k=(0,r.Z)((0,r.Z)({strokeColor:l.IC,strokeWidth:l._w,curveType:l.no,interactStrokeWidth:l.wl},g),{},{label:f,$id:(0,a.uniqueId)("line-")});if(k.arrow){var b={strokeColor:k.strokeColor};-1===(p=(0,a.findIndex)(c,b))&&(p=c.push(b)-1)}var y=h(u,k.arrow?-5:0,k.curveType);n.push({line:k,d:y,markerIndex:p,edge:e})};for(var{data:s,points:u}of e)d(s);return{renderedLines:n,markers:c}}},4510:(e,t,n)=>{n.d(t,{k:()=>i});var r=n(3028),o=n(9464),a=n(5318);function i(e,t){var{nodes:n,nodesRefRepository:i,nodesConnect:l,setConnectLineState:c,setConnectLineTo:d,onSwitchActiveTarget:s,onNodesConnect:u}=t;function f(e){if(i){var t,r=function(t){if(e(a))return{v:null==n?void 0:n.find((e=>e.id===t))}};for(var[o,a]of i)if(t=r(o))return t.v}}if(l){var v=f((t=>t.contains(e.target)));if(v){if(l.sourceType){if(![].concat(l.sourceType).includes(v.type))return}else if(!(0,o.checkIfByTransform)(l,{source:v}))return;c({from:[e.clientX,e.clientY],options:(0,r.Z)({strokeColor:a.IC,strokeWidth:a._w},o.__secret_internals.legacyDoTransform({source:v},l))}),d([e.clientX,e.clientY]),null==s||s({type:"node",nodeId:v.id});var h=e=>{d([e.clientX,e.clientY])},m=e=>{document.removeEventListener("mousemove",h),document.removeEventListener("mouseup",m),c(null);var t=e.composedPath(),n=f((e=>t.includes(e)));n&&v!==n&&(null==u||u({source:v,target:n}))};document.addEventListener("mousemove",h),document.addEventListener("mouseup",m)}}}},5702:(e,t,n)=>{n.d(t,{p:()=>o});var r=n(1211);function o(e,t){var{renderedNodes:n,renderedEdges:r,activeTarget:o}=t,l="node"===(null==o?void 0:o.type)?n.find((e=>e.id===o.nodeId)):void 0,c="edge"===(null==o?void 0:o.type)?o.edge:void 0;if(l||c){var d,s,u,f,v=e.key||e.keyCode||e.which;switch(v){case"Backspace":case 8:case"Delete":case 46:l?(d="delete-node",s=l):(d="delete-edge",u=c);break;default:if(!l)return;switch(v){case"ArrowLeft":case 37:s=a(n,l,-1),d="switch-active-node";break;case"ArrowUp":case 38:s=i(n,r,l,-1),d="switch-active-node";break;case"ArrowRight":case 39:s=a(n,l,1),d="switch-active-node";break;case"ArrowDown":case 40:s=i(n,r,l,1),d="switch-active-node"}}if(d)return e.preventDefault(),e.stopPropagation(),{action:d,node:null===(f=s)||void 0===f?void 0:f.data,edge:u}}}function a(e,t,n){var o,a=e.filter((e=>e!==t&&(o=(e.x-t.x)*n)>0&&o>Math.abs(t.y-e.y)));return(0,r.minBy)(a,(e=>(t.y-e.y)**2+(t.x-e.x)**2))}function i(e,t,n,o){var a=1===o?"source":"target",i=1===o?"target":"source",l=t.filter((e=>{var{data:t}=e;return t[a]===n.id&&t[i]!==n.id})).map((t=>{var{data:n}=t;return e.find((e=>e.id===n[i]))})).filter((e=>e&&(e.y-n.y)*o>0));return(0,r.minBy)(l,(e=>(n.y-e.y)**2+(n.x-e.x)**2))}},6436:(e,t,n)=>{n.d(t,{Z:()=>l});var r=n(9601),o=n.n(r),a=n(2609),i=n.n(a)()(o());i.push([e.id,":host{display:block;width:100%;height:100%;overflow:hidden}:host([hidden]){display:none}*{box-sizing:border-box}.diagram{width:100%;height:100%;position:relative;opacity:0}.diagram:focus{outline:none}.ready{opacity:1}.dragger,\n.lines,\n.line-labels,\n.nodes{position:absolute;top:0;left:0}.node{position:absolute;visibility:hidden}.dragger{width:100%;height:100%;cursor:-webkit-grab;cursor:grab}.grabbing{cursor:-webkit-grabbing;cursor:grabbing}.line-label{position:absolute;transform:translate(-50%,-50%);white-space:pre-line;width:-webkit-max-content;width:-moz-max-content;width:max-content;text-align:center}.lines{pointer-events:none}.line.interactable{pointer-events:auto}.connect-line{position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none}.connect-line:not(.connecting){display:none}.line:not(.active) .active-bg{display:none}",""]);const l=i.toString()}}]);
|
|
2
|
+
//# sourceMappingURL=6457.71ac2fd7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/6457.71ac2fd7.js","mappings":"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","sources":["webpack:///./src/diagram/ClipPathComponent.tsx","webpack:///./src/diagram/ConnectLineComponent.tsx","webpack:///./src/diagram/LineComponent.tsx","webpack:///./src/diagram/LineLabelComponent.tsx","webpack:///./src/diagram/MarkerComponent.tsx","webpack:///./src/diagram/NodeComponent.tsx","webpack:///./src/diagram/processors/findNodeBrick.ts","webpack:///./src/diagram/constants.ts","webpack:///./src/diagram/processors/getCenterOffsets.ts","webpack:///./src/diagram/processors/getClipPathList.ts","webpack:///./src/diagram/processors/getDagreGraph.ts","webpack:///./src/diagram/processors/getRenderedDiagram.ts","webpack:///./src/diagram/processors/extractPartialRectTuple.ts","webpack:///./src/diagram/processors/getRenderedLineLabels.ts","webpack:///./src/diagram/lines/curveLine.ts","webpack:///./src/diagram/processors/getRenderedLinesAndMarkers.ts","webpack:///./src/diagram/processors/matchEdgeByFilter.ts","webpack:///./src/diagram/processors/handleDiagramMouseDown.ts","webpack:///./src/diagram/processors/handleKeyboard.ts","webpack:///./src/diagram/styles.shadow.css"],"sourcesContent":["import React from \"react\";\nimport type { LineTextClipPath, RenderedLineLabel } from \"./interfaces\";\n\nexport interface ClipPathComponentProps {\n clipPathPrefix: string;\n clipPath: LineTextClipPath;\n renderedLineLabels: RenderedLineLabel[];\n}\n\nexport function ClipPathComponent({\n clipPath,\n clipPathPrefix,\n renderedLineLabels,\n}: ClipPathComponentProps): JSX.Element | null {\n const { x0, y0, w, h, id } = clipPath;\n const lineText = renderedLineLabels.find((item) => item.id === id);\n if (!lineText) {\n return null;\n }\n const { left, top, right, bottom } = lineText.lineRect;\n // https://css-tricks.com/cutting-inner-part-element-using-clip-path/\n return (\n <clipPath key={id} id={`${clipPathPrefix}${id}`}>\n <polygon\n points={[\n `${x0},${y0 + h}`,\n `${x0 + w},${y0 + h}`,\n `${x0 + w},${y0}`,\n `${x0},${y0}`,\n `${x0},${top}`,\n `${right},${top}`,\n `${right},${bottom}`,\n `${left},${bottom}`,\n `${left},${top}`,\n `${x0},${top}`,\n ].join(\" \")}\n />\n </clipPath>\n );\n}\n","import React from \"react\";\nimport classNames from \"classnames\";\nimport type { ConnectLineState, PositionTuple } from \"./interfaces\";\nimport { MarkerComponent } from \"./MarkerComponent\";\n\nexport interface ConnectLineComponentProps {\n connectLineState: ConnectLineState | null;\n connectLineTo: PositionTuple;\n markerPrefix: string;\n}\n\nexport function ConnectLineComponent({\n connectLineState,\n connectLineTo,\n markerPrefix,\n}: ConnectLineComponentProps): JSX.Element {\n return (\n <svg\n width=\"100%\"\n height=\"100%\"\n className={classNames(\"connect-line\", {\n connecting:\n !!connectLineState &&\n // Do not show when the distance of mouse move is less than 5px\n (connectLineTo[0] - connectLineState.from[0]) ** 2 +\n (connectLineTo[1] - connectLineState.from[1]) ** 2 >\n 25,\n })}\n >\n <defs>\n <MarkerComponent\n id={`${markerPrefix}connect-line`}\n strokeColor={connectLineState?.options.strokeColor}\n />\n </defs>\n <path\n d={\n connectLineState\n ? `M${connectLineState.from.join(\" \")}L${connectLineTo.join(\" \")}`\n : \"\"\n }\n fill=\"none\"\n stroke={connectLineState?.options.strokeColor}\n strokeWidth={connectLineState?.options.strokeWidth}\n markerEnd={\n connectLineState?.options.arrow\n ? `url(#${markerPrefix}connect-line)`\n : undefined\n }\n />\n </svg>\n );\n}\n","import React from \"react\";\nimport classNames from \"classnames\";\nimport type {\n DiagramEdge,\n LineTarget,\n LineTextClipPath,\n RenderedLine,\n} from \"./interfaces\";\n\nexport interface LineComponentProps {\n line: RenderedLine;\n linePaths: Map<string, SVGPathElement | null>;\n clipPathList: LineTextClipPath[];\n markerPrefix: string;\n clipPathPrefix: string;\n activeLineMarkerPrefix: string;\n activeEdge: DiagramEdge | null;\n onLineClick?(line: LineTarget): void;\n onLineDoubleClick?(line: LineTarget): void;\n}\n\nexport function LineComponent({\n line: { line, d, markerIndex, edge },\n linePaths,\n clipPathList,\n markerPrefix,\n clipPathPrefix,\n activeLineMarkerPrefix,\n activeEdge,\n onLineClick,\n onLineDoubleClick,\n}: LineComponentProps): JSX.Element {\n const clipPath = clipPathList.some((clip) => clip.id === line.$id)\n ? `url(#${clipPathPrefix}${line.$id})`\n : undefined;\n return (\n <g\n className={classNames(\"line\", {\n interactable: line.interactable,\n active:\n activeEdge &&\n edge.source === activeEdge.source &&\n edge.target === activeEdge.target,\n })}\n onClick={\n line.interactable\n ? () => {\n onLineClick?.({ id: line.$id, edge });\n }\n : undefined\n }\n onDoubleClick={\n line.interactable\n ? (e) => {\n e.preventDefault();\n e.stopPropagation();\n onLineDoubleClick?.({ id: line.$id, edge });\n }\n : undefined\n }\n style={{ cursor: line.cursor }}\n >\n {line.interactable && (\n <path\n // This `path` is made for expanding interaction area of graph lines.\n d={d}\n fill=\"none\"\n stroke=\"transparent\"\n strokeWidth={line.interactStrokeWidth}\n />\n )}\n <path\n ref={(element) => linePaths.set(line.$id, element)}\n stroke={line.strokeColor}\n strokeWidth={line.strokeWidth}\n d={d}\n fill=\"none\"\n markerEnd={\n markerIndex === undefined\n ? undefined\n : `url(#${markerPrefix}${markerIndex})`\n }\n clipPath={clipPath}\n />\n <path\n stroke=\"var(--palette-blue-3)\"\n strokeWidth={line.strokeWidth}\n d={d}\n fill=\"none\"\n className=\"active-bg\"\n markerStart={`url(#${activeLineMarkerPrefix}start)`}\n markerEnd={`url(#${activeLineMarkerPrefix}end)`}\n clipPath={clipPath}\n />\n </g>\n );\n}\n","import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { ReactUseBrick } from \"@next-core/react-runtime\";\nimport { checkIfByTransform } from \"@next-core/runtime\";\nimport type {\n DiagramEdge,\n LineLabelConf,\n PositionTuple,\n RefRepository,\n RenderedLineLabel,\n TextOptions,\n} from \"./interfaces\";\n\nexport interface LineLabelComponentGroupProps {\n labels?: RenderedLineLabel[];\n onRendered?: (refRepository: RefRepository | null) => void;\n}\n\nexport function LineLabelComponentGroup({\n labels,\n onRendered,\n}: LineLabelComponentGroupProps): JSX.Element {\n const [rendered, setRendered] = useState(false);\n const [renderedIds, setRenderedIds] = useState<string[]>([]);\n const refRepository = useMemo<RefRepository>(() => new Map(), []);\n\n const handleRenderer = useCallback(\n (id: string, element: HTMLElement | null) => {\n if (element) {\n refRepository.set(id, element);\n }\n setRenderedIds((previous) =>\n previous.includes(id) ? previous : previous.concat(id)\n );\n },\n [refRepository]\n );\n\n const handleUnmount = useCallback(\n (id: string) => {\n setRenderedIds((previous) => {\n const index = previous.indexOf(id);\n return index === -1\n ? previous\n : previous.slice(0, index).concat(previous.slice(index + 1));\n });\n refRepository.delete(id);\n },\n [refRepository]\n );\n\n useEffect(() => {\n // All nodes have been rendered.\n setRendered(!labels?.some((label) => !renderedIds.includes(label.id)));\n }, [labels, renderedIds]);\n\n useEffect(\n () => {\n onRendered?.(rendered ? refRepository : null);\n },\n // Dot not re-run effect when `onRendered` changed.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [/* onRendered, */ refRepository, rendered]\n );\n\n return (\n <React.Fragment>\n {labels?.map(({ text, label, position, id, edge }) =>\n label ? (\n <div\n key={id}\n className=\"line-label\"\n style={{\n left: position[0],\n top: position[1],\n }}\n >\n <LineLabelComponent\n id={id}\n edge={edge}\n label={label}\n onRendered={handleRenderer}\n onUnmount={handleUnmount}\n />\n </div>\n ) : (\n <LineTextComponent\n key={id}\n id={id}\n text={text!}\n position={position}\n onRendered={handleRenderer}\n />\n )\n )}\n </React.Fragment>\n );\n}\n\nexport interface LineTextComponentProps {\n id: string;\n text: TextOptions;\n position: PositionTuple;\n onRendered?: (id: string, element: HTMLElement | null) => void;\n // onUnmount?: (id: string) => void;\n}\n\nexport function LineTextComponent({\n id,\n text,\n position,\n onRendered /* , onUnmount */,\n}: LineTextComponentProps): JSX.Element {\n const refCallback = useCallback(\n (element: HTMLDivElement) => {\n onRendered?.(id, element);\n },\n [id, onRendered]\n );\n\n return (\n <div\n className=\"line-label\"\n ref={refCallback}\n style={{\n left: position[0],\n top: position[1],\n ...text!.style,\n }}\n >\n {text!.content}\n </div>\n );\n}\n\n// export const LineLabelComponentGroup = React.memo(LegacyLineLabelComponentGroup);\n\nexport interface LineLabelComponentProps {\n id: string;\n edge: DiagramEdge;\n label: LineLabelConf;\n onRendered?: (id: string, element: HTMLElement | null) => void;\n onUnmount?: (id: string) => void;\n}\n\nexport function LineLabelComponent({\n id,\n edge,\n label,\n onRendered,\n onUnmount,\n}: LineLabelComponentProps): JSX.Element | null {\n const useBrick = useMemo(\n () => (checkIfByTransform(label, { edge }) ? label.useBrick : null),\n [edge, label]\n );\n\n const memoizedData = useMemo(() => ({ edge }), [edge]);\n\n useEffect(() => {\n if (!useBrick) {\n // Keep the same time delay for reporting rendered.\n setTimeout(() => {\n onRendered?.(id, null);\n });\n }\n }, [id, onRendered, useBrick]);\n\n useEffect(\n () => {\n return () => {\n onUnmount?.(id);\n };\n },\n // Only unmount once\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []\n );\n\n const refCallback = useCallback(\n (element: HTMLElement | null) => {\n if (element) {\n // Todo: correctly wait for `useBrick` in v3 to be rendered (after layout)\n // Wait a macro task to let `useBrick` to be rendered.\n setTimeout(() => {\n onRendered?.(id, element.parentElement);\n });\n }\n },\n [id, onRendered]\n );\n\n const ignoredCallback = useCallback(() => {\n setTimeout(() => {\n onRendered?.(id, null);\n });\n }, [id, onRendered]);\n\n if (!useBrick) {\n return null;\n }\n\n return (\n <ReactUseBrick\n refCallback={refCallback}\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore For v3 only\n ignoredCallback={ignoredCallback}\n useBrick={useBrick}\n data={memoizedData}\n />\n );\n}\n","import React from \"react\";\n\nexport interface MarkerComponentProps {\n id: string;\n strokeColor?: string;\n}\n\nexport function MarkerComponent({\n id,\n strokeColor,\n}: MarkerComponentProps): JSX.Element {\n return (\n <marker\n id={id}\n viewBox=\"0 0 6 6\"\n refX={3}\n refY={3}\n markerWidth={6}\n markerHeight={6}\n orient=\"auto\"\n >\n <path\n d=\"M 0.5 0.5 L 5.5 3 L 0.5 5.5 z\"\n stroke={strokeColor}\n strokeWidth={1}\n fill={strokeColor}\n />\n </marker>\n );\n}\n","import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { ReactUseBrick } from \"@next-core/react-runtime\";\nimport type {\n DiagramNode,\n DiagramNodeId,\n NodeBrickConf,\n RefRepository,\n} from \"./interfaces\";\nimport { findNodeBrick } from \"./processors/findNodeBrick\";\n\nexport interface NodeComponentGroupProps {\n nodes?: DiagramNode[];\n nodeBricks?: NodeBrickConf[];\n onRendered?: (refRepository: RefRepository | null) => void;\n}\n\nexport function NodeComponentGroup({\n nodes,\n nodeBricks,\n onRendered,\n}: NodeComponentGroupProps): JSX.Element {\n const [rendered, setRendered] = useState(false);\n const [renderedIds, setRenderedIds] = useState<DiagramNodeId[]>([]);\n const refRepository = useMemo<RefRepository>(() => new Map(), []);\n\n const handleRenderer = useCallback(\n (id: DiagramNodeId, element: HTMLElement | null) => {\n if (element) {\n refRepository.set(id, element);\n }\n setRenderedIds((previous) =>\n previous.includes(id) ? previous : previous.concat(id)\n );\n },\n [refRepository]\n );\n\n const handleUnmount = useCallback(\n (id: DiagramNodeId) => {\n setRenderedIds((previous) => {\n const index = previous.indexOf(id);\n return index === -1\n ? previous\n : previous.slice(0, index).concat(previous.slice(index + 1));\n });\n refRepository.delete(id);\n },\n [refRepository]\n );\n\n useEffect(() => {\n // All nodes have been rendered.\n setRendered(!nodes?.some((node) => !renderedIds.includes(node.id)));\n }, [nodes, renderedIds]);\n\n useEffect(\n () => {\n onRendered?.(rendered ? refRepository : null);\n },\n // Dot not re-run effect when `onRendered` changed.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [/* onRendered, */ refRepository, rendered]\n );\n\n return (\n <React.Fragment>\n {nodes?.map((node) => (\n <div key={node.id} className=\"node\">\n <NodeComponent\n nodeBricks={nodeBricks}\n node={node}\n onRendered={handleRenderer}\n onUnmount={handleUnmount}\n />\n </div>\n ))}\n </React.Fragment>\n );\n}\n\nexport interface NodeComponentProps {\n node: DiagramNode;\n nodeBricks?: NodeBrickConf[];\n onRendered?: (id: DiagramNodeId, element: HTMLElement | null) => void;\n onUnmount?: (id: DiagramNodeId) => void;\n}\n\nexport function NodeComponent({\n node,\n nodeBricks,\n onRendered,\n onUnmount,\n}: NodeComponentProps): JSX.Element | null {\n const useBrick = useMemo(\n () => findNodeBrick(node, nodeBricks)?.useBrick,\n [node, nodeBricks]\n );\n const memoizedData = useMemo(() => ({ node }), [node]);\n\n useEffect(() => {\n if (!useBrick) {\n // Keep the same time delay for reporting rendered.\n setTimeout(() => {\n onRendered?.(node.id, null);\n });\n }\n }, [node.id, onRendered, useBrick]);\n\n useEffect(\n () => {\n return () => {\n onUnmount?.(node.id);\n };\n },\n // Only unmount once\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []\n );\n\n const refCallback = useCallback(\n (element: HTMLElement | null) => {\n if (element) {\n // Todo: correctly wait for `useBrick` in v3 to be rendered (after layout)\n // Wait a macro task to let `useBrick` to be rendered.\n setTimeout(() => {\n onRendered?.(node.id, element);\n });\n }\n },\n [node.id, onRendered]\n );\n\n const ignoredCallback = useCallback(() => {\n setTimeout(() => {\n onRendered?.(node.id, null);\n });\n }, [node.id, onRendered]);\n\n if (!useBrick) {\n return null;\n }\n\n return (\n <ReactUseBrick\n refCallback={refCallback}\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore For v3 only\n ignoredCallback={ignoredCallback}\n useBrick={useBrick}\n data={memoizedData}\n />\n );\n}\n","import { checkIfByTransform } from \"@next-core/runtime\";\nimport { NodeBrickConf, DiagramNode } from \"../interfaces\";\n\nexport function findNodeBrick(\n node: DiagramNode,\n nodeBricks: NodeBrickConf[] | undefined\n): NodeBrickConf | undefined {\n return nodeBricks?.find((item) => {\n if (item.nodeType) {\n return ([] as unknown[]).concat(item.nodeType).includes(node.type);\n }\n return checkIfByTransform(item, { node });\n });\n}\n","export const DEFAULT_LINE_STROKE_COLOR = \"var(--palette-gray-5)\";\nexport const DEFAULT_LINE_STROKE_WIDTH = 1;\nexport const DEFAULT_LINE_CURVE_TYPE = \"curveBasis\";\nexport const DEFAULT_LINE_INTERACT_STROKE_WIDTH = 20;\n","import type { PositionTuple, RenderedNode } from \"../interfaces\";\n\nexport function getCenterOffsets(\n renderedNodes: RenderedNode[],\n [canvasWidth, canvasHeight]: [canvasWidth: number, canvasHeight: number]\n): PositionTuple {\n let left = Infinity;\n let top = Infinity;\n let right = -Infinity;\n let bottom = -Infinity;\n for (const node of renderedNodes) {\n const hw = node.width / 2;\n const hh = node.height / 2;\n const l = node.x - hw;\n const r = node.x + hw;\n const t = node.y - hh;\n const b = node.y + hh;\n if (l < left) {\n left = l;\n }\n if (r > right) {\n right = r;\n }\n if (t < top) {\n top = t;\n }\n if (b > bottom) {\n bottom = b;\n }\n }\n\n const width = right - left;\n const height = bottom - top;\n\n return [(canvasWidth - width) / 2 - top, (canvasHeight - height) / 2 - left];\n}\n","import type {\n LineTextClipPath,\n RefRepository,\n RenderedLineLabel,\n} from \"../interfaces\";\n\nexport function getClipPathList(\n renderedLineLabels: RenderedLineLabel[],\n lineLabelsRefRepository: RefRepository\n) {\n return renderedLineLabels\n .map(({ id }) => {\n const element = lineLabelsRefRepository?.get(id);\n if (!element) {\n return;\n }\n const { offsetWidth, offsetHeight } = element;\n // Do not clip when the label takes no space.\n if (\n process.env.NODE_ENV !== \"test\" &&\n (offsetWidth === 0 || offsetHeight === 0)\n ) {\n return;\n }\n const padding = 3;\n return {\n x0: element.offsetLeft - offsetWidth / 2 - padding,\n y0: element.offsetTop - offsetHeight / 2 - padding,\n w: offsetWidth + padding * 2,\n h: offsetHeight + padding * 2,\n id,\n };\n })\n .filter(Boolean) as LineTextClipPath[];\n}\n","import dagre from \"@dagrejs/dagre\";\nimport type { DiagramEdge, DiagramNode, RenderedNode } from \"../interfaces\";\n\nexport function getDagreGraph(\n previousGraph: dagre.graphlib.Graph<RenderedNode> | null,\n nodes: DiagramNode[] | undefined,\n edges: DiagramEdge[] | undefined,\n dagreGraphOptions: dagre.GraphLabel\n) {\n // Create a new directed graph\n const newGraph = new dagre.graphlib.Graph<RenderedNode>();\n\n // Set an object for the graph label\n newGraph.setGraph(dagreGraphOptions);\n\n // Default to assigning a new object as a label for each new edge.\n newGraph.setDefaultEdgeLabel(function () {\n return {};\n });\n\n for (const node of nodes ?? []) {\n const previousNode = previousGraph?.node(node.id);\n newGraph.setNode(\n node.id,\n previousNode?.data === node\n ? previousNode\n : {\n id: node.id,\n data: node,\n }\n );\n }\n\n for (const edge of edges ?? []) {\n newGraph.setEdge(edge.source, edge.target, { data: edge });\n }\n\n return newGraph;\n}\n","import dagre from \"@dagrejs/dagre\";\nimport type {\n PartialRectTuple,\n RefRepository,\n RenderedEdge,\n RenderedNode,\n} from \"../interfaces\";\nimport { extractPartialRectTuple } from \"./extractPartialRectTuple\";\n\nexport interface RenderedDiagram {\n nodes: RenderedNode[];\n edges: RenderedEdge[];\n}\n\nexport function getRenderedDiagram({\n graph,\n nodesRefRepository,\n nodePadding,\n}: {\n graph: dagre.graphlib.Graph<RenderedNode> | null;\n nodesRefRepository: RefRepository | null;\n nodePadding: PartialRectTuple;\n}): RenderedDiagram | null {\n if (!graph || !nodesRefRepository || graph.nodeCount() === 0) {\n return null;\n }\n\n const paddings = extractPartialRectTuple(nodePadding);\n\n for (const id of graph.nodes()) {\n const node = graph.node(id);\n if (!node) {\n // eslint-disable-next-line no-console\n console.error(\"Diagram node not found: %s\", id);\n continue;\n }\n const element = nodesRefRepository.get(id);\n node.width = (element?.offsetWidth ?? 10) + paddings[1] + paddings[3];\n node.height = (element?.offsetHeight ?? 10) + paddings[0] + paddings[2];\n }\n\n dagre.layout(graph);\n\n // const positions = new Map<DiagramNodeId, NodePosition>();\n const renderedNodes: RenderedNode[] = [];\n\n for (const v of graph.nodes()) {\n const node = graph.node(v);\n if (!node) {\n continue;\n }\n renderedNodes.push(node);\n const x = node.x - node.width / 2 + paddings[3];\n const y = node.y - node.height / 2 + paddings[0];\n // positions.set(v, { x, y });\n\n const nodeContainer = nodesRefRepository.get(v)?.parentElement;\n if (nodeContainer) {\n nodeContainer.style.left = `${x}px`;\n nodeContainer.style.top = `${y}px`;\n nodeContainer.style.visibility = \"visible\";\n }\n }\n\n return {\n nodes: renderedNodes,\n edges: graph.edges().map((e) => graph.edge(e) as RenderedEdge),\n };\n}\n","import type { FullRectTuple, PartialRectTuple } from \"../interfaces\";\n\nexport function extractPartialRectTuple(\n value: PartialRectTuple\n): FullRectTuple {\n if (Array.isArray(value)) {\n const v0 = value[0];\n const v1 = value.length > 1 ? value[1]! : v0;\n const v2 = value.length > 2 ? value[2]! : v0;\n const v3 = value.length > 3 ? value[3]! : v1;\n return [v0, v1, v2, v3];\n }\n return new Array(4).fill(value) as FullRectTuple;\n}\n","import type { RenderedLine, RenderedLineLabel } from \"../interfaces\";\n\nexport function getRenderedLineLabels(\n previous: RenderedLineLabel[],\n renderedLines: RenderedLine[],\n linePaths: Map<string, SVGPathElement | null>\n) {\n if (previous.length === 0 && renderedLines.length === 0) {\n return previous;\n }\n return renderedLines\n .map(({ line: { text, label, $id }, edge }) => {\n const path = linePaths.get($id);\n if ((!text && !label) || !path || !path.getAttribute(\"d\")) {\n return;\n }\n\n // istanbul ignore next\n const { x, y, width, height } =\n process.env.NODE_ENV === \"test\"\n ? { x: 10, y: 20, width: 300, height: 400 }\n : path.getBBox();\n // Make redundant extra padding.\n const padding = 1000;\n const left = x - padding;\n const top = y - padding;\n const right = x + width + padding;\n const bottom = y + height + padding;\n\n // istanbul ignore next\n const point =\n process.env.NODE_ENV === \"test\"\n ? { x: 50, y: 50 }\n : path.getPointAtLength(path.getTotalLength() / 2);\n return {\n text,\n label,\n edge,\n position: [point.x, point.y],\n lineRect: { left, top, right, bottom },\n id: $id,\n };\n })\n .filter(Boolean) as RenderedLineLabel[];\n}\n","import {\n curveLinear,\n line,\n curveBasis,\n curveBumpX,\n curveBumpY,\n type CurveFactory,\n curveMonotoneX,\n curveNatural,\n curveMonotoneY,\n} from \"d3-shape\";\nimport type { CurveType, NodePosition } from \"../interfaces\";\n\n/**\n * Generate Line from points\n */\nexport function curveLine(\n points: Array<NodePosition>,\n arrowOffset: number,\n curveType?: CurveType\n): string {\n if (!Array.isArray(points)) {\n return \"\";\n }\n let curveFactory: CurveFactory;\n switch (curveType) {\n case \"curveBasis\":\n curveFactory = curveBasis;\n break;\n case \"curveBumpX\":\n curveFactory = curveBumpX;\n break;\n case \"curveBumpY\":\n curveFactory = curveBumpY;\n break;\n case \"curveMonotoneX\":\n curveFactory = curveMonotoneX;\n break;\n case \"curveMonotoneY\":\n curveFactory = curveMonotoneY;\n break;\n case \"curveNatural\":\n curveFactory = curveNatural;\n break;\n default:\n curveFactory = curveLinear;\n }\n let arrowOffsetX = 0;\n let arrowOffsetY = 0;\n if (arrowOffset) {\n const { x: x0, y: y0 } = points[points.length - 2];\n const { x: x1, y: y1 } = points[points.length - 1];\n const distance = Math.sqrt(Math.pow(x1 - x0, 2) + Math.pow(y1 - y0, 2));\n const ratio = arrowOffset / distance;\n arrowOffsetX = (x0 - x1) * ratio;\n arrowOffsetY = (y0 - y1) * ratio;\n }\n const transformPoints = points;\n const lineFunction = line()\n .x(\n (d, index) =>\n (d as unknown as { x: number }).x -\n (index === points.length - 1 ? arrowOffsetX : 0)\n )\n .y(\n (d, index) =>\n (d as unknown as { y: number }).y -\n (index === points.length - 1 ? arrowOffsetY : 0)\n )\n .curve(curveFactory);\n return lineFunction(transformPoints as unknown as Array<[number, number]>)!;\n}\n","import { findIndex, uniqueId } from \"lodash\";\nimport { __secret_internals } from \"@next-core/runtime\";\nimport type {\n LineConf,\n LineMarker,\n RenderedEdge,\n RenderedLine,\n} from \"../interfaces\";\nimport { matchEdgeByFilter } from \"./matchEdgeByFilter\";\nimport {\n DEFAULT_LINE_CURVE_TYPE,\n DEFAULT_LINE_INTERACT_STROKE_WIDTH,\n DEFAULT_LINE_STROKE_COLOR,\n DEFAULT_LINE_STROKE_WIDTH,\n} from \"../constants\";\nimport { curveLine } from \"../lines/curveLine\";\n\nexport function getRenderedLinesAndMarkers(\n renderedEdges: RenderedEdge[],\n lines: LineConf[] | undefined\n) {\n const renderedLines: RenderedLine[] = [];\n const markers: LineMarker[] = [];\n for (const { data, points } of renderedEdges) {\n const { label, ...restLineConf } =\n lines?.find((line) => matchEdgeByFilter(data, line)) ?? {};\n\n const computedLineConf = __secret_internals.legacyDoTransform(\n { edge: data },\n restLineConf\n ) as LineConf | undefined;\n if (computedLineConf?.draw === false) {\n continue;\n }\n const line: RenderedLine[\"line\"] = {\n strokeColor: DEFAULT_LINE_STROKE_COLOR,\n strokeWidth: DEFAULT_LINE_STROKE_WIDTH,\n curveType: DEFAULT_LINE_CURVE_TYPE,\n interactStrokeWidth: DEFAULT_LINE_INTERACT_STROKE_WIDTH,\n ...computedLineConf,\n label,\n $id: uniqueId(\"line-\"),\n };\n\n let markerIndex: number | undefined;\n if (line.arrow) {\n const marker: LineMarker = {\n strokeColor: line.strokeColor,\n };\n markerIndex = findIndex(markers, marker);\n if (markerIndex === -1) {\n markerIndex = markers.push(marker) - 1;\n }\n }\n\n const d = curveLine(points, line.arrow ? -5 : 0, line.curveType);\n\n renderedLines.push({\n line,\n d,\n markerIndex,\n edge: data,\n });\n }\n return {\n renderedLines,\n markers,\n };\n}\n","import { checkIfByTransform } from \"@next-core/runtime\";\nimport type { DiagramEdge, LineConf } from \"../interfaces\";\n\nexport function matchEdgeByFilter(\n edge: DiagramEdge,\n filter: LineConf\n): boolean {\n if (!filter) {\n return false;\n }\n if (filter.edgeType) {\n return ([] as string[]).concat(filter.edgeType).includes(edge.type!);\n }\n return checkIfByTransform(filter, { edge });\n}\n","import { checkIfByTransform, __secret_internals } from \"@next-core/runtime\";\nimport type React from \"react\";\nimport {\n DEFAULT_LINE_STROKE_COLOR,\n DEFAULT_LINE_STROKE_WIDTH,\n} from \"../constants\";\nimport type {\n ConnectLineState,\n DiagramNode,\n ConnectLineDetail,\n NodesConnectOptions,\n PositionTuple,\n RefRepository,\n ActiveTarget,\n} from \"../interfaces\";\n\nexport function handleDiagramMouseDown(\n event: React.MouseEvent,\n {\n nodes,\n nodesRefRepository,\n nodesConnect,\n setConnectLineState,\n setConnectLineTo,\n onSwitchActiveTarget,\n onNodesConnect,\n }: {\n nodes: DiagramNode[] | undefined;\n nodesConnect: NodesConnectOptions | undefined;\n nodesRefRepository: RefRepository | null;\n setConnectLineState: (\n value: React.SetStateAction<ConnectLineState | null>\n ) => void;\n setConnectLineTo: (value: React.SetStateAction<PositionTuple>) => void;\n onSwitchActiveTarget?(target: ActiveTarget | null): void;\n onNodesConnect?(detail: ConnectLineDetail): void;\n }\n) {\n function findNode(match: (element: HTMLElement) => boolean) {\n if (nodesRefRepository) {\n for (const [id, element] of nodesRefRepository) {\n if (match(element)) {\n return nodes?.find((node) => node.id === id);\n }\n }\n }\n }\n\n if (!nodesConnect) {\n return;\n }\n\n const source = findNode((element) =>\n element.contains(event.target as Node | null)\n );\n\n if (!source) {\n return;\n }\n\n if (nodesConnect.sourceType) {\n if (\n !([] as unknown[]).concat(nodesConnect.sourceType).includes(source.type)\n ) {\n return;\n }\n } else if (!checkIfByTransform(nodesConnect, { source })) {\n return;\n }\n\n setConnectLineState({\n from: [event.clientX, event.clientY],\n options: {\n strokeColor: DEFAULT_LINE_STROKE_COLOR,\n strokeWidth: DEFAULT_LINE_STROKE_WIDTH,\n ...(__secret_internals.legacyDoTransform(\n { source },\n nodesConnect\n ) as NodesConnectOptions),\n },\n });\n setConnectLineTo([event.clientX, event.clientY]);\n onSwitchActiveTarget?.({ type: \"node\", nodeId: source.id });\n const onMouseMove = (e: MouseEvent) => {\n setConnectLineTo([e.clientX, e.clientY]);\n };\n const onMouseUp = (e: MouseEvent) => {\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseUp);\n setConnectLineState(null);\n const eventTargets = e.composedPath();\n const target = findNode((element) => eventTargets.includes(element));\n if (target && source !== target) {\n onNodesConnect?.({ source, target });\n }\n };\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseUp);\n}\n","import { minBy } from \"lodash\";\nimport type {\n ActiveTarget,\n DiagramEdge,\n DiagramNode,\n RenderedEdge,\n RenderedNode,\n} from \"../interfaces\";\n\nexport type KeyboardAction =\n | KeyboardActionSwitchActiveNode\n | KeyboardActionDeleteNode\n | KeyboardActionDeleteEdge;\n\nexport interface KeyboardActionSwitchActiveNode {\n action: \"switch-active-node\";\n node?: DiagramNode;\n}\n\nexport interface KeyboardActionDeleteNode {\n action: \"delete-node\";\n node: DiagramNode;\n}\n\nexport interface KeyboardActionDeleteEdge {\n action: \"delete-edge\";\n edge: DiagramEdge;\n}\n\nexport function handleKeyboard(\n event: KeyboardEvent,\n {\n renderedNodes,\n renderedEdges,\n activeTarget,\n }: {\n renderedNodes: RenderedNode[];\n renderedEdges: RenderedEdge[];\n activeTarget: ActiveTarget | null | undefined;\n }\n): KeyboardAction | undefined {\n const activeNode =\n activeTarget?.type === \"node\"\n ? renderedNodes.find((node) => node.id === activeTarget.nodeId)\n : undefined;\n const activeEdge =\n activeTarget?.type === \"edge\" ? activeTarget.edge : undefined;\n\n if (!activeNode && !activeEdge) {\n return;\n }\n\n const key =\n event.key ||\n /* istanbul ignore next: compatibility */ event.keyCode ||\n /* istanbul ignore next: compatibility */ event.which;\n let action: KeyboardAction[\"action\"] | undefined;\n let node: RenderedNode | undefined;\n let edge: DiagramEdge | undefined;\n\n switch (key) {\n case \"Backspace\":\n case 8:\n case \"Delete\":\n case 46: {\n if (activeNode) {\n action = \"delete-node\";\n node = activeNode;\n } else {\n action = \"delete-edge\";\n edge = activeEdge;\n }\n break;\n }\n default:\n if (!activeNode) {\n return;\n }\n switch (key) {\n case \"ArrowLeft\":\n case 37: {\n node = moveOnX(renderedNodes, activeNode, -1);\n action = \"switch-active-node\";\n break;\n }\n case \"ArrowUp\":\n case 38: {\n node = moveOnY(renderedNodes, renderedEdges, activeNode, -1);\n action = \"switch-active-node\";\n break;\n }\n case \"ArrowRight\":\n case 39: {\n node = moveOnX(renderedNodes, activeNode, 1);\n action = \"switch-active-node\";\n break;\n }\n case \"ArrowDown\":\n case 40: {\n node = moveOnY(renderedNodes, renderedEdges, activeNode, 1);\n action = \"switch-active-node\";\n break;\n }\n }\n }\n if (action) {\n event.preventDefault();\n event.stopPropagation();\n return { action, node: node?.data, edge } as KeyboardAction;\n }\n}\n\nfunction moveOnX(\n renderedNodes: RenderedNode[],\n activeNode: RenderedNode,\n direction: 1 | -1\n) {\n let diff: number;\n const candidates = renderedNodes.filter(\n (node) =>\n node !== activeNode &&\n ((diff = (node.x - activeNode.x) * direction), diff > 0) &&\n diff > Math.abs(activeNode.y - node.y)\n );\n return minBy(\n candidates,\n (node) => (activeNode.y - node.y) ** 2 + (activeNode.x - node.x) ** 2\n );\n}\n\nfunction moveOnY(\n renderedNodes: RenderedNode[],\n renderedEdges: RenderedEdge[],\n activeNode: RenderedNode,\n direction: 1 | -1\n) {\n const from = direction === 1 ? \"source\" : \"target\";\n const to = direction === 1 ? \"target\" : \"source\";\n const candidateEdges = renderedEdges.filter(\n ({ data }) => data[from] === activeNode.id && data[to] !== activeNode.id\n );\n const candidates = candidateEdges\n .map(({ data }) => renderedNodes.find((node) => node.id === data[to]))\n .filter(\n (node) => node && (node.y - activeNode.y) * direction > 0\n ) as RenderedNode[];\n return minBy(\n candidates,\n (node) => (activeNode.y - node.y) ** 2 + (activeNode.x - node.x) ** 2\n );\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block;width:100%;height:100%;overflow:hidden}:host([hidden]){display:none}*{box-sizing:border-box}.diagram{width:100%;height:100%;position:relative;opacity:0}.diagram:focus{outline:none}.ready{opacity:1}.dragger,\n.lines,\n.line-labels,\n.nodes{position:absolute;top:0;left:0}.node{position:absolute;visibility:hidden}.dragger{width:100%;height:100%;cursor:-webkit-grab;cursor:grab}.grabbing{cursor:-webkit-grabbing;cursor:grabbing}.line-label{position:absolute;transform:translate(-50%,-50%);white-space:pre-line;width:-webkit-max-content;width:-moz-max-content;width:max-content;text-align:center}.lines{pointer-events:none}.line.interactable{pointer-events:auto}.connect-line{position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none}.connect-line:not(.connecting){display:none}.line:not(.active) .active-bg{display:none}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n"],"names":["ClipPathComponent","_ref","clipPath","clipPathPrefix","renderedLineLabels","x0","y0","w","h","id","lineText","find","item","left","top","right","bottom","lineRect","React","key","concat","points","join","ConnectLineComponent","connectLineState","connectLineTo","markerPrefix","width","height","className","classNames","connecting","from","MarkerComponent","strokeColor","options","d","fill","stroke","strokeWidth","markerEnd","arrow","undefined","LineComponent","line","markerIndex","edge","linePaths","clipPathList","activeLineMarkerPrefix","activeEdge","onLineClick","onLineDoubleClick","some","clip","$id","interactable","active","source","target","onClick","onDoubleClick","e","preventDefault","stopPropagation","style","cursor","interactStrokeWidth","ref","element","set","markerStart","LineLabelComponentGroup","labels","onRendered","rendered","setRendered","useState","renderedIds","setRenderedIds","refRepository","useMemo","Map","handleRenderer","useCallback","previous","includes","handleUnmount","index","indexOf","slice","delete","useEffect","label","map","_ref2","text","position","LineLabelComponent","onUnmount","LineTextComponent","_ref3","refCallback","_objectSpread","content","_ref4","useBrick","checkIfByTransform","memoizedData","setTimeout","parentElement","ignoredCallback","ReactUseBrick","data","viewBox","refX","refY","markerWidth","markerHeight","orient","NodeComponentGroup","nodes","nodeBricks","node","NodeComponent","_findNodeBrick","nodeType","type","findNodeBrick","DEFAULT_LINE_STROKE_COLOR","DEFAULT_LINE_STROKE_WIDTH","DEFAULT_LINE_CURVE_TYPE","DEFAULT_LINE_INTERACT_STROKE_WIDTH","getCenterOffsets","renderedNodes","canvasWidth","canvasHeight","Infinity","hw","hh","l","x","r","t","y","b","getClipPathList","lineLabelsRefRepository","get","offsetWidth","offsetHeight","offsetLeft","offsetTop","padding","filter","Boolean","getDagreGraph","previousGraph","edges","dagreGraphOptions","newGraph","dagre","Graph","setGraph","setDefaultEdgeLabel","previousNode","setNode","setEdge","getRenderedDiagram","graph","nodesRefRepository","nodePadding","nodeCount","paddings","value","Array","isArray","v0","v1","length","extractPartialRectTuple","_element$offsetWidth","_element$offsetHeight","console","error","v","_nodesRefRepository$g","push","nodeContainer","visibility","getRenderedLineLabels","renderedLines","path","getAttribute","getBBox","point","getPointAtLength","getTotalLength","curveLine","arrowOffset","curveType","curveFactory","curveBasis","curveBumpX","curveBumpY","curveMonotoneX","curveMonotoneY","curveNatural","curveLinear","arrowOffsetX","arrowOffsetY","x1","y1","ratio","Math","sqrt","pow","transformPoints","curve","lineFunction","getRenderedLinesAndMarkers","renderedEdges","lines","markers","_loop","_lines$find","matchEdgeByFilter","edgeType","restLineConf","_objectWithoutProperties","_excluded","computedLineConf","__secret_internals","legacyDoTransform","draw","uniqueId","marker","findIndex","handleDiagramMouseDown","event","nodesConnect","setConnectLineState","setConnectLineTo","onSwitchActiveTarget","onNodesConnect","findNode","match","_ret","contains","sourceType","clientX","clientY","nodeId","onMouseMove","onMouseUp","document","removeEventListener","eventTargets","composedPath","addEventListener","handleKeyboard","activeTarget","activeNode","action","_node","keyCode","which","moveOnX","moveOnY","direction","diff","candidates","abs","minBy","to","___CSS_LOADER_EXPORT___","module","toString"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_next_bricks_diagram=self.webpackChunk_next_bricks_diagram||[]).push([[9393],{9393:(e,t,a)=>{a.r(t);var n,i,l,r,s,o,c,u,h,d,p,b,g,v,Z,f,k,w,m,y,E,M,C,W,x,L,S,R,T,D,N,P,A,B,K,O,z,H,_,I,X,Y,V,q,$,j,F,G,J=a(3028),Q=a(3395),U=a(1815),ee=a(381),te=a(687),ae=a(5066),ne=a(8657),ie=a.n(ne),le=a(5727),re=a(305),se=(a(928),a(1105)),oe=a(7397),ce=a(2779),ue=a.n(ce),he=a(1211),de=a(2370),pe=a(5702),be=a(6365),ge=a(5731),ve=a(7853),Ze=a(6462),fe=a(9575),ke=a(2260),we=a(7587),me=a(1251),ye=a(4126),Ee=a(7201),Me=a(5173),Ce=a(4510),We=a(6436),{defineElement:xe,property:Le,event:Se,method:Re}=(0,le.createDecorators)(),Te=(0,ne.forwardRef)(wt);i=xe("eo-diagram",{styleTexts:[We.Z]}),l=Le({type:String}),s=Le({attribute:!1}),c=Le({attribute:!1}),h=Le({attribute:!1}),p=Le({attribute:!1}),g=Le({attribute:!1}),Z=Le({attribute:!1}),k=Le({type:Boolean}),m=Le({attribute:!1}),E=Se({type:"activeTarget.change"}),x=Se({type:"node.delete"}),T=Se({type:"edge.delete"}),A=Se({type:"line.click"}),z=Se({type:"line.dblclick"}),X=Se({type:"nodes.connect"}),$=Re();var De=new WeakMap,Ne=new WeakMap,Pe=new WeakMap,Ae=new WeakMap,Be=new WeakMap,Ke=new WeakMap,Oe=new WeakMap,ze=new WeakMap,He=new WeakMap,_e=new WeakMap,Ie=new WeakMap,Xe=new WeakMap,Ye=new WeakMap,Ve=new WeakMap,qe=new WeakMap,$e=new WeakMap,je=new WeakMap,Fe=new WeakMap,Ge=new WeakMap,Je=new WeakMap,Qe=new WeakMap,Ue=new WeakMap,et=new WeakMap,tt=new WeakMap,at=new WeakMap,nt=new WeakMap,it=new WeakMap,lt=new WeakMap,rt=new WeakMap;class st extends re.ReactNextElement{constructor(){super(...arguments),(0,Q.Z)(this,nt,{get:kt,set:ft}),(0,Q.Z)(this,et,{get:Zt,set:vt}),(0,Q.Z)(this,Je,{get:gt,set:bt}),(0,Q.Z)(this,je,{get:pt,set:dt}),(0,Q.Z)(this,Ve,{get:ht,set:ut}),(0,Q.Z)(this,Ie,{get:ct,set:ot}),(0,Q.Z)(this,De,{writable:!0,value:(j(this),r(this))}),(0,Q.Z)(this,Ne,{writable:!0,value:o(this)}),(0,Q.Z)(this,Pe,{writable:!0,value:u(this)}),(0,Q.Z)(this,Ae,{writable:!0,value:d(this)}),(0,Q.Z)(this,Be,{writable:!0,value:b(this)}),(0,Q.Z)(this,Ke,{writable:!0,value:v(this)}),(0,Q.Z)(this,Oe,{writable:!0,value:f(this)}),(0,Q.Z)(this,ze,{writable:!0,value:w(this)}),(0,Q.Z)(this,He,{writable:!0,value:y(this)}),(0,Q.Z)(this,_e,{writable:!0,value:M(this)}),(0,Q.Z)(this,Xe,{writable:!0,value:e=>{(0,te.Z)(this,Ie).emit(e)}}),(0,Q.Z)(this,Ye,{writable:!0,value:L(this)}),(0,Q.Z)(this,qe,{writable:!0,value:e=>{(0,te.Z)(this,Ve).emit(e)}}),(0,Q.Z)(this,$e,{writable:!0,value:D(this)}),(0,Q.Z)(this,Fe,{writable:!0,value:e=>{(0,te.Z)(this,je).emit(e)}}),(0,Q.Z)(this,Ge,{writable:!0,value:B(this)}),(0,Q.Z)(this,Qe,{writable:!0,value:e=>{(0,te.Z)(this,Je).emit(e)}}),(0,Q.Z)(this,Ue,{writable:!0,value:H(this)}),(0,Q.Z)(this,tt,{writable:!0,value:e=>{(0,te.Z)(this,et).emit(e)}}),(0,Q.Z)(this,at,{writable:!0,value:Y(this)}),(0,Q.Z)(this,it,{writable:!0,value:e=>{(0,te.Z)(this,nt).emit(e)}}),(0,Q.Z)(this,lt,{writable:!0,value:e=>{this.activeTarget=e}}),(0,Q.Z)(this,rt,{writable:!0,value:(0,ne.createRef)()})}get layout(){return(0,te.Z)(this,De)}set layout(e){(0,ee.Z)(this,De,e)}get nodes(){return(0,te.Z)(this,Ne)}set nodes(e){(0,ee.Z)(this,Ne,e)}get edges(){return(0,te.Z)(this,Pe)}set edges(e){(0,ee.Z)(this,Pe,e)}get nodeBricks(){return(0,te.Z)(this,Ae)}set nodeBricks(e){(0,ee.Z)(this,Ae,e)}get lines(){return(0,te.Z)(this,Be)}set lines(e){(0,ee.Z)(this,Be,e)}get layoutOptions(){return(0,te.Z)(this,Ke)}set layoutOptions(e){(0,ee.Z)(this,Ke,e)}get activeTarget(){return(0,te.Z)(this,Oe)}set activeTarget(e){(0,ee.Z)(this,Oe,e)}get disableKeyboardAction(){return(0,te.Z)(this,ze)}set disableKeyboardAction(e){(0,ee.Z)(this,ze,e)}get nodesConnect(){return(0,te.Z)(this,He)}set nodesConnect(e){(0,ee.Z)(this,He,e)}callOnLineLabel(e,t){for(var a,n=arguments.length,i=new Array(n>2?n-2:0),l=2;l<n;l++)i[l-2]=arguments[l];null===(a=(0,te.Z)(this,rt).current)||void 0===a||a.callOnLineLabel(e,t,...i)}render(){return ie().createElement(Te,{ref:(0,te.Z)(this,rt),layout:this.layout,nodes:this.nodes,edges:this.edges,nodeBricks:this.nodeBricks,lines:this.lines,layoutOptions:this.layoutOptions,nodesConnect:this.nodesConnect,activeTarget:this.activeTarget,disableKeyboardAction:this.disableKeyboardAction,onActiveTargetChange:(0,te.Z)(this,Xe),onSwitchActiveTarget:(0,te.Z)(this,lt),onNodeDelete:(0,te.Z)(this,qe),onEdgeDelete:(0,te.Z)(this,Fe),onLineClick:(0,te.Z)(this,Qe),onLineDoubleClick:(0,te.Z)(this,tt),onNodesConnect:(0,te.Z)(this,it)})}}function ot(e){W(this,e)}function ct(){return C(this)}function ut(e){R(this,e)}function ht(){return S(this)}function dt(e){P(this,e)}function pt(){return N(this)}function bt(e){O(this,e)}function gt(){return K(this)}function vt(e){I(this,e)}function Zt(){return _(this)}function ft(e){q(this,e)}function kt(){return V(this)}function wt(e,t){var{layout:a,nodes:n,edges:i,nodeBricks:l,lines:r,layoutOptions:s,nodesConnect:o,activeTarget:c,disableKeyboardAction:u,onActiveTargetChange:h,onSwitchActiveTarget:d,onNodeDelete:p,onEdgeDelete:b,onLineClick:g,onLineDoubleClick:v,onNodesConnect:Z}=e,[f,k]=(0,ne.useState)(null),[w,m]=(0,ne.useState)(!1),[y,E]=(0,ne.useState)(0),[M,C]=(0,ne.useState)(null),[W,x]=(0,ne.useState)(0),[L,S]=(0,ne.useState)(null),[R,T]=(0,ne.useState)([]),[D,N]=(0,ne.useState)([]),[P,A]=(0,ne.useState)([]),B=(0,ne.useRef)(null),[K,O]=(0,ne.useState)(!1),[z,H]=(0,ne.useState)({k:1,x:0,y:0}),_=(0,ne.useRef)(new Map),I=(0,ne.useRef)(null),X=(0,ne.useRef)(null),[Y,V]=(0,ne.useState)([0,0]),[q,$]=(0,ne.useState)(!1),[j,F]=(0,ne.useState)([0,0]),[G,Q]=(0,ne.useState)(null);(0,ne.useImperativeHandle)(t,(()=>({callOnLineLabel(e,t){for(var a,n=arguments.length,i=new Array(n>2?n-2:0),l=2;l<n;l++)i[l-2]=arguments[l];null==L||null===(a=L.get(e))||void 0===a||null===(a=a.firstElementChild)||void 0===a||a[t](...i)}})));var U=(0,ne.useCallback)((e=>{(0,Ce.k)(e,{nodes:n,nodesRefRepository:M,nodesConnect:o,setConnectLineState:Q,setConnectLineTo:F,onSwitchActiveTarget:d,onNodesConnect:Z})}),[n,o,M,Z,d]),ee=(0,ne.useMemo)((()=>(0,J.Z)({rankdir:"TB",ranksep:50,edgesep:10,nodesep:50,nodePadding:0},s)),[s]),{nodePadding:te}=ee,ae=(0,ne.useMemo)((()=>(0,he.pick)(ee,["rankdir","ranksep","edgesep","nodesep","align"])),[ee]),le=(0,ne.useRef)(!1);(0,ne.useEffect)((()=>{le.current?null==h||h(null!=c?c:null):le.current=!0}),[n,c,h]),(0,ne.useEffect)((()=>{k((e=>(0,Me.T)(e,n,i,ae)))}),[i,n,ae]),(0,ne.useEffect)((()=>{var e=(0,Ee.E)({graph:f,nodesRefRepository:M,nodePadding:te});e&&(T(e.nodes),N(e.edges))}),[f,M,y,te]);var{renderedLines:re,markers:ce}=(0,ne.useMemo)((()=>(0,ge.b)(D,r)),[r,D]);(0,ne.useEffect)((()=>{var e=I.current;if(e&&!u){var t=e=>{var t=(0,pe.p)(e,{renderedNodes:R,renderedEdges:D,activeTarget:c});"delete-node"===(null==t?void 0:t.action)?null==p||p(t.node):"delete-edge"===(null==t?void 0:t.action)?null==b||b(t.edge):"switch-active-node"===(null==t?void 0:t.action)&&t.node&&(null==d||d({type:"node",nodeId:t.node.id}))};return e.addEventListener("keydown",t),()=>{e.removeEventListener("keydown",t)}}}),[c,R,D,u,d,p,b]);var We=(0,ne.useCallback)((e=>{e&&(E((e=>e+1)),C(e)),m((t=>t||!!e))}),[]),xe=(0,ne.useCallback)((e=>{e&&(x((e=>e+1)),S(e))}),[]);(0,ne.useEffect)((()=>{var e=I.current,t=B.current;if(e&&t){var a=!1,n=(0,oe.sP)().scaleExtent([1,1]).on("start",(()=>{a=!1,O(!0)})).on("zoom",(e=>{a=!0,H(e.transform)})).on("end",(()=>{O(!1),a||null==d||d(null)}));(0,se.Z)(t).call(n),(0,se.Z)(e).on("wheel.zoom",(e=>{e.stopPropagation(),e.preventDefault(),e.ctrlKey||n.translateBy((0,se.Z)(t),e.wheelDeltaX/5,e.wheelDeltaY/5)}))}}),[d]),(0,ne.useEffect)((()=>{var e=I.current;0!==R.length&&e&&!q&&(V((0,be.i)(R,[e.clientWidth,e.clientHeight])),$(!0))}),[q,R]);var Le=(0,ne.useMemo)((()=>"".concat((0,he.uniqueId)("diagram-"),"-")),[]),Se="".concat(Le,"line-arrow-"),Re="".concat(Le,"clip-path-"),Te="".concat(Le,"active-line-");(0,ne.useEffect)((()=>{A((e=>(0,ye.K)(e,re,_.current)))}),[re]);var[De,Ne]=ie().useState([]);if((0,ne.useEffect)((()=>{L&&Ne((0,me.i)(P,L))}),[W,L,P]),"dagre"!==a)return ie().createElement("div",null,'Diagram layout not supported: "'.concat(a,'"'));var Pe=[Y[0]+z.x,Y[1]+z.y];return ie().createElement("div",{className:ue()("diagram",{ready:w&&q}),tabIndex:-1,ref:I,onMouseDown:U},ie().createElement("div",{className:ue()("dragger",{grabbing:K}),ref:B}),ie().createElement("svg",{width:"100%",height:"100%",className:"lines"},ie().createElement("defs",null,ce.map(((e,t)=>{var{strokeColor:a}=e;return ie().createElement(fe.C,{key:t,id:"".concat(Se).concat(t),strokeColor:a})})),De.map((e=>ie().createElement(ke.K,{key:e.id,clipPath:e,clipPathPrefix:Re,renderedLineLabels:P}))),ie().createElement("marker",{id:"".concat(Te,"start"),viewBox:"0 0 8 8",refX:4,refY:4,markerWidth:8,markerHeight:8,orient:"auto"},ie().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)"})),ie().createElement("marker",{id:"".concat(Te,"end"),viewBox:"0 0 14 8",refX:3,refY:4,markerWidth:14,markerHeight:8,orient:"auto"},ie().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)"}),ie().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)"}))),ie().createElement("g",{transform:"translate(".concat(Pe[0]," ").concat(Pe[1],") scale(").concat(z.k,")")},re.map((e=>ie().createElement(Ze.y,{key:e.line.$id,line:e,linePaths:_.current,clipPathList:De,markerPrefix:Se,clipPathPrefix:Re,activeLineMarkerPrefix:Te,activeEdge:"edge"===(null==c?void 0:c.type)?c.edge:null,onLineClick:g,onLineDoubleClick:v}))))),ie().createElement("div",{className:"line-labels",style:{left:Pe[0],top:Pe[1]}},ie().createElement(ve.L8,{labels:P,onRendered:xe})),ie().createElement("div",{className:"nodes",ref:X,style:{left:Pe[0],top:Pe[1]}},ie().createElement(de.n,{nodes:n,nodeBricks:l,onRendered:We})),ie().createElement(we.f,{connectLineState:G,connectLineTo:j,markerPrefix:Se}))}F=st,({e:[r,o,u,d,b,v,f,w,y,M,C,W,L,S,R,D,N,P,B,K,O,H,_,I,Y,V,q,j],c:[G,n]}=(0,ae.Z)(F,[[l,1,"layout"],[s,1,"nodes"],[c,1,"edges"],[h,1,"nodeBricks"],[p,1,"lines"],[g,1,"layoutOptions"],[Z,1,"activeTarget"],[k,1,"disableKeyboardAction"],[m,1,"nodesConnect"],[E,1,"activeTargetChangeEvent",e=>(0,te.Z)(e,_e),(e,t)=>(0,ee.Z)(e,_e,t)],[x,1,"nodeDelete",e=>(0,te.Z)(e,Ye),(e,t)=>(0,ee.Z)(e,Ye,t)],[T,1,"edgeDelete",e=>(0,te.Z)(e,$e),(e,t)=>(0,ee.Z)(e,$e,t)],[A,1,"lineClick",e=>(0,te.Z)(e,Ge),(e,t)=>(0,ee.Z)(e,Ge,t)],[z,1,"lineDoubleClick",e=>(0,te.Z)(e,Ue),(e,t)=>(0,ee.Z)(e,Ue,t)],[X,1,"nodesConnect",e=>(0,te.Z)(e,at),(e,t)=>(0,ee.Z)(e,at,t)],[$,2,"callOnLineLabel"]],[i],0,(e=>rt.has((0,U.Z)(e))),re.ReactNextElement)),n();var mt,yt,Et,Mt,Ct,Wt,xt,Lt,St,Rt,Tt,Dt,Nt,Pt,At,Bt,Kt,Ot,zt=a(8074),{defineElement:Ht,property:_t,event:It,method:Xt}=(0,le.createDecorators)(),Yt=(0,ne.forwardRef)(la);yt=Ht("diagram.editable-label",{styleTexts:[zt.Z]}),Et=_t(),Ct=_t({render:!1}),xt=It({type:"label.editing.change"}),Tt=It({type:"label.change"}),At=Xt();var Vt=new WeakMap,qt=new WeakMap,$t=new WeakMap,jt=new WeakMap,Ft=new WeakMap,Gt=new WeakMap,Jt=new WeakMap,Qt=new WeakMap,Ut=new WeakMap;class ea extends re.ReactNextElement{constructor(){super(...arguments),(0,Q.Z)(this,Jt,{get:ia,set:na}),(0,Q.Z)(this,jt,{get:aa,set:ta}),(0,Q.Z)(this,Vt,{writable:!0,value:(Bt(this),Mt(this))}),(0,Q.Z)(this,qt,{writable:!0,value:Wt(this)}),(0,Q.Z)(this,$t,{writable:!0,value:Lt(this)}),(0,Q.Z)(this,Ft,{writable:!0,value:e=>{(0,te.Z)(this,jt).emit(e)}}),(0,Q.Z)(this,Gt,{writable:!0,value:Dt(this)}),(0,Q.Z)(this,Qt,{writable:!0,value:e=>{(0,te.Z)(this,Jt).emit(e)}}),(0,Q.Z)(this,Ut,{writable:!0,value:(0,ne.createRef)()})}get label(){return(0,te.Z)(this,Vt)}set label(e){(0,ee.Z)(this,Vt,e)}get type(){return(0,te.Z)(this,qt)}set type(e){(0,ee.Z)(this,qt,e)}enableEditing(){var e;null===(e=(0,te.Z)(this,Ut).current)||void 0===e||e.enableEditing()}render(){return ie().createElement(Yt,{ref:(0,te.Z)(this,Ut),label:this.label,onLabelEditingChange:(0,te.Z)(this,Ft),onLabelChange:(0,te.Z)(this,Qt)})}}function ta(e){Rt(this,e)}function aa(){return St(this)}function na(e){Pt(this,e)}function ia(){return Nt(this)}function la(e,t){var{label:a,onLabelChange:n,onLabelEditingChange:i}=e,l=null!=a?a:"",[r,s]=(0,ne.useState)(l),[o,c]=(0,ne.useState)(!1),u=(0,ne.useRef)(!1),[h,d]=(0,ne.useState)(!1),p=(0,ne.useRef)(null);(0,ne.useImperativeHandle)(t,(()=>({enableEditing(){c(!0)}}))),(0,ne.useEffect)((()=>{s(l)}),[l]);var b=(0,ne.useCallback)((e=>{e.preventDefault(),e.stopPropagation(),c(!0)}),[]);(0,ne.useEffect)((()=>{var e,t;o&&(null===(e=p.current)||void 0===e||e.focus({preventScroll:!0}),null===(t=p.current)||void 0===t||t.select())}),[o]),(0,ne.useEffect)((()=>{u.current?null==i||i(o):u.current=!0}),[o,i]);var g=(0,ne.useCallback)((e=>{s(e.target.value)}),[]),v=(0,ne.useCallback)((e=>{var t,a=e.key||e.keyCode||e.which;"Enter"!==a&&13!==a||null===(t=p.current)||void 0===t||t.blur()}),[]),Z=(0,ne.useCallback)((()=>{c(!1),d(!0)}),[]);return(0,ne.useEffect)((()=>{h&&(null==n||n(r),d(!1))}),[r,n,h]),ie().createElement("div",{className:ue()("label",{editing:o,empty:!r})},ie().createElement("input",{className:"label-input",value:r,ref:p,onChange:g,onKeyDown:v,onBlur:Z}),ie().createElement("div",{className:"label-text",onDoubleClick:b},r))}Kt=ea,({e:[Mt,Wt,Lt,St,Rt,Dt,Nt,Pt,Bt],c:[Ot,mt]}=(0,ae.Z)(Kt,[[Et,1,"label"],[Ct,1,"type"],[xt,1,"labelEditingChange",e=>(0,te.Z)(e,$t),(e,t)=>(0,ee.Z)(e,$t,t)],[Tt,1,"labelChange",e=>(0,te.Z)(e,Gt),(e,t)=>(0,ee.Z)(e,Gt,t)],[At,2,"enableEditing"]],[yt],0,(e=>Ut.has((0,U.Z)(e))),re.ReactNextElement)),mt()},8074:(e,t,a)=>{a.d(t,{Z:()=>s});var n=a(9601),i=a.n(n),l=a(2609),r=a.n(l)()(i());r.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=r.toString()}}]);
|
|
2
|
+
//# sourceMappingURL=9393.18aab720.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/9393.18aab720.js","mappings":"qOAmKWA,E,8UA9GL,cAAEC,GAAa,SAAEC,GAAUC,MAAK,UAAEC,KAAWC,EAAAA,GAAAA,oBAsBtCC,IAAqBC,EAAAA,GAAAA,YAAWC,IAE7CC,EAICR,GAAc,aAAc,CAC3BS,WAAY,CAACC,GAAAA,KACbC,EAKCV,GAAS,CAAEW,KAAMC,SAASC,EAG1Bb,GAAS,CAAEc,WAAW,IAAQC,EAG9Bf,GAAS,CAAEc,WAAW,IAAQE,EAG9BhB,GAAS,CAAEc,WAAW,IAAQG,EAG9BjB,GAAS,CAAEc,WAAW,IAAQI,EAG9BlB,GAAS,CAAEc,WAAW,IAAQK,EAG9BnB,GAAS,CAAEc,WAAW,IAAQM,EAG9BpB,GAAS,CAAEW,KAAMU,UAAUC,EAG3BtB,GAAS,CAAEc,WAAW,IAAQS,EAG9BtB,GAAM,CAAEU,KAAM,wBAAwBa,EAOtCvB,GAAM,CAAEU,KAAM,gBAAgBc,EAO9BxB,GAAM,CAAEU,KAAM,gBAAgBe,EAO9BzB,GAAM,CAAEU,KAAM,eAAegB,EAO7B1B,GAAM,CAAEU,KAAM,kBAAkBiB,EAOhC3B,GAAM,CAAEU,KAAM,kBAAkBkB,EAahC3B,KAAQ,IAAA4B,GAAA,IAAAC,QAAAC,GAAA,IAAAD,QAAAE,GAAA,IAAAF,QAAAG,GAAA,IAAAH,QAAAI,GAAA,IAAAJ,QAAAK,GAAA,IAAAL,QAAAM,GAAA,IAAAN,QAAAO,GAAA,IAAAP,QAAAQ,GAAA,IAAAR,QAAAS,GAAA,IAAAT,QAAAU,GAAA,IAAAV,QAAAW,GAAA,IAAAX,QAAAY,GAAA,IAAAZ,QAAAa,GAAA,IAAAb,QAAAc,GAAA,IAAAd,QAAAe,GAAA,IAAAf,QAAAgB,GAAA,IAAAhB,QAAAiB,GAAA,IAAAjB,QAAAkB,GAAA,IAAAlB,QAAAmB,GAAA,IAAAnB,QAAAoB,GAAA,IAAApB,QAAAqB,GAAA,IAAArB,QAAAsB,GAAA,IAAAtB,QAAAuB,GAAA,IAAAvB,QAAAwB,GAAA,IAAAxB,QAAAyB,GAAA,IAAAzB,QAAA0B,GAAA,IAAA1B,QAAA2B,GAAA,IAAA3B,QAAA4B,GAAA,IAAA5B,QAlFX,MAAA6B,WAGwBC,GAAAA,iBAA2CC,cAAA,SAAAC,YAAAC,EAAAA,EAAAA,GAAA,KAAAR,GAAA,CAAAS,IAAAC,GAAAC,IAAAC,MAAAJ,EAAAA,EAAAA,GAAA,KAAAX,GAAA,CAAAY,IAAAI,GAAAF,IAAAG,MAAAN,EAAAA,EAAAA,GAAA,KAAAd,GAAA,CAAAe,IAAAM,GAAAJ,IAAAK,MAAAR,EAAAA,EAAAA,GAAA,KAAAjB,GAAA,CAAAkB,IAAAQ,GAAAN,IAAAO,MAAAV,EAAAA,EAAAA,GAAA,KAAApB,GAAA,CAAAqB,IAAAU,GAAAR,IAAAS,MAAAZ,EAAAA,EAAAA,GAAA,KAAAvB,GAAA,CAAAwB,IAAAY,GAAAV,IAAAW,MACjEd,EAAAA,EAAAA,GAAA,KAAAlC,GAAA,CAAAiD,UAAA,EAAAC,OAAAC,EAAA,MAAAC,EAAA,UAAAlB,EAAAA,EAAAA,GAAA,KAAAhC,GAAA,CAAA+C,UAAA,EAAAC,MAAAG,EAAA,SAAAnB,EAAAA,EAAAA,GAAA,KAAA/B,GAAA,CAAA8C,UAAA,EAAAC,MAAAI,EAAA,SAAApB,EAAAA,EAAAA,GAAA,KAAA9B,GAAA,CAAA6C,UAAA,EAAAC,MAAAK,EAAA,SAAArB,EAAAA,EAAAA,GAAA,KAAA7B,GAAA,CAAA4C,UAAA,EAAAC,MAAAM,EAAA,SAAAtB,EAAAA,EAAAA,GAAA,KAAA5B,GAAA,CAAA2C,UAAA,EAAAC,MAAAO,EAAA,SAAAvB,EAAAA,EAAAA,GAAA,KAAA3B,GAAA,CAAA0C,UAAA,EAAAC,MAAAQ,EAAA,SAAAxB,EAAAA,EAAAA,GAAA,KAAA1B,GAAA,CAAAyC,UAAA,EAAAC,MAAAS,EAAA,SAAAzB,EAAAA,EAAAA,GAAA,KAAAzB,GAAA,CAAAwC,UAAA,EAAAC,MAAAU,EAAA,SAAA1B,EAAAA,EAAAA,GAAA,KAAAxB,GAAA,CAAAuC,UAAA,EAAAC,MAAAW,EAAA,SAAA3B,EAAAA,EAAAA,GAAA,KAAAtB,GAAA,CAAAqC,UAAA,EAAAC,MAiC6BY,KAC3BC,EAAAA,GAAAA,GAAAC,KAAIrD,IAA0BsD,KAAKH,EAAO,KAC3C5B,EAAAA,EAAAA,GAAA,KAAArB,GAAA,CAAAoC,UAAA,EAAAC,MAAAgB,EAAA,SAAAhC,EAAAA,EAAAA,GAAA,KAAAnB,GAAA,CAAAkC,UAAA,EAAAC,MAKoBiB,KACnBJ,EAAAA,GAAAA,GAAAC,KAAIlD,IAAamD,KAAKE,EAAK,KAC5BjC,EAAAA,EAAAA,GAAA,KAAAlB,GAAA,CAAAiC,UAAA,EAAAC,MAAAkB,EAAA,SAAAlC,EAAAA,EAAAA,GAAA,KAAAhB,GAAA,CAAA+B,UAAA,EAAAC,MAKoBmB,KACnBN,EAAAA,GAAAA,GAAAC,KAAI/C,IAAagD,KAAKI,EAAK,KAC5BnC,EAAAA,EAAAA,GAAA,KAAAf,GAAA,CAAA8B,UAAA,EAAAC,MAAAoB,EAAA,SAAApC,EAAAA,EAAAA,GAAA,KAAAb,GAAA,CAAA4B,UAAA,EAAAC,MAKmBqB,KAClBR,EAAAA,GAAAA,GAAAC,KAAI5C,IAAY6C,KAAKM,EAAK,KAC3BrC,EAAAA,EAAAA,GAAA,KAAAZ,GAAA,CAAA2B,UAAA,EAAAC,MAAAsB,EAAA,SAAAtC,EAAAA,EAAAA,GAAA,KAAAV,GAAA,CAAAyB,UAAA,EAAAC,MAKyBqB,KACxBR,EAAAA,GAAAA,GAAAC,KAAIzC,IAAkB0C,KAAKM,EAAK,KACjCrC,EAAAA,EAAAA,GAAA,KAAAT,GAAA,CAAAwB,UAAA,EAAAC,MAAAuB,EAAA,SAAAvC,EAAAA,EAAAA,GAAA,KAAAP,GAAA,CAAAsB,UAAA,EAAAC,MAKsBwB,KACrBX,EAAAA,GAAAA,GAAAC,KAAItC,IAAeuC,KAAKS,EAAO,KAChCxC,EAAAA,EAAAA,GAAA,KAAAN,GAAA,CAAAqB,UAAA,EAAAC,MAE4BY,IAC3BE,KAAKW,aAAeb,CAAM,KAC3B5B,EAAAA,EAAAA,GAAA,KAAAL,GAAA,CAAAoB,UAAA,EAAAC,OAEa0B,EAAAA,GAAAA,cAAuB,CAxE5BC,aAAM,OAAAd,EAAAA,GAAAA,GAAA,KAAA/D,GAAA,CAAN6E,WAAMC,IAAAC,EAAAA,GAAAA,GAAA,KAAA/E,GAAA8E,EAAA,CAGNE,YAAK,OAAAjB,EAAAA,GAAAA,GAAA,KAAA7D,GAAA,CAAL8E,UAAKF,IAAAC,EAAAA,GAAAA,GAAA,KAAA7E,GAAA4E,EAAA,CAGLG,YAAK,OAAAlB,EAAAA,GAAAA,GAAA,KAAA5D,GAAA,CAAL8E,UAAKH,IAAAC,EAAAA,GAAAA,GAAA,KAAA5E,GAAA2E,EAAA,CAGLI,iBAAU,OAAAnB,EAAAA,GAAAA,GAAA,KAAA3D,GAAA,CAAV8E,eAAUJ,IAAAC,EAAAA,GAAAA,GAAA,KAAA3E,GAAA0E,EAAA,CAGVK,YAAK,OAAApB,EAAAA,GAAAA,GAAA,KAAA1D,GAAA,CAAL8E,UAAKL,IAAAC,EAAAA,GAAAA,GAAA,KAAA1E,GAAAyE,EAAA,CAGLM,oBAAa,OAAArB,EAAAA,GAAAA,GAAA,KAAAzD,GAAA,CAAb8E,kBAAaN,IAAAC,EAAAA,GAAAA,GAAA,KAAAzE,GAAAwE,EAAA,CAGbH,mBAAY,OAAAZ,EAAAA,GAAAA,GAAA,KAAAxD,GAAA,CAAZoE,iBAAYG,IAAAC,EAAAA,GAAAA,GAAA,KAAAxE,GAAAuE,EAAA,CAGZO,4BAAqB,OAAAtB,EAAAA,GAAAA,GAAA,KAAAvD,GAAA,CAArB6E,0BAAqBP,IAAAC,EAAAA,GAAAA,GAAA,KAAAvE,GAAAsE,EAAA,CAGrBQ,mBAAY,OAAAvB,EAAAA,GAAAA,GAAA,KAAAtD,GAAA,CAAZ6E,iBAAYR,IAAAC,EAAAA,GAAAA,GAAA,KAAAtE,GAAAqE,EAAA,CAmDrBS,gBAAgBC,EAAYpH,GAAoC,QAAAqH,EAAAC,EAAAzD,UAAA0D,OAAjBC,EAAI,IAAAC,MAAAH,EAAA,EAAAA,EAAA,KAAAI,EAAA,EAAAA,EAAAJ,EAAAI,IAAJF,EAAIE,EAAA,GAAA7D,UAAA6D,GACzB,QAAxBL,GAAA1B,EAAAA,GAAAA,GAAAC,KAAInC,IAAakE,eAAO,IAAAN,GAAxBA,EAA0BF,gBAAgBC,EAAIpH,KAAWwH,EAC3D,CAEAI,SACE,OACEC,KAAAA,cAAC3H,GAAkB,CACjB4H,KAAGnC,EAAAA,GAAAA,GAAEC,KAAInC,IACTgD,OAAQb,KAAKa,OACbG,MAAOhB,KAAKgB,MACZC,MAAOjB,KAAKiB,MACZC,WAAYlB,KAAKkB,WACjBC,MAAOnB,KAAKmB,MACZC,cAAepB,KAAKoB,cACpBE,aAActB,KAAKsB,aACnBX,aAAcX,KAAKW,aACnBU,sBAAuBrB,KAAKqB,sBAC5Bc,sBAAoBpC,EAAAA,GAAAA,GAAEC,KAAIpD,IAC1BwF,sBAAoBrC,EAAAA,GAAAA,GAAEC,KAAIpC,IAC1ByE,cAAYtC,EAAAA,GAAAA,GAAEC,KAAIjD,IAClBuF,cAAYvC,EAAAA,GAAAA,GAAEC,KAAI9C,IAClBqF,aAAWxC,EAAAA,GAAAA,GAAEC,KAAI3C,IACjBmF,mBAAiBzC,EAAAA,GAAAA,GAAEC,KAAIxC,IACvBiF,gBAAc1C,EAAAA,GAAAA,GAAEC,KAAIrC,KAG1B,EACD,SAAAqB,GAAA8B,GAAA4B,EAAA,KAAA5B,EAAA,UAAA/B,KAAA,OAAA4D,EAAA,eAAA7D,GAAAgC,GAAA8B,EAAA,KAAA9B,EAAA,UAAAjC,KAAA,OAAAgE,EAAA,eAAAjE,GAAAkC,GAAAgC,EAAA,KAAAhC,EAAA,UAAAnC,KAAA,OAAAoE,EAAA,eAAArE,GAAAoC,GAAAkC,EAAA,KAAAlC,EAAA,UAAArC,KAAA,OAAAwE,EAAA,eAAAzE,GAAAsC,GAAAoC,EAAA,KAAApC,EAAA,UAAAvC,KAAA,OAAA4E,EAAA,eAAA7E,GAAAwC,GAAAsC,EAAA,KAAAtC,EAAA,UAAA1C,KAAA,OAAAiF,EAAA,MAYM,SAAS7I,GAAwB8I,EAmBtCpB,GACA,IAnBA,OACErB,EAAM,MACNG,EAAK,MACLC,EAAK,WACLC,EAAU,MACVC,EAAK,cACLC,EAAa,aACbE,EAAY,aACZX,EAAY,sBACZU,EAAqB,qBACrBc,EAAoB,qBACpBC,EAAoB,aACpBC,EAAY,aACZC,EAAY,YACZC,EAAW,kBACXC,EAAiB,eACjBC,GACwBa,GAGnBC,EAAOC,IAAYC,EAAAA,GAAAA,UACxB,OAEKC,EAAYC,IAAiBF,EAAAA,GAAAA,WAAS,IACtCG,EAAeC,IAAoBJ,EAAAA,GAAAA,UAAS,IAC5CK,EAAoBC,IACzBN,EAAAA,GAAAA,UAA+B,OAE1BO,EAAoBC,IAAyBR,EAAAA,GAAAA,UAAS,IACtDS,EAAyBC,IAC9BV,EAAAA,GAAAA,UAA+B,OAC1BW,EAAeC,IAAoBZ,EAAAA,GAAAA,UAAyB,KAC5Da,EAAeC,IAAoBd,EAAAA,GAAAA,UAAyB,KAC5De,EAAoBC,IAAyBhB,EAAAA,GAAAA,UAElD,IAEIiB,GAAaC,EAAAA,GAAAA,QAAuB,OACnCC,EAAUC,IAAepB,EAAAA,GAAAA,WAAS,IAClCqB,EAAWC,IAAgBtB,EAAAA,GAAAA,UAA2B,CAC3DuB,EAAG,EACHC,EAAG,EACHC,EAAG,IAGCC,GAAeR,EAAAA,GAAAA,QAAO,IAAIS,KAE1BC,GAAUV,EAAAA,GAAAA,QAAuB,MACjCW,GAAWX,EAAAA,GAAAA,QAAuB,OACjCY,EAASC,IAAc/B,EAAAA,GAAAA,UAAwB,CAAC,EAAG,KACnDgC,EAAUC,IAAejC,EAAAA,GAAAA,WAAS,IAElCkC,EAAeC,IAAoBnC,EAAAA,GAAAA,UAAwB,CAAC,EAAG,KAC/DoC,EAAkBC,IACvBrC,EAAAA,GAAAA,UAAkC,OAEpCsC,EAAAA,GAAAA,qBAAoB7D,GAAK,KAAM,CAC7BX,gBAAgBC,EAAIpH,GAAiB,QAAA4L,EAAAC,EAAAhI,UAAA0D,OAANC,EAAI,IAAAC,MAAAoE,EAAA,EAAAA,EAAA,KAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAJtE,EAAIsE,EAAA,GAAAjI,UAAAiI,GAE/BhC,SAAgC,QAAT8B,EAAvB9B,EAAyB/F,IAAIqD,UAAG,IAAAwE,GACX,QADWA,EAAhCA,EACIG,yBAAiB,IAAAH,GAFvBA,EAGI5L,MAAWwH,EACjB,MAGF,IAAMwE,GAAqBC,EAAAA,GAAAA,cACxBlM,KACCmM,EAAAA,GAAAA,GAAuBnM,EAAO,CAC5B6G,QACA8C,qBACAxC,eACAwE,sBACAF,mBACAxD,uBACAK,kBACA,GAEJ,CACEzB,EACAM,EACAwC,EACArB,EACAL,IAIEmE,IAAeC,EAAAA,GAAAA,UACnB,KAAAC,EAAAA,EAAAA,GAAC,CACCC,QAAS,KACTC,QAAS,GACTC,QAAS,GACTC,QAAS,GAETC,YAAa,GACV1F,IAEL,CAACA,KAGG,YAAE0F,IAAgBP,GAClBQ,IAAoBP,EAAAA,GAAAA,UACxB,KACEQ,EAAAA,GAAAA,MAAKT,GAAc,CAAC,UAAW,UAAW,UAAW,UAAW,WAClE,CAACA,KAGGU,IAAgCtC,EAAAA,GAAAA,SAAO,IAC7CuC,EAAAA,GAAAA,YAAU,KACHD,GAA8BlF,QAInCI,SAAAA,EAAuBxB,QAAAA,EAAgB,MAHrCsG,GAA8BlF,SAAU,CAGE,GAC3C,CAACf,EAAOL,EAAcwB,KAEzB+E,EAAAA,GAAAA,YAAU,KACR1D,GAAU2D,IACRC,EAAAA,GAAAA,GAAcD,EAAenG,EAAOC,EAAO8F,KAC5C,GACA,CAAC9F,EAAOD,EAAO+F,MAElBG,EAAAA,GAAAA,YAAU,KACR,IAAMG,GAAkBC,EAAAA,GAAAA,GAAmB,CACzC/D,QACAO,qBACAgD,iBAEEO,IACFhD,EAAiBgD,EAAgBrG,OACjCuD,EAAiB8C,EAAgBpG,OACnC,GACC,CAACsC,EAAOO,EAAoBF,EAAekD,KAE9C,IAAM,cAAES,GAAa,QAAEC,KAAYhB,EAAAA,GAAAA,UACjC,KAAMiB,EAAAA,GAAAA,GAA2BnD,EAAenD,IAChD,CAACA,EAAOmD,KAGV4C,EAAAA,GAAAA,YAAU,KACR,IAAMQ,EAAOrC,EAAQtD,QACrB,GAAK2F,IAAQrG,EAAb,CAGA,IAAMsG,EAAaxN,IACjB,IAAMyN,GAASC,EAAAA,GAAAA,GAAe1N,EAAO,CACnCiK,gBACAE,gBACA3D,iBAGqB,iBAAnBiH,aAAM,EAANA,EAAQA,QACVvF,SAAAA,EAAeuF,EAAOzH,MACM,iBAAnByH,aAAM,EAANA,EAAQA,QACjBtF,SAAAA,EAAesF,EAAOvH,MACM,wBAAnBuH,aAAM,EAANA,EAAQA,SAAmCA,EAAOzH,OAC3DiC,SAAAA,EAAuB,CAAEvH,KAAM,OAAQiN,OAAQF,EAAOzH,KAAKqB,KAC7D,EAGF,OADAkG,EAAKK,iBAAiB,UAAWJ,GAC1B,KACLD,EAAKM,oBAAoB,UAAWL,EAAU,CAlBhD,CAmBC,GACA,CACDhH,EACAyD,EACAE,EACAjD,EACAe,EACAC,EACAC,IAGF,IAAM2F,IAAsB5B,EAAAA,GAAAA,cACzB6B,IACKA,IACFrE,GAAkBsE,GAAaA,EAAW,IAC1CpE,EAAsBmE,IAExBvE,GAAewE,GAAaA,KAAcD,GAAc,GAE1D,IAGIE,IAA2B/B,EAAAA,GAAAA,cAC9B6B,IACKA,IACFjE,GAAuBkE,GAAaA,EAAW,IAC/ChE,EAA2B+D,GAC7B,GAGF,KAGFhB,EAAAA,GAAAA,YAAU,KACR,IAAMQ,EAAOrC,EAAQtD,QACfsG,EAAU3D,EAAW3C,QAC3B,GAAK2F,GAASW,EAAd,CAGA,IAAIC,GAAQ,EACNC,GAASC,EAAAA,GAAAA,MACZC,YAAY,CAAC,EAAG,IAChBC,GAAG,SAAS,KACXJ,GAAQ,EACRzD,GAAY,EAAK,IAElB6D,GAAG,QAASC,IACXL,GAAQ,EACRvD,EAAa4D,EAAE7D,UAAU,IAE1B4D,GAAG,OAAO,KACT7D,GAAY,GACPyD,GACHlG,SAAAA,EAAuB,KACzB,KAEJwG,EAAAA,GAAAA,GAAOP,GAASQ,KAAKN,IAErBK,EAAAA,GAAAA,GAAOlB,GAAMgB,GAAG,cAAeC,IAC7BA,EAAEG,kBACFH,EAAEI,iBAEGJ,EAAEK,SACLT,EAAOU,aACLL,EAAAA,GAAAA,GAAOP,GACPM,EAAEO,YAAc,EAChBP,EAAEQ,YAAc,EAEpB,GA9BF,CA+BE,GACD,CAAC/G,KAEJ8E,EAAAA,GAAAA,YAAU,KACR,IAAMQ,EAAOrC,EAAQtD,QACQ,IAAzBqC,EAAczC,QAAiB+F,IAAQjC,IAG3CD,GACE4D,EAAAA,GAAAA,GAAiBhF,EAAe,CAACsD,EAAK2B,YAAa3B,EAAK4B,gBAE1D5D,GAAY,GAAK,GAChB,CAACD,EAAUrB,IAEd,IAAMmF,IAAY/C,EAAAA,GAAAA,UAAQ,IAAM,GAANgD,QAASC,EAAAA,GAAAA,UAAS,YAAW,MAAK,IACtDC,GAAe,GAAHF,OAAMD,GAAS,eAC3BI,GAAiB,GAAHH,OAAMD,GAAS,cAC7BK,GAAyB,GAAHJ,OAAMD,GAAS,iBAE3CrC,EAAAA,GAAAA,YAAU,KACRzC,GAAuB0D,IACrB0B,EAAAA,GAAAA,GAAsB1B,EAAUZ,GAAepC,EAAapD,UAC7D,GACA,CAACwF,KAEJ,IAAOuC,GAAcC,IAAmB9H,KAAAA,SACtC,IAYF,IATAiF,EAAAA,GAAAA,YAAU,KACHhD,GAGL6F,IACEC,EAAAA,GAAAA,GAAgBxF,EAAoBN,GACrC,GACA,CAACF,EAAoBE,EAAyBM,IAElC,UAAX3D,EACF,OAAOoB,KAAAA,cAAA,6CAAAuH,OAAwC3I,EAAM,MAGvD,IAAMoJ,GAAc,CAAC1E,EAAQ,GAAKT,EAAUG,EAAGM,EAAQ,GAAKT,EAAUI,GAEtE,OACEjD,KAAAA,cAAA,OACEiI,UAAWC,KAAW,UAAW,CAAEC,MAAO1G,GAAc+B,IACxD4E,UAAW,EACXnI,IAAKmD,EACLiF,YAAalE,GAEbnE,KAAAA,cAAA,OAAKiI,UAAWC,KAAW,UAAW,CAAEvF,aAAa1C,IAAKwC,IAC1DzC,KAAAA,cAAA,OAAKsI,MAAM,OAAOC,OAAO,OAAON,UAAU,SACxCjI,KAAAA,cAAA,YACGuF,GAAQiD,KAAI,CAAAC,EAAkBC,KAAK,IAAtB,YAAEC,GAAaF,EAAA,OAC3BzI,KAAAA,cAAC4I,GAAAA,EAAe,CACdC,IAAKH,EACLnJ,GAAE,GAAAgI,OAAKE,IAAYF,OAAGmB,GACtBC,YAAaA,GACb,IAEHd,GAAaW,KAAKM,GACjB9I,KAAAA,cAAC+I,GAAAA,EAAiB,CAChBF,IAAKC,EAASvJ,GACduJ,SAAUA,EACVpB,eAAgBA,GAChBnF,mBAAoBA,MAGxBvC,KAAAA,cAAA,UACET,GAAE,GAAAgI,OAAKI,GAAsB,SAC7BqB,QAAQ,UACRC,KAAM,EACNC,KAAM,EACNC,YAAa,EACbC,aAAc,EACdC,OAAO,QAEPrJ,KAAAA,cAAA,QACEsJ,EAAE,gCACFC,OAAO,wBACPC,YAAa,EACbC,KAAK,2BAGTzJ,KAAAA,cAAA,UACET,GAAE,GAAAgI,OAAKI,GAAsB,OAC7BqB,QAAQ,WACRC,KAAM,EACNC,KAAM,EACNC,YAAa,GACbC,aAAc,EACdC,OAAO,QAEPrJ,KAAAA,cAAA,QACEsJ,EAAE,gCACFC,OAAO,wBACPC,YAAa,EACbC,KAAK,0BAEPzJ,KAAAA,cAAA,QACEsJ,EAAE,iCACFC,OAAO,wBACPC,YAAa,EACbC,KAAK,4BAIXzJ,KAAAA,cAAA,KACE6C,UAAS,aAAA0E,OAAeS,GAAY,GAAE,KAAAT,OAAIS,GAAY,GAAE,YAAAT,OAAW1E,EAAUE,EAAC,MAE7EuC,GAAckD,KAAKlK,GAClB0B,KAAAA,cAAC0J,GAAAA,EAAa,CACZb,IAAKvK,EAAKA,KAAKqL,IACfrL,KAAMA,EACNsL,UAAW1G,EAAapD,QACxB+H,aAAcA,GACdJ,aAAcA,GACdC,eAAgBA,GAChBC,uBAAwBA,GACxBkC,WACyB,UAAvBnL,aAAY,EAAZA,EAAc9F,MAAkB8F,EAAaN,KAAO,KAEtDkC,YAAaA,EACbC,kBAAmBA,QAK3BP,KAAAA,cAAA,OACEiI,UAAU,cACV6B,MAAO,CACLC,KAAM/B,GAAY,GAClBgC,IAAKhC,GAAY,KAGnBhI,KAAAA,cAACiK,GAAAA,GAAuB,CACtBC,OAAQ3H,EACR4H,WAAYhE,MAGhBnG,KAAAA,cAAA,OACEiI,UAAU,QACVhI,IAAKoD,EACLyG,MAAO,CACLC,KAAM/B,GAAY,GAClBgC,IAAKhC,GAAY,KAGnBhI,KAAAA,cAACoK,GAAAA,EAAkB,CACjBrL,MAAOA,EACPE,WAAYA,EAEZkL,WAAYnE,MAGhBhG,KAAAA,cAACqK,GAAAA,EAAoB,CACnBzG,iBAAkBA,EAClBF,cAAeA,EACf+D,aAAcA,KAItB,CAtZC6C,EAAAzO,KAAA6K,GAAAvJ,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA8C,EAAAD,EAAAxC,EAAA2C,EAAAD,EAAAxC,EAAA2C,EAAAD,EAAAxC,EAAA2C,EAAAD,EAAAxC,EAAA2C,EAAAD,EAAAzC,EAAA4C,EAAAD,EAAAjE,GAAAqN,GAAAxS,EAAAyS,KAAAC,EAAAA,GAAAA,GAAAH,EAAA,EAAA3R,EAAA,aAAAG,EAAA,YAAAE,EAAA,YAAAC,EAAA,iBAAAC,EAAA,YAAAC,EAAA,oBAAAC,EAAA,mBAAAC,EAAA,4BAAAE,EAAA,mBAAAC,EAAA,4BAAAkR,IAAA5M,EAAAA,GAAAA,GAAA4M,EAAAjQ,IAAA,CAAAiQ,EAAA7L,KAAAC,EAAAA,GAAAA,GAAA4L,EAAAjQ,GAAAoE,IAAA,CAAApF,EAAA,eAAAiR,IAAA5M,EAAAA,GAAAA,GAAA4M,EAAA9P,IAAA,CAAA8P,EAAA7L,KAAAC,EAAAA,GAAAA,GAAA4L,EAAA9P,GAAAiE,IAAA,CAAAnF,EAAA,eAAAgR,IAAA5M,EAAAA,GAAAA,GAAA4M,EAAA3P,IAAA,CAAA2P,EAAA7L,KAAAC,EAAAA,GAAAA,GAAA4L,EAAA3P,GAAA8D,IAAA,CAAAlF,EAAA,cAAA+Q,IAAA5M,EAAAA,GAAAA,GAAA4M,EAAAxP,IAAA,CAAAwP,EAAA7L,KAAAC,EAAAA,GAAAA,GAAA4L,EAAAxP,GAAA2D,IAAA,CAAAjF,EAAA,oBAAA8Q,IAAA5M,EAAAA,GAAAA,GAAA4M,EAAArP,IAAA,CAAAqP,EAAA7L,KAAAC,EAAAA,GAAAA,GAAA4L,EAAArP,GAAAwD,IAAA,CAAAhF,EAAA,iBAAA6Q,IAAA5M,EAAAA,GAAAA,GAAA4M,EAAAlP,IAAA,CAAAkP,EAAA7L,KAAAC,EAAAA,GAAAA,GAAA4L,EAAAlP,GAAAqD,IAAA,CAAA/E,EAAA,uBAAAtB,GAAA,GAAAmS,GAAA/O,GAAAgP,KAAAC,EAAAA,EAAAA,GAAAF,KA3GuB7O,GAAAA,mBAAgB0O,I,uDC1B7BM,G,YA3CH9S,cAAa,GAAEC,SAAQ,GAAEC,MAAK,GAAEC,OAAMA,KAAKC,EAAAA,GAAAA,oBAatC2S,IAAyBzS,EAAAA,GAAAA,YAAW0S,IAEjDxS,GAICR,GAAc,yBAA0B,CACvCS,WAAY,CAACC,GAAAA,KACbC,GAECV,KAAUa,GAGVb,GAAS,CAAE8H,QAAQ,IAAQ/G,GAG3Bd,GAAM,CAAEU,KAAM,yBAAyBK,GAOvCf,GAAM,CAAEU,KAAM,iBAAiBM,GAO/Bf,KAAQ,IAAA4B,GAAA,IAAAC,QAAAC,GAAA,IAAAD,QAAAE,GAAA,IAAAF,QAAAiR,GAAA,IAAAjR,QAAAkR,GAAA,IAAAlR,QAAAG,GAAA,IAAAH,QAAAmR,GAAA,IAAAnR,QAAAoR,GAAA,IAAApR,QAAAqR,GAAA,IAAArR,QAxBX,MAAAsR,WAG4BxP,GAAAA,iBAA+CC,cAAA,SAAAC,YAAAC,EAAAA,EAAAA,GAAA,KAAAkP,GAAA,CAAAjP,IAAAqP,GAAAnP,IAAAoP,MAAAvP,EAAAA,EAAAA,GAAA,KAAAgP,GAAA,CAAA/O,IAAAuP,GAAArP,IAAAsP,MAAAzP,EAAAA,EAAAA,GAAA,KAAAlC,GAAA,CAAAiD,UAAA,EAAAC,OAAAC,GAAA,MAAAyO,GAAA,UAAA1P,EAAAA,EAAAA,GAAA,KAAAhC,GAAA,CAAA+C,UAAA,EAAAC,MAAA2O,GAAA,SAAA3P,EAAAA,EAAAA,GAAA,KAAA/B,GAAA,CAAA8C,UAAA,EAAAC,MAAA4O,GAAA,SAAA5P,EAAAA,EAAAA,GAAA,KAAAiP,GAAA,CAAAlO,UAAA,EAAAC,MAU5CA,KAC3Ba,EAAAA,GAAAA,GAAAC,KAAIkN,IAAqBjN,KAAKf,EAAM,KACrChB,EAAAA,EAAAA,GAAA,KAAA9B,GAAA,CAAA6C,UAAA,EAAAC,MAAA6O,GAAA,SAAA7P,EAAAA,EAAAA,GAAA,KAAAmP,GAAA,CAAApO,UAAA,EAAAC,MAKqBA,KACpBa,EAAAA,GAAAA,GAAAC,KAAIoN,IAAcnN,KAAKf,EAAM,KAC9BhB,EAAAA,EAAAA,GAAA,KAAAoP,GAAA,CAAArO,UAAA,EAAAC,OAOmB0B,EAAAA,GAAAA,cAA6B,CAxBxCoN,YAAK,OAAAjO,EAAAA,GAAAA,GAAA,KAAA/D,GAAA,CAALgS,UAAKlN,IAAAC,EAAAA,GAAAA,GAAA,KAAA/E,GAAA8E,EAAA,CAGLjG,WAAI,OAAAkF,EAAAA,GAAAA,GAAA,KAAA7D,GAAA,CAAJrB,SAAIiG,IAAAC,EAAAA,GAAAA,GAAA,KAAA7E,GAAA4E,EAAA,CAiBbmN,gBAAgB,IAAAxM,EACgB,QAA9BA,GAAA1B,EAAAA,GAAAA,GAAAC,KAAIsN,IAAmBvL,eAAO,IAAAN,GAA9BA,EAAgCwM,eAClC,CAIAjM,SACE,OACEC,KAAAA,cAAC+K,GAAsB,CACrB9K,KAAGnC,EAAAA,GAAAA,GAAEC,KAAIsN,IACTU,MAAOhO,KAAKgO,MACZE,sBAAoBnO,EAAAA,GAAAA,GAAEC,KAAImN,IAC1BgB,eAAapO,EAAAA,GAAAA,GAAEC,KAAIqN,KAGzB,EACD,SAAAM,GAAA7M,GAAAsN,GAAA,KAAAtN,EAAA,UAAA4M,KAAA,OAAAW,GAAA,eAAAZ,GAAA3M,GAAAwN,GAAA,KAAAxN,EAAA,UAAA0M,KAAA,OAAAe,GAAA,MAOM,SAAStB,GAA4B3J,EAM1CpB,GACA,IALE8L,MAAOQ,EAAM,cACbL,EAAa,qBACbD,GAC4B5K,EAGxB0K,EAAQQ,QAAAA,EAAU,IACjBC,EAAcC,IAAmBjL,EAAAA,GAAAA,UAAiBuK,IAClDW,EAAcC,IAAmBnL,EAAAA,GAAAA,WAAS,GAC3CoL,GAA0BlK,EAAAA,GAAAA,SAAO,IAChCmK,EAAuBC,IAA4BtL,EAAAA,GAAAA,WAAS,GAC7DuL,GAAgBrK,EAAAA,GAAAA,QAAyB,OAE/CoB,EAAAA,GAAAA,qBAAoB7D,GAAK,KAAM,CAC7B+L,gBACEW,GAAgB,EAClB,OAGF1H,EAAAA,GAAAA,YAAU,KACRwH,EAAgBV,EAAM,GACrB,CAACA,IAEJ,IAAMiB,GAAkB5I,EAAAA,GAAAA,cAAasC,IACnCA,EAAEI,iBACFJ,EAAEG,kBACF8F,GAAgB,EAAK,GACpB,KAEH1H,EAAAA,GAAAA,YAAU,KACU,IAAAgI,EAAAC,EAAdR,IAGmB,QAArBO,EAAAF,EAAcjN,eAAO,IAAAmN,GAArBA,EAAuBE,MAAM,CAAEC,eAAe,IACzB,QAArBF,EAAAH,EAAcjN,eAAO,IAAAoN,GAArBA,EAAuBvG,SACzB,GACC,CAAC+F,KAEJzH,EAAAA,GAAAA,YAAU,KACJ2H,EAAwB9M,QAC1BmM,SAAAA,EAAuBS,GAEvBE,EAAwB9M,SAAU,CACpC,GACC,CAAC4M,EAAcT,IAElB,IAAMoB,GAAoBjJ,EAAAA,GAAAA,cACvBlM,IACCuU,EAAgBvU,EAAM2F,OAAOZ,MAAM,GAErC,IAGIqQ,GAAqBlJ,EAAAA,GAAAA,cAAalM,IACtC,IAImCqV,EAJ7B1E,EACJ3Q,EAAM2Q,KACoC3Q,EAAMsV,SACNtV,EAAMuV,MACtC,UAAR5E,GAA2B,KAARA,GACA,QAArB0E,EAAAR,EAAcjN,eAAO,IAAAyN,GAArBA,EAAuBG,MACzB,GACC,IAEGC,GAAkBvJ,EAAAA,GAAAA,cAAY,KAClCuI,GAAgB,GAChBG,GAAyB,EAAK,GAC7B,IASH,OAPA7H,EAAAA,GAAAA,YAAU,KACJ4H,IACFX,SAAAA,EAAgBM,GAChBM,GAAyB,GAC3B,GACC,CAACN,EAAcN,EAAeW,IAG/B7M,KAAAA,cAAA,OACEiI,UAAWC,KAAW,QAAS,CAC7B0F,QAASlB,EACTmB,OAAQrB,KAGVxM,KAAAA,cAAA,SACEiI,UAAU,cACVhL,MAAOuP,EACPvM,IAAK8M,EACLe,SAAUT,EACVU,UAAWT,EACXU,OAAQL,IAEV3N,KAAAA,cAAA,OAAKiI,UAAU,aAAagG,cAAejB,GACxCR,GAIT,CAxGClC,GAAAgB,KAAA5E,GAAAiF,GAAAC,GAAAC,GAAAO,GAAAD,GAAAL,GAAAQ,GAAAD,GAAAnP,IAAAqN,GAAAO,GAAAN,MAAAC,EAAAA,GAAAA,GAAAH,GAAA,EAAA3R,GAAA,YAAAG,GAAA,WAAAE,GAAA,uBAAA0R,IAAA5M,EAAAA,GAAAA,GAAA4M,EAAAxQ,IAAA,CAAAwQ,EAAA7L,KAAAC,EAAAA,GAAAA,GAAA4L,EAAAxQ,GAAA2E,IAAA,CAAA5F,GAAA,gBAAAyR,IAAA5M,EAAAA,GAAAA,GAAA4M,EAAAvQ,IAAA,CAAAuQ,EAAA7L,KAAAC,EAAAA,GAAAA,GAAA4L,EAAAvQ,GAAA0E,IAAA,CAAA3F,GAAA,qBAAAV,IAAA,GAAAmS,GAAAU,GAAAT,KAAAC,EAAAA,EAAAA,GAAAF,KAtC2B7O,GAAAA,mBAAgB0O,I,mEClCxC0D,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAO7O,GAAI,i6BAGS,KAElD,QAAe2O,EAAwBG,U","sources":["webpack:///./src/diagram/index.tsx","webpack:///./src/editable-label/index.tsx","webpack:///./src/editable-label/styles.shadow.css"],"sourcesContent":["import React, {\n createRef,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport dagre from \"@dagrejs/dagre\";\nimport { select } from \"d3-selection\";\nimport { zoom } from \"d3-zoom\";\nimport classNames from \"classnames\";\nimport { pick, uniqueId } from \"lodash\";\nimport type {\n DiagramEdge,\n DiagramNode,\n LayoutOptionsDagre,\n LineConf,\n NodeBrickConf,\n PositionTuple,\n RefRepository,\n RenderedEdge,\n RenderedLineLabel,\n RenderedNode,\n LineTextClipPath,\n TransformLiteral,\n LineTarget,\n ConnectLineDetail,\n NodesConnectOptions,\n ConnectLineState,\n ActiveTarget,\n} from \"./interfaces\";\nimport { NodeComponentGroup } from \"./NodeComponent\";\nimport { handleKeyboard } from \"./processors/handleKeyboard\";\nimport { getCenterOffsets } from \"./processors/getCenterOffsets\";\nimport { getRenderedLinesAndMarkers } from \"./processors/getRenderedLinesAndMarkers\";\nimport { LineLabelComponentGroup } from \"./LineLabelComponent\";\nimport { LineComponent } from \"./LineComponent\";\nimport { MarkerComponent } from \"./MarkerComponent\";\nimport { ClipPathComponent } from \"./ClipPathComponent\";\nimport { ConnectLineComponent } from \"./ConnectLineComponent\";\nimport { getClipPathList } from \"./processors/getClipPathList\";\nimport { getRenderedLineLabels } from \"./processors/getRenderedLineLabels\";\nimport { getRenderedDiagram } from \"./processors/getRenderedDiagram\";\nimport { getDagreGraph } from \"./processors/getDagreGraph\";\nimport { handleDiagramMouseDown } from \"./processors/handleDiagramMouseDown\";\nimport styleText from \"./styles.shadow.css\";\n\nconst { defineElement, property, event, method } = createDecorators();\n\nexport interface EoDiagramProps {\n layout?: \"dagre\";\n nodes?: DiagramNode[];\n edges?: DiagramEdge[];\n nodeBricks?: NodeBrickConf[];\n lines?: LineConf[];\n layoutOptions?: LayoutOptionsDagre;\n nodesConnect?: NodesConnectOptions;\n activeTarget?: ActiveTarget | null;\n disableKeyboardAction?: boolean;\n}\n\nexport interface DiagramRef {\n callOnLineLabel(id: string, method: string, ...args: unknown[]): void;\n}\n\nexport interface DiagramHandler {\n moveIntoView(id: string): void;\n}\n\nexport const EoDiagramComponent = forwardRef(LegacyEoDiagramComponent);\n\n/**\n * 构件 `eo-diagram`\n */\nexport\n@defineElement(\"eo-diagram\", {\n styleTexts: [styleText],\n})\nclass EoDiagram extends ReactNextElement implements EoDiagramProps {\n /**\n * @required\n */\n @property({ type: String })\n accessor layout: \"dagre\" | undefined;\n\n @property({ attribute: false })\n accessor nodes: DiagramNode[] | undefined;\n\n @property({ attribute: false })\n accessor edges: DiagramEdge[] | undefined;\n\n @property({ attribute: false })\n accessor nodeBricks: NodeBrickConf[] | undefined;\n\n @property({ attribute: false })\n accessor lines: LineConf[] | undefined;\n\n @property({ attribute: false })\n accessor layoutOptions: LayoutOptionsDagre | undefined;\n\n @property({ attribute: false })\n accessor activeTarget: ActiveTarget | null | undefined;\n\n @property({ type: Boolean })\n accessor disableKeyboardAction: boolean | undefined;\n\n @property({ attribute: false })\n accessor nodesConnect: NodesConnectOptions | undefined;\n\n @event({ type: \"activeTarget.change\" })\n accessor #activeTargetChangeEvent!: EventEmitter<ActiveTarget | null>;\n\n #handleActiveTargetChange = (target: ActiveTarget | null) => {\n this.#activeTargetChangeEvent.emit(target);\n };\n\n @event({ type: \"node.delete\" })\n accessor #nodeDelete!: EventEmitter<DiagramNode>;\n\n #handleNodeDelete = (node: DiagramNode) => {\n this.#nodeDelete.emit(node);\n };\n\n @event({ type: \"edge.delete\" })\n accessor #edgeDelete!: EventEmitter<DiagramEdge>;\n\n #handleEdgeDelete = (edge: DiagramEdge) => {\n this.#edgeDelete.emit(edge);\n };\n\n @event({ type: \"line.click\" })\n accessor #lineClick!: EventEmitter<LineTarget>;\n\n #handleLineClick = (line: LineTarget) => {\n this.#lineClick.emit(line);\n };\n\n @event({ type: \"line.dblclick\" })\n accessor #lineDoubleClick!: EventEmitter<LineTarget>;\n\n #handleLineDoubleClick = (line: LineTarget) => {\n this.#lineDoubleClick.emit(line);\n };\n\n @event({ type: \"nodes.connect\" })\n accessor #nodesConnect!: EventEmitter<ConnectLineDetail>;\n\n #handleNodesConnect = (detail: ConnectLineDetail) => {\n this.#nodesConnect.emit(detail);\n };\n\n #handleSwitchActiveTarget = (target: ActiveTarget | null) => {\n this.activeTarget = target;\n };\n\n #diagramRef = createRef<DiagramRef>();\n\n @method()\n callOnLineLabel(id: string, method: string, ...args: unknown[]) {\n this.#diagramRef.current?.callOnLineLabel(id, method, ...args);\n }\n\n render() {\n return (\n <EoDiagramComponent\n ref={this.#diagramRef}\n layout={this.layout}\n nodes={this.nodes}\n edges={this.edges}\n nodeBricks={this.nodeBricks}\n lines={this.lines}\n layoutOptions={this.layoutOptions}\n nodesConnect={this.nodesConnect}\n activeTarget={this.activeTarget}\n disableKeyboardAction={this.disableKeyboardAction}\n onActiveTargetChange={this.#handleActiveTargetChange}\n onSwitchActiveTarget={this.#handleSwitchActiveTarget}\n onNodeDelete={this.#handleNodeDelete}\n onEdgeDelete={this.#handleEdgeDelete}\n onLineClick={this.#handleLineClick}\n onLineDoubleClick={this.#handleLineDoubleClick}\n onNodesConnect={this.#handleNodesConnect}\n />\n );\n }\n}\n\nexport interface EoDiagramComponentProps extends EoDiagramProps {\n onActiveTargetChange?(target: ActiveTarget | null): void;\n onSwitchActiveTarget?(target: ActiveTarget | null): void;\n onNodeDelete?(node: DiagramNode): void;\n onEdgeDelete?(edge: DiagramEdge): void;\n onLineClick?(line: LineTarget): void;\n onLineDoubleClick?(line: LineTarget): void;\n onNodesConnect?(detail: ConnectLineDetail): void;\n}\n\nexport function LegacyEoDiagramComponent(\n {\n layout,\n nodes,\n edges,\n nodeBricks,\n lines,\n layoutOptions,\n nodesConnect,\n activeTarget,\n disableKeyboardAction,\n onActiveTargetChange,\n onSwitchActiveTarget,\n onNodeDelete,\n onEdgeDelete,\n onLineClick,\n onLineDoubleClick,\n onNodesConnect,\n }: EoDiagramComponentProps,\n ref: React.Ref<DiagramRef>\n) {\n const [graph, setGraph] = useState<dagre.graphlib.Graph<RenderedNode> | null>(\n null\n );\n const [nodesReady, setNodesReady] = useState(false);\n const [nodesRenderId, setNodesRenderId] = useState(0);\n const [nodesRefRepository, setNodesRefRepository] =\n useState<RefRepository | null>(null);\n // const [lineLabelsReady, setLineLabelsReady] = useState(false);\n const [lineLabelsRenderId, setLineLabelsRenderId] = useState(0);\n const [lineLabelsRefRepository, setLineLabelsRefRepository] =\n useState<RefRepository | null>(null);\n const [renderedNodes, setRenderedNodes] = useState<RenderedNode[]>([]);\n const [renderedEdges, setRenderedEdges] = useState<RenderedEdge[]>([]);\n const [renderedLineLabels, setRenderedLineLabels] = useState<\n RenderedLineLabel[]\n >([]);\n\n const draggerRef = useRef<HTMLDivElement>(null);\n const [grabbing, setGrabbing] = useState(false);\n const [transform, setTransform] = useState<TransformLiteral>({\n k: 1,\n x: 0,\n y: 0,\n });\n\n const linePathsRef = useRef(new Map<string, SVGPathElement | null>());\n\n const rootRef = useRef<HTMLDivElement>(null);\n const nodesRef = useRef<HTMLDivElement>(null);\n const [offsets, setOffsets] = useState<PositionTuple>([0, 0]);\n const [centered, setCentered] = useState(false);\n\n const [connectLineTo, setConnectLineTo] = useState<PositionTuple>([0, 0]);\n const [connectLineState, setConnectLineState] =\n useState<ConnectLineState | null>(null);\n\n useImperativeHandle(ref, () => ({\n callOnLineLabel(id, method, ...args) {\n (\n lineLabelsRefRepository?.get(id)\n ?.firstElementChild as unknown as Record<string, Function>\n )?.[method](...args);\n },\n }));\n\n const onDiagramMouseDown = useCallback(\n (event: React.MouseEvent) => {\n handleDiagramMouseDown(event, {\n nodes,\n nodesRefRepository,\n nodesConnect,\n setConnectLineState,\n setConnectLineTo,\n onSwitchActiveTarget,\n onNodesConnect,\n });\n },\n [\n nodes,\n nodesConnect,\n nodesRefRepository,\n onNodesConnect,\n onSwitchActiveTarget,\n ]\n );\n\n const fixedOptions = useMemo(\n () => ({\n rankdir: \"TB\",\n ranksep: 50,\n edgesep: 10,\n nodesep: 50,\n // align: undefined,\n nodePadding: 0,\n ...layoutOptions,\n }),\n [layoutOptions]\n );\n\n const { nodePadding } = fixedOptions;\n const dagreGraphOptions = useMemo(\n () =>\n pick(fixedOptions, [\"rankdir\", \"ranksep\", \"edgesep\", \"nodesep\", \"align\"]),\n [fixedOptions]\n );\n\n const activeTargetChangeInitialized = useRef(false);\n useEffect(() => {\n if (!activeTargetChangeInitialized.current) {\n activeTargetChangeInitialized.current = true;\n return;\n }\n onActiveTargetChange?.(activeTarget ?? null);\n }, [nodes, activeTarget, onActiveTargetChange]);\n\n useEffect(() => {\n setGraph((previousGraph) =>\n getDagreGraph(previousGraph, nodes, edges, dagreGraphOptions)\n );\n }, [edges, nodes, dagreGraphOptions]);\n\n useEffect(() => {\n const renderedDiagram = getRenderedDiagram({\n graph,\n nodesRefRepository,\n nodePadding,\n });\n if (renderedDiagram) {\n setRenderedNodes(renderedDiagram.nodes);\n setRenderedEdges(renderedDiagram.edges);\n }\n }, [graph, nodesRefRepository, nodesRenderId, nodePadding]);\n\n const { renderedLines, markers } = useMemo(\n () => getRenderedLinesAndMarkers(renderedEdges, lines),\n [lines, renderedEdges]\n );\n\n useEffect(() => {\n const root = rootRef.current;\n if (!root || disableKeyboardAction) {\n return;\n }\n const onKeydown = (event: KeyboardEvent) => {\n const action = handleKeyboard(event, {\n renderedNodes,\n renderedEdges,\n activeTarget,\n });\n\n if (action?.action === \"delete-node\") {\n onNodeDelete?.(action.node);\n } else if (action?.action === \"delete-edge\") {\n onEdgeDelete?.(action.edge);\n } else if (action?.action === \"switch-active-node\" && action.node) {\n onSwitchActiveTarget?.({ type: \"node\", nodeId: action.node.id });\n }\n };\n root.addEventListener(\"keydown\", onKeydown);\n return () => {\n root.removeEventListener(\"keydown\", onKeydown);\n };\n }, [\n activeTarget,\n renderedNodes,\n renderedEdges,\n disableKeyboardAction,\n onSwitchActiveTarget,\n onNodeDelete,\n onEdgeDelete,\n ]);\n\n const handleNodesRendered = useCallback(\n (refRepository: RefRepository | null) => {\n if (refRepository) {\n setNodesRenderId((previous) => previous + 1);\n setNodesRefRepository(refRepository);\n }\n setNodesReady((previous) => previous || !!refRepository);\n },\n []\n );\n\n const handleLineLabelsRendered = useCallback(\n (refRepository: RefRepository | null) => {\n if (refRepository) {\n setLineLabelsRenderId((previous) => previous + 1);\n setLineLabelsRefRepository(refRepository);\n }\n // setLineLabelsReady((previous) => previous || !!refRepository);\n },\n []\n );\n\n useEffect(() => {\n const root = rootRef.current;\n const dragger = draggerRef.current as Element;\n if (!root || !dragger) {\n return;\n }\n let moved = false;\n const zoomer = zoom()\n .scaleExtent([1, 1])\n .on(\"start\", () => {\n moved = false;\n setGrabbing(true);\n })\n .on(\"zoom\", (e) => {\n moved = true;\n setTransform(e.transform);\n })\n .on(\"end\", () => {\n setGrabbing(false);\n if (!moved) {\n onSwitchActiveTarget?.(null);\n }\n });\n select(dragger).call(zoomer);\n\n select(root).on(\"wheel.zoom\", (e) => {\n e.stopPropagation();\n e.preventDefault();\n // Mac OS trackpad pinch event is emitted as a wheel.zoom and d3.event.ctrlKey set to true\n if (!e.ctrlKey) {\n zoomer.translateBy(\n select(dragger),\n e.wheelDeltaX / 5,\n e.wheelDeltaY / 5\n );\n }\n });\n }, [onSwitchActiveTarget]);\n\n useEffect(() => {\n const root = rootRef.current;\n if (renderedNodes.length === 0 || !root || centered) {\n return;\n }\n setOffsets(\n getCenterOffsets(renderedNodes, [root.clientWidth, root.clientHeight])\n );\n setCentered(true);\n }, [centered, renderedNodes]);\n\n const defPrefix = useMemo(() => `${uniqueId(\"diagram-\")}-`, []);\n const markerPrefix = `${defPrefix}line-arrow-`;\n const clipPathPrefix = `${defPrefix}clip-path-`;\n const activeLineMarkerPrefix = `${defPrefix}active-line-`;\n\n useEffect(() => {\n setRenderedLineLabels((previous) =>\n getRenderedLineLabels(previous, renderedLines, linePathsRef.current)\n );\n }, [renderedLines]);\n\n const [clipPathList, setClipPathList] = React.useState<LineTextClipPath[]>(\n []\n );\n\n useEffect(() => {\n if (!lineLabelsRefRepository) {\n return;\n }\n setClipPathList(\n getClipPathList(renderedLineLabels, lineLabelsRefRepository)\n );\n }, [lineLabelsRenderId, lineLabelsRefRepository, renderedLineLabels]);\n\n if (layout !== \"dagre\") {\n return <div>{`Diagram layout not supported: \"${layout}\"`}</div>;\n }\n\n const rootOffsets = [offsets[0] + transform.x, offsets[1] + transform.y];\n\n return (\n <div\n className={classNames(\"diagram\", { ready: nodesReady && centered })}\n tabIndex={-1}\n ref={rootRef}\n onMouseDown={onDiagramMouseDown}\n >\n <div className={classNames(\"dragger\", { grabbing })} ref={draggerRef} />\n <svg width=\"100%\" height=\"100%\" className=\"lines\">\n <defs>\n {markers.map(({ strokeColor }, index) => (\n <MarkerComponent\n key={index}\n id={`${markerPrefix}${index}`}\n strokeColor={strokeColor}\n />\n ))}\n {clipPathList.map((clipPath) => (\n <ClipPathComponent\n key={clipPath.id}\n clipPath={clipPath}\n clipPathPrefix={clipPathPrefix}\n renderedLineLabels={renderedLineLabels}\n />\n ))}\n <marker\n id={`${activeLineMarkerPrefix}start`}\n viewBox=\"0 0 8 8\"\n refX={4}\n refY={4}\n markerWidth={8}\n markerHeight={8}\n orient=\"auto\"\n >\n <path\n d=\"M 0.5 0.5 H 7.5 V 7.5 H 0.5 Z\"\n stroke=\"var(--palette-gray-7)\"\n strokeWidth={1}\n fill=\"var(--palette-gray-1)\"\n />\n </marker>\n <marker\n id={`${activeLineMarkerPrefix}end`}\n viewBox=\"0 0 14 8\"\n refX={3}\n refY={4}\n markerWidth={14}\n markerHeight={8}\n orient=\"auto\"\n >\n <path\n d=\"M 0.5 1.5 L 5.5 4 L 0.5 6.5 z\"\n stroke=\"var(--palette-blue-3)\"\n strokeWidth={1}\n fill=\"var(--palette-blue-3)\"\n />\n <path\n d=\"M 6.5 0.5 H 13.5 V 7.5 H 6.5 Z\"\n stroke=\"var(--palette-gray-7)\"\n strokeWidth={1}\n fill=\"var(--palette-gray-1)\"\n />\n </marker>\n </defs>\n <g\n transform={`translate(${rootOffsets[0]} ${rootOffsets[1]}) scale(${transform.k})`}\n >\n {renderedLines.map((line) => (\n <LineComponent\n key={line.line.$id}\n line={line}\n linePaths={linePathsRef.current}\n clipPathList={clipPathList}\n markerPrefix={markerPrefix}\n clipPathPrefix={clipPathPrefix}\n activeLineMarkerPrefix={activeLineMarkerPrefix}\n activeEdge={\n activeTarget?.type === \"edge\" ? activeTarget.edge : null\n }\n onLineClick={onLineClick}\n onLineDoubleClick={onLineDoubleClick}\n />\n ))}\n </g>\n </svg>\n <div\n className=\"line-labels\"\n style={{\n left: rootOffsets[0],\n top: rootOffsets[1],\n }}\n >\n <LineLabelComponentGroup\n labels={renderedLineLabels}\n onRendered={handleLineLabelsRendered}\n />\n </div>\n <div\n className=\"nodes\"\n ref={nodesRef}\n style={{\n left: rootOffsets[0],\n top: rootOffsets[1],\n }}\n >\n <NodeComponentGroup\n nodes={nodes}\n nodeBricks={nodeBricks}\n // nodePositions={nodePositions}\n onRendered={handleNodesRendered}\n />\n </div>\n <ConnectLineComponent\n connectLineState={connectLineState}\n connectLineTo={connectLineTo}\n markerPrefix={markerPrefix}\n />\n </div>\n );\n}\n","import React, {\n createRef,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport classNames from \"classnames\";\nimport styleText from \"./styles.shadow.css\";\n\nconst { defineElement, property, event, method } = createDecorators();\n\nexport interface EditableLabelProps {\n label?: string;\n type?: LabelType;\n}\n\nexport type LabelType = \"line\" | \"default\";\n\nexport interface EditableLabelRef {\n enableEditing(): void;\n}\n\nexport const EditableLabelComponent = forwardRef(LegacyEditableLabelComponent);\n\n/**\n * 构件 `diagram.editable-label`\n */\nexport\n@defineElement(\"diagram.editable-label\", {\n styleTexts: [styleText],\n})\nclass EditableLabel extends ReactNextElement implements EditableLabelProps {\n @property()\n accessor label: string | undefined;\n\n @property({ render: false })\n accessor type: LabelType | undefined;\n\n @event({ type: \"label.editing.change\" })\n accessor #labelEditingChange!: EventEmitter<boolean>;\n\n #handleLabelEditingChange = (value: boolean) => {\n this.#labelEditingChange.emit(value);\n };\n\n @event({ type: \"label.change\" })\n accessor #labelChange!: EventEmitter<string>;\n\n #handleLabelChange = (value: string) => {\n this.#labelChange.emit(value);\n };\n\n @method()\n enableEditing() {\n this.#editableLabelRef.current?.enableEditing();\n }\n\n #editableLabelRef = createRef<EditableLabelRef>();\n\n render() {\n return (\n <EditableLabelComponent\n ref={this.#editableLabelRef}\n label={this.label}\n onLabelEditingChange={this.#handleLabelEditingChange}\n onLabelChange={this.#handleLabelChange}\n />\n );\n }\n}\n\nexport interface EditableLabelComponentProps extends EditableLabelProps {\n onLabelEditingChange?(value: boolean): void;\n onLabelChange?(value: string): void;\n}\n\nexport function LegacyEditableLabelComponent(\n {\n label: _label,\n onLabelChange,\n onLabelEditingChange,\n }: EditableLabelComponentProps,\n ref: React.Ref<EditableLabelRef>\n) {\n const label = _label ?? \"\";\n const [currentLabel, setCurrentLabel] = useState<string>(label);\n const [editingLabel, setEditingLabel] = useState(false);\n const editingLabelInitialized = useRef(false);\n const [shouldEmitLabelChange, setShouldEmitLabelChange] = useState(false);\n const labelInputRef = useRef<HTMLInputElement>(null);\n\n useImperativeHandle(ref, () => ({\n enableEditing() {\n setEditingLabel(true);\n },\n }));\n\n useEffect(() => {\n setCurrentLabel(label);\n }, [label]);\n\n const handleEditLabel = useCallback((e: React.MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n setEditingLabel(true);\n }, []);\n\n useEffect(() => {\n if (editingLabel) {\n // Prevent scroll when focusing.\n // Otherwise the diagram svg may be clipped in Chrome.\n labelInputRef.current?.focus({ preventScroll: true });\n labelInputRef.current?.select();\n }\n }, [editingLabel]);\n\n useEffect(() => {\n if (editingLabelInitialized.current) {\n onLabelEditingChange?.(editingLabel);\n } else {\n editingLabelInitialized.current = true;\n }\n }, [editingLabel, onLabelEditingChange]);\n\n const handleInputChange = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n setCurrentLabel(event.target.value);\n },\n []\n );\n\n const handleInputKeydown = useCallback((event: React.KeyboardEvent) => {\n const key =\n event.key ||\n /* istanbul ignore next: compatibility */ event.keyCode ||\n /* istanbul ignore next: compatibility */ event.which;\n if (key === \"Enter\" || key === 13) {\n labelInputRef.current?.blur();\n }\n }, []);\n\n const handleInputBlur = useCallback(() => {\n setEditingLabel(false);\n setShouldEmitLabelChange(true);\n }, []);\n\n useEffect(() => {\n if (shouldEmitLabelChange) {\n onLabelChange?.(currentLabel);\n setShouldEmitLabelChange(false);\n }\n }, [currentLabel, onLabelChange, shouldEmitLabelChange]);\n\n return (\n <div\n className={classNames(\"label\", {\n editing: editingLabel,\n empty: !currentLabel,\n })}\n >\n <input\n className=\"label-input\"\n value={currentLabel}\n ref={labelInputRef}\n onChange={handleInputChange}\n onKeyDown={handleInputKeydown}\n onBlur={handleInputBlur}\n />\n <div className=\"label-text\" onDoubleClick={handleEditLabel}>\n {currentLabel}\n </div>\n </div>\n );\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.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}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n"],"names":["_EoDiagram","defineElement","property","event","method","createDecorators","EoDiagramComponent","forwardRef","LegacyEoDiagramComponent","_dec","styleTexts","styleText","_dec2","type","String","_dec3","attribute","_dec4","_dec5","_dec6","_dec7","_dec8","_dec9","Boolean","_dec10","_dec11","_dec12","_dec13","_dec14","_dec15","_dec16","_dec17","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_activeTargetChangeEvent","_handleActiveTargetChange","_K","_nodeDelete","_handleNodeDelete","_L","_edgeDelete","_handleEdgeDelete","_M","_lineClick","_handleLineClick","_N","_lineDoubleClick","_handleLineDoubleClick","_O","_nodesConnect","_handleNodesConnect","_handleSwitchActiveTarget","_diagramRef","EoDiagram","ReactNextElement","constructor","arguments","_classPrivateFieldInitSpec","get","_get_nodesConnect2","set","_set_nodesConnect2","_get_lineDoubleClick2","_set_lineDoubleClick2","_get_lineClick2","_set_lineClick2","_get_edgeDelete2","_set_edgeDelete2","_get_nodeDelete2","_set_nodeDelete2","_get_activeTargetChangeEvent2","_set_activeTargetChangeEvent2","writable","value","_initProto","_init_layout","_init_nodes","_init_edges","_init_nodeBricks","_init_lines","_init_layoutOptions","_init_activeTarget","_init_disableKeyboardAction","_init_nodesConnect","_init_activeTargetChangeEvent","target","_classPrivateFieldGet","this","emit","_init_nodeDelete","node","_init_edgeDelete","edge","_init_lineClick","line","_init_lineDoubleClick","_init_nodesConnect2","detail","activeTarget","createRef","layout","v","_classPrivateFieldSet","nodes","edges","nodeBricks","lines","layoutOptions","disableKeyboardAction","nodesConnect","callOnLineLabel","id","_classPrivateFieldGet2","_len","length","args","Array","_key","current","render","React","ref","onActiveTargetChange","onSwitchActiveTarget","onNodeDelete","onEdgeDelete","onLineClick","onLineDoubleClick","onNodesConnect","_set_activeTargetChangeEvent","_get_activeTargetChangeEvent","_set_nodeDelete","_get_nodeDelete","_set_edgeDelete","_get_edgeDelete","_set_lineClick","_get_lineClick","_set_lineDoubleClick","_get_lineDoubleClick","_set_nodesConnect","_get_nodesConnect","_ref","graph","setGraph","useState","nodesReady","setNodesReady","nodesRenderId","setNodesRenderId","nodesRefRepository","setNodesRefRepository","lineLabelsRenderId","setLineLabelsRenderId","lineLabelsRefRepository","setLineLabelsRefRepository","renderedNodes","setRenderedNodes","renderedEdges","setRenderedEdges","renderedLineLabels","setRenderedLineLabels","draggerRef","useRef","grabbing","setGrabbing","transform","setTransform","k","x","y","linePathsRef","Map","rootRef","nodesRef","offsets","setOffsets","centered","setCentered","connectLineTo","setConnectLineTo","connectLineState","setConnectLineState","useImperativeHandle","_lineLabelsRefReposit","_len2","_key2","firstElementChild","onDiagramMouseDown","useCallback","handleDiagramMouseDown","fixedOptions","useMemo","_objectSpread","rankdir","ranksep","edgesep","nodesep","nodePadding","dagreGraphOptions","pick","activeTargetChangeInitialized","useEffect","previousGraph","getDagreGraph","renderedDiagram","getRenderedDiagram","renderedLines","markers","getRenderedLinesAndMarkers","root","onKeydown","action","handleKeyboard","nodeId","addEventListener","removeEventListener","handleNodesRendered","refRepository","previous","handleLineLabelsRendered","dragger","moved","zoomer","zoom","scaleExtent","on","e","select","call","stopPropagation","preventDefault","ctrlKey","translateBy","wheelDeltaX","wheelDeltaY","getCenterOffsets","clientWidth","clientHeight","defPrefix","concat","uniqueId","markerPrefix","clipPathPrefix","activeLineMarkerPrefix","getRenderedLineLabels","clipPathList","setClipPathList","getClipPathList","rootOffsets","className","classNames","ready","tabIndex","onMouseDown","width","height","map","_ref2","index","strokeColor","MarkerComponent","key","clipPath","ClipPathComponent","viewBox","refX","refY","markerWidth","markerHeight","orient","d","stroke","strokeWidth","fill","LineComponent","$id","linePaths","activeEdge","style","left","top","LineLabelComponentGroup","labels","onRendered","NodeComponentGroup","ConnectLineComponent","_class","c","_initClass","_applyDecs","o","_","has","_checkInRHS","_EditableLabel","EditableLabelComponent","LegacyEditableLabelComponent","_labelEditingChange","_handleLabelEditingChange","_labelChange","_handleLabelChange","_editableLabelRef","EditableLabel","_get_labelChange2","_set_labelChange2","_get_labelEditingChange2","_set_labelEditingChange2","_init_label","_init_type","_init_labelEditingChange","_init_labelChange","label","enableEditing","onLabelEditingChange","onLabelChange","_set_labelEditingChange","_get_labelEditingChange","_set_labelChange","_get_labelChange","_label","currentLabel","setCurrentLabel","editingLabel","setEditingLabel","editingLabelInitialized","shouldEmitLabelChange","setShouldEmitLabelChange","labelInputRef","handleEditLabel","_labelInputRef$curren","_labelInputRef$curren2","focus","preventScroll","handleInputChange","handleInputKeydown","_labelInputRef$curren3","keyCode","which","blur","handleInputBlur","editing","empty","onChange","onKeyDown","onBlur","onDoubleClick","___CSS_LOADER_EXPORT___","push","module","toString"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_next_bricks_diagram=self.webpackChunk_next_bricks_diagram||[]).push([[9016],{2715:(e,t,a)=>{a.r(t),a.d(t,{EoDiagram:()=>G,EoDiagramComponent:()=>xe,LegacyEoDiagramComponent:()=>mt});var n,i,r,s,l,o,c,u,d,h,p,g,v,k,Z,w,f,m,b,y,E,M,C,W,L,S,T,D,x,P,R,A,N,B,O,K,H,_,I,z,X,Y,V,q,$,j,F,G,J=a(3028),Q=a(3395),U=a(1815),ee=a(381),te=a(687),ae=a(5066),ne=a(8657),ie=a.n(ne),re=a(5727),se=a(305),le=(a(928),a(1105)),oe=a(7397),ce=a(2779),ue=a.n(ce),de=a(1211),he=a(2370),pe=a(5702),ge=a(6365),ve=a(5731),ke=a(7853),Ze=a(6462),we=a(9575),fe=a(2260),me=a(7587),be=a(1251),ye=a(4126),Ee=a(7201),Me=a(5173),Ce=a(4510),We=a(6436),{defineElement:Le,property:Se,event:Te,method:De}=(0,re.createDecorators)(),xe=(0,ne.forwardRef)(mt);i=Le("eo-diagram",{styleTexts:[We.Z]}),r=Se({type:String}),l=Se({attribute:!1}),c=Se({attribute:!1}),d=Se({attribute:!1}),p=Se({attribute:!1}),v=Se({attribute:!1}),Z=Se({attribute:!1}),f=Se({type:Boolean}),b=Se({attribute:!1}),E=Te({type:"activeTarget.change"}),L=Te({type:"node.delete"}),x=Te({type:"edge.delete"}),N=Te({type:"line.click"}),H=Te({type:"line.dblclick"}),X=Te({type:"nodes.connect"}),$=De();var Pe=new WeakMap,Re=new WeakMap,Ae=new WeakMap,Ne=new WeakMap,Be=new WeakMap,Oe=new WeakMap,Ke=new WeakMap,He=new WeakMap,_e=new WeakMap,Ie=new WeakMap,ze=new WeakMap,Xe=new WeakMap,Ye=new WeakMap,Ve=new WeakMap,qe=new WeakMap,$e=new WeakMap,je=new WeakMap,Fe=new WeakMap,Ge=new WeakMap,Je=new WeakMap,Qe=new WeakMap,Ue=new WeakMap,et=new WeakMap,tt=new WeakMap,at=new WeakMap,nt=new WeakMap,it=new WeakMap,rt=new WeakMap,st=new WeakMap;class lt extends se.ReactNextElement{constructor(){super(...arguments),(0,Q.Z)(this,nt,{get:ft,set:wt}),(0,Q.Z)(this,et,{get:Zt,set:kt}),(0,Q.Z)(this,Je,{get:vt,set:gt}),(0,Q.Z)(this,je,{get:pt,set:ht}),(0,Q.Z)(this,Ve,{get:dt,set:ut}),(0,Q.Z)(this,ze,{get:ct,set:ot}),(0,Q.Z)(this,Pe,{writable:!0,value:(j(this),s(this))}),(0,Q.Z)(this,Re,{writable:!0,value:o(this)}),(0,Q.Z)(this,Ae,{writable:!0,value:u(this)}),(0,Q.Z)(this,Ne,{writable:!0,value:h(this)}),(0,Q.Z)(this,Be,{writable:!0,value:g(this)}),(0,Q.Z)(this,Oe,{writable:!0,value:k(this)}),(0,Q.Z)(this,Ke,{writable:!0,value:w(this)}),(0,Q.Z)(this,He,{writable:!0,value:m(this)}),(0,Q.Z)(this,_e,{writable:!0,value:y(this)}),(0,Q.Z)(this,Ie,{writable:!0,value:M(this)}),(0,Q.Z)(this,Xe,{writable:!0,value:e=>{(0,te.Z)(this,ze).emit(e)}}),(0,Q.Z)(this,Ye,{writable:!0,value:S(this)}),(0,Q.Z)(this,qe,{writable:!0,value:e=>{(0,te.Z)(this,Ve).emit(e)}}),(0,Q.Z)(this,$e,{writable:!0,value:P(this)}),(0,Q.Z)(this,Fe,{writable:!0,value:e=>{(0,te.Z)(this,je).emit(e)}}),(0,Q.Z)(this,Ge,{writable:!0,value:B(this)}),(0,Q.Z)(this,Qe,{writable:!0,value:e=>{(0,te.Z)(this,Je).emit(e)}}),(0,Q.Z)(this,Ue,{writable:!0,value:_(this)}),(0,Q.Z)(this,tt,{writable:!0,value:e=>{(0,te.Z)(this,et).emit(e)}}),(0,Q.Z)(this,at,{writable:!0,value:Y(this)}),(0,Q.Z)(this,it,{writable:!0,value:e=>{(0,te.Z)(this,nt).emit(e)}}),(0,Q.Z)(this,rt,{writable:!0,value:e=>{this.activeTarget=e}}),(0,Q.Z)(this,st,{writable:!0,value:(0,ne.createRef)()})}get layout(){return(0,te.Z)(this,Pe)}set layout(e){(0,ee.Z)(this,Pe,e)}get nodes(){return(0,te.Z)(this,Re)}set nodes(e){(0,ee.Z)(this,Re,e)}get edges(){return(0,te.Z)(this,Ae)}set edges(e){(0,ee.Z)(this,Ae,e)}get nodeBricks(){return(0,te.Z)(this,Ne)}set nodeBricks(e){(0,ee.Z)(this,Ne,e)}get lines(){return(0,te.Z)(this,Be)}set lines(e){(0,ee.Z)(this,Be,e)}get layoutOptions(){return(0,te.Z)(this,Oe)}set layoutOptions(e){(0,ee.Z)(this,Oe,e)}get activeTarget(){return(0,te.Z)(this,Ke)}set activeTarget(e){(0,ee.Z)(this,Ke,e)}get disableKeyboardAction(){return(0,te.Z)(this,He)}set disableKeyboardAction(e){(0,ee.Z)(this,He,e)}get nodesConnect(){return(0,te.Z)(this,_e)}set nodesConnect(e){(0,ee.Z)(this,_e,e)}callOnLineLabel(e,t){for(var a,n=arguments.length,i=new Array(n>2?n-2:0),r=2;r<n;r++)i[r-2]=arguments[r];null===(a=(0,te.Z)(this,st).current)||void 0===a||a.callOnLineLabel(e,t,...i)}render(){return ie().createElement(xe,{ref:(0,te.Z)(this,st),layout:this.layout,nodes:this.nodes,edges:this.edges,nodeBricks:this.nodeBricks,lines:this.lines,layoutOptions:this.layoutOptions,nodesConnect:this.nodesConnect,activeTarget:this.activeTarget,disableKeyboardAction:this.disableKeyboardAction,onActiveTargetChange:(0,te.Z)(this,Xe),onSwitchActiveTarget:(0,te.Z)(this,rt),onNodeDelete:(0,te.Z)(this,qe),onEdgeDelete:(0,te.Z)(this,Fe),onLineClick:(0,te.Z)(this,Qe),onLineDoubleClick:(0,te.Z)(this,tt),onNodesConnect:(0,te.Z)(this,it)})}}function ot(e){W(this,e)}function ct(){return C(this)}function ut(e){D(this,e)}function dt(){return T(this)}function ht(e){A(this,e)}function pt(){return R(this)}function gt(e){K(this,e)}function vt(){return O(this)}function kt(e){z(this,e)}function Zt(){return I(this)}function wt(e){q(this,e)}function ft(){return V(this)}function mt(e,t){var{layout:a,nodes:n,edges:i,nodeBricks:r,lines:s,layoutOptions:l,nodesConnect:o,activeTarget:c,disableKeyboardAction:u,onActiveTargetChange:d,onSwitchActiveTarget:h,onNodeDelete:p,onEdgeDelete:g,onLineClick:v,onLineDoubleClick:k,onNodesConnect:Z}=e,[w,f]=(0,ne.useState)(null),[m,b]=(0,ne.useState)(!1),[y,E]=(0,ne.useState)(0),[M,C]=(0,ne.useState)(null),[W,L]=(0,ne.useState)(0),[S,T]=(0,ne.useState)(null),[D,x]=(0,ne.useState)([]),[P,R]=(0,ne.useState)([]),[A,N]=(0,ne.useState)([]),B=(0,ne.useRef)(null),[O,K]=(0,ne.useState)(!1),[H,_]=(0,ne.useState)({k:1,x:0,y:0}),I=(0,ne.useRef)(new Map),z=(0,ne.useRef)(null),X=(0,ne.useRef)(null),[Y,V]=(0,ne.useState)([0,0]),[q,$]=(0,ne.useState)(!1),[j,F]=(0,ne.useState)([0,0]),[G,Q]=(0,ne.useState)(null);(0,ne.useImperativeHandle)(t,(()=>({callOnLineLabel(e,t){for(var a,n=arguments.length,i=new Array(n>2?n-2:0),r=2;r<n;r++)i[r-2]=arguments[r];null==S||null===(a=S.get(e))||void 0===a||null===(a=a.firstElementChild)||void 0===a||a[t](...i)}})));var U=(0,ne.useCallback)((e=>{(0,Ce.k)(e,{nodes:n,nodesRefRepository:M,nodesConnect:o,setConnectLineState:Q,setConnectLineTo:F,onSwitchActiveTarget:h,onNodesConnect:Z})}),[n,o,M,Z,h]),ee=(0,ne.useMemo)((()=>(0,J.Z)({rankdir:"TB",ranksep:50,edgesep:10,nodesep:50,nodePadding:0},l)),[l]),{nodePadding:te}=ee,ae=(0,ne.useMemo)((()=>(0,de.pick)(ee,["rankdir","ranksep","edgesep","nodesep","align"])),[ee]),re=(0,ne.useRef)(!1);(0,ne.useEffect)((()=>{re.current?null==d||d(null!=c?c:null):re.current=!0}),[n,c,d]),(0,ne.useEffect)((()=>{f((e=>(0,Me.T)(e,n,i,ae)))}),[i,n,ae]),(0,ne.useEffect)((()=>{var e=(0,Ee.E)({graph:w,nodesRefRepository:M,nodePadding:te});e&&(x(e.nodes),R(e.edges))}),[w,M,y,te]);var{renderedLines:se,markers:ce}=(0,ne.useMemo)((()=>(0,ve.b)(P,s)),[s,P]);(0,ne.useEffect)((()=>{var e=z.current;if(e&&!u){var t=e=>{var t=(0,pe.p)(e,{renderedNodes:D,renderedEdges:P,activeTarget:c});"delete-node"===(null==t?void 0:t.action)?null==p||p(t.node):"delete-edge"===(null==t?void 0:t.action)?null==g||g(t.edge):"switch-active-node"===(null==t?void 0:t.action)&&t.node&&(null==h||h({type:"node",nodeId:t.node.id}))};return e.addEventListener("keydown",t),()=>{e.removeEventListener("keydown",t)}}}),[c,D,P,u,h,p,g]);var We=(0,ne.useCallback)((e=>{e&&(E((e=>e+1)),C(e)),b((t=>t||!!e))}),[]),Le=(0,ne.useCallback)((e=>{e&&(L((e=>e+1)),T(e))}),[]);(0,ne.useEffect)((()=>{var e=z.current,t=B.current;if(e&&t){var a=!1,n=(0,oe.sP)().scaleExtent([1,1]).on("start",(()=>{a=!1,K(!0)})).on("zoom",(e=>{a=!0,_(e.transform)})).on("end",(()=>{K(!1),a||null==h||h(null)}));(0,le.Z)(t).call(n),(0,le.Z)(e).on("wheel.zoom",(e=>{e.stopPropagation(),e.preventDefault(),e.ctrlKey||n.translateBy((0,le.Z)(t),e.wheelDeltaX/5,e.wheelDeltaY/5)}))}}),[h]),(0,ne.useEffect)((()=>{var e=z.current;0!==D.length&&e&&!q&&(V((0,ge.i)(D,[e.clientWidth,e.clientHeight])),$(!0))}),[q,D]);var Se=(0,ne.useMemo)((()=>"".concat((0,de.uniqueId)("diagram-"),"-")),[]),Te="".concat(Se,"line-arrow-"),De="".concat(Se,"clip-path-"),xe="".concat(Se,"active-line-");(0,ne.useEffect)((()=>{N((e=>(0,ye.K)(e,se,I.current)))}),[se]);var[Pe,Re]=ie().useState([]);if((0,ne.useEffect)((()=>{S&&Re((0,be.i)(A,S))}),[W,S,A]),"dagre"!==a)return ie().createElement("div",null,'Diagram layout not supported: "'.concat(a,'"'));var Ae=[Y[0]+H.x,Y[1]+H.y];return ie().createElement("div",{className:ue()("diagram",{ready:m&&q}),tabIndex:-1,ref:z,onMouseDown:U},ie().createElement("div",{className:ue()("dragger",{grabbing:O}),ref:B}),ie().createElement("svg",{width:"100%",height:"100%",className:"lines"},ie().createElement("defs",null,ce.map(((e,t)=>{var{strokeColor:a}=e;return ie().createElement(we.C,{key:t,id:"".concat(Te).concat(t),strokeColor:a})})),Pe.map((e=>ie().createElement(fe.K,{key:e.id,clipPath:e,clipPathPrefix:De,renderedLineLabels:A}))),ie().createElement("marker",{id:"".concat(xe,"start"),viewBox:"0 0 8 8",refX:4,refY:4,markerWidth:8,markerHeight:8,orient:"auto"},ie().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)"})),ie().createElement("marker",{id:"".concat(xe,"end"),viewBox:"0 0 14 8",refX:3,refY:4,markerWidth:14,markerHeight:8,orient:"auto"},ie().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)"}),ie().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)"}))),ie().createElement("g",{transform:"translate(".concat(Ae[0]," ").concat(Ae[1],") scale(").concat(H.k,")")},se.map((e=>ie().createElement(Ze.y,{key:e.line.$id,line:e,linePaths:I.current,clipPathList:Pe,markerPrefix:Te,clipPathPrefix:De,activeLineMarkerPrefix:xe,activeEdge:"edge"===(null==c?void 0:c.type)?c.edge:null,onLineClick:v,onLineDoubleClick:k}))))),ie().createElement("div",{className:"line-labels",style:{left:Ae[0],top:Ae[1]}},ie().createElement(ke.L8,{labels:A,onRendered:Le})),ie().createElement("div",{className:"nodes",ref:X,style:{left:Ae[0],top:Ae[1]}},ie().createElement(he.n,{nodes:n,nodeBricks:r,onRendered:We})),ie().createElement(me.f,{connectLineState:G,connectLineTo:j,markerPrefix:Te}))}F=lt,({e:[s,o,u,h,g,k,w,m,y,M,C,W,S,T,D,P,R,A,B,O,K,_,I,z,Y,V,q,j],c:[G,n]}=(0,ae.Z)(F,[[r,1,"layout"],[l,1,"nodes"],[c,1,"edges"],[d,1,"nodeBricks"],[p,1,"lines"],[v,1,"layoutOptions"],[Z,1,"activeTarget"],[f,1,"disableKeyboardAction"],[b,1,"nodesConnect"],[E,1,"activeTargetChangeEvent",e=>(0,te.Z)(e,Ie),(e,t)=>(0,ee.Z)(e,Ie,t)],[L,1,"nodeDelete",e=>(0,te.Z)(e,Ye),(e,t)=>(0,ee.Z)(e,Ye,t)],[x,1,"edgeDelete",e=>(0,te.Z)(e,$e),(e,t)=>(0,ee.Z)(e,$e,t)],[N,1,"lineClick",e=>(0,te.Z)(e,Ge),(e,t)=>(0,ee.Z)(e,Ge,t)],[H,1,"lineDoubleClick",e=>(0,te.Z)(e,Ue),(e,t)=>(0,ee.Z)(e,Ue,t)],[X,1,"nodesConnect",e=>(0,te.Z)(e,at),(e,t)=>(0,ee.Z)(e,at,t)],[$,2,"callOnLineLabel"]],[i],0,(e=>st.has((0,U.Z)(e))),se.ReactNextElement)),n()}}]);
|
|
2
|
+
//# sourceMappingURL=eo-diagram.7b7b7b0d.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunks/eo-diagram.7b7b7b0d.js","mappings":"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","sources":["webpack:///./src/diagram/index.tsx"],"sourcesContent":["import React, {\n createRef,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport \"@next-core/theme\";\nimport dagre from \"@dagrejs/dagre\";\nimport { select } from \"d3-selection\";\nimport { zoom } from \"d3-zoom\";\nimport classNames from \"classnames\";\nimport { pick, uniqueId } from \"lodash\";\nimport type {\n DiagramEdge,\n DiagramNode,\n LayoutOptionsDagre,\n LineConf,\n NodeBrickConf,\n PositionTuple,\n RefRepository,\n RenderedEdge,\n RenderedLineLabel,\n RenderedNode,\n LineTextClipPath,\n TransformLiteral,\n LineTarget,\n ConnectLineDetail,\n NodesConnectOptions,\n ConnectLineState,\n ActiveTarget,\n} from \"./interfaces\";\nimport { NodeComponentGroup } from \"./NodeComponent\";\nimport { handleKeyboard } from \"./processors/handleKeyboard\";\nimport { getCenterOffsets } from \"./processors/getCenterOffsets\";\nimport { getRenderedLinesAndMarkers } from \"./processors/getRenderedLinesAndMarkers\";\nimport { LineLabelComponentGroup } from \"./LineLabelComponent\";\nimport { LineComponent } from \"./LineComponent\";\nimport { MarkerComponent } from \"./MarkerComponent\";\nimport { ClipPathComponent } from \"./ClipPathComponent\";\nimport { ConnectLineComponent } from \"./ConnectLineComponent\";\nimport { getClipPathList } from \"./processors/getClipPathList\";\nimport { getRenderedLineLabels } from \"./processors/getRenderedLineLabels\";\nimport { getRenderedDiagram } from \"./processors/getRenderedDiagram\";\nimport { getDagreGraph } from \"./processors/getDagreGraph\";\nimport { handleDiagramMouseDown } from \"./processors/handleDiagramMouseDown\";\nimport styleText from \"./styles.shadow.css\";\n\nconst { defineElement, property, event, method } = createDecorators();\n\nexport interface EoDiagramProps {\n layout?: \"dagre\";\n nodes?: DiagramNode[];\n edges?: DiagramEdge[];\n nodeBricks?: NodeBrickConf[];\n lines?: LineConf[];\n layoutOptions?: LayoutOptionsDagre;\n nodesConnect?: NodesConnectOptions;\n activeTarget?: ActiveTarget | null;\n disableKeyboardAction?: boolean;\n}\n\nexport interface DiagramRef {\n callOnLineLabel(id: string, method: string, ...args: unknown[]): void;\n}\n\nexport interface DiagramHandler {\n moveIntoView(id: string): void;\n}\n\nexport const EoDiagramComponent = forwardRef(LegacyEoDiagramComponent);\n\n/**\n * 构件 `eo-diagram`\n */\nexport\n@defineElement(\"eo-diagram\", {\n styleTexts: [styleText],\n})\nclass EoDiagram extends ReactNextElement implements EoDiagramProps {\n /**\n * @required\n */\n @property({ type: String })\n accessor layout: \"dagre\" | undefined;\n\n @property({ attribute: false })\n accessor nodes: DiagramNode[] | undefined;\n\n @property({ attribute: false })\n accessor edges: DiagramEdge[] | undefined;\n\n @property({ attribute: false })\n accessor nodeBricks: NodeBrickConf[] | undefined;\n\n @property({ attribute: false })\n accessor lines: LineConf[] | undefined;\n\n @property({ attribute: false })\n accessor layoutOptions: LayoutOptionsDagre | undefined;\n\n @property({ attribute: false })\n accessor activeTarget: ActiveTarget | null | undefined;\n\n @property({ type: Boolean })\n accessor disableKeyboardAction: boolean | undefined;\n\n @property({ attribute: false })\n accessor nodesConnect: NodesConnectOptions | undefined;\n\n @event({ type: \"activeTarget.change\" })\n accessor #activeTargetChangeEvent!: EventEmitter<ActiveTarget | null>;\n\n #handleActiveTargetChange = (target: ActiveTarget | null) => {\n this.#activeTargetChangeEvent.emit(target);\n };\n\n @event({ type: \"node.delete\" })\n accessor #nodeDelete!: EventEmitter<DiagramNode>;\n\n #handleNodeDelete = (node: DiagramNode) => {\n this.#nodeDelete.emit(node);\n };\n\n @event({ type: \"edge.delete\" })\n accessor #edgeDelete!: EventEmitter<DiagramEdge>;\n\n #handleEdgeDelete = (edge: DiagramEdge) => {\n this.#edgeDelete.emit(edge);\n };\n\n @event({ type: \"line.click\" })\n accessor #lineClick!: EventEmitter<LineTarget>;\n\n #handleLineClick = (line: LineTarget) => {\n this.#lineClick.emit(line);\n };\n\n @event({ type: \"line.dblclick\" })\n accessor #lineDoubleClick!: EventEmitter<LineTarget>;\n\n #handleLineDoubleClick = (line: LineTarget) => {\n this.#lineDoubleClick.emit(line);\n };\n\n @event({ type: \"nodes.connect\" })\n accessor #nodesConnect!: EventEmitter<ConnectLineDetail>;\n\n #handleNodesConnect = (detail: ConnectLineDetail) => {\n this.#nodesConnect.emit(detail);\n };\n\n #handleSwitchActiveTarget = (target: ActiveTarget | null) => {\n this.activeTarget = target;\n };\n\n #diagramRef = createRef<DiagramRef>();\n\n @method()\n callOnLineLabel(id: string, method: string, ...args: unknown[]) {\n this.#diagramRef.current?.callOnLineLabel(id, method, ...args);\n }\n\n render() {\n return (\n <EoDiagramComponent\n ref={this.#diagramRef}\n layout={this.layout}\n nodes={this.nodes}\n edges={this.edges}\n nodeBricks={this.nodeBricks}\n lines={this.lines}\n layoutOptions={this.layoutOptions}\n nodesConnect={this.nodesConnect}\n activeTarget={this.activeTarget}\n disableKeyboardAction={this.disableKeyboardAction}\n onActiveTargetChange={this.#handleActiveTargetChange}\n onSwitchActiveTarget={this.#handleSwitchActiveTarget}\n onNodeDelete={this.#handleNodeDelete}\n onEdgeDelete={this.#handleEdgeDelete}\n onLineClick={this.#handleLineClick}\n onLineDoubleClick={this.#handleLineDoubleClick}\n onNodesConnect={this.#handleNodesConnect}\n />\n );\n }\n}\n\nexport interface EoDiagramComponentProps extends EoDiagramProps {\n onActiveTargetChange?(target: ActiveTarget | null): void;\n onSwitchActiveTarget?(target: ActiveTarget | null): void;\n onNodeDelete?(node: DiagramNode): void;\n onEdgeDelete?(edge: DiagramEdge): void;\n onLineClick?(line: LineTarget): void;\n onLineDoubleClick?(line: LineTarget): void;\n onNodesConnect?(detail: ConnectLineDetail): void;\n}\n\nexport function LegacyEoDiagramComponent(\n {\n layout,\n nodes,\n edges,\n nodeBricks,\n lines,\n layoutOptions,\n nodesConnect,\n activeTarget,\n disableKeyboardAction,\n onActiveTargetChange,\n onSwitchActiveTarget,\n onNodeDelete,\n onEdgeDelete,\n onLineClick,\n onLineDoubleClick,\n onNodesConnect,\n }: EoDiagramComponentProps,\n ref: React.Ref<DiagramRef>\n) {\n const [graph, setGraph] = useState<dagre.graphlib.Graph<RenderedNode> | null>(\n null\n );\n const [nodesReady, setNodesReady] = useState(false);\n const [nodesRenderId, setNodesRenderId] = useState(0);\n const [nodesRefRepository, setNodesRefRepository] =\n useState<RefRepository | null>(null);\n // const [lineLabelsReady, setLineLabelsReady] = useState(false);\n const [lineLabelsRenderId, setLineLabelsRenderId] = useState(0);\n const [lineLabelsRefRepository, setLineLabelsRefRepository] =\n useState<RefRepository | null>(null);\n const [renderedNodes, setRenderedNodes] = useState<RenderedNode[]>([]);\n const [renderedEdges, setRenderedEdges] = useState<RenderedEdge[]>([]);\n const [renderedLineLabels, setRenderedLineLabels] = useState<\n RenderedLineLabel[]\n >([]);\n\n const draggerRef = useRef<HTMLDivElement>(null);\n const [grabbing, setGrabbing] = useState(false);\n const [transform, setTransform] = useState<TransformLiteral>({\n k: 1,\n x: 0,\n y: 0,\n });\n\n const linePathsRef = useRef(new Map<string, SVGPathElement | null>());\n\n const rootRef = useRef<HTMLDivElement>(null);\n const nodesRef = useRef<HTMLDivElement>(null);\n const [offsets, setOffsets] = useState<PositionTuple>([0, 0]);\n const [centered, setCentered] = useState(false);\n\n const [connectLineTo, setConnectLineTo] = useState<PositionTuple>([0, 0]);\n const [connectLineState, setConnectLineState] =\n useState<ConnectLineState | null>(null);\n\n useImperativeHandle(ref, () => ({\n callOnLineLabel(id, method, ...args) {\n (\n lineLabelsRefRepository?.get(id)\n ?.firstElementChild as unknown as Record<string, Function>\n )?.[method](...args);\n },\n }));\n\n const onDiagramMouseDown = useCallback(\n (event: React.MouseEvent) => {\n handleDiagramMouseDown(event, {\n nodes,\n nodesRefRepository,\n nodesConnect,\n setConnectLineState,\n setConnectLineTo,\n onSwitchActiveTarget,\n onNodesConnect,\n });\n },\n [\n nodes,\n nodesConnect,\n nodesRefRepository,\n onNodesConnect,\n onSwitchActiveTarget,\n ]\n );\n\n const fixedOptions = useMemo(\n () => ({\n rankdir: \"TB\",\n ranksep: 50,\n edgesep: 10,\n nodesep: 50,\n // align: undefined,\n nodePadding: 0,\n ...layoutOptions,\n }),\n [layoutOptions]\n );\n\n const { nodePadding } = fixedOptions;\n const dagreGraphOptions = useMemo(\n () =>\n pick(fixedOptions, [\"rankdir\", \"ranksep\", \"edgesep\", \"nodesep\", \"align\"]),\n [fixedOptions]\n );\n\n const activeTargetChangeInitialized = useRef(false);\n useEffect(() => {\n if (!activeTargetChangeInitialized.current) {\n activeTargetChangeInitialized.current = true;\n return;\n }\n onActiveTargetChange?.(activeTarget ?? null);\n }, [nodes, activeTarget, onActiveTargetChange]);\n\n useEffect(() => {\n setGraph((previousGraph) =>\n getDagreGraph(previousGraph, nodes, edges, dagreGraphOptions)\n );\n }, [edges, nodes, dagreGraphOptions]);\n\n useEffect(() => {\n const renderedDiagram = getRenderedDiagram({\n graph,\n nodesRefRepository,\n nodePadding,\n });\n if (renderedDiagram) {\n setRenderedNodes(renderedDiagram.nodes);\n setRenderedEdges(renderedDiagram.edges);\n }\n }, [graph, nodesRefRepository, nodesRenderId, nodePadding]);\n\n const { renderedLines, markers } = useMemo(\n () => getRenderedLinesAndMarkers(renderedEdges, lines),\n [lines, renderedEdges]\n );\n\n useEffect(() => {\n const root = rootRef.current;\n if (!root || disableKeyboardAction) {\n return;\n }\n const onKeydown = (event: KeyboardEvent) => {\n const action = handleKeyboard(event, {\n renderedNodes,\n renderedEdges,\n activeTarget,\n });\n\n if (action?.action === \"delete-node\") {\n onNodeDelete?.(action.node);\n } else if (action?.action === \"delete-edge\") {\n onEdgeDelete?.(action.edge);\n } else if (action?.action === \"switch-active-node\" && action.node) {\n onSwitchActiveTarget?.({ type: \"node\", nodeId: action.node.id });\n }\n };\n root.addEventListener(\"keydown\", onKeydown);\n return () => {\n root.removeEventListener(\"keydown\", onKeydown);\n };\n }, [\n activeTarget,\n renderedNodes,\n renderedEdges,\n disableKeyboardAction,\n onSwitchActiveTarget,\n onNodeDelete,\n onEdgeDelete,\n ]);\n\n const handleNodesRendered = useCallback(\n (refRepository: RefRepository | null) => {\n if (refRepository) {\n setNodesRenderId((previous) => previous + 1);\n setNodesRefRepository(refRepository);\n }\n setNodesReady((previous) => previous || !!refRepository);\n },\n []\n );\n\n const handleLineLabelsRendered = useCallback(\n (refRepository: RefRepository | null) => {\n if (refRepository) {\n setLineLabelsRenderId((previous) => previous + 1);\n setLineLabelsRefRepository(refRepository);\n }\n // setLineLabelsReady((previous) => previous || !!refRepository);\n },\n []\n );\n\n useEffect(() => {\n const root = rootRef.current;\n const dragger = draggerRef.current as Element;\n if (!root || !dragger) {\n return;\n }\n let moved = false;\n const zoomer = zoom()\n .scaleExtent([1, 1])\n .on(\"start\", () => {\n moved = false;\n setGrabbing(true);\n })\n .on(\"zoom\", (e) => {\n moved = true;\n setTransform(e.transform);\n })\n .on(\"end\", () => {\n setGrabbing(false);\n if (!moved) {\n onSwitchActiveTarget?.(null);\n }\n });\n select(dragger).call(zoomer);\n\n select(root).on(\"wheel.zoom\", (e) => {\n e.stopPropagation();\n e.preventDefault();\n // Mac OS trackpad pinch event is emitted as a wheel.zoom and d3.event.ctrlKey set to true\n if (!e.ctrlKey) {\n zoomer.translateBy(\n select(dragger),\n e.wheelDeltaX / 5,\n e.wheelDeltaY / 5\n );\n }\n });\n }, [onSwitchActiveTarget]);\n\n useEffect(() => {\n const root = rootRef.current;\n if (renderedNodes.length === 0 || !root || centered) {\n return;\n }\n setOffsets(\n getCenterOffsets(renderedNodes, [root.clientWidth, root.clientHeight])\n );\n setCentered(true);\n }, [centered, renderedNodes]);\n\n const defPrefix = useMemo(() => `${uniqueId(\"diagram-\")}-`, []);\n const markerPrefix = `${defPrefix}line-arrow-`;\n const clipPathPrefix = `${defPrefix}clip-path-`;\n const activeLineMarkerPrefix = `${defPrefix}active-line-`;\n\n useEffect(() => {\n setRenderedLineLabels((previous) =>\n getRenderedLineLabels(previous, renderedLines, linePathsRef.current)\n );\n }, [renderedLines]);\n\n const [clipPathList, setClipPathList] = React.useState<LineTextClipPath[]>(\n []\n );\n\n useEffect(() => {\n if (!lineLabelsRefRepository) {\n return;\n }\n setClipPathList(\n getClipPathList(renderedLineLabels, lineLabelsRefRepository)\n );\n }, [lineLabelsRenderId, lineLabelsRefRepository, renderedLineLabels]);\n\n if (layout !== \"dagre\") {\n return <div>{`Diagram layout not supported: \"${layout}\"`}</div>;\n }\n\n const rootOffsets = [offsets[0] + transform.x, offsets[1] + transform.y];\n\n return (\n <div\n className={classNames(\"diagram\", { ready: nodesReady && centered })}\n tabIndex={-1}\n ref={rootRef}\n onMouseDown={onDiagramMouseDown}\n >\n <div className={classNames(\"dragger\", { grabbing })} ref={draggerRef} />\n <svg width=\"100%\" height=\"100%\" className=\"lines\">\n <defs>\n {markers.map(({ strokeColor }, index) => (\n <MarkerComponent\n key={index}\n id={`${markerPrefix}${index}`}\n strokeColor={strokeColor}\n />\n ))}\n {clipPathList.map((clipPath) => (\n <ClipPathComponent\n key={clipPath.id}\n clipPath={clipPath}\n clipPathPrefix={clipPathPrefix}\n renderedLineLabels={renderedLineLabels}\n />\n ))}\n <marker\n id={`${activeLineMarkerPrefix}start`}\n viewBox=\"0 0 8 8\"\n refX={4}\n refY={4}\n markerWidth={8}\n markerHeight={8}\n orient=\"auto\"\n >\n <path\n d=\"M 0.5 0.5 H 7.5 V 7.5 H 0.5 Z\"\n stroke=\"var(--palette-gray-7)\"\n strokeWidth={1}\n fill=\"var(--palette-gray-1)\"\n />\n </marker>\n <marker\n id={`${activeLineMarkerPrefix}end`}\n viewBox=\"0 0 14 8\"\n refX={3}\n refY={4}\n markerWidth={14}\n markerHeight={8}\n orient=\"auto\"\n >\n <path\n d=\"M 0.5 1.5 L 5.5 4 L 0.5 6.5 z\"\n stroke=\"var(--palette-blue-3)\"\n strokeWidth={1}\n fill=\"var(--palette-blue-3)\"\n />\n <path\n d=\"M 6.5 0.5 H 13.5 V 7.5 H 6.5 Z\"\n stroke=\"var(--palette-gray-7)\"\n strokeWidth={1}\n fill=\"var(--palette-gray-1)\"\n />\n </marker>\n </defs>\n <g\n transform={`translate(${rootOffsets[0]} ${rootOffsets[1]}) scale(${transform.k})`}\n >\n {renderedLines.map((line) => (\n <LineComponent\n key={line.line.$id}\n line={line}\n linePaths={linePathsRef.current}\n clipPathList={clipPathList}\n markerPrefix={markerPrefix}\n clipPathPrefix={clipPathPrefix}\n activeLineMarkerPrefix={activeLineMarkerPrefix}\n activeEdge={\n activeTarget?.type === \"edge\" ? activeTarget.edge : null\n }\n onLineClick={onLineClick}\n onLineDoubleClick={onLineDoubleClick}\n />\n ))}\n </g>\n </svg>\n <div\n className=\"line-labels\"\n style={{\n left: rootOffsets[0],\n top: rootOffsets[1],\n }}\n >\n <LineLabelComponentGroup\n labels={renderedLineLabels}\n onRendered={handleLineLabelsRendered}\n />\n </div>\n <div\n className=\"nodes\"\n ref={nodesRef}\n style={{\n left: rootOffsets[0],\n top: rootOffsets[1],\n }}\n >\n <NodeComponentGroup\n nodes={nodes}\n nodeBricks={nodeBricks}\n // nodePositions={nodePositions}\n onRendered={handleNodesRendered}\n />\n </div>\n <ConnectLineComponent\n connectLineState={connectLineState}\n connectLineTo={connectLineTo}\n markerPrefix={markerPrefix}\n />\n </div>\n );\n}\n"],"names":["_EoDiagram","defineElement","property","event","method","createDecorators","EoDiagramComponent","forwardRef","LegacyEoDiagramComponent","_dec","styleTexts","styleText","_dec2","type","String","_dec3","attribute","_dec4","_dec5","_dec6","_dec7","_dec8","_dec9","Boolean","_dec10","_dec11","_dec12","_dec13","_dec14","_dec15","_dec16","_dec17","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_activeTargetChangeEvent","_handleActiveTargetChange","_K","_nodeDelete","_handleNodeDelete","_L","_edgeDelete","_handleEdgeDelete","_M","_lineClick","_handleLineClick","_N","_lineDoubleClick","_handleLineDoubleClick","_O","_nodesConnect","_handleNodesConnect","_handleSwitchActiveTarget","_diagramRef","EoDiagram","ReactNextElement","constructor","arguments","_classPrivateFieldInitSpec","get","_get_nodesConnect2","set","_set_nodesConnect2","_get_lineDoubleClick2","_set_lineDoubleClick2","_get_lineClick2","_set_lineClick2","_get_edgeDelete2","_set_edgeDelete2","_get_nodeDelete2","_set_nodeDelete2","_get_activeTargetChangeEvent2","_set_activeTargetChangeEvent2","writable","value","_initProto","_init_layout","_init_nodes","_init_edges","_init_nodeBricks","_init_lines","_init_layoutOptions","_init_activeTarget","_init_disableKeyboardAction","_init_nodesConnect","_init_activeTargetChangeEvent","target","_classPrivateFieldGet","this","emit","_init_nodeDelete","node","_init_edgeDelete","edge","_init_lineClick","line","_init_lineDoubleClick","_init_nodesConnect2","detail","activeTarget","createRef","layout","v","_classPrivateFieldSet","nodes","edges","nodeBricks","lines","layoutOptions","disableKeyboardAction","nodesConnect","callOnLineLabel","id","_classPrivateFieldGet2","_len","length","args","Array","_key","current","render","React","ref","onActiveTargetChange","onSwitchActiveTarget","onNodeDelete","onEdgeDelete","onLineClick","onLineDoubleClick","onNodesConnect","_set_activeTargetChangeEvent","_get_activeTargetChangeEvent","_set_nodeDelete","_get_nodeDelete","_set_edgeDelete","_get_edgeDelete","_set_lineClick","_get_lineClick","_set_lineDoubleClick","_get_lineDoubleClick","_set_nodesConnect","_get_nodesConnect","_ref","graph","setGraph","useState","nodesReady","setNodesReady","nodesRenderId","setNodesRenderId","nodesRefRepository","setNodesRefRepository","lineLabelsRenderId","setLineLabelsRenderId","lineLabelsRefRepository","setLineLabelsRefRepository","renderedNodes","setRenderedNodes","renderedEdges","setRenderedEdges","renderedLineLabels","setRenderedLineLabels","draggerRef","useRef","grabbing","setGrabbing","transform","setTransform","k","x","y","linePathsRef","Map","rootRef","nodesRef","offsets","setOffsets","centered","setCentered","connectLineTo","setConnectLineTo","connectLineState","setConnectLineState","useImperativeHandle","_lineLabelsRefReposit","_len2","_key2","firstElementChild","onDiagramMouseDown","useCallback","handleDiagramMouseDown","fixedOptions","useMemo","_objectSpread","rankdir","ranksep","edgesep","nodesep","nodePadding","dagreGraphOptions","pick","activeTargetChangeInitialized","useEffect","previousGraph","getDagreGraph","renderedDiagram","getRenderedDiagram","renderedLines","markers","getRenderedLinesAndMarkers","root","onKeydown","action","handleKeyboard","nodeId","addEventListener","removeEventListener","handleNodesRendered","refRepository","previous","handleLineLabelsRendered","dragger","moved","zoomer","zoom","scaleExtent","on","e","select","call","stopPropagation","preventDefault","ctrlKey","translateBy","wheelDeltaX","wheelDeltaY","getCenterOffsets","clientWidth","clientHeight","defPrefix","concat","uniqueId","markerPrefix","clipPathPrefix","activeLineMarkerPrefix","getRenderedLineLabels","clipPathList","setClipPathList","getClipPathList","rootOffsets","className","classNames","ready","tabIndex","onMouseDown","width","height","map","_ref2","index","strokeColor","MarkerComponent","key","clipPath","ClipPathComponent","viewBox","refX","refY","markerWidth","markerHeight","orient","d","stroke","strokeWidth","fill","LineComponent","$id","linePaths","activeEdge","style","left","top","LineLabelComponentGroup","labels","onRendered","NodeComponentGroup","ConnectLineComponent","_class","c","_initClass","_applyDecs","o","_","has","_checkInRHS"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(()=>{var e,t,r,n,a,o,l,i,c,u,d,s,f,h,p,m,b,v,g,x,y,P,k={8691:(e,t,r)=>{Promise.all([r.e(7312),r.e(8657),r.e(5727),r.e(8842),r.e(9464),r.e(6457),r.e(9393)]).then(r.bind(r,9393))}},w={};function j(e){var t=w[e];if(void 0!==t)return t.exports;var r=w[e]={id:e,loaded:!1,exports:{}};return k[e].call(r.exports,r,r.exports,j),r.loaded=!0,r.exports}j.m=k,j.c=w,j.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return j.d(t,{a:t}),t},j.d=(e,t)=>{for(var r in t)j.o(t,r)&&!j.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},j.f={},j.e=e=>Promise.all(Object.keys(j.f).reduce(((t,r)=>(j.f[r](e,t),t)),[])),j.u=e=>"chunks/"+e+"."+{488:"5e90153b",628:"ae14642a",1303:"70dabf75",1502:"bee3a64c",1646:"6589b358",1874:"85ba64ca",2024:"53d97685",2108:"9bb5ebe7",2573:"0baab81f",2754:"cbea5866",2784:"70c3fd78",2993:"ec4c251f",3458:"a63a4d80",4031:"e35a7582",4049:"6256a178",4275:"7315c167",4504:"82bbca66",4717:"34d53aaa",4936:"954f2abc",5151:"614d7062",5178:"018c624e",5381:"1b2b9749",5628:"c306b668",5725:"78b21531",5727:"73c569d3",5932:"98a700e0",6205:"414655fa",6315:"b7be1d21",6457:"0e22ff80",6473:"ca92cfbd",6635:"41cb938a",6653:"e9c85257",6660:"7a61b375",7067:"3f1f372f",7110:"8e981c34",7164:"6d67a26b",7312:"3688d673",7672:"15496b7a",7746:"98303035",7915:"26a8005c",8008:"5a59b5bb",8065:"ef94b24a",8316:"19210606",8498:"e0c035d5",8657:"318e9117",8691:"2d98de11",8842:"2ca363e7",8874:"96dfb1e5",9393:"4db156f6",9431:"968072ff",9464:"2876e79a",9549:"09d4fb2e",9758:"50558c06"}[e]+".js",j.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),j.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="@next-bricks/diagram:",j.l=(r,n,a,o)=>{if(e[r])e[r].push(n);else{var l,i;if(void 0!==a)for(var c=document.getElementsByTagName("script"),u=0;u<c.length;u++){var d=c[u];if(d.getAttribute("src")==r||d.getAttribute("data-webpack")==t+a){l=d;break}}l||(i=!0,(l=document.createElement("script")).charset="utf-8",l.timeout=120,j.nc&&l.setAttribute("nonce",j.nc),l.setAttribute("data-webpack",t+a),l.src=r),e[r]=[n];var s=(t,n)=>{l.onerror=l.onload=null,clearTimeout(f);var a=e[r];if(delete e[r],l.parentNode&&l.parentNode.removeChild(l),a&&a.forEach((e=>e(n))),t)return t(n)},f=setTimeout(s.bind(null,void 0,{type:"timeout",target:l}),12e4);l.onerror=s.bind(null,l.onerror),l.onload=s.bind(null,l.onload),i&&document.head.appendChild(l)}},j.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},j.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{j.S={};var e={},t={};j.I=(r,n)=>{n||(n=[]);var a=t[r];if(a||(a=t[r]={}),!(n.indexOf(a)>=0)){if(n.push(a),e[r])return e[r];j.o(j.S,r)||(j.S[r]={});var o=j.S[r],l="@next-bricks/diagram",i=(e,t,r,n)=>{var a=o[e]=o[e]||{},i=a[t];(!i||!i.loaded&&(!n!=!i.eager?n:l>i.from))&&(a[t]={get:r,from:l,eager:!!n})},c=[];return"default"===r&&(i("@babel/parser","7.23.6",(()=>j.e(1874).then((()=>()=>j(1874))))),i("@easyops-cn/brick-next-pipes","0.6.0",(()=>Promise.all([j.e(4031),j.e(9758)]).then((()=>()=>j(4031))))),i("@next-core/cook","2.2.11",(()=>Promise.all([j.e(5151),j.e(2573)]).then((()=>()=>j(5151))))),i("@next-core/element","1.2.1",(()=>j.e(9549).then((()=>()=>j(9549))))),i("@next-core/http","1.1.8",(()=>j.e(7067).then((()=>()=>j(7067))))),i("@next-core/i18n","1.0.36",(()=>Promise.all([j.e(4936),j.e(5932),j.e(7164)]).then((()=>()=>j(7164))))),i("@next-core/inject","1.0.26",(()=>Promise.all([j.e(1502),j.e(5178),j.e(7672)]).then((()=>()=>j(7672))))),i("@next-core/loader","1.5.3",(()=>j.e(8498).then((()=>()=>j(8498))))),i("@next-core/pipes","2.0.15",(()=>j.e(4275).then((()=>()=>j(4275))))),i("@next-core/react-element","1.0.20",(()=>Promise.all([j.e(8657),j.e(5727),j.e(8065),j.e(1646)]).then((()=>()=>j(1646))))),i("@next-core/react-runtime","1.1.45",(()=>Promise.all([j.e(8657),j.e(9464),j.e(6660)]).then((()=>()=>j(6660))))),i("@next-core/runtime","1.29.1",(()=>Promise.all([j.e(4504),j.e(5178),j.e(5932),j.e(8874),j.e(488),j.e(6315)]).then((()=>()=>j(4504))))),i("@next-core/supply","2.1.10",(()=>Promise.all([j.e(1502),j.e(5178),j.e(8874),j.e(4049)]).then((()=>()=>j(4049))))),i("@next-core/theme","1.4.8",(()=>Promise.all([j.e(2108),j.e(5628)]).then((()=>()=>j(2108))))),i("@next-core/utils/general","1.6.8",(()=>j.e(7110).then((()=>()=>j(7110))))),i("@next-core/utils/storyboard","1.6.8",(()=>Promise.all([j.e(628),j.e(488),j.e(3458)]).then((()=>()=>j(3458))))),i("history","4.10.1",(()=>j.e(2024).then((()=>()=>j(2024))))),i("i18next-browser-languagedetector","7.2.0",(()=>j.e(2754).then((()=>()=>j(2754))))),i("i18next","22.5.1",(()=>j.e(2993).then((()=>()=>j(2993))))),i("js-yaml","3.14.1",(()=>j.e(9431).then((()=>()=>j(9431))))),i("lodash","4.17.21",(()=>j.e(6635).then((()=>()=>j(6635))))),i("moment/locale/zh-cn.js","2.29.4",(()=>Promise.all([j.e(8008),j.e(7915)]).then((()=>()=>j(7414))))),i("moment","2.29.4",(()=>Promise.all([j.e(8008),j.e(7915)]).then((()=>()=>j(9034))))),i("react-dom","0.0.0-experimental-ee8509801-20230117",(()=>Promise.all([j.e(8316),j.e(8657)]).then((()=>()=>j(8316))))),i("react","0.0.0-experimental-ee8509801-20230117",(()=>j.e(2784).then((()=>()=>j(2784)))))),e[r]=c.length?Promise.all(c).then((()=>e[r]=1)):1}}})(),(()=>{var e;j.g.importScripts&&(e=j.g.location+"");var t=j.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var n=r.length-1;n>-1&&!e;)e=r[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),j.p=e+"../"})(),r=e=>{var t=e=>e.split(".").map((e=>+e==e?+e:e)),r=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),n=r[1]?t(r[1]):[];return r[2]&&(n.length++,n.push.apply(n,t(r[2]))),r[3]&&(n.push([]),n.push.apply(n,t(r[3]))),n},n=(e,t)=>{e=r(e),t=r(t);for(var n=0;;){if(n>=e.length)return n<t.length&&"u"!=(typeof t[n])[0];var a=e[n],o=(typeof a)[0];if(n>=t.length)return"u"==o;var l=t[n],i=(typeof l)[0];if(o!=i)return"o"==o&&"n"==i||"s"==i||"u"==o;if("o"!=o&&"u"!=o&&a!=l)return a<l;n++}},a=e=>{var t=e[0],r="";if(1===e.length)return"*";if(t+.5){r+=0==t?">=":-1==t?"<":1==t?"^":2==t?"~":t>0?"=":"!=";for(var n=1,o=1;o<e.length;o++)n--,r+="u"==(typeof(i=e[o]))[0]?"-":(n>0?".":"")+(n=2,i);return r}var l=[];for(o=1;o<e.length;o++){var i=e[o];l.push(0===i?"not("+c()+")":1===i?"("+c()+" || "+c()+")":2===i?l.pop()+" "+l.pop():a(i))}return c();function c(){return l.pop().replace(/^\((.+)\)$/,"$1")}},o=(e,t)=>{if(0 in e){t=r(t);var n=e[0],a=n<0;a&&(n=-n-1);for(var l=0,i=1,c=!0;;i++,l++){var u,d,s=i<e.length?(typeof e[i])[0]:"";if(l>=t.length||"o"==(d=(typeof(u=t[l]))[0]))return!c||("u"==s?i>n&&!a:""==s!=a);if("u"==d){if(!c||"u"!=s)return!1}else if(c)if(s==d)if(i<=n){if(u!=e[i])return!1}else{if(a?u>e[i]:u<e[i])return!1;u!=e[i]&&(c=!1)}else if("s"!=s&&"n"!=s){if(a||i<=n)return!1;c=!1,i--}else{if(i<=n||d<s!=a)return!1;c=!1}else"s"!=s&&"n"!=s&&(c=!1,i--)}}var f=[],h=f.pop.bind(f);for(l=1;l<e.length;l++){var p=e[l];f.push(1==p?h()|h():2==p?h()&h():p?o(p,t):!h())}return!!h()},l=(e,t)=>{var r=e[t];return(t=Object.keys(r).reduce(((e,t)=>!e||n(e,t)?t:e),0))&&r[t]},i=(e,t)=>{var r=e[t];return Object.keys(r).reduce(((e,t)=>!e||!r[e].loaded&&n(e,t)?t:e),0)},c=(e,t,r,n)=>"Unsatisfied version "+r+" from "+(r&&e[t][r].from)+" of shared singleton module "+t+" (required "+a(n)+")",u=(e,t,r,n)=>{var a=i(e,r);return h(e[r][a])},d=(e,t,r,n)=>{var a=i(e,r);return o(n,a)||f(c(e,r,a,n)),h(e[r][a])},s=(e,t,r)=>{var a=e[t];return(t=Object.keys(a).reduce(((e,t)=>!o(r,t)||e&&!n(e,t)?e:t),0))&&a[t]},f=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},h=e=>(e.loaded=1,e.get()),m=(p=e=>function(t,r,n,a){var o=j.I(t);return o&&o.then?o.then(e.bind(e,t,j.S[t],r,n,a)):e(t,j.S[t],r,n,a)})(((e,t,r,n)=>t&&j.o(t,r)?h(l(t,r)):n())),b=p(((e,t,r,n)=>t&&j.o(t,r)?u(t,0,r):n())),v=p(((e,t,r,n,a)=>t&&j.o(t,r)?d(t,0,r,n):a())),g=p(((e,t,r,n,a)=>{var o=t&&j.o(t,r)&&s(t,r,n);return o?h(o):a()})),x={},y={8657:()=>g("default","react",[6,0,0,0,,"experimental-ee8509801-20230117"],(()=>j.e(2784).then((()=>()=>j(2784))))),5727:()=>g("default","@next-core/element",[1,1,2,1],(()=>j.e(4717).then((()=>()=>j(9549))))),305:()=>g("default","@next-core/react-element",[1,1,0,20],(()=>Promise.all([j.e(8065),j.e(7746)]).then((()=>()=>j(1646))))),928:()=>v("default","@next-core/theme",[1,1,4,8],(()=>j.e(2108).then((()=>()=>j(2108))))),9464:()=>v("default","@next-core/runtime",[1,1,29,1],(()=>Promise.all([j.e(4504),j.e(5178),j.e(5932),j.e(8874),j.e(488),j.e(6315)]).then((()=>()=>j(4504))))),1211:()=>b("default","lodash",(()=>j.e(6635).then((()=>()=>j(6635))))),9494:()=>g("default","@next-core/react-runtime",[1,1,1,45],(()=>j.e(5381).then((()=>()=>j(6660))))),5872:()=>v("default","moment",[1,2,27,0],(()=>Promise.all([j.e(8008),j.e(7915)]).then((()=>()=>j(9034))))),5899:()=>v("default","js-yaml",[1,3,14,0],(()=>j.e(9431).then((()=>()=>j(9431))))),6976:()=>v("default","lodash",[1,4,17,19],(()=>j.e(6635).then((()=>()=>j(6635))))),2573:()=>v("default","@babel/parser",[1,7,23,6],(()=>j.e(1874).then((()=>()=>j(1874))))),3239:()=>v("default","i18next",[1,22,5,1],(()=>j.e(2993).then((()=>()=>j(2993))))),7207:()=>v("default","i18next-browser-languagedetector",[1,7,2,0],(()=>j.e(2754).then((()=>()=>j(2754))))),1065:()=>v("default","@next-core/i18n",[1,1,0,36],(()=>Promise.all([j.e(4936),j.e(6205)]).then((()=>()=>j(7164))))),1935:()=>v("default","@next-core/utils/general",[1,1,6,8],(()=>j.e(7110).then((()=>()=>j(7110))))),1502:()=>v("default","@next-core/pipes",[1,2,0,15],(()=>j.e(4275).then((()=>()=>j(4275))))),5178:()=>v("default","lodash",[1,4,17,21],(()=>j.e(6635).then((()=>()=>j(6635))))),5454:()=>v("default","@easyops-cn/brick-next-pipes",[2,0,6,0],(()=>Promise.all([j.e(4031),j.e(9758)]).then((()=>()=>j(4031))))),2484:()=>g("default","react-dom",[6,0,0,0,,"experimental-ee8509801-20230117"],(()=>j.e(8316).then((()=>()=>j(8316))))),6650:()=>m("default","react-dom",(()=>j.e(8316).then((()=>()=>j(8316))))),8874:()=>v("default","moment",[1,2,29,4],(()=>Promise.all([j.e(8008),j.e(7915)]).then((()=>()=>j(9034))))),488:()=>v("default","@next-core/cook",[1,2,2,11],(()=>Promise.all([j.e(5151),j.e(2573)]).then((()=>()=>j(5151))))),815:()=>v("default","@next-core/inject",[1,1,0,26],(()=>Promise.all([j.e(1502),j.e(5725)]).then((()=>()=>j(7672))))),4699:()=>v("default","@next-core/utils/storyboard",[1,1,6,8],(()=>Promise.all([j.e(628),j.e(8691)]).then((()=>()=>j(3458))))),5932:()=>v("default","@next-core/http",[1,1,1,8],(()=>j.e(1303).then((()=>()=>j(7067))))),6974:()=>v("default","@next-core/loader",[1,1,5,3],(()=>j.e(6653).then((()=>()=>j(8498))))),7857:()=>v("default","history",[1,4,10,1],(()=>j.e(2024).then((()=>()=>j(2024))))),7941:()=>v("default","@next-core/supply",[1,2,1,10],(()=>Promise.all([j.e(1502),j.e(6473)]).then((()=>()=>j(4049))))),8525:()=>v("default","moment/locale/zh-cn.js",[1,2,29,4],(()=>Promise.all([j.e(8008),j.e(7915)]).then((()=>()=>j(7414))))),628:()=>b("default","@next-core/utils/general",(()=>j.e(7110).then((()=>()=>j(7110)))))},P={488:[488],628:[628],1502:[1502],2573:[2573],4275:[5454],4936:[3239,7207],5178:[5178],5727:[5727],5932:[1065,1935],6315:[815,4699,5932,6974,7857,7941,8525],6457:[1211,9494],8065:[2484,6650],8657:[8657],8842:[305,928],8874:[8874],9464:[9464],9758:[5872,5899,6976]},j.f.consumes=(e,t)=>{j.o(P,e)&&P[e].forEach((e=>{if(j.o(x,e))return t.push(x[e]);var r=t=>{x[e]=0,j.m[e]=r=>{delete j.c[e],r.exports=t()}},n=t=>{delete x[e],j.m[e]=r=>{throw delete j.c[e],t}};try{var a=y[e]();a.then?t.push(x[e]=a.then(r).catch(n)):r(a)}catch(e){n(e)}}))},(()=>{var e={179:0};j.f.j=(t,r)=>{var n=j.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else if(/^(5(178|727|932)|8(065|657|842|874)|(48|62|975)8|1502|2573|4936|6315|9464)$/.test(t))e[t]=0;else{var a=new Promise(((r,a)=>n=e[t]=[r,a]));r.push(n[2]=a);var o=j.p+j.u(t),l=new Error;j.l(o,(r=>{if(j.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var a=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;l.message="Loading chunk "+t+" failed.\n("+a+": "+o+")",l.name="ChunkLoadError",l.type=a,l.request=o,n[1](l)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,a,[o,l,i]=r,c=0;if(o.some((t=>0!==e[t]))){for(n in l)j.o(l,n)&&(j.m[n]=l[n]);i&&i(j)}for(t&&t(r);c<o.length;c++)a=o[c],j.o(e,a)&&e[a]&&e[a][0](),e[a]=0},r=self.webpackChunk_next_bricks_diagram=self.webpackChunk_next_bricks_diagram||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),j.nc=void 0,j(8691)})();
|
|
2
|
-
//# sourceMappingURL=main.
|
|
1
|
+
(()=>{var e,t,r,n,a,o,l,i,c,u,d,f,s,h,p,m,b,v,g,x,y,P,k={8691:(e,t,r)=>{Promise.all([r.e(7312),r.e(8657),r.e(5727),r.e(8842),r.e(9464),r.e(6457),r.e(9393)]).then(r.bind(r,9393))}},w={};function j(e){var t=w[e];if(void 0!==t)return t.exports;var r=w[e]={id:e,loaded:!1,exports:{}};return k[e].call(r.exports,r,r.exports,j),r.loaded=!0,r.exports}j.m=k,j.c=w,j.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return j.d(t,{a:t}),t},j.d=(e,t)=>{for(var r in t)j.o(t,r)&&!j.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},j.f={},j.e=e=>Promise.all(Object.keys(j.f).reduce(((t,r)=>(j.f[r](e,t),t)),[])),j.u=e=>"chunks/"+e+"."+{488:"5e90153b",628:"ae14642a",1303:"70dabf75",1502:"bee3a64c",1646:"6589b358",1874:"85ba64ca",2024:"53d97685",2108:"9bb5ebe7",2573:"0baab81f",2754:"cbea5866",2784:"70c3fd78",2993:"ec4c251f",3458:"a63a4d80",4031:"e35a7582",4049:"6256a178",4275:"7315c167",4504:"82bbca66",4717:"34d53aaa",4936:"954f2abc",5151:"614d7062",5178:"018c624e",5381:"1b2b9749",5628:"c306b668",5725:"78b21531",5727:"73c569d3",5932:"98a700e0",6205:"414655fa",6315:"b7be1d21",6457:"71ac2fd7",6473:"ca92cfbd",6635:"41cb938a",6653:"e9c85257",6660:"7a61b375",7067:"3f1f372f",7110:"8e981c34",7164:"6d67a26b",7312:"3688d673",7672:"15496b7a",7746:"98303035",7915:"26a8005c",8008:"5a59b5bb",8065:"ef94b24a",8316:"19210606",8498:"e0c035d5",8657:"318e9117",8691:"2d98de11",8842:"2ca363e7",8874:"96dfb1e5",9393:"18aab720",9431:"968072ff",9464:"2876e79a",9549:"09d4fb2e",9758:"50558c06"}[e]+".js",j.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),j.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="@next-bricks/diagram:",j.l=(r,n,a,o)=>{if(e[r])e[r].push(n);else{var l,i;if(void 0!==a)for(var c=document.getElementsByTagName("script"),u=0;u<c.length;u++){var d=c[u];if(d.getAttribute("src")==r||d.getAttribute("data-webpack")==t+a){l=d;break}}l||(i=!0,(l=document.createElement("script")).charset="utf-8",l.timeout=120,j.nc&&l.setAttribute("nonce",j.nc),l.setAttribute("data-webpack",t+a),l.src=r),e[r]=[n];var f=(t,n)=>{l.onerror=l.onload=null,clearTimeout(s);var a=e[r];if(delete e[r],l.parentNode&&l.parentNode.removeChild(l),a&&a.forEach((e=>e(n))),t)return t(n)},s=setTimeout(f.bind(null,void 0,{type:"timeout",target:l}),12e4);l.onerror=f.bind(null,l.onerror),l.onload=f.bind(null,l.onload),i&&document.head.appendChild(l)}},j.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},j.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{j.S={};var e={},t={};j.I=(r,n)=>{n||(n=[]);var a=t[r];if(a||(a=t[r]={}),!(n.indexOf(a)>=0)){if(n.push(a),e[r])return e[r];j.o(j.S,r)||(j.S[r]={});var o=j.S[r],l="@next-bricks/diagram",i=(e,t,r,n)=>{var a=o[e]=o[e]||{},i=a[t];(!i||!i.loaded&&(!n!=!i.eager?n:l>i.from))&&(a[t]={get:r,from:l,eager:!!n})},c=[];return"default"===r&&(i("@babel/parser","7.23.6",(()=>j.e(1874).then((()=>()=>j(1874))))),i("@easyops-cn/brick-next-pipes","0.6.0",(()=>Promise.all([j.e(4031),j.e(9758)]).then((()=>()=>j(4031))))),i("@next-core/cook","2.2.11",(()=>Promise.all([j.e(5151),j.e(2573)]).then((()=>()=>j(5151))))),i("@next-core/element","1.2.1",(()=>j.e(9549).then((()=>()=>j(9549))))),i("@next-core/http","1.1.8",(()=>j.e(7067).then((()=>()=>j(7067))))),i("@next-core/i18n","1.0.36",(()=>Promise.all([j.e(4936),j.e(5932),j.e(7164)]).then((()=>()=>j(7164))))),i("@next-core/inject","1.0.26",(()=>Promise.all([j.e(1502),j.e(5178),j.e(7672)]).then((()=>()=>j(7672))))),i("@next-core/loader","1.5.3",(()=>j.e(8498).then((()=>()=>j(8498))))),i("@next-core/pipes","2.0.15",(()=>j.e(4275).then((()=>()=>j(4275))))),i("@next-core/react-element","1.0.20",(()=>Promise.all([j.e(8657),j.e(5727),j.e(8065),j.e(1646)]).then((()=>()=>j(1646))))),i("@next-core/react-runtime","1.1.45",(()=>Promise.all([j.e(8657),j.e(9464),j.e(6660)]).then((()=>()=>j(6660))))),i("@next-core/runtime","1.29.1",(()=>Promise.all([j.e(4504),j.e(5178),j.e(5932),j.e(8874),j.e(488),j.e(6315)]).then((()=>()=>j(4504))))),i("@next-core/supply","2.1.10",(()=>Promise.all([j.e(1502),j.e(5178),j.e(8874),j.e(4049)]).then((()=>()=>j(4049))))),i("@next-core/theme","1.4.8",(()=>Promise.all([j.e(2108),j.e(5628)]).then((()=>()=>j(2108))))),i("@next-core/utils/general","1.6.8",(()=>j.e(7110).then((()=>()=>j(7110))))),i("@next-core/utils/storyboard","1.6.8",(()=>Promise.all([j.e(628),j.e(488),j.e(3458)]).then((()=>()=>j(3458))))),i("history","4.10.1",(()=>j.e(2024).then((()=>()=>j(2024))))),i("i18next-browser-languagedetector","7.2.0",(()=>j.e(2754).then((()=>()=>j(2754))))),i("i18next","22.5.1",(()=>j.e(2993).then((()=>()=>j(2993))))),i("js-yaml","3.14.1",(()=>j.e(9431).then((()=>()=>j(9431))))),i("lodash","4.17.21",(()=>j.e(6635).then((()=>()=>j(6635))))),i("moment/locale/zh-cn.js","2.29.4",(()=>Promise.all([j.e(8008),j.e(7915)]).then((()=>()=>j(7414))))),i("moment","2.29.4",(()=>Promise.all([j.e(8008),j.e(7915)]).then((()=>()=>j(9034))))),i("react-dom","0.0.0-experimental-ee8509801-20230117",(()=>Promise.all([j.e(8316),j.e(8657)]).then((()=>()=>j(8316))))),i("react","0.0.0-experimental-ee8509801-20230117",(()=>j.e(2784).then((()=>()=>j(2784)))))),e[r]=c.length?Promise.all(c).then((()=>e[r]=1)):1}}})(),(()=>{var e;j.g.importScripts&&(e=j.g.location+"");var t=j.g.document;if(!e&&t&&(t.currentScript&&(e=t.currentScript.src),!e)){var r=t.getElementsByTagName("script");if(r.length)for(var n=r.length-1;n>-1&&!e;)e=r[n--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),j.p=e+"../"})(),r=e=>{var t=e=>e.split(".").map((e=>+e==e?+e:e)),r=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),n=r[1]?t(r[1]):[];return r[2]&&(n.length++,n.push.apply(n,t(r[2]))),r[3]&&(n.push([]),n.push.apply(n,t(r[3]))),n},n=(e,t)=>{e=r(e),t=r(t);for(var n=0;;){if(n>=e.length)return n<t.length&&"u"!=(typeof t[n])[0];var a=e[n],o=(typeof a)[0];if(n>=t.length)return"u"==o;var l=t[n],i=(typeof l)[0];if(o!=i)return"o"==o&&"n"==i||"s"==i||"u"==o;if("o"!=o&&"u"!=o&&a!=l)return a<l;n++}},a=e=>{var t=e[0],r="";if(1===e.length)return"*";if(t+.5){r+=0==t?">=":-1==t?"<":1==t?"^":2==t?"~":t>0?"=":"!=";for(var n=1,o=1;o<e.length;o++)n--,r+="u"==(typeof(i=e[o]))[0]?"-":(n>0?".":"")+(n=2,i);return r}var l=[];for(o=1;o<e.length;o++){var i=e[o];l.push(0===i?"not("+c()+")":1===i?"("+c()+" || "+c()+")":2===i?l.pop()+" "+l.pop():a(i))}return c();function c(){return l.pop().replace(/^\((.+)\)$/,"$1")}},o=(e,t)=>{if(0 in e){t=r(t);var n=e[0],a=n<0;a&&(n=-n-1);for(var l=0,i=1,c=!0;;i++,l++){var u,d,f=i<e.length?(typeof e[i])[0]:"";if(l>=t.length||"o"==(d=(typeof(u=t[l]))[0]))return!c||("u"==f?i>n&&!a:""==f!=a);if("u"==d){if(!c||"u"!=f)return!1}else if(c)if(f==d)if(i<=n){if(u!=e[i])return!1}else{if(a?u>e[i]:u<e[i])return!1;u!=e[i]&&(c=!1)}else if("s"!=f&&"n"!=f){if(a||i<=n)return!1;c=!1,i--}else{if(i<=n||d<f!=a)return!1;c=!1}else"s"!=f&&"n"!=f&&(c=!1,i--)}}var s=[],h=s.pop.bind(s);for(l=1;l<e.length;l++){var p=e[l];s.push(1==p?h()|h():2==p?h()&h():p?o(p,t):!h())}return!!h()},l=(e,t)=>{var r=e[t];return(t=Object.keys(r).reduce(((e,t)=>!e||n(e,t)?t:e),0))&&r[t]},i=(e,t)=>{var r=e[t];return Object.keys(r).reduce(((e,t)=>!e||!r[e].loaded&&n(e,t)?t:e),0)},c=(e,t,r,n)=>"Unsatisfied version "+r+" from "+(r&&e[t][r].from)+" of shared singleton module "+t+" (required "+a(n)+")",u=(e,t,r,n)=>{var a=i(e,r);return h(e[r][a])},d=(e,t,r,n)=>{var a=i(e,r);return o(n,a)||s(c(e,r,a,n)),h(e[r][a])},f=(e,t,r)=>{var a=e[t];return(t=Object.keys(a).reduce(((e,t)=>!o(r,t)||e&&!n(e,t)?e:t),0))&&a[t]},s=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},h=e=>(e.loaded=1,e.get()),m=(p=e=>function(t,r,n,a){var o=j.I(t);return o&&o.then?o.then(e.bind(e,t,j.S[t],r,n,a)):e(t,j.S[t],r,n,a)})(((e,t,r,n)=>t&&j.o(t,r)?h(l(t,r)):n())),b=p(((e,t,r,n)=>t&&j.o(t,r)?u(t,0,r):n())),v=p(((e,t,r,n,a)=>t&&j.o(t,r)?d(t,0,r,n):a())),g=p(((e,t,r,n,a)=>{var o=t&&j.o(t,r)&&f(t,r,n);return o?h(o):a()})),x={},y={8657:()=>g("default","react",[6,0,0,0,,"experimental-ee8509801-20230117"],(()=>j.e(2784).then((()=>()=>j(2784))))),5727:()=>g("default","@next-core/element",[1,1,2,1],(()=>j.e(4717).then((()=>()=>j(9549))))),305:()=>g("default","@next-core/react-element",[1,1,0,20],(()=>Promise.all([j.e(8065),j.e(7746)]).then((()=>()=>j(1646))))),928:()=>v("default","@next-core/theme",[1,1,4,8],(()=>j.e(2108).then((()=>()=>j(2108))))),9464:()=>v("default","@next-core/runtime",[1,1,29,1],(()=>Promise.all([j.e(4504),j.e(5178),j.e(5932),j.e(8874),j.e(488),j.e(6315)]).then((()=>()=>j(4504))))),1211:()=>b("default","lodash",(()=>j.e(6635).then((()=>()=>j(6635))))),9494:()=>g("default","@next-core/react-runtime",[1,1,1,45],(()=>j.e(5381).then((()=>()=>j(6660))))),5872:()=>v("default","moment",[1,2,27,0],(()=>Promise.all([j.e(8008),j.e(7915)]).then((()=>()=>j(9034))))),5899:()=>v("default","js-yaml",[1,3,14,0],(()=>j.e(9431).then((()=>()=>j(9431))))),6976:()=>v("default","lodash",[1,4,17,19],(()=>j.e(6635).then((()=>()=>j(6635))))),2573:()=>v("default","@babel/parser",[1,7,23,6],(()=>j.e(1874).then((()=>()=>j(1874))))),3239:()=>v("default","i18next",[1,22,5,1],(()=>j.e(2993).then((()=>()=>j(2993))))),7207:()=>v("default","i18next-browser-languagedetector",[1,7,2,0],(()=>j.e(2754).then((()=>()=>j(2754))))),1065:()=>v("default","@next-core/i18n",[1,1,0,36],(()=>Promise.all([j.e(4936),j.e(6205)]).then((()=>()=>j(7164))))),1935:()=>v("default","@next-core/utils/general",[1,1,6,8],(()=>j.e(7110).then((()=>()=>j(7110))))),1502:()=>v("default","@next-core/pipes",[1,2,0,15],(()=>j.e(4275).then((()=>()=>j(4275))))),5178:()=>v("default","lodash",[1,4,17,21],(()=>j.e(6635).then((()=>()=>j(6635))))),5454:()=>v("default","@easyops-cn/brick-next-pipes",[2,0,6,0],(()=>Promise.all([j.e(4031),j.e(9758)]).then((()=>()=>j(4031))))),2484:()=>g("default","react-dom",[6,0,0,0,,"experimental-ee8509801-20230117"],(()=>j.e(8316).then((()=>()=>j(8316))))),6650:()=>m("default","react-dom",(()=>j.e(8316).then((()=>()=>j(8316))))),8874:()=>v("default","moment",[1,2,29,4],(()=>Promise.all([j.e(8008),j.e(7915)]).then((()=>()=>j(9034))))),488:()=>v("default","@next-core/cook",[1,2,2,11],(()=>Promise.all([j.e(5151),j.e(2573)]).then((()=>()=>j(5151))))),815:()=>v("default","@next-core/inject",[1,1,0,26],(()=>Promise.all([j.e(1502),j.e(5725)]).then((()=>()=>j(7672))))),4699:()=>v("default","@next-core/utils/storyboard",[1,1,6,8],(()=>Promise.all([j.e(628),j.e(8691)]).then((()=>()=>j(3458))))),5932:()=>v("default","@next-core/http",[1,1,1,8],(()=>j.e(1303).then((()=>()=>j(7067))))),6974:()=>v("default","@next-core/loader",[1,1,5,3],(()=>j.e(6653).then((()=>()=>j(8498))))),7857:()=>v("default","history",[1,4,10,1],(()=>j.e(2024).then((()=>()=>j(2024))))),7941:()=>v("default","@next-core/supply",[1,2,1,10],(()=>Promise.all([j.e(1502),j.e(6473)]).then((()=>()=>j(4049))))),8525:()=>v("default","moment/locale/zh-cn.js",[1,2,29,4],(()=>Promise.all([j.e(8008),j.e(7915)]).then((()=>()=>j(7414))))),628:()=>b("default","@next-core/utils/general",(()=>j.e(7110).then((()=>()=>j(7110)))))},P={488:[488],628:[628],1502:[1502],2573:[2573],4275:[5454],4936:[3239,7207],5178:[5178],5727:[5727],5932:[1065,1935],6315:[815,4699,5932,6974,7857,7941,8525],6457:[1211,9494],8065:[2484,6650],8657:[8657],8842:[305,928],8874:[8874],9464:[9464],9758:[5872,5899,6976]},j.f.consumes=(e,t)=>{j.o(P,e)&&P[e].forEach((e=>{if(j.o(x,e))return t.push(x[e]);var r=t=>{x[e]=0,j.m[e]=r=>{delete j.c[e],r.exports=t()}},n=t=>{delete x[e],j.m[e]=r=>{throw delete j.c[e],t}};try{var a=y[e]();a.then?t.push(x[e]=a.then(r).catch(n)):r(a)}catch(e){n(e)}}))},(()=>{var e={179:0};j.f.j=(t,r)=>{var n=j.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else if(/^(5(178|727|932)|8(065|657|842|874)|(48|62|975)8|1502|2573|4936|6315|9464)$/.test(t))e[t]=0;else{var a=new Promise(((r,a)=>n=e[t]=[r,a]));r.push(n[2]=a);var o=j.p+j.u(t),l=new Error;j.l(o,(r=>{if(j.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var a=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;l.message="Loading chunk "+t+" failed.\n("+a+": "+o+")",l.name="ChunkLoadError",l.type=a,l.request=o,n[1](l)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,a,[o,l,i]=r,c=0;if(o.some((t=>0!==e[t]))){for(n in l)j.o(l,n)&&(j.m[n]=l[n]);i&&i(j)}for(t&&t(r);c<o.length;c++)a=o[c],j.o(e,a)&&e[a]&&e[a][0](),e[a]=0},r=self.webpackChunk_next_bricks_diagram=self.webpackChunk_next_bricks_diagram||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),j.nc=void 0,j(8691)})();
|
|
2
|
+
//# sourceMappingURL=main.a2d9eb73.js.map
|