@ecodev/natural 58.0.6 → 59.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,10 +5,9 @@ export * from './directives/linkable-tab.directive';
5
5
  export * from './pipes/capitalize.pipe';
6
6
  export * from './pipes/ellipsis.pipe';
7
7
  export * from './pipes/enum.pipe';
8
- export * from './pipes/swiss-date.pipe';
9
8
  export { NaturalTimeAgoPipe } from './pipes/time-ago.pipe';
10
9
  export * from './services/memory-storage';
11
10
  export { NaturalSrcDensityDirective } from './directives/src-density.directive';
12
11
  export { NATURAL_SEO_CONFIG, NaturalSeoService, } from './services/seo.service';
13
12
  export { provideSeo } from './services/seo.provider';
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL2NvbW1vbi9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDOUUsT0FBTyxFQUNILGtCQUFrQixFQUVsQixpQkFBaUIsR0FNcEIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0seUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5hdHVyYWxcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvbGlua2FibGUtdGFiLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL2NhcGl0YWxpemUucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL2VsbGlwc2lzLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9lbnVtLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9zd2lzcy1kYXRlLnBpcGUnO1xuZXhwb3J0IHtOYXR1cmFsVGltZUFnb1BpcGV9IGZyb20gJy4vcGlwZXMvdGltZS1hZ28ucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL21lbW9yeS1zdG9yYWdlJztcbmV4cG9ydCB7TmF0dXJhbFNyY0RlbnNpdHlEaXJlY3RpdmV9IGZyb20gJy4vZGlyZWN0aXZlcy9zcmMtZGVuc2l0eS5kaXJlY3RpdmUnO1xuZXhwb3J0IHtcbiAgICBOQVRVUkFMX1NFT19DT05GSUcsXG4gICAgTmF0dXJhbFNlb0NvbmZpZyxcbiAgICBOYXR1cmFsU2VvU2VydmljZSxcbiAgICBOYXR1cmFsU2VvLFxuICAgIE5hdHVyYWxTZW9CYXNpYyxcbiAgICBOYXR1cmFsU2VvUmVzb2x2ZSxcbiAgICBOYXR1cmFsU2VvQ2FsbGJhY2ssXG4gICAgTmF0dXJhbFNlb1Jlc29sdmVEYXRhLFxufSBmcm9tICcuL3NlcnZpY2VzL3Nlby5zZXJ2aWNlJztcbmV4cG9ydCB7cHJvdmlkZVNlb30gZnJvbSAnLi9zZXJ2aWNlcy9zZW8ucHJvdmlkZXInO1xuIl19
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL2NvbW1vbi9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFDSCxrQkFBa0IsRUFFbEIsaUJBQWlCLEdBTXBCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuYXR1cmFsXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2xpbmthYmxlLXRhYi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9jYXBpdGFsaXplLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9lbGxpcHNpcy5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvZW51bS5waXBlJztcbmV4cG9ydCB7TmF0dXJhbFRpbWVBZ29QaXBlfSBmcm9tICcuL3BpcGVzL3RpbWUtYWdvLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9tZW1vcnktc3RvcmFnZSc7XG5leHBvcnQge05hdHVyYWxTcmNEZW5zaXR5RGlyZWN0aXZlfSBmcm9tICcuL2RpcmVjdGl2ZXMvc3JjLWRlbnNpdHkuZGlyZWN0aXZlJztcbmV4cG9ydCB7XG4gICAgTkFUVVJBTF9TRU9fQ09ORklHLFxuICAgIE5hdHVyYWxTZW9Db25maWcsXG4gICAgTmF0dXJhbFNlb1NlcnZpY2UsXG4gICAgTmF0dXJhbFNlbyxcbiAgICBOYXR1cmFsU2VvQmFzaWMsXG4gICAgTmF0dXJhbFNlb1Jlc29sdmUsXG4gICAgTmF0dXJhbFNlb0NhbGxiYWNrLFxuICAgIE5hdHVyYWxTZW9SZXNvbHZlRGF0YSxcbn0gZnJvbSAnLi9zZXJ2aWNlcy9zZW8uc2VydmljZSc7XG5leHBvcnQge3Byb3ZpZGVTZW99IGZyb20gJy4vc2VydmljZXMvc2VvLnByb3ZpZGVyJztcbiJdfQ==
@@ -1,7 +1,6 @@
1
1
  import { Component, Input, Optional, Self } from '@angular/core';
2
2
  import { FormsModule, ReactiveFormsModule } from '@angular/forms';
3
3
  import { AbstractSelect } from '../abstract-select.component';
4
- import { NaturalCapitalizePipe } from '../../common/pipes/capitalize.pipe';
5
4
  import { MatOptionModule } from '@angular/material/core';
6
5
  import { CommonModule } from '@angular/common';
7
6
  import { MatSelectModule } from '@angular/material/select';
@@ -30,19 +29,11 @@ export class NaturalSelectEnumComponent extends AbstractSelect {
30
29
  throw new Error('This should never be called');
31
30
  }
