UNPKG

@keadex/mina-live

Version:

Web porting of the Keadex Mina application.

1 lines 347 kB
(()=>{"use strict";var e,t,n,a,o={212:(e,t,n)=>{n.d(t,{A:()=>u});var a=n(1062),o=n(7507),r=n(423),i=n(2015),s=n(8061),l=n(3903),_=n(1035),c=n(8732);const d={base_data:{uuid:(0,l.v4)(),alias:"",label:"",notes:""},sub_elements:[]},u=e=>{var t,n,u,g;const{t:m}=(0,s.useTranslation)(),[b,p]=(0,i.useState)(e.libraryElement?e.libraryElement:d);function h(){var e,t;return!(null!=b&&null!=(e=b.base_data)&&e.alias&&null!=b&&null!=(t=b.base_data)&&t.label&&b.deployment_node_type)}return(0,i.useEffect)((()=>{d.base_data.uuid=(0,l.v4)()}),[]),(0,c.jsxs)("div",{children:[(0,c.jsxs)("div",{className:"modal__body",children:[(0,c.jsx)(o.pd,{disabled:!0,type:"text",label:"UUID",className:"mt-2",value:null==b||null==(t=b.base_data)?void 0:t.uuid}),(0,c.jsx)(o.pd,{disabled:void 0!==e.libraryElement||!e.enableEdit,type:"text",label:`${m("common.alias")}*`,className:"mt-6",allowedChars:_.fG,info:`${m("common.allowed_pattern")}: ${_.fG}`,value:null==b||null==(n=b.base_data)?void 0:n.alias,onChange:e=>p(Object.assign({},b,{base_data:Object.assign({},null==b?void 0:b.base_data,{alias:e.target.value.replace(" ","")})}))}),(0,c.jsx)(o.pd,{disabled:!e.enableEdit,type:"text",label:`${m("common.label")}*`,className:"mt-6",allowedChars:_.AE,info:`${m("common.allowed_pattern")}: ${_.AE}`,value:null==b||null==(u=b.base_data)?void 0:u.label,onChange:e=>p(Object.assign({},b,{base_data:Object.assign({},null==b?void 0:b.base_data,{label:e.target.value})}))}),(0,c.jsx)(o.l6,{id:"type-selector",disabled:!e.enableEdit,label:`${m("common.type")}*`,className:"mt-6",value:null==b?void 0:b.deployment_node_type,options:[{label:"",value:""}].concat([...new Set(a.FK.map((e=>({label:(0,r.capitalCase)((0,r.noCase)(e)),value:e}))))]),onChange:e=>p(Object.assign({},b,{deployment_node_type:e.target.value}))}),"serializer"!==e.mode&&(0,c.jsx)(o.TM,{id:"deployment-node-note",disabled:!e.enableEdit,label:`${m("common.notes")}`,className:"mt-6",value:null==b||null==(g=b.base_data)?void 0:g.notes,onChange:e=>p(Object.assign({},b,{base_data:Object.assign({},null==b?void 0:b.base_data,{notes:e.target.value})}))}),(0,c.jsxs)("span",{className:"text-sm text-orange-500 mt-2 "+(h()?"block":"hidden"),children:["* ",m("common.info.fill_required_fields")]})]}),(0,c.jsx)("div",{className:"modal__footer",children:(0,o.CL)([{key:"button-cancel",children:(0,c.jsx)("span",{children:m("common.cancel")}),"data-te-modal-dismiss":!0},{key:"button-save",children:(0,c.jsx)("span",{children:m("common.save")}),disabled:h(),onClick:()=>{"serializer"===e.mode&&e.onElementCreated&&(e.onElementCreated({DeploymentNode:b}),e.hideModal())}}])})]})}},284:(e,t,n)=>{n.d(t,{A:()=>h});var a=n(1062),o=n(7507),r=n(423),i=n(2015),s=n(8061),l=n(7469),_=n(3903),c=n(323),d=n(1641),u=n(7721),g=n(1586),m=n(1035),b=n(8732);const p={base_data:{uuid:(0,_.v4)(),alias:"",label:"",description:"",notes:""}},h=e=>{var t,n,h,f,w;const{t:y}=(0,s.useTranslation)(),v=(0,c.j)(),[x,O]=(0,i.useState)(e.libraryElement?e.libraryElement:p),[E,S]=(0,i.useState)(!1);function j(){var e,t;return!(null!=x&&null!=(e=x.base_data)&&e.alias&&null!=x&&null!=(t=x.base_data)&&t.label&&x.person_type)}return(0,i.useEffect)((()=>{p.base_data.uuid=(0,_.v4)()}),[]),(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"modal__body",children:[(0,b.jsx)(o.pd,{disabled:!0,type:"text",label:"UUID",className:"mt-2",value:null==x||null==(t=x.base_data)?void 0:t.uuid}),(0,b.jsx)(o.pd,{disabled:void 0!==e.libraryElement||!e.enableEdit,type:"text",label:`${y("common.alias")}*`,className:"mt-6",allowedChars:m.fG,info:`${y("common.allowed_pattern")}: ${m.fG}`,value:null==x||null==(n=x.base_data)?void 0:n.alias,onChange:e=>O(Object.assign({},x,{base_data:Object.assign({},null==x?void 0:x.base_data,{alias:e.target.value.replace(" ","")})}))}),(0,b.jsx)(o.pd,{disabled:!e.enableEdit,type:"text",label:`${y("common.label")}*`,className:"mt-6",allowedChars:m.AE,info:`${y("common.allowed_pattern")}: ${m.AE}`,value:null==x||null==(h=x.base_data)?void 0:h.label,onChange:e=>O(Object.assign({},x,{base_data:Object.assign({},null==x?void 0:x.base_data,{label:e.target.value})}))}),(0,b.jsx)(o.l6,{id:"type-selector",disabled:!e.enableEdit,label:`${y("common.type")}*`,className:"mt-6",value:null==x?void 0:x.person_type,options:[{label:"",value:""}].concat(a.kY.map((e=>({label:(0,r.capitalCase)((0,r.noCase)(e)),value:e})))),onChange:e=>O(Object.assign({},x,{person_type:e.target.value}))}),(0,b.jsx)(o.TM,{disabled:!e.enableEdit,label:y("common.description"),className:"mt-6",value:null==x||null==(f=x.base_data)?void 0:f.description,onChange:e=>O(Object.assign({},x,{base_data:Object.assign({},null==x?void 0:x.base_data,{description:e.target.value})}))}),"serializer"!==e.mode&&(0,b.jsx)(o.TM,{disabled:!e.enableEdit,label:`${y("common.notes")}`,className:"mt-6",value:null==x||null==(w=x.base_data)?void 0:w.notes,onChange:e=>O(Object.assign({},x,{base_data:Object.assign({},null==x?void 0:x.base_data,{notes:e.target.value})}))}),(0,b.jsxs)("span",{className:"text-sm text-orange-500 mt-2 "+(j()?"block":"hidden"),children:["* ",y("common.info.fill_required_fields")]})]}),(0,b.jsx)("div",{className:"modal__footer",children:(0,o.CL)([{key:"button-cancel",disabled:E,children:(0,b.jsx)("span",{children:y("common.cancel")}),"data-te-modal-dismiss":!0},{key:"button-save",children:(0,b.jsx)("span",{children:y("common.save")}),disabled:j(),isLoading:E,onClick:()=>{"serializer"===e.mode?e.onElementCreated&&(e.onElementCreated({Person:(0,g.d)(x)}),e.hideModal()):e.project&&(e.libraryElement&&"createLibraryElement"!==e.mode?(S(!0),(0,u.JW)({Person:e.libraryElement},{Person:(0,g.d)(x)}).then((t=>{var n,a;if(S(!1),null!=(n=e.project)&&n.project_settings&&null!=(a=e.project)&&a.project_library){const n=Object.assign({},e.project,{project_library:t});v((0,d.JU)(n)),l.toast.info(y("common.info.done")),e.forceUpdate&&e.forceUpdate(),e.hideModal()}})).catch((e=>{var t;S(!1),l.toast.error(null!=(t=e.msg)?t:e)}))):(S(!0),(0,u.SE)({Person:(0,g.d)(x)}).then((t=>{var n,a;if(S(!1),null!=(n=e.project)&&n.project_settings&&null!=(a=e.project)&&a.project_library){const n=Object.assign({},e.project,{project_library:t});v((0,d.JU)(n)),l.toast.info(y("common.info.done")),e.forceUpdate&&e.forceUpdate(),e.hideModal()}})).catch((e=>{var t;S(!1),l.toast.error(null!=(t=e.msg)?t:e)}))))}}])})]})}},323:(e,t,n)=>{n.d(t,{G:()=>r,j:()=>o});var a=n(2544);const o=a.useDispatch,r=a.useSelector},423:e=>{e.exports=require("change-case")},452:e=>{e.exports=require("pluralize")},489:e=>{e.exports=require("fabric")},529:(e,t,n)=>{n.d(t,{A:()=>d});var a=n(1062),o=n(7507),r=n(2015),i=n.n(r),s=n(8061),l=n(7721),_=n(8732);const c=i().memo((e=>{var t;let{limit:n}=e;void 0===n&&(n=4);const{t:a}=(0,s.useTranslation)(),[i,c]=(0,r.useState)([{label:"",value:""}]),[d,u]=(0,r.useState)();function g(e,t,o){const r=null!=d?d:o;let i=e?[{label:""===t?`${a("common.unlink")}...`:t,value:t}]:[];if(r){const e=r.filter((e=>""===t||e.toLowerCase().includes(t.toLowerCase())));i=i.concat(e.map((e=>({label:e,value:e}))))}i.length>=n&&(i=i.slice(0,n)),c(i)}function m(t){d&&d.includes(t)?e.onDiagramSelected(t):e.onDiagramSelected()}return(0,r.useEffect)((()=>{(0,l.DY)().then((async t=>{var n;let a=[];for(const e in t){const n=e;a=a.concat(await Promise.all(t[n].map((async e=>await(0,l._h)(e,n)))))}u(a),g(!e.value||""===e.value,null!=(n=e.value)?n:"",a)}))}),[]),(0,_.jsx)(o.jT,{disabled:e.disabled,id:"diagram-picker",label:`${a("common.action.link_existing_diagram")}`,className:`${null!=(t=e.className)?t:""} mt-6`,value:e.value,options:i,onTyping:e=>{g(!0,e)},onChange:e=>{m(e.target.value)},onDefaultOptionSelected:e=>{m(e)}})})),d=e=>{var t;const{className:n,diagramPickerClassName:i,disabled:l,link:d,hideButtons:u,onLinkConfirmed:g,onLinkChanged:m}=e,{t:b}=(0,s.useTranslation)(),[p,h]=(0,r.useState)(y("internal",d)),[f,w]=(0,r.useState)(null!=(t=y("external",d))?t:[]);function y(e,t){if(t){const n=t.split(a.Cs).filter((t=>"internal"===e?!(0,a.i9)(t):(0,a.i9)(t)));if("internal"===e&&n.length>0)return n[0];if("external"===e)return n}}function v(){const e=[];return p&&e.push(p),f&&e.push(...f),e.length>0?e.join(a.Cs):void 0}function x(e){w(e.detail.tagify.value.map((e=>e.value)).filter((e=>(0,a.i9)(e))))}return(0,r.useEffect)((()=>{m&&m(v())}),[p,f]),(0,_.jsxs)("div",{children:[(0,_.jsx)("div",{className:`modal__body ${null!=n?n:""}`,children:(0,_.jsxs)("div",{className:"flex flex-col",children:[(0,_.jsx)(c,{disabled:l,className:`!mb-0 !mt-4 !p-0 ${null!=i?i:""}`,value:p,onDiagramSelected:function(e){h(e)}}),(0,_.jsx)(o.um,{id:"diagram-linker-external-links",disabled:l,className:"mt-6 cursor-text",label:b("common.external_links"),tags:f,settings:{callbacks:{add:x,remove:x},maxTags:5,editTags:!1}}),(0,_.jsx)("div",{className:"text-sm px-3",children:b("diagram_editor.external_links_info",{maxNumExternalLinks:5,allowedLinks:a.nY.map((e=>e.replace("://",""))).join(", "),allowedVariables:Object.keys(a.AS).map((e=>(0,a.UN)(e))).join(", ")})})]})}),!u&&(0,_.jsx)("div",{className:"modal__footer",children:(0,o.CL)([{key:"button-cancel",children:(0,_.jsx)("span",{children:b("common.cancel")}),"data-te-modal-dismiss":!0},{key:"button-create",children:(0,_.jsx)("span",{children:b("common.confirm")}),onClick:()=>{g&&g(v())}}])})]})}},765:e=>{e.exports=require("@tauri-apps/api/path")},1035:(e,t,n)=>{n.d(t,{AE:()=>a,D8:()=>o,fG:()=>r});const a=/^[A-Za-z0-9 ]+$/,o=/^[A-Za-z0-9.-]+$/,r=/^[A-Za-z0-9_]+$/},1062:(e,t,n)=>{n.d(t,{aB:()=>g,PT:()=>m,zt:()=>c,in:()=>j,eM:()=>o,pT:()=>f,Ov:()=>s,K3:()=>l,d6:()=>De,MB:()=>Le,FK:()=>d,Sb:()=>O,M9:()=>r,nY:()=>p,Cs:()=>b,qy:()=>a,AS:()=>h,br:()=>Pt,P6:()=>S,Ix:()=>E,kY:()=>i,Xq:()=>N,rv:()=>u,O3:()=>_,Go:()=>me,W:()=>xe,s_:()=>Oe,ND:()=>be,zg:()=>pe,FS:()=>he,ue:()=>ve,UN:()=>Z,UX:()=>X,Gj:()=>Q,km:()=>ee,i9:()=>W,mU:()=>je,jb:()=>Se,Qs:()=>Y,tl:()=>fe,OS:()=>we,Zv:()=>ye,QN:()=>ge});const a=["SYSTEM_CONTEXT","CONTAINER","COMPONENT","SYSTEM_LANDSCAPE","DYNAMIC","DEPLOYMENT"],o=["Person","SoftwareSystem","Container","Component"],r=[...o,"Boundary","DeploymentNode","AddElementTag","Relationship"],i=["Person","Person_Ext"],s=["Component","Component_Ext","ComponentDb","ComponentDb_Ext","ComponentQueue","ComponentQueue_Ext"],l=["Container","Container_Ext","ContainerDb","ContainerDb_Ext","ContainerQueue","ContainerQueue_Ext"],_=["System","System_Ext","SystemDb","SystemDb_Ext","SystemQueue","SystemQueue_Ext"],c=["Enterprise_Boundary","System_Boundary","Container_Boundary","Boundary"],d=["Node","Node_R","Node_L","Deployment_Node","Deployment_Node_R","Deployment_Node_L"],u=["Rel_Neighbor","Rel_Back_Neighbor","Rel_Back","Rel_Down","Rel_D","Rel_Up","Rel_U","Rel_Left","Rel_L","Rel_Right","Rel_R","Rel","BiRel_Neighbor","BiRel_Down","BiRel_D","BiRel_Up","BiRel_U","BiRel_Left","BiRel_L","BiRel_Right","BiRel_R","BiRel"],g=["AddElementTag"],m=["TopToBottom","LeftToRight"],b=";",p=["https://","http://"];let h=function(e){return e.Alias="Alias",e}({});const f={SELECTION_CREATED:"selection:created",OBJECT_ADDED:"object:added",OBJECT_MOVING:"object:moving",OBJECT_MODIFIED:"object:modified",OBJECT_REMOVED:"object:removed",MOUSE_DOWN:"mouse:down",MOUSE_OVER:"mouse:over",MOUSE_OUT:"mouse:out"},w="mouseup",y="modified",v="selected",x="deselected",O={COLOR:{BG_COLOR:"#FFFFFF"}},E={COLOR:{TEXT_COLOR_TITLE:"#000000"},FONT:{SIZE_TITLE:12,SIZE_ITEM:10},SIZES:{TOP:20,LEFT:20,WIDTH:120,HEIGHT:20,PADDING_LEFT:10}},S={SIZES:{DEFAULT_TOP:E.SIZES.TOP+E.SIZES.HEIGHT,DEFAULT_LEFT:E.SIZES.LEFT+E.SIZES.WIDTH+50,BORDER_WIDTH:1},FONT:{FAMILY:"Roboto"}},j={COLORS:{BG_COLOR_SOFTWARE_SYSTEM_PERSON:"#1168BD",BG_COLOR_CONTAINER:"#438DD5",BG_COLOR_COMPONENT:"#85BBF0",BG_COLOR_SOFTWARE_SYSTEM_PERSON_EXT:"#686868",BG_COLOR_CONTAINER_EXT:"#999999",BG_COLOR_COMPONENT_EXT:"#CCCCCC",BG_COLOR_BOUNDARY:O.COLOR.BG_COLOR,BG_COLOR_DEPLOYMENT_NODE:O.COLOR.BG_COLOR,BORDER_COLOR_SOFTWARE_SYSTEM_PERSON:"#0F5BA6",BORDER_COLOR_CONTAINER:"#3E84C7",BORDER_COLOR_COMPONENT:"#7BADDE",BORDER_COLOR_SOFTWARE_SYSTEM_PERSON_EXT:"#525252",BORDER_COLOR_CONTAINER_EXT:"#8A8A8A",BORDER_COLOR_COMPONENT_EXT:"#BDBDBD",BORDER_COLOR_BOUNDARY:"#666666",BORDER_COLOR_DEPLOYMENT_NODE:"#666666",TEXT_COLOR_SOFTWARE_SYSTEM_PERSON:"#FFFFFF",TEXT_COLOR_CONTAINER:"#FFFFFF",TEXT_COLOR_COMPONENT:"#000000",TEXT_COLOR_SOFTWARE_SYSTEM_PERSON_EXT:"#FFFFFF",TEXT_COLOR_CONTAINER_EXT:"#FFFFFF",TEXT_COLOR_COMPONENT_EXT:"#000000",TEXT_COLOR_BOUNDARY:"#333333",TEXT_COLOR_DEPLOYMENT_NODE:"#333333"},SIZES:{WIDTH:220,MIN_HEIGHT:100,PADDING_BOTTOM:15,BORDER_RADIUS:10,TOP_LABEL:20,TOP_TAGS:5,TOP_TYPE_TECHNOLOGY:2,TOP_DESCRIPTION:25,PADDING_Y_DESCRIPTION:10},FONT:{SIZE:14,SIZE_TAG:12,SIZE_TYPE_TECHNOLOGY:12,SIZE_DESCRIPTION:10}},C={SIZES:{SCALE_Y_TAIL_HEAD:.3,HEAD_BOX_WIDTH:20,RADIUS_TAIL_HEAD:j.SIZES.MIN_HEIGHT/2-S.SIZES.BORDER_WIDTH/2,SCALED_RADIUS_TAIL_HEAD:1/0,WIDTH_TAIL:1/0,WIDTH_HEAD:1/0}};C.SIZES.SCALED_RADIUS_TAIL_HEAD=C.SIZES.RADIUS_TAIL_HEAD*C.SIZES.SCALE_Y_TAIL_HEAD,C.SIZES.WIDTH_TAIL=C.SIZES.SCALED_RADIUS_TAIL_HEAD,C.SIZES.WIDTH_HEAD=C.SIZES.HEAD_BOX_WIDTH+C.SIZES.SCALED_RADIUS_TAIL_HEAD;const T={SIZES:{SCALE_X_TOP_BOTTOM:.15,TOP_BOX_HEIGHT:14,RADIUS_TOP_BOTTOM:j.SIZES.WIDTH/2-S.SIZES.BORDER_WIDTH/2,SCALED_RADIUS_TOP_BOTTOM:1/0,WIDTH_TOP:1/0,WIDTH_BOTTOM:1/0}};T.SIZES.SCALED_RADIUS_TOP_BOTTOM=T.SIZES.RADIUS_TOP_BOTTOM*T.SIZES.SCALE_X_TOP_BOTTOM,T.SIZES.WIDTH_TOP=T.SIZES.TOP_BOX_HEIGHT+T.SIZES.SCALED_RADIUS_TOP_BOTTOM,T.SIZES.WIDTH_BOTTOM=T.SIZES.SCALED_RADIUS_TOP_BOTTOM;const N={COLORS:{BG_COLOR:"rgba(0,0,0,0)",LINE_COLOR:"#828282",TEXT_COLOR:"#404040",SELECTED_COLOR:"#ff8f26"},FONT:{SIZE_LABEL:10,SIZE_TECHNOLOGY:10},SIZES:{PADDING_BACKGROUND:3,RADIUS_DOT:3,SIZE_TRIANGLE:9,STROKE_WIDTH:1,STROKE_SELECTED_INCREMENT_WIDTH:2,DEFAULT_WIDTH:100},POSITION:{DEFAULT_HEAD_ARROW_ANGLE:90}},R=40,k=45,A=10,I=10,L=150,D=80,M=10,$={SIZES:{STROKE_DASH_ARRAY:[5,5]}},P={'"dashed"':{name:'"dashed"',value:[8,5]}};var F=n(3240),B=n(423),z=n(452),U=n.n(z),K=n(7507),H=n(489);function W(e){return p.some((t=>e.startsWith(t)))}function G(e){try{return`Open Link ${new URL(e).host.replace("www.","")}`}catch(e){return"Open Link"}}function Z(e){return`<${e.toString().toUpperCase()}>`}function Y(e){return ye(e)||pe(e)||be(e)||me(e)}function X(e,t=!0,n){var a,o,r,i;let s,l,_,c;return e.forEach((e=>{if(e.visible){const a=e.getBoundingRect(!1,!0),o=t?e.getBoundingRect(!0,!1):a;let r=o.left,i=o.top;if(n&&r&&i){const e=fabric.util.transformPoint(new fabric.Point(r,i),n);r=e.x,i=e.y}(void 0===s||r<s)&&(s=r),void 0!==r&&void 0!==a.width&&(void 0===l||r+a.width>l)&&(l=r+a.width),(void 0===c||void 0!==i&&i<c)&&(c=i),void 0!==i&&void 0!==a.height&&(void 0===_||a.height+i>_)&&(_=i+a.height)}})),{left:s,right:l,top:c,bottom:_,width:(null!=(a=l)?a:0)-(null!=(o=s)?o:0),height:(null!=(r=_)?r:0)-(null!=(i=c)?i:0)}}function q(e,t){let n=-1;return e&&(n=e.getObjects().indexOf(t)),-1!==n?n:void 0}function V(e,t,n=Number.MAX_SAFE_INTEGER){let a=n;return t.forEach((t=>{const n=q(e,t);void 0!==n&&n<a&&(a=n)})),a!==Number.MAX_SAFE_INTEGER?a:void 0}function J(e,t=!0){let n=[];return e&&e.forEach((e=>{(e.visible||!e.visible&&t)&&n.push(e),e.children&&(n=n.concat(J(e.children,t)))})),n}function Q(e){let t=0,n=0;if(e){const a=e.viewportTransform;t=a?a[4]:0,n=a?a[5]:0}return{panX:t,panY:n}}function ee(e){e.getObjects().forEach((e=>e.set("dirty",!0)))}function te(e){var t;const n=e.parent,a=function(e){let t=[];const n=new Set;if(e){let a=[];e.forEach((e=>{const t=e.getVirtualGroupRoot();t&&n.add(t)})),n.forEach((e=>{var t;a=a.concat(J(null!=(t=e.children)?t:[],!0))})),t=e.filter((e=>!a.includes(e)))}return{filteredObjects:t,virtualGroupsRoots:n}}(null==(t=e.canvas)?void 0:t.getActiveObjects());let o,r;if(a.filteredObjects.length>0||a.virtualGroupsRoots.size>1){let e=a.filteredObjects;a.virtualGroupsRoots.forEach((t=>{var n;return e=e.concat(J(null!=(n=t.children)?n:[],!1))})),o=e,r="multiple"}else{var i;o=J(null!=(i=null==n?void 0:n.children)?i:[],!1),r="single"}return{objects:o,type:r}}function ne(e,t){var n,a;return(null==e?void 0:e.length)===(null==t?void 0:t.length)&&(null!=(n=null==e?void 0:e.map((e=>{var t;return null!=(t=e.name)?t:"undefined"})))?n:[]).sort().join(",")===(null!=(a=null==t?void 0:t.map((e=>{var t;return null!=(t=e.name)?t:"undefined"})))?a:[]).sort().join(",")}H.fabric.ActiveSelection.prototype._controlsVisibility={tl:!0,tr:!0,br:!0,bl:!0,ml:!1,mt:!1,mr:!1,mb:!1,mtr:!1},H.fabric.Object.prototype.isVirtualGroupParent=function(){return void 0!==this.children&&this.children.length>0},H.fabric.Object.prototype.isVirtualGroupChild=function(){return void 0!==this.parent},H.fabric.Object.prototype.isVirtualGroupRoot=function(){return this.isVirtualGroupParent()&&void 0===this.parent},H.fabric.Object.prototype.isVirtualGroupLeaf=function(){return this.isVirtualGroupChild()&&!this.isVirtualGroupParent()},H.fabric.Object.prototype.isVirtualGroupBaseShape=function(){return this.isVirtualGroupChild()&&this.parent.children[0]===this},H.fabric.Object.prototype.getVirtualGroupRoot=function(){let e=this.parent;for(;e&&e.parent;)e=e.parent;return e};class ae extends H.fabric.Point{constructor(e,t,n){super(e,t),this.customType=void 0,this.data=void 0,this.customType=n}}class oe extends H.fabric.ActiveSelection{}const re=e=>"getUpdatedSpecs"in e;class ie extends H.fabric.Group{constructor(e,t,n,a,o,r,i,s,l=!1){var _,c,d,u,g,m,b,p,h,f,y;super(o,Object.assign({data:{rawDiagramElementSpec:t,rawData:e,rawAutoLayout:a},name:null!=(_=n.alias)?_:"undefined",left:void 0!==(null==t||null==(c=t.position)?void 0:c.left)?null==t||null==(d=t.position)?void 0:d.left:null==(u=n.position)?void 0:u.left,top:void 0!==(null==t||null==(g=t.position)?void 0:g.top)?null==t||null==(m=t.position)?void 0:m.top:null==(b=n.position)?void 0:b.top,scaleX:void 0!==(null==t||null==(p=t.size)?void 0:p.scale_x)?null==t||null==(h=t.size)?void 0:h.scale_x:1,scaleY:void 0!==(null==t||null==(f=t.size)?void 0:f.scale_y)?null==t||null==(y=t.size)?void 0:y.scale_y:1},r)),this.parent=i,this.children=null!=s?s:[],this.setControlsVisibility({mb:!1,ml:!1,mr:!1,mt:!1,mtr:!1}),l||this.on(w,(e=>{var t;this.onComponentMouseUp(null==(t=e.target)?void 0:t.canvas,e,this)}))}getUpdatedSpecs(){var e,t;null==(e=this.canvas)||e.discardActiveObject();const n=null==(t=this.data)?void 0:t.rawDiagramElementSpec;if(n){var a,o,r,i,s,l,_,c,d,u,g,m,b,p,h,f;const e=(0,F.mg)(n);return e.position={left:null!=(a=this.left)?a:null==(o=n.position)?void 0:o.left,top:null!=(r=this.top)?r:null==(i=n.position)?void 0:i.top,z_index:null!=(s=q(this.canvas,this))?s:null==(l=n.position)?void 0:l.z_index,angle:null!=(_=this.angle)?_:null==(c=n.position)?void 0:c.angle},e.size={width:null!=(d=this.width)?d:null==(u=n.size)?void 0:u.width,height:null!=(g=this.height)?g:null==(m=n.size)?void 0:m.height,scale_x:null!=(b=this.scaleX)?b:null==(p=n.size)?void 0:p.scale_x,scale_y:null!=(h=this.scaleY)?h:null==(f=n.size)?void 0:f.scale_y},e}}onComponentMouseUp(e,t,n,a){if(e)switch(t.e.preventDefault(),t.button){case 3:{e.setActiveObject(n),e.renderAll();const o=e.contextTop,r=H.fabric.util.getPointer(t.e,o.canvas),i=new CustomEvent(K.UW.CONTEXT_MENU,{detail:{sourceEvent:t,pageX:r.x,pageY:r.y,menuItems:null!=a?a:se(e,t,n)}});document.dispatchEvent(i);break}}}}const se=(e,t,n,a=!0)=>{var o,r,i,s;const l=[],_=n instanceof oe?n.parent:n,c=null==_?void 0:_.data,d=null==c||null==(o=c.rawDiagramElementSpec)?void 0:o.element_type,u=null==c||null==(r=c.rawData)||null==(r=r.base_data)||null==(r=r.link)?void 0:r.split(b),g=e.isReadOnly(),m=e.codingFeaturesEnabled,p=void 0!==d&&u&&u.length>0&&void 0!==Y(d);let w=0,y=null==_?void 0:_.parent;for(;y;){var v;w++,y=null==(v=y)?void 0:v.parent}return p&&u.forEach(((t,n)=>{const a=t.replace(/ /gi,"");a.length>0&&(W(a)?l.push({isHeaderMenuItem:!1,id:`openLink${n}`,label:G(a),onClick:()=>{e.diagramListener&&e.diagramListener.onOpenExternalLinkClick(function(e,t){let n=`${e}`;for(const e in h){var a;e===h.Alias.toString()&&n.includes(Z(h.Alias))&&null!=t&&null!=(a=t.base_data)&&a.alias&&(n=n.replace(new RegExp(Z(h.Alias),"gi"),t.base_data.alias))}return n}(a,null==c?void 0:c.rawData))}}):l.push({isHeaderMenuItem:!1,id:"openDiagram",label:"Open Diagram",onClick:()=>{e.diagramListener&&e.diagramListener.onOpenDiagramClick(a)}}))})),m&&null!=c&&c.rawData&&null!=(i=c.rawDiagramElementSpec)&&i.element_type&&l.push({isHeaderMenuItem:!1,id:"selectDiagramElementCode",label:"Select code",onClick:()=>{var t;null!=(t=e.diagramListener)&&t.onSelectElementCode&&e.diagramListener.onSelectElementCode(c.rawData,c.rawDiagramElementSpec.element_type,w)}}),!g&&(p||m&&null!=c&&c.rawData&&null!=(s=c.rawDiagramElementSpec)&&s.element_type)&&l.push({id:"separatorCommon",isSepator:!0}),g||l.push({isHeaderMenuItem:!1,id:"bringToFront",label:"Bring to Front",onClick:()=>{var e;n.bringToFront(),null==(e=n.canvas)||e.fire(f.OBJECT_MODIFIED)}},{isHeaderMenuItem:!1,id:"bringForward",label:"Bring Forward",onClick:()=>{var e;n.bringForward(),null==(e=n.canvas)||e.fire(f.OBJECT_MODIFIED)}},{isHeaderMenuItem:!1,id:"sentToBack",label:"Send to Back",onClick:()=>le(n)},{isHeaderMenuItem:!1,id:"sendBackwards",label:"Send Backwards",onClick:()=>_e(n)}),a?[{isHeaderMenuItem:!0,id:"baseComponentContextMenu",label:"",hidden:!0,alwaysOpen:!0,subMenuItems:l}]:l},le=e=>{var t;e.parent||(e.sendToBack(),null==(t=e.canvas)||t.fire(f.OBJECT_MODIFIED))},_e=e=>{if(e instanceof oe){var t,n,a;const r=e.parent,i=V(e.canvas,null!=(t=null==r?void 0:r.children)?t:[]),s=V(e.canvas,null!=(n=null==r||null==(a=r.parent)?void 0:a.children)?n:[]);var o;void 0===s||void 0===i||i-1>s?(e.sendBackwards(),null==(o=e.canvas)||o.fire(f.OBJECT_MODIFIED)):console.debug(`cannot send backwards ${i} ${s}`)}else{var r,i;const t=q(e.canvas,e),n=V(e.canvas,null!=(r=null==(i=e.parent)?void 0:i.children)?r:[]);var s;void 0===n||void 0===t||t-1>n?(e.sendBackwards(),null==(s=e.canvas)||s.fire(f.OBJECT_MODIFIED)):console.debug(`cannot send backwards ${t} ${n}`)}},ce=(e,t,n,a,o)=>de(e,t,n,a,o.elements_specs)||ue(e,t,n,a),de=(e,t,n,a,o)=>{for(let r=0;r<o.length;r++){const i=o[r],s=i.alias===e,l=(0,F.$r)(i.element_type,a);if(s&&l)return i;if(i.inner_specs){const o=i.inner_specs,r=de(e,t,n,a,o);if(r)return r}}},ue=(e,t,n,a)=>({alias:e,from:t,to:n,element_type:a}),ge=e=>{const t=Array();return e&&e.getObjects().forEach((e=>{if(e instanceof ie){const n=e.getUpdatedSpecs();n&&t.push(n)}})),t},me=e=>{if("Boundary"in e)return e.Boundary},be=e=>{if("Component"in e)return e.Component},pe=e=>{if("Container"in e)return e.Container},he=e=>{if("DeploymentNode"in e)return e.DeploymentNode},fe=e=>{if("Person"in e)return e.Person},we=e=>{if("Relationship"in e)return e.Relationship},ye=e=>{if("SoftwareSystem"in e)return e.SoftwareSystem},ve=e=>(0,B.capitalCase)((0,B.noCase)(e)),xe=e=>(0,B.capitalCase)((0,B.noCase)(e)),Oe=e=>U()((0,B.kebabCase)((0,B.noCase)(e))),Ee=(e,t)=>{var n,a,o;return e&&null!=(n=t[e])&&n.position?{left:null==(a=t[e].position)?void 0:a.x,top:null==(o=t[e].position)?void 0:o.y}:{left:S.SIZES.DEFAULT_LEFT,top:S.SIZES.DEFAULT_TOP}},Se=e=>e.includes(" -> "),je=e=>"legend"===e;function Ce(e){return btoa(e)}const Te="_margin_hack";function Ne(e,t,n){return 2===n.length?n.map(((n,a)=>{const o=0===a?(0,F.qI)(e.x):(0,F.qI)(e.y),r=0===a?n:t-n;return(0,F.cr)(r,Re)+o})):n}const Re=96,ke=(0,F.wF)(S.SIZES.DEFAULT_LEFT),Ae=(0,F.wF)(S.SIZES.DEFAULT_TOP),Ie=4.5,Le=6.5,De=0;function Me(e){const t={x:j.SIZES.WIDTH,y:j.SIZES.MIN_HEIGHT+2*k},n={x:j.SIZES.WIDTH,y:j.SIZES.MIN_HEIGHT},a={x:j.SIZES.WIDTH+C.SIZES.WIDTH_TAIL+C.SIZES.WIDTH_HEAD,y:j.SIZES.MIN_HEIGHT},o={x:j.SIZES.WIDTH,y:j.SIZES.MIN_HEIGHT+T.SIZES.WIDTH_TOP+T.SIZES.WIDTH_BOTTOM};if(fe(e))return t;if(ye(e)){const t=ye(e);return"SystemDb"===t.system_type||"SystemDb_Ext"===t.system_type?o:"SystemQueue"===t.system_type||"SystemQueue_Ext"===t.system_type?a:n}if(pe(e)){const t=pe(e);return"ContainerDb"===t.container_type||"ContainerDb_Ext"===t.container_type?o:"ContainerQueue"===t.container_type||"ContainerQueue_Ext"===t.container_type?a:n}if(be(e)){const t=be(e);return"ComponentDb"===t.component_type||"ComponentDb_Ext"===t.component_type?o:"ComponentQueue"===t.component_type||"ComponentQueue_Ext"===t.component_type?a:n}return{x:100,y:100}}function $e(e,t,n,a,o){return`\n subgraph "${r=e,`${r}${Te}`}" {\n cluster=true\n margin="${o}"\n fontsize="0pt"\n label=""\n subgraph "${e}" {\n cluster=true\n margin="${a}"\n label=" "\n labelloc="b"\n fontsize="17pt"\n "${e}" [peripheries=0, height=0, width=0, label=""] // invisible node that is used as a workaround to let the connection between nodes and subgraphs\n ${Pe(t,n,a,o)}\n }\n }\n `;var r}function Pe(e,t,n,a){let o="";for(const s of e){const e=Me(s);let l;if(fe(s))l=fe(s).base_data.alias;else if(ye(s))l=ye(s).base_data.alias;else if(pe(s))l=pe(s).base_data.alias;else if(be(s))l=be(s).base_data.alias;else if(me(s)){const e=me(s);l=e.base_data.alias,l&&(t.add(l),o=o.concat($e(l,e.sub_elements,t,n,a))),l=void 0}else if(he(s)){const e=he(s);l=e.base_data.alias,l&&(t.add(l),o=o.concat($e(l,e.sub_elements,t,n,a))),l=void 0}else if(we(s)){const e=we(s);var r,i;e.from&&e.to&&(o=o.concat(`\n"${e.from}" -> "${e.to}" [name="${e.base_data.alias}", label="${(0,F.l)([null!=(r=e.base_data.label)?r:"",null!=(i=e.technology)?i:""])}", ltail="${e.from}", lhead="${e.to}", fontsize="${N.FONT.SIZE_LABEL}", keadex_fromissubgraph=${t.has(e.from)}, keadex_toissubgraph=${t.has(e.to)}]`)),l=void 0}l&&(o=o.concat(`\n"${l}" [width=${(0,F.wF)(e.x,Re)}, height=${(0,F.wF)(e.y,Re)}, peripheries=2]`))}return o}const Fe=require("@hpcc-js/wasm-graphviz");var Be=n(7469);function ze(e){if(e)return P[e]}const Ue="legend",Ke=(e,t,n,a,o,r)=>{var i,s,l;const _=[],c=n?1:0,d=new H.fabric.Rect({fill:t,stroke:n,strokeWidth:c,strokeDashArray:a,left:E.SIZES.LEFT,top:E.SIZES.TOP+E.SIZES.HEIGHT*r,width:E.SIZES.WIDTH-c,height:E.SIZES.HEIGHT-c});_.push(d);const u=new H.fabric.Text(e,{fill:o,fontFamily:S.FONT.FAMILY,fontSize:E.FONT.SIZE_ITEM,fontWeight:"normal",textAlign:"left",originX:"left",originY:"top",left:E.SIZES.LEFT+E.SIZES.PADDING_LEFT});return u.top=(null!=(i=d.top)?i:0)+(null!=(s=d.height)?s:0)/2-(null!=(l=u.height)?l:0)/2,_.push(u),_},He=(e,t)=>{var n,a,o,r,i,s,l,_,c,d,u,g,m,b,p,h,f,w,y,v,x,O,C,T,N,R,k,A,I,L,D,M,$,P;let F=[];const B=new H.fabric.Text("LEGEND",{fill:E.COLOR.TEXT_COLOR_TITLE,fontFamily:S.FONT.FAMILY,fontSize:E.FONT.SIZE_TITLE,fontWeight:"bold",textAlign:"left",originX:"left",originY:"top",left:E.SIZES.LEFT,top:E.SIZES.TOP});F.push(B),F=F.concat(Ke("Person",null!=(n=null==t||null==(a=t.diagramsThemeSettings)?void 0:a.bg_color_person)?n:j.COLORS.BG_COLOR_SOFTWARE_SYSTEM_PERSON,void 0,void 0,null!=(o=null==t||null==(r=t.diagramsThemeSettings)?void 0:r.text_color_person)?o:j.COLORS.TEXT_COLOR_SOFTWARE_SYSTEM_PERSON,1)),F=F.concat(Ke("Person External",null!=(i=null==t||null==(s=t.diagramsThemeSettings)?void 0:s.bg_color_person_ext)?i:j.COLORS.BG_COLOR_SOFTWARE_SYSTEM_PERSON_EXT,void 0,void 0,null!=(l=null==t||null==(_=t.diagramsThemeSettings)?void 0:_.text_color_person_ext)?l:j.COLORS.TEXT_COLOR_SOFTWARE_SYSTEM_PERSON_EXT,2)),F=F.concat(Ke("System",null!=(c=null==t||null==(d=t.diagramsThemeSettings)?void 0:d.bg_color_software_system)?c:j.COLORS.BG_COLOR_SOFTWARE_SYSTEM_PERSON,void 0,void 0,null!=(u=null==t||null==(g=t.diagramsThemeSettings)?void 0:g.text_color_software_system)?u:j.COLORS.TEXT_COLOR_SOFTWARE_SYSTEM_PERSON,3)),F=F.concat(Ke("System External",null!=(m=null==t||null==(b=t.diagramsThemeSettings)?void 0:b.bg_color_software_system_ext)?m:j.COLORS.BG_COLOR_SOFTWARE_SYSTEM_PERSON_EXT,void 0,void 0,null!=(p=null==t||null==(h=t.diagramsThemeSettings)?void 0:h.text_color_software_system_ext)?p:j.COLORS.TEXT_COLOR_SOFTWARE_SYSTEM_PERSON_EXT,4)),F=F.concat(Ke("Container",null!=(f=null==t||null==(w=t.diagramsThemeSettings)?void 0:w.bg_color_container)?f:j.COLORS.BG_COLOR_CONTAINER,void 0,void 0,null!=(y=null==t||null==(v=t.diagramsThemeSettings)?void 0:v.text_color_container)?y:j.COLORS.TEXT_COLOR_CONTAINER,5)),F=F.concat(Ke("Container External",null!=(x=null==t||null==(O=t.diagramsThemeSettings)?void 0:O.bg_color_container_ext)?x:j.COLORS.BG_COLOR_CONTAINER_EXT,void 0,void 0,null!=(C=null==t||null==(T=t.diagramsThemeSettings)?void 0:T.text_color_container_ext)?C:j.COLORS.TEXT_COLOR_CONTAINER_EXT,6)),F=F.concat(Ke("Component",null!=(N=null==t||null==(R=t.diagramsThemeSettings)?void 0:R.bg_color_component)?N:j.COLORS.BG_COLOR_COMPONENT,void 0,void 0,null!=(k=null==t||null==(A=t.diagramsThemeSettings)?void 0:A.text_color_component)?k:j.COLORS.TEXT_COLOR_COMPONENT,7)),F=F.concat(Ke("Component External",null!=(I=null==t||null==(L=t.diagramsThemeSettings)?void 0:L.bg_color_component_ext)?I:j.COLORS.BG_COLOR_COMPONENT_EXT,void 0,void 0,null!=(D=null==t||null==(M=t.diagramsThemeSettings)?void 0:M.text_color_component_ext)?D:j.COLORS.TEXT_COLOR_COMPONENT_EXT,8));let z=8;var U,K,W,G;null!=t&&null!=($=t.diagramsThemeSettings)&&$.bg_color_boundary&&(z++,F=F.concat(Ke("Boundary",t.diagramsThemeSettings.bg_color_boundary,void 0,void 0,null!=(U=null==t||null==(K=t.diagramsThemeSettings)?void 0:K.text_color_boundary)?U:j.COLORS.TEXT_COLOR_BOUNDARY,z))),null!=t&&null!=(P=t.diagramsThemeSettings)&&P.bg_color_deployment_node&&(z++,F=F.concat(Ke("Deployment Node",t.diagramsThemeSettings.bg_color_deployment_node,void 0,void 0,null!=(W=null==t||null==(G=t.diagramsThemeSettings)?void 0:G.text_color_deployment_node)?W:j.COLORS.TEXT_COLOR_DEPLOYMENT_NODE,z))),null!=t&&t.tags&&Object.entries(t.tags).forEach((([e,t],n)=>{var a,o,r,i,s;z++,F=F.concat(Ke(null!=(a=null!=(o=t.legend_text)?o:t.tag)?a:"<no tag>",t.bg_color,null!=(r=t.border_color)?r:t.bg_color?void 0:"black",null==(i=ze(t.border_style))?void 0:i.value,null!=(s=t.font_color)?s:"black",z))}));const Z={alias:Ue,position:{left:E.SIZES.LEFT,top:E.SIZES.TOP}};return new ie(void 0,e,Z,{},F)},We="The diagram contains too many elements and relationships, which may cause the auto layout to break. Try adjusting auto layout settings like ranksep or subgraph margins.",Ge="Graphviz not initialized. Cannot generate auto layout.",Ze="triangulation failed";var Ye=n(9177);function Xe(e){return null==e?void 0:e.split("+")}function qe(e,t){if(e&&t){const n=[];for(const a of e){const e=t[Ce(a)];e&&n.push(e)}if(n.length>0)return Object.assign({},...n)}}let Ve=function(e){return e.Rectangle="RECTANGLE",e.Footer="FOOTER",e}({});class Je extends ie{getUpdatedSpecs(){const e=super.getUpdatedSpecs();var t;if(e&&(null==(t=this.canvas)||t.discardActiveObject(),delete e.position,delete e.size,e.inner_specs=[],e.shapes=[],this.children))for(const t of this.children)if(re(t)){const n=t.getUpdatedSpecs();n&&e.inner_specs.push(n)}else if(t.name!==Ve.Footer){var n,a;e.shapes.push({position:{left:t.left,top:t.top,z_index:q(t.canvas,t)},size:{scale_x:null!=(n=t.scaleX)?n:1,scale_y:null!=(a=t.scaleY)?a:1},shape_type:t.name})}else e.shapes.push({position:{z_index:q(t.canvas,t)},shape_type:t.name});return e}}const Qe=e=>{var t,n,a,o,r,i,s,l,_,c,d;let u,g;const m=(null==(t=e.data)||null==(t=t.rawData)||null==(t=t.base_data)?void 0:t.alias)&&e.data.rawAutoLayout&&void 0!==e.data.rawAutoLayout[e.data.rawData.base_data.alias],b=[];null==(n=e.children)||n.forEach((e=>{e.name===Ve.Footer?g=e:e.name===Ve.Rectangle?u=e:b.push(e)}));const p=X(J(b),!1),h=null!=(a=null==(o=u)?void 0:o.scaleX)?a:1,f=null!=(r=null==(i=u)?void 0:i.scaleY)?r:1,w=null!=(s=null==(l=u)||null==(l=l.canvas)?void 0:l.getZoom())?s:1,y=Q(e.canvas),v=M*h,x=M*f,O=M*h,E=M*f;var S;u&&void 0!==p.left&&void 0!==p.right&&void 0!==p.top&&void 0!==p.bottom&&void 0!==p.width&&void 0!==p.height&&void 0!==g?(p.left=(p.left-y.panX)/w,p.top=(p.top-y.panY)/w,p.right=(p.right-y.panX)/w,p.bottom=(p.bottom-y.panY)/w,p.width=p.right-p.left,p.height=p.bottom-p.top,m||(u.width=p.width/h+v/h*2,u.height=p.height/f+x/f*3+(null!=(S=g.height)?S:0),u.left=p.left-v,u.top=p.top-x)):u&&void 0!==g&&(u.width=L,u.height=D+g.getScaledHeight()),null==(_=e.canvas)||_.renderAll(),u&&g&&void 0!==u.left&&void 0!==u.top&&void 0!==u.height&&void 0!==g.height&&(g.top=u.top+u.getScaledHeight()-g.getScaledHeight()-E,g.left=u.left+O),null==(c=u)||c.setCoords(),null==(d=g)||d.setCoords()},et=e=>{e.on(v,(t=>{nt(t,e)}))},tt=e=>{e.on(v,(t=>{nt(t,e)}))},nt=(e,t)=>{var n;if(e.e&&null!=(n=t.parent)&&n.children){var a;const e=te(t);if(!ne(null==(a=t.canvas)?void 0:a.getActiveObjects(),e.objects)){var o,r,i;null==(o=t.canvas)||o.discardActiveObject();const n=t.parent;let a;"multiple"===e.type?a=new H.fabric.ActiveSelection(e.objects,{canvas:t.canvas}):(a=new oe(e.objects,{canvas:t.canvas}),a.parent=n,a.on(w,(e=>{ot(a.canvas,e,a,n)})),a.on(y,(e=>{var a;null==(a=t.canvas)||a.discardActiveObject(),n.fire(y)}))),null==(r=t.canvas)||r.setActiveObject(a),null==(i=t.canvas)||i.requestRenderAll()}}},at=(e,t)=>{e&&t&&Qe(e)},ot=(e,t,n,a)=>{n instanceof H.fabric.ActiveSelection&&e&&a.onComponentMouseUp(e,t,n,((e,t,n)=>n instanceof H.fabric.ActiveSelection?[{isHeaderMenuItem:!0,id:"baseElasticContainerContextMenu",label:"",hidden:!0,alwaysOpen:!0,subMenuItems:[...se(e,t,n,!1)]}]:[])(e,t,n))},rt=(e,t,n,a,o,r)=>{var i,s;const l=qe(Xe(null==(i=e.base_data)?void 0:i.tags),null==r?void 0:r.tags),_={alias:null==(s=e.base_data)?void 0:s.alias},c=new Je(e,t,_,a,[],void 0,void 0,void 0,!0);c.visible=!1;const d=((e,t,n,a,o)=>{var r,i,s,l,_,c,d,u,g,m,b,p;const h=null==e||null==(r=e.shapes)?void 0:r.filter((e=>e.shape_type===Ve.Rectangle))[0],f=new H.fabric.Rect({fill:null!=(i=null==o?void 0:o.bg_color)?i:n.bgColor,stroke:null!=(s=null==o?void 0:o.border_color)?s:n.borderColor,strokeWidth:S.SIZES.BORDER_WIDTH,strokeDashArray:n.strokeDashArray,left:null!=(l=null==h||null==(_=h.position)?void 0:_.left)?l:Ee(e.alias,t).left,top:null!=(c=null==h||null==(d=h.position)?void 0:d.top)?c:Ee(e.alias,t).top,name:Ve.Rectangle,rx:j.SIZES.BORDER_RADIUS,ry:j.SIZES.BORDER_RADIUS,scaleX:null!=(u=null==h||null==(g=h.size)?void 0:g.scale_x)?u:1,scaleY:null!=(m=null==h||null==(b=h.size)?void 0:b.scale_y)?m:1}),w=((e,t)=>{var n,a,o;if(e&&null!=(n=t[e])&&n.size)return{width:null==(a=t[e].size)?void 0:a.x,height:null==(o=t[e].size)?void 0:o.y}})(e.alias,t);return w&&(f.width=w.width,f.height=w.height),f.data={rawDiagramElementSpec:h},f.parent=a,et(f),null==(p=a.children)||p.push(f),f})(t,a,o,c,l);((e,t,n,a,o,r,i)=>{var s,l,_,c,d,u,g,m,b,p,h;const f=null==e||null==(s=e.shapes)?void 0:s.filter((e=>e.shape_type===Ve.Footer))[0],w=[],y={fontFamily:S.FONT.FAMILY,fill:null!=(l=null==i?void 0:i.font_color)?l:n.textColor};let v;var x;let O;var E,j;null!=(_=a.base_data)&&_.link&&(v=new H.fabric.Path(Ye.faLink.icon[4].toString(),{fill:null!=(x=null==i?void 0:i.font_color)?x:n.textColor,opacity:1,originX:"left",originY:"top",top:1,left:0}),v.scaleToWidth(10),w.push(v)),null!=(c=a.base_data)&&c.label&&(O=new H.fabric.Text(a.base_data.label,Object.assign({},y,{fontSize:A,fontWeight:"bold"})),O.top=0,O.left=null!=(E=v)&&E.getScaledWidth()?(null==(j=v)?void 0:j.getScaledWidth())+3:0,w.push(O));let C=null!=(d=null!=(u=a.boundary_type)?u:a.deployment_node_type)?d:"";C=null!=(g=null!=(m=a.boundary_custom_type)?m:a.deploymeny_node_custom_type)?g:C,C+=a.technology?`: ${a.technology}`:"",C=`[${C}]`;const T=new H.fabric.Text(C,Object.assign({},y,{fontSize:I,left:0,top:null!=(b=null==(p=O)?void 0:p.height)?b:0}));w.push(T);const N=new H.fabric.Group(w,{name:Ve.Footer,selectable:!1,evented:!1,left:o.left,top:o.top,scaleX:o.scaleX,scaleY:o.scaleY});N.data={rawDiagramElementSpec:f},N.parent=r,tt(N),null==(h=r.children)||h.push(N)})(t,0,o,e,d,c,l);let u=[];return e.sub_elements&&(u=Ft(void 0,e.sub_elements,n,a,Object.assign({},r,{skipAddToCanvas:!0,skipLegendRendering:!0})),u.forEach((e=>{var t;e.parent=c,null==(t=c.children)||t.push(e)}))),Qe(c),(e=>{var t;null==(t=e.children)||t.forEach((t=>{t.on(y,(t=>{at(e,t)})),t.children&&t.children.forEach((t=>{t.on(y,(t=>{at(e,t)}))}))}))})(c),c},it=(e,t,n,a,o)=>{if(t.base_data&&t.base_data.alias&&t.base_data.label&&t.boundary_type&&(n.auto_layout_enabled&&a[t.base_data.alias]||!n.auto_layout_enabled)){var r;const i=((e,t,n,a,o,r)=>{var i,s,l,_,c,d;const u={bgColor:null!=(i=null==r||null==(s=r.diagramsThemeSettings)?void 0:s.bg_color_boundary)?i:j.COLORS.BG_COLOR_BOUNDARY,borderColor:null!=(l=null==r||null==(_=r.diagramsThemeSettings)?void 0:_.border_color_boundary)?l:j.COLORS.BORDER_COLOR_BOUNDARY,textColor:null!=(c=null==r||null==(d=r.diagramsThemeSettings)?void 0:d.text_color_boundary)?c:j.COLORS.TEXT_COLOR_BOUNDARY,strokeDashArray:$.SIZES.STROKE_DASH_ARRAY},g=Object.assign({},u,o);return rt(e,t,n,a,g,r)})(t,ce(t.base_data.alias,void 0,void 0,{Boundary:t.boundary_type},n),n,a,void 0,o);return o&&o.skipAddToCanvas||!i||null==e||e.add(i,...J(null!=(r=i.children)?r:[])),i}},st=(e,t,n,a,o)=>{var r,i,s,l,_,c;const d=qe(Xe(null==(r=e.base_data)?void 0:r.tags),null==o?void 0:o.tags),u=[],g=((e,t,n)=>{var a,o,r,i,s,l,_;const c=new H.fabric.Rect({fill:null!=(a=null==n?void 0:n.bg_color)?a:t.bgColor,stroke:null!=(o=null==n?void 0:n.border_color)?o:t.borderColor,strokeWidth:S.SIZES.BORDER_WIDTH,left:S.SIZES.DEFAULT_LEFT,top:S.SIZES.DEFAULT_TOP,width:null!=(r=t.widthBox)?r:j.SIZES.WIDTH,height:j.SIZES.MIN_HEIGHT,name:null!=(i=null==(s=e.base_data)?void 0:s.alias)?i:"undefined",rx:null!=(l=t.borderRadius)?l:j.SIZES.BORDER_RADIUS,ry:null!=(_=t.borderRadius)?_:j.SIZES.BORDER_RADIUS});return c.on("scaling",(e=>{var t;null!=(t=e.target)&&t.width&&e.target.height&&e.target.scaleX&&e.target.scaleY&&e.target.set({width:e.target.width*e.target.scaleX,height:e.target.height*e.target.scaleY,scaleX:1,scaleY:1})})),c})(e,a,d);let m;u.push(g),null!=(i=e.base_data)&&i.tags&&(m=((e,t,n,a)=>{var o,r,i,s,l;return new H.fabric.Text(`«${null==(o=t.base_data)?void 0:o.tags}»`,{fill:null!=(r=null==a?void 0:a.font_color)?r:n.textColor,fontFamily:S.FONT.FAMILY,fontSize:j.FONT.SIZE_TAG,fontStyle:"italic",fontWeight:"normal",textAlign:"center",originX:"center",originY:"top",left:(null!=(i=e.left)?i:S.SIZES.DEFAULT_LEFT)+(null!=(s=e.width)?s:0)/2,top:(null!=(l=e.top)?l:S.SIZES.DEFAULT_TOP)+j.SIZES.TOP_TAGS})})(g,e,a,d),u.push(m));const b=((e,t,n,a,o)=>{var r,i,s,l,_,c;return new H.fabric.Text(null!=(r=(0,F.x4)(null==(i=n.base_data)?void 0:i.label))?r:"undefined",{fill:null!=(s=null==o?void 0:o.font_color)?s:a.textColor,fontFamily:S.FONT.FAMILY,fontSize:j.FONT.SIZE,fontWeight:"bold",textAlign:"center",originX:"center",originY:"top",left:(null!=(l=e.left)?l:S.SIZES.DEFAULT_LEFT)+(null!=(_=e.width)?_:0)/2,top:(null!=(c=null==t?void 0:t.top)?c:S.SIZES.DEFAULT_TOP)+j.SIZES.TOP_LABEL})})(g,m,e,a,d);u.push(b);const p=((e,t,n,a,o)=>{var r,i,s,l,_,c,d,u,g,m,b,p;const h=`[${null!=(r=null!=(i=null!=(s=null!=(l=null!=(_=null!=(c=null!=(d=n.boundary_custom_type)?d:n.boundary_type)?c:n.component_type)?_:n.container_type)?l:n.deployment_node_type)?s:n.deploymeny_node_custom_type)?i:n.person_type)?r:n.system_type}${n.technology?`: ${n.technology}`:""}]`;return new H.fabric.Text(h,{fill:null!=(u=null==o?void 0:o.font_color)?u:a.textColor,fontFamily:S.FONT.FAMILY,fontSize:j.FONT.SIZE_TYPE_TECHNOLOGY,fontWeight:"normal",textAlign:"center",originX:"center",originY:"top",left:(null!=(g=e.left)?g:S.SIZES.DEFAULT_LEFT)+(null!=(m=e.width)?m:0)/2,top:(null!=(b=null==t?void 0:t.top)?b:S.SIZES.DEFAULT_TOP)+j.SIZES.TOP_TYPE_TECHNOLOGY+(null!=(p=null==t?void 0:t.height)?p:0)})})(g,b,e,a,d);let h;u.push(p),null!=(s=e.base_data)&&s.description&&(h=((e,t,n,a,o)=>{var r,i,s,l,_,c,d;const u=null!=(r=a.widthDescription)?r:e.width;return new H.fabric.Textbox(null!=(i=(0,F.x4)(null==(s=n.base_data)?void 0:s.description))?i:"",{fill:null!=(l=null==o?void 0:o.font_color)?l:a.textColor,fontFamily:S.FONT.FAMILY,fontSize:j.FONT.SIZE_DESCRIPTION,fontWeight:400,opacity:.7,splitByGrapheme:!0,width:u?u-j.SIZES.PADDING_Y_DESCRIPTION:0,textAlign:"center",originX:"center",originY:"top",left:(null!=(_=e.left)?_:S.SIZES.DEFAULT_LEFT)+(null!=(c=e.width)?c:0)/2,top:(null!=(d=null==t?void 0:t.top)?d:0)+j.SIZES.TOP_DESCRIPTION})})(g,p,e,a,d),u.push(h)),null!=(l=e.base_data)&&l.link&&u.push(((e,t,n)=>{var a,o,r;const i=new H.fabric.Path(Ye.faLink.icon[4].toString(),{fill:null!=(a=null==n?void 0:n.font_color)?a:t.textColor,opacity:1,originX:"left",originY:"top",left:(null!=(o=e.left)?o:0)+5,top:(null!=(r=e.top)?r:0)+5});return i.scaleToWidth(10),i})(g,a,d)),((e,t)=>{var n,a,o;let r=(null!=(n=null==t?void 0:t.height)?n:0)+((null!=(a=null==t?void 0:t.top)?a:0)-(null!=(o=null==e?void 0:e.top)?o:0))+j.SIZES.PADDING_BOTTOM;r<j.SIZES.MIN_HEIGHT&&(r=j.SIZES.MIN_HEIGHT),e.height=r})(g,h);const f={alias:null==(_=e.base_data)?void 0:_.alias,position:Ee(null==(c=e.base_data)?void 0:c.alias,n)};return new ie(e,t,f,n,u)},lt=(e,t,n,a,o)=>{var r,i,s,l;const _=qe(Xe(null==(r=e.base_data)?void 0:r.tags),null==o?void 0:o.tags),c=[],d=((e,t,n)=>{const a=Object.assign({},t,{borderRadius:0});return st(e,{},{},a,n)})(e,a,o);c.push(d);const u=(null!=(i=d.width)?i:0)/2-S.SIZES.BORDER_WIDTH/2;c.push(((e,t,n,a)=>{var o,r,i,s,l,_,c,d,u,g,m,b,p,h,f,w,y,v,x,O,E,j;const C=[],N=S.SIZES.BORDER_WIDTH,R=T.SIZES.TOP_BOX_HEIGHT,k=new H.fabric.Rect({fill:null!=(o=null==a?void 0:a.bg_color)?o:n.bgColor,strokeWidth:0,left:(null!=(r=e.left)?r:0)+S.SIZES.BORDER_WIDTH,top:(null!=(i=e.top)?i:0)-R+N,width:(null!=(s=e.width)?s:0)-2*S.SIZES.BORDER_WIDTH,height:R});return C.push(k),C.push(new H.fabric.Line([null!=(l=e.left)?l:0,null!=(_=e.top)?_:0,null!=(c=e.left)?c:0,null!=(d=k.top)?d:0],{strokeWidth:S.SIZES.BORDER_WIDTH,stroke:null!=(u=null==a?void 0:a.border_color)?u:n.borderColor,originX:"left",originY:"top"})),C.push(new H.fabric.Line([(null!=(g=e.left)?g:0)+(null!=(m=e.width)?m:0)-S.SIZES.BORDER_WIDTH,null!=(b=e.top)?b:0,(null!=(p=e.left)?p:0)+(null!=(h=e.width)?h:0)-S.SIZES.BORDER_WIDTH,null!=(f=k.top)?f:0],{strokeWidth:S.SIZES.BORDER_WIDTH,stroke:null!=(w=null==a?void 0:a.border_color)?w:n.borderColor,originX:"left",originY:"top"})),C.push(new H.fabric.Circle({fill:null!=(y=null==a?void 0:a.bg_color)?y:n.bgColor,stroke:null!=(v=null==a?void 0:a.border_color)?v:n.borderColor,strokeWidth:S.SIZES.BORDER_WIDTH,radius:t,top:(null!=(x=k.top)?x:0)-(null!=(O=e.width)?O:0)*T.SIZES.SCALE_X_TOP_BOTTOM/2,left:(null!=(E=k.left)?E:0)+ +(null!=(j=e.width)?j:0)-N,angle:90,startAngle:0,endAngle:360,scaleX:T.SIZES.SCALE_X_TOP_BOTTOM})),new H.fabric.Group(C)})(d,u,a,_)),c.push(((e,t,n,a)=>{var o,r,i,s,l,_;return new H.fabric.Circle({fill:null!=(o=null==a?void 0:a.bg_color)?o:n.bgColor,stroke:null!=(r=null==a?void 0:a.border_color)?r:n.borderColor,strokeWidth:S.SIZES.BORDER_WIDTH,radius:t,top:(null!=(i=e.top)?i:0)+(null!=(s=e.height)?s:0)-2*t*T.SIZES.SCALE_X_TOP_BOTTOM/2-S.SIZES.BORDER_WIDTH,left:(null!=(l=e.left)?l:0)+(null!=(_=e.width)?_:0),angle:90,startAngle:270,endAngle:90,scaleX:T.SIZES.SCALE_X_TOP_BOTTOM})})(d,u,a,_));const g={alias:null==(s=e.base_data)?void 0:s.alias,position:Ee(null==(l=e.base_data)?void 0:l.alias,n)};return new ie(e,t,g,n,c)},_t=(e,t,n,a,o)=>{var r,i,s,l;const _=qe(Xe(null==(r=e.base_data)?void 0:r.tags),null==o?void 0:o.tags),c=[],d=ct(e,a,o);c.push(d);const u=(null!=(i=d.height)?i:0)/2-S.SIZES.BORDER_WIDTH/2;c.push(dt(d,u,a,_)),c.push(ut(d,u,a,_));const g={alias:null==(s=e.base_data)?void 0:s.alias,position:Ee(null==(l=e.base_data)?void 0:l.alias,n)};return new ie(e,t,g,n,c)},ct=(e,t,n)=>{const a=Object.assign({},t,{borderRadius:0});return st(e,{},{},a,n)},dt=(e,t,n,a)=>{var o,r,i;return new H.fabric.Circle({fill:null!=(o=null==a?void 0:a.bg_color)?o:n.bgColor,stroke:null!=(r=null==a?void 0:a.border_color)?r:n.borderColor,strokeWidth:S.SIZES.BORDER_WIDTH,radius:t,top:e.top,left:(null!=(i=e.left)?i:0)+2*t*C.SIZES.SCALE_Y_TAIL_HEAD/2+2*S.SIZES.BORDER_WIDTH,angle:90,startAngle:0,endAngle:180,scaleY:C.SIZES.SCALE_Y_TAIL_HEAD})},ut=(e,t,n,a)=>{var o,r,i,s,l,_,c,d,u,g,m,b,p,h,f,w,y,v,x,O,E,j,T,N;const R=[],k=S.SIZES.BORDER_WIDTH,A=new H.fabric.Rect({fill:null!=(o=null==a?void 0:a.bg_color)?o:n.bgColor,strokeWidth:0,left:(null!=(r=e.left)?r:0)+(null!=(i=e.width)?i:0)-k,top:(null!=(s=e.top)?s:0)+S.SIZES.BORDER_WIDTH,width:C.SIZES.HEAD_BOX_WIDTH,height:(null!=(l=e.height)?l:0)-2*S.SIZES.BORDER_WIDTH});return R.push(A),R.push(new H.fabric.Line([null!=(_=A.left)?_:0,null!=(c=e.top)?c:0,(null!=(d=A.left)?d:0)+(null!=(u=A.width)?u:0),null!=(g=e.top)?g:0],{strokeWidth:S.SIZES.BORDER_WIDTH,stroke:null!=(m=null==a?void 0:a.border_color)?m:n.borderColor,originX:"left",originY:"top"})),R.push(new H.fabric.Line([null!=(b=A.left)?b:0,(null!=(p=A.top)?p:0)+(null!=(h=A.height)?h:0),(null!=(f=A.left)?f:0)+(null!=(w=A.width)?w:0),(null!=(y=A.top)?y:0)+(null!=(v=A.height)?v:0)],{strokeWidth:S.SIZES.BORDER_WIDTH,stroke:null!=(x=null==a?void 0:a.border_color)?x:n.borderColor,originX:"left",originY:"top"})),R.push(new H.fabric.Circle({fill:null!=(O=null==a?void 0:a.bg_color)?O:n.bgColor,stroke:null!=(E=null==a?void 0:a.border_color)?E:n.borderColor,strokeWidth:S.SIZES.BORDER_WIDTH,radius:t,top:e.top,left:(null!=(j=A.left)?j:0)+(null!=(T=A.width)?T:0)+(null!=(N=e.height)?N:0)*C.SIZES.SCALE_Y_TAIL_HEAD/2-k,angle:90,startAngle:0,endAngle:360,scaleY:C.SIZES.SCALE_Y_TAIL_HEAD})),new H.fabric.Group(R)},gt=_t,mt=(e,t,n,a,o)=>{if(t.base_data&&t.base_data.alias&&t.component_type&&(n.auto_layout_enabled&&a[t.base_data.alias]||!n.auto_layout_enabled)){let r;switch(t.component_type){case"Component":case"ComponentDb":case"ComponentQueue":r=((e,t,n,a,o)=>{var r,i,s,l,_,c;const d={bgColor:null!=(r=null==o||null==(i=o.diagramsThemeSettings)?void 0:i.bg_color_component)?r:j.COLORS.BG_COLOR_COMPONENT,borderColor:null!=(s=null==o||null==(l=o.diagramsThemeSettings)?void 0:l.border_color_component)?s:j.COLORS.BORDER_COLOR_COMPONENT,textColor:null!=(_=null==o||null==(c=o.diagramsThemeSettings)?void 0:c.text_color_component)?_:j.COLORS.TEXT_COLOR_COMPONENT},u=Object.assign({},d,a);if(e.component_type)switch(e.component_type){case"Component":return st(e,t,n,u,o);case"ComponentDb":return lt(e,t,n,u,o);case"ComponentQueue":return gt(e,t,n,u,o)}})(t,ce(t.base_data.alias,void 0,void 0,{Component:t.component_type},n),a,void 0,o);break;case"Component_Ext":case"ComponentDb_Ext":case"ComponentQueue_Ext":r=((e,t,n,a,o)=>{var r,i,s,l,_,c;const d={bgColor:null!=(r=null==o||null==(i=o.diagramsThemeSettings)?void 0:i.bg_color_component_ext)?r:j.COLORS.BG_COLOR_COMPONENT_EXT,borderColor:null!=(s=null==o||null==(l=o.diagramsThemeSettings)?void 0:l.border_color_component_ext)?s:j.COLORS.BORDER_COLOR_COMPONENT_EXT,textColor:null!=(_=null==o||null==(c=o.diagramsThemeSettings)?void 0:c.text_color_component_ext)?_:j.COLORS.TEXT_COLOR_COMPONENT_EXT},u=Object.assign({},d,a);if(e.component_type)switch(e.component_type){case"Component_Ext":return st(e,t,n,u,o);case"ComponentDb_Ext":return lt(e,t,n,u,o);case"ComponentQueue_Ext":return gt(e,t,n,u,o)}})(t,ce(t.base_data.alias,void 0,void 0,{Component:t.component_type},n),a,void 0,o)}return o&&o.skipAddToCanvas||!r||null==e||e.add(r),r}},bt=(e,t,n,a,o)=>{if(t.base_data&&t.base_data.alias&&t.container_type&&(n.auto_layout_enabled&&a[t.base_data.alias]||!n.auto_layout_enabled)){let r;switch(t.container_type){case"Container":case"ContainerDb":case"ContainerQueue":r=((e,t,n,a,o)=>{var r,i,s,l,_,c;const d={bgColor:null!=(r=null==o||null==(i=o.diagramsThemeSettings)?void 0:i.bg_color_container)?r:j.COLORS.BG_COLOR_CONTAINER,borderColor:null!=(s=null==o||null==(l=o.diagramsThemeSettings)?void 0:l.border_color_container)?s:j.COLORS.BORDER_COLOR_CONTAINER,textColor:null!=(_=null==o||null==(c=o.diagramsThemeSettings)?void 0:c.text_color_container)?_:j.COLORS.TEXT_COLOR_CONTAINER},u=Object.assign({},d,a);if(e.container_type)switch(e.container_type){case"Container":return st(e,t,n,u,o);case"ContainerDb":return lt(e,t,n,u,o);case"ContainerQueue":return _t(e,t,n,u,o)}})(t,ce(t.base_data.alias,void 0,void 0,{Container:t.container_type},n),a,void 0,o);break;case"Container_Ext":case"ContainerDb_Ext":case"ContainerQueue_Ext":r=((e,t,n,a,o)=>{var r,i,s,l,_,c;const d={bgColor:null!=(r=null==o||null==(i=o.diagramsThemeSettings)?void 0:i.bg_color_container_ext)?r:j.COLORS.BG_COLOR_CONTAINER_EXT,borderColor:null!=(s=null==o||null==(l=o.diagramsThemeSettings)?void 0:l.border_color_container_ext)?s:j.COLORS.BORDER_COLOR_CONTAINER_EXT,textColor:null!=(_=null==o||null==(c=o.diagramsThemeSettings)?void 0:c.text_color_container_ext)?_:j.COLORS.TEXT_COLOR_CONTAINER_EXT},u=Object.assign({},d,a);if(e.container_type)switch(e.container_type){case"Container_Ext":return st(e,t,n,u,o);case"ContainerDb_Ext":return lt(e,t,n,u,o);case"ContainerQueue_Ext":return gt(e,t,n,u,o)}})(t,ce(t.base_data.alias,void 0,void 0,{Container:t.container_type},n),a,void 0,o)}return o&&o.skipAddToCanvas||!r||null==e||e.add(r),r}},pt=(e,t,n,a,o)=>{if(t.base_data&&t.base_data.alias&&t.base_data.label&&t.deployment_node_type&&(n.auto_layout_enabled&&a[t.base_data.alias]||!n.auto_layout_enabled)){var r;const i=((e,t,n,a,o,r)=>{var i,s,l,_,c,d;const u={bgColor:null!=(i=null==r||null==(s=r.diagramsThemeSettings)?void 0:s.bg_color_deployment_node)?i:j.COLORS.BG_COLOR_DEPLOYMENT_NODE,borderColor:null!=(l=null==r||null==(_=r.diagramsThemeSettings)?void 0:_.border_color_deployment_node)?l:j.COLORS.BORDER_COLOR_DEPLOYMENT_NODE,textColor:null!=(c=null==r||null==(d=r.diagramsThemeSettings)?void 0:d.text_color_deployment_node)?c:j.COLORS.TEXT_COLOR_DEPLOYMENT_NODE},g=Object.assign({},u,o);return rt(e,t,n,a,g,r)})(t,ce(t.base_data.alias,void 0,void 0,{DeploymentNode:t.deployment_node_type},n),n,a,void 0,o);return o&&o.skipAddToCanvas||!i||null==e||e.add(i,...J(null!=(r=i.children)?r:[])),i}},ht=(e,t,n,a,o)=>{var r,i;const s=[],l=((e,t,n)=>{const a=Object.assign({},t,{borderRadius:R});return st(e,{},{},a,n)})(e,a,o);s.push(l);const _=((e,t)=>{var n,a,o,r,i;const s=new H.fabric.Circle({radius:k,top:t.top,left:t.left,fill:e.bgColor,stroke:e.borderColor,strokeWidth:S.SIZES.BORDER_WIDTH});return s.left=(null!=(n=s.left)?n:0)+(null!=(a=t.getScaledWidth())?a:0)/2-(null!=(o=s.getScaledWidth())?o:0)/2,s.top=(null!=(r=s.top)?r:0)-(null!=(i=s.getScaledWidth())?i:0)+5,s})(a,l);s.push(_);const c={alias:null==(r=e.bas