@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,14 +58,14 @@ 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
- import { Md5 } from 'ts-md5';
69
69
  import * as i1$8 from '@angular/common/http';
70
70
  import { HttpHeaders, HttpClientModule } from '@angular/common/http';
71
71
 
@@ -377,6 +377,10 @@ function copyToClipboard(document, text) {
377
377
  document.execCommand('copy');
378
378
  document.body.removeChild(input);
379
379
  }
380
+ function deepFreeze(o) {
381
+ Object.values(o).forEach(v => Object.isFrozen(v) || deepFreeze(v));
382
+ return Object.freeze(o);
383
+ }
380
384
 
381
385
  // Basic; loosely typed structure for graphql-doctrine filters
382
386
  // Logical operator to be used in conditions
@@ -2899,12 +2903,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImpor
2899
2903
  args: [SESSION_STORAGE]
2900
2904
  }] }]; } });
2901
2905
 
2902
- /**
2903
- * Data source to provide what data should be rendered in the table. The observable provided
2904
- * in connect should emit exactly the data that should be rendered by the table. If the data is
2905
- * altered, the observable should emit that new set of data on the stream. In our case here,
2906
- * we return a stream that contains only one set of data that doesn't change.
2907
- */
2908
2906
  /**
2909
2907
  * A NaturalDataSource will connect immediately, in order to know as soon as possible if
2910
2908
  * we need to show a template at all (as seen in my-ichtus)
@@ -2946,17 +2944,17 @@ class NaturalDataSource extends DataSource {
2946
2944
  if (!this.data) {
2947
2945
  return;
2948
2946
  }
2949
- const fullList = this.data.items;
2947
+ const fullList = [...this.data.items];
2950
2948
  fullList.push(item);
2951
- this.data = Object.assign(this.data, { items: fullList, length: fullList.length });
2949
+ this.data = { ...this.data, items: fullList, length: fullList.length };
2952
2950
  }
2953
2951
  pop() {
2954
2952
  if (!this.data) {
2955
2953
  return;
2956
2954
  }
2957
- const fullList = this.data.items;
2955
+ const fullList = [...this.data.items];
2958
2956
  const removedElement = fullList.pop();
2959
- this.data = Object.assign(this.data, { items: fullList, length: fullList.length });
2957
+ this.data = { ...this.data, items: fullList, length: fullList.length };
2960
2958
  return removedElement;
2961
2959
  }
2962
2960
  remove(item) {
@@ -2965,9 +2963,9 @@ class NaturalDataSource extends DataSource {
2965
2963
  }
2966
2964
  const index = this.data.items.indexOf(item);
2967
2965
  if (index > -1) {
2968
- this.data.items.splice(index, 1);
2969
- this.data.length--;
2970
- this.data = this.data;
2966
+ const fullList = [...this.data.items];
2967
+ fullList.splice(index, 1);
2968
+ this.data = { ...this.data, items: fullList, length: fullList.length };
2971
2969
  }
2972
2970
  }
2973
2971
  }
@@ -6790,10 +6788,10 @@ class NaturalGroupComponent {
6790
6788
  }
6791
6789
  }
6792
6790
  NaturalGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6793
- 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"] }] });
6791
+ 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"] }] });
6794
6792
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalGroupComponent, decorators: [{
6795
6793
  type: Component,
6796
- 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"] }]
6794
+ 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"] }]
6797
6795
  }], propDecorators: { newValueInput: [{
6798
6796
  type: ViewChild,
6799
6797
  args: ['newValueInput']
@@ -6862,10 +6860,10 @@ class NaturalSearchComponent {
6862
6860
  }
6863
6861
  }
6864
6862
  NaturalSearchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalSearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6865
- 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"] }] });
6863
+ 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"] }] });
6866
6864
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalSearchComponent, decorators: [{
6867
6865
  type: Component,
6868
- 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"] }]
6866
+ 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"] }]
6869
6867
  }], propDecorators: { placeholder: [{
6870
6868
  type: Input
6871
6869
  }], facets: [{
@@ -9133,7 +9131,7 @@ class NaturalPanelsService {
9133
9131
  * And we cannot make it non-static, because `UrlMatcher` cannot be injected.
9134
9132
  */
