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.
Files changed (281) hide show
  1. package/README.md +4 -4
  2. package/autocomplete/AutoComplete.d.ts +5 -0
  3. package/autocomplete/AutoComplete.vue +15 -12
  4. package/autocomplete/autocomplete.cjs.js +128 -124
  5. package/autocomplete/autocomplete.cjs.min.js +1 -1
  6. package/autocomplete/autocomplete.esm.js +128 -125
  7. package/autocomplete/autocomplete.esm.min.js +1 -1
  8. package/autocomplete/autocomplete.js +129 -126
  9. package/autocomplete/autocomplete.min.js +1 -1
  10. package/calendar/Calendar.vue +22 -17
  11. package/calendar/calendar.cjs.js +377 -367
  12. package/calendar/calendar.cjs.min.js +1 -1
  13. package/calendar/calendar.esm.js +377 -368
  14. package/calendar/calendar.esm.min.js +1 -1
  15. package/calendar/calendar.js +378 -369
  16. package/calendar/calendar.min.js +1 -1
  17. package/carousel/Carousel.vue +1 -1
  18. package/carousel/carousel.cjs.js +1 -1
  19. package/carousel/carousel.cjs.min.js +1 -1
  20. package/carousel/carousel.esm.js +1 -1
  21. package/carousel/carousel.esm.min.js +1 -1
  22. package/carousel/carousel.js +1 -1
  23. package/carousel/carousel.min.js +1 -1
  24. package/cascadeselect/CascadeSelect.vue +7 -11
  25. package/cascadeselect/cascadeselect.cjs.js +47 -49
  26. package/cascadeselect/cascadeselect.cjs.min.js +1 -1
  27. package/cascadeselect/cascadeselect.esm.js +47 -50
  28. package/cascadeselect/cascadeselect.esm.min.js +1 -1
  29. package/cascadeselect/cascadeselect.js +48 -51
  30. package/cascadeselect/cascadeselect.min.js +1 -1
  31. package/colorpicker/ColorPicker.vue +9 -11
  32. package/colorpicker/colorpicker.cjs.js +62 -61
  33. package/colorpicker/colorpicker.cjs.min.js +1 -1
  34. package/colorpicker/colorpicker.esm.js +62 -62
  35. package/colorpicker/colorpicker.esm.min.js +1 -1
  36. package/colorpicker/colorpicker.js +63 -63
  37. package/colorpicker/colorpicker.min.js +1 -1
  38. package/column/Column.d.ts +4 -0
  39. package/confirmpopup/ConfirmPopup.vue +6 -4
  40. package/confirmpopup/confirmpopup.cjs.js +57 -50
  41. package/confirmpopup/confirmpopup.cjs.min.js +1 -1
  42. package/confirmpopup/confirmpopup.esm.js +57 -51
  43. package/confirmpopup/confirmpopup.esm.min.js +1 -1
  44. package/confirmpopup/confirmpopup.js +58 -52
  45. package/confirmpopup/confirmpopup.min.js +1 -1
  46. package/contextmenu/ContextMenu.vue +6 -4
  47. package/contextmenu/contextmenu.cjs.js +36 -29
  48. package/contextmenu/contextmenu.cjs.min.js +1 -1
  49. package/contextmenu/contextmenu.esm.js +36 -30
  50. package/contextmenu/contextmenu.esm.min.js +1 -1
  51. package/contextmenu/contextmenu.js +37 -31
  52. package/contextmenu/contextmenu.min.js +1 -1
  53. package/core/core.js +449 -377
  54. package/core/core.min.js +14 -9
  55. package/datatable/ColumnFilter.vue +6 -4
  56. package/datatable/DataTable.d.ts +4 -1
  57. package/datatable/DataTable.vue +17 -7
  58. package/datatable/HeaderCell.vue +6 -1
  59. package/datatable/TableBody.vue +1 -6
  60. package/datatable/TableHeader.vue +5 -1
  61. package/datatable/datatable.cjs.js +187 -175
  62. package/datatable/datatable.cjs.min.js +1 -1
  63. package/datatable/datatable.esm.js +187 -176
  64. package/datatable/datatable.esm.min.js +1 -1
  65. package/datatable/datatable.js +188 -177
  66. package/datatable/datatable.min.js +1 -1
  67. package/dialog/Dialog.vue +6 -8
  68. package/dialog/dialog.cjs.js +103 -103
  69. package/dialog/dialog.cjs.min.js +1 -1
  70. package/dialog/dialog.esm.js +103 -104
  71. package/dialog/dialog.esm.min.js +1 -1
  72. package/dialog/dialog.js +104 -105
  73. package/dialog/dialog.min.js +1 -1
  74. package/dropdown/Dropdown.vue +13 -15
  75. package/dropdown/dropdown.cjs.js +150 -150
  76. package/dropdown/dropdown.cjs.min.js +1 -1
  77. package/dropdown/dropdown.esm.js +150 -151
  78. package/dropdown/dropdown.esm.min.js +1 -1
  79. package/dropdown/dropdown.js +151 -152
  80. package/dropdown/dropdown.min.js +1 -1
  81. package/galleria/Galleria.vue +5 -3
  82. package/galleria/galleria.cjs.js +40 -36
  83. package/galleria/galleria.cjs.min.js +1 -1
  84. package/galleria/galleria.esm.js +40 -37
  85. package/galleria/galleria.esm.min.js +1 -1
  86. package/galleria/galleria.js +41 -38
  87. package/galleria/galleria.min.js +1 -1
  88. package/image/Image.vue +6 -2
  89. package/image/image.cjs.js +74 -61
  90. package/image/image.cjs.min.js +1 -1
  91. package/image/image.esm.js +71 -62
  92. package/image/image.esm.min.js +1 -1
  93. package/image/image.js +75 -63
  94. package/image/image.min.js +1 -1
  95. package/inputnumber/InputNumber.vue +2 -1
  96. package/inputnumber/inputnumber.cjs.js +2 -1
  97. package/inputnumber/inputnumber.cjs.min.js +1 -1
  98. package/inputnumber/inputnumber.esm.js +2 -1
  99. package/inputnumber/inputnumber.esm.min.js +1 -1
  100. package/inputnumber/inputnumber.js +2 -1
  101. package/inputnumber/inputnumber.min.js +1 -1
  102. package/inputtext/InputText.d.ts +2 -2
  103. package/inputtext/InputText.vue +1 -0
  104. package/inputtext/inputtext.cjs.js +1 -0
  105. package/inputtext/inputtext.cjs.min.js +1 -1
  106. package/inputtext/inputtext.esm.js +1 -0
  107. package/inputtext/inputtext.esm.min.js +1 -1
  108. package/inputtext/inputtext.js +1 -0
  109. package/inputtext/inputtext.min.js +1 -1
  110. package/menu/Menu.d.ts +0 -1
  111. package/menu/Menu.vue +6 -4
  112. package/menu/menu.cjs.js +87 -80
  113. package/menu/menu.cjs.min.js +1 -1
  114. package/menu/menu.esm.js +87 -81
  115. package/menu/menu.esm.min.js +1 -1
  116. package/menu/menu.js +88 -82
  117. package/menu/menu.min.js +1 -1
  118. package/multiselect/MultiSelect.vue +11 -15
  119. package/multiselect/multiselect.cjs.js +205 -207
  120. package/multiselect/multiselect.cjs.min.js +1 -1
  121. package/multiselect/multiselect.esm.js +205 -208
  122. package/multiselect/multiselect.esm.min.js +1 -1
  123. package/multiselect/multiselect.js +206 -209
  124. package/multiselect/multiselect.min.js +1 -1
  125. package/overlaypanel/OverlayPanel.vue +7 -3
  126. package/overlaypanel/overlaypanel.cjs.js +50 -41
  127. package/overlaypanel/overlaypanel.cjs.min.js +1 -1
  128. package/overlaypanel/overlaypanel.esm.js +50 -42
  129. package/overlaypanel/overlaypanel.esm.min.js +1 -1
  130. package/overlaypanel/overlaypanel.js +51 -43
  131. package/overlaypanel/overlaypanel.min.js +1 -1
  132. package/package.json +1 -1
  133. package/panelmenu/PanelMenuSub.vue +1 -1
  134. package/panelmenu/panelmenu.cjs.js +1 -1
  135. package/panelmenu/panelmenu.cjs.min.js +1 -1
  136. package/panelmenu/panelmenu.esm.js +1 -1
  137. package/panelmenu/panelmenu.esm.min.js +1 -1
  138. package/panelmenu/panelmenu.js +1 -1
  139. package/panelmenu/panelmenu.min.js +1 -1
  140. package/password/Password.d.ts +2 -2
  141. package/password/Password.vue +7 -11
  142. package/password/password.cjs.js +41 -43
  143. package/password/password.cjs.min.js +1 -1
  144. package/password/password.esm.js +41 -44
  145. package/password/password.esm.min.js +1 -1
  146. package/password/password.js +42 -45
  147. package/password/password.min.js +1 -1
  148. package/portal/Portal.d.ts +36 -0
  149. package/portal/Portal.vue +41 -0
  150. package/portal/package.json +9 -0
  151. package/portal/portal.cjs.js +48 -0
  152. package/portal/portal.cjs.min.js +1 -0
  153. package/portal/portal.esm.js +46 -0
  154. package/portal/portal.esm.min.js +1 -0
  155. package/portal/portal.js +49 -0
  156. package/portal/portal.min.js +1 -0
  157. package/progressspinner/ProgressSpinner.vue +3 -3
  158. package/progressspinner/progressspinner.cjs.js +1 -1
  159. package/progressspinner/progressspinner.cjs.min.js +1 -1
  160. package/progressspinner/progressspinner.esm.js +1 -1
  161. package/progressspinner/progressspinner.esm.min.js +1 -1
  162. package/progressspinner/progressspinner.js +1 -1
  163. package/progressspinner/progressspinner.min.js +1 -1
  164. package/radiobutton/RadioButton.vue +3 -3
  165. package/resources/themes/arya-blue/theme.css +5 -2
  166. package/resources/themes/arya-green/theme.css +5 -2
  167. package/resources/themes/arya-orange/theme.css +5 -2
  168. package/resources/themes/arya-purple/theme.css +5 -2
  169. package/resources/themes/bootstrap4-dark-blue/theme.css +5 -2
  170. package/resources/themes/bootstrap4-dark-purple/theme.css +5 -2
  171. package/resources/themes/bootstrap4-light-blue/theme.css +4 -1
  172. package/resources/themes/bootstrap4-light-purple/theme.css +4 -1
  173. package/resources/themes/fluent-light/theme.css +5 -2
  174. package/resources/themes/lara-dark-blue/theme.css +5 -2
  175. package/resources/themes/lara-dark-indigo/theme.css +5 -2
  176. package/resources/themes/lara-dark-purple/theme.css +5 -2
  177. package/resources/themes/lara-dark-teal/theme.css +5 -2
  178. package/resources/themes/lara-light-blue/theme.css +5 -2
  179. package/resources/themes/lara-light-indigo/theme.css +5 -2
  180. package/resources/themes/lara-light-purple/theme.css +5 -2
  181. package/resources/themes/lara-light-teal/theme.css +5 -2
  182. package/resources/themes/luna-amber/theme.css +5 -2
  183. package/resources/themes/luna-blue/theme.css +5 -2
  184. package/resources/themes/luna-green/theme.css +5 -2
  185. package/resources/themes/luna-pink/theme.css +5 -2
  186. package/resources/themes/md-dark-deeppurple/theme.css +5 -2
  187. package/resources/themes/md-dark-indigo/theme.css +5 -2
  188. package/resources/themes/md-light-deeppurple/theme.css +5 -2
  189. package/resources/themes/md-light-indigo/theme.css +5 -2
  190. package/resources/themes/mdc-dark-deeppurple/theme.css +5 -2
  191. package/resources/themes/mdc-dark-indigo/theme.css +5 -2
  192. package/resources/themes/mdc-light-deeppurple/theme.css +5 -2
  193. package/resources/themes/mdc-light-indigo/theme.css +5 -2
  194. package/resources/themes/nova/theme.css +5 -2
  195. package/resources/themes/nova-accent/theme.css +5 -2
  196. package/resources/themes/nova-alt/theme.css +5 -2
  197. package/resources/themes/nova-vue/theme.css +5 -2
  198. package/resources/themes/rhea/theme.css +5 -2
  199. package/resources/themes/saga-blue/theme.css +5 -2
  200. package/resources/themes/saga-green/theme.css +5 -2
  201. package/resources/themes/saga-orange/theme.css +5 -2
  202. package/resources/themes/saga-purple/theme.css +5 -2
  203. package/resources/themes/tailwind-light/theme.css +5 -2
  204. package/resources/themes/vela-blue/theme.css +5 -2
  205. package/resources/themes/vela-green/theme.css +5 -2
  206. package/resources/themes/vela-orange/theme.css +5 -2
  207. package/resources/themes/vela-purple/theme.css +5 -2
  208. package/sidebar/Sidebar.vue +6 -2
  209. package/sidebar/sidebar.cjs.js +53 -44
  210. package/sidebar/sidebar.cjs.min.js +1 -1
  211. package/sidebar/sidebar.esm.js +53 -45
  212. package/sidebar/sidebar.esm.min.js +1 -1
  213. package/sidebar/sidebar.js +54 -46
  214. package/sidebar/sidebar.min.js +1 -1
  215. package/slider/Slider.vue +1 -1
  216. package/slider/slider.cjs.js +1 -1
  217. package/slider/slider.cjs.min.js +1 -1
  218. package/slider/slider.esm.js +1 -1
  219. package/slider/slider.esm.min.js +1 -1
  220. package/slider/slider.js +1 -1
  221. package/slider/slider.min.js +1 -1
  222. package/steps/Steps.vue +1 -4
  223. package/steps/steps.cjs.js +1 -4
  224. package/steps/steps.cjs.min.js +1 -1
  225. package/steps/steps.esm.js +1 -4
  226. package/steps/steps.esm.min.js +1 -1
  227. package/steps/steps.js +1 -4
  228. package/steps/steps.min.js +1 -1
  229. package/tabmenu/TabMenu.vue +3 -3
  230. package/tabmenu/tabmenu.cjs.js +1 -1
  231. package/tabmenu/tabmenu.esm.js +1 -1
  232. package/tabmenu/tabmenu.js +1 -1
  233. package/textarea/Textarea.vue +2 -1
  234. package/textarea/textarea.cjs.js +2 -1
  235. package/textarea/textarea.cjs.min.js +1 -1
  236. package/textarea/textarea.esm.js +2 -1
  237. package/textarea/textarea.esm.min.js +1 -1
  238. package/textarea/textarea.js +2 -1
  239. package/textarea/textarea.min.js +1 -1
  240. package/tieredmenu/TieredMenu.d.ts +0 -1
  241. package/tieredmenu/TieredMenu.vue +6 -4
  242. package/tieredmenu/tieredmenu.cjs.js +41 -34
  243. package/tieredmenu/tieredmenu.cjs.min.js +1 -1
  244. package/tieredmenu/tieredmenu.esm.js +41 -35
  245. package/tieredmenu/tieredmenu.esm.min.js +1 -1
  246. package/tieredmenu/tieredmenu.js +42 -36
  247. package/tieredmenu/tieredmenu.min.js +1 -1
  248. package/toast/Toast.vue +5 -3
  249. package/toast/toast.cjs.js +33 -26
  250. package/toast/toast.cjs.min.js +1 -1
  251. package/toast/toast.esm.js +33 -27
  252. package/toast/toast.esm.min.js +1 -1
  253. package/toast/toast.js +34 -28
  254. package/toast/toast.min.js +1 -1
  255. package/toolbar/Toolbar.vue +2 -2
  256. package/tooltip/tooltip.cjs.js +7 -1
  257. package/tooltip/tooltip.cjs.min.js +1 -1
  258. package/tooltip/tooltip.esm.js +7 -1
  259. package/tooltip/tooltip.esm.min.js +1 -1
  260. package/tooltip/tooltip.js +7 -1
  261. package/tooltip/tooltip.min.js +1 -1
  262. package/treeselect/TreeSelect.vue +7 -11
  263. package/treeselect/treeselect.cjs.js +63 -65
  264. package/treeselect/treeselect.cjs.min.js +1 -1
  265. package/treeselect/treeselect.esm.js +63 -66
  266. package/treeselect/treeselect.esm.min.js +1 -1
  267. package/treeselect/treeselect.js +64 -67
  268. package/treeselect/treeselect.min.js +1 -1
  269. package/treetable/FooterCell.vue +1 -1
  270. package/treetable/TreeTableRow.vue +2 -2
  271. package/tristatecheckbox/TriStateCheckbox.vue +3 -3
  272. package/utils/Utils.d.ts +1 -0
  273. package/utils/utils.cjs.js +4 -0
  274. package/utils/utils.cjs.min.js +1 -1
  275. package/utils/utils.esm.js +4 -0
  276. package/utils/utils.esm.min.js +1 -1
  277. package/utils/utils.js +4 -0
  278. package/utils/utils.min.js +1 -1
  279. package/vetur-attributes.json +14 -2
  280. package/vetur-tags.json +8 -0
  281. 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 l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var i=l(t),r={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(){this.appendDisabled?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&&(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.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},appendDisabled(){return"self"===this.appendTo},appendTarget(){return this.appendDisabled?null:this.appendTo}},components:{PInputText:l(n).default}};const o={class:"p-password-meter"},a={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"),r.render=function(e,t,n,l,i,r){const d=s.resolveComponent("PInputText");return s.openBlock(),s.createElementBlock("div",{class:s.normalizeClass(r.containerClass),style:s.normalizeStyle(n.style)},[s.createVNode(d,s.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?(s.openBlock(),s.createElementBlock("i",{key:0,class:s.normalizeClass(r.toggleIconClass),onClick:t[0]||(t[0]=(...e)=>r.onMaskToggle&&r.onMaskToggle(...e))},null,2)):s.createCommentVNode("",!0),(s.openBlock(),s.createBlock(s.Teleport,{to:r.appendTarget,disabled:r.appendDisabled},[s.createVNode(s.Transition,{name:"p-connected-overlay",onEnter:r.onOverlayEnter,onLeave:r.onOverlayLeave,onAfterLeave:r.onOverlayAfterLeave},{default:s.withCtx((()=>[i.overlayVisible?(s.openBlock(),s.createElementBlock("div",{key:0,ref:r.overlayRef,class:s.normalizeClass(r.panelStyleClass),onClick:t[1]||(t[1]=(...e)=>r.onOverlayClick&&r.onOverlayClick(...e))},[s.renderSlot(e.$slots,"header"),s.renderSlot(e.$slots,"content",{},(()=>[s.createElementVNode("div",o,[s.createElementVNode("div",{class:s.normalizeClass(r.strengthClass),style:s.normalizeStyle({width:i.meter?i.meter.width:""})},null,6)]),s.createElementVNode("div",a,s.toDisplayString(i.infoText),1)])),s.renderSlot(e.$slots,"footer")],2)):s.createCommentVNode("",!0)])),_:3},8,["onEnter","onLeave","onAfterLeave"])],8,["to","disabled"]))],6)},module.exports=r;
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;
@@ -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 { resolveComponent, openBlock, createElementBlock, normalizeClass, normalizeStyle, createVNode, mergeProps, createCommentVNode, createBlock, Teleport, Transition, withCtx, renderSlot, createElementVNode, toDisplayString } from 'vue';
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.appendDisabled) {
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
- (openBlock(), createBlock(Teleport, {
318
- to: $options.appendTarget,
319
- disabled: $options.appendDisabled
320
- }, [
321
- createVNode(Transition, {
322
- name: "p-connected-overlay",
323
- onEnter: $options.onOverlayEnter,
324
- onLeave: $options.onOverlayLeave,
325
- onAfterLeave: $options.onOverlayAfterLeave
326
- }, {
327
- default: withCtx(() => [
328
- ($data.overlayVisible)
329
- ? (openBlock(), createElementBlock("div", {
330
- key: 0,
331
- ref: $options.overlayRef,
332
- class: normalizeClass($options.panelStyleClass),
333
- onClick: _cache[1] || (_cache[1] = (...args) => ($options.onOverlayClick && $options.onOverlayClick(...args)))
334
- }, [
335
- renderSlot(_ctx.$slots, "header"),
336
- renderSlot(_ctx.$slots, "content", {}, () => [
337
- createElementVNode("div", _hoisted_1, [
338
- createElementVNode("div", {
339
- class: normalizeClass($options.strengthClass),
340
- style: normalizeStyle({'width': $data.meter ? $data.meter.width : ''})
341
- }, null, 6)
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
- createElementVNode("div", _hoisted_2, toDisplayString($data.infoText), 1)
344
- ]),
345
- renderSlot(_ctx.$slots, "footer")
346
- ], 2))
347
- : createCommentVNode("", true)
348
- ]),
349
- _: 3
350
- }, 8, ["onEnter", "onLeave", "onAfterLeave"])
351
- ], 8, ["to", "disabled"]))
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 l,openBlock as r,createElementBlock as a,normalizeClass as o,normalizeStyle as p,createVNode as d,mergeProps as u,createCommentVNode as h,createBlock as c,Teleport as m,Transition as y,withCtx as g,renderSlot as v,createElementVNode as f,toDisplayString as b}from"vue";var w={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(){this.appendDisabled?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&&(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},appendDisabled(){return"self"===this.appendTo},appendTarget(){return this.appendDisabled?null:this.appendTo}},components:{PInputText:n}};const x={class:"p-password-meter"},k={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"),w.render=function(e,t,s,i,n,w){const L=l("PInputText");return r(),a("div",{class:o(w.containerClass),style:p(s.style)},[d(L,u({ref:"input",class:w.inputFieldClass,style:s.inputStyle,type:w.inputType,value:s.modelValue,onInput:w.onInput,onFocus:w.onFocus,onBlur:w.onBlur,onKeyup:w.onKeyUp},e.$attrs),null,16,["class","style","type","value","onInput","onFocus","onBlur","onKeyup"]),s.toggleMask?(r(),a("i",{key:0,class:o(w.toggleIconClass),onClick:t[0]||(t[0]=(...e)=>w.onMaskToggle&&w.onMaskToggle(...e))},null,2)):h("",!0),(r(),c(m,{to:w.appendTarget,disabled:w.appendDisabled},[d(y,{name:"p-connected-overlay",onEnter:w.onOverlayEnter,onLeave:w.onOverlayLeave,onAfterLeave:w.onOverlayAfterLeave},{default:g((()=>[n.overlayVisible?(r(),a("div",{key:0,ref:w.overlayRef,class:o(w.panelStyleClass),onClick:t[1]||(t[1]=(...e)=>w.onOverlayClick&&w.onOverlayClick(...e))},[v(e.$slots,"header"),v(e.$slots,"content",{},(()=>[f("div",x,[f("div",{class:o(w.strengthClass),style:p({width:n.meter?n.meter.width:""})},null,6)]),f("div",k,b(n.infoText),1)])),v(e.$slots,"footer")],2)):h("",!0)])),_:3},8,["onEnter","onLeave","onAfterLeave"])],8,["to","disabled"]))],6)};export{w as default};
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};
@@ -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.appendDisabled) {
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
- (vue.openBlock(), vue.createBlock(vue.Teleport, {
322
- to: $options.appendTarget,
323
- disabled: $options.appendDisabled
324
- }, [
325
- vue.createVNode(vue.Transition, {
326
- name: "p-connected-overlay",
327
- onEnter: $options.onOverlayEnter,
328
- onLeave: $options.onOverlayLeave,
329
- onAfterLeave: $options.onOverlayAfterLeave
330
- }, {
331
- default: vue.withCtx(() => [
332
- ($data.overlayVisible)
333
- ? (vue.openBlock(), vue.createElementBlock("div", {
334
- key: 0,
335
- ref: $options.overlayRef,
336
- class: vue.normalizeClass($options.panelStyleClass),
337
- onClick: _cache[1] || (_cache[1] = (...args) => ($options.onOverlayClick && $options.onOverlayClick(...args)))
338
- }, [
339
- vue.renderSlot(_ctx.$slots, "header"),
340
- vue.renderSlot(_ctx.$slots, "content", {}, () => [
341
- vue.createElementVNode("div", _hoisted_1, [
342
- vue.createElementVNode("div", {
343
- class: vue.normalizeClass($options.strengthClass),
344
- style: vue.normalizeStyle({'width': $data.meter ? $data.meter.width : ''})
345
- }, null, 6)
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.createElementVNode("div", _hoisted_2, vue.toDisplayString($data.infoText), 1)
348
- ]),
349
- vue.renderSlot(_ctx.$slots, "footer")
350
- ], 2))
351
- : vue.createCommentVNode("", true)
352
- ]),
353
- _: 3
354
- }, 8, ["onEnter", "onLeave", "onAfterLeave"])
355
- ], 8, ["to", "disabled"]))
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);
@@ -1 +1 @@
1
- this.primevue=this.primevue||{},this.primevue.password=function(e,t,n,s){"use strict";function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=i(t),r={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(){this.appendDisabled?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&&(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){l.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},appendDisabled(){return"self"===this.appendTo},appendTarget(){return this.appendDisabled?null:this.appendTo}},components:{PInputText:i(n).default}};const o={class:"p-password-meter"},a={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"),r.render=function(e,t,n,i,l,r){const p=s.resolveComponent("PInputText");return s.openBlock(),s.createElementBlock("div",{class:s.normalizeClass(r.containerClass),style:s.normalizeStyle(n.style)},[s.createVNode(p,s.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?(s.openBlock(),s.createElementBlock("i",{key:0,class:s.normalizeClass(r.toggleIconClass),onClick:t[0]||(t[0]=(...e)=>r.onMaskToggle&&r.onMaskToggle(...e))},null,2)):s.createCommentVNode("",!0),(s.openBlock(),s.createBlock(s.Teleport,{to:r.appendTarget,disabled:r.appendDisabled},[s.createVNode(s.Transition,{name:"p-connected-overlay",onEnter:r.onOverlayEnter,onLeave:r.onOverlayLeave,onAfterLeave:r.onOverlayAfterLeave},{default:s.withCtx((()=>[l.overlayVisible?(s.openBlock(),s.createElementBlock("div",{key:0,ref:r.overlayRef,class:s.normalizeClass(r.panelStyleClass),onClick:t[1]||(t[1]=(...e)=>r.onOverlayClick&&r.onOverlayClick(...e))},[s.renderSlot(e.$slots,"header"),s.renderSlot(e.$slots,"content",{},(()=>[s.createElementVNode("div",o,[s.createElementVNode("div",{class:s.normalizeClass(r.strengthClass),style:s.normalizeStyle({width:l.meter?l.meter.width:""})},null,6)]),s.createElementVNode("div",a,s.toDisplayString(l.infoText),1)])),s.renderSlot(e.$slots,"footer")],2)):s.createCommentVNode("",!0)])),_:3},8,["onEnter","onLeave","onAfterLeave"])],8,["to","disabled"]))],6)},r}(primevue.utils,primevue.overlayeventbus,primevue.inputtext,Vue);
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,9 @@
1
+ {
2
+ "main": "./portal.cjs.js",
3
+ "module": "./portal.esm.js",
4
+ "unpkg": "./portal.min.js",
5
+ "types": "./Portal.d.ts",
6
+ "browser": {
7
+ "./sfc": "./Portal.vue"
8
+ }
9
+ }
@@ -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};
@@ -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);