@dereekb/dbx-web 12.6.12 → 12.6.14

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.
Files changed (60) hide show
  1. package/esm2022/lib/extension/download/text/download.text.component.mjs +7 -39
  2. package/esm2022/lib/extension/download/text/download.text.module.mjs +2 -2
  3. package/esm2022/lib/extension/help/absract.help.widget.directive.mjs +20 -0
  4. package/esm2022/lib/extension/help/help.context.directive.mjs +29 -0
  5. package/esm2022/lib/extension/help/help.context.mjs +24 -0
  6. package/esm2022/lib/extension/help/help.context.service.mjs +34 -0
  7. package/esm2022/lib/extension/help/help.mjs +2 -0
  8. package/esm2022/lib/extension/help/help.providers.mjs +20 -0
  9. package/esm2022/lib/extension/help/help.view.list.component.mjs +60 -0
  10. package/esm2022/lib/extension/help/help.view.list.entry.component.mjs +58 -0
  11. package/esm2022/lib/extension/help/help.view.popover.button.component.mjs +45 -0
  12. package/esm2022/lib/extension/help/help.view.popover.component.mjs +49 -0
  13. package/esm2022/lib/extension/help/help.widget.mjs +6 -0
  14. package/esm2022/lib/extension/help/help.widget.service.mjs +84 -0
  15. package/esm2022/lib/extension/help/index.mjs +13 -0
  16. package/esm2022/lib/extension/index.mjs +2 -1
  17. package/esm2022/lib/layout/content/content.pit.directive.mjs +4 -2
  18. package/esm2022/lib/layout/text/copy.text.component.mjs +39 -0
  19. package/esm2022/lib/layout/text/copy.text.directive.mjs +56 -0
  20. package/esm2022/lib/layout/text/detail.block.component.mjs +5 -3
  21. package/esm2022/lib/layout/text/index.mjs +3 -1
  22. package/esm2022/lib/layout/text/text.module.mjs +6 -4
  23. package/esm2022/lib/util/clipboard.directive.mjs +20 -0
  24. package/esm2022/lib/util/clipboard.mjs +98 -0
  25. package/esm2022/lib/util/index.mjs +3 -1
  26. package/fesm2022/dereekb-dbx-web.mjs +592 -44
  27. package/fesm2022/dereekb-dbx-web.mjs.map +1 -1
  28. package/lib/extension/_extension.scss +19 -0
  29. package/lib/extension/download/text/download.text.component.d.ts +2 -4
  30. package/lib/extension/download/text/download.text.module.d.ts +1 -1
  31. package/lib/extension/help/_help.scss +27 -0
  32. package/lib/extension/help/absract.help.widget.directive.d.ts +12 -0
  33. package/lib/extension/help/help.context.d.ts +11 -0
  34. package/lib/extension/help/help.context.directive.d.ts +17 -0
  35. package/lib/extension/help/help.context.service.d.ts +20 -0
  36. package/lib/extension/help/help.d.ts +15 -0
  37. package/lib/extension/help/help.providers.d.ts +22 -0
  38. package/lib/extension/help/help.view.list.component.d.ts +20 -0
  39. package/lib/extension/help/help.view.list.entry.component.d.ts +16 -0
  40. package/lib/extension/help/help.view.popover.button.component.d.ts +19 -0
  41. package/lib/extension/help/help.view.popover.component.d.ts +60 -0
  42. package/lib/extension/help/help.widget.d.ts +42 -0
  43. package/lib/extension/help/help.widget.service.d.ts +55 -0
  44. package/lib/extension/help/index.d.ts +12 -0
  45. package/lib/extension/index.d.ts +1 -0
  46. package/lib/layout/content/_content.scss +4 -0
  47. package/lib/layout/content/content.pit.directive.d.ts +2 -1
  48. package/lib/layout/text/_text.scss +20 -2
  49. package/lib/layout/text/copy.text.component.d.ts +17 -0
  50. package/lib/layout/text/copy.text.directive.d.ts +23 -0
  51. package/lib/layout/text/detail.block.component.d.ts +2 -1
  52. package/lib/layout/text/index.d.ts +2 -0
  53. package/lib/layout/text/text.module.d.ts +10 -8
  54. package/lib/style/_config.scss +7 -1
  55. package/lib/style/_root-variables.scss +2 -0
  56. package/lib/style/_variables.scss +3 -0
  57. package/lib/util/clipboard.d.ts +78 -0
  58. package/lib/util/clipboard.directive.d.ts +12 -0
  59. package/lib/util/index.d.ts +2 -0
  60. package/package.json +1 -1
@@ -1,11 +1,11 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Injectable, input, inject, effect, Directive, NgModule, Component, output, computed, HostListener, InjectionToken, signal, ChangeDetectionStrategy, ElementRef, Injector, DestroyRef, viewChild, makeEnvironmentProviders, TemplateRef, model, SecurityContext, forwardRef, ViewContainerRef, Optional, Inject, Renderer2, ChangeDetectorRef } from '@angular/core';
3
- import { DASH_CHARACTER_PREFIX_INSTANCE, asPromise, cssClassesSet, isDefinedAndNotFalse, spaceSeparatedCssClasses, objectHasNoKeys, getValueFromGetter, firstValue, filterUndefinedValues, separateValues, splitFront, asDecisionFunction, SLASH_PATH_FILE_TYPE_SEPARATOR, filterMaybeArrayValues, mapIterable, toReadableError, isDefaultReadableError, MS_IN_SECOND, mergeObjects, build, ServerErrorResponse, UnauthorizedServerErrorResponse, makeTimer, MS_IN_MINUTE, toggleTimerRunning, unixDateTimeSecondsNumberForNow, ModelRelationUtility, encodeModelKeyTypePair, useIterableOrValue, safeCompareEquality, asArray, slashPathDetails, mimeTypeForFileExtension, slashPathDirectoryTree, isMaybeNot, isNotFalse, modifier, combineMaps, addModifiers, removeModifiers, applyBestFit, findNext, maybeModifierMapToFunction, makeValuesGroupMap, compareWithMappedValuesFunction, invertMaybeBoolean, splitCommaSeparatedStringToSet, ZIP_FILE_MIME_TYPE } from '@dereekb/util';
3
+ import { DASH_CHARACTER_PREFIX_INSTANCE, asPromise, cssClassesSet, isDefinedAndNotFalse, spaceSeparatedCssClasses, objectHasNoKeys, getValueFromGetter, firstValue, filterUndefinedValues, separateValues, splitFront, asDecisionFunction, SLASH_PATH_FILE_TYPE_SEPARATOR, filterMaybeArrayValues, mapIterable, toReadableError, isDefaultReadableError, MS_IN_SECOND, mergeObjects, build, ServerErrorResponse, UnauthorizedServerErrorResponse, makeTimer, MS_IN_MINUTE, toggleTimerRunning, unixDateTimeSecondsNumberForNow, ModelRelationUtility, encodeModelKeyTypePair, useIterableOrValue, safeCompareEquality, addMilliseconds, isPast, asArray, slashPathDetails, mimeTypeForFileExtension, slashPathDirectoryTree, isMaybeNot, isNotFalse, modifier, combineMaps, addModifiers, removeModifiers, applyBestFit, findNext, maybeModifierMapToFunction, makeValuesGroupMap, compareWithMappedValuesFunction, invertMaybeBoolean, splitCommaSeparatedStringToSet, ZIP_FILE_MIME_TYPE } from '@dereekb/util';
4
4
  import * as i1$2 from '@dereekb/dbx-core';
5
5
  import { AbstractSubscriptionDirective, AbstractTransitionWatcherDirective, DbxInjectionComponent, AbstractDbxActionValueGetterDirective, AbstractDbxButtonDirective, provideDbxButton, dbxActionWorkProgress, DbxCoreButtonModule, AbstractDbxActionHandlerDirective, FilterSourceDirective, provideActionStoreSource, isClickableFilterPreset, AbstractDbxAnchorDirective, expandClickableAnchorLinkTrees, DbxCoreFilterModule, DbxButton, DbxActionContextStoreSourceInstance, DBX_INJECTION_COMPONENT_DATA, checkNgContentWrapperHasContent, DbxActionSourceDirective, DbxActionSuccessHandlerDirective, DbxActionDirective, DbxActionValueStreamDirective, transformEmptyStringInputToUndefined, isIdleActionState, canTriggerAction, DbxCoreActionModule, DbxActionButtonDirective, onDbxAppAuth, SimpleStorageAccessorFactory, mergeStaticProviders, asSegueRef, AbstractTransitionDirective, DbxRouterService, AbstractIfDirective, isSegueRefActive, anchorTypeForAnchor } from '@dereekb/dbx-core';
6
6
  import { NgPopoverRef, NgOverlayContainerService } from 'ng-overlay-container';
7
7
  import { of, map, BehaviorSubject, distinctUntilChanged, shareReplay, delay, switchMap, combineLatest, Subject, first, startWith, filter, throttleTime, skip, defaultIfEmpty, delayWhen, timer, asyncScheduler, from, firstValueFrom, mergeMap, race, tap, catchError, distinct, merge, exhaustMap } from 'rxjs';
8
- import { filterMaybe, asObservable, LockSet, SubscriptionObject, distinctUntilItemsHaveDifferentValues, skipAllInitialMaybe, maybeValueFromObservableOrValue, switchMapMaybeLoadingContextStream, loadingStateContext, LoadingStateType, loadingStateType, successResult, valueFromFinishedLoadingState, initialize, isNot, mapForEach, switchMapMaybe, listLoadingStateContext, isLoadingStateFinishedLoading, startWithBeginLoading, loadingStateFromObs, errorResult, beginLoading } from '@dereekb/rxjs';
8
+ import { filterMaybe, asObservable, LockSet, SubscriptionObject, distinctUntilItemsHaveDifferentValues, skipAllInitialMaybe, maybeValueFromObservableOrValue, switchMapMaybeLoadingContextStream, loadingStateContext, LoadingStateType, loadingStateType, successResult, valueFromFinishedLoadingState, initialize, isNot, mapForEach, switchMapMaybe, listLoadingStateContext, isLoadingStateFinishedLoading, startWithBeginLoading, loadingStateFromObs, errorResult, beginLoading, distinctUntilHasDifferentValues } from '@dereekb/rxjs';
9
9
  import { isBoolean } from 'class-validator';
10
10
  import { ComponentStore } from '@ngrx/component-store';
11
11
  import { toSignal, toObservable } from '@angular/core/rxjs-interop';
@@ -13,8 +13,8 @@ import { MAT_DIALOG_DATA, MatDialogRef, MatDialog } from '@angular/material/dial
13
13
  import * as i1$1 from '@angular/material/button';
