"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("primereact/api"),n=require("primereact/componentbase"),r=require("primereact/hooks"),l=require("primereact/icons/chevrondown"),o=require("primereact/icons/search"),a=require("primereact/icons/times"),i=require("primereact/overlayservice"),c=require("primereact/ripple"),u=require("primereact/tooltip"),s=require("primereact/tree"),p=require("primereact/utils"),f=require("primereact/csstransition"),d=require("primereact/portal");function m(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function y(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var b=y(e),v=m(t);function g(){return g=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:l}}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 o,a=!0,i=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){i=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(i)throw o}}}}function V(e,t){if(e){if("string"==typeof e)return K(e,t);var n={}.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?K(e,t):void 0}}function K(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n1&&void 0!==arguments[1]&&arguments[1]||j&&Pe()&&(p.DomHandler.focus($.current),e.preventDefault())},Pe=function(){return p.DomHandler.getFocusableElements(B.current,':not([data-p-hidden-focusable="true"])').length>0},Te=function(e){var t=e.target.value;y.onFilterValueChange?y.onFilterValueChange({originalEvent:e,value:t}):q(t)},He=function(){q("")},Fe=function(){p.DomHandler.alignOverlay(B.current,X.current.parentElement,y.appendTo||m&&m.appendTo||v.default.appendTo)},Ue=function(){var e=p.DomHandler.findSingle(B.current,'[data-pc-section="content"][data-p-highlight="true"]');e&&e.scrollIntoView&&e.scrollIntoView({block:"nearest",inline:"start"})},Ae=function(e,t,n){if(e){if(Re(e,t)&&(n.push(e),delete t[e.key]),Object.keys(t).length&&e.children){var r,l=M(e.children);try{for(l.s();!(r=l.n()).done;){Ae(r.value,t,n)}}catch(e){l.e(e)}finally{l.f()}}}else{var o,a=M(y.options);try{for(a.s();!(o=a.n()).done;){Ae(o.value,t,n)}}catch(e){a.e(e)}finally{a.f()}}},Re=function(e,t){return re?t[e.key]&&t[e.key].checked:t[e.key]},Me=function(){var e=ne?N({},"".concat(y.value),!0):R({},y.value);F({}),e&&y.options&&Ke(null,null,e)},Ve=function(){var e,t,n=p.DomHandler.find(null===(e=z.current)||void 0===e?void 0:e.getElement(),'[data-pc-section="node"]'),r=(t=n,E(t)||O(t)||w(t)||S()).find((function(e){return"0"===e.getAttribute("tabindex")}));p.DomHandler.focus(r)},Ke=function(e,t,n){if(e){if(Re(e,n)&&(qe(t),delete n[e.key]),Object.keys(n).length&&e.children){var r,l=M(e.children);try{for(l.s();!(r=l.n()).done;){var o=r.value;t.push(e.key),Ke(o,t,n)}}catch(e){l.e(e)}finally{l.f()}}}else{var a,i=M(y.options);try{for(i.s();!(a=i.n()).done;){Ke(a.value,[],n)}}catch(e){i.e(e)}finally{i.f()}}},qe=function(e){if(e.length>0){var t,n=R({},H||{}),r=M(e);try{for(r.s();!(t=r.n()).done;){n[t.value]=!0}}catch(e){r.e(e)}finally{r.f()}F(n)}};b.useImperativeHandle(f,(function(){return{props:y,clear:he,show:me,hide:ye,focus:function(){return p.DomHandler.focus(J.current)},getElement:function(){return L.current}}})),b.useEffect((function(){p.ObjectUtils.combinedRefs(J,y.inputRef)}),[J,y.inputRef]),r.useMountEffect((function(){Me(),G.current=p.UniqueComponentId()+"_list",y.autoFocus&&p.DomHandler.focus(J.current,y.autoFocus),Fe()})),r.useUpdateEffect((function(){j&&y.filter&&Fe()})),r.useUpdateEffect((function(){Me()}),[y.options]),r.useUpdateEffect((function(){Y.current&&j&&(Y.current=!1,Ve())}),[j]),r.useUpdateEffect((function(){j&&H&&Fe()}),[H]),r.useUpdateEffect((function(){j&&(Z.current||Me(),Z.current=!1)}),[y.value]),r.useUnmountEffect((function(){p.ZIndexUtils.clear(B.current)}));var Le,Be,_e=function(){if(y.filter){var e=y.onFilterValueChange?y.filterValue:V;e=p.ObjectUtils.isNotEmpty(e)?e:"";var t=d({className:ce("filterContainer")},ie("filterContainer")),n=d({ref:_,type:"text",value:e,autoComplete:"off",className:ce("filter"),placeholder:y.filterPlaceholder,onKeyDown:function(e){return xe(e,!1)},onChange:Te,disabled:y.disabled},ie("filter")),r=d({className:ce("filterIcon")},ie("filterIcon")),l=p.IconUtils.getJSXIcon(y.filterIcon||b.createElement(o.SearchIcon,r),R({},r),{props:y}),a=b.createElement("div",t,b.createElement("input",n),l);if(y.filterTemplate)a=p.ObjectUtils.getJSXElement(y.filterTemplate,{className:"p-treeselect-filter-container",element:a,filterOptions:ue,filterInputKeyDown:function(e){return xe(e,(function(){}))},filterInputChange:Te,filterIconClassName:"p-dropdown-filter-icon",props:y});return b.createElement(b.Fragment,null,a)}},Je=function(){var e=[];if(p.ObjectUtils.isNotEmpty(y.value)&&y.options){var t=ne?N({},"".concat(y.value),!0):R({},y.value);Ae(null,t,e)}return e}(),Xe=T.getOtherProps(y),Ze=p.ObjectUtils.reduceKeys(Xe,p.DomHandler.ARIA_PROPS),ze=d({ref:$,role:"presentation",className:"p-hidden-accessible p-hidden-focusable",tabIndex:0,onFocus:function(e){var t=e.relatedTarget===J.current?p.DomHandler.getFirstFocusableElement(B.current,':not([data-p-hidden-focusable="true"])'):J.current;p.DomHandler.focus(t)},"aria-hidden":!0,"data-p-hidden-accessible":!0,"data-p-hidden-focusable":!0},ie("firstHiddenFocusableElementOnOverlay")),$e=d({ref:W,role:"presentation",className:"p-hidden-accessible p-hidden-focusable",tabIndex:0,onFocus:function(e){var t=e.relatedTarget===J.current?p.DomHandler.getLastFocusableElement(B.current,':not([data-p-hidden-focusable="true"])'):J.current;p.DomHandler.focus(t)},"aria-hidden":!0,"data-p-hidden-accessible":!0,"data-p-hidden-focusable":!0},ie("lastHiddenFocusableElementOnOverlay")),We=d({ref:L,className:p.classNames(y.className,ce("root",{context:m,focusedState:I,overlayVisibleState:j,isValueEmpty:te})),style:y.style,onClick:function(e){y.disabled||B.current&&B.current.contains(e.target)||p.DomHandler.isAttributeEquals(e.target,"data-pc-section","closebutton")||(p.DomHandler.focus(J.current),j?ye():me())}},T.getOtherProps(y),ie("root")),Ye=(Le=d({className:"p-hidden-accessible"},ie("hiddenInputWrapper")),Be=d(R({ref:J,role:"listbox",id:y.inputId,type:"text","aria-expanded":j,"aria-label":y.ariaLabel,"aria-labelledby":y.ariaLabelledBy,"aria-haspopup":"tree","aria-controls":G.current,onFocus:be,onBlur:ve,onKeyDown:De,disabled:y.disabled,tabIndex:y.tabIndex},Ze),ie("hiddenInput")),b.createElement("div",Le,b.createElement("input",g({},Be,{readOnly:!0})))),Ge=function(){var e=d({className:ce("token")},ie("token")),t=d({className:ce("tokenLabel")},ie("tokenLabel")),n=d({className:ce("labelContainer")},ie("labelContainer")),r=d({className:ce("label",{isValueEmpty:te,getLabel:de})},ie("label")),l=null;return y.valueTemplate?l=p.ObjectUtils.getJSXElement(y.valueTemplate,Je,y):"comma"===y.display?l=de()||"empty":"chip"===y.display&&(l=b.createElement(b.Fragment,null,Je&&Je.map((function(n,r){return b.createElement("div",g({},e,{key:"".concat(n.key,"_").concat(r)}),b.createElement("span",t,n.label))})),te&&(y.placeholder||"empty"))),b.createElement("div",n,b.createElement("div",r,l))}(),Qe=function(){var e=d({ref:X,className:ce("trigger"),role:"button","aria-haspopup":"tree","aria-expanded":j},ie("trigger")),t=d({className:ce("triggerIcon")},ie("triggerIcon")),n=p.IconUtils.getJSXIcon(y.dropdownIcon||b.createElement(l.ChevronDownIcon,t),R({},t),{props:y});return b.createElement("div",e,n)}(),et=function(){if(null!=y.value&&y.showClear&&!y.disabled){var e=d({className:ce("clearIcon"),onPointerUp:he,tabIndex:y.tabIndex||"0",onKeyDown:Ee,"aria-label":t.localeOption("clear")},ie("clearIcon"));return p.IconUtils.getJSXIcon(y.clearIcon||b.createElement(a.TimesIcon,e),R({},e),{props:y})}return null}(),tt=b.createElement(s.Tree,{ref:z,id:G.current,emptyMessage:y.emptyMessage,expandedKeys:Q,filter:y.filter,filterBy:y.filterBy,filterDelay:y.filterDelay,filterLocale:y.filterLocale,filterMode:y.filterMode,filterPlaceholder:y.filterPlaceholder,filterValue:ee,metaKeySelection:y.metaKeySelection,nodeTemplate:y.nodeTemplate,onCollapse:y.onNodeCollapse,onExpand:y.onNodeExpand,onFilterValueChange:Ie,onNodeClick:y.onNodeClick,onNodeDoubleClick:y.onNodeDoubleClick,onSelect:Oe,onSelectionChange:ge,onToggle:Se,onUnselect:we,selectionKeys:y.value,selectionMode:y.selectionMode,showHeader:!1,togglerTemplate:y.togglerTemplate,value:y.options,pt:ie("tree"),__parentMetadata:{parent:oe}}),nt=function(){var e=_e(),n=d({className:ce("closeIcon"),"aria-hidden":!0},ie("closeIcon")),r=p.IconUtils.getJSXIcon(y.closeIcon||b.createElement(a.TimesIcon,n),R({},n),{props:y}),l=d({type:"button",className:ce("closeButton"),onKeyDown:function(e){return xe(e,!0)},onClick:ye,"aria-label":t.ariaLabel("close")},ie("closeButton")),o=d({className:ce("header")},ie("header")),i=b.createElement("button",l,r,b.createElement(c.Ripple,null)),u=b.createElement("div",o,e,i);return y.panelHeaderTemplate?b.createElement("div",null,u,p.ObjectUtils.getJSXElement(y.panelHeaderTemplate,{className:"p-treeselect-header",filterElement:e,closeElement:i,closeElementClassName:"p-treeselect-close p-link",closeIconClassName:"p-treeselect-close-icon",onCloseClick:ye,element:u,props:y})):u}(),rt=p.ObjectUtils.getJSXElement(y.panelFooterTemplate,y);return b.createElement("div",We,Ye,Ge,et,Qe,b.createElement(U,{hostName:"TreeSelect",ref:B,appendTo:y.appendTo,panelStyle:y.panelStyle,panelClassName:y.panelClassName,scrollHeight:y.scrollHeight,onClick:function(e){i.OverlayService.emit("overlay-click",{originalEvent:e,target:L.current})},header:nt,hide:ye,footer:rt,firstHiddenFocusableElementOnOverlay:b.createElement("span",ze),lastHiddenFocusableElementOnOverlay:b.createElement("span",$e),transitionOptions:y.transitionOptions,in:j,onEnter:function(){p.ZIndexUtils.set("overlay",B.current,m&&m.autoZIndex||v.default.autoZIndex,m&&m.zIndex.overlay||v.default.zIndex.overlay),p.DomHandler.addStyles(B.current,{position:"absolute",top:"0",left:"0"}),Ve(),Fe(),Ue()},onEntered:function(){pe(),y.filter&&y.filterInputAutoFocus&&p.DomHandler.focus(_.current,y.filterInputAutoFocus),y.onShow&&y.onShow()},onExit:function(){fe()},onExited:function(){y.filter&&y.resetFilterOnHide&&He(),p.ZIndexUtils.clear(B.current),y.onHide&&y.onHide()},ptm:ie,cx:ce},tt),le&&b.createElement(u.Tooltip,g({target:L,content:y.tooltip,pt:ie("tooltip")},y.tooltipOptions)))})));q.displayName="TreeSelect",exports.TreeSelect=q;