/*
 * Copyright (C) 2018 Robert Bosch GmbH Copyright (C) 2018 Robert Bosch Manufacturing Solutions GmbH, Germany. All rights reserved.
 */

import { DragDropModule } from '@angular/cdk/drag-drop';
import { ScrollingModule } from '@angular/cdk/scrolling';
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { MatBadgeModule } from '@angular/material/badge';
import { MatButtonModule } from '@angular/material/button';
import { MatCheckboxModule } from '@angular/material/checkbox';
import { MatDialogModule } from '@angular/material/dialog';
import { MatFormFieldModule } from '@angular/material/form-field';
import { MatIconModule } from '@angular/material/icon';
import { MatInputModule } from '@angular/material/input';
import { MatListModule } from '@angular/material/list';
import { MatTooltipModule } from '@angular/material/tooltip';
import { BciSharedModule } from '../shared.module';

import { DragDropListComponent } from './drag-drop-list/drag-drop-list.component';
import { PicklistHeadersDirective } from './picklist-headers.directive';
import { BCI_PICKLIST_INTL_PROVIDER } from './picklist-intl';
import { PicklistComponent } from './picklist/picklist.component';

@NgModule({
  imports: [
    CommonModule,
    DragDropModule,
    FormsModule,
    BciSharedModule,
    MatIconModule,
    MatButtonModule,
    MatCheckboxModule,
    MatDialogModule,
    MatFormFieldModule,
    MatInputModule,
    MatListModule,
    MatBadgeModule,
    MatTooltipModule,
    ScrollingModule
  ],
  declarations: [DragDropListComponent, PicklistComponent, PicklistHeadersDirective],
  providers: [BCI_PICKLIST_INTL_PROVIDER],
  exports: [PicklistComponent, PicklistHeadersDirective],
})
export class PicklistModule {}
