mirror of
https://github.com/bitwarden/browser.git
synced 2025-04-04 18:27:12 +02:00
* rough-in passphrase validation failure handling * trigger valid change from settings * fix `max` constraint enforcement * add taps for generator validation monitoring/debugging * HTML constraints validation rises like a phoenix * remove min/max boundaries to fix chrome display issue * bind settings components as view children of options components * remove defunct `okSettings$` * extend validationless generator to passwords * extend validationless generator to catchall emails * extend validationless generator to forwarder emails * extend validationless generator to subaddress emails * extend validationless generator to usernames * fix observable cycle * disable generate button when no algorithm is selected * prevent duplicate algorithm emissions * add constraints that assign email address defaults
103 lines
3.3 KiB
TypeScript
103 lines
3.3 KiB
TypeScript
import { CommonModule } from "@angular/common";
|
|
import { NgModule } from "@angular/core";
|
|
import { ReactiveFormsModule } from "@angular/forms";
|
|
|
|
import { JslibModule } from "@bitwarden/angular/jslib.module";
|
|
import { safeProvider } from "@bitwarden/angular/platform/utils/safe-provider";
|
|
import { SafeInjectionToken } from "@bitwarden/angular/services/injection-tokens";
|
|
import { ApiService } from "@bitwarden/common/abstractions/api.service";
|
|
import { PolicyService } from "@bitwarden/common/admin-console/abstractions/policy/policy.service.abstraction";
|
|
import { AccountService } from "@bitwarden/common/auth/abstractions/account.service";
|
|
import { EncryptService } from "@bitwarden/common/platform/abstractions/encrypt.service";
|
|
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
|
|
import { StateProvider } from "@bitwarden/common/platform/state";
|
|
import {
|
|
CardComponent,
|
|
ColorPasswordModule,
|
|
CheckboxModule,
|
|
FormFieldModule,
|
|
IconButtonModule,
|
|
InputModule,
|
|
ItemModule,
|
|
SectionComponent,
|
|
SectionHeaderComponent,
|
|
SelectModule,
|
|
ToggleGroupModule,
|
|
TypographyModule,
|
|
} from "@bitwarden/components";
|
|
import {
|
|
createRandomizer,
|
|
CredentialGeneratorService,
|
|
Randomizer,
|
|
} from "@bitwarden/generator-core";
|
|
import { KeyService } from "@bitwarden/key-management";
|
|
|
|
import { CatchallSettingsComponent } from "./catchall-settings.component";
|
|
import { CredentialGeneratorComponent } from "./credential-generator.component";
|
|
import { ForwarderSettingsComponent } from "./forwarder-settings.component";
|
|
import { PassphraseSettingsComponent } from "./passphrase-settings.component";
|
|
import { PasswordGeneratorComponent } from "./password-generator.component";
|
|
import { PasswordSettingsComponent } from "./password-settings.component";
|
|
import { SubaddressSettingsComponent } from "./subaddress-settings.component";
|
|
import { UsernameGeneratorComponent } from "./username-generator.component";
|
|
import { UsernameSettingsComponent } from "./username-settings.component";
|
|
|
|
const RANDOMIZER = new SafeInjectionToken<Randomizer>("Randomizer");
|
|
|
|
/** Shared module containing generator component dependencies */
|
|
@NgModule({
|
|
imports: [
|
|
CardComponent,
|
|
ColorPasswordModule,
|
|
CheckboxModule,
|
|
CommonModule,
|
|
FormFieldModule,
|
|
IconButtonModule,
|
|
InputModule,
|
|
ItemModule,
|
|
JslibModule,
|
|
ReactiveFormsModule,
|
|
SectionComponent,
|
|
SectionHeaderComponent,
|
|
SelectModule,
|
|
ToggleGroupModule,
|
|
TypographyModule,
|
|
],
|
|
providers: [
|
|
safeProvider({
|
|
provide: RANDOMIZER,
|
|
useFactory: createRandomizer,
|
|
deps: [KeyService],
|
|
}),
|
|
safeProvider({
|
|
provide: CredentialGeneratorService,
|
|
useClass: CredentialGeneratorService,
|
|
deps: [
|
|
RANDOMIZER,
|
|
StateProvider,
|
|
PolicyService,
|
|
ApiService,
|
|
I18nService,
|
|
EncryptService,
|
|
KeyService,
|
|
AccountService,
|
|
],
|
|
}),
|
|
],
|
|
declarations: [
|
|
CatchallSettingsComponent,
|
|
CredentialGeneratorComponent,
|
|
ForwarderSettingsComponent,
|
|
SubaddressSettingsComponent,
|
|
PasswordGeneratorComponent,
|
|
PassphraseSettingsComponent,
|
|
PasswordSettingsComponent,
|
|
UsernameGeneratorComponent,
|
|
UsernameSettingsComponent,
|
|
],
|
|
exports: [CredentialGeneratorComponent, PasswordGeneratorComponent, UsernameGeneratorComponent],
|
|
})
|
|
export class GeneratorModule {
|
|
constructor() {}
|
|
}
|