@ethlete/core 5.0.0-next.21 → 5.0.0-next.23

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 CHANGED
@@ -1,5 +1,28 @@
1
1
  # @ethlete/core
2
2
 
3
+ ## 5.0.0-next.23
4
+
5
+ ### Major Changes
6
+
7
+ - [`11ce5e1`](https://github.com/ethlete-io/ethdk/commit/11ce5e1795249a6b975dab2eab7e8e2a9c9bc979) Thanks [@TomTomB](https://github.com/TomTomB)! - Overlay: replace the `inputBindings` / `outputBindings` config objects with a
8
+ single `bindings` array using Angular's native binding API. Bind overlay
9
+ component inputs, outputs, and two-way models with `inputBinding`,
10
+ `outputBinding`, and `twoWayBinding` from `@angular/core`.
11
+
12
+ ## 5.0.0-next.22
13
+
14
+ ### Minor Changes
15
+
16
+ - [`ea1eb65`](https://github.com/ethlete-io/ethdk/commit/ea1eb656b4f1144602830a3cd27a521ca50a9d06) Thanks [@TomTomB](https://github.com/TomTomB)! - Theming: add `AutoSurfaceDirective` (`etAutoSurface`), which resolves the surface
17
+ theme one elevation above its parent (or an explicitly provided) surface context
18
+ and applies it through a host `ProvideSurfaceDirective`. Meant to be used as a
19
+ host directive on components that render inside a detached overlay pane, where
20
+ surface context can't cascade through the DOM.
21
+
22
+ Tooltip and toggletip now use `AutoSurfaceDirective` as a host directive instead
23
+ of duplicating the auto-surface resolution logic. No change to their rendered
24
+ surface.
25
+
3
26
  ## 5.0.0-next.21
4
27
 
5
28
  ### Minor Changes
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, ElementRef, Directive, assertInInjectionContext, DestroyRef, TemplateRef, QueryList, NgZone, signal, isSignal, untracked, DOCUMENT, linkedSignal, isDevMode, computed, afterNextRender, effect, EnvironmentInjector, runInInjectionContext, Injector, booleanAttribute, numberAttribute, RendererStyleFlags2, PLATFORM_ID, ApplicationRef, RendererFactory2, createComponent, model, ViewContainerRef, input, output, inputBinding, outputBinding, Pipe, ViewEncapsulation, Component } from '@angular/core';
2
+ import { InjectionToken, inject, ElementRef, Directive, assertInInjectionContext, DestroyRef, TemplateRef, QueryList, NgZone, signal, isSignal, untracked, DOCUMENT, linkedSignal, isDevMode, computed, afterNextRender, effect, EnvironmentInjector, runInInjectionContext, Injector, booleanAttribute, numberAttribute, RendererStyleFlags2, PLATFORM_ID, ApplicationRef, RendererFactory2, createComponent, model, ViewContainerRef, input, output, Pipe, ViewEncapsulation, Component } from '@angular/core';
3
3
  import { takeUntilDestroyed, toSignal, toObservable, outputFromObservable } from '@angular/core/rxjs-interop';
4
4
  import { Subject, BehaviorSubject, debounceTime, combineLatest, map, merge, fromEvent, filter, tap, switchMap, startWith, of, timer, takeUntil, pairwise, distinctUntilChanged, take, Observable, concatMap, EMPTY, concat, defer, exhaustMap, share } from 'rxjs';
5
5
  import { FormGroup, FormArray, FormControl } from '@angular/forms';
@@ -4847,10 +4847,7 @@ const [provideOverlayRuntime, injectOverlayRuntime] = createRootProvider(() => {
4847
4847
  environmentInjector,
4848
4848
  elementInjector,
4849
4849
  hostElement: paneElement,
4850
- bindings: [
4851
- ...Object.entries(config.inputBindings ?? {}).map(([key, value]) => inputBinding(key, () => value)),
4852
- ...Object.entries(config.outputBindings ?? {}).map(([key, listener]) => outputBinding(key, listener)),
4853
- ],
4850
+ bindings: config.bindings ?? [],
4854
4851
  });
4855
4852
  // pane classes are applied after component creation — Angular replaces the host
4856
4853
  // element's class attribute with the component's static host class on creation
@@ -6942,6 +6939,161 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
6942
6939
  }]