9135
9133
  NaturalPanelsService._opened = false;
9136
- 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 });
9134
+ 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 });
9137
9135
  NaturalPanelsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalPanelsService, providedIn: 'root' });
9138
9136
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalPanelsService, decorators: [{
9139
9137
  type: Injectable,
@@ -9143,7 +9141,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImpor
9143
9141
  }], ctorParameters: function () { return [{ type: i2$1.Router }, { type: i1.MatDialog }, { type: i0.Injector }, { type: undefined, decorators: [{
9144
9142
  type: Inject,
9145
9143
  args: [PanelsHooksConfig]
9146
- }] }, { type: i3$2.MediaObserver }]; } });
9144
+ }] }, { type: i3$3.MediaObserver }]; } });
9147
9145
 
9148
9146
  class NaturalPanelsComponent {
9149
9147
  // PanelsComponent is kind of a "ghost" component to respond to an url matcher in route config,
@@ -9727,12 +9725,12 @@ class NaturalSidenavService extends NaturalAbstractController {
9727
9725
  }
9728
9726
  }
9729
9727
  }
9730
- 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 });
9728
+ 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 });
9731
9729
  NaturalSidenavService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalSidenavService, providedIn: 'root' });
9732
9730
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalSidenavService, decorators: [{
9733
9731
  type: Injectable,
9734
9732
  args: [{ providedIn: 'root' }]
9735
- }], ctorParameters: function () { return [{ type: i3$2.MediaObserver }, { type: i2$1.Router }, { type: undefined, decorators: [{
9733
+ }], ctorParameters: function () { return [{ type: i3$3.MediaObserver }, { type: i2$1.Router }, { type: undefined, decorators: [{
9736
9734
  type: Inject,
9737
9735
  args: [SESSION_STORAGE]
9738
9736
  }] }, { type: NaturalSidenavStackService }]; } });
@@ -9791,7 +9789,7 @@ class NaturalSidenavContainerComponent {
9791
9789
  }
9792
9790
  }
9793
9791
  NaturalSidenavContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalSidenavContainerComponent, deps: [{ token: NaturalSidenavService }], target: i0.ɵɵFactoryTarget.Component });
