@ethlete/core 5.0.0-next.40 → 5.0.0-next.41
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 +11 -0
- package/fesm2022/ethlete-core.mjs +75 -170
- package/fesm2022/ethlete-core.mjs.map +1 -1
- package/package.json +1 -1
- package/types/ethlete-core.d.ts +19 -75
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# @ethlete/core
|
|
2
2
|
|
|
3
|
+
## 5.0.0-next.41
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- [#3046](https://github.com/ethlete-io/ethdk/pull/3046) [`263dae8`](https://github.com/ethlete-io/ethdk/commit/263dae89d864db2a05541f373a2a1b7d2e75c42f) Thanks [@github-actions](https://github.com/apps/github-actions)! - Remove the deprecated, SSR-unsafe `SeoDirective` and its `SeoConfig` types - use the `apply*Binding` functions instead (the SEO guide has a per-key migration table).
|
|
8
|
+
|
|
9
|
+
### Minor Changes
|
|
10
|
+
|
|
11
|
+
- [#3046](https://github.com/ethlete-io/ethdk/pull/3046) [`5b94adc`](https://github.com/ethlete-io/ethdk/commit/5b94adc97abb32555fb462fad71cbe27fc733a4a) Thanks [@github-actions](https://github.com/apps/github-actions)! - Select and cascader panels now stay below the field with a shorter list instead of flipping
|
|
12
|
+
above it or sliding over it, via the new anchored-overlay `minAvailableSpace` option.
|
|
13
|
+
|
|
3
14
|
## 5.0.0-next.40
|
|
4
15
|
|
|
5
16
|
### Minor Changes
|
|
@@ -5443,9 +5443,65 @@ const requireMiddlewareExtras = (feature) => {
|
|
|
5443
5443
|
}
|
|
5444
5444
|
return middlewareExtras;
|
|
5445
5445
|
};
|
|
5446
|
+
const OPPOSITE_SIDE = {
|
|
5447
|
+
top: 'bottom',
|
|
5448
|
+
bottom: 'top',
|
|
5449
|
+
left: 'right',
|
|
5450
|
+
right: 'left',
|
|
5451
|
+
};
|
|
5452
|
+
const PREFERRED_SIDE_NAME = 'etPreferredSide';
|
|
5453
|
+
const getAnchoredSide = (placement) => placement.split('-')[0];
|
|
5454
|
+
const toOppositeSidePlacement = (placement) => {
|
|
5455
|
+
const [side, alignment] = placement.split('-');
|
|
5456
|
+
const opposite = OPPOSITE_SIDE[side];
|
|
5457
|
+
return (alignment ? `${opposite}-${alignment}` : opposite);
|
|
5458
|
+
};
|
|
5459
|
+
/**
|
|
5460
|
+
* The `flip` replacement behind `minAvailableSpace` - see that option. Every decision here has to
|
|
5461
|
+
* stay derived from the space around the reference alone: the moment the pane's own size enters it,
|
|
5462
|
+
* `size`'s cap feeds back into the next placement and an open pane starts flipping on its own.
|
|
5463
|
+
*/
|
|
5464
|
+
const preferredSide = (options) => ({
|
|
5465
|
+
name: PREFERRED_SIDE_NAME,
|
|
5466
|
+
options,
|
|
5467
|
+
async fn(state) {
|
|
5468
|
+
const { placement, initialPlacement, rects, middlewareData } = state;
|
|
5469
|
+
const side = getAnchoredSide(placement);
|
|
5470
|
+
// via the platform, like every built-in middleware - importing `detectOverflow` from
|
|
5471
|
+
// `@floating-ui/dom` instead pulls a second copy of it into the bundle
|
|
5472
|
+
const overflow = await state.platform.detectOverflow(state, {
|
|
5473
|
+
padding: options.padding,
|
|
5474
|
+
boundary: options.boundary,
|
|
5475
|
+
});
|
|
5476
|
+
const isYAxis = side === 'top' || side === 'bottom';
|
|
5477
|
+
// the pane's own size cancels out of `size - overflow[side]`: what remains is the distance from
|
|
5478
|
+
// its anchored edge to the boundary - the same number the `size` middleware caps the pane to
|
|
5479
|
+
const available = (isYAxis ? rects.floating.height : rects.floating.width) - overflow[side];
|
|
5480
|
+
const availableSpace = {
|
|
5481
|
+
...middlewareData[PREFERRED_SIDE_NAME]?.availableSpace,
|
|
5482
|
+
[side]: available,
|
|
5483
|
+
};
|
|
5484
|
+
if (available >= options.minAvailableSpace) {
|
|
5485
|
+
return {};
|
|
5486
|
+
}
|
|
5487
|
+
const oppositeAvailable = availableSpace[OPPOSITE_SIDE[side]];
|
|
5488
|
+
if (oppositeAvailable === undefined) {
|
|
5489
|
+
return { data: { availableSpace }, reset: { placement: toOppositeSidePlacement(placement) } };
|
|
5490
|
+
}
|
|
5491
|
+
// ties go to the placement's own side, which also terminates the reset loop after at most one
|
|
5492
|
+
// measurement per side
|
|
5493
|
+
const keepSide = side === getAnchoredSide(initialPlacement) ? available >= oppositeAvailable : available > oppositeAvailable;
|
|
5494
|
+
return keepSide
|
|
5495
|
+
? { data: { availableSpace } }
|
|
5496
|
+
: { data: { availableSpace }, reset: { placement: toOppositeSidePlacement(placement) } };
|
|
5497
|
+
},
|
|
5498
|
+
});
|
|
5446
5499
|
const createAnchoredPositionCleanup = (strategy, paneElement, overlayRef, renderer) => {
|
|
5447
5500
|
// mirrorWidth needs a real element to measure; virtual references fall back to max-content
|
|
5448
5501
|
const mirrorWidthElement = strategy.mirrorWidth && isHTMLElement(strategy.referenceElement) ? strategy.referenceElement : null;
|
|
5502
|
+
if (strategy.minAvailableSpace !== undefined && !strategy.autoResize && isDevMode()) {
|
|
5503
|
+
console.error('An anchored overlay sets `minAvailableSpace` without `autoResize`, so it is kept on a side it does not fit on with nothing capping it to the space there. Enable `autoResize` or drop `minAvailableSpace`.');
|
|
5504
|
+
}
|
|
5449
5505
|
renderer.setStyle(paneElement, {
|
|
5450
5506
|
position: 'absolute',
|
|
5451
5507
|
top: '0',
|
|
@@ -5456,14 +5512,26 @@ const createAnchoredPositionCleanup = (strategy, paneElement, overlayRef, render
|
|
|
5456
5512
|
const arrowElement = paneElement.querySelector('[et-floating-arrow]');
|
|
5457
5513
|
const middleware = [];
|
|
5458
5514
|
middleware.push(offset(strategy.offset ?? 8));
|
|
5459
|
-
middleware.push(
|
|
5460
|
-
|
|
5461
|
-
|
|
5462
|
-
|
|
5463
|
-
|
|
5515
|
+
middleware.push(strategy.minAvailableSpace === undefined
|
|
5516
|
+
? flip({
|
|
5517
|
+
fallbackPlacements: strategy.fallbackPlacements ?? undefined,
|
|
5518
|
+
fallbackAxisSideDirection: 'start',
|
|
5519
|
+
boundary: strategy.boundary,
|
|
5520
|
+
})
|
|
5521
|
+
: preferredSide({
|
|
5522
|
+
minAvailableSpace: strategy.minAvailableSpace,
|
|
5523
|
+
// must stay the padding `size` measures with: the threshold is then compared against the
|
|
5524
|
+
// very height the pane ends up capped to
|
|
5525
|
+
padding: strategy.viewportPadding ?? 8,
|
|
5526
|
+
boundary: strategy.boundary,
|
|
5527
|
+
}));
|
|
5464
5528
|
if (strategy.shift !== false) {
|
|
5465
5529
|
middleware.push(shift({
|
|
5466
|
-
|
|
5530
|
+
// floating-ui's cross axis points at the reference, so shifting on it slides the pane over
|
|
5531
|
+
// the reference instead of letting it shrink - and `size` then reports the whole boundary
|
|
5532
|
+
// as available height rather than the space on the pane's side
|
|
5533
|
+
crossAxis: strategy.minAvailableSpace === undefined &&
|
|
5534
|
+
(typeof strategy.shift === 'object' ? (strategy.shift.crossAxis ?? false) : false),
|
|
5467
5535
|
limiter: limitShift(),
|
|
5468
5536
|
padding: strategy.viewportPadding ?? 8,
|
|
5469
5537
|
boundary: strategy.boundary,
|
|
@@ -7822,169 +7890,6 @@ const applySocialMediaBindings = (config) => {
|
|
|
7822
7890
|
applyArticleBindings(config.article);
|
|
7823
7891
|
};
|
|
7824
7892
|
|
|
7825
|
-
const mergeSeoConfig = (config, parentConfig) => {
|
|
7826
|
-
return {
|
|
7827
|
-
...parentConfig,
|
|
7828
|
-
...config,
|
|
7829
|
-
};
|
|
7830
|
-
};
|
|
7831
|
-
const SEO_DIRECTIVE_TOKEN = new InjectionToken('SEO_DIRECTIVE_TOKEN');
|
|
7832
|
-
/** @deprecated use binding utils instead */
|
|
7833
|
-
class SeoDirective {
|
|
7834
|
-
constructor() {
|
|
7835
|
-
this._metaService = inject(Meta);
|
|
7836
|
-
this._titleService = inject(Title);
|
|
7837
|
-
this._onDeactivate$ = new Subject();
|
|
7838
|
-
this._isDeactivated = false;
|
|
7839
|
-
this.parent = inject(SEO_DIRECTIVE_TOKEN, { optional: true, skipSelf: true });
|
|
7840
|
-
this._config = {};
|
|
7841
|
-
}
|
|
7842
|
-
get config() {
|
|
7843
|
-
return this._config;
|
|
7844
|
-
}
|
|
7845
|
-
ngOnInit() {
|
|
7846
|
-
this.parent?._deactivate();
|
|
7847
|
-
}
|
|
7848
|
-
ngOnDestroy() {
|
|
7849
|
-
this._deactivate();
|
|
7850
|
-
this._cleanUp();
|
|
7851
|
-
this.parent?._activate();
|
|
7852
|
-
}
|
|
7853
|
-
updateConfig(config) {
|
|
7854
|
-
this._config = mergeSeoConfig(config, this.parent?.config || {});
|
|
7855
|
-
if (this._isDeactivated) {
|
|
7856
|
-
return;
|
|
7857
|
-
}
|
|
7858
|
-
this._deactivate();
|
|
7859
|
-
this._activate();
|
|
7860
|
-
}
|
|
7861
|
-
_activate() {
|
|
7862
|
-
this._onDeactivate$.next(false);
|
|
7863
|
-
this._isDeactivated = false;
|
|
7864
|
-
for (const [key, value] of Object.entries(this._config)) {
|
|
7865
|
-
if (value instanceof Observable) {
|
|
7866
|
-
value.pipe(takeUntil(this._onDeactivate$)).subscribe((value) => this._update(key, value));
|
|
7867
|
-
}
|
|
7868
|
-
else if (Array.isArray(value)) {
|
|
7869
|
-
value.forEach((value) => {
|
|
7870
|
-
if (value instanceof Observable) {
|
|
7871
|
-
value.pipe(takeUntil(this._onDeactivate$)).subscribe((value) => this._update(key, value));
|
|
7872
|
-
}
|
|
7873
|
-
else {
|
|
7874
|
-
this._update(key, value);
|
|
7875
|
-
}
|
|
7876
|
-
});
|
|
7877
|
-
}
|
|
7878
|
-
else if (typeof value === 'object' && value !== null) {
|
|
7879
|
-
for (const [subKey, subValue] of Object.entries(value)) {
|
|
7880
|
-
if (subValue instanceof Observable) {
|
|
7881
|
-
subValue.pipe(takeUntil(this._onDeactivate$)).subscribe((value) => this._update(`${key}:${subKey}`, value));
|
|
7882
|
-
}
|
|
7883
|
-
else {
|
|
7884
|
-
this._update(`${key}:${subKey}`, subValue);
|
|
7885
|
-
}
|
|
7886
|
-
}
|
|
7887
|
-
}
|
|
7888
|
-
else {
|
|
7889
|
-
this._update(key, value);
|
|
7890
|
-
}
|
|
7891
|
-
}
|
|
7892
|
-
}
|
|
7893
|
-
_deactivate() {
|
|
7894
|
-
this._onDeactivate$.next(true);
|
|
7895
|
-
this._isDeactivated = true;
|
|
7896
|
-
}
|
|
7897
|
-
_update(key, value) {
|
|
7898
|
-
switch (key) {
|
|
7899
|
-
case 'title':
|
|
7900
|
-
if (value && typeof value === 'string') {
|
|
7901
|
-
this._titleService.setTitle(value);
|
|
7902
|
-
}
|
|
7903
|
-
break;
|
|
7904
|
-
case 'canonical':
|
|
7905
|
-
{
|
|
7906
|
-
const link = document.querySelector(`link[rel="${key}"]`);
|
|
7907
|
-
if (link) {
|
|
7908
|
-
link.setAttribute('href', value);
|
|
7909
|
-
}
|
|
7910
|
-
else {
|
|
7911
|
-
const newLink = document.createElement('link');
|
|
7912
|
-
newLink.setAttribute('rel', key);
|
|
7913
|
-
newLink.setAttribute('href', value);
|
|
7914
|
-
document.head.appendChild(newLink);
|
|
7915
|
-
}
|
|
7916
|
-
}
|
|
7917
|
-
break;
|
|
7918
|
-
case 'alternate':
|
|
7919
|
-
{
|
|
7920
|
-
const link = document.querySelector(`link[rel="${key}"][hreflang="${value.hreflang}"]`);
|
|
7921
|
-
if (link) {
|
|
7922
|
-
link.setAttribute('href', value.href);
|
|
7923
|
-
}
|
|
7924
|
-
else {
|
|
7925
|
-
const newLink = document.createElement('link');
|
|
7926
|
-
newLink.setAttribute('rel', key);
|
|
7927
|
-
newLink.setAttribute('hreflang', value.hreflang);
|
|
7928
|
-
newLink.setAttribute('href', value.href);
|
|
7929
|
-
document.head.appendChild(newLink);
|
|
7930
|
-
}
|
|
7931
|
-
}
|
|
7932
|
-
break;
|
|
7933
|
-
default:
|
|
7934
|
-
if (value !== undefined && value !== null) {
|
|
7935
|
-
const val = Array.isArray(value) ? value.join(', ') : value;
|
|
7936
|
-
this._metaService.updateTag({ name: key, content: val });
|
|
7937
|
-
}
|
|
7938
|
-
else {
|
|
7939
|
-
this._metaService.removeTag(`name="${key}"`);
|
|
7940
|
-
}
|
|
7941
|
-
break;
|
|
7942
|
-
}
|
|
7943
|
-
}
|
|
7944
|
-
_cleanUp() {
|
|
7945
|
-
for (const key in this._config) {
|
|
7946
|
-
if (key === 'alternate') {
|
|
7947
|
-
const links = document.querySelectorAll(`link[rel="${key}"]`);
|
|
7948
|
-
links.forEach((link) => {
|
|
7949
|
-
link.remove();
|
|
7950
|
-
});
|
|
7951
|
-
continue;
|
|
7952
|
-
}
|
|
7953
|
-
if (key === 'canonical') {
|
|
7954
|
-
const link = document.querySelector(`link[rel="${key}"]`);
|
|
7955
|
-
if (link) {
|
|
7956
|
-
link.remove();
|
|
7957
|
-
}
|
|
7958
|
-
continue;
|
|
7959
|
-
}
|
|
7960
|
-
if (typeof this._config[key] === 'object' &&
|
|
7961
|
-
this._config[key] !== null &&
|
|
7962
|
-
!(this._config[key] instanceof Observable)) {
|
|
7963
|
-
for (const subKey in this._config[key]) {
|
|
7964
|
-
const parentValue = this.parent?.config?.[key]?.[subKey];
|
|
7965
|
-
if (parentValue === undefined) {
|
|
7966
|
-
this._update(`${key}:${subKey}`, undefined);
|
|
7967
|
-
}
|
|
7968
|
-
}
|
|
7969
|
-
}
|
|
7970
|
-
else {
|
|
7971
|
-
const parentValue = this.parent?.config?.[key];
|
|
7972
|
-
if (parentValue === undefined) {
|
|
7973
|
-
this._update(key, null);
|
|
7974
|
-
}
|
|
7975
|
-
}
|
|
7976
|
-
}
|
|
7977
|
-
}
|
|
7978
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SeoDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
7979
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: SeoDirective, isStandalone: true, providers: [{ provide: SEO_DIRECTIVE_TOKEN, useExisting: SeoDirective }], ngImport: i0 }); }
|
|
7980
|
-
}
|
|
7981
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SeoDirective, decorators: [{
|
|
7982
|
-
type: Directive,
|
|
7983
|
-
args: [{
|
|
7984
|
-
providers: [{ provide: SEO_DIRECTIVE_TOKEN, useExisting: SeoDirective }],
|
|
7985
|
-
}]
|
|
7986
|
-
}] });
|
|
7987
|
-
|
|
7988
7893
|
const STRUCTURED_DATA_CONFIG_DEF = /* @__PURE__ */ defineStaticRootProvider({
|
|
7989
7894
|
placement: 'body',
|
|
7990
7895
|
}, { name: 'Structured Data Config' });
|
|
@@ -9298,5 +9203,5 @@ const createUnsavedChangesGuard = (config) => {
|
|
|
9298
9203
|
* Generated bundle index. Do not edit.
|
|
9299
9204
|
*/
|
|
9300
9205
|
|
|
9301
|
-
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_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, InitialsPipe, IsArrayNotEmpty, IsEmail, jsonLd as JsonLD, KeyPressManager, MUST_MATCH, MarkdownToHtmlPipe, MustMatch, NOTIFICATION_CLICK_MESSAGE_TYPE, NormalizeGameResultTypePipe, NormalizeMatchParticipantsPipe, NormalizeMatchScorePipe, NormalizeMatchStatePipe, NormalizeMatchTypePipe, PropsDirective, ProvideColorDirective, ProvideSurfaceDirective, RUNTIME_ERROR_NO_DATA, RepeatDirective, ResizeHandlesComponent, RuntimeError,
|
|
9206
|
+
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_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, InitialsPipe, IsArrayNotEmpty, IsEmail, jsonLd as JsonLD, KeyPressManager, MUST_MATCH, MarkdownToHtmlPipe, MustMatch, NOTIFICATION_CLICK_MESSAGE_TYPE, NormalizeGameResultTypePipe, NormalizeMatchParticipantsPipe, NormalizeMatchScorePipe, NormalizeMatchStatePipe, NormalizeMatchTypePipe, PropsDirective, ProvideColorDirective, ProvideSurfaceDirective, RUNTIME_ERROR_NO_DATA, RepeatDirective, ResizeHandlesComponent, RuntimeError, SURFACE_PROVIDER, SURFACE_TYPE, SWIPE_VELOCITY_WINDOW_MS, ScrollObserverDirective, ScrollObserverEndDirective, ScrollObserverStartDirective, SlugifyPipe, StructuredDataComponent, SurfaceInteractiveDirective, ToArrayPipe, TypedQueryList, UNSAVED_CHANGES_TITLE_MARKER, ValidateAtLeastOneRequired, Validators, 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, areScrollStatesEqual, bindProps, boolBreakpointTransform, booleanBreakpointAttribute, boundingClientRectToElementRect, breakpointTransformBase, buildElementSignal, buildSignalEffects, canUseSessionMemory, clamp, clone, cloneFormGroup, computedTillFalsy, computedTillTruthy, controlValueSignal, controlValueSignalWithPrevious, copyToClipboard, createAnchoredPositionCleanup, createArrayPropertyBinding, createAutoSessionMemoryKey, createBulkPropertyBinding, createCanAnimateSignal, createComponentId, createCssColorThemeName, createCssSurfaceName, createDependencyStash, createDestroy, createDocumentElementSignal, createElementDictionary, createElementDimensions, createEmptyElementSignal, createFlipAnimation, createFlipAnimationGroup, createHostProps, createIsRenderedSignal, createLogger, createOverlayRuntimeRef, createPropHandlers, createPropertyBinding, createProps, createRootThemeCss, createRoute, createRouterState, createRxHostListener, createSessionMemory, createSetup, 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, 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, injectBoundaryElement, injectBreakpointInput, injectBreakpointIsMatched, injectBreakpointObserver, injectCanHover, injectColorThemes, injectColorThemesPrefix, injectCurrentBreakpoint, injectDefaultColorTheme, injectDeviceInputType, injectDisplayOrientation, injectErrorTheme, injectFaviconStore, 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, injectPathParam, injectPathParamChanges, injectPathParams, injectPrefersReducedMotion, injectQueryParam, injectQueryParamChanges, injectQueryParams, injectRenderer, injectRoute, injectRouteData, injectRouteDataItem, injectRouteTitle, injectRouterEvent, injectRouterNavigationState, injectRouterState, injectScrollbarDimensions, injectStructuredDataConfig, injectStructuredDataStore, injectStyleManager, injectSuccessTheme, injectSurfaceContextTracker, injectSurfaceThemes, injectSurfaceThemesPrefix, injectTemplateRef, injectTitleConfig, injectTitleStore, injectUnsavedChangesCoordinator, injectUrl, injectViewportConfig, injectViewportDimensions, injectViewportSize, injectWarningTheme, isAnimationDebugEnabled, isArray, isElementSignal, isElementVisible, isFocusable, isGroupMatch, isHTMLElement, isKnockoutMatch, isObject, markdownToHtml, matchesReducedMotion, maybeSignalValue, memoizeSignal, nextFrame, normalizeGameResultType, normalizeMatchParticipant, normalizeMatchParticipants, normalizeMatchScore, normalizeMatchState, normalizeMatchType, normalizeUnsavedChangesSource, numberBreakpointAttribute, numberBreakpointTransform, previousSignalValue, provideBoundaryElement, provideBreakpointInstance, provideBreakpointObserver, provideColorThemes, provideColorThemesWithTailwind4, provideFaviconStore, provideFocusVisibleTracker, provideLinkStore, provideLinkStoreConfig, provideLocale, provideMetaConfig, provideMetaStore, provideNotifications, provideOverlayRuntime, provideRenderer, provideStructuredDataConfig, provideStructuredDataStore, provideStyleManager, provideSurfaceContextTracker, provideSurfaceThemesWithTailwind4, provideTitleConfig, provideTitleStore, provideUnsavedChangesCoordinator, provideViewportConfig, randomId, readFromClipboard, registerAnchoredPositionMiddlewareExtras, registerAnchoredPositionSetup, resetPositioningStyles, resolveAppRootColorProvider, 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, slugify, switchQueryListChanges, syncSignal, templateComputed, toArray, toArrayTrackByFn, toInjectFn, toProvideFn, toStringBinding, toToken, transformOrReturn, typedBreakpointTransform, unbindProps, useCursorDragScroll, writeScrollbarSizeToCssVariables, writeViewportSizeToCssVariables, ɵProvideColorThemes, ɵProvideColorThemesPrefix, ɵProvideSurfaceThemes, ɵProvideSurfaceThemesPrefix };
|
|
9302
9207
|
//# sourceMappingURL=ethlete-core.mjs.map
|