import { ModuleWithProviders, NgModule } from '@angular/core'; import { ComponentLoaderFactory } from 'mirra-ui/component-loader'; import { PositioningService } from 'mirra-ui/positioning'; import { DropdownButtonContainerComponent } from "./dropdown-button-container.component"; import { DropdownButtonMenuDirective } from "./dropdown-button-menu.directive"; import { DropdownButtonToggleDirective } from "./dropdown-button-toggle.directive"; import { DropdownButtonConfig } from "./dropdown-button.config"; import { DropdownButtonDirective } from "./dropdown-button.directive"; import { DropdownButtonState } from "./dropdown-button.state"; @NgModule({ declarations: [ DropdownButtonMenuDirective, DropdownButtonToggleDirective, DropdownButtonContainerComponent, DropdownButtonDirective, ], exports: [ DropdownButtonMenuDirective, DropdownButtonToggleDirective, DropdownButtonDirective, ], entryComponents: [DropdownButtonContainerComponent], }) export class DropdownButtonModule { // tslint:disable-next-line:no-any static forRoot(config?: any): ModuleWithProviders { return { ngModule: DropdownButtonModule, providers: [ ComponentLoaderFactory, PositioningService, DropdownButtonState, { provide: DropdownButtonConfig, useValue: config ? config : { autoClose: true, insideClick: false }, }, ], }; } }