# List of modules provided by prestations-ng

Below is a list of all the components and features and their corresponding modules.

To import in `*.module.ts`, such as `app.module.ts` or your page module if the
prestation implements route-based code splitting.

## All the modules

[PrestationsNgModule](projects/prestations-ng/src/prestations-ng-core.module.ts)

All the features and components can be imported using one module: `PrestationsNgModule`.

```javascript
// app.module.ts
imports: [
    ...
    PrestationsNgModule,
    ...
],
```

This will however stop Angular CLI to tree shake bits of prestations-ng you're not using.
This is therefore not the recommended approach. It is available for backward
compatibility.

Provides all the modules below.

## Core (required)

[PrestationsNgCoreModule](projects/prestations-ng/src/prestations-ng-core.module.ts)

Integration with GesDem and core features.

**IMPORTANT** This module _MUST_ be included in `app.module.ts`.

Provides:

- `GesdemHandlerServiceFactoryProvider`
- `GesdemEventService`
- `ValidationHandlerService`
- `SessionInfoFactoryProvider`
- `ApplicationInfoService`
- `IamInterceptorServiceExistingProvider`
- `IamInterceptorServiceFactoryProvider`

```javascript
// app.module.ts
imports: [
    ...
    PrestationsNgCoreModule,
    ...
],
```

## Formatter Directives

[FormatterModule](projects/prestations-ng/src/directives/formatter.module.ts)

Provides the following directives:

- `currencyFormatter`
- `ndcFormatter`
- `numberCurrencyFormatter`
- `ideFormatter`
- `ndcFormatter`

## Common Pipes

[PipeModule](projects/prestations-ng/src/pipes/pipes.module.ts)

Provides the following pipes:

- `displayDate`
- `formatIde`

## Foehn Input

[FoehnInputModule](projects/prestations-ng/src/foehn-input/foehn-input.module.ts)

Exports:

- `foehn-input-text`
- `foehn-input-number`
- `foehn-input-email`
- `foehn-input-hidden`
- `foehn-input-password`
- `foehn-input-textarea`
- `foehn-input-phone`
- `foehn-date`
- `foehn-time`

## Foehn Checkable

[FoehnCheckablesModule](projects/prestations-ng/src/foehn-checkables/foehn-checkables.module.ts)

Exports:

- `foehn-checkbox` (multiple only, for a simple checkbox use `foehn-boolean-checkbox`)
- `foehn-radio`
- `foehn-select`

## Foehn Autocomplete

[FoehnAutocompleteModule](projects/prestations-ng/src/foehn-autocomplete/foehn-autocomplete.module.ts)

Exports:

- `foehn-autocomplete`

## Foehn Address

[FoehnAddressModule](projects/prestations-ng/src/foehn-address/foehn-address.module.ts)

Exports:

- `foehn-input-address`
- `foehn-display-address`
- `foehn-input-foreign-locality`
- `foehn-input-foreign-street`

## Foehn Boolean

[FoehnBooleanModule](projects/prestations-ng/src/foehn-boolean/foehn-boolean.module.ts)

Exports:

- `foehn-boolean-checkbox`
- `foehn-boolean-radio`

## Foehn Breadcrumb

[FoehnBreadcrumbModule](projects/prestations-ng/src/foehn-breadcrumb/foehn-breadcrumb.module.ts)

Exports:

- `foehn-breadcrumb`

## Foehn Header

[FoehnHeaderModule](projects/prestations-ng/src/foehn-header/foehn-header.module.ts)

Exports:

- `foehn-header`
- `foehn-skip-link`

## Foehn Footer

[FoehnFooterModule](projects/prestations-ng/src/foehn-footer/foehn-footer.module.ts)

Exports:

- `foehn-footer`

## Foehn Form

[FoehnFormModule](projects/prestations-ng/src/foehn-form/foehn-form.module.ts)

Exports:

- `foehn-form`

## Foehn Growl

[FoehnGrowlModule](projects/prestations-ng/src/foehn-growl/foehn-growl.module.ts)

Exports:

- `foehn-growl`

## Foehn Icons

[FoehnIconsModule](projects/prestations-ng/src/foehn-icons/foehn-icons.module.ts)

Exports:

- `foehn-icon-check`
- `foehn-icon-check-square-o`
- `foehn-icon-chevron-down`
- `foehn-icon-chevron-up`
- `foehn-icon-chevron-right`
- `foehn-icon-chevron-left`
- `foehn-icon-clock`
- `foehn-icon-comment-dots`
- `foehn-icon-edit`
- `foehn-icon-external-link-alt`
- `foehn-icon-info-circle`
- `foehn-icon-lock`
- `foehn-icon-map-marker`
- `foehn-icon-minus-circle`
- `foehn-icon-plus-circle`
- `foehn-icon-plus-square`
- `foehn-icon-search`
- `foehn-icon-times`
- `foehn-icon-trash-alt`
- `foehn-icon-unlock-alt`
- `foehn-icon-file-pdf`

