@dereekb/dbx-web 13.0.2 → 13.0.5

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.
@@ -2,10 +2,10 @@ 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 } from '@angular/core';
3
3
  import { DASH_CHARACTER_PREFIX_INSTANCE, asPromise, cssClassesSet, isDefinedAndNotFalse, spaceSeparatedCssClasses, objectHasNoKeys, getValueFromGetter, firstValue, filterUndefinedValues, separateValues, splitFront, asDecisionFunction, SLASH_PATH_FILE_TYPE_SEPARATOR, filterMaybeArrayValues, mapIterable, toReadableError, isDefaultReadableError, MS_IN_SECOND, mergeObjects, build, ServerErrorResponse, UnauthorizedServerErrorResponse, makeTimer, MS_IN_MINUTE, toggleTimerRunning, unixDateTimeSecondsNumberForNow, ModelRelationUtility, encodeModelKeyTypePair, useIterableOrValue, safeCompareEquality, addMilliseconds, isPast, asArray, slashPathDetails, mimeTypeForFileExtension, slashPathDirectoryTree, isMaybeNot, isNotFalse, modifier, combineMaps, addModifiers, removeModifiers, applyBestFit, findNext, maybeModifierMapToFunction, makeValuesGroupMap, compareWithMappedValuesFunction, invertMaybeBoolean, splitCommaSeparatedStringToSet, ZIP_FILE_MIME_TYPE, cachedGetter, sortByNumberFunction } from '@dereekb/util';
4
4
  import * as i1$2 from '@dereekb/dbx-core';
5
- import { completeOnDestroy, clean, cleanSubscription, AbstractTransitionWatcherDirective, DbxInjectionComponent, AbstractDbxActionValueGetterDirective, AbstractDbxButtonDirective, provideDbxButton, dbxActionWorkProgress, DbxCoreButtonModule, AbstractDbxActionHandlerDirective, FilterSourceDirective, provideActionStoreSource, isClickableFilterPreset, AbstractDbxAnchorDirective, expandClickableAnchorLinkTrees, DbxCoreFilterModule, DbxButton, DbxActionContextStoreSourceInstance, DBX_INJECTION_COMPONENT_DATA, checkNgContentWrapperHasContent, cleanLoadingContext, DbxActionSourceDirective, DbxActionSuccessHandlerDirective, DbxActionDirective, transformEmptyStringInputToUndefined, isIdleActionState, canTriggerAction, DbxCoreActionModule, DbxActionButtonDirective, onDbxAppAuth, SimpleStorageAccessorFactory, mergeStaticProviders, asSegueRef, AbstractTransitionDirective, DbxRouterService, AbstractIfDirective, isSegueRefActive, anchorTypeForAnchor } from '@dereekb/dbx-core';
5
+ import { completeOnDestroy, clean, cleanSubscription, AbstractTransitionWatcherDirective, DbxInjectionComponent, AbstractDbxActionValueGetterDirective, AbstractDbxButtonDirective, provideDbxButton, dbxActionWorkProgress, DbxCoreButtonModule, AbstractDbxActionHandlerDirective, FilterSourceDirective, provideActionStoreSource, isClickableFilterPreset, AbstractDbxAnchorDirective, expandClickableAnchorLinkTrees, DbxCoreFilterModule, DbxButton, DbxActionContextStoreSourceInstance, cleanSubscriptionWithLockSet, DBX_INJECTION_COMPONENT_DATA, checkNgContentWrapperHasContent, cleanLoadingContext, DbxActionSourceDirective, DbxActionSuccessHandlerDirective, DbxActionDirective, transformEmptyStringInputToUndefined, isIdleActionState, canTriggerAction, DbxCoreActionModule, DbxActionButtonDirective, onDbxAppAuth, SimpleStorageAccessorFactory, mergeStaticProviders, asSegueRef, AbstractTransitionDirective, DbxRouterService, AbstractIfDirective, isSegueRefActive, anchorTypeForAnchor } from '@dereekb/dbx-core';
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, distinctUntilItemsHaveDifferentValues, skipAllInitialMaybe, maybeValueFromObservableOrValue, switchMapMaybeLoadingContextStream, LoadingStateType, loadingStateType, SubscriptionObject, successResult, valueFromFinishedLoadingState, loadingStateContext, initialize, isNot, mapForEach, switchMapMaybe, listLoadingStateContext, isLoadingStateFinishedLoading, startWithBeginLoading, loadingStateFromObs, errorResult, beginLoading, distinctUntilHasDifferentValues } from '@dereekb/rxjs';
8
+ import { filterMaybe, asObservable, LockSet, distinctUntilItemsHaveDifferentValues, skipAllInitialMaybe, maybeValueFromObservableOrValue, switchMapMaybeLoadingContextStream, LoadingStateType, loadingStateType, successResult, valueFromFinishedLoadingState, loadingStateContext, initialize, isNot, mapForEach, SubscriptionObject, 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';
@@ -35,14 +35,15 @@ import { Actions, createEffect, ofType, provideEffects } from '@ngrx/effects';
35
35
  import { capitalCase } from 'change-case-all';
36
36
  import { Clipboard } from '@angular/cdk/clipboard';
37
37
  import { BlobWriter, ZipReader, BlobReader } from '@zip.js/zip.js';
38
+ import { MediaMatcher } from '@angular/cdk/layout';
38
39
  import * as i1$3 from '@angular/material/toolbar';
39
40
  import { MatToolbarModule } from '@angular/material/toolbar';
40
- import { MediaMatcher } from '@angular/cdk/layout';
41
41
  import { MatTabNav, MatTabNavPanel, MatTabLink } from '@angular/material/tabs';
42
42
  import * as i1$4 from '@angular/material/sidenav';
43
43
  import { MatSidenav, MatSidenavModule } from '@angular/material/sidenav';
44
44
  import * as i1$5 from '@uirouter/angular';
45
45
  import { UIRouterModule } from '@uirouter/angular';
46
+ import { MatAccordion, MatExpansionPanel, MatExpansionPanelHeader, MatExpansionPanelTitle, MatExpansionPanelDescription, MatExpansionPanelContent } from '@angular/material/expansion';
46
47
  import { MatRipple } from '@angular/material/core';
47
48
  import * as i1$7 from '@ngbracket/ngx-layout/grid';
48
49
  import { InfiniteScrollDirective } from 'ngx-infinite-scroll';
@@ -51,7 +52,6 @@ import * as i1$8 from '@angular/material/chips';
51
52
  import { MatChipsModule } from '@angular/material/chips';
52
53
  import * as i2$1 from '@angular/material/tooltip';
53
54
  import { MatTooltipModule } from '@angular/material/tooltip';
54
- import { MatExpansionPanel, MatExpansionPanelHeader, MatExpansionPanelTitle, MatExpansionPanelDescription, MatExpansionPanelContent, MatAccordion } from '@angular/material/expansion';
55
55
 
56
56
  class PopoverPositionStrategy {
57
57
  static make(overlay, elementRef, config) {
@@ -4117,12 +4117,18 @@ class DbxFileUploadActionSyncDirective {
4117
4117
  source = inject(DbxActionContextStoreSourceInstance);
4118
4118
  uploadCompatable = inject(DbxFileUploadActionCompatable);
4119
4119
  constructor() {
4120
- cleanSubscription(this.source.isWorkingOrWorkProgress$.subscribe((working) => {
4121
- this.uploadCompatable.setWorking(working);
4122
- }));
4123
- cleanSubscription(this.source.isDisabled$.subscribe((disabled) => {
4124
- this.uploadCompatable.setDisabled(disabled);
4125
- }));
4120
+ cleanSubscriptionWithLockSet({
4121
+ lockSet: this.source.lockSet,
4122
+ sub: this.source.isWorkingOrWorkProgress$.subscribe((working) => {
4123
+ this.uploadCompatable.setWorking(working);
4124
+ })
4125
+ });
4126
+ cleanSubscriptionWithLockSet({
4127
+ lockSet: this.source.lockSet,
4128
+ sub: this.source.isDisabled$.subscribe((disabled) => {
4129
+ this.uploadCompatable.setDisabled(disabled);
4130
+ })
4131
+ });
4126
4132
  }
4127
4133
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxFileUploadActionSyncDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
4128
4134
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: DbxFileUploadActionSyncDirective, isStandalone: true, selector: "[dbxFileUploadActionSync]", ngImport: i0 });
@@ -5105,7 +5111,7 @@ class DbxActionSnackbarDirective {
5105
5111
  dbxActionSnackbarDefault = input(...(ngDevMode ? [undefined, { debugName: "dbxActionSnackbarDefault" }] : []));
5106
5112
  dbxActionSnackbarUndo = input(...(ngDevMode ? [undefined, { debugName: "dbxActionSnackbarUndo" }] : []));
5107
5113
  dbxActionSnackbar = input(undefined, { ...(ngDevMode ? { debugName: "dbxActionSnackbar" } : {}), transform: transformEmptyStringInputToUndefined });
5108
- _sub = cleanSubscription();
5114
+ _sub = cleanSubscriptionWithLockSet({ lockSet: this.source.lockSet });
5109
5115
  ngOnInit() {
5110
5116
  this._sub.setSub(this.source
5111
5117
  .pipeStore((store) => store.loadingState$)
@@ -5354,15 +5360,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
5354
5360
  class DbxActionConfirmDirective extends AbstractPromptConfirmDirective {
5355
5361
  source = inject((DbxActionContextStoreSourceInstance), { host: true });
5356
5362
  dbxActionConfirm = input(undefined, { ...(ngDevMode ? { debugName: "dbxActionConfirm" } : {}), transform: transformEmptyStringInputToUndefined });
5357
- _sourceSub = new SubscriptionObject();
5358
- ngOnInit() {
5359
- this._sourceSub.subscription = this.source.triggered$.subscribe(() => {
5360
- this.showDialog();
5363
+ constructor() {
5364
+ super();
5365
+ cleanSubscriptionWithLockSet({
5366
+ lockSet: this.source.lockSet,
5367
+ sub: this.source.triggered$.subscribe(() => {
5368
+ this.showDialog();
5369
+ })
5361
5370
  });
5362
5371
  }
5363
- ngOnDestroy() {
5364
- this._sourceSub.destroy();
5365
- }
5366
5372
  getDefaultDialogConfig() {
5367
5373
  return this.dbxActionConfirm();
5368
5374
  }
@@ -5375,7 +5381,7 @@ class DbxActionConfirmDirective extends AbstractPromptConfirmDirective {
5375
5381
  }
5376
5382
  return result;
5377
5383
  }
5378
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxActionConfirmDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
5384
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxActionConfirmDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5379
5385
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.0", type: DbxActionConfirmDirective, isStandalone: true, selector: "[dbxActionConfirm]", inputs: { dbxActionConfirm: { classPropertyName: "dbxActionConfirm", publicName: "dbxActionConfirm", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 });
5380
5386
  }
5381
5387
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxActionConfirmDirective, decorators: [{
@@ -5384,7 +5390,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
5384
5390
  selector: '[dbxActionConfirm]',
5385
5391
  standalone: true
5386
5392
  }]
5387
- }], propDecorators: { dbxActionConfirm: [{ type: i0.Input, args: [{ isSignal: true, alias: "dbxActionConfirm", required: false }] }] } });
5393
+ }], ctorParameters: () => [], propDecorators: { dbxActionConfirm: [{ type: i0.Input, args: [{ isSignal: true, alias: "dbxActionConfirm", required: false }] }] } });
5388
5394
 
5389
5395
  const DEFAULT_ACTION_KEY_TRIGGER = 'enter';
