@elderbyte/ngx-starter 21.7.3 → 21.8.0-beta.0

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,5 +1,5 @@
1
1
  import * as i2 from '@angular/common';
2
- import { formatDate, CommonModule, formatCurrency, getCurrencySymbol, AsyncPipe, NgTemplateOutlet, NgClass, NgStyle, formatNumber, DecimalPipe, DOCUMENT, DatePipe, registerLocaleData, CurrencyPipe } from '@angular/common';
2
+ import { formatDate, CommonModule, formatCurrency, getCurrencySymbol, AsyncPipe, NgTemplateOutlet, NgClass, NgStyle, formatNumber, DecimalPipe, DatePipe, registerLocaleData, DOCUMENT, CurrencyPipe } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
4
  import { Pipe, LOCALE_ID, Inject, NgModule, Injectable, inject, Optional, SkipSelf, Input, Output, Directive, forwardRef, ViewChild, ElementRef, DestroyRef, model, signal, computed, untracked, HostBinding, ViewChildren, ContentChild, makeEnvironmentProviders, provideEnvironmentInitializer, ChangeDetectionStrategy, Component, Host, APP_INITIALIZER, TemplateRef, HostListener, EventEmitter, input, ViewEncapsulation, InjectionToken, output, effect, ContentChildren, contentChildren, viewChild, contentChild, viewChildren, linkedSignal, booleanAttribute, Injector, NgZone, Renderer2 } from '@angular/core';
5
5
  import * as i1 from '@angular/platform-browser';
@@ -10,7 +10,7 @@ import { timer, defer, ReplaySubject, concat, finalize, exhaustMap, BehaviorSubj
10
10
  import { tap, takeUntil, takeWhile, map, filter, distinctUntilChanged, debounceTime, catchError, first, take, switchMap as switchMap$1, mergeMap, expand, reduce, combineLatestWith, startWith, skip, delay, share, skipWhile, timeout } from 'rxjs/operators';
11
11
  import { Temporal } from '@js-temporal/polyfill';
12
12
  import * as i1$1 from '@angular/common/http';
13
- import { HttpParams, HttpEventType, HttpRequest, HttpClient, HttpErrorResponse, HTTP_INTERCEPTORS } from '@angular/common/http';
13
+ import { HttpParams, HttpEventType, HttpRequest, HttpClient, HttpErrorResponse, HTTP_INTERCEPTORS, HttpBackend } from '@angular/common/http';
14
14
  import { DataSource } from '@angular/cdk/collections';
15
15
  import { outputToObservable, takeUntilDestroyed, toSignal, toObservable, outputFromObservable } from '@angular/core/rxjs-interop';
16
16
  import * as i1$4 from '@angular/forms';
@@ -20,7 +20,7 @@ import { FocusMonitor, CdkTrapFocus, A11yModule } from '@angular/cdk/a11y';
20
20
  import * as i1$a from '@angular/material/form-field';
21
21
  import { MatFormField, MatFormFieldControl, MAT_FORM_FIELD_DEFAULT_OPTIONS, MatLabel, MatFormFieldModule, MatPrefix, MatHint, MatError, MatSuffix } from '@angular/material/form-field';
22
22
  import * as i1$2 from '@ngx-translate/core';
23
- import { TranslateModule, TranslateService } from '@ngx-translate/core';
23
+ import { TranslateModule, TranslateService, provideTranslateService, TranslateLoader, TranslatePipe } from '@ngx-translate/core';
24
24
  import * as i1$3 from '@angular/router';
25
25
  import { RouterModule, NavigationEnd, RouterLinkActive, RouterLink, RouterOutlet, convertToParamMap, EventType } from '@angular/router';
26
26
  import * as i1$f from '@angular/material/icon';
@@ -9478,6 +9478,12 @@ function simpleDeepMerge(target, source) {
9478
9478
  });
9479
9479
  return output;
9480
9480
  }
9481
+ function createElderDefaultTranslateLoader(_httpBackend) {
9482
+ return new ElderMultiTranslateHttpLoader(_httpBackend, [
9483
+ { prefix: './assets/ngx-starter/i18n/', suffix: '.json' },
9484
+ { prefix: './assets/i18n/', suffix: '.json' },
9485
+ ]);
9486
+ }
9481
9487
 
9482
9488
  class TranslatedEnumValue {
9483
9489
  constructor(value, displayValue) {
@@ -21548,109 +21554,107 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
21548
21554
  type: Input
21549
21555
  }] } });
21550
21556
 