14
14
  import { MatIconButton, MatButtonModule } from '@angular/material/button';
15
15
  import * as i1 from '@angular/material/icon';
16
- import { MatIconModule } from '@angular/material/icon';
17
- import { NgClass, NgTemplateOutlet, NgStyle, JsonPipe, CommonModule, DatePipe } from '@angular/common';
16
+ import { MatIconModule, MatIcon } from '@angular/material/icon';
17
+ import { NgClass, NgTemplateOutlet, NgStyle, JsonPipe, CommonModule, DatePipe, AsyncPipe } from '@angular/common';
18
18
  import { Overlay, GlobalPositionStrategy } from '@angular/cdk/overlay';
19
19
  import { MatDivider } from '@angular/material/divider';
20
20
  import { MatProgressBar } from '@angular/material/progress-bar';
@@ -51,6 +51,7 @@ import * as i1$8 from '@angular/material/chips';
51
51
  import { MatChipsModule } from '@angular/material/chips';
52
52
  import * as i2$1 from '@angular/material/tooltip';
53
53
  import { MatTooltipModule } from '@angular/material/tooltip';
54
+ import { MatExpansionPanel, MatExpansionPanelHeader, MatExpansionPanelTitle, MatExpansionPanelDescription, MatExpansionPanelContent, MatAccordion } from '@angular/material/expansion';
54
55
 
55
56
  class PopoverPositionStrategy {
56
57
  static make(overlay, elementRef, config) {
@@ -6088,12 +6089,121 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
6088
6089
  }]
6089
6090
  }] });
6090
6091
 
6092
+ /**
6093
+ * Creates a copy to clipboard function.
6094
+ *
6095
+ * @param clipboard The clipboard to use.
6096
+ * @param config Optional configuration.
6097
+ * @returns The copy to clipboard function.
6098
+ */
6099
+ function copyToClipboardFunction(clipboard, config) {
6100
+ const copyTimeoutSeconds = config?.copyTimeoutSeconds ?? 15;
6101
+ const delayBetweenCopyAttempts = config?.delayBetweenCopyAttempts ?? MS_IN_SECOND;
6102
+ const onCopyResult = config?.onCopyResult;
6103
+ const copyFunction = ((content) => {
6104
+ return new Promise((resolve, reject) => {
6105
+ const pending = clipboard.beginCopy(content);
6106
+ const copyTimeoutAt = addMilliseconds(new Date(), copyTimeoutSeconds * MS_IN_SECOND);
6107
+ const attempt = () => {
6108
+ const copyIsFinished = pending.copy();
6109
+ if (!copyIsFinished && !isPast(copyTimeoutAt)) {
6110
+ setTimeout(attempt, delayBetweenCopyAttempts);
6111
+ }
6112
+ else {
6113
+ // Destroy the pending copy
6114
+ pending.destroy();
6115
+ if (copyIsFinished) {
6116
+ resolve(true);
6117
+ onCopyResult?.(true, content);
6118
+ }
6119
+ else {
6120
+ reject(false);
6121
+ onCopyResult?.(false, content);
6122
+ }
6123
+ }
6124
+ };
6125
+ attempt();
6126
+ });
6127
+ });
6128
+ copyFunction._clipboard = clipboard;
6129
+ return copyFunction;
6130
+ }
6131
+ /**
6132
+ * Injects a copy to clipboard function.
6133
+ *
6134
+ * Must be run in an Angular injection context.
6135
+ *
6136
+ * @param config
6137
+ * @returns
6138
+ */
6139
+ function injectCopyToClipboardFunction(config) {
6140
+ return copyToClipboardFunction(inject(Clipboard), config);
6141
+ }
6142
+ /**
6143
+ * Injects a copy to clipboard function.
6144
+ *
6145
+ * Must be run in an Angular injection context.
6146
+ *
6147
+ * @param config
6148
+ * @returns
6149
+ */
6150
+ function injectCopyToClipboardFunctionWithSnackbarMessage(config) {
6151
+ // TODO: Add service for configuring global defaults for snackbar messages
6152
+ const snackbar = inject(MatSnackBar);
6153
+ const DEFAULT_SUCCESS_MESSAGE = 'Copied to clipboard';
6154
+ const DEFAULT_FAILURE_MESSAGE = 'Content failed to copy...';
6155
+ const DEFAULT_SNACKBAR_DURATION = 3 * MS_IN_SECOND;
6156
+ let snackbarMessagesEnabled = true;
6157
+ let successMessage = DEFAULT_SUCCESS_MESSAGE;
6158
+ let failureMessage = DEFAULT_FAILURE_MESSAGE;
6159
+ let snackbarDuration = DEFAULT_SNACKBAR_DURATION;
6160
+ const _setSnackbarMessagesConfig = (config) => {
6161
+ if (config != null) {
6162
+ const { successMessage: inputSuccessMessage, failureMessage: inputFailureMessage, snackbarDuration: inputSnackbarDuration } = config;
6163
+ successMessage = (inputSuccessMessage !== undefined ? inputSuccessMessage : successMessage) ?? DEFAULT_SUCCESS_MESSAGE;
6164
+ failureMessage = (inputFailureMessage !== undefined ? inputFailureMessage : failureMessage) ?? DEFAULT_FAILURE_MESSAGE;
6165
+ snackbarDuration = (inputSnackbarDuration !== undefined ? inputSnackbarDuration : snackbarDuration) ?? DEFAULT_SNACKBAR_DURATION;
6166
+ }
6167
+ };
6168
+ if (config) {
6169
+ _setSnackbarMessagesConfig(config);
6170
+ }
6171
+ const onCopyResult = (success, content) => {
6172
+ config?.onCopyResult?.(success, content);
6173
+ if (snackbarMessagesEnabled) {
6174
+ const message = success ? getValueFromGetter(successMessage, content) : getValueFromGetter(failureMessage, content);
6175
+ snackbar.open(message, undefined, { duration: snackbarDuration });
6176
+ }
6177
+ };
6178
+ const result = copyToClipboardFunction(inject(Clipboard), { ...config, onCopyResult });
6179
+ result.setSnackbarMessagesConfig = _setSnackbarMessagesConfig;
6180
+ result.setSnackbarMessagesEnabled = (enabled) => {
6181
+ snackbarMessagesEnabled = enabled;
6182
+ };
6183
+ return result;
6184
+ }
6185
+
6186
+ class AbstractDbxClipboardDirective {
6187
+ _copyToClipboard = injectCopyToClipboardFunctionWithSnackbarMessage();
6188
+ clipboardSnackbarMessagesConfig = input(undefined);
6189
+ clipboardSnackbarMessagesEnabled = input(true);
6190
+ _configEffect = effect(() => {
6191
+ this._copyToClipboard.setSnackbarMessagesConfig(this.clipboardSnackbarMessagesConfig());
6192
+ });
6193
+ _enabledEffect = effect(() => {
6194
+ this._copyToClipboard.setSnackbarMessagesEnabled(this.clipboardSnackbarMessagesEnabled());
6195
+ });
6196
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxClipboardDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6197
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: AbstractDbxClipboardDirective, inputs: { clipboardSnackbarMessagesConfig: { classPropertyName: "clipboardSnackbarMessagesConfig", publicName: "clipboardSnackbarMessagesConfig", isSignal: true, isRequired: false, transformFunction: null }, clipboardSnackbarMessagesEnabled: { classPropertyName: "clipboardSnackbarMessagesEnabled", publicName: "clipboardSnackbarMessagesEnabled", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
6198
+ }
6199
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxClipboardDirective, decorators: [{
6200
+ type: Directive
6201
+ }] });
6202
+
6091
6203
  /**
6092
6204
  * View for previewing and downloading arbitrary text content.
6093
6205
  */
