@dereekb/dbx-web 13.6.13 → 13.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.
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, input, inject, effect, Directive, NgModule, ChangeDetectionStrategy, Component, output, computed, HostListener, ElementRef, Injector, DestroyRef, signal,
|
|
2
|
+
import { Injectable, input, inject, effect, Directive, NgModule, ChangeDetectionStrategy, Component, output, computed, HostListener, ElementRef, Injector, DestroyRef, signal, InjectionToken, viewChild, makeEnvironmentProviders, TemplateRef, model, SecurityContext, forwardRef, ViewContainerRef, booleanAttribute, Renderer2 } from '@angular/core';
|
|
3
3
|
import { asPromise, cssClassesSet, isDefinedAndNotFalse, DASH_CHARACTER_PREFIX_INSTANCE, cssTokenVar, 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, AbstractTransitionWatcherDirective, DbxInjectionComponent, AbstractDbxActionValueGetterDirective, cleanSubscription,
|
|
5
|
+
import { completeOnDestroy, clean, AbstractTransitionWatcherDirective, DbxInjectionComponent, AbstractDbxActionValueGetterDirective, cleanSubscription, dbxActionWorkProgress, AbstractDbxButtonDirective, hasNonTrivialChildNodes, provideDbxButton, 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, Subject, first, startWith, filter, throttleTime, skip, defaultIfEmpty, combineLatest, switchMap, delayWhen, timer, asyncScheduler, from, firstValueFrom, mergeMap, race, tap, catchError, distinct, merge, exhaustMap } from 'rxjs';
|
|
8
8
|
import { LockSet, filterMaybe, distinctUntilItemsHaveDifferentValues, skipAllInitialMaybe, maybeValueFromObservableOrValue, switchMapMaybeLoadingContextStream, LoadingStateType, loadingStateType, successResult, valueFromFinishedLoadingState, loadingStateContext, initialize, asObservable, isNot, mapForEach, SubscriptionObject, switchMapMaybe, listLoadingStateContext, isLoadingStateFinishedLoading, startWithBeginLoading, loadingStateFromObs, errorResult, beginLoading, distinctUntilHasDifferentValues } from '@dereekb/rxjs';
|
|
@@ -13,7 +13,7 @@ import * as i1$1 from '@angular/material/button';
|
|
|
13
13
|
import { MatIconButton, MatButtonModule } from '@angular/material/button';
|
|
14
14
|
import * as i1 from '@angular/material/icon';
|
|
15
15
|
import { MatIconModule, MatIcon } from '@angular/material/icon';
|
|
16
|
-
import { NgClass,
|
|
16
|
+
import { NgClass, NgStyle, NgTemplateOutlet, JsonPipe, DatePipe } from '@angular/common';
|
|
17
17
|
import { Overlay, GlobalPositionStrategy } from '@angular/cdk/overlay';
|
|
18
18
|
import { MatDivider } from '@angular/material/divider';
|
|
19
19
|
import { MatProgressBar } from '@angular/material/progress-bar';
|
|
@@ -1505,122 +1505,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImpor
|
|
|
1505
1505
|
type: Directive
|
|
1506
1506
|
}], propDecorators: { config: [{ type: i0.Input, args: [{ isSignal: true, alias: "config", required: false }] }] } });
|
|
1507
1507
|
|
|
1508
|
-
/**
|
|
1509
|
-
* Lightweight button that renders as either an icon-only Material icon button or a text button
|
|
1510
|
-
* with an icon prefix, depending on whether text is provided.
|
|
1511
|
-
*
|
|
1512
|
-
* @deprecated Use `dbx-button` instead. For icon-only buttons use `<dbx-button icon="settings" iconOnly>`.
|
|
1513
|
-
* For icon+text buttons use `<dbx-button icon="settings" text="Label">`. The `dbx-button` component
|
|
1514
|
-
* supports all the same inputs plus working/loading states, colors, and button style variants.
|
|
1515
|
-
*
|
|
1516
|
-
* @example
|
|
1517
|
-
* ```html
|
|
1518
|
-
* <dbx-icon-button icon="settings" (buttonClick)="openSettings()"></dbx-icon-button>
|
|
1519
|
-
* ```
|
|
1520
|
-
*
|
|
1521
|
-
* @example
|
|
1522
|
-
* ```html
|
|
1523
|
-
* <dbx-icon-button icon="add" text="Add Item" (buttonClick)="addItem()"></dbx-icon-button>
|
|
1524
|
-
* ```
|
|
1525
|
-
*/
|
|
1526
|
-
class DbxIconButtonComponent extends AbstractDbxButtonDirective {
|
|
1527
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxIconButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1528
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.3", type: DbxIconButtonComponent, isStandalone: true, selector: "dbx-icon-button", host: { classAttribute: "dbx-icon-button" }, providers: provideDbxButton(DbxIconButtonComponent), usesInheritance: true, ngImport: i0, template: `
|
|
1529
|
-
@switch (buttonDisplayTypeSignal()) {
|
|
1530
|
-
@case ('text_button') {
|
|
1531
|
-
<button mat-button class="mat-unthemed" [disabled]="disabledSignal()" [attr.aria-label]="ariaLabel()" (click)="clickButton()">
|
|
1532
|
-
@if (iconSignal()) {
|
|
1533
|
-
<mat-icon class="dbx-icon-spacer">{{ iconSignal() }}</mat-icon>
|
|
1534
|
-
}
|
|
1535
|
-
<span>{{ textSignal() }}</span>
|
|
1536
|
-
<ng-container *ngTemplateOutlet="content"></ng-container>
|
|
1537
|
-
</button>
|
|
1538
|
-
}
|
|
1539
|
-
@case ('icon_button') {
|
|
1540
|
-
<button mat-icon-button [disabled]="disabledSignal()" [attr.aria-label]="ariaLabel() || iconSignal()" (click)="clickButton()">
|
|
1541
|
-
<mat-icon aria-hidden="true">{{ iconSignal() }}</mat-icon>
|
|
1542
|
-
<ng-container *ngTemplateOutlet="content"></ng-container>
|
|
1543
|
-
</button>
|
|
1544
|
-
}
|
|
1545
|
-
}
|
|
1546
|
-
<ng-template #content>
|
|
1547
|
-
<ng-content></ng-content>
|
|
1548
|
-
</ng-template>
|
|
1549
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i1$1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1550
|
-
}
|
|
1551
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxIconButtonComponent, decorators: [{
|
|
1552
|
-
type: Component,
|
|
1553
|
-
args: [{
|
|
1554
|
-
selector: 'dbx-icon-button',
|
|
1555
|
-
template: `
|
|
1556
|
-
@switch (buttonDisplayTypeSignal()) {
|
|
1557
|
-
@case ('text_button') {
|
|
1558
|
-
<button mat-button class="mat-unthemed" [disabled]="disabledSignal()" [attr.aria-label]="ariaLabel()" (click)="clickButton()">
|
|
1559
|
-
@if (iconSignal()) {
|
|
1560
|
-
<mat-icon class="dbx-icon-spacer">{{ iconSignal() }}</mat-icon>
|
|
1561
|
-
}
|
|
1562
|
-
<span>{{ textSignal() }}</span>
|
|
1563
|
-
<ng-container *ngTemplateOutlet="content"></ng-container>
|
|
1564
|
-
</button>
|
|
1565
|
-
}
|
|
1566
|
-
@case ('icon_button') {
|
|
1567
|
-
<button mat-icon-button [disabled]="disabledSignal()" [attr.aria-label]="ariaLabel() || iconSignal()" (click)="clickButton()">
|
|
1568
|
-
<mat-icon aria-hidden="true">{{ iconSignal() }}</mat-icon>
|
|
1569
|
-
<ng-container *ngTemplateOutlet="content"></ng-container>
|
|
1570
|
-
</button>
|
|
1571
|
-
}
|
|
1572
|
-
}
|
|
1573
|
-
<ng-template #content>
|
|
1574
|
-
<ng-content></ng-content>
|
|
1575
|
-
</ng-template>
|
|
1576
|
-
`,
|
|
1577
|
-
providers: provideDbxButton(DbxIconButtonComponent),
|
|
1578
|
-
host: {
|
|
1579
|
-
class: 'dbx-icon-button'
|
|
1580
|
-
},
|
|
1581
|
-
imports: [MatButtonModule, MatIconModule, MatIconButton, NgTemplateOutlet],
|
|
1582
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1583
|
-
standalone: true
|
|
1584
|
-
}]
|
|
1585
|
-
}] });
|
|
1586
|
-
|
|
1587
|
-
const DEFAULT_FILTER_POPOVER_BUTTON_DISPLAY_CONTENT = {
|
|
1588
|
-
icon: 'filter_list'
|
|
1589
|
-
};
|
|
1590
|
-
/**
|
|
1591
|
-
* Renders an icon button that opens a filter popover when clicked.
|
|
1592
|
-
*
|
|
1593
|
-
* @example
|
|
1594
|
-
* ```html
|
|
1595
|
-
* <dbx-filter-popover-button [config]="filterConfig" [buttonDisplay]="{ icon: 'filter_alt' }"></dbx-filter-popover-button>
|
|
1596
|
-
* ```
|
|
1597
|
-
*/
|
|
1598
|
-
class DbxFilterPopoverButtonComponent extends AbstractFilterPopoverButtonDirective {
|
|
1599
|
-
buttonElement = viewChild('button', { ...(ngDevMode ? { debugName: "buttonElement" } : /* istanbul ignore next */ {}), read: ElementRef });
|
|
1600
|
-
disabled = input(...(ngDevMode ? [undefined, { debugName: "disabled" }] : /* istanbul ignore next */ []));
|
|
1601
|
-
buttonDisplay = input(DEFAULT_FILTER_POPOVER_BUTTON_DISPLAY_CONTENT, { ...(ngDevMode ? { debugName: "buttonDisplay" } : /* istanbul ignore next */ {}), transform: (x) => x ?? DEFAULT_FILTER_POPOVER_BUTTON_DISPLAY_CONTENT });
|
|
1602
|
-
showFilterPopover() {
|
|
1603
|
-
const origin = this.buttonElement()?.nativeElement;
|
|
1604
|
-
this.showPopover(origin);
|
|
1605
|
-
}
|
|
1606
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFilterPopoverButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1607
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.3", type: DbxFilterPopoverButtonComponent, isStandalone: true, selector: "dbx-filter-popover-button", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, buttonDisplay: { classPropertyName: "buttonDisplay", publicName: "buttonDisplay", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "buttonElement", first: true, predicate: ["button"], descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0, template: `
|
|
1608
|
-
<dbx-icon-button #button (buttonClick)="showFilterPopover()" [buttonDisplay]="buttonDisplay()" [disabled]="disabled()"></dbx-icon-button>
|
|
1609
|
-
`, isInline: true, dependencies: [{ kind: "component", type: DbxIconButtonComponent, selector: "dbx-icon-button" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1610
|
-
}
|
|
1611
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFilterPopoverButtonComponent, decorators: [{
|
|
1612
|
-
type: Component,
|
|
1613
|
-
args: [{
|
|
1614
|
-
selector: 'dbx-filter-popover-button',
|
|
1615
|
-
template: `
|
|
1616
|
-
<dbx-icon-button #button (buttonClick)="showFilterPopover()" [buttonDisplay]="buttonDisplay()" [disabled]="disabled()"></dbx-icon-button>
|
|
1617
|
-
`,
|
|
1618
|
-
imports: [DbxIconButtonComponent],
|
|
1619
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1620
|
-
standalone: true
|
|
1621
|
-
}]
|
|
1622
|
-
}], propDecorators: { buttonElement: [{ type: i0.ViewChild, args: ['button', { ...{ read: ElementRef }, isSignal: true }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], buttonDisplay: [{ type: i0.Input, args: [{ isSignal: true, alias: "buttonDisplay", required: false }] }] } });
|
|
1623
|
-
|
|
1624
1508
|
/**
|
|
1625
1509
|
* Injection token for providing a global array of progress button configurations.
|
|
1626
1510
|
*/
|
|
@@ -2273,6 +2157,124 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImpor
|
|
|
2273
2157
|
}]
|
|
2274
2158
|
}], ctorParameters: () => [], propDecorators: { bar: [{ type: i0.Input, args: [{ isSignal: true, alias: "bar", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], buttonStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "buttonStyle", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], spinnerColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "spinnerColor", required: false }] }], customButtonColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "customButtonColor", required: false }] }], customTextColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "customTextColor", required: false }] }], customSpinnerColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "customSpinnerColor", required: false }] }], basic: [{ type: i0.Input, args: [{ isSignal: true, alias: "basic", required: false }] }], tonal: [{ type: i0.Input, args: [{ isSignal: true, alias: "tonal", required: false }] }], raised: [{ type: i0.Input, args: [{ isSignal: true, alias: "raised", required: false }] }], stroked: [{ type: i0.Input, args: [{ isSignal: true, alias: "stroked", required: false }] }], flat: [{ type: i0.Input, args: [{ isSignal: true, alias: "flat", required: false }] }], iconOnly: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconOnly", required: false }] }], fab: [{ type: i0.Input, args: [{ isSignal: true, alias: "fab", required: false }] }], allowClickPropagation: [{ type: i0.Input, args: [{ isSignal: true, alias: "allowClickPropagation", required: false }] }], mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: false }] }] } });
|
|
2275
2159
|
|
|
2160
|
+
const DEFAULT_FILTER_POPOVER_BUTTON_DISPLAY_CONTENT = {
|
|
2161
|
+
icon: 'filter_list'
|
|
2162
|
+
};
|
|
2163
|
+
/**
|
|
2164
|
+
* Renders an icon button that opens a filter popover when clicked.
|
|
2165
|
+
*
|
|
2166
|
+
* @example
|
|
2167
|
+
* ```html
|
|
2168
|
+
* <dbx-filter-popover-button [config]="filterConfig" [buttonDisplay]="{ icon: 'filter_alt' }"></dbx-filter-popover-button>
|
|
2169
|
+
* ```
|
|
2170
|
+
*/
|
|
2171
|
+
class DbxFilterPopoverButtonComponent extends AbstractFilterPopoverButtonDirective {
|
|
2172
|
+
buttonElement = viewChild('button', { ...(ngDevMode ? { debugName: "buttonElement" } : /* istanbul ignore next */ {}), read: ElementRef });
|
|
2173
|
+
disabled = input(...(ngDevMode ? [undefined, { debugName: "disabled" }] : /* istanbul ignore next */ []));
|
|
2174
|
+
buttonDisplay = input(DEFAULT_FILTER_POPOVER_BUTTON_DISPLAY_CONTENT, { ...(ngDevMode ? { debugName: "buttonDisplay" } : /* istanbul ignore next */ {}), transform: (x) => x ?? DEFAULT_FILTER_POPOVER_BUTTON_DISPLAY_CONTENT });
|
|
2175
|
+
showFilterPopover() {
|
|
2176
|
+
const origin = this.buttonElement()?.nativeElement;
|
|
2177
|
+
this.showPopover(origin);
|
|
2178
|
+
}
|
|
2179
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFilterPopoverButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2180
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.3", type: DbxFilterPopoverButtonComponent, isStandalone: true, selector: "dbx-filter-popover-button", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, buttonDisplay: { classPropertyName: "buttonDisplay", publicName: "buttonDisplay", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "buttonElement", first: true, predicate: ["button"], descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0, template: `
|
|
2181
|
+
<dbx-button #button (buttonClick)="showFilterPopover()" [buttonDisplay]="buttonDisplay()" [disabled]="disabled()" iconOnly></dbx-button>
|
|
2182
|
+
`, isInline: true, dependencies: [{ kind: "component", type: DbxButtonComponent, selector: "dbx-button", inputs: ["bar", "type", "buttonStyle", "color", "spinnerColor", "customButtonColor", "customTextColor", "customSpinnerColor", "basic", "tonal", "raised", "stroked", "flat", "iconOnly", "fab", "allowClickPropagation", "mode"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2183
|
+
}
|
|
2184
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxFilterPopoverButtonComponent, decorators: [{
|
|
2185
|
+
type: Component,
|
|
2186
|
+
args: [{
|
|
2187
|
+
selector: 'dbx-filter-popover-button',
|
|
2188
|
+
template: `
|
|
2189
|
+
<dbx-button #button (buttonClick)="showFilterPopover()" [buttonDisplay]="buttonDisplay()" [disabled]="disabled()" iconOnly></dbx-button>
|
|
2190
|
+
`,
|
|
2191
|
+
imports: [DbxButtonComponent],
|
|
2192
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2193
|
+
standalone: true
|
|
2194
|
+
}]
|
|
2195
|
+
}], propDecorators: { buttonElement: [{ type: i0.ViewChild, args: ['button', { ...{ read: ElementRef }, isSignal: true }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], buttonDisplay: [{ type: i0.Input, args: [{ isSignal: true, alias: "buttonDisplay", required: false }] }] } });
|
|
2196
|
+
|
|
2197
|
+
/**
|
|
2198
|
+
* Lightweight button that renders as either an icon-only Material icon button or a text button
|
|
2199
|
+
* with an icon prefix, depending on whether text is provided.
|
|
2200
|
+
*
|
|
2201
|
+
* @deprecated Use `dbx-button` instead. For icon-only buttons use `<dbx-button icon="settings" iconOnly>`.
|
|
2202
|
+
* For icon+text buttons use `<dbx-button icon="settings" text="Label">`. The `dbx-button` component
|
|
2203
|
+
* supports all the same inputs plus working/loading states, colors, and button style variants.
|
|
2204
|
+
*
|
|
2205
|
+
* @example
|
|
2206
|
+
* ```html
|
|
2207
|
+
* <dbx-icon-button icon="settings" (buttonClick)="openSettings()"></dbx-icon-button>
|
|
2208
|
+
* ```
|
|
2209
|
+
*
|
|
2210
|
+
* @example
|
|
2211
|
+
* ```html
|
|
2212
|
+
* <dbx-icon-button icon="add" text="Add Item" (buttonClick)="addItem()"></dbx-icon-button>
|
|
2213
|
+
* ```
|
|
2214
|
+
*/
|
|
2215
|
+
class DbxIconButtonComponent extends AbstractDbxButtonDirective {
|
|
2216
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxIconButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2217
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.3", type: DbxIconButtonComponent, isStandalone: true, selector: "dbx-icon-button", host: { classAttribute: "dbx-icon-button" }, providers: provideDbxButton(DbxIconButtonComponent), usesInheritance: true, ngImport: i0, template: `
|
|
2218
|
+
@switch (buttonDisplayTypeSignal()) {
|
|
2219
|
+
@case ('text_button') {
|
|
2220
|
+
<button mat-button class="mat-unthemed" [disabled]="disabledSignal()" [attr.aria-label]="ariaLabel()" (click)="clickButton()">
|
|
2221
|
+
@if (iconSignal()) {
|
|
2222
|
+
<mat-icon class="dbx-icon-spacer">{{ iconSignal() }}</mat-icon>
|
|
2223
|
+
}
|
|
2224
|
+
<span>{{ textSignal() }}</span>
|
|
2225
|
+
<ng-container *ngTemplateOutlet="content"></ng-container>
|
|
2226
|
+
</button>
|
|
2227
|
+
}
|
|
2228
|
+
@case ('icon_button') {
|
|
2229
|
+
<button mat-icon-button [disabled]="disabledSignal()" [attr.aria-label]="ariaLabel() || iconSignal()" (click)="clickButton()">
|
|
2230
|
+
<mat-icon aria-hidden="true">{{ iconSignal() }}</mat-icon>
|
|
2231
|
+
<ng-container *ngTemplateOutlet="content"></ng-container>
|
|
2232
|
+
</button>
|
|
2233
|
+
}
|
|
2234
|
+
}
|
|
2235
|
+
<ng-template #content>
|
|
2236
|
+
<ng-content></ng-content>
|
|
2237
|
+
</ng-template>
|
|
2238
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$1.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i1$1.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2239
|
+
}
|
|
2240
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxIconButtonComponent, decorators: [{
|
|
2241
|
+
type: Component,
|
|
2242
|
+
args: [{
|
|
2243
|
+
selector: 'dbx-icon-button',
|
|
2244
|
+
template: `
|
|
2245
|
+
@switch (buttonDisplayTypeSignal()) {
|
|
2246
|
+
@case ('text_button') {
|
|
2247
|
+
<button mat-button class="mat-unthemed" [disabled]="disabledSignal()" [attr.aria-label]="ariaLabel()" (click)="clickButton()">
|
|
2248
|
+
@if (iconSignal()) {
|
|
2249
|
+
<mat-icon class="dbx-icon-spacer">{{ iconSignal() }}</mat-icon>
|
|
2250
|
+
}
|
|
2251
|
+
<span>{{ textSignal() }}</span>
|
|
2252
|
+
<ng-container *ngTemplateOutlet="content"></ng-container>
|
|
2253
|
+
</button>
|
|
2254
|
+
}
|
|
2255
|
+
@case ('icon_button') {
|
|
2256
|
+
<button mat-icon-button [disabled]="disabledSignal()" [attr.aria-label]="ariaLabel() || iconSignal()" (click)="clickButton()">
|
|
2257
|
+
<mat-icon aria-hidden="true">{{ iconSignal() }}</mat-icon>
|
|
2258
|
+
<ng-container *ngTemplateOutlet="content"></ng-container>
|
|
2259
|
+
</button>
|
|
2260
|
+
}
|
|
2261
|
+
}
|
|
2262
|
+
<ng-template #content>
|
|
2263
|
+
<ng-content></ng-content>
|
|
2264
|
+
</ng-template>
|
|
2265
|
+
`,
|
|
2266
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated -- self-reference in the deprecated component
|
|
2267
|
+
providers: provideDbxButton(DbxIconButtonComponent),
|
|
2268
|
+
host: {
|
|
2269
|
+
class: 'dbx-icon-button'
|
|
2270
|
+
},
|
|
2271
|
+
imports: [MatButtonModule, MatIconModule, MatIconButton, NgTemplateOutlet],
|
|
2272
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2273
|
+
standalone: true
|
|
2274
|
+
}]
|
|
2275
|
+
}] });
|
|
2276
|
+
|
|
2277
|
+
/* eslint-disable @typescript-eslint/no-deprecated -- this module wraps the deprecated component */
|
|
2276
2278
|
/**
|
|
2277
2279
|
* @deprecated Use `dbx-button` instead of `dbx-icon-button`. See {@link DbxIconButtonComponent} for migration guidance.
|
|
2278
2280
|
*/
|
|
@@ -2291,6 +2293,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImpor
|
|
|
2291
2293
|
|
|
2292
2294
|
const importsAndExports$m = [
|
|
2293
2295
|
DbxCoreButtonModule,
|
|
2296
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated -- re-exported for backward compatibility
|
|
2294
2297
|
DbxIconButtonComponent,
|
|
2295
2298
|
// buttons
|
|
2296
2299
|
DbxButtonComponent,
|
|
@@ -2306,6 +2309,7 @@ const importsAndExports$m = [
|
|
|
2306
2309
|
class DbxButtonModule {
|
|
2307
2310
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2308
2311
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.3", ngImport: i0, type: DbxButtonModule, imports: [DbxCoreButtonModule,
|
|
2312
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated -- re-exported for backward compatibility
|
|
2309
2313
|
DbxIconButtonComponent,
|
|
2310
2314
|
// buttons
|
|
2311
2315
|
DbxButtonComponent,
|
|
@@ -2313,6 +2317,7 @@ class DbxButtonModule {
|
|
|
2313
2317
|
// progress
|
|
2314
2318
|
DbxProgressSpinnerButtonComponent,
|
|
2315
2319
|
DbxProgressBarButtonComponent], exports: [DbxCoreButtonModule,
|
|
2320
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated -- re-exported for backward compatibility
|
|
2316
2321
|
DbxIconButtonComponent,
|
|
2317
2322
|
// buttons
|
|
2318
2323
|
DbxButtonComponent,
|
|
@@ -2321,6 +2326,7 @@ class DbxButtonModule {
|
|
|
2321
2326
|
DbxProgressSpinnerButtonComponent,
|
|
2322
2327
|
DbxProgressBarButtonComponent] });
|
|
2323
2328
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxButtonModule, imports: [DbxCoreButtonModule,
|
|
2329
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated -- re-exported for backward compatibility
|
|
2324
2330
|
DbxIconButtonComponent,
|
|
2325
2331
|
// buttons
|
|
2326
2332
|
DbxButtonComponent,
|
|
@@ -9755,13 +9761,13 @@ class DbxNavbarComponent extends AbstractTransitionDirective {
|
|
|
9755
9761
|
hasNoAnchorsSignal = toSignal(this.hasNoAnchors$);
|
|
9756
9762
|
nextRotateAnchorSignal = toSignal(this.nextRotateAnchor$);
|
|
9757
9763
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxNavbarComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
9758
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.3", type: DbxNavbarComponent, isStandalone: true, selector: "dbx-navbar", inputs: { showMenuCaret: { classPropertyName: "showMenuCaret", publicName: "showMenuCaret", isSignal: true, isRequired: false, transformFunction: null }, navAlign: { classPropertyName: "navAlign", publicName: "navAlign", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, defaultIcon: { classPropertyName: "defaultIcon", publicName: "defaultIcon", isSignal: true, isRequired: false, transformFunction: null }, defaultText: { classPropertyName: "defaultText", publicName: "defaultText", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, buttonMode: { classPropertyName: "buttonMode", publicName: "buttonMode", isSignal: true, isRequired: false, transformFunction: null }, breakpoint: { classPropertyName: "breakpoint", publicName: "breakpoint", isSignal: true, isRequired: false, transformFunction: null }, anchors: { classPropertyName: "anchors", publicName: "anchors", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "dbx-navbar" }, usesInheritance: true, ngImport: i0, template: "@switch (modeSignal()) {\n @case ('bar') {\n <!-- Bar -->\n <nav mat-tab-nav-bar [tabPanel]=\"tabPanel\" [attr.mat-align-tabs]=\"navAlign()\" aria-label=\"Main navigation\">\n @for (x of anchorsSignal(); track x.anchor) {\n <dbx-anchor [anchor]=\"x.anchor\">\n <a mat-tab-link [active]=\"x.selected\" [attr.aria-current]=\"x.selected ? 'page' : null\">{{ x.anchor.title }}</a>\n </dbx-anchor>\n }\n </nav>\n <mat-tab-nav-panel #tabPanel></mat-tab-nav-panel>\n }\n @default {\n <!-- Button -->\n @switch (buttonMode()) {\n <!-- Menu -->\n @case ('menu') {\n <dbx-
|
|
9764
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.3", type: DbxNavbarComponent, isStandalone: true, selector: "dbx-navbar", inputs: { showMenuCaret: { classPropertyName: "showMenuCaret", publicName: "showMenuCaret", isSignal: true, isRequired: false, transformFunction: null }, navAlign: { classPropertyName: "navAlign", publicName: "navAlign", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, defaultIcon: { classPropertyName: "defaultIcon", publicName: "defaultIcon", isSignal: true, isRequired: false, transformFunction: null }, defaultText: { classPropertyName: "defaultText", publicName: "defaultText", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, buttonMode: { classPropertyName: "buttonMode", publicName: "buttonMode", isSignal: true, isRequired: false, transformFunction: null }, breakpoint: { classPropertyName: "breakpoint", publicName: "breakpoint", isSignal: true, isRequired: false, transformFunction: null }, anchors: { classPropertyName: "anchors", publicName: "anchors", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "dbx-navbar" }, usesInheritance: true, ngImport: i0, template: "@switch (modeSignal()) {\n @case ('bar') {\n <!-- Bar -->\n <nav mat-tab-nav-bar [tabPanel]=\"tabPanel\" [attr.mat-align-tabs]=\"navAlign()\" aria-label=\"Main navigation\">\n @for (x of anchorsSignal(); track x.anchor) {\n <dbx-anchor [anchor]=\"x.anchor\">\n <a mat-tab-link [active]=\"x.selected\" [attr.aria-current]=\"x.selected ? 'page' : null\">{{ x.anchor.title }}</a>\n </dbx-anchor>\n }\n </nav>\n <mat-tab-nav-panel #tabPanel></mat-tab-nav-panel>\n }\n @default {\n <!-- Button -->\n @switch (buttonMode()) {\n <!-- Menu -->\n @case ('menu') {\n <dbx-button class=\"nav-menu-button\" ariaLabel=\"open navigation\" [buttonDisplay]=\"buttonDisplaySignal()\" [matMenuTriggerFor]=\"menu\" [disabled]=\"hasNoAnchorsSignal()\">\n @if (showMenuCaret()) {\n <mat-icon aria-hidden=\"true\">arrow_drop_down</mat-icon>\n }\n </dbx-button>\n <mat-menu #menu>\n @for (x of anchorsSignal(); track x) {\n <dbx-anchor [anchor]=\"x.anchor\">\n <button mat-menu-item [ngClass]=\"x.selected ? 'active' : ''\" [attr.aria-current]=\"x.selected ? 'page' : null\">\n @if (x.anchor.icon) {\n <mat-icon aria-hidden=\"true\">{{ x.anchor.icon }}</mat-icon>\n }\n {{ x.anchor.title }}\n </button>\n </dbx-anchor>\n }\n </mat-menu>\n }\n <!-- Rotate -->\n @case ('rotate') {\n <dbx-anchor [anchor]=\"nextRotateAnchorSignal()?.anchor\">\n <dbx-button class=\"nav-menu-button\" ariaLabel=\"open navigation\" [buttonDisplay]=\"buttonDisplaySignal()\" [disabled]=\"hasNoAnchorsSignal()\"></dbx-button>\n </dbx-anchor>\n }\n }\n }\n}\n", dependencies: [{ kind: "component", type: DbxAnchorComponent, selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }, { kind: "component", type: MatTabNav, selector: "[mat-tab-nav-bar]", inputs: ["fitInkBarToContent", "mat-stretch-tabs", "animationDuration", "backgroundColor", "disableRipple", "color", "tabPanel"], exportAs: ["matTabNavBar", "matTabNav"] }, { kind: "component", type: MatTabNavPanel, selector: "mat-tab-nav-panel", inputs: ["id"], exportAs: ["matTabNavPanel"] }, { kind: "component", type: MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: ["active", "disabled", "disableRipple", "tabIndex", "id"], exportAs: ["matTabLink"] }, { kind: "component", type: DbxButtonComponent, selector: "dbx-button", inputs: ["bar", "type", "buttonStyle", "color", "spinnerColor", "customButtonColor", "customTextColor", "customSpinnerColor", "basic", "tonal", "raised", "stroked", "flat", "iconOnly", "fab", "allowClickPropagation", "mode"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
9759
9765
|
}
|
|
9760
9766
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxNavbarComponent, decorators: [{
|
|
9761
9767
|
type: Component,
|
|
9762
9768
|
args: [{ selector: 'dbx-navbar', host: {
|
|
9763
9769
|
class: 'dbx-navbar'
|
|
9764
|
-
}, imports: [DbxAnchorComponent, MatTabNav, MatTabNavPanel, MatTabLink,
|
|
9770
|
+
}, imports: [DbxAnchorComponent, MatTabNav, MatTabNavPanel, MatTabLink, DbxButtonComponent, MatIconModule, MatMenu, MatMenuItem, NgClass, MatMenuTrigger], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "@switch (modeSignal()) {\n @case ('bar') {\n <!-- Bar -->\n <nav mat-tab-nav-bar [tabPanel]=\"tabPanel\" [attr.mat-align-tabs]=\"navAlign()\" aria-label=\"Main navigation\">\n @for (x of anchorsSignal(); track x.anchor) {\n <dbx-anchor [anchor]=\"x.anchor\">\n <a mat-tab-link [active]=\"x.selected\" [attr.aria-current]=\"x.selected ? 'page' : null\">{{ x.anchor.title }}</a>\n </dbx-anchor>\n }\n </nav>\n <mat-tab-nav-panel #tabPanel></mat-tab-nav-panel>\n }\n @default {\n <!-- Button -->\n @switch (buttonMode()) {\n <!-- Menu -->\n @case ('menu') {\n <dbx-button class=\"nav-menu-button\" ariaLabel=\"open navigation\" [buttonDisplay]=\"buttonDisplaySignal()\" [matMenuTriggerFor]=\"menu\" [disabled]=\"hasNoAnchorsSignal()\">\n @if (showMenuCaret()) {\n <mat-icon aria-hidden=\"true\">arrow_drop_down</mat-icon>\n }\n </dbx-button>\n <mat-menu #menu>\n @for (x of anchorsSignal(); track x) {\n <dbx-anchor [anchor]=\"x.anchor\">\n <button mat-menu-item [ngClass]=\"x.selected ? 'active' : ''\" [attr.aria-current]=\"x.selected ? 'page' : null\">\n @if (x.anchor.icon) {\n <mat-icon aria-hidden=\"true\">{{ x.anchor.icon }}</mat-icon>\n }\n {{ x.anchor.title }}\n </button>\n </dbx-anchor>\n }\n </mat-menu>\n }\n <!-- Rotate -->\n @case ('rotate') {\n <dbx-anchor [anchor]=\"nextRotateAnchorSignal()?.anchor\">\n <dbx-button class=\"nav-menu-button\" ariaLabel=\"open navigation\" [buttonDisplay]=\"buttonDisplaySignal()\" [disabled]=\"hasNoAnchorsSignal()\"></dbx-button>\n </dbx-anchor>\n }\n }\n }\n}\n" }]
|
|
9765
9771
|
}], propDecorators: { showMenuCaret: [{ type: i0.Input, args: [{ isSignal: true, alias: "showMenuCaret", required: false }] }], navAlign: [{ type: i0.Input, args: [{ isSignal: true, alias: "navAlign", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], defaultIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultIcon", required: false }] }], defaultText: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultText", required: false }] }], mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: false }] }], buttonMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "buttonMode", required: false }] }], breakpoint: [{ type: i0.Input, args: [{ isSignal: true, alias: "breakpoint", required: false }] }], anchors: [{ type: i0.Input, args: [{ isSignal: true, alias: "anchors", required: false }] }] } });
|
|
9766
9772
|
|
|
9767
9773
|
/**
|
|
@@ -9799,9 +9805,16 @@ class DbxSidenavComponent extends AbstractTransitionWatcherDirective {
|
|
|
9799
9805
|
_sidenavSub = cleanSubscription();
|
|
9800
9806
|
_screenMediaService = inject(DbxScreenMediaService);
|
|
9801
9807
|
color = input(undefined, ...(ngDevMode ? [{ debugName: "color" }] : /* istanbul ignore next */ []));
|
|
9808
|
+
position = input('start', ...(ngDevMode ? [{ debugName: "position" }] : /* istanbul ignore next */ []));
|
|
9809
|
+
/**
|
|
9810
|
+
* Overrides the responsive display mode. When set, the sidenav ignores screen-width breakpoints and uses this mode instead.
|
|
9811
|
+
*
|
|
9812
|
+
* Set to `'mobile'` to keep the sidenav always hidden as an overlay that only opens when toggled.
|
|
9813
|
+
*/
|
|
9814
|
+
displayMode = input(undefined, ...(ngDevMode ? [{ debugName: "displayMode" }] : /* istanbul ignore next */ []));
|
|
9802
9815
|
sidenav = viewChild.required(MatSidenav);
|
|
9803
9816
|
anchors = input(...(ngDevMode ? [undefined, { debugName: "anchors" }] : /* istanbul ignore next */ []));
|
|
9804
|
-
|
|
9817
|
+
responsiveMode$ = this._screenMediaService.widthType$.pipe(distinctUntilChanged(), map((width) => {
|
|
9805
9818
|
let mode;
|
|
9806
9819
|
switch (width) {
|
|
9807
9820
|
case 'micro':
|
|
@@ -9820,9 +9833,13 @@ class DbxSidenavComponent extends AbstractTransitionWatcherDirective {
|
|
|
9820
9833
|
}
|
|
9821
9834
|
return mode;
|
|
9822
9835
|
}), distinctUntilChanged(), shareReplay(1));
|
|
9836
|
+
_displayMode$ = toObservable(this.displayMode);
|
|
9837
|
+
mode$ = combineLatest([this.responsiveMode$, this._displayMode$]).pipe(map(([responsive, override]) => override ?? responsive), distinctUntilChanged(), shareReplay(1));
|
|
9823
9838
|
modeSignal = toSignal(this.mode$);
|
|
9824
9839
|
disableBackdropSignal = computed(() => this.modeSignal() !== SideNavDisplayMode.MOBILE, ...(ngDevMode ? [{ debugName: "disableBackdropSignal" }] : /* istanbul ignore next */ []));
|
|
9825
9840
|
sizeCssClassSignal = computed(() => `dbx-sidenav-${this.modeSignal()}`, ...(ngDevMode ? [{ debugName: "sizeCssClassSignal" }] : /* istanbul ignore next */ []));
|
|
9841
|
+
positionCssClassSignal = computed(() => (this.position() === 'end' ? 'dbx-sidenav-end' : 'dbx-sidenav-start'), ...(ngDevMode ? [{ debugName: "positionCssClassSignal" }] : /* istanbul ignore next */ []));
|
|
9842
|
+
cssClassesSignal = computed(() => `${this.sizeCssClassSignal()} ${this.positionCssClassSignal()}`, ...(ngDevMode ? [{ debugName: "cssClassesSignal" }] : /* istanbul ignore next */ []));
|
|
9826
9843
|
state$ = this.mode$.pipe(map((mode) => {
|
|
9827
9844
|
let drawer = 'over';
|
|
9828
9845
|
let open = true;
|
|
@@ -9894,9 +9911,9 @@ class DbxSidenavComponent extends AbstractTransitionWatcherDirective {
|
|
|
9894
9911
|
}
|
|
9895
9912
|
}
|
|
9896
9913
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxSidenavComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
9897
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.3", type: DbxSidenavComponent, isStandalone: true, selector: "dbx-sidenav", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, anchors: { classPropertyName: "anchors", publicName: "anchors", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "sidenav", first: true, predicate: MatSidenav, descendants: true, isSignal: true }], exportAs: ["sidenav"], usesInheritance: true, ngImport: i0, template: `
|
|
9898
|
-
<mat-sidenav-container class="dbx-sidenav" [ngClass]="
|
|
9899
|
-
<mat-sidenav [dbxColor]="color()" [disableClose]="disableBackdropSignal()" [mode]="drawerSignal()">
|
|
9914
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.3", type: DbxSidenavComponent, isStandalone: true, selector: "dbx-sidenav", inputs: { color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, displayMode: { classPropertyName: "displayMode", publicName: "displayMode", isSignal: true, isRequired: false, transformFunction: null }, anchors: { classPropertyName: "anchors", publicName: "anchors", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "sidenav", first: true, predicate: MatSidenav, descendants: true, isSignal: true }], exportAs: ["sidenav"], usesInheritance: true, ngImport: i0, template: `
|
|
9915
|
+
<mat-sidenav-container class="dbx-sidenav" [ngClass]="cssClassesSignal()">
|
|
9916
|
+
<mat-sidenav [dbxColor]="color()" [position]="position()" [disableClose]="disableBackdropSignal()" [mode]="drawerSignal()">
|
|
9900
9917
|
<ng-content select="[top]"></ng-content>
|
|
9901
9918
|
<dbx-anchor-list class="dbx-sidenav-anchor-list" [anchors]="anchors()"></dbx-anchor-list>
|
|
9902
9919
|
<span class="spacer"></span>
|
|
@@ -9915,8 +9932,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImpor
|
|
|
9915
9932
|
selector: 'dbx-sidenav',
|
|
9916
9933
|
exportAs: 'sidenav',
|
|
9917
9934
|
template: `
|
|
9918
|
-
<mat-sidenav-container class="dbx-sidenav" [ngClass]="
|
|
9919
|
-
<mat-sidenav [dbxColor]="color()" [disableClose]="disableBackdropSignal()" [mode]="drawerSignal()">
|
|
9935
|
+
<mat-sidenav-container class="dbx-sidenav" [ngClass]="cssClassesSignal()">
|
|
9936
|
+
<mat-sidenav [dbxColor]="color()" [position]="position()" [disableClose]="disableBackdropSignal()" [mode]="drawerSignal()">
|
|
9920
9937
|
<ng-content select="[top]"></ng-content>
|
|
9921
9938
|
<dbx-anchor-list class="dbx-sidenav-anchor-list" [anchors]="anchors()"></dbx-anchor-list>
|
|
9922
9939
|
<span class="spacer"></span>
|
|
@@ -9932,7 +9949,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImpor
|
|
|
9932
9949
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
9933
9950
|
standalone: true
|
|
9934
9951
|
}]
|
|
9935
|
-
}], propDecorators: { color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], sidenav: [{ type: i0.ViewChild, args: [i0.forwardRef(() => MatSidenav), { isSignal: true }] }], anchors: [{ type: i0.Input, args: [{ isSignal: true, alias: "anchors", required: false }] }] } });
|
|
9952
|
+
}], propDecorators: { color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }], displayMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "displayMode", required: false }] }], sidenav: [{ type: i0.ViewChild, args: [i0.forwardRef(() => MatSidenav), { isSignal: true }] }], anchors: [{ type: i0.Input, args: [{ isSignal: true, alias: "anchors", required: false }] }] } });
|
|
9936
9953
|
|
|
9937
9954
|
/**
|
|
9938
9955
|
* Default icon displayed on the sidenav toggle button.
|
|
@@ -13976,6 +13993,9 @@ class DbxTextChipsComponent {
|
|
|
13976
13993
|
chips = input(...(ngDevMode ? [undefined, { debugName: "chips" }] : /* istanbul ignore next */ []));
|
|
13977
13994
|
/**
|
|
13978
13995
|
* Returns the themed background CSS class for a chip's color.
|
|
13996
|
+
*
|
|
13997
|
+
* @param chip - the chip to get the color class for
|
|
13998
|
+
* @returns the CSS class name for the chip's background color, or empty string if no color
|
|
13979
13999
|
*/
|
|
13980
14000
|
chipColorClass(chip) {
|
|
13981
14001
|
return chip.color ? dbxColorBackground(chip.color) : '';
|
|
@@ -14522,11 +14542,11 @@ class DbxZipBlobPreviewComponent {
|
|
|
14522
14542
|
this.selectedNodeSignal.set(selectedNode?.parent);
|
|
14523
14543
|
};
|
|
14524
14544
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxZipBlobPreviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
14525
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.3", type: DbxZipBlobPreviewComponent, isStandalone: true, selector: "dbx-zip-blob-preview", inputs: { blob: { classPropertyName: "blob", publicName: "blob", isSignal: true, isRequired: false, transformFunction: null }, downloadFileName: { classPropertyName: "downloadFileName", publicName: "downloadFileName", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<dbx-loading [context]=\"context\">\n <div class=\"dbx-flex-bar dbx-zip-blob-preview-toolbar\">\n <dbx-
|
|
14545
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.3", type: DbxZipBlobPreviewComponent, isStandalone: true, selector: "dbx-zip-blob-preview", inputs: { blob: { classPropertyName: "blob", publicName: "blob", isSignal: true, isRequired: false, transformFunction: null }, downloadFileName: { classPropertyName: "downloadFileName", publicName: "downloadFileName", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<dbx-loading [context]=\"context\">\n <div class=\"dbx-flex-bar dbx-zip-blob-preview-toolbar\">\n <dbx-button [disabled]=\"!selectedNodeSignal()\" icon=\"arrow_upward\" text=\"Back\" (buttonClick)=\"backClicked()\"></dbx-button>\n <dbx-button-spacer></dbx-button-spacer>\n <dbx-button [disabled]=\"!selectedNodeSignal()\" icon=\"home\" text=\"Home\" (buttonClick)=\"homeClicked()\"></dbx-button>\n <dbx-spacer></dbx-spacer>\n @if (downloadZipFileBlobButtonConfigSignal()) {\n <dbx-download-blob-button [config]=\"downloadZipFileBlobButtonConfigSignal()\"></dbx-download-blob-button>\n }\n </div>\n <dbx-bar-header class=\"dbx-zip-blob-preview-header\" [icon]=\"selectedNodeIconSignal()\" [text]=\"selectedNodePathSignal()\"></dbx-bar-header>\n <div class=\"dbx-zip-blob-preview-content\">\n @switch (mode()) {\n @case ('view_directory') {\n <dbx-zip-preview-file-entry-list [state]=\"listEntriesState$\" [dbxListTitleGroup]=\"listTitleGroupDelegate\" [dbxListItemModifier] [dbxListItemAnchorModifier]=\"makeEntryAnchor\"></dbx-zip-preview-file-entry-list>\n }\n @case ('view_entry') {\n <dbx-embed class=\"dbx-zip-blob-preview-content-embed\" [blob]=\"selectedFileEntryBlobSignal()\"></dbx-embed>\n }\n }\n </div>\n</dbx-loading>\n", dependencies: [{ kind: "ngmodule", type: MatToolbarModule }, { kind: "directive", type: DbxButtonSpacerDirective, selector: "dbx-button-spacer,[dbxButtonSpacer]" }, { kind: "component", type: DbxButtonComponent, selector: "dbx-button", inputs: ["bar", "type", "buttonStyle", "color", "spinnerColor", "customButtonColor", "customTextColor", "customSpinnerColor", "basic", "tonal", "raised", "stroked", "flat", "iconOnly", "fab", "allowClickPropagation", "mode"] }, { kind: "component", type: DbxBarHeaderComponent, selector: "dbx-bar-header", inputs: ["text", "icon", "color"] }, { kind: "directive", type: DbxListTitleGroupDirective, selector: "[dbxListTitleGroup]", inputs: ["dbxListTitleGroup"] }, { kind: "component", type: DbxZipPreviewEntryListComponent, selector: "dbx-zip-preview-file-entry-list" }, { kind: "component", type: DbxEmbedComponent, selector: "dbx-embed", inputs: ["embedElement", "sanitizeUrl", "srcUrl", "type", "blob"], outputs: ["embedElementChange", "sanitizeUrlChange", "srcUrlChange", "typeChange", "blobChange"] }, { kind: "component", type: DbxLoadingComponent, selector: "dbx-loading", inputs: ["padding", "show", "text", "mode", "color", "diameter", "linear", "loading", "error", "context"] }, { kind: "directive", type: DbxValueListItemModifierDirective, selector: "dbxListItemModifier,[dbxListItemModifier]", inputs: ["dbxListItemModifier"] }, { kind: "directive", type: DbxListItemAnchorModifierDirective, selector: "[dbxListItemAnchorModifier]", inputs: ["dbxListItemAnchorModifier"] }, { kind: "component", type: DbxDownloadBlobButtonComponent, selector: "dbx-download-blob-button", inputs: ["config"] }, { kind: "directive", type: DbxSpacerDirective, selector: "dbx-spacer, [dbxSpacer]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
14526
14546
|
}
|
|
14527
14547
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.3", ngImport: i0, type: DbxZipBlobPreviewComponent, decorators: [{
|
|
14528
14548
|
type: Component,
|
|
14529
|
-
args: [{ selector: 'dbx-zip-blob-preview', standalone: true, imports: [MatToolbarModule, DbxButtonSpacerDirective,
|
|
14549
|
+
args: [{ selector: 'dbx-zip-blob-preview', standalone: true, imports: [MatToolbarModule, DbxButtonSpacerDirective, DbxButtonComponent, DbxBarHeaderComponent, DbxListTitleGroupDirective, DbxZipPreviewEntryListComponent, DbxEmbedComponent, DbxLoadingComponent, DbxValueListItemModifierDirective, DbxListItemAnchorModifierDirective, DbxListTitleGroupDirective, DbxDownloadBlobButtonComponent, DbxSpacerDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<dbx-loading [context]=\"context\">\n <div class=\"dbx-flex-bar dbx-zip-blob-preview-toolbar\">\n <dbx-button [disabled]=\"!selectedNodeSignal()\" icon=\"arrow_upward\" text=\"Back\" (buttonClick)=\"backClicked()\"></dbx-button>\n <dbx-button-spacer></dbx-button-spacer>\n <dbx-button [disabled]=\"!selectedNodeSignal()\" icon=\"home\" text=\"Home\" (buttonClick)=\"homeClicked()\"></dbx-button>\n <dbx-spacer></dbx-spacer>\n @if (downloadZipFileBlobButtonConfigSignal()) {\n <dbx-download-blob-button [config]=\"downloadZipFileBlobButtonConfigSignal()\"></dbx-download-blob-button>\n }\n </div>\n <dbx-bar-header class=\"dbx-zip-blob-preview-header\" [icon]=\"selectedNodeIconSignal()\" [text]=\"selectedNodePathSignal()\"></dbx-bar-header>\n <div class=\"dbx-zip-blob-preview-content\">\n @switch (mode()) {\n @case ('view_directory') {\n <dbx-zip-preview-file-entry-list [state]=\"listEntriesState$\" [dbxListTitleGroup]=\"listTitleGroupDelegate\" [dbxListItemModifier] [dbxListItemAnchorModifier]=\"makeEntryAnchor\"></dbx-zip-preview-file-entry-list>\n }\n @case ('view_entry') {\n <dbx-embed class=\"dbx-zip-blob-preview-content-embed\" [blob]=\"selectedFileEntryBlobSignal()\"></dbx-embed>\n }\n }\n </div>\n</dbx-loading>\n" }]
|
|
14530
14550
|
}], propDecorators: { blob: [{ type: i0.Input, args: [{ isSignal: true, alias: "blob", required: false }] }], downloadFileName: [{ type: i0.Input, args: [{ isSignal: true, alias: "downloadFileName", required: false }] }] } });
|
|
14531
14551
|
|
|
14532
14552
|
/**
|