import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { ReactiveFormsModule, FormsModule } from '@angular/forms';

import { MatCommonModule, MatNativeDateModule } from '@angular/material/core';
import { MatDatepickerModule } from '@angular/material/datepicker';
import { MatFormFieldModule } from '@angular/material/form-field';
import { MatInputModule } from '@angular/material/input';

import { MatDatetimepickerModule, MatNativeDatetimeModule } from '@mat-datetimepicker/core';

import { PepperiModule } from '@pepperi/lib';
import { PepperiTextboxIconModule } from '@pepperi/lib/textbox-icon';
import { PepperiFieldTitleModule } from '@pepperi/lib/field-title';

import { PepperiDateComponent } from './date.component';

@NgModule({
    imports: [
        CommonModule,
        BrowserModule,
        BrowserAnimationsModule,
        ReactiveFormsModule,
        FormsModule,
        // Material modules,
        MatCommonModule,
        MatNativeDateModule,
        MatDatepickerModule,
        MatDatetimepickerModule,
        MatNativeDatetimeModule,
        MatFormFieldModule,
        MatInputModule,
        // Pepperi modules
        PepperiModule,
        PepperiFieldTitleModule,
        PepperiTextboxIconModule,
    ],
    exports: [ PepperiDateComponent ],
    declarations: [ PepperiDateComponent ],
})
export class PepperiDateModule {}
