{"version":3,"file":"strength-meter2.mjs","sources":["../../../../../../../packages/components/strength-meter/src/strength-meter.vue"],"sourcesContent":["<template>\n  <div :class=\"prefixCls\" class=\"relative\">\n    <InputPassword\n      v-if=\"showInput\"\n      v-bind=\"$attrs\"\n      allow-clear\n      :value=\"innerValueRef\"\n      :disabled=\"disabled\"\n      @change=\"handleChange\"\n    >\n      <template v-for=\"item in Object.keys($slots)\" #[item]=\"data\">\n        <slot :name=\"item\" v-bind=\"data || {}\" />\n      </template>\n    </InputPassword>\n    <div :class=\"`${prefixCls}-bar`\">\n      <div :class=\"`${prefixCls}-bar--fill`\" :data-score=\"getPasswordStrength\" />\n    </div>\n  </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref, unref, watch, watchEffect } from 'vue'\nimport { zxcvbn } from '@zxcvbn-ts/core'\nimport { Input } from 'ant-design-vue'\nimport { strengthMeterProps } from './types'\nimport type { ChangeEvent } from '@tav-ui/components/icon-picker/src/types'\n\nexport default defineComponent({\n  name: 'TaStrengthMeter',\n  components: { InputPassword: Input.Password },\n  props: strengthMeterProps,\n  emits: ['score-change', 'change'],\n  setup(props, { emit }) {\n    const innerValueRef = ref('')\n    const prefixCls = 'ta-strength-meter'\n\n    const getPasswordStrength = computed(() => {\n      const { disabled } = props\n      if (disabled) return -1\n      const innerValue = unref(innerValueRef)\n      const score = innerValue ? (zxcvbn(unref(innerValueRef)) as any).score : -1\n      emit('score-change', score)\n      return score\n    })\n\n    function handleChange(e: ChangeEvent) {\n      innerValueRef.value = e.target.value\n    }\n\n    watchEffect(() => {\n      innerValueRef.value = props.value || ''\n    })\n\n    watch(\n      () => unref(innerValueRef),\n      (val) => {\n        emit('change', val)\n      }\n    )\n\n    return {\n      getPasswordStrength,\n      handleChange,\n      prefixCls,\n      innerValueRef,\n    }\n  },\n})\n</script>\n"],"names":["_createBlock","_mergeProps","_createSlots","_renderList","_createCommentVNode","_createElementVNode"],"mappings":"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"}