UNPKG

primevue

Version:

PrimeVue is an open source UI library for Vue featuring a rich set of 80+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeBloc

2 lines (1 loc) 10 kB
"use strict";var e=require("primevue/icons/eye"),t=require("primevue/icons/eyeslash"),n=require("primevue/inputtext"),l=require("primevue/overlayeventbus"),r=require("primevue/portal"),i=require("primevue/utils"),o=require("primevue/basecomponent"),s=require("primevue/password/style"),a=require("vue");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var c=u(e),d=u(t),p=u(n),h=u(l),m=u(r),f={name:"Password",extends:{name:"BasePassword",extends:u(o).default,props:{modelValue:String,promptLabel:{type:String,default:null},mediumRegex:{type:String,default:"^(((?=.*[a-z])(?=.*[A-Z]))|((?=.*[a-z])(?=.*[0-9]))|((?=.*[A-Z])(?=.*[0-9])))(?=.{6,})"},strongRegex:{type:String,default:"^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.{8,})"},weakLabel:{type:String,default:null},mediumLabel:{type:String,default:null},strongLabel:{type:String,default:null},feedback:{type:Boolean,default:!0},appendTo:{type:String,default:"body"},toggleMask:{type:Boolean,default:!1},hideIcon:{type:String,default:void 0},showIcon:{type:String,default:void 0},disabled:{type:Boolean,default:!1},placeholder:{type:String,default:null},required:{type:Boolean,default:!1},inputId:{type:String,default:null},inputClass:{type:[String,Object],default:null},inputStyle:{type:Object,default:null},inputProps:{type:null,default:null},panelId:{type:String,default:null},panelClass:{type:[String,Object],default:null},panelStyle:{type:Object,default:null},panelProps:{type:null,default:null},ariaLabelledby:{type:String,default:null},ariaLabel:{type:String,default:null}},style:u(s).default,provide:function(){return{$parentInstance:this}}},emits:["update:modelValue","change","focus","blur","invalid"],data:function(){return{overlayVisible:!1,meter:null,infoText:null,focused:!1,unmasked:!1}},mediumCheckRegExp:null,strongCheckRegExp:null,resizeListener:null,scrollHandler:null,overlay:null,mounted:function(){this.infoText=this.promptText,this.mediumCheckRegExp=new RegExp(this.mediumRegex),this.strongCheckRegExp=new RegExp(this.strongRegex)},beforeUnmount:function(){this.unbindResizeListener(),this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null),this.overlay&&(i.ZIndexUtils.clear(this.overlay),this.overlay=null)},methods:{onOverlayEnter:function(e){i.ZIndexUtils.set("overlay",e,this.$primevue.config.zIndex.overlay),i.DomHandler.addStyles(e,{position:"absolute",top:"0",left:"0"}),this.alignOverlay(),this.bindScrollListener(),this.bindResizeListener()},onOverlayLeave:function(){this.unbindScrollListener(),this.unbindResizeListener(),this.overlay=null},onOverlayAfterLeave:function(e){i.ZIndexUtils.clear(e)},alignOverlay:function(){"self"===this.appendTo?i.DomHandler.relativePosition(this.overlay,this.$refs.input.$el):(this.overlay.style.minWidth=i.DomHandler.getOuterWidth(this.$refs.input.$el)+"px",i.DomHandler.absolutePosition(this.overlay,this.$refs.input.$el))},testStrength:function(e){var t=0;return this.strongCheckRegExp.test(e)?t=3:this.mediumCheckRegExp.test(e)?t=2:e.length&&(t=1),t},onInput:function(e){this.$emit("update:modelValue",e.target.value),this.$emit("change",e)},onFocus:function(e){this.focused=!0,this.feedback&&(this.setPasswordMeter(this.modelValue),this.overlayVisible=!0),this.$emit("focus",e)},onBlur:function(e){this.focused=!1,this.feedback&&(this.overlayVisible=!1),this.$emit("blur",e)},onKeyUp:function(e){if(this.feedback){var t=this.checkPasswordStrength(e.target.value),n=t.label;if(this.meter=t.meter,this.infoText=n,"Escape"===e.code)return void(this.overlayVisible&&(this.overlayVisible=!1));this.overlayVisible||(this.overlayVisible=!0)}},setPasswordMeter:function(){if(this.modelValue){var e=this.checkPasswordStrength(this.modelValue),t=e.label;this.meter=e.meter,this.infoText=t,this.overlayVisible||(this.overlayVisible=!0)}},checkPasswordStrength:function(e){var t=null,n=null;switch(this.testStrength(e)){case 1:t=this.weakText,n={strength:"weak",width:"33.33%"};break;case 2:t=this.mediumText,n={strength:"medium",width:"66.66%"};break;case 3:t=this.strongText,n={strength:"strong",width:"100%"};break;default:t=this.promptText,n=null}return{label:t,meter:n}},onInvalid:function(e){this.$emit("invalid",e)},bindScrollListener:function(){var e=this;this.scrollHandler||(this.scrollHandler=new i.ConnectedOverlayScrollHandler(this.$refs.input.$el,(function(){e.overlayVisible&&(e.overlayVisible=!1)}))),this.scrollHandler.bindScrollListener()},unbindScrollListener:function(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()},bindResizeListener:function(){var e=this;this.resizeListener||(this.resizeListener=function(){e.overlayVisible&&!i.DomHandler.isTouchDevice()&&(e.overlayVisible=!1)},window.addEventListener("resize",this.resizeListener))},unbindResizeListener:function(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)},overlayRef:function(e){this.overlay=e},onMaskToggle:function(){this.unmasked=!this.unmasked},onOverlayClick:function(e){h.default.emit("overlay-click",{originalEvent:e,target:this.$el})}},computed:{inputType:function(){return this.unmasked?"text":"password"},filled:function(){return null!=this.modelValue&&this.modelValue.toString().length>0},weakText:function(){return this.weakLabel||this.$primevue.config.locale.weak},mediumText:function(){return this.mediumLabel||this.$primevue.config.locale.medium},strongText:function(){return this.strongLabel||this.$primevue.config.locale.strong},promptText:function(){return this.promptLabel||this.$primevue.config.locale.passwordPrompt},panelUniqueId:function(){return i.UniqueComponentId()+"_panel"}},components:{PInputText:p.default,Portal:m.default,EyeSlashIcon:d.default,EyeIcon:c.default}};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){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?v(Object(n),!0).forEach((function(t){b(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):v(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function b(e,t,n){var l;return(t="symbol"==y(l=k(t,"string"))?l:String(l))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function k(e,t){if("object"!=y(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var l=n.call(e,t||"default");if("object"!=y(l))return l;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}var S=["id"];f.render=function(e,t,n,l,r,i){var o=a.resolveComponent("PInputText"),s=a.resolveComponent("Portal");return a.openBlock(),a.createElementBlock("div",a.mergeProps({class:e.cx("root"),style:e.sx("root")},e.ptm("root"),{"data-pc-name":"password"}),[a.createVNode(o,a.mergeProps({ref:"input",id:e.inputId,type:i.inputType,class:[e.cx("input"),e.inputClass],style:e.inputStyle,value:e.modelValue,"aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel,"aria-controls":e.panelProps&&e.panelProps.id||e.panelId||i.panelUniqueId,"aria-expanded":r.overlayVisible,"aria-haspopup":!0,placeholder:e.placeholder,required:e.required,disabled:e.disabled,onInput:i.onInput,onFocus:i.onFocus,onBlur:i.onBlur,onKeyup:i.onKeyUp,onInvalid:i.onInvalid},e.inputProps,{pt:e.ptm("input"),unstyled:e.unstyled}),null,16,["id","type","class","style","value","aria-labelledby","aria-label","aria-controls","aria-expanded","placeholder","required","disabled","onInput","onFocus","onBlur","onKeyup","onInvalid","pt","unstyled"]),e.toggleMask&&r.unmasked?a.renderSlot(e.$slots,"hideicon",{key:0,onClick:i.onMaskToggle,toggleCallback:i.onMaskToggle},(function(){return[(a.openBlock(),a.createBlock(a.resolveDynamicComponent(e.hideIcon?"i":"EyeSlashIcon"),a.mergeProps({class:e.hideIcon,onClick:i.onMaskToggle},e.ptm("hideIcon")),null,16,["class","onClick"]))]})):a.createCommentVNode("",!0),e.toggleMask&&!r.unmasked?a.renderSlot(e.$slots,"showicon",{key:1,onClick:i.onMaskToggle,toggleCallback:i.onMaskToggle},(function(){return[(a.openBlock(),a.createBlock(a.resolveDynamicComponent(e.showIcon?"i":"EyeIcon"),a.mergeProps({class:e.showIcon,onClick:i.onMaskToggle},e.ptm("showIcon")),null,16,["class","onClick"]))]})):a.createCommentVNode("",!0),a.createElementVNode("span",a.mergeProps({class:"p-hidden-accessible","aria-live":"polite"},e.ptm("hiddenAccesible"),{"data-p-hidden-accessible":!0}),a.toDisplayString(r.infoText),17),a.createVNode(s,{appendTo:e.appendTo},{default:a.withCtx((function(){return[a.createVNode(a.Transition,a.mergeProps({name:"p-connected-overlay",onEnter:i.onOverlayEnter,onLeave:i.onOverlayLeave,onAfterLeave:i.onOverlayAfterLeave},e.ptm("transition")),{default:a.withCtx((function(){return[r.overlayVisible?(a.openBlock(),a.createElementBlock("div",a.mergeProps({key:0,ref:i.overlayRef,id:e.panelId||i.panelUniqueId,class:[e.cx("panel"),e.panelClass],style:e.panelStyle,onClick:t[0]||(t[0]=function(){return i.onOverlayClick&&i.onOverlayClick.apply(i,arguments)})},g(g({},e.panelProps),e.ptm("panel"))),[a.renderSlot(e.$slots,"header"),a.renderSlot(e.$slots,"content",{},(function(){return[a.createElementVNode("div",a.mergeProps({class:e.cx("meter")},e.ptm("meter")),[a.createElementVNode("div",a.mergeProps({class:e.cx("meterLabel"),style:{width:r.meter?r.meter.width:""}},e.ptm("meterLabel")),null,16)],16),a.createElementVNode("div",a.mergeProps({class:e.cx("info")},e.ptm("info")),a.toDisplayString(r.infoText),17)]})),a.renderSlot(e.$slots,"footer")],16,S)):a.createCommentVNode("",!0)]})),_:3},16,["onEnter","onLeave","onAfterLeave"])]})),_:3},8,["appendTo"])],16)},module.exports=f;