mirror of
https://github.com/bitwarden/browser
synced 2025-12-15 07:43:35 +00:00
[CL-135] Migrate component library to standalone components (#12389)
* Migrate component library to standalone components * Fix tests
This commit is contained in:
@@ -7,6 +7,7 @@ import { Option } from "./option";
|
||||
@Component({
|
||||
selector: "bit-option",
|
||||
template: `<ng-template><ng-content></ng-content></ng-template>`,
|
||||
standalone: true,
|
||||
})
|
||||
export class OptionComponent<T = unknown> implements Option<T> {
|
||||
@Input()
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
// FIXME: Update this file to be type safe and remove this and next line
|
||||
// @ts-strict-ignore
|
||||
import { NgIf } from "@angular/common";
|
||||
import {
|
||||
Component,
|
||||
ContentChildren,
|
||||
@@ -12,8 +13,14 @@ import {
|
||||
Output,
|
||||
EventEmitter,
|
||||
} from "@angular/core";
|
||||
import { ControlValueAccessor, NgControl, Validators } from "@angular/forms";
|
||||
import { NgSelectComponent } from "@ng-select/ng-select";
|
||||
import {
|
||||
ControlValueAccessor,
|
||||
NgControl,
|
||||
Validators,
|
||||
ReactiveFormsModule,
|
||||
FormsModule,
|
||||
} from "@angular/forms";
|
||||
import { NgSelectComponent, NgSelectModule } from "@ng-select/ng-select";
|
||||
|
||||
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
|
||||
|
||||
@@ -28,6 +35,8 @@ let nextId = 0;
|
||||
selector: "bit-select",
|
||||
templateUrl: "select.component.html",
|
||||
providers: [{ provide: BitFormFieldControl, useExisting: SelectComponent }],
|
||||
standalone: true,
|
||||
imports: [NgSelectModule, ReactiveFormsModule, FormsModule, NgIf],
|
||||
})
|
||||
export class SelectComponent<T> implements BitFormFieldControl, ControlValueAccessor {
|
||||
@ViewChild(NgSelectComponent) select: NgSelectComponent;
|
||||
|
||||
@@ -1,14 +1,10 @@
|
||||
import { CommonModule } from "@angular/common";
|
||||
import { NgModule } from "@angular/core";
|
||||
import { FormsModule } from "@angular/forms";
|
||||
import { NgSelectModule } from "@ng-select/ng-select";
|
||||
|
||||
import { OptionComponent } from "./option.component";
|
||||
import { SelectComponent } from "./select.component";
|
||||
|
||||
@NgModule({
|
||||
imports: [CommonModule, NgSelectModule, FormsModule],
|
||||
declarations: [SelectComponent, OptionComponent],
|
||||
imports: [SelectComponent, OptionComponent],
|
||||
exports: [SelectComponent, OptionComponent],
|
||||
})
|
||||
export class SelectModule {}
|
||||
|
||||
Reference in New Issue
Block a user