import { NgModule }         		from '@angular/core'
import { FormsModule }          	from '@angular/forms'


// ---- Routes
import { CatalogRouting } 					from './rte.catalog'

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

// ---- Directives
import { ClickOutsideDirective } 			from '@k-core/directives/dir.click-outside'

// ---- Components
// Core
//import { BasketComponent }                  from '@k-core/modules/catalog/components/basket/cmp.basket'
import { CategoryOverviewComponent }        from '@k-core/modules/catalog/components/category-overview/cmp.category-overview'
import { CategoryOverviewItemComponent }    from '@k-core/modules/catalog/components/category-overview/item/cmp.category-overview__item'
import { ViewComponent }					from '@k-core/modules/category/components/view/cmp.view'
import { FilterComponent }                  from '@k-core/modules/catalog/components/filter/cmp.filter'

// Site
// import { BasketFotexComponent }             from '@k-sites/fotex/modules/catalog/components/basket/cmp.basket.fotex'


// ---- Templates (Views)
import { CategoryOverviewView }             from '@k-core/modules/catalog/templates/category-overview/view.category-overview'

// ---- Services
import { ProductService }                   from '@k-core/services/svc.product'
import { GeolocationService }               from '@k-core/services/svc.geolocation'

@NgModule({
	imports: [
		SharedModule,
		StoredropdownModule,
		FormsModule,
		CatalogRouting,

	],
	exports: [
	],
	declarations: [
		ClickOutsideDirective,
		//BasketComponent,
		// BasketFotexComponent,
		ViewComponent,
		CategoryOverviewComponent,
		CategoryOverviewItemComponent,
		FilterComponent,
		CategoryOverviewView,
	],
	providers: [
		ProductService,
		GeolocationService,
	]
})
export class CatalogModule { }