@ecodev/natural 44.0.2 → 44.0.5

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.
@@ -58,15 +58,15 @@ import * as i5$2 from '@angular/material/tree';
58
58
  import { MatTreeFlattener, MatTreeFlatDataSource, MatTreeModule } from '@angular/material/tree';
59
59
  import * as i8 from '@angular/material/chips';
60
60
  import { MatChipsModule } from '@angular/material/chips';
61
+ import * as i3$2 from '@angular/material/divider';
61
62
  import * as i6 from '@angular/material/datepicker';
62
63
  import { MatDatepickerModule } from '@angular/material/datepicker';
63
- import * as i3$2 from '@angular/flex-layout';
64
+ import * as i3$3 from '@angular/flex-layout';
64
65
  import * as i9 from '@angular/material/paginator';
65
66
  import { MatPaginatorModule } from '@angular/material/paginator';
66
- import * as i3$3 from '@angular/material/sidenav';
67
+ import * as i3$4 from '@angular/material/sidenav';
67
68
  import { MatSidenavContainer, MatSidenav, MatSidenavModule } from '@angular/material/sidenav';
68
69
  import { __rest } from 'tslib';
69
- import { Md5 } from 'ts-md5';
70
70
  import * as i1$8 from '@angular/common/http';
71
71
  import { HttpHeaders, HttpClientModule } from '@angular/common/http';
72
72
 
@@ -380,6 +380,10 @@ function copyToClipboard(document, text) {
380
380
  document.execCommand('copy');
381
381
  document.body.removeChild(input);
382
382
  }
383
+ function deepFreeze(o) {
384
+ Object.values(o).forEach(v => Object.isFrozen(v) || deepFreeze(v));
385
+ return Object.freeze(o);
386
+ }
383
387
 
384
388
  // Basic; loosely typed structure for graphql-doctrine filters
385
389
  // Logical operator to be used in conditions
@@ -2906,12 +2910,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImpor
2906
2910
  }] }];
2907
2911
  } });
2908
2912
 
