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) • 34.3 kB
JavaScript
this.primereact=this.primereact||{},this.primereact.dropdown=function(e,t,n,r,o,l,i,a,c,u,s,p,d,f,m,b,v,g,h){"use strict";function y(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function w(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 O=w(t),I=y(n);function E(){return E=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},E.apply(null,arguments)}function x(e){return x="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},x(e)}function S(e,t){if("object"!=x(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=x(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function D(e){var t=S(e,"string");return"symbol"==x(t)?t:t+""}function j(e,t,n){return(t=D(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function F(e){if(Array.isArray(e))return e}function N(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,l,i,a=[],c=!0,u=!1;try{if(l=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=l.call(n)).done)&&(a.push(r.value),a.length!==t);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(u)throw o}}return a}}function k(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function C(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 L(){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 P(e,t){return F(e)||N(e,t)||C(e,t)||L()}function U(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function T(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?U(Object(n),!0).forEach((function(t){j(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):U(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var R=r.ComponentBase.extend({defaultProps:{__TYPE:"Dropdown",__parentMetadata:null,appendTo:null,ariaLabel:null,ariaLabelledBy:null,autoFocus:!1,autoOptionFocus:!1,checkmark:!1,children:void 0,className:null,clearIcon:null,collapseIcon:null,dataKey:null,disabled:!1,dropdownIcon:null,editable:!1,emptyFilterMessage:null,emptyMessage:null,filter:!1,filterBy:null,filterClearIcon:null,filterDelay:300,filterIcon:null,filterInputAutoFocus:!1,filterLocale:void 0,filterMatchMode:"contains",filterPlaceholder:null,filterTemplate:null,focusInputRef:null,focusOnHover:!0,highlightOnSelect:!0,id:null,inputId:null,inputRef:null,invalid:!1,itemTemplate:null,loading:!1,loadingIcon:null,maxLength:null,name:null,onBlur:null,onChange:null,onContextMenu:null,onFilter:null,onFocus:null,onHide:null,onMouseDown:null,onShow:null,optionDisabled:null,optionGroupChildren:"items",optionGroupLabel:null,optionGroupTemplate:null,optionLabel:null,options:null,optionValue:null,panelClassName:null,panelFooterTemplate:null,panelStyle:null,placeholder:null,required:!1,resetFilterOnHide:!1,scrollHeight:"200px",selectOnFocus:!1,showClear:!1,showFilterClear:!1,showOnFocus:!1,style:null,tabIndex:null,tooltip:null,tooltipOptions:null,transitionOptions:null,useOptionAsValue:!1,value:null,valueTemplate:null,variant:null,virtualScrollerOptions:null},css:{classes:{root:function(e){var t=e.props,n=e.focusedState,r=e.overlayVisibleState,o=e.context;return p.classNames("p-dropdown p-component p-inputwrapper",{"p-disabled":t.disabled,"p-invalid":t.invalid,"p-focus":n,"p-variant-filled":t.variant?"filled"===t.variant:o&&"filled"===o.inputStyle,"p-dropdown-clearable":t.showClear&&!t.disabled,"p-inputwrapper-filled":p.ObjectUtils.isNotEmpty(t.value),"p-inputwrapper-focus":n||r})},input:function(e){var t=e.props,n=e.label;return t.editable?"p-dropdown-label p-inputtext":p.classNames("p-dropdown-label p-inputtext",{"p-placeholder":null===n&&t.placeholder,"p-dropdown-label-empty":null===n&&!t.placeholder})},trigger:"p-dropdown-trigger",emptyMessage:"p-dropdown-empty-message",itemGroup:function(e){var t=e.optionGroupLabel;return p.classNames("p-dropdown-item-group",{"p-dropdown-item-empty":!t||0===t.length})},itemGroupLabel:"p-dropdown-item-group-label",dropdownIcon:"p-dropdown-trigger-icon p-clickable",loadingIcon:"p-dropdown-trigger-icon p-clickable",clearIcon:"p-dropdown-clear-icon p-clickable",filterIcon:"p-dropdown-filter-icon",filterClearIcon:"p-dropdown-filter-clear-icon",filterContainer:function(e){return p.classNames("p-dropdown-filter-container",{"p-dropdown-clearable-filter":!!e.clearIcon})},filterInput:function(e){var t=e.props,n=e.context;return p.classNames("p-dropdown-filter p-inputtext p-component",{"p-variant-filled":t.variant?"filled"===t.variant:n&&"filled"===n.inputStyle})},list:function(e){return"p-dropdown-items"},panel:function(e){var t=e.context;return p.classNames("p-dropdown-panel p-component",{"p-input-filled":t&&"filled"===t.inputStyle||"filled"===I.default.inputStyle,"p-ripple-disabled":t&&!1===t.ripple||!1===I.default.ripple})},item:function(e){var t=e.label;return p.classNames("p-dropdown-item",{"p-highlight":e.selected&&e.highlightOnSelect,"p-disabled":e.disabled,"p-focus":e.index===e.focusedOptionIndex,"p-dropdown-item-empty":!t||0===t.length})},itemLabel:"p-dropdown-item-label",checkIcon:"p-dropdown-check-icon",blankIcon:"p-dropdown-blank-icon",wrapper:"p-dropdown-items-wrapper",header:"p-dropdown-header",footer:"p-dropdown-footer",transition:"p-connected-overlay"},styles:"\n@layer primereact {\n .p-dropdown {\n display: inline-flex;\n cursor: pointer;\n position: relative;\n user-select: none;\n }\n \n .p-dropdown-trigger {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n }\n \n .p-dropdown-label {\n display: block;\n white-space: nowrap;\n overflow: hidden;\n flex: 1 1 auto;\n width: 1%;\n text-overflow: ellipsis;\n cursor: pointer;\n }\n \n .p-dropdown-label-empty {\n overflow: hidden;\n visibility: hidden;\n }\n \n input.p-dropdown-label {\n cursor: default;\n }\n \n .p-dropdown .p-dropdown-panel {\n min-width: 100%;\n }\n \n .p-dropdown-panel {\n position: absolute;\n top: 0;\n left: 0;\n }\n \n .p-dropdown-items-wrapper {\n overflow: auto;\n }\n \n .p-dropdown-item {\n cursor: pointer;\n font-weight: normal;\n white-space: nowrap;\n position: relative;\n overflow: hidden;\n }\n \n .p-dropdown-items {\n margin: 0;\n padding: 0;\n list-style-type: none;\n }\n \n .p-dropdown-filter {\n width: 100%;\n }\n \n .p-dropdown-filter-container {\n position: relative;\n }\n \n .p-dropdown-clear-icon,\n .p-dropdown-filter-icon,\n .p-dropdown-filter-clear-icon {\n position: absolute;\n top: 50%;\n margin-top: -.5rem;\n right: 2rem;\n }\n \n .p-fluid .p-dropdown {\n display: flex;\n }\n \n .p-fluid .p-dropdown .p-dropdown-label {\n width: 1%;\n }\n}\n",inlineStyles:{wrapper:function(e){return{maxHeight:e.props.scrollHeight||"auto"}},panel:function(e){return T({},e.props.panelStyle)}}}}),M=O.memo(O.forwardRef((function(e,t){var n=h.IconBase.getPTI(e);return O.createElement("svg",E({ref:t,width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",xmlns:"http://www.w3.org/2000/svg"},n),O.createElement("rect",{width:"1",height:"1",fill:"currentColor",fillOpacity:"0"}))})));M.displayName="BlankIcon";var H=O.memo((function(e){var t=o.useMergeProps(),n=e.ptm,r=e.cx,l=e.selected,i=e.disabled,a=e.option,c=e.label,u=e.index,s=e.focusedOptionIndex,d=e.ariaSetSize,f=e.checkmark,m=e.highlightOnSelect,b=e.onInputKeyDown,h=function(e){return n(e,{context:{selected:l,disabled:i,focused:u===s}})},y=e.template?p.ObjectUtils.getJSXElement(e.template,e.option):e.label,w=t({id:"dropdownItem_".concat(u),role:"option",className:p.classNames(a.className,r("item",{selected:l,disabled:i,label:c,index:u,focusedOptionIndex:s,highlightOnSelect:m})),style:e.style,tabIndex:0,onClick:function(t){return n=t,void(e.onClick&&e.onClick({originalEvent:n,option:a}));var n},onKeyDown:function(e){return b(e)},onMouseMove:function(t){return null==e?void 0:e.onMouseMove(t,u)},"aria-setsize":d,"aria-posinset":u+1,"aria-label":c,"aria-selected":l,"data-p-highlight":l,"data-p-focused":s===u,"data-p-disabled":i},h("item")),I=t({className:r("itemLabel")},h("itemLabel"));return O.createElement("li",E({key:e.label},w),f&&function(){if(l){var e=t({className:r("checkIcon")},h("checkIcon"));return O.createElement(g.CheckIcon,e)}var n=t({className:r("blankIcon")},h("blankIcon"));return O.createElement(M,n)}(),O.createElement("span",I,y),O.createElement(v.Ripple,null))}));function A(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function G(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){j(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}H.displayName="DropdownItem";var K=O.memo(O.forwardRef((function(e,t){var r,l,i,a,u,s=o.useMergeProps(),v=e.ptm,g=e.cx,h=e.sx,y=O.useContext(n.PrimeReactContext),w=O.useRef(null),I=!(e.visibleOptions&&e.visibleOptions.length)&&e.hasFilter,x=e.visibleOptions?e.visibleOptions.length:0,S={filter:function(e){return N(e)},reset:function(){return e.resetFilter()}},D=function(t,n){return v(t,G({hostName:e.hostName},n))},j=function(){e.onEnter((function(){if(e.virtualScrollerRef.current){var t=e.getSelectedOptionIndex();-1!==t&&setTimeout((function(){return e.virtualScrollerRef.current.scrollToIndex(t)}),0)}}))},F=function(){e.onEntered((function(){e.filter&&e.filterInputAutoFocus&&p.DomHandler.focus(w.current,!1)}))},N=function(t){e.onFilterInputChange&&e.onFilterInputChange(t)},k=function(){if(e.panelFooterTemplate){var t=p.ObjectUtils.getJSXElement(e.panelFooterTemplate,e,e.onOverlayHide),n=s({className:g("footer")},D("footer"));return O.createElement("div",n,t)}return null},C=function(t,n){var r;e.focusOnHover&&(null==e||null===(r=e.changeFocusedOptionIndex)||void 0===r||r.call(e,t,n))},L=function(t,r){var o=p.ObjectUtils.getJSXElement(t,e)||n.localeOption(r?"emptyFilterMessage":"emptyMessage"),l=s({className:g("emptyMessage")},D("emptyMessage"));return O.createElement("li",l,o)},P=function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o={height:r.props?r.props.itemSize:void 0};if(o=G(G({},o),t.style),t.group&&e.optionGroupLabel){var l=e.optionGroupLabel,i=e.optionGroupTemplate?p.ObjectUtils.getJSXElement(e.optionGroupTemplate,t,n):e.getOptionGroupLabel(t),a=n+"_"+e.getOptionGroupRenderKey(t),c=s({className:g("itemGroup",{optionGroupLabel:l}),style:o,"data-p-highlight":e.selected},D("itemGroup")),u=s({className:g("itemGroupLabel")},D("itemGroupLabel"));return O.createElement("li",E({key:a},c),O.createElement("span",u,i))}var d=e.getOptionRenderKey(t)+"_"+n,f=e.getOptionLabel(t),m=e.isOptionDisabled(t);return O.createElement(H,{key:d,label:f,index:n,focusedOptionIndex:e.focusedOptionIndex,option:t,ariaSetSize:x,onInputKeyDown:e.onInputKeyDown,style:o,template:e.itemTemplate,selected:e.isSelected(t),highlightOnSelect:e.highlightOnSelect,disabled:m,onClick:e.onOptionClick,onMouseMove:C,ptm:v,cx:g,checkmark:e.checkmark})},U=function(){if(e.showFilterClear&&e.filterValue){var t=n.localeOption("clear"),r=s({className:g("filterClearIcon"),"aria-label":t,onClick:function(){return e.onFilterClearIconClick((function(){return p.DomHandler.focus(w.current)}))}},D("filterClearIcon"));return p.IconUtils.getJSXIcon(e.filterClearIcon||O.createElement(c.TimesIcon,r),G({},r),{props:e})}return null},T=function(){if(e.filter){var t=U(),n=s({className:g("filterIcon")},D("filterIcon")),r=p.IconUtils.getJSXIcon(e.filterIcon||O.createElement(f.SearchIcon,n),G({},n),{props:e}),o=s({className:g("filterContainer",{clearIcon:t})},D("filterContainer")),l=s({ref:w,type:"text",autoComplete:"off",className:g("filterInput",{context:y}),placeholder:e.filterPlaceholder,onKeyDown:e.onFilterInputKeyDown,onChange:function(e){return N(e)},value:e.filterValue},D("filterInput")),i=O.createElement("div",o,O.createElement("input",l),t,r);if(e.filterTemplate){var a={className:p.classNames("p-dropdown-filter-container",{"p-dropdown-clearable-filter":!!t}),element:i,filterOptions:S,filterInputKeyDown:e.onFilterInputKeyDown,filterInputChange:N,filterIconClassName:"p-dropdown-filter-icon",clearIcon:t,props:e};i=p.ObjectUtils.getJSXElement(e.filterTemplate,a)}var c=s({className:g("header")},D("header"));return O.createElement("div",c,i)}return null},R=function(){if(e.virtualScrollerOptions){var t=G(G({},e.virtualScrollerOptions),{style:G(G({},e.virtualScrollerOptions.style),{height:e.scrollHeight}),className:p.classNames("p-dropdown-items-wrapper",e.virtualScrollerOptions.className),items:e.visibleOptions,autoSize:!0,onLazyLoad:function(t){return e.virtualScrollerOptions.onLazyLoad(G(G({},t),{filter:e.filterValue}))},itemTemplate:function(e,t){return e&&P(e,t.index,t)},contentTemplate:function(t){var r=I?L(e.hasFilter?e.emptyFilterMessage:e.emptyMessage):t.children,o=s({ref:t.contentRef,style:t.style,className:p.classNames(t.className,g("list",{virtualScrollerProps:e.virtualScrollerOptions})),role:"listbox","aria-label":n.ariaLabel("listLabel")},D("list"));return O.createElement("ul",o,r)}});return O.createElement(b.VirtualScroller,E({ref:e.virtualScrollerRef},t,{pt:v("virtualScroller")}))}var r=p.ObjectUtils.isNotEmpty(e.visibleOptions)?e.visibleOptions.map(P):e.hasFilter?L(e.emptyFilterMessage,!0):L(e.emptyMessage),o=s({className:g("wrapper"),style:h("wrapper")},D("wrapper")),l=s({className:g("list"),role:"listbox","aria-label":n.ariaLabel("listLabel")},D("list"));return O.createElement("div",o,O.createElement("ul",l,r))},M=(r=T(),l=R(),i=k(),a=s({className:p.classNames(e.panelClassName,g("panel",{context:y})),style:h("panel"),onClick:e.onClick},D("panel")),u=s({classNames:g("transition"),in:e.in,timeout:{enter:120,exit:100},options:e.transitionOptions,unmountOnExit:!0,onEnter:j,onEntered:F,onExit:e.onExit,onExited:e.onExited},D("transition")),O.createElement(d.CSSTransition,E({nodeRef:t},u),O.createElement("div",E({ref:t},a),e.firstFocusableElement,r,l,i,e.lastFocusableElement)));return O.createElement(m.Portal,{element:M,appendTo:e.appendTo})})));function V(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=_(e))||t&&e&&"number"==typeof e.length){n&&(e=n);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,i=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return i=e.done,e},e:function(e){a=!0,l=e},f:function(){try{i||null==n.return||n.return()}finally{if(a)throw l}}}}function _(e,t){if(e){if("string"==typeof e)return B(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)?B(e,t):void 0}}function B(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function z(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function J(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?z(Object(n),!0).forEach((function(t){j(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):z(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}K.displayName="DropdownPanel";var X=O.memo(O.forwardRef((function(e,t){var d=o.useMergeProps(),f=O.useContext(n.PrimeReactContext),m=R.getProps(e,f),b=P(o.useDebounce("",m.filterDelay||0),3),v=b[0],g=b[1],h=b[2],y=P(O.useState(!1),2),w=y[0],S=y[1],D=P(O.useState(-1),2),F=D[0],N=D[1],k=P(O.useState(!1),2),C=k[0],L=k[1],U=O.useRef(!1),T=O.useRef(null),M=O.useRef(null),H=O.useRef(null),A=O.useRef(null),G=O.useRef(m.inputRef),_=O.useRef(m.focusInputRef),B=O.useRef(null),z=O.useRef(null),X=O.useRef(null),q=m.virtualScrollerOptions&&m.virtualScrollerOptions.lazy,Z=p.ObjectUtils.isNotEmpty(g),W=m.appendTo||f&&f.appendTo||I.default.appendTo,$=R.setMetaData(J(J({props:m},m.__parentMetadata),{},{state:{filter:g,focused:w,overlayVisible:C}})),Y=$.ptm,Q=$.cx,ee=$.sx;r.useHandleStyle(R.css.styles,$.isUnstyled,{name:"dropdown"});var te=P(o.useOverlayListener({target:T,overlay:M,listener:function(e,t){t.valid&&("outside"===t.type?le(e)||Be():f.hideOverlaysOnDocumentScrolling?Be():p.DomHandler.isDocument(e.target)||ze())},when:C}),2),ne=te[0],re=te[1],oe=function(e){return(e||[]).reduce((function(e,t,n){e.push(J(J({},t),{},{group:!0,index:n}));var r=Ye(t);return r&&r.forEach((function(t){return e.push(t)})),e}),[])},le=function(e){return p.DomHandler.isAttributeEquals(e.target,"data-pc-section","clearicon")||p.DomHandler.isAttributeEquals(e.target.parentElement||e.target,"data-pc-section","filterclearicon")},ie=function(e){m.showOnFocus&&!C&&_e(),S(!0),m.onFocus&&m.onFocus(e)},ae=function(e){S(!1),m.onBlur&&setTimeout((function(){var t=G.current?G.current.value:void 0;m.onBlur({originalEvent:e.originalEvent,value:t,stopPropagation:function(){e.originalEvent.stopPropagation()},preventDefault:function(){e.originalEvent.preventDefault()},target:{name:m.name,id:m.id,value:t}})}),200)},ce=function(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];He({originalEvent:e,option:t}),n&&(Be(),p.DomHandler.focus(_.current))},ue=function(e){if(m.disabled)e.preventDefault();else{switch(p.DomHandler.isAndroid()?e.key:e.code){case"ArrowDown":Oe(e);break;case"ArrowUp":Ie(e);break;case"ArrowLeft":case"ArrowRight":Ee(e,m.editable);break;case"Home":xe(e);break;case"End":Se(e);break;case"PageDown":je(e);break;case"PageUp":De(e);break;case"Space":Fe(e,m.editable);break;case"NumpadEnter":case"Enter":Ne(e);break;case"Escape":ke(e);break;case"Tab":Ce(e);break;case"Backspace":Le(e,m.editable);break;case"ShiftLeft":case"ShiftRight":break;default:!(e.metaKey||e.ctrlKey||e.altKey)&&p.ObjectUtils.isPrintableCharacter(e.key)&&(!C&&!m.editable&&_e(),!m.editable&&ve(e,e.key))}U.current=!1}},se=function(e){var t;return pe(e)&&(null===(t=qe(e))||void 0===t?void 0:t.toLocaleLowerCase(m.filterLocale).startsWith(X.current.toLocaleLowerCase(m.filterLocale)))},pe=function(e){return p.ObjectUtils.isNotEmpty(e)&&!($e(e)||We(e))},de=function(){return p.ObjectUtils.isNotEmpty(m.value)},fe=function(e){return pe(e)&&Ve(e)},me=function(){return de?it.findIndex((function(e){return fe(e)})):-1},be=function(){var e=me();return e<0?ge():e},ve=function(e,t){X.current=(X.current||"")+t;var n=-1,r=!1;return p.ObjectUtils.isNotEmpty(X.current)&&(-1!==(n=-1!==F?-1===(n=it.slice(F).findIndex((function(e){return se(e)})))?it.slice(0,F).findIndex((function(e){return se(e)})):n+F:it.findIndex((function(e){return se(e)})))&&(r=!0),-1===n&&-1===F&&(n=be()),-1!==n&&ye(e,n)),z.current&&clearTimeout(z.current),z.current=setTimeout((function(){X.current="",z.current=null}),500),r},ge=function(){return it.findIndex((function(e){return pe(e)}))},he=function(){return p.ObjectUtils.findLastIndex(it,(function(e){return pe(e)}))},ye=function(e,t){F!==t&&(N(t),we(t),m.selectOnFocus&&ce(e,it[t],!1))},we=function(e){var t=p.DomHandler.findSingle(M.current,'li[id="dropdownItem_'.concat(e,'"]'));t&&t.focus()},Oe=function(e){if(C){var t=-1!==F?(r=(n=F)<it.length-1?it.slice(n+1).findIndex((function(e){return pe(e)})):-1)>-1?r+n+1:n:U.current?ge():be();ye(e,t)}else _e(),m.editable&&ye(e,me());var n,r;e.preventDefault()},Ie=function(e){var t,n,r;if(e.altKey&&!(arguments.length>1&&void 0!==arguments[1]&&arguments[1]))-1!==F&&ce(e,it[F]),state.overlayVisible&&Be(),e.preventDefault();else{var o=-1!==F?(r=(n=F)>0?p.ObjectUtils.findLastIndex(it.slice(0,n),(function(e){return pe(e)})):-1)>-1?r:n:U.current?he():(t=me())<0?he():t;ye(e,o),!C&&_e(),e.preventDefault()}},Ee=function(e){arguments.length>1&&void 0!==arguments[1]&&arguments[1]&&N(-1)},xe=function(e){arguments.length>1&&void 0!==arguments[1]&&arguments[1]?(e.currentTarget.setSelectionRange(0,0),N(-1)):(ye(e,ge()),!C&&_e()),e.preventDefault()},Se=function(e){if(arguments.length>1&&void 0!==arguments[1]&&arguments[1]){var t=e.currentTarget,n=t.value.length;t.setSelectionRange(n,n),N(-1)}else ye(e,he()),!C&&_e();e.preventDefault()},De=function(e){e.preventDefault()},je=function(e){e.preventDefault()},Fe=function(e){!(arguments.length>1&&void 0!==arguments[1]&&arguments[1])&&Ne(e)},Ne=function(e){C?-1!==F&&ce(e,it[F]):(N(-1),Oe(e)),e.preventDefault()},ke=function(e){C&&Be(),e.preventDefault()},Ce=function(e){arguments.length>1&&void 0!==arguments[1]&&arguments[1]||(!C||p.DomHandler.getFocusableElements(M.current,':not([data-p-hidden-focusable="true"])').length>0?(-1!==F&&ce(e,it[F]),C&&Be()):(p.DomHandler.focus(H.current),e.preventDefault()))},Le=function(e){e&&(arguments.length>1&&void 0!==arguments[1]&&arguments[1])&&!C&&_e()},Pe=function(e,t){if(!t||null==e||!e.length)return-1;var n=t.toLocaleLowerCase(),r=e.findIndex((function(e){return qe(e).toLocaleLowerCase()===n}));return-1!==r?r:e.findIndex((function(e){return qe(e).toLocaleLowerCase().startsWith(n)}))},Ue=function(e){!C&&_e();var t=null;e.target.value&&it&&(t=Pe(it,e.target.value)),N(t),m.onChange&&m.onChange({originalEvent:e.originalEvent,value:e.target.value,stopPropagation:function(){e.originalEvent.stopPropagation()},preventDefault:function(){e.originalEvent.preventDefault()},target:{name:m.name,id:m.id,value:e.target.value}})},Te=function(e){S(!0),Be(),m.onFocus&&m.onFocus(e)},Re=function(e){h(""),m.onFilter&&m.onFilter({filter:""}),e&&e()},Me=function(e){m.onChange&&m.onChange({originalEvent:e,value:void 0,stopPropagation:function(){null==e||e.stopPropagation()},preventDefault:function(){null==e||e.preventDefault()},target:{name:m.name,id:m.id,value:void 0}}),m.filter&&Re(),Xe(),N(-1)},He=function(e){if(at!==e.option){Xe(e.option),N(-1);var t=Ze(e.option),n=Ke(e.option,it);m.onChange&&m.onChange({originalEvent:e.originalEvent,value:t,stopPropagation:function(){e.originalEvent.stopPropagation()},preventDefault:function(){e.originalEvent.preventDefault()},target:{name:m.name,id:m.id,value:t}}),ye(e.originalEvent,n)}},Ae=function(e){if(e=e||it){if(!m.optionGroupLabel)return Ke(m.value,e);for(var t=0;t<e.length;t++){var n=Ke(m.value,Ye(e[t]));if(-1!==n)return{group:t,option:n}}}return-1},Ge=function(){return m.optionValue?null:m.dataKey},Ke=function(e,t){var n=Ge();return t.findIndex((function(t){return p.ObjectUtils.equals(e,Ze(t),n)}))},Ve=function(e){return p.ObjectUtils.equals(m.value,Ze(e),Ge())},_e=function(){N(-1!==F?F:m.autoOptionFocus?be():m.editable?-1:me()),L(!0)},Be=function(){L(!1),U.current=!1},ze=function(){p.DomHandler.alignOverlay(M.current,G.current.parentElement,m.appendTo||f&&f.appendTo||I.default.appendTo)},Je=function(){var e=p.DomHandler.findSingle(M.current,'li[data-p-focused="true"]');if(e&&e.scrollIntoView)e.scrollIntoView({block:"nearest",inline:"nearest"});else{var t=p.DomHandler.findSingle(M.current,'li[data-p-highlight="true"]');t&&t.scrollIntoView&&t.scrollIntoView({block:"nearest",inline:"nearest"})}},Xe=function(e){G.current&&(G.current.value=e?qe(e):m.value||"",_.current&&(_.current.value=G.current.value))},qe=function(e){if(p.ObjectUtils.isScalar(e))return"".concat(e);var t=m.optionLabel?p.ObjectUtils.resolveFieldData(e,m.optionLabel):e.label;return"".concat(t)},Ze=function(e){if(m.useOptionAsValue)return e;var t=m.optionValue?p.ObjectUtils.resolveFieldData(e,m.optionValue):e?e.value:p.ObjectUtils.resolveFieldData(e,"value");return m.optionValue||p.ObjectUtils.isNotEmpty(t)?t:e},We=function(e){return m.optionGroupLabel&&e.group},$e=function(e){return m.optionDisabled?p.ObjectUtils.isFunction(m.optionDisabled)?m.optionDisabled(e):p.ObjectUtils.resolveFieldData(e,m.optionDisabled):!(!e||void 0===e.disabled)&&e.disabled},Ye=function(e){return p.ObjectUtils.resolveFieldData(e,m.optionGroupChildren)},Qe=function(){if(m.editable&&G.current){var e=(at?qe(at):null)||m.value||"";G.current.value=e,_.current&&(_.current.value=e)}};O.useImperativeHandle(t,(function(){return{props:m,show:_e,hide:Be,clear:Me,focus:function(){return p.DomHandler.focus(_.current)},getElement:function(){return T.current},getOverlay:function(){return M.current},getInput:function(){return G.current},getFocusInput:function(){return _.current},getVirtualScroller:function(){return B.current}}})),O.useEffect((function(){p.ObjectUtils.combinedRefs(G,m.inputRef),p.ObjectUtils.combinedRefs(_,m.focusInputRef)}),[G,m.inputRef,_,m.focusInputRef]),o.useMountEffect((function(){m.autoFocus&&p.DomHandler.focus(_.current,m.autoFocus),ze()})),o.useUpdateEffect((function(){C&&(m.value||F>=0)&&Je()}),[C,m.value,F]),o.useUpdateEffect((function(){C&&g&&m.filter&&ze()}),[C,g,m.filter]),o.useUpdateEffect((function(){B.current&&B.current.scrollInView(0)}),[g]),o.useUpdateEffect((function(){Qe(),G.current&&(G.current.selectedIndex=1)})),o.useUnmountEffect((function(){p.ZIndexUtils.clear(M.current)}));var et,tt,nt,rt,ot,lt=function(e){"Enter"!==e.key&&"Space"!==e.code||(Me(e),e.preventDefault())},it=function(){var e=m.optionGroupLabel?oe(m.options):m.options;if(Z&&!q){var t=g.trim().toLocaleLowerCase(m.filterLocale),r=m.filterBy?m.filterBy.split(","):[m.optionLabel||"label"];if(m.optionGroupLabel){var o,l=[],i=V(m.options);try{for(i.s();!(o=i.n()).done;){var a=o.value,c=n.FilterService.filter(Ye(a),r,t,m.filterMatchMode,m.filterLocale);c&&c.length&&l.push(J(J({},a),j({},"".concat(m.optionGroupChildren),c)))}}catch(e){i.e(e)}finally{i.f()}return oe(l)}return n.FilterService.filter(e,r,t,m.filterMatchMode,m.filterLocale)}return e}(),at=-1!==(et=Ae(m.options))?m.optionGroupLabel?Ye(m.options[et.group])[et.option]:m.options[et]:null,ct=p.ObjectUtils.isNotEmpty(m.tooltip),ut=R.getOtherProps(m),st=p.ObjectUtils.reduceKeys(ut,p.DomHandler.ARIA_PROPS),pt=function(){var e={value:"",label:m.placeholder};if(at){var t=Ze(at);e={value:"object"===x(t)?m.options.findIndex((function(e){return e===t})):t,label:qe(at)}}var n=d({className:"p-hidden-accessible p-dropdown-hidden-select"},Y("hiddenSelectedMessage")),r=d({ref:G,required:m.required,defaultValue:e.value,name:m.name,tabIndex:-1},Y("select")),o=d({value:e.value},Y("option"));return O.createElement("div",n,O.createElement("select",r,O.createElement("option",o,e.label)))}(),dt=function(){var e=p.ObjectUtils.isNotEmpty(at)?qe(at):null;m.editable&&(e=e||m.value||"");var t=d({className:"p-hidden-accessible"},Y("hiddenSelectedMessage")),n=d(J({ref:_,id:m.inputId,defaultValue:e,type:"text",readOnly:!0,"aria-haspopup":"listbox",onFocus:ie,onBlur:ae,onKeyDown:ue,disabled:m.disabled,tabIndex:m.disabled?-1:m.tabIndex||0},st),Y("input"));return O.createElement("div",t,O.createElement("input",n))}(),ft=function(){var e=p.ObjectUtils.isNotEmpty(at)?qe(at):null;if(m.editable){var t=d(J({ref:G,type:"text",defaultValue:e||m.value||"",className:Q("input",{label:e}),disabled:m.disabled,placeholder:m.placeholder,maxLength:m.maxLength,onInput:Ue,onFocus:Te,onKeyDown:ue,onBlur:ae,tabIndex:m.disabled?-1:m.tabIndex||0,"aria-haspopup":"listbox"},st),Y("input"));return O.createElement("input",t)}var n=m.valueTemplate?p.ObjectUtils.getJSXElement(m.valueTemplate,at,m):e||m.placeholder||m.emptyMessage||O.createElement(O.Fragment,null," "),r=d({ref:G,className:Q("input",{label:e}),tabIndex:"-1"},Y("input"));return O.createElement("span",r,n)}(),mt=m.loading?(tt=d({className:Q("loadingIcon"),"data-pr-overlay-visible":C},Y("loadingIcon")),nt=p.IconUtils.getJSXIcon(m.loadingIcon||O.createElement(a.SpinnerIcon,{spin:!0}),J({},tt),{props:m}),rt=m.placeholder||m.ariaLabel,ot=d({className:Q("trigger"),role:"button","aria-haspopup":"listbox","aria-expanded":C,"aria-label":rt},Y("trigger")),O.createElement("div",ot,nt)):function(){var e=d({className:Q("dropdownIcon"),"data-pr-overlay-visible":C},Y("dropdownIcon")),t=p.IconUtils.getJSXIcon(C?m.collapseIcon||O.createElement(i.ChevronUpIcon,e):m.dropdownIcon||O.createElement(l.ChevronDownIcon,e),J({},e),{props:m}),n=m.placeholder||m.ariaLabel,r=d({className:Q("trigger"),role:"button","aria-haspopup":"listbox","aria-expanded":C,"aria-label":n},Y("trigger"));return O.createElement("div",r,t)}(),bt=function(){if(null!=m.value&&m.showClear&&!m.disabled&&!p.ObjectUtils.isEmpty(m.options)){var e=d({className:Q("clearIcon"),onPointerUp:Me,tabIndex:m.editable?-1:m.tabIndex||"0",onKeyDown:lt,"aria-label":n.localeOption("clear")},Y("clearIcon"));return p.IconUtils.getJSXIcon(m.clearIcon||O.createElement(c.TimesIcon,e),J({},e),{props:m})}return null}(),vt=d({id:m.id,ref:T,className:p.classNames(m.className,Q("root",{context:f,focusedState:w,overlayVisibleState:C})),style:m.style,onClick:function(e){return t=e,void(m.disabled||m.loading||(m.onClick&&m.onClick(t),t.defaultPrevented||le(t)||"INPUT"===t.target.tagName||(M.current&&M.current&&M.current.contains(t.target)||(p.DomHandler.focus(_.current),C?Be():_e()),t.preventDefault(),U.current=!0)));var t},onMouseDown:m.onMouseDown,onContextMenu:m.onContextMenu,onFocus:function(){m.editable&&!C&&!1===U.current&&p.DomHandler.focus(G.current)},"data-p-disabled":m.disabled,"data-p-focus":w,"aria-activedescendant":w?"dropdownItem_".concat(F):void 0},ut,Y("root")),gt=d({ref:H,role:"presentation",className:"p-hidden-accessible p-hidden-focusable",tabIndex:"0",onFocus:function(e){var t=e.relatedTarget===_.current?p.DomHandler.getFirstFocusableElement(M.current,':not([data-p-hidden-focusable="true"])'):_.current;p.DomHandler.focus(t)},"data-p-hidden-accessible":!0,"data-p-hidden-focusable":!0},Y("hiddenFirstFocusableEl")),ht=d({ref:A,role:"presentation",className:"p-hidden-accessible p-hidden-focusable",tabIndex:"0",onFocus:function(e){var t=e.relatedTarget===_.current?p.DomHandler.getLastFocusableElement(M.current,':not([data-p-hidden-focusable="true"])'):_.current;p.DomHandler.focus(t)},"data-p-hidden-accessible":!0,"data-p-hidden-focusable":!0},Y("hiddenLastFocusableEl"));return O.createElement(O.Fragment,null,O.createElement("div",vt,dt,pt,ft,bt,mt,O.createElement(K,E({hostName:"Dropdown",ref:M,visibleOptions:it,virtualScrollerRef:B},m,{appendTo:W,cx:Q,filterValue:v,focusedOptionIndex:F,getOptionGroupChildren:Ye,getOptionGroupLabel:function(e){return p.ObjectUtils.resolveFieldData(e,m.optionGroupLabel)},getOptionGroupRenderKey:function(e){return p.ObjectUtils.resolveFieldData(e,m.optionGroupLabel)},getOptionLabel:qe,getOptionRenderKey:function(e){return m.dataKey?p.ObjectUtils.resolveFieldData(e,m.dataKey):qe(e)},getSelectedOptionIndex:Ae,hasFilter:Z,in:C,isOptionDisabled:$e,isSelected:Ve,onOverlayHide:Be,onClick:function(e){u.OverlayService.emit("overlay-click",{originalEvent:e,target:T.current})},onEnter:function(e){p.ZIndexUtils.set("overlay",M.current,f&&f.autoZIndex||I.default.autoZIndex,f&&f.zIndex.overlay||I.default.zIndex.overlay),p.DomHandler.addStyles(M.current,{position:"absolute",top:"0",left:"0"}),ze(),e&&e()},onEntered:function(e){e&&e(),ne(),m.onShow&&m.onShow()},onExit:function(){re()},onExited:function(){m.filter&&m.resetFilterOnHide&&Re(),p.ZIndexUtils.clear(M.current),m.onHide&&m.onHide()},onFilterClearIconClick:function(e){Re(e)},onFilterInputChange:function(e){var t=e.target.value;h(t),m.onFilter&&m.onFilter({originalEvent:e,filter:t})},onFilterInputKeyDown:function(e){switch(e.code){case"ArrowDown":Oe(e);break;case"ArrowUp":Ie(e);break;case"ArrowLeft":case"ArrowRight":Ee(e,!0);break;case"Enter":case"NumpadEnter":Ne(e),e.preventDefault();break;case"Escape":ke(e)}},onOptionClick:function(e){e.option.disabled||(He(e),p.DomHandler.focus(_.current)),Be()},onInputKeyDown:ue,ptm:Y,resetFilter:Re,changeFocusedOptionIndex:ye,firstFocusableElement:O.createElement("span",gt),lastFocusableElement:O.createElement("span",ht),sx:ee}))),ct&&O.createElement(s.Tooltip,E({target:T,content:m.tooltip,pt:Y("tooltip")},m.tooltipOptions)))})));return X.displayName="Dropdown",e.Dropdown=X,Object.defineProperty(e,"__esModule",{value:!0}),e}({},React,primereact.api,primereact.componentbase,primereact.hooks,primereact.icons.chevrondown,primereact.icons.chevronup,primereact.icons.spinner,primereact.icons.times,primereact.overlayservice,primereact.tooltip,primereact.utils,primereact.csstransition,primereact.icons.search,primereact.portal,primereact.virtualscroller,primereact.ripple,primereact.icons.check,primereact.iconbase);