clients/libs/angular/src/jslib.module.ts
Daniel James Smith 7224a529e9
Remove NotPremiumDirective from jslib.module (#19287)
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
2026-03-11 17:46:12 +01:00

118 lines
3.4 KiB
TypeScript

import { CommonModule, DatePipe } from "@angular/common";
import { NgModule } from "@angular/core";
import { FormsModule, ReactiveFormsModule } from "@angular/forms";
import {
AsyncActionsModule,
AutofocusDirective,
ButtonModule,
CalloutModule,
CheckboxModule,
DialogModule,
FormFieldModule,
IconButtonModule,
SvgModule,
LinkModule,
MenuModule,
RadioButtonModule,
SelectModule,
TableModule,
ToastModule,
TypographyModule,
CopyClickDirective,
A11yTitleDirective,
NoItemsModule,
} from "@bitwarden/components";
import { I18nPipe } from "@bitwarden/ui-common";
import { ApiActionDirective } from "./directives/api-action.directive";
import { BoxRowDirective } from "./directives/box-row.directive";
import { IfFeatureDirective } from "./directives/if-feature.directive";
import { InputStripSpacesDirective } from "./directives/input-strip-spaces.directive";
import { InputVerbatimDirective } from "./directives/input-verbatim.directive";
import { LaunchClickDirective } from "./directives/launch-click.directive";
import { StopClickDirective } from "./directives/stop-click.directive";
import { StopPropDirective } from "./directives/stop-prop.directive";
import { TextDragDirective } from "./directives/text-drag.directive";
import { PluralizePipe } from "./pipes/pluralize.pipe";
import { SearchPipe } from "./pipes/search.pipe";
import { UserNamePipe } from "./pipes/user-name.pipe";
import { UserTypePipe } from "./pipes/user-type.pipe";
import { EllipsisPipe } from "./platform/pipes/ellipsis.pipe";
import { IconComponent } from "./vault/components/icon.component";
/**
* @deprecated In 95% of cases you want I18nPipe from `@bitwarden/ui-common`. In the other 5%
* directly import the relevant directive/pipe/component. If you need one of the non standalone
* pipes/directives/components, make it standalone and import directly.
*
* This module is overly large and adds many unrelated modules to your dependency tree.
* https://angular.dev/guide/ngmodules/overview recommends not using `NgModule`s for new code.
*/
@NgModule({
imports: [
ToastModule.forRoot({
maxOpened: 5,
autoDismiss: true,
closeButton: true,
}),
CommonModule,
FormsModule,
ReactiveFormsModule,
AsyncActionsModule,
RadioButtonModule,
FormFieldModule,
SelectModule,
ButtonModule,
CalloutModule,
CheckboxModule,
DialogModule,
TypographyModule,
TableModule,
MenuModule,
NoItemsModule,
IconButtonModule,
SvgModule,
LinkModule,
TextDragDirective,
CopyClickDirective,
A11yTitleDirective,
AutofocusDirective,
EllipsisPipe,
I18nPipe,
IconComponent,
IfFeatureDirective,
InputStripSpacesDirective,
InputVerbatimDirective,
LaunchClickDirective,
StopClickDirective,
StopPropDirective,
UserNamePipe,
UserTypePipe,
],
declarations: [ApiActionDirective, BoxRowDirective, SearchPipe],
exports: [
A11yTitleDirective,
ApiActionDirective,
AutofocusDirective,
ToastModule,
BoxRowDirective,
EllipsisPipe,
I18nPipe,
IconComponent,
InputStripSpacesDirective,
InputVerbatimDirective,
SearchPipe,
StopClickDirective,
StopPropDirective,
CopyClickDirective,
LaunchClickDirective,
UserNamePipe,
UserTypePipe,
IfFeatureDirective,
TextDragDirective,
],
providers: [DatePipe, I18nPipe, SearchPipe, UserNamePipe, UserTypePipe, PluralizePipe],
})
export class JslibModule {}