import { NgModule } from '@angular/core' ; import { FormsModule , ReactiveFormsModule } from '@angular/forms' ; import { MatButtonModule } from '@angular/material/button' ; import { MatCardModule } from '@angular/material/card' ; import { MAT_DIALOG_DEFAULT_OPTIONS , MatDialogModule } from '@angular/material/dialog' ; import { MatFormFieldModule } from '@angular/material/form-field' ; import { MatIconModule } from '@angular/material/icon' ; import { MatInputModule } from '@angular/material/input' ; import { MatListModule } from '@angular/material/list' ; import { MatMenuModule } from '@angular/material/menu' ; import { MatProgressBarModule } from '@angular/material/progress-bar' ; import { MatProgressSpinnerModule } from '@angular/material/progress-spinner' ; import { MatRadioModule } from '@angular/material/radio' ; import { MatSelectModule } from '@angular/material/select' ; import { MAT_SNACK_BAR_DEFAULT_OPTIONS , MatSnackBarModule } from '@angular/material/snack-bar' ; import { MatSortModule } from '@angular/material/sort' ; import { MatTableModule } from '@angular/material/table' ; import { MatToolbarModule } from '@angular/material/toolbar' ; import { MatTooltipModule } from '@angular/material/tooltip' ; const modules = [ MatButtonModule , MatListModule , MatTableModule , MatIconModule , MatTooltipModule , MatProgressBarModule , MatProgressSpinnerModule , MatSortModule , MatToolbarModule , MatSelectModule , FormsModule , ReactiveFormsModule , MatMenuModule , MatCardModule , MatSnackBarModule , MatInputModule , MatFormFieldModule , MatDialogModule , MatRadioModule , ] ; @ NgModule ( { imports : modules , exports : modules , providers : [ { provide : MAT_SNACK_BAR_DEFAULT_OPTIONS , useValue : { duration : 3000 } } , { provide : MAT_DIALOG_DEFAULT_OPTIONS , useValue : { disableClose : true , autoFocus : true , hasBackdrop : true } } , ] , } ) export class MaterialModule { }