5390
5396
  /**
@@ -5619,12 +5625,15 @@ class DbxActionSnackbarErrorDirective {
5619
5625
  source = inject(DbxActionContextStoreSourceInstance);
5620
5626
  config = input(undefined, { ...(ngDevMode ? { debugName: "config" } : {}), alias: 'dbxActionSnackbarError' });
5621
5627
  constructor() {
5622
- cleanSubscription(this.source.error$.pipe(filterMaybe()).subscribe((inputError) => {
5623
- const config = this.config();
5624
- const error = toReadableError(inputError);
5625
- const snackbarConfig = config ? (typeof config === 'number' ? { duration: config } : config) : undefined;
5626
- this.dbxErrorSnackbarService.showSnackbarError(error, snackbarConfig);
5627
- }));
5628
+ cleanSubscriptionWithLockSet({
5629
+ lockSet: this.source.lockSet,
5630
+ sub: this.source.error$.pipe(filterMaybe()).subscribe((inputError) => {
5631
+ const config = this.config();
5632
+ const error = toReadableError(inputError);
5633
+ const snackbarConfig = config ? (typeof config === 'number' ? { duration: config } : config) : undefined;
5634
+ this.dbxErrorSnackbarService.showSnackbarError(error, snackbarConfig);
5635
+ })
5636
+ });
5628
5637
  }
5629
5638
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxActionSnackbarErrorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5630
5639
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.0", type: DbxActionSnackbarErrorDirective, isStandalone: true, selector: "[dbxActionSnackbarError]", inputs: { config: { classPropertyName: "config", publicName: "dbxActionSnackbarError", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
@@ -6467,6 +6476,226 @@ function dbxZipBlobPreviewEntryTreeFromEntries(entries) {
6467
6476
  return slashPathDirectoryTree(nodeValues);
6468
6477
  }
6469
6478
 
6479
+ const SCREEN_MEDIA_WIDTH_TYPE_SIZE_MAP = {
6480
+ micro: 0,
6481
+ small: 1,
6482
+ tablet: 2,
6483
+ large: 3,
6484
+ full: 4
6485
+ };
6486
+ /**
6487
+ * Compares the breakpoint with the current width and determines if it is "active" or not.
6488
+ *
6489
+ * The current is considered active if it is bigger or equal to the breakpoint.
6490
+ *
6491
+ * @param current
6492
+ * @param breakpoint
6493
+ */
6494
+ function screenMediaWidthTypeIsActive(current, breakpoint) {
6495
+ return compareScreenMediaWidthTypes(current, breakpoint, (a, b) => a >= b);
6496
+ }
6497
+ function compareScreenMediaWidthTypes(a, b, compare) {
6498
+ return compare(SCREEN_MEDIA_WIDTH_TYPE_SIZE_MAP[a], SCREEN_MEDIA_WIDTH_TYPE_SIZE_MAP[b]);
6499
+ }
6500
+
6501
+ /**
6502
+ * ScreenMediaService configuration.
6503
+ */
6504
+ class DbxScreenMediaServiceConfig {
6505
+ }
6506
+ const DEFAULT_SCREEN_MEDIA_SERVICE_CONFIG = {
6507
+ microScreenWidthMax: 360,
6508
+ smallScreenWidthMax: 520,
6509
+ tabletScreenWidthMax: 786,
6510
+ largeScreenWidthMax: 1280,
6511
+ tinyScreenHeightMax: 280
6512
+ };
6513
+ /**
6514
+ * Service that emits the current view type based on the configuration.
6515
+ */
6516
+ class DbxScreenMediaService {
6517
+ _media = inject(MediaMatcher);
6518
+ _microQuery;
6519
+ _smallQuery;
6520
+ _tabletQuery;
6521
+ _largeQuery;
6522
+ _tinyHeightQuery;
6523
+ _updateWidth = new Subject();
6524
+ _updateHeight = new Subject();
6525
+ widthType$ = this._updateWidth.pipe(initialize(() => this._updateWidth.next()), throttleTime(100, undefined, { leading: true, trailing: true }), map(() => this._readWidthType()), distinctUntilChanged(), shareReplay(1));
6526
+ heightType$ = this._updateWidth.pipe(initialize(() => this._updateHeight.next()), throttleTime(100, undefined, { leading: true, trailing: true }), map(() => this._readHeightType()), distinctUntilChanged(), shareReplay(1));
6527
+ constructor(config) {
6528
+ const { microScreenWidthMax, smallScreenWidthMax, tabletScreenWidthMax, largeScreenWidthMax } = config;
6529
+ this._microQuery = this._media.matchMedia(`screen and (max-width:${microScreenWidthMax}px)`);
6530
+ this._smallQuery = this._media.matchMedia(`screen and (max-width:${smallScreenWidthMax}px)`);
6531
+ this._tabletQuery = this._media.matchMedia(`screen and (max-width:${tabletScreenWidthMax}px)`);
6532
+ this._largeQuery = this._media.matchMedia(`screen and (max-width:${largeScreenWidthMax}px)`);
6533
+ this._tinyHeightQuery = this._media.matchMedia(`screen and (max-width:${largeScreenWidthMax}px)`);
6534
+ const widthHandler = () => this._updateWidth.next();
6535
+ const heightHandler = () => this._updateHeight.next();
6536
+ this._microQuery.onchange = widthHandler;
6537
+ this._smallQuery.onchange = widthHandler;
6538
+ this._tabletQuery.onchange = widthHandler;
6539
+ this._largeQuery.onchange = widthHandler;
6540
+ this._tinyHeightQuery.onchange = heightHandler;
6541
+ }
6542
+ destroy() {
6543
+ this._microQuery.onchange = null;
6544
+ this._smallQuery.onchange = null;
6545
+ this._tabletQuery.onchange = null;
6546
+ this._largeQuery.onchange = null;
6547
+ this._updateWidth.complete();
6548
+ this._updateHeight.complete();
6549
+ }
6550
+ /**
6551
+ * Returns an observable that detects whether or no the current width is greater or equal to the given breakpoint.
6552
+ *
6553
+ * @param inputBreakpoint
6554
+ * @returns
6555
+ */
6556
+ isBreakpointActive(inputBreakpoint) {
6557
+ return combineLatest([this.widthType$, asObservable(inputBreakpoint)]).pipe(map(([current, breakpoint]) => screenMediaWidthTypeIsActive(current, breakpoint)), distinctUntilChanged(), shareReplay(1));
6558
+ }
6559
+ _readWidthType() {
6560
+ let width;
6561
+ if (this._microQuery.matches) {
6562
+ width = 'micro';
6563
+ }
6564
+ else if (this._smallQuery.matches) {
6565
+ width = 'small';
6566
+ }
6567
+ else if (this._tabletQuery.matches) {
6568
+ width = 'tablet';
6569
+ }
6570
+ else if (this._largeQuery.matches) {
6571
+ width = 'large';
6572
+ }
6573
+ else {
6574
+ width = 'full';
6575
+ }
6576
+ return width;
6577
+ }
6578
+ _readHeightType() {
6579
+ if (this._tinyHeightQuery) {
6580
+ return 'tiny';
6581
+ }
6582
+ else {
6583
+ return 'normal';
6584
+ }
6585
+ }
6586
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxScreenMediaService, deps: [{ token: DbxScreenMediaServiceConfig }], target: i0.ɵɵFactoryTarget.Injectable });
6587
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxScreenMediaService });
6588
+ }
6589
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxScreenMediaService, decorators: [{
6590
+ type: Injectable
6591
+ }], ctorParameters: () => [{ type: DbxScreenMediaServiceConfig, decorators: [{
6592
+ type: Inject,
6593
+ args: [DbxScreenMediaServiceConfig]
6594
+ }] }] });
6595
+
6596
+ /**
6597
+ * Directive used to calculate a dynamic height for an accordion header.
6598
+ *
6599
+ * If the height calculates to zero or nullish/undefined no height change is applied.
6600
+ */
6601
+ class DbxAccordionHeaderHeightDirective {
6602
+ _screenMediaService = inject(DbxScreenMediaService);
6603
+ /**
6604
+ * The base height of the header.
6605
+ */
6606
+ dbxAccordionHeaderHeight = input(60, ...(ngDevMode ? [{ debugName: "dbxAccordionHeaderHeight" }] : []));
6607
+ /**
6608
+ * The amount of height to add to the header when expanded.
6609
+ */
6610
+ expandedHeightIncrease = input(undefined, ...(ngDevMode ? [{ debugName: "expandedHeightIncrease" }] : []));
6611
+ /**
6612
+ * The maximum allowed height of the header.
6613
+ */
6614
+ maxHeaderHeight = input(undefined, ...(ngDevMode ? [{ debugName: "maxHeaderHeight" }] : []));
6615
+ /**
6616
+ * Text used to help determine the height of the header.
6617
+ *
6618
+ * Height will stay static to the given header height when this is not set.
6619
+ *
6620
+ * Ignored if heightTextLines is set.
6621
+ */
6622
+ heightText = input(undefined, ...(ngDevMode ? [{ debugName: "heightText" }] : []));
6623
+ /**
6624
+ * The number of characters used for calculating a line.
6625
+ */
6626
+ heightTextLineLength = input(30, ...(ngDevMode ? [{ debugName: "heightTextLineLength" }] : []));
6627
+ /**
6628
+ * Number of lines of text to use for the height calculation.
6629
+ */
6630
+ heightTextLines = input(undefined, ...(ngDevMode ? [{ debugName: "heightTextLines" }] : []));
6631
+ /**
6632
+ * The amount of height to add for every line of text.
6633
+ */
6634
+ heightTextLineHeight = input(20, ...(ngDevMode ? [{ debugName: "heightTextLineHeight" }] : []));
6635
+ /**
6636
+ * Multiplier to apply to the height on small screens.
6637
+ */
6638
+ heightTextSmallScreenMultiplier = input(1.6, ...(ngDevMode ? [{ debugName: "heightTextSmallScreenMultiplier" }] : []));
6639
+ widthTypeSignal = toSignal(this._screenMediaService.widthType$);
6640
+ expansionPanelHeightSignal = computed(() => {
6641
+ const baseHeight = this.dbxAccordionHeaderHeight();
6642
+ const text = this.heightText();
6643
+ const textLines = this.heightTextLines();
6644
+ const textLineLength = this.heightTextLineLength();
6645
+ const textLineHeight = this.heightTextLineHeight();
6646
+ const maxHeaderHeight = this.maxHeaderHeight();
6647
+ const widthType = this.widthTypeSignal();
6648
+ const isSmallScreen = widthType === 'micro' || widthType === 'small';
6649
+ let height;
6650
+ // calculate lines from text content or use the provided line count
6651
+ let lines = textLines;
6652
+ if (text && textLines == null) {
6653
+ const lineLength = textLineLength;
6654
+ lines = Math.ceil(text.length / lineLength);
6655
+ }
6656
+ if (lines != null && lines > 0) {
6657
+ const lineHeight = textLineHeight;
6658
+ // on small screens text wraps more, so scale up estimated lines
6659
+ if (isSmallScreen) {
6660
+ const multiplier = this.heightTextSmallScreenMultiplier() ?? 1.6;
6661
+ lines = Math.ceil(lines * multiplier);
6662
+ }
6663
+ height = (baseHeight ?? 60) + lines * lineHeight;
6664
+ }
6665
+ else {
6666
+ height = baseHeight;
6667
+ }
6668
+ if (maxHeaderHeight != null && height != null && height > maxHeaderHeight) {
6669
+ height = maxHeaderHeight;
6670
+ }
6671
+ return height;
6672
+ }, ...(ngDevMode ? [{ debugName: "expansionPanelHeightSignal" }] : []));
6673
+ expansionPanelStyleSignal = computed(() => {
6674
+ const height = this.expansionPanelHeightSignal();
6675
+ const expandedHeightIncrease = this.expandedHeightIncrease() ?? 0;
6676
+ let result;
6677
+ if (height != null && height > 0) {
6678
+ result = {
6679
+ '--mat-expansion-header-collapsed-state-height': `${height}px`,
6680
+ '--mat-expansion-header-expanded-state-height': `${height + expandedHeightIncrease}px`
6681
+ };
6682
+ }
6683
+ return result;
6684
+ }, ...(ngDevMode ? [{ debugName: "expansionPanelStyleSignal" }] : []));
6685
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxAccordionHeaderHeightDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6686
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.0", type: DbxAccordionHeaderHeightDirective, isStandalone: true, selector: "[dbxAccordionHeaderHeight]", inputs: { dbxAccordionHeaderHeight: { classPropertyName: "dbxAccordionHeaderHeight", publicName: "dbxAccordionHeaderHeight", isSignal: true, isRequired: false, transformFunction: null }, expandedHeightIncrease: { classPropertyName: "expandedHeightIncrease", publicName: "expandedHeightIncrease", isSignal: true, isRequired: false, transformFunction: null }, maxHeaderHeight: { classPropertyName: "maxHeaderHeight", publicName: "maxHeaderHeight", isSignal: true, isRequired: false, transformFunction: null }, heightText: { classPropertyName: "heightText", publicName: "heightText", isSignal: true, isRequired: false, transformFunction: null }, heightTextLineLength: { classPropertyName: "heightTextLineLength", publicName: "heightTextLineLength", isSignal: true, isRequired: false, transformFunction: null }, heightTextLines: { classPropertyName: "heightTextLines", publicName: "heightTextLines", isSignal: true, isRequired: false, transformFunction: null }, heightTextLineHeight: { classPropertyName: "heightTextLineHeight", publicName: "heightTextLineHeight", isSignal: true, isRequired: false, transformFunction: null }, heightTextSmallScreenMultiplier: { classPropertyName: "heightTextSmallScreenMultiplier", publicName: "heightTextSmallScreenMultiplier", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style": "expansionPanelStyleSignal()" } }, ngImport: i0 });
6687
+ }
6688
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxAccordionHeaderHeightDirective, decorators: [{
6689
+ type: Directive,
6690
+ args: [{
6691
+ selector: '[dbxAccordionHeaderHeight]',
6692
+ host: {
6693
+ '[style]': 'expansionPanelStyleSignal()'
6694
+ },
6695
+ standalone: true
6696
+ }]
6697
+ }], propDecorators: { dbxAccordionHeaderHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "dbxAccordionHeaderHeight", required: false }] }], expandedHeightIncrease: [{ type: i0.Input, args: [{ isSignal: true, alias: "expandedHeightIncrease", required: false }] }], maxHeaderHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxHeaderHeight", required: false }] }], heightText: [{ type: i0.Input, args: [{ isSignal: true, alias: "heightText", required: false }] }], heightTextLineLength: [{ type: i0.Input, args: [{ isSignal: true, alias: "heightTextLineLength", required: false }] }], heightTextLines: [{ type: i0.Input, args: [{ isSignal: true, alias: "heightTextLines", required: false }] }], heightTextLineHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "heightTextLineHeight", required: false }] }], heightTextSmallScreenMultiplier: [{ type: i0.Input, args: [{ isSignal: true, alias: "heightTextSmallScreenMultiplier", required: false }] }] } });
6698
+
6470
6699
  // MARK: Injection Token
