import { NgModule, ModuleWithProviders } from '@angular/core'; import { CommonModule } from '@angular/common'; import { FormsModule } from '@angular/forms'; import { NgbDropdownModule } from './dropdown/dropdown.module'; import { NgbTooltipModule } from './tooltip/tooltip.module'; import { LocaleModule } from '@farris/ui-locale'; import { FarrisTabsComponent } from './tabs/tabs.component'; import { TabConfig, TabService } from './tabs.config'; import { FarrisTabComponent } from './tab/tab.component'; import { TabTranscludeDirective } from './tab/tab.transclude.directive'; import { TabHeadDirective } from './tab/tab.headtemplate.directive'; import { TabHostDirective } from './tab/tabhost.directive'; import { FarrisTabsExtendDirective } from './tab/extend.directive'; @NgModule({ imports: [ CommonModule, LocaleModule, FormsModule, NgbDropdownModule.forRoot(), NgbTooltipModule.forRoot() ], declarations: [FarrisTabsComponent, FarrisTabComponent, TabTranscludeDirective, TabHeadDirective, FarrisTabsExtendDirective, TabHostDirective], exports: [ FarrisTabsComponent, FarrisTabComponent, TabTranscludeDirective, TabHeadDirective, TabHostDirective, FarrisTabsExtendDirective, NgbDropdownModule, NgbTooltipModule ], providers: [TabService] }) export class FarrisTabsModule { static forRoot(config?: TabConfig): ModuleWithProviders { return { ngModule: FarrisTabsModule, providers: [{ provide: TabConfig, useValue: config }] }; } }