import { NgModule, ModuleWithProviders } from '@angular/core'; import { CommonModule } from '@angular/common'; import { ReactiveFormsModule } from '@angular/forms'; import { FlexLayoutModule } from '@angular/flex-layout'; import { ScrollingModule } from '@angular/cdk/scrolling'; import { MatButtonModule } from '@angular/material/button'; import { MatCardModule } from '@angular/material/card'; import { MatChipsModule } from '@angular/material/chips'; import { MatDatepickerModule } from '@angular/material/datepicker'; import { MatDividerModule } from '@angular/material/divider'; import { MatFormFieldModule } from '@angular/material/form-field'; import { MatGridListModule } from '@angular/material/grid-list'; import { MatIconModule } from '@angular/material/icon'; import { MatInputModule } from '@angular/material/input'; import { MatListModule } from '@angular/material/list'; import { MatMomentDateModule } from '@angular/material-moment-adapter'; import { PerfectScrollbarModule } from 'ngx-perfect-scrollbar'; import { WriteComponent } from './components/write.component'; const COMPONENTS = [WriteComponent]; const DIALOGS = []; const DIRECTIVES = []; const SERVICES = []; @NgModule({ imports: [ CommonModule, ReactiveFormsModule, FlexLayoutModule, ScrollingModule, MatButtonModule, MatCardModule, MatChipsModule, MatDatepickerModule, MatDividerModule, MatFormFieldModule, MatGridListModule, MatIconModule, MatInputModule, MatListModule, MatMomentDateModule, PerfectScrollbarModule ], exports: [...COMPONENTS, ...DIRECTIVES], declarations: [...COMPONENTS, ...DIRECTIVES, ...DIALOGS], entryComponents: [...DIALOGS] }) export class UCapUiMessageModule { public static forRoot(): ModuleWithProviders { return { ngModule: UCapUiMessageModule, providers: [...SERVICES] }; } }