@elderbyte/ngx-starter 19.1.0-beta.1 → 19.1.0-beta.2

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.
@@ -1,4 +1,4 @@
1
- import * as i1$4 from '@angular/common';
1
+ import * as i2 from '@angular/common';
2
2
  import { formatDate, CommonModule, formatCurrency, getCurrencySymbol, NgIf, AsyncPipe, NgFor, NgClass, NgTemplateOutlet, NgStyle, formatNumber, DecimalPipe, DatePipe, registerLocaleData, CurrencyPipe } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
4
  import { Pipe, LOCALE_ID, Inject, NgModule, Optional, SkipSelf, Directive, Output, Input, forwardRef, ViewChild, inject, ElementRef, DestroyRef, model, signal, computed, untracked, HostBinding, ViewChildren, ContentChild, Injectable, Component, ChangeDetectionStrategy, Host, APP_INITIALIZER, TemplateRef, HostListener, EventEmitter, input, ViewEncapsulation, InjectionToken, ContentChildren, output, effect, booleanAttribute, viewChild, contentChild } from '@angular/core';
@@ -11,12 +11,12 @@ import { Temporal } from '@js-temporal/polyfill';
11
11
  import * as i1$1 from '@angular/common/http';
12
12
  import { HttpParams, HttpEventType, HttpRequest, HttpClient, HttpErrorResponse, HTTP_INTERCEPTORS } from '@angular/common/http';
13
13
  import { DataSource } from '@angular/cdk/collections';
14
- import * as i1$5 from '@angular/forms';
14
+ import * as i1$4 from '@angular/forms';
15
15
  import { ControlContainer, NG_VALUE_ACCESSOR, NG_VALIDATORS, NgControl, NgModel, FormsModule, UntypedFormControl, ReactiveFormsModule, NgForm, Validators } from '@angular/forms';
16
16
  import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
17
17
  import { FocusMonitor, CdkTrapFocus, A11yModule } from '@angular/cdk/a11y';
18
18
  import { takeUntilDestroyed, toObservable, toSignal } from '@angular/core/rxjs-interop';
19
- import * as i1$c from '@angular/material/form-field';
19
+ import * as i1$b from '@angular/material/form-field';
20
20
  import { MatFormFieldControl, MatFormField, MatLabel, MatFormFieldModule, MatPrefix, MatHint, MatError, MatSuffix } from '@angular/material/form-field';
21
21
  import * as i1$2 from '@ngx-translate/core';
22
22
  import { TranslateModule, TranslateService } from '@ngx-translate/core';
@@ -25,41 +25,41 @@ import { RouterModule, NavigationEnd, RouterLinkActive, RouterLink, RouterOutlet
25
25
  import * as i5 from '@angular/material/icon';
26
26
  import { MatIcon, MatIconModule } from '@angular/material/icon';
27
27
  import { MatSlideToggle, MatSlideToggleModule } from '@angular/material/slide-toggle';
28
- import * as i2 from '@elderbyte/ngx-simple-webstorage';
28
+ import * as i2$1 from '@elderbyte/ngx-simple-webstorage';
29
29
  import { SimpleWebStorageModule } from '@elderbyte/ngx-simple-webstorage';
30
- import * as i1$6 from '@angular/material/toolbar';
30
+ import * as i1$5 from '@angular/material/toolbar';
31
31
  import { MatToolbar, MatToolbarRow, MatToolbarModule } from '@angular/material/toolbar';
32
32
  import { MatCard, MatCardModule, MatCardContent } from '@angular/material/card';
33
- import * as i1$e from '@angular/material/core';
33
+ import * as i1$d from '@angular/material/core';
34
34
  import { MatRipple, MatRippleModule, MatOption, MatCommonModule, NativeDateAdapter, MAT_DATE_LOCALE, DateAdapter, MatNativeDateModule } from '@angular/material/core';
35
35
  import * as i7 from '@angular/material/button';
36
36
  import { MatButtonModule, MatIconButton, MatButton, MatIconAnchor, MatAnchor } from '@angular/material/button';
37
- import * as i1$b from '@angular/material/autocomplete';
37
+ import * as i1$a from '@angular/material/autocomplete';
38
38
  import { MatAutocompleteTrigger, MatAutocomplete, MatAutocompleteModule } from '@angular/material/autocomplete';
39
- import * as i1$9 from '@angular/material/chips';
39
+ import * as i1$8 from '@angular/material/chips';
40
40
  import { MatChipGrid, MatChipRow, MatChipRemove, MatChipInput, MatChipsModule, MatChip, MatChipAvatar, MatChipSet, MatChipTrailingIcon, MatChipListbox, MatChipOption } from '@angular/material/chips';
41
41
  import * as i3$1 from '@angular/material/input';
42
42
  import { MatInput, MatInputModule } from '@angular/material/input';
43
43
  import { MatList, MatListSubheaderCssMatStyler, MatListItem, MatListModule } from '@angular/material/list';
44
44
  import { MatProgressBar, MatProgressBarModule } from '@angular/material/progress-bar';
45
- import * as i1$7 from '@angular/material/snack-bar';
45
+ import * as i1$6 from '@angular/material/snack-bar';
46
46
  import { MAT_SNACK_BAR_DATA, MatSnackBarLabel, MatSnackBarActions, MatSnackBarAction, MatSnackBarModule } from '@angular/material/snack-bar';
47
47
  import { transferArrayItem, moveItemInArray, CdkDropList, CdkDrag, DragDropModule } from '@angular/cdk/drag-drop';
48
48
  import { MatDivider, MatDividerModule } from '@angular/material/divider';
49
- import * as i2$1 from '@angular/material/badge';
49
+ import * as i2$2 from '@angular/material/badge';
50
50
  import { MatBadge, MatBadgeModule } from '@angular/material/badge';
51
- import * as i1$d from '@angular/material/checkbox';
51
+ import * as i1$c from '@angular/material/checkbox';
52
52
  import { MatCheckbox, MatCheckboxModule } from '@angular/material/checkbox';
53
- import * as i1$8 from '@angular/material/dialog';
53
+ import * as i1$7 from '@angular/material/dialog';
54
54
  import { MatDialogClose, MAT_DIALOG_DATA, MatDialogConfig, MatDialogModule } from '@angular/material/dialog';
55
55
  import * as i9 from '@angular/material/menu';
56
56
  import { MatMenuTrigger, MatMenu, MatMenuItem, MatMenuModule } from '@angular/material/menu';
57
57
  import { MatTooltipModule, MatTooltip } from '@angular/material/tooltip';
58
58
  import { MatPaginator, MatPaginatorIntl, MatPaginatorModule } from '@angular/material/paginator';
59
59
  import { MatColumnDef, MatRowDef, MatTable, MatHeaderCellDef, MatHeaderCell, MatCellDef, MatCell, MatFooterCellDef, MatFooterCell, MatHeaderRowDef, MatHeaderRow, MatRow, MatFooterRowDef, MatFooterRow, MatTableModule } from '@angular/material/table';
60
- import * as i1$a from '@angular/cdk/table';
60
+ import * as i1$9 from '@angular/cdk/table';
61
61
  import { CdkTableModule } from '@angular/cdk/table';
62
- import * as i2$2 from '@angular/material/sort';
62
+ import * as i2$3 from '@angular/material/sort';
63
63
  import { MatSortModule, MatSort, MatSortHeader } from '@angular/material/sort';
64
64
  import { CdkVirtualScrollViewport, CdkFixedSizeVirtualScroll, CdkVirtualForOf, ScrollingModule } from '@angular/cdk/scrolling';
65
65
  import * as i3 from '@angular/cdk/layout';
@@ -69,15 +69,15 @@ import { Subject as Subject$1 } from 'rxjs/internal/Subject';
69
69
  import { MatProgressSpinnerModule, MatProgressSpinner } from '@angular/material/progress-spinner';
70
70
  import { trigger, state, style, transition, animate } from '@angular/animations';
71
71
  import { MatSidenavContainer, MatSidenav, MatSidenavContent, MatSidenavModule } from '@angular/material/sidenav';
72
- import * as i1$f from '@angular/material/datepicker';
72
+ import * as i1$e from '@angular/material/datepicker';
73
73
  import { MatDatepicker, MatDatepickerInput, MatDatepickerToggle, MatDatepickerToggleIcon, MatDateRangeInput, MatStartDate, MatEndDate, MatDateRangePicker, DateRange, MatDatepickerModule, MatCalendar } from '@angular/material/datepicker';
74
74
  import { TemplatePortal } from '@angular/cdk/portal';
75
- import * as i1$g from '@angular/cdk/overlay';
75
+ import * as i1$f from '@angular/cdk/overlay';
76
76
  import { OverlayModule } from '@angular/cdk/overlay';
77
77
  import localeDECH from '@angular/common/locales/de-CH';
78
78
  import * as StreamSaver from 'streamsaver';
79
79
  import { MatAccordion, MatExpansionPanel, MatExpansionPanelHeader, MatExpansionPanelTitle, MatExpansionPanelDescription, MatExpansionModule } from '@angular/material/expansion';
80
- import * as i1$h from '@angular/material/tabs';
80
+ import * as i1$g from '@angular/material/tabs';
81
81
  import { MatTab } from '@angular/material/tabs';
82
82
  import { fetchEventSource, EventStreamContentType } from '@microsoft/fetch-event-source';
83
83
 
@@ -9128,7 +9128,7 @@ class ElderRouterService {
9128
9128
  const url = this.router.serializeUrl(urlTree);
9129
9129
  return this.location.prepareExternalUrl(url);
9130
9130
  }
9131
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderRouterService, deps: [{ token: i1$3.Router }, { token: i1$4.Location }], target: i0.ɵɵFactoryTarget.Injectable }); }
9131
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderRouterService, deps: [{ token: i1$3.Router }, { token: i2.Location }], target: i0.ɵɵFactoryTarget.Injectable }); }
9132
9132
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderRouterService, providedIn: 'root' }); }
9133
9133
  }
9134
9134
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderRouterService, decorators: [{
@@ -9136,7 +9136,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
9136
9136
  args: [{
9137
9137
  providedIn: 'root',
9138
9138
  }]
9139
- }], ctorParameters: () => [{ type: i1$3.Router }, { type: i1$4.Location }] });
9139
+ }], ctorParameters: () => [{ type: i1$3.Router }, { type: i2.Location }] });
9140
9140
 
9141
9141
  class SuggestionProvider {
9142
9142
  static build(provider) {
@@ -9463,7 +9463,7 @@ class ElderThemePreferenceService {
9463
9463
  }
9464
9464
  return initialTheme;
9465
9465
  }
9466
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderThemePreferenceService, deps: [{ token: ElderThemeService }, { token: i2.WebLocalStorage }], target: i0.ɵɵFactoryTarget.Injectable }); }
9466
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderThemePreferenceService, deps: [{ token: ElderThemeService }, { token: i2$1.WebLocalStorage }], target: i0.ɵɵFactoryTarget.Injectable }); }
9467
9467
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderThemePreferenceService, providedIn: 'root' }); }
9468
9468
  }
9469
9469
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderThemePreferenceService, decorators: [{
@@ -9471,7 +9471,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
9471
9471
  args: [{
9472
9472
  providedIn: 'root',
9473
9473
  }]
9474
- }], ctorParameters: () => [{ type: ElderThemeService }, { type: i2.WebLocalStorage }] });
9474
+ }], ctorParameters: () => [{ type: ElderThemeService }, { type: i2$1.WebLocalStorage }] });
9475
9475
 