9794
- 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" }] });
9792
+ 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" }] });
9795
9793
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: NaturalSidenavContainerComponent, decorators: [{
9796
9794
  type: Component,
9797
9795
  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"] }]
@@ -10060,6 +10058,213 @@ class Source {
10060
10058
  }
10061
10059
  }
10062
10060
 
10061
+ function md5(string) {
10062
+ const x = convertToWordArray(utf8Encode(string));
10063
+ const S11 = 7;
10064
+ const S12 = 12;
10065
+ const S13 = 17;
10066
+ const S14 = 22;
10067
+ const S21 = 5;
10068
+ const S22 = 9;
10069
+ const S23 = 14;
10070
+ const S24 = 20;
10071
+ const S31 = 4;
10072
+ const S32 = 11;
10073
+ const S33 = 16;
10074
+ const S34 = 23;
10075
+ const S41 = 6;
10076
+ const S42 = 10;
10077
+ const S43 = 15;
10078
+ const S44 = 21;
10079
+ let a = 0x67452301;
10080
+ let b = 0xefcdab89;
10081
+ let c = 0x98badcfe;
10082
+ let d = 0x10325476;
10083
+ for (let k = 0; k < x.length; k += 16) {
10084
+ const AA = a;
10085
+ const BB = b;
10086
+ const CC = c;
10087
+ const DD = d;
10088
+ a = FF(a, b, c, d, x[k], S11, 0xd76aa478);
10089
+ d = FF(d, a, b, c, x[k + 1], S12, 0xe8c7b756);
10090
+ c = FF(c, d, a, b, x[k + 2], S13, 0x242070db);
10091
+ b = FF(b, c, d, a, x[k + 3], S14, 0xc1bdceee);
10092
+ a = FF(a, b, c, d, x[k + 4], S11, 0xf57c0faf);
10093
+ d = FF(d, a, b, c, x[k + 5], S12, 0x4787c62a);
10094
+ c = FF(c, d, a, b, x[k + 6], S13, 0xa8304613);
10095
+ b = FF(b, c, d, a, x[k + 7], S14, 0xfd469501);
10096
+ a = FF(a, b, c, d, x[k + 8], S11, 0x698098d8);
10097
+ d = FF(d, a, b, c, x[k + 9], S12, 0x8b44f7af);
10098
+ c = FF(c, d, a, b, x[k + 10], S13, 0xffff5bb1);
10099
+ b = FF(b, c, d, a, x[k + 11], S14, 0x895cd7be);
10100
+ a = FF(a, b, c, d, x[k + 12], S11, 0x6b901122);
10101
+ d = FF(d, a, b, c, x[k + 13], S12, 0xfd987193);
10102
+ c = FF(c, d, a, b, x[k + 14], S13, 0xa679438e);
10103
+ b = FF(b, c, d, a, x[k + 15], S14, 0x49b40821);
10104
+ a = GG(a, b, c, d, x[k + 1], S21, 0xf61e2562);
10105
+ d = GG(d, a, b, c, x[k + 6], S22, 0xc040b340);
10106
+ c = GG(c, d, a, b, x[k + 11], S23, 0x265e5a51);
10107
+ b = GG(b, c, d, a, x[k], S24, 0xe9b6c7aa);
10108
+ a = GG(a, b, c, d, x[k + 5], S21, 0xd62f105d);
10109
+ d = GG(d, a, b, c, x[k + 10], S22, 0x2441453);
10110
+ c = GG(c, d, a, b, x[k + 15], S23, 0xd8a1e681);
10111
+ b = GG(b, c, d, a, x[k + 4], S24, 0xe7d3fbc8);
10112
+ a = GG(a, b, c, d, x[k + 9], S21, 0x21e1cde6);
10113
+ d = GG(d, a, b, c, x[k + 14], S22, 0xc33707d6);
10114
+ c = GG(c, d, a, b, x[k + 3], S23, 0xf4d50d87);
10115
+ b = GG(b, c, d, a, x[k + 8], S24, 0x455a14ed);
10116
+ a = GG(a, b, c, d, x[k + 13], S21, 0xa9e3e905);
10117
+ d = GG(d, a, b, c, x[k + 2], S22, 0xfcefa3f8);
10118
+ c = GG(c, d, a, b, x[k + 7], S23, 0x676f02d9);
10119
+ b = GG(b, c, d, a, x[k + 12], S24, 0x8d2a4c8a);
10120
+ a = HH(a, b, c, d, x[k + 5], S31, 0xfffa3942);
10121
+ d = HH(d, a, b, c, x[k + 8], S32, 0x8771f681);
10122
+ c = HH(c, d, a, b, x[k + 11], S33, 0x6d9d6122);
10123
+ b = HH(b, c, d, a, x[k + 14], S34, 0xfde5380c);
10124
+ a = HH(a, b, c, d, x[k + 1], S31, 0xa4beea44);
10125
+ d = HH(d, a, b, c, x[k + 4], S32, 0x4bdecfa9);
10126
+ c = HH(c, d, a, b, x[k + 7], S33, 0xf6bb4b60);
10127
+ b = HH(b, c, d, a, x[k + 10], S34, 0xbebfbc70);
10128
+ a = HH(a, b, c, d, x[k + 13], S31, 0x289b7ec6);
10129
+ d = HH(d, a, b, c, x[k], S32, 0xeaa127fa);
10130
+ c = HH(c, d, a, b, x[k + 3], S33, 0xd4ef3085);
10131
+ b = HH(b, c, d, a, x[k + 6], S34, 0x4881d05);
10132
+ a = HH(a, b, c, d, x[k + 9], S31, 0xd9d4d039);
10133
+ d = HH(d, a, b, c, x[k + 12], S32, 0xe6db99e5);
10134
+ c = HH(c, d, a, b, x[k + 15], S33, 0x1fa27cf8);
10135
+ b = HH(b, c, d, a, x[k + 2], S34, 0xc4ac5665);
10136
+ a = II(a, b, c, d, x[k], S41, 0xf4292244);
10137
+ d = II(d, a, b, c, x[k + 7], S42, 0x432aff97);
10138
+ c = II(c, d, a, b, x[k + 14], S43, 0xab9423a7);
10139
+ b = II(b, c, d, a, x[k + 5], S44, 0xfc93a039);
10140
+ a = II(a, b, c, d, x[k + 12], S41, 0x655b59c3);
10141
+ d = II(d, a, b, c, x[k + 3], S42, 0x8f0ccc92);
10142
+ c = II(c, d, a, b, x[k + 10], S43, 0xffeff47d);
10143
+ b = II(b, c, d, a, x[k + 1], S44, 0x85845dd1);
10144
+ a = II(a, b, c, d, x[k + 8], S41, 0x6fa87e4f);
10145
+ d = II(d, a, b, c, x[k + 15], S42, 0xfe2ce6e0);
10146
+ c = II(c, d, a, b, x[k + 6], S43, 0xa3014314);
10147
+ b = II(b, c, d, a, x[k + 13], S44, 0x4e0811a1);
10148
+ a = II(a, b, c, d, x[k + 4], S41, 0xf7537e82);
10149
+ d = II(d, a, b, c, x[k + 11], S42, 0xbd3af235);
10150
+ c = II(c, d, a, b, x[k + 2], S43, 0x2ad7d2bb);
10151
+ b = II(b, c, d, a, x[k + 9], S44, 0xeb86d391);
10152
+ a = addUnsigned(a, AA);
10153
+ b = addUnsigned(b, BB);
10154
+ c = addUnsigned(c, CC);
10155
+ d = addUnsigned(d, DD);
10156
+ }
10157
+ const result = wordToHex(a) + wordToHex(b) + wordToHex(c) + wordToHex(d);
10158
+ return result.toLowerCase();
10159
+ }
10160
+ function addUnsigned(lX, lY) {
10161
+ const lX8 = lX & 0x80000000;
10162
+ const lY8 = lY & 0x80000000;
10163
+ const lX4 = lX & 0x40000000;
10164
+ const lY4 = lY & 0x40000000;
10165
+ const lResult = (lX & 0x3fffffff) + (lY & 0x3fffffff);
10166
+ if (!!(lX4 & lY4)) {
10167
+ return lResult ^ 0x80000000 ^ lX8 ^ lY8;
10168
+ }
10169
+ if (!!(lX4 | lY4)) {
10170
+ if (!!(lResult & 0x40000000)) {
10171
+ return lResult ^ 0xc0000000 ^ lX8 ^ lY8;
10172
+ }
10173
+ else {
10174
+ return lResult ^ 0x40000000 ^ lX8 ^ lY8;
10175
+ }
10176
+ }
10177
+ else {
10178
+ return lResult ^ lX8 ^ lY8;
10179
+ }
10180
+ }
10181
+ function rotateLeft(lValue, iShiftBits) {
10182
+ return (lValue << iShiftBits) | (lValue >>> (32 - iShiftBits));
10183
+ }
10184
+ function F(x, y, z) {
10185
+ return (x & y) | (~x & z);
10186
+ }
10187
+ function G(x, y, z) {
10188
+ return (x & z) | (y & ~z);
10189
+ }
10190
+ function H(x, y, z) {
10191
+ return x ^ y ^ z;
10192
+ }
10193
+ function I(x, y, z) {
10194
+ return y ^ (x | ~z);
10195
+ }
10196
+ function FF(a, b, c, d, x, s, ac) {
10197
+ a = addUnsigned(a, addUnsigned(addUnsigned(F(b, c, d), x), ac));
10198
+ return addUnsigned(rotateLeft(a, s), b);
10199
+ }
10200
+ function GG(a, b, c, d, x, s, ac) {
10201
+ a = addUnsigned(a, addUnsigned(addUnsigned(G(b, c, d), x), ac));
10202
+ return addUnsigned(rotateLeft(a, s), b);
10203
+ }
10204
+ function HH(a, b, c, d, x, s, ac) {
10205
+ a = addUnsigned(a, addUnsigned(addUnsigned(H(b, c, d), x), ac));
10206
+ return addUnsigned(rotateLeft(a, s), b);
10207
+ }
10208
+ function II(a, b, c, d, x, s, ac) {
10209
+ a = addUnsigned(a, addUnsigned(addUnsigned(I(b, c, d), x), ac));
10210
+ return addUnsigned(rotateLeft(a, s), b);
10211
+ }
10212
+ function convertToWordArray(string) {
10213
+ let lWordCount;
10214
+ const lMessageLength = string.length;
10215
+ const lNumberOfWords_temp1 = lMessageLength + 8;
10216
+ const lNumberOfWords_temp2 = (lNumberOfWords_temp1 - (lNumberOfWords_temp1 % 64)) / 64;
10217
+ const lNumberOfWords = (lNumberOfWords_temp2 + 1) * 16;
10218
+ const lWordArray = Array(lNumberOfWords - 1);
10219
+ let lBytePosition = 0;
10220
+ let lByteCount = 0;
10221
+ while (lByteCount < lMessageLength) {
10222
+ lWordCount = (lByteCount - (lByteCount % 4)) / 4;
10223
+ lBytePosition = (lByteCount % 4) * 8;
10224
+ lWordArray[lWordCount] = lWordArray[lWordCount] | (string.charCodeAt(lByteCount) << lBytePosition);
10225
+ lByteCount++;
10226
+ }
10227
+ lWordCount = (lByteCount - (lByteCount % 4)) / 4;
10228
+ lBytePosition = (lByteCount % 4) * 8;
10229
+ lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80 << lBytePosition);
10230
+ lWordArray[lNumberOfWords - 2] = lMessageLength << 3;
10231
+ lWordArray[lNumberOfWords - 1] = lMessageLength >>> 29;
10232
+ return lWordArray;
10233
+ }
10234
+ function wordToHex(lValue) {
10235
+ let WordToHexValue = '';
10236
+ let WordToHexValue_temp = '';
10237
+ let lByte;
10238
+ let lCount;
10239
+ for (lCount = 0; lCount <= 3; lCount++) {
10240
+ lByte = (lValue >>> (lCount * 8)) & 255;
10241
+ WordToHexValue_temp = '0' + lByte.toString(16);
10242
+ WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length - 2, 2);
10243
+ }
10244
+ return WordToHexValue;
10245
+ }
10246
+ function utf8Encode(string) {
10247
+ let utftext = '';
10248
+ let c;
10249
+ string = string.replace(/\r\n/g, '\n');
10250
+ for (let n = 0; n < string.length; n++) {
10251
+ c = string.charCodeAt(n);
10252
+ if (c < 128) {
10253
+ utftext += String.fromCharCode(c);
10254
+ }
10255
+ else if (c > 127 && c < 2048) {
10256
+ utftext += String.fromCharCode((c >> 6) | 192);
10257
+ utftext += String.fromCharCode((c & 63) | 128);
10258
+ }
10259
+ else {
10260
+ utftext += String.fromCharCode((c >> 12) | 224);
10261
+ utftext += String.fromCharCode(((c >> 6) & 63) | 128);
10262
+ utftext += String.fromCharCode((c & 63) | 128);
10263
+ }
10264
+ }
10265
+ return utftext;
10266
+ }
10267
+
10063
10268
  function isRetina() {
10064
10269
  // We cannot reasonably inject `DOCUMENT` here, but we are extra
10065
10270
  // careful about usage of `window` and its possible non-existence in SSR,
@@ -10078,9 +10283,9 @@ function isRetina() {
10078
10283
  class Gravatar extends Source {
10079
10284
  getAvatar(size) {
10080
10285
  const value = this.getValue();
10081
- const md5 = value.match('^[a-f0-9]{32}$') ? value : Md5.hashStr(value.trim().toLowerCase()).toString();
10286
+ const hash = value.match('^[a-f0-9]{32}$') ? value : md5(value.trim().toLowerCase()).toString();
10082
10287
  const avatarSize = isRetina() ? size * 2 : size;
10083
- return `https://secure.gravatar.com/avatar/${md5}?s=${avatarSize}&d=404`;
10288
+ return `https://secure.gravatar.com/avatar/${hash}?s=${avatarSize}&d=404`;
10084
10289
  }
10085
10290
  isTextual() {
10086
10291
  return false;
@@ -10637,5 +10842,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImpor
10637
10842
  * Generated bundle index. Do not edit.
10638
10843
  */
10639
10844
 
10640
- 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 };
10845
+ 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 };
10641
10846
  //# sourceMappingURL=ecodev-natural.mjs.map