6943
6940
  }], ctorParameters: () => [] });
6944
6941
 
6942
+ const SURFACE_TYPE = {
6943
+ LIGHT: 'light',
6944
+ DARK: 'dark',
6945
+ };
6946
+ const createCssSurfaceName = (name) => name.replace(/([A-Z])/g, (g) => `-${g[0].toLowerCase()}`);
6947
+ const resolveSurfaceByElevation = (themes, type, elevation) => themes.find((t) => t.type === type && t.elevation === elevation) ?? null;
6948
+ const [ɵProvideSurfaceThemes, injectSurfaceThemes] = createStaticProvider(undefined, {
6949
+ name: 'Surface Themes',
6950
+ });
6951
+ const [ɵProvideSurfaceThemesPrefix, injectSurfaceThemesPrefix] = createStaticProvider('et', {
6952
+ name: 'Surface Themes Prefix',
6953
+ });
6954
+ const provideSurfaceThemesWithTailwind4 = (themes, prefix = 'et') => [
6955
+ ɵProvideSurfaceThemes(themes),
6956
+ ɵProvideSurfaceThemesPrefix(prefix),
6957
+ ];
6958
+
6959
+ const SURFACE_PROVIDER = new InjectionToken('SurfaceProvider');
6960
+ const FORCED_SURFACE_UNSET = Symbol('FORCED_SURFACE_UNSET');
6961
+ class ProvideSurfaceDirective {
6962
+ constructor() {
6963
+ this.themes = injectSurfaceThemes({ optional: true });
6964
+ this.prefix = injectSurfaceThemesPrefix({ optional: true });
6965
+ this.injector = inject(Injector);
6966
+ this.currentProviderSync = null;
6967
+ this.forcedSurface = signal(FORCED_SURFACE_UNSET, /* @ts-ignore */
6968
+ ...(ngDevMode ? [{ debugName: "forcedSurface" }] : /* istanbul ignore next */ []));
6969
+ this.surface = input(undefined, { ...(ngDevMode ? { debugName: "surface" } : /* istanbul ignore next */ {}), alias: 'etProvideSurface' });
6970
+ this.effectiveSurface = computed(() => {
6971
+ const forcedSurface = this.forcedSurface();
6972
+ if (forcedSurface !== FORCED_SURFACE_UNSET) {
6973
+ return forcedSurface;
6974
+ }
6975
+ return this.surface();
6976
+ }, /* @ts-ignore */
6977
+ ...(ngDevMode ? [{ debugName: "effectiveSurface" }] : /* istanbul ignore next */ []));
6978
+ this.resolvedTheme = computed(() => {
6979
+ const value = this.effectiveSurface();
6980
+ if (!this.themes || !value)
6981
+ return null;
6982
+ const theme = this.themes.find((t) => t.name === value) ?? null;
6983
+ if (isDevMode() && !theme && value !== null) {
6984
+ console.error(`Surface theme ${value} does not exist. Please make sure to add it to provideSurfaceThemesWithTailwind4()`);
6985
+ }
6986
+ return theme;
6987
+ }, /* @ts-ignore */
6988
+ ...(ngDevMode ? [{ debugName: "resolvedTheme" }] : /* istanbul ignore next */ []));
6989
+ this.elevation = computed(() => this.resolvedTheme()?.elevation ?? 0, /* @ts-ignore */
6990
+ ...(ngDevMode ? [{ debugName: "elevation" }] : /* istanbul ignore next */ []));
6991
+ this.surfaceType = computed(() => this.resolvedTheme()?.type ?? null, /* @ts-ignore */
6992
+ ...(ngDevMode ? [{ debugName: "surfaceType" }] : /* istanbul ignore next */ []));
6993
+ this.surfaceName = computed(() => {
6994
+ const value = this.effectiveSurface();
6995
+ if (!this.themes || !value)
6996
+ return;
6997
+ return createCssSurfaceName(value);
6998
+ }, /* @ts-ignore */
6999
+ ...(ngDevMode ? [{ debugName: "surfaceName" }] : /* istanbul ignore next */ []));
7000
+ this.surfaceClass = computed(() => {
7001
+ const prefix = this.prefix || 'et';
7002
+ if (this.surfaceName()) {
7003
+ return `${prefix}-surface--${this.surfaceName()}`;
7004
+ }
7005
+ return `${prefix}-surface--inherited`;
7006
+ }, /* @ts-ignore */
7007
+ ...(ngDevMode ? [{ debugName: "surfaceClass" }] : /* istanbul ignore next */ []));
7008
+ }
7009
+ syncWithProvider(provider) {
7010
+ this.currentProviderSync?.destroy();
7011
+ runInInjectionContext(this.injector, () => {
7012
+ this.currentProviderSync = effect(() => {
7013
+ const provideSurface = provider.effectiveSurface();
7014
+ untracked(() => {
7015
+ if (provideSurface === undefined) {
7016
+ this.clearForcedSurface();
7017
+ return;
7018
+ }
7019
+ this.forceSurface(provideSurface);
7020
+ });
7021
+ }, /* @ts-ignore */
7022
+ ...(ngDevMode ? [{ debugName: "currentProviderSync" }] : /* istanbul ignore next */ []));
7023
+ });
7024
+ }
7025
+ stopSyncWithProvider() {
7026
+ const hadProviderSync = !!this.currentProviderSync;
7027
+ this.currentProviderSync?.destroy();
7028
+ this.currentProviderSync = null;
7029
+ if (hadProviderSync) {
7030
+ this.clearForcedSurface();
7031
+ }
7032
+ }
7033
+ /** @internal */
7034
+ forceSurface(surface) {
7035
+ this.forcedSurface.set(surface);
7036
+ }
7037
+ /** @internal */
7038
+ clearForcedSurface() {
7039
+ if (this.forcedSurface() === FORCED_SURFACE_UNSET) {
7040
+ return;
7041
+ }
7042
+ this.forcedSurface.set(FORCED_SURFACE_UNSET);
7043
+ }
7044
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ProvideSurfaceDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
7045
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.5", type: ProvideSurfaceDirective, isStandalone: true, selector: "[etProvideSurface]", inputs: { surface: { classPropertyName: "surface", publicName: "etProvideSurface", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "surfaceClass()" } }, providers: [{ provide: SURFACE_PROVIDER, useExisting: ProvideSurfaceDirective }], ngImport: i0 }); }
7046
+ }
7047
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ProvideSurfaceDirective, decorators: [{
7048
+ type: Directive,
7049
+ args: [{
7050
+ selector: '[etProvideSurface]',
7051
+ providers: [{ provide: SURFACE_PROVIDER, useExisting: ProvideSurfaceDirective }],
7052
+ host: {
7053
+ '[class]': 'surfaceClass()',
7054
+ },
7055
+ }]
7056
+ }], propDecorators: { surface: [{ type: i0.Input, args: [{ isSignal: true, alias: "etProvideSurface", required: false }] }] } });
7057
+
7058
+ class AutoSurfaceDirective {
7059
+ constructor() {
7060
+ this.ownSurfaceProvider = inject(ProvideSurfaceDirective);
7061
+ this.contextSurfaceProvider = inject(SURFACE_PROVIDER, { optional: true, skipSelf: true });
7062
+ this.surfaceThemes = injectSurfaceThemes({ optional: true });
7063
+ /**
7064
+ * Explicit surface provider to resolve the surface relative to. Falls back to the
7065
+ * surface provider from the surrounding (trigger) context when not set.
7066
+ */
7067
+ this.surfaceProvider = input(null, /* @ts-ignore */
7068
+ ...(ngDevMode ? [{ debugName: "surfaceProvider" }] : /* istanbul ignore next */ []));
7069
+ this.resolvedSurface = computed(() => {
7070
+ const themes = this.surfaceThemes;
7071
+ const parentSurfaceProvider = this.surfaceProvider() ?? this.contextSurfaceProvider ?? null;
7072
+ if (!themes || !parentSurfaceProvider) {
7073
+ return null;
7074
+ }
7075
+ return (resolveSurfaceByElevation(themes, parentSurfaceProvider.surfaceType() ?? 'dark', parentSurfaceProvider.elevation() + 1)?.name ?? null);
7076
+ }, /* @ts-ignore */
7077
+ ...(ngDevMode ? [{ debugName: "resolvedSurface" }] : /* istanbul ignore next */ []));
7078
+ effect(() => {
7079
+ const surface = this.resolvedSurface();
7080
+ untracked(() => {
7081
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
7082
+ setInputSignal(this.ownSurfaceProvider.surface, surface);
7083
+ });
7084
+ });
7085
+ }
7086
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: AutoSurfaceDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
7087
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.5", type: AutoSurfaceDirective, isStandalone: true, selector: "[etAutoSurface]", inputs: { surfaceProvider: { classPropertyName: "surfaceProvider", publicName: "surfaceProvider", isSignal: true, isRequired: false, transformFunction: null } }, hostDirectives: [{ directive: ProvideSurfaceDirective }], ngImport: i0 }); }
7088
+ }
7089
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: AutoSurfaceDirective, decorators: [{
7090
+ type: Directive,
7091
+ args: [{
7092
+ selector: '[etAutoSurface]',
7093
+ hostDirectives: [ProvideSurfaceDirective],
7094
+ }]
7095
+ }], ctorParameters: () => [], propDecorators: { surfaceProvider: [{ type: i0.Input, args: [{ isSignal: true, alias: "surfaceProvider", required: false }] }] } });
7096
+
6945
7097
  const createCssColorThemeName = (name) => name.replace(/([A-Z])/g, (g) => `-${g[0].toLowerCase()}`);
