UNPKG

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