@ethlete/core 4.27.1 → 4.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/fesm2022/ethlete-core.mjs +128 -127
  3. package/fesm2022/ethlete-core.mjs.map +1 -1
  4. package/index.d.ts +1973 -36
  5. package/package.json +9 -8
  6. package/lib/components/structured-data/index.d.ts +0 -1
  7. package/lib/components/structured-data/structured-data.component.d.ts +0 -11
  8. package/lib/constants/index.d.ts +0 -1
  9. package/lib/constants/viewport.constants.d.ts +0 -8
  10. package/lib/decorators/memo/index.d.ts +0 -1
  11. package/lib/decorators/memo/memo.decorator.d.ts +0 -13
  12. package/lib/directives/animatable/animatable.directive.d.ts +0 -24
  13. package/lib/directives/animatable/index.d.ts +0 -1
  14. package/lib/directives/animated-if/animated-if.directive.d.ts +0 -12
  15. package/lib/directives/animated-if/index.d.ts +0 -1
  16. package/lib/directives/animated-lifecycle/animated-lifecycle.directive.d.ts +0 -29
  17. package/lib/directives/animated-lifecycle/index.d.ts +0 -1
  18. package/lib/directives/animated-overlay/animated-overlay.directive.d.ts +0 -118
  19. package/lib/directives/animated-overlay/index.d.ts +0 -1
  20. package/lib/directives/click-outside/click-outside.directive.d.ts +0 -12
  21. package/lib/directives/click-outside/index.d.ts +0 -1
  22. package/lib/directives/cursor-drag-scroll/cursor-drag-scroll.constants.d.ts +0 -2
  23. package/lib/directives/cursor-drag-scroll/cursor-drag-scroll.directive.d.ts +0 -30
  24. package/lib/directives/cursor-drag-scroll/index.d.ts +0 -2
  25. package/lib/directives/debug/debug.directive.d.ts +0 -15
  26. package/lib/directives/debug/index.d.ts +0 -1
  27. package/lib/directives/delayable/delayable.directive.d.ts +0 -13
  28. package/lib/directives/delayable/index.d.ts +0 -1
  29. package/lib/directives/is-active-element/index.d.ts +0 -1
  30. package/lib/directives/is-active-element/is-active-element.directive.d.ts +0 -10
  31. package/lib/directives/is-element/index.d.ts +0 -1
  32. package/lib/directives/is-element/is-element.directive.d.ts +0 -10
  33. package/lib/directives/let/index.d.ts +0 -2
  34. package/lib/directives/let/let.directive.d.ts +0 -15
  35. package/lib/directives/let/let.types.d.ts +0 -4
  36. package/lib/directives/observe-content/index.d.ts +0 -1
  37. package/lib/directives/observe-content/observe-content.directive.d.ts +0 -21
  38. package/lib/directives/observe-resize/index.d.ts +0 -1
  39. package/lib/directives/observe-resize/observe-resize.directive.d.ts +0 -21
  40. package/lib/directives/observe-scroll-state/index.d.ts +0 -3
  41. package/lib/directives/observe-scroll-state/observe-scroll-state.constants.d.ts +0 -3
  42. package/lib/directives/observe-scroll-state/observe-scroll-state.directive.d.ts +0 -31
  43. package/lib/directives/observe-scroll-state/observe-scroll-state.types.d.ts +0 -6
  44. package/lib/directives/observe-visibility/index.d.ts +0 -1
  45. package/lib/directives/observe-visibility/observe-visibility.directive.d.ts +0 -30
  46. package/lib/directives/repeat/index.d.ts +0 -1
  47. package/lib/directives/repeat/repeat.directive.d.ts +0 -13
  48. package/lib/directives/root-boundary/index.d.ts +0 -1
  49. package/lib/directives/root-boundary/root-boundary.directive.d.ts +0 -11
  50. package/lib/directives/scroll-observer-first-element/index.d.ts +0 -1
  51. package/lib/directives/scroll-observer-first-element/scroll-observer-first-element.directive.d.ts +0 -8
  52. package/lib/directives/scroll-observer-ignore-target/index.d.ts +0 -1
  53. package/lib/directives/scroll-observer-ignore-target/scroll-observer-ignore-target.directive.d.ts +0 -6
  54. package/lib/directives/scroll-observer-last-element/index.d.ts +0 -1
  55. package/lib/directives/scroll-observer-last-element/scroll-observer-last-element.directive.d.ts +0 -8
  56. package/lib/directives/seo/index.d.ts +0 -4
  57. package/lib/directives/seo/seo.directive.constants.d.ts +0 -3
  58. package/lib/directives/seo/seo.directive.d.ts +0 -21
  59. package/lib/directives/seo/seo.directive.types.d.ts +0 -51
  60. package/lib/directives/seo/seo.directive.utils.d.ts +0 -2
  61. package/lib/pipes/infer-mime-type/index.d.ts +0 -2
  62. package/lib/pipes/infer-mime-type/infer-mime-type.pipe.d.ts +0 -7
  63. package/lib/pipes/infer-mime-type/infer-mime-type.util.d.ts +0 -6
  64. package/lib/pipes/normalize-game-result-type/index.d.ts +0 -3
  65. package/lib/pipes/normalize-game-result-type/normalize-game-result-type.pipe.d.ts +0 -7
  66. package/lib/pipes/normalize-game-result-type/normalize-game-result-type.types.d.ts +0 -4
  67. package/lib/pipes/normalize-game-result-type/normalize-game-result-type.util.d.ts +0 -2
  68. package/lib/pipes/normalize-match-participants/index.d.ts +0 -3
  69. package/lib/pipes/normalize-match-participants/normalize-match-participants.pipe.d.ts +0 -7
  70. package/lib/pipes/normalize-match-participants/normalize-match-participants.types.d.ts +0 -21
  71. package/lib/pipes/normalize-match-participants/normalize-match-participants.util.d.ts +0 -4
  72. package/lib/pipes/normalize-match-score/index.d.ts +0 -3
  73. package/lib/pipes/normalize-match-score/normalize-match-score.pipe.d.ts +0 -7
  74. package/lib/pipes/normalize-match-score/normalize-match-score.types.d.ts +0 -12
  75. package/lib/pipes/normalize-match-score/normalize-match-score.util.d.ts +0 -27
  76. package/lib/pipes/normalize-match-state/index.d.ts +0 -3
  77. package/lib/pipes/normalize-match-state/normalize-match-state.constants.d.ts +0 -7
  78. package/lib/pipes/normalize-match-state/normalize-match-state.pipe.d.ts +0 -7
  79. package/lib/pipes/normalize-match-state/normalize-match-state.util.d.ts +0 -3
  80. package/lib/pipes/normalize-match-type/index.d.ts +0 -2
  81. package/lib/pipes/normalize-match-type/normalize-match-type.pipe.d.ts +0 -7
  82. package/lib/pipes/normalize-match-type/normalize-match-type.util.d.ts +0 -3
  83. package/lib/pipes/to-array/index.d.ts +0 -2
  84. package/lib/pipes/to-array/to-array.pipe.d.ts +0 -7
  85. package/lib/pipes/to-array/to-array.util.d.ts +0 -3
  86. package/lib/props/create-prop-handlers.d.ts +0 -27
  87. package/lib/props/create-props.d.ts +0 -54
  88. package/lib/props/create-setup.d.ts +0 -4
  89. package/lib/props/dependency-stash.d.ts +0 -11
  90. package/lib/props/element-dictionary.d.ts +0 -11
  91. package/lib/props/index.d.ts +0 -8
  92. package/lib/props/props-binding.d.ts +0 -12
  93. package/lib/props/props.directive.d.ts +0 -38
  94. package/lib/props/template-input.d.ts +0 -30
  95. package/lib/services/click-observer.service.d.ts +0 -20
  96. package/lib/services/content-observer.service.d.ts +0 -20
  97. package/lib/services/focus-visible.service.d.ts +0 -11
  98. package/lib/services/index.d.ts +0 -8
  99. package/lib/services/intersection-observer.service.d.ts +0 -20
  100. package/lib/services/resize-observer.service.d.ts +0 -20
  101. package/lib/services/router-state.service.d.ts +0 -96
  102. package/lib/services/viewport.service.d.ts +0 -64
  103. package/lib/services/viewport.types.d.ts +0 -5
  104. package/lib/types/angular.types.d.ts +0 -13
  105. package/lib/types/i18n.types.d.ts +0 -4
  106. package/lib/types/index.d.ts +0 -4
  107. package/lib/types/value.types.d.ts +0 -2
  108. package/lib/types/viewport.types.d.ts +0 -12
  109. package/lib/utils/active-selection-model.utils.d.ts +0 -18
  110. package/lib/utils/angular.utils.d.ts +0 -3
  111. package/lib/utils/animation.utils.d.ts +0 -61
  112. package/lib/utils/clamp.util.d.ts +0 -1
  113. package/lib/utils/clone.util.d.ts +0 -15
  114. package/lib/utils/component-id.utils.d.ts +0 -1
  115. package/lib/utils/cookie.util.d.ts +0 -5
  116. package/lib/utils/destroy.utils.d.ts +0 -1
  117. package/lib/utils/equal.util.d.ts +0 -27
  118. package/lib/utils/form.utils.d.ts +0 -3
  119. package/lib/utils/index.d.ts +0 -27
  120. package/lib/utils/inject.utils.d.ts +0 -3
  121. package/lib/utils/intersection-observer.utils.d.ts +0 -40
  122. package/lib/utils/key-press-manager.utils.d.ts +0 -9
  123. package/lib/utils/logger.d.ts +0 -10
  124. package/lib/utils/media-query-observable.util.d.ts +0 -5
  125. package/lib/utils/mutation-observable.util.d.ts +0 -7
  126. package/lib/utils/object.utils.d.ts +0 -3
  127. package/lib/utils/reactive-binding.util.d.ts +0 -31
  128. package/lib/utils/resize-observable.util.d.ts +0 -5
  129. package/lib/utils/round.utils.d.ts +0 -1
  130. package/lib/utils/runtime-error.utils.d.ts +0 -8
  131. package/lib/utils/scrollable.utils.d.ts +0 -91
  132. package/lib/utils/selection-model.utils.d.ts +0 -108
  133. package/lib/utils/signal.utils.d.ts +0 -308
  134. package/lib/utils/smart-block-scroll-strategy.utils.d.ts +0 -17
  135. package/lib/utils/value.utils.d.ts +0 -4
  136. package/lib/utils/viewport.util.d.ts +0 -6
  137. package/lib/validators/at-least-one-required.validator.d.ts +0 -14
  138. package/lib/validators/index.d.ts +0 -12
  139. package/lib/validators/is-array-not-empty.validator.d.ts +0 -3
  140. package/lib/validators/is-email.validator.d.ts +0 -3
  141. package/lib/validators/must-match.validator.d.ts +0 -5