21557
+ const ELDER_LANGUAGE_OPTIONS = new InjectionToken('ELDER_LANGUAGE_OPTIONS');
21558
+
21559
+ const LANGUAGE_STORAGE_KEY = 'language';
21560
+ const DEFAULT_LANGS = ['de', 'en'];
21561
+ const DEFAULT_FALLBACK_LANG = 'de';
21551
21562
  class ElderLanguageService {
21552
21563
  /***************************************************************************
21553
21564
  * *
21554
- * Constructors *
21565
+ * Legacy Compatiblity *
21555
21566
  * *
21556
21567
  **************************************************************************/
21557
- constructor(translate, webStorage) {
21558
- this.translate = translate;
21559
- this.webStorage = webStorage;
21568
+ get currentLanguage$() {
21569
+ return toObservable(this.currentLang);
21570
+ }
21571
+ /***************************************************************************
21572
+ * *
21573
+ * Constructor *
21574
+ * *
21575
+ **************************************************************************/
21576
+ constructor() {
21577
+ this.webStorage = inject(WebLocalStorage);
21578
+ this.config = inject(ELDER_LANGUAGE_OPTIONS);
21579
+ this.logger = LoggerFactory.getLogger(this.constructor.name);
21560
21580
  /***************************************************************************
21561
21581
  * *
21562
- * Fields *
21582
+ * State *
21563
21583
  * *
21564
21584
  **************************************************************************/
21565
- this.logger = LoggerFactory.getLogger(this.constructor.name);
21566
- this.LANGUAGE_STORAGE_KEY = 'language';
21567
- this.currentLanguage$ = new BehaviorSubject(this.translate.currentLang);
21568
- this.translate.onLangChange.subscribe((change) => this.currentLanguage$.next(change.lang));
21569
- this.applyPreferredLanguage();
21585
+ this._langs = signal(null, ...(ngDevMode ? [{ debugName: "_langs" }] : /* istanbul ignore next */ []));
21586
+ this._defaultLang = signal(null, ...(ngDevMode ? [{ debugName: "_defaultLang" }] : /* istanbul ignore next */ []));
21587
+ this._currentLang = signal(null, ...(ngDevMode ? [{ debugName: "_currentLang" }] : /* istanbul ignore next */ []));
21588
+ this._browserLang = getBrowserPreferredLang();
21589
+ this._storedPreferredLang = this.getStoredPreferredLang();
21590
+ /***************************************************************************
21591
+ * *
21592
+ * Computed *
21593
+ * *
21594
+ **************************************************************************/
21595
+ this.currentLang = this._currentLang.asReadonly();
21596
+ this.defaultLang = this._defaultLang.asReadonly();
21597
+ this.langs = this._langs.asReadonly();
21570
21598
  }
21571
21599
  /***************************************************************************
21572
21600
  * *
21573
21601
  * Public API *
21574
21602
  * *
21575
21603
  **************************************************************************/
21576
- /**
21577
- * Returns the key of the currently applied language.
21578
- *
21579
- * @returns language key
21580
- */
21581
- get currentLanguage() {
21582
- return this.currentLanguage$.getValue();
21583
- }
21584
- /**
21585
- * Applies the given language which will immediately get apparent
21586
- * in the UI.
21587
- *
21588
- * @param lang language key
21589
- */
21590
- set currentLanguage(lang) {
21591
- this.setLanguageAndRemember(lang);
21592
- }
21593
- /**
21594
- * Returns an array of all available language keys.
21595
- *
21596
- * @returns e.g. ['en', 'de', 'fr']
21597
- */
21598
- get languages() {
21599
- return this.translate.getLangs();
21600
- }
21601
- /**
21602
- * Checks if the given language is currently active.
21603
- *
21604
- * @param lang language key
21605
- * @returns true if given language is currently active
21606
- */
21607
- isLanguageActive(lang) {
21608
- return this.currentLanguage === lang;
21604
+ setCurrentLang(lang) {
21605
+ if (!this.isSupported(lang)) {
21606
+ this.logger.warn('cannot set lang', lang, 'since it is not in supported langs', this._langs());
21607
+ return;
21608
+ }
21609
+ this.logger.warn('setting lang', lang);
21610
+ this.webStorage.setItem(LANGUAGE_STORAGE_KEY, lang);
21611
+ this._currentLang.set(lang);
21609
21612
  }
21610
- /**
21611
- * Returns the key of the last applied language.
21612
- *
21613
- * @returns language key of last applied language
21614
- */
21615
- get lastConfigured() {
21616
- return this.lookupPreferredLanguage();
21613
+ init() {
21614
+ this.logger.warn('initializing elder language service...');
21615
+ if (this._currentLang()) {
21616
+ this.logger.warn('elder language service already initialized, skipping...');
21617
+ return;
21618
+ }
21619
+ this.setLangs(this.config?.langs);
21620
+ this.setDefaultLang(this.config?.defaultLang);
21621
+ this.setInitialLang();
21617
21622
  }
21618
21623
  /***************************************************************************
21619
21624
  * *
21620
- * Public API *
21625
+ * Private Methods *
21621
21626
  * *
21622
21627
  **************************************************************************/
21623
- lookupPreferredLanguage() {
21624
- return this.webStorage.getItem(this.LANGUAGE_STORAGE_KEY);
21625
- }
21626
- forgetPreferredLanguage() {
21627
- this.webStorage.removeItem(this.LANGUAGE_STORAGE_KEY);
21628
+ setLangs(langs) {
21629
+ if (!langs?.length) {
21630
+ throw new Error('Cannot set langs since it is not an array or empty');
21631
+ }
21632
+ this._langs.set(langs);
21628
21633
  }
21629
- rememberPreferredLanguage(lang) {
21630
- this.webStorage.setItem(this.LANGUAGE_STORAGE_KEY, lang);
21634
+ setDefaultLang(lang) {
21635
+ if (!this._langs().includes(lang)) {
21636
+ throw new Error(`Cannot set default lang ${lang} since it is not in supported langs ${this._langs()}`);
21637
+ }
21638
+ this._defaultLang.set(lang);
21631
21639
  }
21632
- applyPreferredLanguage() {
21633
- const preferred = this.lookupPreferredLanguage();
21634
- if (preferred) {
21635
- this.setLanguage(preferred);
21640
+ setInitialLang() {
21641
+ if (this._storedPreferredLang && this.isSupported(this._storedPreferredLang)) {
21642
+ this._currentLang.set(this._storedPreferredLang);
21643
+ return;
21636
21644
  }
21637
- else {
21638
- this.translate.use(this.translate.getBrowserLang());
21645
+ if (this._browserLang && this.isSupported(this._browserLang)) {
21646
+ this._currentLang.set(this._browserLang);
21647
+ return;
21639
21648
  }
21649
+ this._currentLang.set(this._defaultLang());
21640
21650
  }
21641
- /***************************************************************************
21642
- * *
21643
- * Private Methods *
21644
- * *
21645
- **************************************************************************/
21646
- setLanguageAndRemember(lang) {
21647
- this.setLanguage(lang);
21648
- this.rememberPreferredLanguage(lang);
21651
+ isSupported(lang) {
21652
+ return this._langs().includes(lang);
21649
21653
  }
21650
- setLanguage(lang) {
21651
- this.translate.use(lang);
21654
+ getStoredPreferredLang() {
21655
+ return this.webStorage.getItem(LANGUAGE_STORAGE_KEY);
21652
21656
  }
21653
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderLanguageService, deps: [{ token: i1$2.TranslateService }, { token: WebLocalStorage }], target: i0.ɵɵFactoryTarget.Injectable }); }
21657
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderLanguageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
21654
21658
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderLanguageService, providedIn: 'root' }); }
21655
21659
  }
21656
21660
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderLanguageService, decorators: [{
@@ -21658,7 +21662,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
21658
21662
  args: [{
21659
21663
  providedIn: 'root',
21660
21664
  }]
21661
- }], ctorParameters: () => [{ type: i1$2.TranslateService }, { type: WebLocalStorage }] });
21665
+ }], ctorParameters: () => [] });
21666
+ /***************************************************************************
21667
+ * *
21668
+ * Helper Functions *
21669
+ * *
21670
+ **************************************************************************/
21671
+ /**
21672
+ * Browser Language code: "de", "fr", "en", etc.
21673
+ */
21674
+ function getBrowserPreferredLang() {
21675
+ if (typeof window === 'undefined' || !window.navigator) {
21676
+ return undefined;
21677
+ }
21678
+ const cultureLang = getBrowserCultureLang();
21679
+ if (!cultureLang || typeof cultureLang !== 'string') {
21680
+ return undefined;
21681
+ }
21682
+ return cultureLang.split(/[-_]/)[0];
21683
+ }
21684
+ /**
21685
+ * Browser Culture language code: "ch-DE", "fr-FR", "en-US", etc.
21686
+ */
21687
+ function getBrowserCultureLang() {
21688
+ if (typeof window === 'undefined' || !window.navigator) {
21689
+ return undefined;
21690
+ }
21691
+ return window.navigator.languages ? window.navigator.languages[0] : window.navigator.language;
21692
+ }
21662
21693
 