6471
6700
  /**
6472
6701
  * Injection token for the avatar context data.
@@ -7628,131 +7857,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
7628
7857
  }]
7629
7858
  }], ctorParameters: () => [], propDecorators: { anchorForItem: [{ type: i0.Input, args: [{ isSignal: true, alias: "dbxListItemAnchorModifier", required: false }] }] } });
7630
7859
 
7631
- const SCREEN_MEDIA_WIDTH_TYPE_SIZE_MAP = {
7632
- micro: 0,
7633
- small: 1,
7634
- tablet: 2,
7635
- large: 3,
7636
- full: 4
7637
- };
7638
- /**
7639
- * Compares the breakpoint with the current width and determines if it is "active" or not.
7640
- *
7641
- * The current is considered active if it is bigger or equal to the breakpoint.
7642
- *
7643
- * @param current
7644
- * @param breakpoint
7645
- */
7646
- function screenMediaWidthTypeIsActive(current, breakpoint) {
7647
- return compareScreenMediaWidthTypes(current, breakpoint, (a, b) => a >= b);
7648
- }
7649
- function compareScreenMediaWidthTypes(a, b, compare) {
7650
- return compare(SCREEN_MEDIA_WIDTH_TYPE_SIZE_MAP[a], SCREEN_MEDIA_WIDTH_TYPE_SIZE_MAP[b]);
7651
- }
7652
-
7653
- /**
7654
- * ScreenMediaService configuration.
7655
- */
7656
- class DbxScreenMediaServiceConfig {
7657
- }
7658
- const DEFAULT_SCREEN_MEDIA_SERVICE_CONFIG = {
7659
- microScreenWidthMax: 360,
7660
- smallScreenWidthMax: 520,
7661
- tabletScreenWidthMax: 786,
7662
- largeScreenWidthMax: 1280,
7663
- tinyScreenHeightMax: 280
7664
- };
7665
7860
  /**
7666
- * Service that emits the current view type based on the configuration.
7861
+ * Component that displays a navbar.
7667
7862
  */
7668
- class DbxScreenMediaService {
7669
- _media = inject(MediaMatcher);
7670
- _microQuery;
7671
- _smallQuery;
7672
- _tabletQuery;
7673
- _largeQuery;
7674
- _tinyHeightQuery;
7675
- _updateWidth = new Subject();
7676
- _updateHeight = new Subject();
7677
- widthType$ = this._updateWidth.pipe(initialize(() => this._updateWidth.next()), throttleTime(100, undefined, { leading: true, trailing: true }), map(() => this._readWidthType()), distinctUntilChanged(), shareReplay(1));
7678
- heightType$ = this._updateWidth.pipe(initialize(() => this._updateHeight.next()), throttleTime(100, undefined, { leading: true, trailing: true }), map(() => this._readHeightType()), distinctUntilChanged(), shareReplay(1));
7679
- constructor(config) {
7680
- const { microScreenWidthMax, smallScreenWidthMax, tabletScreenWidthMax, largeScreenWidthMax } = config;
7681
- this._microQuery = this._media.matchMedia(`screen and (max-width:${microScreenWidthMax}px)`);
7682
- this._smallQuery = this._media.matchMedia(`screen and (max-width:${smallScreenWidthMax}px)`);
7683
- this._tabletQuery = this._media.matchMedia(`screen and (max-width:${tabletScreenWidthMax}px)`);
7684
- this._largeQuery = this._media.matchMedia(`screen and (max-width:${largeScreenWidthMax}px)`);
7685
- this._tinyHeightQuery = this._media.matchMedia(`screen and (max-width:${largeScreenWidthMax}px)`);
7686
- const widthHandler = () => this._updateWidth.next();
7687
- const heightHandler = () => this._updateHeight.next();
7688
- this._microQuery.onchange = widthHandler;
7689
- this._smallQuery.onchange = widthHandler;
7690
- this._tabletQuery.onchange = widthHandler;
7691
- this._largeQuery.onchange = widthHandler;
7692
- this._tinyHeightQuery.onchange = heightHandler;
7693
- }
7694
- destroy() {
7695
- this._microQuery.onchange = null;
7696
- this._smallQuery.onchange = null;
7697
- this._tabletQuery.onchange = null;
7698
- this._largeQuery.onchange = null;
7699
- this._updateWidth.complete();
7700
- this._updateHeight.complete();
7701
- }
7863
+ class DbxNavbarComponent extends AbstractTransitionDirective {
7864
+ _dbxScreenMediaService = inject(DbxScreenMediaService);
7865
+ _dbxRouterService = inject(DbxRouterService);
7702
7866
  /**
7703
- * Returns an observable that detects whether or no the current width is greater or equal to the given breakpoint.
7704
- *
7705
- * @param inputBreakpoint
7706
- * @returns
7707
- */
7708
- isBreakpointActive(inputBreakpoint) {
7709
- return combineLatest([this.widthType$, asObservable(inputBreakpoint)]).pipe(map(([current, breakpoint]) => screenMediaWidthTypeIsActive(current, breakpoint)), distinctUntilChanged(), shareReplay(1));
7710
- }
7711
- _readWidthType() {
7712
- let width;
7713
- if (this._microQuery.matches) {
7714
- width = 'micro';
7715
- }
7716
- else if (this._smallQuery.matches) {
7717
- width = 'small';
7718
- }
7719
- else if (this._tabletQuery.matches) {
7720
- width = 'tablet';
7721
- }
7722
- else if (this._largeQuery.matches) {
7723
- width = 'large';
7724
- }
7725
- else {
7726
- width = 'full';
7727
- }
7728
- return width;
7729
- }
7730
- _readHeightType() {
7731
- if (this._tinyHeightQuery) {
7732
- return 'tiny';
7733
- }
7734
- else {
7735
- return 'normal';
7736
- }
7737
- }
7738
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxScreenMediaService, deps: [{ token: DbxScreenMediaServiceConfig }], target: i0.ɵɵFactoryTarget.Injectable });
7739
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxScreenMediaService });
7740
- }
7741
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxScreenMediaService, decorators: [{
7742
- type: Injectable
7743
- }], ctorParameters: () => [{ type: DbxScreenMediaServiceConfig, decorators: [{
7744
- type: Inject,
7745
- args: [DbxScreenMediaServiceConfig]
7746
- }] }] });
7747
-
7748
- /**
7749
- * Component that displays a navbar.
7750
- */
7751
- class DbxNavbarComponent extends AbstractTransitionDirective {
7752
- _dbxScreenMediaService = inject(DbxScreenMediaService);
7753
- _dbxRouterService = inject(DbxRouterService);
7754
- /**
7755
- * Whether or not to show the dropwdown caret for a menu
7867
+ * Whether or not to show the dropwdown caret for a menu
7756
7868
  */
7757
7869
  showMenuCaret = input(false, ...(ngDevMode ? [{ debugName: "showMenuCaret" }] : []));
7758
7870
  navAlign = input('center', ...(ngDevMode ? [{ debugName: "navAlign" }] : []));
@@ -7826,6 +7938,7 @@ var SideNavDisplayMode;
7826
7938
  * Navigation component that sits at the side of an app.
7827
7939
  */
7828
7940
  class DbxSidenavComponent extends AbstractTransitionWatcherDirective {
7941
+ _sidenavSub = cleanSubscription();
7829
7942
  _screenMediaService = inject(DbxScreenMediaService);
7830
7943
  color = input(undefined, ...(ngDevMode ? [{ debugName: "color" }] : []));
7831
7944
  sidenav = viewChild.required(MatSidenav);
@@ -7850,10 +7963,9 @@ class DbxSidenavComponent extends AbstractTransitionWatcherDirective {
7850
7963
  modeSignal = toSignal(this.mode$);
7851
7964
  disableBackdropSignal = computed(() => this.modeSignal() !== SideNavDisplayMode.MOBILE, ...(ngDevMode ? [{ debugName: "disableBackdropSignal" }] : []));
7852
7965
  sizeCssClassSignal = computed(() => `dbx-sidenav-${this.modeSignal()}`, ...(ngDevMode ? [{ debugName: "sizeCssClassSignal" }] : []));
7853
- stateSignal = computed(() => {
7854
- const mode = this.modeSignal();
7966
+ state$ = this.mode$.pipe(map((mode) => {
7855
7967
  let drawer = 'over';
7856
- let open = false;
7968
+ let open = true;
7857
7969
  switch (mode) {
7858
7970
  case SideNavDisplayMode.MOBILE:
7859
7971
  drawer = 'over';
@@ -7862,7 +7974,7 @@ class DbxSidenavComponent extends AbstractTransitionWatcherDirective {
7862
7974
  case SideNavDisplayMode.ICON:
7863
7975
  case SideNavDisplayMode.FULL:
7864
7976
  drawer = 'side';
7865
- open = true;
7977
+ open = true; // always show
7866
7978
  break;
7867
7979
  }
7868
7980
  return {
@@ -7870,14 +7982,17 @@ class DbxSidenavComponent extends AbstractTransitionWatcherDirective {
7870
7982
  drawer,
7871
7983
  open
7872
7984
  };
7873
- }, ...(ngDevMode ? [{ debugName: "stateSignal" }] : []));
7874
- drawerSignal = computed(() => this.stateSignal().drawer, ...(ngDevMode ? [{ debugName: "drawerSignal" }] : []));
7875
- _stateSignalToggleEffect = effect(() => {
7876
- const state = this.stateSignal();
7877
- if (state.open != null) {
7878
- this._toggleNav(state.open, true);
7879
- }
7880
- }, ...(ngDevMode ? [{ debugName: "_stateSignalToggleEffect" }] : []));
7985
+ }), distinctUntilChanged((a, b) => a.mode === b.mode && a.drawer === b.drawer && a.open === b.open), shareReplay(1));
7986
+ stateSignal = toSignal(this.state$);
7987
+ drawerSignal = computed(() => this.stateSignal()?.drawer ?? 'over', ...(ngDevMode ? [{ debugName: "drawerSignal" }] : []));
7988
+ ngOnInit() {
7989
+ // wait until the child sidenav has initialized
7990
+ this._sidenavSub.setSub(this.state$.subscribe((state) => {
7991
+ if (state?.open != null) {
7992
+ this._toggleNav(state.open, true);
7993
+ }
7994
+ }));
7995
+ }
7881
7996
  updateForSuccessfulTransition() {
7882
7997
  this.closeNav();
7883
7998
  }
@@ -7889,7 +8004,7 @@ class DbxSidenavComponent extends AbstractTransitionWatcherDirective {
7889
8004
  }
7890
8005
  _toggleNav(toggleOpen, forced = false) {
7891
8006
  toggleOpen = toggleOpen ?? !this.sidenav().opened;
7892
- const mode = this.stateSignal().mode;
8007
+ const mode = this.stateSignal()?.mode;
7893
8008
  let open;
7894
8009
  if (!forced) {
7895
8010
  switch (mode) {
@@ -9011,88 +9126,122 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
9011
9126
  }]
9012
9127
  }] });
9013
9128
 
9014
- const DEFAULT_LIST_GRID_SIZE_CONFIG = {
9015
- columns: 'repeat(auto-fill, minmax(320px, 1fr))',
9016
- gap: '8px'
9017
- };
9129
+ // MARK: DbxValueListAccordionViewContentGroupComponent
9018
9130
  /**
9019
- * Optional parent directive used to control grid size.
9131
+ * Renders a single group of items within the accordion view.
9020
9132
  */
9021
- class DbxValueListGridSizeDirective {
9022
- gridSize = input.required({ ...(ngDevMode ? { debugName: "gridSize" } : {}), alias: 'dbxListGridSize' });
9023
- gridSize$ = toObservable(this.gridSize);
9024
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxValueListGridSizeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
9025
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.0", type: DbxValueListGridSizeDirective, isStandalone: true, selector: "[dbxListGridSize]", inputs: { gridSize: { classPropertyName: "gridSize", publicName: "dbxListGridSize", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 });
9133
+ class DbxValueListAccordionViewContentGroupComponent {
9134
+ dbxValueListAccordionViewContentComponent = inject((DbxValueListAccordionViewContentComponent));
9135
+ group = input(...(ngDevMode ? [undefined, { debugName: "group" }] : []));
9136
+ trackByFunctionSignal = toSignal(this.dbxValueListAccordionViewContentComponent.trackBy$, { initialValue: DEFAULT_VALUE_LIST_VIEW_CONTENT_COMPONENT_TRACK_BY_FUNCTION });
9137
+ itemsSignal = computed(() => this.group()?.items ?? [], ...(ngDevMode ? [{ debugName: "itemsSignal" }] : []));
9138
+ headerConfigSignal = computed(() => this.group()?.headerConfig, ...(ngDevMode ? [{ debugName: "headerConfigSignal" }] : []));
9139
+ footerConfigSignal = computed(() => this.group()?.footerConfig, ...(ngDevMode ? [{ debugName: "footerConfigSignal" }] : []));
9140
+ cssClassSignal = computed(() => spaceSeparatedCssClasses(this.group()?.cssClasses), ...(ngDevMode ? [{ debugName: "cssClassSignal" }] : []));
9141
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxValueListAccordionViewContentGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9142
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: DbxValueListAccordionViewContentGroupComponent, isStandalone: true, selector: "dbx-list-accordion-view-content-group", inputs: { group: { classPropertyName: "group", publicName: "group", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "cssClassSignal()" }, classAttribute: "dbx-list-view-group" }, ngImport: i0, template: `
9143
+ <div class="dbx-list-view-group-content">
9144
+ @if (headerConfigSignal()) {
9145
+ <div class="dbx-list-view-group-header">
9146
+ <dbx-injection [config]="headerConfigSignal()"></dbx-injection>
9147
+ </div>
9148
+ }
9149
+ @for (item of itemsSignal(); track trackByFunctionSignal()($index, item)) {
9150
+ <div dbx-injection [config]="item.config"></div>
9151
+ }
9152
+ @if (footerConfigSignal()) {
9153
+ <div class="dbx-list-view-group-footer">
9154
+ <dbx-injection [config]="footerConfigSignal()"></dbx-injection>
9155
+ </div>
9156
+ }
9157
+ </div>
9158
+ `, isInline: true, dependencies: [{ kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9026
9159
  }
9027
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxValueListGridSizeDirective, decorators: [{
9028
- type: Directive,
9160
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxValueListAccordionViewContentGroupComponent, decorators: [{
9161
+ type: Component,
9029
9162
  args: [{
9030
- selector: '[dbxListGridSize]',
9163
+ selector: 'dbx-list-accordion-view-content-group',
9164
+ template: `
9165
+ <div class="dbx-list-view-group-content">
9166
+ @if (headerConfigSignal()) {
9167
+ <div class="dbx-list-view-group-header">
9168
+ <dbx-injection [config]="headerConfigSignal()"></dbx-injection>
9169
+ </div>
9170
+ }
9171
+ @for (item of itemsSignal(); track trackByFunctionSignal()($index, item)) {
9172
+ <div dbx-injection [config]="item.config"></div>
9173
+ }
9174
+ @if (footerConfigSignal()) {
9175
+ <div class="dbx-list-view-group-footer">
9176
+ <dbx-injection [config]="footerConfigSignal()"></dbx-injection>
9177
+ </div>
9178
+ }
9179
+ </div>
9180
+ `,
9181
+ host: {
9182
+ class: 'dbx-list-view-group',
9183
+ '[class]': 'cssClassSignal()'
9184
+ },
9185
+ imports: [DbxInjectionComponent],
9186
+ changeDetection: ChangeDetectionStrategy.OnPush,
9031
9187
  standalone: true
9032
9188
  }]
9033
- }], propDecorators: { gridSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "dbxListGridSize", required: true }] }] } });
9189
+ }], propDecorators: { group: [{ type: i0.Input, args: [{ isSignal: true, alias: "group", required: false }] }] } });
9190
+ // MARK: DbxValueListAccordionViewContentComponent
9034
9191
  /**
9035
- * Content view for a DbxValueListGridView. It can be used directly in cases where the items are already configured, or want to be configured in a non-standard fashion.
9192
+ * Content view for a DbxValueListAccordionView. Renders items inside a mat-accordion.
9193
+ *
9194
+ * Each item component is responsible for rendering its own mat-expansion-panel structure.
9036
9195
  */
