/**
 * Created through mkmodule
 */

import { NgModule }                     from '@angular/core'

// Router

import { productRouting }                    from './rte.product'

// Shared Modules
import { SharedModule }                 from '@k-core/modules/shared/mod.shared'

// Material
import { MatDialogModule, MAT_DIALOG_DEFAULT_OPTIONS } from '@angular/material'
import { AddedToCartDialogComponent } from '@k-core/modules/shared/components/added-to-cart-dialog/cmp.added-to-cart-dialog'

// Components
import { AddToCartComponent }   from './components/add-to-cart/component.add-to-cart'
import { AttributeComponent }   from './components/attribute/cmp.attribute'
import { AttributesComponent }  from './components/attributes/cmp.attributes'
import { MediaComponent }       from './components/media/cmp.media'
import { OtherItemsComponent }  from './components/other-items/cmp.other-items'
import { ConfigurableComponent } from './components/configurable/cmp.configurable'

// Views
import { ProductView } from './partial/view.product'

// Services


@NgModule({
    imports: [ 
        SharedModule,
        productRouting,
        MatDialogModule
    ],
    exports: [
        // *Add your exports here*

    ],
    declarations: [
        // Components
        AddToCartComponent,
        AttributeComponent,
        AttributesComponent,
        MediaComponent,
        OtherItemsComponent,
        ConfigurableComponent,


        // Views
        ProductView

    ],
    entryComponents: [
		AddedToCartDialogComponent
	],
    providers: [
        {provide: MAT_DIALOG_DEFAULT_OPTIONS, useValue: {hasBackdrop: true}}

    ]
})

export class ProductModule {}
