import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { FlexLayoutModule } from '@angular/flex-layout'; import { MatButtonModule } from '@angular/material/button'; import { MatIconModule } from '@angular/material/icon'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; // import { ErrorStateMatcher } from '@angular/material/core'; import { MatInputModule } from '@angular/material/input'; import { MatFormFieldModule } from '@angular/material/form-field'; import { NgxOtpInputModule } from 'ngx-otp-input'; import { WarningComponent } from './components/warning/warning.component'; import { FileUploadComponent } from './components/file-upload/file-upload.component'; import { MatCheckboxModule } from '@angular/material/checkbox'; import { MatSidenavModule } from '@angular/material/sidenav'; import { MatChipsModule } from '@angular/material/chips'; import { MatMenuModule } from '@angular/material/menu'; import { MatDatepickerModule } from '@angular/material/datepicker'; import { MatCardModule } from '@angular/material/card'; import { NativeDateAdapter } from '@angular/material/core'; import { MatNativeDateModule } from '@angular/material/core'; const MATERIAL_MODULES = [ FlexLayoutModule, MatButtonModule, MatFormFieldModule, MatIconModule, MatInputModule, NgxOtpInputModule, MatCheckboxModule, MatSidenavModule, MatMenuModule, // ErrorStateMatcher, MatChipsModule, MatCardModule, MatDatepickerModule, MatNativeDateModule, ]; const COMPONENTS = [WarningComponent, FileUploadComponent]; @NgModule({ declarations: [WarningComponent, ...COMPONENTS, FileUploadComponent], imports: [ FormsModule, ReactiveFormsModule, CommonModule, ...MATERIAL_MODULES, ], exports: [ FormsModule, ReactiveFormsModule, ...MATERIAL_MODULES, ...COMPONENTS, ], providers: [NativeDateAdapter], }) export class SharedModule {}