@dereekb/dbx-web 13.11.13 → 13.11.15

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.
@@ -135,14 +135,14 @@ var CompactMode;
135
135
  * Converts a boolean or `CompactMode` value into a normalized `CompactMode`.
136
136
  * `true` maps to `CompactMode.COMPACT`, `false` maps to `CompactMode.FULL`.
137
137
  *
138
+ * @param input - Boolean or CompactMode value to normalize.
139
+ * @returns The normalized CompactMode enum value.
140
+ *
138
141
  * @example
139
142
  * ```ts
140
143
  * compactModeFromInput(true); // CompactMode.COMPACT
141
144
  * compactModeFromInput(CompactMode.FULL); // CompactMode.FULL
142
145
  * ```
143
- *
144
- * @param input - a boolean or CompactMode value to normalize
145
- * @returns the normalized CompactMode enum value
146
146
  */
147
147
  function compactModeFromInput(input) {
148
148
  if (typeof input === 'boolean') {
@@ -154,6 +154,10 @@ function compactModeFromInput(input) {
154
154
  * Maps an observable compact mode stream to the corresponding value from the config.
155
155
  * Falls back to the config's `defaultMode` (or `FULL`) when the observable is nullish.
156
156
  *
157
+ * @param mode$ - An observable of the current compact mode, or nullish to use the default.
158
+ * @param config - The mapping configuration containing values for each mode and an optional default.
159
+ * @returns An observable emitting the mapped value corresponding to the current compact mode.
160
+ *
157
161
  * @example
158
162
  * ```ts
159
163
  * const value$ = mapCompactModeObs(mode$, {
@@ -162,10 +166,6 @@ function compactModeFromInput(input) {
162
166
  * defaultMode: CompactMode.FULL
163
167
  * });
164
168
  * ```
165
- *
166
- * @param mode$ - an observable of the current compact mode, or nullish to use the default
167
- * @param config - the mapping configuration containing values for each mode and an optional default
168
- * @returns an observable emitting the mapped value corresponding to the current compact mode
169
169
  */
170
170
  function mapCompactModeObs(mode$, config) {
171
171
  const modeObs = mode$ ?? of(config.defaultMode ?? CompactMode.FULL);
@@ -503,16 +503,16 @@ class DbxPopoverComponent extends AbstractTransitionWatcherDirective {
503
503
  this.popoverRef.close(value);
504
504
  }
505
505
  _useClosingValue(closeType, useValue) {
506
- if (this.getClosingValueFn != null) {
506
+ if (this.getClosingValueFn == null) {
507
+ useValue();
508
+ }
509
+ else {
507
510
  asPromise(this.getClosingValueFn(this.data, closeType)).then((x) => {
508
511
  useValue(x);
509
512
  }, () => {
510
513
  useValue();
511
514
  });
512
515
  }
513
- else {
514
- useValue();
515
- }
516
516
  }
517
517
  // Keypresses
518
518
  handleKeydown() {
@@ -580,7 +580,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
580
580
  /**
581
581
  * Default key used when no key is specified.
582
582
  */
583
- const DBX_DETACH_DEFAULT_KEY = 'default';
583
+ const DEFAULT_DBX_DETACH_KEY = 'default';
584
584
  /**
585
585
  * Possible display states for a detach instance.
586
586
  */
@@ -608,15 +608,16 @@ class DbxDetachController {
608
608
  * Creates Angular providers that register a {@link DbxDetachController} implementation for DI.
609
609
  *
610
610
  * @param sourceType - The concrete class to provide as the controller.
611
- * @returns An array of Angular providers that bind the source type to {@link DbxDetachController}.
611
+ * @returns Array of Angular providers that bind the source type to {@link DbxDetachController}.
612
612
  *
613
- * @example
614
- * ```typescript
615
- * @Component({
613
+ * @Component ({
616
614
  * providers: provideDbxDetachController(MyDetachController),
617
615
  * })
618
616
  * export class MyComponent {}
619
617
  * ```
618
+ *
619
+ * @example
620
+ * ```typescript
620
621
  */
621
622
  function provideDbxDetachController(sourceType) {
622
623
  return [
@@ -690,6 +691,9 @@ const DBX_THEME_COLORS = [...DBX_THEME_COLORS_MAIN, ...DBX_THEME_COLORS_EXTRA, .
690
691
  * Any non-null object is treated as a config so template-only configs (i.e. `{ template: 'foo' }`)
691
692
  * are detected before the service expands them.
692
693
  *
694
+ * @param value - The value to test.
695
+ * @returns `true` when the value is a {@link DbxColorConfig}
696
+ *
693
697
  * @example
694
698
  * ```ts
695
699
  * isDbxColorConfig('primary'); // false
@@ -697,9 +701,6 @@ const DBX_THEME_COLORS = [...DBX_THEME_COLORS_MAIN, ...DBX_THEME_COLORS_EXTRA, .
697
701
  * isDbxColorConfig({ template: 'brand-positive' }); // true
698
702
  * isDbxColorConfig(undefined); // false
699
703
  * ```
700
- *
701
- * @param value - the value to test
702
- * @returns `true` when the value is a {@link DbxColorConfig}
703
704
  */
704
705
  function isDbxColorConfig(value) {
705
706
  return typeof value === 'object' && value !== null;
@@ -719,15 +720,15 @@ const DBX_COLOR_CUSTOM_TEXT_CSS_CLASS = 'dbx-color-text';
719
720
  /**
720
721
  * Returns the CSS class name for a themed background color.
721
722
  *
723
+ * @param color - The theme color, color config, or nullish/empty for the default class.
724
+ * @returns The CSS class name for the themed background (e.g., `'dbx-primary-bg'`, `'dbx-color-bg'`, or `'dbx-default'`)
725
+ *
722
726
  * @example
723
727
  * ```ts
724
728
  * dbxColorBackground('primary'); // 'dbx-primary-bg'
725
729
  * dbxColorBackground({ color: '#ff0066' }); // 'dbx-color-bg'
726
730
  * dbxColorBackground(undefined); // 'dbx-default'
727
731
  * ```
728
- *
729
- * @param color - the theme color, color config, or nullish/empty for the default class
730
- * @returns the CSS class name for the themed background (e.g., `'dbx-primary-bg'`, `'dbx-color-bg'`, or `'dbx-default'`)
731
732
  */
732
733
  function dbxColorBackground(color) {
733
734
  let cssClass = 'dbx-default'; // default text color class (not -bg) to avoid setting --dbx-bg-color-current which interferes with button label color tokens
@@ -790,6 +791,7 @@ function dbxThemeColorCssTokenVar(color, returnDefault) {
790
791
  return result;
791
792
  }
792
793
  // MARK: Compat
794
+ // COMPAT: Deprecated aliases
793
795
  /**
794
796
  * @deprecated Use {@link dbxThemeColorCssToken} instead.
795
797
  */
@@ -898,16 +900,14 @@ class AbstractProgressButtonDirective {
898
900
  const workingValue = this.workingValueSignal();
899
901
  const mode = config?.mode;
900
902
  let result;
901
- if (!mode) {
902
- if (workingValue != null) {
903
- result = 'determinate';
904
- }
905
- else {
906
- result = 'indeterminate';
907
- }
903
+ if (mode) {
904
+ result = mode;
905
+ }
906
+ else if (workingValue == null) {
907
+ result = 'indeterminate';
908
908
  }
909
909
  else {
910
- result = mode;
910
+ result = 'determinate';
911
911
  }
912
912
  return result;
913
913
  }, ...(ngDevMode ? [{ debugName: "modeSignal" }] : /* istanbul ignore next */ []));
@@ -940,7 +940,8 @@ class AbstractProgressButtonDirective {
940
940
  * Whether button content should be hidden via opacity (working spinner or echo overlay active).
941
941
  */
942
942
  hideContentSignal = computed(() => {
943
- return this.showProgressSignal() || this.echoActiveSignal();
943
+ const echoActive = this.echoActiveSignal();
944
+ return this.showProgressSignal() || echoActive;
944
945
  }, ...(ngDevMode ? [{ debugName: "hideContentSignal" }] : /* istanbul ignore next */ []));
945
946
  /**
946
947
  * When true, the click handler will not call `stopImmediatePropagation()`,
@@ -992,8 +993,8 @@ class DbxColorService {
992
993
  /**
993
994
  * Registers one or more {@link DbxColorConfigTemplate} entries.
994
995
  *
995
- * @param templates - the template(s) to register
996
- * @param override - whether existing entries with the same key should be replaced (default true)
996
+ * @param templates - The template(s) to register.
997
+ * @param override - Whether existing entries with the same key should be replaced (default true)
997
998
  */
998
999
  register(templates, override = true) {
999
1000
  useIterableOrValue(templates, (template) => {
@@ -1005,8 +1006,8 @@ class DbxColorService {
1005
1006
  /**
1006
1007
  * Returns whether a template with the given key has been registered.
1007
1008
  *
1008
- * @param key - the template key to check
1009
- * @returns true when a template is registered under the given key
1009
+ * @param key - The template key to check.
1010
+ * @returns True when a template is registered under the given key.
1010
1011
  */
1011
1012
  hasTemplate(key) {
1012
1013
  return this._templates.has(key);
@@ -1014,8 +1015,8 @@ class DbxColorService {
1014
1015
  /**
1015
1016
  * Returns the {@link DbxColorConfigTemplate} registered under the given key, or undefined if none.
1016
1017
  *
1017
- * @param key - the template key to look up
1018
- * @returns the registered template, or undefined when no template matches
1018
+ * @param key - The template key to look up.
1019
+ * @returns The registered template, or undefined when no template matches.
1019
1020
  */
1020
1021
  getTemplate(key) {
1021
1022
  return this._templates.get(key);
@@ -1023,7 +1024,7 @@ class DbxColorService {
1023
1024
  /**
1024
1025
  * Returns all currently registered template keys.
1025
1026
  *
1026
- * @returns array of all registered template keys
1027
+ * @returns Array of all registered template keys.
1027
1028
  */
1028
1029
  getAllRegisteredTemplateKeys() {
1029
1030
  return [...this._templates.keys()];
@@ -1034,6 +1035,9 @@ class DbxColorService {
1034
1035
  *
1035
1036
  * Returns the input unchanged when no template is set or when the template key is unknown.
1036
1037
  *
1038
+ * @param config - The input config to expand.
1039
+ * @returns An expanded config, or the input unchanged when no expansion applies.
1040
+ *
1037
1041
  * @example
1038
1042
  * ```ts
1039
1043
  * service.register({ key: 'brand-positive', config: { color: '#1f9b59', contrast: 'white', tone: 18 } });
@@ -1042,9 +1046,6 @@ class DbxColorService {
1042
1046
  * service.expandColorConfig({ template: 'brand-positive', tone: 60 });
1043
1047
  * // -> { template: 'brand-positive', color: '#1f9b59', contrast: 'white', tone: 60 }
1044
1048
  * ```
1045
- *
1046
- * @param config - the input config to expand
1047
- * @returns an expanded config, or the input unchanged when no expansion applies
1048
1049
  */
1049
1050
  expandColorConfig(config) {
1050
1051
  let result = config;
@@ -1109,8 +1110,9 @@ class DbxColorDirective {
1109
1110
  * Effective tone used for opacity. The standalone `[dbxColorTone]` input wins when set; otherwise `config.tone` applies.
1110
1111
  */
1111
1112
  effectiveToneSignal = computed(() => {
1113
+ const _config = this._configSignal();
1112
1114
  const inputTone = this.dbxColorTone();
1113
- return inputTone ?? this._configSignal()?.tone;
1115
+ return inputTone ?? _config?.tone;
1114
1116
  }, ...(ngDevMode ? [{ debugName: "effectiveToneSignal" }] : /* istanbul ignore next */ []));
1115
1117
  /**
1116
1118
  * Whether tonal mode is active. Adds the `dbx-color-tonal` CSS class which
@@ -1122,10 +1124,11 @@ class DbxColorDirective {
1122
1124
  * from `config.tone`.
1123
1125
  */
1124
1126
  isTonalSignal = computed(() => {
1127
+ const _config = this._configSignal();
1125
1128
  const inputTone = this.dbxColorTone();
1126
1129
  let tonal = false;
1127
1130
  if (inputTone == null) {
1128
- const config = this._configSignal();
1131
+ const config = _config;
1129
1132
  if (config?.tonal != null) {
1130
1133
  tonal = config.tonal;
1131
1134
  }
@@ -1264,8 +1267,9 @@ class DbxProgressSpinnerButtonComponent extends AbstractProgressButtonDirective
1264
1267
  return showText && config?.buttonIcon; // shows the button icon with showing the text.
1265
1268
  }, ...(ngDevMode ? [{ debugName: "showTextButtonIconSignal" }] : /* istanbul ignore next */ []));
1266
1269
  showIconSignal = computed(() => {
1270
+ const showTextContent = this.showTextContentSignal();
1267
1271
  const config = this.configSignal();
1268
- return (config?.buttonIcon && !this.showTextContentSignal() // button icon must be defined
1272
+ return (config?.buttonIcon && !showTextContent // button icon must be defined
1269
1273
  ); // show icon if either fab or iconOnly is true
1270
1274
  }, ...(ngDevMode ? [{ debugName: "showIconSignal" }] : /* istanbul ignore next */ []));
1271
1275
  customSpinnerStyleSignal = computed(() => {
@@ -1395,22 +1399,27 @@ class DbxButtonComponent extends AbstractDbxButtonDirective {
1395
1399
  allowClickPropagation = input(false, { ...(ngDevMode ? { debugName: "allowClickPropagation" } : /* istanbul ignore next */ {}), transform: isDefinedAndNotFalse });
1396
1400
  mode = input(...(ngDevMode ? [undefined, { debugName: "mode" }] : /* istanbul ignore next */ []));
1397
1401
  styleTypeSignal = computed(() => {
1402
+ const iconOnly = this.iconOnly();
1403
+ const raised = this.raised();
1404
+ const stroked = this.stroked();
1405
+ const flat = this.flat();
1406
+ const tonal = this.tonal();
1398
1407
  const style = this.buttonStyle();
1399
1408
  let type = this.type() ?? style?.type;
1400
1409
  if (!type) {
1401
- if (this.iconOnly()) {
1410
+ if (iconOnly) {
1402
1411
  type = 'icon';
1403
1412
  }
1404
- else if (this.raised()) {
1413
+ else if (raised) {
1405
1414
  type = 'raised';
1406
1415
  }
1407
- else if (this.stroked()) {
1416
+ else if (stroked) {
1408
1417
  type = 'stroked';
1409
1418
  }
1410
- else if (this.flat()) {
1419
+ else if (flat) {
1411
1420
  type = 'flat';
1412
1421
  }
1413
- else if (this.tonal()) {
1422
+ else if (tonal) {
1414
1423
  type = 'tonal';
1415
1424
  }
1416
1425
  }
@@ -1418,8 +1427,10 @@ class DbxButtonComponent extends AbstractDbxButtonDirective {
1418
1427
  }, ...(ngDevMode ? [{ debugName: "styleTypeSignal" }] : /* istanbul ignore next */ []));
1419
1428
  configSignal = computed(() => {
1420
1429
  // configure custom style
1430
+ const customContent = this.customContent();
1421
1431
  const customStyle = {};
1422
1432
  const buttonStyle = this.buttonStyle();
1433
+ // eslint-disable-next-line @typescript-eslint/no-deprecated -- reads the deprecated customButtonColor input/style for backward compatibility until removed
1423
1434
  const customButtonColorValue = this.customButtonColor() ?? buttonStyle?.customButtonColor;
1424
1435
  if (customButtonColorValue) {
1425
1436
  customStyle['background'] = customButtonColorValue;
@@ -1439,7 +1450,7 @@ class DbxButtonComponent extends AbstractDbxButtonDirective {
1439
1450
  const iconValue = this.iconSignal();
1440
1451
  const buttonIcon = iconValue ? { fontIcon: iconValue } : undefined;
1441
1452
  const textValue = this.textSignal();
1442
- const hasTextContent = !!textValue || this._hasProjectedContent || this.customContent();
1453
+ const hasTextContent = !!textValue || this._hasProjectedContent || customContent;
1443
1454
  const isIconOnlyButton = buttonIcon && !hasTextContent;
1444
1455
  const fab = this.fab() || buttonStyle?.fab;
1445
1456
  const mode = this.mode() ?? buttonStyle?.mode;
@@ -2038,58 +2049,62 @@ class DbxDetachService {
2038
2049
  * @returns The new or existing {@link DbxDetachInstance} for the given key.
2039
2050
  */
2040
2051
  init(config) {
2041
- const key = config.key ?? DBX_DETACH_DEFAULT_KEY;
2052
+ const key = config.key ?? DEFAULT_DBX_DETACH_KEY;
2042
2053
  const existing = this._entries.get(key);
2054
+ let instance;
2043
2055
  if (existing) {
2044
- return new DbxDetachInstanceImpl(existing);
2056
+ instance = new DbxDetachInstanceImpl(existing);
2045
2057
  }
2046
- const controller = new DbxDetachEntryController(key, config.data, this);
2047
- // Build injector using shared utility, adding DbxDetachController provider
2048
- const elementInjector = createInjectorForInjectionComponentConfig({
2049
- config: {
2050
- ...config,
2051
- providers: [{ provide: DbxDetachController, useValue: controller }, ...(config.providers ?? [])]
2052
- },
2053
- parentInjector: this._injector
2054
- });
2055
- // Create component imperatively (not in any VCR)
2056
- const componentRef = createComponent(config.componentClass, {
2057
- environmentInjector: this._envInjector,
2058
- elementInjector
2059
- });
2060
- // Run init callback
2061
- initInjectionComponent(componentRef, config);
2062
- // Attach view to ApplicationRef for change detection
2063
- this._appRef.attachView(componentRef.hostView);
2064
- const overlayConfig = config.overlay ?? {};
2065
- const entry = {
2066
- key,
2067
- componentRef,
2068
- controller,
2069
- overlayConfig
2070
- };
2071
- this._entries.set(key, entry);
2072
- this._entries$.next(this._entries);
2073
- return new DbxDetachInstanceImpl(entry);
2058
+ else {
2059
+ const controller = new DbxDetachEntryController(key, config.data, this);
2060
+ // Build injector using shared utility, adding DbxDetachController provider
2061
+ const elementInjector = createInjectorForInjectionComponentConfig({
2062
+ config: {
2063
+ ...config,
2064
+ providers: [{ provide: DbxDetachController, useValue: controller }, ...(config.providers ?? [])]
2065
+ },
2066
+ parentInjector: this._injector
2067
+ });
2068
+ // Create component imperatively (not in any VCR)
2069
+ const componentRef = createComponent(config.componentClass, {
2070
+ environmentInjector: this._envInjector,
2071
+ elementInjector
2072
+ });
2073
+ // Run init callback
2074
+ initInjectionComponent(componentRef, config);
2075
+ // Attach view to ApplicationRef for change detection
2076
+ this._appRef.attachView(componentRef.hostView);
2077
+ const overlayConfig = config.overlay ?? {};
2078
+ const entry = {
2079
+ key,
2080
+ componentRef,
2081
+ controller,
2082
+ overlayConfig
2083
+ };
2084
+ this._entries.set(key, entry);
2085
+ this._entries$.next(this._entries);
2086
+ instance = new DbxDetachInstanceImpl(entry);
2087
+ }
2088
+ return instance;
2074
2089
  }
2075
2090
  /**
2076
2091
  * Gets the instance for the given key, if it exists.
2077
2092
  *
2078
- * @param key - The detach key to look up. Defaults to {@link DBX_DETACH_DEFAULT_KEY}.
2093
+ * @param key - The detach key to look up. Defaults to {@link DEFAULT_DBX_DETACH_KEY}.
2079
2094
  * @returns The instance if found, otherwise `undefined`.
2080
2095
  */
2081
2096
  get(key) {
2082
- const entry = this._entries.get(key ?? DBX_DETACH_DEFAULT_KEY);
2097
+ const entry = this._entries.get(key ?? DEFAULT_DBX_DETACH_KEY);
2083
2098
  return entry ? new DbxDetachInstanceImpl(entry) : undefined;
2084
2099
  }
2085
2100
  /**
2086
2101
  * Observable of whether an entry exists for the given key.
2087
2102
  *
2088
- * @param key - The detach key to observe. Defaults to {@link DBX_DETACH_DEFAULT_KEY}.
2103
+ * @param key - The detach key to observe. Defaults to {@link DEFAULT_DBX_DETACH_KEY}.
2089
2104
  * @returns An observable that emits `true` when an entry exists for the key.
2090
2105
  */
2091
2106
  has$(key) {
2092
- const k = key ?? DBX_DETACH_DEFAULT_KEY;
2107
+ const k = key ?? DEFAULT_DBX_DETACH_KEY;
2093
2108
  return this._entries$.pipe(map((entries) => entries.has(k)), distinctUntilChanged());
2094
2109
  }
2095
2110
  /**
@@ -2103,19 +2118,17 @@ class DbxDetachService {
2103
2118
  */
2104
2119
  attachToOutlet(key, outletElement) {
2105
2120
  const entry = this._entries.get(key);
2106
- if (!entry) {
2107
- return;
2108
- }
2109
- const target = outletElement ?? entry.lastOutlet;
2110
- if (!target?.isConnected) {
2111
- // No outlet available or it's been removed from the DOM
2112
- return;
2121
+ if (entry) {
2122
+ const target = outletElement ?? entry.lastOutlet;
2123
+ // No outlet available or it's been removed from the DOM → skip
2124
+ if (target?.isConnected) {
2125
+ this._closeOverlay(entry);
2126
+ this._moveDomTo(entry, target);
2127
+ entry.currentOutlet = target;
2128
+ entry.lastOutlet = target;
2129
+ entry.controller.setWindowState(DbxDetachWindowState.ATTACHED);
2130
+ }
2113
2131
  }
2114
- this._closeOverlay(entry);
2115
- this._moveDomTo(entry, target);
2116
- entry.currentOutlet = target;
2117
- entry.lastOutlet = target;
2118
- entry.controller.setWindowState(DbxDetachWindowState.ATTACHED);
2119
2132
  }
2120
2133
  /**
2121
2134
  * Moves the component to the floating overlay.
@@ -2295,7 +2308,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
2295
2308
  class DbxDetachInitDirective {
2296
2309
  _detachService = inject(DbxDetachService);
2297
2310
  config = input.required({ ...(ngDevMode ? { debugName: "config" } : /* istanbul ignore next */ {}), alias: 'dbxDetachInit' });
2298
- key = input(DBX_DETACH_DEFAULT_KEY, { ...(ngDevMode ? { debugName: "key" } : /* istanbul ignore next */ {}), alias: 'dbxDetachInitKey' });
2311
+ key = input(DEFAULT_DBX_DETACH_KEY, { ...(ngDevMode ? { debugName: "key" } : /* istanbul ignore next */ {}), alias: 'dbxDetachInitKey' });
2299
2312
  ngOnInit() {
2300
2313
  this._detachService.init({
2301
2314
  ...this.config(),
@@ -2335,7 +2348,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
2335
2348
  class DbxDetachOutletComponent {
2336
2349
  _detachService = inject(DbxDetachService);
2337
2350
  _elementRef = inject(ElementRef);
2338
- key = input(DBX_DETACH_DEFAULT_KEY, ...(ngDevMode ? [{ debugName: "key" }] : /* istanbul ignore next */ []));
2351
+ key = input(DEFAULT_DBX_DETACH_KEY, ...(ngDevMode ? [{ debugName: "key" }] : /* istanbul ignore next */ []));
2339
2352
  /**
2340
2353
  * When true, the component automatically moves to the floating overlay
2341
2354
  * when this outlet is destroyed (e.g. page navigation). Defaults to false.
@@ -2483,8 +2496,14 @@ class DbxDialogContentFooterComponent {
2483
2496
  config = input(...(ngDevMode ? [undefined, { debugName: "config" }] : /* istanbul ignore next */ []));
2484
2497
  closeText = input(...(ngDevMode ? [undefined, { debugName: "closeText" }] : /* istanbul ignore next */ []));
2485
2498
  buttonColor = input(...(ngDevMode ? [undefined, { debugName: "buttonColor" }] : /* istanbul ignore next */ []));
2486
- closeTextSignal = computed(() => this.closeText() ?? this.config()?.closeText ?? 'Close', ...(ngDevMode ? [{ debugName: "closeTextSignal" }] : /* istanbul ignore next */ []));
2487
- buttonColorSignal = computed(() => this.buttonColor() ?? this.config()?.buttonColor ?? undefined, ...(ngDevMode ? [{ debugName: "buttonColorSignal" }] : /* istanbul ignore next */ []));
2499
+ closeTextSignal = computed(() => {
2500
+ const config = this.config();
2501
+ return this.closeText() ?? config?.closeText ?? 'Close';
2502
+ }, ...(ngDevMode ? [{ debugName: "closeTextSignal" }] : /* istanbul ignore next */ []));
2503
+ buttonColorSignal = computed(() => {
2504
+ const config = this.config();
2505
+ return this.buttonColor() ?? config?.buttonColor ?? undefined;
2506
+ }, ...(ngDevMode ? [{ debugName: "buttonColorSignal" }] : /* istanbul ignore next */ []));
2488
2507
  // eslint-disable-next-line @angular-eslint/no-output-native
2489
2508
  close = output();
2490
2509
  closeClicked() {
@@ -2535,9 +2554,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
2535
2554
  */
2536
2555
  class DbxDialogContentDirective {
2537
2556
  width = input('normal', { ...(ngDevMode ? { debugName: "width" } : /* istanbul ignore next */ {}), transform: (x) => x ?? 'normal' });
2538
- classConfig = computed(() => `${this.width()}-dialog-content`, ...(ngDevMode ? [{ debugName: "classConfig" }] : /* istanbul ignore next */ []));
2557
+ classConfigSignal = computed(() => `${this.width()}-dialog-content`, ...(ngDevMode ? [{ debugName: "classConfigSignal" }] : /* istanbul ignore next */ []));
2539
2558
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxDialogContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2540
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.11", type: DbxDialogContentDirective, isStandalone: true, selector: "dbx-dialog-content,[dbxDialogContent],.dbx-dialog-content", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classConfig()" }, classAttribute: "dbx-dialog-content" }, ngImport: i0 });
2559
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.11", type: DbxDialogContentDirective, isStandalone: true, selector: "dbx-dialog-content,[dbxDialogContent],.dbx-dialog-content", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classConfigSignal()" }, classAttribute: "dbx-dialog-content" }, ngImport: i0 });
2541
2560
  }
2542
2561
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxDialogContentDirective, decorators: [{
2543
2562
  type: Directive,
@@ -2545,7 +2564,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
2545
2564
  selector: 'dbx-dialog-content,[dbxDialogContent],.dbx-dialog-content',
2546
2565
  host: {
2547
2566
  class: 'dbx-dialog-content',
2548
- '[class]': `classConfig()`
2567
+ '[class]': `classConfigSignal()`
2549
2568
  },
2550
2569
  standalone: true
2551
2570
  }]
@@ -2654,8 +2673,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
2654
2673
  /**
2655
2674
  * Sanitizes a {@link DbxDialogContentConfig} by normalizing the panelClass into an array.
2656
2675
  *
2657
- * @param input - The dialog content config to sanitize, or null/undefined
2658
- * @returns A new config with panelClass normalized to an array of CSS class strings
2676
+ * @param input - The dialog content config to sanitize, or null/undefined.
2677
+ * @returns A new config with panelClass normalized to an array of CSS class strings.
2659
2678
  *
2660
2679
  * @example
2661
2680
  * ```ts
@@ -2884,8 +2903,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
2884
2903
  *
2885
2904
  * Must be called in an Angular injection context. Automatically disconnects the ResizeObserver on destroy.
2886
2905
  *
2887
- * @param inputElement - the element to observe; if omitted, the host element is injected via `ElementRef`
2888
- * @returns a read-only signal of resize events
2906
+ * @param inputElement - The element to observe; if omitted, the host element is injected via `ElementRef`
2907
+ * @returns A read-only signal of resize events.
2889
2908
  *
2890
2909
  * @example
2891
2910
  * ```ts
@@ -3349,11 +3368,9 @@ class DbxFilterPopoverButtonComponent extends AbstractFilterPopoverButtonDirecti
3349
3368
  buttonDisplayStyle = input(...(ngDevMode ? [undefined, { debugName: "buttonDisplayStyle" }] : /* istanbul ignore next */ []));
3350
3369
  buttonDisplaySignal = computed(() => {
3351
3370
  const pairDisplay = this.buttonDisplayStyle()?.display;
3371
+ // eslint-disable-next-line @typescript-eslint/no-deprecated -- reads the deprecated buttonDisplay input for backward compatibility until removed
3352
3372
  const directDisplay = this.buttonDisplay();
3353
- if (!pairDisplay && !directDisplay) {
3354
- return undefined;
3355
- }
3356
- return { ...pairDisplay, ...directDisplay };
3373
+ return !pairDisplay && !directDisplay ? undefined : { ...pairDisplay, ...directDisplay };
3357
3374
  }, ...(ngDevMode ? [{ debugName: "buttonDisplaySignal" }] : /* istanbul ignore next */ []));
3358
3375
  buttonStyleSignal = computed(() => this.buttonDisplayStyle()?.style, ...(ngDevMode ? [{ debugName: "buttonStyleSignal" }] : /* istanbul ignore next */ []));
3359
3376
  showFilterPopover() {
@@ -3476,7 +3493,7 @@ class AbstractDbxPresetFilterMenuDirective {
3476
3493
  this.presetSelected.emit(preset);
3477
3494
  if (presetValue == null || (typeof presetValue !== 'function' && objectHasNoKeys(presetValue))) {
3478
3495
  // set and then reset if the value is null or empty
3479
- this.filterSourceDirective.setFilter((presetValue ?? {}));
3496
+ this.filterSourceDirective.setFilter(presetValue ?? {});
3480
3497
  this.filterSourceDirective.resetFilter();
3481
3498
  }
3482
3499
  else {
@@ -3518,6 +3535,9 @@ class DbxRouterWebProviderConfig {
3518
3535
  *
3519
3536
  * Must be called in an Angular injection context.
3520
3537
  *
3538
+ * @param config - Configuration specifying the click target, child element to intercept, and optional disabled signal.
3539
+ * @returns The created Angular effect reference.
3540
+ *
3521
3541
  * @example
3522
3542
  * ```ts
3523
3543
  * overrideClickElementEffect({
@@ -3525,9 +3545,6 @@ class DbxRouterWebProviderConfig {
3525
3545
  * childClickTarget: this.buttonElementRef
3526
3546
  * });
3527
3547
  * ```
3528
- *
3529
- * @param config - configuration specifying the click target, child element to intercept, and optional disabled signal
3530
- * @returns the created Angular effect reference
3531
3548
  */
3532
3549
  function overrideClickElementEffect(config) {
3533
3550
  const { clickTarget, childClickTarget, disabledSignal } = config;
@@ -3721,19 +3738,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
3721
3738
  */
3722
3739
  class DbxAnchorListComponent {
3723
3740
  anchors = input.required({ ...(ngDevMode ? { debugName: "anchors" } : /* istanbul ignore next */ {}), transform: (x) => x ?? [] });
3724
- expandedAnchors = computed(() => {
3741
+ expandedAnchorsSignal = computed(() => {
3725
3742
  const anchors = this.anchors();
3726
3743
  return expandClickableAnchorLinkTrees(anchors).map((y) => {
3727
3744
  y.classes = `${y.depth > 0 ? 'dbx-anchor-list-child' : 'dbx-anchor-list-root'} dbx-anchor-list-depth-${y.depth}`;
3728
3745
  return y;
3729
3746
  });
3730
- }, ...(ngDevMode ? [{ debugName: "expandedAnchors" }] : /* istanbul ignore next */ []));
3747
+ }, ...(ngDevMode ? [{ debugName: "expandedAnchorsSignal" }] : /* istanbul ignore next */ []));
3731
3748
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxAnchorListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3732
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: DbxAnchorListComponent, isStandalone: true, selector: "dbx-anchor-list", inputs: { anchors: { classPropertyName: "anchors", publicName: "anchors", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<mat-nav-list class=\"dbx-anchor-list\">\n @for (expanded of expandedAnchors(); track $index; let last = $last) {\n <dbx-anchor [anchor]=\"expanded.value\" [ngClass]=\"expanded.classes\">\n <a mat-list-item [disabled]=\"expanded.value.disabled\">\n @if (expanded.value.icon) {\n <mat-icon matListItemIcon>{{ expanded.value.icon }}</mat-icon>\n }\n <!-- TODO: Add an icon from a letter if anchor.icon is unavailable. -->\n <div matListItemTitle>{{ expanded.value.title }}</div>\n @if (expanded.value.hint) {\n <div matListItemLine class=\"dbx-small\">{{ expanded.value.hint }}</div>\n }\n @if (expanded.value.content) {\n <dbx-injection [config]=\"expanded.value.content\"></dbx-injection>\n }\n </a>\n @if (!last) {\n <mat-divider></mat-divider>\n }\n </dbx-anchor>\n }\n</mat-nav-list>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: MatListItemLine, selector: "[matListItemLine]" }, { kind: "directive", type: MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: DbxAnchorComponent, selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }, { kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3749
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: DbxAnchorListComponent, isStandalone: true, selector: "dbx-anchor-list", inputs: { anchors: { classPropertyName: "anchors", publicName: "anchors", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<mat-nav-list class=\"dbx-anchor-list\">\n @for (expanded of expandedAnchorsSignal(); track $index; let last = $last) {\n <dbx-anchor [anchor]=\"expanded.value\" [ngClass]=\"expanded.classes\">\n <a mat-list-item [disabled]=\"expanded.value.disabled\">\n @if (expanded.value.icon) {\n <mat-icon matListItemIcon>{{ expanded.value.icon }}</mat-icon>\n }\n <!-- TODO: Add an icon from a letter if anchor.icon is unavailable. -->\n <div matListItemTitle>{{ expanded.value.title }}</div>\n @if (expanded.value.hint) {\n <div matListItemLine class=\"dbx-small\">{{ expanded.value.hint }}</div>\n }\n @if (expanded.value.content) {\n <dbx-injection [config]=\"expanded.value.content\"></dbx-injection>\n }\n </a>\n @if (!last) {\n <mat-divider></mat-divider>\n }\n </dbx-anchor>\n }\n</mat-nav-list>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "directive", type: MatListItemLine, selector: "[matListItemLine]" }, { kind: "directive", type: MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: DbxAnchorComponent, selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }, { kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
3733
3750
  }
3734
3751
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxAnchorListComponent, decorators: [{
3735
3752
  type: Component,
3736
- args: [{ selector: 'dbx-anchor-list', imports: [NgClass, MatNavList, MatListItem, MatListItemIcon, MatListItemLine, MatListItemTitle, MatIconModule, MatDivider, DbxAnchorComponent, DbxInjectionComponent], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<mat-nav-list class=\"dbx-anchor-list\">\n @for (expanded of expandedAnchors(); track $index; let last = $last) {\n <dbx-anchor [anchor]=\"expanded.value\" [ngClass]=\"expanded.classes\">\n <a mat-list-item [disabled]=\"expanded.value.disabled\">\n @if (expanded.value.icon) {\n <mat-icon matListItemIcon>{{ expanded.value.icon }}</mat-icon>\n }\n <!-- TODO: Add an icon from a letter if anchor.icon is unavailable. -->\n <div matListItemTitle>{{ expanded.value.title }}</div>\n @if (expanded.value.hint) {\n <div matListItemLine class=\"dbx-small\">{{ expanded.value.hint }}</div>\n }\n @if (expanded.value.content) {\n <dbx-injection [config]=\"expanded.value.content\"></dbx-injection>\n }\n </a>\n @if (!last) {\n <mat-divider></mat-divider>\n }\n </dbx-anchor>\n }\n</mat-nav-list>\n" }]
3753
+ args: [{ selector: 'dbx-anchor-list', imports: [NgClass, MatNavList, MatListItem, MatListItemIcon, MatListItemLine, MatListItemTitle, MatIconModule, MatDivider, DbxAnchorComponent, DbxInjectionComponent], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<mat-nav-list class=\"dbx-anchor-list\">\n @for (expanded of expandedAnchorsSignal(); track $index; let last = $last) {\n <dbx-anchor [anchor]=\"expanded.value\" [ngClass]=\"expanded.classes\">\n <a mat-list-item [disabled]=\"expanded.value.disabled\">\n @if (expanded.value.icon) {\n <mat-icon matListItemIcon>{{ expanded.value.icon }}</mat-icon>\n }\n <!-- TODO: Add an icon from a letter if anchor.icon is unavailable. -->\n <div matListItemTitle>{{ expanded.value.title }}</div>\n @if (expanded.value.hint) {\n <div matListItemLine class=\"dbx-small\">{{ expanded.value.hint }}</div>\n }\n @if (expanded.value.content) {\n <dbx-injection [config]=\"expanded.value.content\"></dbx-injection>\n }\n </a>\n @if (!last) {\n <mat-divider></mat-divider>\n }\n </dbx-anchor>\n }\n</mat-nav-list>\n" }]
3737
3754
  }], propDecorators: { anchors: [{ type: i0.Input, args: [{ isSignal: true, alias: "anchors", required: true }] }] } });
3738
3755
 
3739
3756
  /**
@@ -3766,10 +3783,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
3766
3783
  /**
3767
3784
  * Creates an observable that emits the button text for a preset filter menu based on the current selection.
3768
3785
  *
3769
- * @param config$ - Observable of the preset filter menu configuration
3770
- * @param selection$ - Observable of the currently selected preset, used to derive the display title
3786
+ * @param config$ - Observable of the preset filter menu configuration.
3787
+ * @param selection$ - Observable of the currently selected preset, used to derive the display title.
3771
3788
  * @param defaultText - Fallback text when no selection or unknownSelectionText is configured. Defaults to 'Filter'.
3772
- * @returns An observable emitting the resolved button text string
3789
+ * @returns An observable emitting the resolved button text string.
3773
3790
  *
3774
3791
  * @example
3775
3792
  * ```ts
@@ -3782,10 +3799,10 @@ function dbxPresetFilterMenuButtonTextObservable(config$, selection$, defaultTex
3782
3799
  /**
3783
3800
  * Creates an observable that emits the button icon for a preset filter menu based on the current selection and config.
3784
3801
  *
3785
- * @param config$ - Observable of the preset filter menu configuration controlling icon behavior
3786
- * @param selection$ - Observable of the currently selected preset, used to derive the display icon
3802
+ * @param config$ - Observable of the preset filter menu configuration controlling icon behavior.
3803
+ * @param selection$ - Observable of the currently selected preset, used to derive the display icon.
3787
3804
  * @param defaultIcon - Fallback icon when no filterIcon is configured. Defaults to 'arrow_drop_down'.
3788
- * @returns An observable emitting the resolved icon string, or undefined when no icon should be shown
3805
+ * @returns An observable emitting the resolved icon string, or undefined when no icon should be shown.
3789
3806
  *
3790
3807
  * @example
3791
3808
  * ```ts
@@ -3864,7 +3881,7 @@ class AbstractDbxPartialPresetFilterMenuDirective {
3864
3881
  const presetValue = preset.partialPresetValue;
3865
3882
  if (presetValue == null || (typeof presetValue !== 'function' && objectHasNoKeys(presetValue))) {
3866
3883
  // set and then reset if the value is null or empty
3867
- this.filterSourceDirective.setFilter((presetValue ?? {}));
3884
+ this.filterSourceDirective.setFilter(presetValue ?? {});
3868
3885
  this.filterSourceDirective.resetFilter();
3869
3886
  }
3870
3887
  else {
@@ -4014,9 +4031,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
4014
4031
  /**
4015
4032
  * Opens a dialog containing a {@link DbxIframeComponent} to display a URL in an iframe.
4016
4033
  *
4017
- * @param matDialog - The Angular Material dialog service used to open the dialog
4018
- * @param config - Configuration specifying the content URL and dialog options
4019
- * @returns A reference to the opened dialog for controlling or subscribing to its lifecycle
4034
+ * @param matDialog - The Angular Material dialog service used to open the dialog.
4035
+ * @param config - Configuration specifying the content URL and dialog options.
4036
+ * @returns A reference to the opened dialog for controlling or subscribing to its lifecycle.
4020
4037
  *
4021
4038
  * @example
4022
4039
  * ```ts
@@ -4163,9 +4180,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
4163
4180
  /**
4164
4181
  * Opens a dialog containing a {@link DbxEmbedComponent} to display embedded content from a URL or Blob.
4165
4182
  *
4166
- * @param matDialog - The Angular Material dialog service used to open the dialog
4167
- * @param config - Configuration specifying the content source (URL or Blob), MIME type, and dialog options
4168
- * @returns A reference to the opened dialog for controlling or subscribing to its lifecycle
4183
+ * @param matDialog - The Angular Material dialog service used to open the dialog.
4184
+ * @param config - Configuration specifying the content source (URL or Blob), MIME type, and dialog options.
4185
+ * @returns A reference to the opened dialog for controlling or subscribing to its lifecycle.
4169
4186
  *
4170
4187
  * @example
4171
4188
  * ```ts
@@ -4700,12 +4717,13 @@ class DbxPromptConfirm {
4700
4717
  * Provides a {@link DbxPromptConfirm} implementation for dependency injection.
4701
4718
  *
4702
4719
  * @param sourceType - The concrete class that implements {@link DbxPromptConfirm}
4703
- * @returns An array of providers that register the given type as the {@link DbxPromptConfirm} implementation
4720
+ * @returns The providers that register the given type as the {@link DbxPromptConfirm} implementation.
4721
+ *
4722
+ * @Directive ({ providers: provideDbxPromptConfirm(MyConfirmDirective) })
4723
+ * ```
4704
4724
  *
4705
4725
  * @example
4706
4726
  * ```ts
4707
- * @Directive({ providers: provideDbxPromptConfirm(MyConfirmDirective) })
4708
- * ```
4709
4727
  */
4710
4728
  function provideDbxPromptConfirm(sourceType) {
4711
4729
  return [
@@ -4776,6 +4794,7 @@ class DbxSectionHeaderComponent {
4776
4794
  hintInline = input(...(ngDevMode ? [undefined, { debugName: "hintInline" }] : /* istanbul ignore next */ []));
4777
4795
  hintInlineDefault = signal(undefined, ...(ngDevMode ? [{ debugName: "hintInlineDefault" }] : /* istanbul ignore next */ []));
4778
4796
  headerConfigSignal = computed(() => {
4797
+ const hintInlineDefault = this.hintInlineDefault();
4779
4798
  const headerConfig = this.headerConfig();
4780
4799
  const config = {
4781
4800
  h: this.h() ?? headerConfig?.h,
@@ -4784,7 +4803,7 @@ class DbxSectionHeaderComponent {
4784
4803
  onlyHeader: this.onlyHeader() ?? headerConfig?.onlyHeader,
4785
4804
  icon: this.icon() ?? headerConfig?.icon,
4786
4805
  hint: this.hint() ?? headerConfig?.hint,
4787
- hintInline: this.hintInline() ?? headerConfig?.hintInline ?? this.hintInlineDefault()
4806
+ hintInline: this.hintInline() ?? headerConfig?.hintInline ?? hintInlineDefault
4788
4807
  };
4789
4808
  return config;
4790
4809
  }, ...(ngDevMode ? [{ debugName: "headerConfigSignal" }] : /* istanbul ignore next */ []));
@@ -4940,11 +4959,11 @@ class DbxSectionComponent extends DbxSectionHeaderComponent {
4940
4959
  * Apply elevated card styling.
4941
4960
  */
4942
4961
  elevate = input(false, ...(ngDevMode ? [{ debugName: "elevate" }] : /* istanbul ignore next */ []));
4943
- classConfig = computed(() => {
4962
+ classConfigSignal = computed(() => {
4944
4963
  return this.elevate() ? 'dbx-section-elevate dbx-content-elevate' : '';
4945
- }, ...(ngDevMode ? [{ debugName: "classConfig" }] : /* istanbul ignore next */ []));
4964
+ }, ...(ngDevMode ? [{ debugName: "classConfigSignal" }] : /* istanbul ignore next */ []));
4946
4965
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxSectionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
4947
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.11", type: DbxSectionComponent, isStandalone: true, selector: "dbx-section", inputs: { elevate: { classPropertyName: "elevate", publicName: "elevate", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "region" }, properties: { "class": "classConfig()", "attr.aria-label": "headerConfigSignal().header" }, classAttribute: "d-block dbx-section" }, usesInheritance: true, ngImport: i0, template: `
4966
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.11", type: DbxSectionComponent, isStandalone: true, selector: "dbx-section", inputs: { elevate: { classPropertyName: "elevate", publicName: "elevate", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "region" }, properties: { "class": "classConfigSignal()", "attr.aria-label": "headerConfigSignal().header" }, classAttribute: "d-block dbx-section" }, usesInheritance: true, ngImport: i0, template: `
4948
4967
  <div class="dbx-section-header" [h]="headerConfigSignal().h ?? 3" [header]="headerConfigSignal().header" [onlyHeader]="headerConfigSignal().onlyHeader" [icon]="headerConfigSignal().icon" [hint]="headerConfigSignal().hint" [hintInline]="headerConfigSignal().hintInline">
4949
4968
  <ng-content select="[sectionHeader]"></ng-content>
4950
4969
  </div>
@@ -4968,7 +4987,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
4968
4987
  host: {
4969
4988
  class: 'd-block dbx-section',
4970
4989
  role: 'region',
4971
- '[class]': 'classConfig()',
4990
+ '[class]': 'classConfigSignal()',
4972
4991
  '[attr.aria-label]': 'headerConfigSignal().header'
4973
4992
  },
4974
4993
  imports: [DbxSectionHeaderComponent],
@@ -5292,11 +5311,11 @@ class DbxContentContainerDirective {
5292
5311
  grow = input('wide', ...(ngDevMode ? [{ debugName: "grow" }] : /* istanbul ignore next */ []));
5293
5312
  padding = input('normal', ...(ngDevMode ? [{ debugName: "padding" }] : /* istanbul ignore next */ []));
5294
5313
  topPadding = input('none', ...(ngDevMode ? [{ debugName: "topPadding" }] : /* istanbul ignore next */ []));
5295
- classConfig = computed(() => {
5314
+ classConfigSignal = computed(() => {
5296
5315
  return 'container-' + this.grow() + ' container-padding-' + this.padding() + ' container-top-padding-' + this.topPadding();
5297
- }, ...(ngDevMode ? [{ debugName: "classConfig" }] : /* istanbul ignore next */ []));
5316
+ }, ...(ngDevMode ? [{ debugName: "classConfigSignal" }] : /* istanbul ignore next */ []));
5298
5317
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxContentContainerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5299
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.11", 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 });
5318
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.11", 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": "classConfigSignal()" }, classAttribute: "d-block dbx-content-container" }, ngImport: i0 });
5300
5319
  }
5301
5320
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxContentContainerDirective, decorators: [{
5302
5321
  type: Directive,
@@ -5304,7 +5323,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
5304
5323
  selector: 'dbx-content-container,[dbxContentContainer],.dbx-content-container',
5305
5324
  host: {
5306
5325
  class: 'd-block dbx-content-container',
5307
- '[class]': `classConfig()`
5326
+ '[class]': `classConfigSignal()`
5308
5327
  },
5309
5328
  standalone: true
5310
5329
  }]
@@ -5478,8 +5497,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
5478
5497
  /**
5479
5498
  * Returns a string that can be used as the "accept" attribute of a file input element.
5480
5499
  *
5481
- * @param accept - A file accept string or array of filter type strings to convert
5482
- * @returns A comma-separated string suitable for the HTML accept attribute
5500
+ * @param accept - A file accept string or array of filter type strings to convert.
5501
+ * @returns A comma-separated string suitable for the HTML accept attribute.
5483
5502
  */
5484
5503
  function fileAcceptString(accept) {
5485
5504
  return typeof accept === 'string' ? accept : accept.join(',');
@@ -5487,8 +5506,8 @@ function fileAcceptString(accept) {
5487
5506
  /**
5488
5507
  * Converts a comma-separated accept string or array into a {@link FileAcceptFilterTypeStringArray}.
5489
5508
  *
5490
- * @param accept - A file accept string or array of filter type strings to normalize
5491
- * @returns An array of individual filter type strings
5509
+ * @param accept - A file accept string or array of filter type strings to normalize.
5510
+ * @returns The individual filter type strings.
5492
5511
  *
5493
5512
  * @example
5494
5513
  * ```ts
@@ -5502,8 +5521,8 @@ function fileAcceptFilterTypeStringArray(accept) {
5502
5521
  /**
5503
5522
  * Creates a {@link FileArrayAcceptMatchFunction} that filters and separates files based on accept criteria and multiple file support.
5504
5523
  *
5505
- * @param config - Configuration specifying the accept criteria and whether multiple files are allowed
5506
- * @returns A function that accepts an array of files and returns the categorized match result
5524
+ * @param config - Configuration specifying the accept criteria and whether multiple files are allowed.
5525
+ * @returns Accepts an array of files and returns the categorized match result.
5507
5526
  *
5508
5527
  * @example
5509
5528
  * ```ts
@@ -5511,6 +5530,7 @@ function fileAcceptFilterTypeStringArray(accept) {
5511
5530
  * const result = matchFn(fileList);
5512
5531
  * console.log(result.accepted, result.rejected);
5513
5532
  * ```
5533
+ *
5514
5534
  * @__NO_SIDE_EFFECTS__
5515
5535
  */
5516
5536
  function fileArrayAcceptMatchFunction(config) {
@@ -5531,8 +5551,8 @@ function fileArrayAcceptMatchFunction(config) {
5531
5551
  /**
5532
5552
  * Creates a {@link FileAcceptFunction} that checks individual files against accept criteria (MIME types, wildcards, or file extensions).
5533
5553
  *
5534
- * @param accept - A file accept string or array specifying which MIME types, wildcards, or file extensions to allow
5535
- * @returns A decision function that returns true if a file matches any of the accept criteria
5554
+ * @param accept - A file accept string or array specifying which MIME types, wildcards, or file extensions to allow.
5555
+ * @returns A decision function that returns true if a file matches any of the accept criteria.
5536
5556
  *
5537
5557
  * @example
5538
5558
  * ```ts
@@ -5540,6 +5560,7 @@ function fileArrayAcceptMatchFunction(config) {
5540
5560
  * isAccepted({ name: 'photo.png', type: 'image/png' }); // true
5541
5561
  * isAccepted({ name: 'doc.txt', type: 'text/plain' }); // false
5542
5562
  * ```
5563
+ *
5543
5564
  * @__NO_SIDE_EFFECTS__
5544
5565
  */
5545
5566
  function fileAcceptFunction(accept) {
@@ -5588,12 +5609,13 @@ class DbxFileUploadActionCompatable {
5588
5609
  * Provides a {@link DbxFileUploadActionCompatable} for dependency injection from the given component type.
5589
5610
  *
5590
5611
  * @param sourceType - The concrete component class that implements {@link DbxFileUploadActionCompatable}
5591
- * @returns An array of providers that register the given type as the {@link DbxFileUploadActionCompatable} implementation
5612
+ * @returns The providers that register the given type as the {@link DbxFileUploadActionCompatable} implementation.
5613
+ *
5614
+ * @Component ({ providers: provideDbxFileUploadActionCompatable(MyUploadComponent) })
5615
+ * ```
5592
5616
  *
5593
5617
  * @example
5594
5618
  * ```ts
5595
- * @Component({ providers: provideDbxFileUploadActionCompatable(MyUploadComponent) })
5596
- * ```
5597
5619
  */
5598
5620
  function provideDbxFileUploadActionCompatable(sourceType) {
5599
5621
  return [
@@ -6141,15 +6163,16 @@ class DbxErrorWidgetService {
6141
6163
  });
6142
6164
  }
6143
6165
  register(entry, override = true) {
6166
+ let registered = false;
6144
6167
  if (override || !this._entries.has(entry.code)) {
6145
6168
  this._entries.set(entry.code, {
6146
6169
  ...entry,
6147
6170
  // eslint-disable-next-line @typescript-eslint/no-deprecated
6148
6171
  widgetComponentClass: entry.widgetComponentClass ?? entry.componentClass
6149
6172
  });
6150
- return true;
6173
+ registered = true;
6151
6174
  }
6152
- return false;
6175
+ return registered;
6153
6176
  }
6154
6177
  // MARK: Get
6155
6178
  getErrorWidgetIdentifiers() {
@@ -6197,21 +6220,21 @@ class DbxErrorWidgetViewComponent {
6197
6220
  let config;
6198
6221
  if (error != null) {
6199
6222
  const entry = this.dbxErrorWidgetService.getErrorWidgetEntry(error.code);
6200
- if (entry != null) {
6201
- const defaultEntry = this.dbxErrorWidgetService.getDefaultErrorWidgetEntry();
6202
- const componentClass = entry.widgetComponentClass ?? defaultEntry?.widgetComponentClass;
6203
- if (componentClass != null) {
6223
+ if (entry == null) {
6224
+ const unknownEntry = this.dbxErrorWidgetService.getUnknownErrorWidgetEntry();
6225
+ if (unknownEntry?.widgetComponentClass != null) {
6204
6226
  config = {
6205
- componentClass,
6227
+ componentClass: unknownEntry?.widgetComponentClass,
6206
6228
  data: error
6207
6229
  };
6208
6230
  }
6209
6231
  }
6210
6232
  else {
6211
- const unknownEntry = this.dbxErrorWidgetService.getUnknownErrorWidgetEntry();
6212
- if (unknownEntry?.widgetComponentClass != null) {
6233
+ const defaultEntry = this.dbxErrorWidgetService.getDefaultErrorWidgetEntry();
6234
+ const componentClass = entry.widgetComponentClass ?? defaultEntry?.widgetComponentClass;
6235
+ if (componentClass != null) {
6213
6236
  config = {
6214
- componentClass: unknownEntry?.widgetComponentClass,
6237
+ componentClass,
6215
6238
  data: error
6216
6239
  };
6217
6240
  }
@@ -6479,11 +6502,18 @@ class DbxErrorComponent {
6479
6502
  error = input(...(ngDevMode ? [undefined, { debugName: "error" }] : /* istanbul ignore next */ []));
6480
6503
  iconOnly = input(false, ...(ngDevMode ? [{ debugName: "iconOnly" }] : /* istanbul ignore next */ []));
6481
6504
  _errorOverrideSignal = signal(undefined, ...(ngDevMode ? [{ debugName: "_errorOverrideSignal" }] : /* istanbul ignore next */ []));
6482
- errorSignal = computed(() => this._errorOverrideSignal() ?? this.error(), ...(ngDevMode ? [{ debugName: "errorSignal" }] : /* istanbul ignore next */ []));
6483
- state = computed(() => {
6505
+ errorSignal = computed(() => {
6506
+ const error = this.error();
6507
+ return this._errorOverrideSignal() ?? error;
6508
+ }, ...(ngDevMode ? [{ debugName: "errorSignal" }] : /* istanbul ignore next */ []));
6509
+ stateSignal = computed(() => {
6484
6510
  const rawError = this.errorSignal();
6485
6511
  const iconOnly = this.iconOnly();
6486
- if (rawError != null) {
6512
+ let result;
6513
+ if (rawError == null) {
6514
+ result = { viewType: 'none' };
6515
+ }
6516
+ else {
6487
6517
  const error = toReadableError(rawError);
6488
6518
  const isDefaultError = iconOnly ? false : isDefaultReadableError(error);
6489
6519
  let state = {
@@ -6510,19 +6540,19 @@ class DbxErrorComponent {
6510
6540
  };
6511
6541
  }
6512
6542
  }
6513
- return state;
6514
- }
6515
- return { viewType: 'none' };
6516
- }, ...(ngDevMode ? [{ debugName: "state" }] : /* istanbul ignore next */ []));
6517
- viewTypeSignal = computed(() => this.state().viewType, ...(ngDevMode ? [{ debugName: "viewTypeSignal" }] : /* istanbul ignore next */ []));
6518
- isDefaultErrorSignal = computed(() => this.state().isDefaultError, ...(ngDevMode ? [{ debugName: "isDefaultErrorSignal" }] : /* istanbul ignore next */ []));
6519
- messageSignal = computed(() => this.state().message, ...(ngDevMode ? [{ debugName: "messageSignal" }] : /* istanbul ignore next */ []));
6520
- customViewSignal = computed(() => this.state().customView, ...(ngDevMode ? [{ debugName: "customViewSignal" }] : /* istanbul ignore next */ []));
6543
+ result = state;
6544
+ }
6545
+ return result;
6546
+ }, ...(ngDevMode ? [{ debugName: "stateSignal" }] : /* istanbul ignore next */ []));
6547
+ viewTypeSignal = computed(() => this.stateSignal().viewType, ...(ngDevMode ? [{ debugName: "viewTypeSignal" }] : /* istanbul ignore next */ []));
6548
+ isDefaultErrorSignal = computed(() => this.stateSignal().isDefaultError, ...(ngDevMode ? [{ debugName: "isDefaultErrorSignal" }] : /* istanbul ignore next */ []));
6549
+ messageSignal = computed(() => this.stateSignal().message, ...(ngDevMode ? [{ debugName: "messageSignal" }] : /* istanbul ignore next */ []));
6550
+ customViewSignal = computed(() => this.stateSignal().customView, ...(ngDevMode ? [{ debugName: "customViewSignal" }] : /* istanbul ignore next */ []));
6521
6551
  setError(error) {
6522
6552
  this._errorOverrideSignal.set(error);
6523
6553
  }
6524
6554
  openErrorPopover(event) {
6525
- const error = this.state().error;
6555
+ const error = this.stateSignal().error;
6526
6556
  if (error != null) {
6527
6557
  const popoverRef = DbxErrorPopoverComponent.openPopover(this.popoverService, {
6528
6558
  origin: event.origin,
@@ -6596,8 +6626,8 @@ class DbxLoadingProgressComponent {
6596
6626
  color = input('primary', ...(ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []));
6597
6627
  value = input(...(ngDevMode ? [undefined, { debugName: "value" }] : /* istanbul ignore next */ []));
6598
6628
  bufferValue = input(...(ngDevMode ? [undefined, { debugName: "bufferValue" }] : /* istanbul ignore next */ []));
6599
- bmode = computed(() => this.mode(), ...(ngDevMode ? [{ debugName: "bmode" }] : /* istanbul ignore next */ []));
6600
- smode = computed(() => this.mode(), ...(ngDevMode ? [{ debugName: "smode" }] : /* istanbul ignore next */ []));
6629
+ bmodeSignal = computed(() => this.mode(), ...(ngDevMode ? [{ debugName: "bmodeSignal" }] : /* istanbul ignore next */ []));
6630
+ smodeSignal = computed(() => this.mode(), ...(ngDevMode ? [{ debugName: "smodeSignal" }] : /* istanbul ignore next */ []));
6601
6631
  diameterSignal = computed(() => this.diameter() || this.defaultDiameter, ...(ngDevMode ? [{ debugName: "diameterSignal" }] : /* istanbul ignore next */ []));
6602
6632
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxLoadingProgressComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6603
6633
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: DbxLoadingProgressComponent, isStandalone: true, selector: "dbx-loading-progress", inputs: { diameter: { classPropertyName: "diameter", publicName: "diameter", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, linear: { classPropertyName: "linear", publicName: "linear", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, bufferValue: { classPropertyName: "bufferValue", publicName: "bufferValue", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
@@ -6605,10 +6635,10 @@ class DbxLoadingProgressComponent {
6605
6635
  <span class="loading-progress-view-indicator" [dbxColor]="color()">
6606
6636
  @switch (linear()) {
6607
6637
  @case (true) {
6608
- <mat-progress-bar [mode]="bmode()" [bufferValue]="bufferValue()" [value]="value()" style="margin: auto;"></mat-progress-bar>
6638
+ <mat-progress-bar [mode]="bmodeSignal()" [bufferValue]="bufferValue()" [value]="value()" style="margin: auto;"></mat-progress-bar>
6609
6639
  }
6610
6640
  @default {
6611
- <mat-progress-spinner [diameter]="diameterSignal()" [mode]="smode()" [value]="value()" style="margin: auto;"></mat-progress-spinner>
6641
+ <mat-progress-spinner [diameter]="diameterSignal()" [mode]="smodeSignal()" [value]="value()" style="margin: auto;"></mat-progress-spinner>
6612
6642
  }
6613
6643
  }
6614
6644
  </span>
@@ -6627,10 +6657,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
6627
6657
  <span class="loading-progress-view-indicator" [dbxColor]="color()">
6628
6658
  @switch (linear()) {
6629
6659
  @case (true) {
6630
- <mat-progress-bar [mode]="bmode()" [bufferValue]="bufferValue()" [value]="value()" style="margin: auto;"></mat-progress-bar>
6660
+ <mat-progress-bar [mode]="bmodeSignal()" [bufferValue]="bufferValue()" [value]="value()" style="margin: auto;"></mat-progress-bar>
6631
6661
  }
6632
6662
  @default {
6633
- <mat-progress-spinner [diameter]="diameterSignal()" [mode]="smode()" [value]="value()" style="margin: auto;"></mat-progress-spinner>
6663
+ <mat-progress-spinner [diameter]="diameterSignal()" [mode]="smodeSignal()" [value]="value()" style="margin: auto;"></mat-progress-spinner>
6634
6664
  }
6635
6665
  }
6636
6666
  </span>
@@ -6690,16 +6720,14 @@ class DbxBasicLoadingComponent {
6690
6720
  const mode = this.mode();
6691
6721
  const loadingProgress = this.loadingProgressSignal();
6692
6722
  let result;
6693
- if (!mode) {
6694
- if (loadingProgress != null) {
6695
- result = 'determinate';
6696
- }
6697
- else {
6698
- result = 'indeterminate';
6699
- }
6723
+ if (mode) {
6724
+ result = mode;
6725
+ }
6726
+ else if (loadingProgress == null) {
6727
+ result = 'indeterminate';
6700
6728
  }
6701
6729
  else {
6702
- result = mode;
6730
+ result = 'determinate';
6703
6731
  }
6704
6732
  return result;
6705
6733
  }, ...(ngDevMode ? [{ debugName: "modeSignal" }] : /* istanbul ignore next */ []));
@@ -6773,7 +6801,10 @@ class DbxLoadingComponent {
6773
6801
  loading = input(...(ngDevMode ? [undefined, { debugName: "loading" }] : /* istanbul ignore next */ []));
6774
6802
  error = input(...(ngDevMode ? [undefined, { debugName: "error" }] : /* istanbul ignore next */ []));
6775
6803
  context = input(...(ngDevMode ? [undefined, { debugName: "context" }] : /* istanbul ignore next */ []));
6776
- contextSignal = computed(() => this._contextOverrideSignal() ?? this.context(), ...(ngDevMode ? [{ debugName: "contextSignal" }] : /* istanbul ignore next */ []));
6804
+ contextSignal = computed(() => {
6805
+ const context = this.context();
6806
+ return this._contextOverrideSignal() ?? context;
6807
+ }, ...(ngDevMode ? [{ debugName: "contextSignal" }] : /* istanbul ignore next */ []));
6777
6808
  contextStream$ = toObservable(this.contextSignal).pipe(maybeValueFromObservableOrValue(), switchMapMaybeLoadingContextStream(), shareReplay(1));
6778
6809
  contextStreamSignal = toSignal(this.contextStream$);
6779
6810
  stateSignal = computed(() => {
@@ -6804,7 +6835,7 @@ class DbxLoadingComponent {
6804
6835
  /**
6805
6836
  * Sets/overrides the context directly.
6806
6837
  *
6807
- * @param context Context source to use as an override.
6838
+ * @param context - Context source to use as an override.
6808
6839
  */
6809
6840
  setContext(context) {
6810
6841
  this._contextOverrideSignal.set(context);
@@ -7126,7 +7157,7 @@ const DBX_ACTION_SNACKBAR_DEFAULTS = {
7126
7157
  * is included in the generated config.
7127
7158
  *
7128
7159
  * @param config - Per-state message configurations (idle, loading, success, error).
7129
- * @returns A function that maps generator input to a snackbar display configuration.
7160
+ * @returns Maps generator input to a snackbar display configuration.
7130
7161
  *
7131
7162
  * @example
7132
7163
  * ```typescript
@@ -7160,15 +7191,15 @@ function makeDbxActionSnackbarDisplayConfigGeneratorFunction(config) {
7160
7191
  else {
7161
7192
  reference = getValueFromGetter(undoInput);
7162
7193
  }
7163
- if (!reference) {
7164
- console.error('Expected action source reference was not provided to undo...');
7165
- }
7166
- else {
7194
+ if (reference) {
7167
7195
  building.action = {
7168
7196
  button: undoButtonText ?? 'Undo',
7169
7197
  reference
7170
7198
  };
7171
7199
  }
7200
+ else {
7201
+ console.error('Expected action source reference was not provided to undo...');
7202
+ }
7172
7203
  }
7173
7204
  result = building;
7174
7205
  }
@@ -7470,8 +7501,8 @@ class DbxActionTransitionSafetyDirective {
7470
7501
  }
7471
7502
  _handleOnBeforeTransition(transition) {
7472
7503
  return firstValueFrom(combineLatest([this.source.isModified$, this.safetyType$]).pipe(first(), mergeMap(([isModified, safetyType]) => {
7473
- if (isModified) {
7474
- return race([
7504
+ return isModified
7505
+ ? race([
7475
7506
  // Watch for success to occur. At that point, close everything.
7476
7507
  this.source.success$.pipe(first(), map(() => [true, undefined])),
7477
7508
  this._handleIsModifiedState(transition, safetyType).pipe(first(), map((x) => [undefined, x]))
@@ -7479,9 +7510,8 @@ class DbxActionTransitionSafetyDirective {
7479
7510
  return saveSuccess ? true : handleResult;
7480
7511
  }), tap(() => this._closeDialog()), // Close dialog if it is still open.
7481
7512
  delay(10) // Delay to allow dialog to close before transition.
7482
- );
7483
- }
7484
- return of(true);
7513
+ )
7514
+ : of(true);
7485
7515
  }))).then((x) => x); // Resolve/Flatten potential promise result.
7486
7516
  }
7487
7517
  _handleIsModifiedState(transition, safetyType) {
@@ -7514,25 +7544,33 @@ class DbxActionTransitionSafetyDirective {
7514
7544
  })));
7515
7545
  }
7516
7546
  _showDialog(_transition) {
7547
+ let result;
7517
7548
  if (this.checkIsDestroyed()) {
7518
- return of(true);
7519
- }
7520
- if (!this._currentDialogRef) {
7521
- this._currentDialogRef = this.dialog.open(DbxActionUIRouterTransitionSafetyDialogComponent, {
7522
- viewContainerRef: this.viewContainerRef
7523
- });
7549
+ result = of(true);
7524
7550
  }
7525
- return this._currentDialogRef.afterClosed().pipe(first(), map((result = 'stay') => {
7526
- // Default to Stay if the user clicks outside.
7527
- switch (result) {
7528
- case 'discard':
7529
- case 'success':
7530
- case 'none':
7531
- return true;
7532
- case 'stay':
7533
- return false;
7551
+ else {
7552
+ if (!this._currentDialogRef) {
7553
+ this._currentDialogRef = this.dialog.open(DbxActionUIRouterTransitionSafetyDialogComponent, {
7554
+ viewContainerRef: this.viewContainerRef
7555
+ });
7534
7556
  }
7535
- }));
7557
+ result = this._currentDialogRef.afterClosed().pipe(first(), map((dialogResult = 'stay') => {
7558
+ // Default to Stay if the user clicks outside.
7559
+ let outcome;
7560
+ switch (dialogResult) {
7561
+ case 'discard':
7562
+ case 'success':
7563
+ case 'none':
7564
+ outcome = true;
7565
+ break;
7566
+ case 'stay':
7567
+ outcome = false;
7568
+ break;
7569
+ }
7570
+ return outcome;
7571
+ }));
7572
+ }
7573
+ return result;
7536
7574
  }
7537
7575
  _closeDialog() {
7538
7576
  if (this._currentDialogRef) {
@@ -7682,14 +7720,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
7682
7720
  * Ensures that the error data is safe for serialization by running it through `JSON.stringify`/`JSON.parse`.
7683
7721
  * Non-serializable data is stripped with a console warning.
7684
7722
  *
7723
+ * @param httpError - The HTTP error response or generic error object to convert.
7724
+ * @returns A plain JSON-serializable {@link ServerError} object.
7725
+ *
7685
7726
  * @example
7686
7727
  * ```typescript
7687
7728
  * const pojoError = convertToPOJOServerErrorResponse(httpErrorResponse);
7688
7729
  * console.log(pojoError.message);
7689
7730
  * ```
7690
- *
7691
- * @param httpError - The HTTP error response or generic error object to convert.
7692
- * @returns A plain JSON-serializable {@link ServerError} object.
7693
7731
  */
7694
7732
  function convertToPOJOServerErrorResponse(httpError) {
7695
7733
  const result = convertToServerErrorResponse(httpError);
@@ -7716,6 +7754,9 @@ function convertToPOJOServerErrorResponse(httpError) {
7716
7754
  * Handles HTTP 401 responses specially by returning an {@link UnauthorizedServerErrorResponse}.
7717
7755
  * Returns `undefined` if the input is falsy.
7718
7756
  *
7757
+ * @param error - The HTTP error response or generic error object to convert.
7758
+ * @returns A {@link ServerErrorResponse} derived from the error, or `undefined` if the input is falsy.
7759
+ *
7719
7760
  * @example
7720
7761
  * ```typescript
7721
7762
  * const serverError = convertToServerErrorResponse(httpErrorResponse);
@@ -7723,9 +7764,6 @@ function convertToPOJOServerErrorResponse(httpError) {
7723
7764
  * console.log(serverError.status, serverError.message);
7724
7765
  * }
7725
7766
  * ```
7726
- *
7727
- * @param error - The HTTP error response or generic error object to convert.
7728
- * @returns A {@link ServerErrorResponse} derived from the error, or `undefined` if the input is falsy.
7729
7767
  */
7730
7768
  function convertToServerErrorResponse(error) {
7731
7769
  let result;
@@ -8039,14 +8077,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
8039
8077
  /**
8040
8078
  * Converts an HTTP error response into {@link ServerErrorParams} suitable for dispatching as an NgRx action prop.
8041
8079
  *
8080
+ * @param httpError - The HTTP error response or generic error object to convert.
8081
+ * @returns A {@link ServerErrorParams} object wrapping the converted server error.
8082
+ *
8042
8083
  * @example
8043
8084
  * ```typescript
8044
8085
  * const params = convertServerErrorParams(httpErrorResponse);
8045
8086
  * store.dispatch(myErrorAction(params));
8046
8087
  * ```
8047
- *
8048
- * @param httpError - The HTTP error response or generic error object to convert.
8049
- * @returns A {@link ServerErrorParams} object wrapping the converted server error.
8050
8088
  */
8051
8089
  function convertServerErrorParams(httpError) {
8052
8090
  const error = convertToPOJOServerErrorResponse(httpError);
@@ -8055,6 +8093,10 @@ function convertServerErrorParams(httpError) {
8055
8093
  /**
8056
8094
  * RxJS operator that catches HTTP errors, converts them to {@link ServerErrorParams}, and dispatches the given NgRx action.
8057
8095
  *
8096
+ * @param action - The NgRx action creator to dispatch with the converted error params.
8097
+ * @param mapError - Optional function to transform the {@link ServerErrorParams} before dispatching. Defaults to identity.
8098
+ * @returns An RxJS operator that catches errors and emits the corresponding error action.
8099
+ *
8058
8100
  * @example
8059
8101
  * ```typescript
8060
8102
  * return this.actions$.pipe(
@@ -8064,10 +8106,6 @@ function convertServerErrorParams(httpError) {
8064
8106
  * ))
8065
8107
  * );
8066
8108
  * ```
8067
- *
8068
- * @param action - The NgRx action creator to dispatch with the converted error params.
8069
- * @param mapError - Optional function to transform the {@link ServerErrorParams} before dispatching. Defaults to identity.
8070
- * @returns An RxJS operator that catches errors and emits the corresponding error action.
8071
8109
  */
8072
8110
  function catchErrorServerParams(action, mapError = (error) => error) {
8073
8111
  return catchError((error) => {
@@ -8133,9 +8171,9 @@ const FEATURE_KEY = 'app.model';
8133
8171
  /**
8134
8172
  * Combined reducer for the DbxModel NgRx feature state, delegating to sub-reducers for each state slice.
8135
8173
  *
8136
- * @param state The current DbxModel feature state, or undefined for initial state
8137
- * @param action The NgRx action to process
8138
- * @returns The new DbxModelState produced by the combined sub-reducers
8174
+ * @param state - The current DbxModel feature state, or undefined for initial state.
8175
+ * @param action - The NgRx action to process.
8176
+ * @returns The new DbxModelState produced by the combined sub-reducers.
8139
8177
  */
8140
8178
  function reducers(state, action) {
8141
8179
  return combineReducers({
@@ -8185,8 +8223,8 @@ class DbxModelViewTrackerStorage {
8185
8223
  /**
8186
8224
  * Persists a view tracker event to storage. Deduplicates by model key, sorts by date, and trims to the max event limit.
8187
8225
  *
8188
- * @param event - The event to record
8189
- * @returns Observable that completes when the event has been persisted
8226
+ * @param event - The event to record.
8227
+ * @returns Observable that completes when the event has been persisted.
8190
8228
  */
8191
8229
  addTrackerEvent(event) {
8192
8230
  const storageKey = this.getStorageKeyForFolder(event.folder);
@@ -8211,7 +8249,7 @@ class DbxModelViewTrackerStorage {
8211
8249
  * Returns all stored view events for the given folder.
8212
8250
  *
8213
8251
  * @param folder - Optional folder name; defaults to `'default'`
8214
- * @returns Observable of all view tracker events in the folder
8252
+ * @returns Observable of all view tracker events in the folder.
8215
8253
  */
8216
8254
  getAllEvents(folder) {
8217
8255
  return this.getEventSet(folder).pipe(map((x) => x.e));
@@ -8220,7 +8258,7 @@ class DbxModelViewTrackerStorage {
8220
8258
  * Returns the complete event set for the given folder.
8221
8259
  *
8222
8260
  * @param folder - Optional folder name; defaults to `'default'`
8223
- * @returns Observable of the event set containing events and the last-update timestamp
8261
+ * @returns Observable of the event set containing events and the last-update timestamp.
8224
8262
  */
8225
8263
  getEventSet(folder) {
8226
8264
  const storageKey = this.getStorageKeyForFolder(folder);
@@ -8235,7 +8273,7 @@ class DbxModelViewTrackerStorage {
8235
8273
  * Computes the storage key for a given folder name.
8236
8274
  *
8237
8275
  * @param folder - Optional folder name; defaults to `'default'`
8238
- * @returns The computed storage key string combining the base key and folder name
8276
+ * @returns The computed storage key string combining the base key and folder name.
8239
8277
  */
8240
8278
  getStorageKeyForFolder(folder) {
8241
8279
  return `${this.storageKey}_${folder ?? 'default'}`;
@@ -8260,7 +8298,7 @@ class DbxModelTrackerService {
8260
8298
  /**
8261
8299
  * The default storage folder used when no folder is specified in tracking calls.
8262
8300
  *
8263
- * @returns The current default folder name, or undefined if not set
8301
+ * @returns The current default folder name, or undefined if not set.
8264
8302
  */
8265
8303
  get defaultFolder() {
8266
8304
  return this._defaultFolder;
@@ -8272,8 +8310,8 @@ class DbxModelTrackerService {
8272
8310
  /**
8273
8311
  * Records a view event for the given model, optionally in a specific context and folder.
8274
8312
  *
8275
- * @param modelKeyTypeNamePair - The model identity to track
8276
- * @param context - Optional view context metadata
8313
+ * @param modelKeyTypeNamePair - The model identity to track.
8314
+ * @param context - Optional view context metadata.
8277
8315
  * @param folder - Storage folder; defaults to {@link defaultFolder}
8278
8316
  */
8279
8317
  trackViewedObject(modelKeyTypeNamePair, context, folder = this._defaultFolder) {
@@ -8290,7 +8328,7 @@ class DbxModelTrackerService {
8290
8328
  * Returns all recorded view events for the given folder, sorted by most recent first.
8291
8329
  *
8292
8330
  * @param folder - Storage folder; defaults to {@link defaultFolder}
8293
- * @returns Observable of view events sorted by most recent first
8331
+ * @returns Observable of view events sorted by most recent first.
8294
8332
  */
8295
8333
  getAllViewEvents(folder = this._defaultFolder) {
8296
8334
  return this._viewTrackerStorage.getAllEvents(folder);
@@ -8299,7 +8337,7 @@ class DbxModelTrackerService {
8299
8337
  * Returns the complete event set (events and last-update timestamp) for the given folder.
8300
8338
  *
8301
8339
  * @param folder - Storage folder; defaults to {@link defaultFolder}
8302
- * @returns Observable of the complete event set including events and last-update timestamp
8340
+ * @returns Observable of the complete event set including events and last-update timestamp.
8303
8341
  */
8304
8342
  getViewEventSet(folder = this._defaultFolder) {
8305
8343
  return this._viewTrackerStorage.getEventSet(folder);
@@ -8338,9 +8376,9 @@ class DbxModelObjectStateService {
8338
8376
  /**
8339
8377
  * Emit a model viewed event.
8340
8378
  *
8341
- * @param params - The model viewed event parameters
8342
- * @param params.modelKeyTypeNamePair - Identifies the model that was viewed
8343
- * @param params.context - Optional context describing how the model was viewed
8379
+ * @param params - The model viewed event parameters.
8380
+ * @param params.modelKeyTypeNamePair - Identifies the model that was viewed.
8381
+ * @param params.context - Optional context describing how the model was viewed.
8344
8382
  */
8345
8383
  emitModelViewEvent({ modelKeyTypeNamePair, context }) {
8346
8384
  this.store.dispatch(emitObjectViewEvent({ modelKeyTypeNamePair, context }));
@@ -8355,13 +8393,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
8355
8393
  /**
8356
8394
  * Creates a {@link StorageAccessor} for persisting model view tracker events using the `mtvs` storage prefix.
8357
8395
  *
8396
+ * @param storageAccessorFactory - The factory used to create typed storage accessors.
8397
+ * @returns A storage accessor configured with the `mtvs` prefix for model view tracker events.
8398
+ *
8358
8399
  * @example
8359
8400
  * ```typescript
8360
8401
  * const accessor = defaultDbxModelViewTrackerStorageAccessorFactory(storageAccessorFactory);
8361
8402
  * ```
8362
8403
  *
8363
- * @param storageAccessorFactory - The factory used to create typed storage accessors
8364
- * @returns A storage accessor configured with the `mtvs` prefix for model view tracker events
8365
8404
  * @__NO_SIDE_EFFECTS__
8366
8405
  */
8367
8406
  function defaultDbxModelViewTrackerStorageAccessorFactory(storageAccessorFactory) {
@@ -8372,7 +8411,8 @@ function defaultDbxModelViewTrackerStorageAccessorFactory(storageAccessorFactory
8372
8411
  /**
8373
8412
  * Creates EnvironmentProviders for providing DbxModelTrackerService, DbxModelObjectStateService and sets up the NgRx store for DbxModelTrackerEffects.
8374
8413
  *
8375
- * @returns EnvironmentProviders
8414
+ * @returns EnvironmentProviders.
8415
+ *
8376
8416
  * @__NO_SIDE_EFFECTS__
8377
8417
  */
8378
8418
  function provideDbxModelService() {
@@ -8397,13 +8437,13 @@ function provideDbxModelService() {
8397
8437
  /**
8398
8438
  * Extracts all model keys from a {@link DbxModelViewTrackerEventSet}.
8399
8439
  *
8440
+ * @param eventSet - The event set from which to extract model keys.
8441
+ * @returns Array of model keys from all events in the set.
8442
+ *
8400
8443
  * @example
8401
8444
  * ```typescript
8402
8445
  * const keys = allDbxModelViewTrackerEventSetModelKeys(eventSet);
8403
8446
  * ```
8404
- *
8405
- * @param eventSet - The event set from which to extract model keys
8406
- * @returns Array of model keys from all events in the set
8407
8447
  */
8408
8448
  function allDbxModelViewTrackerEventSetModelKeys(eventSet) {
8409
8449
  return allDbxModelViewTrackerEventModelKeys(eventSet.e);
@@ -8411,13 +8451,13 @@ function allDbxModelViewTrackerEventSetModelKeys(eventSet) {
8411
8451
  /**
8412
8452
  * Extracts all model keys from an array of {@link DbxModelViewTrackerEvent}.
8413
8453
  *
8454
+ * @param events - Array of view tracker events from which to extract model keys.
8455
+ * @returns Array of model keys, one per event.
8456
+ *
8414
8457
  * @example
8415
8458
  * ```typescript
8416
8459
  * const keys = allDbxModelViewTrackerEventModelKeys(events);
8417
8460
  * ```
8418
- *
8419
- * @param events - Array of view tracker events from which to extract model keys
8420
- * @returns Array of model keys, one per event
8421
8461
  */
8422
8462
  function allDbxModelViewTrackerEventModelKeys(events) {
8423
8463
  return events.map((y) => y.m.key);
@@ -8439,7 +8479,7 @@ class DbxModelTypesService {
8439
8479
  /**
8440
8480
  * Registers one or more model type configurations. Merges with any previously registered configs.
8441
8481
  *
8442
- * @param configs - Single or array of model type configurations to register
8482
+ * @param configs - Single or array of model type configurations to register.
8443
8483
  */
8444
8484
  addTypeConfigs(configs) {
8445
8485
  const types = {
@@ -8453,7 +8493,7 @@ class DbxModelTypesService {
8453
8493
  /**
8454
8494
  * Registers model type configurations from a map, merging with existing configs.
8455
8495
  *
8456
- * @param configs - Map of model type strings to their configurations
8496
+ * @param configs - Map of model type strings to their configurations.
8457
8497
  */
8458
8498
  addTypeConfigsMap(configs) {
8459
8499
  const newConfig = {
@@ -8497,8 +8537,8 @@ class DbxModelTypesService {
8497
8537
  /**
8498
8538
  * Returns an observable of the Material icon name for the given model type.
8499
8539
  *
8500
- * @param type - The model type string to look up
8501
- * @returns Observable emitting the icon name for the given model type
8540
+ * @param type - The model type string to look up.
8541
+ * @returns Observable emitting the icon name for the given model type.
8502
8542
  */
8503
8543
  iconForType(type) {
8504
8544
  return this.iconMap$.pipe(map((x) => x[type]));
@@ -8594,15 +8634,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
8594
8634
  /**
8595
8635
  * Creates a {@link CopyToClipboardFunction} that retries the copy operation until success or timeout.
8596
8636
  *
8597
- * @param clipboard - the Angular CDK Clipboard instance
8598
- * @param config - optional timeout and retry settings
8599
- * @returns a function that copies text to the clipboard
8637
+ * @param clipboard - The Angular CDK Clipboard instance.
8638
+ * @param config - Optional timeout and retry settings.
8639
+ * @returns Copies text to the clipboard.
8600
8640
  *
8601
8641
  * @example
8602
8642
  * ```ts
8603
8643
  * const copy = copyToClipboardFunction(clipboard, { copyTimeoutSeconds: 10 });
8604
8644
  * const success = await copy('some text');
8605
8645
  * ```
8646
+ *
8606
8647
  * @__NO_SIDE_EFFECTS__
8607
8648
  */
8608
8649
  function copyToClipboardFunction(clipboard, config) {
@@ -8642,14 +8683,15 @@ function copyToClipboardFunction(clipboard, config) {
8642
8683
  *
8643
8684
  * Must be called in an Angular injection context.
8644
8685
  *
8645
- * @param config - optional timeout and retry settings
8646
- * @returns the clipboard copy function
8686
+ * @param config - Optional timeout and retry settings.
8687
+ * @returns The clipboard copy function.
8647
8688
  *
8648
8689
  * @example
8649
8690
  * ```ts
8650
8691
  * const copy = injectCopyToClipboardFunction();
8651
8692
  * await copy('copied text');
8652
8693
  * ```
8694
+ *
8653
8695
  * @__NO_SIDE_EFFECTS__
8654
8696
  */
8655
8697
  function injectCopyToClipboardFunction(config) {
@@ -8661,8 +8703,8 @@ function injectCopyToClipboardFunction(config) {
8661
8703
  *
8662
8704
  * Must be called in an Angular injection context.
8663
8705
  *
8664
- * @param config - optional configuration for copy behavior and snackbar messages
8665
- * @returns clipboard copy function with snackbar notification support
8706
+ * @param config - Optional configuration for copy behavior and snackbar messages.
8707
+ * @returns Clipboard copy function with snackbar notification support.
8666
8708
  *
8667
8709
  * @example
8668
8710
  * ```ts
@@ -8686,9 +8728,9 @@ function injectCopyToClipboardFunctionWithSnackbarMessage(config) {
8686
8728
  const _setSnackbarMessagesConfig = (config) => {
8687
8729
  if (config != null) {
8688
8730
  const { successMessage: inputSuccessMessage, failureMessage: inputFailureMessage, snackbarDuration: inputSnackbarDuration } = config;
8689
- successMessage = (inputSuccessMessage !== undefined ? inputSuccessMessage : successMessage) ?? DEFAULT_SUCCESS_MESSAGE;
8690
- failureMessage = (inputFailureMessage !== undefined ? inputFailureMessage : failureMessage) ?? DEFAULT_FAILURE_MESSAGE;
8691
- snackbarDuration = (inputSnackbarDuration !== undefined ? inputSnackbarDuration : snackbarDuration) ?? DEFAULT_SNACKBAR_DURATION;
8731
+ successMessage = (inputSuccessMessage === undefined ? successMessage : inputSuccessMessage) ?? DEFAULT_SUCCESS_MESSAGE;
8732
+ failureMessage = (inputFailureMessage === undefined ? failureMessage : inputFailureMessage) ?? DEFAULT_FAILURE_MESSAGE;
8733
+ snackbarDuration = (inputSnackbarDuration === undefined ? snackbarDuration : inputSnackbarDuration) ?? DEFAULT_SNACKBAR_DURATION;
8692
8734
  }
8693
8735
  };
8694
8736
  if (config) {
@@ -8834,10 +8876,7 @@ class DbxDownloadTextViewComponent extends AbstractDbxClipboardDirective {
8834
8876
  }, ...(ngDevMode ? [{ debugName: "contentLoadingStateSignal" }] : /* istanbul ignore next */ []));
8835
8877
  contentLoadingState$ = toObservable(this.contentLoadingStateSignal);
8836
8878
  content$ = this.contentLoadingState$.pipe(switchMap((x) => {
8837
- if (x) {
8838
- return of(x).pipe(valueFromFinishedLoadingState());
8839
- }
8840
- return of(undefined);
8879
+ return x ? of(x).pipe(valueFromFinishedLoadingState()) : of(undefined);
8841
8880
  }));
8842
8881
  contentSignal = toSignal(this.content$);
8843
8882
  contentDataSignal = computed(() => this.contentSignal()?.content, ...(ngDevMode ? [{ debugName: "contentDataSignal" }] : /* istanbul ignore next */ []));
@@ -8857,10 +8896,7 @@ class DbxDownloadTextViewComponent extends AbstractDbxClipboardDirective {
8857
8896
  context = loadingStateContext({ obs: this.contentLoadingState$ });
8858
8897
  handleCopyToClipboard = () => {
8859
8898
  return this.content$.pipe(first(), switchMap((downloadTextContent) => {
8860
- if (downloadTextContent) {
8861
- return this._copyToClipboard(downloadTextContent.content);
8862
- }
8863
- return of(false);
8899
+ return downloadTextContent ? this._copyToClipboard(downloadTextContent.content) : of(false);
8864
8900
  }));
8865
8901
  };
8866
8902
  toggleExpandPreview() {
@@ -8881,8 +8917,8 @@ const DBX_WEB_FILE_PREVIEW_SERVICE_ENTRIES_TOKEN = new InjectionToken('DefaultDb
8881
8917
  /**
8882
8918
  * Creates a provider that registers the given entries with the {@link DbxWebFilePreviewService} via the {@link DBX_WEB_FILE_PREVIEW_SERVICE_ENTRIES_TOKEN}.
8883
8919
  *
8884
- * @param entries - Array of preview service entries to register, each mapping a MIME type to its preview component
8885
- * @returns A provider configuration that supplies the entries via the injection token
8920
+ * @param entries - Array of preview service entries to register, each mapping a MIME type to its preview component.
8921
+ * @returns A provider configuration that supplies the entries via the injection token.
8886
8922
  *
8887
8923
  * @example
8888
8924
  * ```typescript
@@ -8899,10 +8935,10 @@ function provideDbxWebFilePreviewServiceEntries(entries) {
8899
8935
  /**
8900
8936
  * Default preview component function that embeds files using {@link DbxEmbedComponent}. Images are rendered with an `img` element; all other types use `embed`.
8901
8937
  *
8902
- * @param input - The preview input containing blob data, source URL, and MIME type information
8903
- * @returns An injection component config that initializes a {@link DbxEmbedComponent} with the appropriate embed element and content
8938
+ * @param input - The preview input containing blob data, source URL, and MIME type information.
8939
+ * @returns An injection component config that initializes a {@link DbxEmbedComponent} with the appropriate embed element and content.
8904
8940
  */
8905
- const DBX_WEB_FILE_PREVIEW_SERVICE_DEFAULT_PREVIEW_COMPONENT_FUNCTION = (input) => {
8941
+ const DEFAULT_DBX_WEB_FILE_PREVIEW_SERVICE_PREVIEW_COMPONENT_FUNCTION = (input) => {
8906
8942
  const { blob, srcUrl, embedMimeType, sanitizeSrcUrl } = input;
8907
8943
  let embedElement = 'embed';
8908
8944
  if (embedMimeType) {
@@ -8929,10 +8965,10 @@ const DBX_WEB_FILE_PREVIEW_SERVICE_DEFAULT_PREVIEW_COMPONENT_FUNCTION = (input)
8929
8965
  /**
8930
8966
  * Default dialog-with-component function that opens the preview component inside a {@link DbxInjectionDialogComponent} with a close button.
8931
8967
  *
8932
- * @param input - The dialog input containing the MatDialog instance and the component config to display
8933
- * @returns A MatDialogRef for the opened injection dialog
8968
+ * @param input - The dialog input containing the MatDialog instance and the component config to display.
8969
+ * @returns A MatDialogRef for the opened injection dialog.
8934
8970
  */
8935
- const DBX_WEB_FILE_PREVIEW_SERVICE_DEFAULT_DIALOG_WITH_COMPONENT_FUNCTION = (input) => {
8971
+ const DEFAULT_DBX_WEB_FILE_PREVIEW_SERVICE_DIALOG_WITH_COMPONENT_FUNCTION = (input) => {
8936
8972
  const { matDialog, componentConfig } = input;
8937
8973
  return DbxInjectionDialogComponent.openDialog(matDialog, {
8938
8974
  componentConfig,
@@ -8952,13 +8988,13 @@ class DbxWebFilePreviewService {
8952
8988
  entries.forEach((x) => this.registerPreviewEntry(x));
8953
8989
  }
8954
8990
  }
8955
- _defaultPreviewComponentFunction = DBX_WEB_FILE_PREVIEW_SERVICE_DEFAULT_PREVIEW_COMPONENT_FUNCTION;
8956
- _defaultPreviewDialogWithComponentFunction = DBX_WEB_FILE_PREVIEW_SERVICE_DEFAULT_DIALOG_WITH_COMPONENT_FUNCTION;
8991
+ _defaultPreviewComponentFunction = DEFAULT_DBX_WEB_FILE_PREVIEW_SERVICE_PREVIEW_COMPONENT_FUNCTION;
8992
+ _defaultPreviewDialogWithComponentFunction = DEFAULT_DBX_WEB_FILE_PREVIEW_SERVICE_DIALOG_WITH_COMPONENT_FUNCTION;
8957
8993
  // Configuration
8958
8994
  /**
8959
8995
  * Registers one or more file preview entries, mapping MIME types to their preview components.
8960
8996
  *
8961
- * @param entries - Single or array of preview entries to register
8997
+ * @param entries - Single or array of preview entries to register.
8962
8998
  */
8963
8999
  registerPreviewEntries(entries) {
8964
9000
  asArray(entries).forEach((entry) => this.registerPreviewEntry(entry));
@@ -8966,7 +9002,7 @@ class DbxWebFilePreviewService {
8966
9002
  /**
8967
9003
  * Registers a single file preview entry for its MIME type(s).
8968
9004
  *
8969
- * @param entry - The preview entry to register
9005
+ * @param entry - The preview entry to register.
8970
9006
  */
8971
9007
  registerPreviewEntry(entry) {
8972
9008
  asArray(entry.mimeType).forEach((mimeType) => this._entries.set(mimeType, entry));
@@ -8974,7 +9010,7 @@ class DbxWebFilePreviewService {
8974
9010
  /**
8975
9011
  * Overrides the default preview component function used when no MIME-specific entry is registered.
8976
9012
  *
8977
- * @param previewFunction - The preview component function to use as the new default
9013
+ * @param previewFunction - The preview component function to use as the new default.
8978
9014
  */
8979
9015
  setDefaultPreviewComponentFunction(previewFunction) {
8980
9016
  this._defaultPreviewComponentFunction = previewFunction;
@@ -8982,7 +9018,7 @@ class DbxWebFilePreviewService {
8982
9018
  /**
8983
9019
  * Overrides the default dialog-with-component function used when no MIME-specific dialog handler is registered.
8984
9020
  *
8985
- * @param previewDialogWithComponentFunction - The dialog-with-component function to use as the new default
9021
+ * @param previewDialogWithComponentFunction - The dialog-with-component function to use as the new default.
8986
9022
  */
8987
9023
  setDefaultPreviewDialogWithComponentFunction(previewDialogWithComponentFunction) {
8988
9024
  this._defaultPreviewDialogWithComponentFunction = previewDialogWithComponentFunction;
@@ -8991,8 +9027,8 @@ class DbxWebFilePreviewService {
8991
9027
  /**
8992
9028
  * Creates an injection component config for previewing a file. Uses a MIME-specific preview function if registered, otherwise falls back to the default.
8993
9029
  *
8994
- * @param input - The preview input containing blob, URL, and MIME type information
8995
- * @returns An injection component config suitable for rendering the file preview
9030
+ * @param input - The preview input containing blob, URL, and MIME type information.
9031
+ * @returns An injection component config suitable for rendering the file preview.
8996
9032
  */
8997
9033
  createPreviewConfig(input) {
8998
9034
  const { embedMimeType } = input;
@@ -9002,8 +9038,8 @@ class DbxWebFilePreviewService {
9002
9038
  /**
9003
9039
  * Opens a Material dialog to preview a file. Uses a MIME-specific dialog function if registered, otherwise creates a preview component and wraps it in the default dialog.
9004
9040
  *
9005
- * @param input - The dialog input containing file data and MIME type
9006
- * @returns Reference to the opened dialog
9041
+ * @param input - The dialog input containing file data and MIME type.
9042
+ * @returns Reference to the opened dialog.
9007
9043
  */
9008
9044
  openPreviewDialog(input) {
9009
9045
  const { embedMimeType } = input;
@@ -9075,8 +9111,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
9075
9111
  /**
9076
9112
  * Builds a directory tree from an array of zip archive entries, enriching each node with MIME type detection and blob retrieval capability.
9077
9113
  *
9078
- * @param entries - Array of zip archive entries to build the tree from, or null/undefined for an empty tree
9079
- * @returns The root node of the constructed directory tree with MIME types and blob getters attached
9114
+ * @param entries - Array of zip archive entries to build the tree from, or null/undefined for an empty tree.
9115
+ * @returns The root node of the constructed directory tree with MIME types and blob getters attached.
9080
9116
  *
9081
9117
  * @example
9082
9118
  * ```typescript
@@ -9111,16 +9147,15 @@ const SCREEN_MEDIA_WIDTH_TYPE_SIZE_MAP = {
9111
9147
  /**
9112
9148
  * Returns `true` if the current screen width type is at least as wide as the given breakpoint.
9113
9149
  *
9114
- * @param current - the current screen width type
9115
- * @param breakpoint - the minimum width type to check against
9150
+ * @param current - The current screen width type.
9151
+ * @param breakpoint - The minimum width type to check against.
9152
+ * @returns `true` if the current width type meets or exceeds the breakpoint.
9116
9153
  *
9117
9154
  * @example
9118
9155
  * ```ts
9119
9156
  * screenMediaWidthTypeIsActive('tablet', 'small'); // true
9120
9157
  * screenMediaWidthTypeIsActive('micro', 'tablet'); // false
9121
9158
  * ```
9122
- *
9123
- * @returns `true` if the current width type meets or exceeds the breakpoint
9124
9159
  */
9125
9160
  function screenMediaWidthTypeIsActive(current, breakpoint) {
9126
9161
  return compareScreenMediaWidthTypes(current, breakpoint, (a, b) => a >= b);
@@ -9128,10 +9163,10 @@ function screenMediaWidthTypeIsActive(current, breakpoint) {
9128
9163
  /**
9129
9164
  * Compares two {@link ScreenMediaWidthType} values using a custom comparator on their numeric sizes.
9130
9165
  *
9131
- * @param a - the first screen width type
9132
- * @param b - the second screen width type
9133
- * @param compare - a comparator function applied to the numeric size values of `a` and `b`
9134
- * @returns the result of applying the comparator to the mapped numeric sizes
9166
+ * @param a - The first screen width type.
9167
+ * @param b - The second screen width type.
9168
+ * @param compare - A comparator function applied to the numeric size values of `a` and `b`
9169
+ * @returns The result of applying the comparator to the mapped numeric sizes.
9135
9170
  */
9136
9171
  function compareScreenMediaWidthTypes(a, b, compare) {
9137
9172
  return compare(SCREEN_MEDIA_WIDTH_TYPE_SIZE_MAP[a], SCREEN_MEDIA_WIDTH_TYPE_SIZE_MAP[b]);
@@ -9204,8 +9239,8 @@ class DbxScreenMediaService {
9204
9239
  /**
9205
9240
  * Returns an observable that emits `true` when the current screen width is at least as wide as the given breakpoint.
9206
9241
  *
9207
- * @param inputBreakpoint - the minimum width type or an observable of it
9208
- * @returns observable of whether the breakpoint is currently active
9242
+ * @param inputBreakpoint - The minimum width type or an observable of it.
9243
+ * @returns Observable of whether the breakpoint is currently active.
9209
9244
  */
9210
9245
  isBreakpointActive(inputBreakpoint) {
9211
9246
  return combineLatest([this.widthType$, asObservable(inputBreakpoint)]).pipe(map(([current, breakpoint]) => screenMediaWidthTypeIsActive(current, breakpoint)), distinctUntilChanged(), shareReplay(1));
@@ -9296,6 +9331,7 @@ class DbxAccordionHeaderHeightDirective {
9296
9331
  heightTextSmallScreenMultiplier = input(1.6, ...(ngDevMode ? [{ debugName: "heightTextSmallScreenMultiplier" }] : /* istanbul ignore next */ []));
9297
9332
  widthTypeSignal = toSignal(this._screenMediaService.widthType$);
9298
9333
  expansionPanelHeightSignal = computed(() => {
9334
+ const heightTextSmallScreenMultiplier = this.heightTextSmallScreenMultiplier();
9299
9335
  const baseHeight = this.dbxAccordionHeaderHeight();
9300
9336
  const text = this.heightText();
9301
9337
  const textLines = this.heightTextLines();
@@ -9315,7 +9351,7 @@ class DbxAccordionHeaderHeightDirective {
9315
9351
  const lineHeight = textLineHeight;
9316
9352
  // on small screens text wraps more, so scale up estimated lines
9317
9353
  if (isSmallScreen) {
9318
- const multiplier = this.heightTextSmallScreenMultiplier() ?? 1.6;
9354
+ const multiplier = heightTextSmallScreenMultiplier ?? 1.6;
9319
9355
  lines = Math.ceil(lines * multiplier);
9320
9356
  }
9321
9357
  height = (baseHeight ?? 60) + lines * lineHeight;
@@ -9413,8 +9449,9 @@ class DbxAvatarViewComponent {
9413
9449
  return hideOnError && hasError;
9414
9450
  }, ...(ngDevMode ? [{ debugName: "hideAvatarSignal" }] : /* istanbul ignore next */ []));
9415
9451
  avatarIconSignal = computed(() => {
9452
+ const hasAvatarError = this.hasAvatarErrorSignal();
9416
9453
  let icon = this.avatarIcon() ?? this.defaultContext?.icon;
9417
- if (!icon && this.hasAvatarErrorSignal()) {
9454
+ if (!icon && hasAvatarError) {
9418
9455
  icon = this.avatarService.defaultAvatarErrorIcon;
9419
9456
  }
9420
9457
  else {
@@ -9518,8 +9555,8 @@ class DbxAvatarViewService {
9518
9555
  *
9519
9556
  * Falls back to the default component config if no custom resolver is configured or if it returns null.
9520
9557
  *
9521
- * @param context - the avatar context used to resolve the appropriate component configuration
9522
- * @returns the resolved injection component config, or the default if no custom resolver matches
9558
+ * @param context - The avatar context used to resolve the appropriate component configuration.
9559
+ * @returns The resolved injection component config, or the default if no custom resolver matches.
9523
9560
  */
9524
9561
  avatarComponentForContext(context) {
9525
9562
  let config = this._defaultAvatarComponentConfig;
@@ -9540,7 +9577,7 @@ class DbxAvatarViewService {
9540
9577
  /**
9541
9578
  * Sets the default avatar image URL used when no context-specific URL is provided.
9542
9579
  *
9543
- * @param url - the URL to use as the default avatar image, or nullish to clear
9580
+ * @param url - The URL to use as the default avatar image, or nullish to clear.
9544
9581
  */
9545
9582
  setDefaultAvatarUrl(url) {
9546
9583
  this._defaultAvatarUrl = url;
@@ -9548,7 +9585,7 @@ class DbxAvatarViewService {
9548
9585
  /**
9549
9586
  * Sets the default Material icon name used as a fallback when no avatar image is available.
9550
9587
  *
9551
- * @param icon - the Material icon name to use, or nullish to clear
9588
+ * @param icon - The Material icon name to use, or nullish to clear.
9552
9589
  */
9553
9590
  setDefaultAvatarIcon(icon) {
9554
9591
  this._defaultAvatarIcon = icon;
@@ -9556,7 +9593,7 @@ class DbxAvatarViewService {
9556
9593
  /**
9557
9594
  * Sets the Material icon name displayed when the avatar image fails to load.
9558
9595
  *
9559
- * @param icon - the Material icon name to display on image load error, or nullish to clear
9596
+ * @param icon - The Material icon name to display on image load error, or nullish to clear.
9560
9597
  */
9561
9598
  setDefaultAvatarErrorIcon(icon) {
9562
9599
  this._defaultAvatarErrorIcon = icon;
@@ -9564,7 +9601,7 @@ class DbxAvatarViewService {
9564
9601
  /**
9565
9602
  * Overrides the default component used to render avatars when no context-specific component is resolved.
9566
9603
  *
9567
- * @param config - the injection component config to use as the new default
9604
+ * @param config - The injection component config to use as the new default.
9568
9605
  */
9569
9606
  setDefaultAvatarComponentConfig(config) {
9570
9607
  this._defaultAvatarComponentConfig = config;
@@ -10167,15 +10204,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
10167
10204
  /**
10168
10205
  * Creates Angular providers for a new {@link TwoColumnsContextStore} instance.
10169
10206
  *
10170
- * @example
10171
- * ```typescript
10172
- * @Component({
10207
+ * @returns Array of Angular providers that supply a new {@link TwoColumnsContextStore}
10208
+ *
10209
+ * @Component ({
10173
10210
  * providers: provideTwoColumnsContext(),
10174
10211
  * })
10175
10212
  * export class MyColumnLayoutComponent { }
10176
10213
  * ```
10177
10214
  *
10178
- * @returns an array of Angular providers that supply a new {@link TwoColumnsContextStore}
10215
+ * @example
10216
+ * ```typescript
10179
10217
  */
10180
10218
  function provideTwoColumnsContext() {
10181
10219
  return [
@@ -10759,16 +10797,17 @@ class DbxValueListItemModifier {
10759
10797
  /**
10760
10798
  * Registers a directive as a {@link DbxValueListItemModifier} provider for dependency injection.
10761
10799
  *
10762
- * @example
10763
- * ```ts
10764
- * @Directive({
10800
+ * @param sourceType - The directive class to register as the DbxValueListItemModifier provider.
10801
+ * @returns Array of Angular providers that wire up the directive as a DbxValueListItemModifier.
10802
+ *
10803
+ * @Directive ({
10765
10804
  * providers: provideDbxValueListViewModifier(MyModifierDirective)
10766
10805
  * })
10767
10806
  * export class MyModifierDirective extends DbxValueListItemModifier<MyItem> { ... }
10768
10807
  * ```
10769
10808
  *
10770
- * @param sourceType - the directive class to register as the DbxValueListItemModifier provider
10771
- * @returns an array of Angular providers that wire up the directive as a DbxValueListItemModifier
10809
+ * @example
10810
+ * ```ts
10772
10811
  */
10773
10812
  function provideDbxValueListViewModifier(sourceType) {
10774
10813
  return [
@@ -10781,16 +10820,16 @@ function provideDbxValueListViewModifier(sourceType) {
10781
10820
  /**
10782
10821
  * Creates a {@link ListItemModifier} with the given key and modification function.
10783
10822
  *
10823
+ * @param key - A unique string identifier for this modifier in the modifier map.
10824
+ * @param modify - The function that mutates list item properties during rendering.
10825
+ * @returns A new ListItemModifier with the given key and modification function.
10826
+ *
10784
10827
  * @example
10785
10828
  * ```ts
10786
10829
  * const highlightModifier = listItemModifier<MyItem>('highlight', (item) => {
10787
10830
  * item.selected = item.itemValue.isImportant;
10788
10831
  * });
10789
10832
  * ```
10790
- *
10791
- * @param key - a unique string identifier for this modifier in the modifier map
10792
- * @param modify - the function that mutates list item properties during rendering
10793
- * @returns a new ListItemModifier with the given key and modification function
10794
10833
  */
10795
10834
  function listItemModifier(key, modify) {
10796
10835
  return modifier(key, modify);
@@ -11031,16 +11070,16 @@ const SIDE_NAV_DISPLAY_MODE_ORDER = [SideNavDisplayMode.NONE, SideNavDisplayMode
11031
11070
  * Falls back to the lowest allowed mode if no lower mode is available, or {@link SideNavDisplayMode.NONE}
11032
11071
  * if the allowed set is empty or undefined.
11033
11072
  *
11073
+ * @param mode - The requested display mode to resolve.
11074
+ * @param allowedModes - Set of modes that are permitted; if null/undefined, all modes are allowed.
11075
+ * @returns The resolved display mode, falling back to the nearest lower allowed mode or NONE.
11076
+ *
11034
11077
  * @example
11035
11078
  * ```ts
11036
11079
  * // ICON not allowed, rounds down to MOBILE
11037
11080
  * resolveSideNavDisplayMode(SideNavDisplayMode.ICON, new Set([SideNavDisplayMode.MOBILE, SideNavDisplayMode.FULL]));
11038
11081
  * // => SideNavDisplayMode.MOBILE
11039
11082
  * ```
11040
- *
11041
- * @param mode - The requested display mode to resolve.
11042
- * @param allowedModes - Set of modes that are permitted; if null/undefined, all modes are allowed.
11043
- * @returns The resolved display mode, falling back to the nearest lower allowed mode or NONE.
11044
11083
  */
11045
11084
  function resolveSideNavDisplayMode(mode, allowedModes) {
11046
11085
  let result;
@@ -11192,7 +11231,10 @@ class DbxSidenavComponent extends AbstractTransitionWatcherDirective {
11192
11231
  toggleOpen = toggleOpen ?? !this.sidenav().opened;
11193
11232
  const mode = this.stateSignal()?.mode;
11194
11233
  let open;
11195
- if (!forced) {
11234
+ if (forced) {
11235
+ open = toggleOpen;
11236
+ }
11237
+ else {
11196
11238
  switch (mode) {
11197
11239
  case SideNavDisplayMode.MOBILE:
11198
11240
  open = toggleOpen;
@@ -11205,9 +11247,6 @@ class DbxSidenavComponent extends AbstractTransitionWatcherDirective {
11205
11247
  break;
11206
11248
  }
11207
11249
  }
11208
- else {
11209
- open = toggleOpen;
11210
- }
11211
11250
  if (open != null) {
11212
11251
  if (open) {
11213
11252
  void this.sidenav().open();
@@ -11512,14 +11551,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
11512
11551
  /**
11513
11552
  * Provides a {@link DbxRouterWebProviderConfig} that configures the application to use Angular Router for rendering segue-ref anchor links.
11514
11553
  *
11554
+ * @returns Environment providers that configure the Angular Router-based segue anchor component.
11555
+ *
11515
11556
  * @example
11516
11557
  * ```typescript
11517
11558
  * bootstrapApplication(AppComponent, {
11518
11559
  * providers: [provideDbxRouterWebAngularRouterProviderConfig()]
11519
11560
  * });
11520
11561
  * ```
11521
- *
11522
- * @returns environment providers that configure the Angular Router-based segue anchor component
11523
11562
  */
11524
11563
  function provideDbxRouterWebAngularRouterProviderConfig() {
11525
11564
  const config = {
@@ -11565,14 +11604,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
11565
11604
  /**
11566
11605
  * Provides a {@link DbxRouterWebProviderConfig} that configures the application to use UIRouter for rendering segue-ref anchor links.
11567
11606
  *
11607
+ * @returns Environment providers that configure the UIRouter-based segue anchor component.
11608
+ *
11568
11609
  * @example
11569
11610
  * ```typescript
11570
11611
  * bootstrapApplication(AppComponent, {
11571
11612
  * providers: [provideDbxRouterWebUiRouterProviderConfig()]
11572
11613
  * });
11573
11614
  * ```
11574
- *
11575
- * @returns environment providers that configure the UIRouter-based segue anchor component
11576
11615
  */
11577
11616
  function provideDbxRouterWebUiRouterProviderConfig() {
11578
11617
  const config = {
@@ -11814,8 +11853,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
11814
11853
  class DbxContentBorderDirective {
11815
11854
  color = input('default', ...(ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []));
11816
11855
  borderOpacity = input('lite', ...(ngDevMode ? [{ debugName: "borderOpacity" }] : /* istanbul ignore next */ []));
11817
- borderColorVar = computed(() => dbxThemeColorCssTokenVar(this.color(), true), ...(ngDevMode ? [{ debugName: "borderColorVar" }] : /* istanbul ignore next */ []));
11818
- borderOpacityValue = computed(() => {
11856
+ borderColorVarSignal = computed(() => dbxThemeColorCssTokenVar(this.color(), true), ...(ngDevMode ? [{ debugName: "borderColorVarSignal" }] : /* istanbul ignore next */ []));
11857
+ borderOpacityValueSignal = computed(() => {
11819
11858
  const color = this.color();
11820
11859
  const opacity = this.borderOpacity();
11821
11860
  let result;
@@ -11833,9 +11872,9 @@ class DbxContentBorderDirective {
11833
11872
  break;
11834
11873
  }
11835
11874
  return result;
11836
- }, ...(ngDevMode ? [{ debugName: "borderOpacityValue" }] : /* istanbul ignore next */ []));
11875
+ }, ...(ngDevMode ? [{ debugName: "borderOpacityValueSignal" }] : /* istanbul ignore next */ []));
11837
11876
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxContentBorderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
11838
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.11", type: DbxContentBorderDirective, isStandalone: true, selector: "dbx-content-border,[dbxContentBorder]", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, borderOpacity: { classPropertyName: "borderOpacity", publicName: "borderOpacity", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.--dbx-border-color": "borderColorVar()", "style.--dbx-border-opacity": "borderOpacityValue()" }, classAttribute: "d-block dbx-content-border" }, ngImport: i0 });
11877
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.11", type: DbxContentBorderDirective, isStandalone: true, selector: "dbx-content-border,[dbxContentBorder]", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, borderOpacity: { classPropertyName: "borderOpacity", publicName: "borderOpacity", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.--dbx-border-color": "borderColorVarSignal()", "style.--dbx-border-opacity": "borderOpacityValueSignal()" }, classAttribute: "d-block dbx-content-border" }, ngImport: i0 });
11839
11878
  }
11840
11879
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxContentBorderDirective, decorators: [{
11841
11880
  type: Directive,
@@ -11843,8 +11882,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
11843
11882
  selector: 'dbx-content-border,[dbxContentBorder]',
11844
11883
  host: {
11845
11884
  class: 'd-block dbx-content-border',
11846
- '[style.--dbx-border-color]': 'borderColorVar()',
11847
- '[style.--dbx-border-opacity]': 'borderOpacityValue()'
11885
+ '[style.--dbx-border-color]': 'borderColorVarSignal()',
11886
+ '[style.--dbx-border-opacity]': 'borderOpacityValueSignal()'
11848
11887
  },
11849
11888
  standalone: true
11850
11889
  }]
@@ -12322,16 +12361,17 @@ class DbxListView {
12322
12361
  /**
12323
12362
  * Registers a component as a {@link DbxListView} provider so it can be injected by parent list components.
12324
12363
  *
12325
- * @example
12326
- * ```ts
12327
- * @Component({
12364
+ * @param sourceType - The component class to register as the DbxListView provider.
12365
+ * @returns Array of Angular providers that wire up the component as a DbxListView.
12366
+ *
12367
+ * @Component ({
12328
12368
  * providers: provideDbxListView(MyCustomListViewComponent)
12329
12369
  * })
12330
12370
  * export class MyCustomListViewComponent extends DbxListView<MyItem> { ... }
12331
12371
  * ```
12332
12372
  *
12333
- * @param sourceType - the component class to register as the DbxListView provider
12334
- * @returns an array of Angular providers that wire up the component as a DbxListView
12373
+ * @example
12374
+ * ```ts
12335
12375
  */
12336
12376
  function provideDbxListView(sourceType) {
12337
12377
  // use of any here is allowed as typings are not relevant for providers
@@ -12361,9 +12401,9 @@ function dbxValueListItemDecisionFunction(decisionFunction) {
12361
12401
  * Extracts a stable tracking key from an item value by checking for `key` ({@link ModelKeyRef}),
12362
12402
  * `id` ({@link UniqueModel}), or falling back to a prefixed index string.
12363
12403
  *
12364
- * @param itemValue - The raw value to extract a key from
12365
- * @param index - The item's position index, used as fallback
12366
- * @returns A string key for tracking the item
12404
+ * @param itemValue - The raw value to extract a key from.
12405
+ * @param index - The item's position index, used as fallback.
12406
+ * @returns Key for tracking the item. (string)
12367
12407
  *
12368
12408
  * @example
12369
12409
  * ```ts
@@ -12378,9 +12418,9 @@ function dbxValueListItemKeyForItemValue(itemValue, index) {
12378
12418
  /**
12379
12419
  * Maps raw values into an observable of {@link DbxValueListItemConfig} items, applying the list view config's mapping function and attaching injection configuration.
12380
12420
  *
12381
- * @param listViewConfig The list view configuration containing the component and optional mapping function
12382
- * @param itemValues The raw values to map into configured list items
12383
- * @returns An observable emitting the mapped and configured list item configs
12421
+ * @param listViewConfig - The list view configuration containing the component and optional mapping function.
12422
+ * @param itemValues - The raw values to map into configured list items.
12423
+ * @returns An observable emitting the mapped and configured list item configs.
12384
12424
  *
12385
12425
  * @example
12386
12426
  * ```ts
@@ -12396,9 +12436,9 @@ function mapValuesToValuesListItemConfigObs(listViewConfig, itemValues) {
12396
12436
  /**
12397
12437
  * Adds injection component configuration and meta configuration to each list item, producing fully configured {@link DbxValueListItemConfig} entries ready for rendering.
12398
12438
  *
12399
- * @param listViewConfig The list view configuration providing injection component config and optional meta config
12400
- * @param listItems The list items to augment with configuration
12401
- * @returns The list items extended with injection component configuration attached
12439
+ * @param listViewConfig - The list view configuration providing injection component config and optional meta config.
12440
+ * @param listItems - The list items to augment with configuration.
12441
+ * @returns The list items extended with injection component configuration attached.
12402
12442
  */
12403
12443
  function addConfigToValueListItems(listViewConfig, listItems) {
12404
12444
  const itemConfigs = listItems.map((listItem) => {
@@ -12439,16 +12479,17 @@ class DbxValueListView {
12439
12479
  /**
12440
12480
  * Registers a component as a {@link DbxValueListView} provider for dependency injection.
12441
12481
  *
12442
- * @param sourceType The component class type to register as the list view provider
12443
- * @returns An array of Angular providers that bind the given component to {@link DbxValueListView}
12482
+ * @param sourceType - The component class type to register as the list view provider.
12483
+ * @returns Array of Angular providers that bind the given component to {@link DbxValueListView}
12444
12484
  *
12445
- * @example
12446
- * ```ts
12447
- * @Component({
12485
+ * @Component ({
12448
12486
  * providers: provideDbxValueListView(MyValueListViewComponent)
12449
12487
  * })
12450
12488
  * export class MyValueListViewComponent extends DbxValueListView<MyItem> { ... }
12451
12489
  * ```
12490
+ *
12491
+ * @example
12492
+ * ```ts
12452
12493
  */
12453
12494
  function provideDbxValueListView(sourceType) {
12454
12495
  return [
@@ -12484,8 +12525,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
12484
12525
  /**
12485
12526
  * Default grouping function that places all items into a single unnamed group.
12486
12527
  *
12487
- * @param items The flat list of configured list items to group
12488
- * @returns An array containing a single group with all input items
12528
+ * @param items - The flat list of configured list items to group.
12529
+ * @returns An array containing a single group with all input items.
12489
12530
  */
12490
12531
  const defaultDbxValueListViewGroupValuesFunction = (items) => {
12491
12532
  const data = {};
@@ -12505,7 +12546,7 @@ class DbxValueListViewGroupDelegate {
12505
12546
  /**
12506
12547
  * Creates a default {@link DbxValueListViewGroupDelegate} that places all items into a single ungrouped list.
12507
12548
  *
12508
- * @returns A group delegate that places all items into one unnamed group
12549
+ * @returns A group delegate that places all items into one unnamed group.
12509
12550
  *
12510
12551
  * @example
12511
12552
  * ```ts
@@ -12520,16 +12561,17 @@ function defaultDbxValueListViewGroupDelegate() {
12520
12561
  /**
12521
12562
  * Registers a class as a {@link DbxValueListViewGroupDelegate} provider for dependency injection.
12522
12563
  *
12523
- * @param sourceType The class type to register as the group delegate provider
12524
- * @returns An array of Angular providers that bind the given class to {@link DbxValueListViewGroupDelegate}
12564
+ * @param sourceType - The class type to register as the group delegate provider.
12565
+ * @returns Array of Angular providers that bind the given class to {@link DbxValueListViewGroupDelegate}
12525
12566
  *
12526
- * @example
12527
- * ```ts
12528
- * @Directive({
12567
+ * @Directive ({
12529
12568
  * providers: provideDbxValueListViewGroupDelegate(MyGroupDelegate)
12530
12569
  * })
12531
12570
  * export class MyGroupDelegate extends DbxValueListViewGroupDelegate<MyGroup, MyItem> { ... }
12532
12571
  * ```
12572
+ *
12573
+ * @example
12574
+ * ```ts
12533
12575
  */
12534
12576
  function provideDbxValueListViewGroupDelegate(sourceType) {
12535
12577
  // use of any here is allowed as typings are not relevant for providers
@@ -12647,9 +12689,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
12647
12689
  * Uses the item's {@link DbxValueListItem.key} when available for stable identity across
12648
12690
  * data updates, falling back to a prefixed index string to avoid collisions with key values.
12649
12691
  *
12650
- * @param index - the item's position index in the list
12651
- * @param item - the list item whose identity key is resolved
12652
- * @returns the item's key, itemValue key/id, or a prefixed index string as a fallback
12692
+ * @param index - The item's position index in the list.
12693
+ * @param item - The list item whose identity key is resolved.
12694
+ * @returns The item's key, itemValue key/id, or a prefixed index string as a fallback.
12653
12695
  */
12654
12696
  const DEFAULT_VALUE_LIST_VIEW_CONTENT_COMPONENT_TRACK_BY_FUNCTION = (index, item) => item.key;
12655
12697
  /**
@@ -12756,14 +12798,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
12756
12798
  /**
12757
12799
  * Flattens grouped accordion items into a single array of render entries with stable track IDs.
12758
12800
  *
12801
+ * @param groups - The grouped items to flatten.
12802
+ * @param trackByFn - The track-by function used to derive stable item identity.
12803
+ * @returns A flat array of render entries for use in a single `@for` loop.
12804
+ *
12759
12805
  * @example
12760
12806
  * ```ts
12761
12807
  * const entries = flattenAccordionGroups(groups, trackByFn);
12762
12808
  * ```
12763
- *
12764
- * @param groups - the grouped items to flatten
12765
- * @param trackByFn - the track-by function used to derive stable item identity
12766
- * @returns a flat array of render entries for use in a single `@for` loop
12767
12809
  */
12768
12810
  function flattenAccordionGroups(groups, trackByFn) {
12769
12811
  const entries = [];
@@ -13023,7 +13065,7 @@ class AbstractDbxListViewDirective {
13023
13065
  valuesObs = asObservable(x);
13024
13066
  }
13025
13067
  else {
13026
- valuesObs = combineLatest([this._inputValues$, this._inputValuesArray$]).pipe(switchMap(([x, y]) => (y != null ? of(y) : asObservable(x))));
13068
+ valuesObs = combineLatest([this._inputValues$, this._inputValuesArray$]).pipe(switchMap(([x, y]) => (y == null ? asObservable(x) : of(y))));
13027
13069
  }
13028
13070
  return valuesObs;
13029
13071
  }));
@@ -13322,10 +13364,10 @@ const dbxListGridViewComponentImportsAndExports = DBX_LIST_GRID_VIEW_COMPONENT_I
13322
13364
  /**
13323
13365
  * Injection token for providing a default meta icon string to {@link DbxListViewMetaIconComponent} instances.
13324
13366
  */
13325
- const DBX_LIST_VIEW_DEFAULT_META_ICON = new InjectionToken('DBX_LIST_VIEW_DEFAULT_META_ICON');
13367
+ const DEFAULT_DBX_LIST_VIEW_META_ICON = new InjectionToken('DEFAULT_DBX_LIST_VIEW_META_ICON');
13326
13368
  /**
13327
13369
  * Displays a Material icon in the meta (trailing) area of a list item. Reads its icon from the item's meta
13328
- * configuration or falls back to a default provided via {@link DBX_LIST_VIEW_DEFAULT_META_ICON}.
13370
+ * configuration or falls back to a default provided via {@link DEFAULT_DBX_LIST_VIEW_META_ICON}.
13329
13371
  *
13330
13372
  * Use the static `metaConfig()` method to create the injection component config for use in list view configurations.
13331
13373
  *
@@ -13336,14 +13378,14 @@ const DBX_LIST_VIEW_DEFAULT_META_ICON = new InjectionToken('DBX_LIST_VIEW_DEFAUL
13336
13378
  */
13337
13379
  class DbxListViewMetaIconComponent {
13338
13380
  item = inject(DBX_VALUE_LIST_VIEW_ITEM, { optional: true });
13339
- defaultIcon = inject(DBX_LIST_VIEW_DEFAULT_META_ICON, { optional: true });
13381
+ defaultIcon = inject(DEFAULT_DBX_LIST_VIEW_META_ICON, { optional: true });
13340
13382
  icon = this.item?.meta?.icon ?? this.defaultIcon;
13341
13383
  static metaConfig(defaultIcon) {
13342
13384
  return {
13343
13385
  componentClass: DbxListViewMetaIconComponent,
13344
13386
  providers: [
13345
13387
  {
13346
- provide: DBX_LIST_VIEW_DEFAULT_META_ICON,
13388
+ provide: DEFAULT_DBX_LIST_VIEW_META_ICON,
13347
13389
  useValue: defaultIcon
13348
13390
  }
13349
13391
  ]
@@ -13456,7 +13498,16 @@ class DbxListTitleGroupDirective {
13456
13498
  groupValues = (items) => {
13457
13499
  return this._delegate$.pipe(map((delegate) => {
13458
13500
  let groups;
13459
- if (delegate != null) {
13501
+ if (delegate == null) {
13502
+ groups = [
13503
+ {
13504
+ id: '_',
13505
+ data: { value: null, title: '' },
13506
+ items
13507
+ }
13508
+ ];
13509
+ }
13510
+ else {
13460
13511
  const groupsValuesMap = makeValuesGroupMap(items, delegate.groupValueForItem);
13461
13512
  const { sortGroupsByData, cssClasses: inputCssClasses } = delegate;
13462
13513
  const cssClassesForAllGroups = inputCssClasses ?? [];
@@ -13486,15 +13537,6 @@ class DbxListTitleGroupDirective {
13486
13537
  groups.sort(compareWithMappedValuesFunction((x) => x.data, sortGroupsByData));
13487
13538
  }
13488
13539
  }
13489
- else {
13490
- groups = [
13491
- {
13492
- id: '_',
13493
- data: { value: null, title: '' },
13494
- items
13495
- }
13496
- ];
13497
- }
13498
13540
  return groups;
13499
13541
  }));
13500
13542
  };
@@ -13518,10 +13560,10 @@ const DBX_LIST_ITEM_DISABLE_RIPPLE_LIST_ITEM_MODIFIER_KEY = 'disable_ripple_anch
13518
13560
  * Default decision function that disables ripple on items that already have ripple disabled,
13519
13561
  * lack an anchor, or have an anchor with no navigation target.
13520
13562
  *
13521
- * @param item - the list item to evaluate for ripple disabling
13522
- * @returns `true` if the ripple should be disabled for this item
13563
+ * @param item - The list item to evaluate for ripple disabling.
13564
+ * @returns `true` if the ripple should be disabled for this item.
13523
13565
  */
13524
- const DBX_LIST_ITEM_DEFAULT_DISABLE_FUNCTION = (item) => {
13566
+ const DEFAULT_DBX_LIST_ITEM_DISABLE_FUNCTION = (item) => {
13525
13567
  return item.rippleDisabled || !item.anchor || (!item.anchor.ref && !item.anchor.url && !item.anchor.onClick);
13526
13568
  };
13527
13569
  /**
@@ -13535,7 +13577,7 @@ const DBX_LIST_ITEM_DEFAULT_DISABLE_FUNCTION = (item) => {
13535
13577
  */
13536
13578
  class DbxListItemDisableRippleModifierDirective extends AbstractDbxValueListItemModifierDirective {
13537
13579
  disableRippleForItem = input(undefined, { ...(ngDevMode ? { debugName: "disableRippleForItem" } : /* istanbul ignore next */ {}), alias: 'dbxListItemDisableRippleModifier', transform: transformEmptyStringInputToUndefined });
13538
- disableRippleForItemModifiers$ = toObservable(this.disableRippleForItem).pipe(map((x) => x ?? DBX_LIST_ITEM_DEFAULT_DISABLE_FUNCTION), map((disableRippleForItem) => {
13580
+ disableRippleForItemModifiers$ = toObservable(this.disableRippleForItem).pipe(map((x) => x ?? DEFAULT_DBX_LIST_ITEM_DISABLE_FUNCTION), map((disableRippleForItem) => {
13539
13581
  const modifiers = {
13540
13582
  key: DBX_LIST_ITEM_DISABLE_RIPPLE_LIST_ITEM_MODIFIER_KEY,
13541
13583
  modify: (x) => {
@@ -13568,8 +13610,8 @@ const DBX_LIST_ITEM_IS_SELECTED_ITEM_MODIFIER_KEY = 'is_selected_item_modifier';
13568
13610
  /**
13569
13611
  * Default decision function that returns the item's current `selected` state (defaulting to false).
13570
13612
  *
13571
- * @param item - the list item to check for selection
13572
- * @returns `true` if the item is currently selected, `false` otherwise
13613
+ * @param item - The list item to check for selection.
13614
+ * @returns `true` if the item is currently selected, `false` otherwise.
13573
13615
  */
13574
13616
  const DEFAULT_DBX_LIST_ITEM_IS_SELECTED_FUNCTION = (item) => {
13575
13617
  return item.selected ?? false;
@@ -13709,11 +13751,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
13709
13751
  /**
13710
13752
  * Default infinite scroll distance multiplier for triggering load-more events.
13711
13753
  */
13712
- const DBX_LIST_DEFAULT_SCROLL_DISTANCE = 1.5;
13754
+ const DEFAULT_DBX_LIST_SCROLL_DISTANCE = 1.5;
13713
13755
  /**
13714
13756
  * Default throttle duration in milliseconds for scroll events.
13715
13757
  */
13716
- const DBX_LIST_DEFAULT_THROTTLE_SCROLL = 50;
13758
+ const DEFAULT_DBX_LIST_THROTTLE_SCROLL = 50;
13717
13759
  /**
13718
13760
  * Displays a potentially infinitely scrollable list of content. Supports load-more triggers, selection modes, and empty/loading states.
13719
13761
  *
@@ -13769,8 +13811,8 @@ class DbxListComponent {
13769
13811
  selectionMode$ = toObservable(this.selectionMode).pipe(distinctUntilChanged(), shareReplay(1));
13770
13812
  hideOnEmpty$ = this.config$.pipe(filterMaybe(), map((x) => Boolean(x.hideOnEmpty)), distinctUntilChanged(), shareReplay(1));
13771
13813
  invertedList$ = this.config$.pipe(filterMaybe(), map((x) => Boolean(x?.throttle)), distinctUntilChanged(), shareReplay(1));
13772
- throttleScroll$ = this.config$.pipe(map((x) => x?.throttle ?? DBX_LIST_DEFAULT_THROTTLE_SCROLL), distinctUntilChanged(), shareReplay(1));
13773
- scrollDistance$ = this.config$.pipe(map((x) => x?.scrollDistance ?? DBX_LIST_DEFAULT_SCROLL_DISTANCE), distinctUntilChanged(), shareReplay(1));
13814
+ throttleScroll$ = this.config$.pipe(map((x) => x?.throttle ?? DEFAULT_DBX_LIST_THROTTLE_SCROLL), distinctUntilChanged(), shareReplay(1));
13815
+ scrollDistance$ = this.config$.pipe(map((x) => x?.scrollDistance ?? DEFAULT_DBX_LIST_SCROLL_DISTANCE), distinctUntilChanged(), shareReplay(1));
13774
13816
  scrollLoadMoreTrigger$ = this.config$.pipe(switchMap((config) => {
13775
13817
  const loadNextDirection = config?.invertedList ? 'up' : 'down';
13776
13818
  return this._scrollTrigger.pipe(filter((x) => x === loadNextDirection));
@@ -13835,8 +13877,8 @@ class DbxListComponent {
13835
13877
  }
13836
13878
  return this.hideOnEmpty$.pipe(switchMap((hide) => (hide === false ? of(false) : this.isEmpty$)), distinctUntilChanged(), shareReplay(1));
13837
13879
  }), distinctUntilChanged(), shareReplay(1));
13838
- infiniteScrollDistanceSignal = toSignal(this.scrollDistance$, { initialValue: DBX_LIST_DEFAULT_SCROLL_DISTANCE });
13839
- infiniteScrollThrottleSignal = toSignal(this.throttleScroll$, { initialValue: DBX_LIST_DEFAULT_THROTTLE_SCROLL });
13880
+ infiniteScrollDistanceSignal = toSignal(this.scrollDistance$, { initialValue: DEFAULT_DBX_LIST_SCROLL_DISTANCE });
13881
+ infiniteScrollThrottleSignal = toSignal(this.throttleScroll$, { initialValue: DEFAULT_DBX_LIST_THROTTLE_SCROLL });
13840
13882
  hideContentSignal = toSignal(this.hideContent$);
13841
13883
  injectedComponentConfigSignal = toSignal(this.injectedComponentConfig$);
13842
13884
  isEmptyAndNotLoadingSignal = toSignal(this.isEmptyAndNotLoading$);
@@ -13847,17 +13889,18 @@ class DbxListComponent {
13847
13889
  }
13848
13890
  getScrollPositionRelativeToBottom() {
13849
13891
  const element = this.nativeElementSignal();
13892
+ let result = 0;
13850
13893
  if (element) {
13851
13894
  try {
13852
13895
  // At max scroll, scrollHeight = scrollTop + clientHeight;
13853
13896
  const { scrollTop, scrollHeight, clientHeight } = element;
13854
- return scrollHeight - (scrollTop + clientHeight);
13897
+ result = scrollHeight - (scrollTop + clientHeight);
13855
13898
  }
13856
13899
  catch {
13857
13900
  /* ignored */
13858
13901
  }
13859
13902
  }
13860
- return 0;
13903
+ return result;
13861
13904
  }
13862
13905
  jumpToBottom() {
13863
13906
  const element = this.nativeElementSignal();
@@ -13958,10 +14001,12 @@ class AbstractDbxListWrapperDirective {
13958
14001
  selectionMode = input(...(ngDevMode ? [undefined, { debugName: "selectionMode" }] : /* istanbul ignore next */ []));
13959
14002
  state = input(...(ngDevMode ? [undefined, { debugName: "state" }] : /* istanbul ignore next */ []));
13960
14003
  selectionModeSignal = computed(() => {
13961
- return this._selectionModeOverrideSignal() ?? this.selectionMode();
14004
+ const selectionMode = this.selectionMode();
14005
+ return this._selectionModeOverrideSignal() ?? selectionMode;
13962
14006
  }, ...(ngDevMode ? [{ debugName: "selectionModeSignal" }] : /* istanbul ignore next */ []));
13963
14007
  disabledSignal = computed(() => {
13964
- return this._disabledOverrideSignal() ?? this.disabled();
14008
+ const disabled = this.disabled();
14009
+ return this._disabledOverrideSignal() ?? disabled;
13965
14010
  }, ...(ngDevMode ? [{ debugName: "disabledSignal" }] : /* istanbul ignore next */ []));
13966
14011
  currentState$ = combineLatest([this._stateOverride, toObservable(this.state)]).pipe(map(([stateOverride, state]) => stateOverride ?? state), maybeValueFromObservableOrValue(), shareReplay(1));
13967
14012
  config$ = this._config.pipe(maybeValueFromObservableOrValue(), map((x) => (x ? this._buildListConfig(x) : undefined)), shareReplay(1));
@@ -14047,20 +14092,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
14047
14092
  /**
14048
14093
  * Angular {@link TrackByFunction} that tracks {@link UniqueModel} items by their `id` property.
14049
14094
  *
14050
- * @param index - the item's index in the iterable
14051
- * @param model - the model whose `id` is used as the tracking identity
14052
- * @returns the model's unique `id` value
14095
+ * @param index - The item's index in the iterable.
14096
+ * @param model - The model whose `id` is used as the tracking identity.
14097
+ * @returns The model's unique `id` value.
14053
14098
  */
14054
14099
  const TRACK_BY_MODEL_ID = (index, model) => model.id;
14055
14100
  /**
14056
14101
  * Returns a {@link TrackByFunction} that tracks items by their unique `id` property.
14057
14102
  *
14103
+ * @returns A TrackByFunction that uses the item's `id` for identity tracking.
14104
+ *
14058
14105
  * @example
14059
14106
  * ```ts
14060
14107
  * readonly trackBy = trackByUniqueIdentifier<MyModel>();
14061
14108
  * ```
14062
- *
14063
- * @returns a TrackByFunction that uses the item's `id` for identity tracking
14064
14109
  */
14065
14110
  function trackByUniqueIdentifier() {
14066
14111
  return TRACK_BY_MODEL_ID;
@@ -14068,20 +14113,20 @@ function trackByUniqueIdentifier() {
14068
14113
  /**
14069
14114
  * Angular {@link TrackByFunction} that tracks {@link ModelKeyRef} items by their `key` property.
14070
14115
  *
14071
- * @param index - the item's index in the iterable
14072
- * @param model - the model whose `key` is used as the tracking identity
14073
- * @returns the model's `key` value
14116
+ * @param index - The item's index in the iterable.
14117
+ * @param model - The model whose `key` is used as the tracking identity.
14118
+ * @returns The model's `key` value.
14074
14119
  */
14075
14120
  const TRACK_BY_MODEL_KEY = (index, model) => model.key;
14076
14121
  /**
14077
14122
  * Returns a {@link TrackByFunction} that tracks items by their model `key` property.
14078
14123
  *
14124
+ * @returns A TrackByFunction that uses the item's `key` for identity tracking.
14125
+ *
14079
14126
  * @example
14080
14127
  * ```ts
14081
14128
  * readonly trackBy = trackByModelKeyRef<MyModelRef>();
14082
14129
  * ```
14083
- *
14084
- * @returns a TrackByFunction that uses the item's `key` for identity tracking
14085
14130
  */
14086
14131
  function trackByModelKeyRef() {
14087
14132
  return TRACK_BY_MODEL_KEY;
@@ -14295,16 +14340,17 @@ class DbxListViewWrapper {
14295
14340
  /**
14296
14341
  * Registers a component as a {@link DbxListViewWrapper} provider for dependency injection.
14297
14342
  *
14298
- * @example
14299
- * ```ts
14300
- * @Component({
14343
+ * @param sourceType - The component class to register as the DbxListViewWrapper provider.
14344
+ * @returns Array of Angular providers that wire up the component as a DbxListViewWrapper.
14345
+ *
14346
+ * @Component ({
14301
14347
  * providers: provideDbxListViewWrapper(MyListWrapperComponent)
14302
14348
  * })
14303
14349
  * export class MyListWrapperComponent extends DbxListViewWrapper<MyItem> { ... }
14304
14350
  * ```
14305
14351
  *
14306
- * @param sourceType - the component class to register as the DbxListViewWrapper provider
14307
- * @returns an array of Angular providers that wire up the component as a DbxListViewWrapper
14352
+ * @example
14353
+ * ```ts
14308
14354
  */
14309
14355
  function provideDbxListViewWrapper(sourceType) {
14310
14356
  return [
@@ -14422,15 +14468,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
14422
14468
  */
14423
14469
  class DbxSectionPageComponent extends DbxSectionHeaderComponent {
14424
14470
  scroll = input('all', ...(ngDevMode ? [{ debugName: "scroll" }] : /* istanbul ignore next */ []));
14425
- classConfig = computed(() => {
14471
+ classConfigSignal = computed(() => {
14426
14472
  return `dbx-section-page-scroll-${this.scroll()}`;
14427
- }, ...(ngDevMode ? [{ debugName: "classConfig" }] : /* istanbul ignore next */ []));
14473
+ }, ...(ngDevMode ? [{ debugName: "classConfigSignal" }] : /* istanbul ignore next */ []));
14428
14474
  constructor() {
14429
14475
  super();
14430
14476
  this.hintInlineDefault.set(true);
14431
14477
  }
14432
14478
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxSectionPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
14433
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.11", type: DbxSectionPageComponent, isStandalone: true, selector: "dbx-section-page", inputs: { scroll: { classPropertyName: "scroll", publicName: "scroll", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classConfig()" }, classAttribute: "d-block dbx-content-page dbx-section-page" }, usesInheritance: true, ngImport: i0, template: `
14479
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.11", type: DbxSectionPageComponent, isStandalone: true, selector: "dbx-section-page", inputs: { scroll: { classPropertyName: "scroll", publicName: "scroll", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classConfigSignal()" }, classAttribute: "d-block dbx-content-page dbx-section-page" }, usesInheritance: true, ngImport: i0, template: `
14434
14480
  <div class="dbx-section-header" [h]="headerConfigSignal().h ?? 2" [header]="headerConfigSignal().header" [onlyHeader]="headerConfigSignal().onlyHeader" [icon]="headerConfigSignal().icon" [hint]="headerConfigSignal().hint" [hintInline]="headerConfigSignal().hintInline">
14435
14481
  <ng-content select="[sectionHeader]"></ng-content>
14436
14482
  </div>
@@ -14453,7 +14499,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
14453
14499
  `,
14454
14500
  host: {
14455
14501
  class: 'd-block dbx-content-page dbx-section-page',
14456
- '[class]': 'classConfig()'
14502
+ '[class]': 'classConfigSignal()'
14457
14503
  },
14458
14504
  standalone: true,
14459
14505
  imports: [DbxSectionHeaderComponent],
@@ -14482,7 +14528,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
14482
14528
  /**
14483
14529
  * Injection token for providing the default {@link DbxStyleConfig} to {@link DbxStyleService}.
14484
14530
  */
14485
- const DBX_STYLE_DEFAULT_CONFIG_TOKEN = new InjectionToken('DbxStyleServiceDefaultConfig');
14531
+ const DEFAULT_DBX_STYLE_CONFIG_TOKEN = new InjectionToken('DbxStyleServiceDefaultConfig');
14486
14532
  /**
14487
14533
  * Manages application-wide style classes and suffix modes (e.g., dark mode).
14488
14534
  *
@@ -14490,7 +14536,7 @@ const DBX_STYLE_DEFAULT_CONFIG_TOKEN = new InjectionToken('DbxStyleServiceDefaul
14490
14536
  * and toggle style suffixes to switch between style variants at runtime.
14491
14537
  */
14492
14538
  class DbxStyleService {
14493
- _defaultConfig = new BehaviorSubject(inject(DBX_STYLE_DEFAULT_CONFIG_TOKEN));
14539
+ _defaultConfig = new BehaviorSubject(inject(DEFAULT_DBX_STYLE_CONFIG_TOKEN));
14494
14540
  _config = new BehaviorSubject(undefined);
14495
14541
  _styleClassSuffix = new BehaviorSubject(undefined);
14496
14542
  config$ = this._config.pipe(switchMap((x) => x ?? this._defaultConfig), filterMaybe(), distinctUntilChanged(), shareReplay(1));
@@ -14499,8 +14545,8 @@ class DbxStyleService {
14499
14545
  /**
14500
14546
  * Returns the style class given the input configuration.
14501
14547
  *
14502
- * @param configObs Observable containing the configuration to use.
14503
- * @returns DbxStyleClass
14548
+ * @param configObs - Observable containing the configuration to use.
14549
+ * @returns DbxStyleClass.
14504
14550
  */
14505
14551
  getStyleClassWithConfig(configObs) {
14506
14552
  return combineLatest([configObs, this.styleClassSuffix$]).pipe(map(([config, suffix]) => {
@@ -14514,7 +14560,7 @@ class DbxStyleService {
14514
14560
  /**
14515
14561
  * Toggles the dark suffix on/off for the service.
14516
14562
  *
14517
- * @param toggle Whether to toggle the suffix on or off
14563
+ * @param toggle - Whether to toggle the suffix on or off.
14518
14564
  */
14519
14565
  toggleDarkSuffix(toggle) {
14520
14566
  this.toggleSuffix(DBX_DARK_STYLE_CLASS_SUFFIX, toggle);
@@ -14522,13 +14568,13 @@ class DbxStyleService {
14522
14568
  /**
14523
14569
  * Toggles the arbitrary suffix on/off for the service.
14524
14570
  *
14525
- * @param suffix The suffix to toggle
14526
- * @param toggle Whether to toggle the suffix on or off
14571
+ * @param suffix - The suffix to toggle.
14572
+ * @param toggle - Whether to toggle the suffix on or off.
14527
14573
  */
14528
14574
  toggleSuffix(suffix, toggle) {
14529
14575
  // clean the suffix
14530
14576
  suffix = dbxStyleClassCleanSuffix(suffix);
14531
- const toggleValue = toggle != null ? toggle : this.currentStyleClassSuffix !== suffix;
14577
+ const toggleValue = toggle == null ? this.currentStyleClassSuffix !== suffix : toggle;
14532
14578
  let suffixValue = undefined;
14533
14579
  if (toggleValue) {
14534
14580
  suffixValue = suffix;
@@ -14541,7 +14587,7 @@ class DbxStyleService {
14541
14587
  /**
14542
14588
  * Returns the current style class suffix, if one is set.
14543
14589
  *
14544
- * @returns the currently active style class suffix, or undefined if none is set
14590
+ * @returns The currently active style class suffix, or undefined if none is set.
14545
14591
  */
14546
14592
  get currentStyleClassSuffix() {
14547
14593
  return this._styleClassSuffix.value;
@@ -14549,7 +14595,7 @@ class DbxStyleService {
14549
14595
  /**
14550
14596
  * Directly sets the active style class suffix, or clears it if null/undefined.
14551
14597
  *
14552
- * @param suffix - the suffix to activate, or nullish to clear the current suffix
14598
+ * @param suffix - The suffix to activate, or nullish to clear the current suffix.
14553
14599
  */
14554
14600
  setStyleClassSuffix(suffix) {
14555
14601
  this._styleClassSuffix.next(suffix ? dbxStyleClassCleanSuffix(suffix) : undefined);
@@ -14557,7 +14603,7 @@ class DbxStyleService {
14557
14603
  /**
14558
14604
  * Updates the default style configuration used when no override config is set.
14559
14605
  *
14560
- * @param defaultConfig - the style configuration to use as the new default
14606
+ * @param defaultConfig - The style configuration to use as the new default.
14561
14607
  */
14562
14608
  setDefaultConfig(defaultConfig) {
14563
14609
  this._defaultConfig.next(defaultConfig);
@@ -14565,7 +14611,7 @@ class DbxStyleService {
14565
14611
  /**
14566
14612
  * Overrides the active style configuration with the given value or observable.
14567
14613
  *
14568
- * @param config - a style configuration value or observable to set as the active override
14614
+ * @param config - A style configuration value or observable to set as the active override.
14569
14615
  */
14570
14616
  setConfig(config) {
14571
14617
  this._config.next(asObservable(config));
@@ -14573,7 +14619,7 @@ class DbxStyleService {
14573
14619
  /**
14574
14620
  * Clears the active config override if it matches the given reference, reverting to the default config.
14575
14621
  *
14576
- * @param config - the config reference to compare against the current override
14622
+ * @param config - The config reference to compare against the current override.
14577
14623
  */
14578
14624
  unsetConfig(config) {
14579
14625
  if (this._config.value === config) {
@@ -14756,6 +14802,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
14756
14802
  /**
14757
14803
  * Provides environment-level providers for {@link DbxStyleService}, {@link DbxColorService}, and their default configurations.
14758
14804
  *
14805
+ * @param config - Configuration specifying the default style and optional color templates.
14806
+ * @returns Environment providers for the style and color services and their default config tokens.
14807
+ *
14759
14808
  * @example
14760
14809
  * ```ts
14761
14810
  * provideDbxStyleService({
@@ -14766,8 +14815,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
14766
14815
  * });
14767
14816
  * ```
14768
14817
  *
14769
- * @param config - configuration specifying the default style and optional color templates
14770
- * @returns environment providers for the style and color services and their default config tokens
14771
14818
  * @__NO_SIDE_EFFECTS__
14772
14819
  */
14773
14820
  function provideDbxStyleService(config) {
@@ -14775,7 +14822,7 @@ function provideDbxStyleService(config) {
14775
14822
  const providers = [
14776
14823
  // config
14777
14824
  {
14778
- provide: DBX_STYLE_DEFAULT_CONFIG_TOKEN,
14825
+ provide: DEFAULT_DBX_STYLE_CONFIG_TOKEN,
14779
14826
  useValue: dbxStyleConfig
14780
14827
  },
14781
14828
  // services
@@ -15170,12 +15217,30 @@ class DbxStepBlockComponent {
15170
15217
  hint = input(...(ngDevMode ? [undefined, { debugName: "hint" }] : /* istanbul ignore next */ []));
15171
15218
  color = input(...(ngDevMode ? [undefined, { debugName: "color" }] : /* istanbul ignore next */ []));
15172
15219
  center = input(...(ngDevMode ? [undefined, { debugName: "center" }] : /* istanbul ignore next */ []));
15173
- stepSignal = computed(() => this.step() ?? this.config()?.step ?? 1, ...(ngDevMode ? [{ debugName: "stepSignal" }] : /* istanbul ignore next */ []));
15174
- iconSignal = computed(() => this.icon() ?? this.config()?.icon, ...(ngDevMode ? [{ debugName: "iconSignal" }] : /* istanbul ignore next */ []));
15175
- headerSignal = computed(() => this.header() ?? this.config()?.header, ...(ngDevMode ? [{ debugName: "headerSignal" }] : /* istanbul ignore next */ []));
15176
- hintSignal = computed(() => this.hint() ?? this.config()?.hint, ...(ngDevMode ? [{ debugName: "hintSignal" }] : /* istanbul ignore next */ []));
15177
- colorSignal = computed(() => this.color() ?? this.config()?.color ?? 'primary', ...(ngDevMode ? [{ debugName: "colorSignal" }] : /* istanbul ignore next */ []));
15178
- centerSignal = computed(() => this.center() ?? this.config()?.center ?? false, ...(ngDevMode ? [{ debugName: "centerSignal" }] : /* istanbul ignore next */ []));
15220
+ stepSignal = computed(() => {
15221
+ const config = this.config();
15222
+ return this.step() ?? config?.step ?? 1;
15223
+ }, ...(ngDevMode ? [{ debugName: "stepSignal" }] : /* istanbul ignore next */ []));
15224
+ iconSignal = computed(() => {
15225
+ const config = this.config();
15226
+ return this.icon() ?? config?.icon;
15227
+ }, ...(ngDevMode ? [{ debugName: "iconSignal" }] : /* istanbul ignore next */ []));
15228
+ headerSignal = computed(() => {
15229
+ const config = this.config();
15230
+ return this.header() ?? config?.header;
15231
+ }, ...(ngDevMode ? [{ debugName: "headerSignal" }] : /* istanbul ignore next */ []));
15232
+ hintSignal = computed(() => {
15233
+ const config = this.config();
15234
+ return this.hint() ?? config?.hint;
15235
+ }, ...(ngDevMode ? [{ debugName: "hintSignal" }] : /* istanbul ignore next */ []));
15236
+ colorSignal = computed(() => {
15237
+ const config = this.config();
15238
+ return this.color() ?? config?.color ?? 'primary';
15239
+ }, ...(ngDevMode ? [{ debugName: "colorSignal" }] : /* istanbul ignore next */ []));
15240
+ centerSignal = computed(() => {
15241
+ const config = this.config();
15242
+ return this.center() ?? config?.center ?? false;
15243
+ }, ...(ngDevMode ? [{ debugName: "centerSignal" }] : /* istanbul ignore next */ []));
15179
15244
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxStepBlockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15180
15245
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: DbxStepBlockComponent, isStandalone: true, selector: "dbx-step-block", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, center: { classPropertyName: "center", publicName: "center", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.dbx-step-block-center": "centerSignal()" }, classAttribute: "dbx-step-block d-block" }, ngImport: i0, template: `
15181
15246
  <dbx-icon-tile class="dbx-step-block-badge" [icon]="iconSignal()" [dbxColor]="colorSignal()">
@@ -15291,7 +15356,7 @@ class DbxLinkifyService {
15291
15356
  /**
15292
15357
  * Registers the default entry.
15293
15358
  *
15294
- * @param entry Entry without the type field
15359
+ * @param entry - Entry without the type field.
15295
15360
  */
15296
15361
  registerDefaultEntry(entry) {
15297
15362
  this._entries.set(DEFAULT_DBX_LINKIFY_STRING_TYPE, {
@@ -15302,8 +15367,8 @@ class DbxLinkifyService {
15302
15367
  /**
15303
15368
  * Registers one or more entries by type.
15304
15369
  *
15305
- * @param entries One or more entries to register
15306
- * @param override Whether to override existing entries (default: true)
15370
+ * @param entries - One or more entries to register.
15371
+ * @param override - Whether to override existing entries (default: true)
15307
15372
  */
15308
15373
  register(entries, override = true) {
15309
15374
  useIterableOrValue(entries, (entry) => {
@@ -15316,7 +15381,7 @@ class DbxLinkifyService {
15316
15381
  /**
15317
15382
  * Returns the default entry.
15318
15383
  *
15319
- * @returns the default linkify service entry, or undefined if none is registered
15384
+ * @returns The default linkify service entry, or undefined if none is registered.
15320
15385
  */
15321
15386
  getDefaultEntry() {
15322
15387
  return this._entries.get(DEFAULT_DBX_LINKIFY_STRING_TYPE);
@@ -15324,8 +15389,8 @@ class DbxLinkifyService {
15324
15389
  /**
15325
15390
  * Returns the entry for the given type.
15326
15391
  *
15327
- * @param type - the linkify string type to look up
15328
- * @returns the registered entry for the given type, or undefined if not found
15392
+ * @param type - The linkify string type to look up.
15393
+ * @returns The registered entry for the given type, or undefined if not found.
15329
15394
  */
15330
15395
  getEntryRegisteredForType(type) {
15331
15396
  return this._entries.get(type);
@@ -15333,8 +15398,8 @@ class DbxLinkifyService {
15333
15398
  /**
15334
15399
  * Returns the entry for the given type, or the default type if there is no entry registered or the input type is null/undefined.
15335
15400
  *
15336
- * @param type - the linkify string type to look up, or nullish to retrieve the default entry
15337
- * @returns the matching entry, or the default entry if the type is not provided
15401
+ * @param type - The linkify string type to look up, or nullish to retrieve the default entry.
15402
+ * @returns The matching entry, or the default entry if the type is not provided.
15338
15403
  */
15339
15404
  getEntry(type) {
15340
15405
  return type ? this._entries.get(type) : this.getDefaultEntry();
@@ -15405,6 +15470,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
15405
15470
  /**
15406
15471
  * Creates environment-level providers for configuring {@link DbxLinkifyService} with a custom factory.
15407
15472
  *
15473
+ * @param config - Configuration containing the factory function for creating the linkify service config.
15474
+ * @returns Environment providers that register the DbxLinkifyServiceConfig.
15475
+ *
15408
15476
  * @example
15409
15477
  * ```ts
15410
15478
  * provideDbxLinkify({
@@ -15414,9 +15482,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
15414
15482
  * })
15415
15483
  * });
15416
15484
  * ```
15417
- *
15418
- * @param config - configuration containing the factory function for creating the linkify service config
15419
- * @returns environment providers that register the DbxLinkifyServiceConfig
15420
15485
  */
15421
15486
  function provideDbxLinkify(config) {
15422
15487
  const { dbxLinkifyServiceConfigFactory } = config;
@@ -15432,7 +15497,7 @@ function provideDbxLinkify(config) {
15432
15497
  /**
15433
15498
  * Default background tone percentage for tonal chip coloring.
15434
15499
  */
15435
- const DBX_CHIP_DEFAULT_TONE = 18;
15500
+ const DEFAULT_DBX_CHIP_TONE = 18;
15436
15501
  /**
15437
15502
  * Renders a styled chip element with optional small, block, and color modes.
15438
15503
  *
@@ -15467,12 +15532,15 @@ class DbxChipDirective {
15467
15532
  */
15468
15533
  display = input(...(ngDevMode ? [undefined, { debugName: "display" }] : /* istanbul ignore next */ []));
15469
15534
  /**
15470
- * Background tone level for tonal appearance. Defaults to {@link DBX_CHIP_DEFAULT_TONE}.
15535
+ * Background tone level for tonal appearance. Defaults to {@link DEFAULT_DBX_CHIP_TONE}.
15471
15536
  *
15472
15537
  * Set to `100` for fully opaque background.
15473
15538
  */
15474
15539
  tone = input(...(ngDevMode ? [undefined, { debugName: "tone" }] : /* istanbul ignore next */ []));
15475
- colorSignal = computed(() => this.color() ?? this.display()?.color, ...(ngDevMode ? [{ debugName: "colorSignal" }] : /* istanbul ignore next */ []));
15540
+ colorSignal = computed(() => {
15541
+ const display = this.display();
15542
+ return this.color() ?? display?.color;
15543
+ }, ...(ngDevMode ? [{ debugName: "colorSignal" }] : /* istanbul ignore next */ []));
15476
15544
  _configSignal = computed(() => {
15477
15545
  const value = this.colorSignal();
15478
15546
  return isDbxColorConfig(value) ? (this._colorService?.expandColorConfig(value) ?? value) : undefined;
@@ -15485,7 +15553,11 @@ class DbxChipDirective {
15485
15553
  * Inline `--dbx-color-current` value applied when a {@link DbxColorConfig} is bound. Resolves to `null` for named-color strings.
15486
15554
  */
15487
15555
  colorStyleSignal = computed(() => this._configSignal()?.contrast ?? null, ...(ngDevMode ? [{ debugName: "colorStyleSignal" }] : /* istanbul ignore next */ []));
15488
- toneSignal = computed(() => this.tone() ?? this.display()?.tone ?? this._configSignal()?.tone ?? DBX_CHIP_DEFAULT_TONE, ...(ngDevMode ? [{ debugName: "toneSignal" }] : /* istanbul ignore next */ []));
15556
+ toneSignal = computed(() => {
15557
+ const display = this.display();
15558
+ const _config = this._configSignal();
15559
+ return this.tone() ?? display?.tone ?? _config?.tone ?? DEFAULT_DBX_CHIP_TONE;
15560
+ }, ...(ngDevMode ? [{ debugName: "toneSignal" }] : /* istanbul ignore next */ []));
15489
15561
  styleSignal = computed(() => {
15490
15562
  const display = this.display();
15491
15563
  const small = this.small() ?? display?.small;
@@ -15505,9 +15577,10 @@ class DbxChipDirective {
15505
15577
  * Only applied when a color is set.
15506
15578
  */
15507
15579
  bgToneStyleSignal = computed(() => {
15580
+ const tone = this.toneSignal();
15508
15581
  const color = this.colorSignal();
15509
15582
  if (color) {
15510
- return `${this.toneSignal()}%`;
15583
+ return `${tone}%`;
15511
15584
  }
15512
15585
  return null;
15513
15586
  }, ...(ngDevMode ? [{ debugName: "bgToneStyleSignal" }] : /* istanbul ignore next */ []));
@@ -15517,8 +15590,9 @@ class DbxChipDirective {
15517
15590
  * an inline style binding (which would conflict with `[ngStyle]`).
15518
15591
  */
15519
15592
  isTonalSignal = computed(() => {
15593
+ const tone = this.toneSignal();
15520
15594
  const color = this.colorSignal();
15521
- return Boolean(color) && this.toneSignal() < 100;
15595
+ return Boolean(color) && tone < 100;
15522
15596
  }, ...(ngDevMode ? [{ debugName: "isTonalSignal" }] : /* istanbul ignore next */ []));
15523
15597
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxChipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
15524
15598
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.11", type: DbxChipDirective, isStandalone: true, selector: "dbx-chip", inputs: { small: { classPropertyName: "small", publicName: "small", isSignal: true, isRequired: false, transformFunction: null }, block: { classPropertyName: "block", publicName: "block", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, display: { classPropertyName: "display", publicName: "display", isSignal: true, isRequired: false, transformFunction: null }, tone: { classPropertyName: "tone", publicName: "tone", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "styleSignal()", "class.dbx-color-tonal": "isTonalSignal()", "style.--dbx-color-bg-tone": "bgToneStyleSignal()", "style.--dbx-bg-color-current": "bgColorStyleSignal()", "style.--dbx-color-current": "colorStyleSignal()" }, classAttribute: "dbx-chip mat-standard-chip" }, ngImport: i0 });
@@ -15606,8 +15680,8 @@ class DbxTextChipsComponent {
15606
15680
  /**
15607
15681
  * Returns the themed background CSS class for a chip's color.
15608
15682
  *
15609
- * @param chip - the chip to get the color class for
15610
- * @returns the CSS class name for the chip's background color, or empty string if no color
15683
+ * @param chip - The chip to get the color class for.
15684
+ * @returns The CSS class name for the chip's background color, or empty string if no color.
15611
15685
  */
15612
15686
  chipColorClass(chip) {
15613
15687
  return chip.color ? dbxColorBackground(chip.color) : '';
@@ -15615,8 +15689,8 @@ class DbxTextChipsComponent {
15615
15689
  /**
15616
15690
  * Returns the inline `--dbx-bg-color-current` value for a chip when its color is a {@link DbxColorConfig}; otherwise null.
15617
15691
  *
15618
- * @param chip - the chip
15619
- * @returns the background color CSS value, or null for named-color strings
15692
+ * @param chip - The chip.
15693
+ * @returns The background color CSS value, or null for named-color strings.
15620
15694
  */
15621
15695
  chipBgColorStyle(chip) {
15622
15696
  return this._expandedChipConfig(chip)?.color ?? null;
@@ -15624,8 +15698,8 @@ class DbxTextChipsComponent {
15624
15698
  /**
15625
15699
  * Returns the inline `--dbx-color-current` value for a chip when its color is a {@link DbxColorConfig}; otherwise null.
15626
15700
  *
15627
- * @param chip - the chip
15628
- * @returns the contrast color CSS value, or null for named-color strings
15701
+ * @param chip - The chip.
15702
+ * @returns The contrast color CSS value, or null for named-color strings.
15629
15703
  */
15630
15704
  chipColorStyle(chip) {
15631
15705
  return this._expandedChipConfig(chip)?.contrast ?? null;
@@ -15687,7 +15761,7 @@ class DbxNumberWithLimitComponent {
15687
15761
  }, ...(ngDevMode ? [{ debugName: "valueSignal" }] : /* istanbul ignore next */ []));
15688
15762
  limitSignal = computed(() => {
15689
15763
  const number = this.number();
15690
- return number?.limit != null ? (number?.formatNumber ? number.formatNumber(number.limit) : number?.limit) : undefined;
15764
+ return number?.limit == null ? undefined : number?.formatNumber ? number.formatNumber(number.limit) : number?.limit;
15691
15765
  }, ...(ngDevMode ? [{ debugName: "limitSignal" }] : /* istanbul ignore next */ []));
15692
15766
  hasLimitSignal = computed(() => {
15693
15767
  return this.number()?.limit != null;
@@ -15916,8 +15990,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
15916
15990
  /**
15917
15991
  * 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.
15918
15992
  *
15919
- * @param entry - The zip entry tree node to determine the icon for
15920
- * @returns The Material icon name: "folder", "note", or "question_mark"
15993
+ * @param entry - The zip entry tree node to determine the icon for.
15994
+ * @returns The Material icon name: "folder", "note", or "question_mark".
15921
15995
  *
15922
15996
  * @example
15923
15997
  * ```typescript
@@ -16068,11 +16142,11 @@ class DbxZipBlobPreviewComponent {
16068
16142
  * If not defined, then the file cannot be downloaded directly.
16069
16143
  */
16070
16144
  downloadFileName = input(...(ngDevMode ? [undefined, { debugName: "downloadFileName" }] : /* istanbul ignore next */ []));
16071
- hasBlob = computed(() => !!this.blob(), ...(ngDevMode ? [{ debugName: "hasBlob" }] : /* istanbul ignore next */ []));
16072
- zipReader = computed(() => {
16145
+ hasBlobSignal = computed(() => !!this.blob(), ...(ngDevMode ? [{ debugName: "hasBlobSignal" }] : /* istanbul ignore next */ []));
16146
+ zipReaderSignal = computed(() => {
16073
16147
  const blob = this.blob();
16074
16148
  return blob ? new ZipReader(new BlobReader(blob)) : undefined;
16075
- }, ...(ngDevMode ? [{ debugName: "zipReader" }] : /* istanbul ignore next */ []));
16149
+ }, ...(ngDevMode ? [{ debugName: "zipReaderSignal" }] : /* istanbul ignore next */ []));
16076
16150
  downloadZipFileBlobButtonConfigSignal = computed(() => {
16077
16151
  const blob = this.blob();
16078
16152
  const fileName = this.downloadFileName();
@@ -16094,7 +16168,7 @@ class DbxZipBlobPreviewComponent {
16094
16168
  }
16095
16169
  return result;
16096
16170
  }, ...(ngDevMode ? [{ debugName: "downloadZipFileBlobButtonConfigSignal" }] : /* istanbul ignore next */ []));
16097
- zipReader$ = toObservable(this.zipReader);
16171
+ zipReader$ = toObservable(this.zipReaderSignal);
16098
16172
  allEntriesLoadingState$ = loadingStateFromObs(this.zipReader$.pipe(switchMap((x) => (x ? x.getEntries() : of([])))));
16099
16173
  allEntries$ = this.allEntriesLoadingState$.pipe(valueFromFinishedLoadingState(), distinctUntilChanged(), shareReplay(1));
16100
16174
  allEntriesRoot$ = this.allEntries$.pipe(map((x) => dbxZipBlobPreviewEntryTreeFromEntries(x)), shareReplay(1));
@@ -16118,15 +16192,15 @@ class DbxZipBlobPreviewComponent {
16118
16192
  return a.sort - b.sort;
16119
16193
  }
16120
16194
  };
16121
- mode = computed(() => {
16195
+ modeSignal = computed(() => {
16122
16196
  const selectedNode = this.selectedNodeSignal();
16123
16197
  let mode = 'view_directory';
16124
16198
  if (selectedNode && !selectedNode.value.value.directory) {
16125
16199
  mode = 'view_entry';
16126
16200
  }
16127
16201
  return mode;
16128
- }, ...(ngDevMode ? [{ debugName: "mode" }] : /* istanbul ignore next */ []));
16129
- listEntries = computed(() => {
16202
+ }, ...(ngDevMode ? [{ debugName: "modeSignal" }] : /* istanbul ignore next */ []));
16203
+ listEntriesSignal = computed(() => {
16130
16204
  const allEntries = this.allEntriesRootSignal();
16131
16205
  const selectedNode = this.selectedNodeSignal();
16132
16206
  let entries;
@@ -16142,8 +16216,8 @@ class DbxZipBlobPreviewComponent {
16142
16216
  entries = allEntries?.children;
16143
16217
  }
16144
16218
  return entries ?? [];
16145
- }, ...(ngDevMode ? [{ debugName: "listEntries" }] : /* istanbul ignore next */ []));
16146
- listEntries$ = toObservable(this.listEntries);
16219
+ }, ...(ngDevMode ? [{ debugName: "listEntriesSignal" }] : /* istanbul ignore next */ []));
16220
+ listEntries$ = toObservable(this.listEntriesSignal);
16147
16221
  listEntriesState$ = loadingStateFromObs(this.listEntries$);
16148
16222
  selectedNodeIconSignal = computed(() => {
16149
16223
  const selectedNode = this.selectedNodeSignal();
@@ -16188,11 +16262,11 @@ class DbxZipBlobPreviewComponent {
16188
16262
  this.selectedNodeSignal.set(selectedNode?.parent);
16189
16263
  };
16190
16264
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxZipBlobPreviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16191
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: DbxZipBlobPreviewComponent, isStandalone: true, selector: "dbx-zip-blob-preview", inputs: { blob: { classPropertyName: "blob", publicName: "blob", isSignal: true, isRequired: false, transformFunction: null }, downloadFileName: { classPropertyName: "downloadFileName", publicName: "downloadFileName", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<dbx-loading [context]=\"context\">\n <div class=\"dbx-flex-bar dbx-zip-blob-preview-toolbar\">\n <dbx-button [disabled]=\"!selectedNodeSignal()\" icon=\"arrow_upward\" text=\"Back\" (buttonClick)=\"backClicked()\"></dbx-button>\n <dbx-button-spacer></dbx-button-spacer>\n <dbx-button [disabled]=\"!selectedNodeSignal()\" icon=\"home\" text=\"Home\" (buttonClick)=\"homeClicked()\"></dbx-button>\n <dbx-spacer></dbx-spacer>\n @if (downloadZipFileBlobButtonConfigSignal()) {\n <dbx-download-blob-button [config]=\"downloadZipFileBlobButtonConfigSignal()\"></dbx-download-blob-button>\n }\n </div>\n <dbx-bar-header class=\"dbx-zip-blob-preview-header\" [icon]=\"selectedNodeIconSignal()\" [text]=\"selectedNodePathSignal()\"></dbx-bar-header>\n <div class=\"dbx-zip-blob-preview-content\">\n @switch (mode()) {\n @case ('view_directory') {\n <dbx-zip-preview-file-entry-list [state]=\"listEntriesState$\" [dbxListTitleGroup]=\"listTitleGroupDelegate\" [dbxListItemModifier] [dbxListItemAnchorModifier]=\"makeEntryAnchor\"></dbx-zip-preview-file-entry-list>\n }\n @case ('view_entry') {\n <dbx-embed class=\"dbx-zip-blob-preview-content-embed\" [blob]=\"selectedFileEntryBlobSignal()\"></dbx-embed>\n }\n }\n </div>\n</dbx-loading>\n", dependencies: [{ kind: "ngmodule", type: MatToolbarModule }, { kind: "directive", type: DbxButtonSpacerDirective, selector: "dbx-button-spacer,[dbxButtonSpacer]" }, { kind: "component", type: DbxButtonComponent, selector: "dbx-button", inputs: ["bar", "type", "buttonStyle", "color", "spinnerColor", "customButtonColor", "customTextColor", "customSpinnerColor", "basic", "tonal", "raised", "stroked", "flat", "iconOnly", "fab", "customContent", "allowClickPropagation", "mode"] }, { kind: "component", type: DbxBarHeaderComponent, selector: "dbx-bar-header", inputs: ["text", "icon", "color"] }, { kind: "directive", type: DbxListTitleGroupDirective, selector: "[dbxListTitleGroup]", inputs: ["dbxListTitleGroup"] }, { kind: "component", type: DbxZipPreviewEntryListComponent, selector: "dbx-zip-preview-file-entry-list" }, { kind: "component", type: DbxEmbedComponent, selector: "dbx-embed", inputs: ["embedElement", "sanitizeUrl", "srcUrl", "type", "blob"], outputs: ["embedElementChange", "sanitizeUrlChange", "srcUrlChange", "typeChange", "blobChange"] }, { kind: "component", type: DbxLoadingComponent, selector: "dbx-loading", inputs: ["padding", "show", "text", "mode", "color", "diameter", "linear", "loading", "error", "context"] }, { kind: "directive", type: DbxValueListItemModifierDirective, selector: "dbxListItemModifier,[dbxListItemModifier]", inputs: ["dbxListItemModifier"] }, { kind: "directive", type: DbxListItemAnchorModifierDirective, selector: "[dbxListItemAnchorModifier]", inputs: ["dbxListItemAnchorModifier"] }, { kind: "component", type: DbxDownloadBlobButtonComponent, selector: "dbx-download-blob-button", inputs: ["config"] }, { kind: "directive", type: DbxSpacerDirective, selector: "dbx-spacer, [dbxSpacer]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
16265
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: DbxZipBlobPreviewComponent, isStandalone: true, selector: "dbx-zip-blob-preview", inputs: { blob: { classPropertyName: "blob", publicName: "blob", isSignal: true, isRequired: false, transformFunction: null }, downloadFileName: { classPropertyName: "downloadFileName", publicName: "downloadFileName", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<dbx-loading [context]=\"context\">\n <div class=\"dbx-flex-bar dbx-zip-blob-preview-toolbar\">\n <dbx-button [disabled]=\"!selectedNodeSignal()\" icon=\"arrow_upward\" text=\"Back\" (buttonClick)=\"backClicked()\"></dbx-button>\n <dbx-button-spacer></dbx-button-spacer>\n <dbx-button [disabled]=\"!selectedNodeSignal()\" icon=\"home\" text=\"Home\" (buttonClick)=\"homeClicked()\"></dbx-button>\n <dbx-spacer></dbx-spacer>\n @if (downloadZipFileBlobButtonConfigSignal()) {\n <dbx-download-blob-button [config]=\"downloadZipFileBlobButtonConfigSignal()\"></dbx-download-blob-button>\n }\n </div>\n <dbx-bar-header class=\"dbx-zip-blob-preview-header\" [icon]=\"selectedNodeIconSignal()\" [text]=\"selectedNodePathSignal()\"></dbx-bar-header>\n <div class=\"dbx-zip-blob-preview-content\">\n @switch (modeSignal()) {\n @case ('view_directory') {\n <dbx-zip-preview-file-entry-list [state]=\"listEntriesState$\" [dbxListTitleGroup]=\"listTitleGroupDelegate\" [dbxListItemModifier] [dbxListItemAnchorModifier]=\"makeEntryAnchor\"></dbx-zip-preview-file-entry-list>\n }\n @case ('view_entry') {\n <dbx-embed class=\"dbx-zip-blob-preview-content-embed\" [blob]=\"selectedFileEntryBlobSignal()\"></dbx-embed>\n }\n }\n </div>\n</dbx-loading>\n", dependencies: [{ kind: "ngmodule", type: MatToolbarModule }, { kind: "directive", type: DbxButtonSpacerDirective, selector: "dbx-button-spacer,[dbxButtonSpacer]" }, { kind: "component", type: DbxButtonComponent, selector: "dbx-button", inputs: ["bar", "type", "buttonStyle", "color", "spinnerColor", "customButtonColor", "customTextColor", "customSpinnerColor", "basic", "tonal", "raised", "stroked", "flat", "iconOnly", "fab", "customContent", "allowClickPropagation", "mode"] }, { kind: "component", type: DbxBarHeaderComponent, selector: "dbx-bar-header", inputs: ["text", "icon", "color"] }, { kind: "directive", type: DbxListTitleGroupDirective, selector: "[dbxListTitleGroup]", inputs: ["dbxListTitleGroup"] }, { kind: "component", type: DbxZipPreviewEntryListComponent, selector: "dbx-zip-preview-file-entry-list" }, { kind: "component", type: DbxEmbedComponent, selector: "dbx-embed", inputs: ["embedElement", "sanitizeUrl", "srcUrl", "type", "blob"], outputs: ["embedElementChange", "sanitizeUrlChange", "srcUrlChange", "typeChange", "blobChange"] }, { kind: "component", type: DbxLoadingComponent, selector: "dbx-loading", inputs: ["padding", "show", "text", "mode", "color", "diameter", "linear", "loading", "error", "context"] }, { kind: "directive", type: DbxValueListItemModifierDirective, selector: "dbxListItemModifier,[dbxListItemModifier]", inputs: ["dbxListItemModifier"] }, { kind: "directive", type: DbxListItemAnchorModifierDirective, selector: "[dbxListItemAnchorModifier]", inputs: ["dbxListItemAnchorModifier"] }, { kind: "component", type: DbxDownloadBlobButtonComponent, selector: "dbx-download-blob-button", inputs: ["config"] }, { kind: "directive", type: DbxSpacerDirective, selector: "dbx-spacer, [dbxSpacer]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
16192
16266
  }
16193
16267
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxZipBlobPreviewComponent, decorators: [{
16194
16268
  type: Component,
16195
- args: [{ selector: 'dbx-zip-blob-preview', standalone: true, imports: [MatToolbarModule, DbxButtonSpacerDirective, DbxButtonComponent, DbxBarHeaderComponent, DbxListTitleGroupDirective, DbxZipPreviewEntryListComponent, DbxEmbedComponent, DbxLoadingComponent, DbxValueListItemModifierDirective, DbxListItemAnchorModifierDirective, DbxListTitleGroupDirective, DbxDownloadBlobButtonComponent, DbxSpacerDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<dbx-loading [context]=\"context\">\n <div class=\"dbx-flex-bar dbx-zip-blob-preview-toolbar\">\n <dbx-button [disabled]=\"!selectedNodeSignal()\" icon=\"arrow_upward\" text=\"Back\" (buttonClick)=\"backClicked()\"></dbx-button>\n <dbx-button-spacer></dbx-button-spacer>\n <dbx-button [disabled]=\"!selectedNodeSignal()\" icon=\"home\" text=\"Home\" (buttonClick)=\"homeClicked()\"></dbx-button>\n <dbx-spacer></dbx-spacer>\n @if (downloadZipFileBlobButtonConfigSignal()) {\n <dbx-download-blob-button [config]=\"downloadZipFileBlobButtonConfigSignal()\"></dbx-download-blob-button>\n }\n </div>\n <dbx-bar-header class=\"dbx-zip-blob-preview-header\" [icon]=\"selectedNodeIconSignal()\" [text]=\"selectedNodePathSignal()\"></dbx-bar-header>\n <div class=\"dbx-zip-blob-preview-content\">\n @switch (mode()) {\n @case ('view_directory') {\n <dbx-zip-preview-file-entry-list [state]=\"listEntriesState$\" [dbxListTitleGroup]=\"listTitleGroupDelegate\" [dbxListItemModifier] [dbxListItemAnchorModifier]=\"makeEntryAnchor\"></dbx-zip-preview-file-entry-list>\n }\n @case ('view_entry') {\n <dbx-embed class=\"dbx-zip-blob-preview-content-embed\" [blob]=\"selectedFileEntryBlobSignal()\"></dbx-embed>\n }\n }\n </div>\n</dbx-loading>\n" }]
16269
+ args: [{ selector: 'dbx-zip-blob-preview', standalone: true, imports: [MatToolbarModule, DbxButtonSpacerDirective, DbxButtonComponent, DbxBarHeaderComponent, DbxListTitleGroupDirective, DbxZipPreviewEntryListComponent, DbxEmbedComponent, DbxLoadingComponent, DbxValueListItemModifierDirective, DbxListItemAnchorModifierDirective, DbxListTitleGroupDirective, DbxDownloadBlobButtonComponent, DbxSpacerDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<dbx-loading [context]=\"context\">\n <div class=\"dbx-flex-bar dbx-zip-blob-preview-toolbar\">\n <dbx-button [disabled]=\"!selectedNodeSignal()\" icon=\"arrow_upward\" text=\"Back\" (buttonClick)=\"backClicked()\"></dbx-button>\n <dbx-button-spacer></dbx-button-spacer>\n <dbx-button [disabled]=\"!selectedNodeSignal()\" icon=\"home\" text=\"Home\" (buttonClick)=\"homeClicked()\"></dbx-button>\n <dbx-spacer></dbx-spacer>\n @if (downloadZipFileBlobButtonConfigSignal()) {\n <dbx-download-blob-button [config]=\"downloadZipFileBlobButtonConfigSignal()\"></dbx-download-blob-button>\n }\n </div>\n <dbx-bar-header class=\"dbx-zip-blob-preview-header\" [icon]=\"selectedNodeIconSignal()\" [text]=\"selectedNodePathSignal()\"></dbx-bar-header>\n <div class=\"dbx-zip-blob-preview-content\">\n @switch (modeSignal()) {\n @case ('view_directory') {\n <dbx-zip-preview-file-entry-list [state]=\"listEntriesState$\" [dbxListTitleGroup]=\"listTitleGroupDelegate\" [dbxListItemModifier] [dbxListItemAnchorModifier]=\"makeEntryAnchor\"></dbx-zip-preview-file-entry-list>\n }\n @case ('view_entry') {\n <dbx-embed class=\"dbx-zip-blob-preview-content-embed\" [blob]=\"selectedFileEntryBlobSignal()\"></dbx-embed>\n }\n }\n </div>\n</dbx-loading>\n" }]
16196
16270
  }], propDecorators: { blob: [{ type: i0.Input, args: [{ isSignal: true, alias: "blob", required: false }] }], downloadFileName: [{ type: i0.Input, args: [{ isSignal: true, alias: "downloadFileName", required: false }] }] } });
16197
16271
 
16198
16272
  /**
@@ -16262,8 +16336,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
16262
16336
  /**
16263
16337
  * Opens a dialog with DbxZipPreviewComponent.
16264
16338
  *
16265
- * @param matDialog The MatDialog instance to use.
16266
- * @param config The configuration for the dialog.
16339
+ * @param matDialog - The MatDialog instance to use.
16340
+ * @param config - The configuration for the dialog.
16267
16341
  * @returns The MatDialogRef for the dialog.
16268
16342
  */
16269
16343
  function openZipPreviewDialog(matDialog, config) {
@@ -16292,8 +16366,8 @@ function openZipPreviewDialog(matDialog, config) {
16292
16366
  /**
16293
16367
  * Preview component function preset that renders zip files using {@link DbxZipPreviewComponent}.
16294
16368
  *
16295
- * @param input - The preview input containing the source URL and MIME type of the zip file
16296
- * @returns An injection component config that initializes a {@link DbxZipPreviewComponent} with the given source URL
16369
+ * @param input - The preview input containing the source URL and MIME type of the zip file.
16370
+ * @returns An injection component config that initializes a {@link DbxZipPreviewComponent} with the given source URL.
16297
16371
  */
16298
16372
  const DBX_WEB_FILE_PREVIEW_SERVICE_ZIP_COMPONENT_PRESET = (input) => {
16299
16373
  const { srcUrl } = input;
@@ -16470,12 +16544,13 @@ class DbxWebPageTitleService {
16470
16544
  */
16471
16545
  leafReference$ = this._references.pipe(switchMap((set) => {
16472
16546
  const refs = [...set];
16473
- if (refs.length === 0)
16474
- return of(undefined);
16475
- return combineLatest(refs.map((ref) => ref.isLeaf$.pipe(map((isLeaf) => ({ ref, isLeaf }))))).pipe(map((items) => items
16476
- .filter((x) => x.isLeaf)
16477
- .map((x) => x.ref)
16478
- .at(-1)));
16547
+ const obs = refs.length === 0
16548
+ ? of(undefined)
16549
+ : combineLatest(refs.map((ref) => ref.isLeaf$.pipe(map((isLeaf) => ({ ref, isLeaf }))))).pipe(map((items) => items
16550
+ .filter((x) => x.isLeaf)
16551
+ .map((x) => x.ref)
16552
+ .at(-1)));
16553
+ return obs;
16479
16554
  }), distinctUntilChanged(), shareReplay(1));
16480
16555
  /**
16481
16556
  * The directive-supplied chain (root → leaf) for the active leaf. Empty when there is no active leaf. Excludes the service-level rootConfig (delivered separately to the delegate).
@@ -16590,9 +16665,9 @@ class DbxWebPageTitleInfoDirective {
16590
16665
  });
16591
16666
  }
16592
16667
  /**
16593
- * @internal Maintained by descendant directives to keep `isLeaf$` accurate.
16594
- *
16595
16668
  * @param child - The descendant directive to register as a child.
16669
+ *
16670
+ * @internal Maintained by descendant directives to keep `isLeaf$` accurate.
16596
16671
  */
16597
16672
  _addChild(child) {
16598
16673
  const next = new Set(this._children.value);
@@ -16600,9 +16675,9 @@ class DbxWebPageTitleInfoDirective {
16600
16675
  this._children.next(next);
16601
16676
  }
16602
16677
  /**
16603
- * @internal
16604
- *
16605
16678
  * @param child - The descendant directive to unregister.
16679
+ *
16680
+ * @internal
16606
16681
  */
16607
16682
  _removeChild(child) {
16608
16683
  const next = new Set(this._children.value);
@@ -16655,16 +16730,17 @@ class DbxWidgetService {
16655
16730
  /**
16656
16731
  * Used to register an entry. If an entry with the same type is already registered, this will override it by default.
16657
16732
  *
16658
- * @param entry - The widget entry mapping a type identifier to its component class
16733
+ * @param entry - The widget entry mapping a type identifier to its component class.
16659
16734
  * @param override - Whether to replace an existing entry with the same type. Defaults to true.
16660
- * @returns True if the entry was registered, false if an entry with the same type already exists and override is false
16735
+ * @returns True if the entry was registered, false if an entry with the same type already exists and override is false.
16661
16736
  */
16662
16737
  register(entry, override = true) {
16738
+ let registered = false;
16663
16739
  if (override || !this._entries.has(entry.type)) {
16664
16740
  this._entries.set(entry.type, entry);
16665
- return true;
16741
+ registered = true;
16666
16742
  }
16667
- return false;
16743
+ return registered;
16668
16744
  }
16669
16745
  // MARK: Get
16670
16746
  getWidgetIdentifiers() {
@@ -16879,7 +16955,7 @@ class DbxHelpContextService {
16879
16955
  /**
16880
16956
  * Registers a help context reference, adding its keys to the active set.
16881
16957
  *
16882
- * @param reference - The help context reference to register
16958
+ * @param reference - The help context reference to register.
16883
16959
  */
16884
16960
  register(reference) {
16885
16961
  const referenceSet = this._contextReferences.value;
@@ -16889,7 +16965,7 @@ class DbxHelpContextService {
16889
16965
  /**
16890
16966
  * Unregisters a help context reference, removing its keys from the active set.
16891
16967
  *
16892
- * @param reference - The help context reference to unregister
16968
+ * @param reference - The help context reference to unregister.
16893
16969
  */
16894
16970
  unregister(reference) {
16895
16971
  const referenceSet = this._contextReferences.value;
@@ -16907,14 +16983,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
16907
16983
  * Registers the given help context keys observable with the {@link DbxHelpContextService}. Must be called within an Angular injection context.
16908
16984
  * Automatically unregisters on destroy, but also returns a destroy function for manual cleanup.
16909
16985
  *
16986
+ * @param helpContextKeys - Observable or static array of help context keys to register with the service.
16987
+ * @returns A destroy function that unregisters the help context keys when called.
16988
+ *
16910
16989
  * @example
16911
16990
  * ```typescript
16912
16991
  * // In a component or directive constructor
16913
16992
  * const destroy = registerHelpContextKeysWithDbxHelpContextService(of(['feature-help', 'general-help']));
16914
16993
  * ```
16915
16994
  *
16916
- * @param helpContextKeys - Observable or static array of help context keys to register with the service
16917
- * @returns A destroy function that unregisters the help context keys when called
16918
16995
  * @__NO_SIDE_EFFECTS__
16919
16996
  */
16920
16997
  function registerHelpContextKeysWithDbxHelpContextService(helpContextKeys) {
@@ -17000,7 +17077,7 @@ class DbxHelpWidgetService {
17000
17077
  /**
17001
17078
  * Returns the component class used for unrecognized help context keys.
17002
17079
  *
17003
- * @returns The default widget component class, or undefined if not set
17080
+ * @returns The default widget component class, or undefined if not set.
17004
17081
  */
17005
17082
  getDefaultWidgetComponentClass() {
17006
17083
  return this._defaultWidgetComponentClass;
@@ -17011,7 +17088,7 @@ class DbxHelpWidgetService {
17011
17088
  /**
17012
17089
  * Returns the default icon used for help entries without a specific icon.
17013
17090
  *
17014
- * @returns The default icon string, or undefined if not set
17091
+ * @returns The default icon string, or undefined if not set.
17015
17092
  */
17016
17093
  getDefaultIcon() {
17017
17094
  return this._defaultIcon;
@@ -17022,7 +17099,7 @@ class DbxHelpWidgetService {
17022
17099
  /**
17023
17100
  * Returns the component config displayed in the popover header, if set.
17024
17101
  *
17025
- * @returns The popover header component config, or undefined if not set
17102
+ * @returns The popover header component config, or undefined if not set.
17026
17103
  */
17027
17104
  getPopoverHeaderComponentConfig() {
17028
17105
  return this._popoverHeaderComponentConfig;
@@ -17033,7 +17110,7 @@ class DbxHelpWidgetService {
17033
17110
  /**
17034
17111
  * Returns the component config displayed at the top of the help list view, if set.
17035
17112
  *
17036
- * @returns The help list header component config, or undefined if not set
17113
+ * @returns The help list header component config, or undefined if not set.
17037
17114
  */
17038
17115
  getHelpListHeaderComponentConfig() {
17039
17116
  return this._helpListHeaderComponentConfig;
@@ -17044,7 +17121,7 @@ class DbxHelpWidgetService {
17044
17121
  /**
17045
17122
  * Returns the component config displayed at the bottom of the help list view, if set.
17046
17123
  *
17047
- * @returns The help list footer component config, or undefined if not set
17124
+ * @returns The help list footer component config, or undefined if not set.
17048
17125
  */
17049
17126
  getHelpListFooterComponentConfig() {
17050
17127
  return this._helpListFooterComponentConfig;
@@ -17057,9 +17134,9 @@ class DbxHelpWidgetService {
17057
17134
  *
17058
17135
  * If an entry with the same identity is already registered, this will override it by default.
17059
17136
  *
17060
- * @param entries The entries to register
17061
- * @param override Whether to override existing entries (default: true)
17062
- * @returns Always returns true after registration completes
17137
+ * @param entries - The entries to register.
17138
+ * @param override - Whether to override existing entries (default: true)
17139
+ * @returns Always returns true after registration completes.
17063
17140
  */
17064
17141
  register(entries, override = true) {
17065
17142
  const entriesArray = asArray(entries);
@@ -17074,7 +17151,7 @@ class DbxHelpWidgetService {
17074
17151
  /**
17075
17152
  * Returns all currently registered help context keys.
17076
17153
  *
17077
- * @returns Array of all registered help context keys
17154
+ * @returns Array of all registered help context keys.
17078
17155
  */
17079
17156
  getAllRegisteredHelpContextKeys() {
17080
17157
  return [...this._entries.keys()];
@@ -17082,8 +17159,8 @@ class DbxHelpWidgetService {
17082
17159
  /**
17083
17160
  * Retrieves the widget entry for a given help context key. Falls back to a default entry if a default widget component class is configured.
17084
17161
  *
17085
- * @param helpContextKey - The help context key to look up
17086
- * @returns The matching widget entry, a default entry if a default component class is configured, or undefined
17162
+ * @param helpContextKey - The help context key to look up.
17163
+ * @returns The matching widget entry, a default entry if a default component class is configured, or undefined.
17087
17164
  */
17088
17165
  getHelpWidgetEntry(helpContextKey) {
17089
17166
  return this._entries.get(helpContextKey) ?? (this._defaultWidgetComponentClass ? { helpContextKey, title: '<Missing Help Topic>', widgetComponentClass: this._defaultWidgetComponentClass } : undefined);
@@ -17091,8 +17168,8 @@ class DbxHelpWidgetService {
17091
17168
  /**
17092
17169
  * Retrieves widget entries for multiple help context keys, filtering out any unresolvable keys.
17093
17170
  *
17094
- * @param helpContextKeys - Array of help context keys to look up
17095
- * @returns Array of resolved widget entries, excluding any keys that could not be resolved
17171
+ * @param helpContextKeys - Array of help context keys to look up.
17172
+ * @returns Array of resolved widget entries, excluding any keys that could not be resolved.
17096
17173
  */
17097
17174
  getHelpWidgetEntriesForHelpContextKeys(helpContextKeys) {
17098
17175
  return helpContextKeys.map((context) => this.getHelpWidgetEntry(context)).filter((entry) => !!entry);
@@ -17100,8 +17177,8 @@ class DbxHelpWidgetService {
17100
17177
  /**
17101
17178
  * Checks whether a widget entry is registered for the given help context key.
17102
17179
  *
17103
- * @param context - The help context key to check
17104
- * @returns True if a widget entry exists for the given key
17180
+ * @param context - The help context key to check.
17181
+ * @returns True if a widget entry exists for the given key.
17105
17182
  */
17106
17183
  hasHelpWidgetEntry(context) {
17107
17184
  return this._entries.has(context);
@@ -17109,7 +17186,7 @@ class DbxHelpWidgetService {
17109
17186
  /**
17110
17187
  * Returns a cached map of help context keys to their sort priority values.
17111
17188
  *
17112
- * @returns Map of help context keys to their numeric sort priorities
17189
+ * @returns Map of help context keys to their numeric sort priorities.
17113
17190
  */
17114
17191
  getSortPriorityMap() {
17115
17192
  return this._sortPriorityMap();
@@ -17124,8 +17201,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
17124
17201
  /**
17125
17202
  * Creates EnvironmentProviders for the help context system.
17126
17203
  *
17127
- * @param config Optional configuration
17128
- * @returns EnvironmentProviders
17204
+ * @param config - Optional configuration.
17205
+ * @returns EnvironmentProviders.
17206
+ *
17129
17207
  * @__NO_SIDE_EFFECTS__
17130
17208
  */
17131
17209
  function provideDbxHelpServices(config) {
@@ -17437,7 +17515,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
17437
17515
  /**
17438
17516
  * MIME types accepted by the PDF merge editor by default: PDF documents and PNG/JPEG images.
17439
17517
  */
17440
- const PDF_MERGE_DEFAULT_ACCEPT = [PDF_MIME_TYPE, PNG_MIME_TYPE, JPEG_MIME_TYPE];
17518
+ const DEFAULT_PDF_MERGE_ACCEPT = [PDF_MIME_TYPE, PNG_MIME_TYPE, JPEG_MIME_TYPE];
17441
17519
  /**
17442
17520
  * MIME type emitted by the merged result blob.
17443
17521
  */
@@ -17696,12 +17774,16 @@ class DbxPdfMergeEditorStore extends ComponentStore {
17696
17774
  */
17697
17775
  removeEntriesBySlotId = this.updater((state, slotId) => ({ ...state, rawEntries: state.rawEntries.filter((entry) => entry.slotId !== slotId) }));
17698
17776
  moveEntry = this.updater((state, move) => {
17777
+ let nextState;
17699
17778
  if (move.previousIndex === move.currentIndex) {
17700
- return state;
17779
+ nextState = state;
17701
17780
  }
17702
- const next = [...state.rawEntries];
17703
- moveItemInArray(next, move.previousIndex, move.currentIndex);
17704
- return { ...state, rawEntries: next };
17781
+ else {
17782
+ const next = [...state.rawEntries];
17783
+ moveItemInArray(next, move.previousIndex, move.currentIndex);
17784
+ nextState = { ...state, rawEntries: next };
17785
+ }
17786
+ return nextState;
17705
17787
  });
17706
17788
  /**
17707
17789
  * Reorders entries inside a single slot. The `previousIndex`/`currentIndex` are slot-local — the indices a {@link DbxPdfMergeEditorFileUploadComponent} sees in its filtered view of {@link entries$}. The updater translates them to global `rawEntries` positions and applies an in-place {@link moveItemInArray}, leaving entries from other slots untouched.
@@ -17952,8 +18034,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
17952
18034
  /**
17953
18035
  * Opens a dialog containing a {@link DbxPdfPreviewComponent} for previewing a PDF blob or URL.
17954
18036
  *
17955
- * @param matDialog The {@link MatDialog} instance to use.
17956
- * @param config Source (blob or URL) and Material dialog options.
18037
+ * @param matDialog - The {@link MatDialog} instance to use.
18038
+ * @param config - Source (blob or URL) and Material dialog options.
17957
18039
  * @returns The {@link MatDialogRef} for the opened dialog.
17958
18040
  */
17959
18041
  function openPdfPreviewDialog(matDialog, config) {
@@ -18000,7 +18082,7 @@ class DbxPdfMergeEditorComponent {
18000
18082
  * Single-slot subscription tracker for the deferred Preview path. Replacing the slot cancels any earlier in-flight wait so rapid clicks (or repeated programmatic calls) cannot stack pending dialogs.
18001
18083
  */
18002
18084
  _pendingPreview = cleanSubscription();
18003
- accept = input(PDF_MERGE_DEFAULT_ACCEPT, ...(ngDevMode ? [{ debugName: "accept" }] : /* istanbul ignore next */ []));
18085
+ accept = input(DEFAULT_PDF_MERGE_ACCEPT, ...(ngDevMode ? [{ debugName: "accept" }] : /* istanbul ignore next */ []));
18004
18086
  multiple = input(true, ...(ngDevMode ? [{ debugName: "multiple" }] : /* istanbul ignore next */ []));
18005
18087
  fileName = input(DEFAULT_MERGED_FILE_NAME, ...(ngDevMode ? [{ debugName: "fileName" }] : /* istanbul ignore next */ []));
18006
18088
  showDownloadButton = input(false, ...(ngDevMode ? [{ debugName: "showDownloadButton" }] : /* istanbul ignore next */ []));
@@ -18024,7 +18106,10 @@ class DbxPdfMergeEditorComponent {
18024
18106
  /**
18025
18107
  * Computed gate for the Preview and Download affordances. Disabled while no entry is `ready` or while the registered validator delegate reports invalid.
18026
18108
  */
18027
- canMergeSignal = computed(() => this.hasReadyEntriesSignal() && this.isValidSignal(), ...(ngDevMode ? [{ debugName: "canMergeSignal" }] : /* istanbul ignore next */ []));
18109
+ canMergeSignal = computed(() => {
18110
+ const isValid = this.isValidSignal();
18111
+ return this.hasReadyEntriesSignal() && isValid;
18112
+ }, ...(ngDevMode ? [{ debugName: "canMergeSignal" }] : /* istanbul ignore next */ []));
18028
18113
  /**
18029
18114
  * Latest merged blob (or `undefined` while validation/merge is in flight or no entries are ready). Sourced from {@link DbxPdfMergeEditorStore.currentMergeOutput$} so the download button always reflects the current merge without needing the user to click Preview first.
18030
18115
  */
@@ -18168,7 +18253,7 @@ class DbxPdfMergeEditorFileUploadComponent {
18168
18253
  _validator = inject(DbxPdfMergeEditorFileUploadValidatorDirective, { optional: true });
18169
18254
  slotId = input.required(...(ngDevMode ? [{ debugName: "slotId" }] : /* istanbul ignore next */ []));
18170
18255
  config = input(...(ngDevMode ? [undefined, { debugName: "config" }] : /* istanbul ignore next */ []));
18171
- acceptSignal = computed(() => this.config()?.accept ?? PDF_MERGE_DEFAULT_ACCEPT, ...(ngDevMode ? [{ debugName: "acceptSignal" }] : /* istanbul ignore next */ []));
18256
+ acceptSignal = computed(() => this.config()?.accept ?? DEFAULT_PDF_MERGE_ACCEPT, ...(ngDevMode ? [{ debugName: "acceptSignal" }] : /* istanbul ignore next */ []));
18172
18257
  multipleSignal = computed(() => this.config()?.multiple ?? false, ...(ngDevMode ? [{ debugName: "multipleSignal" }] : /* istanbul ignore next */ []));
18173
18258
  modeSignal = computed(() => this.config()?.mode ?? 'default', ...(ngDevMode ? [{ debugName: "modeSignal" }] : /* istanbul ignore next */ []));
18174
18259
  labelSignal = computed(() => this.config()?.label, ...(ngDevMode ? [{ debugName: "labelSignal" }] : /* istanbul ignore next */ []));
@@ -18381,8 +18466,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
18381
18466
  /**
18382
18467
  * Creates Angular environment providers for {@link DbxScreenMediaService} and its configuration.
18383
18468
  *
18384
- * @param config - optional service configuration; uses default breakpoints if omitted
18385
- * @returns environment providers to register in the application bootstrap
18469
+ * @param config - Optional service configuration; uses default breakpoints if omitted.
18470
+ * @returns Environment providers to register in the application bootstrap.
18386
18471
  *
18387
18472
  * @example
18388
18473
  * ```ts
@@ -18390,6 +18475,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
18390
18475
  * providers: [provideDbxScreenMediaService()]
18391
18476
  * });
18392
18477
  * ```
18478
+ *
18393
18479
  * @__NO_SIDE_EFFECTS__
18394
18480
  */
18395
18481
  function provideDbxScreenMediaService(config = {}) {
@@ -18412,8 +18498,8 @@ function provideDbxScreenMediaService(config = {}) {
18412
18498
  * Useful for preventing the default context menu from appearing over dialogs or popups.
18413
18499
  *
18414
18500
  * @param classes - CSS class name of the overlay container element to target. Defaults to `'cdk-overlay-container'`.
18415
- * @param onEvent - optional callback invoked on each suppressed right-click event
18416
- * @returns a cleanup function that removes the event listener
18501
+ * @param onEvent - Optional callback invoked on each suppressed right-click event.
18502
+ * @returns A cleanup function that removes the event listener.
18417
18503
  *
18418
18504
  * @example
18419
18505
  * ```ts
@@ -18453,5 +18539,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
18453
18539
  * Generated bundle index. Do not edit.
18454
18540
  */
18455
18541
 
18456
- 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_CHIP_DEFAULT_TONE, DBX_COLOR_CUSTOM_BG_CSS_CLASS, DBX_COLOR_CUSTOM_TEXT_CSS_CLASS, DBX_DARK_STYLE_CLASS_SUFFIX, DBX_DETACH_DEFAULT_KEY, 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_PDF_MERGE_EDITOR_INITIAL_STATE, 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, DBX_WEB_PAGE_TITLE_SERVICE_CONFIG, 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_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, DbxChipListComponent, DbxClickToCopyTextComponent, DbxClickToCopyTextDirective, DbxColorDirective, DbxColorService, DbxColorServiceConfig, DbxColumnLayoutModule, DbxCompactDirective, DbxCompactLayoutModule, DbxContentBorderDirective, DbxContentBoxDirective, DbxContentContainerDirective, DbxContentDirective, DbxContentElevateDirective, DbxContentLayoutModule, DbxContentPageDirective, DbxContentPitDirective, DbxDetachContentComponent, DbxDetachControlButtonsComponent, DbxDetachController, DbxDetachControlsComponent, DbxDetachInitDirective, DbxDetachInteractionModule, DbxDetachOutletComponent, DbxDetachOverlayComponent, DbxDetachService, DbxDetachWindowState, 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, DbxIconTileComponent, DbxIconTileDirective, 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, DbxPdfMergeEditorComponent, DbxPdfMergeEditorFileUploadComponent, DbxPdfMergeEditorFileUploadHasStateDirective, DbxPdfMergeEditorFileUploadValidatorDirective, DbxPdfMergeEditorStore, DbxPdfMergeEntryComponent, DbxPdfMergeListComponent, DbxPdfPreviewComponent, 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, DbxStepBlockComponent, DbxStructureDirective, DbxStructureModule, DbxStyleBodyDirective, DbxStyleDirective, DbxStyleLayoutModule, DbxStyleService, DbxSubSectionComponent, DbxTextChipsComponent, DbxTextColorDirective, 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, DbxWebPageTitleInfoDirective, DbxWebPageTitleService, DbxWidgetListGridComponent, DbxWidgetListGridViewComponent, DbxWidgetListGridViewItemComponent, DbxWidgetService, DbxWidgetViewComponent, DbxWindowKeyDownListenerDirective, DbxZipBlobPreviewComponent, DbxZipPreviewComponent, PDF_MERGE_DEFAULT_ACCEPT, PDF_MERGE_RESULT_MIME_TYPE, PopoverPositionStrategy, PopupGlobalPositionStrategy, SCREEN_MEDIA_WIDTH_TYPE_SIZE_MAP, SIDE_NAV_DISPLAY_MODE_ORDER, SideNavDisplayMode, TRACK_BY_MODEL_ID, TRACK_BY_MODEL_KEY, TwoColumnsContextStore, UNKNOWN_ERROR_WIDGET_CODE, addConfigToValueListItems, allDbxModelViewTrackerEventModelKeys, allDbxModelViewTrackerEventSetModelKeys, buildPdfMergeEntry, catchErrorServerParams, classifyPdfMergeFile, compactModeFromInput, compareScreenMediaWidthTypes, convertServerErrorParams, convertToPOJOServerErrorResponse, convertToServerErrorResponse, copyToClipboardFunction, dbxColorBackground, dbxListAccordionViewComponentImportsAndExports, dbxListGridViewComponentImportsAndExports, dbxPresetFilterMenuButtonIconObservable, dbxPresetFilterMenuButtonTextObservable, dbxStyleClassCleanSuffix, dbxThemeColorCssToken, dbxThemeColorCssTokenVar, dbxThemeColorCssVariable, dbxThemeColorCssVariableVar, dbxValueListItemDecisionFunction, dbxValueListItemKeyForItemValue, dbxWebDefaultPageTitleDelegate, dbxZipBlobPreviewEntryTreeFromEntries, defaultDbxModelViewTrackerStorageAccessorFactory, defaultDbxValueListViewGroupDelegate, defaultDbxValueListViewGroupValuesFunction, disableRightClickInCdkBackdrop, fileAcceptFilterTypeStringArray, fileAcceptFunction, fileAcceptString, fileArrayAcceptMatchFunction, flattenAccordionGroups, index as fromDbxModel, injectCopyToClipboardFunction, injectCopyToClipboardFunctionWithSnackbarMessage, isDbxColorConfig, listItemModifier, makeDbxActionSnackbarDisplayConfigGeneratorFunction, mapCompactModeObs, mapValuesToValuesListItemConfigObs, mergePdfMergeEntries, index$1 as onDbxModel, openEmbedDialog, openIframeDialog, openPdfPreviewDialog, openZipPreviewDialog, overrideClickElementEffect, provideDbxDetachController, provideDbxFileUploadActionCompatable, provideDbxHelpServices, provideDbxLinkify, provideDbxListView, provideDbxListViewWrapper, provideDbxModelService, provideDbxProgressButtonGlobalConfig, provideDbxPromptConfirm, provideDbxRouterWebAngularRouterProviderConfig, provideDbxRouterWebUiRouterProviderConfig, provideDbxScreenMediaService, provideDbxStyleService, provideDbxValueListView, provideDbxValueListViewGroupDelegate, provideDbxValueListViewModifier, provideDbxWebFilePreviewServiceEntries, provideDbxWebPageTitleService, provideTwoColumnsContext, registerHelpContextKeysWithDbxHelpContextService, resizeSignal, resolveSideNavDisplayMode, sanitizeDbxDialogContentConfig, screenMediaWidthTypeIsActive, trackByModelKeyRef, trackByUniqueIdentifier, validatePdfMergeEntry };
18542
+ 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_COLOR_CUSTOM_BG_CSS_CLASS, DBX_COLOR_CUSTOM_TEXT_CSS_CLASS, DBX_DARK_STYLE_CLASS_SUFFIX, DBX_HELP_WIDGET_ENTRY_DATA_TOKEN, DBX_LIST_ACCORDION_VIEW_COMPONENT_IMPORTS_AND_EXPORTS, DBX_LIST_GRID_VIEW_COMPONENT_IMPORTS_AND_EXPORTS, DBX_LIST_ITEM_DISABLE_RIPPLE_LIST_ITEM_MODIFIER_KEY, DBX_LIST_ITEM_IS_SELECTED_ITEM_MODIFIER_KEY, DBX_MODEL_VIEW_TRACKER_STORAGE_ACCESSOR_TOKEN, DBX_PDF_MERGE_EDITOR_INITIAL_STATE, DBX_PROGRESS_BUTTON_GLOBAL_CONFIG, DBX_ROUTER_ANCHOR_COMPONENTS, DBX_ROUTER_VALUE_LIST_ITEM_MODIFIER_KEY, 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_ENTRIES_TOKEN, DBX_WEB_FILE_PREVIEW_SERVICE_ZIP_COMPONENT_PRESET, DBX_WEB_FILE_PREVIEW_SERVICE_ZIP_PRESET_ENTRY, DBX_WEB_PAGE_TITLE_SERVICE_CONFIG, DEFAULT_DBX_CHIP_TONE, DEFAULT_DBX_DETACH_KEY, 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_DISABLE_FUNCTION, DEFAULT_DBX_LIST_ITEM_IS_SELECTED_FUNCTION, DEFAULT_DBX_LIST_SCROLL_DISTANCE, DEFAULT_DBX_LIST_THROTTLE_SCROLL, DEFAULT_DBX_LIST_VIEW_META_ICON, DEFAULT_DBX_PROMPT_CONFIRM_DIALOG_CONFIG, DEFAULT_DBX_SELECTION_VALUE_LIST_COMPONENT_CONFIGURATION_TEMPLATE, DEFAULT_DBX_SIDENAV_MENU_ICON, DEFAULT_DBX_STYLE_CONFIG_TOKEN, DEFAULT_DBX_VALUE_LIST_COMPONENT_CONFIGURATION_TEMPLATE, DEFAULT_DBX_WEB_FILE_PREVIEW_SERVICE_DIALOG_WITH_COMPONENT_FUNCTION, DEFAULT_DBX_WEB_FILE_PREVIEW_SERVICE_PREVIEW_COMPONENT_FUNCTION, 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_PDF_MERGE_ACCEPT, 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, DbxChipListComponent, DbxClickToCopyTextComponent, DbxClickToCopyTextDirective, DbxColorDirective, DbxColorService, DbxColorServiceConfig, DbxColumnLayoutModule, DbxCompactDirective, DbxCompactLayoutModule, DbxContentBorderDirective, DbxContentBoxDirective, DbxContentContainerDirective, DbxContentDirective, DbxContentElevateDirective, DbxContentLayoutModule, DbxContentPageDirective, DbxContentPitDirective, DbxDetachContentComponent, DbxDetachControlButtonsComponent, DbxDetachController, DbxDetachControlsComponent, DbxDetachInitDirective, DbxDetachInteractionModule, DbxDetachOutletComponent, DbxDetachOverlayComponent, DbxDetachService, DbxDetachWindowState, 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, DbxIconTileComponent, DbxIconTileDirective, 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, DbxPdfMergeEditorComponent, DbxPdfMergeEditorFileUploadComponent, DbxPdfMergeEditorFileUploadHasStateDirective, DbxPdfMergeEditorFileUploadValidatorDirective, DbxPdfMergeEditorStore, DbxPdfMergeEntryComponent, DbxPdfMergeListComponent, DbxPdfPreviewComponent, 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, DbxStepBlockComponent, DbxStructureDirective, DbxStructureModule, DbxStyleBodyDirective, DbxStyleDirective, DbxStyleLayoutModule, DbxStyleService, DbxSubSectionComponent, DbxTextChipsComponent, DbxTextColorDirective, 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, DbxWebPageTitleInfoDirective, DbxWebPageTitleService, DbxWidgetListGridComponent, DbxWidgetListGridViewComponent, DbxWidgetListGridViewItemComponent, DbxWidgetService, DbxWidgetViewComponent, DbxWindowKeyDownListenerDirective, DbxZipBlobPreviewComponent, DbxZipPreviewComponent, PDF_MERGE_RESULT_MIME_TYPE, PopoverPositionStrategy, PopupGlobalPositionStrategy, SCREEN_MEDIA_WIDTH_TYPE_SIZE_MAP, SIDE_NAV_DISPLAY_MODE_ORDER, SideNavDisplayMode, TRACK_BY_MODEL_ID, TRACK_BY_MODEL_KEY, TwoColumnsContextStore, UNKNOWN_ERROR_WIDGET_CODE, addConfigToValueListItems, allDbxModelViewTrackerEventModelKeys, allDbxModelViewTrackerEventSetModelKeys, buildPdfMergeEntry, catchErrorServerParams, classifyPdfMergeFile, compactModeFromInput, compareScreenMediaWidthTypes, convertServerErrorParams, convertToPOJOServerErrorResponse, convertToServerErrorResponse, copyToClipboardFunction, dbxColorBackground, dbxListAccordionViewComponentImportsAndExports, dbxListGridViewComponentImportsAndExports, dbxPresetFilterMenuButtonIconObservable, dbxPresetFilterMenuButtonTextObservable, dbxStyleClassCleanSuffix, dbxThemeColorCssToken, dbxThemeColorCssTokenVar, dbxThemeColorCssVariable, dbxThemeColorCssVariableVar, dbxValueListItemDecisionFunction, dbxValueListItemKeyForItemValue, dbxWebDefaultPageTitleDelegate, dbxZipBlobPreviewEntryTreeFromEntries, defaultDbxModelViewTrackerStorageAccessorFactory, defaultDbxValueListViewGroupDelegate, defaultDbxValueListViewGroupValuesFunction, disableRightClickInCdkBackdrop, fileAcceptFilterTypeStringArray, fileAcceptFunction, fileAcceptString, fileArrayAcceptMatchFunction, flattenAccordionGroups, index as fromDbxModel, injectCopyToClipboardFunction, injectCopyToClipboardFunctionWithSnackbarMessage, isDbxColorConfig, listItemModifier, makeDbxActionSnackbarDisplayConfigGeneratorFunction, mapCompactModeObs, mapValuesToValuesListItemConfigObs, mergePdfMergeEntries, index$1 as onDbxModel, openEmbedDialog, openIframeDialog, openPdfPreviewDialog, openZipPreviewDialog, overrideClickElementEffect, provideDbxDetachController, provideDbxFileUploadActionCompatable, provideDbxHelpServices, provideDbxLinkify, provideDbxListView, provideDbxListViewWrapper, provideDbxModelService, provideDbxProgressButtonGlobalConfig, provideDbxPromptConfirm, provideDbxRouterWebAngularRouterProviderConfig, provideDbxRouterWebUiRouterProviderConfig, provideDbxScreenMediaService, provideDbxStyleService, provideDbxValueListView, provideDbxValueListViewGroupDelegate, provideDbxValueListViewModifier, provideDbxWebFilePreviewServiceEntries, provideDbxWebPageTitleService, provideTwoColumnsContext, registerHelpContextKeysWithDbxHelpContextService, resizeSignal, resolveSideNavDisplayMode, sanitizeDbxDialogContentConfig, screenMediaWidthTypeIsActive, trackByModelKeyRef, trackByUniqueIdentifier, validatePdfMergeEntry };
18457
18543
  //# sourceMappingURL=dereekb-dbx-web.mjs.map