"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),n=require("primereact/api"),t=require("primereact/componentbase"),r=require("primereact/hooks"),o=require("primereact/icons/search"),l=require("primereact/icons/spinner"),a=require("primereact/utils"),i=require("primereact/icons/check"),c=require("primereact/tooltip"),u=require("primereact/icons/chevrondown"),d=require("primereact/icons/chevronright"),s=require("primereact/icons/minus"),p=require("primereact/ripple");function f(e){if(e&&e.__esModule)return e;var n=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:function(){return e[t]}})}})),n.default=e,Object.freeze(n)}var g=f(e);function m(){return m=Object.assign?Object.assign.bind():function(e){for(var n=1;ne.length)&&(n=e.length);for(var t=0,r=Array(n);t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var l,a=!0,i=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return a=e.done,e},e:function(e){i=!0,l=e},f:function(){try{a||null==t.return||t.return()}finally{if(i)throw l}}}}function A(e,n){if(e){if("string"==typeof e)return L(e,n);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?L(e,n):void 0}}function L(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t1&&void 0!==arguments[1]&&arguments[1],r=e.expandedKeys?F({},e.expandedKeys):{};r[e.node.key]=!0,e.onToggle({originalEvent:n,value:r,navigateFocusToChild:t}),w(n,!0)},N=function(n){var t=F({},e.expandedKeys);delete t[e.node.key],e.onToggle({originalEvent:n,value:t}),w(n,!1)},P=function(n){e.disabled||(E?N(n):I(n,!1),n.preventDefault(),n.stopPropagation())},w=function(n,t){t?e.onExpand&&e.onExpand({originalEvent:n,node:e.node}):e.onCollapse&&e.onCollapse({originalEvent:n,node:e.node})},T=function(e){var n=e.nextSibling;return n?"droppoint"===n.getAttribute("data-pc-section")?n.nextElementSibling?n.nextElementSibling:null:n:null},j=function(e){var n=A(e);return n?T(n)||j(n):null},M=function(n){var t=n.children[1];return t?M(t.children[t.children.length-(e.dragdropScope?2:1)]):n},A=function(e){var n=e.parentElement.parentElement;return a.DomHandler.hasClass(n,"p-treenode")?n:null},L=function(n){e.onClick&&e.onClick({originalEvent:n,node:e.node});var t=n.target.nodeName;if(!e.disabled&&"INPUT"!==t&&"BUTTON"!==t&&"A"!==t&&!a.DomHandler.hasClass(n.target,"p-clickable")){if(e.selectionMode&&!1!==e.node.selectable){var r;if(ie()){var o=re();r=e.selectionKeys?F({},e.selectionKeys):{},o?(e.propagateSelectionDown?ne(e.node,!1,r):delete r[e.node.key],e.propagateSelectionUp&&e.onPropagateUp&&e.onPropagateUp({originalEvent:n,check:!1,selectionKeys:r}),e.onUnselect&&e.onUnselect({originalEvent:n,node:e.node})):(e.propagateSelectionDown?ne(e.node,!0,r):r[e.node.key]={checked:!0},e.propagateSelectionUp&&e.onPropagateUp&&e.onPropagateUp({originalEvent:n,check:!0,selectionKeys:r}),e.onSelect&&e.onSelect({originalEvent:n,node:e.node}))}else{var l=te();if(!y.current&&e.metaKeySelection){var i=n.metaKey||n.ctrlKey;l&&i?(le()?r=null:delete(r=F({},e.selectionKeys))[e.node.key],e.onUnselect&&e.onUnselect({originalEvent:n,node:e.node})):(le()?r=e.node.key:ae()&&((r=i&&e.selectionKeys?F({},e.selectionKeys):{})[e.node.key]=!0),e.onSelect&&e.onSelect({originalEvent:n,node:e.node}))}else le()?l?(r=null,e.onUnselect&&e.onUnselect({originalEvent:n,node:e.node})):(r=e.node.key,e.onSelect&&e.onSelect({originalEvent:n,node:e.node})):l?(delete(r=F({},e.selectionKeys))[e.node.key],e.onUnselect&&e.onUnselect({originalEvent:n,node:e.node})):((r=e.selectionKeys?F({},e.selectionKeys):{})[e.node.key]=!0,e.onSelect&&e.onSelect({originalEvent:n,node:e.node}))}e.onSelectionChange&&e.onSelectionChange({originalEvent:n,value:r})}y.current=!1}},R=function(n){e.onDoubleClick&&e.onDoubleClick({originalEvent:n,node:e.node})},q=function(n){e.disabled||(a.DomHandler.clearSelection(),e.onContextMenuSelectionChange&&e.onContextMenuSelectionChange({originalEvent:n,value:e.node.key}),e.onContextMenu&&e.onContextMenu({originalEvent:n,node:e.node}))},V=function(e){if(oe(e))switch(e.code){case"Tab":Y();break;case"ArrowDown":J(e);break;case"ArrowUp":_(e);break;case"ArrowRight":B(e);break;case"ArrowLeft":$(e);break;case"Enter":case"NumpadEnter":z(e);break;case"Space":["INPUT"].includes(e.target.nodeName)||z(e)}},J=function(n){var t="toggler"===n.target.getAttribute("data-pc-section")?n.target.closest('[role="treeitem"]'):n.target,r=t.children[1],o=X(t);if(r)W(t,e.dragdropScope?r.children[1]:r.children[0]);else if(o)W(t,o);else{var l=j(t);l&&W(t,l)}n.preventDefault()},X=function(n){var t=n.nextElementSibling;return t?e.dragdropScope?t.nextElementSibling:t:null},_=function(n){var t,r=n.target,o=(t=r.previousElementSibling)?e.dragdropScope?t.previousElementSibling:t:null;if(o)W(r,o,M(o));else{var l=A(r);l&&W(r,l)}n.preventDefault()},B=function(e){x||E||(e.currentTarget.tabIndex=-1,I(e,!0))},$=function(n){var t=a.DomHandler.findSingle(n.currentTarget,'[data-pc-section="toggler"]');if(0===e.level&&!E)return!1;if(E&&!x)return t.click(),!1;var r=Z(n.currentTarget);r&&W(n.currentTarget,r)},z=function(e){Q(e,y.current),L(e),e.preventDefault()},Y=function(){G()},G=function(){var e=a.DomHandler.find(v.current.closest('[data-pc-section="container"]'),'[role="treeitem"]'),n=S(e).some((function(e){return"true"===e.getAttribute("aria-selected")||"true"===e.getAttribute("aria-checked")}));if(S(e).forEach((function(e){e.tabIndex=-1})),n){var t=S(e).filter((function(e){return"true"===e.getAttribute("aria-selected")||"true"===e.getAttribute("aria-checked")}));t[0].tabIndex=0}else S(e)[0].tabIndex=0},Q=function(n,t){if(null!==e.selectionMode){var r=S(a.DomHandler.find(h.current.parentElement,'[role="treeitem"]'));n.currentTarget.tabIndex=!1===t?-1:0,r.every((function(e){return-1===e.tabIndex}))&&(r[0].tabIndex=0)}},W=function(e,n,t){var r;e.tabIndex="-1",n.tabIndex="0",(r=t||n)&&r.focus()},Z=function(e){var n=e.closest("ul").closest("li");if(n){var t=a.DomHandler.findSingle(n,"button");return t&&"hidden"!==t.style.visibility?n:Z(e.previousElementSibling)}return null},ee=function(n){var t,r=n.check,o=n.selectionKeys,l=K(e.node.children);try{for(l.s();!(t=l.n()).done;){var i=t.value;o[i.key]&&o[i.key].checked&&0}}catch(e){l.e(e)}finally{l.f()}var c=e.node.key,u=a.ObjectUtils.findChildrenByKey(e.originalOptions,c),d=u.some((function(e){return e.key in o})),s=u.every((function(e){return e.key in o&&o[e.key].checked}));d&&!s?o[c]={checked:!1,partialChecked:!0}:s?o[c]={checked:!0,partialChecked:!1}:r?o[c]={checked:!1,partialChecked:!1}:delete o[c],e.propagateSelectionUp&&e.onPropagateUp&&e.onPropagateUp(n)},ne=function(e,n,t){if(n?t[e.key]={checked:!0,partialChecked:!1}:delete t[e.key],e.children&&e.children.length)for(var r=0;rt.left+t.width||n.nativeEvent.x=Math.floor(t.top+t.height)||n.nativeEvent.y=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var l,a=!0,i=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return a=e.done,e},e:function(e){i=!0,l=e},f:function(){try{a||null==t.return||t.return()}finally{if(i)throw l}}}}function V(e,n){if(e){if("string"==typeof e)return J(e,n);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?J(e,n):void 0}}function J(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);te.index?e.index:e.index-1:e.index;l?l.children.splice(c,0,a):n.splice(c,0,a)}else l?l.children.push(a):n.push(a);d.onDragDrop&&d.onDragDrop({originalEvent:e.originalEvent,value:n,dragNode:a,dropNode:l,dropIndex:e.index})}},$=function(e,n){return!!e&&(e!==n&&0!==n.indexOf(e))},z=function(e,n){return!!$(e,n)&&!(e.indexOf("-")>0&&e.substring(0,e.lastIndexOf("-"))===n)},Y=function(e){var n;return!!$(null===(n=E.current)||void 0===n?void 0:n.path,e.path)&&(-1!==e.position||!G(E.current.path,e.path)||E.current.index+1!==e.index)},G=function(e,n){return 1===e.length&&1===n.length||e.substring(0,e.lastIndexOf("-"))===n.substring(0,n.lastIndexOf("-"))},Q=function(e,n){if(0===n.length)return null;var t=parseInt(n[0],10),r=e.children?e.children[t]:e[t];return 1===n.length?r:(n.shift(),Q(r,n))},W=function(e){return!1!==e.leaf&&!(e.children&&e.children.length)},Z=function(e){13===e.which&&e.preventDefault()},ee=function(e){C.current=!0;var n=e.target.value;d.onFilterValueChange?d.onFilterValueChange({originalEvent:e,value:n}):v(n)},ne=function(e){v(a.ObjectUtils.isNotEmpty(e)?e:"")},te=function(){if(C.current){if(a.ObjectUtils.isEmpty(O))k.current=d.value;else{k.current=[];var e,n=d.filterBy.split(","),t=O.toLocaleLowerCase(d.filterLocale),r="strict"===d.filterMode,o=q(d.value);try{for(o.s();!(e=o.n()).done;){var l=_({},e.value),i={searchFields:n,filterText:t,isStrictMode:r};(r&&(re(l,i)||oe(l,i))||!r&&(oe(l,i)||re(l,i)))&&k.current.push(l)}}catch(e){o.e(e)}finally{o.f()}}R({originalEvent:null,value:N.current,navigateFocusToChild:!1}),N.current={},C.current=!1}},re=function(e,n){if(e){var t=!1;if(e.children){var r=S(e.children);e.children=[];var o,l=q(r);try{for(l.s();!(o=l.n()).done;){var a=_({},o.value);oe(a,n)&&(t=!0,e.children.push(a))}}catch(e){l.e(e)}finally{l.f()}}if(t)return N.current[e.key]=!0,!0}},oe=function(e,n){var t,r=n.searchFields,o=n.filterText,l=n.isStrictMode,i=!1,c=q(r);try{for(c.s();!(t=c.n()).done;){String(a.ObjectUtils.resolveFieldData(e,t.value)).toLocaleLowerCase(d.filterLocale).indexOf(o)>-1&&(i=!0)}}catch(e){c.e(e)}finally{c.f()}return(!i||l&&!W(e))&&(i=re(e,{searchFields:r,filterText:o,isStrictMode:l})||i),i},le=function(){v("")};g.useImperativeHandle(i,(function(){return{props:d,filter:ne,getElement:function(){return x.current}}}));var ae=function(e,n,t){return g.createElement(H,{hostName:"Tree",key:e.key||e.label,node:e,level:d.level+1,originalOptions:d.value,index:n,last:t,path:String(n),checkboxIcon:d.checkboxIcon,collapseIcon:d.collapseIcon,contextMenuSelectionKey:d.contextMenuSelectionKey,cx:U,disabled:d.disabled,dragdropScope:d.dragdropScope,expandIcon:d.expandIcon,expandedKeys:I,isFiltering:D,isNodeLeaf:W,metaKeySelection:d.metaKeySelection,nodeTemplate:d.nodeTemplate,onClick:d.onNodeClick,onCollapse:d.onCollapse,onContextMenu:d.onContextMenu,onContextMenuSelectionChange:d.onContextMenuSelectionChange,onDoubleClick:d.onNodeDoubleClick,onDragEnd:V,onDragStart:F,onDrop:X,onDropPoint:B,onExpand:d.onExpand,onSelect:d.onSelect,onSelectionChange:d.onSelectionChange,onToggle:R,onUnselect:d.onUnselect,propagateSelectionDown:d.propagateSelectionDown,propagateSelectionUp:d.propagateSelectionUp,ptm:M,selectionKeys:d.selectionKeys,selectionMode:d.selectionMode,togglerTemplate:d.togglerTemplate,isUnstyled:K})},ie=function(e){var n=c(_({className:a.classNames(d.contentClassName,U("container")),role:"tree","aria-label":d.ariaLabel,"aria-labelledby":d.ariaLabelledBy,style:d.contentStyle},se),M("container"));return g.createElement("ul",n,e)},ce=function(e){return e.map((function(n,t){return ae(n,t,t===e.length-1)}))},ue=function(){if(d.filter){var e=d.onFilterValueChange?d.filterValue:p;e=a.ObjectUtils.isNotEmpty(e)?e:"";var n=c({className:U("searchIcon")},M("searchIcon")),t=a.IconUtils.getJSXIcon(d.filterIcon||g.createElement(o.SearchIcon,n),_({},n),{props:d}),r=c({className:U("filterContainer")},M("filterContainer")),l=c({type:"text",value:e,autoComplete:"off",className:U("input"),placeholder:d.filterPlaceholder,"aria-label":d.filterPlaceholder,onKeyDown:Z,onChange:ee,disabled:d.disabled},M("input")),i=g.createElement("div",r,g.createElement("input",l),t);if(d.filterTemplate)i=a.ObjectUtils.getJSXElement(d.filterTemplate,{className:"p-tree-filter-container",element:i,filterOptions:A,filterInputKeyDown:Z,filterInputChange:ee,filterIconClassName:"p-dropdown-filter-icon",props:d});return g.createElement(g.Fragment,null,i)}return null},de=w.getOtherProps(d),se=a.ObjectUtils.reduceKeys(de,a.DomHandler.ARIA_PROPS),pe=function(){if(d.loading){var e=c({className:U("loadingIcon")},M("loadingIcon")),n=d.loadingIcon||g.createElement(l.SpinnerIcon,m({},e,{spin:!0})),t=a.IconUtils.getJSXIcon(n,_({},e),{props:d}),r=c({className:U("loadingOverlay")},M("loadingOverlay"));return g.createElement("div",r,t)}return null}(),fe=function(){if(d.value){d.filter&&(C.current=!0);var e=L();if(e.length>0){var t=ce(e);return ie(t)}var r=(o=c({className:a.classNames(d.contentClassName,U("emptyMessage")),role:"treeitem"},M("emptyMessage")),l=a.ObjectUtils.getJSXElement(d.emptyMessage,d)||n.localeOption("emptyMessage"),g.createElement("li",o,g.createElement("span",{className:"p-treenode-content"},l)));return ie(r)}var o,l;return null}(),ge=function(){if(d.showHeader){var e=ue(),n=e;if(d.header)n=a.ObjectUtils.getJSXElement(d.header,{filterContainerClassName:"p-tree-filter-container",filterIconClassName:"p-tree-filter-icon",filterInput:{className:"p-tree-filter p-inputtext p-component",onKeyDown:Z,onChange:ee},filterElement:e,element:n,props:d});var t=c({className:U("header")},M("header"));return g.createElement("div",t,n)}return null}(),me=function(){var e=a.ObjectUtils.getJSXElement(d.footer,d),n=c({className:U("footer")},M("footer"));return g.createElement("div",n,e)}(),ve=c({ref:x,className:a.classNames(d.className,U("root")),style:d.style,id:d.id},w.getOtherProps(d),M("root"));return g.createElement("div",ve,pe,ge,fe,me)})));B.displayName="Tree",exports.Tree=B;