import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { ngfModule, ngf } from 'angular-file';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { MDBBootstrapModule } from 'angular-bootstrap-md';
import { StsWebSharedModule } from '../shared/STWEBShared.module';
import { PillPanelPrimaryComponent } from './components/pill-panel-primary/pill-panel-primary.component';
import { PillPanelSecondaryComponent } from './components/pill-panel-secondary/pill-panel-secondary.component';
import { CardComponent } from './components/card/card.component';
import { DropdownComponent } from './components/dropdown/dropdown.component';
import { ActionButtonComponent } from './components/action-button/action-button.component';
import { TableComponent } from './components/table/table.component';
import { HeaderComponent } from './components/header/header.component';
import { DocumentUploadComponent } from './components/document-upload/document-upload.component';
import { DataTableComponent } from './components/data-table/data-table.component';
import { HeaderLoginComponent } from './components/header-login/header-login.component';
import { RouterModule } from '@angular/router';
import { CheckoutItemComponent } from './components/checkout-item/checkout-item.component';
import { SearchDatatableComponent } from './components/search-datatable/search-datatable.component';
import { SearchVehiclepanelComponent } from './components/search-vehiclepanel/search-vehiclepanel.component';
import { CouponPopupDirective } from './directives/card-modal/card-modal.directive';
import { FormOptionsComponent } from './components/form-options/form-options.component';
import { FormInputComponent } from './components/form-input/form-input.component';
import { FormRadioComponent } from './components/form-radio/form-radio.component';
import { BreadcrumbComponent } from './components/breadcrumb/breadcrumb.component';
import { FormDatepickerComponent } from './components/form-datepicker/form-datepicker.component';
import { FormPhonepickerComponent } from './components/form-phonepicker/form-phonepicker.component';
import { AlertComponent } from './components/alert/alert.component';
import { AlertEventService } from './components/alert/alert.event.service';
import { SaveConfirmationComponent } from './components/save-confirmation/save-confirmation.component';
import { SectionListComponent } from './components/section-list/section-list.component';
import { RemarksListComponent } from './components/remarks-list/remarks-list.component';
import { TermsConditionsComponent } from './components/terms-conditions/terms-conditions.component';
import { DocumentListComponent } from './components/document-list/document-list.component';
import { SpinnerComponent } from '../shared/components/spinner/spinner.component';
import { TabsComponent } from './components/tabs/tabs.component';
import { TabComponent } from './components/tab/tab.component';
import { PaginationComponent } from './components/pagination/pagination.component';

@NgModule({
  imports: [
    CommonModule,
    ngfModule,
    RouterModule,
    FormsModule,
    StsWebSharedModule,
    ReactiveFormsModule,
    MDBBootstrapModule.forRoot()
  ],
  declarations: [
    HeaderComponent,
    DocumentUploadComponent,
    DataTableComponent,
    HeaderLoginComponent,
    CardComponent,
    DropdownComponent,
    ActionButtonComponent,
    CheckoutItemComponent,
    SearchDatatableComponent,
    SearchVehiclepanelComponent,
    PillPanelPrimaryComponent,
    PillPanelSecondaryComponent,
    TableComponent,
    FormOptionsComponent,
    FormInputComponent,
    FormRadioComponent,
    FormDatepickerComponent,
    FormPhonepickerComponent,
    AlertComponent,
    CouponPopupDirective,
    CouponPopupDirective,
    BreadcrumbComponent,
    SaveConfirmationComponent,
    SectionListComponent,
    RemarksListComponent,
    TermsConditionsComponent,
    DocumentListComponent,
    TabsComponent,
    TabComponent,
    PaginationComponent
  ],
  exports: [
    HeaderComponent,
    DocumentUploadComponent,
    DataTableComponent,
    HeaderLoginComponent,
    CardComponent,
    DropdownComponent,
    ActionButtonComponent,
    CheckoutItemComponent,
    SearchDatatableComponent,
    SearchVehiclepanelComponent,
    PillPanelPrimaryComponent,
    PillPanelSecondaryComponent,
    TableComponent,
    FormOptionsComponent,
    FormInputComponent,
    FormRadioComponent,
    FormDatepickerComponent,
    FormPhonepickerComponent,
    AlertComponent,
    BreadcrumbComponent,
    CouponPopupDirective,
    SaveConfirmationComponent,
    SectionListComponent,
    RemarksListComponent,
    TermsConditionsComponent,
    DocumentListComponent,
    TabsComponent,
    TabComponent,
    PaginationComponent
  ],
  entryComponents: [AlertComponent],
  providers: [AlertEventService],
  bootstrap: []
})
export class StsWebCommonModule { }
