@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 +23 -0
- package/fesm2022/ethlete-core.mjs +158 -122
- package/fesm2022/ethlete-core.mjs.map +1 -1
- package/package.json +1 -1
- package/types/ethlete-core.d.ts +112 -94
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,
|
|
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
|