@next-bricks/diagram 0.25.2 → 0.26.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 +2 -1
- package/dist/chunks/1045.b7c29853.js +2 -0
- package/dist/chunks/{1045.ef1c8822.js.map → 1045.b7c29853.js.map} +1 -1
- package/dist/chunks/1122.ec5a28bd.js +2 -0
- package/dist/chunks/{1122.127ae02e.js.map → 1122.ec5a28bd.js.map} +1 -1
- package/dist/chunks/{1972.f9255729.js → 1972.3c3e1965.js} +2 -2
- package/dist/chunks/{1972.f9255729.js.map → 1972.3c3e1965.js.map} +1 -1
- package/dist/chunks/2770.18b631cb.js +2 -0
- package/dist/chunks/2770.18b631cb.js.map +1 -0
- package/dist/chunks/3426.aed442e0.js +2 -0
- package/dist/chunks/{3426.1773574d.js.map → 3426.aed442e0.js.map} +1 -1
- package/dist/chunks/{3510.70429aeb.js → 3510.49d72504.js} +3 -3
- package/dist/chunks/3510.49d72504.js.map +1 -0
- package/dist/chunks/4456.f6066b87.js +2 -0
- package/dist/chunks/4456.f6066b87.js.map +1 -0
- package/dist/chunks/{5399.21649329.js → 5399.d1706027.js} +2 -2
- package/dist/chunks/{5399.21649329.js.map → 5399.d1706027.js.map} +1 -1
- package/dist/chunks/6188.a80198d0.js +3 -0
- package/dist/chunks/6188.a80198d0.js.map +1 -0
- package/dist/chunks/7918.9f7ec4d7.js +2 -0
- package/dist/chunks/7918.9f7ec4d7.js.map +1 -0
- package/dist/chunks/{8989.06023b69.js → 8989.55e6868c.js} +2 -2
- package/dist/chunks/{8989.06023b69.js.map → 8989.55e6868c.js.map} +1 -1
- package/dist/chunks/9407.1336c97c.js +2 -0
- package/dist/chunks/9407.1336c97c.js.map +1 -0
- package/dist/chunks/9559.7d625626.js +2 -0
- package/dist/chunks/{9559.2729fe3b.js.map → 9559.7d625626.js.map} +1 -1
- package/dist/chunks/9591.e9a0ce2d.js +2 -0
- package/dist/chunks/9591.e9a0ce2d.js.map +1 -0
- package/dist/chunks/9740.fb9cd2a1.js +2 -0
- package/dist/chunks/9740.fb9cd2a1.js.map +1 -0
- package/dist/chunks/eo-diagram.58ca6b92.js +2 -0
- package/dist/chunks/eo-diagram.58ca6b92.js.map +1 -0
- package/dist/chunks/eo-display-canvas.77347940.js +2 -0
- package/dist/chunks/eo-display-canvas.77347940.js.map +1 -0
- package/dist/chunks/eo-draw-canvas.a7b522ea.js +2 -0
- package/dist/chunks/eo-draw-canvas.a7b522ea.js.map +1 -0
- package/dist/chunks/{main.0a5467d9.js → main.dd8b2330.js} +2 -2
- package/dist/chunks/{main.0a5467d9.js.map → main.dd8b2330.js.map} +1 -1
- package/dist/examples.json +3 -0
- package/dist/index.06ad2eaf.js +2 -0
- package/dist/index.06ad2eaf.js.map +1 -0
- package/dist/manifest.json +116 -41
- package/dist/types.json +2895 -1819
- package/dist-types/bootstrap.d.ts +1 -0
- package/dist-types/display-canvas/index.d.ts +51 -0
- package/dist-types/display-canvas/index.spec.d.ts +1 -0
- package/dist-types/draw-canvas/CellComponent.d.ts +8 -7
- package/dist-types/draw-canvas/decorators/DecoratorArea.d.ts +1 -1
- package/dist-types/draw-canvas/decorators/DecoratorText.d.ts +2 -2
- package/dist-types/draw-canvas/decorators/index.d.ts +1 -1
- package/dist-types/draw-canvas/interfaces.d.ts +6 -5
- package/dist-types/draw-canvas/processors/handleMouseDown.d.ts +1 -1
- package/dist-types/shared/canvas/useActiveTarget.d.ts +9 -0
- package/dist-types/shared/canvas/useAutoCenter.d.ts +16 -0
- package/dist-types/shared/canvas/useZoom.d.ts +19 -0
- package/docs/eo-display-canvas.md +9 -0
- package/package.json +2 -2
- package/dist/chunks/1045.ef1c8822.js +0 -2
- package/dist/chunks/1122.127ae02e.js +0 -2
- package/dist/chunks/3426.1773574d.js +0 -2
- package/dist/chunks/3510.70429aeb.js.map +0 -1
- package/dist/chunks/4103.217303a1.js +0 -2
- package/dist/chunks/4103.217303a1.js.map +0 -1
- package/dist/chunks/4235.0393c824.js +0 -3
- package/dist/chunks/4235.0393c824.js.map +0 -1
- package/dist/chunks/4456.c3ff0981.js +0 -2
- package/dist/chunks/4456.c3ff0981.js.map +0 -1
- package/dist/chunks/7638.a3881a71.js +0 -2
- package/dist/chunks/7638.a3881a71.js.map +0 -1
- package/dist/chunks/9407.06352f8b.js +0 -2
- package/dist/chunks/9407.06352f8b.js.map +0 -1
- package/dist/chunks/9559.2729fe3b.js +0 -2
- package/dist/chunks/9572.360c862c.js +0 -2
- package/dist/chunks/9572.360c862c.js.map +0 -1
- package/dist/chunks/9591.3e70b783.js +0 -2
- package/dist/chunks/9591.3e70b783.js.map +0 -1
- package/dist/chunks/eo-diagram.d8f9efe4.js +0 -2
- package/dist/chunks/eo-diagram.d8f9efe4.js.map +0 -1
- package/dist/chunks/eo-draw-canvas.de17725b.js +0 -2
- package/dist/chunks/eo-draw-canvas.de17725b.js.map +0 -1
- package/dist/index.aac44023.js +0 -2
- package/dist/index.aac44023.js.map +0 -1
- /package/dist/chunks/{3510.70429aeb.js.LICENSE.txt → 3510.49d72504.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{4235.0393c824.js.LICENSE.txt → 6188.a80198d0.js.LICENSE.txt} +0 -0
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_next_bricks_diagram=self.webpackChunk_next_bricks_diagram||[]).push([[9559,1940],{4586:(e,t,r)=>{r.d(t,{A:()=>o});var n=r(1369);function o(e,t,r){return(t=(0,n.A)(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},9740:(e,t,r)=>{r.d(t,{A:()=>a});var n=r(4586);function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){(0,n.A)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}},1369:(e,t,r)=>{r.d(t,{A:()=>o});var n=r(7545);function o(e){var t=function(e,t){if("object"!=(0,n.A)(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,"string");if("object"!=(0,n.A)(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==(0,n.A)(t)?t:String(t)}},7545:(e,t,r)=>{function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}r.d(t,{A:()=>n})},9559:(e,t,r)=>{r.r(t),r.d(t,{supply:()=>c});var n=r(9740),o=r(1030),a=r(1302),i=r(9259);function c(e,t,r){var o=(0,n.A)({},t);for(var a of(o[void 0]=void 0,e))if(!Object.prototype.hasOwnProperty.call(o,a)){var i=p(a,r);void 0!==i&&(o[a]=i)}return o}var u=new Set(["fill","pull","pullAll","pullAllBy","pullAllWith","pullAt","remove","reverse","assign","assignIn","assignInWith","assignWith","defaults","defaultsDeep","merge","mergeWith","set","setWith","unset","update","updateWith","after","ary","before","bind","bindKey","curry","curryRight","debounce","defer","delay","flip","memoize","negate","once","overArgs","partial","partialRight","rearg","rest","spread","throttle","unary","wrap"]),l=new Set(["lang","langData","locale","localeData","defineLocale","updateLocale","updateOffset"]),s=new Set(["Array","Boolean","Date","Infinity","JSON","Math","NaN","Number","String","RegExp","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","isFinite","isNaN","parseFloat","parseInt","Map","Set","URLSearchParams","WeakMap","WeakSet","atob","btoa"]);function p(e,t){switch(e){case"Object":return r=Object,n=["entries","fromEntries","keys","values"],Object.fromEntries(n.map((e=>[e,function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return r[e].apply(r,n)}])));case"_":return Object.fromEntries(Object.entries(o).filter((e=>!u.has(e[0]))).concat(t?[["uniqueId",e=>"".concat(null!=e?e:"","42")]]:[]));case"moment":return Object.assign((function(){return a(...arguments)}),Object.fromEntries(Object.entries(a).filter((e=>!l.has(e[0])))));case"PIPES":return i.pipes;case"TAG_URL":return f(!0);case"SAFE_TAG_URL":return f();default:if(s.has(e))return window[e]}var r,n}function f(e){return function(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];var a=[];return t.forEach(((t,r)=>{a.push(t),r<n.length&&a.push(e?String(n[r]).replace(/[^/]+/g,(e=>encodeURIComponent(e))):encodeURIComponent(String(n[r])))})),a.join("")}}}}]);
|
|
2
|
-
//# sourceMappingURL=9559.2729fe3b.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_next_bricks_diagram=self.webpackChunk_next_bricks_diagram||[]).push([[9572],{2830:(e,t,r)=>{r.d(t,{m:()=>z});var n=r(8769),o=r.n(n),a=r(3373),i=r.n(a),c=r(531),d=r(4146),l=r(3188);function s(e,t){return e.find((e=>(0,c.N)(e)&&e.id===t))}function v(e){var{edge:t,cells:r,markerEnd:a,defaultEdgeLines:c}=e,v=(0,n.useMemo)((()=>s(r,t.source)),[r,t.source]),f=(0,n.useMemo)((()=>s(r,t.target)),[r,t.target]),h=(0,n.useMemo)((()=>null==c?void 0:c.find((e=>(0,d.checkIfByTransform)(e,{edge:t})))),[c,t]),w=(0,n.useMemo)((()=>v&&f?(0,l.h)(u(v.view,5),u(f.view,5)):null),[v,f]);if(!w)return null;var p="M".concat(w[0].x," ").concat(w[0].y,"L").concat(w[1].x," ").concat(w[1].y);return o().createElement(o().Fragment,null,o().createElement("path",{d:p,fill:"none",stroke:"transparent",strokeWidth:16}),o().createElement("path",{className:i()("line",{dashed:null==h?void 0:h.dashed}),d:p,fill:"none",stroke:"gray",markerEnd:"url(#".concat(a,")")}),o().createElement("path",{className:"line-active-bg",d:p,fill:"none"}))}function u(e,t){return{x:e.x+e.width/2,y:e.y+e.height/2,width:e.width+t,height:e.height+t}}var f=r(1983),h=r(2445),w=r(9126);function p(e){var{node:t,defaultNodeBricks:r,onResize:a}=e,i=function(e){var[t,r]=(0,n.useState)(e);return(0,n.useEffect)((()=>{r((t=>(0,h.isEqual)(t,e)?t:e))}),[e]),t}({node:{id:t.id,data:t.data}}),c=t.useBrick,l=(0,n.useRef)(null),s=(0,n.useMemo)((()=>{var e;return null!=c?c:null==r||null===(e=r.find((e=>(0,d.checkIfByTransform)(e,i))))||void 0===e?void 0:e.useBrick}),[r,c,i]),v=(0,n.useCallback)((e=>{var r=l.current;r&&(r.disconnect(),l.current=null),e?setTimeout((()=>{var r=new w.A((()=>{a(t.id,[e.clientWidth,e.clientHeight])}));r.observe(e),l.current=r})):a(t.id,null)}),[t.id,a]);return s?o().createElement("foreignObject",{width:9999,height:9999,className:"node"},s&&o().createElement(f.ReactUseBrick,{useBrick:s,data:i,refCallback:v})):null}function m(e){return"edge"===e.type?(0,h.pick)(e,["type","source","target","data"]):(0,h.pick)(e,["type","id","data"])}function g(e,t){var{action:r,cell:n,scale:o,onCellMoving:a,onCellMoved:i,onCellResizing:c,onCellResized:d,onSwitchActiveTarget:l}=t;if(e.stopPropagation(),l(m(n)),"edge"!==n.type){var s=[e.clientX,e.clientY],v="move"===r?[n.view.x,n.view.y]:[n.view.width,n.view.height],u=!1,f=(e,t)=>{var l,f,h=function(e){return[(e.clientX-s[0])/o,(e.clientY-s[1])/o]}(e);u||(u=h[0]**2+h[1]**2>=9),u&&("move"===r?null===(l=t?i:a)||void 0===l||l({type:n.type,id:n.id,x:v[0]+h[0],y:v[1]+h[1]}):null===(f=t?d:c)||void 0===f||f({type:n.type,id:n.id,width:v[0]+h[0],height:v[1]+h[1]}))},h=e=>{f(e)},w=e=>{f(e,!0),u=!1,document.removeEventListener("mousemove",h),document.removeEventListener("mouseup",w)};document.addEventListener("mousemove",h),document.addEventListener("mouseup",w)}}function y(e){var{cell:t,transform:r,onCellResizing:a,onCellResized:i,onSwitchActiveTarget:c}=e,d=o().useRef(null);return(0,n.useEffect)((()=>{var e=d.current,n=e=>{g(e,{action:"resize",cell:t,scale:r.k,onCellResizing:a,onCellResized:i,onSwitchActiveTarget:c})};return null==e||e.addEventListener("mousedown",n),()=>{null==e||e.removeEventListener("mousedown",n)}}),[t,i,a,c,r.k]),o().createElement("g",{className:"decorator-area"},o().createElement("rect",{width:t.view.width,height:t.view.height,className:"area"}),o().createElement("g",{ref:d,className:"resize-handle",transform:"translate(".concat(t.view.width-20," ").concat(t.view.height-20,")")},o().createElement("rect",{width:20,height:20}),o().createElement("path",{d:"M10 18L18 10 M15 18L18 15"})))}var k=r(9740);function x(e){var t,{cell:r,onDecoratorTextEditing:a,onDecoratorTextChange:c}=e,d=null!==(t=r.view.text)&&void 0!==t?t:"",[l,s]=(0,n.useState)(d),[v,u]=(0,n.useState)(!1),f=(0,n.useRef)(!1),[h,w]=(0,n.useState)(!1),p=(0,n.useRef)(null),m=(0,n.useCallback)((e=>{e.preventDefault(),e.stopPropagation(),u(!0)}),[]);(0,n.useEffect)((()=>{var e=p.current;e&&e.textContent!==l&&(e.textContent=l)}),[l]),(0,n.useEffect)((()=>{v&&p.current&&(p.current.focus(),function(e){var t=document.createRange();t.selectNodeContents(e);var r=window.getSelection();r.removeAllRanges(),r.addRange(t)}(p.current)),a({id:r.id,editing:v})}),[r.id,v,a]),(0,n.useEffect)((()=>{f.current?null==a||a({id:r.id,editing:v}):f.current=!0}),[r.id,v,a]);var g=(0,n.useCallback)((e=>{s(e.target.textContent)}),[]),y=(0,n.useCallback)((()=>{u(!1),w(!0)}),[]);return(0,n.useEffect)((()=>{h&&(null==c||c({id:r.id,view:(0,k.A)((0,k.A)({},r.view),{},{text:l})}),w(!1))}),[r,l,c,h]),o().createElement("foreignObject",{className:"decorator-text"},o().createElement("div",{className:i()("text-container",{editing:v}),onDoubleClick:m},o().createElement("div",{className:"text",contentEditable:v,ref:p,onInput:g,onBlur:y})))}function E(e){var t,{cell:r,transform:n,onCellResizing:a,onCellResized:i,onSwitchActiveTarget:c,onDecoratorTextEditing:d,onDecoratorTextChange:l}=e;switch(r.decorator){case"area":t=y;break;case"text":t=x;break;default:return console.error("Unknown decorator: ".concat(r.decorator)),null}return o().createElement(t,{cell:r,transform:n,onCellResizing:a,onCellResized:i,onSwitchActiveTarget:c,onDecoratorTextEditing:d,onDecoratorTextChange:l})}var C=r(8185);function z(e){var{cell:t,cells:r,defaultNodeBricks:a,defaultEdgeLines:d,markerEnd:l,active:s,transform:u,unrelatedCells:f,onCellMoving:h,onCellMoved:w,onCellResizing:y,onCellResized:k,onSwitchActiveTarget:x,onCellContextMenu:z,onDecoratorTextEditing:b,onDecoratorTextChange:M,onNodeBrickResize:A}=e,N=(0,n.useRef)(null),R=(0,n.useMemo)((()=>f.some((e=>(0,C.c)(e,t)))),[t,f]);(0,n.useEffect)((()=>{var e=N.current,r=e=>{g(e,{action:"move",cell:t,scale:u.k,onCellMoving:h,onCellMoved:w,onSwitchActiveTarget:x})};return null==e||e.addEventListener("mousedown",r),()=>{null==e||e.removeEventListener("mousedown",r)}}),[t,w,h,x,u.k]);var L=(0,n.useCallback)((e=>{e.preventDefault(),x(m(t)),z({cell:t,clientX:e.clientX,clientY:e.clientY})}),[t,z,x]);return o().createElement("g",{className:i()("cell",{active:s,faded:R}),ref:N,transform:"edge"===t.type?void 0:"translate(".concat(t.view.x," ").concat(t.view.y,")"),onContextMenu:L},(0,c.N)(t)?o().createElement(p,{node:t,defaultNodeBricks:a,onResize:A}):(0,c.WW)(t)?o().createElement(v,{edge:t,defaultEdgeLines:d,cells:r,markerEnd:l}):(0,c.mH)(t)?o().createElement(E,{cell:t,transform:u,onCellResizing:y,onCellResized:k,onSwitchActiveTarget:x,onDecoratorTextEditing:b,onDecoratorTextChange:M}):null)}},3639:(e,t,r)=>{r.d(t,{w:()=>c});var n=r(8769),o=r.n(n),a=r(3373),i=r.n(a);function c(e){var{connectLineState:t,transform:r,markerEnd:a,onConnect:c}=e,[d,l]=(0,n.useState)(null);return(0,n.useEffect)((()=>{t&&l(t.from)}),[t]),(0,n.useEffect)((()=>{if(t){var e=e=>{l([(e.clientX-r.x-t.offset[0])/r.k,(e.clientY-r.y-t.offset[1])/r.k])},n=e=>{e.stopPropagation()},o=e=>{e.stopPropagation(),a(),c(t,[(e.clientX-r.x-t.offset[0])/r.k,(e.clientY-r.y-t.offset[1])/r.k])},a=()=>{document.removeEventListener("mousemove",e),document.removeEventListener("mousedown",n,{capture:!0}),document.removeEventListener("click",o,{capture:!0}),l(null)};return document.addEventListener("mousemove",e),document.addEventListener("mousedown",n,{capture:!0}),document.addEventListener("click",o,{capture:!0}),a}}),[t,c,r]),o().createElement("path",{className:i()("connect-line",{connecting:!!t&&d&&(d[0]-t.from[0])**2+(d[1]-t.from[1])**2>25}),d:t&&d?"M".concat(t.from.join(" "),"L").concat(d.join(" ")):"",fill:"none",stroke:"gray",strokeWidth:1,markerEnd:"url(#".concat(a,")")})}},3033:(e,t,r)=>{r.d(t,{CV:()=>n,HP:()=>o,N8:()=>i,Yt:()=>l,sS:()=>d,sz:()=>a,w1:()=>c});var n=Symbol.for("size-initialized"),o=20,a=36,i=100,c=60,d=.5,l=2},531:(e,t,r)=>{function n(e){return"node"===e.type}function o(e){return"decorator"===e.type}function a(e){return"node"===e.type}function i(e){return"edge"===e.type}r.d(t,{N:()=>n,WW:()=>i,mH:()=>o,vC:()=>a})},227:(e,t,r)=>{r.d(t,{Y:()=>o});var n=r(8185);function o(e,t,r){var o=[];if(t){var a=new Set;for(var i of e)"edge"===i.type&&i.source===t.source.id&&a.add(i.target);for(var c of e)"node"===c.type?a.has(c.id)&&o.push(c):o.push(c)}else switch(null==r?void 0:r.type){case"node":var d=new Map,l=new Set([r.id]);for(var s of e)"node"===s.type?d.set(s.id,s):"edge"===s.type?s.source===r.id?l.add(s.target):s.target===r.id?l.add(s.source):o.push(s):o.push(s);for(var[v,u]of d)l.has(v)||o.push(u);break;case"edge":for(var f of e)("edge"===f.type?(0,n.c)(f,r):"node"===f.type&&(f.id===r.source||f.id===r.target))||o.push(f);break;case"decorator":for(var h of e)"decorator"===h.type&&h.id===r.id||o.push(h)}return o}},5114:(e,t,r)=>{r.d(t,{a:()=>o});var n=r(8185);function o(e,t){var{cells:r,activeTarget:o}=t,a=r.find((e=>(0,n.c)(e,o)));if(a)switch(e.key||e.keyCode||e.which){case"Backspace":case 8:case"Delete":case 46:return e.preventDefault(),e.stopPropagation(),{action:"delete-cell",cell:a}}}},3783:(e,t,r)=>{r.d(t,{C:()=>a});var n=r(9740),o=r(531);function a(e,t){var{defaultNodeSize:r}=t;return(null!=e?e:[]).map((e=>{var t,a;return!(0,o.vC)(e)||void 0!==(null===(t=e.view)||void 0===t?void 0:t.width)&&void 0!==(null===(a=e.view)||void 0===a?void 0:a.height)?e:(0,n.A)((0,n.A)({},e),{},{view:(0,n.A)({width:r[0],height:r[1]},e.view)})}))}},8185:(e,t,r)=>{function n(e,t){return e?!!t&&e.type===t.type&&("node"===e.type||"decorator"===e.type?e.id===t.id:e.source===t.source&&e.target===t.target):!t}r.d(t,{c:()=>n})},908:(e,t,r)=>{r.d(t,{r:()=>o});var n=r(531);function o(e,t){var{canvasWidth:r,canvasHeight:o,scaleRange:a}=t,i=1/0,c=1/0,d=-1/0,l=-1/0,s=!0;for(var v of e)if(!(0,n.WW)(v)){s=!1;var{view:u}=v,f=u.x+u.width,h=u.y+u.height;u.x<i&&(i=u.x),f>d&&(d=f),u.y<c&&(c=u.y),h>l&&(l=h)}var w=d-i,p=l-c,m=a&&!s&&(w>r||p>o)?Math.max(Math.min(r/w,o/p,a[1]),a[0]):1;return{x:s?0:(r-w*m)/2-i*m,y:s?0:(o-p*m)/2-c*m,k:m}}},2098:(e,t,r)=>{r.d(t,{L:()=>i});var n=r(3033),o=r(531),a=r(3783);function i(e){var{cells:t,previousCells:r,defaultNodeSize:i,canvasHeight:c,transform:d,reason:l,parent:s}=e,v=(0,a.C)(t,{defaultNodeSize:i}),u=[],f=new Map;for(var h of r)(0,o.N)(h)&&h[n.CV]&&f.set(h.id,h);var w=new Map;for(var p of v)if((0,o.N)(p)){w.set(p.id,p);var m=f.get(p.id);m&&(p.view.width=m.view.width,p.view.height=m.view.height,p[n.CV]=!0)}var g=!1;if("add-related-nodes"===l&&s){var y=new Set;for(var k of v)(0,o.WW)(k)&&k.source===s&&k.target!==s&&y.add(k.target);var x=w.get(s);if(void 0!==(null==x?void 0:x.view.x)&&void 0!==x.view.y){g=!0;var E=[...y].map((e=>w.get(e))).filter(Boolean),C=void 0;for(var z of E)void 0!==z.view.x&&void 0!==z.view.y?(!C||z.view.x>C.view.x)&&z.view.y>x.view.y&&(C=z):u.push(z);if(u.length>0){var b,M;if(C)b=C.view.x+C.view.width+n.sz,M=C.view.y;else{var A=u.reduce(((e,t)=>e+t.view.width+n.sz),-n.sz);b=x.view.x-A/2+x.view.width/2,M=x.view.y+x.view.height+n.sz}for(var N of u)N.view.x=b,N.view.y=M,b+=N.view.width+n.sz}}}if(!g){var R=i[0],L=i[1],S=[];for(var T of v)(0,o.N)(T)&&(T.view.width>R&&(R=T.view.width),T.view.height>L&&(L=T.view.height),void 0===T.view.x||void 0===T.view.y?u.push(T):S.push(T.view));var D=R+n.sz,B=L+n.sz,W=new Set;for(var Y of S)for(var I=Math.floor((Y.x+d.x/d.k)/D),j=Math.floor((Y.y+d.y/d.k)/B),H=Math.floor((Y.x+d.x/d.k+Y.width)/D),P=Math.floor((Y.y+d.y/d.k+Y.height)/B),X=I;X<=H;X++)for(var _=j;_<=P;_++)W.add("".concat(X,",").concat(_));var O=D*d.k,V=B*d.k,U=Math.max(1,Math.floor(c/V)),q=0;for(var F of u){var G=void 0,J=void 0;do{G=Math.floor(q/U),J=q%U,q++}while(W.has("".concat(G,",").concat(J)));F.view.x=(G*O-d.x)/d.k+n.sz/2,F.view.y=(J*V-d.y)/d.k+n.sz/2}}return{cells:v,updated:u}}},1083:(e,t,r)=>{r.d(t,{d:()=>d});var n=r(9740),o=r(531),a=r(3033);function i(e,t,r){var n=e.findLastIndex(r)+1;return[...e.slice(0,n),t,...e.slice(n)]}var c,d=(c={cells:(e,t)=>{switch(t.type){case"drop-node":return i(e,t.payload,(e=>!("decorator"===e.type&&"text"===e.decorator)));case"drop-decorator":return"text"===t.payload.decorator?[...e,t.payload]:i(e,t.payload,(e=>"decorator"===e.type&&"area"===e.decorator));case"add-nodes":var r=e.findLastIndex((e=>!("decorator"===e.type&&"text"===e.decorator)))+1;return[...e.slice(0,r),...t.payload,...e.slice(r)];case"add-edge":return i(e,t.payload,(e=>"edge"===e.type||"decorator"===e.type&&"area"===e.decorator));case"move-cell":var{type:c,id:d,x:l,y:s}=t.payload,v=e.findIndex((e=>e.type===c&&e.id===d));if(-1!==v){var u=e[v];return[...e.slice(0,v),(0,n.A)((0,n.A)({},u),{},{view:(0,n.A)((0,n.A)({},u.view),{},{x:l,y:s})}),...e.slice(v+1)]}return e;case"resize-cell":var{type:f,id:h,width:w,height:p}=t.payload,m=e.findIndex((e=>e.type===f&&e.id===h));if(-1!==m){var g=e[m];return[...e.slice(0,m),(0,n.A)((0,n.A)({},g),{},{view:(0,n.A)((0,n.A)({},g.view),{},{width:w,height:p})}),...e.slice(m+1)]}return e;case"update-cells":return t.payload;case"update-node-size":return e.map((e=>(0,o.N)(e)&&e.id===t.payload.id?(0,n.A)((0,n.A)({},e),{},{[a.CV]:!0,view:t.payload.size?(0,n.A)((0,n.A)({},e.view),{},{width:t.payload.size[0],height:t.payload.size[1]}):e.view}):e))}return e}},(e,t)=>Object.fromEntries(Object.entries(c).map((r=>{var[n,o]=r;return[n,o(e[n],t)]}))))},1017:(e,t,r)=>{r.d(t,{A:()=>c});var n=r(6758),o=r.n(n),a=r(935),i=r.n(a)()(o());i.push([e.id,"*{box-sizing:border-box}:host{display:block;position:relative;overflow:hidden}:host,\n.root{width:100%;height:100%}:host([hidden]){display:none}.root{opacity:0}.root.ready{opacity:1}.root:focus{outline:none}.decorator-area .area{fill:rgba(119,141,195,0.1);stroke:none;stroke-width:0}.node,\n.decorator-text{overflow:visible}.cell.active .decorator-area .area,\n.cell.active .line-active-bg{stroke:var(--palette-blue-5);stroke-dasharray:4;stroke-width:1}.cell{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-handle{cursor:nwse-resize;opacity:0}.resize-handle rect{fill:transparent;stroke:none}.resize-handle path{fill:none;stroke:var(--palette-gray-5);stroke-width:1.5}.cell.active .decorator-area .resize-handle,\n.decorator-area:hover .resize-handle{opacity:1}.connect-line{pointer-events:none}.connect-line:not(.connecting){display:none}.line.dashed{stroke-dasharray:4}.cell.active .decorator-text .text-container{outline:1px dashed var(--palette-blue-5)}.decorator-text .text-container{width:-webkit-max-content;width:-moz-max-content;width:max-content;padding:0.5em}.decorator-text .text:focus{outline:none}.cell.faded{opacity:0.3}.cell .node{pointer-events:none}.cell .node > *{pointer-events:auto}",""]);const c=i.toString()}}]);
|
|
2
|
-
//# sourceMappingURL=9572.360c862c.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/9572.360c862c.js","mappings":"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","sources":["webpack:///./src/draw-canvas/processors/findNode.ts","webpack:///./src/draw-canvas/EdgeComponent.tsx","webpack:///./src/draw-canvas/NodeComponent.tsx","webpack:///./src/draw-canvas/processors/cellToTarget.ts","webpack:///./src/draw-canvas/processors/handleMouseDown.ts","webpack:///./src/draw-canvas/decorators/DecoratorArea.tsx","webpack:///./src/draw-canvas/decorators/DecoratorText.tsx","webpack:///./src/draw-canvas/decorators/index.tsx","webpack:///./src/draw-canvas/CellComponent.tsx","webpack:///./src/draw-canvas/ConnectLineComponent.tsx","webpack:///./src/draw-canvas/constants.ts","webpack:///./src/draw-canvas/processors/asserts.ts","webpack:///./src/draw-canvas/processors/getUnrelatedCells.ts","webpack:///./src/draw-canvas/processors/handleKeyboard.ts","webpack:///./src/draw-canvas/processors/initializeCells.ts","webpack:///./src/draw-canvas/processors/sameTarget.ts","webpack:///./src/draw-canvas/processors/transformToCenter.ts","webpack:///./src/draw-canvas/processors/updateCells.ts","webpack:///./src/draw-canvas/reducers/cells.ts","webpack:///./src/draw-canvas/reducers/index.ts","webpack:///./src/draw-canvas/styles.shadow.css"],"sourcesContent":["import type { Cell, NodeCell, NodeId } from \"../interfaces\";\nimport { isNodeCell } from \"./asserts\";\n\nexport function findNode(cells: Cell[], id: NodeId): NodeCell | undefined {\n return cells.find((cell) => isNodeCell(cell) && cell.id === id) as\n | NodeCell\n | undefined;\n}\n","import React, { useMemo } from \"react\";\nimport { checkIfByTransform } from \"@next-core/runtime\";\nimport classNames from \"classnames\";\nimport type { Cell, EdgeCell, EdgeLineConf, NodeView } from \"./interfaces\";\nimport { getDirectLinePoints } from \"../diagram/lines/getDirectLinePoints\";\nimport type { NodeRect } from \"../diagram/interfaces\";\nimport { findNode } from \"./processors/findNode\";\n\nexport interface EdgeComponentProps {\n edge: EdgeCell;\n cells: Cell[];\n markerEnd: string;\n defaultEdgeLines?: EdgeLineConf[];\n}\n\nexport function EdgeComponent({\n edge,\n cells,\n markerEnd,\n defaultEdgeLines,\n}: EdgeComponentProps): JSX.Element | null {\n const sourceNode = useMemo(\n () => findNode(cells, edge.source),\n [cells, edge.source]\n );\n const targetNode = useMemo(\n () => findNode(cells, edge.target),\n [cells, edge.target]\n );\n const lineConf = useMemo(\n () => defaultEdgeLines?.find((item) => checkIfByTransform(item, { edge })),\n [defaultEdgeLines, edge]\n );\n\n const padding = 5;\n\n const line = useMemo(\n () =>\n sourceNode && targetNode\n ? getDirectLinePoints(\n nodeViewToNodeRect(sourceNode.view, padding),\n nodeViewToNodeRect(targetNode.view, padding)\n )\n : null,\n [sourceNode, targetNode]\n );\n\n if (!line) {\n // This happens when source or target is not found\n return null;\n }\n\n const d = `M${line[0].x} ${line[0].y}L${line[1].x} ${line[1].y}`;\n\n return (\n <>\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={16}\n />\n <path\n className={classNames(\"line\", { dashed: lineConf?.dashed })}\n d={d}\n fill=\"none\"\n stroke=\"gray\"\n markerEnd={`url(#${markerEnd})`}\n />\n <path className=\"line-active-bg\" d={d} fill=\"none\" />\n </>\n );\n}\n\nfunction nodeViewToNodeRect(view: NodeView, padding: number): NodeRect {\n return {\n x: view.x + view.width / 2,\n y: view.y + view.height / 2,\n width: view.width + padding,\n height: view.height + padding,\n };\n}\n","import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { ReactUseBrick } from \"@next-core/react-runtime\";\nimport { checkIfByTransform } from \"@next-core/runtime\";\nimport { isEqual } from \"lodash\";\nimport ResizeObserver from \"resize-observer-polyfill\";\nimport type { NodeBrickCell, NodeBrickConf, NodeCell } from \"./interfaces\";\nimport type { SizeTuple } from \"../diagram/interfaces\";\n\nexport interface NodeComponentProps {\n node: NodeCell;\n defaultNodeBricks?: NodeBrickConf[];\n onResize(id: string, size: SizeTuple | null): void;\n}\n\nexport function NodeComponent({\n node,\n defaultNodeBricks,\n onResize,\n}: NodeComponentProps): JSX.Element | null {\n const memoizedData = useDeepMemo({ node: { id: node.id, data: node.data } });\n const specifiedUseBrick = (node as NodeBrickCell).useBrick;\n const observerRef = useRef<ResizeObserver | null>(null);\n\n const useBrick = useMemo(() => {\n return (\n specifiedUseBrick ??\n defaultNodeBricks?.find((item) => checkIfByTransform(item, memoizedData))\n ?.useBrick\n );\n }, [defaultNodeBricks, specifiedUseBrick, memoizedData]);\n\n const refCallback = useCallback(\n (element: HTMLElement | null) => {\n const prevObserver = observerRef.current;\n if (prevObserver) {\n prevObserver.disconnect();\n observerRef.current = null;\n }\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 const observer = new ResizeObserver(() => {\n onResize(node.id, [element.clientWidth, element.clientHeight]);\n });\n observer.observe(element);\n observerRef.current = observer;\n });\n } else {\n onResize(node.id, null);\n }\n },\n [node.id, onResize]\n );\n\n return useBrick ? (\n <foreignObject\n // Make a large size to avoid the brick inside to be clipped by the foreignObject.\n width={9999}\n height={9999}\n className=\"node\"\n >\n {useBrick && (\n <ReactUseBrick\n useBrick={useBrick}\n data={memoizedData}\n refCallback={refCallback}\n />\n )}\n </foreignObject>\n ) : null;\n}\n\nfunction useDeepMemo<T>(value: T): T {\n const [memoizedValue, setMemoizedValue] = useState(value);\n\n useEffect(() => {\n setMemoizedValue((prev) => (isEqual(prev, value) ? prev : value));\n }, [value]);\n\n return memoizedValue;\n}\n","import { pick } from \"lodash\";\nimport type { ActiveTarget, Cell } from \"../interfaces\";\n\nexport function cellToTarget(cell: Cell): ActiveTarget {\n return cell.type === \"edge\"\n ? pick(cell, [\"type\", \"source\", \"target\", \"data\"])\n : pick(cell, [\"type\", \"id\", \"data\"]);\n}\n","import type { PositionTuple } from \"../../diagram/interfaces\";\nimport type { ActiveTarget, Cell } from \"../interfaces\";\nimport type {\n MoveCellPayload,\n ResizeCellPayload,\n} from \"../reducers/interfaces\";\nimport { cellToTarget } from \"./cellToTarget\";\n\nexport function handleMouseDown(\n event: MouseEvent,\n {\n action,\n cell,\n scale,\n onCellMoving,\n onCellMoved,\n onCellResizing,\n onCellResized,\n onSwitchActiveTarget,\n }: {\n action: \"move\" | \"resize\";\n cell: Cell;\n scale: number;\n onCellMoving?(info: MoveCellPayload): void;\n onCellMoved?(info: MoveCellPayload): void;\n onCellResizing?(info: ResizeCellPayload): void;\n onCellResized?(info: ResizeCellPayload): void;\n onSwitchActiveTarget(activeTarget: ActiveTarget | null): void;\n }\n) {\n event.stopPropagation();\n // Drag node\n onSwitchActiveTarget(cellToTarget(cell));\n\n if (cell.type === \"edge\") {\n return;\n }\n\n const from: PositionTuple = [event.clientX, event.clientY];\n const original =\n action === \"move\"\n ? [cell.view.x, cell.view.y]\n : [cell.view.width, cell.view.height];\n\n function getMovement(e: MouseEvent): PositionTuple {\n return [(e.clientX - from[0]) / scale, (e.clientY - from[1]) / scale];\n }\n\n let moved = false;\n\n const handleMove = (e: MouseEvent, finished?: boolean) => {\n // Respect the scale\n const movement = getMovement(e);\n if (!moved) {\n moved = movement[0] ** 2 + movement[1] ** 2 >= 9;\n }\n // const [x, y] = getNewPosition(movement);\n // adjustCellPosition(x, y);\n if (moved) {\n if (action === \"move\") {\n (finished ? onCellMoved : onCellMoving)?.({\n type: cell.type,\n id: cell.id,\n x: original[0] + movement[0],\n y: original[1] + movement[1],\n });\n } else {\n (finished ? onCellResized : onCellResizing)?.({\n type: cell.type,\n id: cell.id,\n width: original[0] + movement[0],\n height: original[1] + movement[1],\n });\n }\n }\n };\n\n const onMouseMove = (e: MouseEvent) => {\n handleMove(e);\n };\n const onMouseUp = (e: MouseEvent) => {\n handleMove(e, true);\n moved = false;\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseUp);\n };\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseUp);\n}\n","import React, { useEffect } from \"react\";\nimport type { BasicDecoratorProps } from \"../interfaces\";\nimport { handleMouseDown } from \"../processors/handleMouseDown\";\n\nexport function DecoratorArea({\n cell,\n transform,\n onCellResizing,\n onCellResized,\n onSwitchActiveTarget,\n}: BasicDecoratorProps): JSX.Element {\n const resizeHandleRef = React.useRef<SVGGElement>(null);\n\n useEffect(() => {\n const resizeHandle = resizeHandleRef.current;\n const onMouseDown = (event: MouseEvent) => {\n handleMouseDown(event, {\n action: \"resize\",\n cell,\n scale: transform.k,\n onCellResizing,\n onCellResized,\n onSwitchActiveTarget,\n });\n };\n resizeHandle?.addEventListener(\"mousedown\", onMouseDown);\n return () => {\n resizeHandle?.removeEventListener(\"mousedown\", onMouseDown);\n };\n }, [cell, onCellResized, onCellResizing, onSwitchActiveTarget, transform.k]);\n\n return (\n <g className=\"decorator-area\">\n <rect\n // x={cell.view.x}\n // y={cell.view.y}\n width={cell.view.width}\n height={cell.view.height}\n className=\"area\"\n />\n <g\n ref={resizeHandleRef}\n className=\"resize-handle\"\n transform={`translate(${cell.view.width - 20} ${cell.view.height - 20})`}\n >\n <rect width={20} height={20} />\n <path d=\"M10 18L18 10 M15 18L18 15\" />\n </g>\n </g>\n );\n}\n","import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport type { BasicDecoratorProps } from \"../interfaces\";\nimport classNames from \"classnames\";\n\nexport type DecoratorTextProps = Pick<\n BasicDecoratorProps,\n \"cell\" | \"onDecoratorTextEditing\" | \"onDecoratorTextChange\"\n>;\n\nexport function DecoratorText({\n cell,\n onDecoratorTextEditing,\n onDecoratorTextChange,\n}: DecoratorTextProps): JSX.Element {\n const label = cell.view.text ?? \"\";\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 ref = useRef<HTMLDivElement>(null);\n\n const handleEnableEdit = useCallback((e: React.MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n setEditingLabel(true);\n }, []);\n\n useEffect(() => {\n const element = ref.current;\n if (element && element.textContent !== currentLabel) {\n element.textContent = currentLabel;\n }\n }, [currentLabel]);\n\n useEffect(() => {\n if (editingLabel && ref.current) {\n ref.current.focus();\n selectAllText(ref.current);\n }\n onDecoratorTextEditing({ id: cell.id, editing: editingLabel });\n }, [cell.id, editingLabel, onDecoratorTextEditing]);\n\n useEffect(() => {\n if (editingLabelInitialized.current) {\n onDecoratorTextEditing?.({ id: cell.id, editing: editingLabel });\n } else {\n editingLabelInitialized.current = true;\n }\n }, [cell.id, editingLabel, onDecoratorTextEditing]);\n\n const handleInput = useCallback((event: React.FormEvent<HTMLDivElement>) => {\n setCurrentLabel((event.target as HTMLDivElement).textContent!);\n }, []);\n\n const handleBlur = useCallback(() => {\n setEditingLabel(false);\n setShouldEmitLabelChange(true);\n }, []);\n\n useEffect(() => {\n if (shouldEmitLabelChange) {\n onDecoratorTextChange?.({\n id: cell.id,\n view: { ...cell.view, text: currentLabel },\n });\n setShouldEmitLabelChange(false);\n }\n }, [cell, currentLabel, onDecoratorTextChange, shouldEmitLabelChange]);\n\n return (\n <foreignObject className=\"decorator-text\">\n <div\n className={classNames(\"text-container\", { editing: editingLabel })}\n onDoubleClick={handleEnableEdit}\n >\n <div\n className=\"text\"\n contentEditable={editingLabel}\n ref={ref}\n onInput={handleInput}\n onBlur={handleBlur}\n />\n </div>\n </foreignObject>\n );\n}\n\nfunction selectAllText(element: HTMLElement) {\n const range = document.createRange();\n range.selectNodeContents(element);\n const selection = window.getSelection()!;\n selection.removeAllRanges();\n selection.addRange(range);\n}\n","import React from \"react\";\nimport type { BasicDecoratorProps } from \"../interfaces\";\nimport { DecoratorArea } from \"./DecoratorArea\";\nimport { DecoratorText } from \"./DecoratorText\";\n\nexport function DecoratorComponent({\n cell,\n transform,\n onCellResizing,\n onCellResized,\n onSwitchActiveTarget,\n onDecoratorTextEditing,\n onDecoratorTextChange,\n}: BasicDecoratorProps): JSX.Element | null {\n let SpecifiedComponent: (props: BasicDecoratorProps) => JSX.Element | null;\n\n switch (cell.decorator) {\n case \"area\":\n SpecifiedComponent = DecoratorArea;\n break;\n case \"text\":\n SpecifiedComponent = DecoratorText;\n break;\n // istanbul ignore next\n default:\n // eslint-disable-next-line no-console\n console.error(`Unknown decorator: ${cell.decorator}`);\n return null;\n }\n\n return (\n <SpecifiedComponent\n cell={cell}\n transform={transform}\n onCellResizing={onCellResizing}\n onCellResized={onCellResized}\n onSwitchActiveTarget={onSwitchActiveTarget}\n onDecoratorTextEditing={onDecoratorTextEditing}\n onDecoratorTextChange={onDecoratorTextChange}\n />\n );\n}\n","import React, { useCallback, useEffect, useMemo, useRef } from \"react\";\nimport classNames from \"classnames\";\nimport type {\n ActiveTarget,\n Cell,\n CellContextMenuDetail,\n DecoratorTextChangeDetail,\n EdgeLineConf,\n NodeBrickConf,\n} from \"./interfaces\";\nimport { isDecoratorCell, isEdgeCell, isNodeCell } from \"./processors/asserts\";\nimport { EdgeComponent } from \"./EdgeComponent\";\nimport { NodeComponent } from \"./NodeComponent\";\nimport { handleMouseDown } from \"./processors/handleMouseDown\";\nimport type { MoveCellPayload, ResizeCellPayload } from \"./reducers/interfaces\";\nimport { DecoratorComponent } from \"./decorators\";\nimport { cellToTarget } from \"./processors/cellToTarget\";\nimport type { SizeTuple, TransformLiteral } from \"../diagram/interfaces\";\nimport { sameTarget } from \"./processors/sameTarget\";\n\nexport interface CellComponentProps {\n cell: Cell;\n cells: Cell[];\n defaultNodeBricks?: NodeBrickConf[];\n defaultEdgeLines?: EdgeLineConf[];\n transform: TransformLiteral;\n markerEnd: string;\n active: boolean;\n unrelatedCells: Cell[];\n onCellMoving(info: MoveCellPayload): void;\n onCellMoved(info: MoveCellPayload): void;\n onCellResizing(info: ResizeCellPayload): void;\n onCellResized(info: ResizeCellPayload): void;\n onSwitchActiveTarget(target: ActiveTarget | null): void;\n onCellContextMenu(detail: CellContextMenuDetail): void;\n onDecoratorTextEditing(detail: { id: string; editing: boolean }): void;\n onDecoratorTextChange(detail: DecoratorTextChangeDetail): void;\n onNodeBrickResize(id: string, size: SizeTuple | null): void;\n}\n\nexport function CellComponent({\n cell,\n cells,\n defaultNodeBricks,\n defaultEdgeLines,\n markerEnd,\n active,\n transform,\n unrelatedCells,\n onCellMoving,\n onCellMoved,\n onCellResizing,\n onCellResized,\n onSwitchActiveTarget,\n onCellContextMenu,\n onDecoratorTextEditing,\n onDecoratorTextChange,\n onNodeBrickResize,\n}: CellComponentProps): JSX.Element | null {\n const gRef = useRef<SVGGElement>(null);\n\n const unrelated = useMemo(\n () => unrelatedCells.some((item) => sameTarget(item, cell)),\n [cell, unrelatedCells]\n );\n\n useEffect(() => {\n const g = gRef.current;\n const onMouseDown = (event: MouseEvent) => {\n handleMouseDown(event, {\n action: \"move\",\n cell,\n scale: transform.k,\n onCellMoving,\n onCellMoved,\n onSwitchActiveTarget,\n });\n };\n g?.addEventListener(\"mousedown\", onMouseDown);\n return () => {\n g?.removeEventListener(\"mousedown\", onMouseDown);\n };\n }, [cell, onCellMoved, onCellMoving, onSwitchActiveTarget, transform.k]);\n\n const handleContextMenu = useCallback(\n (event: React.MouseEvent<SVGGElement>) => {\n event.preventDefault();\n onSwitchActiveTarget(cellToTarget(cell));\n onCellContextMenu({\n cell,\n clientX: event.clientX,\n clientY: event.clientY,\n });\n },\n [cell, onCellContextMenu, onSwitchActiveTarget]\n );\n\n return (\n <g\n className={classNames(\"cell\", { active, faded: unrelated })}\n ref={gRef}\n transform={\n cell.type === \"edge\"\n ? undefined\n : `translate(${cell.view.x} ${cell.view.y})`\n }\n onContextMenu={handleContextMenu}\n >\n {isNodeCell(cell) ? (\n <NodeComponent\n node={cell}\n defaultNodeBricks={defaultNodeBricks}\n onResize={onNodeBrickResize}\n />\n ) : isEdgeCell(cell) ? (\n <EdgeComponent\n edge={cell}\n defaultEdgeLines={defaultEdgeLines}\n cells={cells}\n markerEnd={markerEnd}\n />\n ) : isDecoratorCell(cell) ? (\n <DecoratorComponent\n cell={cell}\n transform={transform}\n onCellResizing={onCellResizing}\n onCellResized={onCellResized}\n onSwitchActiveTarget={onSwitchActiveTarget}\n onDecoratorTextEditing={onDecoratorTextEditing}\n onDecoratorTextChange={onDecoratorTextChange}\n />\n ) : null}\n </g>\n );\n}\n","import React, { useEffect, useState } from \"react\";\nimport classNames from \"classnames\";\nimport type { ConnectLineState } from \"./interfaces\";\nimport type { PositionTuple, TransformLiteral } from \"../diagram/interfaces\";\n\nexport interface ConnectLineComponentProps {\n connectLineState: ConnectLineState | null;\n transform: TransformLiteral;\n markerEnd: string;\n onConnect(state: ConnectLineState, to: PositionTuple): void;\n}\n\nexport function ConnectLineComponent({\n connectLineState,\n transform,\n markerEnd,\n onConnect,\n}: ConnectLineComponentProps): JSX.Element {\n const [connectLineTo, setConnectLineTo] = useState<PositionTuple | null>(\n null\n );\n\n useEffect(() => {\n if (connectLineState) {\n setConnectLineTo(connectLineState.from);\n }\n }, [connectLineState]);\n\n useEffect(() => {\n if (connectLineState) {\n const onMouseMove = (e: MouseEvent) => {\n // Set connect line to based on the mouse position and the transform\n setConnectLineTo([\n (e.clientX - transform.x - connectLineState.offset[0]) / transform.k,\n (e.clientY - transform.y - connectLineState.offset[1]) / transform.k,\n ]);\n };\n const onMouseDown = (e: MouseEvent) => {\n e.stopPropagation();\n };\n const onClick = (e: MouseEvent) => {\n e.stopPropagation();\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n reset();\n onConnect(connectLineState, [\n (e.clientX - transform.x - connectLineState.offset[0]) / transform.k,\n (e.clientY - transform.y - connectLineState.offset[1]) / transform.k,\n ]);\n };\n const reset = () => {\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mousedown\", onMouseDown, {\n capture: true,\n });\n document.removeEventListener(\"click\", onClick, { capture: true });\n setConnectLineTo(null);\n };\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mousedown\", onMouseDown, { capture: true });\n document.addEventListener(\"click\", onClick, { capture: true });\n\n return reset;\n }\n }, [connectLineState, onConnect, transform]);\n\n return (\n <path\n className={classNames(\"connect-line\", {\n connecting:\n !!connectLineState &&\n connectLineTo &&\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 d={\n connectLineState && connectLineTo\n ? `M${connectLineState.from.join(\" \")}L${connectLineTo.join(\" \")}`\n : \"\"\n }\n fill=\"none\"\n stroke=\"gray\"\n strokeWidth={1}\n markerEnd={`url(#${markerEnd})`}\n />\n );\n}\n","export const SYMBOL_FOR_SIZE_INITIALIZED = Symbol.for(\"size-initialized\");\nexport const DEFAULT_NODE_SIZE = 20;\nexport const DEFAULT_NODE_GAP = 36;\nexport const DEFAULT_AREA_WIDTH = 100;\nexport const DEFAULT_AREA_HEIGHT = 60;\nexport const DEFAULT_SCALE_RANGE_MIN = 0.5;\nexport const DEFAULT_SCALE_RANGE_MAX = 2;\n","import type {\n Cell,\n DecoratorCell,\n EdgeCell,\n InitialCell,\n InitialNodeCell,\n NodeCell,\n} from \"../interfaces\";\n\nexport function isNodeCell(cell: Cell): cell is NodeCell {\n return cell.type === \"node\";\n}\n\nexport function isDecoratorCell(cell: Cell): cell is DecoratorCell {\n return cell.type === \"decorator\";\n}\n\nexport function isInitialNodeCell(cell: InitialCell): cell is InitialNodeCell {\n return cell.type === \"node\";\n}\n\nexport function isEdgeCell(cell: Cell): cell is EdgeCell {\n return cell.type === \"edge\";\n}\n","import type { ActiveTarget, Cell, ConnectLineState } from \"../interfaces\";\nimport { sameTarget } from \"./sameTarget\";\n\nexport function getUnrelatedCells(\n cells: Cell[],\n connectLineState: ConnectLineState | null,\n activeTarget: ActiveTarget | null\n): Cell[] {\n const unrelated: Cell[] = [];\n\n if (connectLineState) {\n const existedTargets = new Set<string>();\n for (const cell of cells) {\n if (cell.type === \"edge\" && cell.source === connectLineState.source.id) {\n existedTargets.add(cell.target);\n }\n }\n for (const cell of cells) {\n switch (cell.type) {\n case \"node\":\n if (existedTargets.has(cell.id)) {\n unrelated.push(cell);\n }\n break;\n default:\n unrelated.push(cell);\n }\n }\n } else {\n switch (activeTarget?.type) {\n case \"node\": {\n const nodesMap = new Map<string, Cell>();\n const relatedNodeIds = new Set<string>([activeTarget.id]);\n for (const cell of cells) {\n if (cell.type === \"node\") {\n nodesMap.set(cell.id, cell);\n } else if (cell.type === \"edge\") {\n if (cell.source === activeTarget.id) {\n relatedNodeIds.add(cell.target);\n } else if (cell.target === activeTarget.id) {\n relatedNodeIds.add(cell.source);\n } else {\n unrelated.push(cell);\n }\n } else {\n unrelated.push(cell);\n }\n }\n for (const [id, cell] of nodesMap) {\n if (!relatedNodeIds.has(id)) {\n unrelated.push(cell);\n }\n }\n break;\n }\n\n case \"edge\":\n for (const cell of cells) {\n if (\n !(cell.type === \"edge\"\n ? sameTarget(cell, activeTarget)\n : cell.type === \"node\" &&\n (cell.id === activeTarget.source ||\n cell.id === activeTarget.target))\n ) {\n unrelated.push(cell);\n }\n }\n break;\n\n case \"decorator\":\n for (const cell of cells) {\n if (cell.type !== \"decorator\" || cell.id !== activeTarget.id) {\n unrelated.push(cell);\n }\n }\n break;\n }\n }\n\n return unrelated;\n}\n","import type { ActiveTarget, Cell } from \"../interfaces\";\nimport { sameTarget } from \"./sameTarget\";\n\nexport type KeyboardAction = KeyboardActionDeleteCell;\n\nexport interface KeyboardActionDeleteCell {\n action: \"delete-cell\";\n cell: Cell;\n}\n\nexport function handleKeyboard(\n event: KeyboardEvent,\n {\n cells,\n activeTarget,\n }: {\n cells: Cell[];\n activeTarget: ActiveTarget | null | undefined;\n }\n): KeyboardAction | undefined {\n const activeCell = cells.find((cell) => sameTarget(cell, activeTarget));\n\n if (!activeCell) {\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\n switch (key) {\n case \"Backspace\":\n case 8:\n case \"Delete\":\n case 46: {\n event.preventDefault();\n event.stopPropagation();\n return {\n action: \"delete-cell\",\n cell: activeCell,\n };\n }\n }\n}\n","import type { SizeTuple } from \"../../diagram/interfaces\";\nimport type { Cell, InitialCell, NodeCell } from \"../interfaces\";\nimport { isInitialNodeCell } from \"./asserts\";\n\nexport function initializeCells(\n initialCells: InitialCell[] | undefined,\n {\n defaultNodeSize,\n }: {\n defaultNodeSize: SizeTuple;\n }\n): Cell[] {\n const originalCells = initialCells ?? [];\n const finalCells: Cell[] = originalCells.map<Cell>((cell) => {\n if (\n !isInitialNodeCell(cell) ||\n (cell.view?.width !== undefined && cell.view?.height !== undefined)\n ) {\n return cell as NodeCell;\n }\n return {\n ...cell,\n view: {\n width: defaultNodeSize[0],\n height: defaultNodeSize[1],\n ...cell.view,\n },\n } as NodeCell;\n });\n return finalCells;\n}\n","import type {\n ActiveTarget,\n ActiveTargetOfEdge,\n ActiveTargetOfNode,\n} from \"../interfaces\";\n\nexport function sameTarget(\n a: ActiveTarget | null | undefined,\n b: ActiveTarget | null | undefined\n): boolean {\n return a\n ? !!b &&\n a.type === b.type &&\n (a.type === \"node\" || a.type === \"decorator\"\n ? a.id === (b as ActiveTargetOfNode).id\n : a.source === (b as ActiveTargetOfEdge).source &&\n a.target === (b as ActiveTargetOfEdge).target)\n : !b;\n}\n","import type { TransformLiteral } from \"../../diagram/interfaces\";\nimport type { Cell } from \"../interfaces\";\nimport { isEdgeCell } from \"./asserts\";\n\nexport interface TransformToCenterOptions {\n canvasWidth: number;\n canvasHeight: number;\n scaleRange?: [min: number, max: number];\n}\n\nexport function transformToCenter(\n cells: Cell[],\n { canvasWidth, canvasHeight, scaleRange }: TransformToCenterOptions\n): TransformLiteral {\n let left = Infinity;\n let top = Infinity;\n let right = -Infinity;\n let bottom = -Infinity;\n let empty = true;\n for (const cell of cells) {\n if (!isEdgeCell(cell)) {\n empty = false;\n const { view } = cell;\n const r = view.x + view.width;\n const b = view.y + view.height;\n if (view.x < left) {\n left = view.x;\n }\n if (r > right) {\n right = r;\n }\n if (view.y < top) {\n top = view.y;\n }\n if (b > bottom) {\n bottom = b;\n }\n }\n }\n\n const width = right - left;\n const height = bottom - top;\n\n const scale =\n scaleRange && !empty && (width > canvasWidth || height > canvasHeight)\n ? Math.max(\n Math.min(canvasWidth / width, canvasHeight / height, scaleRange[1]),\n scaleRange[0]\n )\n : 1;\n\n const x = empty ? 0 : (canvasWidth - width * scale) / 2 - left * scale;\n const y = empty ? 0 : (canvasHeight - height * scale) / 2 - top * scale;\n\n return { x, y, k: scale };\n}\n","import type { SizeTuple, TransformLiteral } from \"../../diagram/interfaces\";\nimport { DEFAULT_NODE_GAP, SYMBOL_FOR_SIZE_INITIALIZED } from \"../constants\";\nimport type {\n Cell,\n InitialCell,\n NodeCell,\n NodeId,\n NodeView,\n} from \"../interfaces\";\nimport { isEdgeCell, isNodeCell } from \"./asserts\";\nimport { initializeCells } from \"./initializeCells\";\n\nexport function updateCells({\n cells,\n previousCells,\n defaultNodeSize,\n canvasHeight,\n transform,\n reason,\n parent,\n}: {\n cells: InitialCell[];\n previousCells: Cell[];\n defaultNodeSize: SizeTuple;\n canvasHeight: number;\n transform: TransformLiteral;\n reason?: \"add-related-nodes\";\n parent?: NodeId;\n}): {\n cells: Cell[];\n updated: Cell[];\n} {\n const newCells = initializeCells(cells, { defaultNodeSize });\n const updateCandidates: NodeCell[] = [];\n\n const previousSizeInitializedNodes = new Map<string, NodeCell>();\n for (const cell of previousCells) {\n if (isNodeCell(cell) && cell[SYMBOL_FOR_SIZE_INITIALIZED]) {\n previousSizeInitializedNodes.set(cell.id, cell);\n }\n }\n\n const nodesMap = new Map<string, NodeCell>();\n for (const cell of newCells) {\n if (isNodeCell(cell)) {\n nodesMap.set(cell.id, cell);\n const previousNode = previousSizeInitializedNodes.get(cell.id);\n if (previousNode) {\n cell.view.width = previousNode.view.width;\n cell.view.height = previousNode.view.height;\n cell[SYMBOL_FOR_SIZE_INITIALIZED] = true;\n }\n }\n }\n\n let handled = false;\n\n if (reason === \"add-related-nodes\" && parent) {\n // Place these unpositioned downstream nodes below the parent node, and\n // on the right side of the positioned siblings.\n const downstreamNodeIds = new Set<string>();\n for (const cell of newCells) {\n if (\n isEdgeCell(cell) &&\n cell.source === parent &&\n cell.target !== parent\n ) {\n downstreamNodeIds.add(cell.target);\n }\n }\n const parentNode = nodesMap.get(parent);\n if (parentNode?.view.x !== undefined && parentNode.view.y !== undefined) {\n handled = true;\n const downstreamNodes = [...downstreamNodeIds]\n .map((id) => nodesMap.get(id))\n .filter(Boolean) as NodeCell[];\n let rightMostNode: NodeCell | undefined = undefined;\n for (const node of downstreamNodes) {\n if (node.view.x !== undefined && node.view.y !== undefined) {\n // Find the rightmost node that is below the parent node.\n if (\n (!rightMostNode || node.view.x > rightMostNode.view.x) &&\n node.view.y > parentNode.view.y\n ) {\n rightMostNode = node;\n }\n } else {\n // Unpositioned nodes\n updateCandidates.push(node);\n }\n }\n if (updateCandidates.length > 0) {\n let nextX: number;\n let nextY: number;\n if (rightMostNode) {\n // Place unpositioned nodes on the right side of the rightmost positioned siblings.\n nextX =\n rightMostNode.view.x + rightMostNode.view.width + DEFAULT_NODE_GAP;\n nextY = rightMostNode.view.y;\n } else {\n // If there are no positioned siblings, just place them below the parent.\n const totalWidth = updateCandidates.reduce(\n (acc, node) => acc + node.view.width + DEFAULT_NODE_GAP,\n -DEFAULT_NODE_GAP\n );\n nextX =\n parentNode.view.x - totalWidth / 2 + parentNode.view.width / 2;\n nextY = parentNode.view.y + parentNode.view.height + DEFAULT_NODE_GAP;\n }\n for (const node of updateCandidates) {\n node.view.x = nextX;\n node.view.y = nextY;\n nextX += node.view.width + DEFAULT_NODE_GAP;\n }\n }\n }\n }\n\n if (!handled) {\n // By default, place unpositioned nodes in a grid.\n let maxWidth = defaultNodeSize[0];\n let maxHeight = defaultNodeSize[1];\n const occupiedViews: NodeView[] = [];\n for (const cell of newCells) {\n if (isNodeCell(cell)) {\n if (cell.view.width > maxWidth) {\n maxWidth = cell.view.width;\n }\n if (cell.view.height > maxHeight) {\n maxHeight = cell.view.height;\n }\n if (cell.view.x === undefined || cell.view.y === undefined) {\n updateCandidates.push(cell);\n } else {\n occupiedViews.push(cell.view);\n }\n }\n }\n\n const deltaX = maxWidth + DEFAULT_NODE_GAP;\n const deltaY = maxHeight + DEFAULT_NODE_GAP;\n\n const occupiedIndexes = new Set<string>();\n for (const view of occupiedViews) {\n const x0 = Math.floor((view.x + transform.x / transform.k) / deltaX);\n const y0 = Math.floor((view.y + transform.y / transform.k) / deltaY);\n const x1 = Math.floor(\n (view.x + transform.x / transform.k + view.width) / deltaX\n );\n const y1 = Math.floor(\n (view.y + transform.y / transform.k + view.height) / deltaY\n );\n\n for (let i = x0; i <= x1; i++) {\n for (let j = y0; j <= y1; j++) {\n occupiedIndexes.add(`${i},${j}`);\n }\n }\n }\n\n const scaledDeltaX = deltaX * transform.k;\n const scaledDeltaY = deltaY * transform.k;\n const rows = Math.max(1, Math.floor(canvasHeight / scaledDeltaY));\n let i = 0;\n for (const node of updateCandidates) {\n let xIndex: number;\n let yIndex: number;\n do {\n xIndex = Math.floor(i / rows);\n yIndex = i % rows;\n i++;\n } while (occupiedIndexes.has(`${xIndex},${yIndex}`));\n\n node.view.x =\n (xIndex * scaledDeltaX - transform.x) / transform.k +\n DEFAULT_NODE_GAP / 2;\n node.view.y =\n (yIndex * scaledDeltaY - transform.y) / transform.k +\n DEFAULT_NODE_GAP / 2;\n }\n }\n\n return { cells: newCells, updated: updateCandidates };\n}\n","import type { Reducer } from \"react\";\nimport type { DrawCanvasAction } from \"./interfaces\";\nimport type { Cell, NodeCell } from \"../interfaces\";\nimport { isNodeCell } from \"../processors/asserts\";\nimport { SYMBOL_FOR_SIZE_INITIALIZED } from \"../constants\";\n\nexport const cells: Reducer<Cell[], DrawCanvasAction> = (state, action) => {\n switch (action.type) {\n case \"drop-node\":\n return insertCellAfter(\n state,\n action.payload,\n (cell) => !(cell.type === \"decorator\" && cell.decorator === \"text\")\n );\n case \"drop-decorator\": {\n if (action.payload.decorator === \"text\") {\n return [...state, action.payload];\n }\n return insertCellAfter(\n state,\n action.payload,\n (cell) => cell.type === \"decorator\" && cell.decorator === \"area\"\n );\n }\n case \"add-nodes\": {\n const index =\n state.findLastIndex(\n (cell) => !(cell.type === \"decorator\" && cell.decorator === \"text\")\n ) + 1;\n return [\n ...state.slice(0, index),\n ...action.payload,\n ...state.slice(index),\n ];\n }\n case \"add-edge\":\n // Add the edge to just next to the previous last edge or area decorator.\n // If not found, append to the start.\n return insertCellAfter(\n state,\n action.payload,\n (cell) =>\n cell.type === \"edge\" ||\n (cell.type === \"decorator\" && cell.decorator === \"area\")\n );\n case \"move-cell\": {\n const { type, id, x, y } = action.payload;\n const index = state.findIndex(\n (cell) => cell.type === type && cell.id === id\n );\n if (index !== -1) {\n const node = state[index] as NodeCell;\n return [\n ...state.slice(0, index),\n { ...node, view: { ...node.view, x, y } },\n ...state.slice(index + 1),\n ];\n }\n return state;\n }\n case \"resize-cell\": {\n const { type, id, width, height } = action.payload;\n const index = state.findIndex(\n (cell) => cell.type === type && cell.id === id\n );\n if (index !== -1) {\n const node = state[index] as NodeCell;\n return [\n ...state.slice(0, index),\n { ...node, view: { ...node.view, width, height } },\n ...state.slice(index + 1),\n ];\n }\n return state;\n }\n case \"update-cells\":\n return action.payload;\n case \"update-node-size\":\n return state.map((cell) =>\n isNodeCell(cell) && cell.id === action.payload.id\n ? {\n ...cell,\n [SYMBOL_FOR_SIZE_INITIALIZED]: true,\n view: action.payload.size\n ? {\n ...cell.view,\n width: action.payload.size[0],\n height: action.payload.size[1],\n }\n : cell.view,\n }\n : cell\n );\n }\n return state;\n};\n\nfunction insertCellAfter(\n cells: Cell[],\n newCell: Cell,\n after: (cell: Cell) => boolean\n) {\n const index = cells.findLastIndex(after) + 1;\n return [...cells.slice(0, index), newCell, ...cells.slice(index)];\n}\n","import { Reducer } from \"react\";\nimport type { DrawCanvasAction, DrawCanvasState } from \"./interfaces\";\nimport { cells } from \"./cells\";\n\ntype ReducersMapObject<S, A> = {\n [K in keyof S]: Reducer<S[K], A>;\n};\n\nfunction combineReducers<S, A>(\n reducers: ReducersMapObject<S, A>\n): Reducer<S, A> {\n return ((state, action) =>\n Object.fromEntries(\n Object.entries<Reducer<any, A>>(reducers).map(([key, value]) => [\n key,\n value(state[key as keyof S], action),\n ])\n )) as Reducer<S, A>;\n}\n\nexport const rootReducer = combineReducers<DrawCanvasState, DrawCanvasAction>({\n cells,\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, `*{box-sizing:border-box}:host{display:block;position:relative;overflow:hidden}:host,\n.root{width:100%;height:100%}:host([hidden]){display:none}.root{opacity:0}.root.ready{opacity:1}.root:focus{outline:none}.decorator-area .area{fill:rgba(119,141,195,0.1);stroke:none;stroke-width:0}.node,\n.decorator-text{overflow:visible}.cell.active .decorator-area .area,\n.cell.active .line-active-bg{stroke:var(--palette-blue-5);stroke-dasharray:4;stroke-width:1}.cell{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-handle{cursor:nwse-resize;opacity:0}.resize-handle rect{fill:transparent;stroke:none}.resize-handle path{fill:none;stroke:var(--palette-gray-5);stroke-width:1.5}.cell.active .decorator-area .resize-handle,\n.decorator-area:hover .resize-handle{opacity:1}.connect-line{pointer-events:none}.connect-line:not(.connecting){display:none}.line.dashed{stroke-dasharray:4}.cell.active .decorator-text .text-container{outline:1px dashed var(--palette-blue-5)}.decorator-text .text-container{width:-webkit-max-content;width:-moz-max-content;width:max-content;padding:0.5em}.decorator-text .text:focus{outline:none}.cell.faded{opacity:0.3}.cell .node{pointer-events:none}.cell .node > *{pointer-events:auto}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n"],"names":["findNode","cells","id","find","cell","isNodeCell","EdgeComponent","_ref","edge","markerEnd","defaultEdgeLines","sourceNode","useMemo","source","targetNode","target","lineConf","item","checkIfByTransform","line","getDirectLinePoints","nodeViewToNodeRect","view","d","concat","x","y","React","fill","stroke","strokeWidth","className","classNames","dashed","padding","width","height","NodeComponent","node","defaultNodeBricks","onResize","memoizedData","value","memoizedValue","setMemoizedValue","useState","useEffect","prev","isEqual","useDeepMemo","data","specifiedUseBrick","useBrick","observerRef","useRef","_defaultNodeBricks$fi","refCallback","useCallback","element","prevObserver","current","disconnect","setTimeout","observer","ResizeObserver","clientWidth","clientHeight","observe","ReactUseBrick","cellToTarget","type","pick","handleMouseDown","event","action","scale","onCellMoving","onCellMoved","onCellResizing","onCellResized","onSwitchActiveTarget","stopPropagation","from","clientX","clientY","original","moved","handleMove","e","finished","_ref2","_ref3","movement","getMovement","onMouseMove","onMouseUp","document","removeEventListener","addEventListener","DecoratorArea","transform","resizeHandleRef","resizeHandle","onMouseDown","k","ref","DecoratorText","_cell$view$text","onDecoratorTextEditing","onDecoratorTextChange","label","text","currentLabel","setCurrentLabel","editingLabel","setEditingLabel","editingLabelInitialized","shouldEmitLabelChange","setShouldEmitLabelChange","handleEnableEdit","preventDefault","textContent","focus","range","createRange","selectNodeContents","selection","window","getSelection","removeAllRanges","addRange","selectAllText","editing","handleInput","handleBlur","_objectSpread","onDoubleClick","contentEditable","onInput","onBlur","DecoratorComponent","SpecifiedComponent","decorator","console","error","CellComponent","active","unrelatedCells","onCellContextMenu","onNodeBrickResize","gRef","unrelated","some","sameTarget","g","handleContextMenu","faded","undefined","onContextMenu","isEdgeCell","isDecoratorCell","ConnectLineComponent","connectLineState","onConnect","connectLineTo","setConnectLineTo","offset","onClick","reset","capture","connecting","join","SYMBOL_FOR_SIZE_INITIALIZED","Symbol","for","DEFAULT_NODE_SIZE","DEFAULT_NODE_GAP","DEFAULT_AREA_WIDTH","DEFAULT_AREA_HEIGHT","DEFAULT_SCALE_RANGE_MIN","DEFAULT_SCALE_RANGE_MAX","isInitialNodeCell","getUnrelatedCells","activeTarget","existedTargets","Set","add","has","push","nodesMap","Map","relatedNodeIds","set","handleKeyboard","activeCell","key","keyCode","which","initializeCells","initialCells","defaultNodeSize","map","_cell$view","_cell$view2","a","b","transformToCenter","canvasWidth","canvasHeight","scaleRange","left","Infinity","top","right","bottom","empty","r","Math","max","min","updateCells","previousCells","reason","parent","newCells","updateCandidates","previousSizeInitializedNodes","previousNode","get","handled","downstreamNodeIds","parentNode","downstreamNodes","filter","Boolean","rightMostNode","length","nextX","nextY","totalWidth","reduce","acc","maxWidth","maxHeight","occupiedViews","deltaX","deltaY","occupiedIndexes","x0","floor","y0","x1","y1","i","j","scaledDeltaX","scaledDeltaY","rows","xIndex","yIndex","updated","insertCellAfter","newCell","after","index","findLastIndex","slice","reducers","rootReducer","state","payload","findIndex","size","Object","fromEntries","entries","___CSS_LOADER_EXPORT___","module","toString"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_next_bricks_diagram=self.webpackChunk_next_bricks_diagram||[]).push([[9591],{4223:(e,r,t)=>{function n(e,r){if(null==e)return{};var t,n,u=function(e,r){if(null==e)return{};var t,n,u={},a=Object.keys(e);for(n=0;n<a.length;n++)t=a[n],r.indexOf(t)>=0||(u[t]=e[t]);return u}(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)t=a[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(u[t]=e[t])}return u}t.d(r,{A:()=>n})},1972:(e,r,t)=>{t.r(r),t.d(r,{ReactUseBrick:()=>c,ReactUseMultipleBricks:()=>s,useCurrentApp:()=>p,useCurrentTheme:()=>d,useProvider:()=>w,useRecentApps:()=>f,useRouteRender:()=>v});var n=t(6330),u=t(8769),a=t(4146),c=function(e){var{useBrick:r,data:t,refCallback:c,ignoredCallback:s}=e,[i,o]=(0,u.useState)(null),l=(0,u.useRef)(),[d,f]=(0,u.useState)(),p=(0,u.useRef)(0),v=(0,u.useMemo)((()=>{var e;return null===(e=a.__secret_internals.getRenderId)||void 0===e?void 0:e.call(a.__secret_internals)}),[]);(0,u.useEffect)((()=>{var e=!1;function u(){return u=(0,n.A)((function*(){try{var n=yield a.__secret_internals.renderUseBrick(r,t);if(e)return;o(n),f(++p.current)}catch(e){(function(e){var r,t=null===(r=a.__secret_internals.getRenderId)||void 0===r?void 0:r.call(a.__secret_internals);return!e||!t||e===t})(v)&&(console.error("Render useBrick failed:",r,"with data:",t),(0,a.handleHttpError)(e))}})),u.apply(this,arguments)}return function(){u.apply(this,arguments)}(),()=>{e=!0}}),[t,r,v]);var y=(0,u.useCallback)((e=>{e?l.current=a.__secret_internals.mountUseBrick(i,e):(a.__secret_internals.unmountUseBrick(i,l.current),l.current=void 0),null==c||c(e)}),[c,i]);if(!i)return null;var{tagName:g}=i;if(null===g)return null==s||s(),null;var m=g;return u.createElement(m,{key:d,ref:y})},s=function(e){var{useBrick:r,data:t}=e;return Array.isArray(r)?u.createElement(u.Fragment,null,r.map(((e,r)=>u.createElement(c,{key:r,useBrick:e,data:t})))):u.createElement(c,{useBrick:r,data:t})},i=(0,a.getV2RuntimeFromDll)();if(i){var{SingleBrickAsComponentFactory:o,BrickAsComponentFactory:l}=i;o&&l&&(c=o(u),s=l(u))}function d(){var[e,r]=(0,u.useState)(a.getCurrentTheme);return(0,u.useEffect)((()=>{var e=e=>{r(e.detail)};return window.addEventListener("theme.change",e),()=>{window.removeEventListener("theme.change",e)}}),[]),e}function f(){var[e,r]=u.useState((()=>(0,a.getRuntime)().getRecentApps()));return u.useEffect((()=>{var e=e=>{r(e.detail)};return window.addEventListener("app.change",e),()=>window.removeEventListener("app.change",e)}),[]),e}function p(){return f().currentApp}function v(){var[e,r]=u.useState(null);return u.useEffect((()=>{var e=e=>{r(e.detail)};return window.addEventListener("route.render",e),()=>window.removeEventListener("route.render",e)}),[]),e}var y=t(9740),g=t(4223),m={provider:"",customOptions:{onError:()=>{},transform:(e,r)=>r,data:void 0,loading:!1,suspense:!1,cache:!0},dependencies:void 0};const A=Object.entries(m).reduce(((e,r)=>{var[t,n]=r;return"[object Object]"===Object.prototype.toString.call(n)?(0,y.A)((0,y.A)({},e),n):(0,y.A)((0,y.A)({},e),{},{[t]:n})}),{});var h=t(2445),b=["args"],k=new Map;function O(){return(O=(0,n.A)((function*(e,r,t){var n,u=function(e){for(var r,t=e=>Object.keys(e).sort().map((r=>({[r]:e[r]}))),n=arguments.length,u=new Array(n>1?n-1:0),a=1;a<n;a++)u[a-1]=arguments[a];try{var c="object"!=typeof(r=u)||null===r||Array.isArray(r)?u.map((e=>function(e){return"string"==typeof e}(e)?e:t(e))):t(u);return JSON.stringify({provider:e,args:c})}catch(r){return JSON.stringify({provider:e,args:u})}}(e,...t);return!r&&k.has(u)&&k.delete(u),k.has(u)?n=k.get(u):(n=(0,a.fetchByProvider)(e,t),r&&k.set(u,n)),n}))).apply(this,arguments)}var _=["onError","transform","suspense","cache"];function w(){var{provider:e,customOptions:r,dependencies:t,requestInit:a}=function(e,r,t){var n=(0,u.useMemo)((()=>"string"==typeof e?e:m.provider),[e,r]),a=(0,u.useMemo)((()=>{var t={};return(0,h.isObject)(e)?t=e:(0,h.isObject)(r)&&(t=r),(0,y.A)((0,y.A)({},A),t)}),[e,r]),c=(0,u.useMemo)((()=>{var e=[...Object.keys(m),...Object.keys(m.customOptions)],r=Object.keys(a).reduce(((r,t)=>(e.includes(t)||(r[t]=a[t]),r)),{}),{args:t=null}=r,n=(0,g.A)(r,b);return{options:(0,y.A)({},n),args:t}}),[a]),s=(0,u.useMemo)((()=>Array.isArray(r)?r:Array.isArray(t)?t:A.dependencies),[r,t]),i=a.loading||Array.isArray(s);return{provider:n,customOptions:(0,u.useMemo)((()=>{var e=Object.keys(m.customOptions).reduce(((e,r)=>(e[r]=a[r],e)),{});return(0,y.A)((0,y.A)({},e),{},{loading:i})}),[a]),requestInit:c,dependencies:s}}(...arguments),{onError:c,transform:s,suspense:i,cache:o}=r,l=(0,g.A)(r,_),[d,f]=(0,u.useState)(l.loading),p=(0,u.useRef)("pending"),v=(0,u.useRef)(),k=(0,u.useRef)(!1),w=(0,u.useRef)(),j=(0,u.useRef)(),E=(0,u.useRef)(l.data),R=(0,u.useReducer)((()=>({})),[])[1],B=(0,u.useCallback)(function(){var e=(0,n.A)((function*(e,r){try{w.current=void 0,i||f(!0);var t=yield function(e,r,t){return O.apply(this,arguments)}(e,o,r);j.current=t,E.current=s(E.current,t)}catch(e){w.current=e,E.current=void 0}return i||f(!1),w.current&&c(w.current),E.current}));return function(r,t){return e.apply(this,arguments)}}(),[e,r,t,a,i,s,l.data,c,o]),S=(0,u.useCallback)(function(){var r=(0,n.A)((function*(r,t){var u=e,a=[];return(0,h.isString)(r)&&(u=r),(0,h.isObject)(r)?a=r:(0,h.isObject)(t)&&(a=t),i?(0,n.A)((function*(){return v.current=B(u,a).then((e=>(p.current="success",e)),(e=>(p.current="error",e.current=e,e))),R(),yield v.current}))():B(u,a)}));return function(e,t){return r.apply(this,arguments)}}(),[B]),C=(0,u.useMemo)((()=>Object.defineProperties({query:S},{loading:{get:()=>d},data:{get:()=>E.current},error:{get:()=>w.current}})),[S]);if((0,u.useEffect)((()=>(k.current=!0,Array.isArray(t)&&e&&C.query(e,a.args),()=>k.current=!1)),t),i&&v.current)switch(p.current){case"pending":throw v.current;case"error":throw w.current}return Object.assign([C,j.current,d,w.current],(0,y.A)((0,y.A)({request:C},C),{},{response:j.current,data:E.current,loading:d,error:w.current}))}}}]);
|
|
2
|
-
//# sourceMappingURL=9591.3e70b783.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/9591.3e70b783.js","mappings":"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","sources":["webpack:///../../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/ReactUseBrick.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentTheme.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRecentApps.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentApp.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRouteRender.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/useProviderArgsDefaults.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/useProviderArgs.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/fetch.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/useProvider.js"],"sourcesContent":["import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { __secret_internals, handleHttpError, getV2RuntimeFromDll } from \"@next-core/runtime\";\n// Note: always synchronize code in LegacyUseBrick:\n// `bricks/v2-adapter/src/data-providers/legacy-brick-kit/getLegacyUseBrick.ts`\nvar ReactUseBrick = function ReactUseBrick(_ref) {\n var {\n useBrick,\n data,\n refCallback,\n ignoredCallback\n } = _ref;\n var [renderResult, setRenderResult] = useState(null);\n var mountResult = useRef();\n var [renderKey, setRenderKey] = useState();\n var IdCounterRef = useRef(0);\n var initialRenderId = useMemo(() => {\n var _secret_internals$ge;\n return (_secret_internals$ge = __secret_internals.getRenderId) === null || _secret_internals$ge === void 0 ? void 0 : _secret_internals$ge.call(__secret_internals);\n }, []);\n useEffect(() => {\n var ignore = false;\n function init() {\n return _init.apply(this, arguments);\n }\n function _init() {\n _init = _asyncToGenerator(function* () {\n try {\n var newRender = yield __secret_internals.renderUseBrick(useBrick, data);\n if (ignore) {\n return;\n }\n setRenderResult(newRender);\n setRenderKey(getUniqueId(IdCounterRef));\n } catch (error) {\n if (isTheSameRender(initialRenderId)) {\n // eslint-disable-next-line no-console\n console.error(\"Render useBrick failed:\", useBrick, \"with data:\", data);\n handleHttpError(error);\n }\n }\n });\n return _init.apply(this, arguments);\n }\n init();\n return () => {\n ignore = true;\n };\n }, [data, useBrick, initialRenderId]);\n var _refCallback = useCallback(element => {\n if (element) {\n mountResult.current = __secret_internals.mountUseBrick(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n renderResult, element);\n } else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n __secret_internals.unmountUseBrick(renderResult, mountResult.current);\n mountResult.current = undefined;\n }\n refCallback === null || refCallback === void 0 || refCallback(element);\n }, [refCallback, renderResult]);\n if (!renderResult) {\n // Fallback when loading/\n return null;\n // return <span>🌀 Loading...</span>;\n }\n var {\n tagName\n } = renderResult;\n if (tagName === null) {\n ignoredCallback === null || ignoredCallback === void 0 || ignoredCallback();\n return null;\n }\n var WebComponent = tagName;\n return /*#__PURE__*/React.createElement(WebComponent, {\n key: renderKey,\n ref: _refCallback\n });\n};\nfunction getUniqueId(ref) {\n return ++ref.current;\n}\nfunction isTheSameRender(initialRenderId) {\n var _secret_internals$ge2;\n var newRenderId = (_secret_internals$ge2 = __secret_internals.getRenderId) === null || _secret_internals$ge2 === void 0 ? void 0 : _secret_internals$ge2.call(__secret_internals);\n return !initialRenderId || !newRenderId || initialRenderId === newRenderId;\n}\nvar ReactUseMultipleBricks = function ReactUseMultipleBricks(_ref2) {\n var {\n useBrick,\n data\n } = _ref2;\n if (Array.isArray(useBrick)) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, useBrick.map((item, index) => /*#__PURE__*/React.createElement(ReactUseBrick, {\n key: index,\n useBrick: item,\n data: data\n })));\n }\n return /*#__PURE__*/React.createElement(ReactUseBrick, {\n useBrick: useBrick,\n data: data\n });\n};\n\n// Make v3 bricks compatible with Brick Next v2.\n// istanbul ignore next\nvar v2Kit = getV2RuntimeFromDll();\n// istanbul ignore next\nif (v2Kit) {\n var {\n SingleBrickAsComponentFactory,\n BrickAsComponentFactory\n } = v2Kit;\n if (SingleBrickAsComponentFactory && BrickAsComponentFactory) {\n ReactUseBrick = SingleBrickAsComponentFactory(React);\n ReactUseMultipleBricks = BrickAsComponentFactory(React);\n }\n}\nexport { ReactUseBrick, ReactUseMultipleBricks };\n//# sourceMappingURL=ReactUseBrick.js.map","import { useEffect, useState } from \"react\";\nimport { getCurrentTheme } from \"@next-core/runtime\";\nexport function useCurrentTheme() {\n var [currentTheme, setCurrentTheme] = useState(getCurrentTheme);\n useEffect(() => {\n var listenToThemeChange = event => {\n setCurrentTheme(event.detail);\n };\n window.addEventListener(\"theme.change\", listenToThemeChange);\n return () => {\n window.removeEventListener(\"theme.change\", listenToThemeChange);\n };\n }, []);\n return currentTheme;\n}\n//# sourceMappingURL=useCurrentTheme.js.map","import React from \"react\";\nimport { getRuntime } from \"@next-core/runtime\";\nexport function useRecentApps() {\n var [recentApps, setRecentApps] = React.useState(() => getRuntime().getRecentApps());\n React.useEffect(() => {\n var listener = event => {\n setRecentApps(event.detail);\n };\n window.addEventListener(\"app.change\", listener);\n return () => window.removeEventListener(\"app.change\", listener);\n }, []);\n return recentApps;\n}\n//# sourceMappingURL=useRecentApps.js.map","import { useRecentApps } from \"./useRecentApps.js\";\n\n/**\n * 获取当前所在微应用信息的 React hooks。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const app = useCurrentApp();\n * return <div>{app.id}</div>;\n * }\n * ```\n *\n * @returns 当前所在微应用的信息。\n */\nexport function useCurrentApp() {\n return useRecentApps().currentApp;\n}\n//# sourceMappingURL=useCurrentApp.js.map","import React from \"react\";\nexport function useRouteRender() {\n var [routeRender, setRouteRender] = React.useState(null);\n React.useEffect(() => {\n var listener = event => {\n setRouteRender(event.detail);\n };\n window.addEventListener(\"route.render\", listener);\n return () => window.removeEventListener(\"route.render\", listener);\n }, []);\n return routeRender;\n}\n//# sourceMappingURL=useRouteRender.js.map","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nexport var useProviderArgsDefaults = {\n provider: \"\",\n customOptions: {\n onError: () => {\n /* Do nothing.. */\n },\n transform: (oldData, newData) => newData,\n data: undefined,\n loading: false,\n suspense: false,\n cache: true\n },\n dependencies: undefined\n};\nexport default Object.entries(useProviderArgsDefaults).reduce((acc, _ref) => {\n var [key, value] = _ref;\n if (Object.prototype.toString.call(value) === \"[object Object]\") return _objectSpread(_objectSpread({}, acc), value);\n return _objectSpread(_objectSpread({}, acc), {}, {\n [key]: value\n });\n}, {});\n//# sourceMappingURL=useProviderArgsDefaults.js.map","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nvar _excluded = [\"args\"];\nimport { useMemo } from \"react\";\nimport defaults, { useProviderArgsDefaults } from \"./useProviderArgsDefaults.js\";\nimport { isObject } from \"lodash\";\nexport default function useProviderArgs(providerOrParamsOrGlobalOptions, globalOptionsOrDeps, deps) {\n var provider = useMemo(() => {\n if (typeof providerOrParamsOrGlobalOptions === \"string\") {\n return providerOrParamsOrGlobalOptions;\n }\n return useProviderArgsDefaults.provider;\n }, [providerOrParamsOrGlobalOptions, globalOptionsOrDeps]);\n var options = useMemo(() => {\n var localOptions = {};\n if (isObject(providerOrParamsOrGlobalOptions)) {\n localOptions = providerOrParamsOrGlobalOptions;\n } else if (isObject(globalOptionsOrDeps)) {\n localOptions = globalOptionsOrDeps;\n }\n return _objectSpread(_objectSpread({}, defaults), localOptions);\n }, [providerOrParamsOrGlobalOptions, globalOptionsOrDeps]);\n var requestInit = useMemo(() => {\n var customOptionKeys = [...Object.keys(useProviderArgsDefaults), ...Object.keys(useProviderArgsDefaults.customOptions)];\n var _reduce = Object.keys(options).reduce((acc, key) => {\n if (!customOptionKeys.includes(key)) acc[key] = options[key];\n return acc;\n }, {}),\n {\n args = null\n } = _reduce,\n restOptions = _objectWithoutProperties(_reduce, _excluded);\n return {\n options: _objectSpread({}, restOptions),\n args\n };\n }, [options]);\n var dependencies = useMemo(() => {\n if (Array.isArray(globalOptionsOrDeps)) return globalOptionsOrDeps;\n if (Array.isArray(deps)) return deps;\n return defaults.dependencies;\n }, [globalOptionsOrDeps, deps]);\n var loading = options.loading || Array.isArray(dependencies);\n var customOptions = useMemo(() => {\n var customOptionKeys = Object.keys(useProviderArgsDefaults.customOptions);\n var customOptions = customOptionKeys.reduce((opts, key) => {\n opts[key] = options[key];\n return opts;\n }, {});\n return _objectSpread(_objectSpread({}, customOptions), {}, {\n loading\n });\n }, [options]);\n return {\n provider,\n customOptions,\n requestInit,\n dependencies\n };\n}\n//# sourceMappingURL=useProviderArgs.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport { fetchByProvider } from \"@next-core/runtime\";\nvar cacheMap = new Map();\nfunction isObj(v) {\n return typeof v === \"object\" && v !== null && !Array.isArray(v);\n}\nfunction isString(v) {\n return typeof v === \"string\";\n}\nfunction buildSortedCacheKey(provider) {\n var sortObj = obj => Object.keys(obj).sort().map(k => ({\n [k]: obj[k]\n }));\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n try {\n var sortedArgs = isObj(args) ? sortObj(args) : args.map(arg => isString(arg) ? arg : sortObj(arg));\n return JSON.stringify({\n provider,\n args: sortedArgs\n });\n } catch (e) {\n return JSON.stringify({\n provider,\n args\n });\n }\n}\nexport default function fetch(_x, _x2, _x3) {\n return _fetch.apply(this, arguments);\n}\nfunction _fetch() {\n _fetch = _asyncToGenerator(function* (provider, cache, args) {\n var promise;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n var cacheKey = buildSortedCacheKey(provider, ...args);\n !cache && cacheMap.has(cacheKey) && cacheMap.delete(cacheKey);\n if (cacheMap.has(cacheKey)) {\n promise = cacheMap.get(cacheKey);\n } else {\n promise = (() => {\n return fetchByProvider(provider, args);\n })();\n cache && cacheMap.set(cacheKey, promise);\n }\n return promise;\n });\n return _fetch.apply(this, arguments);\n}\n//# sourceMappingURL=fetch.js.map","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"onError\", \"transform\", \"suspense\", \"cache\"];\nimport { useCallback, useEffect, useMemo, useReducer, useRef, useState } from \"react\";\nimport useProviderArgs from \"./useProviderArgs.js\";\nimport { isObject, isString } from \"lodash\";\nimport fetch from \"./fetch.js\";\nexport function useProvider() {\n var {\n provider,\n customOptions,\n dependencies,\n requestInit\n } = useProviderArgs(...arguments);\n var {\n onError,\n transform,\n suspense,\n cache\n } = customOptions,\n defaults = _objectWithoutProperties(customOptions, _excluded);\n var [loading, setLoading] = useState(defaults.loading);\n var suspenseStatus = useRef(\"pending\");\n var suspender = useRef();\n var mounted = useRef(false);\n var error = useRef();\n var response = useRef();\n var data = useRef(defaults.data);\n var forceUpdate = useReducer(() => ({}), [])[1];\n var doFetch = useCallback( /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (provider, providerArgs) {\n try {\n error.current = undefined;\n if (!suspense) setLoading(true);\n var newRes = yield fetch(provider, cache, providerArgs);\n response.current = newRes;\n data.current = transform(data.current, newRes);\n } catch (e) {\n error.current = e;\n data.current = undefined;\n }\n if (!suspense) setLoading(false);\n if (error.current) onError(error.current);\n return data.current;\n });\n return function (_x, _x2) {\n return _ref.apply(this, arguments);\n };\n }(), [provider, customOptions, dependencies, requestInit, suspense, transform, defaults.data, onError, cache]);\n var makeFetch = useCallback( /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator(function* (providerOrBody, args) {\n var providerStr = provider;\n var providerArgs = [];\n if (isString(providerOrBody)) {\n providerStr = providerOrBody;\n }\n if (isObject(providerOrBody)) {\n providerArgs = providerOrBody;\n } else if (isObject(args)) {\n providerArgs = args;\n }\n if (suspense) {\n return _asyncToGenerator(function* () {\n suspender.current = doFetch(providerStr, providerArgs).then(newData => {\n suspenseStatus.current = \"success\";\n return newData;\n }, error => {\n /* istanbul ignore next */\n suspenseStatus.current = \"error\";\n error.current = error;\n return error;\n });\n forceUpdate();\n return yield suspender.current;\n })();\n }\n return doFetch(providerStr, providerArgs);\n });\n return function (_x3, _x4) {\n return _ref2.apply(this, arguments);\n };\n }(), [doFetch]);\n var request = useMemo(() => Object.defineProperties({\n query: makeFetch\n }, {\n loading: {\n get() {\n return loading;\n }\n },\n data: {\n get() {\n return data.current;\n }\n },\n error: {\n get() {\n return error.current;\n }\n }\n }), [makeFetch]);\n\n // onMount/onUpdate\n useEffect(() => {\n mounted.current = true;\n if (Array.isArray(dependencies) && provider) {\n request.query(provider, requestInit.args);\n }\n return () => mounted.current = false;\n }, dependencies);\n if (suspense && suspender.current) {\n switch (suspenseStatus.current) {\n case \"pending\":\n throw suspender.current;\n /* istanbul ignore next */\n case \"error\":\n throw error.current;\n }\n }\n return Object.assign([request, response.current, loading, error.current], _objectSpread(_objectSpread({\n request\n }, request), {}, {\n response: response.current,\n data: data.current,\n loading,\n error: error.current\n }));\n}\n//# sourceMappingURL=useProvider.js.map"],"names":["_objectWithoutProperties","source","excluded","key","i","target","sourceKeys","Object","keys","length","indexOf","getOwnPropertySymbols","sourceSymbolKeys","prototype","propertyIsEnumerable","call","ReactUseBrick","_ref","useBrick","data","refCallback","ignoredCallback","renderResult","setRenderResult","useState","mountResult","useRef","renderKey","setRenderKey","IdCounterRef","initialRenderId","useMemo","_secret_internals$ge","__secret_internals","getRenderId","useEffect","ignore","_init","newRender","renderUseBrick","current","error","_secret_internals$ge2","newRenderId","isTheSameRender","console","handleHttpError","apply","this","arguments","init","_refCallback","useCallback","element","mountUseBrick","unmountUseBrick","undefined","tagName","WebComponent","ref","ReactUseMultipleBricks","_ref2","Array","isArray","map","item","index","v2Kit","getV2RuntimeFromDll","SingleBrickAsComponentFactory","BrickAsComponentFactory","useCurrentTheme","currentTheme","setCurrentTheme","getCurrentTheme","listenToThemeChange","event","detail","window","addEventListener","removeEventListener","useRecentApps","recentApps","setRecentApps","getRuntime","getRecentApps","listener","useCurrentApp","currentApp","useRouteRender","routeRender","setRouteRender","useProviderArgsDefaults","provider","customOptions","onError","transform","oldData","newData","loading","suspense","cache","dependencies","entries","reduce","acc","value","toString","_excluded","cacheMap","Map","_fetch","args","promise","cacheKey","v","sortObj","obj","sort","k","_len","_key","sortedArgs","arg","isString","JSON","stringify","e","buildSortedCacheKey","has","delete","get","fetchByProvider","set","useProvider","requestInit","providerOrParamsOrGlobalOptions","globalOptionsOrDeps","deps","options","localOptions","isObject","customOptionKeys","_reduce","includes","restOptions","opts","useProviderArgs","defaults","setLoading","suspenseStatus","suspender","mounted","response","forceUpdate","useReducer","doFetch","providerArgs","newRes","_x","_x2","_x3","fetch","makeFetch","providerOrBody","providerStr","then","_x4","request","defineProperties","query","assign"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_next_bricks_diagram=self.webpackChunk_next_bricks_diagram||[]).push([[3039],{1508:(e,t,n)=>{n.r(t),n.d(t,{EoDiagram:()=>Ke,EoDiagramComponent:()=>$e,LegacyEoDiagramComponent:()=>Mt});var a,i,s,r,o,l,c,u,d,h,p,m,f,g,v,k,y,b,w,A,E,M,W,L,N,R,S,C,x,z,T,D,O,B,I,P,H,V,_,K,j,Y,X,Z,$,q,F,G,U,J,Q,ee,te,ne,ae,ie=n(4635),se=n(918),re=n(1369),oe=n(8449),le=n(6902),ce=n(8769),ue=n.n(ce),de=n(9929),he=n(9938),pe=(n(330),n(7566)),me=n(1517),fe=n(3373),ge=n.n(fe),ve=n(2445),ke=n(9126),ye=n(8892),be=n(5157),we=n(8308),Ae=n(9576),Ee=n(9137),Me=n(2547),We=n(1803),Le=n(3739),Ne=n(9191),Re=n(6671),Se=n(8060),Ce=n(2448),xe=n(8657),ze=n(6449),Te=n(1324),De=n(821),Oe=n(9741),Be=n(2673),Ie=n(5987);function Pe(e,t,n){return n(_e(e,t))}function He(e,t,n){return e.set(_e(e,t),n),n}function Ve(e,t){return e.get(_e(e,t))}function _e(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Ke,{defineElement:je,property:Ye,event:Xe,method:Ze}=(0,de.createDecorators)(),$e=(0,ce.forwardRef)(Mt),qe=new WeakMap,Fe=new WeakMap,Ge=new WeakMap,Ue=new WeakMap,Je=new WeakMap,Qe=new WeakMap,et=new WeakMap,tt=new WeakMap,nt=new WeakMap,at=new WeakMap,it=new WeakMap,st=new WeakMap,rt=new WeakMap,ot=new WeakMap,lt=new WeakMap,ct=new WeakSet,ut=new WeakMap,dt=new WeakMap,ht=new WeakMap,pt=new WeakMap,mt=new WeakMap,ft=new WeakMap,gt=new WeakMap,vt=new WeakMap,kt=new WeakMap,yt=new WeakMap,bt=new WeakMap,wt=new WeakMap,At=new WeakMap;class Et extends he.ReactNextElement{constructor(){super(...arguments),(0,ie.A)(this,ct),(0,se.A)(this,qe,(a(this),s(this))),(0,se.A)(this,Fe,(r(this),o(this))),(0,se.A)(this,Ge,(l(this),c(this))),(0,se.A)(this,Ue,(u(this),d(this))),(0,se.A)(this,Je,(h(this),p(this))),(0,se.A)(this,Qe,(m(this),f(this))),(0,se.A)(this,et,(g(this),v(this))),(0,se.A)(this,tt,(k(this),y(this))),(0,se.A)(this,nt,(b(this),w(this))),(0,se.A)(this,at,(A(this),E(this))),(0,se.A)(this,it,(M(this),W(this,!0))),(0,se.A)(this,st,(L(this),N(this,!0))),(0,se.A)(this,rt,(R(this),S(this,!0))),(0,se.A)(this,ot,(C(this),x(this))),(0,se.A)(this,lt,(z(this),T(this))),(0,se.A)(this,ut,(B(this),e=>{Pe(ct,this,D).emit(e)})),(0,se.A)(this,dt,I(this)),(0,se.A)(this,ht,(V(this),e=>{Pe(ct,this,P).emit(e)})),(0,se.A)(this,pt,_(this)),(0,se.A)(this,mt,(Y(this),e=>{Pe(ct,this,K).emit(e)})),(0,se.A)(this,ft,X(this)),(0,se.A)(this,gt,(q(this),e=>{Pe(ct,this,Z).emit(e)})),(0,se.A)(this,vt,F(this)),(0,se.A)(this,kt,(J(this),e=>{Pe(ct,this,G).emit(e)})),(0,se.A)(this,yt,Q(this)),(0,se.A)(this,bt,(ne(this),e=>{Pe(ct,this,ee).emit(e)})),(0,se.A)(this,wt,(e=>{(0,Be.c)(e,this.activeTarget)||(this.activeTarget=e)})),(0,se.A)(this,At,(0,ce.createRef)())}get layout(){return Ve(qe,this)}set layout(e){He(qe,this,e)}get nodes(){return Ve(Fe,this)}set nodes(e){He(Fe,this,e)}get edges(){return Ve(Ge,this)}set edges(e){He(Ge,this,e)}get nodeBricks(){return Ve(Ue,this)}set nodeBricks(e){He(Ue,this,e)}get lines(){return Ve(Je,this)}set lines(e){He(Je,this,e)}get layoutOptions(){return Ve(Qe,this)}set layoutOptions(e){He(Qe,this,e)}get activeTarget(){return Ve(et,this)}set activeTarget(e){He(et,this,e)}get disableKeyboardAction(){return Ve(tt,this)}set disableKeyboardAction(e){He(tt,this,e)}get connectNodes(){return Ve(nt,this)}set connectNodes(e){He(nt,this,e)}get dragNodes(){return Ve(at,this)}set dragNodes(e){He(at,this,e)}get zoomable(){return Ve(it,this)}set zoomable(e){He(it,this,e)}get scrollable(){return Ve(st,this)}set scrollable(e){He(st,this,e)}get pannable(){return Ve(rt,this)}set pannable(e){He(rt,this,e)}get scaleRange(){return Ve(ot,this)}set scaleRange(e){He(ot,this,e)}callOnLineLabel(e,t){for(var n,a=arguments.length,i=new Array(a>2?a-2:0),s=2;s<a;s++)i[s-2]=arguments[s];null===(n=Ve(At,this).current)||void 0===n||n.callOnLineLabel(e,t,...i)}render(){return ue().createElement($e,{ref:Ve(At,this),layout:this.layout,nodes:this.nodes,edges:this.edges,nodeBricks:this.nodeBricks,lines:this.lines,layoutOptions:this.layoutOptions,connectNodes:this.connectNodes,dragNodes:this.dragNodes,activeTarget:this.activeTarget,disableKeyboardAction:this.disableKeyboardAction,zoomable:this.zoomable,scrollable:this.scrollable,pannable:this.pannable,scaleRange:this.scaleRange,onActiveTargetChange:Ve(ut,this),onSwitchActiveTarget:Ve(wt,this),onNodeDelete:Ve(ht,this),onEdgeDelete:Ve(mt,this),onLineClick:Ve(gt,this),onLineDoubleClick:Ve(kt,this),onNodesConnect:Ve(bt,this)})}}function Mt(e,t){var{layout:n,nodes:a,edges:i,nodeBricks:s,lines:r,layoutOptions:o,connectNodes:l,dragNodes:c,activeTarget:u,disableKeyboardAction:d,zoomable:h,scrollable:p,pannable:m,scaleRange:f,onActiveTargetChange:g,onSwitchActiveTarget:v,onNodeDelete:k,onEdgeDelete:y,onLineClick:b,onLineDoubleClick:w,onNodesConnect:A}=e,[E,M]=(0,ce.useState)(!1),[W,L]=(0,ce.useState)(0),[N,R]=(0,ce.useState)(null),[S,C]=(0,ce.useState)(!1),[x,z]=(0,ce.useState)(0),[T,D]=(0,ce.useState)(null),[O,B]=(0,ce.useState)([]),[I,P]=(0,ce.useState)(!1),[H,V]=(0,ce.useState)({k:1,x:0,y:0}),_=(0,ce.useRef)(new Map),K=(0,ce.useRef)(null),j=(0,ce.useRef)(null),[Y,X]=(0,ce.useState)(!1),{userViewReady:Z,userViewNodesMap:$,saveUserView:q}=(0,Oe._)(null==c?void 0:c.save),[F,G]=(0,ce.useState)([0,0]),[U,J]=(0,ce.useState)(null),[Q,ee]=(0,ce.useState)("initial"),[te,ne]=(0,ce.useState)(null);(0,ce.useImperativeHandle)(t,(()=>({callOnLineLabel(e,t){for(var n,a=arguments.length,i=new Array(a>2?a-2:0),s=2;s<a;s++)i[s-2]=arguments[s];null==T||null===(n=T.get(e))||void 0===n||null===(n=n.firstElementChild)||void 0===n||n[t](...i)}}))),(0,ce.useEffect)((()=>{var e=e=>{(0,Ce.P)(e,{nodes:a,nodesRefRepository:N,connectNodes:l,dragNodes:c,scale:H.k,setConnectLineState:J,setConnectLineTo:G,setManualLayoutStatus:ee,setNodeMovement:ne,onSwitchActiveTarget:v,onNodesConnect:A})},t=j.current;return null==t||t.addEventListener("mousedown",e),()=>{null==t||t.removeEventListener("mousedown",e)}}),[a,l,c,H.k,N,A,v]);var{normalizedLines:ae,normalizedLinesMap:ie,markers:se}=(0,ce.useMemo)((()=>(0,Ee.t)(i,r)),[i,r]),re=(0,ce.useMemo)((()=>ae.flatMap((e=>{var t,n,{line:{text:a,label:i,$id:s},edge:r}=e;return a||i?(i?(t="label",n=[].concat(i)):(t="text",n=[].concat(a)),n.map((e=>{var n;return{[t]:e,id:"".concat(s,"-").concat(null!==(n=e.placement)&&void 0!==n?n:"center"),edge:r}}))):[]}))),[ae]),{nodes:oe,edges:le}=(0,ze.o)({layout:n,nodes:a,edges:i,manualLayoutStatus:Q,userViewReady:Z,userViewNodesMap:$,nodeMovement:te,nodesRefRepository:N,lineLabelsRefRepository:T,normalizedLinesMap:ie,layoutOptions:o,nodesRenderId:W,lineLabelsRenderId:x});(0,ce.useEffect)((()=>{"finished"===Q&&q(oe.map((e=>({id:e.id,x:e.x,y:e.y}))))}),[Q]);var de=(0,ce.useMemo)((()=>(0,Ae.R)(le,oe,ae)),[ae,oe,le]),he=null!=u?u:null,[fe,De]=(0,ce.useState)(he);(0,ce.useEffect)((()=>{De((e=>(0,Be.c)(e,he)?e:he))}),[he]);var Pe=(0,ce.useRef)(!1);(0,ce.useEffect)((()=>{Pe.current?null==g||g(fe):Pe.current=!0}),[fe,g]),(0,ce.useEffect)((()=>{var e=K.current;if(e&&!d){var t=e=>{var t=(0,be.a)(e,{renderedNodes:oe,activeTarget:fe});"delete-node"===(null==t?void 0:t.action)?null==k||k(t.node):"delete-edge"===(null==t?void 0:t.action)?null==y||y(t.edge):"switch-active-node"===(null==t?void 0:t.action)&&t.node&&(null==v||v({type:"node",nodeId:t.node.id}))};return e.addEventListener("keydown",t),()=>{e.removeEventListener("keydown",t)}}}),[fe,oe,d,v,k,y]);var He=(0,ce.useCallback)((e=>{e&&(L((e=>e+1)),R(e)),M((t=>t||!!e))}),[]),Ve=(0,ce.useCallback)((e=>{e&&(z((e=>e+1)),D(e)),C((t=>t||!!e))}),[]),_e=(0,ce.useMemo)((()=>null!=f?f:[xe.sS,xe.Yt]),[f]),Ke=(0,ce.useMemo)((()=>(0,me.s_)()),[]);(0,ce.useEffect)((()=>{var e=!1;Ke.scaleExtent(h?_e:[1,1]).on("start",(()=>{e=!1,P(!0)})).on("zoom",(t=>{e=!0,V(t.transform)})).on("end",(()=>{P(!1),e||null==v||v(null)}))}),[v,_e,h,Ke]),(0,ce.useEffect)((()=>{var e=K.current;if(e){var t=(0,pe.A)(e),n=()=>{t.on(".zoom",null).on(".zoom.custom",null).on("wheel",null)};if(h||p||m)return(h||p)&&t.on("wheel.zoom.custom",(e=>{e.ctrlKey||(e.stopImmediatePropagation(),p&&(e.preventDefault(),Ke.translateBy(t,e.wheelDeltaX/5,e.wheelDeltaY/5)))})),t.call(Ke).on("wheel",(e=>e.preventDefault())).on("dblclick.zoom",null),m||t.on("mousedown.zoom",null).on("touchstart.zoom",null).on("touchmove.zoom",null).on("touchend.zoom",null),n;n()}}),[m,p,h,Ke]),(0,ce.useEffect)((()=>{var e=K.current;if(0!==oe.length&&e&&!Y){var{k:t,x:n,y:a}=(0,we.r)(oe,{canvasWidth:e.clientWidth,canvasHeight:e.clientHeight,scaleRange:h?_e:void 0});Ke.transform((0,pe.A)(e),new me.uV(t,n,a)),X(!0)}}),[Y,oe,_e,h,Ke]);var je=(0,ce.useMemo)((()=>"".concat((0,ve.uniqueId)("diagram-"),"-")),[]),Ye="".concat(je,"line-arrow-"),Xe="".concat(je,"mask-"),Ze="".concat(je,"active-line-");(0,ce.useEffect)((()=>{B((e=>(0,Se.z)(e,de,_.current)))}),[de]);var[$e,qe]=ue().useState(new Map);return(0,ce.useEffect)((()=>{if(T){(0,Te.F)(O,T);var e=new ke.A((()=>{qe((0,Ie.G)(O,T))}));for(var t of T.values())e.observe(t);return()=>{e.disconnect()}}}),[x,T,O]),"dagre"!==n&&"force"!==n?ue().createElement("div",null,'Diagram layout not supported: "'.concat(n,'"')):ue().createElement("div",{className:ge()("diagram",{ready:E&&Y,grabbing:I,pannable:m}),tabIndex:-1,ref:K},ue().createElement("svg",{width:"100%",height:"100%",className:"lines"},ue().createElement("defs",null,se.map(((e,t)=>{var{type:n,strokeColor:a}=e;return ue().createElement(Le.c,{key:t,id:"".concat(Ye).concat(t),type:n,strokeColor:a})})),[...$e].map((e=>{var[t,n]=e;return ue().createElement(Ne.y,{key:t,lineId:t,rects:n,maskPrefix:Xe,renderedLineLabels:O})})),ue().createElement("marker",{id:"".concat(Ze,"start"),viewBox:"0 0 8 8",refX:4,refY:4,markerWidth:8,markerHeight:8,orient:"auto"},ue().createElement("path",{d:"M 0.5 0.5 H 7.5 V 7.5 H 0.5 Z",stroke:"var(--palette-gray-7)",strokeWidth:1,fill:"var(--palette-gray-1)"})),ue().createElement("marker",{id:"".concat(Ze,"end"),viewBox:"0 0 14 8",refX:3,refY:4,markerWidth:14,markerHeight:8,orient:"auto"},ue().createElement("path",{d:"M 0.5 1.5 L 5.5 4 L 0.5 6.5 z",stroke:"var(--palette-blue-3)",strokeWidth:1,fill:"var(--palette-blue-3)"}),ue().createElement("path",{d:"M 6.5 0.5 H 13.5 V 7.5 H 6.5 Z",stroke:"var(--palette-gray-7)",strokeWidth:1,fill:"var(--palette-gray-1)"}))),ue().createElement("g",{transform:"translate(".concat(H.x," ").concat(H.y,") scale(").concat(H.k,")")},de.map((e=>ue().createElement(We.m,{key:e.line.$id,line:e,linePaths:_.current,lineMaskRects:$e,maskPrefix:Xe,markerPrefix:Ye,activeLineMarkerPrefix:Ze,active:"edge"===(null==fe?void 0:fe.type)&&fe.edge.source===e.edge.source&&fe.edge.target===e.edge.target,activeRelated:"node"===(null==fe?void 0:fe.type)&&(e.edge.source===fe.nodeId||e.edge.target===fe.nodeId),onLineClick:b,onLineDoubleClick:w}))))),ue().createElement("div",{className:ge()("line-labels",{ready:S}),style:{left:H.x,top:H.y,transform:"scale(".concat(H.k,")")}},ue().createElement(Me.d2,{labels:re,onRendered:Ve})),ue().createElement("div",{className:"nodes",ref:j,style:{left:H.x,top:H.y,transform:"scale(".concat(H.k,")")}},ue().createElement(ye.p,{nodes:a,nodeBricks:s,onRendered:He})),ue().createElement(Re.w,{connectLineState:U,connectLineTo:F,markerPrefix:Ye}))}ae=Et,({e:[s,r,o,l,c,u,d,h,p,m,f,g,v,k,y,b,w,A,E,M,W,L,N,R,S,C,x,z,T,D,O,B,I,P,H,V,_,K,j,Y,X,Z,$,q,F,G,U,J,Q,ee,te,ne,a],c:[Ke,i]}=function(e,t,n,a,i,s){var r,o,l,c,u,d,h,p=Symbol.metadata||Symbol.for("Symbol.metadata"),m=Object.defineProperty,f=Object.create,g=[f(null),f(null)],v=t.length;function k(t,n,a){return function(i,s){n&&(s=i,i=e);for(var r=0;r<t.length;r++)s=t[r].apply(i,a?[s]:[]);return a?s:i}}function y(e,t,n,a){if("function"!=typeof e&&(a||void 0!==e))throw new TypeError(t+" must "+(n||"be")+" a function"+(a?"":" or undefined"));return e}function b(e,t,n,a,i,s,l,c,u,d,h){function p(e){if(!h(e))throw new TypeError("Attempted to access private element on non-instance")}var f=[].concat(t[0]),v=t[3],b=!l,w=1===i,A=3===i,E=4===i,M=2===i;function W(t,n,a){return function(i,s){return n&&(s=i,i=e),a&&a(i),L[t].call(i,s)}}if(!b){var L={},N=[],R=A?"get":E||w?"set":"value";if(u?(d||w?L={get:(0,oe.A)((function(){return v(this)}),a,"get"),set:function(e){t[4](this,e)}}:L[R]=v,d||(0,oe.A)(L[R],a,M?"":R)):d||(L=Object.getOwnPropertyDescriptor(e,a)),!d&&!u){if((o=g[+c][a])&&7!=(o^i))throw new Error("Decorating two elements with the same name ("+L[R].name+") is not supported yet");g[+c][a]=i<3?1:i}}for(var S=e,C=f.length-1;C>=0;C-=n?2:1){var x=f[C],z=n?f[C-1]:void 0,T={},D={kind:["field","accessor","method","getter","setter","class"][i],name:a,metadata:r,addInitializer:function(e,t){if(e.v)throw new Error("attempted to call addInitializer after decoration was finished");y(t,"An initializer","be",!0),s.push(t)}.bind(null,T)};if(b)o=x.call(z,S,D),T.v=1,y(o,"class decorators","return")&&(S=o);else if(D.static=c,D.private=u,o=D.access={has:u?h.bind():function(e){return a in e}},E||(o.get=u?M?function(e){return p(e),L.value}:W("get",0,p):function(e){return e[a]}),M||A||(o.set=u?W("set",0,p):function(e,t){e[a]=t}),S=x.call(z,w?{get:L.get,set:L.set}:L[R],D),T.v=1,w){if("object"==typeof S&&S)(o=y(S.get,"accessor.get"))&&(L.get=o),(o=y(S.set,"accessor.set"))&&(L.set=o),(o=y(S.init,"accessor.init"))&&N.unshift(o);else if(void 0!==S)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else y(S,(d?"field":"method")+" decorators","return")&&(d?N.unshift(S):L[R]=S)}return i<2&&l.push(k(N,c,1),k(s,c,0)),d||b||(u?w?l.splice(-1,0,W("get",c),W("set",c)):l.push(M?L[R]:y.call.bind(L[R])):m(e,a,L)),S}function w(e){return m(e,p,{configurable:!0,enumerable:!0,value:r})}return void 0!==s&&(r=s[p]),r=f(null==r?null:r),u=[],d=function(e){e&&u.push(k(e))},(h=function(t,a){for(var s=0;s<n.length;s++){var r=n[s],o=r[1],d=7&o;if((8&o)==t&&!d==a){var h=r[2],p=!!r[3],m=16&o;b(t?e:e.prototype,r,m,p?"#"+h:(0,re.A)(h),d,d<2?[]:t?c=c||[]:l=l||[],u,!!t,p,a,t&&p?function(t){return(0,le.A)(t)===e}:i)}}})(8,0),h(0,0),h(8,1),h(0,1),d(l),d(c),o=u,v||w(e),{e:o,get c(){var n=[];return v&&[w(e=b(e,[t],0,e.name,5,n)),k(n,1)]}}}(ae,[je("eo-diagram",{styleTexts:[De.A]})],[[Ye({type:String}),1,"layout"],[Ye({attribute:!1}),1,"nodes"],[Ye({attribute:!1}),1,"edges"],[Ye({attribute:!1}),1,"nodeBricks"],[Ye({attribute:!1}),1,"lines"],[Ye({attribute:!1}),1,"layoutOptions"],[Ye({attribute:!1}),1,"activeTarget"],[Ye({type:Boolean}),1,"disableKeyboardAction"],[Ye({attribute:!1}),1,"connectNodes"],[Ye({attribute:!1}),1,"dragNodes"],[Ye({type:Boolean}),1,"zoomable"],[Ye({type:Boolean}),1,"scrollable"],[Ye({type:Boolean}),1,"pannable"],[Ye({attribute:!1}),1,"scaleRange"],[Xe({type:"activeTarget.change"}),1,"activeTargetChangeEvent",e=>Ve(lt,e),(e,t)=>He(lt,e,t)],[Xe({type:"node.delete"}),1,"nodeDelete",e=>Ve(dt,e),(e,t)=>He(dt,e,t)],[Xe({type:"edge.delete"}),1,"edgeDelete",e=>Ve(pt,e),(e,t)=>He(pt,e,t)],[Xe({type:"line.click"}),1,"lineClick",e=>Ve(ft,e),(e,t)=>He(ft,e,t)],[Xe({type:"line.dblclick"}),1,"lineDoubleClick",e=>Ve(vt,e),(e,t)=>He(vt,e,t)],[Xe({type:"nodes.connect"}),1,"connectNodes",e=>Ve(yt,e),(e,t)=>He(yt,e,t)],[Ze(),2,"callOnLineLabel"]],0,(e=>At.has((0,le.A)(e))),he.ReactNextElement)),i()}}]);
|
|
2
|
-
//# sourceMappingURL=eo-diagram.d8f9efe4.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/eo-diagram.d8f9efe4.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 { select } from \"d3-selection\";\nimport { ZoomTransform, zoom } from \"d3-zoom\";\nimport classNames from \"classnames\";\nimport { uniqueId } from \"lodash\";\nimport ResizeObserver from \"resize-observer-polyfill\";\nimport type {\n DiagramEdge,\n DiagramNode,\n LayoutOptions,\n LineConf,\n NodeBrickConf,\n PositionTuple,\n RefRepository,\n RenderedLineLabel,\n TransformLiteral,\n LineTarget,\n ConnectLineDetail,\n ConnectNodesOptions,\n ConnectLineState,\n ActiveTarget,\n RangeTuple,\n LineLabel,\n LineLabelConf,\n TextOptions,\n DragNodesOptions,\n NodeMovement,\n ManualLayoutStatus,\n LineMaskRects,\n} from \"./interfaces\";\nimport { NodeComponentGroup } from \"./NodeComponent\";\nimport { handleKeyboard } from \"./processors/handleKeyboard\";\nimport { transformToCenter } from \"./processors/transformToCenter\";\nimport { getRenderedLines } from \"./processors/getRenderedLines\";\nimport { normalizeLinesAndMarkers } from \"./processors/normalizeLinesAndMarkers\";\nimport { LineLabelComponentGroup } from \"./LineLabelComponent\";\nimport { LineComponent } from \"./LineComponent\";\nimport { MarkerComponent } from \"./MarkerComponent\";\nimport { LineMaskComponent } from \"./LineMaskComponent\";\nimport { ConnectLineComponent } from \"./ConnectLineComponent\";\nimport { getRenderedLineLabels } from \"./processors/getRenderedLineLabels\";\nimport { handleNodesMouseDown } from \"./processors/handleNodesMouseDown\";\nimport { DEFAULT_SCALE_RANGE_MAX, DEFAULT_SCALE_RANGE_MIN } from \"./constants\";\nimport { useRenderedDiagram } from \"./hooks/useRenderedDiagram\";\nimport { adjustLineLabels } from \"./processors/adjustLineLabels\";\nimport styleText from \"./styles.shadow.css\";\nimport { useUserView } from \"./hooks/useUserView\";\nimport { sameTarget } from \"./processors/sameTarget\";\nimport { getLineMaskRects } from \"./processors/getLineMaskRects\";\n\nconst { defineElement, property, event, method } = createDecorators();\n\nexport interface EoDiagramProps {\n layout?: \"dagre\" | \"force\";\n nodes?: DiagramNode[];\n edges?: DiagramEdge[];\n nodeBricks?: NodeBrickConf[];\n lines?: LineConf[];\n layoutOptions?: LayoutOptions;\n connectNodes?: ConnectNodesOptions;\n dragNodes?: DragNodesOptions;\n activeTarget?: ActiveTarget | null;\n disableKeyboardAction?: boolean;\n zoomable?: boolean;\n scrollable?: boolean;\n pannable?: boolean;\n scaleRange?: RangeTuple;\n}\n\nexport interface DiagramRef {\n callOnLineLabel(id: string, method: string, ...args: unknown[]): 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\" | \"force\" | 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: LayoutOptions | 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 connectNodes: ConnectNodesOptions | undefined;\n\n @property({ attribute: false })\n accessor dragNodes: DragNodesOptions | undefined;\n\n @property({ type: Boolean })\n accessor zoomable: boolean | undefined = true;\n\n @property({ type: Boolean })\n accessor scrollable: boolean | undefined = true;\n\n @property({ type: Boolean })\n accessor pannable: boolean | undefined = true;\n\n @property({ attribute: false })\n accessor scaleRange: RangeTuple | 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 #connectNodes!: EventEmitter<ConnectLineDetail>;\n\n #handleNodesConnect = (detail: ConnectLineDetail) => {\n this.#connectNodes.emit(detail);\n };\n\n #handleSwitchActiveTarget = (target: ActiveTarget | null) => {\n if (!sameTarget(target, this.activeTarget)) {\n this.activeTarget = target;\n }\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 connectNodes={this.connectNodes}\n dragNodes={this.dragNodes}\n activeTarget={this.activeTarget}\n disableKeyboardAction={this.disableKeyboardAction}\n zoomable={this.zoomable}\n scrollable={this.scrollable}\n pannable={this.pannable}\n scaleRange={this.scaleRange}\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 connectNodes,\n dragNodes,\n activeTarget: _activeTarget,\n disableKeyboardAction,\n zoomable,\n scrollable,\n pannable,\n scaleRange: _scaleRange,\n onActiveTargetChange,\n onSwitchActiveTarget,\n onNodeDelete,\n onEdgeDelete,\n onLineClick,\n onLineDoubleClick,\n onNodesConnect,\n }: EoDiagramComponentProps,\n ref: React.Ref<DiagramRef>\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 [renderedLineLabels, setRenderedLineLabels] = useState<\n RenderedLineLabel[]\n >([]);\n\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 [centered, setCentered] = useState(false);\n\n const { userViewReady, userViewNodesMap, saveUserView } = useUserView(\n dragNodes?.save\n );\n\n const [connectLineTo, setConnectLineTo] = useState<PositionTuple>([0, 0]);\n const [connectLineState, setConnectLineState] =\n useState<ConnectLineState | null>(null);\n const [manualLayoutStatus, setManualLayoutStatus] =\n useState<ManualLayoutStatus>(\"initial\");\n const [nodeMovement, setNodeMovement] = useState<NodeMovement | 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 useEffect(() => {\n const onNodesMouseDown = (event: MouseEvent) => {\n handleNodesMouseDown(event, {\n nodes,\n nodesRefRepository,\n connectNodes,\n dragNodes,\n scale: transform.k,\n setConnectLineState,\n setConnectLineTo,\n setManualLayoutStatus,\n setNodeMovement,\n onSwitchActiveTarget,\n onNodesConnect,\n });\n };\n // Bind mousedown event manually, since the React event handler can't work with\n // d3-zoom inside shadow DOM.\n const nodesContainer = nodesRef.current;\n nodesContainer?.addEventListener(\"mousedown\", onNodesMouseDown);\n return () => {\n nodesContainer?.removeEventListener(\"mousedown\", onNodesMouseDown);\n };\n }, [\n nodes,\n connectNodes,\n dragNodes,\n transform.k,\n nodesRefRepository,\n onNodesConnect,\n onSwitchActiveTarget,\n ]);\n\n const { normalizedLines, normalizedLinesMap, markers } = useMemo(\n () => normalizeLinesAndMarkers(edges, lines),\n [edges, lines]\n );\n\n const lineLabels = useMemo(() => {\n return normalizedLines.flatMap(({ line: { text, label, $id }, edge }) => {\n if (!text && !label) {\n return [] as LineLabel[];\n }\n\n let key: \"label\" | \"text\";\n let list: LineLabelConf[] | TextOptions[];\n if (label) {\n key = \"label\";\n list = ([] as LineLabelConf[]).concat(label);\n } else {\n key = \"text\";\n list = ([] as TextOptions[]).concat(text!);\n }\n\n return list.map<LineLabel>((item) => ({\n [key as \"label\"]: item as LineLabelConf,\n id: `${$id}-${item.placement ?? \"center\"}`,\n edge,\n }));\n });\n }, [normalizedLines]);\n\n const { nodes: renderedNodes, edges: renderedEdges } = useRenderedDiagram({\n layout,\n nodes,\n edges,\n manualLayoutStatus,\n userViewReady,\n userViewNodesMap,\n nodeMovement,\n nodesRefRepository,\n lineLabelsRefRepository,\n normalizedLinesMap,\n layoutOptions,\n nodesRenderId,\n lineLabelsRenderId,\n });\n\n useEffect(\n () => {\n if (manualLayoutStatus === \"finished\") {\n saveUserView(\n renderedNodes.map((node) => ({\n id: node.id,\n x: node.x,\n y: node.y,\n }))\n );\n }\n },\n // Only save user view when manual layout is just finished.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [manualLayoutStatus]\n );\n\n const renderedLines = useMemo(\n () => getRenderedLines(renderedEdges, renderedNodes, normalizedLines),\n [normalizedLines, renderedNodes, renderedEdges]\n );\n\n const newActiveTarget = _activeTarget ?? null;\n const [activeTarget, setActiveTarget] = useState<ActiveTarget | null>(\n newActiveTarget\n );\n\n useEffect(() => {\n setActiveTarget((previous) =>\n sameTarget(previous, newActiveTarget) ? previous : newActiveTarget\n );\n }, [newActiveTarget]);\n\n const activeTargetChangeInitialized = useRef(false);\n useEffect(() => {\n if (!activeTargetChangeInitialized.current) {\n activeTargetChangeInitialized.current = true;\n return;\n }\n onActiveTargetChange?.(activeTarget);\n }, [activeTarget, onActiveTargetChange]);\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 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 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 const scaleRange = useMemo(\n () =>\n _scaleRange ??\n ([DEFAULT_SCALE_RANGE_MIN, DEFAULT_SCALE_RANGE_MAX] as RangeTuple),\n [_scaleRange]\n );\n\n const zoomer = useMemo(() => zoom<HTMLDivElement, unknown>(), []);\n\n useEffect(() => {\n let moved = false;\n zoomer\n .scaleExtent(zoomable ? scaleRange : [1, 1])\n .on(\"start\", () => {\n moved = false;\n setGrabbing(true);\n })\n .on(\"zoom\", (e: { transform: TransformLiteral }) => {\n moved = true;\n setTransform(e.transform);\n })\n .on(\"end\", () => {\n setGrabbing(false);\n if (!moved) {\n onSwitchActiveTarget?.(null);\n }\n });\n }, [onSwitchActiveTarget, scaleRange, zoomable, zoomer]);\n\n useEffect(() => {\n const root = rootRef.current;\n if (!root) {\n return;\n }\n\n const rootSelection = select(root);\n\n const unsetZoom = () => {\n rootSelection\n .on(\".zoom\", null)\n .on(\".zoom.custom\", null)\n .on(\"wheel\", null);\n };\n\n if (!(zoomable || scrollable || pannable)) {\n unsetZoom();\n return;\n }\n\n if (zoomable || scrollable) {\n // Do not override default d3 zoom handler.\n // Only handles *panning*\n rootSelection.on(\n \"wheel.zoom.custom\",\n (e: WheelEvent & { wheelDeltaX: number; wheelDeltaY: number }) => {\n // Mac OS trackpad pinch event is emitted as a wheel.zoom and d3.event.ctrlKey set to true\n if (!e.ctrlKey) {\n // Stop immediate propagation for default d3 zoom handler\n e.stopImmediatePropagation();\n if (scrollable) {\n e.preventDefault();\n zoomer.translateBy(\n rootSelection,\n e.wheelDeltaX / 5,\n e.wheelDeltaY / 5\n );\n }\n }\n // zoomer.scaleBy(rootSelection, Math.pow(2, defaultWheelDelta(e)))\n }\n );\n }\n\n rootSelection\n .call(zoomer)\n .on(\"wheel\", (e: WheelEvent) => e.preventDefault())\n .on(\"dblclick.zoom\", null);\n\n if (!pannable) {\n rootSelection\n .on(\"mousedown.zoom\", null)\n .on(\"touchstart.zoom\", null)\n .on(\"touchmove.zoom\", null)\n .on(\"touchend.zoom\", null);\n }\n\n return unsetZoom;\n }, [pannable, scrollable, zoomable, zoomer]);\n\n useEffect(() => {\n const root = rootRef.current;\n if (renderedNodes.length === 0 || !root || centered) {\n return;\n }\n const { k, x, y } = transformToCenter(renderedNodes, {\n canvasWidth: root.clientWidth,\n canvasHeight: root.clientHeight,\n scaleRange: zoomable ? scaleRange : undefined,\n });\n zoomer.transform(select(root), new ZoomTransform(k, x, y));\n setCentered(true);\n }, [centered, renderedNodes, scaleRange, zoomable, zoomer]);\n\n const defPrefix = useMemo(() => `${uniqueId(\"diagram-\")}-`, []);\n const markerPrefix = `${defPrefix}line-arrow-`;\n const maskPrefix = `${defPrefix}mask-`;\n const activeLineMarkerPrefix = `${defPrefix}active-line-`;\n\n useEffect(() => {\n setRenderedLineLabels((previous) =>\n getRenderedLineLabels(previous, renderedLines, linePathsRef.current)\n );\n }, [renderedLines]);\n\n const [lineMaskRects, setLineMaskRects] = React.useState<LineMaskRects>(\n new Map()\n );\n\n useEffect(() => {\n if (!lineLabelsRefRepository) {\n return;\n }\n const updateLineMaskRects = () => {\n setLineMaskRects(\n getLineMaskRects(renderedLineLabels, lineLabelsRefRepository)\n );\n };\n\n adjustLineLabels(renderedLineLabels, lineLabelsRefRepository);\n\n const observer = new ResizeObserver(updateLineMaskRects);\n for (const lineLabel of lineLabelsRefRepository.values()) {\n observer.observe(lineLabel);\n }\n return () => {\n observer.disconnect();\n };\n }, [lineLabelsRenderId, lineLabelsRefRepository, renderedLineLabels]);\n\n if (layout !== \"dagre\" && layout !== \"force\") {\n return <div>{`Diagram layout not supported: \"${layout}\"`}</div>;\n }\n\n return (\n <div\n className={classNames(\"diagram\", {\n ready: nodesReady && centered,\n grabbing,\n pannable,\n })}\n tabIndex={-1}\n ref={rootRef}\n >\n <svg width=\"100%\" height=\"100%\" className=\"lines\">\n <defs>\n {markers.map(({ type, strokeColor }, index) => (\n <MarkerComponent\n key={index}\n id={`${markerPrefix}${index}`}\n type={type}\n strokeColor={strokeColor}\n />\n ))}\n {[...lineMaskRects].map(([lineId, rects]) => (\n <LineMaskComponent\n key={lineId}\n lineId={lineId}\n rects={rects}\n maskPrefix={maskPrefix}\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(${transform.x} ${transform.y}) scale(${transform.k})`}\n >\n {renderedLines.map((line) => (\n <LineComponent\n key={line.line.$id}\n line={line}\n linePaths={linePathsRef.current}\n lineMaskRects={lineMaskRects}\n maskPrefix={maskPrefix}\n markerPrefix={markerPrefix}\n activeLineMarkerPrefix={activeLineMarkerPrefix}\n active={\n activeTarget?.type === \"edge\" &&\n activeTarget.edge.source === line.edge.source &&\n activeTarget.edge.target === line.edge.target\n }\n activeRelated={\n activeTarget?.type === \"node\" &&\n (line.edge.source === activeTarget.nodeId ||\n line.edge.target === activeTarget.nodeId)\n }\n onLineClick={onLineClick}\n onLineDoubleClick={onLineDoubleClick}\n />\n ))}\n </g>\n </svg>\n <div\n className={classNames(\"line-labels\", { ready: lineLabelsReady })}\n style={{\n left: transform.x,\n top: transform.y,\n transform: `scale(${transform.k})`,\n }}\n >\n <LineLabelComponentGroup\n labels={lineLabels}\n onRendered={handleLineLabelsRendered}\n />\n </div>\n <div\n className=\"nodes\"\n ref={nodesRef}\n style={{\n left: transform.x,\n top: transform.y,\n transform: `scale(${transform.k})`,\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","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_EoDiagram_brand","WeakSet","_handleActiveTargetChange","_P","_handleNodeDelete","_Q","_handleEdgeDelete","_R","_handleLineClick","_S","_handleLineDoubleClick","_T","_handleNodesConnect","_handleSwitchActiveTarget","_diagramRef","EoDiagram","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_initProto","_init_layout","_init_extra_layout","_init_nodes","_init_extra_nodes","_init_edges","_init_extra_edges","_init_nodeBricks","_init_extra_nodeBricks","_init_lines","_init_extra_lines","_init_layoutOptions","_init_extra_layoutOptions","_init_activeTarget","_init_extra_activeTarget","_init_disableKeyboardAction","_init_extra_disableKeyboardAction","_init_connectNodes","_init_extra_connectNodes","_init_dragNodes","_init_extra_dragNodes","_init_zoomable","_init_extra_zoomable","_init_scrollable","_init_extra_scrollable","_init_pannable","_init_extra_pannable","_init_scaleRange","_init_extra_scaleRange","_init_activeTargetChangeEvent","_init_extra_activeTargetChangeEvent","target","_classPrivateGetter","this","_get_activeTargetChangeEvent","emit","_init_nodeDelete","_init_extra_nodeDelete","node","_get_nodeDelete","_init_edgeDelete","_init_extra_edgeDelete","edge","_get_edgeDelete","_init_lineClick","_init_extra_lineClick","line","_get_lineClick","_init_lineDoubleClick","_init_extra_lineDoubleClick","_get_lineDoubleClick","_init_connectNodes2","_init_extra_connectNodes2","detail","_get_connectNodes","sameTarget","activeTarget","createRef","layout","_classPrivateFieldGet","v","_classPrivateFieldSet","nodes","edges","nodeBricks","lines","layoutOptions","disableKeyboardAction","connectNodes","dragNodes","zoomable","scrollable","pannable","scaleRange","callOnLineLabel","id","_classPrivateFieldGet2","_len","length","args","Array","_key","current","render","React","ref","onActiveTargetChange","onSwitchActiveTarget","onNodeDelete","onEdgeDelete","onLineClick","onLineDoubleClick","onNodesConnect","_ref","_activeTarget","_scaleRange","nodesReady","setNodesReady","useState","nodesRenderId","setNodesRenderId","nodesRefRepository","setNodesRefRepository","lineLabelsReady","setLineLabelsReady","lineLabelsRenderId","setLineLabelsRenderId","lineLabelsRefRepository","setLineLabelsRefRepository","renderedLineLabels","setRenderedLineLabels","grabbing","setGrabbing","transform","setTransform","k","x","y","linePathsRef","useRef","Map","rootRef","nodesRef","centered","setCentered","userViewReady","userViewNodesMap","saveUserView","useUserView","save","connectLineTo","setConnectLineTo","connectLineState","setConnectLineState","manualLayoutStatus","setManualLayoutStatus","nodeMovement","setNodeMovement","useImperativeHandle","_lineLabelsRefReposit","_len2","_key2","get","firstElementChild","useEffect","onNodesMouseDown","handleNodesMouseDown","scale","nodesContainer","addEventListener","removeEventListener","normalizedLines","normalizedLinesMap","markers","useMemo","normalizeLinesAndMarkers","lineLabels","flatMap","_ref2","key","list","text","label","$id","concat","map","item","_item$placement","placement","renderedNodes","renderedEdges","useRenderedDiagram","renderedLines","getRenderedLines","newActiveTarget","setActiveTarget","previous","activeTargetChangeInitialized","root","onKeydown","action","handleKeyboard","type","nodeId","handleNodesRendered","useCallback","refRepository","handleLineLabelsRendered","DEFAULT_SCALE_RANGE_MIN","DEFAULT_SCALE_RANGE_MAX","zoomer","zoom","moved","scaleExtent","on","e","rootSelection","select","unsetZoom","ctrlKey","stopImmediatePropagation","preventDefault","translateBy","wheelDeltaX","wheelDeltaY","call","transformToCenter","canvasWidth","clientWidth","canvasHeight","clientHeight","undefined","ZoomTransform","defPrefix","uniqueId","markerPrefix","maskPrefix","activeLineMarkerPrefix","getRenderedLineLabels","lineMaskRects","setLineMaskRects","adjustLineLabels","observer","ResizeObserver","updateLineMaskRects","getLineMaskRects","lineLabel","values","observe","disconnect","className","classNames","ready","tabIndex","width","height","_ref3","index","strokeColor","MarkerComponent","_ref4","lineId","rects","LineMaskComponent","viewBox","refX","refY","markerWidth","markerHeight","orient","d","stroke","strokeWidth","fill","LineComponent","linePaths","active","source","activeRelated","style","left","top","LineLabelComponentGroup","labels","onRendered","NodeComponentGroup","ConnectLineComponent","_EoDiagram2","_set_activeTargetChangeEvent","_set_nodeDelete","_set_edgeDelete","_set_lineClick","_set_lineDoubleClick","_set_connectNodes","c","_initClass","_applyDecs","styleTexts","styleText","String","attribute","Boolean","o","_","has","_checkInRHS"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_next_bricks_diagram=self.webpackChunk_next_bricks_diagram||[]).push([[8939],{3739:(e,t,n)=>{n.d(t,{c:()=>i});var a=n(8769),r=n.n(a);function i(e){var t,{id:n,type:a,strokeColor:i}=e;switch(a){case"0..1":t=o;break;case"0..N":t=s;break;default:t=l}return r().createElement(t,{id:n,strokeColor:i})}function l(e){var{id:t,strokeColor:n}=e;return r().createElement("marker",{id:t,viewBox:"0 0 6 6",refX:5,refY:3,markerWidth:6,markerHeight:6,orient:"auto-start-reverse",strokeLinejoin:"round"},r().createElement("path",{d:"M 0.5 0.5 L 5.5 3 L 0.5 5.5 z",stroke:n,strokeWidth:1,fill:n}))}function o(e){var{id:t,strokeColor:n}=e;return r().createElement("marker",{id:t,viewBox:"0 0 21 11",refX:.5,refY:5.5,markerWidth:21,markerHeight:11,orient:"auto-start-reverse"},r().createElement("path",{d:"M 5.5 5.5 m 5 0 a 5 5 0 1 0 -10 0 a 5 5 0 1 0 10 0 M 15.5 0.5 V 10.5 M 10.5 5.5 H 20.5",stroke:n,strokeWidth:1,fill:"none"}))}function s(e){var{id:t,strokeColor:n}=e;return r().createElement("marker",{id:t,viewBox:"0 0 21 11",refX:.5,refY:5.5,markerWidth:21,markerHeight:11,orient:"auto-start-reverse"},r().createElement("path",{d:"M 5.5 5.5 m 5 0 a 5 5 0 1 0 -10 0 a 5 5 0 1 0 10 0 M 20.5 0.5 L 10.5 5.5 L 20.5 10.5 M 10.5 5.5 H 20.5",stroke:n,strokeWidth:1,fill:"none"}))}},3188:(e,t,n)=>{n.d(t,{h:()=>r});var a=n(733);function r(e,t){if(e===t||(0,a.w)(e,t,0,0))return null;var n,r,i,l,o=t.x-e.x,s=t.y-e.y,c=o>0?1:-1;if(0!==s){var d=Math.abs(o/s),u=s>0?1:-1;d<e.width/e.height?(n=e.x+d*e.height/2*c,r=e.y+e.height/2*u):(n=e.x+e.width/2*c,r=e.y+e.width/2/d*u),d<t.width/t.height?(i=t.x-d*t.height/2*c,l=t.y-t.height/2*u):(i=t.x-t.width/2*c,l=t.y-t.width/2/d*u)}else n=e.x+e.width/2*c,i=t.x-t.width/2*c,r=l=e.y;return[{x:n,y:r},{x:i,y:l}]}},733:(e,t,n)=>{function a(e,t,n,a){var i=n?r(e,n):e,l=a?r(t,a):t,o=Math.min(i.x-i.width/2,l.x-l.width/2),s=Math.max(i.x+i.width/2,l.x+l.width/2),c=Math.min(i.y-i.height/2,l.y-l.height/2),d=Math.max(i.y+i.height/2,l.y+l.height/2);return s-o<i.width+l.width&&d-c<i.height+l.height}function r(e,t){return{x:e.x-e.width/2-t,y:e.y-e.height/2-t,width:e.width+2*t,height:e.height+2*t}}n.d(t,{w:()=>a})},9068:(e,t,n)=>{n.r(t),n.d(t,{EoDrawCanvas:()=>Ye,EoDrawCanvasComponent:()=>Ke});var a,r,i,l,o,s,c,d,u,h,f,v,p,g,m,w,k,y,x,C,b,E,M,A,z,N,W,S,T,R,B,D,L,H,P,j,I,_,U,Y,O,X,V,F,q,K,G,J,Q,Z,$,ee,te,ne,ae,re,ie,le,oe,se=n(9740),ce=n(6330),de=n(4635),ue=n(918),he=n(1369),fe=n(8449),ve=n(6902),pe=n(8769),ge=n.n(pe),me=n(9929),we=n(9938),ke=n(8438),ye=(n(330),n(2445)),xe=n(7566),Ce=n(1517),be=n(3373),Ee=n.n(be),Me=n(1083),Ae=n(3739),ze=n(531),Ne=n(8185),We=n(5114),Se=n(2830),Te=n(1017),Re=n(3639),Be=n(3783),De=n(908),Le=n(2098),He=n(227),Pe=n(3033);function je(e,t,n){return n(Ue(e,t))}function Ie(e,t,n){return e.set(Ue(e,t),n),n}function _e(e,t){return e.get(Ue(e,t))}function Ue(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}var Ye,Oe=(0,ke.unwrapProvider)("basic.lock-body-scroll"),{defineElement:Xe,property:Ve,method:Fe,event:qe}=(0,me.createDecorators)(),Ke=ge().forwardRef(Mt),Ge=new WeakMap,Je=new WeakMap,Qe=new WeakMap,Ze=new WeakMap,$e=new WeakMap,et=new WeakMap,tt=new WeakMap,nt=new WeakMap,at=new WeakMap,rt=new WeakMap,it=new WeakMap,lt=new WeakSet,ot=new WeakMap,st=new WeakMap,ct=new WeakMap,dt=new WeakMap,ut=new WeakMap,ht=new WeakMap,ft=new WeakMap,vt=new WeakMap,pt=new WeakMap,gt=new WeakMap,mt=new WeakMap,wt=new WeakMap,kt=new WeakMap,yt=new WeakMap,xt=new WeakMap,Ct=new WeakMap,bt=new WeakMap;class Et extends we.ReactNextElement{constructor(){super(...arguments),(0,de.A)(this,lt),(0,ue.A)(this,Ge,(a(this),i(this))),(0,ue.A)(this,Je,(l(this),o(this,[Pe.HP,Pe.HP]))),(0,ue.A)(this,Qe,(s(this),c(this))),(0,ue.A)(this,Ze,(d(this),u(this))),(0,ue.A)(this,$e,(h(this),f(this))),(0,ue.A)(this,et,(v(this),p(this))),(0,ue.A)(this,tt,(g(this),m(this,!0))),(0,ue.A)(this,nt,(w(this),k(this,!0))),(0,ue.A)(this,at,(y(this),x(this,!0))),(0,ue.A)(this,rt,(C(this),b(this))),(0,ue.A)(this,it,(E(this),M(this))),(0,ue.A)(this,ot,(N(this),e=>{je(lt,this,A).emit(e)})),(0,ue.A)(this,st,(e=>{(0,Ne.c)(e,this.activeTarget)||(this.activeTarget=e)})),(0,ue.A)(this,ct,W(this)),(0,ue.A)(this,dt,(R(this),B(this))),(0,ue.A)(this,ut,(H(this),e=>{je(lt,this,D).emit(e),"node"===e.type&&je(lt,this,S).emit(e)})),(0,ue.A)(this,ht,P(this)),(0,ue.A)(this,ft,(_(this),e=>{je(lt,this,j).emit(e)})),(0,ue.A)(this,vt,U(this)),(0,ue.A)(this,pt,(X(this),V(this))),(0,ue.A)(this,gt,(K(this),e=>{je(lt,this,F).emit(e),"node"===e.type&&je(lt,this,Y).emit(e)})),(0,ue.A)(this,mt,G(this)),(0,ue.A)(this,wt,(Z(this),e=>{je(lt,this,J).emit(e)})),(0,ue.A)(this,kt,$(this)),(0,ue.A)(this,yt,(ne(this),e=>{je(lt,this,ee).emit(e)})),(0,ue.A)(this,xt,ae(this)),(0,ue.A)(this,Ct,(le(this),e=>{je(lt,this,re).emit(e)})),(0,ue.A)(this,bt,(0,pe.createRef)())}get cells(){return _e(Ge,this)}set cells(e){Ie(Ge,this,e)}get defaultNodeSize(){return _e(Je,this)}set defaultNodeSize(e){Ie(Je,this,e)}get defaultNodeBricks(){return _e(Qe,this)}set defaultNodeBricks(e){Ie(Qe,this,e)}get defaultEdgeLines(){return _e(Ze,this)}set defaultEdgeLines(e){Ie(Ze,this,e)}get activeTarget(){return _e($e,this)}set activeTarget(e){Ie($e,this,e)}get fadeUnrelatedCells(){return _e(et,this)}set fadeUnrelatedCells(e){Ie(et,this,e)}get zoomable(){return _e(tt,this)}set zoomable(e){Ie(tt,this,e)}get scrollable(){return _e(nt,this)}set scrollable(e){Ie(nt,this,e)}get pannable(){return _e(at,this)}set pannable(e){Ie(at,this,e)}get scaleRange(){return _e(rt,this)}set scaleRange(e){Ie(rt,this,e)}dropNode(e){var t=this;return(0,ce.A)((function*(){var n,a,{id:r,position:i,size:l,data:o,useBrick:s}=e;if(null===(n=(a=document).elementsFromPoint)||void 0===n||null===(n=n.call(a,i[0],i[1]))||void 0===n?void 0:n.includes(t)){var c,d,u,h=t.getBoundingClientRect(),f=_e(bt,t).current.getTransform(),v={type:"node",id:r,view:{x:(i[0]-h.left-f.x)/f.k,y:(i[1]-h.top-f.y)/f.k,width:null!==(c=null==l?void 0:l[0])&&void 0!==c?c:t.defaultNodeSize[0],height:null!==(d=null==l?void 0:l[1])&&void 0!==d?d:t.defaultNodeSize[0]},data:o,useBrick:s};return null===(u=_e(bt,t).current)||void 0===u||u.dropNode(v),v}return null}))()}dropDecorator(e){var t=this;return(0,ce.A)((function*(){var n,a,{position:r,decorator:i,text:l}=e;if(null===(n=(a=document).elementsFromPoint)||void 0===n||null===(n=n.call(a,r[0],r[1]))||void 0===n?void 0:n.includes(t)){var o,s=t.getBoundingClientRect(),c=_e(bt,t).current.getTransform(),d={type:"decorator",decorator:i,id:"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)})),view:{x:(r[0]-s.left-c.x)/c.k,y:(r[1]-s.top-c.y)/c.k,width:Pe.N8,height:Pe.w1,text:l}};return null===(o=_e(bt,t).current)||void 0===o||o.dropDecorator(d),d}return null}))()}addNodes(e){var t=this;return(0,ce.A)((function*(){if(0===e.length)return[];var n=e.map((e=>{var n,a,{size:r,useBrick:i,id:l,data:o}=e;return{type:"node",id:l,data:o,view:{width:null!==(n=null==r?void 0:r[0])&&void 0!==n?n:t.defaultNodeSize[0],height:null!==(a=null==r?void 0:r[1])&&void 0!==a?a:t.defaultNodeSize[0]},useBrick:i}}));return _e(bt,t).current.addNodes(n,{defaultNodeSize:t.defaultNodeSize,canvasHeight:t.clientHeight})}))()}addEdge(e){var t=this;return(0,ce.A)((function*(){var n,{source:a,target:r,data:i}=e,l={type:"edge",source:a,target:r,data:i};return null===(n=_e(bt,t).current)||void 0===n||n.addEdge(l),l}))()}manuallyConnectNodes(e){return _e(bt,this).current.manuallyConnectNodes(e)}updateCells(e,t){var n=this;return(0,ce.A)((function*(){var{updated:a}=_e(bt,n).current.updateCells(e,(0,se.A)((0,se.A)({},t),{},{defaultNodeSize:n.defaultNodeSize,canvasHeight:n.clientHeight}));return{updated:a}}))()}disconnectedCallback(){super.disconnectedCallback(),Oe(this,!1)}render(){return ge().createElement(Ke,{host:this,ref:_e(bt,this),cells:this.cells,defaultNodeSize:this.defaultNodeSize,defaultNodeBricks:this.defaultNodeBricks,defaultEdgeLines:this.defaultEdgeLines,activeTarget:this.activeTarget,fadeUnrelatedCells:this.fadeUnrelatedCells,zoomable:this.zoomable,scrollable:this.scrollable,pannable:this.pannable,scaleRange:this.scaleRange,onActiveTargetChange:_e(ot,this),onSwitchActiveTarget:_e(st,this),onCellMove:_e(ut,this),onCellResize:_e(ft,this),onCellDelete:_e(gt,this),onCellContextMenu:_e(wt,this),onDecoratorTextChange:_e(yt,this),onScaleChange:_e(Ct,this)})}}function Mt(e,t){var{host:n,cells:a,defaultNodeSize:r,defaultNodeBricks:i,defaultEdgeLines:l,activeTarget:o,fadeUnrelatedCells:s,zoomable:c,scrollable:d,pannable:u,scaleRange:h,onActiveTargetChange:f,onSwitchActiveTarget:v,onCellMove:p,onCellResize:g,onCellDelete:m,onCellContextMenu:w,onDecoratorTextChange:k,onScaleChange:y}=e,[{cells:x},C]=(0,pe.useReducer)(Me.d,a,(e=>({cells:(0,Be.C)(e,{defaultNodeSize:r})}))),b=(0,pe.useRef)(null),E=(0,pe.useRef)(null),M=(0,pe.useRef)(null),[A,z]=(0,pe.useState)([]),[N,W]=(0,pe.useState)(!1),[S,T]=(0,pe.useState)({k:1,x:0,y:0}),[R,B]=(0,pe.useState)(!1);(0,pe.useEffect)((()=>{y(S.k)}),[y,S.k]);var[D,L]=(0,pe.useState)(null),H=(0,pe.useMemo)((()=>null!=h?h:[Pe.sS,Pe.Yt]),[h]),P=(0,pe.useMemo)((()=>(0,Ce.s_)()),[]);(0,pe.useEffect)((()=>{var e=!1;P.scaleExtent(c?H:[1,1]).on("start",(()=>{e=!1,W(!0)})).on("zoom",(t=>{e=!0,T(t.transform)})).on("end",(()=>{W(!1),e||null==v||v(null)}))}),[v,H,c,P]),(0,pe.useEffect)((()=>{var e=b.current;if(e){var t=(0,xe.A)(e),n=()=>{t.on(".zoom",null).on(".zoom.custom",null).on("wheel",null)};if(c||d||u)return(c||d)&&t.on("wheel.zoom.custom",(e=>{e.ctrlKey||(e.stopImmediatePropagation(),d&&(e.preventDefault(),P.translateBy(t,e.wheelDeltaX/5,e.wheelDeltaY/5)))})),t.call(P).on("wheel",(e=>e.preventDefault())).on("dblclick.zoom",null).on("mousedown.zoom",null),u||t.on("touchstart.zoom",null).on("touchmove.zoom",null).on("touchend.zoom",null),n;n()}}),[u,d,c,P]),(0,pe.useEffect)((()=>{var e=b.current;if(e&&!R&&x.some((e=>(0,ze.N)(e)||(0,ze.mH)(e)))&&!x.some((e=>(0,ze.N)(e)&&!e[Pe.CV]))){var{k:t,x:n,y:a}=(0,De.r)(x,{canvasWidth:e.clientWidth,canvasHeight:e.clientHeight,scaleRange:c?H:void 0});P.transform((0,xe.A)(e),new Ce.uV(t,n,a)),B(!0)}}),[x,R,H,c,P]),(0,pe.useEffect)((()=>{x.some((e=>(0,ze.N)(e)||(0,ze.mH)(e)))||B(!1)}),[x]),(0,pe.useImperativeHandle)(t,(()=>({dropNode(e){B(!0),C({type:"drop-node",payload:e})},dropDecorator(e){B(!0),C({type:"drop-decorator",payload:e})},addNodes(e,t){var{defaultNodeSize:n,canvasHeight:a}=t,r=x.findLastIndex((e=>!("decorator"===e.type&&"text"===e.decorator)))+1,i=[...x.slice(0,r),...e,...x.slice(r)],{cells:l,updated:o}=(0,Le.L)({cells:i,previousCells:x,defaultNodeSize:n,canvasHeight:a,transform:S});return C({type:"update-cells",payload:l}),o.filter((t=>e.includes(t)))},addEdge(e){C({type:"add-edge",payload:e})},updateCells(e,t){var n=(0,Le.L)((0,se.A)((0,se.A)({},t),{},{previousCells:x,cells:e,transform:S}));return C({type:"update-cells",payload:n.cells}),n},getTransform:()=>S,manuallyConnectNodes(e){var t=x.find((t=>(0,ze.N)(t)&&t.id===e));if(t){var n=b.current.getBoundingClientRect();return L({source:t,from:[t.view.x+t.view.width/2,t.view.y+t.view.height/2],offset:[n.left,n.top]}),new Promise(((e,t)=>{M.current={resolve:e,reject:t}}))}return Promise.reject(null)}})),[x,S]);var j=(0,pe.useCallback)(((e,t)=>{for(var n,a=0;a<x.length;a++){var r=x[a];if((0,ze.N)(r)&&r.id!==e.source.id&&r.view.x<t[0]&&r.view.x+r.view.width>t[0]&&r.view.y<t[1]&&r.view.y+r.view.height>t[1]){var i;null===(i=M.current)||void 0===i||i.resolve({source:e.source,target:r});break}}null===(n=M.current)||void 0===n||n.reject(null),L(null)}),[x]);(0,pe.useEffect)((()=>{Oe(n,!!D)}),[D,n]);var I=null!=o?o:null,[_,U]=(0,pe.useState)(I);(0,pe.useEffect)((()=>{U((e=>(0,Ne.c)(e,I)?e:I))}),[I]);var Y=(0,pe.useRef)(!1);(0,pe.useEffect)((()=>{Y.current?f(_):Y.current=!0}),[_,f]);var[O,X]=(0,pe.useState)([]);(0,pe.useEffect)((()=>{var e=s?(0,He.Y)(x,D,_):[];X((t=>0===t.length&&0===e.length?t:e))}),[_,x,D,s]),(0,pe.useEffect)((()=>{if(_){var e=e=>{e.composedPath().indexOf(E.current)<=0&&U(null)};return document.addEventListener("click",e),()=>{document.removeEventListener("click",e)}}}),[_]),(0,pe.useEffect)((()=>{var e=b.current;if(e&&!(A.length>0)){var t=e=>{var t=(0,We.a)(e,{cells:x,activeTarget:_});"delete-cell"===(null==t?void 0:t.action)&&m(t.cell)};return e.addEventListener("keydown",t),()=>{e.removeEventListener("keydown",t)}}}),[_,x,A.length,m]);var V=(0,pe.useMemo)((()=>"".concat((0,ye.uniqueId)("diagram-"),"-")),[]),F="".concat(V,"line-arrow-"),q="".concat(F,"1"),K=(0,pe.useCallback)((e=>{C({type:"move-cell",payload:e})}),[]),G=(0,pe.useCallback)((e=>{C({type:"move-cell",payload:e}),p(e)}),[p]),J=(0,pe.useCallback)((e=>{C({type:"resize-cell",payload:e})}),[]),Q=(0,pe.useCallback)((e=>{C({type:"resize-cell",payload:e}),g(e)}),[g]),Z=(0,pe.useCallback)((e=>{var{id:t,editing:n}=e;z(n?e=>e.includes(t)?e:[...e,t]:e=>e.filter((e=>e!==t)))}),[]),$=(0,pe.useCallback)(((e,t)=>{C({type:"update-node-size",payload:{id:e,size:t}})}),[]);return ge().createElement("svg",{width:"100%",height:"100%",ref:b,className:Ee()("root",{grabbing:N,pannable:u,ready:R}),tabIndex:-1},ge().createElement("defs",null,ge().createElement(Ae.c,{id:q,type:"arrow",strokeColor:"gray"})),ge().createElement("g",{transform:"translate(".concat(S.x," ").concat(S.y,") scale(").concat(S.k,")")},ge().createElement("g",{className:"cells",ref:E},x.map((e=>ge().createElement(Se.m,{key:"".concat(e.type,":").concat("edge"===e.type?"".concat(e.source,"~").concat(e.target):e.id),cell:e,cells:x,defaultNodeBricks:i,defaultEdgeLines:l,transform:S,markerEnd:q,active:(0,Ne.c)(_,e),unrelatedCells:O,onCellMoving:K,onCellMoved:G,onCellResizing:J,onCellResized:Q,onSwitchActiveTarget:v,onCellContextMenu:w,onDecoratorTextChange:k,onDecoratorTextEditing:Z,onNodeBrickResize:$})))),ge().createElement(Re.w,{connectLineState:D,transform:S,markerEnd:q,onConnect:j})))}oe=Et,({e:[i,l,o,s,c,d,u,h,f,v,p,g,m,w,k,y,x,C,b,E,M,A,z,N,W,S,T,R,B,D,L,H,P,j,I,_,U,Y,O,X,V,F,q,K,G,J,Q,Z,$,ee,te,ne,ae,re,ie,le,a],c:[Ye,r]}=function(e,t,n,a,r,i){var l,o,s,c,d,u,h,f=Symbol.metadata||Symbol.for("Symbol.metadata"),v=Object.defineProperty,p=Object.create,g=[p(null),p(null)],m=t.length;function w(t,n,a){return function(r,i){n&&(i=r,r=e);for(var l=0;l<t.length;l++)i=t[l].apply(r,a?[i]:[]);return a?i:r}}function k(e,t,n,a){if("function"!=typeof e&&(a||void 0!==e))throw new TypeError(t+" must "+(n||"be")+" a function"+(a?"":" or undefined"));return e}function y(e,t,n,a,r,i,s,c,d,u,h){function f(e){if(!h(e))throw new TypeError("Attempted to access private element on non-instance")}var p=[].concat(t[0]),m=t[3],y=!s,x=1===r,C=3===r,b=4===r,E=2===r;function M(t,n,a){return function(r,i){return n&&(i=r,r=e),a&&a(r),A[t].call(r,i)}}if(!y){var A={},z=[],N=C?"get":b||x?"set":"value";if(d?(u||x?A={get:(0,fe.A)((function(){return m(this)}),a,"get"),set:function(e){t[4](this,e)}}:A[N]=m,u||(0,fe.A)(A[N],a,E?"":N)):u||(A=Object.getOwnPropertyDescriptor(e,a)),!u&&!d){if((o=g[+c][a])&&7!=(o^r))throw new Error("Decorating two elements with the same name ("+A[N].name+") is not supported yet");g[+c][a]=r<3?1:r}}for(var W=e,S=p.length-1;S>=0;S-=n?2:1){var T=p[S],R=n?p[S-1]:void 0,B={},D={kind:["field","accessor","method","getter","setter","class"][r],name:a,metadata:l,addInitializer:function(e,t){if(e.v)throw new Error("attempted to call addInitializer after decoration was finished");k(t,"An initializer","be",!0),i.push(t)}.bind(null,B)};if(y)o=T.call(R,W,D),B.v=1,k(o,"class decorators","return")&&(W=o);else if(D.static=c,D.private=d,o=D.access={has:d?h.bind():function(e){return a in e}},b||(o.get=d?E?function(e){return f(e),A.value}:M("get",0,f):function(e){return e[a]}),E||C||(o.set=d?M("set",0,f):function(e,t){e[a]=t}),W=T.call(R,x?{get:A.get,set:A.set}:A[N],D),B.v=1,x){if("object"==typeof W&&W)(o=k(W.get,"accessor.get"))&&(A.get=o),(o=k(W.set,"accessor.set"))&&(A.set=o),(o=k(W.init,"accessor.init"))&&z.unshift(o);else if(void 0!==W)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else k(W,(u?"field":"method")+" decorators","return")&&(u?z.unshift(W):A[N]=W)}return r<2&&s.push(w(z,c,1),w(i,c,0)),u||y||(d?x?s.splice(-1,0,M("get",c),M("set",c)):s.push(E?A[N]:k.call.bind(A[N])):v(e,a,A)),W}function x(e){return v(e,f,{configurable:!0,enumerable:!0,value:l})}return void 0!==i&&(l=i[f]),l=p(null==l?null:l),d=[],u=function(e){e&&d.push(w(e))},(h=function(t,a){for(var i=0;i<n.length;i++){var l=n[i],o=l[1],u=7&o;if((8&o)==t&&!u==a){var h=l[2],f=!!l[3],v=16&o;y(t?e:e.prototype,l,v,f?"#"+h:(0,he.A)(h),u,u<2?[]:t?c=c||[]:s=s||[],d,!!t,f,a,t&&f?function(t){return(0,ve.A)(t)===e}:r)}}})(8,0),h(0,0),h(8,1),h(0,1),u(s),u(c),o=d,m||x(e),{e:o,get c(){var n=[];return m&&[x(e=y(e,[t],0,e.name,5,n)),w(n,1)]}}}(oe,[Xe("eo-draw-canvas",{styleTexts:[Te.A]})],[[Ve({attribute:!1}),1,"cells"],[Ve({attribute:!1}),1,"defaultNodeSize"],[Ve({attribute:!1}),1,"defaultNodeBricks"],[Ve({attribute:!1}),1,"defaultEdgeLines"],[Ve({attribute:!1}),1,"activeTarget"],[Ve({type:Boolean}),1,"fadeUnrelatedCells"],[Ve({type:Boolean}),1,"zoomable"],[Ve({type:Boolean}),1,"scrollable"],[Ve({type:Boolean}),1,"pannable"],[Ve({attribute:!1}),1,"scaleRange"],[qe({type:"activeTarget.change"}),1,"activeTargetChangeEvent",e=>_e(it,e),(e,t)=>Ie(it,e,t)],[qe({type:"node.move"}),1,"nodeMoveEvent",e=>_e(ct,e),(e,t)=>Ie(ct,e,t)],[qe({type:"cell.move"}),1,"cellMoveEvent",e=>_e(dt,e),(e,t)=>Ie(dt,e,t)],[qe({type:"cell.resize"}),1,"cellResizeEvent",e=>_e(ht,e),(e,t)=>Ie(ht,e,t)],[qe({type:"node.delete"}),1,"nodeDelete",e=>_e(vt,e),(e,t)=>Ie(vt,e,t)],[qe({type:"cell.delete"}),1,"cellDelete",e=>_e(pt,e),(e,t)=>Ie(pt,e,t)],[qe({type:"cell.contextmenu"}),1,"cellContextMenu",e=>_e(mt,e),(e,t)=>Ie(mt,e,t)],[qe({type:"decorator.text.change"}),1,"decoratorTextChange",e=>_e(kt,e),(e,t)=>Ie(kt,e,t)],[qe({type:"scale.change"}),1,"scaleChange",e=>_e(xt,e),(e,t)=>Ie(xt,e,t)],[Fe(),2,"dropNode"],[Fe(),2,"dropDecorator"],[Fe(),2,"addNodes"],[Fe(),2,"addEdge"],[Fe(),2,"manuallyConnectNodes"],[Fe(),2,"updateCells"]],0,(e=>bt.has((0,ve.A)(e))),we.ReactNextElement)),r()}}]);
|
|
2
|
-
//# sourceMappingURL=eo-draw-canvas.de17725b.js.map
|