import { DigiNgDialogModule } from '@af/digi-ng/_dialog/dialog';
import { DigiNgFormDatepickerModule } from '@af/digi-ng/_form/form-datepicker';
import { DigiNgFormInputModule } from '@af/digi-ng/_form/form-input';
import { DigiNgFormRadiobuttonGroupModule } from '@af/digi-ng/_form/form-radiobutton-group';
import { DigiNgFormRangeModule } from '@af/digi-ng/_form/form-range';
import { DigiNgFormSelectModule } from '@af/digi-ng/_form/form-select';
import { DigiNgProgressProgressbarModule } from '@af/digi-ng/_progress/progressbar';
import { CommonModule } from '@angular/common';
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
import { ReactiveFormsModule } from '@angular/forms';
import { RouterModule } from '@angular/router';
import { BackLinkModule } from '@msfa-shared/components/back-link/back-link.module';
import { ConfirmDialogModule } from '@msfa-shared/components/confirm-dialog/confirm-dialog.module';
import { IconModule } from '@msfa-shared/components/icon/icon.module';
import { LayoutModule } from '@msfa-shared/components/layout/layout.module';
import { UiCheckboxModule } from '@ui/checkbox/checkbox.module';
import { UiErrorListModule } from '@ui/error-list/error-list.module';
import { UiInputModule } from '@ui/input/input.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 { UiTextareaModule } from '@ui/textarea/textarea.module';
import { ReportDescriptionListModule } from '../../../components/report-description-list/report-description-list.module';
import { ReportLayoutModule } from '../../../components/report-layout/report-layout.module';
import { SlutredovisningViewDescriptionListModule } from '../../../components/slutredovisning-view-description-list/slutredovisning-view-description-list.module';
import { SlutredovisningFormStep0EducationComponent } from './slutredovisning-form-step0/slutredovisning-form-step0-education/slutredovisning-form-step0-education.component';
import { SlutredovisningFormStep0OtherComponent } from './slutredovisning-form-step0/slutredovisning-form-step0-other/slutredovisning-form-step0-other.component';
import { SlutredovisningFormStep0StillUnemployedComponent } from './slutredovisning-form-step0/slutredovisning-form-step0-still-unemployed/slutredovisning-form-step0-still-unemployed.component';
import { SlutredovisningFormStep0WorkComponent } from './slutredovisning-form-step0/slutredovisning-form-step0-work/slutredovisning-form-step0-work.component';
import { SlutredovisningFormStep0Component } from './slutredovisning-form-step0/slutredovisning-form-step0.component';
import { SlutredovisningFormStep1Component } from './slutredovisning-form-step1/slutredovisning-form-step1.component';
import { SlutredovisningFormStep2Component } from './slutredovisning-form-step2/slutredovisning-form-step2.component';
import { SlutredovisningFormStep3Component } from './slutredovisning-form-step3/slutredovisning-form-step3.component';
import { SlutredovisningFormComponent } from './slutredovisning-form.component';
import { SlutredovisningFormService } from './slutredovisning-form.service';

@NgModule({
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
  declarations: [
    SlutredovisningFormComponent,
    SlutredovisningFormStep0Component,
    SlutredovisningFormStep0EducationComponent,
    SlutredovisningFormStep0StillUnemployedComponent,
    SlutredovisningFormStep1Component,
    SlutredovisningFormStep0WorkComponent,
    SlutredovisningFormStep1Component,
    SlutredovisningFormStep0OtherComponent,
    SlutredovisningFormStep2Component,
    SlutredovisningFormStep3Component,
  ],
  imports: [
    CommonModule,
    RouterModule.forChild([{ path: '', component: SlutredovisningFormComponent }]),
    UiCheckboxModule,
    LayoutModule,
    ReactiveFormsModule,
    DigiNgFormRadiobuttonGroupModule,
    UiRadiobuttonGroupModule,
    DigiNgFormDatepickerModule,
    UiTextareaModule,
    DigiNgProgressProgressbarModule,
    ReportLayoutModule,
    ConfirmDialogModule,
    BackLinkModule,
    UiSkeletonModule,
    DigiNgFormSelectModule,
    UiLoaderModule,
    UiSelectModule,
    ReportDescriptionListModule,
    DigiNgFormInputModule,
    DigiNgDialogModule,
    DigiNgFormRangeModule,
    IconModule,
    UiErrorListModule,
    UiInputModule,
    SlutredovisningViewDescriptionListModule,
  ],
  providers: [SlutredovisningFormService],
  exports: [SlutredovisningFormComponent],
})
export class SlutredovisningFormModule {}