9037
- class DbxValueListGridViewContentComponent extends DbxValueListViewContentComponent {
9038
- _gridSizeOverride = inject(DbxValueListGridSizeDirective, { optional: true });
9039
- inputGridConfig = input(undefined, { ...(ngDevMode ? { debugName: "inputGridConfig" } : {}), alias: 'grid' });
9040
- gridConfigFromGridSizeSignal = toSignal(this._gridSizeOverride?.gridSize$ ?? of(undefined));
9041
- gridConfigSignal = computed(() => {
9042
- return mergeObjects([DEFAULT_LIST_GRID_SIZE_CONFIG, this.inputGridConfig(), this.gridConfigFromGridSizeSignal()]);
9043
- }, ...(ngDevMode ? [{ debugName: "gridConfigSignal" }] : []));
9044
- trackByFunctionSignal = toSignal(this.trackBy$, { initialValue: DEFAULT_VALUE_LIST_VIEW_CONTENT_COMPONENT_TRACK_BY_FUNCTION });
9045
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxValueListGridViewContentComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
9046
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: DbxValueListGridViewContentComponent, isStandalone: true, selector: "dbx-list-grid-view-content", inputs: { inputGridConfig: { classPropertyName: "inputGridConfig", publicName: "grid", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "dbx-list-grid-view" }, usesInheritance: true, ngImport: i0, template: `
9047
- <div [gdGap]="gridConfigSignal().gap" [gdColumns]="gridConfigSignal().columns">
9048
- @for (item of items(); track trackByFunctionSignal()($index, item)) {
9049
- <dbx-anchor class="dbx-list-grid-view-item" matRipple [matRippleDisabled]="rippleDisabledOnItem(item)" [anchor]="item.anchor" [disabled]="item.disabled" (click)="onClickItem(item)">
9050
- <div dbx-injection [config]="item.config"></div>
9051
- </dbx-anchor>
9196
+ class DbxValueListAccordionViewContentComponent extends DbxValueListViewContentComponent {
9197
+ multi = input(...(ngDevMode ? [undefined, { debugName: "multi" }] : []));
9198
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxValueListAccordionViewContentComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
9199
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: DbxValueListAccordionViewContentComponent, isStandalone: true, selector: "dbx-list-accordion-view-content", inputs: { multi: { classPropertyName: "multi", publicName: "multi", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "dbx-list-accordion-view" }, usesInheritance: true, ngImport: i0, template: `
9200
+ <mat-accordion [multi]="multi() ?? false">
9201
+ @for (group of groupsSignal(); track group.id) {
9202
+ <dbx-list-accordion-view-content-group [group]="group"></dbx-list-accordion-view-content-group>
9052
9203
  }
9053
- </div>
9054
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: FlexLayoutModule }, { kind: "directive", type: i1$7.DefaultGridColumnsDirective, selector: " [gdColumns], [gdColumns.xs], [gdColumns.sm], [gdColumns.md], [gdColumns.lg], [gdColumns.xl], [gdColumns.lt-sm], [gdColumns.lt-md], [gdColumns.lt-lg], [gdColumns.lt-xl], [gdColumns.gt-xs], [gdColumns.gt-sm], [gdColumns.gt-md], [gdColumns.gt-lg]", inputs: ["gdColumns", "gdColumns.xs", "gdColumns.sm", "gdColumns.md", "gdColumns.lg", "gdColumns.xl", "gdColumns.lt-sm", "gdColumns.lt-md", "gdColumns.lt-lg", "gdColumns.lt-xl", "gdColumns.gt-xs", "gdColumns.gt-sm", "gdColumns.gt-md", "gdColumns.gt-lg"] }, { kind: "directive", type: i1$7.DefaultGridGapDirective, selector: " [gdGap], [gdGap.xs], [gdGap.sm], [gdGap.md], [gdGap.lg], [gdGap.xl], [gdGap.lt-sm], [gdGap.lt-md], [gdGap.lt-lg], [gdGap.lt-xl], [gdGap.gt-xs], [gdGap.gt-sm], [gdGap.gt-md], [gdGap.gt-lg]", inputs: ["gdGap", "gdGap.xs", "gdGap.sm", "gdGap.md", "gdGap.lg", "gdGap.xl", "gdGap.lt-sm", "gdGap.lt-md", "gdGap.lt-lg", "gdGap.lt-xl", "gdGap.gt-xs", "gdGap.gt-sm", "gdGap.gt-md", "gdGap.gt-lg"] }, { kind: "directive", type: MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { 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 });
9204
+ </mat-accordion>
9205
+ `, isInline: true, dependencies: [{ kind: "directive", type: MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: DbxValueListAccordionViewContentGroupComponent, selector: "dbx-list-accordion-view-content-group", inputs: ["group"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9055
9206
  }
9056
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxValueListGridViewContentComponent, decorators: [{
9207
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxValueListAccordionViewContentComponent, decorators: [{
9057
9208
  type: Component,
9058
9209
  args: [{
9059
- selector: 'dbx-list-grid-view-content',
9210
+ selector: 'dbx-list-accordion-view-content',
9060
9211
  template: `
9061
- <div [gdGap]="gridConfigSignal().gap" [gdColumns]="gridConfigSignal().columns">
9062
- @for (item of items(); track trackByFunctionSignal()($index, item)) {
9063
- <dbx-anchor class="dbx-list-grid-view-item" matRipple [matRippleDisabled]="rippleDisabledOnItem(item)" [anchor]="item.anchor" [disabled]="item.disabled" (click)="onClickItem(item)">
9064
- <div dbx-injection [config]="item.config"></div>
9065
- </dbx-anchor>
9212
+ <mat-accordion [multi]="multi() ?? false">
9213
+ @for (group of groupsSignal(); track group.id) {
9214
+ <dbx-list-accordion-view-content-group [group]="group"></dbx-list-accordion-view-content-group>
9066
9215
  }
9067
- </div>
9216
+ </mat-accordion>
9068
9217
  `,
9069
9218
  host: {
9070
- class: 'dbx-list-grid-view'
9219
+ class: 'dbx-list-accordion-view'
9071
9220
  },
9072
9221
  standalone: true,
9073
- imports: [FlexLayoutModule, MatRipple, DbxAnchorComponent, DbxInjectionComponent],
9222
+ imports: [MatAccordion, DbxValueListAccordionViewContentGroupComponent],
9074
9223
  changeDetection: ChangeDetectionStrategy.OnPush
9075
9224
  }]
9076
- }], propDecorators: { inputGridConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "grid", required: false }] }] } });
9077
- // MARK: DbxValueListGridViewComponent
9225
+ }], propDecorators: { multi: [{ type: i0.Input, args: [{ isSignal: true, alias: "multi", required: false }] }] } });
9226
+ // MARK: DbxValueListAccordionViewComponent
9078
9227
  /**
9079
- * Renders a grid view using input configuration. Requires a parent DbxListView.
9228
+ * Renders an accordion view using input configuration. Requires a parent DbxListView.
9080
9229
  */
9081
- class DbxValueListGridViewComponent extends AbstractDbxValueListViewDirective {
9082
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxValueListGridViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
9083
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: DbxValueListGridViewComponent, isStandalone: true, selector: "dbx-list-grid-view", usesInheritance: true, ngImport: i0, template: `
9084
- <dbx-list-grid-view-content [items]="itemsSignal()" [grid]="config().grid" [emitAllClicks]="config().emitAllClicks"></dbx-list-grid-view-content>
9085
- `, isInline: true, dependencies: [{ kind: "component", type: DbxValueListGridViewContentComponent, selector: "dbx-list-grid-view-content", inputs: ["grid"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9230
+ class DbxValueListAccordionViewComponent extends AbstractDbxValueListViewDirective {
9231
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxValueListAccordionViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
9232
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: DbxValueListAccordionViewComponent, isStandalone: true, selector: "dbx-list-accordion-view", usesInheritance: true, ngImport: i0, template: `
9233
+ <dbx-list-accordion-view-content [items]="itemsSignal()" [multi]="config().multi" [emitAllClicks]="config().emitAllClicks"></dbx-list-accordion-view-content>
9234
+ `, isInline: true, dependencies: [{ kind: "component", type: DbxValueListAccordionViewContentComponent, selector: "dbx-list-accordion-view-content", inputs: ["multi"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9086
9235
  }
9087
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxValueListGridViewComponent, decorators: [{
9236
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxValueListAccordionViewComponent, decorators: [{
9088
9237
  type: Component,
9089
9238
  args: [{
9090
- selector: 'dbx-list-grid-view',
9239
+ selector: 'dbx-list-accordion-view',
9091
9240
  template: `
9092
- <dbx-list-grid-view-content [items]="itemsSignal()" [grid]="config().grid" [emitAllClicks]="config().emitAllClicks"></dbx-list-grid-view-content>
9241
+ <dbx-list-accordion-view-content [items]="itemsSignal()" [multi]="config().multi" [emitAllClicks]="config().emitAllClicks"></dbx-list-accordion-view-content>
9093
9242
  `,
9094
9243
  standalone: true,
9095
- imports: [DbxValueListGridViewContentComponent],
9244
+ imports: [DbxValueListAccordionViewContentComponent],
9096
9245
  changeDetection: ChangeDetectionStrategy.OnPush
9097
9246
  }]
9098
9247
  }] });
@@ -9165,6 +9314,185 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
9165
9314
  type: Directive
9166
9315
  }], propDecorators: { valuesArray: [{ type: i0.Input, args: [{ isSignal: true, alias: "valuesArray", required: false }] }], values: [{ type: i0.Input, args: [{ isSignal: true, alias: "values", required: false }] }], clickValue: [{ type: i0.Output, args: ["clickValue"] }] } });
9167
9316
 
9317
+ const DEFAULT_DBX_LIST_ACCORDION_VIEW_COMPONENT_CONFIGURATION_TEMPLATE = '<dbx-list-accordion-view [config]="config"></dbx-list-accordion-view>';
9318
+ const dbxListAccordionViewComponentImportsAndExports = [DbxValueListAccordionViewComponent];
9319
+ class DbxListAccordionViewComponentImportsModule {
9320
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxListAccordionViewComponentImportsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9321
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.0", ngImport: i0, type: DbxListAccordionViewComponentImportsModule, imports: [DbxValueListAccordionViewComponent], exports: [DbxValueListAccordionViewComponent] });
9322
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxListAccordionViewComponentImportsModule, imports: [dbxListAccordionViewComponentImportsAndExports] });
9323
+ }
9324
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxListAccordionViewComponentImportsModule, decorators: [{
9325
+ type: NgModule,
9326
+ args: [{
9327
+ exports: dbxListAccordionViewComponentImportsAndExports,
9328
+ imports: dbxListAccordionViewComponentImportsAndExports
9329
+ }]
9330
+ }] });
9331
+ /**
9332
+ * Abstract DbxListAccordionView implementation.
9333
+ */
9334
+ class AbstractDbxListAccordionViewDirective extends AbstractDbxListViewDirective {
9335
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AbstractDbxListAccordionViewDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
9336
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: AbstractDbxListAccordionViewDirective, isStandalone: true, usesInheritance: true, ngImport: i0 });
9337
+ }
9338
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AbstractDbxListAccordionViewDirective, decorators: [{
9339
+ type: Directive
9340
+ }] });
9341
+
9342
+ const DEFAULT_LIST_GRID_SIZE_CONFIG = {
9343
+ columns: 'repeat(auto-fill, minmax(320px, 1fr))',
9344
+ gap: '8px'
9345
+ };
9346
+ /**
9347
+ * Optional parent directive used to control grid size.
9348
+ */
9349
+ class DbxValueListGridSizeDirective {
9350
+ gridSize = input.required({ ...(ngDevMode ? { debugName: "gridSize" } : {}), alias: 'dbxListGridSize' });
9351
+ gridSize$ = toObservable(this.gridSize);
9352
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxValueListGridSizeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
9353
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.0", type: DbxValueListGridSizeDirective, isStandalone: true, selector: "[dbxListGridSize]", inputs: { gridSize: { classPropertyName: "gridSize", publicName: "dbxListGridSize", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 });
9354
+ }
9355
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxValueListGridSizeDirective, decorators: [{
9356
+ type: Directive,
9357
+ args: [{
9358
+ selector: '[dbxListGridSize]',
9359
+ standalone: true
9360
+ }]
9361
+ }], propDecorators: { gridSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "dbxListGridSize", required: true }] }] } });
9362
+ // MARK: DbxValueListGridViewContentGroupComponent
9363
+ /**
9364
+ * Renders a single group of items within the grid view.
9365
+ */
9366
+ class DbxValueListGridViewContentGroupComponent {
9367
+ dbxValueListGridViewContentComponent = inject((DbxValueListGridViewContentComponent));
9368
+ group = input(...(ngDevMode ? [undefined, { debugName: "group" }] : []));
9369
+ trackByFunctionSignal = toSignal(this.dbxValueListGridViewContentComponent.trackBy$, { initialValue: DEFAULT_VALUE_LIST_VIEW_CONTENT_COMPONENT_TRACK_BY_FUNCTION });
9370
+ gridConfigSignal = this.dbxValueListGridViewContentComponent.gridConfigSignal;
9371
+ itemsSignal = computed(() => this.group()?.items ?? [], ...(ngDevMode ? [{ debugName: "itemsSignal" }] : []));
9372
+ headerConfigSignal = computed(() => this.group()?.headerConfig, ...(ngDevMode ? [{ debugName: "headerConfigSignal" }] : []));
9373
+ footerConfigSignal = computed(() => this.group()?.footerConfig, ...(ngDevMode ? [{ debugName: "footerConfigSignal" }] : []));
9374
+ cssClassSignal = computed(() => spaceSeparatedCssClasses(this.group()?.cssClasses), ...(ngDevMode ? [{ debugName: "cssClassSignal" }] : []));
9375
+ onClickItem(item) {
9376
+ this.dbxValueListGridViewContentComponent.onClickItem(item);
9377
+ }
9378
+ rippleDisabledOnItem(item) {
9379
+ return this.dbxValueListGridViewContentComponent.rippleDisabledOnItem(item);
9380
+ }
9381
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxValueListGridViewContentGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9382
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: DbxValueListGridViewContentGroupComponent, isStandalone: true, selector: "dbx-list-grid-view-content-group", inputs: { group: { classPropertyName: "group", publicName: "group", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "cssClassSignal()" }, classAttribute: "dbx-list-view-group" }, ngImport: i0, template: `
9383
+ <div class="dbx-list-view-group-content">
9384
+ @if (headerConfigSignal()) {
9385
+ <div class="dbx-list-view-group-header">
9386
+ <dbx-injection [config]="headerConfigSignal()"></dbx-injection>
9387
+ </div>
9388
+ }
9389
+ <div [gdGap]="gridConfigSignal().gap" [gdColumns]="gridConfigSignal().columns">
9390
+ @for (item of itemsSignal(); track trackByFunctionSignal()($index, item)) {
9391
+ <dbx-anchor class="dbx-list-grid-view-item" matRipple [matRippleDisabled]="rippleDisabledOnItem(item)" [anchor]="item.anchor" [disabled]="item.disabled" (click)="onClickItem(item)">
9392
+ <div dbx-injection [config]="item.config"></div>
9393
+ </dbx-anchor>
9394
+ }
9395
+ </div>
9396
+ @if (footerConfigSignal()) {
9397
+ <div class="dbx-list-view-group-footer">
9398
+ <dbx-injection [config]="footerConfigSignal()"></dbx-injection>
9399
+ </div>
9400
+ }
9401
+ </div>
9402
+ `, isInline: true, dependencies: [{ kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { kind: "component", type: DbxAnchorComponent, selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }, { kind: "ngmodule", type: FlexLayoutModule }, { kind: "directive", type: i1$7.DefaultGridColumnsDirective, selector: " [gdColumns], [gdColumns.xs], [gdColumns.sm], [gdColumns.md], [gdColumns.lg], [gdColumns.xl], [gdColumns.lt-sm], [gdColumns.lt-md], [gdColumns.lt-lg], [gdColumns.lt-xl], [gdColumns.gt-xs], [gdColumns.gt-sm], [gdColumns.gt-md], [gdColumns.gt-lg]", inputs: ["gdColumns", "gdColumns.xs", "gdColumns.sm", "gdColumns.md", "gdColumns.lg", "gdColumns.xl", "gdColumns.lt-sm", "gdColumns.lt-md", "gdColumns.lt-lg", "gdColumns.lt-xl", "gdColumns.gt-xs", "gdColumns.gt-sm", "gdColumns.gt-md", "gdColumns.gt-lg"] }, { kind: "directive", type: i1$7.DefaultGridGapDirective, selector: " [gdGap], [gdGap.xs], [gdGap.sm], [gdGap.md], [gdGap.lg], [gdGap.xl], [gdGap.lt-sm], [gdGap.lt-md], [gdGap.lt-lg], [gdGap.lt-xl], [gdGap.gt-xs], [gdGap.gt-sm], [gdGap.gt-md], [gdGap.gt-lg]", inputs: ["gdGap", "gdGap.xs", "gdGap.sm", "gdGap.md", "gdGap.lg", "gdGap.xl", "gdGap.lt-sm", "gdGap.lt-md", "gdGap.lt-lg", "gdGap.lt-xl", "gdGap.gt-xs", "gdGap.gt-sm", "gdGap.gt-md", "gdGap.gt-lg"] }, { kind: "directive", type: MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9403
+ }
9404
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxValueListGridViewContentGroupComponent, decorators: [{
9405
+ type: Component,
9406
+ args: [{
9407
+ selector: 'dbx-list-grid-view-content-group',
9408
+ template: `
9409
+ <div class="dbx-list-view-group-content">
9410
+ @if (headerConfigSignal()) {
9411
+ <div class="dbx-list-view-group-header">
9412
+ <dbx-injection [config]="headerConfigSignal()"></dbx-injection>
9413
+ </div>
9414
+ }
9415
+ <div [gdGap]="gridConfigSignal().gap" [gdColumns]="gridConfigSignal().columns">
9416
+ @for (item of itemsSignal(); track trackByFunctionSignal()($index, item)) {
9417
+ <dbx-anchor class="dbx-list-grid-view-item" matRipple [matRippleDisabled]="rippleDisabledOnItem(item)" [anchor]="item.anchor" [disabled]="item.disabled" (click)="onClickItem(item)">
9418
+ <div dbx-injection [config]="item.config"></div>
9419
+ </dbx-anchor>
9420
+ }
9421
+ </div>
9422
+ @if (footerConfigSignal()) {
9423
+ <div class="dbx-list-view-group-footer">
9424
+ <dbx-injection [config]="footerConfigSignal()"></dbx-injection>
9425
+ </div>
9426
+ }
9427
+ </div>
9428
+ `,
9429
+ host: {
9430
+ class: 'dbx-list-view-group',
9431
+ '[class]': 'cssClassSignal()'
9432
+ },
9433
+ imports: [DbxInjectionComponent, DbxAnchorComponent, FlexLayoutModule, MatRipple],
9434
+ changeDetection: ChangeDetectionStrategy.OnPush,
9435
+ standalone: true
9436
+ }]
9437
+ }], propDecorators: { group: [{ type: i0.Input, args: [{ isSignal: true, alias: "group", required: false }] }] } });
9438
+ // MARK: DbxValueListGridViewContentComponent
9439
+ /**
9440
+ * Content view for a DbxValueListGridView. It can be used directly in cases where the items are already configured, or want to be configured in a non-standard fashion.
9441
+ */
9442
+ class DbxValueListGridViewContentComponent extends DbxValueListViewContentComponent {
9443
+ _gridSizeOverride = inject(DbxValueListGridSizeDirective, { optional: true });
9444
+ inputGridConfig = input(undefined, { ...(ngDevMode ? { debugName: "inputGridConfig" } : {}), alias: 'grid' });
9445
+ gridConfigFromGridSizeSignal = toSignal(this._gridSizeOverride?.gridSize$ ?? of(undefined));
9446
+ gridConfigSignal = computed(() => {
9447
+ return mergeObjects([DEFAULT_LIST_GRID_SIZE_CONFIG, this.inputGridConfig(), this.gridConfigFromGridSizeSignal()]);
9448
+ }, ...(ngDevMode ? [{ debugName: "gridConfigSignal" }] : []));
9449
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxValueListGridViewContentComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
9450
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: DbxValueListGridViewContentComponent, isStandalone: true, selector: "dbx-list-grid-view-content", inputs: { inputGridConfig: { classPropertyName: "inputGridConfig", publicName: "grid", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "dbx-list-grid-view" }, usesInheritance: true, ngImport: i0, template: `
9451
+ @for (group of groupsSignal(); track group.id) {
9452
+ <dbx-list-grid-view-content-group [group]="group"></dbx-list-grid-view-content-group>
9453
+ }
9454
+ `, isInline: true, dependencies: [{ kind: "component", type: DbxValueListGridViewContentGroupComponent, selector: "dbx-list-grid-view-content-group", inputs: ["group"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9455
+ }
9456
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxValueListGridViewContentComponent, decorators: [{
9457
+ type: Component,
9458
+ args: [{
9459
+ selector: 'dbx-list-grid-view-content',
9460
+ template: `
9461
+ @for (group of groupsSignal(); track group.id) {
9462
+ <dbx-list-grid-view-content-group [group]="group"></dbx-list-grid-view-content-group>
9463
+ }
9464
+ `,
9465
+ host: {
9466
+ class: 'dbx-list-grid-view'
9467
+ },
9468
+ standalone: true,
9469
+ imports: [DbxValueListGridViewContentGroupComponent],
9470
+ changeDetection: ChangeDetectionStrategy.OnPush
9471
+ }]
9472
+ }], propDecorators: { inputGridConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "grid", required: false }] }] } });
9473
+ // MARK: DbxValueListGridViewComponent
9474
+ /**
9475
+ * Renders a grid view using input configuration. Requires a parent DbxListView.
9476
+ */
9477
+ class DbxValueListGridViewComponent extends AbstractDbxValueListViewDirective {
9478
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxValueListGridViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
9479
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.0", type: DbxValueListGridViewComponent, isStandalone: true, selector: "dbx-list-grid-view", usesInheritance: true, ngImport: i0, template: `
9480
+ <dbx-list-grid-view-content [items]="itemsSignal()" [grid]="config().grid" [emitAllClicks]="config().emitAllClicks"></dbx-list-grid-view-content>
9481
+ `, isInline: true, dependencies: [{ kind: "component", type: DbxValueListGridViewContentComponent, selector: "dbx-list-grid-view-content", inputs: ["grid"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
9482
+ }
9483
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: DbxValueListGridViewComponent, decorators: [{
9484
+ type: Component,
9485
+ args: [{
9486
+ selector: 'dbx-list-grid-view',
9487
+ template: `
9488
+ <dbx-list-grid-view-content [items]="itemsSignal()" [grid]="config().grid" [emitAllClicks]="config().emitAllClicks"></dbx-list-grid-view-content>
9489
+ `,
9490
+ standalone: true,
9491
+ imports: [DbxValueListGridViewContentComponent],
9492
+ changeDetection: ChangeDetectionStrategy.OnPush
9493
+ }]
9494
+ }] });
9495
+
9168
9496
  const DEFAULT_DBX_LIST_GRID_VIEW_COMPONENT_CONFIGURATION_TEMPLATE = '<dbx-list-grid-view [config]="config"></dbx-list-grid-view>';
9169
9497
  const dbxListGridViewComponentImportsAndExports = [DbxValueListGridViewComponent];
9170
9498
  class DbxListGridViewComponentImportsModule {
@@ -9935,6 +10263,21 @@ class AbstractDbxValueListViewItemComponent {
9935
10263
  get itemValue() {
9936
10264
  return this.item.itemValue;
9937
10265
  }
10266
+ get itemIcon() {
10267
+ return this.item.icon;
10268
+ }
10269
+ get itemDisabled() {
10270
+ return this.item.disabled;
10271
+ }
10272
+ get itemRippleDisabled() {
10273
+ return this.item.rippleDisabled;
10274
+ }
10275
+ get itemSelected() {
10276
+ return this.item.selected;
10277
+ }
10278
+ get itemAnchor() {
10279
+ return this.item.anchor;
10280
+ }
9938
10281
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: AbstractDbxValueListViewItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
9939
10282
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.0", type: AbstractDbxValueListViewItemComponent, isStandalone: true, ngImport: i0 });
9940
10283
  }
@@ -11984,5 +12327,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
11984
12327
  * Generated bundle index. Do not edit.
11985
12328
  */
11986
12329
 
11987
- export { APP_POPUP_MINIMIZED_WIDTH, APP_POPUP_NORMAL_HEIGHT, APP_POPUP_NORMAL_WIDTH, AbstractDbxClipboardDirective, AbstractDbxErrorWidgetComponent, AbstractDbxFileUploadComponent, AbstractDbxHelpWidgetDirective, AbstractDbxListGridViewDirective, AbstractDbxListViewDirective, AbstractDbxListWrapperDirective, AbstractDbxPartialPresetFilterMenuDirective, AbstractDbxSegueAnchorDirective, AbstractDbxSelectionListViewDirective, AbstractDbxSelectionListWrapperDirective, AbstractDbxValueListItemModifierDirective, AbstractDbxValueListViewDirective, AbstractDbxValueListViewItemComponent, AbstractDbxWidgetComponent, AbstractDialogDirective, AbstractFilterPopoverButtonDirective, AbstractPopoverDirective, AbstractPopoverRefDirective, AbstractPopoverRefWithEventsDirective, AbstractPopupDirective, AbstractPromptConfirmDirective, CompactContextStore, CompactMode, DBX_ACTION_SNACKBAR_DEFAULTS, DBX_ACTION_SNACKBAR_SERVICE_CONFIG, DBX_AVATAR_CONTEXT_DATA_TOKEN, DBX_DARK_STYLE_CLASS_SUFFIX, DBX_HELP_WIDGET_ENTRY_DATA_TOKEN, DBX_LIST_DEFAULT_SCROLL_DISTANCE, DBX_LIST_DEFAULT_THROTTLE_SCROLL, DBX_LIST_ITEM_DEFAULT_DISABLE_FUNCTION, DBX_LIST_ITEM_DISABLE_RIPPLE_LIST_ITEM_MODIFIER_KEY, DBX_LIST_ITEM_IS_SELECTED_ITEM_MODIFIER_KEY, DBX_LIST_VIEW_DEFAULT_META_ICON, DBX_MODEL_VIEW_TRACKER_STORAGE_ACCESSOR_TOKEN, DBX_PROGRESS_BUTTON_GLOBAL_CONFIG, DBX_ROUTER_ANCHOR_COMPONENTS, DBX_ROUTER_VALUE_LIST_ITEM_MODIFIER_KEY, DBX_STYLE_DEFAULT_CONFIG_TOKEN, DBX_THEME_COLORS, DBX_THEME_COLORS_EXTRA, DBX_THEME_COLORS_EXTRA_SECONDARY, DBX_THEME_COLORS_MAIN, DBX_VALUE_LIST_VIEW_ITEM, DBX_WEB_FILE_PREVIEW_SERVICE_DEFAULT_DIALOG_WITH_COMPONENT_FUNCTION, DBX_WEB_FILE_PREVIEW_SERVICE_DEFAULT_PREVIEW_COMPONENT_FUNCTION, DBX_WEB_FILE_PREVIEW_SERVICE_ENTRIES_TOKEN, DBX_WEB_FILE_PREVIEW_SERVICE_ZIP_COMPONENT_PRESET, DBX_WEB_FILE_PREVIEW_SERVICE_ZIP_PRESET_ENTRY, DEFAULT_DBX_ERROR_SNACKBAR_CONFIG, DEFAULT_DBX_HELP_VIEW_POPOVER_KEY, DEFAULT_DBX_LINKIFY_STRING_TYPE, DEFAULT_DBX_LIST_GRID_VIEW_COMPONENT_CONFIGURATION_TEMPLATE, DEFAULT_DBX_LIST_ITEM_IS_SELECTED_FUNCTION, DEFAULT_DBX_PROMPT_CONFIRM_DIALOG_CONFIG, DEFAULT_DBX_SELECTION_VALUE_LIST_COMPONENT_CONFIGURATION_TEMPLATE, DEFAULT_DBX_SIDENAV_MENU_ICON, DEFAULT_DBX_VALUE_LIST_COMPONENT_CONFIGURATION_TEMPLATE, DEFAULT_DBX_VALUE_LIST_CONFIG_MAP_VALUES, DEFAULT_ERROR_POPOVER_KEY, DEFAULT_ERROR_WIDGET_CODE, DEFAULT_FILTER_POPOVER_KEY, DEFAULT_LIST_GRID_SIZE_CONFIG, DEFAULT_LIST_WRAPPER_COMPONENT_CONFIGURATION_TEMPLATE, DEFAULT_LOADING_PROGRESS_DIAMETER, DEFAULT_SCREEN_MEDIA_SERVICE_CONFIG, DEFAULT_SNACKBAR_DIRECTIVE_DURATION, DEFAULT_TWO_COLUMNS_MIN_RIGHT_WIDTH, DEFAULT_VALUE_LIST_VIEW_CONTENT_COMPONENT_TRACK_BY_FUNCTION, DbxActionConfirmDirective, DbxActionDialogDirective, DbxActionErrorDirective, DbxActionKeyTriggerDirective, DbxActionLoadingContextDirective, DbxActionModule, DbxActionPopoverDirective, DbxActionSnackbarComponent, DbxActionSnackbarDirective, DbxActionSnackbarErrorDirective, DbxActionSnackbarModule, DbxActionSnackbarService, DbxActionTransitionSafetyDirective, DbxActionUIRouterTransitionSafetyDialogComponent, DbxAnchorComponent, DbxAnchorContentComponent, DbxAnchorIconComponent, DbxAnchorListComponent, DbxAngularRouterSegueAnchorComponent, DbxAvatarComponent, DbxAvatarViewService, DbxAvatarViewServiceConfig, DbxBarDirective, DbxBarHeaderComponent, DbxBarLayoutModule, DbxBasicLoadingComponent, DbxBodyDirective, DbxButtonComponent, DbxButtonModule, DbxButtonSpacerDirective, DbxCardBoxComponent, DbxCardBoxContainerDirective, DbxCardBoxLayoutModule, DbxChipDirective, DbxClickToCopyTextComponent, DbxClickToCopyTextDirective, DbxColorDirective, DbxColumnLayoutModule, DbxCompactDirective, DbxCompactLayoutModule, DbxContentBorderDirective, DbxContentBoxDirective, DbxContentContainerDirective, DbxContentDirective, DbxContentElevateDirective, DbxContentLayoutModule, DbxContentPageDirective, DbxContentPitDirective, DbxDetailBlockComponent, DbxDetailBlockHeaderComponent, DbxDialogContentCloseComponent, DbxDialogContentDirective, DbxDialogContentFooterComponent, DbxDialogInteractionModule, DbxDialogModule, DbxDownloadBlobButtonComponent, DbxDownloadTextViewComponent, DbxEmbedComponent, DbxErrorComponent, DbxErrorDefaultErrorWidgetComponent, DbxErrorDetailsComponent, DbxErrorPopoverComponent, DbxErrorSnackbarComponent, DbxErrorSnackbarService, DbxErrorViewComponent, DbxErrorWidgetService, DbxErrorWidgetViewComponent, DbxFileUploadActionCompatable, DbxFileUploadActionSyncDirective, DbxFileUploadAreaComponent, DbxFileUploadButtonComponent, DbxFileUploadComponent, DbxFilterInteractionModule, DbxFilterPopoverButtonComponent, DbxFilterPopoverComponent, DbxFilterWrapperComponent, DbxFlagComponent, DbxFlagLayoutModule, DbxFlagPromptComponent, DbxFlexGroupDirective, DbxFlexLayoutModule, DbxFlexSizeDirective, DbxHelpContextDirective, DbxHelpContextService, DbxHelpViewListComponent, DbxHelpViewListEntryComponent, DbxHelpViewPopoverButtonComponent, DbxHelpViewPopoverComponent, DbxHelpWidgetService, DbxHelpWidgetServiceConfig, DbxIconButtonComponent, DbxIconButtonModule, DbxIconItemComponent, DbxIconSpacerDirective, DbxIfSidenavDisplayModeDirective, DbxIframeComponent, DbxInjectionDialogComponent, DbxInteractionModule, DbxIntroActionSectionComponent, DbxLabelBlockComponent, DbxLayoutModule, DbxLinkComponent, DbxLinkifyComponent, DbxLinkifyService, DbxLinkifyServiceConfig, DbxListComponent, DbxListEmptyContentComponent, DbxListGridViewComponentImportsModule, DbxListInternalContentDirective, DbxListItemAnchorModifierDirective, DbxListItemDisableRippleModifierDirective, DbxListItemIsSelectedModifierDirective, DbxListModifierModule, DbxListModule, DbxListTitleGroupDirective, DbxListView, DbxListViewMetaIconComponent, DbxListViewWrapper, DbxListWrapperComponentImportsModule, DbxLoadingComponent, DbxLoadingErrorDirective, DbxLoadingModule, DbxLoadingProgressComponent, DbxModelObjectStateService, actions as DbxModelStateActions, model_actions as DbxModelStateModelActions, DbxModelTrackerService, DbxModelTypesService, DbxModelViewTrackerStorage, DbxNavbarComponent, DbxNumberWithLimitComponent, DbxOneColumnComponent, DbxOneColumnLayoutModule, DbxPagebarComponent, DbxPartialPresetFilterListComponent, DbxPartialPresetFilterMenuComponent, DbxPopoverCloseButtonComponent, DbxPopoverComponent, DbxPopoverComponentController, DbxPopoverContentComponent, DbxPopoverController, DbxPopoverControlsDirective, DbxPopoverCoordinatorComponent, DbxPopoverCoordinatorService, DbxPopoverHeaderComponent, DbxPopoverInteractionContentModule, DbxPopoverInteractionModule, DbxPopoverScrollContentDirective, DbxPopoverService, DbxPopupComponent, DbxPopupComponentController, DbxPopupContentComponent, DbxPopupControlButtonsComponent, DbxPopupController, DbxPopupControlsComponent, DbxPopupCoordinatorComponent, DbxPopupCoordinatorService, DbxPopupInteractionModule, DbxPopupService, DbxPopupWindowState, DbxPresetFilterListComponent, DbxPresetFilterMenuComponent, DbxProgressBarButtonComponent, DbxProgressButtonsModule, DbxProgressSpinnerButtonComponent, DbxPromptBoxDirective, DbxPromptComponent, DbxPromptConfirm, DbxPromptConfirmButtonDirective, DbxPromptConfirmComponent, DbxPromptConfirmDialogComponent, DbxPromptConfirmDirective, DbxPromptModule, DbxPromptPageComponent, DbxReadableErrorModule, DbxResizedDirective, DbxRouterAnchorModule, DbxRouterLayoutModule, DbxRouterSidenavModule, DbxRouterWebProviderConfig, DbxScreenMediaService, DbxScreenMediaServiceConfig, DbxSectionComponent, DbxSectionHeaderComponent, DbxSectionLayoutModule, DbxSectionPageComponent, DbxSelectionValueListViewComponent, DbxSelectionValueListViewComponentImportsModule, DbxSelectionValueListViewContentComponent, DbxSetStyleDirective, DbxSidenavButtonComponent, DbxSidenavComponent, DbxSidenavPageComponent, DbxSidenavPagebarComponent, DbxSpacerDirective, DbxStepComponent, DbxStepLayoutModule, DbxStructureDirective, DbxStructureModule, DbxStyleBodyDirective, DbxStyleDirective, DbxStyleLayoutModule, DbxStyleService, DbxSubSectionComponent, DbxTextChipsComponent, DbxTextModule, DbxTwoBlockComponent, DbxTwoColumnBackDirective, DbxTwoColumnColumnHeadDirective, DbxTwoColumnComponent, DbxTwoColumnContextDirective, DbxTwoColumnFullLeftDirective, DbxTwoColumnLayoutModule, DbxTwoColumnRightComponent, DbxTwoColumnSrefDirective, DbxTwoColumnSrefShowRightDirective, DbxUIRouterSegueAnchorComponent, DbxUnitedStatesAddressComponent, DbxValueListGridSizeDirective, DbxValueListGridViewComponent, DbxValueListGridViewContentComponent, DbxValueListItemModifier, DbxValueListItemModifierDirective, DbxValueListView, DbxValueListViewComponent, DbxValueListViewComponentImportsModule, DbxValueListViewContentComponent, DbxValueListViewContentGroupComponent, DbxValueListViewGroupDelegate, DbxWebFilePreviewComponent, DbxWebFilePreviewService, DbxWebModule, DbxWidgetListGridComponent, DbxWidgetListGridViewComponent, DbxWidgetListGridViewItemComponent, DbxWidgetService, DbxWidgetViewComponent, DbxWindowKeyDownListenerDirective, DbxZipBlobPreviewComponent, DbxZipPreviewComponent, PopoverPositionStrategy, PopupGlobalPositionStrategy, SCREEN_MEDIA_WIDTH_TYPE_SIZE_MAP, SideNavDisplayMode, TRACK_BY_MODEL_ID, TRACK_BY_MODEL_KEY, TwoColumnsContextStore, UNKNOWN_ERROR_WIDGET_CODE, addConfigToValueListItems, allDbxModelViewTrackerEventModelKeys, allDbxModelViewTrackerEventSetModelKeys, catchErrorServerParams, compactModeFromInput, compareScreenMediaWidthTypes, convertServerErrorParams, convertToPOJOServerErrorResponse, convertToServerErrorResponse, copyToClipboardFunction, dbxColorBackground, dbxListGridViewComponentImportsAndExports, dbxPresetFilterMenuButtonIconObservable, dbxPresetFilterMenuButtonTextObservable, dbxStyleClassCleanSuffix, dbxValueListItemDecisionFunction, dbxZipBlobPreviewEntryTreeFromEntries, defaultDbxModelViewTrackerStorageAccessorFactory, defaultDbxValueListViewGroupDelegate, defaultDbxValueListViewGroupValuesFunction, disableRightClickInCdkBackdrop, fileAcceptFilterTypeStringArray, fileAcceptFunction, fileAcceptString, fileArrayAcceptMatchFunction, index as fromDbxModel, injectCopyToClipboardFunction, injectCopyToClipboardFunctionWithSnackbarMessage, listItemModifier, makeDbxActionSnackbarDisplayConfigGeneratorFunction, mapCompactModeObs, mapValuesToValuesListItemConfigObs, index$1 as onDbxModel, openEmbedDialog, openIframeDialog, openZipPreviewDialog, overrideClickElementEffect, provideDbxFileUploadActionCompatable, provideDbxHelpServices, provideDbxLinkify, provideDbxListView, provideDbxListViewWrapper, provideDbxModelService, provideDbxProgressButtonGlobalConfig, provideDbxPromptConfirm, provideDbxRouterWebAngularRouterProviderConfig, provideDbxRouterWebUiRouterProviderConfig, provideDbxScreenMediaService, provideDbxStyleService, provideDbxValueListView, provideDbxValueListViewGroupDelegate, provideDbxValueListViewModifier, provideDbxWebFilePreviewServiceEntries, provideTwoColumnsContext, registerHelpContextKeysWithDbxHelpContextService, resizeSignal, sanitizeDbxDialogContentConfig, screenMediaWidthTypeIsActive, trackByModelKeyRef, trackByUniqueIdentifier };
12330
+ export { APP_POPUP_MINIMIZED_WIDTH, APP_POPUP_NORMAL_HEIGHT, APP_POPUP_NORMAL_WIDTH, AbstractDbxClipboardDirective, AbstractDbxErrorWidgetComponent, AbstractDbxFileUploadComponent, AbstractDbxHelpWidgetDirective, AbstractDbxListAccordionViewDirective, AbstractDbxListGridViewDirective, AbstractDbxListViewDirective, AbstractDbxListWrapperDirective, AbstractDbxPartialPresetFilterMenuDirective, AbstractDbxSegueAnchorDirective, AbstractDbxSelectionListViewDirective, AbstractDbxSelectionListWrapperDirective, AbstractDbxValueListItemModifierDirective, AbstractDbxValueListViewDirective, AbstractDbxValueListViewItemComponent, AbstractDbxWidgetComponent, AbstractDialogDirective, AbstractFilterPopoverButtonDirective, AbstractPopoverDirective, AbstractPopoverRefDirective, AbstractPopoverRefWithEventsDirective, AbstractPopupDirective, AbstractPromptConfirmDirective, CompactContextStore, CompactMode, DBX_ACTION_SNACKBAR_DEFAULTS, DBX_ACTION_SNACKBAR_SERVICE_CONFIG, DBX_AVATAR_CONTEXT_DATA_TOKEN, DBX_DARK_STYLE_CLASS_SUFFIX, DBX_HELP_WIDGET_ENTRY_DATA_TOKEN, DBX_LIST_DEFAULT_SCROLL_DISTANCE, DBX_LIST_DEFAULT_THROTTLE_SCROLL, DBX_LIST_ITEM_DEFAULT_DISABLE_FUNCTION, DBX_LIST_ITEM_DISABLE_RIPPLE_LIST_ITEM_MODIFIER_KEY, DBX_LIST_ITEM_IS_SELECTED_ITEM_MODIFIER_KEY, DBX_LIST_VIEW_DEFAULT_META_ICON, DBX_MODEL_VIEW_TRACKER_STORAGE_ACCESSOR_TOKEN, DBX_PROGRESS_BUTTON_GLOBAL_CONFIG, DBX_ROUTER_ANCHOR_COMPONENTS, DBX_ROUTER_VALUE_LIST_ITEM_MODIFIER_KEY, DBX_STYLE_DEFAULT_CONFIG_TOKEN, DBX_THEME_COLORS, DBX_THEME_COLORS_EXTRA, DBX_THEME_COLORS_EXTRA_SECONDARY, DBX_THEME_COLORS_MAIN, DBX_VALUE_LIST_VIEW_ITEM, DBX_WEB_FILE_PREVIEW_SERVICE_DEFAULT_DIALOG_WITH_COMPONENT_FUNCTION, DBX_WEB_FILE_PREVIEW_SERVICE_DEFAULT_PREVIEW_COMPONENT_FUNCTION, DBX_WEB_FILE_PREVIEW_SERVICE_ENTRIES_TOKEN, DBX_WEB_FILE_PREVIEW_SERVICE_ZIP_COMPONENT_PRESET, DBX_WEB_FILE_PREVIEW_SERVICE_ZIP_PRESET_ENTRY, DEFAULT_DBX_ERROR_SNACKBAR_CONFIG, DEFAULT_DBX_HELP_VIEW_POPOVER_KEY, DEFAULT_DBX_LINKIFY_STRING_TYPE, DEFAULT_DBX_LIST_ACCORDION_VIEW_COMPONENT_CONFIGURATION_TEMPLATE, DEFAULT_DBX_LIST_GRID_VIEW_COMPONENT_CONFIGURATION_TEMPLATE, DEFAULT_DBX_LIST_ITEM_IS_SELECTED_FUNCTION, DEFAULT_DBX_PROMPT_CONFIRM_DIALOG_CONFIG, DEFAULT_DBX_SELECTION_VALUE_LIST_COMPONENT_CONFIGURATION_TEMPLATE, DEFAULT_DBX_SIDENAV_MENU_ICON, DEFAULT_DBX_VALUE_LIST_COMPONENT_CONFIGURATION_TEMPLATE, DEFAULT_DBX_VALUE_LIST_CONFIG_MAP_VALUES, DEFAULT_ERROR_POPOVER_KEY, DEFAULT_ERROR_WIDGET_CODE, DEFAULT_FILTER_POPOVER_KEY, DEFAULT_LIST_GRID_SIZE_CONFIG, DEFAULT_LIST_WRAPPER_COMPONENT_CONFIGURATION_TEMPLATE, DEFAULT_LOADING_PROGRESS_DIAMETER, DEFAULT_SCREEN_MEDIA_SERVICE_CONFIG, DEFAULT_SNACKBAR_DIRECTIVE_DURATION, DEFAULT_TWO_COLUMNS_MIN_RIGHT_WIDTH, DEFAULT_VALUE_LIST_VIEW_CONTENT_COMPONENT_TRACK_BY_FUNCTION, DbxAccordionHeaderHeightDirective, DbxActionConfirmDirective, DbxActionDialogDirective, DbxActionErrorDirective, DbxActionKeyTriggerDirective, DbxActionLoadingContextDirective, DbxActionModule, DbxActionPopoverDirective, DbxActionSnackbarComponent, DbxActionSnackbarDirective, DbxActionSnackbarErrorDirective, DbxActionSnackbarModule, DbxActionSnackbarService, DbxActionTransitionSafetyDirective, DbxActionUIRouterTransitionSafetyDialogComponent, DbxAnchorComponent, DbxAnchorContentComponent, DbxAnchorIconComponent, DbxAnchorListComponent, DbxAngularRouterSegueAnchorComponent, DbxAvatarComponent, DbxAvatarViewService, DbxAvatarViewServiceConfig, DbxBarDirective, DbxBarHeaderComponent, DbxBarLayoutModule, DbxBasicLoadingComponent, DbxBodyDirective, DbxButtonComponent, DbxButtonModule, DbxButtonSpacerDirective, DbxCardBoxComponent, DbxCardBoxContainerDirective, DbxCardBoxLayoutModule, DbxChipDirective, DbxClickToCopyTextComponent, DbxClickToCopyTextDirective, DbxColorDirective, DbxColumnLayoutModule, DbxCompactDirective, DbxCompactLayoutModule, DbxContentBorderDirective, DbxContentBoxDirective, DbxContentContainerDirective, DbxContentDirective, DbxContentElevateDirective, DbxContentLayoutModule, DbxContentPageDirective, DbxContentPitDirective, DbxDetailBlockComponent, DbxDetailBlockHeaderComponent, DbxDialogContentCloseComponent, DbxDialogContentDirective, DbxDialogContentFooterComponent, DbxDialogInteractionModule, DbxDialogModule, DbxDownloadBlobButtonComponent, DbxDownloadTextViewComponent, DbxEmbedComponent, DbxErrorComponent, DbxErrorDefaultErrorWidgetComponent, DbxErrorDetailsComponent, DbxErrorPopoverComponent, DbxErrorSnackbarComponent, DbxErrorSnackbarService, DbxErrorViewComponent, DbxErrorWidgetService, DbxErrorWidgetViewComponent, DbxFileUploadActionCompatable, DbxFileUploadActionSyncDirective, DbxFileUploadAreaComponent, DbxFileUploadButtonComponent, DbxFileUploadComponent, DbxFilterInteractionModule, DbxFilterPopoverButtonComponent, DbxFilterPopoverComponent, DbxFilterWrapperComponent, DbxFlagComponent, DbxFlagLayoutModule, DbxFlagPromptComponent, DbxFlexGroupDirective, DbxFlexLayoutModule, DbxFlexSizeDirective, DbxHelpContextDirective, DbxHelpContextService, DbxHelpViewListComponent, DbxHelpViewListEntryComponent, DbxHelpViewPopoverButtonComponent, DbxHelpViewPopoverComponent, DbxHelpWidgetService, DbxHelpWidgetServiceConfig, DbxIconButtonComponent, DbxIconButtonModule, DbxIconItemComponent, DbxIconSpacerDirective, DbxIfSidenavDisplayModeDirective, DbxIframeComponent, DbxInjectionDialogComponent, DbxInteractionModule, DbxIntroActionSectionComponent, DbxLabelBlockComponent, DbxLayoutModule, DbxLinkComponent, DbxLinkifyComponent, DbxLinkifyService, DbxLinkifyServiceConfig, DbxListAccordionViewComponentImportsModule, DbxListComponent, DbxListEmptyContentComponent, DbxListGridViewComponentImportsModule, DbxListInternalContentDirective, DbxListItemAnchorModifierDirective, DbxListItemDisableRippleModifierDirective, DbxListItemIsSelectedModifierDirective, DbxListModifierModule, DbxListModule, DbxListTitleGroupDirective, DbxListView, DbxListViewMetaIconComponent, DbxListViewWrapper, DbxListWrapperComponentImportsModule, DbxLoadingComponent, DbxLoadingErrorDirective, DbxLoadingModule, DbxLoadingProgressComponent, DbxModelObjectStateService, actions as DbxModelStateActions, model_actions as DbxModelStateModelActions, DbxModelTrackerService, DbxModelTypesService, DbxModelViewTrackerStorage, DbxNavbarComponent, DbxNumberWithLimitComponent, DbxOneColumnComponent, DbxOneColumnLayoutModule, DbxPagebarComponent, DbxPartialPresetFilterListComponent, DbxPartialPresetFilterMenuComponent, DbxPopoverCloseButtonComponent, DbxPopoverComponent, DbxPopoverComponentController, DbxPopoverContentComponent, DbxPopoverController, DbxPopoverControlsDirective, DbxPopoverCoordinatorComponent, DbxPopoverCoordinatorService, DbxPopoverHeaderComponent, DbxPopoverInteractionContentModule, DbxPopoverInteractionModule, DbxPopoverScrollContentDirective, DbxPopoverService, DbxPopupComponent, DbxPopupComponentController, DbxPopupContentComponent, DbxPopupControlButtonsComponent, DbxPopupController, DbxPopupControlsComponent, DbxPopupCoordinatorComponent, DbxPopupCoordinatorService, DbxPopupInteractionModule, DbxPopupService, DbxPopupWindowState, DbxPresetFilterListComponent, DbxPresetFilterMenuComponent, DbxProgressBarButtonComponent, DbxProgressButtonsModule, DbxProgressSpinnerButtonComponent, DbxPromptBoxDirective, DbxPromptComponent, DbxPromptConfirm, DbxPromptConfirmButtonDirective, DbxPromptConfirmComponent, DbxPromptConfirmDialogComponent, DbxPromptConfirmDirective, DbxPromptModule, DbxPromptPageComponent, DbxReadableErrorModule, DbxResizedDirective, DbxRouterAnchorModule, DbxRouterLayoutModule, DbxRouterSidenavModule, DbxRouterWebProviderConfig, DbxScreenMediaService, DbxScreenMediaServiceConfig, DbxSectionComponent, DbxSectionHeaderComponent, DbxSectionLayoutModule, DbxSectionPageComponent, DbxSelectionValueListViewComponent, DbxSelectionValueListViewComponentImportsModule, DbxSelectionValueListViewContentComponent, DbxSetStyleDirective, DbxSidenavButtonComponent, DbxSidenavComponent, DbxSidenavPageComponent, DbxSidenavPagebarComponent, DbxSpacerDirective, DbxStepComponent, DbxStepLayoutModule, DbxStructureDirective, DbxStructureModule, DbxStyleBodyDirective, DbxStyleDirective, DbxStyleLayoutModule, DbxStyleService, DbxSubSectionComponent, DbxTextChipsComponent, DbxTextModule, DbxTwoBlockComponent, DbxTwoColumnBackDirective, DbxTwoColumnColumnHeadDirective, DbxTwoColumnComponent, DbxTwoColumnContextDirective, DbxTwoColumnFullLeftDirective, DbxTwoColumnLayoutModule, DbxTwoColumnRightComponent, DbxTwoColumnSrefDirective, DbxTwoColumnSrefShowRightDirective, DbxUIRouterSegueAnchorComponent, DbxUnitedStatesAddressComponent, DbxValueListAccordionViewComponent, DbxValueListAccordionViewContentComponent, DbxValueListAccordionViewContentGroupComponent, DbxValueListGridSizeDirective, DbxValueListGridViewComponent, DbxValueListGridViewContentComponent, DbxValueListGridViewContentGroupComponent, DbxValueListItemModifier, DbxValueListItemModifierDirective, DbxValueListView, DbxValueListViewComponent, DbxValueListViewComponentImportsModule, DbxValueListViewContentComponent, DbxValueListViewContentGroupComponent, DbxValueListViewGroupDelegate, DbxWebFilePreviewComponent, DbxWebFilePreviewService, DbxWebModule, DbxWidgetListGridComponent, DbxWidgetListGridViewComponent, DbxWidgetListGridViewItemComponent, DbxWidgetService, DbxWidgetViewComponent, DbxWindowKeyDownListenerDirective, DbxZipBlobPreviewComponent, DbxZipPreviewComponent, PopoverPositionStrategy, PopupGlobalPositionStrategy, SCREEN_MEDIA_WIDTH_TYPE_SIZE_MAP, SideNavDisplayMode, TRACK_BY_MODEL_ID, TRACK_BY_MODEL_KEY, TwoColumnsContextStore, UNKNOWN_ERROR_WIDGET_CODE, addConfigToValueListItems, allDbxModelViewTrackerEventModelKeys, allDbxModelViewTrackerEventSetModelKeys, catchErrorServerParams, compactModeFromInput, compareScreenMediaWidthTypes, convertServerErrorParams, convertToPOJOServerErrorResponse, convertToServerErrorResponse, copyToClipboardFunction, dbxColorBackground, dbxListAccordionViewComponentImportsAndExports, dbxListGridViewComponentImportsAndExports, dbxPresetFilterMenuButtonIconObservable, dbxPresetFilterMenuButtonTextObservable, dbxStyleClassCleanSuffix, dbxValueListItemDecisionFunction, dbxZipBlobPreviewEntryTreeFromEntries, defaultDbxModelViewTrackerStorageAccessorFactory, defaultDbxValueListViewGroupDelegate, defaultDbxValueListViewGroupValuesFunction, disableRightClickInCdkBackdrop, fileAcceptFilterTypeStringArray, fileAcceptFunction, fileAcceptString, fileArrayAcceptMatchFunction, index as fromDbxModel, injectCopyToClipboardFunction, injectCopyToClipboardFunctionWithSnackbarMessage, listItemModifier, makeDbxActionSnackbarDisplayConfigGeneratorFunction, mapCompactModeObs, mapValuesToValuesListItemConfigObs, index$1 as onDbxModel, openEmbedDialog, openIframeDialog, openZipPreviewDialog, overrideClickElementEffect, provideDbxFileUploadActionCompatable, provideDbxHelpServices, provideDbxLinkify, provideDbxListView, provideDbxListViewWrapper, provideDbxModelService, provideDbxProgressButtonGlobalConfig, provideDbxPromptConfirm, provideDbxRouterWebAngularRouterProviderConfig, provideDbxRouterWebUiRouterProviderConfig, provideDbxScreenMediaService, provideDbxStyleService, provideDbxValueListView, provideDbxValueListViewGroupDelegate, provideDbxValueListViewModifier, provideDbxWebFilePreviewServiceEntries, provideTwoColumnsContext, registerHelpContextKeysWithDbxHelpContextService, resizeSignal, sanitizeDbxDialogContentConfig, screenMediaWidthTypeIsActive, trackByModelKeyRef, trackByUniqueIdentifier };
11988
12331
  //# sourceMappingURL=dereekb-dbx-web.mjs.map