6946
7098
  const [ɵProvideColorThemes, injectColorThemes] = createStaticProvider(undefined, {
6947
7099
  name: 'Color Themes',
@@ -7250,122 +7402,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
7250
7402
  }]
7251
7403
  }], propDecorators: { color: [{ type: i0.Input, args: [{ isSignal: true, alias: "etProvideColor", required: false }] }] } });
7252
7404
 
7253
- const SURFACE_TYPE = {
7254
- LIGHT: 'light',
7255
- DARK: 'dark',
7256
- };
7257
- const createCssSurfaceName = (name) => name.replace(/([A-Z])/g, (g) => `-${g[0].toLowerCase()}`);
7258
- const resolveSurfaceByElevation = (themes, type, elevation) => themes.find((t) => t.type === type && t.elevation === elevation) ?? null;
7259
- const [ɵProvideSurfaceThemes, injectSurfaceThemes] = createStaticProvider(undefined, {
7260
- name: 'Surface Themes',
7261
- });
7262
- const [ɵProvideSurfaceThemesPrefix, injectSurfaceThemesPrefix] = createStaticProvider('et', {
7263
- name: 'Surface Themes Prefix',
7264
- });
7265
- const provideSurfaceThemesWithTailwind4 = (themes, prefix = 'et') => [
7266
- ɵProvideSurfaceThemes(themes),
7267
- ɵProvideSurfaceThemesPrefix(prefix),
7268
- ];
7269
-
7270
- const SURFACE_PROVIDER = new InjectionToken('SurfaceProvider');
7271
- const FORCED_SURFACE_UNSET = Symbol('FORCED_SURFACE_UNSET');
7272
- class ProvideSurfaceDirective {
7273
- constructor() {
7274
- this.themes = injectSurfaceThemes({ optional: true });
7275
- this.prefix = injectSurfaceThemesPrefix({ optional: true });
7276
- this.injector = inject(Injector);
7277
- this.currentProviderSync = null;
7278
- this.forcedSurface = signal(FORCED_SURFACE_UNSET, /* @ts-ignore */
7279
- ...(ngDevMode ? [{ debugName: "forcedSurface" }] : /* istanbul ignore next */ []));
7280
- this.surface = input(undefined, { ...(ngDevMode ? { debugName: "surface" } : /* istanbul ignore next */ {}), alias: 'etProvideSurface' });
7281
- this.effectiveSurface = computed(() => {
7282
- const forcedSurface = this.forcedSurface();
7283
- if (forcedSurface !== FORCED_SURFACE_UNSET) {
7284
- return forcedSurface;
7285
- }
7286
- return this.surface();
7287
- }, /* @ts-ignore */
7288
- ...(ngDevMode ? [{ debugName: "effectiveSurface" }] : /* istanbul ignore next */ []));
7289
- this.resolvedTheme = computed(() => {
7290
- const value = this.effectiveSurface();
7291
- if (!this.themes || !value)
7292
- return null;
7293
- const theme = this.themes.find((t) => t.name === value) ?? null;
7294
- if (isDevMode() && !theme && value !== null) {
7295
- console.error(`Surface theme ${value} does not exist. Please make sure to add it to provideSurfaceThemesWithTailwind4()`);
7296
- }
7297
- return theme;
7298
- }, /* @ts-ignore */
7299
- ...(ngDevMode ? [{ debugName: "resolvedTheme" }] : /* istanbul ignore next */ []));
7300
- this.elevation = computed(() => this.resolvedTheme()?.elevation ?? 0, /* @ts-ignore */
7301
- ...(ngDevMode ? [{ debugName: "elevation" }] : /* istanbul ignore next */ []));
7302
- this.surfaceType = computed(() => this.resolvedTheme()?.type ?? null, /* @ts-ignore */
7303
- ...(ngDevMode ? [{ debugName: "surfaceType" }] : /* istanbul ignore next */ []));
7304
- this.surfaceName = computed(() => {
7305
- const value = this.effectiveSurface();
7306
- if (!this.themes || !value)
7307
- return;
7308
- return createCssSurfaceName(value);
7309
- }, /* @ts-ignore */
7310
- ...(ngDevMode ? [{ debugName: "surfaceName" }] : /* istanbul ignore next */ []));
7311
- this.surfaceClass = computed(() => {
7312
- const prefix = this.prefix || 'et';
7313
- if (this.surfaceName()) {
7314
- return `${prefix}-surface--${this.surfaceName()}`;
7315
- }
7316
- return `${prefix}-surface--inherited`;
7317
- }, /* @ts-ignore */
7318
- ...(ngDevMode ? [{ debugName: "surfaceClass" }] : /* istanbul ignore next */ []));
7319
- }
7320
- syncWithProvider(provider) {
7321
- this.currentProviderSync?.destroy();
7322
- runInInjectionContext(this.injector, () => {
7323
- this.currentProviderSync = effect(() => {
7324
- const provideSurface = provider.effectiveSurface();
7325
- untracked(() => {
7326
- if (provideSurface === undefined) {
7327
- this.clearForcedSurface();
7328
- return;
7329
- }
7330
- this.forceSurface(provideSurface);
7331
- });
7332
- }, /* @ts-ignore */
7333
- ...(ngDevMode ? [{ debugName: "currentProviderSync" }] : /* istanbul ignore next */ []));
7334
- });
7335
- }
7336
- stopSyncWithProvider() {
7337
- const hadProviderSync = !!this.currentProviderSync;
7338
- this.currentProviderSync?.destroy();
7339
- this.currentProviderSync = null;
7340
- if (hadProviderSync) {
7341
- this.clearForcedSurface();
7342
- }
7343
- }
7344
- /** @internal */
7345
- forceSurface(surface) {
7346
- this.forcedSurface.set(surface);
7347
- }
7348
- /** @internal */
7349
- clearForcedSurface() {
7350
- if (this.forcedSurface() === FORCED_SURFACE_UNSET) {
7351
- return;
7352
- }
7353
- this.forcedSurface.set(FORCED_SURFACE_UNSET);
7354
- }
7355
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ProvideSurfaceDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
7356
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.5", type: ProvideSurfaceDirective, isStandalone: true, selector: "[etProvideSurface]", inputs: { surface: { classPropertyName: "surface", publicName: "etProvideSurface", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "surfaceClass()" } }, providers: [{ provide: SURFACE_PROVIDER, useExisting: ProvideSurfaceDirective }], ngImport: i0 }); }
7357
- }
7358
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: ProvideSurfaceDirective, decorators: [{
7359
- type: Directive,
7360
- args: [{
7361
- selector: '[etProvideSurface]',
7362
- providers: [{ provide: SURFACE_PROVIDER, useExisting: ProvideSurfaceDirective }],
7363
- host: {
7364
- '[class]': 'surfaceClass()',
7365
- },
7366
- }]
7367
- }], propDecorators: { surface: [{ type: i0.Input, args: [{ isSignal: true, alias: "etProvideSurface", required: false }] }] } });
7368
-
7369
7405
  let uniqueId = 0;
