primereact
Version:
PrimeReact is an open source UI library for React featuring a rich set of 80+ 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) • 22.7 kB
JavaScript
import*as e from"react";import t,{localeOption as n,FilterService as l}from"primereact/api";import{useUpdateEffect as r,useOverlayListener as o,useUnmountEffect as i}from"primereact/hooks";import{OverlayService as a}from"primereact/overlayservice";import{Tooltip as c}from"primereact/tooltip";import{ObjectUtils as u,DomHandler as s,classNames as p,IconUtils as f,ZIndexUtils as m}from"primereact/utils";import{CSSTransition as d}from"primereact/csstransition";import{Portal as v}from"primereact/portal";import{VirtualScroller as b}from"primereact/virtualscroller";import{InputText as h}from"primereact/inputtext";import{Ripple as y}from"primereact/ripple";function g(){return g=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var l in n)Object.prototype.hasOwnProperty.call(n,l)&&(e[l]=n[l])}return e},g.apply(this,arguments)}function E(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function O(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,l=new Array(t);n<t;n++)l[n]=e[n];return l}function S(e){if(Array.isArray(e))return O(e)}function x(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function k(e,t){if(e){if("string"==typeof e)return O(e,t);var n=Object.prototype.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)?O(e,t):void 0}}function w(){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 I(e){return S(e)||x(e)||k(e)||w()}function C(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 l,r,o=[],i=!0,a=!1;try{for(n=n.call(e);!(i=(l=n.next()).done)&&(o.push(l.value),!t||o.length!==t);i=!0);}catch(e){a=!0,r=e}finally{try{i||null==n.return||n.return()}finally{if(a)throw r}}return o}}function D(){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 L(e,t){return C(e)||N(e,t)||k(e,t)||D()}var F=e.memo(e.forwardRef((function(t,n){var l=L(e.useState(!1),2),o=l[0],i=l[1],a=e.useRef(null),m=e.useRef(t.inputRef),d=function(e){if(!t.disabled&&!t.readOnly&&t.onChange){var n=v(),l=e.target instanceof HTMLDivElement||e.target instanceof HTMLSpanElement;if(e.target===m.current||l&&e.target.checked!==n){var r=n?t.falseValue:t.trueValue;t.onChange({originalEvent:e,value:t.value,checked:r,stopPropagation:function(){},preventDefault:function(){},target:{type:"checkbox",name:t.name,id:t.id,value:t.value,checked:r}})}s.focus(m.current),e.preventDefault()}},v=function(){return t.checked===t.trueValue};e.useImperativeHandle(n,(function(){return{props:t,getElement:function(){return a.current},getInput:function(){return m.current}}})),e.useEffect((function(){u.combinedRefs(m,t.inputRef)}),[m,t.inputRef]),r((function(){m.current.checked=v()}),[t.checked,t.trueValue]);var b=v(),h=u.isNotEmpty(t.tooltip),y=u.findDiffKeys(t,F.defaultProps),E=u.reduceKeys(y,s.ARIA_PROPS),O=p("p-checkbox p-component",{"p-checkbox-checked":b,"p-checkbox-disabled":t.disabled,"p-checkbox-focused":o},t.className),S=p("p-checkbox-box",{"p-highlight":b,"p-disabled":t.disabled,"p-focus":o}),x=f.getJSXIcon(b?t.icon:"",{className:"p-checkbox-icon p-c"},{props:t,checked:b});return e.createElement(e.Fragment,null,e.createElement("div",g({ref:a,id:t.id,className:O,style:t.style},y,{onClick:d,onContextMenu:t.onContextMenu,onMouseDown:t.onMouseDown}),e.createElement("div",{className:"p-hidden-accessible"},e.createElement("input",g({ref:m,type:"checkbox",id:t.inputId,name:t.name,tabIndex:t.tabIndex,defaultChecked:b,onFocus:function(){i(!0)},onBlur:function(){i(!1)},onKeyDown:function(e){"Space"===e.code&&d(e)},disabled:t.disabled,readOnly:t.readOnly,required:t.required},E))),e.createElement("div",{className:S},x)),h&&e.createElement(c,g({target:a,content:t.tooltip},t.tooltipOptions)))})));F.displayName="Checkbox",F.defaultProps={__TYPE:"Checkbox",id:null,inputRef:null,inputId:null,value:null,name:null,checked:!1,trueValue:!0,falseValue:!1,style:null,className:null,disabled:!1,required:!1,readOnly:!1,tabIndex:null,icon:"pi pi-check",tooltip:null,tooltipOptions:null,onChange:null,onMouseDown:null,onContextMenu:null};var A=e.memo((function(t){var l={filter:function(e){return r(e)},reset:function(){return t.resetFilter()}},r=function(e){t.onFilter&&t.onFilter({originalEvent:e,query:e.target.value})},o=function(e){t.onSelectAll&&t.onSelectAll({originalEvent:e,checked:t.selectAll}),e.preventDefault()},i=function(){if(t.filter){var n=p("p-multiselect-filter-container"),o=e.createElement("div",{className:n},e.createElement(h,{type:"text",role:"textbox",value:t.filterValue,onChange:r,className:"p-multiselect-filter",placeholder:t.filterPlaceholder}),e.createElement("span",{className:"p-multiselect-filter-icon pi pi-search"}));if(t.filterTemplate)o=u.getJSXElement(t.filterTemplate,{className:n,element:o,filterOptions:l,onFilter:r,filterIconClassName:"p-multeselect-filter-icon pi pi-search",props:t});return e.createElement(e.Fragment,null,o)}return null}(),a=t.showSelectAll&&e.createElement(F,{checked:t.selectAll,onChange:o,role:"checkbox","aria-checked":t.selectAll}),c=e.createElement("button",{type:"button",className:"p-multiselect-close p-link","aria-label":n("close"),onClick:t.onClose},e.createElement("span",{className:"p-multiselect-close-icon pi pi-times","aria-hidden":"true"}),e.createElement(y,null)),s=e.createElement("div",{className:"p-multiselect-header"},a,i,c);return t.template?u.getJSXElement(t.template,{className:"p-multiselect-header",checkboxElement:a,checked:t.selectAll,onChange:o,filterElement:i,closeElement:c,closeElementClassName:"p-multiselect-close p-link",closeIconClassName:"p-multiselect-close-icon pi pi-times",onCloseClick:t.onClose,element:s,props:t}):s}));A.displayName="MultiSelectHeader";var T=e.memo((function(t){var n=p("p-multiselect-item",{"p-highlight":t.selected,"p-disabled":t.disabled},t.option.className),l=p("p-checkbox-box",{"p-highlight":t.selected}),r=p("p-checkbox-icon p-c",{"pi pi-check":t.selected}),o=t.template?u.getJSXElement(t.template,t.option):t.label;return e.createElement("li",{className:n,style:t.style,onClick:function(e){t.onClick&&t.onClick({originalEvent:e,option:t.option}),e.preventDefault()},tabIndex:t.disabled?null:t.tabIndex||0,onKeyDown:function(e){t.onKeyDown&&t.onKeyDown({originalEvent:e,option:t.option})},role:"option","aria-selected":t.selected},e.createElement("div",{className:"p-checkbox p-component"},e.createElement("div",{className:l},e.createElement("span",{className:r}))),e.createElement("span",null,o),e.createElement(y,null))}));function P(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,l)}return n}function j(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?P(Object(n),!0).forEach((function(t){E(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):P(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}T.displayName="MultiSelectItem";var R=e.memo(e.forwardRef((function(t,l){var r,o,i,a,c,s=e.useRef(null),f=function(){t.onEnter((function(){if(s.current){var e=t.getSelectedOptionIndex();-1!==e&&setTimeout((function(){return s.current.scrollToIndex(e)}),0)}}))},m=function(e){s.current&&s.current.scrollToIndex(0),t.onFilterInputChange&&t.onFilterInputChange(e)},h=function(){if(t.panelFooterTemplate){var n=u.getJSXElement(t.panelFooterTemplate,t,t.onOverlayHide);return e.createElement("div",{className:"p-multiselect-footer"},n)}return null},y=function(n,l){return t.getOptionGroupChildren(n).map((function(n,r){var o=t.getOptionLabel(n),i=r+"_"+t.getOptionRenderKey(n),a=t.isOptionDisabled(n),c=a?null:t.tabIndex||0,u=t.isSelected(n);return e.createElement(T,{key:i,label:o,option:n,style:l,template:t.itemTemplate,selected:u,onClick:t.onOptionSelect,onKeyDown:t.onOptionKeyDown,tabIndex:c,disabled:a})}))},E=function(){var l=u.getJSXElement(t.emptyFilterMessage,t)||n("emptyFilterMessage");return e.createElement("li",{className:"p-multiselect-empty-message"},l)},O=function(n,l){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o={height:r.props?r.props.itemSize:void 0};if(t.optionGroupLabel){var i=t.optionGroupTemplate?u.getJSXElement(t.optionGroupTemplate,n,l):t.getOptionGroupLabel(n),a=y(n,o),c=l+"_"+t.getOptionGroupRenderKey(n);return e.createElement(e.Fragment,{key:c},e.createElement("li",{className:"p-multiselect-item-group",style:o},i),a)}var s=t.getOptionLabel(n),p=l+"_"+t.getOptionRenderKey(n),f=t.isOptionDisabled(n),m=f?null:t.tabIndex||0,d=t.isSelected(n);return e.createElement(T,{key:p,label:s,option:n,style:o,template:t.itemTemplate,selected:d,onClick:t.onOptionSelect,onKeyDown:t.onOptionKeyDown,tabIndex:m,disabled:f})},S=function(){if(t.virtualScrollerOptions){var n=j(j({},t.virtualScrollerOptions),{style:j(j({},t.virtualScrollerOptions.style),{height:t.scrollHeight}),className:p("p-multiselect-items-wrapper",t.virtualScrollerOptions.className),items:t.visibleOptions,autoSize:!0,onLazyLoad:function(e){return t.virtualScrollerOptions.onLazyLoad(j(j({},e),{filter:t.filterValue}))},itemTemplate:function(e,t){return e&&O(e,t.index,t)},contentTemplate:function(n){var l=p("p-multiselect-items p-component",n.className),r=t.visibleOptions&&t.visibleOptions.length||!t.hasFilter?n.children:E();return e.createElement("ul",{ref:n.contentRef,className:l,role:"listbox","aria-multiselectable":!0},r)}});return e.createElement(b,g({ref:s},n))}var l=u.isNotEmpty(t.visibleOptions)?t.visibleOptions.map(O):t.hasFilter?E():null;return e.createElement("div",{className:"p-multiselect-items-wrapper",style:{maxHeight:t.scrollHeight}},e.createElement("ul",{className:"p-multiselect-items p-component",role:"listbox","aria-multiselectable":!0},l))},x=(r=t.allowOptionSelect(),o=p("p-multiselect-panel p-component",{"p-multiselect-limited":!r},t.panelClassName),i=e.createElement(A,{filter:t.filter,filterValue:t.filterValue,filterTemplate:t.filterTemplate,onFilter:m,filterPlaceholder:t.filterPlaceholder,onClose:t.onCloseClick,showSelectAll:t.showSelectAll,selectAll:t.isAllSelected(),onSelectAll:t.onSelectAll,template:t.panelHeaderTemplate}),a=S(),c=h(),e.createElement(d,{nodeRef:l,classNames:"p-connected-overlay",in:t.in,timeout:{enter:120,exit:100},options:t.transitionOptions,unmountOnExit:!0,onEnter:f,onEntered:t.onEntered,onExit:t.onExit,onExited:t.onExited},e.createElement("div",{ref:l,className:o,style:t.panelStyle,onClick:t.onClick},i,a,c)));return e.createElement(v,{element:x,appendTo:t.appendTo})})));function K(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,l)}return n}function M(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?K(Object(n),!0).forEach((function(t){E(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):K(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function G(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=H(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var l=0,r=function(){};return{s:r,n:function(){return l>=e.length?{done:!0}:{done:!1,value:e[l++]}},e:function(e){throw e},f:r}}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,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,o=e},f:function(){try{i||null==n.return||n.return()}finally{if(a)throw o}}}}function H(e,t){if(e){if("string"==typeof e)return V(e,t);var n=Object.prototype.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)?V(e,t):void 0}}function V(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,l=new Array(t);n<t;n++)l[n]=e[n];return l}R.displayName="MultiSelectPanel";var J=e.memo(e.forwardRef((function(n,d){var v=L(e.useState(""),2),b=v[0],h=v[1],y=L(e.useState(!1),2),O=y[0],S=y[1],x=L(e.useState(!1),2),k=x[0],w=x[1],C=e.useRef(null),N=e.useRef(n.inputRef),D=e.useRef(null),F=e.useRef(null),A=b&&b.trim().length>0,T=u.isEmpty(n.value),P=n.optionValue?null:n.dataKey,j=L(o({target:C,overlay:F,listener:function(e,t){t.valid&&("outside"===t.type?!Z(e)&&Y():Y())},when:k}),2),K=j[0],H=j[1],V=function(){return!n.selectionLimit||!n.value||n.value&&n.value.length<n.selectionLimit},X=function(e){var t=e.originalEvent,l=e.option;if(!n.disabled&&!ie(l)){var r=re(l),o=ae(l),i=ee(l),a=V();i?_(t,n.value.filter((function(e){return!u.equals(o?e:re(e),r,P)}))):a&&_(t,[].concat(I(n.value||[]),[r]))}},q=function e(t){var n=t.nextElementSibling;return n?s.hasClass(n,"p-disabled")||s.hasClass(n,"p-multiselect-item-group")?e(n):n:null},B=function e(t){var n=t.previousElementSibling;return n?s.hasClass(n,"p-disabled")||s.hasClass(n,"p-multiselect-item-group")?e(n):n:null},_=function(e,t){n.onChange&&n.onChange({originalEvent:e,value:t,stopPropagation:function(){},preventDefault:function(){},target:{name:n.name,id:n.id,value:t}})},z=function(){h(""),n.onFilter&&n.onFilter({filter:""})},U=function(){w(!0)},Y=function(){w(!1)},$=function(){s.alignOverlay(F.current,D.current.parentElement,n.appendTo||t.appendTo)},Z=function(e){return s.hasClass(e.target,"p-multiselect-clear-icon")},Q=function(e){return F.current&&F.current.contains(e.target)},W=function(e,t){return t.findIndex((function(t){return e.some((function(e){return u.equals(e,re(t),P)}))}))},ee=function(e){if(n.value){var t=re(e),l=ae(e);return n.value.some((function(e){return u.equals(l?e:re(e),t,P)}))}return!1},te=function(e){var t;if(n.options)if(n.optionGroupLabel){var l,r=G(n.options);try{for(r.s();!(l=r.n()).done;){if(t=ne(e,oe(l.value)))break}}catch(e){r.e(e)}finally{r.f()}}else t=ne(e,n.options);return t?le(t):null},ne=function(e,t){return t.find((function(t){return u.equals(re(t),e,P)}))},le=function(e){return n.optionLabel?u.resolveFieldData(e,n.optionLabel):e&&void 0!==e.label?e.label:e},re=function(e){if(n.optionValue){var t=u.resolveFieldData(e,n.optionValue);return null!==t?t:e}return e&&void 0!==e.value?e.value:e},oe=function(e){return u.resolveFieldData(e,n.optionGroupChildren)},ie=function(e){return n.optionDisabled?u.isFunction(n.optionDisabled)?n.optionDisabled(e):u.resolveFieldData(e,n.optionDisabled):!(!e||void 0===e.disabled)&&e.disabled},ae=function(e){return n.optionValue||e&&void 0!==e.value},ce=function(e,t){var l=n.value.filter((function(e){return!u.equals(e,t,P)}));_(e,l)},ue=function(){var e=/{(.*?)}/;return e.test(n.selectedItemsLabel)?n.selectedItemsLabel.replace(n.selectedItemsLabel.match(e)[0],n.value.length+""):n.selectedItemsLabel},se=function(){if(!T&&!n.fixedPlaceholder)return u.isNotEmpty(n.maxSelectedLabels)&&n.value.length>n.maxSelectedLabels?ue():n.value.reduce((function(e,t,n){return e+(0!==n?",":"")+te(t)}),"")};e.useImperativeHandle(d,(function(){return{props:n,show:U,hide:Y,getElement:function(){return C.current},getOverlay:function(){return F.current},getInput:function(){return N.current}}})),e.useEffect((function(){u.combinedRefs(N,n.inputRef)}),[N,n.inputRef]),r((function(){k&&A&&$()}),[k,A]),i((function(){m.clear(F.current)}));var pe=function(){if(A){var e=b.trim().toLocaleLowerCase(n.filterLocale),t=n.filterBy?n.filterBy.split(","):[n.optionLabel||"label"];if(n.optionGroupLabel){var r,o=[],i=G(n.options);try{for(i.s();!(r=i.n()).done;){var a=r.value,c=l.filter(oe(a),t,e,n.filterMatchMode,n.filterLocale);c&&c.length&&o.push(M(M({},a),E({},n.optionGroupChildren,c)))}}catch(e){i.e(e)}finally{i.f()}return o}return l.filter(n.options,t,e,n.filterMatchMode,n.filterLocale)}return n.options}(),fe=u.isNotEmpty(n.tooltip),me=u.findDiffKeys(n,J.defaultProps),de=u.reduceKeys(me,s.ARIA_PROPS),ve=p("p-multiselect p-component p-inputwrapper",{"p-multiselect-chip":"chip"===n.display,"p-disabled":n.disabled,"p-multiselect-clearable":n.showClear&&!n.disabled,"p-focus":O,"p-inputwrapper-filled":u.isNotEmpty(n.value),"p-inputwrapper-focus":O||k},n.className),be=function(){var t=n.selectedItemTemplate?T?u.getJSXElement(n.selectedItemTemplate):u.isNotEmpty(n.maxSelectedLabels)&&n.value.length>n.maxSelectedLabels?ue():n.value.map((function(t,l){var r=u.getJSXElement(n.selectedItemTemplate,t);return e.createElement(e.Fragment,{key:l},r)})):"chip"!==n.display||T?se():n.value.slice(0,n.maxSelectedLabels||n.value.length).map((function(t){var l=te(t),r=!n.disabled&&f.getJSXIcon(n.removeIcon,{className:"p-multiselect-token-icon",onClick:function(e){return ce(e,t)}},{props:n});return e.createElement("div",{className:"p-multiselect-token",key:l},e.createElement("span",{className:"p-multiselect-token-label"},l),r)})),l=p("p-multiselect-label",{"p-placeholder":T&&n.placeholder,"p-multiselect-label-empty":T&&!n.placeholder&&!n.selectedItemTemplate,"p-multiselect-items-label":!T&&"chip"!==n.display&&n.value.length>n.maxSelectedLabels});return e.createElement("div",{ref:D,className:"p-multiselect-label-container"},e.createElement("div",{className:l},t||n.placeholder||"empty"))}(),he=T||!n.showClear||n.disabled?null:e.createElement("i",{className:"p-multiselect-clear-icon pi pi-times",onClick:function(e){return _(e,null)}});return e.createElement(e.Fragment,null,e.createElement("div",g({ref:C,id:n.id,style:n.style,className:ve},me,{onClick:function(e){n.disabled||Q(e)||s.hasClass(e.target,"p-multiselect-token-icon")||Z(e)||(k?Y():U(),s.focus(N.current),e.preventDefault())}}),e.createElement("div",{className:"p-hidden-accessible"},e.createElement("input",g({ref:N,id:n.inputId,name:n.name,readOnly:!0,type:"text",onFocus:function(e){S(!0),n.onFocus&&n.onFocus(e)},onBlur:function(e){S(!1),n.onBlur&&n.onBlur(e)},onKeyDown:function(e){switch(e.which){case 40:!k&&e.altKey&&(U(),e.preventDefault());break;case 32:k?Y():U(),e.preventDefault();break;case 27:Y();break;case 9:if(k){var t=s.getFirstFocusableElement(F.current);t&&(t.focus(),e.preventDefault())}}},role:"listbox","aria-expanded":k,disabled:n.disabled,tabIndex:n.tabIndex},de))),be,he,e.createElement("div",{className:"p-multiselect-trigger"},f.getJSXIcon(n.dropdownIcon,{className:"p-multiselect-trigger-icon p-c"},{props:n})),e.createElement(R,g({ref:F,visibleOptions:pe},n,{onClick:function(e){a.emit("overlay-click",{originalEvent:e,target:C.current})},onOverlayHide:Y,filterValue:b,hasFilter:A,onFilterInputChange:function(e){var t=e.query;h(t),n.onFilter&&n.onFilter({originalEvent:e,filter:t})},resetFilter:z,onCloseClick:function(e){Y(),s.focus(N.current),e.preventDefault(),e.stopPropagation()},onSelectAll:function(e){if(n.onSelectAll)n.onSelectAll(e);else{var t=null;if(e.checked){if(t=[],pe){var l=pe.filter((function(e){return ie(e)&&ee(e)}));t=l.map((function(e){return re(e)}))}}else if(pe){var r=pe.filter((function(e){return!ie(e)}));n.optionGroupLabel?(t=[],r.forEach((function(e){return t=[].concat(I(t),I(oe(e).filter((function(e){return!ie(e)})).map((function(e){return re(e)}))))}))):t=r.map((function(e){return re(e)}))}_(e.originalEvent,t)}},getOptionLabel:le,getOptionRenderKey:function(e){return n.dataKey?u.resolveFieldData(e,n.dataKey):le(e)},isOptionDisabled:ie,getOptionGroupChildren:oe,getOptionGroupLabel:function(e){return u.resolveFieldData(e,n.optionGroupLabel)},getOptionGroupRenderKey:function(e){return u.resolveFieldData(e,n.optionGroupLabel)},isSelected:ee,getSelectedOptionIndex:function(){if(null!=n.value&&n.options){if(n.optionGroupLabel){var e=0,t=n.options.findIndex((function(t,l){return(e=l)&&-1!==W(n.value,oe(t))}));return-1!==t?{group:e,option:t}:-1}return W(n.value,n.options)}return-1},isAllSelected:function(){if(n.onSelectAll)return n.selectAll;if(u.isEmpty(pe))return!1;var e=pe.filter((function(e){return!ie(e)}));if(!n.optionGroupLabel)return!e.some((function(e){return!ee(e)}));var t,l=G(e);try{for(l.s();!(t=l.n()).done;){return!oe(t.value).filter((function(e){return!ie(e)})).some((function(e){return!ee(e)}))}}catch(e){l.e(e)}finally{l.f()}return!0},onOptionSelect:X,allowOptionSelect:V,onOptionKeyDown:function(e){var t=e.originalEvent,n=t.currentTarget;switch(t.which){case 40:var l=q(n);l&&l.focus(),t.preventDefault();break;case 38:var r=B(n);r&&r.focus(),t.preventDefault();break;case 13:case 32:X(e),t.preventDefault();break;case 27:Y(),s.focus(N.current)}},in:k,onEnter:function(e){var n;m.set("overlay",F.current,t.autoZIndex,t.zIndex.overlay),$(),(n=s.findSingle(F.current,"li.p-highlight"))&&n.scrollIntoView&&n.scrollIntoView({block:"nearest",inline:"nearest"}),e&&e()},onEntered:function(){K(),n.onShow&&n.onShow()},onExit:function(){H()},onExited:function(){n.filter&&n.resetFilterOnHide&&z(),m.clear(F.current),n.onHide&&n.onHide()}}))),fe&&e.createElement(c,g({target:C,content:n.tooltip},n.tooltipOptions)))})));J.displayName="MultiSelect",J.defaultProps={__TYPE:"MultiSelect",appendTo:null,ariaLabelledBy:null,className:null,dataKey:null,disabled:!1,display:"comma",dropdownIcon:"pi pi-chevron-down",emptyFilterMessage:null,filter:!1,filterBy:null,filterLocale:void 0,filterMatchMode:"contains",filterPlaceholder:null,filterTemplate:null,fixedPlaceholder:!1,id:null,inputId:null,inputRef:null,itemTemplate:null,maxSelectedLabels:null,name:null,onBlur:null,onChange:null,onFilter:null,onFocus:null,onHide:null,onSelectAll:null,onShow:null,optionDisabled:null,optionGroupChildren:null,optionGroupLabel:null,optionGroupTemplate:null,optionLabel:null,optionValue:null,options:null,panelClassName:null,panelFooterTemplate:null,panelHeaderTemplate:null,panelStyle:null,placeholder:null,removeIcon:"pi pi-times-circle",resetFilterOnHide:!1,scrollHeight:"200px",selectAll:!1,selectedItemTemplate:null,selectedItemsLabel:"{0} items selected",selectionLimit:null,showClear:!1,showSelectAll:!0,style:null,tabIndex:0,tooltip:null,tooltipOptions:null,transitionOptions:null,value:null,virtualScrollerOptions:null};export{J as MultiSelect};