@ethlete/cdk 4.30.0 → 4.31.0
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.
- package/CHANGELOG.md +8 -0
- package/esm2022/lib/components/overlay/components/overlay/types/overlay.types.mjs +1 -1
- package/esm2022/lib/components/overlay/components/overlay/utils/index.mjs +2 -1
- package/esm2022/lib/components/overlay/components/overlay/utils/overlay-handler.mjs +46 -0
- package/fesm2022/ethlete-cdk.mjs +673 -632
- package/fesm2022/ethlete-cdk.mjs.map +1 -1
- package/lib/components/overlay/components/overlay/types/overlay.types.d.ts +9 -0
- package/lib/components/overlay/components/overlay/utils/index.d.ts +1 -0
- package/lib/components/overlay/components/overlay/utils/overlay-handler.d.ts +27 -0
- package/package.json +1 -1
package/fesm2022/ethlete-cdk.mjs
CHANGED
|
@@ -2,9 +2,9 @@ import * as i1 from '@angular/cdk/portal';
|
|
|
2
2
|
import { CdkPortal, PortalModule, ComponentPortal, TemplatePortal, CdkPortalOutlet } from '@angular/cdk/portal';
|
|
3
3
|
import { AsyncPipe, NgClass, NgTemplateOutlet, JsonPipe, NgComponentOutlet, DOCUMENT, Location } from '@angular/common';
|
|
4
4
|
import * as i0 from '@angular/core';
|
|
5
|
-
import { Component, ViewEncapsulation, ChangeDetectionStrategy, InjectionToken, Directive, booleanAttribute, Input, ContentChild, ContentChildren, inject, ElementRef, Injector, HostBinding, input, numberAttribute, computed, signal, contentChildren, viewChild, viewChildren, isDevMode, Injectable, ChangeDetectorRef, TemplateRef, ViewContainerRef, ViewChild, forwardRef, EventEmitter, Output, ViewChildren, Optional, Inject, SkipSelf, HostListener, contentChild, effect, untracked, NgZone, NgModule,
|
|
5
|
+
import { Component, ViewEncapsulation, ChangeDetectionStrategy, InjectionToken, Directive, booleanAttribute, Input, ContentChild, ContentChildren, inject, ElementRef, Injector, HostBinding, input, numberAttribute, computed, signal, contentChildren, viewChild, viewChildren, isDevMode, Injectable, ChangeDetectorRef, TemplateRef, ViewContainerRef, ViewChild, forwardRef, EventEmitter, Output, ViewChildren, Optional, Inject, SkipSelf, HostListener, contentChild, effect, untracked, NgZone, NgModule, DestroyRef, isSignal, assertInInjectionContext, Attribute } from '@angular/core';
|
|
6
6
|
import * as i1$1 from '@ethlete/core';
|
|
7
|
-
import { LetDirective, createDestroy, Memo, signalHostAttributes, signalHostClasses, previousSignalValue, signalHostStyles, nextFrame, syncSignal, signalStyles, injectHostElement, ObserveVisibilityDirective, signalVisibilityChangeClasses, IS_EMAIL, MUST_MATCH, IS_ARRAY_NOT_EMPTY, AT_LEAST_ONE_REQUIRED, equal, switchQueryListChanges, signalAttributes, ResizeObserverService, createFlipAnimation, AnimatedOverlayDirective, RuntimeError, SelectionModel, ActiveSelectionModel, KeyPressManager, signalClasses, scrollToElement, isEmptyArray, isObjectArray, isPrimitiveArray, createComponentId, ClickOutsideDirective, ANIMATED_LIFECYCLE_TOKEN, AnimatedLifecycleDirective, ObserveContentDirective, clamp, DELAYABLE_TOKEN, ObserveResizeDirective, SmartBlockScrollStrategy, RouterStateService, signalElementDimensions, signalElementScrollState, createIsRenderedSignal, createCanAnimateSignal, useCursorDragScroll, signalElementIntersection, signalElementChildren, getIntersectionInfo, getElementScrollCoordinates, ObserveScrollStateDirective, ClickObserverService, RootBoundaryDirective, elementCanScroll, cloneFormGroup, controlValueSignal, getFormGroupValue,
|
|
7
|
+
import { LetDirective, createDestroy, Memo, signalHostAttributes, signalHostClasses, previousSignalValue, signalHostStyles, nextFrame, syncSignal, signalStyles, injectHostElement, ObserveVisibilityDirective, signalVisibilityChangeClasses, IS_EMAIL, MUST_MATCH, IS_ARRAY_NOT_EMPTY, AT_LEAST_ONE_REQUIRED, equal, switchQueryListChanges, signalAttributes, ResizeObserverService, createFlipAnimation, AnimatedOverlayDirective, RuntimeError, SelectionModel, ActiveSelectionModel, KeyPressManager, signalClasses, scrollToElement, isEmptyArray, isObjectArray, isPrimitiveArray, createComponentId, ClickOutsideDirective, ANIMATED_LIFECYCLE_TOKEN, AnimatedLifecycleDirective, ObserveContentDirective, clamp, DELAYABLE_TOKEN, ObserveResizeDirective, SmartBlockScrollStrategy, RouterStateService, signalElementDimensions, signalElementScrollState, createIsRenderedSignal, createCanAnimateSignal, useCursorDragScroll, signalElementIntersection, signalElementChildren, getIntersectionInfo, getElementScrollCoordinates, ObserveScrollStateDirective, ClickObserverService, RootBoundaryDirective, elementCanScroll, cloneFormGroup, controlValueSignal, getFormGroupValue, ViewportService, ROOT_BOUNDARY_TOKEN, fromNextFrame, isElementVisible, AnimatedIfDirective, FocusVisibleService, inferMimeType, ScrollObserverIgnoreTargetDirective, TypedQueryList } from '@ethlete/core';
|
|
8
8
|
import { BehaviorSubject, startWith, map, switchMap, combineLatest, pairwise, tap, takeUntil, skip, of, merge, timer, takeWhile, filter, fromEvent, Subject, Observable, debounceTime, withLatestFrom, distinctUntilChanged, take, skipUntil, skipWhile, catchError, throwError, defer, partition, from, finalize, Subscription } from 'rxjs';
|
|
9
9
|
import { trigger, state, style, transition, animate } from '@angular/animations';
|
|
10
10
|
import { __decorate, __metadata } from 'tslib';
|
|
@@ -12142,699 +12142,740 @@ const createOverlayConfig = (globalConfig, localConfig) => ({
|
|
|
12142
12142
|
...(localConfig || {}),
|
|
12143
12143
|
});
|
|
12144
12144
|
|
|
12145
|
-
|
|
12146
|
-
const
|
|
12147
|
-
const
|
|
12148
|
-
|
|
12149
|
-
|
|
12150
|
-
const ET_OVERLAY_FULL_SCREEN_DIALOG_CLASS = 'et-overlay--full-screen-dialog';
|
|
12151
|
-
const ET_OVERLAY_CONFIG_CLASS_KEYS = new Set([
|
|
12152
|
-
'containerClass',
|
|
12153
|
-
'paneClass',
|
|
12154
|
-
'overlayClass',
|
|
12155
|
-
'backdropClass',
|
|
12156
|
-
'documentClass',
|
|
12157
|
-
'bodyClass',
|
|
12158
|
-
]);
|
|
12159
|
-
const ET_OVERLAY_LAYOUT_CLASSES = new Set([
|
|
12160
|
-
ET_OVERLAY_LEFT_SHEET_CLASS,
|
|
12161
|
-
ET_OVERLAY_RIGHT_SHEET_CLASS,
|
|
12162
|
-
ET_OVERLAY_TOP_SHEET_CLASS,
|
|
12163
|
-
ET_OVERLAY_BOTTOM_SHEET_CLASS,
|
|
12164
|
-
ET_OVERLAY_DIALOG_CLASS,
|
|
12165
|
-
ET_OVERLAY_FULL_SCREEN_DIALOG_CLASS,
|
|
12166
|
-
]);
|
|
12167
|
-
class OverlayPositionBuilder {
|
|
12168
|
-
constructor() {
|
|
12169
|
-
this._overlay = inject(Overlay);
|
|
12170
|
-
this.DEFAULTS = {
|
|
12171
|
-
dialog: {
|
|
12172
|
-
width: undefined,
|
|
12173
|
-
height: undefined,
|
|
12174
|
-
maxHeight: '80vh',
|
|
12175
|
-
maxWidth: '80vw',
|
|
12176
|
-
minHeight: undefined,
|
|
12177
|
-
minWidth: undefined,
|
|
12178
|
-
containerClass: ET_OVERLAY_DIALOG_CLASS,
|
|
12179
|
-
positionStrategy: () => this._overlay.position().global().centerHorizontally().centerVertically(),
|
|
12180
|
-
},
|
|
12181
|
-
fullScreenDialog: {
|
|
12182
|
-
width: '100%',
|
|
12183
|
-
height: '100%',
|
|
12184
|
-
maxHeight: undefined,
|
|
12185
|
-
maxWidth: undefined,
|
|
12186
|
-
minHeight: undefined,
|
|
12187
|
-
minWidth: undefined,
|
|
12188
|
-
containerClass: ET_OVERLAY_FULL_SCREEN_DIALOG_CLASS,
|
|
12189
|
-
positionStrategy: () => this._overlay.position().global().left('0').top('0').bottom('0').right('0'),
|
|
12190
|
-
documentClass: 'et-overlay--full-screen-dialog-document',
|
|
12191
|
-
applyTransformOrigin: true,
|
|
12192
|
-
},
|
|
12193
|
-
bottomSheet: {
|
|
12194
|
-
width: '100%',
|
|
12195
|
-
height: undefined,
|
|
12196
|
-
maxHeight: 'calc(100% - 72px)',
|
|
12197
|
-
maxWidth: '640px',
|
|
12198
|
-
minHeight: undefined,
|
|
12199
|
-
minWidth: undefined,
|
|
12200
|
-
containerClass: ET_OVERLAY_BOTTOM_SHEET_CLASS,
|
|
12201
|
-
positionStrategy: () => this._overlay.position().global().centerHorizontally().bottom('0'),
|
|
12202
|
-
dragToDismiss: {
|
|
12203
|
-
direction: 'to-bottom',
|
|
12204
|
-
},
|
|
12205
|
-
},
|
|
12206
|
-
topSheet: {
|
|
12207
|
-
width: '100%',
|
|
12208
|
-
height: undefined,
|
|
12209
|
-
maxHeight: 'calc(100% - 72px)',
|
|
12210
|
-
maxWidth: '640px',
|
|
12211
|
-
minHeight: undefined,
|
|
12212
|
-
minWidth: undefined,
|
|
12213
|
-
containerClass: ET_OVERLAY_TOP_SHEET_CLASS,
|
|
12214
|
-
positionStrategy: () => this._overlay.position().global().centerHorizontally().top('0'),
|
|
12215
|
-
dragToDismiss: {
|
|
12216
|
-
direction: 'to-top',
|
|
12217
|
-
},
|
|
12218
|
-
},
|
|
12219
|
-
leftSheet: {
|
|
12220
|
-
width: '100%',
|
|
12221
|
-
height: '100%',
|
|
12222
|
-
maxHeight: undefined,
|
|
12223
|
-
maxWidth: '640px',
|
|
12224
|
-
minHeight: undefined,
|
|
12225
|
-
minWidth: undefined,
|
|
12226
|
-
containerClass: ET_OVERLAY_LEFT_SHEET_CLASS,
|
|
12227
|
-
positionStrategy: () => this._overlay.position().global().left('0').centerVertically(),
|
|
12228
|
-
dragToDismiss: {
|
|
12229
|
-
direction: 'to-left',
|
|
12230
|
-
},
|
|
12231
|
-
},
|
|
12232
|
-
rightSheet: {
|
|
12233
|
-
width: '100%',
|
|
12234
|
-
height: '100%',
|
|
12235
|
-
maxHeight: undefined,
|
|
12236
|
-
maxWidth: '640px',
|
|
12237
|
-
minHeight: undefined,
|
|
12238
|
-
minWidth: undefined,
|
|
12239
|
-
containerClass: ET_OVERLAY_RIGHT_SHEET_CLASS,
|
|
12240
|
-
positionStrategy: () => this._overlay.position().global().right('0').centerVertically(),
|
|
12241
|
-
dragToDismiss: {
|
|
12242
|
-
direction: 'to-right',
|
|
12243
|
-
},
|
|
12244
|
-
},
|
|
12245
|
-
};
|
|
12246
|
-
}
|
|
12247
|
-
transformingBottomSheetToDialog(customConfig) {
|
|
12248
|
-
const data = [
|
|
12249
|
-
{
|
|
12250
|
-
config: this.mergeConfigs(this.DEFAULTS.bottomSheet, customConfig?.bottomSheet ?? {}),
|
|
12251
|
-
},
|
|
12252
|
-
{
|
|
12253
|
-
breakpoint: customConfig?.breakpoint ?? 'md',
|
|
12254
|
-
config: this.mergeConfigs(this.DEFAULTS.dialog, customConfig?.dialog ?? {}),
|
|
12255
|
-
},
|
|
12256
|
-
];
|
|
12257
|
-
return data;
|
|
12145
|
+
let uniqueId$1 = 0;
|
|
12146
|
+
const ID_PREFIX = 'et-overlay-';
|
|
12147
|
+
const setStyle = (el, style, value) => {
|
|
12148
|
+
if (value === null || value === undefined) {
|
|
12149
|
+
el.style.removeProperty(style);
|
|
12258
12150
|
}
|
|
12259
|
-
|
|
12260
|
-
|
|
12261
|
-
{
|
|
12262
|
-
config: this.mergeConfigs(this.DEFAULTS.fullScreenDialog, customConfig?.fullScreenDialog ?? {}),
|
|
12263
|
-
},
|
|
12264
|
-
{
|
|
12265
|
-
breakpoint: customConfig?.breakpoint ?? 'md',
|
|
12266
|
-
config: this.mergeConfigs(this.DEFAULTS.rightSheet, customConfig?.rightSheet ?? {}),
|
|
12267
|
-
},
|
|
12268
|
-
];
|
|
12269
|
-
return data;
|
|
12151
|
+
else {
|
|
12152
|
+
el.style.setProperty(style, coerceCssPixelValue(value));
|
|
12270
12153
|
}
|
|
12271
|
-
|
|
12272
|
-
|
|
12273
|
-
|
|
12274
|
-
|
|
12275
|
-
|
|
12276
|
-
|
|
12277
|
-
|
|
12278
|
-
|
|
12279
|
-
|
|
12280
|
-
|
|
12281
|
-
|
|
12154
|
+
};
|
|
12155
|
+
const setClass = (el, prevClass, currClass) => {
|
|
12156
|
+
if (!equal(prevClass, currClass)) {
|
|
12157
|
+
if (prevClass) {
|
|
12158
|
+
if (Array.isArray(prevClass)) {
|
|
12159
|
+
el.classList.remove(...prevClass);
|
|
12160
|
+
}
|
|
12161
|
+
else {
|
|
12162
|
+
el.classList.remove(prevClass);
|
|
12163
|
+
}
|
|
12164
|
+
}
|
|
12165
|
+
if (currClass) {
|
|
12166
|
+
if (Array.isArray(currClass)) {
|
|
12167
|
+
el.classList.add(...currClass);
|
|
12168
|
+
}
|
|
12169
|
+
else {
|
|
12170
|
+
el.classList.add(currClass);
|
|
12171
|
+
}
|
|
12172
|
+
}
|
|
12282
12173
|
}
|
|
12283
|
-
|
|
12284
|
-
|
|
12285
|
-
|
|
12286
|
-
|
|
12287
|
-
|
|
12288
|
-
|
|
12289
|
-
|
|
12174
|
+
};
|
|
12175
|
+
const isHtmlElement = (element) => {
|
|
12176
|
+
return element instanceof HTMLElement;
|
|
12177
|
+
};
|
|
12178
|
+
const isTouchEvent = (event) => {
|
|
12179
|
+
return event.type[0] === 't';
|
|
12180
|
+
};
|
|
12181
|
+
const isPointerEvent = (event) => {
|
|
12182
|
+
return event.type[0] === 'c';
|
|
12183
|
+
};
|
|
12184
|
+
class OverlayService {
|
|
12185
|
+
constructor() {
|
|
12186
|
+
this._destroy$ = createDestroy();
|
|
12187
|
+
this._defaultOptions = inject(OVERLAY_DEFAULT_OPTIONS, { optional: true });
|
|
12188
|
+
this._scrollStrategy = inject(OVERLAY_SCROLL_STRATEGY);
|
|
12189
|
+
this._parentOverlayService = inject(OverlayService, { optional: true, skipSelf: true });
|
|
12190
|
+
this._dialog = inject(Dialog);
|
|
12191
|
+
this._viewportService = inject(ViewportService);
|
|
12192
|
+
this._openOverlaysAtThisLevel = [];
|
|
12193
|
+
this._afterAllClosedAtThisLevel = new Subject();
|
|
12194
|
+
this._afterOpenedAtThisLevel = new Subject();
|
|
12195
|
+
this.positions = new OverlayPositionBuilder();
|
|
12196
|
+
this.afterAllClosed = defer(() => this.openOverlays.length ? this._getAfterAllClosed() : this._getAfterAllClosed().pipe(startWith(undefined)));
|
|
12290
12197
|
}
|
|
12291
|
-
|
|
12292
|
-
|
|
12293
|
-
{
|
|
12294
|
-
config: this.mergeConfigs(this.DEFAULTS.fullScreenDialog, customConfig ?? {}),
|
|
12295
|
-
},
|
|
12296
|
-
];
|
|
12297
|
-
return data;
|
|
12198
|
+
get openOverlays() {
|
|
12199
|
+
return this._parentOverlayService ? this._parentOverlayService.openOverlays : this._openOverlaysAtThisLevel;
|
|
12298
12200
|
}
|
|
12299
|
-
|
|
12300
|
-
|
|
12301
|
-
{
|
|
12302
|
-
config: this.mergeConfigs(this.DEFAULTS.bottomSheet, customConfig ?? {}),
|
|
12303
|
-
},
|
|
12304
|
-
];
|
|
12305
|
-
return data;
|
|
12201
|
+
get afterOpened() {
|
|
12202
|
+
return this._parentOverlayService ? this._parentOverlayService.afterOpened : this._afterOpenedAtThisLevel;
|
|
12306
12203
|
}
|
|
12307
|
-
|
|
12308
|
-
|
|
12309
|
-
|
|
12310
|
-
|
|
12311
|
-
},
|
|
12312
|
-
];
|
|
12313
|
-
return data;
|
|
12204
|
+
ngOnDestroy() {
|
|
12205
|
+
this._closeOverlays(this._openOverlaysAtThisLevel);
|
|
12206
|
+
this._afterAllClosedAtThisLevel.complete();
|
|
12207
|
+
this._afterOpenedAtThisLevel.complete();
|
|
12314
12208
|
}
|
|
12315
|
-
|
|
12316
|
-
|
|
12317
|
-
|
|
12318
|
-
|
|
12209
|
+
open(componentOrTemplateRef, config) {
|
|
12210
|
+
let overlayRef;
|
|
12211
|
+
const composedConfig = createOverlayConfig(this._defaultOptions, config);
|
|
12212
|
+
composedConfig.id = composedConfig.id || `${ID_PREFIX}${uniqueId$1++}`;
|
|
12213
|
+
composedConfig.scrollStrategy = composedConfig.scrollStrategy || this._scrollStrategy();
|
|
12214
|
+
const cdkRef = this._dialog.open(componentOrTemplateRef, {
|
|
12215
|
+
...composedConfig,
|
|
12216
|
+
disableClose: true,
|
|
12217
|
+
closeOnDestroy: false,
|
|
12218
|
+
panelClass: 'et-overlay-pane',
|
|
12219
|
+
container: {
|
|
12220
|
+
type: OverlayContainerComponent,
|
|
12221
|
+
providers: () => [
|
|
12222
|
+
{ provide: OVERLAY_CONFIG, useValue: composedConfig },
|
|
12223
|
+
{ provide: DialogConfig, useValue: composedConfig },
|
|
12224
|
+
],
|
|
12319
12225
|
},
|
|
12320
|
-
|
|
12321
|
-
|
|
12322
|
-
|
|
12323
|
-
|
|
12324
|
-
|
|
12325
|
-
|
|
12326
|
-
|
|
12226
|
+
templateContext: () => ({ dialogRef: overlayRef }),
|
|
12227
|
+
providers: (ref, cdkConfig, overlayContainer) => {
|
|
12228
|
+
const container = overlayContainer;
|
|
12229
|
+
overlayRef = new OverlayRef(ref, composedConfig, container);
|
|
12230
|
+
return [
|
|
12231
|
+
{ provide: OverlayContainerComponent, useValue: overlayContainer },
|
|
12232
|
+
{ provide: THEME_PROVIDER, useValue: container._themeProvider },
|
|
12233
|
+
{ provide: ProvideThemeDirective, useValue: container._themeProvider },
|
|
12234
|
+
{ provide: ROOT_BOUNDARY_TOKEN, useValue: container._rootBoundary },
|
|
12235
|
+
{ provide: RootBoundaryDirective, useValue: container._rootBoundary },
|
|
12236
|
+
{ provide: OVERLAY_DATA, useValue: cdkConfig.data },
|
|
12237
|
+
{ provide: OverlayRef, useValue: overlayRef },
|
|
12238
|
+
...(composedConfig.providers ?? []),
|
|
12239
|
+
];
|
|
12327
12240
|
},
|
|
12328
|
-
|
|
12329
|
-
|
|
12330
|
-
|
|
12331
|
-
|
|
12332
|
-
|
|
12333
|
-
|
|
12334
|
-
|
|
12335
|
-
|
|
12336
|
-
|
|
12337
|
-
|
|
12338
|
-
|
|
12339
|
-
|
|
12340
|
-
|
|
12341
|
-
|
|
12342
|
-
|
|
12343
|
-
|
|
12344
|
-
|
|
12345
|
-
|
|
12346
|
-
|
|
12347
|
-
|
|
12348
|
-
|
|
12349
|
-
|
|
12350
|
-
|
|
12351
|
-
|
|
12352
|
-
|
|
12353
|
-
|
|
12354
|
-
|
|
12355
|
-
|
|
12356
|
-
|
|
12241
|
+
});
|
|
12242
|
+
/* eslint-disable @typescript-eslint/no-non-null-assertion*/
|
|
12243
|
+
overlayRef.componentRef = cdkRef.componentRef;
|
|
12244
|
+
overlayRef.componentInstance = cdkRef.componentInstance;
|
|
12245
|
+
cdkRef.containerInstance.overlayRef = overlayRef;
|
|
12246
|
+
const containerEl = overlayRef._containerInstance.elementRef.nativeElement;
|
|
12247
|
+
const overlayPaneEl = cdkRef.overlayRef.overlayElement;
|
|
12248
|
+
const backdropEl = cdkRef.overlayRef.backdropElement;
|
|
12249
|
+
const overlayWrapper = cdkRef.overlayRef.hostElement;
|
|
12250
|
+
const defaultAnimationBuffer = 50; // 50px since the default animation uses spring physics and thus will overshoot.
|
|
12251
|
+
const useDefaultAnimation = composedConfig.customAnimated !== true;
|
|
12252
|
+
const origin = composedConfig.origin;
|
|
12253
|
+
combineLatest(composedConfig.positions.map((breakpoint) => (breakpoint.breakpoint ? this._viewportService.observe({ min: breakpoint.breakpoint }) : of(true)).pipe(map((isActive) => ({
|
|
12254
|
+
isActive,
|
|
12255
|
+
config: breakpoint.config,
|
|
12256
|
+
size: typeof breakpoint.breakpoint === 'number'
|
|
12257
|
+
? breakpoint.breakpoint
|
|
12258
|
+
: breakpoint.breakpoint === undefined
|
|
12259
|
+
? 0
|
|
12260
|
+
: this._viewportService.getBreakpointSize(breakpoint.breakpoint, 'min'),
|
|
12261
|
+
})))))
|
|
12262
|
+
.pipe(takeUntil(overlayRef.afterClosed()), takeUntil(this._destroy$), map((entries) => {
|
|
12263
|
+
const activeBreakpoints = entries.filter((entry) => entry.isActive);
|
|
12264
|
+
const highestBreakpoint = activeBreakpoints.reduce((prev, curr) => (prev.size > curr.size ? prev : curr));
|
|
12265
|
+
return highestBreakpoint.config;
|
|
12266
|
+
}), startWith(null), pairwise(), tap(([prevConfig, currConfig]) => {
|
|
12267
|
+
if (!currConfig)
|
|
12268
|
+
return;
|
|
12269
|
+
const containerClass = currConfig.containerClass;
|
|
12270
|
+
const applyDefaultMaxWidths = () => {
|
|
12271
|
+
setStyle(overlayPaneEl, 'max-width', currConfig.maxWidth);
|
|
12272
|
+
setStyle(overlayPaneEl, 'max-height', currConfig.maxHeight);
|
|
12273
|
+
};
|
|
12274
|
+
const combineOrMakeCalc = (value, append) => {
|
|
12275
|
+
if (!value)
|
|
12276
|
+
return append;
|
|
12277
|
+
if (typeof value === 'number') {
|
|
12278
|
+
return `calc(${value}px + ${append})`;
|
|
12279
|
+
}
|
|
12280
|
+
else if (value.startsWith('calc(')) {
|
|
12281
|
+
return `${value.slice(0, value.length - 1)} + ${append})`;
|
|
12282
|
+
}
|
|
12283
|
+
return `calc(${value} + ${append})`;
|
|
12284
|
+
};
|
|
12285
|
+
if (origin) {
|
|
12286
|
+
// TODO: If getBoundingClientRect is used it should use the center of the element.
|
|
12287
|
+
const originX = isHtmlElement(origin)
|
|
12288
|
+
? origin.getBoundingClientRect().left
|
|
12289
|
+
: isTouchEvent(origin)
|
|
12290
|
+
? origin.targetTouches[0].clientX
|
|
12291
|
+
: isPointerEvent(origin)
|
|
12292
|
+
? origin.clientX !== 0
|
|
12293
|
+
? origin.clientX
|
|
12294
|
+
: origin.target.getBoundingClientRect().left
|
|
12295
|
+
: -1;
|
|
12296
|
+
const originY = isHtmlElement(origin)
|
|
12297
|
+
? origin.getBoundingClientRect().top
|
|
12298
|
+
: isTouchEvent(origin)
|
|
12299
|
+
? origin.targetTouches[0].clientY
|
|
12300
|
+
: isPointerEvent(origin)
|
|
12301
|
+
? origin.clientY !== 0
|
|
12302
|
+
? origin.clientY
|
|
12303
|
+
: origin.target.getBoundingClientRect().top
|
|
12304
|
+
: -1;
|
|
12305
|
+
if (originX !== -1 && originY !== -1 && currConfig.applyTransformOrigin) {
|
|
12306
|
+
setStyle(containerEl, 'transform-origin', `${originX}px ${originY}px`);
|
|
12357
12307
|
}
|
|
12358
12308
|
else {
|
|
12359
|
-
|
|
12309
|
+
setStyle(containerEl, 'transform-origin', null);
|
|
12360
12310
|
}
|
|
12361
12311
|
}
|
|
12362
|
-
|
|
12363
|
-
|
|
12364
|
-
|
|
12365
|
-
}
|
|
12366
|
-
|
|
12367
|
-
const OVERLAY_ROUTER_CONFIG_TOKEN = new InjectionToken('OVERLAY_ROUTER_CONFIG_TOKEN');
|
|
12368
|
-
class OverlayRouterService {
|
|
12369
|
-
constructor() {
|
|
12370
|
-
this._router = inject(Router);
|
|
12371
|
-
this._routerStateService = inject(RouterStateService);
|
|
12372
|
-
this._id = createComponentId('ovr');
|
|
12373
|
-
this._overlayRef = inject(OverlayRef);
|
|
12374
|
-
this._config = inject(OVERLAY_ROUTER_CONFIG_TOKEN);
|
|
12375
|
-
this._syncCurrentRoute = signal(this._getInitialRoute());
|
|
12376
|
-
this._nativeBrowserTempBackNavigationStack = signal([]);
|
|
12377
|
-
// The current route, but delayed by one frame to ensure that the needed animation classes are applied.
|
|
12378
|
-
this.currentRoute = toSignal(toObservable(this._syncCurrentRoute).pipe(switchMap((r) => fromNextFrame().pipe(map(() => r)))), { initialValue: this._getInitialRoute() });
|
|
12379
|
-
this.extraRoutes = signal([]);
|
|
12380
|
-
this.transitionType = signal('slide');
|
|
12381
|
-
this.routes = computed(() => {
|
|
12382
|
-
const allRoutes = [...this._config.routes, ...this.extraRoutes()];
|
|
12383
|
-
const allRoundsWithTransformedInputs = allRoutes.map((route) => {
|
|
12384
|
-
return {
|
|
12385
|
-
...route,
|
|
12386
|
-
inputs: Object.entries(route.inputs ?? {}).reduce((acc, [key, value]) => {
|
|
12387
|
-
if (isSignal(value)) {
|
|
12388
|
-
acc[key] = value();
|
|
12389
|
-
}
|
|
12390
|
-
else {
|
|
12391
|
-
acc[key] = value;
|
|
12392
|
-
}
|
|
12393
|
-
return acc;
|
|
12394
|
-
}, {}),
|
|
12395
|
-
};
|
|
12396
|
-
});
|
|
12397
|
-
return allRoundsWithTransformedInputs;
|
|
12398
|
-
});
|
|
12399
|
-
this.currentPage = computed(() => {
|
|
12400
|
-
const currentRoute = this._syncCurrentRoute();
|
|
12401
|
-
for (const route of this.routes()) {
|
|
12402
|
-
if (route.path === currentRoute) {
|
|
12403
|
-
return route;
|
|
12312
|
+
if (useDefaultAnimation && containerClass?.length) {
|
|
12313
|
+
if (containerClass?.includes(ET_OVERLAY_LEFT_SHEET_CLASS) ||
|
|
12314
|
+
containerClass?.includes(ET_OVERLAY_RIGHT_SHEET_CLASS)) {
|
|
12315
|
+
setStyle(overlayPaneEl, 'max-width', combineOrMakeCalc(currConfig.maxWidth, `${defaultAnimationBuffer}px`));
|
|
12316
|
+
setStyle(overlayPaneEl, 'max-height', currConfig.maxHeight);
|
|
12404
12317
|
}
|
|
12405
|
-
|
|
12406
|
-
|
|
12407
|
-
|
|
12408
|
-
|
|
12409
|
-
this._disableCloseOnNavigation();
|
|
12410
|
-
this._updateBrowserUrl(this._syncCurrentRoute());
|
|
12411
|
-
this._routerStateService
|
|
12412
|
-
.selectQueryParam(this._id)
|
|
12413
|
-
.pipe(takeUntilDestroyed(), skip(1), tap((route) => {
|
|
12414
|
-
// The user navigated back or forward using the browser history
|
|
12415
|
-
if (!route) {
|
|
12416
|
-
// The route query param no longer exists - close the overlay
|
|
12417
|
-
this._overlayRef.close();
|
|
12418
|
-
}
|
|
12419
|
-
else if (route !== this._syncCurrentRoute()) {
|
|
12420
|
-
const navStack = this._nativeBrowserTempBackNavigationStack();
|
|
12421
|
-
const currentRoute = this._syncCurrentRoute();
|
|
12422
|
-
if (!navStack.length) {
|
|
12423
|
-
// If the nav stack is empty the only way to navigate is back.
|
|
12424
|
-
this.navigate(route, { navigationDirection: 'backward' });
|
|
12425
|
-
this._nativeBrowserTempBackNavigationStack.set([currentRoute]);
|
|
12318
|
+
else if (containerClass?.includes(ET_OVERLAY_TOP_SHEET_CLASS) ||
|
|
12319
|
+
containerClass?.includes(ET_OVERLAY_BOTTOM_SHEET_CLASS)) {
|
|
12320
|
+
setStyle(overlayPaneEl, 'max-height', combineOrMakeCalc(currConfig.maxHeight, `${defaultAnimationBuffer}px`));
|
|
12321
|
+
setStyle(overlayPaneEl, 'max-width', currConfig.maxWidth);
|
|
12426
12322
|
}
|
|
12427
12323
|
else {
|
|
12428
|
-
|
|
12429
|
-
if (route === lastItem) {
|
|
12430
|
-
// The new route matches the last item in the back nav stack.
|
|
12431
|
-
// This means we are going forward again.
|
|
12432
|
-
this.navigate(route, { navigationDirection: 'forward' });
|
|
12433
|
-
this._nativeBrowserTempBackNavigationStack.set(navStack.slice(0, -1));
|
|
12434
|
-
}
|
|
12435
|
-
else {
|
|
12436
|
-
// Else we are going back.
|
|
12437
|
-
this.navigate(route, { navigationDirection: 'backward' });
|
|
12438
|
-
this._nativeBrowserTempBackNavigationStack.set([...navStack, currentRoute]);
|
|
12439
|
-
}
|
|
12324
|
+
applyDefaultMaxWidths();
|
|
12440
12325
|
}
|
|
12441
12326
|
}
|
|
12442
12327
|
else {
|
|
12443
|
-
|
|
12444
|
-
|
|
12328
|
+
applyDefaultMaxWidths();
|
|
12329
|
+
}
|
|
12330
|
+
setStyle(overlayPaneEl, 'min-width', currConfig.minWidth);
|
|
12331
|
+
setStyle(overlayPaneEl, 'min-height', currConfig.minHeight);
|
|
12332
|
+
setStyle(overlayPaneEl, 'width', currConfig.width);
|
|
12333
|
+
setStyle(overlayPaneEl, 'height', currConfig.height);
|
|
12334
|
+
setClass(containerEl, prevConfig?.containerClass, currConfig?.containerClass);
|
|
12335
|
+
setClass(overlayPaneEl, prevConfig?.paneClass, currConfig?.paneClass);
|
|
12336
|
+
setClass(overlayWrapper, prevConfig?.overlayClass, currConfig?.overlayClass);
|
|
12337
|
+
// FIXME: These classes should only be removed if no open overlays require them inside their config.
|
|
12338
|
+
setClass(document.documentElement, prevConfig?.documentClass, currConfig?.documentClass);
|
|
12339
|
+
setClass(document.body, prevConfig?.bodyClass, currConfig?.bodyClass);
|
|
12340
|
+
if (backdropEl) {
|
|
12341
|
+
setClass(backdropEl, prevConfig?.backdropClass, currConfig?.backdropClass);
|
|
12342
|
+
}
|
|
12343
|
+
if (!equal(prevConfig?.position, currConfig?.position)) {
|
|
12344
|
+
overlayRef.updatePosition(currConfig.position);
|
|
12345
|
+
}
|
|
12346
|
+
if (currConfig.positionStrategy) {
|
|
12347
|
+
cdkRef.overlayRef.updatePositionStrategy(currConfig.positionStrategy());
|
|
12348
|
+
}
|
|
12349
|
+
else {
|
|
12350
|
+
cdkRef.overlayRef.updatePosition();
|
|
12351
|
+
}
|
|
12352
|
+
if (currConfig.dragToDismiss) {
|
|
12353
|
+
overlayRef._containerInstance._enableDragToDismiss(currConfig.dragToDismiss);
|
|
12354
|
+
}
|
|
12355
|
+
else {
|
|
12356
|
+
overlayRef._containerInstance._disableDragToDismiss();
|
|
12445
12357
|
}
|
|
12446
12358
|
}))
|
|
12447
12359
|
.subscribe();
|
|
12448
|
-
|
|
12449
|
-
|
|
12450
|
-
|
|
12360
|
+
this.openOverlays.push(overlayRef);
|
|
12361
|
+
this.afterOpened.next(overlayRef);
|
|
12362
|
+
overlayRef.beforeClosed().subscribe(() => {
|
|
12363
|
+
// FIXME: These classes should only be removed if no open overlays require them inside their config.
|
|
12364
|
+
const documentClasses = composedConfig.positions.map((position) => position.config.documentClass);
|
|
12365
|
+
for (const klass of documentClasses) {
|
|
12366
|
+
if (!klass)
|
|
12367
|
+
continue;
|
|
12368
|
+
if (Array.isArray(klass)) {
|
|
12369
|
+
document.documentElement.classList.remove(...klass);
|
|
12370
|
+
}
|
|
12371
|
+
else {
|
|
12372
|
+
document.documentElement.classList.remove(klass);
|
|
12373
|
+
}
|
|
12374
|
+
}
|
|
12375
|
+
const bodyClasses = composedConfig.positions.map((position) => position.config.bodyClass);
|
|
12376
|
+
for (const klass of bodyClasses) {
|
|
12377
|
+
if (!klass)
|
|
12378
|
+
continue;
|
|
12379
|
+
if (Array.isArray(klass)) {
|
|
12380
|
+
document.body.classList.remove(...klass);
|
|
12381
|
+
}
|
|
12382
|
+
else {
|
|
12383
|
+
document.body.classList.remove(klass);
|
|
12384
|
+
}
|
|
12385
|
+
}
|
|
12451
12386
|
});
|
|
12452
|
-
|
|
12453
|
-
|
|
12454
|
-
|
|
12455
|
-
|
|
12456
|
-
this.
|
|
12457
|
-
|
|
12458
|
-
|
|
12459
|
-
this.navigationDirection.set('backward');
|
|
12460
|
-
}
|
|
12461
|
-
else {
|
|
12462
|
-
this.navigationDirection.set('forward');
|
|
12463
|
-
}
|
|
12464
|
-
this._updateCurrentRoute(resolvedRoute.route);
|
|
12465
|
-
}
|
|
12466
|
-
resolvePath(route) {
|
|
12467
|
-
if (Array.isArray(route)) {
|
|
12468
|
-
route = route.join('/');
|
|
12469
|
-
}
|
|
12470
|
-
if (route === '') {
|
|
12471
|
-
route = '/';
|
|
12472
|
-
}
|
|
12473
|
-
const isAbsolute = route.startsWith('/');
|
|
12474
|
-
const isReplaceCurrent = route.startsWith('./');
|
|
12475
|
-
const isBack = route.startsWith('../');
|
|
12476
|
-
const isForward = !isAbsolute && !isReplaceCurrent && !isBack;
|
|
12477
|
-
const curr = this._syncCurrentRoute();
|
|
12478
|
-
if (isForward) {
|
|
12479
|
-
route = `${curr}/${route}`;
|
|
12480
|
-
}
|
|
12481
|
-
else if (isReplaceCurrent) {
|
|
12482
|
-
const currSegments = curr.split('/').filter((s) => s !== '');
|
|
12483
|
-
currSegments.pop();
|
|
12484
|
-
const newSegments = route.split('/').filter((s) => s !== '.');
|
|
12485
|
-
route = `/${currSegments.concat(newSegments).join('/')}`;
|
|
12486
|
-
}
|
|
12487
|
-
else if (isBack) {
|
|
12488
|
-
const currSegments = curr.split('/').filter((s) => s !== '');
|
|
12489
|
-
const newSegments = route.split('/').filter((s) => s !== '..');
|
|
12490
|
-
const stepsBack = route.split('/').filter((s) => s === '..').length;
|
|
12491
|
-
for (let i = 0; i < stepsBack; i++) {
|
|
12492
|
-
currSegments.pop();
|
|
12387
|
+
overlayRef.afterClosed().subscribe(() => {
|
|
12388
|
+
const index = this.openOverlays.indexOf(overlayRef);
|
|
12389
|
+
if (index === -1)
|
|
12390
|
+
return;
|
|
12391
|
+
this.openOverlays.splice(index, 1);
|
|
12392
|
+
if (!this.openOverlays.length) {
|
|
12393
|
+
this._getAfterAllClosed().next();
|
|
12493
12394
|
}
|
|
12494
|
-
|
|
12495
|
-
|
|
12496
|
-
|
|
12497
|
-
route,
|
|
12498
|
-
type: isBack || route === '/'
|
|
12499
|
-
? 'back'
|
|
12500
|
-
: isReplaceCurrent
|
|
12501
|
-
? 'replace-current'
|
|
12502
|
-
: isAbsolute
|
|
12503
|
-
? 'absolute'
|
|
12504
|
-
: isForward
|
|
12505
|
-
? 'forward'
|
|
12506
|
-
: 'unknown',
|
|
12507
|
-
};
|
|
12395
|
+
});
|
|
12396
|
+
return overlayRef;
|
|
12397
|
+
/* eslint-enable @typescript-eslint/no-non-null-assertion*/
|
|
12508
12398
|
}
|
|
12509
|
-
|
|
12510
|
-
this.
|
|
12399
|
+
closeAll() {
|
|
12400
|
+
this._closeOverlays(this.openOverlays);
|
|
12511
12401
|
}
|
|
12512
|
-
|
|
12513
|
-
this.
|
|
12402
|
+
getOverlayById(id) {
|
|
12403
|
+
return this.openOverlays.find((overlay) => overlay.id === id);
|
|
12514
12404
|
}
|
|
12515
|
-
|
|
12516
|
-
|
|
12517
|
-
|
|
12518
|
-
|
|
12519
|
-
console.error(`The route "${route}" does not exist.`, this._config);
|
|
12520
|
-
return;
|
|
12405
|
+
_closeOverlays(overlays) {
|
|
12406
|
+
let i = overlays.length;
|
|
12407
|
+
while (i--) {
|
|
12408
|
+
overlays[i]?.close();
|
|
12521
12409
|
}
|
|
12522
|
-
this._syncCurrentRoute.set(route);
|
|
12523
|
-
this._updateBrowserUrl(route);
|
|
12524
|
-
}
|
|
12525
|
-
_getInitialRoute() {
|
|
12526
|
-
return this._config.initialRoute ?? this._config.routes[0]?.path ?? '/';
|
|
12527
|
-
}
|
|
12528
|
-
_navigateToInitialRoute() {
|
|
12529
|
-
this._updateCurrentRoute(this._getInitialRoute());
|
|
12530
|
-
}
|
|
12531
|
-
_updateBrowserUrl(route) {
|
|
12532
|
-
this._router.navigate([this._routerStateService.route], {
|
|
12533
|
-
queryParams: { [this._id]: route },
|
|
12534
|
-
queryParamsHandling: 'merge',
|
|
12535
|
-
});
|
|
12536
12410
|
}
|
|
12537
|
-
|
|
12538
|
-
|
|
12539
|
-
|
|
12411
|
+
_getAfterAllClosed() {
|
|
12412
|
+
const parent = this._parentOverlayService;
|
|
12413
|
+
return parent ? parent._getAfterAllClosed() : this._afterAllClosedAtThisLevel;
|
|
12540
12414
|
}
|
|
12415
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: OverlayService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
12416
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: OverlayService }); }
|
|
12541
12417
|
}
|
|
12542
|
-
|
|
12543
|
-
|
|
12544
|
-
|
|
12545
|
-
provide: OVERLAY_ROUTER_CONFIG_TOKEN,
|
|
12546
|
-
useValue: config,
|
|
12547
|
-
},
|
|
12548
|
-
];
|
|
12549
|
-
};
|
|
12418
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: OverlayService, decorators: [{
|
|
12419
|
+
type: Injectable
|
|
12420
|
+
}] });
|
|
12550
12421
|
|
|
12551
|
-
|
|
12552
|
-
|
|
12553
|
-
|
|
12554
|
-
|
|
12555
|
-
|
|
12556
|
-
|
|
12557
|
-
|
|
12558
|
-
|
|
12559
|
-
|
|
12422
|
+
const createOverlayHandler = (rootConfig) => {
|
|
12423
|
+
const fn = (innerConfig) => {
|
|
12424
|
+
const overlayService = inject(OverlayService);
|
|
12425
|
+
const viewContainerRef = inject(ViewContainerRef);
|
|
12426
|
+
const overlayRef = inject(OverlayRef, { optional: true });
|
|
12427
|
+
const destroyRef = inject(DestroyRef);
|
|
12428
|
+
const tpl = rootConfig.component ?? rootConfig.template;
|
|
12429
|
+
if (!tpl) {
|
|
12430
|
+
throw new Error('Either component or template must be provided');
|
|
12431
|
+
}
|
|
12432
|
+
const open = (config) => {
|
|
12433
|
+
const ref = overlayService.open(tpl, {
|
|
12434
|
+
viewContainerRef,
|
|
12435
|
+
...rootConfig,
|
|
12436
|
+
positions: rootConfig.positions(overlayService.positions),
|
|
12437
|
+
...config,
|
|
12438
|
+
});
|
|
12439
|
+
const afterClosedFn = innerConfig?.afterClosed;
|
|
12440
|
+
if (afterClosedFn) {
|
|
12441
|
+
ref
|
|
12442
|
+
.afterClosed()
|
|
12443
|
+
.pipe(takeUntilDestroyed(destroyRef), tap((r) => afterClosedFn(r ?? null)))
|
|
12444
|
+
.subscribe();
|
|
12445
|
+
}
|
|
12446
|
+
return ref;
|
|
12447
|
+
};
|
|
12448
|
+
const getOverlayRef = () => {
|
|
12449
|
+
if (!overlayRef) {
|
|
12450
|
+
throw new Error('OverlayRef is only available inside the overlay component or templateRef');
|
|
12451
|
+
}
|
|
12452
|
+
return overlayRef;
|
|
12453
|
+
};
|
|
12454
|
+
const handler = {
|
|
12455
|
+
open,
|
|
12456
|
+
getOverlayRef,
|
|
12457
|
+
};
|
|
12458
|
+
return handler;
|
|
12459
|
+
};
|
|
12460
|
+
return fn;
|
|
12560
12461
|
};
|
|
12561
12462
|
|
|
12562
|
-
|
|
12563
|
-
const
|
|
12564
|
-
const
|
|
12565
|
-
|
|
12566
|
-
|
|
12463
|
+
const ET_OVERLAY_LEFT_SHEET_CLASS = 'et-overlay--left-sheet';
|
|
12464
|
+
const ET_OVERLAY_RIGHT_SHEET_CLASS = 'et-overlay--right-sheet';
|
|
12465
|
+
const ET_OVERLAY_TOP_SHEET_CLASS = 'et-overlay--top-sheet';
|
|
12466
|
+
const ET_OVERLAY_BOTTOM_SHEET_CLASS = 'et-overlay--bottom-sheet';
|
|
12467
|
+
const ET_OVERLAY_DIALOG_CLASS = 'et-overlay--dialog';
|
|
12468
|
+
const ET_OVERLAY_FULL_SCREEN_DIALOG_CLASS = 'et-overlay--full-screen-dialog';
|
|
12469
|
+
const ET_OVERLAY_CONFIG_CLASS_KEYS = new Set([
|
|
12470
|
+
'containerClass',
|
|
12471
|
+
'paneClass',
|
|
12472
|
+
'overlayClass',
|
|
12473
|
+
'backdropClass',
|
|
12474
|
+
'documentClass',
|
|
12475
|
+
'bodyClass',
|
|
12476
|
+
]);
|
|
12477
|
+
const ET_OVERLAY_LAYOUT_CLASSES = new Set([
|
|
12478
|
+
ET_OVERLAY_LEFT_SHEET_CLASS,
|
|
12479
|
+
ET_OVERLAY_RIGHT_SHEET_CLASS,
|
|
12480
|
+
ET_OVERLAY_TOP_SHEET_CLASS,
|
|
12481
|
+
ET_OVERLAY_BOTTOM_SHEET_CLASS,
|
|
12482
|
+
ET_OVERLAY_DIALOG_CLASS,
|
|
12483
|
+
ET_OVERLAY_FULL_SCREEN_DIALOG_CLASS,
|
|
12484
|
+
]);
|
|
12485
|
+
class OverlayPositionBuilder {
|
|
12486
|
+
constructor() {
|
|
12487
|
+
this._overlay = inject(Overlay);
|
|
12488
|
+
this.DEFAULTS = {
|
|
12489
|
+
dialog: {
|
|
12490
|
+
width: undefined,
|
|
12491
|
+
height: undefined,
|
|
12492
|
+
maxHeight: '80vh',
|
|
12493
|
+
maxWidth: '80vw',
|
|
12494
|
+
minHeight: undefined,
|
|
12495
|
+
minWidth: undefined,
|
|
12496
|
+
containerClass: ET_OVERLAY_DIALOG_CLASS,
|
|
12497
|
+
positionStrategy: () => this._overlay.position().global().centerHorizontally().centerVertically(),
|
|
12498
|
+
},
|
|
12499
|
+
fullScreenDialog: {
|
|
12500
|
+
width: '100%',
|
|
12501
|
+
height: '100%',
|
|
12502
|
+
maxHeight: undefined,
|
|
12503
|
+
maxWidth: undefined,
|
|
12504
|
+
minHeight: undefined,
|
|
12505
|
+
minWidth: undefined,
|
|
12506
|
+
containerClass: ET_OVERLAY_FULL_SCREEN_DIALOG_CLASS,
|
|
12507
|
+
positionStrategy: () => this._overlay.position().global().left('0').top('0').bottom('0').right('0'),
|
|
12508
|
+
documentClass: 'et-overlay--full-screen-dialog-document',
|
|
12509
|
+
applyTransformOrigin: true,
|
|
12510
|
+
},
|
|
12511
|
+
bottomSheet: {
|
|
12512
|
+
width: '100%',
|
|
12513
|
+
height: undefined,
|
|
12514
|
+
maxHeight: 'calc(100% - 72px)',
|
|
12515
|
+
maxWidth: '640px',
|
|
12516
|
+
minHeight: undefined,
|
|
12517
|
+
minWidth: undefined,
|
|
12518
|
+
containerClass: ET_OVERLAY_BOTTOM_SHEET_CLASS,
|
|
12519
|
+
positionStrategy: () => this._overlay.position().global().centerHorizontally().bottom('0'),
|
|
12520
|
+
dragToDismiss: {
|
|
12521
|
+
direction: 'to-bottom',
|
|
12522
|
+
},
|
|
12523
|
+
},
|
|
12524
|
+
topSheet: {
|
|
12525
|
+
width: '100%',
|
|
12526
|
+
height: undefined,
|
|
12527
|
+
maxHeight: 'calc(100% - 72px)',
|
|
12528
|
+
maxWidth: '640px',
|
|
12529
|
+
minHeight: undefined,
|
|
12530
|
+
minWidth: undefined,
|
|
12531
|
+
containerClass: ET_OVERLAY_TOP_SHEET_CLASS,
|
|
12532
|
+
positionStrategy: () => this._overlay.position().global().centerHorizontally().top('0'),
|
|
12533
|
+
dragToDismiss: {
|
|
12534
|
+
direction: 'to-top',
|
|
12535
|
+
},
|
|
12536
|
+
},
|
|
12537
|
+
leftSheet: {
|
|
12538
|
+
width: '100%',
|
|
12539
|
+
height: '100%',
|
|
12540
|
+
maxHeight: undefined,
|
|
12541
|
+
maxWidth: '640px',
|
|
12542
|
+
minHeight: undefined,
|
|
12543
|
+
minWidth: undefined,
|
|
12544
|
+
containerClass: ET_OVERLAY_LEFT_SHEET_CLASS,
|
|
12545
|
+
positionStrategy: () => this._overlay.position().global().left('0').centerVertically(),
|
|
12546
|
+
dragToDismiss: {
|
|
12547
|
+
direction: 'to-left',
|
|
12548
|
+
},
|
|
12549
|
+
},
|
|
12550
|
+
rightSheet: {
|
|
12551
|
+
width: '100%',
|
|
12552
|
+
height: '100%',
|
|
12553
|
+
maxHeight: undefined,
|
|
12554
|
+
maxWidth: '640px',
|
|
12555
|
+
minHeight: undefined,
|
|
12556
|
+
minWidth: undefined,
|
|
12557
|
+
containerClass: ET_OVERLAY_RIGHT_SHEET_CLASS,
|
|
12558
|
+
positionStrategy: () => this._overlay.position().global().right('0').centerVertically(),
|
|
12559
|
+
dragToDismiss: {
|
|
12560
|
+
direction: 'to-right',
|
|
12561
|
+
},
|
|
12562
|
+
},
|
|
12563
|
+
};
|
|
12567
12564
|
}
|
|
12568
|
-
|
|
12569
|
-
|
|
12565
|
+
transformingBottomSheetToDialog(customConfig) {
|
|
12566
|
+
const data = [
|
|
12567
|
+
{
|
|
12568
|
+
config: this.mergeConfigs(this.DEFAULTS.bottomSheet, customConfig?.bottomSheet ?? {}),
|
|
12569
|
+
},
|
|
12570
|
+
{
|
|
12571
|
+
breakpoint: customConfig?.breakpoint ?? 'md',
|
|
12572
|
+
config: this.mergeConfigs(this.DEFAULTS.dialog, customConfig?.dialog ?? {}),
|
|
12573
|
+
},
|
|
12574
|
+
];
|
|
12575
|
+
return data;
|
|
12576
|
+
}
|
|
12577
|
+
transformingFullScreenDialogToRightSheet(customConfig) {
|
|
12578
|
+
const data = [
|
|
12579
|
+
{
|
|
12580
|
+
config: this.mergeConfigs(this.DEFAULTS.fullScreenDialog, customConfig?.fullScreenDialog ?? {}),
|
|
12581
|
+
},
|
|
12582
|
+
{
|
|
12583
|
+
breakpoint: customConfig?.breakpoint ?? 'md',
|
|
12584
|
+
config: this.mergeConfigs(this.DEFAULTS.rightSheet, customConfig?.rightSheet ?? {}),
|
|
12585
|
+
},
|
|
12586
|
+
];
|
|
12587
|
+
return data;
|
|
12570
12588
|
}
|
|
12571
|
-
|
|
12572
|
-
const
|
|
12573
|
-
|
|
12574
|
-
|
|
12575
|
-
|
|
12576
|
-
|
|
12577
|
-
|
|
12578
|
-
|
|
12579
|
-
|
|
12580
|
-
|
|
12581
|
-
|
|
12582
|
-
if (currClass) {
|
|
12583
|
-
if (Array.isArray(currClass)) {
|
|
12584
|
-
el.classList.add(...currClass);
|
|
12585
|
-
}
|
|
12586
|
-
else {
|
|
12587
|
-
el.classList.add(currClass);
|
|
12588
|
-
}
|
|
12589
|
-
}
|
|
12589
|
+
transformingFullScreenDialogToDialog(customConfig) {
|
|
12590
|
+
const data = [
|
|
12591
|
+
{
|
|
12592
|
+
config: this.mergeConfigs(this.DEFAULTS.fullScreenDialog, customConfig?.fullScreenDialog ?? {}),
|
|
12593
|
+
},
|
|
12594
|
+
{
|
|
12595
|
+
breakpoint: customConfig?.breakpoint ?? 'md',
|
|
12596
|
+
config: this.mergeConfigs(this.DEFAULTS.dialog, customConfig?.dialog ?? {}),
|
|
12597
|
+
},
|
|
12598
|
+
];
|
|
12599
|
+
return data;
|
|
12590
12600
|
}
|
|
12591
|
-
|
|
12592
|
-
const
|
|
12593
|
-
|
|
12594
|
-
}
|
|
12595
|
-
|
|
12596
|
-
|
|
12597
|
-
|
|
12598
|
-
const isPointerEvent = (event) => {
|
|
12599
|
-
return event.type[0] === 'c';
|
|
12600
|
-
};
|
|
12601
|
-
class OverlayService {
|
|
12602
|
-
constructor() {
|
|
12603
|
-
this._destroy$ = createDestroy();
|
|
12604
|
-
this._defaultOptions = inject(OVERLAY_DEFAULT_OPTIONS, { optional: true });
|
|
12605
|
-
this._scrollStrategy = inject(OVERLAY_SCROLL_STRATEGY);
|
|
12606
|
-
this._parentOverlayService = inject(OverlayService, { optional: true, skipSelf: true });
|
|
12607
|
-
this._dialog = inject(Dialog);
|
|
12608
|
-
this._viewportService = inject(ViewportService);
|
|
12609
|
-
this._openOverlaysAtThisLevel = [];
|
|
12610
|
-
this._afterAllClosedAtThisLevel = new Subject();
|
|
12611
|
-
this._afterOpenedAtThisLevel = new Subject();
|
|
12612
|
-
this.positions = new OverlayPositionBuilder();
|
|
12613
|
-
this.afterAllClosed = defer(() => this.openOverlays.length ? this._getAfterAllClosed() : this._getAfterAllClosed().pipe(startWith(undefined)));
|
|
12601
|
+
dialog(customConfig) {
|
|
12602
|
+
const data = [
|
|
12603
|
+
{
|
|
12604
|
+
config: this.mergeConfigs(this.DEFAULTS.dialog, customConfig ?? {}),
|
|
12605
|
+
},
|
|
12606
|
+
];
|
|
12607
|
+
return data;
|
|
12614
12608
|
}
|
|
12615
|
-
|
|
12616
|
-
|
|
12609
|
+
fullScreenDialog(customConfig) {
|
|
12610
|
+
const data = [
|
|
12611
|
+
{
|
|
12612
|
+
config: this.mergeConfigs(this.DEFAULTS.fullScreenDialog, customConfig ?? {}),
|
|
12613
|
+
},
|
|
12614
|
+
];
|
|
12615
|
+
return data;
|
|
12617
12616
|
}
|
|
12618
|
-
|
|
12619
|
-
|
|
12617
|
+
bottomSheet(customConfig) {
|
|
12618
|
+
const data = [
|
|
12619
|
+
{
|
|
12620
|
+
config: this.mergeConfigs(this.DEFAULTS.bottomSheet, customConfig ?? {}),
|
|
12621
|
+
},
|
|
12622
|
+
];
|
|
12623
|
+
return data;
|
|
12620
12624
|
}
|
|
12621
|
-
|
|
12622
|
-
|
|
12623
|
-
|
|
12624
|
-
|
|
12625
|
+
topSheet(customConfig) {
|
|
12626
|
+
const data = [
|
|
12627
|
+
{
|
|
12628
|
+
config: this.mergeConfigs(this.DEFAULTS.topSheet, customConfig ?? {}),
|
|
12629
|
+
},
|
|
12630
|
+
];
|
|
12631
|
+
return data;
|
|
12625
12632
|
}
|
|
12626
|
-
|
|
12627
|
-
|
|
12628
|
-
|
|
12629
|
-
|
|
12630
|
-
composedConfig.scrollStrategy = composedConfig.scrollStrategy || this._scrollStrategy();
|
|
12631
|
-
const cdkRef = this._dialog.open(componentOrTemplateRef, {
|
|
12632
|
-
...composedConfig,
|
|
12633
|
-
disableClose: true,
|
|
12634
|
-
closeOnDestroy: false,
|
|
12635
|
-
panelClass: 'et-overlay-pane',
|
|
12636
|
-
container: {
|
|
12637
|
-
type: OverlayContainerComponent,
|
|
12638
|
-
providers: () => [
|
|
12639
|
-
{ provide: OVERLAY_CONFIG, useValue: composedConfig },
|
|
12640
|
-
{ provide: DialogConfig, useValue: composedConfig },
|
|
12641
|
-
],
|
|
12633
|
+
leftSheet(customConfig) {
|
|
12634
|
+
const data = [
|
|
12635
|
+
{
|
|
12636
|
+
config: this.mergeConfigs(this.DEFAULTS.leftSheet, customConfig ?? {}),
|
|
12642
12637
|
},
|
|
12643
|
-
|
|
12644
|
-
|
|
12645
|
-
|
|
12646
|
-
|
|
12647
|
-
|
|
12648
|
-
|
|
12649
|
-
|
|
12650
|
-
{ provide: ProvideThemeDirective, useValue: container._themeProvider },
|
|
12651
|
-
{ provide: ROOT_BOUNDARY_TOKEN, useValue: container._rootBoundary },
|
|
12652
|
-
{ provide: RootBoundaryDirective, useValue: container._rootBoundary },
|
|
12653
|
-
{ provide: OVERLAY_DATA, useValue: cdkConfig.data },
|
|
12654
|
-
{ provide: OverlayRef, useValue: overlayRef },
|
|
12655
|
-
...(composedConfig.providers ?? []),
|
|
12656
|
-
];
|
|
12638
|
+
];
|
|
12639
|
+
return data;
|
|
12640
|
+
}
|
|
12641
|
+
rightSheet(customConfig) {
|
|
12642
|
+
const data = [
|
|
12643
|
+
{
|
|
12644
|
+
config: this.mergeConfigs(this.DEFAULTS.rightSheet, customConfig ?? {}),
|
|
12657
12645
|
},
|
|
12658
|
-
|
|
12659
|
-
|
|
12660
|
-
|
|
12661
|
-
|
|
12662
|
-
|
|
12663
|
-
const
|
|
12664
|
-
|
|
12665
|
-
|
|
12666
|
-
|
|
12667
|
-
|
|
12668
|
-
|
|
12669
|
-
|
|
12670
|
-
|
|
12671
|
-
|
|
12672
|
-
|
|
12673
|
-
|
|
12674
|
-
|
|
12675
|
-
|
|
12676
|
-
|
|
12677
|
-
|
|
12678
|
-
|
|
12679
|
-
|
|
12680
|
-
|
|
12681
|
-
|
|
12682
|
-
|
|
12683
|
-
|
|
12684
|
-
|
|
12685
|
-
|
|
12686
|
-
|
|
12687
|
-
const applyDefaultMaxWidths = () => {
|
|
12688
|
-
setStyle(overlayPaneEl, 'max-width', currConfig.maxWidth);
|
|
12689
|
-
setStyle(overlayPaneEl, 'max-height', currConfig.maxHeight);
|
|
12690
|
-
};
|
|
12691
|
-
const combineOrMakeCalc = (value, append) => {
|
|
12692
|
-
if (!value)
|
|
12693
|
-
return append;
|
|
12694
|
-
if (typeof value === 'number') {
|
|
12695
|
-
return `calc(${value}px + ${append})`;
|
|
12696
|
-
}
|
|
12697
|
-
else if (value.startsWith('calc(')) {
|
|
12698
|
-
return `${value.slice(0, value.length - 1)} + ${append})`;
|
|
12699
|
-
}
|
|
12700
|
-
return `calc(${value} + ${append})`;
|
|
12701
|
-
};
|
|
12702
|
-
if (origin) {
|
|
12703
|
-
// TODO: If getBoundingClientRect is used it should use the center of the element.
|
|
12704
|
-
const originX = isHtmlElement(origin)
|
|
12705
|
-
? origin.getBoundingClientRect().left
|
|
12706
|
-
: isTouchEvent(origin)
|
|
12707
|
-
? origin.targetTouches[0].clientX
|
|
12708
|
-
: isPointerEvent(origin)
|
|
12709
|
-
? origin.clientX !== 0
|
|
12710
|
-
? origin.clientX
|
|
12711
|
-
: origin.target.getBoundingClientRect().left
|
|
12712
|
-
: -1;
|
|
12713
|
-
const originY = isHtmlElement(origin)
|
|
12714
|
-
? origin.getBoundingClientRect().top
|
|
12715
|
-
: isTouchEvent(origin)
|
|
12716
|
-
? origin.targetTouches[0].clientY
|
|
12717
|
-
: isPointerEvent(origin)
|
|
12718
|
-
? origin.clientY !== 0
|
|
12719
|
-
? origin.clientY
|
|
12720
|
-
: origin.target.getBoundingClientRect().top
|
|
12721
|
-
: -1;
|
|
12722
|
-
if (originX !== -1 && originY !== -1 && currConfig.applyTransformOrigin) {
|
|
12723
|
-
setStyle(containerEl, 'transform-origin', `${originX}px ${originY}px`);
|
|
12646
|
+
];
|
|
12647
|
+
return data;
|
|
12648
|
+
}
|
|
12649
|
+
mergeConfigs(...configs) {
|
|
12650
|
+
const combinedConfig = {};
|
|
12651
|
+
for (const config of configs) {
|
|
12652
|
+
for (const configKey of Object.keys(config)) {
|
|
12653
|
+
const key = configKey;
|
|
12654
|
+
const newConfigValue = config[key];
|
|
12655
|
+
if (ET_OVERLAY_CONFIG_CLASS_KEYS.has(configKey)) {
|
|
12656
|
+
const existing = combinedConfig[key];
|
|
12657
|
+
if (existing && Array.isArray(existing)) {
|
|
12658
|
+
if (Array.isArray(newConfigValue)) {
|
|
12659
|
+
existing.push(...newConfigValue);
|
|
12660
|
+
}
|
|
12661
|
+
else if (typeof newConfigValue === 'string') {
|
|
12662
|
+
existing.push(newConfigValue);
|
|
12663
|
+
}
|
|
12664
|
+
const totalLayoutClassesInExisting = existing.filter((value) => ET_OVERLAY_LAYOUT_CLASSES.has(value)).length;
|
|
12665
|
+
if (totalLayoutClassesInExisting > 1) {
|
|
12666
|
+
throw new Error(`Multiple layout classes are not allowed in the same config key: ${key}`);
|
|
12667
|
+
}
|
|
12668
|
+
}
|
|
12669
|
+
else if (typeof newConfigValue === 'string') {
|
|
12670
|
+
combinedConfig[key] = [newConfigValue];
|
|
12671
|
+
}
|
|
12672
|
+
else if (Array.isArray(newConfigValue)) {
|
|
12673
|
+
combinedConfig[key] = newConfigValue;
|
|
12674
|
+
}
|
|
12724
12675
|
}
|
|
12725
12676
|
else {
|
|
12726
|
-
|
|
12677
|
+
combinedConfig[key] = newConfigValue;
|
|
12678
|
+
}
|
|
12679
|
+
}
|
|
12680
|
+
}
|
|
12681
|
+
return combinedConfig;
|
|
12682
|
+
}
|
|
12683
|
+
}
|
|
12684
|
+
|
|
12685
|
+
const OVERLAY_ROUTER_CONFIG_TOKEN = new InjectionToken('OVERLAY_ROUTER_CONFIG_TOKEN');
|
|
12686
|
+
class OverlayRouterService {
|
|
12687
|
+
constructor() {
|
|
12688
|
+
this._router = inject(Router);
|
|
12689
|
+
this._routerStateService = inject(RouterStateService);
|
|
12690
|
+
this._id = createComponentId('ovr');
|
|
12691
|
+
this._overlayRef = inject(OverlayRef);
|
|
12692
|
+
this._config = inject(OVERLAY_ROUTER_CONFIG_TOKEN);
|
|
12693
|
+
this._syncCurrentRoute = signal(this._getInitialRoute());
|
|
12694
|
+
this._nativeBrowserTempBackNavigationStack = signal([]);
|
|
12695
|
+
// The current route, but delayed by one frame to ensure that the needed animation classes are applied.
|
|
12696
|
+
this.currentRoute = toSignal(toObservable(this._syncCurrentRoute).pipe(switchMap((r) => fromNextFrame().pipe(map(() => r)))), { initialValue: this._getInitialRoute() });
|
|
12697
|
+
this.extraRoutes = signal([]);
|
|
12698
|
+
this.transitionType = signal('slide');
|
|
12699
|
+
this.routes = computed(() => {
|
|
12700
|
+
const allRoutes = [...this._config.routes, ...this.extraRoutes()];
|
|
12701
|
+
const allRoundsWithTransformedInputs = allRoutes.map((route) => {
|
|
12702
|
+
return {
|
|
12703
|
+
...route,
|
|
12704
|
+
inputs: Object.entries(route.inputs ?? {}).reduce((acc, [key, value]) => {
|
|
12705
|
+
if (isSignal(value)) {
|
|
12706
|
+
acc[key] = value();
|
|
12707
|
+
}
|
|
12708
|
+
else {
|
|
12709
|
+
acc[key] = value;
|
|
12710
|
+
}
|
|
12711
|
+
return acc;
|
|
12712
|
+
}, {}),
|
|
12713
|
+
};
|
|
12714
|
+
});
|
|
12715
|
+
return allRoundsWithTransformedInputs;
|
|
12716
|
+
});
|
|
12717
|
+
this.currentPage = computed(() => {
|
|
12718
|
+
const currentRoute = this._syncCurrentRoute();
|
|
12719
|
+
for (const route of this.routes()) {
|
|
12720
|
+
if (route.path === currentRoute) {
|
|
12721
|
+
return route;
|
|
12727
12722
|
}
|
|
12728
12723
|
}
|
|
12729
|
-
|
|
12730
|
-
|
|
12731
|
-
|
|
12732
|
-
|
|
12733
|
-
|
|
12734
|
-
|
|
12735
|
-
|
|
12736
|
-
|
|
12737
|
-
|
|
12738
|
-
|
|
12724
|
+
return null;
|
|
12725
|
+
});
|
|
12726
|
+
this.navigationDirection = signal('forward');
|
|
12727
|
+
this._disableCloseOnNavigation();
|
|
12728
|
+
this._updateBrowserUrl(this._syncCurrentRoute());
|
|
12729
|
+
this._routerStateService
|
|
12730
|
+
.selectQueryParam(this._id)
|
|
12731
|
+
.pipe(takeUntilDestroyed(), skip(1), tap((route) => {
|
|
12732
|
+
// The user navigated back or forward using the browser history
|
|
12733
|
+
if (!route) {
|
|
12734
|
+
// The route query param no longer exists - close the overlay
|
|
12735
|
+
this._overlayRef.close();
|
|
12736
|
+
}
|
|
12737
|
+
else if (route !== this._syncCurrentRoute()) {
|
|
12738
|
+
const navStack = this._nativeBrowserTempBackNavigationStack();
|
|
12739
|
+
const currentRoute = this._syncCurrentRoute();
|
|
12740
|
+
if (!navStack.length) {
|
|
12741
|
+
// If the nav stack is empty the only way to navigate is back.
|
|
12742
|
+
this.navigate(route, { navigationDirection: 'backward' });
|
|
12743
|
+
this._nativeBrowserTempBackNavigationStack.set([currentRoute]);
|
|
12739
12744
|
}
|
|
12740
12745
|
else {
|
|
12741
|
-
|
|
12746
|
+
const lastItem = navStack[navStack.length - 1];
|
|
12747
|
+
if (route === lastItem) {
|
|
12748
|
+
// The new route matches the last item in the back nav stack.
|
|
12749
|
+
// This means we are going forward again.
|
|
12750
|
+
this.navigate(route, { navigationDirection: 'forward' });
|
|
12751
|
+
this._nativeBrowserTempBackNavigationStack.set(navStack.slice(0, -1));
|
|
12752
|
+
}
|
|
12753
|
+
else {
|
|
12754
|
+
// Else we are going back.
|
|
12755
|
+
this.navigate(route, { navigationDirection: 'backward' });
|
|
12756
|
+
this._nativeBrowserTempBackNavigationStack.set([...navStack, currentRoute]);
|
|
12757
|
+
}
|
|
12742
12758
|
}
|
|
12743
12759
|
}
|
|
12744
12760
|
else {
|
|
12745
|
-
|
|
12746
|
-
|
|
12747
|
-
setStyle(overlayPaneEl, 'min-width', currConfig.minWidth);
|
|
12748
|
-
setStyle(overlayPaneEl, 'min-height', currConfig.minHeight);
|
|
12749
|
-
setStyle(overlayPaneEl, 'width', currConfig.width);
|
|
12750
|
-
setStyle(overlayPaneEl, 'height', currConfig.height);
|
|
12751
|
-
setClass(containerEl, prevConfig?.containerClass, currConfig?.containerClass);
|
|
12752
|
-
setClass(overlayPaneEl, prevConfig?.paneClass, currConfig?.paneClass);
|
|
12753
|
-
setClass(overlayWrapper, prevConfig?.overlayClass, currConfig?.overlayClass);
|
|
12754
|
-
// FIXME: These classes should only be removed if no open overlays require them inside their config.
|
|
12755
|
-
setClass(document.documentElement, prevConfig?.documentClass, currConfig?.documentClass);
|
|
12756
|
-
setClass(document.body, prevConfig?.bodyClass, currConfig?.bodyClass);
|
|
12757
|
-
if (backdropEl) {
|
|
12758
|
-
setClass(backdropEl, prevConfig?.backdropClass, currConfig?.backdropClass);
|
|
12759
|
-
}
|
|
12760
|
-
if (!equal(prevConfig?.position, currConfig?.position)) {
|
|
12761
|
-
overlayRef.updatePosition(currConfig.position);
|
|
12762
|
-
}
|
|
12763
|
-
if (currConfig.positionStrategy) {
|
|
12764
|
-
cdkRef.overlayRef.updatePositionStrategy(currConfig.positionStrategy());
|
|
12765
|
-
}
|
|
12766
|
-
else {
|
|
12767
|
-
cdkRef.overlayRef.updatePosition();
|
|
12768
|
-
}
|
|
12769
|
-
if (currConfig.dragToDismiss) {
|
|
12770
|
-
overlayRef._containerInstance._enableDragToDismiss(currConfig.dragToDismiss);
|
|
12771
|
-
}
|
|
12772
|
-
else {
|
|
12773
|
-
overlayRef._containerInstance._disableDragToDismiss();
|
|
12761
|
+
// The navigation was triggered by ui interaction. Clear the back nav stack.
|
|
12762
|
+
this._nativeBrowserTempBackNavigationStack.set([]);
|
|
12774
12763
|
}
|
|
12775
12764
|
}))
|
|
12776
12765
|
.subscribe();
|
|
12777
|
-
|
|
12778
|
-
|
|
12779
|
-
|
|
12780
|
-
// FIXME: These classes should only be removed if no open overlays require them inside their config.
|
|
12781
|
-
const documentClasses = composedConfig.positions.map((position) => position.config.documentClass);
|
|
12782
|
-
for (const klass of documentClasses) {
|
|
12783
|
-
if (!klass)
|
|
12784
|
-
continue;
|
|
12785
|
-
if (Array.isArray(klass)) {
|
|
12786
|
-
document.documentElement.classList.remove(...klass);
|
|
12787
|
-
}
|
|
12788
|
-
else {
|
|
12789
|
-
document.documentElement.classList.remove(klass);
|
|
12790
|
-
}
|
|
12791
|
-
}
|
|
12792
|
-
const bodyClasses = composedConfig.positions.map((position) => position.config.bodyClass);
|
|
12793
|
-
for (const klass of bodyClasses) {
|
|
12794
|
-
if (!klass)
|
|
12795
|
-
continue;
|
|
12796
|
-
if (Array.isArray(klass)) {
|
|
12797
|
-
document.body.classList.remove(...klass);
|
|
12798
|
-
}
|
|
12799
|
-
else {
|
|
12800
|
-
document.body.classList.remove(klass);
|
|
12801
|
-
}
|
|
12802
|
-
}
|
|
12766
|
+
inject(DestroyRef).onDestroy(() => {
|
|
12767
|
+
// Remove the dialog route from the browser url
|
|
12768
|
+
this._updateBrowserUrl(undefined);
|
|
12803
12769
|
});
|
|
12804
|
-
|
|
12805
|
-
|
|
12806
|
-
|
|
12807
|
-
|
|
12808
|
-
this.
|
|
12809
|
-
|
|
12810
|
-
|
|
12770
|
+
}
|
|
12771
|
+
navigate(route, config) {
|
|
12772
|
+
const resolvedRoute = this.resolvePath(route);
|
|
12773
|
+
if (config?.navigationDirection) {
|
|
12774
|
+
this.navigationDirection.set(config.navigationDirection);
|
|
12775
|
+
}
|
|
12776
|
+
else if (resolvedRoute.type === 'back') {
|
|
12777
|
+
this.navigationDirection.set('backward');
|
|
12778
|
+
}
|
|
12779
|
+
else {
|
|
12780
|
+
this.navigationDirection.set('forward');
|
|
12781
|
+
}
|
|
12782
|
+
this._updateCurrentRoute(resolvedRoute.route);
|
|
12783
|
+
}
|
|
12784
|
+
resolvePath(route) {
|
|
12785
|
+
if (Array.isArray(route)) {
|
|
12786
|
+
route = route.join('/');
|
|
12787
|
+
}
|
|
12788
|
+
if (route === '') {
|
|
12789
|
+
route = '/';
|
|
12790
|
+
}
|
|
12791
|
+
const isAbsolute = route.startsWith('/');
|
|
12792
|
+
const isReplaceCurrent = route.startsWith('./');
|
|
12793
|
+
const isBack = route.startsWith('../');
|
|
12794
|
+
const isForward = !isAbsolute && !isReplaceCurrent && !isBack;
|
|
12795
|
+
const curr = this._syncCurrentRoute();
|
|
12796
|
+
if (isForward) {
|
|
12797
|
+
route = `${curr}/${route}`;
|
|
12798
|
+
}
|
|
12799
|
+
else if (isReplaceCurrent) {
|
|
12800
|
+
const currSegments = curr.split('/').filter((s) => s !== '');
|
|
12801
|
+
currSegments.pop();
|
|
12802
|
+
const newSegments = route.split('/').filter((s) => s !== '.');
|
|
12803
|
+
route = `/${currSegments.concat(newSegments).join('/')}`;
|
|
12804
|
+
}
|
|
12805
|
+
else if (isBack) {
|
|
12806
|
+
const currSegments = curr.split('/').filter((s) => s !== '');
|
|
12807
|
+
const newSegments = route.split('/').filter((s) => s !== '..');
|
|
12808
|
+
const stepsBack = route.split('/').filter((s) => s === '..').length;
|
|
12809
|
+
for (let i = 0; i < stepsBack; i++) {
|
|
12810
|
+
currSegments.pop();
|
|
12811
12811
|
}
|
|
12812
|
-
|
|
12813
|
-
|
|
12814
|
-
|
|
12812
|
+
route = `/${currSegments.concat(newSegments).join('/')}`;
|
|
12813
|
+
}
|
|
12814
|
+
return {
|
|
12815
|
+
route,
|
|
12816
|
+
type: isBack || route === '/'
|
|
12817
|
+
? 'back'
|
|
12818
|
+
: isReplaceCurrent
|
|
12819
|
+
? 'replace-current'
|
|
12820
|
+
: isAbsolute
|
|
12821
|
+
? 'absolute'
|
|
12822
|
+
: isForward
|
|
12823
|
+
? 'forward'
|
|
12824
|
+
: 'unknown',
|
|
12825
|
+
};
|
|
12815
12826
|
}
|
|
12816
|
-
|
|
12817
|
-
this.
|
|
12827
|
+
addRoute(route) {
|
|
12828
|
+
this.extraRoutes.set([...this.extraRoutes(), route]);
|
|
12818
12829
|
}
|
|
12819
|
-
|
|
12820
|
-
|
|
12830
|
+
removeRoute(path) {
|
|
12831
|
+
this.extraRoutes.set(this.extraRoutes().filter((r) => r.path !== path));
|
|
12821
12832
|
}
|
|
12822
|
-
|
|
12823
|
-
|
|
12824
|
-
|
|
12825
|
-
|
|
12833
|
+
_updateCurrentRoute(route) {
|
|
12834
|
+
if (route === this._syncCurrentRoute())
|
|
12835
|
+
return;
|
|
12836
|
+
if (this.routes().findIndex((r) => r.path === route) === -1) {
|
|
12837
|
+
console.error(`The route "${route}" does not exist.`, this._config);
|
|
12838
|
+
return;
|
|
12826
12839
|
}
|
|
12840
|
+
this._syncCurrentRoute.set(route);
|
|
12841
|
+
this._updateBrowserUrl(route);
|
|
12827
12842
|
}
|
|
12828
|
-
|
|
12829
|
-
|
|
12830
|
-
|
|
12843
|
+
_getInitialRoute() {
|
|
12844
|
+
return this._config.initialRoute ?? this._config.routes[0]?.path ?? '/';
|
|
12845
|
+
}
|
|
12846
|
+
_navigateToInitialRoute() {
|
|
12847
|
+
this._updateCurrentRoute(this._getInitialRoute());
|
|
12848
|
+
}
|
|
12849
|
+
_updateBrowserUrl(route) {
|
|
12850
|
+
this._router.navigate([this._routerStateService.route], {
|
|
12851
|
+
queryParams: { [this._id]: route },
|
|
12852
|
+
queryParamsHandling: 'merge',
|
|
12853
|
+
});
|
|
12854
|
+
}
|
|
12855
|
+
_disableCloseOnNavigation() {
|
|
12856
|
+
// @ts-expect-error - private property
|
|
12857
|
+
this._overlayRef._cdkRef.overlayRef._locationChanges?.unsubscribe?.();
|
|
12831
12858
|
}
|
|
12832
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: OverlayService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
12833
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: OverlayService }); }
|
|
12834
12859
|
}
|
|
12835
|
-
|
|
12836
|
-
|
|
12837
|
-
|
|
12860
|
+
const provideOverlayRouterConfig = (config) => {
|
|
12861
|
+
return [
|
|
12862
|
+
{
|
|
12863
|
+
provide: OVERLAY_ROUTER_CONFIG_TOKEN,
|
|
12864
|
+
useValue: config,
|
|
12865
|
+
},
|
|
12866
|
+
];
|
|
12867
|
+
};
|
|
12868
|
+
|
|
12869
|
+
function getClosestOverlay(element, openOverlays) {
|
|
12870
|
+
let parent = element.nativeElement.parentElement;
|
|
12871
|
+
while (parent && !parent.classList.contains('et-overlay')) {
|
|
12872
|
+
parent = parent.parentElement;
|
|
12873
|
+
}
|
|
12874
|
+
return parent ? openOverlays.find((overlay) => overlay.id === parent?.id) : null;
|
|
12875
|
+
}
|
|
12876
|
+
const provideOverlayDefaultConfig = (config = {}) => {
|
|
12877
|
+
return { provide: OVERLAY_DEFAULT_OPTIONS, useValue: createOverlayConfig(config) };
|
|
12878
|
+
};
|
|
12838
12879
|
|
|
12839
12880
|
const OVERLAY_BODY_TOKEN = new InjectionToken('OVERLAY_BODY_TOKEN');
|
|
12840
12881
|
class OverlayBodyComponent {
|
|
@@ -17715,5 +17756,5 @@ const FLOATING_UI_PLACEMENTS = [
|
|
|
17715
17756
|
* Generated bundle index. Do not edit.
|
|
17716
17757
|
*/
|
|
17717
17758
|
|
|
17718
|
-
export { ACCORDION_COMPONENT, ACCORDION_HINT_WRAPPER_DIRECTIVE, ACCORDION_LABEL_WRAPPER_DIRECTIVE, AccordionComponent, AccordionGroupComponent, AccordionHintDirective, AccordionHintWrapperDirective, AccordionImports, AccordionLabelDirective, AccordionLabelWrapperDirective, ActiveTabUnderlineBarManager, ActiveTabUnderlineDirective, AutosizeTextareaDirective, BOTTOM_SHEET_CONFIG, BOTTOM_SHEET_DATA, BOTTOM_SHEET_DEFAULT_CONFIG, BOTTOM_SHEET_DEFAULT_OPTIONS, BOTTOM_SHEET_MIN_SWIPE_TO_CLOSE_LENGTH, BOTTOM_SHEET_MIN_VELOCITY_TO_CLOSE, BOTTOM_SHEET_SCROLL_STRATEGY, BOTTOM_SHEET_SCROLL_STRATEGY_PROVIDER, BOTTOM_SHEET_SCROLL_STRATEGY_PROVIDER_FACTORY, BRACKET_CONFIG_TOKEN, BRACKET_DEFAULT_CONFIG, BRACKET_MATCH_ID_TOKEN, BRACKET_ROUND_ID_TOKEN, BRACKET_TOKEN, BottomSheetContainerBaseComponent, BottomSheetContainerComponent, BottomSheetDragHandleComponent, BottomSheetImports, BottomSheetRef, BottomSheetService, BottomSheetServiceBase, BottomSheetSwipeHandlerService, BottomSheetTitleDirective, Bracket, BracketComponent, BracketImports, BracketMatchComponent, BracketMatchDirective, BracketRoundDirective, BracketRoundHeaderComponent, ButtonComponent, ButtonDirective, ButtonImports, CAROUSEL_ITEM_NAV_TOKEN, CAROUSEL_ITEM_TOKEN, CAROUSEL_NEXT_BUTTON_TOKEN, CAROUSEL_PREVIOUS_BUTTON_TOKEN, CAROUSEL_TOGGLE_AUTO_PLAY_BUTTON_TOKEN, CAROUSEL_TOKEN, CDK_MENU, CHECKBOX_FIELD_TOKEN, CHECKBOX_GROUP_CONTROL_TOKEN, CHECKBOX_GROUP_TOKEN, CHECKBOX_TOKEN, COMBOBOX_BODY_EMPTY_TEMPLATE_TOKEN, COMBOBOX_BODY_ERROR_TEMPLATE_TOKEN, COMBOBOX_BODY_LOADING_TEMPLATE_TOKEN, COMBOBOX_BODY_MORE_ITEMS_HINT_TEMPLATE_TOKEN, COMBOBOX_BODY_TOKEN, COMBOBOX_CONFIG_TOKEN, COMBOBOX_DEFAULT_CONFIG, COMBOBOX_OPTION_TEMPLATE_TOKEN, COMBOBOX_OPTION_TOKEN, COMBOBOX_SELECTED_OPTION_TEMPLATE_TOKEN, COMBOBOX_TOKEN, CarouselComponent, CarouselDirective, CarouselImports, CarouselItemComponent, CarouselItemDirective, CarouselItemNavComponent, CarouselItemNavDirective, CarouselNextButtonDirective, CarouselPreviousButtonDirective, CarouselToggleAutoPlayButtonDirective, CdkContextMenuTrigger, CdkMenu, CdkMenuBar, CdkMenuBase, CdkMenuGroup, CdkMenuItem, CdkMenuItemCheckbox, CdkMenuItemRadio, CdkMenuItemSelectable, CdkMenuModule, CdkMenuTrigger, CdkMenuTriggerBase, CdkTargetMenuAim, CellDefDirective, CellDirective, CheckboxComponent, CheckboxDirective, CheckboxFieldComponent, CheckboxFieldDirective, CheckboxGroupComponent, CheckboxGroupControlDirective, CheckboxGroupDirective, CheckboxImports, ChevronIconComponent, ColumnDefDirective, ComboboxBodyComponent, ComboboxBodyEmptyTemplateDirective, ComboboxBodyErrorTemplateDirective, ComboboxBodyLoadingTemplateDirective, ComboboxBodyMoreItemsHintTemplateDirective, ComboboxComponent, ComboboxDirective, ComboboxImports, ComboboxOptionComponent, ComboboxOptionTemplateDirective, ComboboxSelectedOptionTemplateDirective, ContextMenuTracker, DATE_INPUT_FORMAT_TOKEN, DATE_INPUT_TOKEN, DATE_TIME_INPUT_FORMAT_TOKEN, DATE_TIME_INPUT_TOKEN, DEFAULT_DATE_INPUT_FORMAT, DEFAULT_DATE_TIME_INPUT_FORMAT, DEFAULT_TIME_INPUT_FORMAT, DIALOG_CONFIG, DIALOG_DATA, DIALOG_DEFAULT_CONFIG, DIALOG_DEFAULT_OPTIONS, DIALOG_SCROLL_STRATEGY, DIALOG_SCROLL_STRATEGY_PROVIDER, DIALOG_SCROLL_STRATEGY_PROVIDER_FACTORY, DYNAMIC_FORM_FIELD_TOKEN, DYNAMIC_FORM_GROUP_TOKEN, DateInputComponent, DateInputDirective, DateTimeInputComponent, DateTimeInputDirective, DecoratedFormFieldBase, DecoratedInputBase, DefaultValidatorErrorsService, DialogCloseDirective, DialogContainerBaseComponent, DialogContainerComponent, DialogImports, DialogRef, DialogService, DialogServiceBase, DialogTitleDirective, DynamicFormFieldDirective, DynamicFormGroupDirective, DynamicOverlayService, DynamicOverlayTitleDirective, EMAIL_INPUT_TOKEN, ET_OVERLAY_BOTTOM_SHEET_CLASS, ET_OVERLAY_CONFIG_CLASS_KEYS, ET_OVERLAY_DIALOG_CLASS, ET_OVERLAY_FULL_SCREEN_DIALOG_CLASS, ET_OVERLAY_LAYOUT_CLASSES, ET_OVERLAY_LEFT_SHEET_CLASS, ET_OVERLAY_RIGHT_SHEET_CLASS, ET_OVERLAY_TOP_SHEET_CLASS, EXPOSE_INPUT_VARS_TOKEN, EmailInputComponent, EmailInputDirective, ErrorComponent, ExposeInputVarsDirective, FILTER_OVERLAY_CONFIG, FLOATING_UI_PLACEMENTS, FilterOverlayService, FooterCellDefDirective, FooterCellDirective, FooterRowComponent, FooterRowDefDirective, FormFieldStateService, FormGroupStateService, HeaderCellDefDirective, HeaderCellDirective, HeaderRowComponent, HeaderRowDefDirective, IMAGE_CONFIG_TOKEN, INPUT_PREFIX_TOKEN, INPUT_SUFFIX_TOKEN, INPUT_TOKEN, IconImports, IfInputEmptyDirective, IfInputFilledDirective, IfSupportsShowPickerDirective, InlineTabBodyComponent, InlineTabBodyHostDirective, InlineTabChangeEvent, InlineTabComponent, InlineTabContentDirective, InlineTabHeaderComponent, InlineTabLabelDirective, InlineTabLabelWrapperDirective, InlineTabsComponent, InputBase, InputDirective, InputFieldComponent, InputImports, InputPrefixDirective, InputStateService, InputSuffixDirective, LABEL_TOKEN, LabelComponent, LabelImports, LabelSuffixDirective, MASONRY_ITEM_TOKEN, MAX_SAFE_INTEGER, MENU, MENU_AIM, MENU_CHECKBOX_GROUP_TOKEN, MENU_CONTAINER, MENU_GROUP_TITLE_TOKEN, MENU_GROUP_TOKEN, MENU_ITEM_TOKEN, MENU_RADIO_GROUP_TOKEN, MENU_SEARCH_TEMPLATE_TOKEN, MENU_STACK, MENU_TEMPLATE, MENU_TRIGGER, MENU_TRIGGER_TOKEN, MasonryComponent, MasonryImports, MasonryItemComponent, MenuCheckboxGroupDirective, MenuCheckboxItemComponent, MenuComponent, MenuContainerComponent, MenuGroupDirective, MenuGroupTitleDirective, MenuImports, MenuItemDirective, MenuRadioGroupDirective, MenuRadioItemComponent, MenuSearchTemplateDirective, MenuStack, MenuTriggerDirective, NATIVE_INPUT_REF_TOKEN, NATIVE_SELECT_INPUT_TOKEN, NATIVE_SELECT_OPTION_TOKEN, NUMBER_INPUT_TOKEN, NativeInputRefDirective, NativeSelectImports, NativeSelectInputComponent, NativeSelectInputDirective, NativeSelectOptionComponent, NativeSelectOptionDirective, NavTabLinkComponent, NavTabsComponent, NavTabsOutletComponent, NoDataRowDirective, NumberInputComponent, NumberInputDirective, OVERLAY_BACK_OR_CLOSE_TOKEN, OVERLAY_BODY_TOKEN, OVERLAY_CLOSE_BLOCKER_TOKEN, OVERLAY_CONFIG, OVERLAY_DATA, OVERLAY_DEFAULT_CONFIG, OVERLAY_DEFAULT_OPTIONS, OVERLAY_FOOTER_TOKEN, OVERLAY_HEADER_TEMPLATE_TOKEN, OVERLAY_HEADER_TOKEN, OVERLAY_MAIN_TOKEN, OVERLAY_ROUTER_CONFIG_TOKEN, OVERLAY_ROUTER_LINK_TOKEN, OVERLAY_ROUTER_OUTLET_DISABLED_TEMPLATE_TOKEN, OVERLAY_ROUTER_OUTLET_TOKEN, OVERLAY_SCROLL_STRATEGY, OVERLAY_SCROLL_STRATEGY_PROVIDER, OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY, OVERLAY_SHARED_ROUTE_TEMPLATE_TOKEN, OVERLAY_STATE, OverlayBackOrCloseDirective, OverlayBodyComponent, OverlayCloseBlockerDirective, OverlayCloseDirective, OverlayContainerComponent, OverlayFooterDirective, OverlayHeaderDirective, OverlayHeaderTemplateDirective, OverlayImports, OverlayMainDirective, OverlayPositionBuilder, OverlayRef, OverlayRouteHeaderTemplateOutletComponent, OverlayRouterLinkDirective, OverlayRouterOutletComponent, OverlayRouterOutletDisabledTemplateDirective, OverlayRouterService, OverlayService, OverlaySharedRouteTemplateDirective, OverlaySharedRouteTemplateOutletComponent, OverlaySidebarComponent, OverlaySidebarPageComponent, OverlayTitleDirective, OverlayWithRoutingImports, OverlayWithSidebarImports, PARENT_OR_NEW_INLINE_MENU_STACK_PROVIDER, PARENT_OR_NEW_MENU_STACK_PROVIDER, PASSWORD_INPUT_TOKEN, PROGRESS_SPINNER_DEFAULT_OPTIONS, PROGRESS_SPINNER_DEFAULT_OPTIONS_FACTORY, PaginatedTabHeaderDirective, PaginationComponent, PaginationHeadService, PaginationImports, PaginationLinkDirective, PasswordInputComponent, PasswordInputDirective, PasswordInputToggleComponent, PictureComponent, PointerFocusTracker, ProgressSpinnerComponent, QUERY_ERROR_TOKEN, QueryButtonComponent, QueryButtonDirective, QueryErrorComponent, QueryErrorDirective, RADIO_FIELD_TOKEN, RADIO_GROUP_TOKEN, RADIO_TOKEN, RICH_FILTER_BUTTON_SLOT_TOKEN, RICH_FILTER_BUTTON_TOKEN, RICH_FILTER_CONTENT_TOKEN, RICH_FILTER_TOP_TOKEN, RadioComponent, RadioDirective, RadioFieldComponent, RadioFieldDirective, RadioGroupComponent, RadioGroupDirective, RadioImports, RecycleRowsDirective, RichFilterButtonDirective, RichFilterButtonSlotDirective, RichFilterContentDirective, RichFilterHostComponent, RichFilterImports, RichFilterTopDirective, RowComponent, RowDefDirective, SCROLLABLE_IGNORE_CHILD_ATTRIBUTE, SCROLLABLE_IGNORE_CHILD_TOKEN, SCROLLABLE_IS_ACTIVE_CHILD_ATTRIBUTE, SCROLLABLE_IS_ACTIVE_CHILD_TOKEN, SCROLLABLE_LOADING_TEMPLATE_TOKEN, SCROLLABLE_PLACEHOLDER_ITEM_TEMPLATE_TOKEN, SCROLLABLE_PLACEHOLDER_OVERLAY_TEMPLATE_TOKEN, SEARCH_INPUT_TOKEN, SEGMENTED_BUTTON_FIELD_TOKEN, SEGMENTED_BUTTON_GROUP_TOKEN, SEGMENTED_BUTTON_TOKEN, SELECTION_LIST_FIELD, SELECTION_LIST_OPTION, SELECT_BODY_TOKEN, SELECT_FIELD_TOKEN, SELECT_OPTION_TOKEN, SELECT_TOKEN, SHOW_PICKER_TRIGGER_TOKEN, SIDEBAR_OVERLAY_CONFIG, SLIDE_TOGGLE_TOKEN, SORT_DEFAULT_OPTIONS, SORT_HEADER_COLUMN_DEF, SORT_HEADER_INTL_PROVIDER, SORT_HEADER_INTL_PROVIDER_FACTORY, STATIC_FORM_FIELD_TOKEN, STATIC_FORM_GROUP_TOKEN, ScrollableComponent, ScrollableIgnoreChildDirective, ScrollableImports, ScrollableIsActiveChildDirective, ScrollableLoadingTemplateDirective, ScrollablePlaceholderComponent, ScrollablePlaceholderItemTemplateDirective, ScrollablePlaceholderOverlayTemplateDirective, SearchInputClearComponent, SearchInputComponent, SearchInputDirective, SegmentedButtonComponent, SegmentedButtonDirective, SegmentedButtonFieldComponent, SegmentedButtonFieldDirective, SegmentedButtonGroupComponent, SegmentedButtonGroupDirective, SegmentedButtonImports, SelectBodyComponent, SelectBodyDirective, SelectComponent, SelectDirective, SelectFieldComponent, SelectFieldDirective, SelectImports, SelectOptionComponent, SelectOptionDirective, SelectionListFieldComponent, SelectionListFieldDirective, SelectionListImports, SelectionListOptionComponent, SelectionListOptionDirective, ShowPickerTriggerDirective, SidebarOverlayService, SkeletonComponent, SkeletonImports, SkeletonItemComponent, SlideToggleComponent, SlideToggleDirective, SlideToggleFieldComponent, SlideToggleImports, SliderComponent, SliderFieldComponent, SliderImports, SortDirective, SortHeaderComponent, SortHeaderIntl, SortImports, StaticFormFieldDirective, StaticFormGroupDirective, SwipeHandlerService, TAB, TABS_CONFIG, TAB_CONTENT, TAB_GROUP, TAB_LABEL, TEL_INPUT_TOKEN, TEXTAREA_INPUT_TOKEN, TEXT_INPUT_TOKEN, TIME_INPUT_FORMAT_TOKEN, TIME_INPUT_TOKEN, TOGGLETIP, TOGGLETIP_CONFIG, TOGGLETIP_DEFAULT_CONFIG, TOGGLETIP_DIRECTIVE, TOGGLETIP_TEMPLATE, TOGGLETIP_TEXT, TOOLTIP, TOOLTIP_CONFIG, TOOLTIP_DEFAULT_CONFIG, TOOLTIP_DIRECTIVE, TOOLTIP_TEMPLATE, TOOLTIP_TEXT, TabImports, TableBusyDirective, TableBusyOutletDirective, TableComponent, TableDataSource, TableImports, TargetMenuAim, TelInputComponent, TelInputDirective, TextColumnComponent, TextInputComponent, TextInputDirective, TextareaInputComponent, TextareaInputDirective, TimeInputComponent, TimeInputDirective, ToggletipCloseDirective, ToggletipComponent, ToggletipDirective, ToggletipImports, TooltipComponent, TooltipDirective, TooltipImports, VALIDATOR_ERROR_SERVICE_TOKEN, WRITEABLE_INPUT_TOKEN, WRITEABLE_INPUT_VALUE_ACCESSOR, WriteableInputDirective, _MAT_INK_BAR_POSITIONER, _MAT_INK_BAR_POSITIONER_FACTORY, accordionAnimations, convertHttpStatusCodeToMessageDe, convertHttpStatusCodeToMessageEn, convertHttpStatusCodeToTitleDe, convertHttpStatusCodeToTitleEn, createBottomSheetConfig, createBracketConfig, createComboboxConfig, createDialogConfig, createOverlayConfig, createOverlayDismissChecker, createToggletipConfig, createTooltipConfig, defaultSubmitButtonConfigFn, getClosestBottomSheet, getClosestDialog, getClosestOverlay, isScrollableChildActive, isScrollableChildIgnored, isUpperBracketMatch, normalizePictureSizes, normalizePictureSource, normalizeRoundType, orderRounds, orderRoundsByRoundNumber, paginate, provideBottomSheet, provideBottomSheetDefaultConfig, provideBracketConfig, provideComboboxConfig, provideDateFormat, provideDateTimeFormat, provideDialog, provideDialogDefaultConfig, provideFilterOverlayConfig, provideImageConfig, provideOverlay, provideOverlayDefaultConfig, provideOverlayRouterConfig, provideSidebarOverlayConfig, provideSort, provideTimeFormat, provideToggletipConfig, provideTooltipConfig, provideValidatorErrorsService, tabAnimations };
|
|
17759
|
+
export { ACCORDION_COMPONENT, ACCORDION_HINT_WRAPPER_DIRECTIVE, ACCORDION_LABEL_WRAPPER_DIRECTIVE, AccordionComponent, AccordionGroupComponent, AccordionHintDirective, AccordionHintWrapperDirective, AccordionImports, AccordionLabelDirective, AccordionLabelWrapperDirective, ActiveTabUnderlineBarManager, ActiveTabUnderlineDirective, AutosizeTextareaDirective, BOTTOM_SHEET_CONFIG, BOTTOM_SHEET_DATA, BOTTOM_SHEET_DEFAULT_CONFIG, BOTTOM_SHEET_DEFAULT_OPTIONS, BOTTOM_SHEET_MIN_SWIPE_TO_CLOSE_LENGTH, BOTTOM_SHEET_MIN_VELOCITY_TO_CLOSE, BOTTOM_SHEET_SCROLL_STRATEGY, BOTTOM_SHEET_SCROLL_STRATEGY_PROVIDER, BOTTOM_SHEET_SCROLL_STRATEGY_PROVIDER_FACTORY, BRACKET_CONFIG_TOKEN, BRACKET_DEFAULT_CONFIG, BRACKET_MATCH_ID_TOKEN, BRACKET_ROUND_ID_TOKEN, BRACKET_TOKEN, BottomSheetContainerBaseComponent, BottomSheetContainerComponent, BottomSheetDragHandleComponent, BottomSheetImports, BottomSheetRef, BottomSheetService, BottomSheetServiceBase, BottomSheetSwipeHandlerService, BottomSheetTitleDirective, Bracket, BracketComponent, BracketImports, BracketMatchComponent, BracketMatchDirective, BracketRoundDirective, BracketRoundHeaderComponent, ButtonComponent, ButtonDirective, ButtonImports, CAROUSEL_ITEM_NAV_TOKEN, CAROUSEL_ITEM_TOKEN, CAROUSEL_NEXT_BUTTON_TOKEN, CAROUSEL_PREVIOUS_BUTTON_TOKEN, CAROUSEL_TOGGLE_AUTO_PLAY_BUTTON_TOKEN, CAROUSEL_TOKEN, CDK_MENU, CHECKBOX_FIELD_TOKEN, CHECKBOX_GROUP_CONTROL_TOKEN, CHECKBOX_GROUP_TOKEN, CHECKBOX_TOKEN, COMBOBOX_BODY_EMPTY_TEMPLATE_TOKEN, COMBOBOX_BODY_ERROR_TEMPLATE_TOKEN, COMBOBOX_BODY_LOADING_TEMPLATE_TOKEN, COMBOBOX_BODY_MORE_ITEMS_HINT_TEMPLATE_TOKEN, COMBOBOX_BODY_TOKEN, COMBOBOX_CONFIG_TOKEN, COMBOBOX_DEFAULT_CONFIG, COMBOBOX_OPTION_TEMPLATE_TOKEN, COMBOBOX_OPTION_TOKEN, COMBOBOX_SELECTED_OPTION_TEMPLATE_TOKEN, COMBOBOX_TOKEN, CarouselComponent, CarouselDirective, CarouselImports, CarouselItemComponent, CarouselItemDirective, CarouselItemNavComponent, CarouselItemNavDirective, CarouselNextButtonDirective, CarouselPreviousButtonDirective, CarouselToggleAutoPlayButtonDirective, CdkContextMenuTrigger, CdkMenu, CdkMenuBar, CdkMenuBase, CdkMenuGroup, CdkMenuItem, CdkMenuItemCheckbox, CdkMenuItemRadio, CdkMenuItemSelectable, CdkMenuModule, CdkMenuTrigger, CdkMenuTriggerBase, CdkTargetMenuAim, CellDefDirective, CellDirective, CheckboxComponent, CheckboxDirective, CheckboxFieldComponent, CheckboxFieldDirective, CheckboxGroupComponent, CheckboxGroupControlDirective, CheckboxGroupDirective, CheckboxImports, ChevronIconComponent, ColumnDefDirective, ComboboxBodyComponent, ComboboxBodyEmptyTemplateDirective, ComboboxBodyErrorTemplateDirective, ComboboxBodyLoadingTemplateDirective, ComboboxBodyMoreItemsHintTemplateDirective, ComboboxComponent, ComboboxDirective, ComboboxImports, ComboboxOptionComponent, ComboboxOptionTemplateDirective, ComboboxSelectedOptionTemplateDirective, ContextMenuTracker, DATE_INPUT_FORMAT_TOKEN, DATE_INPUT_TOKEN, DATE_TIME_INPUT_FORMAT_TOKEN, DATE_TIME_INPUT_TOKEN, DEFAULT_DATE_INPUT_FORMAT, DEFAULT_DATE_TIME_INPUT_FORMAT, DEFAULT_TIME_INPUT_FORMAT, DIALOG_CONFIG, DIALOG_DATA, DIALOG_DEFAULT_CONFIG, DIALOG_DEFAULT_OPTIONS, DIALOG_SCROLL_STRATEGY, DIALOG_SCROLL_STRATEGY_PROVIDER, DIALOG_SCROLL_STRATEGY_PROVIDER_FACTORY, DYNAMIC_FORM_FIELD_TOKEN, DYNAMIC_FORM_GROUP_TOKEN, DateInputComponent, DateInputDirective, DateTimeInputComponent, DateTimeInputDirective, DecoratedFormFieldBase, DecoratedInputBase, DefaultValidatorErrorsService, DialogCloseDirective, DialogContainerBaseComponent, DialogContainerComponent, DialogImports, DialogRef, DialogService, DialogServiceBase, DialogTitleDirective, DynamicFormFieldDirective, DynamicFormGroupDirective, DynamicOverlayService, DynamicOverlayTitleDirective, EMAIL_INPUT_TOKEN, ET_OVERLAY_BOTTOM_SHEET_CLASS, ET_OVERLAY_CONFIG_CLASS_KEYS, ET_OVERLAY_DIALOG_CLASS, ET_OVERLAY_FULL_SCREEN_DIALOG_CLASS, ET_OVERLAY_LAYOUT_CLASSES, ET_OVERLAY_LEFT_SHEET_CLASS, ET_OVERLAY_RIGHT_SHEET_CLASS, ET_OVERLAY_TOP_SHEET_CLASS, EXPOSE_INPUT_VARS_TOKEN, EmailInputComponent, EmailInputDirective, ErrorComponent, ExposeInputVarsDirective, FILTER_OVERLAY_CONFIG, FLOATING_UI_PLACEMENTS, FilterOverlayService, FooterCellDefDirective, FooterCellDirective, FooterRowComponent, FooterRowDefDirective, FormFieldStateService, FormGroupStateService, HeaderCellDefDirective, HeaderCellDirective, HeaderRowComponent, HeaderRowDefDirective, IMAGE_CONFIG_TOKEN, INPUT_PREFIX_TOKEN, INPUT_SUFFIX_TOKEN, INPUT_TOKEN, IconImports, IfInputEmptyDirective, IfInputFilledDirective, IfSupportsShowPickerDirective, InlineTabBodyComponent, InlineTabBodyHostDirective, InlineTabChangeEvent, InlineTabComponent, InlineTabContentDirective, InlineTabHeaderComponent, InlineTabLabelDirective, InlineTabLabelWrapperDirective, InlineTabsComponent, InputBase, InputDirective, InputFieldComponent, InputImports, InputPrefixDirective, InputStateService, InputSuffixDirective, LABEL_TOKEN, LabelComponent, LabelImports, LabelSuffixDirective, MASONRY_ITEM_TOKEN, MAX_SAFE_INTEGER, MENU, MENU_AIM, MENU_CHECKBOX_GROUP_TOKEN, MENU_CONTAINER, MENU_GROUP_TITLE_TOKEN, MENU_GROUP_TOKEN, MENU_ITEM_TOKEN, MENU_RADIO_GROUP_TOKEN, MENU_SEARCH_TEMPLATE_TOKEN, MENU_STACK, MENU_TEMPLATE, MENU_TRIGGER, MENU_TRIGGER_TOKEN, MasonryComponent, MasonryImports, MasonryItemComponent, MenuCheckboxGroupDirective, MenuCheckboxItemComponent, MenuComponent, MenuContainerComponent, MenuGroupDirective, MenuGroupTitleDirective, MenuImports, MenuItemDirective, MenuRadioGroupDirective, MenuRadioItemComponent, MenuSearchTemplateDirective, MenuStack, MenuTriggerDirective, NATIVE_INPUT_REF_TOKEN, NATIVE_SELECT_INPUT_TOKEN, NATIVE_SELECT_OPTION_TOKEN, NUMBER_INPUT_TOKEN, NativeInputRefDirective, NativeSelectImports, NativeSelectInputComponent, NativeSelectInputDirective, NativeSelectOptionComponent, NativeSelectOptionDirective, NavTabLinkComponent, NavTabsComponent, NavTabsOutletComponent, NoDataRowDirective, NumberInputComponent, NumberInputDirective, OVERLAY_BACK_OR_CLOSE_TOKEN, OVERLAY_BODY_TOKEN, OVERLAY_CLOSE_BLOCKER_TOKEN, OVERLAY_CONFIG, OVERLAY_DATA, OVERLAY_DEFAULT_CONFIG, OVERLAY_DEFAULT_OPTIONS, OVERLAY_FOOTER_TOKEN, OVERLAY_HEADER_TEMPLATE_TOKEN, OVERLAY_HEADER_TOKEN, OVERLAY_MAIN_TOKEN, OVERLAY_ROUTER_CONFIG_TOKEN, OVERLAY_ROUTER_LINK_TOKEN, OVERLAY_ROUTER_OUTLET_DISABLED_TEMPLATE_TOKEN, OVERLAY_ROUTER_OUTLET_TOKEN, OVERLAY_SCROLL_STRATEGY, OVERLAY_SCROLL_STRATEGY_PROVIDER, OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY, OVERLAY_SHARED_ROUTE_TEMPLATE_TOKEN, OVERLAY_STATE, OverlayBackOrCloseDirective, OverlayBodyComponent, OverlayCloseBlockerDirective, OverlayCloseDirective, OverlayContainerComponent, OverlayFooterDirective, OverlayHeaderDirective, OverlayHeaderTemplateDirective, OverlayImports, OverlayMainDirective, OverlayPositionBuilder, OverlayRef, OverlayRouteHeaderTemplateOutletComponent, OverlayRouterLinkDirective, OverlayRouterOutletComponent, OverlayRouterOutletDisabledTemplateDirective, OverlayRouterService, OverlayService, OverlaySharedRouteTemplateDirective, OverlaySharedRouteTemplateOutletComponent, OverlaySidebarComponent, OverlaySidebarPageComponent, OverlayTitleDirective, OverlayWithRoutingImports, OverlayWithSidebarImports, PARENT_OR_NEW_INLINE_MENU_STACK_PROVIDER, PARENT_OR_NEW_MENU_STACK_PROVIDER, PASSWORD_INPUT_TOKEN, PROGRESS_SPINNER_DEFAULT_OPTIONS, PROGRESS_SPINNER_DEFAULT_OPTIONS_FACTORY, PaginatedTabHeaderDirective, PaginationComponent, PaginationHeadService, PaginationImports, PaginationLinkDirective, PasswordInputComponent, PasswordInputDirective, PasswordInputToggleComponent, PictureComponent, PointerFocusTracker, ProgressSpinnerComponent, QUERY_ERROR_TOKEN, QueryButtonComponent, QueryButtonDirective, QueryErrorComponent, QueryErrorDirective, RADIO_FIELD_TOKEN, RADIO_GROUP_TOKEN, RADIO_TOKEN, RICH_FILTER_BUTTON_SLOT_TOKEN, RICH_FILTER_BUTTON_TOKEN, RICH_FILTER_CONTENT_TOKEN, RICH_FILTER_TOP_TOKEN, RadioComponent, RadioDirective, RadioFieldComponent, RadioFieldDirective, RadioGroupComponent, RadioGroupDirective, RadioImports, RecycleRowsDirective, RichFilterButtonDirective, RichFilterButtonSlotDirective, RichFilterContentDirective, RichFilterHostComponent, RichFilterImports, RichFilterTopDirective, RowComponent, RowDefDirective, SCROLLABLE_IGNORE_CHILD_ATTRIBUTE, SCROLLABLE_IGNORE_CHILD_TOKEN, SCROLLABLE_IS_ACTIVE_CHILD_ATTRIBUTE, SCROLLABLE_IS_ACTIVE_CHILD_TOKEN, SCROLLABLE_LOADING_TEMPLATE_TOKEN, SCROLLABLE_PLACEHOLDER_ITEM_TEMPLATE_TOKEN, SCROLLABLE_PLACEHOLDER_OVERLAY_TEMPLATE_TOKEN, SEARCH_INPUT_TOKEN, SEGMENTED_BUTTON_FIELD_TOKEN, SEGMENTED_BUTTON_GROUP_TOKEN, SEGMENTED_BUTTON_TOKEN, SELECTION_LIST_FIELD, SELECTION_LIST_OPTION, SELECT_BODY_TOKEN, SELECT_FIELD_TOKEN, SELECT_OPTION_TOKEN, SELECT_TOKEN, SHOW_PICKER_TRIGGER_TOKEN, SIDEBAR_OVERLAY_CONFIG, SLIDE_TOGGLE_TOKEN, SORT_DEFAULT_OPTIONS, SORT_HEADER_COLUMN_DEF, SORT_HEADER_INTL_PROVIDER, SORT_HEADER_INTL_PROVIDER_FACTORY, STATIC_FORM_FIELD_TOKEN, STATIC_FORM_GROUP_TOKEN, ScrollableComponent, ScrollableIgnoreChildDirective, ScrollableImports, ScrollableIsActiveChildDirective, ScrollableLoadingTemplateDirective, ScrollablePlaceholderComponent, ScrollablePlaceholderItemTemplateDirective, ScrollablePlaceholderOverlayTemplateDirective, SearchInputClearComponent, SearchInputComponent, SearchInputDirective, SegmentedButtonComponent, SegmentedButtonDirective, SegmentedButtonFieldComponent, SegmentedButtonFieldDirective, SegmentedButtonGroupComponent, SegmentedButtonGroupDirective, SegmentedButtonImports, SelectBodyComponent, SelectBodyDirective, SelectComponent, SelectDirective, SelectFieldComponent, SelectFieldDirective, SelectImports, SelectOptionComponent, SelectOptionDirective, SelectionListFieldComponent, SelectionListFieldDirective, SelectionListImports, SelectionListOptionComponent, SelectionListOptionDirective, ShowPickerTriggerDirective, SidebarOverlayService, SkeletonComponent, SkeletonImports, SkeletonItemComponent, SlideToggleComponent, SlideToggleDirective, SlideToggleFieldComponent, SlideToggleImports, SliderComponent, SliderFieldComponent, SliderImports, SortDirective, SortHeaderComponent, SortHeaderIntl, SortImports, StaticFormFieldDirective, StaticFormGroupDirective, SwipeHandlerService, TAB, TABS_CONFIG, TAB_CONTENT, TAB_GROUP, TAB_LABEL, TEL_INPUT_TOKEN, TEXTAREA_INPUT_TOKEN, TEXT_INPUT_TOKEN, TIME_INPUT_FORMAT_TOKEN, TIME_INPUT_TOKEN, TOGGLETIP, TOGGLETIP_CONFIG, TOGGLETIP_DEFAULT_CONFIG, TOGGLETIP_DIRECTIVE, TOGGLETIP_TEMPLATE, TOGGLETIP_TEXT, TOOLTIP, TOOLTIP_CONFIG, TOOLTIP_DEFAULT_CONFIG, TOOLTIP_DIRECTIVE, TOOLTIP_TEMPLATE, TOOLTIP_TEXT, TabImports, TableBusyDirective, TableBusyOutletDirective, TableComponent, TableDataSource, TableImports, TargetMenuAim, TelInputComponent, TelInputDirective, TextColumnComponent, TextInputComponent, TextInputDirective, TextareaInputComponent, TextareaInputDirective, TimeInputComponent, TimeInputDirective, ToggletipCloseDirective, ToggletipComponent, ToggletipDirective, ToggletipImports, TooltipComponent, TooltipDirective, TooltipImports, VALIDATOR_ERROR_SERVICE_TOKEN, WRITEABLE_INPUT_TOKEN, WRITEABLE_INPUT_VALUE_ACCESSOR, WriteableInputDirective, _MAT_INK_BAR_POSITIONER, _MAT_INK_BAR_POSITIONER_FACTORY, accordionAnimations, convertHttpStatusCodeToMessageDe, convertHttpStatusCodeToMessageEn, convertHttpStatusCodeToTitleDe, convertHttpStatusCodeToTitleEn, createBottomSheetConfig, createBracketConfig, createComboboxConfig, createDialogConfig, createOverlayConfig, createOverlayDismissChecker, createOverlayHandler, createToggletipConfig, createTooltipConfig, defaultSubmitButtonConfigFn, getClosestBottomSheet, getClosestDialog, getClosestOverlay, isScrollableChildActive, isScrollableChildIgnored, isUpperBracketMatch, normalizePictureSizes, normalizePictureSource, normalizeRoundType, orderRounds, orderRoundsByRoundNumber, paginate, provideBottomSheet, provideBottomSheetDefaultConfig, provideBracketConfig, provideComboboxConfig, provideDateFormat, provideDateTimeFormat, provideDialog, provideDialogDefaultConfig, provideFilterOverlayConfig, provideImageConfig, provideOverlay, provideOverlayDefaultConfig, provideOverlayRouterConfig, provideSidebarOverlayConfig, provideSort, provideTimeFormat, provideToggletipConfig, provideTooltipConfig, provideValidatorErrorsService, tabAnimations };
|
|
17719
17760
|
//# sourceMappingURL=ethlete-cdk.mjs.map
|