package/index.d.ts CHANGED
@@ -1,36 +1,1973 @@
1
- export * from './lib/components/structured-data';
2
- export * from './lib/constants';
3
- export * from './lib/decorators/memo';
4
- export * from './lib/directives/animatable';
5
- export * from './lib/directives/animated-if';
6
- export * from './lib/directives/animated-lifecycle';
7
- export * from './lib/directives/animated-overlay';
8
- export * from './lib/directives/click-outside';
9
- export * from './lib/directives/cursor-drag-scroll';
10
- export * from './lib/directives/debug';
11
- export * from './lib/directives/delayable';
12
- export * from './lib/directives/is-active-element';
13
- export * from './lib/directives/is-element';
14
- export * from './lib/directives/let';
15
- export * from './lib/directives/observe-content';
16
- export * from './lib/directives/observe-resize';
17
- export * from './lib/directives/observe-scroll-state';
18
- export * from './lib/directives/observe-visibility';
19
- export * from './lib/directives/repeat';
20
- export * from './lib/directives/root-boundary';
21
- export * from './lib/directives/scroll-observer-first-element';
22
- export * from './lib/directives/scroll-observer-ignore-target';
23
- export * from './lib/directives/scroll-observer-last-element';
24
- export * from './lib/directives/seo';
25
- export * from './lib/pipes/infer-mime-type';
26
- export * from './lib/pipes/normalize-game-result-type';
27
- export * from './lib/pipes/normalize-match-participants';
28
- export * from './lib/pipes/normalize-match-score';
29
- export * from './lib/pipes/normalize-match-state';
30
- export * from './lib/pipes/normalize-match-type';
31
- export * from './lib/pipes/to-array';
32
- export * from './lib/props';
33
- export * from './lib/services';
34
- export * from './lib/types';
35
- export * from './lib/utils';
36
- export * from './lib/validators';
1
+ import { SafeHtml } from '@angular/platform-browser';
2
+ import * as _ethlete_types from '@ethlete/types';
3
+ import { JsonLD, ParticipantViewUnion, MatchListView, MatchRankingView, StageType } from '@ethlete/types';
4
+ import * as i0 from '@angular/core';
5
+ import { Type, QueryList, InjectionToken, OnInit, AfterViewInit, ElementRef, ComponentRef, StaticProvider, OnDestroy, EventEmitter, AfterContentInit, Signal, TemplateRef, ViewContainerRef, PipeTransform, TrackByFunction, WritableSignal, DestroyRef, Injector, EffectRef } from '@angular/core';
6
+ import * as rxjs from 'rxjs';
7
+ import { Observable, Subject } from 'rxjs';
8
+ import * as i1 from '@angular/common';
9
+ import { OverlayRef, ScrollStrategy } from '@angular/cdk/overlay';
10
+ import { ComponentPortal, ComponentType } from '@angular/cdk/portal';
11
+ import { ProvideThemeDirective } from '@ethlete/theming';
12
+ import { Placement, OffsetOptions, Padding } from '@floating-ui/dom';
13
+ import * as _ethlete_core from '@ethlete/core';
14
+ import * as _angular_router from '@angular/router';
15
+ import { Data, Params } from '@angular/router';
16
+ import * as _angular_forms from '@angular/forms';
17
+ import { FormGroup, AbstractControl, FormControl, ValidatorFn, ValidationErrors } from '@angular/forms';
18
+
19
+ declare class StructuredDataComponent {
20
+ private readonly _sanitizer;
21
+ set data(currentValue: JsonLD.WithContext<JsonLD.Thing> | JsonLD.Graph | null | undefined);
22
+ jsonLD?: SafeHtml;
23
+ getSafeHTML(value: JsonLD.WithContext<JsonLD.Thing> | JsonLD.Graph | null | undefined): SafeHtml;
24
+ static ɵfac: i0.ɵɵFactoryDeclaration<StructuredDataComponent, never>;
25
+ static ɵcmp: i0.ɵɵComponentDeclaration<StructuredDataComponent, "et-structured-data", never, { "data": { "alias": "data"; "required": false; }; }, {}, never, never, true, never>;
26
+ }
27
+
28
+ type NgClassType = string | string[] | Set<string> | {
29
+ [klass: string]: any;
30
+ } | null | undefined;
31
+ type HostDirective = Type<unknown> | {
32
+ directive: Type<unknown>;
33
+ inputs?: string[];
34
+ outputs?: string[];
35
+ };
36
+ declare class TypedQueryList<T> extends QueryList<T> {
37
+ get changes(): Observable<TypedQueryList<T>>;
38
+ }
39
+
40
+ interface Translatable {
41
+ i18n: string;
42
+ text: string;
43
+ }
44
+
45
+ type Primitive = string | number | boolean | null | undefined | symbol | bigint;
46
+ type Reference = Record<string, unknown> | Array<unknown>;
47
+
48
+ type Vec2 = [number, number];
49
+ interface ViewportConfig {
50
+ breakpoints: {
51
+ xs: Vec2;
52
+ sm: Vec2;
53
+ md: Vec2;
54
+ lg: Vec2;
55
+ xl: Vec2;
56
+ '2xl': Vec2;
57
+ };
58
+ }
59
+ type Breakpoint = keyof ViewportConfig['breakpoints'];
60
+
61
+ declare const VIEWPORT_CONFIG: InjectionToken<ViewportConfig>;
62
+ /**
63
+ * Default viewport config based on Tailwind CSS.
64
+ * @see https://tailwindcss.com/docs/screens
65
+ */
66
+ declare const DEFAULT_VIEWPORT_CONFIG: ViewportConfig;
67
+
68
+ interface MemoResolver {
69
+ (...args: any[]): any;
70
+ }
71
+ interface MapLike<K = unknown, V = unknown> {
72
+ set(key: K, v: V): MapLike<K, V>;
73
+ get(key: K): V;
74
+ has(key: K): boolean;
75
+ }
76
+ interface MemoConfig {
77
+ resolver?: MemoResolver;
78
+ cache?: MapLike;
79
+ }
80
+ declare const Memo: (config?: MemoConfig) => (_: unknown, __: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
81
+
82
+ declare const ANIMATABLE_TOKEN: InjectionToken<AnimatableDirective>;
83
+ declare class AnimatableDirective implements OnInit {
84
+ private _didEmitStart;
85
+ private readonly _parent;
86
+ private readonly _destroy$;
87
+ private readonly _elementRef;
88
+ private readonly _animationStart$;
89
+ private readonly _animationEnd$;
90
+ private readonly _animationCancelled$;
91
+ set animatedElement(value: string | HTMLElement | null | undefined);
92
+ private _animatedElement$;
93
+ readonly animationStart$: Observable<void>;
94
+ readonly animationEnd$: Observable<void>;
95
+ readonly animationCancelled$: Observable<void>;
96
+ private readonly _hostActiveAnimationCount$;
97
+ private readonly _totalActiveAnimationCount$;
98
+ readonly isAnimating$: Observable<boolean>;
99
+ ngOnInit(): void;
100
+ static ɵfac: i0.ɵɵFactoryDeclaration<AnimatableDirective, never>;
101
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AnimatableDirective, "[etAnimatable]", ["etAnimatable"], { "animatedElement": { "alias": "etAnimatable"; "required": false; }; }, {}, never, never, true, never>;
102
+ }
103
+
104
+ declare const ANIMATED_IF_TOKEN: InjectionToken<AnimatedIfDirective>;
105
+ declare class AnimatedIfDirective {
106
+ private readonly _destroy$;
107
+ private readonly _ngIf;
108
+ private readonly _animatedLifecycle;
109
+ set shouldRender(value: unknown);
110
+ static ɵfac: i0.ɵɵFactoryDeclaration<AnimatedIfDirective, never>;
111
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AnimatedIfDirective, "[etAnimatedIf]", never, { "shouldRender": { "alias": "etAnimatedIf"; "required": false; }; }, {}, never, never, true, [{ directive: typeof i1.NgIf; inputs: {}; outputs: {}; }]>;
112
+ }
113
+
114
+ declare const ANIMATED_LIFECYCLE_TOKEN: InjectionToken<AnimatedLifecycleDirective>;
115
+ type AnimatedLifecycleState = 'entering' | 'entered' | 'leaving' | 'left' | 'init';
116
+ declare class AnimatedLifecycleDirective implements AfterViewInit {
117
+ private readonly _destroy$;
118
+ private readonly _elementRef;
119
+ private readonly _animatable;
120
+ private readonly _classList;
121
+ private _isConstructed;
122
+ private _state$;
123
+ readonly state$: rxjs.Observable<AnimatedLifecycleState>;
124
+ get state(): AnimatedLifecycleState;
125
+ stateSignal: i0.Signal<AnimatedLifecycleState>;
126
+ stateChange: i0.OutputRef<AnimatedLifecycleState>;
127
+ skipNextEnter: i0.ModelSignal<boolean>;
128
+ constructor();
129
+ ngAfterViewInit(): void;
130
+ enter(config?: {
131
+ onlyTransition?: boolean;
132
+ }): void;
133
+ leave(config?: {
134
+ onlyTransition?: boolean;
135
+ }): void;
136
+ _forceState(state: AnimatedLifecycleState): void;
137
+ static ɵfac: i0.ɵɵFactoryDeclaration<AnimatedLifecycleDirective, never>;
138
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AnimatedLifecycleDirective, "[etAnimatedLifecycle]", ["etAnimatedLifecycle"], { "skipNextEnter": { "alias": "skipNextEnter"; "required": false; "isSignal": true; }; }, { "stateChange": "stateChange"; "skipNextEnter": "skipNextEnterChange"; }, never, never, true, [{ directive: typeof AnimatableDirective; inputs: {}; outputs: {}; }]>;
139
+ }
140
+
141
+ interface AnimatedOverlayComponentBase {
142
+ _elementRef?: ElementRef<HTMLElement>;
143
+ _animatedLifecycle?: AnimatedLifecycleDirective;
144
+ _markForCheck?: () => void;
145
+ _setThemeFromProvider?: (provider: ProvideThemeDirective) => void;
146
+ }
147
+ declare class AnimatedOverlayDirective<T extends AnimatedOverlayComponentBase> {
148
+ private readonly _destroy$;
149
+ private readonly _overlayService;
150
+ private readonly _injector;
151
+ private readonly _viewContainerRef;
152
+ private readonly _zone;
153
+ private readonly _elementRef;
154
+ private readonly _resizeObserverService;
155
+ private readonly _rootBoundary;
156
+ private _portal;
157
+ private _overlayRef;
158
+ private _componentRef;
159
+ private _floatingElCleanupFn;
160
+ private _beforeOpened;
161
+ private _afterOpened;
162
+ private _beforeClosed;
163
+ private _afterClosed;
164
+ private readonly _isMounted$;
165
+ private readonly _isMounting$;
166
+ private readonly _isUnmounting$;
167
+ private readonly _isHidden$;
168
+ /**
169
+ * The placement of the animated overlay.
170
+ * @default undefined
171
+ */
172
+ placement?: Placement;
173
+ /**
174
+ * The allowed auto placements of the animated overlay.
175
+ * @see https://floating-ui.com/docs/flip#fallbackplacements
176
+ */
177
+ fallbackPlacements?: Placement[];
178
+ /**
179
+ * The offset of the animated overlay.
180
+ * @see https://floating-ui.com/docs/offset
181
+ */
182
+ offset: OffsetOptions | null;
183
+ /**
184
+ * The arrow padding.
185
+ * @see https://floating-ui.com/docs/arrow#padding
186
+ * @default 4
187
+ */
188
+ arrowPadding: Padding | null;
189
+ /**
190
+ * The viewport padding.
191
+ * @default 8
192
+ */
193
+ viewportPadding: Padding | null;
194
+ /**
195
+ * Whether the animated overlay should auto resize to fit the available space.
196
+ * Useful for things like selects where the list of options might be longer than the available space.
197
+ * @default false
198
+ */
199
+ autoResize: boolean;
200
+ /**
201
+ * Whether the animated overlay should shift when it is near the viewport boundary.
202
+ */
203
+ shift: boolean;
204
+ /**
205
+ * Whether the animated overlay should auto hide when the reference element is hidden.
206
+ * @default false
207
+ */
208
+ autoHide: boolean;
209
+ /**
210
+ * Whether the animated overlay should auto close if the reference element is hidden.
211
+ * @default false
212
+ */
213
+ autoCloseIfReferenceHidden: boolean;
214
+ /**
215
+ * The reference element for the animated overlay.
216
+ * @default this._elementRef.nativeElement
217
+ */
218
+ referenceElement: HTMLElement;
219
+ get isMounted(): boolean;
220
+ get isMounted$(): rxjs.Observable<boolean>;
221
+ get isMounting(): boolean;
222
+ get isMounting$(): rxjs.Observable<boolean>;
223
+ get isUnmounting(): boolean;
224
+ get isHidden$(): rxjs.Observable<boolean>;
225
+ get isHidden(): boolean;
226
+ get canMount(): boolean;
227
+ get canUnmount(): boolean;
228
+ get portal(): ComponentPortal<T> | null;
229
+ get overlayRef(): OverlayRef | null;
230
+ get componentRef(): ComponentRef<T> | null;
231
+ mount(config: {
232
+ component: ComponentType<T>;
233
+ providers?: StaticProvider[];
234
+ data?: Partial<T>;
235
+ mirrorWidth?: boolean;
236
+ themeProvider?: ProvideThemeDirective | null;
237
+ }): T | undefined;
238
+ unmount(): void;
239
+ beforeOpened(): Subject<void>;
240
+ afterOpened(): Subject<void>;
241
+ beforeClosed(): Subject<void>;
242
+ afterClosed(): Subject<void>;
243
+ _destroy(): void;
244
+ static ɵfac: i0.ɵɵFactoryDeclaration<AnimatedOverlayDirective<any>, never>;
245
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AnimatedOverlayDirective<any>, never, never, { "placement": { "alias": "placement"; "required": false; }; "fallbackPlacements": { "alias": "fallbackPlacements"; "required": false; }; "offset": { "alias": "offset"; "required": false; }; "arrowPadding": { "alias": "arrowPadding"; "required": false; }; "viewportPadding": { "alias": "viewportPadding"; "required": false; }; "autoResize": { "alias": "autoResize"; "required": false; }; "shift": { "alias": "shift"; "required": false; }; "autoHide": { "alias": "autoHide"; "required": false; }; "autoCloseIfReferenceHidden": { "alias": "autoCloseIfReferenceHidden"; "required": false; }; "referenceElement": { "alias": "referenceElement"; "required": false; }; }, {}, never, never, true, never>;
246
+ static ngAcceptInputType_autoResize: unknown;
247
+ static ngAcceptInputType_shift: unknown;
248
+ static ngAcceptInputType_autoHide: unknown;
249
+ static ngAcceptInputType_autoCloseIfReferenceHidden: unknown;
250
+ }
251
+
252
+ declare class ClickOutsideDirective implements OnInit, OnDestroy {
253
+ private _elementRef;
254
+ private _clickObserverService;
255
+ private _subscription;
256
+ etClickOutside: EventEmitter<MouseEvent>;
257
+ ngOnInit(): void;
258
+ ngOnDestroy(): void;
259
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClickOutsideDirective, never>;
260
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ClickOutsideDirective, "[etClickOutside]", never, {}, { "etClickOutside": "etClickOutside"; }, never, never, true, never>;
261
+ }
262
+
263
+ declare const CURSOR_DRAG_SCROLLING_CLASS = "et-cursor-drag-scroll--scrolling";
264
+ declare const CURSOR_DRAG_SCROLLING_PREPARED_CLASS = "et-cursor-drag-scroll--prepared";
265
+
266
+ declare class CursorDragScrollDirective implements AfterViewInit {
267
+ private readonly _subscriptions;
268
+ private readonly _destroy$;
269
+ private readonly _elementRef;
270
+ private readonly _contentObserverService;
271
+ private readonly _resizeObserverService;
272
+ private readonly _bufferUntilScroll;
273
+ private readonly _mouseUp$;
274
+ private _isScrolling;
275
+ private _canScroll;
276
+ private _currentScrollState;
277
+ get enabled(): boolean;
278
+ set enabled(value: unknown);
279
+ private _enabled;
280
+ allowedDirection: 'horizontal' | 'vertical' | 'both';
281
+ readonly cursorDragStart: EventEmitter<void>;
282
+ readonly cursorDragMove: EventEmitter<void>;
283
+ readonly cursorDragEnd: EventEmitter<void>;
284
+ ngAfterViewInit(): void;
285
+ private _enableCursorDragScroll;
286
+ private _disableCursorDragScroll;
287
+ private _onMouseDown;
288
+ private _mouseMoveHandler;
289
+ private _mouseUpHandler;
290
+ private _updateCanScrollState;
291
+ static ɵfac: i0.ɵɵFactoryDeclaration<CursorDragScrollDirective, never>;
292
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CursorDragScrollDirective, "[etCursorDragScroll]", ["etCursorDragScroll"], { "enabled": { "alias": "etCursorDragScroll"; "required": false; }; "allowedDirection": { "alias": "allowedDirection"; "required": false; }; }, { "cursorDragStart": "cursorDragStart"; "cursorDragMove": "cursorDragMove"; "cursorDragEnd": "cursorDragEnd"; }, never, never, true, never>;
293
+ }
294
+
295
+ declare const DEBUG_TOKEN: InjectionToken<DebugDirective>;
296
+ declare class DebugDirective {
297
+ private readonly _destroy$;
298
+ private set sDebug(value);
299
+ private _debug;
300
+ readonly debug: i0.Signal<boolean>;
301
+ readonly debug$: rxjs.Observable<boolean>;
302
+ readonly startDebug$: rxjs.Observable<boolean>;
303
+ readonly stopDebug$: rxjs.Observable<boolean>;
304
+ static ɵfac: i0.ɵɵFactoryDeclaration<DebugDirective, never>;
305
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DebugDirective, "[etDebug]", ["etDebug"], { "sDebug": { "alias": "etDebug"; "required": false; }; }, {}, never, never, true, never>;
306
+ static ngAcceptInputType_sDebug: unknown;
307
+ }
308
+
309
+ declare const DELAYABLE_TOKEN: InjectionToken<DelayableDirective>;
310
+ declare class DelayableDirective {
311
+ private readonly _isDelayed$;
312
+ get isDelayed$(): rxjs.Observable<boolean>;
313
+ get isDelayed(): boolean;
314
+ enableDelayed(): void;
315
+ disableDelayed(): void;
316
+ setDelayed(val: boolean): void;
317
+ static ɵfac: i0.ɵɵFactoryDeclaration<DelayableDirective, never>;
318
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DelayableDirective, "[etDelayable]", ["etDelayable"], {}, {}, never, never, true, never>;
319
+ }
320
+
321
+ declare const IS_ACTIVE_ELEMENT: InjectionToken<IsActiveElementDirective>;
322
+ declare class IsActiveElementDirective {
323
+ readonly elementRef: ElementRef<HTMLElement>;
324
+ isActiveElement: boolean;
325
+ static ɵfac: i0.ɵɵFactoryDeclaration<IsActiveElementDirective, never>;
326
+ static ɵdir: i0.ɵɵDirectiveDeclaration<IsActiveElementDirective, "[etIsActiveElement]", never, { "isActiveElement": { "alias": "etIsActiveElement"; "required": false; }; }, {}, never, never, true, never>;
327
+ static ngAcceptInputType_isActiveElement: unknown;
328
+ }
329
+
330
+ declare const IS_ELEMENT: InjectionToken<IsElementDirective>;
331
+ declare class IsElementDirective {
332
+ readonly elementRef: ElementRef<HTMLElement>;
333
+ isElement: boolean;
334
+ static ɵfac: i0.ɵɵFactoryDeclaration<IsElementDirective, never>;
335
+ static ɵdir: i0.ɵɵDirectiveDeclaration<IsElementDirective, "[etIsElement]", never, { "isElement": { "alias": "etIsElement"; "required": false; }; }, {}, never, never, true, never>;
336
+ static ngAcceptInputType_isElement: unknown;
337
+ }
338
+
339
+ declare class LetContext<T = unknown> {
340
+ $implicit: T;
341
+ etLet: T;
342
+ }
343
+
344
+ /** @deprecated Use the let keyword provided by Angular instead. */
345
+ declare class LetDirective<T = unknown> {
346
+ private _viewContainer;
347
+ set etLet(value: T);
348
+ static ngTemplateGuard_ngLet: 'binding';
349
+ private _context;
350
+ private _templateRef;
351
+ private _viewRef;
352
+ static ngTemplateContextGuard<T>(dir: LetDirective<T>, ctx: any): ctx is LetContext<T>;
353
+ private _updateView;
354
+ static ɵfac: i0.ɵɵFactoryDeclaration<LetDirective<any>, never>;
355
+ static ɵdir: i0.ɵɵDirectiveDeclaration<LetDirective<any>, "[etLet]", never, { "etLet": { "alias": "etLet"; "required": false; }; }, {}, never, never, true, never>;
356
+ }
357
+
358
+ declare class ObserveContentDirective implements AfterContentInit, OnDestroy {
359
+ private _contentObserver;
360
+ private _elementRef;
361
+ private _ngZone;
362
+ readonly valueChange: EventEmitter<MutationRecord[]>;
363
+ get disabled(): boolean;
364
+ set disabled(value: unknown);
365
+ private _disabled;
366
+ get debounce(): number | null;
367
+ set debounce(value: unknown);
368
+ private _debounce;
369
+ private _currentSubscription;
370
+ ngAfterContentInit(): void;
371
+ ngOnDestroy(): void;
372
+ private _subscribe;
373
+ private _unsubscribe;
374
+ static ɵfac: i0.ɵɵFactoryDeclaration<ObserveContentDirective, never>;
375
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ObserveContentDirective, "[etObserveContent]", ["etObserveContent"], { "disabled": { "alias": "etObserveContentDisabled"; "required": false; }; "debounce": { "alias": "etObserveContentDebounce"; "required": false; }; }, { "valueChange": "etObserveContent"; }, never, never, true, never>;
376
+ }
377
+
378
+ declare class ObserveResizeDirective implements AfterContentInit, OnDestroy {
379
+ private _resizeObserver;
380
+ private _elementRef;
381
+ private _ngZone;
382
+ readonly valueChange: EventEmitter<ResizeObserverEntry[]>;
383
+ get disabled(): boolean;
384
+ set disabled(value: unknown);
385
+ private _disabled;
386
+ get debounce(): number | null;
387
+ set debounce(value: unknown);
388
+ private _debounce;
389
+ private _currentSubscription;
390
+ ngAfterContentInit(): void;
391
+ ngOnDestroy(): void;
392
+ private _subscribe;
393
+ private _unsubscribe;
394
+ static ɵfac: i0.ɵɵFactoryDeclaration<ObserveResizeDirective, never>;
395
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ObserveResizeDirective, "[etObserveResize]", ["etObserveResize"], { "disabled": { "alias": "etObserveResizeDisabled"; "required": false; }; "debounce": { "alias": "etObserveResizeDebounce"; "required": false; }; }, { "valueChange": "etObserveResize"; }, never, never, true, never>;
396
+ }
397
+
398
+ interface ScrollObserverScrollState {
399
+ isAtStart: boolean;
400
+ isAtEnd: boolean;
401
+ canScroll: boolean;
402
+ }
403
+ type ObservedScrollableChild = 'first' | 'last';
404
+
405
+ declare const SCROLL_OBSERVER_OBSERVING_FIRST_ELEMENT_CLASS = "et-scroll-observer-observing-first-element";
406
+ declare const SCROLL_OBSERVER_OBSERVING_LAST_ELEMENT_CLASS = "et-scroll-observer-observing-last-element";
407
+ declare class ObserveScrollStateDirective implements OnInit, OnDestroy {
408
+ private readonly _destroy$;
409
+ private readonly _elementRef;
410
+ private readonly _contentObserverService;
411
+ private readonly _resizeObserverService;
412
+ private get _firstCurrentChild();
413
+ private get _lastCurrentChild();
414
+ rootMargin: number;
415
+ get observerThreshold(): number | number[];
416
+ set observerThreshold(value: unknown);
417
+ private _threshold;
418
+ private _intersectionObserver;
419
+ private get _observerElements();
420
+ valueChange: EventEmitter<ScrollObserverScrollState>;
421
+ ngOnInit(): void;
422
+ ngOnDestroy(): void;
423
+ private _checkChildren;
424
+ private _initiateIntersectionObserver;
425
+ private _observe;
426
+ private _unobserve;
427
+ private _clearIntersectionObserver;
428
+ private _getNonIgnoredChild;
429
+ static ɵfac: i0.ɵɵFactoryDeclaration<ObserveScrollStateDirective, never>;
430
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ObserveScrollStateDirective, "[etObserveScrollState]", ["etObserveScrollState"], { "rootMargin": { "alias": "rootMargin"; "required": false; }; "observerThreshold": { "alias": "observerThreshold"; "required": false; }; }, { "valueChange": "etObserveScrollState"; }, never, never, true, never>;
431
+ static ngAcceptInputType_rootMargin: unknown;
432
+ }
433
+
434
+ declare const OBSERVE_SCROLL_STATE: InjectionToken<ObserveScrollStateDirective>;
435
+
436
+ declare const OBSERVE_VISIBILITY_TOKEN: InjectionToken<ObserveVisibilityDirective>;
437
+ interface ObserveVisibilityChange {
438
+ visible: boolean;
439
+ isAbove: boolean;
440
+ isBelow: boolean;
441
+ isLeft: boolean;
442
+ isRight: boolean;
443
+ entry: IntersectionObserverEntry;
444
+ }
445
+ declare const signalVisibilityChangeClasses: (cfg: {
446
+ name: string;
447
+ signal: Signal<ObserveVisibilityChange | null | undefined>;
448
+ }) => {
449
+ [x: string]: Signal<boolean | undefined>;
450
+ };
451
+ declare class ObserveVisibilityDirective implements AfterViewInit {
452
+ private readonly _destroy$;
453
+ private readonly _elementRef;
454
+ private readonly _intersectionObserverService;
455
+ protected readonly visibilityChange: i0.WritableSignal<ObserveVisibilityChange | null>;
456
+ readonly currentVisibility: Signal<ObserveVisibilityChange | null>;
457
+ readonly currentVisibility$: rxjs.Observable<ObserveVisibilityChange | null>;
458
+ readonly etObserveVisibility: EventEmitter<ObserveVisibilityChange>;
459
+ constructor();
460
+ ngAfterViewInit(): void;
461
+ static ɵfac: i0.ɵɵFactoryDeclaration<ObserveVisibilityDirective, never>;
462
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ObserveVisibilityDirective, "[etObserveVisibility]", never, {}, { "etObserveVisibility": "etObserveVisibility"; }, never, never, true, never>;
463
+ }
464
+
465
+ declare class RepeatDirective {
466
+ private _mainTemplateRef;
467
+ private _viewContainerRef;
468
+ get repeatCount(): number;
469
+ set repeatCount(value: unknown);
470
+ private _repeatCount;
471
+ constructor(_mainTemplateRef: TemplateRef<unknown>, _viewContainerRef: ViewContainerRef);
472
+ private _render;
473
+ static ɵfac: i0.ɵɵFactoryDeclaration<RepeatDirective, never>;
474
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RepeatDirective, "[etRepeat]", never, { "repeatCount": { "alias": "etRepeat"; "required": false; }; }, {}, never, never, true, never>;
475
+ }
476
+
477
+ declare const ROOT_BOUNDARY_TOKEN: InjectionToken<RootBoundaryDirective>;
478
+ declare class RootBoundaryDirective {
479
+ private readonly _elementRef;
480
+ get boundaryElement(): HTMLElement | null;
481
+ set boundaryElement(v: HTMLElement | null);
482
+ private _boundaryElement;
483
+ static ɵfac: i0.ɵɵFactoryDeclaration<RootBoundaryDirective, never>;
484
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RootBoundaryDirective, "[etRootBoundary]", never, {}, {}, never, never, true, never>;
485
+ }
486
+
487
+ declare const SCROLL_OBSERVER_FIRST_ELEMENT_CLASS = "et-scroll-observer-first-element";
488
+ declare class ScrollObserverFirstElementDirective {
489
+ isFirstElement: boolean;
490
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScrollObserverFirstElementDirective, never>;
491
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ScrollObserverFirstElementDirective, "[etScrollObserverFirstElement]", never, { "isFirstElement": { "alias": "etScrollObserverFirstElement"; "required": false; }; }, {}, never, never, true, never>;
492
+ static ngAcceptInputType_isFirstElement: unknown;
493
+ }
494
+
495
+ declare const SCROLL_OBSERVER_IGNORE_TARGET_CLASS = "et-scroll-observer-ignore-target";
496
+ declare class ScrollObserverIgnoreTargetDirective {
497
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScrollObserverIgnoreTargetDirective, never>;
498
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ScrollObserverIgnoreTargetDirective, "[etScrollObserverIgnoreTarget]", never, {}, {}, never, never, true, never>;
499
+ }
500
+
501
+ declare const SCROLL_OBSERVER_LAST_ELEMENT_CLASS = "et-scroll-observer-last-element";
502
+ declare class ScrollObserverLastElementDirective {
503
+ isLastElement: boolean;
504
+ static ɵfac: i0.ɵɵFactoryDeclaration<ScrollObserverLastElementDirective, never>;
505
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ScrollObserverLastElementDirective, "[etScrollObserverLastElement]", never, { "isLastElement": { "alias": "etScrollObserverLastElement"; "required": false; }; }, {}, never, never, true, never>;
506
+ static ngAcceptInputType_isLastElement: unknown;
507
+ }
508
+
509
+ type MaybeObservable<T> = T | Observable<T>;
510
+ interface SeoConfig {
511
+ title?: MaybeObservable<string>;
512
+ description?: MaybeObservable<string>;
513
+ keywords?: MaybeObservable<string[]>;
514
+ icon?: MaybeObservable<string>;
515
+ themeColor?: MaybeObservable<string>;
516
+ colorScheme?: MaybeObservable<'light' | 'dark'>;
517
+ robots?: MaybeObservable<string>;
518
+ canonical?: MaybeObservable<string>;
519
+ alternate?: MaybeObservable<AlternateLink>[];
520
+ og?: MaybeObservable<OpenGraph>;
521
+ twitter?: MaybeObservable<TwitterCard>;
522
+ facebook?: MaybeObservable<FacebookCard>;
523
+ [key: string]: MaybeObservable<unknown>;
524
+ }
525
+ interface AlternateLink {
526
+ href: string;
527
+ hreflang: string;
528
+ }
529
+ interface OpenGraph {
530
+ title?: MaybeObservable<string>;
531
+ description?: MaybeObservable<string>;
532
+ type?: MaybeObservable<string>;
533
+ url?: MaybeObservable<string>;
534
+ image?: MaybeObservable<string>;
535
+ siteName?: MaybeObservable<string>;
536
+ locale?: MaybeObservable<string>;
537
+ localeAlternate?: MaybeObservable<string[]>;
538
+ }
539
+ interface TwitterCard {
540
+ card?: MaybeObservable<string>;
541
+ site?: MaybeObservable<string>;
542
+ creator?: MaybeObservable<string>;
543
+ title?: MaybeObservable<string>;
544
+ description?: MaybeObservable<string>;
545
+ image?: MaybeObservable<string>;
546
+ imageAlt?: MaybeObservable<string>;
547
+ }
548
+ interface FacebookCard {
549
+ title?: MaybeObservable<string>;
550
+ description?: MaybeObservable<string>;
551
+ image?: MaybeObservable<string>;
552
+ imageAlt?: MaybeObservable<string>;
553
+ type?: MaybeObservable<string>;
554
+ url?: MaybeObservable<string>;
555
+ siteName?: MaybeObservable<string>;
556
+ locale?: MaybeObservable<string>;
557
+ localeAlternate?: MaybeObservable<string[]>;
558
+ }
559
+
560
+ declare class SeoDirective implements OnInit, OnDestroy {
561
+ private readonly _metaService;
562
+ private readonly _titleService;
563
+ private readonly _onDeactivate$;
564
+ private _isDeactivated;
565
+ readonly parent: SeoDirective | null;
566
+ get config(): SeoConfig;
567
+ private _config;
568
+ ngOnInit(): void;
569
+ ngOnDestroy(): void;
570
+ updateConfig(config: SeoConfig): void;
571
+ _activate(): void;
572
+ _deactivate(): void;
573
+ private _update;
574
+ private _cleanUp;
575
+ static ɵfac: i0.ɵɵFactoryDeclaration<SeoDirective, never>;
576
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SeoDirective, never, never, {}, {}, never, never, true, never>;
577
+ }
578
+
579
+ declare const SEO_DIRECTIVE_TOKEN: InjectionToken<SeoDirective>;
580
+
581
+ declare const mergeSeoConfig: (config: SeoConfig, parentConfig: SeoConfig) => SeoConfig;
582
+
583
+ declare class InferMimeTypePipe implements PipeTransform {
584
+ transform: (srcset: string) => "image/avif" | "image/bmp" | "image/gif" | "image/vdn.microsoft.icon" | "image/jpeg" | "image/png" | "image/svg+xml" | "image/tiff" | "image/webp" | "audio/aac" | "application/x-abiword" | "application/x-freearc" | "video/x-msvideo" | "application/vnd.amazon.ebook" | "application/octet-stream" | "application/x-bzip" | "application/x-bzip2" | "application/x-cdf" | "application/x-csh" | "text/css" | "text/csv" | "application/msword" | "application/vnd.openxmlformats-officedocument.wordprocessingml.document" | "application/vnd.ms-fontobject" | "application/epub+zip" | "application/gzip" | "text/html" | "text/calendar" | "application/java-archive" | "text/javascript" | "application/json" | "application/ld+json" | "audio/midi" | "audio/mpeg" | "video/mp4" | "video/mpeg" | "tapplication/vnd.apple.installer+xml" | "application/vnd.oasis.opendocument.presentation" | "application/vnd.oasis.opendocument.spreadsheet" | "application/vnd.oasis.opendocument.text" | "audio/ogg" | "video/ogg" | "application/ogg" | "audio/opus" | "font/otf" | "application/pdf" | "application/x-httpd-php" | "application/vnd.ms-powerpoint" | "application/vnd.openxmlformats-officedocument.presentationml.presentation" | "application/vnd.rar" | "application/rtf" | "application/x-sh" | "application/x-tar" | "video/mp2t" | "font/ttf" | "text/plain" | "application/vnd.visio" | "audio/wav" | "audio/webm" | "video/webm" | "font/woff" | "font/woff2" | "application/xhtml+xml" | "application/vnd.ms-excel" | "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" | "application/xml" | "application/vnd.mozilla.xul+xml" | "application/zip" | "video/3gpp" | "video/3gpp2" | "application/x-7z-compressed" | null;
585
+ static ɵfac: i0.ɵɵFactoryDeclaration<InferMimeTypePipe, never>;
586
+ static ɵpipe: i0.ɵɵPipeDeclaration<InferMimeTypePipe, "inferMimeType", true>;
587
+ }
588
+
589
+ /**
590
+ * Infers the mime type of a given url or srcset.
591
+ * If a srcset is provided, it will infer the mime type of the first url in the srcset.
592
+ * If the srcset contains a query parameter `?fm=`, it will use the value of that parameter, since it is often used to specify the file format in image api's like contentful.
593
+ */
594
+ declare const inferMimeType: (srcset: string) => "image/avif" | "image/bmp" | "image/gif" | "image/vdn.microsoft.icon" | "image/jpeg" | "image/png" | "image/svg+xml" | "image/tiff" | "image/webp" | "audio/aac" | "application/x-abiword" | "application/x-freearc" | "video/x-msvideo" | "application/vnd.amazon.ebook" | "application/octet-stream" | "application/x-bzip" | "application/x-bzip2" | "application/x-cdf" | "application/x-csh" | "text/css" | "text/csv" | "application/msword" | "application/vnd.openxmlformats-officedocument.wordprocessingml.document" | "application/vnd.ms-fontobject" | "application/epub+zip" | "application/gzip" | "text/html" | "text/calendar" | "application/java-archive" | "text/javascript" | "application/json" | "application/ld+json" | "audio/midi" | "audio/mpeg" | "video/mp4" | "video/mpeg" | "tapplication/vnd.apple.installer+xml" | "application/vnd.oasis.opendocument.presentation" | "application/vnd.oasis.opendocument.spreadsheet" | "application/vnd.oasis.opendocument.text" | "audio/ogg" | "video/ogg" | "application/ogg" | "audio/opus" | "font/otf" | "application/pdf" | "application/x-httpd-php" | "application/vnd.ms-powerpoint" | "application/vnd.openxmlformats-officedocument.presentationml.presentation" | "application/vnd.rar" | "application/rtf" | "application/x-sh" | "application/x-tar" | "video/mp2t" | "font/ttf" | "text/plain" | "application/vnd.visio" | "audio/wav" | "audio/webm" | "video/webm" | "font/woff" | "font/woff2" | "application/xhtml+xml" | "application/vnd.ms-excel" | "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" | "application/xml" | "application/vnd.mozilla.xul+xml" | "application/zip" | "video/3gpp" | "video/3gpp2" | "application/x-7z-compressed" | null;
595
+
596
+ declare class NormalizeGameResultTypePipe implements PipeTransform {
597
+ transform: (type: string | null) => _ethlete_core.NormalizedGameResultType | null;
598
+ static ɵfac: i0.ɵɵFactoryDeclaration<NormalizeGameResultTypePipe, never>;
599
+ static ɵpipe: i0.ɵɵPipeDeclaration<NormalizeGameResultTypePipe, "etNormalizeGameResultType", true>;
600
+ }
601
+
602
+ interface NormalizedGameResultType extends Translatable {
603
+ shortCode: string;
604
+ }
605
+
606
+ declare const normalizeGameResultType: (type: string | null) => NormalizedGameResultType | null;
607
+
608
+ declare class NormalizeMatchParticipantsPipe implements PipeTransform {
609
+ transform: (match: _ethlete_types.MatchListView | null) => _ethlete_core.NormalizedMatchParticipants | null;
610
+ static ɵfac: i0.ɵɵFactoryDeclaration<NormalizeMatchParticipantsPipe, never>;
611
+ static ɵpipe: i0.ɵɵPipeDeclaration<NormalizeMatchParticipantsPipe, "etNormalizeMatchParticipants", true>;
612
+ }
613
+
614
+ interface NormalizedMatchParticipants {
615
+ home: NormalizedMatchParticipant | null;
616
+ away: NormalizedMatchParticipant | null;
617
+ }
618
+ type NormalizedParticipantType = 'team' | 'player' | 'unknown';
619
+ type NormalizedMatchParticipant = ({
620
+ type: 'tbd';
621
+ participantType: NormalizedParticipantType;
622
+ data: ParticipantViewUnion | null;
623
+ } & Translatable) | {
624
+ type: 'participant';
625
+ participantType: NormalizedParticipantType;
626
+ data: ParticipantViewUnion;
627
+ } | ({
628
+ type: 'none';
629
+ participantType: NormalizedParticipantType;
630
+ data: ParticipantViewUnion | null;
631
+ } & Translatable);
632
+
633
+ declare const normalizeMatchParticipants: (match: MatchListView | null) => NormalizedMatchParticipants | null;
634
+ declare const normalizeMatchParticipant: (match: MatchListView | null, side: "home" | "away") => NormalizedMatchParticipant | null;
635
+
636
+ declare class NormalizeMatchScorePipe implements PipeTransform {
637
+ transform: (match: _ethlete_types.MatchListView | null | undefined) => _ethlete_core.NormalizedMatchScore | null;
638
+ static ɵfac: i0.ɵɵFactoryDeclaration<NormalizeMatchScorePipe, never>;
639
+ static ɵpipe: i0.ɵɵPipeDeclaration<NormalizeMatchScorePipe, "etNormalizeMatchScore", true>;
640
+ }
641
+
642
+ interface NormalizedMatchScore {
643
+ home: {
644
+ score: string | number | null;
645
+ isWinner: boolean;
646
+ };
647
+ away: {
648
+ score: string | number | null;
649
+ isWinner: boolean;
650
+ };
651
+ subLine: string | null;
652
+ isNumeric: boolean;
653
+ }
654
+
655
+ declare const normalizeMatchScore: (match: MatchListView | null | undefined) => NormalizedMatchScore | null;
656
+ declare const isKnockoutMatch: (match: MatchListView | null | undefined) => boolean;
657
+ declare const isGroupMatch: (match: MatchListView | null | undefined) => boolean;
658
+ declare const getKnockoutMatchScore: (score: MatchRankingView | null | undefined) => "match-score.knockout.won" | "match-score.knockout.lost" | "match-score.knockout.tie" | null;
659
+ declare const getMatchScoreSubLine: (match: MatchListView | null | undefined) => "match-score.groups.sub-line" | null;
660
+ declare const getGroupMatchScore: (match: MatchListView | null | undefined) => {
661
+ home: {
662
+ score: number;
663
+ isWinner: boolean;
664
+ };
665
+ away: {
666
+ score: number;
667
+ isWinner: boolean;
668
+ };
669
+ } | null;
670
+ declare const getGroupMatchPoints: (match: MatchListView | null | undefined) => {
671
+ home: {
672
+ score: number;
673
+ isWinner: boolean;
674
+ };
675
+ away: {
676
+ score: number;
677
+ isWinner: boolean;
678
+ };
679
+ } | null;
680
+
681
+ declare const enum MatchStateType {
682
+ PREPARING_ROUND = "preparingRound",
683
+ PRE_MATCH = "preMatch",
684
+ LIVE = "live",
685
+ POST_MATCH = "postMatch",
686
+ AUTO_WIN = "autoWin"
687
+ }
688
+
689
+ declare class NormalizeMatchStatePipe implements PipeTransform {
690
+ transform: (match: _ethlete_types.MatchListView | null | undefined) => _ethlete_core.MatchStateType | null;
691
+ static ɵfac: i0.ɵɵFactoryDeclaration<NormalizeMatchStatePipe, never>;
692
+ static ɵpipe: i0.ɵɵPipeDeclaration<NormalizeMatchStatePipe, "etNormalizeMatchState", true>;
693
+ }
694
+
695
+ declare const normalizeMatchState: (match: MatchListView | null | undefined) => MatchStateType | null;
696
+
697
+ declare class NormalizeMatchTypePipe implements PipeTransform {
698
+ transform: (matchType: _ethlete_types.StageType | null | undefined) => _ethlete_core.Translatable | null;
699
+ static ɵfac: i0.ɵɵFactoryDeclaration<NormalizeMatchTypePipe, never>;
700
+ static ɵpipe: i0.ɵɵPipeDeclaration<NormalizeMatchTypePipe, "etNormalizeMatchType", true>;
701
+ }
702
+
703
+ declare const normalizeMatchType: (matchType: StageType | null | undefined) => Translatable | null;
704
+
705
+ declare class ToArrayPipe implements PipeTransform {
706
+ transform: (value: number) => number[];
707
+ static ɵfac: i0.ɵɵFactoryDeclaration<ToArrayPipe, never>;
708
+ static ɵpipe: i0.ɵɵPipeDeclaration<ToArrayPipe, "toArray", true>;
709
+ }
710
+
711
+ declare const toArray: (value: number) => number[];
712
+ declare const toArrayTrackByFn: TrackByFunction<number>;
713
+
714
+ declare const createPropHandlers: () => {
715
+ classes: {
716
+ remove: (tokens: string) => void;
717
+ removeMany: (tokens: string[]) => void;
718
+ has: (tokens: string) => boolean;
719
+ push: (tokens: string, signal: i0.Signal<unknown>) => void;
720
+ pushMany: (map: Record<string, i0.Signal<unknown>>) => void;
721
+ };
722
+ attributes: {
723
+ remove: (tokens: string) => void;
724
+ removeMany: (tokens: string[]) => void;
725
+ has: (tokens: string) => boolean;
726
+ push: (tokens: string, signal: i0.Signal<unknown>) => void;
727
+ pushMany: (map: Record<string, i0.Signal<unknown>>) => void;
728
+ };
729
+ styles: {
730
+ remove: (tokens: string) => void;
731
+ removeMany: (tokens: string[]) => void;
732
+ has: (tokens: string) => boolean;
733
+ push: (tokens: string, signal: i0.Signal<unknown>) => void;
734
+ pushMany: (map: Record<string, i0.Signal<unknown>>) => void;
735
+ };
736
+ id: string;
737
+ elementRef: ElementRef<HTMLElement>;
738
+ };
739
+ type PropHandlers = ReturnType<typeof createPropHandlers>;
740
+
741
+ type Props = Readonly<{
742
+ attached: Signal<boolean>;
743
+ attachedElements: PropsAttachedElements;
744
+ }>;
745
+ interface PropsAttachedElements {
746
+ first: Signal<HTMLElement | null>;
747
+ firstId: Signal<string | null>;
748
+ get(id: string): HTMLElement | null;
749
+ }
750
+ interface PropsAttachedElementsInternal extends PropsAttachedElements {
751
+ has: (id: string) => boolean;
752
+ push: (id: string, element: HTMLElement) => void;
753
+ remove: (id: string) => void;
754
+ }
755
+ interface PropsInternal {
756
+ single: boolean;
757
+ name: string;
758
+ bindId: boolean;
759
+ attached: Signal<boolean>;
760
+ attachedElements: PropsAttachedElementsInternal;
761
+ classBindings: Record<string, Signal<unknown>> | null;
762
+ attributeBindings: Record<string, Signal<unknown>> | null;
763
+ styleBindings: Record<string, Signal<unknown>> | null;
764
+ staticClassBindings: string[] | null;
765
+ staticAttributeBindings: Record<string, unknown> | null;
766
+ staticStyleBindings: Record<string, unknown> | null;
767
+ attachEventListeners: ((context: {
768
+ on: HTMLElement['addEventListener'];
769
+ element: HTMLElement;
770
+ }) => void) | null;
771
+ }
772
+ interface CreatePropsOptions {
773
+ name: string;
774
+ bindId?: boolean;
775
+ single?: boolean;
776
+ classes?: Record<string, Signal<unknown>>;
777
+ attributes?: Record<string, Signal<unknown>>;
778
+ styles?: Record<string, Signal<unknown>>;
779
+ staticClasses?: string[];
780
+ staticAttributes?: Record<string, unknown>;
781
+ staticStyles?: Record<string, unknown>;
782
+ listeners?: (context: {
783
+ on: HTMLElement['addEventListener'];
784
+ element: HTMLElement;
785
+ }) => void;
786
+ }
787
+ declare const createProps: (props: CreatePropsOptions) => Props;
788
+ interface HostProps {
789
+ props: Props;
790
+ handlers: PropHandlers;
791
+ }
792
+ declare const createHostProps: (props: CreatePropsOptions) => HostProps;
793
+
794
+ declare const createSetup: <T extends Record<string, unknown>>(config: {
795
+ setupFn: (params: T) => void;
796
+ this: ThisType<unknown>;
797
+ }) => (params: T) => void;
798
+
799
+ declare const createDependencyStash: <T extends Record<string, WritableSignal<unknown>>>(stash: T) => T & {
800
+ provideSignal: <K extends keyof T>(data: {
801
+ signal: Signal<ReturnType<T[K]>>;
802
+ for: K;
803
+ }) => void;
804
+ provideValue: <K extends keyof T>(data: {
805
+ value: ReturnType<T[K]>;
806
+ for: K;
807
+ }) => void;
808
+ };
809
+
810
+ declare const createElementDictionary: () => {
811
+ ids: i0.Signal<string[]>;
812
+ elements: i0.Signal<HTMLElement[]>;
813
+ has: (id: string) => boolean;
814
+ get: (id: string) => HTMLElement | null;
815
+ push: (id: string, element: HTMLElement) => void;
816
+ remove: (id: string) => void;
817
+ isEmpty: i0.Signal<boolean>;
818
+ firstElement: i0.Signal<HTMLElement | null>;
819
+ firstId: i0.Signal<string | null>;
820
+ };
821
+
822
+ interface BindPropsOptions {
823
+ props: Props | PropsInternal;
824
+ handlers: PropHandlers;
825
+ }
826
+ declare const bindProps: (config: BindPropsOptions) => void;
827
+ interface UnbindPropsOptions {
828
+ props: Props | PropsInternal;
829
+ handlers: PropHandlers;
830
+ }
831
+ declare const unbindProps: (config: UnbindPropsOptions) => void;
832
+
833
+ declare class PropsDirective {
834
+ destroyRef: DestroyRef;
835
+ props: i0.InputSignalWithTransform<PropsInternal, Readonly<{
836
+ attached: i0.Signal<boolean>;
837
+ attachedElements: PropsAttachedElements;
838
+ }>>;
839
+ propHandlers: {
840
+ classes: {
841
+ remove: (tokens: string) => void;
842
+ removeMany: (tokens: string[]) => void;
843
+ has: (tokens: string) => boolean;
844
+ push: (tokens: string, signal: i0.Signal<unknown>) => void;
845
+ pushMany: (map: Record<string, i0.Signal<unknown>>) => void;
846
+ };
847
+ attributes: {
848
+ remove: (tokens: string) => void;
849
+ removeMany: (tokens: string[]) => void;
850
+ has: (tokens: string) => boolean;
851
+ push: (tokens: string, signal: i0.Signal<unknown>) => void;
852
+ pushMany: (map: Record<string, i0.Signal<unknown>>) => void;
853
+ };
854
+ styles: {
855
+ remove: (tokens: string) => void;
856
+ removeMany: (tokens: string[]) => void;
857
+ has: (tokens: string) => boolean;
858
+ push: (tokens: string, signal: i0.Signal<unknown>) => void;
859
+ pushMany: (map: Record<string, i0.Signal<unknown>>) => void;
860
+ };
861
+ id: string;
862
+ elementRef: i0.ElementRef<HTMLElement>;
863
+ };
864
+ constructor();
865
+ static ɵfac: i0.ɵɵFactoryDeclaration<PropsDirective, never>;
866
+ static ɵdir: i0.ɵɵDirectiveDeclaration<PropsDirective, "[etProps]", never, { "props": { "alias": "etProps"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
867
+ }
868
+
869
+ type AnyTemplateType = string | TemplateRef<unknown> | ComponentType<unknown> | TemplateRefWithContext | ComponentTypeWithInputs;
870
+ type TemplateRefWithContext<T = Record<string, unknown> | undefined, J = unknown> = {
871
+ template: TemplateRef<J>;
872
+ context?: T;
873
+ injector?: Injector;
874
+ };
875
+ type ComponentTypeWithInputs<T = Record<string, unknown> | undefined, J = unknown> = {
876
+ component: ComponentType<J>;
877
+ inputs?: T;
878
+ injector?: Injector;
879
+ };
880
+ type StringTemplate = {
881
+ type: 'string';
882
+ value: string;
883
+ };
884
+ type NgTemplateTemplate = {
885
+ type: 'template';
886
+ value: TemplateRef<unknown>;
887
+ context?: Record<string, unknown>;
888
+ injector: Injector | null;
889
+ };
890
+ type ComponentTemplate = {
891
+ type: 'component';
892
+ value: ComponentType<unknown>;
893
+ inputs?: Record<string, unknown>;
894
+ injector: Injector | null;
895
+ };
896
+ declare const templateComputed: (templateSignal: Signal<AnyTemplateType | null>) => Signal<StringTemplate | NgTemplateTemplate | ComponentTemplate | null>;
897
+
898
+ declare class ClickObserverFactory {
899
+ create(): Observable<MouseEvent>;
900
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClickObserverFactory, never>;
901
+ static ɵprov: i0.ɵɵInjectableDeclaration<ClickObserverFactory>;
902
+ }
903
+ declare class ClickObserverService implements OnDestroy {
904
+ private _clickObserverFactory;
905
+ private _observedElements;
906
+ ngOnDestroy(): void;
907
+ observe(element: Element): Observable<MouseEvent>;
908
+ observe(element: ElementRef<Element>): Observable<MouseEvent>;
909
+ private _observeElement;
910
+ private _unobserveElement;
911
+ private _cleanupObserver;
912
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClickObserverService, never>;
913
+ static ɵprov: i0.ɵɵInjectableDeclaration<ClickObserverService>;
914
+ }
915
+
916
+ declare class MutationObserverFactory {
917
+ create(callback: MutationCallback): MutationObserver | null;
918
+ static ɵfac: i0.ɵɵFactoryDeclaration<MutationObserverFactory, never>;
919
+ static ɵprov: i0.ɵɵInjectableDeclaration<MutationObserverFactory>;
920
+ }
921
+ declare class ContentObserverService implements OnDestroy {
922
+ private _mutationObserverFactory;
923
+ private _observedElements;
924
+ ngOnDestroy(): void;
925
+ observe(element: Element): Observable<MutationRecord[]>;
926
+ observe(element: ElementRef<Element>): Observable<MutationRecord[]>;
927
+ private _observeElement;
928
+ private _unobserveElement;
929
+ private _cleanupObserver;
930
+ static ɵfac: i0.ɵɵFactoryDeclaration<ContentObserverService, never>;
931
+ static ɵprov: i0.ɵɵInjectableDeclaration<ContentObserverService>;
932
+ }
933
+
934
+ declare class FocusVisibleService {
935
+ private readonly _document;
936
+ private _hadKeyboardEvent;
937
+ get isFocusVisible(): boolean;
938
+ constructor();
939
+ onKeyDown(e: KeyboardEvent): void;
940
+ onPointerDown(): void;
941
+ static ɵfac: i0.ɵɵFactoryDeclaration<FocusVisibleService, never>;
942
+ static ɵprov: i0.ɵɵInjectableDeclaration<FocusVisibleService>;
943
+ }
944
+
945
+ declare class IntersectionObserverFactory {
946
+ create(callback: IntersectionObserverCallback): IntersectionObserver | null;
947
+ static ɵfac: i0.ɵɵFactoryDeclaration<IntersectionObserverFactory, never>;
948
+ static ɵprov: i0.ɵɵInjectableDeclaration<IntersectionObserverFactory>;
949
+ }
950
+ declare class IntersectionObserverService implements OnDestroy {
951
+ private _intersectionObserverFactory;
952
+ private _observedElements;
953
+ ngOnDestroy(): void;
954
+ observe(element: Element): Observable<IntersectionObserverEntry[]>;
955
+ observe(element: ElementRef<Element>): Observable<IntersectionObserverEntry[]>;
956
+ private _observeElement;
957
+ private _unobserveElement;
958
+ private _cleanupObserver;
959
+ static ɵfac: i0.ɵɵFactoryDeclaration<IntersectionObserverService, never>;
960
+ static ɵprov: i0.ɵɵInjectableDeclaration<IntersectionObserverService>;
961
+ }
962
+
963
+ declare class ResizeObserverFactory {
964
+ create(callback: ResizeObserverCallback): ResizeObserver | null;
965
+ static ɵfac: i0.ɵɵFactoryDeclaration<ResizeObserverFactory, never>;
966
+ static ɵprov: i0.ɵɵInjectableDeclaration<ResizeObserverFactory>;
967
+ }
968
+ declare class ResizeObserverService implements OnDestroy {
969
+ private _mutationObserverFactory;
970
+ private _observedElements;
971
+ ngOnDestroy(): void;
972
+ observe(element: Element): Observable<ResizeObserverEntry[]>;
973
+ observe(element: ElementRef<Element>): Observable<ResizeObserverEntry[]>;
974
+ private _observeElement;
975
+ private _unobserveElement;
976
+ private _cleanupObserver;
977
+ static ɵfac: i0.ɵɵFactoryDeclaration<ResizeObserverService, never>;
978
+ static ɵprov: i0.ɵɵInjectableDeclaration<ResizeObserverService>;
979
+ }
980
+
981
+ declare const ET_DISABLE_SCROLL_TOP: unique symbol;
982
+ declare const ET_DISABLE_SCROLL_TOP_AS_RETURN_ROUTE: unique symbol;
983
+ declare const ET_DISABLE_SCROLL_TOP_ON_PATH_PARAM_CHANGE: unique symbol;
984
+ interface RouterDisableScrollTopConfig {
985
+ /**
986
+ * Whether to disable scroll to top ONLY when navigating back to this route.
987
+ * @default false
988
+ */
989
+ asReturnRoute?: boolean;
990
+ /**
991
+ * Whether to disable scroll to top when a path param changes.
992
+ * @default false
993
+ */
994
+ onPathParamChange?: boolean;
995
+ }
996
+ declare const routerDisableScrollTop: (config?: RouterDisableScrollTopConfig) => {
997
+ [ET_DISABLE_SCROLL_TOP_ON_PATH_PARAM_CHANGE]?: boolean | undefined;
998
+ [ET_DISABLE_SCROLL_TOP]: boolean;
999
+ } | {
1000
+ [ET_DISABLE_SCROLL_TOP_ON_PATH_PARAM_CHANGE]?: boolean | undefined;
1001
+ [ET_DISABLE_SCROLL_TOP_AS_RETURN_ROUTE]: boolean;
1002
+ };
1003
+ declare const ET_PROPERTY_REMOVED: unique symbol;
1004
+ interface ScrollEnhancementsConfig {
1005
+ /**
1006
+ * The scrollable container.
1007
+ * @default document.documentElement
1008
+ */
1009
+ scrollElement?: HTMLElement;
1010
+ /**
1011
+ * A list of query params that should trigger a scroll to top.
1012
+ * @default []
1013
+ * @example ['page'] // will scroll to top when the page query param changes
1014
+ */
1015
+ queryParamTriggerList?: string[];
1016
+ /**
1017
+ * Config for fragment scrolling.
1018
+ */
1019
+ fragment?: {
1020
+ /**
1021
+ * Enable fragment scrolling (scroll to element with id)
1022
+ * @default false
1023
+ */
1024
+ enabled?: boolean;
1025
+ /**
1026
+ * Whether to use smooth scrolling or not.
1027
+ * @default false
1028
+ */
1029
+ smooth?: boolean;
1030
+ };
1031
+ }
1032
+ interface RouterState {
1033
+ data: Data;
1034
+ pathParams: Params;
1035
+ queryParams: Params;
1036
+ title: string | null;
1037
+ fragment: string | null;
1038
+ }
1039
+ declare class RouterStateService {
1040
+ private _isScrollTopOnNavigationEnabled;
1041
+ private readonly _router;
1042
+ private readonly _route$;
1043
+ private readonly _state$;
1044
+ private readonly _afterInitialize$;
1045
+ readonly afterInitialize$: Observable<boolean>;
1046
+ get route$(): Observable<string>;
1047
+ get route(): string;
1048
+ get state$(): Observable<RouterState>;
1049
+ get state(): RouterState;
1050
+ get data$(): Observable<Data>;
1051
+ get data(): Data;
1052
+ get pathParams$(): Observable<Params>;
1053
+ get pathParams(): Params;
1054
+ get queryParams$(): Observable<Params>;
1055
+ get queryParams(): Params;
1056
+ get title$(): Observable<string | null>;
1057
+ get title(): string | null;
1058
+ get fragment$(): Observable<string | null>;
1059
+ get fragment(): string | null;
1060
+ get dataChanges$(): Observable<Partial<Data>>;
1061
+ get queryParamChanges$(): Observable<Partial<Params>>;
1062
+ get pathParamChanges$(): Observable<Partial<Params>>;
1063
+ constructor();
1064
+ enableScrollEnhancements(config?: ScrollEnhancementsConfig): void;
1065
+ selectQueryParam<T = string | undefined>(key: string): Observable<T>;
1066
+ selectPathParam<T = string | undefined>(key: string): Observable<T>;
1067
+ selectData<T = unknown>(key: string): Observable<T>;
1068
+ private _findChanges;
1069
+ private _getInitialState;
1070
+ static ɵfac: i0.ɵɵFactoryDeclaration<RouterStateService, never>;
1071
+ static ɵprov: i0.ɵɵInjectableDeclaration<RouterStateService>;
1072
+ }
1073
+
1074
+ interface Size {
1075
+ width: number;
1076
+ height: number;
1077
+ }
1078
+ declare class ViewportService {
1079
+ private readonly _resizeObserverService;
1080
+ private readonly _viewportConfig;
1081
+ private readonly _breakpointObserver;
1082
+ private readonly _viewportMonitorStop$;
1083
+ private _isViewportMonitorEnabled;
1084
+ private _isXs$;
1085
+ private _isSm$;
1086
+ private _isMd$;
1087
+ private _isLg$;
1088
+ private _isXl$;
1089
+ private _is2Xl$;
1090
+ private _viewportSize$;
1091
+ private _scrollbarSize$;
1092
+ get isXs$(): Observable<boolean>;
1093
+ get isXs(): boolean;
1094
+ get isSm$(): Observable<boolean>;
1095
+ get isSm(): boolean;
1096
+ get isMd$(): Observable<boolean>;
1097
+ get isMd(): boolean;
1098
+ get isLg$(): Observable<boolean>;
1099
+ get isLg(): boolean;
1100
+ get isXl$(): Observable<boolean>;
1101
+ get isXl(): boolean;
1102
+ get is2Xl$(): Observable<boolean>;
1103
+ get is2Xl(): boolean;
1104
+ get viewportSize$(): Observable<Size | null>;
1105
+ get viewportSize(): Size | null;
1106
+ get scrollbarSize$(): Observable<Size | null>;
1107
+ get scrollbarSize(): Size | null;
1108
+ currentViewport$: Observable<"xs" | "sm" | "md" | "lg" | "xl" | "2xl">;
1109
+ get currentViewport(): "xs" | "sm" | "md" | "lg" | "xl" | "2xl";
1110
+ constructor();
1111
+ observe(options: {
1112
+ min?: number | Breakpoint;
1113
+ max?: number | Breakpoint;
1114
+ }): Observable<boolean>;
1115
+ isMatched(options: {
1116
+ min?: number | Breakpoint;
1117
+ max?: number | Breakpoint;
1118
+ }): boolean;
1119
+ /**
1120
+ * Applies size CSS variables to the documentElement in pixels.
1121
+ * - `--et-vw`: viewport width excluding scrollbar width
1122
+ * - `--et-vh`: viewport height excluding scrollbar height
1123
+ * - `--et-sw`: scrollbar width
1124
+ * - `--et-sh`: scrollbar height
1125
+ */
1126
+ monitorViewport(): void;
1127
+ unmonitorViewport(): void;
1128
+ getBreakpointSize(type: Breakpoint, option: 'min' | 'max'): number;
1129
+ private _observeDefaultBreakpoints;
1130
+ private _buildMediaQuery;
1131
+ private getCurrentViewport;
1132
+ static ɵfac: i0.ɵɵFactoryDeclaration<ViewportService, never>;
1133
+ static ɵprov: i0.ɵɵInjectableDeclaration<ViewportService>;
1134
+ }
1135
+
1136
+ type BuildMediaQueryOptions = {
1137
+ min?: number | Breakpoint;
1138
+ max?: number | Breakpoint;
1139
+ };
1140
+
1141
+ type SelectionModelTypes = string | number | Record<string, unknown> | unknown;
1142
+ type SelectionModelPropertyPath = string;
1143
+ type SelectionModelOptionValueFn<T extends SelectionModelTypes = any> = (option: T) => unknown;
1144
+ /**
1145
+ * You can use a property path or a function to get the value of an option. The function should be as **lightweight as possible** as it will be called **a lot**.
1146
+ *
1147
+ * @example
1148
+ * // Property path
1149
+ * "id" // option.id
1150
+ * "user.name" // option.user.name
1151
+ *
1152
+ * // Function
1153
+ * (option) => option.id // option.id
1154
+ * (option) => option.user.name // option.user.name
1155
+ */
1156
+ type SelectionModelBinding<T extends SelectionModelTypes = any> = SelectionModelPropertyPath | SelectionModelOptionValueFn<T>;
1157
+ declare class SelectionModel<T extends SelectionModelTypes = unknown> {
1158
+ private readonly _destroy$;
1159
+ private _lastSelectionSetSubscription;
1160
+ get selection$(): Observable<T[]>;
1161
+ get selection(): T[];
1162
+ private readonly _selection$;
1163
+ get options$(): Observable<T[]>;
1164
+ get options(): T[];
1165
+ private readonly _options$;
1166
+ readonly optionsSignal: i0.Signal<T[] | undefined>;
1167
+ get valueBinding$(): Observable<SelectionModelBinding<T> | null>;
1168
+ get valueBinding(): SelectionModelBinding<T> | null;
1169
+ private readonly _valueBinding$;
1170
+ get keyBinding$(): Observable<SelectionModelBinding<T> | null>;
1171
+ get keyBinding(): SelectionModelBinding<T> | null;
1172
+ private readonly _keyBinding$;
1173
+ get labelBinding$(): Observable<SelectionModelBinding<T> | null>;
1174
+ get labelBinding(): SelectionModelBinding<T> | null;
1175
+ private readonly _labelBinding$;
1176
+ get disabledBinding$(): Observable<SelectionModelBinding<T> | null>;
1177
+ get disabledBinding(): SelectionModelBinding<T> | null;
1178
+ private readonly _disabledBinding$;
1179
+ get allowMultiple$(): Observable<boolean>;
1180
+ get allowMultiple(): boolean;
1181
+ private readonly _allowMultiple$;
1182
+ get filter$(): Observable<string>;
1183
+ get filter(): string;
1184
+ private readonly _filter$;
1185
+ readonly value$: Observable<unknown>;
1186
+ readonly filteredOptions$: Observable<T[]>;
1187
+ private readonly _optionsAndSelection$;
1188
+ constructor();
1189
+ setSelection(selection: T | T[]): this;
1190
+ setSelectionFromValue(value: unknown): void;
1191
+ setSelectionFromValue$(value: unknown): void;
1192
+ setValueBinding(fnOrPropertyPath: SelectionModelBinding<T> | null): this;
1193
+ setKeyBinding(fnOrPropertyPath: SelectionModelBinding<T> | null): this;
1194
+ setLabelBinding(fnOrPropertyPath: SelectionModelBinding<T> | null): this;
1195
+ setDisabledBinding(fnOrPropertyPath: SelectionModelBinding<T> | null): this;
1196
+ setOptions(options: T[]): this;
1197
+ setOptionsFromQueryList(queryList: TypedQueryList<T>): this;
1198
+ setOptionsFromQueryList$(queryList$: Observable<TypedQueryList<T> | null | undefined>): this;
1199
+ setAllowMultiple(allowMultiple: boolean): this;
1200
+ setFilter(filter: string | null): void;
1201
+ reset(): void;
1202
+ trackByOptionKey: (option: T) => unknown;
1203
+ getOptionByValue$(value: unknown): Observable<T | undefined>;
1204
+ getOptionByLabel$(label: string): Observable<T | undefined>;
1205
+ getOptionByKey$(key: string): Observable<T | undefined>;
1206
+ isSelected$(option: T): Observable<boolean>;
1207
+ isDisabled$(option: T): Observable<boolean>;
1208
+ getLabel$(option: T): Observable<unknown>;
1209
+ getValue$(option: T): Observable<unknown>;
1210
+ getKey$(option: T): Observable<unknown>;
1211
+ getOptionByValue(value: unknown): T | undefined;
1212
+ getOptionByLabel(label: string): T | undefined;
1213
+ getOptionByKey(key: string): T | undefined;
1214
+ getOption(value: unknown, propertyPath?: SelectionModelBinding<T> | null, options?: T[]): T | undefined;
1215
+ getOptionByIndex(index: number, options?: T[]): T | null;
1216
+ getOptionByOffset(offset: number, index: number, config?: {
1217
+ loop?: boolean;
1218
+ clamp?: boolean;
1219
+ skipDisabled?: boolean;
1220
+ options?: T[];
1221
+ }): T | null;
1222
+ getFirstOption(options?: T[]): T | null;
1223
+ getLastOption(options?: T[]): T | null;
1224
+ getOptionIndex(option: T, options?: T[]): number | null;
1225
+ getNonMultipleSelectedOption(): T | null;
1226
+ getNonMultipleSelectedOptionIndex(): number | null;
1227
+ getNonMultipleOptionByOffsetFromSelected(offset: number, config?: {
1228
+ loop?: boolean;
1229
+ clamp?: boolean;
1230
+ }): T | null;
1231
+ getLabel(option: T): unknown;
1232
+ getValue(option: T): unknown;
1233
+ getKey(option: T): unknown;
1234
+ getDisabled(option: T): unknown;
1235
+ execFnOrGetOptionProperty(option: T, fnOrPropertyPath: SelectionModelBinding<T> | null): unknown;
1236
+ execFnOrGetOptionPropertyNullable(option: T, fnOrPropertyPath: SelectionModelBinding<T> | null): unknown;
1237
+ getOptionProperty(option: T, propertyPath: string | null): unknown;
1238
+ isSelected(option: T): boolean;
1239
+ isDisabled(option: T): boolean;
1240
+ getFilteredOptions(filter?: string, options?: T[]): T[];
1241
+ addSelectedOption(option: T): void;
1242
+ removeSelectedOption(option: T): void;
1243
+ clearSelectedOptions(): void;
1244
+ toggleSelectedOption(option: T): void;
1245
+ toggleAllSelectedOptions(): void;
1246
+ }
1247
+
1248
+ declare class ActiveSelectionModel<T = unknown> {
1249
+ private readonly _destroy$;
1250
+ get selectionModel$(): rxjs.Observable<SelectionModel<T> | null>;
1251
+ get selectionModel(): SelectionModel<T> | null;
1252
+ private readonly _selectionModel$;
1253
+ get activeOption$(): rxjs.Observable<T | null>;
1254
+ get activeOption(): T | null;
1255
+ private readonly _activeOption$;
1256
+ constructor();
1257
+ setSelectionModel(selectionModel: SelectionModel<T> | null): this;
1258
+ setActiveOption(option: T | null): this;
1259
+ isOptionActive$(option: T): rxjs.Observable<boolean>;
1260
+ evaluateKeyboardEvent(event: KeyboardEvent, config?: {
1261
+ skipDisabled?: boolean;
1262
+ }): NonNullable<T> | null;
1263
+ private _resetActiveOptions;
1264
+ }
1265
+
1266
+ declare function switchQueryListChanges(): <T extends TypedQueryList<unknown> | null | undefined>(source: Observable<T>) => Observable<T>;
1267
+
1268
+ declare const nextFrame: (cb: () => void) => void;
1269
+ declare const fromNextFrame: () => Observable<void>;
1270
+ declare const forceReflow: (element?: HTMLElement) => number;
1271
+ interface FlipAnimationGroupConfig {
1272
+ /**
1273
+ * The elements to animate
1274
+ */
1275
+ elements: Array<HTMLElement | {
1276
+ element: HTMLElement;
1277
+ originElement?: HTMLElement;
1278
+ }>;
1279
+ /**
1280
+ * The duration of the animation in milliseconds
1281
+ * @default 250
1282
+ */
1283
+ duration?: number;
1284
+ /**
1285
+ * The easing function to use for the animation
1286
+ * @default 'cubic-bezier(0.4, 0, 0.2, 1)'
1287
+ */
1288
+ easing?: string;
1289
+ }
1290
+ declare const createFlipAnimationGroup: (config: FlipAnimationGroupConfig) => {
1291
+ updateInit: () => void;
1292
+ play: () => void;
1293
+ cancel: () => void;
1294
+ onStart$: Observable<void[]>;
1295
+ onFinish$: Observable<void[]>;
1296
+ onCancel$: Observable<void[]>;
1297
+ };
1298
+ interface FlipAnimationConfig {
1299
+ /**
1300
+ * The element to animate
1301
+ */
1302
+ element: HTMLElement;
1303
+ /**
1304
+ * The element to use as the origin for the animation
1305
+ * @default element
1306
+ */
1307
+ originElement?: HTMLElement;
1308
+ /**
1309
+ * The duration of the animation in milliseconds
1310
+ * @default 250
1311
+ */
1312
+ duration?: number;
1313
+ /**
1314
+ * The easing function to use for the animation
1315
+ * @default 'cubic-bezier(0.4, 0, 0.2, 1)'
1316
+ */
1317
+ easing?: string;
1318
+ }
1319
+ declare const createFlipAnimation: (config: FlipAnimationConfig) => {
1320
+ updateInit: () => void;
1321
+ play: () => void;
1322
+ cancel: () => void;
1323
+ onStart$: Observable<void>;
1324
+ onFinish$: Observable<void>;
1325
+ onCancel$: Observable<void>;
1326
+ };
1327
+
1328
+ declare const clamp: (value: number, min?: number, max?: number) => number;
1329
+
1330
+ /**
1331
+ * Stolen from klona to avoid adding a dependency
1332
+ * https://github.com/lukeed/klona
1333
+ *
1334
+ * MIT License
1335
+ *
1336
+ * Copyright (c) Luke Edwards <luke.edwards05@gmail.com> (lukeed.com)
1337
+ *
1338
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
1339
+ *
1340
+ * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
1341
+ *
1342
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1343
+ */
1344
+ declare const clone: <T>(original: T) => T;
1345
+
1346
+ declare const createComponentId: (prefix: string) => string;
1347
+
1348
+ declare const hasCookie: (name: string) => boolean;
1349
+ declare const getCookie: (name: string) => string | null | undefined;
1350
+ declare const setCookie: (name: string, data: string, expiresInDays?: number, domain?: string | null, path?: string, sameSite?: "strict" | "none" | "lax") => void;
1351
+ declare const deleteCookie: (name: string, path?: string, domain?: string | null) => void;
1352
+ declare const getDomain: () => string | null;
1353
+
1354
+ declare const createDestroy: () => rxjs.Observable<boolean>;
1355
+
1356
+ /**
1357
+ * Stolen from dequal to avoid adding a dependency
1358
+ * https://github.com/lukeed/dequal
1359
+ *
1360
+ * The MIT License (MIT)
1361
+ *
1362
+ * Copyright (c) Luke Edwards <luke.edwards05@gmail.com> (lukeed.com)
1363
+ *
1364
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
1365
+ * of this software and associated documentation files (the "Software"), to deal
1366
+ * in the Software without restriction, including without limitation the rights
1367
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1368
+ * copies of the Software, and to permit persons to whom the Software is
1369
+ * furnished to do so, subject to the following conditions:
1370
+ *
1371
+ * The above copyright notice and this permission notice shall be included in
1372
+ * all copies or substantial portions of the Software.
1373
+ *
1374
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1375
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1376
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1377
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1378
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1379
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
1380
+ * THE SOFTWARE.
1381
+ */
1382
+ declare const equal: (foo: any, bar: any) => boolean;
1383
+
1384
+ declare const cloneFormGroup: <T extends FormGroup<any>>(formGroup: T) => T;
1385
+ declare const getFormGroupValue: <T extends FormGroup>(formGroup: T) => Record<string, unknown>;
1386
+
1387
+ declare const injectHostElement: <T = HTMLElement>() => T;
1388
+ declare const injectTemplateRef: <C = unknown>() => TemplateRef<C>;
1389
+
1390
+ declare const getIntersectionInfo: (intersections: IntersectionObserverEntry[]) => {
1391
+ partial: {
1392
+ hasAny: boolean;
1393
+ hasMultiple: boolean;
1394
+ first: {
1395
+ intersection: IntersectionObserverEntry;
1396
+ index: number;
1397
+ };
1398
+ last: {
1399
+ intersection: IntersectionObserverEntry;
1400
+ index: number;
1401
+ };
1402
+ biggest: {
1403
+ intersection: IntersectionObserverEntry;
1404
+ index: number;
1405
+ };
1406
+ };
1407
+ full: {
1408
+ hasAny: boolean;
1409
+ hasMultiple: boolean;
1410
+ first: {
1411
+ index: number;
1412
+ intersection: IntersectionObserverEntry | undefined;
1413
+ };
1414
+ last: {
1415
+ index: number;
1416
+ intersection: IntersectionObserverEntry | undefined;
1417
+ };
1418
+ };
1419
+ none: {
1420
+ first: {
1421
+ index: number;
1422
+ intersection: IntersectionObserverEntry | undefined;
1423
+ };
1424
+ last: {
1425
+ index: number;
1426
+ intersection: IntersectionObserverEntry | undefined;
1427
+ };
1428
+ };
1429
+ } | null;
1430
+
1431
+ declare class KeyPressManager {
1432
+ readonly key: number;
1433
+ private readonly _isKeyPressed$;
1434
+ private readonly _keyPressCount$;
1435
+ private readonly _stopTimeout$;
1436
+ constructor(key: number);
1437
+ isPressed(event: KeyboardEvent): boolean;
1438
+ clear(): void;
1439
+ }
1440
+
1441
+ declare const DISABLE_LOGGER_PARAM = "et-logger-quiet";
1442
+ type CreateLoggerConfig = {
1443
+ scope: string;
1444
+ feature: string;
1445
+ };
1446
+ declare const createLogger: (config: CreateLoggerConfig) => {
1447
+ log: (...args: unknown[]) => void;
1448
+ warn: (...args: unknown[]) => void;
1449
+ error: (...args: unknown[]) => void;
1450
+ };
1451
+
1452
+ declare const createMediaQueryObservable: (query: string) => Observable<{
1453
+ matches: boolean;
1454
+ query: string;
1455
+ }>;
1456
+
1457
+ declare const createMutationObservable: (config: {
1458
+ elements: HTMLElement | HTMLElement[];
1459
+ options?: MutationObserverInit & {
1460
+ styleIgnoreList?: string[];
1461
+ };
1462
+ }) => Observable<MutationRecord[]>;
1463
+
1464
+ declare const isObject: (value: unknown) => value is Record<string, unknown>;
1465
+ declare const isArray: (value: unknown) => value is unknown[];
1466
+ declare const getObjectProperty: (obj: Record<string, unknown>, prop: string) => unknown;
1467
+
1468
+ type AttributeValueBinding = {
1469
+ render: boolean;
1470
+ value: boolean | string | number;
1471
+ };
1472
+ type AttributeRenderBinding = boolean;
1473
+ type ReactiveAttributes = {
1474
+ attribute: string | string[];
1475
+ observable: Observable<AttributeValueBinding | AttributeRenderBinding>;
1476
+ eager?: boolean;
1477
+ elementRef?: ElementRef<HTMLElement>;
1478
+ };
1479
+ interface ReactiveBindingResult {
1480
+ reset: () => void;
1481
+ remove: (...attributes: string[]) => void;
1482
+ push: (value: ReactiveAttributes) => void;
1483
+ }
1484
+ /**
1485
+ * @deprecated Use one of the following instead:
1486
+ * - `signalHostAttributes`
1487
+ * - `signalHostClasses`
1488
+ * - `signalHostStyles`
1489
+ * - `signalAttributes`
1490
+ * - `signalClasses`
1491
+ * - `signalStyles`
1492
+ *
1493
+ * Will be removed in v5.
1494
+ */
1495
+ declare const createReactiveBindings: (...values: ReactiveAttributes[]) => ReactiveBindingResult;
1496
+
1497
+ declare const createResizeObservable: (config: {
1498
+ elements: HTMLElement | HTMLElement[];
1499
+ options?: ResizeObserverOptions;
1500
+ }) => Observable<ResizeObserverEntry[]>;
1501
+
1502
+ declare const round: (value: number, precision?: number) => number;
1503
+
1504
+ declare const RUNTIME_ERROR_NO_DATA = "__ET_NO_DATA__";
1505
+ declare class RuntimeError<T extends number> extends Error {
1506
+ code: T;
1507
+ devOnly: boolean;
1508
+ data: unknown;
1509
+ constructor(code: T, message: null | false | string, devOnly?: boolean, data?: unknown);
1510
+ }
1511
+ declare function formatRuntimeError<T extends number>(code: T, message: null | false | string, devOnly: boolean): string;
1512
+
1513
+ declare const elementCanScroll: (element: HTMLElement, direction?: "x" | "y") => boolean;
1514
+ interface IsElementVisibleOptions {
1515
+ /**
1516
+ * The element to check if it is visible inside a container.
1517
+ */
1518
+ element?: HTMLElement | null;
1519
+ /**
1520
+ * The container to check if the element is visible inside.
1521
+ * @default document.documentElement
1522
+ */
1523
+ container?: HTMLElement | null;
1524
+ /**
1525
+ * The container's rect to check if the element is visible inside. Can be supplied to reduce the amount of DOM reads.
1526
+ * @default container.getBoundingClientRect()
1527
+ */
1528
+ containerRect?: DOMRect | null;
1529
+ /**
1530
+ * The element's rect. Can be supplied to reduce the amount of DOM reads.
1531
+ * @default container.getBoundingClientRect()
1532
+ */
1533
+ elementRect?: DOMRect | null;
1534
+ }
1535
+ interface CurrentElementVisibility {
1536
+ /**
1537
+ * Whether the element is visible in the inline direction.
1538
+ */
1539
+ inline: boolean;
1540
+ /**
1541
+ * Whether the element is visible in the block direction.
1542
+ */
1543
+ block: boolean;
1544
+ /**
1545
+ * The percentage of the element that is visible in the inline direction.
1546
+ */
1547
+ inlineIntersection: number;
1548
+ /**
1549
+ * The percentage of the element that is visible in the block direction.
1550
+ */
1551
+ blockIntersection: number;
1552
+ /**
1553
+ * Whether the element is intersecting the container.
1554
+ */
1555
+ isIntersecting: boolean;
1556
+ /**
1557
+ * The ratio of the element that is intersecting the container.
1558
+ */
1559
+ intersectionRatio: number;
1560
+ /**
1561
+ * The element that is being checked for visibility.
1562
+ */
1563
+ element: HTMLElement;
1564
+ }
1565
+ declare const isElementVisible: (options: IsElementVisibleOptions) => CurrentElementVisibility | null;
1566
+ declare const getElementScrollCoordinates: (options: ScrollToElementOptions) => ScrollToOptions;
1567
+ interface ScrollToElementOptions {
1568
+ /**
1569
+ * The element to scroll to.
1570
+ */
1571
+ element?: HTMLElement | null;
1572
+ /**
1573
+ * The scroll container to scroll to the element in.
1574
+ * @default document.documentElement
1575
+ */
1576
+ container?: HTMLElement | null;
1577
+ /**
1578
+ * The direction to scroll in.
1579
+ * @default 'both'
1580
+ */
1581
+ direction?: 'inline' | 'block' | 'both';
1582
+ /**
1583
+ * The origin of the element to scroll to.
1584
+ * @default 'nearest'
1585
+ */
1586
+ origin?: 'start' | 'end' | 'center' | 'nearest';
1587
+ /**
1588
+ * The scroll behavior.
1589
+ * @default 'smooth'
1590
+ */
1591
+ behavior?: ScrollBehavior;
1592
+ /**
1593
+ * The scroll inline-margin
1594
+ * @default 0
1595
+ */
1596
+ scrollInlineMargin?: number;
1597
+ /**
1598
+ * The scroll block-margin
1599
+ * @default 0
1600
+ */
1601
+ scrollBlockMargin?: number;
1602
+ }
1603
+ declare const scrollToElement: (options: ScrollToElementOptions) => void;
1604
+
1605
+ type SignalElementBindingComplexType = HTMLElement | ElementRef<HTMLElement> | QueryList<ElementRef<HTMLElement> | HTMLElement> | Array<ElementRef<HTMLElement> | HTMLElement> | null | undefined;
1606
+ type SignalElementBindingType = HTMLElement | ElementRef<HTMLElement> | Observable<SignalElementBindingComplexType> | Signal<SignalElementBindingComplexType> | QueryList<ElementRef<HTMLElement> | HTMLElement> | ElementSignal;
1607
+ type ElementSignal = Signal<{
1608
+ /** @deprecated Always use currentElements */
1609
+ currentElement: HTMLElement | null;
1610
+ /** @deprecated Always use previousElements */
1611
+ previousElement: HTMLElement | null;
1612
+ currentElements: HTMLElement[];
1613
+ previousElements: HTMLElement[];
1614
+ }>;
1615
+ interface BuildSignalEffectsConfig<T extends Record<string, Signal<unknown>>> {
1616
+ /** The tokens to apply and their signal value */
1617
+ tokenMap: T;
1618
+ /** This function will be invoked for elements that were removed from the signal effects */
1619
+ cleanupFn: (el: HTMLElement, tokens: string[]) => void;
1620
+ /** This function will be invoked for elements that were added to the signal effects or when their signal value changes */
1621
+ updateFn: (el: HTMLElement, tokens: string[], conditionResult: unknown) => void;
1622
+ }
1623
+ declare const buildSignalEffects: <T extends Record<string, Signal<unknown>>>(el: SignalElementBindingType, config: BuildSignalEffectsConfig<T>) => {
1624
+ remove: (tokens: string) => void;
1625
+ removeMany: (tokens: string[]) => void;
1626
+ has: (tokens: string) => boolean;
1627
+ push: (tokens: string, signal: Signal<unknown>) => void;
1628
+ pushMany: (map: Record<string, Signal<unknown>>) => void;
1629
+ };
1630
+ declare const signalIsRendered: () => Signal<boolean>;
1631
+ declare const signalClasses: <T extends Record<string, Signal<unknown>>>(el: SignalElementBindingType, classMap: T) => {
1632
+ remove: (tokens: string) => void;
1633
+ removeMany: (tokens: string[]) => void;
1634
+ has: (tokens: string) => boolean;
1635
+ push: (tokens: string, signal: Signal<unknown>) => void;
1636
+ pushMany: (map: Record<string, Signal<unknown>>) => void;
1637
+ };
1638
+ declare const signalHostClasses: <T extends Record<string, Signal<unknown>>>(classMap: T) => {
1639
+ remove: (tokens: string) => void;
1640
+ removeMany: (tokens: string[]) => void;
1641
+ has: (tokens: string) => boolean;
1642
+ push: (tokens: string, signal: Signal<unknown>) => void;
1643
+ pushMany: (map: Record<string, Signal<unknown>>) => void;
1644
+ };
1645
+ declare const signalAttributes: <T extends Record<string, Signal<unknown>>>(el: SignalElementBindingType, attributeMap: T) => {
1646
+ remove: (tokens: string) => void;
1647
+ removeMany: (tokens: string[]) => void;
1648
+ has: (tokens: string) => boolean;
1649
+ push: (tokens: string, signal: Signal<unknown>) => void;
1650
+ pushMany: (map: Record<string, Signal<unknown>>) => void;
1651
+ };
1652
+ declare const signalHostAttributes: <T extends Record<string, Signal<unknown>>>(attributeMap: T) => {
1653
+ remove: (tokens: string) => void;
1654
+ removeMany: (tokens: string[]) => void;
1655
+ has: (tokens: string) => boolean;
1656
+ push: (tokens: string, signal: Signal<unknown>) => void;
1657
+ pushMany: (map: Record<string, Signal<unknown>>) => void;
1658
+ };
1659
+ declare const signalStyles: <T extends Record<string, Signal<unknown>>>(el: SignalElementBindingType, styleMap: T) => {
1660
+ remove: (tokens: string) => void;
1661
+ removeMany: (tokens: string[]) => void;
1662
+ has: (tokens: string) => boolean;
1663
+ push: (tokens: string, signal: Signal<unknown>) => void;
1664
+ pushMany: (map: Record<string, Signal<unknown>>) => void;
1665
+ };
1666
+ declare const signalHostStyles: <T extends Record<string, Signal<unknown>>>(styleMap: T) => {
1667
+ remove: (tokens: string) => void;
1668
+ removeMany: (tokens: string[]) => void;
1669
+ has: (tokens: string) => boolean;
1670
+ push: (tokens: string, signal: Signal<unknown>) => void;
1671
+ pushMany: (map: Record<string, Signal<unknown>>) => void;
1672
+ };
1673
+ interface LogicalSize {
1674
+ inlineSize: number;
1675
+ blockSize: number;
1676
+ }
1677
+ type ElementRect = {
1678
+ bottom: number;
1679
+ height: number;
1680
+ left: number;
1681
+ right: number;
1682
+ top: number;
1683
+ width: number;
1684
+ x: number;
1685
+ y: number;
1686
+ };
1687
+ type ElementSize = {
1688
+ width: number;
1689
+ height: number;
1690
+ };
1691
+ declare const boundingClientRectToElementRect: (rect: DOMRectReadOnly) => ElementRect;
1692
+ declare const createElementDimensions: (el: HTMLElement | null, rect?: DOMRect) => NullableElementDimensions;
1693
+ type ElementDimensions = {
1694
+ rect: () => ElementRect;
1695
+ client: ElementSize;
1696
+ scroll: ElementSize;
1697
+ offset: ElementSize;
1698
+ };
1699
+ type NullableElementDimensions = {
1700
+ [K in keyof ElementDimensions]: ElementDimensions[K] | null;
1701
+ };
1702
+ declare const signalElementDimensions: (el: SignalElementBindingType) => Signal<NullableElementDimensions>;
1703
+ declare const signalHostElementDimensions: () => Signal<NullableElementDimensions>;
1704
+ declare const signalElementMutations: (el: SignalElementBindingType, options?: MutationObserverInit) => Signal<MutationRecord | null>;
1705
+ declare const signalHostElementMutations: (options?: MutationObserverInit) => Signal<MutationRecord | null>;
1706
+ type SignalElementScrollStateOptions = {
1707
+ /** The initial scroll position to scroll to. Once a truthy value get's emitted, all further values will be ignored. */
1708
+ initialScrollPosition?: Signal<ScrollToOptions | null>;
1709
+ };
1710
+ type ElementScrollState = {
1711
+ canScroll: boolean;
1712
+ canScrollHorizontally: boolean;
1713
+ canScrollVertically: boolean;
1714
+ elementDimensions: NullableElementDimensions;
1715
+ };
1716
+ declare const areScrollStatesEqual: (a: ElementScrollState, b: ElementScrollState) => boolean;
1717
+ declare const signalElementScrollState: (el: SignalElementBindingType, options?: SignalElementScrollStateOptions) => Signal<ElementScrollState>;
1718
+ declare const signalHostElementScrollState: () => Signal<ElementScrollState>;
1719
+ type SignalElementIntersectionOptions = Omit<IntersectionObserverInit, 'root'> & {
1720
+ root?: SignalElementBindingType;
1721
+ enabled?: Signal<boolean>;
1722
+ };
1723
+ declare const signalElementIntersection: (el: SignalElementBindingType, options?: SignalElementIntersectionOptions) => Signal<IntersectionObserverEntry[]>;
1724
+ declare const signalHostElementIntersection: (options?: SignalElementIntersectionOptions) => Signal<IntersectionObserverEntry[]>;
1725
+ declare const signalElementChildren: (el: SignalElementBindingType) => Signal<HTMLElement[]>;
1726
+ declare const previousSignalValue: <T>(signal: Signal<T>) => Signal<T | undefined>;
1727
+ type SyncSignalOptions = {
1728
+ /**
1729
+ * If true, the target signal will not be updated with the source signal's value in a sync operation.
1730
+ * This should be set to true for signals that need to be initialized first before syncing (eg. required inputs)
1731
+ * @default false
1732
+ */
1733
+ skipSyncRead?: boolean;
1734
+ /**
1735
+ * If true, the first time the effect will be triggered will be skipped.
1736
+ * @default false
1737
+ */
1738
+ skipFirstRun?: boolean;
1739
+ };
1740
+ declare const syncSignal: <T>(from: Signal<T>, to: WritableSignal<T>, options?: SyncSignalOptions) => EffectRef;
1741
+ interface ControlValueSignalOptions {
1742
+ debounceTime?: number;
1743
+ /**
1744
+ * @default false
1745
+ */
1746
+ debounceFirst?: boolean;
1747
+ }
1748
+ declare const controlValueSignal: <T extends Signal<AbstractControl | null> | AbstractControl, J extends T extends Signal<infer I> ? I : T>(control: T, options?: ControlValueSignalOptions) => Signal<ReturnType<NonNullable<J>["getRawValue"]> | null>;
1749
+ /**
1750
+ * The first item in the pair is the previous value and the second item is the current value.
1751
+ */
1752
+ declare const controlValueSignalWithPrevious: <T extends AbstractControl>(control: T, options?: ControlValueSignalOptions) => Signal<any[] | [ReturnType<NonNullable<T extends Signal<infer I> ? I : T>["getRawValue"]> | null, ReturnType<NonNullable<T extends Signal<infer I> ? I : T>["getRawValue"]> | null]>;
1753
+ /**
1754
+ * @deprecated Use `controlValueSignal` instead with `debounceTime` option.
1755
+ */
1756
+ interface DebouncedControlValueSignalOptions {
1757
+ /**
1758
+ * @default 300
1759
+ */
1760
+ debounceTime?: number;
1761
+ }
1762
+ /**
1763
+ * @deprecated Use `controlValueSignal` instead with `debounceTime` set to `300` and `debounceFirst` set to `true`.
1764
+ */
1765
+ declare const debouncedControlValueSignal: <T extends FormControl>(control: T, options?: DebouncedControlValueSignalOptions) => Signal<ReturnType<NonNullable<T extends Signal<infer I> ? I : T>["getRawValue"]> | null>;
1766
+ type InjectUtilConfig = {
1767
+ /** The injector to use for the injection. Must be provided if the function is not called from within a injection context. */
1768
+ injector?: Injector;
1769
+ };
1770
+ type InjectUtilTransformConfig<In, Out> = {
1771
+ /**
1772
+ * A transform function similar to the `transform` function in Angular input bindings.
1773
+ * Can be used to transform the value before it is returned.
1774
+ * E.g. transforming `"true"` to `true` for a boolean attribute.
1775
+ */
1776
+ transform?: (value: In) => Out;
1777
+ };
1778
+ declare const transformOrReturn: <In, Out>(src: Signal<In>, config?: InjectUtilTransformConfig<In, Out>) => Signal<Out>;
1779
+ /** Inject the current router event */
1780
+ declare const injectRouterEvent: () => Signal<_angular_router.Event | null>;
1781
+ /**
1782
+ * Inject the current url.
1783
+ * The url includes query params as well as the fragment. Use `injectRoute` instead if you are not intrusted in those.
1784
+ * @example "/my-page?query=1&param=true#fragment"
1785
+ */
1786
+ declare const injectUrl: () => Signal<string>;
1787
+ /**
1788
+ * Inject the current route
1789
+ * @example "/my-page"
1790
+ */
1791
+ declare const injectRoute: () => Signal<string>;
1792
+ /**
1793
+ * Inject the complete router state. This includes the current route data, path params, query params, title and fragment.
1794
+ */
1795
+ declare const injectRouterState: () => Signal<RouterState>;
1796
+ /** Inject a signal containing the current route fragment (the part after the # inside the url if present) */
1797
+ declare const injectFragment: <T = string | null>(config?: InjectUtilConfig & InjectUtilTransformConfig<string | null, T>) => Signal<T>;
1798
+ /** Inject all currently available query parameters as a signal */
1799
+ declare const injectQueryParams: () => Signal<_angular_router.Params>;
1800
+ /** Inject all currently available route data as a signal */
1801
+ declare const injectRouteData: () => Signal<_angular_router.Data>;
1802
+ /** Inject the current route title as a signal */
1803
+ declare const injectRouteTitle: <T = string | null>(config?: InjectUtilTransformConfig<string | null, T>) => Signal<T>;
1804
+ /** Inject all currently available path parameters as a signal */
1805
+ declare const injectPathParams: () => Signal<_angular_router.Params>;
1806
+ /** Inject a specific query parameter as a signal */
1807
+ declare const injectQueryParam: <T = string | null>(key: string, config?: InjectUtilTransformConfig<string | null, T>) => Signal<T>;
1808
+ /** Inject a specific route data item as a signal */
1809
+ declare const injectRouteDataItem: <T = unknown>(key: string, config?: InjectUtilTransformConfig<unknown, T>) => Signal<T>;
1810
+ /** Inject a specific path parameter as a signal */
1811
+ declare const injectPathParam: <T = string | null>(key: string, config?: InjectUtilTransformConfig<string | null, T>) => Signal<T>;
1812
+ /**
1813
+ * Inject query params that changed during navigation. Unchanged query params will be ignored.
1814
+ * Removed query params will be represented by the symbol `ET_PROPERTY_REMOVED`.
1815
+ */
1816
+ declare const injectQueryParamChanges: () => Signal<Record<string, unknown>>;
1817
+ /**
1818
+ * Inject path params that changed during navigation. Unchanged path params will be ignored.
1819
+ * Removed path params will be represented by the symbol `ET_PROPERTY_REMOVED`.
1820
+ */
1821
+ declare const injectPathParamChanges: () => Signal<Record<string, unknown>>;
1822
+ declare const createIsRenderedSignal: () => {
1823
+ state: WritableSignal<boolean>;
1824
+ bind: () => EffectRef;
1825
+ };
1826
+ declare const createCanAnimateSignal: () => {
1827
+ state: Signal<boolean>;
1828
+ };
1829
+ type ElementLastScrollDirectionType = 'up' | 'down' | 'left' | 'right';
1830
+ type ElementLastScrollDirection = {
1831
+ type: ElementLastScrollDirectionType;
1832
+ time: number;
1833
+ };
1834
+ declare const signalElementLastScrollDirection: (el: SignalElementBindingType) => Signal<ElementLastScrollDirection | null>;
1835
+ declare const signalHostElementLastScrollDirection: () => Signal<ElementLastScrollDirection | null>;
1836
+ type CursorDragScrollDirection = 'horizontal' | 'vertical' | 'both';
1837
+ type MaybeSignal<T> = T | Signal<T>;
1838
+ declare const maybeSignalValue: <T>(value: MaybeSignal<T>) => T;
1839
+ type CursorDragScrollOptions = {
1840
+ /** If true, cursor drag scrolling will be enabled. */
1841
+ enabled?: Signal<boolean>;
1842
+ /** The allowed scroll direction. */
1843
+ allowedDirection?: MaybeSignal<CursorDragScrollDirection>;
1844
+ };
1845
+ /** A function to apply cursor drag scroll behavior to an element. */
1846
+ declare const useCursorDragScroll: (el: SignalElementBindingType, options?: CursorDragScrollOptions) => {
1847
+ isDragging: Signal<boolean>;
1848
+ currentDragAmount: Signal<{
1849
+ x: number;
1850
+ y: number;
1851
+ }>;
1852
+ };
1853
+ /**
1854
+ * A computed that will only be reactive until the source signal contains a truthy value.
1855
+ * All subsequent changes inside the computation will be ignored.
1856
+ */
1857
+ declare const computedTillTruthy: <T>(source: Signal<T>) => Signal<T | null>;
1858
+ /**
1859
+ * A computed that will only be reactive until the source signal contains a falsy value.
1860
+ * All subsequent changes inside the computation will be ignored.
1861
+ */
1862
+ declare const computedTillFalsy: <T>(source: Signal<T>) => Signal<T | null>;
1863
+ /**
1864
+ * A writeable signal that will be set to the provided value once all inputs are set.
1865
+ * During that time, the signal will be set to `null`.
1866
+ */
1867
+ declare const deferredSignal: <T extends () => unknown>(valueFn: T) => WritableSignal<ReturnType<T> | null>;
1868
+ /** Inject a signal containing a boolean value indicating if the viewport is xs */
1869
+ declare const injectIsXs: () => Signal<boolean>;
1870
+ /** Inject a signal containing a boolean value indicating if the viewport is sm */
1871
+ declare const injectIsSm: () => Signal<boolean>;
1872
+ /** Inject a signal containing a boolean value indicating if the viewport is md */
1873
+ declare const injectIsMd: () => Signal<boolean>;
1874
+ /** Inject a signal containing a boolean value indicating if the viewport is lg */
1875
+ declare const injectIsLg: () => Signal<boolean>;
1876
+ /** Inject a signal containing a boolean value indicating if the viewport is xl */
1877
+ declare const injectIsXl: () => Signal<boolean>;
1878
+ /** Inject a signal containing a boolean value indicating if the viewport is 2xl */
1879
+ declare const injectIs2Xl: () => Signal<boolean>;
1880
+ /**
1881
+ * Inject a boolean value indicating if the viewport is matching the provided options.
1882
+ * This value is not reactive. If you want to react to changes, use the {@link injectObserveBreakpoint} function instead.
1883
+ */
1884
+ declare const injectBreakpointIsMatched: (options: {
1885
+ min?: number | Breakpoint;
1886
+ max?: number | Breakpoint;
1887
+ }) => boolean;
1888
+ /**
1889
+ * Inject a signal containing a boolean value indicating if the viewport is matching the provided options.
1890
+ */
1891
+ declare const injectObserveBreakpoint: (options: {
1892
+ min?: number | Breakpoint;
1893
+ max?: number | Breakpoint;
1894
+ }) => Signal<boolean>;
1895
+ /** Inject a signal containing the current breakpoint. */
1896
+ declare const injectCurrentBreakpoint: () => Signal<"xs" | "sm" | "md" | "lg" | "xl" | "2xl">;
1897
+ /** Inject a signal that indicates if the user is using a portrait display */
1898
+ declare const injectIsPortrait: () => Signal<boolean>;
1899
+ /** Inject a signal that indicates if the user is using a landscape display */
1900
+ declare const injectIsLandscape: () => Signal<boolean>;
1901
+ /** Inject a signal containing the current display orientation */
1902
+ declare const injectDisplayOrientation: () => Signal<"portrait" | "landscape">;
1903
+ /** Inject a signal that indicates if the device has a touch input */
1904
+ declare const injectHasTouchInput: () => Signal<boolean>;
1905
+ /** Inject a signal that indicates if the device has a fine input (mouse or stylus) */
1906
+ declare const injectHasPrecisionInput: () => Signal<boolean>;
1907
+ /** Inject a signal containing the current device input type */
1908
+ declare const injectDeviceInputType: () => Signal<"touch" | "mouse">;
1909
+ /** Inject a signal containing a boolean value indicating if the user can hover (eg. using a mouse) */
1910
+ declare const injectCanHover: () => Signal<boolean>;
1911
+
1912
+ /**
1913
+ * @deprecated Will be removed in v5. Scroll blocking for overlays is build in by default.
1914
+ */
1915
+ declare class SmartBlockScrollStrategy implements ScrollStrategy {
1916
+ #private;
1917
+ private _previousHTMLStyles;
1918
+ private _previousScrollPosition;
1919
+ private _isEnabled;
1920
+ private _urlSubscription;
1921
+ private _resizeSubscription;
1922
+ private _didNavigate;
1923
+ attach(): void;
1924
+ enable(): void;
1925
+ disable(): void;
1926
+ private _canBeEnabled;
1927
+ }
1928
+
1929
+ declare const isPrimitiveArray: (value: unknown) => value is Array<Primitive>;
1930
+ declare const isObjectArray: (value: unknown) => value is Array<Record<string, unknown>>;
1931
+ declare const isEmptyArray: (value: unknown) => value is [];
1932
+
1933
+ declare const provideViewportConfig: (viewportConfig: ViewportConfig) => {
1934
+ provide: typeof VIEWPORT_CONFIG;
1935
+ useValue: typeof viewportConfig;
1936
+ };
1937
+
1938
+ declare const AT_LEAST_ONE_REQUIRED = "atLeastOneRequired";
1939
+ interface ValidateAtLeastOneRequiredConfig {
1940
+ /**
1941
+ * Keys of form controls to validate in the supplied form group
1942
+ */
1943
+ keys: string[];
1944
+ /**
1945
+ * If true, the value `false` will result in a validation error
1946
+ * @default false
1947
+ */
1948
+ checkFalse?: boolean;
1949
+ }
1950
+ declare const ValidateAtLeastOneRequired: (config: ValidateAtLeastOneRequiredConfig) => ValidatorFn;
1951
+
1952
+ declare const IS_ARRAY_NOT_EMPTY = "isArrayNotEmpty";
1953
+ declare const IsArrayNotEmpty: (control: AbstractControl) => ValidationErrors | null;
1954
+
1955
+ declare const IS_EMAIL = "isEmail";
1956
+ declare const IsEmail: (control: AbstractControl) => ValidationErrors | null;
1957
+
1958
+ declare const MUST_MATCH = "mustMatch";
1959
+ declare const MustMatch: (controlName: string, matchingControlName: string) => (formGroup: AbstractControl) => {
1960
+ mustMatch: boolean;
1961
+ } | null;
1962
+
1963
+ declare const Validators: {
1964
+ readonly MustMatch: (controlName: string, matchingControlName: string) => (formGroup: _angular_forms.AbstractControl) => {
1965
+ mustMatch: boolean;
1966
+ } | null;
1967
+ readonly IsEmail: (control: _angular_forms.AbstractControl) => _angular_forms.ValidationErrors | null;
1968
+ readonly IsArrayNotEmpty: (control: _angular_forms.AbstractControl) => _angular_forms.ValidationErrors | null;
1969
+ readonly ValidateAtLeastOneRequired: (config: ValidateAtLeastOneRequiredConfig) => _angular_forms.ValidatorFn;
1970
+ };
1971
+
1972
+ export { ANIMATABLE_TOKEN, ANIMATED_IF_TOKEN, ANIMATED_LIFECYCLE_TOKEN, AT_LEAST_ONE_REQUIRED, ActiveSelectionModel, AnimatableDirective, AnimatedIfDirective, AnimatedLifecycleDirective, AnimatedOverlayDirective, CURSOR_DRAG_SCROLLING_CLASS, CURSOR_DRAG_SCROLLING_PREPARED_CLASS, ClickObserverFactory, ClickObserverService, ClickOutsideDirective, ContentObserverService, CursorDragScrollDirective, DEBUG_TOKEN, DEFAULT_VIEWPORT_CONFIG, DELAYABLE_TOKEN, DISABLE_LOGGER_PARAM, DebugDirective, DelayableDirective, ET_PROPERTY_REMOVED, FocusVisibleService, IS_ACTIVE_ELEMENT, IS_ARRAY_NOT_EMPTY, IS_ELEMENT, IS_EMAIL, InferMimeTypePipe, IntersectionObserverFactory, IntersectionObserverService, IsActiveElementDirective, IsArrayNotEmpty, IsElementDirective, IsEmail, KeyPressManager, LetContext, LetDirective, MUST_MATCH, MatchStateType, Memo, MustMatch, MutationObserverFactory, NormalizeGameResultTypePipe, NormalizeMatchParticipantsPipe, NormalizeMatchScorePipe, NormalizeMatchStatePipe, NormalizeMatchTypePipe, OBSERVE_SCROLL_STATE, OBSERVE_VISIBILITY_TOKEN, ObserveContentDirective, ObserveResizeDirective, ObserveScrollStateDirective, ObserveVisibilityDirective, PropsDirective, ROOT_BOUNDARY_TOKEN, RUNTIME_ERROR_NO_DATA, RepeatDirective, ResizeObserverFactory, ResizeObserverService, RootBoundaryDirective, RouterStateService, RuntimeError, SCROLL_OBSERVER_FIRST_ELEMENT_CLASS, SCROLL_OBSERVER_IGNORE_TARGET_CLASS, SCROLL_OBSERVER_LAST_ELEMENT_CLASS, SCROLL_OBSERVER_OBSERVING_FIRST_ELEMENT_CLASS, SCROLL_OBSERVER_OBSERVING_LAST_ELEMENT_CLASS, SEO_DIRECTIVE_TOKEN, ScrollObserverFirstElementDirective, ScrollObserverIgnoreTargetDirective, ScrollObserverLastElementDirective, SelectionModel, SeoDirective, SmartBlockScrollStrategy, StructuredDataComponent, ToArrayPipe, TypedQueryList, VIEWPORT_CONFIG, ValidateAtLeastOneRequired, Validators, ViewportService, areScrollStatesEqual, bindProps, boundingClientRectToElementRect, buildSignalEffects, clamp, clone, cloneFormGroup, computedTillFalsy, computedTillTruthy, controlValueSignal, controlValueSignalWithPrevious, createCanAnimateSignal, createComponentId, createDependencyStash, createDestroy, createElementDictionary, createElementDimensions, createFlipAnimation, createFlipAnimationGroup, createHostProps, createIsRenderedSignal, createLogger, createMediaQueryObservable, createMutationObservable, createPropHandlers, createProps, createReactiveBindings, createResizeObservable, createSetup, debouncedControlValueSignal, deferredSignal, deleteCookie, elementCanScroll, equal, forceReflow, formatRuntimeError, fromNextFrame, getCookie, getDomain, getElementScrollCoordinates, getFormGroupValue, getGroupMatchPoints, getGroupMatchScore, getIntersectionInfo, getKnockoutMatchScore, getMatchScoreSubLine, getObjectProperty, hasCookie, inferMimeType, injectBreakpointIsMatched, injectCanHover, injectCurrentBreakpoint, injectDeviceInputType, injectDisplayOrientation, injectFragment, injectHasPrecisionInput, injectHasTouchInput, injectHostElement, injectIs2Xl, injectIsLandscape, injectIsLg, injectIsMd, injectIsPortrait, injectIsSm, injectIsXl, injectIsXs, injectObserveBreakpoint, injectPathParam, injectPathParamChanges, injectPathParams, injectQueryParam, injectQueryParamChanges, injectQueryParams, injectRoute, injectRouteData, injectRouteDataItem, injectRouteTitle, injectRouterEvent, injectRouterState, injectTemplateRef, injectUrl, isArray, isElementVisible, isEmptyArray, isGroupMatch, isKnockoutMatch, isObject, isObjectArray, isPrimitiveArray, maybeSignalValue, mergeSeoConfig, nextFrame, normalizeGameResultType, normalizeMatchParticipant, normalizeMatchParticipants, normalizeMatchScore, normalizeMatchState, normalizeMatchType, previousSignalValue, provideViewportConfig, round, routerDisableScrollTop, scrollToElement, setCookie, signalAttributes, signalClasses, signalElementChildren, signalElementDimensions, signalElementIntersection, signalElementLastScrollDirection, signalElementMutations, signalElementScrollState, signalHostAttributes, signalHostClasses, signalHostElementDimensions, signalHostElementIntersection, signalHostElementLastScrollDirection, signalHostElementMutations, signalHostElementScrollState, signalHostStyles, signalIsRendered, signalStyles, signalVisibilityChangeClasses, switchQueryListChanges, syncSignal, templateComputed, toArray, toArrayTrackByFn, transformOrReturn, unbindProps, useCursorDragScroll };
1973
+ export type { AlternateLink, AnimatedLifecycleState, AnimatedOverlayComponentBase, AnyTemplateType, BindPropsOptions, Breakpoint, BuildMediaQueryOptions, BuildSignalEffectsConfig, ComponentTemplate, ComponentTypeWithInputs, ControlValueSignalOptions, CreateLoggerConfig, CreatePropsOptions, CurrentElementVisibility, CursorDragScrollDirection, CursorDragScrollOptions, DebouncedControlValueSignalOptions, ElementDimensions, ElementLastScrollDirection, ElementLastScrollDirectionType, ElementRect, ElementScrollState, ElementSize, FacebookCard, FlipAnimationConfig, HostDirective, HostProps, InjectUtilConfig, InjectUtilTransformConfig, IsElementVisibleOptions, LogicalSize, MapLike, MaybeObservable, MaybeSignal, MemoConfig, MemoResolver, NgClassType, NgTemplateTemplate, NormalizedGameResultType, NormalizedMatchParticipant, NormalizedMatchParticipants, NormalizedMatchScore, NullableElementDimensions, ObserveVisibilityChange, ObservedScrollableChild, OpenGraph, Primitive, PropHandlers, Props, PropsAttachedElements, PropsAttachedElementsInternal, PropsInternal, ReactiveAttributes, ReactiveBindingResult, Reference, RouterDisableScrollTopConfig, RouterState, ScrollEnhancementsConfig, ScrollObserverScrollState, ScrollToElementOptions, SelectionModelBinding, SelectionModelOptionValueFn, SelectionModelPropertyPath, SelectionModelTypes, SeoConfig, SignalElementIntersectionOptions, SignalElementScrollStateOptions, Size, StringTemplate, SyncSignalOptions, TemplateRefWithContext, Translatable, TwitterCard, UnbindPropsOptions, ValidateAtLeastOneRequiredConfig, Vec2, ViewportConfig };