1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-11 05:43:41 +00:00

moving ownership of Auth vault timeout input component to KM (#17180)

(cherry picked from commit 5e595dabf71cdb312ae9e1e3bcc3121b3aebf19f)
This commit is contained in:
Maciej Zieniuk
2025-11-12 22:15:01 +01:00
committed by GitHub
parent e8ac3008c7
commit 3da3aa5e8c
14 changed files with 78 additions and 77 deletions

View File

@@ -86,12 +86,12 @@
</bit-section-header> </bit-section-header>
<bit-card> <bit-card>
<auth-vault-timeout-input <bit-session-timeout-input
[vaultTimeoutOptions]="vaultTimeoutOptions" [vaultTimeoutOptions]="vaultTimeoutOptions"
[formControl]="form.controls.vaultTimeout" [formControl]="form.controls.vaultTimeout"
ngDefaultControl ngDefaultControl
> >
</auth-vault-timeout-input> </bit-session-timeout-input>
<bit-form-field disableMargin> <bit-form-field disableMargin>
<bit-label for="vaultTimeoutAction">{{ "vaultTimeoutAction1" | i18n }}</bit-label> <bit-label for="vaultTimeoutAction">{{ "vaultTimeoutAction1" | i18n }}</bit-label>

View File

@@ -24,7 +24,7 @@ import {
import { JslibModule } from "@bitwarden/angular/jslib.module"; import { JslibModule } from "@bitwarden/angular/jslib.module";
import { NudgesService, NudgeType } from "@bitwarden/angular/vault"; import { NudgesService, NudgeType } from "@bitwarden/angular/vault";
import { SpotlightComponent } from "@bitwarden/angular/vault/components/spotlight/spotlight.component"; import { SpotlightComponent } from "@bitwarden/angular/vault/components/spotlight/spotlight.component";
import { FingerprintDialogComponent, VaultTimeoutInputComponent } from "@bitwarden/auth/angular"; import { FingerprintDialogComponent } from "@bitwarden/auth/angular";
import { LockService } from "@bitwarden/auth/common"; import { LockService } from "@bitwarden/auth/common";
import { PolicyService } from "@bitwarden/common/admin-console/abstractions/policy/policy.service.abstraction"; import { PolicyService } from "@bitwarden/common/admin-console/abstractions/policy/policy.service.abstraction";
import { PolicyType } from "@bitwarden/common/admin-console/enums"; import { PolicyType } from "@bitwarden/common/admin-console/enums";
@@ -69,7 +69,10 @@ import {
BiometricStateService, BiometricStateService,
BiometricsStatus, BiometricsStatus,
} from "@bitwarden/key-management"; } from "@bitwarden/key-management";
import { SessionTimeoutSettingsComponent } from "@bitwarden/key-management-ui"; import {
SessionTimeoutInputComponent,
SessionTimeoutSettingsComponent,
} from "@bitwarden/key-management-ui";
import { BiometricErrors, BiometricErrorTypes } from "../../../models/biometricErrors"; import { BiometricErrors, BiometricErrorTypes } from "../../../models/biometricErrors";
import { BrowserApi } from "../../../platform/browser/browser-api"; import { BrowserApi } from "../../../platform/browser/browser-api";
@@ -106,7 +109,7 @@ import { AwaitDesktopDialogComponent } from "./await-desktop-dialog.component";
SessionTimeoutSettingsComponent, SessionTimeoutSettingsComponent,
SpotlightComponent, SpotlightComponent,
TypographyModule, TypographyModule,
VaultTimeoutInputComponent, SessionTimeoutInputComponent,
], ],
}) })
export class AccountSecurityComponent implements OnInit, OnDestroy { export class AccountSecurityComponent implements OnInit, OnDestroy {

View File

@@ -44,12 +44,12 @@
<h2 bitTypography="h6">{{ "vaultTimeoutHeader" | i18n }}</h2> <h2 bitTypography="h6">{{ "vaultTimeoutHeader" | i18n }}</h2>
</bit-section-header> </bit-section-header>
<auth-vault-timeout-input <bit-session-timeout-input
[vaultTimeoutOptions]="vaultTimeoutOptions" [vaultTimeoutOptions]="vaultTimeoutOptions"
[formControl]="form.controls.vaultTimeout" [formControl]="form.controls.vaultTimeout"
ngDefaultControl ngDefaultControl
> >
</auth-vault-timeout-input> </bit-session-timeout-input>
<bit-form-field disableMargin> <bit-form-field disableMargin>
<bit-label for="vaultTimeoutAction">{{ <bit-label for="vaultTimeoutAction">{{

View File

@@ -9,7 +9,6 @@ import { concatMap, map, pairwise, startWith, switchMap, takeUntil, timeout } fr
import { PremiumBadgeComponent } from "@bitwarden/angular/billing/components/premium-badge"; import { PremiumBadgeComponent } from "@bitwarden/angular/billing/components/premium-badge";
import { JslibModule } from "@bitwarden/angular/jslib.module"; import { JslibModule } from "@bitwarden/angular/jslib.module";
import { VaultTimeoutInputComponent } from "@bitwarden/auth/angular";
import { PolicyService } from "@bitwarden/common/admin-console/abstractions/policy/policy.service.abstraction"; import { PolicyService } from "@bitwarden/common/admin-console/abstractions/policy/policy.service.abstraction";
import { PolicyType } from "@bitwarden/common/admin-console/enums"; import { PolicyType } from "@bitwarden/common/admin-console/enums";
import { getFirstPolicy } from "@bitwarden/common/admin-console/services/policy/default-policy.service"; import { getFirstPolicy } from "@bitwarden/common/admin-console/services/policy/default-policy.service";
@@ -55,7 +54,10 @@ import {
TypographyModule, TypographyModule,
} from "@bitwarden/components"; } from "@bitwarden/components";
import { KeyService, BiometricStateService, BiometricsStatus } from "@bitwarden/key-management"; import { KeyService, BiometricStateService, BiometricsStatus } from "@bitwarden/key-management";
import { SessionTimeoutSettingsComponent } from "@bitwarden/key-management-ui"; import {
SessionTimeoutInputComponent,
SessionTimeoutSettingsComponent,
} from "@bitwarden/key-management-ui";
import { PermitCipherDetailsPopoverComponent } from "@bitwarden/vault"; import { PermitCipherDetailsPopoverComponent } from "@bitwarden/vault";
import { SetPinComponent } from "../../auth/components/set-pin.component"; import { SetPinComponent } from "../../auth/components/set-pin.component";
@@ -95,7 +97,7 @@ import { NativeMessagingManifestService } from "../services/native-messaging-man
SectionHeaderComponent, SectionHeaderComponent,
SelectModule, SelectModule,
TypographyModule, TypographyModule,
VaultTimeoutInputComponent, SessionTimeoutInputComponent,
SessionTimeoutSettingsComponent, SessionTimeoutSettingsComponent,
PermitCipherDetailsPopoverComponent, PermitCipherDetailsPopoverComponent,
PremiumBadgeComponent, PremiumBadgeComponent,

View File

@@ -17,12 +17,12 @@
{{ "vaultTimeoutActionPolicyInEffect" | i18n: (policy.action | i18n) }} {{ "vaultTimeoutActionPolicyInEffect" | i18n: (policy.action | i18n) }}
</span> </span>
</bit-callout> </bit-callout>
<auth-vault-timeout-input <bit-session-timeout-input
[vaultTimeoutOptions]="vaultTimeoutOptions" [vaultTimeoutOptions]="vaultTimeoutOptions"
[formControl]="form.controls.vaultTimeout" [formControl]="form.controls.vaultTimeout"
ngDefaultControl ngDefaultControl
> >
</auth-vault-timeout-input> </bit-session-timeout-input>
<ng-container *ngIf="availableVaultTimeoutActions$ | async as availableVaultTimeoutActions"> <ng-container *ngIf="availableVaultTimeoutActions$ | async as availableVaultTimeoutActions">
<bit-radio-group <bit-radio-group
formControlName="vaultTimeoutAction" formControlName="vaultTimeoutAction"

View File

@@ -14,7 +14,6 @@ import {
tap, tap,
} from "rxjs"; } from "rxjs";
import { VaultTimeoutInputComponent } from "@bitwarden/auth/angular";
import { PolicyService } from "@bitwarden/common/admin-console/abstractions/policy/policy.service.abstraction"; import { PolicyService } from "@bitwarden/common/admin-console/abstractions/policy/policy.service.abstraction";
import { PolicyType } from "@bitwarden/common/admin-console/enums"; import { PolicyType } from "@bitwarden/common/admin-console/enums";
import { getFirstPolicy } from "@bitwarden/common/admin-console/services/policy/default-policy.service"; import { getFirstPolicy } from "@bitwarden/common/admin-console/services/policy/default-policy.service";
@@ -34,6 +33,7 @@ import { Theme, ThemeTypes } from "@bitwarden/common/platform/enums";
import { Utils } from "@bitwarden/common/platform/misc/utils"; import { Utils } from "@bitwarden/common/platform/misc/utils";
import { ThemeStateService } from "@bitwarden/common/platform/theming/theme-state.service"; import { ThemeStateService } from "@bitwarden/common/platform/theming/theme-state.service";
import { DialogService } from "@bitwarden/components"; import { DialogService } from "@bitwarden/components";
import { SessionTimeoutInputComponent } from "@bitwarden/key-management-ui";
import { PermitCipherDetailsPopoverComponent } from "@bitwarden/vault"; import { PermitCipherDetailsPopoverComponent } from "@bitwarden/vault";
import { HeaderModule } from "../layouts/header/header.module"; import { HeaderModule } from "../layouts/header/header.module";
@@ -52,7 +52,7 @@ import { SharedModule } from "../shared";
imports: [ imports: [
SharedModule, SharedModule,
HeaderModule, HeaderModule,
VaultTimeoutInputComponent, SessionTimeoutInputComponent,
PermitCipherDetailsPopoverComponent, PermitCipherDetailsPopoverComponent,
], ],
}) })

