@ethlete/core 5.0.0-next.60 → 5.0.0-next.62
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 +75 -0
- package/fesm2022/ethlete-core.mjs +972 -597
- package/fesm2022/ethlete-core.mjs.map +1 -1
- package/generators/generators.json +10 -0
- package/generators/migrate-create-destroy/create-destroy.js +317 -0
- package/generators/migrate-create-destroy/migration.js +46 -0
- package/generators/migrate-create-destroy/schema.json +26 -0
- package/generators/migrate-legacy-color-themes/legacy-color-themes.js +123 -0
- package/generators/migrate-legacy-color-themes/migration.js +93 -0
- package/generators/migrate-legacy-color-themes/schema.json +26 -0
- package/generators/migrate-to-v5/apply-replacements.js +14 -0
- package/generators/migrate-to-v5/color-naming.js +11 -57
- package/generators/migrate-to-v5/create-provider.js +56 -44
- package/generators/migrate-to-v5/migration-files.js +13 -0
- package/generators/migrate-to-v5/migration.js +31 -27
- package/generators/migrate-to-v5/removed-exports.js +101 -33
- package/generators/migrate-to-v5/router-state-service.js +118 -350
- package/generators/migrate-to-v5/schema.json +12 -0
- package/generators/migrate-to-v5/service-classes.js +108 -0
- package/generators/migrate-to-v5/viewport-service.js +195 -443
- package/generators/tailwind-4-color-theme/generator.js +71 -85
- package/migrations/legacy-color-themes.md +38 -0
- package/migrations/seo-directive-removed.md +2 -1
- package/migrations.json +15 -0
- package/package.json +11 -11
- package/types/ethlete-core.d.ts +300 -202
package/types/ethlete-core.d.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
2
|
import { InjectionToken, AfterViewInit, Signal, ElementRef, QueryList, WritableSignal, InputSignalWithTransform, Provider, RendererStyleFlags2, Type, ComponentRef, Injector, ViewContainerRef, EnvironmentProviders, Binding, InjectOptions, StaticProvider, TemplateRef, InputSignal, PipeTransform, TrackByFunction, ApplicationRef } from '@angular/core';
|
|
3
3
|
import * as rxjs from 'rxjs';
|
|
4
|
-
import { Observable
|
|
4
|
+
import { Observable } from 'rxjs';
|
|
5
5
|
import * as _ethlete_core from '@ethlete/core';
|
|
6
|
-
import * as _floating_ui_dom from '@floating-ui/dom';
|
|
7
6
|
import { VirtualElement, Placement, OffsetOptions, Padding } from '@floating-ui/dom';
|
|
8
7
|
import { MatchListView, ParticipantViewUnion, MatchRankingView, StageType } from '@ethlete/types';
|
|
9
8
|
import * as _angular_platform_browser from '@angular/platform-browser';
|
|
@@ -57,16 +56,28 @@ declare const ANIMATION_DEBUG_STORAGE_KEY = "et-overlay-debug";
|
|
|
57
56
|
declare const isAnimationDebugEnabled: () => boolean;
|
|
58
57
|
declare const animationDebugLog: (scope: string, ...args: unknown[]) => void;
|
|
59
58
|
|
|
60
|
-
declare const
|
|
61
|
-
|
|
59
|
+
declare const ANIMATION_ERROR_CODES: {
|
|
60
|
+
/** `*etAnimatedIf` was used without an `[etAnimatedLifecycle]` element around it. */
|
|
61
|
+
readonly MISSING_ANIMATED_LIFECYCLE: 9000;
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
declare const ANIMATED_IF_TOKEN: InjectionToken<AnimatedIfDirective<unknown>>;
|
|
65
|
+
type AnimatedIfContext<T> = {
|
|
66
|
+
$implicit: T;
|
|
67
|
+
etAnimatedIf: T;
|
|
68
|
+
};
|
|
69
|
+
declare class AnimatedIfDirective<T = unknown> {
|
|
70
|
+
static ngTemplateGuard_etAnimatedIf: 'binding';
|
|
62
71
|
private templateRef;
|
|
63
72
|
private viewContainerRef;
|
|
64
73
|
private animatedLifecycle;
|
|
65
74
|
private hasView;
|
|
66
|
-
|
|
75
|
+
private context;
|
|
76
|
+
ifValue: _angular_core.InputSignal<T | null>;
|
|
77
|
+
static ngTemplateContextGuard<T>(_dir: AnimatedIfDirective<T>, _ctx: unknown): _ctx is AnimatedIfContext<Exclude<T, false | 0 | '' | null | undefined>>;
|
|
67
78
|
constructor();
|
|
68
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AnimatedIfDirective
|
|
69
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AnimatedIfDirective
|
|
79
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AnimatedIfDirective<any>, never>;
|
|
80
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AnimatedIfDirective<any>, "[etAnimatedIf]", never, { "ifValue": { "alias": "etAnimatedIf"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
70
81
|
}
|
|
71
82
|
|
|
72
83
|
declare const ANIMATED_LIFECYCLE_TOKEN: InjectionToken<AnimatedLifecycleDirective>;
|
|
@@ -82,7 +93,11 @@ declare class AnimatedLifecycleDirective implements AfterViewInit {
|
|
|
82
93
|
private transitionIdCounter;
|
|
83
94
|
private forcedThisFrame;
|
|
84
95
|
private forcedFrameResetId;
|
|
85
|
-
|
|
96
|
+
private stateSubject$;
|
|
97
|
+
private _state;
|
|
98
|
+
state: _angular_core.Signal<AnimatedLifecycleState>;
|
|
99
|
+
/** Emits the current lifecycle state synchronously on subscribe, then every change. */
|
|
100
|
+
state$: Observable<AnimatedLifecycleState>;
|
|
86
101
|
stateChange: _angular_core.OutputRef<AnimatedLifecycleState>;
|
|
87
102
|
skipNextEnter: _angular_core.ModelSignal<boolean>;
|
|
88
103
|
constructor();
|
|
@@ -113,7 +128,8 @@ declare class AnimatedLifecycleDirective implements AfterViewInit {
|
|
|
113
128
|
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: {}; }]>;
|
|
114
129
|
}
|
|
115
130
|
|
|
116
|
-
|
|
131
|
+
/** Runs `cb` two frames from now. Returns a function that cancels it if it has not run yet. */
|
|
132
|
+
declare const nextFrame: (cb: () => void) => () => void;
|
|
117
133
|
declare const fromNextFrame: () => Observable<void>;
|
|
118
134
|
declare const forceReflow: (element?: HTMLElement) => number;
|
|
119
135
|
/**
|
|
@@ -226,7 +242,7 @@ type AppUpdatesConfig = {
|
|
|
226
242
|
* pauses while the tab is hidden and resumes the moment it is looked at again, so a tab left open
|
|
227
243
|
* overnight asks once on return rather than thousands of times in the dark.
|
|
228
244
|
*
|
|
229
|
-
* `0` polls not at all, leaving {@link AppUpdates.check} to the app.
|
|
245
|
+
* `0` polls not at all, leaving {@link AppUpdates.check$} to the app.
|
|
230
246
|
* @default 300_000
|
|
231
247
|
*/
|
|
232
248
|
pollInterval: number;
|
|
@@ -268,8 +284,8 @@ type AppUpdates = {
|
|
|
268
284
|
isRequired: Signal<boolean>;
|
|
269
285
|
/** Whether reloading right now would throw away unsaved changes - the reason an update can't just reload. */
|
|
270
286
|
wouldDiscardChanges: Signal<boolean>;
|
|
271
|
-
/** Checks for a new deploy now, regardless of the poll schedule. */
|
|
272
|
-
check
|
|
287
|
+
/** Checks for a new deploy now, regardless of the poll schedule. Cold: nothing is fetched until it is subscribed. */
|
|
288
|
+
check$: () => Observable<void>;
|
|
273
289
|
/**
|
|
274
290
|
* Reloads the page, releasing the unsaved-changes tab locks first so the browser does not ask its
|
|
275
291
|
* own "Leave site?" question on top of whatever the app already asked.
|
|
@@ -312,14 +328,15 @@ declare const provideAppUpdates: (config?: Partial<AppUpdatesConfig>) => (_angul
|
|
|
312
328
|
*/
|
|
313
329
|
declare const readBuildFingerprint: (document: Document) => string;
|
|
314
330
|
/**
|
|
315
|
-
* Reads the currently deployed build's fingerprint from the app's entry document.
|
|
331
|
+
* Reads the currently deployed build's fingerprint from the app's entry document. Cold: nothing is fetched
|
|
332
|
+
* until it is subscribed.
|
|
316
333
|
*
|
|
317
334
|
* `null` for anything that is not a usable answer - a network failure, a non-2xx response, or a body
|
|
318
335
|
* with no entry scripts in it. Callers must treat that as "no information" rather than as a change:
|
|
319
336
|
* an error page parses perfectly well as HTML, and acting on its empty fingerprint would reload the
|
|
320
337
|
* app in a loop.
|
|
321
338
|
*/
|
|
322
|
-
declare const fetchDeployedBuildFingerprint
|
|
339
|
+
declare const fetchDeployedBuildFingerprint$: (url: string) => Observable<string | null>;
|
|
323
340
|
|
|
324
341
|
/**
|
|
325
342
|
* Whether an error means the running build is stale - a module it was going to import lazily is no
|
|
@@ -333,6 +350,7 @@ declare class ClickOutsideDirective {
|
|
|
333
350
|
private elementRef;
|
|
334
351
|
private document;
|
|
335
352
|
didClickOutside: _angular_core.OutputEmitterRef<MouseEvent>;
|
|
353
|
+
private pressStartedInside;
|
|
336
354
|
constructor();
|
|
337
355
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClickOutsideDirective, never>;
|
|
338
356
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ClickOutsideDirective, "[etClickOutside]", never, {}, { "didClickOutside": "etClickOutside"; }, never, never, true, never>;
|
|
@@ -579,6 +597,7 @@ declare const injectBreakpointObserver: _ethlete_core.InjectFn<{
|
|
|
579
597
|
|
|
580
598
|
type BreakpointMap<T> = Partial<Record<Breakpoint, T>>;
|
|
581
599
|
type BreakpointInput<T> = T | BreakpointMap<T>;
|
|
600
|
+
/** Builds an input transform that coerces a value or a per-breakpoint map to `T` for the current breakpoint. */
|
|
582
601
|
declare const breakpointTransformBase: <T, WriteT = BreakpointInput<T>>(coerce: (value: WriteT) => T, defaultValue: T) => ((value: WriteT) => T);
|
|
583
602
|
/**
|
|
584
603
|
* Transform factory for boolean inputs.
|
|
@@ -785,8 +804,10 @@ declare const signalElementDimensions: (el: SignalElementBindingType) => Signal<
|
|
|
785
804
|
declare const signalHostElementDimensions: () => Signal<NullableElementDimensions>;
|
|
786
805
|
declare const injectViewportSize: () => Signal<ElementSize>;
|
|
787
806
|
|
|
788
|
-
type SignalElementIntersectionOptions = Omit<IntersectionObserverInit, 'root'> & {
|
|
807
|
+
type SignalElementIntersectionOptions = Omit<IntersectionObserverInit, 'root' | 'rootMargin' | 'threshold'> & {
|
|
789
808
|
root?: SignalElementBindingType;
|
|
809
|
+
rootMargin?: MaybeSignal<string>;
|
|
810
|
+
threshold?: MaybeSignal<number | number[]>;
|
|
790
811
|
enabled?: Signal<boolean>;
|
|
791
812
|
};
|
|
792
813
|
type IntersectionObserverEntryWithDetails = IntersectionObserverEntry & {
|
|
@@ -1026,6 +1047,18 @@ type CreateUserConsentProviderOptions = {
|
|
|
1026
1047
|
};
|
|
1027
1048
|
declare const createUserConsentProvider: (options: CreateUserConsentProviderOptions) => Provider;
|
|
1028
1049
|
|
|
1050
|
+
/**
|
|
1051
|
+
* Declares the `et-visually-hidden` class as a styles-only component: content that stays in the
|
|
1052
|
+
* accessibility tree but is clipped out of the layout. Mount it from any component whose template
|
|
1053
|
+
* uses the class.
|
|
1054
|
+
*/
|
|
1055
|
+
declare class VisuallyHiddenStylesComponent {
|
|
1056
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<VisuallyHiddenStylesComponent, never>;
|
|
1057
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<VisuallyHiddenStylesComponent, "et-visually-hidden-styles", never, {}, {}, never, never, true, never>;
|
|
1058
|
+
}
|
|
1059
|
+
/** Mounts {@link VisuallyHiddenStylesComponent}. Call from an injection context. */
|
|
1060
|
+
declare const mountVisuallyHidden: () => _angular_core.ComponentRef<VisuallyHiddenStylesComponent>;
|
|
1061
|
+
|
|
1029
1062
|
/** Inject a signal containing a boolean value indicating if the viewport is xs */
|
|
1030
1063
|
declare const injectIsXs: () => _angular_core.Signal<boolean>;
|
|
1031
1064
|
/** Inject a signal containing a boolean value indicating if the viewport is sm */
|
|
@@ -1306,26 +1339,35 @@ declare const injectRouterState: () => Signal<RouterState>;
|
|
|
1306
1339
|
/** Inject a signal containing the current route fragment (the part after the # inside the url if present) */
|
|
1307
1340
|
declare const injectFragment: <T = string | null>(config?: InjectUtilConfig & InjectUtilTransformConfig<string | null, T>) => Signal<T>;
|
|
1308
1341
|
/** Inject all currently available query parameters as a signal */
|
|
1309
|
-
declare const injectQueryParams: () => Signal<Params>;
|
|
1342
|
+
declare const injectQueryParams: (config?: InjectUtilConfig) => Signal<Params>;
|
|
1310
1343
|
/** Inject all currently available route data as a signal */
|
|
1311
|
-
declare const injectRouteData: () => Signal<Data>;
|
|
1344
|
+
declare const injectRouteData: (config?: InjectUtilConfig) => Signal<Data>;
|
|
1312
1345
|
/** Inject the current route title as a signal */
|
|
1313
|
-
declare const injectRouteTitle: <T = string | null>(config?: InjectUtilTransformConfig<string | null, T>) => Signal<T>;
|
|
1346
|
+
declare const injectRouteTitle: <T = string | null>(config?: InjectUtilConfig & InjectUtilTransformConfig<string | null, T>) => Signal<T>;
|
|
1314
1347
|
/** Inject all currently available path parameters as a signal */
|
|
1315
|
-
declare const injectPathParams: () => Signal<Params>;
|
|
1316
|
-
type InjectQueryParamConfig<T> = InjectUtilTransformConfig<string | null, T> & {
|
|
1348
|
+
declare const injectPathParams: (config?: InjectUtilConfig) => Signal<Params>;
|
|
1349
|
+
type InjectQueryParamConfig<T> = InjectUtilConfig & InjectUtilTransformConfig<string | null, T> & {
|
|
1317
1350
|
/**
|
|
1318
1351
|
* If true, the initial value will be read from the browser's url.
|
|
1319
1352
|
* Note that this will not work with arrays or complex objects.
|
|
1320
1353
|
*/
|
|
1321
1354
|
requireSync?: boolean;
|
|
1322
1355
|
};
|
|
1323
|
-
|
|
1356
|
+
type InjectQueryParamAllConfig<T> = InjectUtilConfig & InjectUtilTransformConfig<string[], T> & {
|
|
1357
|
+
/** If true, the values are read from the browser's url while the router has none. */
|
|
1358
|
+
requireSync?: boolean;
|
|
1359
|
+
};
|
|
1360
|
+
/**
|
|
1361
|
+
* Inject a specific query parameter as a signal. A repeated parameter (`?tag=a&tag=b`) resolves to its first value;
|
|
1362
|
+
* use `injectQueryParamAll` to read every value.
|
|
1363
|
+
*/
|
|
1324
1364
|
declare const injectQueryParam: <T = string | null>(key: string, config?: InjectQueryParamConfig<T>) => Signal<T>;
|
|
1365
|
+
/** Inject every value of a specific query parameter as a signal. Resolves to an empty array when it is absent. */
|
|
1366
|
+
declare const injectQueryParamAll: <T = string[]>(key: string, config?: InjectQueryParamAllConfig<T>) => Signal<T>;
|
|
1325
1367
|
/** Inject a specific route data item as a signal */
|
|
1326
|
-
declare const injectRouteDataItem: <T = unknown>(key: string, config?: InjectUtilTransformConfig<unknown, T>) => Signal<T>;
|
|
1368
|
+
declare const injectRouteDataItem: <T = unknown>(key: string, config?: InjectUtilConfig & InjectUtilTransformConfig<unknown, T>) => Signal<T>;
|
|
1327
1369
|
/** Inject a specific path parameter as a signal */
|
|
1328
|
-
declare const injectPathParam: <T = string | null>(key: string, config?: InjectUtilTransformConfig<string | null, T>) => Signal<T>;
|
|
1370
|
+
declare const injectPathParam: <T = string | null>(key: string, config?: InjectUtilConfig & InjectUtilTransformConfig<string | null, T>) => Signal<T>;
|
|
1329
1371
|
/**
|
|
1330
1372
|
* Inject query params that changed during navigation. Unchanged query params will be ignored.
|
|
1331
1373
|
* Removed query params will be represented by the symbol `ET_PROPERTY_REMOVED`.
|
|
@@ -1357,7 +1399,7 @@ declare const injectPathParamChanges: () => Signal<Record<string, unknown>>;
|
|
|
1357
1399
|
* protected cameFromCart = this.navState?.fromCart ?? false;
|
|
1358
1400
|
* }
|
|
1359
1401
|
*/
|
|
1360
|
-
declare const injectRouterNavigationState: <T>() => T | null;
|
|
1402
|
+
declare const injectRouterNavigationState: <T>(config?: InjectUtilConfig) => T | null;
|
|
1361
1403
|
|
|
1362
1404
|
declare class ScrollObserverDirective {
|
|
1363
1405
|
private elementRef;
|
|
@@ -1369,9 +1411,7 @@ declare class ScrollObserverDirective {
|
|
|
1369
1411
|
private _endIntersection;
|
|
1370
1412
|
isAtStart: Signal<boolean>;
|
|
1371
1413
|
isAtEnd: Signal<boolean>;
|
|
1372
|
-
/** @internal */
|
|
1373
1414
|
registerStart(el: ElementRef<HTMLElement>): () => void;
|
|
1374
|
-
/** @internal */
|
|
1375
1415
|
registerEnd(el: ElementRef<HTMLElement>): () => void;
|
|
1376
1416
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ScrollObserverDirective, never>;
|
|
1377
1417
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ScrollObserverDirective, "[etScrollObserver]", ["etScrollObserver"], { "enabled": { "alias": "enabled"; "required": false; "isSignal": true; }; }, { "enabled": "enabledChange"; }, never, never, true, never>;
|
|
@@ -1690,7 +1730,7 @@ declare const injectNotifications: _ethlete_core.InjectFn<Notifications>;
|
|
|
1690
1730
|
|
|
1691
1731
|
type OverlayRuntimeRole = 'dialog' | 'alertdialog';
|
|
1692
1732
|
type OverlayRuntimeAutoFocusTarget = 'container' | 'first-heading' | 'first-tabbable';
|
|
1693
|
-
type OverlayRuntimeCloseSource = 'api' | 'escape' | 'outside-pointer' | 'drag' | 'reference-detached' | 'replace';
|
|
1733
|
+
type OverlayRuntimeCloseSource = 'api' | 'escape' | 'outside-pointer' | 'drag' | 'reference-detached' | 'replace' | 'navigation';
|
|
1694
1734
|
type OverlayRuntimeCenteredPosition = {
|
|
1695
1735
|
kind: 'center';
|
|
1696
1736
|
};
|
|
@@ -1836,44 +1876,29 @@ type OverlayRuntimeMountConfig<TComponent extends object> = {
|
|
|
1836
1876
|
};
|
|
1837
1877
|
|
|
1838
1878
|
type OverlayRuntimeState = 'mounting' | 'mounted' | 'closing' | 'closed';
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
|
|
1845
|
-
|
|
1846
|
-
|
|
1879
|
+
/**
|
|
1880
|
+
* The handle `OverlayRuntime.mount()` returns. The lifecycle observables replay their event, so a
|
|
1881
|
+
* subscriber that arrives after it still gets one emission.
|
|
1882
|
+
*/
|
|
1883
|
+
type OverlayRuntimeRef<TComponent extends object = object, TResult = unknown> = {
|
|
1884
|
+
readonly id: string;
|
|
1885
|
+
readonly config: Omit<OverlayRuntimeMountConfig<TComponent>, 'component'>;
|
|
1886
|
+
readonly elements: OverlayRuntimeElements;
|
|
1887
|
+
readonly state: Signal<OverlayRuntimeState>;
|
|
1888
|
+
readonly componentInstance: Signal<TComponent | null>;
|
|
1847
1889
|
close(result?: TResult, source?: OverlayRuntimeCloseSource): void;
|
|
1848
|
-
/**
|
|
1849
|
-
* close it previously vetoed (e.g. after an async confirm resolved). */
|
|
1890
|
+
/** Closes while bypassing every registered close guard, e.g. to commit a close a guard vetoed earlier. */
|
|
1850
1891
|
forceClose(result?: TResult, source?: OverlayRuntimeCloseSource): void;
|
|
1851
|
-
/**
|
|
1892
|
+
/** Registers a synchronous veto for pending closes. Returns an unregister function. */
|
|
1852
1893
|
registerCloseGuard(guard: OverlayRuntimeCloseGuard<TResult>): () => void;
|
|
1853
1894
|
beforeOpened(): Observable<void>;
|
|
1854
1895
|
afterOpened(): Observable<void>;
|
|
1855
1896
|
beforeClosed(): Observable<OverlayRuntimeCloseEvent<TResult>>;
|
|
1856
1897
|
afterClosed(): Observable<OverlayRuntimeCloseEvent<TResult>>;
|
|
1857
|
-
/** @internal */
|
|
1858
|
-
attachComponentRef(componentRef: ComponentRef<TComponent>): void;
|
|
1859
|
-
/** @internal */
|
|
1860
|
-
attachPositionUpdater(updater: (strategy: OverlayRuntimePositionStrategy) => void): void;
|
|
1861
1898
|
updatePositionStrategy(strategy: OverlayRuntimePositionStrategy): void;
|
|
1862
|
-
/**
|
|
1863
|
-
attachBackdropUpdater(updater: (hasBackdrop: boolean) => void): void;
|
|
1864
|
-
/**
|
|
1865
|
-
* Adds or removes the backdrop of an open overlay. `elements.backdropElement` follows.
|
|
1866
|
-
* A closing overlay keeps the backdrop it has, so its leave transition stays intact.
|
|
1867
|
-
*/
|
|
1899
|
+
/** Adds or removes the backdrop of an open overlay. A closing overlay keeps the backdrop it has. */
|
|
1868
1900
|
updateBackdrop(hasBackdrop: boolean): void;
|
|
1869
|
-
/** @internal */
|
|
1870
|
-
markOpened(): void;
|
|
1871
|
-
/** @internal */
|
|
1872
|
-
beginClose(closeEvent: OverlayRuntimeCloseEvent<TResult>): boolean;
|
|
1873
|
-
/** @internal */
|
|
1874
|
-
finishClose(closeEvent: OverlayRuntimeCloseEvent<TResult>): void;
|
|
1875
1901
|
};
|
|
1876
|
-
type OverlayRuntimeRef<TComponent extends object = object, TResult = unknown> = ReturnType<typeof createOverlayRuntimeRef<TComponent, TResult>>;
|
|
1877
1902
|
|
|
1878
1903
|
declare const FOCUSABLE_SELECTOR: string;
|
|
1879
1904
|
declare const isHTMLElement: (value: unknown) => value is HTMLElement;
|
|
@@ -1923,47 +1948,10 @@ declare const resolveOverlayLayer: (element: Element | null | undefined) => numb
|
|
|
1923
1948
|
*/
|
|
1924
1949
|
declare const isOnHigherOverlayLayer: (target: EventTarget | null | undefined, layer: number) => boolean;
|
|
1925
1950
|
|
|
1926
|
-
declare const setBaseElementStyles: (config: OverlayRuntimeMountConfig<object>, hostElement: HTMLElement, paneElement: HTMLElement, renderer: AngularRenderer) => void;
|
|
1927
|
-
declare const setBackdropStyles: (backdropElement: HTMLElement, renderer: AngularRenderer) => void;
|
|
1928
1951
|
declare const applyCenteredPosition: (hostElement: HTMLElement, paneElement: HTMLElement, renderer: AngularRenderer, _config: OverlayRuntimeCenteredPosition) => void;
|
|
1929
1952
|
declare const applyGlobalPosition: (hostElement: HTMLElement, paneElement: HTMLElement, renderer: AngularRenderer, config: OverlayRuntimeGlobalPosition) => void;
|
|
1930
|
-
/**
|
|
1931
|
-
* Clears every inline style any position strategy kind may have set and
|
|
1932
|
-
* restores the base element styles, so a different strategy can be applied afterwards.
|
|
1933
|
-
*/
|
|
1934
|
-
declare const resetPositioningStyles: (config: OverlayRuntimeMountConfig<object>, hostElement: HTMLElement, paneElement: HTMLElement, renderer: AngularRenderer) => void;
|
|
1935
|
-
/**
|
|
1936
|
-
* Positions an anchored overlay pane and returns the cleanup for its auto-update loop.
|
|
1937
|
-
*/
|
|
1938
|
-
type AnchoredPositionSetup = (strategy: OverlayRuntimeAnchoredPosition, paneElement: HTMLElement, overlayRef: OverlayRuntimeRef<object, unknown>, renderer: AngularRenderer) => () => void;
|
|
1939
|
-
/**
|
|
1940
|
-
* Installs the anchored positioning implementation. Called by `anchoredOverlayPosition()`, which is
|
|
1941
|
-
* the only thing that pulls `@floating-ui/dom` into the bundle - apps that never anchor an overlay
|
|
1942
|
-
* do not ship it.
|
|
1943
|
-
*
|
|
1944
|
-
* @internal
|
|
1945
|
-
*/
|
|
1946
|
-
declare const registerAnchoredPositionSetup: (setup: AnchoredPositionSetup) => void;
|
|
1947
1953
|
declare const setupPositioning: (config: OverlayRuntimeMountConfig<object>, hostElement: HTMLElement, paneElement: HTMLElement, overlayRef: OverlayRuntimeRef<object, unknown>, renderer: AngularRenderer) => () => void;
|
|
1948
1954
|
|
|
1949
|
-
/**
|
|
1950
|
-
* The floating-ui middleware only a subset of anchored overlays needs. Installed by
|
|
1951
|
-
* `enableAnchoredOverlayPositionExtras()`.
|
|
1952
|
-
*
|
|
1953
|
-
* @internal
|
|
1954
|
-
*/
|
|
1955
|
-
type AnchoredPositionMiddlewareExtras = {
|
|
1956
|
-
size: typeof _floating_ui_dom.size;
|
|
1957
|
-
arrow: typeof _floating_ui_dom.arrow;
|
|
1958
|
-
hide: typeof _floating_ui_dom.hide;
|
|
1959
|
-
};
|
|
1960
|
-
/**
|
|
1961
|
-
* Installs the `size` / `arrow` / `hide` middleware. Called by
|
|
1962
|
-
* `enableAnchoredOverlayPositionExtras()`.
|
|
1963
|
-
*
|
|
1964
|
-
* @internal
|
|
1965
|
-
*/
|
|
1966
|
-
declare const registerAnchoredPositionMiddlewareExtras: (extras: AnchoredPositionMiddlewareExtras) => void;
|
|
1967
1955
|
declare const createAnchoredPositionCleanup: (strategy: OverlayRuntimeAnchoredPosition, paneElement: HTMLElement, overlayRef: OverlayRuntimeRef<object, unknown>, renderer: AngularRenderer) => () => void;
|
|
1968
1956
|
/**
|
|
1969
1957
|
* Builds an anchored position strategy and installs the anchored positioning implementation.
|
|
@@ -2027,8 +2015,6 @@ declare const overlayViewportInsetsFor: (element: Element) => OverlayViewportIns
|
|
|
2027
2015
|
/**
|
|
2028
2016
|
* Runs `listener` whenever a reservation is made or released, so an already positioned overlay can be
|
|
2029
2017
|
* laid out again. Returns the unsubscribe callback.
|
|
2030
|
-
*
|
|
2031
|
-
* @internal
|
|
2032
2018
|
*/
|
|
2033
2019
|
declare const onOverlayViewportInsetsChange: (listener: () => void) => () => void;
|
|
2034
2020
|
|
|
@@ -2041,6 +2027,9 @@ declare const createComponentId: (prefix: string) => string;
|
|
|
2041
2027
|
*/
|
|
2042
2028
|
declare const randomId: () => string;
|
|
2043
2029
|
|
|
2030
|
+
/**
|
|
2031
|
+
* @deprecated Use `takeUntilDestroyed()` from `@angular/core/rxjs-interop`. `yarn nx g @ethlete/core:migrate-create-destroy` rewrites the common pattern.
|
|
2032
|
+
*/
|
|
2044
2033
|
declare const createDestroy: () => rxjs.Observable<boolean>;
|
|
2045
2034
|
|
|
2046
2035
|
declare const injectHostElement: <T = HTMLElement>() => T;
|
|
@@ -2125,6 +2114,17 @@ declare const createRxHostListener: <K extends keyof HTMLElementEventMap>(eventN
|
|
|
2125
2114
|
declare const applyHostListener: <K extends keyof HTMLElementEventMap>(eventName: K, handler: (event: HTMLElementEventMap[K]) => void, options?: AddEventListenerOptions) => rxjs.Subscription;
|
|
2126
2115
|
declare const applyHostListeners: (listeners: Partial<{ [K in keyof HTMLElementEventMap]: (event: HTMLElementEventMap[K]) => void; }>, options?: AddEventListenerOptions) => void;
|
|
2127
2116
|
|
|
2117
|
+
/**
|
|
2118
|
+
* Like Angular's `booleanAttribute`, but keeps `null` and `undefined` so a tri-state input can tell
|
|
2119
|
+
* "not set" apart from `false`. A bare attribute (`<et-x closeOnActivate>`) reads as `true`.
|
|
2120
|
+
*
|
|
2121
|
+
* @example
|
|
2122
|
+
* closeOnActivate = input<boolean | undefined, unknown>(undefined, { transform: optionalBooleanAttribute });
|
|
2123
|
+
*/
|
|
2124
|
+
declare function optionalBooleanAttribute(value: null): null;
|
|
2125
|
+
declare function optionalBooleanAttribute(value: undefined): undefined;
|
|
2126
|
+
declare function optionalBooleanAttribute(value: unknown): boolean;
|
|
2127
|
+
|
|
2128
2128
|
declare class TypedQueryList<T> extends QueryList<T> {
|
|
2129
2129
|
get changes(): Observable<TypedQueryList<T>>;
|
|
2130
2130
|
}
|
|
@@ -2187,6 +2187,7 @@ type Translatable = {
|
|
|
2187
2187
|
text: string;
|
|
2188
2188
|
};
|
|
2189
2189
|
|
|
2190
|
+
/** @deprecated Keyed on the deprecated `KeyboardEvent.keyCode`. Compare `KeyboardEvent.key` instead. */
|
|
2190
2191
|
declare class KeyPressManager {
|
|
2191
2192
|
readonly key: number;
|
|
2192
2193
|
private isKeyPressed;
|
|
@@ -2208,16 +2209,35 @@ declare const createLogger: (config: CreateLoggerConfig) => {
|
|
|
2208
2209
|
error: (...args: unknown[]) => void;
|
|
2209
2210
|
};
|
|
2210
2211
|
|
|
2212
|
+
/** Attribute that makes `htmlToMarkdown` write an element's text verbatim, without Markdown escaping:
|
|
2213
|
+
* `<span data-markdown-verbatim>{{user:_x}}</span>` becomes `{{user:_x}}`. The element must hold
|
|
2214
|
+
* text only. */
|
|
2215
|
+
declare const MARKDOWN_VERBATIM_ATTR = "data-markdown-verbatim";
|
|
2216
|
+
/** Whether `url` may be embedded as an image `src`: everything except `javascript:` and `vbscript:`
|
|
2217
|
+
* URLs and non-image `data:` URLs, however they are cased, spaced or entity-encoded. */
|
|
2218
|
+
declare const isSafeUrl: (url: string) => boolean;
|
|
2219
|
+
/** Whether `url` may become a link: `http:`, `https:`, `mailto:` and `tel:` URLs, relative paths and
|
|
2220
|
+
* fragments pass; any other scheme (`javascript:`, `data:`, `vbscript:`, ...) is refused, however
|
|
2221
|
+
* it is cased, spaced or entity-encoded. */
|
|
2222
|
+
declare const isSafeLinkUrl: (url: string) => boolean;
|
|
2211
2223
|
/**
|
|
2212
2224
|
* Converts a markdown string to HTML.
|
|
2213
2225
|
* Covers headings, bold, italic, strikethrough, inline code, fenced code blocks,
|
|
2214
2226
|
* links, images, block quotes, unordered/ordered (and nested) lists, tables, horizontal rules, and paragraphs.
|
|
2227
|
+
* A backslash before a punctuation character keeps that character literal.
|
|
2228
|
+
* Text matching `options.verbatim` is emitted as plain text, untouched by any Markdown syntax:
|
|
2229
|
+
* `markdownToHtml('{{field:__x__}}', { verbatim: /\{\{[^}]+\}\}/ })` returns `<p>{{field:__x__}}</p>`.
|
|
2215
2230
|
*/
|
|
2216
|
-
declare const markdownToHtml: (markdown: string
|
|
2231
|
+
declare const markdownToHtml: (markdown: string, options?: {
|
|
2232
|
+
verbatim?: RegExp;
|
|
2233
|
+
}) => string;
|
|
2217
2234
|
/**
|
|
2218
2235
|
* Converts an HTML string to markdown.
|
|
2219
2236
|
* Covers headings, bold, italic, strikethrough, inline code, fenced code blocks,
|
|
2220
2237
|
* links, images, block quotes, unordered/ordered lists, tables, horizontal rules, and paragraphs.
|
|
2238
|
+
* Text that would read as Markdown is backslash-escaped (code and {@link MARKDOWN_VERBATIM_ATTR}
|
|
2239
|
+
* elements are left as is), and a link whose URL
|
|
2240
|
+
* fails {@link isSafeLinkUrl} keeps only its text.
|
|
2221
2241
|
*/
|
|
2222
2242
|
declare const htmlToMarkdown: (html: string) => string;
|
|
2223
2243
|
|
|
@@ -2464,7 +2484,9 @@ declare class InitialsPipe implements PipeTransform {
|
|
|
2464
2484
|
declare const initials: (value: string | null | undefined, maxLength?: number) => string;
|
|
2465
2485
|
|
|
2466
2486
|
declare class MarkdownToHtmlPipe implements PipeTransform {
|
|
2467
|
-
transform: (markdown: string
|
|
2487
|
+
transform: (markdown: string, options?: {
|
|
2488
|
+
verbatim?: RegExp;
|
|
2489
|
+
}) => string;
|
|
2468
2490
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MarkdownToHtmlPipe, never>;
|
|
2469
2491
|
static ɵpipe: _angular_core.ɵɵPipeDeclaration<MarkdownToHtmlPipe, "markdownToHtml", true>;
|
|
2470
2492
|
}
|
|
@@ -2502,8 +2524,8 @@ type ResizeEdge = 'n' | 's' | 'e' | 'w' | 'ne' | 'nw' | 'se' | 'sw';
|
|
|
2502
2524
|
type ResizeMoveEvent = {
|
|
2503
2525
|
edge: ResizeEdge;
|
|
2504
2526
|
/** Cumulative delta from the pointerdown position. */
|
|
2505
|
-
|
|
2506
|
-
|
|
2527
|
+
totalDx: number;
|
|
2528
|
+
totalDy: number;
|
|
2507
2529
|
clientX: number;
|
|
2508
2530
|
clientY: number;
|
|
2509
2531
|
};
|
|
@@ -2515,7 +2537,7 @@ declare class ResizeHandlesComponent {
|
|
|
2515
2537
|
private gesture$;
|
|
2516
2538
|
resizeStarted: _angular_core.OutputRef<ResizeEdge>;
|
|
2517
2539
|
resizeMoved: _angular_core.OutputRef<ResizeMoveEvent>;
|
|
2518
|
-
resizeEnded: _angular_core.OutputRef<
|
|
2540
|
+
resizeEnded: _angular_core.OutputRef<ResizeMoveEvent>;
|
|
2519
2541
|
/**
|
|
2520
2542
|
* The browser took the gesture away mid-resize (a system gesture, an incoming call, the tab going
|
|
2521
2543
|
* to the background). Revert to the size the resize started from - the user never let go, so there
|
|
@@ -2869,6 +2891,9 @@ declare const injectLinkStore: _ethlete_core.InjectFn<{
|
|
|
2869
2891
|
removeLink: (id: symbol, key?: string) => void;
|
|
2870
2892
|
getLinkKey: (linkConfig: LinkConfig) => string;
|
|
2871
2893
|
}>;
|
|
2894
|
+
/**
|
|
2895
|
+
* Binds a link tag. Only removes the elements it created; pre-existing links are left in place, unlike meta bindings.
|
|
2896
|
+
*/
|
|
2872
2897
|
declare const applyLinkBinding: (binding: MaybeSignal<LinkConfig | null | undefined>) => void;
|
|
2873
2898
|
declare const applyCanonicalBinding: (binding: MaybeSignal<string | null | undefined>) => void;
|
|
2874
2899
|
declare const applyAlternateBinding: (hreflang: string, binding: MaybeSignal<string | null | undefined>) => void;
|
|
@@ -2934,6 +2959,9 @@ declare const injectMetaStore: _ethlete_core.InjectFn<{
|
|
|
2934
2959
|
removeTag: (id: symbol, selector?: string) => void;
|
|
2935
2960
|
getSelector: (config: MetaTagConfig) => string;
|
|
2936
2961
|
}>;
|
|
2962
|
+
/**
|
|
2963
|
+
* Binds a meta tag. Removes any pre-existing tags matching the same selector, unlike link bindings, which leave pre-existing links alone.
|
|
2964
|
+
*/
|
|
2937
2965
|
declare const applyMetaBinding: (binding: MaybeSignal<MetaTagConfig | null | undefined>) => void;
|
|
2938
2966
|
declare const applyDescriptionBinding: (binding: MaybeSignal<string | null | undefined>) => void;
|
|
2939
2967
|
declare const applyKeywordsBinding: (binding: MaybeSignal<string[] | null | undefined>) => void;
|
|
@@ -3065,11 +3093,11 @@ type TitleConfig = {
|
|
|
3065
3093
|
*/
|
|
3066
3094
|
transformer: (title: string, locale: string) => string;
|
|
3067
3095
|
/**
|
|
3068
|
-
* A title part to be
|
|
3096
|
+
* A title part to be suffixed to all titles
|
|
3069
3097
|
*/
|
|
3070
3098
|
suffixPart?: TitlePart;
|
|
3071
3099
|
/**
|
|
3072
|
-
* A title part to be
|
|
3100
|
+
* A title part to be prefixed to all titles
|
|
3073
3101
|
*/
|
|
3074
3102
|
prefixPart?: TitlePart;
|
|
3075
3103
|
};
|
|
@@ -3172,6 +3200,99 @@ declare class ColorInteractiveDirective {
|
|
|
3172
3200
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ColorInteractiveDirective, "[etColorInteractive]", never, {}, {}, never, never, true, never>;
|
|
3173
3201
|
}
|
|
3174
3202
|
|
|
3203
|
+
type ThemeRGBColor = `${number} ${number} ${number}`;
|
|
3204
|
+
type ThemeHSLColor = `${number} ${number}% ${number}%`;
|
|
3205
|
+
type ThemeColor = ThemeRGBColor | ThemeHSLColor;
|
|
3206
|
+
type ThemeColorMap = {
|
|
3207
|
+
default: ThemeColor;
|
|
3208
|
+
hover: ThemeColor;
|
|
3209
|
+
focus?: ThemeColor;
|
|
3210
|
+
active: ThemeColor;
|
|
3211
|
+
disabled: ThemeColor;
|
|
3212
|
+
};
|
|
3213
|
+
type OnThemeColorMap = {
|
|
3214
|
+
default: ThemeColor;
|
|
3215
|
+
hover?: ThemeColor;
|
|
3216
|
+
focus?: ThemeColor;
|
|
3217
|
+
active?: ThemeColor;
|
|
3218
|
+
disabled?: ThemeColor;
|
|
3219
|
+
};
|
|
3220
|
+
type ThemeInkColorMap = {
|
|
3221
|
+
default: ThemeColor;
|
|
3222
|
+
hover?: ThemeColor;
|
|
3223
|
+
focus?: ThemeColor;
|
|
3224
|
+
active?: ThemeColor;
|
|
3225
|
+
disabled?: ThemeColor;
|
|
3226
|
+
};
|
|
3227
|
+
type ThemeSwatch = {
|
|
3228
|
+
color: ThemeColorMap;
|
|
3229
|
+
onColor: OnThemeColorMap;
|
|
3230
|
+
inkColor?: ThemeInkColorMap;
|
|
3231
|
+
};
|
|
3232
|
+
type ColorThemeType = 'success' | 'warning' | 'error';
|
|
3233
|
+
type ColorTheme = {
|
|
3234
|
+
name: string;
|
|
3235
|
+
type?: ColorThemeType;
|
|
3236
|
+
isDefault?: boolean;
|
|
3237
|
+
primary: ThemeSwatch;
|
|
3238
|
+
secondary?: ThemeSwatch;
|
|
3239
|
+
tertiary?: ThemeSwatch;
|
|
3240
|
+
};
|
|
3241
|
+
/**
|
|
3242
|
+
* Augmentable registry for the literal set of color theme names an app defines. Left
|
|
3243
|
+
* empty by default, which keeps theme-name-accepting APIs (like `etProvideColor`) typed
|
|
3244
|
+
* as plain `string`.
|
|
3245
|
+
*
|
|
3246
|
+
* Apps that want those APIs checked and autocompleted against their own theme names
|
|
3247
|
+
* should augment this interface once, near where their themes are defined:
|
|
3248
|
+
*
|
|
3249
|
+
* ```ts
|
|
3250
|
+
* declare module '@ethlete/core' {
|
|
3251
|
+
* interface EthleteColorThemeNameRegistry {
|
|
3252
|
+
* name: 'pitch-green' | 'red' | 'light-grey';
|
|
3253
|
+
* }
|
|
3254
|
+
* }
|
|
3255
|
+
* ```
|
|
3256
|
+
*/
|
|
3257
|
+
interface EthleteColorThemeNameRegistry {
|
|
3258
|
+
}
|
|
3259
|
+
type RegisteredColorThemeName = EthleteColorThemeNameRegistry extends {
|
|
3260
|
+
name: infer N extends string;
|
|
3261
|
+
} ? N : string;
|
|
3262
|
+
/**
|
|
3263
|
+
* Reserved color name. Resolves the color tokens from the ambient surface's neutral swatch
|
|
3264
|
+
* (`SurfaceTheme['interactionColor']`) instead of a registered accent, so a secondary action can
|
|
3265
|
+
* read as chrome without the app registering a neutral color theme. Apps must not register a color
|
|
3266
|
+
* theme under this name.
|
|
3267
|
+
*/
|
|
3268
|
+
declare const SURFACE_COLOR = "surface";
|
|
3269
|
+
type SurfaceColor = typeof SURFACE_COLOR;
|
|
3270
|
+
/** Everything `[etProvideColor]` accepts: a registered theme name, a theme object, `surface`, or nothing. */
|
|
3271
|
+
type ColorThemeInput = RegisteredColorThemeName | SurfaceColor | ColorTheme | null;
|
|
3272
|
+
declare const createCssColorThemeName: (name: string) => string;
|
|
3273
|
+
declare const ɵProvideColorThemes: (valueOverride?: (ColorTheme | undefined)[] | undefined) => _angular_core.StaticProvider[];
|
|
3274
|
+
declare const injectColorThemes: _ethlete_core.InjectFn<ColorTheme[]>;
|
|
3275
|
+
declare const ɵProvideColorThemesPrefix: (valueOverride?: string | undefined) => _angular_core.StaticProvider[];
|
|
3276
|
+
declare const injectColorThemesPrefix: _ethlete_core.InjectFn<string>;
|
|
3277
|
+
declare const provideColorThemesWithTailwind4: (themes: ColorTheme[], prefix?: string) => _angular_core.StaticProvider[][];
|
|
3278
|
+
/**
|
|
3279
|
+
* A signal of the color theme for `type` on the surface this element renders on: the theme the nearest
|
|
3280
|
+
* surface names in `semanticColorThemes`, else the first registered theme of that `type`. Reading it throws
|
|
3281
|
+
* when the app registered no theme of that `type`, so read it only for a state that renders.
|
|
3282
|
+
*
|
|
3283
|
+
* @example
|
|
3284
|
+
* protected successTheme = injectSemanticColorTheme('success');
|
|
3285
|
+
* // <span [etProvideColor]="successTheme()">+12%</span>
|
|
3286
|
+
*/
|
|
3287
|
+
declare const injectSemanticColorTheme: (type: ColorThemeType) => Signal<ColorTheme>;
|
|
3288
|
+
/** @deprecated Use `injectSemanticColorTheme('error')`, which follows the surface the element renders on. */
|
|
3289
|
+
declare const injectErrorTheme: () => ColorTheme;
|
|
3290
|
+
/** @deprecated Use `injectSemanticColorTheme('warning')`, which follows the surface the element renders on. */
|
|
3291
|
+
declare const injectWarningTheme: () => ColorTheme;
|
|
3292
|
+
/** @deprecated Use `injectSemanticColorTheme('success')`, which follows the surface the element renders on. */
|
|
3293
|
+
declare const injectSuccessTheme: () => ColorTheme;
|
|
3294
|
+
declare const injectDefaultColorTheme: () => ColorTheme;
|
|
3295
|
+
|
|
3175
3296
|
declare const SURFACE_TYPE: {
|
|
3176
3297
|
readonly LIGHT: "light";
|
|
3177
3298
|
readonly DARK: "dark";
|
|
@@ -3211,6 +3332,17 @@ type SurfaceTheme = {
|
|
|
3211
3332
|
elevation: number;
|
|
3212
3333
|
isDefault?: boolean;
|
|
3213
3334
|
interactionColor?: SurfaceInteractionColor;
|
|
3335
|
+
/**
|
|
3336
|
+
* The registered color theme that serves a semantic `type` on this surface, e.g.
|
|
3337
|
+
* `{ success: 'success-on-light' }`. A `type` left out falls back to the first registered theme of
|
|
3338
|
+
* that `type`. Read by `injectSemanticColorTheme()`.
|
|
3339
|
+
*/
|
|
3340
|
+
semanticColorThemes?: Partial<Record<ColorThemeType, RegisteredColorThemeName>>;
|
|
3341
|
+
/**
|
|
3342
|
+
* The registered color theme a `[etProvideSurface]` element applies to its subtree, e.g. a darker
|
|
3343
|
+
* `brand-on-light` on a light surface. An `[etProvideColor]` on or above the surface element wins.
|
|
3344
|
+
*/
|
|
3345
|
+
colorTheme?: RegisteredColorThemeName;
|
|
3214
3346
|
background: SurfaceThemeColor;
|
|
3215
3347
|
color: SurfaceThemeColor;
|
|
3216
3348
|
colorMuted: SurfaceThemeColor;
|
|
@@ -3264,6 +3396,9 @@ declare class ProvideSurfaceDirective {
|
|
|
3264
3396
|
private injector;
|
|
3265
3397
|
private parentProvider;
|
|
3266
3398
|
private defaultTheme;
|
|
3399
|
+
private colorThemes;
|
|
3400
|
+
private colorPrefix;
|
|
3401
|
+
private colorProvider;
|
|
3267
3402
|
private currentProviderSync;
|
|
3268
3403
|
private forcedSurface;
|
|
3269
3404
|
surface: InputSignal<RegisteredSurfaceThemeName | null | undefined>;
|
|
@@ -3278,12 +3413,11 @@ declare class ProvideSurfaceDirective {
|
|
|
3278
3413
|
elevation: Signal<number>;
|
|
3279
3414
|
surfaceType: Signal<_ethlete_core.SurfaceType | null>;
|
|
3280
3415
|
surfaceName: Signal<string | undefined>;
|
|
3416
|
+
private colorThemeClass;
|
|
3281
3417
|
protected surfaceClass: Signal<string>;
|
|
3282
3418
|
syncWithProvider(provider: ProvideSurfaceDirective): void;
|
|
3283
3419
|
stopSyncWithProvider(): void;
|
|
3284
|
-
/** @internal */
|
|
3285
3420
|
forceSurface(surface: RegisteredSurfaceThemeName | null): void;
|
|
3286
|
-
/** @internal */
|
|
3287
3421
|
clearForcedSurface(): void;
|
|
3288
3422
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ProvideSurfaceDirective, never>;
|
|
3289
3423
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ProvideSurfaceDirective, "[etProvideSurface]", never, { "surface": { "alias": "etProvideSurface"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
@@ -3333,86 +3467,6 @@ declare class AutoSurfaceDirective {
|
|
|
3333
3467
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AutoSurfaceDirective, "[etAutoSurface]", never, { "surfaceProvider": { "alias": "surfaceProvider"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof ProvideSurfaceDirective; inputs: {}; outputs: {}; }]>;
|
|
3334
3468
|
}
|
|
3335
3469
|
|
|
3336
|
-
type ThemeRGBColor = `${number} ${number} ${number}`;
|
|
3337
|
-
type ThemeHSLColor = `${number} ${number}% ${number}%`;
|
|
3338
|
-
type ThemeColor = ThemeRGBColor | ThemeHSLColor;
|
|
3339
|
-
type ThemeColorMap = {
|
|
3340
|
-
default: ThemeColor;
|
|
3341
|
-
hover: ThemeColor;
|
|
3342
|
-
focus?: ThemeColor;
|
|
3343
|
-
active: ThemeColor;
|
|
3344
|
-
disabled: ThemeColor;
|
|
3345
|
-
};
|
|
3346
|
-
type OnThemeColorMap = {
|
|
3347
|
-
default: ThemeColor;
|
|
3348
|
-
hover?: ThemeColor;
|
|
3349
|
-
focus?: ThemeColor;
|
|
3350
|
-
active?: ThemeColor;
|
|
3351
|
-
disabled?: ThemeColor;
|
|
3352
|
-
};
|
|
3353
|
-
type ThemeInkColorMap = {
|
|
3354
|
-
default: ThemeColor;
|
|
3355
|
-
hover?: ThemeColor;
|
|
3356
|
-
focus?: ThemeColor;
|
|
3357
|
-
active?: ThemeColor;
|
|
3358
|
-
disabled?: ThemeColor;
|
|
3359
|
-
};
|
|
3360
|
-
type ThemeSwatch = {
|
|
3361
|
-
color: ThemeColorMap;
|
|
3362
|
-
onColor: OnThemeColorMap;
|
|
3363
|
-
inkColor?: ThemeInkColorMap;
|
|
3364
|
-
};
|
|
3365
|
-
type ColorThemeType = 'success' | 'warning' | 'error';
|
|
3366
|
-
type ColorTheme = {
|
|
3367
|
-
name: string;
|
|
3368
|
-
type?: ColorThemeType;
|
|
3369
|
-
isDefault?: boolean;
|
|
3370
|
-
primary: ThemeSwatch;
|
|
3371
|
-
secondary?: ThemeSwatch;
|
|
3372
|
-
tertiary?: ThemeSwatch;
|
|
3373
|
-
};
|
|
3374
|
-
/**
|
|
3375
|
-
* Augmentable registry for the literal set of color theme names an app defines. Left
|
|
3376
|
-
* empty by default, which keeps theme-name-accepting APIs (like `etProvideColor`) typed
|
|
3377
|
-
* as plain `string`.
|
|
3378
|
-
*
|
|
3379
|
-
* Apps that want those APIs checked and autocompleted against their own theme names
|
|
3380
|
-
* should augment this interface once, near where their themes are defined:
|
|
3381
|
-
*
|
|
3382
|
-
* ```ts
|
|
3383
|
-
* declare module '@ethlete/core' {
|
|
3384
|
-
* interface EthleteColorThemeNameRegistry {
|
|
3385
|
-
* name: 'pitch-green' | 'red' | 'light-grey';
|
|
3386
|
-
* }
|
|
3387
|
-
* }
|
|
3388
|
-
* ```
|
|
3389
|
-
*/
|
|
3390
|
-
interface EthleteColorThemeNameRegistry {
|
|
3391
|
-
}
|
|
3392
|
-
type RegisteredColorThemeName = EthleteColorThemeNameRegistry extends {
|
|
3393
|
-
name: infer N extends string;
|
|
3394
|
-
} ? N : string;
|
|
3395
|
-
/**
|
|
3396
|
-
* Reserved color name. Resolves the color tokens from the ambient surface's neutral swatch
|
|
3397
|
-
* (`SurfaceTheme['interactionColor']`) instead of a registered accent, so a secondary action can
|
|
3398
|
-
* read as chrome without the app registering a neutral color theme. Apps must not register a color
|
|
3399
|
-
* theme under this name.
|
|
3400
|
-
*/
|
|
3401
|
-
declare const SURFACE_COLOR = "surface";
|
|
3402
|
-
type SurfaceColor = typeof SURFACE_COLOR;
|
|
3403
|
-
/** Everything `[etProvideColor]` accepts: a registered theme name, a theme object, `surface`, or nothing. */
|
|
3404
|
-
type ColorThemeInput = RegisteredColorThemeName | SurfaceColor | ColorTheme | null;
|
|
3405
|
-
declare const createCssColorThemeName: (name: string) => string;
|
|
3406
|
-
declare const ɵProvideColorThemes: (valueOverride?: (ColorTheme | undefined)[] | undefined) => _angular_core.StaticProvider[];
|
|
3407
|
-
declare const injectColorThemes: _ethlete_core.InjectFn<ColorTheme[]>;
|
|
3408
|
-
declare const ɵProvideColorThemesPrefix: (valueOverride?: string | undefined) => _angular_core.StaticProvider[];
|
|
3409
|
-
declare const injectColorThemesPrefix: _ethlete_core.InjectFn<string>;
|
|
3410
|
-
declare const provideColorThemesWithTailwind4: (themes: ColorTheme[], prefix?: string) => _angular_core.StaticProvider[][];
|
|
3411
|
-
declare const injectErrorTheme: () => ColorTheme;
|
|
3412
|
-
declare const injectWarningTheme: () => ColorTheme;
|
|
3413
|
-
declare const injectSuccessTheme: () => ColorTheme;
|
|
3414
|
-
declare const injectDefaultColorTheme: () => ColorTheme;
|
|
3415
|
-
|
|
3416
3470
|
/** One choice in a {@link provideColorPalette} palette. */
|
|
3417
3471
|
type ColorPaletteEntry = {
|
|
3418
3472
|
/** The color theme this choice selects - a name the app registered with `provideColorThemesWithTailwind4`. */
|
|
@@ -3420,25 +3474,51 @@ type ColorPaletteEntry = {
|
|
|
3420
3474
|
/** What a user reads next to the swatch. Provide it already translated. */
|
|
3421
3475
|
label: string;
|
|
3422
3476
|
};
|
|
3477
|
+
/**
|
|
3478
|
+
* One palette per surface theme the app registered, keyed by the surface theme name. `default` is
|
|
3479
|
+
* used on every surface without its own list. Every list must keep the same order.
|
|
3480
|
+
*/
|
|
3481
|
+
type ColorPaletteBySurface = {
|
|
3482
|
+
default: ColorPaletteEntry[];
|
|
3483
|
+
} & Partial<Record<RegisteredSurfaceThemeName, ColorPaletteEntry[]>>;
|
|
3484
|
+
type ColorPaletteConfig = ColorPaletteEntry[] | ColorPaletteBySurface;
|
|
3423
3485
|
/**
|
|
3424
3486
|
* The color themes a subtree may offer a user as pickable choices, in the order they should appear.
|
|
3425
3487
|
* A curated slice of what `provideColorThemesWithTailwind4` registered: an app registers every theme
|
|
3426
3488
|
* it renders with, including ones nobody should pick by hand (`error`, `warning`), and adds the
|
|
3427
3489
|
* user-facing label a swatch needs.
|
|
3428
3490
|
*
|
|
3429
|
-
*
|
|
3430
|
-
*
|
|
3491
|
+
* Pass one list, or one list per registered surface theme name plus a `default`. The charts draw with
|
|
3492
|
+
* the list of the surface they sit on; a color picker always offers the `default` list.
|
|
3431
3493
|
*
|
|
3432
3494
|
* @example
|
|
3433
3495
|
* provideColorPalette([
|
|
3434
3496
|
* { token: 'brand', label: 'Team green' },
|
|
3435
3497
|
* { token: 'ocean', label: 'Training blue' },
|
|
3436
3498
|
* ]);
|
|
3499
|
+
*
|
|
3500
|
+
* @example
|
|
3501
|
+
* provideColorPalette({
|
|
3502
|
+
* default: [{ token: 'ocean', label: 'Training' }],
|
|
3503
|
+
* 'dark-card': [{ token: 'ocean-bright', label: 'Training' }],
|
|
3504
|
+
* });
|
|
3505
|
+
*/
|
|
3506
|
+
declare const provideColorPalette: (palette: ColorPaletteConfig) => _angular_core.StaticProvider[];
|
|
3507
|
+
/**
|
|
3508
|
+
* The palette from {@link provideColorPalette}; with one list per surface, the `default` list. Pass
|
|
3509
|
+
* `{ optional: true }` - most apps provide none.
|
|
3437
3510
|
*/
|
|
3438
|
-
declare
|
|
3439
|
-
|
|
3440
|
-
|
|
3441
|
-
|
|
3511
|
+
declare function injectColorPalette(): ColorPaletteEntry[];
|
|
3512
|
+
declare function injectColorPalette(options: InjectOptions & {
|
|
3513
|
+
optional?: false;
|
|
3514
|
+
}): ColorPaletteEntry[];
|
|
3515
|
+
declare function injectColorPalette(options: InjectOptions): ColorPaletteEntry[] | null;
|
|
3516
|
+
/**
|
|
3517
|
+
* The palette from {@link provideColorPalette} for the surface the current subtree renders on: that
|
|
3518
|
+
* surface theme's list, else the `default` list. `null` when no palette is provided.
|
|
3519
|
+
*/
|
|
3520
|
+
declare const injectSurfaceColorPalette: () => Signal<ColorPaletteEntry[] | null>;
|
|
3521
|
+
declare const COLOR_PALETTE: _angular_core.InjectionToken<ColorPaletteConfig>;
|
|
3442
3522
|
|
|
3443
3523
|
/**
|
|
3444
3524
|
* @deprecated Migrate to Tailwind v4. Intent to remove in v6.
|
|
@@ -3483,8 +3563,6 @@ declare const COLOR_PROVIDER: InjectionToken<ProvideColorDirective>;
|
|
|
3483
3563
|
* it through element DI, so overlay containers fall back to this when resolving the provider to
|
|
3484
3564
|
* `syncWithProvider()` - resolve at sync time, not at injection time, since root components only
|
|
3485
3565
|
* register with `ApplicationRef` once bootstrap completes.
|
|
3486
|
-
*
|
|
3487
|
-
* @internal
|
|
3488
3566
|
*/
|
|
3489
3567
|
declare const resolveAppRootColorProvider: (appRef: ApplicationRef) => ProvideColorDirective | null;
|
|
3490
3568
|
declare class ProvideColorDirective {
|
|
@@ -3492,6 +3570,7 @@ declare class ProvideColorDirective {
|
|
|
3492
3570
|
private prefix;
|
|
3493
3571
|
private injector;
|
|
3494
3572
|
private parentProvider;
|
|
3573
|
+
private appRef;
|
|
3495
3574
|
private currentProviderSync;
|
|
3496
3575
|
private forcedColor;
|
|
3497
3576
|
color: InputSignal<ColorThemeInput | undefined>;
|
|
@@ -3508,9 +3587,7 @@ declare class ProvideColorDirective {
|
|
|
3508
3587
|
protected themeClass: _angular_core.Signal<string>;
|
|
3509
3588
|
syncWithProvider(provider: ProvideColorDirective): void;
|
|
3510
3589
|
stopSyncWithProvider(): void;
|
|
3511
|
-
/** @internal */
|
|
3512
3590
|
forceColor(color: ColorThemeInput): void;
|
|
3513
|
-
/** @internal */
|
|
3514
3591
|
clearForcedColor(): void;
|
|
3515
3592
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ProvideColorDirective, never>;
|
|
3516
3593
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ProvideColorDirective, "[etProvideColor]", never, { "color": { "alias": "etProvideColor"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
@@ -3565,8 +3642,9 @@ type UnsavedChangesAbandonReason = 'logout' | (string & {});
|
|
|
3565
3642
|
type UnsavedChangesConfirmContext = {
|
|
3566
3643
|
/**
|
|
3567
3644
|
* Aborts when the session this confirm belongs to ends underneath it - a logout, or an explicit
|
|
3568
|
-
* `abandonAll()`.
|
|
3569
|
-
*
|
|
3645
|
+
* `abandonAll()`. An `Observable` confirm is unsubscribed when it fires; a confirm that returns a
|
|
3646
|
+
* `Promise` must **close its dialog itself**, otherwise it is left on screen over a page the user has
|
|
3647
|
+
* already been redirected away from. The guard itself stops waiting either way.
|
|
3570
3648
|
*
|
|
3571
3649
|
* ```ts
|
|
3572
3650
|
* confirm: (value, { signal }) => {
|
|
@@ -3578,7 +3656,7 @@ type UnsavedChangesConfirmContext = {
|
|
|
3578
3656
|
*/
|
|
3579
3657
|
signal: AbortSignal;
|
|
3580
3658
|
};
|
|
3581
|
-
/**
|
|
3659
|
+
/** A live tracker, as seen by the coordinator. */
|
|
3582
3660
|
type UnsavedChangesRegistration = {
|
|
3583
3661
|
abandon: (reason: UnsavedChangesAbandonReason) => void;
|
|
3584
3662
|
/**
|
|
@@ -3661,7 +3739,7 @@ type UnsavedChangesTabConfig = {
|
|
|
3661
3739
|
* {@link UNSAVED_CHANGES_TITLE_MARKER}, a string is used as-is.
|
|
3662
3740
|
*
|
|
3663
3741
|
* Goes through the core title store (`injectTitleStore`), so the app's title must be owned by it
|
|
3664
|
-
* (`applyHeadTitleBinding` /
|
|
3742
|
+
* (`applyHeadTitleBinding` / `applySocialMediaBindings`) - an app that writes `document.title` by some
|
|
3665
3743
|
* other means would fight the store over it.
|
|
3666
3744
|
* @default false
|
|
3667
3745
|
*/
|
|
@@ -3750,10 +3828,11 @@ type CreateUnsavedChangesTrackerConfig<T> = {
|
|
|
3750
3828
|
*/
|
|
3751
3829
|
defaultValue?: T | (() => T);
|
|
3752
3830
|
/**
|
|
3753
|
-
*
|
|
3831
|
+
* Runs only when there are changes to discard. Defaults to the confirm set with
|
|
3832
|
+
* `provideUnsavedChangesConfirm()`; without either, dev mode throws `ET9100`.
|
|
3754
3833
|
* @see UnsavedChangesConfirmFn
|
|
3755
3834
|
*/
|
|
3756
|
-
confirm
|
|
3835
|
+
confirm?: UnsavedChangesConfirmFn<T>;
|
|
3757
3836
|
/**
|
|
3758
3837
|
* Custom equality between the current value and the default. Deep-equal by default.
|
|
3759
3838
|
*
|
|
@@ -3820,6 +3899,25 @@ type UnsavedChangesTrackerRef<T> = {
|
|
|
3820
3899
|
*/
|
|
3821
3900
|
declare const createUnsavedChangesTracker: <T>(config: CreateUnsavedChangesTrackerConfig<T>) => UnsavedChangesTrackerRef<T>;
|
|
3822
3901
|
|
|
3902
|
+
/** The confirm an unsaved-changes tracker or guard runs when its own config has none. */
|
|
3903
|
+
declare const UNSAVED_CHANGES_CONFIRM: InjectionToken<UnsavedChangesConfirmFn<unknown>>;
|
|
3904
|
+
/**
|
|
3905
|
+
* Sets the confirm every unsaved-changes tracker and guard below this injector runs when its config has no
|
|
3906
|
+
* `confirm`. `factory` runs once, in an injection context, and returns the confirm.
|
|
3907
|
+
*
|
|
3908
|
+
* @example
|
|
3909
|
+
* provideUnsavedChangesConfirm(() => {
|
|
3910
|
+
* const dialogs = inject(MyDialogs);
|
|
3911
|
+
* return () => dialogs.confirmDiscard();
|
|
3912
|
+
* });
|
|
3913
|
+
*/
|
|
3914
|
+
declare const provideUnsavedChangesConfirm: (factory: () => UnsavedChangesConfirmFn<unknown>) => Provider;
|
|
3915
|
+
|
|
3916
|
+
declare const UNSAVED_CHANGES_ERROR_CODES: {
|
|
3917
|
+
/** An unsaved-changes tracker or guard has no `confirm`, and no `provideUnsavedChangesConfirm()` is in scope. */
|
|
3918
|
+
readonly MISSING_CONFIRM: 9100;
|
|
3919
|
+
};
|
|
3920
|
+
|
|
3823
3921
|
type CreateUnsavedChangesGuardConfig<T> = CreateUnsavedChangesTrackerConfig<T>;
|
|
3824
3922
|
type UnsavedChangesGuardRef<T> = UnsavedChangesTrackerRef<T> & {
|
|
3825
3923
|
/**
|
|
@@ -3841,7 +3939,7 @@ type UnsavedChangesGuardRef<T> = UnsavedChangesTrackerRef<T> & {
|
|
|
3841
3939
|
declare const createUnsavedChangesGuard: <T>(config: CreateUnsavedChangesGuardConfig<T>) => UnsavedChangesGuardRef<T>;
|
|
3842
3940
|
|
|
3843
3941
|
/** The version of `@ethlete/core` this build was cut from. */
|
|
3844
|
-
declare const CORE_VERSION = "5.0.0-next.
|
|
3942
|
+
declare const CORE_VERSION = "5.0.0-next.62";
|
|
3845
3943
|
|
|
3846
|
-
export { ANIMATABLE_TOKEN, ANIMATED_IF_TOKEN, ANIMATED_LIFECYCLE_TOKEN, ANIMATION_DEBUG_STORAGE_KEY, AT_LEAST_ONE_REQUIRED, AnimatableDirective, AnimatedIfDirective, AnimatedLifecycleDirective, AutoSurfaceDirective, BOUNDARY_ELEMENT_TOKEN, BREAKPOINT_INSTANCE_TOKEN, BREAKPOINT_ORDER, COLOR_PALETTE, COLOR_PROVIDER, CORE_VERSION, ClickOutsideDirective, ColorInteractiveContainerDirective, ColorInteractiveDirective, ColorInteractiveExcludeDirective, ColorInteractiveHasFocusDirective, DEFAULT_MULTI_INSTANCE_RELS, DEFAULT_MULTI_INSTANCE_TAGS, DEFAULT_OVERLAY_LAYER, DEFAULT_VIEWPORT_CONFIG, DISABLE_LOGGER_PARAM, DragHandleDirective, ET_DISABLE_SCROLL_TOP, ET_DISABLE_SCROLL_TOP_AS_RETURN_ROUTE, ET_DISABLE_SCROLL_TOP_ON_PATH_PARAM_CHANGE, ET_PROPERTY_REMOVED, ET_RESTORE_SCROLL, EasingTokensStylesComponent, EthleteValidators, FOCUSABLE_SELECTOR, FOCUS_VISIBLE_TRACKER_TOKEN, HtmlToMarkdownPipe, IS_ARRAY_NOT_EMPTY, IS_EMAIL, InferMimeTypePipe, InitialsPipe, IsArrayNotEmpty, IsEmail, jsonLd_d as JsonLD, KeyPressManager, MUST_MATCH, MarkdownToHtmlPipe, MatchStateType, MustMatch, NOTIFICATION_CLICK_MESSAGE_TYPE, NormalizeGameResultTypePipe, NormalizeMatchParticipantsPipe, NormalizeMatchScorePipe, NormalizeMatchStatePipe, NormalizeMatchTypePipe, OVERLAY_LAYER_ATTRIBUTE, ProvideColorDirective, ProvideSurfaceDirective, RUNTIME_ERROR_NO_DATA, RepeatDirective, ResizeHandlesComponent, RestoreScrollDirective, RuntimeError, SURFACE_COLOR, SURFACE_PROVIDER, SURFACE_TYPE, SWIPE_VELOCITY_WINDOW_MS, ScrollObserverDirective, ScrollObserverEndDirective, ScrollObserverStartDirective, SlugifyPipe, StructuredDataComponent, SurfaceInteractiveDirective, ToArrayPipe, TypedQueryList, UNSAVED_CHANGES_TITLE_MARKER, ValidateAtLeastOneRequired, anchoredOverlayPosition, animationDebugLog, applyAlternateBinding, applyAlternateLanguagesBindings, applyArticleBindings, applyAuthorBinding, applyCanonicalBinding, applyCenteredPosition, applyDescriptionBinding, applyFaviconOverlay, applyGlobalPosition, applyHeadBinding, applyHeadTitleBinding, applyHeadTitleMarker, applyHostListener, applyHostListeners, applyInitialFocus, applyKeywordsBinding, applyLinkBinding, applyMetaBinding, applyNextBinding, applyOgBinding, applyOpenGraphBindings, applyPrevBinding, applyResourceHintsBindings, applyRobotsBinding, applySocialMediaBindings, applyStructuredDataBinding, applyTwitterCardBindings, boolBreakpointTransform, boundingClientRectToElementRect, breakpointTransformBase, buildElementSignal, buildSignalEffects, canUseSessionMemory, clamp, clone, cloneFormGroup, computedTillFalsy, computedTillTruthy, controlValueSignal, controlValueSignalWithPrevious, copyToClipboard, createAnchoredPositionCleanup, createArrayPropertyBinding, createAutoSessionMemoryKey, createCanAnimateSignal, createComponentId, createCssColorThemeName, createCssSurfaceName, createDestroy, createDocumentElementSignal, createElementDimensions, createEmptyElementSignal, createFlipAnimation, createFlipAnimationGroup, createIsRenderedSignal, createLogger, createObjectUrlHandle,
|
|
3847
|
-
export type { AlternateLanguagesConfig,
|
|
3944
|
+
export { ANIMATABLE_TOKEN, ANIMATED_IF_TOKEN, ANIMATED_LIFECYCLE_TOKEN, ANIMATION_DEBUG_STORAGE_KEY, ANIMATION_ERROR_CODES, AT_LEAST_ONE_REQUIRED, AnimatableDirective, AnimatedIfDirective, AnimatedLifecycleDirective, AutoSurfaceDirective, BOUNDARY_ELEMENT_TOKEN, BREAKPOINT_INSTANCE_TOKEN, BREAKPOINT_ORDER, COLOR_PALETTE, COLOR_PROVIDER, CORE_VERSION, ClickOutsideDirective, ColorInteractiveContainerDirective, ColorInteractiveDirective, ColorInteractiveExcludeDirective, ColorInteractiveHasFocusDirective, DEFAULT_MULTI_INSTANCE_RELS, DEFAULT_MULTI_INSTANCE_TAGS, DEFAULT_OVERLAY_LAYER, DEFAULT_VIEWPORT_CONFIG, DISABLE_LOGGER_PARAM, DragHandleDirective, ET_DISABLE_SCROLL_TOP, ET_DISABLE_SCROLL_TOP_AS_RETURN_ROUTE, ET_DISABLE_SCROLL_TOP_ON_PATH_PARAM_CHANGE, ET_PROPERTY_REMOVED, ET_RESTORE_SCROLL, EasingTokensStylesComponent, EthleteValidators, FOCUSABLE_SELECTOR, FOCUS_VISIBLE_TRACKER_TOKEN, HtmlToMarkdownPipe, IS_ARRAY_NOT_EMPTY, IS_EMAIL, InferMimeTypePipe, InitialsPipe, IsArrayNotEmpty, IsEmail, jsonLd_d as JsonLD, KeyPressManager, MARKDOWN_VERBATIM_ATTR, MUST_MATCH, MarkdownToHtmlPipe, MatchStateType, MustMatch, NOTIFICATION_CLICK_MESSAGE_TYPE, NormalizeGameResultTypePipe, NormalizeMatchParticipantsPipe, NormalizeMatchScorePipe, NormalizeMatchStatePipe, NormalizeMatchTypePipe, OVERLAY_LAYER_ATTRIBUTE, ProvideColorDirective, ProvideSurfaceDirective, RUNTIME_ERROR_NO_DATA, RepeatDirective, ResizeHandlesComponent, RestoreScrollDirective, RuntimeError, SURFACE_COLOR, SURFACE_PROVIDER, SURFACE_TYPE, SWIPE_VELOCITY_WINDOW_MS, ScrollObserverDirective, ScrollObserverEndDirective, ScrollObserverStartDirective, SlugifyPipe, StructuredDataComponent, SurfaceInteractiveDirective, ToArrayPipe, TypedQueryList, UNSAVED_CHANGES_CONFIRM, UNSAVED_CHANGES_ERROR_CODES, UNSAVED_CHANGES_TITLE_MARKER, ValidateAtLeastOneRequired, VisuallyHiddenStylesComponent, anchoredOverlayPosition, animationDebugLog, applyAlternateBinding, applyAlternateLanguagesBindings, applyArticleBindings, applyAuthorBinding, applyCanonicalBinding, applyCenteredPosition, applyDescriptionBinding, applyFaviconOverlay, applyGlobalPosition, applyHeadBinding, applyHeadTitleBinding, applyHeadTitleMarker, applyHostListener, applyHostListeners, applyInitialFocus, applyKeywordsBinding, applyLinkBinding, applyMetaBinding, applyNextBinding, applyOgBinding, applyOpenGraphBindings, applyPrevBinding, applyResourceHintsBindings, applyRobotsBinding, applySocialMediaBindings, applyStructuredDataBinding, applyTwitterCardBindings, boolBreakpointTransform, boundingClientRectToElementRect, breakpointTransformBase, buildElementSignal, buildSignalEffects, canUseSessionMemory, clamp, clone, cloneFormGroup, computedTillFalsy, computedTillTruthy, controlValueSignal, controlValueSignalWithPrevious, copyToClipboard, createAnchoredPositionCleanup, createArrayPropertyBinding, createAutoSessionMemoryKey, createCanAnimateSignal, createComponentId, createCssColorThemeName, createCssSurfaceName, createDestroy, createDocumentElementSignal, createElementDimensions, createEmptyElementSignal, createFlipAnimation, createFlipAnimationGroup, createIsRenderedSignal, createLogger, createObjectUrlHandle, createPropertyBinding, createRootThemeCss, createRoute, createRouterState, createRxHostListener, createSessionMemory, createSwatchCss, createSwipeTracker, createTailwindColorThemes, createTailwindCssVar, createTailwindRgbVar, createThemeStyle, createUnsavedChangesGuard, createUnsavedChangesTabLock, createUnsavedChangesTracker, createUserConsentProvider, deferredSignal, defineLabels, defineProvider, defineRootProvider, defineStaticProvider, defineStaticRootProvider, deleteCookie, dragGestureFrom, easeElastic, easeIn, easeInOut, easeLinear, easeOut, easeOutBack, easeOutBackStrong, elementCanScroll, enableAnchoredOverlayPositionExtras, equal, fetchDeployedBuildFingerprint$, firstElementSignal, focusElement, forceReflow, formatRuntimeError, fromNextFrame, getCookie, getDomain, getElementScrollCoordinates, getFocusableElements, getFormGroupValue, getGroupMatchPoints, getGroupMatchScore, getHeadingElement, getKnockoutMatchScore, getMatchScoreSubLine, getObjectProperty, getScrollContainerTarget, getScrollItemTarget, getScrollSnapTarget, hasCookie, holdScrollRestoration, htmlToMarkdown, inferMimeType, initials, injectAngularRootElement, injectAnimatedBlockSize, injectAppUpdates, injectAppUpdatesConfig, injectBoundaryElement, injectBreakpointInput, injectBreakpointIsMatched, injectBreakpointObserver, injectCanHover, injectColorPalette, injectColorThemes, injectColorThemesPrefix, injectCurrentBreakpoint, injectDefaultColorTheme, injectDefaultSurfaceTheme, injectDeviceInputType, injectDisplayOrientation, injectErrorTheme, injectFaviconStore, injectFileDownload, injectFocusVisibleTracker, injectFragment, injectHasPrecisionInput, injectHasTouchInput, injectHostElement, injectIs2Xl, injectIsDocumentVisible, injectIsLandscape, injectIsLg, injectIsMd, injectIsPortrait, injectIsRouterInitialized, injectIsSm, injectIsXl, injectIsXs, injectLinkStore, injectLinkStoreConfig, injectLocale, injectMediaQueryIsMatched, injectMetaConfig, injectMetaStore, injectNotifications, injectObserveBreakpoint, injectObserveMediaQuery, injectOverlayRuntime, injectParentSurface, injectPathParam, injectPathParamChanges, injectPathParams, injectPrefersReducedMotion, injectQueryParam, injectQueryParamAll, injectQueryParamChanges, injectQueryParams, injectRenderer, injectRoute, injectRouteData, injectRouteDataItem, injectRouteTitle, injectRouterEvent, injectRouterNavigationState, injectRouterState, injectScrollbarDimensions, injectSemanticColorTheme, injectStructuredDataConfig, injectStructuredDataStore, injectStyleManager, injectSuccessTheme, injectSurfaceColorPalette, injectSurfaceContextTracker, injectSurfaceThemes, injectSurfaceThemesPrefix, injectSurfaceType, injectTemplateRef, injectTitleConfig, injectTitleStore, injectUnsavedChangesCoordinator, injectUrl, injectViewportConfig, injectViewportDimensions, injectViewportSize, injectWarningTheme, isAnimationDebugEnabled, isArray, isElement, isElementSignal, isElementVisible, isFocusable, isGroupMatch, isHTMLElement, isHTMLOrSVGElement, isKnockoutMatch, isObject, isOnHigherOverlayLayer, isSafeLinkUrl, isSafeUrl, isStaleBuildError, markdownToHtml, matchesReducedMotion, maybeSignalValue, memoizeSignal, mountEasingTokens, mountVisuallyHidden, nextFrame, normalizeGameResultType, normalizeMatchParticipant, normalizeMatchParticipants, normalizeMatchScore, normalizeMatchState, normalizeMatchType, normalizeUnsavedChangesSource, numberBreakpointTransform, onOverlayViewportInsetsChange, optionalBooleanAttribute, overlayViewportInsets, overlayViewportInsetsFor, ownsActiveElement, previousSignalValue, provideAppUpdates, provideAppUpdatesConfig, provideAppUpdatesInstance, provideBoundaryElement, provideBreakpointInstance, provideBreakpointObserver, provideColorPalette, provideColorThemes, provideColorThemesWithTailwind4, provideFaviconStore, provideFocusVisibleTracker, provideLinkStore, provideLinkStoreConfig, provideLocale, provideMetaConfig, provideMetaStore, provideNotifications, provideOverlayRuntime, provideRenderer, provideStructuredDataConfig, provideStructuredDataStore, provideStyleManager, provideSurfaceContextTracker, provideSurfaceThemesWithTailwind4, provideTitleConfig, provideTitleStore, provideUnsavedChangesConfirm, provideUnsavedChangesCoordinator, provideViewportConfig, randomId, readBuildFingerprint, readFromClipboard, reserveOverlayViewportSpace, resolveAppRootColorProvider, resolveOverlayLayer, resolveSurfaceByElevation, round, routerDisableScrollTop, routerRestoreScroll, scrollToElement, setCookie, setInputSignal, setupFocusTrap, setupPositioning, setupScrollRestoration, signalAnimatedNumber, signalAttributes, signalClasses, signalCountdown, signalDeferredLoading, signalElementChildren, signalElementDimensions, signalElementIntersection, signalElementLastScrollDirection, signalElementMutations, signalElementScrollState, signalHostAttributes, signalHostClasses, signalHostElementDimensions, signalHostElementIntersection, signalHostElementLastScrollDirection, signalHostElementMutations, signalHostElementScrollState, signalHostStyles, signalIsRendered, signalStyles, slugify, suppressTextSelection, switchQueryListChanges, syncSignal, toArray, toArrayTrackByFn, toInjectFn, toProvideFn, toStringBinding, toToken, transformOrReturn, typedBreakpointTransform, useCursorDragScroll, writeScrollbarSizeToCssVariables, writeViewportSizeToCssVariables, ɵProvideColorThemes, ɵProvideColorThemesPrefix, ɵProvideSurfaceThemes, ɵProvideSurfaceThemesPrefix };
|
|
3945
|
+
export type { AlternateLanguagesConfig, AngularRenderer, AnimatedBlockSizeConfig, AnimatedIfContext, AnimatedLifecycleState, AnimatedNumberSignal, AnimatedSizeAxis, AnimationEndEvent, AppUpdates, AppUpdatesConfig, ArticleConfig, BoolBreakpointSignal, Breakpoint, BreakpointInput, BreakpointMap, BuildMediaQueryOptions, BuildSignalEffectsConfig, ColorPaletteBySurface, ColorPaletteConfig, ColorPaletteEntry, ColorTheme, ColorThemeInput, ColorThemeType, ConsentHandler, ControlValueSignalOptions, Countdown, CountdownDeadline, CreateLoggerConfig, CreateSessionMemoryConfig, CreateUnsavedChangesGuardConfig, CreateUnsavedChangesTabLockConfig, CreateUnsavedChangesTrackerConfig, CreateUserConsentProviderOptions, CurrentElementVisibility, CursorDragScrollDirection, CursorDragScrollOptions, DragEndEvent, DragGestureEvent, DragMoveEvent, DragStartEvent, ElementDimensions, ElementLastScrollDirection, ElementLastScrollDirectionType, ElementRect, ElementScrollState, ElementSignal, ElementSignalValue, ElementSize, EthleteColorThemeNameRegistry, EthleteSurfaceThemeNameRegistry, FaviconOverlay, FileDownloadOptions, FlipAnimationConfig, InjectFn, InjectQueryParamAllConfig, InjectQueryParamConfig, InjectUtilConfig, InjectUtilTransformConfig, IntersectionObserverEntryWithDetails, IsElementVisibleOptions, LabelsDefinition, LabelsSource, LinkConfig, LinkStoreConfig, LogicalSize, MaybeSignal, MetaConfig, MetaTagConfig, NgClassType, NormalizedGameResultType, NormalizedMatchParticipant, NormalizedMatchParticipants, NormalizedMatchScore, NormalizedUnsavedChangesSource, NotificationActionConfig, NotificationClickContext, NotificationClickMessage, NotificationDeliveryPath, NotificationPermissionState, NotificationRef, Notifications, NullableElementDimensions, NumberBreakpointSignal, ObjectUrlHandle, OnThemeColorMap, OpenGraphConfig, OverlayRuntime, OverlayRuntimeAnchoredPosition, OverlayRuntimeAnimationDelegate, OverlayRuntimeAnimationDelegateEnterContext, OverlayRuntimeAnimationDelegateLeaveContext, OverlayRuntimeAutoFocusTarget, OverlayRuntimeCenteredPosition, OverlayRuntimeCloseEvent, OverlayRuntimeCloseGuard, OverlayRuntimeCloseSource, OverlayRuntimeComponentBase, OverlayRuntimeElements, OverlayRuntimeGlobalPosition, OverlayRuntimeGlobalPositionAlignment, OverlayRuntimeMountConfig, OverlayRuntimePositionStrategy, OverlayRuntimeRef, OverlayRuntimeRole, OverlayRuntimeShiftOptions, OverlayRuntimeState, OverlayViewportInset, OverlayViewportReservation, ProviderDefinition, ProviderDefinitionOptions, RegisteredColorThemeName, RegisteredSurfaceThemeName, ResizeEdge, ResizeMoveEvent, ResourceHintsConfig, RobotsConfig, RouterDisableScrollTopConfig, RouterState, ScrollContainerTarget, ScrollItemTarget, ScrollRestorationRestoreConfig, ScrollRestorationScrollElement, ScrollSnapOrigin, ScrollSnapTarget, ScrollToElementOptions, SetupScrollRestorationConfig, ShowNotificationConfig, SignalAnimatedNumberOptions, SignalDeferredLoadingOptions, SignalElementBindingComplexType, SignalElementBindingType, SignalElementChildrenOptions, SignalElementIntersectionOptions, SignalElementScrollStateOptions, SocialMediaConfig, StaticProviderDefinition, StructuredDataConfig, StyleManager, SurfaceColor, SurfaceContextEntry, SurfaceContextSurface, SurfaceContextTracker, SurfaceInteractionColor, SurfaceInteractionColorMap, SurfaceOnInteractionColorMap, SurfaceTheme, SurfaceThemeColor, SurfaceType, SwipeEndEvent, SwipeTracker, SwipeUpdateEvent, SyncSignalOptions, ThemeColor, ThemeColorMap, ThemeHSLColor, ThemeInkColorMap, ThemeRGBColor, ThemeSwatch, TitleConfig, TitlePart, Translatable, TwitterCardConfig, TypedBreakpointSignal, UnsavedChangesAbandonReason, UnsavedChangesConfirmContext, UnsavedChangesConfirmFn, UnsavedChangesGuardRef, UnsavedChangesRegistration, UnsavedChangesSource, UnsavedChangesTabConfig, UnsavedChangesTabLockRef, UnsavedChangesTrackerRef, ValidateAtLeastOneRequiredConfig, Vec2, ViewportConfig };
|