9476
9476
  class ElderThemeToggleComponent {
9477
9477
  /***************************************************************************
@@ -9526,7 +9526,7 @@ class ElderThemeToggleComponent {
9526
9526
  }
9527
9527
  }
9528
9528
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderThemeToggleComponent, deps: [{ token: ElderThemeService }, { token: ElderThemePreferenceService }], target: i0.ɵɵFactoryTarget.Component }); }
9529
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ElderThemeToggleComponent, isStandalone: true, selector: "elder-theme-toggle", inputs: { color: "color" }, ngImport: i0, template: "<div class=\"layout-row place-start-center\" *ngIf=\"activeToggleTheme$ | async as activeToggleTheme\">\n <mat-slide-toggle\n [ngModel]=\"activeToggleTheme !== 'default'\"\n (ngModelChange)=\"onToggle($event)\"\n [color]=\"color\"\n >\n </mat-slide-toggle>\n <mat-icon [color]=\"color\">\n {{ activeToggleTheme === 'default' ? 'light_mode' : 'brightness_2' }}\n </mat-icon>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9529
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ElderThemeToggleComponent, isStandalone: true, selector: "elder-theme-toggle", inputs: { color: "color" }, ngImport: i0, template: "<div class=\"layout-row place-start-center\" *ngIf=\"activeToggleTheme$ | async as activeToggleTheme\">\n <mat-slide-toggle\n [ngModel]=\"activeToggleTheme !== 'default'\"\n (ngModelChange)=\"onToggle($event)\"\n [color]=\"color\"\n >\n </mat-slide-toggle>\n <mat-icon [color]=\"color\">\n {{ activeToggleTheme === 'default' ? 'light_mode' : 'brightness_2' }}\n </mat-icon>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9530
9530
  }
9531
9531
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderThemeToggleComponent, decorators: [{
9532
9532
  type: Component,
@@ -9578,7 +9578,7 @@ class ElderThemeDirective {
9578
9578
  this.matToolbar.color = theme.heroBackground;
9579
9579
  }
9580
9580
  }
9581
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderThemeDirective, deps: [{ token: i1$6.MatToolbar, host: true, optional: true }, { token: ElderThemeService }], target: i0.ɵɵFactoryTarget.Directive }); }
9581
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderThemeDirective, deps: [{ token: i1$5.MatToolbar, host: true, optional: true }, { token: ElderThemeService }], target: i0.ɵɵFactoryTarget.Directive }); }
9582
9582
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.3", type: ElderThemeDirective, isStandalone: true, selector: "[elderTheme]", ngImport: i0 }); }
9583
9583
  }
9584
9584
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderThemeDirective, decorators: [{
@@ -9587,7 +9587,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
9587
9587
  selector: '[elderTheme]',
9588
9588
  standalone: true,
9589
9589
  }]
9590
- }], ctorParameters: () => [{ type: i1$6.MatToolbar, decorators: [{
9590
+ }], ctorParameters: () => [{ type: i1$5.MatToolbar, decorators: [{
9591
9591
  type: Optional
9592
9592
  }, {
9593
9593
  type: Host
@@ -9706,11 +9706,11 @@ class ElderExpandToggleButtonComponent {
9706
9706
  this.expanded = !this.expanded;
9707
9707
  }
9708
9708
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderExpandToggleButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9709
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ElderExpandToggleButtonComponent, isStandalone: true, selector: "elder-expand-toggle-button", inputs: { expanded: "expanded" }, outputs: { expandedChange: "expandedChange" }, ngImport: i0, template: "<a\n matRipple\n class=\"layout-row place-start-center full toggle-button\"\n (click)=\"onToggleExpand($event)\"\n>\n <div class=\"layout-row place-start-center flex\">\n <ng-content></ng-content>\n\n <span class=\"flex\"></span>\n\n <div class=\"layout-col place-center-center\">\n <mat-icon>{{\n (expandedChange | async) ? 'keyboard_arrow_up' : 'keyboard_arrow_down'\n }}</mat-icon>\n </div>\n </div>\n</a>\n", dependencies: [{ kind: "directive", type: MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9709
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ElderExpandToggleButtonComponent, isStandalone: true, selector: "elder-expand-toggle-button", inputs: { expanded: "expanded" }, outputs: { expandedChange: "expandedChange" }, ngImport: i0, template: "<a\n matRipple\n class=\"layout-row place-start-center full toggle-button\"\n (click)=\"onToggleExpand($event)\"\n>\n <div class=\"layout-row place-start-center flex\">\n <ng-content></ng-content>\n\n <span class=\"flex\"></span>\n\n <div class=\"layout-col place-center-center\">\n <mat-icon>{{\n (expandedChange | async) ? 'keyboard_arrow_up' : 'keyboard_arrow_down'\n }}</mat-icon>\n </div>\n </div>\n</a>\n", styles: [".toggle-button{text-decoration:none;padding-left:16px;padding-right:16px;min-height:48px;border-radius:var(--elder-border-radius-sm);overflow:hidden;transition:background-color .5s}.toggle-button:hover{background-color:var(--md-sys-color-ternary-fixed);cursor:pointer}\n"], dependencies: [{ kind: "directive", type: MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9710
9710
  }
9711
9711
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderExpandToggleButtonComponent, decorators: [{
9712
9712
  type: Component,
9713
- args: [{ selector: 'elder-expand-toggle-button', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatRipple, MatIcon, AsyncPipe], template: "<a\n matRipple\n class=\"layout-row place-start-center full toggle-button\"\n (click)=\"onToggleExpand($event)\"\n>\n <div class=\"layout-row place-start-center flex\">\n <ng-content></ng-content>\n\n <span class=\"flex\"></span>\n\n <div class=\"layout-col place-center-center\">\n <mat-icon>{{\n (expandedChange | async) ? 'keyboard_arrow_up' : 'keyboard_arrow_down'\n }}</mat-icon>\n </div>\n </div>\n</a>\n" }]
9713
+ args: [{ selector: 'elder-expand-toggle-button', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatRipple, MatIcon, AsyncPipe], template: "<a\n matRipple\n class=\"layout-row place-start-center full toggle-button\"\n (click)=\"onToggleExpand($event)\"\n>\n <div class=\"layout-row place-start-center flex\">\n <ng-content></ng-content>\n\n <span class=\"flex\"></span>\n\n <div class=\"layout-col place-center-center\">\n <mat-icon>{{\n (expandedChange | async) ? 'keyboard_arrow_up' : 'keyboard_arrow_down'\n }}</mat-icon>\n </div>\n </div>\n</a>\n", styles: [".toggle-button{text-decoration:none;padding-left:16px;padding-right:16px;min-height:48px;border-radius:var(--elder-border-radius-sm);overflow:hidden;transition:background-color .5s}.toggle-button:hover{background-color:var(--md-sys-color-ternary-fixed);cursor:pointer}\n"] }]
9714
9714
  }], propDecorators: { expandedChange: [{
9715
9715
  type: Output
9716
9716
  }], expanded: [{
@@ -9921,7 +9921,7 @@ class ElderLabelInputComponent extends FormFieldBaseComponent {
9921
9921
  return this._compareWith ? this._compareWith(a, b) : a === b;
9922
9922
  }
9923
9923
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderLabelInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9924
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ElderLabelInputComponent, isStandalone: true, selector: "elder-label-input", inputs: { labels: "labels", suggestionLoader: "suggestionLoader", allowNew: "allowNew", compareWith: "compareWith", colorResolver: "colorResolver", nameResolver: "nameResolver", labelBuilder: "labelBuilder" }, outputs: { labelsChanged: "labelsChanged" }, providers: buildFormIntegrationProviders(ElderLabelInputComponent), viewQueries: [{ propertyName: "inputControl", first: true, predicate: ["labelInput"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-form-field\n [floatLabel]=\"floatLabel\"\n class=\"full-width\"\n [appearance]=\"appearance\"\n [color]=\"color\"\n>\n <mat-label *ngIf=\"label\">{{ label | translate }}</mat-label>\n\n <mat-chip-grid #chips>\n <mat-chip-row\n *ngFor=\"let label of currentLabels$ | async\"\n class=\"noselect\"\n [color]=\"labelColor(label)\"\n [disabled]=\"disabled\"\n [removable]=\"removable\"\n (removed)=\"removeLabel(label)\"\n >\n {{ labelName(label) }}\n <mat-icon matChipRemove *ngIf=\"!readonly && removable\">cancel</mat-icon>\n </mat-chip-row>\n\n <input\n matInput\n type=\"text\"\n [matChipInputFor]=\"chips\"\n [matAutocomplete]=\"labelAutoComplete\"\n [formControl]=\"labelInputControl\"\n (matChipInputTokenEnd)=\"createNewLabels($event)\"\n [name]=\"name\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [placeholder]=\"placeholder\"\n autocomplete=\"off\"\n #labelInput\n />\n </mat-chip-grid>\n\n <mat-autocomplete\n #labelAutoComplete=\"matAutocomplete\"\n panelWidth=\"auto\"\n (optionSelected)=\"labelSelected($event)\"\n >\n <mat-option *ngFor=\"let suggestion of availableSuggestions$ | async\" [value]=\"suggestion\">\n {{ labelName(suggestion) }}\n </mat-option>\n </mat-autocomplete>\n</mat-form-field>\n", styles: [".full-width{width:100%}\n"], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "component", type: MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatChipRemove, selector: "[matChipRemove]" }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9924
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ElderLabelInputComponent, isStandalone: true, selector: "elder-label-input", inputs: { labels: "labels", suggestionLoader: "suggestionLoader", allowNew: "allowNew", compareWith: "compareWith", colorResolver: "colorResolver", nameResolver: "nameResolver", labelBuilder: "labelBuilder" }, outputs: { labelsChanged: "labelsChanged" }, providers: buildFormIntegrationProviders(ElderLabelInputComponent), viewQueries: [{ propertyName: "inputControl", first: true, predicate: ["labelInput"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-form-field\n [floatLabel]=\"floatLabel\"\n class=\"full-width\"\n [appearance]=\"appearance\"\n [color]=\"color\"\n>\n <mat-label *ngIf=\"label\">{{ label | translate }}</mat-label>\n\n <mat-chip-grid #chips>\n <mat-chip-row\n *ngFor=\"let label of currentLabels$ | async\"\n class=\"noselect\"\n [color]=\"labelColor(label)\"\n [disabled]=\"disabled\"\n [removable]=\"removable\"\n (removed)=\"removeLabel(label)\"\n >\n {{ labelName(label) }}\n <mat-icon matChipRemove *ngIf=\"!readonly && removable\">cancel</mat-icon>\n </mat-chip-row>\n\n <input\n matInput\n type=\"text\"\n [matChipInputFor]=\"chips\"\n [matAutocomplete]=\"labelAutoComplete\"\n [formControl]=\"labelInputControl\"\n (matChipInputTokenEnd)=\"createNewLabels($event)\"\n [name]=\"name\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [placeholder]=\"placeholder\"\n autocomplete=\"off\"\n #labelInput\n />\n </mat-chip-grid>\n\n <mat-autocomplete\n #labelAutoComplete=\"matAutocomplete\"\n panelWidth=\"auto\"\n (optionSelected)=\"labelSelected($event)\"\n >\n <mat-option *ngFor=\"let suggestion of availableSuggestions$ | async\" [value]=\"suggestion\">\n {{ labelName(suggestion) }}\n </mat-option>\n </mat-autocomplete>\n</mat-form-field>\n", styles: [".full-width{width:100%}\n"], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "component", type: MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatChipRemove, selector: "[matChipRemove]" }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
9925
9925
  }
9926
9926
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderLabelInputComponent, decorators: [{
9927
9927
  type: Component,
@@ -11159,13 +11159,13 @@ class StandardToastComponent {
11159
11159
  return text;
11160
11160
  }
11161
11161
  }
11162
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: StandardToastComponent, deps: [{ token: i1$7.MatSnackBarRef }, { token: MAT_SNACK_BAR_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
11162
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: StandardToastComponent, deps: [{ token: i1$6.MatSnackBarRef }, { token: MAT_SNACK_BAR_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
11163
11163
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: StandardToastComponent, isStandalone: true, selector: "elder-standard-toast", ngImport: i0, template: "<div\n class=\"layout-col place-start-stretch gap-xs mat-mdc-snack-bar-container elder-toast\"\n [class.elder-toast-type-default]=\"!toast.type\"\n [class.elder-toast-type-primary]=\"toast.type === ToastType.Success\"\n [class.elder-toast-type-warn]=\"toast.type === ToastType.Warning\"\n [class.elder-toast-type-error]=\"toast.type === ToastType.Error\"\n>\n <!-- Icon and Status -->\n <div class=\"layout-row place-start-center gap-sm\">\n <mat-icon class=\"noselect\">{{ icon(toast.type) }}</mat-icon>\n <span class=\"toast-title mat-subtitle-2 noselect\">{{ toast.status }}</span>\n </div>\n\n <span></span>\n\n <!-- Toast Message -->\n @if (toast.message) {\n <span class=\"mat-body noselect\" matSnackBarLabel>{{ toast.message }}</span>\n }\n\n <span></span>\n\n <!-- Toast Detail -->\n @if (toast.detail) {\n <span class=\"mat-small noselect\" matSnackBarLabel>{{ trimDetailText(toast.detail, 200) }}</span>\n }\n\n <!-- Actions -->\n <div class=\"layout-row place-end-center\" matSnackBarActions>\n <button\n mat-flat-button\n matSnackBarAction\n type=\"button\"\n [color]=\"iconColor(toast.type)\"\n (click)=\"close()\"\n >\n Ok\n </button>\n </div>\n</div>\n", styles: [".elder-toast{--elder-toast-message-color-title: var(--elder-toast-message-color-title-default);--mdc-filled-button-container-color: var(--md-sys-color-secondary)}.elder-toast.elder-toast-type-warn{--elder-toast-message-color-title: var(--elder-toast-message-color-title-warn);--mdc-filled-button-container-color: var(--md-sys-color-tertiary-container)}.elder-toast.elder-toast-type-error{--elder-toast-message-color-title: var(--elder-toast-message-color-title-error);--mdc-filled-button-container-color: var(--md-sys-color-error)}.elder-toast button{color:var(--elder-toast-message-color-title)!important}.elder-toast .toast-title,.elder-toast .mat-icon{color:var(--elder-toast-message-color-title)}\n"], dependencies: [{ kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatSnackBarLabel, selector: "[matSnackBarLabel]" }, { kind: "directive", type: MatSnackBarActions, selector: "[matSnackBarActions]" }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: MatSnackBarAction, selector: "[matSnackBarAction]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11164
11164
  }
11165
11165
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: StandardToastComponent, decorators: [{
11166
11166
  type: Component,
11167
11167
  args: [{ selector: 'elder-standard-toast', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatIcon, MatSnackBarLabel, MatSnackBarActions, MatButton, MatSnackBarAction], template: "<div\n class=\"layout-col place-start-stretch gap-xs mat-mdc-snack-bar-container elder-toast\"\n [class.elder-toast-type-default]=\"!toast.type\"\n [class.elder-toast-type-primary]=\"toast.type === ToastType.Success\"\n [class.elder-toast-type-warn]=\"toast.type === ToastType.Warning\"\n [class.elder-toast-type-error]=\"toast.type === ToastType.Error\"\n>\n <!-- Icon and Status -->\n <div class=\"layout-row place-start-center gap-sm\">\n <mat-icon class=\"noselect\">{{ icon(toast.type) }}</mat-icon>\n <span class=\"toast-title mat-subtitle-2 noselect\">{{ toast.status }}</span>\n </div>\n\n <span></span>\n\n <!-- Toast Message -->\n @if (toast.message) {\n <span class=\"mat-body noselect\" matSnackBarLabel>{{ toast.message }}</span>\n }\n\n <span></span>\n\n <!-- Toast Detail -->\n @if (toast.detail) {\n <span class=\"mat-small noselect\" matSnackBarLabel>{{ trimDetailText(toast.detail, 200) }}</span>\n }\n\n <!-- Actions -->\n <div class=\"layout-row place-end-center\" matSnackBarActions>\n <button\n mat-flat-button\n matSnackBarAction\n type=\"button\"\n [color]=\"iconColor(toast.type)\"\n (click)=\"close()\"\n >\n Ok\n </button>\n </div>\n</div>\n", styles: [".elder-toast{--elder-toast-message-color-title: var(--elder-toast-message-color-title-default);--mdc-filled-button-container-color: var(--md-sys-color-secondary)}.elder-toast.elder-toast-type-warn{--elder-toast-message-color-title: var(--elder-toast-message-color-title-warn);--mdc-filled-button-container-color: var(--md-sys-color-tertiary-container)}.elder-toast.elder-toast-type-error{--elder-toast-message-color-title: var(--elder-toast-message-color-title-error);--mdc-filled-button-container-color: var(--md-sys-color-error)}.elder-toast button{color:var(--elder-toast-message-color-title)!important}.elder-toast .toast-title,.elder-toast .mat-icon{color:var(--elder-toast-message-color-title)}\n"] }]
11168
- }], ctorParameters: () => [{ type: i1$7.MatSnackBarRef }, { type: undefined, decorators: [{
11168
+ }], ctorParameters: () => [{ type: i1$6.MatSnackBarRef }, { type: undefined, decorators: [{
11169
11169
  type: Inject,
11170
11170
  args: [MAT_SNACK_BAR_DATA]
11171
11171
  }] }] });
@@ -11410,7 +11410,7 @@ class ElderToastService {
11410
11410
  return this.translate.get(options.msg, options.interpolateParams).pipe(catchError((err) => options.msg) // // no translation found, we use the translation key
11411
11411
  );
11412
11412
  }
11413
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderToastService, deps: [{ token: i1$2.TranslateService }, { token: i1$7.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable }); }
11413
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderToastService, deps: [{ token: i1$2.TranslateService }, { token: i1$6.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable }); }
11414
11414
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderToastService, providedIn: 'root' }); }
11415
11415
  }
11416
11416
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderToastService, decorators: [{
@@ -11418,7 +11418,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
11418
11418
  args: [{
11419
11419
  providedIn: 'root',
11420
11420
  }]
11421
- }], ctorParameters: () => [{ type: i1$2.TranslateService }, { type: i1$7.MatSnackBar }] });
11421
+ }], ctorParameters: () => [{ type: i1$2.TranslateService }, { type: i1$6.MatSnackBar }] });
11422
11422
 
11423
11423
  class BlobContext {
11424
11424
  static textBlob(text, mimeType) {
@@ -11618,11 +11618,11 @@ class ElderBlobViewerComponent {
11618
11618
  });
11619
11619
  }
11620
11620
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderBlobViewerComponent, deps: [{ token: HttpClientPristine }, { token: i1.DomSanitizer }, { token: ElderToastService }], target: i0.ɵɵFactoryTarget.Component }); }
11621
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.3", type: ElderBlobViewerComponent, isStandalone: true, selector: "elder-blob-viewer", inputs: { displayUnknownAsText: { classPropertyName: "displayUnknownAsText", publicName: "displayUnknownAsText", isSignal: true, isRequired: false, transformFunction: null }, blob: { classPropertyName: "blob", publicName: "blob", isSignal: false, isRequired: false, transformFunction: null }, blobUrl: { classPropertyName: "blobUrl", publicName: "blobUrl", isSignal: false, isRequired: false, transformFunction: null }, url: { classPropertyName: "url", publicName: "url", isSignal: false, isRequired: false, transformFunction: null }, mimeType: { classPropertyName: "mimeType", publicName: "mimeType", isSignal: false, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"layout-col full place-center-center document-viewer\">\n <ng-container *ngIf=\"blobContext$ | async as blobContext\">\n <!-- Video -->\n <div class=\"layout-col place-center-center full\" *ngIf=\"blobContext.mimeType.isVideo\">\n <video class=\"video\" controls autoplay loop>\n <source [src]=\"blobContext.safeUrl\" [type]=\"blobContext.mimeType.value\" />\n Your browser does not support HTML5 video.\n </video>\n </div>\n\n <!-- Audio -->\n <div class=\"layout-col place-center-center full\" *ngIf=\"blobContext.mimeType.isAudio\">\n <audio class=\"audio\" controls autoplay loop>\n <source [src]=\"blobContext.safeUrl\" [type]=\"blobContext.mimeType.value\" />\n Your browser does not support HTML5 audio.\n </audio>\n </div>\n\n <!-- Image -->\n <div class=\"layout-col full\" *ngIf=\"blobContext.mimeType.isImage\" style=\"overflow: hidden\">\n <img class=\"cover flex\" [src]=\"blobContext.safeUrl\" alt=\"blob image\" />\n </div>\n\n <!-- Embedded (PDFs etc) -->\n <div class=\"layout-col full\" *ngIf=\"blobContext.displayEmbedded\">\n <div class=\"full\">\n <embed\n class=\"embedded\"\n [src]=\"blobContext.safeUrl\"\n [type]=\"blobContext.mimeType.value\"\n width=\"100%\"\n height=\"100%\"\n />\n </div>\n </div>\n\n <!-- Plain Text -->\n <div class=\"layout-col full\" *ngIf=\"blobContext.displayAsText\">\n <textarea\n class=\"document-content\"\n placeholder=\"Content\"\n [value]=\"blobContext.text\"\n wrap=\"off\"\n readonly\n ></textarea>\n </div>\n\n <div class=\"layout-col place-center-center full\" *ngIf=\"blobContext.cantDisplay\">\n <p>Cant display {{ blobContext.mimeType.value }}!</p>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!(blobContext$ | async)\">\n <div class=\"layout-col place-center-center full\">\n <p>No Document.</p>\n </div>\n </ng-container>\n</div>\n", styles: [":host{overflow:hidden}.document-viewer{background-color:var(--md-sys-color-surface-dim);color:var(--md-sys-color-on-surface)}.video,.audio{width:100%;height:auto}.embedded{width:100%;height:100%}.cover{object-fit:scale-down;width:100%;height:auto;overflow:hidden}.document-content{font-family:Courier,monospace;font-size:14px;background-color:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface);outline:none;resize:none;width:100%;height:100%;border-radius:0;box-shadow:0 2px 14px #000;border-top:1px solid #fff;border-bottom:1px solid #fff}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11621
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.3", type: ElderBlobViewerComponent, isStandalone: true, selector: "elder-blob-viewer", inputs: { displayUnknownAsText: { classPropertyName: "displayUnknownAsText", publicName: "displayUnknownAsText", isSignal: true, isRequired: false, transformFunction: null }, blob: { classPropertyName: "blob", publicName: "blob", isSignal: false, isRequired: false, transformFunction: null }, blobUrl: { classPropertyName: "blobUrl", publicName: "blobUrl", isSignal: false, isRequired: false, transformFunction: null }, url: { classPropertyName: "url", publicName: "url", isSignal: false, isRequired: false, transformFunction: null }, mimeType: { classPropertyName: "mimeType", publicName: "mimeType", isSignal: false, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"layout-col full place-center-center document-viewer\">\n <ng-container *ngIf=\"blobContext$ | async as blobContext\">\n <!-- Video -->\n <div class=\"layout-col place-center-center full\" *ngIf=\"blobContext.mimeType.isVideo\">\n <video class=\"video\" controls autoplay loop>\n <source [src]=\"blobContext.safeUrl\" [type]=\"blobContext.mimeType.value\" />\n Your browser does not support HTML5 video.\n </video>\n </div>\n\n <!-- Audio -->\n <div class=\"layout-col place-center-center full\" *ngIf=\"blobContext.mimeType.isAudio\">\n <audio class=\"audio\" controls autoplay loop>\n <source [src]=\"blobContext.safeUrl\" [type]=\"blobContext.mimeType.value\" />\n Your browser does not support HTML5 audio.\n </audio>\n </div>\n\n <!-- Image -->\n <div class=\"layout-col full\" *ngIf=\"blobContext.mimeType.isImage\" style=\"overflow: hidden\">\n <img class=\"cover flex\" [src]=\"blobContext.safeUrl\" alt=\"blob image\" />\n </div>\n\n <!-- Embedded (PDFs etc) -->\n <div class=\"layout-col full\" *ngIf=\"blobContext.displayEmbedded\">\n <div class=\"full\">\n <embed\n class=\"embedded\"\n [src]=\"blobContext.safeUrl\"\n [type]=\"blobContext.mimeType.value\"\n width=\"100%\"\n height=\"100%\"\n />\n </div>\n </div>\n\n <!-- Plain Text -->\n <div class=\"layout-col full\" *ngIf=\"blobContext.displayAsText\">\n <textarea\n class=\"document-content\"\n placeholder=\"Content\"\n [value]=\"blobContext.text\"\n wrap=\"off\"\n readonly\n ></textarea>\n </div>\n\n <div class=\"layout-col place-center-center full\" *ngIf=\"blobContext.cantDisplay\">\n <p>Cant display {{ blobContext.mimeType.value }}!</p>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!(blobContext$ | async)\">\n <div class=\"layout-col place-center-center full\">\n <p>No Document.</p>\n </div>\n </ng-container>\n</div>\n", styles: [":host{overflow:hidden}.document-viewer{background-color:var(--md-sys-color-surface-dim);color:var(--md-sys-color-on-surface)}.video,.audio{width:100%;height:auto}.embedded{width:100%;height:100%}.cover{object-fit:scale-down;width:100%;height:auto;overflow:hidden}.document-content{font-family:Courier,monospace;font-size:14px;background-color:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface);outline:none;resize:none;width:100%;height:100%;border-radius:0;box-shadow:0 2px 14px #000;border:none;padding:8px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
11622
11622
  }
11623
11623
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderBlobViewerComponent, decorators: [{
11624
11624
  type: Component,
11625
- args: [{ selector: 'elder-blob-viewer', changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgIf, AsyncPipe], template: "<div class=\"layout-col full place-center-center document-viewer\">\n <ng-container *ngIf=\"blobContext$ | async as blobContext\">\n <!-- Video -->\n <div class=\"layout-col place-center-center full\" *ngIf=\"blobContext.mimeType.isVideo\">\n <video class=\"video\" controls autoplay loop>\n <source [src]=\"blobContext.safeUrl\" [type]=\"blobContext.mimeType.value\" />\n Your browser does not support HTML5 video.\n </video>\n </div>\n\n <!-- Audio -->\n <div class=\"layout-col place-center-center full\" *ngIf=\"blobContext.mimeType.isAudio\">\n <audio class=\"audio\" controls autoplay loop>\n <source [src]=\"blobContext.safeUrl\" [type]=\"blobContext.mimeType.value\" />\n Your browser does not support HTML5 audio.\n </audio>\n </div>\n\n <!-- Image -->\n <div class=\"layout-col full\" *ngIf=\"blobContext.mimeType.isImage\" style=\"overflow: hidden\">\n <img class=\"cover flex\" [src]=\"blobContext.safeUrl\" alt=\"blob image\" />\n </div>\n\n <!-- Embedded (PDFs etc) -->\n <div class=\"layout-col full\" *ngIf=\"blobContext.displayEmbedded\">\n <div class=\"full\">\n <embed\n class=\"embedded\"\n [src]=\"blobContext.safeUrl\"\n [type]=\"blobContext.mimeType.value\"\n width=\"100%\"\n height=\"100%\"\n />\n </div>\n </div>\n\n <!-- Plain Text -->\n <div class=\"layout-col full\" *ngIf=\"blobContext.displayAsText\">\n <textarea\n class=\"document-content\"\n placeholder=\"Content\"\n [value]=\"blobContext.text\"\n wrap=\"off\"\n readonly\n ></textarea>\n </div>\n\n <div class=\"layout-col place-center-center full\" *ngIf=\"blobContext.cantDisplay\">\n <p>Cant display {{ blobContext.mimeType.value }}!</p>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!(blobContext$ | async)\">\n <div class=\"layout-col place-center-center full\">\n <p>No Document.</p>\n </div>\n </ng-container>\n</div>\n", styles: [":host{overflow:hidden}.document-viewer{background-color:var(--md-sys-color-surface-dim);color:var(--md-sys-color-on-surface)}.video,.audio{width:100%;height:auto}.embedded{width:100%;height:100%}.cover{object-fit:scale-down;width:100%;height:auto;overflow:hidden}.document-content{font-family:Courier,monospace;font-size:14px;background-color:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface);outline:none;resize:none;width:100%;height:100%;border-radius:0;box-shadow:0 2px 14px #000;border-top:1px solid #fff;border-bottom:1px solid #fff}\n"] }]
11625
+ args: [{ selector: 'elder-blob-viewer', changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgIf, AsyncPipe], template: "<div class=\"layout-col full place-center-center document-viewer\">\n <ng-container *ngIf=\"blobContext$ | async as blobContext\">\n <!-- Video -->\n <div class=\"layout-col place-center-center full\" *ngIf=\"blobContext.mimeType.isVideo\">\n <video class=\"video\" controls autoplay loop>\n <source [src]=\"blobContext.safeUrl\" [type]=\"blobContext.mimeType.value\" />\n Your browser does not support HTML5 video.\n </video>\n </div>\n\n <!-- Audio -->\n <div class=\"layout-col place-center-center full\" *ngIf=\"blobContext.mimeType.isAudio\">\n <audio class=\"audio\" controls autoplay loop>\n <source [src]=\"blobContext.safeUrl\" [type]=\"blobContext.mimeType.value\" />\n Your browser does not support HTML5 audio.\n </audio>\n </div>\n\n <!-- Image -->\n <div class=\"layout-col full\" *ngIf=\"blobContext.mimeType.isImage\" style=\"overflow: hidden\">\n <img class=\"cover flex\" [src]=\"blobContext.safeUrl\" alt=\"blob image\" />\n </div>\n\n <!-- Embedded (PDFs etc) -->\n <div class=\"layout-col full\" *ngIf=\"blobContext.displayEmbedded\">\n <div class=\"full\">\n <embed\n class=\"embedded\"\n [src]=\"blobContext.safeUrl\"\n [type]=\"blobContext.mimeType.value\"\n width=\"100%\"\n height=\"100%\"\n />\n </div>\n </div>\n\n <!-- Plain Text -->\n <div class=\"layout-col full\" *ngIf=\"blobContext.displayAsText\">\n <textarea\n class=\"document-content\"\n placeholder=\"Content\"\n [value]=\"blobContext.text\"\n wrap=\"off\"\n readonly\n ></textarea>\n </div>\n\n <div class=\"layout-col place-center-center full\" *ngIf=\"blobContext.cantDisplay\">\n <p>Cant display {{ blobContext.mimeType.value }}!</p>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!(blobContext$ | async)\">\n <div class=\"layout-col place-center-center full\">\n <p>No Document.</p>\n </div>\n </ng-container>\n</div>\n", styles: [":host{overflow:hidden}.document-viewer{background-color:var(--md-sys-color-surface-dim);color:var(--md-sys-color-on-surface)}.video,.audio{width:100%;height:auto}.embedded{width:100%;height:100%}.cover{object-fit:scale-down;width:100%;height:auto;overflow:hidden}.document-content{font-family:Courier,monospace;font-size:14px;background-color:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface);outline:none;resize:none;width:100%;height:100%;border-radius:0;box-shadow:0 2px 14px #000;border:none;padding:8px}\n"] }]
11626
11626
  }], ctorParameters: () => [{ type: HttpClientPristine }, { type: i1.DomSanitizer }, { type: ElderToastService }], propDecorators: { blob: [{
11627
11627
  type: Input
11628
11628
  }], blobUrl: [{
@@ -12147,11 +12147,11 @@ class ElderCardComponent {
12147
12147
  this._appearance = coerceBooleanProperty(value) ? 'outlined' : 'raised';
12148
12148
  }
12149
12149
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12150
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ElderCardComponent, isStandalone: true, selector: "elder-card", inputs: { appearance: "appearance", float: "float", flat: "flat" }, host: { properties: { "class.elder-card-host": "this.classCardHost" } }, ngImport: i0, template: "<mat-card class=\"full mat-typography\" [appearance]=\"appearance\">\n <!-- If one does not want to use predefined card-sections. -->\n <ng-content></ng-content>\n\n <!-- Card Header -->\n <ng-content select=\"elder-card-header\"></ng-content>\n\n <!-- Card Content -->\n <ng-content select=\"elder-card-content\"></ng-content>\n</mat-card>\n", styles: [".elder-card-host{display:flex;flex-direction:column;min-width:0;min-height:0}.elder-card-content{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;display:flex;flex:1}\n"], dependencies: [{ kind: "component", type: MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
12150
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ElderCardComponent, isStandalone: true, selector: "elder-card", inputs: { appearance: "appearance", float: "float", flat: "flat" }, host: { properties: { "class.elder-card-host": "this.classCardHost" } }, ngImport: i0, template: "<mat-card class=\"full mat-typography\" [appearance]=\"'outlined'\">\n <!-- If one does not want to use predefined card-sections. -->\n <ng-content></ng-content>\n\n <!-- Card Header -->\n <ng-content select=\"elder-card-header\"></ng-content>\n\n <!-- Card Content -->\n <ng-content select=\"elder-card-content\"></ng-content>\n</mat-card>\n", styles: [".elder-card-host{display:flex;flex-direction:column;min-width:0;min-height:0}.elder-card-content{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;display:flex;flex:1}\n"], dependencies: [{ kind: "component", type: MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
12151
12151
  }
12152
12152
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderCardComponent, decorators: [{
12153
12153
  type: Component,
12154
- args: [{ selector: 'elder-card', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatCard], template: "<mat-card class=\"full mat-typography\" [appearance]=\"appearance\">\n <!-- If one does not want to use predefined card-sections. -->\n <ng-content></ng-content>\n\n <!-- Card Header -->\n <ng-content select=\"elder-card-header\"></ng-content>\n\n <!-- Card Content -->\n <ng-content select=\"elder-card-content\"></ng-content>\n</mat-card>\n", styles: [".elder-card-host{display:flex;flex-direction:column;min-width:0;min-height:0}.elder-card-content{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;display:flex;flex:1}\n"] }]
12154
+ args: [{ selector: 'elder-card', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatCard], template: "<mat-card class=\"full mat-typography\" [appearance]=\"'outlined'\">\n <!-- If one does not want to use predefined card-sections. -->\n <ng-content></ng-content>\n\n <!-- Card Header -->\n <ng-content select=\"elder-card-header\"></ng-content>\n\n <!-- Card Content -->\n <ng-content select=\"elder-card-content\"></ng-content>\n</mat-card>\n", styles: [".elder-card-host{display:flex;flex-direction:column;min-width:0;min-height:0}.elder-card-content{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;display:flex;flex:1}\n"] }]
12155
12155
  }], ctorParameters: () => [], propDecorators: { classCardHost: [{
12156
12156
  type: HostBinding,
12157
12157
  args: ['class.elder-card-host']
@@ -13111,7 +13111,7 @@ class ElderConfirmDialogComponent {
13111
13111
  this.dialogRef = dialogRef;
13112
13112
  this.yesNo = false;
13113
13113
  }
13114
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderConfirmDialogComponent, deps: [{ token: i1$8.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
13114
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderConfirmDialogComponent, deps: [{ token: i1$7.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
13115
13115
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ElderConfirmDialogComponent, isStandalone: true, selector: "elder-confirm-dialog", ngImport: i0, template: "<div class=\"layout-col full\">\n <mat-toolbar elderTheme class=\"flex-none\">\n <mat-toolbar-row class=\"gap-sm\">\n <button mat-icon-button [matDialogClose]=\"false\"><mat-icon>close</mat-icon></button>\n <h3>{{ title | translate }}</h3>\n </mat-toolbar-row>\n </mat-toolbar>\n\n <div class=\"layout-col flex p-md\">\n <div class=\"flex\">\n <p translate>{{ message }}</p>\n </div>\n\n <div class=\"layout-row place-end-center gap-md flex-none\" cdkTrapFocus>\n <button type=\"button\" mat-button (click)=\"dialogRef.close(false)\">\n {{ (yesNo ? 'actions.no' : 'actions.cancel') | translate }}\n </button>\n\n <button type=\"submit\" mat-flat-button cdkFocusInitial (click)=\"dialogRef.close(true)\">\n {{ (yesNo ? 'actions.yes' : 'actions.ok') | translate }}\n </button>\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: ElderThemeDirective, selector: "[elderTheme]" }, { kind: "directive", type: MatToolbarRow, selector: "mat-toolbar-row", exportAs: ["matToolbarRow"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }] }); }
13116
13116
  }
13117
13117
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderConfirmDialogComponent, decorators: [{
@@ -13127,7 +13127,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
13127
13127
  CdkTrapFocus,
13128
13128
  MatButton,
13129
13129
  ], template: "<div class=\"layout-col full\">\n <mat-toolbar elderTheme class=\"flex-none\">\n <mat-toolbar-row class=\"gap-sm\">\n <button mat-icon-button [matDialogClose]=\"false\"><mat-icon>close</mat-icon></button>\n <h3>{{ title | translate }}</h3>\n </mat-toolbar-row>\n </mat-toolbar>\n\n <div class=\"layout-col flex p-md\">\n <div class=\"flex\">\n <p translate>{{ message }}</p>\n </div>\n\n <div class=\"layout-row place-end-center gap-md flex-none\" cdkTrapFocus>\n <button type=\"button\" mat-button (click)=\"dialogRef.close(false)\">\n {{ (yesNo ? 'actions.no' : 'actions.cancel') | translate }}\n </button>\n\n <button type=\"submit\" mat-flat-button cdkFocusInitial (click)=\"dialogRef.close(true)\">\n {{ (yesNo ? 'actions.yes' : 'actions.ok') | translate }}\n </button>\n </div>\n </div>\n</div>\n" }]
13130
- }], ctorParameters: () => [{ type: i1$8.MatDialogRef }] });
13130
+ }], ctorParameters: () => [{ type: i1$7.MatDialogRef }] });
13131
13131
 
13132
13132
  class QuestionDialogConfig extends ElderDialogConfig {
13133
13133
  }
@@ -13146,8 +13146,8 @@ class ElderQuestionDialogComponent {
13146
13146
  get isValid() {
13147
13147
  return !!this.answer;
13148
13148
  }
13149
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderQuestionDialogComponent, deps: [{ token: i1$8.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
13150
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ElderQuestionDialogComponent, isStandalone: true, selector: "elder-question-dialog", ngImport: i0, template: "<div class=\"layout-col full\">\n <mat-toolbar elderTheme class=\"flex-none\">\n <mat-toolbar-row class=\"gap-sm\">\n <button mat-icon-button [matDialogClose]=\"false\"><mat-icon>close</mat-icon></button>\n <h3>{{ data.title | translate }}</h3>\n </mat-toolbar-row>\n </mat-toolbar>\n\n <form #f=\"ngForm\" class=\"layout-col flex p-md\" (ngSubmit)=\"confirm($event)\" cdkTrapFocus>\n <div class=\"layout-col flex\">\n <p>{{ data.question }}</p>\n\n <mat-form-field class=\"full-width\">\n <input\n matInput\n type=\"text\"\n name=\"name\"\n [(ngModel)]=\"answer\"\n cdkFocusInitial\n placeholder=\"{{ 'context.name' | translate }}\"\n required\n />\n </mat-form-field>\n </div>\n\n <div class=\"layout-row place-end-center gap-md flex-none\">\n <button mat-button type=\"button\" (click)=\"cancel($event)\">\n {{ 'actions.cancel' | translate }}\n </button>\n\n <button mat-button type=\"submit\" color=\"primary\" [disabled]=\"!isValid\">\n {{ 'actions.ok' | translate }}\n </button>\n </div>\n </form>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: ElderThemeDirective, selector: "[elderTheme]" }, { kind: "directive", type: MatToolbarRow, selector: "mat-toolbar-row", exportAs: ["matToolbarRow"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$5.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }] }); }
13149
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderQuestionDialogComponent, deps: [{ token: i1$7.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
13150
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ElderQuestionDialogComponent, isStandalone: true, selector: "elder-question-dialog", ngImport: i0, template: "<div class=\"layout-col full\">\n <mat-toolbar elderTheme class=\"flex-none\">\n <mat-toolbar-row class=\"gap-sm\">\n <button mat-icon-button [matDialogClose]=\"false\"><mat-icon>close</mat-icon></button>\n <h3>{{ data.title | translate }}</h3>\n </mat-toolbar-row>\n </mat-toolbar>\n\n <form #f=\"ngForm\" class=\"layout-col flex p-md\" (ngSubmit)=\"confirm($event)\" cdkTrapFocus>\n <div class=\"layout-col flex\">\n <p>{{ data.question }}</p>\n\n <mat-form-field class=\"full-width\">\n <input\n matInput\n type=\"text\"\n name=\"name\"\n [(ngModel)]=\"answer\"\n cdkFocusInitial\n placeholder=\"{{ 'context.name' | translate }}\"\n required\n />\n </mat-form-field>\n </div>\n\n <div class=\"layout-row place-end-center gap-md flex-none\">\n <button mat-button type=\"button\" (click)=\"cancel($event)\">\n {{ 'actions.cancel' | translate }}\n </button>\n\n <button mat-button type=\"submit\" color=\"primary\" [disabled]=\"!isValid\">\n {{ 'actions.ok' | translate }}\n </button>\n </div>\n </form>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: ElderThemeDirective, selector: "[elderTheme]" }, { kind: "directive", type: MatToolbarRow, selector: "mat-toolbar-row", exportAs: ["matToolbarRow"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }] }); }
13151
13151
  }
13152
13152
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderQuestionDialogComponent, decorators: [{
13153
13153
  type: Component,
@@ -13165,7 +13165,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
13165
13165
  MatButton,
13166
13166
  TranslateModule,
13167
13167
  ], template: "<div class=\"layout-col full\">\n <mat-toolbar elderTheme class=\"flex-none\">\n <mat-toolbar-row class=\"gap-sm\">\n <button mat-icon-button [matDialogClose]=\"false\"><mat-icon>close</mat-icon></button>\n <h3>{{ data.title | translate }}</h3>\n </mat-toolbar-row>\n </mat-toolbar>\n\n <form #f=\"ngForm\" class=\"layout-col flex p-md\" (ngSubmit)=\"confirm($event)\" cdkTrapFocus>\n <div class=\"layout-col flex\">\n <p>{{ data.question }}</p>\n\n <mat-form-field class=\"full-width\">\n <input\n matInput\n type=\"text\"\n name=\"name\"\n [(ngModel)]=\"answer\"\n cdkFocusInitial\n placeholder=\"{{ 'context.name' | translate }}\"\n required\n />\n </mat-form-field>\n </div>\n\n <div class=\"layout-row place-end-center gap-md flex-none\">\n <button mat-button type=\"button\" (click)=\"cancel($event)\">\n {{ 'actions.cancel' | translate }}\n </button>\n\n <button mat-button type=\"submit\" color=\"primary\" [disabled]=\"!isValid\">\n {{ 'actions.ok' | translate }}\n </button>\n </div>\n </form>\n</div>\n" }]
13168
- }], ctorParameters: () => [{ type: i1$8.MatDialogRef }, { type: undefined, decorators: [{
13168
+ }], ctorParameters: () => [{ type: i1$7.MatDialogRef }, { type: undefined, decorators: [{
13169
13169
  type: Inject,
13170
13170
  args: [MAT_DIALOG_DATA]
13171
13171
  }] }] });
@@ -13192,13 +13192,13 @@ class ElderSelectionDialogComponent {
13192
13192
  ngAfterViewInit() {
13193
13193
  // this.dialogRef.updateSize('20vw', '20vh');
13194
13194
  }
13195
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderSelectionDialogComponent, deps: [{ token: i1$8.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
13195
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderSelectionDialogComponent, deps: [{ token: i1$7.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
13196
13196
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ElderSelectionDialogComponent, isStandalone: true, selector: "elder-selection-dialog", inputs: { title: "title" }, ngImport: i0, template: "<div class=\"layout-col full\">\n <div class=\"layout-col flex-none\">\n <h2 *ngIf=\"title\">{{ title | translate }}</h2>\n </div>\n\n <div class=\"layout-col flex\">\n <ng-template [ngTemplateOutlet]=\"data.template\"></ng-template>\n </div>\n\n <div class=\"layout-row place-end-center\">\n <button mat-button type=\"button\" mat-dialog-close>\n {{ 'actions.cancel' | translate }}\n </button>\n\n <button\n mat-flat-button\n type=\"button\"\n [disabled]=\"data.selectionModel.isEmpty()\"\n (click)=\"confirmSelection()\"\n >\n {{ 'actions.select' | translate }}\n </button>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }] }); }
13197
13197
  }
13198
13198
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderSelectionDialogComponent, decorators: [{
13199
13199
  type: Component,
13200
13200
  args: [{ selector: 'elder-selection-dialog', imports: [NgIf, NgTemplateOutlet, MatButton, MatDialogClose, TranslateModule], template: "<div class=\"layout-col full\">\n <div class=\"layout-col flex-none\">\n <h2 *ngIf=\"title\">{{ title | translate }}</h2>\n </div>\n\n <div class=\"layout-col flex\">\n <ng-template [ngTemplateOutlet]=\"data.template\"></ng-template>\n </div>\n\n <div class=\"layout-row place-end-center\">\n <button mat-button type=\"button\" mat-dialog-close>\n {{ 'actions.cancel' | translate }}\n </button>\n\n <button\n mat-flat-button\n type=\"button\"\n [disabled]=\"data.selectionModel.isEmpty()\"\n (click)=\"confirmSelection()\"\n >\n {{ 'actions.select' | translate }}\n </button>\n </div>\n</div>\n" }]
13201
- }], ctorParameters: () => [{ type: i1$8.MatDialogRef }, { type: undefined, decorators: [{
13201
+ }], ctorParameters: () => [{ type: i1$7.MatDialogRef }, { type: undefined, decorators: [{
13202
13202
  type: Inject,
13203
13203
  args: [MAT_DIALOG_DATA]
13204
13204
  }] }], propDecorators: { title: [{
@@ -13232,7 +13232,7 @@ class ElderSelectionDialogDirective {
13232
13232
  });
13233
13233
  dialogRef.afterClosed().subscribe((result) => this.close.emit(result));
13234
13234
  }
13235
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderSelectionDialogDirective, deps: [{ token: i0.TemplateRef }, { token: i1$8.MatDialog }], target: i0.ɵɵFactoryTarget.Directive }); }
13235
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderSelectionDialogDirective, deps: [{ token: i0.TemplateRef }, { token: i1$7.MatDialog }], target: i0.ɵɵFactoryTarget.Directive }); }
13236
13236
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.3", type: ElderSelectionDialogDirective, isStandalone: true, selector: "[elderDialog]", inputs: { selectionModel: "selectionModel" }, outputs: { close: "close" }, exportAs: ["elderSelection"], ngImport: i0 }); }
13237
13237
  }
13238
13238
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderSelectionDialogDirective, decorators: [{
@@ -13242,7 +13242,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
13242
13242
  exportAs: 'elderSelection',
13243
13243
  standalone: true,
13244
13244
  }]
13245
- }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i1$8.MatDialog }], propDecorators: { selectionModel: [{
13245
+ }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i1$7.MatDialog }], propDecorators: { selectionModel: [{
13246
13246
  type: Input
13247
13247
  }], close: [{
13248
13248
  type: Output
@@ -13488,7 +13488,7 @@ class ElderDialogService {
13488
13488
  matConfig.height = '40vh';
13489
13489
  return matConfig;
13490
13490
  }
13491
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderDialogService, deps: [{ token: i1$8.MatDialog }, { token: i1$2.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
13491
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderDialogService, deps: [{ token: i1$7.MatDialog }, { token: i1$2.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
13492
13492
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderDialogService, providedIn: 'root' }); }
13493
13493
  }
13494
13494
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderDialogService, decorators: [{
@@ -13496,7 +13496,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
13496
13496
  args: [{
13497
13497
  providedIn: 'root',
13498
13498
  }]
13499
- }], ctorParameters: () => [{ type: i1$8.MatDialog }, { type: i1$2.TranslateService }] });
13499
+ }], ctorParameters: () => [{ type: i1$7.MatDialog }, { type: i1$2.TranslateService }] });
13500
13500
 
13501
13501
  class ElderDialogModule {
13502
13502
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
@@ -14095,7 +14095,7 @@ class ElderChipLabelDirective {
14095
14095
  return undefined;
14096
14096
  }
14097
14097
  }
14098
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderChipLabelDirective, deps: [{ token: i1$9.MatChip, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
14098
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderChipLabelDirective, deps: [{ token: i1$8.MatChip, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
14099
14099
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.3", type: ElderChipLabelDirective, isStandalone: true, selector: "[elderChipLabel]", inputs: { appearance: "appearance", themeColor: ["color", "themeColor"], stateColor: "stateColor", levelColor: "levelColor" }, host: { properties: { "class": "this.classes" } }, ngImport: i0 }); }
14100
14100
  }
14101
14101
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderChipLabelDirective, decorators: [{
@@ -14104,7 +14104,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
14104
14104
  selector: '[elderChipLabel]',
14105
14105
  standalone: true,
14106
14106
  }]
14107
- }], ctorParameters: () => [{ type: i1$9.MatChip, decorators: [{
14107
+ }], ctorParameters: () => [{ type: i1$8.MatChip, decorators: [{
14108
14108
  type: Optional
14109
14109
  }, {
14110
14110
  type: Host
@@ -14367,7 +14367,7 @@ class ElderBadgeDirective {
14367
14367
  createElderBadgeComponent() {
14368
14368
  return this.viewContainerRef.createComponent(ElderBadgeComponent);
14369
14369
  }
14370
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderBadgeDirective, deps: [{ token: i1.DomSanitizer }, { token: i0.ViewContainerRef }, { token: i2$1.MatBadge }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive }); }
14370
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderBadgeDirective, deps: [{ token: i1.DomSanitizer }, { token: i0.ViewContainerRef }, { token: i2$2.MatBadge }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive }); }
14371
14371
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.3", type: ElderBadgeDirective, isStandalone: true, selector: "[elderBadge]", inputs: { badgeColor: "badgeColor", badgeIcon: "badgeIcon", elderBadge: "elderBadge", colorSpec: "colorSpec", avatarSpec: "avatarSpec" }, host: { properties: { "style": "this.style" } }, ngImport: i0 }); }
14372
14372
  }
14373
14373
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderBadgeDirective, decorators: [{
@@ -14376,7 +14376,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
14376
14376
  selector: '[elderBadge]',
14377
14377
  standalone: true,
14378
14378
  }]
14379
- }], ctorParameters: () => [{ type: i1.DomSanitizer }, { type: i0.ViewContainerRef }, { type: i2$1.MatBadge }, { type: i0.DestroyRef }], propDecorators: { style: [{
14379
+ }], ctorParameters: () => [{ type: i1.DomSanitizer }, { type: i0.ViewContainerRef }, { type: i2$2.MatBadge }, { type: i0.DestroyRef }], propDecorators: { style: [{
14380
14380
  type: HostBinding,
14381
14381
  args: ['style']
14382
14382
  }], badgeColor: [{
@@ -15356,7 +15356,7 @@ class ElderTableColumnDirective {
15356
15356
  constructor(cdkColumn) {
15357
15357
  this.cdkColumn = cdkColumn;
15358
15358
  }
15359
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderTableColumnDirective, deps: [{ token: i1$a.CdkColumnDef }], target: i0.ɵɵFactoryTarget.Directive }); }
15359
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderTableColumnDirective, deps: [{ token: i1$9.CdkColumnDef }], target: i0.ɵɵFactoryTarget.Directive }); }
15360
15360
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.3", type: ElderTableColumnDirective, isStandalone: true, selector: "th[elderColumnDef]", ngImport: i0 }); }
15361
15361
  }
15362
15362
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderTableColumnDirective, decorators: [{
@@ -15365,7 +15365,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
15365
15365
  selector: 'th[elderColumnDef]',
15366
15366
  standalone: true,
15367
15367
  }]
15368
- }], ctorParameters: () => [{ type: i1$a.CdkColumnDef }] });
15368
+ }], ctorParameters: () => [{ type: i1$9.CdkColumnDef }] });
15369
15369
 
15370
15370
  class ElderTableModelQueryGroup {
15371
15371
  /***************************************************************************
@@ -15681,7 +15681,7 @@ class ElderTableExtensionDirective {
15681
15681
  get extensionGroupIndex() {
15682
15682
  return this._extensionGroupIndex;
15683
15683
  }
15684
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderTableExtensionDirective, deps: [{ token: ElderTableModel }, { token: i2$2.MatSort, optional: true }, { token: ElderTableExtensionDirective, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive }); }
15684
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderTableExtensionDirective, deps: [{ token: ElderTableModel }, { token: i2$3.MatSort, optional: true }, { token: ElderTableExtensionDirective, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive }); }
15685
15685
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.3", type: ElderTableExtensionDirective, isStandalone: true, selector: "[elderTableExtension]", inputs: { columnsPosition: "columnsPosition" }, providers: [ElderTableProviders.ExistingOrNewTableModel], queries: [{ propertyName: "columnDefsQuery", predicate: MatColumnDef }, { propertyName: "elderColumnsQuery", predicate: ElderTableColumnDirective }, { propertyName: "rowDefsQuery", predicate: MatRowDef }], ngImport: i0 }); }
15686
15686
  }
15687
15687
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderTableExtensionDirective, decorators: [{
@@ -15691,7 +15691,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
15691
15691
  providers: [ElderTableProviders.ExistingOrNewTableModel],
15692
15692
  standalone: true,
15693
15693
  }]
15694
- }], ctorParameters: () => [{ type: ElderTableModel }, { type: i2$2.MatSort, decorators: [{
15694
+ }], ctorParameters: () => [{ type: ElderTableModel }, { type: i2$3.MatSort, decorators: [{
15695
15695
  type: Optional
15696
15696
  }] }, { type: ElderTableExtensionDirective, decorators: [{
15697
15697
  type: Optional
@@ -15909,14 +15909,14 @@ class ElderTableComponent extends ElderDataViewBaseComponent {
15909
15909
  }
15910
15910
  });
15911
15911
  }
15912
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderTableComponent, deps: [{ token: ElderTableModel }, { token: SelectionModel, optional: true }, { token: ElderDataViewOptionsProvider, optional: true, skipSelf: true }, { token: i2$2.MatSort, optional: true }, { token: ElderTableExtensionDirective, optional: true, skipSelf: true }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
15912
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderTableComponent, deps: [{ token: ElderTableModel }, { token: SelectionModel, optional: true }, { token: ElderDataViewOptionsProvider, optional: true, skipSelf: true }, { token: i2$3.MatSort, optional: true }, { token: ElderTableExtensionDirective, optional: true, skipSelf: true }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
15913
15913
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: ElderTableComponent, isStandalone: true, selector: "elder-table", inputs: { idField: "idField", removingField: "removingField", hiddenField: "hiddenField", pageSizeOptions: "pageSizeOptions", keepSelection: "keepSelection", showFooter: "showFooter", toolbarTemplate: "toolbarTemplate", data: "data", displayedColumns: "displayedColumns", selectionVisible: "selectionVisible" }, providers: [
15914
15914
  ElderTableProviders.ExistingOrNewTableModel,
15915
15915
  {
15916
15916
  provide: ELDER_DATA_VIEW,
15917
15917
  useExisting: forwardRef(() => ElderTableComponent),
15918
15918
  },
15919
- ], queries: [{ propertyName: "columnDefs", predicate: MatColumnDef }, { propertyName: "elderColumns", predicate: ElderTableColumnDirective }, { propertyName: "rowDefs", predicate: MatRowDef }, { propertyName: "toolbarRowTemplateQuery", predicate: ElderTableToolbarDirective, read: TemplateRef }], viewQueries: [{ propertyName: "matTable", first: true, predicate: MatTable, descendants: true, static: true }, { propertyName: "matPaginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "rowsQuery", predicate: ElderTableRowDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"legacy-layout-card full\" [class.embedded]=\"embedded\" style=\"overflow: hidden\">\n <div class=\"layout-col elder-table full\">\n <!-- Toolbar Rows -->\n @for (toolbarRowTemplate of toolbarRowTemplates$ | async; track toolbarRowTemplate) {\n <ng-template\n *ngTemplateOutlet=\"toolbarRowTemplate; context: { $implicit: this }\"\n ></ng-template>\n }\n\n <!-- Scrollable Table -->\n <div\n class=\"elder-table-inner layout-col {{\n isDataValid(dataContext?.data | async) ? 'flex' : ''\n }} scrollable elder-table-scroll\"\n elderInfiniteScroll\n [eventThrottle]=\"150\"\n [offsetFactor]=\"2\"\n [ignoreScrollEvent]=\"!isContinuable || !(canLoadMore$ | async)\"\n (closeToEnd)=\"requestMoreDataZoned($event)\"\n >\n <table\n mat-table\n class=\"elder-mat-inner-table\"\n [trackBy]=\"trackByFn\"\n [dataSource]=\"$any(dataContext$ | async)\"\n [elderDataContextSelection]=\"dataContext$ | async\"\n #dataSelection=\"elderDataContextSelection\"\n [elderDataContextSelectionModel]=\"selectionModel\"\n >\n <!-- selection Column -->\n <ng-container matColumnDef=\"select\">\n <th mat-header-cell *matHeaderCellDef>\n <elder-selection-master-checkbox></elder-selection-master-checkbox>\n </th>\n <td mat-cell *matCellDef=\"let entity\">\n <div class=\"layout-row place-start-center\">\n <mat-checkbox\n (click)=\"$event.stopPropagation()\"\n (change)=\"$event ? selectionModel.toggle(entity) : null\"\n [checked]=\"selectionModel.observeSelection(entity) | async\"\n [disabled]=\"!selectionModel.isSelectable(entity)\"\n class=\"elder-table-checkbox\"\n [class.elder-table-checkbox-visible]=\"\n (dataSelection.selectionState$ | async).anySelected\n \"\n >\n </mat-checkbox>\n </div>\n </td>\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n @if (tableModel.displayedColumnsInner$ | async; as displayedColumnsInner) {\n <tr mat-header-row *matHeaderRowDef=\"displayedColumnsInner; sticky: true\"></tr>\n <tr\n mat-row\n class=\"elder-table-row\"\n *matRowDef=\"let entity; columns: displayedColumnsInner\"\n [elderTableRow]=\"entity\"\n [class.dense]=\"dense\"\n [class.elder-row-hidden]=\"hiddenField && entity[hiddenField]\"\n [class.elder-row-removing]=\"removingField && entity[removingField]\"\n [class.elder-table-row-selected]=\"\n interactionMode === 'selection' && selectionModel.observeSelection(entity) | async\n \"\n (click)=\"onItemClick(entity)\"\n (dblclick)=\"onItemDoubleClick(entity)\"\n ></tr>\n @if (showFooter) {\n <tr mat-footer-row *matFooterRowDef=\"displayedColumnsInner; sticky: true\"></tr>\n }\n }\n </table>\n </div>\n\n @if (!isDataValid(dataContext?.data | async)) {\n <elder-data-context-state-indicator class=\"flex\" [dataContext]=\"dataContext\">\n </elder-data-context-state-indicator>\n }\n\n <mat-progress-bar\n class=\"flex-none\"\n [mode]=\"(dataContext?.loading | async) ? 'indeterminate' : 'determinate'\"\n [color]=\"(dataContext?.status | async)?.hasError ? 'warn' : 'primary'\"\n >\n </mat-progress-bar>\n\n @if (isActivePaged) {\n @if (dataActivePaged.page | async; as page) {\n <!-- Optional Paginator Toolbar -->\n <mat-paginator\n class=\"flex-none\"\n [length]=\"dataContext?.total | async\"\n [pageIndex]=\"page?.index\"\n [pageSize]=\"page?.size\"\n [pageSizeOptions]=\"pageSizeOptions\"\n >\n </mat-paginator>\n }\n }\n\n <!-- Optional Continuation Footer -->\n @if (isContinuable) {\n <div class=\"layout-row flex-none place-end-center gap-md elder-table-footer\">\n <span class=\"mat-caption noselect\" style=\"color: gray\">\n {{ (dataContext?.data | async)?.length }} / {{ total$ | async }}\n </span>\n\n <button\n mat-icon-button\n type=\"button\"\n color=\"primary\"\n [disabled]=\"!(canLoadMore$ | async)\"\n (click)=\"dataContinuable.loadMore()\"\n >\n <mat-icon>keyboard_arrow_down</mat-icon>\n </button>\n </div>\n }\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ElderInfiniteScrollDirective, selector: "[elderInfiniteScroll]", inputs: ["listenToHost", "eventThrottle", "offsetFactor", "ignoreScrollEvent", "containerId", "scrollContainer"], outputs: ["closeToEnd", "scrolling"] }, { kind: "component", type: MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: DataContextSelectionDirective, selector: "[elderDataContextSelection]", inputs: ["elderDataContextSelectionModel", "elderDataContextSelection"], exportAs: ["elderDataContextSelection"] }, { kind: "directive", type: MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "component", type: ElderSelectionMasterCheckboxComponent, selector: "elder-selection-master-checkbox" }, { kind: "directive", type: MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: MatFooterCellDef, selector: "[matFooterCellDef]" }, { kind: "directive", type: MatFooterCell, selector: "mat-footer-cell, td[mat-footer-cell]" }, { kind: "directive", type: MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "component", type: MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "directive", type: MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "component", type: MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: ElderTableRowDirective, selector: "tr[elderTableRow]", inputs: ["elderTableRow"], exportAs: ["elderTableRow"] }, { kind: "directive", type: MatFooterRowDef, selector: "[matFooterRowDef]", inputs: ["matFooterRowDef", "matFooterRowDefSticky"] }, { kind: "component", type: MatFooterRow, selector: "mat-footer-row, tr[mat-footer-row]", exportAs: ["matFooterRow"] }, { kind: "component", type: DataContextStateIndicatorComponent, selector: "elder-data-context-state-indicator", inputs: ["dataContext"] }, { kind: "component", type: MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
15919
+ ], queries: [{ propertyName: "columnDefs", predicate: MatColumnDef }, { propertyName: "elderColumns", predicate: ElderTableColumnDirective }, { propertyName: "rowDefs", predicate: MatRowDef }, { propertyName: "toolbarRowTemplateQuery", predicate: ElderTableToolbarDirective, read: TemplateRef }], viewQueries: [{ propertyName: "matTable", first: true, predicate: MatTable, descendants: true, static: true }, { propertyName: "matPaginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "rowsQuery", predicate: ElderTableRowDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"full\" [class.embedded]=\"embedded\" style=\"overflow: hidden\">\n <div class=\"layout-col elder-table full\">\n <!-- Toolbar Rows -->\n @for (toolbarRowTemplate of toolbarRowTemplates$ | async; track toolbarRowTemplate) {\n <ng-template\n *ngTemplateOutlet=\"toolbarRowTemplate; context: { $implicit: this }\"\n ></ng-template>\n }\n\n <!-- Scrollable Table -->\n <div\n class=\"elder-table-inner layout-col {{\n isDataValid(dataContext?.data | async) ? 'flex' : ''\n }} scrollable elder-table-scroll\"\n elderInfiniteScroll\n [eventThrottle]=\"150\"\n [offsetFactor]=\"2\"\n [ignoreScrollEvent]=\"!isContinuable || !(canLoadMore$ | async)\"\n (closeToEnd)=\"requestMoreDataZoned($event)\"\n >\n <table\n mat-table\n class=\"elder-mat-inner-table\"\n [trackBy]=\"trackByFn\"\n [dataSource]=\"$any(dataContext$ | async)\"\n [elderDataContextSelection]=\"dataContext$ | async\"\n #dataSelection=\"elderDataContextSelection\"\n [elderDataContextSelectionModel]=\"selectionModel\"\n >\n <!-- selection Column -->\n <ng-container matColumnDef=\"select\">\n <th mat-header-cell *matHeaderCellDef>\n <elder-selection-master-checkbox></elder-selection-master-checkbox>\n </th>\n <td mat-cell *matCellDef=\"let entity\">\n <div class=\"layout-row place-start-center\">\n <mat-checkbox\n (click)=\"$event.stopPropagation()\"\n (change)=\"$event ? selectionModel.toggle(entity) : null\"\n [checked]=\"selectionModel.observeSelection(entity) | async\"\n [disabled]=\"!selectionModel.isSelectable(entity)\"\n class=\"elder-table-checkbox\"\n [class.elder-table-checkbox-visible]=\"\n (dataSelection.selectionState$ | async).anySelected\n \"\n >\n </mat-checkbox>\n </div>\n </td>\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n @if (tableModel.displayedColumnsInner$ | async; as displayedColumnsInner) {\n <tr mat-header-row *matHeaderRowDef=\"displayedColumnsInner; sticky: true\"></tr>\n <tr\n mat-row\n class=\"elder-table-row\"\n *matRowDef=\"let entity; columns: displayedColumnsInner\"\n [elderTableRow]=\"entity\"\n [class.dense]=\"dense\"\n [class.elder-row-hidden]=\"hiddenField && entity[hiddenField]\"\n [class.elder-row-removing]=\"removingField && entity[removingField]\"\n [class.elder-table-row-selected]=\"\n interactionMode === 'selection' && selectionModel.observeSelection(entity) | async\n \"\n (click)=\"onItemClick(entity)\"\n (dblclick)=\"onItemDoubleClick(entity)\"\n ></tr>\n @if (showFooter) {\n <tr mat-footer-row *matFooterRowDef=\"displayedColumnsInner; sticky: true\"></tr>\n }\n }\n </table>\n </div>\n\n @if (!isDataValid(dataContext?.data | async)) {\n <elder-data-context-state-indicator class=\"flex\" [dataContext]=\"dataContext\">\n </elder-data-context-state-indicator>\n }\n\n <mat-progress-bar\n class=\"flex-none\"\n [mode]=\"(dataContext?.loading | async) ? 'indeterminate' : 'determinate'\"\n [color]=\"(dataContext?.status | async)?.hasError ? 'warn' : 'primary'\"\n >\n </mat-progress-bar>\n\n @if (isActivePaged) {\n @if (dataActivePaged.page | async; as page) {\n <!-- Optional Paginator Toolbar -->\n <mat-paginator\n class=\"flex-none\"\n [length]=\"dataContext?.total | async\"\n [pageIndex]=\"page?.index\"\n [pageSize]=\"page?.size\"\n [pageSizeOptions]=\"pageSizeOptions\"\n >\n </mat-paginator>\n }\n }\n\n <!-- Optional Continuation Footer -->\n @if (isContinuable) {\n <div class=\"layout-row flex-none place-end-center gap-md elder-table-footer\">\n <span class=\"mat-caption noselect\" style=\"color: gray\">\n {{ (dataContext?.data | async)?.length }} / {{ total$ | async }}\n </span>\n\n <button\n mat-icon-button\n type=\"button\"\n color=\"primary\"\n [disabled]=\"!(canLoadMore$ | async)\"\n (click)=\"dataContinuable.loadMore()\"\n >\n <mat-icon>keyboard_arrow_down</mat-icon>\n </button>\n </div>\n }\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ElderInfiniteScrollDirective, selector: "[elderInfiniteScroll]", inputs: ["listenToHost", "eventThrottle", "offsetFactor", "ignoreScrollEvent", "containerId", "scrollContainer"], outputs: ["closeToEnd", "scrolling"] }, { kind: "component", type: MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: DataContextSelectionDirective, selector: "[elderDataContextSelection]", inputs: ["elderDataContextSelectionModel", "elderDataContextSelection"], exportAs: ["elderDataContextSelection"] }, { kind: "directive", type: MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "component", type: ElderSelectionMasterCheckboxComponent, selector: "elder-selection-master-checkbox" }, { kind: "directive", type: MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: MatFooterCellDef, selector: "[matFooterCellDef]" }, { kind: "directive", type: MatFooterCell, selector: "mat-footer-cell, td[mat-footer-cell]" }, { kind: "directive", type: MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "component", type: MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "directive", type: MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "component", type: MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: ElderTableRowDirective, selector: "tr[elderTableRow]", inputs: ["elderTableRow"], exportAs: ["elderTableRow"] }, { kind: "directive", type: MatFooterRowDef, selector: "[matFooterRowDef]", inputs: ["matFooterRowDef", "matFooterRowDefSticky"] }, { kind: "component", type: MatFooterRow, selector: "mat-footer-row, tr[mat-footer-row]", exportAs: ["matFooterRow"] }, { kind: "component", type: DataContextStateIndicatorComponent, selector: "elder-data-context-state-indicator", inputs: ["dataContext"] }, { kind: "component", type: MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
15920
15920
  }
15921
15921
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderTableComponent, decorators: [{
15922
15922
  type: Component,
@@ -15956,14 +15956,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
15956
15956
  MatIconButton,
15957
15957
  MatIcon,
15958
15958
  AsyncPipe,
15959
- ], template: "<div class=\"legacy-layout-card full\" [class.embedded]=\"embedded\" style=\"overflow: hidden\">\n <div class=\"layout-col elder-table full\">\n <!-- Toolbar Rows -->\n @for (toolbarRowTemplate of toolbarRowTemplates$ | async; track toolbarRowTemplate) {\n <ng-template\n *ngTemplateOutlet=\"toolbarRowTemplate; context: { $implicit: this }\"\n ></ng-template>\n }\n\n <!-- Scrollable Table -->\n <div\n class=\"elder-table-inner layout-col {{\n isDataValid(dataContext?.data | async) ? 'flex' : ''\n }} scrollable elder-table-scroll\"\n elderInfiniteScroll\n [eventThrottle]=\"150\"\n [offsetFactor]=\"2\"\n [ignoreScrollEvent]=\"!isContinuable || !(canLoadMore$ | async)\"\n (closeToEnd)=\"requestMoreDataZoned($event)\"\n >\n <table\n mat-table\n class=\"elder-mat-inner-table\"\n [trackBy]=\"trackByFn\"\n [dataSource]=\"$any(dataContext$ | async)\"\n [elderDataContextSelection]=\"dataContext$ | async\"\n #dataSelection=\"elderDataContextSelection\"\n [elderDataContextSelectionModel]=\"selectionModel\"\n >\n <!-- selection Column -->\n <ng-container matColumnDef=\"select\">\n <th mat-header-cell *matHeaderCellDef>\n <elder-selection-master-checkbox></elder-selection-master-checkbox>\n </th>\n <td mat-cell *matCellDef=\"let entity\">\n <div class=\"layout-row place-start-center\">\n <mat-checkbox\n (click)=\"$event.stopPropagation()\"\n (change)=\"$event ? selectionModel.toggle(entity) : null\"\n [checked]=\"selectionModel.observeSelection(entity) | async\"\n [disabled]=\"!selectionModel.isSelectable(entity)\"\n class=\"elder-table-checkbox\"\n [class.elder-table-checkbox-visible]=\"\n (dataSelection.selectionState$ | async).anySelected\n \"\n >\n </mat-checkbox>\n </div>\n </td>\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n @if (tableModel.displayedColumnsInner$ | async; as displayedColumnsInner) {\n <tr mat-header-row *matHeaderRowDef=\"displayedColumnsInner; sticky: true\"></tr>\n <tr\n mat-row\n class=\"elder-table-row\"\n *matRowDef=\"let entity; columns: displayedColumnsInner\"\n [elderTableRow]=\"entity\"\n [class.dense]=\"dense\"\n [class.elder-row-hidden]=\"hiddenField && entity[hiddenField]\"\n [class.elder-row-removing]=\"removingField && entity[removingField]\"\n [class.elder-table-row-selected]=\"\n interactionMode === 'selection' && selectionModel.observeSelection(entity) | async\n \"\n (click)=\"onItemClick(entity)\"\n (dblclick)=\"onItemDoubleClick(entity)\"\n ></tr>\n @if (showFooter) {\n <tr mat-footer-row *matFooterRowDef=\"displayedColumnsInner; sticky: true\"></tr>\n }\n }\n </table>\n </div>\n\n @if (!isDataValid(dataContext?.data | async)) {\n <elder-data-context-state-indicator class=\"flex\" [dataContext]=\"dataContext\">\n </elder-data-context-state-indicator>\n }\n\n <mat-progress-bar\n class=\"flex-none\"\n [mode]=\"(dataContext?.loading | async) ? 'indeterminate' : 'determinate'\"\n [color]=\"(dataContext?.status | async)?.hasError ? 'warn' : 'primary'\"\n >\n </mat-progress-bar>\n\n @if (isActivePaged) {\n @if (dataActivePaged.page | async; as page) {\n <!-- Optional Paginator Toolbar -->\n <mat-paginator\n class=\"flex-none\"\n [length]=\"dataContext?.total | async\"\n [pageIndex]=\"page?.index\"\n [pageSize]=\"page?.size\"\n [pageSizeOptions]=\"pageSizeOptions\"\n >\n </mat-paginator>\n }\n }\n\n <!-- Optional Continuation Footer -->\n @if (isContinuable) {\n <div class=\"layout-row flex-none place-end-center gap-md elder-table-footer\">\n <span class=\"mat-caption noselect\" style=\"color: gray\">\n {{ (dataContext?.data | async)?.length }} / {{ total$ | async }}\n </span>\n\n <button\n mat-icon-button\n type=\"button\"\n color=\"primary\"\n [disabled]=\"!(canLoadMore$ | async)\"\n (click)=\"dataContinuable.loadMore()\"\n >\n <mat-icon>keyboard_arrow_down</mat-icon>\n </button>\n </div>\n }\n </div>\n</div>\n" }]
15959
+ ], template: "<div class=\"full\" [class.embedded]=\"embedded\" style=\"overflow: hidden\">\n <div class=\"layout-col elder-table full\">\n <!-- Toolbar Rows -->\n @for (toolbarRowTemplate of toolbarRowTemplates$ | async; track toolbarRowTemplate) {\n <ng-template\n *ngTemplateOutlet=\"toolbarRowTemplate; context: { $implicit: this }\"\n ></ng-template>\n }\n\n <!-- Scrollable Table -->\n <div\n class=\"elder-table-inner layout-col {{\n isDataValid(dataContext?.data | async) ? 'flex' : ''\n }} scrollable elder-table-scroll\"\n elderInfiniteScroll\n [eventThrottle]=\"150\"\n [offsetFactor]=\"2\"\n [ignoreScrollEvent]=\"!isContinuable || !(canLoadMore$ | async)\"\n (closeToEnd)=\"requestMoreDataZoned($event)\"\n >\n <table\n mat-table\n class=\"elder-mat-inner-table\"\n [trackBy]=\"trackByFn\"\n [dataSource]=\"$any(dataContext$ | async)\"\n [elderDataContextSelection]=\"dataContext$ | async\"\n #dataSelection=\"elderDataContextSelection\"\n [elderDataContextSelectionModel]=\"selectionModel\"\n >\n <!-- selection Column -->\n <ng-container matColumnDef=\"select\">\n <th mat-header-cell *matHeaderCellDef>\n <elder-selection-master-checkbox></elder-selection-master-checkbox>\n </th>\n <td mat-cell *matCellDef=\"let entity\">\n <div class=\"layout-row place-start-center\">\n <mat-checkbox\n (click)=\"$event.stopPropagation()\"\n (change)=\"$event ? selectionModel.toggle(entity) : null\"\n [checked]=\"selectionModel.observeSelection(entity) | async\"\n [disabled]=\"!selectionModel.isSelectable(entity)\"\n class=\"elder-table-checkbox\"\n [class.elder-table-checkbox-visible]=\"\n (dataSelection.selectionState$ | async).anySelected\n \"\n >\n </mat-checkbox>\n </div>\n </td>\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n @if (tableModel.displayedColumnsInner$ | async; as displayedColumnsInner) {\n <tr mat-header-row *matHeaderRowDef=\"displayedColumnsInner; sticky: true\"></tr>\n <tr\n mat-row\n class=\"elder-table-row\"\n *matRowDef=\"let entity; columns: displayedColumnsInner\"\n [elderTableRow]=\"entity\"\n [class.dense]=\"dense\"\n [class.elder-row-hidden]=\"hiddenField && entity[hiddenField]\"\n [class.elder-row-removing]=\"removingField && entity[removingField]\"\n [class.elder-table-row-selected]=\"\n interactionMode === 'selection' && selectionModel.observeSelection(entity) | async\n \"\n (click)=\"onItemClick(entity)\"\n (dblclick)=\"onItemDoubleClick(entity)\"\n ></tr>\n @if (showFooter) {\n <tr mat-footer-row *matFooterRowDef=\"displayedColumnsInner; sticky: true\"></tr>\n }\n }\n </table>\n </div>\n\n @if (!isDataValid(dataContext?.data | async)) {\n <elder-data-context-state-indicator class=\"flex\" [dataContext]=\"dataContext\">\n </elder-data-context-state-indicator>\n }\n\n <mat-progress-bar\n class=\"flex-none\"\n [mode]=\"(dataContext?.loading | async) ? 'indeterminate' : 'determinate'\"\n [color]=\"(dataContext?.status | async)?.hasError ? 'warn' : 'primary'\"\n >\n </mat-progress-bar>\n\n @if (isActivePaged) {\n @if (dataActivePaged.page | async; as page) {\n <!-- Optional Paginator Toolbar -->\n <mat-paginator\n class=\"flex-none\"\n [length]=\"dataContext?.total | async\"\n [pageIndex]=\"page?.index\"\n [pageSize]=\"page?.size\"\n [pageSizeOptions]=\"pageSizeOptions\"\n >\n </mat-paginator>\n }\n }\n\n <!-- Optional Continuation Footer -->\n @if (isContinuable) {\n <div class=\"layout-row flex-none place-end-center gap-md elder-table-footer\">\n <span class=\"mat-caption noselect\" style=\"color: gray\">\n {{ (dataContext?.data | async)?.length }} / {{ total$ | async }}\n </span>\n\n <button\n mat-icon-button\n type=\"button\"\n color=\"primary\"\n [disabled]=\"!(canLoadMore$ | async)\"\n (click)=\"dataContinuable.loadMore()\"\n >\n <mat-icon>keyboard_arrow_down</mat-icon>\n </button>\n </div>\n }\n </div>\n</div>\n" }]
15960
15960
  }], ctorParameters: () => [{ type: ElderTableModel }, { type: SelectionModel, decorators: [{
15961
15961
  type: Optional
15962
15962
  }] }, { type: ElderDataViewOptionsProvider, decorators: [{
15963
15963
  type: Optional
15964
15964
  }, {
15965
15965
  type: SkipSelf
15966
- }] }, { type: i2$2.MatSort, decorators: [{
15966
+ }] }, { type: i2$3.MatSort, decorators: [{
15967
15967
  type: Optional
15968
15968
  }] }, { type: ElderTableExtensionDirective, decorators: [{
15969
15969
  type: Optional
@@ -16055,7 +16055,7 @@ class ElderInfiniteAutocompleteDirective {
16055
16055
  this.unsubscribe$.next();
16056
16056
  this.unsubscribe$.complete();
16057
16057
  }
16058
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderInfiniteAutocompleteDirective, deps: [{ token: i1$b.MatAutocomplete, host: true }, { token: ElderInfiniteScrollDirective, host: true }], target: i0.ɵɵFactoryTarget.Directive }); }
16058
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderInfiniteAutocompleteDirective, deps: [{ token: i1$a.MatAutocomplete, host: true }, { token: ElderInfiniteScrollDirective, host: true }], target: i0.ɵɵFactoryTarget.Directive }); }
16059
16059
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.3", type: ElderInfiniteAutocompleteDirective, isStandalone: true, selector: "mat-autocomplete[elderElderInfiniteAutocomplete]", ngImport: i0 }); }
16060
16060
  }
16061
16061
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderInfiniteAutocompleteDirective, decorators: [{
@@ -16064,7 +16064,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
16064
16064
  selector: 'mat-autocomplete[elderElderInfiniteAutocomplete]',
16065
16065
  standalone: true,
16066
16066
  }]
16067
- }], ctorParameters: () => [{ type: i1$b.MatAutocomplete, decorators: [{
16067
+ }], ctorParameters: () => [{ type: i1$a.MatAutocomplete, decorators: [{
16068
16068
  type: Host
16069
16069
  }] }, { type: ElderInfiniteScrollDirective, decorators: [{
16070
16070
  type: Host
@@ -16207,7 +16207,7 @@ class ElderTouchedDirective {
16207
16207
  control.markAsTouched();
16208
16208
  }
16209
16209
  }
16210
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderTouchedDirective, deps: [{ token: i1$5.NgControl }], target: i0.ɵɵFactoryTarget.Directive }); }
16210
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderTouchedDirective, deps: [{ token: i1$4.NgControl }], target: i0.ɵɵFactoryTarget.Directive }); }
16211
16211
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.3", type: ElderTouchedDirective, isStandalone: true, selector: "[elderTouched]", ngImport: i0 }); }
16212
16212
  }
16213
16213
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderTouchedDirective, decorators: [{
@@ -16216,7 +16216,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
16216
16216
  selector: '[elderTouched]',
16217
16217
  standalone: true,
16218
16218
  }]
16219
- }], ctorParameters: () => [{ type: i1$5.NgControl }] });
16219
+ }], ctorParameters: () => [{ type: i1$4.NgControl }] });
16220
16220
 
16221
16221
  /**
16222
16222
  * This directive provides a parent form to any kind of nested control
@@ -16409,7 +16409,7 @@ class ElderFormFieldLabelDirective {
16409
16409
  this._matFormField.subscriptSizing = 'dynamic'; // Auto collapse hint/error line
16410
16410
  }
16411
16411
  }
16412
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderFormFieldLabelDirective, deps: [{ token: i1$c.MatFormField }], target: i0.ɵɵFactoryTarget.Directive }); }
16412
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderFormFieldLabelDirective, deps: [{ token: i1$b.MatFormField }], target: i0.ɵɵFactoryTarget.Directive }); }
16413
16413
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.3", type: ElderFormFieldLabelDirective, isStandalone: true, selector: "mat-form-field[elderFormFieldLabel]", inputs: { enabled: ["elderFormFieldLabel", "enabled"] }, host: { properties: { "class.elder-form-field-label": "this.getFormFieldLabelStyle" } }, ngImport: i0 }); }
16414
16414
  }
16415
16415
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderFormFieldLabelDirective, decorators: [{
@@ -16418,7 +16418,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
16418
16418
  selector: 'mat-form-field[elderFormFieldLabel]',
16419
16419
  standalone: true,
16420
16420
  }]
16421
- }], ctorParameters: () => [{ type: i1$c.MatFormField }], propDecorators: { getFormFieldLabelStyle: [{
16421
+ }], ctorParameters: () => [{ type: i1$b.MatFormField }], propDecorators: { getFormFieldLabelStyle: [{
16422
16422
  type: HostBinding,
16423
16423
  args: ['class.elder-form-field-label']
16424
16424
  }], enabled: [{
@@ -16711,7 +16711,7 @@ class ElderFormFieldDenseDirective extends ElderClassHostBindingBase {
16711
16711
  this._matFormField.floatLabel = this._floatLabel; // Always float label so it is not out of bounds
16712
16712
  }
16713
16713
  }
16714
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderFormFieldDenseDirective, deps: [{ token: i1$c.MatFormField }], target: i0.ɵɵFactoryTarget.Directive }); }
16714
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderFormFieldDenseDirective, deps: [{ token: i1$b.MatFormField }], target: i0.ɵɵFactoryTarget.Directive }); }
16715
16715
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.3", type: ElderFormFieldDenseDirective, isStandalone: true, selector: "mat-form-field[elderDense]", inputs: { elderDense: "elderDense", subscriptSizing: "subscriptSizing", floatLabel: "floatLabel" }, usesInheritance: true, ngImport: i0 }); }
16716
16716
  }
16717
16717
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderFormFieldDenseDirective, decorators: [{
@@ -16720,7 +16720,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
16720
16720
  selector: 'mat-form-field[elderDense]',
16721
16721
  standalone: true,
16722
16722
  }]
16723
- }], ctorParameters: () => [{ type: i1$c.MatFormField }], propDecorators: { elderDense: [{
16723
+ }], ctorParameters: () => [{ type: i1$b.MatFormField }], propDecorators: { elderDense: [{
16724
16724
  type: Input
16725
16725
  }], subscriptSizing: [{
16726
16726
  type: Input
@@ -17167,7 +17167,7 @@ class ElderTripleStateCheckboxDirective {
17167
17167
  toggleNextState() {
17168
17168
  this.controller.toggleNextState();
17169
17169
  }
17170
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderTripleStateCheckboxDirective, deps: [{ token: i1$d.MatCheckbox }, { token: i1$5.NgModel }], target: i0.ɵɵFactoryTarget.Directive }); }
17170
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderTripleStateCheckboxDirective, deps: [{ token: i1$c.MatCheckbox }, { token: i1$4.NgModel }], target: i0.ɵɵFactoryTarget.Directive }); }
17171
17171
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.3", type: ElderTripleStateCheckboxDirective, isStandalone: true, selector: "mat-checkbox[elderTripleStateCheckbox]", ngImport: i0 }); }
17172
17172
  }
17173
17173
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderTripleStateCheckboxDirective, decorators: [{
@@ -17176,7 +17176,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
17176
17176
  selector: 'mat-checkbox[elderTripleStateCheckbox]',
17177
17177
  standalone: true,
17178
17178
  }]
17179
- }], ctorParameters: () => [{ type: i1$d.MatCheckbox }, { type: i1$5.NgModel }] });
17179
+ }], ctorParameters: () => [{ type: i1$c.MatCheckbox }, { type: i1$4.NgModel }] });
17180
17180
 
17181
17181
  /**
17182
17182
  * Traps tab focus inside the host elements children.
@@ -17358,7 +17358,7 @@ class ElderFormFieldNoHintDirective extends ElderClassHostBindingBase {
17358
17358
  this._matFormField.subscriptSizing = 'dynamic'; // Auto collapse hint/error line
17359
17359
  }
17360
17360
  }
17361
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderFormFieldNoHintDirective, deps: [{ token: i1$c.MatFormField }], target: i0.ɵɵFactoryTarget.Directive }); }
17361
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderFormFieldNoHintDirective, deps: [{ token: i1$b.MatFormField }], target: i0.ɵɵFactoryTarget.Directive }); }
17362
17362
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.3", type: ElderFormFieldNoHintDirective, isStandalone: true, selector: "mat-form-field[elderNoHint]", inputs: { elderNoHint: "elderNoHint" }, usesInheritance: true, ngImport: i0 }); }
17363
17363
  }
17364
17364
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderFormFieldNoHintDirective, decorators: [{
@@ -17367,7 +17367,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
17367
17367
  selector: 'mat-form-field[elderNoHint]',
17368
17368
  standalone: true,
17369
17369
  }]
17370
- }], ctorParameters: () => [{ type: i1$c.MatFormField }], propDecorators: { elderNoHint: [{
17370
+ }], ctorParameters: () => [{ type: i1$b.MatFormField }], propDecorators: { elderNoHint: [{
17371
17371
  type: Input
17372
17372
  }] } });
17373
17373
 
@@ -17658,7 +17658,7 @@ class ElderValidationErrorDirective {
17658
17658
  this.ref.markForCheck();
17659
17659
  }
17660
17660
  }
17661
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderValidationErrorDirective, deps: [{ token: ValidationMessageRendererService }, { token: i1$c.MatFormField }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
17661
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderValidationErrorDirective, deps: [{ token: ValidationMessageRendererService }, { token: i1$b.MatFormField }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
17662
17662
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.3", type: ElderValidationErrorDirective, isStandalone: true, selector: "mat-error[elderValidationError]", ngImport: i0 }); }
17663
17663
  }
17664
17664
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderValidationErrorDirective, decorators: [{
@@ -17667,7 +17667,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
17667
17667
  selector: 'mat-error[elderValidationError]',
17668
17668
  standalone: true,
17669
17669
  }]
17670
- }], ctorParameters: () => [{ type: ValidationMessageRendererService }, { type: i1$c.MatFormField }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }] });
17670
+ }], ctorParameters: () => [{ type: ValidationMessageRendererService }, { type: i1$b.MatFormField }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }] });
17671
17671
 
17672
17672
  var ElderCheckboxState;
17673
17673
  (function (ElderCheckboxState) {
@@ -17795,7 +17795,7 @@ class ElderSingleStateCheckboxDirective {
17795
17795
  toggleNextState() {
17796
17796
  this.controller.toggleNextState();
17797
17797
  }
17798
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderSingleStateCheckboxDirective, deps: [{ token: i1$d.MatCheckbox }, { token: i1$5.NgModel }], target: i0.ɵɵFactoryTarget.Directive }); }
17798
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderSingleStateCheckboxDirective, deps: [{ token: i1$c.MatCheckbox }, { token: i1$4.NgModel }], target: i0.ɵɵFactoryTarget.Directive }); }
17799
17799
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.3", type: ElderSingleStateCheckboxDirective, isStandalone: true, selector: "mat-checkbox[elderSingleStateCheckbox]", ngImport: i0 }); }
17800
17800
  }
17801
17801
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderSingleStateCheckboxDirective, decorators: [{
@@ -17804,7 +17804,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
17804
17804
  selector: 'mat-checkbox[elderSingleStateCheckbox]',
17805
17805
  standalone: true,
17806
17806
  }]
17807
- }], ctorParameters: () => [{ type: i1$d.MatCheckbox }, { type: i1$5.NgModel }] });
17807
+ }], ctorParameters: () => [{ type: i1$c.MatCheckbox }, { type: i1$4.NgModel }] });
17808
17808
 
17809
17809
  class ElderFormsDirectivesModule {
17810
17810
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderFormsDirectivesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
@@ -17935,7 +17935,7 @@ class ElderNumberCellDirective {
17935
17935
  matSortHeader.arrowPosition = 'before';
17936
17936
  }
17937
17937
  }
17938
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderNumberCellDirective, deps: [{ token: i2$2.MatSortHeader, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
17938
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderNumberCellDirective, deps: [{ token: i2$3.MatSortHeader, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
17939
17939
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.3", type: ElderNumberCellDirective, isStandalone: true, selector: "[elderNumberCell]", host: { properties: { "class.elder-number-cell": "true" } }, ngImport: i0 }); }
17940
17940
  }
17941
17941
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderNumberCellDirective, decorators: [{
@@ -17947,7 +17947,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
17947
17947
  },
17948
17948
  standalone: true,
17949
17949
  }]
17950
- }], ctorParameters: () => [{ type: i2$2.MatSortHeader, decorators: [{
17950
+ }], ctorParameters: () => [{ type: i2$3.MatSortHeader, decorators: [{
17951
17951
  type: Optional
17952
17952
  }] }] });
17953
17953
 
@@ -19536,7 +19536,7 @@ class ElderLanguageService {
19536
19536
  setLanguage(lang) {
19537
19537
  this.translate.use(lang);
19538
19538
  }
19539
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderLanguageService, deps: [{ token: i1$2.TranslateService }, { token: i2.WebLocalStorage }], target: i0.ɵɵFactoryTarget.Injectable }); }
19539
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderLanguageService, deps: [{ token: i1$2.TranslateService }, { token: i2$1.WebLocalStorage }], target: i0.ɵɵFactoryTarget.Injectable }); }
19540
19540
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderLanguageService, providedIn: 'root' }); }
19541
19541
  }
19542
19542
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderLanguageService, decorators: [{
@@ -19544,7 +19544,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
19544
19544
  args: [{
19545
19545
  providedIn: 'root',
19546
19546
  }]
19547
- }], ctorParameters: () => [{ type: i1$2.TranslateService }, { type: i2.WebLocalStorage }] });
19547
+ }], ctorParameters: () => [{ type: i1$2.TranslateService }, { type: i2$1.WebLocalStorage }] });
19548
19548
 
19549
19549
  class ElderLanguageSwitcherComponent {
19550
19550
  /***************************************************************************
@@ -19588,7 +19588,7 @@ class ElderLanguageSwitcherComponent {
19588
19588
  return this.language.isLanguageActive(lang);
19589
19589
  }
19590
19590
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderLanguageSwitcherComponent, deps: [{ token: ElderLanguageService }], target: i0.ɵɵFactoryTarget.Component }); }
19591
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ElderLanguageSwitcherComponent, isStandalone: true, selector: "elder-language-switcher", inputs: { slimMode: "slimMode" }, ngImport: i0, template: "<mat-menu #languageMenu=\"matMenu\">\n <button\n mat-menu-item\n type=\"button\"\n *ngFor=\"let lang of languages\"\n (click)=\"currentLanguage = lang\"\n >\n <mat-icon>language</mat-icon>\n <span [class.active]=\"isLanguageActive(lang)\">{{ 'language.' + lang | translate }}</span>\n </button>\n</mat-menu>\n\n<button mat-button type=\"button\" *ngIf=\"slimMode\" [matMenuTriggerFor]=\"languageMenu\">\n <div class=\"layout-row place-start-center\">\n <mat-icon>language</mat-icon>\n <span class=\"language\">{{ currentLanguage }}</span>\n </div>\n</button>\n\n<mat-form-field *ngIf=\"!slimMode\">\n <mat-select\n placeholder=\"{{ 'language.language' | translate }}\"\n name=\"language\"\n [(ngModel)]=\"currentLanguage\"\n >\n <mat-option *ngFor=\"let lang of languages\" [value]=\"lang\">{{\n 'language.' + lang | translate\n }}</mat-option>\n </mat-select>\n</mat-form-field>\n", styles: [".language{font-size:16px;text-transform:uppercase}.active{font-weight:700}\n"], dependencies: [{ kind: "component", type: MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: 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: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }] }); }
19591
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ElderLanguageSwitcherComponent, isStandalone: true, selector: "elder-language-switcher", inputs: { slimMode: "slimMode" }, ngImport: i0, template: "<mat-menu #languageMenu=\"matMenu\">\n <button\n mat-menu-item\n type=\"button\"\n *ngFor=\"let lang of languages\"\n (click)=\"currentLanguage = lang\"\n >\n <mat-icon>language</mat-icon>\n <span [class.active]=\"isLanguageActive(lang)\">{{ 'language.' + lang | translate }}</span>\n </button>\n</mat-menu>\n\n<button mat-button type=\"button\" *ngIf=\"slimMode\" [matMenuTriggerFor]=\"languageMenu\">\n <div class=\"layout-row place-start-center\">\n <mat-icon>language</mat-icon>\n <span class=\"language\">{{ currentLanguage }}</span>\n </div>\n</button>\n\n<mat-form-field *ngIf=\"!slimMode\">\n <mat-select\n placeholder=\"{{ 'language.language' | translate }}\"\n name=\"language\"\n [(ngModel)]=\"currentLanguage\"\n >\n <mat-option *ngFor=\"let lang of languages\" [value]=\"lang\">{{\n 'language.' + lang | translate\n }}</mat-option>\n </mat-select>\n</mat-form-field>\n", styles: [".language{font-size:16px;text-transform:uppercase}.active{font-weight:700}\n"], dependencies: [{ kind: "component", type: MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: 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: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }] }); }
19592
19592
  }
19593
19593
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderLanguageSwitcherComponent, decorators: [{
19594
19594
  type: Component,
@@ -19820,7 +19820,7 @@ class ElderDetailDialogComponent {
19820
19820
  close() {
19821
19821
  this.dialogRef.close(this.entity$.getValue());
19822
19822
  }
19823
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderDetailDialogComponent, deps: [{ token: i1$8.MatDialogRef, optional: true }, { token: MAT_DIALOG_DATA, optional: true }, { token: ElderMasterDetailService }], target: i0.ɵɵFactoryTarget.Component }); }
19823
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderDetailDialogComponent, deps: [{ token: i1$7.MatDialogRef, optional: true }, { token: MAT_DIALOG_DATA, optional: true }, { token: ElderMasterDetailService }], target: i0.ɵɵFactoryTarget.Component }); }
19824
19824
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ElderDetailDialogComponent, isStandalone: true, selector: "elder-detail-dialog", ngImport: i0, template: "<div class=\"layout-col full\" *ngIf=\"entity$ | async as entity\">\n <span style=\"width: 100vw\"></span>\n\n <!-- Header Section -->\n <elder-toolbar class=\"gap-md\">\n <button (click)=\"close()\" mat-icon-button *elderToolbarColumn=\"'left.begin'\">\n <mat-icon>close</mat-icon>\n </button>\n </elder-toolbar>\n\n <div class=\"layout-row flex gap-md\">\n <ng-container\n *ngTemplateOutlet=\"data.detailTemplateRef; context: { $implicit: entity }\"\n ></ng-container>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ElderToolbarComponent, selector: "elder-toolbar", inputs: ["color"] }, { kind: "directive", type: ElderToolbarColumnDirective, selector: "[elderToolbarColumn]", inputs: ["elderToolbarColumn", "elderToolbarDefault"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19825
19825
  }
19826
19826
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderDetailDialogComponent, decorators: [{
@@ -19834,7 +19834,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
19834
19834
  NgTemplateOutlet,
19835
19835
  AsyncPipe,
19836
19836
  ], template: "<div class=\"layout-col full\" *ngIf=\"entity$ | async as entity\">\n <span style=\"width: 100vw\"></span>\n\n <!-- Header Section -->\n <elder-toolbar class=\"gap-md\">\n <button (click)=\"close()\" mat-icon-button *elderToolbarColumn=\"'left.begin'\">\n <mat-icon>close</mat-icon>\n </button>\n </elder-toolbar>\n\n <div class=\"layout-row flex gap-md\">\n <ng-container\n *ngTemplateOutlet=\"data.detailTemplateRef; context: { $implicit: entity }\"\n ></ng-container>\n </div>\n</div>\n" }]
19837
- }], ctorParameters: () => [{ type: i1$8.MatDialogRef, decorators: [{
19837
+ }], ctorParameters: () => [{ type: i1$7.MatDialogRef, decorators: [{
19838
19838
  type: Optional
19839
19839
  }] }, { type: undefined, decorators: [{
19840
19840
  type: Optional
@@ -19878,7 +19878,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
19878
19878
  args: ['class']
19879
19879
  }] } });
19880
19880
 
19881
- class ElderPaneContainerComponent {
19881
+ class ElderBasicPaneLayoutComponent {
19882
19882
  constructor() {
19883
19883
  this.class = '';
19884
19884
  this.hasChild = false;
@@ -19886,8 +19886,8 @@ class ElderPaneContainerComponent {
19886
19886
  ngAfterContentInit() {
19887
19887
  this.hasChild = this.children.length > 0;
19888
19888
  }
19889
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderPaneContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19890
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ElderPaneContainerComponent, isStandalone: true, selector: "elder-pane-container", host: { properties: { "class": "this.class" }, classAttribute: "elder-pane-container" }, queries: [{ propertyName: "children", predicate: ElderPaneComponent }], ngImport: i0, template: ` <!-- inline-html -->
19889
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderBasicPaneLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19890
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ElderBasicPaneLayoutComponent, isStandalone: true, selector: "elder-basic-pane-layout", host: { properties: { "class": "this.class" }, classAttribute: "elder-basic-pane-layout" }, queries: [{ propertyName: "children", predicate: ElderPaneComponent }], ngImport: i0, template: ` <!-- inline-html -->
19891
19891
  <!-- Project content matching the child component selector -->
19892
19892
  <ng-content select="elder-pane"></ng-content>
19893
19893
 
@@ -19897,12 +19897,12 @@ class ElderPaneContainerComponent {
19897
19897
  <ng-content></ng-content>
19898
19898
  <!-- All other content -->
19899
19899
  </elder-pane>
19900
- </ng-container>`, isInline: true, styles: [":host{display:flex;flex-flow:row nowrap;justify-content:space-around;padding:var(--elder-pane-padding);gap:var(--elder-pane-gap);align-items:stretch}\n"], dependencies: [{ kind: "component", type: ElderPaneComponent, selector: "elder-pane" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19900
+ </ng-container>`, isInline: true, styles: [":host{display:flex;flex-flow:row nowrap;justify-content:space-around;padding:var(--elder-pane-padding);gap:var(--elder-pane-gap);align-items:stretch}\n"], dependencies: [{ kind: "component", type: ElderPaneComponent, selector: "elder-pane" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19901
19901
  }
19902
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderPaneContainerComponent, decorators: [{
19902
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderBasicPaneLayoutComponent, decorators: [{
19903
19903
  type: Component,
19904
- args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [ElderPaneComponent, CommonModule], selector: 'elder-pane-container', host: {
19905
- class: 'elder-pane-container',
19904
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [ElderPaneComponent, CommonModule], selector: 'elder-basic-pane-layout', host: {
19905
+ class: 'elder-basic-pane-layout',
19906
19906
  }, template: ` <!-- inline-html -->
19907
19907
  <!-- Project content matching the child component selector -->
19908
19908
  <ng-content select="elder-pane"></ng-content>
@@ -20013,13 +20013,13 @@ class ElderMasterDetailComponent {
20013
20013
  this.dialogRef.close();
20014
20014
  }
20015
20015
  }
20016
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderMasterDetailComponent, deps: [{ token: ElderMasterDetailService }, { token: i1$8.MatDialog }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
20017
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: ElderMasterDetailComponent, isStandalone: true, selector: "elder-master-detail", inputs: { mode: "mode" }, providers: [ElderMasterDetailProvider.ExistingOrNewMasterDetailService], queries: [{ propertyName: "master", first: true, predicate: ElderMasterDirective, descendants: true, read: TemplateRef }, { propertyName: "detail", first: true, predicate: ElderDetailDirective, descendants: true, read: TemplateRef }], ngImport: i0, template: "<div class=\"layout-row full\" *ngIf=\"mode$ | async as mode\">\n <elder-pane-container class=\"flex p-0\">\n <elder-pane>\n <ng-container *ngTemplateOutlet=\"master\"></ng-container>\n </elder-pane>\n\n @if (mode === 'EMBEDDED') {\n <elder-pane *ngIf=\"currentActive$ | async as currentActive\">\n <ng-container\n *ngTemplateOutlet=\"detail; context: { $implicit: currentActive }\"\n ></ng-container>\n </elder-pane>\n }\n </elder-pane-container>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: ElderPaneContainerComponent, selector: "elder-pane-container" }, { kind: "component", type: ElderPaneComponent, selector: "elder-pane" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
20016
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderMasterDetailComponent, deps: [{ token: ElderMasterDetailService }, { token: i1$7.MatDialog }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
20017
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: ElderMasterDetailComponent, isStandalone: true, selector: "elder-master-detail", inputs: { mode: "mode" }, providers: [ElderMasterDetailProvider.ExistingOrNewMasterDetailService], queries: [{ propertyName: "master", first: true, predicate: ElderMasterDirective, descendants: true, read: TemplateRef }, { propertyName: "detail", first: true, predicate: ElderDetailDirective, descendants: true, read: TemplateRef }], ngImport: i0, template: "<div class=\"layout-col full\" *ngIf=\"mode$ | async as mode\">\n <elder-basic-pane-layout class=\"flex p-0\">\n <elder-pane>\n <ng-container *ngTemplateOutlet=\"master\"></ng-container>\n </elder-pane>\n\n @if (mode === 'EMBEDDED') {\n <elder-pane *ngIf=\"currentActive$ | async as currentActive\">\n <ng-container\n *ngTemplateOutlet=\"detail; context: { $implicit: currentActive }\"\n ></ng-container>\n </elder-pane>\n }\n </elder-basic-pane-layout>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: ElderBasicPaneLayoutComponent, selector: "elder-basic-pane-layout" }, { kind: "component", type: ElderPaneComponent, selector: "elder-pane" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
20018
20018
  }
20019
20019
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderMasterDetailComponent, decorators: [{
20020
20020
  type: Component,
20021
- args: [{ selector: 'elder-master-detail', changeDetection: ChangeDetectionStrategy.OnPush, providers: [ElderMasterDetailProvider.ExistingOrNewMasterDetailService], imports: [NgIf, NgTemplateOutlet, AsyncPipe, ElderPaneContainerComponent, ElderPaneComponent], template: "<div class=\"layout-row full\" *ngIf=\"mode$ | async as mode\">\n <elder-pane-container class=\"flex p-0\">\n <elder-pane>\n <ng-container *ngTemplateOutlet=\"master\"></ng-container>\n </elder-pane>\n\n @if (mode === 'EMBEDDED') {\n <elder-pane *ngIf=\"currentActive$ | async as currentActive\">\n <ng-container\n *ngTemplateOutlet=\"detail; context: { $implicit: currentActive }\"\n ></ng-container>\n </elder-pane>\n }\n </elder-pane-container>\n</div>\n" }]
20022
- }], ctorParameters: () => [{ type: ElderMasterDetailService }, { type: i1$8.MatDialog }, { type: i0.ViewContainerRef }], propDecorators: { master: [{
20021
+ args: [{ selector: 'elder-master-detail', changeDetection: ChangeDetectionStrategy.OnPush, providers: [ElderMasterDetailProvider.ExistingOrNewMasterDetailService], imports: [NgIf, NgTemplateOutlet, AsyncPipe, ElderBasicPaneLayoutComponent, ElderPaneComponent], template: "<div class=\"layout-col full\" *ngIf=\"mode$ | async as mode\">\n <elder-basic-pane-layout class=\"flex p-0\">\n <elder-pane>\n <ng-container *ngTemplateOutlet=\"master\"></ng-container>\n </elder-pane>\n\n @if (mode === 'EMBEDDED') {\n <elder-pane *ngIf=\"currentActive$ | async as currentActive\">\n <ng-container\n *ngTemplateOutlet=\"detail; context: { $implicit: currentActive }\"\n ></ng-container>\n </elder-pane>\n }\n </elder-basic-pane-layout>\n</div>\n" }]
20022
+ }], ctorParameters: () => [{ type: ElderMasterDetailService }, { type: i1$7.MatDialog }, { type: i0.ViewContainerRef }], propDecorators: { master: [{
20023
20023
  type: ContentChild,
20024
20024
  args: [ElderMasterDirective, { read: TemplateRef, static: false }]
20025
20025
  }], detail: [{
@@ -20994,7 +20994,7 @@ class TemplatedSelectionDialogComponent {
20994
20994
  * *
20995
20995
  **************************************************************************/
20996
20996
  ngOnInit() { }
20997
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TemplatedSelectionDialogComponent, deps: [{ token: i1$8.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: SelectionModel }], target: i0.ɵɵFactoryTarget.Component }); }
20997
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TemplatedSelectionDialogComponent, deps: [{ token: i1$7.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: SelectionModel }], target: i0.ɵɵFactoryTarget.Component }); }
20998
20998
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: TemplatedSelectionDialogComponent, isStandalone: true, selector: "elder-templated-selection-dialog", ngImport: i0, template: "<div class=\"layout-col full\">\n <mat-toolbar elderTheme class=\"flex-none\">\n <button mat-icon-button type=\"button\" matDialogClose=\"\">\n <mat-icon>close</mat-icon>\n </button>\n <span class=\"flex\"></span>\n <button\n mat-stroked-button\n type=\"submit\"\n *ngIf=\"selectionModel.selection | async as selection\"\n [disabled]=\"!selection || selection.length === 0\"\n [mat-dialog-close]=\"selection\"\n >\n {{ 'actions.select' | translate }}\n </button>\n </mat-toolbar>\n <div class=\"layout-col flex\" style=\"overflow: hidden\">\n <ng-container *ngTemplateOutlet=\"data.selectionComponentTemplate\"></ng-container>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: ElderThemeDirective, selector: "[elderTheme]" }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
20999
20999
  }
