import { DigiNgDialogModule } from '@af/digi-ng/_dialog/dialog';
import { DigiNgFormCheckboxModule } from '@af/digi-ng/_form/form-checkbox';
import { CommonModule } from '@angular/common';
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
import { ReactiveFormsModule } from '@angular/forms';
import { RouterModule } from '@angular/router';
import { PreventDoubleSubmitModule } from '@msfa-directives/prevent-double-submit.module';
import { LayoutModule } from '@msfa-shared/components/layout/layout.module';
import { UiBackLinkModule } from '@ui/back-link/back-link.module';
import { UiInputModule } from '@ui/input/input.module';
import { UiLinkButtonModule } from '@ui/link-button/link-button.module';
import { UiLoaderModule } from '@ui/loader/loader.module';
import { UiRadiobuttonGroupModule } from '@ui/radiobutton-group/radiobutton-group.module';
import { UiSelectModule } from '@ui/select/select.module';
import { UiSkeletonModule } from '@ui/skeleton/skeleton.module';
import { UiValidationMessageModule } from '@ui/validation-message/validation-message.module';
import { ReportDescriptionListModule } from '../../../components/report-description-list/report-description-list.module';
import { ReportLayoutModule } from '../../../components/report-layout/report-layout.module';
import { PeriodiskRedovisningFormComponent } from './periodisk-redovisning-form.component';
import { PeriodiskRedovisningFormService } from './periodisk-redovisning-form.service';

@NgModule({
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
  declarations: [PeriodiskRedovisningFormComponent],
  imports: [
    CommonModule,
    RouterModule.forChild([{ path: '', component: PeriodiskRedovisningFormComponent }]),
    LayoutModule,
    ReactiveFormsModule,
    ReportLayoutModule,
    ReportDescriptionListModule,
    UiBackLinkModule,
    UiLoaderModule,
    UiSelectModule,
    UiSkeletonModule,
    DigiNgDialogModule,
    DigiNgFormCheckboxModule,
    UiRadiobuttonGroupModule,
    UiLinkButtonModule,
    UiInputModule,
    UiValidationMessageModule,
    PreventDoubleSubmitModule,
  ],
  providers: [PeriodiskRedovisningFormService],
  exports: [PeriodiskRedovisningFormComponent],
})
export class PeriodiskRedovisningFormModule {}
