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) • 7.39 kB
JavaScript
Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("primereact/api"),n=require("primereact/csstransition"),r=require("primereact/hooks"),l=require("primereact/inputtext"),a=require("primereact/overlayservice"),o=require("primereact/portal"),u=require("primereact/utils");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function s(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 c=s(e),p=i(t);function f(){return f=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},f.apply(this,arguments)}function d(e){if(Array.isArray(e))return e}function m(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,l,a,o,u=[],i=!0,s=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;i=!1}else for(;!(i=(r=a.call(n)).done)&&(u.push(r.value),u.length!==t);i=!0);}catch(e){s=!0,l=e}finally{try{if(!i&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(s)throw l}}return u}}function g(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 y(e,t){if(e){if("string"==typeof e)return g(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)?g(e,t):void 0}}function b(){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 v(e,t){return d(e)||m(e,t)||y(e,t)||b()}var w={defaultProps:{__TYPE:"Password",id:null,inputId:null,inputRef:null,promptLabel:null,weakLabel:null,mediumLabel:null,strongLabel:null,mediumRegex:"^(((?=.*[a-z])(?=.*[A-Z]))|((?=.*[a-z])(?=.*[0-9]))|((?=.*[A-Z])(?=.*[0-9])))(?=.{6,})",strongRegex:"^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.{8,})",feedback:!0,toggleMask:!1,appendTo:null,header:null,content:null,footer:null,icon:null,tooltip:null,tooltipOptions:null,style:null,className:null,inputStyle:null,inputClassName:null,panelStyle:null,panelClassName:null,transitionOptions:null,onInput:null,onShow:null,onHide:null,children:void 0},getProps:function(e){return u.ObjectUtils.getMergedProps(e,w.defaultProps)},getOtherProps:function(e){return u.ObjectUtils.getDiffProps(e,w.defaultProps)}},h=c.memo(c.forwardRef((function(e,i){var s=w.getProps(e),d=s.promptLabel||t.localeOption("passwordPrompt"),m=s.weakLabel||t.localeOption("weak"),g=s.mediumLabel||t.localeOption("medium"),y=s.strongLabel||t.localeOption("strong"),b=v(c.useState(!1),2),h=b[0],O=b[1],E=v(c.useState(null),2),x=E[0],j=E[1],k=v(c.useState(d),2),S=k[0],R=k[1],N=v(c.useState(!1),2),P=N[0],U=N[1],I=v(c.useState(!1),2),C=I[0],H=I[1],A=c.useRef(null),L=c.useRef(null),T=c.useRef(s.inputRef),q=c.useRef(new RegExp(s.mediumRegex)),D=c.useRef(new RegExp(s.strongRegex)),M=C?"text":"password",Z=v(r.useOverlayListener({target:A,overlay:L,listener:function(e,t){t.valid&&Y()},when:h}),2),_=Z[0],z=Z[1],F=T.current&&T.current.value,J=c.useMemo((function(){return u.ObjectUtils.isNotEmpty(s.value)||u.ObjectUtils.isNotEmpty(s.defaultValue)||u.ObjectUtils.isNotEmpty(F)}),[s.value,s.defaultValue,F]),X=function(){if(x){var e=null;switch(x.strength){case"weak":e=m;break;case"medium":e=g;break;case"strong":e=y}e&&S!==e&&R(e)}else S!==d&&R(d)},B=function(e){s.feedback&&a.OverlayService.emit("overlay-click",{originalEvent:e,target:A.current})},K=function(){H((function(e){return!e}))},V=function(){X(),O(!0)},Y=function(){O(!1)},$=function(){u.ZIndexUtils.set("overlay",L.current,p.default.autoZIndex,p.default.zIndex.overlay),T.current&&u.DomHandler.alignOverlay(L.current,T.current.parentElement,s.appendTo||p.default.appendTo)},G=function(){_(),s.onShow&&s.onShow()},Q=function(){z()},W=function(){u.ZIndexUtils.clear(L.current),s.onHide&&s.onHide()},ee=function(e){return D.current.test(e)?3:q.current.test(e)?2:e.length?1:0};c.useImperativeHandle(i,(function(){return{props:s,focus:function(){return u.DomHandler.focus(T.current)},getElement:function(){return A.current},getOverlay:function(){return L.current},getInput:function(){return T.current}}})),c.useEffect((function(){u.ObjectUtils.combinedRefs(T,s.inputRef)}),[T,s.inputRef]),c.useEffect((function(){q.current=new RegExp(s.mediumRegex)}),[s.mediumRegex]),c.useEffect((function(){D.current=new RegExp(s.strongRegex)}),[s.strongRegex]),c.useEffect((function(){!J&&u.DomHandler.hasClass(A.current,"p-inputwrapper-filled")&&u.DomHandler.removeClass(A.current,"p-inputwrapper-filled")}),[J]),r.useUnmountEffect((function(){u.ZIndexUtils.clear(L.current)}));var te,ne,re,le,ae,oe,ue,ie=u.classNames("p-password p-component p-inputwrapper",{"p-inputwrapper-filled":J,"p-inputwrapper-focus":P,"p-input-icon-right":s.toggleMask},s.className),se=u.classNames("p-password-input",s.inputClassName),ce=w.getOtherProps(s),pe=function(){if(s.toggleMask){var e=C?"pi pi-eye-slash":"pi pi-eye",t=c.createElement("i",{className:e,onClick:K});if(s.icon)t=u.ObjectUtils.getJSXElement(s.icon,{onClick:K,className:e,element:t,props:s});return t}return null}(),fe=(te=u.classNames("p-password-panel p-component",s.panelClassName,{"p-input-filled":"filled"===p.default.inputStyle,"p-ripple-disabled":!1===p.default.ripple}),re=(ne=x||{strength:"",width:"0%"}).strength,le=ne.width,ae=u.ObjectUtils.getJSXElement(s.header,s),oe=u.ObjectUtils.getJSXElement(s.footer,s),ue=s.content?u.ObjectUtils.getJSXElement(s.content,s):c.createElement(c.Fragment,null,c.createElement("div",{className:"p-password-meter"},c.createElement("div",{className:"p-password-strength ".concat(re),style:{width:le}})),c.createElement("div",{className:"p-password-info ".concat(re)},S)),c.createElement(o.Portal,{element:c.createElement(n.CSSTransition,{nodeRef:L,classNames:"p-connected-overlay",in:h,timeout:{enter:120,exit:100},options:s.transitionOptions,unmountOnExit:!0,onEnter:$,onEntered:G,onExit:Q,onExited:W},c.createElement("div",{ref:L,className:te,style:s.panelStyle,onClick:B},ae,ue,oe)),appendTo:s.appendTo}));return c.createElement("div",{ref:A,id:s.id,className:ie,style:s.style},c.createElement(l.InputText,f({ref:T,id:s.inputId},ce,{type:M,className:se,style:s.inputStyle,onFocus:function(e){U(!0),s.feedback&&V(),s.onFocus&&s.onFocus(e)},onBlur:function(e){U(!1),s.feedback&&Y(),s.onBlur&&s.onBlur(e)},onKeyUp:function(e){var t=e.keyCode||e.which;if(s.feedback){var n=null,r=null;switch(ee(e.target.value)){case 1:n=m,r={strength:"weak",width:"33.33%"};break;case 2:n=g,r={strength:"medium",width:"66.66%"};break;case 3:n=y,r={strength:"strong",width:"100%"};break;default:n=d,r=null}j(r),R(n),t&&!h&&V()}s.onKeyUp&&s.onKeyUp(e)},onInput:function(e,t){s.onInput&&s.onInput(e,t),s.onChange||(u.ObjectUtils.isNotEmpty(e.target.value)?u.DomHandler.addClass(A.current,"p-inputwrapper-filled"):u.DomHandler.removeClass(A.current,"p-inputwrapper-filled"))},tooltip:s.tooltip,tooltipOptions:s.tooltipOptions})),pe,fe)})));h.displayName="Password",exports.Password=h;
;