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) • 32.9 kB
JavaScript
"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/icons/chevrondown"),u=require("primereact/icons/chevronright"),d=require("primereact/icons/minus"),s=require("primereact/ripple"),p=require("primereact/tooltip");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;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},m.apply(this,arguments)}function v(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 h(e){if(Array.isArray(e))return v(e)}function y(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function b(e,n){if(e){if("string"==typeof e)return v(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)?v(e,n):void 0}}function x(){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 h(e)||y(e)||b(e)||x()}function k(e){return k="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},k(e)}function E(e,n){if("object"!==k(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,n||"default");if("object"!==k(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}function C(e){var n=E(e,"string");return"symbol"===k(n)?n:String(n)}function O(e,n,t){return(n=C(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function D(e){if(Array.isArray(e))return e}function I(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,u=!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){u=!0,o=e}finally{try{if(!c&&null!=t.return&&(a=t.return(),Object(a)!==a))return}finally{if(u)throw o}}return i}}function N(){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 w(e,n){return D(e)||I(e,n)||b(e,n)||N()}var j=t.ComponentBase.extend({defaultProps:{__TYPE:"Tree",__parentMetadata:null,id:null,value:null,ariaLabel:null,ariaLabelledBy:null,checkboxIcon:null,className:null,collapseIcon:null,contentClassName:null,contentStyle:null,contextMenuSelectionKey:null,disabled:!1,dragdropScope:null,emptyMessage:null,expandIcon:null,expandedKeys:null,filter:!1,filterBy:"label",filterIcon:null,filterLocale:void 0,filterMode:"lenient",filterPlaceholder:null,filterTemplate:null,filterValue:null,footer:null,header:null,level:0,loading:!1,loadingIcon:null,metaKeySelection:!1,nodeTemplate:null,onCollapse:null,onContextMenu:null,onContextMenuSelectionChange:null,onDragDrop:null,onExpand:null,onFilterValueChange:null,onNodeClick:null,onNodeDoubleClick:null,onSelect:null,onSelectionChange:null,onToggle:null,onUnselect:null,propagateSelectionDown:!0,propagateSelectionUp:!0,selectionKeys:null,selectionMode:null,showHeader:!0,style:null,togglerTemplate:null,children:void 0},css:{classes:{root:function(e){var n=e.props;return a.classNames("p-tree p-component",{"p-tree-selectable":n.selectionMode,"p-tree-loading":n.loading,"p-disabled":n.disabled})},loadingOverlay:"p-tree-loading-overlay p-component-overlay",loadingIcon:"p-tree-loading-icon",filterContainer:"p-tree-filter-container",input:"p-tree-filter p-inputtext p-component",searchIcon:"p-tree-filter-icon",container:"p-tree-container",node:function(e){return a.classNames("p-treenode",{"p-treenode-leaf":e.isLeaf})},content:function(e){var n=e.nodeProps,t=e.checked,r=e.selected;return a.classNames("p-treenode-content",{"p-treenode-selectable":n.selectionMode&&!1!==n.node.selectable,"p-highlight":(0,e.isCheckboxSelectionMode)()?t:r,"p-highlight-contextmenu":n.contextMenuSelectionKey&&n.contextMenuSelectionKey===n.node.key,"p-disabled":n.disabled})},toggler:"p-tree-toggler p-link",togglerIcon:"p-tree-toggler-icon",nodeCheckbox:function(e){return a.classNames({"p-indeterminate":e.partialChecked})},nodeIcon:"p-treenode-icon",label:"p-treenode-label",subgroup:"p-treenode-children",checkIcon:"p-checkbox-icon",emptyMessage:"p-treenode p-tree-empty-message",droppoint:"p-treenode-droppoint",header:"p-tree-header",footer:"p-tree-footer"}}}),P=t.ComponentBase.extend({defaultProps:{__TYPE:"Checkbox",autoFocus:!1,checked:!1,className:null,disabled:!1,falseValue:!1,icon:null,id:null,inputId:null,inputRef:null,invalid:!1,variant:null,name:null,onChange:null,onContextMenu:null,onMouseDown:null,readOnly:!1,required:!1,style:null,tabIndex:null,tooltip:null,tooltipOptions:null,trueValue:!0,value:null,children:void 0},css:{classes:{box:"p-checkbox-box",input:"p-checkbox-input",icon:"p-checkbox-icon",root:function(e){var n=e.props,t=e.context;return a.classNames("p-checkbox p-component",{"p-highlight":e.checked,"p-disabled":n.disabled,"p-invalid":n.invalid,"p-variant-filled":n.variant?"filled"===n.variant:t&&"filled"===t.inputStyle})}}}});function M(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 T(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?M(Object(t),!0).forEach((function(n){O(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):M(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}var U=g.memo(g.forwardRef((function(e,o){var l=r.useMergeProps(),c=g.useContext(n.PrimeReactContext),u=P.getProps(e,c),d=w(g.useState(!1),2),s=d[1],f=P.setMetaData({props:u,state:{focused:d[0]},context:{checked:u.checked===u.trueValue,disabled:u.disabled}}),v=f.ptm,h=f.cx;t.useHandleStyle(P.css.styles,f.isUnstyled,{name:"checkbox"});var y=g.useRef(null),b=g.useRef(u.inputRef),x=function(){return u.checked===u.trueValue},S=function(e){if(!u.disabled&&!u.readonly&&u.onChange){var n,t=x()?u.falseValue:u.trueValue;if(null==u||null===(n=u.onChange)||void 0===n||n.call(u,{originalEvent:e,value:u.value,checked:t,stopPropagation:function(){null==e||e.stopPropagation()},preventDefault:function(){null==e||e.preventDefault()},target:{type:"checkbox",name:u.name,id:u.id,value:u.value,checked:t}}),e.defaultPrevented)return;a.DomHandler.focus(b.current)}};g.useImperativeHandle(o,(function(){return{props:u,focus:function(){return a.DomHandler.focus(b.current)},getElement:function(){return y.current},getInput:function(){return b.current}}})),g.useEffect((function(){a.ObjectUtils.combinedRefs(b,u.inputRef)}),[b,u.inputRef]),r.useUpdateEffect((function(){b.current.checked=x()}),[u.checked,u.trueValue]),r.useMountEffect((function(){u.autoFocus&&a.DomHandler.focus(b.current,u.autoFocus)}));var k,E,C,O,D,I=x(),N=a.ObjectUtils.isNotEmpty(u.tooltip),j=P.getOtherProps(u),M=l({id:u.id,className:a.classNames(u.className,h("root",{checked:I,context:c})),style:u.style,"data-p-highlight":I,"data-p-disabled":u.disabled,onContextMenu:u.onContextMenu,onMouseDown:u.onMouseDown},j,v("root"));return g.createElement(g.Fragment,null,g.createElement("div",m({ref:y},M),(O=a.ObjectUtils.reduceKeys(j,a.DomHandler.ARIA_PROPS),D=l(T({id:u.inputId,type:"checkbox",className:h("input"),name:u.name,tabIndex:u.tabIndex,onFocus:function(e){return s(!0),void(null==u||null===(n=u.onFocus)||void 0===n||n.call(u));var n},onBlur:function(e){return s(!1),void(null==u||null===(n=u.onBlur)||void 0===n||n.call(u));var n},onChange:function(e){return S(e)},disabled:u.disabled,readOnly:u.readOnly,required:u.required,"aria-invalid":u.invalid,checked:I},O),v("input")),g.createElement("input",m({ref:b},D))),(k=l({className:h("icon")},v("icon")),E=l({className:h("box",{checked:I}),"data-p-highlight":I,"data-p-disabled":u.disabled},v("box")),C=a.IconUtils.getJSXIcon(I?u.icon||g.createElement(i.CheckIcon,k):null,T({},k),{props:u,checked:I}),g.createElement("div",E,C))),N&&g.createElement(p.Tooltip,m({target:y,content:u.tooltip,pt:v("tooltip")},u.tooltipOptions)))})));function K(e,n){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=A(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 A(e,n){if(e){if("string"==typeof e)return L(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)?L(e,n):void 0}}function L(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 R(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 H(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?R(Object(t),!0).forEach((function(n){O(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):R(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}U.displayName="Checkbox";var F=g.memo((function(e){var n,t,o,l,p,f,m,v=g.useRef(null),h=g.useRef(null),y=g.useRef(!1),b=r.useMergeProps(),x=e.isNodeLeaf(e.node),k=e.node.label,E=!!e.expandedKeys&&void 0!==e.expandedKeys[e.node.key]||e.node.expanded,C=e.ptm,O=e.cx,D=function(n){return C(n,{hostName:e.hostName,context:{selected:!ie()&&te(),expanded:E||!1,checked:!!ie()&&re(),isLeaf:x}})},I=function(n){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=e.expandedKeys?H({},e.expandedKeys):{};r[e.node.key]=!0,e.onToggle({originalEvent:n,value:r,navigateFocusToChild:t}),j(n,!0)},N=function(n){var t=H({},e.expandedKeys);delete t[e.node.key],e.onToggle({originalEvent:n,value:t}),j(n,!1)},w=function(n){e.disabled||(E?N(n):I(n,!1),n.preventDefault(),n.stopPropagation())},j=function(n,t){t?e.onExpand&&e.onExpand({originalEvent:n,node:e.node}):e.onCollapse&&e.onCollapse({originalEvent:n,node:e.node})},P=function(e){var n=e.nextSibling;return n?"droppoint"===n.getAttribute("data-pc-section")?n.nextElementSibling?n.nextElementSibling:null:n:null},M=function(e){var n=A(e);return n?P(n)||M(n):null},T=function(n){var t=n.children[1];return t?T(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?H({},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=H({},e.selectionKeys))[e.node.key],e.onUnselect&&e.onUnselect({originalEvent:n,node:e.node})):(le()?r=e.node.key:ae()&&((r=i&&e.selectionKeys?H({},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=H({},e.selectionKeys))[e.node.key],e.onUnselect&&e.onUnselect({originalEvent:n,node:e.node})):((r=e.selectionKeys?H({},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=M(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,T(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;r<e.children.length;r++)ne(e.children[r],n,t)},te=function(){return!(!e.selectionMode||!e.selectionKeys)&&(le()?e.selectionKeys===e.node.key:void 0!==e.selectionKeys[e.node.key])},re=function(){return!!e.selectionKeys&&(e.selectionKeys[e.node.key]&&e.selectionKeys[e.node.key].checked)||!1},oe=function(e){return e.currentTarget&&(e.currentTarget.isSameNode(e.target)||e.currentTarget.isSameNode(e.target.closest('[role="treeitem"]')))},le=function(){return e.selectionMode&&"single"===e.selectionMode},ae=function(){return e.selectionMode&&"multiple"===e.selectionMode},ie=function(){return e.selectionMode&&"checkbox"===e.selectionMode},ce=function(){y.current=!0},ue=function(n,t){(n.preventDefault(),a.DomHandler.removeClass(n.target,"p-treenode-droppoint-active"),e.onDropPoint)&&e.onDropPoint({originalEvent:n,path:e.path,index:-1===t?e.index:e.index+1,position:t})},de=function(n){e.dragdropScope&&n.dataTransfer.types[1]===e.dragdropScope.toLocaleLowerCase()&&(n.dataTransfer.dropEffect="move",n.preventDefault())},se=function(n){e.dragdropScope&&n.dataTransfer.types[1]===e.dragdropScope.toLocaleLowerCase()&&a.DomHandler.addClass(n.target,"p-treenode-droppoint-active")},pe=function(n){e.dragdropScope&&n.dataTransfer.types[1]===e.dragdropScope.toLocaleLowerCase()&&a.DomHandler.removeClass(n.target,"p-treenode-droppoint-active")},fe=function(n){e.dragdropScope&&!1!==e.node.droppable&&(a.DomHandler.removeClass(v.current,"p-treenode-dragover"),n.preventDefault(),n.stopPropagation(),e.onDrop&&e.onDrop({originalEvent:n,path:e.path,index:e.index}))},ge=function(n){e.dragdropScope&&n.dataTransfer.types[1]===e.dragdropScope.toLocaleLowerCase()&&!1!==e.node.droppable&&(n.dataTransfer.dropEffect="move",n.preventDefault(),n.stopPropagation())},me=function(n){e.dragdropScope&&n.dataTransfer.types[1]===e.dragdropScope.toLocaleLowerCase()&&!1!==e.node.droppable&&a.DomHandler.addClass(v.current,"p-treenode-dragover")},ve=function(n){if(e.dragdropScope&&n.dataTransfer.types[1]===e.dragdropScope.toLocaleLowerCase()&&!1!==e.node.droppable){var t=n.currentTarget.getBoundingClientRect();(n.nativeEvent.x>t.left+t.width||n.nativeEvent.x<t.left||n.nativeEvent.y>=Math.floor(t.top+t.height)||n.nativeEvent.y<t.top)&&a.DomHandler.removeClass(v.current,"p-treenode-dragover")}},he=function(n){n.dataTransfer.setData("text",e.dragdropScope),n.dataTransfer.setData(e.dragdropScope,e.dragdropScope),e.onDragStart&&e.onDragStart({originalEvent:n,path:e.path,index:e.index})},ye=function(n){e.onDragEnd&&e.onDragEnd({originalEvent:n})},be=function(){var n=b({className:O("label")},D("label")),t=g.createElement("span",n,k);e.nodeTemplate&&(t=a.ObjectUtils.getJSXElement(e.nodeTemplate,e.node,{onTogglerClick:w,className:"p-treenode-label",element:t,props:e,expanded:E}));return t},xe=function(){if(ie()&&!1!==e.node.selectable){var n,t=re(),r=!!e.selectionKeys&&e.selectionKeys[e.node.key]&&e.selectionKeys[e.node.key].partialChecked,o=b({className:O("checkIcon")}),l=a.IconUtils.getJSXIcon(t?e.checkboxIcon||g.createElement(i.CheckIcon,o):r?e.checkboxIcon||g.createElement(d.MinusIcon,o):null,H({},o),e),c=b({className:O("nodeCheckbox",{partialChecked:r}),checked:t||r,icon:l,tabIndex:-1,unstyled:null==e||null===(n=e.isUnstyled)||void 0===n?void 0:n.call(e),"data-p-checked":t,"data-p-partialchecked":r,onChange:L},D("nodeCheckbox"));return g.createElement(U,c)}return null},Se=function(){var n=e.node.icon||(E?e.node.expandedIcon:e.node.collapsedIcon);if(n){var t=b({className:a.classNames(n,O("nodeIcon"))},D("nodeIcon"));return a.IconUtils.getJSXIcon(n,H({},t),{props:e})}return null},ke=function(){var n=b({className:O("togglerIcon"),"aria-hidden":!0},D("togglerIcon")),t=a.IconUtils.getJSXIcon(E?e.collapseIcon||g.createElement(c.ChevronDownIcon,n):e.expandIcon||g.createElement(u.ChevronRightIcon,n),H({},n),{props:e,expanded:E}),r=b({type:"button",className:O("toggler"),tabIndex:-1,"aria-hidden":!0,onClick:w},D("toggler")),o=g.createElement("button",r,t,g.createElement(s.Ripple,null));e.togglerTemplate&&(o=a.ObjectUtils.getJSXElement(e.togglerTemplate,e.node,{onClick:w,containerClassName:"p-tree-toggler p-link",iconClassName:"p-tree-toggler-icon",element:o,props:e,expanded:E}));return o},Ee=function(n){if(e.dragdropScope){var t=b({className:O("droppoint"),role:"treeitem",onDrop:function(e){return ue(e,n)},onDragOver:de,onDragEnter:se,onDragLeave:pe},D("droppoint"));return g.createElement("li",t)}return null},Ce=function(){var n=te(),t=re(),r=ke(),o=xe(),l=Se(),i=be(),c=b({ref:v,className:a.classNames(e.node.className,O("content",{checked:t,selected:n,nodeProps:e,isCheckboxSelectionMode:ie})),style:e.node.style,onClick:L,onDoubleClick:R,onContextMenu:q,onTouchEnd:ce,draggable:e.dragdropScope&&!1!==e.node.draggable&&!e.disabled,onDrop:fe,onDragOver:ge,onDragEnter:me,onDragLeave:ve,onDragStart:he,onDragEnd:ye,"data-p-highlight":ie()?t:n},D("content"));return g.createElement("div",c,r,o,l,i)},Oe=(t=e.disabled||0!==e.index?-1:0,o=te(),l=re(),p=Ce(),n=b({className:O("subgroup"),role:"group"},D("subgroup")),f=a.ObjectUtils.isNotEmpty(e.node.children)&&E?g.createElement("ul",n,e.node.children.map((function(n,t){return g.createElement(F,{key:n.key||n.label,node:n,checkboxIcon:e.checkboxIcon,collapseIcon:e.collapseIcon,contextMenuSelectionKey:e.contextMenuSelectionKey,cx:O,disabled:e.disabled,dragdropScope:e.dragdropScope,expandIcon:e.expandIcon,expandedKeys:e.expandedKeys,index:t,isNodeLeaf:e.isNodeLeaf,last:t===e.node.children.length-1,metaKeySelection:e.metaKeySelection,nodeTemplate:e.nodeTemplate,onClick:e.onClick,onCollapse:e.onCollapse,onContextMenu:e.onContextMenu,onContextMenuSelectionChange:e.onContextMenuSelectionChange,onDoubleClick:e.onDoubleClick,onDragEnd:e.onDragEnd,onDragStart:e.onDragStart,onDrop:e.onDrop,onDropPoint:e.onDropPoint,onExpand:e.onExpand,onPropagateUp:ee,onSelect:e.onSelect,onSelectionChange:e.onSelectionChange,onToggle:e.onToggle,onUnselect:e.onUnselect,originalOptions:e.originalOptions,parent:e.node,path:e.path+"-"+t,propagateSelectionDown:e.propagateSelectionDown,propagateSelectionUp:e.propagateSelectionUp,ptm:C,selectionKeys:e.selectionKeys,selectionMode:e.selectionMode,togglerTemplate:e.togglerTemplate})}))):null,m=b({ref:h,className:a.classNames(e.node.className,O("node",{isLeaf:x})),style:e.node.style,tabIndex:t,role:"treeitem","aria-label":k,"aria-level":e.level,"aria-expanded":E,"aria-checked":l,"aria-setsize":e.node.children?e.node.children.length:0,"aria-posinset":e.index+1,onKeyDown:V,"aria-selected":l||o},D("node")),g.createElement("li",m,p,f));if(e.dragdropScope&&!e.disabled&&(!e.parent||!1!==e.parent.droppable)){var De=Ee(-1),Ie=e.last?Ee(1):null;return g.createElement(g.Fragment,null,De,Oe,Ie)}return Oe}));function q(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 V(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?q(Object(t),!0).forEach((function(n){O(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):q(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function J(e,n){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=X(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 X(e,n){if(e){if("string"==typeof e)return _(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)?_(e,n):void 0}}function _(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}F.displayName="UITreeNode";var B=g.memo(g.forwardRef((function(e,i){var c=r.useMergeProps(),u=g.useContext(n.PrimeReactContext),d=j.getProps(e,u),s=w(g.useState(""),2),p=s[0],f=s[1],v=w(g.useState(d.expandedKeys),2),h=v[0],y=v[1],b=g.useRef(null),x=g.useRef([]),k=g.useRef(null),E=g.useRef(!1),C=d.onFilterValueChange?d.filterValue:p,O=d.onToggle?d.expandedKeys:h,D=g.useRef(null),I=j.setMetaData({props:d,state:{filterValue:C,expandedKeys:O}}),N=I.ptm,P=I.cx,M=I.isUnstyled;t.useHandleStyle(j.css.styles,M,{name:"tree"});var T,U,K,A={filter:function(e){return Z(e)},reset:function(){return oe()}},L=function(e){var n=e.originalEvent,t=e.value,r=e.navigateFocusToChild;d.onToggle?d.onToggle({originalEvent:n,value:t}):(r&&(D.current=n),y(t))};T=function(){if(D.current){var e=D.current,n="toggler"===e.target.getAttribute("data-pc-section")?e.target.closest('[role="treeitem"]'):e.target,t=n.children[1];if(t){n&&(n.tabIndex="-1");var r=d.dragdropScope?t.children[1]:t.children[0];r&&(r.tabIndex="0",r.focus())}D.current=null}},U=[O],K=g.useRef(!1),g.useEffect((function(){if(K.current)return T&&T();K.current=!0}),U);var R=function(e){k.current={path:e.path,index:e.index}},H=function(){k.current=null},q=function(e){if(Array.isArray(e))return e.map(q);if(e&&Object.getPrototypeOf(e)===Object.prototype){var n={};for(var t in e)n[t]="data"!==t?q(e[t]):e[t];return n}return e},X=function(e){var n;if($(null===(n=k.current)||void 0===n?void 0:n.path,e.path)){var t=q(d.value),r=k.current.path.split("-");r.pop();var o=G(t,r),l=o?o.children[k.current.index]:t[k.current.index],a=G(t,e.path.split("-"));a.children?a.children.push(l):a.children=[l],o?o.children.splice(k.current.index,1):t.splice(k.current.index,1),d.onDragDrop&&d.onDragDrop({originalEvent:e.originalEvent,value:t,dragNode:l,dropNode:a,dropIndex:e.index})}},_=function(e){if(z(e)){var n=q(d.value),t=k.current.path.split("-");t.pop();var r=e.path.split("-");r.pop();var o=G(n,t),l=G(n,r),a=o?o.children[k.current.index]:n[k.current.index],i=Y(k.current.path,e.path);if(o?o.children.splice(k.current.index,1):n.splice(k.current.index,1),e.position<0){var c=i?k.current.index>e.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})}},B=function(e,n){return!!e&&(e!==n&&0!==n.indexOf(e))},$=function(e,n){return!!B(e,n)&&!(e.indexOf("-")>0&&e.substring(0,e.lastIndexOf("-"))===n)},z=function(e){var n;return!!B(null===(n=k.current)||void 0===n?void 0:n.path,e.path)&&(-1!==e.position||!Y(k.current.path,e.path)||k.current.index+1!==e.index)},Y=function(e,n){return 1===e.length&&1===n.length||e.substring(0,e.lastIndexOf("-"))===n.substring(0,n.lastIndexOf("-"))},G=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(),G(r,n))},Q=function(e){return!1!==e.leaf&&!(e.children&&e.children.length)},W=function(e){13===e.which&&e.preventDefault()},Z=function(e){E.current=!0;var n=e.target.value;d.onFilterValueChange?d.onFilterValueChange({originalEvent:e,value:n}):f(n)},ee=function(e){f(a.ObjectUtils.isNotEmpty(e)?e:""),ne()},ne=function(){if(E.current){if(a.ObjectUtils.isEmpty(C))x.current=d.value;else{x.current=[];var e,n=d.filterBy.split(","),t=C.toLocaleLowerCase(d.filterLocale),r="strict"===d.filterMode,o=J(d.value);try{for(o.s();!(e=o.n()).done;){var l=V({},e.value),i={searchFields:n,filterText:t,isStrictMode:r};(r&&(te(l,i)||re(l,i))||!r&&(re(l,i)||te(l,i)))&&x.current.push(l)}}catch(e){o.e(e)}finally{o.f()}}E.current=!1}},te=function(e,n){if(e){var t=!1;if(e.children){var r=S(e.children);e.children=[];var o,l=J(r);try{for(l.s();!(o=l.n()).done;){var a=V({},o.value);re(a,n)&&(t=!0,e.children.push(a))}}catch(e){l.e(e)}finally{l.f()}}if(t)return e.expanded=!0,!0}},re=function(e,n){var t,r=n.searchFields,o=n.filterText,l=n.isStrictMode,i=!1,c=J(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&&!Q(e))&&(i=te(e,{searchFields:r,filterText:o,isStrictMode:l})||i),i},oe=function(){f("")};g.useImperativeHandle(i,(function(){return{props:d,filter:ee,getElement:function(){return b.current}}}));var le=function(e,n,t){return g.createElement(F,{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:P,disabled:d.disabled,dragdropScope:d.dragdropScope,expandIcon:d.expandIcon,expandedKeys:O,isNodeLeaf:Q,metaKeySelection:d.metaKeySelection,nodeTemplate:d.nodeTemplate,onClick:d.onNodeClick,onCollapse:d.onCollapse,onContextMenu:d.onContextMenu,onContextMenuSelectionChange:d.onContextMenuSelectionChange,onDoubleClick:d.onNodeDoubleClick,onDragEnd:H,onDragStart:R,onDrop:X,onDropPoint:_,onExpand:d.onExpand,onSelect:d.onSelect,onSelectionChange:d.onSelectionChange,onToggle:L,onUnselect:d.onUnselect,propagateSelectionDown:d.propagateSelectionDown,propagateSelectionUp:d.propagateSelectionUp,ptm:N,selectionKeys:d.selectionKeys,selectionMode:d.selectionMode,togglerTemplate:d.togglerTemplate,isUnstyled:M})},ae=function(e){var n=c(V({className:a.classNames(d.contentClassName,P("container")),role:"tree","aria-label":d.ariaLabel,"aria-labelledby":d.ariaLabelledBy,style:d.contentStyle},de),N("container"));return g.createElement("ul",n,e)},ie=function(e){return e.map((function(n,t){return le(n,t,t===e.length-1)}))},ce=function(){if(d.filter){var e=a.ObjectUtils.isNotEmpty(C)?C:"",n=c({className:P("searchIcon")},N("searchIcon")),t=a.IconUtils.getJSXIcon(d.filterIcon||g.createElement(o.SearchIcon,n),V({},n),{props:d}),r=c({className:P("filterContainer")},N("filterContainer")),l=c({type:"text",value:e,autoComplete:"off",className:P("input"),placeholder:d.filterPlaceholder,"aria-label":d.filterPlaceholder,onKeyDown:W,onChange:Z,disabled:d.disabled},N("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:W,filterInputChange:Z,filterIconClassName:"p-dropdown-filter-icon",props:d});return g.createElement(g.Fragment,null,i)}return null},ue=j.getOtherProps(d),de=a.ObjectUtils.reduceKeys(ue,a.DomHandler.ARIA_PROPS),se=function(){if(d.loading){var e=c({className:P("loadingIcon")},N("loadingIcon")),n=d.loadingIcon||g.createElement(l.SpinnerIcon,m({},e,{spin:!0})),t=a.IconUtils.getJSXIcon(n,V({},e),{props:d}),r=c({className:P("loadingOverlay")},N("loadingOverlay"));return g.createElement("div",r,t)}return null}(),pe=function(){if(d.value){d.filter&&(E.current=!0,ne());var e=d.filter&&x.current?x.current:d.value;if(e.length>0){var t=ie(e);return ae(t)}var r=(o=c({className:a.classNames(d.contentClassName,P("emptyMessage")),role:"treeitem"},N("emptyMessage")),l=a.ObjectUtils.getJSXElement(d.emptyMessage,d)||n.localeOption("emptyMessage"),g.createElement("li",o,g.createElement("span",{className:"p-treenode-content"},l)));return ae(r)}var o,l;return null}(),fe=function(){if(d.showHeader){var e=ce(),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:W,onChange:Z},filterElement:e,element:n,props:d});var t=c({className:P("header")},N("header"));return g.createElement("div",t,n)}return null}(),ge=function(){var e=a.ObjectUtils.getJSXElement(d.footer,d),n=c({className:P("footer")},N("footer"));return g.createElement("div",n,e)}(),me=c({ref:b,className:a.classNames(d.className,P("root")),style:d.style,id:d.id},j.getOtherProps(d),N("root"));return g.createElement("div",me,se,fe,pe,ge)})));B.displayName="Tree",exports.Tree=B;