21663
21694
  class ElderLanguageSwitcherComponent {
21664
21695
  /***************************************************************************
@@ -21676,13 +21707,13 @@ class ElderLanguageSwitcherComponent {
21676
21707
  * *
21677
21708
  **************************************************************************/
21678
21709
  get currentLanguage() {
21679
- return this.language.currentLanguage;
21710
+ return this.language.currentLang();
21680
21711
  }
21681
21712
  set currentLanguage(lang) {
21682
- this.language.currentLanguage = lang;
21713
+ this.language.setCurrentLang(lang);
21683
21714
  }
21684
21715
  get languages() {
21685
- return this.language.languages;
21716
+ return this.language.langs();
21686
21717
  }
21687
21718
  setLanguage(lang) {
21688
21719
  this.currentLanguage = lang;
@@ -21699,7 +21730,7 @@ class ElderLanguageSwitcherComponent {
21699
21730
  * *
21700
21731
  **************************************************************************/
21701
21732
  isLanguageActive(lang) {
21702
- return this.language.isLanguageActive(lang);
21733
+ return this.language.currentLang() === lang;
21703
21734
  }
21704
21735
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderLanguageSwitcherComponent, deps: [{ token: ElderLanguageService }], target: i0.ɵɵFactoryTarget.Component }); }
21705
21736
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.6", type: ElderLanguageSwitcherComponent, isStandalone: true, selector: "elder-language-switcher", inputs: { slimMode: "slimMode" }, ngImport: i0, template: "<mat-menu #languageMenu=\"matMenu\">\n @for (lang of languages; track lang) {\n <button mat-menu-item type=\"button\" (click)=\"currentLanguage = lang\">\n <mat-icon>language</mat-icon>\n <span class=\"text-body-large\" [class.active]=\"isLanguageActive(lang)\">{{\n 'language.' + lang | translate\n }}</span>\n </button>\n }\n</mat-menu>\n\n@if (slimMode) {\n <button mat-button type=\"button\" [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\n@if (!slimMode) {\n <mat-form-field>\n <mat-select\n placeholder=\"{{ 'language.language' | translate }}\"\n name=\"language\"\n [(ngModel)]=\"currentLanguage\"\n >\n @for (lang of languages; track lang) {\n <mat-option [value]=\"lang\">{{ 'language.' + lang | translate }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n}\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: "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: "component", type: MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { 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", "canSelectNullableOptions"], 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" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
@@ -29118,35 +29149,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
29118
29149
  }]
29119
29150
  }] });
29120
29151
 
29121
- /**
29122
- * This service updates the HTML lang attribute based on the current language.
29123
- * (Manipulates the DOM directly)
29124
- */
29125
- class ElderHtmlLangAttributeService {
29126
- /***************************************************************************
29127
- * *
29128
- * Constructor *
29129
- * *
29130
- **************************************************************************/
29131
- constructor() {
29132
- this.languageService = inject(ElderLanguageService);
29133
- this.htmlDocument = inject(DOCUMENT);
29134
- this.languageService.currentLanguage$.subscribe((lang) => {
29135
- if (lang) {
29136
- this.htmlDocument.documentElement.setAttribute('lang', lang);
29137
- }
29138
- });
29139
- }
29140
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderHtmlLangAttributeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
29141
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderHtmlLangAttributeService, providedIn: 'root' }); }
29142
- }
29143
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderHtmlLangAttributeService, decorators: [{
29144
- type: Injectable,
29145
- args: [{
29146
- providedIn: 'root',
29147
- }]
29148
- }], ctorParameters: () => [] });
29149
-
29150
29152
  /**
29151
29153
  * Bootstrap service that initializes services on startup.
29152
29154
  */
@@ -29182,7 +29184,6 @@ class ElderServicesBootstrap {
29182
29184
  }
29183
29185
  initializeServices() {
29184
29186
  inject(ElderThemeService);
29185
- inject(ElderHtmlLangAttributeService);
29186
29187
  }