32
31
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NaturalSelectEnumComponent, deps: [{ token: i1.NaturalEnumService }, { token: i2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
33
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: NaturalSelectEnumComponent, isStandalone: true, selector: "natural-select-enum", inputs: { enumName: "enumName", nullLabel: "nullLabel", optionDisabled: "optionDisabled", multiple: "multiple" }, usesInheritance: true, ngImport: i0, template: "<mat-form-field>\n <mat-label>{{ placeholder }}</mat-label>\n <mat-select\n (selectionChange)=\"propagateValue($event.value)\"\n [formControl]=\"internalCtrl\"\n (blur)=\"onBlur()\"\n [errorStateMatcher]=\"matcher\"\n [multiple]=\"multiple\"\n >\n @if (nullLabel) {\n <mat-option [value]=\"null\">{{ nullLabel }}</mat-option>\n }\n @for (item of items | async; track item) {\n <mat-option [value]=\"item.value\" [disabled]=\"optionDisabled ? optionDisabled(item) : false\">\n {{ item.name | capitalize }}\n </mat-option>\n }\n </mat-select>\n\n @if (hint) {\n <mat-hint>{{ hint }}</mat-hint>\n }\n\n @if (hasRequiredError()) {\n <mat-error i18n>Ce champ est requis</mat-error>\n }\n</mat-form-field>\n", styles: [":host{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatOptionModule }, { kind: "pipe", type: NaturalCapitalizePipe, name: "capitalize" }] }); }
32
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: NaturalSelectEnumComponent, isStandalone: true, selector: "natural-select-enum", inputs: { enumName: "enumName", nullLabel: "nullLabel", optionDisabled: "optionDisabled", multiple: "multiple" }, usesInheritance: true, ngImport: i0, template: "<mat-form-field>\n <mat-label>{{ placeholder }}</mat-label>\n <mat-select\n (selectionChange)=\"propagateValue($event.value)\"\n [formControl]=\"internalCtrl\"\n (blur)=\"onBlur()\"\n [errorStateMatcher]=\"matcher\"\n [multiple]=\"multiple\"\n >\n @if (nullLabel) {\n <mat-option [value]=\"null\">{{ nullLabel }}</mat-option>\n }\n @for (item of items | async; track item) {\n <mat-option [value]=\"item.value\" [disabled]=\"optionDisabled ? optionDisabled(item) : false\">\n {{ item.name }}\n </mat-option>\n }\n </mat-select>\n\n @if (hint) {\n <mat-hint>{{ hint }}</mat-hint>\n }\n\n @if (hasRequiredError()) {\n <mat-error i18n>Ce champ est requis</mat-error>\n }\n</mat-form-field>\n", styles: [":host{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatOptionModule }] }); }
34
33
  }
35
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NaturalSelectEnumComponent, decorators: [{
36
35
  type: Component,
37
- args: [{ selector: 'natural-select-enum', standalone: true, imports: [
38
- MatFormFieldModule,
39
- MatSelectModule,
40
- FormsModule,
41
- ReactiveFormsModule,
42
- CommonModule,
43
- MatOptionModule,
44
- NaturalCapitalizePipe,
45
- ], template: "<mat-form-field>\n <mat-label>{{ placeholder }}</mat-label>\n <mat-select\n (selectionChange)=\"propagateValue($event.value)\"\n [formControl]=\"internalCtrl\"\n (blur)=\"onBlur()\"\n [errorStateMatcher]=\"matcher\"\n [multiple]=\"multiple\"\n >\n @if (nullLabel) {\n <mat-option [value]=\"null\">{{ nullLabel }}</mat-option>\n }\n @for (item of items | async; track item) {\n <mat-option [value]=\"item.value\" [disabled]=\"optionDisabled ? optionDisabled(item) : false\">\n {{ item.name | capitalize }}\n </mat-option>\n }\n </mat-select>\n\n @if (hint) {\n <mat-hint>{{ hint }}</mat-hint>\n }\n\n @if (hasRequiredError()) {\n <mat-error i18n>Ce champ est requis</mat-error>\n }\n</mat-form-field>\n", styles: [":host{display:flex;flex-direction:column}\n"] }]
36
+ args: [{ selector: 'natural-select-enum', standalone: true, imports: [MatFormFieldModule, MatSelectModule, FormsModule, ReactiveFormsModule, CommonModule, MatOptionModule], template: "<mat-form-field>\n <mat-label>{{ placeholder }}</mat-label>\n <mat-select\n (selectionChange)=\"propagateValue($event.value)\"\n [formControl]=\"internalCtrl\"\n (blur)=\"onBlur()\"\n [errorStateMatcher]=\"matcher\"\n [multiple]=\"multiple\"\n >\n @if (nullLabel) {\n <mat-option [value]=\"null\">{{ nullLabel }}</mat-option>\n }\n @for (item of items | async; track item) {\n <mat-option [value]=\"item.value\" [disabled]=\"optionDisabled ? optionDisabled(item) : false\">\n {{ item.name }}\n </mat-option>\n }\n </mat-select>\n\n @if (hint) {\n <mat-hint>{{ hint }}</mat-hint>\n }\n\n @if (hasRequiredError()) {\n <mat-error i18n>Ce champ est requis</mat-error>\n }\n</mat-form-field>\n", styles: [":host{display:flex;flex-direction:column}\n"] }]
46
37
  }], ctorParameters: () => [{ type: i1.NaturalEnumService }, { type: i2.NgControl, decorators: [{
47
38
  type: Optional
48
39
  }, {
@@ -57,4 +48,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
57
48
  }], multiple: [{
58
49
  type: Input
59
50
  }] } });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVudW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvc2VsZWN0L3NlbGVjdC1lbnVtL3NlbGVjdC1lbnVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3NlbGVjdC9zZWxlY3QtZW51bS9zZWxlY3QtZW51bS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBVSxRQUFRLEVBQUUsSUFBSSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBa0MsV0FBVyxFQUFFLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHakcsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7OztBQW1CaEUsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGNBQW9CO0lBdUJoRSxZQUNxQixXQUErQixFQUM1QixTQUEyQjtRQUUvQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFIQSxnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFScEQ7O1dBRUc7UUFDYSxhQUFRLEdBQUcsS0FBSyxDQUFDO0lBU2pDLENBQUM7SUFFZSxRQUFRO1FBQ3BCLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRU0sWUFBWTtRQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUNuRCxDQUFDOzhHQXJDUSwwQkFBMEI7a0dBQTFCLDBCQUEwQix3TkM1QnZDLG8xQkEyQkEsb0dEUlEsa0JBQWtCLCtkQUNsQixlQUFlLG1yQkFDZixXQUFXLHNJQUNYLG1CQUFtQixpTkFDbkIsWUFBWSxtRkFDWixlQUFlLDBCQUNmLHFCQUFxQjs7MkZBR2hCLDBCQUEwQjtrQkFmdEMsU0FBUzsrQkFDSSxxQkFBcUIsY0FHbkIsSUFBSSxXQUNQO3dCQUNMLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsWUFBWTt3QkFDWixlQUFlO3dCQUNmLHFCQUFxQjtxQkFDeEI7OzBCQTJCSSxRQUFROzswQkFBSSxJQUFJO3lDQXJCVyxRQUFRO3NCQUF2QyxLQUFLO3VCQUFDLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQztnQkFLUCxTQUFTO3NCQUF4QixLQUFLO2dCQUtVLGNBQWM7c0JBQTdCLEtBQUs7Z0JBS1UsUUFBUTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbCwgU2VsZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOZ0NvbnRyb2wsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtJRW51bSwgTmF0dXJhbEVudW1TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9lbnVtLnNlcnZpY2UnO1xuaW1wb3J0IHtBYnN0cmFjdFNlbGVjdH0gZnJvbSAnLi4vYWJzdHJhY3Qtc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQge05hdHVyYWxDYXBpdGFsaXplUGlwZX0gZnJvbSAnLi4vLi4vY29tbW9uL3BpcGVzL2NhcGl0YWxpemUucGlwZSc7XG5pbXBvcnQge01hdE9wdGlvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TWF0U2VsZWN0TW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHtNYXRGb3JtRmllbGRNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuXG50eXBlIFYgPSBJRW51bVsndmFsdWUnXSB8IElFbnVtWyd2YWx1ZSddW107XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmF0dXJhbC1zZWxlY3QtZW51bScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdC1lbnVtLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vc2VsZWN0LWVudW0uY29tcG9uZW50LnNjc3MnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgTWF0T3B0aW9uTW9kdWxlLFxuICAgICAgICBOYXR1cmFsQ2FwaXRhbGl6ZVBpcGUsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgTmF0dXJhbFNlbGVjdEVudW1Db21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFNlbGVjdDxWLCBWPiBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBlbnVtIHR5cGUsIGVnOiBgXCJBY3Rpb25TdGF0dXNcImBcbiAgICAgKi9cbiAgICBASW5wdXQoe3JlcXVpcmVkOiB0cnVlfSkgcHVibGljIGVudW1OYW1lITogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogSWYgZ2l2ZW4gYW4gZXh0cmEgb3B0aW9uIGlzIGFkZGVkIHRvIHNlbGVjdCBgbnVsbGAgd2l0aCBnaXZlbiBsYWJlbFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBudWxsTGFiZWw/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBGdW5jdGlvbnMgdGhhdCByZWNlaXZlcyBhbiBlbnVtIHZhbHVlIGFuZCByZXR1cm5zIHdoZXRoZXIgdGhhdCB2YWx1ZSBpcyBkaXNhYmxlZFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBvcHRpb25EaXNhYmxlZD86IChpdGVtOiBJRW51bSkgPT4gYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIHVzZXIgc2hvdWxkIGJlIGFsbG93ZWQgdG8gc2VsZWN0IG11bHRpcGxlIG9wdGlvbnNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgbXVsdGlwbGUgPSBmYWxzZTtcblxuICAgIHB1YmxpYyBpdGVtcz86IE9ic2VydmFibGU8SUVudW1bXT47XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZW51bVNlcnZpY2U6IE5hdHVyYWxFbnVtU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNlbGYoKSBuZ0NvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKG5nQ29udHJvbCk7XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLml0ZW1zID0gdGhpcy5lbnVtU2VydmljZS5nZXQodGhpcy5lbnVtTmFtZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldERpc3BsYXlGbigpOiAoaXRlbTogViB8IG51bGwpID0+IHN0cmluZyB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVGhpcyBzaG91bGQgbmV2ZXIgYmUgY2FsbGVkJyk7XG4gICAgfVxufVxuIiwiPG1hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtbGFiZWw+e3sgcGxhY2Vob2xkZXIgfX08L21hdC1sYWJlbD5cbiAgICA8bWF0LXNlbGVjdFxuICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cInByb3BhZ2F0ZVZhbHVlKCRldmVudC52YWx1ZSlcIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiaW50ZXJuYWxDdHJsXCJcbiAgICAgICAgKGJsdXIpPVwib25CbHVyKClcIlxuICAgICAgICBbZXJyb3JTdGF0ZU1hdGNoZXJdPVwibWF0Y2hlclwiXG4gICAgICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gICAgPlxuICAgICAgICBAaWYgKG51bGxMYWJlbCkge1xuICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIm51bGxcIj57eyBudWxsTGFiZWwgfX08L21hdC1vcHRpb24+XG4gICAgICAgIH1cbiAgICAgICAgQGZvciAoaXRlbSBvZiBpdGVtcyB8IGFzeW5jOyB0cmFjayBpdGVtKSB7XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiaXRlbS52YWx1ZVwiIFtkaXNhYmxlZF09XCJvcHRpb25EaXNhYmxlZCA/IG9wdGlvbkRpc2FibGVkKGl0ZW0pIDogZmFsc2VcIj5cbiAgICAgICAgICAgICAgICB7eyBpdGVtLm5hbWUgfCBjYXBpdGFsaXplIH19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIH1cbiAgICA8L21hdC1zZWxlY3Q+XG5cbiAgICBAaWYgKGhpbnQpIHtcbiAgICAgICAgPG1hdC1oaW50Pnt7IGhpbnQgfX08L21hdC1oaW50PlxuICAgIH1cblxuICAgIEBpZiAoaGFzUmVxdWlyZWRFcnJvcigpKSB7XG4gICAgICAgIDxtYXQtZXJyb3IgaTE4bj5DZSBjaGFtcCBlc3QgcmVxdWlzPC9tYXQtZXJyb3I+XG4gICAgfVxuPC9tYXQtZm9ybS1maWVsZD5cbiJdfQ==
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVudW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvc2VsZWN0L3NlbGVjdC1lbnVtL3NlbGVjdC1lbnVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3NlbGVjdC9zZWxlY3QtZW51bS9zZWxlY3QtZW51bS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBVSxRQUFRLEVBQUUsSUFBSSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBdUIsV0FBVyxFQUFhLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFHakcsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7OztBQVdoRSxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsY0FBb0I7SUF1QmhFLFlBQ3FCLFdBQStCLEVBQzVCLFNBQTJCO1FBRS9DLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUhBLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtRQVJwRDs7V0FFRztRQUNhLGFBQVEsR0FBRyxLQUFLLENBQUM7SUFTakMsQ0FBQztJQUVlLFFBQVE7UUFDcEIsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFTSxZQUFZO1FBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0lBQ25ELENBQUM7OEdBckNRLDBCQUEwQjtrR0FBMUIsMEJBQTBCLHdOQ25CdkMsdTBCQTJCQSxvR0RWYyxrQkFBa0IsK2RBQUUsZUFBZSxtckJBQUUsV0FBVyxzSUFBRSxtQkFBbUIsaU5BQUUsWUFBWSxtRkFBRSxlQUFlOzsyRkFFckcsMEJBQTBCO2tCQVB0QyxTQUFTOytCQUNJLHFCQUFxQixjQUduQixJQUFJLFdBQ1AsQ0FBQyxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLFlBQVksRUFBRSxlQUFlLENBQUM7OzBCQTJCMUcsUUFBUTs7MEJBQUksSUFBSTt5Q0FyQlcsUUFBUTtzQkFBdkMsS0FBSzt1QkFBQyxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUM7Z0JBS1AsU0FBUztzQkFBeEIsS0FBSztnQkFLVSxjQUFjO3NCQUE3QixLQUFLO2dCQUtVLFFBQVE7c0JBQXZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgT3B0aW9uYWwsIFNlbGZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybXNNb2R1bGUsIE5nQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7SUVudW0sIE5hdHVyYWxFbnVtU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvZW51bS5zZXJ2aWNlJztcbmltcG9ydCB7QWJzdHJhY3RTZWxlY3R9IGZyb20gJy4uL2Fic3RyYWN0LXNlbGVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHtNYXRPcHRpb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge01hdFNlbGVjdE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7TWF0Rm9ybUZpZWxkTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcblxudHlwZSBWID0gSUVudW1bJ3ZhbHVlJ10gfCBJRW51bVsndmFsdWUnXVtdO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25hdHVyYWwtc2VsZWN0LWVudW0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtZW51bS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3NlbGVjdC1lbnVtLmNvbXBvbmVudC5zY3NzJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtNYXRGb3JtRmllbGRNb2R1bGUsIE1hdFNlbGVjdE1vZHVsZSwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIENvbW1vbk1vZHVsZSwgTWF0T3B0aW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgTmF0dXJhbFNlbGVjdEVudW1Db21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdFNlbGVjdDxWLCBWPiBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBlbnVtIHR5cGUsIGVnOiBgXCJBY3Rpb25TdGF0dXNcImBcbiAgICAgKi9cbiAgICBASW5wdXQoe3JlcXVpcmVkOiB0cnVlfSkgcHVibGljIGVudW1OYW1lITogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogSWYgZ2l2ZW4gYW4gZXh0cmEgb3B0aW9uIGlzIGFkZGVkIHRvIHNlbGVjdCBgbnVsbGAgd2l0aCBnaXZlbiBsYWJlbFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBudWxsTGFiZWw/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBGdW5jdGlvbnMgdGhhdCByZWNlaXZlcyBhbiBlbnVtIHZhbHVlIGFuZCByZXR1cm5zIHdoZXRoZXIgdGhhdCB2YWx1ZSBpcyBkaXNhYmxlZFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBvcHRpb25EaXNhYmxlZD86IChpdGVtOiBJRW51bSkgPT4gYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIHVzZXIgc2hvdWxkIGJlIGFsbG93ZWQgdG8gc2VsZWN0IG11bHRpcGxlIG9wdGlvbnNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgbXVsdGlwbGUgPSBmYWxzZTtcblxuICAgIHB1YmxpYyBpdGVtcz86IE9ic2VydmFibGU8SUVudW1bXT47XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZW51bVNlcnZpY2U6IE5hdHVyYWxFbnVtU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgQFNlbGYoKSBuZ0NvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKG5nQ29udHJvbCk7XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLml0ZW1zID0gdGhpcy5lbnVtU2VydmljZS5nZXQodGhpcy5lbnVtTmFtZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldERpc3BsYXlGbigpOiAoaXRlbTogViB8IG51bGwpID0+IHN0cmluZyB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVGhpcyBzaG91bGQgbmV2ZXIgYmUgY2FsbGVkJyk7XG4gICAgfVxufVxuIiwiPG1hdC1mb3JtLWZpZWxkPlxuICAgIDxtYXQtbGFiZWw+e3sgcGxhY2Vob2xkZXIgfX08L21hdC1sYWJlbD5cbiAgICA8bWF0LXNlbGVjdFxuICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cInByb3BhZ2F0ZVZhbHVlKCRldmVudC52YWx1ZSlcIlxuICAgICAgICBbZm9ybUNvbnRyb2xdPVwiaW50ZXJuYWxDdHJsXCJcbiAgICAgICAgKGJsdXIpPVwib25CbHVyKClcIlxuICAgICAgICBbZXJyb3JTdGF0ZU1hdGNoZXJdPVwibWF0Y2hlclwiXG4gICAgICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gICAgPlxuICAgICAgICBAaWYgKG51bGxMYWJlbCkge1xuICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIm51bGxcIj57eyBudWxsTGFiZWwgfX08L21hdC1vcHRpb24+XG4gICAgICAgIH1cbiAgICAgICAgQGZvciAoaXRlbSBvZiBpdGVtcyB8IGFzeW5jOyB0cmFjayBpdGVtKSB7XG4gICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiaXRlbS52YWx1ZVwiIFtkaXNhYmxlZF09XCJvcHRpb25EaXNhYmxlZCA/IG9wdGlvbkRpc2FibGVkKGl0ZW0pIDogZmFsc2VcIj5cbiAgICAgICAgICAgICAgICB7eyBpdGVtLm5hbWUgfX1cbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgfVxuICAgIDwvbWF0LXNlbGVjdD5cblxuICAgIEBpZiAoaGludCkge1xuICAgICAgICA8bWF0LWhpbnQ+e3sgaGludCB9fTwvbWF0LWhpbnQ+XG4gICAgfVxuXG4gICAgQGlmIChoYXNSZXF1aXJlZEVycm9yKCkpIHtcbiAgICAgICAgPG1hdC1lcnJvciBpMThuPkNlIGNoYW1wIGVzdCByZXF1aXM8L21hdC1lcnJvcj5cbiAgICB9XG48L21hdC1mb3JtLWZpZWxkPlxuIl19
@@ -1,6 +1,6 @@
1
1
  import { Component, Input } from '@angular/core';
2
2
  import { NaturalTimeAgoPipe } from '../common/pipes/time-ago.pipe';
3
- import { NaturalSwissDatePipe } from '../common/pipes/swiss-date.pipe';
3
+ import { DatePipe } from '@angular/common';
4
4
  import * as i0 from "@angular/core";
5
5
  export class NaturalStampComponent {
6
6
  showUpdate() {
@@ -10,13 +10,13 @@ export class NaturalStampComponent {
10
10
  return !same && (!!this.item.updateDate || !!this.item.updater);
11
11
  }
12
12
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NaturalStampComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: NaturalStampComponent, isStandalone: true, selector: "natural-stamp", inputs: { item: "item" }, ngImport: i0, template: "@if (item) {\n @if (item.creationDate || item.creator) {\n <div>\n <span class=\"mat-subtitle-2\" i18n>Cr\u00E9ation</span>\n :\n @if (item.creator) {\n <span>{{ item.creator.fullName || item.creator.name }}</span>\n }\n @if (item.creator && item.creationDate) {\n <span>,&nbsp;</span>\n }\n @if (item.creationDate) {\n <span>{{ item.creationDate | swissDate }} ({{ item.creationDate | timeAgo }})</span>\n }\n </div>\n }\n @if (showUpdate()) {\n <div>\n <span class=\"mat-subtitle-2\" i18n>Modification</span>\n :\n @if (item.updater) {\n <span>{{ item.updater.fullName || item.updater.name }}</span>\n }\n @if (item.updater && item.updateDate) {\n <span>,&nbsp;</span>\n }\n @if (item.updateDate) {\n <span>{{ item.updateDate | swissDate }} ({{ item.updateDate | timeAgo }})</span>\n }\n </div>\n }\n}\n", dependencies: [{ kind: "pipe", type: NaturalSwissDatePipe, name: "swissDate" }, { kind: "pipe", type: NaturalTimeAgoPipe, name: "timeAgo" }] }); }
13
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: NaturalStampComponent, isStandalone: true, selector: "natural-stamp", inputs: { item: "item" }, ngImport: i0, template: "@if (item) {\n @if (item.creationDate || item.creator) {\n <div>\n <span class=\"mat-subtitle-2\" i18n>Cr\u00E9ation</span>\n :\n @if (item.creator) {\n <span>{{ item.creator.fullName || item.creator.name }}</span>\n }\n @if (item.creator && item.creationDate) {\n <span>,&nbsp;</span>\n }\n @if (item.creationDate) {\n <span>{{ item.creationDate | date }} ({{ item.creationDate | timeAgo }})</span>\n }\n </div>\n }\n @if (showUpdate()) {\n <div>\n <span class=\"mat-subtitle-2\" i18n>Modification</span>\n :\n @if (item.updater) {\n <span>{{ item.updater.fullName || item.updater.name }}</span>\n }\n @if (item.updater && item.updateDate) {\n <span>,&nbsp;</span>\n }\n @if (item.updateDate) {\n <span>{{ item.updateDate | date }} ({{ item.updateDate | timeAgo }})</span>\n }\n </div>\n }\n}\n", dependencies: [{ kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: NaturalTimeAgoPipe, name: "timeAgo" }] }); }
14
14
  }
