mirror of
https://github.com/bitwarden/browser
synced 2026-02-12 22:44:11 +00:00
PM-14445: Wrong formatting due to merge conflict
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
'tw-bg-background-alt tw-border-transparent':
|
||||
this.background === 'alt' && !pageContentScrolled(),
|
||||
'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">
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
[ngClass]="{
|
||||
'tw-invisible': loading || nonScrollable.childElementCount === 0,
|
||||
'tw-border-secondary-300': scrolled(),
|
||||
'tw-border-transparent': !scrolled()
|
||||
'tw-border-transparent': !scrolled(),
|
||||
}"
|
||||
>
|
||||
<ng-content select="[slot=above-scroll-area]"></ng-content>
|
||||
|
||||
@@ -38,7 +38,7 @@ export class ExportCommand {
|
||||
// format is 'undefined' => Defaults to 'csv'
|
||||
// Any other case => returns the options.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)) {
|
||||
return Response.badRequest(
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
aria-hidden="true"
|
||||
[ngClass]="{
|
||||
'bwi-angle-right': isCollapsed(collectionsGrouping),
|
||||
'bwi-angle-down': !isCollapsed(collectionsGrouping)
|
||||
'bwi-angle-down': !isCollapsed(collectionsGrouping),
|
||||
}"
|
||||
></i>
|
||||
{{ collectionsGrouping.name | i18n }}
|
||||
@@ -42,7 +42,7 @@
|
||||
aria-hidden="true"
|
||||
[ngClass]="{
|
||||
'bwi-angle-right': isCollapsed(c.node),
|
||||
'bwi-angle-down': !isCollapsed(c.node)
|
||||
'bwi-angle-down': !isCollapsed(c.node),
|
||||
}"
|
||||
></i>
|
||||
</button>
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
aria-hidden="true"
|
||||
[ngClass]="{
|
||||
'bwi-angle-right': isCollapsed(foldersGrouping),
|
||||
'bwi-angle-down': !isCollapsed(foldersGrouping)
|
||||
'bwi-angle-down': !isCollapsed(foldersGrouping),
|
||||
}"
|
||||
></i>
|
||||
{{ foldersGrouping.name | i18n }}
|
||||
@@ -33,7 +33,7 @@
|
||||
<li
|
||||
*ngFor="let f of folders"
|
||||
[ngClass]="{
|
||||
active: f.node.id === activeFilter.selectedFolderId && activeFilter.selectedFolder
|
||||
active: f.node.id === activeFilter.selectedFolderId && activeFilter.selectedFolder,
|
||||
}"
|
||||
class="filter-option"
|
||||
>
|
||||
@@ -52,7 +52,7 @@
|
||||
aria-hidden="true"
|
||||
[ngClass]="{
|
||||
'bwi-angle-right': isCollapsed(f.node),
|
||||
'bwi-angle-down': !isCollapsed(f.node)
|
||||
'bwi-angle-down': !isCollapsed(f.node),
|
||||
}"
|
||||
></i>
|
||||
</button>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
aria-hidden="true"
|
||||
[ngClass]="{
|
||||
'bwi-angle-right': isCollapsed,
|
||||
'bwi-angle-down': !isCollapsed
|
||||
'bwi-angle-down': !isCollapsed,
|
||||
}"
|
||||
></i>
|
||||
</button>
|
||||
@@ -74,7 +74,7 @@
|
||||
aria-hidden="true"
|
||||
[ngClass]="{
|
||||
'bwi-angle-right': isCollapsed,
|
||||
'bwi-angle-down': !isCollapsed
|
||||
'bwi-angle-down': !isCollapsed,
|
||||
}"
|
||||
></i>
|
||||
</button>
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
aria-hidden="true"
|
||||
[ngClass]="{
|
||||
'bwi-angle-right': isCollapsed,
|
||||
'bwi-angle-down': !isCollapsed
|
||||
'bwi-angle-down': !isCollapsed,
|
||||
}"
|
||||
></i>
|
||||
{{ typesNode.name | i18n }}
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
title="{{ 'customColor' | i18n }}"
|
||||
[ngClass]="{
|
||||
'!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"
|
||||
[style.background-color]="customColor$ | async"
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
[organizationInfo]="{
|
||||
name: orgInfoFormGroup.value.name,
|
||||
email: orgInfoFormGroup.value.billingEmail,
|
||||
type: trialOrganizationType
|
||||
type: trialOrganizationType,
|
||||
}"
|
||||
[subscriptionProduct]="
|
||||
product === ProductType.SecretsManager
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
[organizationInfo]="{
|
||||
name: formGroup.get('name').value,
|
||||
email: formGroup.get('email').value,
|
||||
type: productType
|
||||
type: productType,
|
||||
}"
|
||||
[subscriptionProduct]="SubscriptionProduct.SecretsManager"
|
||||
(steppedBack)="steppedBack()"
|
||||
|
||||
@@ -102,7 +102,7 @@
|
||||
[organizationInfo]="{
|
||||
name: orgInfoFormGroup.get('name').value,
|
||||
email: orgInfoFormGroup.get('email').value,
|
||||
type: trialOrganizationType
|
||||
type: trialOrganizationType,
|
||||
}"
|
||||
[subscriptionProduct]="SubscriptionProduct.PasswordManager"
|
||||
(steppedBack)="previousStep()"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
[disabled]="disabled"
|
||||
class="tw-flex tw-w-full tw-items-center tw-border-none tw-bg-transparent"
|
||||
[ngClass]="{
|
||||
'hover:tw-bg-secondary-100': !disabled && step.editable
|
||||
'hover:tw-bg-secondary-100': !disabled && step.editable,
|
||||
}"
|
||||
[attr.aria-expanded]="selected"
|
||||
>
|
||||
@@ -16,7 +16,7 @@
|
||||
[ngClass]="{
|
||||
'tw-bg-primary-600 tw-text-contrast': selected,
|
||||
'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 }}
|
||||
@@ -30,13 +30,13 @@
|
||||
<div
|
||||
class="tw-txt-main tw-mt-3.5 tw-h-12 tw-text-left tw-leading-snug"
|
||||
[ngClass]="{
|
||||
'tw-font-bold': selected
|
||||
'tw-font-bold': selected,
|
||||
}"
|
||||
>
|
||||
<p
|
||||
class="main-label text tw-mb-1 tw-text-main"
|
||||
[ngClass]="{
|
||||
'tw-mt-1': !step.subLabel
|
||||
'tw-mt-1': !step.subLabel,
|
||||
}"
|
||||
>
|
||||
{{ step.label }}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
class="tw-inline-block tw-w-11/12 tw-pl-7"
|
||||
[ngClass]="{
|
||||
'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>
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
class="tw-bg-secondary-100 tw-text-center !tw-border-0 tw-text-sm tw-font-bold tw-py-1"
|
||||
[ngClass]="{
|
||||
'tw-bg-primary-700 !tw-text-contrast': selectableProduct === selectedPlan,
|
||||
'tw-bg-secondary-100': !(selectableProduct === selectedPlan)
|
||||
'tw-bg-secondary-100': !(selectableProduct === selectedPlan),
|
||||
}"
|
||||
>
|
||||
{{ "recommended" | i18n }}
|
||||
@@ -82,7 +82,7 @@
|
||||
class="tw-px-2 tw-pb-[4px]"
|
||||
[ngClass]="{
|
||||
'tw-py-1': !(selectableProduct === selectedPlan),
|
||||
'tw-py-0': selectableProduct === selectedPlan
|
||||
'tw-py-0': selectableProduct === selectedPlan,
|
||||
}"
|
||||
>
|
||||
<h3
|
||||
|
||||
@@ -261,7 +261,7 @@ export class ChangePlanDialogComponent implements OnInit, OnDestroy {
|
||||
];
|
||||
this.discountPercentageFromSub = this.isSecretsManagerTrial()
|
||||
? 0
|
||||
: this.sub?.customerDiscount?.percentOff ?? 0;
|
||||
: (this.sub?.customerDiscount?.percentOff ?? 0);
|
||||
|
||||
this.setInitialPlanSelection();
|
||||
this.loading = false;
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
class="-tw-m-6 tw-mb-3 tw-flex tw-flex-col tw-p-6"
|
||||
[ngClass]="{
|
||||
'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">
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<section
|
||||
[ngStyle]="{
|
||||
'--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"
|
||||
>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<i class="bwi bwi-fw !tw-mr-4" [ngClass]="completed ? 'bwi-check tw-text-success' : icon"></i
|
||||
><span
|
||||
[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
|
||||
></span>
|
||||
|
||||
@@ -497,7 +497,7 @@
|
||||
aria-hidden="true"
|
||||
[ngClass]="{
|
||||
'bwi-eye': !showCardNumber,
|
||||
'bwi-eye-slash': showCardNumber
|
||||
'bwi-eye-slash': showCardNumber,
|
||||
}"
|
||||
></i>
|
||||
</button>
|
||||
|
||||
@@ -66,7 +66,7 @@ export class RoutedVaultFilterService implements OnDestroy {
|
||||
collectionId: filter.collectionId ?? null,
|
||||
folderId: filter.folderId ?? null,
|
||||
organizationId:
|
||||
filter.organizationIdParamType === "path" ? null : filter.organizationId ?? null,
|
||||
filter.organizationIdParamType === "path" ? null : (filter.organizationId ?? null),
|
||||
type: filter.type ?? null,
|
||||
},
|
||||
queryParamsHandling: "merge",
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
>
|
||||
<h3
|
||||
[ngClass]="{
|
||||
active: isAllVaultsSelected || isNodeSelected(headerNode)
|
||||
active: isAllVaultsSelected || isNodeSelected(headerNode),
|
||||
}"
|
||||
>
|
||||
{{ headerNode.node.name | i18n }}
|
||||
@@ -44,7 +44,7 @@
|
||||
<li
|
||||
*ngFor="let f of filters"
|
||||
[ngClass]="{
|
||||
active: isNodeSelected(f)
|
||||
active: isNodeSelected(f),
|
||||
}"
|
||||
class="filter-option"
|
||||
>
|
||||
@@ -62,7 +62,7 @@
|
||||
class="bwi bwi-fw"
|
||||
[ngClass]="{
|
||||
'bwi-angle-right': isCollapsed(f.node),
|
||||
'bwi-angle-down': !isCollapsed(f.node)
|
||||
'bwi-angle-down': !isCollapsed(f.node),
|
||||
}"
|
||||
aria-hidden="true"
|
||||
></i>
|
||||
|
||||
@@ -263,7 +263,7 @@
|
||||
aria-hidden="true"
|
||||
[ngClass]="{
|
||||
'bwi-angle-right': !showOpenIdCustomizations,
|
||||
'bwi-angle-down': showOpenIdCustomizations
|
||||
'bwi-angle-down': showOpenIdCustomizations,
|
||||
}"
|
||||
></i>
|
||||
</button>
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
class="tw-text-muted tw-grid tw-grid-flow-col tw-gap-1 tw-grid-cols-1"
|
||||
[ngClass]="{
|
||||
'tw-grid-rows-1': additionalSeatsPurchased <= 0,
|
||||
'tw-grid-rows-2': additionalSeatsPurchased > 0
|
||||
'tw-grid-rows-2': additionalSeatsPurchased > 0,
|
||||
}"
|
||||
>
|
||||
<span class="tw-col-span-1"
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
class="tw-grid tw-grid-flow-col tw-gap-1 tw-grid-cols-1"
|
||||
[ngClass]="{
|
||||
'tw-grid-rows-1': additionalSeatsPurchased === 0,
|
||||
'tw-grid-rows-2': purchasingSeats || sellingSeats
|
||||
'tw-grid-rows-2': purchasingSeats || sellingSeats,
|
||||
}"
|
||||
>
|
||||
<span class="tw-col-span-1">
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<ng-container
|
||||
*ngIf="{
|
||||
selectedRegion: selectedRegion$ | async
|
||||
selectedRegion: selectedRegion$ | async,
|
||||
} as data"
|
||||
>
|
||||
<div class="environment-selector-btn">
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
'tw-pt-0': decreaseTopPadding,
|
||||
'tw-pt-8': !decreaseTopPadding,
|
||||
'tw-min-h-screen': clientType === 'web',
|
||||
'tw-min-h-full': clientType === 'browser' || clientType === 'desktop'
|
||||
'tw-min-h-full': clientType === 'browser' || clientType === 'desktop',
|
||||
}"
|
||||
>
|
||||
<a *ngIf="!hideLogo" [routerLink]="['/']" class="tw-w-[128px] [&>*]:tw-align-top">
|
||||
|
||||
@@ -404,11 +404,11 @@ export class StateService<
|
||||
}
|
||||
|
||||
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>(
|
||||
options.userId,
|
||||
this.reconcileOptions(options, { htmlStorageLocation: HtmlStorageLocation.Local }),
|
||||
))
|
||||
)))
|
||||
: await this.storageService.get<TAccount>(options.userId, options);
|
||||
return account;
|
||||
}
|
||||
|
||||
@@ -164,7 +164,7 @@ export class DeriveDefinition<TFrom, TTo, TDeps extends DerivedStateDependencies
|
||||
}
|
||||
|
||||
get cleanupDelayMs() {
|
||||
return this.options.cleanupDelayMs < 0 ? 0 : this.options.cleanupDelayMs ?? 1000;
|
||||
return this.options.cleanupDelayMs < 0 ? 0 : (this.options.cleanupDelayMs ?? 1000);
|
||||
}
|
||||
|
||||
get clearOnCleanup() {
|
||||
|
||||
@@ -104,7 +104,7 @@ export class KeyDefinition<T> {
|
||||
* Gets the number of milliseconds to wait before cleaning up the state after the last subscriber has unsubscribed.
|
||||
*/
|
||||
get cleanupDelayMs() {
|
||||
return this.options.cleanupDelayMs < 0 ? 0 : this.options.cleanupDelayMs ?? 1000;
|
||||
return this.options.cleanupDelayMs < 0 ? 0 : (this.options.cleanupDelayMs ?? 1000);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -63,7 +63,7 @@ export class UserKeyDefinition<T> {
|
||||
* Gets the number of milliseconds to wait before cleaning up the state after the last subscriber has unsubscribed.
|
||||
*/
|
||||
get cleanupDelayMs() {
|
||||
return this.options.cleanupDelayMs < 0 ? 0 : this.options.cleanupDelayMs ?? 1000;
|
||||
return this.options.cleanupDelayMs < 0 ? 0 : (this.options.cleanupDelayMs ?? 1000);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -60,7 +60,7 @@ export class IntegrationContext<Settings extends object> {
|
||||
options: { base64?: boolean; suffix?: string } = null,
|
||||
): Settings extends ApiSettings ? string : never {
|
||||
// normalize `token` then assert it has a value
|
||||
let token = "token" in this.settings ? (this.settings.token as string) ?? "" : "";
|
||||
let token = "token" in this.settings ? ((this.settings.token as string) ?? "") : "";
|
||||
if (token === "") {
|
||||
const error = this.i18n.t("forwaderInvalidToken", this.metadata.name);
|
||||
throw error;
|
||||
|
||||
@@ -91,7 +91,7 @@ export class RestClient {
|
||||
const message = parsed.message?.toString() ?? null;
|
||||
|
||||
// `false` signals no message found
|
||||
const result = error && message ? `${error}: ${message}` : error ?? message ?? false;
|
||||
const result = error && message ? `${error}: ${message}` : (error ?? message ?? false);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
? 'tw-bg-text-muted tw-text-contrast tw-gap-1'
|
||||
: 'tw-bg-transparent tw-text-muted tw-gap-1.5',
|
||||
focusVisibleWithin() ? 'tw-ring-2 tw-ring-primary-500 tw-ring-offset-1' : '',
|
||||
fullWidth ? 'tw-w-full' : 'tw-max-w-52'
|
||||
fullWidth ? 'tw-w-full' : 'tw-max-w-52',
|
||||
]"
|
||||
>
|
||||
<!-- Primary button -->
|
||||
@@ -14,7 +14,7 @@
|
||||
type="button"
|
||||
class="fvw-target tw-inline-flex tw-gap-1.5 tw-items-center tw-justify-between tw-bg-transparent hover:tw-bg-transparent tw-border-none tw-outline-none tw-w-full tw-py-1 tw-pl-3 last:tw-pr-3 tw-truncate tw-text-[inherit]"
|
||||
[ngClass]="{
|
||||
'tw-cursor-not-allowed': disabled
|
||||
'tw-cursor-not-allowed': disabled,
|
||||
}"
|
||||
[bitMenuTriggerFor]="menu"
|
||||
[disabled]="disabled"
|
||||
@@ -40,7 +40,7 @@
|
||||
[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"
|
||||
[ngClass]="{
|
||||
'tw-cursor-not-allowed': disabled
|
||||
'tw-cursor-not-allowed': disabled,
|
||||
}"
|
||||
(click)="clear()"
|
||||
>
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
'tw-overflow-y-auto': !loading,
|
||||
'tw-invisible tw-overflow-y-hidden': loading,
|
||||
'tw-bg-background': background === 'default',
|
||||
'tw-bg-background-alt': background === 'alt'
|
||||
'tw-bg-background-alt': background === 'alt',
|
||||
}"
|
||||
>
|
||||
<ng-content select="[bitDialogContent]"></ng-content>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<!-- overlay backdrop for side-nav -->
|
||||
<div
|
||||
*ngIf="{
|
||||
open: sideNavService.open$ | async
|
||||
open: sideNavService.open$ | async,
|
||||
} 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"
|
||||
[ngClass]="[data.open ? 'tw-bg-opacity-30 md:tw-bg-opacity-0' : 'tw-bg-opacity-0']"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<ng-container
|
||||
*ngIf="{
|
||||
open: sideNavService.open$ | async
|
||||
open: sideNavService.open$ | async,
|
||||
} as data"
|
||||
>
|
||||
<div
|
||||
@@ -10,12 +10,12 @@
|
||||
showActiveStyles
|
||||
? 'tw-bg-background-alt4'
|
||||
: 'tw-bg-background-alt3 hover:tw-bg-primary-300/60',
|
||||
fvwStyles$ | async
|
||||
fvwStyles$ | async,
|
||||
]"
|
||||
>
|
||||
<div
|
||||
[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"
|
||||
>
|
||||
@@ -30,7 +30,7 @@
|
||||
<div
|
||||
*ngIf="slotStart.childElementCount === 0"
|
||||
[ngClass]="{
|
||||
'tw-w-0': variant !== 'tree'
|
||||
'tw-w-0': variant !== 'tree',
|
||||
}"
|
||||
>
|
||||
<button
|
||||
@@ -52,7 +52,7 @@
|
||||
class="tw-truncate"
|
||||
[ngClass]="[
|
||||
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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<nav
|
||||
*ngIf="{
|
||||
open: sideNavService.open$ | async,
|
||||
isOverlay: sideNavService.isOverlay$ | async
|
||||
isOverlay: sideNavService.isOverlay$ | async,
|
||||
} as data"
|
||||
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"
|
||||
@@ -10,7 +10,7 @@
|
||||
variant === 'secondary' && {
|
||||
'--color-text-alt2': 'var(--color-text-main)',
|
||||
'--color-background-alt3': 'var(--color-secondary-100)',
|
||||
'--color-background-alt4': 'var(--color-secondary-300)'
|
||||
'--color-background-alt4': 'var(--color-secondary-300)',
|
||||
}
|
||||
"
|
||||
[cdkTrapFocus]="data.isOverlay"
|
||||
|
||||
@@ -9,7 +9,7 @@ import { Component, Input } from "@angular/core";
|
||||
template: `
|
||||
<section
|
||||
[ngClass]="{
|
||||
'tw-mb-6 md:tw-mb-12': !disableMargin
|
||||
'tw-mb-6 md:tw-mb-12': !disableMargin,
|
||||
}"
|
||||
>
|
||||
<ng-content></ng-content>
|
||||
|
||||
@@ -161,7 +161,7 @@ export class DefaultBiometricStateService implements BiometricStateService {
|
||||
this.promptCancelledState.state$,
|
||||
]).pipe(
|
||||
map(([userId, record]) => {
|
||||
return userId ? record?.[userId] ?? false : false;
|
||||
return userId ? (record?.[userId] ?? false) : false;
|
||||
}),
|
||||
);
|
||||
this.promptAutomaticallyState = this.stateProvider.getActive(PROMPT_AUTOMATICALLY);
|
||||
|
||||
@@ -39,7 +39,7 @@ export class EmailCalculator {
|
||||
* @returns an email address or `null` if the calculation fails.
|
||||
*/
|
||||
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) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -59,7 +59,7 @@ export class EmailRandomizer
|
||||
* is empty, resolves to null instead.
|
||||
*/
|
||||
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) {
|
||||
return null;
|
||||
}
|
||||
@@ -87,7 +87,7 @@ export class EmailRandomizer
|
||||
domain: 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) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ export class ForwarderContext<Settings extends ApiSettings> extends IntegrationC
|
||||
* @remarks the string is thrown for backwards compatibility
|
||||
*/
|
||||
emailDomain(): Settings extends EmailDomainSettings ? string : never {
|
||||
const domain = "domain" in this.settings ? this.settings.domain ?? "" : "";
|
||||
const domain = "domain" in this.settings ? (this.settings.domain ?? "") : "";
|
||||
if (domain === "") {
|
||||
const error = this.i18n.t("forwarderNoDomain", this.configuration.name);
|
||||
throw error;
|
||||
@@ -43,7 +43,7 @@ export class ForwarderContext<Settings extends ApiSettings> extends IntegrationC
|
||||
* @remarks the string is thrown for backwards compatibility
|
||||
*/
|
||||
emailPrefix(): Settings extends EmailPrefixSettings ? string : never {
|
||||
const prefix = "prefix" in this.settings ? this.settings.prefix ?? "" : "";
|
||||
const prefix = "prefix" in this.settings ? (this.settings.prefix ?? "") : "";
|
||||
if (prefix === "") {
|
||||
const error = this.i18n.t("forwarderNoPrefix", this.configuration.name);
|
||||
throw error;
|
||||
|
||||
@@ -42,7 +42,7 @@ export class KeyServiceRandomizer implements Randomizer {
|
||||
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--) {
|
||||
const j = await this.uniform(0, i);
|
||||
|
||||
@@ -17,7 +17,7 @@ export function availableAlgorithms(policies: Policy[]): CredentialAlgorithm[] {
|
||||
const overridePassword = policies
|
||||
.filter((policy) => policy.type === PolicyType.PasswordGenerator && policy.enabled)
|
||||
.reduce(
|
||||
(type, policy) => (type === "password" ? type : policy.data.overridePasswordType ?? type),
|
||||
(type, policy) => (type === "password" ? type : (policy.data.overridePasswordType ?? type)),
|
||||
null as CredentialAlgorithm,
|
||||
);
|
||||
|
||||
|
||||
@@ -94,7 +94,7 @@ export class PassphraseGeneratorOptionsEvaluator
|
||||
const wordSeparator =
|
||||
options.wordSeparator === ""
|
||||
? ""
|
||||
: options.wordSeparator?.[0] ?? DefaultPassphraseGenerationOptions.wordSeparator;
|
||||
: (options.wordSeparator?.[0] ?? DefaultPassphraseGenerationOptions.wordSeparator);
|
||||
|
||||
return {
|
||||
...options,
|
||||
|
||||
@@ -32,11 +32,11 @@ export class EffUsernameGeneratorStrategy
|
||||
// algorithm
|
||||
async generate(options: EffUsernameGenerationOptions) {
|
||||
const casing =
|
||||
options.wordCapitalize ?? DefaultEffUsernameOptions.wordCapitalize
|
||||
(options.wordCapitalize ?? DefaultEffUsernameOptions.wordCapitalize)
|
||||
? "TitleCase"
|
||||
: "lowercase";
|
||||
const digits =
|
||||
options.wordIncludeNumber ?? DefaultEffUsernameOptions.wordIncludeNumber
|
||||
(options.wordIncludeNumber ?? DefaultEffUsernameOptions.wordIncludeNumber)
|
||||
? UsernameDigits.enabled
|
||||
: UsernameDigits.disabled;
|
||||
const word = await this.randomizer.randomWords({ numberOfWords: 1, casing, digits });
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
[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-0"
|
||||
[ngClass]="{
|
||||
'tw-items-center': field.value.type === FieldType.Boolean
|
||||
'tw-items-center': field.value.type === FieldType.Boolean,
|
||||
}"
|
||||
[attr.data-testid]="field.value.name + '-entry'"
|
||||
cdkDrag
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
class="tw-text-xs tw-text-muted tw-select-none"
|
||||
[ngClass]="{
|
||||
'tw-mb-1 ': cipher.hasPasswordHistory && isLogin,
|
||||
'tw-mb-0': !cipher.hasPasswordHistory || !isLogin
|
||||
'tw-mb-0': !cipher.hasPasswordHistory || !isLogin,
|
||||
}"
|
||||
>
|
||||
<span class="tw-font-bold">{{ "dateCreated" | i18n }}:</span>
|
||||
|
||||
Reference in New Issue
Block a user