21000
21000
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: TemplatedSelectionDialogComponent, decorators: [{
@@ -21011,7 +21011,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
21011
21011
  AsyncPipe,
21012
21012
  TranslateModule,
21013
21013
  ], template: "<div class=\"layout-col full\">\n <mat-toolbar elderTheme class=\"flex-none\">\n <button mat-icon-button type=\"button\" matDialogClose=\"\">\n <mat-icon>close</mat-icon>\n </button>\n <span class=\"flex\"></span>\n <button\n mat-stroked-button\n type=\"submit\"\n *ngIf=\"selectionModel.selection | async as selection\"\n [disabled]=\"!selection || selection.length === 0\"\n [mat-dialog-close]=\"selection\"\n >\n {{ 'actions.select' | translate }}\n </button>\n </mat-toolbar>\n <div class=\"layout-col flex\" style=\"overflow: hidden\">\n <ng-container *ngTemplateOutlet=\"data.selectionComponentTemplate\"></ng-container>\n </div>\n</div>\n" }]
21014
- }], ctorParameters: () => [{ type: i1$8.MatDialogRef }, { type: undefined, decorators: [{
21014
+ }], ctorParameters: () => [{ type: i1$7.MatDialogRef }, { type: undefined, decorators: [{
21015
21015
  type: Inject,
21016
21016
  args: [MAT_DIALOG_DATA]
21017
21017
  }] }, { type: SelectionModel }] });
