@ethlete/core 3.7.0 → 3.8.1
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/esm2022/lib/directives/animatable/animatable.directive.mjs +9 -1
- package/esm2022/lib/directives/animated-lifecycle/animated-lifecycle.directive.mjs +17 -12
- package/esm2022/lib/directives/debug/debug.directive.mjs +44 -0
- package/esm2022/lib/directives/debug/public-api.mjs +2 -0
- package/esm2022/lib/directives/observe-visibility/observe-visibility.directive.mjs +18 -8
- package/esm2022/lib/directives/public-api.mjs +2 -1
- package/esm2022/lib/services/router-state.service.mjs +3 -3
- package/esm2022/lib/services/viewport.service.mjs +10 -4
- package/esm2022/lib/utils/clone.util.mjs +1 -1
- package/esm2022/lib/utils/form.utils.mjs +1 -1
- package/esm2022/lib/utils/mutation-observable.util.mjs +7 -2
- package/esm2022/lib/utils/public-api.mjs +2 -1
- package/esm2022/lib/utils/signal.utils.mjs +72 -0
- package/fesm2022/ethlete-core.mjs +168 -23
- package/fesm2022/ethlete-core.mjs.map +1 -1
- package/lib/directives/animatable/animatable.directive.d.ts +2 -0
- package/lib/directives/debug/debug.directive.d.ts +15 -0
- package/lib/directives/debug/public-api.d.ts +1 -0
- package/lib/directives/observe-visibility/observe-visibility.directive.d.ts +9 -2
- package/lib/directives/public-api.d.ts +1 -0
- package/lib/utils/public-api.d.ts +1 -0
- package/lib/utils/signal.utils.d.ts +7 -0
- package/package.json +2 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, HostBinding, InjectionToken, assertInInjectionContext, DestroyRef, ElementRef, isDevMode, Directive, Injectable, NgZone, EventEmitter, booleanAttribute, numberAttribute, Output, Injector, ViewContainerRef, TemplateRef,
|
|
2
|
+
import { inject, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, HostBinding, InjectionToken, assertInInjectionContext, DestroyRef, ElementRef, effect, isDevMode, Directive, Injectable, NgZone, EventEmitter, booleanAttribute, numberAttribute, Output, Injector, ViewContainerRef, signal, TemplateRef, computed, Pipe, QueryList } from '@angular/core';
|
|
3
3
|
import { DomSanitizer, Meta, Title } from '@angular/platform-browser';
|
|
4
4
|
import { Subject, BehaviorSubject, takeUntil, switchMap, of, tap, Observable, combineLatest, timer, startWith, map, distinctUntilChanged, shareReplay, skip, take, debounceTime, merge, fromEvent, filter, takeWhile, pairwise, finalize } from 'rxjs';
|
|
5
5
|
import { END, HOME, PAGE_DOWN, PAGE_UP, UP_ARROW, DOWN_ARROW } from '@angular/cdk/keycodes';
|
|
@@ -14,6 +14,7 @@ import { autoUpdate, computePosition, offset, flip, size, shift, limitShift, arr
|
|
|
14
14
|
import { Router, NavigationEnd } from '@angular/router';
|
|
15
15
|
import { __decorate, __metadata } from 'tslib';
|
|
16
16
|
import { BreakpointObserver } from '@angular/cdk/layout';
|
|
17
|
+
import { toObservable } from '@angular/core/rxjs-interop';
|
|
17
18
|
import { debounceTime as debounceTime$1 } from 'rxjs/operators';
|
|
18
19
|
|
|
19
20
|
class StructuredDataComponent {
|
|
@@ -648,7 +649,12 @@ const createMutationObservable = (config) => {
|
|
|
648
649
|
const oldValueStyles = oldValue?.split(';').map((s) => s.trim()) ?? [];
|
|
649
650
|
const newValueStyles = newValue?.split(';').map((s) => s.trim()) ?? [];
|
|
650
651
|
const changedStyles = newValueStyles.filter((s) => !oldValueStyles.includes(s));
|
|
651
|
-
if (changedStyles.some((s) =>
|
|
652
|
+
if (changedStyles.some((s) => {
|
|
653
|
+
const [key] = s.split(':');
|
|
654
|
+
if (!key)
|
|
655
|
+
return false;
|
|
656
|
+
return config.options?.styleIgnoreList?.includes(key);
|
|
657
|
+
}))
|
|
652
658
|
continue;
|
|
653
659
|
allowedMutations.push(mutation);
|
|
654
660
|
}
|
|
@@ -1237,6 +1243,77 @@ class SelectionModel {
|
|
|
1237
1243
|
}
|
|
1238
1244
|
}
|
|
1239
1245
|
|
|
1246
|
+
const signalClasses = (el, classMap) => {
|
|
1247
|
+
for (const [classString, signal] of Object.entries(classMap)) {
|
|
1248
|
+
const classArray = classString.split(' ');
|
|
1249
|
+
if (!classArray.length) {
|
|
1250
|
+
continue;
|
|
1251
|
+
}
|
|
1252
|
+
effect(() => {
|
|
1253
|
+
const value = signal();
|
|
1254
|
+
if (value) {
|
|
1255
|
+
el.classList.add(...classArray);
|
|
1256
|
+
}
|
|
1257
|
+
else {
|
|
1258
|
+
el.classList.remove(...classArray);
|
|
1259
|
+
}
|
|
1260
|
+
});
|
|
1261
|
+
}
|
|
1262
|
+
};
|
|
1263
|
+
const signalHostClasses = (classMap) => {
|
|
1264
|
+
const el = inject(ElementRef).nativeElement;
|
|
1265
|
+
signalClasses(el, classMap);
|
|
1266
|
+
};
|
|
1267
|
+
const ALWAYS_TRUE_ATTRIBUTE_KEYS = ['disabled', 'readonly', 'required', 'checked', 'selected'];
|
|
1268
|
+
const signalAttributes = (el, attributeMap) => {
|
|
1269
|
+
for (const [attributeString, signal] of Object.entries(attributeMap)) {
|
|
1270
|
+
effect(() => {
|
|
1271
|
+
const attributeArray = attributeString.split(' ');
|
|
1272
|
+
if (!attributeArray.length) {
|
|
1273
|
+
return;
|
|
1274
|
+
}
|
|
1275
|
+
const value = signal();
|
|
1276
|
+
const valueString = `${value}`;
|
|
1277
|
+
for (const attr of attributeArray) {
|
|
1278
|
+
if (ALWAYS_TRUE_ATTRIBUTE_KEYS.includes(attr)) {
|
|
1279
|
+
if (value) {
|
|
1280
|
+
el.setAttribute(attr, '');
|
|
1281
|
+
}
|
|
1282
|
+
else {
|
|
1283
|
+
el.removeAttribute(attr);
|
|
1284
|
+
}
|
|
1285
|
+
}
|
|
1286
|
+
else {
|
|
1287
|
+
el.setAttribute(attr, valueString);
|
|
1288
|
+
}
|
|
1289
|
+
}
|
|
1290
|
+
});
|
|
1291
|
+
}
|
|
1292
|
+
};
|
|
1293
|
+
const signalHostAttributes = (attributeMap) => {
|
|
1294
|
+
const el = inject(ElementRef).nativeElement;
|
|
1295
|
+
signalAttributes(el, attributeMap);
|
|
1296
|
+
};
|
|
1297
|
+
const signalStyle = (el, styleMap) => {
|
|
1298
|
+
for (const [styleString, signal] of Object.entries(styleMap)) {
|
|
1299
|
+
effect(() => {
|
|
1300
|
+
const styleArray = styleString.split(' ');
|
|
1301
|
+
if (!styleArray.length) {
|
|
1302
|
+
return;
|
|
1303
|
+
}
|
|
1304
|
+
const value = signal();
|
|
1305
|
+
const valueString = `${value}`;
|
|
1306
|
+
for (const style of styleArray) {
|
|
1307
|
+
el.style.setProperty(style, valueString);
|
|
1308
|
+
}
|
|
1309
|
+
});
|
|
1310
|
+
}
|
|
1311
|
+
};
|
|
1312
|
+
const signalHostStyle = (styleMap) => {
|
|
1313
|
+
const el = inject(ElementRef).nativeElement;
|
|
1314
|
+
signalStyle(el, styleMap);
|
|
1315
|
+
};
|
|
1316
|
+
|
|
1240
1317
|
const scrollBehaviorSupported = supportsScrollBehavior();
|
|
1241
1318
|
let _uniqueIdCounter = 0;
|
|
1242
1319
|
const BLOCK_CLASS = 'cdk-global-scrollblock';
|
|
@@ -1355,9 +1432,11 @@ class AnimatableDirective {
|
|
|
1355
1432
|
this._elementRef = inject(ElementRef);
|
|
1356
1433
|
this._animationStart$ = new Subject();
|
|
1357
1434
|
this._animationEnd$ = new Subject();
|
|
1435
|
+
this._animationCancelled$ = new Subject();
|
|
1358
1436
|
this._animatedElement$ = new BehaviorSubject(this._elementRef.nativeElement);
|
|
1359
1437
|
this.animationStart$ = this._animationStart$.asObservable().pipe(debounceTime(0));
|
|
1360
1438
|
this.animationEnd$ = this._animationEnd$.asObservable().pipe(debounceTime(0));
|
|
1439
|
+
this.animationCancelled$ = this._animationCancelled$.asObservable().pipe(debounceTime(0));
|
|
1361
1440
|
this._hostActiveAnimationCount$ = new BehaviorSubject(0);
|
|
1362
1441
|
this._totalActiveAnimationCount$ = new BehaviorSubject(0);
|
|
1363
1442
|
this.isAnimating$ = this._totalActiveAnimationCount$.pipe(map((count) => count > 0), debounceTime(0));
|
|
@@ -1407,6 +1486,12 @@ class AnimatableDirective {
|
|
|
1407
1486
|
this._totalActiveAnimationCount$.next(count);
|
|
1408
1487
|
}), takeUntil(this._destroy$), takeUntil(this._animatedElement$.pipe(skip(1))))
|
|
1409
1488
|
.subscribe();
|
|
1489
|
+
merge(fromEvent(el, 'animationcancel'), fromEvent(el, 'transitioncancel'))
|
|
1490
|
+
.pipe(filter((e) => e.target === el), // skip events from children
|
|
1491
|
+
tap(() => {
|
|
1492
|
+
this._animationCancelled$.next();
|
|
1493
|
+
}), takeUntil(this._destroy$), takeUntil(this._animatedElement$.pipe(skip(1))))
|
|
1494
|
+
.subscribe();
|
|
1410
1495
|
}), takeUntil(this._destroy$))
|
|
1411
1496
|
.subscribe();
|
|
1412
1497
|
this._totalActiveAnimationCount$
|
|
@@ -1486,13 +1571,17 @@ class AnimatedLifecycleDirective {
|
|
|
1486
1571
|
this._isConstructed = true;
|
|
1487
1572
|
}
|
|
1488
1573
|
enter(config) {
|
|
1574
|
+
if (this.state === 'entering')
|
|
1575
|
+
return;
|
|
1489
1576
|
if (this.state === 'init' && !this._isConstructed) {
|
|
1490
1577
|
// Force the state to entered so that the element is not animated when it is first rendered.
|
|
1491
1578
|
this._forceState('entered');
|
|
1492
1579
|
return;
|
|
1493
1580
|
}
|
|
1494
|
-
if (this.state
|
|
1495
|
-
|
|
1581
|
+
if (this.state === 'leaving') {
|
|
1582
|
+
this._classList.remove(ANIMATION_CLASSES.leaveFrom);
|
|
1583
|
+
this._classList.remove(ANIMATION_CLASSES.leaveActive);
|
|
1584
|
+
this._classList.remove(ANIMATION_CLASSES.leaveTo);
|
|
1496
1585
|
}
|
|
1497
1586
|
this._state$.next('entering');
|
|
1498
1587
|
if (!config?.onlyTransition) {
|
|
@@ -1502,11 +1591,13 @@ class AnimatedLifecycleDirective {
|
|
|
1502
1591
|
this._classList.add(ANIMATION_CLASSES.enterActive);
|
|
1503
1592
|
fromNextFrame()
|
|
1504
1593
|
.pipe(tap(() => {
|
|
1505
|
-
if (!config?.onlyTransition) {
|
|
1594
|
+
if (!config?.onlyTransition && this.state === 'entering') {
|
|
1506
1595
|
this._classList.remove(ANIMATION_CLASSES.enterFrom);
|
|
1507
1596
|
this._classList.add(ANIMATION_CLASSES.enterTo);
|
|
1508
1597
|
}
|
|
1509
1598
|
}), switchMap(() => this._animatable.animationEnd$), tap(() => {
|
|
1599
|
+
if (this.state !== 'entering')
|
|
1600
|
+
return;
|
|
1510
1601
|
this._state$.next('entered');
|
|
1511
1602
|
this._classList.remove(ANIMATION_CLASSES.enterActive);
|
|
1512
1603
|
if (!config?.onlyTransition) {
|
|
@@ -1516,16 +1607,13 @@ class AnimatedLifecycleDirective {
|
|
|
1516
1607
|
.subscribe();
|
|
1517
1608
|
}
|
|
1518
1609
|
leave(config) {
|
|
1610
|
+
if (this.state === 'leaving')
|
|
1611
|
+
return;
|
|
1519
1612
|
if (this.state === 'init') {
|
|
1520
1613
|
this._state$.next('left');
|
|
1521
1614
|
return;
|
|
1522
1615
|
}
|
|
1523
|
-
if (this.state
|
|
1524
|
-
console.warn('Tried to leave while already leaving or left. This may result in unexpected behavior.', this);
|
|
1525
|
-
}
|
|
1526
|
-
if (this._classList.contains(ANIMATION_CLASSES.enterFrom) ||
|
|
1527
|
-
this._classList.contains(ANIMATION_CLASSES.enterActive) ||
|
|
1528
|
-
this._classList.contains(ANIMATION_CLASSES.enterTo)) {
|
|
1616
|
+
if (this.state === 'entering') {
|
|
1529
1617
|
this._classList.remove(ANIMATION_CLASSES.enterFrom);
|
|
1530
1618
|
this._classList.remove(ANIMATION_CLASSES.enterActive);
|
|
1531
1619
|
this._classList.remove(ANIMATION_CLASSES.enterTo);
|
|
@@ -1538,11 +1626,13 @@ class AnimatedLifecycleDirective {
|
|
|
1538
1626
|
this._classList.add(ANIMATION_CLASSES.leaveActive);
|
|
1539
1627
|
fromNextFrame()
|
|
1540
1628
|
.pipe(tap(() => {
|
|
1541
|
-
if (!config?.onlyTransition) {
|
|
1629
|
+
if (!config?.onlyTransition && this.state === 'leaving') {
|
|
1542
1630
|
this._classList.remove(ANIMATION_CLASSES.leaveFrom);
|
|
1543
1631
|
this._classList.add(ANIMATION_CLASSES.leaveTo);
|
|
1544
1632
|
}
|
|
1545
1633
|
}), switchMap(() => this._animatable.animationEnd$), tap(() => {
|
|
1634
|
+
if (this.state !== 'leaving')
|
|
1635
|
+
return;
|
|
1546
1636
|
this._state$.next('left');
|
|
1547
1637
|
this._classList.remove(ANIMATION_CLASSES.leaveActive);
|
|
1548
1638
|
if (!config?.onlyTransition) {
|
|
@@ -2018,8 +2108,8 @@ class RouterStateService {
|
|
|
2018
2108
|
this._router.events
|
|
2019
2109
|
.pipe(filter((event) => event instanceof NavigationEnd), distinctUntilChanged((a, b) => a.url === b.url), map((event) => {
|
|
2020
2110
|
const { url } = event;
|
|
2021
|
-
const urlWithoutQueryParams = url.split('?')[0];
|
|
2022
|
-
const withoutFragment = urlWithoutQueryParams.split('#')[0];
|
|
2111
|
+
const urlWithoutQueryParams = url.split('?')[0] ?? '';
|
|
2112
|
+
const withoutFragment = urlWithoutQueryParams.split('#')[0] ?? '';
|
|
2023
2113
|
return withoutFragment;
|
|
2024
2114
|
}))
|
|
2025
2115
|
.subscribe(this._route$);
|
|
@@ -2206,8 +2296,11 @@ class ViewportService {
|
|
|
2206
2296
|
this._resizeObserverService
|
|
2207
2297
|
.observe(document.documentElement)
|
|
2208
2298
|
.pipe(tap((e) => {
|
|
2209
|
-
const
|
|
2210
|
-
|
|
2299
|
+
const entry = e[0];
|
|
2300
|
+
if (!entry)
|
|
2301
|
+
return;
|
|
2302
|
+
const width = entry.contentRect.width;
|
|
2303
|
+
const height = entry.contentRect.height;
|
|
2211
2304
|
const obj = { width, height };
|
|
2212
2305
|
if (equal(obj, this._viewportSize$.value))
|
|
2213
2306
|
return;
|
|
@@ -2230,7 +2323,10 @@ class ViewportService {
|
|
|
2230
2323
|
this._resizeObserverService
|
|
2231
2324
|
.observe(scrollbarRuler)
|
|
2232
2325
|
.pipe(tap((e) => {
|
|
2233
|
-
const
|
|
2326
|
+
const entry = e[0];
|
|
2327
|
+
if (!entry)
|
|
2328
|
+
return;
|
|
2329
|
+
const size = entry.contentRect.width;
|
|
2234
2330
|
const obj = { width: 100 - size, height: 100 - size };
|
|
2235
2331
|
if (equal(obj, this._scrollbarSize$.value))
|
|
2236
2332
|
return;
|
|
@@ -2872,6 +2968,45 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
|
|
|
2872
2968
|
type: Output
|
|
2873
2969
|
}] } });
|
|
2874
2970
|
|
|
2971
|
+
const DEBUG_TOKEN = new InjectionToken('DEBUG_DIRECTIVE_TOKEN');
|
|
2972
|
+
class DebugDirective {
|
|
2973
|
+
constructor() {
|
|
2974
|
+
this._destroy$ = createDestroy();
|
|
2975
|
+
this._debug = signal(true);
|
|
2976
|
+
this.debug = this._debug.asReadonly();
|
|
2977
|
+
this.debug$ = toObservable(this.debug);
|
|
2978
|
+
this.startDebug$ = this.debug$.pipe(filter((debug) => !!debug));
|
|
2979
|
+
this.stopDebug$ = merge(this._destroy$, this.debug$.pipe(filter((debug) => !debug)));
|
|
2980
|
+
}
|
|
2981
|
+
set sDebug(value) {
|
|
2982
|
+
this._debug.set(value);
|
|
2983
|
+
}
|
|
2984
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DebugDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
2985
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "16.2.5", type: DebugDirective, isStandalone: true, selector: "[etDebug]", inputs: { sDebug: ["etDebug", "sDebug", booleanAttribute] }, providers: [
|
|
2986
|
+
{
|
|
2987
|
+
provide: DEBUG_TOKEN,
|
|
2988
|
+
useExisting: DebugDirective,
|
|
2989
|
+
},
|
|
2990
|
+
], exportAs: ["etDebug"], ngImport: i0 }); }
|
|
2991
|
+
}
|
|
2992
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: DebugDirective, decorators: [{
|
|
2993
|
+
type: Directive,
|
|
2994
|
+
args: [{
|
|
2995
|
+
selector: '[etDebug]',
|
|
2996
|
+
exportAs: 'etDebug',
|
|
2997
|
+
standalone: true,
|
|
2998
|
+
providers: [
|
|
2999
|
+
{
|
|
3000
|
+
provide: DEBUG_TOKEN,
|
|
3001
|
+
useExisting: DebugDirective,
|
|
3002
|
+
},
|
|
3003
|
+
],
|
|
3004
|
+
}]
|
|
3005
|
+
}], propDecorators: { sDebug: [{
|
|
3006
|
+
type: Input,
|
|
3007
|
+
args: [{ alias: 'etDebug', transform: booleanAttribute }]
|
|
3008
|
+
}] } });
|
|
3009
|
+
|
|
2875
3010
|
const DELAYABLE_TOKEN = new InjectionToken('DELAYABLE_DIRECTIVE_TOKEN');
|
|
2876
3011
|
class DelayableDirective {
|
|
2877
3012
|
constructor() {
|
|
@@ -3331,13 +3466,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
|
|
|
3331
3466
|
}] } });
|
|
3332
3467
|
|
|
3333
3468
|
const OBSERVE_VISIBILITY_TOKEN = new InjectionToken('OBSERVE_VISIBILITY_TOKEN');
|
|
3469
|
+
const signalVisibilityChangeClasses = (cfg) => ({
|
|
3470
|
+
[`${cfg.name}--is-left`]: computed(() => cfg.signal()?.isLeft),
|
|
3471
|
+
[`${cfg.name}--is-right`]: computed(() => cfg.signal()?.isRight),
|
|
3472
|
+
[`${cfg.name}--is-above`]: computed(() => cfg.signal()?.isAbove),
|
|
3473
|
+
[`${cfg.name}--is-below`]: computed(() => cfg.signal()?.isBelow),
|
|
3474
|
+
[`${cfg.name}--is-visible`]: computed(() => cfg.signal()?.visible),
|
|
3475
|
+
});
|
|
3334
3476
|
class ObserveVisibilityDirective {
|
|
3335
3477
|
constructor() {
|
|
3336
3478
|
this._destroy$ = createDestroy();
|
|
3337
3479
|
this._elementRef = inject(ElementRef);
|
|
3338
3480
|
this._intersectionObserverService = inject(IntersectionObserverService);
|
|
3339
|
-
this.
|
|
3481
|
+
this.visibilityChange = signal(null);
|
|
3340
3482
|
this.etObserveVisibility = new EventEmitter();
|
|
3483
|
+
signalHostClasses(signalVisibilityChangeClasses({
|
|
3484
|
+
name: 'et-observe-visibility',
|
|
3485
|
+
signal: this.visibilityChange,
|
|
3486
|
+
}));
|
|
3341
3487
|
}
|
|
3342
3488
|
ngAfterViewInit() {
|
|
3343
3489
|
this._intersectionObserverService
|
|
@@ -3360,12 +3506,12 @@ class ObserveVisibilityDirective {
|
|
|
3360
3506
|
entry,
|
|
3361
3507
|
};
|
|
3362
3508
|
this.etObserveVisibility.emit(data);
|
|
3363
|
-
this.
|
|
3509
|
+
this.visibilityChange.set(data);
|
|
3364
3510
|
}))
|
|
3365
3511
|
.subscribe();
|
|
3366
3512
|
}
|
|
3367
3513
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: ObserveVisibilityDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
3368
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.5", type: ObserveVisibilityDirective, isStandalone: true, selector: "[etObserveVisibility]", outputs: { etObserveVisibility: "etObserveVisibility" }, host: {
|
|
3514
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.5", type: ObserveVisibilityDirective, isStandalone: true, selector: "[etObserveVisibility]", outputs: { etObserveVisibility: "etObserveVisibility" }, host: { classAttribute: "et-observe-visibility" }, providers: [
|
|
3369
3515
|
{
|
|
3370
3516
|
provide: OBSERVE_VISIBILITY_TOKEN,
|
|
3371
3517
|
useExisting: ObserveVisibilityDirective,
|
|
@@ -3385,10 +3531,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImpor
|
|
|
3385
3531
|
],
|
|
3386
3532
|
host: {
|
|
3387
3533
|
class: 'et-observe-visibility',
|
|
3388
|
-
'[class.et-observe-visibility--is-visible]': 'isIntersecting',
|
|
3389
3534
|
},
|
|
3390
3535
|
}]
|
|
3391
|
-
}], propDecorators: { etObserveVisibility: [{
|
|
3536
|
+
}], ctorParameters: function () { return []; }, propDecorators: { etObserveVisibility: [{
|
|
3392
3537
|
type: Output
|
|
3393
3538
|
}] } });
|
|
3394
3539
|
|
|
@@ -4016,5 +4161,5 @@ const Validators = {
|
|
|
4016
4161
|
* Generated bundle index. Do not edit.
|
|
4017
4162
|
*/
|
|
4018
4163
|
|
|
4019
|
-
export { ANIMATABLE_TOKEN, ANIMATED_IF_TOKEN, ANIMATED_LIFECYCLE_TOKEN, AT_LEAST_ONE_REQUIRED, ActiveSelectionModel, AnimatableDirective, AnimatedIfDirective, AnimatedLifecycleDirective, AnimatedOverlayDirective, ClickObserverFactory, ClickObserverService, ClickOutsideDirective, ContentObserverService, CursorDragScrollDirective, DEFAULT_VIEWPORT_CONFIG, DELAYABLE_TOKEN, DelayableDirective, ET_PROPERTY_REMOVED, FocusVisibleService, IS_ACTIVE_ELEMENT, IS_ARRAY_NOT_EMPTY, IS_ELEMENT, IS_EMAIL, IntersectionObserverFactory, IntersectionObserverService, IsActiveElementDirective, IsArrayNotEmpty, IsElementDirective, IsEmail, KeyPressManager, LetContext, LetDirective, MUST_MATCH, Memo, MustMatch, MutationObserverFactory, NormalizeGameResultTypePipe, NormalizeMatchParticipantsPipe, NormalizeMatchScorePipe, NormalizeMatchStatePipe, NormalizeMatchTypePipe, OBSERVE_SCROLL_STATE, OBSERVE_VISIBILITY_TOKEN, ObserveContentDirective, ObserveResizeDirective, ObserveScrollStateDirective, ObserveVisibilityDirective, RUNTIME_ERROR_NO_DATA, RepeatDirective, ResizeObserverFactory, ResizeObserverService, RouterStateService, RuntimeError, SCROLL_OBSERVER_FIRST_ELEMENT_CLASS, SCROLL_OBSERVER_IGNORE_TARGET_CLASS, SCROLL_OBSERVER_LAST_ELEMENT_CLASS, SCROLL_OBSERVER_OBSERVING_FIRST_ELEMENT_CLASS, SCROLL_OBSERVER_OBSERVING_LAST_ELEMENT_CLASS, SEO_DIRECTIVE_TOKEN, ScrollObserverFirstElementDirective, ScrollObserverIgnoreTargetDirective, ScrollObserverLastElementDirective, SelectionModel, SeoDirective, SmartBlockScrollStrategy, StructuredDataComponent, ToArrayPipe, TypedQueryList, VIEWPORT_CONFIG, ValidateAtLeastOneRequired, Validators, ViewportService, clamp, clone, cloneFormGroup, createDestroy, createFlipAnimation, createFlipAnimationGroup, createMediaQueryObservable, createMutationObservable, createReactiveBindings, createResizeObservable, deleteCookie, elementCanScroll, equal, forceReflow, formatRuntimeError, fromNextFrame, getCookie, getDomain, getElementVisibleStates, getGroupMatchPoints, getGroupMatchScore, getKnockoutMatchScore, getMatchScoreSubLine, hasCookie, isElementVisible, isEmptyArray, isGroupMatch, isKnockoutMatch, isObjectArray, isPrimitiveArray, mergeSeoConfig, nextFrame, normalizeGameResultType, normalizeMatchParticipant, normalizeMatchParticipants, normalizeMatchScore, normalizeMatchState, normalizeMatchType, provideViewportConfig, round, routerDisableScrollTop, scrollToElement, setCookie, toArray, toArrayTrackByFn };
|
|
4164
|
+
export { ANIMATABLE_TOKEN, ANIMATED_IF_TOKEN, ANIMATED_LIFECYCLE_TOKEN, AT_LEAST_ONE_REQUIRED, ActiveSelectionModel, AnimatableDirective, AnimatedIfDirective, AnimatedLifecycleDirective, AnimatedOverlayDirective, ClickObserverFactory, ClickObserverService, ClickOutsideDirective, ContentObserverService, CursorDragScrollDirective, DEBUG_TOKEN, DEFAULT_VIEWPORT_CONFIG, DELAYABLE_TOKEN, DebugDirective, DelayableDirective, ET_PROPERTY_REMOVED, FocusVisibleService, IS_ACTIVE_ELEMENT, IS_ARRAY_NOT_EMPTY, IS_ELEMENT, IS_EMAIL, IntersectionObserverFactory, IntersectionObserverService, IsActiveElementDirective, IsArrayNotEmpty, IsElementDirective, IsEmail, KeyPressManager, LetContext, LetDirective, MUST_MATCH, Memo, MustMatch, MutationObserverFactory, NormalizeGameResultTypePipe, NormalizeMatchParticipantsPipe, NormalizeMatchScorePipe, NormalizeMatchStatePipe, NormalizeMatchTypePipe, OBSERVE_SCROLL_STATE, OBSERVE_VISIBILITY_TOKEN, ObserveContentDirective, ObserveResizeDirective, ObserveScrollStateDirective, ObserveVisibilityDirective, RUNTIME_ERROR_NO_DATA, RepeatDirective, ResizeObserverFactory, ResizeObserverService, RouterStateService, RuntimeError, SCROLL_OBSERVER_FIRST_ELEMENT_CLASS, SCROLL_OBSERVER_IGNORE_TARGET_CLASS, SCROLL_OBSERVER_LAST_ELEMENT_CLASS, SCROLL_OBSERVER_OBSERVING_FIRST_ELEMENT_CLASS, SCROLL_OBSERVER_OBSERVING_LAST_ELEMENT_CLASS, SEO_DIRECTIVE_TOKEN, ScrollObserverFirstElementDirective, ScrollObserverIgnoreTargetDirective, ScrollObserverLastElementDirective, SelectionModel, SeoDirective, SmartBlockScrollStrategy, StructuredDataComponent, ToArrayPipe, TypedQueryList, VIEWPORT_CONFIG, ValidateAtLeastOneRequired, Validators, ViewportService, clamp, clone, cloneFormGroup, createDestroy, createFlipAnimation, createFlipAnimationGroup, createMediaQueryObservable, createMutationObservable, createReactiveBindings, createResizeObservable, deleteCookie, elementCanScroll, equal, forceReflow, formatRuntimeError, fromNextFrame, getCookie, getDomain, getElementVisibleStates, getGroupMatchPoints, getGroupMatchScore, getKnockoutMatchScore, getMatchScoreSubLine, hasCookie, isElementVisible, isEmptyArray, isGroupMatch, isKnockoutMatch, isObjectArray, isPrimitiveArray, mergeSeoConfig, nextFrame, normalizeGameResultType, normalizeMatchParticipant, normalizeMatchParticipants, normalizeMatchScore, normalizeMatchState, normalizeMatchType, provideViewportConfig, round, routerDisableScrollTop, scrollToElement, setCookie, signalAttributes, signalClasses, signalHostAttributes, signalHostClasses, signalHostStyle, signalStyle, signalVisibilityChangeClasses, toArray, toArrayTrackByFn };
|
|
4020
4165
|
//# sourceMappingURL=ethlete-core.mjs.map
|