15
15
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NaturalStampComponent, decorators: [{
16
16
  type: Component,
17
- args: [{ selector: 'natural-stamp', standalone: true, imports: [NaturalSwissDatePipe, NaturalTimeAgoPipe], template: "@if (item) {\n @if (item.creationDate || item.creator) {\n <div>\n <span class=\"mat-subtitle-2\" i18n>Cr\u00E9ation</span>\n :\n @if (item.creator) {\n <span>{{ item.creator.fullName || item.creator.name }}</span>\n }\n @if (item.creator && item.creationDate) {\n <span>,&nbsp;</span>\n }\n @if (item.creationDate) {\n <span>{{ item.creationDate | swissDate }} ({{ item.creationDate | timeAgo }})</span>\n }\n </div>\n }\n @if (showUpdate()) {\n <div>\n <span class=\"mat-subtitle-2\" i18n>Modification</span>\n :\n @if (item.updater) {\n <span>{{ item.updater.fullName || item.updater.name }}</span>\n }\n @if (item.updater && item.updateDate) {\n <span>,&nbsp;</span>\n }\n @if (item.updateDate) {\n <span>{{ item.updateDate | swissDate }} ({{ item.updateDate | timeAgo }})</span>\n }\n </div>\n }\n}\n" }]
17
+ args: [{ selector: 'natural-stamp', standalone: true, imports: [DatePipe, NaturalTimeAgoPipe], template: "@if (item) {\n @if (item.creationDate || item.creator) {\n <div>\n <span class=\"mat-subtitle-2\" i18n>Cr\u00E9ation</span>\n :\n @if (item.creator) {\n <span>{{ item.creator.fullName || item.creator.name }}</span>\n }\n @if (item.creator && item.creationDate) {\n <span>,&nbsp;</span>\n }\n @if (item.creationDate) {\n <span>{{ item.creationDate | date }} ({{ item.creationDate | timeAgo }})</span>\n }\n </div>\n }\n @if (showUpdate()) {\n <div>\n <span class=\"mat-subtitle-2\" i18n>Modification</span>\n :\n @if (item.updater) {\n <span>{{ item.updater.fullName || item.updater.name }}</span>\n }\n @if (item.updater && item.updateDate) {\n <span>,&nbsp;</span>\n }\n @if (item.updateDate) {\n <span>{{ item.updateDate | date }} ({{ item.updateDate | timeAgo }})</span>\n }\n </div>\n }\n}\n" }]
18
18
  }], propDecorators: { item: [{
19
19
  type: Input,
20
20
  args: [{ required: true }]
21
21
  }] } });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvc3RhbXAvc3RhbXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvc3RhbXAvc3RhbXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFL0MsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0saUNBQWlDLENBQUM7O0FBZXJFLE1BQU0sT0FBTyxxQkFBcUI7SUFHdkIsVUFBVTtRQUNiLE1BQU0sSUFBSSxHQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQy9DLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVTtZQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUVwRCxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BFLENBQUM7OEdBVlEscUJBQXFCO2tHQUFyQixxQkFBcUIsbUdDbEJsQyx5bENBZ0NBLHVDRGhCYyxvQkFBb0IsNkNBQUUsa0JBQWtCOzsyRkFFekMscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNJLGVBQWUsY0FFYixJQUFJLFdBQ1AsQ0FBQyxvQkFBb0IsRUFBRSxrQkFBa0IsQ0FBQzs4QkFHbkIsSUFBSTtzQkFBbkMsS0FBSzt1QkFBQyxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOYW1lT3JGdWxsTmFtZX0gZnJvbSAnLi4vLi4vdHlwZXMvdHlwZXMnO1xuaW1wb3J0IHtOYXR1cmFsVGltZUFnb1BpcGV9IGZyb20gJy4uL2NvbW1vbi9waXBlcy90aW1lLWFnby5waXBlJztcbmltcG9ydCB7TmF0dXJhbFN3aXNzRGF0ZVBpcGV9IGZyb20gJy4uL2NvbW1vbi9waXBlcy9zd2lzcy1kYXRlLnBpcGUnO1xuXG50eXBlIFN0YW1wZWQgPSB7XG4gICAgY3JlYXRvcjogTmFtZU9yRnVsbE5hbWUgfCBudWxsO1xuICAgIHVwZGF0ZXI6IE5hbWVPckZ1bGxOYW1lIHwgbnVsbDtcbiAgICBjcmVhdGlvbkRhdGU6IHN0cmluZyB8IG51bGw7XG4gICAgdXBkYXRlRGF0ZTogc3RyaW5nIHwgbnVsbDtcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmF0dXJhbC1zdGFtcCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3N0YW1wLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOYXR1cmFsU3dpc3NEYXRlUGlwZSwgTmF0dXJhbFRpbWVBZ29QaXBlXSxcbn0pXG5leHBvcnQgY2xhc3MgTmF0dXJhbFN0YW1wQ29tcG9uZW50IHtcbiAgICBASW5wdXQoe3JlcXVpcmVkOiB0cnVlfSkgcHVibGljIGl0ZW0hOiBTdGFtcGVkO1xuXG4gICAgcHVibGljIHNob3dVcGRhdGUoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHNhbWUgPVxuICAgICAgICAgICAgdGhpcy5pdGVtLnVwZGF0ZXI/LmlkID09PSB0aGlzLml0ZW0uY3JlYXRvcj8uaWQgJiZcbiAgICAgICAgICAgIHRoaXMuaXRlbS51cGRhdGVEYXRlICYmXG4gICAgICAgICAgICB0aGlzLml0ZW0udXBkYXRlRGF0ZSA9PT0gdGhpcy5pdGVtLmNyZWF0aW9uRGF0ZTtcblxuICAgICAgICByZXR1cm4gIXNhbWUgJiYgKCEhdGhpcy5pdGVtLnVwZGF0ZURhdGUgfHwgISF0aGlzLml0ZW0udXBkYXRlcik7XG4gICAgfVxufVxuIiwiQGlmIChpdGVtKSB7XG4gICAgQGlmIChpdGVtLmNyZWF0aW9uRGF0ZSB8fCBpdGVtLmNyZWF0b3IpIHtcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0LXN1YnRpdGxlLTJcIiBpMThuPkNyw6lhdGlvbjwvc3Bhbj5cbiAgICAgICAgICAgIDpcbiAgICAgICAgICAgIEBpZiAoaXRlbS5jcmVhdG9yKSB7XG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgaXRlbS5jcmVhdG9yLmZ1bGxOYW1lIHx8IGl0ZW0uY3JlYXRvci5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChpdGVtLmNyZWF0b3IgJiYgaXRlbS5jcmVhdGlvbkRhdGUpIHtcbiAgICAgICAgICAgICAgICA8c3Bhbj4sJm5ic3A7PC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChpdGVtLmNyZWF0aW9uRGF0ZSkge1xuICAgICAgICAgICAgICAgIDxzcGFuPnt7IGl0ZW0uY3JlYXRpb25EYXRlIHwgc3dpc3NEYXRlIH19ICh7eyBpdGVtLmNyZWF0aW9uRGF0ZSB8IHRpbWVBZ28gfX0pPC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICB9XG4gICAgQGlmIChzaG93VXBkYXRlKCkpIHtcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0LXN1YnRpdGxlLTJcIiBpMThuPk1vZGlmaWNhdGlvbjwvc3Bhbj5cbiAgICAgICAgICAgIDpcbiAgICAgICAgICAgIEBpZiAoaXRlbS51cGRhdGVyKSB7XG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgaXRlbS51cGRhdGVyLmZ1bGxOYW1lIHx8IGl0ZW0udXBkYXRlci5uYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChpdGVtLnVwZGF0ZXIgJiYgaXRlbS51cGRhdGVEYXRlKSB7XG4gICAgICAgICAgICAgICAgPHNwYW4+LCZuYnNwOzwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoaXRlbS51cGRhdGVEYXRlKSB7XG4gICAgICAgICAgICAgICAgPHNwYW4+e3sgaXRlbS51cGRhdGVEYXRlIHwgc3dpc3NEYXRlIH19ICh7eyBpdGVtLnVwZGF0ZURhdGUgfCB0aW1lQWdvIH19KTwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgfVxufVxuIl19
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvc3RhbXAvc3RhbXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvc3RhbXAvc3RhbXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFL0MsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDOztBQWV6QyxNQUFNLE9BQU8scUJBQXFCO0lBR3ZCLFVBQVU7UUFDYixNQUFNLElBQUksR0FDTixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVU7WUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7UUFFcEQsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwRSxDQUFDOzhHQVZRLHFCQUFxQjtrR0FBckIscUJBQXFCLG1HQ2xCbEMsK2tDQWdDQSx1Q0RoQmMsUUFBUSx3Q0FBRSxrQkFBa0I7OzJGQUU3QixxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0ksZUFBZSxjQUViLElBQUksV0FDUCxDQUFDLFFBQVEsRUFBRSxrQkFBa0IsQ0FBQzs4QkFHUCxJQUFJO3NCQUFuQyxLQUFLO3VCQUFDLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05hbWVPckZ1bGxOYW1lfSBmcm9tICcuLi8uLi90eXBlcy90eXBlcyc7XG5pbXBvcnQge05hdHVyYWxUaW1lQWdvUGlwZX0gZnJvbSAnLi4vY29tbW9uL3BpcGVzL3RpbWUtYWdvLnBpcGUnO1xuaW1wb3J0IHtEYXRlUGlwZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxudHlwZSBTdGFtcGVkID0ge1xuICAgIGNyZWF0b3I6IE5hbWVPckZ1bGxOYW1lIHwgbnVsbDtcbiAgICB1cGRhdGVyOiBOYW1lT3JGdWxsTmFtZSB8IG51bGw7XG4gICAgY3JlYXRpb25EYXRlOiBzdHJpbmcgfCBudWxsO1xuICAgIHVwZGF0ZURhdGU6IHN0cmluZyB8IG51bGw7XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25hdHVyYWwtc3RhbXAnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zdGFtcC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbRGF0ZVBpcGUsIE5hdHVyYWxUaW1lQWdvUGlwZV0sXG59KVxuZXhwb3J0IGNsYXNzIE5hdHVyYWxTdGFtcENvbXBvbmVudCB7XG4gICAgQElucHV0KHtyZXF1aXJlZDogdHJ1ZX0pIHB1YmxpYyBpdGVtITogU3RhbXBlZDtcblxuICAgIHB1YmxpYyBzaG93VXBkYXRlKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBzYW1lID1cbiAgICAgICAgICAgIHRoaXMuaXRlbS51cGRhdGVyPy5pZCA9PT0gdGhpcy5pdGVtLmNyZWF0b3I/LmlkICYmXG4gICAgICAgICAgICB0aGlzLml0ZW0udXBkYXRlRGF0ZSAmJlxuICAgICAgICAgICAgdGhpcy5pdGVtLnVwZGF0ZURhdGUgPT09IHRoaXMuaXRlbS5jcmVhdGlvbkRhdGU7XG5cbiAgICAgICAgcmV0dXJuICFzYW1lICYmICghIXRoaXMuaXRlbS51cGRhdGVEYXRlIHx8ICEhdGhpcy5pdGVtLnVwZGF0ZXIpO1xuICAgIH1cbn1cbiIsIkBpZiAoaXRlbSkge1xuICAgIEBpZiAoaXRlbS5jcmVhdGlvbkRhdGUgfHwgaXRlbS5jcmVhdG9yKSB7XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdC1zdWJ0aXRsZS0yXCIgaTE4bj5DcsOpYXRpb248L3NwYW4+XG4gICAgICAgICAgICA6XG4gICAgICAgICAgICBAaWYgKGl0ZW0uY3JlYXRvcikge1xuICAgICAgICAgICAgICAgIDxzcGFuPnt7IGl0ZW0uY3JlYXRvci5mdWxsTmFtZSB8fCBpdGVtLmNyZWF0b3IubmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoaXRlbS5jcmVhdG9yICYmIGl0ZW0uY3JlYXRpb25EYXRlKSB7XG4gICAgICAgICAgICAgICAgPHNwYW4+LCZuYnNwOzwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoaXRlbS5jcmVhdGlvbkRhdGUpIHtcbiAgICAgICAgICAgICAgICA8c3Bhbj57eyBpdGVtLmNyZWF0aW9uRGF0ZSB8IGRhdGUgfX0gKHt7IGl0ZW0uY3JlYXRpb25EYXRlIHwgdGltZUFnbyB9fSk8L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIH1cbiAgICBAaWYgKHNob3dVcGRhdGUoKSkge1xuICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXQtc3VidGl0bGUtMlwiIGkxOG4+TW9kaWZpY2F0aW9uPC9zcGFuPlxuICAgICAgICAgICAgOlxuICAgICAgICAgICAgQGlmIChpdGVtLnVwZGF0ZXIpIHtcbiAgICAgICAgICAgICAgICA8c3Bhbj57eyBpdGVtLnVwZGF0ZXIuZnVsbE5hbWUgfHwgaXRlbS51cGRhdGVyLm5hbWUgfX08L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKGl0ZW0udXBkYXRlciAmJiBpdGVtLnVwZGF0ZURhdGUpIHtcbiAgICAgICAgICAgICAgICA8c3Bhbj4sJm5ic3A7PC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChpdGVtLnVwZGF0ZURhdGUpIHtcbiAgICAgICAgICAgICAgICA8c3Bhbj57eyBpdGVtLnVwZGF0ZURhdGUgfCBkYXRlIH19ICh7eyBpdGVtLnVwZGF0ZURhdGUgfCB0aW1lQWdvIH19KTwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgfVxufVxuIl19
@@ -51,7 +51,7 @@ import * as i2$4 from '@angular/platform-browser';
51
51
  import * as i4$1 from '@angular/material/menu';
