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