2909
- /**
2910
- * Data source to provide what data should be rendered in the table. The observable provided
2911
- * in connect should emit exactly the data that should be rendered by the table. If the data is
2912
- * altered, the observable should emit that new set of data on the stream. In our case here,
2913
- * we return a stream that contains only one set of data that doesn't change.
2914
- */
2915
2913
  /**
2916
2914
  * A NaturalDataSource will connect immediately, in order to know as soon as possible if
2917
2915
  * we need to show a template at all (as seen in my-ichtus)
@@ -2953,17 +2951,17 @@ class NaturalDataSource extends DataSource {
2953
2951
  if (!this.data) {
2954
2952
  return;
2955
2953
  }
2956
- const fullList = this.data.items;
2954
+ const fullList = [...this.data.items];
2957
2955
  fullList.push(item);
2958
- this.data = Object.assign(this.data, { items: fullList, length: fullList.length });
2956
+ this.data = Object.assign(Object.assign({}, this.data), { items: fullList, length: fullList.length });
2959
2957
  }
2960
2958
  pop() {
2961
2959
  if (!this.data) {
2962
2960
  return;
2963
2961
  }
2964
- const fullList = this.data.items;
2962
+ const fullList = [...this.data.items];
2965
2963
  const removedElement = fullList.pop();
2966
- this.data = Object.assign(this.data, { items: fullList, length: fullList.length });
2964
+ this.data = Object.assign(Object.assign({}, this.data), { items: fullList, length: fullList.length });
2967
2965
  return removedElement;
2968
2966
  }
2969
2967
  remove(item) {
@@ -2972,9 +2970,9 @@ class NaturalDataSource extends DataSource {
2972
2970
  }
2973
2971
  const index = this.data.items.indexOf(item);
2974
2972
  if (index > -1) {
2975
- this.data.items.splice(index, 1);
2976
- this.data.length--;
2977
- this.data = this.data;
2973
+ const fullList = [...this.data.items];
2974
+ fullList.splice(index, 1);
2975
+ this.data = Object.assign(Object.assign({}, this.data), { items: fullList, length: fullList.length });
2978
2976
  }
2979
2977
  }
2980
2978
  }
@@ -6833,10 +6831,10 @@ class NaturalGroupComponent {
6833
6831
  }
6834
6832
  }
6835
6833
  NaturalGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6836
- NaturalGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: NaturalGroupComponent, selector: "natural-group", inputs: { placeholder: "placeholder", facets: "facets", selections: "selections" }, outputs: { selectionChange: "selectionChange" }, viewQueries: [{ propertyName: "newValueInput", first: true, predicate: ["newValueInput"], descendants: true }], ngImport: i0, template: "<natural-input\n (cleared)=\"removeInput(i)\"\n (selectionChange)=\"updateInput($event, i)\"\n *ngFor=\"let selection of innerSelections; let i = index\"\n [facets]=\"facets\"\n [selection]=\"selection\"\n></natural-input>\n\n<natural-input\n #newValueInput\n (selectionChange)=\"addInput($event)\"\n [facets]=\"facets\"\n [placeholder]=\"placeholder\"\n tabIndex=\"10\"\n cdkFocusInitial\n></natural-input>\n", styles: [":host{display:flex;flex-direction:row;flex-wrap:wrap}:host natural-input{flex:none;display:inline-flex;margin-right:10px}:host natural-input:last-of-type{flex:1;margin-right:0;min-width:250px}\n"], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: NaturalInputComponent, selector: "natural-input", inputs: ["placeholder", "searchFieldName", "selection", "facets"], outputs: ["selectionChange", "cleared"] }] });
6834
+ NaturalGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: NaturalGroupComponent, selector: "natural-group", inputs: { placeholder: "placeholder", facets: "facets", selections: "selections" }, outputs: { selectionChange: "selectionChange" }, viewQueries: [{ propertyName: "newValueInput", first: true, predicate: ["newValueInput"], descendants: true }], ngImport: i0, template: "<natural-input\n (cleared)=\"removeInput(i)\"\n (selectionChange)=\"updateInput($event, i)\"\n *ngFor=\"let selection of innerSelections; let i = index\"\n [facets]=\"facets\"\n [selection]=\"selection\"\n></natural-input>\n\n<natural-input\n #newValueInput\n (selectionChange)=\"addInput($event)\"\n [facets]=\"facets\"\n [placeholder]=\"placeholder\"\n tabIndex=\"10\"\n cdkFocusInitial\n></natural-input>\n", styles: [":host{display:flex;flex-direction:row;flex-wrap:wrap}:host natural-input{flex:auto;display:inline-flex;margin-right:10px;margin-bottom:10px}:host natural-input:last-of-type{flex:1;min-width:250px}\n"], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: NaturalInputComponent, selector: "natural-input", inputs: ["placeholder", "searchFieldName", "selection", "facets"], outputs: ["selectionChange", "cleared"] }] });
6837
6835
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalGroupComponent, decorators: [{
6838
6836
  type: Component,
6839
- args: [{ selector: 'natural-group', template: "<natural-input\n (cleared)=\"removeInput(i)\"\n (selectionChange)=\"updateInput($event, i)\"\n *ngFor=\"let selection of innerSelections; let i = index\"\n [facets]=\"facets\"\n [selection]=\"selection\"\n></natural-input>\n\n<natural-input\n #newValueInput\n (selectionChange)=\"addInput($event)\"\n [facets]=\"facets\"\n [placeholder]=\"placeholder\"\n tabIndex=\"10\"\n cdkFocusInitial\n></natural-input>\n", styles: [":host{display:flex;flex-direction:row;flex-wrap:wrap}:host natural-input{flex:none;display:inline-flex;margin-right:10px}:host natural-input:last-of-type{flex:1;margin-right:0;min-width:250px}\n"] }]
6837
+ args: [{ selector: 'natural-group', template: "<natural-input\n (cleared)=\"removeInput(i)\"\n (selectionChange)=\"updateInput($event, i)\"\n *ngFor=\"let selection of innerSelections; let i = index\"\n [facets]=\"facets\"\n [selection]=\"selection\"\n></natural-input>\n\n<natural-input\n #newValueInput\n (selectionChange)=\"addInput($event)\"\n [facets]=\"facets\"\n [placeholder]=\"placeholder\"\n tabIndex=\"10\"\n cdkFocusInitial\n></natural-input>\n", styles: [":host{display:flex;flex-direction:row;flex-wrap:wrap}:host natural-input{flex:auto;display:inline-flex;margin-right:10px;margin-bottom:10px}:host natural-input:last-of-type{flex:1;min-width:250px}\n"] }]
6840
6838
  }], propDecorators: { newValueInput: [{
6841
6839
  type: ViewChild,
6842
6840
  args: ['newValueInput']
@@ -6905,10 +6903,10 @@ class NaturalSearchComponent {
6905
6903
  }
6906
6904
  }
6907
6905
  NaturalSearchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6908
- NaturalSearchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: NaturalSearchComponent, selector: "natural-search", inputs: { placeholder: "placeholder", facets: "facets", multipleGroups: "multipleGroups", selections: "selections" }, outputs: { selectionChange: "selectionChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"natural-search\">\n <div class=\"groupsWrapper\">\n <div *ngFor=\"let groupSelections of innerSelections; let i = index; let last = last\" class=\"groupWrapper\">\n <natural-group\n (selectionChange)=\"updateGroup($event, i)\"\n [facets]=\"facets\"\n [placeholder]=\"placeholder\"\n [selections]=\"groupSelections\"\n ></natural-group>\n\n <div class=\"endOfRowButton\">\n <button (click)=\"removeGroup(i)\" *ngIf=\"innerSelections.length > 1\" mat-icon-button>\n <natural-icon name=\"remove\"></natural-icon>\n </button>\n </div>\n\n <div class=\"endOfRowButton\">\n <button (click)=\"addGroup()\" *ngIf=\"last && multipleGroups\" mat-icon-button>\n <natural-icon name=\"add\"></natural-icon>\n </button>\n </div>\n\n <!-- Spaceholder to keep fields alignment (prevent to push until end of line)--->\n <div *ngIf=\"!last\" class=\"spacer\"></div>\n </div>\n </div>\n\n <div class=\"endOfRowButton\">\n <button (click)=\"clear()\" mat-icon-button>\n <natural-icon name=\"close\"></natural-icon>\n </button>\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host .natural-search{display:flex;flex-direction:row;align-items:flex-end}:host .natural-search .groupsWrapper{display:flex;flex-direction:column;flex:1}:host .natural-search .groupWrapper{display:flex;flex-direction:row;margin-bottom:10px}:host .natural-search .groupWrapper natural-group{flex:1}:host .natural-search .groupWrapper:last-of-type{margin-bottom:0}:host .natural-search .groupWrapper .spacer{width:40px;height:40px}:host .natural-search .endOfRowButton{height:53px;display:flex;flex-direction:row;align-items:center}\n"], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: NaturalIconComponent, selector: "natural-icon", inputs: ["label", "labelColor", "labelPosition", "name", "size"] }, { kind: "component", type: NaturalGroupComponent, selector: "natural-group", inputs: ["placeholder", "facets", "selections"], outputs: ["selectionChange"] }] });
6906
+ NaturalSearchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: NaturalSearchComponent, selector: "natural-search", inputs: { placeholder: "placeholder", facets: "facets", multipleGroups: "multipleGroups", selections: "selections" }, outputs: { selectionChange: "selectionChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"natural-search\">\n <div class=\"groupsWrapper\">\n <ng-container *ngFor=\"let groupSelections of innerSelections; let i = index; let last = last\">\n <div class=\"groupWrapper\">\n <natural-group\n (selectionChange)=\"updateGroup($event, i)\"\n [facets]=\"facets\"\n [placeholder]=\"placeholder\"\n [selections]=\"groupSelections\"\n ></natural-group>\n\n <div class=\"endOfRowButton inGroup\">\n <button (click)=\"removeGroup(i)\" *ngIf=\"innerSelections.length > 1\" mat-icon-button>\n <natural-icon name=\"remove\"></natural-icon>\n </button>\n </div>\n\n <div class=\"endOfRowButton inGroup\">\n <button (click)=\"addGroup()\" *ngIf=\"last && multipleGroups\" mat-icon-button>\n <natural-icon name=\"add\"></natural-icon>\n </button>\n </div>\n\n <!-- Spaceholder to keep fields alignment (prevent to push until end of line)--->\n <div *ngIf=\"!last\" class=\"spacer\"></div>\n </div>\n <mat-divider *ngIf=\"!last\"></mat-divider>\n </ng-container>\n </div>\n\n <div class=\"endOfRowButton outOfGroup\">\n <button (click)=\"clear()\" mat-icon-button>\n <natural-icon name=\"close\"></natural-icon>\n </button>\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host .natural-search{display:flex;flex-direction:row;align-items:flex-end}:host .natural-search .groupsWrapper{display:flex;flex-direction:column;flex:1;min-width:0}:host .natural-search .groupWrapper{display:flex;flex-direction:row;margin-bottom:10px;min-width:0}:host .natural-search .groupWrapper natural-group{flex:1;max-width:100%}:host .natural-search .groupWrapper:last-of-type{margin-bottom:0}:host .natural-search .groupWrapper .spacer{width:40px;height:40px}:host .natural-search .endOfRowButton{height:53px;display:flex;flex-direction:row;align-items:center;margin-bottom:10px}:host .natural-search mat-divider{margin:-10px 10px 10px 0}\n"], dependencies: [{ kind: "directive", type: i1$3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3$2.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: NaturalIconComponent, selector: "natural-icon", inputs: ["label", "labelColor", "labelPosition", "name", "size"] }, { kind: "component", type: NaturalGroupComponent, selector: "natural-group", inputs: ["placeholder", "facets", "selections"], outputs: ["selectionChange"] }] });
6909
6907
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalSearchComponent, decorators: [{
6910
6908
  type: Component,
6911
- args: [{ selector: 'natural-search', template: "<div class=\"natural-search\">\n <div class=\"groupsWrapper\">\n <div *ngFor=\"let groupSelections of innerSelections; let i = index; let last = last\" class=\"groupWrapper\">\n <natural-group\n (selectionChange)=\"updateGroup($event, i)\"\n [facets]=\"facets\"\n [placeholder]=\"placeholder\"\n [selections]=\"groupSelections\"\n ></natural-group>\n\n <div class=\"endOfRowButton\">\n <button (click)=\"removeGroup(i)\" *ngIf=\"innerSelections.length > 1\" mat-icon-button>\n <natural-icon name=\"remove\"></natural-icon>\n </button>\n </div>\n\n <div class=\"endOfRowButton\">\n <button (click)=\"addGroup()\" *ngIf=\"last && multipleGroups\" mat-icon-button>\n <natural-icon name=\"add\"></natural-icon>\n </button>\n </div>\n\n <!-- Spaceholder to keep fields alignment (prevent to push until end of line)--->\n <div *ngIf=\"!last\" class=\"spacer\"></div>\n </div>\n </div>\n\n <div class=\"endOfRowButton\">\n <button (click)=\"clear()\" mat-icon-button>\n <natural-icon name=\"close\"></natural-icon>\n </button>\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host .natural-search{display:flex;flex-direction:row;align-items:flex-end}:host .natural-search .groupsWrapper{display:flex;flex-direction:column;flex:1}:host .natural-search .groupWrapper{display:flex;flex-direction:row;margin-bottom:10px}:host .natural-search .groupWrapper natural-group{flex:1}:host .natural-search .groupWrapper:last-of-type{margin-bottom:0}:host .natural-search .groupWrapper .spacer{width:40px;height:40px}:host .natural-search .endOfRowButton{height:53px;display:flex;flex-direction:row;align-items:center}\n"] }]
6909
+ args: [{ selector: 'natural-search', template: "<div class=\"natural-search\">\n <div class=\"groupsWrapper\">\n <ng-container *ngFor=\"let groupSelections of innerSelections; let i = index; let last = last\">\n <div class=\"groupWrapper\">\n <natural-group\n (selectionChange)=\"updateGroup($event, i)\"\n [facets]=\"facets\"\n [placeholder]=\"placeholder\"\n [selections]=\"groupSelections\"\n ></natural-group>\n\n <div class=\"endOfRowButton inGroup\">\n <button (click)=\"removeGroup(i)\" *ngIf=\"innerSelections.length > 1\" mat-icon-button>\n <natural-icon name=\"remove\"></natural-icon>\n </button>\n </div>\n\n <div class=\"endOfRowButton inGroup\">\n <button (click)=\"addGroup()\" *ngIf=\"last && multipleGroups\" mat-icon-button>\n <natural-icon name=\"add\"></natural-icon>\n </button>\n </div>\n\n <!-- Spaceholder to keep fields alignment (prevent to push until end of line)--->\n <div *ngIf=\"!last\" class=\"spacer\"></div>\n </div>\n <mat-divider *ngIf=\"!last\"></mat-divider>\n </ng-container>\n </div>\n\n <div class=\"endOfRowButton outOfGroup\">\n <button (click)=\"clear()\" mat-icon-button>\n <natural-icon name=\"close\"></natural-icon>\n </button>\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host .natural-search{display:flex;flex-direction:row;align-items:flex-end}:host .natural-search .groupsWrapper{display:flex;flex-direction:column;flex:1;min-width:0}:host .natural-search .groupWrapper{display:flex;flex-direction:row;margin-bottom:10px;min-width:0}:host .natural-search .groupWrapper natural-group{flex:1;max-width:100%}:host .natural-search .groupWrapper:last-of-type{margin-bottom:0}:host .natural-search .groupWrapper .spacer{width:40px;height:40px}:host .natural-search .endOfRowButton{height:53px;display:flex;flex-direction:row;align-items:center;margin-bottom:10px}:host .natural-search mat-divider{margin:-10px 10px 10px 0}\n"] }]
6912
6910
  }], propDecorators: { placeholder: [{
6913
6911
  type: Input
6914
6912
  }], facets: [{
@@ -9199,7 +9197,7 @@ class NaturalPanelsService {
9199
9197
  * And we cannot make it non-static, because `UrlMatcher` cannot be injected.
9200
9198
  */
