import*as e from"react";import{PrimeReactContext as n}from"primereact/api";import{ComponentBase as t,useHandleStyle as r}from"primereact/componentbase";import{useMergeProps as o}from"primereact/hooks";import{classNames as l,IconUtils as i,ObjectUtils as a,DomHandler as c}from"primereact/utils";import{ChevronDownIcon as s}from"primereact/icons/chevrondown";import{ChevronUpIcon as d}from"primereact/icons/chevronup";function u(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t tbody > tr > td {\n text-align: center;\n vertical-align: top;\n padding: 0 .75rem;\n }\n \n .p-organizationchart-node-content {\n display: inline-block;\n position: relative;\n }\n \n .p-organizationchart-node-content .p-node-toggler {\n position: absolute;\n bottom: -.75rem;\n margin-left: -.75rem;\n z-index: 2;\n left: 50%;\n user-select: none;\n cursor: pointer;\n width: 1.5rem;\n height: 1.5rem;\n text-decoration: none;\n }\n \n .p-organizationchart-node-content .p-node-toggler .p-node-toggler-icon {\n position: relative;\n top: .25rem;\n }\n \n .p-organizationchart-line-down {\n margin: 0 auto;\n height: 20px;\n width: 1px;\n }\n \n .p-organizationchart-line-right {\n border-radius: 0px;\n }\n \n .p-organizationchart-line-left {\n border-radius: 0;\n }\n \n .p-organizationchart-selectable-node {\n cursor: pointer;\n }\n}\n"}});function y(){return y=Object.assign?Object.assign.bind():function(e){for(var n=1;n1&&x.children.map((function(t,r){var o=S({className:L("lineLeft",{index:r})},X(0!==r,"lineLeft")),l=S({className:L("lineRight",{index:r,nodeChildLength:n})},X(r!==n-1,"lineRight"));return[e.createElement("td",y({key:r+"_lineleft"},o)," "),e.createElement("td",y({key:r+"_lineright"},l)," ")]})))}(),G=(v=S({className:L("nodes"),style:{visibility:A}},_("nodes")),E=S({colSpan:"2"},_("nodeCell")),e.createElement("tr",v,x.children&&x.children.map((function(t,r){return e.createElement("td",y({key:r},E),e.createElement(C,{node:t,nodeTemplate:n.nodeTemplate,selectionMode:n.selectionMode,onNodeClick:n.onNodeClick,isSelected:n.isSelected,togglerIcon:n.togglerIcon,ptm:U,cx:L,sx:R}))})))),Q=S({className:L("table")},_("table"));return e.createElement("table",Q,e.createElement("tbody",null,q,B,F,G))}));C.displayName="OrganizationChartNode";var j=e.memo(e.forwardRef((function(t,i){var a=o(),s=e.useContext(n),d=h.getProps(t,s),u=h.setMetaData({props:d}),y=u.ptm,b=u.cx,v=u.sx;r(h.css.styles,u.isUnstyled,{name:"orgchart"});var E=e.useRef(null),S=d.value&&d.value.length?d.value[0]:null,N=function(e){if(d.selectionMode&&d.selection){if("single"===d.selectionMode)return d.selection===e?0:-1;if("multiple"===d.selectionMode)return d.selection.findIndex((function(n){return n===e}))}return-1};e.useImperativeHandle(i,(function(){return{props:d,getElement:function(){return E.current}}}));var O=a({id:d.id,ref:E,style:d.style,className:l(d.className,b("root"))},h.getOtherProps(d),y("root"));return e.createElement("div",O,e.createElement(C,{hostName:"OrganizationChart",node:S,nodeTemplate:d.nodeTemplate,selectionMode:d.selectionMode,onNodeClick:function(e,n){if(d.selectionMode){var t=e.target;if(!1===n.selectable||c.hasClass(t,"p-node-toggler")||c.hasClass(t,"p-node-toggler-icon"))return;var r,o=N(n),l=o>=0;"single"===d.selectionMode?l?(r=null,d.onNodeUnselect&&d.onNodeUnselect({originalEvent:e,node:n})):(r=n,d.onNodeSelect&&d.onNodeSelect({originalEvent:e,node:n})):"multiple"===d.selectionMode&&(l?(r=d.selection.filter((function(e,n){return n!==o})),d.onNodeUnselect&&d.onNodeUnselect({originalEvent:e,node:n})):(r=[].concat(p(i=d.selection||[])||m(i)||g(i)||f(),[n]),d.onNodeSelect&&d.onNodeSelect({originalEvent:e,node:n}))),d.onSelectionChange&&d.onSelectionChange({originalEvent:e,data:r})}var i},isSelected:function(e){return-1!==N(e)},togglerIcon:d.togglerIcon,ptm:y,cx:b,sx:v}))})));j.displayName="OrganizationChart";export{j as OrganizationChart};