1
0
mirror of https://github.com/bitwarden/browser.git synced 2024-12-21 16:18:28 +01:00
bitwarden-browser/libs/tools/generator/components
✨ Audrey ✨ 414bdde232
[PM-13876] replace angular validation with html constraints validation (#11816)
* 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
2024-11-06 17:54:29 +01:00
..
src [PM-13876] replace angular validation with html constraints validation (#11816) 2024-11-06 17:54:29 +01:00
jest.config.js [PM-7289] implement generator libraries (#9549) 2024-06-11 16:06:37 -04:00
package.json [PM-9008] factor generator-extensions into separate libraries (#9724) 2024-06-20 10:49:23 -04:00
readme.md [PM-8282] credential generator (#11398) 2024-10-08 14:08:34 -04:00
tsconfig.json [PM-7289] Create generator libraries (#9432) 2024-05-30 15:38:31 -04:00
tsconfig.spec.json [PM-7289] Create generator libraries (#9432) 2024-05-30 15:38:31 -04:00

Using generator components

The components within this module require the following import.

import { GeneratorModule } from "@bitwarden/generator-components";

The credential generator provides access to all generator features.

<!-- Bound to active user -->
<tools-credential-generator />

<!-- Bound to a specific user -->
<tools-credential-generator [user-id]="userId" />

<!-- receive updates when a credential is generated.
     `$event` is a `GeneratedCredential`.
-->
<tools-credential-generator (onGenerated)="eventHandler($event)" />

Specialized components are provided for username and password generation. These components support the same properties as the credential generator.

<tools-password-generator [user-id]="userId" (onGenerated)="eventHandler($event)" />
<tools-username-generator [user-id]="userId" (onGenerated)="eventHandler($event)" />

The emission behavior of onGenerated varies according to credential type. When a credential supports immediate execution, the component automatically generates a value and emits from onGenerated. An additional emission occurs each time the user changes a setting. Users may also request a regeneration.

When a credential does not support immediate execution, then onGenerated fires only when the user clicks the "generate" button.