7370
7406
  const [provideSurfaceContextTracker, injectSurfaceContextTracker] = createRootProvider(() => {
7371
7407
  const entries = signal([], /* @ts-ignore */
@@ -7432,5 +7468,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
7432
7468
  * Generated bundle index. Do not edit.
7433
7469
  */
7434
7470
 
7435
- export { ANIMATABLE_TOKEN, ANIMATED_IF_TOKEN, ANIMATED_LIFECYCLE_TOKEN, ANIMATION_DEBUG_STORAGE_KEY, AT_LEAST_ONE_REQUIRED, AnimatableDirective, AnimatedIfDirective, AnimatedLifecycleDirective, AnimatedOverlayDirective, BOUNDARY_ELEMENT_TOKEN, BREAKPOINT_INSTANCE_TOKEN, BREAKPOINT_ORDER, COLOR_PROVIDER, ClickOutsideDirective, ColorInteractiveContainerDirective, ColorInteractiveDirective, ColorInteractiveExcludeDirective, ColorInteractiveHasFocusDirective, DEFAULT_MULTI_INSTANCE_RELS, DEFAULT_MULTI_INSTANCE_TAGS, DEFAULT_VIEWPORT_CONFIG, DISABLE_LOGGER_PARAM, DragHandleDirective, ET_DISABLE_SCROLL_TOP, ET_DISABLE_SCROLL_TOP_AS_RETURN_ROUTE, ET_DISABLE_SCROLL_TOP_ON_PATH_PARAM_CHANGE, ET_PROPERTY_REMOVED, FOCUSABLE_SELECTOR, FOCUS_VISIBLE_TRACKER_TOKEN, HtmlToMarkdownPipe, IS_ARRAY_NOT_EMPTY, IS_EMAIL, InferMimeTypePipe, IsArrayNotEmpty, IsEmail, jsonLd as JsonLD, KeyPressManager, MUST_MATCH, MarkdownToHtmlPipe, MustMatch, NormalizeGameResultTypePipe, NormalizeMatchParticipantsPipe, NormalizeMatchScorePipe, NormalizeMatchStatePipe, NormalizeMatchTypePipe, PropsDirective, ProvideColorDirective, ProvideSurfaceDirective, RUNTIME_ERROR_NO_DATA, RepeatDirective, ResizeHandlesComponent, RuntimeError, SEO_DIRECTIVE_TOKEN, SURFACE_PROVIDER, SURFACE_TYPE, ScrollObserverDirective, ScrollObserverEndDirective, ScrollObserverStartDirective, SeoDirective, StructuredDataComponent, SurfaceInteractiveDirective, ToArrayPipe, TypedQueryList, ValidateAtLeastOneRequired, Validators, animationDebugLog, applyAlternateBinding, applyAlternateLanguagesBindings, applyArticleBindings, applyAuthorBinding, applyCanonicalBinding, applyCenteredPosition, applyDescriptionBinding, applyGlobalPosition, applyHeadBinding, applyHeadTitleBinding, applyHostListener, applyHostListeners, applyInitialFocus, applyKeywordsBinding, applyLinkBinding, applyMetaBinding, applyNextBinding, applyOgBinding, applyOpenGraphBindings, applyPrevBinding, applyResourceHintsBindings, applyRobotsBinding, applySocialMediaBindings, applyStructuredDataBinding, applyTwitterCardBindings, areScrollStatesEqual, bindProps, boolBreakpointTransform, booleanBreakpointAttribute, boundingClientRectToElementRect, breakpointTransformBase, buildElementSignal, buildSignalEffects, canUseSessionMemory, clamp, clone, cloneFormGroup, computedTillFalsy, computedTillTruthy, controlValueSignal, controlValueSignalWithPrevious, createAnchoredPositionCleanup, createArrayPropertyBinding, createAutoSessionMemoryKey, createBulkPropertyBinding, createCanAnimateSignal, createComponentId, createCssColorThemeName, createCssSurfaceName, createDependencyStash, createDestroy, createDocumentElementSignal, createElementDictionary, createElementDimensions, createEmptyElementSignal, createFlipAnimation, createFlipAnimationGroup, createHostProps, createIsRenderedSignal, createLogger, createOverlayRuntimeRef, createPropHandlers, createPropertyBinding, createProps, createProvider, createRootProvider, createRootThemeCss, 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, injectPrefersReducedMotion, 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 };
7471
+ export { ANIMATABLE_TOKEN, ANIMATED_IF_TOKEN, ANIMATED_LIFECYCLE_TOKEN, ANIMATION_DEBUG_STORAGE_KEY, AT_LEAST_ONE_REQUIRED, AnimatableDirective, AnimatedIfDirective, AnimatedLifecycleDirective, AnimatedOverlayDirective, AutoSurfaceDirective, BOUNDARY_ELEMENT_TOKEN, BREAKPOINT_INSTANCE_TOKEN, BREAKPOINT_ORDER, COLOR_PROVIDER, ClickOutsideDirective, ColorInteractiveContainerDirective, ColorInteractiveDirective, ColorInteractiveExcludeDirective, ColorInteractiveHasFocusDirective, DEFAULT_MULTI_INSTANCE_RELS, DEFAULT_MULTI_INSTANCE_TAGS, DEFAULT_VIEWPORT_CONFIG, DISABLE_LOGGER_PARAM, DragHandleDirective, ET_DISABLE_SCROLL_TOP, ET_DISABLE_SCROLL_TOP_AS_RETURN_ROUTE, ET_DISABLE_SCROLL_TOP_ON_PATH_PARAM_CHANGE, ET_PROPERTY_REMOVED, FOCUSABLE_SELECTOR, FOCUS_VISIBLE_TRACKER_TOKEN, HtmlToMarkdownPipe, IS_ARRAY_NOT_EMPTY, IS_EMAIL, InferMimeTypePipe, IsArrayNotEmpty, IsEmail, jsonLd as JsonLD, KeyPressManager, MUST_MATCH, MarkdownToHtmlPipe, MustMatch, NormalizeGameResultTypePipe, NormalizeMatchParticipantsPipe, NormalizeMatchScorePipe, NormalizeMatchStatePipe, NormalizeMatchTypePipe, PropsDirective, ProvideColorDirective, ProvideSurfaceDirective, RUNTIME_ERROR_NO_DATA, RepeatDirective, ResizeHandlesComponent, RuntimeError, SEO_DIRECTIVE_TOKEN, SURFACE_PROVIDER, SURFACE_TYPE, ScrollObserverDirective, ScrollObserverEndDirective, ScrollObserverStartDirective, SeoDirective, StructuredDataComponent, SurfaceInteractiveDirective, ToArrayPipe, TypedQueryList, ValidateAtLeastOneRequired, Validators, animationDebugLog, applyAlternateBinding, applyAlternateLanguagesBindings, applyArticleBindings, applyAuthorBinding, applyCanonicalBinding, applyCenteredPosition, applyDescriptionBinding, applyGlobalPosition, applyHeadBinding, applyHeadTitleBinding, applyHostListener, applyHostListeners, applyInitialFocus, applyKeywordsBinding, applyLinkBinding, applyMetaBinding, applyNextBinding, applyOgBinding, applyOpenGraphBindings, applyPrevBinding, applyResourceHintsBindings, applyRobotsBinding, applySocialMediaBindings, applyStructuredDataBinding, applyTwitterCardBindings, areScrollStatesEqual, bindProps, boolBreakpointTransform, booleanBreakpointAttribute, boundingClientRectToElementRect, breakpointTransformBase, buildElementSignal, buildSignalEffects, canUseSessionMemory, clamp, clone, cloneFormGroup, computedTillFalsy, computedTillTruthy, controlValueSignal, controlValueSignalWithPrevious, createAnchoredPositionCleanup, createArrayPropertyBinding, createAutoSessionMemoryKey, createBulkPropertyBinding, createCanAnimateSignal, createComponentId, createCssColorThemeName, createCssSurfaceName, createDependencyStash, createDestroy, createDocumentElementSignal, createElementDictionary, createElementDimensions, createEmptyElementSignal, createFlipAnimation, createFlipAnimationGroup, createHostProps, createIsRenderedSignal, createLogger, createOverlayRuntimeRef, createPropHandlers, createPropertyBinding, createProps, createProvider, createRootProvider, createRootThemeCss, 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, injectPrefersReducedMotion, 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 };
7436
7472
  //# sourceMappingURL=ethlete-core.mjs.map