52
52
  import { MatMenuModule } from '@angular/material/menu';
53
53
  import * as i2$5 from '@angular/common';
54
- import { CommonModule, DatePipe, DOCUMENT, isPlatformBrowser } from '@angular/common';
54
+ import { CommonModule, DOCUMENT, DatePipe, isPlatformBrowser } from '@angular/common';
55
55
  import * as i1$7 from '@angular/material/tabs';
56
56
  import * as i5 from '@angular/material/list';
57
57
  import { MatSelectionList, MatListModule } from '@angular/material/list';
@@ -5671,24 +5671,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
5671
5671
  }]
5672
5672
  }], ctorParameters: () => [{ type: NaturalEnumService }] });
5673
5673
 
5674
- /**
5675
- * A normal DatePipe but with default formatting to be '12.24.2020 23:30' to match the most common use-cases
5676
- */
5677
- class NaturalSwissDatePipe extends DatePipe {
5678
- transform(value, format = 'dd.MM.y HH:mm', timezone, locale) {
5679
- return super.transform(value, format, timezone, locale);
5680
- }
5681
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NaturalSwissDatePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
5682
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "17.3.5", ngImport: i0, type: NaturalSwissDatePipe, isStandalone: true, name: "swissDate" }); }
5683
- }
5684
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NaturalSwissDatePipe, decorators: [{
5685
- type: Pipe,
5686
- args: [{
5687
- name: 'swissDate',
5688
- standalone: true,
5689
- }]
5690
- }] });
5691
-
5692
5674
  function isDate(value) {
5693
5675
  return value instanceof Date && !isNaN(value.valueOf());
5694
5676
  }
