import*as e from"react";import t,{PrimeReactContext as n,localeOption as o}from"primereact/api";import{Button as r}from"primereact/button";import{ComponentBase as l,useHandleStyle as i}from"primereact/componentbase";import{useMergeProps as a,useOverlayListener as u,useMountEffect as p,useUpdateEffect as c,useUnmountEffect as s}from"primereact/hooks";import{ChevronDownIcon as d}from"primereact/icons/chevrondown";import{SpinnerIcon as m}from"primereact/icons/spinner";import{TimesCircleIcon as f}from"primereact/icons/timescircle";import{InputText as g}from"primereact/inputtext";import{OverlayService as v}from"primereact/overlayservice";import{Tooltip as y}from"primereact/tooltip";import{classNames as b,ObjectUtils as h,DomHandler as w,UniqueComponentId as x,ZIndexUtils as E,IconUtils as O}from"primereact/utils";import{CSSTransition as C}from"primereact/csstransition";import{Portal as S}from"primereact/portal";import{Ripple as k}from"primereact/ripple";import{VirtualScroller as I}from"primereact/virtualscroller";function D(e){return D="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},D(e)}function N(e,t){if("object"!=D(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!=D(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function P(e){var t=N(e,"string");return"symbol"==D(t)?t:t+""}function T(e,t,n){return(t=P(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function A(){return A=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,o=Array(t);n2&&void 0!==arguments[2]?arguments[2]:{},i={height:l.props?l.props.itemSize:void 0};if(t.optionGroupLabel){if(t.virtualScrollerOptions){var a=x(t.suggestions,t.optionGroupLabel,n);if(-1!==a){E.current={key:n,index:o,keyIndex:a};var u=o+"_"+y(n);return O(n,u,o,{style:i})}var p=o+"_"+E.current.keyIndex,c=s({style:i,"data-group":E.current.keyIndex,"data-index":o-E.current.index-1,"data-p-disabled":n.disabled});return N(n,p,o,c)}var d=(r=o,t.getOptionGroupChildren(n).map((function(e,t){var n=r+"_"+t,o=s({"data-group":r,"data-index":t,"data-p-disabled":e.disabled});return N(e,n,t,o)}))),m=o+"_"+y(n);return e.createElement(e.Fragment,{key:m},O(n,void 0,o,{style:i}),d)}var f="".concat(o,"_").concat(h.isObject(n)?h.resolveFieldData(n,t.field):n),g=s({style:i,"data-p-disabled":n.disabled},v(n,"item"));return N(n,f,o,g)},T=function(e){try{return null==e?void 0:e.map((function(e){return[null==e?void 0:e[null==t?void 0:t.optionGroupLabel]].concat(R(null==e?void 0:e[null==t?void 0:t.optionGroupChildren]))})).flat()}catch(e){}},j=function(){if(t.showEmptyMessage&&h.isEmpty(t.suggestions)){var n=t.emptyMessage||o("emptyMessage"),r=s({className:m("emptyMessage")},g("emptyMessage")),l=s({className:m("list")},g("list"));return e.createElement("ul",l,e.createElement("li",r,n))}if(t.virtualScrollerOptions){var i=t.suggestions?t.optionGroupLabel?T(null==t?void 0:t.suggestions):t.suggestions:null,a=z(z({},t.virtualScrollerOptions),{style:z(z({},t.virtualScrollerOptions.style),{height:t.scrollHeight}),autoSize:!0,items:i,itemTemplate:function(e,t){return e&&P(e,t.index,t)},contentTemplate:function(n){var o=s({id:t.listId,ref:n.contentRef,style:n.style,className:m("list",{virtualScrollerProps:a,options:n}),role:"listbox"},g("list"));return e.createElement("ul",o,n.children)}});return e.createElement(I,A({ref:t.virtualScrollerRef},a,{pt:g("virtualScroller"),__parentMetadata:{parent:t.metaData}}))}var u=t.suggestions?t.suggestions.map(P):null,p=s({id:t.listId,className:m("list"),role:"listbox"},g("list")),c=s({className:m("listWrapper"),style:{maxHeight:t.scrollHeight||"auto"}},g("listWrapper"));return e.createElement("div",c,e.createElement("ul",p,u))},L=(l=z({},t.panelStyle||{}),i=j(),u=w(),p=s({className:b(t.panelClassName,m("panel",{context:f})),style:l,onClick:function(e){return t.onClick(e)},"data-pr-is-overlay":!0},g("panel")),c=s({classNames:m("transition"),in:t.in,timeout:{enter:120,exit:100},options:t.transitionOptions,unmountOnExit:!0,onEnter:t.onEnter,onEntering:t.onEntering,onEntered:t.onEntered,onExit:t.onExit,onExited:t.onExited},g("transition")),e.createElement(C,A({nodeRef:r},c),e.createElement("div",A({ref:r},p),i,u)));return e.createElement(S,{element:L,appendTo:t.appendTo})})));function X(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function V(e){for(var t=1;t=I.minLength?oe.current=setTimeout((function(){ce(e,t,"input")}),I.delay):ve()},ce=function(e,t,n){null!=t&&("input"===n&&0===t.trim().length||I.completeMethod&&(L(!0),I.completeMethod({originalEvent:e,query:t})))},se=function(e,t,n){if(I.multiple){if(ee.current.value="",!Te(t)&&Le()){var o=I.value?[].concat(R(I.value),[t]):[t];de(e,o)}}else fe(t),de(e,t);I.onSelect&&I.onSelect({originalEvent:e,value:t}),n||(w.focus(ee.current),ve())},de=function(e,t){I.onChange&&I.onChange({originalEvent:e,value:t,stopPropagation:function(){e.stopPropagation()},preventDefault:function(){e.preventDefault()},target:{name:I.name,id:N,value:t}}),re.current=h.isNotEmpty(t)?t:null},me=function(e){if(h.isEmpty(e))return"";if("string"==typeof e)return e;if(I.selectedItemTemplate){var t=h.getJSXElement(I.selectedItemTemplate,e);return I.multiple||"string"==typeof t?t:e}var n;return I.field&&null!==(n=h.resolveFieldData(e,I.field))&&void 0!==n?n:e},fe=function(e){ee.current.value=me(e)},ge=function(){H(!0)},ve=function(){H(!1),L(!1)},ye=function(){var e,t=null===(e=Ae())||void 0===e||null===(e=e.firstChild)||void 0===e?void 0:e.firstChild;t&&(!Y()&&w.addClass(t,"p-highlight"),t.setAttribute("data-p-highlight",!0))},be=function(){w.alignOverlay(Q.current,I.multiple?te.current:ee.current,I.appendTo||k&&k.appendTo||t.appendTo)},he=function(e){I.dropdownAutoFocus&&w.focus(ee.current,I.dropdownAutoFocus),"blank"===I.dropdownMode?ce(e,"","dropdown"):"current"===I.dropdownMode&&ce(e,ee.current.value,"dropdown"),I.onDropdownClick&&I.onDropdownClick({originalEvent:e,query:ee.current.value})},we=function(e,t){if(!I.disabled&&!I.readOnly){var n=I.value[t],o=I.value.filter((function(e,n){return t!==n}));de(e,o),I.onUnselect&&I.onUnselect({originalEvent:e,value:n})}},xe=function(e){if(K){var t=w.findSingle(Q.current,'li[data-p-highlight="true"]');switch(e.which){case 40:if(t){var n=Oe(t);n&&(!Y()&&w.addClass(n,"p-highlight"),n.setAttribute("data-p-highlight",!0),!Y()&&w.removeClass(t,"p-highlight"),t.setAttribute("data-p-highlight",!1),w.scrollInView(Ae(),n))}else t=w.findSingle(Q.current,"li"),"itemgroup"===w.getAttribute(t,"data-pc-section")&&(t=Oe(t)),t&&(!Y()&&w.addClass(t,"p-highlight"),t.setAttribute("data-p-highlight",!0));e.preventDefault();break;case 38:if(t){var o=Ce(t);o&&(!Y()&&w.addClass(o,"p-highlight"),o.setAttribute("data-p-highlight",!0),!Y()&&w.removeClass(t,"p-highlight"),t.setAttribute("data-p-highlight",!1),w.scrollInView(Ae(),o))}e.preventDefault();break;case 13:t&&(Ee(e,t),ve(),e.preventDefault());break;case 27:ve(),e.preventDefault();break;case 9:t&&Ee(e,t),ve()}}if(I.multiple&&8===e.which)if(I.value&&I.value.length&&!ee.current.value){var r=I.value[I.value.length-1],l=I.value.slice(0,-1);de(e,l),I.onUnselect&&I.onUnselect({originalEvent:e,value:r})}},Ee=function(e,t){I.optionGroupLabel?se(e,je(I.suggestions[t.dataset.group])[t.dataset.index]):se(e,I.suggestions[t.getAttribute("index")])},Oe=function(e){var t=e.nextElementSibling;return t?"itemgroup"===w.getAttribute(t,"data-pc-section")?Oe(t):t:null},Ce=function(e){var t=e.previousElementSibling;return t?"itemgroup"===w.getAttribute(t,"data-pc-section")?Ce(t):t:null},Se=function(e){F(!0),I.onFocus&&I.onFocus(e)},ke=function(e){if(I.multiple)ee.current.value="";else{var t=h.trim(e.target.value).toLowerCase(),n=(I.suggestions||[]).flatMap((function(e){return e.items?e.items:[e]})).find((function(e){var n=I.field?h.resolveFieldData(e,I.field):e,o=n?h.trim(n).toLowerCase():"";return o&&t===o}));n?se(e,n,!0):(ee.current.value="",de(e,null),I.onClear&&I.onClear(e))}},Ie=function(e){F(!1),I.forceSelection&&ke(e),I.onBlur&&I.onBlur(e)},De=function(e){w.focus(ee.current),I.onClick&&I.onClick(e)},Ne=function(e){Se(e),!Y()&&w.addClass(te.current,"p-focus"),te.current.setAttribute("data-p-focus",!0)},Pe=function(e){Ie(e),!Y()&&w.removeClass(te.current,"p-focus"),te.current.setAttribute("data-p-focus",!1)},Te=function(e){return!!I.value&&I.value.some((function(t){return h.equals(t,e)}))},Ae=function(){var e;return null==Q||null===(e=Q.current)||void 0===e?void 0:e.firstChild},je=function(e){return h.resolveFieldData(e,I.optionGroupChildren)},Le=function(){return!I.value||!I.selectionLimit||I.value.length