@ethlete/core 5.0.0-next.56 → 5.0.0-next.58
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 +41 -0
- package/fesm2022/ethlete-core.mjs +446 -548
- package/fesm2022/ethlete-core.mjs.map +1 -1
- package/package.json +6 -6
- package/types/ethlete-core.d.ts +68 -199
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { assertInInjectionContext, inject, DestroyRef, ElementRef, TemplateRef, InjectionToken, QueryList, RendererFactory2, RendererStyleFlags2, isSignal, DOCUMENT, signal, linkedSignal, isDevMode, computed, afterNextRender, effect, untracked, ApplicationRef, runInInjectionContext, NgZone, Injector, booleanAttribute, numberAttribute, PLATFORM_ID, EnvironmentInjector, createComponent, ViewEncapsulation, Component, Directive, model, ViewContainerRef, input, provideEnvironmentInitializer, output, createEnvironmentInjector, Pipe, afterEveryRender } from '@angular/core';
|
|
3
3
|
import { takeUntilDestroyed, toSignal, toObservable, outputFromObservable } from '@angular/core/rxjs-interop';
|
|
4
|
-
import { Subject,
|
|
4
|
+
import { Subject, fromEvent, switchMap, startWith, of, defer, from, map, catchError, timer, takeUntil, pairwise, debounceTime, merge, distinctUntilChanged, EMPTY, expand, skip, tap, take, filter, BehaviorSubject, combineLatest, Observable, isObservable, firstValueFrom, defaultIfEmpty, concatMap, concat, finalize, exhaustMap, share, shareReplay } from 'rxjs';
|
|
5
5
|
import { FormGroup, FormArray, FormControl } from '@angular/forms';
|
|
6
6
|
import { SIGNAL, signalSetFn } from '@angular/core/primitives/signals';
|
|
7
7
|
import { isPlatformBrowser, DOCUMENT as DOCUMENT$1 } from '@angular/common';
|
|
@@ -33,122 +33,6 @@ const animationDebugLog = (scope, ...args) => {
|
|
|
33
33
|
console.log(`\x1B[36m[et-overlay-debug ${timestamp}ms | ${scope}]\x1B[m`, ...args);
|
|
34
34
|
};
|
|
35
35
|
|
|
36
|
-
const ANIMATABLE_TOKEN = new InjectionToken('ANIMATABLE_DIRECTIVE_TOKEN');
|
|
37
|
-
class AnimatableDirective {
|
|
38
|
-
constructor() {
|
|
39
|
-
this.parent = inject(ANIMATABLE_TOKEN, { optional: true, skipSelf: true });
|
|
40
|
-
this.elementRef = inject(ElementRef);
|
|
41
|
-
this.animationStartSubject$ = new Subject();
|
|
42
|
-
this.animationEndSubject$ = new Subject();
|
|
43
|
-
this.activeAnimationCount = 0;
|
|
44
|
-
this.hostActiveAnimationCount$ = new BehaviorSubject(0);
|
|
45
|
-
this.animationStart$ = this.animationStartSubject$.asObservable().pipe(debounceTime(0));
|
|
46
|
-
this.animationEnd$ = this.animationEndSubject$.asObservable().pipe(debounceTime(0));
|
|
47
|
-
this.totalActiveAnimationCount$ = this.parent
|
|
48
|
-
? combineLatest([this.parent.totalActiveAnimationCount$, this.hostActiveAnimationCount$]).pipe(map(([parentCount, hostCount]) => Math.max(0, parentCount + hostCount)))
|
|
49
|
-
: this.hostActiveAnimationCount$.pipe(map((count) => Math.max(0, count)));
|
|
50
|
-
this.isAnimating$ = this.totalActiveAnimationCount$.pipe(map((count) => count > 0));
|
|
51
|
-
let didEmitStart = false;
|
|
52
|
-
const el = this.elementRef.nativeElement;
|
|
53
|
-
merge(merge(fromEvent(el, 'animationstart'), fromEvent(el, 'transitionrun')).pipe(filter((e) => e.target === el && !e.pseudoElement), map(() => 'start')), merge(fromEvent(el, 'animationend'), fromEvent(el, 'transitionend')).pipe(filter((e) => e.target === el && !e.pseudoElement), map(() => 'end')), merge(fromEvent(el, 'animationcancel'), fromEvent(el, 'transitioncancel')).pipe(filter((e) => e.target === el && !e.pseudoElement), map(() => 'cancel')))
|
|
54
|
-
.pipe(tap((eventType) => {
|
|
55
|
-
switch (eventType) {
|
|
56
|
-
case 'start': {
|
|
57
|
-
const startingNewBatch = this.activeAnimationCount === 0;
|
|
58
|
-
this.updateActiveAnimationCount(1);
|
|
59
|
-
if (startingNewBatch) {
|
|
60
|
-
this.activeBatchTransitionId = this.pendingTransitionId;
|
|
61
|
-
this.pendingTransitionId = undefined;
|
|
62
|
-
}
|
|
63
|
-
animationDebugLog(`animatable ${el.tagName.toLowerCase()}`, `start (count ${this.activeAnimationCount}, batch "${this.activeBatchTransitionId}", pending "${this.pendingTransitionId ?? 'none'}")`);
|
|
64
|
-
if (!didEmitStart) {
|
|
65
|
-
didEmitStart = true;
|
|
66
|
-
this.animationStartSubject$.next();
|
|
67
|
-
}
|
|
68
|
-
break;
|
|
69
|
-
}
|
|
70
|
-
case 'end':
|
|
71
|
-
case 'cancel': {
|
|
72
|
-
if (this.activeAnimationCount > 0) {
|
|
73
|
-
this.updateActiveAnimationCount(-1);
|
|
74
|
-
animationDebugLog(`animatable ${el.tagName.toLowerCase()}`, `${eventType} (count ${this.activeAnimationCount}, batch "${this.activeBatchTransitionId}")`);
|
|
75
|
-
if (this.activeAnimationCount === 0 && didEmitStart) {
|
|
76
|
-
didEmitStart = false;
|
|
77
|
-
this.animationEndSubject$.next({
|
|
78
|
-
cancelled: eventType === 'cancel',
|
|
79
|
-
transitionId: this.activeBatchTransitionId,
|
|
80
|
-
});
|
|
81
|
-
this.activeBatchTransitionId = undefined;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
animationDebugLog(`animatable ${el.tagName.toLowerCase()}`, `${eventType} ignored - count already 0 (start ${didEmitStart ? '' : 'not '}emitted)`);
|
|
86
|
-
if (isDevMode()) {
|
|
87
|
-
console.warn(`${el.tagName} received animation end/cancel event but activeAnimationCount is already 0. Start was ${didEmitStart ? '' : 'not '}emitted.`);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
break;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
}), takeUntilDestroyed())
|
|
94
|
-
.subscribe();
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Labels the next batch of animations that starts on this element. Only the most recent id is
|
|
98
|
-
* kept: a call whose animations never start must not leave an id behind for a later batch.
|
|
99
|
-
*/
|
|
100
|
-
setTransitionId(id) {
|
|
101
|
-
this.pendingTransitionId = id;
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* The animations running on this element right now, without the endless and pseudo-element ones.
|
|
105
|
-
*
|
|
106
|
-
* Reading this flushes pending style changes, so an animation a class change started in the same
|
|
107
|
-
* task is already listed here. `isAnimating$` cannot answer that: it turns true only once the
|
|
108
|
-
* browser dispatches `transitionrun`, a frame after the style change is committed.
|
|
109
|
-
*/
|
|
110
|
-
getRunningAnimations() {
|
|
111
|
-
const el = this.elementRef.nativeElement;
|
|
112
|
-
if (typeof el.getAnimations !== 'function')
|
|
113
|
-
return [];
|
|
114
|
-
return el.getAnimations().filter((animation) => {
|
|
115
|
-
if (animation.playState !== 'running')
|
|
116
|
-
return false;
|
|
117
|
-
const effect = animation.effect;
|
|
118
|
-
if (!effect || effect.pseudoElement)
|
|
119
|
-
return false;
|
|
120
|
-
// An endless animation never resolves `finished`, so awaiting one would strand the transition.
|
|
121
|
-
return effect.getComputedTiming().iterations !== Infinity;
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
updateActiveAnimationCount(delta) {
|
|
125
|
-
const newVal = this.activeAnimationCount + delta;
|
|
126
|
-
const clampedVal = Math.max(0, newVal);
|
|
127
|
-
this.activeAnimationCount = clampedVal;
|
|
128
|
-
this.hostActiveAnimationCount$.next(clampedVal);
|
|
129
|
-
}
|
|
130
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: AnimatableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
131
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: AnimatableDirective, isStandalone: true, selector: "[etAnimatable]", providers: [
|
|
132
|
-
{
|
|
133
|
-
provide: ANIMATABLE_TOKEN,
|
|
134
|
-
useExisting: AnimatableDirective,
|
|
135
|
-
},
|
|
136
|
-
], exportAs: ["etAnimatable"], ngImport: i0 }); }
|
|
137
|
-
}
|
|
138
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: AnimatableDirective, decorators: [{
|
|
139
|
-
type: Directive,
|
|
140
|
-
args: [{
|
|
141
|
-
selector: '[etAnimatable]',
|
|
142
|
-
exportAs: 'etAnimatable',
|
|
143
|
-
providers: [
|
|
144
|
-
{
|
|
145
|
-
provide: ANIMATABLE_TOKEN,
|
|
146
|
-
useExisting: AnimatableDirective,
|
|
147
|
-
},
|
|
148
|
-
],
|
|
149
|
-
}]
|
|
150
|
-
}], ctorParameters: () => [] });
|
|
151
|
-
|
|
152
36
|
const componentIds = /* @__PURE__ */ new Map();
|
|
153
37
|
const createComponentId = (prefix) => {
|
|
154
38
|
const id = componentIds.get(prefix) ?? 0;
|
|
@@ -574,20 +458,22 @@ function find(iter, tar, key) {
|
|
|
574
458
|
return key;
|
|
575
459
|
}
|
|
576
460
|
}
|
|
461
|
+
/** A constructor check misses a Date from another realm, or one created under a faked global `Date`. */
|
|
462
|
+
const isDate = (value) => Object.prototype.toString.call(value) === '[object Date]';
|
|
577
463
|
const equal = (foo, bar) => {
|
|
578
464
|
var ctor;
|
|
579
465
|
var len;
|
|
580
466
|
var tmp;
|
|
581
467
|
if (foo === bar)
|
|
582
468
|
return true;
|
|
469
|
+
if (isDate(foo) || isDate(bar))
|
|
470
|
+
return isDate(foo) && isDate(bar) && foo.getTime() === bar.getTime();
|
|
583
471
|
if (foo &&
|
|
584
472
|
bar &&
|
|
585
473
|
((ctor = foo.constructor) === bar.constructor ||
|
|
586
474
|
(!ctor && bar.constructor === Object) ||
|
|
587
475
|
(ctor === Object && !bar.constructor))) {
|
|
588
476
|
ctor ??= bar.constructor;
|
|
589
|
-
if (ctor === Date)
|
|
590
|
-
return foo.getTime() === bar.getTime();
|
|
591
477
|
if (ctor === RegExp)
|
|
592
478
|
return foo.toString() === bar.toString();
|
|
593
479
|
if (ctor === Array) {
|
|
@@ -695,7 +581,7 @@ const setCookie = (name, data, expiresInDays, domain = getDomain(), path = '/',
|
|
|
695
581
|
cookieString += `; domain=${domain}`;
|
|
696
582
|
}
|
|
697
583
|
cookieString += `; SameSite=${sameSiteUpper}`;
|
|
698
|
-
if (sameSite === 'none' || window.location.protocol === 'https:') {
|
|
584
|
+
if (sameSite === 'none' || (typeof window !== 'undefined' && window.location.protocol === 'https:')) {
|
|
699
585
|
cookieString += '; Secure';
|
|
700
586
|
}
|
|
701
587
|
cookieString += ';';
|
|
@@ -712,7 +598,7 @@ const deleteCookie = (name, path = '/', domain = getDomain()) => {
|
|
|
712
598
|
}
|
|
713
599
|
};
|
|
714
600
|
const getDomain = () => {
|
|
715
|
-
if (typeof
|
|
601
|
+
if (typeof window === 'undefined') {
|
|
716
602
|
return null;
|
|
717
603
|
}
|
|
718
604
|
const hostname = window.location.hostname;
|
|
@@ -1181,7 +1067,10 @@ const deferredSignal = (valueFn) => {
|
|
|
1181
1067
|
const memoizeSignal = (factory) => {
|
|
1182
1068
|
const cache = new WeakMap();
|
|
1183
1069
|
return () => {
|
|
1184
|
-
|
|
1070
|
+
// The application's root injector, not the nearest one: an overlay runs its content in an
|
|
1071
|
+
// environment injector of its own, and keying on that would build a second observer - plus, for
|
|
1072
|
+
// the scrollbar ruler, a second element in `<body>` - for every open overlay.
|
|
1073
|
+
const envInjector = inject(ApplicationRef).injector;
|
|
1185
1074
|
let cached = cache.get(envInjector);
|
|
1186
1075
|
if (!cached) {
|
|
1187
1076
|
cached = runInInjectionContext(envInjector, factory);
|
|
@@ -1226,7 +1115,8 @@ const signalElementDimensions = (el) => {
|
|
|
1226
1115
|
const zone = inject(NgZone);
|
|
1227
1116
|
const isRendered = signalIsRendered();
|
|
1228
1117
|
const initialValue = () => createElementDimensions(firstEl().currentElement);
|
|
1229
|
-
|
|
1118
|
+
// A viewChild.required throws NG0951 until the view exists, so the element is first read in the effect.
|
|
1119
|
+
const elementDimensionsSignal = signal(createElementDimensions(null), /* @ts-ignore */
|
|
1230
1120
|
...(ngDevMode ? [{ debugName: "elementDimensionsSignal" }] : /* istanbul ignore next */ []));
|
|
1231
1121
|
let observer = null;
|
|
1232
1122
|
effect(() => {
|
|
@@ -1889,6 +1779,59 @@ const controlValueSignalWithPrevious = (control, options) => {
|
|
|
1889
1779
|
return data.asReadonly();
|
|
1890
1780
|
};
|
|
1891
1781
|
|
|
1782
|
+
const SECOND_MS = 1000;
|
|
1783
|
+
const toTimestamp = (deadline) => {
|
|
1784
|
+
if (deadline === null || deadline === undefined || deadline === '')
|
|
1785
|
+
return null;
|
|
1786
|
+
const timestamp = new Date(deadline).getTime();
|
|
1787
|
+
return Number.isNaN(timestamp) ? null : timestamp;
|
|
1788
|
+
};
|
|
1789
|
+
const toCountdown = (remainingMs) => {
|
|
1790
|
+
const totalSeconds = Math.max(0, Math.ceil(remainingMs / SECOND_MS));
|
|
1791
|
+
return {
|
|
1792
|
+
totalSeconds,
|
|
1793
|
+
days: Math.floor(totalSeconds / 86_400),
|
|
1794
|
+
hours: Math.floor((totalSeconds % 86_400) / 3600),
|
|
1795
|
+
minutes: Math.floor((totalSeconds % 3600) / 60),
|
|
1796
|
+
seconds: totalSeconds % 60,
|
|
1797
|
+
hasPassed: totalSeconds === 0,
|
|
1798
|
+
};
|
|
1799
|
+
};
|
|
1800
|
+
/**
|
|
1801
|
+
* The time left until `deadline`, recounted on every whole second and broken down into days, hours, minutes
|
|
1802
|
+
* and seconds. `null` while the deadline is missing or not a valid date. The timer stops once the deadline
|
|
1803
|
+
* has passed, and never runs on the server.
|
|
1804
|
+
*
|
|
1805
|
+
* Call in an injection context.
|
|
1806
|
+
*
|
|
1807
|
+
* ```ts
|
|
1808
|
+
* protected timeLeft = signalCountdown(computed(() => this.round()?.startsAt));
|
|
1809
|
+
* ```
|
|
1810
|
+
*/
|
|
1811
|
+
const signalCountdown = (deadline) => {
|
|
1812
|
+
const end = computed(() => toTimestamp(deadline()), /* @ts-ignore */
|
|
1813
|
+
...(ngDevMode ? [{ debugName: "end" }] : /* istanbul ignore next */ []));
|
|
1814
|
+
const tick = signal(0, /* @ts-ignore */
|
|
1815
|
+
...(ngDevMode ? [{ debugName: "tick" }] : /* istanbul ignore next */ []));
|
|
1816
|
+
if (isPlatformBrowser(inject(PLATFORM_ID))) {
|
|
1817
|
+
toObservable(end)
|
|
1818
|
+
.pipe(switchMap((endsAt) => {
|
|
1819
|
+
if (endsAt === null)
|
|
1820
|
+
return EMPTY;
|
|
1821
|
+
return of(null).pipe(expand(() => {
|
|
1822
|
+
const remainingMs = endsAt - Date.now();
|
|
1823
|
+
return remainingMs <= 0 ? EMPTY : timer(remainingMs % SECOND_MS || SECOND_MS);
|
|
1824
|
+
}), skip(1));
|
|
1825
|
+
}), takeUntilDestroyed())
|
|
1826
|
+
.subscribe(() => tick.update((count) => count + 1));
|
|
1827
|
+
}
|
|
1828
|
+
return computed(() => {
|
|
1829
|
+
tick();
|
|
1830
|
+
const endsAt = end();
|
|
1831
|
+
return endsAt === null ? null : toCountdown(endsAt - Date.now());
|
|
1832
|
+
});
|
|
1833
|
+
};
|
|
1834
|
+
|
|
1892
1835
|
/**
|
|
1893
1836
|
* Gates a loading indicator on a loading flag, so work that finishes quickly never flashes one: the
|
|
1894
1837
|
* returned signal turns true only once `source` has been true for `delay` ms, and then stays true for
|
|
@@ -1940,20 +1883,19 @@ const signalElementMutations = (el, options) => {
|
|
|
1940
1883
|
const firstEl = firstElementSignal(elements);
|
|
1941
1884
|
const zone = inject(NgZone);
|
|
1942
1885
|
const isRendered = signalIsRendered();
|
|
1943
|
-
const elementMutationsSignal = signal(
|
|
1886
|
+
const elementMutationsSignal = signal([], /* @ts-ignore */
|
|
1944
1887
|
...(ngDevMode ? [{ debugName: "elementMutationsSignal" }] : /* istanbul ignore next */ []));
|
|
1945
1888
|
let observer = null;
|
|
1946
1889
|
effect(() => {
|
|
1947
1890
|
const els = firstEl();
|
|
1948
1891
|
const rendered = isRendered();
|
|
1949
|
-
elementMutationsSignal.set(
|
|
1892
|
+
elementMutationsSignal.set([]);
|
|
1950
1893
|
if (!rendered || typeof MutationObserver === 'undefined') {
|
|
1951
1894
|
return;
|
|
1952
1895
|
}
|
|
1953
|
-
observer ??= new MutationObserver((
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
zone.run(() => elementMutationsSignal.set(entry));
|
|
1896
|
+
observer ??= new MutationObserver((records) => {
|
|
1897
|
+
if (records.length) {
|
|
1898
|
+
zone.run(() => elementMutationsSignal.set(records));
|
|
1957
1899
|
}
|
|
1958
1900
|
});
|
|
1959
1901
|
observer.disconnect();
|
|
@@ -2770,6 +2712,9 @@ const useCursorDragScroll = (el, options) => {
|
|
|
2770
2712
|
}, /* @ts-ignore */
|
|
2771
2713
|
...(ngDevMode ? [{ debugName: "measuredCanScroll" }] : /* istanbul ignore next */ []));
|
|
2772
2714
|
const canScroll = suppliedCanScroll ?? measuredCanScroll;
|
|
2715
|
+
// A host destroyed mid-drag never re-runs the styling effect, so the grabbing cursor it wrote on
|
|
2716
|
+
// `<html>` would outlive the page it was dragged on.
|
|
2717
|
+
destroyRef.onDestroy(() => renderer.removeStyle(document.documentElement, 'cursor'));
|
|
2773
2718
|
// Cleanup if the element the cursor drag scroll is bound to gets changed
|
|
2774
2719
|
effect(() => {
|
|
2775
2720
|
const { previousElement } = element();
|
|
@@ -2879,10 +2824,10 @@ const useCursorDragScroll = (el, options) => {
|
|
|
2879
2824
|
if (!el)
|
|
2880
2825
|
return;
|
|
2881
2826
|
mouseMove
|
|
2882
|
-
.pipe(
|
|
2827
|
+
.pipe(takeUntil(dragEnd), tap((e) => updateDragging(e)), takeUntilDestroyed(destroyRef))
|
|
2883
2828
|
.subscribe();
|
|
2884
2829
|
dragEnd
|
|
2885
|
-
.pipe(take(1),
|
|
2830
|
+
.pipe(take(1), tap(() => updateDraggingEnd()), takeUntilDestroyed(destroyRef))
|
|
2886
2831
|
.subscribe();
|
|
2887
2832
|
initialDragPosition.set({ x: e.clientX, y: e.clientY });
|
|
2888
2833
|
initialScrollPosition.set({ x: el.scrollLeft, y: el.scrollTop });
|
|
@@ -2923,13 +2868,15 @@ const injectRouterEvent = /* @__PURE__ */ memoizeSignal(() => {
|
|
|
2923
2868
|
});
|
|
2924
2869
|
/**
|
|
2925
2870
|
* Signal that indicates whether the router has been initialized.
|
|
2926
|
-
* The router is considered initialized once
|
|
2871
|
+
* The router is considered initialized once its first navigation has completed, including one that completed
|
|
2872
|
+
* before this signal was first injected.
|
|
2927
2873
|
*/
|
|
2928
2874
|
const injectIsRouterInitialized = /* @__PURE__ */ memoizeSignal(() => {
|
|
2929
2875
|
const event = injectRouterEvent();
|
|
2876
|
+
const navigatedBefore = inject(Router).navigated;
|
|
2930
2877
|
return computed(() => {
|
|
2931
2878
|
const e = event();
|
|
2932
|
-
return (e instanceof NavigationEnd && e.id !== -1) || e instanceof NavigationSkipped;
|
|
2879
|
+
return navigatedBefore || (e instanceof NavigationEnd && e.id !== -1) || e instanceof NavigationSkipped;
|
|
2933
2880
|
});
|
|
2934
2881
|
});
|
|
2935
2882
|
/**
|
|
@@ -3219,6 +3166,16 @@ const serializeQueryParams = (queryParams) => Object.keys(queryParams)
|
|
|
3219
3166
|
.sort()
|
|
3220
3167
|
.map((key) => `${key}=${queryParams[key]}`)
|
|
3221
3168
|
.join('&');
|
|
3169
|
+
// Two navigations that matched the same route definition get the same object back, which is what
|
|
3170
|
+
// tells `/detail/1` -> `/detail/2` apart from `/list` -> `/detail/1`.
|
|
3171
|
+
const getDeepestRouteConfig = (router) => {
|
|
3172
|
+
let route = router.routerState.snapshot.root;
|
|
3173
|
+
while (route.firstChild) {
|
|
3174
|
+
route = route.firstChild;
|
|
3175
|
+
}
|
|
3176
|
+
return route.routeConfig;
|
|
3177
|
+
};
|
|
3178
|
+
const didPathParamsChange = (prevParams, currParams) => [...new Set(Object.keys(prevParams).concat(Object.keys(currParams)))].some((key) => prevParams[key] !== currParams[key]);
|
|
3222
3179
|
const setupScrollRestoration = (config = {}) => {
|
|
3223
3180
|
if (!isPlatformBrowser(inject(PLATFORM_ID))) {
|
|
3224
3181
|
return;
|
|
@@ -3250,7 +3207,11 @@ const setupScrollRestoration = (config = {}) => {
|
|
|
3250
3207
|
let restoredNavigationId = null;
|
|
3251
3208
|
let isPopstate = false;
|
|
3252
3209
|
let wantsRestore = false;
|
|
3253
|
-
let prev = {
|
|
3210
|
+
let prev = {
|
|
3211
|
+
state: createRouterState(router),
|
|
3212
|
+
route: createRoute(router),
|
|
3213
|
+
routeConfig: getDeepestRouteConfig(router),
|
|
3214
|
+
};
|
|
3254
3215
|
let pendingRestore = null;
|
|
3255
3216
|
const cancelPendingRestore = () => {
|
|
3256
3217
|
pendingRestore?.();
|
|
@@ -3364,9 +3325,14 @@ const setupScrollRestoration = (config = {}) => {
|
|
|
3364
3325
|
wantsRestore = !isPopstate && navigationState?.[ET_RESTORE_SCROLL] === true;
|
|
3365
3326
|
};
|
|
3366
3327
|
const onNavigationEnd = (event) => {
|
|
3367
|
-
const curr = {
|
|
3328
|
+
const curr = {
|
|
3329
|
+
state: createRouterState(router),
|
|
3330
|
+
route: createRoute(router),
|
|
3331
|
+
routeConfig: getDeepestRouteConfig(router),
|
|
3332
|
+
};
|
|
3368
3333
|
const prevState = prev.state;
|
|
3369
3334
|
const currState = curr.state;
|
|
3335
|
+
const sameRouteConfig = prev.routeConfig !== null && prev.routeConfig === curr.routeConfig;
|
|
3370
3336
|
const sameUrlNavigation = prev.route === curr.route;
|
|
3371
3337
|
const didFragmentChange = prevState.fragment !== currState.fragment;
|
|
3372
3338
|
prev = curr;
|
|
@@ -3419,7 +3385,9 @@ const setupScrollRestoration = (config = {}) => {
|
|
|
3419
3385
|
else {
|
|
3420
3386
|
const viaReturnRoute = currState.data[ET_DISABLE_SCROLL_TOP_AS_RETURN_ROUTE] && prevState.data[ET_DISABLE_SCROLL_TOP];
|
|
3421
3387
|
const explicitly = currState.data[ET_DISABLE_SCROLL_TOP];
|
|
3422
|
-
const pathParamsChange = currState.data[ET_DISABLE_SCROLL_TOP_ON_PATH_PARAM_CHANGE]
|
|
3388
|
+
const pathParamsChange = currState.data[ET_DISABLE_SCROLL_TOP_ON_PATH_PARAM_CHANGE] &&
|
|
3389
|
+
sameRouteConfig &&
|
|
3390
|
+
didPathParamsChange(prevState.pathParams, currState.pathParams);
|
|
3423
3391
|
if (viaReturnRoute || explicitly || pathParamsChange) {
|
|
3424
3392
|
return;
|
|
3425
3393
|
}
|
|
@@ -4326,7 +4294,7 @@ const FOCUS_VISIBLE_TRACKER_DEF = /* @__PURE__ */ defineRootProvider(() => {
|
|
|
4326
4294
|
...(ngDevMode ? [{ debugName: "isFocusVisible" }] : /* istanbul ignore next */ []));
|
|
4327
4295
|
let hadKeyboardEvent = false;
|
|
4328
4296
|
const onKeyDown = (e) => {
|
|
4329
|
-
if (e.metaKey || e.altKey || e.ctrlKey || ['
|
|
4297
|
+
if (e.metaKey || e.altKey || e.ctrlKey || ['Meta', 'Alt', 'Control'].includes(e.key))
|
|
4330
4298
|
return;
|
|
4331
4299
|
hadKeyboardEvent = true;
|
|
4332
4300
|
queueMicrotask(() => isFocusVisible.set(true));
|
|
@@ -4503,6 +4471,140 @@ const createUserConsentProvider = (options) => ({
|
|
|
4503
4471
|
}),
|
|
4504
4472
|
});
|
|
4505
4473
|
|
|
4474
|
+
/**
|
|
4475
|
+
* Declares the `--ease-*` custom properties that every animated stylesheet in the SDK
|
|
4476
|
+
* transitions with, as a styles-only component. Mount it from any component or directive whose
|
|
4477
|
+
* CSS reads one - without the declaration the whole `transition` shorthand is invalid at
|
|
4478
|
+
* computed-value time and the element snaps instead of animating.
|
|
4479
|
+
*/
|
|
4480
|
+
class EasingTokensStylesComponent {
|
|
4481
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: EasingTokensStylesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4482
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.6", type: EasingTokensStylesComponent, isStandalone: true, selector: "et-easing-tokens-styles", ngImport: i0, template: '', isInline: true, styles: ["@layer components{:where(html){--ease-1: cubic-bezier(.25, 0, .5, 1);--ease-2: cubic-bezier(.25, 0, .4, 1);--ease-3: cubic-bezier(.25, 0, .3, 1);--ease-4: cubic-bezier(.25, 0, .2, 1);--ease-5: cubic-bezier(.25, 0, .1, 1);--ease-in-1: cubic-bezier(.25, 0, 1, 1);--ease-in-2: cubic-bezier(.5, 0, 1, 1);--ease-in-3: cubic-bezier(.7, 0, 1, 1);--ease-in-4: cubic-bezier(.9, 0, 1, 1);--ease-in-5: cubic-bezier(1, 0, 1, 1);--ease-out-1: cubic-bezier(0, 0, .75, 1);--ease-out-2: cubic-bezier(0, 0, .5, 1);--ease-out-3: cubic-bezier(0, 0, .3, 1);--ease-out-4: cubic-bezier(0, 0, .1, 1);--ease-out-5: cubic-bezier(0, 0, 0, 1);--ease-in-out-1: cubic-bezier(.1, 0, .9, 1);--ease-in-out-2: cubic-bezier(.3, 0, .7, 1);--ease-in-out-3: cubic-bezier(.5, 0, .5, 1);--ease-in-out-4: cubic-bezier(.7, 0, .3, 1);--ease-in-out-5: cubic-bezier(.9, 0, .1, 1);--ease-elastic-1: cubic-bezier(.5, .75, .75, 1.25);--ease-elastic-2: cubic-bezier(.5, 1, .75, 1.25);--ease-elastic-3: cubic-bezier(.5, 1.25, .75, 1.25);--ease-elastic-4: cubic-bezier(.5, 1.5, .75, 1.25);--ease-elastic-5: cubic-bezier(.5, 1.75, .75, 1.25);--ease-squish-1: cubic-bezier(.5, -.1, .1, 1.5);--ease-squish-2: cubic-bezier(.5, -.3, .1, 1.5);--ease-squish-3: cubic-bezier(.5, -.5, .1, 1.5);--ease-squish-4: cubic-bezier(.5, -.7, .1, 1.5);--ease-squish-5: cubic-bezier(.5, -.9, .1, 1.5);--ease-step-1: steps(2);--ease-step-2: steps(3);--ease-step-3: steps(4);--ease-step-4: steps(7);--ease-step-5: steps(10);--ease-spring-1: linear( 0, .006, .025 2.8%, .101 6.1%, .539 18.9%, .721 25.3%, .849 31.5%, .937 38.1%, .968 41.8%, .991 45.7%, 1.006 50.1%, 1.015 55%, 1.017 63.9%, 1.001 );--ease-spring-2: linear( 0, .007, .029 2.2%, .118 4.7%, .625 14.4%, .826 19%, .902, .962, 1.008 26.1%, 1.041 28.7%, 1.064 32.1%, 1.07 36%, 1.061 40.5%, 1.015 53.4%, .999 61.6%, .995 71.2%, 1 );--ease-spring-3: linear( 0, .009, .035 2.1%, .141 4.4%, .723 12.9%, .938 16.7%, 1.017, 1.077, 1.121, 1.149 24.3%, 1.159, 1.163, 1.161, 1.154 29.9%, 1.129 32.8%, 1.051 39.6%, 1.017 43.1%, .991, .977 51%, .974 53.8%, .975 57.1%, .997 69.8%, 1.003 76.9%, 1 );--ease-spring-4: linear( 0, .009, .037 1.7%, .153 3.6%, .776 10.3%, 1.001, 1.142 16%, 1.185, 1.209 19%, 1.215 19.9% 20.8%, 1.199, 1.165 25%, 1.056 30.3%, 1.008 33%, .973, .955 39.2%, .953 41.1%, .957 43.3%, .998 53.3%, 1.009 59.1% 63.7%, .998 78.9%, 1 );--ease-spring-5: linear( 0, .01, .04 1.6%, .161 3.3%, .816 9.4%, 1.046, 1.189 14.4%, 1.231, 1.254 17%, 1.259, 1.257 18.6%, 1.236, 1.194 22.3%, 1.057 27%, .999 29.4%, .955 32.1%, .942, .935 34.9%, .933, .939 38.4%, 1 47.3%, 1.011, 1.017 52.6%, 1.016 56.4%, 1 65.2%, .996 70.2%, 1.001 87.2%, 1 )}}\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
|
4483
|
+
}
|
|
4484
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: EasingTokensStylesComponent, decorators: [{
|
|
4485
|
+
type: Component,
|
|
4486
|
+
args: [{ selector: 'et-easing-tokens-styles', template: '', encapsulation: ViewEncapsulation.None, styles: ["@layer components{:where(html){--ease-1: cubic-bezier(.25, 0, .5, 1);--ease-2: cubic-bezier(.25, 0, .4, 1);--ease-3: cubic-bezier(.25, 0, .3, 1);--ease-4: cubic-bezier(.25, 0, .2, 1);--ease-5: cubic-bezier(.25, 0, .1, 1);--ease-in-1: cubic-bezier(.25, 0, 1, 1);--ease-in-2: cubic-bezier(.5, 0, 1, 1);--ease-in-3: cubic-bezier(.7, 0, 1, 1);--ease-in-4: cubic-bezier(.9, 0, 1, 1);--ease-in-5: cubic-bezier(1, 0, 1, 1);--ease-out-1: cubic-bezier(0, 0, .75, 1);--ease-out-2: cubic-bezier(0, 0, .5, 1);--ease-out-3: cubic-bezier(0, 0, .3, 1);--ease-out-4: cubic-bezier(0, 0, .1, 1);--ease-out-5: cubic-bezier(0, 0, 0, 1);--ease-in-out-1: cubic-bezier(.1, 0, .9, 1);--ease-in-out-2: cubic-bezier(.3, 0, .7, 1);--ease-in-out-3: cubic-bezier(.5, 0, .5, 1);--ease-in-out-4: cubic-bezier(.7, 0, .3, 1);--ease-in-out-5: cubic-bezier(.9, 0, .1, 1);--ease-elastic-1: cubic-bezier(.5, .75, .75, 1.25);--ease-elastic-2: cubic-bezier(.5, 1, .75, 1.25);--ease-elastic-3: cubic-bezier(.5, 1.25, .75, 1.25);--ease-elastic-4: cubic-bezier(.5, 1.5, .75, 1.25);--ease-elastic-5: cubic-bezier(.5, 1.75, .75, 1.25);--ease-squish-1: cubic-bezier(.5, -.1, .1, 1.5);--ease-squish-2: cubic-bezier(.5, -.3, .1, 1.5);--ease-squish-3: cubic-bezier(.5, -.5, .1, 1.5);--ease-squish-4: cubic-bezier(.5, -.7, .1, 1.5);--ease-squish-5: cubic-bezier(.5, -.9, .1, 1.5);--ease-step-1: steps(2);--ease-step-2: steps(3);--ease-step-3: steps(4);--ease-step-4: steps(7);--ease-step-5: steps(10);--ease-spring-1: linear( 0, .006, .025 2.8%, .101 6.1%, .539 18.9%, .721 25.3%, .849 31.5%, .937 38.1%, .968 41.8%, .991 45.7%, 1.006 50.1%, 1.015 55%, 1.017 63.9%, 1.001 );--ease-spring-2: linear( 0, .007, .029 2.2%, .118 4.7%, .625 14.4%, .826 19%, .902, .962, 1.008 26.1%, 1.041 28.7%, 1.064 32.1%, 1.07 36%, 1.061 40.5%, 1.015 53.4%, .999 61.6%, .995 71.2%, 1 );--ease-spring-3: linear( 0, .009, .035 2.1%, .141 4.4%, .723 12.9%, .938 16.7%, 1.017, 1.077, 1.121, 1.149 24.3%, 1.159, 1.163, 1.161, 1.154 29.9%, 1.129 32.8%, 1.051 39.6%, 1.017 43.1%, .991, .977 51%, .974 53.8%, .975 57.1%, .997 69.8%, 1.003 76.9%, 1 );--ease-spring-4: linear( 0, .009, .037 1.7%, .153 3.6%, .776 10.3%, 1.001, 1.142 16%, 1.185, 1.209 19%, 1.215 19.9% 20.8%, 1.199, 1.165 25%, 1.056 30.3%, 1.008 33%, .973, .955 39.2%, .953 41.1%, .957 43.3%, .998 53.3%, 1.009 59.1% 63.7%, .998 78.9%, 1 );--ease-spring-5: linear( 0, .01, .04 1.6%, .161 3.3%, .816 9.4%, 1.046, 1.189 14.4%, 1.231, 1.254 17%, 1.259, 1.257 18.6%, 1.236, 1.194 22.3%, 1.057 27%, .999 29.4%, .955 32.1%, .942, .935 34.9%, .933, .939 38.4%, 1 47.3%, 1.011, 1.017 52.6%, 1.016 56.4%, 1 65.2%, .996 70.2%, 1.001 87.2%, 1 )}}\n"] }]
|
|
4487
|
+
}] });
|
|
4488
|
+
/** Mounts {@link EasingTokensStylesComponent}. Call from an injection context. */
|
|
4489
|
+
const mountEasingTokens = () => injectStyleManager().mount(EasingTokensStylesComponent);
|
|
4490
|
+
|
|
4491
|
+
const ANIMATABLE_TOKEN = new InjectionToken('ANIMATABLE_DIRECTIVE_TOKEN');
|
|
4492
|
+
class AnimatableDirective {
|
|
4493
|
+
constructor() {
|
|
4494
|
+
this.parent = inject(ANIMATABLE_TOKEN, { optional: true, skipSelf: true });
|
|
4495
|
+
this.elementRef = inject(ElementRef);
|
|
4496
|
+
this.animationStartSubject$ = new Subject();
|
|
4497
|
+
this.animationEndSubject$ = new Subject();
|
|
4498
|
+
this.activeAnimationCount = 0;
|
|
4499
|
+
this.hostActiveAnimationCount$ = new BehaviorSubject(0);
|
|
4500
|
+
this.animationStart$ = this.animationStartSubject$.asObservable().pipe(debounceTime(0));
|
|
4501
|
+
this.animationEnd$ = this.animationEndSubject$.asObservable().pipe(debounceTime(0));
|
|
4502
|
+
this.totalActiveAnimationCount$ = this.parent
|
|
4503
|
+
? combineLatest([this.parent.totalActiveAnimationCount$, this.hostActiveAnimationCount$]).pipe(map(([parentCount, hostCount]) => Math.max(0, parentCount + hostCount)))
|
|
4504
|
+
: this.hostActiveAnimationCount$.pipe(map((count) => Math.max(0, count)));
|
|
4505
|
+
this.isAnimating$ = this.totalActiveAnimationCount$.pipe(map((count) => count > 0));
|
|
4506
|
+
mountEasingTokens();
|
|
4507
|
+
let didEmitStart = false;
|
|
4508
|
+
const el = this.elementRef.nativeElement;
|
|
4509
|
+
merge(merge(fromEvent(el, 'animationstart'), fromEvent(el, 'transitionrun')).pipe(filter((e) => e.target === el && !e.pseudoElement), map(() => 'start')), merge(fromEvent(el, 'animationend'), fromEvent(el, 'transitionend')).pipe(filter((e) => e.target === el && !e.pseudoElement), map(() => 'end')), merge(fromEvent(el, 'animationcancel'), fromEvent(el, 'transitioncancel')).pipe(filter((e) => e.target === el && !e.pseudoElement), map(() => 'cancel')))
|
|
4510
|
+
.pipe(tap((eventType) => {
|
|
4511
|
+
switch (eventType) {
|
|
4512
|
+
case 'start': {
|
|
4513
|
+
const startingNewBatch = this.activeAnimationCount === 0;
|
|
4514
|
+
this.updateActiveAnimationCount(1);
|
|
4515
|
+
if (startingNewBatch) {
|
|
4516
|
+
this.activeBatchTransitionId = this.pendingTransitionId;
|
|
4517
|
+
this.pendingTransitionId = undefined;
|
|
4518
|
+
}
|
|
4519
|
+
animationDebugLog(`animatable ${el.tagName.toLowerCase()}`, `start (count ${this.activeAnimationCount}, batch "${this.activeBatchTransitionId}", pending "${this.pendingTransitionId ?? 'none'}")`);
|
|
4520
|
+
if (!didEmitStart) {
|
|
4521
|
+
didEmitStart = true;
|
|
4522
|
+
this.animationStartSubject$.next();
|
|
4523
|
+
}
|
|
4524
|
+
break;
|
|
4525
|
+
}
|
|
4526
|
+
case 'end':
|
|
4527
|
+
case 'cancel': {
|
|
4528
|
+
if (this.activeAnimationCount > 0) {
|
|
4529
|
+
this.updateActiveAnimationCount(-1);
|
|
4530
|
+
animationDebugLog(`animatable ${el.tagName.toLowerCase()}`, `${eventType} (count ${this.activeAnimationCount}, batch "${this.activeBatchTransitionId}")`);
|
|
4531
|
+
if (this.activeAnimationCount === 0 && didEmitStart) {
|
|
4532
|
+
didEmitStart = false;
|
|
4533
|
+
this.animationEndSubject$.next({
|
|
4534
|
+
cancelled: eventType === 'cancel',
|
|
4535
|
+
transitionId: this.activeBatchTransitionId,
|
|
4536
|
+
});
|
|
4537
|
+
this.activeBatchTransitionId = undefined;
|
|
4538
|
+
}
|
|
4539
|
+
}
|
|
4540
|
+
else {
|
|
4541
|
+
animationDebugLog(`animatable ${el.tagName.toLowerCase()}`, `${eventType} ignored - count already 0 (start ${didEmitStart ? '' : 'not '}emitted)`);
|
|
4542
|
+
if (isDevMode()) {
|
|
4543
|
+
console.warn(`${el.tagName} received animation end/cancel event but activeAnimationCount is already 0. Start was ${didEmitStart ? '' : 'not '}emitted.`);
|
|
4544
|
+
}
|
|
4545
|
+
}
|
|
4546
|
+
break;
|
|
4547
|
+
}
|
|
4548
|
+
}
|
|
4549
|
+
}), takeUntilDestroyed())
|
|
4550
|
+
.subscribe();
|
|
4551
|
+
}
|
|
4552
|
+
/**
|
|
4553
|
+
* Labels the next batch of animations that starts on this element. Only the most recent id is
|
|
4554
|
+
* kept: a call whose animations never start must not leave an id behind for a later batch.
|
|
4555
|
+
*/
|
|
4556
|
+
setTransitionId(id) {
|
|
4557
|
+
this.pendingTransitionId = id;
|
|
4558
|
+
}
|
|
4559
|
+
/**
|
|
4560
|
+
* The animations running on this element right now, without the endless and pseudo-element ones.
|
|
4561
|
+
*
|
|
4562
|
+
* Reading this flushes pending style changes, so an animation a class change started in the same
|
|
4563
|
+
* task is already listed here. `isAnimating$` cannot answer that: it turns true only once the
|
|
4564
|
+
* browser dispatches `transitionrun`, a frame after the style change is committed.
|
|
4565
|
+
*/
|
|
4566
|
+
getRunningAnimations() {
|
|
4567
|
+
const el = this.elementRef.nativeElement;
|
|
4568
|
+
if (typeof el.getAnimations !== 'function')
|
|
4569
|
+
return [];
|
|
4570
|
+
return el.getAnimations().filter((animation) => {
|
|
4571
|
+
if (animation.playState !== 'running')
|
|
4572
|
+
return false;
|
|
4573
|
+
const effect = animation.effect;
|
|
4574
|
+
if (!effect || effect.pseudoElement)
|
|
4575
|
+
return false;
|
|
4576
|
+
// An endless animation never resolves `finished`, so awaiting one would strand the transition.
|
|
4577
|
+
return effect.getComputedTiming().iterations !== Infinity;
|
|
4578
|
+
});
|
|
4579
|
+
}
|
|
4580
|
+
updateActiveAnimationCount(delta) {
|
|
4581
|
+
const newVal = this.activeAnimationCount + delta;
|
|
4582
|
+
const clampedVal = Math.max(0, newVal);
|
|
4583
|
+
this.activeAnimationCount = clampedVal;
|
|
4584
|
+
this.hostActiveAnimationCount$.next(clampedVal);
|
|
4585
|
+
}
|
|
4586
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AnimatableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
4587
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.6", type: AnimatableDirective, isStandalone: true, selector: "[etAnimatable]", providers: [
|
|
4588
|
+
{
|
|
4589
|
+
provide: ANIMATABLE_TOKEN,
|
|
4590
|
+
useExisting: AnimatableDirective,
|
|
4591
|
+
},
|
|
4592
|
+
], exportAs: ["etAnimatable"], ngImport: i0 }); }
|
|
4593
|
+
}
|
|
4594
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AnimatableDirective, decorators: [{
|
|
4595
|
+
type: Directive,
|
|
4596
|
+
args: [{
|
|
4597
|
+
selector: '[etAnimatable]',
|
|
4598
|
+
exportAs: 'etAnimatable',
|
|
4599
|
+
providers: [
|
|
4600
|
+
{
|
|
4601
|
+
provide: ANIMATABLE_TOKEN,
|
|
4602
|
+
useExisting: AnimatableDirective,
|
|
4603
|
+
},
|
|
4604
|
+
],
|
|
4605
|
+
}]
|
|
4606
|
+
}], ctorParameters: () => [] });
|
|
4607
|
+
|
|
4506
4608
|
const nextFrame = (cb) => {
|
|
4507
4609
|
if (typeof requestAnimationFrame === 'undefined') {
|
|
4508
4610
|
return;
|
|
@@ -4818,15 +4920,15 @@ class AnimatedLifecycleDirective {
|
|
|
4818
4920
|
animationDebugLog(scope, message);
|
|
4819
4921
|
}
|
|
4820
4922
|
}
|
|
4821
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
4822
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.
|
|
4923
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AnimatedLifecycleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
4924
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.6", type: AnimatedLifecycleDirective, isStandalone: true, selector: "[etAnimatedLifecycle]", inputs: { skipNextEnter: { classPropertyName: "skipNextEnter", publicName: "skipNextEnter", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { stateChange: "stateChange", skipNextEnter: "skipNextEnterChange" }, host: { classAttribute: "et-force-invisible" }, providers: [
|
|
4823
4925
|
{
|
|
4824
4926
|
provide: ANIMATED_LIFECYCLE_TOKEN,
|
|
4825
4927
|
useExisting: AnimatedLifecycleDirective,
|
|
4826
4928
|
},
|
|
4827
4929
|
], exportAs: ["etAnimatedLifecycle"], hostDirectives: [{ directive: AnimatableDirective }], ngImport: i0 }); }
|
|
4828
4930
|
}
|
|
4829
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
4931
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AnimatedLifecycleDirective, decorators: [{
|
|
4830
4932
|
type: Directive,
|
|
4831
4933
|
args: [{
|
|
4832
4934
|
selector: '[etAnimatedLifecycle]',
|
|
@@ -4873,15 +4975,15 @@ class AnimatedIfDirective {
|
|
|
4873
4975
|
}), takeUntilDestroyed())
|
|
4874
4976
|
.subscribe();
|
|
4875
4977
|
}
|
|
4876
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
4877
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.
|
|
4978
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AnimatedIfDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
4979
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.6", type: AnimatedIfDirective, isStandalone: true, selector: "[etAnimatedIf]", inputs: { ifValue: { classPropertyName: "ifValue", publicName: "etAnimatedIf", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
|
4878
4980
|
{
|
|
4879
4981
|
provide: ANIMATED_IF_TOKEN,
|
|
4880
4982
|
useExisting: AnimatedIfDirective,
|
|
4881
4983
|
},
|
|
4882
4984
|
], ngImport: i0 }); }
|
|
4883
4985
|
}
|
|
4884
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
4986
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AnimatedIfDirective, decorators: [{
|
|
4885
4987
|
type: Directive,
|
|
4886
4988
|
args: [{
|
|
4887
4989
|
selector: '[etAnimatedIf]',
|
|
@@ -4901,14 +5003,51 @@ const createFlipAnimationGroup = (config) => {
|
|
|
4901
5003
|
const originElement = 'originElement' in el ? el.originElement : undefined;
|
|
4902
5004
|
return createFlipAnimation({ element, originElement, duration, easing, ignoreReducedMotion });
|
|
4903
5005
|
});
|
|
4904
|
-
const onStart$ =
|
|
4905
|
-
const onFinish$ =
|
|
4906
|
-
const onCancel$ =
|
|
5006
|
+
const onStart$ = new Subject();
|
|
5007
|
+
const onFinish$ = new Subject();
|
|
5008
|
+
const onCancel$ = new Subject();
|
|
5009
|
+
let startedCount = 0;
|
|
5010
|
+
let settledCount = 0;
|
|
5011
|
+
let cancelledCount = 0;
|
|
5012
|
+
const settle = (wasCancelled) => {
|
|
5013
|
+
settledCount++;
|
|
5014
|
+
if (wasCancelled) {
|
|
5015
|
+
cancelledCount++;
|
|
5016
|
+
}
|
|
5017
|
+
if (settledCount !== flips.length) {
|
|
5018
|
+
return;
|
|
5019
|
+
}
|
|
5020
|
+
if (cancelledCount) {
|
|
5021
|
+
onCancel$.next();
|
|
5022
|
+
}
|
|
5023
|
+
else {
|
|
5024
|
+
onFinish$.next();
|
|
5025
|
+
}
|
|
5026
|
+
};
|
|
5027
|
+
flips.forEach((animation) => {
|
|
5028
|
+
animation.onStart$.subscribe(() => {
|
|
5029
|
+
startedCount++;
|
|
5030
|
+
if (startedCount === flips.length) {
|
|
5031
|
+
onStart$.next();
|
|
5032
|
+
}
|
|
5033
|
+
});
|
|
5034
|
+
animation.onFinish$.subscribe(() => settle(false));
|
|
5035
|
+
animation.onCancel$.subscribe(() => settle(true));
|
|
5036
|
+
});
|
|
4907
5037
|
const updateInit = () => {
|
|
4908
5038
|
flips.forEach((animation) => animation.updateInit());
|
|
4909
5039
|
};
|
|
4910
5040
|
const play = () => {
|
|
5041
|
+
startedCount = 0;
|
|
4911
5042
|
flips.forEach((animation) => animation.play());
|
|
5043
|
+
// Reset after the loop: replaying a flip that is still running makes it report a cancel, and that
|
|
5044
|
+
// cancel settles the play being replaced, not this one.
|
|
5045
|
+
settledCount = 0;
|
|
5046
|
+
cancelledCount = 0;
|
|
5047
|
+
if (!flips.length) {
|
|
5048
|
+
onStart$.next();
|
|
5049
|
+
onFinish$.next();
|
|
5050
|
+
}
|
|
4912
5051
|
};
|
|
4913
5052
|
const cancel = () => {
|
|
4914
5053
|
flips.forEach((animation) => animation.cancel());
|
|
@@ -4917,9 +5056,9 @@ const createFlipAnimationGroup = (config) => {
|
|
|
4917
5056
|
updateInit,
|
|
4918
5057
|
play,
|
|
4919
5058
|
cancel,
|
|
4920
|
-
onStart
|
|
4921
|
-
onFinish
|
|
4922
|
-
onCancel
|
|
5059
|
+
onStart$: onStart$.asObservable(),
|
|
5060
|
+
onFinish$: onFinish$.asObservable(),
|
|
5061
|
+
onCancel$: onCancel$.asObservable(),
|
|
4923
5062
|
};
|
|
4924
5063
|
};
|
|
4925
5064
|
const createFlipAnimation = (config) => {
|
|
@@ -5531,7 +5670,10 @@ const applyLinkBinding = (binding) => {
|
|
|
5531
5670
|
const linkId = Symbol('link-tag');
|
|
5532
5671
|
let currentKey;
|
|
5533
5672
|
applyHeadBinding(binding, (config) => {
|
|
5534
|
-
|
|
5673
|
+
const key = linkStore.getLinkKey(config);
|
|
5674
|
+
if (currentKey !== undefined && currentKey !== key)
|
|
5675
|
+
linkStore.removeLink(linkId, currentKey);
|
|
5676
|
+
currentKey = key;
|
|
5535
5677
|
linkStore.addLink(linkId, config);
|
|
5536
5678
|
}, () => linkStore.removeLink(linkId, currentKey));
|
|
5537
5679
|
};
|
|
@@ -5862,7 +6004,10 @@ const applyMetaBinding = (binding) => {
|
|
|
5862
6004
|
const tagId = Symbol('meta-tag');
|
|
5863
6005
|
let currentSelector;
|
|
5864
6006
|
applyHeadBinding(binding, (config) => {
|
|
5865
|
-
|
|
6007
|
+
const selector = metaStore.getSelector(config);
|
|
6008
|
+
if (currentSelector !== undefined && currentSelector !== selector)
|
|
6009
|
+
metaStore.removeTag(tagId, currentSelector);
|
|
6010
|
+
currentSelector = selector;
|
|
5866
6011
|
metaStore.addTag(tagId, config);
|
|
5867
6012
|
}, () => metaStore.removeTag(tagId, currentSelector));
|
|
5868
6013
|
};
|
|
@@ -6090,10 +6235,10 @@ class StructuredDataComponent {
|
|
|
6090
6235
|
}, /* @ts-ignore */
|
|
6091
6236
|
...(ngDevMode ? [{ debugName: "jsonLD" }] : /* istanbul ignore next */ []));
|
|
6092
6237
|
}
|
|
6093
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
6094
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.
|
|
6238
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: StructuredDataComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6239
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.6", type: StructuredDataComponent, isStandalone: true, selector: "et-structured-data", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "innerHTML": "jsonLD()" }, styleAttribute: "display: none" }, ngImport: i0, template: '', isInline: true, encapsulation: i0.ViewEncapsulation.None }); }
|
|
6095
6240
|
}
|
|
6096
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
6241
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: StructuredDataComponent, decorators: [{
|
|
6097
6242
|
type: Component,
|
|
6098
6243
|
args: [{
|
|
6099
6244
|
selector: 'et-structured-data',
|
|
@@ -6406,7 +6551,7 @@ const isCrossOrigin = (source) => /^(https?:)?\/\//.test(source);
|
|
|
6406
6551
|
* Cross-origin scripts are left out: an analytics tag with a cache-busting query would otherwise read
|
|
6407
6552
|
* as a new deploy on every check.
|
|
6408
6553
|
*/
|
|
6409
|
-
const readBuildFingerprint = (document) => Array.from(document.
|
|
6554
|
+
const readBuildFingerprint = (document) => Array.from(document.querySelectorAll('script[src]'))
|
|
6410
6555
|
.map((script) => script.getAttribute('src') ?? '')
|
|
6411
6556
|
.filter((source) => !!source && !isCrossOrigin(source))
|
|
6412
6557
|
.sort()
|
|
@@ -6479,6 +6624,12 @@ const isStaleBuildError = (error) => {
|
|
|
6479
6624
|
};
|
|
6480
6625
|
|
|
6481
6626
|
const RELOADED_AT_KEY = 'et-app-update-reloaded-at';
|
|
6627
|
+
// A subset check, not equality: the running document also holds every script the app appended to it,
|
|
6628
|
+
// which the served entry document never contains.
|
|
6629
|
+
const isNewBuild = (running, deployed) => {
|
|
6630
|
+
const runningScripts = new Set(running.split('|'));
|
|
6631
|
+
return deployed.split('|').some((source) => !runningScripts.has(source));
|
|
6632
|
+
};
|
|
6482
6633
|
const APP_UPDATES_CONFIG_DEF = /* @__PURE__ */ defineStaticRootProvider({
|
|
6483
6634
|
entryUrl: '/',
|
|
6484
6635
|
pollInterval: 300_000,
|
|
@@ -6493,8 +6644,6 @@ const APP_UPDATES_DEF = /* @__PURE__ */ defineRootProvider(() => {
|
|
|
6493
6644
|
const coordinator = injectUnsavedChangesCoordinator();
|
|
6494
6645
|
const router = inject(Router, { optional: true });
|
|
6495
6646
|
const isBrowser = isPlatformBrowser(inject(PLATFORM_ID));
|
|
6496
|
-
// Read once, at startup: this is the build the tab is running, and it cannot change without a
|
|
6497
|
-
// reload. Reading it live would drift as the app appends scripts of its own.
|
|
6498
6647
|
const runningBuild = isBrowser ? readBuildFingerprint(document) : '';
|
|
6499
6648
|
const reloadedAt = createSessionMemory({
|
|
6500
6649
|
key: RELOADED_AT_KEY,
|
|
@@ -6507,7 +6656,7 @@ const APP_UPDATES_DEF = /* @__PURE__ */ defineRootProvider(() => {
|
|
|
6507
6656
|
...(ngDevMode ? [{ debugName: "_isRequired" }] : /* istanbul ignore next */ []));
|
|
6508
6657
|
const isAvailable = computed(() => {
|
|
6509
6658
|
const deployed = _deployedBuild();
|
|
6510
|
-
return !!runningBuild && !!deployed && deployed
|
|
6659
|
+
return !!runningBuild && !!deployed && isNewBuild(runningBuild, deployed);
|
|
6511
6660
|
}, /* @ts-ignore */
|
|
6512
6661
|
...(ngDevMode ? [{ debugName: "isAvailable" }] : /* istanbul ignore next */ []));
|
|
6513
6662
|
let lastCheckAt = 0;
|
|
@@ -6654,10 +6803,13 @@ const resolveOverlayLayer = (element) => {
|
|
|
6654
6803
|
* menu opened from the devtools panel counts as part of the panel's level too.
|
|
6655
6804
|
*/
|
|
6656
6805
|
const isOnHigherOverlayLayer = (target, layer) => {
|
|
6657
|
-
|
|
6806
|
+
const element = target;
|
|
6807
|
+
// Duck-typed rather than `instanceof Element`, which is realm-bound and would report every press
|
|
6808
|
+
// inside a same-origin pop-up as being on no layer at all.
|
|
6809
|
+
if (typeof element?.closest !== 'function') {
|
|
6658
6810
|
return false;
|
|
6659
6811
|
}
|
|
6660
|
-
return resolveOverlayLayer(
|
|
6812
|
+
return resolveOverlayLayer(element) > layer;
|
|
6661
6813
|
};
|
|
6662
6814
|
|
|
6663
6815
|
class ClickOutsideDirective {
|
|
@@ -6678,10 +6830,10 @@ class ClickOutsideDirective {
|
|
|
6678
6830
|
}), takeUntilDestroyed())
|
|
6679
6831
|
.subscribe();
|
|
6680
6832
|
}
|
|
6681
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
6682
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.
|
|
6833
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: ClickOutsideDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
6834
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.6", type: ClickOutsideDirective, isStandalone: true, selector: "[etClickOutside]", outputs: { didClickOutside: "etClickOutside" }, ngImport: i0 }); }
|
|
6683
6835
|
}
|
|
6684
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
6836
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: ClickOutsideDirective, decorators: [{
|
|
6685
6837
|
type: Directive,
|
|
6686
6838
|
args: [{
|
|
6687
6839
|
selector: '[etClickOutside]',
|
|
@@ -6703,10 +6855,10 @@ class RepeatDirective {
|
|
|
6703
6855
|
}
|
|
6704
6856
|
});
|
|
6705
6857
|
}
|
|
6706
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
6707
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.
|
|
6858
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: RepeatDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
6859
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.6", type: RepeatDirective, isStandalone: true, selector: "[etRepeat]", inputs: { repeatCount: { classPropertyName: "repeatCount", publicName: "etRepeat", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
|
|
6708
6860
|
}
|
|
6709
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
6861
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: RepeatDirective, decorators: [{
|
|
6710
6862
|
type: Directive,
|
|
6711
6863
|
args: [{
|
|
6712
6864
|
selector: '[etRepeat]',
|
|
@@ -6732,10 +6884,10 @@ class RestoreScrollDirective {
|
|
|
6732
6884
|
// on any later change detection run.
|
|
6733
6885
|
this.elementRef.nativeElement.addEventListener('click', () => (this.routerLink.state = { ...this.routerLink.state, ...routerRestoreScroll() }), { capture: true });
|
|
6734
6886
|
}
|
|
6735
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
6736
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.
|
|
6887
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: RestoreScrollDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
6888
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.6", type: RestoreScrollDirective, isStandalone: true, selector: "[routerLink][etRestoreScroll]", ngImport: i0 }); }
|
|
6737
6889
|
}
|
|
6738
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
6890
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: RestoreScrollDirective, decorators: [{
|
|
6739
6891
|
type: Directive,
|
|
6740
6892
|
args: [{
|
|
6741
6893
|
selector: '[routerLink][etRestoreScroll]',
|
|
@@ -6781,10 +6933,10 @@ class ScrollObserverDirective {
|
|
|
6781
6933
|
this._endEl.set(el);
|
|
6782
6934
|
return () => this._endEl.update((current) => (current === el ? null : current));
|
|
6783
6935
|
}
|
|
6784
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
6785
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.
|
|
6936
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: ScrollObserverDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
6937
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.6", type: ScrollObserverDirective, isStandalone: true, selector: "[etScrollObserver]", inputs: { enabled: { classPropertyName: "enabled", publicName: "enabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { enabled: "enabledChange" }, exportAs: ["etScrollObserver"], ngImport: i0 }); }
|
|
6786
6938
|
}
|
|
6787
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
6939
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: ScrollObserverDirective, decorators: [{
|
|
6788
6940
|
type: Directive,
|
|
6789
6941
|
args: [{
|
|
6790
6942
|
selector: '[etScrollObserver]',
|
|
@@ -6798,10 +6950,10 @@ class ScrollObserverEndDirective {
|
|
|
6798
6950
|
this.host = inject(ScrollObserverDirective);
|
|
6799
6951
|
inject(DestroyRef).onDestroy(this.host.registerEnd(this.elementRef));
|
|
6800
6952
|
}
|
|
6801
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
6802
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.
|
|
6953
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: ScrollObserverEndDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
6954
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.6", type: ScrollObserverEndDirective, isStandalone: true, selector: "[etScrollObserverEnd]", ngImport: i0 }); }
|
|
6803
6955
|
}
|
|
6804
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
6956
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: ScrollObserverEndDirective, decorators: [{
|
|
6805
6957
|
type: Directive,
|
|
6806
6958
|
args: [{
|
|
6807
6959
|
selector: '[etScrollObserverEnd]',
|
|
@@ -6814,10 +6966,10 @@ class ScrollObserverStartDirective {
|
|
|
6814
6966
|
this.host = inject(ScrollObserverDirective);
|
|
6815
6967
|
inject(DestroyRef).onDestroy(this.host.registerStart(this.elementRef));
|
|
6816
6968
|
}
|
|
6817
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
6818
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.
|
|
6969
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: ScrollObserverStartDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
6970
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.6", type: ScrollObserverStartDirective, isStandalone: true, selector: "[etScrollObserverStart]", ngImport: i0 }); }
|
|
6819
6971
|
}
|
|
6820
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
6972
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: ScrollObserverStartDirective, decorators: [{
|
|
6821
6973
|
type: Directive,
|
|
6822
6974
|
args: [{
|
|
6823
6975
|
selector: '[etScrollObserverStart]',
|
|
@@ -6934,7 +7086,7 @@ class DragHandleDirective {
|
|
|
6934
7086
|
...(ngDevMode ? [{ debugName: "commitThreshold" }] : /* istanbul ignore next */ []));
|
|
6935
7087
|
this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
6936
7088
|
this.gestureStart$ = new Subject();
|
|
6937
|
-
this.gesture$ = this.gestureStart$.pipe(exhaustMap((event) => dragGestureFrom(event, this.el.nativeElement, { commitThreshold: this.commitThreshold() })),
|
|
7089
|
+
this.gesture$ = this.gestureStart$.pipe(exhaustMap((event) => dragGestureFrom(event, this.el.nativeElement, { commitThreshold: this.commitThreshold() })), share(), takeUntilDestroyed());
|
|
6938
7090
|
this.dragTapped = outputFromObservable(this.gesture$.pipe(filter((e) => e.type === 'tapped'), map(() => undefined)));
|
|
6939
7091
|
this.dragStarted = outputFromObservable(this.gesture$.pipe(filter((e) => e.type === 'start'), map((e) => e.data)));
|
|
6940
7092
|
this.dragMoved = outputFromObservable(this.gesture$.pipe(filter((e) => e.type === 'move'), map((e) => e.data)));
|
|
@@ -6954,10 +7106,10 @@ class DragHandleDirective {
|
|
|
6954
7106
|
event.stopPropagation();
|
|
6955
7107
|
this.gestureStart$.next(event);
|
|
6956
7108
|
}
|
|
6957
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
6958
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.
|
|
7109
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: DragHandleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
7110
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.6", type: DragHandleDirective, isStandalone: true, selector: "[etDragHandle]", inputs: { commitThreshold: { classPropertyName: "commitThreshold", publicName: "commitThreshold", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dragTapped: "dragTapped", dragStarted: "dragStarted", dragMoved: "dragMoved", dragEnded: "dragEnded", dragCancelled: "dragCancelled" }, host: { properties: { "style.touch-action": "disabled() ? null : 'none'" } }, ngImport: i0 }); }
|
|
6959
7111
|
}
|
|
6960
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
7112
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: DragHandleDirective, decorators: [{
|
|
6961
7113
|
type: Directive,
|
|
6962
7114
|
args: [{
|
|
6963
7115
|
selector: '[etDragHandle]',
|
|
@@ -7211,7 +7363,28 @@ const FOCUSABLE_SELECTOR = /* @__PURE__ */ [
|
|
|
7211
7363
|
'[contenteditable="true"]',
|
|
7212
7364
|
].join(',');
|
|
7213
7365
|
const isHTMLElement = (value) => {
|
|
7214
|
-
|
|
7366
|
+
// `instanceof` is realm-bound: an element adopted by a same-origin pop-up (the `document` mount
|
|
7367
|
+
// option) belongs to that window's `HTMLElement`, not to this one's.
|
|
7368
|
+
const view = value?.ownerDocument?.defaultView;
|
|
7369
|
+
return view ? value instanceof view.HTMLElement : value instanceof HTMLElement;
|
|
7370
|
+
};
|
|
7371
|
+
const isElement = (value) => {
|
|
7372
|
+
const view = value?.ownerDocument?.defaultView;
|
|
7373
|
+
return view ? value instanceof view.Element : value instanceof Element;
|
|
7374
|
+
};
|
|
7375
|
+
const isHTMLOrSVGElement = (value) => {
|
|
7376
|
+
const view = value?.ownerDocument?.defaultView;
|
|
7377
|
+
return view
|
|
7378
|
+
? value instanceof view.HTMLElement || value instanceof view.SVGElement
|
|
7379
|
+
: value instanceof HTMLElement || value instanceof SVGElement;
|
|
7380
|
+
};
|
|
7381
|
+
/**
|
|
7382
|
+
* Whether the overlay rooted at `hostElement` is still the owner of DOM focus - focus is inside it, or
|
|
7383
|
+
* nothing is focused. False once the user has moved focus somewhere else.
|
|
7384
|
+
*/
|
|
7385
|
+
const ownsActiveElement = (hostElement, document) => {
|
|
7386
|
+
const activeElement = document.activeElement;
|
|
7387
|
+
return !activeElement || activeElement === document.body || hostElement.contains(activeElement);
|
|
7215
7388
|
};
|
|
7216
7389
|
const isFocusable = (element, document) => {
|
|
7217
7390
|
const view = document.defaultView;
|
|
@@ -7640,7 +7813,7 @@ const createAnchoredPositionCleanup = (strategy, paneElement, overlayRef, render
|
|
|
7640
7813
|
// or `autoCloseIfReferenceHidden` asked for it: a trigger destroyed while its overlay is open (a
|
|
7641
7814
|
// menu item that removes the button it was opened from) would otherwise fly to the corner for the
|
|
7642
7815
|
// frames the overlay takes to animate out.
|
|
7643
|
-
if (
|
|
7816
|
+
if (isElement(strategy.referenceElement) && !strategy.referenceElement.isConnected) {
|
|
7644
7817
|
handleUnusableReference();
|
|
7645
7818
|
return;
|
|
7646
7819
|
}
|
|
@@ -7653,6 +7826,8 @@ const createAnchoredPositionCleanup = (strategy, paneElement, overlayRef, render
|
|
|
7653
7826
|
? flip({
|
|
7654
7827
|
fallbackPlacements: strategy.fallbackPlacements ?? undefined,
|
|
7655
7828
|
fallbackAxisSideDirection: 'start',
|
|
7829
|
+
// shift owns cross-axis overflow; a full check here flips a pane near a side edge off its side
|
|
7830
|
+
crossAxis: strategy.shift !== false ? 'alignment' : true,
|
|
7656
7831
|
padding: viewportPadding,
|
|
7657
7832
|
boundary: strategy.boundary,
|
|
7658
7833
|
})
|
|
@@ -7961,8 +8136,9 @@ const OVERLAY_RUNTIME_DEF = /* @__PURE__ */ defineRootProvider(() => {
|
|
|
7961
8136
|
const entries = openEntriesState();
|
|
7962
8137
|
for (let index = entries.length - 1; index >= 0; index--) {
|
|
7963
8138
|
const entry = entries[index];
|
|
7964
|
-
if (entry
|
|
7965
|
-
|
|
8139
|
+
if (!entry || entry.config.passive || entry.state() === 'closing' || entry.state() === 'closed')
|
|
8140
|
+
continue;
|
|
8141
|
+
return entry === overlayRef;
|
|
7966
8142
|
}
|
|
7967
8143
|
return false;
|
|
7968
8144
|
};
|
|
@@ -7981,7 +8157,9 @@ const OVERLAY_RUNTIME_DEF = /* @__PURE__ */ defineRootProvider(() => {
|
|
|
7981
8157
|
const paneElement = renderer.createElement('div');
|
|
7982
8158
|
const backdropElement = signal(null, /* @ts-ignore */
|
|
7983
8159
|
...(ngDevMode ? [{ debugName: "backdropElement" }] : /* istanbul ignore next */ []));
|
|
7984
|
-
const previousFocusedElement =
|
|
8160
|
+
const previousFocusedElement = isHTMLOrSVGElement(targetDocument.activeElement)
|
|
8161
|
+
? targetDocument.activeElement
|
|
8162
|
+
: null;
|
|
7985
8163
|
const autoFocus = config.autoFocus ?? 'first-tabbable';
|
|
7986
8164
|
let currentHasBackdrop = config.hasBackdrop !== false;
|
|
7987
8165
|
let currentPositionStrategy = config.positionStrategy;
|
|
@@ -8055,7 +8233,7 @@ const OVERLAY_RUNTIME_DEF = /* @__PURE__ */ defineRootProvider(() => {
|
|
|
8055
8233
|
openEntriesState.update((entries) => [...entries, overlayRef]);
|
|
8056
8234
|
let positionCleanup = setupPositioning(activeConfig(), hostElement, paneElement, overlayRef, renderer);
|
|
8057
8235
|
cleanupFns.push(() => positionCleanup());
|
|
8058
|
-
const getOriginElement = () => currentPositionStrategy?.kind === 'anchored' &&
|
|
8236
|
+
const getOriginElement = () => currentPositionStrategy?.kind === 'anchored' && isElement(currentPositionStrategy.referenceElement)
|
|
8059
8237
|
? currentPositionStrategy.referenceElement
|
|
8060
8238
|
: null;
|
|
8061
8239
|
overlayRef.attachPositionUpdater((strategy) => {
|
|
@@ -8085,8 +8263,14 @@ const OVERLAY_RUNTIME_DEF = /* @__PURE__ */ defineRootProvider(() => {
|
|
|
8085
8263
|
});
|
|
8086
8264
|
const destroyMountedOverlay = (closeEvent) => {
|
|
8087
8265
|
animationDebugLog(`runtime ${config.id}`, `destroy (source "${closeEvent.source}")`);
|
|
8266
|
+
// Read before teardown: removing the host element moves focus to the body, which would make
|
|
8267
|
+
// every close look like the overlay still owned it.
|
|
8268
|
+
const overlayStillOwnsFocus = ownsActiveElement(hostElement, targetDocument);
|
|
8088
8269
|
cleanupFns.forEach((cleanup) => cleanup());
|
|
8089
|
-
|
|
8270
|
+
// On app teardown the ApplicationRef is destroyed before this runs; detaching then warns NG0406.
|
|
8271
|
+
if (!appRef.destroyed) {
|
|
8272
|
+
appRef.detachView(componentRef.hostView);
|
|
8273
|
+
}
|
|
8090
8274
|
componentRef.destroy();
|
|
8091
8275
|
// Angular does not own this injector, so nothing else tears down what the overlay's own
|
|
8092
8276
|
// providers registered on it - their `DestroyRef` hooks and effects would outlive the overlay.
|
|
@@ -8100,7 +8284,7 @@ const OVERLAY_RUNTIME_DEF = /* @__PURE__ */ defineRootProvider(() => {
|
|
|
8100
8284
|
}
|
|
8101
8285
|
openEntriesState.update((entries) => entries.filter((entry) => entry !== overlayRef));
|
|
8102
8286
|
maybeDestroyRootElements(targetDocument);
|
|
8103
|
-
if (config.restoreFocus !== false && previousFocusedElement?.isConnected) {
|
|
8287
|
+
if (config.restoreFocus !== false && overlayStillOwnsFocus && previousFocusedElement?.isConnected) {
|
|
8104
8288
|
previousFocusedElement.focus({ preventScroll: true });
|
|
8105
8289
|
}
|
|
8106
8290
|
overlayRef.finishClose(closeEvent);
|
|
@@ -8164,7 +8348,7 @@ const OVERLAY_RUNTIME_DEF = /* @__PURE__ */ defineRootProvider(() => {
|
|
|
8164
8348
|
return;
|
|
8165
8349
|
}
|
|
8166
8350
|
const target = event.target;
|
|
8167
|
-
if (!
|
|
8351
|
+
if (!isElement(target) || paneElement.contains(target)) {
|
|
8168
8352
|
return;
|
|
8169
8353
|
}
|
|
8170
8354
|
if (isOnHigherOverlayLayer(target, layer)) {
|
|
@@ -8178,7 +8362,7 @@ const OVERLAY_RUNTIME_DEF = /* @__PURE__ */ defineRootProvider(() => {
|
|
|
8178
8362
|
const originElement = getOriginElement();
|
|
8179
8363
|
if (originElement && originElement.contains(target)) {
|
|
8180
8364
|
const swallowReopenClick = (clickEvent) => {
|
|
8181
|
-
if (
|
|
8365
|
+
if (isElement(clickEvent.target) && originElement.contains(clickEvent.target)) {
|
|
8182
8366
|
clickEvent.stopImmediatePropagation();
|
|
8183
8367
|
clickEvent.preventDefault();
|
|
8184
8368
|
}
|
|
@@ -8242,10 +8426,10 @@ class NormalizeGameResultTypePipe {
|
|
|
8242
8426
|
constructor() {
|
|
8243
8427
|
this.transform = normalizeGameResultType;
|
|
8244
8428
|
}
|
|
8245
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
8246
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.
|
|
8429
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: NormalizeGameResultTypePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
8430
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.6", ngImport: i0, type: NormalizeGameResultTypePipe, isStandalone: true, name: "etNormalizeGameResultType" }); }
|
|
8247
8431
|
}
|
|
8248
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
8432
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: NormalizeGameResultTypePipe, decorators: [{
|
|
8249
8433
|
type: Pipe,
|
|
8250
8434
|
args: [{ name: 'etNormalizeGameResultType' }]
|
|
8251
8435
|
}] });
|
|
@@ -8286,10 +8470,10 @@ class NormalizeMatchStatePipe {
|
|
|
8286
8470
|
constructor() {
|
|
8287
8471
|
this.transform = normalizeMatchState;
|
|
8288
8472
|
}
|
|
8289
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
8290
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.
|
|
8473
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: NormalizeMatchStatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
8474
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.6", ngImport: i0, type: NormalizeMatchStatePipe, isStandalone: true, name: "etNormalizeMatchState" }); }
|
|
8291
8475
|
}
|
|
8292
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
8476
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: NormalizeMatchStatePipe, decorators: [{
|
|
8293
8477
|
type: Pipe,
|
|
8294
8478
|
args: [{ name: 'etNormalizeMatchState' }]
|
|
8295
8479
|
}] });
|
|
@@ -8319,10 +8503,10 @@ class NormalizeMatchScorePipe {
|
|
|
8319
8503
|
constructor() {
|
|
8320
8504
|
this.transform = normalizeMatchScore;
|
|
8321
8505
|
}
|
|
8322
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
8323
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.
|
|
8506
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: NormalizeMatchScorePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
8507
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.6", ngImport: i0, type: NormalizeMatchScorePipe, isStandalone: true, name: "etNormalizeMatchScore" }); }
|
|
8324
8508
|
}
|
|
8325
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
8509
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: NormalizeMatchScorePipe, decorators: [{
|
|
8326
8510
|
type: Pipe,
|
|
8327
8511
|
args: [{ name: 'etNormalizeMatchScore' }]
|
|
8328
8512
|
}] });
|
|
@@ -8461,10 +8645,10 @@ class NormalizeMatchParticipantsPipe {
|
|
|
8461
8645
|
constructor() {
|
|
8462
8646
|
this.transform = normalizeMatchParticipants;
|
|
8463
8647
|
}
|
|
8464
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
8465
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.
|
|
8648
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: NormalizeMatchParticipantsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
8649
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.6", ngImport: i0, type: NormalizeMatchParticipantsPipe, isStandalone: true, name: "etNormalizeMatchParticipants" }); }
|
|
8466
8650
|
}
|
|
8467
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
8651
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: NormalizeMatchParticipantsPipe, decorators: [{
|
|
8468
8652
|
type: Pipe,
|
|
8469
8653
|
args: [{ name: 'etNormalizeMatchParticipants' }]
|
|
8470
8654
|
}] });
|
|
@@ -8518,10 +8702,10 @@ class NormalizeMatchTypePipe {
|
|
|
8518
8702
|
constructor() {
|
|
8519
8703
|
this.transform = normalizeMatchType;
|
|
8520
8704
|
}
|
|
8521
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
8522
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.
|
|
8705
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: NormalizeMatchTypePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
8706
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.6", ngImport: i0, type: NormalizeMatchTypePipe, isStandalone: true, name: "etNormalizeMatchType" }); }
|
|
8523
8707
|
}
|
|
8524
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
8708
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: NormalizeMatchTypePipe, decorators: [{
|
|
8525
8709
|
type: Pipe,
|
|
8526
8710
|
args: [{ name: 'etNormalizeMatchType' }]
|
|
8527
8711
|
}] });
|
|
@@ -8569,10 +8753,10 @@ class HtmlToMarkdownPipe {
|
|
|
8569
8753
|
constructor() {
|
|
8570
8754
|
this.transform = htmlToMarkdown;
|
|
8571
8755
|
}
|
|
8572
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
8573
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.
|
|
8756
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: HtmlToMarkdownPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
8757
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.6", ngImport: i0, type: HtmlToMarkdownPipe, isStandalone: true, name: "htmlToMarkdown" }); }
|
|
8574
8758
|
}
|
|
8575
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
8759
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: HtmlToMarkdownPipe, decorators: [{
|
|
8576
8760
|
type: Pipe,
|
|
8577
8761
|
args: [{ name: 'htmlToMarkdown' }]
|
|
8578
8762
|
}] });
|
|
@@ -8581,10 +8765,10 @@ class InferMimeTypePipe {
|
|
|
8581
8765
|
constructor() {
|
|
8582
8766
|
this.transform = inferMimeType;
|
|
8583
8767
|
}
|
|
8584
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
8585
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.
|
|
8768
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: InferMimeTypePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
8769
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.6", ngImport: i0, type: InferMimeTypePipe, isStandalone: true, name: "inferMimeType" }); }
|
|
8586
8770
|
}
|
|
8587
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
8771
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: InferMimeTypePipe, decorators: [{
|
|
8588
8772
|
type: Pipe,
|
|
8589
8773
|
args: [{
|
|
8590
8774
|
name: 'inferMimeType',
|
|
@@ -8789,10 +8973,10 @@ class InitialsPipe {
|
|
|
8789
8973
|
constructor() {
|
|
8790
8974
|
this.transform = initials;
|
|
8791
8975
|
}
|
|
8792
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
8793
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.
|
|
8976
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: InitialsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
8977
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.6", ngImport: i0, type: InitialsPipe, isStandalone: true, name: "initials" }); }
|
|
8794
8978
|
}
|
|
8795
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
8979
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: InitialsPipe, decorators: [{
|
|
8796
8980
|
type: Pipe,
|
|
8797
8981
|
args: [{ name: 'initials' }]
|
|
8798
8982
|
}] });
|
|
@@ -8826,10 +9010,10 @@ class MarkdownToHtmlPipe {
|
|
|
8826
9010
|
constructor() {
|
|
8827
9011
|
this.transform = markdownToHtml;
|
|
8828
9012
|
}
|
|
8829
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
8830
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.
|
|
9013
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: MarkdownToHtmlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
9014
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.6", ngImport: i0, type: MarkdownToHtmlPipe, isStandalone: true, name: "markdownToHtml" }); }
|
|
8831
9015
|
}
|
|
8832
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
9016
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: MarkdownToHtmlPipe, decorators: [{
|
|
8833
9017
|
type: Pipe,
|
|
8834
9018
|
args: [{ name: 'markdownToHtml' }]
|
|
8835
9019
|
}] });
|
|
@@ -8838,10 +9022,10 @@ class SlugifyPipe {
|
|
|
8838
9022
|
constructor() {
|
|
8839
9023
|
this.transform = slugify;
|
|
8840
9024
|
}
|
|
8841
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
8842
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.
|
|
9025
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: SlugifyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
9026
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.6", ngImport: i0, type: SlugifyPipe, isStandalone: true, name: "slugify" }); }
|
|
8843
9027
|
}
|
|
8844
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
9028
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: SlugifyPipe, decorators: [{
|
|
8845
9029
|
type: Pipe,
|
|
8846
9030
|
args: [{ name: 'slugify' }]
|
|
8847
9031
|
}] });
|
|
@@ -8875,10 +9059,10 @@ class ToArrayPipe {
|
|
|
8875
9059
|
constructor() {
|
|
8876
9060
|
this.transform = toArray;
|
|
8877
9061
|
}
|
|
8878
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
8879
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.
|
|
9062
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: ToArrayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
9063
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.6", ngImport: i0, type: ToArrayPipe, isStandalone: true, name: "toArray" }); }
|
|
8880
9064
|
}
|
|
8881
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
9065
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: ToArrayPipe, decorators: [{
|
|
8882
9066
|
type: Pipe,
|
|
8883
9067
|
args: [{ name: 'toArray' }]
|
|
8884
9068
|
}] });
|
|
@@ -8887,292 +9071,6 @@ const toArray = (value) => {
|
|
|
8887
9071
|
};
|
|
8888
9072
|
const toArrayTrackByFn = (_, item) => item;
|
|
8889
9073
|
|
|
8890
|
-
const createPropHandlers = () => {
|
|
8891
|
-
const id = createComponentId('et-props');
|
|
8892
|
-
const elementRef = inject(ElementRef);
|
|
8893
|
-
const classes = signalHostClasses({});
|
|
8894
|
-
const attributes = signalHostAttributes({});
|
|
8895
|
-
const styles = signalHostStyles({});
|
|
8896
|
-
return {
|
|
8897
|
-
classes,
|
|
8898
|
-
attributes,
|
|
8899
|
-
styles,
|
|
8900
|
-
id,
|
|
8901
|
-
elementRef,
|
|
8902
|
-
};
|
|
8903
|
-
};
|
|
8904
|
-
|
|
8905
|
-
const createElementDictionary = () => {
|
|
8906
|
-
const dictionary = {
|
|
8907
|
-
ids: signal([]),
|
|
8908
|
-
elements: signal({}),
|
|
8909
|
-
};
|
|
8910
|
-
const firstElement = computed(() => {
|
|
8911
|
-
const id = dictionary.ids()[0];
|
|
8912
|
-
return id ? (dictionary.elements()[id] ?? null) : null;
|
|
8913
|
-
}, /* @ts-ignore */
|
|
8914
|
-
...(ngDevMode ? [{ debugName: "firstElement" }] : /* istanbul ignore next */ []));
|
|
8915
|
-
const firstId = computed(() => {
|
|
8916
|
-
const id = dictionary.ids()[0];
|
|
8917
|
-
return id ?? null;
|
|
8918
|
-
}, /* @ts-ignore */
|
|
8919
|
-
...(ngDevMode ? [{ debugName: "firstId" }] : /* istanbul ignore next */ []));
|
|
8920
|
-
const ids = computed(() => dictionary.ids(), /* @ts-ignore */
|
|
8921
|
-
...(ngDevMode ? [{ debugName: "ids" }] : /* istanbul ignore next */ []));
|
|
8922
|
-
const elements = computed(() => {
|
|
8923
|
-
const byId = dictionary.elements();
|
|
8924
|
-
return ids()
|
|
8925
|
-
.map((id) => byId[id])
|
|
8926
|
-
.filter((element) => !!element);
|
|
8927
|
-
}, /* @ts-ignore */
|
|
8928
|
-
...(ngDevMode ? [{ debugName: "elements" }] : /* istanbul ignore next */ []));
|
|
8929
|
-
const isEmpty = computed(() => dictionary.ids().length === 0, /* @ts-ignore */
|
|
8930
|
-
...(ngDevMode ? [{ debugName: "isEmpty" }] : /* istanbul ignore next */ []));
|
|
8931
|
-
const has = (id) => {
|
|
8932
|
-
return dictionary.ids().includes(id);
|
|
8933
|
-
};
|
|
8934
|
-
const push = (id, element) => {
|
|
8935
|
-
dictionary.ids.set([...dictionary.ids(), id]);
|
|
8936
|
-
dictionary.elements.set({ ...dictionary.elements(), [id]: element });
|
|
8937
|
-
};
|
|
8938
|
-
const remove = (id) => {
|
|
8939
|
-
dictionary.ids.set(dictionary.ids().filter((i) => i !== id));
|
|
8940
|
-
dictionary.elements.set(Object.fromEntries(Object.entries(dictionary.elements()).filter(([k]) => k !== id)));
|
|
8941
|
-
};
|
|
8942
|
-
const get = (id) => {
|
|
8943
|
-
return dictionary.elements()[id] ?? null;
|
|
8944
|
-
};
|
|
8945
|
-
return {
|
|
8946
|
-
ids,
|
|
8947
|
-
elements,
|
|
8948
|
-
has,
|
|
8949
|
-
get,
|
|
8950
|
-
push,
|
|
8951
|
-
remove,
|
|
8952
|
-
isEmpty,
|
|
8953
|
-
firstElement,
|
|
8954
|
-
firstId,
|
|
8955
|
-
};
|
|
8956
|
-
};
|
|
8957
|
-
|
|
8958
|
-
const bindProps = (config) => {
|
|
8959
|
-
const props = config.props;
|
|
8960
|
-
const { attachEventListeners, classBindings, attributeBindings, styleBindings, staticAttributeBindings, staticClassBindings, staticStyleBindings, attached, single, name, bindId, attachedElements, } = props;
|
|
8961
|
-
const { attributes, classes, elementRef, id, styles } = config.handlers;
|
|
8962
|
-
const el = elementRef.nativeElement;
|
|
8963
|
-
if (attached()) {
|
|
8964
|
-
if (attachedElements.has(id)) {
|
|
8965
|
-
return;
|
|
8966
|
-
}
|
|
8967
|
-
else if (single) {
|
|
8968
|
-
const firstAttachedRefElement = attachedElements.first();
|
|
8969
|
-
if (isDevMode()) {
|
|
8970
|
-
console.error(`[${name}] These props can only be attached to a single element at a time.\n\n Already attached to \n`, firstAttachedRefElement, '\n Trying to attach to \n', el);
|
|
8971
|
-
}
|
|
8972
|
-
return;
|
|
8973
|
-
}
|
|
8974
|
-
}
|
|
8975
|
-
attachedElements.push(id, el);
|
|
8976
|
-
if (bindId) {
|
|
8977
|
-
el.id = id;
|
|
8978
|
-
}
|
|
8979
|
-
if (classBindings) {
|
|
8980
|
-
classes.pushMany(classBindings);
|
|
8981
|
-
}
|
|
8982
|
-
if (attributeBindings) {
|
|
8983
|
-
attributes.pushMany(attributeBindings);
|
|
8984
|
-
}
|
|
8985
|
-
if (styleBindings) {
|
|
8986
|
-
styles.pushMany(styleBindings);
|
|
8987
|
-
}
|
|
8988
|
-
if (staticAttributeBindings) {
|
|
8989
|
-
for (const key in staticAttributeBindings) {
|
|
8990
|
-
el.setAttribute(key, `${staticAttributeBindings[key]}`);
|
|
8991
|
-
}
|
|
8992
|
-
}
|
|
8993
|
-
if (staticClassBindings) {
|
|
8994
|
-
el.classList.add(...staticClassBindings);
|
|
8995
|
-
}
|
|
8996
|
-
if (staticStyleBindings) {
|
|
8997
|
-
for (const key in staticStyleBindings) {
|
|
8998
|
-
el.style.setProperty(key, `${staticStyleBindings[key]}`);
|
|
8999
|
-
}
|
|
9000
|
-
}
|
|
9001
|
-
if (attachEventListeners) {
|
|
9002
|
-
attachEventListeners({
|
|
9003
|
-
on: el.addEventListener.bind(el),
|
|
9004
|
-
element: el,
|
|
9005
|
-
});
|
|
9006
|
-
}
|
|
9007
|
-
};
|
|
9008
|
-
const unbindProps = (config) => {
|
|
9009
|
-
const props = config.props;
|
|
9010
|
-
props.attachedElements.remove(config.handlers.id);
|
|
9011
|
-
};
|
|
9012
|
-
|
|
9013
|
-
const createProps = (props) => {
|
|
9014
|
-
const { bindId = false, single = true, classes: classBindings, attributes: attributeBindings, styles: styleBindings, staticAttributes: staticAttributeBindings = null, staticClasses: staticClassBindings = null, staticStyles: staticStyleBindings = null, listeners, name, } = props;
|
|
9015
|
-
const dictionary = createElementDictionary();
|
|
9016
|
-
const attached = computed(() => !dictionary.isEmpty(), /* @ts-ignore */
|
|
9017
|
-
...(ngDevMode ? [{ debugName: "attached" }] : /* istanbul ignore next */ []));
|
|
9018
|
-
const attachedElements = {
|
|
9019
|
-
first: dictionary.firstElement,
|
|
9020
|
-
firstId: dictionary.firstId,
|
|
9021
|
-
has: dictionary.has,
|
|
9022
|
-
push: dictionary.push,
|
|
9023
|
-
remove: dictionary.remove,
|
|
9024
|
-
get: dictionary.get,
|
|
9025
|
-
};
|
|
9026
|
-
const data = {
|
|
9027
|
-
name,
|
|
9028
|
-
single,
|
|
9029
|
-
bindId,
|
|
9030
|
-
attached,
|
|
9031
|
-
attachedElements,
|
|
9032
|
-
classBindings: classBindings ?? null,
|
|
9033
|
-
attributeBindings: attributeBindings ?? null,
|
|
9034
|
-
styleBindings: styleBindings ?? null,
|
|
9035
|
-
staticAttributeBindings,
|
|
9036
|
-
staticClassBindings,
|
|
9037
|
-
staticStyleBindings,
|
|
9038
|
-
attachEventListeners: listeners ?? null,
|
|
9039
|
-
};
|
|
9040
|
-
return data;
|
|
9041
|
-
};
|
|
9042
|
-
const createHostProps = (props) => {
|
|
9043
|
-
const data = createProps(props);
|
|
9044
|
-
const handlers = createPropHandlers();
|
|
9045
|
-
afterNextRender({
|
|
9046
|
-
write: () => {
|
|
9047
|
-
bindProps({
|
|
9048
|
-
handlers,
|
|
9049
|
-
props: data,
|
|
9050
|
-
});
|
|
9051
|
-
},
|
|
9052
|
-
});
|
|
9053
|
-
const destroyRef = inject(DestroyRef);
|
|
9054
|
-
destroyRef.onDestroy(() => {
|
|
9055
|
-
unbindProps({
|
|
9056
|
-
handlers,
|
|
9057
|
-
props: data,
|
|
9058
|
-
});
|
|
9059
|
-
});
|
|
9060
|
-
return { props: data, handlers };
|
|
9061
|
-
};
|
|
9062
|
-
|
|
9063
|
-
const createSetup = (config) => {
|
|
9064
|
-
let didCallSetup = false;
|
|
9065
|
-
afterNextRender(() => {
|
|
9066
|
-
if (!didCallSetup && isDevMode()) {
|
|
9067
|
-
console.error('The setup() function was not called. Please call it inside your constructor.', config.this);
|
|
9068
|
-
return;
|
|
9069
|
-
}
|
|
9070
|
-
});
|
|
9071
|
-
return (params) => {
|
|
9072
|
-
if (didCallSetup) {
|
|
9073
|
-
if (!isDevMode())
|
|
9074
|
-
return;
|
|
9075
|
-
console.error('The setup() function was already called. Please call it only once. \n\n', 'Instance containing the setup() call \n', config.this, '\n\n Setup was called with\n', params);
|
|
9076
|
-
return;
|
|
9077
|
-
}
|
|
9078
|
-
didCallSetup = true;
|
|
9079
|
-
config.setupFn(params);
|
|
9080
|
-
};
|
|
9081
|
-
};
|
|
9082
|
-
|
|
9083
|
-
const createDependencyStash = (stash) => {
|
|
9084
|
-
const injector = inject(Injector);
|
|
9085
|
-
const provideSignal = (data) => {
|
|
9086
|
-
runInInjectionContext(injector, () => {
|
|
9087
|
-
effect(() => {
|
|
9088
|
-
stash[data.for]?.set(data.signal());
|
|
9089
|
-
});
|
|
9090
|
-
});
|
|
9091
|
-
};
|
|
9092
|
-
const provideValue = (data) => {
|
|
9093
|
-
stash[data.for]?.set(data.value);
|
|
9094
|
-
};
|
|
9095
|
-
return {
|
|
9096
|
-
...stash,
|
|
9097
|
-
provideSignal,
|
|
9098
|
-
provideValue,
|
|
9099
|
-
};
|
|
9100
|
-
};
|
|
9101
|
-
|
|
9102
|
-
class PropsDirective {
|
|
9103
|
-
constructor() {
|
|
9104
|
-
this.destroyRef = inject(DestroyRef);
|
|
9105
|
-
this.props = input.required({ ...(ngDevMode ? { debugName: "props" } : /* istanbul ignore next */ {}), alias: 'etProps', transform: (d) => d });
|
|
9106
|
-
this.propHandlers = createPropHandlers();
|
|
9107
|
-
let boundProps = null;
|
|
9108
|
-
effect(() => {
|
|
9109
|
-
const props = this.props();
|
|
9110
|
-
untracked(() => {
|
|
9111
|
-
if (boundProps) {
|
|
9112
|
-
unbindProps({ handlers: this.propHandlers, props: boundProps });
|
|
9113
|
-
}
|
|
9114
|
-
bindProps({
|
|
9115
|
-
handlers: this.propHandlers,
|
|
9116
|
-
props,
|
|
9117
|
-
});
|
|
9118
|
-
boundProps = props;
|
|
9119
|
-
});
|
|
9120
|
-
});
|
|
9121
|
-
this.destroyRef.onDestroy(() => {
|
|
9122
|
-
if (boundProps)
|
|
9123
|
-
unbindProps({ handlers: this.propHandlers, props: boundProps });
|
|
9124
|
-
});
|
|
9125
|
-
}
|
|
9126
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: PropsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
9127
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.7", type: PropsDirective, isStandalone: true, selector: "[etProps]", inputs: { props: { classPropertyName: "props", publicName: "etProps", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 }); }
|
|
9128
|
-
}
|
|
9129
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: PropsDirective, decorators: [{
|
|
9130
|
-
type: Directive,
|
|
9131
|
-
args: [{
|
|
9132
|
-
selector: '[etProps]',
|
|
9133
|
-
}]
|
|
9134
|
-
}], ctorParameters: () => [], propDecorators: { props: [{ type: i0.Input, args: [{ isSignal: true, alias: "etProps", required: true }] }] } });
|
|
9135
|
-
|
|
9136
|
-
const templateComputed = (templateSignal) => computed(() => {
|
|
9137
|
-
const content = templateSignal();
|
|
9138
|
-
if (content === null)
|
|
9139
|
-
return null;
|
|
9140
|
-
if (typeof content === 'string') {
|
|
9141
|
-
return {
|
|
9142
|
-
type: 'string',
|
|
9143
|
-
value: content,
|
|
9144
|
-
};
|
|
9145
|
-
}
|
|
9146
|
-
if (content instanceof TemplateRef) {
|
|
9147
|
-
return {
|
|
9148
|
-
type: 'template',
|
|
9149
|
-
value: content,
|
|
9150
|
-
injector: null,
|
|
9151
|
-
};
|
|
9152
|
-
}
|
|
9153
|
-
if ('component' in content) {
|
|
9154
|
-
return {
|
|
9155
|
-
type: 'component',
|
|
9156
|
-
value: content.component,
|
|
9157
|
-
inputs: content.inputs,
|
|
9158
|
-
injector: content.injector ?? null,
|
|
9159
|
-
};
|
|
9160
|
-
}
|
|
9161
|
-
if ('template' in content) {
|
|
9162
|
-
return {
|
|
9163
|
-
type: 'template',
|
|
9164
|
-
value: content.template,
|
|
9165
|
-
context: content.context,
|
|
9166
|
-
injector: content.injector ?? null,
|
|
9167
|
-
};
|
|
9168
|
-
}
|
|
9169
|
-
return {
|
|
9170
|
-
type: 'component',
|
|
9171
|
-
value: content,
|
|
9172
|
-
injector: null,
|
|
9173
|
-
};
|
|
9174
|
-
});
|
|
9175
|
-
|
|
9176
9074
|
const EDGE_CURSORS = {
|
|
9177
9075
|
n: 'ns-resize',
|
|
9178
9076
|
s: 'ns-resize',
|
|
@@ -9206,7 +9104,7 @@ class ResizeHandlesComponent {
|
|
|
9206
9104
|
...(ngDevMode ? [{ debugName: "edges" }] : /* istanbul ignore next */ []));
|
|
9207
9105
|
this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
9208
9106
|
this.gestureStart$ = new Subject();
|
|
9209
|
-
this.gesture$ = this.gestureStart$.pipe(exhaustMap(({ event, edge }) => setupResizeObservable(event, edge, this.el.nativeElement.ownerDocument)),
|
|
9107
|
+
this.gesture$ = this.gestureStart$.pipe(exhaustMap(({ event, edge }) => setupResizeObservable(event, edge, this.el.nativeElement.ownerDocument)), share(), takeUntilDestroyed());
|
|
9210
9108
|
this.resizeStarted = outputFromObservable(this.gesture$.pipe(filter((e) => e.type === 'start'), map((e) => e.edge)));
|
|
9211
9109
|
this.resizeMoved = outputFromObservable(this.gesture$.pipe(filter((e) => e.type === 'move'), map((e) => e.data)));
|
|
9212
9110
|
this.resizeEnded = outputFromObservable(this.gesture$.pipe(filter((e) => e.type === 'end'), map(() => undefined)));
|
|
@@ -9232,8 +9130,8 @@ class ResizeHandlesComponent {
|
|
|
9232
9130
|
event.stopPropagation();
|
|
9233
9131
|
this.gestureStart$.next({ event, edge });
|
|
9234
9132
|
}
|
|
9235
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
9236
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.
|
|
9133
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: ResizeHandlesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9134
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: ResizeHandlesComponent, isStandalone: true, selector: "et-resize-handles", inputs: { edges: { classPropertyName: "edges", publicName: "edges", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { resizeStarted: "resizeStarted", resizeMoved: "resizeMoved", resizeEnded: "resizeEnded", resizeCancelled: "resizeCancelled" }, host: { properties: { "attr.inert": "disabled() ? \"\" : null", "attr.data-active-edge": "activeEdge()" }, classAttribute: "et-resize-handles" }, ngImport: i0, template: `
|
|
9237
9135
|
@for (edge of edges(); track edge) {
|
|
9238
9136
|
<div
|
|
9239
9137
|
[style.cursor]="edgeCursors[edge]"
|
|
@@ -9243,7 +9141,7 @@ class ResizeHandlesComponent {
|
|
|
9243
9141
|
}
|
|
9244
9142
|
`, isInline: true, styles: ["@layer components{@property --et-resize-handles-z-index{syntax: \"<integer>\"; inherits: true; initial-value: 10;}@property --et-resize-handles-edge-size{syntax: \"<length>\"; inherits: true; initial-value: 6px;}@property --et-resize-handles-corner-size{syntax: \"<length>\"; inherits: true; initial-value: 12px;}@property --et-resize-handles-edge-inset{syntax: \"<length>\"; inherits: true; initial-value: 8px;}@property --et-resize-handles-outset{syntax: \"<length>\"; inherits: true; initial-value: 0px;}@property --et-resize-handles-side-top{syntax: \"<length>\"; inherits: true; initial-value: 0px;}@property --et-resize-handles-side-bottom{syntax: \"<length>\"; inherits: true; initial-value: 8px;}@property --et-resize-handles-touch-edge-size{syntax: \"<length>\"; inherits: true; initial-value: 20px;}@property --et-resize-handles-touch-corner-size{syntax: \"<length>\"; inherits: true; initial-value: 28px;}.et-resize-handles{position:absolute;inset:calc(-1 * var(--et-resize-handles-outset));pointer-events:none}.et-resize-handle{--et-resize-handle-thickness: calc(var(--et-resize-handles-edge-size) + var(--et-resize-handles-outset));--et-resize-handle-corner: calc(var(--et-resize-handles-corner-size) + var(--et-resize-handles-outset));position:absolute;z-index:var(--et-resize-handles-z-index);touch-action:none;pointer-events:auto}.et-resize-handle--n{top:0;right:var(--et-resize-handles-edge-inset);left:var(--et-resize-handles-edge-inset);height:var(--et-resize-handle-thickness)}.et-resize-handle--s{right:var(--et-resize-handles-edge-inset);bottom:0;left:var(--et-resize-handles-edge-inset);height:var(--et-resize-handle-thickness)}.et-resize-handle--e,.et-resize-handle--w{top:var(--et-resize-handles-side-top);bottom:var(--et-resize-handles-side-bottom);width:var(--et-resize-handle-thickness)}.et-resize-handle--e{right:0}.et-resize-handle--w{left:0}.et-resize-handle--ne,.et-resize-handle--nw{top:0;width:var(--et-resize-handle-corner);height:var(--et-resize-handle-corner)}.et-resize-handle--ne{right:0}.et-resize-handle--nw{left:0}.et-resize-handle--se,.et-resize-handle--sw{bottom:0;width:var(--et-resize-handle-corner);height:var(--et-resize-handle-corner)}.et-resize-handle--se{right:0}.et-resize-handle--sw{left:0}@media(any-pointer:coarse){.et-resize-handle{--et-resize-handle-thickness: calc(var(--et-resize-handles-touch-edge-size) + var(--et-resize-handles-outset));--et-resize-handle-corner: calc(var(--et-resize-handles-touch-corner-size) + var(--et-resize-handles-outset))}}}\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
|
9245
9143
|
}
|
|
9246
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
9144
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: ResizeHandlesComponent, decorators: [{
|
|
9247
9145
|
type: Component,
|
|
9248
9146
|
args: [{ selector: 'et-resize-handles', template: `
|
|
9249
9147
|
@for (edge of edges(); track edge) {
|
|
@@ -9261,10 +9159,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
|
|
|
9261
9159
|
}], propDecorators: { edges: [{ type: i0.Input, args: [{ isSignal: true, alias: "edges", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], resizeStarted: [{ type: i0.Output, args: ["resizeStarted"] }], resizeMoved: [{ type: i0.Output, args: ["resizeMoved"] }], resizeEnded: [{ type: i0.Output, args: ["resizeEnded"] }], resizeCancelled: [{ type: i0.Output, args: ["resizeCancelled"] }] } });
|
|
9262
9160
|
|
|
9263
9161
|
class ColorInteractiveStylesComponent {
|
|
9264
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
9265
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.
|
|
9162
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: ColorInteractiveStylesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9163
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.6", type: ColorInteractiveStylesComponent, isStandalone: true, selector: "et-color-interactive-styles", ngImport: i0, template: '', isInline: true, styles: ["@layer components{:where(.et-color-interactive){--et-theme-color-primary-rgb: var(--et-color-primary);--et-theme-color-primary-solid: rgb(var(--et-theme-color-primary-rgb));--et-theme-color-on-primary-rgb: var(--et-color-on-primary);--et-theme-color-on-primary-solid: rgb(var(--et-theme-color-on-primary-rgb));--et-theme-color-ink-rgb: var(--et-color-primary-ink, var(--et-color-primary));--et-theme-color-ink-solid: rgb(var(--et-theme-color-ink-rgb))}@media(hover:hover){:where(.et-color-interactive:hover:not(:has(.et-color-interactive-exclude:hover))),:where(.et-color-interactive-container:hover) :where(.et-color-interactive){--et-theme-color-primary-rgb: var(--et-color-primary-hover, var(--et-color-primary));--et-theme-color-primary-solid: rgb(var(--et-theme-color-primary-rgb));--et-theme-color-on-primary-rgb: var(--et-color-on-primary-hover, var(--et-color-on-primary));--et-theme-color-on-primary-solid: rgb(var(--et-theme-color-on-primary-rgb));--et-theme-color-ink-rgb: var( --et-color-primary-ink-hover, var(--et-color-primary-ink, var(--et-color-primary-hover, var(--et-color-primary))) );--et-theme-color-ink-solid: rgb(var(--et-theme-color-ink-rgb))}}:where(.et-color-interactive:focus-visible){--et-theme-color-primary-rgb: var(--et-color-primary-focus, var(--et-color-primary-hover, var(--et-color-primary)));--et-theme-color-primary-solid: rgb(var(--et-theme-color-primary-rgb));--et-theme-color-on-primary-rgb: var( --et-color-on-primary-focus, var(--et-color-on-primary-hover, var(--et-color-on-primary)) );--et-theme-color-on-primary-solid: rgb(var(--et-theme-color-on-primary-rgb));--et-theme-color-ink-rgb: var( --et-color-primary-ink-focus, var( --et-color-primary-ink-hover, var( --et-color-primary-ink, var(--et-color-primary-focus, var(--et-color-primary-hover, var(--et-color-primary))) ) ) );--et-theme-color-ink-solid: rgb(var(--et-theme-color-ink-rgb))}:where(.et-color-interactive:active:not(:has(.et-color-interactive-exclude:hover))),:where(.et-color-interactive-container:active) :where(.et-color-interactive){--et-theme-color-primary-rgb: var( --et-color-primary-active, var(--et-color-primary-focus, var(--et-color-primary-hover, var(--et-color-primary))) );--et-theme-color-primary-solid: rgb(var(--et-theme-color-primary-rgb));--et-theme-color-on-primary-rgb: var( --et-color-on-primary-active, var(--et-color-on-primary-focus, var(--et-color-on-primary-hover, var(--et-color-on-primary))) );--et-theme-color-on-primary-solid: rgb(var(--et-theme-color-on-primary-rgb));--et-theme-color-ink-rgb: var( --et-color-primary-ink-active, var( --et-color-primary-ink-focus, var( --et-color-primary-ink-hover, var( --et-color-primary-ink, var( --et-color-primary-active, var(--et-color-primary-focus, var(--et-color-primary-hover, var(--et-color-primary))) ) ) ) ) );--et-theme-color-ink-solid: rgb(var(--et-theme-color-ink-rgb))}:where(.et-color-interactive--has-focus:has(:focus-visible)){--et-theme-color-primary-rgb: var(--et-color-primary);--et-theme-color-primary-solid: rgb(var(--et-theme-color-primary-rgb));--et-theme-color-on-primary-rgb: var(--et-color-on-primary);--et-theme-color-on-primary-solid: rgb(var(--et-theme-color-on-primary-rgb));--et-theme-color-ink-rgb: var(--et-color-primary-ink, var(--et-color-primary));--et-theme-color-ink-solid: rgb(var(--et-theme-color-ink-rgb))}:where(.et-color-interactive[aria-readonly=true]){--et-theme-color-primary-rgb: var(--et-color-primary);--et-theme-color-primary-solid: rgb(var(--et-theme-color-primary-rgb));--et-theme-color-on-primary-rgb: var(--et-color-on-primary);--et-theme-color-on-primary-solid: rgb(var(--et-theme-color-on-primary-rgb));--et-theme-color-ink-rgb: var(--et-color-primary-ink, var(--et-color-primary));--et-theme-color-ink-solid: rgb(var(--et-theme-color-ink-rgb))}:where(.et-color-interactive[disabled]),:where(.et-color-interactive[aria-disabled=true]){--et-theme-color-primary-rgb: var( --et-color-primary-disabled, var( --et-color-primary-active, var(--et-color-primary-focus, var(--et-color-primary-hover, var(--et-color-primary))) ) );--et-theme-color-primary-solid: rgb(var(--et-theme-color-primary-rgb));--et-theme-color-on-primary-rgb: var( --et-color-on-primary-disabled, var( --et-color-on-primary-active, var(--et-color-on-primary-focus, var(--et-color-on-primary-hover, var(--et-color-on-primary))) ) );--et-theme-color-on-primary-solid: rgb(var(--et-theme-color-on-primary-rgb));--et-theme-color-ink-rgb: var( --et-color-primary-ink-disabled, var( --et-color-primary-ink-active, var( --et-color-primary-ink-focus, var( --et-color-primary-ink-hover, var( --et-color-primary-ink, var( --et-color-primary-disabled, var( --et-color-primary-active, var(--et-color-primary-focus, var(--et-color-primary-hover, var(--et-color-primary))) ) ) ) ) ) ) );--et-theme-color-ink-solid: rgb(var(--et-theme-color-ink-rgb))}}\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
|
9266
9164
|
}
|
|
9267
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
9165
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: ColorInteractiveStylesComponent, decorators: [{
|
|
9268
9166
|
type: Component,
|
|
9269
9167
|
args: [{ selector: 'et-color-interactive-styles', template: '', encapsulation: ViewEncapsulation.None, styles: ["@layer components{:where(.et-color-interactive){--et-theme-color-primary-rgb: var(--et-color-primary);--et-theme-color-primary-solid: rgb(var(--et-theme-color-primary-rgb));--et-theme-color-on-primary-rgb: var(--et-color-on-primary);--et-theme-color-on-primary-solid: rgb(var(--et-theme-color-on-primary-rgb));--et-theme-color-ink-rgb: var(--et-color-primary-ink, var(--et-color-primary));--et-theme-color-ink-solid: rgb(var(--et-theme-color-ink-rgb))}@media(hover:hover){:where(.et-color-interactive:hover:not(:has(.et-color-interactive-exclude:hover))),:where(.et-color-interactive-container:hover) :where(.et-color-interactive){--et-theme-color-primary-rgb: var(--et-color-primary-hover, var(--et-color-primary));--et-theme-color-primary-solid: rgb(var(--et-theme-color-primary-rgb));--et-theme-color-on-primary-rgb: var(--et-color-on-primary-hover, var(--et-color-on-primary));--et-theme-color-on-primary-solid: rgb(var(--et-theme-color-on-primary-rgb));--et-theme-color-ink-rgb: var( --et-color-primary-ink-hover, var(--et-color-primary-ink, var(--et-color-primary-hover, var(--et-color-primary))) );--et-theme-color-ink-solid: rgb(var(--et-theme-color-ink-rgb))}}:where(.et-color-interactive:focus-visible){--et-theme-color-primary-rgb: var(--et-color-primary-focus, var(--et-color-primary-hover, var(--et-color-primary)));--et-theme-color-primary-solid: rgb(var(--et-theme-color-primary-rgb));--et-theme-color-on-primary-rgb: var( --et-color-on-primary-focus, var(--et-color-on-primary-hover, var(--et-color-on-primary)) );--et-theme-color-on-primary-solid: rgb(var(--et-theme-color-on-primary-rgb));--et-theme-color-ink-rgb: var( --et-color-primary-ink-focus, var( --et-color-primary-ink-hover, var( --et-color-primary-ink, var(--et-color-primary-focus, var(--et-color-primary-hover, var(--et-color-primary))) ) ) );--et-theme-color-ink-solid: rgb(var(--et-theme-color-ink-rgb))}:where(.et-color-interactive:active:not(:has(.et-color-interactive-exclude:hover))),:where(.et-color-interactive-container:active) :where(.et-color-interactive){--et-theme-color-primary-rgb: var( --et-color-primary-active, var(--et-color-primary-focus, var(--et-color-primary-hover, var(--et-color-primary))) );--et-theme-color-primary-solid: rgb(var(--et-theme-color-primary-rgb));--et-theme-color-on-primary-rgb: var( --et-color-on-primary-active, var(--et-color-on-primary-focus, var(--et-color-on-primary-hover, var(--et-color-on-primary))) );--et-theme-color-on-primary-solid: rgb(var(--et-theme-color-on-primary-rgb));--et-theme-color-ink-rgb: var( --et-color-primary-ink-active, var( --et-color-primary-ink-focus, var( --et-color-primary-ink-hover, var( --et-color-primary-ink, var( --et-color-primary-active, var(--et-color-primary-focus, var(--et-color-primary-hover, var(--et-color-primary))) ) ) ) ) );--et-theme-color-ink-solid: rgb(var(--et-theme-color-ink-rgb))}:where(.et-color-interactive--has-focus:has(:focus-visible)){--et-theme-color-primary-rgb: var(--et-color-primary);--et-theme-color-primary-solid: rgb(var(--et-theme-color-primary-rgb));--et-theme-color-on-primary-rgb: var(--et-color-on-primary);--et-theme-color-on-primary-solid: rgb(var(--et-theme-color-on-primary-rgb));--et-theme-color-ink-rgb: var(--et-color-primary-ink, var(--et-color-primary));--et-theme-color-ink-solid: rgb(var(--et-theme-color-ink-rgb))}:where(.et-color-interactive[aria-readonly=true]){--et-theme-color-primary-rgb: var(--et-color-primary);--et-theme-color-primary-solid: rgb(var(--et-theme-color-primary-rgb));--et-theme-color-on-primary-rgb: var(--et-color-on-primary);--et-theme-color-on-primary-solid: rgb(var(--et-theme-color-on-primary-rgb));--et-theme-color-ink-rgb: var(--et-color-primary-ink, var(--et-color-primary));--et-theme-color-ink-solid: rgb(var(--et-theme-color-ink-rgb))}:where(.et-color-interactive[disabled]),:where(.et-color-interactive[aria-disabled=true]){--et-theme-color-primary-rgb: var( --et-color-primary-disabled, var( --et-color-primary-active, var(--et-color-primary-focus, var(--et-color-primary-hover, var(--et-color-primary))) ) );--et-theme-color-primary-solid: rgb(var(--et-theme-color-primary-rgb));--et-theme-color-on-primary-rgb: var( --et-color-on-primary-disabled, var( --et-color-on-primary-active, var(--et-color-on-primary-focus, var(--et-color-on-primary-hover, var(--et-color-on-primary))) ) );--et-theme-color-on-primary-solid: rgb(var(--et-theme-color-on-primary-rgb));--et-theme-color-ink-rgb: var( --et-color-primary-ink-disabled, var( --et-color-primary-ink-active, var( --et-color-primary-ink-focus, var( --et-color-primary-ink-hover, var( --et-color-primary-ink, var( --et-color-primary-disabled, var( --et-color-primary-active, var(--et-color-primary-focus, var(--et-color-primary-hover, var(--et-color-primary))) ) ) ) ) ) ) );--et-theme-color-ink-solid: rgb(var(--et-theme-color-ink-rgb))}}\n"] }]
|
|
9270
9168
|
}] });
|
|
@@ -9285,10 +9183,10 @@ class ColorInteractiveContainerDirective {
|
|
|
9285
9183
|
this.styleManager = injectStyleManager();
|
|
9286
9184
|
this.styleManager.mount(ColorInteractiveStylesComponent);
|
|
9287
9185
|
}
|
|
9288
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
9289
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.
|
|
9186
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: ColorInteractiveContainerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
9187
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.6", type: ColorInteractiveContainerDirective, isStandalone: true, selector: "[etColorInteractiveContainer]", host: { classAttribute: "et-color-interactive-container" }, ngImport: i0 }); }
|
|
9290
9188
|
}
|
|
9291
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
9189
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: ColorInteractiveContainerDirective, decorators: [{
|
|
9292
9190
|
type: Directive,
|
|
9293
9191
|
args: [{
|
|
9294
9192
|
selector: '[etColorInteractiveContainer]',
|
|
@@ -9311,10 +9209,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
|
|
|
9311
9209
|
* used to have (see its own comment).
|
|
9312
9210
|
*/
|
|
9313
9211
|
class ColorInteractiveExcludeDirective {
|
|
9314
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
9315
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.
|
|
9212
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: ColorInteractiveExcludeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
9213
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.6", type: ColorInteractiveExcludeDirective, isStandalone: true, selector: "[etColorInteractiveExclude]", host: { classAttribute: "et-color-interactive-exclude" }, ngImport: i0 }); }
|
|
9316
9214
|
}
|
|
9317
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
9215
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: ColorInteractiveExcludeDirective, decorators: [{
|
|
9318
9216
|
type: Directive,
|
|
9319
9217
|
args: [{
|
|
9320
9218
|
selector: '[etColorInteractiveExclude]',
|
|
@@ -9348,10 +9246,10 @@ class ColorInteractiveHasFocusDirective {
|
|
|
9348
9246
|
this.styleManager = injectStyleManager();
|
|
9349
9247
|
this.styleManager.mount(ColorInteractiveStylesComponent);
|
|
9350
9248
|
}
|
|
9351
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
9352
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.
|
|
9249
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: ColorInteractiveHasFocusDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
9250
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.6", type: ColorInteractiveHasFocusDirective, isStandalone: true, selector: "[etColorInteractiveHasFocus]", host: { classAttribute: "et-color-interactive--has-focus" }, ngImport: i0 }); }
|
|
9353
9251
|
}
|
|
9354
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
9252
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: ColorInteractiveHasFocusDirective, decorators: [{
|
|
9355
9253
|
type: Directive,
|
|
9356
9254
|
args: [{
|
|
9357
9255
|
selector: '[etColorInteractiveHasFocus]',
|
|
@@ -9379,10 +9277,10 @@ class ColorInteractiveDirective {
|
|
|
9379
9277
|
this.styleManager = injectStyleManager();
|
|
9380
9278
|
this.styleManager.mount(ColorInteractiveStylesComponent);
|
|
9381
9279
|
}
|
|
9382
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
9383
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.
|
|
9280
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: ColorInteractiveDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
9281
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.6", type: ColorInteractiveDirective, isStandalone: true, selector: "[etColorInteractive]", host: { classAttribute: "et-color-interactive" }, ngImport: i0 }); }
|
|
9384
9282
|
}
|
|
9385
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
9283
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: ColorInteractiveDirective, decorators: [{
|
|
9386
9284
|
type: Directive,
|
|
9387
9285
|
args: [{
|
|
9388
9286
|
selector: '[etColorInteractive]',
|
|
@@ -9523,10 +9421,10 @@ class ProvideSurfaceDirective {
|
|
|
9523
9421
|
}
|
|
9524
9422
|
this.forcedSurface.set(FORCED_SURFACE_UNSET);
|
|
9525
9423
|
}
|
|
9526
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
9527
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.
|
|
9424
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: ProvideSurfaceDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
9425
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.6", type: ProvideSurfaceDirective, isStandalone: true, selector: "[etProvideSurface]", inputs: { surface: { classPropertyName: "surface", publicName: "etProvideSurface", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "surfaceClass()" } }, providers: [{ provide: SURFACE_PROVIDER, useExisting: ProvideSurfaceDirective }], ngImport: i0 }); }
|
|
9528
9426
|
}
|
|
9529
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
9427
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: ProvideSurfaceDirective, decorators: [{
|
|
9530
9428
|
type: Directive,
|
|
9531
9429
|
args: [{
|
|
9532
9430
|
selector: '[etProvideSurface]',
|
|
@@ -9709,10 +9607,10 @@ class AutoSurfaceDirective {
|
|
|
9709
9607
|
});
|
|
9710
9608
|
});
|
|
9711
9609
|
}
|
|
9712
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
9713
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.
|
|
9610
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AutoSurfaceDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
9611
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.6", type: AutoSurfaceDirective, isStandalone: true, selector: "[etAutoSurface]", inputs: { surfaceProvider: { classPropertyName: "surfaceProvider", publicName: "surfaceProvider", isSignal: true, isRequired: false, transformFunction: null } }, hostDirectives: [{ directive: ProvideSurfaceDirective }], ngImport: i0 }); }
|
|
9714
9612
|
}
|
|
9715
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
9613
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: AutoSurfaceDirective, decorators: [{
|
|
9716
9614
|
type: Directive,
|
|
9717
9615
|
args: [{
|
|
9718
9616
|
selector: '[etAutoSurface]',
|
|
@@ -10109,10 +10007,10 @@ class ProvideColorDirective {
|
|
|
10109
10007
|
}
|
|
10110
10008
|
this.forcedColor.set(FORCED_COLOR_UNSET);
|
|
10111
10009
|
}
|
|
10112
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
10113
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.
|
|
10010
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: ProvideColorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
10011
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.6", type: ProvideColorDirective, isStandalone: true, selector: "[etProvideColor]", inputs: { color: { classPropertyName: "color", publicName: "etProvideColor", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "themeClass()" } }, providers: [{ provide: COLOR_PROVIDER, useExisting: ProvideColorDirective }], ngImport: i0 }); }
|
|
10114
10012
|
}
|
|
10115
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
10013
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: ProvideColorDirective, decorators: [{
|
|
10116
10014
|
type: Directive,
|
|
10117
10015
|
args: [{
|
|
10118
10016
|
selector: '[etProvideColor]',
|
|
@@ -10124,10 +10022,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
|
|
|
10124
10022
|
}], propDecorators: { color: [{ type: i0.Input, args: [{ isSignal: true, alias: "etProvideColor", required: false }] }] } });
|
|
10125
10023
|
|
|
10126
10024
|
class SurfaceInteractiveStylesComponent {
|
|
10127
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
10128
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.
|
|
10025
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: SurfaceInteractiveStylesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10026
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.6", type: SurfaceInteractiveStylesComponent, isStandalone: true, selector: "et-surface-interactive-styles", ngImport: i0, template: '', isInline: true, styles: ["@layer components{:where(.et-surface-interactive){--et-surface-interaction-rgb: var(--et-surface-interaction);--et-surface-interaction-solid: rgb(var(--et-surface-interaction-rgb))}@media(hover:hover){:where(.et-surface-interactive:hover){--et-surface-interaction-rgb: var(--et-surface-interaction-hover, var(--et-surface-interaction));--et-surface-interaction-solid: rgb(var(--et-surface-interaction-rgb))}}:where(.et-surface-interactive:focus-visible){--et-surface-interaction-rgb: var( --et-surface-interaction-focus, var(--et-surface-interaction-hover, var(--et-surface-interaction)) );--et-surface-interaction-solid: rgb(var(--et-surface-interaction-rgb))}:where(.et-surface-interactive:active){--et-surface-interaction-rgb: var( --et-surface-interaction-active, var(--et-surface-interaction-focus, var(--et-surface-interaction-hover, var(--et-surface-interaction))) );--et-surface-interaction-solid: rgb(var(--et-surface-interaction-rgb))}:where(.et-surface-interactive[disabled]),:where(.et-surface-interactive[aria-disabled=true]){--et-surface-interaction-rgb: var( --et-surface-interaction-disabled, var( --et-surface-interaction-active, var(--et-surface-interaction-focus, var(--et-surface-interaction-hover, var(--et-surface-interaction))) ) );--et-surface-interaction-solid: rgb(var(--et-surface-interaction-rgb))}}\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
|
10129
10027
|
}
|
|
10130
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
10028
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: SurfaceInteractiveStylesComponent, decorators: [{
|
|
10131
10029
|
type: Component,
|
|
10132
10030
|
args: [{ selector: 'et-surface-interactive-styles', template: '', encapsulation: ViewEncapsulation.None, styles: ["@layer components{:where(.et-surface-interactive){--et-surface-interaction-rgb: var(--et-surface-interaction);--et-surface-interaction-solid: rgb(var(--et-surface-interaction-rgb))}@media(hover:hover){:where(.et-surface-interactive:hover){--et-surface-interaction-rgb: var(--et-surface-interaction-hover, var(--et-surface-interaction));--et-surface-interaction-solid: rgb(var(--et-surface-interaction-rgb))}}:where(.et-surface-interactive:focus-visible){--et-surface-interaction-rgb: var( --et-surface-interaction-focus, var(--et-surface-interaction-hover, var(--et-surface-interaction)) );--et-surface-interaction-solid: rgb(var(--et-surface-interaction-rgb))}:where(.et-surface-interactive:active){--et-surface-interaction-rgb: var( --et-surface-interaction-active, var(--et-surface-interaction-focus, var(--et-surface-interaction-hover, var(--et-surface-interaction))) );--et-surface-interaction-solid: rgb(var(--et-surface-interaction-rgb))}:where(.et-surface-interactive[disabled]),:where(.et-surface-interactive[aria-disabled=true]){--et-surface-interaction-rgb: var( --et-surface-interaction-disabled, var( --et-surface-interaction-active, var(--et-surface-interaction-focus, var(--et-surface-interaction-hover, var(--et-surface-interaction))) ) );--et-surface-interaction-solid: rgb(var(--et-surface-interaction-rgb))}}\n"] }]
|
|
10133
10031
|
}] });
|
|
@@ -10148,10 +10046,10 @@ class SurfaceInteractiveDirective {
|
|
|
10148
10046
|
this.styleManager = injectStyleManager();
|
|
10149
10047
|
this.styleManager.mount(SurfaceInteractiveStylesComponent);
|
|
10150
10048
|
}
|
|
10151
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
10152
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.
|
|
10049
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: SurfaceInteractiveDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
10050
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.6", type: SurfaceInteractiveDirective, isStandalone: true, selector: "[etSurfaceInteractive]", host: { classAttribute: "et-surface-interactive" }, ngImport: i0 }); }
|
|
10153
10051
|
}
|
|
10154
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
10052
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: SurfaceInteractiveDirective, decorators: [{
|
|
10155
10053
|
type: Directive,
|
|
10156
10054
|
args: [{
|
|
10157
10055
|
selector: '[etSurfaceInteractive]',
|
|
@@ -10163,11 +10061,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImpor
|
|
|
10163
10061
|
|
|
10164
10062
|
// Generated from package.json by tools/scripts/generate-version.js - do not edit.
|
|
10165
10063
|
/** The version of `@ethlete/core` this build was cut from. */
|
|
10166
|
-
const CORE_VERSION = '5.0.0-next.
|
|
10064
|
+
const CORE_VERSION = '5.0.0-next.58';
|
|
10167
10065
|
|
|
10168
10066
|
/**
|
|
10169
10067
|
* Generated bundle index. Do not edit.
|
|
10170
10068
|
*/
|
|
10171
10069
|
|
|
10172
|
-
export { ANIMATABLE_TOKEN, ANIMATED_IF_TOKEN, ANIMATED_LIFECYCLE_TOKEN, ANIMATION_DEBUG_STORAGE_KEY, AT_LEAST_ONE_REQUIRED, AnimatableDirective, AnimatedIfDirective, AnimatedLifecycleDirective, AutoSurfaceDirective, BOUNDARY_ELEMENT_TOKEN, BREAKPOINT_INSTANCE_TOKEN, BREAKPOINT_ORDER, COLOR_PALETTE, COLOR_PROVIDER, CORE_VERSION, ClickOutsideDirective, ColorInteractiveContainerDirective, ColorInteractiveDirective, ColorInteractiveExcludeDirective, ColorInteractiveHasFocusDirective, DEFAULT_MULTI_INSTANCE_RELS, DEFAULT_MULTI_INSTANCE_TAGS, DEFAULT_OVERLAY_LAYER, DEFAULT_VIEWPORT_CONFIG, DISABLE_LOGGER_PARAM, DragHandleDirective, ET_DISABLE_SCROLL_TOP, ET_DISABLE_SCROLL_TOP_AS_RETURN_ROUTE, ET_DISABLE_SCROLL_TOP_ON_PATH_PARAM_CHANGE, ET_PROPERTY_REMOVED, ET_RESTORE_SCROLL, EthleteValidators, FOCUSABLE_SELECTOR, FOCUS_VISIBLE_TRACKER_TOKEN, HtmlToMarkdownPipe, IS_ARRAY_NOT_EMPTY, IS_EMAIL, InferMimeTypePipe, InitialsPipe, IsArrayNotEmpty, IsEmail, jsonLd as JsonLD, KeyPressManager, MUST_MATCH, MarkdownToHtmlPipe, MatchStateType, MustMatch, NOTIFICATION_CLICK_MESSAGE_TYPE, NormalizeGameResultTypePipe, NormalizeMatchParticipantsPipe, NormalizeMatchScorePipe, NormalizeMatchStatePipe, NormalizeMatchTypePipe, OVERLAY_LAYER_ATTRIBUTE,
|
|
10070
|
+
export { ANIMATABLE_TOKEN, ANIMATED_IF_TOKEN, ANIMATED_LIFECYCLE_TOKEN, ANIMATION_DEBUG_STORAGE_KEY, AT_LEAST_ONE_REQUIRED, AnimatableDirective, AnimatedIfDirective, AnimatedLifecycleDirective, AutoSurfaceDirective, BOUNDARY_ELEMENT_TOKEN, BREAKPOINT_INSTANCE_TOKEN, BREAKPOINT_ORDER, COLOR_PALETTE, COLOR_PROVIDER, CORE_VERSION, ClickOutsideDirective, ColorInteractiveContainerDirective, ColorInteractiveDirective, ColorInteractiveExcludeDirective, ColorInteractiveHasFocusDirective, DEFAULT_MULTI_INSTANCE_RELS, DEFAULT_MULTI_INSTANCE_TAGS, DEFAULT_OVERLAY_LAYER, DEFAULT_VIEWPORT_CONFIG, DISABLE_LOGGER_PARAM, DragHandleDirective, ET_DISABLE_SCROLL_TOP, ET_DISABLE_SCROLL_TOP_AS_RETURN_ROUTE, ET_DISABLE_SCROLL_TOP_ON_PATH_PARAM_CHANGE, ET_PROPERTY_REMOVED, ET_RESTORE_SCROLL, EasingTokensStylesComponent, EthleteValidators, FOCUSABLE_SELECTOR, FOCUS_VISIBLE_TRACKER_TOKEN, HtmlToMarkdownPipe, IS_ARRAY_NOT_EMPTY, IS_EMAIL, InferMimeTypePipe, InitialsPipe, IsArrayNotEmpty, IsEmail, jsonLd as JsonLD, KeyPressManager, MUST_MATCH, MarkdownToHtmlPipe, MatchStateType, MustMatch, NOTIFICATION_CLICK_MESSAGE_TYPE, NormalizeGameResultTypePipe, NormalizeMatchParticipantsPipe, NormalizeMatchScorePipe, NormalizeMatchStatePipe, NormalizeMatchTypePipe, OVERLAY_LAYER_ATTRIBUTE, ProvideColorDirective, ProvideSurfaceDirective, RUNTIME_ERROR_NO_DATA, RepeatDirective, ResizeHandlesComponent, RestoreScrollDirective, RuntimeError, SURFACE_COLOR, SURFACE_PROVIDER, SURFACE_TYPE, SWIPE_VELOCITY_WINDOW_MS, ScrollObserverDirective, ScrollObserverEndDirective, ScrollObserverStartDirective, SlugifyPipe, StructuredDataComponent, SurfaceInteractiveDirective, ToArrayPipe, TypedQueryList, UNSAVED_CHANGES_TITLE_MARKER, ValidateAtLeastOneRequired, anchoredOverlayPosition, animationDebugLog, applyAlternateBinding, applyAlternateLanguagesBindings, applyArticleBindings, applyAuthorBinding, applyCanonicalBinding, applyCenteredPosition, applyDescriptionBinding, applyFaviconOverlay, applyGlobalPosition, applyHeadBinding, applyHeadTitleBinding, applyHeadTitleMarker, applyHostListener, applyHostListeners, applyInitialFocus, applyKeywordsBinding, applyLinkBinding, applyMetaBinding, applyNextBinding, applyOgBinding, applyOpenGraphBindings, applyPrevBinding, applyResourceHintsBindings, applyRobotsBinding, applySocialMediaBindings, applyStructuredDataBinding, applyTwitterCardBindings, boolBreakpointTransform, boundingClientRectToElementRect, breakpointTransformBase, buildElementSignal, buildSignalEffects, canUseSessionMemory, clamp, clone, cloneFormGroup, computedTillFalsy, computedTillTruthy, controlValueSignal, controlValueSignalWithPrevious, copyToClipboard, createAnchoredPositionCleanup, createArrayPropertyBinding, createAutoSessionMemoryKey, createCanAnimateSignal, createComponentId, createCssColorThemeName, createCssSurfaceName, createDestroy, createDocumentElementSignal, createElementDimensions, createEmptyElementSignal, createFlipAnimation, createFlipAnimationGroup, createIsRenderedSignal, createLogger, createObjectUrlHandle, createOverlayRuntimeRef, createPropertyBinding, createRootThemeCss, createRoute, createRouterState, createRxHostListener, createSessionMemory, createSwatchCss, createSwipeTracker, createTailwindColorThemes, createTailwindCssVar, createTailwindRgbVar, createThemeStyle, createUnsavedChangesGuard, createUnsavedChangesTabLock, createUnsavedChangesTracker, createUserConsentProvider, deferredSignal, defineLabels, defineProvider, defineRootProvider, defineStaticProvider, defineStaticRootProvider, deleteCookie, dragGestureFrom, easeElastic, easeIn, easeInOut, easeLinear, easeOut, easeOutBack, easeOutBackStrong, elementCanScroll, enableAnchoredOverlayPositionExtras, equal, fetchDeployedBuildFingerprint, firstElementSignal, focusElement, forceReflow, formatRuntimeError, fromNextFrame, getCookie, getDomain, getElementScrollCoordinates, getFocusableElements, getFormGroupValue, getGroupMatchPoints, getGroupMatchScore, getHeadingElement, getKnockoutMatchScore, getMatchScoreSubLine, getObjectProperty, getScrollContainerTarget, getScrollItemTarget, getScrollSnapTarget, hasCookie, holdScrollRestoration, htmlToMarkdown, inferMimeType, initials, injectAngularRootElement, injectAnimatedBlockSize, injectAppUpdates, injectAppUpdatesConfig, injectBoundaryElement, injectBreakpointInput, injectBreakpointIsMatched, injectBreakpointObserver, injectCanHover, injectColorPalette, injectColorThemes, injectColorThemesPrefix, injectCurrentBreakpoint, injectDefaultColorTheme, injectDefaultSurfaceTheme, injectDeviceInputType, injectDisplayOrientation, injectErrorTheme, injectFaviconStore, injectFileDownload, injectFocusVisibleTracker, injectFragment, injectHasPrecisionInput, injectHasTouchInput, injectHostElement, injectIs2Xl, injectIsDocumentVisible, injectIsLandscape, injectIsLg, injectIsMd, injectIsPortrait, injectIsRouterInitialized, injectIsSm, injectIsXl, injectIsXs, injectLinkStore, injectLinkStoreConfig, injectLocale, injectMediaQueryIsMatched, injectMetaConfig, injectMetaStore, injectNotifications, injectObserveBreakpoint, injectObserveMediaQuery, injectOverlayRuntime, injectParentSurface, injectPathParam, injectPathParamChanges, injectPathParams, injectPrefersReducedMotion, injectQueryParam, injectQueryParamChanges, injectQueryParams, injectRenderer, injectRoute, injectRouteData, injectRouteDataItem, injectRouteTitle, injectRouterEvent, injectRouterNavigationState, injectRouterState, injectScrollbarDimensions, injectStructuredDataConfig, injectStructuredDataStore, injectStyleManager, injectSuccessTheme, injectSurfaceContextTracker, injectSurfaceThemes, injectSurfaceThemesPrefix, injectSurfaceType, injectTemplateRef, injectTitleConfig, injectTitleStore, injectUnsavedChangesCoordinator, injectUrl, injectViewportConfig, injectViewportDimensions, injectViewportSize, injectWarningTheme, isAnimationDebugEnabled, isArray, isElement, isElementSignal, isElementVisible, isFocusable, isGroupMatch, isHTMLElement, isHTMLOrSVGElement, isKnockoutMatch, isObject, isOnHigherOverlayLayer, isStaleBuildError, markdownToHtml, matchesReducedMotion, maybeSignalValue, memoizeSignal, mountEasingTokens, nextFrame, normalizeGameResultType, normalizeMatchParticipant, normalizeMatchParticipants, normalizeMatchScore, normalizeMatchState, normalizeMatchType, normalizeUnsavedChangesSource, numberBreakpointTransform, onOverlayViewportInsetsChange, overlayViewportInsets, overlayViewportInsetsFor, ownsActiveElement, previousSignalValue, provideAppUpdates, provideAppUpdatesConfig, provideAppUpdatesInstance, provideBoundaryElement, provideBreakpointInstance, provideBreakpointObserver, provideColorPalette, provideColorThemes, provideColorThemesWithTailwind4, provideFaviconStore, provideFocusVisibleTracker, provideLinkStore, provideLinkStoreConfig, provideLocale, provideMetaConfig, provideMetaStore, provideNotifications, provideOverlayRuntime, provideRenderer, provideStructuredDataConfig, provideStructuredDataStore, provideStyleManager, provideSurfaceContextTracker, provideSurfaceThemesWithTailwind4, provideTitleConfig, provideTitleStore, provideUnsavedChangesCoordinator, provideViewportConfig, randomId, readBuildFingerprint, readFromClipboard, registerAnchoredPositionMiddlewareExtras, registerAnchoredPositionSetup, reserveOverlayViewportSpace, resetPositioningStyles, resolveAppRootColorProvider, resolveOverlayLayer, resolveSurfaceByElevation, round, routerDisableScrollTop, routerRestoreScroll, scrollToElement, setBackdropStyles, setBaseElementStyles, setCookie, setInputSignal, setupFocusTrap, setupPositioning, setupScrollRestoration, signalAnimatedNumber, signalAttributes, signalClasses, signalCountdown, signalDeferredLoading, signalElementChildren, signalElementDimensions, signalElementIntersection, signalElementLastScrollDirection, signalElementMutations, signalElementScrollState, signalHostAttributes, signalHostClasses, signalHostElementDimensions, signalHostElementIntersection, signalHostElementLastScrollDirection, signalHostElementMutations, signalHostElementScrollState, signalHostStyles, signalIsRendered, signalStyles, slugify, suppressTextSelection, switchQueryListChanges, syncSignal, toArray, toArrayTrackByFn, toInjectFn, toProvideFn, toStringBinding, toToken, transformOrReturn, typedBreakpointTransform, useCursorDragScroll, writeScrollbarSizeToCssVariables, writeViewportSizeToCssVariables, ɵProvideColorThemes, ɵProvideColorThemesPrefix, ɵProvideSurfaceThemes, ɵProvideSurfaceThemesPrefix };
|
|
10173
10071
|
//# sourceMappingURL=ethlete-core.mjs.map
|