@dereekb/dbx-web 13.4.0 → 13.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, input, inject, effect, Directive, NgModule, Component, output, computed, HostListener, InjectionToken, signal, ChangeDetectionStrategy, ElementRef, Injector, DestroyRef, viewChild, makeEnvironmentProviders, TemplateRef, model, SecurityContext, forwardRef, ViewContainerRef, Optional, Inject, Renderer2 } from '@angular/core';
2
+ import { Injectable, input, inject, effect, Directive, NgModule, ChangeDetectionStrategy, Component, output, computed, HostListener, InjectionToken, signal, ElementRef, Injector, DestroyRef, viewChild, makeEnvironmentProviders, TemplateRef, model, SecurityContext, forwardRef, ViewContainerRef, Renderer2 } from '@angular/core';
3
3
  import { DASH_CHARACTER_PREFIX_INSTANCE, asPromise, cssClassesSet, isDefinedAndNotFalse, spaceSeparatedCssClasses, objectHasNoKeys, getValueFromGetter, firstValue, filterUndefinedValues, separateValues, splitFront, asDecisionFunction, SLASH_PATH_FILE_TYPE_SEPARATOR, filterMaybeArrayValues, mapIterable, toReadableError, isDefaultReadableError, MS_IN_SECOND, mergeObjects, build, ServerErrorResponse, UnauthorizedServerErrorResponse, makeTimer, MS_IN_MINUTE, toggleTimerRunning, unixDateTimeSecondsNumberForNow, ModelRelationUtility, encodeModelKeyTypePair, useIterableOrValue, safeCompareEquality, addMilliseconds, isPast, asArray, slashPathDetails, mimeTypeForFileExtension, slashPathDirectoryTree, isMaybeNot, isNotFalse, modifier, combineMaps, addModifiers, removeModifiers, applyBestFit, findNext, maybeModifierMapToFunction, makeValuesGroupMap, compareWithMappedValuesFunction, invertMaybeBoolean, splitCommaSeparatedStringToSet, ZIP_FILE_MIME_TYPE, cachedGetter, sortByNumberFunction } from '@dereekb/util';
4
4
  import * as i1$2 from '@dereekb/dbx-core';
5
5
  import { completeOnDestroy, clean, cleanSubscription, AbstractTransitionWatcherDirective, DbxInjectionComponent, AbstractDbxActionValueGetterDirective, AbstractDbxButtonDirective, provideDbxButton, dbxActionWorkProgress, DbxCoreButtonModule, AbstractDbxActionHandlerDirective, FilterSourceDirective, provideActionStoreSource, isClickableFilterPreset, AbstractDbxAnchorDirective, expandClickableAnchorLinkTrees, DbxCoreFilterModule, DbxButton, DbxActionContextStoreSourceInstance, cleanSubscriptionWithLockSet, DBX_INJECTION_COMPONENT_DATA, checkNgContentWrapperHasContent, cleanLoadingContext, DbxActionSourceDirective, DbxActionSuccessHandlerDirective, DbxActionDirective, transformEmptyStringInputToUndefined, isIdleActionState, canTriggerAction, DbxCoreActionModule, DbxActionButtonDirective, onDbxAppAuth, SimpleStorageAccessorFactory, mergeStaticProviders, asSegueRef, AbstractTransitionDirective, DbxRouterService, AbstractIfDirective, isSegueRefActive, anchorTypeForAnchor } from '@dereekb/dbx-core';
@@ -137,6 +137,9 @@ var CompactMode;
137
137
  * compactModeFromInput(true); // CompactMode.COMPACT
138
138
  * compactModeFromInput(CompactMode.FULL); // CompactMode.FULL
139
139
  * ```
140
+ *
141
+ * @param input - a boolean or CompactMode value to normalize
142
+ * @returns the normalized CompactMode enum value
140
143
  */
141
144
  function compactModeFromInput(input) {
142
145
  if (typeof input === 'boolean') {
@@ -156,6 +159,10 @@ function compactModeFromInput(input) {
156
159
  * defaultMode: CompactMode.FULL
157
160
  * });
158
161
  * ```
162
+ *
163
+ * @param mode$ - an observable of the current compact mode, or nullish to use the default
164
+ * @param config - the mapping configuration containing values for each mode and an optional default
165
+ * @returns an observable emitting the mapped value corresponding to the current compact mode
159
166
  */
