1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-10 13:23:34 +00:00

[PS-1182] Desktop / Browser: Accessibility - remove appBlurClick, change remaining links to buttons (#2662)

* Remove `appBlurClick` from browser extension controls

* Remove last remaining `appBlurClick` from desktop app controls

* Change any straggler `<a>` links to buttons where appropriate (where they don't open a browser window)

* Add missing `type="button"` to some of the desktop buttons

* Update and run prettier, linter

* Remove orphaned jslibs
This commit is contained in:
Patrick H. Lauke
2022-07-25 11:43:10 +01:00
committed by GitHub
parent bf291c4e64
commit 05f6a30672
40 changed files with 110 additions and 156 deletions

View File

@@ -1,13 +1,13 @@
<form #form (ngSubmit)="submit()"> <form #form (ngSubmit)="submit()">
<header> <header>
<div class="left"> <div class="left">
<a routerLink="/home">{{ "close" | i18n }}</a> <button type="button" routerLink="/home">{{ "close" | i18n }}</button>
</div> </div>
<h1 class="center"> <h1 class="center">
<span class="title">{{ "appName" | i18n }}</span> <span class="title">{{ "appName" | i18n }}</span>
</h1> </h1>
<div class="right"> <div class="right">
<button type="submit" appBlurClick [disabled]="form.loading"> <button type="submit" [disabled]="form.loading">
<span [hidden]="form.loading">{{ "save" | i18n }}</span> <span [hidden]="form.loading">{{ "save" | i18n }}</span>
<i class="bwi bwi-spinner bwi-lg bwi-spin" [hidden]="!form.loading" aria-hidden="true"></i> <i class="bwi bwi-spinner bwi-lg bwi-spin" [hidden]="!form.loading" aria-hidden="true"></i>
</button> </button>

View File

@@ -1,13 +1,13 @@
<form #form (ngSubmit)="submit()" [appApiAction]="formPromise"> <form #form (ngSubmit)="submit()" [appApiAction]="formPromise">
<header> <header>
<div class="left"> <div class="left">
<a routerLink="/login">{{ "cancel" | i18n }}</a> <button type="button" routerLink="/login">{{ "cancel" | i18n }}</button>
</div> </div>
<h1 class="center"> <h1 class="center">
<span class="title">{{ "passwordHint" | i18n }}</span> <span class="title">{{ "passwordHint" | i18n }}</span>
</h1> </h1>
<div class="right"> <div class="right">
<button type="submit" appBlurClick [disabled]="form.loading"> <button type="submit" [disabled]="form.loading">
<span [hidden]="form.loading">{{ "submit" | i18n }}</span> <span [hidden]="form.loading">{{ "submit" | i18n }}</span>
<i class="bwi bwi-spinner bwi-lg bwi-spin" [hidden]="!form.loading" aria-hidden="true"></i> <i class="bwi bwi-spinner bwi-lg bwi-spin" [hidden]="!form.loading" aria-hidden="true"></i>
</button> </button>

View File

@@ -2,15 +2,17 @@
<div class="content"> <div class="content">
<div class="logo-image"></div> <div class="logo-image"></div>
<p class="lead text-center">{{ "loginOrCreateNewAccount" | i18n }}</p> <p class="lead text-center">{{ "loginOrCreateNewAccount" | i18n }}</p>
<a class="btn primary block" routerLink="/login" <button type="button" class="btn primary block" routerLink="/login">
><b>{{ "login" | i18n }}</b></a <b>{{ "login" | i18n }}</b>
> </button>
<button type="button" (click)="launchSsoBrowser()" class="btn block"> <button type="button" (click)="launchSsoBrowser()" class="btn block">
<i class="bwi bwi-bank" aria-hidden="true"></i> {{ "enterpriseSingleSignOn" | i18n }} <i class="bwi bwi-bank" aria-hidden="true"></i> {{ "enterpriseSingleSignOn" | i18n }}
</button> </button>
<a class="btn block" routerLink="/register">{{ "createAccount" | i18n }}</a> <button type="button" class="btn block" routerLink="/register">
{{ "createAccount" | i18n }}
</button>
</div> </div>
</div> </div>
<a routerLink="/environment" class="settings-icon"> <button type="button" routerLink="/environment" class="settings-icon">
<i class="bwi bwi-cog-f bwi-lg" aria-hidden="true"></i><span>&nbsp;{{ "settings" | i18n }}</span> <i class="bwi bwi-cog-f bwi-lg" aria-hidden="true"></i><span>&nbsp;{{ "settings" | i18n }}</span>
</a> </button>

View File

@@ -5,7 +5,7 @@
<span class="title">{{ "verifyIdentity" | i18n }}</span> <span class="title">{{ "verifyIdentity" | i18n }}</span>
</h1> </h1>
<div class="right"> <div class="right">
<button type="submit" appBlurClick *ngIf="!hideInput">{{ "unlock" | i18n }}</button> <button type="submit" *ngIf="!hideInput">{{ "unlock" | i18n }}</button>
</div> </div>
</header> </header>
<main tabindex="-1"> <main tabindex="-1">
@@ -41,7 +41,6 @@
type="button" type="button"
class="row-btn" class="row-btn"
appStopClick appStopClick
appBlurClick
appA11yTitle="{{ 'toggleVisibility' | i18n }}" appA11yTitle="{{ 'toggleVisibility' | i18n }}"
(click)="togglePassword()" (click)="togglePassword()"
[attr.aria-pressed]="showPassword" [attr.aria-pressed]="showPassword"

View File

@@ -1,13 +1,13 @@
<form #form (ngSubmit)="submit()" [appApiAction]="formPromise"> <form #form (ngSubmit)="submit()" [appApiAction]="formPromise">
<header> <header>
<div class="left"> <div class="left">
<a routerLink="/home">{{ "cancel" | i18n }}</a> <button type="button" routerLink="/home">{{ "cancel" | i18n }}</button>
</div> </div>
<h1 class="center"> <h1 class="center">
<span class="title">{{ "appName" | i18n }}</span> <span class="title">{{ "appName" | i18n }}</span>
</h1> </h1>
<div class="right"> <div class="right">
<button type="submit" appBlurClick [disabled]="form.loading"> <button type="submit" [disabled]="form.loading">
<span [hidden]="form.loading">{{ "login" | i18n }}</span> <span [hidden]="form.loading">{{ "login" | i18n }}</span>
<i class="bwi bwi-spinner bwi-lg bwi-spin" [hidden]="!form.loading" aria-hidden="true"></i> <i class="bwi bwi-spinner bwi-lg bwi-spin" [hidden]="!form.loading" aria-hidden="true"></i>
</button> </button>
@@ -46,7 +46,6 @@
type="button" type="button"
class="row-btn" class="row-btn"
appStopClick appStopClick
appBlurClick
appA11yTitle="{{ 'toggleVisibility' | i18n }}" appA11yTitle="{{ 'toggleVisibility' | i18n }}"
(click)="togglePassword()" (click)="togglePassword()"
[attr.aria-pressed]="showPassword" [attr.aria-pressed]="showPassword"
@@ -65,7 +64,7 @@
</div> </div>
</div> </div>
<p class="text-center"> <p class="text-center">
<a routerLink="/hint">{{ "getMasterPasswordHint" | i18n }}</a> <button type="button" routerLink="/hint">{{ "getMasterPasswordHint" | i18n }}</button>
</p> </p>
<app-private-mode-warning></app-private-mode-warning> <app-private-mode-warning></app-private-mode-warning>
</main> </main>

View File

@@ -1,13 +1,13 @@
<form #form (ngSubmit)="submit()" [appApiAction]="formPromise" [formGroup]="formGroup"> <form #form (ngSubmit)="submit()" [appApiAction]="formPromise" [formGroup]="formGroup">
<header> <header>
<div class="left"> <div class="left">
<a routerLink="/home">{{ "cancel" | i18n }}</a> <button type="button" routerLink="/home">{{ "cancel" | i18n }}</button>
</div> </div>
<h1 class="center"> <h1 class="center">
<span class="title">{{ "createAccount" | i18n }}</span> <span class="title">{{ "createAccount" | i18n }}</span>
</h1> </h1>
<div class="right"> <div class="right">
<button type="submit" appBlurClick [disabled]="form.loading"> <button type="submit" [disabled]="form.loading">
<span [hidden]="form.loading">{{ "submit" | i18n }}</span> <span [hidden]="form.loading">{{ "submit" | i18n }}</span>
<i class="bwi bwi-spinner bwi-lg bwi-spin" [hidden]="!form.loading" aria-hidden="true"></i> <i class="bwi bwi-spinner bwi-lg bwi-spin" [hidden]="!form.loading" aria-hidden="true"></i>
</button> </button>
@@ -46,7 +46,6 @@
type="button" type="button"
class="row-btn" class="row-btn"
appStopClick appStopClick
appBlurClick
appA11yTitle="{{ 'toggleVisibility' | i18n }}" appA11yTitle="{{ 'toggleVisibility' | i18n }}"
(click)="togglePassword()" (click)="togglePassword()"
[attr.aria-pressed]="showPassword" [attr.aria-pressed]="showPassword"
@@ -94,7 +93,6 @@
type="button" type="button"
class="row-btn" class="row-btn"
appStopClick appStopClick
appBlurClick
appA11yTitle="{{ 'toggleVisibility' | i18n }}" appA11yTitle="{{ 'toggleVisibility' | i18n }}"
(click)="togglePassword()" (click)="togglePassword()"
[attr.aria-pressed]="showPassword" [attr.aria-pressed]="showPassword"

View File

@@ -1,13 +1,13 @@
<form #form (ngSubmit)="submit()" [appApiAction]="formPromise"> <form #form (ngSubmit)="submit()" [appApiAction]="formPromise">
<header> <header>
<div class="left"> <div class="left">
<a routerLink="/home">{{ "cancel" | i18n }}</a> <button type="button" routerLink="/home">{{ "cancel" | i18n }}</button>
</div> </div>
<h1 class="center"> <h1 class="center">
<span class="title">{{ "setMasterPassword" | i18n }}</span> <span class="title">{{ "setMasterPassword" | i18n }}</span>
</h1> </h1>
<div class="right"> <div class="right">
<button type="submit" appBlurClick [disabled]="form.loading"> <button type="submit" [disabled]="form.loading">
<span [hidden]="form.loading">{{ "submit" | i18n }}</span> <span [hidden]="form.loading">{{ "submit" | i18n }}</span>
<i class="bwi bwi-spinner bwi-lg bwi-spin" [hidden]="!form.loading" aria-hidden="true"></i> <i class="bwi bwi-spinner bwi-lg bwi-spin" [hidden]="!form.loading" aria-hidden="true"></i>
</button> </button>
@@ -64,7 +64,6 @@
type="button" type="button"
class="row-btn" class="row-btn"
appStopClick appStopClick
appBlurClick
appA11yTitle="{{ 'toggleVisibility' | i18n }}" appA11yTitle="{{ 'toggleVisibility' | i18n }}"
(click)="togglePassword(false)" (click)="togglePassword(false)"
[attr.aria-pressed]="showPassword" [attr.aria-pressed]="showPassword"
@@ -116,7 +115,6 @@
type="button" type="button"
class="row-btn" class="row-btn"
appStopClick appStopClick
appBlurClick
appA11yTitle="{{ 'toggleVisibility' | i18n }}" appA11yTitle="{{ 'toggleVisibility' | i18n }}"
(click)="togglePassword(true)" (click)="togglePassword(true)"
[attr.aria-pressed]="showPassword" [attr.aria-pressed]="showPassword"

View File

@@ -1,6 +1,6 @@
<header> <header>
<div class="left"> <div class="left">
<a routerLink="/2fa">{{ "close" | i18n }}</a> <button type="button" routerLink="/2fa">{{ "close" | i18n }}</button>
</div> </div>
<h1 class="center"> <h1 class="center">
<span class="title">{{ "twoStepOptions" | i18n }}</span> <span class="title">{{ "twoStepOptions" | i18n }}</span>

View File

@@ -1,7 +1,7 @@
<form id="two-factor-page" #form (ngSubmit)="submit()" [appApiAction]="formPromise"> <form id="two-factor-page" #form (ngSubmit)="submit()" [appApiAction]="formPromise">
<header> <header>
<div class="left"> <div class="left">
<a routerLink="/login">{{ "back" | i18n }}</a> <button type="button" routerLink="/login">{{ "back" | i18n }}</button>
</div> </div>
<h1 class="center"> <h1 class="center">
<span class="title">{{ title }}</span> <span class="title">{{ title }}</span>
@@ -9,7 +9,6 @@
<div class="right"> <div class="right">
<button <button
type="submit" type="submit"
appBlurClick
[disabled]="form.loading" [disabled]="form.loading"
*ngIf=" *ngIf="
selectedProviderType != null && selectedProviderType != null &&

View File

@@ -7,7 +7,7 @@
<span class="title">{{ "updateMasterPassword" | i18n }}</span> <span class="title">{{ "updateMasterPassword" | i18n }}</span>
</h1> </h1>
<div class="right"> <div class="right">
<button type="submit" appBlurClick [disabled]="form.loading"> <button type="submit" [disabled]="form.loading">
<span [hidden]="form.loading">{{ "submit" | i18n }}</span> <span [hidden]="form.loading">{{ "submit" | i18n }}</span>
<i class="bwi bwi-spinner bwi-lg bwi-spin" [hidden]="!form.loading" aria-hidden="true"></i> <i class="bwi bwi-spinner bwi-lg bwi-spin" [hidden]="!form.loading" aria-hidden="true"></i>
</button> </button>
@@ -53,7 +53,6 @@
type="button" type="button"
class="row-btn" class="row-btn"
appStopClick appStopClick
appBlurClick
appA11yTitle="{{ 'toggleVisibility' | i18n }}" appA11yTitle="{{ 'toggleVisibility' | i18n }}"
(click)="togglePassword(false)" (click)="togglePassword(false)"
[attr.aria-pressed]="showPassword" [attr.aria-pressed]="showPassword"
@@ -100,7 +99,6 @@
type="button" type="button"
class="row-btn" class="row-btn"
appStopClick appStopClick
appBlurClick
appA11yTitle="{{ 'toggleVisibility' | i18n }}" appA11yTitle="{{ 'toggleVisibility' | i18n }}"
(click)="togglePassword(true)" (click)="togglePassword(true)"
[attr.aria-pressed]="showPassword" [attr.aria-pressed]="showPassword"

View File

@@ -23,7 +23,6 @@
type="button" type="button"
class="row-btn" class="row-btn"
appStopClick appStopClick
appBlurClick
appA11yTitle="{{ 'toggleVisibility' | i18n }}" appA11yTitle="{{ 'toggleVisibility' | i18n }}"
(click)="togglePassword()" (click)="togglePassword()"
[attr.aria-pressed]="showPassword" [attr.aria-pressed]="showPassword"
@@ -43,7 +42,7 @@
</div> </div>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="submit" class="btn btn-primary btn-submit" appBlurClick> <button type="submit" class="btn btn-primary btn-submit">
<span>{{ "ok" | i18n }}</span> <span>{{ "ok" | i18n }}</span>
</button> </button>
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal"> <button type="button" class="btn btn-outline-secondary" data-dismiss="modal">

View File

@@ -25,7 +25,6 @@
type="button" type="button"
class="row-btn" class="row-btn"
appStopClick appStopClick
appBlurClick
appA11yTitle="{{ 'toggleVisibility' | i18n }}" appA11yTitle="{{ 'toggleVisibility' | i18n }}"
(click)="toggleVisibility()" (click)="toggleVisibility()"
[attr.aria-pressed]="showPin" [attr.aria-pressed]="showPin"
@@ -53,7 +52,7 @@
</div> </div>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="submit" class="btn btn-primary btn-submit" appBlurClick> <button type="submit" class="btn btn-primary btn-submit">
<span>{{ "ok" | i18n }}</span> <span>{{ "ok" | i18n }}</span>
</button> </button>
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal"> <button type="button" class="btn btn-outline-secondary" data-dismiss="modal">

View File

@@ -1,7 +1,7 @@
<header> <header>
<div class="left"> <div class="left">
<app-pop-out [show]="!comingFromAddEdit"></app-pop-out> <app-pop-out [show]="!comingFromAddEdit"></app-pop-out>
<button type="button" appBlurClick (click)="close()" *ngIf="comingFromAddEdit"> <button type="button" (click)="close()" *ngIf="comingFromAddEdit">
{{ "cancel" | i18n }} {{ "cancel" | i18n }}
</button> </button>
</div> </div>
@@ -9,7 +9,7 @@
<span class="title">{{ "generator" | i18n }}</span> <span class="title">{{ "generator" | i18n }}</span>
</h1> </h1>
<div class="right"> <div class="right">
<button type="button" appBlurClick (click)="select()" *ngIf="comingFromAddEdit"> <button type="button" (click)="select()" *ngIf="comingFromAddEdit">
{{ "select" | i18n }} {{ "select" | i18n }}
</button> </button>
</div> </div>
@@ -33,7 +33,6 @@
<button <button
type="button" type="button"
appStopClick appStopClick
appBlurClick
appA11yTitle="{{ 'regeneratePassword' | i18n }}" appA11yTitle="{{ 'regeneratePassword' | i18n }}"
(click)="regenerate()" (click)="regenerate()"
> >
@@ -56,7 +55,6 @@
<button <button
type="button" type="button"
appStopClick appStopClick
appBlurClick
appA11yTitle="{{ 'regenerateUsername' | i18n }}" appA11yTitle="{{ 'regenerateUsername' | i18n }}"
(click)="regenerate()" (click)="regenerate()"
[disabled]="form.loading" [disabled]="form.loading"

View File

@@ -1,6 +1,6 @@
<header> <header>
<div class="left"> <div class="left">
<button type="button" appBlurClick type="button" (click)="close()"> <button type="button" type="button" (click)="close()">
<span class="header-icon" aria-hidden="true"><i class="bwi bwi-angle-left"></i></span> <span class="header-icon" aria-hidden="true"><i class="bwi bwi-angle-left"></i></span>
<span>{{ "back" | i18n }}</span> <span>{{ "back" | i18n }}</span>
</button> </button>
@@ -9,7 +9,7 @@
<span class="title">{{ "passwordHistory" | i18n }}</span> <span class="title">{{ "passwordHistory" | i18n }}</span>
</h1> </h1>
<div class="right"> <div class="right">
<button type="button" appBlurClick type="button" (click)="clear()"> <button type="button" type="button" (click)="clear()">
{{ "clear" | i18n }} {{ "clear" | i18n }}
</button> </button>
</div> </div>

View File

@@ -1,13 +1,13 @@
<form #form (ngSubmit)="submit()" [appApiAction]="formPromise"> <form #form (ngSubmit)="submit()" [appApiAction]="formPromise">
<header> <header>
<div class="left"> <div class="left">
<button type="button" appBlurClick (click)="cancel()">{{ "cancel" | i18n }}</button> <button type="button" (click)="cancel()">{{ "cancel" | i18n }}</button>
</div> </div>
<h1 class="center"> <h1 class="center">
<span class="title">{{ title }}</span> <span class="title">{{ title }}</span>
</h1> </h1>
<div class="right"> <div class="right">
<button type="submit" appBlurClick [disabled]="form.loading || disableSend"> <button type="submit" [disabled]="form.loading || disableSend">
<span [hidden]="form.loading">{{ "save" | i18n }}</span> <span [hidden]="form.loading">{{ "save" | i18n }}</span>
<i class="bwi bwi-spinner bwi-lg bwi-spin" [hidden]="!form.loading" aria-hidden="true"></i> <i class="bwi bwi-spinner bwi-lg bwi-spin" [hidden]="!form.loading" aria-hidden="true"></i>
</button> </button>
@@ -226,7 +226,6 @@
type="button" type="button"
class="row-btn" class="row-btn"
appStopClick appStopClick
appBlurClick
appA11yTitle="{{ 'toggleVisibility' | i18n }}" appA11yTitle="{{ 'toggleVisibility' | i18n }}"
(click)="togglePasswordVisible()" (click)="togglePasswordVisible()"
[attr.aria-pressed]="showPassword" [attr.aria-pressed]="showPassword"
@@ -300,7 +299,6 @@
type="button" type="button"
class="box-content-row" class="box-content-row"
appStopClick appStopClick
appBlurClick
(click)="delete()" (click)="delete()"
[appApiAction]="deletePromise" [appApiAction]="deletePromise"
#deleteBtn #deleteBtn

View File

@@ -18,7 +18,6 @@
<div class="right"> <div class="right">
<button <button
type="button" type="button"
appBlurClick
(click)="addSend()" (click)="addSend()"
appA11yTitle="{{ 'addSend' | i18n }}" appA11yTitle="{{ 'addSend' | i18n }}"
[disabled]="disableSend" [disabled]="disableSend"
@@ -56,7 +55,6 @@
type="button" type="button"
class="box-content-row" class="box-content-row"
appStopClick appStopClick
appBlurClick
(click)="selectType(sendType.Text)" (click)="selectType(sendType.Text)"
> >
<div class="row-main"> <div class="row-main">
@@ -70,7 +68,6 @@
type="button" type="button"
class="box-content-row" class="box-content-row"
appStopClick appStopClick
appBlurClick
(click)="selectType(sendType.File)" (click)="selectType(sendType.File)"
> >
<div class="row-main"> <div class="row-main">

View File

@@ -1,6 +1,6 @@
<header> <header>
<div class="left"> <div class="left">
<button type="button" appBlurClick (click)="back()"> <button type="button" (click)="back()">
<span class="header-icon"><i class="bwi bwi-angle-left" aria-hidden="true"></i></span> <span class="header-icon"><i class="bwi bwi-angle-left" aria-hidden="true"></i></span>
<span>{{ "back" | i18n }}</span> <span>{{ "back" | i18n }}</span>
</button> </button>
@@ -21,7 +21,6 @@
<div class="right"> <div class="right">
<button <button
type="button" type="button"
appBlurClick
(click)="addSend()" (click)="addSend()"
appA11yTitle="{{ 'addSend' | i18n }}" appA11yTitle="{{ 'addSend' | i18n }}"
[disabled]="disableSend" [disabled]="disableSend"

View File

@@ -1,16 +1,16 @@
<form #form (ngSubmit)="submit()"> <form #form (ngSubmit)="submit()">
<header> <header>
<div class="left"> <div class="left">
<a routerLink="/tabs/settings"> <button type="button" routerLink="/tabs/settings">
<span class="header-icon"><i class="bwi bwi-angle-left" aria-hidden="true"></i></span> <span class="header-icon"><i class="bwi bwi-angle-left" aria-hidden="true"></i></span>
<span>{{ "back" | i18n }}</span> <span>{{ "back" | i18n }}</span>
</a> </button>
</div> </div>
<h1 class="center"> <h1 class="center">
<span class="title">{{ "excludedDomains" | i18n }}</span> <span class="title">{{ "excludedDomains" | i18n }}</span>
</h1> </h1>
<div class="right"> <div class="right">
<button type="submit" appBlurClick>{{ "save" | i18n }}</button> <button type="submit">{{ "save" | i18n }}</button>
</div> </div>
</header> </header>
<main tabindex="-1"> <main tabindex="-1">
@@ -73,7 +73,6 @@
<button <button
type="button" type="button"
appStopClick appStopClick
appBlurClick
(click)="addUri()" (click)="addUri()"
class="box-content-row box-content-row-newmulti" class="box-content-row box-content-row-newmulti"
> >

View File

@@ -1,16 +1,16 @@
<form (ngSubmit)="submit()" [formGroup]="exportForm"> <form (ngSubmit)="submit()" [formGroup]="exportForm">
<header> <header>
<div class="left"> <div class="left">
<a routerLink="/tabs/settings"> <button type="button" routerLink="/tabs/settings">
<span class="header-icon" aria-hidden="true"><i class="bwi bwi-angle-left"></i></span> <span class="header-icon" aria-hidden="true"><i class="bwi bwi-angle-left"></i></span>
<span>{{ "back" | i18n }}</span> <span>{{ "back" | i18n }}</span>
</a> </button>
</div> </div>
<h1 class="center"> <h1 class="center">
<span class="title">{{ "exportVault" | i18n }}</span> <span class="title">{{ "exportVault" | i18n }}</span>
</h1> </h1>
<div class="right"> <div class="right">
<button appBlurClick type="submit" [disabled]="!exportForm.enabled"> <button type="submit" [disabled]="!exportForm.enabled">
{{ "submit" | i18n }} {{ "submit" | i18n }}
</button> </button>
</div> </div>

View File

@@ -1,13 +1,13 @@
<form #form (ngSubmit)="submit()" [appApiAction]="formPromise"> <form #form (ngSubmit)="submit()" [appApiAction]="formPromise">
<header> <header>
<div class="left"> <div class="left">
<a routerLink="/folders">{{ "cancel" | i18n }}</a> <button type="button" routerLink="/folders">{{ "cancel" | i18n }}</button>
</div> </div>
<h1 class="center"> <h1 class="center">
<span class="title">{{ title }}</span> <span class="title">{{ title }}</span>
</h1> </h1>
<div class="right"> <div class="right">
<button type="submit" appBlurClick [disabled]="form.loading"> <button type="submit" [disabled]="form.loading">
<span [hidden]="form.loading">{{ "save" | i18n }}</span> <span [hidden]="form.loading">{{ "save" | i18n }}</span>
<i class="bwi bwi-spinner bwi-lg bwi-spin" [hidden]="!form.loading" aria-hidden="true"></i> <i class="bwi bwi-spinner bwi-lg bwi-spin" [hidden]="!form.loading" aria-hidden="true"></i>
</button> </button>
@@ -34,7 +34,6 @@
type="button" type="button"
class="box-content-row" class="box-content-row"
appStopClick appStopClick
appBlurClick
(click)="delete()" (click)="delete()"
[appApiAction]="deletePromise" [appApiAction]="deletePromise"
#deleteBtn #deleteBtn

View File

@@ -1,20 +1,15 @@
<header> <header>
<div class="left"> <div class="left">
<a routerLink="/tabs/settings"> <button type="button" routerLink="/tabs/settings">
<span class="header-icon"><i class="bwi bwi-angle-left" aria-hidden="true"></i></span> <span class="header-icon"><i class="bwi bwi-angle-left" aria-hidden="true"></i></span>
<span>{{ "back" | i18n }}</span> <span>{{ "back" | i18n }}</span>
</a> </button>
</div> </div>
<h1 class="center"> <h1 class="center">
<span class="title">{{ "folders" | i18n }}</span> <span class="title">{{ "folders" | i18n }}</span>
</h1> </h1>
<div class="right"> <div class="right">
<button <button type="button" (click)="addFolder()" appA11yTitle="{{ 'addFolder' | i18n }}">
type="button"
appBlurClick
(click)="addFolder()"
appA11yTitle="{{ 'addFolder' | i18n }}"
>
<i class="bwi bwi-plus bwi-lg bwi-fw" aria-hidden="true"></i> <i class="bwi bwi-plus bwi-lg bwi-fw" aria-hidden="true"></i>
</button> </button>
</div> </div>

View File

@@ -1,9 +1,9 @@
<header> <header>
<div class="left"> <div class="left">
<a routerLink="/tabs/settings"> <button type="button" routerLink="/tabs/settings">
<span class="header-icon"><i class="bwi bwi-angle-left" aria-hidden="true"></i></span> <span class="header-icon"><i class="bwi bwi-angle-left" aria-hidden="true"></i></span>
<span>{{ "back" | i18n }}</span> <span>{{ "back" | i18n }}</span>
</a> </button>
</div> </div>
<h1 class="center"> <h1 class="center">
<span class="title">{{ "options" | i18n }}</span> <span class="title">{{ "options" | i18n }}</span>

View File

@@ -1,9 +1,9 @@
<header> <header>
<div class="left"> <div class="left">
<a routerLink="/tabs/settings"> <button type="button" routerLink="/tabs/settings">
<span class="header-icon"><i class="bwi bwi-angle-left" aria-hidden="true"></i></span> <span class="header-icon"><i class="bwi bwi-angle-left" aria-hidden="true"></i></span>
<span>{{ "back" | i18n }}</span> <span>{{ "back" | i18n }}</span>
</a> </button>
</div> </div>
<h1 class="center"> <h1 class="center">
<span class="title">{{ "premiumMembership" | i18n }}</span> <span class="title">{{ "premiumMembership" | i18n }}</span>
@@ -42,13 +42,12 @@
</li> </li>
</ul> </ul>
<p class="text-center lead">{{ priceString }}</p> <p class="text-center lead">{{ priceString }}</p>
<button type="button" class="btn primary block" appBlurClick (click)="purchase()"> <button type="button" class="btn primary block" (click)="purchase()">
<b>{{ "premiumPurchase" | i18n }}</b> <b>{{ "premiumPurchase" | i18n }}</b>
</button> </button>
<button <button
#refreshBtn #refreshBtn
type="button" type="button"
appBlurClick
(click)="refresh()" (click)="refresh()"
[disabled]="refreshBtn.loading" [disabled]="refreshBtn.loading"
[appApiAction]="refreshPromise" [appApiAction]="refreshPromise"
@@ -65,7 +64,7 @@
<ng-container *ngIf="isPremium"> <ng-container *ngIf="isPremium">
<p class="text-center lead">{{ "premiumCurrentMember" | i18n }}</p> <p class="text-center lead">{{ "premiumCurrentMember" | i18n }}</p>
<p class="text-center">{{ "premiumCurrentMemberThanks" | i18n }}</p> <p class="text-center">{{ "premiumCurrentMemberThanks" | i18n }}</p>
<button type="button" class="btn block primary" appBlurClick (click)="manage()"> <button type="button" class="btn block primary" (click)="manage()">
<b>{{ "premiumManage" | i18n }}</b> <b>{{ "premiumManage" | i18n }}</b>
</button> </button>
</ng-container> </ng-container>

View File

@@ -11,18 +11,30 @@
<div class="box list"> <div class="box list">
<h2 class="box-header">{{ "manage" | i18n }}</h2> <h2 class="box-header">{{ "manage" | i18n }}</h2>
<div class="box-content single-line"> <div class="box-content single-line">
<a class="box-content-row box-content-row-flex text-default" routerLink="/folders"> <button
type="button"
class="box-content-row box-content-row-flex text-default"
routerLink="/folders"
>
<div class="row-main">{{ "folders" | i18n }}</div> <div class="row-main">{{ "folders" | i18n }}</div>
<i class="bwi bwi-angle-right bwi-lg row-sub-icon" aria-hidden="true"></i> <i class="bwi bwi-angle-right bwi-lg row-sub-icon" aria-hidden="true"></i>
</a> </button>
<a class="box-content-row box-content-row-flex text-default" routerLink="/sync"> <button
type="button"
class="box-content-row box-content-row-flex text-default"
routerLink="/sync"
>
<div class="row-main">{{ "sync" | i18n }}</div> <div class="row-main">{{ "sync" | i18n }}</div>
<i class="bwi bwi-angle-right bwi-lg row-sub-icon" aria-hidden="true"></i> <i class="bwi bwi-angle-right bwi-lg row-sub-icon" aria-hidden="true"></i>
</a> </button>
<a class="box-content-row box-content-row-flex text-default" routerLink="/excluded-domains"> <button
type="button"
class="box-content-row box-content-row-flex text-default"
routerLink="/excluded-domains"
>
<div class="row-main">{{ "excludedDomains" | i18n }}</div> <div class="row-main">{{ "excludedDomains" | i18n }}</div>
<i class="bwi bwi-angle-right bwi-lg row-sub-icon" aria-hidden="true"></i> <i class="bwi bwi-angle-right bwi-lg row-sub-icon" aria-hidden="true"></i>
</a> </button>
</div> </div>
</div> </div>
<div class="box list"> <div class="box list">
@@ -77,7 +89,6 @@
type="button" type="button"
class="box-content-row box-content-row-flex text-default" class="box-content-row box-content-row-flex text-default"
appStopClick appStopClick
appBlurClick
(click)="lock()" (click)="lock()"
> >
<div class="row-main">{{ "lockNow" | i18n }}</div> <div class="row-main">{{ "lockNow" | i18n }}</div>
@@ -87,7 +98,6 @@
type="button" type="button"
class="box-content-row box-content-row-flex text-default" class="box-content-row box-content-row-flex text-default"
appStopClick appStopClick
appBlurClick
(click)="twoStep()" (click)="twoStep()"
> >
<div class="row-main">{{ "twoStepLogin" | i18n }}</div> <div class="row-main">{{ "twoStepLogin" | i18n }}</div>
@@ -98,7 +108,7 @@
<div class="box list"> <div class="box list">
<h2 class="box-header">{{ "account" | i18n }}</h2> <h2 class="box-header">{{ "account" | i18n }}</h2>
<div class="box-content single-line"> <div class="box-content single-line">
<a class="box-content-row" routerLink="/premium"> <button type="button" class="box-content-row" routerLink="/premium">
<div class="row-main"> <div class="row-main">
<div class="icon text-primary"> <div class="icon text-primary">
<i class="bwi bwi-fw bwi-lg bwi-star-f" aria-hidden="true"></i> <i class="bwi bwi-fw bwi-lg bwi-star-f" aria-hidden="true"></i>
@@ -108,12 +118,11 @@
> >
</div> </div>
<span><i class="bwi bwi-angle-right bwi-lg row-sub-icon" aria-hidden="true"></i></span> <span><i class="bwi bwi-angle-right bwi-lg row-sub-icon" aria-hidden="true"></i></span>
</a> </button>
<button <button
type="button" type="button"
class="box-content-row box-content-row-flex text-default" class="box-content-row box-content-row-flex text-default"
appStopClick appStopClick
appBlurClick
(click)="changePassword()" (click)="changePassword()"
*ngIf="showChangeMasterPass" *ngIf="showChangeMasterPass"
> >
@@ -124,7 +133,6 @@
type="button" type="button"
class="box-content-row box-content-row-flex text-default" class="box-content-row box-content-row-flex text-default"
appStopClick appStopClick
appBlurClick
(click)="fingerprint()" (click)="fingerprint()"
> >
<div class="row-main">{{ "fingerprintPhrase" | i18n }}</div> <div class="row-main">{{ "fingerprintPhrase" | i18n }}</div>
@@ -134,7 +142,6 @@
type="button" type="button"
class="box-content-row box-content-row-flex text-default" class="box-content-row box-content-row-flex text-default"
appStopClick appStopClick
appBlurClick
(click)="logOut()" (click)="logOut()"
> >
<div class="row-main">{{ "logOut" | i18n }}</div> <div class="row-main">{{ "logOut" | i18n }}</div>
@@ -149,7 +156,6 @@
type="button" type="button"
class="box-content-row box-content-row-flex text-default" class="box-content-row box-content-row-flex text-default"
appStopClick appStopClick
appBlurClick
(click)="import()" (click)="import()"
> >
<div class="row-main">{{ "importItems" | i18n }}</div> <div class="row-main">{{ "importItems" | i18n }}</div>
@@ -159,7 +165,6 @@
type="button" type="button"
class="box-content-row box-content-row-flex text-default" class="box-content-row box-content-row-flex text-default"
appStopClick appStopClick
appBlurClick
(click)="export()" (click)="export()"
> >
<div class="row-main">{{ "exportVault" | i18n }}</div> <div class="row-main">{{ "exportVault" | i18n }}</div>
@@ -169,7 +174,6 @@
type="button" type="button"
class="box-content-row box-content-row-flex text-default" class="box-content-row box-content-row-flex text-default"
appStopClick appStopClick
appBlurClick
(click)="webVault()" (click)="webVault()"
> >
<div class="row-main">{{ "bitWebVault" | i18n }}</div> <div class="row-main">{{ "bitWebVault" | i18n }}</div>
@@ -180,15 +184,18 @@
<div class="box list"> <div class="box list">
<h2 class="box-header">{{ "other" | i18n }}</h2> <h2 class="box-header">{{ "other" | i18n }}</h2>
<div class="box-content single-line"> <div class="box-content single-line">
<a class="box-content-row box-content-row-flex text-default" routerLink="/options"> <button
type="button"
class="box-content-row box-content-row-flex text-default"
routerLink="/options"
>
<div class="row-main">{{ "options" | i18n }}</div> <div class="row-main">{{ "options" | i18n }}</div>
<i class="bwi bwi-angle-right bwi-lg row-sub-icon" aria-hidden="true"></i> <i class="bwi bwi-angle-right bwi-lg row-sub-icon" aria-hidden="true"></i>
</a> </button>
<button <button
type="button" type="button"
class="box-content-row box-content-row-flex text-default" class="box-content-row box-content-row-flex text-default"
appStopClick appStopClick
appBlurClick
(click)="about()" (click)="about()"
> >
<div class="row-main">{{ "about" | i18n }}</div> <div class="row-main">{{ "about" | i18n }}</div>
@@ -198,7 +205,6 @@
type="button" type="button"
class="box-content-row box-content-row-flex text-default" class="box-content-row box-content-row-flex text-default"
appStopClick appStopClick
appBlurClick
(click)="share()" (click)="share()"
> >
<div class="row-main">{{ "learnOrg" | i18n }}</div> <div class="row-main">{{ "learnOrg" | i18n }}</div>
@@ -208,7 +214,6 @@
type="button" type="button"
class="box-content-row box-content-row-flex text-default" class="box-content-row box-content-row-flex text-default"
appStopClick appStopClick
appBlurClick
(click)="help()" (click)="help()"
> >
<div class="row-main">{{ "helpFeedback" | i18n }}</div> <div class="row-main">{{ "helpFeedback" | i18n }}</div>
@@ -218,7 +223,6 @@
type="button" type="button"
class="box-content-row box-content-row-flex text-default" class="box-content-row box-content-row-flex text-default"
appStopClick appStopClick
appBlurClick
(click)="rate()" (click)="rate()"
> >
<div class="row-main">{{ "rateExtension" | i18n }}</div> <div class="row-main">{{ "rateExtension" | i18n }}</div>

View File

@@ -1,9 +1,9 @@
<header> <header>
<div class="left"> <div class="left">
<a routerLink="/tabs/settings"> <button type="button" routerLink="/tabs/settings">
<span class="header-icon"><i class="bwi bwi-angle-left" aria-hidden="true"></i></span> <span class="header-icon"><i class="bwi bwi-angle-left" aria-hidden="true"></i></span>
<span>{{ "back" | i18n }}</span> <span>{{ "back" | i18n }}</span>
</a> </button>
</div> </div>
<h1 class="center"> <h1 class="center">
<span class="title">{{ "sync" | i18n }}</span> <span class="title">{{ "sync" | i18n }}</span>

View File

@@ -4,6 +4,7 @@
<ul> <ul>
<li routerLinkActive="active" #rlaCurrentTab="routerLinkActive" *ngIf="showCurrentTab"> <li routerLinkActive="active" #rlaCurrentTab="routerLinkActive" *ngIf="showCurrentTab">
<button <button
type="button"
routerLink="current" routerLink="current"
appA11yTitle="{{ 'currentTab' | i18n }}" appA11yTitle="{{ 'currentTab' | i18n }}"
[attr.aria-pressed]="rlaCurrentTab.isActive" [attr.aria-pressed]="rlaCurrentTab.isActive"
@@ -13,6 +14,7 @@
</li> </li>
<li routerLinkActive="active" #rlaMyVault="routerLinkActive"> <li routerLinkActive="active" #rlaMyVault="routerLinkActive">
<button <button
type="button"
routerLink="vault" routerLink="vault"
appA11yTitle="{{ 'myVault' | i18n }}" appA11yTitle="{{ 'myVault' | i18n }}"
[attr.aria-pressed]="rlaMyVault.isActive" [attr.aria-pressed]="rlaMyVault.isActive"
@@ -22,6 +24,7 @@
</li> </li>
<li routerLinkActive="active" #rlaSend="routerLinkActive"> <li routerLinkActive="active" #rlaSend="routerLinkActive">
<button <button
type="button"
routerLink="send" routerLink="send"
appA11yTitle="{{ 'send' | i18n }}" appA11yTitle="{{ 'send' | i18n }}"
[attr.aria-pressed]="rlaSend.isActive" [attr.aria-pressed]="rlaSend.isActive"
@@ -31,6 +34,7 @@
</li> </li>
<li routerLinkActive="active" #rlaGenerator="routerLinkActive"> <li routerLinkActive="active" #rlaGenerator="routerLinkActive">
<button <button
type="button"
routerLink="generator" routerLink="generator"
appA11yTitle="{{ 'passGen' | i18n }}" appA11yTitle="{{ 'passGen' | i18n }}"
[attr.aria-pressed]="rlaGenerator.isActive" [attr.aria-pressed]="rlaGenerator.isActive"
@@ -40,6 +44,7 @@
</li> </li>
<li routerLinkActive="active" #rlaSettings="routerLinkActive"> <li routerLinkActive="active" #rlaSettings="routerLinkActive">
<button <button
type="button"
routerLink="settings" routerLink="settings"
appA11yTitle="{{ 'settings' | i18n }}" appA11yTitle="{{ 'settings' | i18n }}"
[attr.aria-pressed]="rlaSettings.isActive" [attr.aria-pressed]="rlaSettings.isActive"

View File

@@ -83,7 +83,6 @@
type="button" type="button"
class="row-btn" class="row-btn"
appStopClick appStopClick
appBlurClick
appA11yTitle="{{ 'toggleVisibility' | i18n }}" appA11yTitle="{{ 'toggleVisibility' | i18n }}"
(click)="toggleFieldValue(f)" (click)="toggleFieldValue(f)"
[attr.aria-pressed]="f.showValue" [attr.aria-pressed]="f.showValue"

View File

@@ -1,13 +1,13 @@
<form #form (ngSubmit)="submit()" [appApiAction]="formPromise"> <form #form (ngSubmit)="submit()" [appApiAction]="formPromise">
<header> <header>
<div class="left"> <div class="left">
<button type="button" appBlurClick (click)="cancel()">{{ "cancel" | i18n }}</button> <button type="button" (click)="cancel()">{{ "cancel" | i18n }}</button>
</div> </div>
<h1 class="center"> <h1 class="center">
<span class="title">{{ title }}</span> <span class="title">{{ title }}</span>
</h1> </h1>
<div class="right"> <div class="right">
<button type="submit" appBlurClick [disabled]="form.loading"> <button type="submit" [disabled]="form.loading">
<span [hidden]="form.loading">{{ "save" | i18n }}</span> <span [hidden]="form.loading">{{ "save" | i18n }}</span>
<i class="bwi bwi-spinner bwi-lg bwi-spin" [hidden]="!form.loading" aria-hidden="true"></i> <i class="bwi bwi-spinner bwi-lg bwi-spin" [hidden]="!form.loading" aria-hidden="true"></i>
</button> </button>
@@ -51,7 +51,6 @@
type="button" type="button"
class="row-btn" class="row-btn"
appStopClick appStopClick
appBlurClick
appA11yTitle="{{ 'generateUsername' | i18n }}" appA11yTitle="{{ 'generateUsername' | i18n }}"
(click)="generateUsername()" (click)="generateUsername()"
> >
@@ -77,7 +76,6 @@
type="button" type="button"
#checkPasswordBtn #checkPasswordBtn
class="row-btn btn" class="row-btn btn"
appBlurClick
appA11yTitle="{{ 'checkPassword' | i18n }}" appA11yTitle="{{ 'checkPassword' | i18n }}"
(click)="checkPassword()" (click)="checkPassword()"
[appApiAction]="checkPasswordPromise" [appApiAction]="checkPasswordPromise"
@@ -99,7 +97,6 @@
type="button" type="button"
class="row-btn" class="row-btn"
appStopClick appStopClick
appBlurClick
appA11yTitle="{{ 'toggleVisibility' | i18n }}" appA11yTitle="{{ 'toggleVisibility' | i18n }}"
(click)="togglePassword()" (click)="togglePassword()"
*ngIf="cipher.viewPassword" *ngIf="cipher.viewPassword"
@@ -115,7 +112,6 @@
type="button" type="button"
class="row-btn" class="row-btn"
appStopClick appStopClick
appBlurClick
appA11yTitle="{{ 'generatePassword' | i18n }}" appA11yTitle="{{ 'generatePassword' | i18n }}"
(click)="generatePassword()" (click)="generatePassword()"
*ngIf="cipher.viewPassword" *ngIf="cipher.viewPassword"
@@ -165,7 +161,6 @@
type="button" type="button"
class="row-btn" class="row-btn"
appStopClick appStopClick
appBlurClick
appA11yTitle="{{ 'toggleVisibility' | i18n }}" appA11yTitle="{{ 'toggleVisibility' | i18n }}"
(click)="toggleCardNumber()" (click)="toggleCardNumber()"
[attr.aria-pressed]="showCardNumber" [attr.aria-pressed]="showCardNumber"
@@ -219,7 +214,6 @@
type="button" type="button"
class="row-btn" class="row-btn"
appStopClick appStopClick
appBlurClick
appA11yTitle="{{ 'toggleVisibility' | i18n }}" appA11yTitle="{{ 'toggleVisibility' | i18n }}"
(click)="toggleCardCode()" (click)="toggleCardCode()"
[attr.aria-pressed]="showCardCode" [attr.aria-pressed]="showCardCode"
@@ -486,7 +480,6 @@
<button <button
type="button" type="button"
appStopClick appStopClick
appBlurClick
(click)="addUri()" (click)="addUri()"
class="box-content-row box-content-row-newmulti" class="box-content-row box-content-row-newmulti"
> >
@@ -546,7 +539,6 @@
type="button" type="button"
class="box-content-row box-content-row-flex text-default" class="box-content-row box-content-row-flex text-default"
appStopClick appStopClick
appBlurClick
(click)="attachments()" (click)="attachments()"
*ngIf="editMode && showAttachments && !cloneMode" *ngIf="editMode && showAttachments && !cloneMode"
> >
@@ -566,7 +558,6 @@
type="button" type="button"
class="box-content-row box-content-row-flex text-default" class="box-content-row box-content-row-flex text-default"
appStopClick appStopClick
appBlurClick
(click)="editCollections()" (click)="editCollections()"
*ngIf="editMode && cipher.organizationId && !cloneMode" *ngIf="editMode && cipher.organizationId && !cloneMode"
> >
@@ -641,7 +632,6 @@
type="button" type="button"
class="box-content-row" class="box-content-row"
appStopClick appStopClick
appBlurClick
(click)="delete()" (click)="delete()"
[appApiAction]="deletePromise" [appApiAction]="deletePromise"
#deleteBtn #deleteBtn

View File

@@ -1,10 +1,10 @@
<form #form (ngSubmit)="submit()" [appApiAction]="formPromise"> <form #form (ngSubmit)="submit()" [appApiAction]="formPromise">
<header> <header>
<div class="left"> <div class="left">
<button type="button" appBlurClick (click)="close()" *ngIf="openedAttachmentsInPopup"> <button type="button" (click)="close()" *ngIf="openedAttachmentsInPopup">
{{ "close" | i18n }} {{ "close" | i18n }}
</button> </button>
<button type="button" appBlurClick (click)="back()" *ngIf="!openedAttachmentsInPopup"> <button type="button" (click)="back()" *ngIf="!openedAttachmentsInPopup">
<span class="header-icon"><i class="bwi bwi-angle-left" aria-hidden="true"></i></span> <span class="header-icon"><i class="bwi bwi-angle-left" aria-hidden="true"></i></span>
<span>{{ "back" | i18n }}</span> <span>{{ "back" | i18n }}</span>
</button> </button>
@@ -13,7 +13,7 @@
<span class="title">{{ "attachments" | i18n }}</span> <span class="title">{{ "attachments" | i18n }}</span>
</h1> </h1>
<div class="right"> <div class="right">
<button type="submit" appBlurClick [disabled]="form.loading"> <button type="submit" [disabled]="form.loading">
<span [hidden]="form.loading">{{ "save" | i18n }}</span> <span [hidden]="form.loading">{{ "save" | i18n }}</span>
<i class="bwi bwi-spinner bwi-lg bwi-spin" [hidden]="!form.loading" aria-hidden="true"></i> <i class="bwi bwi-spinner bwi-lg bwi-spin" [hidden]="!form.loading" aria-hidden="true"></i>
</button> </button>
@@ -33,7 +33,6 @@
class="row-btn btn" class="row-btn btn"
type="button" type="button"
appStopClick appStopClick
appBlurClick
appA11yTitle="{{ 'deleteAttachment' | i18n }}" appA11yTitle="{{ 'deleteAttachment' | i18n }}"
(click)="delete(a)" (click)="delete(a)"
#deleteBtn #deleteBtn

View File

@@ -1,6 +1,6 @@
<header> <header>
<div class="left"> <div class="left">
<button type="button" appBlurClick (click)="back()"> <button type="button" (click)="back()">
<span class="header-icon"><i class="bwi bwi-angle-left" aria-hidden="true"></i></span> <span class="header-icon"><i class="bwi bwi-angle-left" aria-hidden="true"></i></span>
<span>{{ "back" | i18n }}</span> <span>{{ "back" | i18n }}</span>
</button> </button>
@@ -19,7 +19,7 @@
<i class="bwi bwi-search" aria-hidden="true"></i> <i class="bwi bwi-search" aria-hidden="true"></i>
</div> </div>
<div class="right"> <div class="right">
<button type="button" appBlurClick (click)="addCipher()" appA11yTitle="{{ 'addItem' | i18n }}"> <button type="button" (click)="addCipher()" appA11yTitle="{{ 'addItem' | i18n }}">
<i class="bwi bwi-plus bwi-lg bwi-fw" aria-hidden="true"></i> <i class="bwi bwi-plus bwi-lg bwi-fw" aria-hidden="true"></i>
</button> </button>
</div> </div>
@@ -40,7 +40,6 @@
*ngFor="let f of nestedFolders" *ngFor="let f of nestedFolders"
class="box-content-row" class="box-content-row"
appStopClick appStopClick
appBlurClick
(click)="selectFolder(f.node)" (click)="selectFolder(f.node)"
> >
<div class="row-main"> <div class="row-main">
@@ -63,7 +62,6 @@
*ngFor="let c of nestedCollections" *ngFor="let c of nestedCollections"
class="box-content-row" class="box-content-row"
appStopClick appStopClick
appBlurClick
(click)="selectCollection(c.node)" (click)="selectCollection(c.node)"
> >
<div class="row-main"> <div class="row-main">

View File

@@ -1,7 +1,7 @@
<form #form (ngSubmit)="submit()" [appApiAction]="formPromise"> <form #form (ngSubmit)="submit()" [appApiAction]="formPromise">
<header> <header>
<div class="left"> <div class="left">
<button type="button" appBlurClick (click)="back()"> <button type="button" (click)="back()">
<span class="header-icon"><i class="bwi bwi-angle-left" aria-hidden="true"></i></span> <span class="header-icon"><i class="bwi bwi-angle-left" aria-hidden="true"></i></span>
<span>{{ "back" | i18n }}</span> <span>{{ "back" | i18n }}</span>
</button> </button>
@@ -10,7 +10,7 @@
<span class="title">{{ "collections" | i18n }}</span> <span class="title">{{ "collections" | i18n }}</span>
</h1> </h1>
<div class="right"> <div class="right">
<button type="submit" appBlurClick [disabled]="form.loading"> <button type="submit" [disabled]="form.loading">
<span [hidden]="form.loading">{{ "save" | i18n }}</span> <span [hidden]="form.loading">{{ "save" | i18n }}</span>
<i class="bwi bwi-spinner bwi-lg bwi-spin" [hidden]="!form.loading" aria-hidden="true"></i> <i class="bwi bwi-spinner bwi-lg bwi-spin" [hidden]="!form.loading" aria-hidden="true"></i>
</button> </button>

View File

@@ -4,7 +4,6 @@
<app-pop-out *ngIf="!inSidebar"></app-pop-out> <app-pop-out *ngIf="!inSidebar"></app-pop-out>
<button <button
type="button" type="button"
appBlurClick
(click)="refresh()" (click)="refresh()"
appA11yTitle="{{ 'refresh' | i18n }}" appA11yTitle="{{ 'refresh' | i18n }}"
*ngIf="inSidebar" *ngIf="inSidebar"
@@ -25,7 +24,7 @@
<i class="bwi bwi-search" aria-hidden="true"></i> <i class="bwi bwi-search" aria-hidden="true"></i>
</div> </div>
<div class="right"> <div class="right">
<button type="button" appBlurClick (click)="addCipher()" appA11yTitle="{{ 'addItem' | i18n }}"> <button type="button" (click)="addCipher()" appA11yTitle="{{ 'addItem' | i18n }}">
<i class="bwi bwi-plus bwi-lg bwi-fw" aria-hidden="true"></i> <i class="bwi bwi-plus bwi-lg bwi-fw" aria-hidden="true"></i>
</button> </button>
</div> </div>

View File

@@ -1,6 +1,6 @@
<header> <header>
<div class="left"> <div class="left">
<button type="button" appBlurClick (click)="close()">{{ "close" | i18n }}</button> <button type="button" (click)="close()">{{ "close" | i18n }}</button>
</div> </div>
<h1 class="center"> <h1 class="center">
<span class="title">{{ "passwordHistory" | i18n }}</span> <span class="title">{{ "passwordHistory" | i18n }}</span>

View File

@@ -1,7 +1,7 @@
<form #form (ngSubmit)="submit()" [appApiAction]="formPromise"> <form #form (ngSubmit)="submit()" [appApiAction]="formPromise">
<header> <header>
<div class="left"> <div class="left">
<button type="button" appBlurClick (click)="cancel()">{{ "cancel" | i18n }}</button> <button type="button" (click)="cancel()">{{ "cancel" | i18n }}</button>
</div> </div>
<h1 class="center"> <h1 class="center">
<span class="title">{{ "moveToOrganization" | i18n }}</span> <span class="title">{{ "moveToOrganization" | i18n }}</span>
@@ -9,7 +9,6 @@
<div class="right"> <div class="right">
<button <button
type="submit" type="submit"
appBlurClick
[disabled]="form.loading || !canSave" [disabled]="form.loading || !canSave"
*ngIf="organizations && organizations.length" *ngIf="organizations && organizations.length"
> >

View File

@@ -17,7 +17,7 @@
<i class="bwi bwi-search"></i> <i class="bwi bwi-search"></i>
</div> </div>
<div class="right"> <div class="right">
<button type="button" appBlurClick (click)="addCipher()" appA11yTitle="{{ 'addItem' | i18n }}"> <button type="button" (click)="addCipher()" appA11yTitle="{{ 'addItem' | i18n }}">
<i class="bwi bwi-plus bwi-lg bwi-fw" aria-hidden="true"></i> <i class="bwi bwi-plus bwi-lg bwi-fw" aria-hidden="true"></i>
</button> </button>
</div> </div>
@@ -61,7 +61,6 @@
type="button" type="button"
class="box-content-row" class="box-content-row"
appStopClick appStopClick
appBlurClick
(click)="selectType(cipherType.Login)" (click)="selectType(cipherType.Login)"
> >
<div class="row-main"> <div class="row-main">
@@ -75,7 +74,6 @@
type="button" type="button"
class="box-content-row" class="box-content-row"
appStopClick appStopClick
appBlurClick
(click)="selectType(cipherType.Card)" (click)="selectType(cipherType.Card)"
> >
<div class="row-main"> <div class="row-main">
@@ -89,7 +87,6 @@
type="button" type="button"
class="box-content-row" class="box-content-row"
appStopClick appStopClick
appBlurClick
(click)="selectType(cipherType.Identity)" (click)="selectType(cipherType.Identity)"
> >
<div class="row-main"> <div class="row-main">
@@ -103,7 +100,6 @@
type="button" type="button"
class="box-content-row" class="box-content-row"
appStopClick appStopClick
appBlurClick
(click)="selectType(cipherType.SecureNote)" (click)="selectType(cipherType.SecureNote)"
> >
<div class="row-main"> <div class="row-main">
@@ -126,7 +122,6 @@
*ngFor="let f of nestedFolders" *ngFor="let f of nestedFolders"
class="box-content-row" class="box-content-row"
appStopClick appStopClick
appBlurClick
(click)="selectFolder(f.node)" (click)="selectFolder(f.node)"
> >
<div class="row-main"> <div class="row-main">
@@ -151,7 +146,6 @@
*ngFor="let nestedCollection of nestedCollections" *ngFor="let nestedCollection of nestedCollections"
class="box-content-row" class="box-content-row"
appStopClick appStopClick
appBlurClick
(click)="selectCollection(nestedCollection.node)" (click)="selectCollection(nestedCollection.node)"
> >
<div class="row-main"> <div class="row-main">
@@ -187,13 +181,7 @@
<span class="flex-right">{{ deletedCount }}</span> <span class="flex-right">{{ deletedCount }}</span>
</h2> </h2>
<div class="box-content single-line"> <div class="box-content single-line">
<button <button type="button" class="box-content-row" appStopClick (click)="selectTrash()">
type="button"
class="box-content-row"
appStopClick
appBlurClick
(click)="selectTrash()"
>
<div class="row-main"> <div class="row-main">
<div class="icon"><i class="bwi bwi-fw bwi-lg bwi-trash"></i></div> <div class="icon"><i class="bwi bwi-fw bwi-lg bwi-trash"></i></div>
<span class="text">{{ "trash" | i18n }}</span> <span class="text">{{ "trash" | i18n }}</span>

View File

@@ -1,12 +1,12 @@
<header> <header>
<div class="left"> <div class="left">
<button type="button" appBlurClick (click)="close()">{{ "close" | i18n }}</button> <button type="button" (click)="close()">{{ "close" | i18n }}</button>
</div> </div>
<h1 class="center"> <h1 class="center">
<span class="title">{{ "viewItem" | i18n }}</span> <span class="title">{{ "viewItem" | i18n }}</span>
</h1> </h1>
<div class="right" *ngIf="cipher"> <div class="right" *ngIf="cipher">
<button type="button" appBlurClick (click)="edit()" *ngIf="!cipher.isDeleted"> <button type="button" (click)="edit()" *ngIf="!cipher.isDeleted">
{{ "edit" | i18n }} {{ "edit" | i18n }}
</button> </button>
</div> </div>
@@ -79,7 +79,6 @@
type="button" type="button"
#checkPasswordBtn #checkPasswordBtn
class="row-btn btn" class="row-btn btn"
appBlurClick
appA11yTitle="{{ 'checkPassword' | i18n }}" appA11yTitle="{{ 'checkPassword' | i18n }}"
(click)="checkPassword()" (click)="checkPassword()"
[appApiAction]="checkPasswordPromise" [appApiAction]="checkPasswordPromise"
@@ -397,7 +396,6 @@
class="box-content-row box-content-row-flex text-default" class="box-content-row box-content-row-flex text-default"
*ngFor="let attachment of cipher.attachments" *ngFor="let attachment of cipher.attachments"
appStopClick appStopClick
appBlurCLick
(click)="downloadAttachment(attachment)" (click)="downloadAttachment(attachment)"
> >
<span class="row-main">{{ attachment.fileName }}</span> <span class="row-main">{{ attachment.fileName }}</span>
@@ -421,7 +419,6 @@
type="button" type="button"
class="box-content-row" class="box-content-row"
appStopClick appStopClick
appBlurClick
(click)="fillCipher()" (click)="fillCipher()"
*ngIf="cipher.type !== cipherType.SecureNote && !cipher.isDeleted && !inPopout" *ngIf="cipher.type !== cipherType.SecureNote && !cipher.isDeleted && !inPopout"
> >
@@ -436,7 +433,6 @@
type="button" type="button"
class="box-content-row" class="box-content-row"
appStopClick appStopClick
appBlurClick
(click)="fillCipherAndSave()" (click)="fillCipherAndSave()"
*ngIf="cipher.type === cipherType.Login && !cipher.isDeleted && !inPopout" *ngIf="cipher.type === cipherType.Login && !cipher.isDeleted && !inPopout"
> >
@@ -451,7 +447,6 @@
type="button" type="button"
class="box-content-row" class="box-content-row"
appStopClick appStopClick
appBlurClick
(click)="clone()" (click)="clone()"
*ngIf="!cipher.organizationId && !cipher.isDeleted" *ngIf="!cipher.organizationId && !cipher.isDeleted"
> >
@@ -466,7 +461,6 @@
type="button" type="button"
class="box-content-row" class="box-content-row"
appStopClick appStopClick
appBlurClick
(click)="share()" (click)="share()"
*ngIf="!cipher.organizationId" *ngIf="!cipher.organizationId"
> >
@@ -481,7 +475,6 @@
type="button" type="button"
class="box-content-row" class="box-content-row"
appStopClick appStopClick
appBlurClick
(click)="restore()" (click)="restore()"
*ngIf="cipher.isDeleted" *ngIf="cipher.isDeleted"
> >
@@ -492,7 +485,7 @@
<span>{{ "restoreItem" | i18n }}</span> <span>{{ "restoreItem" | i18n }}</span>
</div> </div>
</button> </button>
<button type="button" class="box-content-row" appStopClick appBlurClick (click)="delete()"> <button type="button" class="box-content-row" appStopClick (click)="delete()">
<div class="row-main text-danger"> <div class="row-main text-danger">
<div class="icon text-danger" aria-hidden="true"> <div class="icon text-danger" aria-hidden="true">
<i class="bwi bwi-trash bwi-lg bwi-fw"></i> <i class="bwi bwi-trash bwi-lg bwi-fw"></i>
@@ -514,14 +507,14 @@
</div> </div>
<div *ngIf="cipher.hasPasswordHistory"> <div *ngIf="cipher.hasPasswordHistory">
<b class="font-weight-semibold">{{ "passwordHistory" | i18n }}:</b> <b class="font-weight-semibold">{{ "passwordHistory" | i18n }}:</b>
<a <button
routerLink="/cipher-password-history" routerLink="/cipher-password-history"
[queryParams]="{ cipherId: cipher.id }" [queryParams]="{ cipherId: cipher.id }"
appStopClick appStopClick
title="{{ 'passwordHistory' | i18n }}" title="{{ 'passwordHistory' | i18n }}"
> >
{{ cipher.passwordHistory.length }} {{ cipher.passwordHistory.length }}
</a> </button>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -147,7 +147,7 @@
></i> ></i>
<span>{{ "submit" | i18n }}</span> <span>{{ "submit" | i18n }}</span>
</button> </button>
<button class="btn block" (click)="logOut()"> <button type="button" class="btn block" (click)="logOut()">
<span>{{ "logOut" | i18n }}</span> <span>{{ "logOut" | i18n }}</span>
</button> </button>
</div> </div>

View File

@@ -53,7 +53,7 @@
</div> </div>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="submit" class="btn btn-primary btn-submit" appBlurClick> <button type="submit" class="btn btn-primary btn-submit">
<span>{{ "ok" | i18n }}</span> <span>{{ "ok" | i18n }}</span>
</button> </button>
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal"> <button type="button" class="btn btn-outline-secondary" data-dismiss="modal">

View File

@@ -88,7 +88,7 @@
<ng-container *ngIf="activeAccountEmail != null"> <ng-container *ngIf="activeAccountEmail != null">
<div class="border" *ngIf="numberOfAccounts > 0"></div> <div class="border" *ngIf="numberOfAccounts > 0"></div>
<ng-container *ngIf="numberOfAccounts < 4"> <ng-container *ngIf="numberOfAccounts < 4">
<button class="add" routerLink="/login" (click)="addAccount()"> <button type="button" class="add" routerLink="/login" (click)="addAccount()">
<i class="bwi bwi-plus" aria-hidden="true"></i> {{ "addAccount" | i18n }} <i class="bwi bwi-plus" aria-hidden="true"></i> {{ "addAccount" | i18n }}
</button> </button>
</ng-container> </ng-container>

View File

@@ -130,7 +130,12 @@
</ng-container> </ng-container>
</div> </div>
<div class="footer"> <div class="footer">
<button (click)="addSend()" class="block primary" appA11yTitle="{{ 'addItem' | i18n }}"> <button
type="button"
(click)="addSend()"
class="block primary"
appA11yTitle="{{ 'addItem' | i18n }}"
>
<i class="bwi bwi-plus bwi-lg" aria-hidden="true"></i> <i class="bwi bwi-plus bwi-lg" aria-hidden="true"></i>
</button> </button>
</div> </div>