orgchart 6.0.0 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/.github/workflows/publish.yml +11 -8
  2. package/README.md +47 -35
  3. package/README.zh-cn.md +73 -30
  4. package/README.zh-tw.md +73 -30
  5. package/demo/edit-chart.html +0 -4
  6. package/demo/edit-hybrid-chart.html +3 -4
  7. package/demo/index.html +5 -1
  8. package/demo/ondemand-loading-data.html +137 -80
  9. package/demo/options-compact-drag.html +82 -0
  10. package/demo/options-export-navigation.html +76 -0
  11. package/demo/options-horizontal-template.html +80 -0
  12. package/demo/options-hybrid-navigation.html +71 -0
  13. package/dist/css/orgchart.css +12 -1
  14. package/dist/css/orgchart.min.css +1 -1
  15. package/dist/js/orgchart.js +896 -523
  16. package/dist/js/orgchart.min.js +1 -1
  17. package/dist/js/orgchart.min.js.map +1 -1
  18. package/gulpfile.js +5 -1
  19. package/package.json +2 -1
  20. package/src/css/orgchart.css +12 -1
  21. package/src/js/orgchart.js +896 -523
  22. package/test/compatibility/README.md +123 -0
  23. package/test/compatibility/browser.tests.js +1279 -0
  24. package/test/compatibility/options.tests.js +628 -0
  25. package/test/cypress/e2e/demo-interactions.cy.js +3 -3
  26. package/test/cypress/e2e/demo-rendering.cy.js +62 -1
  27. package/test/cypress/e2e/drag-drop-hybrid-chart.cy.js +2 -1
  28. package/test/cypress/e2e/local-datasource.cy.js +16 -16
  29. package/test/cypress/e2e/ondemand-loading-data.cy.js +34 -10
  30. package/test/cypress/e2e/toggle-sibs-resp.cy.js +4 -4
  31. package/test/cypress/e2e/vertical-vevel.cy.js +5 -5
  32. package/test/integration/init-tests.js +30 -43
  33. package/test/integration/tests.js +21 -13
  34. package/test/unit/lifecycle-builders-export.tests.js +179 -118
  35. package/test/unit/tests.js +33 -34
