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) 13.9 kB
this.primereact=this.primereact||{},this.primereact.treeselect=function(e,t,n,r,l,o,a,i,c,u){"use strict";function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function p(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 f=p(t),d=s(n);function m(){return m=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},m.apply(this,arguments)}function y(e){return y="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},y(e)}function v(e,t){if("object"!==y(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==y(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}function b(e){var t=v(e,"string");return"symbol"===y(t)?t:String(t)}function h(e,t,n){return(t=b(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function g(e){if(Array.isArray(e))return e}function E(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,l,o,a,i=[],c=!0,u=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=o.call(n)).done)&&(i.push(r.value),i.length!==t);c=!0);}catch(e){u=!0,l=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(u)throw l}}return i}}function O(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function S(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 N(){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 j(e,t){return g(e)||E(e,t)||S(e,t)||N()}var w={defaultProps:{__TYPE:"TreeSelect",appendTo:null,ariaLabel:null,ariaLabelledBy:null,className:null,disabled:!1,display:"comma",dropdownIcon:"pi pi-chevron-down",emptyMessage:null,expandedKeys:null,filter:!1,filterBy:"label",filterInputAutoFocus:!0,filterLocale:void 0,filterMode:"lenient",filterPlaceholder:null,filterTemplate:null,filterValue:null,inputId:null,inputRef:null,metaKeySelection:!0,name:null,onChange:null,onFilterValueChange:null,onHide:null,onNodeCollapse:null,onNodeExpand:null,onNodeSelect:null,onNodeUnselect:null,onShow:null,options:null,panelClassName:null,panelFooterTemplate:null,panelHeaderTemplate:null,panelStyle:null,placeholder:null,resetFilterOnHide:!1,scrollHeight:"400px",selectionMode:"single",style:null,tabIndex:null,transitionOptions:null,value:null,valueTemplate:null,children:void 0},getProps:function(e){return i.ObjectUtils.getMergedProps(e,w.defaultProps)},getOtherProps:function(e){return i.ObjectUtils.getDiffProps(e,w.defaultProps)}},x=f.forwardRef((function(e,t){var n,r,l=(n={maxHeight:e.scrollHeight||"auto"},r=i.classNames("p-treeselect-panel p-component",e.panelClassName,{"p-input-filled":"filled"===d.default.inputStyle,"p-ripple-disabled":!1===d.default.ripple}),f.createElement(c.CSSTransition,{nodeRef:t,classNames:"p-connected-overlay",in:e.in,timeout:{enter:120,exit:100},options:e.transitionOptions,unmountOnExit:!0,onEnter:e.onEnter,onEntering:e.onEntering,onEntered:e.onEntered,onExit:e.onExit,onExited:e.onExited},f.createElement("div",{ref:t,className:r,style:e.panelStyle,onClick:e.onClick},e.header,f.createElement("div",{className:"p-treeselect-items-wrapper",style:n},e.children),e.footer)));return f.createElement(u.Portal,{element:l,appendTo:e.appendTo})}));function P(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 C(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){h(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}function T(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 r=0,l=function(){};return{s:l,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:l}}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,a=!0,i=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){i=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(i)throw o}}}}function k(e,t){if(e){if("string"==typeof e)return I(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)?I(e,t):void 0}}function I(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}x.displayName="TreeSelectPanel";var U=f.memo(f.forwardRef((function(e,t){var c=w.getProps(e),u=j(f.useState(!1),2),s=u[0],p=u[1],y=j(f.useState(!1),2),v=y[0],b=y[1],g=j(f.useState(c.expandedKeys),2),E=g[0],O=g[1],S=j(f.useState(""),2),N=S[0],P=S[1],k=f.useRef(null),I=f.useRef(null),U=f.useRef(null),H=f.useRef(c.inputRef),D=f.useRef(null),R=f.useRef(null),A=c.onToggle?c.expandedKeys:E,M=c.onFilterValueChange?c.filterValue:N,F=i.ObjectUtils.isEmpty(c.value),K=i.ObjectUtils.isEmpty(c.options),V="single"===c.selectionMode,_="checkbox"===c.selectionMode,L={filter:function(e){return le(e)},reset:function(){return oe()}},B=j(r.useOverlayListener({target:k,overlay:I,listener:function(e,t){t.valid&&$()},when:v}),2),J=B[0],X=B[1],Z=function(){return ye.length?ye.map((function(e){return e.label})).join(", "):c.placeholder},z=function(){b(!0)},$=function(){b(!1)},Y=function(){p(!0)},q=function(){p(!1)},G=function(e){c.onChange&&(R.current=!0,c.onChange({originalEvent:e.originalEvent,value:e.value,stopPropagation:function(){},preventDefault:function(){},target:{name:c.name,id:c.id,value:e.value}}))},Q=function(e){c.onNodeSelect&&c.onNodeSelect(e),V&&$()},W=function(e){c.onNodeUnselect&&c.onNodeUnselect(e)},ee=function(e){c.onToggle?c.onToggle(e):O(e.value)},te=function(e){P(e.value)},ne=function(e){switch(e.which){case 40:!v&&e.altKey&&z();break;case 32:v||(z(),e.preventDefault());break;case 13:case 27:v&&($(),e.preventDefault());break;case 9:$()}},re=function(e){13===e.which&&e.preventDefault()},le=function(e){var t=e.target.value;c.onFilterValueChange?c.onFilterValueChange({originalEvent:e,value:t}):P(t)},oe=function(){P("")},ae=function(){i.DomHandler.alignOverlay(I.current,D.current.parentElement,c.appendTo||d.default.appendTo)},ie=function(){var e=i.DomHandler.findSingle(I.current,".p-treenode-content.p-highlight");e&&e.scrollIntoView&&e.scrollIntoView({block:"nearest",inline:"start"})},ce=function e(t,n,r){if(t){if(ue(t,n)&&(r.push(t),delete n[t.key]),Object.keys(n).length&&t.children){var l,o=T(t.children);try{for(o.s();!(l=o.n()).done;){e(l.value,n,r)}}catch(e){o.e(e)}finally{o.f()}}}else{var a,i=T(c.options);try{for(i.s();!(a=i.n()).done;){e(a.value,n,r)}}catch(e){i.e(e)}finally{i.f()}}},ue=function(e,t){return _?t[e.key]&&t[e.key].checked:t[e.key]},se=function(){var e=V?h({},"".concat(c.value),!0):C({},c.value);O({}),e&&c.options&&pe(null,null,e)},pe=function e(t,n,r){if(t){if(ue(t,r)&&(fe(n),delete r[t.key]),Object.keys(r).length&&t.children){var l,o=T(t.children);try{for(o.s();!(l=o.n()).done;){var a=l.value;n.push(t.key),e(a,n,r)}}catch(e){o.e(e)}finally{o.f()}}}else{var i,u=T(c.options);try{for(u.s();!(i=u.n()).done;){e(i.value,[],r)}}catch(e){u.e(e)}finally{u.f()}}},fe=function(e){if(e.length>0){var t,n=C({},E||{}),r=T(e);try{for(r.s();!(t=r.n()).done;){n[t.value]=!0}}catch(e){r.e(e)}finally{r.f()}O(n)}};f.useImperativeHandle(t,(function(){return{props:c,focus:function(){return i.DomHandler.focus(H.current)},getElement:function(){return k.current}}})),f.useEffect((function(){i.ObjectUtils.combinedRefs(H,c.inputRef)}),[H,c.inputRef]),r.useMountEffect((function(){se()})),r.useUpdateEffect((function(){v&&c.filter&&ae()})),r.useUpdateEffect((function(){se()}),[c.options]),r.useUpdateEffect((function(){v&&E&&ae()}),[E]),r.useUpdateEffect((function(){v&&(R.current||se(),R.current=!1)}),[c.value]),r.useUnmountEffect((function(){i.ZIndexUtils.clear(I.current)}));var de,me=function(){if(c.filter){var e=i.ObjectUtils.isNotEmpty(M)?M:"",t=f.createElement("div",{className:"p-treeselect-filter-container"},f.createElement("input",{ref:U,type:"text",value:e,autoComplete:"off",className:"p-treeselect-filter p-inputtext p-component",placeholder:c.filterPlaceholder,onKeyDown:re,onChange:le,disabled:c.disabled}),f.createElement("span",{className:"p-treeselect-filter-icon pi pi-search"}));if(c.filterTemplate)t=i.ObjectUtils.getJSXElement(c.filterTemplate,{className:"p-treeselect-filter-container",element:t,filterOptions:L,filterInputKeyDown:re,filterInputChange:le,filterIconClassName:"p-dropdown-filter-icon pi pi-search",props:c});return f.createElement(f.Fragment,null,t)}},ye=function(){var e=[];if(i.ObjectUtils.isNotEmpty(c.value)&&c.options){var t=V?h({},"".concat(c.value),!0):C({},c.value);ce(null,t,e)}return e}(),ve=w.getOtherProps(c),be=i.ObjectUtils.reduceKeys(ve,i.DomHandler.ARIA_PROPS),he=i.classNames("p-treeselect p-component p-inputwrapper",{"p-treeselect-chip":"chip"===c.display,"p-disabled":c.disabled,"p-focus":s,"p-inputwrapper-filled":!F,"p-inputwrapper-focus":s||v},c.className),ge=f.createElement("div",{className:"p-hidden-accessible"},f.createElement("input",m({ref:H,role:"listbox",id:c.inputId,type:"text",readOnly:!0,"aria-expanded":v,onFocus:Y,onBlur:q,onKeyDown:ne,disabled:c.disabled,tabIndex:c.tabIndex},be))),Ee=function(){var e=i.classNames("p-treeselect-label",{"p-placeholder":Z()===c.placeholder,"p-treeselect-label-empty":!c.placeholder&&F}),t=null;return c.valueTemplate?t=i.ObjectUtils.getJSXElement(c.valueTemplate,ye,c):"comma"===c.display?t=Z()||"empty":"chip"===c.display&&(t=f.createElement(f.Fragment,null,ye&&ye.map((function(e,t){return f.createElement("div",{className:"p-treeselect-token",key:"".concat(e.key,"_").concat(t)},f.createElement("span",{className:"p-treeselect-token-label"},e.label))})),F&&(c.placeholder||"empty"))),f.createElement("div",{className:"p-treeselect-label-container"},f.createElement("div",{className:e},t))}(),Oe=(de=i.classNames("p-treeselect-trigger-icon p-clickable",c.dropdownIcon),f.createElement("div",{ref:D,className:"p-treeselect-trigger",role:"button","aria-haspopup":"listbox","aria-expanded":v},f.createElement("span",{className:de}))),Se=f.createElement(f.Fragment,null,f.createElement(a.Tree,{value:c.options,selectionMode:c.selectionMode,selectionKeys:c.value,metaKeySelection:c.metaKeySelection,onSelectionChange:G,onSelect:Q,onUnselect:W,expandedKeys:A,onToggle:ee,onExpand:c.onNodeExpand,onCollapse:c.onNodeCollapse,filter:c.filter,filterValue:M,filterBy:c.filterBy,filterMode:c.filterMode,filterPlaceholder:c.filterPlaceholder,filterLocale:c.filterLocale,showHeader:!1,onFilterValueChange:te}),K&&f.createElement("div",{className:"p-treeselect-empty-message"},c.emptyMessage||n.localeOption("emptyMessage"))),Ne=function(){var e=me(),t=f.createElement("button",{type:"button",className:"p-treeselect-close p-link",onClick:$,"aria-label":n.localeOption("close")},f.createElement("span",{className:"p-treeselect-close-icon pi pi-times","aria-hidden":"true"}),f.createElement(o.Ripple,null)),r=f.createElement("div",{className:"p-treeselect-header"},e,t);return c.panelHeaderTemplate?i.ObjectUtils.getJSXElement(c.panelHeaderTemplate,{className:"p-treeselect-header",filterElement:e,closeElement:t,closeElementClassName:"p-treeselect-close p-link",closeIconClassName:"p-treeselect-close-icon pi pi-times",onCloseClick:$,element:r,props:c}):r}(),je=i.ObjectUtils.getJSXElement(c.panelFooterTemplate,c);return f.createElement("div",m({ref:k,className:he,style:c.style},ve,{onClick:function(e){c.disabled||I.current&&I.current.contains(e.target)||i.DomHandler.hasClass(e.target,"p-treeselect-close")||(i.DomHandler.focus(H.current),v?$():z())}}),ge,Ee,Oe,f.createElement(x,{ref:I,appendTo:c.appendTo,panelStyle:c.panelStyle,panelClassName:c.panelClassName,scrollHeight:c.scrollHeight,onClick:function(e){l.OverlayService.emit("overlay-click",{originalEvent:e,target:k.current})},header:Ne,footer:je,transitionOptions:c.transitionOptions,in:v,onEnter:function(){i.ZIndexUtils.set("overlay",I.current,d.default.autoZIndex,d.default.zIndex.overlay),ae(),ie()},onEntered:function(){J(),c.filter&&c.filterInputAutoFocus&&i.DomHandler.focus(U.current,c.filterInputAutoFocus),c.onShow&&c.onShow()},onExit:function(){X()},onExited:function(){c.filter&&c.resetFilterOnHide&&oe(),i.ZIndexUtils.clear(I.current),c.onHide&&c.onHide()}},Se))})));return U.displayName="TreeSelect",e.TreeSelect=U,Object.defineProperty(e,"__esModule",{value:!0}),e}({},React,primereact.api,primereact.hooks,primereact.overlayservice,primereact.ripple,primereact.tree,primereact.utils,primereact.csstransition,primereact.portal);