/*
 * @license
 * Copyright Endlessjs. All Rights Reserved.
 * Licensed under the MIT License. See License.txt in the project root for license information.
 */
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { ElTableModule } from '../cdk/table/table.module';
import { ElIconModule } from '../icon/icon.module';
import { ElTreeGridComponent } from './tree-grid.component';
import { ElTreeGridCellDefDirective, ElTreeGridFooterCellDefDirective, ElTreeGridFooterRowDefDirective, ElTreeGridHeaderCellDefDirective, ElTreeGridHeaderRowDefDirective, ElTreeGridRowDefDirective, } from './tree-grid-def.component';
import { ElTreeGridFooterRowComponent, ElTreeGridHeaderRowComponent, ElTreeGridRowComponent, } from './tree-grid-row.component';
import { ElTreeGridCellDirective, ElTreeGridFooterCellDirective, ElTreeGridHeaderCellDirective, } from './tree-grid-cell.component';
import { ElSortDirective, ElSortHeaderComponent, ElSortHeaderIconDirective, ElSortIconComponent, } from './tree-grid-sort.component';
import { ElTreeGridDataSourceBuilder } from './data-source/tree-grid-data-source';
import { ElTreeGridSortService } from './data-source/tree-grid-sort.service';
import { ElTreeGridFilterService } from './data-source/tree-grid-filter.service';
import { ElTreeGridService } from './data-source/tree-grid.service';
import { ElTreeGridDataService } from './data-source/tree-grid-data.service';
import { ElFilterDirective, ElFilterInputDirective } from './tree-grid-filter';
import { ElTreeGridRowToggleDirective } from './tree-grid-row-toggle.directive';
import { ElTreeGridColumnDefDirective } from './tree-grid-column-def.directive';
import { ElTreeGridRowToggleComponent } from './tree-grid-row-toggle.component';
const COMPONENTS = [
    // Tree Grid
    ElTreeGridComponent,
    ElTreeGridRowDefDirective,
    ElTreeGridRowComponent,
    ElTreeGridCellDefDirective,
    ElTreeGridCellDirective,
    ElTreeGridHeaderRowDefDirective,
    ElTreeGridHeaderRowComponent,
    ElTreeGridHeaderCellDefDirective,
    ElTreeGridHeaderCellDirective,
    ElTreeGridFooterRowDefDirective,
    ElTreeGridFooterRowComponent,
    ElTreeGridFooterCellDefDirective,
    ElTreeGridFooterCellDirective,
    ElTreeGridColumnDefDirective,
    // Sort directives
    ElSortDirective,
    ElSortHeaderComponent,
    ElSortIconComponent,
    // Filter directives
    ElFilterDirective,
    ElFilterInputDirective,
    ElTreeGridRowToggleDirective,
    ElTreeGridRowToggleComponent,
    ElSortHeaderIconDirective,
];
let ElTreeGridModule = class ElTreeGridModule {
};
ElTreeGridModule = __decorate([
    NgModule({
        imports: [CommonModule, ElTableModule, ElIconModule],
        declarations: [...COMPONENTS],
        exports: [ElTableModule, ...COMPONENTS],
        providers: [
            ElTreeGridSortService,
            ElTreeGridFilterService,
            ElTreeGridService,
            ElTreeGridDataService,
            ElTreeGridDataSourceBuilder,
        ],
    })
], ElTreeGridModule);
export { ElTreeGridModule };
//# sourceMappingURL=tree-grid.module.js.map