/**
 * @since Wed Aug 15 2018
 * @author Zia ur-Rehman - Klean
 */


import { NgModule }                 from '@angular/core'
import { Include }                  from './inc.block'

// Router

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

// Components
// import { BlockTextComponent }                    from '@k-core/modules/block/components/text/cmp.text'
import { BannerImageComponent }                     from '@k-core/modules/block/components/banner-image/cmp.banner-image'
import { BlockSliderComponent }                     from '@k-core/modules/block/components/slider/cmp.slider'
import { BlockTeaserComponent }                     from '@k-core/modules/block/components/teaser/cmp.teaser'
import { BlockImageGridComponent }                  from '@k-core/modules/block/components/image-grid/cmp.image-grid'
import { BlockDefaultComponent }                    from '@k-core/modules/block/components/default/cmp.default'
import { BlockMultiImagesComponent }                from '@k-core/modules/block/components/multi-images/cmp.multi-images'

// Components sites
import { BlockImageTextandButtonBauhausComponent }    from '@k-sites/bauhaus/modules/block/components/image-text-and-button/cmp.image-text-and-button.bauhaus'
import { BlockTextBauhausComponent }                  from '@k-sites/bauhaus/modules/block/components/text/cmp.text'


// Views
import { BlockView }                from '@k-core/modules/block/template/view.block'

// Services
import { BlockService }             from '@k-services/svc.block'



@NgModule({
    imports: [ 
        SharedModule,

        ...Include.imports
    ],
    exports: [
        BlockView,

        ...Include.exports
    ],
    declarations: [
        // Components
        BlockTextBauhausComponent,
        BannerImageComponent,
        BlockSliderComponent,
        BlockTeaserComponent,
        BlockImageGridComponent,
        BlockImageTextandButtonBauhausComponent,
        BlockDefaultComponent,
        BlockMultiImagesComponent,

        // Views
        BlockView,

        ...Include.declarations
    ],
    providers: [
        BlockService,
        
        ...Include.providers
    ]
})

export class BlockModule {}
