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 } from '@angular/material/core';
import { MatFormFieldModule } from '@angular/material/form-field';
import { MatInputModule } from '@angular/material/input';
import { MatButtonModule } from '@angular/material/button';
import { MatBadgeModule } from '@angular/material/badge';
import { MatIconModule } from '@angular/material/icon';

import { PepperiModule } from '@pepperi/lib';
import { PepperiFieldTitleModule } from '@pepperi/lib/field-title';

import { PepperiQuantitySelectorComponent } from './quantity-selector.component';
import { QuantitySelectorNumber } from './quantity-selector.pipes';

@NgModule({
    imports: [
        CommonModule,
        BrowserModule,
        BrowserAnimationsModule,
        ReactiveFormsModule,
        FormsModule,
        // Material modules
        MatCommonModule,
        MatFormFieldModule,
        MatInputModule,
        MatButtonModule,
        MatBadgeModule,
        MatIconModule,
        // Pepperi modules
        PepperiModule,
        PepperiFieldTitleModule
    ],
    exports: [ PepperiQuantitySelectorComponent ],
    declarations: [ PepperiQuantitySelectorComponent, QuantitySelectorNumber ],
})
export class PepperiQuantitySelectorModule {}
