@ethlete/core 1.1.1 → 1.2.0
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.
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Observable } from 'rxjs';
|
|
1
|
+
import { Observable, Subject } from 'rxjs';
|
|
2
2
|
export const nextFrame = (cb) => {
|
|
3
3
|
requestAnimationFrame(() => {
|
|
4
4
|
requestAnimationFrame(cb);
|
|
@@ -15,4 +15,71 @@ export const fromNextFrame = () => {
|
|
|
15
15
|
export const forceReflow = (element = document.body) => {
|
|
16
16
|
return element.offsetHeight;
|
|
17
17
|
};
|
|
18
|
-
|
|
18
|
+
export const createFlipAnimation = (config) => {
|
|
19
|
+
const { element: el, duration = 250, easing = 'cubic-bezier(0.4, 0, 0.2, 1)' } = config;
|
|
20
|
+
let initialRect = el.getBoundingClientRect();
|
|
21
|
+
let animation = null;
|
|
22
|
+
const onStart$ = new Subject();
|
|
23
|
+
const onFinish$ = new Subject();
|
|
24
|
+
const onCancel$ = new Subject();
|
|
25
|
+
const onAnimationFinish = () => {
|
|
26
|
+
cleanup();
|
|
27
|
+
onFinish$.next();
|
|
28
|
+
};
|
|
29
|
+
const onAnimationCancel = () => {
|
|
30
|
+
cleanup();
|
|
31
|
+
onCancel$.next();
|
|
32
|
+
};
|
|
33
|
+
const cleanup = () => {
|
|
34
|
+
if (!animation) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
animation.removeEventListener('finish', onAnimationFinish);
|
|
38
|
+
animation.removeEventListener('cancel', onAnimationCancel);
|
|
39
|
+
};
|
|
40
|
+
const updateInit = () => {
|
|
41
|
+
initialRect = el.getBoundingClientRect();
|
|
42
|
+
};
|
|
43
|
+
const play = () => {
|
|
44
|
+
const lastRect = el.getBoundingClientRect();
|
|
45
|
+
const delta = {
|
|
46
|
+
x: initialRect.left - lastRect.left,
|
|
47
|
+
y: initialRect.top - lastRect.top,
|
|
48
|
+
scaleX: initialRect.width / lastRect.width,
|
|
49
|
+
scaleY: initialRect.height / lastRect.height,
|
|
50
|
+
};
|
|
51
|
+
animation = el.animate([
|
|
52
|
+
{
|
|
53
|
+
transformOrigin: 'top left',
|
|
54
|
+
transform: `
|
|
55
|
+
translate(${delta.x}px, ${delta.y}px)
|
|
56
|
+
scale(${delta.scaleX}, ${delta.scaleY})
|
|
57
|
+
`,
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
transformOrigin: 'top left',
|
|
61
|
+
transform: 'none',
|
|
62
|
+
},
|
|
63
|
+
], {
|
|
64
|
+
duration,
|
|
65
|
+
easing,
|
|
66
|
+
fill: 'both',
|
|
67
|
+
});
|
|
68
|
+
animation.addEventListener('finish', onAnimationFinish);
|
|
69
|
+
animation.addEventListener('cancel', onAnimationCancel);
|
|
70
|
+
onStart$.next();
|
|
71
|
+
};
|
|
72
|
+
const cancel = () => {
|
|
73
|
+
animation?.cancel();
|
|
74
|
+
cleanup();
|
|
75
|
+
};
|
|
76
|
+
return {
|
|
77
|
+
updateInit,
|
|
78
|
+
play,
|
|
79
|
+
cancel,
|
|
80
|
+
onStart$: onStart$.asObservable(),
|
|
81
|
+
onFinish$: onFinish$.asObservable(),
|
|
82
|
+
onCancel$: onCancel$.asObservable(),
|
|
83
|
+
};
|
|
84
|
+
};
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvdXRpbHMvYW5pbWF0aW9uLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTNDLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUFDLEVBQWMsRUFBRSxFQUFFO0lBQzFDLHFCQUFxQixDQUFDLEdBQUcsRUFBRTtRQUN6QixxQkFBcUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM1QixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxHQUFHLEVBQUU7SUFDaEMsT0FBTyxJQUFJLFVBQVUsQ0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFO1FBQ3ZDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDYixRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDaEIsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxVQUF1QixRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUU7SUFDbEUsT0FBTyxPQUFPLENBQUMsWUFBWSxDQUFDO0FBQzlCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsTUFBb0UsRUFBRSxFQUFFO0lBQzFHLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLFFBQVEsR0FBRyxHQUFHLEVBQUUsTUFBTSxHQUFHLDhCQUE4QixFQUFFLEdBQUcsTUFBTSxDQUFDO0lBRXhGLElBQUksV0FBVyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQzdDLElBQUksU0FBUyxHQUFxQixJQUFJLENBQUM7SUFFdkMsTUFBTSxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUNyQyxNQUFNLFNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBQ3RDLE1BQU0sU0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFdEMsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLEVBQUU7UUFDN0IsT0FBTyxFQUFFLENBQUM7UUFDVixTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkIsQ0FBQyxDQUFDO0lBRUYsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLEVBQUU7UUFDN0IsT0FBTyxFQUFFLENBQUM7UUFDVixTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkIsQ0FBQyxDQUFDO0lBRUYsTUFBTSxPQUFPLEdBQUcsR0FBRyxFQUFFO1FBQ25CLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDZCxPQUFPO1NBQ1I7UUFFRCxTQUFTLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFDM0QsU0FBUyxDQUFDLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQzdELENBQUMsQ0FBQztJQUVGLE1BQU0sVUFBVSxHQUFHLEdBQUcsRUFBRTtRQUN0QixXQUFXLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDM0MsQ0FBQyxDQUFDO0lBRUYsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFO1FBQ2hCLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBRTVDLE1BQU0sS0FBSyxHQUFHO1lBQ1osQ0FBQyxFQUFFLFdBQVcsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUk7WUFDbkMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDLEdBQUc7WUFDakMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQUs7WUFDMUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU07U0FDN0MsQ0FBQztRQUVGLFNBQVMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUNwQjtZQUNFO2dCQUNFLGVBQWUsRUFBRSxVQUFVO2dCQUMzQixTQUFTLEVBQUU7c0JBQ0MsS0FBSyxDQUFDLENBQUMsT0FBTyxLQUFLLENBQUMsQ0FBQztrQkFDekIsS0FBSyxDQUFDLE1BQU0sS0FBSyxLQUFLLENBQUMsTUFBTTtTQUN0QzthQUNBO1lBQ0Q7Z0JBQ0UsZUFBZSxFQUFFLFVBQVU7Z0JBQzNCLFNBQVMsRUFBRSxNQUFNO2FBQ2xCO1NBQ0YsRUFDRDtZQUNFLFFBQVE7WUFDUixNQUFNO1lBQ04sSUFBSSxFQUFFLE1BQU07U0FDYixDQUNGLENBQUM7UUFFRixTQUFTLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFDeEQsU0FBUyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBRXhELFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNsQixDQUFDLENBQUM7SUFFRixNQUFNLE1BQU0sR0FBRyxHQUFHLEVBQUU7UUFDbEIsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBRXBCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQyxDQUFDO0lBRUYsT0FBTztRQUNMLFVBQVU7UUFDVixJQUFJO1FBQ0osTUFBTTtRQUNOLFFBQVEsRUFBRSxRQUFRLENBQUMsWUFBWSxFQUFFO1FBQ2pDLFNBQVMsRUFBRSxTQUFTLENBQUMsWUFBWSxFQUFFO1FBQ25DLFNBQVMsRUFBRSxTQUFTLENBQUMsWUFBWSxFQUFFO0tBQ3BDLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjb25zdCBuZXh0RnJhbWUgPSAoY2I6ICgpID0+IHZvaWQpID0+IHtcbiAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoY2IpO1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBmcm9tTmV4dEZyYW1lID0gKCkgPT4ge1xuICByZXR1cm4gbmV3IE9ic2VydmFibGU8dm9pZD4oKG9ic2VydmVyKSA9PiB7XG4gICAgbmV4dEZyYW1lKCgpID0+IHtcbiAgICAgIG9ic2VydmVyLm5leHQoKTtcbiAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgfSk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGZvcmNlUmVmbG93ID0gKGVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gZG9jdW1lbnQuYm9keSkgPT4ge1xuICByZXR1cm4gZWxlbWVudC5vZmZzZXRIZWlnaHQ7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlRmxpcEFuaW1hdGlvbiA9IChjb25maWc6IHsgZWxlbWVudDogSFRNTEVsZW1lbnQ7IGR1cmF0aW9uPzogbnVtYmVyOyBlYXNpbmc/OiBzdHJpbmcgfSkgPT4ge1xuICBjb25zdCB7IGVsZW1lbnQ6IGVsLCBkdXJhdGlvbiA9IDI1MCwgZWFzaW5nID0gJ2N1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSknIH0gPSBjb25maWc7XG5cbiAgbGV0IGluaXRpYWxSZWN0ID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIGxldCBhbmltYXRpb246IEFuaW1hdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0IG9uU3RhcnQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgY29uc3Qgb25GaW5pc2gkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgY29uc3Qgb25DYW5jZWwkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdCBvbkFuaW1hdGlvbkZpbmlzaCA9ICgpID0+IHtcbiAgICBjbGVhbnVwKCk7XG4gICAgb25GaW5pc2gkLm5leHQoKTtcbiAgfTtcblxuICBjb25zdCBvbkFuaW1hdGlvbkNhbmNlbCA9ICgpID0+IHtcbiAgICBjbGVhbnVwKCk7XG4gICAgb25DYW5jZWwkLm5leHQoKTtcbiAgfTtcblxuICBjb25zdCBjbGVhbnVwID0gKCkgPT4ge1xuICAgIGlmICghYW5pbWF0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgYW5pbWF0aW9uLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2ZpbmlzaCcsIG9uQW5pbWF0aW9uRmluaXNoKTtcbiAgICBhbmltYXRpb24ucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2FuY2VsJywgb25BbmltYXRpb25DYW5jZWwpO1xuICB9O1xuXG4gIGNvbnN0IHVwZGF0ZUluaXQgPSAoKSA9PiB7XG4gICAgaW5pdGlhbFJlY3QgPSBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgfTtcblxuICBjb25zdCBwbGF5ID0gKCkgPT4ge1xuICAgIGNvbnN0IGxhc3RSZWN0ID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICBjb25zdCBkZWx0YSA9IHtcbiAgICAgIHg6IGluaXRpYWxSZWN0LmxlZnQgLSBsYXN0UmVjdC5sZWZ0LFxuICAgICAgeTogaW5pdGlhbFJlY3QudG9wIC0gbGFzdFJlY3QudG9wLFxuICAgICAgc2NhbGVYOiBpbml0aWFsUmVjdC53aWR0aCAvIGxhc3RSZWN0LndpZHRoLFxuICAgICAgc2NhbGVZOiBpbml0aWFsUmVjdC5oZWlnaHQgLyBsYXN0UmVjdC5oZWlnaHQsXG4gICAgfTtcblxuICAgIGFuaW1hdGlvbiA9IGVsLmFuaW1hdGUoXG4gICAgICBbXG4gICAgICAgIHtcbiAgICAgICAgICB0cmFuc2Zvcm1PcmlnaW46ICd0b3AgbGVmdCcsXG4gICAgICAgICAgdHJhbnNmb3JtOiBgXG4gICAgICAgICAgdHJhbnNsYXRlKCR7ZGVsdGEueH1weCwgJHtkZWx0YS55fXB4KVxuICAgICAgICAgIHNjYWxlKCR7ZGVsdGEuc2NhbGVYfSwgJHtkZWx0YS5zY2FsZVl9KVxuICAgICAgICBgLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdHJhbnNmb3JtT3JpZ2luOiAndG9wIGxlZnQnLFxuICAgICAgICAgIHRyYW5zZm9ybTogJ25vbmUnLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHtcbiAgICAgICAgZHVyYXRpb24sXG4gICAgICAgIGVhc2luZyxcbiAgICAgICAgZmlsbDogJ2JvdGgnLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgYW5pbWF0aW9uLmFkZEV2ZW50TGlzdGVuZXIoJ2ZpbmlzaCcsIG9uQW5pbWF0aW9uRmluaXNoKTtcbiAgICBhbmltYXRpb24uYWRkRXZlbnRMaXN0ZW5lcignY2FuY2VsJywgb25BbmltYXRpb25DYW5jZWwpO1xuXG4gICAgb25TdGFydCQubmV4dCgpO1xuICB9O1xuXG4gIGNvbnN0IGNhbmNlbCA9ICgpID0+IHtcbiAgICBhbmltYXRpb24/LmNhbmNlbCgpO1xuXG4gICAgY2xlYW51cCgpO1xuICB9O1xuXG4gIHJldHVybiB7XG4gICAgdXBkYXRlSW5pdCxcbiAgICBwbGF5LFxuICAgIGNhbmNlbCxcbiAgICBvblN0YXJ0JDogb25TdGFydCQuYXNPYnNlcnZhYmxlKCksXG4gICAgb25GaW5pc2gkOiBvbkZpbmlzaCQuYXNPYnNlcnZhYmxlKCksXG4gICAgb25DYW5jZWwkOiBvbkNhbmNlbCQuYXNPYnNlcnZhYmxlKCksXG4gIH07XG59O1xuIl19
|
|
@@ -364,6 +364,73 @@ const fromNextFrame = () => {
|
|
|
364
364
|
const forceReflow = (element = document.body) => {
|
|
365
365
|
return element.offsetHeight;
|
|
366
366
|
};
|
|
367
|
+
const createFlipAnimation = (config) => {
|
|
368
|
+
const { element: el, duration = 250, easing = 'cubic-bezier(0.4, 0, 0.2, 1)' } = config;
|
|
369
|
+
let initialRect = el.getBoundingClientRect();
|
|
370
|
+
let animation = null;
|
|
371
|
+
const onStart$ = new Subject();
|
|
372
|
+
const onFinish$ = new Subject();
|
|
373
|
+
const onCancel$ = new Subject();
|
|
374
|
+
const onAnimationFinish = () => {
|
|
375
|
+
cleanup();
|
|
376
|
+
onFinish$.next();
|
|
377
|
+
};
|
|
378
|
+
const onAnimationCancel = () => {
|
|
379
|
+
cleanup();
|
|
380
|
+
onCancel$.next();
|
|
381
|
+
};
|
|
382
|
+
const cleanup = () => {
|
|
383
|
+
if (!animation) {
|
|
384
|
+
return;
|
|
385
|
+
}
|
|
386
|
+
animation.removeEventListener('finish', onAnimationFinish);
|
|
387
|
+
animation.removeEventListener('cancel', onAnimationCancel);
|
|
388
|
+
};
|
|
389
|
+
const updateInit = () => {
|
|
390
|
+
initialRect = el.getBoundingClientRect();
|
|
391
|
+
};
|
|
392
|
+
const play = () => {
|
|
393
|
+
const lastRect = el.getBoundingClientRect();
|
|
394
|
+
const delta = {
|
|
395
|
+
x: initialRect.left - lastRect.left,
|
|
396
|
+
y: initialRect.top - lastRect.top,
|
|
397
|
+
scaleX: initialRect.width / lastRect.width,
|
|
398
|
+
scaleY: initialRect.height / lastRect.height,
|
|
399
|
+
};
|
|
400
|
+
animation = el.animate([
|
|
401
|
+
{
|
|
402
|
+
transformOrigin: 'top left',
|
|
403
|
+
transform: `
|
|
404
|
+
translate(${delta.x}px, ${delta.y}px)
|
|
405
|
+
scale(${delta.scaleX}, ${delta.scaleY})
|
|
406
|
+
`,
|
|
407
|
+
},
|
|
408
|
+
{
|
|
409
|
+
transformOrigin: 'top left',
|
|
410
|
+
transform: 'none',
|
|
411
|
+
},
|
|
412
|
+
], {
|
|
413
|
+
duration,
|
|
414
|
+
easing,
|
|
415
|
+
fill: 'both',
|
|
416
|
+
});
|
|
417
|
+
animation.addEventListener('finish', onAnimationFinish);
|
|
418
|
+
animation.addEventListener('cancel', onAnimationCancel);
|
|
419
|
+
onStart$.next();
|
|
420
|
+
};
|
|
421
|
+
const cancel = () => {
|
|
422
|
+
animation === null || animation === void 0 ? void 0 : animation.cancel();
|
|
423
|
+
cleanup();
|
|
424
|
+
};
|
|
425
|
+
return {
|
|
426
|
+
updateInit,
|
|
427
|
+
play,
|
|
428
|
+
cancel,
|
|
429
|
+
onStart$: onStart$.asObservable(),
|
|
430
|
+
onFinish$: onFinish$.asObservable(),
|
|
431
|
+
onCancel$: onCancel$.asObservable(),
|
|
432
|
+
};
|
|
433
|
+
};
|
|
367
434
|
|
|
368
435
|
const clamp = (value, min = 0, max = 100) => {
|
|
369
436
|
return Math.max(min, Math.min(max, value));
|
|
@@ -2456,5 +2523,5 @@ const Validators = {
|
|
|
2456
2523
|
* Generated bundle index. Do not edit.
|
|
2457
2524
|
*/
|
|
2458
2525
|
|
|
2459
|
-
export { ANIMATABLE_TOKEN, ANIMATED_LIFECYCLE_TOKEN, AnimatableDirective, AnimatedLifecycleDirective, ClickObserverFactory, ClickObserverService, ClickOutsideDirective, ContentObserverService, CursorDragScrollDirective, DEFAULT_VIEWPORT_CONFIG, DestroyService, FocusVisibleService, IS_ARRAY_NOT_EMPTY, IS_EMAIL, IsArrayNotEmpty, IsEmail, LetContext, LetDirective, MUST_MATCH, Memo, MustMatch, MutationObserverFactory, NormalizeGameResultTypePipe, NormalizeMatchParticipantsPipe, NormalizeMatchScorePipe, NormalizeMatchStatePipe, NormalizeMatchTypePipe, OBSERVE_SCROLL_STATE, ObserveContentDirective, ObserveResizeDirective, ObserveScrollStateDirective, RepeatDirective, ResizeObserverFactory, ResizeObserverService, RouterStateService, SCROLL_OBSERVER_FIRST_ELEMENT_CLASS, SCROLL_OBSERVER_IGNORE_TARGET_CLASS, SCROLL_OBSERVER_LAST_ELEMENT_CLASS, SEO_DIRECTIVE_TOKEN, ScrollObserverFirstElementDirective, ScrollObserverIgnoreTargetDirective, ScrollObserverLastElementDirective, SeoDirective, StructuredDataComponent, ToArrayPipe, TypedQueryList, VIEWPORT_CONFIG, Validators, ViewportService, clamp, clone, createMediaQueryObservable, createReactiveBindings, deleteCookie, elementCanScroll, equal, forceReflow, fromNextFrame, getCookie, getDomain, getGroupMatchPoints, getGroupMatchScore, getKnockoutMatchScore, getMatchScoreSubLine, hasCookie, isGroupMatch, isKnockoutMatch, mergeSeoConfig, nextFrame, normalizeGameResultType, normalizeMatchParticipant, normalizeMatchParticipants, normalizeMatchScore, normalizeMatchState, normalizeMatchType, provideViewportConfig, routerDisableScrollTop, setCookie, toArray, toArrayTrackByFn };
|
|
2526
|
+
export { ANIMATABLE_TOKEN, ANIMATED_LIFECYCLE_TOKEN, AnimatableDirective, AnimatedLifecycleDirective, ClickObserverFactory, ClickObserverService, ClickOutsideDirective, ContentObserverService, CursorDragScrollDirective, DEFAULT_VIEWPORT_CONFIG, DestroyService, FocusVisibleService, IS_ARRAY_NOT_EMPTY, IS_EMAIL, IsArrayNotEmpty, IsEmail, LetContext, LetDirective, MUST_MATCH, Memo, MustMatch, MutationObserverFactory, NormalizeGameResultTypePipe, NormalizeMatchParticipantsPipe, NormalizeMatchScorePipe, NormalizeMatchStatePipe, NormalizeMatchTypePipe, OBSERVE_SCROLL_STATE, ObserveContentDirective, ObserveResizeDirective, ObserveScrollStateDirective, RepeatDirective, ResizeObserverFactory, ResizeObserverService, RouterStateService, SCROLL_OBSERVER_FIRST_ELEMENT_CLASS, SCROLL_OBSERVER_IGNORE_TARGET_CLASS, SCROLL_OBSERVER_LAST_ELEMENT_CLASS, SEO_DIRECTIVE_TOKEN, ScrollObserverFirstElementDirective, ScrollObserverIgnoreTargetDirective, ScrollObserverLastElementDirective, SeoDirective, StructuredDataComponent, ToArrayPipe, TypedQueryList, VIEWPORT_CONFIG, Validators, ViewportService, clamp, clone, createFlipAnimation, createMediaQueryObservable, createReactiveBindings, deleteCookie, elementCanScroll, equal, forceReflow, fromNextFrame, getCookie, getDomain, getGroupMatchPoints, getGroupMatchScore, getKnockoutMatchScore, getMatchScoreSubLine, hasCookie, isGroupMatch, isKnockoutMatch, mergeSeoConfig, nextFrame, normalizeGameResultType, normalizeMatchParticipant, normalizeMatchParticipants, normalizeMatchScore, normalizeMatchState, normalizeMatchType, provideViewportConfig, routerDisableScrollTop, setCookie, toArray, toArrayTrackByFn };
|
|
2460
2527
|
//# sourceMappingURL=ethlete-core.mjs.map
|