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) • 24.7 kB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("primereact/api"),n=require("primereact/button"),o=require("primereact/componentbase"),r=require("primereact/hooks"),l=require("primereact/icons/chevrondown"),i=require("primereact/icons/spinner"),a=require("primereact/icons/timescircle"),u=require("primereact/inputtext"),c=require("primereact/overlayservice"),s=require("primereact/tooltip"),p=require("primereact/utils"),d=require("primereact/csstransition"),m=require("primereact/portal"),f=require("primereact/ripple"),g=require("primereact/virtualscroller");function v(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function b(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,o.get?o:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var y=b(e),h=v(t);function O(e){return O="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},O(e)}function x(e,t){if("object"!=O(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!=O(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function w(e){var t=x(e,"string");return"symbol"==O(t)?t:t+""}function E(e,t,n){return(t=w(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function C(){return C=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},C.apply(null,arguments)}function S(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=Array(t);n<t;n++)o[n]=e[n];return o}function D(e){if(Array.isArray(e))return S(e)}function I(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function j(e,t){if(e){if("string"==typeof e)return S(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)?S(e,t):void 0}}function k(){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 N(e){return D(e)||I(e)||j(e)||k()}function U(e){if(Array.isArray(e))return e}function P(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var o,r,l,i,a=[],u=!0,c=!1;try{if(l=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(o=l.call(n)).done)&&(a.push(o.value),a.length!==t);u=!0);}catch(e){c=!0,r=e}finally{try{if(!u&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw r}}return a}}function T(){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 H(e,t){return U(e)||P(e,t)||j(e,t)||T()}var M=o.ComponentBase.extend({defaultProps:{__TYPE:"AutoComplete",id:null,appendTo:null,autoFocus:!1,autoHighlight:!1,className:null,completeMethod:null,delay:300,disabled:!1,dropdown:!1,dropdownAriaLabel:null,dropdownAutoFocus:!0,dropdownIcon:null,dropdownMode:"blank",emptyMessage:null,field:null,forceSelection:!1,inputClassName:null,inputId:null,inputRef:null,inputStyle:null,variant:null,invalid:!1,itemTemplate:null,loadingIcon:null,maxLength:null,minLength:1,multiple:!1,name:null,onBlur:null,onChange:null,onClear:null,onClick:null,onContextMenu:null,onDblClick:null,onDropdownClick:null,onFocus:null,onHide:null,onKeyPress:null,onKeyUp:null,onMouseDown:null,onSelect:null,onShow:null,onUnselect:null,optionGroupChildren:null,optionGroupLabel:null,optionGroupTemplate:null,panelClassName:null,panelFooterTemplate:null,panelStyle:null,placeholder:null,readOnly:!1,removeTokenIcon:null,scrollHeight:"200px",selectedItemTemplate:null,selectionLimit:null,showEmptyMessage:!1,size:null,style:null,suggestions:null,tabIndex:null,tooltip:null,tooltipOptions:null,transitionOptions:null,type:"text",value:null,virtualScrollerOptions:null,children:void 0},css:{classes:{root:function(e){var t=e.props;return p.classNames("p-autocomplete p-component p-inputwrapper",{"p-autocomplete-dd":t.dropdown,"p-autocomplete-multiple":t.multiple,"p-inputwrapper-filled":t.value,"p-invalid":t.invalid,"p-inputwrapper-focus":e.focusedState})},container:function(e){var t=e.props,n=e.context;return p.classNames("p-autocomplete-multiple-container p-component p-inputtext",{"p-disabled":t.disabled,"p-variant-filled":t.variant?"filled"===t.variant:n&&"filled"===n.inputStyle})},loadingIcon:"p-autocomplete-loader",dropdownButton:"p-autocomplete-dropdown",removeTokenIcon:"p-autocomplete-token-icon",token:"p-autocomplete-token p-highlight",tokenLabel:"p-autocomplete-token-label",inputToken:"p-autocomplete-input-token",input:function(e){var t=e.props,n=e.context;return p.classNames("p-autocomplete-input",{"p-autocomplete-dd-input":t.dropdown,"p-variant-filled":t.variant?"filled"===t.variant:n&&"filled"===n.inputStyle})},panel:function(e){var t=e.context;return p.classNames("p-autocomplete-panel p-component",{"p-ripple-disabled":t&&!1===t.ripple||!1===h.default.ripple})},listWrapper:"p-autocomplete-items-wrapper",list:function(e){return e.virtualScrollerOptions?p.classNames("p-autocomplete-items",e.options.className):"p-autocomplete-items"},emptyMessage:"p-autocomplete-item",item:function(e){var t=e.suggestion,n=e.selected;return p.classNames("p-autocomplete-item",{"p-disabled":t.disabled},e.optionGroupLabel?{selected:n}:{"p-highlight":n})},itemGroup:"p-autocomplete-item-group",footer:"p-autocomplete-footer",transition:"p-connected-overlay"},styles:"\n@layer primereact {\n .p-autocomplete {\n display: inline-flex;\n position: relative;\n }\n \n .p-autocomplete-loader {\n position: absolute;\n top: 50%;\n margin-top: -.5rem;\n }\n \n .p-autocomplete-dd .p-autocomplete-input {\n flex: 1 1 auto;\n width: 1%;\n }\n \n .p-autocomplete-dd .p-autocomplete-input,\n .p-autocomplete-dd .p-autocomplete-multiple-container {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n \n .p-autocomplete-dd .p-autocomplete-dropdown {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0px;\n }\n \n .p-autocomplete .p-autocomplete-panel {\n min-width: 100%;\n }\n \n .p-autocomplete-panel {\n position: absolute;\n top: 0;\n left: 0;\n }\n \n .p-autocomplete-items {\n margin: 0;\n padding: 0;\n list-style-type: none;\n }\n \n .p-autocomplete-item {\n cursor: pointer;\n white-space: nowrap;\n position: relative;\n overflow: hidden;\n }\n \n .p-autocomplete-multiple-container {\n margin: 0;\n padding: 0;\n list-style-type: none;\n cursor: text;\n overflow: hidden;\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n }\n \n .p-autocomplete-token {\n cursor: default;\n display: inline-flex;\n align-items: center;\n flex: 0 0 auto;\n }\n \n .p-autocomplete-token-icon {\n cursor: pointer;\n }\n \n .p-autocomplete-input-token {\n flex: 1 1 auto;\n display: inline-flex;\n }\n \n .p-autocomplete-input-token input {\n border: 0 none;\n outline: 0 none;\n background-color: transparent;\n margin: 0;\n padding: 0;\n box-shadow: none;\n border-radius: 0;\n width: 100%;\n }\n \n .p-fluid .p-autocomplete {\n display: flex;\n }\n \n .p-fluid .p-autocomplete-dd .p-autocomplete-input {\n width: 1%;\n }\n \n .p-autocomplete-items-wrapper {\n overflow: auto;\n } \n}\n"}});function A(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 L(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?A(Object(n),!0).forEach((function(t){E(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):A(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var q=y.memo(y.forwardRef((function(e,n){var o,l,i,a,u,c=r.useMergeProps(),s=e.ptm,v=e.cx,b=y.useContext(t.PrimeReactContext),h=function(t,n){return s(t,L({hostName:e.hostName},n))},O=function(t,n){return h(n,{context:{selected:e.selectedItem.current===t,disabled:t.disabled}})},x=function(t){return p.ObjectUtils.resolveFieldData(t,e.optionGroupLabel)},w=function(){if(e.panelFooterTemplate){var t=p.ObjectUtils.getJSXElement(e.panelFooterTemplate,e,e.onOverlayHide),n=c({className:v("footer")},h("footer"));return y.createElement("div",n,t)}return null},E=function(e,t,n){return e.findIndex((function(e){return e[t]===n}))},S=y.useRef({key:null,index:0,keyIndex:0}),D=function(t,n,o,r){var l=e.optionGroupTemplate?p.ObjectUtils.getJSXElement(e.optionGroupTemplate,t,o):e.getOptionGroupLabel(t)||t,i=c(L({index:o,className:v("itemGroup"),"data-p-highlight":!1},r),h("itemGroup"));return y.createElement("li",C({},i,{key:n||null}),l)},I=function(t){return e.selectedItem&&e.selectedItem.current&&Array.isArray(e.selectedItem.current)?e.selectedItem.current.some((function(e){return p.ObjectUtils.deepEquals(e,t)})):p.ObjectUtils.deepEquals(e.selectedItem.current,t)},j=function(t,n,o,r){var l=I(t),i=e.itemTemplate?p.ObjectUtils.getJSXElement(e.itemTemplate,t,o):e.field?p.ObjectUtils.resolveFieldData(t,e.field):t,a=c(L({index:o,role:"option",className:v("item",{optionGroupLabel:e.optionGroupLabel,suggestion:t,selected:l}),onClick:function(n){return e.onItemClick(n,t)},"aria-selected":l},r),O(t,"item"));return y.createElement("li",C({key:n},a),i,y.createElement(f.Ripple,null))},k=function(t,n){var o,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},l={height:r.props?r.props.itemSize:void 0};if(e.optionGroupLabel){if(e.virtualScrollerOptions){var i=E(e.suggestions,e.optionGroupLabel,t);if(-1!==i){S.current={key:t,index:n,keyIndex:i};var a=n+"_"+x(t);return D(t,a,n,{style:l})}var u=n+"_"+S.current.keyIndex,s=c({style:l,"data-group":S.current.keyIndex,"data-index":n-S.current.index-1,"data-p-disabled":t.disabled});return j(t,u,n,s)}var d=(o=n,e.getOptionGroupChildren(t).map((function(e,t){var n=o+"_"+t,r=c({"data-group":o,"data-index":t,"data-p-disabled":e.disabled});return j(e,n,t,r)}))),m=n+"_"+x(t);return y.createElement(y.Fragment,{key:m},D(t,void 0,n,{style:l}),d)}var f="".concat(n,"_").concat(p.ObjectUtils.isObject(t)?p.ObjectUtils.resolveFieldData(t,e.field):t),g=c({style:l,"data-p-disabled":t.disabled},O(t,"item"));return j(t,f,n,g)},U=function(t){try{return null==t?void 0:t.map((function(t){return[null==t?void 0:t[null==e?void 0:e.optionGroupLabel]].concat(N(null==t?void 0:t[null==e?void 0:e.optionGroupChildren]))})).flat()}catch(e){}},P=function(){if(e.showEmptyMessage&&p.ObjectUtils.isEmpty(e.suggestions)){var n=e.emptyMessage||t.localeOption("emptyMessage"),o=c({className:v("emptyMessage")},h("emptyMessage")),r=c({className:v("list")},h("list"));return y.createElement("ul",r,y.createElement("li",o,n))}if(e.virtualScrollerOptions){var l=e.suggestions?e.optionGroupLabel?U(null==e?void 0:e.suggestions):e.suggestions:null,i=L(L({},e.virtualScrollerOptions),{style:L(L({},e.virtualScrollerOptions.style),{height:e.scrollHeight}),autoSize:!0,items:l,itemTemplate:function(e,t){return e&&k(e,t.index,t)},contentTemplate:function(t){var n=c({id:e.listId,ref:t.contentRef,style:t.style,className:v("list",{virtualScrollerProps:i,options:t}),role:"listbox"},h("list"));return y.createElement("ul",n,t.children)}});return y.createElement(g.VirtualScroller,C({ref:e.virtualScrollerRef},i,{pt:h("virtualScroller"),__parentMetadata:{parent:e.metaData}}))}var a=e.suggestions?e.suggestions.map(k):null,u=c({id:e.listId,className:v("list"),role:"listbox"},h("list")),s=c({className:v("listWrapper"),style:{maxHeight:e.scrollHeight||"auto"}},h("listWrapper"));return y.createElement("div",s,y.createElement("ul",u,a))},T=(o=L({},e.panelStyle||{}),l=P(),i=w(),a=c({className:p.classNames(e.panelClassName,v("panel",{context:b})),style:o,onClick:function(t){return e.onClick(t)}},h("panel")),u=c({classNames:v("transition"),in:e.in,timeout:{enter:120,exit:100},options:e.transitionOptions,unmountOnExit:!0,onEnter:e.onEnter,onEntering:e.onEntering,onEntered:e.onEntered,onExit:e.onExit,onExited:e.onExited},h("transition")),y.createElement(d.CSSTransition,C({nodeRef:n},u),y.createElement("div",C({ref:n},a),l,i)));return y.createElement(m.Portal,{element:T,appendTo:e.appendTo})})));function G(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 R(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?G(Object(n),!0).forEach((function(t){E(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):G(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}q.displayName="AutoCompletePanel";var F=y.memo(y.forwardRef((function(e,d){var m=r.useMergeProps(),f=y.useContext(t.PrimeReactContext),g=M.getProps(e,f),v=H(y.useState(g.id),2),b=v[0],O=v[1],x=H(y.useState(!1),2),w=x[0],E=x[1],S=H(y.useState(!1),2),D=S[0],I=S[1],j=H(y.useState(!1),2),k=j[0],U=j[1],P={props:g,state:{id:b,searching:w,focused:D,overlayVisible:k}},T=M.setMetaData(P),A=T.ptm,L=T.cx,G=T.sx,F=T.isUnstyled;o.useHandleStyle(M.css.styles,F,{name:"autocomplete"});var _=y.useRef(null),K=y.useRef(null),B=y.useRef(g.inputRef),z=y.useRef(null),J=y.useRef(null),V=y.useRef(null),X=y.useRef(null),Z=H(r.useOverlayListener({target:_,overlay:K,listener:function(e,t){t.valid&&("outside"===t.type?$(e)||ie():f.hideOverlaysOnDocumentScrolling?ie():p.DomHandler.isDocument(e.target)||ue())},when:k}),2),W=Z[0],Y=Z[1],$=function(e){return g.multiple?e.target===z.current||z.current.contains(e.target):e.target===B.current},Q=function(e){V.current&&clearTimeout(V.current);var t=e.target.value;g.multiple||ne(e,t),p.ObjectUtils.isEmpty(t)?(ie(),g.onClear&&g.onClear(e)):t.length>=g.minLength?V.current=setTimeout((function(){ee(e,t,"input")}),g.delay):ie()},ee=function(e,t,n){null!=t&&("input"===n&&0===t.trim().length||g.completeMethod&&(E(!0),g.completeMethod({originalEvent:e,query:t})))},te=function(e,t,n){if(g.multiple){if(B.current.value="",!xe(t)&&Ce()){var o=g.value?[].concat(N(g.value),[t]):[t];ne(e,o)}}else re(t),ne(e,t);g.onSelect&&g.onSelect({originalEvent:e,value:t}),n||(p.DomHandler.focus(B.current),ie())},ne=function(e,t){g.onChange&&g.onChange({originalEvent:e,value:t,stopPropagation:function(){e.stopPropagation()},preventDefault:function(){e.preventDefault()},target:{name:g.name,id:b,value:t}}),X.current=p.ObjectUtils.isNotEmpty(t)?t:null},oe=function(e){if(p.ObjectUtils.isEmpty(e))return"";if("string"==typeof e)return e;if(g.selectedItemTemplate){var t=p.ObjectUtils.getJSXElement(g.selectedItemTemplate,e);return g.multiple||"string"==typeof t?t:e}var n;return g.field&&null!==(n=p.ObjectUtils.resolveFieldData(e,g.field))&&void 0!==n?n:e},re=function(e){B.current.value=oe(e)},le=function(){U(!0)},ie=function(){U(!1),E(!1)},ae=function(){var e,t=null===(e=we())||void 0===e||null===(e=e.firstChild)||void 0===e?void 0:e.firstChild;t&&(!F()&&p.DomHandler.addClass(t,"p-highlight"),t.setAttribute("data-p-highlight",!0))},ue=function(){p.DomHandler.alignOverlay(K.current,g.multiple?z.current:B.current,g.appendTo||f&&f.appendTo||h.default.appendTo)},ce=function(e){g.dropdownAutoFocus&&p.DomHandler.focus(B.current,g.dropdownAutoFocus),"blank"===g.dropdownMode?ee(e,"","dropdown"):"current"===g.dropdownMode&&ee(e,B.current.value,"dropdown"),g.onDropdownClick&&g.onDropdownClick({originalEvent:e,query:B.current.value})},se=function(e,t){if(!g.disabled&&!g.readOnly){var n=g.value[t],o=g.value.filter((function(e,n){return t!==n}));ne(e,o),g.onUnselect&&g.onUnselect({originalEvent:e,value:n})}},pe=function(e){if(k){var t=p.DomHandler.findSingle(K.current,'li[data-p-highlight="true"]');switch(e.which){case 40:if(t){var n=me(t);n&&(!F()&&p.DomHandler.addClass(n,"p-highlight"),n.setAttribute("data-p-highlight",!0),!F()&&p.DomHandler.removeClass(t,"p-highlight"),t.setAttribute("data-p-highlight",!1),p.DomHandler.scrollInView(we(),n))}else t=p.DomHandler.findSingle(K.current,"li"),"itemgroup"===p.DomHandler.getAttribute(t,"data-pc-section")&&(t=me(t)),t&&(!F()&&p.DomHandler.addClass(t,"p-highlight"),t.setAttribute("data-p-highlight",!0));e.preventDefault();break;case 38:if(t){var o=fe(t);o&&(!F()&&p.DomHandler.addClass(o,"p-highlight"),o.setAttribute("data-p-highlight",!0),!F()&&p.DomHandler.removeClass(t,"p-highlight"),t.setAttribute("data-p-highlight",!1),p.DomHandler.scrollInView(we(),o))}e.preventDefault();break;case 13:t&&(de(e,t),ie(),e.preventDefault());break;case 27:ie(),e.preventDefault();break;case 9:t&&de(e,t),ie()}}if(g.multiple&&8===e.which)if(g.value&&g.value.length&&!B.current.value){var r=g.value[g.value.length-1],l=g.value.slice(0,-1);ne(e,l),g.onUnselect&&g.onUnselect({originalEvent:e,value:r})}},de=function(e,t){g.optionGroupLabel?te(e,Ee(g.suggestions[t.dataset.group])[t.dataset.index]):te(e,g.suggestions[t.getAttribute("index")])},me=function(e){var t=e.nextElementSibling;return t?"itemgroup"===p.DomHandler.getAttribute(t,"data-pc-section")?me(t):t:null},fe=function(e){var t=e.previousElementSibling;return t?"itemgroup"===p.DomHandler.getAttribute(t,"data-pc-section")?fe(t):t:null},ge=function(e){I(!0),g.onFocus&&g.onFocus(e)},ve=function(e){if(g.multiple)B.current.value="";else{var t=p.ObjectUtils.trim(e.target.value).toLowerCase(),n=(g.suggestions||[]).flatMap((function(e){return e.items?e.items:[e]})).find((function(e){var n=g.field?p.ObjectUtils.resolveFieldData(e,g.field):e,o=n?p.ObjectUtils.trim(n).toLowerCase():"";return o&&t===o}));n?te(e,n,!0):(B.current.value="",ne(e,null),g.onClear&&g.onClear(e))}},be=function(e){I(!1),g.forceSelection&&ve(e),g.onBlur&&g.onBlur(e)},ye=function(e){p.DomHandler.focus(B.current),g.onClick&&g.onClick(e)},he=function(e){ge(e),!F()&&p.DomHandler.addClass(z.current,"p-focus"),z.current.setAttribute("data-p-focus",!0)},Oe=function(e){be(e),!F()&&p.DomHandler.removeClass(z.current,"p-focus"),z.current.setAttribute("data-p-focus",!1)},xe=function(e){return!!g.value&&g.value.some((function(t){return p.ObjectUtils.equals(t,e)}))},we=function(){var e;return null==K||null===(e=K.current)||void 0===e?void 0:e.firstChild},Ee=function(e){return p.ObjectUtils.resolveFieldData(e,g.optionGroupChildren)},Ce=function(){return!g.value||!g.selectionLimit||g.value.length<g.selectionLimit};y.useEffect((function(){p.ObjectUtils.combinedRefs(B,g.inputRef)}),[B,g.inputRef]),y.useEffect((function(){p.ObjectUtils.isNotEmpty(g.value)&&(X.current=g.value)}),[g.value]),r.useMountEffect((function(){b||O(p.UniqueComponentId()),g.autoFocus&&p.DomHandler.focus(B.current,g.autoFocus),ue()})),r.useUpdateEffect((function(){w&&g.autoHighlight&&g.suggestions&&g.suggestions.length&&ae()}),[w]),r.useUpdateEffect((function(){w&&(p.ObjectUtils.isNotEmpty(g.suggestions)||g.showEmptyMessage?le():ie(),E(!1))}),[g.suggestions]),r.useUpdateEffect((function(){B.current&&!g.multiple&&re(g.value),k&&ue()})),r.useUnmountEffect((function(){V.current&&clearTimeout(V.current),p.ZIndexUtils.clear(K.current)})),y.useImperativeHandle(d,(function(){return{props:g,search:ee,show:le,hide:ie,focus:function(){return p.DomHandler.focus(B.current)},getElement:function(){return _.current},getOverlay:function(){return K.current},getInput:function(){return B.current},getVirtualScroller:function(){return J.current}}}));var Se,De=function(e,t){switch(e.code){case"Space":case"NumpadEnter":case"Enter":se(e,t),e.preventDefault(),e.stopPropagation()}},Ie=function(e){var t=k?b+"_list":null,n=m({className:L("inputToken")},A("inputToken")),o=m(R({id:g.inputId,ref:B,"aria-autocomplete":"list","aria-controls":t,"aria-expanded":k,"aria-haspopup":"listbox",autoComplete:"off",className:g.inputClassName,disabled:g.disabled,maxLength:g.maxLength,name:g.name,onBlur:Oe,onChange:e?Q:void 0,onFocus:he,onKeyDown:e?pe:void 0,onKeyPress:g.onKeyPress,onKeyUp:g.onKeyUp,placeholder:e?g.placeholder:void 0,readOnly:g.readOnly||!e,required:g.required,role:"combobox",style:g.inputStyle,tabIndex:g.tabIndex,type:g.type},Pe),A("input"));return y.createElement("li",n,y.createElement("input",o))},je=function(){var e=Ce(),n=p.ObjectUtils.isNotEmpty(g.value)?g.value.map((function(e,n){var o=n+"multi-item",r=m({className:L("removeTokenIcon"),onClick:function(e){return se(e,n)},tabIndex:g.tabIndex||"0","aria-label":t.localeOption("clear"),onKeyDown:function(e){return De(e,n)}},A("removeTokenIcon")),l=!g.disabled&&p.IconUtils.getJSXIcon(g.removeTokenIcon||y.createElement(a.TimesCircleIcon,r),R({},r),{props:g}),i=m({className:L("token")},A("token")),u=m({className:L("tokenLabel")},A("tokenLabel"));return y.createElement("li",C({key:o},i),y.createElement("span",u,oe(e)),l)})):(X.current=null,null),o=Ie(e),r=m({ref:z,className:L("container",{context:f}),onClick:e?ye:void 0,onContextMenu:g.onContextMenu,onMouseDown:g.onMouseDown,onDoubleClick:g.onDblClick,"data-p-focus":D,"data-p-disabled":g.disabled},A("container"));return y.createElement("ul",r,n,o)},ke=b+"_list",Ne=p.ObjectUtils.isNotEmpty(g.tooltip),Ue=M.getOtherProps(g),Pe=p.ObjectUtils.reduceKeys(Ue,p.DomHandler.ARIA_PROPS),Te=function(){if(w){var e=m({className:L("loadingIcon")},A("loadingIcon")),t=g.loadingIcon||y.createElement(i.SpinnerIcon,C({},e,{spin:!0}));return p.IconUtils.getJSXIcon(t,R({},e),{props:g})}return null}(),He=g.multiple?je():(Se=oe(g.value),y.createElement(u.InputText,C({ref:B,id:g.inputId,type:g.type,name:g.name,defaultValue:Se,role:"combobox","aria-autocomplete":"list","aria-controls":k?b+"_list":null,"aria-haspopup":"listbox","aria-expanded":k,className:p.classNames(g.inputClassName,L("input",{context:f})),style:g.inputStyle,autoComplete:"off",readOnly:g.readOnly,required:g.required,disabled:g.disabled,placeholder:g.placeholder,size:g.size,maxLength:g.maxLength,tabIndex:g.tabIndex,onBlur:be,onFocus:ge,onChange:Q,onMouseDown:g.onMouseDown,onKeyUp:g.onKeyUp,onKeyDown:pe,onKeyPress:g.onKeyPress,onContextMenu:g.onContextMenu,onClick:g.onClick,onDoubleClick:g.onDblClick,pt:A("input"),unstyled:g.unstyled},Pe,{__parentMetadata:{parent:P}}))),Me=function(){if(g.dropdown){var e=g.dropdownAriaLabel||g.placeholder||t.localeOption("choose");return y.createElement(n.Button,{type:"button",icon:g.dropdownIcon||y.createElement(l.ChevronDownIcon,null),className:L("dropdownButton"),disabled:g.disabled,onClick:ce,"aria-label":e,pt:A("dropdownButton"),__parentMetadata:{parent:P}})}return null}(),Ae=m({id:b,ref:_,style:g.style,className:p.classNames(g.className,L("root",{focusedState:D}))},Ue,A("root"));return y.createElement(y.Fragment,null,y.createElement("span",Ae,He,Te,Me,y.createElement(q,C({hostName:"AutoComplete",ref:K,virtualScrollerRef:J},g,{listId:ke,onItemClick:te,selectedItem:X,onOverlayHide:ie,onClick:function(e){c.OverlayService.emit("overlay-click",{originalEvent:e,target:_.current})},getOptionGroupLabel:function(e){return g.optionGroupLabel?p.ObjectUtils.resolveFieldData(e,g.optionGroupLabel):e},getOptionGroupChildren:Ee,in:k,onEnter:function(){p.ZIndexUtils.set("overlay",K.current,f&&f.autoZIndex||h.default.autoZIndex,f&&f.zIndex.overlay||h.default.zIndex.overlay),p.DomHandler.addStyles(K.current,{position:"absolute",top:"0",left:"0"}),ue()},onEntering:function(){g.autoHighlight&&g.suggestions&&g.suggestions.length&&ae()},onEntered:function(){W(),g.onShow&&g.onShow()},onExit:function(){Y()},onExited:function(){p.ZIndexUtils.clear(K.current),g.onHide&&g.onHide()},ptm:A,cx:L,sx:G}))),Ne&&y.createElement(s.Tooltip,C({target:_,content:g.tooltip,pt:A("tooltip")},g.tooltipOptions)))})));F.displayName="AutoComplete",exports.AutoComplete=F;