@ethlete/core 5.0.0-next.2 → 5.0.0-next.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +131 -0
- package/fesm2022/ethlete-core.mjs +2903 -846
- package/fesm2022/ethlete-core.mjs.map +1 -1
- package/generators/generators.json +9 -4
- package/generators/migrate-to-v5/color-naming.js +175 -0
- package/generators/migrate-to-v5/migration.js +6 -0
- package/generators/migrate-to-v5/schema.json +5 -0
- package/generators/{tailwind-4-theme → tailwind-4-color-theme}/generator.js +141 -87
- package/generators/tailwind-4-color-theme/schema.json +40 -0
- package/generators/tailwind-4-surface-theme/generator.js +402 -0
- package/generators/tailwind-4-surface-theme/schema.json +40 -0
- package/package.json +14 -13
- package/types/ethlete-core.d.ts +1700 -1031
- package/generators/tailwind-4-theme/schema.json +0 -32
package/types/ethlete-core.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { InjectionToken, AfterViewInit, Signal, ComponentRef, StaticProvider, EmbeddedViewRef,
|
|
2
|
+
import { InjectionToken, AfterViewInit, InputSignal, Signal, ComponentRef, StaticProvider, EmbeddedViewRef, WritableSignal, InputSignalWithTransform, ElementRef, QueryList, RendererStyleFlags2, Type, Provider, Injector, ViewContainerRef, computed, InjectOptions, TemplateRef, PipeTransform, TrackByFunction, DestroyRef, OnInit, OnDestroy } from '@angular/core';
|
|
3
3
|
import * as rxjs from 'rxjs';
|
|
4
4
|
import { Observable, BehaviorSubject, Subject } from 'rxjs';
|
|
5
5
|
import * as _ethlete_core from '@ethlete/core';
|
|
@@ -8,8 +8,9 @@ import { ComponentPortal, ComponentType } from '@angular/cdk/portal';
|
|
|
8
8
|
import { Placement, OffsetOptions, Padding } from '@floating-ui/dom';
|
|
9
9
|
import { MatchListView, ParticipantViewUnion, MatchRankingView, StageType } from '@ethlete/types';
|
|
10
10
|
import * as _angular_platform_browser from '@angular/platform-browser';
|
|
11
|
-
import {
|
|
12
|
-
import
|
|
11
|
+
import { AbstractControl, FormGroup, ValidationErrors, ValidatorFn } from '@angular/forms';
|
|
12
|
+
import * as _angular_router from '@angular/router';
|
|
13
|
+
import { Data, Params, Router } from '@angular/router';
|
|
13
14
|
|
|
14
15
|
declare const ANIMATABLE_TOKEN: InjectionToken<AnimatableDirective>;
|
|
15
16
|
type AnimationEndEvent = {
|
|
@@ -36,6 +37,14 @@ declare class AnimatableDirective {
|
|
|
36
37
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AnimatableDirective, "[etAnimatable]", ["etAnimatable"], {}, {}, never, never, true, never>;
|
|
37
38
|
}
|
|
38
39
|
|
|
40
|
+
declare const ANIMATION_DEBUG_STORAGE_KEY = "et-overlay-debug";
|
|
41
|
+
/**
|
|
42
|
+
* Debug logging for overlay and animation lifecycle internals.
|
|
43
|
+
* Enable via `localStorage.setItem('et-overlay-debug', 'true')` and reload.
|
|
44
|
+
*/
|
|
45
|
+
declare const isAnimationDebugEnabled: () => boolean;
|
|
46
|
+
declare const animationDebugLog: (scope: string, ...args: unknown[]) => void;
|
|
47
|
+
|
|
39
48
|
declare const ANIMATED_IF_TOKEN: InjectionToken<AnimatedIfDirective>;
|
|
40
49
|
declare class AnimatedIfDirective {
|
|
41
50
|
private templateRef;
|
|
@@ -77,10 +86,88 @@ declare class AnimatedLifecycleDirective implements AfterViewInit {
|
|
|
77
86
|
private removeClass;
|
|
78
87
|
private removeClasses;
|
|
79
88
|
private updateState;
|
|
89
|
+
private debugLog;
|
|
80
90
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AnimatedLifecycleDirective, never>;
|
|
81
91
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AnimatedLifecycleDirective, "[etAnimatedLifecycle]", ["etAnimatedLifecycle"], { "skipNextEnter": { "alias": "skipNextEnter"; "required": false; "isSignal": true; }; }, { "stateChange": "stateChange"; "skipNextEnter": "skipNextEnterChange"; }, never, never, true, [{ directive: typeof AnimatableDirective; inputs: {}; outputs: {}; }]>;
|
|
82
92
|
}
|
|
83
93
|
|
|
94
|
+
/**
|
|
95
|
+
* Cascades hover/active-driven color DOWN to descendants explicitly marked with
|
|
96
|
+
* `ColorInteractiveDirective` — this element does not color itself. Use it when a wrapper should
|
|
97
|
+
* expand a nested control's hit/visual area (e.g. clicking a checkbox's label should light up the
|
|
98
|
+
* checkbox itself), never to give a wrapper its own interactive coloring — that's
|
|
99
|
+
* `ColorInteractiveDirective`.
|
|
100
|
+
*
|
|
101
|
+
* Does nothing unless at least one descendant carries `ColorInteractiveDirective` — check for
|
|
102
|
+
* that before adding this. It was mistakenly added to a component with no such descendant once
|
|
103
|
+
* already, where it did nothing but was confusing to read.
|
|
104
|
+
*/
|
|
105
|
+
declare class ColorInteractiveContainerDirective {
|
|
106
|
+
private styleManager;
|
|
107
|
+
constructor();
|
|
108
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ColorInteractiveContainerDirective, never>;
|
|
109
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ColorInteractiveContainerDirective, "[etColorInteractiveContainer]", never, {}, {}, never, never, true, never>;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Marks a descendant as NOT counting toward an ancestor's `ColorInteractiveDirective`
|
|
114
|
+
* `:hover`/`:active` reaction (via the `:has()` guard in color-interactive-styles.component.css).
|
|
115
|
+
* Use it for content that's incidentally inside an interactive ancestor but isn't part of what
|
|
116
|
+
* makes that ancestor interactive — e.g. a hint/error block sitting inside a form field's frame.
|
|
117
|
+
*
|
|
118
|
+
* This only suppresses the ancestor's OWN reaction to hovering/pressing the excluded element — it
|
|
119
|
+
* has no effect on custom-property inheritance into descendants past the excluded element. If
|
|
120
|
+
* what you actually need is "stop my own cosmetic styling from reacting to a parent's unrelated
|
|
121
|
+
* interaction," this is the wrong tool; that's the class of bug `ColorInteractiveHasFocusDirective`
|
|
122
|
+
* used to have (see its own comment).
|
|
123
|
+
*/
|
|
124
|
+
declare class ColorInteractiveExcludeDirective {
|
|
125
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ColorInteractiveExcludeDirective, never>;
|
|
126
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ColorInteractiveExcludeDirective, "[etColorInteractiveExclude]", never, {}, {}, never, never, true, never>;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Tints `--et-theme-color-primary-*` etc. only when a descendant genuinely has `:focus-visible`
|
|
131
|
+
* (`:has(:focus-visible)`) — never on mouse `:hover`/`:active`. Use this for a wrapper (like a
|
|
132
|
+
* form field's frame) that should show the theme color while its control is focused, but must
|
|
133
|
+
* NOT react to incidental mouse interaction with unrelated nested widgets (a toolbar button, a
|
|
134
|
+
* rendered link) that happen to live inside the same wrapper.
|
|
135
|
+
*
|
|
136
|
+
* Deliberately does NOT also carry `ColorInteractiveDirective`'s `et-color-interactive` class:
|
|
137
|
+
* that class's plain `:hover`/`:active` rules locally override the same (inheriting)
|
|
138
|
+
* `--et-theme-color-primary-rgb`, so anything bubbling up from ANYWHERE in the subtree would
|
|
139
|
+
* leak the transient hover/press color into every descendant reading it for unrelated cosmetics —
|
|
140
|
+
* exactly the bug this directive's only consumer (form-field) shipped once, before the two
|
|
141
|
+
* behaviors were split apart. If you need the plain hover/active reaction too, add
|
|
142
|
+
* `ColorInteractiveDirective` explicitly and make sure you actually want both.
|
|
143
|
+
*/
|
|
144
|
+
declare class ColorInteractiveHasFocusDirective {
|
|
145
|
+
private styleManager;
|
|
146
|
+
constructor();
|
|
147
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ColorInteractiveHasFocusDirective, never>;
|
|
148
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ColorInteractiveHasFocusDirective, "[etColorInteractiveHasFocus]", never, {}, {}, never, never, true, never>;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* Makes an element react to ITS OWN `:hover`/`:active`/`:focus-visible`/`[disabled]` by tinting
|
|
153
|
+
* `--et-theme-color-primary-*`/`-on-primary-*`/`-ink-*` with the current color theme. Use this on
|
|
154
|
+
* a single, self-contained interactive element — a button, a checkbox, a segmented button.
|
|
155
|
+
*
|
|
156
|
+
* Do NOT apply this to a wrapper that also contains OTHER, independently-interactive elements
|
|
157
|
+
* (e.g. a toolbar with its own buttons, or a form-field's control slot). These are ordinary
|
|
158
|
+
* inheriting CSS custom properties, so a descendant reading them for its own cosmetics (a caret
|
|
159
|
+
* color, a link color) gets swept along whenever ANYTHING inside the wrapper is hovered or
|
|
160
|
+
* clicked — not just when the wrapper itself is the thing being interacted with. That exact bug
|
|
161
|
+
* shipped once already; see ColorInteractiveContainerDirective/ColorInteractiveHasFocusDirective
|
|
162
|
+
* for the shapes that avoid it.
|
|
163
|
+
*/
|
|
164
|
+
declare class ColorInteractiveDirective {
|
|
165
|
+
private styleManager;
|
|
166
|
+
constructor();
|
|
167
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ColorInteractiveDirective, never>;
|
|
168
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ColorInteractiveDirective, "[etColorInteractive]", never, {}, {}, never, never, true, never>;
|
|
169
|
+
}
|
|
170
|
+
|
|
84
171
|
type ThemeRGBColor = `${number} ${number} ${number}`;
|
|
85
172
|
type ThemeHSLColor = `${number} ${number}% ${number}%`;
|
|
86
173
|
type ThemeColor = ThemeRGBColor | ThemeHSLColor;
|
|
@@ -98,36 +185,69 @@ type OnThemeColorMap = {
|
|
|
98
185
|
active?: ThemeColor;
|
|
99
186
|
disabled?: ThemeColor;
|
|
100
187
|
};
|
|
188
|
+
type ThemeInkColorMap = {
|
|
189
|
+
default: ThemeColor;
|
|
190
|
+
hover?: ThemeColor;
|
|
191
|
+
focus?: ThemeColor;
|
|
192
|
+
active?: ThemeColor;
|
|
193
|
+
disabled?: ThemeColor;
|
|
194
|
+
};
|
|
101
195
|
type ThemeSwatch = {
|
|
102
196
|
color: ThemeColorMap;
|
|
103
197
|
onColor: OnThemeColorMap;
|
|
198
|
+
inkColor?: ThemeInkColorMap;
|
|
104
199
|
};
|
|
105
|
-
type
|
|
200
|
+
type ColorThemeType = 'success' | 'warning' | 'error';
|
|
201
|
+
type ColorTheme = {
|
|
106
202
|
name: string;
|
|
203
|
+
type?: ColorThemeType;
|
|
107
204
|
isDefault?: boolean;
|
|
108
|
-
isDefaultAlt?: boolean;
|
|
109
205
|
primary: ThemeSwatch;
|
|
110
206
|
secondary?: ThemeSwatch;
|
|
111
207
|
tertiary?: ThemeSwatch;
|
|
112
208
|
};
|
|
113
|
-
|
|
114
|
-
|
|
209
|
+
/**
|
|
210
|
+
* Augmentable registry for the literal set of color theme names an app defines. Left
|
|
211
|
+
* empty by default, which keeps theme-name-accepting APIs (like `etProvideColor`) typed
|
|
212
|
+
* as plain `string`.
|
|
213
|
+
*
|
|
214
|
+
* Apps that want those APIs checked and autocompleted against their own theme names
|
|
215
|
+
* should augment this interface once, near where their themes are defined:
|
|
216
|
+
*
|
|
217
|
+
* ```ts
|
|
218
|
+
* declare module '@ethlete/core' {
|
|
219
|
+
* interface EthleteColorThemeNameRegistry {
|
|
220
|
+
* name: 'pitch-green' | 'red' | 'light-grey';
|
|
221
|
+
* }
|
|
222
|
+
* }
|
|
223
|
+
* ```
|
|
224
|
+
*/
|
|
225
|
+
interface EthleteColorThemeNameRegistry {
|
|
226
|
+
}
|
|
227
|
+
type RegisteredColorThemeName = EthleteColorThemeNameRegistry extends {
|
|
228
|
+
name: infer N extends string;
|
|
229
|
+
} ? N : string;
|
|
230
|
+
declare const createCssColorThemeName: (name: string) => string;
|
|
231
|
+
declare const ɵProvideColorThemes: (valueOverride?: (ColorTheme | undefined)[] | undefined) => _angular_core.Provider[];
|
|
115
232
|
declare const injectColorThemes: {
|
|
116
|
-
():
|
|
233
|
+
(): ColorTheme[];
|
|
117
234
|
(options: _angular_core.InjectOptions & {
|
|
118
235
|
optional?: false;
|
|
119
|
-
}):
|
|
120
|
-
(options: _angular_core.InjectOptions):
|
|
236
|
+
}): ColorTheme[];
|
|
237
|
+
(options: _angular_core.InjectOptions): ColorTheme[] | null;
|
|
121
238
|
};
|
|
122
|
-
declare const
|
|
123
|
-
declare const
|
|
239
|
+
declare const ɵProvideColorThemesPrefix: (valueOverride?: string | undefined) => _angular_core.Provider[];
|
|
240
|
+
declare const injectColorThemesPrefix: {
|
|
124
241
|
(): string;
|
|
125
242
|
(options: _angular_core.InjectOptions & {
|
|
126
243
|
optional?: false;
|
|
127
244
|
}): string;
|
|
128
245
|
(options: _angular_core.InjectOptions): string | null;
|
|
129
246
|
};
|
|
130
|
-
declare const provideColorThemesWithTailwind4: (themes:
|
|
247
|
+
declare const provideColorThemesWithTailwind4: (themes: ColorTheme[], prefix?: string) => _angular_core.Provider[][];
|
|
248
|
+
declare const injectErrorTheme: () => ColorTheme;
|
|
249
|
+
declare const injectWarningTheme: () => ColorTheme;
|
|
250
|
+
declare const injectSuccessTheme: () => ColorTheme;
|
|
131
251
|
|
|
132
252
|
/**
|
|
133
253
|
* @deprecated Migrate to Tailwind v4. Intent to remove in v6.
|
|
@@ -136,11 +256,11 @@ declare const createSwatchCss: (swatch: string, isAlt: boolean, data: ThemeSwatc
|
|
|
136
256
|
/**
|
|
137
257
|
* @deprecated Migrate to Tailwind v4. Intent to remove in v6.
|
|
138
258
|
*/
|
|
139
|
-
declare const createRootThemeCss: (themes:
|
|
259
|
+
declare const createRootThemeCss: (themes: ColorTheme[]) => void;
|
|
140
260
|
/**
|
|
141
261
|
* @deprecated Migrate to Tailwind v4. Intent to remove in v6.
|
|
142
262
|
*/
|
|
143
|
-
declare const createThemeStyle: (theme:
|
|
263
|
+
declare const createThemeStyle: (theme: ColorTheme, isAlt: boolean) => void;
|
|
144
264
|
/**
|
|
145
265
|
* @deprecated Migrate to Tailwind v4. Intent to remove in v6.
|
|
146
266
|
*/
|
|
@@ -152,7 +272,7 @@ declare const createTailwindRgbVar: (val: string | undefined) => string | null;
|
|
|
152
272
|
/**
|
|
153
273
|
* @deprecated Migrate to Tailwind v4. Intent to remove in v6.
|
|
154
274
|
*/
|
|
155
|
-
declare const createTailwindColorThemes: (themes:
|
|
275
|
+
declare const createTailwindColorThemes: (themes: ColorTheme[], prefix?: string) => Record<string, {
|
|
156
276
|
DEFAULT: string;
|
|
157
277
|
hover: string;
|
|
158
278
|
focus: string;
|
|
@@ -162,34 +282,165 @@ declare const createTailwindColorThemes: (themes: Theme[], prefix?: string) => R
|
|
|
162
282
|
/**
|
|
163
283
|
* @deprecated Use provideColorThemesWithTailwind4 instead after migrating to Tailwind CSS v4. Intent to remove in v6.
|
|
164
284
|
*/
|
|
165
|
-
declare const provideColorThemes: (themes:
|
|
285
|
+
declare const provideColorThemes: (themes: ColorTheme[]) => _angular_core.Provider[][];
|
|
166
286
|
|
|
167
|
-
declare const
|
|
168
|
-
declare class
|
|
287
|
+
declare const COLOR_PROVIDER: InjectionToken<ProvideColorDirective>;
|
|
288
|
+
declare class ProvideColorDirective {
|
|
169
289
|
private themes;
|
|
170
290
|
private prefix;
|
|
171
291
|
private injector;
|
|
172
292
|
private currentProviderSync;
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
293
|
+
private forcedColor;
|
|
294
|
+
color: InputSignal<RegisteredColorThemeName | ColorTheme | null | undefined>;
|
|
295
|
+
effectiveColor: _angular_core.Signal<string | ColorTheme | null | undefined>;
|
|
296
|
+
colorName: _angular_core.Signal<string | undefined>;
|
|
177
297
|
protected themeClass: _angular_core.Signal<string>;
|
|
178
|
-
syncWithProvider(provider:
|
|
298
|
+
syncWithProvider(provider: ProvideColorDirective): void;
|
|
299
|
+
stopSyncWithProvider(): void;
|
|
300
|
+
/** @internal */
|
|
301
|
+
forceColor(color: RegisteredColorThemeName | ColorTheme | null): void;
|
|
302
|
+
/** @internal */
|
|
303
|
+
clearForcedColor(): void;
|
|
304
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ProvideColorDirective, never>;
|
|
305
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ProvideColorDirective, "[etProvideColor]", never, { "color": { "alias": "etProvideColor"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
declare const SURFACE_TYPE: {
|
|
309
|
+
readonly LIGHT: "light";
|
|
310
|
+
readonly DARK: "dark";
|
|
311
|
+
};
|
|
312
|
+
type SurfaceType = (typeof SURFACE_TYPE)[keyof typeof SURFACE_TYPE];
|
|
313
|
+
type SurfaceThemeColor = `${number} ${number} ${number}`;
|
|
314
|
+
type SurfaceInteractionColor = {
|
|
315
|
+
default: SurfaceThemeColor;
|
|
316
|
+
hover: SurfaceThemeColor;
|
|
317
|
+
focus: SurfaceThemeColor;
|
|
318
|
+
active: SurfaceThemeColor;
|
|
319
|
+
disabled: SurfaceThemeColor;
|
|
320
|
+
};
|
|
321
|
+
type SurfaceTheme = {
|
|
322
|
+
name: string;
|
|
323
|
+
type: SurfaceType;
|
|
324
|
+
elevation: number;
|
|
325
|
+
isDefault?: boolean;
|
|
326
|
+
interactionColor?: SurfaceInteractionColor;
|
|
327
|
+
background: SurfaceThemeColor;
|
|
328
|
+
color: SurfaceThemeColor;
|
|
329
|
+
colorMuted: SurfaceThemeColor;
|
|
330
|
+
colorSubtle: SurfaceThemeColor;
|
|
331
|
+
border: SurfaceThemeColor;
|
|
332
|
+
};
|
|
333
|
+
/**
|
|
334
|
+
* Augmentable registry for the literal set of surface theme names an app defines. Left
|
|
335
|
+
* empty by default, which keeps surface-theme-name-accepting APIs (like `etProvideSurface`)
|
|
336
|
+
* typed as plain `string`.
|
|
337
|
+
*
|
|
338
|
+
* Apps that want those APIs checked and autocompleted against their own surface theme
|
|
339
|
+
* names should augment this interface once, near where their surface themes are defined:
|
|
340
|
+
*
|
|
341
|
+
* ```ts
|
|
342
|
+
* declare module '@ethlete/core' {
|
|
343
|
+
* interface EthleteSurfaceThemeNameRegistry {
|
|
344
|
+
* name: 'card' | 'sheet' | 'popover';
|
|
345
|
+
* }
|
|
346
|
+
* }
|
|
347
|
+
* ```
|
|
348
|
+
*/
|
|
349
|
+
interface EthleteSurfaceThemeNameRegistry {
|
|
350
|
+
}
|
|
351
|
+
type RegisteredSurfaceThemeName = EthleteSurfaceThemeNameRegistry extends {
|
|
352
|
+
name: infer N extends string;
|
|
353
|
+
} ? N : string;
|
|
354
|
+
declare const createCssSurfaceName: (name: string) => string;
|
|
355
|
+
declare const resolveSurfaceByElevation: (themes: SurfaceTheme[], type: SurfaceType, elevation: number) => SurfaceTheme | null;
|
|
356
|
+
declare const ɵProvideSurfaceThemes: (valueOverride?: (SurfaceTheme | undefined)[] | undefined) => _angular_core.Provider[];
|
|
357
|
+
declare const injectSurfaceThemes: {
|
|
358
|
+
(): SurfaceTheme[];
|
|
359
|
+
(options: _angular_core.InjectOptions & {
|
|
360
|
+
optional?: false;
|
|
361
|
+
}): SurfaceTheme[];
|
|
362
|
+
(options: _angular_core.InjectOptions): SurfaceTheme[] | null;
|
|
363
|
+
};
|
|
364
|
+
declare const ɵProvideSurfaceThemesPrefix: (valueOverride?: string | undefined) => _angular_core.Provider[];
|
|
365
|
+
declare const injectSurfaceThemesPrefix: {
|
|
366
|
+
(): string;
|
|
367
|
+
(options: _angular_core.InjectOptions & {
|
|
368
|
+
optional?: false;
|
|
369
|
+
}): string;
|
|
370
|
+
(options: _angular_core.InjectOptions): string | null;
|
|
371
|
+
};
|
|
372
|
+
declare const provideSurfaceThemesWithTailwind4: (themes: SurfaceTheme[], prefix?: string) => _angular_core.Provider[][];
|
|
373
|
+
|
|
374
|
+
declare const SURFACE_PROVIDER: InjectionToken<ProvideSurfaceDirective>;
|
|
375
|
+
declare class ProvideSurfaceDirective {
|
|
376
|
+
private themes;
|
|
377
|
+
private prefix;
|
|
378
|
+
private injector;
|
|
379
|
+
private currentProviderSync;
|
|
380
|
+
private forcedSurface;
|
|
381
|
+
surface: InputSignal<RegisteredSurfaceThemeName | null | undefined>;
|
|
382
|
+
effectiveSurface: _angular_core.Signal<string | null | undefined>;
|
|
383
|
+
resolvedTheme: _angular_core.Signal<SurfaceTheme | null>;
|
|
384
|
+
elevation: _angular_core.Signal<number>;
|
|
385
|
+
surfaceType: _angular_core.Signal<_ethlete_core.SurfaceType | null>;
|
|
386
|
+
surfaceName: _angular_core.Signal<string | undefined>;
|
|
387
|
+
protected surfaceClass: _angular_core.Signal<string>;
|
|
388
|
+
syncWithProvider(provider: ProvideSurfaceDirective): void;
|
|
179
389
|
stopSyncWithProvider(): void;
|
|
180
|
-
|
|
181
|
-
|
|
390
|
+
/** @internal */
|
|
391
|
+
forceSurface(surface: RegisteredSurfaceThemeName | null): void;
|
|
392
|
+
/** @internal */
|
|
393
|
+
clearForcedSurface(): void;
|
|
394
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ProvideSurfaceDirective, never>;
|
|
395
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ProvideSurfaceDirective, "[etProvideSurface]", never, { "surface": { "alias": "etProvideSurface"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
type SurfaceContextEntry = {
|
|
399
|
+
id: string;
|
|
400
|
+
type: SurfaceType;
|
|
401
|
+
elevation: number;
|
|
402
|
+
};
|
|
403
|
+
type SurfaceContextTracker = {
|
|
404
|
+
topType: Signal<SurfaceType | null>;
|
|
405
|
+
topElevation: Signal<number>;
|
|
406
|
+
register: (type: SurfaceType, elevation: number) => () => void;
|
|
407
|
+
};
|
|
408
|
+
declare const provideSurfaceContextTracker: () => _angular_core.Provider[];
|
|
409
|
+
declare const injectSurfaceContextTracker: {
|
|
410
|
+
(): SurfaceContextTracker;
|
|
411
|
+
(options: _angular_core.InjectOptions & {
|
|
412
|
+
optional?: false;
|
|
413
|
+
}): SurfaceContextTracker;
|
|
414
|
+
(options: _angular_core.InjectOptions): SurfaceContextTracker | null;
|
|
415
|
+
};
|
|
416
|
+
|
|
417
|
+
/**
|
|
418
|
+
* Same shape as `ColorInteractiveDirective` — reacts to its own `:hover`/`:focus-visible`/
|
|
419
|
+
* `:active`/`[disabled]` — but drives `--et-surface-interaction-*`, a neutral/muted tint, instead
|
|
420
|
+
* of the ambient color theme. Use it for chrome-level interaction feedback that shouldn't borrow
|
|
421
|
+
* the page's brand color (a tab trigger's hover state, a toggle button that should look neutral
|
|
422
|
+
* until it's actually active — see `ButtonDirective`'s `mutedUntilPressed`).
|
|
423
|
+
*
|
|
424
|
+
* Has no container/exclude/has-focus variants: it has no descendant-cascading CSS at all, so
|
|
425
|
+
* applying it to a wrapper with independently-interactive children is safe by construction —
|
|
426
|
+
* unlike `ColorInteractiveDirective`, there's no bubbling-leak failure mode to worry about here.
|
|
427
|
+
*/
|
|
428
|
+
declare class SurfaceInteractiveDirective {
|
|
429
|
+
private styleManager;
|
|
430
|
+
constructor();
|
|
431
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SurfaceInteractiveDirective, never>;
|
|
432
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SurfaceInteractiveDirective, "[etSurfaceInteractive]", never, {}, {}, never, never, true, never>;
|
|
182
433
|
}
|
|
183
434
|
|
|
184
435
|
type AnimatedOverlayComponentBase = {
|
|
185
436
|
animatedLifecycle: Signal<AnimatedLifecycleDirective | undefined>;
|
|
186
|
-
|
|
437
|
+
setColorFromProvider: (provider: ProvideColorDirective) => void;
|
|
187
438
|
};
|
|
188
439
|
type AnimatedOverlayMountConfig<T> = {
|
|
189
440
|
component: ComponentType<T>;
|
|
190
441
|
providers?: StaticProvider[];
|
|
191
442
|
data?: Partial<T>;
|
|
192
|
-
|
|
443
|
+
colorProvider?: ProvideColorDirective | null;
|
|
193
444
|
};
|
|
194
445
|
type AnimatedOverlayState = 'init' | 'mounting' | 'mounted' | 'unmounting' | 'unmounted';
|
|
195
446
|
declare class AnimatedOverlayDirective<T extends AnimatedOverlayComponentBase> {
|
|
@@ -240,7 +491,7 @@ declare class AnimatedOverlayDirective<T extends AnimatedOverlayComponentBase> {
|
|
|
240
491
|
mount(config: AnimatedOverlayMountConfig<T>): T | undefined;
|
|
241
492
|
unmount(): void;
|
|
242
493
|
private applyComponentData;
|
|
243
|
-
private
|
|
494
|
+
private applyColorProvider;
|
|
244
495
|
private updateOverlaySize;
|
|
245
496
|
private setupFloatingUI;
|
|
246
497
|
private getFloatingArrow;
|
|
@@ -335,574 +586,390 @@ declare class RepeatDirective {
|
|
|
335
586
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RepeatDirective, "[etRepeat]", never, { "repeatCount": { "alias": "etRepeat"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
336
587
|
}
|
|
337
588
|
|
|
338
|
-
declare
|
|
589
|
+
declare class ScrollObserverEndDirective {
|
|
590
|
+
private elementRef;
|
|
591
|
+
private host;
|
|
592
|
+
constructor();
|
|
593
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ScrollObserverEndDirective, never>;
|
|
594
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ScrollObserverEndDirective, "[etScrollObserverEnd]", never, {}, {}, never, never, true, never>;
|
|
595
|
+
}
|
|
339
596
|
|
|
340
|
-
declare
|
|
597
|
+
declare class ScrollObserverStartDirective {
|
|
598
|
+
private elementRef;
|
|
599
|
+
private host;
|
|
600
|
+
constructor();
|
|
601
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ScrollObserverStartDirective, never>;
|
|
602
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ScrollObserverStartDirective, "[etScrollObserverStart]", never, {}, {}, never, never, true, never>;
|
|
603
|
+
}
|
|
341
604
|
|
|
342
|
-
declare const
|
|
343
|
-
|
|
344
|
-
type CreateProviderOptions = {
|
|
605
|
+
declare const previousSignalValue: <T>(signal: Signal<T>) => Signal<T | undefined>;
|
|
606
|
+
type SyncSignalOptions = {
|
|
345
607
|
/**
|
|
346
|
-
*
|
|
347
|
-
*
|
|
608
|
+
* If true, the target signal will not be updated with the source signal's value in a sync operation.
|
|
609
|
+
* This should be set to true for signals that need to be initialized first before syncing (eg. required inputs)
|
|
610
|
+
* @default false
|
|
348
611
|
*/
|
|
349
|
-
|
|
612
|
+
skipSyncRead?: boolean;
|
|
350
613
|
/**
|
|
351
|
-
*
|
|
614
|
+
* If true, the first time the effect will be triggered will be skipped.
|
|
615
|
+
* @default false
|
|
352
616
|
*/
|
|
353
|
-
|
|
617
|
+
skipFirstRun?: boolean;
|
|
354
618
|
};
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
(): T;
|
|
359
|
-
(options: InjectOptions & {
|
|
360
|
-
optional?: false;
|
|
361
|
-
}): T;
|
|
362
|
-
(options: InjectOptions): T | null;
|
|
363
|
-
},
|
|
364
|
-
token: InjectionToken<T>
|
|
365
|
-
];
|
|
366
|
-
type StaticProviderResult<T> = readonly [
|
|
367
|
-
provide: (valueOverride?: Partial<T>) => Provider[],
|
|
368
|
-
inject: {
|
|
369
|
-
(): T;
|
|
370
|
-
(options: InjectOptions & {
|
|
371
|
-
optional?: false;
|
|
372
|
-
}): T;
|
|
373
|
-
(options: InjectOptions): T | null;
|
|
374
|
-
},
|
|
375
|
-
token: InjectionToken<T>
|
|
376
|
-
];
|
|
377
|
-
type RootProviderResult<T> = readonly [
|
|
378
|
-
inject: {
|
|
379
|
-
(): T;
|
|
380
|
-
(options: InjectOptions & {
|
|
381
|
-
optional?: false;
|
|
382
|
-
}): T;
|
|
383
|
-
(options: InjectOptions): T | null;
|
|
384
|
-
},
|
|
385
|
-
token: InjectionToken<T>
|
|
386
|
-
];
|
|
387
|
-
declare const createProvider: <T>(factory: () => T, options?: CreateProviderOptions) => ProviderResult<T>;
|
|
388
|
-
declare const createRootProvider: <T>(factory: () => T, options?: CreateProviderOptions) => ProviderResult<T>;
|
|
389
|
-
declare const createStaticProvider: <T>(defaultValue?: T, options?: CreateProviderOptions) => StaticProviderResult<T>;
|
|
390
|
-
declare const createStaticRootProvider: <T>(defaultValue?: T, options?: CreateProviderOptions) => StaticProviderResult<T>;
|
|
391
|
-
|
|
392
|
-
declare const cloneFormGroup: <T extends FormGroup<any>>(formGroup: T) => T;
|
|
393
|
-
declare const getFormGroupValue: <T extends FormGroup>(formGroup: T) => Record<string, unknown>;
|
|
394
|
-
|
|
395
|
-
declare const createRxHostListener: <K extends keyof HTMLElementEventMap>(eventName: K, options?: EventListenerOptions) => rxjs.Observable<HTMLElementEventMap[K]>;
|
|
396
|
-
declare const applyHostListener: <K extends keyof HTMLElementEventMap>(eventName: K, handler: (event: HTMLElementEventMap[K]) => void, options?: EventListenerOptions) => rxjs.Subscription;
|
|
397
|
-
declare const applyHostListeners: (listeners: Partial<{ [K in keyof HTMLElementEventMap]: (event: HTMLElementEventMap[K]) => void; }>, options?: EventListenerOptions) => void;
|
|
398
|
-
|
|
399
|
-
declare class TypedQueryList<T> extends QueryList<T> {
|
|
400
|
-
get changes(): Observable<TypedQueryList<T>>;
|
|
401
|
-
}
|
|
402
|
-
declare function switchQueryListChanges(): <T extends TypedQueryList<unknown> | null | undefined>(source: Observable<T>) => Observable<T>;
|
|
403
|
-
|
|
619
|
+
declare const syncSignal: <T>(from: Signal<T>, to: WritableSignal<T>, options?: SyncSignalOptions) => _angular_core.EffectRef;
|
|
620
|
+
type MaybeSignal<T> = T | Signal<T>;
|
|
621
|
+
declare const maybeSignalValue: <T>(value: MaybeSignal<T>) => T;
|
|
404
622
|
/**
|
|
405
|
-
*
|
|
406
|
-
*
|
|
623
|
+
* A computed that will only be reactive until the source signal contains a truthy value.
|
|
624
|
+
* All subsequent changes inside the computation will be ignored.
|
|
407
625
|
*/
|
|
408
|
-
declare const
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
626
|
+
declare const computedTillTruthy: <T>(source: Signal<T>) => Signal<T | null>;
|
|
627
|
+
/**
|
|
628
|
+
* A computed that will only be reactive until the source signal contains a falsy value.
|
|
629
|
+
* All subsequent changes inside the computation will be ignored.
|
|
630
|
+
*/
|
|
631
|
+
declare const computedTillFalsy: <T>(source: Signal<T>) => Signal<T | null>;
|
|
632
|
+
/**
|
|
633
|
+
* A writeable signal that will be set to the provided value once all inputs are set.
|
|
634
|
+
* During that time, the signal will be set to `null`.
|
|
635
|
+
*/
|
|
636
|
+
declare const deferredSignal: <T extends () => unknown>(valueFn: T) => WritableSignal<ReturnType<T> | null>;
|
|
637
|
+
declare const memoizeSignal: <T>(factory: () => Signal<T>) => () => Signal<T>;
|
|
413
638
|
|
|
414
|
-
|
|
415
|
-
type ValidateAtLeastOneRequiredConfig = {
|
|
639
|
+
type SignalAnimatedNumberOptions = {
|
|
416
640
|
/**
|
|
417
|
-
*
|
|
641
|
+
* The initial value to start animating from.
|
|
642
|
+
* If not provided, the animation will start from 0
|
|
418
643
|
*/
|
|
419
|
-
|
|
644
|
+
initialValue?: number;
|
|
420
645
|
/**
|
|
421
|
-
*
|
|
422
|
-
* @default
|
|
646
|
+
* Duration of the animation in milliseconds.
|
|
647
|
+
* @default 1000
|
|
423
648
|
*/
|
|
424
|
-
|
|
649
|
+
duration?: number;
|
|
650
|
+
/**
|
|
651
|
+
* Easing function that takes a progress value (0 to 1) and returns an eased value (0 to 1).
|
|
652
|
+
* Options:
|
|
653
|
+
* - `easeLinear()`
|
|
654
|
+
* - `easeIn()`
|
|
655
|
+
* - `easeOut()`
|
|
656
|
+
* - `easeInOut()`
|
|
657
|
+
* - `easeElastic()`
|
|
658
|
+
* - `easeOutBack()`
|
|
659
|
+
* - `easeOutBackStrong()`
|
|
660
|
+
* @default easeOut()
|
|
661
|
+
*/
|
|
662
|
+
easing?: (t: number) => number;
|
|
663
|
+
/**
|
|
664
|
+
* Function to round the animated value.
|
|
665
|
+
* @default (v: number) => Math.round(v)
|
|
666
|
+
*/
|
|
667
|
+
round?: (value: number) => number;
|
|
668
|
+
/**
|
|
669
|
+
* Callback invoked when the animation starts.
|
|
670
|
+
*/
|
|
671
|
+
onAnimationStart?: () => void;
|
|
672
|
+
/**
|
|
673
|
+
* Callback invoked when the animation ends.
|
|
674
|
+
*/
|
|
675
|
+
onAnimationEnd?: () => void;
|
|
425
676
|
};
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
677
|
+
type AnimatedNumberSignal = Signal<number> & {
|
|
678
|
+
/**
|
|
679
|
+
* Starts the animation from the current value to the target value.
|
|
680
|
+
* @returns The animated signal for chaining
|
|
681
|
+
*/
|
|
682
|
+
play: () => AnimatedNumberSignal;
|
|
683
|
+
/**
|
|
684
|
+
* Resets the animation to the initial value and stops any ongoing animation.
|
|
685
|
+
* @returns The animated signal for chaining
|
|
686
|
+
*/
|
|
687
|
+
reset: () => AnimatedNumberSignal;
|
|
688
|
+
/**
|
|
689
|
+
* Stops the current animation at its current position.
|
|
690
|
+
* @returns The animated signal for chaining
|
|
691
|
+
*/
|
|
692
|
+
stop: () => AnimatedNumberSignal;
|
|
442
693
|
};
|
|
694
|
+
/**
|
|
695
|
+
* Creates a signal that animates the transition of a numeric signal's value over time.
|
|
696
|
+
*/
|
|
697
|
+
declare const signalAnimatedNumber: (source: MaybeSignal<number>, options?: SignalAnimatedNumberOptions) => AnimatedNumberSignal;
|
|
698
|
+
declare const easeLinear: (t: number) => number;
|
|
699
|
+
declare const easeIn: (t: number) => number;
|
|
700
|
+
declare const easeOut: (t: number) => number;
|
|
701
|
+
declare const easeInOut: (t: number) => number;
|
|
702
|
+
/** Elastic easing function (overshoots) */
|
|
703
|
+
declare const easeElastic: (t: number) => number;
|
|
704
|
+
/** Back easing function (overshoots slightly then settles) */
|
|
705
|
+
declare const easeOutBack: (t: number) => number;
|
|
706
|
+
/** Back easing function with more overshoot */
|
|
707
|
+
declare const easeOutBackStrong: (t: number) => number;
|
|
443
708
|
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
i18n: string;
|
|
455
|
-
text: string;
|
|
456
|
-
};
|
|
457
|
-
|
|
458
|
-
declare class KeyPressManager {
|
|
459
|
-
readonly key: number;
|
|
460
|
-
private readonly _isKeyPressed$;
|
|
461
|
-
private readonly _keyPressCount$;
|
|
462
|
-
private readonly _stopTimeout$;
|
|
463
|
-
constructor(key: number);
|
|
464
|
-
isPressed(event: KeyboardEvent): boolean;
|
|
465
|
-
clear(): void;
|
|
466
|
-
}
|
|
467
|
-
|
|
468
|
-
declare const DISABLE_LOGGER_PARAM = "et-logger-quiet";
|
|
469
|
-
type CreateLoggerConfig = {
|
|
470
|
-
scope: string;
|
|
471
|
-
feature: string;
|
|
472
|
-
};
|
|
473
|
-
declare const createLogger: (config: CreateLoggerConfig) => {
|
|
474
|
-
log: (...args: unknown[]) => void;
|
|
475
|
-
warn: (...args: unknown[]) => void;
|
|
476
|
-
error: (...args: unknown[]) => void;
|
|
709
|
+
type Vec2 = [number, number];
|
|
710
|
+
type ViewportConfig = {
|
|
711
|
+
breakpoints: {
|
|
712
|
+
xs: Vec2;
|
|
713
|
+
sm: Vec2;
|
|
714
|
+
md: Vec2;
|
|
715
|
+
lg: Vec2;
|
|
716
|
+
xl: Vec2;
|
|
717
|
+
'2xl': Vec2;
|
|
718
|
+
};
|
|
477
719
|
};
|
|
478
|
-
|
|
479
|
-
declare const
|
|
480
|
-
declare const round: (value: number, precision?: number) => number;
|
|
481
|
-
|
|
482
|
-
declare const isObject: (value: unknown) => value is Record<string, unknown>;
|
|
483
|
-
declare const isArray: (value: unknown) => value is unknown[];
|
|
484
|
-
declare const getObjectProperty: (obj: Record<string, unknown>, prop: string) => unknown;
|
|
485
|
-
|
|
486
|
-
declare const RUNTIME_ERROR_NO_DATA = "__ET_NO_DATA__";
|
|
487
|
-
declare class RuntimeError<T extends number> extends Error {
|
|
488
|
-
code: T;
|
|
489
|
-
devOnly: boolean;
|
|
490
|
-
data: unknown;
|
|
491
|
-
constructor(code: T, message: null | false | string, devOnly?: boolean, data?: unknown);
|
|
492
|
-
}
|
|
493
|
-
declare function formatRuntimeError<T extends number>(code: T, message: null | false | string, devOnly: boolean): string;
|
|
494
|
-
|
|
720
|
+
type Breakpoint = keyof ViewportConfig['breakpoints'];
|
|
721
|
+
declare const BREAKPOINT_ORDER: Breakpoint[];
|
|
495
722
|
/**
|
|
496
|
-
*
|
|
497
|
-
* @
|
|
498
|
-
* @param direction The direction to check. If not provided, checks both directions.
|
|
499
|
-
* @returns true if the element or viewport can scroll in the given direction.
|
|
723
|
+
* Default viewport config based on Tailwind CSS.
|
|
724
|
+
* @see https://tailwindcss.com/docs/screens
|
|
500
725
|
*/
|
|
501
|
-
declare const
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
* If null or undefined, uses the viewport as the container.
|
|
510
|
-
* @default null (viewport)
|
|
511
|
-
*/
|
|
512
|
-
container?: HTMLElement | null;
|
|
513
|
-
/**
|
|
514
|
-
* The container's rect to check if the element is visible inside. Can be supplied to reduce the amount of DOM reads.
|
|
515
|
-
* Only used when container is provided and not null.
|
|
516
|
-
* @default container.getBoundingClientRect()
|
|
517
|
-
*/
|
|
518
|
-
containerRect?: DOMRect | null;
|
|
519
|
-
/**
|
|
520
|
-
* The element's rect. Can be supplied to reduce the amount of DOM reads.
|
|
521
|
-
* @default element.getBoundingClientRect()
|
|
522
|
-
*/
|
|
523
|
-
elementRect?: DOMRect | null;
|
|
524
|
-
};
|
|
525
|
-
type CurrentElementVisibility = {
|
|
526
|
-
/**
|
|
527
|
-
* Whether the element is visible in the inline direction.
|
|
528
|
-
*/
|
|
529
|
-
inline: boolean;
|
|
530
|
-
/**
|
|
531
|
-
* Whether the element is visible in the block direction.
|
|
532
|
-
*/
|
|
533
|
-
block: boolean;
|
|
534
|
-
/**
|
|
535
|
-
* The percentage of the element that is visible in the inline direction.
|
|
536
|
-
*/
|
|
537
|
-
inlineIntersection: number;
|
|
538
|
-
/**
|
|
539
|
-
* The percentage of the element that is visible in the block direction.
|
|
540
|
-
*/
|
|
541
|
-
blockIntersection: number;
|
|
542
|
-
/**
|
|
543
|
-
* Whether the element is intersecting the container.
|
|
544
|
-
*/
|
|
545
|
-
isIntersecting: boolean;
|
|
546
|
-
/**
|
|
547
|
-
* The ratio of the element that is intersecting the container.
|
|
548
|
-
*/
|
|
549
|
-
intersectionRatio: number;
|
|
550
|
-
/**
|
|
551
|
-
* The element that is being checked for visibility.
|
|
552
|
-
*/
|
|
553
|
-
element: HTMLElement;
|
|
554
|
-
/**
|
|
555
|
-
* The container's rect used for the calculation.
|
|
556
|
-
*/
|
|
557
|
-
containerRect: DOMRect;
|
|
558
|
-
/**
|
|
559
|
-
* The element's rect used for the calculation.
|
|
560
|
-
*/
|
|
561
|
-
elementRect: DOMRect;
|
|
562
|
-
};
|
|
563
|
-
declare const isElementVisible: (options: IsElementVisibleOptions) => CurrentElementVisibility | null;
|
|
564
|
-
declare const getElementScrollCoordinates: (options: ScrollToElementOptions) => ScrollToOptions;
|
|
565
|
-
type ScrollToElementOptions = {
|
|
566
|
-
/**
|
|
567
|
-
* The element to scroll to.
|
|
568
|
-
*/
|
|
569
|
-
element?: HTMLElement | null;
|
|
570
|
-
/**
|
|
571
|
-
* The scroll container to scroll to the element in.
|
|
572
|
-
* Must be provided - cannot scroll the viewport programmatically with this function.
|
|
573
|
-
*/
|
|
574
|
-
container?: HTMLElement | null;
|
|
575
|
-
/**
|
|
576
|
-
* The direction to scroll in.
|
|
577
|
-
* @default 'both'
|
|
578
|
-
*/
|
|
579
|
-
direction?: 'inline' | 'block' | 'both';
|
|
580
|
-
/**
|
|
581
|
-
* The origin of the element to scroll to.
|
|
582
|
-
* @default 'nearest'
|
|
583
|
-
*/
|
|
584
|
-
origin?: 'start' | 'end' | 'center' | 'nearest';
|
|
585
|
-
/**
|
|
586
|
-
* The scroll behavior.
|
|
587
|
-
* @default 'smooth'
|
|
588
|
-
*/
|
|
589
|
-
behavior?: ScrollBehavior;
|
|
590
|
-
/**
|
|
591
|
-
* The scroll inline-margin
|
|
592
|
-
* @default 0
|
|
593
|
-
*/
|
|
594
|
-
scrollInlineMargin?: number;
|
|
595
|
-
/**
|
|
596
|
-
* The scroll block-margin
|
|
597
|
-
* @default 0
|
|
598
|
-
*/
|
|
599
|
-
scrollBlockMargin?: number;
|
|
600
|
-
};
|
|
601
|
-
declare const scrollToElement: (options: ScrollToElementOptions) => void;
|
|
602
|
-
|
|
603
|
-
declare class NormalizeGameResultTypePipe implements PipeTransform {
|
|
604
|
-
transform: (type: string | null) => NormalizedGameResultType | null;
|
|
605
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NormalizeGameResultTypePipe, never>;
|
|
606
|
-
static ɵpipe: _angular_core.ɵɵPipeDeclaration<NormalizeGameResultTypePipe, "etNormalizeGameResultType", true>;
|
|
607
|
-
}
|
|
608
|
-
type NormalizedGameResultType = Translatable & {
|
|
609
|
-
shortCode: string;
|
|
610
|
-
};
|
|
611
|
-
declare const normalizeGameResultType: (type: string | null) => NormalizedGameResultType | null;
|
|
612
|
-
|
|
613
|
-
declare class NormalizeMatchParticipantsPipe implements PipeTransform {
|
|
614
|
-
transform: (match: MatchListView | null) => NormalizedMatchParticipants | null;
|
|
615
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NormalizeMatchParticipantsPipe, never>;
|
|
616
|
-
static ɵpipe: _angular_core.ɵɵPipeDeclaration<NormalizeMatchParticipantsPipe, "etNormalizeMatchParticipants", true>;
|
|
617
|
-
}
|
|
618
|
-
type NormalizedMatchParticipants = {
|
|
619
|
-
home: NormalizedMatchParticipant | null;
|
|
620
|
-
away: NormalizedMatchParticipant | null;
|
|
726
|
+
declare const DEFAULT_VIEWPORT_CONFIG: ViewportConfig;
|
|
727
|
+
declare const provideViewportConfig: (valueOverride?: Partial<ViewportConfig> | undefined) => _angular_core.Provider[];
|
|
728
|
+
declare const injectViewportConfig: {
|
|
729
|
+
(): ViewportConfig;
|
|
730
|
+
(options: _angular_core.InjectOptions & {
|
|
731
|
+
optional?: false;
|
|
732
|
+
}): ViewportConfig;
|
|
733
|
+
(options: _angular_core.InjectOptions): ViewportConfig | null;
|
|
621
734
|
};
|
|
622
|
-
type
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
participantType: NormalizedParticipantType;
|
|
626
|
-
data: ParticipantViewUnion | null;
|
|
627
|
-
} & Translatable) | {
|
|
628
|
-
type: 'participant';
|
|
629
|
-
participantType: NormalizedParticipantType;
|
|
630
|
-
data: ParticipantViewUnion;
|
|
631
|
-
} | ({
|
|
632
|
-
type: 'none';
|
|
633
|
-
participantType: NormalizedParticipantType;
|
|
634
|
-
data: ParticipantViewUnion | null;
|
|
635
|
-
} & Translatable);
|
|
636
|
-
declare const normalizeMatchParticipants: (match: MatchListView | null) => NormalizedMatchParticipants | null;
|
|
637
|
-
declare const normalizeMatchParticipant: (match: MatchListView | null, side: "home" | "away") => NormalizedMatchParticipant | null;
|
|
638
|
-
|
|
639
|
-
declare class NormalizeMatchScorePipe implements PipeTransform {
|
|
640
|
-
transform: (match: MatchListView | null | undefined) => NormalizedMatchScore | null;
|
|
641
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NormalizeMatchScorePipe, never>;
|
|
642
|
-
static ɵpipe: _angular_core.ɵɵPipeDeclaration<NormalizeMatchScorePipe, "etNormalizeMatchScore", true>;
|
|
643
|
-
}
|
|
644
|
-
declare const enum MatchStateType {
|
|
645
|
-
PREPARING_ROUND = "preparingRound",
|
|
646
|
-
PRE_MATCH = "preMatch",
|
|
647
|
-
LIVE = "live",
|
|
648
|
-
POST_MATCH = "postMatch",
|
|
649
|
-
AUTO_WIN = "autoWin"
|
|
650
|
-
}
|
|
651
|
-
type NormalizedMatchScore = {
|
|
652
|
-
home: {
|
|
653
|
-
score: string | number | null;
|
|
654
|
-
isWinner: boolean;
|
|
655
|
-
};
|
|
656
|
-
away: {
|
|
657
|
-
score: string | number | null;
|
|
658
|
-
isWinner: boolean;
|
|
659
|
-
};
|
|
660
|
-
subLine: string | null;
|
|
661
|
-
isNumeric: boolean;
|
|
735
|
+
type BuildMediaQueryOptions = {
|
|
736
|
+
min?: number | Breakpoint;
|
|
737
|
+
max?: number | Breakpoint;
|
|
662
738
|
};
|
|
663
|
-
declare const
|
|
664
|
-
declare const
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
};
|
|
673
|
-
away: {
|
|
674
|
-
score: number;
|
|
675
|
-
isWinner: boolean;
|
|
676
|
-
};
|
|
677
|
-
} | null;
|
|
678
|
-
declare const getGroupMatchPoints: (match: MatchListView | null | undefined) => {
|
|
679
|
-
home: {
|
|
680
|
-
score: number;
|
|
681
|
-
isWinner: boolean;
|
|
682
|
-
};
|
|
683
|
-
away: {
|
|
684
|
-
score: number;
|
|
685
|
-
isWinner: boolean;
|
|
686
|
-
};
|
|
687
|
-
} | null;
|
|
688
|
-
|
|
689
|
-
declare class NormalizeMatchStatePipe implements PipeTransform {
|
|
690
|
-
transform: (match: MatchListView | null | undefined) => MatchStateType | null;
|
|
691
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NormalizeMatchStatePipe, never>;
|
|
692
|
-
static ɵpipe: _angular_core.ɵɵPipeDeclaration<NormalizeMatchStatePipe, "etNormalizeMatchState", true>;
|
|
693
|
-
}
|
|
694
|
-
declare const normalizeMatchState: (match: MatchListView | null | undefined) => MatchStateType | null;
|
|
695
|
-
|
|
696
|
-
declare class NormalizeMatchTypePipe implements PipeTransform {
|
|
697
|
-
transform: (matchType: StageType | null | undefined) => Translatable | null;
|
|
698
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NormalizeMatchTypePipe, never>;
|
|
699
|
-
static ɵpipe: _angular_core.ɵɵPipeDeclaration<NormalizeMatchTypePipe, "etNormalizeMatchType", true>;
|
|
700
|
-
}
|
|
701
|
-
declare const normalizeMatchType: (matchType: StageType | null | undefined) => Translatable | null;
|
|
702
|
-
|
|
703
|
-
declare class InferMimeTypePipe implements PipeTransform {
|
|
704
|
-
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;
|
|
705
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<InferMimeTypePipe, never>;
|
|
706
|
-
static ɵpipe: _angular_core.ɵɵPipeDeclaration<InferMimeTypePipe, "inferMimeType", true>;
|
|
707
|
-
}
|
|
708
|
-
/**
|
|
709
|
-
* Infers the mime type of a given url or srcset.
|
|
710
|
-
* If a srcset is provided, it will infer the mime type of the first url in the srcset.
|
|
711
|
-
* 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.
|
|
712
|
-
*/
|
|
713
|
-
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;
|
|
714
|
-
|
|
715
|
-
declare class ToArrayPipe implements PipeTransform {
|
|
716
|
-
transform: (value: number) => number[];
|
|
717
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ToArrayPipe, never>;
|
|
718
|
-
static ɵpipe: _angular_core.ɵɵPipeDeclaration<ToArrayPipe, "toArray", true>;
|
|
719
|
-
}
|
|
720
|
-
declare const toArray: (value: number) => number[];
|
|
721
|
-
declare const toArrayTrackByFn: TrackByFunction<number>;
|
|
722
|
-
|
|
723
|
-
declare const createPropHandlers: () => {
|
|
724
|
-
classes: {
|
|
725
|
-
remove: (tokens: string) => void;
|
|
726
|
-
removeMany: (tokens: string[]) => void;
|
|
727
|
-
has: (tokens: string) => boolean;
|
|
728
|
-
push: (tokens: string, signal: _angular_core.Signal<unknown>) => void;
|
|
729
|
-
pushMany: (map: Record<string, _angular_core.Signal<unknown>>) => void;
|
|
730
|
-
};
|
|
731
|
-
attributes: {
|
|
732
|
-
remove: (tokens: string) => void;
|
|
733
|
-
removeMany: (tokens: string[]) => void;
|
|
734
|
-
has: (tokens: string) => boolean;
|
|
735
|
-
push: (tokens: string, signal: _angular_core.Signal<unknown>) => void;
|
|
736
|
-
pushMany: (map: Record<string, _angular_core.Signal<unknown>>) => void;
|
|
739
|
+
declare const provideBreakpointObserver: () => _angular_core.Provider[];
|
|
740
|
+
declare const injectBreakpointObserver: {
|
|
741
|
+
(): {
|
|
742
|
+
observeBreakpoint: (options: BuildMediaQueryOptions) => _angular_core.Signal<boolean>;
|
|
743
|
+
isBreakpointMatched: (options: BuildMediaQueryOptions) => boolean;
|
|
744
|
+
getBreakpointSize: (type: Breakpoint, option: "min" | "max") => number;
|
|
745
|
+
buildMediaQueryString: (options: BuildMediaQueryOptions) => string;
|
|
746
|
+
observeMediaQuery: (mediaQuery: string) => _angular_core.Signal<boolean>;
|
|
747
|
+
isMediaQueryMatched: (mediaQuery: string) => boolean;
|
|
737
748
|
};
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
749
|
+
(options: _angular_core.InjectOptions & {
|
|
750
|
+
optional?: false;
|
|
751
|
+
}): {
|
|
752
|
+
observeBreakpoint: (options: BuildMediaQueryOptions) => _angular_core.Signal<boolean>;
|
|
753
|
+
isBreakpointMatched: (options: BuildMediaQueryOptions) => boolean;
|
|
754
|
+
getBreakpointSize: (type: Breakpoint, option: "min" | "max") => number;
|
|
755
|
+
buildMediaQueryString: (options: BuildMediaQueryOptions) => string;
|
|
756
|
+
observeMediaQuery: (mediaQuery: string) => _angular_core.Signal<boolean>;
|
|
757
|
+
isMediaQueryMatched: (mediaQuery: string) => boolean;
|
|
744
758
|
};
|
|
745
|
-
|
|
746
|
-
|
|
759
|
+
(options: _angular_core.InjectOptions): {
|
|
760
|
+
observeBreakpoint: (options: BuildMediaQueryOptions) => _angular_core.Signal<boolean>;
|
|
761
|
+
isBreakpointMatched: (options: BuildMediaQueryOptions) => boolean;
|
|
762
|
+
getBreakpointSize: (type: Breakpoint, option: "min" | "max") => number;
|
|
763
|
+
buildMediaQueryString: (options: BuildMediaQueryOptions) => string;
|
|
764
|
+
observeMediaQuery: (mediaQuery: string) => _angular_core.Signal<boolean>;
|
|
765
|
+
isMediaQueryMatched: (mediaQuery: string) => boolean;
|
|
766
|
+
} | null;
|
|
747
767
|
};
|
|
748
|
-
type PropHandlers = ReturnType<typeof createPropHandlers>;
|
|
749
768
|
|
|
750
|
-
type
|
|
751
|
-
|
|
752
|
-
|
|
769
|
+
type BreakpointMap<T> = Partial<Record<Breakpoint, T>>;
|
|
770
|
+
type BreakpointInput<T> = T | BreakpointMap<T>;
|
|
771
|
+
declare const breakpointTransformBase: <T, WriteT = BreakpointInput<T>>(coerce: (value: WriteT) => T) => ((value: WriteT) => T);
|
|
772
|
+
/**
|
|
773
|
+
* Transform factory for boolean inputs.
|
|
774
|
+
* Coerces plain values with `booleanAttribute`; resolves {@link BreakpointMap} mobile-first.
|
|
775
|
+
*
|
|
776
|
+
* @example
|
|
777
|
+
* snap = input(false, { transform: boolBreakpointTransform() });
|
|
778
|
+
* // Template: `snap` | `[snap]="true"` | `[snap]="{ xs: false, md: true }"`
|
|
779
|
+
*/
|
|
780
|
+
declare const boolBreakpointTransform: () => ((value: BreakpointInput<boolean> | string) => boolean);
|
|
781
|
+
/**
|
|
782
|
+
* Transform factory for number inputs.
|
|
783
|
+
* Coerces plain values with `numberAttribute`; resolves {@link BreakpointMap} mobile-first.
|
|
784
|
+
*
|
|
785
|
+
* @example
|
|
786
|
+
* scrollMargin = input(0, { transform: numberBreakpointTransform() });
|
|
787
|
+
* // Template: `[scrollMargin]="16"` | `[scrollMargin]="{ xs: 0, md: 16 }"`
|
|
788
|
+
*/
|
|
789
|
+
declare const numberBreakpointTransform: () => ((value: BreakpointInput<number> | string) => number);
|
|
790
|
+
/**
|
|
791
|
+
* Transform factory for any typed input (string unions, arrays, objects, etc.).
|
|
792
|
+
* Passes plain values through as-is; resolves {@link BreakpointMap} mobile-first.
|
|
793
|
+
* A value is treated as a {@link BreakpointMap} only when all its keys are valid breakpoint names.
|
|
794
|
+
*
|
|
795
|
+
* @example
|
|
796
|
+
* itemSize = input('auto', { transform: typedBreakpointTransform<ScrollableItemSize>() });
|
|
797
|
+
* tags = input([], { transform: typedBreakpointTransform<string[]>() });
|
|
798
|
+
* // Template: `[itemSize]="'third'"` | `[itemSize]="{ xs: 'full', md: 'third' }"`
|
|
799
|
+
*/
|
|
800
|
+
declare const typedBreakpointTransform: <T>() => ((value: BreakpointInput<T>) => T);
|
|
801
|
+
type BoolBreakpointSignal = InputSignalWithTransform<boolean, BreakpointInput<boolean> | string>;
|
|
802
|
+
type NumberBreakpointSignal = InputSignalWithTransform<number, BreakpointInput<number> | string>;
|
|
803
|
+
type TypedBreakpointSignal<T> = InputSignalWithTransform<T, BreakpointInput<T>>;
|
|
804
|
+
declare const injectBreakpointInput: <T>(inputSignal: Signal<BreakpointInput<T>>, defaultValue: T) => Signal<T>;
|
|
805
|
+
declare const booleanBreakpointAttribute: (value: unknown) => BreakpointInput<boolean>;
|
|
806
|
+
declare const numberBreakpointAttribute: (value: unknown) => BreakpointInput<number>;
|
|
807
|
+
declare const BREAKPOINT_INSTANCE_TOKEN: InjectionToken<unknown>;
|
|
808
|
+
declare const provideBreakpointInstance: (componentClass: unknown) => {
|
|
809
|
+
provide: InjectionToken<unknown>;
|
|
810
|
+
useExisting: unknown;
|
|
811
|
+
};
|
|
812
|
+
|
|
813
|
+
type ControlValueSignalOptions = {
|
|
814
|
+
debounceTime?: number;
|
|
815
|
+
/**
|
|
816
|
+
* @default false
|
|
817
|
+
*/
|
|
818
|
+
debounceFirst?: boolean;
|
|
819
|
+
};
|
|
820
|
+
declare const controlValueSignal: <TControlInput extends Signal<AbstractControl | null> | AbstractControl, TControl extends TControlInput extends Signal<infer TSignalControl> ? TSignalControl : TControlInput>(control: TControlInput, options?: ControlValueSignalOptions) => Signal<ReturnType<NonNullable<TControl>["getRawValue"]> | null>;
|
|
821
|
+
/**
|
|
822
|
+
* The first item in the pair is the previous value and the second item is the current value.
|
|
823
|
+
*/
|
|
824
|
+
declare const controlValueSignalWithPrevious: <T extends AbstractControl>(control: T, options?: ControlValueSignalOptions) => Signal<[ReturnType<NonNullable<T extends Signal<infer TSignalControl> ? TSignalControl : T>["getRawValue"]> | null, ReturnType<NonNullable<T extends Signal<infer TSignalControl> ? TSignalControl : T>["getRawValue"]> | null]>;
|
|
825
|
+
|
|
826
|
+
type SignalElementBindingComplexType = HTMLElement | ElementRef<HTMLElement> | QueryList<ElementRef<HTMLElement> | HTMLElement> | Array<ElementRef<HTMLElement> | HTMLElement> | null | undefined;
|
|
827
|
+
type SignalElementBindingType = HTMLElement | ElementRef<HTMLElement> | Observable<SignalElementBindingComplexType> | Signal<SignalElementBindingComplexType> | QueryList<ElementRef<HTMLElement> | HTMLElement> | ElementSignal;
|
|
828
|
+
type ElementSignal = Signal<{
|
|
829
|
+
currentElements: HTMLElement[];
|
|
830
|
+
previousElements: HTMLElement[];
|
|
753
831
|
}>;
|
|
754
|
-
type
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
832
|
+
type ElementSignalValue = ReturnType<ElementSignal>;
|
|
833
|
+
declare const isElementSignal: (el: unknown) => el is ElementSignal;
|
|
834
|
+
declare const createDocumentElementSignal: () => ElementSignal;
|
|
835
|
+
declare const createEmptyElementSignal: () => ElementSignal;
|
|
836
|
+
declare const buildElementSignal: (el: SignalElementBindingType | null | undefined) => ElementSignal;
|
|
837
|
+
declare const firstElementSignal: (el: ElementSignal) => Signal<{
|
|
838
|
+
currentElement: HTMLElement | null;
|
|
839
|
+
previousElement: HTMLElement | null;
|
|
840
|
+
}>;
|
|
841
|
+
|
|
842
|
+
declare const signalElementChildren: (el: SignalElementBindingType) => _angular_core.Signal<HTMLElement[]>;
|
|
843
|
+
|
|
844
|
+
type BuildSignalEffectsConfig<T extends Record<string, Signal<unknown>>> = {
|
|
845
|
+
/** The tokens to apply and their signal value */
|
|
846
|
+
tokenMap: T;
|
|
847
|
+
/** This function will be invoked for elements that were removed from the signal effects */
|
|
848
|
+
cleanupFn: (el: HTMLElement, tokens: string[]) => void;
|
|
849
|
+
/** This function will be invoked for elements that were added to the signal effects or when their signal value changes */
|
|
850
|
+
updateFn: (el: HTMLElement, tokens: string[], conditionResult: unknown) => void;
|
|
758
851
|
};
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
852
|
+
declare const buildSignalEffects: <T extends Record<string, Signal<unknown>>>(el: SignalElementBindingType, config: BuildSignalEffectsConfig<T>) => {
|
|
853
|
+
remove: (tokens: string) => void;
|
|
854
|
+
removeMany: (tokens: string[]) => void;
|
|
855
|
+
has: (tokens: string) => boolean;
|
|
856
|
+
push: (tokens: string, signal: Signal<unknown>) => void;
|
|
857
|
+
pushMany: (map: Record<string, Signal<unknown>>) => void;
|
|
763
858
|
};
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
classBindings: Record<string, Signal<unknown>> | null;
|
|
771
|
-
attributeBindings: Record<string, Signal<unknown>> | null;
|
|
772
|
-
styleBindings: Record<string, Signal<unknown>> | null;
|
|
773
|
-
staticClassBindings: string[] | null;
|
|
774
|
-
staticAttributeBindings: Record<string, unknown> | null;
|
|
775
|
-
staticStyleBindings: Record<string, unknown> | null;
|
|
776
|
-
attachEventListeners: ((context: {
|
|
777
|
-
on: HTMLElement['addEventListener'];
|
|
778
|
-
element: HTMLElement;
|
|
779
|
-
}) => void) | null;
|
|
859
|
+
declare const signalClasses: <T extends Record<string, Signal<unknown>>>(el: SignalElementBindingType, classMap: T) => {
|
|
860
|
+
remove: (tokens: string) => void;
|
|
861
|
+
removeMany: (tokens: string[]) => void;
|
|
862
|
+
has: (tokens: string) => boolean;
|
|
863
|
+
push: (tokens: string, signal: Signal<unknown>) => void;
|
|
864
|
+
pushMany: (map: Record<string, Signal<unknown>>) => void;
|
|
780
865
|
};
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
styles?: Record<string, Signal<unknown>>;
|
|
788
|
-
staticClasses?: string[];
|
|
789
|
-
staticAttributes?: Record<string, unknown>;
|
|
790
|
-
staticStyles?: Record<string, unknown>;
|
|
791
|
-
listeners?: (context: {
|
|
792
|
-
on: HTMLElement['addEventListener'];
|
|
793
|
-
element: HTMLElement;
|
|
794
|
-
}) => void;
|
|
866
|
+
declare const signalHostClasses: <T extends Record<string, Signal<unknown>>>(classMap: T) => {
|
|
867
|
+
remove: (tokens: string) => void;
|
|
868
|
+
removeMany: (tokens: string[]) => void;
|
|
869
|
+
has: (tokens: string) => boolean;
|
|
870
|
+
push: (tokens: string, signal: Signal<unknown>) => void;
|
|
871
|
+
pushMany: (map: Record<string, Signal<unknown>>) => void;
|
|
795
872
|
};
|
|
796
|
-
declare const
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
873
|
+
declare const signalAttributes: <T extends Record<string, Signal<unknown>>>(el: SignalElementBindingType, attributeMap: T) => {
|
|
874
|
+
remove: (tokens: string) => void;
|
|
875
|
+
removeMany: (tokens: string[]) => void;
|
|
876
|
+
has: (tokens: string) => boolean;
|
|
877
|
+
push: (tokens: string, signal: Signal<unknown>) => void;
|
|
878
|
+
pushMany: (map: Record<string, Signal<unknown>>) => void;
|
|
800
879
|
};
|
|
801
|
-
declare const
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
declare const createDependencyStash: <T extends Record<string, WritableSignal<unknown>>>(stash: T) => T & {
|
|
809
|
-
provideSignal: <K extends keyof T>(data: {
|
|
810
|
-
signal: Signal<ReturnType<T[K]>>;
|
|
811
|
-
for: K;
|
|
812
|
-
}) => void;
|
|
813
|
-
provideValue: <K extends keyof T>(data: {
|
|
814
|
-
value: ReturnType<T[K]>;
|
|
815
|
-
for: K;
|
|
816
|
-
}) => void;
|
|
880
|
+
declare const signalHostAttributes: <T extends Record<string, Signal<unknown>>>(attributeMap: T) => {
|
|
881
|
+
remove: (tokens: string) => void;
|
|
882
|
+
removeMany: (tokens: string[]) => void;
|
|
883
|
+
has: (tokens: string) => boolean;
|
|
884
|
+
push: (tokens: string, signal: Signal<unknown>) => void;
|
|
885
|
+
pushMany: (map: Record<string, Signal<unknown>>) => void;
|
|
817
886
|
};
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
887
|
+
declare const signalStyles: <T extends Record<string, Signal<unknown>>>(el: SignalElementBindingType, styleMap: T) => {
|
|
888
|
+
remove: (tokens: string) => void;
|
|
889
|
+
removeMany: (tokens: string[]) => void;
|
|
890
|
+
has: (tokens: string) => boolean;
|
|
891
|
+
push: (tokens: string, signal: Signal<unknown>) => void;
|
|
892
|
+
pushMany: (map: Record<string, Signal<unknown>>) => void;
|
|
893
|
+
};
|
|
894
|
+
declare const signalHostStyles: <T extends Record<string, Signal<unknown>>>(styleMap: T) => {
|
|
895
|
+
remove: (tokens: string) => void;
|
|
896
|
+
removeMany: (tokens: string[]) => void;
|
|
897
|
+
has: (tokens: string) => boolean;
|
|
898
|
+
push: (tokens: string, signal: Signal<unknown>) => void;
|
|
899
|
+
pushMany: (map: Record<string, Signal<unknown>>) => void;
|
|
829
900
|
};
|
|
830
901
|
|
|
831
|
-
type
|
|
832
|
-
|
|
833
|
-
|
|
902
|
+
type LogicalSize = {
|
|
903
|
+
inlineSize: number;
|
|
904
|
+
blockSize: number;
|
|
834
905
|
};
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
906
|
+
type ElementRect = {
|
|
907
|
+
bottom: number;
|
|
908
|
+
height: number;
|
|
909
|
+
left: number;
|
|
910
|
+
right: number;
|
|
911
|
+
top: number;
|
|
912
|
+
width: number;
|
|
913
|
+
x: number;
|
|
914
|
+
y: number;
|
|
839
915
|
};
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
removeMany: (tokens: string[]) => void;
|
|
859
|
-
has: (tokens: string) => boolean;
|
|
860
|
-
push: (tokens: string, signal: _angular_core.Signal<unknown>) => void;
|
|
861
|
-
pushMany: (map: Record<string, _angular_core.Signal<unknown>>) => void;
|
|
862
|
-
};
|
|
863
|
-
styles: {
|
|
864
|
-
remove: (tokens: string) => void;
|
|
865
|
-
removeMany: (tokens: string[]) => void;
|
|
866
|
-
has: (tokens: string) => boolean;
|
|
867
|
-
push: (tokens: string, signal: _angular_core.Signal<unknown>) => void;
|
|
868
|
-
pushMany: (map: Record<string, _angular_core.Signal<unknown>>) => void;
|
|
869
|
-
};
|
|
870
|
-
id: string;
|
|
871
|
-
elementRef: _angular_core.ElementRef<HTMLElement>;
|
|
872
|
-
};
|
|
873
|
-
constructor();
|
|
874
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PropsDirective, never>;
|
|
875
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<PropsDirective, "[etProps]", never, { "props": { "alias": "etProps"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
876
|
-
}
|
|
916
|
+
type ElementSize = {
|
|
917
|
+
width: number;
|
|
918
|
+
height: number;
|
|
919
|
+
};
|
|
920
|
+
declare const boundingClientRectToElementRect: (rect: DOMRectReadOnly) => ElementRect;
|
|
921
|
+
declare const createElementDimensions: (el: HTMLElement | null, rect?: DOMRect) => NullableElementDimensions;
|
|
922
|
+
type ElementDimensions = {
|
|
923
|
+
rect: () => ElementRect;
|
|
924
|
+
client: ElementSize;
|
|
925
|
+
scroll: ElementSize;
|
|
926
|
+
offset: ElementSize;
|
|
927
|
+
};
|
|
928
|
+
type NullableElementDimensions = {
|
|
929
|
+
[K in keyof ElementDimensions]: ElementDimensions[K] | null;
|
|
930
|
+
};
|
|
931
|
+
declare const signalElementDimensions: (el: SignalElementBindingType) => Signal<NullableElementDimensions>;
|
|
932
|
+
declare const signalHostElementDimensions: () => Signal<NullableElementDimensions>;
|
|
933
|
+
declare const injectViewportSize: () => Signal<ElementSize>;
|
|
877
934
|
|
|
878
|
-
type
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
context?: T;
|
|
882
|
-
injector?: Injector;
|
|
935
|
+
type SignalElementIntersectionOptions = Omit<IntersectionObserverInit, 'root'> & {
|
|
936
|
+
root?: SignalElementBindingType;
|
|
937
|
+
enabled?: Signal<boolean>;
|
|
883
938
|
};
|
|
884
|
-
type
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
939
|
+
type IntersectionObserverEntryWithDetails = IntersectionObserverEntry & {
|
|
940
|
+
isAbove: boolean;
|
|
941
|
+
isBelow: boolean;
|
|
942
|
+
isLeft: boolean;
|
|
943
|
+
isRight: boolean;
|
|
944
|
+
isVisible: boolean;
|
|
888
945
|
};
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
946
|
+
declare const signalElementIntersection: (el: SignalElementBindingType, options?: SignalElementIntersectionOptions) => Signal<IntersectionObserverEntryWithDetails[]>;
|
|
947
|
+
declare const signalHostElementIntersection: (options?: SignalElementIntersectionOptions) => Signal<IntersectionObserverEntryWithDetails[]>;
|
|
948
|
+
|
|
949
|
+
declare const signalElementMutations: (el: SignalElementBindingType, options?: MutationObserverInit) => _angular_core.Signal<MutationRecord | null>;
|
|
950
|
+
declare const signalHostElementMutations: (options?: MutationObserverInit) => _angular_core.Signal<MutationRecord | null>;
|
|
951
|
+
|
|
952
|
+
type ElementLastScrollDirectionType = 'up' | 'down' | 'left' | 'right';
|
|
953
|
+
type ElementLastScrollDirection = {
|
|
954
|
+
type: ElementLastScrollDirectionType;
|
|
955
|
+
time: number;
|
|
892
956
|
};
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
957
|
+
declare const signalElementLastScrollDirection: (el: SignalElementBindingType) => _angular_core.Signal<ElementLastScrollDirection | null>;
|
|
958
|
+
declare const signalHostElementLastScrollDirection: () => _angular_core.Signal<ElementLastScrollDirection | null>;
|
|
959
|
+
|
|
960
|
+
type SignalElementScrollStateOptions = {
|
|
961
|
+
/** The initial scroll position to scroll to. Once a truthy value get's emitted, all further values will be ignored. */
|
|
962
|
+
initialScrollPosition?: Signal<ScrollToOptions | null>;
|
|
898
963
|
};
|
|
899
|
-
type
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
964
|
+
type ElementScrollState = {
|
|
965
|
+
canScroll: boolean;
|
|
966
|
+
canScrollHorizontally: boolean;
|
|
967
|
+
canScrollVertically: boolean;
|
|
968
|
+
elementDimensions: NullableElementDimensions;
|
|
904
969
|
};
|
|
905
|
-
declare const
|
|
970
|
+
declare const areScrollStatesEqual: (a: ElementScrollState, b: ElementScrollState) => boolean;
|
|
971
|
+
declare const signalElementScrollState: (el: SignalElementBindingType, options?: SignalElementScrollStateOptions) => Signal<ElementScrollState>;
|
|
972
|
+
declare const signalHostElementScrollState: () => Signal<ElementScrollState>;
|
|
906
973
|
|
|
907
974
|
declare const injectAngularRootElement: {
|
|
908
975
|
(): _angular_core.WritableSignal<HTMLElement | null>;
|
|
@@ -934,65 +1001,6 @@ declare const BOUNDARY_ELEMENT_TOKEN: _angular_core.InjectionToken<{
|
|
|
934
1001
|
override: _angular_core.WritableSignal<HTMLElement | null>;
|
|
935
1002
|
}>;
|
|
936
1003
|
|
|
937
|
-
type Vec2 = [number, number];
|
|
938
|
-
type ViewportConfig = {
|
|
939
|
-
breakpoints: {
|
|
940
|
-
xs: Vec2;
|
|
941
|
-
sm: Vec2;
|
|
942
|
-
md: Vec2;
|
|
943
|
-
lg: Vec2;
|
|
944
|
-
xl: Vec2;
|
|
945
|
-
'2xl': Vec2;
|
|
946
|
-
};
|
|
947
|
-
};
|
|
948
|
-
type Breakpoint = keyof ViewportConfig['breakpoints'];
|
|
949
|
-
/**
|
|
950
|
-
* Default viewport config based on Tailwind CSS.
|
|
951
|
-
* @see https://tailwindcss.com/docs/screens
|
|
952
|
-
*/
|
|
953
|
-
declare const DEFAULT_VIEWPORT_CONFIG: ViewportConfig;
|
|
954
|
-
declare const provideViewportConfig: (valueOverride?: Partial<ViewportConfig> | undefined) => _angular_core.Provider[];
|
|
955
|
-
declare const injectViewportConfig: {
|
|
956
|
-
(): ViewportConfig;
|
|
957
|
-
(options: _angular_core.InjectOptions & {
|
|
958
|
-
optional?: false;
|
|
959
|
-
}): ViewportConfig;
|
|
960
|
-
(options: _angular_core.InjectOptions): ViewportConfig | null;
|
|
961
|
-
};
|
|
962
|
-
type BuildMediaQueryOptions = {
|
|
963
|
-
min?: number | Breakpoint;
|
|
964
|
-
max?: number | Breakpoint;
|
|
965
|
-
};
|
|
966
|
-
declare const provideBreakpointObserver: () => _angular_core.Provider[];
|
|
967
|
-
declare const injectBreakpointObserver: {
|
|
968
|
-
(): {
|
|
969
|
-
observeBreakpoint: (options: BuildMediaQueryOptions) => _angular_core.Signal<boolean>;
|
|
970
|
-
isBreakpointMatched: (options: BuildMediaQueryOptions) => boolean;
|
|
971
|
-
getBreakpointSize: (type: Breakpoint, option: "min" | "max") => number;
|
|
972
|
-
buildMediaQueryString: (options: BuildMediaQueryOptions) => string;
|
|
973
|
-
observeMediaQuery: (mediaQuery: string) => _angular_core.Signal<boolean>;
|
|
974
|
-
isMediaQueryMatched: (mediaQuery: string) => boolean;
|
|
975
|
-
};
|
|
976
|
-
(options: _angular_core.InjectOptions & {
|
|
977
|
-
optional?: false;
|
|
978
|
-
}): {
|
|
979
|
-
observeBreakpoint: (options: BuildMediaQueryOptions) => _angular_core.Signal<boolean>;
|
|
980
|
-
isBreakpointMatched: (options: BuildMediaQueryOptions) => boolean;
|
|
981
|
-
getBreakpointSize: (type: Breakpoint, option: "min" | "max") => number;
|
|
982
|
-
buildMediaQueryString: (options: BuildMediaQueryOptions) => string;
|
|
983
|
-
observeMediaQuery: (mediaQuery: string) => _angular_core.Signal<boolean>;
|
|
984
|
-
isMediaQueryMatched: (mediaQuery: string) => boolean;
|
|
985
|
-
};
|
|
986
|
-
(options: _angular_core.InjectOptions): {
|
|
987
|
-
observeBreakpoint: (options: BuildMediaQueryOptions) => _angular_core.Signal<boolean>;
|
|
988
|
-
isBreakpointMatched: (options: BuildMediaQueryOptions) => boolean;
|
|
989
|
-
getBreakpointSize: (type: Breakpoint, option: "min" | "max") => number;
|
|
990
|
-
buildMediaQueryString: (options: BuildMediaQueryOptions) => string;
|
|
991
|
-
observeMediaQuery: (mediaQuery: string) => _angular_core.Signal<boolean>;
|
|
992
|
-
isMediaQueryMatched: (mediaQuery: string) => boolean;
|
|
993
|
-
} | null;
|
|
994
|
-
};
|
|
995
|
-
|
|
996
1004
|
declare const provideFocusVisibleTracker: () => _angular_core.Provider[];
|
|
997
1005
|
declare const injectFocusVisibleTracker: {
|
|
998
1006
|
(): {
|
|
@@ -1059,6 +1067,11 @@ declare const injectRenderer: {
|
|
|
1059
1067
|
setDataAttributes: (element: HTMLElement, data: Record<string, string | null>) => void;
|
|
1060
1068
|
setCssProperty: (element: HTMLElement, name: string, value: string | null) => void;
|
|
1061
1069
|
setCssProperties: (element: HTMLElement, properties: Record<string, string | null>) => void;
|
|
1070
|
+
moveBefore: (config: {
|
|
1071
|
+
newParent: HTMLElement;
|
|
1072
|
+
child: HTMLElement;
|
|
1073
|
+
before?: Node | null;
|
|
1074
|
+
}) => void;
|
|
1062
1075
|
renderer: _angular_core.Renderer2;
|
|
1063
1076
|
};
|
|
1064
1077
|
(options: _angular_core.InjectOptions & {
|
|
@@ -1094,6 +1107,11 @@ declare const injectRenderer: {
|
|
|
1094
1107
|
setDataAttributes: (element: HTMLElement, data: Record<string, string | null>) => void;
|
|
1095
1108
|
setCssProperty: (element: HTMLElement, name: string, value: string | null) => void;
|
|
1096
1109
|
setCssProperties: (element: HTMLElement, properties: Record<string, string | null>) => void;
|
|
1110
|
+
moveBefore: (config: {
|
|
1111
|
+
newParent: HTMLElement;
|
|
1112
|
+
child: HTMLElement;
|
|
1113
|
+
before?: Node | null;
|
|
1114
|
+
}) => void;
|
|
1097
1115
|
renderer: _angular_core.Renderer2;
|
|
1098
1116
|
};
|
|
1099
1117
|
(options: _angular_core.InjectOptions): {
|
|
@@ -1127,495 +1145,1146 @@ declare const injectRenderer: {
|
|
|
1127
1145
|
setDataAttributes: (element: HTMLElement, data: Record<string, string | null>) => void;
|
|
1128
1146
|
setCssProperty: (element: HTMLElement, name: string, value: string | null) => void;
|
|
1129
1147
|
setCssProperties: (element: HTMLElement, properties: Record<string, string | null>) => void;
|
|
1148
|
+
moveBefore: (config: {
|
|
1149
|
+
newParent: HTMLElement;
|
|
1150
|
+
child: HTMLElement;
|
|
1151
|
+
before?: Node | null;
|
|
1152
|
+
}) => void;
|
|
1130
1153
|
renderer: _angular_core.Renderer2;
|
|
1131
1154
|
} | null;
|
|
1132
1155
|
};
|
|
1133
|
-
type AngularRenderer = NonNullable<ReturnType<typeof injectRenderer>>;
|
|
1156
|
+
type AngularRenderer = NonNullable<ReturnType<typeof injectRenderer>>;
|
|
1157
|
+
|
|
1158
|
+
type StyleManager = {
|
|
1159
|
+
mount: <TComponent>(component: Type<TComponent>) => ComponentRef<TComponent>;
|
|
1160
|
+
};
|
|
1161
|
+
declare const provideStyleManager: () => _angular_core.Provider[];
|
|
1162
|
+
declare const injectStyleManager: {
|
|
1163
|
+
(): StyleManager;
|
|
1164
|
+
(options: _angular_core.InjectOptions & {
|
|
1165
|
+
optional?: false;
|
|
1166
|
+
}): StyleManager;
|
|
1167
|
+
(options: _angular_core.InjectOptions): StyleManager | null;
|
|
1168
|
+
};
|
|
1169
|
+
|
|
1170
|
+
interface ConsentHandler {
|
|
1171
|
+
/** Signal that is `true` when consent has been granted. */
|
|
1172
|
+
isGranted: Signal<boolean>;
|
|
1173
|
+
/** Grants consent and writes the decision back to the source. */
|
|
1174
|
+
grant: () => void;
|
|
1175
|
+
/** Revokes consent and writes the decision back to the source. */
|
|
1176
|
+
revoke?: () => void;
|
|
1177
|
+
}
|
|
1178
|
+
type CreateUserConsentProviderOptions = {
|
|
1179
|
+
/** The provider result returned by `createStaticProvider` that this consent provider should be associated with. */
|
|
1180
|
+
for: InjectionToken<ConsentHandler | null>;
|
|
1181
|
+
/**
|
|
1182
|
+
* Factory executed inside the injection context that returns a `Signal<boolean>`.
|
|
1183
|
+
*
|
|
1184
|
+
* @example
|
|
1185
|
+
* isGranted: () => inject(CookieService).hasMediaConsent
|
|
1186
|
+
*/
|
|
1187
|
+
isGranted: () => Signal<boolean>;
|
|
1188
|
+
/**
|
|
1189
|
+
* Factory executed inside the injection context that returns the grant function.
|
|
1190
|
+
*
|
|
1191
|
+
* @example
|
|
1192
|
+
* grant: () => () => inject(CookieService).acceptAll()
|
|
1193
|
+
*/
|
|
1194
|
+
grant: () => () => void;
|
|
1195
|
+
/**
|
|
1196
|
+
* Factory executed inside the injection context that returns the revoke function.
|
|
1197
|
+
*
|
|
1198
|
+
* @example
|
|
1199
|
+
* revoke : () => () => inject(CookieService).revokeAll()
|
|
1200
|
+
*/
|
|
1201
|
+
revoke?: () => () => void;
|
|
1202
|
+
};
|
|
1203
|
+
declare const createUserConsentProvider: (options: CreateUserConsentProviderOptions) => Provider;
|
|
1204
|
+
|
|
1205
|
+
/** Inject a signal containing a boolean value indicating if the viewport is xs */
|
|
1206
|
+
declare const injectIsXs: () => _angular_core.Signal<boolean>;
|
|
1207
|
+
/** Inject a signal containing a boolean value indicating if the viewport is sm */
|
|
1208
|
+
declare const injectIsSm: () => _angular_core.Signal<boolean>;
|
|
1209
|
+
/** Inject a signal containing a boolean value indicating if the viewport is md */
|
|
1210
|
+
declare const injectIsMd: () => _angular_core.Signal<boolean>;
|
|
1211
|
+
/** Inject a signal containing a boolean value indicating if the viewport is lg */
|
|
1212
|
+
declare const injectIsLg: () => _angular_core.Signal<boolean>;
|
|
1213
|
+
/** Inject a signal containing a boolean value indicating if the viewport is xl */
|
|
1214
|
+
declare const injectIsXl: () => _angular_core.Signal<boolean>;
|
|
1215
|
+
/** Inject a signal containing a boolean value indicating if the viewport is 2xl */
|
|
1216
|
+
declare const injectIs2Xl: () => _angular_core.Signal<boolean>;
|
|
1217
|
+
/**
|
|
1218
|
+
* Inject a boolean value indicating if the viewport is matching the provided options.
|
|
1219
|
+
* This value is not reactive. If you want to react to changes, use the {@link injectObserveBreakpoint} function instead.
|
|
1220
|
+
*/
|
|
1221
|
+
declare const injectBreakpointIsMatched: (options: BuildMediaQueryOptions) => boolean;
|
|
1222
|
+
/**
|
|
1223
|
+
* Inject a boolean value indicating if the media query is matched.
|
|
1224
|
+
* This value is not reactive. If you want to react to changes, use the {@link injectObserveMediaQuery} function instead.
|
|
1225
|
+
*/
|
|
1226
|
+
declare const injectMediaQueryIsMatched: (mediaQuery: string) => boolean;
|
|
1227
|
+
/**
|
|
1228
|
+
* Inject a signal containing a boolean value indicating if the viewport is matching the provided options.
|
|
1229
|
+
*/
|
|
1230
|
+
declare const injectObserveBreakpoint: (options: BuildMediaQueryOptions) => _angular_core.Signal<boolean>;
|
|
1231
|
+
/**
|
|
1232
|
+
* Inject a signal containing a boolean value indicating if the media query is matched.
|
|
1233
|
+
*/
|
|
1234
|
+
declare const injectObserveMediaQuery: (mediaQuery: string) => _angular_core.Signal<boolean>;
|
|
1235
|
+
/** Inject a signal containing the current breakpoint. */
|
|
1236
|
+
declare const injectCurrentBreakpoint: () => _angular_core.Signal<"xs" | "sm" | "md" | "lg" | "xl" | "2xl">;
|
|
1237
|
+
/** Inject a signal that indicates if the user is using a portrait display */
|
|
1238
|
+
declare const injectIsPortrait: () => _angular_core.Signal<boolean>;
|
|
1239
|
+
/** Inject a signal that indicates if the user is using a landscape display */
|
|
1240
|
+
declare const injectIsLandscape: () => _angular_core.Signal<boolean>;
|
|
1241
|
+
/** Inject a signal containing the current display orientation */
|
|
1242
|
+
declare const injectDisplayOrientation: () => _angular_core.Signal<"portrait" | "landscape">;
|
|
1243
|
+
/** Inject a signal that indicates if the device has a touch input */
|
|
1244
|
+
declare const injectHasTouchInput: () => _angular_core.Signal<boolean>;
|
|
1245
|
+
/** Inject a signal that indicates if the device has a fine input (mouse or stylus) */
|
|
1246
|
+
declare const injectHasPrecisionInput: () => _angular_core.Signal<boolean>;
|
|
1247
|
+
/** Inject a signal containing the current device input type */
|
|
1248
|
+
declare const injectDeviceInputType: () => _angular_core.Signal<"touch" | "mouse">;
|
|
1249
|
+
/** Inject a signal containing a boolean value indicating if the user can hover (eg. using a mouse) */
|
|
1250
|
+
declare const injectCanHover: () => _angular_core.Signal<boolean>;
|
|
1251
|
+
/** Inject a signal containing the viewport dimensions */
|
|
1252
|
+
declare const injectViewportDimensions: () => _angular_core.Signal<_ethlete_core.NullableElementDimensions>;
|
|
1253
|
+
/** Inject a signal containing the scrollbar dimensions. Dimensions will be 0 if scrollbars overlap the page contents (like on mobile). */
|
|
1254
|
+
declare const injectScrollbarDimensions: () => _angular_core.Signal<{
|
|
1255
|
+
width: number;
|
|
1256
|
+
height: number;
|
|
1257
|
+
} | null>;
|
|
1258
|
+
|
|
1259
|
+
/**
|
|
1260
|
+
* Applies scrollbar size CSS variables to the documentElement (html tag) in pixels.
|
|
1261
|
+
* - `--et-sw`: scrollbar width
|
|
1262
|
+
* - `--et-sh`: scrollbar height
|
|
1263
|
+
*/
|
|
1264
|
+
declare const writeScrollbarSizeToCssVariables: () => void;
|
|
1265
|
+
/**
|
|
1266
|
+
* Applies viewport size CSS variables to the documentElement (html tag) in pixels.
|
|
1267
|
+
* - `--et-vw`: viewport width excluding scrollbar width
|
|
1268
|
+
* - `--et-vh`: viewport height excluding scrollbar height
|
|
1269
|
+
*/
|
|
1270
|
+
declare const writeViewportSizeToCssVariables: () => void;
|
|
1271
|
+
|
|
1272
|
+
type CursorDragScrollDirection = 'horizontal' | 'vertical' | 'both';
|
|
1273
|
+
type CursorDragScrollOptions = {
|
|
1274
|
+
/** If true, cursor drag scrolling will be enabled. */
|
|
1275
|
+
enabled?: Signal<boolean>;
|
|
1276
|
+
/** The allowed scroll direction. */
|
|
1277
|
+
allowedDirection?: MaybeSignal<CursorDragScrollDirection>;
|
|
1278
|
+
};
|
|
1279
|
+
/** A function to apply cursor drag scroll behavior to an element. */
|
|
1280
|
+
declare const useCursorDragScroll: (el: SignalElementBindingType, options?: CursorDragScrollOptions) => {
|
|
1281
|
+
isDragging: Signal<boolean>;
|
|
1282
|
+
currentDragAmount: Signal<{
|
|
1283
|
+
x: number;
|
|
1284
|
+
y: number;
|
|
1285
|
+
}>;
|
|
1286
|
+
};
|
|
1287
|
+
|
|
1288
|
+
type SetupScrollRestorationConfig = {
|
|
1289
|
+
/**
|
|
1290
|
+
* The scrollable container.
|
|
1291
|
+
* @default document.documentElement
|
|
1292
|
+
*/
|
|
1293
|
+
scrollElement?: HTMLElement;
|
|
1294
|
+
/**
|
|
1295
|
+
* A list of query params that should trigger a scroll to top.
|
|
1296
|
+
* @default []
|
|
1297
|
+
* @example ['page'] // will scroll to top when the page query param changes
|
|
1298
|
+
*/
|
|
1299
|
+
queryParamTriggerList?: string[];
|
|
1300
|
+
/**
|
|
1301
|
+
* Config for fragment scrolling.
|
|
1302
|
+
*/
|
|
1303
|
+
fragment?: {
|
|
1304
|
+
/**
|
|
1305
|
+
* Enable fragment scrolling (scroll to element with id)
|
|
1306
|
+
* @default false
|
|
1307
|
+
*/
|
|
1308
|
+
enabled?: boolean;
|
|
1309
|
+
/**
|
|
1310
|
+
* Whether to use smooth scrolling or not.
|
|
1311
|
+
* @default false
|
|
1312
|
+
*/
|
|
1313
|
+
smooth?: boolean;
|
|
1314
|
+
};
|
|
1315
|
+
};
|
|
1316
|
+
declare const ET_DISABLE_SCROLL_TOP: unique symbol;
|
|
1317
|
+
declare const ET_DISABLE_SCROLL_TOP_AS_RETURN_ROUTE: unique symbol;
|
|
1318
|
+
declare const ET_DISABLE_SCROLL_TOP_ON_PATH_PARAM_CHANGE: unique symbol;
|
|
1319
|
+
type RouterDisableScrollTopConfig = {
|
|
1320
|
+
/**
|
|
1321
|
+
* Whether to disable scroll to top ONLY when navigating back to this route.
|
|
1322
|
+
* @default false
|
|
1323
|
+
*/
|
|
1324
|
+
asReturnRoute?: boolean;
|
|
1325
|
+
/**
|
|
1326
|
+
* Whether to disable scroll to top when a path param changes.
|
|
1327
|
+
* @default false
|
|
1328
|
+
*/
|
|
1329
|
+
onPathParamChange?: boolean;
|
|
1330
|
+
};
|
|
1331
|
+
declare const routerDisableScrollTop: (config?: RouterDisableScrollTopConfig) => {
|
|
1332
|
+
[ET_DISABLE_SCROLL_TOP_ON_PATH_PARAM_CHANGE]?: boolean | undefined;
|
|
1333
|
+
[ET_DISABLE_SCROLL_TOP]: boolean;
|
|
1334
|
+
} | {
|
|
1335
|
+
[ET_DISABLE_SCROLL_TOP_ON_PATH_PARAM_CHANGE]?: boolean | undefined;
|
|
1336
|
+
[ET_DISABLE_SCROLL_TOP_AS_RETURN_ROUTE]: boolean;
|
|
1337
|
+
};
|
|
1338
|
+
declare const setupScrollRestoration: (config?: SetupScrollRestorationConfig) => void;
|
|
1339
|
+
|
|
1340
|
+
declare const signalIsRendered: () => _angular_core.Signal<boolean>;
|
|
1341
|
+
declare const createIsRenderedSignal: () => {
|
|
1342
|
+
state: _angular_core.WritableSignal<boolean>;
|
|
1343
|
+
bind: () => _angular_core.EffectRef;
|
|
1344
|
+
};
|
|
1345
|
+
declare const createCanAnimateSignal: () => {
|
|
1346
|
+
state: _angular_core.Signal<boolean>;
|
|
1347
|
+
};
|
|
1134
1348
|
|
|
1135
|
-
|
|
1136
|
-
|
|
1349
|
+
type RouterState = {
|
|
1350
|
+
data: Data;
|
|
1351
|
+
pathParams: Params;
|
|
1352
|
+
queryParams: Params;
|
|
1353
|
+
title: string | null;
|
|
1354
|
+
fragment: string | null;
|
|
1355
|
+
};
|
|
1356
|
+
declare const ET_PROPERTY_REMOVED: unique symbol;
|
|
1357
|
+
type InjectUtilConfig = {
|
|
1358
|
+
/** The injector to use for the injection. Must be provided if the function is not called from within a injection context. */
|
|
1359
|
+
injector?: Injector;
|
|
1360
|
+
};
|
|
1361
|
+
type InjectUtilTransformConfig<In, Out> = {
|
|
1137
1362
|
/**
|
|
1138
|
-
*
|
|
1139
|
-
*
|
|
1140
|
-
*
|
|
1363
|
+
* A transform function similar to the `transform` function in Angular input bindings.
|
|
1364
|
+
* Can be used to transform the value before it is returned.
|
|
1365
|
+
* E.g. transforming `"true"` to `true` for a boolean attribute.
|
|
1141
1366
|
*/
|
|
1142
|
-
|
|
1367
|
+
transform?: (value: In) => Out;
|
|
1368
|
+
};
|
|
1369
|
+
declare const transformOrReturn: <In, Out>(src: Signal<In>, config?: InjectUtilTransformConfig<In, Out>) => Signal<Out>;
|
|
1370
|
+
/** Inject the current router event */
|
|
1371
|
+
declare const injectRouterEvent: () => Signal<_angular_router.Event>;
|
|
1372
|
+
/**
|
|
1373
|
+
* Signal that indicates whether the router has been initialized.
|
|
1374
|
+
* The router is considered initialized once the first NavigationEnd event with an id different than -1 has been emitted.
|
|
1375
|
+
*/
|
|
1376
|
+
declare const injectIsRouterInitialized: () => Signal<boolean>;
|
|
1377
|
+
/**
|
|
1378
|
+
* Inject the current url.
|
|
1379
|
+
* The url includes query params as well as the fragment. Use `injectRoute` instead if you are not intrusted in those.
|
|
1380
|
+
* @example "/my-page?query=1¶m=true#fragment"
|
|
1381
|
+
*/
|
|
1382
|
+
declare const injectUrl: () => Signal<string>;
|
|
1383
|
+
/**
|
|
1384
|
+
* Inject the current route
|
|
1385
|
+
* @example "/my-page"
|
|
1386
|
+
*/
|
|
1387
|
+
declare const injectRoute: () => Signal<string>;
|
|
1388
|
+
declare const createRouterState: (router: Router) => RouterState;
|
|
1389
|
+
/**
|
|
1390
|
+
* Read the current route (the committed url without query params and fragment) straight from the router.
|
|
1391
|
+
* Unlike the `injectRoute` signal this reads synchronously, so it can be used inside a `router.events` handler
|
|
1392
|
+
* where `router.url` is already committed. Falls back to the browser location before the first navigation commits.
|
|
1393
|
+
*/
|
|
1394
|
+
declare const createRoute: (router: Router) => string;
|
|
1395
|
+
/**
|
|
1396
|
+
* Inject the complete router state. This includes the current route data, path params, query params, title and fragment.
|
|
1397
|
+
*/
|
|
1398
|
+
declare const injectRouterState: () => Signal<RouterState>;
|
|
1399
|
+
/** Inject a signal containing the current route fragment (the part after the # inside the url if present) */
|
|
1400
|
+
declare const injectFragment: <T = string | null>(config?: InjectUtilConfig & InjectUtilTransformConfig<string | null, T>) => Signal<T>;
|
|
1401
|
+
/** Inject all currently available query parameters as a signal */
|
|
1402
|
+
declare const injectQueryParams: () => Signal<Params>;
|
|
1403
|
+
/** Inject all currently available route data as a signal */
|
|
1404
|
+
declare const injectRouteData: () => Signal<Data>;
|
|
1405
|
+
/** Inject the current route title as a signal */
|
|
1406
|
+
declare const injectRouteTitle: <T = string | null>(config?: InjectUtilTransformConfig<string | null, T>) => Signal<T>;
|
|
1407
|
+
/** Inject all currently available path parameters as a signal */
|
|
1408
|
+
declare const injectPathParams: () => Signal<Params>;
|
|
1409
|
+
type InjectQueryParamConfig<T> = InjectUtilTransformConfig<string | null, T> & {
|
|
1143
1410
|
/**
|
|
1144
|
-
* If true, the
|
|
1145
|
-
*
|
|
1411
|
+
* If true, the initial value will be read from the browser's url.
|
|
1412
|
+
* Note that this will not work with arrays or complex objects.
|
|
1146
1413
|
*/
|
|
1147
|
-
|
|
1414
|
+
requireSync?: boolean;
|
|
1148
1415
|
};
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1416
|
+
/** Inject a specific query parameter as a signal */
|
|
1417
|
+
declare const injectQueryParam: <T = string | null>(key: string, config?: InjectQueryParamConfig<T>) => Signal<T>;
|
|
1418
|
+
/** Inject a specific route data item as a signal */
|
|
1419
|
+
declare const injectRouteDataItem: <T = unknown>(key: string, config?: InjectUtilTransformConfig<unknown, T>) => Signal<T>;
|
|
1420
|
+
/** Inject a specific path parameter as a signal */
|
|
1421
|
+
declare const injectPathParam: <T = string | null>(key: string, config?: InjectUtilTransformConfig<string | null, T>) => Signal<T>;
|
|
1152
1422
|
/**
|
|
1153
|
-
*
|
|
1154
|
-
*
|
|
1423
|
+
* Inject query params that changed during navigation. Unchanged query params will be ignored.
|
|
1424
|
+
* Removed query params will be represented by the symbol `ET_PROPERTY_REMOVED`.
|
|
1155
1425
|
*/
|
|
1156
|
-
declare const
|
|
1426
|
+
declare const injectQueryParamChanges: () => Signal<Record<string, unknown>>;
|
|
1157
1427
|
/**
|
|
1158
|
-
*
|
|
1159
|
-
*
|
|
1428
|
+
* Inject path params that changed during navigation. Unchanged path params will be ignored.
|
|
1429
|
+
* Removed path params will be represented by the symbol `ET_PROPERTY_REMOVED`.
|
|
1160
1430
|
*/
|
|
1161
|
-
declare const
|
|
1431
|
+
declare const injectPathParamChanges: () => Signal<Record<string, unknown>>;
|
|
1432
|
+
|
|
1433
|
+
declare class ScrollObserverDirective {
|
|
1434
|
+
private elementRef;
|
|
1435
|
+
enabled: _angular_core.ModelSignal<MaybeSignal<boolean>>;
|
|
1436
|
+
private enabledValue;
|
|
1437
|
+
private _startEl;
|
|
1438
|
+
private _endEl;
|
|
1439
|
+
private _startIntersection;
|
|
1440
|
+
private _endIntersection;
|
|
1441
|
+
isAtStart: Signal<boolean>;
|
|
1442
|
+
isAtEnd: Signal<boolean>;
|
|
1443
|
+
_registerStart(el: ElementRef<HTMLElement>): void;
|
|
1444
|
+
_registerEnd(el: ElementRef<HTMLElement>): void;
|
|
1445
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ScrollObserverDirective, never>;
|
|
1446
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ScrollObserverDirective, "[etScrollObserver]", ["etScrollObserver"], { "enabled": { "alias": "enabled"; "required": false; "isSignal": true; }; }, { "enabled": "enabledChange"; }, never, never, true, never>;
|
|
1447
|
+
}
|
|
1448
|
+
|
|
1449
|
+
type DragMoveEvent = {
|
|
1450
|
+
readonly stepX: number;
|
|
1451
|
+
readonly stepY: number;
|
|
1452
|
+
readonly clientX: number;
|
|
1453
|
+
readonly clientY: number;
|
|
1454
|
+
};
|
|
1455
|
+
declare class DragHandleDirective {
|
|
1456
|
+
private el;
|
|
1457
|
+
commitThreshold: _angular_core.InputSignal<number>;
|
|
1458
|
+
disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1459
|
+
private gestureStart$;
|
|
1460
|
+
private gesture$;
|
|
1461
|
+
dragTapped: _angular_core.OutputRef<void>;
|
|
1462
|
+
dragStarted: _angular_core.OutputRef<void>;
|
|
1463
|
+
dragMoved: _angular_core.OutputRef<DragMoveEvent>;
|
|
1464
|
+
dragEnded: _angular_core.OutputRef<void>;
|
|
1465
|
+
isDragging: _angular_core.Signal<boolean>;
|
|
1466
|
+
constructor();
|
|
1467
|
+
startGesture(event: PointerEvent): void;
|
|
1468
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DragHandleDirective, never>;
|
|
1469
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DragHandleDirective, "[etDragHandle]", never, { "commitThreshold": { "alias": "commitThreshold"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "dragTapped": "dragTapped"; "dragStarted": "dragStarted"; "dragMoved": "dragMoved"; "dragEnded": "dragEnded"; }, never, never, true, never>;
|
|
1470
|
+
}
|
|
1471
|
+
|
|
1472
|
+
type OverlayRuntimeRole = 'dialog' | 'alertdialog';
|
|
1473
|
+
type OverlayRuntimeAutoFocusTarget = 'container' | 'first-heading' | 'first-tabbable';
|
|
1474
|
+
type OverlayRuntimeCloseSource = 'api' | 'escape' | 'outside-pointer' | 'drag';
|
|
1475
|
+
type OverlayRuntimeCenteredPosition = {
|
|
1476
|
+
kind: 'center';
|
|
1477
|
+
};
|
|
1478
|
+
type OverlayRuntimeGlobalPositionAlignment = 'start' | 'center' | 'end' | 'stretch';
|
|
1479
|
+
type OverlayRuntimeGlobalPosition = {
|
|
1480
|
+
kind: 'global';
|
|
1481
|
+
/** Horizontal placement of the pane inside the viewport. Defaults to `center`. */
|
|
1482
|
+
horizontal?: OverlayRuntimeGlobalPositionAlignment;
|
|
1483
|
+
/** Vertical placement of the pane inside the viewport. Defaults to `center`. */
|
|
1484
|
+
vertical?: OverlayRuntimeGlobalPositionAlignment;
|
|
1485
|
+
/** Padding applied to the host element. Defaults to `0`. */
|
|
1486
|
+
padding?: string;
|
|
1487
|
+
};
|
|
1488
|
+
type OverlayRuntimeAnchoredPosition = {
|
|
1489
|
+
kind: 'anchored';
|
|
1490
|
+
referenceElement: HTMLElement;
|
|
1491
|
+
placement?: Placement;
|
|
1492
|
+
fallbackPlacements?: Placement[];
|
|
1493
|
+
offset?: OffsetOptions | null;
|
|
1494
|
+
arrowPadding?: Padding | null;
|
|
1495
|
+
viewportPadding?: Padding | null;
|
|
1496
|
+
autoResize?: boolean;
|
|
1497
|
+
shift?: boolean;
|
|
1498
|
+
autoHide?: boolean;
|
|
1499
|
+
autoCloseIfReferenceHidden?: boolean;
|
|
1500
|
+
mirrorWidth?: boolean;
|
|
1501
|
+
};
|
|
1502
|
+
type OverlayRuntimePositionStrategy = OverlayRuntimeCenteredPosition | OverlayRuntimeAnchoredPosition | OverlayRuntimeGlobalPosition;
|
|
1503
|
+
type OverlayRuntimeElements = {
|
|
1504
|
+
rootElement: HTMLElement;
|
|
1505
|
+
hostElement: HTMLElement;
|
|
1506
|
+
backdropElement: HTMLElement | null;
|
|
1507
|
+
paneElement: HTMLElement;
|
|
1508
|
+
};
|
|
1509
|
+
type OverlayRuntimeCloseEvent<TResult = unknown> = {
|
|
1510
|
+
result: TResult | undefined;
|
|
1511
|
+
source: OverlayRuntimeCloseSource;
|
|
1512
|
+
};
|
|
1513
|
+
type OverlayRuntimeComponentBase = {
|
|
1514
|
+
animatedLifecycle?: Signal<AnimatedLifecycleDirective | undefined>;
|
|
1515
|
+
};
|
|
1516
|
+
type OverlayRuntimeAnimationDelegateEnterContext = {
|
|
1517
|
+
lifecycle: AnimatedLifecycleDirective;
|
|
1518
|
+
elements: OverlayRuntimeElements;
|
|
1519
|
+
};
|
|
1520
|
+
type OverlayRuntimeAnimationDelegateLeaveContext = OverlayRuntimeAnimationDelegateEnterContext & {
|
|
1521
|
+
closeEvent: OverlayRuntimeCloseEvent;
|
|
1522
|
+
};
|
|
1162
1523
|
/**
|
|
1163
|
-
*
|
|
1164
|
-
*
|
|
1524
|
+
* Overrides the runtime's default enter/leave animation handling.
|
|
1525
|
+
* A delegate must eventually drive the lifecycle state to `entered` (enter) or `left` (leave),
|
|
1526
|
+
* otherwise the overlay will never finish opening or closing.
|
|
1165
1527
|
*/
|
|
1166
|
-
|
|
1167
|
-
|
|
1528
|
+
type OverlayRuntimeAnimationDelegate = {
|
|
1529
|
+
enter?: (context: OverlayRuntimeAnimationDelegateEnterContext) => void;
|
|
1530
|
+
leave?: (context: OverlayRuntimeAnimationDelegateLeaveContext) => void;
|
|
1531
|
+
};
|
|
1532
|
+
type OverlayRuntimeMountConfig<TComponent extends object> = {
|
|
1533
|
+
id: string;
|
|
1534
|
+
component: Type<TComponent>;
|
|
1535
|
+
viewContainerRef?: ViewContainerRef;
|
|
1536
|
+
injector?: Injector;
|
|
1537
|
+
providers?: StaticProvider[];
|
|
1538
|
+
role?: OverlayRuntimeRole;
|
|
1539
|
+
positionStrategy?: OverlayRuntimePositionStrategy;
|
|
1540
|
+
hasBackdrop?: boolean;
|
|
1541
|
+
modal?: boolean;
|
|
1542
|
+
autoFocus?: OverlayRuntimeAutoFocusTarget | string | false;
|
|
1543
|
+
restoreFocus?: boolean;
|
|
1544
|
+
closeOnEscape?: boolean;
|
|
1545
|
+
closeOnOutsidePointer?: boolean;
|
|
1546
|
+
ariaDescribedBy?: string | null;
|
|
1547
|
+
ariaLabelledBy?: string | null;
|
|
1548
|
+
ariaLabel?: string | null;
|
|
1549
|
+
hostClass?: string[];
|
|
1550
|
+
backdropClass?: string[];
|
|
1551
|
+
paneClass?: string[];
|
|
1552
|
+
inputBindings?: Record<string, unknown>;
|
|
1553
|
+
outputBindings?: Record<string, (event: unknown) => unknown>;
|
|
1554
|
+
animationDelegate?: OverlayRuntimeAnimationDelegate;
|
|
1555
|
+
};
|
|
1556
|
+
|
|
1557
|
+
type OverlayRuntimeState = 'mounting' | 'mounted' | 'closing' | 'closed';
|
|
1558
|
+
declare const createOverlayRuntimeRef: <TComponent extends object, TResult = unknown>(id: string, config: Omit<OverlayRuntimeMountConfig<TComponent>, "component">, elements: OverlayRuntimeElements, requestClose: (result: TResult | undefined, source: OverlayRuntimeCloseSource) => void) => {
|
|
1559
|
+
id: string;
|
|
1560
|
+
config: Omit<OverlayRuntimeMountConfig<TComponent>, "component">;
|
|
1561
|
+
elements: OverlayRuntimeElements;
|
|
1562
|
+
state: _angular_core.Signal<OverlayRuntimeState>;
|
|
1563
|
+
componentInstance: _angular_core.Signal<TComponent | null>;
|
|
1564
|
+
beforeOpenedSubject: Subject<void>;
|
|
1565
|
+
close(result?: TResult, source?: OverlayRuntimeCloseSource): void;
|
|
1566
|
+
beforeOpened(): Observable<void>;
|
|
1567
|
+
afterOpened(): Observable<void>;
|
|
1568
|
+
beforeClosed(): Observable<OverlayRuntimeCloseEvent<TResult>>;
|
|
1569
|
+
afterClosed(): Observable<OverlayRuntimeCloseEvent<TResult>>;
|
|
1570
|
+
attachComponentRef(componentRef: ComponentRef<TComponent>): void;
|
|
1571
|
+
/** @internal */
|
|
1572
|
+
attachPositionUpdater(updater: (strategy: OverlayRuntimePositionStrategy) => void): void;
|
|
1573
|
+
updatePositionStrategy(strategy: OverlayRuntimePositionStrategy): void;
|
|
1574
|
+
markOpened(): void;
|
|
1575
|
+
beginClose(closeEvent: OverlayRuntimeCloseEvent<TResult>): boolean;
|
|
1576
|
+
finishClose(closeEvent: OverlayRuntimeCloseEvent<TResult>): void;
|
|
1577
|
+
};
|
|
1578
|
+
type OverlayRuntimeRef<TComponent extends object = object, TResult = unknown> = ReturnType<typeof createOverlayRuntimeRef<TComponent, TResult>>;
|
|
1579
|
+
|
|
1580
|
+
declare const FOCUSABLE_SELECTOR: string;
|
|
1581
|
+
declare const isHTMLElement: (value: unknown) => value is HTMLElement;
|
|
1582
|
+
declare const isFocusable: (element: HTMLElement, document: Document) => boolean;
|
|
1583
|
+
declare const getFocusableElements: (container: HTMLElement, document: Document) => HTMLElement[];
|
|
1584
|
+
declare const getHeadingElement: (container: HTMLElement) => HTMLElement | null;
|
|
1585
|
+
declare const focusElement: (element: HTMLElement | null) => void;
|
|
1586
|
+
declare const applyInitialFocus: (paneElement: HTMLElement, autoFocus: OverlayRuntimeAutoFocusTarget | string | false, document: Document) => void;
|
|
1587
|
+
declare const setupFocusTrap: (paneElement: HTMLElement, overlayRef: OverlayRuntimeRef<object, unknown>, enabled: boolean, isTopMost: (ref: OverlayRuntimeRef<object, unknown>) => boolean, document: Document) => () => void;
|
|
1588
|
+
|
|
1589
|
+
declare const setBaseElementStyles: (config: OverlayRuntimeMountConfig<object>, hostElement: HTMLElement, paneElement: HTMLElement, renderer: AngularRenderer) => void;
|
|
1590
|
+
declare const setBackdropStyles: (backdropElement: HTMLElement, renderer: AngularRenderer) => void;
|
|
1591
|
+
declare const applyCenteredPosition: (hostElement: HTMLElement, paneElement: HTMLElement, renderer: AngularRenderer, _config: OverlayRuntimeCenteredPosition) => void;
|
|
1592
|
+
declare const applyGlobalPosition: (hostElement: HTMLElement, paneElement: HTMLElement, renderer: AngularRenderer, config: OverlayRuntimeGlobalPosition) => void;
|
|
1593
|
+
/**
|
|
1594
|
+
* Clears every inline style any position strategy kind may have set and
|
|
1595
|
+
* restores the base element styles, so a different strategy can be applied afterwards.
|
|
1596
|
+
*/
|
|
1597
|
+
declare const resetPositioningStyles: (config: OverlayRuntimeMountConfig<object>, hostElement: HTMLElement, paneElement: HTMLElement, renderer: AngularRenderer) => void;
|
|
1598
|
+
declare const createAnchoredPositionCleanup: (strategy: OverlayRuntimeAnchoredPosition, paneElement: HTMLElement, overlayRef: OverlayRuntimeRef<object, unknown>, renderer: AngularRenderer) => () => void;
|
|
1599
|
+
declare const setupPositioning: (config: OverlayRuntimeMountConfig<object>, hostElement: HTMLElement, paneElement: HTMLElement, overlayRef: OverlayRuntimeRef<object, unknown>, renderer: AngularRenderer) => () => void;
|
|
1168
1600
|
|
|
1169
|
-
type
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1601
|
+
type OverlayRuntime = {
|
|
1602
|
+
mount: <TComponent extends object, TResult = unknown>(config: OverlayRuntimeMountConfig<TComponent>) => OverlayRuntimeRef<TComponent, TResult>;
|
|
1603
|
+
openEntries: ReturnType<typeof computed<OverlayRuntimeRef<object, unknown>[]>>;
|
|
1604
|
+
};
|
|
1605
|
+
declare const provideOverlayRuntime: () => _angular_core.Provider[];
|
|
1606
|
+
declare const injectOverlayRuntime: {
|
|
1607
|
+
(): OverlayRuntime;
|
|
1608
|
+
(options: _angular_core.InjectOptions & {
|
|
1609
|
+
optional?: false;
|
|
1610
|
+
}): OverlayRuntime;
|
|
1611
|
+
(options: _angular_core.InjectOptions): OverlayRuntime | null;
|
|
1612
|
+
};
|
|
1613
|
+
|
|
1614
|
+
declare const createComponentId: (prefix: string) => string;
|
|
1615
|
+
|
|
1616
|
+
declare const createDestroy: () => rxjs.Observable<boolean>;
|
|
1617
|
+
|
|
1618
|
+
declare const injectHostElement: <T = HTMLElement>() => T;
|
|
1619
|
+
declare const injectTemplateRef: <C = unknown>() => TemplateRef<C>;
|
|
1620
|
+
type CreateProviderOptions = {
|
|
1180
1621
|
/**
|
|
1181
|
-
*
|
|
1182
|
-
*
|
|
1183
|
-
* - `easeLinear()`
|
|
1184
|
-
* - `easeIn()`
|
|
1185
|
-
* - `easeOut()`
|
|
1186
|
-
* - `easeInOut()`
|
|
1187
|
-
* - `easeElastic()`
|
|
1188
|
-
* - `easeOutBack()`
|
|
1189
|
-
* - `easeOutBackStrong()`
|
|
1190
|
-
* @default easeOut()
|
|
1622
|
+
* Optional name for the provider, useful for debugging.
|
|
1623
|
+
* If not provided, the name will be a generated string.
|
|
1191
1624
|
*/
|
|
1192
|
-
|
|
1625
|
+
name?: string;
|
|
1193
1626
|
/**
|
|
1194
|
-
*
|
|
1195
|
-
* @default (v: number) => Math.round(v)
|
|
1627
|
+
* Optional existing InjectionToken to also provide the created provider under.
|
|
1196
1628
|
*/
|
|
1197
|
-
|
|
1629
|
+
extraInjectionToken?: InjectionToken<unknown>;
|
|
1630
|
+
};
|
|
1631
|
+
type ProviderResult<T> = readonly [
|
|
1632
|
+
provide: () => Provider[],
|
|
1633
|
+
inject: {
|
|
1634
|
+
(): T;
|
|
1635
|
+
(options: InjectOptions & {
|
|
1636
|
+
optional?: false;
|
|
1637
|
+
}): T;
|
|
1638
|
+
(options: InjectOptions): T | null;
|
|
1639
|
+
},
|
|
1640
|
+
token: InjectionToken<T>
|
|
1641
|
+
];
|
|
1642
|
+
type StaticProviderResult<T> = readonly [
|
|
1643
|
+
provide: (valueOverride?: Partial<T>) => Provider[],
|
|
1644
|
+
inject: {
|
|
1645
|
+
(): T;
|
|
1646
|
+
(options: InjectOptions & {
|
|
1647
|
+
optional?: false;
|
|
1648
|
+
}): T;
|
|
1649
|
+
(options: InjectOptions): T | null;
|
|
1650
|
+
},
|
|
1651
|
+
token: InjectionToken<T>
|
|
1652
|
+
];
|
|
1653
|
+
type RootProviderResult<T> = readonly [
|
|
1654
|
+
inject: {
|
|
1655
|
+
(): T;
|
|
1656
|
+
(options: InjectOptions & {
|
|
1657
|
+
optional?: false;
|
|
1658
|
+
}): T;
|
|
1659
|
+
(options: InjectOptions): T | null;
|
|
1660
|
+
},
|
|
1661
|
+
token: InjectionToken<T>
|
|
1662
|
+
];
|
|
1663
|
+
declare const createProvider: <T>(factory: () => T, options?: CreateProviderOptions) => ProviderResult<T>;
|
|
1664
|
+
declare const createRootProvider: <T>(factory: () => T, options?: CreateProviderOptions) => ProviderResult<T>;
|
|
1665
|
+
declare const createStaticProvider: <T>(defaultValue?: T, options?: CreateProviderOptions) => StaticProviderResult<T>;
|
|
1666
|
+
declare const createStaticRootProvider: <T>(defaultValue?: T, options?: CreateProviderOptions) => StaticProviderResult<T>;
|
|
1667
|
+
|
|
1668
|
+
declare const cloneFormGroup: <T extends FormGroup<any>>(formGroup: T) => T;
|
|
1669
|
+
declare const getFormGroupValue: <T extends FormGroup>(formGroup: T) => Record<string, unknown>;
|
|
1670
|
+
|
|
1671
|
+
declare const createRxHostListener: <K extends keyof HTMLElementEventMap>(eventName: K, options?: EventListenerOptions) => rxjs.Observable<HTMLElementEventMap[K]>;
|
|
1672
|
+
declare const applyHostListener: <K extends keyof HTMLElementEventMap>(eventName: K, handler: (event: HTMLElementEventMap[K]) => void, options?: EventListenerOptions) => rxjs.Subscription;
|
|
1673
|
+
declare const applyHostListeners: (listeners: Partial<{ [K in keyof HTMLElementEventMap]: (event: HTMLElementEventMap[K]) => void; }>, options?: EventListenerOptions) => void;
|
|
1674
|
+
|
|
1675
|
+
declare class TypedQueryList<T> extends QueryList<T> {
|
|
1676
|
+
get changes(): Observable<TypedQueryList<T>>;
|
|
1677
|
+
}
|
|
1678
|
+
declare function switchQueryListChanges(): <T extends TypedQueryList<unknown> | null | undefined>(source: Observable<T>) => Observable<T>;
|
|
1679
|
+
|
|
1680
|
+
/**
|
|
1681
|
+
* Sets the value of an input signal.
|
|
1682
|
+
* See issue: https://github.com/angular/angular/issues/54782
|
|
1683
|
+
*/
|
|
1684
|
+
declare const setInputSignal: <T>(input: InputSignal<T> | InputSignalWithTransform<T, unknown>, value: T) => void;
|
|
1685
|
+
|
|
1686
|
+
type NgClassType = string | string[] | Set<string> | {
|
|
1687
|
+
[klass: string]: any;
|
|
1688
|
+
} | null | undefined;
|
|
1689
|
+
|
|
1690
|
+
declare const AT_LEAST_ONE_REQUIRED = "atLeastOneRequired";
|
|
1691
|
+
type ValidateAtLeastOneRequiredConfig = {
|
|
1198
1692
|
/**
|
|
1199
|
-
*
|
|
1693
|
+
* Keys of form controls to validate in the supplied form group
|
|
1200
1694
|
*/
|
|
1201
|
-
|
|
1695
|
+
keys: string[];
|
|
1202
1696
|
/**
|
|
1203
|
-
*
|
|
1697
|
+
* If true, the value `false` will result in a validation error
|
|
1698
|
+
* @default false
|
|
1204
1699
|
*/
|
|
1205
|
-
|
|
1700
|
+
checkFalse?: boolean;
|
|
1701
|
+
};
|
|
1702
|
+
declare const ValidateAtLeastOneRequired: (config: ValidateAtLeastOneRequiredConfig) => ValidatorFn;
|
|
1703
|
+
declare const IS_ARRAY_NOT_EMPTY = "isArrayNotEmpty";
|
|
1704
|
+
declare const IsArrayNotEmpty: (control: AbstractControl) => ValidationErrors | null;
|
|
1705
|
+
declare const IS_EMAIL = "isEmail";
|
|
1706
|
+
declare const IsEmail: (control: AbstractControl) => ValidationErrors | null;
|
|
1707
|
+
declare const MUST_MATCH = "mustMatch";
|
|
1708
|
+
declare const MustMatch: (controlName: string, matchingControlName: string) => (formGroup: AbstractControl) => {
|
|
1709
|
+
mustMatch: boolean;
|
|
1710
|
+
} | null;
|
|
1711
|
+
declare const Validators: {
|
|
1712
|
+
readonly MustMatch: (controlName: string, matchingControlName: string) => (formGroup: AbstractControl) => {
|
|
1713
|
+
mustMatch: boolean;
|
|
1714
|
+
} | null;
|
|
1715
|
+
readonly IsEmail: (control: AbstractControl) => ValidationErrors | null;
|
|
1716
|
+
readonly IsArrayNotEmpty: (control: AbstractControl) => ValidationErrors | null;
|
|
1717
|
+
readonly ValidateAtLeastOneRequired: (config: ValidateAtLeastOneRequiredConfig) => ValidatorFn;
|
|
1718
|
+
};
|
|
1719
|
+
|
|
1720
|
+
declare const clone: <T>(original: T) => T;
|
|
1721
|
+
declare const equal: (foo: any, bar: any) => boolean;
|
|
1722
|
+
|
|
1723
|
+
declare const hasCookie: (name: string) => boolean;
|
|
1724
|
+
declare const getCookie: (name: string) => string | null | undefined;
|
|
1725
|
+
declare const setCookie: (name: string, data: string, expiresInDays?: number | null, domain?: string | null, path?: string, sameSite?: "strict" | "none" | "lax") => void;
|
|
1726
|
+
declare const deleteCookie: (name: string, path?: string, domain?: string | null) => void;
|
|
1727
|
+
declare const getDomain: () => string | null;
|
|
1728
|
+
|
|
1729
|
+
type Translatable = {
|
|
1730
|
+
i18n: string;
|
|
1731
|
+
text: string;
|
|
1732
|
+
};
|
|
1733
|
+
|
|
1734
|
+
declare class KeyPressManager {
|
|
1735
|
+
readonly key: number;
|
|
1736
|
+
private readonly _isKeyPressed$;
|
|
1737
|
+
private readonly _keyPressCount$;
|
|
1738
|
+
private readonly _stopTimeout$;
|
|
1739
|
+
constructor(key: number);
|
|
1740
|
+
isPressed(event: KeyboardEvent): boolean;
|
|
1741
|
+
clear(): void;
|
|
1742
|
+
}
|
|
1743
|
+
|
|
1744
|
+
declare const DISABLE_LOGGER_PARAM = "et-logger-quiet";
|
|
1745
|
+
type CreateLoggerConfig = {
|
|
1746
|
+
scope: string;
|
|
1747
|
+
feature: string;
|
|
1206
1748
|
};
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
*/
|
|
1212
|
-
play: () => AnimatedNumberSignal;
|
|
1213
|
-
/**
|
|
1214
|
-
* Resets the animation to the initial value and stops any ongoing animation.
|
|
1215
|
-
* @returns The animated signal for chaining
|
|
1216
|
-
*/
|
|
1217
|
-
reset: () => AnimatedNumberSignal;
|
|
1218
|
-
/**
|
|
1219
|
-
* Stops the current animation at its current position.
|
|
1220
|
-
* @returns The animated signal for chaining
|
|
1221
|
-
*/
|
|
1222
|
-
stop: () => AnimatedNumberSignal;
|
|
1749
|
+
declare const createLogger: (config: CreateLoggerConfig) => {
|
|
1750
|
+
log: (...args: unknown[]) => void;
|
|
1751
|
+
warn: (...args: unknown[]) => void;
|
|
1752
|
+
error: (...args: unknown[]) => void;
|
|
1223
1753
|
};
|
|
1754
|
+
|
|
1224
1755
|
/**
|
|
1225
|
-
*
|
|
1756
|
+
* Converts a markdown string to HTML.
|
|
1757
|
+
* Covers headings, bold, italic, strikethrough, inline code, fenced code blocks,
|
|
1758
|
+
* links, images, block quotes, unordered/ordered lists, tables, horizontal rules, and paragraphs.
|
|
1226
1759
|
*/
|
|
1227
|
-
declare const
|
|
1228
|
-
declare const easeLinear: (t: number) => number;
|
|
1229
|
-
declare const easeIn: (t: number) => number;
|
|
1230
|
-
declare const easeOut: (t: number) => number;
|
|
1231
|
-
declare const easeInOut: (t: number) => number;
|
|
1232
|
-
/** Elastic easing function (overshoots) */
|
|
1233
|
-
declare const easeElastic: (t: number) => number;
|
|
1234
|
-
/** Back easing function (overshoots slightly then settles) */
|
|
1235
|
-
declare const easeOutBack: (t: number) => number;
|
|
1236
|
-
/** Back easing function with more overshoot */
|
|
1237
|
-
declare const easeOutBackStrong: (t: number) => number;
|
|
1238
|
-
|
|
1239
|
-
type ControlValueSignalOptions = {
|
|
1240
|
-
debounceTime?: number;
|
|
1241
|
-
/**
|
|
1242
|
-
* @default false
|
|
1243
|
-
*/
|
|
1244
|
-
debounceFirst?: boolean;
|
|
1245
|
-
};
|
|
1246
|
-
declare const controlValueSignal: <TControlInput extends Signal<AbstractControl | null> | AbstractControl, TControl extends TControlInput extends Signal<infer TSignalControl> ? TSignalControl : TControlInput>(control: TControlInput, options?: ControlValueSignalOptions) => Signal<ReturnType<NonNullable<TControl>["getRawValue"]> | null>;
|
|
1760
|
+
declare const markdownToHtml: (markdown: string) => string;
|
|
1247
1761
|
/**
|
|
1248
|
-
*
|
|
1762
|
+
* Converts an HTML string to markdown.
|
|
1763
|
+
* Covers headings, bold, italic, strikethrough, inline code, fenced code blocks,
|
|
1764
|
+
* links, images, block quotes, unordered/ordered lists, tables, horizontal rules, and paragraphs.
|
|
1249
1765
|
*/
|
|
1250
|
-
declare const
|
|
1766
|
+
declare const htmlToMarkdown: (html: string) => string;
|
|
1251
1767
|
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
type ElementSignal = Signal<{
|
|
1255
|
-
currentElements: HTMLElement[];
|
|
1256
|
-
previousElements: HTMLElement[];
|
|
1257
|
-
}>;
|
|
1258
|
-
type ElementSignalValue = ReturnType<ElementSignal>;
|
|
1259
|
-
declare const isElementSignal: (el: unknown) => el is ElementSignal;
|
|
1260
|
-
declare const createDocumentElementSignal: () => ElementSignal;
|
|
1261
|
-
declare const createEmptyElementSignal: () => ElementSignal;
|
|
1262
|
-
declare const buildElementSignal: (el: SignalElementBindingType | null | undefined) => ElementSignal;
|
|
1263
|
-
declare const firstElementSignal: (el: ElementSignal) => Signal<{
|
|
1264
|
-
currentElement: HTMLElement | null;
|
|
1265
|
-
previousElement: HTMLElement | null;
|
|
1266
|
-
}>;
|
|
1768
|
+
declare const clamp: (value: number, min?: number, max?: number) => number;
|
|
1769
|
+
declare const round: (value: number, precision?: number) => number;
|
|
1267
1770
|
|
|
1268
|
-
declare const
|
|
1771
|
+
declare const isObject: (value: unknown) => value is Record<string, unknown>;
|
|
1772
|
+
declare const isArray: (value: unknown) => value is unknown[];
|
|
1773
|
+
declare const getObjectProperty: (obj: Record<string, unknown>, prop: string) => unknown;
|
|
1269
1774
|
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
push: (tokens: string, signal: Signal<unknown>) => void;
|
|
1283
|
-
pushMany: (map: Record<string, Signal<unknown>>) => void;
|
|
1284
|
-
};
|
|
1285
|
-
declare const signalClasses: <T extends Record<string, Signal<unknown>>>(el: SignalElementBindingType, classMap: T) => {
|
|
1286
|
-
remove: (tokens: string) => void;
|
|
1287
|
-
removeMany: (tokens: string[]) => void;
|
|
1288
|
-
has: (tokens: string) => boolean;
|
|
1289
|
-
push: (tokens: string, signal: Signal<unknown>) => void;
|
|
1290
|
-
pushMany: (map: Record<string, Signal<unknown>>) => void;
|
|
1291
|
-
};
|
|
1292
|
-
declare const signalHostClasses: <T extends Record<string, Signal<unknown>>>(classMap: T) => {
|
|
1293
|
-
remove: (tokens: string) => void;
|
|
1294
|
-
removeMany: (tokens: string[]) => void;
|
|
1295
|
-
has: (tokens: string) => boolean;
|
|
1296
|
-
push: (tokens: string, signal: Signal<unknown>) => void;
|
|
1297
|
-
pushMany: (map: Record<string, Signal<unknown>>) => void;
|
|
1775
|
+
declare const RUNTIME_ERROR_NO_DATA = "__ET_NO_DATA__";
|
|
1776
|
+
declare class RuntimeError<T extends number> extends Error {
|
|
1777
|
+
code: T;
|
|
1778
|
+
data: unknown;
|
|
1779
|
+
constructor(code: T, message: null | false | string, data?: unknown);
|
|
1780
|
+
}
|
|
1781
|
+
declare function formatRuntimeError<T extends number>(code: T, message: null | false | string): string;
|
|
1782
|
+
|
|
1783
|
+
type CreateSessionMemoryConfig<TValue> = {
|
|
1784
|
+
key: string;
|
|
1785
|
+
parse: (storedValue: string) => TValue | null;
|
|
1786
|
+
serialize: (value: TValue) => string;
|
|
1298
1787
|
};
|
|
1299
|
-
declare const
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1788
|
+
declare const createAutoSessionMemoryKey: ({ element, prefix }: {
|
|
1789
|
+
element: HTMLElement;
|
|
1790
|
+
prefix: string;
|
|
1791
|
+
}) => string;
|
|
1792
|
+
declare const canUseSessionMemory: () => boolean;
|
|
1793
|
+
declare const createSessionMemory: <TValue>({ key, parse, serialize }: CreateSessionMemoryConfig<TValue>) => {
|
|
1794
|
+
read: () => TValue | null;
|
|
1795
|
+
write: (value: TValue) => boolean;
|
|
1796
|
+
remove: () => boolean;
|
|
1797
|
+
};
|
|
1798
|
+
|
|
1799
|
+
type SwipeTracker = {
|
|
1800
|
+
update(event: TouchEvent | MouseEvent): SwipeUpdateEvent;
|
|
1801
|
+
end(): SwipeEndEvent;
|
|
1802
|
+
cancel(): void;
|
|
1803
|
+
};
|
|
1804
|
+
type SwipeEndEvent = {
|
|
1805
|
+
positivePixelPerSecondX: number;
|
|
1806
|
+
positivePixelPerSecondY: number;
|
|
1807
|
+
pixelPerSecondX: number;
|
|
1808
|
+
pixelPerSecondY: number;
|
|
1809
|
+
movementX: number;
|
|
1810
|
+
movementY: number;
|
|
1811
|
+
positiveMovementX: number;
|
|
1812
|
+
positiveMovementY: number;
|
|
1813
|
+
originClientX: number;
|
|
1814
|
+
originClientY: number;
|
|
1815
|
+
};
|
|
1816
|
+
type SwipeUpdateEvent = {
|
|
1817
|
+
originClientX: number;
|
|
1818
|
+
originClientY: number;
|
|
1819
|
+
timestamp: number;
|
|
1820
|
+
movementX: number;
|
|
1821
|
+
movementY: number;
|
|
1822
|
+
positiveMovementX: number;
|
|
1823
|
+
positiveMovementY: number;
|
|
1824
|
+
isScrolling: boolean;
|
|
1825
|
+
isSwiping: boolean;
|
|
1826
|
+
};
|
|
1827
|
+
declare const createSwipeTracker: (startEvent: TouchEvent | MouseEvent) => SwipeTracker;
|
|
1828
|
+
|
|
1829
|
+
declare class NormalizeGameResultTypePipe implements PipeTransform {
|
|
1830
|
+
transform: (type: string | null) => NormalizedGameResultType | null;
|
|
1831
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NormalizeGameResultTypePipe, never>;
|
|
1832
|
+
static ɵpipe: _angular_core.ɵɵPipeDeclaration<NormalizeGameResultTypePipe, "etNormalizeGameResultType", true>;
|
|
1833
|
+
}
|
|
1834
|
+
type NormalizedGameResultType = Translatable & {
|
|
1835
|
+
shortCode: string;
|
|
1305
1836
|
};
|
|
1306
|
-
declare const
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1837
|
+
declare const normalizeGameResultType: (type: string | null) => NormalizedGameResultType | null;
|
|
1838
|
+
|
|
1839
|
+
declare class NormalizeMatchParticipantsPipe implements PipeTransform {
|
|
1840
|
+
transform: (match: MatchListView | null) => NormalizedMatchParticipants | null;
|
|
1841
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NormalizeMatchParticipantsPipe, never>;
|
|
1842
|
+
static ɵpipe: _angular_core.ɵɵPipeDeclaration<NormalizeMatchParticipantsPipe, "etNormalizeMatchParticipants", true>;
|
|
1843
|
+
}
|
|
1844
|
+
type NormalizedMatchParticipants = {
|
|
1845
|
+
home: NormalizedMatchParticipant | null;
|
|
1846
|
+
away: NormalizedMatchParticipant | null;
|
|
1312
1847
|
};
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1848
|
+
type NormalizedParticipantType = 'team' | 'player' | 'unknown';
|
|
1849
|
+
type NormalizedMatchParticipant = ({
|
|
1850
|
+
type: 'tbd';
|
|
1851
|
+
participantType: NormalizedParticipantType;
|
|
1852
|
+
data: ParticipantViewUnion | null;
|
|
1853
|
+
} & Translatable) | {
|
|
1854
|
+
type: 'participant';
|
|
1855
|
+
participantType: NormalizedParticipantType;
|
|
1856
|
+
data: ParticipantViewUnion;
|
|
1857
|
+
} | ({
|
|
1858
|
+
type: 'none';
|
|
1859
|
+
participantType: NormalizedParticipantType;
|
|
1860
|
+
data: ParticipantViewUnion | null;
|
|
1861
|
+
} & Translatable);
|
|
1862
|
+
declare const normalizeMatchParticipants: (match: MatchListView | null) => NormalizedMatchParticipants | null;
|
|
1863
|
+
declare const normalizeMatchParticipant: (match: MatchListView | null, side: "home" | "away") => NormalizedMatchParticipant | null;
|
|
1864
|
+
|
|
1865
|
+
declare class NormalizeMatchScorePipe implements PipeTransform {
|
|
1866
|
+
transform: (match: MatchListView | null | undefined) => NormalizedMatchScore | null;
|
|
1867
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NormalizeMatchScorePipe, never>;
|
|
1868
|
+
static ɵpipe: _angular_core.ɵɵPipeDeclaration<NormalizeMatchScorePipe, "etNormalizeMatchScore", true>;
|
|
1869
|
+
}
|
|
1870
|
+
declare const enum MatchStateType {
|
|
1871
|
+
PREPARING_ROUND = "preparingRound",
|
|
1872
|
+
PRE_MATCH = "preMatch",
|
|
1873
|
+
LIVE = "live",
|
|
1874
|
+
POST_MATCH = "postMatch",
|
|
1875
|
+
AUTO_WIN = "autoWin"
|
|
1876
|
+
}
|
|
1877
|
+
type NormalizedMatchScore = {
|
|
1878
|
+
home: {
|
|
1879
|
+
score: string | number | null;
|
|
1880
|
+
isWinner: boolean;
|
|
1881
|
+
};
|
|
1882
|
+
away: {
|
|
1883
|
+
score: string | number | null;
|
|
1884
|
+
isWinner: boolean;
|
|
1885
|
+
};
|
|
1886
|
+
subLine: string | null;
|
|
1887
|
+
isNumeric: boolean;
|
|
1319
1888
|
};
|
|
1320
|
-
declare const
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1889
|
+
declare const normalizeMatchScore: (match: MatchListView | null | undefined) => NormalizedMatchScore | null;
|
|
1890
|
+
declare const isKnockoutMatch: (match: MatchListView | null | undefined) => boolean;
|
|
1891
|
+
declare const isGroupMatch: (match: MatchListView | null | undefined) => boolean;
|
|
1892
|
+
declare const getKnockoutMatchScore: (score: MatchRankingView | null | undefined) => "match-score.knockout.won" | "match-score.knockout.lost" | "match-score.knockout.tie" | null;
|
|
1893
|
+
declare const getMatchScoreSubLine: (match: MatchListView | null | undefined) => "match-score.groups.sub-line" | null;
|
|
1894
|
+
declare const getGroupMatchScore: (match: MatchListView | null | undefined) => {
|
|
1895
|
+
home: {
|
|
1896
|
+
score: number;
|
|
1897
|
+
isWinner: boolean;
|
|
1898
|
+
};
|
|
1899
|
+
away: {
|
|
1900
|
+
score: number;
|
|
1901
|
+
isWinner: boolean;
|
|
1902
|
+
};
|
|
1903
|
+
} | null;
|
|
1904
|
+
declare const getGroupMatchPoints: (match: MatchListView | null | undefined) => {
|
|
1905
|
+
home: {
|
|
1906
|
+
score: number;
|
|
1907
|
+
isWinner: boolean;
|
|
1908
|
+
};
|
|
1909
|
+
away: {
|
|
1910
|
+
score: number;
|
|
1911
|
+
isWinner: boolean;
|
|
1912
|
+
};
|
|
1913
|
+
} | null;
|
|
1914
|
+
|
|
1915
|
+
declare class NormalizeMatchStatePipe implements PipeTransform {
|
|
1916
|
+
transform: (match: MatchListView | null | undefined) => MatchStateType | null;
|
|
1917
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NormalizeMatchStatePipe, never>;
|
|
1918
|
+
static ɵpipe: _angular_core.ɵɵPipeDeclaration<NormalizeMatchStatePipe, "etNormalizeMatchState", true>;
|
|
1919
|
+
}
|
|
1920
|
+
declare const normalizeMatchState: (match: MatchListView | null | undefined) => MatchStateType | null;
|
|
1921
|
+
|
|
1922
|
+
declare class NormalizeMatchTypePipe implements PipeTransform {
|
|
1923
|
+
transform: (matchType: StageType | null | undefined) => Translatable | null;
|
|
1924
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NormalizeMatchTypePipe, never>;
|
|
1925
|
+
static ɵpipe: _angular_core.ɵɵPipeDeclaration<NormalizeMatchTypePipe, "etNormalizeMatchType", true>;
|
|
1926
|
+
}
|
|
1927
|
+
declare const normalizeMatchType: (matchType: StageType | null | undefined) => Translatable | null;
|
|
1928
|
+
|
|
1929
|
+
declare class HtmlToMarkdownPipe implements PipeTransform {
|
|
1930
|
+
transform: (html: string) => string;
|
|
1931
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<HtmlToMarkdownPipe, never>;
|
|
1932
|
+
static ɵpipe: _angular_core.ɵɵPipeDeclaration<HtmlToMarkdownPipe, "htmlToMarkdown", true>;
|
|
1933
|
+
}
|
|
1934
|
+
|
|
1935
|
+
declare class InferMimeTypePipe implements PipeTransform {
|
|
1936
|
+
transform: (srcset: string) => string | null;
|
|
1937
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<InferMimeTypePipe, never>;
|
|
1938
|
+
static ɵpipe: _angular_core.ɵɵPipeDeclaration<InferMimeTypePipe, "inferMimeType", true>;
|
|
1939
|
+
}
|
|
1940
|
+
/**
|
|
1941
|
+
* Infers the mime type of a given url or srcset.
|
|
1942
|
+
* If a srcset is provided, it will infer the mime type of the first url in the srcset.
|
|
1943
|
+
* 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.
|
|
1944
|
+
*/
|
|
1945
|
+
declare const inferMimeType: (srcset: string) => string | null;
|
|
1946
|
+
|
|
1947
|
+
declare class MarkdownToHtmlPipe implements PipeTransform {
|
|
1948
|
+
transform: (markdown: string) => string;
|
|
1949
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MarkdownToHtmlPipe, never>;
|
|
1950
|
+
static ɵpipe: _angular_core.ɵɵPipeDeclaration<MarkdownToHtmlPipe, "markdownToHtml", true>;
|
|
1951
|
+
}
|
|
1952
|
+
|
|
1953
|
+
declare class ToArrayPipe implements PipeTransform {
|
|
1954
|
+
transform: (value: number) => number[];
|
|
1955
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ToArrayPipe, never>;
|
|
1956
|
+
static ɵpipe: _angular_core.ɵɵPipeDeclaration<ToArrayPipe, "toArray", true>;
|
|
1957
|
+
}
|
|
1958
|
+
declare const toArray: (value: number) => number[];
|
|
1959
|
+
declare const toArrayTrackByFn: TrackByFunction<number>;
|
|
1960
|
+
|
|
1961
|
+
declare const createPropHandlers: () => {
|
|
1962
|
+
classes: {
|
|
1963
|
+
remove: (tokens: string) => void;
|
|
1964
|
+
removeMany: (tokens: string[]) => void;
|
|
1965
|
+
has: (tokens: string) => boolean;
|
|
1966
|
+
push: (tokens: string, signal: _angular_core.Signal<unknown>) => void;
|
|
1967
|
+
pushMany: (map: Record<string, _angular_core.Signal<unknown>>) => void;
|
|
1968
|
+
};
|
|
1969
|
+
attributes: {
|
|
1970
|
+
remove: (tokens: string) => void;
|
|
1971
|
+
removeMany: (tokens: string[]) => void;
|
|
1972
|
+
has: (tokens: string) => boolean;
|
|
1973
|
+
push: (tokens: string, signal: _angular_core.Signal<unknown>) => void;
|
|
1974
|
+
pushMany: (map: Record<string, _angular_core.Signal<unknown>>) => void;
|
|
1975
|
+
};
|
|
1976
|
+
styles: {
|
|
1977
|
+
remove: (tokens: string) => void;
|
|
1978
|
+
removeMany: (tokens: string[]) => void;
|
|
1979
|
+
has: (tokens: string) => boolean;
|
|
1980
|
+
push: (tokens: string, signal: _angular_core.Signal<unknown>) => void;
|
|
1981
|
+
pushMany: (map: Record<string, _angular_core.Signal<unknown>>) => void;
|
|
1982
|
+
};
|
|
1983
|
+
id: string;
|
|
1984
|
+
elementRef: ElementRef<HTMLElement>;
|
|
1326
1985
|
};
|
|
1986
|
+
type PropHandlers = ReturnType<typeof createPropHandlers>;
|
|
1327
1987
|
|
|
1328
|
-
type
|
|
1329
|
-
|
|
1330
|
-
|
|
1988
|
+
type Props = Readonly<{
|
|
1989
|
+
attached: Signal<boolean>;
|
|
1990
|
+
attachedElements: PropsAttachedElements;
|
|
1991
|
+
}>;
|
|
1992
|
+
type PropsAttachedElements = {
|
|
1993
|
+
first: Signal<HTMLElement | null>;
|
|
1994
|
+
firstId: Signal<string | null>;
|
|
1995
|
+
get(id: string): HTMLElement | null;
|
|
1331
1996
|
};
|
|
1332
|
-
type
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
right: number;
|
|
1337
|
-
top: number;
|
|
1338
|
-
width: number;
|
|
1339
|
-
x: number;
|
|
1340
|
-
y: number;
|
|
1997
|
+
type PropsAttachedElementsInternal = PropsAttachedElements & {
|
|
1998
|
+
has: (id: string) => boolean;
|
|
1999
|
+
push: (id: string, element: HTMLElement) => void;
|
|
2000
|
+
remove: (id: string) => void;
|
|
1341
2001
|
};
|
|
1342
|
-
type
|
|
1343
|
-
|
|
1344
|
-
|
|
2002
|
+
type PropsInternal = {
|
|
2003
|
+
single: boolean;
|
|
2004
|
+
name: string;
|
|
2005
|
+
bindId: boolean;
|
|
2006
|
+
attached: Signal<boolean>;
|
|
2007
|
+
attachedElements: PropsAttachedElementsInternal;
|
|
2008
|
+
classBindings: Record<string, Signal<unknown>> | null;
|
|
2009
|
+
attributeBindings: Record<string, Signal<unknown>> | null;
|
|
2010
|
+
styleBindings: Record<string, Signal<unknown>> | null;
|
|
2011
|
+
staticClassBindings: string[] | null;
|
|
2012
|
+
staticAttributeBindings: Record<string, unknown> | null;
|
|
2013
|
+
staticStyleBindings: Record<string, unknown> | null;
|
|
2014
|
+
attachEventListeners: ((context: {
|
|
2015
|
+
on: HTMLElement['addEventListener'];
|
|
2016
|
+
element: HTMLElement;
|
|
2017
|
+
}) => void) | null;
|
|
1345
2018
|
};
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
2019
|
+
type CreatePropsOptions = {
|
|
2020
|
+
name: string;
|
|
2021
|
+
bindId?: boolean;
|
|
2022
|
+
single?: boolean;
|
|
2023
|
+
classes?: Record<string, Signal<unknown>>;
|
|
2024
|
+
attributes?: Record<string, Signal<unknown>>;
|
|
2025
|
+
styles?: Record<string, Signal<unknown>>;
|
|
2026
|
+
staticClasses?: string[];
|
|
2027
|
+
staticAttributes?: Record<string, unknown>;
|
|
2028
|
+
staticStyles?: Record<string, unknown>;
|
|
2029
|
+
listeners?: (context: {
|
|
2030
|
+
on: HTMLElement['addEventListener'];
|
|
2031
|
+
element: HTMLElement;
|
|
2032
|
+
}) => void;
|
|
1353
2033
|
};
|
|
1354
|
-
|
|
1355
|
-
|
|
2034
|
+
declare const createProps: (props: CreatePropsOptions) => Props;
|
|
2035
|
+
type HostProps = {
|
|
2036
|
+
props: Props;
|
|
2037
|
+
handlers: PropHandlers;
|
|
1356
2038
|
};
|
|
1357
|
-
declare const
|
|
1358
|
-
declare const signalHostElementDimensions: () => _angular_core.Signal<NullableElementDimensions>;
|
|
2039
|
+
declare const createHostProps: (props: CreatePropsOptions) => HostProps;
|
|
1359
2040
|
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
};
|
|
1364
|
-
type IntersectionObserverEntryWithDetails = IntersectionObserverEntry & {
|
|
1365
|
-
isAbove: boolean;
|
|
1366
|
-
isBelow: boolean;
|
|
1367
|
-
isLeft: boolean;
|
|
1368
|
-
isRight: boolean;
|
|
1369
|
-
isVisible: boolean;
|
|
1370
|
-
};
|
|
1371
|
-
declare const signalElementIntersection: (el: SignalElementBindingType, options?: SignalElementIntersectionOptions) => Signal<IntersectionObserverEntryWithDetails[]>;
|
|
1372
|
-
declare const signalHostElementIntersection: (options?: SignalElementIntersectionOptions) => Signal<IntersectionObserverEntryWithDetails[]>;
|
|
2041
|
+
declare const createSetup: <T extends Record<string, unknown>>(config: {
|
|
2042
|
+
setupFn: (params: T) => void;
|
|
2043
|
+
this: ThisType<unknown>;
|
|
2044
|
+
}) => (params: T) => void;
|
|
1373
2045
|
|
|
1374
|
-
declare const
|
|
1375
|
-
|
|
2046
|
+
declare const createDependencyStash: <T extends Record<string, WritableSignal<unknown>>>(stash: T) => T & {
|
|
2047
|
+
provideSignal: <K extends keyof T>(data: {
|
|
2048
|
+
signal: Signal<ReturnType<T[K]>>;
|
|
2049
|
+
for: K;
|
|
2050
|
+
}) => void;
|
|
2051
|
+
provideValue: <K extends keyof T>(data: {
|
|
2052
|
+
value: ReturnType<T[K]>;
|
|
2053
|
+
for: K;
|
|
2054
|
+
}) => void;
|
|
2055
|
+
};
|
|
1376
2056
|
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
2057
|
+
declare const createElementDictionary: () => {
|
|
2058
|
+
ids: _angular_core.Signal<string[]>;
|
|
2059
|
+
elements: _angular_core.Signal<HTMLElement[]>;
|
|
2060
|
+
has: (id: string) => boolean;
|
|
2061
|
+
get: (id: string) => HTMLElement | null;
|
|
2062
|
+
push: (id: string, element: HTMLElement) => void;
|
|
2063
|
+
remove: (id: string) => void;
|
|
2064
|
+
isEmpty: _angular_core.Signal<boolean>;
|
|
2065
|
+
firstElement: _angular_core.Signal<HTMLElement | null>;
|
|
2066
|
+
firstId: _angular_core.Signal<string | null>;
|
|
1381
2067
|
};
|
|
1382
|
-
declare const signalElementLastScrollDirection: (el: SignalElementBindingType) => _angular_core.Signal<ElementLastScrollDirection | null>;
|
|
1383
|
-
declare const signalHostElementLastScrollDirection: () => _angular_core.Signal<ElementLastScrollDirection | null>;
|
|
1384
2068
|
|
|
1385
|
-
type
|
|
1386
|
-
|
|
1387
|
-
|
|
2069
|
+
type BindPropsOptions = {
|
|
2070
|
+
props: Props | PropsInternal;
|
|
2071
|
+
handlers: PropHandlers;
|
|
1388
2072
|
};
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
elementDimensions: NullableElementDimensions;
|
|
2073
|
+
declare const bindProps: (config: BindPropsOptions) => void;
|
|
2074
|
+
type UnbindPropsOptions = {
|
|
2075
|
+
props: Props | PropsInternal;
|
|
2076
|
+
handlers: PropHandlers;
|
|
1394
2077
|
};
|
|
1395
|
-
declare const
|
|
1396
|
-
declare const signalElementScrollState: (el: SignalElementBindingType, options?: SignalElementScrollStateOptions) => Signal<ElementScrollState>;
|
|
1397
|
-
declare const signalHostElementScrollState: () => Signal<ElementScrollState>;
|
|
1398
|
-
|
|
1399
|
-
/** Inject a signal containing a boolean value indicating if the viewport is xs */
|
|
1400
|
-
declare const injectIsXs: () => _angular_core.Signal<boolean>;
|
|
1401
|
-
/** Inject a signal containing a boolean value indicating if the viewport is sm */
|
|
1402
|
-
declare const injectIsSm: () => _angular_core.Signal<boolean>;
|
|
1403
|
-
/** Inject a signal containing a boolean value indicating if the viewport is md */
|
|
1404
|
-
declare const injectIsMd: () => _angular_core.Signal<boolean>;
|
|
1405
|
-
/** Inject a signal containing a boolean value indicating if the viewport is lg */
|
|
1406
|
-
declare const injectIsLg: () => _angular_core.Signal<boolean>;
|
|
1407
|
-
/** Inject a signal containing a boolean value indicating if the viewport is xl */
|
|
1408
|
-
declare const injectIsXl: () => _angular_core.Signal<boolean>;
|
|
1409
|
-
/** Inject a signal containing a boolean value indicating if the viewport is 2xl */
|
|
1410
|
-
declare const injectIs2Xl: () => _angular_core.Signal<boolean>;
|
|
1411
|
-
/**
|
|
1412
|
-
* Inject a boolean value indicating if the viewport is matching the provided options.
|
|
1413
|
-
* This value is not reactive. If you want to react to changes, use the {@link injectObserveBreakpoint} function instead.
|
|
1414
|
-
*/
|
|
1415
|
-
declare const injectBreakpointIsMatched: (options: BuildMediaQueryOptions) => boolean;
|
|
1416
|
-
/**
|
|
1417
|
-
* Inject a boolean value indicating if the media query is matched.
|
|
1418
|
-
* This value is not reactive. If you want to react to changes, use the {@link injectObserveMediaQuery} function instead.
|
|
1419
|
-
*/
|
|
1420
|
-
declare const injectMediaQueryIsMatched: (mediaQuery: string) => boolean;
|
|
1421
|
-
/**
|
|
1422
|
-
* Inject a signal containing a boolean value indicating if the viewport is matching the provided options.
|
|
1423
|
-
*/
|
|
1424
|
-
declare const injectObserveBreakpoint: (options: BuildMediaQueryOptions) => _angular_core.Signal<boolean>;
|
|
1425
|
-
/**
|
|
1426
|
-
* Inject a signal containing a boolean value indicating if the media query is matched.
|
|
1427
|
-
*/
|
|
1428
|
-
declare const injectObserveMediaQuery: (mediaQuery: string) => _angular_core.Signal<boolean>;
|
|
1429
|
-
/** Inject a signal containing the current breakpoint. */
|
|
1430
|
-
declare const injectCurrentBreakpoint: () => _angular_core.Signal<"xs" | "sm" | "md" | "lg" | "xl" | "2xl">;
|
|
1431
|
-
/** Inject a signal that indicates if the user is using a portrait display */
|
|
1432
|
-
declare const injectIsPortrait: () => _angular_core.Signal<boolean>;
|
|
1433
|
-
/** Inject a signal that indicates if the user is using a landscape display */
|
|
1434
|
-
declare const injectIsLandscape: () => _angular_core.Signal<boolean>;
|
|
1435
|
-
/** Inject a signal containing the current display orientation */
|
|
1436
|
-
declare const injectDisplayOrientation: () => _angular_core.Signal<"portrait" | "landscape">;
|
|
1437
|
-
/** Inject a signal that indicates if the device has a touch input */
|
|
1438
|
-
declare const injectHasTouchInput: () => _angular_core.Signal<boolean>;
|
|
1439
|
-
/** Inject a signal that indicates if the device has a fine input (mouse or stylus) */
|
|
1440
|
-
declare const injectHasPrecisionInput: () => _angular_core.Signal<boolean>;
|
|
1441
|
-
/** Inject a signal containing the current device input type */
|
|
1442
|
-
declare const injectDeviceInputType: () => _angular_core.Signal<"touch" | "mouse">;
|
|
1443
|
-
/** Inject a signal containing a boolean value indicating if the user can hover (eg. using a mouse) */
|
|
1444
|
-
declare const injectCanHover: () => _angular_core.Signal<boolean>;
|
|
1445
|
-
/** Inject a signal containing the viewport dimensions */
|
|
1446
|
-
declare const injectViewportDimensions: () => _angular_core.Signal<_ethlete_core.NullableElementDimensions>;
|
|
1447
|
-
/** Inject a signal containing the scrollbar dimensions. Dimensions will be 0 if scrollbars overlap the page contents (like on mobile). */
|
|
1448
|
-
declare const injectScrollbarDimensions: () => _angular_core.Signal<{
|
|
1449
|
-
width: number;
|
|
1450
|
-
height: number;
|
|
1451
|
-
} | null>;
|
|
2078
|
+
declare const unbindProps: (config: UnbindPropsOptions) => void;
|
|
1452
2079
|
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
2080
|
+
declare class PropsDirective {
|
|
2081
|
+
destroyRef: DestroyRef;
|
|
2082
|
+
props: _angular_core.InputSignalWithTransform<PropsInternal, Readonly<{
|
|
2083
|
+
attached: _angular_core.Signal<boolean>;
|
|
2084
|
+
attachedElements: _ethlete_core.PropsAttachedElements;
|
|
2085
|
+
}>>;
|
|
2086
|
+
propHandlers: {
|
|
2087
|
+
classes: {
|
|
2088
|
+
remove: (tokens: string) => void;
|
|
2089
|
+
removeMany: (tokens: string[]) => void;
|
|
2090
|
+
has: (tokens: string) => boolean;
|
|
2091
|
+
push: (tokens: string, signal: _angular_core.Signal<unknown>) => void;
|
|
2092
|
+
pushMany: (map: Record<string, _angular_core.Signal<unknown>>) => void;
|
|
2093
|
+
};
|
|
2094
|
+
attributes: {
|
|
2095
|
+
remove: (tokens: string) => void;
|
|
2096
|
+
removeMany: (tokens: string[]) => void;
|
|
2097
|
+
has: (tokens: string) => boolean;
|
|
2098
|
+
push: (tokens: string, signal: _angular_core.Signal<unknown>) => void;
|
|
2099
|
+
pushMany: (map: Record<string, _angular_core.Signal<unknown>>) => void;
|
|
2100
|
+
};
|
|
2101
|
+
styles: {
|
|
2102
|
+
remove: (tokens: string) => void;
|
|
2103
|
+
removeMany: (tokens: string[]) => void;
|
|
2104
|
+
has: (tokens: string) => boolean;
|
|
2105
|
+
push: (tokens: string, signal: _angular_core.Signal<unknown>) => void;
|
|
2106
|
+
pushMany: (map: Record<string, _angular_core.Signal<unknown>>) => void;
|
|
2107
|
+
};
|
|
2108
|
+
id: string;
|
|
2109
|
+
elementRef: _angular_core.ElementRef<HTMLElement>;
|
|
2110
|
+
};
|
|
2111
|
+
constructor();
|
|
2112
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PropsDirective, never>;
|
|
2113
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<PropsDirective, "[etProps]", never, { "props": { "alias": "etProps"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2114
|
+
}
|
|
1465
2115
|
|
|
1466
|
-
type
|
|
1467
|
-
type
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
allowedDirection?: MaybeSignal<CursorDragScrollDirection>;
|
|
2116
|
+
type AnyTemplateType = string | TemplateRef<unknown> | ComponentType<unknown> | TemplateRefWithContext | ComponentTypeWithInputs;
|
|
2117
|
+
type TemplateRefWithContext<T = Record<string, unknown> | undefined, J = unknown> = {
|
|
2118
|
+
template: TemplateRef<J>;
|
|
2119
|
+
context?: T;
|
|
2120
|
+
injector?: Injector;
|
|
1472
2121
|
};
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
2122
|
+
type ComponentTypeWithInputs<T = Record<string, unknown> | undefined, J = unknown> = {
|
|
2123
|
+
component: ComponentType<J>;
|
|
2124
|
+
inputs?: T;
|
|
2125
|
+
injector?: Injector;
|
|
2126
|
+
};
|
|
2127
|
+
type StringTemplate = {
|
|
2128
|
+
type: 'string';
|
|
2129
|
+
value: string;
|
|
2130
|
+
};
|
|
2131
|
+
type NgTemplateTemplate = {
|
|
2132
|
+
type: 'template';
|
|
2133
|
+
value: TemplateRef<unknown>;
|
|
2134
|
+
context?: Record<string, unknown>;
|
|
2135
|
+
injector: Injector | null;
|
|
2136
|
+
};
|
|
2137
|
+
type ComponentTemplate = {
|
|
2138
|
+
type: 'component';
|
|
2139
|
+
value: ComponentType<unknown>;
|
|
2140
|
+
inputs?: Record<string, unknown>;
|
|
2141
|
+
injector: Injector | null;
|
|
1480
2142
|
};
|
|
2143
|
+
declare const templateComputed: (templateSignal: Signal<AnyTemplateType | null>) => Signal<StringTemplate | NgTemplateTemplate | ComponentTemplate | null>;
|
|
1481
2144
|
|
|
1482
|
-
type
|
|
2145
|
+
type ResizeEdge = 'n' | 's' | 'e' | 'w' | 'ne' | 'nw' | 'se' | 'sw';
|
|
2146
|
+
type ResizeMoveEvent = {
|
|
2147
|
+
edge: ResizeEdge;
|
|
2148
|
+
dx: number;
|
|
2149
|
+
dy: number;
|
|
2150
|
+
};
|
|
2151
|
+
declare class ResizeHandlesComponent {
|
|
2152
|
+
edges: _angular_core.InputSignal<ResizeEdge[]>;
|
|
2153
|
+
disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
2154
|
+
private gestureStart$;
|
|
2155
|
+
private gesture$;
|
|
2156
|
+
resizeStarted: _angular_core.OutputRef<ResizeEdge>;
|
|
2157
|
+
resizeMoved: _angular_core.OutputRef<ResizeMoveEvent>;
|
|
2158
|
+
resizeEnded: _angular_core.OutputRef<void>;
|
|
2159
|
+
isResizing: _angular_core.Signal<boolean>;
|
|
2160
|
+
activeEdge: _angular_core.Signal<ResizeEdge | null>;
|
|
2161
|
+
readonly edgeCursors: Record<ResizeEdge, string>;
|
|
2162
|
+
startResizeGesture(event: PointerEvent, edge: ResizeEdge): void;
|
|
2163
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ResizeHandlesComponent, never>;
|
|
2164
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ResizeHandlesComponent, "et-resize-handles", never, { "edges": { "alias": "edges"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "resizeStarted": "resizeStarted"; "resizeMoved": "resizeMoved"; "resizeEnded": "resizeEnded"; }, never, never, true, never>;
|
|
2165
|
+
}
|
|
2166
|
+
|
|
2167
|
+
declare const elementCanScroll: (element?: HTMLElement | null, direction?: "x" | "y") => boolean;
|
|
2168
|
+
type IsElementVisibleOptions = {
|
|
1483
2169
|
/**
|
|
1484
|
-
* The
|
|
1485
|
-
* @default document.documentElement
|
|
2170
|
+
* The element to check if it is visible inside a container.
|
|
1486
2171
|
*/
|
|
1487
|
-
|
|
2172
|
+
element?: HTMLElement | null;
|
|
1488
2173
|
/**
|
|
1489
|
-
*
|
|
1490
|
-
*
|
|
1491
|
-
* @
|
|
2174
|
+
* The container to check if the element is visible inside.
|
|
2175
|
+
* If null or undefined, uses the viewport as the container.
|
|
2176
|
+
* @default null (viewport)
|
|
1492
2177
|
*/
|
|
1493
|
-
|
|
2178
|
+
container?: HTMLElement | null;
|
|
1494
2179
|
/**
|
|
1495
|
-
*
|
|
2180
|
+
* The container's rect to check if the element is visible inside. Can be supplied to reduce the amount of DOM reads.
|
|
2181
|
+
* Only used when container is provided and not null.
|
|
2182
|
+
* @default container.getBoundingClientRect()
|
|
1496
2183
|
*/
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
|
|
1503
|
-
/**
|
|
1504
|
-
* Whether to use smooth scrolling or not.
|
|
1505
|
-
* @default false
|
|
1506
|
-
*/
|
|
1507
|
-
smooth?: boolean;
|
|
1508
|
-
};
|
|
2184
|
+
containerRect?: DOMRect | null;
|
|
2185
|
+
/**
|
|
2186
|
+
* The element's rect. Can be supplied to reduce the amount of DOM reads.
|
|
2187
|
+
* @default element.getBoundingClientRect()
|
|
2188
|
+
*/
|
|
2189
|
+
elementRect?: DOMRect | null;
|
|
1509
2190
|
};
|
|
1510
|
-
|
|
1511
|
-
declare const ET_DISABLE_SCROLL_TOP_AS_RETURN_ROUTE: unique symbol;
|
|
1512
|
-
declare const ET_DISABLE_SCROLL_TOP_ON_PATH_PARAM_CHANGE: unique symbol;
|
|
1513
|
-
type RouterDisableScrollTopConfig = {
|
|
2191
|
+
type CurrentElementVisibility = {
|
|
1514
2192
|
/**
|
|
1515
|
-
* Whether
|
|
1516
|
-
* @default false
|
|
2193
|
+
* Whether the element is visible in the inline direction.
|
|
1517
2194
|
*/
|
|
1518
|
-
|
|
2195
|
+
inline: boolean;
|
|
1519
2196
|
/**
|
|
1520
|
-
* Whether
|
|
1521
|
-
* @default false
|
|
2197
|
+
* Whether the element is visible in the block direction.
|
|
1522
2198
|
*/
|
|
1523
|
-
|
|
1524
|
-
};
|
|
1525
|
-
declare const routerDisableScrollTop: (config?: RouterDisableScrollTopConfig) => {
|
|
1526
|
-
[ET_DISABLE_SCROLL_TOP_ON_PATH_PARAM_CHANGE]?: boolean | undefined;
|
|
1527
|
-
[ET_DISABLE_SCROLL_TOP]: boolean;
|
|
1528
|
-
} | {
|
|
1529
|
-
[ET_DISABLE_SCROLL_TOP_ON_PATH_PARAM_CHANGE]?: boolean | undefined;
|
|
1530
|
-
[ET_DISABLE_SCROLL_TOP_AS_RETURN_ROUTE]: boolean;
|
|
1531
|
-
};
|
|
1532
|
-
declare const setupScrollRestoration: (config?: SetupScrollRestorationConfig) => void;
|
|
1533
|
-
|
|
1534
|
-
declare const signalIsRendered: () => _angular_core.Signal<boolean>;
|
|
1535
|
-
declare const createIsRenderedSignal: () => {
|
|
1536
|
-
state: _angular_core.WritableSignal<boolean>;
|
|
1537
|
-
bind: () => _angular_core.EffectRef;
|
|
1538
|
-
};
|
|
1539
|
-
declare const createCanAnimateSignal: () => {
|
|
1540
|
-
state: _angular_core.Signal<boolean>;
|
|
1541
|
-
};
|
|
1542
|
-
|
|
1543
|
-
type RouterState = {
|
|
1544
|
-
data: Data;
|
|
1545
|
-
pathParams: Params;
|
|
1546
|
-
queryParams: Params;
|
|
1547
|
-
title: string | null;
|
|
1548
|
-
fragment: string | null;
|
|
1549
|
-
};
|
|
1550
|
-
declare const ET_PROPERTY_REMOVED: unique symbol;
|
|
1551
|
-
type InjectUtilConfig = {
|
|
1552
|
-
/** The injector to use for the injection. Must be provided if the function is not called from within a injection context. */
|
|
1553
|
-
injector?: Injector;
|
|
1554
|
-
};
|
|
1555
|
-
type InjectUtilTransformConfig<In, Out> = {
|
|
2199
|
+
block: boolean;
|
|
1556
2200
|
/**
|
|
1557
|
-
*
|
|
1558
|
-
* Can be used to transform the value before it is returned.
|
|
1559
|
-
* E.g. transforming `"true"` to `true` for a boolean attribute.
|
|
2201
|
+
* The percentage of the element that is visible in the inline direction.
|
|
1560
2202
|
*/
|
|
1561
|
-
|
|
2203
|
+
inlineIntersection: number;
|
|
2204
|
+
/**
|
|
2205
|
+
* The percentage of the element that is visible in the block direction.
|
|
2206
|
+
*/
|
|
2207
|
+
blockIntersection: number;
|
|
2208
|
+
/**
|
|
2209
|
+
* Whether the element is intersecting the container.
|
|
2210
|
+
*/
|
|
2211
|
+
isIntersecting: boolean;
|
|
2212
|
+
/**
|
|
2213
|
+
* The ratio of the element that is intersecting the container.
|
|
2214
|
+
*/
|
|
2215
|
+
intersectionRatio: number;
|
|
2216
|
+
/**
|
|
2217
|
+
* The element that is being checked for visibility.
|
|
2218
|
+
*/
|
|
2219
|
+
element: HTMLElement;
|
|
2220
|
+
/**
|
|
2221
|
+
* The container's rect used for the calculation.
|
|
2222
|
+
*/
|
|
2223
|
+
containerRect: DOMRect;
|
|
2224
|
+
/**
|
|
2225
|
+
* The element's rect used for the calculation.
|
|
2226
|
+
*/
|
|
2227
|
+
elementRect: DOMRect;
|
|
1562
2228
|
};
|
|
1563
|
-
declare const
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
/**
|
|
1567
|
-
* Signal that indicates whether the router has been initialized.
|
|
1568
|
-
* The router is considered initialized once the first NavigationEnd event with an id different than -1 has been emitted.
|
|
1569
|
-
*/
|
|
1570
|
-
declare const injectIsRouterInitialized: () => Signal<boolean>;
|
|
1571
|
-
/**
|
|
1572
|
-
* Inject the current url.
|
|
1573
|
-
* The url includes query params as well as the fragment. Use `injectRoute` instead if you are not intrusted in those.
|
|
1574
|
-
* @example "/my-page?query=1¶m=true#fragment"
|
|
1575
|
-
*/
|
|
1576
|
-
declare const injectUrl: () => Signal<string>;
|
|
1577
|
-
/**
|
|
1578
|
-
* Inject the current route
|
|
1579
|
-
* @example "/my-page"
|
|
1580
|
-
*/
|
|
1581
|
-
declare const injectRoute: () => Signal<string>;
|
|
1582
|
-
/**
|
|
1583
|
-
* Inject the complete router state. This includes the current route data, path params, query params, title and fragment.
|
|
1584
|
-
*/
|
|
1585
|
-
declare const injectRouterState: () => Signal<RouterState>;
|
|
1586
|
-
/** Inject a signal containing the current route fragment (the part after the # inside the url if present) */
|
|
1587
|
-
declare const injectFragment: <T = string | null>(config?: InjectUtilConfig & InjectUtilTransformConfig<string | null, T>) => Signal<T>;
|
|
1588
|
-
/** Inject all currently available query parameters as a signal */
|
|
1589
|
-
declare const injectQueryParams: () => Signal<Params>;
|
|
1590
|
-
/** Inject all currently available route data as a signal */
|
|
1591
|
-
declare const injectRouteData: () => Signal<Data>;
|
|
1592
|
-
/** Inject the current route title as a signal */
|
|
1593
|
-
declare const injectRouteTitle: <T = string | null>(config?: InjectUtilTransformConfig<string | null, T>) => Signal<T>;
|
|
1594
|
-
/** Inject all currently available path parameters as a signal */
|
|
1595
|
-
declare const injectPathParams: () => Signal<Params>;
|
|
1596
|
-
type InjectQueryParamConfig<T> = InjectUtilTransformConfig<string | null, T> & {
|
|
2229
|
+
declare const isElementVisible: (options: IsElementVisibleOptions) => CurrentElementVisibility | null;
|
|
2230
|
+
declare const getElementScrollCoordinates: (options: ScrollToElementOptions) => ScrollToOptions;
|
|
2231
|
+
type ScrollToElementOptions = {
|
|
1597
2232
|
/**
|
|
1598
|
-
*
|
|
1599
|
-
* Note that this will not work with arrays or complex objects.
|
|
2233
|
+
* The element to scroll to.
|
|
1600
2234
|
*/
|
|
1601
|
-
|
|
2235
|
+
element?: HTMLElement | null;
|
|
2236
|
+
/**
|
|
2237
|
+
* The scroll container to scroll to the element in.
|
|
2238
|
+
* Must be provided - cannot scroll the viewport programmatically with this function.
|
|
2239
|
+
*/
|
|
2240
|
+
container?: HTMLElement | null;
|
|
2241
|
+
/**
|
|
2242
|
+
* The direction to scroll in.
|
|
2243
|
+
* @default 'both'
|
|
2244
|
+
*/
|
|
2245
|
+
direction?: 'inline' | 'block' | 'both';
|
|
2246
|
+
/**
|
|
2247
|
+
* The origin of the element to scroll to.
|
|
2248
|
+
* @default 'nearest'
|
|
2249
|
+
*/
|
|
2250
|
+
origin?: 'start' | 'end' | 'center' | 'nearest';
|
|
2251
|
+
/**
|
|
2252
|
+
* The scroll behavior.
|
|
2253
|
+
* @default 'smooth'
|
|
2254
|
+
*/
|
|
2255
|
+
behavior?: ScrollBehavior;
|
|
2256
|
+
/**
|
|
2257
|
+
* The scroll inline-margin
|
|
2258
|
+
* @default 0
|
|
2259
|
+
*/
|
|
2260
|
+
scrollInlineMargin?: number;
|
|
2261
|
+
/**
|
|
2262
|
+
* The scroll block-margin
|
|
2263
|
+
* @default 0
|
|
2264
|
+
*/
|
|
2265
|
+
scrollBlockMargin?: number;
|
|
1602
2266
|
};
|
|
1603
|
-
|
|
1604
|
-
|
|
1605
|
-
|
|
1606
|
-
|
|
1607
|
-
/**
|
|
1608
|
-
|
|
1609
|
-
/**
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
2267
|
+
declare const scrollToElement: (options: ScrollToElementOptions) => void;
|
|
2268
|
+
|
|
2269
|
+
type ScrollSnapOrigin = 'auto' | 'start' | 'center' | 'end';
|
|
2270
|
+
type ScrollSnapTarget = {
|
|
2271
|
+
/** The element to snap to. */
|
|
2272
|
+
element: HTMLElement;
|
|
2273
|
+
/** The resolved alignment to use when scrolling to the element. */
|
|
2274
|
+
origin: 'start' | 'center' | 'end';
|
|
2275
|
+
} | null;
|
|
2276
|
+
declare const getScrollSnapTarget: (items: HTMLElement[], container: HTMLElement, direction: "horizontal" | "vertical", origin: ScrollSnapOrigin, margin?: number) => ScrollSnapTarget;
|
|
2277
|
+
type ScrollContainerTarget = {
|
|
2278
|
+
element: HTMLElement;
|
|
2279
|
+
origin: 'start' | 'end';
|
|
2280
|
+
} | null;
|
|
2281
|
+
declare const getScrollContainerTarget: (entries: IntersectionObserverEntry[], direction: "start" | "end") => ScrollContainerTarget;
|
|
2282
|
+
type ScrollItemTarget = {
|
|
2283
|
+
element: HTMLElement;
|
|
2284
|
+
index: number;
|
|
2285
|
+
origin: 'start' | 'end' | 'center';
|
|
2286
|
+
} | null;
|
|
2287
|
+
declare const getScrollItemTarget: (entries: IntersectionObserverEntry[], container: HTMLElement, direction: "start" | "end", scrollOrigin: "auto" | "center" | "start" | "end", axisDirection: "horizontal" | "vertical") => ScrollItemTarget;
|
|
1619
2288
|
|
|
1620
2289
|
type HeadBinding<T> = {
|
|
1621
2290
|
id: symbol;
|
|
@@ -2163,5 +2832,5 @@ declare const injectTitleStore: {
|
|
|
2163
2832
|
};
|
|
2164
2833
|
declare const applyHeadTitleBinding: (binding: MaybeSignal<string | number | null | undefined>, options?: Omit<TitlePart, "text">) => void;
|
|
2165
2834
|
|
|
2166
|
-
export { ANIMATABLE_TOKEN, ANIMATED_IF_TOKEN, ANIMATED_LIFECYCLE_TOKEN, AT_LEAST_ONE_REQUIRED, AnimatableDirective, AnimatedIfDirective, AnimatedLifecycleDirective, AnimatedOverlayDirective, BOUNDARY_ELEMENT_TOKEN, ClickOutsideDirective, DEFAULT_MULTI_INSTANCE_RELS, DEFAULT_MULTI_INSTANCE_TAGS, DEFAULT_VIEWPORT_CONFIG, DISABLE_LOGGER_PARAM, ET_DISABLE_SCROLL_TOP, ET_DISABLE_SCROLL_TOP_AS_RETURN_ROUTE, ET_DISABLE_SCROLL_TOP_ON_PATH_PARAM_CHANGE, ET_PROPERTY_REMOVED, FOCUS_VISIBLE_TRACKER_TOKEN, IS_ARRAY_NOT_EMPTY, IS_EMAIL, InferMimeTypePipe, IsArrayNotEmpty, IsEmail, jsonLd_d as JsonLD, KeyPressManager, MUST_MATCH, MatchStateType, MustMatch, NormalizeGameResultTypePipe, NormalizeMatchParticipantsPipe, NormalizeMatchScorePipe, NormalizeMatchStatePipe, NormalizeMatchTypePipe, PropsDirective,
|
|
2167
|
-
export type { AlternateLanguagesConfig, AlternateLink, AngularRenderer, AnimatedLifecycleState, AnimatedNumberSignal, AnimatedOverlayComponentBase, AnimatedOverlayMountConfig, AnimatedOverlayState, AnimationEndEvent, AnyTemplateType, ArticleConfig, BindPropsOptions, Breakpoint, BuildMediaQueryOptions, BuildSignalEffectsConfig, ComponentTemplate, ComponentTypeWithInputs, ControlValueSignalOptions, CreateLoggerConfig, CreatePropsOptions, CreateProviderOptions, CurrentElementVisibility, CursorDragScrollDirection, CursorDragScrollOptions, ElementDimensions, ElementLastScrollDirection, ElementLastScrollDirectionType, ElementRect, ElementScrollState, ElementSignal, ElementSignalValue, ElementSize, FacebookCard, FlipAnimationConfig, HeadBinding, HostProps, InjectQueryParamConfig, InjectUtilConfig, InjectUtilTransformConfig, IntersectionObserverEntryWithDetails, IsElementVisibleOptions, LinkConfig, LinkStoreConfig, LogicalSize, MaybeObservable, MaybeSignal, MetaConfig, MetaTagConfig, NgClassType, NgTemplateTemplate, NormalizedGameResultType, NormalizedMatchParticipant, NormalizedMatchParticipants, NormalizedMatchScore, NullableElementDimensions, OnThemeColorMap, OpenGraph, OpenGraphConfig, PropHandlers, Props, PropsAttachedElements, PropsAttachedElementsInternal, PropsInternal, ProviderResult, ResourceHintsConfig, RobotsConfig, RootProviderResult, RouterDisableScrollTopConfig, RouterState, ScrollToElementOptions, SeoConfig, SetupScrollRestorationConfig, SignalAnimatedNumberOptions, SignalElementBindingComplexType, SignalElementBindingType, SignalElementIntersectionOptions, SignalElementScrollStateOptions, SocialMediaConfig, StaticProviderResult, StringTemplate, StructuredDataConfig, SyncSignalOptions, TemplateRefWithContext,
|
|
2835
|
+
export { ANIMATABLE_TOKEN, ANIMATED_IF_TOKEN, ANIMATED_LIFECYCLE_TOKEN, ANIMATION_DEBUG_STORAGE_KEY, AT_LEAST_ONE_REQUIRED, AnimatableDirective, AnimatedIfDirective, AnimatedLifecycleDirective, AnimatedOverlayDirective, BOUNDARY_ELEMENT_TOKEN, BREAKPOINT_INSTANCE_TOKEN, BREAKPOINT_ORDER, COLOR_PROVIDER, ClickOutsideDirective, ColorInteractiveContainerDirective, ColorInteractiveDirective, ColorInteractiveExcludeDirective, ColorInteractiveHasFocusDirective, DEFAULT_MULTI_INSTANCE_RELS, DEFAULT_MULTI_INSTANCE_TAGS, DEFAULT_VIEWPORT_CONFIG, DISABLE_LOGGER_PARAM, DragHandleDirective, ET_DISABLE_SCROLL_TOP, ET_DISABLE_SCROLL_TOP_AS_RETURN_ROUTE, ET_DISABLE_SCROLL_TOP_ON_PATH_PARAM_CHANGE, ET_PROPERTY_REMOVED, FOCUSABLE_SELECTOR, FOCUS_VISIBLE_TRACKER_TOKEN, HtmlToMarkdownPipe, IS_ARRAY_NOT_EMPTY, IS_EMAIL, InferMimeTypePipe, IsArrayNotEmpty, IsEmail, jsonLd_d as JsonLD, KeyPressManager, MUST_MATCH, MarkdownToHtmlPipe, MatchStateType, MustMatch, NormalizeGameResultTypePipe, NormalizeMatchParticipantsPipe, NormalizeMatchScorePipe, NormalizeMatchStatePipe, NormalizeMatchTypePipe, PropsDirective, ProvideColorDirective, ProvideSurfaceDirective, RUNTIME_ERROR_NO_DATA, RepeatDirective, ResizeHandlesComponent, RuntimeError, SEO_DIRECTIVE_TOKEN, SURFACE_PROVIDER, SURFACE_TYPE, ScrollObserverDirective, ScrollObserverEndDirective, ScrollObserverStartDirective, SeoDirective, StructuredDataComponent, SurfaceInteractiveDirective, ToArrayPipe, TypedQueryList, ValidateAtLeastOneRequired, Validators, animationDebugLog, applyAlternateBinding, applyAlternateLanguagesBindings, applyArticleBindings, applyAuthorBinding, applyCanonicalBinding, applyCenteredPosition, applyDescriptionBinding, applyGlobalPosition, applyHeadBinding, applyHeadTitleBinding, applyHostListener, applyHostListeners, applyInitialFocus, applyKeywordsBinding, applyLinkBinding, applyMetaBinding, applyNextBinding, applyOgBinding, applyOpenGraphBindings, applyPrevBinding, applyResourceHintsBindings, applyRobotsBinding, applySocialMediaBindings, applyStructuredDataBinding, applyTwitterCardBindings, areScrollStatesEqual, bindProps, boolBreakpointTransform, booleanBreakpointAttribute, boundingClientRectToElementRect, breakpointTransformBase, buildElementSignal, buildSignalEffects, canUseSessionMemory, clamp, clone, cloneFormGroup, computedTillFalsy, computedTillTruthy, controlValueSignal, controlValueSignalWithPrevious, createAnchoredPositionCleanup, createArrayPropertyBinding, createAutoSessionMemoryKey, createBulkPropertyBinding, createCanAnimateSignal, createComponentId, createCssColorThemeName, createCssSurfaceName, createDependencyStash, createDestroy, createDocumentElementSignal, createElementDictionary, createElementDimensions, createEmptyElementSignal, createFlipAnimation, createFlipAnimationGroup, createHostProps, createIsRenderedSignal, createLogger, createOverlayRuntimeRef, createPropHandlers, createPropertyBinding, createProps, createProvider, createRootProvider, createRootThemeCss, createRoute, createRouterState, createRxHostListener, createSessionMemory, createSetup, createStaticProvider, createStaticRootProvider, createSwatchCss, createSwipeTracker, createTailwindColorThemes, createTailwindCssVar, createTailwindRgbVar, createThemeStyle, createUserConsentProvider, deferredSignal, deleteCookie, easeElastic, easeIn, easeInOut, easeLinear, easeOut, easeOutBack, easeOutBackStrong, elementCanScroll, equal, firstElementSignal, focusElement, forceReflow, formatRuntimeError, fromNextFrame, getCookie, getDomain, getElementScrollCoordinates, getFocusableElements, getFormGroupValue, getGroupMatchPoints, getGroupMatchScore, getHeadingElement, getKnockoutMatchScore, getMatchScoreSubLine, getObjectProperty, getScrollContainerTarget, getScrollItemTarget, getScrollSnapTarget, hasCookie, htmlToMarkdown, inferMimeType, injectAngularRootElement, injectBoundaryElement, injectBreakpointInput, injectBreakpointIsMatched, injectBreakpointObserver, injectCanHover, injectColorThemes, injectColorThemesPrefix, injectCurrentBreakpoint, injectDeviceInputType, injectDisplayOrientation, injectErrorTheme, injectFocusVisibleTracker, injectFragment, injectHasPrecisionInput, injectHasTouchInput, injectHostElement, injectIs2Xl, injectIsLandscape, injectIsLg, injectIsMd, injectIsPortrait, injectIsRouterInitialized, injectIsSm, injectIsXl, injectIsXs, injectLinkStore, injectLinkStoreConfig, injectLocale, injectMediaQueryIsMatched, injectMetaConfig, injectMetaStore, injectObserveBreakpoint, injectObserveMediaQuery, injectOverlayRuntime, injectPathParam, injectPathParamChanges, injectPathParams, injectQueryParam, injectQueryParamChanges, injectQueryParams, injectRenderer, injectRoute, injectRouteData, injectRouteDataItem, injectRouteTitle, injectRouterEvent, injectRouterState, injectScrollbarDimensions, injectStructuredDataConfig, injectStructuredDataStore, injectStyleManager, injectSuccessTheme, injectSurfaceContextTracker, injectSurfaceThemes, injectSurfaceThemesPrefix, injectTemplateRef, injectTitleConfig, injectTitleStore, injectUrl, injectViewportConfig, injectViewportDimensions, injectViewportSize, injectWarningTheme, isAnimationDebugEnabled, isArray, isElementSignal, isElementVisible, isFocusable, isGroupMatch, isHTMLElement, isKnockoutMatch, isObject, markdownToHtml, maybeSignalValue, memoizeSignal, nextFrame, normalizeGameResultType, normalizeMatchParticipant, normalizeMatchParticipants, normalizeMatchScore, normalizeMatchState, normalizeMatchType, numberBreakpointAttribute, numberBreakpointTransform, previousSignalValue, provideBoundaryElement, provideBreakpointInstance, provideBreakpointObserver, provideColorThemes, provideColorThemesWithTailwind4, provideFocusVisibleTracker, provideLinkStore, provideLinkStoreConfig, provideLocale, provideMetaConfig, provideMetaStore, provideOverlayRuntime, provideRenderer, provideStructuredDataConfig, provideStructuredDataStore, provideStyleManager, provideSurfaceContextTracker, provideSurfaceThemesWithTailwind4, provideTitleConfig, provideTitleStore, provideViewportConfig, resetPositioningStyles, resolveSurfaceByElevation, round, routerDisableScrollTop, scrollToElement, setBackdropStyles, setBaseElementStyles, setCookie, setInputSignal, setupFocusTrap, setupPositioning, setupScrollRestoration, signalAnimatedNumber, signalAttributes, signalClasses, signalElementChildren, signalElementDimensions, signalElementIntersection, signalElementLastScrollDirection, signalElementMutations, signalElementScrollState, signalHostAttributes, signalHostClasses, signalHostElementDimensions, signalHostElementIntersection, signalHostElementLastScrollDirection, signalHostElementMutations, signalHostElementScrollState, signalHostStyles, signalIsRendered, signalStyles, switchQueryListChanges, syncSignal, templateComputed, toArray, toArrayTrackByFn, toStringBinding, transformOrReturn, typedBreakpointTransform, unbindProps, useCursorDragScroll, writeScrollbarSizeToCssVariables, writeViewportSizeToCssVariables, ɵProvideColorThemes, ɵProvideColorThemesPrefix, ɵProvideSurfaceThemes, ɵProvideSurfaceThemesPrefix };
|
|
2836
|
+
export type { AlternateLanguagesConfig, AlternateLink, AngularRenderer, AnimatedLifecycleState, AnimatedNumberSignal, AnimatedOverlayComponentBase, AnimatedOverlayMountConfig, AnimatedOverlayState, AnimationEndEvent, AnyTemplateType, ArticleConfig, BindPropsOptions, BoolBreakpointSignal, Breakpoint, BreakpointInput, BreakpointMap, BuildMediaQueryOptions, BuildSignalEffectsConfig, ColorTheme, ColorThemeType, ComponentTemplate, ComponentTypeWithInputs, ConsentHandler, ControlValueSignalOptions, CreateLoggerConfig, CreatePropsOptions, CreateProviderOptions, CreateSessionMemoryConfig, CreateUserConsentProviderOptions, CurrentElementVisibility, CursorDragScrollDirection, CursorDragScrollOptions, DragMoveEvent, ElementDimensions, ElementLastScrollDirection, ElementLastScrollDirectionType, ElementRect, ElementScrollState, ElementSignal, ElementSignalValue, ElementSize, EthleteColorThemeNameRegistry, EthleteSurfaceThemeNameRegistry, FacebookCard, FlipAnimationConfig, HeadBinding, HostProps, InjectQueryParamConfig, InjectUtilConfig, InjectUtilTransformConfig, IntersectionObserverEntryWithDetails, IsElementVisibleOptions, LinkConfig, LinkStoreConfig, LogicalSize, MaybeObservable, MaybeSignal, MetaConfig, MetaTagConfig, NgClassType, NgTemplateTemplate, NormalizedGameResultType, NormalizedMatchParticipant, NormalizedMatchParticipants, NormalizedMatchScore, NullableElementDimensions, NumberBreakpointSignal, OnThemeColorMap, OpenGraph, OpenGraphConfig, OverlayRuntimeAnchoredPosition, OverlayRuntimeAnimationDelegate, OverlayRuntimeAnimationDelegateEnterContext, OverlayRuntimeAnimationDelegateLeaveContext, OverlayRuntimeAutoFocusTarget, OverlayRuntimeCenteredPosition, OverlayRuntimeCloseEvent, OverlayRuntimeCloseSource, OverlayRuntimeComponentBase, OverlayRuntimeElements, OverlayRuntimeGlobalPosition, OverlayRuntimeGlobalPositionAlignment, OverlayRuntimeMountConfig, OverlayRuntimePositionStrategy, OverlayRuntimeRef, OverlayRuntimeRole, OverlayRuntimeState, PropHandlers, Props, PropsAttachedElements, PropsAttachedElementsInternal, PropsInternal, ProviderResult, RegisteredColorThemeName, RegisteredSurfaceThemeName, ResizeEdge, ResizeMoveEvent, ResourceHintsConfig, RobotsConfig, RootProviderResult, RouterDisableScrollTopConfig, RouterState, ScrollContainerTarget, ScrollItemTarget, ScrollSnapOrigin, ScrollSnapTarget, ScrollToElementOptions, SeoConfig, SetupScrollRestorationConfig, SignalAnimatedNumberOptions, SignalElementBindingComplexType, SignalElementBindingType, SignalElementIntersectionOptions, SignalElementScrollStateOptions, SocialMediaConfig, StaticProviderResult, StringTemplate, StructuredDataConfig, StyleManager, SurfaceContextEntry, SurfaceContextTracker, SurfaceInteractionColor, SurfaceTheme, SurfaceThemeColor, SurfaceType, SwipeEndEvent, SwipeTracker, SwipeUpdateEvent, SyncSignalOptions, TemplateRefWithContext, ThemeColor, ThemeColorMap, ThemeHSLColor, ThemeInkColorMap, ThemeRGBColor, ThemeSwatch, TitleConfig, TitlePart, Translatable, TwitterCard, TwitterCardConfig, TypedBreakpointSignal, UnbindPropsOptions, ValidateAtLeastOneRequiredConfig, Vec2, ViewportConfig };
|