@elderbyte/ngx-starter 21.0.0-beta.0 → 21.0.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.
@@ -124,7 +124,6 @@ class TimeAgoPipe {
124
124
  this.changeDetectorRef = changeDetectorRef;
125
125
  this.ngZone = ngZone;
126
126
  }
127
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
128
127
  transform(value) {
129
128
  this.removeTimer();
130
129
  if (!value) {
@@ -185,14 +184,12 @@ class TimeAgoPipe {
185
184
  ngOnDestroy() {
186
185
  this.removeTimer();
187
186
  }
188
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
189
187
  removeTimer() {
190
188
  if (this.timer) {
191
189
  window.clearTimeout(this.timer);
192
190
  this.timer = null;
193
191
  }
194
192
  }
195
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
196
193
  getSecondsUntilUpdate(seconds) {
197
194
  const min = 60;
198
195
  const hr = min * 60;
@@ -288,7 +285,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImpor
288
285
  */
289
286
  class TimeDurationPipe {
290
287
  constructor() { }
291
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
292
288
  transform(value = 0, unit = 's', precision = null) {
293
289
  if (isNaN(parseFloat(String(value))) || !isFinite(value)) {
294
290
  return '?';
@@ -384,7 +380,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImpor
384
380
  class ElderRepeatPipe {
385
381
  transform(value) {
386
382
  const iterable = {};
387
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
388
383
  iterable[Symbol.iterator] = function* () {
389
384
  let n = 0;
390
385
  while (n < value) {
@@ -407,7 +402,6 @@ class ElderSafeUrlPipe {
407
402
  constructor(domSanitizer) {
408
403
  this.domSanitizer = domSanitizer;
409
404
  }
410
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
411
405
  transform(url) {
412
406
  return this.domSanitizer.bypassSecurityTrustResourceUrl(url);
413
407
  }
@@ -1096,7 +1090,6 @@ class Interval {
1096
1090
  static ofDay(day, zoneId) {
1097
1091
  return Interval.betweenDays(day, day.plusDays(1), zoneId);
1098
1092
  }
1099
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
1100
1093
  static betweenDays(startDayInclusive, endDayExclusive, zoneId) {
1101
1094
  return Interval.of(startDayInclusive.atStartOfDay(zoneId).toInstant(), endDayExclusive.atStartOfDay(zoneId).toInstant());
1102
1095
  }
@@ -1834,7 +1827,6 @@ class Arrays {
1834
1827
  * @param arrayB
1835
1828
  * @param equalsFn Optional Equality Operator. If omitted, reference equality is used.
1836
1829
  */
1837
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
1838
1830
  static equalContentAndOrder(arrayA, arrayB, equalsFn = (a, b) => a === b) {
1839
1831
  if (!arrayA?.length && !arrayB?.length) {
1840
1832
  return true;
@@ -1861,7 +1853,6 @@ class Sets {
1861
1853
  * @param as
1862
1854
  * @param bs
1863
1855
  */
1864
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
1865
1856
  static equals(as, bs) {
1866
1857
  if (as.size !== bs.size) {
1867
1858
  return false;
@@ -1879,7 +1870,6 @@ class Sets {
1879
1870
  * @param idsA
1880
1871
  * @param idsB
1881
1872
  */
1882
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
1883
1873
  static equalContent(idsA, idsB) {
1884
1874
  if (!idsA?.length && !idsB?.length) {
1885
1875
  return true;
@@ -1897,8 +1887,7 @@ class Sets {
1897
1887
  * Checks if the given set contains every given element
1898
1888
  */
1899
1889
  static containsEvery(set, elements) {
1900
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
1901
- const predicateFn = (e) => set.has(e); // aot does not like lambdas
1890
+ const predicateFn = (e) => set.has(e);
1902
1891
  return elements.every(predicateFn);
1903
1892
  }
1904
1893
  }
@@ -2701,7 +2690,6 @@ class Filter {
2701
2690
  * Checks if this filter supports multiple values.
2702
2691
  * @param filter
2703
2692
  */
2704
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
2705
2693
  static isMulti(filter) {
2706
2694
  return Array.isArray(filter.value);
2707
2695
  }
@@ -3269,14 +3257,12 @@ class FilterContext {
3269
3257
  * Replace all existing filters with the given new ones.
3270
3258
  * @param newFilters
3271
3259
  */
3272
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
3273
3260
  replaceFilters(newFilters) {
3274
3261
  this._filters$.next(newFilters || []);
3275
3262
  }
3276
3263
  clear() {
3277
3264
  this.replaceFilters([]);
3278
3265
  }
3279
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
3280
3266
  mergeFilters(filters) {
3281
3267
  filters.forEach((filter) => this.mergeFilter(filter));
3282
3268
  }
@@ -3571,7 +3557,6 @@ class HttpParamsBuilder {
3571
3557
  }
3572
3558
  return this;
3573
3559
  }
3574
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
3575
3560
  appendArray(key, value) {
3576
3561
  if (value.length > 0) {
3577
3562
  value.forEach((v) => this.append(key, v));
@@ -3834,7 +3819,6 @@ class IndexedEntities {
3834
3819
  * Replaces all existing entities with the new ones.
3835
3820
  * The index is rebuilt. O(n)
3836
3821
  */
3837
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
3838
3822
  replaceAll(newEntities = []) {
3839
3823
  if (this.localSortFn) {
3840
3824
  newEntities = this.localSortFn(newEntities, this.sortContext.sortsSnapshot);
@@ -3847,7 +3831,6 @@ class IndexedEntities {
3847
3831
  * Provided updated entities which are currently not in this index are ignored.
3848
3832
  * @param updated
3849
3833
  */
3850
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
3851
3834
  updateSome(updated) {
3852
3835
  const newData = [...this.entitiesSnapshot];
3853
3836
  let anyUpdated = false;
@@ -3914,7 +3897,6 @@ class IndexedEntities {
3914
3897
  notify() {
3915
3898
  this._entities$.next(this._entities$.getValue());
3916
3899
  }
3917
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
3918
3900
  destroy() {
3919
3901
  this._entities$.complete();
3920
3902
  this._idToArrayIndex.clear();
@@ -3928,7 +3910,6 @@ class IndexedEntities {
3928
3910
  this._idToArrayIndex.clear();
3929
3911
  this.reIndexFrom(entities, 0);
3930
3912
  }
3931
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
3932
3913
  reIndexFrom(entities, startIndex) {
3933
3914
  for (let i = startIndex; i < entities.length; i++) {
3934
3915
  const entity = entities[i];
@@ -4094,7 +4075,6 @@ class SortContext {
4094
4075
  * Replace all existing filters with the given new ones.
4095
4076
  * @param newSorts
4096
4077
  */
4097
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
4098
4078
  replaceSorts(newSorts) {
4099
4079
  this._sorts.next(newSorts || []);
4100
4080
  }
@@ -4890,14 +4870,12 @@ class DataContextActivePage extends DataContextBase {
4890
4870
  * Set the current page index and reload.
4891
4871
  * @param pageIndex
4892
4872
  */
4893
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
4894
4873
  setActiveIndex(pageIndex) {
4895
4874
  this.setActivePage(new PageRequest(pageIndex, this.pageSnapshot.size));
4896
4875
  }
4897
4876
  /**
4898
4877
  * Sets the current page index / size and reload.
4899
4878
  */
4900
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
4901
4879
  setActivePage(request) {
4902
4880
  if (!request) {
4903
4881
  throw new Error(this.id + ': Setting page PageRequest must not be null!');
@@ -5313,7 +5291,6 @@ class DataContextAutoStarter extends DataContextLifeCycleBinding {
5313
5291
  buildRequiredFilterConditionObservable() {
5314
5292
  return new RequiredFilterEvaluator(this._dataContext.filter, this._autoStartSpec.requiredFilters).context$.pipe(map((event) => event.isValid));
5315
5293
  }
5316
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
5317
5294
  startDataContext() {
5318
5295
  this.logger.debug(this._dataContext.id + ': Auto starting ...');
5319
5296
  this._dataContext.start(this._autoStartSpec.initialSort);
@@ -5421,6 +5398,7 @@ class DataContextSourceEventBinding extends DataContextLifeCycleBinding {
5421
5398
  this._dataContext.update(entities);
5422
5399
  }
5423
5400
  }
5401
+ // TODO: check logic and add correct return type (should it coerce to boolean?).
5424
5402
  // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
5425
5403
  isReloadDesirable(event) {
5426
5404
  return event.unknownChanges || event.created || event.deletedIds;
@@ -5897,7 +5875,6 @@ class DelegateDataSource {
5897
5875
  * *
5898
5876
  **************************************************************************/
5899
5877
  static emptyListFetcher() {
5900
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
5901
5878
  const empty = () => EMPTY; // AOT Ignore
5902
5879
  return DelegateDataSource.listFetcher(empty, 'id', empty, empty);
5903
5880
  }
@@ -5905,7 +5882,6 @@ class DelegateDataSource {
5905
5882
  return new DelegateListDataSource(listFetcher, idProperty, findByIdFn, findAllByIdFn);
5906
5883
  }
5907
5884
  static emptyPageFetcher() {
5908
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
5909
5885
  const empty = () => EMPTY; // AOT Ignore
5910
5886
  return DelegateDataSource.pageFetcher(empty, 'id', empty);
5911
5887
  }
@@ -5913,7 +5889,6 @@ class DelegateDataSource {
5913
5889
  return new DelegatePagedDataSource(pageFetcher, idProperty, findByIdFn, findAllByIdFn);
5914
5890
  }
5915
5891
  static emptyContinuableFetcher() {
5916
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
5917
5892
  const empty = () => EMPTY; // AOT Ignore
5918
5893
  return DelegateDataSource.continuableFetcher(empty, 'id', empty);
5919
5894
  }
@@ -7144,11 +7119,9 @@ class ValueAccessorBase {
7144
7119
  }
7145
7120
  this.writeValueInternal(value);
7146
7121
  }
7147
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
7148
7122
  registerOnChange(fn) {
7149
7123
  this._changed.push(fn);
7150
7124
  }
7151
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
7152
7125
  registerOnTouched(fn) {
7153
7126
  this._touched.push(fn);
7154
7127
  }
@@ -7699,7 +7672,6 @@ class ElderFromFieldBase {
7699
7672
  * Public API *
7700
7673
  * *
7701
7674
  **************************************************************************/
7702
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
7703
7675
  applyToControl(applyFn) {
7704
7676
  const ctrl = this.formFieldControl;
7705
7677
  if (ctrl) {
@@ -8397,12 +8369,10 @@ class ValueWrapper {
8397
8369
  function runInZone(zone) {
8398
8370
  return (source) => {
8399
8371
  return new Observable((observer) => {
8400
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
8401
8372
  const onNext = (value) => zone.run(() => observer.next(value));
8402
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
8403
8373
  const onError = (e) => zone.run(() => observer.error(e));
8404
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
8405
8374
  const onComplete = () => zone.run(() => observer.complete());
8375
+ // TODO: replace deprecated rxjs
8406
8376
  return source.subscribe(onNext, onError, onComplete);
8407
8377
  });
8408
8378
  };
@@ -8839,7 +8809,6 @@ var DataTransferStatus;
8839
8809
  * Immutable.
8840
8810
  */
8841
8811
  class DataTransferProgress {
8842
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
8843
8812
  static none(totalBytes) {
8844
8813
  return new DataTransferProgress(0, 0, 0, totalBytes, 0);
8845
8814
  }
@@ -9577,7 +9546,6 @@ class ElderEnumTranslationService {
9577
9546
  .get(translationPrefix + '.' + enumKey)
9578
9547
  .pipe(map((translatedValue) => new TranslatedEnumValue(enumKey, this.addPrefixIfNotNull(enumKey, translatedValue))));
9579
9548
  }
9580
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
9581
9549
  addPrefixIfNotNull(enumKey, translatedValue) {
9582
9550
  return enumKey ? translatedValue : '';
9583
9551
  }
@@ -9779,7 +9747,6 @@ class RefreshingEntity {
9779
9747
  return new RefreshingEntity(dataSource, entity, refreshPredicate, interval);
9780
9748
  }
9781
9749
  static of(fallback) {
9782
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
9783
9750
  const neverRefreshFn = (x) => false;
9784
9751
  return RefreshingEntity.refreshWhile(fallback, null, neverRefreshFn);
9785
9752
  }
@@ -10220,11 +10187,9 @@ class ReactiveMap {
10220
10187
  return this._map.getValue().has(key);
10221
10188
  }
10222
10189
  // ---
10223
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
10224
10190
  get [Symbol.toStringTag]() {
10225
10191
  return this._map.getValue()[Symbol.toStringTag];
10226
10192
  }
10227
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
10228
10193
  get [Symbol.iterator]() {
10229
10194
  return this._map.getValue()[Symbol.iterator];
10230
10195
  }
@@ -10876,7 +10841,6 @@ class ElderLabelInputComponent extends FormFieldBaseComponent {
10876
10841
  * Public API *
10877
10842
  * *
10878
10843
  **************************************************************************/
10879
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
10880
10844
  labelSelected(event) {
10881
10845
  this.logger.debug('labelSelected:', event);
10882
10846
  const selection = event.option.value;
@@ -10898,12 +10862,10 @@ class ElderLabelInputComponent extends FormFieldBaseComponent {
10898
10862
  }
10899
10863
  }
10900
10864
  }
10901
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
10902
10865
  addLabels(labels) {
10903
10866
  const current = this.value ? this.value : [];
10904
10867
  this.replaceWith([...current, ...labels]);
10905
10868
  }
10906
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
10907
10869
  addLabel(label) {
10908
10870
  this.addLabels([label]);
10909
10871
  }
@@ -11537,7 +11499,6 @@ class ElderFileSelectInput {
11537
11499
  this.clearFileList();
11538
11500
  this._filesSelected.next(files);
11539
11501
  }
11540
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
11541
11502
  clearFileList() {
11542
11503
  // not nice but works
11543
11504
  this._fileInput.value = null;
@@ -12444,7 +12405,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImpor
12444
12405
  }], ctorParameters: () => [{ type: i1$2.TranslateService }, { type: i1$6.MatSnackBar }] });
12445
12406
 
12446
12407
  class BlobContext {
12447
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
12448
12408
  static textBlob(text, mimeType) {
12449
12409
  return new BlobContext(null, mimeType, text);
12450
12410
  }
@@ -14077,7 +14037,6 @@ class ActivationModel {
14077
14037
  * Private methods *
14078
14038
  * *
14079
14039
  **************************************************************************/
14080
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
14081
14040
  updateActiveItem(item, options) {
14082
14041
  if (item !== this.activeItem) {
14083
14042
  this._activeItem$.next(item);
@@ -14339,6 +14298,8 @@ class ElderDataViewBaseComponent {
14339
14298
  */
14340
14299
  this.cleanUp = input(true, { ...(ngDevMode ? { debugName: "cleanUp" } : {}), transform: booleanTransformFn });
14341
14300
  this.dense = input(false, { ...(ngDevMode ? { debugName: "dense" } : {}), transform: booleanTransformFn });
14301
+ this.pageSizeOptions = input([30, 50, 100, 150, 250], { ...(ngDevMode ? { debugName: "pageSizeOptions" } : {}) });
14302
+ // TODO: check logic and add correct return type.
14342
14303
  // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
14343
14304
  this.EntityIdKeyFn = (entity) => (entity ? this.getId(entity) : 0);
14344
14305
  this.destroy$ = new Subject();
@@ -14505,13 +14466,13 @@ class ElderDataViewBaseComponent {
14505
14466
  */
14506
14467
  set embedded(value) { }
14507
14468
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: ElderDataViewBaseComponent, deps: [{ token: SelectionModel }, { token: ElderDataViewOptionsProvider }, { token: DataViewInteractionControllerDirective }], target: i0.ɵɵFactoryTarget.Directive }); }
14508
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.1", type: ElderDataViewBaseComponent, isStandalone: true, inputs: { interactionMode: { classPropertyName: "interactionMode", publicName: "interactionMode", isSignal: false, isRequired: false, transformFunction: null }, cleanUp: { classPropertyName: "cleanUp", publicName: "cleanUp", isSignal: true, isRequired: false, transformFunction: null }, dense: { classPropertyName: "dense", publicName: "dense", isSignal: true, isRequired: false, transformFunction: null }, selectableEvaluatorFn: { classPropertyName: "selectableEvaluatorFn", publicName: "selectableEvaluatorFn", isSignal: false, isRequired: false, transformFunction: null }, selection: { classPropertyName: "selection", publicName: "selection", isSignal: false, isRequired: false, transformFunction: null }, selectionMultiEnabled: { classPropertyName: "selectionMultiEnabled", publicName: "selectionMultiEnabled", isSignal: false, isRequired: false, transformFunction: null }, float: { classPropertyName: "float", publicName: "float", isSignal: false, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: false, isRequired: false, transformFunction: null }, embedded: { classPropertyName: "embedded", publicName: "embedded", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { selectionSingleChange: "selectionSingleChange", selectionChange: "selectionChange", itemClick: "itemClick" }, ngImport: i0 }); }
14469
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.1", type: ElderDataViewBaseComponent, isStandalone: true, inputs: { interactionMode: { classPropertyName: "interactionMode", publicName: "interactionMode", isSignal: false, isRequired: false, transformFunction: null }, cleanUp: { classPropertyName: "cleanUp", publicName: "cleanUp", isSignal: true, isRequired: false, transformFunction: null }, dense: { classPropertyName: "dense", publicName: "dense", isSignal: true, isRequired: false, transformFunction: null }, pageSizeOptions: { classPropertyName: "pageSizeOptions", publicName: "pageSizeOptions", isSignal: true, isRequired: false, transformFunction: null }, selectableEvaluatorFn: { classPropertyName: "selectableEvaluatorFn", publicName: "selectableEvaluatorFn", isSignal: false, isRequired: false, transformFunction: null }, selection: { classPropertyName: "selection", publicName: "selection", isSignal: false, isRequired: false, transformFunction: null }, selectionMultiEnabled: { classPropertyName: "selectionMultiEnabled", publicName: "selectionMultiEnabled", isSignal: false, isRequired: false, transformFunction: null }, float: { classPropertyName: "float", publicName: "float", isSignal: false, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: false, isRequired: false, transformFunction: null }, embedded: { classPropertyName: "embedded", publicName: "embedded", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { selectionSingleChange: "selectionSingleChange", selectionChange: "selectionChange", itemClick: "itemClick" }, ngImport: i0 }); }
14509
14470
  }
14510
14471
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: ElderDataViewBaseComponent, decorators: [{
14511
14472
  type: Directive
14512
14473
  }], ctorParameters: () => [{ type: SelectionModel }, { type: ElderDataViewOptionsProvider }, { type: DataViewInteractionControllerDirective }], propDecorators: { interactionMode: [{
14513
14474
  type: Input
14514
- }], cleanUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "cleanUp", required: false }] }], dense: [{ type: i0.Input, args: [{ isSignal: true, alias: "dense", required: false }] }], selectionSingleChange: [{
14475
+ }], cleanUp: [{ type: i0.Input, args: [{ isSignal: true, alias: "cleanUp", required: false }] }], dense: [{ type: i0.Input, args: [{ isSignal: true, alias: "dense", required: false }] }], pageSizeOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageSizeOptions", required: false }] }], selectionSingleChange: [{
14515
14476
  type: Output
14516
14477
  }], selectableEvaluatorFn: [{
14517
14478
  type: Input
@@ -14797,7 +14758,6 @@ class ElderQuestionDialogComponent {
14797
14758
  this.data = data;
14798
14759
  }
14799
14760
  ngOnInit() { }
14800
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
14801
14761
  confirm(event) {
14802
14762
  this.dialogRef.close(this.answer);
14803
14763
  }
@@ -16593,7 +16553,6 @@ class ElderDataViewItemDragDirective {
16593
16553
  cdkDrag.disabled = !canDrag;
16594
16554
  }
16595
16555
  }
16596
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
16597
16556
  bindData(cdkDrag, item) {
16598
16557
  if (cdkDrag) {
16599
16558
  cdkDrag.data = item;
@@ -16821,7 +16780,6 @@ class ElderTableRowDirective {
16821
16780
  * Host Bindings *
16822
16781
  * *
16823
16782
  **************************************************************************/
16824
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
16825
16783
  get activated() {
16826
16784
  return this._activated;
16827
16785
  }
@@ -17615,23 +17573,29 @@ class ElderTableDropListConnectorDirective {
17615
17573
  * Constructor *
17616
17574
  * *
17617
17575
  **************************************************************************/
17618
- constructor(dndController, elderTable, cdkDropList) {
17576
+ constructor(dndController, cdkDropList) {
17619
17577
  this.dndController = dndController;
17620
- this.elderTable = elderTable;
17621
17578
  this.cdkDropList = cdkDropList;
17622
17579
  /***************************************************************************
17623
17580
  * *
17624
17581
  * Fields *
17625
17582
  * *
17626
17583
  **************************************************************************/
17627
- this.log = LoggerFactory.getLogger(this.constructor.name);
17584
+ this.tableDropListConntectorId = input(undefined, { ...(ngDevMode ? { debugName: "tableDropListConntectorId" } : {}) });
17628
17585
  // we want drag and drop to be opt-in, so disable by default.
17629
17586
  this.disableDrag(cdkDropList);
17630
- cdkDropList.id = elderTable.id();
17631
17587
  if (this.dndController) {
17632
17588
  this.dndController.register(cdkDropList);
17633
17589
  }
17634
17590
  }
17591
+ ngOnInit() {
17592
+ // Explicitly set the ID for drag-drop connection.
17593
+ // cdkDropList uses the HTML id as fallback if not provided.
17594
+ const id = this.tableDropListConntectorId();
17595
+ if (id) {
17596
+ this.cdkDropList.id = id;
17597
+ }
17598
+ }
17635
17599
  /***************************************************************************
17636
17600
  * *
17637
17601
  * Private Methods *
@@ -17640,8 +17604,8 @@ class ElderTableDropListConnectorDirective {
17640
17604
  disableDrag(cdkDropList) {
17641
17605
  cdkDropList.disabled = true;
17642
17606
  }
17643
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: ElderTableDropListConnectorDirective, deps: [{ token: DataViewDndControllerService, optional: true }, { token: ElderTableComponent }, { token: i2$1.CdkDropList }], target: i0.ɵɵFactoryTarget.Directive }); }
17644
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.1", type: ElderTableDropListConnectorDirective, isStandalone: true, selector: "[elderTableDropListConnector]", hostDirectives: [{ directive: i2$1.CdkDropList }], ngImport: i0 }); }
17607
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: ElderTableDropListConnectorDirective, deps: [{ token: DataViewDndControllerService, optional: true }, { token: i2$1.CdkDropList }], target: i0.ɵɵFactoryTarget.Directive }); }
17608
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.1", type: ElderTableDropListConnectorDirective, isStandalone: true, selector: "[elderTableDropListConnector]", inputs: { tableDropListConntectorId: { classPropertyName: "tableDropListConntectorId", publicName: "tableDropListConntectorId", isSignal: true, isRequired: false, transformFunction: null } }, hostDirectives: [{ directive: i2$1.CdkDropList }], ngImport: i0 }); }
17645
17609
  }
17646
17610
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: ElderTableDropListConnectorDirective, decorators: [{
17647
17611
  type: Directive,
@@ -17651,7 +17615,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImpor
17651
17615
  }]
17652
17616
  }], ctorParameters: () => [{ type: DataViewDndControllerService, decorators: [{
17653
17617
  type: Optional
17654
- }] }, { type: ElderTableComponent }, { type: i2$1.CdkDropList }] });
17618
+ }] }, { type: i2$1.CdkDropList }], propDecorators: { tableDropListConntectorId: [{ type: i0.Input, args: [{ isSignal: true, alias: "tableDropListConntectorId", required: false }] }] } });
17655
17619
 
17656
17620
  class ElderTableSelectionCellComponent {
17657
17621
  /***************************************************************************
@@ -17688,14 +17652,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImpor
17688
17652
  args: [{ selector: 'elder-table-selection-cell', imports: [MatCheckbox], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-row place-start-center\">\n <mat-checkbox\n (click)=\"$event.stopPropagation()\"\n (change)=\"onCheckboxChange($event)\"\n [checked]=\"selected()\"\n [disabled]=\"!selectable()\"\n >\n </mat-checkbox>\n</div>\n" }]
17689
17653
  }], ctorParameters: () => [{ type: DataViewInteractionControllerDirective }], propDecorators: { entity: [{ type: i0.Input, args: [{ isSignal: true, alias: "entity", required: true }] }] } });
17690
17654
 
17691
- class TableNavigationComponent {
17655
+ class ElderDataNavigationComponent {
17692
17656
  /***************************************************************************
17693
17657
  * *
17694
17658
  * Constructor *
17695
17659
  * *
17696
17660
  **************************************************************************/
17697
- constructor(elderTable) {
17698
- this.elderTable = elderTable;
17661
+ constructor() {
17699
17662
  /***************************************************************************
17700
17663
  * *
17701
17664
  * Fields *
@@ -17706,6 +17669,14 @@ class TableNavigationComponent {
17706
17669
  this.elderContinuator = viewChild(ElderContinuatorComponent, { ...(ngDevMode ? { debugName: "elderContinuator" } : {}) });
17707
17670
  this.elderContinuator$ = toObservable(this.elderContinuator);
17708
17671
  this.destroy$ = new Subject();
17672
+ // We don't inject ElderDataViewBaseComponent directly, to avoid circular dependencies.
17673
+ const dataView = inject(ELDER_DATA_VIEW);
17674
+ if (!(dataView instanceof ElderDataViewBaseComponent)) {
17675
+ throw new Error(`${this.constructor.name} requires a parent component that extends ElderDataViewBaseComponent, ` +
17676
+ `but got ${dataView?.constructor?.name}`);
17677
+ }
17678
+ // We type-check dataView at runtime above, to safely use it as ElderDataViewBaseComponent.
17679
+ this.dataView = dataView;
17709
17680
  }
17710
17681
  /***************************************************************************
17711
17682
  * *
@@ -17713,7 +17684,7 @@ class TableNavigationComponent {
17713
17684
  * *
17714
17685
  **************************************************************************/
17715
17686
  ngAfterViewInit() {
17716
- MatTableDataContextBindingBuilder.start(this.elderTable.dataContext$)
17687
+ MatTableDataContextBindingBuilder.start(this.dataView.dataContext$)
17717
17688
  .withPaginator(this.matPaginator$)
17718
17689
  .withContinuator(this.elderContinuator$)
17719
17690
  .bindUntil(this.destroy$);
@@ -17728,39 +17699,39 @@ class TableNavigationComponent {
17728
17699
  * *
17729
17700
  **************************************************************************/
17730
17701
  get isContinuable() {
17731
- return this.elderTable.isContinuable;
17702
+ return this.dataView.isContinuable;
17732
17703
  }
17733
17704
  get isActivePaged() {
17734
- return this.elderTable.isActivePaged;
17705
+ return this.dataView.isActivePaged;
17735
17706
  }
17736
17707
  get total() {
17737
- return this.elderTable.total;
17708
+ return this.dataView.total;
17738
17709
  }
17739
17710
  get viewData() {
17740
- return this.elderTable.viewData;
17711
+ return this.dataView.viewData;
17741
17712
  }
17742
17713
  get canLoadMore() {
17743
- return this.elderTable.canLoadMore;
17714
+ return this.dataView.canLoadMore;
17744
17715
  }
17745
17716
  get pageSizeOptions() {
17746
- return this.elderTable.pageSizeOptions;
17717
+ return this.dataView.pageSizeOptions;
17747
17718
  }
17748
17719
  get currentChunkSize() {
17749
- return this.elderTable.currentChunkSize;
17720
+ return this.dataView.currentChunkSize;
17750
17721
  }
17751
17722
  get currentPage() {
17752
- return this.elderTable.currentPage;
17723
+ return this.dataView.currentPage;
17753
17724
  }
17754
17725
  loadMore() {
17755
- this.elderTable.dataContinuable.loadMore();
17726
+ this.dataView.dataContinuable.loadMore();
17756
17727
  }
17757
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: TableNavigationComponent, deps: [{ token: ElderTableComponent }], target: i0.ɵɵFactoryTarget.Component }); }
17758
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.1", type: TableNavigationComponent, isStandalone: true, selector: "elder-table-navigation", viewQueries: [{ propertyName: "matPaginator", first: true, predicate: MatPaginator, descendants: true, isSignal: true }, { propertyName: "elderContinuator", first: true, predicate: ElderContinuatorComponent, descendants: true, isSignal: true }], ngImport: i0, template: "@if (isContinuable) {\n <elder-continuator\n [loadedCount]=\"viewData()?.length\"\n [total]=\"total()\"\n [canLoadMore]=\"canLoadMore()\"\n [chunkSizeOptions]=\"pageSizeOptions()\"\n [chunkSize]=\"currentChunkSize()\"\n (loadMoreRequested)=\"loadMore()\"\n ></elder-continuator>\n} @else if (isActivePaged) {\n @if (currentPage(); as page) {\n <mat-paginator\n class=\"flex-none\"\n [length]=\"total()\"\n [pageIndex]=\"page?.index\"\n [pageSize]=\"page?.size\"\n [pageSizeOptions]=\"pageSizeOptions()\"\n >\n </mat-paginator>\n }\n}\n", styles: [""], dependencies: [{ kind: "component", type: ElderContinuatorComponent, selector: "elder-continuator", inputs: ["loadedCount", "total", "canLoadMore", "chunkSizeOptions", "chunkSize"], outputs: ["loadMoreRequested", "chunkSizeChange"] }, { kind: "component", type: MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
17728
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: ElderDataNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17729
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.1", type: ElderDataNavigationComponent, isStandalone: true, selector: "elder-data-navigation", viewQueries: [{ propertyName: "matPaginator", first: true, predicate: MatPaginator, descendants: true, isSignal: true }, { propertyName: "elderContinuator", first: true, predicate: ElderContinuatorComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"elder-data-navigation-bar layout-row flex-none place-end-center gap-md\">\n @if (isContinuable) {\n <elder-continuator\n [loadedCount]=\"viewData()?.length\"\n [total]=\"total()\"\n [canLoadMore]=\"canLoadMore()\"\n [chunkSizeOptions]=\"pageSizeOptions()\"\n [chunkSize]=\"currentChunkSize()\"\n (loadMoreRequested)=\"loadMore()\"\n ></elder-continuator>\n } @else if (isActivePaged) {\n @if (currentPage(); as page) {\n <mat-paginator\n class=\"flex-none\"\n [length]=\"total()\"\n [pageIndex]=\"page?.index\"\n [pageSize]=\"page?.size\"\n [pageSizeOptions]=\"pageSizeOptions()\"\n >\n </mat-paginator>\n }\n } @else {\n <span class=\"mat-caption noselect pr-md\" style=\"color: var(--md-sys-color-outline)\">\n {{ viewData()?.length }}\n </span>\n }\n</div>\n", styles: [".elder-data-navigation-bar{height:var(--elder-data-element-footer-height);overflow:hidden}\n"], dependencies: [{ kind: "component", type: ElderContinuatorComponent, selector: "elder-continuator", inputs: ["loadedCount", "total", "canLoadMore", "chunkSizeOptions", "chunkSize"], outputs: ["loadMoreRequested", "chunkSizeChange"] }, { kind: "component", type: MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
17759
17730
  }
17760
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: TableNavigationComponent, decorators: [{
17731
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: ElderDataNavigationComponent, decorators: [{
17761
17732
  type: Component,
17762
- args: [{ selector: 'elder-table-navigation', imports: [ElderContinuatorComponent, MatPaginator], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (isContinuable) {\n <elder-continuator\n [loadedCount]=\"viewData()?.length\"\n [total]=\"total()\"\n [canLoadMore]=\"canLoadMore()\"\n [chunkSizeOptions]=\"pageSizeOptions()\"\n [chunkSize]=\"currentChunkSize()\"\n (loadMoreRequested)=\"loadMore()\"\n ></elder-continuator>\n} @else if (isActivePaged) {\n @if (currentPage(); as page) {\n <mat-paginator\n class=\"flex-none\"\n [length]=\"total()\"\n [pageIndex]=\"page?.index\"\n [pageSize]=\"page?.size\"\n [pageSizeOptions]=\"pageSizeOptions()\"\n >\n </mat-paginator>\n }\n}\n" }]
17763
- }], ctorParameters: () => [{ type: ElderTableComponent }], propDecorators: { matPaginator: [{ type: i0.ViewChild, args: [i0.forwardRef(() => MatPaginator), { isSignal: true }] }], elderContinuator: [{ type: i0.ViewChild, args: [i0.forwardRef(() => ElderContinuatorComponent), { isSignal: true }] }] } });
17733
+ args: [{ selector: 'elder-data-navigation', imports: [ElderContinuatorComponent, MatPaginator], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"elder-data-navigation-bar layout-row flex-none place-end-center gap-md\">\n @if (isContinuable) {\n <elder-continuator\n [loadedCount]=\"viewData()?.length\"\n [total]=\"total()\"\n [canLoadMore]=\"canLoadMore()\"\n [chunkSizeOptions]=\"pageSizeOptions()\"\n [chunkSize]=\"currentChunkSize()\"\n (loadMoreRequested)=\"loadMore()\"\n ></elder-continuator>\n } @else if (isActivePaged) {\n @if (currentPage(); as page) {\n <mat-paginator\n class=\"flex-none\"\n [length]=\"total()\"\n [pageIndex]=\"page?.index\"\n [pageSize]=\"page?.size\"\n [pageSizeOptions]=\"pageSizeOptions()\"\n >\n </mat-paginator>\n }\n } @else {\n <span class=\"mat-caption noselect pr-md\" style=\"color: var(--md-sys-color-outline)\">\n {{ viewData()?.length }}\n </span>\n }\n</div>\n", styles: [".elder-data-navigation-bar{height:var(--elder-data-element-footer-height);overflow:hidden}\n"] }]
17734
+ }], ctorParameters: () => [], propDecorators: { matPaginator: [{ type: i0.ViewChild, args: [i0.forwardRef(() => MatPaginator), { isSignal: true }] }], elderContinuator: [{ type: i0.ViewChild, args: [i0.forwardRef(() => ElderContinuatorComponent), { isSignal: true }] }] } });
17764
17735
 
17765
17736
  /**
17766
17737
  * Allows to extend an ElderTable from a parent component.
@@ -17882,7 +17853,6 @@ class ElderTableComponent extends ElderDataViewBaseComponent {
17882
17853
  * Load next chunk after current is done
17883
17854
  */
17884
17855
  this.loadNextQueued = false;
17885
- this.pageSizeOptions = input([30, 50, 100, 150, 250], { ...(ngDevMode ? { debugName: "pageSizeOptions" } : {}) });
17886
17856
  /**
17887
17857
  * ID of the table component.
17888
17858
  */
@@ -18063,13 +18033,13 @@ class ElderTableComponent extends ElderDataViewBaseComponent {
18063
18033
  return rows.find((r) => this.getId(untracked(r.entity)) === this.getId(item));
18064
18034
  }
18065
18035
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", 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.NgZone }, { token: DataViewInteractionControllerDirective }], target: i0.ɵɵFactoryTarget.Component }); }
18066
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.1", type: ElderTableComponent, isStandalone: true, selector: "elder-table", inputs: { pageSizeOptions: { classPropertyName: "pageSizeOptions", publicName: "pageSizeOptions", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, idField: { classPropertyName: "idField", publicName: "idField", isSignal: false, isRequired: false, transformFunction: null }, removingField: { classPropertyName: "removingField", publicName: "removingField", isSignal: false, isRequired: false, transformFunction: null }, hiddenField: { classPropertyName: "hiddenField", publicName: "hiddenField", isSignal: false, isRequired: false, transformFunction: null }, keepSelection: { classPropertyName: "keepSelection", publicName: "keepSelection", isSignal: true, isRequired: false, transformFunction: null }, showFooterRow: { classPropertyName: "showFooterRow", publicName: "showFooterRow", isSignal: true, isRequired: false, transformFunction: null }, denseHorizontal: { classPropertyName: "denseHorizontal", publicName: "denseHorizontal", isSignal: true, isRequired: false, transformFunction: null }, hideHeaderRow: { classPropertyName: "hideHeaderRow", publicName: "hideHeaderRow", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: false, isRequired: false, transformFunction: null }, displayedColumns: { classPropertyName: "displayedColumns", publicName: "displayedColumns", isSignal: false, isRequired: false, transformFunction: null }, selectionVisible: { classPropertyName: "selectionVisible", publicName: "selectionVisible", isSignal: false, isRequired: false, transformFunction: null } }, providers: [
18036
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.1", type: ElderTableComponent, isStandalone: true, selector: "elder-table", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, idField: { classPropertyName: "idField", publicName: "idField", isSignal: false, isRequired: false, transformFunction: null }, removingField: { classPropertyName: "removingField", publicName: "removingField", isSignal: false, isRequired: false, transformFunction: null }, hiddenField: { classPropertyName: "hiddenField", publicName: "hiddenField", isSignal: false, isRequired: false, transformFunction: null }, keepSelection: { classPropertyName: "keepSelection", publicName: "keepSelection", isSignal: true, isRequired: false, transformFunction: null }, showFooterRow: { classPropertyName: "showFooterRow", publicName: "showFooterRow", isSignal: true, isRequired: false, transformFunction: null }, denseHorizontal: { classPropertyName: "denseHorizontal", publicName: "denseHorizontal", isSignal: true, isRequired: false, transformFunction: null }, hideHeaderRow: { classPropertyName: "hideHeaderRow", publicName: "hideHeaderRow", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: false, isRequired: false, transformFunction: null }, displayedColumns: { classPropertyName: "displayedColumns", publicName: "displayedColumns", isSignal: false, isRequired: false, transformFunction: null }, selectionVisible: { classPropertyName: "selectionVisible", publicName: "selectionVisible", isSignal: false, isRequired: false, transformFunction: null } }, providers: [
18067
18037
  ElderTableProviders.ExistingOrNewTableModel,
18068
18038
  {
18069
18039
  provide: ELDER_DATA_VIEW,
18070
18040
  useExisting: forwardRef(() => ElderTableComponent),
18071
18041
  },
18072
- ], queries: [{ propertyName: "navigationBar", first: true, predicate: ElderTableNavigationBarDirective, descendants: true, read: TemplateRef, isSignal: true }, { 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: "rowsQuery", predicate: ElderTableRowDirective, descendants: true }], exportAs: ["elderTable"], usesInheritance: true, hostDirectives: [{ directive: DataViewInteractionControllerDirective }], ngImport: i0, template: "<div class=\"full\" style=\"overflow: hidden\">\n <div class=\"layout-col elder-table full\" [class.elder-table-dense-horizontal]=\"denseHorizontal()\">\n <!-- Toolbar Rows -->\n @for (toolbarRowTemplate of toolbarRowTemplates(); 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(viewData()) ? 'flex' : ''\n }} scrollable elder-table-scroll\"\n elderInfiniteScroll\n [eventThrottle]=\"150\"\n [offsetFactor]=\"2\"\n [ignoreScrollEvent]=\"!isContinuable || !canLoadMore()\"\n (closeToEnd)=\"requestMoreDataZoned($event)\"\n >\n <table\n mat-table\n [id]=\"id()\"\n class=\"elder-mat-inner-table\"\n [trackBy]=\"trackByFn\"\n [dataSource]=\"$any(dc())\"\n [elderDataContextSelection]=\"dc()\"\n #dataSelection=\"elderDataContextSelection\"\n [elderDataContextSelectionModel]=\"selectionModel\"\n elderTableDropListConnector\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 <elder-table-selection-cell\n [entity]=\"entity\"\n class=\"elder-table-checkbox\"\n [class.elder-table-checkbox-visible]=\"dataSelection.selectionState().anySelected\"\n ></elder-table-selection-cell>\n </td>\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n @if (!hideHeaderRow()) {\n <tr mat-header-row *matHeaderRowDef=\"displayedColumnsInner(); sticky: true\"></tr>\n }\n <tr\n mat-row\n class=\"elder-table-row\"\n *matRowDef=\"let entity; columns: displayedColumnsInner()\"\n [elderDataViewItemDrag]=\"entity\"\n [elderTableRow]=\"entity\"\n [highlightSelection]=\"interactionMode === 'selection'\"\n [class.dense]=\"dense()\"\n [class.elder-row-hidden]=\"hiddenField && entity[hiddenField]\"\n [class.elder-row-removing]=\"removingField && entity[removingField]\"\n (click)=\"onItemClick(entity, $event)\"\n (dblclick)=\"onItemDoubleClick(entity)\"\n ></tr>\n @if (showFooterRow()) {\n <tr mat-footer-row *matFooterRowDef=\"displayedColumnsInner(); sticky: true\"></tr>\n }\n </table>\n </div>\n\n @if (!isDataValid(viewData())) {\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 mt-auto\"\n [mode]=\"dcStatus()?.loading ? 'indeterminate' : 'determinate'\"\n [color]=\"dcStatus()?.hasError ? 'warn' : 'primary'\"\n >\n </mat-progress-bar>\n\n <ng-template\n *ngTemplateOutlet=\"navigationBar() ?? defaultNavigationBar; context: { $implicit: this }\"\n ></ng-template>\n </div>\n</div>\n\n<ng-template #defaultNavigationBar>\n <div class=\"layout-row flex-none place-end-center gap-md elder-table-navigation-bar\">\n <elder-table-navigation></elder-table-navigation>\n </div>\n</ng-template>\n", styles: [":host{min-width:0;min-height:0}\n"], 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: "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", "highlightSelection"], 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: "directive", type: ElderDataViewItemDragDirective, selector: "[elderDataViewItemDrag]", inputs: ["elderDataViewItemDrag", "canDragItem"] }, { kind: "directive", type: ElderTableDropListConnectorDirective, selector: "[elderTableDropListConnector]" }, { kind: "component", type: ElderTableSelectionCellComponent, selector: "elder-table-selection-cell", inputs: ["entity"] }, { kind: "component", type: TableNavigationComponent, selector: "elder-table-navigation" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
18042
+ ], queries: [{ propertyName: "navigationBar", first: true, predicate: ElderTableNavigationBarDirective, descendants: true, read: TemplateRef, isSignal: true }, { 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: "rowsQuery", predicate: ElderTableRowDirective, descendants: true }], exportAs: ["elderTable"], usesInheritance: true, hostDirectives: [{ directive: DataViewInteractionControllerDirective }], ngImport: i0, template: "<div class=\"full\" style=\"overflow: hidden\">\n <div class=\"layout-col elder-table full\" [class.elder-table-dense-horizontal]=\"denseHorizontal()\">\n <!-- Toolbar Rows -->\n @for (toolbarRowTemplate of toolbarRowTemplates(); 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(viewData()) ? 'flex' : ''\n }} scrollable elder-table-scroll\"\n elderInfiniteScroll\n [eventThrottle]=\"150\"\n [offsetFactor]=\"2\"\n [ignoreScrollEvent]=\"!isContinuable || !canLoadMore()\"\n (closeToEnd)=\"requestMoreDataZoned($event)\"\n >\n <table\n mat-table\n [id]=\"id()\"\n class=\"elder-mat-inner-table\"\n [trackBy]=\"trackByFn\"\n [dataSource]=\"$any(dc())\"\n [elderDataContextSelection]=\"dc()\"\n #dataSelection=\"elderDataContextSelection\"\n [elderDataContextSelectionModel]=\"selectionModel\"\n elderTableDropListConnector\n [tableDropListConntectorId]=\"id()\"\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 <elder-table-selection-cell\n [entity]=\"entity\"\n class=\"elder-table-checkbox\"\n [class.elder-table-checkbox-visible]=\"dataSelection.selectionState().anySelected\"\n ></elder-table-selection-cell>\n </td>\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n @if (!hideHeaderRow()) {\n <tr mat-header-row *matHeaderRowDef=\"displayedColumnsInner(); sticky: true\"></tr>\n }\n <tr\n mat-row\n class=\"elder-table-row\"\n *matRowDef=\"let entity; columns: displayedColumnsInner()\"\n [elderDataViewItemDrag]=\"entity\"\n [elderTableRow]=\"entity\"\n [highlightSelection]=\"interactionMode === 'selection'\"\n [class.dense]=\"dense()\"\n [class.elder-row-hidden]=\"hiddenField && entity[hiddenField]\"\n [class.elder-row-removing]=\"removingField && entity[removingField]\"\n (click)=\"onItemClick(entity, $event)\"\n (dblclick)=\"onItemDoubleClick(entity)\"\n ></tr>\n @if (showFooterRow()) {\n <tr mat-footer-row *matFooterRowDef=\"displayedColumnsInner(); sticky: true\"></tr>\n }\n </table>\n </div>\n\n @if (!isDataValid(viewData())) {\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 mt-auto\"\n [mode]=\"dcStatus()?.loading ? 'indeterminate' : 'determinate'\"\n [color]=\"dcStatus()?.hasError ? 'warn' : 'primary'\"\n >\n </mat-progress-bar>\n\n <ng-template\n *ngTemplateOutlet=\"navigationBar() ?? defaultNavigationBar; context: { $implicit: this }\"\n ></ng-template>\n </div>\n</div>\n\n<ng-template #defaultNavigationBar>\n <elder-data-navigation></elder-data-navigation>\n</ng-template>\n", styles: [":host{min-width:0;min-height:0}\n"], 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: "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", "highlightSelection"], 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: "directive", type: ElderDataViewItemDragDirective, selector: "[elderDataViewItemDrag]", inputs: ["elderDataViewItemDrag", "canDragItem"] }, { kind: "directive", type: ElderTableDropListConnectorDirective, selector: "[elderTableDropListConnector]", inputs: ["tableDropListConntectorId"] }, { kind: "component", type: ElderTableSelectionCellComponent, selector: "elder-table-selection-cell", inputs: ["entity"] }, { kind: "component", type: ElderDataNavigationComponent, selector: "elder-data-navigation" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
18073
18043
  }
18074
18044
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: ElderTableComponent, decorators: [{
18075
18045
  type: Component,
@@ -18104,8 +18074,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImpor
18104
18074
  ElderDataViewItemDragDirective,
18105
18075
  ElderTableDropListConnectorDirective,
18106
18076
  ElderTableSelectionCellComponent,
18107
- TableNavigationComponent,
18108
- ], template: "<div class=\"full\" style=\"overflow: hidden\">\n <div class=\"layout-col elder-table full\" [class.elder-table-dense-horizontal]=\"denseHorizontal()\">\n <!-- Toolbar Rows -->\n @for (toolbarRowTemplate of toolbarRowTemplates(); 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(viewData()) ? 'flex' : ''\n }} scrollable elder-table-scroll\"\n elderInfiniteScroll\n [eventThrottle]=\"150\"\n [offsetFactor]=\"2\"\n [ignoreScrollEvent]=\"!isContinuable || !canLoadMore()\"\n (closeToEnd)=\"requestMoreDataZoned($event)\"\n >\n <table\n mat-table\n [id]=\"id()\"\n class=\"elder-mat-inner-table\"\n [trackBy]=\"trackByFn\"\n [dataSource]=\"$any(dc())\"\n [elderDataContextSelection]=\"dc()\"\n #dataSelection=\"elderDataContextSelection\"\n [elderDataContextSelectionModel]=\"selectionModel\"\n elderTableDropListConnector\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 <elder-table-selection-cell\n [entity]=\"entity\"\n class=\"elder-table-checkbox\"\n [class.elder-table-checkbox-visible]=\"dataSelection.selectionState().anySelected\"\n ></elder-table-selection-cell>\n </td>\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n @if (!hideHeaderRow()) {\n <tr mat-header-row *matHeaderRowDef=\"displayedColumnsInner(); sticky: true\"></tr>\n }\n <tr\n mat-row\n class=\"elder-table-row\"\n *matRowDef=\"let entity; columns: displayedColumnsInner()\"\n [elderDataViewItemDrag]=\"entity\"\n [elderTableRow]=\"entity\"\n [highlightSelection]=\"interactionMode === 'selection'\"\n [class.dense]=\"dense()\"\n [class.elder-row-hidden]=\"hiddenField && entity[hiddenField]\"\n [class.elder-row-removing]=\"removingField && entity[removingField]\"\n (click)=\"onItemClick(entity, $event)\"\n (dblclick)=\"onItemDoubleClick(entity)\"\n ></tr>\n @if (showFooterRow()) {\n <tr mat-footer-row *matFooterRowDef=\"displayedColumnsInner(); sticky: true\"></tr>\n }\n </table>\n </div>\n\n @if (!isDataValid(viewData())) {\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 mt-auto\"\n [mode]=\"dcStatus()?.loading ? 'indeterminate' : 'determinate'\"\n [color]=\"dcStatus()?.hasError ? 'warn' : 'primary'\"\n >\n </mat-progress-bar>\n\n <ng-template\n *ngTemplateOutlet=\"navigationBar() ?? defaultNavigationBar; context: { $implicit: this }\"\n ></ng-template>\n </div>\n</div>\n\n<ng-template #defaultNavigationBar>\n <div class=\"layout-row flex-none place-end-center gap-md elder-table-navigation-bar\">\n <elder-table-navigation></elder-table-navigation>\n </div>\n</ng-template>\n", styles: [":host{min-width:0;min-height:0}\n"] }]
18077
+ ElderDataNavigationComponent,
18078
+ ], template: "<div class=\"full\" style=\"overflow: hidden\">\n <div class=\"layout-col elder-table full\" [class.elder-table-dense-horizontal]=\"denseHorizontal()\">\n <!-- Toolbar Rows -->\n @for (toolbarRowTemplate of toolbarRowTemplates(); 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(viewData()) ? 'flex' : ''\n }} scrollable elder-table-scroll\"\n elderInfiniteScroll\n [eventThrottle]=\"150\"\n [offsetFactor]=\"2\"\n [ignoreScrollEvent]=\"!isContinuable || !canLoadMore()\"\n (closeToEnd)=\"requestMoreDataZoned($event)\"\n >\n <table\n mat-table\n [id]=\"id()\"\n class=\"elder-mat-inner-table\"\n [trackBy]=\"trackByFn\"\n [dataSource]=\"$any(dc())\"\n [elderDataContextSelection]=\"dc()\"\n #dataSelection=\"elderDataContextSelection\"\n [elderDataContextSelectionModel]=\"selectionModel\"\n elderTableDropListConnector\n [tableDropListConntectorId]=\"id()\"\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 <elder-table-selection-cell\n [entity]=\"entity\"\n class=\"elder-table-checkbox\"\n [class.elder-table-checkbox-visible]=\"dataSelection.selectionState().anySelected\"\n ></elder-table-selection-cell>\n </td>\n <td mat-footer-cell *matFooterCellDef></td>\n </ng-container>\n\n @if (!hideHeaderRow()) {\n <tr mat-header-row *matHeaderRowDef=\"displayedColumnsInner(); sticky: true\"></tr>\n }\n <tr\n mat-row\n class=\"elder-table-row\"\n *matRowDef=\"let entity; columns: displayedColumnsInner()\"\n [elderDataViewItemDrag]=\"entity\"\n [elderTableRow]=\"entity\"\n [highlightSelection]=\"interactionMode === 'selection'\"\n [class.dense]=\"dense()\"\n [class.elder-row-hidden]=\"hiddenField && entity[hiddenField]\"\n [class.elder-row-removing]=\"removingField && entity[removingField]\"\n (click)=\"onItemClick(entity, $event)\"\n (dblclick)=\"onItemDoubleClick(entity)\"\n ></tr>\n @if (showFooterRow()) {\n <tr mat-footer-row *matFooterRowDef=\"displayedColumnsInner(); sticky: true\"></tr>\n }\n </table>\n </div>\n\n @if (!isDataValid(viewData())) {\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 mt-auto\"\n [mode]=\"dcStatus()?.loading ? 'indeterminate' : 'determinate'\"\n [color]=\"dcStatus()?.hasError ? 'warn' : 'primary'\"\n >\n </mat-progress-bar>\n\n <ng-template\n *ngTemplateOutlet=\"navigationBar() ?? defaultNavigationBar; context: { $implicit: this }\"\n ></ng-template>\n </div>\n</div>\n\n<ng-template #defaultNavigationBar>\n <elder-data-navigation></elder-data-navigation>\n</ng-template>\n", styles: [":host{min-width:0;min-height:0}\n"] }]
18109
18079
  }], ctorParameters: () => [{ type: ElderTableModel }, { type: SelectionModel, decorators: [{
18110
18080
  type: Optional
18111
18081
  }] }, { type: ElderDataViewOptionsProvider, decorators: [{
@@ -18121,7 +18091,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImpor
18121
18091
  }] }, { type: i0.NgZone }, { type: DataViewInteractionControllerDirective }], propDecorators: { matTable: [{
18122
18092
  type: ViewChild,
18123
18093
  args: [MatTable, { static: true }]
18124
- }], pageSizeOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageSizeOptions", required: false }] }], columnDefs: [{
18094
+ }], columnDefs: [{
18125
18095
  type: ContentChildren,
18126
18096
  args: [MatColumnDef]
18127
18097
  }], elderColumns: [{
@@ -18696,7 +18666,6 @@ class ElderClipboardService {
18696
18666
  const range = document.createRange();
18697
18667
  range.selectNodeContents(document.body);
18698
18668
  document.getSelection().addRange(range);
18699
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
18700
18669
  const listener = (e) => {
18701
18670
  const clipboard = e.clipboardData || window['clipboardData'];
18702
18671
  clipboard.setData('text', payload);
@@ -20563,7 +20532,7 @@ class ElderTileComponent {
20563
20532
  });
20564
20533
  }
20565
20534
  else {
20566
- this.logger.warn('Skipped focusing tile since focus is already inside it!');
20535
+ this.logger.debug('Skipped focusing tile since focus is already inside it!');
20567
20536
  }
20568
20537
  }
20569
20538
  onSelectButtonClick(event) {
@@ -20758,6 +20727,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImpor
20758
20727
  selector: '[elderGridToolbar]',
20759
20728
  }]
20760
20729
  }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }] });
20730
+ /**
20731
+ * This directive projects content into a navigation bar, typically located at the grid's bottom.
20732
+ * An empty template will result in no navigation bar being displayed.
20733
+ */
20734
+ class ElderGridNavigationBarDirective {
20735
+ constructor(templateRef, viewContainer) {
20736
+ this.templateRef = templateRef;
20737
+ this.viewContainer = viewContainer;
20738
+ }
20739
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: ElderGridNavigationBarDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
20740
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.1", type: ElderGridNavigationBarDirective, isStandalone: true, selector: "[elderGridNavigationBar]", ngImport: i0 }); }
20741
+ }
20742
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: ElderGridNavigationBarDirective, decorators: [{
20743
+ type: Directive,
20744
+ args: [{
20745
+ selector: '[elderGridNavigationBar]',
20746
+ }]
20747
+ }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }] });
20761
20748
  class ElderGridComponent extends ElderDataViewBaseComponent {
20762
20749
  set availableSorts(availableSorts) {
20763
20750
  this.availableCompositeSorts = CompositeSort.coerce(availableSorts);
@@ -20783,7 +20770,6 @@ class ElderGridComponent extends ElderDataViewBaseComponent {
20783
20770
  this.scrollContainerId = 'documents-container-' + UuidUtil.weakUuid4();
20784
20771
  this.TrackGridRowByIdFn = (index, row) => row.id;
20785
20772
  this.toolbarVisible = input(true, { ...(ngDevMode ? { debugName: "toolbarVisible" } : {}), transform: booleanTransformFn });
20786
- this.footerVisible = input(true, { ...(ngDevMode ? { debugName: "footerVisible" } : {}), transform: booleanTransformFn });
20787
20773
  this.containerDimensions$ = new BehaviorSubject(null);
20788
20774
  this.itemHeight = input(250, { ...(ngDevMode ? { debugName: "itemHeight" } : {}) });
20789
20775
  this.itemWidth = input(300, { ...(ngDevMode ? { debugName: "itemWidth" } : {}) });
@@ -20795,7 +20781,7 @@ class ElderGridComponent extends ElderDataViewBaseComponent {
20795
20781
  this.sortTranslationPrefix = 'documents.sorts.';
20796
20782
  this.hiddenField = null;
20797
20783
  this.selectionVisible = true;
20798
- this.pageSizeOptions = input([30, 50, 100, 150, 250], { ...(ngDevMode ? { debugName: "pageSizeOptions" } : {}) });
20784
+ this.navigationBar = contentChild(ElderGridNavigationBarDirective, { ...(ngDevMode ? { debugName: "navigationBar" } : {}), read: TemplateRef });
20799
20785
  this.rowLayoutBuilder = new GridRowLayoutBuilder(this);
20800
20786
  const responsiveColumn$ = this.responsiveColumn().pipe(share());
20801
20787
  this.activeColumnCount$ = toObservable(this.responsiveColumnCount).pipe(switchMap$1((responsive) => {
@@ -20893,7 +20879,6 @@ class ElderGridComponent extends ElderDataViewBaseComponent {
20893
20879
  * Private Methods *
20894
20880
  * *
20895
20881
  **************************************************************************/
20896
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
20897
20882
  scrollTop() {
20898
20883
  this.virtualScrollViewPort.scrollToIndex(0, 'smooth');
20899
20884
  }
@@ -20908,12 +20893,12 @@ class ElderGridComponent extends ElderDataViewBaseComponent {
20908
20893
  return tiles.find((tile) => this.getId(untracked(tile.value)) === this.getId(item));
20909
20894
  }
20910
20895
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: ElderGridComponent, deps: [{ token: SelectionModel, optional: true }, { token: ElderDataViewOptionsProvider, optional: true, skipSelf: true }, { token: DataViewInteractionControllerDirective }], target: i0.ɵɵFactoryTarget.Component }); }
20911
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.1", type: ElderGridComponent, isStandalone: true, selector: "elder-grid", inputs: { toolbarVisible: { classPropertyName: "toolbarVisible", publicName: "toolbarVisible", isSignal: true, isRequired: false, transformFunction: null }, footerVisible: { classPropertyName: "footerVisible", publicName: "footerVisible", isSignal: true, isRequired: false, transformFunction: null }, itemHeight: { classPropertyName: "itemHeight", publicName: "itemHeight", isSignal: true, isRequired: false, transformFunction: null }, itemWidth: { classPropertyName: "itemWidth", publicName: "itemWidth", isSignal: true, isRequired: false, transformFunction: null }, tileOutlined: { classPropertyName: "tileOutlined", publicName: "tileOutlined", isSignal: true, isRequired: false, transformFunction: null }, responsiveColumnCount: { classPropertyName: "responsiveColumnCount", publicName: "responsiveColumnCount", isSignal: true, isRequired: false, transformFunction: null }, availableSorts: { classPropertyName: "availableSorts", publicName: "availableSorts", isSignal: false, isRequired: false, transformFunction: null }, sortTranslationPrefix: { classPropertyName: "sortTranslationPrefix", publicName: "sortTranslationPrefix", isSignal: false, isRequired: false, transformFunction: null }, hiddenField: { classPropertyName: "hiddenField", publicName: "hiddenField", isSignal: false, isRequired: false, transformFunction: null }, selectionVisible: { classPropertyName: "selectionVisible", publicName: "selectionVisible", isSignal: false, isRequired: false, transformFunction: null }, pageSizeOptions: { classPropertyName: "pageSizeOptions", publicName: "pageSizeOptions", isSignal: true, isRequired: false, transformFunction: null }, tileTemplate: { classPropertyName: "tileTemplate", publicName: "tileTemplate", isSignal: false, isRequired: false, transformFunction: null }, toolbarTemplate: { classPropertyName: "toolbarTemplate", publicName: "toolbarTemplate", isSignal: false, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: false, isRequired: false, transformFunction: null }, columnCount: { classPropertyName: "columnCount", publicName: "columnCount", isSignal: false, isRequired: false, transformFunction: null } }, providers: [
20896
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.1", type: ElderGridComponent, isStandalone: true, selector: "elder-grid", inputs: { toolbarVisible: { classPropertyName: "toolbarVisible", publicName: "toolbarVisible", isSignal: true, isRequired: false, transformFunction: null }, itemHeight: { classPropertyName: "itemHeight", publicName: "itemHeight", isSignal: true, isRequired: false, transformFunction: null }, itemWidth: { classPropertyName: "itemWidth", publicName: "itemWidth", isSignal: true, isRequired: false, transformFunction: null }, tileOutlined: { classPropertyName: "tileOutlined", publicName: "tileOutlined", isSignal: true, isRequired: false, transformFunction: null }, responsiveColumnCount: { classPropertyName: "responsiveColumnCount", publicName: "responsiveColumnCount", isSignal: true, isRequired: false, transformFunction: null }, availableSorts: { classPropertyName: "availableSorts", publicName: "availableSorts", isSignal: false, isRequired: false, transformFunction: null }, sortTranslationPrefix: { classPropertyName: "sortTranslationPrefix", publicName: "sortTranslationPrefix", isSignal: false, isRequired: false, transformFunction: null }, hiddenField: { classPropertyName: "hiddenField", publicName: "hiddenField", isSignal: false, isRequired: false, transformFunction: null }, selectionVisible: { classPropertyName: "selectionVisible", publicName: "selectionVisible", isSignal: false, isRequired: false, transformFunction: null }, tileTemplate: { classPropertyName: "tileTemplate", publicName: "tileTemplate", isSignal: false, isRequired: false, transformFunction: null }, toolbarTemplate: { classPropertyName: "toolbarTemplate", publicName: "toolbarTemplate", isSignal: false, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: false, isRequired: false, transformFunction: null }, columnCount: { classPropertyName: "columnCount", publicName: "columnCount", isSignal: false, isRequired: false, transformFunction: null } }, providers: [
20912
20897
  {
20913
20898
  provide: ELDER_DATA_VIEW,
20914
20899
  useExisting: forwardRef(() => ElderGridComponent),
20915
20900
  },
20916
- ], queries: [{ propertyName: "tileTemplateQuery", first: true, predicate: ElderGridTileDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "toolbarTemplateQuery", first: true, predicate: ElderGridToolbarDirective, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "tiles", predicate: ElderTileComponent, descendants: true, isSignal: true }, { propertyName: "virtualScrollViewPort", first: true, predicate: ["virtualScrollViewPort"], descendants: true, static: true }, { propertyName: "matPaginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "elderContinuator", first: true, predicate: ElderContinuatorComponent, descendants: true }], usesInheritance: true, hostDirectives: [{ directive: DataViewInteractionControllerDirective }], ngImport: i0, template: "<div class=\"full elder-grid-component\">\n @if (dc(); as dc) {\n <!-- Grid Browser -->\n <div\n class=\"layout-col full elder-grid-container\"\n [elderDataContextSelection]=\"dc\"\n #dataSelection=\"elderDataContextSelection\"\n [elderDataContextSelectionModel]=\"selectionModel\"\n >\n <!-- Toolbar Row -->\n @if (toolbarVisible()) {\n <div class=\"layout-row place-start-center flex-none elder-grid-toolbar\">\n @if (selectionVisible) {\n <div class=\"layout-col flex-none px-sm\">\n <elder-selection-master-checkbox class=\"flex-none\"></elder-selection-master-checkbox>\n </div>\n }\n\n <!-- Toolbar -->\n @if (toolbarTemplate) {\n <ng-template\n *ngTemplateOutlet=\"toolbarTemplate; context: { $implicit: this }\"\n ></ng-template>\n }\n\n @if (availableCompositeSorts && availableCompositeSorts.length > 0) {\n <elder-composite-sort\n class=\"flex-none\"\n [availableSorts]=\"availableCompositeSorts\"\n [translationPrefix]=\"sortTranslationPrefix\"\n [elderCompositeSortDc]=\"dc\"\n >\n </elder-composite-sort>\n }\n </div>\n\n <mat-divider></mat-divider>\n }\n\n <elder-data-context-state-indicator class=\"flex-none\" [dataContext]=\"dc\">\n </elder-data-context-state-indicator>\n\n <!-- [cdkDropListSortingDisabled]=\"true\" -->\n <!-- cdkDropList -->\n <cdk-virtual-scroll-viewport\n class=\"layout-col flex elder-grid-browser\"\n id=\"{{ scrollContainerId }}\"\n [itemSize]=\"itemHeight()\"\n [minBufferPx]=\"itemHeight() * 2\"\n [maxBufferPx]=\"itemHeight() * 3\"\n #virtualScrollViewPort\n elderInfiniteScroll\n [eventThrottle]=\"200\"\n [offsetFactor]=\"2\"\n [ignoreScrollEvent]=\"dcStatus()?.loading\"\n [containerId]=\"scrollContainerId\"\n [listenToHost]=\"false\"\n (closeToEnd)=\"requestMoreDataZoned($event)\"\n (elderResizeObserver)=\"containerDimensions$.next($event)\"\n >\n <!-- (scrolling)=\"onScrolling($event)\" -->\n\n <div\n *cdkVirtualFor=\"\n let gridRow of dataRows$;\n trackBy: TrackGridRowByIdFn;\n templateCacheSize: 50\n \"\n class=\"elder-grid-tile-row\"\n [style.height]=\"itemHeight() + 'px'\"\n [style.--elder-grid-column-count]=\"activeColumnCount()\"\n >\n @for (tile of gridRow.cells; track trackCellId($index, tile)) {\n <!-- Tile Cell -->\n @if (isTileVisible(tile)) {\n <elder-tile\n class=\"elder-grid-tile\"\n [value]=\"tile\"\n [selectionEnabled]=\"selectionVisible\"\n [outlined]=\"tileOutlined()\"\n (click)=\"onItemClick(tile, $event)\"\n (dblclick)=\"onItemDoubleClick(tile)\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n tileTemplate || simpleTileTemplate;\n context: { $implicit: tile }\n \"\n ></ng-container>\n </elder-tile>\n } @else {\n <div class=\"elder-grid-tile-hidden\"></div>\n }\n }\n </div>\n </cdk-virtual-scroll-viewport>\n\n <mat-progress-bar\n class=\"flex-none\"\n [mode]=\"dcStatus()?.loading ? 'indeterminate' : 'determinate'\"\n [color]=\"dcStatus()?.hasError ? 'warn' : 'primary'\"\n >\n </mat-progress-bar>\n\n <!-- Footer -->\n @if (footerVisible()) {\n <div class=\"layout-row place-end-center gap-md flex-none elder-grid-footer\">\n <!-- Continuable -->\n @if (isContinuable) {\n <elder-continuator\n [loadedCount]=\"viewData()?.length\"\n [total]=\"total()\"\n [canLoadMore]=\"canLoadMore()\"\n [chunkSizeOptions]=\"pageSizeOptions()\"\n [chunkSize]=\"currentChunkSize()\"\n (loadMoreRequested)=\"dataSnapshot.loadMore()\"\n ></elder-continuator>\n } @else if (isActivePaged) {\n @if (currentPage(); as page) {\n <mat-paginator\n class=\"flex-none\"\n [length]=\"total()\"\n [pageIndex]=\"page?.index\"\n [pageSize]=\"page?.size\"\n [pageSizeOptions]=\"pageSizeOptions()\"\n >\n </mat-paginator>\n }\n } @else {\n <span class=\"mat-caption noselect pr-md\" style=\"color: var(--md-sys-color-outline)\">\n {{ viewData()?.length }}\n </span>\n }\n </div>\n }\n </div>\n }\n</div>\n\n<ng-template #simpleTileTemplate let-tile>\n @if (tile) {\n <div class=\"layout-col place-center-center flex\" style=\"background-color: lightblue\">\n <p class=\"noselect\">Tile: {{ tile }}</p>\n </div>\n }\n</ng-template>\n", styles: [":root{--elder-grid-tile-gap: 16px}.elder-grid-tile{width:100%;height:100%;cursor:pointer;overflow:hidden}.elder-grid-tile-row{display:grid;align-items:start;justify-items:start;overflow:hidden;--elder-grid-column-count: 1;padding:calc(var(--elder-grid-tile-gap) / 2) var(--elder-grid-tile-gap);grid-template-columns:repeat(var(--elder-grid-column-count),minmax(0,1fr))}.elder-grid-tile-row:first-child{padding-top:var(--elder-grid-tile-gap)}.elder-grid-tile-row{column-gap:var(--elder-grid-tile-gap)}.elder-grid-tile-hidden{flex:0 1 100%;margin:calc(var(--elder-grid-tile-gap) / 2);width:100%;height:100%}.elder-grid-container{background-color:var(--elder-grid-background-color)}.elder-grid-flat{border:var(--elder-border-light)}.elder-grid-toolbar{min-height:44px}.elder-grid-footer{min-height:var(--elder-data-element-footer-height)}\n"], dependencies: [{ kind: "directive", type: DataContextSelectionDirective, selector: "[elderDataContextSelection]", inputs: ["elderDataContextSelectionModel", "elderDataContextSelection"], exportAs: ["elderDataContextSelection"] }, { kind: "component", type: ElderSelectionMasterCheckboxComponent, selector: "elder-selection-master-checkbox" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: DataContextStateIndicatorComponent, selector: "elder-data-context-state-indicator", inputs: ["dataContext"] }, { kind: "component", type: CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: ElderInfiniteScrollDirective, selector: "[elderInfiniteScroll]", inputs: ["listenToHost", "eventThrottle", "offsetFactor", "ignoreScrollEvent", "containerId", "scrollContainer"], outputs: ["closeToEnd", "scrolling"] }, { kind: "directive", type: CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { 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: ElderCompositeSortComponent, selector: "elder-composite-sort", inputs: ["availableSorts", "sorts", "translationPrefix"], outputs: ["sortsChange"] }, { kind: "directive", type: ElderCompositeSortDcDirective, selector: "[elderCompositeSortDc]", inputs: ["elderCompositeSortDc"] }, { kind: "component", type: ElderTileComponent, selector: "elder-tile", inputs: ["value", "selectionEnabled", "interactionMode", "outlined"] }, { kind: "component", type: ElderContinuatorComponent, selector: "elder-continuator", inputs: ["loadedCount", "total", "canLoadMore", "chunkSizeOptions", "chunkSize"], outputs: ["loadMoreRequested", "chunkSizeChange"] }, { kind: "directive", type: ResizeObserverDirective, selector: "[elderResizeObserver]", inputs: ["enabled"], outputs: ["dimensionChange", "elderResizeObserver"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
20901
+ ], queries: [{ propertyName: "navigationBar", first: true, predicate: ElderGridNavigationBarDirective, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "tileTemplateQuery", first: true, predicate: ElderGridTileDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "toolbarTemplateQuery", first: true, predicate: ElderGridToolbarDirective, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "tiles", predicate: ElderTileComponent, descendants: true, isSignal: true }, { propertyName: "virtualScrollViewPort", first: true, predicate: ["virtualScrollViewPort"], descendants: true, static: true }, { propertyName: "matPaginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "elderContinuator", first: true, predicate: ElderContinuatorComponent, descendants: true }], usesInheritance: true, hostDirectives: [{ directive: DataViewInteractionControllerDirective }], ngImport: i0, template: "<div class=\"full elder-grid-component\">\n @if (dc(); as dc) {\n <!-- Grid Browser -->\n <div\n class=\"layout-col full elder-grid-container\"\n [elderDataContextSelection]=\"dc\"\n #dataSelection=\"elderDataContextSelection\"\n [elderDataContextSelectionModel]=\"selectionModel\"\n >\n <!-- Toolbar Row -->\n @if (toolbarVisible()) {\n <div class=\"layout-row place-start-center flex-none elder-grid-toolbar\">\n @if (selectionVisible) {\n <div class=\"layout-col flex-none px-sm\">\n <elder-selection-master-checkbox class=\"flex-none\"></elder-selection-master-checkbox>\n </div>\n }\n\n <!-- Toolbar -->\n @if (toolbarTemplate) {\n <ng-template\n *ngTemplateOutlet=\"toolbarTemplate; context: { $implicit: this }\"\n ></ng-template>\n }\n\n @if (availableCompositeSorts && availableCompositeSorts.length > 0) {\n <elder-composite-sort\n class=\"flex-none\"\n [availableSorts]=\"availableCompositeSorts\"\n [translationPrefix]=\"sortTranslationPrefix\"\n [elderCompositeSortDc]=\"dc\"\n >\n </elder-composite-sort>\n }\n </div>\n\n <mat-divider></mat-divider>\n }\n\n <elder-data-context-state-indicator class=\"flex-none\" [dataContext]=\"dc\">\n </elder-data-context-state-indicator>\n\n <!-- [cdkDropListSortingDisabled]=\"true\" -->\n <!-- cdkDropList -->\n <cdk-virtual-scroll-viewport\n class=\"layout-col flex elder-grid-browser\"\n id=\"{{ scrollContainerId }}\"\n [itemSize]=\"itemHeight()\"\n [minBufferPx]=\"itemHeight() * 2\"\n [maxBufferPx]=\"itemHeight() * 3\"\n #virtualScrollViewPort\n elderInfiniteScroll\n [eventThrottle]=\"200\"\n [offsetFactor]=\"2\"\n [ignoreScrollEvent]=\"dcStatus()?.loading\"\n [containerId]=\"scrollContainerId\"\n [listenToHost]=\"false\"\n (closeToEnd)=\"requestMoreDataZoned($event)\"\n (elderResizeObserver)=\"containerDimensions$.next($event)\"\n >\n <!-- (scrolling)=\"onScrolling($event)\" -->\n\n <div\n *cdkVirtualFor=\"\n let gridRow of dataRows$;\n trackBy: TrackGridRowByIdFn;\n templateCacheSize: 50\n \"\n class=\"elder-grid-tile-row\"\n [style.height]=\"itemHeight() + 'px'\"\n [style.--elder-grid-column-count]=\"activeColumnCount()\"\n >\n @for (tile of gridRow.cells; track trackCellId($index, tile)) {\n <!-- Tile Cell -->\n @if (isTileVisible(tile)) {\n <elder-tile\n class=\"elder-grid-tile\"\n [value]=\"tile\"\n [selectionEnabled]=\"selectionVisible\"\n [outlined]=\"tileOutlined()\"\n (click)=\"onItemClick(tile, $event)\"\n (dblclick)=\"onItemDoubleClick(tile)\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n tileTemplate || simpleTileTemplate;\n context: { $implicit: tile }\n \"\n ></ng-container>\n </elder-tile>\n } @else {\n <div class=\"elder-grid-tile-hidden\"></div>\n }\n }\n </div>\n </cdk-virtual-scroll-viewport>\n\n <mat-progress-bar\n class=\"flex-none\"\n [mode]=\"dcStatus()?.loading ? 'indeterminate' : 'determinate'\"\n [color]=\"dcStatus()?.hasError ? 'warn' : 'primary'\"\n >\n </mat-progress-bar>\n\n <!-- Footer -->\n <ng-template\n *ngTemplateOutlet=\"navigationBar() ?? defaultNavigationBar; context: { $implicit: this }\"\n ></ng-template>\n </div>\n }\n</div>\n\n<ng-template #simpleTileTemplate let-tile>\n @if (tile) {\n <div class=\"layout-col place-center-center flex\" style=\"background-color: lightblue\">\n <p class=\"noselect\">Tile: {{ tile }}</p>\n </div>\n }\n</ng-template>\n\n<ng-template #defaultNavigationBar>\n <elder-data-navigation></elder-data-navigation>\n</ng-template>\n", styles: [":root{--elder-grid-tile-gap: 16px}.elder-grid-tile{width:100%;height:100%;cursor:pointer;overflow:hidden}.elder-grid-tile-row{display:grid;align-items:start;justify-items:start;overflow:hidden;--elder-grid-column-count: 1;padding:calc(var(--elder-grid-tile-gap) / 2) var(--elder-grid-tile-gap);grid-template-columns:repeat(var(--elder-grid-column-count),minmax(0,1fr))}.elder-grid-tile-row:first-child{padding-top:var(--elder-grid-tile-gap)}.elder-grid-tile-row{column-gap:var(--elder-grid-tile-gap)}.elder-grid-tile-hidden{flex:0 1 100%;margin:calc(var(--elder-grid-tile-gap) / 2);width:100%;height:100%}.elder-grid-container{background-color:var(--elder-grid-background-color)}.elder-grid-flat{border:var(--elder-border-light)}.elder-grid-toolbar{min-height:44px}.elder-grid-footer{min-height:var(--elder-data-element-footer-height)}\n"], dependencies: [{ kind: "directive", type: DataContextSelectionDirective, selector: "[elderDataContextSelection]", inputs: ["elderDataContextSelectionModel", "elderDataContextSelection"], exportAs: ["elderDataContextSelection"] }, { kind: "component", type: ElderSelectionMasterCheckboxComponent, selector: "elder-selection-master-checkbox" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: DataContextStateIndicatorComponent, selector: "elder-data-context-state-indicator", inputs: ["dataContext"] }, { kind: "component", type: CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: ElderInfiniteScrollDirective, selector: "[elderInfiniteScroll]", inputs: ["listenToHost", "eventThrottle", "offsetFactor", "ignoreScrollEvent", "containerId", "scrollContainer"], outputs: ["closeToEnd", "scrolling"] }, { kind: "directive", type: CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: ElderCompositeSortComponent, selector: "elder-composite-sort", inputs: ["availableSorts", "sorts", "translationPrefix"], outputs: ["sortsChange"] }, { kind: "directive", type: ElderCompositeSortDcDirective, selector: "[elderCompositeSortDc]", inputs: ["elderCompositeSortDc"] }, { kind: "component", type: ElderTileComponent, selector: "elder-tile", inputs: ["value", "selectionEnabled", "interactionMode", "outlined"] }, { kind: "directive", type: ResizeObserverDirective, selector: "[elderResizeObserver]", inputs: ["enabled"], outputs: ["dimensionChange", "elderResizeObserver"] }, { kind: "component", type: ElderDataNavigationComponent, selector: "elder-data-navigation" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
20917
20902
  }
20918
20903
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: ElderGridComponent, decorators: [{
20919
20904
  type: Component,
@@ -20939,7 +20924,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImpor
20939
20924
  ElderTileComponent,
20940
20925
  ElderContinuatorComponent,
20941
20926
  ResizeObserverDirective,
20942
- ], template: "<div class=\"full elder-grid-component\">\n @if (dc(); as dc) {\n <!-- Grid Browser -->\n <div\n class=\"layout-col full elder-grid-container\"\n [elderDataContextSelection]=\"dc\"\n #dataSelection=\"elderDataContextSelection\"\n [elderDataContextSelectionModel]=\"selectionModel\"\n >\n <!-- Toolbar Row -->\n @if (toolbarVisible()) {\n <div class=\"layout-row place-start-center flex-none elder-grid-toolbar\">\n @if (selectionVisible) {\n <div class=\"layout-col flex-none px-sm\">\n <elder-selection-master-checkbox class=\"flex-none\"></elder-selection-master-checkbox>\n </div>\n }\n\n <!-- Toolbar -->\n @if (toolbarTemplate) {\n <ng-template\n *ngTemplateOutlet=\"toolbarTemplate; context: { $implicit: this }\"\n ></ng-template>\n }\n\n @if (availableCompositeSorts && availableCompositeSorts.length > 0) {\n <elder-composite-sort\n class=\"flex-none\"\n [availableSorts]=\"availableCompositeSorts\"\n [translationPrefix]=\"sortTranslationPrefix\"\n [elderCompositeSortDc]=\"dc\"\n >\n </elder-composite-sort>\n }\n </div>\n\n <mat-divider></mat-divider>\n }\n\n <elder-data-context-state-indicator class=\"flex-none\" [dataContext]=\"dc\">\n </elder-data-context-state-indicator>\n\n <!-- [cdkDropListSortingDisabled]=\"true\" -->\n <!-- cdkDropList -->\n <cdk-virtual-scroll-viewport\n class=\"layout-col flex elder-grid-browser\"\n id=\"{{ scrollContainerId }}\"\n [itemSize]=\"itemHeight()\"\n [minBufferPx]=\"itemHeight() * 2\"\n [maxBufferPx]=\"itemHeight() * 3\"\n #virtualScrollViewPort\n elderInfiniteScroll\n [eventThrottle]=\"200\"\n [offsetFactor]=\"2\"\n [ignoreScrollEvent]=\"dcStatus()?.loading\"\n [containerId]=\"scrollContainerId\"\n [listenToHost]=\"false\"\n (closeToEnd)=\"requestMoreDataZoned($event)\"\n (elderResizeObserver)=\"containerDimensions$.next($event)\"\n >\n <!-- (scrolling)=\"onScrolling($event)\" -->\n\n <div\n *cdkVirtualFor=\"\n let gridRow of dataRows$;\n trackBy: TrackGridRowByIdFn;\n templateCacheSize: 50\n \"\n class=\"elder-grid-tile-row\"\n [style.height]=\"itemHeight() + 'px'\"\n [style.--elder-grid-column-count]=\"activeColumnCount()\"\n >\n @for (tile of gridRow.cells; track trackCellId($index, tile)) {\n <!-- Tile Cell -->\n @if (isTileVisible(tile)) {\n <elder-tile\n class=\"elder-grid-tile\"\n [value]=\"tile\"\n [selectionEnabled]=\"selectionVisible\"\n [outlined]=\"tileOutlined()\"\n (click)=\"onItemClick(tile, $event)\"\n (dblclick)=\"onItemDoubleClick(tile)\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n tileTemplate || simpleTileTemplate;\n context: { $implicit: tile }\n \"\n ></ng-container>\n </elder-tile>\n } @else {\n <div class=\"elder-grid-tile-hidden\"></div>\n }\n }\n </div>\n </cdk-virtual-scroll-viewport>\n\n <mat-progress-bar\n class=\"flex-none\"\n [mode]=\"dcStatus()?.loading ? 'indeterminate' : 'determinate'\"\n [color]=\"dcStatus()?.hasError ? 'warn' : 'primary'\"\n >\n </mat-progress-bar>\n\n <!-- Footer -->\n @if (footerVisible()) {\n <div class=\"layout-row place-end-center gap-md flex-none elder-grid-footer\">\n <!-- Continuable -->\n @if (isContinuable) {\n <elder-continuator\n [loadedCount]=\"viewData()?.length\"\n [total]=\"total()\"\n [canLoadMore]=\"canLoadMore()\"\n [chunkSizeOptions]=\"pageSizeOptions()\"\n [chunkSize]=\"currentChunkSize()\"\n (loadMoreRequested)=\"dataSnapshot.loadMore()\"\n ></elder-continuator>\n } @else if (isActivePaged) {\n @if (currentPage(); as page) {\n <mat-paginator\n class=\"flex-none\"\n [length]=\"total()\"\n [pageIndex]=\"page?.index\"\n [pageSize]=\"page?.size\"\n [pageSizeOptions]=\"pageSizeOptions()\"\n >\n </mat-paginator>\n }\n } @else {\n <span class=\"mat-caption noselect pr-md\" style=\"color: var(--md-sys-color-outline)\">\n {{ viewData()?.length }}\n </span>\n }\n </div>\n }\n </div>\n }\n</div>\n\n<ng-template #simpleTileTemplate let-tile>\n @if (tile) {\n <div class=\"layout-col place-center-center flex\" style=\"background-color: lightblue\">\n <p class=\"noselect\">Tile: {{ tile }}</p>\n </div>\n }\n</ng-template>\n", styles: [":root{--elder-grid-tile-gap: 16px}.elder-grid-tile{width:100%;height:100%;cursor:pointer;overflow:hidden}.elder-grid-tile-row{display:grid;align-items:start;justify-items:start;overflow:hidden;--elder-grid-column-count: 1;padding:calc(var(--elder-grid-tile-gap) / 2) var(--elder-grid-tile-gap);grid-template-columns:repeat(var(--elder-grid-column-count),minmax(0,1fr))}.elder-grid-tile-row:first-child{padding-top:var(--elder-grid-tile-gap)}.elder-grid-tile-row{column-gap:var(--elder-grid-tile-gap)}.elder-grid-tile-hidden{flex:0 1 100%;margin:calc(var(--elder-grid-tile-gap) / 2);width:100%;height:100%}.elder-grid-container{background-color:var(--elder-grid-background-color)}.elder-grid-flat{border:var(--elder-border-light)}.elder-grid-toolbar{min-height:44px}.elder-grid-footer{min-height:var(--elder-data-element-footer-height)}\n"] }]
20927
+ ElderDataNavigationComponent,
20928
+ ], template: "<div class=\"full elder-grid-component\">\n @if (dc(); as dc) {\n <!-- Grid Browser -->\n <div\n class=\"layout-col full elder-grid-container\"\n [elderDataContextSelection]=\"dc\"\n #dataSelection=\"elderDataContextSelection\"\n [elderDataContextSelectionModel]=\"selectionModel\"\n >\n <!-- Toolbar Row -->\n @if (toolbarVisible()) {\n <div class=\"layout-row place-start-center flex-none elder-grid-toolbar\">\n @if (selectionVisible) {\n <div class=\"layout-col flex-none px-sm\">\n <elder-selection-master-checkbox class=\"flex-none\"></elder-selection-master-checkbox>\n </div>\n }\n\n <!-- Toolbar -->\n @if (toolbarTemplate) {\n <ng-template\n *ngTemplateOutlet=\"toolbarTemplate; context: { $implicit: this }\"\n ></ng-template>\n }\n\n @if (availableCompositeSorts && availableCompositeSorts.length > 0) {\n <elder-composite-sort\n class=\"flex-none\"\n [availableSorts]=\"availableCompositeSorts\"\n [translationPrefix]=\"sortTranslationPrefix\"\n [elderCompositeSortDc]=\"dc\"\n >\n </elder-composite-sort>\n }\n </div>\n\n <mat-divider></mat-divider>\n }\n\n <elder-data-context-state-indicator class=\"flex-none\" [dataContext]=\"dc\">\n </elder-data-context-state-indicator>\n\n <!-- [cdkDropListSortingDisabled]=\"true\" -->\n <!-- cdkDropList -->\n <cdk-virtual-scroll-viewport\n class=\"layout-col flex elder-grid-browser\"\n id=\"{{ scrollContainerId }}\"\n [itemSize]=\"itemHeight()\"\n [minBufferPx]=\"itemHeight() * 2\"\n [maxBufferPx]=\"itemHeight() * 3\"\n #virtualScrollViewPort\n elderInfiniteScroll\n [eventThrottle]=\"200\"\n [offsetFactor]=\"2\"\n [ignoreScrollEvent]=\"dcStatus()?.loading\"\n [containerId]=\"scrollContainerId\"\n [listenToHost]=\"false\"\n (closeToEnd)=\"requestMoreDataZoned($event)\"\n (elderResizeObserver)=\"containerDimensions$.next($event)\"\n >\n <!-- (scrolling)=\"onScrolling($event)\" -->\n\n <div\n *cdkVirtualFor=\"\n let gridRow of dataRows$;\n trackBy: TrackGridRowByIdFn;\n templateCacheSize: 50\n \"\n class=\"elder-grid-tile-row\"\n [style.height]=\"itemHeight() + 'px'\"\n [style.--elder-grid-column-count]=\"activeColumnCount()\"\n >\n @for (tile of gridRow.cells; track trackCellId($index, tile)) {\n <!-- Tile Cell -->\n @if (isTileVisible(tile)) {\n <elder-tile\n class=\"elder-grid-tile\"\n [value]=\"tile\"\n [selectionEnabled]=\"selectionVisible\"\n [outlined]=\"tileOutlined()\"\n (click)=\"onItemClick(tile, $event)\"\n (dblclick)=\"onItemDoubleClick(tile)\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n tileTemplate || simpleTileTemplate;\n context: { $implicit: tile }\n \"\n ></ng-container>\n </elder-tile>\n } @else {\n <div class=\"elder-grid-tile-hidden\"></div>\n }\n }\n </div>\n </cdk-virtual-scroll-viewport>\n\n <mat-progress-bar\n class=\"flex-none\"\n [mode]=\"dcStatus()?.loading ? 'indeterminate' : 'determinate'\"\n [color]=\"dcStatus()?.hasError ? 'warn' : 'primary'\"\n >\n </mat-progress-bar>\n\n <!-- Footer -->\n <ng-template\n *ngTemplateOutlet=\"navigationBar() ?? defaultNavigationBar; context: { $implicit: this }\"\n ></ng-template>\n </div>\n }\n</div>\n\n<ng-template #simpleTileTemplate let-tile>\n @if (tile) {\n <div class=\"layout-col place-center-center flex\" style=\"background-color: lightblue\">\n <p class=\"noselect\">Tile: {{ tile }}</p>\n </div>\n }\n</ng-template>\n\n<ng-template #defaultNavigationBar>\n <elder-data-navigation></elder-data-navigation>\n</ng-template>\n", styles: [":root{--elder-grid-tile-gap: 16px}.elder-grid-tile{width:100%;height:100%;cursor:pointer;overflow:hidden}.elder-grid-tile-row{display:grid;align-items:start;justify-items:start;overflow:hidden;--elder-grid-column-count: 1;padding:calc(var(--elder-grid-tile-gap) / 2) var(--elder-grid-tile-gap);grid-template-columns:repeat(var(--elder-grid-column-count),minmax(0,1fr))}.elder-grid-tile-row:first-child{padding-top:var(--elder-grid-tile-gap)}.elder-grid-tile-row{column-gap:var(--elder-grid-tile-gap)}.elder-grid-tile-hidden{flex:0 1 100%;margin:calc(var(--elder-grid-tile-gap) / 2);width:100%;height:100%}.elder-grid-container{background-color:var(--elder-grid-background-color)}.elder-grid-flat{border:var(--elder-border-light)}.elder-grid-toolbar{min-height:44px}.elder-grid-footer{min-height:var(--elder-data-element-footer-height)}\n"] }]
20943
20929
  }], ctorParameters: () => [{ type: SelectionModel, decorators: [{
20944
20930
  type: Optional
20945
20931
  }] }, { type: ElderDataViewOptionsProvider, decorators: [{
@@ -20949,7 +20935,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImpor
20949
20935
  }] }, { type: DataViewInteractionControllerDirective }], propDecorators: { tileTemplateQuery: [{
20950
20936
  type: ContentChild,
20951
20937
  args: [ElderGridTileDirective, { read: TemplateRef, static: true }]
20952
- }], toolbarVisible: [{ type: i0.Input, args: [{ isSignal: true, alias: "toolbarVisible", required: false }] }], footerVisible: [{ type: i0.Input, args: [{ isSignal: true, alias: "footerVisible", required: false }] }], itemHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemHeight", required: false }] }], itemWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemWidth", required: false }] }], tileOutlined: [{ type: i0.Input, args: [{ isSignal: true, alias: "tileOutlined", required: false }] }], responsiveColumnCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "responsiveColumnCount", required: false }] }], virtualScrollViewPort: [{
20938
+ }], toolbarVisible: [{ type: i0.Input, args: [{ isSignal: true, alias: "toolbarVisible", required: false }] }], itemHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemHeight", required: false }] }], itemWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemWidth", required: false }] }], tileOutlined: [{ type: i0.Input, args: [{ isSignal: true, alias: "tileOutlined", required: false }] }], responsiveColumnCount: [{ type: i0.Input, args: [{ isSignal: true, alias: "responsiveColumnCount", required: false }] }], virtualScrollViewPort: [{
20953
20939
  type: ViewChild,
20954
20940
  args: ['virtualScrollViewPort', { static: true }]
20955
20941
  }], tiles: [{ type: i0.ViewChildren, args: [i0.forwardRef(() => ElderTileComponent), { isSignal: true }] }], availableSorts: [{
@@ -20960,7 +20946,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImpor
20960
20946
  type: Input
20961
20947
  }], selectionVisible: [{
20962
20948
  type: Input
20963
- }], pageSizeOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageSizeOptions", required: false }] }], matPaginator: [{
20949
+ }], matPaginator: [{
20964
20950
  type: ViewChild,
20965
20951
  args: [MatPaginator]
20966
20952
  }], elderContinuator: [{
@@ -20969,7 +20955,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImpor
20969
20955
  }], toolbarTemplateQuery: [{
20970
20956
  type: ContentChild,
20971
20957
  args: [ElderGridToolbarDirective, { read: TemplateRef, static: true }]
20972
- }], tileTemplate: [{
20958
+ }], navigationBar: [{ type: i0.ContentChild, args: [i0.forwardRef(() => ElderGridNavigationBarDirective), { ...{
20959
+ read: TemplateRef,
20960
+ }, isSignal: true }] }], tileTemplate: [{
20973
20961
  type: Input
20974
20962
  }], toolbarTemplate: [{
20975
20963
  type: Input
@@ -21054,11 +21042,13 @@ class ElderGridModule {
21054
21042
  ElderGridComponent,
21055
21043
  ElderGridTileDirective,
21056
21044
  ElderGridToolbarDirective,
21057
- ElderGridActivationDirective], exports: [ElderTileComponent,
21045
+ ElderGridActivationDirective,
21046
+ ElderGridNavigationBarDirective], exports: [ElderTileComponent,
21058
21047
  ElderGridComponent,
21059
21048
  ElderGridTileDirective,
21060
21049
  ElderGridToolbarDirective,
21061
- ElderGridActivationDirective] }); }
21050
+ ElderGridActivationDirective,
21051
+ ElderGridNavigationBarDirective] }); }
21062
21052
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: ElderGridModule, imports: [CommonModule,
21063
21053
  MatProgressBarModule,
21064
21054
  MatMenuModule,
@@ -21103,6 +21093,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImpor
21103
21093
  ElderGridTileDirective,
21104
21094
  ElderGridToolbarDirective,
21105
21095
  ElderGridActivationDirective,
21096
+ ElderGridNavigationBarDirective,
21106
21097
  ],
21107
21098
  exports: [
21108
21099
  ElderTileComponent,
@@ -21110,6 +21101,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImpor
21110
21101
  ElderGridTileDirective,
21111
21102
  ElderGridToolbarDirective,
21112
21103
  ElderGridActivationDirective,
21104
+ ElderGridNavigationBarDirective,
21113
21105
  ],
21114
21106
  }]
21115
21107
  }] });
@@ -21184,14 +21176,12 @@ class ElderMasterDetailService {
21184
21176
  get itemActivationRequested() {
21185
21177
  return this._itemActivationRequest$.asObservable();
21186
21178
  }
21187
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
21188
21179
  onItemActivated(item, options) {
21189
21180
  this._activeItem$.next(this.asEvent(item, options));
21190
21181
  }
21191
21182
  requestItemActivation(item) {
21192
21183
  this._itemActivationRequest$.next(item);
21193
21184
  }
21194
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
21195
21185
  activateCreatingItem(item) {
21196
21186
  this._creatingItem$.next(this.asEvent(item, { source: ActivationEventSource.USER_MOUSE_CLICK }));
21197
21187
  }
@@ -21350,7 +21340,6 @@ class TemplateSlotManager {
21350
21340
  * @param template to deregister
21351
21341
  * @param slot if set, the template will only be deregistered if it was registered at this slot (optional)
21352
21342
  */
21353
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
21354
21343
  deregisterSlotTemplate(template, slot) {
21355
21344
  if (slot) {
21356
21345
  slot = this.resolveSlot(slot);
@@ -21458,7 +21447,6 @@ class ElderToolbarService {
21458
21447
  * @param template to deregister
21459
21448
  * @param position if set, the template will only be deregistered if it was registered at this position (optional)
21460
21449
  */
21461
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
21462
21450
  deregisterColumn(template, position) {
21463
21451
  this.slotManager.deregisterSlotTemplate(template, position);
21464
21452
  }
@@ -21655,7 +21643,6 @@ class ElderLanguageSwitcherComponent {
21655
21643
  get languages() {
21656
21644
  return this.language.languages;
21657
21645
  }
21658
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
21659
21646
  setLanguage(lang) {
21660
21647
  this.currentLanguage = lang;
21661
21648
  }
@@ -21884,7 +21871,6 @@ class ElderDetailDialogComponent {
21884
21871
  * Public API *
21885
21872
  * *
21886
21873
  **************************************************************************/
21887
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
21888
21874
  close() {
21889
21875
  this.dialogRef.close(this.entity$.getValue());
21890
21876
  }
@@ -22003,7 +21989,6 @@ class ElderMasterDetailComponent {
22003
21989
  this.log.debug('The dialog was closed');
22004
21990
  });
22005
21991
  }
22006
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
22007
21992
  onCurrentItemChange(active) {
22008
21993
  if (untracked(this.modeSig) === 'DIALOG') {
22009
21994
  if (active.item) {
@@ -22015,7 +22000,6 @@ class ElderMasterDetailComponent {
22015
22000
  }
22016
22001
  }
22017
22002
  }
22018
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
22019
22003
  closeDialog() {
22020
22004
  if (this.dialogRef) {
22021
22005
  this.dialogRef.close();
@@ -22199,7 +22183,6 @@ class Quantity {
22199
22183
  static zero(unit) {
22200
22184
  return Quantity.from(unit);
22201
22185
  }
22202
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
22203
22186
  static from(unit, value = 0) {
22204
22187
  const quantity = new Quantity();
22205
22188
  quantity.value = value;
@@ -22618,18 +22601,15 @@ class ElderQuantityService {
22618
22601
  * Public API *
22619
22602
  * *
22620
22603
  **************************************************************************/
22621
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
22622
22604
  withUnit(quantity, unit) {
22623
22605
  return Quantity.from(unit, quantity.value);
22624
22606
  }
22625
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
22626
22607
  withValue(quantity, value) {
22627
22608
  return Quantity.from(quantity.unit, value);
22628
22609
  }
22629
22610
  cacheLookup(lookup) {
22630
22611
  return this.QUANTITY_CACHE.get(this.getQuantityIdentifier(lookup));
22631
22612
  }
22632
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
22633
22613
  cacheUpdate(key, value) {
22634
22614
  if (this.QUANTITY_CACHE.size >= this.QUANTITY_CACHE_SIZE) {
22635
22615
  this.QUANTITY_CACHE.clear();
@@ -22889,7 +22869,6 @@ class ElderQuantityService {
22889
22869
  }
22890
22870
  return userOptions;
22891
22871
  }
22892
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
22893
22872
  determineSuffix(userOptions, quantityToDisplay) {
22894
22873
  if (!userOptions.hideUnit) {
22895
22874
  return (ElderQuantityService.SPACE_STRING + this.unitService.getUnitSymbol(quantityToDisplay.unit));
@@ -23006,12 +22985,6 @@ class TemplatedSelectionDialogComponent {
23006
22985
  **************************************************************************/
23007
22986
  this.log = LoggerFactory.getLogger(this.constructor.name);
23008
22987
  }
23009
- /***************************************************************************
23010
- * *
23011
- * Component Events *
23012
- * *
23013
- **************************************************************************/
23014
- ngOnInit() { }
23015
22988
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: TemplatedSelectionDialogComponent, deps: [{ token: i1$7.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: SelectionModel }], target: i0.ɵɵFactoryTarget.Component }); }
23016
22989
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.1", 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 @if (selectionModel.selection | async; as selection) {\n <button\n mat-stroked-button\n type=\"submit\"\n [disabled]=\"!selection || selection.length === 0\"\n [mat-dialog-close]=\"selection\"\n >\n {{ 'actions.select' | translate }}\n </button>\n }\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], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { 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: "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: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
23017
22990
  }
@@ -23962,11 +23935,9 @@ class ElderAutoSelectFirstService {
23962
23935
  set enabled(enabled) {
23963
23936
  this._enabled$.next(enabled);
23964
23937
  }
23965
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
23966
23938
  get enabled$() {
23967
23939
  return this._enabled$.asObservable();
23968
23940
  }
23969
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
23970
23941
  get firstItem$() {
23971
23942
  return this._firstItem$;
23972
23943
  }
@@ -24260,11 +24231,9 @@ class ElderSelectComponent extends ElderSelectBase {
24260
24231
  this.entityS.set(entity);
24261
24232
  this.updateValue(this.entityToValue(entity));
24262
24233
  }
24263
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
24264
24234
  focus(options) {
24265
24235
  this.inputRef?.nativeElement?.focus(options);
24266
24236
  }
24267
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
24268
24237
  blur() {
24269
24238
  this.inputRef?.nativeElement?.blur();
24270
24239
  }
@@ -24496,7 +24465,6 @@ class ElderUnitSelectDirective {
24496
24465
  * Private methods *
24497
24466
  * *
24498
24467
  **************************************************************************/
24499
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
24500
24468
  resetFilters() {
24501
24469
  this.select.filters = [];
24502
24470
  }
@@ -24609,7 +24577,6 @@ class ElderQuantityInputControlComponent extends ElderFormFieldControlBase {
24609
24577
  set hideUnit(hide) {
24610
24578
  this._hideUnit = coerceBooleanProperty(hide);
24611
24579
  }
24612
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
24613
24580
  get hideUnit() {
24614
24581
  return this._hideUnit;
24615
24582
  }
@@ -24864,15 +24831,12 @@ class ElderDimensionsInputComponent extends ElderFormFieldControlBase {
24864
24831
  * Private Methods *
24865
24832
  * *
24866
24833
  **************************************************************************/
24867
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
24868
24834
  dimensionsOfLength(value) {
24869
24835
  return Dimensions.from(this.unit, value, this.widthValue, this.heightValue);
24870
24836
  }
24871
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
24872
24837
  dimensionsOfWidth(value) {
24873
24838
  return Dimensions.from(this.unit, this.lengthValue, value, this.heightValue);
24874
24839
  }
24875
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
24876
24840
  dimensionsOfHeight(value) {
24877
24841
  return Dimensions.from(this.unit, this.lengthValue, this.widthValue, value);
24878
24842
  }
@@ -25392,7 +25356,6 @@ class ElderAutocompleteManyDirective {
25392
25356
  **************************************************************************/
25393
25357
  ngOnInit() {
25394
25358
  this._elderAutocomplete.displayPropertyResolver = this.textPropertyResolverFn;
25395
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
25396
25359
  this._elderAutocomplete.optionValueConverterFn = (option) => {
25397
25360
  const suggestion = this.resolveSuggestionText(option);
25398
25361
  return this.insertSuggestion(suggestion);
@@ -25742,7 +25705,7 @@ class ElderMultiSelectBase extends ElderSelectBase {
25742
25705
  this.writeEntitiesSorted(newEntities);
25743
25706
  }
25744
25707
  else {
25745
- this.logger.warn('Ignored written entities as they are already set to entities$!');
25708
+ this.logger.debug('Ignored written entities as they are already set to entities$!');
25746
25709
  }
25747
25710
  }
25748
25711
  super.writeToControl(value);
@@ -25820,11 +25783,9 @@ class ElderMultiSelectBase extends ElderSelectBase {
25820
25783
  equalIdsExactOrder(idsA, idsB) {
25821
25784
  return Arrays.equalContentAndOrder(idsA, idsB);
25822
25785
  }
25823
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
25824
25786
  equalEntities(entitiesA, entitiesB) {
25825
25787
  return this.equalIds(this.getEntityIds(entitiesA), this.getEntityIds(entitiesB));
25826
25788
  }
25827
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
25828
25789
  equalEntitiesExactOrder(entitiesA, entitiesB) {
25829
25790
  return this.equalIdsExactOrder(this.getEntityIds(entitiesA), this.getEntityIds(entitiesB));
25830
25791
  }
@@ -26269,7 +26230,6 @@ class ElderMultiSelectChipsComponent extends ElderMultiSelectBase {
26269
26230
  event.preventDefault();
26270
26231
  this.requestRemoveEntity(toRemove, event.shiftKey);
26271
26232
  }
26272
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
26273
26233
  focus(options) {
26274
26234
  const input = this._customChipInput ?? this._chipInput;
26275
26235
  if (input) {
@@ -26279,7 +26239,6 @@ class ElderMultiSelectChipsComponent extends ElderMultiSelectBase {
26279
26239
  this.log.warn('Cant focus since no chip-input-control found!');
26280
26240
  }
26281
26241
  }
26282
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
26283
26242
  blur() {
26284
26243
  this.log.warn('blur() not yet supported!');
26285
26244
  // TODO this.inputControl?.blur();
@@ -26722,7 +26681,6 @@ class ChipOptionsProvider {
26722
26681
  * *
26723
26682
  **************************************************************************/
26724
26683
  buildChipFallbackModel(entityId, options) {
26725
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
26726
26684
  options.context.displayPropertyResolver = (x) => x.id;
26727
26685
  return this.buildChipBySpec({ id: entityId }, options, {
26728
26686
  colorSpec: {
@@ -27378,7 +27336,6 @@ class ElderChipsIncludeExcludeDirective {
27378
27336
  **************************************************************************/
27379
27337
  setupFilterChips() {
27380
27338
  const chipTemplate = this.createFilterChipTemplate();
27381
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
27382
27339
  this.elderMultiSelectChips.chipSpecFn = (entity) => this.resolveChipSpec(entity);
27383
27340
  chipTemplate.avatarRef$
27384
27341
  .pipe(takeUntilDestroyed(this.destroyRef), filter((avatarRef) => !!avatarRef), first())
@@ -27452,7 +27409,6 @@ class ElderChipsIncludeExcludeDirective {
27452
27409
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.1", type: ElderChipsIncludeExcludeDirective, isStandalone: true, selector: "[elderChipsIncludeExclude]", inputs: { cycleStrategy: "cycleStrategy" }, providers: [
27453
27410
  {
27454
27411
  provide: IncludeExcludeSelectionModel,
27455
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
27456
27412
  useFactory: (existing) => {
27457
27413
  return existing ?? new IncludeExcludeSelectionModel('FULL_CYCLE');
27458
27414
  },
@@ -27468,7 +27424,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImpor
27468
27424
  providers: [
27469
27425
  {
27470
27426
  provide: IncludeExcludeSelectionModel,
27471
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
27472
27427
  useFactory: (existing) => {
27473
27428
  return existing ?? new IncludeExcludeSelectionModel('FULL_CYCLE');
27474
27429
  },
@@ -28006,8 +27961,7 @@ class ElderSearchIncludeExcludeDirective {
28006
27961
  this._queryKey$ = new BehaviorSubject(null);
28007
27962
  this.includeSuffix = '';
28008
27963
  this.initialDone$ = new Subject();
28009
- this._state$ = this.buildInputStateObservable()
28010
- .pipe();
27964
+ this._state$ = this.buildInputStateObservable().pipe();
28011
27965
  }
28012
27966
  /***************************************************************************
28013
27967
  * *
@@ -28032,7 +27986,6 @@ class ElderSearchIncludeExcludeDirective {
28032
27986
  this._userQueryKey = value;
28033
27987
  this.updateQueryKey();
28034
27988
  }
28035
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
28036
27989
  get queryKey() {
28037
27990
  return this._queryKey$.getValue();
28038
27991
  }
@@ -28050,7 +28003,6 @@ class ElderSearchIncludeExcludeDirective {
28050
28003
  * Public API *
28051
28004
  * *
28052
28005
  **************************************************************************/
28053
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
28054
28006
  applyFilters(filters) {
28055
28007
  this.includeExcludeAdapter.applyFilters(filters);
28056
28008
  }
@@ -29045,7 +28997,6 @@ class ElderBreadCrumbsComponent {
29045
28997
  set editModeEnabled(value) {
29046
28998
  this.editMode$.next(value);
29047
28999
  }
29048
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
29049
29000
  get editModeEnabled() {
29050
29001
  return this.editMode$.getValue();
29051
29002
  }
@@ -29444,7 +29395,6 @@ class ElderShellService {
29444
29395
  * @param template to deregister
29445
29396
  * @param slot if set, the template will only be deregistered if it was registered at this slot (optional)
29446
29397
  */
29447
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
29448
29398
  deregisterColumn(template, slot) {
29449
29399
  this.slotManager.deregisterSlotTemplate(template, slot);
29450
29400
  }
@@ -32392,6 +32342,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImpor
32392
32342
  args: ['focus', ['$event']]
32393
32343
  }] } });
32394
32344
 
32345
+ /**
32346
+ * Reference to an overlay opened via the ElderOverlayComponent.
32347
+ * This is created via factory function in ElderOverlayComponent providers.
32348
+ */
32395
32349
  class ElderOverlayRef {
32396
32350
  /***************************************************************************
32397
32351
  * *
@@ -32423,12 +32377,7 @@ class ElderOverlayRef {
32423
32377
  close() {
32424
32378
  this.overlay.closeOverlay();
32425
32379
  }
32426
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: ElderOverlayRef, deps: [{ token: ElderOverlayComponent }], target: i0.ɵɵFactoryTarget.Injectable }); }
32427
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: ElderOverlayRef }); }
32428
32380
  }
32429
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: ElderOverlayRef, decorators: [{
32430
- type: Injectable
32431
- }], ctorParameters: () => [{ type: ElderOverlayComponent }] });
32432
32381
 
32433
32382
  class OverlayShowOptions {
32434
32383
  }
@@ -32591,7 +32540,6 @@ class ElderOverlayComponent {
32591
32540
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.1", 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: [
32592
32541
  {
32593
32542
  provide: ElderOverlayRef,
32594
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
32595
32543
  useFactory: (self) => {
32596
32544
  return new ElderOverlayRef(self);
32597
32545
  },
@@ -32604,7 +32552,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImpor
32604
32552
  args: [{ selector: 'elder-overlay', exportAs: 'elderOverlay', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
32605
32553
  {
32606
32554
  provide: ElderOverlayRef,
32607
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
32608
32555
  useFactory: (self) => {
32609
32556
  return new ElderOverlayRef(self);
32610
32557
  },
@@ -32870,7 +32817,6 @@ function registerLocale() {
32870
32817
  // Hack to use Lambda here! See
32871
32818
  // https://stackoverflow.com/questions/51976671/app-initializer-in-library-causes-lambda-not-supported-error
32872
32819
  const x = 2 + 4;
32873
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
32874
32820
  return () => registerLocaleData(localeDECH);
32875
32821
  }
32876
32822
  class ElderLocalesDeChModule {
@@ -32916,7 +32862,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImpor
32916
32862
 
32917
32863
  class ElderLocalizedTextColumnDirective {
32918
32864
  static { this.DEFAULT_TEXT_COL = ElderLocalizedTextColumnDirective.defaultText(); }
32919
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
32920
32865
  static defaultText() {
32921
32866
  const col = new ElderLocalizedTextColumnDirective();
32922
32867
  col.name = 'text';
@@ -33015,11 +32960,9 @@ class ElderLocalizedInputTableComponent extends FormFieldBaseComponent {
33015
32960
  * Public API *
33016
32961
  * *
33017
32962
  **************************************************************************/
33018
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
33019
32963
  onNewRequested() {
33020
32964
  this.toastService.info('Adding new Translations not yet implemented!');
33021
32965
  }
33022
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
33023
32966
  onRemoveRequested(toRemove) {
33024
32967
  if (toRemove?.length > 0) {
33025
32968
  if (this.value) {
@@ -33048,7 +32991,7 @@ class ElderLocalizedInputTableComponent extends FormFieldBaseComponent {
33048
32991
  return localizables;
33049
32992
  }
33050
32993
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: ElderLocalizedInputTableComponent, deps: [{ token: ElderToastService }, { token: ElderLanguageService }], target: i0.ɵɵFactoryTarget.Component }); }
33051
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.1", type: ElderLocalizedInputTableComponent, isStandalone: true, selector: "elder-localized-input-table", inputs: { dense: "dense", 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 >\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 highlighted>{{ localized.locale }}</mat-chip></mat-chip-set\n >\n </td>\n </ng-container>\n\n @for (textColumn of textColumns$ | async; track textColumn) {\n <ng-container matColumnDef=\"{{ textColumn.name }}\">\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 }\n </elder-table>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: ElderTableComponent, selector: "elder-table", inputs: ["pageSizeOptions", "id", "idField", "removingField", "hiddenField", "keepSelection", "showFooterRow", "denseHorizontal", "hideHeaderRow", "data", "displayedColumns", "selectionVisible"], exportAs: ["elderTable"] }, { 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: "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: "ngmodule", type: TranslateModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
32994
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.1", type: ElderLocalizedInputTableComponent, isStandalone: true, selector: "elder-localized-input-table", inputs: { dense: "dense", 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 >\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 highlighted>{{ localized.locale }}</mat-chip></mat-chip-set\n >\n </td>\n </ng-container>\n\n @for (textColumn of textColumns$ | async; track textColumn) {\n <ng-container matColumnDef=\"{{ textColumn.name }}\">\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 }\n </elder-table>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: ElderTableComponent, selector: "elder-table", inputs: ["id", "idField", "removingField", "hiddenField", "keepSelection", "showFooterRow", "denseHorizontal", "hideHeaderRow", "data", "displayedColumns", "selectionVisible"], exportAs: ["elderTable"] }, { 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: "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: "ngmodule", type: TranslateModule }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i1$2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
33052
32995
  }
33053
32996
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImport: i0, type: ElderLocalizedInputTableComponent, decorators: [{
33054
32997
  type: Component,
@@ -33268,7 +33211,6 @@ class ElderLocalizedInputComponent extends FormFieldBaseComponent {
33268
33211
  * Public API *
33269
33212
  * *
33270
33213
  **************************************************************************/
33271
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
33272
33214
  openTranslationPopup($event) {
33273
33215
  const data = {
33274
33216
  title: this.label ?? this.placeholder,
@@ -33381,7 +33323,6 @@ class ElderInitialValueDirective {
33381
33323
  get valueChanges$() {
33382
33324
  return this.ngModel.control.valueChanges;
33383
33325
  }
33384
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
33385
33326
  setValue(value) {
33386
33327
  if (value) {
33387
33328
  this.ngModel.control.setValue(value);
@@ -33467,8 +33408,7 @@ class ElderSearchInputDirective {
33467
33408
  this._queryKey$ = new BehaviorSubject(null);
33468
33409
  this._inputConverter = DefaultInputFilterConverter.of(() => this.queryKey);
33469
33410
  this._initialValueDirective = new ElderInitialValueDirective(ngModel);
33470
- this._state$ = this.buildInputStateObservable()
33471
- .pipe();
33411
+ this._state$ = this.buildInputStateObservable().pipe();
33472
33412
  }
33473
33413
  /***************************************************************************
33474
33414
  * *
@@ -33498,7 +33438,6 @@ class ElderSearchInputDirective {
33498
33438
  this._userQueryKey = value;
33499
33439
  this.updateQueryKey();
33500
33440
  }
33501
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
33502
33441
  get queryKey() {
33503
33442
  return this._queryKey$.getValue();
33504
33443
  }
@@ -33599,21 +33538,18 @@ class ElderSearchInputDirective {
33599
33538
  }
33600
33539
  return queryValue;
33601
33540
  }
33602
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
33603
33541
  checkAndConvertFaultyValuesToNull(value) {
33604
33542
  let fixedValue = value;
33605
33543
  fixedValue = this.convertEmptyArrayToNull(fixedValue);
33606
33544
  fixedValue = this.convertEmptyStringToNull(fixedValue);
33607
33545
  return fixedValue;
33608
33546
  }
33609
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
33610
33547
  convertEmptyArrayToNull(value) {
33611
33548
  if (value instanceof Array && value.length === 0) {
33612
33549
  return null;
33613
33550
  }
33614
33551
  return value;
33615
33552
  }
33616
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
33617
33553
  convertEmptyStringToNull(value) {
33618
33554
  if (typeof value === 'string' && value.length === 0) {
33619
33555
  return null;
@@ -34990,11 +34926,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImpor
34990
34926
  }] });
34991
34927
 
34992
34928
  class OnlineStatus {
34993
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
34994
34929
  static online() {
34995
34930
  return new OnlineStatus(true, new Date());
34996
34931
  }
34997
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
34998
34932
  static offline() {
34999
34933
  return new OnlineStatus(false, new Date());
35000
34934
  }
@@ -35430,7 +35364,6 @@ class ElderMultiSelectChipsOptionsDirective {
35430
35364
  * Private methods *
35431
35365
  * *
35432
35366
  **************************************************************************/
35433
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
35434
35367
  get dataContext$() {
35435
35368
  return this.multiSelect.dataContext$.pipe(filter((dc) => !!dc));
35436
35369
  }
@@ -35573,7 +35506,6 @@ class Currency {
35573
35506
  static zero(unit) {
35574
35507
  return Currency.from(unit);
35575
35508
  }
35576
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
35577
35509
  static from(unit, value = 0) {
35578
35510
  const quantity = new Currency();
35579
35511
  quantity.value = value;
@@ -36053,7 +35985,6 @@ class CsvStreamExporter {
36053
35985
  * Fluent API *
36054
35986
  * *
36055
35987
  **************************************************************************/
36056
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
36057
35988
  chunkSize(chunkSize) {
36058
35989
  if (chunkSize) {
36059
35990
  this._chunkSize = chunkSize;
@@ -36120,7 +36051,6 @@ class CsvStreamExporterBuilder {
36120
36051
  * Fluent API *
36121
36052
  * *
36122
36053
  **************************************************************************/
36123
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
36124
36054
  chunkSize(chunkSize) {
36125
36055
  this._chunkSize = chunkSize;
36126
36056
  return this;
@@ -37067,7 +36997,6 @@ class DataViewIframeComponent {
37067
36997
  }
37068
36998
  }
37069
36999
  }
37070
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
37071
37000
  sendMessageToChild(message) {
37072
37001
  this.log.debug('Sending message to iframe child:', message);
37073
37002
  this.iframeHost.sendMessageToChild(message);
@@ -37085,7 +37014,6 @@ class DataViewIframeComponent {
37085
37014
  });
37086
37015
  }
37087
37016
  }
37088
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
37089
37017
  setupDataViewOptionsBridge(iframeHost) {
37090
37018
  combineLatest([this._dataViewOptions$, iframeHost.iframeState$])
37091
37019
  .pipe(takeUntil(this._destroy$),
@@ -37203,7 +37131,6 @@ class DataViewIframeAdapterDirective {
37203
37131
  initializeDataView(init) {
37204
37132
  // updating options of child data view given by iframe parent
37205
37133
  this.dataViewOptionsProvider.updateOptions((options) => options.withOptions(init.options));
37206
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
37207
37134
  this.selectionModel.keyGetterFn = (entity) => entity[init.idField];
37208
37135
  this.selectionModel.isMultipleSelection = init.options.selectionMultiEnabled;
37209
37136
  if (init.initialSelection) {
@@ -37771,7 +37698,6 @@ class ElderTabGroupRoutingDirective {
37771
37698
  getTabMarker(queryParams) {
37772
37699
  return queryParams.has(this.queryParamKey()) ? queryParams.get(this.queryParamKey()) : null;
37773
37700
  }
37774
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
37775
37701
  isIndexMarker(marker) {
37776
37702
  return marker && marker.startsWith(ElderTabGroupRoutingDirective.TAB_INDEX_PREFIX);
37777
37703
  }
@@ -38130,14 +38056,12 @@ class ReactiveEventSource {
38130
38056
  try {
38131
38057
  this.currentSource = new EventSource(eventSourceUrl, this.eventSourceInitDict);
38132
38058
  this.ensureRegistrations();
38133
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
38134
38059
  this.currentSource.onopen = (event) => {
38135
38060
  this.logger.debug('EventSource connection opened to: ' +
38136
38061
  eventSourceUrl +
38137
38062
  ', state: ' +
38138
38063
  this.readyStateAsString(this.currentSource), event);
38139
38064
  };
38140
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
38141
38065
  this.currentSource.onerror = (error) => {
38142
38066
  this.logger.trace('There was an SSE error, current state: ' + this.readyStateAsString(this.currentSource), error);
38143
38067
  if (!this.closed) {
@@ -38456,7 +38380,6 @@ class ReactiveFetchEventSource {
38456
38380
  this.log.debug('EventSource has closed.');
38457
38381
  this.updateState(ReactiveEventSourceState.CLOSED);
38458
38382
  }
38459
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
38460
38383
  updateState(state) {
38461
38384
  this.state$.next(state);
38462
38385
  }
@@ -38677,7 +38600,6 @@ class KafentTopicSse {
38677
38600
  this.renewSseSub();
38678
38601
  }
38679
38602
  // Teardown
38680
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
38681
38603
  return () => {
38682
38604
  sub.unsubscribe();
38683
38605
  this.decrementConnected();
@@ -38921,5 +38843,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.1", ngImpor
38921
38843
  * Generated bundle index. Do not edit.
38922
38844
  */
38923
38845
 
38924
- 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, ElderGridActivationDirective, ElderGridComponent, ElderGridModule, ElderGridTileDirective, ElderGridToolbarDirective, ElderHeaderComponent, ElderHeaderModule, ElderI18nEntitiesModule, ElderIFrameModule, ElderInfiniteAutocompleteDirective, ElderInfiniteScrollDirective, ElderInfiniteScrollModule, ElderInputPatternDirective, ElderIntervalInputComponent, ElderIntervalPickerBindingDirective, ElderIntervalPickerComponent, ElderIntervalPickerToggleComponent, ElderKeyEventDirective, ElderLabelInputComponent, ElderLabelsModule, ElderLanguageConfig, ElderLanguageInterceptor, ElderLanguageModule, 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, ElderProgressBarComponent, ElderProgressBarModule, ElderQuantityFormFieldComponent, ElderQuantityInputControlComponent, ElderQuantityPipe, ElderQuantityRangeValidator, ElderQuantityService, ElderQuantityTransformPipe, ElderQuestionDialogComponent, ElderRailNavDirective, ElderRepeatPipe, 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, 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, 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, proxyControlContainer, registerLocale, runInZone, someSignal, themeInit };
38846
+ 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, ElderGridActivationDirective, ElderGridComponent, ElderGridModule, ElderGridNavigationBarDirective, ElderGridTileDirective, ElderGridToolbarDirective, ElderHeaderComponent, ElderHeaderModule, ElderI18nEntitiesModule, ElderIFrameModule, ElderInfiniteAutocompleteDirective, ElderInfiniteScrollDirective, ElderInfiniteScrollModule, ElderInputPatternDirective, ElderIntervalInputComponent, ElderIntervalPickerBindingDirective, ElderIntervalPickerComponent, ElderIntervalPickerToggleComponent, ElderKeyEventDirective, ElderLabelInputComponent, ElderLabelsModule, ElderLanguageConfig, ElderLanguageInterceptor, ElderLanguageModule, 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, ElderProgressBarComponent, ElderProgressBarModule, ElderQuantityFormFieldComponent, ElderQuantityInputControlComponent, ElderQuantityPipe, ElderQuantityRangeValidator, ElderQuantityService, ElderQuantityTransformPipe, ElderQuestionDialogComponent, ElderRailNavDirective, ElderRepeatPipe, 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, 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, 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, proxyControlContainer, registerLocale, runInZone, someSignal, themeInit };
38925
38847
  //# sourceMappingURL=elderbyte-ngx-starter.mjs.map