{"version":3,"file":"index.mjs","sources":["../../src/password/BasePassword.vue","../../src/password/Password.vue","../../src/password/Password.vue?vue&type=template&id=1423cab3&lang.js"],"sourcesContent":["<script>\nimport BaseInput from '@primevue/core/baseinput';\nimport PasswordStyle from 'primevue/password/style';\n\nexport default {\n    name: 'BasePassword',\n    extends: BaseInput,\n    props: {\n        promptLabel: {\n            type: String,\n            default: null\n        },\n        mediumRegex: {\n            type: [String, RegExp],\n            default: '^(((?=.*[a-z])(?=.*[A-Z]))|((?=.*[a-z])(?=.*[0-9]))|((?=.*[A-Z])(?=.*[0-9])))(?=.{6,})' // eslint-disable-line\n        },\n        strongRegex: {\n            type: [String, RegExp],\n            default: '^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.{8,})' // eslint-disable-line\n        },\n        weakLabel: {\n            type: String,\n            default: null\n        },\n        mediumLabel: {\n            type: String,\n            default: null\n        },\n        strongLabel: {\n            type: String,\n            default: null\n        },\n        feedback: {\n            type: Boolean,\n            default: true\n        },\n        appendTo: {\n            type: [String, Object],\n            default: 'body'\n        },\n        toggleMask: {\n            type: Boolean,\n            default: false\n        },\n        hideIcon: {\n            type: String,\n            default: undefined\n        },\n        maskIcon: {\n            type: String,\n            default: undefined\n        },\n        showIcon: {\n            type: String,\n            default: undefined\n        },\n        unmaskIcon: {\n            type: String,\n            default: undefined\n        },\n        showClear: {\n            type: Boolean,\n            default: false\n        },\n        disabled: {\n            type: Boolean,\n            default: false\n        },\n        placeholder: {\n            type: String,\n            default: null\n        },\n        required: {\n            type: Boolean,\n            default: false\n        },\n        inputId: {\n            type: String,\n            default: null\n        },\n        inputClass: {\n            type: [String, Object],\n            default: null\n        },\n        inputStyle: {\n            type: Object,\n            default: null\n        },\n        inputProps: {\n            type: null,\n            default: null\n        },\n        panelId: {\n            type: String,\n            default: null\n        },\n        panelClass: {\n            type: [String, Object],\n            default: null\n        },\n        panelStyle: {\n            type: Object,\n            default: null\n        },\n        panelProps: {\n            type: null,\n            default: null\n        },\n        overlayId: {\n            type: String,\n            default: null\n        },\n        overlayClass: {\n            type: [String, Object],\n            default: null\n        },\n        overlayStyle: {\n            type: Object,\n            default: null\n        },\n        overlayProps: {\n            type: null,\n            default: null\n        },\n        ariaLabelledby: {\n            type: String,\n            default: null\n        },\n        ariaLabel: {\n            type: String,\n            default: null\n        },\n        autofocus: {\n            type: Boolean,\n            default: null\n        }\n    },\n    style: PasswordStyle,\n    provide() {\n        return {\n            $pcPassword: this,\n            $parentInstance: this\n        };\n    }\n};\n</script>\n","<template>\n    <div :class=\"cx('root')\" :style=\"sx('root')\" :data-p=\"containerDataP\" v-bind=\"ptmi('root')\">\n        <InputText\n            ref=\"input\"\n            :id=\"inputId\"\n            :type=\"inputType\"\n            :class=\"[cx('pcInputText'), inputClass]\"\n            :style=\"inputStyle\"\n            :defaultValue=\"d_value\"\n            :name=\"$formName\"\n            :aria-labelledby=\"ariaLabelledby\"\n            :aria-label=\"ariaLabel\"\n            :aria-expanded=\"overlayVisible\"\n            :aria-controls=\"overlayVisible ? (overlayProps && overlayProps.id) || overlayId || (panelProps && panelProps.id) || panelId || overlayUniqueId : undefined\"\n            :aria-haspopup=\"feedback\"\n            :placeholder=\"placeholder\"\n            :required=\"required\"\n            :fluid=\"fluid\"\n            :disabled=\"disabled\"\n            :variant=\"variant\"\n            :invalid=\"invalid\"\n            :size=\"size\"\n            :autofocus=\"autofocus\"\n            @input=\"onInput\"\n            @focus=\"onFocus\"\n            @blur=\"onBlur\"\n            @keyup=\"onKeyUp\"\n            @invalid=\"onInvalid\"\n            v-bind=\"inputProps\"\n            :data-p-has-e-icon=\"toggleMask\"\n            :pt=\"ptm('pcInputText')\"\n            :unstyled=\"unstyled\"\n        />\n        <!-- TODO: hideicon and showicon slots are deprecated since v4.0-->\n        <slot v-if=\"toggleMask && unmasked\" :name=\"$slots.maskicon ? 'maskicon' : 'hideicon'\" :toggleCallback=\"onMaskToggle\" :class=\"[cx('maskIcon'), maskIcon]\" v-bind=\"ptm('maskIcon')\">\n            <component :is=\"maskIcon ? 'i' : 'EyeSlashIcon'\" :class=\"[cx('maskIcon'), maskIcon]\" @click=\"onMaskToggle\" v-bind=\"ptm('maskIcon')\" />\n        </slot>\n        <slot v-if=\"toggleMask && !unmasked\" :name=\"$slots.unmaskicon ? 'unmaskicon' : 'showicon'\" :toggleCallback=\"onMaskToggle\" :class=\"[cx('unmaskIcon')]\" v-bind=\"ptm('unmaskIcon')\">\n            <component :is=\"unmaskIcon ? 'i' : 'EyeIcon'\" :class=\"[cx('unmaskIcon'), unmaskIcon]\" @click=\"onMaskToggle\" v-bind=\"ptm('unmaskIcon')\" />\n        </slot>\n        <slot v-if=\"isClearIconVisible\" name=\"clearicon\" :class=\"cx('clearIcon')\" :clearCallback=\"onClearClick\" v-bind=\"ptm('clearIcon')\">\n            <TimesIcon :class=\"[cx('clearIcon')]\" @click=\"onClearClick\" v-bind=\"ptm('clearIcon')\" />\n        </slot>\n        <span class=\"p-hidden-accessible\" aria-live=\"polite\" v-bind=\"ptm('hiddenAccesible')\" :data-p-hidden-accessible=\"true\">\n            {{ infoText }}\n        </span>\n        <Portal :appendTo=\"appendTo\">\n            <transition name=\"p-anchored-overlay\" @enter=\"onOverlayEnter\" @leave=\"onOverlayLeave\" @after-leave=\"onOverlayAfterLeave\" v-bind=\"ptm('transition')\">\n                <div\n                    v-if=\"overlayVisible\"\n                    :ref=\"overlayRef\"\n                    :id=\"overlayId || panelId || overlayUniqueId\"\n                    :class=\"[cx('overlay'), panelClass, overlayClass]\"\n                    :style=\"[overlayStyle, panelStyle]\"\n                    @click=\"onOverlayClick\"\n                    :data-p=\"overlayDataP\"\n                    role=\"dialog\"\n                    aria-live=\"polite\"\n                    v-bind=\"{ ...panelProps, ...overlayProps, ...ptm('overlay') }\"\n                >\n                    <slot name=\"header\"></slot>\n                    <slot name=\"content\">\n                        <div :class=\"cx('content')\" v-bind=\"ptm('content')\">\n                            <div :class=\"cx('meter')\" v-bind=\"ptm('meter')\">\n                                <div :class=\"cx('meterLabel')\" :style=\"{ width: meter ? meter.width : '' }\" :data-p=\"meterDataP\" v-bind=\"ptm('meterLabel')\"></div>\n                            </div>\n                            <div :class=\"cx('meterText')\" v-bind=\"ptm('meterText')\">{{ infoText }}</div>\n                        </div>\n                    </slot>\n                    <slot name=\"footer\"></slot>\n                </div>\n            </transition>\n        </Portal>\n    </div>\n</template>\n\n<script>\nimport { cn } from '@primeuix/utils';\nimport { absolutePosition, addStyle, getOuterWidth, isTouchDevice, relativePosition } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport { ConnectedOverlayScrollHandler } from '@primevue/core/utils';\nimport EyeIcon from '@primevue/icons/eye';\nimport EyeSlashIcon from '@primevue/icons/eyeslash';\nimport TimesIcon from '@primevue/icons/times';\nimport InputText from 'primevue/inputtext';\nimport OverlayEventBus from 'primevue/overlayeventbus';\nimport Portal from 'primevue/portal';\nimport BasePassword from './BasePassword.vue';\n\nexport default {\n    name: 'Password',\n    extends: BasePassword,\n    inheritAttrs: false,\n    emits: ['change', 'focus', 'blur', 'invalid'],\n    inject: {\n        $pcFluid: { default: null }\n    },\n    data() {\n        return {\n            overlayVisible: false,\n            meter: null,\n            infoText: null,\n            focused: false,\n            unmasked: false\n        };\n    },\n    mediumCheckRegExp: null,\n    strongCheckRegExp: null,\n    resizeListener: null,\n    scrollHandler: null,\n    overlay: null,\n    mounted() {\n        this.infoText = this.promptText;\n        this.mediumCheckRegExp = new RegExp(this.mediumRegex);\n        this.strongCheckRegExp = new RegExp(this.strongRegex);\n    },\n    beforeUnmount() {\n        this.unbindResizeListener();\n\n        if (this.scrollHandler) {\n            this.scrollHandler.destroy();\n            this.scrollHandler = null;\n        }\n\n        if (this.overlay) {\n            ZIndex.clear(this.overlay);\n            this.overlay = null;\n        }\n    },\n    methods: {\n        onOverlayEnter(el) {\n            ZIndex.set('overlay', el, this.$primevue.config.zIndex.overlay);\n\n            addStyle(el, { position: 'absolute', top: '0' });\n            this.alignOverlay();\n            this.bindScrollListener();\n            this.bindResizeListener();\n\n            // Issue: #7508\n            this.$attrSelector && el.setAttribute(this.$attrSelector, '');\n        },\n        onOverlayLeave() {\n            this.unbindScrollListener();\n            this.unbindResizeListener();\n            this.overlay = null;\n        },\n        onOverlayAfterLeave(el) {\n            ZIndex.clear(el);\n        },\n        alignOverlay() {\n            if (this.appendTo === 'self') {\n                relativePosition(this.overlay, this.$refs.input.$el);\n            } else {\n                this.overlay.style.minWidth = getOuterWidth(this.$refs.input.$el) + 'px';\n                absolutePosition(this.overlay, this.$refs.input.$el);\n            }\n        },\n        testStrength(str) {\n            let level = 0;\n\n            if (this.strongCheckRegExp.test(str)) level = 3;\n            else if (this.mediumCheckRegExp.test(str)) level = 2;\n            else if (str.length) level = 1;\n\n            return level;\n        },\n        onInput(event) {\n            this.writeValue(event.target.value, event);\n            this.$emit('change', event);\n        },\n        onFocus(event) {\n            this.focused = true;\n\n            if (this.feedback) {\n                this.setPasswordMeter(this.d_value);\n                this.overlayVisible = true;\n            }\n\n            this.$emit('focus', event);\n        },\n        onBlur(event) {\n            this.focused = false;\n\n            if (this.feedback) {\n                this.overlayVisible = false;\n            }\n\n            this.$emit('blur', event);\n        },\n        onKeyUp(event) {\n            if (this.feedback) {\n                const value = event.target.value;\n                const { meter, label } = this.checkPasswordStrength(value);\n\n                this.meter = meter;\n                this.infoText = label;\n\n                if (event.code === 'Escape') {\n                    this.overlayVisible && (this.overlayVisible = false);\n\n                    return;\n                }\n\n                if (!this.overlayVisible) {\n                    this.overlayVisible = true;\n                }\n            }\n        },\n        setPasswordMeter() {\n            if (!this.d_value) {\n                this.meter = null;\n                this.infoText = this.promptText;\n\n                return;\n            }\n\n            const { meter, label } = this.checkPasswordStrength(this.d_value);\n\n            this.meter = meter;\n            this.infoText = label;\n\n            if (!this.overlayVisible) {\n                this.overlayVisible = true;\n            }\n        },\n        checkPasswordStrength(value) {\n            let label = null;\n            let meter = null;\n\n            switch (this.testStrength(value)) {\n                case 1:\n                    label = this.weakText;\n                    meter = {\n                        strength: 'weak',\n                        width: '33.33%'\n                    };\n                    break;\n\n                case 2:\n                    label = this.mediumText;\n                    meter = {\n                        strength: 'medium',\n                        width: '66.66%'\n                    };\n                    break;\n\n                case 3:\n                    label = this.strongText;\n                    meter = {\n                        strength: 'strong',\n                        width: '100%'\n                    };\n                    break;\n\n                default:\n                    label = this.promptText;\n                    meter = null;\n                    break;\n            }\n\n            return { label, meter };\n        },\n        onInvalid(event) {\n            this.$emit('invalid', event);\n        },\n        bindScrollListener() {\n            if (!this.scrollHandler) {\n                this.scrollHandler = new ConnectedOverlayScrollHandler(this.$refs.input.$el, () => {\n                    if (this.overlayVisible) {\n                        this.overlayVisible = false;\n                    }\n                });\n            }\n\n            this.scrollHandler.bindScrollListener();\n        },\n        unbindScrollListener() {\n            if (this.scrollHandler) {\n                this.scrollHandler.unbindScrollListener();\n            }\n        },\n        bindResizeListener() {\n            if (!this.resizeListener) {\n                this.resizeListener = () => {\n                    if (this.overlayVisible && !isTouchDevice()) {\n                        this.overlayVisible = false;\n                    }\n                };\n\n                window.addEventListener('resize', this.resizeListener);\n            }\n        },\n        unbindResizeListener() {\n            if (this.resizeListener) {\n                window.removeEventListener('resize', this.resizeListener);\n                this.resizeListener = null;\n            }\n        },\n        overlayRef(el) {\n            this.overlay = el;\n        },\n        onMaskToggle() {\n            this.unmasked = !this.unmasked;\n        },\n        onClearClick(event) {\n            this.writeValue(null, {});\n        },\n        onOverlayClick(event) {\n            OverlayEventBus.emit('overlay-click', {\n                originalEvent: event,\n                target: this.$el\n            });\n        }\n    },\n    computed: {\n        inputType() {\n            return this.unmasked ? 'text' : 'password';\n        },\n        weakText() {\n            return this.weakLabel || this.$primevue.config.locale.weak;\n        },\n        mediumText() {\n            return this.mediumLabel || this.$primevue.config.locale.medium;\n        },\n        strongText() {\n            return this.strongLabel || this.$primevue.config.locale.strong;\n        },\n        promptText() {\n            return this.promptLabel || this.$primevue.config.locale.passwordPrompt;\n        },\n        isClearIconVisible() {\n            return this.showClear && this.$filled && !this.disabled;\n        },\n        overlayUniqueId() {\n            return this.$id + '_overlay';\n        },\n        containerDataP() {\n            return cn({\n                fluid: this.$fluid\n            });\n        },\n        meterDataP() {\n            return cn({\n                [this.meter?.strength]: this.meter?.strength\n            });\n        },\n        overlayDataP() {\n            return cn({\n                ['portal-' + this.appendTo]: 'portal-' + this.appendTo\n            });\n        }\n    },\n    components: {\n        InputText,\n        Portal,\n        EyeSlashIcon,\n        EyeIcon,\n        TimesIcon\n    }\n};\n</script>\n","<template>\n    <div :class=\"cx('root')\" :style=\"sx('root')\" :data-p=\"containerDataP\" v-bind=\"ptmi('root')\">\n        <InputText\n            ref=\"input\"\n            :id=\"inputId\"\n            :type=\"inputType\"\n            :class=\"[cx('pcInputText'), inputClass]\"\n            :style=\"inputStyle\"\n            :defaultValue=\"d_value\"\n            :name=\"$formName\"\n            :aria-labelledby=\"ariaLabelledby\"\n            :aria-label=\"ariaLabel\"\n            :aria-expanded=\"overlayVisible\"\n            :aria-controls=\"overlayVisible ? (overlayProps && overlayProps.id) || overlayId || (panelProps && panelProps.id) || panelId || overlayUniqueId : undefined\"\n            :aria-haspopup=\"feedback\"\n            :placeholder=\"placeholder\"\n            :required=\"required\"\n            :fluid=\"fluid\"\n            :disabled=\"disabled\"\n            :variant=\"variant\"\n            :invalid=\"invalid\"\n            :size=\"size\"\n            :autofocus=\"autofocus\"\n            @input=\"onInput\"\n            @focus=\"onFocus\"\n            @blur=\"onBlur\"\n            @keyup=\"onKeyUp\"\n            @invalid=\"onInvalid\"\n            v-bind=\"inputProps\"\n            :data-p-has-e-icon=\"toggleMask\"\n            :pt=\"ptm('pcInputText')\"\n            :unstyled=\"unstyled\"\n        />\n        <!-- TODO: hideicon and showicon slots are deprecated since v4.0-->\n        <slot v-if=\"toggleMask && unmasked\" :name=\"$slots.maskicon ? 'maskicon' : 'hideicon'\" :toggleCallback=\"onMaskToggle\" :class=\"[cx('maskIcon'), maskIcon]\" v-bind=\"ptm('maskIcon')\">\n            <component :is=\"maskIcon ? 'i' : 'EyeSlashIcon'\" :class=\"[cx('maskIcon'), maskIcon]\" @click=\"onMaskToggle\" v-bind=\"ptm('maskIcon')\" />\n        </slot>\n        <slot v-if=\"toggleMask && !unmasked\" :name=\"$slots.unmaskicon ? 'unmaskicon' : 'showicon'\" :toggleCallback=\"onMaskToggle\" :class=\"[cx('unmaskIcon')]\" v-bind=\"ptm('unmaskIcon')\">\n            <component :is=\"unmaskIcon ? 'i' : 'EyeIcon'\" :class=\"[cx('unmaskIcon'), unmaskIcon]\" @click=\"onMaskToggle\" v-bind=\"ptm('unmaskIcon')\" />\n        </slot>\n        <slot v-if=\"isClearIconVisible\" name=\"clearicon\" :class=\"cx('clearIcon')\" :clearCallback=\"onClearClick\" v-bind=\"ptm('clearIcon')\">\n            <TimesIcon :class=\"[cx('clearIcon')]\" @click=\"onClearClick\" v-bind=\"ptm('clearIcon')\" />\n        </slot>\n        <span class=\"p-hidden-accessible\" aria-live=\"polite\" v-bind=\"ptm('hiddenAccesible')\" :data-p-hidden-accessible=\"true\">\n            {{ infoText }}\n        </span>\n        <Portal :appendTo=\"appendTo\">\n            <transition name=\"p-anchored-overlay\" @enter=\"onOverlayEnter\" @leave=\"onOverlayLeave\" @after-leave=\"onOverlayAfterLeave\" v-bind=\"ptm('transition')\">\n                <div\n                    v-if=\"overlayVisible\"\n                    :ref=\"overlayRef\"\n                    :id=\"overlayId || panelId || overlayUniqueId\"\n                    :class=\"[cx('overlay'), panelClass, overlayClass]\"\n                    :style=\"[overlayStyle, panelStyle]\"\n                    @click=\"onOverlayClick\"\n                    :data-p=\"overlayDataP\"\n                    role=\"dialog\"\n                    aria-live=\"polite\"\n                    v-bind=\"{ ...panelProps, ...overlayProps, ...ptm('overlay') }\"\n                >\n                    <slot name=\"header\"></slot>\n                    <slot name=\"content\">\n                        <div :class=\"cx('content')\" v-bind=\"ptm('content')\">\n                            <div :class=\"cx('meter')\" v-bind=\"ptm('meter')\">\n                                <div :class=\"cx('meterLabel')\" :style=\"{ width: meter ? meter.width : '' }\" :data-p=\"meterDataP\" v-bind=\"ptm('meterLabel')\"></div>\n                            </div>\n                            <div :class=\"cx('meterText')\" v-bind=\"ptm('meterText')\">{{ infoText }}</div>\n                        </div>\n                    </slot>\n                    <slot name=\"footer\"></slot>\n                </div>\n            </transition>\n        </Portal>\n    </div>\n</template>\n\n<script>\nimport { cn } from '@primeuix/utils';\nimport { absolutePosition, addStyle, getOuterWidth, isTouchDevice, relativePosition } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport { ConnectedOverlayScrollHandler } from '@primevue/core/utils';\nimport EyeIcon from '@primevue/icons/eye';\nimport EyeSlashIcon from '@primevue/icons/eyeslash';\nimport TimesIcon from '@primevue/icons/times';\nimport InputText from 'primevue/inputtext';\nimport OverlayEventBus from 'primevue/overlayeventbus';\nimport Portal from 'primevue/portal';\nimport BasePassword from './BasePassword.vue';\n\nexport default {\n    name: 'Password',\n    extends: BasePassword,\n    inheritAttrs: false,\n    emits: ['change', 'focus', 'blur', 'invalid'],\n    inject: {\n        $pcFluid: { default: null }\n    },\n    data() {\n        return {\n            overlayVisible: false,\n            meter: null,\n            infoText: null,\n            focused: false,\n            unmasked: false\n        };\n    },\n    mediumCheckRegExp: null,\n    strongCheckRegExp: null,\n    resizeListener: null,\n    scrollHandler: null,\n    overlay: null,\n    mounted() {\n        this.infoText = this.promptText;\n        this.mediumCheckRegExp = new RegExp(this.mediumRegex);\n        this.strongCheckRegExp = new RegExp(this.strongRegex);\n    },\n    beforeUnmount() {\n        this.unbindResizeListener();\n\n        if (this.scrollHandler) {\n            this.scrollHandler.destroy();\n            this.scrollHandler = null;\n        }\n\n        if (this.overlay) {\n            ZIndex.clear(this.overlay);\n            this.overlay = null;\n        }\n    },\n    methods: {\n        onOverlayEnter(el) {\n            ZIndex.set('overlay', el, this.$primevue.config.zIndex.overlay);\n\n            addStyle(el, { position: 'absolute', top: '0' });\n            this.alignOverlay();\n            this.bindScrollListener();\n            this.bindResizeListener();\n\n            // Issue: #7508\n            this.$attrSelector && el.setAttribute(this.$attrSelector, '');\n        },\n        onOverlayLeave() {\n            this.unbindScrollListener();\n            this.unbindResizeListener();\n            this.overlay = null;\n        },\n        onOverlayAfterLeave(el) {\n            ZIndex.clear(el);\n        },\n        alignOverlay() {\n            if (this.appendTo === 'self') {\n                relativePosition(this.overlay, this.$refs.input.$el);\n            } else {\n                this.overlay.style.minWidth = getOuterWidth(this.$refs.input.$el) + 'px';\n                absolutePosition(this.overlay, this.$refs.input.$el);\n            }\n        },\n        testStrength(str) {\n            let level = 0;\n\n            if (this.strongCheckRegExp.test(str)) level = 3;\n            else if (this.mediumCheckRegExp.test(str)) level = 2;\n            else if (str.length) level = 1;\n\n            return level;\n        },\n        onInput(event) {\n            this.writeValue(event.target.value, event);\n            this.$emit('change', event);\n        },\n        onFocus(event) {\n            this.focused = true;\n\n            if (this.feedback) {\n                this.setPasswordMeter(this.d_value);\n                this.overlayVisible = true;\n            }\n\n            this.$emit('focus', event);\n        },\n        onBlur(event) {\n            this.focused = false;\n\n            if (this.feedback) {\n                this.overlayVisible = false;\n            }\n\n            this.$emit('blur', event);\n        },\n        onKeyUp(event) {\n            if (this.feedback) {\n                const value = event.target.value;\n                const { meter, label } = this.checkPasswordStrength(value);\n\n                this.meter = meter;\n                this.infoText = label;\n\n                if (event.code === 'Escape') {\n                    this.overlayVisible && (this.overlayVisible = false);\n\n                    return;\n                }\n\n                if (!this.overlayVisible) {\n                    this.overlayVisible = true;\n                }\n            }\n        },\n        setPasswordMeter() {\n            if (!this.d_value) {\n                this.meter = null;\n                this.infoText = this.promptText;\n\n                return;\n            }\n\n            const { meter, label } = this.checkPasswordStrength(this.d_value);\n\n            this.meter = meter;\n            this.infoText = label;\n\n            if (!this.overlayVisible) {\n                this.overlayVisible = true;\n            }\n        },\n        checkPasswordStrength(value) {\n            let label = null;\n            let meter = null;\n\n            switch (this.testStrength(value)) {\n                case 1:\n                    label = this.weakText;\n                    meter = {\n                        strength: 'weak',\n                        width: '33.33%'\n                    };\n                    break;\n\n                case 2:\n                    label = this.mediumText;\n                    meter = {\n                        strength: 'medium',\n                        width: '66.66%'\n                    };\n                    break;\n\n                case 3:\n                    label = this.strongText;\n                    meter = {\n                        strength: 'strong',\n                        width: '100%'\n                    };\n                    break;\n\n                default:\n                    label = this.promptText;\n                    meter = null;\n                    break;\n            }\n\n            return { label, meter };\n        },\n        onInvalid(event) {\n            this.$emit('invalid', event);\n        },\n        bindScrollListener() {\n            if (!this.scrollHandler) {\n                this.scrollHandler = new ConnectedOverlayScrollHandler(this.$refs.input.$el, () => {\n                    if (this.overlayVisible) {\n                        this.overlayVisible = false;\n                    }\n                });\n            }\n\n            this.scrollHandler.bindScrollListener();\n        },\n        unbindScrollListener() {\n            if (this.scrollHandler) {\n                this.scrollHandler.unbindScrollListener();\n            }\n        },\n        bindResizeListener() {\n            if (!this.resizeListener) {\n                this.resizeListener = () => {\n                    if (this.overlayVisible && !isTouchDevice()) {\n                        this.overlayVisible = false;\n                    }\n                };\n\n                window.addEventListener('resize', this.resizeListener);\n            }\n        },\n        unbindResizeListener() {\n            if (this.resizeListener) {\n                window.removeEventListener('resize', this.resizeListener);\n                this.resizeListener = null;\n            }\n        },\n        overlayRef(el) {\n            this.overlay = el;\n        },\n        onMaskToggle() {\n            this.unmasked = !this.unmasked;\n        },\n        onClearClick(event) {\n            this.writeValue(null, {});\n        },\n        onOverlayClick(event) {\n            OverlayEventBus.emit('overlay-click', {\n                originalEvent: event,\n                target: this.$el\n            });\n        }\n    },\n    computed: {\n        inputType() {\n            return this.unmasked ? 'text' : 'password';\n        },\n        weakText() {\n            return this.weakLabel || this.$primevue.config.locale.weak;\n        },\n        mediumText() {\n            return this.mediumLabel || this.$primevue.config.locale.medium;\n        },\n        strongText() {\n            return this.strongLabel || this.$primevue.config.locale.strong;\n        },\n        promptText() {\n            return this.promptLabel || this.$primevue.config.locale.passwordPrompt;\n        },\n        isClearIconVisible() {\n            return this.showClear && this.$filled && !this.disabled;\n        },\n        overlayUniqueId() {\n            return this.$id + '_overlay';\n        },\n        containerDataP() {\n            return cn({\n                fluid: this.$fluid\n            });\n        },\n        meterDataP() {\n            return cn({\n                [this.meter?.strength]: this.meter?.strength\n            });\n        },\n        overlayDataP() {\n            return cn({\n                ['portal-' + this.appendTo]: 'portal-' + this.appendTo\n            });\n        }\n    },\n    components: {\n        InputText,\n        Portal,\n        EyeSlashIcon,\n        EyeIcon,\n        TimesIcon\n    }\n};\n</script>\n"],"names":["name","BaseInput","props","promptLabel","type","String","mediumRegex","RegExp","strongRegex","weakLabel","mediumLabel","strongLabel","feedback","Boolean","appendTo","Object","toggleMask","hideIcon","undefined","maskIcon","showIcon","unmaskIcon","showClear","disabled","placeholder","required","inputId","inputClass","inputStyle","inputProps","panelId","panelClass","panelStyle","panelProps","overlayId","overlayClass","overlayStyle","overlayProps","ariaLabelledby","ariaLabel","autofocus","style","PasswordStyle","provide","$pcPassword","$parentInstance","BasePassword","inheritAttrs","emits","inject","$pcFluid","data","overlayVisible","meter","infoText","focused","unmasked","mediumCheckRegExp","strongCheckRegExp","resizeListener","scrollHandler","overlay","mounted","promptText","beforeUnmount","unbindResizeListener","destroy","ZIndex","clear","methods","onOverlayEnter","el","set","$primevue","config","zIndex","addStyle","position","top","alignOverlay","bindScrollListener","bindResizeListener","$attrSelector","setAttribute","onOverlayLeave","unbindScrollListener","onOverlayAfterLeave","relativePosition","$refs","input","$el","minWidth","getOuterWidth","absolutePosition","testStrength","str","level","test","length","onInput","event","writeValue","target","value","$emit","onFocus","setPasswordMeter","d_value","onBlur","onKeyUp","_this$checkPasswordSt","checkPasswordStrength","label","code","_this$checkPasswordSt2","weakText","strength","width","mediumText","strongText","onInvalid","_this","ConnectedOverlayScrollHandler","_this2","isTouchDevice","window","addEventListener","removeEventListener","overlayRef","onMaskToggle","onClearClick","onOverlayClick","OverlayEventBus","emit","originalEvent","computed","inputType","locale","weak","medium","strong","passwordPrompt","isClearIconVisible","$filled","overlayUniqueId","$id","containerDataP","cn","fluid","$fluid","meterDataP","_this$meter","_this$meter2","_defineProperty","overlayDataP","components","InputText","Portal","EyeSlashIcon","EyeIcon","TimesIcon","_openBlock","_createElementBlock","_mergeProps","_ctx","cx","sx","$options","ptmi","_createVNode","_component_InputText","ref","id","defaultValue","$formName","$data","variant","invalid","size","onKeyup","pt","ptm","unstyled","_renderSlot","$slots","maskicon","toggleCallback","_createBlock","_resolveDynamicComponent","onClick","unmaskicon","clearCallback","_component_TimesIcon","_createElementVNode","_component_Portal","_Transition","onEnter","onLeave","onAfterLeave","apply","arguments","role","_hoisted_3"],"mappings":"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"}