primevue 3.12.6 → 3.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/autocomplete/AutoComplete.d.ts +5 -0
- package/autocomplete/AutoComplete.vue +15 -12
- package/autocomplete/autocomplete.cjs.js +128 -124
- package/autocomplete/autocomplete.cjs.min.js +1 -1
- package/autocomplete/autocomplete.esm.js +128 -125
- package/autocomplete/autocomplete.esm.min.js +1 -1
- package/autocomplete/autocomplete.js +129 -126
- package/autocomplete/autocomplete.min.js +1 -1
- package/calendar/Calendar.vue +22 -17
- package/calendar/calendar.cjs.js +377 -367
- package/calendar/calendar.cjs.min.js +1 -1
- package/calendar/calendar.esm.js +377 -368
- package/calendar/calendar.esm.min.js +1 -1
- package/calendar/calendar.js +378 -369
- package/calendar/calendar.min.js +1 -1
- package/carousel/Carousel.vue +1 -1
- package/carousel/carousel.cjs.js +1 -1
- package/carousel/carousel.cjs.min.js +1 -1
- package/carousel/carousel.esm.js +1 -1
- package/carousel/carousel.esm.min.js +1 -1
- package/carousel/carousel.js +1 -1
- package/carousel/carousel.min.js +1 -1
- package/cascadeselect/CascadeSelect.vue +7 -11
- package/cascadeselect/cascadeselect.cjs.js +47 -49
- package/cascadeselect/cascadeselect.cjs.min.js +1 -1
- package/cascadeselect/cascadeselect.esm.js +47 -50
- package/cascadeselect/cascadeselect.esm.min.js +1 -1
- package/cascadeselect/cascadeselect.js +48 -51
- package/cascadeselect/cascadeselect.min.js +1 -1
- package/colorpicker/ColorPicker.vue +9 -11
- package/colorpicker/colorpicker.cjs.js +62 -61
- package/colorpicker/colorpicker.cjs.min.js +1 -1
- package/colorpicker/colorpicker.esm.js +62 -62
- package/colorpicker/colorpicker.esm.min.js +1 -1
- package/colorpicker/colorpicker.js +63 -63
- package/colorpicker/colorpicker.min.js +1 -1
- package/column/Column.d.ts +4 -0
- package/confirmpopup/ConfirmPopup.vue +6 -4
- package/confirmpopup/confirmpopup.cjs.js +57 -50
- package/confirmpopup/confirmpopup.cjs.min.js +1 -1
- package/confirmpopup/confirmpopup.esm.js +57 -51
- package/confirmpopup/confirmpopup.esm.min.js +1 -1
- package/confirmpopup/confirmpopup.js +58 -52
- package/confirmpopup/confirmpopup.min.js +1 -1
- package/contextmenu/ContextMenu.vue +6 -4
- package/contextmenu/contextmenu.cjs.js +36 -29
- package/contextmenu/contextmenu.cjs.min.js +1 -1
- package/contextmenu/contextmenu.esm.js +36 -30
- package/contextmenu/contextmenu.esm.min.js +1 -1
- package/contextmenu/contextmenu.js +37 -31
- package/contextmenu/contextmenu.min.js +1 -1
- package/core/core.js +449 -377
- package/core/core.min.js +14 -9
- package/datatable/ColumnFilter.vue +6 -4
- package/datatable/DataTable.d.ts +4 -1
- package/datatable/DataTable.vue +17 -7
- package/datatable/HeaderCell.vue +6 -1
- package/datatable/TableBody.vue +1 -6
- package/datatable/TableHeader.vue +5 -1
- package/datatable/datatable.cjs.js +187 -175
- package/datatable/datatable.cjs.min.js +1 -1
- package/datatable/datatable.esm.js +187 -176
- package/datatable/datatable.esm.min.js +1 -1
- package/datatable/datatable.js +188 -177
- package/datatable/datatable.min.js +1 -1
- package/dialog/Dialog.vue +6 -8
- package/dialog/dialog.cjs.js +103 -103
- package/dialog/dialog.cjs.min.js +1 -1
- package/dialog/dialog.esm.js +103 -104
- package/dialog/dialog.esm.min.js +1 -1
- package/dialog/dialog.js +104 -105
- package/dialog/dialog.min.js +1 -1
- package/dropdown/Dropdown.vue +13 -15
- package/dropdown/dropdown.cjs.js +150 -150
- package/dropdown/dropdown.cjs.min.js +1 -1
- package/dropdown/dropdown.esm.js +150 -151
- package/dropdown/dropdown.esm.min.js +1 -1
- package/dropdown/dropdown.js +151 -152
- package/dropdown/dropdown.min.js +1 -1
- package/galleria/Galleria.vue +5 -3
- package/galleria/galleria.cjs.js +40 -36
- package/galleria/galleria.cjs.min.js +1 -1
- package/galleria/galleria.esm.js +40 -37
- package/galleria/galleria.esm.min.js +1 -1
- package/galleria/galleria.js +41 -38
- package/galleria/galleria.min.js +1 -1
- package/image/Image.vue +6 -2
- package/image/image.cjs.js +74 -61
- package/image/image.cjs.min.js +1 -1
- package/image/image.esm.js +71 -62
- package/image/image.esm.min.js +1 -1
- package/image/image.js +75 -63
- package/image/image.min.js +1 -1
- package/inputnumber/InputNumber.vue +2 -1
- package/inputnumber/inputnumber.cjs.js +2 -1
- package/inputnumber/inputnumber.cjs.min.js +1 -1
- package/inputnumber/inputnumber.esm.js +2 -1
- package/inputnumber/inputnumber.esm.min.js +1 -1
- package/inputnumber/inputnumber.js +2 -1
- package/inputnumber/inputnumber.min.js +1 -1
- package/inputtext/InputText.d.ts +2 -2
- package/inputtext/InputText.vue +1 -0
- package/inputtext/inputtext.cjs.js +1 -0
- package/inputtext/inputtext.cjs.min.js +1 -1
- package/inputtext/inputtext.esm.js +1 -0
- package/inputtext/inputtext.esm.min.js +1 -1
- package/inputtext/inputtext.js +1 -0
- package/inputtext/inputtext.min.js +1 -1
- package/menu/Menu.d.ts +0 -1
- package/menu/Menu.vue +6 -4
- package/menu/menu.cjs.js +87 -80
- package/menu/menu.cjs.min.js +1 -1
- package/menu/menu.esm.js +87 -81
- package/menu/menu.esm.min.js +1 -1
- package/menu/menu.js +88 -82
- package/menu/menu.min.js +1 -1
- package/multiselect/MultiSelect.vue +11 -15
- package/multiselect/multiselect.cjs.js +205 -207
- package/multiselect/multiselect.cjs.min.js +1 -1
- package/multiselect/multiselect.esm.js +205 -208
- package/multiselect/multiselect.esm.min.js +1 -1
- package/multiselect/multiselect.js +206 -209
- package/multiselect/multiselect.min.js +1 -1
- package/overlaypanel/OverlayPanel.vue +7 -3
- package/overlaypanel/overlaypanel.cjs.js +50 -41
- package/overlaypanel/overlaypanel.cjs.min.js +1 -1
- package/overlaypanel/overlaypanel.esm.js +50 -42
- package/overlaypanel/overlaypanel.esm.min.js +1 -1
- package/overlaypanel/overlaypanel.js +51 -43
- package/overlaypanel/overlaypanel.min.js +1 -1
- package/package.json +1 -1
- package/panelmenu/PanelMenuSub.vue +1 -1
- package/panelmenu/panelmenu.cjs.js +1 -1
- package/panelmenu/panelmenu.cjs.min.js +1 -1
- package/panelmenu/panelmenu.esm.js +1 -1
- package/panelmenu/panelmenu.esm.min.js +1 -1
- package/panelmenu/panelmenu.js +1 -1
- package/panelmenu/panelmenu.min.js +1 -1
- package/password/Password.d.ts +2 -2
- package/password/Password.vue +7 -11
- package/password/password.cjs.js +41 -43
- package/password/password.cjs.min.js +1 -1
- package/password/password.esm.js +41 -44
- package/password/password.esm.min.js +1 -1
- package/password/password.js +42 -45
- package/password/password.min.js +1 -1
- package/portal/Portal.d.ts +36 -0
- package/portal/Portal.vue +41 -0
- package/portal/package.json +9 -0
- package/portal/portal.cjs.js +48 -0
- package/portal/portal.cjs.min.js +1 -0
- package/portal/portal.esm.js +46 -0
- package/portal/portal.esm.min.js +1 -0
- package/portal/portal.js +49 -0
- package/portal/portal.min.js +1 -0
- package/progressspinner/ProgressSpinner.vue +3 -3
- package/progressspinner/progressspinner.cjs.js +1 -1
- package/progressspinner/progressspinner.cjs.min.js +1 -1
- package/progressspinner/progressspinner.esm.js +1 -1
- package/progressspinner/progressspinner.esm.min.js +1 -1
- package/progressspinner/progressspinner.js +1 -1
- package/progressspinner/progressspinner.min.js +1 -1
- package/radiobutton/RadioButton.vue +3 -3
- package/resources/themes/arya-blue/theme.css +5 -2
- package/resources/themes/arya-green/theme.css +5 -2
- package/resources/themes/arya-orange/theme.css +5 -2
- package/resources/themes/arya-purple/theme.css +5 -2
- package/resources/themes/bootstrap4-dark-blue/theme.css +5 -2
- package/resources/themes/bootstrap4-dark-purple/theme.css +5 -2
- package/resources/themes/bootstrap4-light-blue/theme.css +4 -1
- package/resources/themes/bootstrap4-light-purple/theme.css +4 -1
- package/resources/themes/fluent-light/theme.css +5 -2
- package/resources/themes/lara-dark-blue/theme.css +5 -2
- package/resources/themes/lara-dark-indigo/theme.css +5 -2
- package/resources/themes/lara-dark-purple/theme.css +5 -2
- package/resources/themes/lara-dark-teal/theme.css +5 -2
- package/resources/themes/lara-light-blue/theme.css +5 -2
- package/resources/themes/lara-light-indigo/theme.css +5 -2
- package/resources/themes/lara-light-purple/theme.css +5 -2
- package/resources/themes/lara-light-teal/theme.css +5 -2
- package/resources/themes/luna-amber/theme.css +5 -2
- package/resources/themes/luna-blue/theme.css +5 -2
- package/resources/themes/luna-green/theme.css +5 -2
- package/resources/themes/luna-pink/theme.css +5 -2
- package/resources/themes/md-dark-deeppurple/theme.css +5 -2
- package/resources/themes/md-dark-indigo/theme.css +5 -2
- package/resources/themes/md-light-deeppurple/theme.css +5 -2
- package/resources/themes/md-light-indigo/theme.css +5 -2
- package/resources/themes/mdc-dark-deeppurple/theme.css +5 -2
- package/resources/themes/mdc-dark-indigo/theme.css +5 -2
- package/resources/themes/mdc-light-deeppurple/theme.css +5 -2
- package/resources/themes/mdc-light-indigo/theme.css +5 -2
- package/resources/themes/nova/theme.css +5 -2
- package/resources/themes/nova-accent/theme.css +5 -2
- package/resources/themes/nova-alt/theme.css +5 -2
- package/resources/themes/nova-vue/theme.css +5 -2
- package/resources/themes/rhea/theme.css +5 -2
- package/resources/themes/saga-blue/theme.css +5 -2
- package/resources/themes/saga-green/theme.css +5 -2
- package/resources/themes/saga-orange/theme.css +5 -2
- package/resources/themes/saga-purple/theme.css +5 -2
- package/resources/themes/tailwind-light/theme.css +5 -2
- package/resources/themes/vela-blue/theme.css +5 -2
- package/resources/themes/vela-green/theme.css +5 -2
- package/resources/themes/vela-orange/theme.css +5 -2
- package/resources/themes/vela-purple/theme.css +5 -2
- package/sidebar/Sidebar.vue +6 -2
- package/sidebar/sidebar.cjs.js +53 -44
- package/sidebar/sidebar.cjs.min.js +1 -1
- package/sidebar/sidebar.esm.js +53 -45
- package/sidebar/sidebar.esm.min.js +1 -1
- package/sidebar/sidebar.js +54 -46
- package/sidebar/sidebar.min.js +1 -1
- package/slider/Slider.vue +1 -1
- package/slider/slider.cjs.js +1 -1
- package/slider/slider.cjs.min.js +1 -1
- package/slider/slider.esm.js +1 -1
- package/slider/slider.esm.min.js +1 -1
- package/slider/slider.js +1 -1
- package/slider/slider.min.js +1 -1
- package/steps/Steps.vue +1 -4
- package/steps/steps.cjs.js +1 -4
- package/steps/steps.cjs.min.js +1 -1
- package/steps/steps.esm.js +1 -4
- package/steps/steps.esm.min.js +1 -1
- package/steps/steps.js +1 -4
- package/steps/steps.min.js +1 -1
- package/tabmenu/TabMenu.vue +3 -3
- package/tabmenu/tabmenu.cjs.js +1 -1
- package/tabmenu/tabmenu.esm.js +1 -1
- package/tabmenu/tabmenu.js +1 -1
- package/textarea/Textarea.vue +2 -1
- package/textarea/textarea.cjs.js +2 -1
- package/textarea/textarea.cjs.min.js +1 -1
- package/textarea/textarea.esm.js +2 -1
- package/textarea/textarea.esm.min.js +1 -1
- package/textarea/textarea.js +2 -1
- package/textarea/textarea.min.js +1 -1
- package/tieredmenu/TieredMenu.d.ts +0 -1
- package/tieredmenu/TieredMenu.vue +6 -4
- package/tieredmenu/tieredmenu.cjs.js +41 -34
- package/tieredmenu/tieredmenu.cjs.min.js +1 -1
- package/tieredmenu/tieredmenu.esm.js +41 -35
- package/tieredmenu/tieredmenu.esm.min.js +1 -1
- package/tieredmenu/tieredmenu.js +42 -36
- package/tieredmenu/tieredmenu.min.js +1 -1
- package/toast/Toast.vue +5 -3
- package/toast/toast.cjs.js +33 -26
- package/toast/toast.cjs.min.js +1 -1
- package/toast/toast.esm.js +33 -27
- package/toast/toast.esm.min.js +1 -1
- package/toast/toast.js +34 -28
- package/toast/toast.min.js +1 -1
- package/toolbar/Toolbar.vue +2 -2
- package/tooltip/tooltip.cjs.js +7 -1
- package/tooltip/tooltip.cjs.min.js +1 -1
- package/tooltip/tooltip.esm.js +7 -1
- package/tooltip/tooltip.esm.min.js +1 -1
- package/tooltip/tooltip.js +7 -1
- package/tooltip/tooltip.min.js +1 -1
- package/treeselect/TreeSelect.vue +7 -11
- package/treeselect/treeselect.cjs.js +63 -65
- package/treeselect/treeselect.cjs.min.js +1 -1
- package/treeselect/treeselect.esm.js +63 -66
- package/treeselect/treeselect.esm.min.js +1 -1
- package/treeselect/treeselect.js +64 -67
- package/treeselect/treeselect.min.js +1 -1
- package/treetable/FooterCell.vue +1 -1
- package/treetable/TreeTableRow.vue +2 -2
- package/tristatecheckbox/TriStateCheckbox.vue +3 -3
- package/utils/Utils.d.ts +1 -0
- package/utils/utils.cjs.js +4 -0
- package/utils/utils.cjs.min.js +1 -1
- package/utils/utils.esm.js +4 -0
- package/utils/utils.esm.min.js +1 -1
- package/utils/utils.js +4 -0
- package/utils/utils.min.js +1 -1
- package/vetur-attributes.json +14 -2
- package/vetur-tags.json +8 -0
- package/web-types.json +47 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("primevue/utils"),t=require("primevue/overlayeventbus"),n=require("primevue/inputtext"),s=require("vue");function
|
|
1
|
+
"use strict";var e=require("primevue/utils"),t=require("primevue/overlayeventbus"),n=require("primevue/inputtext"),s=require("primevue/portal"),l=require("vue");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=i(t),o=i(n),a=i(s),d={name:"Password",emits:["update:modelValue"],inheritAttrs:!1,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:"pi pi-eye-slash"},showIcon:{type:String,default:"pi pi-eye"},inputClass:null,inputStyle:null,style:null,class:String,panelClass:String},data:()=>({overlayVisible:!1,meter:null,infoText:null,focused:!1,unmasked:!1}),mediumCheckRegExp:null,strongCheckRegExp:null,resizeListener:null,scrollHandler:null,overlay:null,mounted(){this.infoText=this.promptText,this.mediumCheckRegExp=new RegExp(this.mediumRegex),this.strongCheckRegExp=new RegExp(this.strongRegex)},beforeUnmount(){this.unbindResizeListener(),this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null),this.overlay&&(e.ZIndexUtils.clear(this.overlay),this.overlay=null)},methods:{onOverlayEnter(t){e.ZIndexUtils.set("overlay",t,this.$primevue.config.zIndex.overlay),this.alignOverlay(),this.bindScrollListener(),this.bindResizeListener()},onOverlayLeave(){this.unbindScrollListener(),this.unbindResizeListener(),this.overlay=null},onOverlayAfterLeave(t){e.ZIndexUtils.clear(t)},alignOverlay(){"self"===this.appendTo?e.DomHandler.relativePosition(this.overlay,this.$refs.input.$el):(this.overlay.style.minWidth=e.DomHandler.getOuterWidth(this.$refs.input.$el)+"px",e.DomHandler.absolutePosition(this.overlay,this.$refs.input.$el))},testStrength(e){let t=0;return this.strongCheckRegExp.test(e)?t=3:this.mediumCheckRegExp.test(e)?t=2:e.length&&(t=1),t},onInput(e){this.$emit("update:modelValue",e.target.value)},onFocus(){this.focused=!0,this.feedback&&(this.overlayVisible=!0)},onBlur(){this.focused=!1,this.feedback&&(this.overlayVisible=!1)},onKeyUp(e){if(this.feedback){const t=e.target.value;let n=null,s=null;switch(this.testStrength(t)){case 1:n=this.weakText,s={strength:"weak",width:"33.33%"};break;case 2:n=this.mediumText,s={strength:"medium",width:"66.66%"};break;case 3:n=this.strongText,s={strength:"strong",width:"100%"};break;default:n=this.promptText,s=null}this.meter=s,this.infoText=n,this.overlayVisible||(this.overlayVisible=!0)}},bindScrollListener(){this.scrollHandler||(this.scrollHandler=new e.ConnectedOverlayScrollHandler(this.$refs.input.$el,(()=>{this.overlayVisible&&(this.overlayVisible=!1)}))),this.scrollHandler.bindScrollListener()},unbindScrollListener(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()},bindResizeListener(){this.resizeListener||(this.resizeListener=()=>{this.overlayVisible&&!e.DomHandler.isTouchDevice()&&(this.overlayVisible=!1)},window.addEventListener("resize",this.resizeListener))},unbindResizeListener(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)},overlayRef(e){this.overlay=e},onMaskToggle(){this.unmasked=!this.unmasked},onOverlayClick(e){r.default.emit("overlay-click",{originalEvent:e,target:this.$el})}},computed:{containerClass(){return["p-password p-component p-inputwrapper",this.class,{"p-inputwrapper-filled":this.filled,"p-inputwrapper-focus":this.focused,"p-input-icon-right":this.toggleMask}]},inputFieldClass(){return["p-password-input",this.inputClass,{"p-disabled":this.$attrs.disabled}]},panelStyleClass(){return["p-password-panel p-component",this.panelClass,{"p-input-filled":"filled"===this.$primevue.config.inputStyle,"p-ripple-disabled":!1===this.$primevue.config.ripple}]},toggleIconClass(){return this.unmasked?this.hideIcon:this.showIcon},strengthClass(){return`p-password-strength ${this.meter?this.meter.strength:""}`},inputType(){return this.unmasked?"text":"password"},filled(){return null!=this.modelValue&&this.modelValue.toString().length>0},weakText(){return this.weakLabel||this.$primevue.config.locale.weak},mediumText(){return this.mediumLabel||this.$primevue.config.locale.medium},strongText(){return this.strongLabel||this.$primevue.config.locale.strong},promptText(){return this.promptLabel||this.$primevue.config.locale.passwordPrompt}},components:{PInputText:o.default,Portal:a.default}};const p={class:"p-password-meter"},u={class:"p-password-info"};!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var s=document.head||document.getElementsByTagName("head")[0],l=document.createElement("style");l.type="text/css","top"===n&&s.firstChild?s.insertBefore(l,s.firstChild):s.appendChild(l),l.styleSheet?l.styleSheet.cssText=e:l.appendChild(document.createTextNode(e))}}("\n.p-password {\n position: relative;\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n}\n.p-password-panel {\n position: absolute;\n top: 0;\n left: 0;\n}\n.p-password .p-password-panel {\n min-width: 100%;\n}\n.p-password-meter {\n height: 10px;\n}\n.p-password-strength {\n height: 100%;\n width: 0;\n -webkit-transition: width 1s ease-in-out;\n transition: width 1s ease-in-out;\n}\n.p-fluid .p-password {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n"),d.render=function(e,t,n,s,i,r){const o=l.resolveComponent("PInputText"),a=l.resolveComponent("Portal");return l.openBlock(),l.createElementBlock("div",{class:l.normalizeClass(r.containerClass),style:l.normalizeStyle(n.style)},[l.createVNode(o,l.mergeProps({ref:"input",class:r.inputFieldClass,style:n.inputStyle,type:r.inputType,value:n.modelValue,onInput:r.onInput,onFocus:r.onFocus,onBlur:r.onBlur,onKeyup:r.onKeyUp},e.$attrs),null,16,["class","style","type","value","onInput","onFocus","onBlur","onKeyup"]),n.toggleMask?(l.openBlock(),l.createElementBlock("i",{key:0,class:l.normalizeClass(r.toggleIconClass),onClick:t[0]||(t[0]=(...e)=>r.onMaskToggle&&r.onMaskToggle(...e))},null,2)):l.createCommentVNode("",!0),l.createVNode(a,{appendTo:n.appendTo},{default:l.withCtx((()=>[l.createVNode(l.Transition,{name:"p-connected-overlay",onEnter:r.onOverlayEnter,onLeave:r.onOverlayLeave,onAfterLeave:r.onOverlayAfterLeave},{default:l.withCtx((()=>[i.overlayVisible?(l.openBlock(),l.createElementBlock("div",{key:0,ref:r.overlayRef,class:l.normalizeClass(r.panelStyleClass),onClick:t[1]||(t[1]=(...e)=>r.onOverlayClick&&r.onOverlayClick(...e))},[l.renderSlot(e.$slots,"header"),l.renderSlot(e.$slots,"content",{},(()=>[l.createElementVNode("div",p,[l.createElementVNode("div",{class:l.normalizeClass(r.strengthClass),style:l.normalizeStyle({width:i.meter?i.meter.width:""})},null,6)]),l.createElementVNode("div",u,l.toDisplayString(i.infoText),1)])),l.renderSlot(e.$slots,"footer")],2)):l.createCommentVNode("",!0)])),_:3},8,["onEnter","onLeave","onAfterLeave"])])),_:3},8,["appendTo"])],6)},module.exports=d;
|
package/password/password.esm.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { ZIndexUtils, DomHandler, ConnectedOverlayScrollHandler } from 'primevue/utils';
|
|
2
2
|
import OverlayEventBus from 'primevue/overlayeventbus';
|
|
3
3
|
import InputText from 'primevue/inputtext';
|
|
4
|
-
import
|
|
4
|
+
import Portal from 'primevue/portal';
|
|
5
|
+
import { resolveComponent, openBlock, createElementBlock, normalizeClass, normalizeStyle, createVNode, mergeProps, createCommentVNode, withCtx, Transition, renderSlot, createElementVNode, toDisplayString } from 'vue';
|
|
5
6
|
|
|
6
7
|
var script = {
|
|
7
8
|
name: 'Password',
|
|
@@ -106,7 +107,7 @@ var script = {
|
|
|
106
107
|
ZIndexUtils.clear(el);
|
|
107
108
|
},
|
|
108
109
|
alignOverlay() {
|
|
109
|
-
if (this.
|
|
110
|
+
if (this.appendTo === 'self') {
|
|
110
111
|
DomHandler.relativePosition(this.overlay, this.$refs.input.$el);
|
|
111
112
|
}
|
|
112
113
|
else {
|
|
@@ -205,7 +206,7 @@ var script = {
|
|
|
205
206
|
bindResizeListener() {
|
|
206
207
|
if (!this.resizeListener) {
|
|
207
208
|
this.resizeListener = () => {
|
|
208
|
-
if (this.overlayVisible) {
|
|
209
|
+
if (this.overlayVisible && !DomHandler.isTouchDevice()) {
|
|
209
210
|
this.overlayVisible = false;
|
|
210
211
|
}
|
|
211
212
|
};
|
|
@@ -273,16 +274,11 @@ var script = {
|
|
|
273
274
|
},
|
|
274
275
|
promptText() {
|
|
275
276
|
return this.promptLabel || this.$primevue.config.locale.passwordPrompt;
|
|
276
|
-
},
|
|
277
|
-
appendDisabled() {
|
|
278
|
-
return this.appendTo === 'self';
|
|
279
|
-
},
|
|
280
|
-
appendTarget() {
|
|
281
|
-
return this.appendDisabled ? null : this.appendTo;
|
|
282
277
|
}
|
|
283
278
|
},
|
|
284
279
|
components: {
|
|
285
|
-
'PInputText': InputText
|
|
280
|
+
'PInputText': InputText,
|
|
281
|
+
'Portal': Portal
|
|
286
282
|
}
|
|
287
283
|
};
|
|
288
284
|
|
|
@@ -291,6 +287,7 @@ const _hoisted_2 = { class: "p-password-info" };
|
|
|
291
287
|
|
|
292
288
|
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
293
289
|
const _component_PInputText = resolveComponent("PInputText");
|
|
290
|
+
const _component_Portal = resolveComponent("Portal");
|
|
294
291
|
|
|
295
292
|
return (openBlock(), createElementBlock("div", {
|
|
296
293
|
class: normalizeClass($options.containerClass),
|
|
@@ -314,41 +311,41 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
314
311
|
onClick: _cache[0] || (_cache[0] = (...args) => ($options.onMaskToggle && $options.onMaskToggle(...args)))
|
|
315
312
|
}, null, 2))
|
|
316
313
|
: createCommentVNode("", true),
|
|
317
|
-
(
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
314
|
+
createVNode(_component_Portal, { appendTo: $props.appendTo }, {
|
|
315
|
+
default: withCtx(() => [
|
|
316
|
+
createVNode(Transition, {
|
|
317
|
+
name: "p-connected-overlay",
|
|
318
|
+
onEnter: $options.onOverlayEnter,
|
|
319
|
+
onLeave: $options.onOverlayLeave,
|
|
320
|
+
onAfterLeave: $options.onOverlayAfterLeave
|
|
321
|
+
}, {
|
|
322
|
+
default: withCtx(() => [
|
|
323
|
+
($data.overlayVisible)
|
|
324
|
+
? (openBlock(), createElementBlock("div", {
|
|
325
|
+
key: 0,
|
|
326
|
+
ref: $options.overlayRef,
|
|
327
|
+
class: normalizeClass($options.panelStyleClass),
|
|
328
|
+
onClick: _cache[1] || (_cache[1] = (...args) => ($options.onOverlayClick && $options.onOverlayClick(...args)))
|
|
329
|
+
}, [
|
|
330
|
+
renderSlot(_ctx.$slots, "header"),
|
|
331
|
+
renderSlot(_ctx.$slots, "content", {}, () => [
|
|
332
|
+
createElementVNode("div", _hoisted_1, [
|
|
333
|
+
createElementVNode("div", {
|
|
334
|
+
class: normalizeClass($options.strengthClass),
|
|
335
|
+
style: normalizeStyle({'width': $data.meter ? $data.meter.width : ''})
|
|
336
|
+
}, null, 6)
|
|
337
|
+
]),
|
|
338
|
+
createElementVNode("div", _hoisted_2, toDisplayString($data.infoText), 1)
|
|
342
339
|
]),
|
|
343
|
-
|
|
344
|
-
])
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
])
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
340
|
+
renderSlot(_ctx.$slots, "footer")
|
|
341
|
+
], 2))
|
|
342
|
+
: createCommentVNode("", true)
|
|
343
|
+
]),
|
|
344
|
+
_: 3
|
|
345
|
+
}, 8, ["onEnter", "onLeave", "onAfterLeave"])
|
|
346
|
+
]),
|
|
347
|
+
_: 3
|
|
348
|
+
}, 8, ["appendTo"])
|
|
352
349
|
], 6))
|
|
353
350
|
}
|
|
354
351
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ZIndexUtils as e,DomHandler as t,ConnectedOverlayScrollHandler as s}from"primevue/utils";import i from"primevue/overlayeventbus";import n from"primevue/inputtext";import{resolveComponent as
|
|
1
|
+
import{ZIndexUtils as e,DomHandler as t,ConnectedOverlayScrollHandler as s}from"primevue/utils";import i from"primevue/overlayeventbus";import n from"primevue/inputtext";import l from"primevue/portal";import{resolveComponent as r,openBlock as o,createElementBlock as a,normalizeClass as p,normalizeStyle as u,createVNode as d,mergeProps as h,createCommentVNode as c,withCtx as m,Transition as y,renderSlot as g,createElementVNode as v,toDisplayString as f}from"vue";var b={name:"Password",emits:["update:modelValue"],inheritAttrs:!1,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:"pi pi-eye-slash"},showIcon:{type:String,default:"pi pi-eye"},inputClass:null,inputStyle:null,style:null,class:String,panelClass:String},data:()=>({overlayVisible:!1,meter:null,infoText:null,focused:!1,unmasked:!1}),mediumCheckRegExp:null,strongCheckRegExp:null,resizeListener:null,scrollHandler:null,overlay:null,mounted(){this.infoText=this.promptText,this.mediumCheckRegExp=new RegExp(this.mediumRegex),this.strongCheckRegExp=new RegExp(this.strongRegex)},beforeUnmount(){this.unbindResizeListener(),this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null),this.overlay&&(e.clear(this.overlay),this.overlay=null)},methods:{onOverlayEnter(t){e.set("overlay",t,this.$primevue.config.zIndex.overlay),this.alignOverlay(),this.bindScrollListener(),this.bindResizeListener()},onOverlayLeave(){this.unbindScrollListener(),this.unbindResizeListener(),this.overlay=null},onOverlayAfterLeave(t){e.clear(t)},alignOverlay(){"self"===this.appendTo?t.relativePosition(this.overlay,this.$refs.input.$el):(this.overlay.style.minWidth=t.getOuterWidth(this.$refs.input.$el)+"px",t.absolutePosition(this.overlay,this.$refs.input.$el))},testStrength(e){let t=0;return this.strongCheckRegExp.test(e)?t=3:this.mediumCheckRegExp.test(e)?t=2:e.length&&(t=1),t},onInput(e){this.$emit("update:modelValue",e.target.value)},onFocus(){this.focused=!0,this.feedback&&(this.overlayVisible=!0)},onBlur(){this.focused=!1,this.feedback&&(this.overlayVisible=!1)},onKeyUp(e){if(this.feedback){const t=e.target.value;let s=null,i=null;switch(this.testStrength(t)){case 1:s=this.weakText,i={strength:"weak",width:"33.33%"};break;case 2:s=this.mediumText,i={strength:"medium",width:"66.66%"};break;case 3:s=this.strongText,i={strength:"strong",width:"100%"};break;default:s=this.promptText,i=null}this.meter=i,this.infoText=s,this.overlayVisible||(this.overlayVisible=!0)}},bindScrollListener(){this.scrollHandler||(this.scrollHandler=new s(this.$refs.input.$el,(()=>{this.overlayVisible&&(this.overlayVisible=!1)}))),this.scrollHandler.bindScrollListener()},unbindScrollListener(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()},bindResizeListener(){this.resizeListener||(this.resizeListener=()=>{this.overlayVisible&&!t.isTouchDevice()&&(this.overlayVisible=!1)},window.addEventListener("resize",this.resizeListener))},unbindResizeListener(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)},overlayRef(e){this.overlay=e},onMaskToggle(){this.unmasked=!this.unmasked},onOverlayClick(e){i.emit("overlay-click",{originalEvent:e,target:this.$el})}},computed:{containerClass(){return["p-password p-component p-inputwrapper",this.class,{"p-inputwrapper-filled":this.filled,"p-inputwrapper-focus":this.focused,"p-input-icon-right":this.toggleMask}]},inputFieldClass(){return["p-password-input",this.inputClass,{"p-disabled":this.$attrs.disabled}]},panelStyleClass(){return["p-password-panel p-component",this.panelClass,{"p-input-filled":"filled"===this.$primevue.config.inputStyle,"p-ripple-disabled":!1===this.$primevue.config.ripple}]},toggleIconClass(){return this.unmasked?this.hideIcon:this.showIcon},strengthClass(){return`p-password-strength ${this.meter?this.meter.strength:""}`},inputType(){return this.unmasked?"text":"password"},filled(){return null!=this.modelValue&&this.modelValue.toString().length>0},weakText(){return this.weakLabel||this.$primevue.config.locale.weak},mediumText(){return this.mediumLabel||this.$primevue.config.locale.medium},strongText(){return this.strongLabel||this.$primevue.config.locale.strong},promptText(){return this.promptLabel||this.$primevue.config.locale.passwordPrompt}},components:{PInputText:n,Portal:l}};const w={class:"p-password-meter"},x={class:"p-password-info"};!function(e,t){void 0===t&&(t={});var s=t.insertAt;if(e&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===s&&i.firstChild?i.insertBefore(n,i.firstChild):i.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}("\n.p-password {\n position: relative;\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n}\n.p-password-panel {\n position: absolute;\n top: 0;\n left: 0;\n}\n.p-password .p-password-panel {\n min-width: 100%;\n}\n.p-password-meter {\n height: 10px;\n}\n.p-password-strength {\n height: 100%;\n width: 0;\n -webkit-transition: width 1s ease-in-out;\n transition: width 1s ease-in-out;\n}\n.p-fluid .p-password {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n"),b.render=function(e,t,s,i,n,l){const b=r("PInputText"),k=r("Portal");return o(),a("div",{class:p(l.containerClass),style:u(s.style)},[d(b,h({ref:"input",class:l.inputFieldClass,style:s.inputStyle,type:l.inputType,value:s.modelValue,onInput:l.onInput,onFocus:l.onFocus,onBlur:l.onBlur,onKeyup:l.onKeyUp},e.$attrs),null,16,["class","style","type","value","onInput","onFocus","onBlur","onKeyup"]),s.toggleMask?(o(),a("i",{key:0,class:p(l.toggleIconClass),onClick:t[0]||(t[0]=(...e)=>l.onMaskToggle&&l.onMaskToggle(...e))},null,2)):c("",!0),d(k,{appendTo:s.appendTo},{default:m((()=>[d(y,{name:"p-connected-overlay",onEnter:l.onOverlayEnter,onLeave:l.onOverlayLeave,onAfterLeave:l.onOverlayAfterLeave},{default:m((()=>[n.overlayVisible?(o(),a("div",{key:0,ref:l.overlayRef,class:p(l.panelStyleClass),onClick:t[1]||(t[1]=(...e)=>l.onOverlayClick&&l.onOverlayClick(...e))},[g(e.$slots,"header"),g(e.$slots,"content",{},(()=>[v("div",w,[v("div",{class:p(l.strengthClass),style:u({width:n.meter?n.meter.width:""})},null,6)]),v("div",x,f(n.infoText),1)])),g(e.$slots,"footer")],2)):c("",!0)])),_:3},8,["onEnter","onLeave","onAfterLeave"])])),_:3},8,["appendTo"])],6)};export{b as default};
|
package/password/password.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
this.primevue = this.primevue || {};
|
|
2
|
-
this.primevue.password = (function (utils, OverlayEventBus, InputText, vue) {
|
|
2
|
+
this.primevue.password = (function (utils, OverlayEventBus, InputText, Portal, vue) {
|
|
3
3
|
'use strict';
|
|
4
4
|
|
|
5
5
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
6
6
|
|
|
7
7
|
var OverlayEventBus__default = /*#__PURE__*/_interopDefaultLegacy(OverlayEventBus);
|
|
8
8
|
var InputText__default = /*#__PURE__*/_interopDefaultLegacy(InputText);
|
|
9
|
+
var Portal__default = /*#__PURE__*/_interopDefaultLegacy(Portal);
|
|
9
10
|
|
|
10
11
|
var script = {
|
|
11
12
|
name: 'Password',
|
|
@@ -110,7 +111,7 @@ this.primevue.password = (function (utils, OverlayEventBus, InputText, vue) {
|
|
|
110
111
|
utils.ZIndexUtils.clear(el);
|
|
111
112
|
},
|
|
112
113
|
alignOverlay() {
|
|
113
|
-
if (this.
|
|
114
|
+
if (this.appendTo === 'self') {
|
|
114
115
|
utils.DomHandler.relativePosition(this.overlay, this.$refs.input.$el);
|
|
115
116
|
}
|
|
116
117
|
else {
|
|
@@ -209,7 +210,7 @@ this.primevue.password = (function (utils, OverlayEventBus, InputText, vue) {
|
|
|
209
210
|
bindResizeListener() {
|
|
210
211
|
if (!this.resizeListener) {
|
|
211
212
|
this.resizeListener = () => {
|
|
212
|
-
if (this.overlayVisible) {
|
|
213
|
+
if (this.overlayVisible && !utils.DomHandler.isTouchDevice()) {
|
|
213
214
|
this.overlayVisible = false;
|
|
214
215
|
}
|
|
215
216
|
};
|
|
@@ -277,16 +278,11 @@ this.primevue.password = (function (utils, OverlayEventBus, InputText, vue) {
|
|
|
277
278
|
},
|
|
278
279
|
promptText() {
|
|
279
280
|
return this.promptLabel || this.$primevue.config.locale.passwordPrompt;
|
|
280
|
-
},
|
|
281
|
-
appendDisabled() {
|
|
282
|
-
return this.appendTo === 'self';
|
|
283
|
-
},
|
|
284
|
-
appendTarget() {
|
|
285
|
-
return this.appendDisabled ? null : this.appendTo;
|
|
286
281
|
}
|
|
287
282
|
},
|
|
288
283
|
components: {
|
|
289
|
-
'PInputText': InputText__default["default"]
|
|
284
|
+
'PInputText': InputText__default["default"],
|
|
285
|
+
'Portal': Portal__default["default"]
|
|
290
286
|
}
|
|
291
287
|
};
|
|
292
288
|
|
|
@@ -295,6 +291,7 @@ this.primevue.password = (function (utils, OverlayEventBus, InputText, vue) {
|
|
|
295
291
|
|
|
296
292
|
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
297
293
|
const _component_PInputText = vue.resolveComponent("PInputText");
|
|
294
|
+
const _component_Portal = vue.resolveComponent("Portal");
|
|
298
295
|
|
|
299
296
|
return (vue.openBlock(), vue.createElementBlock("div", {
|
|
300
297
|
class: vue.normalizeClass($options.containerClass),
|
|
@@ -318,41 +315,41 @@ this.primevue.password = (function (utils, OverlayEventBus, InputText, vue) {
|
|
|
318
315
|
onClick: _cache[0] || (_cache[0] = (...args) => ($options.onMaskToggle && $options.onMaskToggle(...args)))
|
|
319
316
|
}, null, 2))
|
|
320
317
|
: vue.createCommentVNode("", true),
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
318
|
+
vue.createVNode(_component_Portal, { appendTo: $props.appendTo }, {
|
|
319
|
+
default: vue.withCtx(() => [
|
|
320
|
+
vue.createVNode(vue.Transition, {
|
|
321
|
+
name: "p-connected-overlay",
|
|
322
|
+
onEnter: $options.onOverlayEnter,
|
|
323
|
+
onLeave: $options.onOverlayLeave,
|
|
324
|
+
onAfterLeave: $options.onOverlayAfterLeave
|
|
325
|
+
}, {
|
|
326
|
+
default: vue.withCtx(() => [
|
|
327
|
+
($data.overlayVisible)
|
|
328
|
+
? (vue.openBlock(), vue.createElementBlock("div", {
|
|
329
|
+
key: 0,
|
|
330
|
+
ref: $options.overlayRef,
|
|
331
|
+
class: vue.normalizeClass($options.panelStyleClass),
|
|
332
|
+
onClick: _cache[1] || (_cache[1] = (...args) => ($options.onOverlayClick && $options.onOverlayClick(...args)))
|
|
333
|
+
}, [
|
|
334
|
+
vue.renderSlot(_ctx.$slots, "header"),
|
|
335
|
+
vue.renderSlot(_ctx.$slots, "content", {}, () => [
|
|
336
|
+
vue.createElementVNode("div", _hoisted_1, [
|
|
337
|
+
vue.createElementVNode("div", {
|
|
338
|
+
class: vue.normalizeClass($options.strengthClass),
|
|
339
|
+
style: vue.normalizeStyle({'width': $data.meter ? $data.meter.width : ''})
|
|
340
|
+
}, null, 6)
|
|
341
|
+
]),
|
|
342
|
+
vue.createElementVNode("div", _hoisted_2, vue.toDisplayString($data.infoText), 1)
|
|
346
343
|
]),
|
|
347
|
-
vue.
|
|
348
|
-
])
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
])
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
344
|
+
vue.renderSlot(_ctx.$slots, "footer")
|
|
345
|
+
], 2))
|
|
346
|
+
: vue.createCommentVNode("", true)
|
|
347
|
+
]),
|
|
348
|
+
_: 3
|
|
349
|
+
}, 8, ["onEnter", "onLeave", "onAfterLeave"])
|
|
350
|
+
]),
|
|
351
|
+
_: 3
|
|
352
|
+
}, 8, ["appendTo"])
|
|
356
353
|
], 6))
|
|
357
354
|
}
|
|
358
355
|
|
|
@@ -390,4 +387,4 @@ this.primevue.password = (function (utils, OverlayEventBus, InputText, vue) {
|
|
|
390
387
|
|
|
391
388
|
return script;
|
|
392
389
|
|
|
393
|
-
})(primevue.utils, primevue.overlayeventbus, primevue.inputtext, Vue);
|
|
390
|
+
})(primevue.utils, primevue.overlayeventbus, primevue.inputtext, primevue.portal, Vue);
|
package/password/password.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
this.primevue=this.primevue||{},this.primevue.password=function(e,t,n,s){"use strict";function
|
|
1
|
+
this.primevue=this.primevue||{},this.primevue.password=function(e,t,n,s,i){"use strict";function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=l(t),o=l(n),a=l(s),p={name:"Password",emits:["update:modelValue"],inheritAttrs:!1,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:"pi pi-eye-slash"},showIcon:{type:String,default:"pi pi-eye"},inputClass:null,inputStyle:null,style:null,class:String,panelClass:String},data:()=>({overlayVisible:!1,meter:null,infoText:null,focused:!1,unmasked:!1}),mediumCheckRegExp:null,strongCheckRegExp:null,resizeListener:null,scrollHandler:null,overlay:null,mounted(){this.infoText=this.promptText,this.mediumCheckRegExp=new RegExp(this.mediumRegex),this.strongCheckRegExp=new RegExp(this.strongRegex)},beforeUnmount(){this.unbindResizeListener(),this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null),this.overlay&&(e.ZIndexUtils.clear(this.overlay),this.overlay=null)},methods:{onOverlayEnter(t){e.ZIndexUtils.set("overlay",t,this.$primevue.config.zIndex.overlay),this.alignOverlay(),this.bindScrollListener(),this.bindResizeListener()},onOverlayLeave(){this.unbindScrollListener(),this.unbindResizeListener(),this.overlay=null},onOverlayAfterLeave(t){e.ZIndexUtils.clear(t)},alignOverlay(){"self"===this.appendTo?e.DomHandler.relativePosition(this.overlay,this.$refs.input.$el):(this.overlay.style.minWidth=e.DomHandler.getOuterWidth(this.$refs.input.$el)+"px",e.DomHandler.absolutePosition(this.overlay,this.$refs.input.$el))},testStrength(e){let t=0;return this.strongCheckRegExp.test(e)?t=3:this.mediumCheckRegExp.test(e)?t=2:e.length&&(t=1),t},onInput(e){this.$emit("update:modelValue",e.target.value)},onFocus(){this.focused=!0,this.feedback&&(this.overlayVisible=!0)},onBlur(){this.focused=!1,this.feedback&&(this.overlayVisible=!1)},onKeyUp(e){if(this.feedback){const t=e.target.value;let n=null,s=null;switch(this.testStrength(t)){case 1:n=this.weakText,s={strength:"weak",width:"33.33%"};break;case 2:n=this.mediumText,s={strength:"medium",width:"66.66%"};break;case 3:n=this.strongText,s={strength:"strong",width:"100%"};break;default:n=this.promptText,s=null}this.meter=s,this.infoText=n,this.overlayVisible||(this.overlayVisible=!0)}},bindScrollListener(){this.scrollHandler||(this.scrollHandler=new e.ConnectedOverlayScrollHandler(this.$refs.input.$el,(()=>{this.overlayVisible&&(this.overlayVisible=!1)}))),this.scrollHandler.bindScrollListener()},unbindScrollListener(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()},bindResizeListener(){this.resizeListener||(this.resizeListener=()=>{this.overlayVisible&&!e.DomHandler.isTouchDevice()&&(this.overlayVisible=!1)},window.addEventListener("resize",this.resizeListener))},unbindResizeListener(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)},overlayRef(e){this.overlay=e},onMaskToggle(){this.unmasked=!this.unmasked},onOverlayClick(e){r.default.emit("overlay-click",{originalEvent:e,target:this.$el})}},computed:{containerClass(){return["p-password p-component p-inputwrapper",this.class,{"p-inputwrapper-filled":this.filled,"p-inputwrapper-focus":this.focused,"p-input-icon-right":this.toggleMask}]},inputFieldClass(){return["p-password-input",this.inputClass,{"p-disabled":this.$attrs.disabled}]},panelStyleClass(){return["p-password-panel p-component",this.panelClass,{"p-input-filled":"filled"===this.$primevue.config.inputStyle,"p-ripple-disabled":!1===this.$primevue.config.ripple}]},toggleIconClass(){return this.unmasked?this.hideIcon:this.showIcon},strengthClass(){return`p-password-strength ${this.meter?this.meter.strength:""}`},inputType(){return this.unmasked?"text":"password"},filled(){return null!=this.modelValue&&this.modelValue.toString().length>0},weakText(){return this.weakLabel||this.$primevue.config.locale.weak},mediumText(){return this.mediumLabel||this.$primevue.config.locale.medium},strongText(){return this.strongLabel||this.$primevue.config.locale.strong},promptText(){return this.promptLabel||this.$primevue.config.locale.passwordPrompt}},components:{PInputText:o.default,Portal:a.default}};const d={class:"p-password-meter"},u={class:"p-password-info"};return function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var s=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===n&&s.firstChild?s.insertBefore(i,s.firstChild):s.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}("\n.p-password {\n position: relative;\n display: -webkit-inline-box;\n display: -ms-inline-flexbox;\n display: inline-flex;\n}\n.p-password-panel {\n position: absolute;\n top: 0;\n left: 0;\n}\n.p-password .p-password-panel {\n min-width: 100%;\n}\n.p-password-meter {\n height: 10px;\n}\n.p-password-strength {\n height: 100%;\n width: 0;\n -webkit-transition: width 1s ease-in-out;\n transition: width 1s ease-in-out;\n}\n.p-fluid .p-password {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n}\n"),p.render=function(e,t,n,s,l,r){const o=i.resolveComponent("PInputText"),a=i.resolveComponent("Portal");return i.openBlock(),i.createElementBlock("div",{class:i.normalizeClass(r.containerClass),style:i.normalizeStyle(n.style)},[i.createVNode(o,i.mergeProps({ref:"input",class:r.inputFieldClass,style:n.inputStyle,type:r.inputType,value:n.modelValue,onInput:r.onInput,onFocus:r.onFocus,onBlur:r.onBlur,onKeyup:r.onKeyUp},e.$attrs),null,16,["class","style","type","value","onInput","onFocus","onBlur","onKeyup"]),n.toggleMask?(i.openBlock(),i.createElementBlock("i",{key:0,class:i.normalizeClass(r.toggleIconClass),onClick:t[0]||(t[0]=(...e)=>r.onMaskToggle&&r.onMaskToggle(...e))},null,2)):i.createCommentVNode("",!0),i.createVNode(a,{appendTo:n.appendTo},{default:i.withCtx((()=>[i.createVNode(i.Transition,{name:"p-connected-overlay",onEnter:r.onOverlayEnter,onLeave:r.onOverlayLeave,onAfterLeave:r.onOverlayAfterLeave},{default:i.withCtx((()=>[l.overlayVisible?(i.openBlock(),i.createElementBlock("div",{key:0,ref:r.overlayRef,class:i.normalizeClass(r.panelStyleClass),onClick:t[1]||(t[1]=(...e)=>r.onOverlayClick&&r.onOverlayClick(...e))},[i.renderSlot(e.$slots,"header"),i.renderSlot(e.$slots,"content",{},(()=>[i.createElementVNode("div",d,[i.createElementVNode("div",{class:i.normalizeClass(r.strengthClass),style:i.normalizeStyle({width:l.meter?l.meter.width:""})},null,6)]),i.createElementVNode("div",u,i.toDisplayString(l.infoText),1)])),i.renderSlot(e.$slots,"footer")],2)):i.createCommentVNode("",!0)])),_:3},8,["onEnter","onLeave","onAfterLeave"])])),_:3},8,["appendTo"])],6)},p}(primevue.utils,primevue.overlayeventbus,primevue.inputtext,primevue.portal,Vue);
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { VNode } from 'vue';
|
|
2
|
+
import { ClassComponent, GlobalComponentConstructor } from '../ts-helpers';
|
|
3
|
+
|
|
4
|
+
type PortalAppendToType = 'body' | 'self' | string | undefined;
|
|
5
|
+
|
|
6
|
+
export interface PortalProps {
|
|
7
|
+
/**
|
|
8
|
+
* A valid query selector or an HTMLElement to specify where the dialog gets attached. Special keywords are 'body' for document body and 'self' for the element itself.
|
|
9
|
+
* @see PortalAppendToType
|
|
10
|
+
* Default value is 'body'.
|
|
11
|
+
*/
|
|
12
|
+
appendTo?: PortalAppendToType;
|
|
13
|
+
/**
|
|
14
|
+
* If disabled, the Portal feature is eliminated and the content is displayed directly.
|
|
15
|
+
*/
|
|
16
|
+
disabled?: boolean | undefined;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export interface PortalSlots {
|
|
20
|
+
/**
|
|
21
|
+
* Default content slot.
|
|
22
|
+
*/
|
|
23
|
+
default: () => VNode[];
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export declare type PortalEmits = { }
|
|
27
|
+
|
|
28
|
+
declare class Portal extends ClassComponent<PortalProps, PortalSlots, PortalEmits> { }
|
|
29
|
+
|
|
30
|
+
declare module '@vue/runtime-core' {
|
|
31
|
+
interface GlobalComponents {
|
|
32
|
+
Portal: GlobalComponentConstructor<Portal>
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export default Portal;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<template v-if="inline">
|
|
3
|
+
<slot></slot>
|
|
4
|
+
</template>
|
|
5
|
+
<template v-else-if="mounted">
|
|
6
|
+
<Teleport :to="appendTo">
|
|
7
|
+
<slot></slot>
|
|
8
|
+
</Teleport>
|
|
9
|
+
</template>
|
|
10
|
+
</template>
|
|
11
|
+
|
|
12
|
+
<script>
|
|
13
|
+
import { DomHandler } from 'primevue/utils';
|
|
14
|
+
|
|
15
|
+
export default {
|
|
16
|
+
name: 'Portal',
|
|
17
|
+
props: {
|
|
18
|
+
appendTo: {
|
|
19
|
+
type: String,
|
|
20
|
+
default: 'body'
|
|
21
|
+
},
|
|
22
|
+
disabled: {
|
|
23
|
+
type: Boolean,
|
|
24
|
+
default: false
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
data() {
|
|
28
|
+
return {
|
|
29
|
+
mounted: false
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
mounted() {
|
|
33
|
+
this.mounted = DomHandler.isClient();
|
|
34
|
+
},
|
|
35
|
+
computed: {
|
|
36
|
+
inline() {
|
|
37
|
+
return this.disabled || this.appendTo === 'self';
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
</script>
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var utils = require('primevue/utils');
|
|
4
|
+
var vue = require('vue');
|
|
5
|
+
|
|
6
|
+
var script = {
|
|
7
|
+
name: 'Portal',
|
|
8
|
+
props: {
|
|
9
|
+
appendTo: {
|
|
10
|
+
type: String,
|
|
11
|
+
default: 'body'
|
|
12
|
+
},
|
|
13
|
+
disabled: {
|
|
14
|
+
type: Boolean,
|
|
15
|
+
default: false
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
data() {
|
|
19
|
+
return {
|
|
20
|
+
mounted: false
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
mounted() {
|
|
24
|
+
this.mounted = utils.DomHandler.isClient();
|
|
25
|
+
},
|
|
26
|
+
computed: {
|
|
27
|
+
inline() {
|
|
28
|
+
return this.disabled || this.appendTo === 'self';
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
34
|
+
return ($options.inline)
|
|
35
|
+
? vue.renderSlot(_ctx.$slots, "default", { key: 0 })
|
|
36
|
+
: ($data.mounted)
|
|
37
|
+
? (vue.openBlock(), vue.createBlock(vue.Teleport, {
|
|
38
|
+
key: 1,
|
|
39
|
+
to: $props.appendTo
|
|
40
|
+
}, [
|
|
41
|
+
vue.renderSlot(_ctx.$slots, "default")
|
|
42
|
+
], 8, ["to"]))
|
|
43
|
+
: vue.createCommentVNode("", true)
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
script.render = render;
|
|
47
|
+
|
|
48
|
+
module.exports = script;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("primevue/utils"),t=require("vue"),o={name:"Portal",props:{appendTo:{type:String,default:"body"},disabled:{type:Boolean,default:!1}},data:()=>({mounted:!1}),mounted(){this.mounted=e.DomHandler.isClient()},computed:{inline(){return this.disabled||"self"===this.appendTo}}};o.render=function(e,o,n,r,d,l){return l.inline?t.renderSlot(e.$slots,"default",{key:0}):d.mounted?(t.openBlock(),t.createBlock(t.Teleport,{key:1,to:n.appendTo},[t.renderSlot(e.$slots,"default")],8,["to"])):t.createCommentVNode("",!0)},module.exports=o;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { DomHandler } from 'primevue/utils';
|
|
2
|
+
import { renderSlot, openBlock, createBlock, Teleport, createCommentVNode } from 'vue';
|
|
3
|
+
|
|
4
|
+
var script = {
|
|
5
|
+
name: 'Portal',
|
|
6
|
+
props: {
|
|
7
|
+
appendTo: {
|
|
8
|
+
type: String,
|
|
9
|
+
default: 'body'
|
|
10
|
+
},
|
|
11
|
+
disabled: {
|
|
12
|
+
type: Boolean,
|
|
13
|
+
default: false
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
data() {
|
|
17
|
+
return {
|
|
18
|
+
mounted: false
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
mounted() {
|
|
22
|
+
this.mounted = DomHandler.isClient();
|
|
23
|
+
},
|
|
24
|
+
computed: {
|
|
25
|
+
inline() {
|
|
26
|
+
return this.disabled || this.appendTo === 'self';
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
32
|
+
return ($options.inline)
|
|
33
|
+
? renderSlot(_ctx.$slots, "default", { key: 0 })
|
|
34
|
+
: ($data.mounted)
|
|
35
|
+
? (openBlock(), createBlock(Teleport, {
|
|
36
|
+
key: 1,
|
|
37
|
+
to: $props.appendTo
|
|
38
|
+
}, [
|
|
39
|
+
renderSlot(_ctx.$slots, "default")
|
|
40
|
+
], 8, ["to"]))
|
|
41
|
+
: createCommentVNode("", true)
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
script.render = render;
|
|
45
|
+
|
|
46
|
+
export { script as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{DomHandler as e}from"primevue/utils";import{renderSlot as t,openBlock as o,createBlock as d,Teleport as n,createCommentVNode as a}from"vue";var i={name:"Portal",props:{appendTo:{type:String,default:"body"},disabled:{type:Boolean,default:!1}},data:()=>({mounted:!1}),mounted(){this.mounted=e.isClient()},computed:{inline(){return this.disabled||"self"===this.appendTo}}};i.render=function(e,i,l,r,u,p){return p.inline?t(e.$slots,"default",{key:0}):u.mounted?(o(),d(n,{key:1,to:l.appendTo},[t(e.$slots,"default")],8,["to"])):a("",!0)};export{i as default};
|
package/portal/portal.js
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
this.primevue = this.primevue || {};
|
|
2
|
+
this.primevue.portal = (function (utils, vue) {
|
|
3
|
+
'use strict';
|
|
4
|
+
|
|
5
|
+
var script = {
|
|
6
|
+
name: 'Portal',
|
|
7
|
+
props: {
|
|
8
|
+
appendTo: {
|
|
9
|
+
type: String,
|
|
10
|
+
default: 'body'
|
|
11
|
+
},
|
|
12
|
+
disabled: {
|
|
13
|
+
type: Boolean,
|
|
14
|
+
default: false
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
data() {
|
|
18
|
+
return {
|
|
19
|
+
mounted: false
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
mounted() {
|
|
23
|
+
this.mounted = utils.DomHandler.isClient();
|
|
24
|
+
},
|
|
25
|
+
computed: {
|
|
26
|
+
inline() {
|
|
27
|
+
return this.disabled || this.appendTo === 'self';
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
33
|
+
return ($options.inline)
|
|
34
|
+
? vue.renderSlot(_ctx.$slots, "default", { key: 0 })
|
|
35
|
+
: ($data.mounted)
|
|
36
|
+
? (vue.openBlock(), vue.createBlock(vue.Teleport, {
|
|
37
|
+
key: 1,
|
|
38
|
+
to: $props.appendTo
|
|
39
|
+
}, [
|
|
40
|
+
vue.renderSlot(_ctx.$slots, "default")
|
|
41
|
+
], 8, ["to"]))
|
|
42
|
+
: vue.createCommentVNode("", true)
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
script.render = render;
|
|
46
|
+
|
|
47
|
+
return script;
|
|
48
|
+
|
|
49
|
+
})(primevue.utils, Vue);
|