[deps] Autofill: Update prettier to v3.3.3 (#10228)

* [deps] Autofill: Update prettier to v3.3.3

* prettier formatting changes

* fix SyntaxError for literal @ inline html

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Prusik <jprusik@classynemesis.com>
This commit is contained in:
renovate[bot] 2024-07-25 11:11:55 -04:00 committed by GitHub
parent 5cf29a655b
commit b9eb4003a1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
50 changed files with 74 additions and 73 deletions

View File

@ -4,7 +4,7 @@
'tw-bg-background-alt tw-border-transparent': 'tw-bg-background-alt tw-border-transparent':
this.background === 'alt' && !pageContentScrolled(), this.background === 'alt' && !pageContentScrolled(),
'tw-bg-background tw-border-secondary-300': 'tw-bg-background tw-border-secondary-300':
(this.background === 'alt' && pageContentScrolled()) || this.background === 'default' (this.background === 'alt' && pageContentScrolled()) || this.background === 'default',
}" }"
> >
<div class="tw-max-w-screen-sm tw-mx-auto tw-flex tw-justify-between tw-w-full"> <div class="tw-max-w-screen-sm tw-mx-auto tw-flex tw-justify-between tw-w-full">

View File

@ -6,7 +6,7 @@
[ngClass]="{ [ngClass]="{
'tw-invisible': loading || nonScrollable.childElementCount === 0, 'tw-invisible': loading || nonScrollable.childElementCount === 0,
'tw-border-secondary-300': scrolled(), 'tw-border-secondary-300': scrolled(),
'tw-border-transparent': !scrolled() 'tw-border-transparent': !scrolled(),
}" }"
> >
<ng-content select="[slot=above-scroll-area]"></ng-content> <ng-content select="[slot=above-scroll-area]"></ng-content>

View File

@ -240,7 +240,7 @@
/> />
</div> </div>
<div class="box-content-row box-content-row-checkbox" appBoxRow> <div class="box-content-row box-content-row-checkbox" appBoxRow>
<label for="special">!@#$%^&*</label> <label for="special">!&#64;#$%^&*</label>
<input <input
id="special" id="special"
type="checkbox" type="checkbox"

View File

