primereact
Version:
PrimeReact is an open source UI library for React featuring a rich set of 90+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with Prime
2 lines (1 loc) • 22.6 kB
JavaScript
import*as e from"react";import{ObjectUtils as n,classNames as t,DomHandler as r}from"primereact/utils";import{ariaLabel as o}from"primereact/api";import{Ripple as l}from"primereact/ripple";function a(){return a=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},a.apply(this,arguments)}function i(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function c(e){if(Array.isArray(e))return i(e)}function d(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function p(e,n){if(e){if("string"==typeof e)return i(e,n);var t=Object.prototype.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)?i(e,n):void 0}}function u(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function s(e){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s(e)}function f(e,n){if("object"!==s(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,n||"default");if("object"!==s(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}function g(e){var n=f(e,"string");return"symbol"===s(n)?n:String(n)}function y(e,n,t){return(n=g(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function h(e){if(Array.isArray(e))return e}function v(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,o,l,a,i=[],c=!0,d=!1;try{if(l=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;c=!1}else for(;!(c=(r=l.call(t)).done)&&(i.push(r.value),i.length!==n);c=!0);}catch(e){d=!0,o=e}finally{try{if(!c&&null!=t.return&&(a=t.return(),Object(a)!==a))return}finally{if(d)throw o}}return i}}function m(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function b(e,n){return h(e)||v(e,n)||p(e,n)||m()}var S={defaultProps:{__TYPE:"Tree",id:null,value:null,disabled:!1,selectionMode:null,selectionKeys:null,onSelectionChange:null,contextMenuSelectionKey:null,onContextMenuSelectionChange:null,expandedKeys:null,style:null,className:null,contentStyle:null,contentClassName:null,metaKeySelection:!0,propagateSelectionUp:!0,propagateSelectionDown:!0,loading:!1,loadingIcon:"pi pi-spinner",dragdropScope:null,header:null,footer:null,showHeader:!0,filter:!1,filterValue:null,filterBy:"label",filterMode:"lenient",filterPlaceholder:null,filterLocale:void 0,filterTemplate:null,nodeTemplate:null,togglerTemplate:null,onSelect:null,onUnselect:null,onExpand:null,onCollapse:null,onToggle:null,onDragDrop:null,onContextMenu:null,onFilterValueChange:null,onNodeClick:null,onNodeDoubleClick:null,children:void 0},getProps:function(e){return n.getMergedProps(e,S.defaultProps)},getOtherProps:function(e){return n.getDiffProps(e,S.defaultProps)}};function x(e,n){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=E(e))||n&&e&&"number"==typeof e.length){t&&(e=t);var r=0,o=function(){};return{s:o,n:function(){return r>=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 E(e,n){if(e){if("string"==typeof e)return C(e,n);var t=Object.prototype.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)?C(e,n):void 0}}function C(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function k(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function D(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?k(Object(t),!0).forEach((function(n){y(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):k(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}var O=e.memo((function(a){var i,c,d,p=e.useRef(null),u=e.useRef(!1),s=a.isNodeLeaf(a.node),f=!!a.expandedKeys&&void 0!==a.expandedKeys[a.node.key]||a.node.expanded,g=function(e){var n=a.expandedKeys?D({},a.expandedKeys):{};n[a.node.key]=!0,a.onToggle({originalEvent:e,value:n}),v(e,!0)},y=function(e){var n=D({},a.expandedKeys);delete n[a.node.key],a.onToggle({originalEvent:e,value:n}),v(e,!1)},h=function(e){a.disabled||(f?y(e):g(e),e.preventDefault(),e.stopPropagation())},v=function(e,n){n?a.onExpand&&a.onExpand({originalEvent:e,node:a.node}):a.onCollapse&&a.onCollapse({originalEvent:e,node:a.node})},m=function(e){if(!a.disabled){var n=e.target.parentElement;if(r.hasClass(n,"p-treenode"))switch(e.which){case 40:var t=n.children[1];if(t)C(t.children[0]);else{for(var o=n.nextElementSibling;o&&r.hasClass(o,"p-treenode-droppoint");)o=o.nextElementSibling;if(o)C(o);else{var l=b(n);l&&C(l)}}e.preventDefault();break;case 38:if(n.previousElementSibling)C(S(n.previousElementSibling));else{var i=E(n);i&&C(i)}e.preventDefault();break;case 39:f||g(e),e.preventDefault();break;case 37:f&&y(e),e.preventDefault();break;case 13:k(e),e.preventDefault()}}},b=function e(n){var t=E(n);return t?t.nextElementSibling||e(t):null},S=function e(n){var t=n.children[1];return t?e(t.children[t.children.length-1]):n},E=function(e){var n=e.parentElement.parentElement;return r.hasClass(n,"p-treenode")?n:null},C=function(e){e&&e.children[0]&&e.children[0].focus()},k=function(e){a.onClick&&a.onClick({originalEvent:e,node:a.node});var n=e.target.nodeName;if(!a.disabled&&"INPUT"!==n&&"BUTTON"!==n&&"A"!==n&&!r.hasClass(e.target,"p-clickable")){if(a.selectionMode&&!1!==a.node.selectable){var t;if(I()){var o=M();t=a.selectionKeys?D({},a.selectionKeys):{},o?(a.propagateSelectionDown?T(a.node,!1,t):delete t[a.node.key],a.propagateSelectionUp&&a.onPropagateUp&&a.onPropagateUp({originalEvent:e,check:!1,selectionKeys:t}),a.onUnselect&&a.onUnselect({originalEvent:e,node:a.node})):(a.propagateSelectionDown?T(a.node,!0,t):t[a.node.key]={checked:!0},a.propagateSelectionUp&&a.onPropagateUp&&a.onPropagateUp({originalEvent:e,check:!0,selectionKeys:t}),a.onSelect&&a.onSelect({originalEvent:e,node:a.node}))}else{var l=P();if(!u.current&&a.metaKeySelection){var i=e.metaKey||e.ctrlKey;l&&i?(j()?t=null:delete(t=D({},a.selectionKeys))[a.node.key],a.onUnselect&&a.onUnselect({originalEvent:e,node:a.node})):(j()?t=a.node.key:U()&&((t=i&&a.selectionKeys?D({},a.selectionKeys):{})[a.node.key]=!0),a.onSelect&&a.onSelect({originalEvent:e,node:a.node}))}else j()?l?(t=null,a.onUnselect&&a.onUnselect({originalEvent:e,node:a.node})):(t=a.node.key,a.onSelect&&a.onSelect({originalEvent:e,node:a.node})):l?(delete(t=D({},a.selectionKeys))[a.node.key],a.onUnselect&&a.onUnselect({originalEvent:e,node:a.node})):((t=a.selectionKeys?D({},a.selectionKeys):{})[a.node.key]=!0,a.onSelect&&a.onSelect({originalEvent:e,node:a.node}))}a.onSelectionChange&&a.onSelectionChange({originalEvent:e,value:t})}u.current=!1}},w=function(e){a.onDoubleClick&&a.onDoubleClick({originalEvent:e,node:a.node})},N=function(e){a.disabled||(r.clearSelection(),a.onContextMenuSelectionChange&&a.onContextMenuSelectionChange({originalEvent:e,value:a.node.key}),a.onContextMenu&&a.onContextMenu({originalEvent:e,node:a.node}))},K=function(e){var n,t=e.check,r=e.selectionKeys,o=0,l=!1,i=x(a.node.children);try{for(i.s();!(n=i.n()).done;){var c=n.value;r[c.key]&&r[c.key].checked?o++:r[c.key]&&r[c.key].partialChecked&&(l=!0)}}catch(e){i.e(e)}finally{i.f()}t&&o===a.node.children.length?r[a.node.key]={checked:!0,partialChecked:!1}:(t||delete r[a.node.key],l||o>0&&o!==a.node.children.length?r[a.node.key]={checked:!1,partialChecked:!0}:delete r[a.node.key]),a.propagateSelectionUp&&a.onPropagateUp&&a.onPropagateUp(e)},T=function e(n,t,r){if(t?r[n.key]={checked:!0,partialChecked:!1}:delete r[n.key],n.children&&n.children.length)for(var o=0;o<n.children.length;o++)e(n.children[o],t,r)},P=function(){return!(!a.selectionMode||!a.selectionKeys)&&(j()?a.selectionKeys===a.node.key:void 0!==a.selectionKeys[a.node.key])},M=function(){return!!a.selectionKeys&&(a.selectionKeys[a.node.key]&&a.selectionKeys[a.node.key].checked)},j=function(){return a.selectionMode&&"single"===a.selectionMode},U=function(){return a.selectionMode&&"multiple"===a.selectionMode},I=function(){return a.selectionMode&&"checkbox"===a.selectionMode},L=function(){u.current=!0},A=function(e,n){(e.preventDefault(),!1!==a.node.droppable)&&(r.removeClass(e.target,"p-treenode-droppoint-active"),a.onDropPoint&&a.onDropPoint({originalEvent:e,path:a.path,index:-1===n?a.index:a.index+1,position:n}))},F=function(e){e.dataTransfer.types[1]===a.dragdropScope.toLocaleLowerCase()&&(e.dataTransfer.dropEffect="move",e.preventDefault())},R=function(e){e.dataTransfer.types[1]===a.dragdropScope.toLocaleLowerCase()&&r.addClass(e.target,"p-treenode-droppoint-active")},J=function(e){e.dataTransfer.types[1]===a.dragdropScope.toLocaleLowerCase()&&r.removeClass(e.target,"p-treenode-droppoint-active")},V=function(e){a.dragdropScope&&!1!==a.node.droppable&&(r.removeClass(p.current,"p-treenode-dragover"),e.preventDefault(),e.stopPropagation(),a.onDrop&&a.onDrop({originalEvent:e,path:a.path,index:a.index}))},X=function(e){e.dataTransfer.types[1]===a.dragdropScope.toLocaleLowerCase()&&!1!==a.node.droppable&&(e.dataTransfer.dropEffect="move",e.preventDefault(),e.stopPropagation())},B=function(e){e.dataTransfer.types[1]===a.dragdropScope.toLocaleLowerCase()&&!1!==a.node.droppable&&r.addClass(p.current,"p-treenode-dragover")},H=function(e){if(e.dataTransfer.types[1]===a.dragdropScope.toLocaleLowerCase()&&!1!==a.node.droppable){var n=e.currentTarget.getBoundingClientRect();(e.nativeEvent.x>n.left+n.width||e.nativeEvent.x<n.left||e.nativeEvent.y>=Math.floor(n.top+n.height)||e.nativeEvent.y<n.top)&&r.removeClass(p.current,"p-treenode-dragover")}},$=function(e){e.dataTransfer.setData("text",a.dragdropScope),e.dataTransfer.setData(a.dragdropScope,a.dragdropScope),a.onDragStart&&a.onDragStart({originalEvent:e,path:a.path,index:a.index})},_=function(e){a.onDragEnd&&a.onDragEnd({originalEvent:e})},Y=function(){var t=e.createElement("span",{className:"p-treenode-label"},a.node.label);a.nodeTemplate&&(t=n.getJSXElement(a.nodeTemplate,a.node,{onTogglerClick:h,className:"p-treenode-label",element:t,props:a,expanded:f}));return t},q=function(){if(I()&&!1!==a.node.selectable){var n=M(),r=!!a.selectionKeys&&a.selectionKeys[a.node.key]&&a.selectionKeys[a.node.key].partialChecked,o=t("p-checkbox-box",{"p-highlight":n,"p-indeterminate":r,"p-disabled":a.disabled}),l=t("p-checkbox-icon p-c",{"pi pi-check":n,"pi pi-minus":r});return e.createElement("div",{className:"p-checkbox p-component"},e.createElement("div",{className:o,role:"checkbox","aria-checked":n},e.createElement("span",{className:l})))}return null},z=function(){var n=a.node.icon||(f?a.node.expandedIcon:a.node.collapsedIcon);if(n){var r=t("p-treenode-icon",n);return e.createElement("span",{className:r})}return null},G=function(){var r=o(f?"collapseLabel":"expandLabel"),i=t("p-tree-toggler-icon pi pi-fw",{"pi-chevron-right":!f,"pi-chevron-down":f}),c=e.createElement("button",{type:"button",className:"p-tree-toggler p-link",tabIndex:-1,onClick:h,"aria-label":r},e.createElement("span",{className:i,"aria-hidden":"true"}),e.createElement(l,null));a.togglerTemplate&&(c=n.getJSXElement(a.togglerTemplate,a.node,{onClick:h,containerClassName:"p-tree-toggler p-link",iconClassName:"p-tree-toggler-icon",element:c,props:a,expanded:f}));return c},Q=function(n){return a.dragdropScope?e.createElement("li",{className:"p-treenode-droppoint",onDrop:function(e){return A(e,n)},onDragOver:F,onDragEnter:R,onDragLeave:J}):null},W=function(){var n=P(),r=M(),o=t("p-treenode-content",a.node.className,{"p-treenode-selectable":a.selectionMode&&!1!==a.node.selectable,"p-highlight":I()?r:n,"p-highlight-contextmenu":a.contextMenuSelectionKey&&a.contextMenuSelectionKey===a.node.key,"p-disabled":a.disabled}),l=G(),i=q(),c=z(),d=Y();return e.createElement("div",{ref:p,className:o,style:a.node.style,onClick:k,onDoubleClick:w,onContextMenu:N,onTouchEnd:L,draggable:a.dragdropScope&&!1!==a.node.draggable&&!a.disabled,onDrop:V,onDragOver:X,onDragEnter:B,onDragLeave:H,onDragStart:$,onDragEnd:_,tabIndex:a.disabled?void 0:0,onKeyDown:m,role:"treeitem","aria-posinset":a.index+1,"aria-expanded":f,"aria-selected":r||n},l,i,c,d)},Z=(i=t("p-treenode",{"p-treenode-leaf":s},a.node.className),c=W(),d=n.isNotEmpty(a.node.children)&&f?e.createElement("ul",{className:"p-treenode-children",role:"group"},a.node.children.map((function(n,t){return e.createElement(O,{key:n.key||n.label,node:n,parent:a.node,index:t,last:t===a.node.children.length-1,path:a.path+"-"+t,disabled:a.disabled,selectionMode:a.selectionMode,selectionKeys:a.selectionKeys,onSelectionChange:a.onSelectionChange,metaKeySelection:a.metaKeySelection,propagateSelectionDown:a.propagateSelectionDown,propagateSelectionUp:a.propagateSelectionUp,contextMenuSelectionKey:a.contextMenuSelectionKey,onContextMenuSelectionChange:a.onContextMenuSelectionChange,onContextMenu:a.onContextMenu,onExpand:a.onExpand,onCollapse:a.onCollapse,onSelect:a.onSelect,onUnselect:a.onUnselect,onClick:a.onClick,onDoubleClick:a.onDoubleClick,expandedKeys:a.expandedKeys,onToggle:a.onToggle,onPropagateUp:K,nodeTemplate:a.nodeTemplate,togglerTemplate:a.togglerTemplate,isNodeLeaf:a.isNodeLeaf,dragdropScope:a.dragdropScope,onDragStart:a.onDragStart,onDragEnd:a.onDragEnd,onDrop:a.onDrop,onDropPoint:a.onDropPoint})}))):null,e.createElement("li",{className:i,style:a.node.style},c,d));if(a.dragdropScope&&!a.disabled){var ee=Q(-1),ne=a.last?Q(1):null;return e.createElement(e.Fragment,null,ee,Z,ne)}return Z}));function w(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function N(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?w(Object(t),!0).forEach((function(n){y(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):w(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function K(e,n){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=T(e))||n&&e&&"number"==typeof e.length){t&&(e=t);var r=0,o=function(){};return{s:o,n:function(){return r>=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 T(e,n){if(e){if("string"==typeof e)return P(e,n);var t=Object.prototype.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)?P(e,n):void 0}}function P(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}O.displayName="UITreeNode";var M=e.memo(e.forwardRef((function(o,l){var i=S.getProps(o),s=b(e.useState(""),2),f=s[0],g=s[1],y=b(e.useState(i.expandedKeys),2),h=y[0],v=y[1],m=e.useRef(null),x=e.useRef([]),E=e.useRef(null),C=e.useRef(!1),k=i.onFilterValueChange?i.filterValue:f,D=i.onToggle?i.expandedKeys:h,w={filter:function(e){return X(e)},reset:function(){return Y()}},T=function(e){i.onToggle?i.onToggle(e):v(e.value)},P=function(e){E.current={path:e.path,index:e.index}},M=function(){E.current=null},j=function(e){if(L(E.current.path,e.path)){var n=JSON.parse(JSON.stringify(i.value)),t=E.current.path.split("-");t.pop();var r=R(n,t),o=r?r.children[E.current.index]:n[E.current.index],l=R(n,e.path.split("-"));l.children?l.children.push(o):l.children=[o],r?r.children.splice(E.current.index,1):n.splice(E.current.index,1),i.onDragDrop&&i.onDragDrop({originalEvent:e.originalEvent,value:n,dragNode:o,dropNode:l,dropIndex:e.index})}},U=function(e){if(A(e)){var n=JSON.parse(JSON.stringify(i.value)),t=E.current.path.split("-");t.pop();var r=e.path.split("-");r.pop();var o=R(n,t),l=R(n,r),a=o?o.children[E.current.index]:n[E.current.index],c=F(E.current.path,e.path);if(o?o.children.splice(E.current.index,1):n.splice(E.current.index,1),e.position<0){var d=c?E.current.index>e.index?e.index:e.index-1:e.index;l?l.children.splice(d,0,a):n.splice(d,0,a)}else l?l.children.push(a):n.push(a);i.onDragDrop&&i.onDragDrop({originalEvent:e.originalEvent,value:n,dragNode:a,dropNode:l,dropIndex:e.index})}},I=function(e,n){return!!e&&(e!==n&&0!==n.indexOf(e))},L=function(e,n){return!!I(e,n)&&!(e.indexOf("-")>0&&e.substring(0,e.lastIndexOf("-"))===n)},A=function(e){return!!I(E.current.path,e.path)&&(-1!==e.position||!F(E.current.path,e.path)||E.current.index+1!==e.index)},F=function(e,n){return 1===e.length&&1===n.length||e.substring(0,e.lastIndexOf("-"))===n.substring(0,n.lastIndexOf("-"))},R=function e(n,t){if(0===t.length)return null;var r=parseInt(t[0],10),o=n.children?n.children[r]:n[r];return 1===t.length?o:(t.shift(),e(o,t))},J=function(e){return!1!==e.leaf&&!(e.children&&e.children.length)},V=function(e){13===e.which&&e.preventDefault()},X=function(e){C.current=!0;var n=e.target.value;i.onFilterValueChange?i.onFilterValueChange({originalEvent:e,value:n}):g(n)},B=function(e){g(n.isNotEmpty(e)?e:""),H()},H=function(){if(C.current){if(n.isEmpty(k))x.current=i.value;else{x.current=[];var e,t=i.filterBy.split(","),r=k.toLocaleLowerCase(i.filterLocale),o="strict"===i.filterMode,l=K(i.value);try{for(l.s();!(e=l.n()).done;){var a=N({},e.value),c={searchFields:t,filterText:r,isStrictMode:o};(o&&($(a,c)||_(a,c))||!o&&(_(a,c)||$(a,c)))&&x.current.push(a)}}catch(e){l.e(e)}finally{l.f()}}C.current=!1}},$=function(e,n){if(e){var t=!1;if(e.children){var r=c(i=e.children)||d(i)||p(i)||u();e.children=[];var o,l=K(r);try{for(l.s();!(o=l.n()).done;){var a=N({},o.value);_(a,n)&&(t=!0,e.children.push(a))}}catch(e){l.e(e)}finally{l.f()}}if(t)return e.expanded=!0,!0}var i},_=function(e,t){var r,o=t.searchFields,l=t.filterText,a=t.isStrictMode,c=!1,d=K(o);try{for(d.s();!(r=d.n()).done;){String(n.resolveFieldData(e,r.value)).toLocaleLowerCase(i.filterLocale).indexOf(l)>-1&&(c=!0)}}catch(e){d.e(e)}finally{d.f()}return(!c||a&&!J(e))&&(c=$(e,{searchFields:o,filterText:l,isStrictMode:a})||c),c},Y=function(){g("")};e.useImperativeHandle(l,(function(){return{props:i,filter:B,getElement:function(){return m.current}}}));var q=function(n,t,r){return e.createElement(O,{key:n.key||n.label,node:n,index:t,last:r,path:String(t),disabled:i.disabled,selectionMode:i.selectionMode,selectionKeys:i.selectionKeys,onSelectionChange:i.onSelectionChange,metaKeySelection:i.metaKeySelection,contextMenuSelectionKey:i.contextMenuSelectionKey,onContextMenuSelectionChange:i.onContextMenuSelectionChange,onContextMenu:i.onContextMenu,propagateSelectionDown:i.propagateSelectionDown,propagateSelectionUp:i.propagateSelectionUp,onExpand:i.onExpand,onCollapse:i.onCollapse,onSelect:i.onSelect,onUnselect:i.onUnselect,expandedKeys:D,onToggle:T,nodeTemplate:i.nodeTemplate,togglerTemplate:i.togglerTemplate,isNodeLeaf:J,dragdropScope:i.dragdropScope,onDragStart:P,onDragEnd:M,onDrop:j,onDropPoint:U,onClick:i.onNodeClick,onDoubleClick:i.onNodeDoubleClick})},z=function(){i.filter&&(C.current=!0,H());var e=i.filter&&x.current?x.current:i.value;return e.map((function(n,t){return q(n,t,t===e.length-1)}))},G=function(){if(i.filter){var t=n.isNotEmpty(k)?k:"",r=e.createElement("div",{className:"p-tree-filter-container"},e.createElement("input",{type:"text",value:t,autoComplete:"off",className:"p-tree-filter p-inputtext p-component",placeholder:i.filterPlaceholder,onKeyDown:V,onChange:X,disabled:i.disabled}),e.createElement("span",{className:"p-tree-filter-icon pi pi-search"}));if(i.filterTemplate)r=n.getJSXElement(i.filterTemplate,{className:"p-tree-filter-container",element:r,filterOptions:w,filterInputKeyDown:V,filterInputChange:X,filterIconClassName:"p-dropdown-filter-icon pi pi-search",props:i});return e.createElement(e.Fragment,null,r)}return null},Q=S.getOtherProps(i),W=n.reduceKeys(Q,r.ARIA_PROPS),Z=t("p-tree p-component",i.className,{"p-tree-selectable":i.selectionMode,"p-tree-loading":i.loading,"p-disabled":i.disabled}),ee=function(){if(i.loading){var n=t("p-tree-loading-icon pi-spin",i.loadingIcon);return e.createElement("div",{className:"p-tree-loading-overlay p-component-overlay"},e.createElement("i",{className:n}))}return null}(),ne=function(){if(i.value){var n=z(),r=t("p-tree-container",i.contentClassName);return e.createElement("ul",a({className:r,role:"tree",style:i.contentStyle},W),n)}return null}(),te=function(){if(i.showHeader){var t=G(),r=t;if(i.header)r=n.getJSXElement(i.header,{filterContainerClassName:"p-tree-filter-container",filterIconClasssName:"p-tree-filter-icon pi pi-search",filterInput:{className:"p-tree-filter p-inputtext p-component",onKeyDown:V,onChange:X},filterElement:t,element:r,props:i});return e.createElement("div",{className:"p-tree-header"},r)}return null}(),re=function(){var t=n.getJSXElement(i.footer,i);return e.createElement("div",{className:"p-tree-footer"},t)}();return e.createElement("div",a({id:i.id,ref:m,className:Z,style:i.style},Q),ee,te,ne,re)})));M.displayName="Tree";export{M as Tree};