@@ -1,2 +1,2 @@
1
- "use strict";!function(e){"object"==typeof module&&"object"==typeof module.exports?module.exports=e(window,document):window.OrgChart=e(window,document)}(function(e,t,l){const n=new WeakMap,d=()=>"undefined"!=typeof globalThis&&globalThis.window?globalThis.window:e,m=()=>{var e=d();return e&&e.document?e.document:"undefined"!=typeof globalThis&&globalThis.document?globalThis.document:t},s=e=>e&&"number"==typeof e.nodeType,o=e=>e&&"number"==typeof e.length&&"string"!=typeof e&&!s(e),r=e=>"string"==typeof e&&e.trim().startsWith("<")&&e.trim().endsWith(">"),a=e=>Array.from(new Set(e.filter(Boolean)));function h(e,t){return C(e,t||m())[0]||null}function c(e,t){return C(e,t||m())}function u(){return Object.assign.apply(Object,[{}].concat(Array.from(arguments)))}function p(t,n){if(Array.isArray(t)||o(t))for(let e=0;e<t.length&&!1!==n.call(t[e],e,t[e]);e+=1);else Object.keys(t||{}).some(e=>!1===n.call(t[e],e,t[e]))}function f(e){e=(e=e||"*")&&e.replace(/:not\("([^"]+)"\)/g,":not($1)");const n={selector:e,first:!1,last:!1,gt:null,hidden:!1,visible:!1};return n.selector=n.selector.replace(/:first\b/g,function(){return n.first=!0,""}),n.selector=n.selector.replace(/:last\b/g,function(){return n.last=!0,""}),n.selector=n.selector.replace(/:gt\((\d+)\)/g,function(e,t){return n.gt=Number(t),""}),n.selector=n.selector.replace(/:hidden\b/g,function(){return n.hidden=!0,""}),n.selector=n.selector.replace(/:visible\b/g,function(){return n.visible=!0,""}),n.selector=n.selector.trim()||"*",n}function g(e){return!(!e||1!==e.nodeType)&&"none"!==(e=d().getComputedStyle(e)).display&&"hidden"!==e.visibility}function v(e,t){const n=f(t);let i=e.filter(e=>{var t=n.selector;if(!t||"*"===t)return!0;if(!e||1!==e.nodeType)return!1;try{return e.matches(t)}catch(e){return!1}});return n.hidden&&(i=i.filter(e=>!g(e))),n.visible&&(i=i.filter(e=>g(e))),null!==n.gt&&(i=i.filter((e,t)=>t>n.gt)),n.first&&(i=i.slice(0,1)),i=n.last?i.slice(-1):i}function E(e){var t=m().createElement("template");return t.innerHTML=e.trim(),Array.from(t.content.childNodes)}function i(e){return String(e).replace(/-([a-z])/g,(e,t)=>t.toUpperCase())}function L(e){return n.has(e)||n.set(e,{}),n.get(e)}function y(e,t,n){L(e)[i(t)]=n}function b(e,t){e=L(e),t=i(t);return Object.prototype.hasOwnProperty.call(e,t)?e[t]:l}function C(t,n){var e,i;return null===t||t===l?[]:Array.isArray(t)?a(t.flatMap(e=>C(e,n))):s(t)?[t]:o(t)?Array.from(t).flatMap(e=>C(e,n)):"string"==typeof t?r(t)?E(t):(e=m(),i=(i=C(n||e,e)).length?i.flatMap(e=>1!==e.nodeType&&9!==e.nodeType?[]:v(Array.from(e.querySelectorAll(f(t).selector)),t)):v(Array.from(e.querySelectorAll(f(t).selector)),t),a(i)):[]}function A(e,t){e="string"==typeof e?e:e.type,e=new(d().CustomEvent)(e,{bubbles:!0,cancelable:!0,detail:t});return(e.originalEvent=e).data=t,e.delegateTarget=null,e}function S(e,t,n){return Math.min(Math.max(e,t),n)}function N(e){e=(e||"").replace(/\s+/g,"").toLowerCase();return!e||"transparent"===e||"rgba(0,0,0,0)"===e||"hsla(0,0%,0%,0)"===e}function x(e){var t=e?e.querySelector(".title"):null,n=t?d().getComputedStyle(t).backgroundColor:"",t=[e,t,e?e.querySelector(".content"):null].flatMap(function(e){e=e?d().getComputedStyle(e):null;return e?[e.backgroundColor,e.borderTopColor,e.borderRightColor,e.borderBottomColor,e.borderLeftColor]:[]});return e=!N(n)&&n||t.find(function(e){return!N(e)})||"rgba(217, 83, 79, 0.8)",!(n=/^rgba?\(([^)]+)\)$/i.exec((e||"").trim()))||(n=n[1].split(",").slice(0,3).map(function(e){return S(Math.round(.68*parseFloat(e.trim())),0,255)})).some(function(e){return Number.isNaN(e)})?e:"rgb("+n.join(", ")+")"}function w(e){let t,n=1,i=0,s=0;return e&&(e=d().getComputedStyle(e).transform||e.style.transform||"none")&&"none"!==e&&(0===e.indexOf("matrix3d(")?(t=e.slice(9,-1).split(",").map(function(e){return d().parseFloat(e.trim())}),n=Math.abs(t[0])||1,i=t[12]||0,s=t[13]||0):0===e.indexOf("matrix(")?(t=e.slice(7,-1).split(",").map(function(e){return d().parseFloat(e.trim())}),n=Math.abs(t[0])||1,i=t[4]||0,s=t[5]||0):0===e.indexOf("scale3d(")?(t=e.slice(8,-1).split(",").map(function(e){return d().parseFloat(e.trim())}),n=Math.abs(t[0])||1):0===e.indexOf("scale(")&&(t=e.slice(6,-1).split(",").map(function(e){return d().parseFloat(e.trim())}),n=Math.abs(t[0])||1)),{scale:n,translateX:i,translateY:s}}function H(e,t){if(!(this instanceof H))return new H(e,t);"[object Object]"!==Object.prototype.toString.call(e)||t?(this.chartContainer=h(e),this.opts=t||{}):(this.opts=e,this.chartContainer=h(e.chartContainer||e.container)),this.chart=null,this.defaultOptions={icons:{theme:"oci",parentNode:"oci-menu",expandToUp:"oci-chevron-up",collapseToDown:"oci-chevron-down",collapseToLeft:"oci-chevron-left",expandToRight:"oci-chevron-right",backToCompact:"oci-corner-top-left",backToLoose:"oci-corner-bottom-right",collapsed:"oci-plus-square",expanded:"oci-minus-square",spinner:"oci-spinner"},nodeTitle:"name",nodeId:"id",toggleSiblingsResp:!1,visibleLevel:999,chartClass:"",exportButton:!1,exportButtonName:"Export",exportFilename:"OrgChart",exportFileextension:"png",exportScale:2,draggable:!1,direction:"t2b",pan:!1,minimap:!1,zoom:!1,zoominLimit:7,zoomoutLimit:.5},this.chartContainer&&this.init()}return"object"==typeof module&&"object"==typeof module.exports&&Object.defineProperty(H,"__testing__",{value:{getState:b,setState:y}}),H.prototype={init:function(e){this.options=u({},this.defaultOptions,this.opts,e);var t,e=this.chartContainer;let n,i;this.detachMinimap(),this.chart&&this.chart.remove();var s,o=this.options.data,r=((n=m().createElement("div")).className="orgchart"+(""!==this.options.chartClass?" "+this.options.chartClass:"")+("t2b"!==this.options.direction?" "+this.options.direction:""),y(n,"options",this.options),(this.chart=n).addEventListener("click",function(e){e=h((e.originalEvent||e).target);e&&"function"==typeof e.closest&&e.closest(".node")||Array.from(n.querySelectorAll(".node.focused")).forEach(function(e){e.classList.remove("focused")})}),void 0!==d().MutationObserver&&this.triggerInitEvent(),(r=o)&&(1===r.nodeType||9===r.nodeType||r===d())&&"UL"===o.tagName);return(s=m().createElement("ul")).className="nodes",n.appendChild(s),i=!r&&Array.isArray(o)?s:((t=m().createElement("li")).className="hierarchy",s.appendChild(t),t),r?this.buildHierarchy(i,this.buildJsonDS(o.firstElementChild)):o.relationship?this.buildHierarchy(i,o):this.buildHierarchy(i,Array.isArray(o)?o:this.attachRel(o,"00")),e&&e.appendChild(n),this.options.exportButton&&!m().querySelector(".oc-export-btn")&&this.attachExportButton(),this.options.pan&&this.bindPan(),this.options.zoom&&this.bindZoom(),this.options.minimap&&this.attachMinimap(),this},handleCompactNodes:function(){var e=this.chart;e&&Array.from(e.querySelectorAll(".node.compact")).forEach(function(e){let t=0,n=e.parentElement;for(;n;)n.classList&&n.classList.contains("compact")&&(t+=1),n=n.parentElement;e.classList.add(t%2==0?"even":"odd")})},triggerInitEvent:function(){const i=this;const e=new(d().MutationObserver)(function(n){e.disconnect();e:for(let t=0;t<n.length;t++)for(let e=0;e<n[t].addedNodes.length;e++)if(n[t].addedNodes[e].classList&&n[t].addedNodes[e].classList.contains("orgchart")){if(i.handleCompactNodes(),!i.chart)break e;i.options.initCompleted&&"function"==typeof i.options.initCompleted&&i.options.initCompleted(i.chart),n[t].addedNodes[e].dispatchEvent(A("init.orgchart"));break e}});e.observe(this.chartContainer,{childList:!0})},triggerShowEvent:function(e,t){e&&"function"==typeof e.dispatchEvent&&e.dispatchEvent(A("show-"+t+".orgchart"))},triggerHideEvent:function(e,t){e&&"function"==typeof e.dispatchEvent&&e.dispatchEvent(A("hide-"+t+".orgchart"))},attachExportButton:function(){const t=this;var e,n=this.chartContainer;n&&n.parentElement&&((e=m().createElement("button")).className="oc-export-btn",e.textContent=this.options.exportButtonName,e.addEventListener("click",function(e){e.preventDefault(),t.export()}),n.insertAdjacentElement("afterend",e))},setOptions:function(e,t){return"string"==typeof e&&("pan"===e&&(t?this.bindPan():this.unbindPan()),"zoom"===e&&(t?this.bindZoom():this.unbindZoom()),"minimap"===e)&&(this.options=u({},this.options||{},{minimap:t}),this.chart&&y(this.chart,"options",this.options),t?this.attachMinimap():this.detachMinimap()),"object"==typeof e&&(e.data?this.init(e):(void 0!==e.pan&&(e.pan?this.bindPan():this.unbindPan()),void 0!==e.zoom&&(e.zoom?this.bindZoom():this.unbindZoom()),void 0!==e.minimap&&(this.options=u({},this.options||{},{minimap:e.minimap}),this.chart&&y(this.chart,"options",this.options),e.minimap?this.attachMinimap():this.detachMinimap()))),this},attachMinimap:function(){const t=this;var e,n,i,s,o,r=this.chartContainer,a=this.chart;let l;r&&a&&(this.detachMinimap(),d().getComputedStyle(r).position&&"static"!==d().getComputedStyle(r).position||(y(r,"minimapOriginalPosition",r.style.position||""),y(r,"minimapManagedPosition",!0),r.style.position="relative"),(e=m().createElement("div")).className="orgchart-minimap",(n=m().createElement("div")).className="orgchart-minimap-stage",(i=m().createElement("div")).className="orgchart-minimap-content",(s=m().createElement("div")).className="orgchart-minimap-viewport",n.appendChild(i),n.appendChild(s),e.appendChild(n),r.appendChild(e),r=function(e){t.minimapStartHandler(e)},e.addEventListener("wheel",o=function(e){t.minimapWheelHandler(e)}),s.addEventListener("mousedown",r),void 0!==d().MutationObserver&&(l=new(d().MutationObserver)(function(){t.updateMinimap(!0)})).observe(a,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["class"]}),y(a,"minimapElement",e),y(a,"minimapStageElement",n),y(a,"minimapContentElement",i),y(a,"minimapViewportElement",s),y(a,"minimapWheelBoundHandler",o),y(a,"minimapPointerDownBoundHandler",r),y(a,"minimapMutationObserver",l||null),this.updateMinimap(!0))},detachMinimap:function(){var e,t,n,i,s,o,r,a=this.chartContainer;const l=this.chart;l&&(e=b(l,"minimapElement"),t=b(l,"minimapViewportElement"),n=b(l,"minimapWheelBoundHandler"),i=b(l,"minimapPointerDownBoundHandler"),s=b(l,"minimapMoveBoundHandler"),o=b(l,"minimapEndBoundHandler"),r=b(l,"minimapMutationObserver"),e&&n&&e.removeEventListener("wheel",n),t&&i&&t.removeEventListener("mousedown",i),s&&m().removeEventListener("mousemove",s),o&&m().removeEventListener("mouseup",o),r&&r.disconnect(),e&&e.parentElement&&e.remove(),["minimapElement","minimapStageElement","minimapContentElement","minimapViewportElement","minimapWheelBoundHandler","minimapPointerDownBoundHandler","minimapMoveBoundHandler","minimapEndBoundHandler","minimapMutationObserver","minimapDragState","minimapScale","minimapOffsetX","minimapOffsetY","minimapContentWidth","minimapContentHeight"].forEach(function(e){y(l,e,null)})),a&&b(a,"minimapManagedPosition")&&(a.style.position=b(a,"minimapOriginalPosition")||"",y(a,"minimapManagedPosition",null),y(a,"minimapOriginalPosition",null))},minimapWheelHandler:function(e){var t=this.chartContainer;this.chart&&t&&("function"==typeof e.preventDefault&&e.preventDefault(),this.setChartScale(this.chart,1+(0<e.deltaY?-.2:.2),{x:t.getBoundingClientRect().left+t.clientWidth/2,y:t.getBoundingClientRect().top+t.clientHeight/2}))},minimapStartHandler:function(e){var t=this.chart,n=t?b(t,"minimapViewportElement"):null,i=this.minimapMoveHandler.bind(this),s=this.minimapEndHandler.bind(this),o=n?n.getBoundingClientRect():null;t&&n&&o&&("function"==typeof e.preventDefault&&e.preventDefault(),y(t,"minimapDragState",{startClientX:e.clientX,startClientY:e.clientY,startLeft:o.left,startTop:o.top,viewportWidth:o.width,viewportHeight:o.height}),y(t,"minimapMoveBoundHandler",i),y(t,"minimapEndBoundHandler",s),m().addEventListener("mousemove",i),m().addEventListener("mouseup",s))},minimapMoveHandler:function(e){var t=this.chart,n=t?b(t,"minimapDragState"):null,i=t?b(t,"minimapStageElement"):null;t&&n&&i&&(t=i.getBoundingClientRect(),this.moveChartFromMinimap(n.startLeft+(e.clientX-n.startClientX)-t.left,n.startTop+(e.clientY-n.startClientY)-t.top,n.viewportWidth,n.viewportHeight))},minimapEndHandler:function(){var e=this.chart,t=e?b(e,"minimapMoveBoundHandler"):null,n=e?b(e,"minimapEndBoundHandler"):null;t&&(m().removeEventListener("mousemove",t),y(e,"minimapMoveBoundHandler",null)),n&&(m().removeEventListener("mouseup",n),y(e,"minimapEndBoundHandler",null)),e&&y(e,"minimapDragState",null)},moveChartFromMinimap:function(e,t,n,i){var s=this.chart,o=this.chartContainer,r=s?b(s,"minimapStageElement"):null,a=s?b(s,"minimapScale"):null,l=s?b(s,"minimapOffsetX"):0,c=s?b(s,"minimapOffsetY"):0,d=s?b(s,"minimapContentWidth"):0,h=s?b(s,"minimapContentHeight"):0,u=w(s),p=s?s.getBoundingClientRect():null,f=o?o.getBoundingClientRect():null;s&&o&&r&&a&&p&&f&&(o=i/a,r=S((e-l)/a,0,Math.max(d-n/a,0)),i=S((t-c)/a,0,Math.max(h-o,0)),e=p.left-u.translateX,l=p.top-u.translateY,s.style.transformOrigin="0 0",s.style.transform="matrix("+u.scale+", 0, 0, "+u.scale+", "+(f.left-e-r*u.scale)+", "+(f.top-l-i*u.scale)+")",this.updateMinimap())},updateMinimap:function(e){var t,n,i,s=this.chart,o=this.chartContainer,r=s?b(s,"minimapStageElement"):null,a=s?b(s,"minimapContentElement"):null,l=s?b(s,"minimapViewportElement"):null,c=w(s),d=s?s.getBoundingClientRect():null,h=o?o.getBoundingClientRect():null;if(this.options&&this.options.minimap&&s&&o&&r&&a&&l&&d&&h){if(o=0!==c.scale&&d.width?d.width/c.scale:s.scrollWidth||s.offsetWidth||1,t=0!==c.scale&&d.height?d.height/c.scale:s.scrollHeight||s.offsetHeight||1,n=r.clientWidth||180,r=r.clientHeight||120,i=(n-o*(n=Math.min(n/Math.max(o,1),r/Math.max(t,1))))/2,r=(r-t*n)/2,a.style.width=o+"px",a.style.height=t+"px",a.style.transformOrigin="0 0",a.style.transform="translate("+i+"px, "+r+"px) scale("+n+")",e||!a.firstElementChild){var e=s;var u=d;var p=c.scale||1;const f=m().createDocumentFragment();Array.from(e.querySelectorAll(".node")).filter(g).forEach(function(e){var t=e.getBoundingClientRect(),n=m().createElement("div"),i=(t.top-u.top)/p;n.className="orgchart-minimap-node",n.style.left=Math.max((t.left-u.left)/p,0)+"px",n.style.top=Math.max(i+(t.height/p-18)/2,0)+"px",n.style.width=Math.max(t.width/p,6)+"px",n.style.height="18px",n.style.backgroundColor=x(e),f.appendChild(n)}),a.innerHTML="",a.appendChild(f)}e=S((h.left-d.left)/c.scale,0,Math.max(o,0)),a=S((h.top-d.top)/c.scale,0,Math.max(t,0)),d=Math.min(o,h.width/c.scale),h=Math.min(t,h.height/c.scale),l.style.width=Math.max(d*n,12)+"px",l.style.height=Math.max(h*n,12)+"px",l.style.transform="translate("+(i+e*n)+"px, "+(r+a*n)+"px)",y(s,"minimapScale",n),y(s,"minimapOffsetX",i),y(s,"minimapOffsetY",r),y(s,"minimapContentWidth",o),y(s,"minimapContentHeight",t)}},panStartHandler:function(n){const r=this;var i=n.originalEvent||n;const a=h(n.chart||i.currentTarget);var l,n=h(i.target);if(a)if(n&&"function"==typeof n.closest&&n.closest(".node")||i.touches&&1<i.touches.length)y(a,"panning",!1);else{a.style.cursor="move",y(a,"panning",!0);let e=0,t=0;"none"!==(n=a.style.transform||d().getComputedStyle(a).transform||"none")&&(l=n.split(","),t=-1===n.indexOf("3d")?(e=parseInt(l[4]),parseInt(l[5])):(e=parseInt(l[12]),parseInt(l[13])));let s=0,o=0;if(i.targetTouches){if(1===i.targetTouches.length)s=i.targetTouches[0].pageX-e,o=i.targetTouches[0].pageY-t;else if(1<i.targetTouches.length)return}else s=("number"==typeof i.pageX?i.pageX:i.clientX)-e,o=("number"==typeof i.pageY?i.pageY:i.clientY)-t;(n=b(a,"panMoveHandler"))&&(a.removeEventListener("mousemove",n),a.removeEventListener("touchmove",n)),l=function(n){var i;if(b(a,"panning")){let e=0,t=0;if(n.targetTouches){if(1===n.targetTouches.length)e=n.targetTouches[0].pageX-s,t=n.targetTouches[0].pageY-o;else if(1<n.targetTouches.length)return}else e=("number"==typeof n.pageX?n.pageX:n.clientX)-s,t=("number"==typeof n.pageY?n.pageY:n.clientY)-o;"none"===(n=a.style.transform||d().getComputedStyle(a).transform||"none")?-1===n.indexOf("3d")?a.style.transform="matrix(1, 0, 0, 1, "+e+", "+t+")":a.style.transform="matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, "+e+", "+t+", 0, 1)":(i=n.split(","),-1===n.indexOf("3d")?(i[4]=" "+e,i[5]=" "+t+")"):(i[12]=" "+e,i[13]=" "+t),a.style.transform=i.join(","),r.updateMinimap())}},y(a,"panMoveHandler",l),a.addEventListener("mousemove",l),a.addEventListener("touchmove",l)}},panEndHandler:function(e){var t=e.originalEvent||e,e=h(e.chart||t.chart||t.currentTarget);e&&b(e,"panning")&&(t=b(e,"panMoveHandler"),y(e,"panning",!1),e.style.cursor="default",t)&&(e.removeEventListener("mousemove",t),e.removeEventListener("touchmove",t),y(e,"panMoveHandler",null))},bindPan:function(){const t=this;var e,n=this.chartContainer;const i=this.chart;n&&i&&(this.unbindPan(),n.style.overflow="hidden",n=function(e){t.panStartHandler({chart:i,originalEvent:e})},e=function(){t.panEndHandler({chart:i})},y(i,"panStartBoundHandler",n),y(i,"panEndBoundHandler",e),i.addEventListener("mousedown",n),i.addEventListener("touchstart",n),m().addEventListener("mouseup",e),m().addEventListener("touchend",e))},unbindPan:function(){var e,t=this.chartContainer,n=this.chart;t&&n&&(t.style.overflow="auto",t=b(n,"panStartBoundHandler"),e=b(n,"panEndBoundHandler"),t&&(n.removeEventListener("mousedown",t),n.removeEventListener("touchstart",t),y(n,"panStartBoundHandler",null)),e)&&(m().removeEventListener("mouseup",e),m().removeEventListener("touchend",e),y(n,"panEndBoundHandler",null))},zoomWheelHandler:function(e){var t=e.originalEvent||e,e=e.orgChart,n=e?e.chartContainer:null,i=n&&"function"==typeof n.getBoundingClientRect?n.getBoundingClientRect():null,s=t&&"number"==typeof t.clientX&&"number"==typeof t.clientY;let o=null;if(e&&e.chart&&n){if(i&&s){if(t.clientX<i.left||t.clientX>i.right||t.clientY<i.top||t.clientY>i.bottom)return;o={x:t.clientX,y:t.clientY}}t&&"function"==typeof t.preventDefault&&t.preventDefault();n=1+(0<t.deltaY?-.2:.2);e.setChartScale(e.chart,n,o)}},zoomStartHandler:function(e){var t,n,i=e.originalEvent||e;i.touches&&2===i.touches.length&&(t=(e=e.orgChart).chart)&&(y(t,"pinching",!0),n=e.getPinchDist(i),e=e.getPinchCenter(i),y(t,"pinchDistStart",n),y(t,"pinchCenterStart",e),y(t,"pinchCenterEnd",e))},zoomingHandler:function(e){var t,n=e.originalEvent||e,e=e.orgChart,i=e.chart;i&&b(i,"pinching")&&(t=e.getPinchDist(n),e=e.getPinchCenter(n),y(i,"pinchDistEnd",t),y(i,"pinchCenterEnd",e))},zoomEndHandler:function(e){var t,e=e.orgChart,n=e.chart;n&&b(n,"pinching")&&(y(n,"pinching",!1),t=b(n,"pinchDistEnd")-b(n,"pinchDistStart"),n=b(n,"pinchCenterEnd")||b(n,"pinchCenterStart")||null,0<t?e.setChartScale(e.chart,1.2,n):t<0&&e.setChartScale(e.chart,.8,n))},bindZoom:function(){const t=this;var e,n,i,s,o=this.chartContainer,r=this.chart;o&&r&&(this.unbindZoom(),n=function(e){t.zoomStartHandler({orgChart:t,originalEvent:e})},i=function(e){t.zoomingHandler({orgChart:t,originalEvent:e})},s=function(){t.zoomEndHandler({orgChart:t})},y(r,"zoomWheelBoundHandler",e=function(e){t.zoomWheelHandler({orgChart:t,originalEvent:e})}),y(r,"zoomStartBoundHandler",n),y(r,"zoomingBoundHandler",i),y(r,"zoomEndBoundHandler",s),o.addEventListener("wheel",e),o.addEventListener("touchstart",n),m().addEventListener("touchmove",i),m().addEventListener("touchend",s))},unbindZoom:function(){var e,t,n,i,s=this.chartContainer,o=this.chart;s&&o&&(e=b(o,"zoomWheelBoundHandler"),t=b(o,"zoomStartBoundHandler"),n=b(o,"zoomingBoundHandler"),i=b(o,"zoomEndBoundHandler"),e&&(s.removeEventListener("wheel",e),y(o,"zoomWheelBoundHandler",null)),t&&(s.removeEventListener("touchstart",t),y(o,"zoomStartBoundHandler",null)),n&&(m().removeEventListener("touchmove",n),y(o,"zoomingBoundHandler",null)),i)&&(m().removeEventListener("touchend",i),y(o,"zoomEndBoundHandler",null))},getPinchDist:function(e){e=e.originalEvent||e;return Math.sqrt((e.touches[0].clientX-e.touches[1].clientX)*(e.touches[0].clientX-e.touches[1].clientX)+(e.touches[0].clientY-e.touches[1].clientY)*(e.touches[0].clientY-e.touches[1].clientY))},getPinchCenter:function(e){e=e.originalEvent||e;return{x:(e.touches[0].clientX+e.touches[1].clientX)/2,y:(e.touches[0].clientY+e.touches[1].clientY)/2}},setChartScale:function(e,t,n){var i,s,o,r,a,e=h(e),l=this.chartContainer;let c,d;e&&(a=b(e,"options"),o=w(e).scale,r=w(e).translateX,i=w(e).translateY,(t=o*t)>a.zoomoutLimit)&&t<a.zoominLimit&&(c=r,d=i,a="function"==typeof e.getBoundingClientRect?e.getBoundingClientRect():null,(n=!n&&l&&"function"==typeof l.getBoundingClientRect?{x:(l=l.getBoundingClientRect()).left+l.width/2,y:l.top+l.height/2}:n)&&a&&"number"==typeof n.x&&"number"==typeof n.y&&0!==o&&(l=n.x,n=n.y,s=(l-a.left)/o,o=(n-a.top)/o,r=a.left-r,a=a.top-i,c=l-r-s*t,d=n-a-o*t),e.style.transformOrigin="0 0",e.style.transform="matrix("+t+", 0, 0, "+t+", "+c+", "+d+")",this.updateMinimap())},buildJsonDS:function(e){const t=this,n=h(e);var i;let s;return n?(e=Array.from(n.children||[]).find(function(e){return"UL"===e.tagName})||null,s={name:(n.childNodes&&n.childNodes[0]?n.childNodes[0].textContent:"").trim(),relationship:(n.parentElement&&n.parentElement.parentElement&&"LI"===n.parentElement.parentElement.tagName?"1":"0")+(n.parentElement&&Array.from(n.parentElement.children).filter(function(e){return e!==n&&"LI"===e.tagName}).length?1:0)+(e?1:0)},p((i=n).dataset?Object.assign({},i.dataset):{},function(e,t){s[e]=t}),e&&Array.from(e.children).forEach(function(e){"LI"===e.tagName&&(s.children||(s.children=[]),s.children.push(t.buildJsonDS(e)))}),s):{}},attachRel:function(t,e){const n=this;return t.relationship=e+(t.children&&0<t.children.length?1:0),this.options?.compact?.constructor===Function&&this.options.compact(t)&&(t.compact=!0),t.children&&t.children.forEach(function(e){t.hybrid||t.vertical?e.vertical=!0:t.compact&&e.children?e.compact=!0:t.compact&&!e.children&&(e.associatedCompact=!0),n.attachRel(e,"1"+(1<t.children.length?1:0))}),t},loopChart:function(e,t){const n=this;var e=h(e);let i,s;return t=null!==t&&t!==l&&t,e&&(i=e.classList&&e.classList.contains("hierarchy")?Array.from(e.children||[]).find(function(e){return e.classList&&e.classList.contains("node")}):e.querySelector(".node"))?(s={id:i.id},t&&p(b(i,"nodeData"),function(e,t){s[e]=t}),(e=Array.from(i.parentElement?i.parentElement.children:[]).find(function(e){return e!==i&&e.classList&&e.classList.contains("nodes")})||null)&&Array.from(e.children).forEach(function(e){e.classList&&e.classList.contains("hierarchy")&&(s.children||(s.children=[]),s.children.push(n.loopChart(e,t)))}),s):{}},getHierarchy:function(e){var t,n=this.chart;return e=null!==e&&e!==l&&e,n?(t=n?Array.from(n.querySelectorAll(".node")):[]).length?t.some(function(e){return!e.id})?"Error: All nodes of orghcart to be exported must have data-id attribute!":this.loopChart(n,e):"Error: nodes do not exist":"Error: orgchart does not exist"},getNodeState:function(e,t){const n=h(e);let i;let s;if(n&&n.classList&&n.classList.contains("node"))if(t=t||"self",e=!!n.closest("vertical"),"parent"===t){if(i=e?(i=(i=(i=n.closest("ul"))?i.parentElement&&i.parentElement.closest("ul"):null)||n.closest(".nodes"))||((i=n.closest(".vertical"))&&i.parentElement?i.parentElement.firstElementChild:null):(i=n.closest(".nodes"))?i.previousElementSibling:null)return i.classList.contains("hidden")||i.closest(".nodes")&&i.closest(".nodes").classList.contains("hidden")||i.closest(".vertical")&&i.closest(".vertical").classList.contains("hidden")?{exist:!0,visible:!1}:{exist:!0,visible:!0}}else if("children"===t){if(i=e?Array.from(n.parentElement?n.parentElement.children:[]).find(function(e){return"UL"===e.tagName})||null:Array.from(n.parentElement?n.parentElement.children:[]).find(function(e){return e!==n&&e.classList&&e.classList.contains("nodes")})||null)return i.classList.contains("hidden")?{exist:!0,visible:!1}:{exist:!0,visible:!0}}else{if("siblings"!==t)return n.closest(".nodes")&&n.closest(".nodes").classList.contains("hidden")||n.closest(".hierarchy")&&n.closest(".hierarchy").classList.contains("hidden")||n.closest(".vertical")&&(n.closest(".nodes")&&n.closest(".nodes").classList.contains("hidden")||n.closest(".vertical").classList.contains("hidden"))?{exist:!0,visible:!1}:{exist:!0,visible:!0};if(e?(i=n.closest("ul"),s=i?Array.from(i.children||[]).filter(function(e){return"LI"===e.tagName}):[]):(s=n.parentElement&&n.parentElement.parentElement?Array.from(n.parentElement.parentElement.children).filter(function(e){return e!==n.parentElement}):[],i=s[0]||null),i&&(!e||1<s.length))return s.some(function(e){return e.classList.contains("hidden")})||s.some(function(e){return e.parentElement&&e.parentElement.classList.contains("hidden")})||e&&i.closest(".vertical")&&i.closest(".vertical").classList.contains("hidden")?{exist:!0,visible:!1}:{exist:!0,visible:!0}}return{exist:!1,visible:!1}},getParent:function(e){return this.getRelatedNodes(e,"parent")},getChildren:function(e){return this.getRelatedNodes(e,"children")},getSiblings:function(e){return this.getRelatedNodes(e,"siblings")},getRelatedNodes:function(e,t){const n=h(e);let i;return n&&n.classList&&n.classList.contains("node")?"parent"===t?(e=n.closest(".nodes"))?e.previousElementSibling:null:"children"===t?(e=Array.from(n.parentElement?n.parentElement.children:[]).find(function(e){return e!==n&&e.classList&&e.classList.contains("nodes")}))?Array.from(e.children).filter(function(e){return e.classList&&e.classList.contains("hierarchy")}).map(function(e){return e.querySelector(".node")}).filter(Boolean):[]:"siblings"===t&&(i=n.closest(".hierarchy"))&&i.parentElement?Array.from(i.parentElement.children).filter(function(e){return e!==i}).map(function(e){return e.querySelector(".node")}).filter(Boolean):[]:"parent"===t?null:[]},hideParentEnd:function(e){var t=e.originalEvent||e,n=h(e.animatedNode||t.animatedNode||t.target),e=h(e.parent||t.parent);n&&n.classList&&n.classList.remove("sliding"),e&&e.classList&&e.classList.add("hidden")},hideParent:function(e){var t,n,e=h(e);let i;e&&(i=this.getParent(e),t=e.closest(".orgchart"),n=e.closest(".hierarchy"),i&&i.querySelector&&i.querySelector(".spinner")&&t&&y(t,"inAjax",!1),this.getNodeState(e,"siblings").visible&&this.hideSiblings(e),n&&n.classList.add("isAncestorsCollapsed"),this.getNodeState(i).visible&&(i.classList.add("sliding","slide-down"),i.addEventListener("transitionend",function(e){e.animatedNode=i,e.parent=i,H.prototype.hideParentEnd(e)},{once:!0})),this.getNodeState(i,"parent").visible)&&this.hideParent(i)},showParentEnd:function(e){var t=e.originalEvent||e,n=h(e.animatedNode||t.animatedNode||t.target),e=h(e.node||t.node);n&&n.classList&&n.classList.remove("sliding"),this.isInAction(e)&&(t=e&&Array.from(e.children||[]).find(function(e){return e.classList&&e.classList.contains("topEdge")})||null,this.switchVerticalArrow(t))},showParent:function(e){const t=this,n=h(e);let i;n&&(i=this.getParent(n),e=n.closest(".hierarchy"),i&&i.classList&&i.classList.remove("hidden"),e&&e.classList.remove("isAncestorsCollapsed"),this.repaint(i),i)&&i.classList&&(i.classList.add("sliding"),i.classList.remove("slide-down"),i.addEventListener("transitionend",function(e){e.animatedNode=i,e.node=n,t.showParentEnd(e)},{once:!0}))},stopAjax:function(e){var e=h(e);e&&e.querySelector(".spinner")&&(e=e.closest(".orgchart"))&&y(e,"inAjax",!1)},isVisibleNode:function(e,t){return this.getNodeState(t).visible},isCompactDescendant:function(e,t){return!!(t&&t.parentElement&&t.parentElement.matches(".node.compact"))},hideChildrenEnd:function(e){var t=e.originalEvent||e,n=h(e.node||t.node);c(e.animatedNodes||t.animatedNodes).forEach(function(e){e.classList&&e.classList.remove("sliding"),(e=e&&"function"==typeof e.closest?e.closest(".nodes"):null)&&e.classList&&e.classList.add("hidden")}),this.isInAction(n)&&(e=n&&Array.from(n.children||[]).find(function(e){return e.classList&&e.classList.contains("bottomEdge")})||null,this.switchVerticalArrow(e))},hideChildren:function(e){const t=this,n=h(e);var i;let s;n&&(e=n.closest(".hierarchy"),i=Array.from(n.parentElement?n.parentElement.children:[]).find(function(e){return e!==n&&e.classList&&e.classList.contains("nodes")})||null)&&(e&&e.classList.add("isChildrenCollapsed"),this.stopAjax(i),s=Array.from(i.querySelectorAll(".node")).filter(function(e,t){return this.isVisibleNode(t,e)&&!this.isCompactDescendant(t,e)},this),i.classList.contains("vertical")||s.forEach(function(e){e=e.closest(".hierarchy");e&&e.classList.add("isCollapsedDescendant")}),(i.classList.contains("vertical")||i.querySelector(".vertical"))&&s.forEach(function(e){Array.from(e.querySelectorAll("."+this.options.icons.expanded)).forEach(function(e){e.classList.remove(this.options.icons.expanded),e.classList.add(this.options.icons.collapsed)},this)},this),this.repaint(s[0]),s.forEach(function(e){e.classList.add("sliding","slide-up")}),s[0])&&s[0].addEventListener("transitionend",function(e){e.node=n,e.animatedNodes=s,t.hideChildrenEnd(e)},{once:!0})},showChildrenEnd:function(e){var t=e.originalEvent||e,n=h(e.node||t.node);c(e.animatedNodes||t.animatedNodes).forEach(function(e){e.classList&&e.classList.remove("sliding")}),this.isInAction(n)&&(e=n&&Array.from(n.children||[]).find(function(e){return e.classList&&e.classList.contains("bottomEdge")})||null,this.switchVerticalArrow(e))},showChildren:function(e){const t=this,n=h(e);var i;let s;n&&(e=n.closest(".hierarchy"),i=Array.from(n.parentElement?n.parentElement.children:[]).find(function(e){return e!==n&&e.classList&&e.classList.contains("nodes")})||null)&&(e&&e.classList.remove("isChildrenCollapsed"),i.classList.remove("hidden"),e=i.classList.contains("vertical"),s=e?Array.from(i.querySelectorAll(".node")).filter(function(e,t){return this.isVisibleNode(t,e)},this):Array.from(i.children).filter(function(e){return e.classList&&e.classList.contains("hierarchy")}).map(function(e){return e.querySelector(".node")}).filter(function(e,t){return this.isVisibleNode(t,e)},this),e||s.forEach(function(e){var t=e.closest(".hierarchy");t&&!e.matches(":only-child")&&t.classList.add("isChildrenCollapsed"),t&&t.classList.remove("isCollapsedDescendant")}),this.repaint(s[0]),s.forEach(function(e){e.classList.add("sliding"),e.classList.remove("slide-up")}),s[0])&&s[0].addEventListener("transitionend",function(e){e.node=n,e.animatedNodes=s,t.showChildrenEnd(e)},{once:!0})},hideSiblingsEnd:function(e){const t=this;var n=e.originalEvent||e,i=h(e.node||n.node);const s=h(e.nodeContainer||n.nodeContainer);let o=(void 0!==e.direction?e:n).direction;e=e.animatedNodes||n.animatedNodes;void 0===o&&(o=n.direction);let r=[],a;if(s)if("left"===o)for(a=s.previousElementSibling;a;)a.classList.contains("hidden")||r.push(a),a=a.previousElementSibling;else if("right"===o)for(a=s.nextElementSibling;a;)a.classList.contains("hidden")||r.push(a),a=a.nextElementSibling;else s.parentElement&&(r=Array.from(s.parentElement.children).filter(function(e){return e!==s}));c(e).forEach(function(e){e.classList&&e.classList.remove("sliding")}),r.forEach(function(e){Array.from(e.querySelectorAll(".node")).filter(function(e){return t.isVisibleNode(null,e)}).slice(1).forEach(function(e){e.classList.remove("slide-left","slide-right"),t.options.compact||e.classList.add("slide-up")}),Array.from(e.querySelectorAll(".nodes, .vertical")).forEach(function(e){e.classList.add("hidden")}),e.classList.add("hidden")}),this.isInAction(i)&&this.switchHorizontalArrow(i)},hideSiblings:function(t,n){const i=this,s=h(t);var e;let o;t=[];let r=[];if(s&&(e=s.closest(".orgchart"),o=s.closest(".hierarchy"))){if(o.classList.add("isSiblingsCollapsed"),(t=o.parentElement?Array.from(o.parentElement.children).filter(function(e){return e!==o}):[]).some(function(e){return e.querySelector(".spinner")})&&e&&y(e,"inAjax",!1),n)if("left"===n){let e=o.previousElementSibling;for(o.classList.add("left-sibs"),t.forEach(function(e){e.classList.contains("isSiblingsCollapsed")&&e.classList.remove("isSiblingsCollapsed","left-sibs")});e;)e.classList.add("isCollapsedSibling","isChildrenCollapsed"),r=r.concat(Array.from(e.querySelectorAll(".node")).filter(function(e,t){return this.isVisibleNode(t,e)},this)),e=e.previousElementSibling;r.forEach(function(e){e.classList.add("sliding","slide-right")})}else{let e=o.nextElementSibling;for(o.classList.add("right-sibs"),t.forEach(function(e){e.classList.contains("isSiblingsCollapsed")&&e.classList.remove("isSiblingsCollapsed","right-sibs")});e;)e.classList.add("isCollapsedSibling","isChildrenCollapsed"),r=r.concat(Array.from(e.querySelectorAll(".node")).filter(function(e,t){return this.isVisibleNode(t,e)},this)),e=e.nextElementSibling;r.forEach(function(e){e.classList.add("sliding","slide-left")})}else t.forEach(function(t){var e=Array.from(t.querySelectorAll(".node")).filter(function(e,t){return this.isVisibleNode(t,e)},this);t.classList.add("isCollapsedSibling","isChildrenCollapsed"),r=r.concat(e),e.forEach(function(e){e.classList.add("sliding"),t.compareDocumentPosition(o)&Node.DOCUMENT_POSITION_FOLLOWING?e.classList.add("slide-right"):e.classList.add("slide-left")})},this);r[0]&&r[0].addEventListener("transitionend",function(e){e.node=s,e.nodeContainer=o,e.direction=n,e.animatedNodes=r,i.hideSiblingsEnd(e)},{once:!0})}},showSiblingsEnd:function(e){var t=e.originalEvent||e,n=h(e.node||t.node);c(e.visibleNodes||t.visibleNodes).forEach(function(e){e.classList&&e.classList.remove("sliding")}),this.isInAction(n)&&(this.switchHorizontalArrow(n),e=n&&Array.from(n.children||[]).find(function(e){return e.classList&&e.classList.contains("topEdge")})||null)&&e.classList&&(e.classList.remove(this.options.icons.expandToUp),e.classList.add(this.options.icons.collapseToDown))},showRelatedParentEnd:function(e){var t=e.originalEvent||e,e=h(e.animatedNode||t.animatedNode||t.target);e&&e.classList&&e.classList.remove("sliding")},showSiblings:function(e,t){const n=this,i=h(e);let s,o=[];let r,a;if(i&&(s=i.closest(".hierarchy"))){if(t)if("left"===t){let e=s.previousElementSibling;for(;e;)e.classList.remove("hidden"),o.push(e),e=e.previousElementSibling}else{let e=s.nextElementSibling;for(;e;)e.classList.remove("hidden"),o.push(e),e=e.nextElementSibling}else(o=s.parentElement?Array.from(s.parentElement.children).filter(function(e){return e!==s}):[]).forEach(function(e){e.classList.remove("hidden")});e=i.closest(".nodes"),r=e?e.previousElementSibling:null,t?(s.classList.remove(t+"-sibs"),Array.from(s.classList).some(function(e){return-1<e.indexOf("-sibs")})||s.classList.remove("isSiblingsCollapsed"),o.forEach(function(e){e.classList.remove("isCollapsedSibling",t+"-sibs")})):(s.classList.remove("isSiblingsCollapsed"),o.forEach(function(e){e.classList.remove("isCollapsedSibling")})),this.getNodeState(i,"parent").visible||(s.classList.remove("isAncestorsCollapsed"),r&&(r.classList.remove("hidden"),this.repaint(r),r.classList.add("sliding"),r.classList.remove("slide-down"),r.addEventListener("transitionend",function(e){e.animatedNode=r,n.showRelatedParentEnd(e)},{once:!0}))),a=o.flatMap(function(e){return Array.from(e.querySelectorAll(".node"))},this).filter(function(e,t){return this.isVisibleNode(t,e)},this),this.repaint(a[0]),a.forEach(function(e){e.classList.add("sliding"),e.classList.remove("slide-left","slide-right")}),a[0]&&a[0].addEventListener("transitionend",function(e){e.node=i,e.visibleNodes=a,n.showSiblingsEnd(e)},{once:!0})}},startLoading:function(e){var e=h(e),t=this.chart;let n;return!(!e||!t||void 0!==b(t,"inAjax")&&!0===b(t,"inAjax")||(e.classList.add("hidden"),(e=e.parentElement)&&(e.insertAdjacentHTML("beforeend",`<i class="${this.options.icons.theme} ${this.options.icons.spinner} spinner"></i>`),n=Array.from(e.children||[]).find(function(e){return e.classList&&e.classList.contains("spinner")})||null,Array.from(e.children||[]).forEach(function(e){e!==n&&(e.style.opacity=.2)})),y(t,"inAjax",!0),Array.from(m().querySelectorAll(".oc-export-btn")).forEach(function(e){e.disabled=!0}),0))},endLoading:function(e){var t,e=h(e),n=this.chart;e&&n&&(t=e.parentElement,e.classList.remove("hidden"),t&&(Array.from(t.querySelectorAll(".spinner")).forEach(function(e){e.remove()}),Array.from(t.children||[]).forEach(function(e){e.removeAttribute("style")})),y(n,"inAjax",!1),Array.from(m().querySelectorAll(".oc-export-btn")).forEach(function(e){e.disabled=!1}))},isInAction:function(e){e=h(e);const t=Array.from(e?e.children:[]).filter(function(e){return e.classList&&e.classList.contains("edge")}).map(function(e){return e.className}).join(" ");return[this.options.icons.expandToUp,this.options.icons.collapseToDown,this.options.icons.collapseToLeft,this.options.icons.expandToRight].some(function(e){return-1<t.indexOf(e)})},switchVerticalArrow:function(e){e=h(e);e&&e.classList&&(e.classList.toggle(this.options.icons.expandToUp),e.classList.toggle(this.options.icons.collapseToDown))},switchHorizontalArrow:function(e){var t,n,e=h(e),i=this.options;let s;e&&(s=e.closest(".hierarchy"),n=e.closest(".nodes"),t=Array.from(e.children||[]).find(function(e){return e.classList&&e.classList.contains("leftEdge")})||null,e=Array.from(e.children||[]).find(function(e){return e.classList&&e.classList.contains("rightEdge")})||null,i.toggleSiblingsResp&&(void 0===i.ajaxURL||b(n,"siblingsLoaded"))?((n=s?s.previousElementSibling:null)&&t&&(t.classList.toggle(i.icons.collapseToLeft,n.classList.contains("hidden")),t.classList.toggle(i.icons.expandToRight,!n.classList.contains("hidden"))),(n=s?s.nextElementSibling:null)&&e&&(e.classList.toggle(i.icons.expandToRight,n.classList.contains("hidden")),e.classList.toggle(i.icons.collapseToLeft,!n.classList.contains("hidden")))):(n=!!(n=s&&s.parentElement?Array.from(s.parentElement.children).filter(function(e){return e!==s}):[]).length&&!n[0].classList.contains("hidden"),t&&(t.classList.toggle(i.icons.expandToRight,n),t.classList.toggle(i.icons.collapseToLeft,!n)),e&&(e.classList.toggle(i.icons.collapseToLeft,n),e.classList.toggle(i.icons.expandToRight,!n))))},repaint:function(e){e&&(e.style.offsetWidth=e.offsetWidth)},nodeEnterLeaveHandler:function(e){var t=e.originalEvent||e,n=t.type,e=e.node||t.currentTarget,t=Array.from(e?e.children:[]),i=!(!e||!e.closest(".nodes.vertical")),s=t.find(function(e){return e.classList&&e.classList.contains("toggleBtn")})||null,o=t.find(function(e){return e.classList&&e.classList.contains("topEdge")})||null,r=t.find(function(e){return e.classList&&e.classList.contains("rightEdge")})||null,a=t.find(function(e){return e.classList&&e.classList.contains("bottomEdge")})||null,l=t.find(function(e){return e.classList&&e.classList.contains("leftEdge")})||null;let c=!1;i?"mouseenter"===n?s&&(c=this.getNodeState(e,"children").visible,s.classList.toggle(this.options.icons.collapsed,!c),s.classList.toggle(this.options.icons.expanded,c)):s&&s.classList.remove(this.options.icons.collapsed,this.options.icons.expanded):"mouseenter"===n?(o&&(c=this.getNodeState(e,"parent").visible,o.classList.toggle(this.options.icons.expandToUp,!c),o.classList.toggle(this.options.icons.collapseToDown,c)),a&&(c=this.getNodeState(e,"children").visible,a.classList.toggle(this.options.icons.collapseToDown,!c),a.classList.toggle(this.options.icons.expandToUp,c)),(l||r)&&this.switchHorizontalArrow(e)):t.forEach(function(e){e.classList&&e.classList.contains("edge")&&e.classList.remove(this.options.icons.expandToUp,this.options.icons.collapseToDown,this.options.icons.collapseToLeft,this.options.icons.expandToRight)},this)},nodeClickHandler:function(e){var t=this.chart,n=e.originalEvent||e,e=e.node||n.currentTarget;t&&e&&e.classList&&(Array.from(t.querySelectorAll(".focused")).forEach(function(e){e.classList.remove("focused")}),e.classList.add("focused"))},addAncestors:function(e,t){var n=this.chart?this.chart.querySelector(":scope > .nodes > .hierarchy"):null;let i,s;n&&(this.buildHierarchy(n,e),e=Array.from(n.children).slice(0,2),(i=m().createElement("li")).className="hierarchy",n.insertBefore(i,e[0]||null),e.forEach(function(e){i.appendChild(e)}),n=(s=m().getElementById(t))&&Array.from(s.parentElement?s.parentElement.children:[]).find(function(e){return e!==s&&e.classList&&e.classList.contains("nodes")})||null)&&n!==i.parentElement&&n.appendChild(i)},addDescendants:function(e,t){const n=this;t=h(t);let i;t&&t.parentElement&&((i=m().createElement("ul")).className="nodes",t.after(i),p(e,function(){var e=m().createElement("li");e.className="hierarchy",i.appendChild(e),n.buildHierarchy(e,this)}))},HideFirstParentEnd:function(e){var t=e.originalEvent||e,e=h(e.topEdge||t.topEdge),t=e?e.parentElement:null;this.isInAction(t)&&(this.switchVerticalArrow(e),this.switchHorizontalArrow(t))},topEdgeClickHandler:function(e){const t=this;var n=e.originalEvent||e,i=e.node||n.currentTarget;const s=h(e.edge||n.target);var o,r,e=this.getParent(i),n=this.getNodeState(i,"parent");n.exist&&(o=!!(e&&e.classList&&e.classList.contains("sliding")),r=!!(e&&e.classList&&e.classList.contains("slide-down")),o&&!r||(n.visible&&!r?(this.hideParent(i),e&&e.addEventListener("transitionend",function(e){e.topEdge=s,t.HideFirstParentEnd(e)},{once:!0}),this.triggerHideEvent(i,"parent")):(this.showParent(i),this.triggerShowEvent(i,"parent"))))},bottomEdgeClickHandler:function(e){var t=e.originalEvent||e;const n=e.node||t.currentTarget;e=this.getNodeState(n,"children");e.exist&&!((t=Array.from(n.parentElement?n.parentElement.children:[]).find(function(e){return e!==n&&e.classList&&e.classList.contains("nodes")})||null)?Array.from(t.children).filter(function(e){return e.classList&&e.classList.contains("hierarchy")}).map(function(e){return e.querySelector(".node")}).filter(Boolean):[]).some(function(e){return e.classList.contains("sliding")})&&(e.visible?(this.hideChildren(n),this.triggerHideEvent(n,"children")):(this.showChildren(n),this.triggerShowEvent(n,"children")))},hEdgeClickHandler:function(e){var t,n=e.originalEvent||e,i=e.node||n.currentTarget,e=h(e.edge||n.target),n=this.options,s=this.getNodeState(i,"siblings");let o;s.exist&&!((o=i.closest(".hierarchy"))&&o.parentElement?Array.from(o.parentElement.children).filter(function(e){return e!==o}):[]).some(function(e){return e.querySelector(".sliding")})&&(n.toggleSiblingsResp?(n=o?o.previousElementSibling:null,t=o?o.nextElementSibling:null,e&&e.classList&&e.classList.contains("leftEdge")?n&&n.classList.contains("hidden")?(this.showSiblings(i,"left"),this.triggerShowEvent(i,"siblings")):(this.hideSiblings(i,"left"),this.triggerHideEvent(i,"siblings")):t&&t.classList.contains("hidden")?(this.showSiblings(i,"right"),this.triggerShowEvent(i,"siblings")):(this.hideSiblings(i,"right"),this.triggerHideEvent(i,"siblings"))):s.visible?(this.hideSiblings(i),this.triggerHideEvent(i,"siblings")):(this.showSiblings(i),this.triggerShowEvent(i,"siblings")))},backToCompactHandler:function(e){var t=e.originalEvent||e,e=e.compactNode||t.currentTarget;e&&(e.classList.remove("looseMode"),Array.from(e.querySelectorAll(".looseMode")).forEach(function(e){var t=Array.from(e.children||[]).find(function(e){return e.classList&&e.classList.contains("backToCompactSymbol")})||null,n=Array.from(e.children||[]).find(function(e){return e.classList&&e.classList.contains("backToLooseSymbol")})||null;e.classList.remove("looseMode"),t&&t.classList.add("hidden"),n&&n.classList.remove("hidden")}),t=Array.from(e.children||[]).find(function(e){return e.classList&&e.classList.contains("backToCompactSymbol")})||null,e=Array.from(e.children||[]).find(function(e){return e.classList&&e.classList.contains("backToLooseSymbol")})||null,t&&t.classList.add("hidden"),e)&&e.classList.remove("hidden")},backToLooseHandler:function(e){var t=e.originalEvent||e,e=e.compactNode||t.currentTarget;e&&(e.classList.add("looseMode"),t=Array.from(e.children||[]).find(function(e){return e.classList&&e.classList.contains("backToLooseSymbol")})||null,e=Array.from(e.children||[]).find(function(e){return e.classList&&e.classList.contains("backToCompactSymbol")})||null,t&&t.classList.add("hidden"),e)&&e.classList.remove("hidden")},expandVNodesEnd:function(e){var t=e.originalEvent||e;c(e.vNodes||t.vNodes).forEach(function(e){e.classList&&e.classList.remove("sliding")})},collapseVNodesEnd:function(e){var t=e.originalEvent||e;c(e.vNodes||t.vNodes).forEach(function(e){var t=e&&"function"==typeof e.closest?e.closest("ul"):null;e.classList&&e.classList.remove("sliding"),t&&t.classList&&t.classList.add("hidden")})},toggleVNodes:function(e){const t=this;var n=e.originalEvent||e,e=e.toggleButton||n.target,n=e&&e.parentElement?e.parentElement.nextElementSibling:null;let i,s;e&&n&&(i=Array.from(n.querySelectorAll(".node")),(s=Array.from(n.children||[]).map(function(e){return e.querySelector(".node")}).filter(Boolean)).some(function(e){return e.classList.contains("sliding")})||(e.classList.toggle(this.options.icons.collapsed),e.classList.toggle(this.options.icons.expanded),i[0]&&i[0].classList.contains("slide-up")?(n.classList.remove("hidden"),this.repaint(s[0]),s.forEach(function(e){e.classList.add("sliding"),e.classList.remove("slide-up")}),s[0]&&s[0].addEventListener("transitionend",function(e){e.vNodes=s,t.expandVNodesEnd(e)},{once:!0})):(i.forEach(function(e){e.classList.add("sliding","slide-up")}),i[0]&&i[0].addEventListener("transitionend",function(e){e.vNodes=i,t.collapseVNodesEnd(e)},{once:!0}),i.forEach(function(e){Array.from(e.querySelectorAll(".toggleBtn")).forEach(function(e){e.classList.remove(this.options.icons.collapsed,this.options.icons.expanded)},this)},this))))},createGhostNode:function(n){var i,s=n.originalEvent||n,n=n.sourceNode||s.target,o=n&&"function"==typeof n.closest?n.closest(".orgchart"):null,r=this.options,a=/firefox/.test(d().navigator.userAgent.toLowerCase());let l,c;if(n&&o){if(m().querySelector(".ghost-node"))l=o.querySelector(".ghost-node"),c=l?l.firstElementChild:null;else{if(!(l=m().createElementNS("http://www.w3.org/2000/svg","svg")).classList)return;l.classList.add("ghost-node"),c=m().createElementNS("http://www.w3.org/2000/svg","rect"),l.appendChild(c),o.appendChild(l)}if(l&&c){n=n.getBoundingClientRect(),o=(o.style.transform||d().getComputedStyle(o).transform||"none").split(","),i="t2b"===r.direction||"b2t"===r.direction,o=Math.abs(d().parseFloat(i?o[0].slice(o[0].indexOf("(")+1):o[1])),l.setAttribute("width",i?n.width:n.height),l.setAttribute("height",i?n.height:n.width),c.setAttribute("x",5*o),c.setAttribute("y",5*o),c.setAttribute("width",120*o),c.setAttribute("height",40*o),c.setAttribute("rx",4*o),c.setAttribute("ry",4*o),c.setAttribute("stroke-width",+o);let e=s.offsetX*o,t=s.offsetY*o;"l2r"===r.direction?(e=s.offsetY*o,t=s.offsetX*o):"r2l"===r.direction?(e=n.width-s.offsetY*o,t=s.offsetX*o):"b2t"===r.direction&&(e=n.width-s.offsetX*o,t=n.height-s.offsetY*o),a?(c.setAttribute("fill","rgb(255, 255, 255)"),c.setAttribute("stroke","rgb(191, 0, 0)"),(i=m().createElement("img")).src="data:image/svg+xml;utf8,"+(new XMLSerializer).serializeToString(l),s.dataTransfer.setDragImage(i,e,t)):s.dataTransfer.setDragImage&&s.dataTransfer.setDragImage(l,e,t)}}},getUpperLevel:function(e){e=h(e);let t,n=0;if(!e||!e.matches(".node"))return 0;for(t=e.parentElement;t;)t.classList&&t.classList.contains("hierarchy")&&(n+=1),t=t.parentElement;return n},getLowerLevel:function(e){e=h(e);let t=1,n;if(!e||!e.matches(".node"))return 0;for(n=this.getChildren(e);n.length;){const i=[];t+=1,n.forEach(function(e){Array.prototype.push.apply(i,this.getChildren(e))},this),n=i}return t},getLevelOrderNodes:function(e){var e=h(e),t=[],n=[];if(!e)return[];for(t.push(e);t.length;){var i=[],s=t.length;for(let e=0;e<s;e++){var o=t.shift(),r=this.getChildren(o);r.length&&Array.prototype.push.apply(t,r),i.push(o)}n.push(i)}return n},filterAllowedDropNodes:function(e){const t=h(e),n=this.options;var i,e=this.chart;let s,o,r;e&&(i=t&&"function"==typeof t.closest?t.closest("[draggable]"):null,r=!!(i&&i.classList&&i.classList.contains("node")),s=t&&t.closest(".nodes")?t.closest(".nodes").previousElementSibling:null,i=t&&t.closest(".hierarchy")?Array.from(t.closest(".hierarchy").querySelectorAll(".node")):[],o=new Set(i),y(e,"dragged",t),Array.from(e.querySelectorAll(".node")).forEach(function(e){r&&o.has(e)||n.dropCriteria&&!n.dropCriteria(t,s,e)||e.classList.add("allowedDrop")}))},dragstartHandler:function(e){var t=e.originalEvent||e,e=e.draggedNode||t.target,n=this.chart,n=n&&(n.style.transform||d().getComputedStyle(n).transform)||"none";t.dataTransfer.setData("text/html","hack for firefox"),"none"!==n&&this.createGhostNode({sourceNode:e,originalEvent:t}),this.filterAllowedDropNodes(e)},dragoverHandler:function(e){var t=e.originalEvent||e,e=e.dropZone||t.currentTarget;e&&e.classList&&e.classList.contains("allowedDrop")?"function"==typeof t.preventDefault&&t.preventDefault():t.dataTransfer.dropEffect="none"},dragendHandler:function(e){var t=this.chart;t&&Array.from(t.querySelectorAll(".allowedDrop")).forEach(function(e){e.classList.remove("allowedDrop")})},dropHandler:async function(e){var t=e.originalEvent||e,n=this.chart;const i=e.dropZone||t.currentTarget;var s,o,r,a,e=n?h(b(n,"dragged")):null,t=n?b(n,"options"):null;let l,c,d;e&&e.classList&&e.classList.contains("node")?i&&i.classList&&i.classList.contains("allowedDrop")&&(l=e.closest(".nodes")?e.closest(".nodes").previousElementSibling:null,a={type:"nodedrop.orgchart",defaultPrevented:!1,preventDefault:function(){this.defaultPrevented=!0},isDefaultPrevented:function(){return this.defaultPrevented}},n&&(((s=A(a,{draggedNode:e,dragZone:l,dropZone:i})).delegateTarget=n).dispatchEvent(s),a.defaultPrevented=s.defaultPrevented),a.isDefaultPrevented()||(s=t.data,o=(a=new JSONDigger(s,t.nodeId,"children")).findOneNode({hybrid:!0}),1<t.verticalLevel||o?(o=a.findNodeById(b(e,"nodeData").id),r=Object.assign({},o),a.removeNode(o.id),(o=a.findNodeById(b(i,"nodeData").id)).children?o.children.push(r):o.children=[r],this.attachRel(s,"00"),this.init({data:s})):(d=e.closest(".hierarchy"),(c=Array.from(i.parentElement?i.parentElement.children:[]).find(function(e){return e!==i&&e.classList&&e.classList.contains("nodes")})||null)?(a=`<i class="edge horizontalEdge rightEdge ${this.options.icons.theme}"></i><i class="edge horizontalEdge leftEdge ${this.options.icons.theme}"></i>`,e.querySelector(".horizontalEdge")||e.insertAdjacentHTML("beforeend",a),c.appendChild(d),1===(o=Array.from(c.children||[]).filter(function(e){return e!==d&&e.classList&&e.classList.contains("hierarchy")}).map(function(e){return e.querySelector(".node")}).filter(Boolean)).length&&o[0].insertAdjacentHTML("beforeend",a)):(i.insertAdjacentHTML("beforeend",`<i class="edge verticalEdge bottomEdge ${this.options.icons.theme}"></i>`),i.insertAdjacentHTML("afterend",'<ul class="nodes"></ul>'),c=i.nextElementSibling,Array.from(e.querySelectorAll(".horizontalEdge")).forEach(function(e){e.remove()}),c.appendChild(d),(r=Array.from(i.children||[]).find(function(e){return e.classList&&e.classList.contains("title")})||null)&&r.insertAdjacentHTML("afterbegin",`<i class="${this.options.icons.theme} ${t.icons.parentNode} parentNodeSymbol"></i>`)),1===(o=(s=Array.from(l&&l.parentElement?l.parentElement.children:[]).find(function(e){return e!==l&&e.classList&&e.classList.contains("nodes")})||null)?Array.from(s.children||[]).filter(function(e){return e.classList&&e.classList.contains("hierarchy")}):[]).length?(a=o[0].querySelector(".node"))&&Array.from(a.querySelectorAll(".horizontalEdge")).forEach(function(e){e.remove()}):0===o.length&&(Array.from(l.querySelectorAll(".bottomEdge, .parentNodeSymbol")).forEach(function(e){e.remove()}),s)&&s.remove()))):n&&n.dispatchEvent(A("otherdropped.orgchart",{draggedItem:e,dropZone:i}))},touchstartHandler:function(e){e=e.originalEvent||e;this.touchHandled||e.touches&&1<e.touches.length||(this.touchHandled=!0,this.touchMoved=!1,"function"==typeof e.preventDefault&&e.preventDefault())},touchmoveHandler:function(e){var t=e.originalEvent||e,e=e.draggedNode||t.currentTarget||t.target,n=this.chart;if(this.touchHandled&&!(t.touches&&1<t.touches.length)){if("function"==typeof t.preventDefault&&t.preventDefault(),!this.touchMoved){if(this.filterAllowedDropNodes(e),!(e=n?h(b(n,"dragged")):null))return;this.touchDragImage=this.createDragImage(t,e)}this.touchMoved=!0,this.moveDragImage(t,this.touchDragImage),(e=(n=m().elementFromPoint(t.touches[0].clientX,t.touches[0].clientY))&&"function"==typeof n.closest?n.closest("div.node"):null)&&e.classList&&e.classList.contains("allowedDrop")?this.touchTargetNode=e:this.touchTargetNode=null}},touchendHandler:function(e){var t,n=e.originalEvent||e;this.touchHandled&&(this.destroyDragImage(),this.touchMoved?(this.touchTargetNode&&(t={dropZone:this.touchTargetNode},this.dropHandler(t),this.touchTargetNode=null),this.dragendHandler(e)):(t=n.changedTouches[0],e=n.target,t=new(d().MouseEvent)("click",{bubbles:!0,cancelable:!0,view:d(),screenX:t.screenX,screenY:t.screenY,clientX:t.clientX,clientY:t.clientY,ctrlKey:n.ctrlKey,altKey:n.altKey,shiftKey:n.shiftKey,metaKey:n.metaKey,button:0}),e.dispatchEvent(t)),this.touchHandled=!1)},createDragImage:function(e,t){var n=t.cloneNode(!0),t=(this.copyStyle(t,n),n.style.top=n.style.left="-9999px",t.getBoundingClientRect()),e=this.getTouchPoint(e);return this.touchDragImageOffset={x:e.x-t.left,y:e.y-t.top},n.style.opacity="0.5",m().body.appendChild(n),n},destroyDragImage:function(){this.touchDragImage&&this.touchDragImage.parentElement&&this.touchDragImage.parentElement.removeChild(this.touchDragImage),this.touchDragImageOffset=null,this.touchDragImage=null},copyStyle:function(t,n){["id","class","style","draggable"].forEach(function(e){n.removeAttribute(e)}),t instanceof HTMLCanvasElement&&((i=n).width=(e=t).width,i.height=e.height,i.getContext("2d").drawImage(e,0,0));var e,i,s=getComputedStyle(t);for(let e=0;e<s.length;e++){var o=s[e];o.indexOf("transition")<0&&(n.style[o]=s[o])}n.style.pointerEvents="none";for(let e=0;e<t.children.length;e++)this.copyStyle(t.children[e],n.children[e])},getTouchPoint:function(e){let t=e?e.originalEvent||e:null;return{x:(t=t&&t.touches?t.touches[0]:t).clientX,y:t.clientY}},moveDragImage:function(n,i){if(n&&i){const s=this;requestAnimationFrame(function(){var e=s.getTouchPoint(n),t=i.style;t.position="absolute",t.pointerEvents="none",t.zIndex="999999",s.touchDragImageOffset&&(t.left=Math.round(e.x-s.touchDragImageOffset.x)+"px",t.top=Math.round(e.y-s.touchDragImageOffset.y)+"px")})}},bindDragDrop:function(e){e=h(e);e&&(e.addEventListener("dragstart",this.dragstartHandler.bind(this)),e.addEventListener("dragover",this.dragoverHandler.bind(this)),e.addEventListener("dragend",this.dragendHandler.bind(this)),e.addEventListener("drop",this.dropHandler.bind(this)),e.addEventListener("touchstart",this.touchstartHandler.bind(this)),e.addEventListener("touchmove",this.touchmoveHandler.bind(this)),e.addEventListener("touchend",this.touchendHandler.bind(this)))},createNode:function(n){const i=this.options;var e=n.level,t=n.relationship||"",s=["node",n.className||"",n?.outsider?"outsider":"",e>i.visibleLevel?"slide-up":""].filter(Boolean).join(" "),o=[],r=[],a=[],l=Number(t.substr(2,1));n.children&&n[i.nodeId]&&p(n.children,function(e,t){t.parentId=n[i.nodeId]}),l&&o.push(`<i class="${i.icons.theme} ${i.icons.parentNode} parentNodeSymbol"></i>`),o.push(n[i.nodeTitle]),i.nodeTemplate?a.push(i.nodeTemplate(n)):(a.push(`<div class="title">${o.join("")}</div>`),void 0!==i.nodeContent&&r.push(`<div class="content">${n[i.nodeContent]||""}</div>`),a.push(r.join(""))),i.verticalLevel&&e>=i.verticalLevel||n.vertical?l&&a.push(`<i class="toggleBtn ${i.icons.theme}"></i>`):n.hybrid?l&&a.push(`<i class="edge verticalEdge bottomEdge ${i.icons.theme}"></i>`):n.compact?l&&(a.push(`<i class="${i.icons.theme} ${i.icons.backToCompact} backToCompactSymbol hidden"></i>`),a.push(`<i class="${i.icons.theme} ${i.icons.backToLoose} backToLooseSymbol"></i>`)):n.associatedCompact||(Number(t.substr(0,1))&&a.push(`<i class="edge verticalEdge topEdge ${i.icons.theme}"></i>`),Number(t.substr(1,1))&&(a.push(`<i class="edge horizontalEdge rightEdge ${i.icons.theme}"></i>`),a.push(`<i class="edge horizontalEdge leftEdge ${i.icons.theme}"></i>`)),l&&a.push(`<i class="edge verticalEdge bottomEdge ${i.icons.theme}"></i>`));const c=m().createElement("div");o=function(n,i){c.addEventListener("click",function(e){var t=e.target&&"function"==typeof e.target.closest?e.target.closest(n):null;t&&t.parentElement===c&&i.call(this,e)}.bind(this))}.bind(this),i.draggable&&c.setAttribute("draggable","true"),n[i.nodeId]&&(c.id=n[i.nodeId]),n.parentId&&c.setAttribute("data-parent",n.parentId),c.className=s,c.insertAdjacentHTML("beforeend",a.join("")),r=u({},n);return delete r.children,y(c,"nodeData",r),c.__ocNodeData=r,n.compact&&c&&c.style&&(c.style.gridTemplateColumns=`repeat(${Math.floor(Math.sqrt(n.children.length+1))}, auto)`),c.addEventListener("mouseenter",this.nodeEnterLeaveHandler.bind(this)),c.addEventListener("mouseleave",this.nodeEnterLeaveHandler.bind(this)),c.addEventListener("click",this.nodeClickHandler.bind(this)),o(".topEdge",this.topEdgeClickHandler),o(".bottomEdge",this.bottomEdgeClickHandler),o(".leftEdge, .rightEdge",this.hEdgeClickHandler),o(".toggleBtn",this.toggleVNodes),o(".backToCompactSymbol",this.backToCompactHandler),o(".backToLooseSymbol",this.backToLooseHandler),i.draggable&&(this.bindDragDrop(c),this.touchHandled=!1,this.touchMoved=!1,this.touchTargetNode=null),i.createNode&&i.createNode(c,n),c},buildInferiorNodes:function(e,t,n,i){const s=this;var o=this.options,e=h(e);const r=h(t);t=i+1>o.visibleLevel||n.collapsed!==l&&n.collapsed;let a;e&&(o.verticalLevel&&i+1>=o.verticalLevel||n.hybrid?((a=m().createElement("ul")).className="nodes",t&&o.verticalLevel&&i+1>=o.verticalLevel&&a.classList.add("hidden"),(o.verticalLevel&&i+1===o.verticalLevel||n.hybrid)&&!e.closest(".vertical")&&a.classList.add("vertical"),e.appendChild(a)):n.compact?r&&r.classList&&r.classList.add("compact"):((a=m().createElement("ul")).className=t?"nodes hidden":"nodes",t&&e.classList.add("isChildrenCollapsed"),e.appendChild(a)),Array.isArray(n.children[0])?(p(n.children,function(){this.level=i+1}),this.buildHierarchy(a,n.children)):p(n.children,function(){var e;this.level=i+1,n.compact?s.buildHierarchy(r,this):((e=m().createElement("li")).className="hierarchy",a.appendChild(e),s.buildHierarchy(e,this))}))},buildHierarchy:function(e,t){const i=this,s=h(e);let o=0;let r;if(s){if(t.level||t[0]?.level)o=t.level;else{let e=s.parentElement;for(;e&&!e.matches(".orgchart");)e.classList&&e.classList.contains("nodes")&&(o+=1),e=e.parentElement;Array.isArray(t)&&Array.isArray(t[0])?p(t,function(){p(this,function(){this.level=o})}):t.level=o}Array.isArray(t)&&Array.isArray(t[0])?p(t,function(){const n=this;p(this,function(e){var t;r=i.createNode(this),2===n.length&&1===e?((t=Array.from(s.querySelectorAll(".node")).find(function(e){return e.id===n[0].id})||null)&&t.parentElement&&t.after(r),this.children&&this.children.length&&this.children[0].length&&i.buildInferiorNodes(t?t.parentElement:null,r,this,o)):((t=m().createElement("li")).className="hierarchy"+(1<n.length?" spouse":"")+(2===n.length?" couple":"")+(!1==!!this.outsider&&2<n.length?" insider":""),0===e?(t.style.setProperty("--ft-width","50%"),t.style.setProperty("--ft-left-offset","50%")):(0<e&&e<n.length-1?t.style.setProperty("--ft-width","100%"):t.style.setProperty("--ft-width","50%"),t.style.setProperty("--ft-left-offset","0px")),t.appendChild(r),s.appendChild(t),this.children&&this.children.length&&this.children[0].length&&i.buildInferiorNodes(t,r,this,o))})}):(2<Object.keys(t).length&&(r=this.createNode(t),s.appendChild(r)),t.children&&t.children.length&&this.buildInferiorNodes(s,r||null,t,o))}},buildChildNode:function(e,t){const n=e&&Array.from(e.children||[]).find(function(e){return e.classList&&e.classList.contains("nodes")})||null,i=this;e&&(n?p(t,function(){var e=m().createElement("li");e.className="hierarchy",n.appendChild(e),i.buildHierarchy(e,this)}):this.buildHierarchy(e,{children:t}))},addChildren:function(e,t){e=h(e);e&&(this.buildChildNode(e.closest(".hierarchy"),t),e.querySelector(".parentNodeSymbol")||(t=Array.from(e.children||[]).find(function(e){return e.classList&&e.classList.contains("title")})||null)&&t.insertAdjacentHTML("afterbegin",`<i class="${this.options.icons.theme} ${this.options.icons.parentNode} parentNodeSymbol"></i>`),e.closest(".nodes.vertical")?e.querySelector(":scope > .toggleBtn")||e.insertAdjacentHTML("beforeend",`<i class="toggleBtn ${this.options.icons.theme}"></i>`):e.querySelector(":scope > .bottomEdge")||e.insertAdjacentHTML("beforeend",`<i class="edge verticalEdge bottomEdge ${this.options.icons.theme}"></i>`),this.isInAction(e))&&(t=Array.from(e.children||[]).find(function(e){return e.classList&&e.classList.contains("bottomEdge")})||null,this.switchVerticalArrow(t))},buildParentNode:function(e,t){var n,i,s,o,e=h(e);e&&(t.relationship=t.relationship||"001",n=e.closest("ul"),e=e.closest(".hierarchy"),i=n?n.closest(".hierarchy"):null,(s=m().createElement("ul")).className="nodes",(o=m().createElement("li")).className="hierarchy",o.appendChild(this.createNode(t)),i&&e?((t=m().createElement("ul")).className="nodes",o.appendChild(t),n.replaceChild(o,e),t.appendChild(e)):(s.appendChild(o),this.chart&&this.chart.prepend(s),n&&(n.classList.add("nodes"),o.appendChild(n))))},addParent:function(e,t){e=h(e);e&&(this.buildParentNode(e,t),e.querySelector(":scope > .topEdge")||(t=Array.from(e.children||[]).find(function(e){return e.classList&&e.classList.contains("title")})||null)&&t.insertAdjacentHTML("afterend",`<i class="edge verticalEdge topEdge ${this.options.icons.theme}"></i>`),this.isInAction(e))&&(t=Array.from(e.children||[]).find(function(e){return e.classList&&e.classList.contains("topEdge")})||null,this.switchVerticalArrow(t))},buildSiblingNode:function(e,t){var n,i,s,o,e=h(e);let r,a;function l(e){e&&!e.children.length&&e.remove()}function c(e){return e?Array.from(e.children).filter(function(e){return e.classList&&e.classList.contains("hierarchy")}):[]}function d(e){let t;if(e)for(t=e.lastElementChild;t;){if(t.classList&&t.classList.contains("nodes"))return t;t=t.previousElementSibling}return null}e&&(n=e.parentElement,i=(Array.isArray(t)?t:t.children).length,i=1<(i=(s=n&&n.classList&&n.classList.contains("nodes")?c(n).length:1)+i)?Math.floor(i/2-1):0,(o=e.closest(".nodes"))&&o.parentElement&&o.parentElement.classList&&o.parentElement.classList.contains("hierarchy")?(o=n?n.closest(".hierarchy"):null,this.buildChildNode(o,t),o=d(o),r=c(o),1<s&&o!==n?(c(n).forEach(function(e){r[0]&&r[0].parentElement&&r[0].parentElement.insertBefore(e,r[0])}),l(n)):o!==n&&((a=r[i]||null)&&a.parentElement&&a.parentElement.insertBefore(e,a.nextSibling),l(n))):((s=m().createElement("li")).className="hierarchy",n&&n.insertBefore(s,n.firstChild),this.buildHierarchy(s,t),o=d(s),(a=o&&c(o)[i]||null)&&a.parentElement&&a.parentElement.insertBefore(e,a.nextSibling)))},addSiblings:function(e,t){e=h(e);let n;e&&(this.buildSiblingNode(e.closest(".hierarchy"),t),(t=e.closest(".nodes"))&&y(t,"siblingsLoaded",!0),Array.from(e.children||[]).some(function(e){return e.classList&&e.classList.contains("leftEdge")})||(n=Array.from(e.children||[]).find(function(e){return e.classList&&e.classList.contains("topEdge")})||null)&&n.insertAdjacentHTML("afterend",`<i class="edge horizontalEdge rightEdge ${this.options.icons.theme}"></i><i class="edge horizontalEdge leftEdge ${this.options.icons.theme}"></i>`),this.isInAction(e))&&(this.switchHorizontalArrow(e),n=Array.from(e.children||[]).find(function(e){return e.classList&&e.classList.contains("topEdge")})||null)&&n.classList&&(n.classList.remove(this.options.icons.expandToUp),n.classList.add(this.options.icons.collapseToDown))},removeNodes:function(e){var t,n,e=h(e);e&&(n=(t=e.closest(".hierarchy"))?t.parentElement:null)&&(n.parentElement&&n.parentElement.classList&&n.parentElement.classList.contains("hierarchy")?this.getNodeState(e,"siblings").exist?(t.remove(),1===n.children.length&&(e=n.querySelector(".node"))&&Array.from(e.querySelectorAll(".horizontalEdge")).forEach(function(e){e.remove()})):((t=n.parentElement.querySelector(":scope > .node"))&&Array.from(t.querySelectorAll(".bottomEdge, .parentNodeSymbol")).forEach(function(e){e.remove()}),n.remove()):(e=n.closest(".orgchart"))&&e.remove())},hideDropZones:function(){var e=this.chart;e&&Array.from(e.querySelectorAll(".allowedDrop")).forEach(function(e){e.classList.remove("allowedDrop")})},showDropZones:function(e){var e=h(e),t=this.chart;t&&(Array.from(t.querySelectorAll(".node")).forEach(function(e){e.classList.add("allowedDrop")}),y(t,"dragged",e))},processExternalDrop:function(e,t){var e=h(e),e=e&&"function"==typeof e.closest?e.closest(".node"):null,n=this.chart;t&&n&&y(n,"dragged",h(t)),e&&e.dispatchEvent(A("drop"))},exportPDF:function(e,t,n){let i={};var n=0<n?n:1,s=Math.floor(e.width/n),n=Math.floor(e.height/n);d().jsPDF||(d().jsPDF=d().jspdf.jsPDF),(i=n<s?new jsPDF({orientation:"landscape",unit:"px",format:[s,n]}):new jsPDF({orientation:"portrait",unit:"px",format:[n,s]})).addImage(e.toDataURL(),"png",0,0,s,n),i.save(t+".pdf")},exportPNG:function(e,t){var n="WebkitAppearance"in m().documentElement.style,i=!!d().sidebar,s=d().navigator,s="Microsoft Internet Explorer"===s.appName||"Netscape"===s.appName&&-1<s.appVersion.indexOf("Edge"),o=this.chartContainer;let r;o&&(!n&&!i||s?d().navigator.msSaveBlob(e.msToBlob(),t+".png"):(n="download-btn"+(""!==this.options.chartClass?" "+this.options.chartClass:""),i=".download-btn"+(""!==this.options.chartClass?"."+this.options.chartClass:""),(r=o.querySelector(i))||((r=m().createElement("a")).className=n,o.appendChild(r)),r.setAttribute("download",t+".png"),r.setAttribute("href",e.toDataURL()),r.click()))},export:function(t,n){const i=this,s=this.chartContainer;let o;var e,r;let a;return t=void 0!==t?t:this.options.exportFilename,n=void 0!==n?n:this.options.exportFileextension,!(s&&s.querySelector(".spinner")||!s)&&((o=s.querySelector(".mask"))?o.classList.remove("hidden"):((o=m().createElement("div")).className="mask",o.insertAdjacentHTML("beforeend",`<i class="${this.options.icons.theme} ${this.options.icons.spinner} spinner"></i>`),s.appendChild(o)),s.classList.add("canvasContainer"),e=Array.from(s.querySelectorAll(".orgchart")).find(function(e){return!e.classList.contains("hidden")})||null,r="l2r"===i.options.direction||"r2l"===i.options.direction,a=0<i.options.exportScale?i.options.exportScale:1,void html2canvas(e,{width:r?e.clientHeight:e.clientWidth,height:r?e.clientWidth:e.clientHeight,scale:a,useCORS:!0,onclone:function(e){var e=e.querySelector(".canvasContainer");e&&(e.style.overflow="visible",e=Array.from(e.querySelectorAll(".orgchart")).find(function(e){return!e.classList.contains("hidden")})||null)&&(e.style.transform="")}}).then(function(e){o&&o.classList.add("hidden"),"pdf"===n.toLowerCase()?i.exportPDF(e,t,a):i.exportPNG(e,t),s.classList.remove("canvasContainer")},function(){s.classList.remove("canvasContainer")}))}},H});
1
+ "use strict";!function(e){"object"==typeof module&&"object"==typeof module.exports?module.exports=e(window,document):window.OrgChart=e(window,document)}(function(e,t,c){const n=new WeakMap,r=new WeakMap,u=()=>"undefined"!=typeof globalThis&&globalThis.window?globalThis.window:e,g=()=>{var e=u();return e&&e.document?e.document:"undefined"!=typeof globalThis&&globalThis.document?globalThis.document:t},o=e=>e&&"number"==typeof e.nodeType,s=e=>e&&"number"==typeof e.length&&"string"!=typeof e&&!o(e),q=e=>"string"==typeof e&&e.trim().startsWith("<")&&e.trim().endsWith(">"),a=e=>"[object Object]"===Object.prototype.toString.call(e),l=e=>Array.from(new Set(e.filter(Boolean)));function m(e,t){return H(e,t||g())[0]||null}function d(e,t){return H(e,t||g())}function h(e){const t=w(e,"sourceData");var n=Array.from(e.parentElement?e.parentElement.children:[]).filter(function(e){return e.classList.contains("nodes")}),i=n.find(function(e){return t&&w(e,"parentData")===t});return i||(n.some(function(e){return!!w(e,"parentData")})?null:(i=e.nextElementSibling)&&i.classList.contains("nodes")?i:e.parentElement&&e.parentElement.classList.contains("hierarchy")&&Array.from(e.parentElement.children).find(function(e){return e.classList.contains("nodes")})||null)}function p(){return Object.assign.apply(Object,[{}].concat(Array.from(arguments)))}function f(e){const t=p({},e);if(t.icons=p({},e.icons),Array.from(arguments).slice(1).forEach(function(e){e&&(Object.assign(t,e,{icons:p({},t.icons,e.icons)}),Object.prototype.hasOwnProperty.call(e,"drag"))&&!Object.prototype.hasOwnProperty.call(e,"draggable")&&(t.draggable=e.drag)}),t.visibleLevel=!0===t.visibleLevel?e.visibleLevel:!1===t.visibleLevel?1:Number(t.visibleLevel),!Number.isInteger(t.visibleLevel)||t.visibleLevel<0)throw new RangeError("visibleLevel must be a nonnegative integer or boolean");if(t.zoomoutLimit=Number(t.zoomoutLimit),t.zoominLimit=Number(t.zoominLimit),!Number.isFinite(t.zoomoutLimit)||!Number.isFinite(t.zoominLimit)||t.zoomoutLimit<=0||t.zoominLimit<t.zoomoutLimit)throw new RangeError("zoom limits must be positive and zoomoutLimit must not exceed zoominLimit");if(["t2b","b2t","l2r","r2l"].includes(t.direction))return t;throw new RangeError("direction must be t2b, b2t, l2r, or r2l")}function v(n,i){if(Array.isArray(n))n.forEach(function(e){v(e,i)});else if(a(n)){var e=["compact","associatedCompact","vertical","level","parentId"];let t=r.get(n);t||(t={},e.forEach(function(e){Object.prototype.hasOwnProperty.call(n,e)&&(t[e]=n[e])}),r.set(n,t)),i&&(delete t.level,delete t.parentId),e.forEach(function(e){Object.prototype.hasOwnProperty.call(t,e)?n[e]=t[e]:delete n[e]}),(n.children||[]).forEach(function(e){v(e,i)})}}function y(e,t,n){return!(!e.compact||e.hybrid||e.vertical||t.verticalLevel&&n+1>=t.verticalLevel)}function E(e,s){let a=null;function l(n,i,r,o,e,t){a||(Array.isArray(n)?n.forEach(function(e,t){l(e,i,n,t,r,o)}):n===s?a={parent:i,list:r,index:o,outerList:e,outerIndex:t}:n&&n.children&&l(n.children,n,null,null,null,null))}return l(e,null,null,null,null,null),a}function L(t,n){if(Array.isArray(t)||s(t))for(let e=0;e<t.length&&!1!==n.call(t[e],e,t[e]);e+=1);else Object.keys(t||{}).some(e=>!1===n.call(t[e],e,t[e]))}function b(e){e=(e=e||"*")&&e.replace(/:not\("([^"]+)"\)/g,":not($1)");const n={selector:e,first:!1,last:!1,gt:null,hidden:!1,visible:!1};return n.selector=n.selector.replace(/:first\b/g,function(){return n.first=!0,""}),n.selector=n.selector.replace(/:last\b/g,function(){return n.last=!0,""}),n.selector=n.selector.replace(/:gt\((\d+)\)/g,function(e,t){return n.gt=Number(t),""}),n.selector=n.selector.replace(/:hidden\b/g,function(){return n.hidden=!0,""}),n.selector=n.selector.replace(/:visible\b/g,function(){return n.visible=!0,""}),n.selector=n.selector.trim()||"*",n}function C(e){if(!e||1!==e.nodeType)return!1;let t=e;for(;t&&1===t.nodeType;){var n=u().getComputedStyle(t);if(t.classList.contains("hidden")||"none"===n.display||"hidden"===n.visibility||"collapse"===n.visibility||"0"===n.opacity)return!1;t=t.parentElement}return!0}function A(e,t){const n=b(t);let i=e.filter(e=>{var t=n.selector;if(!t||"*"===t)return!0;if(!e||1!==e.nodeType)return!1;try{return e.matches(t)}catch(e){return!1}});return n.hidden&&(i=i.filter(e=>!C(e))),n.visible&&(i=i.filter(e=>C(e))),null!==n.gt&&(i=i.filter((e,t)=>t>n.gt)),n.first&&(i=i.slice(0,1)),i=n.last?i.slice(-1):i}function S(e){var t=g().createElement("template");return t.innerHTML=e.trim(),Array.from(t.content.childNodes)}function i(e){return String(e).replace(/-([a-z])/g,(e,t)=>t.toUpperCase())}function N(e){return n.has(e)||n.set(e,{}),n.get(e)}function x(e,t,n){N(e)[i(t)]=n}function w(e,t){e=N(e),t=i(t);return Object.prototype.hasOwnProperty.call(e,t)?e[t]:c}function H(t,n){var e,i;return null===t||t===c?[]:Array.isArray(t)?l(t.flatMap(e=>H(e,n))):o(t)?[t]:s(t)?Array.from(t).flatMap(e=>H(e,n)):"string"==typeof t?q(t)?S(t):(e=g(),i=(i=H(n||e,e)).length?i.flatMap(e=>1!==e.nodeType&&9!==e.nodeType?[]:A(Array.from(e.querySelectorAll(b(t).selector)),t)):A(Array.from(e.querySelectorAll(b(t).selector)),t),l(i)):[]}function D(e,t){e="string"==typeof e?e:e.type,e=new(u().CustomEvent)(e,{bubbles:!0,cancelable:!0,detail:t});return(e.originalEvent=e).data=t,e.delegateTarget=null,e}function T(e,t,n){return Math.min(Math.max(e,t),n)}function M(e){e=(e||"").replace(/\s+/g,"").toLowerCase();return!e||"transparent"===e||"rgba(0,0,0,0)"===e||"hsla(0,0%,0%,0)"===e}function k(e){var t=e?e.querySelector(".title"):null,n=t?u().getComputedStyle(t).backgroundColor:"",t=[e,t,e?e.querySelector(".content"):null].flatMap(function(e){e=e?u().getComputedStyle(e):null;return e?[e.backgroundColor,e.borderTopColor,e.borderRightColor,e.borderBottomColor,e.borderLeftColor]:[]});return e=!M(n)&&n||t.find(function(e){return!M(e)})||"rgba(217, 83, 79, 0.8)",!(n=/^rgba?\(([^)]+)\)$/i.exec((e||"").trim()))||(n=n[1].split(",").slice(0,3).map(function(e){return T(Math.round(.68*parseFloat(e.trim())),0,255)})).some(function(e){return Number.isNaN(e)})?e:"rgb("+n.join(", ")+")"}function O(e){let t=[1,0,0,1,0,0],n=1,i=0,r=0;return e&&(e=u().getComputedStyle(e).transform||e.style.transform||"none")&&"none"!==e&&(0===e.indexOf("matrix3d(")?(t=e.slice(9,-1).split(",").map(function(e){return u().parseFloat(e.trim())}),n=Math.hypot(t[0],t[1],t[2])||1,i=t[12]||0,r=t[13]||0):0===e.indexOf("matrix(")?(t=e.slice(7,-1).split(",").map(function(e){return u().parseFloat(e.trim())}),n=Math.hypot(t[0],t[1])||1,i=t[4]||0,r=t[5]||0):0===e.indexOf("scale3d(")?(t=e.slice(8,-1).split(",").map(function(e){return u().parseFloat(e.trim())}),n=Math.abs(t[0])||1,t=[t[0],0,0,0,0,t[1],0,0,0,0,t[2],0,0,0,0,1]):0===e.indexOf("scale(")&&(t=e.slice(6,-1).split(",").map(function(e){return u().parseFloat(e.trim())}),n=Math.abs(t[0])||1,t=[t[0],0,0,t[1]===c?t[0]:t[1],0,0])),{scale:n,translateX:i,translateY:r,matrix:t}}function B(e,t,n,i,r){const o=t.matrix.slice(),s=n/t.scale;n=16===o.length;(n?[0,1,2,4,5,6,8,9,10]:[0,1,2,3]).forEach(function(e){o[e]*=s}),o[n?12:4]=i,o[n?13:5]=r,e.style.transformOrigin="0 0",e.style.transform=(n?"matrix3d(":"matrix(")+o.join(", ")+")"}function P(o,s,e){var t=o.chart,e=e||w(t,"datasource")||o.options.data;const a=new Map;var n=t.style.transform,i=t.style.transformOrigin;Array.from(t.querySelectorAll(".node")).forEach(function(e){a.set(w(e,"sourceData"),{visible:C(e),expanded:e.classList.contains("compact")?e.classList.contains("looseMode"):o.getNodeState(e,"children").visible})}),v(e,!0),o.init({data:e}),o.chart.style.transform=n,o.chart.style.transformOrigin=i,Array.from(o.chart.querySelectorAll(".node")).forEach(function(e){var t,n=w(e,"sourceData"),i=a.get(n),r=n===s||i&&i.expanded;i&&i.visible&&e.classList.remove("slide-up"),e.classList.contains("compact")?r&&o.getChildren(e).length&&o.backToLooseHandler({compactNode:e}):(t=h(e))&&(i||n===s)&&(t.classList.toggle("hidden",!r),e.closest(".hierarchy").classList.toggle("isChildrenCollapsed",!r),r)&&o.getChildren(e).forEach(function(e){e.classList.remove("slide-up")})}),o.updateMinimap(!0)}function I(e,t){if(!(this instanceof I))return new I(e,t);a(e)&&!t?(this.opts=e,this.chartContainer=m(e.chartContainer||e.container)):(this.chartContainer=m(e),this.opts=t||{}),this.chart=null,this.exportButtonElement=null,this.defaultOptions={icons:{theme:"oci",parentNode:"oci-menu",expandToUp:"oci-chevron-up",collapseToDown:"oci-chevron-down",collapseToLeft:"oci-chevron-left",expandToRight:"oci-chevron-right",backToCompact:"oci-corner-top-left",backToLoose:"oci-corner-bottom-right",collapsed:"oci-plus-square",expanded:"oci-minus-square",spinner:"oci-spinner"},nodeTitle:"name",nodeId:"id",toggleSiblingsResp:!1,visibleLevel:999,chartClass:"",exportButton:!1,exportButtonName:"Export",exportFilename:"OrgChart",exportFileextension:"png",exportScale:2,draggable:!1,direction:"t2b",pan:!1,minimap:!1,zoom:!1,zoominLimit:7,zoomoutLimit:.5},this.chartContainer&&this.init()}return"object"==typeof module&&"object"==typeof module.exports&&Object.defineProperty(I,"__testing__",{value:{getState:w,setState:x}}),I.prototype={init:function(e){var t,e=f(this.defaultOptions,this.opts,e),e=(this.opts=e,this.options=e,this.chartContainer);let n,i;this.detachMinimap(),this.chart&&((r=w(this.chart,"initMutationObserver"))&&r.disconnect(),this.panEndHandler({chart:this.chart}),this.unbindPan(),this.unbindZoom(),this.chart.remove());var r=this.options.data,o=((n=g().createElement("div")).className="orgchart"+(""!==this.options.chartClass?" "+this.options.chartClass:"")+("t2b"!==this.options.direction?" "+this.options.direction:""),x(n,"options",this.options),(this.chart=n).addEventListener("click",function(e){var e=m((e.originalEvent||e).target);e&&"function"==typeof e.closest&&e.closest(".node")||(Array.from(n.querySelectorAll(".node.focused")).forEach(function(e){e.classList.remove("focused")}),(e=g().activeElement)&&n.contains(e)&&e.closest(".node")&&e.blur())}),void 0!==u().MutationObserver&&this.triggerInitEvent(),(o=r)&&(1===o.nodeType||9===o.nodeType||o===u())&&"UL"===r.tagName),s=o?this.buildJsonDS(r.firstElementChild):r;return v(s),x(n,"datasource",s),this.options.data=s,this.opts.data=s,(t=g().createElement("ul")).className="nodes",n.appendChild(t),i=!o&&Array.isArray(r)?t:((o=g().createElement("li")).className="hierarchy",t.appendChild(o),o),this.buildHierarchy(i,s),e&&e.appendChild(n),this.options.exportButton?this.exportButtonElement&&this.exportButtonElement.parentElement?this.exportButtonElement.textContent=this.options.exportButtonName:this.attachExportButton():this.exportButtonElement&&(this.exportButtonElement.remove(),this.exportButtonElement=null),this.options.pan&&this.bindPan(),this.options.zoom&&this.bindZoom(),this.options.minimap&&this.attachMinimap(),this},handleCompactNodes:function(){var e=this.chart;e&&Array.from(e.querySelectorAll(".node.compact")).forEach(function(e){let t=0,n=e.parentElement;for(;n;)n.classList&&n.classList.contains("compact")&&(t+=1),n=n.parentElement;e.classList.add(t%2==0?"even":"odd")})},triggerInitEvent:function(){const i=this,r=this.chart,o=this.options;const e=new(u().MutationObserver)(function(n){e.disconnect(),x(r,"initMutationObserver",null);e:for(let t=0;t<n.length;t++)for(let e=0;e<n[t].addedNodes.length;e++)if(n[t].addedNodes[e]===r){if(i.handleCompactNodes(),!r.isConnected)break e;o.initCompleted&&"function"==typeof o.initCompleted&&o.initCompleted(r),r.dispatchEvent(D("init.orgchart"));break e}});x(r,"initMutationObserver",e),e.observe(this.chartContainer,{childList:!0})},triggerShowEvent:function(e,t){e&&"function"==typeof e.dispatchEvent&&e.dispatchEvent(D("show-"+t+".orgchart"))},triggerHideEvent:function(e,t){e&&"function"==typeof e.dispatchEvent&&e.dispatchEvent(D("hide-"+t+".orgchart"))},attachExportButton:function(){const t=this;var e,n=this.chartContainer;n&&n.parentElement&&((e=g().createElement("button")).className="oc-export-btn",e.textContent=this.options.exportButtonName,x(e,"orgChart",this),e.addEventListener("click",function(e){e.preventDefault(),t.export()}),this.exportButtonElement=e,n.insertAdjacentElement("afterend",e))},setOptions:function(e,t){t="string"==typeof e?{[e]:t}:e;if(t&&"object"==typeof t){e=f(this.defaultOptions,this.opts,this.options,t);if(Object.keys(t).some(function(e){return!["pan","zoom","minimap","zoominLimit","zoomoutLimit","exportScale","exportFilename","exportFileextension"].includes(e)}))return this.init(e);this.opts=e,this.options=e,this.chart&&x(this.chart,"options",e),Object.prototype.hasOwnProperty.call(t,"pan")&&(e.pan?this.bindPan():(this.panEndHandler({chart:this.chart}),this.unbindPan())),Object.prototype.hasOwnProperty.call(t,"zoom")&&(e.zoom?this.bindZoom():this.unbindZoom()),Object.prototype.hasOwnProperty.call(t,"minimap")&&(e.minimap?this.attachMinimap():this.detachMinimap())}return this},attachMinimap:function(){const t=this;var e,n,i,r,o,s,a,l=this.chartContainer,c=this.chart;let d,h;l&&c&&(this.detachMinimap(),u().getComputedStyle(l).position&&"static"!==u().getComputedStyle(l).position||(x(l,"minimapOriginalPosition",l.style.position||""),x(l,"minimapManagedPosition",!0),l.style.position="relative"),(e=g().createElement("div")).className="orgchart-minimap",(n=g().createElement("div")).className="orgchart-minimap-stage",(i=g().createElement("div")).className="orgchart-minimap-content",(r=g().createElement("div")).className="orgchart-minimap-viewport",n.appendChild(i),n.appendChild(r),e.appendChild(n),l.appendChild(e),s=function(e){t.minimapStartHandler(e)},e.addEventListener("wheel",o=function(e){t.minimapWheelHandler(e)},{passive:!(a=function(){t.updateMinimap()})}),r.addEventListener("mousedown",s),l.addEventListener("scroll",a),u().addEventListener("resize",a),void 0!==u().MutationObserver&&(d=new(u().MutationObserver)(function(e){const n=".edge, .toggleBtn, .backToCompactSymbol, .backToLooseSymbol";e.some(function(e){var t;return"childList"===e.type?Array.from(e.addedNodes).concat(Array.from(e.removedNodes)).some(function(e){return 1!==e.nodeType||!e.matches(n)}):!e.target.matches(n)&&(t=function(e){return(e||"").split(/\s+/).filter(function(e){return e&&"controls-active"!==e&&"focused"!==e}).sort().join(" ")})(e.oldValue)!==t(e.target.className)})&&t.updateMinimap(!0)})).observe(c,{childList:!0,subtree:!0,attributes:!0,attributeOldValue:!0,attributeFilter:["class"]}),void 0!==u().ResizeObserver&&((h=new(u().ResizeObserver)(function(){t.updateMinimap(!0)})).observe(l),h.observe(c)),x(c,"minimapElement",e),x(c,"minimapStageElement",n),x(c,"minimapContentElement",i),x(c,"minimapViewportElement",r),x(c,"minimapWheelBoundHandler",o),x(c,"minimapPointerDownBoundHandler",s),x(c,"minimapViewportChangeBoundHandler",a),x(c,"minimapMutationObserver",d||null),x(c,"minimapResizeObserver",h||null),this.updateMinimap(!0))},detachMinimap:function(){var e,t,n,i,r,o,s,a,l,c=this.chartContainer;const d=this.chart;d&&(e=w(d,"minimapElement"),t=w(d,"minimapViewportElement"),n=w(d,"minimapWheelBoundHandler"),i=w(d,"minimapPointerDownBoundHandler"),r=w(d,"minimapMoveBoundHandler"),o=w(d,"minimapEndBoundHandler"),s=w(d,"minimapMutationObserver"),a=w(d,"minimapViewportChangeBoundHandler"),l=w(d,"minimapResizeObserver"),e&&n&&e.removeEventListener("wheel",n),t&&i&&t.removeEventListener("mousedown",i),r&&g().removeEventListener("mousemove",r),o&&g().removeEventListener("mouseup",o),s&&s.disconnect(),a&&(c.removeEventListener("scroll",a),u().removeEventListener("resize",a)),l&&l.disconnect(),e&&e.parentElement&&e.remove(),["minimapElement","minimapStageElement","minimapContentElement","minimapViewportElement","minimapWheelBoundHandler","minimapPointerDownBoundHandler","minimapMoveBoundHandler","minimapEndBoundHandler","minimapMutationObserver","minimapViewportChangeBoundHandler","minimapResizeObserver","minimapDragState","minimapScale","minimapOffsetX","minimapOffsetY","minimapContentWidth","minimapContentHeight"].forEach(function(e){x(d,e,null)})),c&&w(c,"minimapManagedPosition")&&(c.style.position=w(c,"minimapOriginalPosition")||"",x(c,"minimapManagedPosition",null),x(c,"minimapOriginalPosition",null))},minimapWheelHandler:function(e){var t=this.chartContainer;this.chart&&t&&("function"==typeof e.preventDefault&&e.preventDefault(),"function"==typeof e.stopPropagation&&e.stopPropagation(),this.setChartScale(this.chart,1+(0<e.deltaY?-.2:.2),{x:t.getBoundingClientRect().left+t.clientWidth/2,y:t.getBoundingClientRect().top+t.clientHeight/2}))},minimapStartHandler:function(e){var t=this.chart,n=t?w(t,"minimapViewportElement"):null,i=this.minimapMoveHandler.bind(this),r=this.minimapEndHandler.bind(this),o=n?n.getBoundingClientRect():null;t&&n&&o&&("function"==typeof e.preventDefault&&e.preventDefault(),x(t,"minimapDragState",{startClientX:e.clientX,startClientY:e.clientY,startLeft:o.left,startTop:o.top,viewportWidth:o.width,viewportHeight:o.height}),x(t,"minimapMoveBoundHandler",i),x(t,"minimapEndBoundHandler",r),g().addEventListener("mousemove",i),g().addEventListener("mouseup",r))},minimapMoveHandler:function(e){var t=this.chart,n=t?w(t,"minimapDragState"):null,i=t?w(t,"minimapStageElement"):null;t&&n&&i&&(t=i.getBoundingClientRect(),this.moveChartFromMinimap(n.startLeft+(e.clientX-n.startClientX)-t.left,n.startTop+(e.clientY-n.startClientY)-t.top,n.viewportWidth,n.viewportHeight))},minimapEndHandler:function(){var e=this.chart,t=e?w(e,"minimapMoveBoundHandler"):null,n=e?w(e,"minimapEndBoundHandler"):null;t&&(g().removeEventListener("mousemove",t),x(e,"minimapMoveBoundHandler",null)),n&&(g().removeEventListener("mouseup",n),x(e,"minimapEndBoundHandler",null)),e&&x(e,"minimapDragState",null)},moveChartFromMinimap:function(e,t,n,i){var r=this.chart,o=this.chartContainer,s=r?w(r,"minimapStageElement"):null,a=r?w(r,"minimapScale"):null,l=r?w(r,"minimapOffsetX"):0,c=r?w(r,"minimapOffsetY"):0,d=r?w(r,"minimapContentWidth"):0,h=r?w(r,"minimapContentHeight"):0,u=O(r),p=r?r.getBoundingClientRect():null,m=o?o.getBoundingClientRect():null;r&&o&&s&&a&&p&&m&&(o=i/a,s=T((e-l)/a,0,Math.max(d-n/a,0)),p=T((t-c)/a,0,Math.max(h-o,0)),B(r,u,u.scale,u.translateX,u.translateY),i=r.getBoundingClientRect(),B(r,u,u.scale,u.translateX+m.left-s*u.scale-i.left,u.translateY+m.top-p*u.scale-i.top),this.updateMinimap())},updateMinimap:function(e){var t=this.chart,n=this.chartContainer,i=t?w(t,"minimapStageElement"):null,r=t?w(t,"minimapContentElement"):null,o=t?w(t,"minimapViewportElement"):null,s=O(t),a=t?t.getBoundingClientRect():null,l=n?n.getBoundingClientRect():null;if(this.options&&this.options.minimap&&t&&n&&i&&r&&o&&a&&l){var c=0!==s.scale&&a.width?a.width/s.scale:t.scrollWidth||t.offsetWidth||1,d=0!==s.scale&&a.height?a.height/s.scale:t.scrollHeight||t.offsetHeight||1,h=i.clientWidth||180,i=i.clientHeight||120,u=(h-c*(h=Math.min(h/Math.max(c,1),i/Math.max(d,1))))/2,i=(i-d*h)/2;if(w(t,"minimapElement").style.transform="translate("+n.scrollLeft+"px, "+n.scrollTop+"px)",r.style.width=c+"px",r.style.height=d+"px",r.style.transformOrigin="0 0",r.style.transform="translate("+u+"px, "+i+"px) scale("+h+")",e||!r.firstElementChild){var n=t;var e=r;var p=a;var m=s.scale||1;const f=g().createDocumentFragment();Array.from(n.querySelectorAll(".node")).filter(C).forEach(function(e){var t=e.getBoundingClientRect(),n=g().createElement("div"),i=(t.top-p.top)/m;n.className="orgchart-minimap-node",n.style.left=Math.max((t.left-p.left)/m,0)+"px",n.style.top=Math.max(i+(t.height/m-18)/2,0)+"px",n.style.width=Math.max(t.width/m,6)+"px",n.style.height="18px",n.style.backgroundColor=k(e),f.appendChild(n)}),e.innerHTML="",e.appendChild(f)}r=T((l.left-a.left)/s.scale,0,Math.max(c,0)),n=T((l.top-a.top)/s.scale,0,Math.max(d,0)),e=Math.min(c,l.width/s.scale),a=Math.min(d,l.height/s.scale),o.style.width=Math.max(e*h,12)+"px",o.style.height=Math.max(a*h,12)+"px",o.style.transform="translate("+(u+r*h)+"px, "+(i+n*h)+"px)",x(t,"minimapScale",h),x(t,"minimapOffsetX",u),x(t,"minimapOffsetY",i),x(t,"minimapContentWidth",c),x(t,"minimapContentHeight",d)}},panStartHandler:function(n){const s=this;var i=n.originalEvent||n;const a=m(n.chart||i.currentTarget);var l,n=m(i.target);if(a)if(n&&"function"==typeof n.closest&&n.closest(".node")||i.touches&&1<i.touches.length)x(a,"panning",!1);else{a.style.cursor="move",x(a,"panning",!0);let e=0,t=0;"none"!==(n=a.style.transform||u().getComputedStyle(a).transform||"none")&&(l=n.split(","),t=-1===n.indexOf("3d")?(e=parseFloat(l[4])||0,parseFloat(l[5])||0):(e=parseFloat(l[12])||0,parseFloat(l[13])||0));let r=0,o=0;if(i.targetTouches){if(1===i.targetTouches.length)r=i.targetTouches[0].pageX-e,o=i.targetTouches[0].pageY-t;else if(1<i.targetTouches.length)return}else r=("number"==typeof i.pageX?i.pageX:i.clientX)-e,o=("number"==typeof i.pageY?i.pageY:i.clientY)-t;(n=w(a,"panMoveHandler"))&&(a.removeEventListener("mousemove",n),a.removeEventListener("touchmove",n)),l=function(n){var i;if(w(a,"panning")){let e=0,t=0;if(n.targetTouches){if(1===n.targetTouches.length)e=n.targetTouches[0].pageX-r,t=n.targetTouches[0].pageY-o;else if(1<n.targetTouches.length)return}else e=("number"==typeof n.pageX?n.pageX:n.clientX)-r,t=("number"==typeof n.pageY?n.pageY:n.clientY)-o;"none"===(n=a.style.transform||u().getComputedStyle(a).transform||"none")?-1===n.indexOf("3d")?a.style.transform="matrix(1, 0, 0, 1, "+e+", "+t+")":a.style.transform="matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, "+e+", "+t+", 0, 1)":(i=n.split(","),-1===n.indexOf("3d")?(i[4]=" "+e,i[5]=" "+t+")"):(i[12]=" "+e,i[13]=" "+t),a.style.transform=i.join(",")),s.updateMinimap()}},x(a,"panMoveHandler",l),a.addEventListener("mousemove",l),a.addEventListener("touchmove",l)}},panEndHandler:function(e){var t=e.originalEvent||e,e=m(e.chart||t.chart||t.currentTarget);e&&w(e,"panning")&&(t=w(e,"panMoveHandler"),x(e,"panning",!1),e.style.cursor="default",t)&&(e.removeEventListener("mousemove",t),e.removeEventListener("touchmove",t),x(e,"panMoveHandler",null))},bindPan:function(){const t=this;var e,n=this.chartContainer;const i=this.chart;n&&i&&(this.unbindPan(),n.style.overflow="hidden",n=function(e){t.panStartHandler({chart:i,originalEvent:e})},e=function(){t.panEndHandler({chart:i})},x(i,"panStartBoundHandler",n),x(i,"panEndBoundHandler",e),i.addEventListener("mousedown",n),i.addEventListener("touchstart",n),g().addEventListener("mouseup",e),g().addEventListener("touchend",e))},unbindPan:function(){var e,t=this.chartContainer,n=this.chart;t&&n&&(t.style.overflow="auto",t=w(n,"panStartBoundHandler"),e=w(n,"panEndBoundHandler"),t&&(n.removeEventListener("mousedown",t),n.removeEventListener("touchstart",t),x(n,"panStartBoundHandler",null)),e)&&(g().removeEventListener("mouseup",e),g().removeEventListener("touchend",e),x(n,"panEndBoundHandler",null))},zoomWheelHandler:function(e){var t=e.originalEvent||e,e=e.orgChart,n=e?e.chartContainer:null,i=n&&"function"==typeof n.getBoundingClientRect?n.getBoundingClientRect():null,r=t&&"number"==typeof t.clientX&&"number"==typeof t.clientY;let o=null;if(e&&e.chart&&n){if(i&&r){if(t.clientX<i.left||t.clientX>i.right||t.clientY<i.top||t.clientY>i.bottom)return;o={x:t.clientX,y:t.clientY}}t&&"function"==typeof t.preventDefault&&t.preventDefault();n=1+(0<t.deltaY?-.2:.2);e.setChartScale(e.chart,n,o)}},zoomStartHandler:function(e){var t,n,i=e.originalEvent||e;i.touches&&2===i.touches.length&&(t=(e=e.orgChart).chart)&&(x(t,"pinching",!0),n=e.getPinchDist(i),e=e.getPinchCenter(i),x(t,"pinchDistStart",n),x(t,"pinchDistEnd",n),x(t,"pinchCenterStart",e),x(t,"pinchCenterEnd",e))},zoomingHandler:function(e){var t,n=e.originalEvent||e,e=e.orgChart,i=e.chart;i&&w(i,"pinching")&&n.touches&&2===n.touches.length&&(t=e.getPinchDist(n),e=e.getPinchCenter(n),x(i,"pinchDistEnd",t),x(i,"pinchCenterEnd",e))},zoomEndHandler:function(e){var t,e=e.orgChart,n=e.chart;n&&w(n,"pinching")&&(x(n,"pinching",!1),t=w(n,"pinchDistEnd")-w(n,"pinchDistStart"),n=w(n,"pinchCenterEnd")||w(n,"pinchCenterStart")||null,0<t?e.setChartScale(e.chart,1.2,n):t<0&&e.setChartScale(e.chart,.8,n))},bindZoom:function(){const t=this;var e,n,i,r,o=this.chartContainer,s=this.chart;o&&s&&(this.unbindZoom(),n=function(e){t.zoomStartHandler({orgChart:t,originalEvent:e})},i=function(e){t.zoomingHandler({orgChart:t,originalEvent:e})},r=function(){t.zoomEndHandler({orgChart:t})},x(s,"zoomWheelBoundHandler",e=function(e){t.zoomWheelHandler({orgChart:t,originalEvent:e})}),x(s,"zoomStartBoundHandler",n),x(s,"zoomingBoundHandler",i),x(s,"zoomEndBoundHandler",r),o.addEventListener("wheel",e),o.addEventListener("touchstart",n),g().addEventListener("touchmove",i),g().addEventListener("touchend",r))},unbindZoom:function(){var e,t,n,i,r=this.chartContainer,o=this.chart;r&&o&&(e=w(o,"zoomWheelBoundHandler"),t=w(o,"zoomStartBoundHandler"),n=w(o,"zoomingBoundHandler"),i=w(o,"zoomEndBoundHandler"),e&&(r.removeEventListener("wheel",e),x(o,"zoomWheelBoundHandler",null)),t&&(r.removeEventListener("touchstart",t),x(o,"zoomStartBoundHandler",null)),n&&(g().removeEventListener("touchmove",n),x(o,"zoomingBoundHandler",null)),i)&&(g().removeEventListener("touchend",i),x(o,"zoomEndBoundHandler",null))},getPinchDist:function(e){e=e.originalEvent||e;return Math.sqrt((e.touches[0].clientX-e.touches[1].clientX)*(e.touches[0].clientX-e.touches[1].clientX)+(e.touches[0].clientY-e.touches[1].clientY)*(e.touches[0].clientY-e.touches[1].clientY))},getPinchCenter:function(e){e=e.originalEvent||e;return{x:(e.touches[0].clientX+e.touches[1].clientX)/2,y:(e.touches[0].clientY+e.touches[1].clientY)/2}},setChartScale:function(e,t,n){var i,r,o,e=m(e),s=this.chartContainer;let a,l;e&&(r=w(e,"options"),o=O(e),!Number.isFinite(t)||t<=0||(t=T(o.scale*t,r.zoomoutLimit,r.zoominLimit))!==o.scale&&(a=o.translateX,l=o.translateY,r="function"==typeof e.getBoundingClientRect?e.getBoundingClientRect():null,!n&&s&&"function"==typeof s.getBoundingClientRect&&(n={x:(s=s.getBoundingClientRect()).left+s.width/2,y:s.top+s.height/2}),B(e,o,t,a,l),n&&r&&"number"==typeof n.x&&"number"==typeof n.y&&0!==o.scale&&(s=t/o.scale,i=e.getBoundingClientRect(),a+=n.x+(r.left-n.x)*s-i.left,l+=n.y+(r.top-n.y)*s-i.top),B(e,o,t,a,l),this.updateMinimap()))},buildJsonDS:function(e){const t=this;var n,e=m(e);let i;return e?(n=Array.from(e.children||[]).find(function(e){return"UL"===e.tagName})||null,i={name:(e.childNodes&&e.childNodes[0]?e.childNodes[0].textContent:"").trim()},L((e=e).dataset?Object.assign({},e.dataset):{},function(e,t){i[e]=t}),n&&Array.from(n.children).forEach(function(e){"LI"===e.tagName&&(i.children||(i.children=[]),i.children.push(t.buildJsonDS(e)))}),i):{}},loopChart:function(e,t){const n=this;var e=m(e);let i;if(t=null!==t&&t!==c&&t,!e)return{};if(!(e=e.classList&&e.classList.contains("node")?e:e.classList&&e.classList.contains("hierarchy")?Array.from(e.children||[]).find(function(e){return e.classList&&e.classList.contains("node")}):e.querySelector(".node")))return{};i={id:e.id},t&&L(w(e,"nodeData"),function(e,t){i[e]=t});e=this.getChildren(e);return e.length&&(i.children=e.map(function(e){return n.loopChart(e,t)})),i},getHierarchy:function(i){var e=this.chart;let r;if(i=null!==i&&i!==c&&i,!e)return"Error: orgchart does not exist";if(!(r=e?Array.from(e.querySelectorAll(".node")):[]).length)return"Error: nodes do not exist";if(r.some(function(e){return!e.id}))return"Error: All nodes of orghcart to be exported must have data-id attribute!";var t=w(e,"datasource");if(Array.isArray(t)){const o=function(e){return e.map(function(e){return e.map(function(t){var e=r.find(function(e){return w(e,"sourceData")===t}),n=i?p({},w(e,"nodeData")):{};return n.id=e.id,t.children&&t.children.length&&(n.children=Array.isArray(t.children[0])?o(t.children):t.children.map(function(t){var e=r.find(function(e){return w(e,"sourceData")===t});return this.loopChart(e,i)},this)),n},this)},this)}.bind(this);return o(t)}return this.loopChart(e,i)},getNodeState:function(e,t){var n,i,e=m(e);return e&&e.classList&&e.classList.contains("node")?"parent"===(t=t||"self")?{exist:!!(n=this.getParent(e)),visible:!!n&&this.getNodeState(n).visible}:"children"===t?(n=this.getChildren(e),i=h(e),{exist:0<n.length||!!i,visible:0<n.length?n.some(function(e){return this.getNodeState(e).visible},this):!!i&&!i.closest(".hidden")&&this.getNodeState(e).visible}):"siblings"===t?{exist:0<(n=this.getSiblings(e)).length,visible:0<n.length&&n.every(function(e){return this.getNodeState(e).visible},this)}:(i=e.parentElement?e.parentElement.closest(".node.compact:not(.looseMode)"):null,{exist:!0,visible:!e.closest(".hidden")&&!i}):{exist:!1,visible:!1}},getParent:function(e){return this.getRelatedNodes(e,"parent")},getChildren:function(e){return this.getRelatedNodes(e,"children")},getSiblings:function(e){return this.getRelatedNodes(e,"siblings")},getRelatedNodes:function(e,t){const n=m(e);if(!n||!n.classList||!n.classList.contains("node"))return"parent"===t?null:[];if("parent"!==t)return"children"===t?(e=Array.from(n.children).filter(function(e){return e.classList.contains("node")})).length?e:(e=h(n))?Array.from(e.children).filter(function(e){return e.classList&&e.classList.contains("hierarchy")}).flatMap(function(e){return Array.from(e.children).filter(function(e){return e.classList.contains("node")})}):[]:"siblings"===t?n.parentElement&&n.parentElement.classList.contains("node")?Array.from(n.parentElement.children).filter(function(e){return e!==n&&e.classList.contains("node")}):(e=n.closest(".hierarchy"))&&e.parentElement?Array.from(e.parentElement.children).filter(function(e){return e.classList.contains("hierarchy")}).flatMap(function(e){return Array.from(e.children).filter(function(e){return e!==n&&e.classList.contains("node")})}):[]:[];{if(n.parentElement&&n.parentElement.classList.contains("node"))return n.parentElement;const i=(t=n.closest(".nodes"))?w(t,"parentData"):null;return i?Array.from(n.closest(".orgchart").querySelectorAll(".node")).find(function(e){return w(e,"sourceData")===i})||null:t?t.previousElementSibling:null}},hideParentEnd:function(e){var t=e.originalEvent||e,n=m(e.animatedNode||t.animatedNode||t.target),e=m(e.parent||t.parent);n&&n.classList&&n.classList.remove("sliding"),e&&e.classList&&e.classList.add("hidden")},hideParent:function(e){var t,n,e=m(e);let i;e&&(i=this.getParent(e),t=e.closest(".orgchart"),n=e.closest(".hierarchy"),i&&i.querySelector&&i.querySelector(".spinner")&&t&&x(t,"inAjax",!1),this.getNodeState(e,"siblings").visible&&this.hideSiblings(e),n&&n.classList.add("isAncestorsCollapsed"),this.getNodeState(i).visible&&(i.classList.add("sliding","slide-down"),i.addEventListener("transitionend",function(e){e.animatedNode=i,e.parent=i,I.prototype.hideParentEnd(e)},{once:!0})),this.getNodeState(i,"parent").visible)&&this.hideParent(i)},showParentEnd:function(e){var t=e.originalEvent||e,n=m(e.animatedNode||t.animatedNode||t.target),e=m(e.node||t.node);n&&n.classList&&n.classList.remove("sliding"),this.isInAction(e)&&(t=e&&Array.from(e.children||[]).find(function(e){return e.classList&&e.classList.contains("topEdge")})||null,this.switchVerticalArrow(t))},showParent:function(e){const t=this,n=m(e);let i;n&&(i=this.getParent(n),e=n.closest(".hierarchy"),i&&i.classList&&i.classList.remove("hidden"),e&&e.classList.remove("isAncestorsCollapsed"),this.repaint(i),i)&&i.classList&&(i.classList.add("sliding"),i.classList.remove("slide-down"),i.addEventListener("transitionend",function(e){e.animatedNode=i,e.node=n,t.showParentEnd(e)},{once:!0}))},stopAjax:function(e){var e=m(e);e&&e.querySelector(".spinner")&&(e=e.closest(".orgchart"))&&x(e,"inAjax",!1)},isVisibleNode:function(e,t){return this.getNodeState(t).visible},isCompactDescendant:function(e,t){return!!(t&&t.parentElement&&t.parentElement.matches(".node.compact"))},hideChildrenEnd:function(e){var t=e.originalEvent||e,n=m(e.node||t.node);d(e.animatedNodes||t.animatedNodes).forEach(function(e){e.classList&&e.classList.remove("sliding"),(e=e&&"function"==typeof e.closest?e.closest(".nodes"):null)&&e.classList&&e.classList.add("hidden")}),this.isInAction(n)&&(e=n&&Array.from(n.children||[]).find(function(e){return e.classList&&e.classList.contains("bottomEdge")})||null,this.switchVerticalArrow(e))},hideChildren:function(e){const t=this,n=m(e);var i;let r;n&&(e=n.closest(".hierarchy"),i=h(n))&&(e&&e.classList.add("isChildrenCollapsed"),this.stopAjax(i),r=Array.from(i.querySelectorAll(".node")).filter(function(e,t){return this.isVisibleNode(t,e)&&!this.isCompactDescendant(t,e)},this),i.classList.contains("vertical")||r.forEach(function(e){e=e.closest(".hierarchy");e&&e.classList.add("isCollapsedDescendant")}),(i.classList.contains("vertical")||i.querySelector(".vertical"))&&r.forEach(function(e){Array.from(e.querySelectorAll("."+this.options.icons.expanded)).forEach(function(e){e.classList.remove(this.options.icons.expanded),e.classList.add(this.options.icons.collapsed)},this)},this),this.repaint(r[0]),r.forEach(function(e){e.classList.add("sliding","slide-up")}),r[0])&&r[0].addEventListener("transitionend",function(e){e.node=n,e.animatedNodes=r,t.hideChildrenEnd(e)},{once:!0})},showChildrenEnd:function(e){var t=e.originalEvent||e,n=m(e.node||t.node);d(e.animatedNodes||t.animatedNodes).forEach(function(e){e.classList&&e.classList.remove("sliding")}),this.isInAction(n)&&(e=n&&Array.from(n.children||[]).find(function(e){return e.classList&&e.classList.contains("bottomEdge")})||null,this.switchVerticalArrow(e))},showChildren:function(e){const t=this,n=m(e);var i;let r;n&&(e=n.closest(".hierarchy"),i=h(n))&&(e&&e.classList.remove("isChildrenCollapsed"),i.classList.remove("hidden"),e=i.classList.contains("vertical"),r=e?Array.from(i.querySelectorAll(".node")).filter(function(e,t){return this.isVisibleNode(t,e)},this):this.getChildren(n).filter(function(e,t){return this.isVisibleNode(t,e)},this),e||r.forEach(function(e){var t=e.closest(".hierarchy");t&&!e.matches(":only-child")&&t.classList.add("isChildrenCollapsed"),t&&t.classList.remove("isCollapsedDescendant")}),this.repaint(r[0]),r.forEach(function(e){e.classList.add("sliding"),e.classList.remove("slide-up")}),r[0])&&r[0].addEventListener("transitionend",function(e){e.node=n,e.animatedNodes=r,t.showChildrenEnd(e)},{once:!0})},hideSiblingsEnd:function(e){const t=this;var n=e.originalEvent||e,i=m(e.node||n.node);const r=m(e.nodeContainer||n.nodeContainer);let o=(void 0!==e.direction?e:n).direction;e=e.animatedNodes||n.animatedNodes;void 0===o&&(o=n.direction);let s=[],a;if(r)if("left"===o)for(a=r.previousElementSibling;a;)a.classList.contains("hidden")||s.push(a),a=a.previousElementSibling;else if("right"===o)for(a=r.nextElementSibling;a;)a.classList.contains("hidden")||s.push(a),a=a.nextElementSibling;else r.parentElement&&(s=Array.from(r.parentElement.children).filter(function(e){return e!==r}));d(e).forEach(function(e){e.classList&&e.classList.remove("sliding")}),s.forEach(function(e){Array.from(e.querySelectorAll(".node")).filter(function(e){return t.isVisibleNode(null,e)}).slice(1).forEach(function(e){e.classList.remove("slide-left","slide-right"),t.options.compact||e.classList.add("slide-up")}),Array.from(e.querySelectorAll(".nodes, .vertical")).forEach(function(e){e.classList.add("hidden")}),e.classList.add("hidden")}),this.isInAction(i)&&this.switchHorizontalArrow(i)},hideSiblings:function(t,n){const i=this,r=m(t);var e;let o;t=[];let s=[];if(r&&(e=r.closest(".orgchart"),o=r.closest(".hierarchy"))){if(o.classList.add("isSiblingsCollapsed"),(t=o.parentElement?Array.from(o.parentElement.children).filter(function(e){return e!==o}):[]).some(function(e){return e.querySelector(".spinner")})&&e&&x(e,"inAjax",!1),n)if("left"===n){let e=o.previousElementSibling;for(o.classList.add("left-sibs"),t.forEach(function(e){e.classList.contains("isSiblingsCollapsed")&&e.classList.remove("isSiblingsCollapsed","left-sibs")});e;)e.classList.add("isCollapsedSibling","isChildrenCollapsed"),s=s.concat(Array.from(e.querySelectorAll(".node")).filter(function(e,t){return this.isVisibleNode(t,e)},this)),e=e.previousElementSibling;s.forEach(function(e){e.classList.add("sliding","slide-right")})}else{let e=o.nextElementSibling;for(o.classList.add("right-sibs"),t.forEach(function(e){e.classList.contains("isSiblingsCollapsed")&&e.classList.remove("isSiblingsCollapsed","right-sibs")});e;)e.classList.add("isCollapsedSibling","isChildrenCollapsed"),s=s.concat(Array.from(e.querySelectorAll(".node")).filter(function(e,t){return this.isVisibleNode(t,e)},this)),e=e.nextElementSibling;s.forEach(function(e){e.classList.add("sliding","slide-left")})}else t.forEach(function(t){var e=Array.from(t.querySelectorAll(".node")).filter(function(e,t){return this.isVisibleNode(t,e)},this);t.classList.add("isCollapsedSibling","isChildrenCollapsed"),s=s.concat(e),e.forEach(function(e){e.classList.add("sliding"),t.compareDocumentPosition(o)&Node.DOCUMENT_POSITION_FOLLOWING?e.classList.add("slide-right"):e.classList.add("slide-left")})},this);s[0]&&s[0].addEventListener("transitionend",function(e){e.node=r,e.nodeContainer=o,e.direction=n,e.animatedNodes=s,i.hideSiblingsEnd(e)},{once:!0})}},showSiblingsEnd:function(e){var t=e.originalEvent||e,n=m(e.node||t.node);d(e.visibleNodes||t.visibleNodes).forEach(function(e){e.classList&&e.classList.remove("sliding")}),this.isInAction(n)&&(this.switchHorizontalArrow(n),e=n&&Array.from(n.children||[]).find(function(e){return e.classList&&e.classList.contains("topEdge")})||null)&&e.classList&&(e.classList.remove(this.options.icons.expandToUp),e.classList.add(this.options.icons.collapseToDown))},showRelatedParentEnd:function(e){var t=e.originalEvent||e,e=m(e.animatedNode||t.animatedNode||t.target);e&&e.classList&&e.classList.remove("sliding")},showSiblings:function(e,t){const n=this,i=m(e);let r,o=[];let s,a;if(i&&(r=i.closest(".hierarchy"))){if(t)if("left"===t){let e=r.previousElementSibling;for(;e;)e.classList.remove("hidden"),o.push(e),e=e.previousElementSibling}else{let e=r.nextElementSibling;for(;e;)e.classList.remove("hidden"),o.push(e),e=e.nextElementSibling}else(o=r.parentElement?Array.from(r.parentElement.children).filter(function(e){return e!==r}):[]).forEach(function(e){e.classList.remove("hidden")});e=i.closest(".nodes"),s=e?e.previousElementSibling:null,t?(r.classList.remove(t+"-sibs"),Array.from(r.classList).some(function(e){return-1<e.indexOf("-sibs")})||r.classList.remove("isSiblingsCollapsed"),o.forEach(function(e){e.classList.remove("isCollapsedSibling",t+"-sibs")})):(r.classList.remove("isSiblingsCollapsed"),o.forEach(function(e){e.classList.remove("isCollapsedSibling")})),this.getNodeState(i,"parent").visible||(r.classList.remove("isAncestorsCollapsed"),s&&(s.classList.remove("hidden"),this.repaint(s),s.classList.add("sliding"),s.classList.remove("slide-down"),s.addEventListener("transitionend",function(e){e.animatedNode=s,n.showRelatedParentEnd(e)},{once:!0}))),a=o.flatMap(function(e){return Array.from(e.querySelectorAll(".node"))},this).filter(function(e,t){return this.isVisibleNode(t,e)},this),this.repaint(a[0]),a.forEach(function(e){e.classList.add("sliding"),e.classList.remove("slide-left","slide-right")}),a[0]&&a[0].addEventListener("transitionend",function(e){e.node=i,e.visibleNodes=a,n.showSiblingsEnd(e)},{once:!0})}},startLoading:function(e){var t,e=m(e),n=this.chart;let i;return!(!e||!n||void 0!==w(n,"inAjax")&&!0===w(n,"inAjax")||(e.classList.add("hidden"),(t=e.parentElement)&&(x(t,"loadingEdge",e),t.insertAdjacentHTML("beforeend",`<i class="${this.options.icons.theme} ${this.options.icons.spinner} spinner"></i>`),i=Array.from(t.children||[]).find(function(e){return e.classList&&e.classList.contains("spinner")})||null,Array.from(t.children||[]).forEach(function(e){e!==i&&(x(e,"loadingOriginalOpacity",e.style.opacity),e.style.opacity=.2)})),x(n,"inAjax",!0),Array.from(g().querySelectorAll(".oc-export-btn")).filter(function(e){return!w(e,"orgChart")||w(e,"orgChart")===this},this).forEach(function(e){e.disabled=!0}),0))},endLoading:function(e){var t,e=m(e),n=this.chart;e&&n&&(t=e.parentElement,e.classList.remove("hidden"),t&&(Array.from(t.querySelectorAll(".spinner")).forEach(function(e){e.remove()}),Array.from(t.children||[]).forEach(function(e){e.style.opacity=w(e,"loadingOriginalOpacity")||"",e.style.cssText||e.removeAttribute("style")}),x(t,"loadingEdge",null),this.isInAction(t)?this.nodeEnterLeaveHandler({type:"mouseenter",node:t}):this.removeNodeControls(t)),x(n,"inAjax",!1),Array.from(g().querySelectorAll(".oc-export-btn")).filter(function(e){return!w(e,"orgChart")||w(e,"orgChart")===this},this).forEach(function(e){e.disabled=!1}))},isInAction:function(e){e=m(e);return!!e&&e.classList.contains("controls-active")},renderNodeControls:function(e){const i=m(e);if(i&&this.isInAction(i)&&!w(i,"loadingEdge")&&!w(i,"updatingControls")){var e=w(i,"sourceData")||{},t=this.options,n=t.icons,r=this.getNodeState(i,"children").exist,o=[];e.vertical||t.verticalLevel&&e.level>=t.verticalLevel||!!i.closest(".nodes.vertical")?r&&o.push(`<i class="toggleBtn ${n.theme}"></i>`):e.hybrid?r&&o.push(`<i class="edge verticalEdge bottomEdge ${n.theme}"></i>`):y(e,t,e.level)?r&&(t=i.classList.contains("looseMode"),o.push(`<i class="${n.theme} ${n.backToCompact} backToCompactSymbol${t?"":" hidden"}"></i>`),o.push(`<i class="${n.theme} ${n.backToLoose} backToLooseSymbol${t?" hidden":""}"></i>`)):e.associatedCompact||(this.getNodeState(i,"parent").exist&&o.push(`<i class="edge verticalEdge topEdge ${n.theme}"></i>`),this.getNodeState(i,"siblings").exist&&(o.push(`<i class="edge horizontalEdge rightEdge ${n.theme}"></i>`),o.push(`<i class="edge horizontalEdge leftEdge ${n.theme}"></i>`)),r&&o.push(`<i class="edge verticalEdge bottomEdge ${n.theme}"></i>`));const s=["topEdge","bottomEdge","leftEdge","rightEdge","toggleBtn","backToCompactSymbol","backToLooseSymbol"];t=S(o.join(""));const a=t.map(function(t){return s.find(function(e){return t.classList.contains(e)})});x(i,"updatingControls",!0);try{Array.from(i.children).filter(function(t){return s.some(function(e){return t.classList.contains(e)})&&!a.some(function(e){return t.classList.contains(e)})}).forEach(function(e){e.remove()}),t.forEach(function(e,t){var n=i.querySelector(":scope > ."+a[t]),t="topEdge"===a[t]?"Toggle parent nodes":"leftEdge"===a[t]||"rightEdge"===a[t]?"Toggle sibling nodes":"backToCompactSymbol"===a[t]?"Use compact layout":"backToLooseSymbol"===a[t]?"Expand compact layout":"Toggle child nodes";n?n.className=e.className:(e.tabIndex=0,e.setAttribute("role","button"),e.setAttribute("aria-label",t),e.title=t,i.appendChild(e))})}finally{x(i,"updatingControls",!1)}}},removeNodeControls:function(e){const t=m(e);if(t&&!w(t,"updatingControls")){x(t,"updatingControls",!0);try{Array.from(t.children).filter(function(e){return e.matches(".edge, .toggleBtn, .backToCompactSymbol, .backToLooseSymbol")&&e!==w(t,"loadingEdge")}).forEach(function(e){e.remove()})}finally{x(t,"updatingControls",!1)}}},refreshNodeControls:function(e){var t,n,e=m(e);e&&(n=(t=e.querySelector(":scope > .title"))?t.querySelector(".parentNodeSymbol"):null,e=this.getNodeState(e,"children").exist,t&&e&&!n?t.insertAdjacentHTML("afterbegin",`<i class="${this.options.icons.theme} ${this.options.icons.parentNode} parentNodeSymbol"></i>`):!e&&n&&n.remove()),this.chart&&Array.from(this.chart.querySelectorAll(".node.controls-active")).forEach(function(e){this.nodeEnterLeaveHandler({type:"mouseenter",node:e})},this)},switchVerticalArrow:function(e){e=m(e);e&&e.classList&&(e.classList.toggle(this.options.icons.expandToUp),e.classList.toggle(this.options.icons.collapseToDown))},switchHorizontalArrow:function(e){var t,n,e=m(e),i=this.options;let r;e&&(r=e.closest(".hierarchy"),n=e.closest(".nodes"),t=Array.from(e.children||[]).find(function(e){return e.classList&&e.classList.contains("leftEdge")})||null,e=Array.from(e.children||[]).find(function(e){return e.classList&&e.classList.contains("rightEdge")})||null,i.toggleSiblingsResp&&(void 0===i.ajaxURL||w(n,"siblingsLoaded"))?((n=r?r.previousElementSibling:null)&&t&&(t.classList.toggle(i.icons.collapseToLeft,n.classList.contains("hidden")),t.classList.toggle(i.icons.expandToRight,!n.classList.contains("hidden"))),(n=r?r.nextElementSibling:null)&&e&&(e.classList.toggle(i.icons.expandToRight,n.classList.contains("hidden")),e.classList.toggle(i.icons.collapseToLeft,!n.classList.contains("hidden")))):(n=!!(n=r&&r.parentElement?Array.from(r.parentElement.children).filter(function(e){return e!==r}):[]).length&&!n[0].classList.contains("hidden"),t&&(t.classList.toggle(i.icons.expandToRight,n),t.classList.toggle(i.icons.collapseToLeft,!n)),e&&(e.classList.toggle(i.icons.collapseToLeft,n),e.classList.toggle(i.icons.expandToRight,!n))))},repaint:function(e){e&&(e.style.offsetWidth=e.offsetWidth)},nodeEnterLeaveHandler:function(e){var t=e.originalEvent||e,n=t.type,e=e.node||t.currentTarget;if(e&&!w(e,"updatingControls")){if("mouseleave"===n||"focusout"===n)return r=g().activeElement,"mouseleave"===n&&r&&r.closest(".node")===e||"focusout"===n&&(t.relatedTarget&&e.contains(t.relatedTarget)||e.matches(":hover"))?void 0:(e.classList.remove("controls-active"),void this.removeNodeControls(e));e.classList.add("controls-active"),this.renderNodeControls(e);var i,r=e.querySelector(":scope > .toggleBtn"),n=e.querySelector(":scope > .topEdge"),t=e.querySelector(":scope > .bottomEdge");r&&(i=this.getNodeState(e,"children").visible,r.classList.toggle(this.options.icons.collapsed,!i),r.classList.toggle(this.options.icons.expanded,i)),n&&(r=this.getNodeState(e,"parent").visible,n.classList.toggle(this.options.icons.expandToUp,!r),n.classList.toggle(this.options.icons.collapseToDown,r)),t&&(i=this.getNodeState(e,"children").visible,t.classList.toggle(this.options.icons.collapseToDown,!i),t.classList.toggle(this.options.icons.expandToUp,i)),e.querySelector(":scope > .horizontalEdge")&&this.switchHorizontalArrow(e)}},nodeClickHandler:function(e){var t=this.chart,n=e.originalEvent||e,e=e.node||n.currentTarget;t&&e&&e.classList&&(n.target&&n.target.closest&&n.target.closest(".node")!==e||(Array.from(t.querySelectorAll(".focused")).forEach(function(e){e.classList.remove("focused")}),e.classList.add("focused"),this.isInAction(e))||(e.focus({preventScroll:!0}),this.nodeEnterLeaveHandler({type:"mouseenter",node:e})))},addAncestors:function(e,t){var n=this.chart?this.chart.querySelector(":scope > .nodes > .hierarchy"):null;let i,r;n&&(this.buildHierarchy(n,e),e=Array.from(n.children).slice(0,2),(i=g().createElement("li")).className="hierarchy",n.insertBefore(i,e[0]||null),e.forEach(function(e){i.appendChild(e)}),(n=(r=g().getElementById(t))&&Array.from(r.parentElement?r.parentElement.children:[]).find(function(e){return e!==r&&e.classList&&e.classList.contains("nodes")})||null)&&n!==i.parentElement&&n.appendChild(i),this.refreshNodeControls(r))},addDescendants:function(e,t){const n=this;t=m(t);let i;t&&t.parentElement&&(w(t,"sourceData")?this.addChildren(t,e):((i=g().createElement("ul")).className="nodes",t.after(i),L(e,function(){var e=g().createElement("li");e.className="hierarchy",i.appendChild(e),n.buildHierarchy(e,this)})))},HideFirstParentEnd:function(e){var t=e.originalEvent||e,n=m(e.topEdge||t.topEdge),e=m(e.node||t.node)||(n?n.parentElement:null),t=e?e.querySelector(":scope > .topEdge"):null;this.isInAction(e)&&(this.switchVerticalArrow(t),this.switchHorizontalArrow(e))},topEdgeClickHandler:function(e){const t=this;var n=e.originalEvent||e;const i=e.node||n.currentTarget;m(e.edge||n.target);var r,o,e=this.getParent(i),n=this.getNodeState(i,"parent");n.exist&&(r=!!(e&&e.classList&&e.classList.contains("sliding")),o=!!(e&&e.classList&&e.classList.contains("slide-down")),r&&!o||(n.visible&&!o?(this.hideParent(i),e&&e.addEventListener("transitionend",function(e){e.node=i,t.HideFirstParentEnd(e)},{once:!0}),this.triggerHideEvent(i,"parent")):(this.showParent(i),this.triggerShowEvent(i,"parent"))))},bottomEdgeClickHandler:function(e){var t=e.originalEvent||e,e=e.node||t.currentTarget,t=this.getNodeState(e,"children");t.exist&&!(h(e)?this.getChildren(e):[]).some(function(e){return e.classList.contains("sliding")})&&(t.visible?(this.hideChildren(e),this.triggerHideEvent(e,"children")):(this.showChildren(e),this.triggerShowEvent(e,"children")))},hEdgeClickHandler:function(e){var t,n=e.originalEvent||e,i=e.node||n.currentTarget,e=m(e.edge||n.target),n=this.options,r=this.getNodeState(i,"siblings");let o;r.exist&&!((o=i.closest(".hierarchy"))&&o.parentElement?Array.from(o.parentElement.children).filter(function(e){return e!==o}):[]).some(function(e){return e.querySelector(".sliding")})&&(n.toggleSiblingsResp?(n=o?o.previousElementSibling:null,t=o?o.nextElementSibling:null,e&&e.classList&&e.classList.contains("leftEdge")?n&&n.classList.contains("hidden")?(this.showSiblings(i,"left"),this.triggerShowEvent(i,"siblings")):(this.hideSiblings(i,"left"),this.triggerHideEvent(i,"siblings")):t&&t.classList.contains("hidden")?(this.showSiblings(i,"right"),this.triggerShowEvent(i,"siblings")):(this.hideSiblings(i,"right"),this.triggerHideEvent(i,"siblings"))):r.visible?(this.hideSiblings(i),this.triggerHideEvent(i,"siblings")):(this.showSiblings(i),this.triggerShowEvent(i,"siblings")))},backToCompactHandler:function(e){var t=e.originalEvent||e,e=e.compactNode||t.currentTarget;e&&(e.classList.remove("looseMode"),(t=h(e))&&t.classList.contains("compact-family")&&t.classList.add("hidden"),Array.from(e.querySelectorAll(".looseMode")).concat(t?Array.from(t.querySelectorAll(".looseMode")):[]).forEach(function(e){var t=Array.from(e.children||[]).find(function(e){return e.classList&&e.classList.contains("backToCompactSymbol")})||null,n=Array.from(e.children||[]).find(function(e){return e.classList&&e.classList.contains("backToLooseSymbol")})||null,e=(e.classList.remove("looseMode"),h(e));e&&e.classList.contains("compact-family")&&e.classList.add("hidden"),t&&t.classList.add("hidden"),n&&n.classList.remove("hidden")}),t=Array.from(e.children||[]).find(function(e){return e.classList&&e.classList.contains("backToCompactSymbol")})||null,e=Array.from(e.children||[]).find(function(e){return e.classList&&e.classList.contains("backToLooseSymbol")})||null,t&&t.classList.add("hidden"),e)&&e.classList.remove("hidden")},backToLooseHandler:function(e){var t=e.originalEvent||e,e=e.compactNode||t.currentTarget;e&&(e.classList.add("looseMode"),(t=h(e))&&t.classList.contains("compact-family")&&t.classList.remove("hidden"),this.getChildren(e).forEach(function(e){e.classList.remove("slide-up")}),t=Array.from(e.children||[]).find(function(e){return e.classList&&e.classList.contains("backToLooseSymbol")})||null,e=Array.from(e.children||[]).find(function(e){return e.classList&&e.classList.contains("backToCompactSymbol")})||null,t&&t.classList.add("hidden"),e)&&e.classList.remove("hidden")},expandVNodesEnd:function(e){var t=e.originalEvent||e;d(e.vNodes||t.vNodes).forEach(function(e){e.classList&&e.classList.remove("sliding")})},collapseVNodesEnd:function(e){var t=e.originalEvent||e;d(e.vNodes||t.vNodes).forEach(function(e){var t=e&&"function"==typeof e.closest?e.closest("ul"):null;e.classList&&e.classList.remove("sliding"),t&&t.classList&&t.classList.add("hidden")})},toggleVNodes:function(e){const t=this;var n=e.originalEvent||e,e=e.toggleButton||n.target,n=e&&e.parentElement?e.parentElement.nextElementSibling:null;let i,r;e&&n&&(i=Array.from(n.querySelectorAll(".node")),(r=Array.from(n.children||[]).map(function(e){return e.querySelector(".node")}).filter(Boolean)).some(function(e){return e.classList.contains("sliding")})||(e.classList.toggle(this.options.icons.collapsed),e.classList.toggle(this.options.icons.expanded),i[0]&&i[0].classList.contains("slide-up")?(n.classList.remove("hidden"),this.repaint(r[0]),r.forEach(function(e){e.classList.add("sliding"),e.classList.remove("slide-up")}),r[0]&&r[0].addEventListener("transitionend",function(e){e.vNodes=r,t.expandVNodesEnd(e)},{once:!0})):(i.forEach(function(e){e.classList.add("sliding","slide-up")}),i[0]&&i[0].addEventListener("transitionend",function(e){e.vNodes=i,t.collapseVNodesEnd(e)},{once:!0}),i.forEach(function(e){Array.from(e.querySelectorAll(".toggleBtn")).forEach(function(e){e.classList.remove(this.options.icons.collapsed,this.options.icons.expanded)},this)},this))))},createGhostNode:function(n){var i,r=n.originalEvent||n,n=n.sourceNode||r.target,o=n&&"function"==typeof n.closest?n.closest(".orgchart"):null,s=this.options,a=/firefox/.test(u().navigator.userAgent.toLowerCase());let l,c;if(n&&o){if(g().querySelector(".ghost-node"))l=o.querySelector(".ghost-node"),c=l?l.firstElementChild:null;else{if(!(l=g().createElementNS("http://www.w3.org/2000/svg","svg")).classList)return;l.classList.add("ghost-node"),c=g().createElementNS("http://www.w3.org/2000/svg","rect"),l.appendChild(c),o.appendChild(l)}if(l&&c){n=n.getBoundingClientRect(),i="t2b"===s.direction||"b2t"===s.direction,o=O(o).scale,l.setAttribute("width",i?n.width:n.height),l.setAttribute("height",i?n.height:n.width),c.setAttribute("x",5*o),c.setAttribute("y",5*o),c.setAttribute("width",120*o),c.setAttribute("height",40*o),c.setAttribute("rx",4*o),c.setAttribute("ry",4*o),c.setAttribute("stroke-width",+o);let e=r.offsetX*o,t=r.offsetY*o;"l2r"===s.direction?(e=r.offsetY*o,t=r.offsetX*o):"r2l"===s.direction?(e=n.width-r.offsetY*o,t=r.offsetX*o):"b2t"===s.direction&&(e=n.width-r.offsetX*o,t=n.height-r.offsetY*o),a?(c.setAttribute("fill","rgb(255, 255, 255)"),c.setAttribute("stroke","rgb(191, 0, 0)"),(i=g().createElement("img")).src="data:image/svg+xml;utf8,"+(new XMLSerializer).serializeToString(l),r.dataTransfer.setDragImage(i,e,t)):r.dataTransfer.setDragImage&&r.dataTransfer.setDragImage(l,e,t)}}},getUpperLevel:function(e){e=m(e);let t,n=0;if(!e||!e.matches(".node"))return 0;for(t=e;t;)n+=1,t=this.getParent(t);return n},getLowerLevel:function(e){e=m(e);let t=1,n;if(!e||!e.matches(".node"))return 0;for(n=this.getChildren(e);n.length;){const i=[];t+=1,n.forEach(function(e){Array.prototype.push.apply(i,this.getChildren(e))},this),n=i}return t},getLevelOrderNodes:function(e){var e=m(e),t=[],n=[];if(!e)return[];for(t.push(e);t.length;){var i=[],r=t.length;for(let e=0;e<r;e++){var o=t.shift(),s=this.getChildren(o);s.length&&Array.prototype.push.apply(t,s),i.push(o)}n.push(i)}return n},filterAllowedDropNodes:function(e){const t=m(e),n=this.options;var i,e=this.chart;let r,o,s;if(e){i=t&&"function"==typeof t.closest?t.closest("[draggable]"):null,s=!!(i&&i.classList&&i.classList.contains("node")),r=this.getParent(t);for(var a=[],l=s?[t.closest(".node")]:[];l.length;){var c=l.pop();a.push(c),Array.prototype.push.apply(l,this.getChildren(c))}o=new Set(a),x(e,"dragged",t),Array.from(e.querySelectorAll(".node")).forEach(function(e){e.classList.remove("allowedDrop"),s&&o.has(e)||n.dropCriteria&&!n.dropCriteria(t,r,e)||e.classList.add("allowedDrop")})}},dragstartHandler:function(e){var t=e.originalEvent||e,e=e.draggedNode||t.target,n=this.chart,n=n&&(n.style.transform||u().getComputedStyle(n).transform)||"none";t.dataTransfer.setData("text/html","hack for firefox"),"none"!==n&&this.createGhostNode({sourceNode:e,originalEvent:t}),this.filterAllowedDropNodes(e)},dragoverHandler:function(e){var t=e.originalEvent||e,e=e.dropZone||t.currentTarget;e&&e.classList&&e.classList.contains("allowedDrop")?"function"==typeof t.preventDefault&&t.preventDefault():t.dataTransfer.dropEffect="none"},dragendHandler:function(e){var t=this.chart;t&&Array.from(t.querySelectorAll(".allowedDrop")).forEach(function(e){e.classList.remove("allowedDrop")})},dropHandler:async function(e){var t=e.originalEvent||e,n=this.chart;const i=e.dropZone||t.currentTarget;var r,o,s,a,l,c,d,h,e=n?m(w(n,"dragged")):null,t=n?w(n,"options"):null;let u,p;e&&e.classList&&e.classList.contains("node")?i&&i.classList&&i.classList.contains("allowedDrop")&&(u=this.getParent(e),o={type:"nodedrop.orgchart",defaultPrevented:!1,preventDefault:function(){this.defaultPrevented=!0},isDefaultPrevented:function(){return this.defaultPrevented}},n&&(((r=D(o,{draggedNode:e,dragZone:u,dropZone:i})).delegateTarget=n).dispatchEvent(r),o.defaultPrevented=r.defaultPrevented),o.isDefaultPrevented()||(r=w(e,"sourceData"),o=u?w(u,"sourceData"):null,s=w(i,"sourceData"),a=w(n,"datasource")||t.data,l=r?E(a,r):null,r&&s&&E(r,s))||((Array.isArray(a)||this.options.compact||t.verticalLevel||n.querySelector(".node.compact, .nodes.vertical"))&&l&&l.list&&s?(l.list.splice(l.index,1),!l.list.length&&l.outerList&&l.outerList.splice(l.outerIndex,1),l.parent&&l.parent.children&&!l.parent.children.length&&delete l.parent.children,l=Array.isArray(a)||s.children&&Array.isArray(s.children[0]),s.children||(s.children=[]),s.children.push(l?[r]:r),P(this,s)):(c=(l=new JSONDigger(a,t.nodeId,"children")).findOneNode({hybrid:!0}),1<t.verticalLevel||c?(c=w(e,"nodeData")[t.nodeId],d=w(i,"nodeData")[t.nodeId],h=l.findNodeById(c),d=l.findNodeById(d),h&&d&&(h=Object.assign({},h),l.removeNode(c),d.children?d.children.push(h):d.children=[h],this.init({data:a}))):(r&&o&&s&&o.children&&-1!==o.children.indexOf(r)&&(o.children.splice(o.children.indexOf(r),1),o.children.length||delete o.children,s.children||(s.children=[]),s.children.push(r),r.parentId=s[t.nodeId],w(e,"nodeData").parentId=r.parentId,e.setAttribute("data-parent",r.parentId)),l=e.closest(".hierarchy"),((p=Array.from(i.parentElement?i.parentElement.children:[]).find(function(e){return e!==i&&e.classList&&e.classList.contains("nodes")})||null)||(i.insertAdjacentHTML("afterend",'<ul class="nodes"></ul>'),p=i.nextElementSibling)).appendChild(l),0===((c=Array.from(u&&u.parentElement?u.parentElement.children:[]).find(function(e){return e!==u&&e.classList&&e.classList.contains("nodes")})||null)?Array.from(c.children||[]).filter(function(e){return e.classList&&e.classList.contains("hierarchy")}):[]).length&&c&&c.remove(),p.classList.remove("hidden"),i.closest(".hierarchy").classList.remove("isChildrenCollapsed"),this.getChildren(i).forEach(function(e){e.classList.remove("slide-up","sliding"),e.closest(".hierarchy").classList.remove("isCollapsedDescendant")}),this.refreshNodeControls(u),this.refreshNodeControls(i),this.updateMinimap(!0))))):n&&n.dispatchEvent(D("otherdropped.orgchart",{draggedItem:e,dropZone:i}))},touchstartHandler:function(e){e=e.originalEvent||e;this.touchHandled||e.touches&&1<e.touches.length||(this.touchHandled=!0,this.touchMoved=!1,"function"==typeof e.preventDefault&&e.preventDefault())},touchmoveHandler:function(e){var t=e.originalEvent||e,e=e.draggedNode||t.currentTarget||t.target,n=this.chart;if(this.touchHandled&&!(t.touches&&1<t.touches.length)){if("function"==typeof t.preventDefault&&t.preventDefault(),!this.touchMoved){if(this.filterAllowedDropNodes(e),!(e=n?m(w(n,"dragged")):null))return;this.touchDragImage=this.createDragImage(t,e)}this.touchMoved=!0,this.moveDragImage(t,this.touchDragImage),(e=(n=g().elementFromPoint(t.touches[0].clientX,t.touches[0].clientY))&&"function"==typeof n.closest?n.closest("div.node"):null)&&e.classList&&e.classList.contains("allowedDrop")?this.touchTargetNode=e:this.touchTargetNode=null}},touchendHandler:function(e){var t,n=e.originalEvent||e;this.touchHandled&&(this.destroyDragImage(),this.touchMoved?(this.touchTargetNode&&(t={dropZone:this.touchTargetNode},this.dropHandler(t),this.touchTargetNode=null),this.dragendHandler(e)):(t=n.changedTouches[0],e=n.target,t=new(u().MouseEvent)("click",{bubbles:!0,cancelable:!0,view:u(),screenX:t.screenX,screenY:t.screenY,clientX:t.clientX,clientY:t.clientY,ctrlKey:n.ctrlKey,altKey:n.altKey,shiftKey:n.shiftKey,metaKey:n.metaKey,button:0}),e.dispatchEvent(t)),this.touchHandled=!1)},createDragImage:function(e,t){var n=t.cloneNode(!0),t=(this.copyStyle(t,n),n.style.top=n.style.left="-9999px",t.getBoundingClientRect()),e=this.getTouchPoint(e);return this.touchDragImageOffset={x:e.x-t.left,y:e.y-t.top},n.style.opacity="0.5",g().body.appendChild(n),n},destroyDragImage:function(){this.touchDragImage&&this.touchDragImage.parentElement&&this.touchDragImage.parentElement.removeChild(this.touchDragImage),this.touchDragImageOffset=null,this.touchDragImage=null},copyStyle:function(t,n){["id","class","style","draggable"].forEach(function(e){n.removeAttribute(e)}),t instanceof HTMLCanvasElement&&((i=n).width=(e=t).width,i.height=e.height,i.getContext("2d").drawImage(e,0,0));var e,i,r=getComputedStyle(t);for(let e=0;e<r.length;e++){var o=r[e];o.indexOf("transition")<0&&(n.style[o]=r[o])}n.style.pointerEvents="none";for(let e=0;e<t.children.length;e++)this.copyStyle(t.children[e],n.children[e])},getTouchPoint:function(e){let t=e?e.originalEvent||e:null;return{x:(t=t&&t.touches?t.touches[0]:t).clientX,y:t.clientY}},moveDragImage:function(n,i){if(n&&i){const r=this;requestAnimationFrame(function(){var e=r.getTouchPoint(n),t=i.style;t.position="absolute",t.pointerEvents="none",t.zIndex="999999",r.touchDragImageOffset&&(t.left=Math.round(e.x-r.touchDragImageOffset.x)+"px",t.top=Math.round(e.y-r.touchDragImageOffset.y)+"px")})}},bindDragDrop:function(e){const n=m(e);if(n){const i=this,r={dragstart:this.dragstartHandler,dragover:this.dragoverHandler,dragend:this.dragendHandler,drop:this.dropHandler,touchstart:this.touchstartHandler,touchmove:this.touchmoveHandler,touchend:this.touchendHandler};Object.keys(r).forEach(function(t){n.addEventListener(t,function(e){e.target.closest&&e.target.closest(".node")!==n||r[t].call(i,e)},{passive:!1})})}},createNode:function(n){const i=this.options;var e=n.level,t=((!0===i.compact&&n.children&&n.children.length||"function"==typeof i.compact&&i.compact(n))&&(n.compact=!0),y(n,i,e)),e=["node",n.className||"",n?.outsider?"outsider":"",e>i.visibleLevel?"slide-up":""].filter(Boolean).join(" "),r=[],o=[],s=[],a=!(!n.children||!n.children.length);n.children&&n[i.nodeId]&&L(n.children,function(e,t){t.parentId=n[i.nodeId]}),a&&r.push(`<i class="${i.icons.theme} ${i.icons.parentNode} parentNodeSymbol"></i>`),r.push(n[i.nodeTitle]),i.nodeTemplate?s.push(i.nodeTemplate(n)):(s.push(`<div class="title">${r.join("")}</div>`),void 0!==i.nodeContent&&o.push(`<div class="content">${n[i.nodeContent]||""}</div>`),s.push(o.join("")));const l=g().createElement("div");a=function(n,i){l.addEventListener("click",function(e){var t=e.target&&"function"==typeof e.target.closest?e.target.closest(n):null;t&&t.parentElement===l&&i.call(this,e)}.bind(this))}.bind(this),i.draggable&&l.setAttribute("draggable","true"),n[i.nodeId]&&(l.id=n[i.nodeId]),n.parentId&&l.setAttribute("data-parent",n.parentId),l.className=e,l.tabIndex=0,l.insertAdjacentHTML("beforeend",s.join("")),r=p({},n);return delete r.children,x(l,"nodeData",r),x(l,"sourceData",n),l.__ocNodeData=r,t&&l&&l.style&&(l.style.gridTemplateColumns=`repeat(${Math.floor(Math.sqrt((n.children||[]).length+1))}, auto)`),l.addEventListener("mouseenter",this.nodeEnterLeaveHandler.bind(this)),l.addEventListener("mouseleave",this.nodeEnterLeaveHandler.bind(this)),l.addEventListener("focusin",function(e){e.target.closest(".node")===l&&this.nodeEnterLeaveHandler(e)}.bind(this)),l.addEventListener("focusout",function(e){e.target.closest(".node")===l&&this.nodeEnterLeaveHandler(e)}.bind(this)),l.addEventListener("click",this.nodeClickHandler.bind(this)),l.addEventListener("keydown",function(e){var t=e.target.closest(".edge, .toggleBtn, .backToCompactSymbol, .backToLooseSymbol");!t||t.parentElement!==l||"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),t.click())}),a(".topEdge",this.topEdgeClickHandler),a(".bottomEdge",this.bottomEdgeClickHandler),a(".leftEdge, .rightEdge",this.hEdgeClickHandler),a(".toggleBtn",this.toggleVNodes),a(".backToCompactSymbol",this.backToCompactHandler),a(".backToLooseSymbol",this.backToLooseHandler),i.draggable&&(this.bindDragDrop(l),this.touchHandled=!1,this.touchMoved=!1,this.touchTargetNode=null),i.createNode&&i.createNode(l,n),l},buildInferiorNodes:function(e,t,n,i){const r=this;var o=this.options,e=m(e);const s=m(t);t=i+1>o.visibleLevel||n.collapsed!==c&&n.collapsed;const a=y(n,o,i);let l;e&&(n.children.flat().forEach(function(e){n.hybrid||n.vertical?e.vertical=!0:n.compact&&e.children?e.compact=!0:n.compact&&(e.associatedCompact=!0)}),o.verticalLevel&&i+1>=o.verticalLevel||n.hybrid||n.vertical?((l=g().createElement("ul")).className="nodes",t&&l.classList.add("hidden"),(o.verticalLevel&&i+1===o.verticalLevel||n.hybrid)&&!e.closest(".vertical")&&l.classList.add("vertical"),e.appendChild(l)):a?(s&&s.classList&&s.classList.add("compact"),Array.isArray(n.children[0])&&((l=g().createElement("ul")).className="nodes compact-family hidden",l.style.setProperty("--compact-columns",Math.ceil(Math.sqrt(n.children.length))),e.appendChild(l))):((l=g().createElement("ul")).className=t?"nodes hidden":"nodes",t&&e.classList.add("isChildrenCollapsed"),e.appendChild(l)),l&&(o=s||e.querySelector(":scope > .node"),x(l,"parentData",o&&w(o,"sourceData")||n)),Array.isArray(n.children[0])?(L(n.children,function(){L(this,function(){this.level=i+1})}),this.buildHierarchy(l,n.children)):L(n.children,function(){var e;this.level=i+1,a?r.buildHierarchy(s,this):((e=g().createElement("li")).className="hierarchy",l.appendChild(e),r.buildHierarchy(e,this))}))},buildHierarchy:function(e,t){const i=this,r=m(e);let o=0;let s;if(r){if(t.level||t[0]?.level||t[0]?.[0]?.level)o=t.level||t[0]?.level||t[0]?.[0]?.level;else{let e=r.parentElement;for(;e&&!e.matches(".orgchart");)e.classList&&e.classList.contains("nodes")&&(o+=1),e=e.parentElement;Array.isArray(t)&&Array.isArray(t[0])?(o=Math.max(o,1),L(t,function(){L(this,function(){this.level=o})})):t.level=o}Array.isArray(t)&&Array.isArray(t[0])?L(t,function(){const n=this;L(this,function(e){var t;s=i.createNode(this),2===n.length&&1===e?((t=Array.from(r.querySelectorAll(".node")).find(function(e){return w(e,"sourceData")===n[0]})||null)&&t.parentElement&&t.after(s),this.children&&this.children.length&&this.children[0].length&&i.buildInferiorNodes(t?t.parentElement:null,s,this,o)):((t=g().createElement("li")).className="hierarchy"+(1<n.length?" spouse":"")+(2===n.length?" couple":"")+(!1==!!this.outsider&&2<n.length?" insider":""),0===e?(t.style.setProperty("--ft-width","50%"),t.style.setProperty("--ft-left-offset","50%")):(0<e&&e<n.length-1?t.style.setProperty("--ft-width","100%"):t.style.setProperty("--ft-width","50%"),t.style.setProperty("--ft-left-offset","0px")),t.appendChild(s),r.appendChild(t),this.children&&this.children.length&&this.children[0].length&&i.buildInferiorNodes(t,s,this,o))})}):(Object.keys(t).some(function(e){return"children"!==e&&"level"!==e})&&(s=this.createNode(t),r.appendChild(s)),t.children&&t.children.length&&this.buildInferiorNodes(r,s||null,t,o))}},buildChildNode:function(e,t){const n=e&&Array.from(e.children||[]).find(function(e){return e.classList&&e.classList.contains("nodes")})||null,i=this;e&&(n?L(t,function(){var e=g().createElement("li");e.className="hierarchy",n.appendChild(e),i.buildHierarchy(e,this)}):this.buildHierarchy(e,{children:t}))},addChildren:function(e,t){e=m(e);if(e){var n=w(e,"sourceData");if(n){var i=w(this.chart,"datasource"),i=Array.isArray(i)||n.children&&Array.isArray(n.children[0]);if(n.children||(n.children=[]),Array.prototype.push.apply(n.children,i?t.map(function(e){return Array.isArray(e)?e:[e]}):t),i||this.chart.querySelector(".node.compact")||this.options.compact)return void P(this,n)}this.buildChildNode(e.closest(".hierarchy"),t),this.refreshNodeControls(e)}},buildParentNode:function(e,t){var n,i,r,o,e=m(e);e&&(n=e.closest("ul"),e=e.closest(".hierarchy"),i=n?n.closest(".hierarchy"):null,(r=g().createElement("ul")).className="nodes",(o=g().createElement("li")).className="hierarchy",o.appendChild(this.createNode(t)),i&&e?((t=g().createElement("ul")).className="nodes",o.appendChild(t),n.replaceChild(o,e),t.appendChild(e)):(r.appendChild(o),this.chart&&this.chart.prepend(r),n&&(n.classList.add("nodes"),o.appendChild(n))))},addParent:function(e,t){e=m(e);if(e){var n=w(e,"sourceData"),i=w(this.chart,"datasource");if(n&&(Array.isArray(i)||this.chart.querySelector(".node.compact")||this.options.compact)){var r=this.getParent(e),r=r?w(r,"sourceData"):null,o=p({},t,{children:Array.isArray(i)?[[n]]:[n]}),s=E(i,n);if(Array.isArray(i)&&s&&s.list)s.list.splice(s.index,1,o),P(this,o);else if(r&&r.children){s=r.children.indexOf(n);if(-1===s)return;r.children.splice(s,1,o),P(this,o)}else P(this,o,o)}else{r=n?E(i,n):null;this.buildParentNode(e,t),n&&(t.children=[n],r&&r.list?r.list.splice(r.index,1,t):(x(this.chart,"datasource",t),this.options.data=t,this.opts.data=t),n.parentId=t[this.options.nodeId],w(e,"nodeData").parentId=n.parentId,e.setAttribute("data-parent",n.parentId)),this.refreshNodeControls(this.getParent(e))}}},buildSiblingNode:function(e,t){var n,i,r,o,e=m(e);let s,a;function l(e){e&&!e.children.length&&e.remove()}function c(e){return e?Array.from(e.children).filter(function(e){return e.classList&&e.classList.contains("hierarchy")}):[]}function d(e){let t;if(e)for(t=e.lastElementChild;t;){if(t.classList&&t.classList.contains("nodes"))return t;t=t.previousElementSibling}return null}e&&(n=e.parentElement,i=(Array.isArray(t)?t:t.children).length,i=1<(i=(r=n&&n.classList&&n.classList.contains("nodes")?c(n).length:1)+i)?Math.floor(i/2-1):0,(o=e.closest(".nodes"))&&o.parentElement&&o.parentElement.classList&&o.parentElement.classList.contains("hierarchy")?(o=n?n.closest(".hierarchy"):null,this.buildChildNode(o,t),o=d(o),s=c(o),1<r&&o!==n?(c(n).forEach(function(e){s[0]&&s[0].parentElement&&s[0].parentElement.insertBefore(e,s[0])}),l(n)):o!==n&&((a=s[i]||null)&&a.parentElement&&a.parentElement.insertBefore(e,a.nextSibling),l(n))):((r=g().createElement("li")).className="hierarchy",n&&n.insertBefore(r,n.firstChild),this.buildHierarchy(r,t),o=d(r),(a=o&&c(o)[i]||null)&&a.parentElement&&a.parentElement.insertBefore(e,a.nextSibling)))},addSiblings:function(e,t){var n,i,r,o,s,e=m(e);e&&(n=w(e,"sourceData"),i=w(this.chart,"datasource"),n&&(Array.isArray(i)||this.chart.querySelector(".node.compact")||this.options.compact)?(o=(o=this.getParent(e))?w(o,"sourceData"):null,r=Array.isArray(t)?t:t.children,o&&o.children?(s=Array.isArray(i)?(r||[]).map(function(e){return Array.isArray(e)?e:[e]}):r||[],Array.prototype.push.apply(o.children,s),P(this,o)):Array.isArray(i)&&Array.isArray(t)?(Array.prototype.push.apply(i,t.map(function(e){return Array.isArray(e)?e:[e]})),P(this)):Array.isArray(t)||(s=(r||[]).slice(),o=Math.floor((s.length+1)/2-1)+1,s.splice(Math.max(o,0),0,n),P(this,i=p({},t,{children:s}),i))):(o=(r=this.getParent(e))?w(r,"sourceData"):null,this.buildSiblingNode(e.closest(".hierarchy"),t),n&&o&&o.children&&Array.isArray(t)?Array.prototype.push.apply(o.children,t):n&&!o&&!Array.isArray(t)&&t.children&&(s=Math.floor((t.children.length+1)/2-1)+1,t.children.splice(Math.max(s,0),0,n),x(this.chart,"datasource",t),this.options.data=t,this.opts.data=t),(i=e.closest(".nodes"))&&x(i,"siblingsLoaded",!0),this.refreshNodeControls(this.getParent(e))))},removeNodes:function(e){e=m(e);if(e){var t=this.getParent(e),n=t?w(t,"sourceData"):null,i=w(e,"sourceData"),r=w(this.chart,"datasource");if(Array.isArray(r)&&i){var r=E(r,i);if(r&&r.list)return r.list.splice(r.index,1),!r.list.length&&r.outerList&&r.outerList.splice(r.outerIndex,1),r.parent&&r.parent.children&&!r.parent.children.length&&delete r.parent.children,void P(this)}n&&n.children&&-1!==n.children.indexOf(i)&&(n.children.splice(n.children.indexOf(i),1),n.children.length||delete n.children,this.chart.querySelector(".node.compact")||this.options.compact)?P(this):(i=(r=e.closest(".hierarchy"))?r.parentElement:null)&&(i.parentElement&&i.parentElement.classList&&i.parentElement.classList.contains("hierarchy")?((this.getNodeState(e,"siblings").exist?r:i).remove(),this.refreshNodeControls(t)):(n=i.closest(".orgchart"))&&n.remove())}},hideDropZones:function(){var e=this.chart;e&&Array.from(e.querySelectorAll(".allowedDrop")).forEach(function(e){e.classList.remove("allowedDrop")})},showDropZones:function(e){var e=m(e),t=this.chart;t&&(Array.from(t.querySelectorAll(".node")).forEach(function(e){e.classList.add("allowedDrop")}),x(t,"dragged",e))},processExternalDrop:function(e,t){var e=m(e),e=e&&"function"==typeof e.closest?e.closest(".node"):null,n=this.chart;t&&n&&x(n,"dragged",m(t)),e&&e.dispatchEvent(D("drop"))},exportPDF:function(e,t,n){let i={};var n=0<n?n:1,r=Math.floor(e.width/n),n=Math.floor(e.height/n);u().jsPDF||(u().jsPDF=u().jspdf.jsPDF),(i=n<r?new jsPDF({orientation:"landscape",unit:"px",format:[r,n]}):new jsPDF({orientation:"portrait",unit:"px",format:[n,r]})).addImage(e.toDataURL(),"png",0,0,r,n),i.save(t+".pdf")},exportPNG:function(e,t){var n="WebkitAppearance"in g().documentElement.style,i=!!u().sidebar,r=u().navigator,r="Microsoft Internet Explorer"===r.appName||"Netscape"===r.appName&&-1<r.appVersion.indexOf("Edge"),o=this.chartContainer;let s;if(o)if(!n&&!i||r)u().navigator.msSaveBlob(e.msToBlob(),t+".png");else{n="download-btn"+(""!==this.options.chartClass?" "+this.options.chartClass:"");const a=this.options.chartClass.split(/\s+/).filter(Boolean);(s=Array.from(o.querySelectorAll("a.download-btn")).find(function(t){return a.every(function(e){return t.classList.contains(e)})}))||((s=g().createElement("a")).className=n,o.appendChild(s)),s.setAttribute("download",t+".png"),s.setAttribute("href",e.toDataURL()),s.click()}},export:function(t,n){const i=this,r=this.chartContainer;let o;var e,s;let a;return t=void 0!==t?t:this.options.exportFilename,n=void 0!==n?n:this.options.exportFileextension,!(r&&r.querySelector(".spinner")||!r)&&((o=r.querySelector(".mask"))?o.classList.remove("hidden"):((o=g().createElement("div")).className="mask",o.insertAdjacentHTML("beforeend",`<i class="${this.options.icons.theme} ${this.options.icons.spinner} spinner"></i>`),r.appendChild(o)),r.classList.add("canvasContainer"),e=Array.from(r.querySelectorAll(".orgchart")).find(function(e){return!e.classList.contains("hidden")})||null,s="l2r"===i.options.direction||"r2l"===i.options.direction,a=0<i.options.exportScale?i.options.exportScale:1,void html2canvas(e,{width:s?e.clientHeight:e.clientWidth,height:s?e.clientWidth:e.clientHeight,scale:a,useCORS:!0,onclone:function(e){var e=e.querySelector(".canvasContainer");e&&(e.style.overflow="visible",e=Array.from(e.querySelectorAll(".orgchart")).find(function(e){return!e.classList.contains("hidden")})||null)&&(e.style.transform="")}}).then(function(e){o&&o.classList.add("hidden"),"pdf"===n.toLowerCase()?i.exportPDF(e,t,a):i.exportPNG(e,t),r.classList.remove("canvasContainer")},function(){r.classList.remove("canvasContainer")}))}},I});
2
2
  //# sourceMappingURL=orgchart.min.js.map