/**
 * Created through mkmodule
 */

 import { NgModule }                     from '@angular/core'
 import { MatIconModule } from '@angular/material/icon'
 import { MatDialogModule, MAT_DIALOG_DEFAULT_OPTIONS } from '@angular/material/dialog'
 import { LayoutModule } from '@angular/cdk/layout'
 
 
 // ---- Router
 import { ConfiguratorRouting }        from './rte.configurator'
 
 
 // ---- Shared Modules
 import { SharedModule }                 from '@k-core/modules/shared/mod.shared'
 import { CookieService }                from 'ng2-cookies'
 
 
 // ---- Components

 // import { CustomDessinComponent } from './components/custom-dessin/cmp.custom-dessin'
 
 // ---- Views

 
 
 // ---- Services
 

import { GoogleApisService } from '@k-core/services/svc.googleApis'
import { ReactiveFormsModule } from '@angular/forms'
import { PlatoConfiguratorModule } from '@k-core/modules/plato-configurator/mod.plato-configurator'
import { ParentSelectorComponent } from '@k-core/modules/configurator/components/parent-selector/cmp.parent-selector'
import { ChildSelectorComponent } from '@k-core/modules/configurator/components/child-selector/cmp.child-selector'
import { MeasurementsComponent } from '@k-core/modules/configurator/components/measurements/cmp.measurements'
import { MountheightComponent } from '@k-core/modules/configurator/components/mount-height/cmp.mount-height'
import { ColorSelectorComponent } from '@k-core/modules/configurator/components/color-selector/cmp.color-selector'
import { DetailsComponent } from '@k-core/modules/configurator/components/details/cmp.details'
import { MarkingComponent } from '@k-core/modules/configurator/components/marking/cmp.marking'
import { PriceComponent } from '@k-core/modules/configurator/components/price/cmp.price'
import { ConfiguratorBannerComponent } from '@k-core/modules/configurator/components/banner/cmp.banner'
import { ConfiguratorModalComponent } from '@k-core/modules/configurator/components/modal/cmp.modal'
import { StepNavigationComponent } from '@k-core/modules/configurator/components/step-navigation/cmp.step-navigation'
import { ConfiguratorPartial } from '@k-core/modules/configurator/partial/cmp.configurator-partial'
import { ConfiguratorProductLoaderService } from '@k-core/modules/configurator/services/svc.configurator-product-reloader'
import { StepNavigationService } from '@k-core/modules/configurator/services/svc.step-navigation'
import { ConfiguratorPartial_Megaflis } from './partial/cmp.configurator-partial'
import { PriceComponent_Megaflis } from './components/price/cmp.price'
 
 
 @NgModule({
     imports: [ 
         SharedModule,
         MatIconModule,
         MatDialogModule,
         LayoutModule,
         ReactiveFormsModule,
         PlatoConfiguratorModule,
         ConfiguratorRouting,
     ],
     exports: [
         // *Add your exports here*
     ],
     declarations: [
         // Components
         ParentSelectorComponent,
         ChildSelectorComponent,
         MeasurementsComponent,
         MountheightComponent,
         ColorSelectorComponent,
         DetailsComponent,
         MarkingComponent,
         PriceComponent_Megaflis,
         ConfiguratorBannerComponent,
         ConfiguratorModalComponent,
         StepNavigationComponent,
         // CustomDessinComponent,
 
         // Views
         ConfiguratorPartial_Megaflis,
     ],
 
     providers: [
         ConfiguratorProductLoaderService,
         CookieService,
         StepNavigationService,
         GoogleApisService,
         {provide: MAT_DIALOG_DEFAULT_OPTIONS, useValue: {hasBackdrop: true}}
     ]
 })
 
 export class ConfiguratorModule {}
 