## Foehn List

[FoehnListModule](projects/prestations-ng/src/foehn-list/foehn-list.module.ts)

Exports:

- `foehn-list`

## Foehn Modal

[FoehnModalModule](projects/prestations-ng/src/foehn-modal/foehn-modal.module.ts)

Exports:

- `foehn-modal`

## Foehn Help Modal

A modal with a trigger button

[FoehnHelpModalModule](projects/prestations-ng/src/foehn-help-modal/foehn-help-modal.module.ts)

Exports:

- `foehn-help-modal`

## Foehn Input Nav13 (AVS)

[FoehnInputNav13Module](projects/prestations-ng/src/foehn-nav13/foehn-input-nav13.module.ts)

Exports:

- `foehn-input-nav13`

## Foehn Navigation

[FoehnNavigationModule](projects/prestations-ng/src/foehn-navigation/foehn-navigation.module.ts)

Exports:

- `foehn-navigation`

## Foehn Not Found

[FoehnNotFoundModule](projects/prestations-ng/src/foehn-notfound/foehn-notfound.module.ts)

Exports:

- `foehn-notfound`
- `FoehnNotfoundComponent` (can be used in the router)

## Foehn Page

[FoehnPageModule](projects/prestations-ng/src/foehn-page/foehn-page.module.ts)

Exports:

- `foehn-page`
- `foehn-page-counter`

## Foehn Remaining Alerts Summary

[FoehnRemainingAlertsSummaryModule](projects/prestations-ng/src/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.module.ts)

Exports:

- `foehn-remaining-alerts-summary`

## Foehn Multi Upload

[FoehnMultiUploadModule](projects/prestations-ng/src/foehn-upload/foehn-multi-upload/foehn-multi-upload.module.ts)

Exports:

- `foehn-multi-upload`

## Foehn Validation Alert Summary

[FoehnValidationAlertSummaryModule](projects/prestations-ng/src/foehn-validation-alert-summary/foehn-validation-alert-summary.module.ts)

Exports:

- `foehn-validation-alert-summary`

## Foehn Validation Alerts

[FoehnValidationAlertsModule](projects/prestations-ng/src/foehn-validation-alerts/foehn-validation-alerts.module.ts)

Exports:

- `foehn-validation-alerts`

## GesDem Confirmation Page

[GesdemConfirmationModule](projects/prestations-ng/src/gesdem-confirmation/gesdem-confirmation.module.ts)

Exports:

- `gesdem-confirmation`
- `GesdemConfirmationComponent` (can be used in the router or as a super-class)

## GesDem Error Page

[GesdemErrorModule](projects/prestations-ng/src/gesdem-error/gesdem-error.module.ts)

Exports:

- `gesdem-error`
- `GesdemErrorComponent` (can be used in the router)

## SDK Dictionary

[SdkDictionaryModule](projects/prestations-ng/src/sdk-dictionary/sdk-dictionary.module.ts)

Provides:

- `SdkDictionaryService`

Provides the pipe:

- `fromDictionary`

## SDK Captcha

[SdkRecaptchaModule](projects/prestations-ng/src/sdk-recaptcha/sdk-recaptcha.module.ts)

Exports:

- `captcha`

## SDK Redirect

[SdkRedirectModule](projects/prestations-ng/src/sdk-redirect/sdk-redirect.module.ts)

Exports:

- `redirector`

## Foehn Recap Section

[FoehnRecapSectionModule](projects/prestations-ng/src/foehn-recap-section/foehn-recap-section.module.ts)

Exports:

- `foehn-recap-section`

## Foehn User Connected As

[FoehnUserConnectedAdModule](projects/prestations-ng/src/foehn-user-connected-as/foehn-user-connected-as.module.ts)

Exports:

- `foehn-user-connected-as`

## Foehn Miscellaneous

[FoehnMiscModule](projects/prestations-ng/src/foehn-misc/foehn-misc.module.ts)

Exports:

- `foehn-abbr`

## Foehn Menu prestations

[FoehnMenuPrestationModule](projects/prestations-ng/src/foehn-menu-prestation/foehn-menu-prestation.module.ts)

Exports:

- `foehn-error-pill`
- `foehn-menu-item`
- `foehn-menu-item-transmit`
- `foehn-list-summary`
