import { CommonModule } from '@angular/common';
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
import { MatButtonToggleModule } from '@angular/material/button-toggle';
import { MatCheckboxModule } from '@angular/material/checkbox';
import { MatChipsModule } from '@angular/material/chips';
import { MatIconModule } from '@angular/material/icon';
import { MatListModule } from '@angular/material/list';
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
import { RouterModule, Routes } from '@angular/router';
import { BCI_SHARED_INTL_PROVIDER, BciComponentModule, BciSharedModule } from '@bci-web-core/core';
import { ActivityIndicatorDemoComponent } from './activity-indicator-demo/activity-indicator-demo.component';
import { ButtonDemoComponent } from './button-demo/button-demo';
import { ChipsDemoComponent } from './chip-demo/chips-demo.component';
import { LinkDemoComponent } from './link-demo/link-demo';
import { OptionBarDemoComponent } from './option-bar-demo/option-bar-demo';
import { OverviewButtonsIndicatorsComponent } from './overview-buttons-indicators/overview-buttons-indicators.component';
import { MatTooltipModule } from '@angular/material/tooltip';

const routes: Routes = [
  {
    path: '',
    component: OverviewButtonsIndicatorsComponent,
  },
  {
    path: 'button-demo',
    component: ButtonDemoComponent,
    pathMatch: 'full',
  },
  {
    path: 'option-bar-demo',
    component: OptionBarDemoComponent,
  },
  {
    path: 'chip-demo',
    component: ChipsDemoComponent,
  },
  {
    path: 'activity-indicator',
    component: ActivityIndicatorDemoComponent,
  },
  {
    path: 'link-demo',
    component: LinkDemoComponent
  }
];

@NgModule({
  declarations: [
    OverviewButtonsIndicatorsComponent,
    ButtonDemoComponent,
    OptionBarDemoComponent,
    ChipsDemoComponent,
    ActivityIndicatorDemoComponent,
    LinkDemoComponent
  ],
  imports: [
    RouterModule.forChild(routes),
    CommonModule,
    BciSharedModule,
    MatButtonToggleModule,
    MatSlideToggleModule,
    BciComponentModule,
    MatListModule,
    MatIconModule,
    MatChipsModule,
    MatCheckboxModule,
    MatTooltipModule
  ],
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
  providers: [BCI_SHARED_INTL_PROVIDER]
})
export class ButtonsIndicatorsModule {}
