@studiometa/ui 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.
- package/Frame/FrameLoader.js +0 -1
- package/Frame/FrameLoader.js.map +2 -2
- package/ScrollAnimation/AbstractScrollAnimation.d.ts +3 -2
- package/ScrollAnimation/AbstractScrollAnimation.js +19 -10
- package/ScrollAnimation/AbstractScrollAnimation.js.map +2 -2
- package/ScrollAnimation/ScrollAnimationChild.js +11 -7
- package/ScrollAnimation/ScrollAnimationChild.js.map +2 -2
- package/ScrollAnimation/ScrollAnimationParent.js +2 -2
- package/ScrollAnimation/ScrollAnimationParent.js.map +2 -2
- package/package.json +1 -1
package/Frame/FrameLoader.js
CHANGED
package/Frame/FrameLoader.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../packages/ui/Frame/FrameLoader.ts"],
|
|
4
|
-
"sourcesContent": ["import type { BaseProps, BaseConfig } from '@studiometa/js-toolkit';\nimport { Transition } from '../Transition/index.js';\nimport type { TransitionProps } from '../decorators/withTransition.js';\n\nexport interface FrameLoaderProps extends BaseProps {\n $options: TransitionProps['$options'] & {\n enterKeep: true;\n leaveKeep: true;\n };\n}\n\n/**\n * Class.\n */\nexport class FrameLoader<T extends BaseProps = BaseProps> extends Transition<T & FrameLoaderProps> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n name: 'FrameLoader',\n };\n\n
|
|
5
|
-
"mappings": "AACA,SAAS,kBAAkB;AAapB,MAAM,oBAAqD,WAAiC;AAAA;AAAA;AAAA;AAAA,EAIjG,OAAO,SAAqB;AAAA,IAC1B,MAAM;AAAA,EACR;AAAA
|
|
4
|
+
"sourcesContent": ["import type { BaseProps, BaseConfig } from '@studiometa/js-toolkit';\nimport { Transition } from '../Transition/index.js';\nimport type { TransitionProps } from '../decorators/withTransition.js';\n\nexport interface FrameLoaderProps extends BaseProps {\n $options: TransitionProps['$options'] & {\n enterKeep: true;\n leaveKeep: true;\n };\n}\n\n/**\n * Class.\n */\nexport class FrameLoader<T extends BaseProps = BaseProps> extends Transition<T & FrameLoaderProps> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n name: 'FrameLoader',\n };\n\n get $options() {\n const options = super.$options;\n\n return {\n ...options,\n enterKeep: true,\n leaveKeep: true,\n };\n }\n}\n"],
|
|
5
|
+
"mappings": "AACA,SAAS,kBAAkB;AAapB,MAAM,oBAAqD,WAAiC;AAAA;AAAA;AAAA;AAAA,EAIjG,OAAO,SAAqB;AAAA,IAC1B,MAAM;AAAA,EACR;AAAA,EAEA,IAAI,WAAW;AACb,UAAM,UAAU,MAAM;AAEtB,WAAO;AAAA,MACL,GAAG;AAAA,MACH,WAAW;AAAA,MACX,WAAW;AAAA,IACb;AAAA,EACF;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -4,7 +4,7 @@ import { animate } from '@studiometa/js-toolkit/utils';
|
|
|
4
4
|
import type { Keyframe } from '@studiometa/js-toolkit/utils';
|
|
5
5
|
export interface AbstractScrollAnimationProps extends BaseProps {
|
|
6
6
|
$options: {
|
|
7
|
-
playRange: [number, number];
|
|
7
|
+
playRange: [number, number] | [number, number, number];
|
|
8
8
|
from: Keyframe;
|
|
9
9
|
to: Keyframe;
|
|
10
10
|
keyframes: Keyframe[];
|
|
@@ -28,7 +28,8 @@ export declare class AbstractScrollAnimation<T extends BaseProps = BaseProps> ex
|
|
|
28
28
|
* Lazily get animation.
|
|
29
29
|
*/
|
|
30
30
|
get animation(): ReturnType<typeof animate>;
|
|
31
|
-
|
|
31
|
+
get playRange(): [number, number];
|
|
32
|
+
scrolledInView({ dampedProgress }: ScrollInViewProps): void;
|
|
32
33
|
/**
|
|
33
34
|
* Render the animation for the given progress.
|
|
34
35
|
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Base, withFreezedOptions } from "@studiometa/js-toolkit";
|
|
2
|
-
import { map,
|
|
2
|
+
import { map, clamp01, animate } from "@studiometa/js-toolkit/utils";
|
|
3
3
|
class AbstractScrollAnimation extends withFreezedOptions(Base) {
|
|
4
4
|
/**
|
|
5
5
|
* Config.
|
|
@@ -50,15 +50,24 @@ class AbstractScrollAnimation extends withFreezedOptions(Base) {
|
|
|
50
50
|
});
|
|
51
51
|
return animation;
|
|
52
52
|
}
|
|
53
|
-
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
53
|
+
get playRange() {
|
|
54
|
+
const { playRange } = this.$options;
|
|
55
|
+
let start = 0;
|
|
56
|
+
let end = 1;
|
|
57
|
+
if (playRange.length === 3) {
|
|
58
|
+
const [index, length, step] = playRange;
|
|
59
|
+
const clampedStep = clamp01(step);
|
|
60
|
+
const duration = Math.max(0, 1 - clampedStep * (length - 1));
|
|
61
|
+
start = clampedStep * index;
|
|
62
|
+
end = Math.min(1, start + duration);
|
|
63
|
+
} else if (playRange.length === 2) {
|
|
64
|
+
[start, end] = playRange;
|
|
65
|
+
}
|
|
66
|
+
return [start, end];
|
|
67
|
+
}
|
|
68
|
+
scrolledInView({ dampedProgress }) {
|
|
69
|
+
const [start, end] = this.playRange;
|
|
70
|
+
this.render(clamp01(map(dampedProgress.y, start, end, 0, 1)));
|
|
62
71
|
}
|
|
63
72
|
/**
|
|
64
73
|
* Render the animation for the given progress.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../packages/ui/ScrollAnimation/AbstractScrollAnimation.ts"],
|
|
4
|
-
"sourcesContent": ["import { Base, withFreezedOptions } from '@studiometa/js-toolkit';\nimport type { BaseProps, BaseConfig, ScrollInViewProps } from '@studiometa/js-toolkit';\nimport { map,
|
|
5
|
-
"mappings": "AAAA,SAAS,MAAM,0BAA0B;AAEzC,SAAS,KAAK,
|
|
4
|
+
"sourcesContent": ["import { Base, withFreezedOptions } from '@studiometa/js-toolkit';\nimport type { BaseProps, BaseConfig, ScrollInViewProps } from '@studiometa/js-toolkit';\nimport { map, clamp01, animate } from '@studiometa/js-toolkit/utils';\nimport type { Keyframe } from '@studiometa/js-toolkit/utils';\n\nexport interface AbstractScrollAnimationProps extends BaseProps {\n $options: {\n playRange: [number, number] | [number, number, number];\n from: Keyframe;\n to: Keyframe;\n keyframes: Keyframe[];\n easing: [number, number, number, number];\n };\n}\n\n/**\n * AbstractScrollAnimation class.\n */\nexport class AbstractScrollAnimation<\n T extends BaseProps = BaseProps,\n> extends withFreezedOptions<Base>(Base)<T & AbstractScrollAnimationProps> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n name: 'AbstractScrollAnimation',\n options: {\n playRange: {\n type: Array,\n default: () => [0, 1],\n },\n from: {\n type: Object,\n default: () => ({}),\n },\n to: {\n type: Object,\n default: () => ({}),\n },\n keyframes: {\n type: Array,\n },\n easing: {\n type: Array,\n default: () => [0, 0, 1, 1],\n },\n },\n };\n\n /**\n * Get the target element for the animation.\n */\n get target() {\n return this.$el as HTMLElement;\n }\n\n /**\n * Lazily get animation.\n */\n get animation(): ReturnType<typeof animate> {\n let { keyframes } = this.$options;\n const { from, to } = this.$options;\n\n if (keyframes.length <= 0 && from && to) {\n keyframes = [from, to];\n }\n\n const animation = animate(this.target, keyframes, { easing: this.$options.easing });\n\n Object.defineProperty(this, 'animation', {\n value: animation,\n configurable: true,\n });\n\n return animation;\n }\n\n get playRange(): [number, number] {\n const { playRange } = this.$options;\n\n let start = 0;\n let end = 1;\n\n if (playRange.length === 3) {\n const [index, length, step] = playRange;\n const clampedStep = clamp01(step);\n const duration = Math.max(0, 1 - clampedStep * (length - 1));\n start = clampedStep * index;\n end = Math.min(1, start + duration);\n } else if (playRange.length === 2) {\n [start, end] = playRange;\n }\n\n return [start, end];\n }\n\n scrolledInView({ dampedProgress }: ScrollInViewProps) {\n const [start, end] = this.playRange;\n this.render(clamp01(map(dampedProgress.y, start, end, 0, 1)));\n }\n\n /**\n * Render the animation for the given progress.\n */\n render(progress: number) {\n this.animation.progress(progress);\n }\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,MAAM,0BAA0B;AAEzC,SAAS,KAAK,SAAS,eAAe;AAgB/B,MAAM,gCAEH,mBAAyB,IAAI,EAAoC;AAAA;AAAA;AAAA;AAAA,EAIzE,OAAO,SAAqB;AAAA,IAC1B,MAAM;AAAA,IACN,SAAS;AAAA,MACP,WAAW;AAAA,QACT,MAAM;AAAA,QACN,SAAS,MAAM,CAAC,GAAG,CAAC;AAAA,MACtB;AAAA,MACA,MAAM;AAAA,QACJ,MAAM;AAAA,QACN,SAAS,OAAO,CAAC;AAAA,MACnB;AAAA,MACA,IAAI;AAAA,QACF,MAAM;AAAA,QACN,SAAS,OAAO,CAAC;AAAA,MACnB;AAAA,MACA,WAAW;AAAA,QACT,MAAM;AAAA,MACR;AAAA,MACA,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,SAAS,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;AAAA,MAC5B;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,SAAS;AACX,WAAO,KAAK;AAAA,EACd;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,YAAwC;AAC1C,QAAI,EAAE,UAAU,IAAI,KAAK;AACzB,UAAM,EAAE,MAAM,GAAG,IAAI,KAAK;AAE1B,QAAI,UAAU,UAAU,KAAK,QAAQ,IAAI;AACvC,kBAAY,CAAC,MAAM,EAAE;AAAA,IACvB;AAEA,UAAM,YAAY,QAAQ,KAAK,QAAQ,WAAW,EAAE,QAAQ,KAAK,SAAS,OAAO,CAAC;AAElF,WAAO,eAAe,MAAM,aAAa;AAAA,MACvC,OAAO;AAAA,MACP,cAAc;AAAA,IAChB,CAAC;AAED,WAAO;AAAA,EACT;AAAA,EAEA,IAAI,YAA8B;AAChC,UAAM,EAAE,UAAU,IAAI,KAAK;AAE3B,QAAI,QAAQ;AACZ,QAAI,MAAM;AAEV,QAAI,UAAU,WAAW,GAAG;AAC1B,YAAM,CAAC,OAAO,QAAQ,IAAI,IAAI;AAC9B,YAAM,cAAc,QAAQ,IAAI;AAChC,YAAM,WAAW,KAAK,IAAI,GAAG,IAAI,eAAe,SAAS,EAAE;AAC3D,cAAQ,cAAc;AACtB,YAAM,KAAK,IAAI,GAAG,QAAQ,QAAQ;AAAA,IACpC,WAAW,UAAU,WAAW,GAAG;AACjC,OAAC,OAAO,GAAG,IAAI;AAAA,IACjB;AAEA,WAAO,CAAC,OAAO,GAAG;AAAA,EACpB;AAAA,EAEA,eAAe,EAAE,eAAe,GAAsB;AACpD,UAAM,CAAC,OAAO,GAAG,IAAI,KAAK;AAC1B,SAAK,OAAO,QAAQ,IAAI,eAAe,GAAG,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC;AAAA,EAC9D;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,UAAkB;AACvB,SAAK,UAAU,SAAS,QAAQ;AAAA,EAClC;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { damp, clamp01 } from "@studiometa/js-toolkit/utils";
|
|
1
|
+
import { damp, clamp01, domScheduler } from "@studiometa/js-toolkit/utils";
|
|
2
2
|
import { AbstractScrollAnimation } from "./AbstractScrollAnimation.js";
|
|
3
3
|
function updateProps(that, props, dampFactor, dampPrecision, axis = "x") {
|
|
4
4
|
that.dampedCurrent[axis] = damp(
|
|
@@ -48,12 +48,16 @@ class ScrollAnimationChild extends AbstractScrollAnimation {
|
|
|
48
48
|
* Compute local damped progress.
|
|
49
49
|
*/
|
|
50
50
|
scrolledInView(props) {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
51
|
+
domScheduler.read(() => {
|
|
52
|
+
const { dampFactor, dampPrecision } = this.$options;
|
|
53
|
+
updateProps(this, props, dampFactor, dampPrecision, "x");
|
|
54
|
+
updateProps(this, props, dampFactor, dampPrecision, "y");
|
|
55
|
+
props.dampedCurrent = this.dampedCurrent;
|
|
56
|
+
props.dampedProgress = this.dampedProgress;
|
|
57
|
+
});
|
|
58
|
+
domScheduler.write(() => {
|
|
59
|
+
super.scrolledInView(props);
|
|
60
|
+
});
|
|
57
61
|
}
|
|
58
62
|
}
|
|
59
63
|
export {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../packages/ui/ScrollAnimation/ScrollAnimationChild.ts"],
|
|
4
|
-
"sourcesContent": ["import type {\n BaseConfig,\n BaseProps,\n ScrollInViewProps,\n WithScrolledInViewProps,\n} from '@studiometa/js-toolkit';\nimport { damp, clamp01 } from '@studiometa/js-toolkit/utils';\nimport { AbstractScrollAnimation } from './AbstractScrollAnimation.js';\n\nexport interface ScrollAnimationChildProps extends BaseProps {\n $options: WithScrolledInViewProps['$options'];\n}\n\nfunction updateProps(\n // eslint-disable-next-line no-use-before-define\n that: ScrollAnimationChild,\n props: ScrollInViewProps,\n dampFactor: number,\n dampPrecision: number,\n axis: 'x' | 'y' = 'x',\n) {\n that.dampedCurrent[axis] = damp(\n props.current[axis],\n that.dampedCurrent[axis],\n dampFactor,\n dampPrecision,\n );\n that.dampedProgress[axis] = clamp01(\n (that.dampedCurrent[axis] - props.start[axis]) / (props.end[axis] - props.start[axis]),\n );\n}\n\n/**\n * ScrollAnimationChild class.\n */\nexport class ScrollAnimationChild<T extends BaseProps = BaseProps> extends AbstractScrollAnimation<\n T & ScrollAnimationChildProps\n> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n name: 'ScrollAnimationChild',\n ...AbstractScrollAnimation.config,\n options: {\n ...AbstractScrollAnimation.config.options,\n dampFactor: {\n type: Number,\n default: 0.1,\n },\n dampPrecision: {\n type: Number,\n default: 0.001,\n },\n },\n };\n\n /**\n * Local damped current values.\n */\n dampedCurrent: ScrollInViewProps['dampedCurrent'] = {\n x: 0,\n y: 0,\n };\n\n /**\n * Local damped progress.\n */\n dampedProgress: ScrollInViewProps['dampedCurrent'] = {\n x: 0,\n y: 0,\n };\n\n /**\n * Compute local damped progress.\n */\n scrolledInView(props: ScrollInViewProps) {\n const { dampFactor, dampPrecision } = this.$options;\n
|
|
5
|
-
"mappings": "AAMA,SAAS,MAAM,
|
|
4
|
+
"sourcesContent": ["import type {\n BaseConfig,\n BaseProps,\n ScrollInViewProps,\n WithScrolledInViewProps,\n} from '@studiometa/js-toolkit';\nimport { damp, clamp01, domScheduler } from '@studiometa/js-toolkit/utils';\nimport { AbstractScrollAnimation } from './AbstractScrollAnimation.js';\n\nexport interface ScrollAnimationChildProps extends BaseProps {\n $options: WithScrolledInViewProps['$options'];\n}\n\nfunction updateProps(\n // eslint-disable-next-line no-use-before-define\n that: ScrollAnimationChild,\n props: ScrollInViewProps,\n dampFactor: number,\n dampPrecision: number,\n axis: 'x' | 'y' = 'x',\n) {\n that.dampedCurrent[axis] = damp(\n props.current[axis],\n that.dampedCurrent[axis],\n dampFactor,\n dampPrecision,\n );\n that.dampedProgress[axis] = clamp01(\n (that.dampedCurrent[axis] - props.start[axis]) / (props.end[axis] - props.start[axis]),\n );\n}\n\n/**\n * ScrollAnimationChild class.\n */\nexport class ScrollAnimationChild<T extends BaseProps = BaseProps> extends AbstractScrollAnimation<\n T & ScrollAnimationChildProps\n> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n name: 'ScrollAnimationChild',\n ...AbstractScrollAnimation.config,\n options: {\n ...AbstractScrollAnimation.config.options,\n dampFactor: {\n type: Number,\n default: 0.1,\n },\n dampPrecision: {\n type: Number,\n default: 0.001,\n },\n },\n };\n\n /**\n * Local damped current values.\n */\n dampedCurrent: ScrollInViewProps['dampedCurrent'] = {\n x: 0,\n y: 0,\n };\n\n /**\n * Local damped progress.\n */\n dampedProgress: ScrollInViewProps['dampedCurrent'] = {\n x: 0,\n y: 0,\n };\n\n /**\n * Compute local damped progress.\n */\n scrolledInView(props: ScrollInViewProps) {\n domScheduler.read(() => {\n const { dampFactor, dampPrecision } = this.$options;\n updateProps(this, props, dampFactor, dampPrecision, 'x');\n updateProps(this, props, dampFactor, dampPrecision, 'y');\n props.dampedCurrent = this.dampedCurrent;\n props.dampedProgress = this.dampedProgress;\n });\n\n domScheduler.write(() => {\n super.scrolledInView(props);\n });\n }\n}\n"],
|
|
5
|
+
"mappings": "AAMA,SAAS,MAAM,SAAS,oBAAoB;AAC5C,SAAS,+BAA+B;AAMxC,SAAS,YAEP,MACA,OACA,YACA,eACA,OAAkB,KAClB;AACA,OAAK,cAAc,IAAI,IAAI;AAAA,IACzB,MAAM,QAAQ,IAAI;AAAA,IAClB,KAAK,cAAc,IAAI;AAAA,IACvB;AAAA,IACA;AAAA,EACF;AACA,OAAK,eAAe,IAAI,IAAI;AAAA,KACzB,KAAK,cAAc,IAAI,IAAI,MAAM,MAAM,IAAI,MAAM,MAAM,IAAI,IAAI,IAAI,MAAM,MAAM,IAAI;AAAA,EACtF;AACF;AAKO,MAAM,6BAA8D,wBAEzE;AAAA;AAAA;AAAA;AAAA,EAIA,OAAO,SAAqB;AAAA,IAC1B,MAAM;AAAA,IACN,GAAG,wBAAwB;AAAA,IAC3B,SAAS;AAAA,MACP,GAAG,wBAAwB,OAAO;AAAA,MAClC,YAAY;AAAA,QACV,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA,eAAe;AAAA,QACb,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,gBAAoD;AAAA,IAClD,GAAG;AAAA,IACH,GAAG;AAAA,EACL;AAAA;AAAA;AAAA;AAAA,EAKA,iBAAqD;AAAA,IACnD,GAAG;AAAA,IACH,GAAG;AAAA,EACL;AAAA;AAAA;AAAA;AAAA,EAKA,eAAe,OAA0B;AACvC,iBAAa,KAAK,MAAM;AACtB,YAAM,EAAE,YAAY,cAAc,IAAI,KAAK;AAC3C,kBAAY,MAAM,OAAO,YAAY,eAAe,GAAG;AACvD,kBAAY,MAAM,OAAO,YAAY,eAAe,GAAG;AACvD,YAAM,gBAAgB,KAAK;AAC3B,YAAM,iBAAiB,KAAK;AAAA,IAC9B,CAAC;AAED,iBAAa,MAAM,MAAM;AACvB,YAAM,eAAe,KAAK;AAAA,IAC5B,CAAC;AAAA,EACH;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -17,9 +17,9 @@ class ScrollAnimationParent extends withScrolledInView(
|
|
|
17
17
|
* Scrolled in view hook.
|
|
18
18
|
*/
|
|
19
19
|
scrolledInView(props) {
|
|
20
|
-
this.$children.ScrollAnimationChild
|
|
20
|
+
for (const child of this.$children.ScrollAnimationChild) {
|
|
21
21
|
child.scrolledInView(props);
|
|
22
|
-
}
|
|
22
|
+
}
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
export {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../packages/ui/ScrollAnimation/ScrollAnimationParent.ts"],
|
|
4
|
-
"sourcesContent": ["import { Base, ScrollInViewProps, withScrolledInView } from '@studiometa/js-toolkit';\nimport type { BaseConfig, BaseProps } from '@studiometa/js-toolkit';\nimport { ScrollAnimationChild } from './ScrollAnimationChild.js';\n\nexport interface ScrollAnimationParentProps extends BaseProps {\n $children: {\n ScrollAnimationChild: ScrollAnimationChild[];\n };\n}\n\n/**\n * ScrollAnimationParent class.\n */\nexport class ScrollAnimationParent<T extends BaseProps = BaseProps> extends withScrolledInView(\n Base,\n {},\n)<T & ScrollAnimationParentProps> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n name: 'ScrollAnimationParent',\n components: {\n ScrollAnimationChild,\n },\n };\n\n /**\n * Scrolled in view hook.\n */\n scrolledInView(props: ScrollInViewProps) {\n this.$children.ScrollAnimationChild
|
|
5
|
-
"mappings": "AAAA,SAAS,MAAyB,0BAA0B;AAE5D,SAAS,4BAA4B;AAW9B,MAAM,8BAA+D;AAAA,EAC1E;AAAA,EACA,CAAC;AACH,EAAkC;AAAA;AAAA;AAAA;AAAA,EAIhC,OAAO,SAAqB;AAAA,IAC1B,MAAM;AAAA,IACN,YAAY;AAAA,MACV;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,eAAe,OAA0B;AACvC,
|
|
4
|
+
"sourcesContent": ["import { Base, ScrollInViewProps, withScrolledInView } from '@studiometa/js-toolkit';\nimport type { BaseConfig, BaseProps } from '@studiometa/js-toolkit';\nimport { ScrollAnimationChild } from './ScrollAnimationChild.js';\n\nexport interface ScrollAnimationParentProps extends BaseProps {\n $children: {\n ScrollAnimationChild: ScrollAnimationChild[];\n };\n}\n\n/**\n * ScrollAnimationParent class.\n */\nexport class ScrollAnimationParent<T extends BaseProps = BaseProps> extends withScrolledInView(\n Base,\n {},\n)<T & ScrollAnimationParentProps> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n name: 'ScrollAnimationParent',\n components: {\n ScrollAnimationChild,\n },\n };\n\n /**\n * Scrolled in view hook.\n */\n scrolledInView(props: ScrollInViewProps) {\n for (const child of this.$children.ScrollAnimationChild) {\n child.scrolledInView(props);\n }\n }\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,MAAyB,0BAA0B;AAE5D,SAAS,4BAA4B;AAW9B,MAAM,8BAA+D;AAAA,EAC1E;AAAA,EACA,CAAC;AACH,EAAkC;AAAA;AAAA;AAAA;AAAA,EAIhC,OAAO,SAAqB;AAAA,IAC1B,MAAM;AAAA,IACN,YAAY;AAAA,MACV;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,eAAe,OAA0B;AACvC,eAAW,SAAS,KAAK,UAAU,sBAAsB;AACvD,YAAM,eAAe,KAAK;AAAA,IAC5B;AAAA,EACF;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|