9201
9199
  NaturalPanelsService._opened = false;
9202
- NaturalPanelsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalPanelsService, deps: [{ token: i2$1.Router }, { token: i1.MatDialog }, { token: i0.Injector }, { token: PanelsHooksConfig }, { token: i3$2.MediaObserver }], target: i0.ɵɵFactoryTarget.Injectable });
9200
+ NaturalPanelsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalPanelsService, deps: [{ token: i2$1.Router }, { token: i1.MatDialog }, { token: i0.Injector }, { token: PanelsHooksConfig }, { token: i3$3.MediaObserver }], target: i0.ɵɵFactoryTarget.Injectable });
9203
9201
  NaturalPanelsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalPanelsService, providedIn: 'root' });
9204
9202
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalPanelsService, decorators: [{
9205
9203
  type: Injectable,
@@ -9210,7 +9208,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImpor
9210
9208
  return [{ type: i2$1.Router }, { type: i1.MatDialog }, { type: i0.Injector }, { type: undefined, decorators: [{
9211
9209
  type: Inject,
9212
9210
  args: [PanelsHooksConfig]
9213
- }] }, { type: i3$2.MediaObserver }];
9211
+ }] }, { type: i3$3.MediaObserver }];
9214
9212
  } });
9215
9213
 
9216
9214
  class NaturalPanelsComponent {
@@ -9795,13 +9793,13 @@ class NaturalSidenavService extends NaturalAbstractController {
9795
9793
  }
9796
9794
  }
