import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { RouterModule } from '@angular/router';
import { ClarityModule } from '@clr/angular';

import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { RDatePipe } from './pipes/r-date.pipe';
import { RTimePipe } from './pipes/r-time.pipe';
import { LookupSourcePipe } from '../logic/pipes/lookup-source.pipe';
import { RawLookupSourcePipe } from '../logic/pipes/raw-lookup-source.pipe';
import { AppValidationTooltipComponent } from './controls/app-validation-tooltip.component';
import { AppComboLookupComponent } from './controls/app-combo-lookup.component';
import { AppConfirmModalComponent } from './controls/app-confirm-modal.component';
import { RMonthPipe } from './pipes/r-month.pipe';
import { RMonthSPipe } from './pipes/r-month-s.pipe';
import { ClickOutsideModule } from 'ng-click-outside';
import { AppCheckboxSelectComponent } from './controls/app-checkbox-select.component';
import { AppAlertModalComponent } from './controls/app-alert-modal.component';
import { FilterPipe } from './pipes/filter.pipe';
import {AppCustomModalHostDirective} from './controls/app-custom-modal-host.directive';
import {AppTextLookupComponent} from './controls/app-text-lookup.component';
import {AppComboMultilookupComponent} from './controls/app-combo-multilookup.component';

@NgModule({
  imports: [
    CommonModule,
    ClarityModule,
    RouterModule,
    FormsModule,
    ReactiveFormsModule,
    ClickOutsideModule
  ],
  declarations: [
    RDatePipe,
    RMonthPipe,
    RMonthSPipe,
    RTimePipe,
    FilterPipe,
    LookupSourcePipe,
    RawLookupSourcePipe,
    AppValidationTooltipComponent,
    AppComboLookupComponent,
    AppConfirmModalComponent,
    AppAlertModalComponent,
    AppCustomModalHostDirective,
    AppCheckboxSelectComponent,
    AppTextLookupComponent,
    AppComboMultilookupComponent
  ],
  exports: [
    RDatePipe,
    RMonthPipe,
    RMonthSPipe,
    RTimePipe,
    FilterPipe,
    LookupSourcePipe,
    RawLookupSourcePipe,
    AppValidationTooltipComponent,
    AppComboLookupComponent,
    AppConfirmModalComponent,
    AppAlertModalComponent,
    AppCheckboxSelectComponent,
    AppCustomModalHostDirective,
    AppTextLookupComponent,
    AppComboMultilookupComponent
  ],
})
export class UiModule {
}