@ -38,7 +38,7 @@ export class ExportCommand {
// format is 'undefined' => Defaults to 'csv' // format is 'undefined' => Defaults to 'csv'
// Any other case => returns the options.format // Any other case => returns the options.format
const format = const format =
password && options.format == "json" ? "encrypted_json" : options.format ?? "csv"; password && options.format == "json" ? "encrypted_json" : (options.format ?? "csv");
if (!this.isSupportedExportFormat(format)) { if (!this.isSupportedExportFormat(format)) {
return Response.badRequest( return Response.badRequest(

View File

@ -265,7 +265,7 @@
/> />
</div> </div>
<div class="box-content-row box-content-row-checkbox" appBoxRow> <div class="box-content-row box-content-row-checkbox" appBoxRow>
<label for="special">!@#$%^&*</label> <label for="special">!&#64;#$%^&*</label>
<input <input
id="special" id="special"
type="checkbox" type="checkbox"

View File

@ -13,7 +13,7 @@
aria-hidden="true" aria-hidden="true"
[ngClass]="{ [ngClass]="{
'bwi-angle-right': isCollapsed(collectionsGrouping), 'bwi-angle-right': isCollapsed(collectionsGrouping),
'bwi-angle-down': !isCollapsed(collectionsGrouping) 'bwi-angle-down': !isCollapsed(collectionsGrouping),
}" }"
></i> ></i>
&nbsp;{{ collectionsGrouping.name | i18n }} &nbsp;{{ collectionsGrouping.name | i18n }}
@ -42,7 +42,7 @@
aria-hidden="true" aria-hidden="true"
[ngClass]="{ [ngClass]="{
'bwi-angle-right': isCollapsed(c.node), 'bwi-angle-right': isCollapsed(c.node),
'bwi-angle-down': !isCollapsed(c.node) 'bwi-angle-down': !isCollapsed(c.node),
}" }"
></i> ></i>
</button> </button>

View File

@ -13,7 +13,7 @@
aria-hidden="true" aria-hidden="true"
[ngClass]="{ [ngClass]="{
'bwi-angle-right': isCollapsed(foldersGrouping), 'bwi-angle-right': isCollapsed(foldersGrouping),
'bwi-angle-down': !isCollapsed(foldersGrouping) 'bwi-angle-down': !isCollapsed(foldersGrouping),
}" }"
></i> ></i>
&nbsp;{{ foldersGrouping.name | i18n }} &nbsp;{{ foldersGrouping.name | i18n }}
@ -33,7 +33,7 @@
<li <li
*ngFor="let f of folders" *ngFor="let f of folders"
[ngClass]="{ [ngClass]="{
active: f.node.id === activeFilter.selectedFolderId && activeFilter.selectedFolder active: f.node.id === activeFilter.selectedFolderId && activeFilter.selectedFolder,
}" }"
class="filter-option" class="filter-option"
> >
@ -52,7 +52,7 @@
aria-hidden="true" aria-hidden="true"
[ngClass]="{ [ngClass]="{
'bwi-angle-right': isCollapsed(f.node), 'bwi-angle-right': isCollapsed(f.node),
'bwi-angle-down': !isCollapsed(f.node) 'bwi-angle-down': !isCollapsed(f.node),
}" }"
></i> ></i>
</button> </button>

View File

@ -15,7 +15,7 @@
aria-hidden="true" aria-hidden="true"
[ngClass]="{ [ngClass]="{
'bwi-angle-right': isCollapsed, 'bwi-angle-right': isCollapsed,
'bwi-angle-down': !isCollapsed 'bwi-angle-down': !isCollapsed,
}" }"
></i> ></i>
</button> </button>
@ -74,7 +74,7 @@
aria-hidden="true" aria-hidden="true"
[ngClass]="{ [ngClass]="{
'bwi-angle-right': isCollapsed, 'bwi-angle-right': isCollapsed,
'bwi-angle-down': !isCollapsed 'bwi-angle-down': !isCollapsed,
}" }"
></i> ></i>
</button> </button>

View File

@ -12,7 +12,7 @@
aria-hidden="true" aria-hidden="true"
[ngClass]="{ [ngClass]="{
'bwi-angle-right': isCollapsed, 'bwi-angle-right': isCollapsed,
'bwi-angle-down': !isCollapsed 'bwi-angle-down': !isCollapsed,
}" }"
></i> ></i>
&nbsp;{{ typesNode.name | i18n }} &nbsp;{{ typesNode.name | i18n }}

View File

@ -50,6 +50,6 @@
</bit-form-control> </bit-form-control>
<bit-form-control> <bit-form-control>
<input type="checkbox" bitCheckbox formControlName="requireSpecial" id="requireSpecial" /> <input type="checkbox" bitCheckbox formControlName="requireSpecial" id="requireSpecial" />
<bit-label>!@#$%^&amp;*</bit-label> <bit-label>!&#64;#$%^&amp;*</bit-label>
</bit-form-control> </bit-form-control>
</div> </div>

View File

@ -44,7 +44,7 @@
</bit-form-control> </bit-form-control>
<bit-form-control> <bit-form-control>
<input type="checkbox" bitCheckbox formControlName="useSpecial" id="useSpecial" /> <input type="checkbox" bitCheckbox formControlName="useSpecial" id="useSpecial" />
<bit-label>!@#$%^&amp;*</bit-label> <bit-label>!&#64;#$%^&amp;*</bit-label>
</bit-form-control> </bit-form-control>
<h3 bitTypography="h3" class="tw-mt-4">{{ "passphrase" | i18n }}</h3> <h3 bitTypography="h3" class="tw-mt-4">{{ "passphrase" | i18n }}</h3>
<div class="tw-grid tw-grid-cols-12 tw-gap-4"> <div class="tw-grid tw-grid-cols-12 tw-gap-4">

View File

@ -26,7 +26,7 @@
title="{{ 'customColor' | i18n }}" title="{{ 'customColor' | i18n }}"
[ngClass]="{ [ngClass]="{
'!tw-outline-[3px] tw-outline-primary-600 hover:tw-outline-[3px] hover:tw-outline-primary-600': '!tw-outline-[3px] tw-outline-primary-600 hover:tw-outline-[3px] hover:tw-outline-primary-600':
customColorSelected customColorSelected,
}" }"
class="tw-relative tw-flex tw-h-24 tw-w-24 tw-cursor-pointer tw-place-content-center tw-content-center tw-justify-center tw-rounded-full tw-border tw-border-solid tw-border-secondary-600 tw-outline tw-outline-0 tw-outline-offset-1 hover:tw-outline-1 hover:tw-outline-primary-300 focus:tw-outline-2 focus:tw-outline-primary-600" class="tw-relative tw-flex tw-h-24 tw-w-24 tw-cursor-pointer tw-place-content-center tw-content-center tw-justify-center tw-rounded-full tw-border tw-border-solid tw-border-secondary-600 tw-outline tw-outline-0 tw-outline-offset-1 hover:tw-outline-1 hover:tw-outline-primary-300 focus:tw-outline-2 focus:tw-outline-primary-600"
[style.background-color]="customColor$ | async" [style.background-color]="customColor$ | async"

View File

@ -33,7 +33,7 @@
[organizationInfo]="{ [organizationInfo]="{
name: formGroup.get('name').value, name: formGroup.get('name').value,
email: formGroup.get('email').value, email: formGroup.get('email').value,
type: productType type: productType,
}" }"
[subscriptionProduct]="SubscriptionProduct.SecretsManager" [subscriptionProduct]="SubscriptionProduct.SecretsManager"
(steppedBack)="steppedBack()" (steppedBack)="steppedBack()"

View File

@ -102,7 +102,7 @@
[organizationInfo]="{ [organizationInfo]="{
name: orgInfoFormGroup.get('name').value, name: orgInfoFormGroup.get('name').value,
email: orgInfoFormGroup.get('email').value, email: orgInfoFormGroup.get('email').value,
type: trialOrganizationType type: trialOrganizationType,
}" }"
[subscriptionProduct]="SubscriptionProduct.PasswordManager" [subscriptionProduct]="SubscriptionProduct.PasswordManager"
(steppedBack)="previousStep()" (steppedBack)="previousStep()"

View File

@ -6,7 +6,7 @@
[disabled]="disabled" [disabled]="disabled"
class="tw-flex tw-w-full tw-items-center tw-border-none tw-bg-transparent" class="tw-flex tw-w-full tw-items-center tw-border-none tw-bg-transparent"
[ngClass]="{ [ngClass]="{
'hover:tw-bg-secondary-100': !disabled && step.editable 'hover:tw-bg-secondary-100': !disabled && step.editable,
}" }"
[attr.aria-expanded]="selected" [attr.aria-expanded]="selected"
> >
@ -16,7 +16,7 @@
[ngClass]="{ [ngClass]="{
'tw-bg-primary-600 tw-text-contrast': selected, 'tw-bg-primary-600 tw-text-contrast': selected,
'tw-bg-secondary-300 tw-text-main': !selected && !disabled && step.editable, 'tw-bg-secondary-300 tw-text-main': !selected && !disabled && step.editable,
'tw-bg-transparent tw-text-muted': disabled 'tw-bg-transparent tw-text-muted': disabled,
}" }"
> >
{{ stepNumber }} {{ stepNumber }}
@ -30,13 +30,13 @@
<div <div
class="tw-txt-main tw-mt-3.5 tw-h-12 tw-text-left tw-leading-snug" class="tw-txt-main tw-mt-3.5 tw-h-12 tw-text-left tw-leading-snug"
[ngClass]="{ [ngClass]="{
'tw-font-bold': selected 'tw-font-bold': selected,
}" }"
> >
<p <p
class="main-label text tw-mb-1 tw-text-main" class="main-label text tw-mb-1 tw-text-main"
[ngClass]="{ [ngClass]="{
'tw-mt-1': !step.subLabel 'tw-mt-1': !step.subLabel,
}" }"
> >
{{ step.label }} {{ step.label }}

View File

@ -3,7 +3,7 @@
class="tw-inline-block tw-w-11/12 tw-pl-7" class="tw-inline-block tw-w-11/12 tw-pl-7"
[ngClass]="{ [ngClass]="{
'tw-border-0 tw-border-l tw-border-solid tw-border-secondary-300': applyBorder, 'tw-border-0 tw-border-l tw-border-solid tw-border-secondary-300': applyBorder,
'tw-pt-6': addSubLabelSpacing 'tw-pt-6': addSubLabelSpacing,
}" }"
> >
<ng-content></ng-content> <ng-content></ng-content>

View File

@ -65,7 +65,7 @@
<ng-template body> <ng-template body>
<tr *ngFor="let i of subscription.items"> <tr *ngFor="let i of subscription.items">
<td bitCell> <td bitCell>
{{ i.name }} {{ i.quantity > 1 ? "&times;" + i.quantity : "" }} @ {{ i.name }} {{ i.quantity > 1 ? "&times;" + i.quantity : "" }} &#64;
{{ i.amount | currency: "$" }} {{ i.amount | currency: "$" }}
</td> </td>
<td bitCell>{{ i.quantity * i.amount | currency: "$" }} /{{ i.interval | i18n }}</td> <td bitCell>{{ i.quantity * i.amount | currency: "$" }} /{{ i.interval | i18n }}</td>

View File

@ -75,7 +75,7 @@
<tr bitRow *ngFor="let i of subscriptionLineItems"> <tr bitRow *ngFor="let i of subscriptionLineItems">
<td bitCell [ngClass]="{ 'tw-pl-20': i.addonSubscriptionItem }"> <td bitCell [ngClass]="{ 'tw-pl-20': i.addonSubscriptionItem }">
<span *ngIf="!i.addonSubscriptionItem">{{ i.productName | i18n }} -</span> <span *ngIf="!i.addonSubscriptionItem">{{ i.productName | i18n }} -</span>
{{ i.name }} {{ i.quantity > 1 ? "&times;" + i.quantity : "" }} @ {{ i.name }} {{ i.quantity > 1 ? "&times;" + i.quantity : "" }} &#64;
{{ i.amount | currency: "$" }} {{ i.amount | currency: "$" }}
</td> </td>
<td bitCell class="tw-text-right"> <td bitCell class="tw-text-right">

View File

@ -3,7 +3,7 @@
class="-tw-m-6 tw-mb-3 tw-flex tw-flex-col tw-p-6" class="-tw-m-6 tw-mb-3 tw-flex tw-flex-col tw-p-6"
[ngClass]="{ [ngClass]="{
'tw-border-0 tw-border-b tw-border-solid tw-border-secondary-300 tw-bg-background-alt tw-pb-0': 'tw-border-0 tw-border-b tw-border-solid tw-border-secondary-300 tw-bg-background-alt tw-pb-0':
tabsContainer.childElementCount !== 0 tabsContainer.childElementCount !== 0,
}" }"
> >
<div class="tw-flex"> <div class="tw-flex">

View File

@ -5,7 +5,7 @@
<section <section
[ngStyle]="{ [ngStyle]="{
'--num-products': products.bento.length, '--num-products': products.bento.length,
'grid-template-columns': 'repeat(min(var(--num-products,1),3),auto)' 'grid-template-columns': 'repeat(min(var(--num-products,1),3),auto)',
}" }"
class="tw-grid tw-gap-2" class="tw-grid tw-gap-2"
> >

View File

@ -2,7 +2,7 @@
<i class="bwi bwi-fw !tw-mr-4" [ngClass]="completed ? 'bwi-check tw-text-success' : icon"></i <i class="bwi bwi-fw !tw-mr-4" [ngClass]="completed ? 'bwi-check tw-text-success' : icon"></i
><span ><span
[ngClass]="{ [ngClass]="{
'tw-text-primary-700 tw-line-through tw-decoration-primary-700 tw-opacity-50': completed 'tw-text-primary-700 tw-line-through tw-decoration-primary-700 tw-opacity-50': completed,
}" }"
>{{ title }}<i class="bwi bwi-angle-right tw-ml-1"></i >{{ title }}<i class="bwi bwi-angle-right tw-ml-1"></i
></span> ></span>

View File

@ -210,7 +210,7 @@
[disabled]="enforcedPasswordPolicyOptions?.useSpecial" [disabled]="enforcedPasswordPolicyOptions?.useSpecial"
attr.aria-label="{{ 'specialCharacters' | i18n }}" attr.aria-label="{{ 'specialCharacters' | i18n }}"
/> />
<label for="special" class="form-check-label">!@#$%^&amp;*</label> <label for="special" class="form-check-label">!&#64;#$%^&amp;*</label>
</div> </div>
<div class="form-check"> <div class="form-check">
<input <input

View File

@ -493,7 +493,7 @@
aria-hidden="true" aria-hidden="true"
[ngClass]="{ [ngClass]="{
'bwi-eye': !showCardNumber, 'bwi-eye': !showCardNumber,
'bwi-eye-slash': showCardNumber 'bwi-eye-slash': showCardNumber,
}" }"
></i> ></i>
</button> </button>

View File

@ -66,7 +66,7 @@ export class RoutedVaultFilterService implements OnDestroy {
collectionId: filter.collectionId ?? null, collectionId: filter.collectionId ?? null,
folderId: filter.folderId ?? null, folderId: filter.folderId ?? null,
organizationId: organizationId:
filter.organizationIdParamType === "path" ? null : filter.organizationId ?? null, filter.organizationIdParamType === "path" ? null : (filter.organizationId ?? null),
type: filter.type ?? null, type: filter.type ?? null,
}, },
queryParamsHandling: "merge", queryParamsHandling: "merge",

View File

@ -25,7 +25,7 @@
> >
<h3 <h3
[ngClass]="{ [ngClass]="{
active: isAllVaultsSelected || isNodeSelected(headerNode) active: isAllVaultsSelected || isNodeSelected(headerNode),
}" }"
> >
&nbsp;{{ headerNode.node.name | i18n }} &nbsp;{{ headerNode.node.name | i18n }}
@ -44,7 +44,7 @@
<li <li
*ngFor="let f of filters" *ngFor="let f of filters"
[ngClass]="{ [ngClass]="{
active: isNodeSelected(f) active: isNodeSelected(f),
}" }"
class="filter-option" class="filter-option"
> >
@ -62,7 +62,7 @@
class="bwi bwi-fw" class="bwi bwi-fw"
[ngClass]="{ [ngClass]="{
'bwi-angle-right': isCollapsed(f.node), 'bwi-angle-right': isCollapsed(f.node),
'bwi-angle-down': !isCollapsed(f.node) 'bwi-angle-down': !isCollapsed(f.node),
}" }"
aria-hidden="true" aria-hidden="true"
></i> ></i>

View File

@ -259,7 +259,7 @@
aria-hidden="true" aria-hidden="true"
[ngClass]="{ [ngClass]="{
'bwi-angle-right': !showOpenIdCustomizations, 'bwi-angle-right': !showOpenIdCustomizations,
'bwi-angle-down': showOpenIdCustomizations 'bwi-angle-down': showOpenIdCustomizations,
}" }"
></i> ></i>
</button> </button>

View File

@ -61,7 +61,7 @@
class="tw-text-muted tw-grid tw-grid-flow-col tw-gap-1 tw-grid-cols-1" class="tw-text-muted tw-grid tw-grid-flow-col tw-gap-1 tw-grid-cols-1"
[ngClass]="{ [ngClass]="{
'tw-grid-rows-1': additionalSeatsPurchased <= 0, 'tw-grid-rows-1': additionalSeatsPurchased <= 0,
'tw-grid-rows-2': additionalSeatsPurchased > 0 'tw-grid-rows-2': additionalSeatsPurchased > 0,
}" }"
> >
<span class="tw-col-span-1" <span class="tw-col-span-1"

View File

@ -21,7 +21,7 @@
class="tw-grid tw-grid-flow-col tw-gap-1 tw-grid-cols-1" class="tw-grid tw-grid-flow-col tw-gap-1 tw-grid-cols-1"
[ngClass]="{ [ngClass]="{
'tw-grid-rows-1': additionalSeatsPurchased === 0, 'tw-grid-rows-1': additionalSeatsPurchased === 0,
'tw-grid-rows-2': purchasingSeats || sellingSeats 'tw-grid-rows-2': purchasingSeats || sellingSeats,
}" }"
> >
<span class="tw-col-span-1"> <span class="tw-col-span-1">

View File

@ -27,7 +27,7 @@
{{ getFormattedPlanName(i.planName) }} {{ "orgSeats" | i18n }} ({{ {{ getFormattedPlanName(i.planName) }} {{ "orgSeats" | i18n }} ({{
i.cadence.toLowerCase() i.cadence.toLowerCase()
}}) {{ "&times;" }}{{ getFormattedSeatCount(i.seatMinimum, i.purchasedSeats) }} }}) {{ "&times;" }}{{ getFormattedSeatCount(i.seatMinimum, i.purchasedSeats) }}
@ &#64;
{{ {{
getFormattedCost( getFormattedCost(
i.cost, i.cost,

View File

@ -1,6 +1,6 @@
<ng-container <ng-container
*ngIf="{ *ngIf="{
selectedRegion: selectedRegion$ | async selectedRegion: selectedRegion$ | async,
} as data" } as data"
> >
<div class="environment-selector-btn"> <div class="environment-selector-btn">

View File

@ -414,11 +414,11 @@ export class StateService<
} }
const account = options?.useSecureStorage const account = options?.useSecureStorage
? (await this.secureStorageService.get<TAccount>(options.userId, options)) ?? ? ((await this.secureStorageService.get<TAccount>(options.userId, options)) ??
(await this.storageService.get<TAccount>( (await this.storageService.get<TAccount>(
options.userId, options.userId,
this.reconcileOptions(options, { htmlStorageLocation: HtmlStorageLocation.Local }), this.reconcileOptions(options, { htmlStorageLocation: HtmlStorageLocation.Local }),
)) )))
: await this.storageService.get<TAccount>(options.userId, options); : await this.storageService.get<TAccount>(options.userId, options);
return account; return account;
} }

View File

@ -164,7 +164,7 @@ export class DeriveDefinition<TFrom, TTo, TDeps extends DerivedStateDependencies
} }
get cleanupDelayMs() { get cleanupDelayMs() {
return this.options.cleanupDelayMs < 0 ? 0 : this.options.cleanupDelayMs ?? 1000; return this.options.cleanupDelayMs < 0 ? 0 : (this.options.cleanupDelayMs ?? 1000);
} }
get clearOnCleanup() { get clearOnCleanup() {

View File

@ -68,7 +68,7 @@ export class KeyDefinition<T> {
* Gets the number of milliseconds to wait before cleaning up the state after the last subscriber has unsubscribed. * Gets the number of milliseconds to wait before cleaning up the state after the last subscriber has unsubscribed.
*/ */
get cleanupDelayMs() { get cleanupDelayMs() {
return this.options.cleanupDelayMs < 0 ? 0 : this.options.cleanupDelayMs ?? 1000; return this.options.cleanupDelayMs < 0 ? 0 : (this.options.cleanupDelayMs ?? 1000);
} }
/** /**

View File

@ -51,7 +51,7 @@ export class UserKeyDefinition<T> {
* Gets the number of milliseconds to wait before cleaning up the state after the last subscriber has unsubscribed. * Gets the number of milliseconds to wait before cleaning up the state after the last subscriber has unsubscribed.
*/ */
get cleanupDelayMs() { get cleanupDelayMs() {
return this.options.cleanupDelayMs < 0 ? 0 : this.options.cleanupDelayMs ?? 1000; return this.options.cleanupDelayMs < 0 ? 0 : (this.options.cleanupDelayMs ?? 1000);
} }
/** /**

View File

@ -115,7 +115,7 @@ export class PassphraseGeneratorOptionsEvaluator
const wordSeparator = const wordSeparator =
options.wordSeparator === "" options.wordSeparator === ""
? "" ? ""
: options.wordSeparator?.[0] ?? DefaultPassphraseGenerationOptions.wordSeparator; : (options.wordSeparator?.[0] ?? DefaultPassphraseGenerationOptions.wordSeparator);
return { return {
...options, ...options,

View File

@ -29,7 +29,7 @@ export class CryptoServiceRandomizer implements Randomizer {
// ref: https://stackoverflow.com/a/12646864/1090359 // ref: https://stackoverflow.com/a/12646864/1090359
async shuffle<T>(items: Array<T>, options?: { copy?: boolean }) { async shuffle<T>(items: Array<T>, options?: { copy?: boolean }) {
const shuffled = options?.copy ?? true ? [...items] : items; const shuffled = (options?.copy ?? true) ? [...items] : items;
for (let i = shuffled.length - 1; i > 0; i--) { for (let i = shuffled.length - 1; i > 0; i--) {
const j = await this.uniform(0, i); const j = await this.uniform(0, i);

View File

@ -5,7 +5,7 @@
selectedOption selectedOption
? 'tw-bg-text-muted tw-text-contrast tw-gap-1' ? 'tw-bg-text-muted tw-text-contrast tw-gap-1'
: 'tw-bg-transparent tw-text-muted tw-gap-1.5', : 'tw-bg-transparent tw-text-muted tw-gap-1.5',
focusVisibleWithin() ? 'tw-ring-2 tw-ring-primary-500 tw-ring-offset-1' : '' focusVisibleWithin() ? 'tw-ring-2 tw-ring-primary-500 tw-ring-offset-1' : '',
]" ]"
> >
<!-- Primary button --> <!-- Primary button -->
@ -13,7 +13,7 @@
type="button" type="button"
class="fvw-target tw-inline-flex tw-gap-1.5 tw-items-center tw-bg-transparent hover:tw-bg-transparent tw-border-none tw-outline-none tw-max-w-full tw-py-1 tw-pl-3 last:tw-pr-3 tw-truncate tw-text-[inherit]" class="fvw-target tw-inline-flex tw-gap-1.5 tw-items-center tw-bg-transparent hover:tw-bg-transparent tw-border-none tw-outline-none tw-max-w-full tw-py-1 tw-pl-3 last:tw-pr-3 tw-truncate tw-text-[inherit]"
[ngClass]="{ [ngClass]="{
'tw-cursor-not-allowed': disabled 'tw-cursor-not-allowed': disabled,
}" }"
[bitMenuTriggerFor]="menu" [bitMenuTriggerFor]="menu"
[disabled]="disabled" [disabled]="disabled"
@ -37,7 +37,7 @@
[disabled]="disabled" [disabled]="disabled"
class="tw-bg-transparent hover:tw-bg-transparent tw-outline-none tw-rounded-full tw-p-1 tw-my-1 tw-mr-1 tw-text-[inherit] tw-border-solid tw-border tw-border-text-muted hover:tw-border-text-contrast hover:disabled:tw-border-transparent tw-aspect-square tw-flex tw-items-center tw-justify-center tw-h-fit focus-visible:tw-ring-2 tw-ring-text-contrast focus-visible:hover:tw-border-transparent" class="tw-bg-transparent hover:tw-bg-transparent tw-outline-none tw-rounded-full tw-p-1 tw-my-1 tw-mr-1 tw-text-[inherit] tw-border-solid tw-border tw-border-text-muted hover:tw-border-text-contrast hover:disabled:tw-border-transparent tw-aspect-square tw-flex tw-items-center tw-justify-center tw-h-fit focus-visible:tw-ring-2 tw-ring-text-contrast focus-visible:hover:tw-border-transparent"
[ngClass]="{ [ngClass]="{
'tw-cursor-not-allowed': disabled 'tw-cursor-not-allowed': disabled,
}" }"
(click)="clear()" (click)="clear()"
> >

View File

@ -38,7 +38,7 @@
'tw-overflow-y-auto': !loading, 'tw-overflow-y-auto': !loading,
'tw-invisible tw-overflow-y-hidden': loading, 'tw-invisible tw-overflow-y-hidden': loading,
'tw-bg-background': background === 'default', 'tw-bg-background': background === 'default',
'tw-bg-background-alt': background === 'alt' 'tw-bg-background-alt': background === 'alt',
}" }"
> >
<ng-content select="[bitDialogContent]"></ng-content> <ng-content select="[bitDialogContent]"></ng-content>

View File

@ -25,7 +25,7 @@
<!-- overlay backdrop for side-nav --> <!-- overlay backdrop for side-nav -->
<div <div
*ngIf="{ *ngIf="{
open: sideNavService.open$ | async open: sideNavService.open$ | async,
} as data" } as data"
class="tw-pointer-events-none tw-fixed tw-inset-0 tw-z-10 tw-bg-black tw-bg-opacity-0 motion-safe:tw-transition-colors md:tw-hidden" class="tw-pointer-events-none tw-fixed tw-inset-0 tw-z-10 tw-bg-black tw-bg-opacity-0 motion-safe:tw-transition-colors md:tw-hidden"
[ngClass]="[data.open ? 'tw-bg-opacity-30 md:tw-bg-opacity-0' : 'tw-bg-opacity-0']" [ngClass]="[data.open ? 'tw-bg-opacity-30 md:tw-bg-opacity-0' : 'tw-bg-opacity-0']"

View File

@ -1,6 +1,6 @@
<ng-container <ng-container
*ngIf="{ *ngIf="{
open: sideNavService.open$ | async open: sideNavService.open$ | async,
} as data" } as data"
> >
<div <div
@ -10,12 +10,12 @@
showActiveStyles showActiveStyles
? 'tw-bg-background-alt4' ? 'tw-bg-background-alt4'
: 'tw-bg-background-alt3 hover:tw-bg-primary-300/60', : 'tw-bg-background-alt3 hover:tw-bg-primary-300/60',
fvwStyles$ | async fvwStyles$ | async,
]" ]"
> >
<div <div
[ngStyle]="{ [ngStyle]="{
'padding-left': data.open ? (variant === 'tree' ? 2.5 : 1) + treeDepth * 1.5 + 'rem' : '0' 'padding-left': data.open ? (variant === 'tree' ? 2.5 : 1) + treeDepth * 1.5 + 'rem' : '0',
}" }"
class="tw-relative tw-flex" class="tw-relative tw-flex"
> >
@ -30,7 +30,7 @@
<div <div
*ngIf="slotStart.childElementCount === 0" *ngIf="slotStart.childElementCount === 0"
[ngClass]="{ [ngClass]="{
'tw-w-0': variant !== 'tree' 'tw-w-0': variant !== 'tree',
}" }"
> >
<button <button
@ -52,7 +52,7 @@
class="tw-truncate" class="tw-truncate"
[ngClass]="[ [ngClass]="[
variant === 'tree' ? 'tw-py-1' : 'tw-py-2', variant === 'tree' ? 'tw-py-1' : 'tw-py-2',
data.open ? 'tw-pr-4' : 'tw-text-center' data.open ? 'tw-pr-4' : 'tw-text-center',
]" ]"
> >
<i <i
@ -105,7 +105,7 @@
class="tw-flex -tw-ml-3 tw-pr-4 tw-gap-1 [&>*:focus-visible::before]:!tw-ring-text-alt2 [&>*:hover]:!tw-border-text-alt2 [&>*]:tw-text-alt2" class="tw-flex -tw-ml-3 tw-pr-4 tw-gap-1 [&>*:focus-visible::before]:!tw-ring-text-alt2 [&>*:hover]:!tw-border-text-alt2 [&>*]:tw-text-alt2"
[ngClass]="[ [ngClass]="[
variant === 'tree' ? 'tw-py-1' : 'tw-py-2', variant === 'tree' ? 'tw-py-1' : 'tw-py-2',
endSlot.childElementCount === 0 ? 'tw-hidden' : '' endSlot.childElementCount === 0 ? 'tw-hidden' : '',
]" ]"
> >
<ng-content select="[slot=end]"></ng-content> <ng-content select="[slot=end]"></ng-content>

View File

@ -1,7 +1,7 @@
<nav <nav
*ngIf="{ *ngIf="{
open: sideNavService.open$ | async, open: sideNavService.open$ | async,
isOverlay: sideNavService.isOverlay$ | async isOverlay: sideNavService.isOverlay$ | async,
} as data" } as data"
id="bit-side-nav" id="bit-side-nav"
class="tw-fixed md:tw-sticky tw-inset-y-0 tw-left-0 tw-z-30 tw-flex tw-h-screen tw-flex-col tw-overscroll-none tw-overflow-auto tw-bg-background-alt3 tw-outline-none" class="tw-fixed md:tw-sticky tw-inset-y-0 tw-left-0 tw-z-30 tw-flex tw-h-screen tw-flex-col tw-overscroll-none tw-overflow-auto tw-bg-background-alt3 tw-outline-none"
@ -10,7 +10,7 @@
variant === 'secondary' && { variant === 'secondary' && {
'--color-text-alt2': 'var(--color-text-main)', '--color-text-alt2': 'var(--color-text-main)',
'--color-background-alt3': 'var(--color-secondary-100)', '--color-background-alt3': 'var(--color-secondary-100)',
'--color-background-alt4': 'var(--color-secondary-300)' '--color-background-alt4': 'var(--color-secondary-300)',
} }
" "
[cdkTrapFocus]="data.isOverlay" [cdkTrapFocus]="data.isOverlay"

View File

@ -9,7 +9,7 @@ import { Component, Input } from "@angular/core";
template: ` template: `
<section <section
[ngClass]="{ [ngClass]="{
'tw-mb-6 md:tw-mb-12': !disableMargin 'tw-mb-6 md:tw-mb-12': !disableMargin,
}" }"
> >
<ng-content></ng-content> <ng-content></ng-content>

View File

@ -42,7 +42,7 @@ export class CryptoServiceRandomizer implements Randomizer {
throw new Error("items must have at least one entry."); throw new Error("items must have at least one entry.");
} }
const shuffled = options?.copy ?? true ? [...items] : items; const shuffled = (options?.copy ?? true) ? [...items] : items;
for (let i = shuffled.length - 1; i > 0; i--) { for (let i = shuffled.length - 1; i > 0; i--) {
const j = await this.uniform(0, i); const j = await this.uniform(0, i);

View File

@ -39,7 +39,7 @@ export class EmailCalculator {
* @returns an email address or `null` if the calculation fails. * @returns an email address or `null` if the calculation fails.
*/ */
concatenate(username: string, domain: string) { concatenate(username: string, domain: string) {
const emailDomain = domain?.startsWith("@") ? domain.substring(1, Infinity) : domain ?? ""; const emailDomain = domain?.startsWith("@") ? domain.substring(1, Infinity) : (domain ?? "");
if (emailDomain.length < 1) { if (emailDomain.length < 1) {
return null; return null;
} }

View File

@ -47,7 +47,7 @@ export class EmailRandomizer {
* is empty, resolves to null instead. * is empty, resolves to null instead.
*/ */
async randomAsciiCatchall(domain: string, options?: { length?: number }) { async randomAsciiCatchall(domain: string, options?: { length?: number }) {
const emailDomain = domain?.startsWith("@") ? domain.substring(1, Infinity) : domain ?? ""; const emailDomain = domain?.startsWith("@") ? domain.substring(1, Infinity) : (domain ?? "");
if (emailDomain.length < 1) { if (emailDomain.length < 1) {
return null; return null;
} }
@ -75,7 +75,7 @@ export class EmailRandomizer {
domain: string, domain: string,
options?: { numberOfWords?: number; words?: Array<string> }, options?: { numberOfWords?: number; words?: Array<string> },
) { ) {
const emailDomain = domain?.startsWith("@") ? domain.substring(1, Infinity) : domain ?? ""; const emailDomain = domain?.startsWith("@") ? domain.substring(1, Infinity) : (domain ?? "");
if (emailDomain.length < 1) { if (emailDomain.length < 1) {
return null; return null;
} }

View File

@ -90,7 +90,7 @@ export class PassphraseGeneratorOptionsEvaluator
const wordSeparator = const wordSeparator =
options.wordSeparator === "" options.wordSeparator === ""
? "" ? ""
: options.wordSeparator?.[0] ?? DefaultPassphraseGenerationOptions.wordSeparator; : (options.wordSeparator?.[0] ?? DefaultPassphraseGenerationOptions.wordSeparator);
return { return {
...options, ...options,

View File

@ -32,11 +32,11 @@ export class EffUsernameGeneratorStrategy
// algorithm // algorithm
async generate(options: EffUsernameGenerationOptions) { async generate(options: EffUsernameGenerationOptions) {
const casing = const casing =
options.wordCapitalize ?? DefaultEffUsernameOptions.wordCapitalize (options.wordCapitalize ?? DefaultEffUsernameOptions.wordCapitalize)
? "TitleCase" ? "TitleCase"
: "lowercase"; : "lowercase";
const digits = const digits =
options.wordIncludeNumber ?? DefaultEffUsernameOptions.wordIncludeNumber (options.wordIncludeNumber ?? DefaultEffUsernameOptions.wordIncludeNumber)
? UsernameDigits.enabled ? UsernameDigits.enabled
: UsernameDigits.disabled; : UsernameDigits.disabled;
const word = await this.randomizer.randomWords({ numberOfWords: 1, casing, digits }); const word = await this.randomizer.randomWords({ numberOfWords: 1, casing, digits });

View File

@ -14,7 +14,7 @@
[formGroupName]="i" [formGroupName]="i"
class="tw-flex tw-p-3 -tw-mx-3 tw-gap-4 tw-bg-background tw-rounded-lg first:-tw-mt-3 last-of-type:tw-mb-3" class="tw-flex tw-p-3 -tw-mx-3 tw-gap-4 tw-bg-background tw-rounded-lg first:-tw-mt-3 last-of-type:tw-mb-3"
[ngClass]="{ [ngClass]="{
'tw-items-center': field.value.type === FieldType.Boolean 'tw-items-center': field.value.type === FieldType.Boolean,
}" }"
[attr.data-testid]="field.value.name + '-entry'" [attr.data-testid]="field.value.name + '-entry'"
cdkDrag cdkDrag

9
package-lock.json generated
View File

@ -162,7 +162,7 @@
"node-ipc": "9.2.1", "node-ipc": "9.2.1",
"postcss": "8.4.38", "postcss": "8.4.38",
"postcss-loader": "8.1.1", "postcss-loader": "8.1.1",
"prettier": "3.2.2", "prettier": "3.3.3",
"prettier-plugin-tailwindcss": "0.6.5", "prettier-plugin-tailwindcss": "0.6.5",
"process": "0.11.10", "process": "0.11.10",
"react": "18.3.1", "react": "18.3.1",
@ -32712,10 +32712,11 @@
} }
}, },
"node_modules/prettier": { "node_modules/prettier": {
"version": "3.2.2", "version": "3.3.3",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.2.tgz", "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz",
"integrity": "sha512-HTByuKZzw7utPiDO523Tt2pLtEyK7OibUD9suEJQrPUCYQqrHr74GGX6VidMrovbf/I50mPqr8j/II6oBAuc5A==", "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==",
"dev": true, "dev": true,
"license": "MIT",
"bin": { "bin": {
"prettier": "bin/prettier.cjs" "prettier": "bin/prettier.cjs"
}, },

View File

@ -124,7 +124,7 @@
"node-ipc": "9.2.1", "node-ipc": "9.2.1",
"postcss": "8.4.38", "postcss": "8.4.38",
"postcss-loader": "8.1.1", "postcss-loader": "8.1.1",
"prettier": "3.2.2", "prettier": "3.3.3",
"prettier-plugin-tailwindcss": "0.6.5", "prettier-plugin-tailwindcss": "0.6.5",
"process": "0.11.10", "process": "0.11.10",
"react": "18.3.1", "react": "18.3.1",