View File

@@ -43,9 +43,6 @@ export * from "./user-verification/user-verification-dialog.component";
export * from "./user-verification/user-verification-dialog.types"; export * from "./user-verification/user-verification-dialog.types";
export * from "./user-verification/user-verification-form-input.component"; export * from "./user-verification/user-verification-form-input.component";
// vault timeout
export * from "./vault-timeout-input/vault-timeout-input.component";
// sso // sso
export * from "./sso/sso.component"; export * from "./sso/sso.component";
export * from "./sso/sso-component.service"; export * from "./sso/sso-component.service";

View File

@@ -11,3 +11,4 @@ export { RemovePasswordComponent } from "./key-connector/remove-password.compone
export { ConfirmKeyConnectorDomainComponent } from "./key-connector/confirm-key-connector-domain.component"; export { ConfirmKeyConnectorDomainComponent } from "./key-connector/confirm-key-connector-domain.component";
export { SessionTimeoutSettingsComponent } from "./session-timeout/components/session-timeout-settings.component"; export { SessionTimeoutSettingsComponent } from "./session-timeout/components/session-timeout-settings.component";
export { SessionTimeoutSettingsComponentService } from "./session-timeout/services/session-timeout-settings-component.service"; export { SessionTimeoutSettingsComponentService } from "./session-timeout/services/session-timeout-settings-component.service";
export { SessionTimeoutInputComponent } from "./session-timeout/components/session-timeout-input.component";