6094
- class DbxDownloadTextViewComponent extends AbstractSubscriptionDirective {
6095
- _clipboard = inject(Clipboard);
6096
- _matSnackbar = inject(MatSnackBar);
6206
+ class DbxDownloadTextViewComponent extends AbstractDbxClipboardDirective {
6097
6207
  _browserObjectUrl = browserObjectUrlRef();
6098
6208
  downloadButton = viewChild('downloadButton', { read: ElementRef });
6099
6209
  loadingText = input(undefined);
@@ -6144,42 +6254,14 @@ class DbxDownloadTextViewComponent extends AbstractSubscriptionDirective {
6144
6254
  handleCopyToClipboard = () => {
6145
6255
  return this.content$.pipe(first(), switchMap((downloadTextContent) => {
6146
6256
  if (downloadTextContent) {
6147
- return new Promise((resolve, reject) => {
6148
- const pending = this._clipboard.beginCopy(downloadTextContent.content);
6149
- let secondsRemainingForCopy = 20; // attempt to copy for up to 20 seconds
6150
- const attempt = () => {
6151
- const copyIsFinished = pending.copy();
6152
- if (!copyIsFinished && --secondsRemainingForCopy) {
6153
- setTimeout(attempt, MS_IN_SECOND);
6154
- }
6155
- else {
6156
- // Remember to destroy when you're done!
6157
- pending.destroy();
6158
- if (copyIsFinished) {
6159
- resolve(true);
6160
- }
6161
- else {
6162
- reject(false);
6163
- }
6164
- }
6165
- };
6166
- attempt();
6167
- });
6257
+ return this._copyToClipboard(downloadTextContent.content);
6168
6258
  }
6169
6259
  else {
6170
6260
  return of(false);
6171
6261
  }
6172
- }), tap((success) => {
6173
- if (success) {
6174
- this._matSnackbar.open('Copied to clipboard', undefined, { duration: 3 * MS_IN_SECOND });
6175
- }
6176
- else {
6177
- this._matSnackbar.open('Content failed to copy...', undefined, { duration: 3 * MS_IN_SECOND });
6178
- }
6179
6262
  }));
6180
6263
  };
6181
6264
  ngOnDestroy() {
6182
- super.ngOnDestroy();
6183
6265
  this._browserObjectUrl.destroy();
6184
6266
  }
6185
6267
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxDownloadTextViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
@@ -6192,7 +6274,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
6192
6274
 
6193
6275
  const importsAndExports$h = [DbxDownloadTextViewComponent];
6194
6276
  /**
6195
- * @deprecated import DbxDownloadtextVie
6277
+ * @deprecated import DbxDownloadTextViewComponent directly instead.
6196
6278
  */
6197
6279
  class DbxDownloadTextModule {
6198
6280
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxDownloadTextModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -8431,6 +8513,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
8431
8513
  */
8432
8514
  class DbxContentPitDirective {
8433
8515
  scrollable = input();
8516
+ rounded = input(false);
8434
8517
  scrollableHeightSignal = computed(() => {
8435
8518
  let scrollable = this.scrollable();
8436
8519
  let scrollableHeight;
@@ -8461,7 +8544,7 @@ class DbxContentPitDirective {
8461
8544
  return scrollableHeight ?? null;
8462
8545
  });
8463
8546
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxContentPitDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
8464
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: DbxContentPitDirective, isStandalone: true, selector: "dbx-content-pit, [dbxContentPit]", inputs: { scrollable: { classPropertyName: "scrollable", publicName: "scrollable", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.dbx-content-pit-scrollable": "scrollableHeightSignal() != null", "style.max-height": "scrollableHeightSignal()" }, classAttribute: "d-block dbx-content-pit" }, ngImport: i0 });
8547
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: DbxContentPitDirective, isStandalone: true, selector: "dbx-content-pit, [dbxContentPit]", inputs: { scrollable: { classPropertyName: "scrollable", publicName: "scrollable", isSignal: true, isRequired: false, transformFunction: null }, rounded: { classPropertyName: "rounded", publicName: "rounded", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.dbx-content-pit-scrollable": "scrollableHeightSignal() != null", "class.dbx-content-pit-rounded": "rounded()", "style.max-height": "scrollableHeightSignal()" }, classAttribute: "d-block dbx-content-pit" }, ngImport: i0 });
8465
8548
  }
8466
8549
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxContentPitDirective, decorators: [{
8467
8550
  type: Directive,
@@ -8470,6 +8553,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
8470
8553
  host: {
8471
8554
  class: 'd-block dbx-content-pit',
8472
8555
  '[class.dbx-content-pit-scrollable]': 'scrollableHeightSignal() != null',
8556
+ '[class.dbx-content-pit-rounded]': 'rounded()',
8473
8557
  '[style.max-height]': 'scrollableHeightSignal()'
8474
8558
  },
8475
8559
  standalone: true
@@ -10541,8 +10625,9 @@ class DbxDetailBlockComponent {
10541
10625
  icon = input();
10542
10626
  header = input();
10543
10627
  alignHeader = input(false);
10628
+ bigHeader = input(false);
10544
10629
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxDetailBlockComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10545
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: DbxDetailBlockComponent, isStandalone: true, selector: "dbx-detail-block", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, alignHeader: { classPropertyName: "alignHeader", publicName: "alignHeader", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "dbx-detail-block d-block" }, ngImport: i0, template: `
10630
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: DbxDetailBlockComponent, isStandalone: true, selector: "dbx-detail-block", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, alignHeader: { classPropertyName: "alignHeader", publicName: "alignHeader", isSignal: true, isRequired: false, transformFunction: null }, bigHeader: { classPropertyName: "bigHeader", publicName: "bigHeader", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.dbx-detail-block-big-header": "bigHeader()" }, classAttribute: "dbx-detail-block d-block" }, ngImport: i0, template: `
10546
10631
  <dbx-detail-block-header [icon]="icon()" [header]="header()" [alignHeader]="alignHeader()">
10547
10632
  <ng-content select="[header]"></ng-content>
10548
10633
  </dbx-detail-block-header>
@@ -10564,7 +10649,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
10564
10649
  </div>
10565
10650
  `,
10566
10651
  host: {
10567
- class: 'dbx-detail-block d-block'
10652
+ class: 'dbx-detail-block d-block',
10653
+ '[class.dbx-detail-block-big-header]': 'bigHeader()'
10568
10654
  },
10569
10655
  imports: [DbxDetailBlockHeaderComponent],
10570
10656
  standalone: true,
@@ -10765,11 +10851,99 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
10765
10851
  }]
10766
10852
  }] });
10767
10853
 
10768
- const importsAndExports$2 = [DbxUnitedStatesAddressComponent, DbxNumberWithLimitComponent, DbxChipDirective, DbxDetailBlockComponent, DbxDetailBlockHeaderComponent, DbxLabelBlockComponent, DbxLinkifyComponent, DbxTextChipsComponent, DbxIconSpacerDirective];
10854
+ class DbxClickToCopyTextDirective extends AbstractDbxClipboardDirective {
10855
+ copyTextFromElement = model();
10856
+ /**
10857
+ * If the input is null, then copy from the element's text content.
10858
+ */
10859
+ copyText = input(undefined, { alias: 'dbxClickToCopyText' });
10860
+ /**
10861
+ * If true, the click events will be ignored.
10862
+ */
10863
+ disableCopy = input(false);
10864
+ /**
10865
+ * Highlight the text visually.
10866
+ */
10867
+ highlighted = input(true);
10868
+ handleClick(event) {
10869
+ const disabled = this.disableCopy();
10870
+ if (!disabled) {
10871
+ event.preventDefault();
10872
+ event.stopPropagation();
10873
+ const eventElement = event.currentTarget;
10874
+ this._copyText(eventElement);
10875
+ }
10876
+ }
10877
+ _copyText(eventElement) {
10878
+ let copyText = this.copyText();
10879
+ // If the input is null, then copy from the element's text content.
10880
+ if (copyText !== null && !copyText) {
10881
+ const element = this.copyTextFromElement()?.nativeElement;
10882
+ copyText = (element ?? eventElement)?.textContent ?? undefined;
10883
+ }
10884
+ if (copyText) {
10885
+ this._copyToClipboard(copyText);
10886
+ }
10887
+ return copyText;
10888
+ }
10889
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxClickToCopyTextDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
10890
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: DbxClickToCopyTextDirective, isStandalone: true, selector: "[dbxClickToCopyText]", inputs: { copyTextFromElement: { classPropertyName: "copyTextFromElement", publicName: "copyTextFromElement", isSignal: true, isRequired: false, transformFunction: null }, copyText: { classPropertyName: "copyText", publicName: "dbxClickToCopyText", isSignal: true, isRequired: false, transformFunction: null }, disableCopy: { classPropertyName: "disableCopy", publicName: "disableCopy", isSignal: true, isRequired: false, transformFunction: null }, highlighted: { classPropertyName: "highlighted", publicName: "highlighted", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { copyTextFromElement: "copyTextFromElementChange" }, host: { listeners: { "click": "handleClick($event)" }, properties: { "class.dbx-click-to-copy-text-highlighted": "highlighted()" }, classAttribute: "dbx-click-to-copy-text" }, usesInheritance: true, ngImport: i0 });
10891
+ }
10892
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxClickToCopyTextDirective, decorators: [{
10893
+ type: Directive,
10894
+ args: [{
10895
+ selector: '[dbxClickToCopyText]',
10896
+ host: {
10897
+ class: 'dbx-click-to-copy-text',
10898
+ '[class.dbx-click-to-copy-text-highlighted]': 'highlighted()'
10899
+ },
10900
+ standalone: true
10901
+ }]
10902
+ }], propDecorators: { handleClick: [{
10903
+ type: HostListener,
10904
+ args: ['click', ['$event']]
10905
+ }] } });
10906
+
10907
+ class DbxClickToCopyTextComponent {
10908
+ contentElementRef = viewChild('content');
10909
+ dbxClickToCopyText = viewChild(DbxClickToCopyTextDirective);
10910
+ copyText = input(undefined);
10911
+ highlighted = input(false);
10912
+ clipboardSnackbarMessagesConfig = input(undefined);
10913
+ clipboardSnackbarMessagesEnabled = input(true);
10914
+ clickToCopyIcon = input('content_copy');
10915
+ clickIconToCopyOnly = input(false);
10916
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxClickToCopyTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10917
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.13", type: DbxClickToCopyTextComponent, isStandalone: true, selector: "dbx-click-to-copy-text", inputs: { copyText: { classPropertyName: "copyText", publicName: "copyText", isSignal: true, isRequired: false, transformFunction: null }, highlighted: { classPropertyName: "highlighted", publicName: "highlighted", isSignal: true, isRequired: false, transformFunction: null }, clipboardSnackbarMessagesConfig: { classPropertyName: "clipboardSnackbarMessagesConfig", publicName: "clipboardSnackbarMessagesConfig", isSignal: true, isRequired: false, transformFunction: null }, clipboardSnackbarMessagesEnabled: { classPropertyName: "clipboardSnackbarMessagesEnabled", publicName: "clipboardSnackbarMessagesEnabled", isSignal: true, isRequired: false, transformFunction: null }, clickToCopyIcon: { classPropertyName: "clickToCopyIcon", publicName: "clickToCopyIcon", isSignal: true, isRequired: false, transformFunction: null }, clickIconToCopyOnly: { classPropertyName: "clickIconToCopyOnly", publicName: "clickIconToCopyOnly", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "dbx-click-to-copy-text-component" }, viewQueries: [{ propertyName: "contentElementRef", first: true, predicate: ["content"], descendants: true, isSignal: true }, { propertyName: "dbxClickToCopyText", first: true, predicate: DbxClickToCopyTextDirective, descendants: true, isSignal: true }], ngImport: i0, template: `
10918
+ <span #content [dbxClickToCopyText]="copyText()" [disableCopy]="clickIconToCopyOnly()" [highlighted]="highlighted()" [clipboardSnackbarMessagesEnabled]="clipboardSnackbarMessagesEnabled()" [clipboardSnackbarMessagesConfig]="clipboardSnackbarMessagesConfig()" [copyTextFromElement]="contentElementRef()">
10919
+ <ng-content></ng-content>
10920
+ </span>
10921
+ <mat-icon class="dbx-click-to-copy-text-icon" (click)="dbxClickToCopyText()?._copyText()">{{ clickToCopyIcon() }}</mat-icon>
10922
+ `, isInline: true, dependencies: [{ kind: "directive", type: DbxClickToCopyTextDirective, selector: "[dbxClickToCopyText]", inputs: ["copyTextFromElement", "dbxClickToCopyText", "disableCopy", "highlighted"], outputs: ["copyTextFromElementChange"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
10923
+ }
10924
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxClickToCopyTextComponent, decorators: [{
10925
+ type: Component,
10926
+ args: [{
10927
+ selector: 'dbx-click-to-copy-text',
10928
+ template: `
10929
+ <span #content [dbxClickToCopyText]="copyText()" [disableCopy]="clickIconToCopyOnly()" [highlighted]="highlighted()" [clipboardSnackbarMessagesEnabled]="clipboardSnackbarMessagesEnabled()" [clipboardSnackbarMessagesConfig]="clipboardSnackbarMessagesConfig()" [copyTextFromElement]="contentElementRef()">
10930
+ <ng-content></ng-content>
10931
+ </span>
10932
+ <mat-icon class="dbx-click-to-copy-text-icon" (click)="dbxClickToCopyText()?._copyText()">{{ clickToCopyIcon() }}</mat-icon>
10933
+ `,
10934
+ host: {
10935
+ class: 'dbx-click-to-copy-text-component'
10936
+ },
10937
+ imports: [DbxClickToCopyTextDirective, MatIcon],
10938
+ standalone: true
10939
+ }]
10940
+ }] });
10941
+
10942
+ const importsAndExports$2 = [DbxUnitedStatesAddressComponent, DbxNumberWithLimitComponent, DbxClickToCopyTextDirective, DbxClickToCopyTextComponent, DbxChipDirective, DbxDetailBlockComponent, DbxDetailBlockHeaderComponent, DbxLabelBlockComponent, DbxLinkifyComponent, DbxTextChipsComponent, DbxIconSpacerDirective];
10769
10943
  class DbxTextModule {
10770
10944
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxTextModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10771
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxTextModule, imports: [DbxUnitedStatesAddressComponent, DbxNumberWithLimitComponent, DbxChipDirective, DbxDetailBlockComponent, DbxDetailBlockHeaderComponent, DbxLabelBlockComponent, DbxLinkifyComponent, DbxTextChipsComponent, DbxIconSpacerDirective], exports: [DbxUnitedStatesAddressComponent, DbxNumberWithLimitComponent, DbxChipDirective, DbxDetailBlockComponent, DbxDetailBlockHeaderComponent, DbxLabelBlockComponent, DbxLinkifyComponent, DbxTextChipsComponent, DbxIconSpacerDirective] });
10772
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxTextModule, imports: [DbxDetailBlockComponent, DbxDetailBlockHeaderComponent, DbxTextChipsComponent] });
10945
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxTextModule, imports: [DbxUnitedStatesAddressComponent, DbxNumberWithLimitComponent, DbxClickToCopyTextDirective, DbxClickToCopyTextComponent, DbxChipDirective, DbxDetailBlockComponent, DbxDetailBlockHeaderComponent, DbxLabelBlockComponent, DbxLinkifyComponent, DbxTextChipsComponent, DbxIconSpacerDirective], exports: [DbxUnitedStatesAddressComponent, DbxNumberWithLimitComponent, DbxClickToCopyTextDirective, DbxClickToCopyTextComponent, DbxChipDirective, DbxDetailBlockComponent, DbxDetailBlockHeaderComponent, DbxLabelBlockComponent, DbxLinkifyComponent, DbxTextChipsComponent, DbxIconSpacerDirective] });
10946
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxTextModule, imports: [DbxClickToCopyTextComponent, DbxDetailBlockComponent, DbxDetailBlockHeaderComponent, DbxTextChipsComponent] });
10773
10947
  }
10774
10948
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxTextModule, decorators: [{
10775
10949
  type: NgModule,
@@ -11430,6 +11604,380 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
11430
11604
  }]
11431
11605
  }] });
11432
11606
 
11607
+ /**
11608
+ * Service that tracks all active help context strings in the current context.
11609
+ */
11610
+ class DbxHelpContextService {
11611
+ _contextReferences = new BehaviorSubject(new Set());
11612
+ /**
11613
+ * Observable of all currently active help context strings.
11614
+ */
11615
+ activeHelpContextStrings$ = this._contextReferences.pipe(switchMap((allReferences) => combineLatest(Array.from(allReferences).map((ref) => ref.helpContextStrings$)).pipe(map((x) => x.flat()), defaultIfEmpty([]), map((x) => new Set(x)))), distinctUntilHasDifferentValues(), shareReplay(1));
11616
+ activeHelpContextStringsArray$ = this.activeHelpContextStrings$.pipe(map((x) => Array.from(x)), shareReplay(1));
11617
+ register(reference) {
11618
+ const referenceSet = this._contextReferences.value;
11619
+ referenceSet.add(reference);
11620
+ this._contextReferences.next(referenceSet);
11621
+ }
11622
+ unregister(reference) {
11623
+ const referenceSet = this._contextReferences.value;
11624
+ referenceSet.delete(reference);
11625
+ this._contextReferences.next(referenceSet);
11626
+ }
11627
+ ngOnDestroy() {
11628
+ this._contextReferences.complete();
11629
+ }
11630
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxHelpContextService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
11631
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxHelpContextService });
11632
+ }
11633
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxHelpContextService, decorators: [{
11634
+ type: Injectable
11635
+ }] });
11636
+
11637
+ /**
11638
+ * Registers the input observable with the DbxHelpContextService.
11639
+ *
11640
+ * Must be run in an injectable context.
11641
+ *
11642
+ * Automatically cleans up, but returns a destroy function for manual cleanup.
11643
+ */
11644
+ function registerHelpContextStringsWithDbxHelpContextService(helpContextStrings) {
11645
+ const helpContextService = inject(DbxHelpContextService);
11646
+ const destroyRef = inject(DestroyRef);
11647
+ const helpContextReference = {
11648
+ helpContextStrings$: asObservable(helpContextStrings)
11649
+ };
11650
+ helpContextService.register(helpContextReference);
11651
+ function _destroy() {
11652
+ helpContextService.unregister(helpContextReference);
11653
+ }
11654
+ destroyRef.onDestroy(_destroy);
11655
+ return _destroy;
11656
+ }
11657
+
11658
+ /**
11659
+ * Directive that registers one or more help contexts to the current context.
11660
+ */
11661
+ class DbxHelpContextDirective {
11662
+ /**
11663
+ * The input help context string(s) to add.
11664
+ */
11665
+ dbxHelpContext = input.required();
11666
+ helpContextStrings$ = toObservable(this.dbxHelpContext).pipe(map(asArray));
11667
+ constructor() {
11668
+ registerHelpContextStringsWithDbxHelpContextService(this.helpContextStrings$);
11669
+ }
11670
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxHelpContextDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
11671
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: DbxHelpContextDirective, isStandalone: true, selector: "[dbxHelpContext]", inputs: { dbxHelpContext: { classPropertyName: "dbxHelpContext", publicName: "dbxHelpContext", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 });
11672
+ }
11673
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxHelpContextDirective, decorators: [{
11674
+ type: Directive,
11675
+ args: [{
11676
+ selector: '[dbxHelpContext]',
11677
+ standalone: true
11678
+ }]
11679
+ }], ctorParameters: () => [] });
11680
+
11681
+ class DbxHelpWidgetServiceConfig {
11682
+ }
11683
+ /**
11684
+ * Service used to register help widgets.
11685
+ *
11686
+ * Similar to DbxErrorWidgetService, this maintains a registry of help widgets
11687
+ * that can be displayed for specific help context strings.
11688
+ */
11689
+ class DbxHelpWidgetService {
11690
+ _entries = new Map();
11691
+ _defaultWidgetComponentClass;
11692
+ _defaultIcon;
11693
+ _popoverHeaderComponentConfig;
11694
+ constructor(initialConfig) {
11695
+ this.setDefaultWidgetComponentClass(initialConfig?.defaultWidgetComponentClass);
11696
+ this.setDefaultIcon(initialConfig?.defaultIcon !== undefined ? initialConfig?.defaultIcon : 'help');
11697
+ this.setPopoverHeaderComponentConfig(initialConfig?.popoverHeaderComponentConfig);
11698
+ if (initialConfig?.entries) {
11699
+ this.register(initialConfig.entries);
11700
+ }
11701
+ }
11702
+ getDefaultWidgetComponentClass() {
11703
+ return this._defaultWidgetComponentClass;
11704
+ }
11705
+ setDefaultWidgetComponentClass(componentClass) {
11706
+ this._defaultWidgetComponentClass = componentClass;
11707
+ }
11708
+ getDefaultIcon() {
11709
+ return this._defaultIcon;
11710
+ }
11711
+ setDefaultIcon(icon) {
11712
+ this._defaultIcon = icon;
11713
+ }
11714
+ getPopoverHeaderComponentConfig() {
11715
+ return this._popoverHeaderComponentConfig;
11716
+ }
11717
+ setPopoverHeaderComponentConfig(componentConfig) {
11718
+ this._popoverHeaderComponentConfig = componentConfig;
11719
+ }
11720
+ /**
11721
+ * Used to register one or more entries.
11722
+ *
11723
+ * If an entry with the same identity is already registered, this will override it by default.
11724
+ *
11725
+ * @param entries The entries to register
11726
+ * @param override Whether to override existing entries (default: true)
11727
+ */
11728
+ register(entries, override = true) {
11729
+ const entriesArray = asArray(entries);
11730
+ entriesArray.forEach((entry) => {
11731
+ if (override || !this._entries.has(entry.helpContextString)) {
11732
+ this._entries.set(entry.helpContextString, entry);
11733
+ }
11734
+ });
11735
+ return true;
11736
+ }
11737
+ // MARK: Get
11738
+ getAllRegisteredHelpContextStrings() {
11739
+ return Array.from(this._entries.keys());
11740
+ }
11741
+ getHelpWidgetEntry(helpContextString) {
11742
+ return this._entries.get(helpContextString) ?? (this._defaultWidgetComponentClass ? { helpContextString, title: '<Missing Help Topic>', widgetComponentClass: this._defaultWidgetComponentClass } : undefined);
11743
+ }
11744
+ getHelpWidgetEntriesForHelpContextStrings(helpContextStrings) {
11745
+ return helpContextStrings.map((context) => this.getHelpWidgetEntry(context)).filter((entry) => !!entry);
11746
+ }
11747
+ hasHelpWidgetEntry(context) {
11748
+ return this._entries.has(context);
11749
+ }
11750
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxHelpWidgetService, deps: [{ token: DbxHelpWidgetServiceConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
11751
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxHelpWidgetService });
11752
+ }
11753
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxHelpWidgetService, decorators: [{
11754
+ type: Injectable
11755
+ }], ctorParameters: () => [{ type: DbxHelpWidgetServiceConfig, decorators: [{
11756
+ type: Optional
11757
+ }, {
11758
+ type: Inject,
11759
+ args: [DbxHelpWidgetServiceConfig]
11760
+ }] }] });
11761
+
11762
+ /**
11763
+ * Creates EnvironmentProviders for the help context system.
11764
+ *
11765
+ * @param config Optional configuration
11766
+ * @returns EnvironmentProviders
11767
+ */
11768
+ function provideDbxHelpServices(config) {
11769
+ const providers = [DbxHelpWidgetService, DbxHelpContextService];
11770
+ if (config?.dbxHelpWidgetServiceConfigFactory) {
11771
+ providers.push({
11772
+ provide: DbxHelpWidgetServiceConfig,
11773
+ useFactory: config.dbxHelpWidgetServiceConfigFactory
11774
+ });
11775
+ }
11776
+ return makeEnvironmentProviders(providers);
11777
+ }
11778
+
11779
+ /**
11780
+ * Injection token for DbxHelpWidgetData.
11781
+ */
11782
+ const DBX_HELP_WIDGET_ENTRY_DATA_TOKEN = new InjectionToken('DbxHelpWidgetEntryData');
11783
+
11784
+ /**
11785
+ * Abstract help widget directive that injects the help widget data.
11786
+ */
11787
+ class DbxAbstractHelpWidgetDirective {
11788
+ helpWidgetData = inject(DBX_HELP_WIDGET_ENTRY_DATA_TOKEN);
11789
+ helpWidgetEntry = this.helpWidgetData.helpWidgetEntry;
11790
+ get helpContextString() {
11791
+ return this.helpWidgetEntry.helpContextString;
11792
+ }
11793
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxAbstractHelpWidgetDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
11794
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DbxAbstractHelpWidgetDirective, ngImport: i0 });
11795
+ }
11796
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxAbstractHelpWidgetDirective, decorators: [{
11797
+ type: Directive,
11798
+ args: [{}]
11799
+ }] });
11800
+
11801
+ class DbxHelpViewListEntryComponent {
11802
+ helpWidgetEntry = input.required();
11803
+ helpWidgetService = inject(DbxHelpWidgetService);
11804
+ titleSignal = computed(() => this.helpWidgetEntry().title);
11805
+ iconSignal = computed(() => this.helpWidgetEntry().icon ?? this.helpWidgetService.getDefaultIcon());
11806
+ widgetInjectionConfigSignal = computed(() => {
11807
+ const helpWidgetEntry = this.helpWidgetEntry();
11808
+ const widgetComponentClass = helpWidgetEntry.widgetComponentClass;
11809
+ const widgetData = {
11810
+ helpWidgetEntry
11811
+ };
11812
+ const config = {
11813
+ componentClass: widgetComponentClass,
11814
+ providers: [
11815
+ {
11816
+ provide: DBX_HELP_WIDGET_ENTRY_DATA_TOKEN,
11817
+ useValue: widgetData
11818
+ }
11819
+ ]
11820
+ };
11821
+ return config;
11822
+ });
11823
+ headerInjectionConfigSignal = computed(() => {
11824
+ const helpWidgetEntry = this.helpWidgetEntry();
11825
+ const headerComponentClass = helpWidgetEntry.headerComponentClass;
11826
+ let config = undefined;
11827
+ if (headerComponentClass) {
11828
+ const widgetData = {
11829
+ helpWidgetEntry
11830
+ };
11831
+ config = {
11832
+ componentClass: headerComponentClass,
11833
+ providers: [
11834
+ {
11835
+ provide: DBX_HELP_WIDGET_ENTRY_DATA_TOKEN,
11836
+ useValue: widgetData
11837
+ }
11838
+ ]
11839
+ };
11840
+ }
11841
+ return config;
11842
+ });
11843
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxHelpViewListEntryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11844
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxHelpViewListEntryComponent, isStandalone: true, selector: "dbx-help-view-list-entry", inputs: { helpWidgetEntry: { classPropertyName: "helpWidgetEntry", publicName: "helpWidgetEntry", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<mat-expansion-panel>\n <mat-expansion-panel-header>\n <mat-panel-title>\n @if (iconSignal(); as icon) {\n <mat-icon class=\"dbx-button-spacer\">{{ icon }}</mat-icon>\n }\n <span>{{ titleSignal() }}</span>\n </mat-panel-title>\n <ng-container>\n @if (headerInjectionConfigSignal(); as headerInjectionConfig) {\n <mat-panel-description>\n <span class=\"dbx-spacer\"></span>\n <dbx-injection [config]=\"headerInjectionConfig\"></dbx-injection>\n </mat-panel-description>\n }\n </ng-container>\n </mat-expansion-panel-header>\n <ng-template matExpansionPanelContent>\n <div class=\"dbx-help-view-list-entry-content\">\n <dbx-injection [config]=\"widgetInjectionConfigSignal()\"></dbx-injection>\n </div>\n </ng-template>\n</mat-expansion-panel>\n", dependencies: [{ kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { kind: "component", type: MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: MatExpansionPanelDescription, selector: "mat-panel-description" }, { kind: "directive", type: MatExpansionPanelContent, selector: "ng-template[matExpansionPanelContent]" }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11845
+ }
11846
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxHelpViewListEntryComponent, decorators: [{
11847
+ type: Component,
11848
+ args: [{ selector: 'dbx-help-view-list-entry', imports: [DbxInjectionComponent, MatExpansionPanel, MatExpansionPanelHeader, MatExpansionPanelTitle, MatExpansionPanelDescription, MatExpansionPanelContent, MatIcon, AsyncPipe], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<mat-expansion-panel>\n <mat-expansion-panel-header>\n <mat-panel-title>\n @if (iconSignal(); as icon) {\n <mat-icon class=\"dbx-button-spacer\">{{ icon }}</mat-icon>\n }\n <span>{{ titleSignal() }}</span>\n </mat-panel-title>\n <ng-container>\n @if (headerInjectionConfigSignal(); as headerInjectionConfig) {\n <mat-panel-description>\n <span class=\"dbx-spacer\"></span>\n <dbx-injection [config]=\"headerInjectionConfig\"></dbx-injection>\n </mat-panel-description>\n }\n </ng-container>\n </mat-expansion-panel-header>\n <ng-template matExpansionPanelContent>\n <div class=\"dbx-help-view-list-entry-content\">\n <dbx-injection [config]=\"widgetInjectionConfigSignal()\"></dbx-injection>\n </div>\n </ng-template>\n</mat-expansion-panel>\n" }]
11849
+ }] });
11850
+
11851
+ class DbxHelpViewListComponent {
11852
+ helpWidgetService = inject(DbxHelpWidgetService);
11853
+ /**
11854
+ * Whether the accordion should allow multiple expanded panels.
11855
+ */
11856
+ multi = input(true);
11857
+ helpContextStrings = input.required();
11858
+ helpContextStrings$ = toObservable(this.helpContextStrings).pipe(switchMap((x) => asObservable(x) ?? of([])), map(asArray), distinctUntilHasDifferentValues(), shareReplay(1));
11859
+ helpContextStringsSignal = toSignal(this.helpContextStrings$, { initialValue: [] });
11860
+ helpWidgetEntriesSignal = computed(() => this.helpWidgetService.getHelpWidgetEntriesForHelpContextStrings(this.helpContextStringsSignal()));
11861
+ hasNoHelpWidgetEntriesSignal = computed(() => !this.helpWidgetEntriesSignal()?.length);
11862
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxHelpViewListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11863
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxHelpViewListComponent, isStandalone: true, selector: "dbx-help-view-list", inputs: { multi: { classPropertyName: "multi", publicName: "multi", isSignal: true, isRequired: false, transformFunction: null }, helpContextStrings: { classPropertyName: "helpContextStrings", publicName: "helpContextStrings", isSignal: true, isRequired: true, transformFunction: null } }, host: { classAttribute: "dbx-help-view-list dbx-block" }, ngImport: i0, template: `
11864
+ <mat-accordion [multi]="multi()">
11865
+ @for (widgetEntry of helpWidgetEntriesSignal(); track widgetEntry.helpContextString) {
11866
+ <dbx-help-view-list-entry [helpWidgetEntry]="widgetEntry"></dbx-help-view-list-entry>
11867
+ }
11868
+ </mat-accordion>
11869
+ @if (hasNoHelpWidgetEntriesSignal()) {
11870
+ <dbx-list-empty-content>
11871
+ <ng-content select="[empty]"></ng-content>
11872
+ </dbx-list-empty-content>
11873
+ }
11874
+ `, isInline: true, dependencies: [{ kind: "directive", type: MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: DbxHelpViewListEntryComponent, selector: "dbx-help-view-list-entry", inputs: ["helpWidgetEntry"] }, { kind: "component", type: DbxListEmptyContentComponent, selector: "dbx-list-empty-content" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11875
+ }
11876
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxHelpViewListComponent, decorators: [{
11877
+ type: Component,
11878
+ args: [{
11879
+ selector: 'dbx-help-view-list',
11880
+ template: `
11881
+ <mat-accordion [multi]="multi()">
11882
+ @for (widgetEntry of helpWidgetEntriesSignal(); track widgetEntry.helpContextString) {
11883
+ <dbx-help-view-list-entry [helpWidgetEntry]="widgetEntry"></dbx-help-view-list-entry>
11884
+ }
11885
+ </mat-accordion>
11886
+ @if (hasNoHelpWidgetEntriesSignal()) {
11887
+ <dbx-list-empty-content>
11888
+ <ng-content select="[empty]"></ng-content>
11889
+ </dbx-list-empty-content>
11890
+ }
11891
+ `,
11892
+ host: {
11893
+ class: 'dbx-help-view-list dbx-block'
11894
+ },
11895
+ imports: [MatAccordion, DbxHelpViewListEntryComponent, DbxListEmptyContentComponent],
11896
+ standalone: true,
11897
+ changeDetection: ChangeDetectionStrategy.OnPush
11898
+ }]
11899
+ }] });
11900
+
11901
+ const DEFAULT_DBX_HELP_VIEW_POPOVER_KEY = 'help';
11902
+ /**
11903
+ * Popover component for displaying help contexts.
11904
+ */
11905
+ class DbxHelpViewPopoverComponent extends AbstractPopoverDirective {
11906
+ _helpContextService = inject(DbxHelpContextService);
11907
+ _helpWidgetService = inject(DbxHelpWidgetService);
11908
+ helpContextStrings$ = this.popover.data?.helpContextStrings ?? this._helpContextService.activeHelpContextStringsArray$;
11909
+ static openPopover(popoverService, config, popoverKey) {
11910
+ const { origin, ...data } = config;
11911
+ return popoverService.open({
11912
+ height: '500px',
11913
+ width: '600px',
11914
+ key: popoverKey ?? DEFAULT_DBX_HELP_VIEW_POPOVER_KEY,
11915
+ origin,
11916
+ componentClass: DbxHelpViewPopoverComponent,
11917
+ data,
11918
+ isResizable: true
11919
+ });
11920
+ }
11921
+ get config() {
11922
+ return this.popover.data;
11923
+ }
11924
+ icon = this.config.icon ?? 'help';
11925
+ header = this.config.header ?? 'Help';
11926
+ emptyText = this.config.emptyText ?? 'No help topics available in current context.';
11927
+ popoverHeaderConfig = (() => {
11928
+ let config = this.config.popoverHeaderConfig;
11929
+ if (!config) {
11930
+ config = this._helpWidgetService.getPopoverHeaderComponentConfig();
11931
+ }
11932
+ return config;
11933
+ })();
11934
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxHelpViewPopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
11935
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DbxHelpViewPopoverComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<dbx-popover-content>\n <!-- Header -->\n <dbx-popover-header [icon]=\"icon\" [header]=\"header\">\n <dbx-injection [config]=\"popoverHeaderConfig\"></dbx-injection>\n </dbx-popover-header>\n <!-- Content -->\n <dbx-popover-scroll-content>\n <dbx-help-view-list [helpContextStrings]=\"helpContextStrings$\">\n <p empty>{{ emptyText }}</p>\n </dbx-help-view-list>\n </dbx-popover-scroll-content>\n</dbx-popover-content>\n", dependencies: [{ kind: "component", type: DbxPopoverContentComponent, selector: "dbx-popover-content" }, { kind: "component", type: DbxPopoverHeaderComponent, selector: "dbx-popover-header", inputs: ["header", "icon"] }, { kind: "directive", type: DbxPopoverScrollContentDirective, selector: "dbx-popover-scroll-content,[dbxPopoverScrollContent],.dbx-popover-scroll-content" }, { kind: "component", type: DbxHelpViewListComponent, selector: "dbx-help-view-list", inputs: ["multi", "helpContextStrings"] }, { kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11936
+ }
11937
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxHelpViewPopoverComponent, decorators: [{
11938
+ type: Component,
11939
+ args: [{ imports: [DbxPopoverContentComponent, DbxPopoverHeaderComponent, DbxPopoverScrollContentDirective, DbxHelpViewListComponent, DbxInjectionComponent], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<dbx-popover-content>\n <!-- Header -->\n <dbx-popover-header [icon]=\"icon\" [header]=\"header\">\n <dbx-injection [config]=\"popoverHeaderConfig\"></dbx-injection>\n </dbx-popover-header>\n <!-- Content -->\n <dbx-popover-scroll-content>\n <dbx-help-view-list [helpContextStrings]=\"helpContextStrings$\">\n <p empty>{{ emptyText }}</p>\n </dbx-help-view-list>\n </dbx-popover-scroll-content>\n</dbx-popover-content>\n" }]
11940
+ }] });
11941
+
11942
+ /**
11943
+ * Button component that opens a help popover showing active help contexts.
11944
+ */
11945
+ class DbxHelpViewPopoverButtonComponent extends AbstractPopoverRefDirective {
11946
+ _dbxPopoverService = inject(DbxPopoverService);
11947
+ buttonElement = viewChild.required('button', { read: ElementRef });
11948
+ config = input();
11949
+ _makePopoverRef(origin) {
11950
+ if (!origin) {
11951
+ throw new Error('Missing origin.');
11952
+ }
11953
+ const config = this.config();
11954
+ return DbxHelpViewPopoverComponent.openPopover(this._dbxPopoverService, {
11955
+ origin,
11956
+ ...config
11957
+ });
11958
+ }
11959
+ showHelpPopover() {
11960
+ const origin = this.buttonElement();
11961
+ this.showPopover(origin);
11962
+ }
11963
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxHelpViewPopoverButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
11964
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.13", type: DbxHelpViewPopoverButtonComponent, isStandalone: true, selector: "dbx-help-view-popover-button", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "buttonElement", first: true, predicate: ["button"], descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0, template: `
11965
+ <dbx-icon-button #button (buttonClick)="showHelpPopover()" icon="help_center"></dbx-icon-button>
11966
+ `, isInline: true, dependencies: [{ kind: "component", type: DbxIconButtonComponent, selector: "dbx-icon-button" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11967
+ }
11968
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxHelpViewPopoverButtonComponent, decorators: [{
11969
+ type: Component,
11970
+ args: [{
11971
+ selector: 'dbx-help-view-popover-button',
11972
+ template: `
11973
+ <dbx-icon-button #button (buttonClick)="showHelpPopover()" icon="help_center"></dbx-icon-button>
11974
+ `,
11975
+ standalone: true,
11976
+ imports: [DbxIconButtonComponent],
11977
+ changeDetection: ChangeDetectionStrategy.OnPush
11978
+ }]
11979
+ }] });
11980
+
11433
11981
  // export * from './calendar'; // nothing to export
11434
11982
 
11435
11983
  /**
@@ -11490,5 +12038,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
11490
12038
  * Generated bundle index. Do not edit.
11491
12039
  */
11492
12040
 
11493
- export { APP_POPUP_MINIMIZED_WIDTH, APP_POPUP_NORMAL_HEIGHT, APP_POPUP_NORMAL_WIDTH, AbstractDbxErrorWidgetComponent, AbstractDbxFileUploadComponent, AbstractDbxListGridViewDirective, AbstractDbxListViewDirective, AbstractDbxListWrapperDirective, AbstractDbxPartialPresetFilterMenuDirective, AbstractDbxSegueAnchorDirective, AbstractDbxSelectionListViewDirective, AbstractDbxSelectionListWrapperDirective, AbstractDbxValueListItemModifierDirective, AbstractDbxValueListViewDirective, AbstractDbxValueListViewItemComponent, AbstractDbxWidgetComponent, AbstractDialogDirective, AbstractFilterPopoverButtonDirective, AbstractPopoverDirective, AbstractPopoverRefDirective, AbstractPopoverRefWithEventsDirective, AbstractPopupDirective, AbstractPromptConfirmDirective, CompactContextStore, CompactMode, DBX_ACTION_SNACKBAR_DEFAULTS, DBX_ACTION_SNACKBAR_SERVICE_CONFIG, DBX_AVATAR_CONTEXT_DATA_TOKEN, DBX_DARK_STYLE_CLASS_SUFFIX, DBX_LIST_DEFAULT_SCROLL_DISTANCE, DBX_LIST_DEFAULT_THROTTLE_SCROLL, DBX_LIST_ITEM_DEFAULT_DISABLE_FUNCTION, DBX_LIST_ITEM_DISABLE_RIPPLE_LIST_ITEM_MODIFIER_KEY, DBX_LIST_ITEM_IS_SELECTED_ITEM_MODIFIER_KEY, DBX_LIST_VIEW_DEFAULT_META_ICON, DBX_MODEL_VIEW_TRACKER_STORAGE_ACCESSOR_TOKEN, DBX_PROGRESS_BUTTON_GLOBAL_CONFIG, DBX_ROUTER_ANCHOR_COMPONENTS, DBX_ROUTER_VALUE_LIST_ITEM_MODIFIER_KEY, DBX_STYLE_DEFAULT_CONFIG_TOKEN, DBX_THEME_COLORS, DBX_THEME_COLORS_EXTRA, DBX_THEME_COLORS_EXTRA_SECONDARY, DBX_THEME_COLORS_MAIN, DBX_VALUE_LIST_VIEW_ITEM, DBX_WEB_FILE_PREVIEW_SERVICE_DEFAULT_DIALOG_WITH_COMPONENT_FUNCTION, DBX_WEB_FILE_PREVIEW_SERVICE_DEFAULT_PREVIEW_COMPONENT_FUNCTION, DBX_WEB_FILE_PREVIEW_SERVICE_ENTRIES_TOKEN, DBX_WEB_FILE_PREVIEW_SERVICE_ZIP_COMPONENT_PRESET, DBX_WEB_FILE_PREVIEW_SERVICE_ZIP_PRESET_ENTRY, DEFAULT_DBX_ERROR_SNACKBAR_CONFIG, DEFAULT_DBX_LIST_GRID_VIEW_DIRECTIVE_TEMPLATE, DEFAULT_DBX_LIST_ITEM_IS_SELECTED_FUNCTION, DEFAULT_DBX_PROMPT_CONFIRM_DIALOG_CONFIG, DEFAULT_DBX_SELECTION_VALUE_LIST_COMPONENT_CONFIGURATION_TEMPLATE, DEFAULT_DBX_SELECTION_VALUE_LIST_DIRECTIVE_TEMPLATE, DEFAULT_DBX_SIDENAV_MENU_ICON, DEFAULT_DBX_VALUE_LIST_COMPONENT_CONFIGURATION_TEMPLATE, DEFAULT_DBX_VALUE_LIST_CONFIG_MAP_VALUES, DEFAULT_DBX_VALUE_LIST_GRID_DIRECTIVE_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_LIST_WRAPPER_DIRECTIVE_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, DbxActionConfirmDirective, DbxActionDialogDirective, DbxActionErrorDirective, DbxActionKeyTriggerDirective, DbxActionLoadingContextDirective, DbxActionModule, DbxActionPopoverDirective, DbxActionSnackbarComponent, DbxActionSnackbarDirective, DbxActionSnackbarErrorDirective, DbxActionSnackbarModule, DbxActionSnackbarService, DbxActionTransitionSafetyDirective, DbxActionUIRouterTransitionModule, DbxActionUIRouterTransitionSafetyDialogComponent, DbxAnchorComponent, DbxAnchorContentComponent, DbxAnchorIconComponent, DbxAnchorListComponent, DbxAngularRouterSegueAnchorComponent, DbxAvatarComponent, DbxAvatarViewService, DbxAvatarViewServiceConfig, DbxBarDirective, DbxBarHeaderComponent, DbxBarLayoutModule, DbxBasicLoadingComponent, DbxBlockLayoutModule, DbxBodyDirective, DbxButtonComponent, DbxButtonDisplayType, DbxButtonModule, DbxButtonSpacerDirective, DbxCardBoxComponent, DbxCardBoxContainerDirective, DbxCardBoxLayoutModule, DbxChipDirective, DbxColorDirective, DbxColumnLayoutModule, DbxCompactDirective, DbxCompactLayoutModule, DbxContentBorderDirective, DbxContentBoxDirective, DbxContentContainerDirective, DbxContentDirective, DbxContentElevateDirective, DbxContentLayoutModule, DbxContentPageDirective, DbxContentPitDirective, DbxDetailBlockComponent, DbxDetailBlockHeaderComponent, DbxDialogContentCloseComponent, DbxDialogContentDirective, DbxDialogContentFooterComponent, DbxDialogInteractionModule, DbxDialogModule, DbxDownloadBlobButtonComponent, DbxDownloadTextModule, 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, DbxIconButtonComponent, DbxIconButtonModule, DbxIconItemComponent, DbxIconSpacerDirective, DbxIfSidenavDisplayModeDirective, DbxIframeComponent, DbxInjectionDialogComponent, DbxInteractionModule, DbxIntroActionSectionComponent, DbxKeypressModule, DbxLabelBlockComponent, DbxLayoutModule, DbxLinkComponent, DbxLinkifyComponent, DbxListComponent, DbxListEmptyContentComponent, DbxListGridViewDirectiveImportsModule, DbxListInternalContentDirective, DbxListItemAnchorModifierDirective, DbxListItemDisableRippleModifierDirective, DbxListItemIsSelectedModifierDirective, DbxListLayoutModule, DbxListModifierModule, DbxListModule, DbxListTitleGroupDirective, DbxListView, DbxListViewMetaIconComponent, DbxListViewWrapper, DbxListWrapperComponentImportsModule, DbxLoadingComponent, DbxLoadingErrorDirective, DbxLoadingModule, DbxLoadingProgressComponent, DbxModelObjectStateService, actions as DbxModelStateActions, model_actions as DbxModelStateModelActions, DbxModelTrackerService, DbxModelTypesService, DbxModelViewTrackerStorage, DbxNavbarComponent, DbxNumberWithLimitComponent, DbxOneColumnComponent, DbxOneColumnLayoutModule, DbxPagebarComponent, DbxPartialPresetFilterListComponent, DbxPartialPresetFilterMenuComponent, DbxPopoverCloseButtonComponent, DbxPopoverComponent, DbxPopoverComponentController, DbxPopoverContentComponent, DbxPopoverController, DbxPopoverControlsDirective, DbxPopoverCoordinatorComponent, DbxPopoverCoordinatorService, DbxPopoverHeaderComponent, DbxPopoverInteractionContentModule, DbxPopoverInteractionModule, DbxPopoverScrollContentDirective, DbxPopoverService, DbxPopupComponent, DbxPopupComponentController, DbxPopupContentComponent, DbxPopupControlButtonsComponent, DbxPopupController, DbxPopupControlsComponent, DbxPopupCoordinatorComponent, DbxPopupCoordinatorService, DbxPopupInteractionModule, DbxPopupService, DbxPopupWindowState, DbxPresetFilterListComponent, DbxPresetFilterMenuComponent, DbxProgressBarButtonComponent, DbxProgressButtonsModule, DbxProgressSpinnerButtonComponent, DbxPromptBoxDirective, DbxPromptComponent, DbxPromptConfirm, DbxPromptConfirmButtonDirective, DbxPromptConfirmComponent, DbxPromptConfirmDialogComponent, DbxPromptConfirmDirective, DbxPromptModule, DbxPromptPageComponent, DbxReadableErrorModule, DbxResizedDirective, DbxRouterAnchorListModule, DbxRouterAnchorModule, DbxRouterLayoutModule, DbxRouterListModule, DbxRouterNavbarModule, DbxRouterSidenavModule, DbxRouterWebProviderConfig, DbxScreenMediaService, DbxScreenMediaServiceConfig, DbxSectionComponent, DbxSectionHeaderComponent, DbxSectionLayoutModule, DbxSectionPageComponent, DbxSelectionValueListViewComponent, DbxSelectionValueListViewComponentImportsModule, DbxSelectionValueListViewContentComponent, DbxSetStyleDirective, DbxSidenavButtonComponent, DbxSidenavComponent, DbxSidenavPageComponent, DbxSidenavPagebarComponent, DbxSpacerDirective, DbxStepComponent, DbxStepLayoutModule, DbxStructureDirective, DbxStructureModule, DbxStyleBodyDirective, DbxStyleDirective, DbxStyleLayoutModule, DbxStyleService, DbxSubSectionComponent, DbxTextChipsComponent, DbxTextModule, DbxTwoBlockComponent, DbxTwoColumnBackDirective, DbxTwoColumnColumnHeadDirective, DbxTwoColumnComponent, DbxTwoColumnContextDirective, DbxTwoColumnFullLeftDirective, DbxTwoColumnLayoutModule, DbxTwoColumnRightComponent, DbxTwoColumnSrefDirective, DbxTwoColumnSrefShowRightDirective, DbxUIRouterSegueAnchorComponent, DbxUnitedStatesAddressComponent, DbxValueListGridSizeDirective, DbxValueListGridViewComponent, DbxValueListGridViewContentComponent, DbxValueListItemModifier, DbxValueListItemModifierDirective, DbxValueListView, DbxValueListViewComponent, DbxValueListViewComponentImportsModule, DbxValueListViewContentComponent, DbxValueListViewContentGroupComponent, DbxValueListViewGroupDelegate, DbxWebFilePreviewComponent, DbxWebFilePreviewService, DbxWebModule, DbxWidgetListGridComponent, DbxWidgetListGridViewComponent, DbxWidgetListGridViewItemComponent, DbxWidgetModule, DbxWidgetService, DbxWidgetViewComponent, DbxWindowKeyDownListenerDirective, DbxZipBlobPreviewComponent, DbxZipPreviewComponent, PopoverPositionStrategy, PopupGlobalPositionStrategy, SCREEN_MEDIA_WIDTH_TYPE_SIZE_MAP, SideNavDisplayMode, TRACK_BY_MODEL_ID, TRACK_BY_MODEL_KEY, TwoColumnsContextStore, UNKNOWN_ERROR_WIDGET_CODE, addConfigToValueListItems, allDbxModelViewTrackerEventModelKeys, allDbxModelViewTrackerEventSetModelKeys, catchErrorServerParams, compactModeFromInput, compareScreenMediaWidthTypes, convertServerErrorParams, convertToPOJOServerErrorResponse, convertToServerErrorResponse, dbxColorBackground, dbxListGridViewDirectiveImportsAndExports, dbxPresetFilterMenuButtonIconObservable, dbxPresetFilterMenuButtonTextObservable, dbxStyleClassCleanSuffix, dbxValueListItemDecisionFunction, dbxZipBlobPreviewEntryTreeFromEntries, defaultDbxModelViewTrackerStorageAccessorFactory, defaultDbxValueListViewGroupDelegate, defaultDbxValueListViewGroupValuesFunction, disableRightClickInCdkBackdrop, fileAcceptFilterTypeStringArray, fileAcceptFunction, fileAcceptString, fileArrayAcceptMatchFunction, index as fromDbxModel, listItemModifier, makeDbxActionSnackbarDisplayConfigGeneratorFunction, mapCompactModeObs, mapValuesToValuesListItemConfigObs, index$1 as onDbxModel, openEmbedDialog, openIframeDialog, openZipPreviewDialog, provideDbxFileUploadActionCompatable, provideDbxListView, provideDbxListViewWrapper, provideDbxModelService, provideDbxProgressButtonGlobalConfig, provideDbxPromptConfirm, provideDbxRouterWebAngularRouterProviderConfig, provideDbxRouterWebUiRouterProviderConfig, provideDbxScreenMediaService, provideDbxStyleService, provideDbxValueListView, provideDbxValueListViewGroupDelegate, provideDbxValueListViewModifier, provideDbxWebFilePreviewServiceEntries, provideTwoColumnsContext, resizeSignal, sanitizeDbxDialogContentConfig, screenMediaWidthTypeIsActive, trackByModelKeyRef, trackByUniqueIdentifier };
12041
+ export { APP_POPUP_MINIMIZED_WIDTH, APP_POPUP_NORMAL_HEIGHT, APP_POPUP_NORMAL_WIDTH, AbstractDbxClipboardDirective, AbstractDbxErrorWidgetComponent, AbstractDbxFileUploadComponent, AbstractDbxListGridViewDirective, AbstractDbxListViewDirective, AbstractDbxListWrapperDirective, AbstractDbxPartialPresetFilterMenuDirective, AbstractDbxSegueAnchorDirective, AbstractDbxSelectionListViewDirective, AbstractDbxSelectionListWrapperDirective, AbstractDbxValueListItemModifierDirective, AbstractDbxValueListViewDirective, AbstractDbxValueListViewItemComponent, AbstractDbxWidgetComponent, AbstractDialogDirective, AbstractFilterPopoverButtonDirective, AbstractPopoverDirective, AbstractPopoverRefDirective, AbstractPopoverRefWithEventsDirective, AbstractPopupDirective, AbstractPromptConfirmDirective, CompactContextStore, CompactMode, DBX_ACTION_SNACKBAR_DEFAULTS, DBX_ACTION_SNACKBAR_SERVICE_CONFIG, DBX_AVATAR_CONTEXT_DATA_TOKEN, DBX_DARK_STYLE_CLASS_SUFFIX, DBX_HELP_WIDGET_ENTRY_DATA_TOKEN, DBX_LIST_DEFAULT_SCROLL_DISTANCE, DBX_LIST_DEFAULT_THROTTLE_SCROLL, DBX_LIST_ITEM_DEFAULT_DISABLE_FUNCTION, DBX_LIST_ITEM_DISABLE_RIPPLE_LIST_ITEM_MODIFIER_KEY, DBX_LIST_ITEM_IS_SELECTED_ITEM_MODIFIER_KEY, DBX_LIST_VIEW_DEFAULT_META_ICON, DBX_MODEL_VIEW_TRACKER_STORAGE_ACCESSOR_TOKEN, DBX_PROGRESS_BUTTON_GLOBAL_CONFIG, DBX_ROUTER_ANCHOR_COMPONENTS, DBX_ROUTER_VALUE_LIST_ITEM_MODIFIER_KEY, DBX_STYLE_DEFAULT_CONFIG_TOKEN, DBX_THEME_COLORS, DBX_THEME_COLORS_EXTRA, DBX_THEME_COLORS_EXTRA_SECONDARY, DBX_THEME_COLORS_MAIN, DBX_VALUE_LIST_VIEW_ITEM, DBX_WEB_FILE_PREVIEW_SERVICE_DEFAULT_DIALOG_WITH_COMPONENT_FUNCTION, DBX_WEB_FILE_PREVIEW_SERVICE_DEFAULT_PREVIEW_COMPONENT_FUNCTION, DBX_WEB_FILE_PREVIEW_SERVICE_ENTRIES_TOKEN, DBX_WEB_FILE_PREVIEW_SERVICE_ZIP_COMPONENT_PRESET, DBX_WEB_FILE_PREVIEW_SERVICE_ZIP_PRESET_ENTRY, DEFAULT_DBX_ERROR_SNACKBAR_CONFIG, DEFAULT_DBX_HELP_VIEW_POPOVER_KEY, DEFAULT_DBX_LIST_GRID_VIEW_DIRECTIVE_TEMPLATE, DEFAULT_DBX_LIST_ITEM_IS_SELECTED_FUNCTION, DEFAULT_DBX_PROMPT_CONFIRM_DIALOG_CONFIG, DEFAULT_DBX_SELECTION_VALUE_LIST_COMPONENT_CONFIGURATION_TEMPLATE, DEFAULT_DBX_SELECTION_VALUE_LIST_DIRECTIVE_TEMPLATE, DEFAULT_DBX_SIDENAV_MENU_ICON, DEFAULT_DBX_VALUE_LIST_COMPONENT_CONFIGURATION_TEMPLATE, DEFAULT_DBX_VALUE_LIST_CONFIG_MAP_VALUES, DEFAULT_DBX_VALUE_LIST_GRID_DIRECTIVE_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_LIST_WRAPPER_DIRECTIVE_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, DbxAbstractHelpWidgetDirective, DbxActionConfirmDirective, DbxActionDialogDirective, DbxActionErrorDirective, DbxActionKeyTriggerDirective, DbxActionLoadingContextDirective, DbxActionModule, DbxActionPopoverDirective, DbxActionSnackbarComponent, DbxActionSnackbarDirective, DbxActionSnackbarErrorDirective, DbxActionSnackbarModule, DbxActionSnackbarService, DbxActionTransitionSafetyDirective, DbxActionUIRouterTransitionModule, DbxActionUIRouterTransitionSafetyDialogComponent, DbxAnchorComponent, DbxAnchorContentComponent, DbxAnchorIconComponent, DbxAnchorListComponent, DbxAngularRouterSegueAnchorComponent, DbxAvatarComponent, DbxAvatarViewService, DbxAvatarViewServiceConfig, DbxBarDirective, DbxBarHeaderComponent, DbxBarLayoutModule, DbxBasicLoadingComponent, DbxBlockLayoutModule, DbxBodyDirective, DbxButtonComponent, DbxButtonDisplayType, DbxButtonModule, DbxButtonSpacerDirective, DbxCardBoxComponent, DbxCardBoxContainerDirective, DbxCardBoxLayoutModule, DbxChipDirective, DbxClickToCopyTextComponent, DbxClickToCopyTextDirective, DbxColorDirective, DbxColumnLayoutModule, DbxCompactDirective, DbxCompactLayoutModule, DbxContentBorderDirective, DbxContentBoxDirective, DbxContentContainerDirective, DbxContentDirective, DbxContentElevateDirective, DbxContentLayoutModule, DbxContentPageDirective, DbxContentPitDirective, DbxDetailBlockComponent, DbxDetailBlockHeaderComponent, DbxDialogContentCloseComponent, DbxDialogContentDirective, DbxDialogContentFooterComponent, DbxDialogInteractionModule, DbxDialogModule, DbxDownloadBlobButtonComponent, DbxDownloadTextModule, DbxDownloadTextViewComponent, DbxEmbedComponent, DbxErrorComponent, DbxErrorDefaultErrorWidgetComponent, DbxErrorDetailsComponent, DbxErrorPopoverComponent, DbxErrorSnackbarComponent, DbxErrorSnackbarService, DbxErrorViewComponent, DbxErrorWidgetService, DbxErrorWidgetViewComponent, DbxFileUploadActionCompatable, DbxFileUploadActionSyncDirective, DbxFileUploadAreaComponent, DbxFileUploadButtonComponent, DbxFileUploadComponent, DbxFilterInteractionModule, DbxFilterPopoverButtonComponent, DbxFilterPopoverComponent, DbxFilterWrapperComponent, DbxFlagComponent, DbxFlagLayoutModule, DbxFlagPromptComponent, DbxFlexGroupDirective, DbxFlexLayoutModule, DbxFlexSizeDirective, DbxHelpContextDirective, DbxHelpContextService, DbxHelpViewListComponent, DbxHelpViewListEntryComponent, DbxHelpViewPopoverButtonComponent, DbxHelpViewPopoverComponent, DbxHelpWidgetService, DbxHelpWidgetServiceConfig, DbxIconButtonComponent, DbxIconButtonModule, DbxIconItemComponent, DbxIconSpacerDirective, DbxIfSidenavDisplayModeDirective, DbxIframeComponent, DbxInjectionDialogComponent, DbxInteractionModule, DbxIntroActionSectionComponent, DbxKeypressModule, DbxLabelBlockComponent, DbxLayoutModule, DbxLinkComponent, DbxLinkifyComponent, DbxListComponent, DbxListEmptyContentComponent, DbxListGridViewDirectiveImportsModule, DbxListInternalContentDirective, DbxListItemAnchorModifierDirective, DbxListItemDisableRippleModifierDirective, DbxListItemIsSelectedModifierDirective, DbxListLayoutModule, DbxListModifierModule, DbxListModule, DbxListTitleGroupDirective, DbxListView, DbxListViewMetaIconComponent, DbxListViewWrapper, DbxListWrapperComponentImportsModule, DbxLoadingComponent, DbxLoadingErrorDirective, DbxLoadingModule, DbxLoadingProgressComponent, DbxModelObjectStateService, actions as DbxModelStateActions, model_actions as DbxModelStateModelActions, DbxModelTrackerService, DbxModelTypesService, DbxModelViewTrackerStorage, DbxNavbarComponent, DbxNumberWithLimitComponent, DbxOneColumnComponent, DbxOneColumnLayoutModule, DbxPagebarComponent, DbxPartialPresetFilterListComponent, DbxPartialPresetFilterMenuComponent, DbxPopoverCloseButtonComponent, DbxPopoverComponent, DbxPopoverComponentController, DbxPopoverContentComponent, DbxPopoverController, DbxPopoverControlsDirective, DbxPopoverCoordinatorComponent, DbxPopoverCoordinatorService, DbxPopoverHeaderComponent, DbxPopoverInteractionContentModule, DbxPopoverInteractionModule, DbxPopoverScrollContentDirective, DbxPopoverService, DbxPopupComponent, DbxPopupComponentController, DbxPopupContentComponent, DbxPopupControlButtonsComponent, DbxPopupController, DbxPopupControlsComponent, DbxPopupCoordinatorComponent, DbxPopupCoordinatorService, DbxPopupInteractionModule, DbxPopupService, DbxPopupWindowState, DbxPresetFilterListComponent, DbxPresetFilterMenuComponent, DbxProgressBarButtonComponent, DbxProgressButtonsModule, DbxProgressSpinnerButtonComponent, DbxPromptBoxDirective, DbxPromptComponent, DbxPromptConfirm, DbxPromptConfirmButtonDirective, DbxPromptConfirmComponent, DbxPromptConfirmDialogComponent, DbxPromptConfirmDirective, DbxPromptModule, DbxPromptPageComponent, DbxReadableErrorModule, DbxResizedDirective, DbxRouterAnchorListModule, DbxRouterAnchorModule, DbxRouterLayoutModule, DbxRouterListModule, DbxRouterNavbarModule, DbxRouterSidenavModule, DbxRouterWebProviderConfig, DbxScreenMediaService, DbxScreenMediaServiceConfig, DbxSectionComponent, DbxSectionHeaderComponent, DbxSectionLayoutModule, DbxSectionPageComponent, DbxSelectionValueListViewComponent, DbxSelectionValueListViewComponentImportsModule, DbxSelectionValueListViewContentComponent, DbxSetStyleDirective, DbxSidenavButtonComponent, DbxSidenavComponent, DbxSidenavPageComponent, DbxSidenavPagebarComponent, DbxSpacerDirective, DbxStepComponent, DbxStepLayoutModule, DbxStructureDirective, DbxStructureModule, DbxStyleBodyDirective, DbxStyleDirective, DbxStyleLayoutModule, DbxStyleService, DbxSubSectionComponent, DbxTextChipsComponent, DbxTextModule, DbxTwoBlockComponent, DbxTwoColumnBackDirective, DbxTwoColumnColumnHeadDirective, DbxTwoColumnComponent, DbxTwoColumnContextDirective, DbxTwoColumnFullLeftDirective, DbxTwoColumnLayoutModule, DbxTwoColumnRightComponent, DbxTwoColumnSrefDirective, DbxTwoColumnSrefShowRightDirective, DbxUIRouterSegueAnchorComponent, DbxUnitedStatesAddressComponent, DbxValueListGridSizeDirective, DbxValueListGridViewComponent, DbxValueListGridViewContentComponent, DbxValueListItemModifier, DbxValueListItemModifierDirective, DbxValueListView, DbxValueListViewComponent, DbxValueListViewComponentImportsModule, DbxValueListViewContentComponent, DbxValueListViewContentGroupComponent, DbxValueListViewGroupDelegate, DbxWebFilePreviewComponent, DbxWebFilePreviewService, DbxWebModule, DbxWidgetListGridComponent, DbxWidgetListGridViewComponent, DbxWidgetListGridViewItemComponent, DbxWidgetModule, DbxWidgetService, DbxWidgetViewComponent, DbxWindowKeyDownListenerDirective, DbxZipBlobPreviewComponent, DbxZipPreviewComponent, PopoverPositionStrategy, PopupGlobalPositionStrategy, SCREEN_MEDIA_WIDTH_TYPE_SIZE_MAP, SideNavDisplayMode, TRACK_BY_MODEL_ID, TRACK_BY_MODEL_KEY, TwoColumnsContextStore, UNKNOWN_ERROR_WIDGET_CODE, addConfigToValueListItems, allDbxModelViewTrackerEventModelKeys, allDbxModelViewTrackerEventSetModelKeys, catchErrorServerParams, compactModeFromInput, compareScreenMediaWidthTypes, convertServerErrorParams, convertToPOJOServerErrorResponse, convertToServerErrorResponse, copyToClipboardFunction, dbxColorBackground, dbxListGridViewDirectiveImportsAndExports, dbxPresetFilterMenuButtonIconObservable, dbxPresetFilterMenuButtonTextObservable, dbxStyleClassCleanSuffix, dbxValueListItemDecisionFunction, dbxZipBlobPreviewEntryTreeFromEntries, defaultDbxModelViewTrackerStorageAccessorFactory, defaultDbxValueListViewGroupDelegate, defaultDbxValueListViewGroupValuesFunction, disableRightClickInCdkBackdrop, fileAcceptFilterTypeStringArray, fileAcceptFunction, fileAcceptString, fileArrayAcceptMatchFunction, index as fromDbxModel, injectCopyToClipboardFunction, injectCopyToClipboardFunctionWithSnackbarMessage, listItemModifier, makeDbxActionSnackbarDisplayConfigGeneratorFunction, mapCompactModeObs, mapValuesToValuesListItemConfigObs, index$1 as onDbxModel, openEmbedDialog, openIframeDialog, openZipPreviewDialog, provideDbxFileUploadActionCompatable, provideDbxHelpServices, provideDbxListView, provideDbxListViewWrapper, provideDbxModelService, provideDbxProgressButtonGlobalConfig, provideDbxPromptConfirm, provideDbxRouterWebAngularRouterProviderConfig, provideDbxRouterWebUiRouterProviderConfig, provideDbxScreenMediaService, provideDbxStyleService, provideDbxValueListView, provideDbxValueListViewGroupDelegate, provideDbxValueListViewModifier, provideDbxWebFilePreviewServiceEntries, provideTwoColumnsContext, registerHelpContextStringsWithDbxHelpContextService, resizeSignal, sanitizeDbxDialogContentConfig, screenMediaWidthTypeIsActive, trackByModelKeyRef, trackByUniqueIdentifier };
11494
12042
  //# sourceMappingURL=dereekb-dbx-web.mjs.map