9797
9795
  }
9798
- NaturalSidenavService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalSidenavService, deps: [{ token: i3$2.MediaObserver }, { token: i2$1.Router }, { token: SESSION_STORAGE }, { token: NaturalSidenavStackService }], target: i0.ɵɵFactoryTarget.Injectable });
9796
+ NaturalSidenavService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalSidenavService, deps: [{ token: i3$3.MediaObserver }, { token: i2$1.Router }, { token: SESSION_STORAGE }, { token: NaturalSidenavStackService }], target: i0.ɵɵFactoryTarget.Injectable });
9799
9797
  NaturalSidenavService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalSidenavService, providedIn: 'root' });
9800
9798
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalSidenavService, decorators: [{
9801
9799
  type: Injectable,
9802
9800
  args: [{ providedIn: 'root' }]
9803
9801
  }], ctorParameters: function () {
9804
- return [{ type: i3$2.MediaObserver }, { type: i2$1.Router }, { type: undefined, decorators: [{
9802
+ return [{ type: i3$3.MediaObserver }, { type: i2$1.Router }, { type: undefined, decorators: [{
9805
9803
  type: Inject,
9806
9804
  args: [SESSION_STORAGE]
9807
9805
  }] }, { type: NaturalSidenavStackService }];
@@ -9861,7 +9859,7 @@ class NaturalSidenavContainerComponent {
9861
9859
  }
9862
9860
  }
9863
9861
  NaturalSidenavContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalSidenavContainerComponent, deps: [{ token: NaturalSidenavService }], target: i0.ɵɵFactoryTarget.Component });
9864
- NaturalSidenavContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: NaturalSidenavContainerComponent, selector: "natural-sidenav-container", inputs: { name: "name", position: "position", mobileAutoClose: "mobileAutoClose", minimizedWidth: "minimizedWidth", noScroll: "noScroll" }, host: { properties: { "attr.no-scroll": "this.noScroll" } }, providers: [NaturalSidenavService], viewQueries: [{ propertyName: "menuContainer", first: true, predicate: MatSidenavContainer, descendants: true, static: true }, { propertyName: "menuSidenav", first: true, predicate: MatSidenav, descendants: true, static: true }], ngImport: i0, template: "<mat-sidenav-container (backdropClick)=\"sidenavService.setOpened(false)\">\n <mat-sidenav\n [mode]=\"sidenavService.activeMode\"\n [ngClass]=\"sidenavService.isMinimized ? 'menuMinimized' : ''\"\n [opened]=\"sidenavService.isOpened\"\n [style.min-width.px]=\"sidenavService.isMinimized && minimizedWidth ? minimizedWidth : null\"\n [style.width.px]=\"sidenavService.isMinimized && minimizedWidth ? minimizedWidth : null\"\n [position]=\"position\"\n >\n <ng-content select=\"natural-sidenav\"></ng-content>\n </mat-sidenav>\n\n <mat-sidenav-content>\n <div>\n <ng-content select=\"natural-sidenav-content\"></ng-content>\n </div>\n </mat-sidenav-content>\n</mat-sidenav-container>\n", styles: [":host{display:flex;flex-direction:column}:host mat-sidenav-container{display:flex;flex-direction:column;flex:1}:host mat-sidenav-content>div{overflow:auto}:host .menuMinimized{overflow-x:hidden}:host .buttons{display:flex;flex-direction:row;justify-content:flex-end}\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i3$3.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: i3$3.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { kind: "component", type: i3$3.MatSidenavContent, selector: "mat-sidenav-content" }] });
9862
+ NaturalSidenavContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: NaturalSidenavContainerComponent, selector: "natural-sidenav-container", inputs: { name: "name", position: "position", mobileAutoClose: "mobileAutoClose", minimizedWidth: "minimizedWidth", noScroll: "noScroll" }, host: { properties: { "attr.no-scroll": "this.noScroll" } }, providers: [NaturalSidenavService], viewQueries: [{ propertyName: "menuContainer", first: true, predicate: MatSidenavContainer, descendants: true, static: true }, { propertyName: "menuSidenav", first: true, predicate: MatSidenav, descendants: true, static: true }], ngImport: i0, template: "<mat-sidenav-container (backdropClick)=\"sidenavService.setOpened(false)\">\n <mat-sidenav\n [mode]=\"sidenavService.activeMode\"\n [ngClass]=\"sidenavService.isMinimized ? 'menuMinimized' : ''\"\n [opened]=\"sidenavService.isOpened\"\n [style.min-width.px]=\"sidenavService.isMinimized && minimizedWidth ? minimizedWidth : null\"\n [style.width.px]=\"sidenavService.isMinimized && minimizedWidth ? minimizedWidth : null\"\n [position]=\"position\"\n >\n <ng-content select=\"natural-sidenav\"></ng-content>\n </mat-sidenav>\n\n <mat-sidenav-content>\n <div>\n <ng-content select=\"natural-sidenav-content\"></ng-content>\n </div>\n </mat-sidenav-content>\n</mat-sidenav-container>\n", styles: [":host{display:flex;flex-direction:column}:host mat-sidenav-container{display:flex;flex-direction:column;flex:1}:host mat-sidenav-content>div{overflow:auto}:host .menuMinimized{overflow-x:hidden}:host .buttons{display:flex;flex-direction:row;justify-content:flex-end}\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i3$4.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: i3$4.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { kind: "component", type: i3$4.MatSidenavContent, selector: "mat-sidenav-content" }] });
9865
9863
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalSidenavContainerComponent, decorators: [{
9866
9864
  type: Component,
9867
9865
  args: [{ selector: 'natural-sidenav-container', providers: [NaturalSidenavService], template: "<mat-sidenav-container (backdropClick)=\"sidenavService.setOpened(false)\">\n <mat-sidenav\n [mode]=\"sidenavService.activeMode\"\n [ngClass]=\"sidenavService.isMinimized ? 'menuMinimized' : ''\"\n [opened]=\"sidenavService.isOpened\"\n [style.min-width.px]=\"sidenavService.isMinimized && minimizedWidth ? minimizedWidth : null\"\n [style.width.px]=\"sidenavService.isMinimized && minimizedWidth ? minimizedWidth : null\"\n [position]=\"position\"\n >\n <ng-content select=\"natural-sidenav\"></ng-content>\n </mat-sidenav>\n\n <mat-sidenav-content>\n <div>\n <ng-content select=\"natural-sidenav-content\"></ng-content>\n </div>\n </mat-sidenav-content>\n</mat-sidenav-container>\n", styles: [":host{display:flex;flex-direction:column}:host mat-sidenav-container{display:flex;flex-direction:column;flex:1}:host mat-sidenav-content>div{overflow:auto}:host .menuMinimized{overflow-x:hidden}:host .buttons{display:flex;flex-direction:row;justify-content:flex-end}\n"] }]
@@ -10128,6 +10126,213 @@ class Source {
10128
10126
  }
10129
10127
  }
10130
10128
 
10129
+ function md5(string) {
10130
+ const x = convertToWordArray(utf8Encode(string));
10131
+ const S11 = 7;
10132
+ const S12 = 12;
10133
+ const S13 = 17;
10134
+ const S14 = 22;
10135
+ const S21 = 5;
10136
+ const S22 = 9;
10137
+ const S23 = 14;
10138
+ const S24 = 20;
10139
+ const S31 = 4;
10140
+ const S32 = 11;
10141
+ const S33 = 16;
10142
+ const S34 = 23;
10143
+ const S41 = 6;
10144
+ const S42 = 10;
10145
+ const S43 = 15;
10146
+ const S44 = 21;
10147
+ let a = 0x67452301;
10148
+ let b = 0xefcdab89;
10149
+ let c = 0x98badcfe;
10150
+ let d = 0x10325476;
10151
+ for (let k = 0; k < x.length; k += 16) {
10152
+ const AA = a;
10153
+ const BB = b;
10154
+ const CC = c;
10155
+ const DD = d;
10156
+ a = FF(a, b, c, d, x[k], S11, 0xd76aa478);
10157
+ d = FF(d, a, b, c, x[k + 1], S12, 0xe8c7b756);
10158
+ c = FF(c, d, a, b, x[k + 2], S13, 0x242070db);
10159
+ b = FF(b, c, d, a, x[k + 3], S14, 0xc1bdceee);
10160
+ a = FF(a, b, c, d, x[k + 4], S11, 0xf57c0faf);
10161
+ d = FF(d, a, b, c, x[k + 5], S12, 0x4787c62a);
10162
+ c = FF(c, d, a, b, x[k + 6], S13, 0xa8304613);
10163
+ b = FF(b, c, d, a, x[k + 7], S14, 0xfd469501);
10164
+ a = FF(a, b, c, d, x[k + 8], S11, 0x698098d8);
10165
+ d = FF(d, a, b, c, x[k + 9], S12, 0x8b44f7af);
10166
+ c = FF(c, d, a, b, x[k + 10], S13, 0xffff5bb1);
10167
+ b = FF(b, c, d, a, x[k + 11], S14, 0x895cd7be);
10168
+ a = FF(a, b, c, d, x[k + 12], S11, 0x6b901122);
10169
+ d = FF(d, a, b, c, x[k + 13], S12, 0xfd987193);
10170
+ c = FF(c, d, a, b, x[k + 14], S13, 0xa679438e);
10171
+ b = FF(b, c, d, a, x[k + 15], S14, 0x49b40821);
10172
+ a = GG(a, b, c, d, x[k + 1], S21, 0xf61e2562);
10173
+ d = GG(d, a, b, c, x[k + 6], S22, 0xc040b340);
10174
+ c = GG(c, d, a, b, x[k + 11], S23, 0x265e5a51);
10175
+ b = GG(b, c, d, a, x[k], S24, 0xe9b6c7aa);
10176
+ a = GG(a, b, c, d, x[k + 5], S21, 0xd62f105d);
10177
+ d = GG(d, a, b, c, x[k + 10], S22, 0x2441453);
10178
+ c = GG(c, d, a, b, x[k + 15], S23, 0xd8a1e681);
10179
+ b = GG(b, c, d, a, x[k + 4], S24, 0xe7d3fbc8);
10180
+ a = GG(a, b, c, d, x[k + 9], S21, 0x21e1cde6);
10181
+ d = GG(d, a, b, c, x[k + 14], S22, 0xc33707d6);
10182
+ c = GG(c, d, a, b, x[k + 3], S23, 0xf4d50d87);
10183
+ b = GG(b, c, d, a, x[k + 8], S24, 0x455a14ed);
10184
+ a = GG(a, b, c, d, x[k + 13], S21, 0xa9e3e905);
10185
+ d = GG(d, a, b, c, x[k + 2], S22, 0xfcefa3f8);
10186
+ c = GG(c, d, a, b, x[k + 7], S23, 0x676f02d9);
10187
+ b = GG(b, c, d, a, x[k + 12], S24, 0x8d2a4c8a);
10188
+ a = HH(a, b, c, d, x[k + 5], S31, 0xfffa3942);
10189
+ d = HH(d, a, b, c, x[k + 8], S32, 0x8771f681);
10190
+ c = HH(c, d, a, b, x[k + 11], S33, 0x6d9d6122);
10191
+ b = HH(b, c, d, a, x[k + 14], S34, 0xfde5380c);
10192
+ a = HH(a, b, c, d, x[k + 1], S31, 0xa4beea44);
10193
+ d = HH(d, a, b, c, x[k + 4], S32, 0x4bdecfa9);
10194
+ c = HH(c, d, a, b, x[k + 7], S33, 0xf6bb4b60);
10195
+ b = HH(b, c, d, a, x[k + 10], S34, 0xbebfbc70);
10196
+ a = HH(a, b, c, d, x[k + 13], S31, 0x289b7ec6);
10197
+ d = HH(d, a, b, c, x[k], S32, 0xeaa127fa);
10198
+ c = HH(c, d, a, b, x[k + 3], S33, 0xd4ef3085);
10199
+ b = HH(b, c, d, a, x[k + 6], S34, 0x4881d05);
10200
+ a = HH(a, b, c, d, x[k + 9], S31, 0xd9d4d039);
10201
+ d = HH(d, a, b, c, x[k + 12], S32, 0xe6db99e5);
10202
+ c = HH(c, d, a, b, x[k + 15], S33, 0x1fa27cf8);
10203
+ b = HH(b, c, d, a, x[k + 2], S34, 0xc4ac5665);
10204
+ a = II(a, b, c, d, x[k], S41, 0xf4292244);
10205
+ d = II(d, a, b, c, x[k + 7], S42, 0x432aff97);
10206
+ c = II(c, d, a, b, x[k + 14], S43, 0xab9423a7);
10207
+ b = II(b, c, d, a, x[k + 5], S44, 0xfc93a039);
10208
+ a = II(a, b, c, d, x[k + 12], S41, 0x655b59c3);
10209
+ d = II(d, a, b, c, x[k + 3], S42, 0x8f0ccc92);
10210
+ c = II(c, d, a, b, x[k + 10], S43, 0xffeff47d);
10211
+ b = II(b, c, d, a, x[k + 1], S44, 0x85845dd1);
10212
+ a = II(a, b, c, d, x[k + 8], S41, 0x6fa87e4f);
10213
+ d = II(d, a, b, c, x[k + 15], S42, 0xfe2ce6e0);
10214
+ c = II(c, d, a, b, x[k + 6], S43, 0xa3014314);
10215
+ b = II(b, c, d, a, x[k + 13], S44, 0x4e0811a1);
10216
+ a = II(a, b, c, d, x[k + 4], S41, 0xf7537e82);
10217
+ d = II(d, a, b, c, x[k + 11], S42, 0xbd3af235);
10218
+ c = II(c, d, a, b, x[k + 2], S43, 0x2ad7d2bb);
10219
+ b = II(b, c, d, a, x[k + 9], S44, 0xeb86d391);
10220
+ a = addUnsigned(a, AA);
10221
+ b = addUnsigned(b, BB);
10222
+ c = addUnsigned(c, CC);
10223
+ d = addUnsigned(d, DD);
10224
+ }
10225
+ const result = wordToHex(a) + wordToHex(b) + wordToHex(c) + wordToHex(d);
10226
+ return result.toLowerCase();
10227
+ }
10228
+ function addUnsigned(lX, lY) {
10229
+ const lX8 = lX & 0x80000000;
10230
+ const lY8 = lY & 0x80000000;
10231
+ const lX4 = lX & 0x40000000;
10232
+ const lY4 = lY & 0x40000000;
10233
+ const lResult = (lX & 0x3fffffff) + (lY & 0x3fffffff);
10234
+ if (!!(lX4 & lY4)) {
10235
+ return lResult ^ 0x80000000 ^ lX8 ^ lY8;
10236
+ }
10237
+ if (!!(lX4 | lY4)) {
10238
+ if (!!(lResult & 0x40000000)) {
10239
+ return lResult ^ 0xc0000000 ^ lX8 ^ lY8;
10240
+ }
10241
+ else {
10242
+ return lResult ^ 0x40000000 ^ lX8 ^ lY8;
10243
+ }
10244
+ }
10245
+ else {
10246
+ return lResult ^ lX8 ^ lY8;
10247
+ }
10248
+ }
10249
+ function rotateLeft(lValue, iShiftBits) {
10250
+ return (lValue << iShiftBits) | (lValue >>> (32 - iShiftBits));
10251
+ }
10252
+ function F(x, y, z) {
10253
+ return (x & y) | (~x & z);
10254
+ }
10255
+ function G(x, y, z) {
10256
+ return (x & z) | (y & ~z);
10257
+ }
10258
+ function H(x, y, z) {
10259
+ return x ^ y ^ z;
10260
+ }
10261
+ function I(x, y, z) {
10262
+ return y ^ (x | ~z);
10263
+ }
10264
+ function FF(a, b, c, d, x, s, ac) {
10265
+ a = addUnsigned(a, addUnsigned(addUnsigned(F(b, c, d), x), ac));
10266
+ return addUnsigned(rotateLeft(a, s), b);
10267
+ }
10268
+ function GG(a, b, c, d, x, s, ac) {
10269
+ a = addUnsigned(a, addUnsigned(addUnsigned(G(b, c, d), x), ac));
10270
+ return addUnsigned(rotateLeft(a, s), b);
10271
+ }
10272
+ function HH(a, b, c, d, x, s, ac) {
10273
+ a = addUnsigned(a, addUnsigned(addUnsigned(H(b, c, d), x), ac));
10274
+ return addUnsigned(rotateLeft(a, s), b);
10275
+ }
10276
+ function II(a, b, c, d, x, s, ac) {
10277
+ a = addUnsigned(a, addUnsigned(addUnsigned(I(b, c, d), x), ac));
10278
+ return addUnsigned(rotateLeft(a, s), b);
10279
+ }
10280
+ function convertToWordArray(string) {
10281
+ let lWordCount;
10282
+ const lMessageLength = string.length;
10283
+ const lNumberOfWords_temp1 = lMessageLength + 8;
10284
+ const lNumberOfWords_temp2 = (lNumberOfWords_temp1 - (lNumberOfWords_temp1 % 64)) / 64;
10285
+ const lNumberOfWords = (lNumberOfWords_temp2 + 1) * 16;
10286
+ const lWordArray = Array(lNumberOfWords - 1);
10287
+ let lBytePosition = 0;
10288
+ let lByteCount = 0;
10289
+ while (lByteCount < lMessageLength) {
10290
+ lWordCount = (lByteCount - (lByteCount % 4)) / 4;
10291
+ lBytePosition = (lByteCount % 4) * 8;
10292
+ lWordArray[lWordCount] = lWordArray[lWordCount] | (string.charCodeAt(lByteCount) << lBytePosition);
10293
+ lByteCount++;
10294
+ }
10295
+ lWordCount = (lByteCount - (lByteCount % 4)) / 4;
10296
+ lBytePosition = (lByteCount % 4) * 8;
10297
+ lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80 << lBytePosition);
10298
+ lWordArray[lNumberOfWords - 2] = lMessageLength << 3;
10299
+ lWordArray[lNumberOfWords - 1] = lMessageLength >>> 29;
10300
+ return lWordArray;
10301
+ }
10302
+ function wordToHex(lValue) {
10303
+ let WordToHexValue = '';
10304
+ let WordToHexValue_temp = '';
10305
+ let lByte;
10306
+ let lCount;
10307
+ for (lCount = 0; lCount <= 3; lCount++) {
10308
+ lByte = (lValue >>> (lCount * 8)) & 255;
10309
+ WordToHexValue_temp = '0' + lByte.toString(16);
10310
+ WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length - 2, 2);
10311
+ }
10312
+ return WordToHexValue;
10313
+ }
10314
+ function utf8Encode(string) {
10315
+ let utftext = '';
10316
+ let c;
10317
+ string = string.replace(/\r\n/g, '\n');
10318
+ for (let n = 0; n < string.length; n++) {
10319
+ c = string.charCodeAt(n);
10320
+ if (c < 128) {
10321
+ utftext += String.fromCharCode(c);
10322
+ }
10323
+ else if (c > 127 && c < 2048) {
10324
+ utftext += String.fromCharCode((c >> 6) | 192);
10325
+ utftext += String.fromCharCode((c & 63) | 128);
10326
+ }
10327
+ else {
10328
+ utftext += String.fromCharCode((c >> 12) | 224);
10329
+ utftext += String.fromCharCode(((c >> 6) & 63) | 128);
10330
+ utftext += String.fromCharCode((c & 63) | 128);
10331
+ }
10332
+ }
10333
+ return utftext;
10334
+ }
10335
+
10131
10336
  function isRetina() {
10132
10337
  // We cannot reasonably inject `DOCUMENT` here, but we are extra
10133
10338
  // careful about usage of `window` and its possible non-existence in SSR,
@@ -10146,9 +10351,9 @@ function isRetina() {
10146
10351
  class Gravatar extends Source {
10147
10352
  getAvatar(size) {
10148
10353
  const value = this.getValue();
10149
- const md5 = value.match('^[a-f0-9]{32}$') ? value : Md5.hashStr(value.trim().toLowerCase()).toString();
10354
+ const hash = value.match('^[a-f0-9]{32}$') ? value : md5(value.trim().toLowerCase()).toString();
10150
10355
  const avatarSize = isRetina() ? size * 2 : size;
10151
- return `https://secure.gravatar.com/avatar/${md5}?s=${avatarSize}&d=404`;
10356
+ return `https://secure.gravatar.com/avatar/${hash}?s=${avatarSize}&d=404`;
10152
10357
  }
10153
10358
  isTextual() {
10154
10359
  return false;
@@ -10711,5 +10916,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImpor
10711
10916
  * Generated bundle index. Do not edit.
10712
10917
  */
10713
10918
 
10714
- export { AvatarComponent, AvatarService, FileComponent, IconsConfigService, LOCAL_STORAGE, NATURAL_DROPDOWN_DATA, NATURAL_SEO_CONFIG, NaturalAbstractController, NaturalAbstractDetail, NaturalAbstractEditableList, NaturalAbstractList, NaturalAbstractModelService, NaturalAbstractNavigableList, NaturalAbstractPanel, NaturalAlertModule, NaturalAlertService, NaturalAvatarModule, NaturalCapitalizePipe, NaturalColumnsPickerColumnDirective, NaturalColumnsPickerComponent, NaturalColumnsPickerModule, NaturalCommonModule, NaturalConfirmComponent, NaturalDataSource, NaturalDetailHeaderComponent, NaturalDetailHeaderModule, NaturalDialogTriggerComponent, NaturalDialogTriggerModule, NaturalDropdownComponentsModule, NaturalDropdownRef, NaturalEllipsisPipe, NaturalEnumPipe, NaturalEnumService, NaturalErrorHandler, NaturalErrorModule, NaturalFileDropDirective, NaturalFileModule, NaturalFileSelectDirective, NaturalFileService, NaturalFixedButtonComponent, NaturalFixedButtonDetailComponent, NaturalFixedButtonDetailModule, NaturalFixedButtonModule, NaturalHierarchicSelectorComponent, NaturalHierarchicSelectorDialogComponent, NaturalHierarchicSelectorDialogService, NaturalHierarchicSelectorModule, NaturalHierarchicSelectorService, NaturalHttpPrefixDirective, NaturalIconComponent, NaturalIconModule, NaturalLinkMutationService, NaturalLinkableTabDirective, NaturalLoggerConfigExtra, NaturalLoggerConfigUrl, NaturalMatomoModule, NaturalMatomoService, NaturalMemoryStorage, NaturalPanelsComponent, NaturalPanelsModule, NaturalPanelsService, NaturalPersistenceService, NaturalQueryVariablesManager, NaturalRelationsComponent, NaturalRelationsModule, NaturalSearchComponent, NaturalSearchModule, NaturalSelectComponent, NaturalSelectEnumComponent, NaturalSelectHierarchicComponent, NaturalSelectModule, NaturalSeoService, NaturalSidenavComponent, NaturalSidenavContainerComponent, NaturalSidenavContentComponent, NaturalSidenavModule, NaturalSidenavService, NaturalSidenavStackService, NaturalSrcDensityDirective, NaturalStampComponent, NaturalStampModule, NaturalSwissDatePipe, NaturalSwissParsingDateAdapter, NaturalTableButtonComponent, NaturalTableButtonModule, PanelsHooksConfig, SESSION_STORAGE, SortingOrder, TypeDateComponent, TypeDateRangeComponent, TypeHierarchicSelectorComponent, TypeNaturalSelectComponent, TypeNumberComponent, TypeSelectComponent, TypeTextComponent, available, cancellableTimeout, cleanSameValues, collectErrors, copyToClipboard, debug, decimal, deliverableEmail, ensureHttpPrefix, fallbackIfNoOpenedPanels, formatIsoDate, formatIsoDateTime, fromUrl, getForegroundColor, hasFilesAndProcessDate, ifValid, integer, localStorageFactory, localStorageProvider, lowerCaseFirstLetter, makePlural, memoryLocalStorageProvider, memorySessionStorageProvider, mergeOverrideArray, money, naturalPanelsUrlMatcher, relationsToIds, replaceObjectKeepingReference, replaceOperatorByField, replaceOperatorByName, sessionStorageFactory, sessionStorageProvider, toGraphQLDoctrineFilter, toNavigationParameters, toUrl, unique, upperCaseFirstLetter, urlValidator, validTlds, validateAllFormControls, wrapLike };
10919
+ export { AvatarComponent, AvatarService, FileComponent, IconsConfigService, LOCAL_STORAGE, NATURAL_DROPDOWN_DATA, NATURAL_SEO_CONFIG, NaturalAbstractController, NaturalAbstractDetail, NaturalAbstractEditableList, NaturalAbstractList, NaturalAbstractModelService, NaturalAbstractNavigableList, NaturalAbstractPanel, NaturalAlertModule, NaturalAlertService, NaturalAvatarModule, NaturalCapitalizePipe, NaturalColumnsPickerColumnDirective, NaturalColumnsPickerComponent, NaturalColumnsPickerModule, NaturalCommonModule, NaturalConfirmComponent, NaturalDataSource, NaturalDetailHeaderComponent, NaturalDetailHeaderModule, NaturalDialogTriggerComponent, NaturalDialogTriggerModule, NaturalDropdownComponentsModule, NaturalDropdownRef, NaturalEllipsisPipe, NaturalEnumPipe, NaturalEnumService, NaturalErrorHandler, NaturalErrorModule, NaturalFileDropDirective, NaturalFileModule, NaturalFileSelectDirective, NaturalFileService, NaturalFixedButtonComponent, NaturalFixedButtonDetailComponent, NaturalFixedButtonDetailModule, NaturalFixedButtonModule, NaturalHierarchicSelectorComponent, NaturalHierarchicSelectorDialogComponent, NaturalHierarchicSelectorDialogService, NaturalHierarchicSelectorModule, NaturalHierarchicSelectorService, NaturalHttpPrefixDirective, NaturalIconComponent, NaturalIconModule, NaturalLinkMutationService, NaturalLinkableTabDirective, NaturalLoggerConfigExtra, NaturalLoggerConfigUrl, NaturalMatomoModule, NaturalMatomoService, NaturalMemoryStorage, NaturalPanelsComponent, NaturalPanelsModule, NaturalPanelsService, NaturalPersistenceService, NaturalQueryVariablesManager, NaturalRelationsComponent, NaturalRelationsModule, NaturalSearchComponent, NaturalSearchModule, NaturalSelectComponent, NaturalSelectEnumComponent, NaturalSelectHierarchicComponent, NaturalSelectModule, NaturalSeoService, NaturalSidenavComponent, NaturalSidenavContainerComponent, NaturalSidenavContentComponent, NaturalSidenavModule, NaturalSidenavService, NaturalSidenavStackService, NaturalSrcDensityDirective, NaturalStampComponent, NaturalStampModule, NaturalSwissDatePipe, NaturalSwissParsingDateAdapter, NaturalTableButtonComponent, NaturalTableButtonModule, PanelsHooksConfig, SESSION_STORAGE, SortingOrder, TypeDateComponent, TypeDateRangeComponent, TypeHierarchicSelectorComponent, TypeNaturalSelectComponent, TypeNumberComponent, TypeSelectComponent, TypeTextComponent, available, cancellableTimeout, cleanSameValues, collectErrors, copyToClipboard, debug, decimal, deepFreeze, deliverableEmail, ensureHttpPrefix, fallbackIfNoOpenedPanels, formatIsoDate, formatIsoDateTime, fromUrl, getForegroundColor, hasFilesAndProcessDate, ifValid, integer, localStorageFactory, localStorageProvider, lowerCaseFirstLetter, makePlural, memoryLocalStorageProvider, memorySessionStorageProvider, mergeOverrideArray, money, naturalPanelsUrlMatcher, relationsToIds, replaceObjectKeepingReference, replaceOperatorByField, replaceOperatorByName, sessionStorageFactory, sessionStorageProvider, toGraphQLDoctrineFilter, toNavigationParameters, toUrl, unique, upperCaseFirstLetter, urlValidator, validTlds, validateAllFormControls, wrapLike };
10715
10920
  //# sourceMappingURL=ecodev-natural.mjs.map