29187
29188
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderServicesBootstrap, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
29188
29189
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderServicesBootstrap, providedIn: 'root' }); }
@@ -32945,7 +32946,7 @@ class ElderLocalizedInputTableComponent extends FormFieldBaseComponent {
32945
32946
  this.defaultLanguageTags$ = new BehaviorSubject([]);
32946
32947
  this.dense = false;
32947
32948
  this.destroy$ = new Subject();
32948
- this.defaultLanguageTags = languageService.languages;
32949
+ this.defaultLanguageTags = languageService.langs();
32949
32950
  this.dataSource = LocalListDataSource.from([], 'locale', SortUtil.sortData, FilterUtil.filterData);
32950
32951
  const localizables$ = combineLatest([
32951
32952
  this.value$.pipe(map((value) => value ?? [])),
@@ -33137,7 +33138,7 @@ class LocalisationPickerService {
33137
33138
  * *
33138
33139
  **************************************************************************/
33139
33140
  pick(choices, desired) {
33140
- return this.picker.findBest(choices, desired ?? this.languageService.currentLanguage);
33141
+ return this.picker.findBest(choices, desired ?? this.languageService.currentLang());
33141
33142
  }
33142
33143
  pickCurrent(choices) {
33143
33144
  return this.languageService.currentLanguage$.pipe(map((current) => this.pick(choices, current)));
@@ -34432,6 +34433,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
34432
34433
  class ElderLanguageConfig {
34433
34434
  }
34434
34435
 
34436
+ /**
34437
+ * This service updates the HTML lang attribute based on the current language.
34438
+ * (Manipulates the DOM directly)
34439
+ */
34440
+ class ElderHtmlLangAttributeService {
34441
+ /***************************************************************************
34442
+ * *
34443
+ * Constructor *
34444
+ * *
34445
+ **************************************************************************/
34446
+ constructor() {
34447
+ this.languageService = inject(ElderLanguageService);
34448
+ this.htmlDocument = inject(DOCUMENT);
34449
+ this.languageService.currentLanguage$.subscribe((lang) => {
34450
+ if (lang) {
34451
+ this.htmlDocument.documentElement.setAttribute('lang', lang);
34452
+ }
34453
+ });
34454
+ }
34455
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderHtmlLangAttributeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
34456
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderHtmlLangAttributeService, providedIn: 'root' }); }
34457
+ }
34458
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderHtmlLangAttributeService, decorators: [{
34459
+ type: Injectable,
34460
+ args: [{
34461
+ providedIn: 'root',
34462
+ }]
34463
+ }], ctorParameters: () => [] });
34464
+
34435
34465
  /**
34436
34466
  * This interceptor injects the current locale
34437
34467
  * so the backend know what the current desired locale is of a request.
@@ -34497,16 +34527,130 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
34497
34527
  type: Injectable
34498
34528
  }], ctorParameters: () => [{ type: i0.Injector }] });
34499
34529
 
34500
- function provideElderLanguage(config) {
34530
+ function provideElderLanguage(options, config) {
34501
34531
  return makeEnvironmentProviders([
34532
+ {
34533
+ provide: ELDER_LANGUAGE_OPTIONS,
34534
+ useValue: options,
34535
+ },
34502
34536
  {
34503
34537
  provide: ElderLanguageConfig,
34504
34538
  useValue: config,
34505
34539
  },
34506
34540
  { provide: HTTP_INTERCEPTORS, useClass: ElderLanguageInterceptor, multi: true },
34541
+ provideEnvironmentInitializer(() => {
34542
+ inject(ElderLanguageService).init();
34543
+ inject(ElderHtmlLangAttributeService);
34544
+ }),
34545
+ ]);
34546
+ }
34547
+
34548
+ class ElderTranslateService {
34549
+ /***************************************************************************
34550
+ * *
34551
+ * Constructor *
34552
+ * *
34553
+ **************************************************************************/
34554
+ constructor() {
34555
+ this.logger = LoggerFactory.getLogger(this.constructor.name);
34556
+ this.languageService = inject(ElderLanguageService);
34557
+ this.ngxTranslate = inject(TranslateService);
34558
+ effect(() => {
34559
+ const langs = this.languageService.langs();
34560
+ untracked(() => {
34561
+ this.setLangs(langs);
34562
+ });
34563
+ });
34564
+ effect(() => {
34565
+ const defaultLang = this.languageService.defaultLang();
34566
+ untracked(() => {
34567
+ this.setDefaultLang(defaultLang);
34568
+ });
34569
+ });
34570
+ effect(() => {
34571
+ const currentLang = this.languageService.currentLang();
34572
+ untracked(() => {
34573
+ this.setCurrentLang(currentLang);
34574
+ });
34575
+ });
34576
+ }
34577
+ /***************************************************************************
34578
+ * *
34579
+ * Private Methods *
34580
+ * *
34581
+ **************************************************************************/
34582
+ setLangs(langs) {
34583
+ if (langs?.length) {
34584
+ this.logger.warn('setting translate langs', langs);
34585
+ this.ngxTranslate.addLangs(langs);
34586
+ }
34587
+ }
34588
+ setDefaultLang(defaultLang) {
34589
+ if (defaultLang) {
34590
+ this.logger.warn('setting translate default lang', defaultLang);
34591
+ this.ngxTranslate.setFallbackLang(defaultLang);
34592
+ }
34593
+ }
34594
+ setCurrentLang(currentLang) {
34595
+ if (currentLang) {
34596
+ this.logger.warn('setting translate current lang', currentLang);
34597
+ this.ngxTranslate.use(currentLang);
34598
+ }
34599
+ }
34600
+ /***************************************************************************
34601
+ * *
34602
+ * Public API *
34603
+ * *
34604
+ **************************************************************************/
34605
+ get(key, interpolateParams) {
34606
+ return this.ngxTranslate.get(key, interpolateParams);
34607
+ }
34608
+ instant(key, interpolateParams) {
34609
+ return this.ngxTranslate.instant(key, interpolateParams);
34610
+ }
34611
+ stream(key, interpolateParams) {
34612
+ return this.ngxTranslate.stream(key, interpolateParams);
34613
+ }
34614
+ get onLangChange() {
34615
+ return this.ngxTranslate.onLangChange;
34616
+ }
34617
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderTranslateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
34618
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderTranslateService, providedIn: 'root' }); }
34619
+ }
34620
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderTranslateService, decorators: [{
34621
+ type: Injectable,
34622
+ args: [{
34623
+ providedIn: 'root',
34624
+ }]
34625
+ }], ctorParameters: () => [] });
34626
+
34627
+ function provideElderTranslate() {
34628
+ return makeEnvironmentProviders([
34629
+ provideTranslateService({
34630
+ loader: {
34631
+ provide: TranslateLoader,
34632
+ useFactory: createElderDefaultTranslateLoader,
34633
+ deps: [HttpBackend],
34634
+ },
34635
+ }),
34636
+ provideEnvironmentInitializer(() => {
34637
+ inject(ElderTranslateService);
34638
+ }),
34507
34639
  ]);
34508
34640
  }
