diff options
Diffstat (limited to 'src/components/Global/InputPasswordToggle.vue')
-rw-r--r-- | src/components/Global/InputPasswordToggle.vue | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/src/components/Global/InputPasswordToggle.vue b/src/components/Global/InputPasswordToggle.vue index bf3e4ca5..2119f8c6 100644 --- a/src/components/Global/InputPasswordToggle.vue +++ b/src/components/Global/InputPasswordToggle.vue @@ -2,22 +2,15 @@ <div class="input-password-toggle-container"> <slot></slot> <b-button - :aria-label="$t('global.ariaLabel.showPassword')" + :aria-label="togglePasswordLabel" + :title="togglePasswordLabel" variant="link" - class="input-action-btn" + class="input-action-btn btn-icon-only" :class="{ isVisible: isVisible }" @click="toggleVisibility" > - <icon-view-off - v-if="isVisible" - aria-hidden="true" - :title="$t('global.ariaLabel.hidePassword')" - /> - <icon-view - v-else - aria-hidden="true" - :title="$t('global.ariaLabel.showPassword')" - /> + <icon-view-off v-if="isVisible" /> + <icon-view v-else /> </b-button> </div> </template> @@ -32,6 +25,7 @@ export default { data() { return { isVisible: false, + togglePasswordLabel: this.$t('global.ariaLabel.showPassword'), }; }, methods: { @@ -44,6 +38,10 @@ export default { if (inputEl.nodeName === 'INPUT') { inputEl.type = this.isVisible ? 'text' : 'password'; } + + this.isVisible + ? (this.togglePasswordLabel = this.$t('global.ariaLabel.hidePassword')) + : (this.togglePasswordLabel = this.$t('global.ariaLabel.showPassword')); }, }, }; |