@@ -21095,7 +21095,7 @@ class SelectionModelPopupDirective {
21095
21095
  viewContainerRef: this.viewContainer,
21096
21096
  });
21097
21097
  }
21098
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: SelectionModelPopupDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i1$8.MatDialog }, { token: ElderDataViewOptionsProvider }, { token: SelectionModel }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
21098
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: SelectionModelPopupDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: i1$7.MatDialog }, { token: ElderDataViewOptionsProvider }, { token: SelectionModel }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
21099
21099
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.3", type: SelectionModelPopupDirective, isStandalone: true, selector: "[elderSelectionModelPopup]", inputs: { elderSelectionModelPopupTransform: "elderSelectionModelPopupTransform" }, providers: [
21100
21100
  {
21101
21101
  provide: SelectionModel,
@@ -21126,7 +21126,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
21126
21126
  ],
21127
21127
  standalone: true,
21128
21128
  }]
21129
- }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: i1$8.MatDialog }, { type: ElderDataViewOptionsProvider }, { type: SelectionModel }, { type: i0.ChangeDetectorRef }], propDecorators: { elderSelectionModelPopupTransform: [{
21129
+ }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: i1$7.MatDialog }, { type: ElderDataViewOptionsProvider }, { type: SelectionModel }, { type: i0.ChangeDetectorRef }], propDecorators: { elderSelectionModelPopupTransform: [{
21130
21130
  type: Input
21131
21131
  }] } });
21132
21132
 
@@ -21555,7 +21555,7 @@ class ElderAutocompleteDirective {
21555
21555
  this.logger.warn('No DataContext available to update suggestions!');
21556
21556
  }
21557
21557
  }
21558
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderAutocompleteDirective, deps: [{ token: i1$b.MatAutocompleteTrigger }], target: i0.ɵɵFactoryTarget.Directive }); }
21558
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderAutocompleteDirective, deps: [{ token: i1$a.MatAutocompleteTrigger }], target: i0.ɵɵFactoryTarget.Directive }); }
21559
21559
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.3", type: ElderAutocompleteDirective, isStandalone: true, selector: "[elderAutocomplete]", inputs: { queryFilter: "queryFilter", filters: "filters", sorts: "sorts", autocomplete: ["elderAutocomplete", "autocomplete"] }, host: { listeners: { "keyup": "onKeyUp($event)" } }, ngImport: i0 }); }
21560
21560
  }
21561
21561
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderAutocompleteDirective, decorators: [{
@@ -21564,7 +21564,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
21564
21564
  selector: '[elderAutocomplete]',
21565
21565
  standalone: true,
21566
21566
  }]
21567
- }], ctorParameters: () => [{ type: i1$b.MatAutocompleteTrigger }], propDecorators: { queryFilter: [{
21567
+ }], ctorParameters: () => [{ type: i1$a.MatAutocompleteTrigger }], propDecorators: { queryFilter: [{
21568
21568
  type: Input
21569
21569
  }], filters: [{
21570
21570
  type: Input
@@ -21682,7 +21682,7 @@ class ElderSelectOnTabDirective {
21682
21682
  return entity;
21683
21683
  }
21684
21684
  }
21685
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderSelectOnTabDirective, deps: [{ token: i1$b.MatAutocompleteTrigger }, { token: ELDER_SELECT_BASE, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive }); }
21685
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderSelectOnTabDirective, deps: [{ token: i1$a.MatAutocompleteTrigger }, { token: ELDER_SELECT_BASE, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive }); }
21686
21686
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.3", type: ElderSelectOnTabDirective, isStandalone: true, selector: "[elderSelectOnTab]", host: { listeners: { "keydown.arrowup": "onOptionSelect()", "keydown.arrowdown": "onOptionSelect()", "keydown.tab": "onBlur()" } }, ngImport: i0 }); }
21687
21687
  }
21688
21688
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderSelectOnTabDirective, decorators: [{
@@ -21691,7 +21691,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
21691
21691
  selector: '[elderSelectOnTab]',
21692
21692
  standalone: true,
21693
21693
  }]