34509
34641
 
34642
+ class ElderTranslatePipe extends TranslatePipe {
34643
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderTranslatePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
34644
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.6", ngImport: i0, type: ElderTranslatePipe, isStandalone: true, name: "translate", pure: false }); }
34645
+ }
34646
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImport: i0, type: ElderTranslatePipe, decorators: [{
34647
+ type: Pipe,
34648
+ args: [{
34649
+ name: 'translate',
34650
+ pure: false,
34651
+ }]
34652
+ }] });
34653
+
34510
34654
  class ElderChipListSelectComponent {
34511
34655
  /***************************************************************************
34512
34656
  * *
@@ -39424,5 +39568,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.6", ngImpor
39424
39568
  * Generated bundle index. Do not edit.
39425
39569
  */
39426
39570
 
39427
- export { ActivationEventSource, ActivationModel, Arrays, AuditedEntity, AutoStartSpec, Batcher, BlobUrl, BytesFormat, BytesPerSecondFormat, BytesPipe, CardDropEvent, CardOrganizerData, CardStack, CollectionUtil, CommonValidationMessageStrategy, ComparatorBuilder, CompositeSort, ConfirmDialogConfig, ContinuableListing, CountryPhoneFormatService, CsvColumnSpec, CsvSerializer, CsvSpec, CsvStreamExporter, CsvStreamExporterBuilder, CsvStreamExporterBuilderService, CuratedDataSource, CuratedListDataSource, CuratedPagedDataSource, Currency, CurrencyCode, CurrencyFormatUtil, CurrencyUnit, CurrencyUnitRegistry, CustomDateAdapter, CustomMatcherSpec, DataContextActivePage, DataContextAutoStarter, DataContextBase, DataContextBuilder, DataContextContinuableBase, DataContextContinuablePaged, DataContextContinuableToken, DataContextLifeCycleBinding, DataContextRange, DataContextSelectionDirective, DataContextSimple, DataContextSnapshot, DataContextSourceEventBinding, DataContextStateIndicatorComponent, DataContextStatus, DataSelectionController, DataSourceAdapter, DataSourceBase, DataSourceChangeEvent, DataSourceEntityPatch, DataSourceProcessor, DataTransferFactory, DataTransferProgress, DataTransferProgressAggregate, DataTransferState, DataTransferStatus, DataViewActivationController, DataViewDndControllerService, DataViewDndGroupControllerService, DataViewDndModelUtil, DataViewDragEnteredEvent, DataViewDragExitedEvent, DataViewIframeAdapterDirective, DataViewIframeComponent, DataViewInteractionControllerDirective, DataViewItemDropEvent, DataViewMessage, DataViewMessageTypeValues, DataViewOptionsProviderBinding, DataViewSelection, DataViewSelectionInit, DateUtil, DelegateContinuableDataSource, DelegateDataSource, DelegateListDataSource, DelegatePagedDataSource, Dimensions, DomUtil, DrawerOutletBinding, DurationBucket, DurationFormat, DurationFormatUtil, DynamicValidationMessageStrategy, ELDER_DATA_VIEW, ELDER_SELECT_BASE, ElderAccessDeniedComponent, ElderAccessDeniedModule, ElderAppHeaderComponent, ElderAppearanceSettingsComponent, ElderAuditModule, ElderAuditedEntityComponent, ElderAutoSelectFirstDirective, ElderAutoSelectSuggestFirstDirective, ElderAutocompleteDirective, ElderAutocompleteManyDirective, ElderAutocompleteModule, ElderBadgeDirective, 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, ElderContinuatorComponent, ElderCsvExportBtnComponent, ElderCsvModule, ElderCurrencyModule, ElderCurrencyPipe, ElderDataActivationDirective, ElderDataCommonModule, ElderDataToolbarComponent, ElderDataTransferModule, ElderDataTransferService, ElderDataViewBaseComponent, ElderDataViewDndDirective, ElderDataViewDndGroupDirective, ElderDataViewItemDragDirective, 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, ElderGenericResizableLayoutComponent, ElderGridActivationDirective, ElderGridComponent, ElderGridModule, ElderGridNavigationBarDirective, ElderGridTileDirective, ElderGridToolbarDirective, ElderHeaderComponent, ElderHeaderModule, ElderI18nEntitiesModule, ElderIFrameModule, ElderInfiniteAutocompleteDirective, ElderInfiniteScrollDirective, ElderInfiniteScrollModule, ElderInputPatternDirective, ElderIntervalInputComponent, ElderIntervalPickerBindingDirective, ElderIntervalPickerComponent, ElderIntervalPickerToggleComponent, ElderKeyEventDirective, ElderLabelInputComponent, ElderLabelsModule, ElderLanguageConfig, ElderLanguageInterceptor, ElderLanguageService, ElderLanguageSwitcherComponent, ElderLocalDateInputComponent, ElderLocalDndSupportDirective, ElderLocalTimeInputComponent, ElderLocalesDeChModule, ElderLocalizedInputComponent, ElderLocalizedInputDialogComponent, ElderLocalizedInputDialogService, ElderLocalizedInputTableComponent, ElderLocalizedTextColumnDirective, ElderLocalizedTextsDirective, ElderLock, ElderLockContext, ElderLockContextDirective, ElderLockManagerService, ElderLockWarningService, ElderMasterActivationDirective, ElderMasterDetailComponent, ElderMasterDetailModule, ElderMasterDetailService, ElderMasterDirective, ElderMaxValidator, ElderMeasuresModule, ElderMinValidator, ElderMultiEntityValueAccessorUtil, ElderMultiSelectAllInitialDirective, ElderMultiSelectBase, ElderMultiSelectChipOptionsComponent, ElderMultiSelectChipsComponent, ElderMultiSelectChipsOptionsDirective, ElderMultiSelectFormField, ElderMultiTranslateHttpLoader, ElderMultipleOfUtil, ElderMultipleOfValidator, ElderNavGroupComponent, ElderNavLinkComponent, ElderNavListComponent, ElderNavModule, ElderNextFocusableDirective, ElderNumberCellDirective, ElderOfflineIndicatorComponent, ElderOverlayComponent, ElderOverlayModule, ElderOverlayOriginDirective, ElderOverlayRef, ElderOverlayTriggerDirective, ElderPaddingDirective, ElderPaneActionsComponent, ElderPaneComponent, ElderPaneContentComponent, ElderPaneHeaderComponent, ElderPaneSubtitleComponent, ElderPaneTitleComponent, ElderPanelModule, ElderPeriodInputComponent, ElderPipesModule, ElderPlugParentFormDirective, ElderPopoverComponent, ElderPopoverTriggerDirective, ElderProgressBarComponent, ElderProgressBarModule, ElderQuantityFormFieldComponent, ElderQuantityInputControlComponent, ElderQuantityPipe, ElderQuantityRangeValidator, ElderQuantityService, ElderQuantityTransformPipe, ElderQuestionDialogComponent, ElderRailNavDirective, ElderRepeatPipe, ElderRequiredDimensionsValidator, ElderRequiredIgnoreZeroValidator, ElderRequiredQuantityValidator, ElderResizableDirective, ElderResizablePaneLayoutComponent, ElderResizeBehaviorDirective, ElderResizeContainerComponent, 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, ElderShellStaticNavSlotDirective, ElderSinglePaneWrapperComponent, ElderSingleStateCheckboxDirective, ElderStackCardDirective, ElderStaticNavToggleComponent, ElderStopEventPropagationDirective, ElderSuggestionPanelComponent, ElderTabDirective, ElderTabFocusTrapDirective, ElderTabGroupRoutingDirective, ElderTabModule, ElderTableActivationDirective, ElderTableComponent, ElderTableDropListConnectorDirective, ElderTableExtensionDirective, ElderTableGroup, ElderTableModel, ElderTableModelCdkTableBinding, ElderTableModelQueryGroup, ElderTableModule, ElderTableNavigationBarDirective, ElderTableProviders, ElderTableRootDirective, ElderTableSelectionCellComponent, ElderTableSortDirective, ElderTableToolbarDirective, ElderThemeApplierDirective, ElderThemeDirective, ElderThemeModule, ElderThemePreferenceService, ElderThemeService, ElderThemeToggleComponent, ElderTileComponent, ElderTimeModule, ElderToastModule, ElderToastService, ElderTogglePanelComponent, ElderTogglePanelPrimaryDirective, ElderTogglePanelSecondaryDirective, ElderTogglePanelTriggerDirective, ElderToggleTextInputDirective, ElderToolbarColumnDirective, ElderToolbarComponent, ElderToolbarContentDirective, ElderToolbarModule, ElderToolbarService, ElderToolbarTitleComponent, ElderToolbarTitleService, ElderTouchedDirective, ElderTripleStateCheckboxDirective, ElderTruncatePipe, ElderUnitSelectDirective, ElderUnitService, ElderUrlFragment, ElderUrlFragmentModule, ElderUrlFragmentParamsService, ElderUrlFragmentSwitcherComponent, ElderValidationErrorDirective, EntitiesChangeEvent, EntityDelta, EntityIdUtil, EntitySetPatch, ErrorUtil, ExceptionDetailCtx, FallbackValidationMessageStrategy, FileEntry, FileListingRx, FileUploadClient, Filter, FilterContext, FilterUtil, FocusUtil, FormFieldBaseComponent, GlobalDragDropService, 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, ItemModel, JsonMapUtil, KafentConfig, KafentEvent, KafentEventService, KafentEventStream, KafentEventStreamDisabled, KafentEventStreamSse, KafentEventTransport, KafentModule, KafentSseEventChannel, KafentTokenProvider, KafentTokenProviderSessionStorage, KafentTopicSse, KnownElderThemes, KnownLocaleTags, LocalDataFilter, LocalListDataSource, LocalPagedDataSource, Locale, LocalisationPickerService, MasterDetailActivationEvent, MasterSelectionState, MatTableDataContextBinding, MatTableDataContextBindingBuilder, ModifierKeyService, ModifierKeyState, MultiModelBaseComponent, NamedColorDirective, NamedColorSelectDirective, NamedColorSelectValueComponent, NextNumberUtil, ObjectFieldMatcher, ObjectPathResolver, Objects, OnlineStatus, Page, PageRequest, Pageable, ParseUtil, Path, PathNode, PeriodBucket, PeriodDuration, PeriodFormat, PhoneFormatService, PhonePipe, ProcessIterationContext, ProcessState, PropertyPathUtil, Quantity, QueryListBinding, QuestionDialogConfig, ReactiveEventSource, ReactiveEventSourceState, ReactiveFetchEventSource, ReactiveFetchEventSourceService, ReactiveMap, ReactiveSSeMessage, RefreshingEntity, ResizeObserverDirective, RestClient, RestClientConfig, RestClientContinuable, RestClientList, RestClientPaged, RoutedTabActivationFailed, SearchInputState, SelectChipSpecUtil, SelectOptionChipSpecUtil, SelectionChangedEvent, SelectionEventSource, SelectionModel, SelectionModelPopupDirective, Sets, SimpleLocalisationPicker, SimpleSearchInput, Sort, SortUtil, StandardToastComponent, SubBar, SuggestionProvider, TargetValue, 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, ValueChangeEvent, ValueWrapper, ViewDropModelUpdateInstruction, ViewProviders, WebLocalStorage, WebSessionStorage, WebappDomainFragmentSpec, WebappDomainSpec, WebappDomainSpecService, WebappDomainSwitcherDirective, WebappUrlFragmentSwitcherConfig, WeightPipe, alphaNumStringComparator, booleanTransformFn, buildFormIntegrationProviders, coerceInterval, coerceIntervalIsoStr, createDataOptionsProvider, createSelectionModel, elderChipColorLevels, elderChipColorStates, elderNamedColorRoles, elderNamedColorToken, elderNamedColors, existingOrNewElderTableModel, initSearchUrlService, isActivePagedDataContext, isContinuableDataContext, isContinuableDataSource, isDataContext, isDataSource, isDataViewMessageType, isElderEntityValueAccessor, isElderMultiEntityValueAccessor, isListDataSource, isLocalListDataSource, isPagedDataSource, lazySample, lazySampleTime, naturalValueComparator, newElderTableModel, provideElderBrandAssets, provideElderDefaults, provideElderLanguage, proxyControlContainer, registerLocale, runInZone, someSignal, themeInit };
39571
+ export { ActivationEventSource, ActivationModel, Arrays, AuditedEntity, AutoStartSpec, Batcher, BlobUrl, BytesFormat, BytesPerSecondFormat, BytesPipe, CardDropEvent, CardOrganizerData, CardStack, CollectionUtil, CommonValidationMessageStrategy, ComparatorBuilder, CompositeSort, ConfirmDialogConfig, ContinuableListing, CountryPhoneFormatService, CsvColumnSpec, CsvSerializer, CsvSpec, CsvStreamExporter, CsvStreamExporterBuilder, CsvStreamExporterBuilderService, CuratedDataSource, CuratedListDataSource, CuratedPagedDataSource, Currency, CurrencyCode, CurrencyFormatUtil, CurrencyUnit, CurrencyUnitRegistry, CustomDateAdapter, CustomMatcherSpec, DataContextActivePage, DataContextAutoStarter, DataContextBase, DataContextBuilder, DataContextContinuableBase, DataContextContinuablePaged, DataContextContinuableToken, DataContextLifeCycleBinding, DataContextRange, DataContextSelectionDirective, DataContextSimple, DataContextSnapshot, DataContextSourceEventBinding, DataContextStateIndicatorComponent, DataContextStatus, DataSelectionController, DataSourceAdapter, DataSourceBase, DataSourceChangeEvent, DataSourceEntityPatch, DataSourceProcessor, DataTransferFactory, DataTransferProgress, DataTransferProgressAggregate, DataTransferState, DataTransferStatus, DataViewActivationController, DataViewDndControllerService, DataViewDndGroupControllerService, DataViewDndModelUtil, DataViewDragEnteredEvent, DataViewDragExitedEvent, DataViewIframeAdapterDirective, DataViewIframeComponent, DataViewInteractionControllerDirective, DataViewItemDropEvent, DataViewMessage, DataViewMessageTypeValues, DataViewOptionsProviderBinding, DataViewSelection, DataViewSelectionInit, DateUtil, DelegateContinuableDataSource, DelegateDataSource, DelegateListDataSource, DelegatePagedDataSource, Dimensions, DomUtil, DrawerOutletBinding, DurationBucket, DurationFormat, DurationFormatUtil, DynamicValidationMessageStrategy, ELDER_DATA_VIEW, ELDER_SELECT_BASE, ElderAccessDeniedComponent, ElderAccessDeniedModule, ElderAppHeaderComponent, ElderAppearanceSettingsComponent, ElderAuditModule, ElderAuditedEntityComponent, ElderAutoSelectFirstDirective, ElderAutoSelectSuggestFirstDirective, ElderAutocompleteDirective, ElderAutocompleteManyDirective, ElderAutocompleteModule, ElderBadgeDirective, 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, ElderContinuatorComponent, ElderCsvExportBtnComponent, ElderCsvModule, ElderCurrencyModule, ElderCurrencyPipe, ElderDataActivationDirective, ElderDataCommonModule, ElderDataToolbarComponent, ElderDataTransferModule, ElderDataTransferService, ElderDataViewBaseComponent, ElderDataViewDndDirective, ElderDataViewDndGroupDirective, ElderDataViewItemDragDirective, 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, ElderGenericResizableLayoutComponent, ElderGridActivationDirective, ElderGridComponent, ElderGridModule, ElderGridNavigationBarDirective, ElderGridTileDirective, ElderGridToolbarDirective, ElderHeaderComponent, ElderHeaderModule, ElderI18nEntitiesModule, ElderIFrameModule, ElderInfiniteAutocompleteDirective, ElderInfiniteScrollDirective, ElderInfiniteScrollModule, ElderInputPatternDirective, ElderIntervalInputComponent, ElderIntervalPickerBindingDirective, ElderIntervalPickerComponent, ElderIntervalPickerToggleComponent, ElderKeyEventDirective, ElderLabelInputComponent, ElderLabelsModule, ElderLanguageConfig, ElderLanguageInterceptor, ElderLanguageService, ElderLanguageSwitcherComponent, ElderLocalDateInputComponent, ElderLocalDndSupportDirective, ElderLocalTimeInputComponent, ElderLocalesDeChModule, ElderLocalizedInputComponent, ElderLocalizedInputDialogComponent, ElderLocalizedInputDialogService, ElderLocalizedInputTableComponent, ElderLocalizedTextColumnDirective, ElderLocalizedTextsDirective, ElderLock, ElderLockContext, ElderLockContextDirective, ElderLockManagerService, ElderLockWarningService, ElderMasterActivationDirective, ElderMasterDetailComponent, ElderMasterDetailModule, ElderMasterDetailService, ElderMasterDirective, ElderMaxValidator, ElderMeasuresModule, ElderMinValidator, ElderMultiEntityValueAccessorUtil, ElderMultiSelectAllInitialDirective, ElderMultiSelectBase, ElderMultiSelectChipOptionsComponent, ElderMultiSelectChipsComponent, ElderMultiSelectChipsOptionsDirective, ElderMultiSelectFormField, ElderMultiTranslateHttpLoader, ElderMultipleOfUtil, ElderMultipleOfValidator, ElderNavGroupComponent, ElderNavLinkComponent, ElderNavListComponent, ElderNavModule, ElderNextFocusableDirective, ElderNumberCellDirective, ElderOfflineIndicatorComponent, ElderOverlayComponent, ElderOverlayModule, ElderOverlayOriginDirective, ElderOverlayRef, ElderOverlayTriggerDirective, ElderPaddingDirective, ElderPaneActionsComponent, ElderPaneComponent, ElderPaneContentComponent, ElderPaneHeaderComponent, ElderPaneSubtitleComponent, ElderPaneTitleComponent, ElderPanelModule, ElderPeriodInputComponent, ElderPipesModule, ElderPlugParentFormDirective, ElderPopoverComponent, ElderPopoverTriggerDirective, ElderProgressBarComponent, ElderProgressBarModule, ElderQuantityFormFieldComponent, ElderQuantityInputControlComponent, ElderQuantityPipe, ElderQuantityRangeValidator, ElderQuantityService, ElderQuantityTransformPipe, ElderQuestionDialogComponent, ElderRailNavDirective, ElderRepeatPipe, ElderRequiredDimensionsValidator, ElderRequiredIgnoreZeroValidator, ElderRequiredQuantityValidator, ElderResizableDirective, ElderResizablePaneLayoutComponent, ElderResizeBehaviorDirective, ElderResizeContainerComponent, 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, ElderShellStaticNavSlotDirective, ElderSinglePaneWrapperComponent, ElderSingleStateCheckboxDirective, ElderStackCardDirective, ElderStaticNavToggleComponent, ElderStopEventPropagationDirective, ElderSuggestionPanelComponent, ElderTabDirective, ElderTabFocusTrapDirective, ElderTabGroupRoutingDirective, ElderTabModule, ElderTableActivationDirective, ElderTableComponent, ElderTableDropListConnectorDirective, ElderTableExtensionDirective, ElderTableGroup, ElderTableModel, ElderTableModelCdkTableBinding, ElderTableModelQueryGroup, ElderTableModule, ElderTableNavigationBarDirective, ElderTableProviders, ElderTableRootDirective, ElderTableSelectionCellComponent, ElderTableSortDirective, ElderTableToolbarDirective, ElderThemeApplierDirective, ElderThemeDirective, ElderThemeModule, ElderThemePreferenceService, ElderThemeService, ElderThemeToggleComponent, ElderTileComponent, ElderTimeModule, ElderToastModule, ElderToastService, ElderTogglePanelComponent, ElderTogglePanelPrimaryDirective, ElderTogglePanelSecondaryDirective, ElderTogglePanelTriggerDirective, ElderToggleTextInputDirective, ElderToolbarColumnDirective, ElderToolbarComponent, ElderToolbarContentDirective, ElderToolbarModule, ElderToolbarService, ElderToolbarTitleComponent, ElderToolbarTitleService, ElderTouchedDirective, ElderTranslatePipe, ElderTranslateService, ElderTripleStateCheckboxDirective, ElderTruncatePipe, ElderUnitSelectDirective, ElderUnitService, ElderUrlFragment, ElderUrlFragmentModule, ElderUrlFragmentParamsService, ElderUrlFragmentSwitcherComponent, ElderValidationErrorDirective, EntitiesChangeEvent, EntityDelta, EntityIdUtil, EntitySetPatch, ErrorUtil, ExceptionDetailCtx, FallbackValidationMessageStrategy, FileEntry, FileListingRx, FileUploadClient, Filter, FilterContext, FilterUtil, FocusUtil, FormFieldBaseComponent, GlobalDragDropService, 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, ItemModel, JsonMapUtil, KafentConfig, KafentEvent, KafentEventService, KafentEventStream, KafentEventStreamDisabled, KafentEventStreamSse, KafentEventTransport, KafentModule, KafentSseEventChannel, KafentTokenProvider, KafentTokenProviderSessionStorage, KafentTopicSse, KnownElderThemes, KnownLocaleTags, LocalDataFilter, LocalListDataSource, LocalPagedDataSource, Locale, LocalisationPickerService, MasterDetailActivationEvent, MasterSelectionState, MatTableDataContextBinding, MatTableDataContextBindingBuilder, ModifierKeyService, ModifierKeyState, MultiModelBaseComponent, NamedColorDirective, NamedColorSelectDirective, NamedColorSelectValueComponent, NextNumberUtil, ObjectFieldMatcher, ObjectPathResolver, Objects, OnlineStatus, Page, PageRequest, Pageable, ParseUtil, Path, PathNode, PeriodBucket, PeriodDuration, PeriodFormat, PhoneFormatService, PhonePipe, ProcessIterationContext, ProcessState, PropertyPathUtil, Quantity, QueryListBinding, QuestionDialogConfig, ReactiveEventSource, ReactiveEventSourceState, ReactiveFetchEventSource, ReactiveFetchEventSourceService, ReactiveMap, ReactiveSSeMessage, RefreshingEntity, ResizeObserverDirective, RestClient, RestClientConfig, RestClientContinuable, RestClientList, RestClientPaged, RoutedTabActivationFailed, SearchInputState, SelectChipSpecUtil, SelectOptionChipSpecUtil, SelectionChangedEvent, SelectionEventSource, SelectionModel, SelectionModelPopupDirective, Sets, SimpleLocalisationPicker, SimpleSearchInput, Sort, SortUtil, StandardToastComponent, SubBar, SuggestionProvider, TargetValue, 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, ValueChangeEvent, ValueWrapper, ViewDropModelUpdateInstruction, ViewProviders, WebLocalStorage, WebSessionStorage, WebappDomainFragmentSpec, WebappDomainSpec, WebappDomainSpecService, WebappDomainSwitcherDirective, WebappUrlFragmentSwitcherConfig, WeightPipe, alphaNumStringComparator, booleanTransformFn, buildFormIntegrationProviders, coerceInterval, coerceIntervalIsoStr, createDataOptionsProvider, createElderDefaultTranslateLoader, createSelectionModel, elderChipColorLevels, elderChipColorStates, elderNamedColorRoles, elderNamedColorToken, elderNamedColors, existingOrNewElderTableModel, initSearchUrlService, isActivePagedDataContext, isContinuableDataContext, isContinuableDataSource, isDataContext, isDataSource, isDataViewMessageType, isElderEntityValueAccessor, isElderMultiEntityValueAccessor, isListDataSource, isLocalListDataSource, isPagedDataSource, lazySample, lazySampleTime, naturalValueComparator, newElderTableModel, provideElderBrandAssets, provideElderDefaults, provideElderLanguage, provideElderTranslate, proxyControlContainer, registerLocale, runInZone, someSignal, themeInit };
39428
39572
  //# sourceMappingURL=elderbyte-ngx-starter.mjs.map