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

import { DragDropModule } from '@angular/cdk/drag-drop';
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';

import { MatButtonModule } from '@angular/material/button';
import { MatFormFieldModule } from '@angular/material/form-field';
import { MatInputModule } from '@angular/material/input';
import { MatListModule } from '@angular/material/list';
import { MatCheckboxModule } from '@angular/material/checkbox';
import { MatDialogModule } from '@angular/material/dialog';
import { MatTooltipModule } from '@angular/material/tooltip';
import { MatMenuModule } from '@angular/material/menu';
import { MatRadioModule } from '@angular/material/radio';
import { MatBadgeModule } from '@angular/material/badge';
import { MatIconModule } from '@angular/material/icon';
import { BciSharedModule } from '../shared.module';

import { BciCoreDragDropListComponent } from './drag-drop-list/bci-core-drag-drop-list.component';
import { BciCorePicklistHeadersDirective } from './bci-core-picklist-headers.directive';
import { BCI_CORE_PICKLIST_INTL_PROVIDER } from './bci-core-picklist-intl';
import { BciCorePicklistComponent } from './picklist/bci-core-picklist.component';
import { ScrollingModule } from '@angular/cdk/scrolling';

@NgModule({
  imports: [
    CommonModule,
    DragDropModule,
    FormsModule,
    BciSharedModule,
    MatIconModule,
    MatButtonModule,
    MatCheckboxModule,
    MatDialogModule,
    MatFormFieldModule,
    MatInputModule,
    MatListModule,
    MatBadgeModule,
    MatTooltipModule,
    MatMenuModule,
    MatRadioModule,
    ScrollingModule
  ],
  declarations: [BciCoreDragDropListComponent, BciCorePicklistComponent, BciCorePicklistHeadersDirective],
  providers: [BCI_CORE_PICKLIST_INTL_PROVIDER],
  exports: [BciCorePicklistComponent, BciCorePicklistHeadersDirective],
})
export class BciCorePicklistModule {}