21694
- }], ctorParameters: () => [{ type: i1$b.MatAutocompleteTrigger }, { type: ElderSelectBase, decorators: [{
21694
+ }], ctorParameters: () => [{ type: i1$a.MatAutocompleteTrigger }, { type: ElderSelectBase, decorators: [{
21695
21695
  type: SkipSelf
21696
21696
  }, {
21697
21697
  type: Inject,
@@ -22380,7 +22380,7 @@ class ElderSelectComponent extends ElderSelectBase {
22380
22380
  provide: ELDER_SELECT_BASE,
22381
22381
  useExisting: forwardRef(() => ElderSelectComponent),
22382
22382
  },
22383
- ], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (entityWrapped(); as entityWrapper) {\n <div class=\"layout-row place-start-center elder-flex-control\">\n @if (state(); as state) {\n @if (state?.error || icon) {\n <div class=\"elder-input-prefix-icon-container flex-none\">\n @if (icon) {\n <mat-icon\n disabled\n class=\"elder-mdc-control-icon elder-icon-small noselect clickable-icon\"\n [class.loading]=\"state.loading\"\n [color]=\"state?.error ? 'warn' : focused ? 'primary' : undefined\"\n (click)=\"onCurrentClicked(entity)\"\n >\n {{ icon }}\n </mat-icon>\n } @else if (state?.error) {\n <mat-icon\n class=\"elder-mdc-control-icon elder-icon-small noselect\"\n color=\"warn\"\n [matTooltip]=\"state?.error\"\n >\n warning\n </mat-icon>\n }\n </div>\n }\n }\n\n <!-- A dynamic input -->\n <input\n #input\n matInput\n type=\"text\"\n class=\"flex-grow elder-select-input mdc-text-field__input\"\n [disabled]=\"!!disabled\"\n [required]=\"!!required\"\n [readonly]=\"readonly || !autocomplete\"\n [name]=\"ngControl?.name + '-inner-input'\"\n [placeholder]=\"placeholderS() | translate\"\n [matAutocomplete]\n #autoTrigger=\"matAutocompleteTrigger\"\n [elderAutocomplete]=\"elderAuto\"\n [queryFilter]=\"queryFilter\"\n [filters]=\"filters\"\n [sorts]=\"sorts\"\n elderSelectOnTab\n [class.elder-select-dropdown-input]=\"!autocomplete\"\n [ngModel]=\"inputText()\"\n [ngModelOptions]=\"{ standalone: true, updateOn: 'submit' }\"\n (blur)=\"onInputBlur($event)\"\n (focus)=\"onInputFocus(autoTrigger)\"\n (click)=\"onInputClicked(autoTrigger)\"\n />\n\n <elder-suggestion-panel\n #elderAuto=\"elderSuggestionPanel\"\n [dataSource]=\"dataContextS()?.dataSource\"\n [valueTemplate]=\"valueTemplate\"\n enabled\n [displayPropertyResolver]=\"displayPropertyResolverS()\"\n [isOptionDisabledFn]=\"isOptionDisabledInternalFn\"\n [isOptionHiddenFn]=\"isOptionHiddenInternalFn\"\n elderAutoSelectSuggestFirst\n (optionSelected)=\"onOptionSelected($any($event))\"\n ></elder-suggestion-panel>\n\n <div class=\"layout-row place-start-center flex-none\">\n @if (!selectionPopup && !autocomplete && !entityWrapper.displayRemove) {\n <mat-icon\n class=\"elder-mdc-control-icon elder-select-arrow noselect\"\n (click)=\"onInputClicked(autoTrigger)\"\n >\n arrow_drop_down\n </mat-icon>\n }\n\n @if (selectionPopup && !entityWrapper.displayRemove) {\n <button\n mat-icon-button\n type=\"button\"\n class=\"elder-control-icon-button\"\n [disabled]=\"isLocked\"\n (click)=\"openSelectionPopup($event)\"\n aria-label=\"Search\"\n elderStopEventPropagation\n tabIndex=\"-1\"\n >\n <mat-icon class=\"elder-mdc-control-icon\">search</mat-icon>\n </button>\n }\n\n @if (entityWrapper.displayRemove && !this.readonlyS()) {\n <button\n mat-icon-button\n type=\"button\"\n class=\"elder-control-icon-button\"\n [disabled]=\"isLockedS()\"\n (click)=\"clear($event)\"\n aria-label=\"Clear\"\n elderStopEventPropagation\n tabIndex=\"-1\"\n >\n <mat-icon class=\"elder-mdc-control-icon\">close</mat-icon>\n </button>\n }\n </div>\n </div>\n}\n", styles: [""], dependencies: [{ kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ElderSelectOnTabDirective, selector: "[elderSelectOnTab]" }, { kind: "directive", type: ElderAutocompleteDirective, selector: "[elderAutocomplete]", inputs: ["queryFilter", "filters", "sorts", "elderAutocomplete"] }, { kind: "component", type: ElderSuggestionPanelComponent, selector: "elder-suggestion-panel", inputs: ["isOptionDisabledFn", "isOptionHiddenFn", "optionValueConverterFn", "enabled", "valueTemplate", "dataSource", "displayPropertyResolver"], outputs: ["optionSelected"], exportAs: ["elderSuggestionPanel"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: ElderStopEventPropagationDirective, selector: "[elderStopEventPropagation]" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "directive", type: ElderAutoSelectSuggestFirstDirective, selector: "[elderAutoSelectSuggestFirst]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
22383
+ ], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (entityWrapped(); as entityWrapper) {\n <div class=\"layout-row place-start-center elder-flex-control\">\n @if (state(); as state) {\n @if (state?.error || icon) {\n <div class=\"elder-input-prefix-icon-container flex-none\">\n @if (icon) {\n <mat-icon\n disabled\n class=\"elder-mdc-control-icon elder-icon-small noselect clickable-icon\"\n [class.loading]=\"state.loading\"\n [color]=\"state?.error ? 'warn' : focused ? 'primary' : undefined\"\n (click)=\"onCurrentClicked(entity)\"\n >\n {{ icon }}\n </mat-icon>\n } @else if (state?.error) {\n <mat-icon\n class=\"elder-mdc-control-icon elder-icon-small noselect\"\n color=\"warn\"\n [matTooltip]=\"state?.error\"\n >\n warning\n </mat-icon>\n }\n </div>\n }\n }\n\n <!-- A dynamic input -->\n <input\n #input\n matInput\n type=\"text\"\n class=\"flex-grow elder-select-input mdc-text-field__input\"\n [disabled]=\"!!disabled\"\n [required]=\"!!required\"\n [readonly]=\"readonly || !autocomplete\"\n [name]=\"ngControl?.name + '-inner-input'\"\n [placeholder]=\"placeholderS() | translate\"\n [matAutocomplete]\n #autoTrigger=\"matAutocompleteTrigger\"\n [elderAutocomplete]=\"elderAuto\"\n [queryFilter]=\"queryFilter\"\n [filters]=\"filters\"\n [sorts]=\"sorts\"\n elderSelectOnTab\n [class.elder-select-dropdown-input]=\"!autocomplete\"\n [ngModel]=\"inputText()\"\n [ngModelOptions]=\"{ standalone: true, updateOn: 'submit' }\"\n (blur)=\"onInputBlur($event)\"\n (focus)=\"onInputFocus(autoTrigger)\"\n (click)=\"onInputClicked(autoTrigger)\"\n />\n\n <elder-suggestion-panel\n #elderAuto=\"elderSuggestionPanel\"\n [dataSource]=\"dataContextS()?.dataSource\"\n [valueTemplate]=\"valueTemplate\"\n enabled\n [displayPropertyResolver]=\"displayPropertyResolverS()\"\n [isOptionDisabledFn]=\"isOptionDisabledInternalFn\"\n [isOptionHiddenFn]=\"isOptionHiddenInternalFn\"\n elderAutoSelectSuggestFirst\n (optionSelected)=\"onOptionSelected($any($event))\"\n ></elder-suggestion-panel>\n\n <div class=\"layout-row place-start-center flex-none\">\n @if (!selectionPopup && !autocomplete && !entityWrapper.displayRemove) {\n <mat-icon\n class=\"elder-mdc-control-icon elder-select-arrow noselect\"\n (click)=\"onInputClicked(autoTrigger)\"\n >\n arrow_drop_down\n </mat-icon>\n }\n\n @if (selectionPopup && !entityWrapper.displayRemove) {\n <button\n mat-icon-button\n type=\"button\"\n class=\"elder-control-icon-button\"\n [disabled]=\"isLocked\"\n (click)=\"openSelectionPopup($event)\"\n aria-label=\"Search\"\n elderStopEventPropagation\n tabIndex=\"-1\"\n >\n <mat-icon class=\"elder-mdc-control-icon\">search</mat-icon>\n </button>\n }\n\n @if (entityWrapper.displayRemove && !this.readonlyS()) {\n <button\n mat-icon-button\n type=\"button\"\n class=\"elder-control-icon-button\"\n [disabled]=\"isLockedS()\"\n (click)=\"clear($event)\"\n aria-label=\"Clear\"\n elderStopEventPropagation\n tabIndex=\"-1\"\n >\n <mat-icon class=\"elder-mdc-control-icon\">close</mat-icon>\n </button>\n }\n </div>\n </div>\n}\n", styles: [""], dependencies: [{ kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ElderSelectOnTabDirective, selector: "[elderSelectOnTab]" }, { kind: "directive", type: ElderAutocompleteDirective, selector: "[elderAutocomplete]", inputs: ["queryFilter", "filters", "sorts", "elderAutocomplete"] }, { kind: "component", type: ElderSuggestionPanelComponent, selector: "elder-suggestion-panel", inputs: ["isOptionDisabledFn", "isOptionHiddenFn", "optionValueConverterFn", "enabled", "valueTemplate", "dataSource", "displayPropertyResolver"], outputs: ["optionSelected"], exportAs: ["elderSuggestionPanel"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: ElderStopEventPropagationDirective, selector: "[elderStopEventPropagation]" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "directive", type: ElderAutoSelectSuggestFirstDirective, selector: "[elderAutoSelectSuggestFirst]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
22384
22384
  }
22385
22385
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderSelectComponent, decorators: [{
22386
22386
  type: Component,
@@ -22623,7 +22623,7 @@ class ElderQuantityInputControlComponent extends ElderFormFieldControlBase {
22623
22623
  return a?.value === b?.value && a?.unit === b?.unit;
22624
22624
  }
22625
22625
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderQuantityInputControlComponent, deps: [{ token: ElderUnitService }], target: i0.ɵɵFactoryTarget.Component }); }
22626
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ElderQuantityInputControlComponent, isStandalone: true, selector: "elder-quantity-input", inputs: { displayFormat: "displayFormat", quantityValue: "quantityValue", unit: "unit", hideUnit: "hideUnit" }, outputs: { quantityValueChange: "quantityValueChange", unitChange: "unitChange" }, providers: [{ provide: MatFormFieldControl, useExisting: ElderQuantityInputControlComponent }], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["input"], descendants: true }, { propertyName: "quantityInput", first: true, predicate: ["quantityMatInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"layout-row place-start-baseline elder-flex-control\">\n <input\n #input\n matInput\n type=\"number\"\n elderNoSpinner\n #quantityMatInput=\"matInput\"\n class=\"flex-grow elder-quantity-input mdc-text-field__input\"\n [disabled]=\"!!disabled\"\n [readonly]=\"readonly\"\n [name]=\"ngControl?.name + '-inner-input'\"\n [placeholder]=\"placeholderS() | translate\"\n [ngModel]=\"formattedValue$ | async\"\n [ngModelOptions]=\"{ standalone: true, updateOn: 'change' }\"\n (ngModelChange)=\"onQuantityValueChanged($event)\"\n />\n <span *ngIf=\"!hideUnit\" class=\"mat-small elder-quantity-unit\">{{ unitSymbol$ | async }}</span>\n</div>\n", styles: [".elder-quantity-input{text-align:right}.elder-quantity-unit{margin-left:4px}\n"], dependencies: [{ kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$5.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ElderFormFieldNoSpinnerDirective, selector: "input[elderNoSpinner]", inputs: ["elderNoSpinner"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
22626
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ElderQuantityInputControlComponent, isStandalone: true, selector: "elder-quantity-input", inputs: { displayFormat: "displayFormat", quantityValue: "quantityValue", unit: "unit", hideUnit: "hideUnit" }, outputs: { quantityValueChange: "quantityValueChange", unitChange: "unitChange" }, providers: [{ provide: MatFormFieldControl, useExisting: ElderQuantityInputControlComponent }], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["input"], descendants: true }, { propertyName: "quantityInput", first: true, predicate: ["quantityMatInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"layout-row place-start-baseline elder-flex-control\">\n <input\n #input\n matInput\n type=\"number\"\n elderNoSpinner\n #quantityMatInput=\"matInput\"\n class=\"flex-grow elder-quantity-input mdc-text-field__input\"\n [disabled]=\"!!disabled\"\n [readonly]=\"readonly\"\n [name]=\"ngControl?.name + '-inner-input'\"\n [placeholder]=\"placeholderS() | translate\"\n [ngModel]=\"formattedValue$ | async\"\n [ngModelOptions]=\"{ standalone: true, updateOn: 'change' }\"\n (ngModelChange)=\"onQuantityValueChanged($event)\"\n />\n <span *ngIf=\"!hideUnit\" class=\"mat-small elder-quantity-unit\">{{ unitSymbol$ | async }}</span>\n</div>\n", styles: [".elder-quantity-input{text-align:right}.elder-quantity-unit{margin-left:4px}\n"], dependencies: [{ kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ElderFormFieldNoSpinnerDirective, selector: "input[elderNoSpinner]", inputs: ["elderNoSpinner"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
22627
22627
  }
22628
22628
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderQuantityInputControlComponent, decorators: [{
22629
22629
  type: Component,
@@ -23471,7 +23471,7 @@ class ElderAutocompleteManyDirective {
23471
23471
  // The wordAtCursor might not be the full autocompleted phrase (if there are multiple words)
23472
23472
  this.cursorPosition = wordAtCursor.start + autocompletedPhrase.length;
23473
23473
  }
23474
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderAutocompleteManyDirective, deps: [{ token: i1$b.MatAutocompleteTrigger }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
23474
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderAutocompleteManyDirective, deps: [{ token: i1$a.MatAutocompleteTrigger }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
23475
23475
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.3", type: ElderAutocompleteManyDirective, isStandalone: true, selector: "[elderAutocompleteMany]", inputs: { queryFilter: "queryFilter", filters: "filters", sorts: "sorts", textProperty: "textProperty", textPropertyResolverFn: "textPropertyResolverFn", autocomplete: ["elderAutocompleteMany", "autocomplete"] }, host: { listeners: { "keyup": "onKeyUp($event)" } }, ngImport: i0 }); }
23476
23476
  }
23477
23477
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderAutocompleteManyDirective, decorators: [{
@@ -23480,7 +23480,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
23480
23480
  selector: '[elderAutocompleteMany]',
23481
23481
  standalone: true,
23482
23482
  }]
23483
- }], ctorParameters: () => [{ type: i1$b.MatAutocompleteTrigger }, { type: i0.ElementRef }], propDecorators: { queryFilter: [{
23483
+ }], ctorParameters: () => [{ type: i1$a.MatAutocompleteTrigger }, { type: i0.ElementRef }], propDecorators: { queryFilter: [{
23484
23484
  type: Input
23485
23485
  }], filters: [{
23486
23486
  type: Input
@@ -25917,7 +25917,7 @@ class ElderSearchIncludeExcludeDirective {
25917
25917
  extractName() {
25918
25918
  return this.ngModel?.name;
25919
25919
  }
25920
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderSearchIncludeExcludeDirective, deps: [{ token: ElderSearchContextDirective }, { token: i0.DestroyRef }, { token: IncludeExcludeSelectionModel }, { token: i1$5.NgModel, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
25920
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderSearchIncludeExcludeDirective, deps: [{ token: ElderSearchContextDirective }, { token: i0.DestroyRef }, { token: IncludeExcludeSelectionModel }, { token: i1$4.NgModel, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
25921
25921
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.3", type: ElderSearchIncludeExcludeDirective, isStandalone: true, selector: "[elderSearchIncludeExclude]", inputs: { includeSuffix: "includeSuffix", excludeSuffix: "excludeSuffix", queryKey: "queryKey" }, exportAs: ["elderSearchInput"], ngImport: i0 }); }
25922
25922
  }
25923
25923
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderSearchIncludeExcludeDirective, decorators: [{
@@ -25927,7 +25927,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
25927
25927
  exportAs: 'elderSearchInput',
25928
25928
  standalone: true,
25929
25929
  }]
25930
- }], ctorParameters: () => [{ type: ElderSearchContextDirective }, { type: i0.DestroyRef }, { type: IncludeExcludeSelectionModel }, { type: i1$5.NgModel, decorators: [{
25930
+ }], ctorParameters: () => [{ type: ElderSearchContextDirective }, { type: i0.DestroyRef }, { type: IncludeExcludeSelectionModel }, { type: i1$4.NgModel, decorators: [{
25931
25931
  type: Optional
25932
25932
  }, {
25933
25933
  type: Host
@@ -26922,7 +26922,7 @@ class ElderBreadCrumbsComponent {
26922
26922
  return nodes;
26923
26923
  }
26924
26924
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderBreadCrumbsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
26925
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ElderBreadCrumbsComponent, isStandalone: true, selector: "elder-bread-crumbs", inputs: { root: "root", rootTranslation: "rootTranslation", rootIcon: "rootIcon", backgroundColor: "backgroundColor", editModeEnabled: "editModeEnabled", path: "path" }, outputs: { pathChange: "pathChange" }, viewQueries: [{ propertyName: "trigger", first: true, predicate: MatMenuTrigger, descendants: true }], ngImport: i0, template: "<!-- main container-->\n<div\n class=\"layout-row place-start-center full breadcrumb-bar\"\n [style.background-color]=\"backgroundColor\"\n *ngIf=\"{ enabled: editMode$ | async } as editMode\"\n>\n <!-- path container -->\n <form\n #breadCrumbForm=\"ngForm\"\n class=\"layout-row place-start-center flex breadcrumb-path\"\n (click)=\"enableEditMode()\"\n >\n <!-- path edit control (if editMode:enabled) -->\n <mat-form-field class=\"flex\" *ngIf=\"editMode.enabled\" elderDense>\n {{ pathInput.focus() }}\n <input\n matInput\n type=\"text\"\n name=\"pathInput\"\n #pathInput\n [ngModel]=\"path\"\n (ngModelChange)=\"onPathInputChange($event)\"\n (blur)=\"onPathEditBlur($event)\"\n elderKeyEvent\n [elderKeyEventFilter]=\"'Enter'\"\n (onElderKeyEvent)=\"onEnter()\"\n />\n </mat-form-field>\n\n <!-- navigation control (if editMode:disabled) -->\n <ng-container *ngIf=\"!editMode.enabled\">\n <div\n class=\"layout-row place-center-center flex-none\"\n *ngFor=\"let node of nodes$ | async; let isFirst = first; let isLast = last\"\n >\n <!-- arrow right icon as path element delimiter -->\n <mat-icon *ngIf=\"!isFirst\" class=\"noselect breadcrumb-arrow\">keyboard_arrow_right</mat-icon>\n\n <!-- root element (case root icon) -->\n <a\n *ngIf=\"isFirst && rootIcon\"\n mat-icon-button\n class=\"breadcrumb\"\n (click)=\"goToPath(node)\"\n elderStopEventPropagation\n >\n <mat-icon>{{ rootIcon }}</mat-icon>\n </a>\n\n <!-- intermediate elements (not last and (not first or root icon)) -->\n <a\n *ngIf=\"!isLast && (!isFirst || !rootIcon)\"\n mat-button\n class=\"breadcrumb\"\n (click)=\"goToPath(node)\"\n elderStopEventPropagation\n >\n <span>{{ node.name }}</span>\n </a>\n\n <!-- last element (is last and (not first or root icon)) -->\n <a\n mat-button\n class=\"breadcrumb\"\n *ngIf=\"isLast && (!isFirst || !rootIcon)\"\n (click)=\"(null)\"\n elderStopEventPropagation\n >\n {{ node.name }}\n <mat-icon>arrow_drop_down</mat-icon>\n </a>\n </div>\n </ng-container>\n </form>\n\n <!-- bread crumb action menu button -->\n <button mat-icon-button type=\"button\" [matMenuTriggerFor]=\"menu\">\n <mat-icon style=\"font-size: 22px\">arrow_drop_down</mat-icon>\n\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item type=\"button\" [elderClipboardPut]=\"path\">\n <mat-icon>content_copy</mat-icon>\n <span>{{ 'Pfad kopieren' }}</span>\n </button>\n\n <button\n mat-menu-item\n type=\"button\"\n (click)=\"onMenuEditPathClick($event)\"\n elderStopEventPropagation\n >\n <mat-icon *ngIf=\"!editMode.enabled\">edit</mat-icon>\n <mat-icon *ngIf=\"editMode.enabled\">done</mat-icon>\n <span *ngIf=\"!editMode.enabled\">{{ 'Pfad editieren' }}</span>\n <span *ngIf=\"editMode.enabled\">{{ 'Pfad best\u00E4tigen' }}</span>\n </button>\n </mat-menu>\n </button>\n</div>\n", styles: [".breadcrumb-bar{padding-top:4px;padding-bottom:4px}.breadcrumb-path{padding:0 8px}.breadcrumb{padding-left:4px;padding-right:4px;font-size:18px;font-weight:400}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$5.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: ElderFormFieldDenseDirective, selector: "mat-form-field[elderDense]", inputs: ["elderDense", "subscriptSizing", "floatLabel"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: ElderKeyEventDirective, selector: "[elderKeyEvent]", inputs: ["elderKeyEventFilter", "elderKeyEventDown", "elderKeyEventChildren", "elderKeyEventCallback"], outputs: ["onElderKeyEvent"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatIconAnchor, selector: "a[mat-icon-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: ElderStopEventPropagationDirective, selector: "[elderStopEventPropagation]" }, { kind: "component", type: MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: ElderClipboardPutDirective, selector: "[elderClipboardPut]", inputs: ["elderClipboardPut"], outputs: ["clipboardCopied"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
26925
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ElderBreadCrumbsComponent, isStandalone: true, selector: "elder-bread-crumbs", inputs: { root: "root", rootTranslation: "rootTranslation", rootIcon: "rootIcon", backgroundColor: "backgroundColor", editModeEnabled: "editModeEnabled", path: "path" }, outputs: { pathChange: "pathChange" }, viewQueries: [{ propertyName: "trigger", first: true, predicate: MatMenuTrigger, descendants: true }], ngImport: i0, template: "<!-- main container-->\n<div\n class=\"layout-row place-start-center full breadcrumb-bar\"\n [style.background-color]=\"backgroundColor\"\n *ngIf=\"{ enabled: editMode$ | async } as editMode\"\n>\n <!-- path container -->\n <form\n #breadCrumbForm=\"ngForm\"\n class=\"layout-row place-start-center flex breadcrumb-path\"\n (click)=\"enableEditMode()\"\n >\n <!-- path edit control (if editMode:enabled) -->\n <mat-form-field class=\"flex\" *ngIf=\"editMode.enabled\" elderDense>\n {{ pathInput.focus() }}\n <input\n matInput\n type=\"text\"\n name=\"pathInput\"\n #pathInput\n [ngModel]=\"path\"\n (ngModelChange)=\"onPathInputChange($event)\"\n (blur)=\"onPathEditBlur($event)\"\n elderKeyEvent\n [elderKeyEventFilter]=\"'Enter'\"\n (onElderKeyEvent)=\"onEnter()\"\n />\n </mat-form-field>\n\n <!-- navigation control (if editMode:disabled) -->\n <ng-container *ngIf=\"!editMode.enabled\">\n <div\n class=\"layout-row place-center-center flex-none\"\n *ngFor=\"let node of nodes$ | async; let isFirst = first; let isLast = last\"\n >\n <!-- arrow right icon as path element delimiter -->\n <mat-icon *ngIf=\"!isFirst\" class=\"noselect breadcrumb-arrow\">keyboard_arrow_right</mat-icon>\n\n <!-- root element (case root icon) -->\n <a\n *ngIf=\"isFirst && rootIcon\"\n mat-icon-button\n class=\"breadcrumb\"\n (click)=\"goToPath(node)\"\n elderStopEventPropagation\n >\n <mat-icon>{{ rootIcon }}</mat-icon>\n </a>\n\n <!-- intermediate elements (not last and (not first or root icon)) -->\n <a\n *ngIf=\"!isLast && (!isFirst || !rootIcon)\"\n mat-button\n class=\"breadcrumb\"\n (click)=\"goToPath(node)\"\n elderStopEventPropagation\n >\n <span>{{ node.name }}</span>\n </a>\n\n <!-- last element (is last and (not first or root icon)) -->\n <a\n mat-button\n class=\"breadcrumb\"\n *ngIf=\"isLast && (!isFirst || !rootIcon)\"\n (click)=\"(null)\"\n elderStopEventPropagation\n >\n {{ node.name }}\n <mat-icon>arrow_drop_down</mat-icon>\n </a>\n </div>\n </ng-container>\n </form>\n\n <!-- bread crumb action menu button -->\n <button mat-icon-button type=\"button\" [matMenuTriggerFor]=\"menu\">\n <mat-icon style=\"font-size: 22px\">arrow_drop_down</mat-icon>\n\n <mat-menu #menu=\"matMenu\">\n <button mat-menu-item type=\"button\" [elderClipboardPut]=\"path\">\n <mat-icon>content_copy</mat-icon>\n <span>{{ 'Pfad kopieren' }}</span>\n </button>\n\n <button\n mat-menu-item\n type=\"button\"\n (click)=\"onMenuEditPathClick($event)\"\n elderStopEventPropagation\n >\n <mat-icon *ngIf=\"!editMode.enabled\">edit</mat-icon>\n <mat-icon *ngIf=\"editMode.enabled\">done</mat-icon>\n <span *ngIf=\"!editMode.enabled\">{{ 'Pfad editieren' }}</span>\n <span *ngIf=\"editMode.enabled\">{{ 'Pfad best\u00E4tigen' }}</span>\n </button>\n </mat-menu>\n </button>\n</div>\n", styles: [".breadcrumb-bar{padding-top:4px;padding-bottom:4px}.breadcrumb-path{padding:0 8px}.breadcrumb{padding-left:4px;padding-right:4px;font-size:18px;font-weight:400}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: ElderFormFieldDenseDirective, selector: "mat-form-field[elderDense]", inputs: ["elderDense", "subscriptSizing", "floatLabel"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: ElderKeyEventDirective, selector: "[elderKeyEvent]", inputs: ["elderKeyEventFilter", "elderKeyEventDown", "elderKeyEventChildren", "elderKeyEventCallback"], outputs: ["onElderKeyEvent"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatIconAnchor, selector: "a[mat-icon-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: ElderStopEventPropagationDirective, selector: "[elderStopEventPropagation]" }, { kind: "component", type: MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: ElderClipboardPutDirective, selector: "[elderClipboardPut]", inputs: ["elderClipboardPut"], outputs: ["clipboardCopied"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
26926
26926
  }
26927
26927
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderBreadCrumbsComponent, decorators: [{
26928
26928
  type: Component,
@@ -27859,11 +27859,11 @@ class ElderAppHeaderComponent {
27859
27859
  this.iconColor$.next(c);
27860
27860
  }
27861
27861
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderAppHeaderComponent, deps: [{ token: ElderThemeService }], target: i0.ɵɵFactoryTarget.Component }); }
27862
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ElderAppHeaderComponent, isStandalone: true, selector: "elder-app-header", inputs: { icon: "icon", svgIcon: "svgIcon", title: "title", subTitle: "subTitle", subTitleLink: "subTitleLink", version: "version", color: "color", iconColor: "iconColor" }, ngImport: i0, template: "<div class=\"elder-panel mat-primary layout-col full light\">\n <div class=\"layout-row flex-none p-lg\">\n <div class=\"layout-row place-center-center\">\n <a routerLink=\"/\" class=\"link-unstyled\">\n <mat-icon\n class=\"noselect title-icon svg-icon-inherit-color\"\n [svgIcon]=\"svgIcon\"\n [color]=\"iconColor$ | async\"\n >{{ icon }}</mat-icon\n >\n </a>\n </div>\n <div class=\"layout-col place-center-start\">\n <div class=\"layout-col place-center-center\" style=\"width: 100%\">\n <div class=\"layout-row place-start-end gap-xs\">\n <span id=\"title\" class=\"noselect\" style=\"font-size: 28px\">{{ title }}</span>\n <span class=\"mat-caption noselect\"\n ><small>{{ version }}</small></span\n >\n </div>\n </div>\n <div class=\"layout-row place-start-center\">\n <span class=\"mat-caption noselect\">\n <span *ngIf=\"!subTitleLink\">{{ subTitle }}</span>\n <a\n *ngIf=\"subTitleLink\"\n [href]=\"subTitleLink\"\n target=\"_blank\"\n style=\"text-decoration: none; color: inherit\"\n >{{ subTitle }}</a\n >\n </span>\n </div>\n </div>\n </div>\n\n <!-- Project child content here -->\n <ng-content></ng-content>\n</div>\n", styles: [".title-icon{font-size:42px;width:82px;height:82px;padding:20px}.link-unstyled{text-decoration:none;color:inherit}.elder-app-header-panel{background-color:#0b284f}\n"], dependencies: [{ kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
27862
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ElderAppHeaderComponent, isStandalone: true, selector: "elder-app-header", inputs: { icon: "icon", svgIcon: "svgIcon", title: "title", subTitle: "subTitle", subTitleLink: "subTitleLink", version: "version", color: "color", iconColor: "iconColor" }, ngImport: i0, template: "<div class=\"elder-panel mat-primary layout-col full light\">\n <div class=\"layout-row flex-none p-lg\">\n <div class=\"layout-row place-center-center\">\n <a routerLink=\"/\" class=\"link-unstyled\">\n <mat-icon\n class=\"noselect title-icon svg-icon-inherit-color\"\n [svgIcon]=\"svgIcon\"\n [color]=\"iconColor$ | async\"\n >{{ icon }}</mat-icon\n >\n </a>\n </div>\n <div class=\"layout-col place-center-start\">\n <div class=\"layout-col place-center-center\" style=\"width: 100%\">\n <div class=\"layout-row place-start-end gap-xs\">\n <span id=\"title\" class=\"noselect\" style=\"font-size: 28px\">{{ title }}</span>\n <span class=\"mat-caption noselect\">\n <small>{{ version }}</small>\n </span>\n </div>\n </div>\n <div class=\"layout-row place-start-center\">\n <span class=\"mat-caption noselect\">\n <span *ngIf=\"!subTitleLink\">{{ subTitle }}</span>\n <a\n *ngIf=\"subTitleLink\"\n [href]=\"subTitleLink\"\n target=\"_blank\"\n style=\"text-decoration: none; color: inherit\"\n >{{ subTitle }}</a\n >\n </span>\n </div>\n </div>\n </div>\n\n <!-- Project child content here -->\n <ng-content></ng-content>\n</div>\n", styles: [".title-icon{font-size:42px;width:82px;height:82px;padding:20px}.link-unstyled{text-decoration:none;color:inherit}.elder-app-header-panel{background-color:#0b284f}\n"], dependencies: [{ kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
27863
27863
  }
27864
27864
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderAppHeaderComponent, decorators: [{
27865
27865
  type: Component,
27866
- args: [{ selector: 'elder-app-header', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatIcon, NgIf, AsyncPipe], standalone: true, template: "<div class=\"elder-panel mat-primary layout-col full light\">\n <div class=\"layout-row flex-none p-lg\">\n <div class=\"layout-row place-center-center\">\n <a routerLink=\"/\" class=\"link-unstyled\">\n <mat-icon\n class=\"noselect title-icon svg-icon-inherit-color\"\n [svgIcon]=\"svgIcon\"\n [color]=\"iconColor$ | async\"\n >{{ icon }}</mat-icon\n >\n </a>\n </div>\n <div class=\"layout-col place-center-start\">\n <div class=\"layout-col place-center-center\" style=\"width: 100%\">\n <div class=\"layout-row place-start-end gap-xs\">\n <span id=\"title\" class=\"noselect\" style=\"font-size: 28px\">{{ title }}</span>\n <span class=\"mat-caption noselect\"\n ><small>{{ version }}</small></span\n >\n </div>\n </div>\n <div class=\"layout-row place-start-center\">\n <span class=\"mat-caption noselect\">\n <span *ngIf=\"!subTitleLink\">{{ subTitle }}</span>\n <a\n *ngIf=\"subTitleLink\"\n [href]=\"subTitleLink\"\n target=\"_blank\"\n style=\"text-decoration: none; color: inherit\"\n >{{ subTitle }}</a\n >\n </span>\n </div>\n </div>\n </div>\n\n <!-- Project child content here -->\n <ng-content></ng-content>\n</div>\n", styles: [".title-icon{font-size:42px;width:82px;height:82px;padding:20px}.link-unstyled{text-decoration:none;color:inherit}.elder-app-header-panel{background-color:#0b284f}\n"] }]
27866
+ args: [{ selector: 'elder-app-header', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatIcon, NgIf, AsyncPipe], standalone: true, template: "<div class=\"elder-panel mat-primary layout-col full light\">\n <div class=\"layout-row flex-none p-lg\">\n <div class=\"layout-row place-center-center\">\n <a routerLink=\"/\" class=\"link-unstyled\">\n <mat-icon\n class=\"noselect title-icon svg-icon-inherit-color\"\n [svgIcon]=\"svgIcon\"\n [color]=\"iconColor$ | async\"\n >{{ icon }}</mat-icon\n >\n </a>\n </div>\n <div class=\"layout-col place-center-start\">\n <div class=\"layout-col place-center-center\" style=\"width: 100%\">\n <div class=\"layout-row place-start-end gap-xs\">\n <span id=\"title\" class=\"noselect\" style=\"font-size: 28px\">{{ title }}</span>\n <span class=\"mat-caption noselect\">\n <small>{{ version }}</small>\n </span>\n </div>\n </div>\n <div class=\"layout-row place-start-center\">\n <span class=\"mat-caption noselect\">\n <span *ngIf=\"!subTitleLink\">{{ subTitle }}</span>\n <a\n *ngIf=\"subTitleLink\"\n [href]=\"subTitleLink\"\n target=\"_blank\"\n style=\"text-decoration: none; color: inherit\"\n >{{ subTitle }}</a\n >\n </span>\n </div>\n </div>\n </div>\n\n <!-- Project child content here -->\n <ng-content></ng-content>\n</div>\n", styles: [".title-icon{font-size:42px;width:82px;height:82px;padding:20px}.link-unstyled{text-decoration:none;color:inherit}.elder-app-header-panel{background-color:#0b284f}\n"] }]
27867
27867
  }], ctorParameters: () => [{ type: ElderThemeService }], propDecorators: { icon: [{
27868
27868
  type: Input
27869
27869
  }], svgIcon: [{
@@ -28391,7 +28391,7 @@ class ElderLocalDateInputComponent extends ElderFormFieldControlBase {
28391
28391
  return a && b ? a.equals(b) : a === b;
28392
28392
  }
28393
28393
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderLocalDateInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
28394
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ElderLocalDateInputComponent, isStandalone: true, selector: "elder-local-date-input", inputs: { zone: "zone", autoDatePicker: "autoDatePicker", arrows: "arrows", today: "today", center: "center", datePickerTouchUi: "datePickerTouchUi", allowNull: "allowNull", datePickerEnabled: "datePickerEnabled", isoValue: "isoValue", dateValue: "dateValue", isoDateValue: "isoDateValue" }, outputs: { blurred: "blurred", valueUpdatedBlur: "valueUpdatedBlur", isoValueChange: "isoValueChange", dateValueChange: "dateValueChange", isoDateValueChange: "isoDateValueChange" }, providers: [{ provide: MatFormFieldControl, useExisting: ElderLocalDateInputComponent }], viewQueries: [{ propertyName: "picker", first: true, predicate: MatDatepicker, descendants: true, static: true }, { propertyName: "inputRef", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"layout-row place-start-center elder-flex-control\">\n <button\n mat-icon-button\n type=\"button\"\n *ngIf=\"arrows\"\n class=\"elder-control-icon-button\"\n [disabled]=\"isLocked || !value\"\n (click)=\"previousDay()\"\n >\n <mat-icon>keyboard_arrow_left</mat-icon>\n </button>\n\n <input\n matInput\n elderNoSpinner\n class=\"flex elder-mdc-input-fix elder-local-date-input\"\n #input\n type=\"date\"\n [name]=\"ngControl?.name + '-inner-input'\"\n [required]=\"!!required\"\n [readonly]=\"readonly || autoDatePicker\"\n [disabled]=\"!!disabled\"\n [placeholder]=\"placeholderS() | translate\"\n [ngModel]=\"date$ | async | date: 'yyyy-MM-dd'\"\n (ngModelChange)=\"onDateInputChanged($event)\"\n (blur)=\"blurred.next($event)\"\n [class.elder-auto-date-picker]=\"autoDatePicker\"\n [class.noselect]=\"autoDatePicker\"\n [class.center]=\"center || arrows\"\n (click)=\"onDateInputClicked($event)\"\n />\n <input\n style=\"display: none\"\n [matDatepicker]=\"picker\"\n (dateChange)=\"onDatepickerInputChange($event)\"\n />\n\n <button\n mat-icon-button\n type=\"button\"\n *ngIf=\"arrows\"\n class=\"elder-control-icon-button\"\n [disabled]=\"isLocked || !value\"\n (click)=\"nextDay()\"\n >\n <mat-icon>keyboard_arrow_right</mat-icon>\n </button>\n\n <button\n mat-icon-button\n type=\"button\"\n *ngIf=\"today\"\n class=\"elder-control-icon-button\"\n style=\"margin-left: 4px\"\n [disabled]=\"isLocked\"\n (click)=\"currentDay()\"\n >\n <mat-icon>today</mat-icon>\n </button>\n\n <mat-datepicker-toggle\n class=\"elder-control-icon-button\"\n *ngIf=\"datePickerEnabled && (!allowNull || (value$ | async) === null)\"\n [disabled]=\"isLocked\"\n [for]=\"picker\"\n >\n <mat-icon matDatepickerToggleIcon>calendar_month</mat-icon>\n </mat-datepicker-toggle>\n\n <button\n mat-icon-button\n type=\"button\"\n class=\"elder-control-icon-button\"\n *ngIf=\"allowNull && (value$ | async)\"\n [disabled]=\"isLocked\"\n (click)=\"clear($event)\"\n aria-label=\"Clear\"\n elderStopEventPropagation\n >\n <mat-icon>close</mat-icon>\n </button>\n\n <mat-datepicker [touchUi]=\"datePickerTouchUi\" #picker></mat-datepicker>\n</div>\n", styles: ["input::-webkit-calendar-picker-indicator{display:none}.elder-auto-date-picker{cursor:pointer}.elder-local-date-input.center{text-align:center}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: ElderFormFieldNoSpinnerDirective, selector: "input[elderNoSpinner]", inputs: ["elderNoSpinner"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "directive", type: MatDatepickerToggleIcon, selector: "[matDatepickerToggleIcon]" }, { kind: "directive", type: ElderStopEventPropagationDirective, selector: "[elderStopEventPropagation]" }, { kind: "component", type: MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28394
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ElderLocalDateInputComponent, isStandalone: true, selector: "elder-local-date-input", inputs: { zone: "zone", autoDatePicker: "autoDatePicker", arrows: "arrows", today: "today", center: "center", datePickerTouchUi: "datePickerTouchUi", allowNull: "allowNull", datePickerEnabled: "datePickerEnabled", isoValue: "isoValue", dateValue: "dateValue", isoDateValue: "isoDateValue" }, outputs: { blurred: "blurred", valueUpdatedBlur: "valueUpdatedBlur", isoValueChange: "isoValueChange", dateValueChange: "dateValueChange", isoDateValueChange: "isoDateValueChange" }, providers: [{ provide: MatFormFieldControl, useExisting: ElderLocalDateInputComponent }], viewQueries: [{ propertyName: "picker", first: true, predicate: MatDatepicker, descendants: true, static: true }, { propertyName: "inputRef", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"layout-row place-start-center elder-flex-control\">\n <button\n mat-icon-button\n type=\"button\"\n *ngIf=\"arrows\"\n class=\"elder-control-icon-button\"\n [disabled]=\"isLocked || !value\"\n (click)=\"previousDay()\"\n >\n <mat-icon>keyboard_arrow_left</mat-icon>\n </button>\n\n <input\n matInput\n elderNoSpinner\n class=\"flex elder-mdc-input-fix elder-local-date-input\"\n #input\n type=\"date\"\n [name]=\"ngControl?.name + '-inner-input'\"\n [required]=\"!!required\"\n [readonly]=\"readonly || autoDatePicker\"\n [disabled]=\"!!disabled\"\n [placeholder]=\"placeholderS() | translate\"\n [ngModel]=\"date$ | async | date: 'yyyy-MM-dd'\"\n (ngModelChange)=\"onDateInputChanged($event)\"\n (blur)=\"blurred.next($event)\"\n [class.elder-auto-date-picker]=\"autoDatePicker\"\n [class.noselect]=\"autoDatePicker\"\n [class.center]=\"center || arrows\"\n (click)=\"onDateInputClicked($event)\"\n />\n <input\n style=\"display: none\"\n [matDatepicker]=\"picker\"\n (dateChange)=\"onDatepickerInputChange($event)\"\n />\n\n <button\n mat-icon-button\n type=\"button\"\n *ngIf=\"arrows\"\n class=\"elder-control-icon-button\"\n [disabled]=\"isLocked || !value\"\n (click)=\"nextDay()\"\n >\n <mat-icon>keyboard_arrow_right</mat-icon>\n </button>\n\n <button\n mat-icon-button\n type=\"button\"\n *ngIf=\"today\"\n class=\"elder-control-icon-button\"\n style=\"margin-left: 4px\"\n [disabled]=\"isLocked\"\n (click)=\"currentDay()\"\n >\n <mat-icon>today</mat-icon>\n </button>\n\n <mat-datepicker-toggle\n class=\"elder-control-icon-button\"\n *ngIf=\"datePickerEnabled && (!allowNull || (value$ | async) === null)\"\n [disabled]=\"isLocked\"\n [for]=\"picker\"\n >\n <mat-icon matDatepickerToggleIcon>calendar_month</mat-icon>\n </mat-datepicker-toggle>\n\n <button\n mat-icon-button\n type=\"button\"\n class=\"elder-control-icon-button\"\n *ngIf=\"allowNull && (value$ | async)\"\n [disabled]=\"isLocked\"\n (click)=\"clear($event)\"\n aria-label=\"Clear\"\n elderStopEventPropagation\n >\n <mat-icon>close</mat-icon>\n </button>\n\n <mat-datepicker [touchUi]=\"datePickerTouchUi\" #picker></mat-datepicker>\n</div>\n", styles: ["input::-webkit-calendar-picker-indicator{display:none}.elder-auto-date-picker{cursor:pointer}.elder-local-date-input.center{text-align:center}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: ElderFormFieldNoSpinnerDirective, selector: "input[elderNoSpinner]", inputs: ["elderNoSpinner"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "directive", type: MatDatepickerToggleIcon, selector: "[matDatepickerToggleIcon]" }, { kind: "directive", type: ElderStopEventPropagationDirective, selector: "[elderStopEventPropagation]" }, { kind: "component", type: MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28395
28395
  }
28396
28396
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderLocalDateInputComponent, decorators: [{
28397
28397
  type: Component,
@@ -28590,7 +28590,7 @@ class ElderLocalTimeInputComponent extends ElderFormFieldControlBase {
28590
28590
  return a && b ? a.equals(b) : a === b;
28591
28591
  }
28592
28592
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderLocalTimeInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
28593
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ElderLocalTimeInputComponent, isStandalone: true, selector: "elder-local-time-input", inputs: { isoValue: "isoValue" }, outputs: { isoValueChange: "isoValueChange" }, providers: [{ provide: MatFormFieldControl, useExisting: ElderLocalTimeInputComponent }], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"layout-row place-start-baseline elder-flex-control\">\n <input\n matInput\n class=\"flex-grow elder-mdc-input-fix\"\n #input\n [name]=\"ngControl?.name + '-inner-input'\"\n [placeholder]=\"placeholderS() | translate\"\n type=\"time\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"hourMinuteStr$ | async\"\n (ngModelChange)=\"onHourMinuteChanged($event)\"\n />\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28593
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ElderLocalTimeInputComponent, isStandalone: true, selector: "elder-local-time-input", inputs: { isoValue: "isoValue" }, outputs: { isoValueChange: "isoValueChange" }, providers: [{ provide: MatFormFieldControl, useExisting: ElderLocalTimeInputComponent }], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"layout-row place-start-baseline elder-flex-control\">\n <input\n matInput\n class=\"flex-grow elder-mdc-input-fix\"\n #input\n [name]=\"ngControl?.name + '-inner-input'\"\n [placeholder]=\"placeholderS() | translate\"\n type=\"time\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"hourMinuteStr$ | async\"\n (ngModelChange)=\"onHourMinuteChanged($event)\"\n />\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28594
28594
  }
28595
28595
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderLocalTimeInputComponent, decorators: [{
28596
28596
  type: Component,
@@ -28670,7 +28670,7 @@ class ElderDateTimeInputComponent extends ElderFormFieldControlBase {
28670
28670
  return a && b ? a.equals(b) : a === b;
28671
28671
  }
28672
28672
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderDateTimeInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
28673
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ElderDateTimeInputComponent, isStandalone: true, selector: "elder-date-time-input", inputs: { center: "center", isoValue: "isoValue" }, outputs: { isoValueChange: "isoValueChange" }, providers: [{ provide: MatFormFieldControl, useExisting: ElderDateTimeInputComponent }], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"layout-row place-start-baseline elder-flex-control\">\n <input\n matInput\n class=\"flex-grow elder-mdc-input-fix elder-datetime-local-input\"\n #input\n [name]=\"ngControl?.name + '-inner-input'\"\n type=\"datetime-local\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [placeholder]=\"placeholderS() | translate\"\n [ngModel]=\"valueDate$ | async | date: 'yyyy-MM-ddTHH:mm'\"\n (ngModelChange)=\"onDateTimeChanged($event)\"\n [class.center]=\"center\"\n />\n</div>\n", styles: [".elder-datetime-local-input.center{text-align:center}\n"], dependencies: [{ kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28673
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ElderDateTimeInputComponent, isStandalone: true, selector: "elder-date-time-input", inputs: { center: "center", isoValue: "isoValue" }, outputs: { isoValueChange: "isoValueChange" }, providers: [{ provide: MatFormFieldControl, useExisting: ElderDateTimeInputComponent }], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"layout-row place-start-baseline elder-flex-control\">\n <input\n matInput\n class=\"flex-grow elder-mdc-input-fix elder-datetime-local-input\"\n #input\n [name]=\"ngControl?.name + '-inner-input'\"\n type=\"datetime-local\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [placeholder]=\"placeholderS() | translate\"\n [ngModel]=\"valueDate$ | async | date: 'yyyy-MM-ddTHH:mm'\"\n (ngModelChange)=\"onDateTimeChanged($event)\"\n [class.center]=\"center\"\n />\n</div>\n", styles: [".elder-datetime-local-input.center{text-align:center}\n"], dependencies: [{ kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28674
28674
  }
28675
28675
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderDateTimeInputComponent, decorators: [{
28676
28676
  type: Component,
@@ -28841,8 +28841,8 @@ class ElderIntervalInputComponent extends ElderFormFieldControlBase {
28841
28841
  return coerceInterval(value);
28842
28842
  }
28843
28843
  }
28844
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderIntervalInputComponent, deps: [{ token: i1$e.DateAdapter }, { token: MAT_DATE_LOCALE }], target: i0.ɵɵFactoryTarget.Component }); }
28845
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: ElderIntervalInputComponent, isStandalone: true, selector: "elder-interval-input", inputs: { zone: "zone", valueAsIsoStr: "valueAsIsoStr", mode: "mode", isDefaultDatePickerDisabled: "isDefaultDatePickerDisabled", isoValue: "isoValue" }, outputs: { isoValueChange: "isoValueChange" }, providers: [{ provide: MatFormFieldControl, useExisting: ElderIntervalInputComponent }], usesInheritance: true, ngImport: i0, template: "@switch (mode) {\n @case ('date-time-range') {\n <div class=\"layout-row\">\n <elder-date-time-input\n class=\"flex\"\n center\n [value]=\"(interval$ | async)?.start\"\n (valueUpdated)=\"onStartChanged($event)\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"(placeHolderOrEmpty() | translate) + ' ' + ('interval.from' | translate)\"\n ></elder-date-time-input>\n <span class=\"mat-date-range-input-separator flex-none\">\u2013</span>\n <elder-date-time-input\n class=\"flex\"\n center\n [value]=\"(interval$ | async)?.end\"\n (valueUpdated)=\"onEndChanged($event)\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"(placeHolderOrEmpty() | translate) + ' ' + ('interval.to' | translate)\"\n ></elder-date-time-input>\n </div>\n }\n @case ('day-time-range') {\n <div class=\"layout-row gap-xs elder-flex-interval-control\">\n <!-- [name]=\"name + '-day-start'\" -->\n <elder-date-time-input\n [value]=\"(interval$ | async)?.start\"\n (valueUpdated)=\"onDayTimeStartChanged($event)\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"(placeHolderOrEmpty() | translate) + ' ' + ('interval.from' | translate)\"\n ></elder-date-time-input>\n\n <!-- [name]=\"name + '-day-end'\" -->\n <elder-local-time-input\n [value]=\"endTime$ | async\"\n (valueUpdated)=\"onDayTimeEndTimeChanged($event)\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"(placeHolderOrEmpty() | translate) + ' ' + ('interval.to' | translate)\"\n ></elder-local-time-input>\n </div>\n }\n\n @case ('date-range') {\n <div class=\"layout-row gap-xs elder-flex-interval-control\">\n <mat-date-range-input\n class=\"mdc-text-field__input\"\n [rangePicker]=\"picker\"\n [disabled]=\"!!disabled\"\n >\n <input\n matStartDate\n [placeholder]=\"dateformat\"\n [ngModel]=\"startDate$ | async\"\n name=\"date-range.start\"\n [ngModelOptions]=\"{ standalone: true, updateOn: 'blur' }\"\n (ngModelChange)=\"onStartDateChanged($event)\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n />\n <input\n matEndDate\n [placeholder]=\"dateformat\"\n [ngModel]=\"endDate$ | async\"\n name=\"date-range.end\"\n [ngModelOptions]=\"{ standalone: true, updateOn: 'blur' }\"\n (ngModelChange)=\"onEndDateChanged($event)\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n />\n </mat-date-range-input>\n\n @if (!isDefaultDatePickerDisabled) {\n <mat-datepicker-toggle\n class=\"elder-control-icon-button\"\n [disabled]=\"isLocked\"\n [for]=\"picker\"\n >\n <mat-icon matDatepickerToggleIcon>calendar_month</mat-icon>\n </mat-datepicker-toggle>\n }\n <mat-date-range-picker #picker></mat-date-range-picker>\n </div>\n }\n\n @case ('single-day') {\n <div class=\"layout-row elder-flex-control\">\n <!-- [name]=\"name\" -->\n <elder-local-date-input\n class=\"flex\"\n center\n [value]=\"startLocalDate$ | async\"\n (valueUpdated)=\"onSingleDayDateChanged($event)\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeHolderOrEmpty() | translate\"\n ></elder-local-date-input>\n </div>\n }\n}\n", styles: [".elder-flex-interval-control{flex:1 1 auto;overflow:hidden}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ElderDateTimeInputComponent, selector: "elder-date-time-input", inputs: ["center", "isoValue"], outputs: ["isoValueChange"] }, { kind: "component", type: ElderLocalTimeInputComponent, selector: "elder-local-time-input", inputs: ["isoValue"], outputs: ["isoValueChange"] }, { kind: "component", type: MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatDatepickerToggleIcon, selector: "[matDatepickerToggleIcon]" }, { kind: "component", type: MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "component", type: ElderLocalDateInputComponent, selector: "elder-local-date-input", inputs: ["zone", "autoDatePicker", "arrows", "today", "center", "datePickerTouchUi", "allowNull", "datePickerEnabled", "isoValue", "dateValue", "isoDateValue"], outputs: ["blurred", "valueUpdatedBlur", "isoValueChange", "dateValueChange", "isoDateValueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28844
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderIntervalInputComponent, deps: [{ token: i1$d.DateAdapter }, { token: MAT_DATE_LOCALE }], target: i0.ɵɵFactoryTarget.Component }); }
28845
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: ElderIntervalInputComponent, isStandalone: true, selector: "elder-interval-input", inputs: { zone: "zone", valueAsIsoStr: "valueAsIsoStr", mode: "mode", isDefaultDatePickerDisabled: "isDefaultDatePickerDisabled", isoValue: "isoValue" }, outputs: { isoValueChange: "isoValueChange" }, providers: [{ provide: MatFormFieldControl, useExisting: ElderIntervalInputComponent }], usesInheritance: true, ngImport: i0, template: "@switch (mode) {\n @case ('date-time-range') {\n <div class=\"layout-row\">\n <elder-date-time-input\n class=\"flex\"\n center\n [value]=\"(interval$ | async)?.start\"\n (valueUpdated)=\"onStartChanged($event)\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"(placeHolderOrEmpty() | translate) + ' ' + ('interval.from' | translate)\"\n ></elder-date-time-input>\n <span class=\"mat-date-range-input-separator flex-none\">\u2013</span>\n <elder-date-time-input\n class=\"flex\"\n center\n [value]=\"(interval$ | async)?.end\"\n (valueUpdated)=\"onEndChanged($event)\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"(placeHolderOrEmpty() | translate) + ' ' + ('interval.to' | translate)\"\n ></elder-date-time-input>\n </div>\n }\n @case ('day-time-range') {\n <div class=\"layout-row gap-xs elder-flex-interval-control\">\n <!-- [name]=\"name + '-day-start'\" -->\n <elder-date-time-input\n [value]=\"(interval$ | async)?.start\"\n (valueUpdated)=\"onDayTimeStartChanged($event)\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"(placeHolderOrEmpty() | translate) + ' ' + ('interval.from' | translate)\"\n ></elder-date-time-input>\n\n <!-- [name]=\"name + '-day-end'\" -->\n <elder-local-time-input\n [value]=\"endTime$ | async\"\n (valueUpdated)=\"onDayTimeEndTimeChanged($event)\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"(placeHolderOrEmpty() | translate) + ' ' + ('interval.to' | translate)\"\n ></elder-local-time-input>\n </div>\n }\n\n @case ('date-range') {\n <div class=\"layout-row gap-xs elder-flex-interval-control\">\n <mat-date-range-input\n class=\"mdc-text-field__input\"\n [rangePicker]=\"picker\"\n [disabled]=\"!!disabled\"\n >\n <input\n matStartDate\n [placeholder]=\"dateformat\"\n [ngModel]=\"startDate$ | async\"\n name=\"date-range.start\"\n [ngModelOptions]=\"{ standalone: true, updateOn: 'blur' }\"\n (ngModelChange)=\"onStartDateChanged($event)\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n />\n <input\n matEndDate\n [placeholder]=\"dateformat\"\n [ngModel]=\"endDate$ | async\"\n name=\"date-range.end\"\n [ngModelOptions]=\"{ standalone: true, updateOn: 'blur' }\"\n (ngModelChange)=\"onEndDateChanged($event)\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n />\n </mat-date-range-input>\n\n @if (!isDefaultDatePickerDisabled) {\n <mat-datepicker-toggle\n class=\"elder-control-icon-button\"\n [disabled]=\"isLocked\"\n [for]=\"picker\"\n >\n <mat-icon matDatepickerToggleIcon>calendar_month</mat-icon>\n </mat-datepicker-toggle>\n }\n <mat-date-range-picker #picker></mat-date-range-picker>\n </div>\n }\n\n @case ('single-day') {\n <div class=\"layout-row elder-flex-control\">\n <!-- [name]=\"name\" -->\n <elder-local-date-input\n class=\"flex\"\n center\n [value]=\"startLocalDate$ | async\"\n (valueUpdated)=\"onSingleDayDateChanged($event)\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeHolderOrEmpty() | translate\"\n ></elder-local-date-input>\n </div>\n }\n}\n", styles: [".elder-flex-interval-control{flex:1 1 auto;overflow:hidden}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: ElderDateTimeInputComponent, selector: "elder-date-time-input", inputs: ["center", "isoValue"], outputs: ["isoValueChange"] }, { kind: "component", type: ElderLocalTimeInputComponent, selector: "elder-local-time-input", inputs: ["isoValue"], outputs: ["isoValueChange"] }, { kind: "component", type: MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatDatepickerToggleIcon, selector: "[matDatepickerToggleIcon]" }, { kind: "component", type: MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "component", type: ElderLocalDateInputComponent, selector: "elder-local-date-input", inputs: ["zone", "autoDatePicker", "arrows", "today", "center", "datePickerTouchUi", "allowNull", "datePickerEnabled", "isoValue", "dateValue", "isoDateValue"], outputs: ["blurred", "valueUpdatedBlur", "isoValueChange", "dateValueChange", "isoDateValueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28846
28846
  }
28847
28847
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderIntervalInputComponent, decorators: [{
28848
28848
  type: Component,
@@ -28861,7 +28861,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
28861
28861
  MatDateRangePicker,
28862
28862
  ElderLocalDateInputComponent,
28863
28863
  ], template: "@switch (mode) {\n @case ('date-time-range') {\n <div class=\"layout-row\">\n <elder-date-time-input\n class=\"flex\"\n center\n [value]=\"(interval$ | async)?.start\"\n (valueUpdated)=\"onStartChanged($event)\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"(placeHolderOrEmpty() | translate) + ' ' + ('interval.from' | translate)\"\n ></elder-date-time-input>\n <span class=\"mat-date-range-input-separator flex-none\">\u2013</span>\n <elder-date-time-input\n class=\"flex\"\n center\n [value]=\"(interval$ | async)?.end\"\n (valueUpdated)=\"onEndChanged($event)\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"(placeHolderOrEmpty() | translate) + ' ' + ('interval.to' | translate)\"\n ></elder-date-time-input>\n </div>\n }\n @case ('day-time-range') {\n <div class=\"layout-row gap-xs elder-flex-interval-control\">\n <!-- [name]=\"name + '-day-start'\" -->\n <elder-date-time-input\n [value]=\"(interval$ | async)?.start\"\n (valueUpdated)=\"onDayTimeStartChanged($event)\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"(placeHolderOrEmpty() | translate) + ' ' + ('interval.from' | translate)\"\n ></elder-date-time-input>\n\n <!-- [name]=\"name + '-day-end'\" -->\n <elder-local-time-input\n [value]=\"endTime$ | async\"\n (valueUpdated)=\"onDayTimeEndTimeChanged($event)\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"(placeHolderOrEmpty() | translate) + ' ' + ('interval.to' | translate)\"\n ></elder-local-time-input>\n </div>\n }\n\n @case ('date-range') {\n <div class=\"layout-row gap-xs elder-flex-interval-control\">\n <mat-date-range-input\n class=\"mdc-text-field__input\"\n [rangePicker]=\"picker\"\n [disabled]=\"!!disabled\"\n >\n <input\n matStartDate\n [placeholder]=\"dateformat\"\n [ngModel]=\"startDate$ | async\"\n name=\"date-range.start\"\n [ngModelOptions]=\"{ standalone: true, updateOn: 'blur' }\"\n (ngModelChange)=\"onStartDateChanged($event)\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n />\n <input\n matEndDate\n [placeholder]=\"dateformat\"\n [ngModel]=\"endDate$ | async\"\n name=\"date-range.end\"\n [ngModelOptions]=\"{ standalone: true, updateOn: 'blur' }\"\n (ngModelChange)=\"onEndDateChanged($event)\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n />\n </mat-date-range-input>\n\n @if (!isDefaultDatePickerDisabled) {\n <mat-datepicker-toggle\n class=\"elder-control-icon-button\"\n [disabled]=\"isLocked\"\n [for]=\"picker\"\n >\n <mat-icon matDatepickerToggleIcon>calendar_month</mat-icon>\n </mat-datepicker-toggle>\n }\n <mat-date-range-picker #picker></mat-date-range-picker>\n </div>\n }\n\n @case ('single-day') {\n <div class=\"layout-row elder-flex-control\">\n <!-- [name]=\"name\" -->\n <elder-local-date-input\n class=\"flex\"\n center\n [value]=\"startLocalDate$ | async\"\n (valueUpdated)=\"onSingleDayDateChanged($event)\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeHolderOrEmpty() | translate\"\n ></elder-local-date-input>\n </div>\n }\n}\n", styles: [".elder-flex-interval-control{flex:1 1 auto;overflow:hidden}\n"] }]
28864
- }], ctorParameters: () => [{ type: i1$e.DateAdapter }, { type: undefined, decorators: [{
28864
+ }], ctorParameters: () => [{ type: i1$d.DateAdapter }, { type: undefined, decorators: [{
28865
28865
  type: Inject,
28866
28866
  args: [MAT_DATE_LOCALE]
28867
28867
  }] }], propDecorators: { zone: [{
@@ -28958,7 +28958,7 @@ class ElderDurationInputComponent extends ElderFormFieldControlBase {
28958
28958
  return a && b ? a.equals(b) : a === b;
28959
28959
  }
28960
28960
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderDurationInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
28961
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ElderDurationInputComponent, isStandalone: true, selector: "elder-duration-input", inputs: { isoValue: "isoValue", format: "format", durationFormat: "durationFormat" }, outputs: { isoValueChange: "isoValueChange" }, providers: [{ provide: MatFormFieldControl, useExisting: ElderDurationInputComponent }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"layout-row place-start-center flex-none\"\n *ngIf=\"durationContext$ | async as durationCtx\"\n>\n <div class=\"layout-row place-start-baseline duration-field flex\" *ngIf=\"durationCtx.format.days\">\n <input\n matInput\n elderNoSpinner\n [name]=\"ngControl?.name + '-inner-days'\"\n type=\"number\"\n class=\"duration-input duration-input-days flex-auto\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(durationCtx?.bucket?.days)\"\n (ngModelChange)=\"onBucketChanged(durationCtx.bucket.withDays($event))\"\n />\n <span class=\"mat-caption suffix flex-none noselect\">d</span>\n </div>\n\n <div class=\"layout-row place-start-baseline duration-field flex\" *ngIf=\"durationCtx.format.hours\">\n <input\n matInput\n elderNoSpinner\n [name]=\"ngControl?.name + '-inner-hours'\"\n type=\"number\"\n class=\"duration-input duration-input-hours flex-auto\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(durationCtx?.bucket?.hours)\"\n (ngModelChange)=\"onBucketChanged(durationCtx.bucket.withHours($event))\"\n />\n <span class=\"mat-caption suffix flex-none noselect\">h</span>\n </div>\n\n <div\n class=\"layout-row place-start-baseline duration-field flex\"\n *ngIf=\"durationCtx.format.minutes\"\n >\n <input\n matInput\n elderNoSpinner\n [name]=\"ngControl?.name + '-inner-minutes'\"\n type=\"number\"\n class=\"duration-input duration-input-minutes flex-auto\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(durationCtx?.bucket?.minutes)\"\n (ngModelChange)=\"onBucketChanged(durationCtx.bucket.withMinutes($event))\"\n />\n <span class=\"mat-caption suffix flex-none noselect\">min</span>\n </div>\n\n <div\n class=\"layout-row place-start-baseline duration-field flex\"\n *ngIf=\"durationCtx.format.seconds\"\n >\n <input\n matInput\n elderNoSpinner\n [name]=\"ngControl?.name + '-inner-seconds'\"\n type=\"number\"\n class=\"duration-input duration-input-seconds flex-auto\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(durationCtx?.bucket?.seconds)\"\n (ngModelChange)=\"onBucketChanged(durationCtx.bucket.withSeconds($event))\"\n />\n <span class=\"mat-caption suffix flex-none noselect\">sec</span>\n </div>\n</div>\n", styles: [".suffix{opacity:.7}.duration-input{text-align:right}.duration-input-days{min-width:26px}.duration-input-hours{min-width:20px}.duration-input-minutes,.duration-input-seconds{min-width:26px}input.duration-input::-webkit-outer-spin-button,input.duration-input::-webkit-inner-spin-button{display:none}input.duration-input{-moz-appearance:textfield}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: ElderFormFieldNoSpinnerDirective, selector: "input[elderNoSpinner]", inputs: ["elderNoSpinner"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$5.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28961
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ElderDurationInputComponent, isStandalone: true, selector: "elder-duration-input", inputs: { isoValue: "isoValue", format: "format", durationFormat: "durationFormat" }, outputs: { isoValueChange: "isoValueChange" }, providers: [{ provide: MatFormFieldControl, useExisting: ElderDurationInputComponent }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"layout-row place-start-center flex-none\"\n *ngIf=\"durationContext$ | async as durationCtx\"\n>\n <div class=\"layout-row place-start-baseline duration-field flex\" *ngIf=\"durationCtx.format.days\">\n <input\n matInput\n elderNoSpinner\n [name]=\"ngControl?.name + '-inner-days'\"\n type=\"number\"\n class=\"duration-input duration-input-days flex-auto\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(durationCtx?.bucket?.days)\"\n (ngModelChange)=\"onBucketChanged(durationCtx.bucket.withDays($event))\"\n />\n <span class=\"mat-caption suffix flex-none noselect\">d</span>\n </div>\n\n <div class=\"layout-row place-start-baseline duration-field flex\" *ngIf=\"durationCtx.format.hours\">\n <input\n matInput\n elderNoSpinner\n [name]=\"ngControl?.name + '-inner-hours'\"\n type=\"number\"\n class=\"duration-input duration-input-hours flex-auto\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(durationCtx?.bucket?.hours)\"\n (ngModelChange)=\"onBucketChanged(durationCtx.bucket.withHours($event))\"\n />\n <span class=\"mat-caption suffix flex-none noselect\">h</span>\n </div>\n\n <div\n class=\"layout-row place-start-baseline duration-field flex\"\n *ngIf=\"durationCtx.format.minutes\"\n >\n <input\n matInput\n elderNoSpinner\n [name]=\"ngControl?.name + '-inner-minutes'\"\n type=\"number\"\n class=\"duration-input duration-input-minutes flex-auto\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(durationCtx?.bucket?.minutes)\"\n (ngModelChange)=\"onBucketChanged(durationCtx.bucket.withMinutes($event))\"\n />\n <span class=\"mat-caption suffix flex-none noselect\">min</span>\n </div>\n\n <div\n class=\"layout-row place-start-baseline duration-field flex\"\n *ngIf=\"durationCtx.format.seconds\"\n >\n <input\n matInput\n elderNoSpinner\n [name]=\"ngControl?.name + '-inner-seconds'\"\n type=\"number\"\n class=\"duration-input duration-input-seconds flex-auto\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(durationCtx?.bucket?.seconds)\"\n (ngModelChange)=\"onBucketChanged(durationCtx.bucket.withSeconds($event))\"\n />\n <span class=\"mat-caption suffix flex-none noselect\">sec</span>\n </div>\n</div>\n", styles: [".suffix{opacity:.7}.duration-input{text-align:right}.duration-input-days{min-width:26px}.duration-input-hours{min-width:20px}.duration-input-minutes,.duration-input-seconds{min-width:26px}input.duration-input::-webkit-outer-spin-button,input.duration-input::-webkit-inner-spin-button{display:none}input.duration-input{-moz-appearance:textfield}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: ElderFormFieldNoSpinnerDirective, selector: "input[elderNoSpinner]", inputs: ["elderNoSpinner"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28962
28962
  }
28963
28963
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderDurationInputComponent, decorators: [{
28964
28964
  type: Component,
@@ -29062,7 +29062,7 @@ class ElderPeriodInputComponent extends ElderFormFieldControlBase {
29062
29062
  return a && b ? a.equals(b) : a === b;
29063
29063
  }
29064
29064
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderPeriodInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
29065
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ElderPeriodInputComponent, isStandalone: true, selector: "elder-period-input", inputs: { isoValue: "isoValue", format: "format", periodFormat: "periodFormat" }, outputs: { isoValueChange: "isoValueChange" }, providers: [{ provide: MatFormFieldControl, useExisting: ElderPeriodInputComponent }], usesInheritance: true, ngImport: i0, template: "<div class=\"layout-row place-start-center flex-none\" *ngIf=\"periodContext$ | async as periodCtx\">\n <div class=\"layout-row place-start-baseline flex period-field\" *ngIf=\"periodCtx.format.days\">\n <input\n matInput\n elderNoSpinner\n [name]=\"ngControl?.name + '-inner-days'\"\n type=\"number\"\n class=\"period-input\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(periodCtx?.bucket?.days)\"\n (ngModelChange)=\"onBucketChanged(periodCtx.bucket.withDays($event))\"\n />\n <span matSuffix class=\"mat-caption suffix flex-none noselect\">d</span>\n </div>\n\n <div class=\"layout-row place-start-baseline flex period-field\" *ngIf=\"periodCtx.format.months\">\n <input\n matInput\n elderNoSpinner\n [name]=\"ngControl?.name + '-inner-months'\"\n type=\"number\"\n class=\"period-input\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(periodCtx?.bucket?.months)\"\n (ngModelChange)=\"onBucketChanged(periodCtx.bucket.withMonths($event))\"\n />\n <span matSuffix class=\"mat-caption suffix flex-none noselect\">mnt</span>\n </div>\n\n <div class=\"layout-row place-start-baseline flex period-field\" *ngIf=\"periodCtx.format.years\">\n <input\n matInput\n elderNoSpinner\n [name]=\"ngControl?.name + '-inner-years'\"\n type=\"number\"\n class=\"period-input\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(periodCtx?.bucket?.years)\"\n (ngModelChange)=\"onBucketChanged(periodCtx.bucket.withYears($event))\"\n />\n <span matSuffix class=\"mat-caption suffix flex-none noselect\">yrs</span>\n </div>\n</div>\n", styles: [".suffix{opacity:.7}.period-input{text-align:right}input.period-input::-webkit-outer-spin-button,input.period-input::-webkit-inner-spin-button{display:none}input.period-input{-moz-appearance:textfield}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: ElderFormFieldNoSpinnerDirective, selector: "input[elderNoSpinner]", inputs: ["elderNoSpinner"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$5.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
29065
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ElderPeriodInputComponent, isStandalone: true, selector: "elder-period-input", inputs: { isoValue: "isoValue", format: "format", periodFormat: "periodFormat" }, outputs: { isoValueChange: "isoValueChange" }, providers: [{ provide: MatFormFieldControl, useExisting: ElderPeriodInputComponent }], usesInheritance: true, ngImport: i0, template: "<div class=\"layout-row place-start-center flex-none\" *ngIf=\"periodContext$ | async as periodCtx\">\n <div class=\"layout-row place-start-baseline flex period-field\" *ngIf=\"periodCtx.format.days\">\n <input\n matInput\n elderNoSpinner\n [name]=\"ngControl?.name + '-inner-days'\"\n type=\"number\"\n class=\"period-input\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(periodCtx?.bucket?.days)\"\n (ngModelChange)=\"onBucketChanged(periodCtx.bucket.withDays($event))\"\n />\n <span matSuffix class=\"mat-caption suffix flex-none noselect\">d</span>\n </div>\n\n <div class=\"layout-row place-start-baseline flex period-field\" *ngIf=\"periodCtx.format.months\">\n <input\n matInput\n elderNoSpinner\n [name]=\"ngControl?.name + '-inner-months'\"\n type=\"number\"\n class=\"period-input\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(periodCtx?.bucket?.months)\"\n (ngModelChange)=\"onBucketChanged(periodCtx.bucket.withMonths($event))\"\n />\n <span matSuffix class=\"mat-caption suffix flex-none noselect\">mnt</span>\n </div>\n\n <div class=\"layout-row place-start-baseline flex period-field\" *ngIf=\"periodCtx.format.years\">\n <input\n matInput\n elderNoSpinner\n [name]=\"ngControl?.name + '-inner-years'\"\n type=\"number\"\n class=\"period-input\"\n [required]=\"!!required\"\n [readonly]=\"readonly\"\n [disabled]=\"!!disabled\"\n [ngModel]=\"round(periodCtx?.bucket?.years)\"\n (ngModelChange)=\"onBucketChanged(periodCtx.bucket.withYears($event))\"\n />\n <span matSuffix class=\"mat-caption suffix flex-none noselect\">yrs</span>\n </div>\n</div>\n", styles: [".suffix{opacity:.7}.period-input{text-align:right}input.period-input::-webkit-outer-spin-button,input.period-input::-webkit-inner-spin-button{display:none}input.period-input{-moz-appearance:textfield}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: ElderFormFieldNoSpinnerDirective, selector: "input[elderNoSpinner]", inputs: ["elderNoSpinner"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
29066
29066
  }
29067
29067
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderPeriodInputComponent, decorators: [{
29068
29068
  type: Component,
@@ -29997,7 +29997,7 @@ class ElderIntervalPickerComponent {
29997
29997
  }
29998
29998
  }
29999
29999
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderIntervalPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
30000
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: ElderIntervalPickerComponent, isStandalone: true, selector: "elder-interval-picker", inputs: { emitType: { classPropertyName: "emitType", publicName: "emitType", isSignal: true, isRequired: false, transformFunction: null }, autoEmitMode: { classPropertyName: "autoEmitMode", publicName: "autoEmitMode", isSignal: true, isRequired: false, transformFunction: null }, intervalInputMode: { classPropertyName: "intervalInputMode", publicName: "intervalInputMode", isSignal: true, isRequired: false, transformFunction: null }, showAnchor: { classPropertyName: "showAnchor", publicName: "showAnchor", isSignal: true, isRequired: false, transformFunction: null }, anchorReadOnly: { classPropertyName: "anchorReadOnly", publicName: "anchorReadOnly", isSignal: true, isRequired: false, transformFunction: null }, externalAnchorDateTime: { classPropertyName: "externalAnchorDateTime", publicName: "externalAnchorDateTime", isSignal: true, isRequired: false, transformFunction: null }, externalInterval: { classPropertyName: "externalInterval", publicName: "externalInterval", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { intervalChange: "intervalChange" }, providers: [{ provide: DateAdapter, useClass: CustomDateAdapter }], viewQueries: [{ propertyName: "calendarStart", first: true, predicate: ["rangeCalendarStart"], descendants: true }, { propertyName: "calendarEnd", first: true, predicate: ["rangeCalendarEnd"], descendants: true }, { propertyName: "calendarStartElRef", first: true, predicate: ["rangeCalendarStart"], descendants: true, read: ElementRef }, { propertyName: "calendarEndElRef", first: true, predicate: ["rangeCalendarEnd"], descendants: true, read: ElementRef }, { propertyName: "startDateInput", first: true, predicate: ["startDateInput"], descendants: true }, { propertyName: "endDateInput", first: true, predicate: ["endDateInput"], descendants: true }], ngImport: i0, template: "<div class=\"interval-picker-component p-md layout-col gap-xxl\">\n <div class=\"layout-row gap-xxl place-between-start\" style=\"gap: 5%\">\n <div class=\"layout-col gap-md pt-xs\">\n <div class=\"layout-col\">\n <div class=\"layout-row select-buttons-container gap-sm\">\n <div class=\"layout-col gap-xs place-start-stretch\">\n <button mat-button (click)=\"controller.select.selectCurrentDay()\">\n @if (presenter.isFixedAnchorDateSet()) {\n {{ 'intervalPicker.anchorDay' | translate }}\n } @else {\n {{ 'intervalPicker.today' | translate }}\n }\n </button>\n <button mat-button (click)=\"controller.select.selectYesterday()\">\n @if (presenter.isFixedAnchorDateSet()) {\n {{ 'intervalPicker.last' | translate }} 1 {{ 'intervalPicker.day' | translate }}\n } @else {\n {{ 'intervalPicker.yesterday' | translate }}\n }\n </button>\n <button mat-button (click)=\"controller.select.selectLastSevenDaysIncludingToday()\">\n {{ 'intervalPicker.last' | translate }} 7\n {{ 'intervalPicker.days' | translate }}\n </button>\n <button mat-button (click)=\"controller.select.selectLastThirtyDaysIncludingToday()\">\n {{ 'intervalPicker.last' | translate }} 30\n {{ 'intervalPicker.days' | translate }}\n </button>\n <button mat-button (click)=\"controller.select.selectLast365daysIncludingToday()\">\n {{ 'intervalPicker.last' | translate }} 365\n {{ 'intervalPicker.days' | translate }}\n </button>\n @if (intervalInputMode() === 'date-time-range') {\n <div class=\"pt-sm\"></div>\n <button mat-button (click)=\"controller.select.selectLastFiveMinutes()\">\n {{ 'intervalPicker.last' | translate }} 5\n {{ 'intervalPicker.minutes' | translate }}\n </button>\n <button mat-button (click)=\"controller.select.selectLastHour()\">\n {{ 'intervalPicker.last' | translate }} {{ 'intervalPicker.hour' | translate }}\n </button>\n <button mat-button (click)=\"controller.select.selectLast24Hours()\">\n {{ 'intervalPicker.last' | translate }} 24\n {{ 'intervalPicker.hours' | translate }}\n </button>\n }\n </div>\n </div>\n </div>\n </div>\n <div class=\"layout-col\">\n <!-- smart shift -->\n <div class=\"layout-row place-around-center\">\n <button\n mat-icon-button\n (click)=\"controller.shift.smartShift(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ presenter.smartShiftMessage() }}</span>\n <button\n mat-icon-button\n (click)=\"controller.shift.smartShift(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n <!-- calendars and input controls -->\n <div\n class=\"layout-row place-around-center\"\n style=\"align-items: flex-start; min-height: 280px\"\n >\n <mat-calendar\n #rangeCalendarStart\n style=\"width: 210px; max-width: 100%\"\n [selected]=\"presenter.dateRangeForCalendar()\"\n (selectedChange)=\"controller.calendar.setStartDateFromJSDate($event)\"\n [maxDate]=\"presenter.endDateTimeAsJSDate()\"\n [dateClass]=\"presenter.calendarAnchorDateCssClassFn\"\n >\n </mat-calendar>\n <mat-calendar\n #rangeCalendarEnd\n style=\"width: 210px; max-width: 100%\"\n [selected]=\"presenter.dateRangeForCalendar()\"\n (selectedChange)=\"controller.calendar.setEndDateFromJSDate($event)\"\n [minDate]=\"presenter.startDateTimeAsJSDate()\"\n [dateClass]=\"presenter.calendarAnchorDateCssClassFn\"\n >\n </mat-calendar>\n </div>\n <div class=\"layout-row place-around-center gap-xl pt-sm\">\n <div class=\"layout-row place-around-center\">\n <mat-form-field class=\"input-control-container\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.startDate' | translate }}</mat-label>\n <input\n #startDateInput\n name=\"startDateInput\"\n matInput\n type=\"date\"\n [ngModel]=\"presenter.startDateHtmlString()\"\n (ngModelChange)=\"controller.form.setStartDateFromString($event)\"\n />\n </mat-form-field>\n </div>\n <div class=\"layout-row place-around-center\">\n <mat-form-field class=\"input-control-container\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.endDate' | translate }}</mat-label>\n <input\n #endDateInput\n name=\"endDateInput\"\n matInput\n type=\"date\"\n [ngModel]=\"presenter.endDateHtmlString()\"\n (ngModelChange)=\"controller.form.setEndDateFromString($event)\"\n />\n </mat-form-field>\n </div>\n </div>\n @if (intervalInputMode() === 'date-time-range') {\n <div class=\"layout-row place-around-center gap-xl pt-sm\">\n <mat-form-field class=\"input-control-container\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.startTime' | translate }}</mat-label>\n <input\n name=\"startTimeInput\"\n matInput\n type=\"time\"\n #startTimeControl=\"ngModel\"\n step=\"1\"\n [ngModel]=\"presenter.startTimeHtmlString()\"\n (ngModelChange)=\"controller.form.setStartTimeFromString($event)\"\n />\n <button\n mat-icon-button\n matSuffix\n (click)=\"controller.clearStartTime()\"\n [disabled]=\"!presenter.isStartTimeSetAndNotMidnight()\"\n >\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n <mat-form-field class=\"input-control-container\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.endTime' | translate }}</mat-label>\n <input\n name=\"endTimeInput\"\n matInput\n type=\"time\"\n #endTimeControl=\"ngModel\"\n step=\"1\"\n [ngModel]=\"presenter.endTimeHtmlString()\"\n (ngModelChange)=\"controller.form.setEndTimeFromString($event)\"\n />\n <button\n mat-icon-button\n matSuffix\n (click)=\"controller.clearEndTime()\"\n [disabled]=\"!presenter.isEndTimeSetAndNotMidnight()\"\n >\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n </div>\n }\n <br />\n </div>\n <div class=\"pt-xs\" style=\"width: 25%\">\n <div class=\"layout-col gap-lg\">\n <div class=\"layout-col gap-xs place-start-start\">\n <!-- select current -->\n <button mat-button (click)=\"controller.select.selectCurrentWeek()\">\n {{ 'intervalPicker.currentPeriod.week' | translate }}\n </button>\n <button mat-button (click)=\"controller.select.selectCurrentMonth()\">\n {{ 'intervalPicker.currentPeriod.month' | translate }}\n </button>\n <button mat-button (click)=\"controller.select.selectCurrentQuarter()\">\n {{ 'intervalPicker.currentPeriod.quarter' | translate }}\n </button>\n <button mat-button (click)=\"controller.select.selectCurrentYear()\">\n {{ 'intervalPicker.currentPeriod.year' | translate }}\n </button>\n </div>\n <div class=\"fixed-shifts-container\">\n <div class=\"layout-col place-start-stretch\">\n <div class=\"layout-row place-between-center\">\n <button\n mat-icon-button\n (click)=\"controller.shift.shiftDay(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ 'intervalPicker.day' | translate }}</span>\n <button\n mat-icon-button\n (click)=\"controller.shift.shiftDay(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n <div class=\"layout-row place-between-center\">\n <button\n mat-icon-button\n (click)=\"controller.shift.shiftMonth(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ 'intervalPicker.month' | translate }}</span>\n <button\n mat-icon-button\n (click)=\"controller.shift.shiftMonth(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n <div class=\"layout-row place-between-center\">\n <button\n mat-icon-button\n (click)=\"controller.shift.shiftYear(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ 'intervalPicker.year' | translate }}</span>\n <button\n mat-icon-button\n (click)=\"controller.shift.shiftYear(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n\n @if (true) {\n <!-- shift minute -->\n <div class=\"layout-row place-between-center\">\n <button\n mat-icon-button\n (click)=\"controller.shift.shiftMinute(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ 'intervalPicker.minute' | translate }}</span>\n <button\n mat-icon-button\n (click)=\"controller.shift.shiftMinute(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n <!-- shift hour -->\n <div class=\"layout-row place-between-center\">\n <button\n mat-icon-button\n (click)=\"controller.shift.shiftHour(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ 'intervalPicker.hour' | translate }}</span>\n <button\n mat-icon-button\n (click)=\"controller.shift.shiftHour(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n<div class=\"layout-row place-between-center gap-xxl pt-sm\">\n <div>\n @if (showAnchor()) {\n <div class=\"layout-row flex-none gap-md\">\n <mat-menu #anchorMenu=\"matMenu\">\n @if (presenter.startDateHtmlString()) {\n <button\n mat-menu-item\n (click)=\"controller.anchor.setFixedAnchorPointToEndDateTime()\"\n [disabled]=\"!presenter.startDateHtmlString()\"\n >\n <mat-icon class=\"material-symbols-outlined\">login</mat-icon>\n <span>{{ 'intervalPicker.endDate' | translate }}</span>\n </button>\n }\n @if (presenter.endDateHtmlString()) {\n <button\n mat-menu-item\n (click)=\"controller.anchor.setFixedAnchorPointToStartDateTime()\"\n [disabled]=\"!presenter.endDateHtmlString()\"\n >\n <mat-icon class=\"material-symbols-outlined\">logout</mat-icon>\n <span>{{ 'intervalPicker.startDate' | translate }}</span>\n </button>\n }\n @if (presenter.isFixedAnchorDateSet()) {\n <button\n mat-menu-item\n (click)=\"controller.anchor.resetAnchor()\"\n [disabled]=\"!presenter.isFixedAnchorDateSet() || anchorReadOnly()\"\n >\n <mat-icon>close</mat-icon>\n <span>{{ 'intervalPicker.clear' | translate }}</span>\n </button>\n }\n </mat-menu>\n\n <mat-form-field class=\"input-control-container\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.anchorDate' | translate }}</mat-label>\n <input\n #startDateInput\n name=\"anchorDateInput\"\n matInput\n type=\"date\"\n [ngModel]=\"presenter.anchorDateHtmlString()\"\n (ngModelChange)=\"controller.form.setAnchorDateFromString($event)\"\n [readonly]=\"anchorReadOnly()\"\n />\n @if (!anchorReadOnly()) {\n <button\n mat-icon-button\n matSuffix\n [matMenuTriggerFor]=\"anchorMenu\"\n [disabled]=\"presenter.isAnchorMenuDisabled()\"\n >\n <mat-icon class=\"material-symbols-outlined\">more_horiz</mat-icon>\n </button>\n }\n </mat-form-field>\n @if (intervalInputMode() === 'date-time-range') {\n <mat-form-field class=\"input-control-container-short\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.anchorTime' | translate }}</mat-label>\n <input\n matInput\n name=\"anchorTimeInput\"\n type=\"time\"\n #anchorTimeControl=\"ngModel\"\n step=\"1\"\n [readonly]=\"anchorReadOnly()\"\n [ngModel]=\"presenter.anchorTimeHtmlString()\"\n (ngModelChange)=\"controller.form.setAnchorTimeFromString($event)\"\n />\n <button\n mat-icon-button\n matSuffix\n (click)=\"controller.anchor.resetAnchorTime()\"\n [disabled]=\"anchorReadOnly() || presenter.isAnchorTimeMidnight()\"\n >\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n }\n </div>\n }\n </div>\n <!-- result interval -->\n <div class=\"layout-col place-center-center\">\n <div class=\"date-interval mat-caption pt-xs\">\n @if (presenter.startDateTimeAsJSDate()) {\n {{ presenter.startDateTimeAsJSDate() | date: 'dd.MM. y, HH:mm:ss' }}\n } @else {\n {{ 'intervalPicker.startDateNotSet' | translate }}\n }\n <span> - </span>\n @if (presenter.endDateTimeAsJSDate()) {\n {{ presenter.endDateTimeAsJSDate() | date: 'dd.MM. y, HH:mm:ss' }}\n } @else {\n {{ 'intervalPicker.endDateNotSet' | translate }}\n }\n </div>\n <div>\n <span class=\"mat-caption\">{{ presenter.deltaHumanReadable() || '&nbsp;' }}</span>\n </div>\n </div>\n <div class=\"layout-row gap-lg\">\n <button\n mat-flat-button\n color=\"primary\"\n (click)=\"controller.clearInterval()\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n {{ 'intervalPicker.clear' | translate }}\n </button>\n\n @if (!this.autoEmitMode()) {\n <button color=\"primary\" mat-flat-button (click)=\"controller.manualEmit()\">\n {{ 'actions.ok' | translate }}\n </button>\n }\n </div>\n</div>\n", styles: [".interval-picker-component{min-width:840px;max-width:100%}.fixed-shifts-container{max-width:160px}.input-control-container{width:192px;max-width:100%}.input-control-container-short{width:140px;max-width:100%}.select-buttons-container button{white-space:nowrap;text-align:left;justify-content:flex-start}::ng-deep .interval-picker-component .mat-calendar-body-cell.elder-custom-anchor-date .mat-calendar-body-cell-content{border-radius:50%;background-color:#def;background-color:#b4d2ebbf}\n"], dependencies: [{ kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i1$f.MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection", "_userDragDrop"], exportAs: ["matCalendar"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1$c.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1$c.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1$c.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$4.DatePipe, name: "date" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i9.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i9.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i9.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
30000
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: ElderIntervalPickerComponent, isStandalone: true, selector: "elder-interval-picker", inputs: { emitType: { classPropertyName: "emitType", publicName: "emitType", isSignal: true, isRequired: false, transformFunction: null }, autoEmitMode: { classPropertyName: "autoEmitMode", publicName: "autoEmitMode", isSignal: true, isRequired: false, transformFunction: null }, intervalInputMode: { classPropertyName: "intervalInputMode", publicName: "intervalInputMode", isSignal: true, isRequired: false, transformFunction: null }, showAnchor: { classPropertyName: "showAnchor", publicName: "showAnchor", isSignal: true, isRequired: false, transformFunction: null }, anchorReadOnly: { classPropertyName: "anchorReadOnly", publicName: "anchorReadOnly", isSignal: true, isRequired: false, transformFunction: null }, externalAnchorDateTime: { classPropertyName: "externalAnchorDateTime", publicName: "externalAnchorDateTime", isSignal: true, isRequired: false, transformFunction: null }, externalInterval: { classPropertyName: "externalInterval", publicName: "externalInterval", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { intervalChange: "intervalChange" }, providers: [{ provide: DateAdapter, useClass: CustomDateAdapter }], viewQueries: [{ propertyName: "calendarStart", first: true, predicate: ["rangeCalendarStart"], descendants: true }, { propertyName: "calendarEnd", first: true, predicate: ["rangeCalendarEnd"], descendants: true }, { propertyName: "calendarStartElRef", first: true, predicate: ["rangeCalendarStart"], descendants: true, read: ElementRef }, { propertyName: "calendarEndElRef", first: true, predicate: ["rangeCalendarEnd"], descendants: true, read: ElementRef }, { propertyName: "startDateInput", first: true, predicate: ["startDateInput"], descendants: true }, { propertyName: "endDateInput", first: true, predicate: ["endDateInput"], descendants: true }], ngImport: i0, template: "<div class=\"interval-picker-component p-md layout-col gap-xxl\">\n <div class=\"layout-row gap-xxl place-between-start\" style=\"gap: 5%\">\n <div class=\"layout-col gap-md pt-xs\">\n <div class=\"layout-col\">\n <div class=\"layout-row select-buttons-container gap-sm\">\n <div class=\"layout-col gap-xs place-start-stretch\">\n <button mat-button (click)=\"controller.select.selectCurrentDay()\">\n @if (presenter.isFixedAnchorDateSet()) {\n {{ 'intervalPicker.anchorDay' | translate }}\n } @else {\n {{ 'intervalPicker.today' | translate }}\n }\n </button>\n <button mat-button (click)=\"controller.select.selectYesterday()\">\n @if (presenter.isFixedAnchorDateSet()) {\n {{ 'intervalPicker.last' | translate }} 1 {{ 'intervalPicker.day' | translate }}\n } @else {\n {{ 'intervalPicker.yesterday' | translate }}\n }\n </button>\n <button mat-button (click)=\"controller.select.selectLastSevenDaysIncludingToday()\">\n {{ 'intervalPicker.last' | translate }} 7\n {{ 'intervalPicker.days' | translate }}\n </button>\n <button mat-button (click)=\"controller.select.selectLastThirtyDaysIncludingToday()\">\n {{ 'intervalPicker.last' | translate }} 30\n {{ 'intervalPicker.days' | translate }}\n </button>\n <button mat-button (click)=\"controller.select.selectLast365daysIncludingToday()\">\n {{ 'intervalPicker.last' | translate }} 365\n {{ 'intervalPicker.days' | translate }}\n </button>\n @if (intervalInputMode() === 'date-time-range') {\n <div class=\"pt-sm\"></div>\n <button mat-button (click)=\"controller.select.selectLastFiveMinutes()\">\n {{ 'intervalPicker.last' | translate }} 5\n {{ 'intervalPicker.minutes' | translate }}\n </button>\n <button mat-button (click)=\"controller.select.selectLastHour()\">\n {{ 'intervalPicker.last' | translate }} {{ 'intervalPicker.hour' | translate }}\n </button>\n <button mat-button (click)=\"controller.select.selectLast24Hours()\">\n {{ 'intervalPicker.last' | translate }} 24\n {{ 'intervalPicker.hours' | translate }}\n </button>\n }\n </div>\n </div>\n </div>\n </div>\n <div class=\"layout-col\">\n <!-- smart shift -->\n <div class=\"layout-row place-around-center\">\n <button\n mat-icon-button\n (click)=\"controller.shift.smartShift(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ presenter.smartShiftMessage() }}</span>\n <button\n mat-icon-button\n (click)=\"controller.shift.smartShift(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n <!-- calendars and input controls -->\n <div\n class=\"layout-row place-around-center\"\n style=\"align-items: flex-start; min-height: 280px\"\n >\n <mat-calendar\n #rangeCalendarStart\n style=\"width: 210px; max-width: 100%\"\n [selected]=\"presenter.dateRangeForCalendar()\"\n (selectedChange)=\"controller.calendar.setStartDateFromJSDate($event)\"\n [maxDate]=\"presenter.endDateTimeAsJSDate()\"\n [dateClass]=\"presenter.calendarAnchorDateCssClassFn\"\n >\n </mat-calendar>\n <mat-calendar\n #rangeCalendarEnd\n style=\"width: 210px; max-width: 100%\"\n [selected]=\"presenter.dateRangeForCalendar()\"\n (selectedChange)=\"controller.calendar.setEndDateFromJSDate($event)\"\n [minDate]=\"presenter.startDateTimeAsJSDate()\"\n [dateClass]=\"presenter.calendarAnchorDateCssClassFn\"\n >\n </mat-calendar>\n </div>\n <div class=\"layout-row place-around-center gap-xl pt-sm\">\n <div class=\"layout-row place-around-center\">\n <mat-form-field class=\"input-control-container\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.startDate' | translate }}</mat-label>\n <input\n #startDateInput\n name=\"startDateInput\"\n matInput\n type=\"date\"\n [ngModel]=\"presenter.startDateHtmlString()\"\n (ngModelChange)=\"controller.form.setStartDateFromString($event)\"\n />\n </mat-form-field>\n </div>\n <div class=\"layout-row place-around-center\">\n <mat-form-field class=\"input-control-container\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.endDate' | translate }}</mat-label>\n <input\n #endDateInput\n name=\"endDateInput\"\n matInput\n type=\"date\"\n [ngModel]=\"presenter.endDateHtmlString()\"\n (ngModelChange)=\"controller.form.setEndDateFromString($event)\"\n />\n </mat-form-field>\n </div>\n </div>\n @if (intervalInputMode() === 'date-time-range') {\n <div class=\"layout-row place-around-center gap-xl pt-sm\">\n <mat-form-field class=\"input-control-container\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.startTime' | translate }}</mat-label>\n <input\n name=\"startTimeInput\"\n matInput\n type=\"time\"\n #startTimeControl=\"ngModel\"\n step=\"1\"\n [ngModel]=\"presenter.startTimeHtmlString()\"\n (ngModelChange)=\"controller.form.setStartTimeFromString($event)\"\n />\n <button\n mat-icon-button\n matSuffix\n (click)=\"controller.clearStartTime()\"\n [disabled]=\"!presenter.isStartTimeSetAndNotMidnight()\"\n >\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n <mat-form-field class=\"input-control-container\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.endTime' | translate }}</mat-label>\n <input\n name=\"endTimeInput\"\n matInput\n type=\"time\"\n #endTimeControl=\"ngModel\"\n step=\"1\"\n [ngModel]=\"presenter.endTimeHtmlString()\"\n (ngModelChange)=\"controller.form.setEndTimeFromString($event)\"\n />\n <button\n mat-icon-button\n matSuffix\n (click)=\"controller.clearEndTime()\"\n [disabled]=\"!presenter.isEndTimeSetAndNotMidnight()\"\n >\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n </div>\n }\n <br />\n </div>\n <div class=\"pt-xs\" style=\"width: 25%\">\n <div class=\"layout-col gap-lg\">\n <div class=\"layout-col gap-xs place-start-start\">\n <!-- select current -->\n <button mat-button (click)=\"controller.select.selectCurrentWeek()\">\n {{ 'intervalPicker.currentPeriod.week' | translate }}\n </button>\n <button mat-button (click)=\"controller.select.selectCurrentMonth()\">\n {{ 'intervalPicker.currentPeriod.month' | translate }}\n </button>\n <button mat-button (click)=\"controller.select.selectCurrentQuarter()\">\n {{ 'intervalPicker.currentPeriod.quarter' | translate }}\n </button>\n <button mat-button (click)=\"controller.select.selectCurrentYear()\">\n {{ 'intervalPicker.currentPeriod.year' | translate }}\n </button>\n </div>\n <div class=\"fixed-shifts-container\">\n <div class=\"layout-col place-start-stretch\">\n <div class=\"layout-row place-between-center\">\n <button\n mat-icon-button\n (click)=\"controller.shift.shiftDay(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ 'intervalPicker.day' | translate }}</span>\n <button\n mat-icon-button\n (click)=\"controller.shift.shiftDay(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n <div class=\"layout-row place-between-center\">\n <button\n mat-icon-button\n (click)=\"controller.shift.shiftMonth(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ 'intervalPicker.month' | translate }}</span>\n <button\n mat-icon-button\n (click)=\"controller.shift.shiftMonth(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n <div class=\"layout-row place-between-center\">\n <button\n mat-icon-button\n (click)=\"controller.shift.shiftYear(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ 'intervalPicker.year' | translate }}</span>\n <button\n mat-icon-button\n (click)=\"controller.shift.shiftYear(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n\n @if (true) {\n <!-- shift minute -->\n <div class=\"layout-row place-between-center\">\n <button\n mat-icon-button\n (click)=\"controller.shift.shiftMinute(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ 'intervalPicker.minute' | translate }}</span>\n <button\n mat-icon-button\n (click)=\"controller.shift.shiftMinute(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n <!-- shift hour -->\n <div class=\"layout-row place-between-center\">\n <button\n mat-icon-button\n (click)=\"controller.shift.shiftHour(-1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_left</mat-icon>\n </button>\n <span>{{ 'intervalPicker.hour' | translate }}</span>\n <button\n mat-icon-button\n (click)=\"controller.shift.shiftHour(1)\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n <mat-icon>keyboard_double_arrow_right</mat-icon>\n </button>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n<div class=\"layout-row place-between-center gap-xxl pt-sm\">\n <div>\n @if (showAnchor()) {\n <div class=\"layout-row flex-none gap-md\">\n <mat-menu #anchorMenu=\"matMenu\">\n @if (presenter.startDateHtmlString()) {\n <button\n mat-menu-item\n (click)=\"controller.anchor.setFixedAnchorPointToEndDateTime()\"\n [disabled]=\"!presenter.startDateHtmlString()\"\n >\n <mat-icon class=\"material-symbols-outlined\">login</mat-icon>\n <span>{{ 'intervalPicker.endDate' | translate }}</span>\n </button>\n }\n @if (presenter.endDateHtmlString()) {\n <button\n mat-menu-item\n (click)=\"controller.anchor.setFixedAnchorPointToStartDateTime()\"\n [disabled]=\"!presenter.endDateHtmlString()\"\n >\n <mat-icon class=\"material-symbols-outlined\">logout</mat-icon>\n <span>{{ 'intervalPicker.startDate' | translate }}</span>\n </button>\n }\n @if (presenter.isFixedAnchorDateSet()) {\n <button\n mat-menu-item\n (click)=\"controller.anchor.resetAnchor()\"\n [disabled]=\"!presenter.isFixedAnchorDateSet() || anchorReadOnly()\"\n >\n <mat-icon>close</mat-icon>\n <span>{{ 'intervalPicker.clear' | translate }}</span>\n </button>\n }\n </mat-menu>\n\n <mat-form-field class=\"input-control-container\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.anchorDate' | translate }}</mat-label>\n <input\n #startDateInput\n name=\"anchorDateInput\"\n matInput\n type=\"date\"\n [ngModel]=\"presenter.anchorDateHtmlString()\"\n (ngModelChange)=\"controller.form.setAnchorDateFromString($event)\"\n [readonly]=\"anchorReadOnly()\"\n />\n @if (!anchorReadOnly()) {\n <button\n mat-icon-button\n matSuffix\n [matMenuTriggerFor]=\"anchorMenu\"\n [disabled]=\"presenter.isAnchorMenuDisabled()\"\n >\n <mat-icon class=\"material-symbols-outlined\">more_horiz</mat-icon>\n </button>\n }\n </mat-form-field>\n @if (intervalInputMode() === 'date-time-range') {\n <mat-form-field class=\"input-control-container-short\" [subscriptSizing]=\"'dynamic'\">\n <mat-label>{{ 'intervalPicker.anchorTime' | translate }}</mat-label>\n <input\n matInput\n name=\"anchorTimeInput\"\n type=\"time\"\n #anchorTimeControl=\"ngModel\"\n step=\"1\"\n [readonly]=\"anchorReadOnly()\"\n [ngModel]=\"presenter.anchorTimeHtmlString()\"\n (ngModelChange)=\"controller.form.setAnchorTimeFromString($event)\"\n />\n <button\n mat-icon-button\n matSuffix\n (click)=\"controller.anchor.resetAnchorTime()\"\n [disabled]=\"anchorReadOnly() || presenter.isAnchorTimeMidnight()\"\n >\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n }\n </div>\n }\n </div>\n <!-- result interval -->\n <div class=\"layout-col place-center-center\">\n <div class=\"date-interval mat-caption pt-xs\">\n @if (presenter.startDateTimeAsJSDate()) {\n {{ presenter.startDateTimeAsJSDate() | date: 'dd.MM. y, HH:mm:ss' }}\n } @else {\n {{ 'intervalPicker.startDateNotSet' | translate }}\n }\n <span> - </span>\n @if (presenter.endDateTimeAsJSDate()) {\n {{ presenter.endDateTimeAsJSDate() | date: 'dd.MM. y, HH:mm:ss' }}\n } @else {\n {{ 'intervalPicker.endDateNotSet' | translate }}\n }\n </div>\n <div>\n <span class=\"mat-caption\">{{ presenter.deltaHumanReadable() || '&nbsp;' }}</span>\n </div>\n </div>\n <div class=\"layout-row gap-lg\">\n <button\n mat-flat-button\n color=\"primary\"\n (click)=\"controller.clearInterval()\"\n [disabled]=\"!presenter.isValidIntervalSet()\"\n >\n {{ 'intervalPicker.clear' | translate }}\n </button>\n\n @if (!this.autoEmitMode()) {\n <button color=\"primary\" mat-flat-button (click)=\"controller.manualEmit()\">\n {{ 'actions.ok' | translate }}\n </button>\n }\n </div>\n</div>\n", styles: [".interval-picker-component{min-width:840px;max-width:100%}.fixed-shifts-container{max-width:160px}.input-control-container{width:192px;max-width:100%}.input-control-container-short{width:140px;max-width:100%}.select-buttons-container button{white-space:nowrap;text-align:left;justify-content:flex-start}::ng-deep .interval-picker-component .mat-calendar-body-cell.elder-custom-anchor-date .mat-calendar-body-cell-content{border-radius:50%;background-color:#def;background-color:#b4d2ebbf}\n"], dependencies: [{ kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i1$e.MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection", "_userDragDrop"], exportAs: ["matCalendar"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1$b.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1$b.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1$b.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i2.DatePipe, name: "date" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i9.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i9.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i9.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
30001
30001
  }
30002
30002
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderIntervalPickerComponent, decorators: [{
30003
30003
  type: Component,
@@ -30347,7 +30347,7 @@ class ElderOverlayComponent {
30347
30347
  const searchPanelPortal = new TemplatePortal(this.templateRef, this.viewContainer);
30348
30348
  return this._overlayRef.attach(searchPanelPortal);
30349
30349
  }
30350
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderOverlayComponent, deps: [{ token: i0.ViewContainerRef }, { token: i1$g.Overlay }, { token: i1$g.OverlayPositionBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
30350
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderOverlayComponent, deps: [{ token: i0.ViewContainerRef }, { token: i1$f.Overlay }, { token: i1$f.OverlayPositionBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
30351
30351
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ElderOverlayComponent, isStandalone: true, selector: "elder-overlay", inputs: { originX: "originX", originY: "originY", overlayX: "overlayX", overlayY: "overlayY", offsetY: "offsetY", offsetX: "offsetX", backdrop: "backdrop", backdropVisible: "backdropVisible", origin: "origin", positionStrategy: "positionStrategy", overlaySize: "overlaySize" }, outputs: { keydownEvents: "keydownEvents", attachedChange: "attachedChange" }, providers: [
30352
30352
  {
30353
30353
  provide: ElderOverlayRef,
@@ -30384,7 +30384,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
30384
30384
  },
30385
30385
  ],
30386
30386
  }]
30387
- }], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: i1$g.Overlay }, { type: i1$g.OverlayPositionBuilder }], propDecorators: { templateRef: [{
30387
+ }], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: i1$f.Overlay }, { type: i1$f.OverlayPositionBuilder }], propDecorators: { templateRef: [{
30388
30388
  type: ViewChild,
30389
30389
  args: [TemplateRef, { static: true }]
30390
30390
  }], originX: [{
@@ -30883,7 +30883,7 @@ class ElderLocalizedInputTableComponent extends FormFieldBaseComponent {
30883
30883
  return localizables;
30884
30884
  }
30885
30885
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderLocalizedInputTableComponent, deps: [{ token: ElderToastService }, { token: ElderLanguageService }], target: i0.ɵɵFactoryTarget.Component }); }
30886
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ElderLocalizedInputTableComponent, isStandalone: true, selector: "elder-localized-input-table", inputs: { dense: "dense", float: "float", embedded: "embedded", textColumns: "textColumns", defaultLanguageTags: "defaultLanguageTags" }, providers: buildFormIntegrationProviders(ElderLocalizedInputTableComponent), queries: [{ propertyName: "textColumnsQuery", predicate: ElderLocalizedTextColumnDirective }], usesInheritance: true, ngImport: i0, template: "<div class=\"layout-col full\">\n <elder-table\n matSort\n class=\"flex\"\n [data]=\"data\"\n [selectionVisible]=\"true\"\n [selectionMultiEnabled]=\"true\"\n [dense]=\"dense\"\n [float]=\"float\"\n [embedded]=\"embedded\"\n >\n <elder-data-toolbar\n *elderTableToolbar\n [canAdd]=\"!isLocked\"\n [canRemove]=\"!isLocked\"\n [canMore]=\"false\"\n (requestNew)=\"onNewRequested()\"\n (requestRemove)=\"onRemoveRequested($event)\"\n >\n <ng-template elderToolbarContent=\"left.actions\">\n <div class=\"layout-col place-start-center\">\n <h4 elderCardSubtitle style=\"margin: 0\">{{ label ?? placeholder }}</h4>\n </div>\n </ng-template>\n </elder-data-toolbar>\n\n <ng-container matColumnDef=\"locale\">\n <th mat-header-cell *matHeaderCellDef style=\"width: 100px\" mat-sort-header>Locale</th>\n <td mat-cell *matCellDef=\"let localized\">\n <mat-chip-set\n ><mat-chip>{{ localized.locale }}</mat-chip></mat-chip-set\n >\n </td>\n </ng-container>\n\n <ng-container\n *ngFor=\"let textColumn of textColumns$ | async\"\n matColumnDef=\"{{ textColumn.name }}\"\n >\n <th mat-header-cell *matHeaderCellDef>{{ textColumn.title | translate }}</th>\n <td mat-cell *matCellDef=\"let localized\">\n <div class=\"layout-row place-center-center\">\n <mat-form-field class=\"full-width\" appearance=\"fill\" elderDense>\n <!--\n <mat-label>{{textColumn.title | translate}} ({{localized.locale}})</mat-label>\n -->\n <!--\n <span matTextPrefix>{{textColumn.title | translate}}</span>\n -->\n <input\n matInput\n type=\"text\"\n name=\"i18n-{{ localized.locale }}-{{ textColumn.name }}\"\n [ngModel]=\"localized[textColumn.name]\"\n [ngModelOptions]=\"{ updateOn: 'blur' }\"\n (ngModelChange)=\"onColumnTextUpdated(localized, textColumn, $event)\"\n [required]=\"required && textColumn.required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n />\n </mat-form-field>\n </div>\n </td>\n </ng-container>\n </elder-table>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: ElderTableComponent, selector: "elder-table", inputs: ["idField", "removingField", "hiddenField", "pageSizeOptions", "keepSelection", "showFooter", "toolbarTemplate", "data", "displayedColumns", "selectionVisible"] }, { kind: "directive", type: MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "directive", type: ElderTableToolbarDirective, selector: "[elderTableToolbar]" }, { kind: "component", type: ElderDataToolbarComponent, selector: "elder-data-toolbar", inputs: ["canAdd", "canRemove", "canMore", "confirmRemoval", "keepSelectionAfterRemoval", "selectionModel"], outputs: ["requestNew", "requestRemove"] }, { kind: "directive", type: ElderToolbarContentDirective, selector: "[elderToolbarContent]", inputs: ["elderToolbarContent"] }, { kind: "directive", type: ElderCardSubtitleDirective, selector: "elder-card-subtitle, [elder-card-subtitle], [elderCardSubtitle]" }, { kind: "directive", type: MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "component", type: MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "directive", type: MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "component", type: MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: ElderFormFieldDenseDirective, selector: "mat-form-field[elderDense]", inputs: ["elderDense", "subscriptSizing", "floatLabel"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
30886
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ElderLocalizedInputTableComponent, isStandalone: true, selector: "elder-localized-input-table", inputs: { dense: "dense", float: "float", embedded: "embedded", textColumns: "textColumns", defaultLanguageTags: "defaultLanguageTags" }, providers: buildFormIntegrationProviders(ElderLocalizedInputTableComponent), queries: [{ propertyName: "textColumnsQuery", predicate: ElderLocalizedTextColumnDirective }], usesInheritance: true, ngImport: i0, template: "<div class=\"layout-col full\">\n <elder-table\n matSort\n class=\"flex\"\n [data]=\"data\"\n [selectionVisible]=\"true\"\n [selectionMultiEnabled]=\"true\"\n [dense]=\"dense\"\n [float]=\"float\"\n [embedded]=\"embedded\"\n >\n <elder-data-toolbar\n *elderTableToolbar\n [canAdd]=\"!isLocked\"\n [canRemove]=\"!isLocked\"\n [canMore]=\"false\"\n (requestNew)=\"onNewRequested()\"\n (requestRemove)=\"onRemoveRequested($event)\"\n >\n <ng-template elderToolbarContent=\"left.actions\">\n <div class=\"layout-col place-start-center\">\n <h4 elderCardSubtitle style=\"margin: 0\">{{ label ?? placeholder }}</h4>\n </div>\n </ng-template>\n </elder-data-toolbar>\n\n <ng-container matColumnDef=\"locale\">\n <th mat-header-cell *matHeaderCellDef style=\"width: 100px\" mat-sort-header>Locale</th>\n <td mat-cell *matCellDef=\"let localized\">\n <mat-chip-set\n ><mat-chip>{{ localized.locale }}</mat-chip></mat-chip-set\n >\n </td>\n </ng-container>\n\n <ng-container\n *ngFor=\"let textColumn of textColumns$ | async\"\n matColumnDef=\"{{ textColumn.name }}\"\n >\n <th mat-header-cell *matHeaderCellDef>{{ textColumn.title | translate }}</th>\n <td mat-cell *matCellDef=\"let localized\">\n <div class=\"layout-row place-center-center\">\n <mat-form-field class=\"full-width\" appearance=\"fill\" elderDense>\n <!--\n <mat-label>{{textColumn.title | translate}} ({{localized.locale}})</mat-label>\n -->\n <!--\n <span matTextPrefix>{{textColumn.title | translate}}</span>\n -->\n <input\n matInput\n type=\"text\"\n name=\"i18n-{{ localized.locale }}-{{ textColumn.name }}\"\n [ngModel]=\"localized[textColumn.name]\"\n [ngModelOptions]=\"{ updateOn: 'blur' }\"\n (ngModelChange)=\"onColumnTextUpdated(localized, textColumn, $event)\"\n [required]=\"required && textColumn.required\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n />\n </mat-form-field>\n </div>\n </td>\n </ng-container>\n </elder-table>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: ElderTableComponent, selector: "elder-table", inputs: ["idField", "removingField", "hiddenField", "pageSizeOptions", "keepSelection", "showFooter", "toolbarTemplate", "data", "displayedColumns", "selectionVisible"] }, { kind: "directive", type: MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "directive", type: ElderTableToolbarDirective, selector: "[elderTableToolbar]" }, { kind: "component", type: ElderDataToolbarComponent, selector: "elder-data-toolbar", inputs: ["canAdd", "canRemove", "canMore", "confirmRemoval", "keepSelectionAfterRemoval", "selectionModel"], outputs: ["requestNew", "requestRemove"] }, { kind: "directive", type: ElderToolbarContentDirective, selector: "[elderToolbarContent]", inputs: ["elderToolbarContent"] }, { kind: "directive", type: ElderCardSubtitleDirective, selector: "elder-card-subtitle, [elder-card-subtitle], [elderCardSubtitle]" }, { kind: "directive", type: MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "component", type: MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "directive", type: MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: MatChipSet, selector: "mat-chip-set", inputs: ["disabled", "role", "tabIndex"] }, { kind: "component", type: MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: ElderFormFieldDenseDirective, selector: "mat-form-field[elderDense]", inputs: ["elderDense", "subscriptSizing", "floatLabel"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
30887
30887
  }
30888
30888
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderLocalizedInputTableComponent, decorators: [{
30889
30889
  type: Component,
@@ -30931,7 +30931,7 @@ class ElderLocalizedInputDialogComponent {
30931
30931
  this.data = data;
30932
30932
  }
30933
30933
  ngOnInit() { }
30934
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderLocalizedInputDialogComponent, deps: [{ token: i1$8.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
30934
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderLocalizedInputDialogComponent, deps: [{ token: i1$7.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
30935
30935
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ElderLocalizedInputDialogComponent, isStandalone: true, selector: "elder-localized-input-dialog", ngImport: i0, template: "<div class=\"layout-col full\">\n <mat-toolbar elderTheme color=\"primary\">\n <mat-toolbar-row class=\"gap-sm\">\n <mat-icon class=\"noselect\">translate</mat-icon>\n <h2 class=\"noselect\" translate>{{ data.title }}</h2>\n <span class=\"flex\"></span>\n <button\n *ngIf=\"data.explicitSave\"\n mat-icon-button\n type=\"submit\"\n [disabled]=\"data.readonly\"\n [mat-dialog-close]=\"data.localizables\"\n >\n <mat-icon>save</mat-icon>\n </button>\n </mat-toolbar-row>\n </mat-toolbar>\n\n <div class=\"layout-col flex p-sm\">\n <elder-localized-input-table\n [float]=\"true\"\n class=\"flex\"\n [textColumns]=\"data.textColumns\"\n [(value)]=\"data.localizables\"\n [readonly]=\"data.readonly\"\n [disabled]=\"data.disabled\"\n [required]=\"data.required\"\n >\n </elder-localized-input-table>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: ElderThemeDirective, selector: "[elderTheme]" }, { kind: "directive", type: MatToolbarRow, selector: "mat-toolbar-row", exportAs: ["matToolbarRow"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i1$2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "component", type: ElderLocalizedInputTableComponent, selector: "elder-localized-input-table", inputs: ["dense", "float", "embedded", "textColumns", "defaultLanguageTags"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
30936
30936
  }
30937
30937
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderLocalizedInputDialogComponent, decorators: [{
@@ -30947,7 +30947,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
30947
30947
  MatDialogClose,
30948
30948
  ElderLocalizedInputTableComponent,
30949
30949
  ], template: "<div class=\"layout-col full\">\n <mat-toolbar elderTheme color=\"primary\">\n <mat-toolbar-row class=\"gap-sm\">\n <mat-icon class=\"noselect\">translate</mat-icon>\n <h2 class=\"noselect\" translate>{{ data.title }}</h2>\n <span class=\"flex\"></span>\n <button\n *ngIf=\"data.explicitSave\"\n mat-icon-button\n type=\"submit\"\n [disabled]=\"data.readonly\"\n [mat-dialog-close]=\"data.localizables\"\n >\n <mat-icon>save</mat-icon>\n </button>\n </mat-toolbar-row>\n </mat-toolbar>\n\n <div class=\"layout-col flex p-sm\">\n <elder-localized-input-table\n [float]=\"true\"\n class=\"flex\"\n [textColumns]=\"data.textColumns\"\n [(value)]=\"data.localizables\"\n [readonly]=\"data.readonly\"\n [disabled]=\"data.disabled\"\n [required]=\"data.required\"\n >\n </elder-localized-input-table>\n </div>\n</div>\n" }]
30950
- }], ctorParameters: () => [{ type: i1$8.MatDialogRef }, { type: undefined, decorators: [{
30950
+ }], ctorParameters: () => [{ type: i1$7.MatDialogRef }, { type: undefined, decorators: [{
30951
30951
  type: Inject,
30952
30952
  args: [MAT_DIALOG_DATA]
30953
30953
  }] }] });
@@ -30968,7 +30968,7 @@ class ElderLocalizedInputDialogService {
30968
30968
  data: options,
30969
30969
  });
30970
30970
  }
30971
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderLocalizedInputDialogService, deps: [{ token: i1$8.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable }); }
30971
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderLocalizedInputDialogService, deps: [{ token: i1$7.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable }); }
30972
30972
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderLocalizedInputDialogService, providedIn: 'root' }); }
30973
30973
  }
30974
30974
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderLocalizedInputDialogService, decorators: [{
@@ -30976,7 +30976,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
30976
30976
  args: [{
30977
30977
  providedIn: 'root',
30978
30978
  }]
30979
- }], ctorParameters: () => [{ type: i1$8.MatDialog }] });
30979
+ }], ctorParameters: () => [{ type: i1$7.MatDialog }] });
30980
30980
 
30981
30981
  class LocalisationPickerService {
30982
30982
  /***************************************************************************
@@ -31152,7 +31152,7 @@ class ElderLocalizedInputComponent extends FormFieldBaseComponent {
31152
31152
  }
31153
31153
  }
31154
31154
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderLocalizedInputComponent, deps: [{ token: ElderLocalizedInputDialogService }, { token: LocalisationPickerService }], target: i0.ɵɵFactoryTarget.Component }); }
31155
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ElderLocalizedInputComponent, isStandalone: true, selector: "elder-localized-input", inputs: { textColumns: "textColumns", translatedValue: "translatedValue" }, outputs: { translatedValueChange: "translatedValueChange" }, host: { classAttribute: "elder-form-field-host" }, providers: buildFormIntegrationProviders(ElderLocalizedInputComponent), queries: [{ propertyName: "textColumnsQuery", predicate: ElderLocalizedTextColumnDirective }], usesInheritance: true, ngImport: i0, template: "<mat-form-field [appearance]=\"appearance\" [color]=\"color\">\n <mat-label *ngIf=\"label\">{{ label | translate }}</mat-label>\n\n <mat-icon matPrefix *ngIf=\"icon\" [color]=\"color\">\n {{ icon }}\n </mat-icon>\n\n <button\n matSuffix\n mat-icon-button\n (click)=\"openTranslationPopup($event)\"\n aria-label=\"Search\"\n elderStopEventPropagation\n tabIndex=\"-1\"\n >\n <mat-icon>translate</mat-icon>\n </button>\n\n <!-- A dynamic input -->\n <input\n matInput\n type=\"text\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n readonly\n [name]=\"name + '-localized'\"\n [ngModel]=\"inputText$ | async\"\n [ngModelOptions]=\"{ standalone: true }\"\n />\n\n <mat-hint>{{ hintText$ | async }}</mat-hint>\n</mat-form-field>\n", styles: [".prefix-padding{padding-right:4px}.leading-icon{font-size:16px;width:16px;height:16px}\n"], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: ElderStopEventPropagationDirective, selector: "[elderStopEventPropagation]" }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
31155
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ElderLocalizedInputComponent, isStandalone: true, selector: "elder-localized-input", inputs: { textColumns: "textColumns", translatedValue: "translatedValue" }, outputs: { translatedValueChange: "translatedValueChange" }, host: { classAttribute: "elder-form-field-host" }, providers: buildFormIntegrationProviders(ElderLocalizedInputComponent), queries: [{ propertyName: "textColumnsQuery", predicate: ElderLocalizedTextColumnDirective }], usesInheritance: true, ngImport: i0, template: "<mat-form-field [appearance]=\"appearance\" [color]=\"color\">\n <mat-label *ngIf=\"label\">{{ label | translate }}</mat-label>\n\n <mat-icon matPrefix *ngIf=\"icon\" [color]=\"color\">\n {{ icon }}\n </mat-icon>\n\n <button\n matSuffix\n mat-icon-button\n (click)=\"openTranslationPopup($event)\"\n aria-label=\"Search\"\n elderStopEventPropagation\n tabIndex=\"-1\"\n >\n <mat-icon>translate</mat-icon>\n </button>\n\n <!-- A dynamic input -->\n <input\n matInput\n type=\"text\"\n [disabled]=\"disabled\"\n [required]=\"required\"\n readonly\n [name]=\"name + '-localized'\"\n [ngModel]=\"inputText$ | async\"\n [ngModelOptions]=\"{ standalone: true }\"\n />\n\n <mat-hint>{{ hintText$ | async }}</mat-hint>\n</mat-form-field>\n", styles: [".prefix-padding{padding-right:4px}.leading-icon{font-size:16px;width:16px;height:16px}\n"], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: ElderStopEventPropagationDirective, selector: "[elderStopEventPropagation]" }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
31156
31156
  }
31157
31157
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderLocalizedInputComponent, decorators: [{
31158
31158
  type: Component,
@@ -31228,7 +31228,7 @@ class ElderInitialValueDirective {
31228
31228
  }
31229
31229
  this.initialValue$.next(value);
31230
31230
  }
31231
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderInitialValueDirective, deps: [{ token: i1$5.NgModel, host: true }], target: i0.ɵɵFactoryTarget.Directive }); }
31231
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderInitialValueDirective, deps: [{ token: i1$4.NgModel, host: true }], target: i0.ɵɵFactoryTarget.Directive }); }
31232
31232
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.3", type: ElderInitialValueDirective, isStandalone: true, selector: "[elderInitialValue]", exportAs: ["elderInitialValue"], ngImport: i0 }); }
31233
31233
  }
31234
31234
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderInitialValueDirective, decorators: [{
@@ -31238,7 +31238,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
31238
31238
  exportAs: 'elderInitialValue',
31239
31239
  standalone: true,
31240
31240
  }]
31241
- }], ctorParameters: () => [{ type: i1$5.NgModel, decorators: [{
31241
+ }], ctorParameters: () => [{ type: i1$4.NgModel, decorators: [{
31242
31242
  type: Host
31243
31243
  }] }] });
31244
31244
 
@@ -31502,7 +31502,7 @@ class ElderSearchInputDirective {
31502
31502
  });
31503
31503
  return CollectionUtil.flatten(arrays);
31504
31504
  }
31505
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderSearchInputDirective, deps: [{ token: ElderSearchContextDirective }, { token: i1$5.NgModel, host: true }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive }); }
31505
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderSearchInputDirective, deps: [{ token: ElderSearchContextDirective }, { token: i1$4.NgModel, host: true }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive }); }
31506
31506
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.3", type: ElderSearchInputDirective, isStandalone: true, selector: "[elderSearchInput]", inputs: { valueTransform: ["elderSearchInputTransform", "valueTransform"], resolvePath: ["elderSearchInput", "resolvePath"], fallbackValue: ["elderSearchInputFallback", "fallbackValue"], valueAsId: "valueAsId", queryKey: ["elderSearchInputKey", "queryKey"] }, exportAs: ["elderSearchInput"], ngImport: i0 }); }
31507
31507
  }
31508
31508
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderSearchInputDirective, decorators: [{
@@ -31512,7 +31512,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
31512
31512
  exportAs: 'elderSearchInput',
31513
31513
  standalone: true,
31514
31514
  }]
31515
- }], ctorParameters: () => [{ type: ElderSearchContextDirective }, { type: i1$5.NgModel, decorators: [{
31515
+ }], ctorParameters: () => [{ type: ElderSearchContextDirective }, { type: i1$4.NgModel, decorators: [{
31516
31516
  type: Host
31517
31517
  }] }, { type: i0.DestroyRef }], propDecorators: { valueTransform: [{
31518
31518
  type: Input,
@@ -31613,7 +31613,7 @@ class ElderSearchBoxComponent {
31613
31613
  this.searchContextDirective.reset();
31614
31614
  }
31615
31615
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderSearchBoxComponent, deps: [{ token: ElderSearchContextDirective }], target: i0.ɵɵFactoryTarget.Component }); }
31616
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: ElderSearchBoxComponent, isStandalone: true, selector: "elder-search-box", inputs: { autoPanel: "autoPanel", name: "name", queryKey: "queryKey", placeholder: "placeholder", label: "label", hint: "hint", autocomplete: "autocomplete", appearance: "appearance", dense: "dense" }, host: { classAttribute: "elder-form-field-host" }, queries: [{ propertyName: "customSearchPanel", first: true, predicate: ElderSearchPanelComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "search", first: true, predicate: ["search"], descendants: true, isSignal: true }, { propertyName: "overlayComponent", first: true, predicate: ElderOverlayComponent, descendants: true, isSignal: true }], exportAs: ["elderSearchBox"], ngImport: i0, template: "<div class=\"layout-row place-stretch-center full flex\">\n <mat-form-field\n [appearance]=\"appearance\"\n class=\"elder-search-box-field flex-auto my-xs\"\n [class]=\"'elder-round-form-field'\"\n subscriptSizing=\"dynamic\"\n [elderDense]=\"dense\"\n >\n <button\n matPrefix\n mat-icon-button\n type=\"button\"\n [elderOverlayTrigger]=\"searchPanel\"\n (click)=\"blurFocus($event)\"\n >\n <mat-icon>search</mat-icon>\n </button>\n\n <input\n matInput\n type=\"text\"\n [name]=\"name\"\n [placeholder]=\"placeholder\"\n #search\n cdkFocusInitial\n ngModel\n elderSearchInput\n [elderSearchInputKey]=\"queryKey\"\n #searchInput=\"elderSearchInput\"\n [autocomplete]=\"autoPanel && customSearchPanel() ? 'off' : autocomplete\"\n [elderOverlayOrigin]=\"searchPanel\"\n [elderOverlayTrigger]=\"searchPanel\"\n [elderOverlayTriggerType]=\"'focus'\"\n [elderOverlayTriggerEnabled]=\"\n autoPanel && customSearchPanel() && (searchInput?.state$ | async)?.pristine\n \"\n />\n\n @if (hint) {\n <mat-hint>{{ hint }}</mat-hint>\n }\n\n <div class=\"layout-row\" matSuffix>\n @if (touchedSearchInputs$ | async; as touchedInputs) {\n @if (touchedInputs.length > 0) {\n <button\n mat-icon-button\n type=\"button\"\n (click)=\"clearSearch($event)\"\n name=\"clear\"\n aria-label=\"Clear\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n\n @if (customSearchPanel()) {\n <button\n mat-icon-button\n type=\"button\"\n name=\"openPanel\"\n [elderOverlayTrigger]=\"searchPanel\"\n (click)=\"blurFocus($event)\"\n >\n <mat-icon\n [matBadge]=\"touchedInputs.length\"\n matBadgeSize=\"small\"\n [matBadgeOverlap]=\"true\"\n [matBadgeHidden]=\"touchedInputs.length === 0\"\n matBadgeColor=\"accent\"\n [color]=\"touchedInputs.length > 0 ? 'accent' : undefined\"\n >\n filter_list\n </mat-icon>\n </button>\n }\n }\n </div>\n </mat-form-field>\n</div>\n\n<!-- Overlay Panel for advanced search -->\n<elder-overlay #searchPanel=\"elderOverlay\">\n <elder-dialog-panel class=\"elder-search-panel-container\">\n <!-- Project the users custom search panel here -->\n <ng-content select=\"elder-search-panel\"></ng-content>\n\n <div class=\"layout-row place-between-center\">\n <button mat-flat-button type=\"button\" name=\"clear\" (click)=\"clearSearch($event)\">\n {{ 'context.reset' | translate }}\n </button>\n\n <button\n mat-flat-button\n type=\"button\"\n name=\"ok\"\n color=\"primary\"\n (click)=\"searchPanel.closeOverlay()\"\n >\n Ok\n </button>\n </div>\n </elder-dialog-panel>\n</elder-overlay>\n", styles: [".elder-search-panel-container{min-width:250px}\n"], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: ElderFormFieldDenseDirective, selector: "mat-form-field[elderDense]", inputs: ["elderDense", "subscriptSizing", "floatLabel"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: ElderOverlayTriggerDirective, selector: "[elderOverlayTrigger]", inputs: ["elderOverlayTrigger", "elderOverlayTriggerType", "elderOverlayTriggerEnabled"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ElderSearchInputDirective, selector: "[elderSearchInput]", inputs: ["elderSearchInputTransform", "elderSearchInput", "elderSearchInputFallback", "valueAsId", "elderSearchInputKey"], exportAs: ["elderSearchInput"] }, { kind: "directive", type: ElderOverlayOriginDirective, selector: "[elderOverlayOrigin]", inputs: ["elderOverlayOrigin"] }, { kind: "directive", type: MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: ElderOverlayComponent, selector: "elder-overlay", inputs: ["originX", "originY", "overlayX", "overlayY", "offsetY", "offsetX", "backdrop", "backdropVisible", "origin", "positionStrategy", "overlaySize"], outputs: ["keydownEvents", "attachedChange"], exportAs: ["elderOverlay"] }, { kind: "component", type: ElderDialogPanelComponent, selector: "elder-dialog-panel" }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
31616
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: ElderSearchBoxComponent, isStandalone: true, selector: "elder-search-box", inputs: { autoPanel: "autoPanel", name: "name", queryKey: "queryKey", placeholder: "placeholder", label: "label", hint: "hint", autocomplete: "autocomplete", appearance: "appearance", dense: "dense" }, host: { classAttribute: "elder-form-field-host" }, queries: [{ propertyName: "customSearchPanel", first: true, predicate: ElderSearchPanelComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "search", first: true, predicate: ["search"], descendants: true, isSignal: true }, { propertyName: "overlayComponent", first: true, predicate: ElderOverlayComponent, descendants: true, isSignal: true }], exportAs: ["elderSearchBox"], ngImport: i0, template: "<div class=\"layout-row place-stretch-center full flex\">\n <mat-form-field\n [appearance]=\"appearance\"\n class=\"elder-search-box-field flex-auto my-xs\"\n [class]=\"'elder-round-form-field'\"\n subscriptSizing=\"dynamic\"\n [elderDense]=\"dense\"\n >\n <button\n matPrefix\n mat-icon-button\n type=\"button\"\n [elderOverlayTrigger]=\"searchPanel\"\n (click)=\"blurFocus($event)\"\n >\n <mat-icon>search</mat-icon>\n </button>\n\n <input\n matInput\n type=\"text\"\n [name]=\"name\"\n [placeholder]=\"placeholder\"\n #search\n cdkFocusInitial\n ngModel\n elderSearchInput\n [elderSearchInputKey]=\"queryKey\"\n #searchInput=\"elderSearchInput\"\n [autocomplete]=\"autoPanel && customSearchPanel() ? 'off' : autocomplete\"\n [elderOverlayOrigin]=\"searchPanel\"\n [elderOverlayTrigger]=\"searchPanel\"\n [elderOverlayTriggerType]=\"'focus'\"\n [elderOverlayTriggerEnabled]=\"\n autoPanel && customSearchPanel() && (searchInput?.state$ | async)?.pristine\n \"\n />\n\n @if (hint) {\n <mat-hint>{{ hint }}</mat-hint>\n }\n\n <div class=\"layout-row\" matSuffix>\n @if (touchedSearchInputs$ | async; as touchedInputs) {\n @if (touchedInputs.length > 0) {\n <button\n mat-icon-button\n type=\"button\"\n (click)=\"clearSearch($event)\"\n name=\"clear\"\n aria-label=\"Clear\"\n >\n <mat-icon>close</mat-icon>\n </button>\n }\n\n @if (customSearchPanel()) {\n <button\n mat-icon-button\n type=\"button\"\n name=\"openPanel\"\n [elderOverlayTrigger]=\"searchPanel\"\n (click)=\"blurFocus($event)\"\n >\n <mat-icon\n [matBadge]=\"touchedInputs.length\"\n matBadgeSize=\"small\"\n [matBadgeOverlap]=\"true\"\n [matBadgeHidden]=\"touchedInputs.length === 0\"\n matBadgeColor=\"accent\"\n [color]=\"touchedInputs.length > 0 ? 'accent' : undefined\"\n >\n filter_list\n </mat-icon>\n </button>\n }\n }\n </div>\n </mat-form-field>\n</div>\n\n<!-- Overlay Panel for advanced search -->\n<elder-overlay #searchPanel=\"elderOverlay\">\n <elder-dialog-panel class=\"elder-search-panel-container\">\n <!-- Project the users custom search panel here -->\n <ng-content select=\"elder-search-panel\"></ng-content>\n\n <div class=\"layout-row place-between-center\">\n <button mat-flat-button type=\"button\" name=\"clear\" (click)=\"clearSearch($event)\">\n {{ 'context.reset' | translate }}\n </button>\n\n <button\n mat-flat-button\n type=\"button\"\n name=\"ok\"\n color=\"primary\"\n (click)=\"searchPanel.closeOverlay()\"\n >\n Ok\n </button>\n </div>\n </elder-dialog-panel>\n</elder-overlay>\n", styles: [".elder-search-panel-container{min-width:250px}\n"], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: ElderFormFieldDenseDirective, selector: "mat-form-field[elderDense]", inputs: ["elderDense", "subscriptSizing", "floatLabel"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: ElderOverlayTriggerDirective, selector: "[elderOverlayTrigger]", inputs: ["elderOverlayTrigger", "elderOverlayTriggerType", "elderOverlayTriggerEnabled"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: ElderSearchInputDirective, selector: "[elderSearchInput]", inputs: ["elderSearchInputTransform", "elderSearchInput", "elderSearchInputFallback", "valueAsId", "elderSearchInputKey"], exportAs: ["elderSearchInput"] }, { kind: "directive", type: ElderOverlayOriginDirective, selector: "[elderOverlayOrigin]", inputs: ["elderOverlayOrigin"] }, { kind: "directive", type: MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: ElderOverlayComponent, selector: "elder-overlay", inputs: ["originX", "originY", "overlayX", "overlayY", "offsetY", "offsetX", "backdrop", "backdropVisible", "origin", "positionStrategy", "overlaySize"], outputs: ["keydownEvents", "attachedChange"], exportAs: ["elderOverlay"] }, { kind: "component", type: ElderDialogPanelComponent, selector: "elder-dialog-panel" }, { kind: "component", type: MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
31617
31617
  }
31618
31618
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderSearchBoxComponent, decorators: [{
31619
31619
  type: Component,
@@ -34518,13 +34518,13 @@ class IframeDialogComponent {
34518
34518
  close(data) {
34519
34519
  this.dialogRef.close(data);
34520
34520
  }
34521
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: IframeDialogComponent, deps: [{ token: i1$8.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
34521
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: IframeDialogComponent, deps: [{ token: i1$7.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
34522
34522
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: IframeDialogComponent, isStandalone: true, selector: "elder-i-frame-dialog", ngImport: i0, template: "<div *ngIf=\"iframeParams$ | async as iFrameParams\" class=\"full\">\n <elder-i-frame-host class=\"full\" [iframeParams]=\"iFrameParams\" (close)=\"close($event)\">\n </elder-i-frame-host>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IframeHostComponent, selector: "elder-i-frame-host", inputs: ["iframeParams"], outputs: ["message", "close"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
34523
34523
  }
34524
34524
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: IframeDialogComponent, decorators: [{
34525
34525
  type: Component,
34526
34526
  args: [{ selector: 'elder-i-frame-dialog', changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgIf, IframeHostComponent, AsyncPipe], template: "<div *ngIf=\"iframeParams$ | async as iFrameParams\" class=\"full\">\n <elder-i-frame-host class=\"full\" [iframeParams]=\"iFrameParams\" (close)=\"close($event)\">\n </elder-i-frame-host>\n</div>\n" }]
34527
- }], ctorParameters: () => [{ type: i1$8.MatDialogRef }, { type: undefined, decorators: [{
34527
+ }], ctorParameters: () => [{ type: i1$7.MatDialogRef }, { type: undefined, decorators: [{
34528
34528
  type: Inject,
34529
34529
  args: [MAT_DIALOG_DATA]
34530
34530
  }] }] });
@@ -34638,7 +34638,7 @@ class IframeService {
34638
34638
  postDataMessage(message) {
34639
34639
  IframeService.postToParent(message);
34640
34640
  }
34641
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: IframeService, deps: [{ token: i1$8.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable }); }
34641
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: IframeService, deps: [{ token: i1$7.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable }); }
34642
34642
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: IframeService, providedIn: 'root' }); }
34643
34643
  }
34644
34644
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: IframeService, decorators: [{
@@ -34646,7 +34646,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
34646
34646
  args: [{
34647
34647
  providedIn: 'root',
34648
34648
  }]
34649
- }], ctorParameters: () => [{ type: i1$8.MatDialog }] });
34649
+ }], ctorParameters: () => [{ type: i1$7.MatDialog }] });
34650
34650
 
34651
34651
  class IframeCloseDirective {
34652
34652
  /***************************************************************************
@@ -35196,7 +35196,7 @@ class ElderTabDirective {
35196
35196
  constructor(tab) {
35197
35197
  this.tab = tab;
35198
35198
  }
35199
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderTabDirective, deps: [{ token: i1$h.MatTab }], target: i0.ɵɵFactoryTarget.Directive }); }
35199
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderTabDirective, deps: [{ token: i1$g.MatTab }], target: i0.ɵɵFactoryTarget.Directive }); }
35200
35200
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.3", type: ElderTabDirective, isStandalone: true, selector: "[elderTab]", inputs: { id: ["elderTab", "id"] }, ngImport: i0 }); }
35201
35201
  }
35202
35202
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderTabDirective, decorators: [{
@@ -35205,7 +35205,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
35205
35205
  selector: '[elderTab]',
35206
35206
  standalone: true,
35207
35207
  }]
35208
- }], ctorParameters: () => [{ type: i1$h.MatTab }], propDecorators: { id: [{
35208
+ }], ctorParameters: () => [{ type: i1$g.MatTab }], propDecorators: { id: [{
35209
35209
  type: Input,
35210
35210
  args: ['elderTab']
35211
35211
  }] } });
@@ -35436,7 +35436,7 @@ class ElderTabGroupRoutingDirective {
35436
35436
  serializeIndexMarker(index) {
35437
35437
  return ElderTabGroupRoutingDirective.TAB_INDEX_PREFIX + String(index);
35438
35438
  }
35439
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderTabGroupRoutingDirective, deps: [{ token: ElderUrlFragmentParamsService }, { token: i1$h.MatTabGroup }], target: i0.ɵɵFactoryTarget.Directive }); }
35439
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderTabGroupRoutingDirective, deps: [{ token: ElderUrlFragmentParamsService }, { token: i1$g.MatTabGroup }], target: i0.ɵɵFactoryTarget.Directive }); }
35440
35440
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.3", type: ElderTabGroupRoutingDirective, isStandalone: true, selector: "[elderTabGroupRouting]", inputs: { tabGroupQueryParamKey: ["elderTabGroupRouting", "tabGroupQueryParamKey"] }, queries: [{ propertyName: "tabs", predicate: MatTab }, { propertyName: "elderTabs", predicate: ElderTabDirective }], exportAs: ["elderTabGroupRouting"], ngImport: i0 }); }
35441
35441
  }
35442
35442
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderTabGroupRoutingDirective, decorators: [{
@@ -35446,7 +35446,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
35446
35446
  exportAs: 'elderTabGroupRouting',
35447
35447
  standalone: true,
35448
35448
  }]
35449
- }], ctorParameters: () => [{ type: ElderUrlFragmentParamsService }, { type: i1$h.MatTabGroup }], propDecorators: { tabGroupQueryParamKey: [{
35449
+ }], ctorParameters: () => [{ type: ElderUrlFragmentParamsService }, { type: i1$g.MatTabGroup }], propDecorators: { tabGroupQueryParamKey: [{
35450
35450
  type: Input,
35451
35451
  args: ['elderTabGroupRouting']
35452
35452
  }], tabs: [{
@@ -35669,468 +35669,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
35669
35669
  }]
35670
35670
  }] });
35671
35671
 
35672
- class ElderStyleDebuggerComponent {
35673
- constructor(renderer) {
35674
- this.renderer = renderer;
35675
- this.isHidden = signal(true);
35676
- this.isMinimized = signal(true);
35677
- // Define a list of styles with a name and the actual CSS
35678
- this.originalStyleList = createOriginalStyleList();
35679
- this.styleList = this.originalStyleList.map((style) => ({ ...style, isActive: false }));
35680
- this.activeStyles = {};
35681
- this.stylesJson = JSON.stringify(this.styleList, null, 2);
35682
- }
35683
- // removeWhitespaceFromAllStylesStr(str): void {
35684
- // let tmp = []
35685
- // this.styleList.forEach((style) => {
35686
- // style.css = style.css
35687
- // .replace(/(\r\n|\n|\r)/gm, ' ')
35688
- // .replace(/ +/g, ' ')
35689
- // .trim()
35690
- // })
35691
- // this.styleList = this.styleList
35692
- // }
35693
- ngOnInit() {
35694
- this.loadStylesJsonFromLocalStorage();
35695
- }
35696
- toggleStyle(index) {
35697
- if (this.activeStyles[index]) {
35698
- this.renderer.removeChild(document.head, this.activeStyles[index]);
35699
- delete this.activeStyles[index];
35700
- }
35701
- else {
35702
- const styleElement = this.renderer.createElement('style');
35703
- styleElement.textContent = this.styleList[index].css;
35704
- this.renderer.appendChild(document.head, styleElement);
35705
- this.activeStyles[index] = styleElement;
35706
- }
35707
- this.updateStylesJson();
35708
- }
35709
- activateStyle(index) {
35710
- if (!this.activeStyles[index]) {
35711
- this.toggleStyle(index);
35712
- }
35713
- }
35714
- toggleAllStyles() {
35715
- if (Object.keys(this.activeStyles).length === this.styleList.length) {
35716
- this.clearStyles();
35717
- }
35718
- else {
35719
- this.styleList.forEach((_, i) => this.toggleStyle(i));
35720
- }
35721
- }
35722
- activateAllStyles() {
35723
- this.styleList.forEach((_, i) => this.activateStyle(i));
35724
- }
35725
- updateStyle(index, $event) {
35726
- const newCss = $event.target.value;
35727
- this.styleList[index].css = newCss;
35728
- if (this.activeStyles[index]) {
35729
- this.activeStyles[index].textContent = newCss;
35730
- }
35731
- this.updateStylesJson();
35732
- }
35733
- clearStyles() {
35734
- Object.values(this.activeStyles).forEach((styleElement) => this.renderer.removeChild(document.head, styleElement));
35735
- this.activeStyles = {};
35736
- this.resetStylesJson();
35737
- }
35738
- toggleHidden() {
35739
- this.isHidden.set(!this.isHidden());
35740
- }
35741
- toggleMinimize() {
35742
- this.isMinimized.set(!this.isMinimized());
35743
- }
35744
- updateStylesJson() {
35745
- const newStylesList = JSON.parse(JSON.stringify(this.styleList));
35746
- // add a property isActive to the newStylesList, depending on whether the style is active or not
35747
- newStylesList.forEach((style, i) => {
35748
- style.isActive = !!this.activeStyles[i];
35749
- });
35750
- this.stylesJson = JSON.stringify(newStylesList, null, 2);
35751
- //this.updateStylesJson()
35752
- this.saveStylesJsonToLocalStorage();
35753
- }
35754
- resetToOriginalStyles() {
35755
- this.clearStyles();
35756
- this.styleList = this.originalStyleList.map((style) => ({ ...style, isActive: false }));
35757
- this.updateStylesJson();
35758
- this.saveStylesJsonToLocalStorage();
35759
- }
35760
- resetStylesJson() {
35761
- this.exportStylesFromJsonInputField();
35762
- }
35763
- importStylesFromJsonInputField() {
35764
- this.updateStylesFromJson(this.stylesJson);
35765
- this.saveStylesJsonToLocalStorage();
35766
- }
35767
- updateStylesFromJson(json) {
35768
- try {
35769
- this.clearStyles();
35770
- const parsed = JSON.parse(json);
35771
- parsed.forEach((style, i) => {
35772
- this.styleList[i] = style;
35773
- });
35774
- for (let i = 0; i < parsed.length; i++) {
35775
- if (parsed[i].isActive) {
35776
- this.activateStyle(i);
35777
- }
35778
- }
35779
- //this.activateAllStyles()
35780
- }
35781
- catch (e) {
35782
- console.error('Invalid JSON');
35783
- }
35784
- }
35785
- exportStylesFromJsonInputField() {
35786
- this.updateStylesJson();
35787
- this.saveStylesJsonToLocalStorage();
35788
- }
35789
- saveStylesJsonToLocalStorage() {
35790
- localStorage.setItem('elder-style-debugger', this.stylesJson);
35791
- }
35792
- loadStylesJsonFromLocalStorage() {
35793
- const jsonData = localStorage.getItem('elder-style-debugger');
35794
- if (jsonData) {
35795
- this.updateStylesFromJson(jsonData);
35796
- }
35797
- }
35798
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderStyleDebuggerComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
35799
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: ElderStyleDebuggerComponent, isStandalone: true, selector: "elder-style-debugger", ngImport: i0, template: `
35800
- <div id="elder-style-debugger" [class]="isMinimized() ? 'is-minimized' : ''">
35801
- <button (click)="toggleHidden()" [class]="isHidden() ? '' : 'hidden'">TOGGLE DEBUG</button>
35802
- <span [class.hidden]="isHidden()">
35803
- <div class="scrollable style-items-list">
35804
- <ng-container *ngFor="let style of styleList; let i = index">
35805
- <div>
35806
- <button (click)="toggleStyle(i)">{{ style.name }}</button>
35807
- <input
35808
- class="style-items-list-input"
35809
- style="width: 70%;"
35810
- *ngIf="activeStyles[i]"
35811
- type="text"
35812
- (input)="updateStyle(i, $event)"
35813
- [value]="style.css"
35814
- />
35815
- </div>
35816
- </ng-container>
35817
- </div>
35818
- <br />
35819
- <button (click)="clearStyles()">Clear Styles</button>
35820
- <button (click)="resetToOriginalStyles()">Reset to Original Styles</button>
35821
- <button (click)="toggleAllStyles()">Toggle All Styles</button>
35822
- <button (click)="activateAllStyles()">Activate All Styles</button>
35823
- <button (click)="importStylesFromJsonInputField()">Import Styles</button>
35824
- <button (click)="exportStylesFromJsonInputField()">Export Styles</button>
35825
- <button (click)="toggleMinimize()"><strong>toggle minimize</strong></button>
35826
- <button (click)="toggleHidden()"><strong>TOGGLE DEBUG</strong></button>
35827
- <br /><br />
35828
- <textarea style="min-width: 90vw; height: 100px;" [(ngModel)]="stylesJson"></textarea>
35829
- </span>
35830
- </div>
35831
- `, isInline: true, styles: ["#elder-style-debugger{display:block;padding:.25em;background-color:#aaa;position:fixed;bottom:30px;left:20px;box-shadow:0 0 3px #00000080;z-index:1000;opacity:.88}#elder-style-debugger .hidden{display:none}#elder-style-debugger :is(button,input,textarea){font-size:10px!important}#elder-style-debugger .style-items-list{height:340px}#elder-style-debugger.is-minimized .style-items-list{display:flex;flex-flow:row wrap;justify-content:flex-start;align-items:flex-start;height:auto}#elder-style-debugger.is-minimized .style-items-list-input{display:none}#elder-style-debugger.is-minimized textarea{display:none!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
35832
- }
35833
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: ElderStyleDebuggerComponent, decorators: [{
35834
- type: Component,
35835
- args: [{ selector: 'elder-style-debugger', standalone: true, imports: [CommonModule, FormsModule], encapsulation: ViewEncapsulation.None, template: `
35836
- <div id="elder-style-debugger" [class]="isMinimized() ? 'is-minimized' : ''">
35837
- <button (click)="toggleHidden()" [class]="isHidden() ? '' : 'hidden'">TOGGLE DEBUG</button>
35838
- <span [class.hidden]="isHidden()">
35839
- <div class="scrollable style-items-list">
35840
- <ng-container *ngFor="let style of styleList; let i = index">
35841
- <div>
35842
- <button (click)="toggleStyle(i)">{{ style.name }}</button>
35843
- <input
35844
- class="style-items-list-input"
35845
- style="width: 70%;"
35846
- *ngIf="activeStyles[i]"
35847
- type="text"
35848
- (input)="updateStyle(i, $event)"
35849
- [value]="style.css"
35850
- />
35851
- </div>
35852
- </ng-container>
35853
- </div>
35854
- <br />
35855
- <button (click)="clearStyles()">Clear Styles</button>
35856
- <button (click)="resetToOriginalStyles()">Reset to Original Styles</button>
35857
- <button (click)="toggleAllStyles()">Toggle All Styles</button>
35858
- <button (click)="activateAllStyles()">Activate All Styles</button>
35859
- <button (click)="importStylesFromJsonInputField()">Import Styles</button>
35860
- <button (click)="exportStylesFromJsonInputField()">Export Styles</button>
35861
- <button (click)="toggleMinimize()"><strong>toggle minimize</strong></button>
35862
- <button (click)="toggleHidden()"><strong>TOGGLE DEBUG</strong></button>
35863
- <br /><br />
35864
- <textarea style="min-width: 90vw; height: 100px;" [(ngModel)]="stylesJson"></textarea>
35865
- </span>
35866
- </div>
35867
- `, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["#elder-style-debugger{display:block;padding:.25em;background-color:#aaa;position:fixed;bottom:30px;left:20px;box-shadow:0 0 3px #00000080;z-index:1000;opacity:.88}#elder-style-debugger .hidden{display:none}#elder-style-debugger :is(button,input,textarea){font-size:10px!important}#elder-style-debugger .style-items-list{height:340px}#elder-style-debugger.is-minimized .style-items-list{display:flex;flex-flow:row wrap;justify-content:flex-start;align-items:flex-start;height:auto}#elder-style-debugger.is-minimized .style-items-list-input{display:none}#elder-style-debugger.is-minimized textarea{display:none!important}\n"] }]
35868
- }], ctorParameters: () => [{ type: i0.Renderer2 }] });
35869
- function createOriginalStyleList() {
35870
- return [
35871
- {
35872
- name: 'm3 style nav',
35873
- css: `
35874
- .elder-light-theme,
35875
- .elder-dark-theme {
35876
- elder-m3-sidenav {
35877
- display: block !important;
35878
- }
35879
- .m3-sidenav,
35880
- .elder-main-toolbar,
35881
- .elder-main-toolbar * {
35882
- background-color: var(--md-sys-color-surface-container-highest) !important;
35883
- color: var(--md-sys-color-on-surface) !important;
35884
- }
35885
- }
35886
- `,
35887
- },
35888
- // {
35889
- // name: 'Tab-header BG color',
35890
- // css: `
35891
- // .mat-mdc-tab-header {
35892
- // background-color: var(--md-sys-color-surface-container-low); // try moving styles debug
35893
- // }
35894
- // `,
35895
- // },
35896
- {
35897
- name: 'No box-shadow on legacy cards',
35898
- css: `
35899
- .elder-light-theme,
35900
- .elder-dark-theme {
35901
- .legacy-layout-card {
35902
- box-shadow: none !important;
35903
- }
35904
- }
35905
- `,
35906
- },
35907
- {
35908
- name: 'Round Legacy cards',
35909
- css: `
35910
- .elder-light-theme,
35911
- .elder-dark-theme {
35912
- .legacy-layout-card {
35913
- border-radius: var(--mdc-outlined-card-container-shape, var(--mat-app-corner-medium));
35914
- }
35915
- }`,
35916
- },
35917
- // {
35918
- // name: 'Table header BG color',
35919
- // css: `
35920
- // .elder-light-theme,
35921
- // .elder-dark-theme {
35922
- // .elder-table elder-data-toolbar {
35923
- // background-color: var(--md-sys-color-surface-container);
35924
- // }
35925
- // elder-search-box .elder-search-box-field {
35926
- // background-color: var(--md-sys-color-surface-container-lowest);
35927
- // &.mat-focused {
35928
- // background-color: var(--md-sys-color-surface-container-lowest);
35929
- // }
35930
- // }
35931
- // }`,
35932
- // },
35933
- // {
35934
- // name: 'Table header Round searchbar',
35935
- // css: `
35936
- // .elder-light-theme,
35937
- // .elder-dark-theme {
35938
- // elder-search-box .elder-search-box-field {
35939
- // border: none !important;
35940
- // margin-top: 12px !important;
35941
- // margin-bottom: 12px !important;
35942
- // border-radius: 24px !important;
35943
- // background-color: var(--md-sys-color-surface-container-low);
35944
- // }
35945
- // elder-search-box {
35946
- // .mdc-notched-outline .mat-mdc-notch-piece {
35947
- // border: none !important;
35948
- // }
35949
- // }
35950
- // }`,
35951
- // },
35952
- {
35953
- name: 'm3 style full BG light blue',
35954
- css: `
35955
- .elder-light-theme {
35956
- --mat-app-background-color: #eef6ff !important;
35957
- .m3-sidenav,
35958
- .elder-main-toolbar,
35959
- .elder-main-toolbar * {
35960
- color: var(--md-sys-color-on-surface) !important;
35961
- }
35962
- .m3-sidenav,
35963
- .elder-main-toolbar,
35964
- .mat-app-background,
35965
- .elder-main-toolbar * {
35966
- background-color: var(--mat-app-background-color) !important;
35967
- }
35968
- }
35969
- `,
35970
- },
35971
- {
35972
- name: 'Color Primary Dark Blue',
35973
- css: `
35974
- .elder-light-theme {
35975
- --md-sys-color-primary: rgb(11, 40, 79);
35976
- }
35977
- `,
35978
- },
35979
- {
35980
- name: 'Color Tertiary Elder Gold',
35981
- css: `
35982
- .elder-light-theme {
35983
- --md-sys-color-tertiary: rgb(182, 159, 106);
35984
- }
35985
- `,
35986
- },
35987
- // {
35988
- // name: 'Background Color Bright White',
35989
- // css: `
35990
- // .elder-light-theme {
35991
- // --md-sys-color-background: #fafafa;
35992
- // --mat-app-background-color: var(--md-sys-color-background) !important;
35993
- // --md-sys-color-surface: var(--md-sys-color-background) !important;
35994
- // }
35995
- // `,
35996
- // },
35997
- {
35998
- name: 'Header left gold square',
35999
- css: `
36000
- .elder-light-theme {
36001
- --elder-toolbar-main-nav-button-color: var(--md-sys-color-on-surface) !important;
36002
- --elder-toolbar-main-nav-button-container-bg-color: var(--md-sys-color-tertiary) !important;
36003
- }
36004
- `,
36005
- },
36006
- // additional sys color config
36007
- // {
36008
- // name: '--md-sys-color-error',
36009
- // css: `
36010
- // .elder-light-theme {
36011
- // --md-sys-color-error: rgb(186, 26, 26)
36012
- // },`,
36013
- // },
36014
- // {
36015
- // name: '--md-sys-color-error-container',
36016
- // css: `
36017
- // .elder-light-theme {
36018
- // --md-sys-color-error-container: rgb(255, 218, 214)
36019
- // },`,
36020
- // },
36021
- // {
36022
- // name: '--md-sys-color-primary-container',
36023
- // css: `
36024
- // .elder-light-theme {
36025
- // --md-sys-color-primary-container: rgb(213, 227, 255);
36026
- // }
36027
- // `,
36028
- // },
36029
- // {
36030
- // name: '--md-sys-color-primary-fixed',
36031
- // css: `
36032
- // .elder-light-theme {
36033
- // --md-sys-color-primary-fixed: rgb(213, 227, 255);
36034
- // }
36035
- // `,
36036
- // },
36037
- // {
36038
- // name: '--md-sys-color-primary-fixed-dim',
36039
- // css: `
36040
- // .elder-light-theme {
36041
- // --md-sys-color-primary-fixed-dim: rgb(170, 200, 251);
36042
- // }
36043
- // `,
36044
- // },
36045
- // {
36046
- // name: '--md-sys-color-secondary',
36047
- // css: `
36048
- // .elder-light-theme {
36049
- // --md-sys-color-secondary: rgb(84, 95, 114);
36050
- // }
36051
- // `,
36052
- // },
36053
- // {
36054
- // name: '--md-sys-color-secondary-container',
36055
- // css: `
36056
- // .elder-light-theme {
36057
- // --md-sys-color-secondary-container: var(--md-sys-color-primary-container);
36058
- // }
36059
- // `,
36060
- // },
36061
- // {
36062
- // name: '--md-sys-color-secondary-fixed',
36063
- // css: `
36064
- // .elder-light-theme {
36065
- // --md-sys-color-secondary-fixed: var(--md-sys-color-primary-container);
36066
- // }
36067
- // `,
36068
- // },
36069
- // {
36070
- // name: '--md-sys-color-secondary-fixed-dim',
36071
- // css: `
36072
- // .elder-light-theme {
36073
- // --md-sys-color-secondary-fixed-dim: var(--md-sys-color-primary-container);
36074
- // }
36075
- // `,
36076
- // },
36077
- // // tertiary
36078
- // {
36079
- // name: '--md-sys-color-tertiary-container',
36080
- // css: `
36081
- // .elder-light-theme {
36082
- // --md-sys-color-tertiary-container: rgb(255, 223, 155);
36083
- // }
36084
- // `,
36085
- // },
36086
- // {
36087
- // name: '--md-sys-color-tertiary-fixed',
36088
- // css: `
36089
- // .elder-light-theme {
36090
- // --md-sys-color-tertiary-fixed: rgb(255, 223, 155);
36091
- // }
36092
- // `,
36093
- // },
36094
- // {
36095
- // name: '--md-sys-color-tertiary-fixed-dim',
36096
- // css: `
36097
- // .elder-light-theme {
36098
- // --md-sys-color-tertiary-fixed-dim: rgb(225, 195, 129);
36099
- // }
36100
- // `,
36101
- // },
36102
- // // gray
36103
- // {
36104
- // name: '--md-sys-color-surface-container-low',
36105
- // css: `
36106
- // .elder-light-theme {
36107
- // --md-sys-color-surface-container-low: rgb(244, 243, 247);
36108
- // }`,
36109
- // },
36110
- // {
36111
- // name: '--md-sys-color-surface-container',
36112
- // css: `
36113
- // .elder-light-theme {
36114
- // --md-sys-color-surface-container: rgb(238, 237, 241);
36115
- // }`,
36116
- // },
36117
- // {
36118
- // name: '--md-sys-color-surface-container-high',
36119
- // css: `
36120
- // .elder-light-theme {
36121
- // --md-sys-color-surface-container-high: rgb(232, 231, 236);
36122
- // }`,
36123
- // },
36124
- // {
36125
- // name: '--md-sys-color-surface-container-highest',
36126
- // css: `
36127
- // .elder-light-theme {
36128
- // --md-sys-color-surface-container-highest: rgb(227, 226, 230);
36129
- // }`,
36130
- // },
36131
- ];
36132
- }
36133
-
36134
35672
  /**
36135
35673
  * This class provides a reactive wrapper around an event source.
36136
35674
  *
@@ -36696,12 +36234,12 @@ class KafentTokenProviderSessionStorage extends KafentTokenProvider {
36696
36234
  getAccessToken() {
36697
36235
  return this.sessionStorage.getItem('access_token');
36698
36236
  }
36699
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: KafentTokenProviderSessionStorage, deps: [{ token: i2.WebSessionStorage }], target: i0.ɵɵFactoryTarget.Injectable }); }
36237
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: KafentTokenProviderSessionStorage, deps: [{ token: i2$1.WebSessionStorage }], target: i0.ɵɵFactoryTarget.Injectable }); }
36700
36238
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: KafentTokenProviderSessionStorage }); }
36701
36239
  }
36702
36240
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: KafentTokenProviderSessionStorage, decorators: [{
36703
36241
  type: Injectable
36704
- }], ctorParameters: () => [{ type: i2.WebSessionStorage }] });
36242
+ }], ctorParameters: () => [{ type: i2$1.WebSessionStorage }] });
36705
36243
 
36706
36244
  /**
36707
36245
  * Provides Kafent events over a simple API.
@@ -37077,5 +36615,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
37077
36615
  * Generated bundle index. Do not edit.
37078
36616
  */
37079
36617
 
37080
- export { ActivationEventSource, Arrays, AuditedEntity, AutoStartSpec, Batcher, BlobUrl, BytesFormat, BytesPerSecondFormat, BytesPipe, CardDropEvent, CardOrganizerData, CardStack, CollectionUtil, ComparatorBuilder, CompositeSort, ConfirmDialogConfig, ContinuableListing, CsvColumnSpec, CsvSerializer, CsvSpec, CsvStreamExporter, CsvStreamExporterBuilder, CsvStreamExporterBuilderService, Currency, CurrencyCode, CurrencyFormatUtil, CurrencyUnit, CurrencyUnitRegistry, CustomDateAdapter, DataContextActivePage, DataContextAutoStarter, DataContextBase, DataContextBuilder, DataContextContinuableBase, DataContextContinuablePaged, DataContextContinuableToken, DataContextLifeCycleBinding, DataContextSelectionDirective, DataContextSimple, DataContextSnapshot, DataContextSourceEventBinding, DataContextStateIndicatorComponent, DataContextStatus, DataSourceAdapter, DataSourceBase, DataSourceChangeEvent, DataSourceEntityPatch, DataSourceProcessor, DataTransferFactory, DataTransferProgress, DataTransferProgressAggregate, DataTransferState, DataTransferStatus, DataViewIframeAdapterDirective, DataViewIframeComponent, DataViewMessage, DataViewMessageTypeValues, DataViewOptionsProviderBinding, DataViewSelection, DataViewSelectionInit, DateUtil, DelegateContinuableDataSource, DelegateDataSource, DelegateListDataSource, DelegatePagedDataSource, Dimensions, DrawerOutletBinding, DurationBucket, DurationFormat, DurationFormatUtil, ELDER_DATA_VIEW, ELDER_SELECT_BASE, ElderAccessDeniedComponent, ElderAccessDeniedModule, ElderAppHeaderComponent, ElderAuditModule, ElderAuditedEntityComponent, ElderAutoSelectFirstDirective, ElderAutoSelectSuggestFirstDirective, ElderAutocompleteDirective, ElderAutocompleteManyDirective, ElderAutocompleteModule, ElderBadgeChipAvatarDirective, ElderBadgeChipDirective, ElderBadgeComponent, ElderBadgeDirective, ElderBadgeModule, ElderBlobViewerComponent, ElderBreadCrumbsComponent, ElderBreadCrumbsModule, ElderButtonGroupComponent, ElderButtonGroupModule, ElderCardComponent, ElderCardContentDirective, ElderCardHeaderActionsDirective, ElderCardHeaderComponent, ElderCardModule, ElderCardOrganizerComponent, ElderCardOrganizerModule, ElderCardPanelComponent, ElderCardStackComponent, ElderCardSubtitleDirective, ElderCardTitleDirective, ElderCenterCellDirective, ElderChipLabelDirective, ElderChipListSelectComponent, ElderChipListSelectModule, ElderChipsIncludeExcludeDirective, ElderChipsModule, ElderClearSelectDirective, ElderClipboardPutDirective, ElderClipboardService, ElderCompositeSortComponent, ElderCompositeSortDcDirective, ElderConfirmDialogComponent, ElderConnectivityModule, ElderConnectivityService, ElderContainersModule, ElderCsvExportBtnComponent, ElderCsvModule, ElderCurrencyModule, ElderCurrencyPipe, ElderDataCommonModule, ElderDataToolbarComponent, ElderDataTransferModule, ElderDataTransferService, ElderDataViewBaseComponent, ElderDataViewOptions, ElderDataViewOptionsProvider, ElderDateSwitcherComponent, ElderDateTimeInputComponent, ElderDelayedFocusDirective, ElderDeleteActiveDirective, ElderDetailDialogComponent, ElderDetailDirective, ElderDialogConfig, ElderDialogModule, ElderDialogPanelComponent, ElderDialogService, ElderDimensionsInputComponent, ElderDropZoneComponent, ElderDurationInputComponent, ElderEntityValueAccessorUtil, ElderEnumTranslationService, ElderErrorModule, ElderEventSourceService, ElderExceptionDetailComponent, ElderExpandToggleButtonComponent, ElderExpandToggleButtonModule, ElderFileDropZoneDirective, ElderFileModule, ElderFileSelectComponent, ElderFileSelectDirective, ElderFileUploadComponent, ElderFilterChipTemplateComponent, ElderFormFieldControlBase, ElderFormFieldDenseDirective, ElderFormFieldLabelDirective, ElderFormFieldNoHintDirective, ElderFormFieldNoSpinnerDirective, ElderFormsDirectivesModule, ElderFormsModule, ElderFromFieldBase, ElderFromFieldEntityBase, ElderFromFieldMultiEntityBase, ElderGlobalSearchComponent, ElderGlobalSearchModule, ElderGlobalSearchService, ElderGridComponent, ElderGridModule, ElderGridTileDirective, ElderGridToolbarDirective, ElderHeaderComponent, ElderHeaderModule, ElderHttpClient, ElderI18nEntitiesModule, ElderIFrameModule, ElderInfiniteAutocompleteDirective, ElderInfiniteScrollDirective, ElderInfiniteScrollModule, ElderInputPatternDirective, ElderIntervalInputComponent, ElderIntervalPickerBindingDirective, ElderIntervalPickerComponent, ElderIntervalPickerToggleComponent, ElderKeyEventDirective, ElderLabelInputComponent, ElderLabelsModule, ElderLanguageConfig, ElderLanguageInterceptor, ElderLanguageModule, ElderLanguageService, ElderLanguageSwitcherComponent, ElderLocalDateInputComponent, ElderLocalTimeInputComponent, ElderLocalesDeChModule, ElderLocalizedInputComponent, ElderLocalizedInputDialogComponent, ElderLocalizedInputDialogService, ElderLocalizedInputTableComponent, ElderLocalizedTextColumnDirective, ElderLocalizedTextsDirective, ElderMasterActivationDirective, ElderMasterDetailComponent, ElderMasterDetailModule, ElderMasterDetailService, ElderMasterDirective, ElderMaxValidator, ElderMeasuresModule, ElderMinValidator, ElderMultiEntityValueAccessorUtil, ElderMultiSelectAllInitialDirective, ElderMultiSelectBase, ElderMultiSelectChipOptionsComponent, ElderMultiSelectChipsComponent, ElderMultiSelectFormField, ElderMultiTranslateHttpLoader, ElderMultipleOfUtil, ElderMultipleOfValidator, ElderNavGroupComponent, ElderNavLinkComponent, ElderNavListComponent, ElderNavModule, ElderNextFocusableDirective, ElderNumberCellDirective, ElderOfflineIndicatorComponent, ElderOverlayComponent, ElderOverlayModule, ElderOverlayOriginDirective, ElderOverlayRef, ElderOverlayTriggerDirective, ElderPaddingDirective, ElderPageExitLockIndicatorComponent, ElderPaneComponent, ElderPaneContainerComponent, ElderPanelModule, ElderPeriodInputComponent, ElderPipesModule, ElderPlugParentFormDirective, ElderProgressBarComponent, ElderProgressBarModule, ElderQuantityFormFieldComponent, ElderQuantityInputControlComponent, ElderQuantityModule, ElderQuantityPipe, ElderQuantityRangeValidator, ElderQuantityService, ElderQuantityTransformPipe, ElderQuestionDialogComponent, ElderRepeatPipe, ElderRepeatPipeLegacy, ElderRequiredDimensionsValidator, ElderRequiredIgnoreZeroValidator, ElderRequiredQuantityValidator, ElderRoundPipe, ElderRouteOutletDrawerService, ElderRouterOutletService, ElderRouterService, ElderSafeUrlPipe, ElderScrollContainerComponent, ElderScrollbarDirective, ElderScrollbarModule, ElderSearchBoxComponent, ElderSearchContextDirective, ElderSearchIncludeExcludeDirective, ElderSearchInputDirective, ElderSearchModule, ElderSearchPanelComponent, ElderSearchUrlDirective, ElderSelectBase, ElderSelectChipAvatarDirective, ElderSelectChipDirective, ElderSelectComponent, ElderSelectComponentState, ElderSelectCustomInputDirective, ElderSelectFormField, ElderSelectModule, ElderSelectOnTabDirective, ElderSelectOptionComponent, ElderSelectValueDirective, ElderSelectionDialogComponent, ElderSelectionDialogDirective, ElderSelectionMasterCheckboxComponent, ElderSelectionPopupTriggerAdapterDirective, ElderShellCenterDirective, ElderShellComponent, ElderShellModule, ElderShellNavigationToggleComponent, ElderShellService, ElderShellSideLeftDirective, ElderShellSideRightDirective, ElderShellSlotDirective, ElderSimpleSelectionViewComponent, ElderSimpleSelectionViewModule, ElderSingleSortComponent, ElderSingleStateCheckboxDirective, ElderStackCardDirective, ElderStopEventPropagationDirective, ElderStyleDebuggerComponent, ElderSuggestionPanelComponent, ElderSvgViewerComponent, ElderTabDirective, ElderTabFocusTrapDirective, ElderTabGroupRoutingDirective, ElderTabModule, ElderTableActivationDirective, ElderTableComponent, ElderTableExtensionDirective, ElderTableGroup, ElderTableModel, ElderTableModelCdkTableBinding, ElderTableModelQueryGroup, ElderTableModule, ElderTableProviders, ElderTableRootDirective, ElderTableSortDirective, ElderTableToolbarDirective, ElderThemeApplierDirective, ElderThemeDirective, ElderThemeModule, ElderThemePreferenceService, ElderThemeService, ElderThemeToggleComponent, ElderTimeModule, ElderToastModule, ElderToastService, ElderTogglePanelComponent, ElderTogglePanelPrimaryDirective, ElderTogglePanelSecondaryDirective, ElderTogglePanelTriggerDirective, ElderToolbarColumnDirective, ElderToolbarComponent, ElderToolbarContentDirective, ElderToolbarModule, ElderToolbarService, ElderToolbarTitleComponent, ElderToolbarTitleService, ElderTouchedDirective, ElderTrimPipe, ElderTripleStateCheckboxDirective, ElderTruncatePipe, ElderUnitSelectDirective, ElderUnitService, ElderUrlFragment, ElderUrlFragmentModule, ElderUrlFragmentParamsService, ElderUrlFragmentSwitcherComponent, ElderValidationErrorDirective, ElderViewersModule, EntitySetPatch, ErrorUtil, ExceptionDetailCtx, FileEntry, FileListingRx, FileUploadClient, Filter, FilterContext, FilterUtil, FocusUtil, FormFieldBaseComponent, GlobalDragDropService, HttpClientBuilder, HttpClientPristine, HttpDataTransfer, HttpDataTransferAggregateComponent, HttpDataTransferComponent, HttpDataTransferIndicatorComponent, HttpDataTransferOverviewComponent, HttpParamsBuilder, I18nBase, I18nPickAsyncPipe, I18nPickPipe, I18nText, IFrameState, IframeCloseDirective, IframeDialogComponent, IframeHostComponent, IframeService, IframeSideContentComponent, IncludeExcludeSelectionModel, IncludeExcludeState, IncludeExcludeValue, IndexedEntities, InternalRestClientConfig, Interval, IsoDurationPipe, IsoIntervalFormatUtil, IsoIntervalParsePipe, IsoIntervalPipe, ItemActivationEvent, ItemActivationOptions, JsonMapUtil, KafentConfig, KafentEvent, KafentEventService, KafentEventStream, KafentEventStreamDisabled, KafentEventStreamSse, KafentEventTransport, KafentModule, KafentSseEventChannel, KafentTokenProvider, KafentTokenProviderSessionStorage, KafentTopicSse, KnownElderThemes, KnownLocaleTags, LocalListDataSource, LocalPagedDataSource, LocalisationPickerService, MasterDetailActivationEvent, MasterSelectionState, MatTableDataContextBinding, MatTableDataContextBindingBuilder, MultiModelBaseComponent, NextNumberUtil, Objects, OnlineStatus, Page, PageExitGuardModule, PageExitGuardService, PageExitLock, PageRequest, Pageable, ParseUtil, Path, PathNode, PeriodBucket, PeriodDuration, PeriodFormat, ProcessIterationContext, ProcessState, PropertyPathUtil, Quantity, QueryListBinding, QuestionDialogConfig, ReactiveEventSource, ReactiveEventSourceState, ReactiveFetchEventSource, ReactiveFetchEventSourceService, ReactiveMap, ReactiveSSeMessage, RefreshingEntity, RestClient, RestClientConfig, RestClientContinuable, RestClientList, RestClientPaged, SearchInputState, SearchQuery, SelectChipSpecUtil, SelectOptionChipSpecUtil, SelectionModel, SelectionModelPopupDirective, Sets, SimpleLocalisationPicker, SimpleSearchInput, Sort, SortOption, SortUtil, StandardToastComponent, SubBar, SuggestionProvider, TemplateCompositeControl, TemplatedSelectionDialogComponent, TemporalPlainDateInterval, TemporalUtil, ThemeSpec, TimeAgoPipe, TimeDurationPipe, TimeUtil, ToIsoDateStringPipe, ToastType, TokenChunkRequest, ToolbarHeader, Translated, TranslatedConverter, TranslatedEnumValue, TranslatedText, TypedEventMessage, Unit, UnitDimension, UnitDimensionInfo, UnitInfo, UnitRegistry, UnreachableCaseError, UrlBuilder, UrlQueryParams, UuidUtil, ValueAccessorBase, ValueWrapper, ViewProviders, WeightPipe, alphaNumStringComparator, buildFormIntegrationProviders, coerceInterval, coerceIntervalIsoStr, createDataOptionsProvider, createSelectionModel, existingOrNewElderTableModel, initSearchUrlService, isActivePagedDataContext, isContinuableDataContext, isContinuableDataSource, isDataContext, isDataSource, isDataViewMessageType, isElderEntityValueAccessor, isElderMultiEntityValueAccessor, isListDataSource, isPagedDataSource, lazySample, lazySampleTime, naturalValueComparator, newElderTableModel, proxyControlContainer, registerLocale, runInZone, themeInit };
36618
+ export { ActivationEventSource, Arrays, AuditedEntity, AutoStartSpec, Batcher, BlobUrl, BytesFormat, BytesPerSecondFormat, BytesPipe, CardDropEvent, CardOrganizerData, CardStack, CollectionUtil, ComparatorBuilder, CompositeSort, ConfirmDialogConfig, ContinuableListing, CsvColumnSpec, CsvSerializer, CsvSpec, CsvStreamExporter, CsvStreamExporterBuilder, CsvStreamExporterBuilderService, Currency, CurrencyCode, CurrencyFormatUtil, CurrencyUnit, CurrencyUnitRegistry, CustomDateAdapter, DataContextActivePage, DataContextAutoStarter, DataContextBase, DataContextBuilder, DataContextContinuableBase, DataContextContinuablePaged, DataContextContinuableToken, DataContextLifeCycleBinding, DataContextSelectionDirective, DataContextSimple, DataContextSnapshot, DataContextSourceEventBinding, DataContextStateIndicatorComponent, DataContextStatus, DataSourceAdapter, DataSourceBase, DataSourceChangeEvent, DataSourceEntityPatch, DataSourceProcessor, DataTransferFactory, DataTransferProgress, DataTransferProgressAggregate, DataTransferState, DataTransferStatus, DataViewIframeAdapterDirective, DataViewIframeComponent, DataViewMessage, DataViewMessageTypeValues, DataViewOptionsProviderBinding, DataViewSelection, DataViewSelectionInit, DateUtil, DelegateContinuableDataSource, DelegateDataSource, DelegateListDataSource, DelegatePagedDataSource, Dimensions, DrawerOutletBinding, DurationBucket, DurationFormat, DurationFormatUtil, ELDER_DATA_VIEW, ELDER_SELECT_BASE, ElderAccessDeniedComponent, ElderAccessDeniedModule, ElderAppHeaderComponent, ElderAuditModule, ElderAuditedEntityComponent, ElderAutoSelectFirstDirective, ElderAutoSelectSuggestFirstDirective, ElderAutocompleteDirective, ElderAutocompleteManyDirective, ElderAutocompleteModule, ElderBadgeChipAvatarDirective, ElderBadgeChipDirective, ElderBadgeComponent, ElderBadgeDirective, ElderBadgeModule, ElderBasicPaneLayoutComponent, ElderBlobViewerComponent, ElderBreadCrumbsComponent, ElderBreadCrumbsModule, ElderButtonGroupComponent, ElderButtonGroupModule, ElderCardComponent, ElderCardContentDirective, ElderCardHeaderActionsDirective, ElderCardHeaderComponent, ElderCardModule, ElderCardOrganizerComponent, ElderCardOrganizerModule, ElderCardPanelComponent, ElderCardStackComponent, ElderCardSubtitleDirective, ElderCardTitleDirective, ElderCenterCellDirective, ElderChipLabelDirective, ElderChipListSelectComponent, ElderChipListSelectModule, ElderChipsIncludeExcludeDirective, ElderChipsModule, ElderClearSelectDirective, ElderClipboardPutDirective, ElderClipboardService, ElderCompositeSortComponent, ElderCompositeSortDcDirective, ElderConfirmDialogComponent, ElderConnectivityModule, ElderConnectivityService, ElderContainersModule, ElderCsvExportBtnComponent, ElderCsvModule, ElderCurrencyModule, ElderCurrencyPipe, ElderDataCommonModule, ElderDataToolbarComponent, ElderDataTransferModule, ElderDataTransferService, ElderDataViewBaseComponent, ElderDataViewOptions, ElderDataViewOptionsProvider, ElderDateSwitcherComponent, ElderDateTimeInputComponent, ElderDelayedFocusDirective, ElderDeleteActiveDirective, ElderDetailDialogComponent, ElderDetailDirective, ElderDialogConfig, ElderDialogModule, ElderDialogPanelComponent, ElderDialogService, ElderDimensionsInputComponent, ElderDropZoneComponent, ElderDurationInputComponent, ElderEntityValueAccessorUtil, ElderEnumTranslationService, ElderErrorModule, ElderEventSourceService, ElderExceptionDetailComponent, ElderExpandToggleButtonComponent, ElderExpandToggleButtonModule, ElderFileDropZoneDirective, ElderFileModule, ElderFileSelectComponent, ElderFileSelectDirective, ElderFileUploadComponent, ElderFilterChipTemplateComponent, ElderFormFieldControlBase, ElderFormFieldDenseDirective, ElderFormFieldLabelDirective, ElderFormFieldNoHintDirective, ElderFormFieldNoSpinnerDirective, ElderFormsDirectivesModule, ElderFormsModule, ElderFromFieldBase, ElderFromFieldEntityBase, ElderFromFieldMultiEntityBase, ElderGlobalSearchComponent, ElderGlobalSearchModule, ElderGlobalSearchService, ElderGridComponent, ElderGridModule, ElderGridTileDirective, ElderGridToolbarDirective, ElderHeaderComponent, ElderHeaderModule, ElderHttpClient, ElderI18nEntitiesModule, ElderIFrameModule, ElderInfiniteAutocompleteDirective, ElderInfiniteScrollDirective, ElderInfiniteScrollModule, ElderInputPatternDirective, ElderIntervalInputComponent, ElderIntervalPickerBindingDirective, ElderIntervalPickerComponent, ElderIntervalPickerToggleComponent, ElderKeyEventDirective, ElderLabelInputComponent, ElderLabelsModule, ElderLanguageConfig, ElderLanguageInterceptor, ElderLanguageModule, ElderLanguageService, ElderLanguageSwitcherComponent, ElderLocalDateInputComponent, ElderLocalTimeInputComponent, ElderLocalesDeChModule, ElderLocalizedInputComponent, ElderLocalizedInputDialogComponent, ElderLocalizedInputDialogService, ElderLocalizedInputTableComponent, ElderLocalizedTextColumnDirective, ElderLocalizedTextsDirective, ElderMasterActivationDirective, ElderMasterDetailComponent, ElderMasterDetailModule, ElderMasterDetailService, ElderMasterDirective, ElderMaxValidator, ElderMeasuresModule, ElderMinValidator, ElderMultiEntityValueAccessorUtil, ElderMultiSelectAllInitialDirective, ElderMultiSelectBase, ElderMultiSelectChipOptionsComponent, ElderMultiSelectChipsComponent, ElderMultiSelectFormField, ElderMultiTranslateHttpLoader, ElderMultipleOfUtil, ElderMultipleOfValidator, ElderNavGroupComponent, ElderNavLinkComponent, ElderNavListComponent, ElderNavModule, ElderNextFocusableDirective, ElderNumberCellDirective, ElderOfflineIndicatorComponent, ElderOverlayComponent, ElderOverlayModule, ElderOverlayOriginDirective, ElderOverlayRef, ElderOverlayTriggerDirective, ElderPaddingDirective, ElderPageExitLockIndicatorComponent, ElderPaneComponent, ElderPanelModule, ElderPeriodInputComponent, ElderPipesModule, ElderPlugParentFormDirective, ElderProgressBarComponent, ElderProgressBarModule, ElderQuantityFormFieldComponent, ElderQuantityInputControlComponent, ElderQuantityModule, ElderQuantityPipe, ElderQuantityRangeValidator, ElderQuantityService, ElderQuantityTransformPipe, ElderQuestionDialogComponent, ElderRepeatPipe, ElderRepeatPipeLegacy, ElderRequiredDimensionsValidator, ElderRequiredIgnoreZeroValidator, ElderRequiredQuantityValidator, ElderRoundPipe, ElderRouteOutletDrawerService, ElderRouterOutletService, ElderRouterService, ElderSafeUrlPipe, ElderScrollContainerComponent, ElderScrollbarDirective, ElderScrollbarModule, ElderSearchBoxComponent, ElderSearchContextDirective, ElderSearchIncludeExcludeDirective, ElderSearchInputDirective, ElderSearchModule, ElderSearchPanelComponent, ElderSearchUrlDirective, ElderSelectBase, ElderSelectChipAvatarDirective, ElderSelectChipDirective, ElderSelectComponent, ElderSelectComponentState, ElderSelectCustomInputDirective, ElderSelectFormField, ElderSelectModule, ElderSelectOnTabDirective, ElderSelectOptionComponent, ElderSelectValueDirective, ElderSelectionDialogComponent, ElderSelectionDialogDirective, ElderSelectionMasterCheckboxComponent, ElderSelectionPopupTriggerAdapterDirective, ElderShellCenterDirective, ElderShellComponent, ElderShellModule, ElderShellNavigationToggleComponent, ElderShellService, ElderShellSideLeftDirective, ElderShellSideRightDirective, ElderShellSlotDirective, ElderSimpleSelectionViewComponent, ElderSimpleSelectionViewModule, ElderSingleSortComponent, ElderSingleStateCheckboxDirective, ElderStackCardDirective, ElderStopEventPropagationDirective, ElderSuggestionPanelComponent, ElderSvgViewerComponent, ElderTabDirective, ElderTabFocusTrapDirective, ElderTabGroupRoutingDirective, ElderTabModule, ElderTableActivationDirective, ElderTableComponent, ElderTableExtensionDirective, ElderTableGroup, ElderTableModel, ElderTableModelCdkTableBinding, ElderTableModelQueryGroup, ElderTableModule, ElderTableProviders, ElderTableRootDirective, ElderTableSortDirective, ElderTableToolbarDirective, ElderThemeApplierDirective, ElderThemeDirective, ElderThemeModule, ElderThemePreferenceService, ElderThemeService, ElderThemeToggleComponent, ElderTimeModule, ElderToastModule, ElderToastService, ElderTogglePanelComponent, ElderTogglePanelPrimaryDirective, ElderTogglePanelSecondaryDirective, ElderTogglePanelTriggerDirective, ElderToolbarColumnDirective, ElderToolbarComponent, ElderToolbarContentDirective, ElderToolbarModule, ElderToolbarService, ElderToolbarTitleComponent, ElderToolbarTitleService, ElderTouchedDirective, ElderTrimPipe, ElderTripleStateCheckboxDirective, ElderTruncatePipe, ElderUnitSelectDirective, ElderUnitService, ElderUrlFragment, ElderUrlFragmentModule, ElderUrlFragmentParamsService, ElderUrlFragmentSwitcherComponent, ElderValidationErrorDirective, ElderViewersModule, EntitySetPatch, ErrorUtil, ExceptionDetailCtx, FileEntry, FileListingRx, FileUploadClient, Filter, FilterContext, FilterUtil, FocusUtil, FormFieldBaseComponent, GlobalDragDropService, HttpClientBuilder, HttpClientPristine, HttpDataTransfer, HttpDataTransferAggregateComponent, HttpDataTransferComponent, HttpDataTransferIndicatorComponent, HttpDataTransferOverviewComponent, HttpParamsBuilder, I18nBase, I18nPickAsyncPipe, I18nPickPipe, I18nText, IFrameState, IframeCloseDirective, IframeDialogComponent, IframeHostComponent, IframeService, IframeSideContentComponent, IncludeExcludeSelectionModel, IncludeExcludeState, IncludeExcludeValue, IndexedEntities, InternalRestClientConfig, Interval, IsoDurationPipe, IsoIntervalFormatUtil, IsoIntervalParsePipe, IsoIntervalPipe, ItemActivationEvent, ItemActivationOptions, JsonMapUtil, KafentConfig, KafentEvent, KafentEventService, KafentEventStream, KafentEventStreamDisabled, KafentEventStreamSse, KafentEventTransport, KafentModule, KafentSseEventChannel, KafentTokenProvider, KafentTokenProviderSessionStorage, KafentTopicSse, KnownElderThemes, KnownLocaleTags, LocalListDataSource, LocalPagedDataSource, LocalisationPickerService, MasterDetailActivationEvent, MasterSelectionState, MatTableDataContextBinding, MatTableDataContextBindingBuilder, MultiModelBaseComponent, NextNumberUtil, Objects, OnlineStatus, Page, PageExitGuardModule, PageExitGuardService, PageExitLock, PageRequest, Pageable, ParseUtil, Path, PathNode, PeriodBucket, PeriodDuration, PeriodFormat, ProcessIterationContext, ProcessState, PropertyPathUtil, Quantity, QueryListBinding, QuestionDialogConfig, ReactiveEventSource, ReactiveEventSourceState, ReactiveFetchEventSource, ReactiveFetchEventSourceService, ReactiveMap, ReactiveSSeMessage, RefreshingEntity, RestClient, RestClientConfig, RestClientContinuable, RestClientList, RestClientPaged, SearchInputState, SearchQuery, SelectChipSpecUtil, SelectOptionChipSpecUtil, SelectionModel, SelectionModelPopupDirective, Sets, SimpleLocalisationPicker, SimpleSearchInput, Sort, SortOption, SortUtil, StandardToastComponent, SubBar, SuggestionProvider, TemplateCompositeControl, TemplatedSelectionDialogComponent, TemporalPlainDateInterval, TemporalUtil, ThemeSpec, TimeAgoPipe, TimeDurationPipe, TimeUtil, ToIsoDateStringPipe, ToastType, TokenChunkRequest, ToolbarHeader, Translated, TranslatedConverter, TranslatedEnumValue, TranslatedText, TypedEventMessage, Unit, UnitDimension, UnitDimensionInfo, UnitInfo, UnitRegistry, UnreachableCaseError, UrlBuilder, UrlQueryParams, UuidUtil, ValueAccessorBase, ValueWrapper, ViewProviders, WeightPipe, alphaNumStringComparator, buildFormIntegrationProviders, coerceInterval, coerceIntervalIsoStr, createDataOptionsProvider, createSelectionModel, existingOrNewElderTableModel, initSearchUrlService, isActivePagedDataContext, isContinuableDataContext, isContinuableDataSource, isDataContext, isDataSource, isDataViewMessageType, isElderEntityValueAccessor, isElderMultiEntityValueAccessor, isListDataSource, isPagedDataSource, lazySample, lazySampleTime, naturalValueComparator, newElderTableModel, proxyControlContainer, registerLocale, runInZone, themeInit };
37081
36619
  //# sourceMappingURL=elderbyte-ngx-starter.mjs.map