View File

@@ -12,11 +12,11 @@ import { Utils } from "@bitwarden/common/platform/misc/utils";
import { mockAccountServiceWith } from "@bitwarden/common/spec"; import { mockAccountServiceWith } from "@bitwarden/common/spec";
import { UserId } from "@bitwarden/common/types/guid"; import { UserId } from "@bitwarden/common/types/guid";
import { VaultTimeoutInputComponent } from "./vault-timeout-input.component"; import { SessionTimeoutInputComponent } from "./session-timeout-input.component";
describe("VaultTimeoutInputComponent", () => { describe("SessionTimeoutInputComponent", () => {
let component: VaultTimeoutInputComponent; let component: SessionTimeoutInputComponent;
let fixture: ComponentFixture<VaultTimeoutInputComponent>; let fixture: ComponentFixture<SessionTimeoutInputComponent>;
const policiesByType$ = jest.fn().mockReturnValue(new BehaviorSubject({})); const policiesByType$ = jest.fn().mockReturnValue(new BehaviorSubject({}));
const availableVaultTimeoutActions$ = jest.fn().mockReturnValue(new BehaviorSubject([])); const availableVaultTimeoutActions$ = jest.fn().mockReturnValue(new BehaviorSubject([]));
const mockUserId = Utils.newGuid() as UserId; const mockUserId = Utils.newGuid() as UserId;
@@ -24,7 +24,7 @@ describe("VaultTimeoutInputComponent", () => {
beforeEach(async () => { beforeEach(async () => {
await TestBed.configureTestingModule({ await TestBed.configureTestingModule({
imports: [VaultTimeoutInputComponent], imports: [SessionTimeoutInputComponent],
providers: [ providers: [
{ provide: PolicyService, useValue: { policiesByType$ } }, { provide: PolicyService, useValue: { policiesByType$ } },
{ provide: AccountService, useValue: accountService }, { provide: AccountService, useValue: accountService },
@@ -33,7 +33,7 @@ describe("VaultTimeoutInputComponent", () => {
], ],
}).compileComponents(); }).compileComponents();
fixture = TestBed.createComponent(VaultTimeoutInputComponent); fixture = TestBed.createComponent(SessionTimeoutInputComponent);
component = fixture.componentInstance; component = fixture.componentInstance;
component.vaultTimeoutOptions = [ component.vaultTimeoutOptions = [
{ name: "oneMinute", value: 1 }, { name: "oneMinute", value: 1 },

View File

@@ -30,8 +30,6 @@ import {
VaultTimeoutSettingsService, VaultTimeoutSettingsService,
} from "@bitwarden/common/key-management/vault-timeout"; } from "@bitwarden/common/key-management/vault-timeout";
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service"; import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
// This import has been flagged as unallowed for this class. It may be involved in a circular dependency loop.
// eslint-disable-next-line no-restricted-imports
import { FormFieldModule, SelectModule } from "@bitwarden/components"; import { FormFieldModule, SelectModule } from "@bitwarden/components";
type VaultTimeoutForm = FormGroup<{ type VaultTimeoutForm = FormGroup<{
@@ -47,34 +45,66 @@ type VaultTimeoutFormValue = VaultTimeoutForm["value"];
// FIXME(https://bitwarden.atlassian.net/browse/CL-764): Migrate to OnPush // FIXME(https://bitwarden.atlassian.net/browse/CL-764): Migrate to OnPush
// eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection
@Component({ @Component({
selector: "auth-vault-timeout-input", selector: "bit-session-timeout-input",
templateUrl: "vault-timeout-input.component.html", templateUrl: "session-timeout-input.component.html",
imports: [CommonModule, JslibModule, ReactiveFormsModule, FormFieldModule, SelectModule], imports: [CommonModule, JslibModule, ReactiveFormsModule, FormFieldModule, SelectModule],
providers: [ providers: [
{ {
provide: NG_VALUE_ACCESSOR, provide: NG_VALUE_ACCESSOR,
multi: true, multi: true,
useExisting: VaultTimeoutInputComponent, useExisting: SessionTimeoutInputComponent,
}, },
{ {
provide: NG_VALIDATORS, provide: NG_VALIDATORS,
multi: true, multi: true,
useExisting: VaultTimeoutInputComponent, useExisting: SessionTimeoutInputComponent,
}, },
], ],
}) })
export class VaultTimeoutInputComponent export class SessionTimeoutInputComponent
implements ControlValueAccessor, Validator, OnInit, OnDestroy, OnChanges implements ControlValueAccessor, Validator, OnInit, OnDestroy, OnChanges
{ {
static CUSTOM_VALUE = -100;
static MIN_CUSTOM_MINUTES = 0;
form: VaultTimeoutForm = this.formBuilder.group({
vaultTimeout: [null],
custom: this.formBuilder.group({
hours: [null],
minutes: [null],
}),
});
// FIXME(https://bitwarden.atlassian.net/browse/CL-903): Migrate to Signals
// eslint-disable-next-line @angular-eslint/prefer-signals
@Input() vaultTimeoutOptions: VaultTimeoutOption[];
vaultTimeoutPolicy: Policy;
vaultTimeoutPolicyHours: number;
vaultTimeoutPolicyMinutes: number;
protected readonly VaultTimeoutAction = VaultTimeoutAction; protected readonly VaultTimeoutAction = VaultTimeoutAction;
protected canLockVault$: Observable<boolean>;
private onChange: (vaultTimeout: VaultTimeout) => void;
private validatorChange: () => void;
private destroy$ = new Subject<void>();
constructor(
private formBuilder: FormBuilder,
private policyService: PolicyService,
private vaultTimeoutSettingsService: VaultTimeoutSettingsService,
private i18nService: I18nService,
private accountService: AccountService,
) {}
get showCustom() { get showCustom() {
return this.form.get("vaultTimeout").value === VaultTimeoutInputComponent.CUSTOM_VALUE; return this.form.get("vaultTimeout").value === SessionTimeoutInputComponent.CUSTOM_VALUE;
} }
get exceedsMinimumTimeout(): boolean { get exceedsMinimumTimeout(): boolean {
return ( return (
!this.showCustom || this.customTimeInMinutes() > VaultTimeoutInputComponent.MIN_CUSTOM_MINUTES !this.showCustom ||
this.customTimeInMinutes() > SessionTimeoutInputComponent.MIN_CUSTOM_MINUTES
); );
} }
@@ -101,39 +131,6 @@ export class VaultTimeoutInputComponent
}); });
} }
static CUSTOM_VALUE = -100;
static MIN_CUSTOM_MINUTES = 0;
form: VaultTimeoutForm = this.formBuilder.group({
vaultTimeout: [null],
custom: this.formBuilder.group({
hours: [null],
minutes: [null],
}),
});
// FIXME(https://bitwarden.atlassian.net/browse/CL-903): Migrate to Signals
// eslint-disable-next-line @angular-eslint/prefer-signals
@Input() vaultTimeoutOptions: VaultTimeoutOption[];
vaultTimeoutPolicy: Policy;
vaultTimeoutPolicyHours: number;
vaultTimeoutPolicyMinutes: number;
protected canLockVault$: Observable<boolean>;
private onChange: (vaultTimeout: VaultTimeout) => void;
private validatorChange: () => void;
private destroy$ = new Subject<void>();
constructor(
private formBuilder: FormBuilder,
private policyService: PolicyService,
private vaultTimeoutSettingsService: VaultTimeoutSettingsService,
private i18nService: I18nService,
private accountService: AccountService,
) {}
async ngOnInit() { async ngOnInit() {
this.accountService.activeAccount$ this.accountService.activeAccount$
.pipe( .pipe(
@@ -163,7 +160,7 @@ export class VaultTimeoutInputComponent
// ex: user picks 5 min, goes to custom, we want to show 0 hr, 5 min in the custom fields // ex: user picks 5 min, goes to custom, we want to show 0 hr, 5 min in the custom fields
this.form.controls.vaultTimeout.valueChanges this.form.controls.vaultTimeout.valueChanges
.pipe( .pipe(
filter((value) => value !== VaultTimeoutInputComponent.CUSTOM_VALUE), filter((value) => value !== SessionTimeoutInputComponent.CUSTOM_VALUE),
takeUntil(this.destroy$), takeUntil(this.destroy$),
) )
.subscribe((value) => { .subscribe((value) => {
@@ -195,17 +192,17 @@ export class VaultTimeoutInputComponent
ngOnChanges() { ngOnChanges() {
if ( if (
!this.vaultTimeoutOptions.find((p) => p.value === VaultTimeoutInputComponent.CUSTOM_VALUE) !this.vaultTimeoutOptions.find((p) => p.value === SessionTimeoutInputComponent.CUSTOM_VALUE)
) { ) {
this.vaultTimeoutOptions.push({ this.vaultTimeoutOptions.push({
name: this.i18nService.t("custom"), name: this.i18nService.t("custom"),
value: VaultTimeoutInputComponent.CUSTOM_VALUE, value: SessionTimeoutInputComponent.CUSTOM_VALUE,
}); });
} }
} }
getVaultTimeout(value: VaultTimeoutFormValue) { getVaultTimeout(value: VaultTimeoutFormValue) {
if (value.vaultTimeout !== VaultTimeoutInputComponent.CUSTOM_VALUE) { if (value.vaultTimeout !== SessionTimeoutInputComponent.CUSTOM_VALUE) {
return value.vaultTimeout; return value.vaultTimeout;
} }
@@ -219,7 +216,7 @@ export class VaultTimeoutInputComponent
if (this.vaultTimeoutOptions.every((p) => p.value !== value)) { if (this.vaultTimeoutOptions.every((p) => p.value !== value)) {
this.form.setValue({ this.form.setValue({
vaultTimeout: VaultTimeoutInputComponent.CUSTOM_VALUE, vaultTimeout: SessionTimeoutInputComponent.CUSTOM_VALUE,
custom: { custom: {
hours: Math.floor(value / 60), hours: Math.floor(value / 60),
minutes: value % 60, minutes: value % 60,
@@ -271,7 +268,7 @@ export class VaultTimeoutInputComponent
this.vaultTimeoutOptions = this.vaultTimeoutOptions.filter((vaultTimeoutOption) => { this.vaultTimeoutOptions = this.vaultTimeoutOptions.filter((vaultTimeoutOption) => {
// Always include the custom option // Always include the custom option
if (vaultTimeoutOption.value === VaultTimeoutInputComponent.CUSTOM_VALUE) { if (vaultTimeoutOption.value === SessionTimeoutInputComponent.CUSTOM_VALUE) {
return true; return true;
} }

View File

@@ -1,10 +1,10 @@
<div [formGroup]="formGroup"> <div [formGroup]="formGroup">
<auth-vault-timeout-input <bit-session-timeout-input
[vaultTimeoutOptions]="availableTimeoutOptions$ | async" [vaultTimeoutOptions]="availableTimeoutOptions$ | async"
[formControl]="formGroup.controls.timeout" [formControl]="formGroup.controls.timeout"
ngDefaultControl ngDefaultControl
> >
</auth-vault-timeout-input> </bit-session-timeout-input>
<bit-form-field [disableMargin]="true"> <bit-form-field [disableMargin]="true">
<bit-label>{{ "sessionTimeoutSettingsAction" | i18n }}</bit-label> <bit-label>{{ "sessionTimeoutSettingsAction" | i18n }}</bit-label>

View File

@@ -4,7 +4,6 @@ import { NoopAnimationsModule } from "@angular/platform-browser/animations";
import { mock, MockProxy } from "jest-mock-extended"; import { mock, MockProxy } from "jest-mock-extended";
import { BehaviorSubject, filter, firstValueFrom, of } from "rxjs"; import { BehaviorSubject, filter, firstValueFrom, of } from "rxjs";
import { VaultTimeoutInputComponent } from "@bitwarden/auth/angular";
import { PolicyService } from "@bitwarden/common/admin-console/abstractions/policy/policy.service.abstraction"; import { PolicyService } from "@bitwarden/common/admin-console/abstractions/policy/policy.service.abstraction";
import { Policy } from "@bitwarden/common/admin-console/models/domain/policy"; import { Policy } from "@bitwarden/common/admin-console/models/domain/policy";
import { AccountService } from "@bitwarden/common/auth/abstractions/account.service"; import { AccountService } from "@bitwarden/common/auth/abstractions/account.service";
@@ -22,6 +21,7 @@ import { UserId } from "@bitwarden/common/types/guid";
import { DialogService, ToastService } from "@bitwarden/components"; import { DialogService, ToastService } from "@bitwarden/components";
import { LogService } from "@bitwarden/logging"; import { LogService } from "@bitwarden/logging";
import { SessionTimeoutInputComponent } from "../components/session-timeout-input.component";
import { SessionTimeoutSettingsComponentService } from "../services/session-timeout-settings-component.service"; import { SessionTimeoutSettingsComponentService } from "../services/session-timeout-settings-component.service";
import { SessionTimeoutSettingsComponent } from "./session-timeout-settings.component"; import { SessionTimeoutSettingsComponent } from "./session-timeout-settings.component";
@@ -87,7 +87,7 @@ describe("SessionTimeoutSettingsComponent", () => {
imports: [ imports: [
SessionTimeoutSettingsComponent, SessionTimeoutSettingsComponent,
ReactiveFormsModule, ReactiveFormsModule,
VaultTimeoutInputComponent, SessionTimeoutInputComponent,
NoopAnimationsModule, NoopAnimationsModule,
], ],
providers: [ providers: [

View File

@@ -25,7 +25,6 @@ import {
} from "rxjs"; } from "rxjs";
import { JslibModule } from "@bitwarden/angular/jslib.module"; import { JslibModule } from "@bitwarden/angular/jslib.module";
import { VaultTimeoutInputComponent } from "@bitwarden/auth/angular";
import { PolicyService } from "@bitwarden/common/admin-console/abstractions/policy/policy.service.abstraction"; import { PolicyService } from "@bitwarden/common/admin-console/abstractions/policy/policy.service.abstraction";
import { PolicyType } from "@bitwarden/common/admin-console/enums"; import { PolicyType } from "@bitwarden/common/admin-console/enums";
import { getFirstPolicy } from "@bitwarden/common/admin-console/services/policy/default-policy.service"; import { getFirstPolicy } from "@bitwarden/common/admin-console/services/policy/default-policy.service";
@@ -56,6 +55,8 @@ import { LogService } from "@bitwarden/logging";
import { SessionTimeoutSettingsComponentService } from "../services/session-timeout-settings-component.service"; import { SessionTimeoutSettingsComponentService } from "../services/session-timeout-settings-component.service";
import { SessionTimeoutInputComponent } from "./session-timeout-input.component";
// FIXME(https://bitwarden.atlassian.net/browse/CL-764): Migrate to OnPush // FIXME(https://bitwarden.atlassian.net/browse/CL-764): Migrate to OnPush
// eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection
@Component({ @Component({
@@ -74,7 +75,7 @@ import { SessionTimeoutSettingsComponentService } from "../services/session-time
RouterModule, RouterModule,
SelectModule, SelectModule,
TypographyModule, TypographyModule,
VaultTimeoutInputComponent, SessionTimeoutInputComponent,
], ],
}) })
export class SessionTimeoutSettingsComponent implements OnInit { export class SessionTimeoutSettingsComponent implements OnInit {