@@ -10087,19 +10069,11 @@ class NaturalSelectEnumComponent extends AbstractSelect {
10087
10069
  throw new Error('This should never be called');
10088
10070
  }
10089
10071
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NaturalSelectEnumComponent, deps: [{ token: NaturalEnumService }, { token: i2$2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
10090
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: NaturalSelectEnumComponent, isStandalone: true, selector: "natural-select-enum", inputs: { enumName: "enumName", nullLabel: "nullLabel", optionDisabled: "optionDisabled", multiple: "multiple" }, usesInheritance: true, ngImport: i0, template: "<mat-form-field>\n <mat-label>{{ placeholder }}</mat-label>\n <mat-select\n (selectionChange)=\"propagateValue($event.value)\"\n [formControl]=\"internalCtrl\"\n (blur)=\"onBlur()\"\n [errorStateMatcher]=\"matcher\"\n [multiple]=\"multiple\"\n >\n @if (nullLabel) {\n <mat-option [value]=\"null\">{{ nullLabel }}</mat-option>\n }\n @for (item of items | async; track item) {\n <mat-option [value]=\"item.value\" [disabled]=\"optionDisabled ? optionDisabled(item) : false\">\n {{ item.name | capitalize }}\n </mat-option>\n }\n </mat-select>\n\n @if (hint) {\n <mat-hint>{{ hint }}</mat-hint>\n }\n\n @if (hasRequiredError()) {\n <mat-error i18n>Ce champ est requis</mat-error>\n }\n</mat-form-field>\n", styles: [":host{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i3$2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i1$3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i2$5.AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatOptionModule }, { kind: "pipe", type: NaturalCapitalizePipe, name: "capitalize" }] }); }
10072
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: NaturalSelectEnumComponent, isStandalone: true, selector: "natural-select-enum", inputs: { enumName: "enumName", nullLabel: "nullLabel", optionDisabled: "optionDisabled", multiple: "multiple" }, usesInheritance: true, ngImport: i0, template: "<mat-form-field>\n <mat-label>{{ placeholder }}</mat-label>\n <mat-select\n (selectionChange)=\"propagateValue($event.value)\"\n [formControl]=\"internalCtrl\"\n (blur)=\"onBlur()\"\n [errorStateMatcher]=\"matcher\"\n [multiple]=\"multiple\"\n >\n @if (nullLabel) {\n <mat-option [value]=\"null\">{{ nullLabel }}</mat-option>\n }\n @for (item of items | async; track item) {\n <mat-option [value]=\"item.value\" [disabled]=\"optionDisabled ? optionDisabled(item) : false\">\n {{ item.name }}\n </mat-option>\n }\n </mat-select>\n\n @if (hint) {\n <mat-hint>{{ hint }}</mat-hint>\n }\n\n @if (hasRequiredError()) {\n <mat-error i18n>Ce champ est requis</mat-error>\n }\n</mat-form-field>\n", styles: [":host{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$1.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i3$2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i1$3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i2$5.AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatOptionModule }] }); }
10091
10073
  }
10092
10074
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NaturalSelectEnumComponent, decorators: [{
10093
10075
  type: Component,
10094
- args: [{ selector: 'natural-select-enum', standalone: true, imports: [
10095
- MatFormFieldModule,
10096
- MatSelectModule,
10097
- FormsModule,
10098
- ReactiveFormsModule,
10099
- CommonModule,
10100
- MatOptionModule,
10101
- NaturalCapitalizePipe,
10102
- ], template: "<mat-form-field>\n <mat-label>{{ placeholder }}</mat-label>\n <mat-select\n (selectionChange)=\"propagateValue($event.value)\"\n [formControl]=\"internalCtrl\"\n (blur)=\"onBlur()\"\n [errorStateMatcher]=\"matcher\"\n [multiple]=\"multiple\"\n >\n @if (nullLabel) {\n <mat-option [value]=\"null\">{{ nullLabel }}</mat-option>\n }\n @for (item of items | async; track item) {\n <mat-option [value]=\"item.value\" [disabled]=\"optionDisabled ? optionDisabled(item) : false\">\n {{ item.name | capitalize }}\n </mat-option>\n }\n </mat-select>\n\n @if (hint) {\n <mat-hint>{{ hint }}</mat-hint>\n }\n\n @if (hasRequiredError()) {\n <mat-error i18n>Ce champ est requis</mat-error>\n }\n</mat-form-field>\n", styles: [":host{display:flex;flex-direction:column}\n"] }]
10076
+ args: [{ selector: 'natural-select-enum', standalone: true, imports: [MatFormFieldModule, MatSelectModule, FormsModule, ReactiveFormsModule, CommonModule, MatOptionModule], template: "<mat-form-field>\n <mat-label>{{ placeholder }}</mat-label>\n <mat-select\n (selectionChange)=\"propagateValue($event.value)\"\n [formControl]=\"internalCtrl\"\n (blur)=\"onBlur()\"\n [errorStateMatcher]=\"matcher\"\n [multiple]=\"multiple\"\n >\n @if (nullLabel) {\n <mat-option [value]=\"null\">{{ nullLabel }}</mat-option>\n }\n @for (item of items | async; track item) {\n <mat-option [value]=\"item.value\" [disabled]=\"optionDisabled ? optionDisabled(item) : false\">\n {{ item.name }}\n </mat-option>\n }\n </mat-select>\n\n @if (hint) {\n <mat-hint>{{ hint }}</mat-hint>\n }\n\n @if (hasRequiredError()) {\n <mat-error i18n>Ce champ est requis</mat-error>\n }\n</mat-form-field>\n", styles: [":host{display:flex;flex-direction:column}\n"] }]
10103
10077
  }], ctorParameters: () => [{ type: NaturalEnumService }, { type: i2$2.NgControl, decorators: [{
10104
10078
  type: Optional
10105
10079
  }, {
@@ -10599,11 +10573,11 @@ class NaturalStampComponent {
10599
10573
  return !same && (!!this.item.updateDate || !!this.item.updater);
10600
10574
  }
10601
10575
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NaturalStampComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10602
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: NaturalStampComponent, isStandalone: true, selector: "natural-stamp", inputs: { item: "item" }, ngImport: i0, template: "@if (item) {\n @if (item.creationDate || item.creator) {\n <div>\n <span class=\"mat-subtitle-2\" i18n>Cr\u00E9ation</span>\n :\n @if (item.creator) {\n <span>{{ item.creator.fullName || item.creator.name }}</span>\n }\n @if (item.creator && item.creationDate) {\n <span>,&nbsp;</span>\n }\n @if (item.creationDate) {\n <span>{{ item.creationDate | swissDate }} ({{ item.creationDate | timeAgo }})</span>\n }\n </div>\n }\n @if (showUpdate()) {\n <div>\n <span class=\"mat-subtitle-2\" i18n>Modification</span>\n :\n @if (item.updater) {\n <span>{{ item.updater.fullName || item.updater.name }}</span>\n }\n @if (item.updater && item.updateDate) {\n <span>,&nbsp;</span>\n }\n @if (item.updateDate) {\n <span>{{ item.updateDate | swissDate }} ({{ item.updateDate | timeAgo }})</span>\n }\n </div>\n }\n}\n", dependencies: [{ kind: "pipe", type: NaturalSwissDatePipe, name: "swissDate" }, { kind: "pipe", type: NaturalTimeAgoPipe, name: "timeAgo" }] }); }
10576
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.5", type: NaturalStampComponent, isStandalone: true, selector: "natural-stamp", inputs: { item: "item" }, ngImport: i0, template: "@if (item) {\n @if (item.creationDate || item.creator) {\n <div>\n <span class=\"mat-subtitle-2\" i18n>Cr\u00E9ation</span>\n :\n @if (item.creator) {\n <span>{{ item.creator.fullName || item.creator.name }}</span>\n }\n @if (item.creator && item.creationDate) {\n <span>,&nbsp;</span>\n }\n @if (item.creationDate) {\n <span>{{ item.creationDate | date }} ({{ item.creationDate | timeAgo }})</span>\n }\n </div>\n }\n @if (showUpdate()) {\n <div>\n <span class=\"mat-subtitle-2\" i18n>Modification</span>\n :\n @if (item.updater) {\n <span>{{ item.updater.fullName || item.updater.name }}</span>\n }\n @if (item.updater && item.updateDate) {\n <span>,&nbsp;</span>\n }\n @if (item.updateDate) {\n <span>{{ item.updateDate | date }} ({{ item.updateDate | timeAgo }})</span>\n }\n </div>\n }\n}\n", dependencies: [{ kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: NaturalTimeAgoPipe, name: "timeAgo" }] }); }
10603
10577
  }
10604
10578
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: NaturalStampComponent, decorators: [{
10605
10579
  type: Component,
10606
- args: [{ selector: 'natural-stamp', standalone: true, imports: [NaturalSwissDatePipe, NaturalTimeAgoPipe], template: "@if (item) {\n @if (item.creationDate || item.creator) {\n <div>\n <span class=\"mat-subtitle-2\" i18n>Cr\u00E9ation</span>\n :\n @if (item.creator) {\n <span>{{ item.creator.fullName || item.creator.name }}</span>\n }\n @if (item.creator && item.creationDate) {\n <span>,&nbsp;</span>\n }\n @if (item.creationDate) {\n <span>{{ item.creationDate | swissDate }} ({{ item.creationDate | timeAgo }})</span>\n }\n </div>\n }\n @if (showUpdate()) {\n <div>\n <span class=\"mat-subtitle-2\" i18n>Modification</span>\n :\n @if (item.updater) {\n <span>{{ item.updater.fullName || item.updater.name }}</span>\n }\n @if (item.updater && item.updateDate) {\n <span>,&nbsp;</span>\n }\n @if (item.updateDate) {\n <span>{{ item.updateDate | swissDate }} ({{ item.updateDate | timeAgo }})</span>\n }\n </div>\n }\n}\n" }]
10580
+ args: [{ selector: 'natural-stamp', standalone: true, imports: [DatePipe, NaturalTimeAgoPipe], template: "@if (item) {\n @if (item.creationDate || item.creator) {\n <div>\n <span class=\"mat-subtitle-2\" i18n>Cr\u00E9ation</span>\n :\n @if (item.creator) {\n <span>{{ item.creator.fullName || item.creator.name }}</span>\n }\n @if (item.creator && item.creationDate) {\n <span>,&nbsp;</span>\n }\n @if (item.creationDate) {\n <span>{{ item.creationDate | date }} ({{ item.creationDate | timeAgo }})</span>\n }\n </div>\n }\n @if (showUpdate()) {\n <div>\n <span class=\"mat-subtitle-2\" i18n>Modification</span>\n :\n @if (item.updater) {\n <span>{{ item.updater.fullName || item.updater.name }}</span>\n }\n @if (item.updater && item.updateDate) {\n <span>,&nbsp;</span>\n }\n @if (item.updateDate) {\n <span>{{ item.updateDate | date }} ({{ item.updateDate | timeAgo }})</span>\n }\n </div>\n }\n}\n" }]
10607
10581
  }], propDecorators: { item: [{
10608
10582
  type: Input,
10609
10583
  args: [{ required: true }]
@@ -11569,5 +11543,5 @@ function graphqlQuerySigner(key) {
11569
11543
  * Generated bundle index. Do not edit.
11570
11544
  */
11571
11545
 
11572
- export { AvatarService, InvalidWithValueStateMatcher$1 as InvalidWithValueStateMatcher, LOCAL_STORAGE, NATURAL_DROPDOWN_DATA, NATURAL_ICONS_CONFIG, NATURAL_PERSISTENCE_VALIDATOR, NATURAL_SEO_CONFIG, NaturalAbstractController, NaturalAbstractDetail, NaturalAbstractEditableList, NaturalAbstractList, NaturalAbstractModelService, NaturalAbstractNavigableList, NaturalAbstractPanel, NaturalAlertService, NaturalAvatarComponent, NaturalCapitalizePipe, NaturalColumnsPickerComponent, NaturalConfirmComponent, NaturalDataSource, NaturalDebounceService, NaturalDetailHeaderComponent, NaturalDialogTriggerComponent, NaturalDropdownRef, NaturalEllipsisPipe, NaturalEnumPipe, NaturalEnumService, NaturalErrorHandler, NaturalFileComponent, NaturalFileDropDirective, NaturalFileSelectDirective, NaturalFileService, NaturalFixedButtonComponent, NaturalFixedButtonDetailComponent, NaturalHierarchicSelectorComponent, NaturalHierarchicSelectorDialogComponent, NaturalHierarchicSelectorDialogService, NaturalHierarchicSelectorService, NaturalHttpPrefixDirective, NaturalIconDirective, NaturalLinkMutationService, NaturalLinkableTabDirective, NaturalLoggerConfigExtra, NaturalLoggerConfigUrl, NaturalMatomoService, NaturalMemoryStorage, NaturalPanelsComponent, NaturalPanelsService, NaturalPersistenceService, NaturalQueryVariablesManager, NaturalRelationsComponent, NaturalSearchComponent, NaturalSelectComponent, NaturalSelectEnumComponent, NaturalSelectHierarchicComponent, NaturalSeoService, NaturalSidenavComponent, NaturalSidenavContainerComponent, NaturalSidenavContentComponent, NaturalSidenavService, NaturalSidenavStackService, NaturalSrcDensityDirective, NaturalStampComponent, NaturalSwissDatePipe, NaturalSwissParsingDateAdapter, NaturalTableButtonComponent, NaturalTimeAgoPipe, PanelsHooksConfig, SESSION_STORAGE, SortingOrder, TypeBooleanComponent, TypeDateComponent, TypeDateRangeComponent, TypeHierarchicSelectorComponent, TypeNaturalSelectComponent, TypeNumberComponent, TypeOptionsComponent, TypeSelectComponent, TypeTextComponent, available, cancellableTimeout, collectErrors, copyToClipboard, createHttpLink, debug, decimal, deepFreeze, deliverableEmail, ensureHttpPrefix, fallbackIfNoOpenedPanels, formatIsoDate, formatIsoDateTime, fromUrl, getForegroundColor, graphqlQuerySigner, ifValid, integer, localStorageFactory, localStorageProvider, makePlural, memoryLocalStorageProvider, memorySessionStorageProvider, mergeOverrideArray, money, naturalPanelsUrlMatcher, naturalProviders, possibleComparableOperators, provideErrorHandler, provideIcons, providePanels, provideSeo, relationsToIds, replaceObjectKeepingReference, replaceOperatorByField, replaceOperatorByName, sessionStorageFactory, sessionStorageProvider, toGraphQLDoctrineFilter, toNavigationParameters, toUrl, unique, upperCaseFirstLetter, urlValidator, validTlds, validateAllFormControls, validateColumns, validatePagination, validateSorting, wrapLike, wrapPrefix, wrapSuffix };
11546
+ export { AvatarService, InvalidWithValueStateMatcher$1 as InvalidWithValueStateMatcher, LOCAL_STORAGE, NATURAL_DROPDOWN_DATA, NATURAL_ICONS_CONFIG, NATURAL_PERSISTENCE_VALIDATOR, NATURAL_SEO_CONFIG, NaturalAbstractController, NaturalAbstractDetail, NaturalAbstractEditableList, NaturalAbstractList, NaturalAbstractModelService, NaturalAbstractNavigableList, NaturalAbstractPanel, NaturalAlertService, NaturalAvatarComponent, NaturalCapitalizePipe, NaturalColumnsPickerComponent, NaturalConfirmComponent, NaturalDataSource, NaturalDebounceService, NaturalDetailHeaderComponent, NaturalDialogTriggerComponent, NaturalDropdownRef, NaturalEllipsisPipe, NaturalEnumPipe, NaturalEnumService, NaturalErrorHandler, NaturalFileComponent, NaturalFileDropDirective, NaturalFileSelectDirective, NaturalFileService, NaturalFixedButtonComponent, NaturalFixedButtonDetailComponent, NaturalHierarchicSelectorComponent, NaturalHierarchicSelectorDialogComponent, NaturalHierarchicSelectorDialogService, NaturalHierarchicSelectorService, NaturalHttpPrefixDirective, NaturalIconDirective, NaturalLinkMutationService, NaturalLinkableTabDirective, NaturalLoggerConfigExtra, NaturalLoggerConfigUrl, NaturalMatomoService, NaturalMemoryStorage, NaturalPanelsComponent, NaturalPanelsService, NaturalPersistenceService, NaturalQueryVariablesManager, NaturalRelationsComponent, NaturalSearchComponent, NaturalSelectComponent, NaturalSelectEnumComponent, NaturalSelectHierarchicComponent, NaturalSeoService, NaturalSidenavComponent, NaturalSidenavContainerComponent, NaturalSidenavContentComponent, NaturalSidenavService, NaturalSidenavStackService, NaturalSrcDensityDirective, NaturalStampComponent, NaturalSwissParsingDateAdapter, NaturalTableButtonComponent, NaturalTimeAgoPipe, PanelsHooksConfig, SESSION_STORAGE, SortingOrder, TypeBooleanComponent, TypeDateComponent, TypeDateRangeComponent, TypeHierarchicSelectorComponent, TypeNaturalSelectComponent, TypeNumberComponent, TypeOptionsComponent, TypeSelectComponent, TypeTextComponent, available, cancellableTimeout, collectErrors, copyToClipboard, createHttpLink, debug, decimal, deepFreeze, deliverableEmail, ensureHttpPrefix, fallbackIfNoOpenedPanels, formatIsoDate, formatIsoDateTime, fromUrl, getForegroundColor, graphqlQuerySigner, ifValid, integer, localStorageFactory, localStorageProvider, makePlural, memoryLocalStorageProvider, memorySessionStorageProvider, mergeOverrideArray, money, naturalPanelsUrlMatcher, naturalProviders, possibleComparableOperators, provideErrorHandler, provideIcons, providePanels, provideSeo, relationsToIds, replaceObjectKeepingReference, replaceOperatorByField, replaceOperatorByName, sessionStorageFactory, sessionStorageProvider, toGraphQLDoctrineFilter, toNavigationParameters, toUrl, unique, upperCaseFirstLetter, urlValidator, validTlds, validateAllFormControls, validateColumns, validatePagination, validateSorting, wrapLike, wrapPrefix, wrapSuffix };
11573
11547
  //# sourceMappingURL=ecodev-natural.mjs.map