160
167
  function mapCompactModeObs(mode$, config) {
161
168
  const modeObs = mode$ ?? of(config.defaultMode ?? CompactMode.FULL);
@@ -315,7 +322,7 @@ class DbxPopoverCoordinatorComponent {
315
322
  @if (showSignal()) {
316
323
  <ng-content></ng-content>
317
324
  }
318
- `, isInline: true });
325
+ `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
319
326
  }
320
327
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxPopoverCoordinatorComponent, decorators: [{
321
328
  type: Component,
@@ -326,6 +333,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
326
333
  <ng-content></ng-content>
327
334
  }
328
335
  `,
336
+ changeDetection: ChangeDetectionStrategy.OnPush,
329
337
  standalone: true
330
338
  }]
331
339
  }], ctorParameters: () => [] });
@@ -363,10 +371,8 @@ class DbxWindowKeyDownListenerDirective {
363
371
  handleKeyboardEvent(event) {
364
372
  const keysFilter = this.keysFilterSignal();
365
373
  const enabled = this.isEnabledSignal();
366
- if (enabled !== false) {
367
- if (!keysFilter || keysFilter.has(event.key)) {
368
- this.dbxWindowKeyDownListener.emit(event);
369
- }
374
+ if (enabled !== false && (!keysFilter || keysFilter.has(event.key))) {
375
+ this.dbxWindowKeyDownListener.emit(event);
370
376
  }
371
377
  }
372
378
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxWindowKeyDownListenerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
@@ -403,6 +409,9 @@ const DBX_THEME_COLORS = [...DBX_THEME_COLORS_MAIN, ...DBX_THEME_COLORS_EXTRA, .
403
409
  * dbxColorBackground('primary'); // 'dbx-primary-bg'
404
410
  * dbxColorBackground(undefined); // 'dbx-default'
405
411
  * ```
412
+ *
413
+ * @param color - the theme color to convert, or nullish/empty for the default class
414
+ * @returns the CSS class name for the themed background (e.g., `'dbx-primary-bg'` or `'dbx-default'`)
406
415
  */
407
416
  function dbxColorBackground(color) {
408
417
  let cssClass = 'dbx-default'; // background by default
@@ -418,6 +427,8 @@ function dbxColorBackground(color) {
418
427
  case 'default':
419
428
  cssClass = `dbx-${color}-bg`;
420
429
  break;
430
+ default:
431
+ break;
421
432
  }
422
433
  return cssClass;
423
434
  }
@@ -455,10 +466,8 @@ class DbxStyleService {
455
466
  getStyleClassWithConfig(configObs) {
456
467
  return combineLatest([configObs, this.styleClassSuffix$]).pipe(map(([config, suffix]) => {
457
468
  let styleClass = config.style;
458
- if (suffix != null && config.suffixes) {
459
- if (config.suffixes.has(suffix)) {
460
- styleClass = `${styleClass}${DASH_CHARACTER_PREFIX_INSTANCE.prefixSuffixString(suffix)}`;
461
- }
469
+ if (suffix != null && config.suffixes?.has(suffix)) {
470
+ styleClass = `${styleClass}${DASH_CHARACTER_PREFIX_INSTANCE.prefixSuffixString(suffix)}`;
462
471
  }
463
472
  return styleClass;
464
473
  }), distinctUntilChanged(), shareReplay(1));
@@ -492,30 +501,40 @@ class DbxStyleService {
492
501
  }
493
502
  /**
494
503
  * Returns the current style class suffix, if one is set.
504
+ *
505
+ * @returns the currently active style class suffix, or undefined if none is set
495
506
  */
496
507
  get currentStyleClassSuffix() {
497
508
  return this._styleClassSuffix.value;
498
509
  }
499
510
  /**
500
511
  * Directly sets the active style class suffix, or clears it if null/undefined.
512
+ *
513
+ * @param suffix - the suffix to activate, or nullish to clear the current suffix
501
514
  */
502
515
  setStyleClassSuffix(suffix) {
503
516
  this._styleClassSuffix.next(suffix ? dbxStyleClassCleanSuffix(suffix) : undefined);
504
517
  }
505
518
  /**
506
519
  * Updates the default style configuration used when no override config is set.
520
+ *
521
+ * @param defaultConfig - the style configuration to use as the new default
507
522
  */
508
523
  setDefaultConfig(defaultConfig) {
509
524
  this._defaultConfig.next(defaultConfig);
510
525
  }
511
526
  /**
512
527
  * Overrides the active style configuration with the given value or observable.
528
+ *
529
+ * @param config - a style configuration value or observable to set as the active override
513
530
  */
514
531
  setConfig(config) {
515
532
  this._config.next(asObservable(config));
516
533
  }
517
534
  /**
518
535
  * Clears the active config override if it matches the given reference, reverting to the default config.
536
+ *
537
+ * @param config - the config reference to compare against the current override
519
538
  */
520
539
  unsetConfig(config) {
521
540
  if (this._config.value === config) {
@@ -604,7 +623,9 @@ class DbxPopoverComponent extends AbstractTransitionWatcherDirective {
604
623
  }
605
624
  };
606
625
  // Also intercept the _close function to capture backdropClose, etc.
626
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- accessing private member _close
607
627
  const original_close = this.popoverRef._close;
628
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- accessing private member _close
608
629
  this.popoverRef._close = (closeType, inputValue) => {
609
630
  const closeWithValue = (value) => {
610
631
  original_close.call(this.popoverRef, closeType, value);
@@ -617,7 +638,7 @@ class DbxPopoverComponent extends AbstractTransitionWatcherDirective {
617
638
  this._useClosingValue(closeType, (x) => closeWithValue(x));
618
639
  }
619
640
  };
620
- // eslint-disable-next-line
641
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- accessing private member _overlay
621
642
  const overlay = this.popoverRef._overlay; // overlay is not publically accessible
622
643
  const elementRef = this.config.origin;
623
644
  const configuration = this.config.configuration;
@@ -777,6 +798,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
777
798
  */
778
799
  class DbxDialogContentCloseComponent {
779
800
  padded = input(true, ...(ngDevMode ? [{ debugName: "padded" }] : []));
801
+ // eslint-disable-next-line @angular-eslint/no-output-native
780
802
  close = output();
781
803
  closeClicked() {
782
804
  this.close.emit(undefined);
@@ -821,6 +843,7 @@ class DbxDialogContentFooterComponent {
821
843
  buttonColor = input(...(ngDevMode ? [undefined, { debugName: "buttonColor" }] : []));
822
844
  closeTextSignal = computed(() => this.closeText() ?? this.config()?.closeText ?? 'Close', ...(ngDevMode ? [{ debugName: "closeTextSignal" }] : []));
823
845
  buttonColorSignal = computed(() => this.buttonColor() ?? this.config()?.buttonColor ?? undefined, ...(ngDevMode ? [{ debugName: "buttonColorSignal" }] : []));
846
+ // eslint-disable-next-line @angular-eslint/no-output-native
824
847
  close = output();
825
848
  closeClicked() {
826
849
  this.close.emit();
@@ -942,13 +965,12 @@ class DbxInjectionDialogComponent extends AbstractDialogDirective {
942
965
  return this.data.componentConfig;
943
966
  }
944
967
  static openDialog(matDialog, config) {
945
- const dialogRef = matDialog.open((DbxInjectionDialogComponent), {
968
+ return matDialog.open((DbxInjectionDialogComponent), {
946
969
  width: '80vw',
947
970
  height: '80vh',
948
971
  ...config,
949
972
  data: config
950
973
  });
951
- return dialogRef;
952
974
  }
953
975
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxInjectionDialogComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
954
976
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: DbxInjectionDialogComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
@@ -980,6 +1002,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
980
1002
  /**
981
1003
  * Sanitizes a {@link DbxDialogContentConfig} by normalizing the panelClass into an array.
982
1004
  *
1005
+ * @param input - The dialog content config to sanitize, or null/undefined
1006
+ * @returns A new config with panelClass normalized to an array of CSS class strings
1007
+ *
983
1008
  * @example
984
1009
  * ```ts
985
1010
  * const config = sanitizeDbxDialogContentConfig({ panelClass: 'my-panel my-other-panel' });
@@ -989,7 +1014,7 @@ function sanitizeDbxDialogContentConfig(input) {
989
1014
  const panelClass = input?.panelClass;
990
1015
  return {
991
1016
  ...input,
992
- panelClass: panelClass ? Array.from(cssClassesSet(input?.panelClass)) : undefined
1017
+ panelClass: panelClass ? [...cssClassesSet(input?.panelClass)] : undefined
993
1018
  };
994
1019
  }
995
1020
 
@@ -1088,17 +1113,18 @@ class AbstractPopoverRefDirective {
1088
1113
  }
1089
1114
  }
1090
1115
  _showPopoverRef(origin) {
1091
- this._popoverRef = this._makePopoverRef(origin);
1092
- this._afterOpened(this._popoverRef);
1093
- this._popoverSub.setSub(this._popoverRef.afterClosed$.subscribe((x) => {
1116
+ const popoverRef = this._makePopoverRef(origin);
1117
+ this._popoverRef = popoverRef;
1118
+ this._afterOpened(popoverRef);
1119
+ this._popoverSub.setSub(popoverRef.afterClosed$.subscribe((x) => {
1094
1120
  this._afterClosed(x);
1095
1121
  this._popoverRef = undefined;
1096
1122
  }));
1097
1123
  }
1098
- _afterOpened(popoverRef) {
1124
+ _afterOpened(_popoverRef) {
1099
1125
  // Do nothing. Override in parent type
1100
1126
  }
1101
- _afterClosed(value) {
1127
+ _afterClosed(_value) {
1102
1128
  // Do nothing. Override in parent type
1103
1129
  }
1104
1130
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AbstractPopoverRefDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
@@ -1657,6 +1683,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
1657
1683
  */
1658
1684
  class AbstractFilterPopoverButtonDirective extends AbstractPopoverRefDirective {
1659
1685
  popupService = inject(DbxPopoverService);
1686
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1660
1687
  config = input(undefined, ...(ngDevMode ? [{ debugName: "config" }] : []));
1661
1688
  _makePopoverRef(origin) {
1662
1689
  const config = this.config();
@@ -1870,8 +1897,7 @@ class AbstractProgressButtonDirective {
1870
1897
  const working = this.working();
1871
1898
  const config = this.configSignal();
1872
1899
  const configWorking = config?.working;
1873
- const workingProgress = dbxActionWorkProgress([working, configWorking]);
1874
- return workingProgress;
1900
+ return dbxActionWorkProgress([working, configWorking]);
1875
1901
  }, ...(ngDevMode ? [{ debugName: "workingProgressSignal" }] : []));
1876
1902
  isWorkingSignal = computed(() => isDefinedAndNotFalse(this.workingProgressSignal()), ...(ngDevMode ? [{ debugName: "isWorkingSignal" }] : []));
1877
1903
  workingValueSignal = computed(() => {
@@ -2048,9 +2074,8 @@ class DbxProgressSpinnerButtonComponent extends AbstractProgressButtonDirective
2048
2074
  }, ...(ngDevMode ? [{ debugName: "showTextButtonIconSignal" }] : []));
2049
2075
  showIconSignal = computed(() => {
2050
2076
  const config = this.configSignal();
2051
- return (config &&
2052
- config.buttonIcon && // button icon must be defined
2053
- !this.showTextContentSignal()); // show icon if either fab or iconOnly is true
2077
+ return (config?.buttonIcon && !this.showTextContentSignal() // button icon must be defined
2078
+ ); // show icon if either fab or iconOnly is true
2054
2079
  }, ...(ngDevMode ? [{ debugName: "showIconSignal" }] : []));
2055
2080
  customSpinnerStyleSignal = computed(() => {
2056
2081
  const customSpinnerColor = this.configSignal()?.customSpinnerColor;
@@ -2474,6 +2499,9 @@ class DbxRouterWebProviderConfig {
2474
2499
  * childClickTarget: this.buttonElementRef
2475
2500
  * });
2476
2501
  * ```
2502
+ *
2503
+ * @param config - configuration specifying the click target, child element to intercept, and optional disabled signal
2504
+ * @returns the created Angular effect reference
2477
2505
  */
2478
2506
  function overrideClickElementEffect(config) {
2479
2507
  const { clickTarget, childClickTarget, disabledSignal } = config;
@@ -2490,30 +2518,28 @@ function overrideClickElementEffect(config) {
2490
2518
  if (_cleanupClickOverride) {
2491
2519
  _cleanupClickOverride();
2492
2520
  }
2493
- if (childClickElement) {
2494
- if (!anchorDisabled) {
2495
- const clickOverride = (event) => {
2496
- // Allow ctrl+click, cmd+click, shift+click, and middle-click for new tab/window
2497
- // Don't preventDefault or stopPropagation - let browser handle it naturally
2498
- if (event.ctrlKey || event.metaKey || event.shiftKey || event.button === 1) {
2499
- return; // Browser will open in new tab/window
2500
- }
2501
- else {
2502
- // otherwise, also trigger a click on the uiSref anchor element
2503
- clickTargetElement?.nativeElement.click();
2504
- // Prevents the default behavior of the anchor element's href from being triggered
2505
- event.preventDefault();
2506
- event.stopPropagation();
2507
- }
2508
- };
2509
- _cleanupClickOverride = () => {
2510
- childClickElement.nativeElement.removeEventListener('click', clickOverride);
2511
- _cleanupClickOverride = null;
2512
- };
2513
- childClickElement.nativeElement.addEventListener('click', clickOverride, {
2514
- capture: true // Use capture to ensure this event listener is called before any nested child's event listeners
2515
- });
2516
- }
2521
+ if (childClickElement && !anchorDisabled) {
2522
+ const clickOverride = (event) => {
2523
+ // Allow ctrl+click, cmd+click, shift+click, and middle-click for new tab/window
2524
+ // Don't preventDefault or stopPropagation - let browser handle it naturally
2525
+ if (event.ctrlKey || event.metaKey || event.shiftKey || event.button === 1) {
2526
+ return; // Browser will open in new tab/window
2527
+ }
2528
+ else {
2529
+ // otherwise, also trigger a click on the uiSref anchor element
2530
+ clickTargetElement?.nativeElement.click();
2531
+ // Prevents the default behavior of the anchor element's href from being triggered
2532
+ event.preventDefault();
2533
+ event.stopPropagation();
2534
+ }
2535
+ };
2536
+ _cleanupClickOverride = () => {
2537
+ childClickElement.nativeElement.removeEventListener('click', clickOverride);
2538
+ _cleanupClickOverride = null;
2539
+ };
2540
+ childClickElement.nativeElement.addEventListener('click', clickOverride, {
2541
+ capture: true // Use capture to ensure this event listener is called before any nested child's event listeners
2542
+ });
2517
2543
  }
2518
2544
  });
2519
2545
  }
@@ -2560,7 +2586,7 @@ class DbxAnchorComponent extends AbstractDbxAnchorDirective {
2560
2586
  <ng-container *ngTemplateOutlet="content"></ng-container>
2561
2587
  }
2562
2588
  @case ('clickable') {
2563
- <a #clickable class="dbx-anchor-a dbx-anchor-click" [ngClass]="selectedClassSignal()" (click)="clickAnchor()">
2589
+ <a #clickable class="dbx-anchor-a dbx-anchor-click" [ngClass]="selectedClassSignal()" tabindex="0" (click)="clickAnchor()" (keydown.enter)="clickAnchor()">
2564
2590
  <span #childClickTarget>
2565
2591
  <ng-container *ngTemplateOutlet="content"></ng-container>
2566
2592
  </span>
@@ -2598,7 +2624,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
2598
2624
  <ng-container *ngTemplateOutlet="content"></ng-container>
2599
2625
  }
2600
2626
  @case ('clickable') {
2601
- <a #clickable class="dbx-anchor-a dbx-anchor-click" [ngClass]="selectedClassSignal()" (click)="clickAnchor()">
2627
+ <a #clickable class="dbx-anchor-a dbx-anchor-click" [ngClass]="selectedClassSignal()" tabindex="0" (click)="clickAnchor()" (keydown.enter)="clickAnchor()">
2602
2628
  <span #childClickTarget>
2603
2629
  <ng-container *ngTemplateOutlet="content"></ng-container>
2604
2630
  </span>
@@ -2698,6 +2724,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
2698
2724
  /**
2699
2725
  * Creates an observable that emits the button text for a preset filter menu based on the current selection.
2700
2726
  *
2727
+ * @param config$ - Observable of the preset filter menu configuration
2728
+ * @param selection$ - Observable of the currently selected preset, used to derive the display title
2729
+ * @param defaultText - Fallback text when no selection or unknownSelectionText is configured. Defaults to 'Filter'.
2730
+ * @returns An observable emitting the resolved button text string
2731
+ *
2701
2732
  * @example
2702
2733
  * ```ts
2703
2734
  * const text$ = dbxPresetFilterMenuButtonTextObservable(config$, selectedPreset$);
@@ -2709,6 +2740,11 @@ function dbxPresetFilterMenuButtonTextObservable(config$, selection$, defaultTex
2709
2740
  /**
2710
2741
  * Creates an observable that emits the button icon for a preset filter menu based on the current selection and config.
2711
2742
  *
2743
+ * @param config$ - Observable of the preset filter menu configuration controlling icon behavior
2744
+ * @param selection$ - Observable of the currently selected preset, used to derive the display icon
2745
+ * @param defaultIcon - Fallback icon when no filterIcon is configured. Defaults to 'arrow_drop_down'.
2746
+ * @returns An observable emitting the resolved icon string, or undefined when no icon should be shown
2747
+ *
2712
2748
  * @example
2713
2749
  * ```ts
2714
2750
  * const icon$ = dbxPresetFilterMenuButtonIconObservable(config$, selectedPreset$);
@@ -2936,6 +2972,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
2936
2972
  /**
2937
2973
  * Opens a dialog containing a {@link DbxIframeComponent} to display a URL in an iframe.
2938
2974
  *
2975
+ * @param matDialog - The Angular Material dialog service used to open the dialog
2976
+ * @param config - Configuration specifying the content URL and dialog options
2977
+ * @returns A reference to the opened dialog for controlling or subscribing to its lifecycle
2978
+ *
2939
2979
  * @example
2940
2980
  * ```ts
2941
2981
  * const ref = openIframeDialog(matDialog, { contentUrl: 'https://example.com' });
@@ -3053,6 +3093,8 @@ class DbxEmbedComponent {
3053
3093
  embed.setAttribute('type', type);
3054
3094
  }
3055
3095
  break;
3096
+ default:
3097
+ break;
3056
3098
  }
3057
3099
  element.appendChild(embed);
3058
3100
  }
@@ -3079,6 +3121,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
3079
3121
  /**
3080
3122
  * Opens a dialog containing a {@link DbxEmbedComponent} to display embedded content from a URL or Blob.
3081
3123
  *
3124
+ * @param matDialog - The Angular Material dialog service used to open the dialog
3125
+ * @param config - Configuration specifying the content source (URL or Blob), MIME type, and dialog options
3126
+ * @returns A reference to the opened dialog for controlling or subscribing to its lifecycle
3127
+ *
3082
3128
  * @example
3083
3129
  * ```ts
3084
3130
  * const ref = openEmbedDialog(matDialog, { srcUrl: 'https://example.com/doc.pdf', embedMimeType: 'application/pdf' });
@@ -3646,6 +3692,9 @@ class DbxPromptConfirm {
3646
3692
  /**
3647
3693
  * Provides a {@link DbxPromptConfirm} implementation for dependency injection.
3648
3694
  *
3695
+ * @param sourceType - The concrete class that implements {@link DbxPromptConfirm}
3696
+ * @returns An array of providers that register the given type as the {@link DbxPromptConfirm} implementation
3697
+ *
3649
3698
  * @example
3650
3699
  * ```ts
3651
3700
  * @Directive({ providers: provideDbxPromptConfirm(MyConfirmDirective) })
@@ -4005,6 +4054,7 @@ class DbxPromptConfirmComponent {
4005
4054
  confirmTextSignal = computed(() => this.config()?.confirmText || 'Confirm', ...(ngDevMode ? [{ debugName: "confirmTextSignal" }] : []));
4006
4055
  cancelTextSignal = computed(() => this.config()?.cancelText || 'Cancel', ...(ngDevMode ? [{ debugName: "cancelTextSignal" }] : []));
4007
4056
  confirm = output();
4057
+ // eslint-disable-next-line @angular-eslint/no-output-native
4008
4058
  cancel = output();
4009
4059
  onConfirm() {
4010
4060
  this.confirm.emit();
@@ -4073,10 +4123,9 @@ class DbxPromptConfirmDialogComponent extends AbstractDialogDirective {
4073
4123
  return this.data.component;
4074
4124
  }
4075
4125
  static openDialog(matDialog, config) {
4076
- const dialogRef = matDialog.open(DbxPromptConfirmDialogComponent, {
4126
+ return matDialog.open(DbxPromptConfirmDialogComponent, {
4077
4127
  data: config ?? DEFAULT_DBX_PROMPT_CONFIRM_DIALOG_CONFIG
4078
4128
  });
4079
- return dialogRef;
4080
4129
  }
4081
4130
  confirm() {
4082
4131
  this.close(true);
@@ -4190,8 +4239,7 @@ class DbxContentContainerDirective {
4190
4239
  padding = input('normal', ...(ngDevMode ? [{ debugName: "padding" }] : []));
4191
4240
  topPadding = input('none', ...(ngDevMode ? [{ debugName: "topPadding" }] : []));
4192
4241
  classConfig = computed(() => {
4193
- const classConfig = 'container-' + this.grow() + ' container-padding-' + this.padding() + ' container-top-padding-' + this.topPadding();
4194
- return classConfig;
4242
+ return 'container-' + this.grow() + ' container-padding-' + this.padding() + ' container-top-padding-' + this.topPadding();
4195
4243
  }, ...(ngDevMode ? [{ debugName: "classConfig" }] : []));
4196
4244
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxContentContainerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4197
4245
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.0", type: DbxContentContainerDirective, isStandalone: true, selector: "dbx-content-container,[dbxContentContainer],.dbx-content-container", inputs: { grow: { classPropertyName: "grow", publicName: "grow", isSignal: true, isRequired: false, transformFunction: null }, padding: { classPropertyName: "padding", publicName: "padding", isSignal: true, isRequired: false, transformFunction: null }, topPadding: { classPropertyName: "topPadding", publicName: "topPadding", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classConfig()" }, classAttribute: "d-block dbx-content-container" }, ngImport: i0 });
@@ -4375,8 +4423,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
4375
4423
  /**
4376
4424
  * Returns a string that can be used as the "accept" attribute of a file input element.
4377
4425
  *
4378
- * @param accept
4379
- * @returns
4426
+ * @param accept - A file accept string or array of filter type strings to convert
4427
+ * @returns A comma-separated string suitable for the HTML accept attribute
4380
4428
  */
4381
4429
  function fileAcceptString(accept) {
4382
4430
  return typeof accept === 'string' ? accept : accept.join(',');
@@ -4384,6 +4432,9 @@ function fileAcceptString(accept) {
4384
4432
  /**
4385
4433
  * Converts a comma-separated accept string or array into a {@link FileAcceptFilterTypeStringArray}.
4386
4434
  *
4435
+ * @param accept - A file accept string or array of filter type strings to normalize
4436
+ * @returns An array of individual filter type strings
4437
+ *
4387
4438
  * @example
4388
4439
  * ```ts
4389
4440
  * const types = fileAcceptFilterTypeStringArray('image/png, .pdf');
@@ -4396,6 +4447,9 @@ function fileAcceptFilterTypeStringArray(accept) {
4396
4447
  /**
4397
4448
  * Creates a {@link FileArrayAcceptMatchFunction} that filters and separates files based on accept criteria and multiple file support.
4398
4449
  *
4450
+ * @param config - Configuration specifying the accept criteria and whether multiple files are allowed
4451
+ * @returns A function that accepts an array of files and returns the categorized match result
4452
+ *
4399
4453
  * @example
4400
4454
  * ```ts
4401
4455
  * const matchFn = fileArrayAcceptMatchFunction({ accept: 'image/*', multiple: false });
@@ -4421,6 +4475,9 @@ function fileArrayAcceptMatchFunction(config) {
4421
4475
  /**
4422
4476
  * Creates a {@link FileAcceptFunction} that checks individual files against accept criteria (MIME types, wildcards, or file extensions).
4423
4477
  *
4478
+ * @param accept - A file accept string or array specifying which MIME types, wildcards, or file extensions to allow
4479
+ * @returns A decision function that returns true if a file matches any of the accept criteria
4480
+ *
4424
4481
  * @example
4425
4482
  * ```ts
4426
4483
  * const isAccepted = fileAcceptFunction(['image/*', '.pdf']);
@@ -4435,7 +4492,7 @@ function fileAcceptFunction(accept) {
4435
4492
  fileAcceptFunction = asDecisionFunction(true);
4436
4493
  }
4437
4494
  else {
4438
- const hasWildcard = acceptList.some((x) => x === '*');
4495
+ const hasWildcard = acceptList.includes('*');
4439
4496
  if (hasWildcard) {
4440
4497
  fileAcceptFunction = asDecisionFunction(true);
4441
4498
  }
@@ -4456,7 +4513,7 @@ function fileAcceptFunction(accept) {
4456
4513
  }
4457
4514
  });
4458
4515
  fileAcceptFunction = (input) => {
4459
- return isAcceptedFunctions.findIndex((x) => x(input)) !== -1;
4516
+ return isAcceptedFunctions.some((x) => x(input));
4460
4517
  };
4461
4518
  }
4462
4519
  }
@@ -4471,6 +4528,9 @@ class DbxFileUploadActionCompatable {
4471
4528
  /**
4472
4529
  * Provides a {@link DbxFileUploadActionCompatable} for dependency injection from the given component type.
4473
4530
  *
4531
+ * @param sourceType - The concrete component class that implements {@link DbxFileUploadActionCompatable}
4532
+ * @returns An array of providers that register the given type as the {@link DbxFileUploadActionCompatable} implementation
4533
+ *
4474
4534
  * @example
4475
4535
  * ```ts
4476
4536
  * @Component({ providers: provideDbxFileUploadActionCompatable(MyUploadComponent) })
@@ -4544,10 +4604,10 @@ class DbxFileUploadAreaComponent extends AbstractDbxFileUploadComponent {
4544
4604
  @if (show()) {
4545
4605
  <div class="dbx-file-upload-area-content">
4546
4606
  <div class="dbx-file-upload-area-content-text">
4547
- @if (icon() != null) {
4607
+ @if (icon()) {
4548
4608
  <mat-icon>{{ icon() }}</mat-icon>
4549
4609
  }
4550
- @if (text() != null) {
4610
+ @if (text()) {
4551
4611
  <span>{{ text() }}</span>
4552
4612
  }
4553
4613
  </div>
@@ -4576,10 +4636,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
4576
4636
  @if (show()) {
4577
4637
  <div class="dbx-file-upload-area-content">
4578
4638
  <div class="dbx-file-upload-area-content-text">
4579
- @if (icon() != null) {
4639
+ @if (icon()) {
4580
4640
  <mat-icon>{{ icon() }}</mat-icon>
4581
4641
  }
4582
- @if (text() != null) {
4642
+ @if (text()) {
4583
4643
  <span>{{ text() }}</span>
4584
4644
  }
4585
4645
  </div>
@@ -5011,6 +5071,7 @@ class DbxErrorWidgetService {
5011
5071
  if (override || !this._entries.has(entry.code)) {
5012
5072
  this._entries.set(entry.code, {
5013
5073
  ...entry,
5074
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
5014
5075
  widgetComponentClass: entry.widgetComponentClass ?? entry.componentClass
5015
5076
  });
5016
5077
  return true;
@@ -5021,7 +5082,7 @@ class DbxErrorWidgetService {
5021
5082
  }
5022
5083
  // MARK: Get
5023
5084
  getErrorWidgetIdentifiers() {
5024
- return Array.from(this._entries.keys());
5085
+ return [...this._entries.keys()];
5025
5086
  }
5026
5087
  getDefaultErrorWidgetEntry() {
5027
5088
  return this.getErrorWidgetEntry(DEFAULT_ERROR_WIDGET_CODE);
@@ -5061,7 +5122,7 @@ class DbxErrorWidgetViewComponent {
5061
5122
  error = input(...(ngDevMode ? [undefined, { debugName: "error" }] : []));
5062
5123
  errorWithCodeSignal = computed(() => {
5063
5124
  const currentError = this.error();
5064
- const error = currentError && currentError.code ? currentError : undefined;
5125
+ const error = currentError?.code ? currentError : undefined;
5065
5126
  let config;
5066
5127
  if (error != null) {
5067
5128
  const entry = this.dbxErrorWidgetService.getErrorWidgetEntry(error.code);
@@ -5916,7 +5977,7 @@ function makeDbxActionSnackbarDisplayConfigGeneratorFunction(config) {
5916
5977
  let result;
5917
5978
  if (eventConfig) {
5918
5979
  const { undoButtonText } = eventConfig;
5919
- result = {
5980
+ const building = {
5920
5981
  button: eventConfig.button,
5921
5982
  message: eventConfig.message,
5922
5983
  snackbar: eventConfig.snackbar
@@ -5933,12 +5994,13 @@ function makeDbxActionSnackbarDisplayConfigGeneratorFunction(config) {
5933
5994
  console.error('Expected action source reference was not provided to undo...');
5934
5995
  }
5935
5996
  else {
5936
- result.action = {
5997
+ building.action = {
5937
5998
  button: undoButtonText ?? 'Undo',
5938
5999
  reference
5939
6000
  };
5940
6001
  }
5941
6002
  }
6003
+ result = building;
5942
6004
  }
5943
6005
  return result;
5944
6006
  };
@@ -5994,11 +6056,15 @@ class DbxActionSnackbarService {
5994
6056
  };
5995
6057
  const duration = config.action?.duration ?? matSnackbarConfig.duration ?? defaultDuration ?? DEFAULT_SNACKBAR_DIRECTIVE_DURATION;
5996
6058
  if (config.action) {
5997
- // Set the duration on the action
5998
- config.action = {
5999
- ...config.action,
6000
- duration
6059
+ // Set the duration on the action and create an updated config for the snackbar data
6060
+ const updatedConfig = {
6061
+ ...config,
6062
+ action: {
6063
+ ...config.action,
6064
+ duration
6065
+ }
6001
6066
  };
6067
+ matSnackbarConfig.data = updatedConfig;
6002
6068
  }
6003
6069
  else {
6004
6070
  // The snackbar does not close here. The duration is passed to the component and it will close it.
@@ -6012,6 +6078,7 @@ class DbxActionSnackbarService {
6012
6078
  *
6013
6079
  * @param type - The snackbar type key (e.g. "save", "delete"), or undefined to use "none".
6014
6080
  * @param input - The generator input containing the event and optional undo configuration.
6081
+ * @returns The generated display configuration, or `undefined` if no config is registered for the given type.
6015
6082
  */
6016
6083
  generateDisplayConfig(type, input) {
6017
6084
  const configForType = this.eventTypeConfigs[type ?? 'none'];
@@ -6076,7 +6143,7 @@ class DbxActionSnackbarDirective {
6076
6143
  const snackbarFunction = this.dbxActionSnackbar();
6077
6144
  return snackbarFunction ? snackbarFunction(input) : this.dbxActionSnackbarService.generateDisplayConfig(this.dbxActionSnackbarDefault(), input);
6078
6145
  }
6079
- showSnackbarForConfiguration(config, event) {
6146
+ showSnackbarForConfiguration(config, _event) {
6080
6147
  this.dbxActionSnackbarService.openSnackbar(config);
6081
6148
  }
6082
6149
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxActionSnackbarDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
@@ -6274,18 +6341,16 @@ class DbxActionTransitionSafetyDirective {
6274
6341
  _autoTrigger(transition) {
6275
6342
  return this.source.pipeStore((store) => store.state$.pipe(delay(20), // Prevent racing with auto-trigger.
6276
6343
  first(), mergeMap((state) => {
6277
- if (isIdleActionState(state.actionState)) {
6278
- // If we're in an idle state, get ready to trigger it.
6279
- if (canTriggerAction(state)) {
6280
- store.trigger(); // Try and trigger it.
6281
- }
6344
+ if (isIdleActionState(state.actionState) && // If we're in an idle state, get ready to trigger it.
6345
+ canTriggerAction(state)) {
6346
+ store.trigger(); // Try and trigger it.
6282
6347
  }
6283
6348
  // Watch for errors. If an error occurs, show the dialog.
6284
6349
  // Success will cause the race in _handleOnBeforeTransition() to trigger and close everything.
6285
6350
  return store.rejected$.pipe(first(), mergeMap(() => this._showDialog(transition)));
6286
6351
  })));
6287
6352
  }
6288
- _showDialog(transition) {
6353
+ _showDialog(_transition) {
6289
6354
  if (this.checkIsDestroyed()) {
6290
6355
  return of(true);
6291
6356
  }
@@ -6395,7 +6460,7 @@ class DbxActionKeyTriggerDirective {
6395
6460
  source = inject((DbxActionContextStoreSourceInstance), { host: true });
6396
6461
  key = input(DEFAULT_ACTION_KEY_TRIGGER, { ...(ngDevMode ? { debugName: "key" } : {}), alias: 'dbxActionKeyTrigger', transform: (x) => (x ?? DEFAULT_ACTION_KEY_TRIGGER).toLowerCase() });
6397
6462
  onKeyupHandler(event) {
6398
- if (event.key && event.key.toLowerCase() === this.key()) {
6463
+ if (event.key?.toLowerCase() === this.key()) {
6399
6464
  this.source.trigger();
6400
6465
  }
6401
6466
  }
@@ -6442,6 +6507,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
6442
6507
  * const pojoError = convertToPOJOServerErrorResponse(httpErrorResponse);
6443
6508
  * console.log(pojoError.message);
6444
6509
  * ```
6510
+ *
6511
+ * @param httpError - The HTTP error response or generic error object to convert.
6512
+ * @returns A plain JSON-serializable {@link ServerError} object.
6445
6513
  */
6446
6514
  function convertToPOJOServerErrorResponse(httpError) {
6447
6515
  const result = convertToServerErrorResponse(httpError);
@@ -6453,7 +6521,7 @@ function convertToPOJOServerErrorResponse(httpError) {
6453
6521
  const stringy = JSON.stringify(pojo.data);
6454
6522
  x.data = JSON.parse(stringy);
6455
6523
  }
6456
- catch (e) {
6524
+ catch {
6457
6525
  console.warn('convertToPOJOServerErrorResponse(): Non-serializable Error Data Detected. It is being removed.: ', pojo.data);
6458
6526
  x.data = undefined;
6459
6527
  }
@@ -6475,12 +6543,17 @@ function convertToPOJOServerErrorResponse(httpError) {
6475
6543
  * console.log(serverError.status, serverError.message);
6476
6544
  * }
6477
6545
  * ```
6546
+ *
6547
+ * @param error - The HTTP error response or generic error object to convert.
6548
+ * @returns A {@link ServerErrorResponse} derived from the error, or `undefined` if the input is falsy.
6478
6549
  */
6479
6550
  function convertToServerErrorResponse(error) {
6480
6551
  let result;
6481
6552
  if (error instanceof HttpErrorResponse) {
6482
6553
  const { status, error: data } = error;
6483
6554
  const code = data.code;
6555
+ // statusText is deprecated with HTTP/2+ but still needed as a fallback for error messages
6556
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
6484
6557
  const message = data.message ?? error.statusText;
6485
6558
  switch (status) {
6486
6559
  case 401:
@@ -6777,6 +6850,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
6777
6850
  * const params = convertServerErrorParams(httpErrorResponse);
6778
6851
  * store.dispatch(myErrorAction(params));
6779
6852
  * ```
6853
+ *
6854
+ * @param httpError - The HTTP error response or generic error object to convert.
6855
+ * @returns A {@link ServerErrorParams} object wrapping the converted server error.
6780
6856
  */
6781
6857
  function convertServerErrorParams(httpError) {
6782
6858
  const error = convertToPOJOServerErrorResponse(httpError);
@@ -6794,6 +6870,10 @@ function convertServerErrorParams(httpError) {
6794
6870
  * ))
6795
6871
  * );
6796
6872
  * ```
6873
+ *
6874
+ * @param action - The NgRx action creator to dispatch with the converted error params.
6875
+ * @param mapError - Optional function to transform the {@link ServerErrorParams} before dispatching. Defaults to identity.
6876
+ * @returns An RxJS operator that catches errors and emits the corresponding error action.
6797
6877
  */
6798
6878
  function catchErrorServerParams(action, mapError = (error) => error) {
6799
6879
  return catchError((error) => {
@@ -6833,31 +6913,56 @@ var index$1 = /*#__PURE__*/Object.freeze({
6833
6913
  /**
6834
6914
  * NgRx feature key for the model module configuration state slice.
6835
6915
  */
6836
- const stateFeatureKey = 'model.module.config';
6916
+ const STATE_FEATURE_KEY = 'model.module.config';
6837
6917
  /**
6838
6918
  * Initial state for the model module configuration reducer.
6839
6919
  */
6840
- const initialState = {
6920
+ const INITIAL_STATE$1 = {
6841
6921
  types: {}
6842
6922
  };
6843
6923
  /**
6844
6924
  * NgRx reducer for model module configuration. Resets to initial state on {@link DbxModelStateActions.dbxModelResetState}.
6845
6925
  */
6846
- const reducer = createReducer(initialState, on(dbxModelResetState, () => initialState));
6926
+ const reducer = createReducer(INITIAL_STATE$1, on(dbxModelResetState, () => INITIAL_STATE$1));
6927
+ // COMPAT: Deprecated aliases
6928
+ /**
6929
+ * @deprecated use STATE_FEATURE_KEY instead.
6930
+ */
6931
+ // eslint-disable-next-line @typescript-eslint/naming-convention
6932
+ const stateFeatureKey = STATE_FEATURE_KEY;
6933
+ /**
6934
+ * @deprecated use INITIAL_STATE instead.
6935
+ */
6936
+ const initialState = INITIAL_STATE$1;
6847
6937
 
6848
- const featureKey = 'app.model';
6938
+ const FEATURE_KEY = 'app.model';
6939
+ /**
6940
+ * Combined reducer for the DbxModel NgRx feature state, delegating to sub-reducers for each state slice.
6941
+ *
6942
+ * @param state The current DbxModel feature state, or undefined for initial state
6943
+ * @param action The NgRx action to process
6944
+ * @returns The new DbxModelState produced by the combined sub-reducers
6945
+ */
6849
6946
  function reducers(state, action) {
6850
6947
  return combineReducers({
6851
- [stateFeatureKey]: reducer
6948
+ [STATE_FEATURE_KEY]: reducer
6852
6949
  })(state, action);
6853
6950
  }
6854
6951
  // MARK: Context
6855
- const selectDbxModelFeature = createFeatureSelector(featureKey);
6952
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
6953
+ const selectDbxModelFeature = createFeatureSelector(FEATURE_KEY);
6856
6954
  // MARK: Module Config
6857
- const selectDbxModelFeatureObjectModuleConfig = createSelector(selectDbxModelFeature, (state) => state[stateFeatureKey]);
6955
+ const selectDbxModelFeatureObjectModuleConfig = createSelector(selectDbxModelFeature, (state) => state[STATE_FEATURE_KEY]);
6956
+ // COMPAT: Deprecated aliases
6957
+ /**
6958
+ * @deprecated use FEATURE_KEY instead.
6959
+ */
6960
+ // eslint-disable-next-line @typescript-eslint/naming-convention
6961
+ const featureKey = FEATURE_KEY;
6858
6962
 
6859
6963
  var index = /*#__PURE__*/Object.freeze({
6860
6964
  __proto__: null,
6965
+ FEATURE_KEY: FEATURE_KEY,
6861
6966
  featureKey: featureKey,
6862
6967
  reducers: reducers,
6863
6968
  selectDbxModelFeature: selectDbxModelFeature,
@@ -6912,6 +7017,7 @@ class DbxModelViewTrackerStorage {
6912
7017
  * Returns all stored view events for the given folder.
6913
7018
  *
6914
7019
  * @param folder - Optional folder name; defaults to `'default'`
7020
+ * @returns Observable of all view tracker events in the folder
6915
7021
  */
6916
7022
  getAllEvents(folder) {
6917
7023
  return this.getEventSet(folder).pipe(map((x) => x.e));
@@ -6920,13 +7026,14 @@ class DbxModelViewTrackerStorage {
6920
7026
  * Returns the complete event set for the given folder.
6921
7027
  *
6922
7028
  * @param folder - Optional folder name; defaults to `'default'`
7029
+ * @returns Observable of the event set containing events and the last-update timestamp
6923
7030
  */
6924
7031
  getEventSet(folder) {
6925
7032
  const storageKey = this.getStorageKeyForFolder(folder);
6926
7033
  return this._getEventSetForStorageKey(storageKey);
6927
7034
  }
6928
7035
  _getEventSetForStorageKey(storageKey) {
6929
- return this.storageAccessor.get(storageKey).pipe(catchError((e) => {
7036
+ return this.storageAccessor.get(storageKey).pipe(catchError(() => {
6930
7037
  return of(undefined);
6931
7038
  }), map((result) => result ?? { e: [], l: 0 }));
6932
7039
  }
@@ -6934,10 +7041,10 @@ class DbxModelViewTrackerStorage {
6934
7041
  * Computes the storage key for a given folder name.
6935
7042
  *
6936
7043
  * @param folder - Optional folder name; defaults to `'default'`
7044
+ * @returns The computed storage key string combining the base key and folder name
6937
7045
  */
6938
7046
  getStorageKeyForFolder(folder) {
6939
- const storageKey = `${this.storageKey}_${folder ?? 'default'}`;
6940
- return storageKey;
7047
+ return `${this.storageKey}_${folder ?? 'default'}`;
6941
7048
  }
6942
7049
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxModelViewTrackerStorage, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6943
7050
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxModelViewTrackerStorage });
@@ -6958,6 +7065,8 @@ class DbxModelTrackerService {
6958
7065
  newEvent$ = this._viewTrackerStorage.newEvent$;
6959
7066
  /**
6960
7067
  * The default storage folder used when no folder is specified in tracking calls.
7068
+ *
7069
+ * @returns The current default folder name, or undefined if not set
6961
7070
  */
6962
7071
  get defaultFolder() {
6963
7072
  return this._defaultFolder;
@@ -6987,6 +7096,7 @@ class DbxModelTrackerService {
6987
7096
  * Returns all recorded view events for the given folder, sorted by most recent first.
6988
7097
  *
6989
7098
  * @param folder - Storage folder; defaults to {@link defaultFolder}
7099
+ * @returns Observable of view events sorted by most recent first
6990
7100
  */
6991
7101
  getAllViewEvents(folder = this._defaultFolder) {
6992
7102
  return this._viewTrackerStorage.getAllEvents(folder);
@@ -6995,6 +7105,7 @@ class DbxModelTrackerService {
6995
7105
  * Returns the complete event set (events and last-update timestamp) for the given folder.
6996
7106
  *
6997
7107
  * @param folder - Storage folder; defaults to {@link defaultFolder}
7108
+ * @returns Observable of the complete event set including events and last-update timestamp
6998
7109
  */
6999
7110
  getViewEventSet(folder = this._defaultFolder) {
7000
7111
  return this._viewTrackerStorage.getEventSet(folder);
@@ -7032,6 +7143,10 @@ class DbxModelObjectStateService {
7032
7143
  store = inject((Store));
7033
7144
  /**
7034
7145
  * Emit a model viewed event.
7146
+ *
7147
+ * @param params - The model viewed event parameters
7148
+ * @param params.modelKeyTypeNamePair - Identifies the model that was viewed
7149
+ * @param params.context - Optional context describing how the model was viewed
7035
7150
  */
7036
7151
  emitModelViewEvent({ modelKeyTypeNamePair, context }) {
7037
7152
  this.store.dispatch(emitObjectViewEvent({ modelKeyTypeNamePair, context }));
@@ -7050,12 +7165,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
7050
7165
  * ```typescript
7051
7166
  * const accessor = defaultDbxModelViewTrackerStorageAccessorFactory(storageAccessorFactory);
7052
7167
  * ```
7168
+ *
7169
+ * @param storageAccessorFactory - The factory used to create typed storage accessors
7170
+ * @returns A storage accessor configured with the `mtvs` prefix for model view tracker events
7053
7171
  */
7054
7172
  function defaultDbxModelViewTrackerStorageAccessorFactory(storageAccessorFactory) {
7055
- const accessor = storageAccessorFactory.createStorageAccessor({
7173
+ return storageAccessorFactory.createStorageAccessor({
7056
7174
  prefix: 'mtvs'
7057
7175
  });
7058
- return accessor;
7059
7176
  }
7060
7177
  /**
7061
7178
  * Creates EnvironmentProviders for providing DbxModelTrackerService, DbxModelObjectStateService and sets up the NgRx store for DbxModelTrackerEffects.
@@ -7076,7 +7193,7 @@ function provideDbxModelService() {
7076
7193
  DbxModelObjectStateService,
7077
7194
  // NgRx
7078
7195
  provideEffects([DbxModelTrackerEffects]),
7079
- provideState(featureKey, reducers)
7196
+ provideState(FEATURE_KEY, reducers)
7080
7197
  ];
7081
7198
  return makeEnvironmentProviders(providers);
7082
7199
  }
@@ -7088,6 +7205,9 @@ function provideDbxModelService() {
7088
7205
  * ```typescript
7089
7206
  * const keys = allDbxModelViewTrackerEventSetModelKeys(eventSet);
7090
7207
  * ```
7208
+ *
7209
+ * @param eventSet - The event set from which to extract model keys
7210
+ * @returns Array of model keys from all events in the set
7091
7211
  */
7092
7212
  function allDbxModelViewTrackerEventSetModelKeys(eventSet) {
7093
7213
  return allDbxModelViewTrackerEventModelKeys(eventSet.e);
@@ -7099,6 +7219,9 @@ function allDbxModelViewTrackerEventSetModelKeys(eventSet) {
7099
7219
  * ```typescript
7100
7220
  * const keys = allDbxModelViewTrackerEventModelKeys(events);
7101
7221
  * ```
7222
+ *
7223
+ * @param events - Array of view tracker events from which to extract model keys
7224
+ * @returns Array of model keys, one per event
7102
7225
  */
7103
7226
  function allDbxModelViewTrackerEventModelKeys(events) {
7104
7227
  return events.map((y) => y.m.key);
@@ -7179,6 +7302,7 @@ class DbxModelTypesService {
7179
7302
  * Returns an observable of the Material icon name for the given model type.
7180
7303
  *
7181
7304
  * @param type - The model type string to look up
7305
+ * @returns Observable emitting the icon name for the given model type
7182
7306
  */
7183
7307
  iconForType(type) {
7184
7308
  return this.iconMap$.pipe(map((x) => x[type]));
@@ -7557,6 +7681,9 @@ const DBX_WEB_FILE_PREVIEW_SERVICE_ENTRIES_TOKEN = new InjectionToken('DefaultDb
7557
7681
  /**
7558
7682
  * Creates a provider that registers the given entries with the {@link DbxWebFilePreviewService} via the {@link DBX_WEB_FILE_PREVIEW_SERVICE_ENTRIES_TOKEN}.
7559
7683
  *
7684
+ * @param entries - Array of preview service entries to register, each mapping a MIME type to its preview component
7685
+ * @returns A provider configuration that supplies the entries via the injection token
7686
+ *
7560
7687
  * @example
7561
7688
  * ```typescript
7562
7689
  * provideDbxWebFilePreviewServiceEntries([DBX_WEB_FILE_PREVIEW_SERVICE_ZIP_PRESET_ENTRY]);
@@ -7569,11 +7696,11 @@ function provideDbxWebFilePreviewServiceEntries(entries) {
7569
7696
  };
7570
7697
  }
7571
7698
  // MARK: Default Functions
7572
- /**
7573
- * Default preset for previewing a file using a DbxEmbedDialogComponent.
7574
- */
7575
7699
  /**
7576
7700
  * Default preview component function that embeds files using {@link DbxEmbedComponent}. Images are rendered with an `img` element; all other types use `embed`.
7701
+ *
7702
+ * @param input - The preview input containing blob data, source URL, and MIME type information
7703
+ * @returns An injection component config that initializes a {@link DbxEmbedComponent} with the appropriate embed element and content
7577
7704
  */
7578
7705
  const DBX_WEB_FILE_PREVIEW_SERVICE_DEFAULT_PREVIEW_COMPONENT_FUNCTION = (input) => {
7579
7706
  const { blob, srcUrl, embedMimeType, sanitizeSrcUrl } = input;
@@ -7601,6 +7728,9 @@ const DBX_WEB_FILE_PREVIEW_SERVICE_DEFAULT_PREVIEW_COMPONENT_FUNCTION = (input)
7601
7728
  };
7602
7729
  /**
7603
7730
  * Default dialog-with-component function that opens the preview component inside a {@link DbxInjectionDialogComponent} with a close button.
7731
+ *
7732
+ * @param input - The dialog input containing the MatDialog instance and the component config to display
7733
+ * @returns A MatDialogRef for the opened injection dialog
7604
7734
  */
7605
7735
  const DBX_WEB_FILE_PREVIEW_SERVICE_DEFAULT_DIALOG_WITH_COMPONENT_FUNCTION = (input) => {
7606
7736
  const { matDialog, componentConfig } = input;
@@ -7616,7 +7746,8 @@ const DBX_WEB_FILE_PREVIEW_SERVICE_DEFAULT_DIALOG_WITH_COMPONENT_FUNCTION = (inp
7616
7746
  class DbxWebFilePreviewService {
7617
7747
  matDialog = inject(MatDialog);
7618
7748
  _entries = new Map();
7619
- constructor(entries) {
7749
+ constructor() {
7750
+ const entries = inject(DBX_WEB_FILE_PREVIEW_SERVICE_ENTRIES_TOKEN, { optional: true });
7620
7751
  if (entries) {
7621
7752
  entries.forEach((x) => this.registerPreviewEntry(x));
7622
7753
  }
@@ -7642,12 +7773,16 @@ class DbxWebFilePreviewService {
7642
7773
  }
7643
7774
  /**
7644
7775
  * Overrides the default preview component function used when no MIME-specific entry is registered.
7776
+ *
7777
+ * @param previewFunction - The preview component function to use as the new default
7645
7778
  */
7646
7779
  setDefaultPreviewComponentFunction(previewFunction) {
7647
7780
  this._defaultPreviewComponentFunction = previewFunction;
7648
7781
  }
7649
7782
  /**
7650
7783
  * Overrides the default dialog-with-component function used when no MIME-specific dialog handler is registered.
7784
+ *
7785
+ * @param previewDialogWithComponentFunction - The dialog-with-component function to use as the new default
7651
7786
  */
7652
7787
  setDefaultPreviewDialogWithComponentFunction(previewDialogWithComponentFunction) {
7653
7788
  this._defaultPreviewDialogWithComponentFunction = previewDialogWithComponentFunction;
@@ -7657,6 +7792,7 @@ class DbxWebFilePreviewService {
7657
7792
  * Creates an injection component config for previewing a file. Uses a MIME-specific preview function if registered, otherwise falls back to the default.
7658
7793
  *
7659
7794
  * @param input - The preview input containing blob, URL, and MIME type information
7795
+ * @returns An injection component config suitable for rendering the file preview
7660
7796
  */
7661
7797
  createPreviewConfig(input) {
7662
7798
  const { embedMimeType } = input;
@@ -7689,7 +7825,7 @@ class DbxWebFilePreviewService {
7689
7825
  }
7690
7826
  return matDialogRef;
7691
7827
  }
7692
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxWebFilePreviewService, deps: [{ token: DBX_WEB_FILE_PREVIEW_SERVICE_ENTRIES_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
7828
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxWebFilePreviewService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7693
7829
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxWebFilePreviewService, providedIn: 'root' });
7694
7830
  }
7695
7831
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxWebFilePreviewService, decorators: [{
@@ -7697,12 +7833,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
7697
7833
  args: [{
7698
7834
  providedIn: 'root'
7699
7835
  }]
7700
- }], ctorParameters: () => [{ type: undefined, decorators: [{
7701
- type: Optional
7702
- }, {
7703
- type: Inject,
7704
- args: [DBX_WEB_FILE_PREVIEW_SERVICE_ENTRIES_TOKEN]
7705
- }] }] });
7836
+ }], ctorParameters: () => [] });
7706
7837
 
7707
7838
  /**
7708
7839
  * Previews a file by delegating to the {@link DbxWebFilePreviewService} to resolve the appropriate preview component for the given MIME type.
@@ -7717,6 +7848,7 @@ class DbxWebFilePreviewComponent {
7717
7848
  config = input(...(ngDevMode ? [undefined, { debugName: "config" }] : []));
7718
7849
  componentConfigSignal = computed(() => {
7719
7850
  const config = this.config();
7851
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- any required for contravariant init callback compatibility
7720
7852
  let componentConfig;
7721
7853
  if (config) {
7722
7854
  componentConfig = this.webFilePreviewService.createPreviewConfig(config);
@@ -7726,7 +7858,7 @@ class DbxWebFilePreviewComponent {
7726
7858
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxWebFilePreviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7727
7859
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.0", type: DbxWebFilePreviewComponent, isStandalone: true, selector: "dbx-web-file-preview", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
7728
7860
  <dbx-injection [config]="componentConfigSignal()"></dbx-injection>
7729
- `, isInline: true, dependencies: [{ kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }] });
7861
+ `, isInline: true, dependencies: [{ kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7730
7862
  }
7731
7863
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxWebFilePreviewComponent, decorators: [{
7732
7864
  type: Component,
@@ -7736,6 +7868,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
7736
7868
  <dbx-injection [config]="componentConfigSignal()"></dbx-injection>
7737
7869
  `,
7738
7870
  standalone: true,
7871
+ changeDetection: ChangeDetectionStrategy.OnPush,
7739
7872
  imports: [DbxInjectionComponent]
7740
7873
  }]
7741
7874
  }], propDecorators: { config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: false }] }] } });
@@ -7743,6 +7876,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
7743
7876
  /**
7744
7877
  * Builds a directory tree from an array of zip archive entries, enriching each node with MIME type detection and blob retrieval capability.
7745
7878
  *
7879
+ * @param entries - Array of zip archive entries to build the tree from, or null/undefined for an empty tree
7880
+ * @returns The root node of the constructed directory tree with MIME types and blob getters attached
7881
+ *
7746
7882
  * @example
7747
7883
  * ```typescript
7748
7884
  * const root = dbxZipBlobPreviewEntryTreeFromEntries(zipEntries);
@@ -7784,12 +7920,19 @@ const SCREEN_MEDIA_WIDTH_TYPE_SIZE_MAP = {
7784
7920
  * screenMediaWidthTypeIsActive('tablet', 'small'); // true
7785
7921
  * screenMediaWidthTypeIsActive('micro', 'tablet'); // false
7786
7922
  * ```
7923
+ *
7924
+ * @returns `true` if the current width type meets or exceeds the breakpoint
7787
7925
  */
7788
7926
  function screenMediaWidthTypeIsActive(current, breakpoint) {
7789
7927
  return compareScreenMediaWidthTypes(current, breakpoint, (a, b) => a >= b);
7790
7928
  }
7791
7929
  /**
7792
7930
  * Compares two {@link ScreenMediaWidthType} values using a custom comparator on their numeric sizes.
7931
+ *
7932
+ * @param a - the first screen width type
7933
+ * @param b - the second screen width type
7934
+ * @param compare - a comparator function applied to the numeric size values of `a` and `b`
7935
+ * @returns the result of applying the comparator to the mapped numeric sizes
7793
7936
  */
7794
7937
  function compareScreenMediaWidthTypes(a, b, compare) {
7795
7938
  return compare(SCREEN_MEDIA_WIDTH_TYPE_SIZE_MAP[a], SCREEN_MEDIA_WIDTH_TYPE_SIZE_MAP[b]);
@@ -7836,8 +7979,8 @@ class DbxScreenMediaService {
7836
7979
  _updateHeight = new Subject();
7837
7980
  widthType$ = this._updateWidth.pipe(initialize(() => this._updateWidth.next()), throttleTime(100, undefined, { leading: true, trailing: true }), map(() => this._readWidthType()), distinctUntilChanged(), shareReplay(1));
7838
7981
  heightType$ = this._updateWidth.pipe(initialize(() => this._updateHeight.next()), throttleTime(100, undefined, { leading: true, trailing: true }), map(() => this._readHeightType()), distinctUntilChanged(), shareReplay(1));
7839
- constructor(config) {
7840
- const { microScreenWidthMax, smallScreenWidthMax, tabletScreenWidthMax, largeScreenWidthMax } = config;
7982
+ constructor() {
7983
+ const { microScreenWidthMax, smallScreenWidthMax, tabletScreenWidthMax, largeScreenWidthMax } = inject(DbxScreenMediaServiceConfig);
7841
7984
  this._microQuery = this._media.matchMedia(`screen and (max-width:${microScreenWidthMax}px)`);
7842
7985
  this._smallQuery = this._media.matchMedia(`screen and (max-width:${smallScreenWidthMax}px)`);
7843
7986
  this._tabletQuery = this._media.matchMedia(`screen and (max-width:${tabletScreenWidthMax}px)`);
@@ -7895,15 +8038,12 @@ class DbxScreenMediaService {
7895
8038
  return 'normal';
7896
8039
  }
7897
8040
  }
7898
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxScreenMediaService, deps: [{ token: DbxScreenMediaServiceConfig }], target: i0.ɵɵFactoryTarget.Injectable });
8041
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxScreenMediaService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
7899
8042
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxScreenMediaService });
7900
8043
  }
7901
8044
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxScreenMediaService, decorators: [{
7902
8045
  type: Injectable
7903
- }], ctorParameters: () => [{ type: DbxScreenMediaServiceConfig, decorators: [{
7904
- type: Inject,
7905
- args: [DbxScreenMediaServiceConfig]
7906
- }] }] });
8046
+ }], ctorParameters: () => [] });
7907
8047
 
7908
8048
  /**
7909
8049
  * Calculates and applies a dynamic height to a Material expansion panel header based on text content.
@@ -8047,8 +8187,7 @@ class DbxAvatarViewComponent {
8047
8187
  avatarIcon = input(...(ngDevMode ? [undefined, { debugName: "avatarIcon" }] : []));
8048
8188
  avatarHideOnError = input(...(ngDevMode ? [undefined, { debugName: "avatarHideOnError" }] : []));
8049
8189
  avatarHideOnErrorSignal = computed(() => {
8050
- const hideOnError = this.avatarHideOnError() ?? this.defaultContext?.hideOnError ?? false;
8051
- return hideOnError;
8190
+ return this.avatarHideOnError() ?? this.defaultContext?.hideOnError ?? false;
8052
8191
  }, ...(ngDevMode ? [{ debugName: "avatarHideOnErrorSignal" }] : []));
8053
8192
  currentAvatarUrlSignal = computed(() => {
8054
8193
  const directUrl = this.avatarUrl();
@@ -8184,6 +8323,9 @@ class DbxAvatarViewService {
8184
8323
  * Resolves the injection component configuration for the given avatar context.
8185
8324
  *
8186
8325
  * Falls back to the default component config if no custom resolver is configured or if it returns null.
8326
+ *
8327
+ * @param context - the avatar context used to resolve the appropriate component configuration
8328
+ * @returns the resolved injection component config, or the default if no custom resolver matches
8187
8329
  */
8188
8330
  avatarComponentForContext(context) {
8189
8331
  let config = this._defaultAvatarComponentConfig;
@@ -8201,19 +8343,35 @@ class DbxAvatarViewService {
8201
8343
  get defaultAvatarErrorIcon() {
8202
8344
  return this._defaultAvatarErrorIcon;
8203
8345
  }
8204
- /** Sets the default avatar image URL used when no context-specific URL is provided. */
8346
+ /**
8347
+ * Sets the default avatar image URL used when no context-specific URL is provided.
8348
+ *
8349
+ * @param url - the URL to use as the default avatar image, or nullish to clear
8350
+ */
8205
8351
  setDefaultAvatarUrl(url) {
8206
8352
  this._defaultAvatarUrl = url;
8207
8353
  }
8208
- /** Sets the default Material icon name used as a fallback when no avatar image is available. */
8354
+ /**
8355
+ * Sets the default Material icon name used as a fallback when no avatar image is available.
8356
+ *
8357
+ * @param icon - the Material icon name to use, or nullish to clear
8358
+ */
8209
8359
  setDefaultAvatarIcon(icon) {
8210
8360
  this._defaultAvatarIcon = icon;
8211
8361
  }
8212
- /** Sets the Material icon name displayed when the avatar image fails to load. */
8362
+ /**
8363
+ * Sets the Material icon name displayed when the avatar image fails to load.
8364
+ *
8365
+ * @param icon - the Material icon name to display on image load error, or nullish to clear
8366
+ */
8213
8367
  setDefaultAvatarErrorIcon(icon) {
8214
8368
  this._defaultAvatarErrorIcon = icon;
8215
8369
  }
8216
- /** Overrides the default component used to render avatars when no context-specific component is resolved. */
8370
+ /**
8371
+ * Overrides the default component used to render avatars when no context-specific component is resolved.
8372
+ *
8373
+ * @param config - the injection component config to use as the new default
8374
+ */
8217
8375
  setDefaultAvatarComponentConfig(config) {
8218
8376
  this._defaultAvatarComponentConfig = config;
8219
8377
  }
@@ -8264,7 +8422,7 @@ class DbxAvatarComponent {
8264
8422
  const icon = this.avatarIcon() ?? inputContext?.icon;
8265
8423
  const style = this.avatarStyle() ?? inputContext?.style;
8266
8424
  const hideOnError = this.avatarHideOnError() ?? inputContext?.hideOnError;
8267
- const context = {
8425
+ return {
8268
8426
  selector,
8269
8427
  uid,
8270
8428
  url,
@@ -8273,7 +8431,6 @@ class DbxAvatarComponent {
8273
8431
  style,
8274
8432
  hideOnError
8275
8433
  };
8276
- return context;
8277
8434
  }, ...(ngDevMode ? [{ debugName: "contextSignal" }] : []));
8278
8435
  configSignal = computed(() => {
8279
8436
  const context = this.contextSignal();
@@ -8667,8 +8824,7 @@ class TwoColumnsContextStore extends ComponentStore {
8667
8824
  * The right side is less-than or equal to half the total width when resizing, so we can use the total width to guess the best case current scenario.
8668
8825
  */
8669
8826
  const expectedRightWidth = (x.totalWidth ?? 0) / 2;
8670
- const hideLeft = x.showRight && expectedRightWidth < x.minRightWidth;
8671
- return hideLeft;
8827
+ return x.showRight && expectedRightWidth < x.minRightWidth;
8672
8828
  }));
8673
8829
  /**
8674
8830
  * Pipes the current state of reverseSizing.
@@ -8765,6 +8921,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
8765
8921
  * })
8766
8922
  * export class MyColumnLayoutComponent { }
8767
8923
  * ```
8924
+ *
8925
+ * @returns an array of Angular providers that supply a new {@link TwoColumnsContextStore}
8768
8926
  */
8769
8927
  function provideTwoColumnsContext() {
8770
8928
  return [
@@ -8826,7 +8984,7 @@ class DbxTwoColumnComponent {
8826
8984
  this.twoColumnsContextStore.setHasRight(true);
8827
8985
  }
8828
8986
  }, ...(ngDevMode ? [{ debugName: "_hasRightContentEffect" }] : []));
8829
- viewResized(event) {
8987
+ viewResized(_event) {
8830
8988
  const totalWidth = this._elementRef.nativeElement.clientWidth;
8831
8989
  this.twoColumnsContextStore.setTotalWidth(totalWidth);
8832
8990
  }
@@ -9149,7 +9307,7 @@ class DbxAnchorIconComponent {
9149
9307
  <mat-icon>{{ anchor()?.icon }}</mat-icon>
9150
9308
  </button>
9151
9309
  </dbx-anchor>
9152
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: DbxAnchorComponent, selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }] });
9310
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: DbxAnchorComponent, selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9153
9311
  }
9154
9312
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxAnchorIconComponent, decorators: [{
9155
9313
  type: Component,
@@ -9157,6 +9315,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
9157
9315
  selector: 'dbx-anchor-icon',
9158
9316
  standalone: true,
9159
9317
  imports: [MatIconModule, MatButtonModule, DbxAnchorComponent],
9318
+ changeDetection: ChangeDetectionStrategy.OnPush,
9160
9319
  template: `
9161
9320
  <dbx-anchor [anchor]="anchor()">
9162
9321
  <button mat-icon-button>
@@ -9240,6 +9399,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
9240
9399
  */
9241
9400
  class DbxAnchorContentComponent {
9242
9401
  parent = inject(DbxAnchorComponent, { optional: true });
9402
+ // eslint-disable-next-line @angular-eslint/no-input-rename
9243
9403
  inputAnchor = input(undefined, { ...(ngDevMode ? { debugName: "inputAnchor" } : {}), alias: 'anchor' });
9244
9404
  _inputAnchor = toObservable(this.inputAnchor);
9245
9405
  _parentAnchor = this.parent ? this.parent.anchor$ : of(undefined);
@@ -9255,7 +9415,7 @@ class DbxAnchorContentComponent {
9255
9415
  @if (titleSignal()) {
9256
9416
  <span>{{ titleSignal() }}</span>
9257
9417
  }
9258
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
9418
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9259
9419
  }
9260
9420
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxAnchorContentComponent, decorators: [{
9261
9421
  type: Component,
@@ -9271,6 +9431,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
9271
9431
  <span>{{ titleSignal() }}</span>
9272
9432
  }
9273
9433
  `,
9434
+ changeDetection: ChangeDetectionStrategy.OnPush,
9274
9435
  host: {
9275
9436
  class: 'dbx-anchor-content'
9276
9437
  }
@@ -9338,6 +9499,9 @@ class DbxValueListItemModifier {
9338
9499
  * })
9339
9500
  * export class MyModifierDirective extends DbxValueListItemModifier<MyItem> { ... }
9340
9501
  * ```
9502
+ *
9503
+ * @param sourceType - the directive class to register as the DbxValueListItemModifier provider
9504
+ * @returns an array of Angular providers that wire up the directive as a DbxValueListItemModifier
9341
9505
  */
9342
9506
  function provideDbxValueListViewModifier(sourceType) {
9343
9507
  return [
@@ -9356,6 +9520,10 @@ function provideDbxValueListViewModifier(sourceType) {
9356
9520
  * item.selected = item.itemValue.isImportant;
9357
9521
  * });
9358
9522
  * ```
9523
+ *
9524
+ * @param key - a unique string identifier for this modifier in the modifier map
9525
+ * @param modify - the function that mutates list item properties during rendering
9526
+ * @returns a new ListItemModifier with the given key and modification function
9359
9527
  */
9360
9528
  function listItemModifier(key, modify) {
9361
9529
  return modifier(key, modify);
@@ -9609,6 +9777,8 @@ class DbxSidenavComponent extends AbstractTransitionWatcherDirective {
9609
9777
  case 'full':
9610
9778
  mode = SideNavDisplayMode.FULL;
9611
9779
  break;
9780
+ default:
9781
+ break;
9612
9782
  }
9613
9783
  return mode;
9614
9784
  }), distinctUntilChanged(), shareReplay(1));
@@ -9628,6 +9798,8 @@ class DbxSidenavComponent extends AbstractTransitionWatcherDirective {
9628
9798
  drawer = 'side';
9629
9799
  open = true; // always show
9630
9800
  break;
9801
+ default:
9802
+ break;
9631
9803
  }
9632
9804
  return {
9633
9805
  mode,
@@ -9667,6 +9839,8 @@ class DbxSidenavComponent extends AbstractTransitionWatcherDirective {
9667
9839
  case SideNavDisplayMode.FULL:
9668
9840
  // Do nothing. Should be always open.
9669
9841
  break;
9842
+ default:
9843
+ break;
9670
9844
  }
9671
9845
  }
9672
9846
  else {
@@ -9674,10 +9848,10 @@ class DbxSidenavComponent extends AbstractTransitionWatcherDirective {
9674
9848
  }
9675
9849
  if (open != null) {
9676
9850
  if (open) {
9677
- this.sidenav().open();
9851
+ void this.sidenav().open();
9678
9852
  }
9679
9853
  else {
9680
- this.sidenav().close();
9854
+ void this.sidenav().close();
9681
9855
  }
9682
9856
  }
9683
9857
  }
@@ -9961,11 +10135,11 @@ class DbxAngularRouterSegueAnchorComponent extends AbstractDbxSegueAnchorDirecti
9961
10135
  disabledSignal: this.anchorDisabledSignal
9962
10136
  });
9963
10137
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxAngularRouterSegueAnchorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
9964
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.0", type: DbxAngularRouterSegueAnchorComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "anchorElement", first: true, predicate: ["anchor"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "injectionElement", first: true, predicate: ["injection"], descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<a class=\"dbx-anchor-a\" #anchor [attr.target]=\"targetSignal()\">\n <dbx-injection #injection [template]=\"templateConfigSignal()\"></dbx-injection>\n</a>\n", dependencies: [{ kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }] });
10138
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.0", type: DbxAngularRouterSegueAnchorComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "anchorElement", first: true, predicate: ["anchor"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "injectionElement", first: true, predicate: ["injection"], descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<a class=\"dbx-anchor-a\" #anchor [attr.target]=\"targetSignal()\">\n <dbx-injection #injection [template]=\"templateConfigSignal()\"></dbx-injection>\n</a>\n", dependencies: [{ kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9965
10139
  }
9966
10140
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxAngularRouterSegueAnchorComponent, decorators: [{
9967
10141
  type: Component,
9968
- args: [{ imports: [DbxInjectionComponent], standalone: true, template: "<a class=\"dbx-anchor-a\" #anchor [attr.target]=\"targetSignal()\">\n <dbx-injection #injection [template]=\"templateConfigSignal()\"></dbx-injection>\n</a>\n" }]
10142
+ args: [{ imports: [DbxInjectionComponent], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<a class=\"dbx-anchor-a\" #anchor [attr.target]=\"targetSignal()\">\n <dbx-injection #injection [template]=\"templateConfigSignal()\"></dbx-injection>\n</a>\n" }]
9969
10143
  }], propDecorators: { anchorElement: [{ type: i0.ViewChild, args: ['anchor', { ...{ read: ElementRef }, isSignal: true }] }], injectionElement: [{ type: i0.ViewChild, args: ['injection', { ...{ read: ElementRef }, isSignal: true }] }] } });
9970
10144
 
9971
10145
  /**
@@ -9977,6 +10151,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
9977
10151
  * providers: [provideDbxRouterWebAngularRouterProviderConfig()]
9978
10152
  * });
9979
10153
  * ```
10154
+ *
10155
+ * @returns environment providers that configure the Angular Router-based segue anchor component
9980
10156
  */
9981
10157
  function provideDbxRouterWebAngularRouterProviderConfig() {
9982
10158
  const config = {
@@ -10028,6 +10204,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
10028
10204
  * providers: [provideDbxRouterWebUiRouterProviderConfig()]
10029
10205
  * });
10030
10206
  * ```
10207
+ *
10208
+ * @returns environment providers that configure the UIRouter-based segue anchor component
10031
10209
  */
10032
10210
  function provideDbxRouterWebUiRouterProviderConfig() {
10033
10211
  const config = {
@@ -10712,6 +10890,9 @@ class DbxListView {
10712
10890
  * })
10713
10891
  * export class MyCustomListViewComponent extends DbxListView<MyItem> { ... }
10714
10892
  * ```
10893
+ *
10894
+ * @param sourceType - the component class to register as the DbxListView provider
10895
+ * @returns an array of Angular providers that wire up the component as a DbxListView
10715
10896
  */
10716
10897
  // eslint-disable-next-line
10717
10898
  function provideDbxListView(sourceType) {
@@ -10730,6 +10911,7 @@ function provideDbxListView(sourceType) {
10730
10911
  const DBX_VALUE_LIST_VIEW_ITEM = new InjectionToken('DbxValueListViewItem');
10731
10912
  /**
10732
10913
  * Convenience function for mapping a DecisionFunction for a value to a DecisionFunction for a DbxValueListItem with the same value type.
10914
+ *
10733
10915
  * @param decisionFunction
10734
10916
  * @returns
10735
10917
  */
@@ -10738,11 +10920,18 @@ function dbxValueListItemDecisionFunction(decisionFunction) {
10738
10920
  }
10739
10921
  /**
10740
10922
  * Default mapping function that wraps each raw value into a {@link DbxValueListItem} with only the `itemValue` property set.
10923
+ *
10924
+ * @param itemValues The raw values to wrap as list items
10925
+ * @returns An observable emitting the values wrapped in {@link DbxValueListItem} objects
10741
10926
  */
10742
10927
  const DEFAULT_DBX_VALUE_LIST_CONFIG_MAP_VALUES = (itemValues) => of(itemValues.map((itemValue) => ({ itemValue })));
10743
10928
  /**
10744
10929
  * Maps raw values into an observable of {@link DbxValueListItemConfig} items, applying the list view config's mapping function and attaching injection configuration.
10745
10930
  *
10931
+ * @param listViewConfig The list view configuration containing the component and optional mapping function
10932
+ * @param itemValues The raw values to map into configured list items
10933
+ * @returns An observable emitting the mapped and configured list item configs
10934
+ *
10746
10935
  * @example
10747
10936
  * ```ts
10748
10937
  * const items$ = mapValuesToValuesListItemConfigObs(listViewConfig, rawValues);
@@ -10756,11 +10945,11 @@ function mapValuesToValuesListItemConfigObs(listViewConfig, itemValues) {
10756
10945
  }));
10757
10946
  }
10758
10947
  /**
10759
- * Adds config to the input value list items.
10948
+ * Adds injection component configuration and meta configuration to each list item, producing fully configured {@link DbxValueListItemConfig} entries ready for rendering.
10760
10949
  *
10761
- * @param listViewConfig
10762
- * @param listItems
10763
- * @returns
10950
+ * @param listViewConfig The list view configuration providing injection component config and optional meta config
10951
+ * @param listItems The list items to augment with configuration
10952
+ * @returns The list items extended with injection component configuration attached
10764
10953
  */
10765
10954
  function addConfigToValueListItems(listViewConfig, listItems) {
10766
10955
  const itemConfigs = listItems.map((listItem) => {
@@ -10801,6 +10990,9 @@ class DbxValueListView {
10801
10990
  /**
10802
10991
  * Registers a component as a {@link DbxValueListView} provider for dependency injection.
10803
10992
  *
10993
+ * @param sourceType The component class type to register as the list view provider
10994
+ * @returns An array of Angular providers that bind the given component to {@link DbxValueListView}
10995
+ *
10804
10996
  * @example
10805
10997
  * ```ts
10806
10998
  * @Component({
@@ -10842,6 +11034,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
10842
11034
 
10843
11035
  /**
10844
11036
  * Default grouping function that places all items into a single unnamed group.
11037
+ *
11038
+ * @param items The flat list of configured list items to group
11039
+ * @returns An array containing a single group with all input items
10845
11040
  */
10846
11041
  const defaultDbxValueListViewGroupValuesFunction = (items) => {
10847
11042
  const data = {};
@@ -10861,20 +11056,24 @@ class DbxValueListViewGroupDelegate {
10861
11056
  /**
10862
11057
  * Creates a default {@link DbxValueListViewGroupDelegate} that places all items into a single ungrouped list.
10863
11058
  *
11059
+ * @returns A group delegate that places all items into one unnamed group
11060
+ *
10864
11061
  * @example
10865
11062
  * ```ts
10866
11063
  * const delegate = defaultDbxValueListViewGroupDelegate<MyItem>();
10867
11064
  * ```
10868
11065
  */
10869
11066
  function defaultDbxValueListViewGroupDelegate() {
10870
- const result = {
11067
+ return {
10871
11068
  groupValues: defaultDbxValueListViewGroupValuesFunction
10872
11069
  };
10873
- return result;
10874
11070
  }
10875
11071
  /**
10876
11072
  * Registers a class as a {@link DbxValueListViewGroupDelegate} provider for dependency injection.
10877
11073
  *
11074
+ * @param sourceType The class type to register as the group delegate provider
11075
+ * @returns An array of Angular providers that bind the given class to {@link DbxValueListViewGroupDelegate}
11076
+ *
10878
11077
  * @example
10879
11078
  * ```ts
10880
11079
  * @Directive({
@@ -10883,7 +11082,7 @@ function defaultDbxValueListViewGroupDelegate() {
10883
11082
  * export class MyGroupDelegate extends DbxValueListViewGroupDelegate<MyGroup, MyItem> { ... }
10884
11083
  * ```
10885
11084
  */
10886
- // eslint-disable-next-line
11085
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- generic provider factory requires any for type compatibility
10887
11086
  function provideDbxValueListViewGroupDelegate(sourceType) {
10888
11087
  // use of any here is allowed as typings are not relevant for providers
10889
11088
  return [
@@ -10930,7 +11129,7 @@ class DbxValueListViewContentGroupComponent {
10930
11129
  }
10931
11130
  @for (item of itemsSignal(); track trackByFunctionSignal()($index, item)) {
10932
11131
  <dbx-anchor [anchor]="item.anchor" [disabled]="item.disabled">
10933
- <a mat-list-item class="dbx-list-view-item" [disabled]="item.disabled" [disableRipple]="rippleDisabledOnItem(item)" (click)="onClickItem(item)">
11132
+ <a mat-list-item class="dbx-list-view-item" [disabled]="item.disabled" [disableRipple]="rippleDisabledOnItem(item)" (click)="onClickItem(item)" (keydown.enter)="onClickItem(item)">
10934
11133
  @if (item.icon) {
10935
11134
  <mat-icon matListItemIcon>{{ item.icon }}</mat-icon>
10936
11135
  }
@@ -10964,7 +11163,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
10964
11163
  }
10965
11164
  @for (item of itemsSignal(); track trackByFunctionSignal()($index, item)) {
10966
11165
  <dbx-anchor [anchor]="item.anchor" [disabled]="item.disabled">
10967
- <a mat-list-item class="dbx-list-view-item" [disabled]="item.disabled" [disableRipple]="rippleDisabledOnItem(item)" (click)="onClickItem(item)">
11166
+ <a mat-list-item class="dbx-list-view-item" [disabled]="item.disabled" [disableRipple]="rippleDisabledOnItem(item)" (click)="onClickItem(item)" (keydown.enter)="onClickItem(item)">
10968
11167
  @if (item.icon) {
10969
11168
  <mat-icon matListItemIcon>{{ item.icon }}</mat-icon>
10970
11169
  }
@@ -10995,9 +11194,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
10995
11194
  }], propDecorators: { group: [{ type: i0.Input, args: [{ isSignal: true, alias: "group", required: false }] }] } });
10996
11195
  // MARK: DbxValueListViewContentComponent
10997
11196
  /**
10998
- * Default track-by function that tracks items by their index position.
11197
+ * Default track-by function for list view content components.
11198
+ *
11199
+ * Uses the item's {@link DbxValueListItem.key} when available for stable identity across
11200
+ * data updates, falling back to a prefixed index string to avoid collisions with key values.
11201
+ *
11202
+ * @param index - the item's position index in the list
11203
+ * @param item - the list item whose identity key is resolved
11204
+ * @returns the item's key, itemValue key/id, or a prefixed index string as a fallback
10999
11205
  */
11000
- const DEFAULT_VALUE_LIST_VIEW_CONTENT_COMPONENT_TRACK_BY_FUNCTION = (index) => index;
11206
+ const DEFAULT_VALUE_LIST_VIEW_CONTENT_COMPONENT_TRACK_BY_FUNCTION = (index, item) => item?.key ?? item?.itemValue?.key ?? item?.itemValue?.id ?? `__list__${index}__`;
11001
11207
  /**
11002
11208
  * Renders a Material nav list of grouped value list items. Can be used directly when items are pre-configured,
11003
11209
  * or as part of the standard list rendering pipeline via {@link DbxValueListViewComponent}.
@@ -11009,21 +11215,21 @@ const DEFAULT_VALUE_LIST_VIEW_CONTENT_COMPONENT_TRACK_BY_FUNCTION = (index) => i
11009
11215
  */
11010
11216
  class DbxValueListViewContentComponent {
11011
11217
  dbxListView = inject((DbxListView));
11218
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- any required for generic group delegate compatibility
11012
11219
  _dbxListGroupDelegate = inject(DbxValueListViewGroupDelegate, { optional: true }) ?? defaultDbxValueListViewGroupDelegate();
11013
11220
  _trackBy$ = this.dbxListView.trackBy$ ?? of(undefined);
11014
11221
  trackBy$ = this._trackBy$.pipe(map((trackBy) => (trackBy ? (index, item) => trackBy(index, item.itemValue) : DEFAULT_VALUE_LIST_VIEW_CONTENT_COMPONENT_TRACK_BY_FUNCTION)));
11015
11222
  items = input(...(ngDevMode ? [undefined, { debugName: "items" }] : []));
11016
11223
  emitAllClicks = input(...(ngDevMode ? [undefined, { debugName: "emitAllClicks" }] : []));
11224
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- any required for generic group type compatibility
11017
11225
  groups$ = toObservable(this.items).pipe(switchMap((items) => asObservable(this._dbxListGroupDelegate.groupValues(items ?? []))), shareReplay(1));
11018
11226
  groupsSignal = toSignal(this.groups$);
11019
11227
  disabledSignal = toSignal(this.dbxListView.disabled$);
11020
11228
  onClickItem(item) {
11021
11229
  // do not emit clicks for disabled items.
11022
- if (!item.disabled) {
11023
- if (this.emitAllClicks() || !item.anchor || anchorTypeForAnchor(item.anchor) === 'plain') {
11024
- // only emit clicks for items with no anchor, or plain anchors.
11025
- this.onClickValue(item.itemValue);
11026
- }
11230
+ if (!item.disabled && (this.emitAllClicks() || !item.anchor || anchorTypeForAnchor(item.anchor) === 'plain')) {
11231
+ // only emit clicks for items with no anchor, or plain anchors.
11232
+ this.onClickValue(item.itemValue);
11027
11233
  }
11028
11234
  }
11029
11235
  onClickValue(value) {
@@ -11303,20 +11509,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
11303
11509
  * Default template string for accordion list view components that renders a `dbx-list-accordion-view` with a `config` binding.
11304
11510
  */
11305
11511
  const DEFAULT_DBX_LIST_ACCORDION_VIEW_COMPONENT_CONFIGURATION_TEMPLATE = '<dbx-list-accordion-view [config]="config"></dbx-list-accordion-view>';
11306
- const dbxListAccordionViewComponentImportsAndExports = [DbxValueListAccordionViewComponent];
11512
+ const DBX_LIST_ACCORDION_VIEW_COMPONENT_IMPORTS_AND_EXPORTS = [DbxValueListAccordionViewComponent];
11307
11513
  /**
11308
11514
  * Convenience module that imports and exports {@link DbxValueListAccordionViewComponent}.
11309
11515
  */
11310
11516
  class DbxListAccordionViewComponentImportsModule {
11311
11517
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxListAccordionViewComponentImportsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11312
11518
  static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: DbxListAccordionViewComponentImportsModule, imports: [DbxValueListAccordionViewComponent], exports: [DbxValueListAccordionViewComponent] });
11313
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxListAccordionViewComponentImportsModule, imports: [dbxListAccordionViewComponentImportsAndExports] });
11519
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxListAccordionViewComponentImportsModule, imports: [DBX_LIST_ACCORDION_VIEW_COMPONENT_IMPORTS_AND_EXPORTS] });
11314
11520
  }
11315
11521
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxListAccordionViewComponentImportsModule, decorators: [{
11316
11522
  type: NgModule,
11317
11523
  args: [{
11318
- exports: dbxListAccordionViewComponentImportsAndExports,
11319
- imports: dbxListAccordionViewComponentImportsAndExports
11524
+ exports: DBX_LIST_ACCORDION_VIEW_COMPONENT_IMPORTS_AND_EXPORTS,
11525
+ imports: DBX_LIST_ACCORDION_VIEW_COMPONENT_IMPORTS_AND_EXPORTS
11320
11526
  }]
11321
11527
  }] });
11322
11528
  /**
@@ -11330,6 +11536,12 @@ class AbstractDbxListAccordionViewDirective extends AbstractDbxListViewDirective
11330
11536
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AbstractDbxListAccordionViewDirective, decorators: [{
11331
11537
  type: Directive
11332
11538
  }] });
11539
+ // COMPAT: Deprecated aliases
11540
+ /**
11541
+ * @deprecated use DBX_LIST_ACCORDION_VIEW_COMPONENT_IMPORTS_AND_EXPORTS instead.
11542
+ */
11543
+ // eslint-disable-next-line @typescript-eslint/naming-convention
11544
+ const dbxListAccordionViewComponentImportsAndExports = DBX_LIST_ACCORDION_VIEW_COMPONENT_IMPORTS_AND_EXPORTS;
11333
11545
 
11334
11546
  /**
11335
11547
  * Default grid size configuration with responsive auto-fill columns (minimum 320px) and 8px gap.
@@ -11454,6 +11666,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
11454
11666
  */
11455
11667
  class DbxValueListGridViewContentComponent extends DbxValueListViewContentComponent {
11456
11668
  _gridSizeOverride = inject(DbxValueListGridSizeDirective, { optional: true });
11669
+ // eslint-disable-next-line @angular-eslint/no-input-rename
11457
11670
  inputGridConfig = input(undefined, { ...(ngDevMode ? { debugName: "inputGridConfig" } : {}), alias: 'grid' });
11458
11671
  gridConfigFromGridSizeSignal = toSignal(this._gridSizeOverride?.gridSize$ ?? of(undefined));
11459
11672
  gridConfigSignal = computed(() => {
@@ -11515,20 +11728,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
11515
11728
  * Default template string for grid list view components that renders a `dbx-list-grid-view` with a `config` binding.
11516
11729
  */
11517
11730
  const DEFAULT_DBX_LIST_GRID_VIEW_COMPONENT_CONFIGURATION_TEMPLATE = '<dbx-list-grid-view [config]="config"></dbx-list-grid-view>';
11518
- const dbxListGridViewComponentImportsAndExports = [DbxValueListGridViewComponent];
11731
+ const DBX_LIST_GRID_VIEW_COMPONENT_IMPORTS_AND_EXPORTS = [DbxValueListGridViewComponent];
11519
11732
  /**
11520
11733
  * Convenience module that imports and exports {@link DbxValueListGridViewComponent}.
11521
11734
  */
11522
11735
  class DbxListGridViewComponentImportsModule {
11523
11736
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxListGridViewComponentImportsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11524
11737
  static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: DbxListGridViewComponentImportsModule, imports: [DbxValueListGridViewComponent], exports: [DbxValueListGridViewComponent] });
11525
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxListGridViewComponentImportsModule, imports: [dbxListGridViewComponentImportsAndExports] });
11738
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxListGridViewComponentImportsModule, imports: [DBX_LIST_GRID_VIEW_COMPONENT_IMPORTS_AND_EXPORTS] });
11526
11739
  }
11527
11740
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxListGridViewComponentImportsModule, decorators: [{
11528
11741
  type: NgModule,
11529
11742
  args: [{
11530
- exports: dbxListGridViewComponentImportsAndExports,
11531
- imports: dbxListGridViewComponentImportsAndExports
11743
+ exports: DBX_LIST_GRID_VIEW_COMPONENT_IMPORTS_AND_EXPORTS,
11744
+ imports: DBX_LIST_GRID_VIEW_COMPONENT_IMPORTS_AND_EXPORTS
11532
11745
  }]
11533
11746
  }] });
11534
11747
  /**
@@ -11542,6 +11755,12 @@ class AbstractDbxListGridViewDirective extends AbstractDbxListViewDirective {
11542
11755
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AbstractDbxListGridViewDirective, decorators: [{
11543
11756
  type: Directive
11544
11757
  }] });
11758
+ // COMPAT: Deprecated aliases
11759
+ /**
11760
+ * @deprecated use DBX_LIST_GRID_VIEW_COMPONENT_IMPORTS_AND_EXPORTS instead.
11761
+ */
11762
+ // eslint-disable-next-line @typescript-eslint/naming-convention
11763
+ const dbxListGridViewComponentImportsAndExports = DBX_LIST_GRID_VIEW_COMPONENT_IMPORTS_AND_EXPORTS;
11545
11764
 
11546
11765
  /**
11547
11766
  * Injection token for providing a default meta icon string to {@link DbxListViewMetaIconComponent} instances.
@@ -11677,7 +11896,7 @@ class DbxListTitleGroupDirective {
11677
11896
  const cssClassesForAllGroups = inputCssClasses ?? [];
11678
11897
  const componentClass = delegate.headerComponentClass ?? DbxListTitleGroupHeaderComponent;
11679
11898
  const { dataForGroupValue, footerComponentClass } = delegate;
11680
- groups = Array.from(groupsValuesMap.entries()).map(([value, items]) => {
11899
+ groups = [...groupsValuesMap.entries()].map(([value, items]) => {
11681
11900
  const data = dataForGroupValue(value, items);
11682
11901
  data.value = value;
11683
11902
  const cssClasses = data.cssClasses ? [...cssClassesForAllGroups, ...data.cssClasses] : cssClassesForAllGroups;
@@ -11732,6 +11951,9 @@ const DBX_LIST_ITEM_DISABLE_RIPPLE_LIST_ITEM_MODIFIER_KEY = 'disable_ripple_anch
11732
11951
  /**
11733
11952
  * Default decision function that disables ripple on items that already have ripple disabled,
11734
11953
  * lack an anchor, or have an anchor with no navigation target.
11954
+ *
11955
+ * @param item - the list item to evaluate for ripple disabling
11956
+ * @returns `true` if the ripple should be disabled for this item
11735
11957
  */
11736
11958
  const DBX_LIST_ITEM_DEFAULT_DISABLE_FUNCTION = (item) => {
11737
11959
  return item.rippleDisabled || !item.anchor || (!item.anchor.ref && !item.anchor.url && !item.anchor.onClick);
@@ -11779,6 +12001,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
11779
12001
  const DBX_LIST_ITEM_IS_SELECTED_ITEM_MODIFIER_KEY = 'is_selected_item_modifier';
11780
12002
  /**
11781
12003
  * Default decision function that returns the item's current `selected` state (defaulting to false).
12004
+ *
12005
+ * @param item - the list item to check for selection
12006
+ * @returns `true` if the item is currently selected, `false` otherwise
11782
12007
  */
11783
12008
  const DEFAULT_DBX_LIST_ITEM_IS_SELECTED_FUNCTION = (item) => {
11784
12009
  return item.selected ?? false;
@@ -12052,7 +12277,9 @@ class DbxListComponent {
12052
12277
  const { scrollTop, scrollHeight, clientHeight } = element;
12053
12278
  return scrollHeight - (scrollTop + clientHeight);
12054
12279
  }
12055
- catch (e) { }
12280
+ catch {
12281
+ /* ignored */
12282
+ }
12056
12283
  }
12057
12284
  return 0;
12058
12285
  }
@@ -12062,7 +12289,7 @@ class DbxListComponent {
12062
12289
  try {
12063
12290
  element.scrollTop = element.scrollHeight;
12064
12291
  }
12065
- catch (err) {
12292
+ catch {
12066
12293
  // do nothing.
12067
12294
  }
12068
12295
  }
@@ -12074,7 +12301,7 @@ class DbxListComponent {
12074
12301
  const { scrollHeight, clientHeight } = element;
12075
12302
  element.scrollTop = scrollHeight - (clientHeight + pos);
12076
12303
  }
12077
- catch (err) {
12304
+ catch {
12078
12305
  // do nothing.
12079
12306
  }
12080
12307
  }
@@ -12157,6 +12384,7 @@ class AbstractDbxListWrapperDirective {
12157
12384
  currentState$ = combineLatest([this._stateOverride, toObservable(this.state)]).pipe(map(([stateOverride, state]) => stateOverride ?? state), maybeValueFromObservableOrValue(), shareReplay(1));
12158
12385
  config$ = this._config.pipe(maybeValueFromObservableOrValue(), map((x) => (x ? this._buildListConfig(x) : undefined)), shareReplay(1));
12159
12386
  configSignal = toSignal(this.config$);
12387
+ // eslint-disable-next-line @angular-eslint/prefer-inject
12160
12388
  constructor(initConfig) {
12161
12389
  this._config.next(initConfig);
12162
12390
  }
@@ -12238,6 +12466,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
12238
12466
 
12239
12467
  /**
12240
12468
  * Angular {@link TrackByFunction} that tracks {@link UniqueModel} items by their `id` property.
12469
+ *
12470
+ * @param index - the item's index in the iterable
12471
+ * @param model - the model whose `id` is used as the tracking identity
12472
+ * @returns the model's unique `id` value
12241
12473
  */
12242
12474
  const TRACK_BY_MODEL_ID = (index, model) => model.id;
12243
12475
  /**
@@ -12247,12 +12479,18 @@ const TRACK_BY_MODEL_ID = (index, model) => model.id;
12247
12479
  * ```ts
12248
12480
  * readonly trackBy = trackByUniqueIdentifier<MyModel>();
12249
12481
  * ```
12482
+ *
12483
+ * @returns a TrackByFunction that uses the item's `id` for identity tracking
12250
12484
  */
12251
12485
  function trackByUniqueIdentifier() {
12252
12486
  return TRACK_BY_MODEL_ID;
12253
12487
  }
12254
12488
  /**
12255
12489
  * Angular {@link TrackByFunction} that tracks {@link ModelKeyRef} items by their `key` property.
12490
+ *
12491
+ * @param index - the item's index in the iterable
12492
+ * @param model - the model whose `key` is used as the tracking identity
12493
+ * @returns the model's `key` value
12256
12494
  */
12257
12495
  const TRACK_BY_MODEL_KEY = (index, model) => model.key;
12258
12496
  /**
@@ -12262,6 +12500,8 @@ const TRACK_BY_MODEL_KEY = (index, model) => model.key;
12262
12500
  * ```ts
12263
12501
  * readonly trackBy = trackByModelKeyRef<MyModelRef>();
12264
12502
  * ```
12503
+ *
12504
+ * @returns a TrackByFunction that uses the item's `key` for identity tracking
12265
12505
  */
12266
12506
  function trackByModelKeyRef() {
12267
12507
  return TRACK_BY_MODEL_KEY;
@@ -12472,6 +12712,9 @@ class DbxListViewWrapper {
12472
12712
  * })
12473
12713
  * export class MyListWrapperComponent extends DbxListViewWrapper<MyItem> { ... }
12474
12714
  * ```
12715
+ *
12716
+ * @param sourceType - the component class to register as the DbxListViewWrapper provider
12717
+ * @returns an array of Angular providers that wire up the component as a DbxListViewWrapper
12475
12718
  */
12476
12719
  function provideDbxListViewWrapper(sourceType) {
12477
12720
  return [
@@ -12871,6 +13114,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
12871
13114
  * ```ts
12872
13115
  * provideDbxStyleService({ dbxStyleConfig: { style: 'my-app', suffixes: new Set(['dark']) } });
12873
13116
  * ```
13117
+ *
13118
+ * @param config - configuration specifying the default style and its allowed suffixes
13119
+ * @returns environment providers for the DbxStyleService and its default config token
12874
13120
  */
12875
13121
  function provideDbxStyleService(config) {
12876
13122
  const { dbxStyleConfig } = config;
@@ -13164,18 +13410,26 @@ class DbxLinkifyService {
13164
13410
  // MARK: Get
13165
13411
  /**
13166
13412
  * Returns the default entry.
13413
+ *
13414
+ * @returns the default linkify service entry, or undefined if none is registered
13167
13415
  */
13168
13416
  getDefaultEntry() {
13169
13417
  return this._entries.get(DEFAULT_DBX_LINKIFY_STRING_TYPE);
13170
13418
  }
13171
13419
  /**
13172
13420
  * Returns the entry for the given type.
13421
+ *
13422
+ * @param type - the linkify string type to look up
13423
+ * @returns the registered entry for the given type, or undefined if not found
13173
13424
  */
13174
13425
  getEntryRegisteredForType(type) {
13175
13426
  return this._entries.get(type);
13176
13427
  }
13177
13428
  /**
13178
13429
  * Returns the entry for the given type, or the default type if there is no entry registered or the input type is null/undefined.
13430
+ *
13431
+ * @param type - the linkify string type to look up, or nullish to retrieve the default entry
13432
+ * @returns the matching entry, or the default entry if the type is not provided
13179
13433
  */
13180
13434
  getEntry(type) {
13181
13435
  return type ? this._entries.get(type) : this.getDefaultEntry();
@@ -13255,6 +13509,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
13255
13509
  * })
13256
13510
  * });
13257
13511
  * ```
13512
+ *
13513
+ * @param config - configuration containing the factory function for creating the linkify service config
13514
+ * @returns environment providers that register the DbxLinkifyServiceConfig
13258
13515
  */
13259
13516
  function provideDbxLinkify(config) {
13260
13517
  const { dbxLinkifyServiceConfigFactory } = config;
@@ -13292,6 +13549,7 @@ class DbxChipDirective {
13292
13549
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxChipDirective, decorators: [{
13293
13550
  type: Directive,
13294
13551
  args: [{
13552
+ // eslint-disable-next-line @angular-eslint/directive-selector
13295
13553
  selector: 'dbx-chip',
13296
13554
  host: {
13297
13555
  class: 'dbx-chip mat-standard-chip',
@@ -13478,7 +13736,7 @@ class DbxClickToCopyTextDirective extends AbstractDbxClipboardDirective {
13478
13736
  copyText = (element ?? eventElement)?.textContent ?? undefined;
13479
13737
  }
13480
13738
  if (copyText) {
13481
- this._copyToClipboard(copyText);
13739
+ void this._copyToClipboard(copyText);
13482
13740
  }
13483
13741
  return copyText;
13484
13742
  }
@@ -13529,7 +13787,7 @@ class DbxClickToCopyTextComponent {
13529
13787
  @if (showIcon()) {
13530
13788
  <mat-icon class="dbx-click-to-copy-text-icon" (click)="dbxClickToCopyText()?._copyText()">{{ clickToCopyIcon() }}</mat-icon>
13531
13789
  }
13532
- `, isInline: true, dependencies: [{ kind: "directive", type: DbxClickToCopyTextDirective, selector: "[dbxClickToCopyText]", inputs: ["copyTextFromElement", "dbxClickToCopyText", "disableCopy", "highlighted"], outputs: ["copyTextFromElementChange"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
13790
+ `, isInline: true, dependencies: [{ kind: "directive", type: DbxClickToCopyTextDirective, selector: "[dbxClickToCopyText]", inputs: ["copyTextFromElement", "dbxClickToCopyText", "disableCopy", "highlighted"], outputs: ["copyTextFromElementChange"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
13533
13791
  }
13534
13792
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxClickToCopyTextComponent, decorators: [{
13535
13793
  type: Component,
@@ -13547,6 +13805,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
13547
13805
  class: 'dbx-click-to-copy-text-component'
13548
13806
  },
13549
13807
  imports: [DbxClickToCopyTextDirective, MatIcon],
13808
+ changeDetection: ChangeDetectionStrategy.OnPush,
13550
13809
  standalone: true
13551
13810
  }]
13552
13811
  }], propDecorators: { contentElementRef: [{ type: i0.ViewChild, args: ['content', { isSignal: true }] }], dbxClickToCopyText: [{ type: i0.ViewChild, args: [i0.forwardRef(() => DbxClickToCopyTextDirective), { isSignal: true }] }], copyText: [{ type: i0.Input, args: [{ isSignal: true, alias: "copyText", required: false }] }], showIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "showIcon", required: false }] }], highlighted: [{ type: i0.Input, args: [{ isSignal: true, alias: "highlighted", required: false }] }], clipboardSnackbarMessagesConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "clipboardSnackbarMessagesConfig", required: false }] }], clipboardSnackbarMessagesEnabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "clipboardSnackbarMessagesEnabled", required: false }] }], clickToCopyIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "clickToCopyIcon", required: false }] }], clickIconToCopyOnly: [{ type: i0.Input, args: [{ isSignal: true, alias: "clickIconToCopyOnly", required: false }] }] } });
@@ -13571,19 +13830,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
13571
13830
 
13572
13831
  class DbxLayoutModule {
13573
13832
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13574
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: DbxLayoutModule, exports: [DbxBarLayoutModule, DbxCardBoxLayoutModule, DbxColumnLayoutModule, DbxCompactLayoutModule, DbxContentLayoutModule, DbxFlagLayoutModule, DbxFlexLayoutModule, DbxSectionLayoutModule, DbxStyleLayoutModule, DbxTextModule] });
13575
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxLayoutModule, imports: [DbxBarLayoutModule, DbxCardBoxLayoutModule, DbxColumnLayoutModule, DbxCompactLayoutModule, DbxContentLayoutModule, DbxFlagLayoutModule, DbxFlexLayoutModule, DbxSectionLayoutModule, DbxStyleLayoutModule, DbxTextModule] });
13833
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: DbxLayoutModule, imports: [DbxCompactDirective, DbxFlexGroupDirective, DbxFlexSizeDirective], exports: [DbxBarLayoutModule, DbxCardBoxLayoutModule, DbxColumnLayoutModule, DbxCompactDirective, DbxContentLayoutModule, DbxFlagLayoutModule, DbxFlexGroupDirective, DbxFlexSizeDirective, DbxSectionLayoutModule, DbxStyleLayoutModule, DbxTextModule] });
13834
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxLayoutModule, imports: [DbxBarLayoutModule, DbxCardBoxLayoutModule, DbxColumnLayoutModule, DbxContentLayoutModule, DbxFlagLayoutModule, DbxSectionLayoutModule, DbxStyleLayoutModule, DbxTextModule] });
13576
13835
  }
13577
13836
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxLayoutModule, decorators: [{
13578
13837
  type: NgModule,
13579
13838
  args: [{
13580
- exports: [DbxBarLayoutModule, DbxCardBoxLayoutModule, DbxColumnLayoutModule, DbxCompactLayoutModule, DbxContentLayoutModule, DbxFlagLayoutModule, DbxFlexLayoutModule, DbxSectionLayoutModule, DbxStyleLayoutModule, DbxTextModule]
13839
+ imports: [DbxCompactDirective, DbxFlexGroupDirective, DbxFlexSizeDirective],
13840
+ exports: [DbxBarLayoutModule, DbxCardBoxLayoutModule, DbxColumnLayoutModule, DbxCompactDirective, DbxContentLayoutModule, DbxFlagLayoutModule, DbxFlexGroupDirective, DbxFlexSizeDirective, DbxSectionLayoutModule, DbxStyleLayoutModule, DbxTextModule]
13581
13841
  }]
13582
13842
  }] });
13583
13843
 
13584
13844
  /**
13585
13845
  * Returns the appropriate Material icon name for a zip entry tree node: "folder" for directories, "note" for files with a known MIME type, or "question_mark" for unknown files.
13586
13846
  *
13847
+ * @param entry - The zip entry tree node to determine the icon for
13848
+ * @returns The Material icon name: "folder", "note", or "question_mark"
13849
+ *
13587
13850
  * @example
13588
13851
  * ```typescript
13589
13852
  * const icon = iconForDbxZipPreviewEntryWithSelection(treeNode); // 'folder', 'note', or 'question_mark'
@@ -13831,7 +14094,7 @@ class DbxZipBlobPreviewComponent {
13831
14094
  return selectedNode?.value.value.directory ? undefined : selectedNode;
13832
14095
  }, ...(ngDevMode ? [{ debugName: "selectedFileNodeSignal" }] : []));
13833
14096
  selectedFileEntry$ = toObservable(this.selectedFileNodeSignal);
13834
- selectedFileEntryBlob$ = this.selectedFileEntry$.pipe(switchMap((x) => (x && x.value.getBlob ? x.value.getBlob() : of(undefined))), shareReplay(1));
14097
+ selectedFileEntryBlob$ = this.selectedFileEntry$.pipe(switchMap((x) => (x?.value.getBlob ? x.value.getBlob() : of(undefined))), shareReplay(1));
13835
14098
  selectedFileEntryBlobSignal = toSignal(this.selectedFileEntryBlob$);
13836
14099
  context = cleanLoadingContext({ obs: this.allEntriesLoadingState$ });
13837
14100
  makeEntryAnchor = (itemValue) => {
@@ -13952,6 +14215,9 @@ function openZipPreviewDialog(matDialog, config) {
13952
14215
  // MARK: Zip
13953
14216
  /**
13954
14217
  * Preview component function preset that renders zip files using {@link DbxZipPreviewComponent}.
14218
+ *
14219
+ * @param input - The preview input containing the source URL and MIME type of the zip file
14220
+ * @returns An injection component config that initializes a {@link DbxZipPreviewComponent} with the given source URL
13955
14221
  */
13956
14222
  const DBX_WEB_FILE_PREVIEW_SERVICE_ZIP_COMPONENT_PRESET = (input) => {
13957
14223
  const { srcUrl } = input;
@@ -14058,8 +14324,9 @@ class DbxWidgetService {
14058
14324
  /**
14059
14325
  * Used to register an entry. If an entry with the same type is already registered, this will override it by default.
14060
14326
  *
14061
- * @param entry
14062
- * @param override
14327
+ * @param entry - The widget entry mapping a type identifier to its component class
14328
+ * @param override - Whether to replace an existing entry with the same type. Defaults to true.
14329
+ * @returns True if the entry was registered, false if an entry with the same type already exists and override is false
14063
14330
  */
14064
14331
  register(entry, override = true) {
14065
14332
  if (override || !this._entries.has(entry.type)) {
@@ -14072,7 +14339,7 @@ class DbxWidgetService {
14072
14339
  }
14073
14340
  // MARK: Get
14074
14341
  getWidgetIdentifiers() {
14075
- return Array.from(this._entries.keys());
14342
+ return [...this._entries.keys()];
14076
14343
  }
14077
14344
  getWidgetEntry(type) {
14078
14345
  return this._entries.get(type);
@@ -14275,11 +14542,11 @@ class DbxHelpContextService {
14275
14542
  /**
14276
14543
  * Observable of all currently active help context strings.
14277
14544
  */
14278
- activeHelpContextKeys$ = this._contextReferences.pipe(switchMap((allReferences) => combineLatest(Array.from(allReferences).map((ref) => ref.helpContextKeys$)).pipe(map((x) => x.flat()), defaultIfEmpty([]), map((x) => new Set(x)))), distinctUntilHasDifferentValues(), shareReplay(1));
14545
+ activeHelpContextKeys$ = this._contextReferences.pipe(switchMap((allReferences) => combineLatest([...allReferences].map((ref) => ref.helpContextKeys$)).pipe(map((x) => x.flat()), defaultIfEmpty([]), map((x) => new Set(x)))), distinctUntilHasDifferentValues(), shareReplay(1));
14279
14546
  /**
14280
14547
  * Observable array of all currently active help context key strings.
14281
14548
  */
14282
- activeHelpContextKeysArray$ = this.activeHelpContextKeys$.pipe(map((x) => Array.from(x)), shareReplay(1));
14549
+ activeHelpContextKeysArray$ = this.activeHelpContextKeys$.pipe(map((x) => [...x]), shareReplay(1));
14283
14550
  /**
14284
14551
  * Registers a help context reference, adding its keys to the active set.
14285
14552
  *
@@ -14316,6 +14583,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
14316
14583
  * // In a component or directive constructor
14317
14584
  * const destroy = registerHelpContextKeysWithDbxHelpContextService(of(['feature-help', 'general-help']));
14318
14585
  * ```
14586
+ *
14587
+ * @param helpContextKeys - Observable or static array of help context keys to register with the service
14588
+ * @returns A destroy function that unregisters the help context keys when called
14319
14589
  */
14320
14590
  function registerHelpContextKeysWithDbxHelpContextService(helpContextKeys) {
14321
14591
  const helpContextService = inject(DbxHelpContextService);
@@ -14386,7 +14656,8 @@ class DbxHelpWidgetService {
14386
14656
  _helpListFooterComponentConfig;
14387
14657
  _defaultIcon;
14388
14658
  _popoverHeaderComponentConfig;
14389
- constructor(initialConfig) {
14659
+ constructor() {
14660
+ const initialConfig = inject(DbxHelpWidgetServiceConfig, { optional: true });
14390
14661
  this.setDefaultWidgetComponentClass(initialConfig?.defaultWidgetComponentClass);
14391
14662
  this.setDefaultIcon(initialConfig?.defaultIcon);
14392
14663
  this.setPopoverHeaderComponentConfig(initialConfig?.popoverHeaderComponentConfig);
@@ -14398,6 +14669,8 @@ class DbxHelpWidgetService {
14398
14669
  }
14399
14670
  /**
14400
14671
  * Returns the component class used for unrecognized help context keys.
14672
+ *
14673
+ * @returns The default widget component class, or undefined if not set
14401
14674
  */
14402
14675
  getDefaultWidgetComponentClass() {
14403
14676
  return this._defaultWidgetComponentClass;
@@ -14407,6 +14680,8 @@ class DbxHelpWidgetService {
14407
14680
  }
14408
14681
  /**
14409
14682
  * Returns the default icon used for help entries without a specific icon.
14683
+ *
14684
+ * @returns The default icon string, or undefined if not set
14410
14685
  */
14411
14686
  getDefaultIcon() {
14412
14687
  return this._defaultIcon;
@@ -14416,6 +14691,8 @@ class DbxHelpWidgetService {
14416
14691
  }
14417
14692
  /**
14418
14693
  * Returns the component config displayed in the popover header, if set.
14694
+ *
14695
+ * @returns The popover header component config, or undefined if not set
14419
14696
  */
14420
14697
  getPopoverHeaderComponentConfig() {
14421
14698
  return this._popoverHeaderComponentConfig;
@@ -14425,6 +14702,8 @@ class DbxHelpWidgetService {
14425
14702
  }
14426
14703
  /**
14427
14704
  * Returns the component config displayed at the top of the help list view, if set.
14705
+ *
14706
+ * @returns The help list header component config, or undefined if not set
14428
14707
  */
14429
14708
  getHelpListHeaderComponentConfig() {
14430
14709
  return this._helpListHeaderComponentConfig;
@@ -14434,6 +14713,8 @@ class DbxHelpWidgetService {
14434
14713
  }
14435
14714
  /**
14436
14715
  * Returns the component config displayed at the bottom of the help list view, if set.
14716
+ *
14717
+ * @returns The help list footer component config, or undefined if not set
14437
14718
  */
14438
14719
  getHelpListFooterComponentConfig() {
14439
14720
  return this._helpListFooterComponentConfig;
@@ -14448,6 +14729,7 @@ class DbxHelpWidgetService {
14448
14729
  *
14449
14730
  * @param entries The entries to register
14450
14731
  * @param override Whether to override existing entries (default: true)
14732
+ * @returns Always returns true after registration completes
14451
14733
  */
14452
14734
  register(entries, override = true) {
14453
14735
  const entriesArray = asArray(entries);
@@ -14461,14 +14743,17 @@ class DbxHelpWidgetService {
14461
14743
  // MARK: Get
14462
14744
  /**
14463
14745
  * Returns all currently registered help context keys.
14746
+ *
14747
+ * @returns Array of all registered help context keys
14464
14748
  */
14465
14749
  getAllRegisteredHelpContextKeys() {
14466
- return Array.from(this._entries.keys());
14750
+ return [...this._entries.keys()];
14467
14751
  }
14468
14752
  /**
14469
14753
  * Retrieves the widget entry for a given help context key. Falls back to a default entry if a default widget component class is configured.
14470
14754
  *
14471
14755
  * @param helpContextKey - The help context key to look up
14756
+ * @returns The matching widget entry, a default entry if a default component class is configured, or undefined
14472
14757
  */
14473
14758
  getHelpWidgetEntry(helpContextKey) {
14474
14759
  return this._entries.get(helpContextKey) ?? (this._defaultWidgetComponentClass ? { helpContextKey, title: '<Missing Help Topic>', widgetComponentClass: this._defaultWidgetComponentClass } : undefined);
@@ -14477,33 +14762,34 @@ class DbxHelpWidgetService {
14477
14762
  * Retrieves widget entries for multiple help context keys, filtering out any unresolvable keys.
14478
14763
  *
14479
14764
  * @param helpContextKeys - Array of help context keys to look up
14765
+ * @returns Array of resolved widget entries, excluding any keys that could not be resolved
14480
14766
  */
14481
14767
  getHelpWidgetEntriesForHelpContextKeys(helpContextKeys) {
14482
14768
  return helpContextKeys.map((context) => this.getHelpWidgetEntry(context)).filter((entry) => !!entry);
14483
14769
  }
14484
14770
  /**
14485
14771
  * Checks whether a widget entry is registered for the given help context key.
14772
+ *
14773
+ * @param context - The help context key to check
14774
+ * @returns True if a widget entry exists for the given key
14486
14775
  */
14487
14776
  hasHelpWidgetEntry(context) {
14488
14777
  return this._entries.has(context);
14489
14778
  }
14490
14779
  /**
14491
14780
  * Returns a cached map of help context keys to their sort priority values.
14781
+ *
14782
+ * @returns Map of help context keys to their numeric sort priorities
14492
14783
  */
14493
14784
  getSortPriorityMap() {
14494
14785
  return this._sortPriorityMap();
14495
14786
  }
14496
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxHelpWidgetService, deps: [{ token: DbxHelpWidgetServiceConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
14787
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxHelpWidgetService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
14497
14788
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxHelpWidgetService });
14498
14789
  }
14499
14790
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxHelpWidgetService, decorators: [{
14500
14791
  type: Injectable
14501
- }], ctorParameters: () => [{ type: DbxHelpWidgetServiceConfig, decorators: [{
14502
- type: Optional
14503
- }, {
14504
- type: Inject,
14505
- args: [DbxHelpWidgetServiceConfig]
14506
- }] }] });
14792
+ }], ctorParameters: () => [] });
14507
14793
 
14508
14794
  /**
14509
14795
  * Creates EnvironmentProviders for the help context system.
@@ -14646,8 +14932,7 @@ class DbxHelpViewListComponent {
14646
14932
  helpContextKeys = input.required(...(ngDevMode ? [{ debugName: "helpContextKeys" }] : []));
14647
14933
  helpContextKeys$ = toObservable(this.helpContextKeys).pipe(switchMap((x) => asObservable(x) ?? of([])), map(asArray), distinctUntilHasDifferentValues(), map((x) => {
14648
14934
  const sortPriorityMap = this.helpWidgetService.getSortPriorityMap();
14649
- const sorted = [...x].sort(sortByNumberFunction((x) => sortPriorityMap.get(x) ?? -2));
14650
- return sorted;
14935
+ return [...x].sort(sortByNumberFunction((x) => sortPriorityMap.get(x) ?? -2));
14651
14936
  }), shareReplay(1));
14652
14937
  helpContextKeysSignal = toSignal(this.helpContextKeys$, { initialValue: [] });
14653
14938
  helpWidgetEntriesSignal = computed(() => this.helpWidgetService.getHelpWidgetEntriesForHelpContextKeys(this.helpContextKeysSignal()), ...(ngDevMode ? [{ debugName: "helpWidgetEntriesSignal" }] : []));
@@ -14876,7 +15161,9 @@ function disableRightClickInCdkBackdrop(classes = 'cdk-overlay-container', onEve
14876
15161
  return () => target.removeEventListener('contextmenu', eventListener);
14877
15162
  }
14878
15163
  else {
14879
- return () => { };
15164
+ return () => {
15165
+ /* noop */
15166
+ };
14880
15167
  }
14881
15168
  }
14882
15169
 
@@ -14896,5 +15183,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
14896
15183
  * Generated bundle index. Do not edit.
14897
15184
  */
14898
15185
 
14899
- export { APP_POPUP_MINIMIZED_WIDTH, APP_POPUP_NORMAL_HEIGHT, APP_POPUP_NORMAL_WIDTH, AbstractDbxClipboardDirective, AbstractDbxErrorWidgetComponent, AbstractDbxFileUploadComponent, AbstractDbxHelpWidgetDirective, AbstractDbxListAccordionViewDirective, AbstractDbxListGridViewDirective, AbstractDbxListViewDirective, AbstractDbxListWrapperDirective, AbstractDbxPartialPresetFilterMenuDirective, AbstractDbxSegueAnchorDirective, AbstractDbxSelectionListViewDirective, AbstractDbxSelectionListWrapperDirective, AbstractDbxValueListItemModifierDirective, AbstractDbxValueListViewDirective, AbstractDbxValueListViewItemComponent, AbstractDbxWidgetComponent, AbstractDialogDirective, AbstractFilterPopoverButtonDirective, AbstractPopoverDirective, AbstractPopoverRefDirective, AbstractPopoverRefWithEventsDirective, AbstractPopupDirective, AbstractPromptConfirmDirective, CompactContextStore, CompactMode, DBX_ACTION_SNACKBAR_DEFAULTS, DBX_ACTION_SNACKBAR_SERVICE_CONFIG, DBX_AVATAR_CONTEXT_DATA_TOKEN, DBX_DARK_STYLE_CLASS_SUFFIX, DBX_HELP_WIDGET_ENTRY_DATA_TOKEN, DBX_LIST_DEFAULT_SCROLL_DISTANCE, DBX_LIST_DEFAULT_THROTTLE_SCROLL, DBX_LIST_ITEM_DEFAULT_DISABLE_FUNCTION, DBX_LIST_ITEM_DISABLE_RIPPLE_LIST_ITEM_MODIFIER_KEY, DBX_LIST_ITEM_IS_SELECTED_ITEM_MODIFIER_KEY, DBX_LIST_VIEW_DEFAULT_META_ICON, DBX_MODEL_VIEW_TRACKER_STORAGE_ACCESSOR_TOKEN, DBX_PROGRESS_BUTTON_GLOBAL_CONFIG, DBX_ROUTER_ANCHOR_COMPONENTS, DBX_ROUTER_VALUE_LIST_ITEM_MODIFIER_KEY, DBX_STYLE_DEFAULT_CONFIG_TOKEN, DBX_THEME_COLORS, DBX_THEME_COLORS_EXTRA, DBX_THEME_COLORS_EXTRA_SECONDARY, DBX_THEME_COLORS_MAIN, DBX_VALUE_LIST_VIEW_ITEM, DBX_WEB_FILE_PREVIEW_SERVICE_DEFAULT_DIALOG_WITH_COMPONENT_FUNCTION, DBX_WEB_FILE_PREVIEW_SERVICE_DEFAULT_PREVIEW_COMPONENT_FUNCTION, DBX_WEB_FILE_PREVIEW_SERVICE_ENTRIES_TOKEN, DBX_WEB_FILE_PREVIEW_SERVICE_ZIP_COMPONENT_PRESET, DBX_WEB_FILE_PREVIEW_SERVICE_ZIP_PRESET_ENTRY, DEFAULT_DBX_ERROR_SNACKBAR_CONFIG, DEFAULT_DBX_HELP_VIEW_POPOVER_KEY, DEFAULT_DBX_LINKIFY_STRING_TYPE, DEFAULT_DBX_LIST_ACCORDION_VIEW_COMPONENT_CONFIGURATION_TEMPLATE, DEFAULT_DBX_LIST_GRID_VIEW_COMPONENT_CONFIGURATION_TEMPLATE, DEFAULT_DBX_LIST_ITEM_IS_SELECTED_FUNCTION, DEFAULT_DBX_PROMPT_CONFIRM_DIALOG_CONFIG, DEFAULT_DBX_SELECTION_VALUE_LIST_COMPONENT_CONFIGURATION_TEMPLATE, DEFAULT_DBX_SIDENAV_MENU_ICON, DEFAULT_DBX_VALUE_LIST_COMPONENT_CONFIGURATION_TEMPLATE, DEFAULT_DBX_VALUE_LIST_CONFIG_MAP_VALUES, DEFAULT_ERROR_POPOVER_KEY, DEFAULT_ERROR_WIDGET_CODE, DEFAULT_FILTER_POPOVER_KEY, DEFAULT_LIST_GRID_SIZE_CONFIG, DEFAULT_LIST_WRAPPER_COMPONENT_CONFIGURATION_TEMPLATE, DEFAULT_LOADING_PROGRESS_DIAMETER, DEFAULT_SCREEN_MEDIA_SERVICE_CONFIG, DEFAULT_SNACKBAR_DIRECTIVE_DURATION, DEFAULT_TWO_COLUMNS_MIN_RIGHT_WIDTH, DEFAULT_VALUE_LIST_VIEW_CONTENT_COMPONENT_TRACK_BY_FUNCTION, DbxAccordionHeaderHeightDirective, DbxActionConfirmDirective, DbxActionDialogDirective, DbxActionErrorDirective, DbxActionKeyTriggerDirective, DbxActionLoadingContextDirective, DbxActionModule, DbxActionPopoverDirective, DbxActionSnackbarComponent, DbxActionSnackbarDirective, DbxActionSnackbarErrorDirective, DbxActionSnackbarModule, DbxActionSnackbarService, DbxActionTransitionSafetyDirective, DbxActionUIRouterTransitionSafetyDialogComponent, DbxAnchorComponent, DbxAnchorContentComponent, DbxAnchorIconComponent, DbxAnchorListComponent, DbxAngularRouterSegueAnchorComponent, DbxAvatarComponent, DbxAvatarViewService, DbxAvatarViewServiceConfig, DbxBarDirective, DbxBarHeaderComponent, DbxBarLayoutModule, DbxBasicLoadingComponent, DbxBodyDirective, DbxButtonComponent, DbxButtonModule, DbxButtonSpacerDirective, DbxCardBoxComponent, DbxCardBoxContainerDirective, DbxCardBoxLayoutModule, DbxChipDirective, DbxClickToCopyTextComponent, DbxClickToCopyTextDirective, DbxColorDirective, DbxColumnLayoutModule, DbxCompactDirective, DbxCompactLayoutModule, DbxContentBorderDirective, DbxContentBoxDirective, DbxContentContainerDirective, DbxContentDirective, DbxContentElevateDirective, DbxContentLayoutModule, DbxContentPageDirective, DbxContentPitDirective, DbxDetailBlockComponent, DbxDetailBlockHeaderComponent, DbxDialogContentCloseComponent, DbxDialogContentDirective, DbxDialogContentFooterComponent, DbxDialogInteractionModule, DbxDialogModule, DbxDownloadBlobButtonComponent, DbxDownloadTextViewComponent, DbxEmbedComponent, DbxErrorComponent, DbxErrorDefaultErrorWidgetComponent, DbxErrorDetailsComponent, DbxErrorPopoverComponent, DbxErrorSnackbarComponent, DbxErrorSnackbarService, DbxErrorViewComponent, DbxErrorWidgetService, DbxErrorWidgetViewComponent, DbxFileUploadActionCompatable, DbxFileUploadActionSyncDirective, DbxFileUploadAreaComponent, DbxFileUploadButtonComponent, DbxFileUploadComponent, DbxFilterInteractionModule, DbxFilterPopoverButtonComponent, DbxFilterPopoverComponent, DbxFilterWrapperComponent, DbxFlagComponent, DbxFlagLayoutModule, DbxFlagPromptComponent, DbxFlexGroupDirective, DbxFlexLayoutModule, DbxFlexSizeDirective, DbxHelpContextDirective, DbxHelpContextService, DbxHelpViewListComponent, DbxHelpViewListEntryComponent, DbxHelpViewPopoverButtonComponent, DbxHelpViewPopoverComponent, DbxHelpWidgetService, DbxHelpWidgetServiceConfig, DbxIconButtonComponent, DbxIconButtonModule, DbxIconItemComponent, DbxIconSpacerDirective, DbxIfSidenavDisplayModeDirective, DbxIframeComponent, DbxInjectionDialogComponent, DbxInteractionModule, DbxIntroActionSectionComponent, DbxLabelBlockComponent, DbxLayoutModule, DbxLinkComponent, DbxLinkifyComponent, DbxLinkifyService, DbxLinkifyServiceConfig, DbxListAccordionViewComponentImportsModule, DbxListComponent, DbxListEmptyContentComponent, DbxListGridViewComponentImportsModule, DbxListInternalContentDirective, DbxListItemAnchorModifierDirective, DbxListItemDisableRippleModifierDirective, DbxListItemIsSelectedModifierDirective, DbxListModifierModule, DbxListModule, DbxListTitleGroupDirective, DbxListView, DbxListViewMetaIconComponent, DbxListViewWrapper, DbxListWrapperComponentImportsModule, DbxLoadingComponent, DbxLoadingErrorDirective, DbxLoadingModule, DbxLoadingProgressComponent, DbxModelObjectStateService, actions as DbxModelStateActions, model_actions as DbxModelStateModelActions, DbxModelTrackerService, DbxModelTypesService, DbxModelViewTrackerStorage, DbxNavbarComponent, DbxNumberWithLimitComponent, DbxOneColumnComponent, DbxOneColumnLayoutModule, DbxPagebarComponent, DbxPartialPresetFilterListComponent, DbxPartialPresetFilterMenuComponent, DbxPopoverCloseButtonComponent, DbxPopoverComponent, DbxPopoverComponentController, DbxPopoverContentComponent, DbxPopoverController, DbxPopoverControlsDirective, DbxPopoverCoordinatorComponent, DbxPopoverCoordinatorService, DbxPopoverHeaderComponent, DbxPopoverInteractionContentModule, DbxPopoverInteractionModule, DbxPopoverScrollContentDirective, DbxPopoverService, DbxPopupComponent, DbxPopupComponentController, DbxPopupContentComponent, DbxPopupControlButtonsComponent, DbxPopupController, DbxPopupControlsComponent, DbxPopupCoordinatorComponent, DbxPopupCoordinatorService, DbxPopupInteractionModule, DbxPopupService, DbxPopupWindowState, DbxPresetFilterListComponent, DbxPresetFilterMenuComponent, DbxProgressBarButtonComponent, DbxProgressButtonsModule, DbxProgressSpinnerButtonComponent, DbxPromptBoxDirective, DbxPromptComponent, DbxPromptConfirm, DbxPromptConfirmButtonDirective, DbxPromptConfirmComponent, DbxPromptConfirmDialogComponent, DbxPromptConfirmDirective, DbxPromptModule, DbxPromptPageComponent, DbxReadableErrorModule, DbxResizedDirective, DbxRouterAnchorModule, DbxRouterLayoutModule, DbxRouterSidenavModule, DbxRouterWebProviderConfig, DbxScreenMediaService, DbxScreenMediaServiceConfig, DbxSectionComponent, DbxSectionHeaderComponent, DbxSectionLayoutModule, DbxSectionPageComponent, DbxSelectionValueListViewComponent, DbxSelectionValueListViewComponentImportsModule, DbxSelectionValueListViewContentComponent, DbxSetStyleDirective, DbxSidenavButtonComponent, DbxSidenavComponent, DbxSidenavPageComponent, DbxSidenavPagebarComponent, DbxSpacerDirective, DbxStepComponent, DbxStepLayoutModule, DbxStructureDirective, DbxStructureModule, DbxStyleBodyDirective, DbxStyleDirective, DbxStyleLayoutModule, DbxStyleService, DbxSubSectionComponent, DbxTextChipsComponent, DbxTextModule, DbxTwoBlockComponent, DbxTwoColumnBackDirective, DbxTwoColumnColumnHeadDirective, DbxTwoColumnComponent, DbxTwoColumnContextDirective, DbxTwoColumnFullLeftDirective, DbxTwoColumnLayoutModule, DbxTwoColumnRightComponent, DbxTwoColumnSrefDirective, DbxTwoColumnSrefShowRightDirective, DbxUIRouterSegueAnchorComponent, DbxUnitedStatesAddressComponent, DbxValueListAccordionViewComponent, DbxValueListAccordionViewContentComponent, DbxValueListAccordionViewContentGroupComponent, DbxValueListGridSizeDirective, DbxValueListGridViewComponent, DbxValueListGridViewContentComponent, DbxValueListGridViewContentGroupComponent, DbxValueListItemModifier, DbxValueListItemModifierDirective, DbxValueListView, DbxValueListViewComponent, DbxValueListViewComponentImportsModule, DbxValueListViewContentComponent, DbxValueListViewContentGroupComponent, DbxValueListViewGroupDelegate, DbxWebFilePreviewComponent, DbxWebFilePreviewService, DbxWebModule, DbxWidgetListGridComponent, DbxWidgetListGridViewComponent, DbxWidgetListGridViewItemComponent, DbxWidgetService, DbxWidgetViewComponent, DbxWindowKeyDownListenerDirective, DbxZipBlobPreviewComponent, DbxZipPreviewComponent, PopoverPositionStrategy, PopupGlobalPositionStrategy, SCREEN_MEDIA_WIDTH_TYPE_SIZE_MAP, SideNavDisplayMode, TRACK_BY_MODEL_ID, TRACK_BY_MODEL_KEY, TwoColumnsContextStore, UNKNOWN_ERROR_WIDGET_CODE, addConfigToValueListItems, allDbxModelViewTrackerEventModelKeys, allDbxModelViewTrackerEventSetModelKeys, catchErrorServerParams, compactModeFromInput, compareScreenMediaWidthTypes, convertServerErrorParams, convertToPOJOServerErrorResponse, convertToServerErrorResponse, copyToClipboardFunction, dbxColorBackground, dbxListAccordionViewComponentImportsAndExports, dbxListGridViewComponentImportsAndExports, dbxPresetFilterMenuButtonIconObservable, dbxPresetFilterMenuButtonTextObservable, dbxStyleClassCleanSuffix, dbxValueListItemDecisionFunction, dbxZipBlobPreviewEntryTreeFromEntries, defaultDbxModelViewTrackerStorageAccessorFactory, defaultDbxValueListViewGroupDelegate, defaultDbxValueListViewGroupValuesFunction, disableRightClickInCdkBackdrop, fileAcceptFilterTypeStringArray, fileAcceptFunction, fileAcceptString, fileArrayAcceptMatchFunction, index as fromDbxModel, injectCopyToClipboardFunction, injectCopyToClipboardFunctionWithSnackbarMessage, listItemModifier, makeDbxActionSnackbarDisplayConfigGeneratorFunction, mapCompactModeObs, mapValuesToValuesListItemConfigObs, index$1 as onDbxModel, openEmbedDialog, openIframeDialog, openZipPreviewDialog, overrideClickElementEffect, provideDbxFileUploadActionCompatable, provideDbxHelpServices, provideDbxLinkify, provideDbxListView, provideDbxListViewWrapper, provideDbxModelService, provideDbxProgressButtonGlobalConfig, provideDbxPromptConfirm, provideDbxRouterWebAngularRouterProviderConfig, provideDbxRouterWebUiRouterProviderConfig, provideDbxScreenMediaService, provideDbxStyleService, provideDbxValueListView, provideDbxValueListViewGroupDelegate, provideDbxValueListViewModifier, provideDbxWebFilePreviewServiceEntries, provideTwoColumnsContext, registerHelpContextKeysWithDbxHelpContextService, resizeSignal, sanitizeDbxDialogContentConfig, screenMediaWidthTypeIsActive, trackByModelKeyRef, trackByUniqueIdentifier };
15186
+ export { APP_POPUP_MINIMIZED_WIDTH, APP_POPUP_NORMAL_HEIGHT, APP_POPUP_NORMAL_WIDTH, AbstractDbxClipboardDirective, AbstractDbxErrorWidgetComponent, AbstractDbxFileUploadComponent, AbstractDbxHelpWidgetDirective, AbstractDbxListAccordionViewDirective, AbstractDbxListGridViewDirective, AbstractDbxListViewDirective, AbstractDbxListWrapperDirective, AbstractDbxPartialPresetFilterMenuDirective, AbstractDbxSegueAnchorDirective, AbstractDbxSelectionListViewDirective, AbstractDbxSelectionListWrapperDirective, AbstractDbxValueListItemModifierDirective, AbstractDbxValueListViewDirective, AbstractDbxValueListViewItemComponent, AbstractDbxWidgetComponent, AbstractDialogDirective, AbstractFilterPopoverButtonDirective, AbstractPopoverDirective, AbstractPopoverRefDirective, AbstractPopoverRefWithEventsDirective, AbstractPopupDirective, AbstractPromptConfirmDirective, CompactContextStore, CompactMode, DBX_ACTION_SNACKBAR_DEFAULTS, DBX_ACTION_SNACKBAR_SERVICE_CONFIG, DBX_AVATAR_CONTEXT_DATA_TOKEN, DBX_DARK_STYLE_CLASS_SUFFIX, DBX_HELP_WIDGET_ENTRY_DATA_TOKEN, DBX_LIST_ACCORDION_VIEW_COMPONENT_IMPORTS_AND_EXPORTS, DBX_LIST_DEFAULT_SCROLL_DISTANCE, DBX_LIST_DEFAULT_THROTTLE_SCROLL, DBX_LIST_GRID_VIEW_COMPONENT_IMPORTS_AND_EXPORTS, DBX_LIST_ITEM_DEFAULT_DISABLE_FUNCTION, DBX_LIST_ITEM_DISABLE_RIPPLE_LIST_ITEM_MODIFIER_KEY, DBX_LIST_ITEM_IS_SELECTED_ITEM_MODIFIER_KEY, DBX_LIST_VIEW_DEFAULT_META_ICON, DBX_MODEL_VIEW_TRACKER_STORAGE_ACCESSOR_TOKEN, DBX_PROGRESS_BUTTON_GLOBAL_CONFIG, DBX_ROUTER_ANCHOR_COMPONENTS, DBX_ROUTER_VALUE_LIST_ITEM_MODIFIER_KEY, DBX_STYLE_DEFAULT_CONFIG_TOKEN, DBX_THEME_COLORS, DBX_THEME_COLORS_EXTRA, DBX_THEME_COLORS_EXTRA_SECONDARY, DBX_THEME_COLORS_MAIN, DBX_VALUE_LIST_VIEW_ITEM, DBX_WEB_FILE_PREVIEW_SERVICE_DEFAULT_DIALOG_WITH_COMPONENT_FUNCTION, DBX_WEB_FILE_PREVIEW_SERVICE_DEFAULT_PREVIEW_COMPONENT_FUNCTION, DBX_WEB_FILE_PREVIEW_SERVICE_ENTRIES_TOKEN, DBX_WEB_FILE_PREVIEW_SERVICE_ZIP_COMPONENT_PRESET, DBX_WEB_FILE_PREVIEW_SERVICE_ZIP_PRESET_ENTRY, DEFAULT_DBX_ERROR_SNACKBAR_CONFIG, DEFAULT_DBX_HELP_VIEW_POPOVER_KEY, DEFAULT_DBX_LINKIFY_STRING_TYPE, DEFAULT_DBX_LIST_ACCORDION_VIEW_COMPONENT_CONFIGURATION_TEMPLATE, DEFAULT_DBX_LIST_GRID_VIEW_COMPONENT_CONFIGURATION_TEMPLATE, DEFAULT_DBX_LIST_ITEM_IS_SELECTED_FUNCTION, DEFAULT_DBX_PROMPT_CONFIRM_DIALOG_CONFIG, DEFAULT_DBX_SELECTION_VALUE_LIST_COMPONENT_CONFIGURATION_TEMPLATE, DEFAULT_DBX_SIDENAV_MENU_ICON, DEFAULT_DBX_VALUE_LIST_COMPONENT_CONFIGURATION_TEMPLATE, DEFAULT_DBX_VALUE_LIST_CONFIG_MAP_VALUES, DEFAULT_ERROR_POPOVER_KEY, DEFAULT_ERROR_WIDGET_CODE, DEFAULT_FILTER_POPOVER_KEY, DEFAULT_LIST_GRID_SIZE_CONFIG, DEFAULT_LIST_WRAPPER_COMPONENT_CONFIGURATION_TEMPLATE, DEFAULT_LOADING_PROGRESS_DIAMETER, DEFAULT_SCREEN_MEDIA_SERVICE_CONFIG, DEFAULT_SNACKBAR_DIRECTIVE_DURATION, DEFAULT_TWO_COLUMNS_MIN_RIGHT_WIDTH, DEFAULT_VALUE_LIST_VIEW_CONTENT_COMPONENT_TRACK_BY_FUNCTION, DbxAccordionHeaderHeightDirective, DbxActionConfirmDirective, DbxActionDialogDirective, DbxActionErrorDirective, DbxActionKeyTriggerDirective, DbxActionLoadingContextDirective, DbxActionModule, DbxActionPopoverDirective, DbxActionSnackbarComponent, DbxActionSnackbarDirective, DbxActionSnackbarErrorDirective, DbxActionSnackbarModule, DbxActionSnackbarService, DbxActionTransitionSafetyDirective, DbxActionUIRouterTransitionSafetyDialogComponent, DbxAnchorComponent, DbxAnchorContentComponent, DbxAnchorIconComponent, DbxAnchorListComponent, DbxAngularRouterSegueAnchorComponent, DbxAvatarComponent, DbxAvatarViewService, DbxAvatarViewServiceConfig, DbxBarDirective, DbxBarHeaderComponent, DbxBarLayoutModule, DbxBasicLoadingComponent, DbxBodyDirective, DbxButtonComponent, DbxButtonModule, DbxButtonSpacerDirective, DbxCardBoxComponent, DbxCardBoxContainerDirective, DbxCardBoxLayoutModule, DbxChipDirective, DbxClickToCopyTextComponent, DbxClickToCopyTextDirective, DbxColorDirective, DbxColumnLayoutModule, DbxCompactDirective, DbxCompactLayoutModule, DbxContentBorderDirective, DbxContentBoxDirective, DbxContentContainerDirective, DbxContentDirective, DbxContentElevateDirective, DbxContentLayoutModule, DbxContentPageDirective, DbxContentPitDirective, DbxDetailBlockComponent, DbxDetailBlockHeaderComponent, DbxDialogContentCloseComponent, DbxDialogContentDirective, DbxDialogContentFooterComponent, DbxDialogInteractionModule, DbxDialogModule, DbxDownloadBlobButtonComponent, DbxDownloadTextViewComponent, DbxEmbedComponent, DbxErrorComponent, DbxErrorDefaultErrorWidgetComponent, DbxErrorDetailsComponent, DbxErrorPopoverComponent, DbxErrorSnackbarComponent, DbxErrorSnackbarService, DbxErrorViewComponent, DbxErrorWidgetService, DbxErrorWidgetViewComponent, DbxFileUploadActionCompatable, DbxFileUploadActionSyncDirective, DbxFileUploadAreaComponent, DbxFileUploadButtonComponent, DbxFileUploadComponent, DbxFilterInteractionModule, DbxFilterPopoverButtonComponent, DbxFilterPopoverComponent, DbxFilterWrapperComponent, DbxFlagComponent, DbxFlagLayoutModule, DbxFlagPromptComponent, DbxFlexGroupDirective, DbxFlexLayoutModule, DbxFlexSizeDirective, DbxHelpContextDirective, DbxHelpContextService, DbxHelpViewListComponent, DbxHelpViewListEntryComponent, DbxHelpViewPopoverButtonComponent, DbxHelpViewPopoverComponent, DbxHelpWidgetService, DbxHelpWidgetServiceConfig, DbxIconButtonComponent, DbxIconButtonModule, DbxIconItemComponent, DbxIconSpacerDirective, DbxIfSidenavDisplayModeDirective, DbxIframeComponent, DbxInjectionDialogComponent, DbxInteractionModule, DbxIntroActionSectionComponent, DbxLabelBlockComponent, DbxLayoutModule, DbxLinkComponent, DbxLinkifyComponent, DbxLinkifyService, DbxLinkifyServiceConfig, DbxListAccordionViewComponentImportsModule, DbxListComponent, DbxListEmptyContentComponent, DbxListGridViewComponentImportsModule, DbxListInternalContentDirective, DbxListItemAnchorModifierDirective, DbxListItemDisableRippleModifierDirective, DbxListItemIsSelectedModifierDirective, DbxListModifierModule, DbxListModule, DbxListTitleGroupDirective, DbxListView, DbxListViewMetaIconComponent, DbxListViewWrapper, DbxListWrapperComponentImportsModule, DbxLoadingComponent, DbxLoadingErrorDirective, DbxLoadingModule, DbxLoadingProgressComponent, DbxModelObjectStateService, actions as DbxModelStateActions, model_actions as DbxModelStateModelActions, DbxModelTrackerService, DbxModelTypesService, DbxModelViewTrackerStorage, DbxNavbarComponent, DbxNumberWithLimitComponent, DbxOneColumnComponent, DbxOneColumnLayoutModule, DbxPagebarComponent, DbxPartialPresetFilterListComponent, DbxPartialPresetFilterMenuComponent, DbxPopoverCloseButtonComponent, DbxPopoverComponent, DbxPopoverComponentController, DbxPopoverContentComponent, DbxPopoverController, DbxPopoverControlsDirective, DbxPopoverCoordinatorComponent, DbxPopoverCoordinatorService, DbxPopoverHeaderComponent, DbxPopoverInteractionContentModule, DbxPopoverInteractionModule, DbxPopoverScrollContentDirective, DbxPopoverService, DbxPopupComponent, DbxPopupComponentController, DbxPopupContentComponent, DbxPopupControlButtonsComponent, DbxPopupController, DbxPopupControlsComponent, DbxPopupCoordinatorComponent, DbxPopupCoordinatorService, DbxPopupInteractionModule, DbxPopupService, DbxPopupWindowState, DbxPresetFilterListComponent, DbxPresetFilterMenuComponent, DbxProgressBarButtonComponent, DbxProgressButtonsModule, DbxProgressSpinnerButtonComponent, DbxPromptBoxDirective, DbxPromptComponent, DbxPromptConfirm, DbxPromptConfirmButtonDirective, DbxPromptConfirmComponent, DbxPromptConfirmDialogComponent, DbxPromptConfirmDirective, DbxPromptModule, DbxPromptPageComponent, DbxReadableErrorModule, DbxResizedDirective, DbxRouterAnchorModule, DbxRouterLayoutModule, DbxRouterSidenavModule, DbxRouterWebProviderConfig, DbxScreenMediaService, DbxScreenMediaServiceConfig, DbxSectionComponent, DbxSectionHeaderComponent, DbxSectionLayoutModule, DbxSectionPageComponent, DbxSelectionValueListViewComponent, DbxSelectionValueListViewComponentImportsModule, DbxSelectionValueListViewContentComponent, DbxSetStyleDirective, DbxSidenavButtonComponent, DbxSidenavComponent, DbxSidenavPageComponent, DbxSidenavPagebarComponent, DbxSpacerDirective, DbxStepComponent, DbxStepLayoutModule, DbxStructureDirective, DbxStructureModule, DbxStyleBodyDirective, DbxStyleDirective, DbxStyleLayoutModule, DbxStyleService, DbxSubSectionComponent, DbxTextChipsComponent, DbxTextModule, DbxTwoBlockComponent, DbxTwoColumnBackDirective, DbxTwoColumnColumnHeadDirective, DbxTwoColumnComponent, DbxTwoColumnContextDirective, DbxTwoColumnFullLeftDirective, DbxTwoColumnLayoutModule, DbxTwoColumnRightComponent, DbxTwoColumnSrefDirective, DbxTwoColumnSrefShowRightDirective, DbxUIRouterSegueAnchorComponent, DbxUnitedStatesAddressComponent, DbxValueListAccordionViewComponent, DbxValueListAccordionViewContentComponent, DbxValueListAccordionViewContentGroupComponent, DbxValueListGridSizeDirective, DbxValueListGridViewComponent, DbxValueListGridViewContentComponent, DbxValueListGridViewContentGroupComponent, DbxValueListItemModifier, DbxValueListItemModifierDirective, DbxValueListView, DbxValueListViewComponent, DbxValueListViewComponentImportsModule, DbxValueListViewContentComponent, DbxValueListViewContentGroupComponent, DbxValueListViewGroupDelegate, DbxWebFilePreviewComponent, DbxWebFilePreviewService, DbxWebModule, DbxWidgetListGridComponent, DbxWidgetListGridViewComponent, DbxWidgetListGridViewItemComponent, DbxWidgetService, DbxWidgetViewComponent, DbxWindowKeyDownListenerDirective, DbxZipBlobPreviewComponent, DbxZipPreviewComponent, PopoverPositionStrategy, PopupGlobalPositionStrategy, SCREEN_MEDIA_WIDTH_TYPE_SIZE_MAP, SideNavDisplayMode, TRACK_BY_MODEL_ID, TRACK_BY_MODEL_KEY, TwoColumnsContextStore, UNKNOWN_ERROR_WIDGET_CODE, addConfigToValueListItems, allDbxModelViewTrackerEventModelKeys, allDbxModelViewTrackerEventSetModelKeys, catchErrorServerParams, compactModeFromInput, compareScreenMediaWidthTypes, convertServerErrorParams, convertToPOJOServerErrorResponse, convertToServerErrorResponse, copyToClipboardFunction, dbxColorBackground, dbxListAccordionViewComponentImportsAndExports, dbxListGridViewComponentImportsAndExports, dbxPresetFilterMenuButtonIconObservable, dbxPresetFilterMenuButtonTextObservable, dbxStyleClassCleanSuffix, dbxValueListItemDecisionFunction, dbxZipBlobPreviewEntryTreeFromEntries, defaultDbxModelViewTrackerStorageAccessorFactory, defaultDbxValueListViewGroupDelegate, defaultDbxValueListViewGroupValuesFunction, disableRightClickInCdkBackdrop, fileAcceptFilterTypeStringArray, fileAcceptFunction, fileAcceptString, fileArrayAcceptMatchFunction, index as fromDbxModel, injectCopyToClipboardFunction, injectCopyToClipboardFunctionWithSnackbarMessage, listItemModifier, makeDbxActionSnackbarDisplayConfigGeneratorFunction, mapCompactModeObs, mapValuesToValuesListItemConfigObs, index$1 as onDbxModel, openEmbedDialog, openIframeDialog, openZipPreviewDialog, overrideClickElementEffect, provideDbxFileUploadActionCompatable, provideDbxHelpServices, provideDbxLinkify, provideDbxListView, provideDbxListViewWrapper, provideDbxModelService, provideDbxProgressButtonGlobalConfig, provideDbxPromptConfirm, provideDbxRouterWebAngularRouterProviderConfig, provideDbxRouterWebUiRouterProviderConfig, provideDbxScreenMediaService, provideDbxStyleService, provideDbxValueListView, provideDbxValueListViewGroupDelegate, provideDbxValueListViewModifier, provideDbxWebFilePreviewServiceEntries, provideTwoColumnsContext, registerHelpContextKeysWithDbxHelpContextService, resizeSignal, sanitizeDbxDialogContentConfig, screenMediaWidthTypeIsActive, trackByModelKeyRef, trackByUniqueIdentifier };
14900
15187
  //# sourceMappingURL=dereekb-dbx-web.mjs.map