mirror of
https://github.com/bitwarden/desktop.git
synced 2024-06-26 10:36:19 +02:00
* Change links to buttons, expose `aria-pressed` for toggles - also make existing `<a routerLink...>` type controls keyboard focusable with the addition of `tabindex="0"` * Correctly set aria-pressed now that I have a working build environment, could verify correct way to set this with my limited Angular knowledge * Change more links to buttons, initial style changes * Fix layout of <button> elements with .box-content-row * Update jslib submodule * Add `aria-expanded` to the send view's "Show options" expand/collapse control * Fix position of "Edit" pencil when hovering over folders * Update jslib * Change sends list links to buttons * Add `aria-pressed` to vault and send list buttons Programmatically denote which of the buttons is currently active/shown in the right-most panel * Fix incorrect "Options" expand/collapse button in add-edit view Currently, that buttons lacks an accName because the "Options" text is outside of it. * Add `aria-pressed` to the send left-hand column filters * Simplify base, list, and vault styles Since links are now buttons, no need to double up selectors for both types of elements. No need to double-up theming in base, as this also causes incorrect "x" in toasts. * Remove unnecessary `position:relative` Fixes issue with cut-off focus outlines, has no other adverse effect * Fix styling for last child of action buttons Old approach of making right padding smaller results in unsightly, off-center icon (noticeable when focus outline is visible). This visually remains the same, but reduces right-hand margin instead.
73 lines
2.6 KiB
HTML
73 lines
2.6 KiB
HTML
<div class="box">
|
|
<div class="box-header">
|
|
{{ "customFields" | i18n }}
|
|
</div>
|
|
<div class="box-content">
|
|
<div class="box-content-row box-content-row-flex" *ngFor="let field of cipher.fields">
|
|
<div class="row-main">
|
|
<span class="row-label">{{ field.name }}</span>
|
|
<div *ngIf="field.type === fieldType.Text">
|
|
{{ field.value || " " }}
|
|
</div>
|
|
<div *ngIf="field.type === fieldType.Hidden">
|
|
<span
|
|
*ngIf="field.showValue"
|
|
class="monospaced show-whitespace"
|
|
[innerHTML]="field.value | colorPassword"
|
|
></span>
|
|
<span *ngIf="!field.showValue" class="monospaced">{{ field.maskedValue }}</span>
|
|
</div>
|
|
<div *ngIf="field.type === fieldType.Boolean">
|
|
<i class="bwi bwi-check-square" *ngIf="field.value === 'true'" aria-hidden="true"></i>
|
|
<i class="bwi bwi-square" *ngIf="field.value !== 'true'" aria-hidden="true"></i>
|
|
<span class="sr-only">{{ field.value }}</span>
|
|
</div>
|
|
<div *ngIf="field.type === fieldType.Linked" class="box-content-row-flex">
|
|
<div class="icon icon-small">
|
|
<i
|
|
class="bwi bwi-link"
|
|
aria-hidden="true"
|
|
appA11yTitle="{{ 'linkedValue' | i18n }}"
|
|
></i>
|
|
<span class="sr-only">{{ "linkedValue" | i18n }}</span>
|
|
</div>
|
|
<span>{{ cipher.linkedFieldI18nKey(field.linkedId) | i18n }}</span>
|
|
</div>
|
|
</div>
|
|
<div class="action-buttons">
|
|
<button
|
|
type="button"
|
|
class="row-btn"
|
|
appStopClick
|
|
appA11yTitle="{{ 'toggleVisibility' | i18n }}"
|
|
*ngIf="field.type === fieldType.Hidden && cipher.viewPassword"
|
|
(click)="toggleFieldValue(field)"
|
|
>
|
|
<i
|
|
class="bwi bwi-lg"
|
|
aria-hidden="true"
|
|
[ngClass]="{ 'bwi-eye': !field.showValue, 'bwi-eye-slash': field.showValue }"
|
|
></i>
|
|
</button>
|
|
<button
|
|
type="button"
|
|
class="row-btn"
|
|
appStopClick
|
|
appA11yTitle="{{ 'copyValue' | i18n }}"
|
|
*ngIf="
|
|
field.value &&
|
|
field.type !== fieldType.Boolean &&
|
|
field.type !== fieldType.Linked &&
|
|
!(field.type === fieldType.Hidden && !cipher.viewPassword)
|
|
"
|
|
(click)="
|
|
copy(field.value, 'value', field.type === fieldType.Hidden ? 'H_Field' : 'Field')
|
|
"
|
|
>
|
|
<i class="bwi bwi-lg bwi-clone" aria-hidden="true"></i>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|