@ethlete/core 5.0.0-next.15 → 5.0.0-next.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, ElementRef, Directive, assertInInjectionContext, DestroyRef, TemplateRef, QueryList, NgZone, signal, isSignal, untracked, DOCUMENT, linkedSignal, isDevMode, computed, afterNextRender, effect, Injector, booleanAttribute, numberAttribute, runInInjectionContext, RendererStyleFlags2, PLATFORM_ID, ApplicationRef, RendererFactory2, EnvironmentInjector, createComponent, model, ViewContainerRef, input, output, inputBinding, Pipe, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { InjectionToken, inject, ElementRef, Directive, assertInInjectionContext, DestroyRef, TemplateRef, QueryList, NgZone, signal, isSignal, untracked, DOCUMENT, linkedSignal, isDevMode, computed, afterNextRender, effect, EnvironmentInjector, runInInjectionContext, Injector, booleanAttribute, numberAttribute, RendererStyleFlags2, PLATFORM_ID, ApplicationRef, RendererFactory2, createComponent, model, ViewContainerRef, input, output, inputBinding, outputBinding, Pipe, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
3
3
  import { takeUntilDestroyed, toSignal, toObservable, outputFromObservable } from '@angular/core/rxjs-interop';
4
4
  import { Subject, BehaviorSubject, debounceTime, combineLatest, map, merge, fromEvent, filter, tap, switchMap, startWith, of, timer, takeUntil, pairwise, distinctUntilChanged, take, Observable, concatMap, EMPTY, concat, defer, exhaustMap, share } from 'rxjs';
5
5
  import { FormGroup, FormArray, FormControl } from '@angular/forms';
@@ -13,6 +13,30 @@ import { ComponentPortal } from '@angular/cdk/portal';
13
13
  import { autoUpdate, computePosition, offset, flip, size, shift, limitShift, arrow, hide } from '@floating-ui/dom';
14
14
  import { Title, Meta, DomSanitizer } from '@angular/platform-browser';
15
15
 
16
+ const ANIMATION_DEBUG_STORAGE_KEY = 'et-overlay-debug';
17
+ let cachedEnabled = null;
18
+ /**
19
+ * Debug logging for overlay and animation lifecycle internals.
20
+ * Enable via `localStorage.setItem('et-overlay-debug', 'true')` and reload.
21
+ */
22
+ const isAnimationDebugEnabled = () => {
23
+ if (cachedEnabled === null) {
24
+ try {
25
+ cachedEnabled = globalThis.localStorage?.getItem(ANIMATION_DEBUG_STORAGE_KEY) === 'true';
26
+ }
27
+ catch {
28
+ cachedEnabled = false;
29
+ }
30
+ }
31
+ return cachedEnabled;
32
+ };
33
+ const animationDebugLog = (scope, ...args) => {
34
+ if (!isAnimationDebugEnabled())
35
+ return;
36
+ const timestamp = (globalThis.performance?.now() ?? 0).toFixed(1);
37
+ console.log(`\x1B[36m[et-overlay-debug ${timestamp}ms | ${scope}]\x1B[m`, ...args);
38
+ };
39
+
16
40
  const ANIMATABLE_TOKEN = new InjectionToken('ANIMATABLE_DIRECTIVE_TOKEN');
17
41
  class AnimatableDirective {
18
42
  constructor() {
@@ -31,7 +55,7 @@ class AnimatableDirective {
31
55
  this.isAnimating$ = this.totalActiveAnimationCount$.pipe(map((count) => count > 0));
32
56
  let didEmitStart = false;
33
57
  const el = this.elementRef.nativeElement;
34
- merge(merge(fromEvent(el, 'animationstart'), fromEvent(el, 'transitionstart')).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')))
58
+ 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')))
35
59
  .pipe(tap((eventType) => {
36
60
  switch (eventType) {
37
61
  case 'start': {
@@ -40,6 +64,7 @@ class AnimatableDirective {
40
64
  if (startingNewBatch) {
41
65
  this.activeBatchTransitionId = this.pendingTransitionIds.shift();
42
66
  }
67
+ animationDebugLog(`animatable ${el.tagName.toLowerCase()}`, `start (count ${this.activeAnimationCount}, batch "${this.activeBatchTransitionId}", pending [${this.pendingTransitionIds.join(', ')}])`);
43
68
  if (!didEmitStart) {
44
69
  didEmitStart = true;
45
70
  this.animationStartSubject$.next();
@@ -50,6 +75,7 @@ class AnimatableDirective {
50
75
  case 'cancel': {
51
76
  if (this.activeAnimationCount > 0) {
52
77
  this.updateActiveAnimationCount(-1);
78
+ animationDebugLog(`animatable ${el.tagName.toLowerCase()}`, `${eventType} (count ${this.activeAnimationCount}, batch "${this.activeBatchTransitionId}")`);
53
79
  if (this.activeAnimationCount === 0 && didEmitStart) {
54
80
  didEmitStart = false;
55
81
  this.animationEndSubject$.next({
@@ -60,6 +86,7 @@ class AnimatableDirective {
60
86
  }
61
87
  }
62
88
  else {
89
+ animationDebugLog(`animatable ${el.tagName.toLowerCase()}`, `${eventType} ignored — count already 0 (start ${didEmitStart ? '' : 'not '}emitted)`);
63
90
  console.warn(`${el.tagName} received animation end/cancel event but activeAnimationCount is already 0. Start was ${didEmitStart ? '' : 'not '}emitted.`);
64
91
  }
65
92
  break;
@@ -77,15 +104,15 @@ class AnimatableDirective {
77
104
  this.activeAnimationCount = clampedVal;
78
105
  this.hostActiveAnimationCount$.next(clampedVal);
79
106
  }
80
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: AnimatableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
81
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.13", type: AnimatableDirective, isStandalone: true, selector: "[etAnimatable]", providers: [
107
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: AnimatableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
108
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: AnimatableDirective, isStandalone: true, selector: "[etAnimatable]", providers: [
82
109
  {
83
110
  provide: ANIMATABLE_TOKEN,
84
111
  useExisting: AnimatableDirective,
85
112
  },
86
113
  ], exportAs: ["etAnimatable"], ngImport: i0 }); }
87
114
  }
88
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: AnimatableDirective, decorators: [{
115
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: AnimatableDirective, decorators: [{
89
116
  type: Directive,
90
117
  args: [{
91
118
  selector: '[etAnimatable]',
@@ -623,7 +650,8 @@ const signalAnimatedNumber = (source, options = {}) => {
623
650
  const easing = options.easing ?? easeOut;
624
651
  const round = options.round ?? ((v) => Math.round(v));
625
652
  const initialValue = options.initialValue ?? 0;
626
- const animatedValue = signal(initialValue, ...(ngDevMode ? [{ debugName: "animatedValue" }] : /* istanbul ignore next */ []));
653
+ const animatedValue = signal(initialValue, /* @ts-ignore */
654
+ ...(ngDevMode ? [{ debugName: "animatedValue" }] : /* istanbul ignore next */ []));
627
655
  let rafId = null;
628
656
  let currentAnimatedValue = initialValue;
629
657
  const cancelAnimation = () => {
@@ -901,12 +929,14 @@ const firstElementSignal = (el) => computed(() => {
901
929
  });
902
930
 
903
931
  const signalIsRendered = () => {
904
- const isRendered = signal(false, ...(ngDevMode ? [{ debugName: "isRendered" }] : /* istanbul ignore next */ []));
932
+ const isRendered = signal(false, /* @ts-ignore */
933
+ ...(ngDevMode ? [{ debugName: "isRendered" }] : /* istanbul ignore next */ []));
905
934
  afterNextRender(() => isRendered.set(true));
906
935
  return isRendered.asReadonly();
907
936
  };
908
937
  const createIsRenderedSignal = () => {
909
- const value = signal(false, ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
938
+ const value = signal(false, /* @ts-ignore */
939
+ ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
910
940
  nextFrame(() => {
911
941
  if (!value()) {
912
942
  console.error('Render signal was not set to true. This can cause unexpected behavior. Make sure to .bind() the render signal at the end of the constructor.');
@@ -918,7 +948,8 @@ const createIsRenderedSignal = () => {
918
948
  };
919
949
  };
920
950
  const createCanAnimateSignal = () => {
921
- const value = signal(false, ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
951
+ const value = signal(false, /* @ts-ignore */
952
+ ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
922
953
  nextFrame(() => {
923
954
  value.set(true);
924
955
  });
@@ -962,7 +993,8 @@ const signalElementDimensions = (el) => {
962
993
  const zone = inject(NgZone);
963
994
  const isRendered = signalIsRendered();
964
995
  const initialValue = () => createElementDimensions(firstEl().currentElement);
965
- const elementDimensionsSignal = signal(initialValue(), ...(ngDevMode ? [{ debugName: "elementDimensionsSignal" }] : /* istanbul ignore next */ []));
996
+ const elementDimensionsSignal = signal(initialValue(), /* @ts-ignore */
997
+ ...(ngDevMode ? [{ debugName: "elementDimensionsSignal" }] : /* istanbul ignore next */ []));
966
998
  const observer = new ResizeObserver((e) => {
967
999
  if (!isRendered())
968
1000
  return;
@@ -1007,7 +1039,8 @@ const injectViewportSize = () => {
1007
1039
  const win = document.defaultView;
1008
1040
  return { width: win?.innerWidth ?? 0, height: win?.innerHeight ?? 0 };
1009
1041
  };
1010
- const size = signal(getSize(), ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
1042
+ const size = signal(getSize(), /* @ts-ignore */
1043
+ ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
1011
1044
  const onResize = () => zone.run(() => size.set(getSize()));
1012
1045
  const vv = document.defaultView?.visualViewport;
1013
1046
  if (vv) {
@@ -1050,7 +1083,8 @@ const syncSignal = (from, to, options) => {
1050
1083
  untracked(() => {
1051
1084
  to.set(formVal);
1052
1085
  });
1053
- }, ...(ngDevMode ? [{ debugName: "ref" }] : /* istanbul ignore next */ []));
1086
+ }, /* @ts-ignore */
1087
+ ...(ngDevMode ? [{ debugName: "ref" }] : /* istanbul ignore next */ []));
1054
1088
  return ref;
1055
1089
  };
1056
1090
  const maybeSignalValue = (value) => {
@@ -1064,14 +1098,16 @@ const maybeSignalValue = (value) => {
1064
1098
  * All subsequent changes inside the computation will be ignored.
1065
1099
  */
1066
1100
  const computedTillTruthy = (source) => {
1067
- const value = signal(null, ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
1101
+ const value = signal(null, /* @ts-ignore */
1102
+ ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
1068
1103
  const ref = effect(() => {
1069
1104
  const val = source();
1070
1105
  if (val) {
1071
1106
  value.set(val);
1072
1107
  ref.destroy();
1073
1108
  }
1074
- }, ...(ngDevMode ? [{ debugName: "ref" }] : /* istanbul ignore next */ []));
1109
+ }, /* @ts-ignore */
1110
+ ...(ngDevMode ? [{ debugName: "ref" }] : /* istanbul ignore next */ []));
1075
1111
  return value.asReadonly();
1076
1112
  };
1077
1113
  /**
@@ -1079,14 +1115,16 @@ const computedTillTruthy = (source) => {
1079
1115
  * All subsequent changes inside the computation will be ignored.
1080
1116
  */
1081
1117
  const computedTillFalsy = (source) => {
1082
- const value = signal(null, ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
1118
+ const value = signal(null, /* @ts-ignore */
1119
+ ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
1083
1120
  const ref = effect(() => {
1084
1121
  const val = source();
1085
1122
  if (!val) {
1086
1123
  value.set(val);
1087
1124
  ref.destroy();
1088
1125
  }
1089
- }, ...(ngDevMode ? [{ debugName: "ref" }] : /* istanbul ignore next */ []));
1126
+ }, /* @ts-ignore */
1127
+ ...(ngDevMode ? [{ debugName: "ref" }] : /* istanbul ignore next */ []));
1090
1128
  return value.asReadonly();
1091
1129
  };
1092
1130
  /**
@@ -1094,17 +1132,22 @@ const computedTillFalsy = (source) => {
1094
1132
  * During that time, the signal will be set to `null`.
1095
1133
  */
1096
1134
  const deferredSignal = (valueFn) => {
1097
- const valueSignal = signal(null, ...(ngDevMode ? [{ debugName: "valueSignal" }] : /* istanbul ignore next */ []));
1135
+ const valueSignal = signal(null, /* @ts-ignore */
1136
+ ...(ngDevMode ? [{ debugName: "valueSignal" }] : /* istanbul ignore next */ []));
1098
1137
  afterNextRender(() => {
1099
1138
  valueSignal.set(valueFn());
1100
1139
  });
1101
1140
  return valueSignal;
1102
1141
  };
1103
1142
  const memoizeSignal = (factory) => {
1104
- let cached = null;
1143
+ const cache = new WeakMap();
1105
1144
  return () => {
1106
- if (!cached)
1107
- cached = factory();
1145
+ const envInjector = inject(EnvironmentInjector);
1146
+ let cached = cache.get(envInjector);
1147
+ if (!cached) {
1148
+ cached = runInInjectionContext(envInjector, factory);
1149
+ cache.set(envInjector, cached);
1150
+ }
1108
1151
  return cached;
1109
1152
  };
1110
1153
  };
@@ -1229,7 +1272,8 @@ const resolveFromMap = (map, bp, defaultValue) => {
1229
1272
  const breakpointTransformBase = (coerce) => {
1230
1273
  const currentBp = injectCurrentBreakpoint();
1231
1274
  const injector = inject(Injector);
1232
- const raw = signal(undefined, ...(ngDevMode ? [{ debugName: "raw" }] : /* istanbul ignore next */ []));
1275
+ const raw = signal(undefined, /* @ts-ignore */
1276
+ ...(ngDevMode ? [{ debugName: "raw" }] : /* istanbul ignore next */ []));
1233
1277
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
1234
1278
  let capturedDefault = undefined;
1235
1279
  let initialized = false;
@@ -1366,7 +1410,8 @@ const signalElementMutations = (el, options) => {
1366
1410
  const firstEl = firstElementSignal(elements);
1367
1411
  const zone = inject(NgZone);
1368
1412
  const isRendered = signalIsRendered();
1369
- const elementMutationsSignal = signal(null, ...(ngDevMode ? [{ debugName: "elementMutationsSignal" }] : /* istanbul ignore next */ []));
1413
+ const elementMutationsSignal = signal(null, /* @ts-ignore */
1414
+ ...(ngDevMode ? [{ debugName: "elementMutationsSignal" }] : /* istanbul ignore next */ []));
1370
1415
  const observer = new MutationObserver((e) => {
1371
1416
  if (!isRendered())
1372
1417
  return;
@@ -1867,8 +1912,10 @@ const signalElementIntersection = (el, options) => {
1867
1912
  const zone = inject(NgZone);
1868
1913
  const isRendered = signalIsRendered();
1869
1914
  const isEnabled = options?.enabled ?? signal(true);
1870
- const elementIntersectionSignal = signal([], ...(ngDevMode ? [{ debugName: "elementIntersectionSignal" }] : /* istanbul ignore next */ []));
1871
- const observer = signal(null, ...(ngDevMode ? [{ debugName: "observer" }] : /* istanbul ignore next */ []));
1915
+ const elementIntersectionSignal = signal([], /* @ts-ignore */
1916
+ ...(ngDevMode ? [{ debugName: "elementIntersectionSignal" }] : /* istanbul ignore next */ []));
1917
+ const observer = signal(null, /* @ts-ignore */
1918
+ ...(ngDevMode ? [{ debugName: "observer" }] : /* istanbul ignore next */ []));
1872
1919
  const currentlyObservedElements = new Set();
1873
1920
  const updateIntersections = (entries) => {
1874
1921
  let currentValues = [...elementIntersectionSignal()];
@@ -1984,7 +2031,8 @@ const signalElementLastScrollDirection = (el) => {
1984
2031
  const elements = buildElementSignal(el);
1985
2032
  const element = firstElementSignal(elements);
1986
2033
  const destroyRef = inject(DestroyRef);
1987
- const lastScrollDirection = signal(null, ...(ngDevMode ? [{ debugName: "lastScrollDirection" }] : /* istanbul ignore next */ []));
2034
+ const lastScrollDirection = signal(null, /* @ts-ignore */
2035
+ ...(ngDevMode ? [{ debugName: "lastScrollDirection" }] : /* istanbul ignore next */ []));
1988
2036
  let lastScrollTop = 0;
1989
2037
  let lastScrollLeft = 0;
1990
2038
  toObservable(element)
@@ -2045,7 +2093,8 @@ const signalElementScrollState = (el, options) => {
2045
2093
  element.scrollTop = scrollPosition.top;
2046
2094
  ref.destroy();
2047
2095
  }
2048
- }, ...(ngDevMode ? [{ debugName: "ref" }] : /* istanbul ignore next */ []));
2096
+ }, /* @ts-ignore */
2097
+ ...(ngDevMode ? [{ debugName: "ref" }] : /* istanbul ignore next */ []));
2049
2098
  }
2050
2099
  const notScrollable = (dimensions) => ({
2051
2100
  canScroll: false,
@@ -2142,11 +2191,16 @@ const useCursorDragScroll = (el, options) => {
2142
2191
  const { enabled = signal(true), allowedDirection = 'both' } = options ?? {};
2143
2192
  const scrollState = signalElementScrollState(elements);
2144
2193
  const renderer = injectRenderer();
2145
- const isDragging = signal(false, ...(ngDevMode ? [{ debugName: "isDragging" }] : /* istanbul ignore next */ []));
2146
- const isInitDragging = signal(false, ...(ngDevMode ? [{ debugName: "isInitDragging" }] : /* istanbul ignore next */ []));
2147
- const initialDragPosition = signal({ x: 0, y: 0 }, ...(ngDevMode ? [{ debugName: "initialDragPosition" }] : /* istanbul ignore next */ []));
2148
- const initialScrollPosition = signal({ x: 0, y: 0 }, ...(ngDevMode ? [{ debugName: "initialScrollPosition" }] : /* istanbul ignore next */ []));
2149
- const dragAmount = signal({ x: 0, y: 0 }, ...(ngDevMode ? [{ debugName: "dragAmount" }] : /* istanbul ignore next */ []));
2194
+ const isDragging = signal(false, /* @ts-ignore */
2195
+ ...(ngDevMode ? [{ debugName: "isDragging" }] : /* istanbul ignore next */ []));
2196
+ const isInitDragging = signal(false, /* @ts-ignore */
2197
+ ...(ngDevMode ? [{ debugName: "isInitDragging" }] : /* istanbul ignore next */ []));
2198
+ const initialDragPosition = signal({ x: 0, y: 0 }, /* @ts-ignore */
2199
+ ...(ngDevMode ? [{ debugName: "initialDragPosition" }] : /* istanbul ignore next */ []));
2200
+ const initialScrollPosition = signal({ x: 0, y: 0 }, /* @ts-ignore */
2201
+ ...(ngDevMode ? [{ debugName: "initialScrollPosition" }] : /* istanbul ignore next */ []));
2202
+ const dragAmount = signal({ x: 0, y: 0 }, /* @ts-ignore */
2203
+ ...(ngDevMode ? [{ debugName: "dragAmount" }] : /* istanbul ignore next */ []));
2150
2204
  const document = inject(DOCUMENT);
2151
2205
  const canScroll = computed(() => {
2152
2206
  const currentScrollState = scrollState();
@@ -2159,7 +2213,8 @@ const useCursorDragScroll = (el, options) => {
2159
2213
  case 'vertical':
2160
2214
  return currentScrollState.canScrollVertically;
2161
2215
  }
2162
- }, ...(ngDevMode ? [{ debugName: "canScroll" }] : /* istanbul ignore next */ []));
2216
+ }, /* @ts-ignore */
2217
+ ...(ngDevMode ? [{ debugName: "canScroll" }] : /* istanbul ignore next */ []));
2163
2218
  // Cleanup if the element the cursor drag scroll is bound to gets changed
2164
2219
  effect(() => {
2165
2220
  const { previousElement } = element();
@@ -2396,31 +2451,36 @@ const injectRouterState = memoizeSignal(() => {
2396
2451
  /** Inject a signal containing the current route fragment (the part after the # inside the url if present) */
2397
2452
  const injectFragment = (config) => {
2398
2453
  const routerState = injectRouterState();
2399
- const fragment = computed(() => routerState().fragment, ...(ngDevMode ? [{ debugName: "fragment" }] : /* istanbul ignore next */ []));
2454
+ const fragment = computed(() => routerState().fragment, /* @ts-ignore */
2455
+ ...(ngDevMode ? [{ debugName: "fragment" }] : /* istanbul ignore next */ []));
2400
2456
  return transformOrReturn(fragment, config);
2401
2457
  };
2402
2458
  /** Inject all currently available query parameters as a signal */
2403
2459
  const injectQueryParams = () => {
2404
2460
  const routerState = injectRouterState();
2405
- const queryParams = computed(() => routerState().queryParams, ...(ngDevMode ? [{ debugName: "queryParams" }] : /* istanbul ignore next */ []));
2461
+ const queryParams = computed(() => routerState().queryParams, /* @ts-ignore */
2462
+ ...(ngDevMode ? [{ debugName: "queryParams" }] : /* istanbul ignore next */ []));
2406
2463
  return queryParams;
2407
2464
  };
2408
2465
  /** Inject all currently available route data as a signal */
2409
2466
  const injectRouteData = () => {
2410
2467
  const routerState = injectRouterState();
2411
- const data = computed(() => routerState().data, ...(ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []));
2468
+ const data = computed(() => routerState().data, /* @ts-ignore */
2469
+ ...(ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []));
2412
2470
  return data;
2413
2471
  };
2414
2472
  /** Inject the current route title as a signal */
2415
2473
  const injectRouteTitle = (config) => {
2416
2474
  const routerState = injectRouterState();
2417
- const title = computed(() => routerState().title, ...(ngDevMode ? [{ debugName: "title" }] : /* istanbul ignore next */ []));
2475
+ const title = computed(() => routerState().title, /* @ts-ignore */
2476
+ ...(ngDevMode ? [{ debugName: "title" }] : /* istanbul ignore next */ []));
2418
2477
  return transformOrReturn(title, config);
2419
2478
  };
2420
2479
  /** Inject all currently available path parameters as a signal */
2421
2480
  const injectPathParams = () => {
2422
2481
  const routerState = injectRouterState();
2423
- const pathParams = computed(() => routerState().pathParams, ...(ngDevMode ? [{ debugName: "pathParams" }] : /* istanbul ignore next */ []));
2482
+ const pathParams = computed(() => routerState().pathParams, /* @ts-ignore */
2483
+ ...(ngDevMode ? [{ debugName: "pathParams" }] : /* istanbul ignore next */ []));
2424
2484
  return pathParams;
2425
2485
  };
2426
2486
  const getQueryParamFromUrl = (key) => {
@@ -2916,9 +2976,76 @@ const createSessionMemory = ({ key, parse, serialize }) => {
2916
2976
  };
2917
2977
  };
2918
2978
 
2979
+ const getClientXY = (event) => {
2980
+ if (event.type[0] === 't') {
2981
+ const touch = event.targetTouches[0] ?? event.changedTouches[0];
2982
+ return touch ? { clientX: touch.clientX, clientY: touch.clientY } : { clientX: 0, clientY: 0 };
2983
+ }
2984
+ return { clientX: event.clientX, clientY: event.clientY };
2985
+ };
2986
+ const createSwipeTracker = (startEvent) => {
2987
+ const { clientX: originClientX, clientY: originClientY } = getClientXY(startEvent);
2988
+ const startTime = Date.now();
2989
+ let movementX = 0;
2990
+ let movementY = 0;
2991
+ let isSwiping = false;
2992
+ let isScrolling = false;
2993
+ const update = (event) => {
2994
+ const { clientX, clientY } = getClientXY(event);
2995
+ movementX = clientX - originClientX;
2996
+ movementY = clientY - originClientY;
2997
+ const positiveMovementX = Math.abs(movementX);
2998
+ const positiveMovementY = Math.abs(movementY);
2999
+ if (!isSwiping && !isScrolling) {
3000
+ if (positiveMovementY > positiveMovementX) {
3001
+ isScrolling = true;
3002
+ }
3003
+ else {
3004
+ isSwiping = true;
3005
+ }
3006
+ }
3007
+ return {
3008
+ originClientX,
3009
+ originClientY,
3010
+ timestamp: startTime,
3011
+ movementX,
3012
+ movementY,
3013
+ positiveMovementX,
3014
+ positiveMovementY,
3015
+ isScrolling,
3016
+ isSwiping,
3017
+ };
3018
+ };
3019
+ const end = () => {
3020
+ const swipeTime = Math.max(1, Date.now() - startTime);
3021
+ const positiveMovementX = Math.abs(movementX);
3022
+ const positiveMovementY = Math.abs(movementY);
3023
+ const pixelPerSecondX = (movementX / swipeTime) * 1000;
3024
+ const pixelPerSecondY = (movementY / swipeTime) * 1000;
3025
+ return {
3026
+ movementX,
3027
+ movementY,
3028
+ positiveMovementX,
3029
+ positiveMovementY,
3030
+ pixelPerSecondX,
3031
+ pixelPerSecondY,
3032
+ positivePixelPerSecondX: Math.abs(pixelPerSecondX),
3033
+ positivePixelPerSecondY: Math.abs(pixelPerSecondY),
3034
+ originClientX,
3035
+ originClientY,
3036
+ };
3037
+ };
3038
+ const cancel = () => {
3039
+ movementX = 0;
3040
+ movementY = 0;
3041
+ };
3042
+ return { update, end, cancel };
3043
+ };
3044
+
2919
3045
  const [, injectAngularRootElement] = createRootProvider(() => {
2920
3046
  const appRef = inject(ApplicationRef);
2921
- const rootElement = signal(null, ...(ngDevMode ? [{ debugName: "rootElement" }] : /* istanbul ignore next */ []));
3047
+ const rootElement = signal(null, /* @ts-ignore */
3048
+ ...(ngDevMode ? [{ debugName: "rootElement" }] : /* istanbul ignore next */ []));
2922
3049
  const poll = () => {
2923
3050
  const appComponents = appRef.components;
2924
3051
  if (appComponents.length > 0) {
@@ -2935,8 +3062,10 @@ const [, injectAngularRootElement] = createRootProvider(() => {
2935
3062
  const [provideBoundaryElement, injectBoundaryElement, BOUNDARY_ELEMENT_TOKEN] = createProvider(() => {
2936
3063
  const hostElement = inject(ElementRef, { optional: true });
2937
3064
  const document = inject(DOCUMENT);
2938
- const override = signal(null, ...(ngDevMode ? [{ debugName: "override" }] : /* istanbul ignore next */ []));
2939
- const value = computed(() => override() ?? hostElement?.nativeElement ?? document.documentElement, ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
3065
+ const override = signal(null, /* @ts-ignore */
3066
+ ...(ngDevMode ? [{ debugName: "override" }] : /* istanbul ignore next */ []));
3067
+ const value = computed(() => override() ?? hostElement?.nativeElement ?? document.documentElement, /* @ts-ignore */
3068
+ ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
2940
3069
  return {
2941
3070
  value,
2942
3071
  override,
@@ -2946,7 +3075,8 @@ const [provideBoundaryElement, injectBoundaryElement, BOUNDARY_ELEMENT_TOKEN] =
2946
3075
  const [provideFocusVisibleTracker, injectFocusVisibleTracker, FOCUS_VISIBLE_TRACKER_TOKEN] = createRootProvider(() => {
2947
3076
  const document = inject(DOCUMENT);
2948
3077
  const destroyRef = inject(DestroyRef);
2949
- const isFocusVisible = signal(false, ...(ngDevMode ? [{ debugName: "isFocusVisible" }] : /* istanbul ignore next */ []));
3078
+ const isFocusVisible = signal(false, /* @ts-ignore */
3079
+ ...(ngDevMode ? [{ debugName: "isFocusVisible" }] : /* istanbul ignore next */ []));
2950
3080
  let hadKeyboardEvent = false;
2951
3081
  const onKeyDown = (e) => {
2952
3082
  if (e.key === 'Tab' || e.key === 'Shift' || e.key === 'Meta' || e.key === 'Alt' || e.key === 'Control') {
@@ -2986,7 +3116,8 @@ const [provideFocusVisibleTracker, injectFocusVisibleTracker, FOCUS_VISIBLE_TRAC
2986
3116
  }, { name: 'Focus Visible Tracker' });
2987
3117
 
2988
3118
  const [provideLocale, injectLocale] = createRootProvider(() => {
2989
- const currentLocale = signal('en', ...(ngDevMode ? [{ debugName: "currentLocale" }] : /* istanbul ignore next */ []));
3119
+ const currentLocale = signal('en', /* @ts-ignore */
3120
+ ...(ngDevMode ? [{ debugName: "currentLocale" }] : /* istanbul ignore next */ []));
2990
3121
  return {
2991
3122
  currentLocale,
2992
3123
  };
@@ -3292,7 +3423,8 @@ class AnimatedLifecycleDirective {
3292
3423
  this.currentFrameId = 0;
3293
3424
  this.state$ = new BehaviorSubject('init');
3294
3425
  this.stateChange = outputFromObservable(this.state$);
3295
- this.skipNextEnter = model(false, ...(ngDevMode ? [{ debugName: "skipNextEnter" }] : /* istanbul ignore next */ []));
3426
+ this.skipNextEnter = model(false, /* @ts-ignore */
3427
+ ...(ngDevMode ? [{ debugName: "skipNextEnter" }] : /* istanbul ignore next */ []));
3296
3428
  this.state$
3297
3429
  .pipe(tap((state) => {
3298
3430
  if (state !== 'init') {
@@ -3322,6 +3454,7 @@ class AnimatedLifecycleDirective {
3322
3454
  if (currentState === 'entering')
3323
3455
  return;
3324
3456
  if ((currentState === 'init' && !this.isConstructed) || this.skipNextEnter()) {
3457
+ this.debugLog('enter: instant (not constructed or skipNextEnter)', { currentState });
3325
3458
  this.updateState('entered');
3326
3459
  this.skipNextEnter.set(false);
3327
3460
  this.addClass(ANIMATION_CLASSES.enterDone);
@@ -3337,6 +3470,10 @@ class AnimatedLifecycleDirective {
3337
3470
  this.animatable.setTransitionId(transitionId);
3338
3471
  const skipAnimation = this.forcedAtFrameId !== null && this.forcedAtFrameId === this.currentFrameId;
3339
3472
  this.forcedAtFrameId = null;
3473
+ this.debugLog(`enter: ${skipAnimation ? 'skip (forced this frame)' : isInterrupting ? 'interrupting leave' : 'normal'}`, {
3474
+ currentState,
3475
+ transitionId,
3476
+ });
3340
3477
  if (skipAnimation) {
3341
3478
  this.removeClasses(ANIMATION_CLASSES.leaveFrom, ANIMATION_CLASSES.leaveActive, ANIMATION_CLASSES.leaveTo, ANIMATION_CLASSES.leaveInterrupt);
3342
3479
  this.updateState('entered');
@@ -3387,6 +3524,7 @@ class AnimatedLifecycleDirective {
3387
3524
  if (currentState === 'leaving')
3388
3525
  return;
3389
3526
  if (currentState === 'init') {
3527
+ this.debugLog('leave: instant (state is init, enter never ran)');
3390
3528
  this.updateState('left');
3391
3529
  this.addClass(ANIMATION_CLASSES.leaveDone);
3392
3530
  this.forcedAtFrameId = null;
@@ -3401,6 +3539,10 @@ class AnimatedLifecycleDirective {
3401
3539
  this.animatable.setTransitionId(transitionId);
3402
3540
  const skipAnimation = this.forcedAtFrameId !== null && this.forcedAtFrameId === this.currentFrameId;
3403
3541
  this.forcedAtFrameId = null;
3542
+ this.debugLog(`leave: ${skipAnimation ? 'skip (forced this frame)' : isInterrupting ? 'interrupting enter' : 'normal'}`, {
3543
+ currentState,
3544
+ transitionId,
3545
+ });
3404
3546
  if (skipAnimation) {
3405
3547
  this.removeClasses(ANIMATION_CLASSES.enterFrom, ANIMATION_CLASSES.enterActive, ANIMATION_CLASSES.enterTo, ANIMATION_CLASSES.enterInterrupt);
3406
3548
  this.updateState('left');
@@ -3481,21 +3623,33 @@ class AnimatedLifecycleDirective {
3481
3623
  addClasses.forEach((cls) => this.addClass(cls));
3482
3624
  fromNextFrame()
3483
3625
  .pipe(switchMap(() => this.animatable.isAnimating$), take(1), switchMap((isAnimating) => {
3626
+ if (isAnimating) {
3627
+ return of(true);
3628
+ }
3629
+ this.debugLog(`${transitionId}: interrupt found no running transition, re-checking next frame`);
3630
+ return fromNextFrame().pipe(switchMap(() => this.animatable.isAnimating$), take(1));
3631
+ }), take(1), switchMap((isAnimating) => {
3484
3632
  if (!isAnimating && this.state$.value === expectedState) {
3633
+ this.debugLog(`${transitionId}: interrupt completes INSTANTLY (no transition running after class swap)`);
3485
3634
  return of({ cancelled: false, transitionId });
3486
3635
  }
3636
+ this.debugLog(`${transitionId}: interrupt waiting for animation end`, { isAnimating });
3487
3637
  return this.animatable.animationEnd$.pipe(switchMap((e) => {
3488
3638
  if (e.transitionId === transitionId) {
3489
3639
  return of(e);
3490
3640
  }
3491
3641
  return this.animatable.isAnimating$.pipe(take(1), switchMap((stillAnimating) => {
3492
3642
  if (!stillAnimating && this.state$.value === expectedState) {
3643
+ this.debugLog(`${transitionId}: interrupt completes via foreign animation end (batch id was "${e.transitionId}")`, { stillAnimating });
3493
3644
  return of({ cancelled: false, transitionId });
3494
3645
  }
3495
3646
  return of(null);
3496
3647
  }));
3497
3648
  }), filter((e) => e !== null && e.transitionId === transitionId));
3498
- }), filter((e) => this.state$.value === expectedState && !e.cancelled), tap(() => onComplete()), take(1), takeUntil(cancelSignal), takeUntilDestroyed(this.destroyRef))
3649
+ }), filter((e) => this.state$.value === expectedState && !e.cancelled), tap(() => {
3650
+ this.debugLog(`${transitionId}: interrupt complete`);
3651
+ onComplete();
3652
+ }), take(1), takeUntil(cancelSignal), takeUntilDestroyed(this.destroyRef))
3499
3653
  .subscribe();
3500
3654
  }
3501
3655
  addClass(className) {
@@ -3508,17 +3662,28 @@ class AnimatedLifecycleDirective {
3508
3662
  this.renderer.removeClass(this.element, ...classNames);
3509
3663
  }
3510
3664
  updateState(newState) {
3665
+ this.debugLog(`state: ${this.state$.value} → ${newState}`);
3511
3666
  this.state$.next(newState);
3512
3667
  }
3513
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: AnimatedLifecycleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
3514
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.13", 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: [
3668
+ debugLog(message, data) {
3669
+ const el = this.element;
3670
+ const scope = `lifecycle ${el.tagName.toLowerCase()}${el.classList.contains('et-overlay') ? '.et-overlay' : ''}`;
3671
+ if (data) {
3672
+ animationDebugLog(scope, message, data);
3673
+ }
3674
+ else {
3675
+ animationDebugLog(scope, message);
3676
+ }
3677
+ }
3678
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: AnimatedLifecycleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
3679
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.5", 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: [
3515
3680
  {
3516
3681
  provide: ANIMATED_LIFECYCLE_TOKEN,
3517
3682
  useExisting: AnimatedLifecycleDirective,
3518
3683
  },
3519
3684
  ], exportAs: ["etAnimatedLifecycle"], hostDirectives: [{ directive: AnimatableDirective }], ngImport: i0 }); }
3520
3685
  }
3521
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: AnimatedLifecycleDirective, decorators: [{
3686
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: AnimatedLifecycleDirective, decorators: [{
3522
3687
  type: Directive,
3523
3688
  args: [{
3524
3689
  selector: '[etAnimatedLifecycle]',
@@ -3565,15 +3730,15 @@ class AnimatedIfDirective {
3565
3730
  }), takeUntilDestroyed())
3566
3731
  .subscribe();
3567
3732
  }
3568
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: AnimatedIfDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
3569
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.13", type: AnimatedIfDirective, isStandalone: true, selector: "[etAnimatedIf]", inputs: { ifValue: { classPropertyName: "ifValue", publicName: "etAnimatedIf", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
3733
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: AnimatedIfDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
3734
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.5", type: AnimatedIfDirective, isStandalone: true, selector: "[etAnimatedIf]", inputs: { ifValue: { classPropertyName: "ifValue", publicName: "etAnimatedIf", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
3570
3735
  {
3571
3736
  provide: ANIMATED_IF_TOKEN,
3572
3737
  useExisting: AnimatedIfDirective,
3573
3738
  },
3574
3739
  ], ngImport: i0 }); }
3575
3740
  }
3576
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: AnimatedIfDirective, decorators: [{
3741
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: AnimatedIfDirective, decorators: [{
3577
3742
  type: Directive,
3578
3743
  args: [{
3579
3744
  selector: '[etAnimatedIf]',
@@ -3597,16 +3762,22 @@ class AnimatedOverlayDirective {
3597
3762
  this.destroyRef = inject(DestroyRef);
3598
3763
  this.floatingElCleanupFn = null;
3599
3764
  this.unmountSubscription = null;
3600
- this.placement = input('bottom', ...(ngDevMode ? [{ debugName: "placement" }] : /* istanbul ignore next */ []));
3601
- this.fallbackPlacements = input(...(ngDevMode ? [undefined, { debugName: "fallbackPlacements" }] : /* istanbul ignore next */ []));
3602
- this.offset = input(null, ...(ngDevMode ? [{ debugName: "offset" }] : /* istanbul ignore next */ []));
3603
- this.arrowPadding = input(4, ...(ngDevMode ? [{ debugName: "arrowPadding" }] : /* istanbul ignore next */ []));
3604
- this.viewportPadding = input(8, ...(ngDevMode ? [{ debugName: "viewportPadding" }] : /* istanbul ignore next */ []));
3765
+ this.placement = input('bottom', /* @ts-ignore */
3766
+ ...(ngDevMode ? [{ debugName: "placement" }] : /* istanbul ignore next */ []));
3767
+ this.fallbackPlacements = input(/* @ts-ignore */
3768
+ ...(ngDevMode ? [undefined, { debugName: "fallbackPlacements" }] : /* istanbul ignore next */ []));
3769
+ this.offset = input(null, /* @ts-ignore */
3770
+ ...(ngDevMode ? [{ debugName: "offset" }] : /* istanbul ignore next */ []));
3771
+ this.arrowPadding = input(4, /* @ts-ignore */
3772
+ ...(ngDevMode ? [{ debugName: "arrowPadding" }] : /* istanbul ignore next */ []));
3773
+ this.viewportPadding = input(8, /* @ts-ignore */
3774
+ ...(ngDevMode ? [{ debugName: "viewportPadding" }] : /* istanbul ignore next */ []));
3605
3775
  this.autoResize = input(false, { ...(ngDevMode ? { debugName: "autoResize" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
3606
3776
  this.shift = input(true, { ...(ngDevMode ? { debugName: "shift" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
3607
3777
  this.autoHide = input(false, { ...(ngDevMode ? { debugName: "autoHide" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
3608
3778
  this.autoCloseIfReferenceHidden = input(false, { ...(ngDevMode ? { debugName: "autoCloseIfReferenceHidden" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
3609
- this.referenceElement = input(this.elementRef.nativeElement, ...(ngDevMode ? [{ debugName: "referenceElement" }] : /* istanbul ignore next */ []));
3779
+ this.referenceElement = input(this.elementRef.nativeElement, /* @ts-ignore */
3780
+ ...(ngDevMode ? [{ debugName: "referenceElement" }] : /* istanbul ignore next */ []));
3610
3781
  this.mirrorWidth = input(false, { ...(ngDevMode ? { debugName: "mirrorWidth" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
3611
3782
  this.portal = null;
3612
3783
  this.overlayRef = null;
@@ -3615,14 +3786,22 @@ class AnimatedOverlayDirective {
3615
3786
  this.afterOpened$ = new Subject();
3616
3787
  this.beforeClosed$ = new Subject();
3617
3788
  this.afterClosed$ = new Subject();
3618
- this.state = signal('init', ...(ngDevMode ? [{ debugName: "state" }] : /* istanbul ignore next */ []));
3619
- this.isMounted = computed(() => this.state() === 'mounted', ...(ngDevMode ? [{ debugName: "isMounted" }] : /* istanbul ignore next */ []));
3620
- this.isMounting = computed(() => this.state() === 'mounting', ...(ngDevMode ? [{ debugName: "isMounting" }] : /* istanbul ignore next */ []));
3621
- this.isUnmounted = computed(() => this.state() === 'unmounted', ...(ngDevMode ? [{ debugName: "isUnmounted" }] : /* istanbul ignore next */ []));
3622
- this.isUnmounting = computed(() => this.state() === 'unmounting', ...(ngDevMode ? [{ debugName: "isUnmounting" }] : /* istanbul ignore next */ []));
3623
- this.canMount = computed(() => !this.isMounted() && !this.isMounting(), ...(ngDevMode ? [{ debugName: "canMount" }] : /* istanbul ignore next */ []));
3624
- this.canUnmount = computed(() => (this.isMounted() || this.isMounting()) && !this.isUnmounting(), ...(ngDevMode ? [{ debugName: "canUnmount" }] : /* istanbul ignore next */ []));
3625
- this.isHidden = signal(false, ...(ngDevMode ? [{ debugName: "isHidden" }] : /* istanbul ignore next */ []));
3789
+ this.state = signal('init', /* @ts-ignore */
3790
+ ...(ngDevMode ? [{ debugName: "state" }] : /* istanbul ignore next */ []));
3791
+ this.isMounted = computed(() => this.state() === 'mounted', /* @ts-ignore */
3792
+ ...(ngDevMode ? [{ debugName: "isMounted" }] : /* istanbul ignore next */ []));
3793
+ this.isMounting = computed(() => this.state() === 'mounting', /* @ts-ignore */
3794
+ ...(ngDevMode ? [{ debugName: "isMounting" }] : /* istanbul ignore next */ []));
3795
+ this.isUnmounted = computed(() => this.state() === 'unmounted', /* @ts-ignore */
3796
+ ...(ngDevMode ? [{ debugName: "isUnmounted" }] : /* istanbul ignore next */ []));
3797
+ this.isUnmounting = computed(() => this.state() === 'unmounting', /* @ts-ignore */
3798
+ ...(ngDevMode ? [{ debugName: "isUnmounting" }] : /* istanbul ignore next */ []));
3799
+ this.canMount = computed(() => !this.isMounted() && !this.isMounting(), /* @ts-ignore */
3800
+ ...(ngDevMode ? [{ debugName: "canMount" }] : /* istanbul ignore next */ []));
3801
+ this.canUnmount = computed(() => (this.isMounted() || this.isMounting()) && !this.isUnmounting(), /* @ts-ignore */
3802
+ ...(ngDevMode ? [{ debugName: "canUnmount" }] : /* istanbul ignore next */ []));
3803
+ this.isHidden = signal(false, /* @ts-ignore */
3804
+ ...(ngDevMode ? [{ debugName: "isHidden" }] : /* istanbul ignore next */ []));
3626
3805
  this.isMounted$ = toObservable(this.isMounted);
3627
3806
  this.isMounting$ = toObservable(this.isMounting);
3628
3807
  this.isUnmounted$ = toObservable(this.isUnmounted);
@@ -3873,10 +4052,10 @@ class AnimatedOverlayDirective {
3873
4052
  this.state.set('unmounted');
3874
4053
  this.afterClosed$.next();
3875
4054
  }
3876
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: AnimatedOverlayDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
3877
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.13", type: AnimatedOverlayDirective, isStandalone: true, selector: "[etAnimatedOverlay]", inputs: { placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, fallbackPlacements: { classPropertyName: "fallbackPlacements", publicName: "fallbackPlacements", isSignal: true, isRequired: false, transformFunction: null }, offset: { classPropertyName: "offset", publicName: "offset", isSignal: true, isRequired: false, transformFunction: null }, arrowPadding: { classPropertyName: "arrowPadding", publicName: "arrowPadding", isSignal: true, isRequired: false, transformFunction: null }, viewportPadding: { classPropertyName: "viewportPadding", publicName: "viewportPadding", isSignal: true, isRequired: false, transformFunction: null }, autoResize: { classPropertyName: "autoResize", publicName: "autoResize", isSignal: true, isRequired: false, transformFunction: null }, shift: { classPropertyName: "shift", publicName: "shift", isSignal: true, isRequired: false, transformFunction: null }, autoHide: { classPropertyName: "autoHide", publicName: "autoHide", isSignal: true, isRequired: false, transformFunction: null }, autoCloseIfReferenceHidden: { classPropertyName: "autoCloseIfReferenceHidden", publicName: "autoCloseIfReferenceHidden", isSignal: true, isRequired: false, transformFunction: null }, referenceElement: { classPropertyName: "referenceElement", publicName: "referenceElement", isSignal: true, isRequired: false, transformFunction: null }, mirrorWidth: { classPropertyName: "mirrorWidth", publicName: "mirrorWidth", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "et-animated-overlay" }, exportAs: ["etAnimatedOverlay"], ngImport: i0 }); }
4055
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: AnimatedOverlayDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
4056
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.5", type: AnimatedOverlayDirective, isStandalone: true, selector: "[etAnimatedOverlay]", inputs: { placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, fallbackPlacements: { classPropertyName: "fallbackPlacements", publicName: "fallbackPlacements", isSignal: true, isRequired: false, transformFunction: null }, offset: { classPropertyName: "offset", publicName: "offset", isSignal: true, isRequired: false, transformFunction: null }, arrowPadding: { classPropertyName: "arrowPadding", publicName: "arrowPadding", isSignal: true, isRequired: false, transformFunction: null }, viewportPadding: { classPropertyName: "viewportPadding", publicName: "viewportPadding", isSignal: true, isRequired: false, transformFunction: null }, autoResize: { classPropertyName: "autoResize", publicName: "autoResize", isSignal: true, isRequired: false, transformFunction: null }, shift: { classPropertyName: "shift", publicName: "shift", isSignal: true, isRequired: false, transformFunction: null }, autoHide: { classPropertyName: "autoHide", publicName: "autoHide", isSignal: true, isRequired: false, transformFunction: null }, autoCloseIfReferenceHidden: { classPropertyName: "autoCloseIfReferenceHidden", publicName: "autoCloseIfReferenceHidden", isSignal: true, isRequired: false, transformFunction: null }, referenceElement: { classPropertyName: "referenceElement", publicName: "referenceElement", isSignal: true, isRequired: false, transformFunction: null }, mirrorWidth: { classPropertyName: "mirrorWidth", publicName: "mirrorWidth", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "et-animated-overlay" }, exportAs: ["etAnimatedOverlay"], ngImport: i0 }); }
3878
4057
  }
3879
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: AnimatedOverlayDirective, decorators: [{
4058
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: AnimatedOverlayDirective, decorators: [{
3880
4059
  type: Directive,
3881
4060
  args: [{
3882
4061
  selector: '[etAnimatedOverlay]',
@@ -3999,10 +4178,10 @@ class ClickOutsideDirective {
3999
4178
  }), takeUntilDestroyed())
4000
4179
  .subscribe();
4001
4180
  }
4002
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ClickOutsideDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
4003
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.13", type: ClickOutsideDirective, isStandalone: true, selector: "[etClickOutside]", outputs: { didClickOutside: "etClickOutside" }, ngImport: i0 }); }
4181
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ClickOutsideDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
4182
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: ClickOutsideDirective, isStandalone: true, selector: "[etClickOutside]", outputs: { didClickOutside: "etClickOutside" }, ngImport: i0 }); }
4004
4183
  }
4005
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ClickOutsideDirective, decorators: [{
4184
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ClickOutsideDirective, decorators: [{
4006
4185
  type: Directive,
4007
4186
  args: [{
4008
4187
  selector: '[etClickOutside]',
@@ -4039,10 +4218,10 @@ class RepeatDirective {
4039
4218
  // Otherwise it has no consumers and won't run.
4040
4219
  effect(() => this.views());
4041
4220
  }
4042
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: RepeatDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
4043
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.13", type: RepeatDirective, isStandalone: true, selector: "[etRepeat]", inputs: { repeatCount: { classPropertyName: "repeatCount", publicName: "etRepeat", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
4221
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: RepeatDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
4222
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.5", type: RepeatDirective, isStandalone: true, selector: "[etRepeat]", inputs: { repeatCount: { classPropertyName: "repeatCount", publicName: "etRepeat", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
4044
4223
  }
4045
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: RepeatDirective, decorators: [{
4224
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: RepeatDirective, decorators: [{
4046
4225
  type: Directive,
4047
4226
  args: [{
4048
4227
  selector: '[etRepeat]',
@@ -4052,19 +4231,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImpo
4052
4231
  class ScrollObserverDirective {
4053
4232
  constructor() {
4054
4233
  this.elementRef = inject(ElementRef);
4055
- this.enabled = model(true, ...(ngDevMode ? [{ debugName: "enabled" }] : /* istanbul ignore next */ []));
4056
- this._startEl = signal(null, ...(ngDevMode ? [{ debugName: "_startEl" }] : /* istanbul ignore next */ []));
4057
- this._endEl = signal(null, ...(ngDevMode ? [{ debugName: "_endEl" }] : /* istanbul ignore next */ []));
4234
+ this.enabled = model(true, /* @ts-ignore */
4235
+ ...(ngDevMode ? [{ debugName: "enabled" }] : /* istanbul ignore next */ []));
4236
+ this.enabledValue = computed(() => {
4237
+ const enabled = this.enabled();
4238
+ if (isSignal(enabled))
4239
+ return enabled();
4240
+ return enabled;
4241
+ }, /* @ts-ignore */
4242
+ ...(ngDevMode ? [{ debugName: "enabledValue" }] : /* istanbul ignore next */ []));
4243
+ this._startEl = signal(null, /* @ts-ignore */
4244
+ ...(ngDevMode ? [{ debugName: "_startEl" }] : /* istanbul ignore next */ []));
4245
+ this._endEl = signal(null, /* @ts-ignore */
4246
+ ...(ngDevMode ? [{ debugName: "_endEl" }] : /* istanbul ignore next */ []));
4058
4247
  this._startIntersection = signalElementIntersection(this._startEl, {
4059
4248
  root: this.elementRef,
4060
- enabled: this.enabled,
4249
+ enabled: this.enabledValue,
4061
4250
  });
4062
4251
  this._endIntersection = signalElementIntersection(this._endEl, {
4063
4252
  root: this.elementRef,
4064
- enabled: this.enabled,
4253
+ enabled: this.enabledValue,
4065
4254
  });
4066
- this.isAtStart = computed(() => this._startIntersection()[0]?.isIntersecting ?? false, ...(ngDevMode ? [{ debugName: "isAtStart" }] : /* istanbul ignore next */ []));
4067
- this.isAtEnd = computed(() => this._endIntersection()[0]?.isIntersecting ?? false, ...(ngDevMode ? [{ debugName: "isAtEnd" }] : /* istanbul ignore next */ []));
4255
+ this.isAtStart = computed(() => this._startIntersection()[0]?.isIntersecting ?? false, /* @ts-ignore */
4256
+ ...(ngDevMode ? [{ debugName: "isAtStart" }] : /* istanbul ignore next */ []));
4257
+ this.isAtEnd = computed(() => this._endIntersection()[0]?.isIntersecting ?? false, /* @ts-ignore */
4258
+ ...(ngDevMode ? [{ debugName: "isAtEnd" }] : /* istanbul ignore next */ []));
4068
4259
  }
4069
4260
  _registerStart(el) {
4070
4261
  this._startEl.set(el);
@@ -4072,10 +4263,10 @@ class ScrollObserverDirective {
4072
4263
  _registerEnd(el) {
4073
4264
  this._endEl.set(el);
4074
4265
  }
4075
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ScrollObserverDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
4076
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.13", 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 }); }
4266
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ScrollObserverDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
4267
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.5", 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 }); }
4077
4268
  }
4078
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ScrollObserverDirective, decorators: [{
4269
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ScrollObserverDirective, decorators: [{
4079
4270
  type: Directive,
4080
4271
  args: [{
4081
4272
  selector: '[etScrollObserver]',
@@ -4089,10 +4280,10 @@ class ScrollObserverEndDirective {
4089
4280
  this.host = inject(ScrollObserverDirective);
4090
4281
  this.host._registerEnd(this.elementRef);
4091
4282
  }
4092
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ScrollObserverEndDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
4093
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.13", type: ScrollObserverEndDirective, isStandalone: true, selector: "[etScrollObserverEnd]", ngImport: i0 }); }
4283
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ScrollObserverEndDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
4284
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: ScrollObserverEndDirective, isStandalone: true, selector: "[etScrollObserverEnd]", ngImport: i0 }); }
4094
4285
  }
4095
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ScrollObserverEndDirective, decorators: [{
4286
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ScrollObserverEndDirective, decorators: [{
4096
4287
  type: Directive,
4097
4288
  args: [{
4098
4289
  selector: '[etScrollObserverEnd]',
@@ -4105,10 +4296,10 @@ class ScrollObserverStartDirective {
4105
4296
  this.host = inject(ScrollObserverDirective);
4106
4297
  this.host._registerStart(this.elementRef);
4107
4298
  }
4108
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ScrollObserverStartDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
4109
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.13", type: ScrollObserverStartDirective, isStandalone: true, selector: "[etScrollObserverStart]", ngImport: i0 }); }
4299
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ScrollObserverStartDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
4300
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: ScrollObserverStartDirective, isStandalone: true, selector: "[etScrollObserverStart]", ngImport: i0 }); }
4110
4301
  }
4111
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ScrollObserverStartDirective, decorators: [{
4302
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ScrollObserverStartDirective, decorators: [{
4112
4303
  type: Directive,
4113
4304
  args: [{
4114
4305
  selector: '[etScrollObserverStart]',
@@ -4143,7 +4334,8 @@ const setupDragObservable = (startEvent, el, commitThreshold) => {
4143
4334
  class DragHandleDirective {
4144
4335
  constructor() {
4145
4336
  this.el = inject(ElementRef);
4146
- this.commitThreshold = input(8, ...(ngDevMode ? [{ debugName: "commitThreshold" }] : /* istanbul ignore next */ []));
4337
+ this.commitThreshold = input(8, /* @ts-ignore */
4338
+ ...(ngDevMode ? [{ debugName: "commitThreshold" }] : /* istanbul ignore next */ []));
4147
4339
  this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
4148
4340
  this.gestureStart$ = new Subject();
4149
4341
  this.gesture$ = this.gestureStart$.pipe(exhaustMap((event) => setupDragObservable(event, this.el.nativeElement, this.commitThreshold())), takeUntilDestroyed(), share());
@@ -4160,10 +4352,10 @@ class DragHandleDirective {
4160
4352
  event.stopPropagation();
4161
4353
  this.gestureStart$.next(event);
4162
4354
  }
4163
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: DragHandleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
4164
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.13", 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" }, ngImport: i0 }); }
4355
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: DragHandleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
4356
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.5", 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" }, ngImport: i0 }); }
4165
4357
  }
4166
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: DragHandleDirective, decorators: [{
4358
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: DragHandleDirective, decorators: [{
4167
4359
  type: Directive,
4168
4360
  args: [{
4169
4361
  selector: '[etDragHandle]',
@@ -4288,8 +4480,50 @@ const applyCenteredPosition = (hostElement, paneElement, renderer, _config) => {
4288
4480
  position: 'relative',
4289
4481
  });
4290
4482
  };
4483
+ const applyGlobalPosition = (hostElement, paneElement, renderer, config) => {
4484
+ renderer.setStyle(hostElement, {
4485
+ display: 'grid',
4486
+ // an explicit full-size cell keeps the grid area definite so percentage
4487
+ // based pane sizes (e.g. max-height: calc(100% - 72px)) can resolve
4488
+ gridTemplateRows: '100%',
4489
+ gridTemplateColumns: '100%',
4490
+ placeItems: `${config.vertical ?? 'center'} ${config.horizontal ?? 'center'}`,
4491
+ padding: config.padding ?? '0',
4492
+ });
4493
+ renderer.setStyle(paneElement, {
4494
+ position: 'relative',
4495
+ });
4496
+ };
4497
+ /**
4498
+ * Clears every inline style any position strategy kind may have set and
4499
+ * restores the base element styles, so a different strategy can be applied afterwards.
4500
+ */
4501
+ const resetPositioningStyles = (config, hostElement, paneElement, renderer) => {
4502
+ renderer.setStyle(hostElement, {
4503
+ gridTemplateRows: null,
4504
+ gridTemplateColumns: null,
4505
+ placeItems: null,
4506
+ padding: null,
4507
+ overflow: null,
4508
+ });
4509
+ renderer.setStyle(paneElement, {
4510
+ position: null,
4511
+ top: null,
4512
+ left: null,
4513
+ width: null,
4514
+ transform: null,
4515
+ visibility: null,
4516
+ });
4517
+ renderer.setCssProperties(paneElement, {
4518
+ '--et-overlay-max-width': null,
4519
+ '--et-overlay-max-height': null,
4520
+ '--et-overlay-anchored-x': null,
4521
+ '--et-overlay-anchored-y': null,
4522
+ });
4523
+ renderer.removeAttribute(paneElement, 'data-overlay-placement');
4524
+ setBaseElementStyles(config, hostElement, paneElement, renderer);
4525
+ };
4291
4526
  const createAnchoredPositionCleanup = (strategy, paneElement, overlayRef, renderer) => {
4292
- const arrowElement = paneElement.querySelector('[et-floating-arrow]');
4293
4527
  renderer.setStyle(paneElement, {
4294
4528
  position: 'absolute',
4295
4529
  top: '0',
@@ -4297,6 +4531,7 @@ const createAnchoredPositionCleanup = (strategy, paneElement, overlayRef, render
4297
4531
  width: strategy.mirrorWidth ? `${strategy.referenceElement.offsetWidth}px` : 'max-content',
4298
4532
  });
4299
4533
  const cleanup = autoUpdate(strategy.referenceElement, paneElement, () => {
4534
+ const arrowElement = paneElement.querySelector('[et-floating-arrow]');
4300
4535
  const middleware = [];
4301
4536
  middleware.push(offset(strategy.offset ?? 8));
4302
4537
  middleware.push(flip({
@@ -4340,6 +4575,11 @@ const createAnchoredPositionCleanup = (strategy, paneElement, overlayRef, render
4340
4575
  transform: `translate3d(${x}px, ${y}px, 0)`,
4341
4576
  width: strategy.mirrorWidth ? `${strategy.referenceElement.offsetWidth}px` : null,
4342
4577
  });
4578
+ // exposed so animations can compose their transforms with the anchored position
4579
+ renderer.setCssProperties(paneElement, {
4580
+ '--et-overlay-anchored-x': `${x}px`,
4581
+ '--et-overlay-anchored-y': `${y}px`,
4582
+ });
4343
4583
  renderer.setAttribute(paneElement, 'data-overlay-placement', placement);
4344
4584
  if (arrowElement && middlewareData.arrow) {
4345
4585
  renderer.setCssProperty(arrowElement, '--et-floating-arrow-translate', `translate3d(${middlewareData.arrow.x ?? 0}px, ${middlewareData.arrow.y ?? 0}px, 0)`);
@@ -4371,13 +4611,20 @@ const setupPositioning = (config, hostElement, paneElement, overlayRef, renderer
4371
4611
  });
4372
4612
  return createAnchoredPositionCleanup(strategy, paneElement, overlayRef, renderer);
4373
4613
  }
4614
+ if (strategy.kind === 'global') {
4615
+ applyGlobalPosition(hostElement, paneElement, renderer, strategy);
4616
+ return () => undefined;
4617
+ }
4374
4618
  applyCenteredPosition(hostElement, paneElement, renderer, strategy);
4375
4619
  return () => undefined;
4376
4620
  };
4377
4621
 
4378
4622
  const createOverlayRuntimeRef = (id, config, elements, requestClose) => {
4379
- const _state = signal('mounting', ...(ngDevMode ? [{ debugName: "_state" }] : /* istanbul ignore next */ []));
4380
- const _componentInstance = signal(null, ...(ngDevMode ? [{ debugName: "_componentInstance" }] : /* istanbul ignore next */ []));
4623
+ const _state = signal('mounting', /* @ts-ignore */
4624
+ ...(ngDevMode ? [{ debugName: "_state" }] : /* istanbul ignore next */ []));
4625
+ const _componentInstance = signal(null, /* @ts-ignore */
4626
+ ...(ngDevMode ? [{ debugName: "_componentInstance" }] : /* istanbul ignore next */ []));
4627
+ let positionUpdater = null;
4381
4628
  const beforeOpenedSubject = new Subject();
4382
4629
  const afterOpenedSubject = new Subject();
4383
4630
  const beforeClosedSubject = new Subject();
@@ -4411,6 +4658,16 @@ const createOverlayRuntimeRef = (id, config, elements, requestClose) => {
4411
4658
  attachComponentRef(componentRef) {
4412
4659
  _componentInstance.set(componentRef.instance);
4413
4660
  },
4661
+ /** @internal */
4662
+ attachPositionUpdater(updater) {
4663
+ positionUpdater = updater;
4664
+ },
4665
+ updatePositionStrategy(strategy) {
4666
+ if (_state() === 'closing' || _state() === 'closed') {
4667
+ return;
4668
+ }
4669
+ positionUpdater?.(strategy);
4670
+ },
4414
4671
  markOpened() {
4415
4672
  if (_state() !== 'mounting') {
4416
4673
  return;
@@ -4446,13 +4703,23 @@ const [provideOverlayRuntime, injectOverlayRuntime] = createRootProvider(() => {
4446
4703
  const document = inject(DOCUMENT);
4447
4704
  const environmentInjector = inject(EnvironmentInjector);
4448
4705
  const renderer = injectRenderer();
4449
- const openEntriesState = signal([], ...(ngDevMode ? [{ debugName: "openEntriesState" }] : /* istanbul ignore next */ []));
4450
- const openEntries = computed(() => openEntriesState(), ...(ngDevMode ? [{ debugName: "openEntries" }] : /* istanbul ignore next */ []));
4706
+ const openEntriesState = signal([], /* @ts-ignore */
4707
+ ...(ngDevMode ? [{ debugName: "openEntriesState" }] : /* istanbul ignore next */ []));
4708
+ const openEntries = computed(() => openEntriesState(), /* @ts-ignore */
4709
+ ...(ngDevMode ? [{ debugName: "openEntries" }] : /* istanbul ignore next */ []));
4451
4710
  let rootElement = null;
4711
+ // Synchronous teardown for each currently-mounted overlay, run when the runtime's injector is
4712
+ // destroyed (app teardown). Registered on mount, removed once the overlay is destroyed normally.
4713
+ const mountedTeardowns = new Set();
4452
4714
  const getRootElement = () => {
4453
4715
  if (rootElement) {
4454
4716
  return rootElement;
4455
4717
  }
4718
+ // A previous Angular app (e.g. the one that existed before a Storybook HMR update or story
4719
+ // switch) may have left its runtime root orphaned in <body> if it was torn down mid-animation.
4720
+ // Such a node keeps a backdrop/pane on screen and blocks pointer events, so clear any stragglers
4721
+ // before creating ours.
4722
+ document.querySelectorAll('.et-overlay-runtime-root').forEach((el) => el.remove());
4456
4723
  rootElement = renderer.createElement('div');
4457
4724
  renderer.addClass(rootElement, 'et-overlay-runtime-root');
4458
4725
  renderer.setStyle(rootElement, {
@@ -4495,7 +4762,6 @@ const [provideOverlayRuntime, injectOverlayRuntime] = createRootProvider(() => {
4495
4762
  const previousFocusedElement = isHTMLElement(document.activeElement) ? document.activeElement : null;
4496
4763
  const autoFocus = config.autoFocus ?? 'first-tabbable';
4497
4764
  renderer.addClass(hostElement, 'et-overlay-runtime-entry');
4498
- renderer.addClass(paneElement, 'et-overlay-runtime-pane');
4499
4765
  setBaseElementStyles(config, hostElement, paneElement, renderer);
4500
4766
  renderer.setAttributes(hostElement, {
4501
4767
  'data-overlay-id': config.id,
@@ -4507,7 +4773,6 @@ const [provideOverlayRuntime, injectOverlayRuntime] = createRootProvider(() => {
4507
4773
  'aria-label': config.ariaLabel ?? null,
4508
4774
  });
4509
4775
  renderer.addClass(hostElement, ...(config.hostClass ?? []));
4510
- renderer.addClass(paneElement, ...(config.paneClass ?? []));
4511
4776
  if (backdropElement) {
4512
4777
  renderer.addClass(backdropElement, 'et-overlay-runtime-backdrop');
4513
4778
  setBackdropStyles(backdropElement, renderer);
@@ -4523,6 +4788,10 @@ const [provideOverlayRuntime, injectOverlayRuntime] = createRootProvider(() => {
4523
4788
  backdropElement,
4524
4789
  paneElement,
4525
4790
  }, (result, source) => beginClose({ result, source }));
4791
+ animationDebugLog(`runtime ${config.id}`, 'mount');
4792
+ // matches the previous overlay behavior: escape/outside-pointer closes are
4793
+ // ignored until the enter transition has started plus one frame
4794
+ let interactiveCloseReady = false;
4526
4795
  const cleanupFns = [];
4527
4796
  const parentInjector = config.injector ?? config.viewContainerRef?.injector ?? environmentInjector;
4528
4797
  const elementInjector = Injector.create({
@@ -4533,15 +4802,31 @@ const [provideOverlayRuntime, injectOverlayRuntime] = createRootProvider(() => {
4533
4802
  environmentInjector,
4534
4803
  elementInjector,
4535
4804
  hostElement: paneElement,
4536
- bindings: Object.entries(config.inputBindings ?? {}).map(([key, value]) => inputBinding(key, () => value)),
4805
+ bindings: [
4806
+ ...Object.entries(config.inputBindings ?? {}).map(([key, value]) => inputBinding(key, () => value)),
4807
+ ...Object.entries(config.outputBindings ?? {}).map(([key, listener]) => outputBinding(key, listener)),
4808
+ ],
4537
4809
  });
4810
+ // pane classes are applied after component creation — Angular replaces the host
4811
+ // element's class attribute with the component's static host class on creation
4812
+ renderer.addClass(paneElement, 'et-overlay-runtime-pane', ...(config.paneClass ?? []));
4538
4813
  appRef.attachView(componentRef.hostView);
4539
4814
  overlayRef.attachComponentRef(componentRef);
4540
4815
  overlayRef.beforeOpenedSubject.next();
4541
4816
  overlayRef.beforeOpenedSubject.complete();
4542
4817
  openEntriesState.update((entries) => [...entries, overlayRef]);
4543
- cleanupFns.push(setupPositioning(config, hostElement, paneElement, overlayRef, renderer));
4818
+ let positionCleanup = setupPositioning(config, hostElement, paneElement, overlayRef, renderer);
4819
+ cleanupFns.push(() => positionCleanup());
4820
+ let currentPositionStrategy = config.positionStrategy;
4821
+ const getOriginElement = () => currentPositionStrategy?.kind === 'anchored' ? currentPositionStrategy.referenceElement : null;
4822
+ overlayRef.attachPositionUpdater((strategy) => {
4823
+ currentPositionStrategy = strategy;
4824
+ positionCleanup();
4825
+ resetPositioningStyles(config, hostElement, paneElement, renderer);
4826
+ positionCleanup = setupPositioning({ ...config, positionStrategy: strategy }, hostElement, paneElement, overlayRef, renderer);
4827
+ });
4544
4828
  const destroyMountedOverlay = (closeEvent) => {
4829
+ animationDebugLog(`runtime ${config.id}`, `destroy (source "${closeEvent.source}")`);
4545
4830
  cleanupFns.forEach((cleanup) => cleanup());
4546
4831
  appRef.detachView(componentRef.hostView);
4547
4832
  componentRef.destroy();
@@ -4556,16 +4841,27 @@ const [provideOverlayRuntime, injectOverlayRuntime] = createRootProvider(() => {
4556
4841
  }
4557
4842
  overlayRef.finishClose(closeEvent);
4558
4843
  };
4844
+ // Allows the runtime to synchronously destroy this overlay on app teardown, bypassing the
4845
+ // async leave animation (whose completion callback would never fire once the app is gone).
4846
+ const forceTeardown = () => destroyMountedOverlay({ result: undefined, source: 'api' });
4847
+ mountedTeardowns.add(forceTeardown);
4848
+ cleanupFns.push(() => mountedTeardowns.delete(forceTeardown));
4559
4849
  const beginClose = (closeEvent) => {
4560
4850
  if (!overlayRef.beginClose(closeEvent)) {
4561
4851
  return;
4562
4852
  }
4563
4853
  const lifecycle = getAnimatedLifecycle(componentRef);
4854
+ animationDebugLog(`runtime ${config.id}`, `close requested (source "${closeEvent.source}", lifecycle state "${lifecycle?.state$.value ?? 'none'}", delegate ${config.animationDelegate?.leave ? 'yes' : 'no'})`);
4564
4855
  if (!lifecycle) {
4565
4856
  destroyMountedOverlay(closeEvent);
4566
4857
  return;
4567
4858
  }
4568
- lifecycle.leave();
4859
+ if (config.animationDelegate?.leave) {
4860
+ config.animationDelegate.leave({ lifecycle, elements: overlayRef.elements, closeEvent });
4861
+ }
4862
+ else {
4863
+ lifecycle.leave();
4864
+ }
4569
4865
  lifecycle.state$
4570
4866
  .pipe(filter((state) => state === 'left'), take(1))
4571
4867
  .subscribe(() => {
@@ -4578,6 +4874,10 @@ const [provideOverlayRuntime, injectOverlayRuntime] = createRootProvider(() => {
4578
4874
  if (event.key !== 'Escape' || !isTopMost(overlayRef)) {
4579
4875
  return;
4580
4876
  }
4877
+ if (!interactiveCloseReady) {
4878
+ animationDebugLog(`runtime ${config.id}`, 'escape ignored (enter transition has not started yet)');
4879
+ return;
4880
+ }
4581
4881
  event.preventDefault();
4582
4882
  overlayRef.close(undefined, 'escape');
4583
4883
  };
@@ -4594,7 +4894,21 @@ const [provideOverlayRuntime, injectOverlayRuntime] = createRootProvider(() => {
4594
4894
  if (!isHTMLElement(target) || paneElement.contains(target)) {
4595
4895
  return;
4596
4896
  }
4897
+ if (!interactiveCloseReady) {
4898
+ animationDebugLog(`runtime ${config.id}`, 'outside pointer ignored (enter transition has not started yet)');
4899
+ return;
4900
+ }
4597
4901
  overlayRef.close(undefined, 'outside-pointer');
4902
+ const originElement = getOriginElement();
4903
+ if (originElement && originElement.contains(target)) {
4904
+ const swallowReopenClick = (clickEvent) => {
4905
+ if (isHTMLElement(clickEvent.target) && originElement.contains(clickEvent.target)) {
4906
+ clickEvent.stopImmediatePropagation();
4907
+ clickEvent.preventDefault();
4908
+ }
4909
+ };
4910
+ document.addEventListener('click', swallowReopenClick, { capture: true, once: true });
4911
+ }
4598
4912
  };
4599
4913
  document.addEventListener('pointerdown', onPointerDown, true);
4600
4914
  cleanupFns.push(() => document.removeEventListener('pointerdown', onPointerDown, true));
@@ -4602,15 +4916,31 @@ const [provideOverlayRuntime, injectOverlayRuntime] = createRootProvider(() => {
4602
4916
  cleanupFns.push(setupFocusTrap(paneElement, overlayRef, config.modal !== false, isTopMost, document));
4603
4917
  nextFrame(() => {
4604
4918
  if (overlayRef.state() !== 'mounting') {
4919
+ animationDebugLog(`runtime ${config.id}`, `enter skipped (state "${overlayRef.state()}" before enter frame)`);
4605
4920
  return;
4606
4921
  }
4607
4922
  const lifecycle = getAnimatedLifecycle(componentRef);
4608
4923
  if (!lifecycle) {
4924
+ interactiveCloseReady = true;
4609
4925
  applyInitialFocus(paneElement, autoFocus, document);
4610
4926
  overlayRef.markOpened();
4611
4927
  return;
4612
4928
  }
4613
- lifecycle.enter();
4929
+ animationDebugLog(`runtime ${config.id}`, `enter (delegate ${config.animationDelegate?.enter ? 'yes' : 'no'}, lifecycle state "${lifecycle.state$.value}")`);
4930
+ const readySubscription = lifecycle.state$
4931
+ .pipe(filter((state) => state === 'entering' || state === 'entered'), take(1))
4932
+ .subscribe(() => {
4933
+ nextFrame(() => {
4934
+ interactiveCloseReady = true;
4935
+ });
4936
+ });
4937
+ cleanupFns.push(() => readySubscription.unsubscribe());
4938
+ if (config.animationDelegate?.enter) {
4939
+ config.animationDelegate.enter({ lifecycle, elements: overlayRef.elements });
4940
+ }
4941
+ else {
4942
+ lifecycle.enter();
4943
+ }
4614
4944
  lifecycle.state$
4615
4945
  .pipe(filter((state) => state === 'entered'), take(1))
4616
4946
  .subscribe(() => {
@@ -4621,7 +4951,7 @@ const [provideOverlayRuntime, injectOverlayRuntime] = createRootProvider(() => {
4621
4951
  return overlayRef;
4622
4952
  };
4623
4953
  destroyRef.onDestroy(() => {
4624
- openEntriesState().forEach((entry) => entry.close(undefined, 'api'));
4954
+ [...mountedTeardowns].forEach((teardown) => teardown());
4625
4955
  maybeDestroyRootElement();
4626
4956
  });
4627
4957
  return {
@@ -4634,10 +4964,10 @@ class NormalizeGameResultTypePipe {
4634
4964
  constructor() {
4635
4965
  this.transform = normalizeGameResultType;
4636
4966
  }
4637
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: NormalizeGameResultTypePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
4638
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.13", ngImport: i0, type: NormalizeGameResultTypePipe, isStandalone: true, name: "etNormalizeGameResultType" }); }
4967
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: NormalizeGameResultTypePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
4968
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.5", ngImport: i0, type: NormalizeGameResultTypePipe, isStandalone: true, name: "etNormalizeGameResultType" }); }
4639
4969
  }
4640
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: NormalizeGameResultTypePipe, decorators: [{
4970
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: NormalizeGameResultTypePipe, decorators: [{
4641
4971
  type: Pipe,
4642
4972
  args: [{ name: 'etNormalizeGameResultType' }]
4643
4973
  }] });
@@ -4679,10 +5009,10 @@ class NormalizeMatchStatePipe {
4679
5009
  constructor() {
4680
5010
  this.transform = normalizeMatchState;
4681
5011
  }
4682
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: NormalizeMatchStatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
4683
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.13", ngImport: i0, type: NormalizeMatchStatePipe, isStandalone: true, name: "etNormalizeMatchState" }); }
5012
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: NormalizeMatchStatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
5013
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.5", ngImport: i0, type: NormalizeMatchStatePipe, isStandalone: true, name: "etNormalizeMatchState" }); }
4684
5014
  }
4685
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: NormalizeMatchStatePipe, decorators: [{
5015
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: NormalizeMatchStatePipe, decorators: [{
4686
5016
  type: Pipe,
4687
5017
  args: [{ name: 'etNormalizeMatchState' }]
4688
5018
  }] });
@@ -4709,10 +5039,10 @@ class NormalizeMatchParticipantsPipe {
4709
5039
  constructor() {
4710
5040
  this.transform = normalizeMatchParticipants;
4711
5041
  }
4712
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: NormalizeMatchParticipantsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
4713
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.13", ngImport: i0, type: NormalizeMatchParticipantsPipe, isStandalone: true, name: "etNormalizeMatchParticipants" }); }
5042
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: NormalizeMatchParticipantsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
5043
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.5", ngImport: i0, type: NormalizeMatchParticipantsPipe, isStandalone: true, name: "etNormalizeMatchParticipants" }); }
4714
5044
  }
4715
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: NormalizeMatchParticipantsPipe, decorators: [{
5045
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: NormalizeMatchParticipantsPipe, decorators: [{
4716
5046
  type: Pipe,
4717
5047
  args: [{ name: 'etNormalizeMatchParticipants' }]
4718
5048
  }] });
@@ -4766,10 +5096,10 @@ class NormalizeMatchScorePipe {
4766
5096
  constructor() {
4767
5097
  this.transform = normalizeMatchScore;
4768
5098
  }
4769
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: NormalizeMatchScorePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
4770
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.13", ngImport: i0, type: NormalizeMatchScorePipe, isStandalone: true, name: "etNormalizeMatchScore" }); }
5099
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: NormalizeMatchScorePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
5100
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.5", ngImport: i0, type: NormalizeMatchScorePipe, isStandalone: true, name: "etNormalizeMatchScore" }); }
4771
5101
  }
4772
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: NormalizeMatchScorePipe, decorators: [{
5102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: NormalizeMatchScorePipe, decorators: [{
4773
5103
  type: Pipe,
4774
5104
  args: [{ name: 'etNormalizeMatchScore' }]
4775
5105
  }] });
@@ -4902,10 +5232,10 @@ class NormalizeMatchTypePipe {
4902
5232
  constructor() {
4903
5233
  this.transform = normalizeMatchType;
4904
5234
  }
4905
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: NormalizeMatchTypePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
4906
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.13", ngImport: i0, type: NormalizeMatchTypePipe, isStandalone: true, name: "etNormalizeMatchType" }); }
5235
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: NormalizeMatchTypePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
5236
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.5", ngImport: i0, type: NormalizeMatchTypePipe, isStandalone: true, name: "etNormalizeMatchType" }); }
4907
5237
  }
4908
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: NormalizeMatchTypePipe, decorators: [{
5238
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: NormalizeMatchTypePipe, decorators: [{
4909
5239
  type: Pipe,
4910
5240
  args: [{ name: 'etNormalizeMatchType' }]
4911
5241
  }] });
@@ -4953,10 +5283,10 @@ class HtmlToMarkdownPipe {
4953
5283
  constructor() {
4954
5284
  this.transform = htmlToMarkdown;
4955
5285
  }
4956
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: HtmlToMarkdownPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
4957
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.13", ngImport: i0, type: HtmlToMarkdownPipe, isStandalone: true, name: "htmlToMarkdown" }); }
5286
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: HtmlToMarkdownPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
5287
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.5", ngImport: i0, type: HtmlToMarkdownPipe, isStandalone: true, name: "htmlToMarkdown" }); }
4958
5288
  }
4959
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: HtmlToMarkdownPipe, decorators: [{
5289
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: HtmlToMarkdownPipe, decorators: [{
4960
5290
  type: Pipe,
4961
5291
  args: [{ name: 'htmlToMarkdown' }]
4962
5292
  }] });
@@ -4965,10 +5295,10 @@ class InferMimeTypePipe {
4965
5295
  constructor() {
4966
5296
  this.transform = inferMimeType;
4967
5297
  }
4968
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: InferMimeTypePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
4969
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.13", ngImport: i0, type: InferMimeTypePipe, isStandalone: true, name: "inferMimeType" }); }
5298
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: InferMimeTypePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
5299
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.5", ngImport: i0, type: InferMimeTypePipe, isStandalone: true, name: "inferMimeType" }); }
4970
5300
  }
4971
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: InferMimeTypePipe, decorators: [{
5301
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: InferMimeTypePipe, decorators: [{
4972
5302
  type: Pipe,
4973
5303
  args: [{
4974
5304
  name: 'inferMimeType',
@@ -5178,10 +5508,10 @@ class MarkdownToHtmlPipe {
5178
5508
  constructor() {
5179
5509
  this.transform = markdownToHtml;
5180
5510
  }
5181
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: MarkdownToHtmlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
5182
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.13", ngImport: i0, type: MarkdownToHtmlPipe, isStandalone: true, name: "markdownToHtml" }); }
5511
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: MarkdownToHtmlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
5512
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.5", ngImport: i0, type: MarkdownToHtmlPipe, isStandalone: true, name: "markdownToHtml" }); }
5183
5513
  }
5184
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: MarkdownToHtmlPipe, decorators: [{
5514
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: MarkdownToHtmlPipe, decorators: [{
5185
5515
  type: Pipe,
5186
5516
  args: [{ name: 'markdownToHtml' }]
5187
5517
  }] });
@@ -5190,10 +5520,10 @@ class ToArrayPipe {
5190
5520
  constructor() {
5191
5521
  this.transform = toArray;
5192
5522
  }
5193
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ToArrayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
5194
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.13", ngImport: i0, type: ToArrayPipe, isStandalone: true, name: "toArray" }); }
5523
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ToArrayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
5524
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.0.5", ngImport: i0, type: ToArrayPipe, isStandalone: true, name: "toArray" }); }
5195
5525
  }
5196
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ToArrayPipe, decorators: [{
5526
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ToArrayPipe, decorators: [{
5197
5527
  type: Pipe,
5198
5528
  args: [{ name: 'toArray' }]
5199
5529
  }] });
@@ -5225,14 +5555,19 @@ const createElementDictionary = () => {
5225
5555
  const firstElement = computed(() => {
5226
5556
  const id = dictionary.ids()[0];
5227
5557
  return id ? (dictionary.elements()[id] ?? null) : null;
5228
- }, ...(ngDevMode ? [{ debugName: "firstElement" }] : /* istanbul ignore next */ []));
5558
+ }, /* @ts-ignore */
5559
+ ...(ngDevMode ? [{ debugName: "firstElement" }] : /* istanbul ignore next */ []));
5229
5560
  const firstId = computed(() => {
5230
5561
  const id = dictionary.ids()[0];
5231
5562
  return id ?? null;
5232
- }, ...(ngDevMode ? [{ debugName: "firstId" }] : /* istanbul ignore next */ []));
5233
- const ids = computed(() => dictionary.ids(), ...(ngDevMode ? [{ debugName: "ids" }] : /* istanbul ignore next */ []));
5234
- const elements = computed(() => ids().map((id) => dictionary.elements()[id]), ...(ngDevMode ? [{ debugName: "elements" }] : /* istanbul ignore next */ []));
5235
- const isEmpty = computed(() => dictionary.ids().length === 0, ...(ngDevMode ? [{ debugName: "isEmpty" }] : /* istanbul ignore next */ []));
5563
+ }, /* @ts-ignore */
5564
+ ...(ngDevMode ? [{ debugName: "firstId" }] : /* istanbul ignore next */ []));
5565
+ const ids = computed(() => dictionary.ids(), /* @ts-ignore */
5566
+ ...(ngDevMode ? [{ debugName: "ids" }] : /* istanbul ignore next */ []));
5567
+ const elements = computed(() => ids().map((id) => dictionary.elements()[id]), /* @ts-ignore */
5568
+ ...(ngDevMode ? [{ debugName: "elements" }] : /* istanbul ignore next */ []));
5569
+ const isEmpty = computed(() => dictionary.ids().length === 0, /* @ts-ignore */
5570
+ ...(ngDevMode ? [{ debugName: "isEmpty" }] : /* istanbul ignore next */ []));
5236
5571
  const has = (id) => {
5237
5572
  return dictionary.ids().includes(id);
5238
5573
  };
@@ -5316,7 +5651,8 @@ const unbindProps = (config) => {
5316
5651
  const createProps = (props) => {
5317
5652
  const { bindId = false, single = true, classes: classBindings, attributes: attributeBindings, styles: styleBindings, staticAttributes: staticAttributeBindings = null, staticClasses: staticClassBindings = null, staticStyles: staticStyleBindings = null, listeners, name, } = props;
5318
5653
  const dictionary = createElementDictionary();
5319
- const attached = computed(() => !dictionary.isEmpty(), ...(ngDevMode ? [{ debugName: "attached" }] : /* istanbul ignore next */ []));
5654
+ const attached = computed(() => !dictionary.isEmpty(), /* @ts-ignore */
5655
+ ...(ngDevMode ? [{ debugName: "attached" }] : /* istanbul ignore next */ []));
5320
5656
  const attachedElements = {
5321
5657
  first: dictionary.firstElement,
5322
5658
  firstId: dictionary.firstId,
@@ -5419,10 +5755,10 @@ class PropsDirective {
5419
5755
  });
5420
5756
  });
5421
5757
  }
5422
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: PropsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
5423
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.13", type: PropsDirective, isStandalone: true, selector: "[etProps]", inputs: { props: { classPropertyName: "props", publicName: "etProps", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 }); }
5758
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: PropsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
5759
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.5", type: PropsDirective, isStandalone: true, selector: "[etProps]", inputs: { props: { classPropertyName: "props", publicName: "etProps", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 }); }
5424
5760
  }
5425
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: PropsDirective, decorators: [{
5761
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: PropsDirective, decorators: [{
5426
5762
  type: Directive,
5427
5763
  args: [{
5428
5764
  selector: '[etProps]',
@@ -5488,7 +5824,8 @@ const setupResizeObservable = (startEvent, edge) => {
5488
5824
  };
5489
5825
  class ResizeHandlesComponent {
5490
5826
  constructor() {
5491
- this.edges = input(['n', 's', 'e', 'w', 'ne', 'nw', 'se', 'sw'], ...(ngDevMode ? [{ debugName: "edges" }] : /* istanbul ignore next */ []));
5827
+ this.edges = input(['n', 's', 'e', 'w', 'ne', 'nw', 'se', 'sw'], /* @ts-ignore */
5828
+ ...(ngDevMode ? [{ debugName: "edges" }] : /* istanbul ignore next */ []));
5492
5829
  this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
5493
5830
  this.gestureStart$ = new Subject();
5494
5831
  this.gesture$ = this.gestureStart$.pipe(exhaustMap(({ event, edge }) => setupResizeObservable(event, edge)), takeUntilDestroyed(), share());
@@ -5511,8 +5848,8 @@ class ResizeHandlesComponent {
5511
5848
  event.stopPropagation();
5512
5849
  this.gestureStart$.next({ event, edge });
5513
5850
  }
5514
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ResizeHandlesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5515
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.13", 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" }, host: { properties: { "attr.inert": "disabled() ? \"\" : null", "attr.data-active-edge": "activeEdge()" }, classAttribute: "et-resize-handles" }, ngImport: i0, template: `
5851
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ResizeHandlesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5852
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", 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" }, host: { properties: { "attr.inert": "disabled() ? \"\" : null", "attr.data-active-edge": "activeEdge()" }, classAttribute: "et-resize-handles" }, ngImport: i0, template: `
5516
5853
  @for (edge of edges(); track edge) {
5517
5854
  <div
5518
5855
  [style.cursor]="edgeCursors[edge]"
@@ -5522,7 +5859,7 @@ class ResizeHandlesComponent {
5522
5859
  }
5523
5860
  `, isInline: true, styles: ["@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-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:0;pointer-events:none}.et-resize-handle{position:absolute;z-index:var(--et-resize-handles-z-index);touch-action:none;pointer-events:auto}.et-resize-handle--n{left:var(--et-resize-handles-edge-inset);right:var(--et-resize-handles-edge-inset);height:var(--et-resize-handles-edge-size);top:0}.et-resize-handle--s{left:var(--et-resize-handles-edge-inset);right:var(--et-resize-handles-edge-inset);height:var(--et-resize-handles-edge-size);bottom:0}.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-handles-edge-size)}.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-handles-corner-size);height:var(--et-resize-handles-corner-size)}.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-handles-corner-size);height:var(--et-resize-handles-corner-size)}.et-resize-handle--se{right:0}.et-resize-handle--sw{left:0}@media(hover:none){.et-resize-handle--n,.et-resize-handle--s{height:var(--et-resize-handles-touch-edge-size)}.et-resize-handle--e,.et-resize-handle--w{width:var(--et-resize-handles-touch-edge-size)}.et-resize-handle--ne,.et-resize-handle--nw,.et-resize-handle--se,.et-resize-handle--sw{width:var(--et-resize-handles-touch-corner-size);height:var(--et-resize-handles-touch-corner-size)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
5524
5861
  }
5525
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ResizeHandlesComponent, decorators: [{
5862
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ResizeHandlesComponent, decorators: [{
5526
5863
  type: Component,
5527
5864
  args: [{ selector: 'et-resize-handles', template: `
5528
5865
  @for (edge of edges(); track edge) {
@@ -5572,7 +5909,8 @@ const createPropertyBinding = (configBuilder, applyConfigFn) => {
5572
5909
  const createArrayPropertyBinding = (configBuilder, applyConfigFn) => {
5573
5910
  return (binding) => {
5574
5911
  const valuesSignal = isSignal(binding) ? binding : signal(binding);
5575
- const valuesList = computed(() => untracked(() => valuesSignal()) ?? [], ...(ngDevMode ? [{ debugName: "valuesList" }] : /* istanbul ignore next */ []));
5912
+ const valuesList = computed(() => untracked(() => valuesSignal()) ?? [], /* @ts-ignore */
5913
+ ...(ngDevMode ? [{ debugName: "valuesList" }] : /* istanbul ignore next */ []));
5576
5914
  valuesList().forEach((value, index) => {
5577
5915
  applyConfigFn(computed(() => configBuilder(value, index)));
5578
5916
  });
@@ -5617,7 +5955,8 @@ const [provideLinkStoreConfig, injectLinkStoreConfig] = createStaticRootProvider
5617
5955
  const [provideLinkStore, injectLinkStore] = createRootProvider(() => {
5618
5956
  const document = inject(DOCUMENT$1);
5619
5957
  const config = injectLinkStoreConfig();
5620
- const linksByKey = signal(new Map(), ...(ngDevMode ? [{ debugName: "linksByKey" }] : /* istanbul ignore next */ []));
5958
+ const linksByKey = signal(new Map(), /* @ts-ignore */
5959
+ ...(ngDevMode ? [{ debugName: "linksByKey" }] : /* istanbul ignore next */ []));
5621
5960
  let priorityCounter = 0;
5622
5961
  const getLinkKey = (linkConfig) => {
5623
5962
  const isMultiInstance = config.multiInstanceRels.has(linkConfig.rel) || linkConfig.allowMultiple;
@@ -5779,7 +6118,8 @@ const [provideTitleConfig, injectTitleConfig] = createStaticRootProvider({
5779
6118
  }, { name: 'Title Config' });
5780
6119
  const [provideTitleStore, injectTitleStore] = createRootProvider(() => {
5781
6120
  const config = injectTitleConfig();
5782
- const titleParts = signal(new Map(), ...(ngDevMode ? [{ debugName: "titleParts" }] : /* istanbul ignore next */ []));
6121
+ const titleParts = signal(new Map(), /* @ts-ignore */
6122
+ ...(ngDevMode ? [{ debugName: "titleParts" }] : /* istanbul ignore next */ []));
5783
6123
  const { currentLocale } = injectLocale();
5784
6124
  const titleService = inject(Title);
5785
6125
  const isRouterInitialized = injectIsRouterInitialized();
@@ -5807,7 +6147,8 @@ const [provideTitleStore, injectTitleStore] = createRootProvider(() => {
5807
6147
  finalTextParts.push(config.transformer(config.suffixPart.text, currentLocale()));
5808
6148
  }
5809
6149
  return finalTextParts.join(` ${config.divider} `);
5810
- }, ...(ngDevMode ? [{ debugName: "title" }] : /* istanbul ignore next */ []));
6150
+ }, /* @ts-ignore */
6151
+ ...(ngDevMode ? [{ debugName: "title" }] : /* istanbul ignore next */ []));
5811
6152
  const addPart = (id, part) => {
5812
6153
  titleParts.update((parts) => new Map(parts).set(id, part));
5813
6154
  };
@@ -5907,7 +6248,8 @@ const [provideMetaStore, injectMetaStore] = createRootProvider(() => {
5907
6248
  const metaService = inject(Meta);
5908
6249
  const config = injectMetaConfig();
5909
6250
  const { currentLocale } = injectLocale();
5910
- const metaTagsBySelector = signal(new Map(), ...(ngDevMode ? [{ debugName: "metaTagsBySelector" }] : /* istanbul ignore next */ []));
6251
+ const metaTagsBySelector = signal(new Map(), /* @ts-ignore */
6252
+ ...(ngDevMode ? [{ debugName: "metaTagsBySelector" }] : /* istanbul ignore next */ []));
5911
6253
  let priorityCounter = 0;
5912
6254
  const getSelector = (config) => {
5913
6255
  if (config.name)
@@ -6334,10 +6676,10 @@ class SeoDirective {
6334
6676
  }
6335
6677
  }
6336
6678
  }
6337
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: SeoDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
6338
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.13", type: SeoDirective, isStandalone: true, providers: [{ provide: SEO_DIRECTIVE_TOKEN, useExisting: SeoDirective }], ngImport: i0 }); }
6679
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SeoDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
6680
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: SeoDirective, isStandalone: true, providers: [{ provide: SEO_DIRECTIVE_TOKEN, useExisting: SeoDirective }], ngImport: i0 }); }
6339
6681
  }
6340
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: SeoDirective, decorators: [{
6682
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SeoDirective, decorators: [{
6341
6683
  type: Directive,
6342
6684
  args: [{
6343
6685
  providers: [{ provide: SEO_DIRECTIVE_TOKEN, useExisting: SeoDirective }],
@@ -6351,7 +6693,8 @@ const [provideStructuredDataStore, injectStructuredDataStore] = createRootProvid
6351
6693
  const document = inject(DOCUMENT$1);
6352
6694
  const renderer = injectRenderer();
6353
6695
  const config = injectStructuredDataConfig();
6354
- const scripts = signal(new Map(), ...(ngDevMode ? [{ debugName: "scripts" }] : /* istanbul ignore next */ []));
6696
+ const scripts = signal(new Map(), /* @ts-ignore */
6697
+ ...(ngDevMode ? [{ debugName: "scripts" }] : /* istanbul ignore next */ []));
6355
6698
  const getTargetElement = () => {
6356
6699
  return config.placement === 'head' ? document.head : document.body;
6357
6700
  };
@@ -6392,7 +6735,8 @@ const applyStructuredDataBinding = (binding) => {
6392
6735
  class StructuredDataComponent {
6393
6736
  constructor() {
6394
6737
  this.sanitizer = inject(DomSanitizer);
6395
- this.data = input(null, ...(ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []));
6738
+ this.data = input(null, /* @ts-ignore */
6739
+ ...(ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []));
6396
6740
  this.jsonLD = computed(() => {
6397
6741
  const data = this.data();
6398
6742
  if (!data) {
@@ -6401,12 +6745,13 @@ class StructuredDataComponent {
6401
6745
  const json = data ? JSON.stringify(data, null, 2).replace(/<\/script>/g, '<\\/script>') : '';
6402
6746
  const html = `<script type="application/ld+json">${json}</script>`;
6403
6747
  return this.sanitizer.bypassSecurityTrustHtml(html);
6404
- }, ...(ngDevMode ? [{ debugName: "jsonLD" }] : /* istanbul ignore next */ []));
6748
+ }, /* @ts-ignore */
6749
+ ...(ngDevMode ? [{ debugName: "jsonLD" }] : /* istanbul ignore next */ []));
6405
6750
  }
6406
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: StructuredDataComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6407
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.13", 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, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
6751
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: StructuredDataComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6752
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", 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, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
6408
6753
  }
6409
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: StructuredDataComponent, decorators: [{
6754
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: StructuredDataComponent, decorators: [{
6410
6755
  type: Component,
6411
6756
  args: [{
6412
6757
  selector: 'et-structured-data',
@@ -6421,10 +6766,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImpo
6421
6766
  }], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }] } });
6422
6767
 
6423
6768
  class ColorInteractiveStylesComponent {
6424
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ColorInteractiveStylesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6425
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.13", type: ColorInteractiveStylesComponent, isStandalone: true, selector: "et-color-interactive-styles", ngImport: i0, template: '', isInline: true, styles: [":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))}: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-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[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"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
6769
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ColorInteractiveStylesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6770
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: ColorInteractiveStylesComponent, isStandalone: true, selector: "et-color-interactive-styles", ngImport: i0, template: '', isInline: true, styles: [":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))}: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-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[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"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
6426
6771
  }
6427
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ColorInteractiveStylesComponent, decorators: [{
6772
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ColorInteractiveStylesComponent, decorators: [{
6428
6773
  type: Component,
6429
6774
  args: [{ selector: 'et-color-interactive-styles', template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":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))}: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-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[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"] }]
6430
6775
  }] });
@@ -6445,10 +6790,10 @@ class ColorInteractiveContainerDirective {
6445
6790
  this.styleManager = injectStyleManager();
6446
6791
  this.styleManager.mount(ColorInteractiveStylesComponent);
6447
6792
  }
6448
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ColorInteractiveContainerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
6449
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.13", type: ColorInteractiveContainerDirective, isStandalone: true, selector: "[etColorInteractiveContainer]", host: { classAttribute: "et-color-interactive-container" }, ngImport: i0 }); }
6793
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ColorInteractiveContainerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
6794
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: ColorInteractiveContainerDirective, isStandalone: true, selector: "[etColorInteractiveContainer]", host: { classAttribute: "et-color-interactive-container" }, ngImport: i0 }); }
6450
6795
  }
6451
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ColorInteractiveContainerDirective, decorators: [{
6796
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ColorInteractiveContainerDirective, decorators: [{
6452
6797
  type: Directive,
6453
6798
  args: [{
6454
6799
  selector: '[etColorInteractiveContainer]',
@@ -6471,10 +6816,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImpo
6471
6816
  * used to have (see its own comment).
6472
6817
  */
6473
6818
  class ColorInteractiveExcludeDirective {
6474
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ColorInteractiveExcludeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
6475
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.13", type: ColorInteractiveExcludeDirective, isStandalone: true, selector: "[etColorInteractiveExclude]", host: { classAttribute: "et-color-interactive-exclude" }, ngImport: i0 }); }
6819
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ColorInteractiveExcludeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
6820
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: ColorInteractiveExcludeDirective, isStandalone: true, selector: "[etColorInteractiveExclude]", host: { classAttribute: "et-color-interactive-exclude" }, ngImport: i0 }); }
6476
6821
  }
6477
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ColorInteractiveExcludeDirective, decorators: [{
6822
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ColorInteractiveExcludeDirective, decorators: [{
6478
6823
  type: Directive,
6479
6824
  args: [{
6480
6825
  selector: '[etColorInteractiveExclude]',
@@ -6504,10 +6849,10 @@ class ColorInteractiveHasFocusDirective {
6504
6849
  this.styleManager = injectStyleManager();
6505
6850
  this.styleManager.mount(ColorInteractiveStylesComponent);
6506
6851
  }
6507
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ColorInteractiveHasFocusDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
6508
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.13", type: ColorInteractiveHasFocusDirective, isStandalone: true, selector: "[etColorInteractiveHasFocus]", host: { classAttribute: "et-color-interactive--has-focus" }, ngImport: i0 }); }
6852
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ColorInteractiveHasFocusDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
6853
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: ColorInteractiveHasFocusDirective, isStandalone: true, selector: "[etColorInteractiveHasFocus]", host: { classAttribute: "et-color-interactive--has-focus" }, ngImport: i0 }); }
6509
6854
  }
6510
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ColorInteractiveHasFocusDirective, decorators: [{
6855
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ColorInteractiveHasFocusDirective, decorators: [{
6511
6856
  type: Directive,
6512
6857
  args: [{
6513
6858
  selector: '[etColorInteractiveHasFocus]',
@@ -6535,10 +6880,10 @@ class ColorInteractiveDirective {
6535
6880
  this.styleManager = injectStyleManager();
6536
6881
  this.styleManager.mount(ColorInteractiveStylesComponent);
6537
6882
  }
6538
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ColorInteractiveDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
6539
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.13", type: ColorInteractiveDirective, isStandalone: true, selector: "[etColorInteractive]", host: { classAttribute: "et-color-interactive" }, ngImport: i0 }); }
6883
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ColorInteractiveDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
6884
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: ColorInteractiveDirective, isStandalone: true, selector: "[etColorInteractive]", host: { classAttribute: "et-color-interactive" }, ngImport: i0 }); }
6540
6885
  }
6541
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ColorInteractiveDirective, decorators: [{
6886
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ColorInteractiveDirective, decorators: [{
6542
6887
  type: Directive,
6543
6888
  args: [{
6544
6889
  selector: '[etColorInteractive]',
@@ -6776,7 +7121,8 @@ class ProvideColorDirective {
6776
7121
  this.prefix = injectColorThemesPrefix({ optional: true });
6777
7122
  this.injector = inject(Injector);
6778
7123
  this.currentProviderSync = null;
6779
- this.forcedColor = signal(FORCED_COLOR_UNSET, ...(ngDevMode ? [{ debugName: "forcedColor" }] : /* istanbul ignore next */ []));
7124
+ this.forcedColor = signal(FORCED_COLOR_UNSET, /* @ts-ignore */
7125
+ ...(ngDevMode ? [{ debugName: "forcedColor" }] : /* istanbul ignore next */ []));
6780
7126
  this.color = input(undefined, { ...(ngDevMode ? { debugName: "color" } : /* istanbul ignore next */ {}), alias: 'etProvideColor' });
6781
7127
  this.effectiveColor = computed(() => {
6782
7128
  const forcedColor = this.forcedColor();
@@ -6784,7 +7130,8 @@ class ProvideColorDirective {
6784
7130
  return forcedColor;
6785
7131
  }
6786
7132
  return this.color();
6787
- }, ...(ngDevMode ? [{ debugName: "effectiveColor" }] : /* istanbul ignore next */ []));
7133
+ }, /* @ts-ignore */
7134
+ ...(ngDevMode ? [{ debugName: "effectiveColor" }] : /* istanbul ignore next */ []));
6788
7135
  this.colorName = computed(() => {
6789
7136
  const raw = this.effectiveColor();
6790
7137
  const value = typeof raw === 'object' && raw !== null ? raw.name : raw;
@@ -6794,14 +7141,16 @@ class ProvideColorDirective {
6794
7141
  console.error(`Theme ${value} does not exist. Please make sure to add it to provideColorThemesWithTailwind4()`);
6795
7142
  }
6796
7143
  return createCssColorThemeName(value);
6797
- }, ...(ngDevMode ? [{ debugName: "colorName" }] : /* istanbul ignore next */ []));
7144
+ }, /* @ts-ignore */
7145
+ ...(ngDevMode ? [{ debugName: "colorName" }] : /* istanbul ignore next */ []));
6798
7146
  this.themeClass = computed(() => {
6799
7147
  const prefix = this.prefix || 'et';
6800
7148
  if (this.colorName()) {
6801
7149
  return `${prefix}-color--${this.colorName()}`;
6802
7150
  }
6803
7151
  return `${prefix}-color--inherited`;
6804
- }, ...(ngDevMode ? [{ debugName: "themeClass" }] : /* istanbul ignore next */ []));
7152
+ }, /* @ts-ignore */
7153
+ ...(ngDevMode ? [{ debugName: "themeClass" }] : /* istanbul ignore next */ []));
6805
7154
  }
6806
7155
  syncWithProvider(provider) {
6807
7156
  this.currentProviderSync?.destroy();
@@ -6815,7 +7164,8 @@ class ProvideColorDirective {
6815
7164
  }
6816
7165
  this.forceColor(provideColor);
6817
7166
  });
6818
- }, ...(ngDevMode ? [{ debugName: "currentProviderSync" }] : /* istanbul ignore next */ []));
7167
+ }, /* @ts-ignore */
7168
+ ...(ngDevMode ? [{ debugName: "currentProviderSync" }] : /* istanbul ignore next */ []));
6819
7169
  });
6820
7170
  }
6821
7171
  stopSyncWithProvider() {
@@ -6837,10 +7187,10 @@ class ProvideColorDirective {
6837
7187
  }
6838
7188
  this.forcedColor.set(FORCED_COLOR_UNSET);
6839
7189
  }
6840
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ProvideColorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
6841
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.13", 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 }); }
7190
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ProvideColorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
7191
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.5", 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 }); }
6842
7192
  }
6843
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ProvideColorDirective, decorators: [{
7193
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ProvideColorDirective, decorators: [{
6844
7194
  type: Directive,
6845
7195
  args: [{
6846
7196
  selector: '[etProvideColor]',
@@ -6876,7 +7226,8 @@ class ProvideSurfaceDirective {
6876
7226
  this.prefix = injectSurfaceThemesPrefix({ optional: true });
6877
7227
  this.injector = inject(Injector);
6878
7228
  this.currentProviderSync = null;
6879
- this.forcedSurface = signal(FORCED_SURFACE_UNSET, ...(ngDevMode ? [{ debugName: "forcedSurface" }] : /* istanbul ignore next */ []));
7229
+ this.forcedSurface = signal(FORCED_SURFACE_UNSET, /* @ts-ignore */
7230
+ ...(ngDevMode ? [{ debugName: "forcedSurface" }] : /* istanbul ignore next */ []));
6880
7231
  this.surface = input(undefined, { ...(ngDevMode ? { debugName: "surface" } : /* istanbul ignore next */ {}), alias: 'etProvideSurface' });
6881
7232
  this.effectiveSurface = computed(() => {
6882
7233
  const forcedSurface = this.forcedSurface();
@@ -6884,7 +7235,8 @@ class ProvideSurfaceDirective {
6884
7235
  return forcedSurface;
6885
7236
  }
6886
7237
  return this.surface();
6887
- }, ...(ngDevMode ? [{ debugName: "effectiveSurface" }] : /* istanbul ignore next */ []));
7238
+ }, /* @ts-ignore */
7239
+ ...(ngDevMode ? [{ debugName: "effectiveSurface" }] : /* istanbul ignore next */ []));
6888
7240
  this.resolvedTheme = computed(() => {
6889
7241
  const value = this.effectiveSurface();
6890
7242
  if (!this.themes || !value)
@@ -6894,22 +7246,27 @@ class ProvideSurfaceDirective {
6894
7246
  console.error(`Surface theme ${value} does not exist. Please make sure to add it to provideSurfaceThemesWithTailwind4()`);
6895
7247
  }
6896
7248
  return theme;
6897
- }, ...(ngDevMode ? [{ debugName: "resolvedTheme" }] : /* istanbul ignore next */ []));
6898
- this.elevation = computed(() => this.resolvedTheme()?.elevation ?? 0, ...(ngDevMode ? [{ debugName: "elevation" }] : /* istanbul ignore next */ []));
6899
- this.surfaceType = computed(() => this.resolvedTheme()?.type ?? null, ...(ngDevMode ? [{ debugName: "surfaceType" }] : /* istanbul ignore next */ []));
7249
+ }, /* @ts-ignore */
7250
+ ...(ngDevMode ? [{ debugName: "resolvedTheme" }] : /* istanbul ignore next */ []));
7251
+ this.elevation = computed(() => this.resolvedTheme()?.elevation ?? 0, /* @ts-ignore */
7252
+ ...(ngDevMode ? [{ debugName: "elevation" }] : /* istanbul ignore next */ []));
7253
+ this.surfaceType = computed(() => this.resolvedTheme()?.type ?? null, /* @ts-ignore */
7254
+ ...(ngDevMode ? [{ debugName: "surfaceType" }] : /* istanbul ignore next */ []));
6900
7255
  this.surfaceName = computed(() => {
6901
7256
  const value = this.effectiveSurface();
6902
7257
  if (!this.themes || !value)
6903
7258
  return;
6904
7259
  return createCssSurfaceName(value);
6905
- }, ...(ngDevMode ? [{ debugName: "surfaceName" }] : /* istanbul ignore next */ []));
7260
+ }, /* @ts-ignore */
7261
+ ...(ngDevMode ? [{ debugName: "surfaceName" }] : /* istanbul ignore next */ []));
6906
7262
  this.surfaceClass = computed(() => {
6907
7263
  const prefix = this.prefix || 'et';
6908
7264
  if (this.surfaceName()) {
6909
7265
  return `${prefix}-surface--${this.surfaceName()}`;
6910
7266
  }
6911
7267
  return `${prefix}-surface--inherited`;
6912
- }, ...(ngDevMode ? [{ debugName: "surfaceClass" }] : /* istanbul ignore next */ []));
7268
+ }, /* @ts-ignore */
7269
+ ...(ngDevMode ? [{ debugName: "surfaceClass" }] : /* istanbul ignore next */ []));
6913
7270
  }
6914
7271
  syncWithProvider(provider) {
6915
7272
  this.currentProviderSync?.destroy();
@@ -6923,7 +7280,8 @@ class ProvideSurfaceDirective {
6923
7280
  }
6924
7281
  this.forceSurface(provideSurface);
6925
7282
  });
6926
- }, ...(ngDevMode ? [{ debugName: "currentProviderSync" }] : /* istanbul ignore next */ []));
7283
+ }, /* @ts-ignore */
7284
+ ...(ngDevMode ? [{ debugName: "currentProviderSync" }] : /* istanbul ignore next */ []));
6927
7285
  });
6928
7286
  }
6929
7287
  stopSyncWithProvider() {
@@ -6945,10 +7303,10 @@ class ProvideSurfaceDirective {
6945
7303
  }
6946
7304
  this.forcedSurface.set(FORCED_SURFACE_UNSET);
6947
7305
  }
6948
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ProvideSurfaceDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
6949
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.13", 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 }); }
7306
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ProvideSurfaceDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
7307
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.5", 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 }); }
6950
7308
  }
6951
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: ProvideSurfaceDirective, decorators: [{
7309
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ProvideSurfaceDirective, decorators: [{
6952
7310
  type: Directive,
6953
7311
  args: [{
6954
7312
  selector: '[etProvideSurface]',
@@ -6961,13 +7319,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImpo
6961
7319
 
6962
7320
  let uniqueId = 0;
6963
7321
  const [provideSurfaceContextTracker, injectSurfaceContextTracker] = createRootProvider(() => {
6964
- const entries = signal([], ...(ngDevMode ? [{ debugName: "entries" }] : /* istanbul ignore next */ []));
7322
+ const entries = signal([], /* @ts-ignore */
7323
+ ...(ngDevMode ? [{ debugName: "entries" }] : /* istanbul ignore next */ []));
6965
7324
  const topEntry = computed(() => {
6966
7325
  const stack = entries();
6967
7326
  return stack.length > 0 ? (stack[stack.length - 1] ?? null) : null;
6968
- }, ...(ngDevMode ? [{ debugName: "topEntry" }] : /* istanbul ignore next */ []));
6969
- const topType = computed(() => topEntry()?.type ?? null, ...(ngDevMode ? [{ debugName: "topType" }] : /* istanbul ignore next */ []));
6970
- const topElevation = computed(() => topEntry()?.elevation ?? 0, ...(ngDevMode ? [{ debugName: "topElevation" }] : /* istanbul ignore next */ []));
7327
+ }, /* @ts-ignore */
7328
+ ...(ngDevMode ? [{ debugName: "topEntry" }] : /* istanbul ignore next */ []));
7329
+ const topType = computed(() => topEntry()?.type ?? null, /* @ts-ignore */
7330
+ ...(ngDevMode ? [{ debugName: "topType" }] : /* istanbul ignore next */ []));
7331
+ const topElevation = computed(() => topEntry()?.elevation ?? 0, /* @ts-ignore */
7332
+ ...(ngDevMode ? [{ debugName: "topElevation" }] : /* istanbul ignore next */ []));
6971
7333
  const register = (type, elevation) => {
6972
7334
  const id = `surface-ctx-${uniqueId++}`;
6973
7335
  const entry = { id, type, elevation };
@@ -6980,10 +7342,10 @@ const [provideSurfaceContextTracker, injectSurfaceContextTracker] = createRootPr
6980
7342
  }, { name: 'SurfaceContextTracker' });
6981
7343
 
6982
7344
  class SurfaceInteractiveStylesComponent {
6983
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: SurfaceInteractiveStylesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6984
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.13", type: SurfaceInteractiveStylesComponent, isStandalone: true, selector: "et-surface-interactive-styles", ngImport: i0, template: '', isInline: true, styles: [":where(.et-surface-interactive){--et-surface-interaction-rgb: var(--et-surface-interaction);--et-surface-interaction-solid: rgb(var(--et-surface-interaction-rgb))}: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"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
7345
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SurfaceInteractiveStylesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7346
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.5", type: SurfaceInteractiveStylesComponent, isStandalone: true, selector: "et-surface-interactive-styles", ngImport: i0, template: '', isInline: true, styles: [":where(.et-surface-interactive){--et-surface-interaction-rgb: var(--et-surface-interaction);--et-surface-interaction-solid: rgb(var(--et-surface-interaction-rgb))}: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"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
6985
7347
  }
6986
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: SurfaceInteractiveStylesComponent, decorators: [{
7348
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SurfaceInteractiveStylesComponent, decorators: [{
6987
7349
  type: Component,
6988
7350
  args: [{ selector: 'et-surface-interactive-styles', template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":where(.et-surface-interactive){--et-surface-interaction-rgb: var(--et-surface-interaction);--et-surface-interaction-solid: rgb(var(--et-surface-interaction-rgb))}: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"] }]
6989
7351
  }] });
@@ -7004,10 +7366,10 @@ class SurfaceInteractiveDirective {
7004
7366
  this.styleManager = injectStyleManager();
7005
7367
  this.styleManager.mount(SurfaceInteractiveStylesComponent);
7006
7368
  }
7007
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: SurfaceInteractiveDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
7008
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.13", type: SurfaceInteractiveDirective, isStandalone: true, selector: "[etSurfaceInteractive]", host: { classAttribute: "et-surface-interactive" }, ngImport: i0 }); }
7369
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SurfaceInteractiveDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
7370
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: SurfaceInteractiveDirective, isStandalone: true, selector: "[etSurfaceInteractive]", host: { classAttribute: "et-surface-interactive" }, ngImport: i0 }); }
7009
7371
  }
7010
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImport: i0, type: SurfaceInteractiveDirective, decorators: [{
7372
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SurfaceInteractiveDirective, decorators: [{
7011
7373
  type: Directive,
7012
7374
  args: [{
7013
7375
  selector: '[etSurfaceInteractive]',
@@ -7021,5 +7383,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.13", ngImpo
7021
7383
  * Generated bundle index. Do not edit.
7022
7384
  */
7023
7385
 
7024
- export { ANIMATABLE_TOKEN, ANIMATED_IF_TOKEN, ANIMATED_LIFECYCLE_TOKEN, AT_LEAST_ONE_REQUIRED, AnimatableDirective, AnimatedIfDirective, AnimatedLifecycleDirective, AnimatedOverlayDirective, BOUNDARY_ELEMENT_TOKEN, BREAKPOINT_INSTANCE_TOKEN, BREAKPOINT_ORDER, COLOR_PROVIDER, ClickOutsideDirective, ColorInteractiveContainerDirective, ColorInteractiveDirective, ColorInteractiveExcludeDirective, ColorInteractiveHasFocusDirective, DEFAULT_MULTI_INSTANCE_RELS, DEFAULT_MULTI_INSTANCE_TAGS, 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, FOCUSABLE_SELECTOR, FOCUS_VISIBLE_TRACKER_TOKEN, HtmlToMarkdownPipe, IS_ARRAY_NOT_EMPTY, IS_EMAIL, InferMimeTypePipe, IsArrayNotEmpty, IsEmail, jsonLd as JsonLD, KeyPressManager, MUST_MATCH, MarkdownToHtmlPipe, MustMatch, NormalizeGameResultTypePipe, NormalizeMatchParticipantsPipe, NormalizeMatchScorePipe, NormalizeMatchStatePipe, NormalizeMatchTypePipe, PropsDirective, ProvideColorDirective, ProvideSurfaceDirective, RUNTIME_ERROR_NO_DATA, RepeatDirective, ResizeHandlesComponent, RuntimeError, SEO_DIRECTIVE_TOKEN, SURFACE_PROVIDER, SURFACE_TYPE, ScrollObserverDirective, ScrollObserverEndDirective, ScrollObserverStartDirective, SeoDirective, StructuredDataComponent, SurfaceInteractiveDirective, ToArrayPipe, TypedQueryList, ValidateAtLeastOneRequired, Validators, applyAlternateBinding, applyAlternateLanguagesBindings, applyArticleBindings, applyAuthorBinding, applyCanonicalBinding, applyCenteredPosition, applyDescriptionBinding, applyHeadBinding, applyHeadTitleBinding, applyHostListener, applyHostListeners, applyInitialFocus, applyKeywordsBinding, applyLinkBinding, applyMetaBinding, applyNextBinding, applyOgBinding, applyOpenGraphBindings, applyPrevBinding, applyResourceHintsBindings, applyRobotsBinding, applySocialMediaBindings, applyStructuredDataBinding, applyTwitterCardBindings, areScrollStatesEqual, bindProps, boolBreakpointTransform, booleanBreakpointAttribute, boundingClientRectToElementRect, breakpointTransformBase, buildElementSignal, buildSignalEffects, canUseSessionMemory, clamp, clone, cloneFormGroup, computedTillFalsy, computedTillTruthy, controlValueSignal, controlValueSignalWithPrevious, createAnchoredPositionCleanup, createArrayPropertyBinding, createAutoSessionMemoryKey, createBulkPropertyBinding, createCanAnimateSignal, createComponentId, createCssColorThemeName, createCssSurfaceName, createDependencyStash, createDestroy, createDocumentElementSignal, createElementDictionary, createElementDimensions, createEmptyElementSignal, createFlipAnimation, createFlipAnimationGroup, createHostProps, createIsRenderedSignal, createLogger, createOverlayRuntimeRef, createPropHandlers, createPropertyBinding, createProps, createProvider, createRootProvider, createRootThemeCss, createRxHostListener, createSessionMemory, createSetup, createStaticProvider, createStaticRootProvider, createSwatchCss, createTailwindColorThemes, createTailwindCssVar, createTailwindRgbVar, createThemeStyle, createUserConsentProvider, deferredSignal, deleteCookie, easeElastic, easeIn, easeInOut, easeLinear, easeOut, easeOutBack, easeOutBackStrong, elementCanScroll, equal, firstElementSignal, focusElement, forceReflow, formatRuntimeError, fromNextFrame, getCookie, getDomain, getElementScrollCoordinates, getFocusableElements, getFormGroupValue, getGroupMatchPoints, getGroupMatchScore, getHeadingElement, getKnockoutMatchScore, getMatchScoreSubLine, getObjectProperty, getScrollContainerTarget, getScrollItemTarget, getScrollSnapTarget, hasCookie, htmlToMarkdown, inferMimeType, injectAngularRootElement, injectBoundaryElement, injectBreakpointInput, injectBreakpointIsMatched, injectBreakpointObserver, injectCanHover, injectColorThemes, injectColorThemesPrefix, injectCurrentBreakpoint, injectDeviceInputType, injectDisplayOrientation, injectErrorTheme, injectFocusVisibleTracker, injectFragment, injectHasPrecisionInput, injectHasTouchInput, injectHostElement, injectIs2Xl, injectIsLandscape, injectIsLg, injectIsMd, injectIsPortrait, injectIsRouterInitialized, injectIsSm, injectIsXl, injectIsXs, injectLinkStore, injectLinkStoreConfig, injectLocale, injectMediaQueryIsMatched, injectMetaConfig, injectMetaStore, injectObserveBreakpoint, injectObserveMediaQuery, injectOverlayRuntime, injectPathParam, injectPathParamChanges, injectPathParams, injectQueryParam, injectQueryParamChanges, injectQueryParams, injectRenderer, injectRoute, injectRouteData, injectRouteDataItem, injectRouteTitle, injectRouterEvent, injectRouterState, injectScrollbarDimensions, injectStructuredDataConfig, injectStructuredDataStore, injectStyleManager, injectSuccessTheme, injectSurfaceContextTracker, injectSurfaceThemes, injectSurfaceThemesPrefix, injectTemplateRef, injectTitleConfig, injectTitleStore, injectUrl, injectViewportConfig, injectViewportDimensions, injectViewportSize, injectWarningTheme, isArray, isElementSignal, isElementVisible, isFocusable, isGroupMatch, isHTMLElement, isKnockoutMatch, isObject, markdownToHtml, maybeSignalValue, memoizeSignal, nextFrame, normalizeGameResultType, normalizeMatchParticipant, normalizeMatchParticipants, normalizeMatchScore, normalizeMatchState, normalizeMatchType, numberBreakpointAttribute, numberBreakpointTransform, previousSignalValue, provideBoundaryElement, provideBreakpointInstance, provideBreakpointObserver, provideColorThemes, provideColorThemesWithTailwind4, provideFocusVisibleTracker, provideLinkStore, provideLinkStoreConfig, provideLocale, provideMetaConfig, provideMetaStore, provideOverlayRuntime, provideRenderer, provideStructuredDataConfig, provideStructuredDataStore, provideStyleManager, provideSurfaceContextTracker, provideSurfaceThemesWithTailwind4, provideTitleConfig, provideTitleStore, provideViewportConfig, resolveSurfaceByElevation, round, routerDisableScrollTop, scrollToElement, setBackdropStyles, setBaseElementStyles, setCookie, setInputSignal, setupFocusTrap, setupPositioning, setupScrollRestoration, signalAnimatedNumber, signalAttributes, signalClasses, signalElementChildren, signalElementDimensions, signalElementIntersection, signalElementLastScrollDirection, signalElementMutations, signalElementScrollState, signalHostAttributes, signalHostClasses, signalHostElementDimensions, signalHostElementIntersection, signalHostElementLastScrollDirection, signalHostElementMutations, signalHostElementScrollState, signalHostStyles, signalIsRendered, signalStyles, switchQueryListChanges, syncSignal, templateComputed, toArray, toArrayTrackByFn, toStringBinding, transformOrReturn, typedBreakpointTransform, unbindProps, useCursorDragScroll, writeScrollbarSizeToCssVariables, writeViewportSizeToCssVariables, ɵProvideColorThemes, ɵProvideColorThemesPrefix, ɵProvideSurfaceThemes, ɵProvideSurfaceThemesPrefix };
7386
+ export { ANIMATABLE_TOKEN, ANIMATED_IF_TOKEN, ANIMATED_LIFECYCLE_TOKEN, ANIMATION_DEBUG_STORAGE_KEY, AT_LEAST_ONE_REQUIRED, AnimatableDirective, AnimatedIfDirective, AnimatedLifecycleDirective, AnimatedOverlayDirective, BOUNDARY_ELEMENT_TOKEN, BREAKPOINT_INSTANCE_TOKEN, BREAKPOINT_ORDER, COLOR_PROVIDER, ClickOutsideDirective, ColorInteractiveContainerDirective, ColorInteractiveDirective, ColorInteractiveExcludeDirective, ColorInteractiveHasFocusDirective, DEFAULT_MULTI_INSTANCE_RELS, DEFAULT_MULTI_INSTANCE_TAGS, 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, FOCUSABLE_SELECTOR, FOCUS_VISIBLE_TRACKER_TOKEN, HtmlToMarkdownPipe, IS_ARRAY_NOT_EMPTY, IS_EMAIL, InferMimeTypePipe, IsArrayNotEmpty, IsEmail, jsonLd as JsonLD, KeyPressManager, MUST_MATCH, MarkdownToHtmlPipe, MustMatch, NormalizeGameResultTypePipe, NormalizeMatchParticipantsPipe, NormalizeMatchScorePipe, NormalizeMatchStatePipe, NormalizeMatchTypePipe, PropsDirective, ProvideColorDirective, ProvideSurfaceDirective, RUNTIME_ERROR_NO_DATA, RepeatDirective, ResizeHandlesComponent, RuntimeError, SEO_DIRECTIVE_TOKEN, SURFACE_PROVIDER, SURFACE_TYPE, ScrollObserverDirective, ScrollObserverEndDirective, ScrollObserverStartDirective, SeoDirective, StructuredDataComponent, SurfaceInteractiveDirective, ToArrayPipe, TypedQueryList, ValidateAtLeastOneRequired, Validators, animationDebugLog, applyAlternateBinding, applyAlternateLanguagesBindings, applyArticleBindings, applyAuthorBinding, applyCanonicalBinding, applyCenteredPosition, applyDescriptionBinding, applyGlobalPosition, applyHeadBinding, applyHeadTitleBinding, applyHostListener, applyHostListeners, applyInitialFocus, applyKeywordsBinding, applyLinkBinding, applyMetaBinding, applyNextBinding, applyOgBinding, applyOpenGraphBindings, applyPrevBinding, applyResourceHintsBindings, applyRobotsBinding, applySocialMediaBindings, applyStructuredDataBinding, applyTwitterCardBindings, areScrollStatesEqual, bindProps, boolBreakpointTransform, booleanBreakpointAttribute, boundingClientRectToElementRect, breakpointTransformBase, buildElementSignal, buildSignalEffects, canUseSessionMemory, clamp, clone, cloneFormGroup, computedTillFalsy, computedTillTruthy, controlValueSignal, controlValueSignalWithPrevious, createAnchoredPositionCleanup, createArrayPropertyBinding, createAutoSessionMemoryKey, createBulkPropertyBinding, createCanAnimateSignal, createComponentId, createCssColorThemeName, createCssSurfaceName, createDependencyStash, createDestroy, createDocumentElementSignal, createElementDictionary, createElementDimensions, createEmptyElementSignal, createFlipAnimation, createFlipAnimationGroup, createHostProps, createIsRenderedSignal, createLogger, createOverlayRuntimeRef, createPropHandlers, createPropertyBinding, createProps, createProvider, createRootProvider, createRootThemeCss, createRxHostListener, createSessionMemory, createSetup, createStaticProvider, createStaticRootProvider, createSwatchCss, createSwipeTracker, createTailwindColorThemes, createTailwindCssVar, createTailwindRgbVar, createThemeStyle, createUserConsentProvider, deferredSignal, deleteCookie, easeElastic, easeIn, easeInOut, easeLinear, easeOut, easeOutBack, easeOutBackStrong, elementCanScroll, equal, firstElementSignal, focusElement, forceReflow, formatRuntimeError, fromNextFrame, getCookie, getDomain, getElementScrollCoordinates, getFocusableElements, getFormGroupValue, getGroupMatchPoints, getGroupMatchScore, getHeadingElement, getKnockoutMatchScore, getMatchScoreSubLine, getObjectProperty, getScrollContainerTarget, getScrollItemTarget, getScrollSnapTarget, hasCookie, htmlToMarkdown, inferMimeType, injectAngularRootElement, injectBoundaryElement, injectBreakpointInput, injectBreakpointIsMatched, injectBreakpointObserver, injectCanHover, injectColorThemes, injectColorThemesPrefix, injectCurrentBreakpoint, injectDeviceInputType, injectDisplayOrientation, injectErrorTheme, injectFocusVisibleTracker, injectFragment, injectHasPrecisionInput, injectHasTouchInput, injectHostElement, injectIs2Xl, injectIsLandscape, injectIsLg, injectIsMd, injectIsPortrait, injectIsRouterInitialized, injectIsSm, injectIsXl, injectIsXs, injectLinkStore, injectLinkStoreConfig, injectLocale, injectMediaQueryIsMatched, injectMetaConfig, injectMetaStore, injectObserveBreakpoint, injectObserveMediaQuery, injectOverlayRuntime, injectPathParam, injectPathParamChanges, injectPathParams, injectQueryParam, injectQueryParamChanges, injectQueryParams, injectRenderer, injectRoute, injectRouteData, injectRouteDataItem, injectRouteTitle, injectRouterEvent, injectRouterState, injectScrollbarDimensions, injectStructuredDataConfig, injectStructuredDataStore, injectStyleManager, injectSuccessTheme, injectSurfaceContextTracker, injectSurfaceThemes, injectSurfaceThemesPrefix, injectTemplateRef, injectTitleConfig, injectTitleStore, injectUrl, injectViewportConfig, injectViewportDimensions, injectViewportSize, injectWarningTheme, isAnimationDebugEnabled, isArray, isElementSignal, isElementVisible, isFocusable, isGroupMatch, isHTMLElement, isKnockoutMatch, isObject, markdownToHtml, maybeSignalValue, memoizeSignal, nextFrame, normalizeGameResultType, normalizeMatchParticipant, normalizeMatchParticipants, normalizeMatchScore, normalizeMatchState, normalizeMatchType, numberBreakpointAttribute, numberBreakpointTransform, previousSignalValue, provideBoundaryElement, provideBreakpointInstance, provideBreakpointObserver, provideColorThemes, provideColorThemesWithTailwind4, provideFocusVisibleTracker, provideLinkStore, provideLinkStoreConfig, provideLocale, provideMetaConfig, provideMetaStore, provideOverlayRuntime, provideRenderer, provideStructuredDataConfig, provideStructuredDataStore, provideStyleManager, provideSurfaceContextTracker, provideSurfaceThemesWithTailwind4, provideTitleConfig, provideTitleStore, provideViewportConfig, resetPositioningStyles, resolveSurfaceByElevation, round, routerDisableScrollTop, scrollToElement, setBackdropStyles, setBaseElementStyles, setCookie, setInputSignal, setupFocusTrap, setupPositioning, setupScrollRestoration, signalAnimatedNumber, signalAttributes, signalClasses, signalElementChildren, signalElementDimensions, signalElementIntersection, signalElementLastScrollDirection, signalElementMutations, signalElementScrollState, signalHostAttributes, signalHostClasses, signalHostElementDimensions, signalHostElementIntersection, signalHostElementLastScrollDirection, signalHostElementMutations, signalHostElementScrollState, signalHostStyles, signalIsRendered, signalStyles, switchQueryListChanges, syncSignal, templateComputed, toArray, toArrayTrackByFn, toStringBinding, transformOrReturn, typedBreakpointTransform, unbindProps, useCursorDragScroll, writeScrollbarSizeToCssVariables, writeViewportSizeToCssVariables, ɵProvideColorThemes, ɵProvideColorThemesPrefix, ɵProvideSurfaceThemes, ɵProvideSurfaceThemesPrefix };
7025
7387
  //# sourceMappingURL=ethlete-core.mjs.map