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) • 11.9 kB
JavaScript
Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),n=require("primereact/api"),t=require("primereact/componentbase"),r=require("primereact/hooks"),i=require("primereact/icons/timescircle"),l=require("primereact/keyfilter"),a=require("primereact/tooltip"),o=require("primereact/utils");function u(e){if(e&&e.__esModule)return e;var n=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(n,t,r.get?r:{enumerable:!0,get:function(){return e[t]}})}})),n.default=e,Object.freeze(n)}var c=u(e);function s(e){return s="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},s(e)}function p(e,n){if("object"!=s(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,n||"default");if("object"!=s(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}function f(e){var n=p(e,"string");return"symbol"==s(n)?n:n+""}function d(e,n,t){return(n=f(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function m(){return m=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)({}).hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},m.apply(null,arguments)}function v(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function y(e){if(Array.isArray(e))return v(e)}function b(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function h(e,n){if(e){if("string"==typeof e)return v(e,n);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?v(e,n):void 0}}function g(){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 O(e){return y(e)||b(e)||h(e)||g()}function k(e){if(Array.isArray(e))return e}function w(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,i,l,a,o=[],u=!0,c=!1;try{if(l=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;u=!1}else for(;!(u=(r=l.call(t)).done)&&(o.push(r.value),o.length!==n);u=!0);}catch(e){c=!0,i=e}finally{try{if(!u&&null!=t.return&&(a=t.return(),Object(a)!==a))return}finally{if(c)throw i}}return o}}function x(){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,n){return k(e)||w(e,n)||h(e,n)||x()}var P=t.ComponentBase.extend({defaultProps:{__TYPE:"Chips",addOnBlur:null,allowDuplicate:!0,ariaLabelledBy:null,autoFocus:!1,className:null,disabled:null,id:null,inputId:null,inputRef:null,invalid:!1,variant:null,itemTemplate:null,keyfilter:null,max:null,name:null,onAdd:null,onBlur:null,onChange:null,onFocus:null,onKeyDown:null,onRemove:null,placeholder:null,readOnly:!1,removable:!0,removeIcon:null,separator:null,style:null,tooltip:null,tooltipOptions:null,value:null,children:void 0},css:{classes:{removeTokenIcon:"p-chips-token-icon",label:"p-chips-token-label",token:function(e){return o.classNames("p-chips-token",{"p-focus":e.focusedIndex===e.index})},inputToken:"p-chips-input-token",container:function(e){var n=e.props,t=e.context;return o.classNames("p-inputtext p-chips-multiple-container",{"p-variant-filled":n.variant?"filled"===n.variant:t&&"filled"===t.inputStyle})},root:function(e){var n=e.focusedState;return o.classNames("p-chips p-component p-inputwrapper",{"p-inputwrapper-filled":e.isFilled,"p-inputwrapper-focus":n,"p-disabled":e.disabled,"p-invalid":e.invalid,"p-focus":n})}},styles:"\n@layer primereact {\n .p-chips {\n display: inline-flex;\n }\n \n .p-chips-multiple-container {\n margin: 0;\n padding: 0;\n list-style-type: none;\n cursor: text;\n overflow: hidden;\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n }\n \n .p-chips-token {\n cursor: default;\n display: inline-flex;\n align-items: center;\n flex: 0 0 auto;\n }\n \n .p-chips-input-token {\n flex: 1 1 auto;\n display: inline-flex;\n }\n \n .p-chips-token-icon {\n cursor: pointer;\n }\n \n .p-chips-input-token input {\n border: 0 none;\n outline: 0 none;\n background-color: transparent;\n margin: 0;\n padding: 0;\n box-shadow: none;\n border-radius: 0;\n width: 100%;\n }\n \n .p-fluid .p-chips {\n display: flex;\n }\n \n .p-chips-icon-left,\n .p-chips-icon-right {\n position: relative;\n display: inline-block;\n }\n \n .p-chips-icon-left > i,\n .p-chips-icon-right > i,\n .p-chips-icon-left > svg,\n .p-chips-icon-right > svg,\n .p-chips-icon-left > .p-chips-prefix,\n .p-chips-icon-right > .p-chips-suffix {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n }\n \n .p-fluid .p-chips-icon-left,\n .p-fluid .p-chips-icon-right {\n display: block;\n width: 100%;\n }\n}\n"}});function D(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function E(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?D(Object(t),!0).forEach((function(n){d(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):D(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}var S=c.memo(c.forwardRef((function(e,u){var s=r.useMergeProps(),p=c.useContext(n.PrimeReactContext),f=P.getProps(e,p),d=j(c.useState(!1),2),v=d[0],y=d[1],b=j(c.useState(null),2),h=b[0],g=b[1],k=P.setMetaData({props:f,state:{focused:v}}),w=k.ptm,x=k.cx;t.useHandleStyle(P.css.styles,k.isUnstyled,{name:"chips"});var D=c.useRef(null),S=c.useRef(null),I=c.useRef(f.inputRef),_=function(e,n){if(!f.disabled&&!f.readOnly){var t=O(f.value),r=t.splice(n,1)[0];V(r,n)&&(f.onRemove&&f.onRemove({originalEvent:e,value:r}),f.onChange&&f.onChange({originalEvent:e,value:t,stopPropagation:function(){null==e||e.stopPropagation()},preventDefault:function(){null==e||e.preventDefault()},target:{name:f.name,id:f.id,value:t}}))}},A=function(e,n,t){if(n&&n.trim().length){var r=f.value?O(f.value):[];if(f.allowDuplicate||-1===r.indexOf(n)){var i=!0;f.onAdd&&(i=f.onAdd({originalEvent:e,value:n})),!1!==i&&r.push(n)}B(e,r,t)}},N=function(e){switch(e.code){case"ArrowLeft":R();break;case"ArrowRight":C();break;case"Backspace":T(e)}},R=function(){var e=h;0===I.current.value.length&&f.value&&f.value.length>0&&(e=null===e?f.value.length-1:e-1)<0&&(e=0),g(e)},C=function(){var e=h;0===I.current.value.length&&f.value&&f.value.length>0&&(e===f.value.length-1?(e=null,I.current.focus()):e++),g(e)},T=function(e){null!==h&&_(e,h)},F=function(e){var n=e.target.value,t=f.value||[];if(f.onKeyDown&&f.onKeyDown(e),!e.defaultPrevented)switch(e.key){case"Backspace":0===n.length&&t.length>0&&_(e,t.length-1);break;case"Enter":n&&n.trim().length&&(!f.max||f.max>t.length)&&A(e,n,!0);break;case"ArrowLeft":0===n.length&&t&&t.length>0&&o.DomHandler.focus(S.current);break;case"ArrowRight":e.stopPropagation();break;default:f.keyfilter&&l.KeyFilter.onKeyPress(e,f.keyfilter),L()&&e.preventDefault()}},B=function(e,n,t){f.onChange&&f.onChange({originalEvent:e,value:n,stopPropagation:function(){null==e||e.stopPropagation()},preventDefault:function(){null==e||e.preventDefault()},target:{name:f.name,id:f.id,value:n}}),I.current.value="",t&&e.preventDefault()},K=function(e){var n,t=null===(n=e.target.value)||void 0===n?void 0:n.trim();if(t!==f.separator){if(f.separator&&t.endsWith(f.separator)){var r=t.slice(0,-1);A(e,r)}}else I.current.value=""},U=function(e){if(f.separator){var n=f.separator.replace("\\n","\n").replace("\\r","\r").replace("\\t","\t"),t=(e.clipboardData||window.clipboardData).getData("Text");if(f.keyfilter&&l.KeyFilter.onPaste(e,f.keyfilter),t){var r=f.value||[],i=t.split(n);i=i.filter((function(e){return(f.allowDuplicate||-1===r.indexOf(e))&&e.trim().length})),r=[].concat(O(r),O(i)),B(e,r,!0)}}},q=function(){y(!0)},H=function(){g(-1),y(!1)},M=function(e){if(f.addOnBlur){var n=e.target.value,t=f.value||[];n&&n.trim().length&&(!f.max||f.max>t.length)&&A(e,n,!0)}y(!1),f.onBlur&&f.onBlur(e)},L=function(){return f.max&&f.value&&f.max===f.value.length},z=I.current&&I.current.value,J=c.useMemo((function(){return o.ObjectUtils.isNotEmpty(f.value)||o.ObjectUtils.isNotEmpty(z)}),[f.value,z]),V=function(e,n){return o.ObjectUtils.getPropValue(f.removable,{value:e,index:n,props:f})};c.useImperativeHandle(u,(function(){return{props:f,focus:function(){return o.DomHandler.focus(I.current)},getElement:function(){return D.current},getInput:function(){return I.current}}})),c.useEffect((function(){o.ObjectUtils.combinedRefs(I,f.inputRef)}),[I,f.inputRef]),r.useMountEffect((function(){f.autoFocus&&o.DomHandler.focus(I.current,f.autoFocus)}));var W,X,Y,$,G,Q=function(e,n){if(!f.disabled&&!f.readOnly&&V(e,n)){var t=s({className:x("removeTokenIcon"),onClick:function(e){return _(e,n)},"aria-hidden":"true"},w("removeTokenIcon")),r=f.removeIcon||c.createElement(i.TimesCircleIcon,m({},t,{key:"".concat(n,"_icon")}));return o.IconUtils.getJSXIcon(r,E({},t),{props:f})}return null},Z=function(e,n){var t=f.itemTemplate?f.itemTemplate(e):e,r=s({className:x("label")},w("label")),i=c.createElement("span",m({},r,{key:"".concat(n,"_").concat(e,"_span")}),t),l=Q(e,n),a=s({id:f.inputId+"_chips_item_"+n,role:"option","aria-label":e,className:x("token",{focusedIndex:h,index:n}),"aria-selected":!0,"aria-setsize":f.value.length,"aria-posinset":n+1,"data-p-highlight":!0,"data-p-focused":h===n},w("token"));return c.createElement("li",m({},a,{key:"".concat(n,"_").concat(e)}),i,l)},ee=o.ObjectUtils.isNotEmpty(f.tooltip),ne=P.getOtherProps(f),te=o.ObjectUtils.reduceKeys(ne,o.DomHandler.ARIA_PROPS),re=(Y=f.value?f.value.map(Z):null,W=s({className:x("inputToken")},w("inputToken")),X=s(E({id:f.inputId,ref:I,placeholder:f.placeholder,type:"text",enterKeyHint:"enter",name:f.name,disabled:f.disabled||L(),onKeyDown:function(e){return F(e)},onChange:function(e){return K(e)},onPaste:function(e){return U(e)},onFocus:function(e){return n=e,y(!0),g(null),void(f.onFocus&&f.onFocus(n));var n},onBlur:function(e){return M(e)},readOnly:f.readOnly},te),w("input")),$=c.createElement("li",m({},W,{key:f.inputId+"_chips_input"}),c.createElement("input",X)),G=s({ref:S,className:x("container",{context:p}),onClick:function(e){o.DomHandler.focus(I.current)},onKeyDown:function(e){return N(e)},tabIndex:-1,role:"listbox","aria-orientation":"horizontal","aria-labelledby":f.ariaLabelledby,"aria-label":f.ariaLabel,"aria-activedescendant":v?null!==h?"".concat(f.inputId,"_chips_item_").concat(h):null:void 0,"data-p-disabled":f.disabled,"data-p-focus":v,onFocus:q,onBlur:H},w("container")),c.createElement("ul",G,Y,$)),ie=s({id:f.id,ref:D,className:o.classNames(f.className,x("root",{isFilled:J,focusedState:v,disabled:f.disabled,invalid:f.invalid})),style:f.style},w("root"));return c.createElement(c.Fragment,null,c.createElement("div",m({},ie,{key:"chips"}),re),ee&&c.createElement(a.Tooltip,m({target:I,content:f.tooltip,pt:w("tooltip")},f.tooltipOptions)))})));S.displayName="Chips",exports.Chips=S;
;