@wix/motion 1.658.0 → 1.660.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.
@@ -51,12 +51,15 @@ function getWebAnimation(target, animationOptions, trigger, options, ownerDocume
51
51
  // TODO: need to fix the type here, currently lying about the returned type to be WebAnimationEffectFactory instead of MouseAnimationFactoryCreate
52
52
  const mouseAnimationPreset = (0, _common.getNamedEffect)(effectOptions);
53
53
  const mouseAnimationFactory = getWebAnimationEffect(mouseAnimationPreset, animationOptions, element, trigger, options);
54
- return mouseAnimationFactory(element);
54
+ return typeof mouseAnimationFactory === 'function' ? mouseAnimationFactory(element) : null;
55
55
  }
56
56
 
57
57
  // get the preset for the given animation options
58
58
  const namedEffect = (0, _common.getNamedEffect)(animationOptions);
59
59
  const animationsData = getWebAnimationEffect(namedEffect, animationOptions, element, trigger, options);
60
+ if (!animationsData) {
61
+ return null;
62
+ }
60
63
  const data = (0, _common.getEffectsData)(animationsData, trigger, animationOptions.effectId);
61
64
  let timeline;
62
65
  const isViewProgress = (trigger == null ? void 0 : trigger.trigger) === 'view-progress';
@@ -1 +1 @@
1
- {"version":3,"names":["_CustomAnimation","require","_AnimationGroup","_common","_fastdom","_interopRequireDefault","getWebAnimationEffect","preset","animation","target","trigger","options","isNotAScrubTrigger","duration","reducedMotion","iterations","undefined","domApi","HTMLElement","measure","mutate","web","getWebAnimation","animationOptions","ownerDocument","element","getElement","effectOptions","customEffect","namedEffect","id","type","mouseAnimationPreset","getNamedEffect","mouseAnimationFactory","animationsData","data","getEffectsData","effectId","timeline","isViewProgress","window","ViewTimeline","subject","componentId","animations","map","effect","part","effectTarget","getElementMotionPart","keyframeEffect","KeyframeEffect","fastdom","updateTiming","timing","setKeyframes","keyframes","timingOptions","CustomAnimation","Animation","start","end","getRanges","rangeStart","rangeEnd","play","startOffset","endOffset","_offset","_offset2","startOffsetToWrite","endOffsetToWrite","Object","assign","name","offset","value","add","startOffsetAdd","endOffsetAdd","AnimationGroup","measured","Promise","resolve"],"sources":["../../../src/api/webAnimations.ts"],"sourcesContent":["import type {\n AnimationData,\n AnimationDataForScrub,\n AnimationEffectAPI,\n AnimationOptions,\n MouseAnimationFactory,\n MouseAnimationInstance,\n ScrubAnimationOptions,\n TriggerVariant,\n WebAnimationEffectFactory,\n} from '../types';\nimport { CustomAnimation } from '../CustomAnimation';\nimport { AnimationGroup } from '../AnimationGroup';\nimport {\n getElement,\n getElementMotionPart,\n measure,\n mutate,\n getRanges,\n getNamedEffect,\n getEffectsData,\n isNotAScrubTrigger,\n} from './common';\nimport fastdom from 'fastdom';\n\nfunction getWebAnimationEffect(\n preset: AnimationEffectAPI<any> | WebAnimationEffectFactory<any> | null,\n animation: AnimationOptions,\n target: HTMLElement | string | null,\n trigger?: Partial<TriggerVariant>,\n options?: Record<string, any>,\n): AnimationData[] | MouseAnimationFactory {\n if (preset) {\n // validate duration is a number over 0\n if (isNotAScrubTrigger(trigger)) {\n animation.duration = animation.duration || 1;\n\n if (options?.reducedMotion) {\n if (animation.iterations === 1 || animation.iterations == undefined) {\n animation = { ...animation, duration: 1 };\n } else {\n return [];\n }\n }\n }\n\n let domApi;\n if (target instanceof HTMLElement) {\n domApi = { measure: measure(target), mutate: mutate(target) };\n }\n\n return (preset as AnimationEffectAPI<any>).web\n ? (preset as AnimationEffectAPI<any>).web(animation, domApi, options)\n : (preset as WebAnimationEffectFactory<any>)(animation, domApi, options);\n }\n\n return [];\n}\n\nfunction getWebAnimation(\n target: HTMLElement | string | null,\n animationOptions: AnimationOptions,\n trigger?: Partial<TriggerVariant> & { element?: HTMLElement },\n options?: Record<string, any>,\n ownerDocument?: Document,\n): AnimationGroup | MouseAnimationInstance {\n const element =\n target instanceof HTMLElement ? target : getElement(target, ownerDocument);\n\n if (trigger?.trigger === 'pointer-move') {\n let effectOptions = animationOptions;\n\n if (animationOptions.customEffect) {\n effectOptions = {\n ...animationOptions,\n namedEffect: { id: '', type: 'CustomMouse' },\n };\n }\n\n // TODO: need to fix the type here, currently lying about the returned type to be WebAnimationEffectFactory instead of MouseAnimationFactoryCreate\n const mouseAnimationPreset = getNamedEffect(\n effectOptions,\n ) as WebAnimationEffectFactory<'scrub'>;\n const mouseAnimationFactory = getWebAnimationEffect(\n mouseAnimationPreset,\n animationOptions,\n element,\n trigger,\n options,\n ) as MouseAnimationFactory;\n\n return mouseAnimationFactory(element as HTMLElement);\n }\n\n // get the preset for the given animation options\n const namedEffect = getNamedEffect(\n animationOptions,\n ) as AnimationEffectAPI<any> | null;\n\n const animationsData = getWebAnimationEffect(\n namedEffect,\n animationOptions,\n element,\n trigger,\n options,\n ) as AnimationData[];\n const data = getEffectsData(\n animationsData,\n trigger,\n animationOptions.effectId,\n );\n\n let timeline: typeof window.ViewTimeline | undefined;\n const isViewProgress = trigger?.trigger === 'view-progress';\n\n // if this is a ScrubAnimation with view-progress trigger and the browser supports the ViewTimeline API\n if (isViewProgress && window.ViewTimeline) {\n // generate the timeline object\n // @ts-expect-error\n timeline = new ViewTimeline({\n subject: trigger.element || getElement(trigger.componentId!),\n });\n }\n\n // generate an Animation object for each data object\n const animations = data.map(\n ({ effect, options: effectOptions, id, part }) => {\n const effectTarget = part ? getElementMotionPart(element, part) : element;\n\n const keyframeEffect = new KeyframeEffect(\n effectTarget || null,\n [],\n effectOptions,\n );\n\n // set the keyframes for the KeyframeEffect after measurements and mutations\n fastdom.mutate(() => {\n if ('timing' in effect) {\n keyframeEffect.updateTiming(effect.timing as OptionalEffectTiming);\n }\n\n keyframeEffect.setKeyframes(effect.keyframes);\n });\n\n const timingOptions =\n isViewProgress && timeline\n ? { timeline: timeline as AnimationTimeline }\n : {};\n const animation: Animation | CustomAnimation =\n typeof effect.customEffect === 'function'\n ? (new CustomAnimation(\n effect.customEffect,\n effectTarget || null,\n effectOptions,\n timingOptions,\n ) as Animation)\n : new Animation(keyframeEffect, timingOptions.timeline);\n\n // if this is a ScrubAnimation with view-progress trigger and the browser supports the ViewTimeline API\n if (isViewProgress) {\n if (timeline) {\n // set the ranges for the animation after measurements and mutations\n fastdom.mutate(() => {\n const { start, end } = getRanges(effect as AnimationDataForScrub);\n // @ts-expect-error\n animation.rangeStart = start;\n // @ts-expect-error\n animation.rangeEnd = end;\n\n animation.play();\n });\n } else {\n const { startOffset, endOffset } =\n animationOptions as ScrubAnimationOptions;\n\n // set the ranges for the animation after measurements and mutations\n fastdom.mutate(() => {\n const startOffsetToWrite =\n (effect as AnimationDataForScrub).startOffset || startOffset;\n const endOffsetToWrite =\n (effect as AnimationDataForScrub).endOffset || endOffset;\n\n Object.assign(animation, {\n start: {\n name: startOffsetToWrite!.name,\n offset: startOffsetToWrite!.offset?.value,\n add: (effect as AnimationDataForScrub)!.startOffsetAdd,\n },\n end: {\n name: endOffsetToWrite!.name,\n offset: endOffsetToWrite!.offset?.value,\n add: (effect as AnimationDataForScrub)!.endOffsetAdd,\n },\n });\n });\n }\n }\n\n if (id) {\n animation.id = id;\n }\n\n return animation;\n },\n );\n\n // create an AnimationGroup with the generate animations\n return new AnimationGroup(animations, {\n ...animationOptions,\n trigger: { ...(trigger || ({} as Partial<TriggerVariant>)) },\n // make sure the group is ready after all animation targets are measured and mutated\n measured: new Promise((resolve) => fastdom.mutate(resolve)),\n });\n}\n\nexport { getWebAnimation };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_CustomAnimation","require","_AnimationGroup","_common","_fastdom","_interopRequireDefault","getWebAnimationEffect","preset","animation","target","trigger","options","isNotAScrubTrigger","duration","reducedMotion","iterations","undefined","domApi","HTMLElement","measure","mutate","web","getWebAnimation","animationOptions","ownerDocument","element","getElement","effectOptions","customEffect","namedEffect","id","type","mouseAnimationPreset","getNamedEffect","mouseAnimationFactory","animationsData","data","getEffectsData","effectId","timeline","isViewProgress","window","ViewTimeline","subject","componentId","animations","map","effect","part","effectTarget","getElementMotionPart","keyframeEffect","KeyframeEffect","fastdom","updateTiming","timing","setKeyframes","keyframes","timingOptions","CustomAnimation","Animation","start","end","getRanges","rangeStart","rangeEnd","play","startOffset","endOffset","_offset","_offset2","startOffsetToWrite","endOffsetToWrite","Object","assign","name","offset","value","add","startOffsetAdd","endOffsetAdd","AnimationGroup","measured","Promise","resolve"],"sources":["../../../src/api/webAnimations.ts"],"sourcesContent":["import type {\n AnimationData,\n AnimationDataForScrub,\n AnimationEffectAPI,\n AnimationOptions,\n MouseAnimationFactory,\n MouseAnimationInstance,\n ScrubAnimationOptions,\n TriggerVariant,\n WebAnimationEffectFactory,\n} from '../types';\nimport { CustomAnimation } from '../CustomAnimation';\nimport { AnimationGroup } from '../AnimationGroup';\nimport {\n getElement,\n getElementMotionPart,\n measure,\n mutate,\n getRanges,\n getNamedEffect,\n getEffectsData,\n isNotAScrubTrigger,\n} from './common';\nimport fastdom from 'fastdom';\n\nfunction getWebAnimationEffect(\n preset: AnimationEffectAPI<any> | WebAnimationEffectFactory<any> | null,\n animation: AnimationOptions,\n target: HTMLElement | string | null,\n trigger?: Partial<TriggerVariant>,\n options?: Record<string, any>,\n): AnimationData[] | MouseAnimationFactory {\n if (preset) {\n // validate duration is a number over 0\n if (isNotAScrubTrigger(trigger)) {\n animation.duration = animation.duration || 1;\n\n if (options?.reducedMotion) {\n if (animation.iterations === 1 || animation.iterations == undefined) {\n animation = { ...animation, duration: 1 };\n } else {\n return [];\n }\n }\n }\n\n let domApi;\n if (target instanceof HTMLElement) {\n domApi = { measure: measure(target), mutate: mutate(target) };\n }\n\n return (preset as AnimationEffectAPI<any>).web\n ? (preset as AnimationEffectAPI<any>).web(animation, domApi, options)\n : (preset as WebAnimationEffectFactory<any>)(animation, domApi, options);\n }\n\n return [];\n}\n\nfunction getWebAnimation(\n target: HTMLElement | string | null,\n animationOptions: AnimationOptions,\n trigger?: Partial<TriggerVariant> & { element?: HTMLElement },\n options?: Record<string, any>,\n ownerDocument?: Document,\n): AnimationGroup | MouseAnimationInstance | null {\n const element =\n target instanceof HTMLElement ? target : getElement(target, ownerDocument);\n\n if (trigger?.trigger === 'pointer-move') {\n let effectOptions = animationOptions;\n\n if (animationOptions.customEffect) {\n effectOptions = {\n ...animationOptions,\n namedEffect: { id: '', type: 'CustomMouse' },\n };\n }\n\n // TODO: need to fix the type here, currently lying about the returned type to be WebAnimationEffectFactory instead of MouseAnimationFactoryCreate\n const mouseAnimationPreset = getNamedEffect(\n effectOptions,\n ) as WebAnimationEffectFactory<'scrub'>;\n const mouseAnimationFactory = getWebAnimationEffect(\n mouseAnimationPreset,\n animationOptions,\n element,\n trigger,\n options,\n ) as MouseAnimationFactory;\n\n return typeof mouseAnimationFactory === 'function'\n ? mouseAnimationFactory(element as HTMLElement)\n : null;\n }\n\n // get the preset for the given animation options\n const namedEffect = getNamedEffect(\n animationOptions,\n ) as AnimationEffectAPI<any> | null;\n\n const animationsData = getWebAnimationEffect(\n namedEffect,\n animationOptions,\n element,\n trigger,\n options,\n ) as AnimationData[];\n\n if (!animationsData) {\n return null;\n }\n\n const data = getEffectsData(\n animationsData,\n trigger,\n animationOptions.effectId,\n );\n\n let timeline: typeof window.ViewTimeline | undefined;\n const isViewProgress = trigger?.trigger === 'view-progress';\n\n // if this is a ScrubAnimation with view-progress trigger and the browser supports the ViewTimeline API\n if (isViewProgress && window.ViewTimeline) {\n // generate the timeline object\n // @ts-expect-error\n timeline = new ViewTimeline({\n subject: trigger.element || getElement(trigger.componentId!),\n });\n }\n\n // generate an Animation object for each data object\n const animations = data.map(\n ({ effect, options: effectOptions, id, part }) => {\n const effectTarget = part ? getElementMotionPart(element, part) : element;\n\n const keyframeEffect = new KeyframeEffect(\n effectTarget || null,\n [],\n effectOptions,\n );\n\n // set the keyframes for the KeyframeEffect after measurements and mutations\n fastdom.mutate(() => {\n if ('timing' in effect) {\n keyframeEffect.updateTiming(effect.timing as OptionalEffectTiming);\n }\n\n keyframeEffect.setKeyframes(effect.keyframes);\n });\n\n const timingOptions =\n isViewProgress && timeline\n ? { timeline: timeline as AnimationTimeline }\n : {};\n const animation: Animation | CustomAnimation =\n typeof effect.customEffect === 'function'\n ? (new CustomAnimation(\n effect.customEffect,\n effectTarget || null,\n effectOptions,\n timingOptions,\n ) as Animation)\n : new Animation(keyframeEffect, timingOptions.timeline);\n\n // if this is a ScrubAnimation with view-progress trigger and the browser supports the ViewTimeline API\n if (isViewProgress) {\n if (timeline) {\n // set the ranges for the animation after measurements and mutations\n fastdom.mutate(() => {\n const { start, end } = getRanges(effect as AnimationDataForScrub);\n // @ts-expect-error\n animation.rangeStart = start;\n // @ts-expect-error\n animation.rangeEnd = end;\n\n animation.play();\n });\n } else {\n const { startOffset, endOffset } =\n animationOptions as ScrubAnimationOptions;\n\n // set the ranges for the animation after measurements and mutations\n fastdom.mutate(() => {\n const startOffsetToWrite =\n (effect as AnimationDataForScrub).startOffset || startOffset;\n const endOffsetToWrite =\n (effect as AnimationDataForScrub).endOffset || endOffset;\n\n Object.assign(animation, {\n start: {\n name: startOffsetToWrite!.name,\n offset: startOffsetToWrite!.offset?.value,\n add: (effect as AnimationDataForScrub)!.startOffsetAdd,\n },\n end: {\n name: endOffsetToWrite!.name,\n offset: endOffsetToWrite!.offset?.value,\n add: (effect as AnimationDataForScrub)!.endOffsetAdd,\n },\n });\n });\n }\n }\n\n if (id) {\n animation.id = id;\n }\n\n return animation;\n },\n );\n\n // create an AnimationGroup with the generate animations\n return new AnimationGroup(animations, {\n ...animationOptions,\n trigger: { ...(trigger || ({} as Partial<TriggerVariant>)) },\n // make sure the group is ready after all animation targets are measured and mutated\n measured: new Promise((resolve) => fastdom.mutate(resolve)),\n });\n}\n\nexport { getWebAnimation };\n"],"mappings":"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","ignoreList":[]}
@@ -25,8 +25,7 @@ var SpinIn = _interopRequireWildcard(require("./SpinIn"));
25
25
  var TiltIn = _interopRequireWildcard(require("./TiltIn"));
26
26
  var TurnIn = _interopRequireWildcard(require("./TurnIn"));
27
27
  var WinkIn = _interopRequireWildcard(require("./WinkIn"));
28
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
29
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
28
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
30
29
  const entranceAnimations = exports.entranceAnimations = {
31
30
  ArcIn,
32
31
  BlurIn,
@@ -1 +1 @@
1
- {"version":3,"names":["ArcIn","_interopRequireWildcard","require","BlurIn","ShuttersIn","BounceIn","CurveIn","CircleIn","DropIn","ExpandIn","FadeIn","FlipIn","FloatIn","FoldIn","GlideIn","GlitchIn","GrowIn","PunchIn","ShapeIn","RevealIn","SlideIn","SpinIn","TiltIn","TurnIn","WinkIn","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","entranceAnimations","exports"],"sources":["../../../../src/library/entrance/index.ts"],"sourcesContent":["import * as ArcIn from './ArcIn';\nimport * as BlurIn from './BlurIn';\nimport * as ShuttersIn from './ShuttersIn';\nimport * as BounceIn from './BounceIn';\nimport * as CurveIn from './CurveIn';\nimport * as CircleIn from './CircleIn';\nimport * as DropIn from './DropIn';\nimport * as ExpandIn from './ExpandIn';\nimport * as FadeIn from './FadeIn';\nimport * as FlipIn from './FlipIn';\nimport * as FloatIn from './FloatIn';\nimport * as FoldIn from './FoldIn';\nimport * as GlideIn from './GlideIn';\nimport * as GlitchIn from './GlitchIn';\nimport * as GrowIn from './GrowIn';\nimport * as PunchIn from './PunchIn';\nimport * as ShapeIn from './ShapeIn';\nimport * as RevealIn from './RevealIn';\nimport * as SlideIn from './SlideIn';\nimport * as SpinIn from './SpinIn';\nimport * as TiltIn from './TiltIn';\nimport * as TurnIn from './TurnIn';\nimport * as WinkIn from './WinkIn';\nimport type { EntranceAnimations } from '../../types';\n\nexport const entranceAnimations: EntranceAnimations = {\n ArcIn,\n BlurIn,\n ShuttersIn,\n BounceIn,\n CurveIn,\n CircleIn,\n DropIn,\n ExpandIn,\n FadeIn,\n FlipIn,\n FloatIn,\n FoldIn,\n GlideIn,\n GlitchIn,\n GrowIn,\n PunchIn,\n ShapeIn,\n RevealIn,\n SlideIn,\n SpinIn,\n TiltIn,\n TurnIn,\n WinkIn,\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["ArcIn","_interopRequireWildcard","require","BlurIn","ShuttersIn","BounceIn","CurveIn","CircleIn","DropIn","ExpandIn","FadeIn","FlipIn","FloatIn","FoldIn","GlideIn","GlitchIn","GrowIn","PunchIn","ShapeIn","RevealIn","SlideIn","SpinIn","TiltIn","TurnIn","WinkIn","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","entranceAnimations","exports"],"sources":["../../../../src/library/entrance/index.ts"],"sourcesContent":["import * as ArcIn from './ArcIn';\nimport * as BlurIn from './BlurIn';\nimport * as ShuttersIn from './ShuttersIn';\nimport * as BounceIn from './BounceIn';\nimport * as CurveIn from './CurveIn';\nimport * as CircleIn from './CircleIn';\nimport * as DropIn from './DropIn';\nimport * as ExpandIn from './ExpandIn';\nimport * as FadeIn from './FadeIn';\nimport * as FlipIn from './FlipIn';\nimport * as FloatIn from './FloatIn';\nimport * as FoldIn from './FoldIn';\nimport * as GlideIn from './GlideIn';\nimport * as GlitchIn from './GlitchIn';\nimport * as GrowIn from './GrowIn';\nimport * as PunchIn from './PunchIn';\nimport * as ShapeIn from './ShapeIn';\nimport * as RevealIn from './RevealIn';\nimport * as SlideIn from './SlideIn';\nimport * as SpinIn from './SpinIn';\nimport * as TiltIn from './TiltIn';\nimport * as TurnIn from './TurnIn';\nimport * as WinkIn from './WinkIn';\nimport type { EntranceAnimations } from '../../types';\n\nexport const entranceAnimations: EntranceAnimations = {\n ArcIn,\n BlurIn,\n ShuttersIn,\n BounceIn,\n CurveIn,\n CircleIn,\n DropIn,\n ExpandIn,\n FadeIn,\n FlipIn,\n FloatIn,\n FoldIn,\n GlideIn,\n GlitchIn,\n GrowIn,\n PunchIn,\n ShapeIn,\n RevealIn,\n SlideIn,\n SpinIn,\n TiltIn,\n TurnIn,\n WinkIn,\n};\n"],"mappings":"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","ignoreList":[]}
@@ -15,8 +15,7 @@ var Pulse = _interopRequireWildcard(require("./Pulse"));
15
15
  var Spin = _interopRequireWildcard(require("./Spin"));
16
16
  var Swing = _interopRequireWildcard(require("./Swing"));
17
17
  var Wiggle = _interopRequireWildcard(require("./Wiggle"));
18
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
19
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
20
19
  // import * as Blink from './Blink';
21
20
 
22
21
  // import * as DVD from './DVD';
@@ -1 +1 @@
1
- {"version":3,"names":["Bounce","_interopRequireWildcard","require","Breathe","Cross","Flash","Flip","Fold","Jello","Poke","Rubber","Pulse","Spin","Swing","Wiggle","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ongoingAnimations","exports"],"sources":["../../../../src/library/ongoing/index.ts"],"sourcesContent":["import type { OngoingAnimations } from '../../types';\nimport * as Bounce from './Bounce';\nimport * as Breathe from './Breathe';\n// import * as Blink from './Blink';\nimport * as Cross from './Cross';\n// import * as DVD from './DVD';\nimport * as Flash from './Flash';\nimport * as Flip from './Flip';\nimport * as Fold from './Fold';\nimport * as Jello from './Jello';\nimport * as Poke from './Poke';\nimport * as Rubber from './Rubber';\nimport * as Pulse from './Pulse';\nimport * as Spin from './Spin';\nimport * as Swing from './Swing';\nimport * as Wiggle from './Wiggle';\n\nexport const ongoingAnimations: Partial<OngoingAnimations> = {\n Bounce,\n Breathe,\n // Blink,\n Cross,\n // DVD,\n Flash,\n Flip,\n Fold,\n Jello,\n Poke,\n Rubber,\n Pulse,\n Spin,\n Swing,\n Wiggle,\n};\n"],"mappings":";;;;AACA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAF,uBAAA,CAAAC,OAAA;AAEA,IAAAE,KAAA,GAAAH,uBAAA,CAAAC,OAAA;AAEA,IAAAG,KAAA,GAAAJ,uBAAA,CAAAC,OAAA;AACA,IAAAI,IAAA,GAAAL,uBAAA,CAAAC,OAAA;AACA,IAAAK,IAAA,GAAAN,uBAAA,CAAAC,OAAA;AACA,IAAAM,KAAA,GAAAP,uBAAA,CAAAC,OAAA;AACA,IAAAO,IAAA,GAAAR,uBAAA,CAAAC,OAAA;AACA,IAAAQ,MAAA,GAAAT,uBAAA,CAAAC,OAAA;AACA,IAAAS,KAAA,GAAAV,uBAAA,CAAAC,OAAA;AACA,IAAAU,IAAA,GAAAX,uBAAA,CAAAC,OAAA;AACA,IAAAW,KAAA,GAAAZ,uBAAA,CAAAC,OAAA;AACA,IAAAY,MAAA,GAAAb,uBAAA,CAAAC,OAAA;AAAmC,SAAAa,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAf,wBAAAe,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAZnC;;AAEA;;AAYO,MAAMW,iBAA6C,GAAAC,OAAA,CAAAD,iBAAA,GAAG;EAC3DnC,MAAM;EACNG,OAAO;EACP;EACAC,KAAK;EACL;EACAC,KAAK;EACLC,IAAI;EACJC,IAAI;EACJC,KAAK;EACLC,IAAI;EACJC,MAAM;EACNC,KAAK;EACLC,IAAI;EACJC,KAAK;EACLC;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["Bounce","_interopRequireWildcard","require","Breathe","Cross","Flash","Flip","Fold","Jello","Poke","Rubber","Pulse","Spin","Swing","Wiggle","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ongoingAnimations","exports"],"sources":["../../../../src/library/ongoing/index.ts"],"sourcesContent":["import type { OngoingAnimations } from '../../types';\nimport * as Bounce from './Bounce';\nimport * as Breathe from './Breathe';\n// import * as Blink from './Blink';\nimport * as Cross from './Cross';\n// import * as DVD from './DVD';\nimport * as Flash from './Flash';\nimport * as Flip from './Flip';\nimport * as Fold from './Fold';\nimport * as Jello from './Jello';\nimport * as Poke from './Poke';\nimport * as Rubber from './Rubber';\nimport * as Pulse from './Pulse';\nimport * as Spin from './Spin';\nimport * as Swing from './Swing';\nimport * as Wiggle from './Wiggle';\n\nexport const ongoingAnimations: Partial<OngoingAnimations> = {\n Bounce,\n Breathe,\n // Blink,\n Cross,\n // DVD,\n Flash,\n Flip,\n Fold,\n Jello,\n Poke,\n Rubber,\n Pulse,\n Spin,\n Swing,\n Wiggle,\n};\n"],"mappings":";;;;AACA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAF,uBAAA,CAAAC,OAAA;AAEA,IAAAE,KAAA,GAAAH,uBAAA,CAAAC,OAAA;AAEA,IAAAG,KAAA,GAAAJ,uBAAA,CAAAC,OAAA;AACA,IAAAI,IAAA,GAAAL,uBAAA,CAAAC,OAAA;AACA,IAAAK,IAAA,GAAAN,uBAAA,CAAAC,OAAA;AACA,IAAAM,KAAA,GAAAP,uBAAA,CAAAC,OAAA;AACA,IAAAO,IAAA,GAAAR,uBAAA,CAAAC,OAAA;AACA,IAAAQ,MAAA,GAAAT,uBAAA,CAAAC,OAAA;AACA,IAAAS,KAAA,GAAAV,uBAAA,CAAAC,OAAA;AACA,IAAAU,IAAA,GAAAX,uBAAA,CAAAC,OAAA;AACA,IAAAW,KAAA,GAAAZ,uBAAA,CAAAC,OAAA;AACA,IAAAY,MAAA,GAAAb,uBAAA,CAAAC,OAAA;AAAmC,SAAAD,wBAAAc,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAhB,uBAAA,YAAAA,CAAAc,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAZnC;;AAEA;;AAYO,MAAMkB,iBAA6C,GAAAC,OAAA,CAAAD,iBAAA,GAAG;EAC3DlC,MAAM;EACNG,OAAO;EACP;EACAC,KAAK;EACL;EACAC,KAAK;EACLC,IAAI;EACJC,IAAI;EACJC,KAAK;EACLC,IAAI;EACJC,MAAM;EACNC,KAAK;EACLC,IAAI;EACJC,KAAK;EACLC;AACF,CAAC","ignoreList":[]}
@@ -56,6 +56,9 @@ function getScrubScene(target, animationOptions, trigger, sceneOptions = {}) {
56
56
  ...rest
57
57
  } = sceneOptions;
58
58
  const animation = (0, _webAnimations.getWebAnimation)(target, animationOptions, trigger, rest);
59
+ if (!animation) {
60
+ return null;
61
+ }
59
62
  let typeSpecificOptions = {};
60
63
  if (trigger.trigger === 'view-progress' && !window.ViewTimeline) {
61
64
  // TODO(ameerf): consider doing this only for bgscrub to not affect the other scroll effects
@@ -1 +1 @@
1
- {"version":3,"names":["_AnimationGroup","require","_utils","exports","getEasing","_webAnimations","getWebAnimation","_cssAnimations","getCSSAnimation","_prepare","prepareAnimation","_common","getElementCSSAnimation","target","animationOptions","namedEffect","getNamedEffect","style","effectId","getElementAnimation","effectNames","getNames","element","getElement","animations","getAnimations","animationNames","map","anim","animationName","filteredAnimations","forEach","name","includes","push","find","length","AnimationGroup","filter","id","startsWith","getScrubScene","trigger","sceneOptions","disabled","allowActiveEvent","rest","animation","typeSpecificOptions","window","ViewTimeline","viewSource","componentId","ready","partialAnimation","start","end","getProgress","effect","__","p","activeDuration","getComputedTiming","delay","getTiming","currentTime","destroy","cancel","centeredToTarget","transitionDuration","transitionEasing","customEffect","getJsEasing","v","active","progress","getAnimation","reducedMotion","Promise","resolve"],"sources":["../../src/motion.ts"],"sourcesContent":["import type {\n AnimationOptions,\n ScrubAnimationOptions,\n TriggerVariant,\n MouseAnimationInstance,\n AnimationEffectAPI,\n CustomMouseAnimationInstance,\n ScrubScrollScene,\n ScrubPointerScene,\n} from './types';\nimport { AnimationGroup } from './AnimationGroup';\nimport { getEasing, getJsEasing } from './utils';\nimport { getWebAnimation } from './api/webAnimations';\nimport { getCSSAnimation } from './api/cssAnimations';\nimport { prepareAnimation } from './api/prepare';\nimport { getElement, getNamedEffect } from './api/common';\n\nfunction getElementCSSAnimation(\n target: HTMLElement | string | null,\n animationOptions: AnimationOptions,\n): AnimationGroup | null {\n const namedEffect = getNamedEffect(\n animationOptions,\n ) as AnimationEffectAPI<any> | null;\n\n if (!namedEffect) {\n return null;\n }\n\n if (!namedEffect.style) {\n // if this named effect does not have a style method, attempt to get group of Web Animations\n if (animationOptions.effectId && target) {\n return getElementAnimation(target, animationOptions.effectId);\n }\n\n return null;\n }\n\n const effectNames = namedEffect.getNames(animationOptions);\n const element = typeof target === 'string' ? getElement(target) : target;\n const animations = element?.getAnimations();\n const animationNames =\n animations?.map((anim) => (anim as CSSAnimation).animationName) ||\n ([] as string[]);\n const filteredAnimations: CSSAnimation[] = [];\n\n effectNames.forEach((name) => {\n if (animationNames.includes(name)) {\n filteredAnimations.push(\n animations?.find(\n (anim) => (anim as CSSAnimation).animationName === name,\n ) as CSSAnimation,\n );\n }\n });\n\n return filteredAnimations?.length\n ? new AnimationGroup(filteredAnimations)\n : null;\n}\n\nfunction getElementAnimation(\n target: HTMLElement | string,\n effectId: string,\n): AnimationGroup | null {\n const element = typeof target === 'string' ? getElement(target) : target;\n // somehow get the right animations\n const animations = element\n ?.getAnimations()\n .filter((anim: Animation | CSSAnimation) => {\n const id = anim.id || (anim as CSSAnimation).animationName;\n // if no id/name just return all animations\n return id ? id.startsWith(effectId) : true;\n });\n\n return animations?.length ? new AnimationGroup(animations) : null;\n}\n\nfunction getScrubScene(\n target: HTMLElement | string | null,\n animationOptions: AnimationOptions,\n trigger: Partial<TriggerVariant> & { element?: HTMLElement },\n sceneOptions: Record<string, any> = {},\n): ScrubScrollScene[] | ScrubPointerScene {\n const { disabled, allowActiveEvent, ...rest } = sceneOptions;\n const animation = getWebAnimation(target, animationOptions, trigger, rest);\n\n let typeSpecificOptions = {} as Record<string, any>;\n\n if (trigger.trigger === 'view-progress' && !window.ViewTimeline) {\n // TODO(ameerf): consider doing this only for bgscrub to not affect the other scroll effects\n const viewSource = trigger.element || getElement(trigger.componentId!);\n const { ready } = animation as AnimationGroup;\n\n return (animation as AnimationGroup).animations.map((partialAnimation) => {\n return {\n /* we use getters for start and end in order to access the animation's start and end\n only when initializing the scrub scene rather than immediately */\n get start() {\n return partialAnimation.start;\n },\n get end() {\n return partialAnimation.end;\n },\n viewSource,\n ready,\n getProgress() {\n return (animation as AnimationGroup).getProgress();\n },\n effect(__: any, p: number) {\n const { activeDuration } =\n partialAnimation.effect!.getComputedTiming();\n const { delay } = partialAnimation.effect!.getTiming();\n\n partialAnimation.currentTime =\n ((delay || 0) + ((activeDuration as number) || 0)) * p;\n },\n disabled,\n destroy() {\n partialAnimation.cancel();\n },\n } as ScrubScrollScene;\n });\n } else if (trigger.trigger === 'pointer-move') {\n const { centeredToTarget, transitionDuration, transitionEasing } =\n animationOptions as ScrubAnimationOptions;\n\n typeSpecificOptions = {\n target: (animation as MouseAnimationInstance).target,\n centeredToTarget,\n allowActiveEvent,\n };\n\n if (animationOptions.customEffect && transitionDuration) {\n typeSpecificOptions.transitionDuration = transitionDuration;\n typeSpecificOptions.transitionEasing = getJsEasing(transitionEasing);\n }\n }\n\n return {\n ...typeSpecificOptions,\n getProgress() {\n return (\n animation as AnimationGroup | CustomMouseAnimationInstance\n ).getProgress();\n },\n effect(\n __: any,\n p: number | { x: number; y: number },\n v?: { x: number; y: number },\n active?: boolean,\n ) {\n animation.progress(\n v\n ? {\n // @ts-expect-error spread error on p\n ...p,\n v,\n active,\n }\n : p,\n );\n },\n disabled,\n destroy() {\n animation.cancel();\n },\n } as ScrubPointerScene;\n}\n\nfunction getAnimation(\n target: HTMLElement | string | null,\n animationOptions: AnimationOptions,\n trigger?: Partial<TriggerVariant> & { element?: HTMLElement },\n reducedMotion: boolean = false,\n): AnimationGroup | MouseAnimationInstance | null {\n const animation = getElementCSSAnimation(target, animationOptions);\n\n if (animation) {\n animation.ready = new Promise((resolve) => {\n prepareAnimation(target, animationOptions, resolve);\n });\n\n return animation;\n }\n\n return getWebAnimation(target, animationOptions, trigger, { reducedMotion });\n}\n\nexport {\n getCSSAnimation,\n getWebAnimation,\n getElementCSSAnimation,\n getElementAnimation,\n getScrubScene,\n prepareAnimation,\n getAnimation,\n getEasing,\n};\n\nexport type { AnimationGroup };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_AnimationGroup","require","_utils","exports","getEasing","_webAnimations","getWebAnimation","_cssAnimations","getCSSAnimation","_prepare","prepareAnimation","_common","getElementCSSAnimation","target","animationOptions","namedEffect","getNamedEffect","style","effectId","getElementAnimation","effectNames","getNames","element","getElement","animations","getAnimations","animationNames","map","anim","animationName","filteredAnimations","forEach","name","includes","push","find","length","AnimationGroup","filter","id","startsWith","getScrubScene","trigger","sceneOptions","disabled","allowActiveEvent","rest","animation","typeSpecificOptions","window","ViewTimeline","viewSource","componentId","ready","partialAnimation","start","end","getProgress","effect","__","p","activeDuration","getComputedTiming","delay","getTiming","currentTime","destroy","cancel","centeredToTarget","transitionDuration","transitionEasing","customEffect","getJsEasing","v","active","progress","getAnimation","reducedMotion","Promise","resolve"],"sources":["../../src/motion.ts"],"sourcesContent":["import type {\n AnimationOptions,\n ScrubAnimationOptions,\n TriggerVariant,\n MouseAnimationInstance,\n AnimationEffectAPI,\n CustomMouseAnimationInstance,\n ScrubScrollScene,\n ScrubPointerScene,\n} from './types';\nimport { AnimationGroup } from './AnimationGroup';\nimport { getEasing, getJsEasing } from './utils';\nimport { getWebAnimation } from './api/webAnimations';\nimport { getCSSAnimation } from './api/cssAnimations';\nimport { prepareAnimation } from './api/prepare';\nimport { getElement, getNamedEffect } from './api/common';\n\nfunction getElementCSSAnimation(\n target: HTMLElement | string | null,\n animationOptions: AnimationOptions,\n): AnimationGroup | null {\n const namedEffect = getNamedEffect(\n animationOptions,\n ) as AnimationEffectAPI<any> | null;\n\n if (!namedEffect) {\n return null;\n }\n\n if (!namedEffect.style) {\n // if this named effect does not have a style method, attempt to get group of Web Animations\n if (animationOptions.effectId && target) {\n return getElementAnimation(target, animationOptions.effectId);\n }\n\n return null;\n }\n\n const effectNames = namedEffect.getNames(animationOptions);\n const element = typeof target === 'string' ? getElement(target) : target;\n const animations = element?.getAnimations();\n const animationNames =\n animations?.map((anim) => (anim as CSSAnimation).animationName) ||\n ([] as string[]);\n const filteredAnimations: CSSAnimation[] = [];\n\n effectNames.forEach((name) => {\n if (animationNames.includes(name)) {\n filteredAnimations.push(\n animations?.find(\n (anim) => (anim as CSSAnimation).animationName === name,\n ) as CSSAnimation,\n );\n }\n });\n\n return filteredAnimations?.length\n ? new AnimationGroup(filteredAnimations)\n : null;\n}\n\nfunction getElementAnimation(\n target: HTMLElement | string,\n effectId: string,\n): AnimationGroup | null {\n const element = typeof target === 'string' ? getElement(target) : target;\n // somehow get the right animations\n const animations = element\n ?.getAnimations()\n .filter((anim: Animation | CSSAnimation) => {\n const id = anim.id || (anim as CSSAnimation).animationName;\n // if no id/name just return all animations\n return id ? id.startsWith(effectId) : true;\n });\n\n return animations?.length ? new AnimationGroup(animations) : null;\n}\n\nfunction getScrubScene(\n target: HTMLElement | string | null,\n animationOptions: AnimationOptions,\n trigger: Partial<TriggerVariant> & { element?: HTMLElement },\n sceneOptions: Record<string, any> = {},\n): ScrubScrollScene[] | ScrubPointerScene | null {\n const { disabled, allowActiveEvent, ...rest } = sceneOptions;\n const animation = getWebAnimation(target, animationOptions, trigger, rest);\n\n if (!animation) {\n return null;\n }\n\n let typeSpecificOptions = {} as Record<string, any>;\n\n if (trigger.trigger === 'view-progress' && !window.ViewTimeline) {\n // TODO(ameerf): consider doing this only for bgscrub to not affect the other scroll effects\n const viewSource = trigger.element || getElement(trigger.componentId!);\n const { ready } = animation as AnimationGroup;\n\n return (animation as AnimationGroup).animations.map((partialAnimation) => {\n return {\n /* we use getters for start and end in order to access the animation's start and end\n only when initializing the scrub scene rather than immediately */\n get start() {\n return partialAnimation.start;\n },\n get end() {\n return partialAnimation.end;\n },\n viewSource,\n ready,\n getProgress() {\n return (animation as AnimationGroup).getProgress();\n },\n effect(__: any, p: number) {\n const { activeDuration } =\n partialAnimation.effect!.getComputedTiming();\n const { delay } = partialAnimation.effect!.getTiming();\n\n partialAnimation.currentTime =\n ((delay || 0) + ((activeDuration as number) || 0)) * p;\n },\n disabled,\n destroy() {\n partialAnimation.cancel();\n },\n } as ScrubScrollScene;\n });\n } else if (trigger.trigger === 'pointer-move') {\n const { centeredToTarget, transitionDuration, transitionEasing } =\n animationOptions as ScrubAnimationOptions;\n\n typeSpecificOptions = {\n target: (animation as MouseAnimationInstance).target,\n centeredToTarget,\n allowActiveEvent,\n };\n\n if (animationOptions.customEffect && transitionDuration) {\n typeSpecificOptions.transitionDuration = transitionDuration;\n typeSpecificOptions.transitionEasing = getJsEasing(transitionEasing);\n }\n }\n\n return {\n ...typeSpecificOptions,\n getProgress() {\n return (\n animation as AnimationGroup | CustomMouseAnimationInstance\n ).getProgress();\n },\n effect(\n __: any,\n p: number | { x: number; y: number },\n v?: { x: number; y: number },\n active?: boolean,\n ) {\n animation.progress(\n v\n ? {\n // @ts-expect-error spread error on p\n ...p,\n v,\n active,\n }\n : p,\n );\n },\n disabled,\n destroy() {\n animation.cancel();\n },\n } as ScrubPointerScene;\n}\n\nfunction getAnimation(\n target: HTMLElement | string | null,\n animationOptions: AnimationOptions,\n trigger?: Partial<TriggerVariant> & { element?: HTMLElement },\n reducedMotion: boolean = false,\n): AnimationGroup | MouseAnimationInstance | null {\n const animation = getElementCSSAnimation(target, animationOptions);\n\n if (animation) {\n animation.ready = new Promise((resolve) => {\n prepareAnimation(target, animationOptions, resolve);\n });\n\n return animation;\n }\n\n return getWebAnimation(target, animationOptions, trigger, { reducedMotion });\n}\n\nexport {\n getCSSAnimation,\n getWebAnimation,\n getElementCSSAnimation,\n getElementAnimation,\n getScrubScene,\n prepareAnimation,\n getAnimation,\n getEasing,\n};\n\nexport type { AnimationGroup };\n"],"mappings":"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","ignoreList":[]}
@@ -8,8 +8,7 @@ var _playgroundModule = _interopRequireDefault(require("./playground.module.scss
8
8
  var _vector = _interopRequireDefault(require("./mouse-parallax-components/vector.svg?url"));
9
9
  var _plastic = _interopRequireDefault(require("./mouse-parallax-components/plastic.jpeg"));
10
10
  var _jsxFileName = "/home/builduser/work/5a10c7a05f300a84/packages/motion/dist/cjs/playground/mouseComponent.tsx";
11
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
13
12
  const COMPONENTS_TYPE = exports.COMPONENTS_TYPE = {
14
13
  image: 'image',
15
14
  square: 'square',
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_playgroundModule","_interopRequireDefault","_vector","_plastic","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","COMPONENTS_TYPE","exports","image","square","svg","text","MouseComponent","forwardRef","props","ref","type","rotation","createElement","id","className","styles","imageComponent","src","plastic","alt","style","__self","__source","fileName","lineNumber","columnNumber","component","background","svgComponent","ghost","textComponent"],"sources":["../../../src/playground/mouseComponent.tsx"],"sourcesContent":["import React, { CSSProperties, forwardRef, Ref } from 'react';\n\nimport styles from './playground.module.scss';\nimport ghost from './mouse-parallax-components/vector.svg?url';\nimport plastic from './mouse-parallax-components/plastic.jpeg';\n\nexport type MouseComponentType = 'image' | 'square' | 'SVG' | 'text';\n\nexport interface MouseComponentProps {\n type: MouseComponentType;\n ref: Ref<HTMLElement>;\n rotation: number;\n}\n\nexport const COMPONENTS_TYPE: Record<\n Lowercase<MouseComponentType>,\n MouseComponentType\n> = {\n image: 'image',\n square: 'square',\n svg: 'SVG',\n text: 'text',\n};\n\nexport const MouseComponent: React.FC<MouseComponentProps> = forwardRef<\n HTMLElement,\n MouseComponentProps\n>((props, ref) => {\n const { type, rotation } = props;\n switch (type) {\n case COMPONENTS_TYPE.image:\n return (\n <img\n id=\"plastic\"\n className={styles.imageComponent}\n src={plastic}\n alt=\"Plastic bag in ocean\"\n ref={ref as Ref<HTMLImageElement>}\n style={\n {\n '--comp-rotate-z': `${rotation}deg`,\n } as CSSProperties\n }\n />\n );\n case COMPONENTS_TYPE.square:\n return (\n <div\n className={styles.component}\n ref={ref as Ref<HTMLDivElement>}\n style={\n {\n background: 'MediumSlateBlue',\n '--comp-rotate-z': `${rotation}deg`,\n } as CSSProperties\n }\n >\n Mouse\n </div>\n );\n case COMPONENTS_TYPE.svg:\n return (\n <img\n id=\"vector\"\n className={styles.svgComponent}\n src={ghost}\n alt=\"Friendly ghost\"\n ref={ref as Ref<HTMLImageElement>}\n style={\n {\n '--comp-rotate-z': `${rotation}deg`,\n } as CSSProperties\n }\n />\n );\n case COMPONENTS_TYPE.text:\n return (\n <h1\n id=\"large-header\"\n className={styles.textComponent}\n ref={ref as Ref<HTMLHeadingElement>}\n style={\n {\n '--comp-rotate-z': `${rotation}deg`,\n } as CSSProperties\n }\n >\n Dare <br /> To Be <br /> BOLD\n </h1>\n );\n default:\n return <p>Unknown input {type}</p>;\n }\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_playgroundModule","_interopRequireDefault","_vector","_plastic","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","COMPONENTS_TYPE","exports","image","square","svg","text","MouseComponent","forwardRef","props","ref","type","rotation","createElement","id","className","styles","imageComponent","src","plastic","alt","style","__self","__source","fileName","lineNumber","columnNumber","component","background","svgComponent","ghost","textComponent"],"sources":["../../../src/playground/mouseComponent.tsx"],"sourcesContent":["import React, { CSSProperties, forwardRef, Ref } from 'react';\n\nimport styles from './playground.module.scss';\nimport ghost from './mouse-parallax-components/vector.svg?url';\nimport plastic from './mouse-parallax-components/plastic.jpeg';\n\nexport type MouseComponentType = 'image' | 'square' | 'SVG' | 'text';\n\nexport interface MouseComponentProps {\n type: MouseComponentType;\n ref: Ref<HTMLElement>;\n rotation: number;\n}\n\nexport const COMPONENTS_TYPE: Record<\n Lowercase<MouseComponentType>,\n MouseComponentType\n> = {\n image: 'image',\n square: 'square',\n svg: 'SVG',\n text: 'text',\n};\n\nexport const MouseComponent: React.FC<MouseComponentProps> = forwardRef<\n HTMLElement,\n MouseComponentProps\n>((props, ref) => {\n const { type, rotation } = props;\n switch (type) {\n case COMPONENTS_TYPE.image:\n return (\n <img\n id=\"plastic\"\n className={styles.imageComponent}\n src={plastic}\n alt=\"Plastic bag in ocean\"\n ref={ref as Ref<HTMLImageElement>}\n style={\n {\n '--comp-rotate-z': `${rotation}deg`,\n } as CSSProperties\n }\n />\n );\n case COMPONENTS_TYPE.square:\n return (\n <div\n className={styles.component}\n ref={ref as Ref<HTMLDivElement>}\n style={\n {\n background: 'MediumSlateBlue',\n '--comp-rotate-z': `${rotation}deg`,\n } as CSSProperties\n }\n >\n Mouse\n </div>\n );\n case COMPONENTS_TYPE.svg:\n return (\n <img\n id=\"vector\"\n className={styles.svgComponent}\n src={ghost}\n alt=\"Friendly ghost\"\n ref={ref as Ref<HTMLImageElement>}\n style={\n {\n '--comp-rotate-z': `${rotation}deg`,\n } as CSSProperties\n }\n />\n );\n case COMPONENTS_TYPE.text:\n return (\n <h1\n id=\"large-header\"\n className={styles.textComponent}\n ref={ref as Ref<HTMLHeadingElement>}\n style={\n {\n '--comp-rotate-z': `${rotation}deg`,\n } as CSSProperties\n }\n >\n Dare <br /> To Be <br /> BOLD\n </h1>\n );\n default:\n return <p>Unknown input {type}</p>;\n }\n});\n"],"mappings":"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","ignoreList":[]}
package/dist/cjs/types.js CHANGED
@@ -1,2 +1,4 @@
1
+ "use strict";
1
2
 
3
+ exports.__esModule = true;
2
4
  //# sourceMappingURL=types.js.map
@@ -46,12 +46,15 @@ function getWebAnimation(target, animationOptions, trigger, options, ownerDocume
46
46
  // TODO: need to fix the type here, currently lying about the returned type to be WebAnimationEffectFactory instead of MouseAnimationFactoryCreate
47
47
  const mouseAnimationPreset = getNamedEffect(effectOptions);
48
48
  const mouseAnimationFactory = getWebAnimationEffect(mouseAnimationPreset, animationOptions, element, trigger, options);
49
- return mouseAnimationFactory(element);
49
+ return typeof mouseAnimationFactory === 'function' ? mouseAnimationFactory(element) : null;
50
50
  }
51
51
 
52
52
  // get the preset for the given animation options
53
53
  const namedEffect = getNamedEffect(animationOptions);
54
54
  const animationsData = getWebAnimationEffect(namedEffect, animationOptions, element, trigger, options);
55
+ if (!animationsData) {
56
+ return null;
57
+ }
55
58
  const data = getEffectsData(animationsData, trigger, animationOptions.effectId);
56
59
  let timeline;
57
60
  const isViewProgress = (trigger == null ? void 0 : trigger.trigger) === 'view-progress';
@@ -1 +1 @@
1
- {"version":3,"names":["CustomAnimation","AnimationGroup","getElement","getElementMotionPart","measure","mutate","getRanges","getNamedEffect","getEffectsData","isNotAScrubTrigger","fastdom","getWebAnimationEffect","preset","animation","target","trigger","options","duration","reducedMotion","iterations","undefined","domApi","HTMLElement","web","getWebAnimation","animationOptions","ownerDocument","element","effectOptions","customEffect","namedEffect","id","type","mouseAnimationPreset","mouseAnimationFactory","animationsData","data","effectId","timeline","isViewProgress","window","ViewTimeline","subject","componentId","animations","map","_ref","effect","part","effectTarget","keyframeEffect","KeyframeEffect","updateTiming","timing","setKeyframes","keyframes","timingOptions","Animation","start","end","rangeStart","rangeEnd","play","startOffset","endOffset","_offset","_offset2","startOffsetToWrite","endOffsetToWrite","Object","assign","name","offset","value","add","startOffsetAdd","endOffsetAdd","measured","Promise","resolve"],"sources":["../../../src/api/webAnimations.ts"],"sourcesContent":["import type {\n AnimationData,\n AnimationDataForScrub,\n AnimationEffectAPI,\n AnimationOptions,\n MouseAnimationFactory,\n MouseAnimationInstance,\n ScrubAnimationOptions,\n TriggerVariant,\n WebAnimationEffectFactory,\n} from '../types';\nimport { CustomAnimation } from '../CustomAnimation';\nimport { AnimationGroup } from '../AnimationGroup';\nimport {\n getElement,\n getElementMotionPart,\n measure,\n mutate,\n getRanges,\n getNamedEffect,\n getEffectsData,\n isNotAScrubTrigger,\n} from './common';\nimport fastdom from 'fastdom';\n\nfunction getWebAnimationEffect(\n preset: AnimationEffectAPI<any> | WebAnimationEffectFactory<any> | null,\n animation: AnimationOptions,\n target: HTMLElement | string | null,\n trigger?: Partial<TriggerVariant>,\n options?: Record<string, any>,\n): AnimationData[] | MouseAnimationFactory {\n if (preset) {\n // validate duration is a number over 0\n if (isNotAScrubTrigger(trigger)) {\n animation.duration = animation.duration || 1;\n\n if (options?.reducedMotion) {\n if (animation.iterations === 1 || animation.iterations == undefined) {\n animation = { ...animation, duration: 1 };\n } else {\n return [];\n }\n }\n }\n\n let domApi;\n if (target instanceof HTMLElement) {\n domApi = { measure: measure(target), mutate: mutate(target) };\n }\n\n return (preset as AnimationEffectAPI<any>).web\n ? (preset as AnimationEffectAPI<any>).web(animation, domApi, options)\n : (preset as WebAnimationEffectFactory<any>)(animation, domApi, options);\n }\n\n return [];\n}\n\nfunction getWebAnimation(\n target: HTMLElement | string | null,\n animationOptions: AnimationOptions,\n trigger?: Partial<TriggerVariant> & { element?: HTMLElement },\n options?: Record<string, any>,\n ownerDocument?: Document,\n): AnimationGroup | MouseAnimationInstance {\n const element =\n target instanceof HTMLElement ? target : getElement(target, ownerDocument);\n\n if (trigger?.trigger === 'pointer-move') {\n let effectOptions = animationOptions;\n\n if (animationOptions.customEffect) {\n effectOptions = {\n ...animationOptions,\n namedEffect: { id: '', type: 'CustomMouse' },\n };\n }\n\n // TODO: need to fix the type here, currently lying about the returned type to be WebAnimationEffectFactory instead of MouseAnimationFactoryCreate\n const mouseAnimationPreset = getNamedEffect(\n effectOptions,\n ) as WebAnimationEffectFactory<'scrub'>;\n const mouseAnimationFactory = getWebAnimationEffect(\n mouseAnimationPreset,\n animationOptions,\n element,\n trigger,\n options,\n ) as MouseAnimationFactory;\n\n return mouseAnimationFactory(element as HTMLElement);\n }\n\n // get the preset for the given animation options\n const namedEffect = getNamedEffect(\n animationOptions,\n ) as AnimationEffectAPI<any> | null;\n\n const animationsData = getWebAnimationEffect(\n namedEffect,\n animationOptions,\n element,\n trigger,\n options,\n ) as AnimationData[];\n const data = getEffectsData(\n animationsData,\n trigger,\n animationOptions.effectId,\n );\n\n let timeline: typeof window.ViewTimeline | undefined;\n const isViewProgress = trigger?.trigger === 'view-progress';\n\n // if this is a ScrubAnimation with view-progress trigger and the browser supports the ViewTimeline API\n if (isViewProgress && window.ViewTimeline) {\n // generate the timeline object\n // @ts-expect-error\n timeline = new ViewTimeline({\n subject: trigger.element || getElement(trigger.componentId!),\n });\n }\n\n // generate an Animation object for each data object\n const animations = data.map(\n ({ effect, options: effectOptions, id, part }) => {\n const effectTarget = part ? getElementMotionPart(element, part) : element;\n\n const keyframeEffect = new KeyframeEffect(\n effectTarget || null,\n [],\n effectOptions,\n );\n\n // set the keyframes for the KeyframeEffect after measurements and mutations\n fastdom.mutate(() => {\n if ('timing' in effect) {\n keyframeEffect.updateTiming(effect.timing as OptionalEffectTiming);\n }\n\n keyframeEffect.setKeyframes(effect.keyframes);\n });\n\n const timingOptions =\n isViewProgress && timeline\n ? { timeline: timeline as AnimationTimeline }\n : {};\n const animation: Animation | CustomAnimation =\n typeof effect.customEffect === 'function'\n ? (new CustomAnimation(\n effect.customEffect,\n effectTarget || null,\n effectOptions,\n timingOptions,\n ) as Animation)\n : new Animation(keyframeEffect, timingOptions.timeline);\n\n // if this is a ScrubAnimation with view-progress trigger and the browser supports the ViewTimeline API\n if (isViewProgress) {\n if (timeline) {\n // set the ranges for the animation after measurements and mutations\n fastdom.mutate(() => {\n const { start, end } = getRanges(effect as AnimationDataForScrub);\n // @ts-expect-error\n animation.rangeStart = start;\n // @ts-expect-error\n animation.rangeEnd = end;\n\n animation.play();\n });\n } else {\n const { startOffset, endOffset } =\n animationOptions as ScrubAnimationOptions;\n\n // set the ranges for the animation after measurements and mutations\n fastdom.mutate(() => {\n const startOffsetToWrite =\n (effect as AnimationDataForScrub).startOffset || startOffset;\n const endOffsetToWrite =\n (effect as AnimationDataForScrub).endOffset || endOffset;\n\n Object.assign(animation, {\n start: {\n name: startOffsetToWrite!.name,\n offset: startOffsetToWrite!.offset?.value,\n add: (effect as AnimationDataForScrub)!.startOffsetAdd,\n },\n end: {\n name: endOffsetToWrite!.name,\n offset: endOffsetToWrite!.offset?.value,\n add: (effect as AnimationDataForScrub)!.endOffsetAdd,\n },\n });\n });\n }\n }\n\n if (id) {\n animation.id = id;\n }\n\n return animation;\n },\n );\n\n // create an AnimationGroup with the generate animations\n return new AnimationGroup(animations, {\n ...animationOptions,\n trigger: { ...(trigger || ({} as Partial<TriggerVariant>)) },\n // make sure the group is ready after all animation targets are measured and mutated\n measured: new Promise((resolve) => fastdom.mutate(resolve)),\n });\n}\n\nexport { getWebAnimation };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["CustomAnimation","AnimationGroup","getElement","getElementMotionPart","measure","mutate","getRanges","getNamedEffect","getEffectsData","isNotAScrubTrigger","fastdom","getWebAnimationEffect","preset","animation","target","trigger","options","duration","reducedMotion","iterations","undefined","domApi","HTMLElement","web","getWebAnimation","animationOptions","ownerDocument","element","effectOptions","customEffect","namedEffect","id","type","mouseAnimationPreset","mouseAnimationFactory","animationsData","data","effectId","timeline","isViewProgress","window","ViewTimeline","subject","componentId","animations","map","_ref","effect","part","effectTarget","keyframeEffect","KeyframeEffect","updateTiming","timing","setKeyframes","keyframes","timingOptions","Animation","start","end","rangeStart","rangeEnd","play","startOffset","endOffset","_offset","_offset2","startOffsetToWrite","endOffsetToWrite","Object","assign","name","offset","value","add","startOffsetAdd","endOffsetAdd","measured","Promise","resolve"],"sources":["../../../src/api/webAnimations.ts"],"sourcesContent":["import type {\n AnimationData,\n AnimationDataForScrub,\n AnimationEffectAPI,\n AnimationOptions,\n MouseAnimationFactory,\n MouseAnimationInstance,\n ScrubAnimationOptions,\n TriggerVariant,\n WebAnimationEffectFactory,\n} from '../types';\nimport { CustomAnimation } from '../CustomAnimation';\nimport { AnimationGroup } from '../AnimationGroup';\nimport {\n getElement,\n getElementMotionPart,\n measure,\n mutate,\n getRanges,\n getNamedEffect,\n getEffectsData,\n isNotAScrubTrigger,\n} from './common';\nimport fastdom from 'fastdom';\n\nfunction getWebAnimationEffect(\n preset: AnimationEffectAPI<any> | WebAnimationEffectFactory<any> | null,\n animation: AnimationOptions,\n target: HTMLElement | string | null,\n trigger?: Partial<TriggerVariant>,\n options?: Record<string, any>,\n): AnimationData[] | MouseAnimationFactory {\n if (preset) {\n // validate duration is a number over 0\n if (isNotAScrubTrigger(trigger)) {\n animation.duration = animation.duration || 1;\n\n if (options?.reducedMotion) {\n if (animation.iterations === 1 || animation.iterations == undefined) {\n animation = { ...animation, duration: 1 };\n } else {\n return [];\n }\n }\n }\n\n let domApi;\n if (target instanceof HTMLElement) {\n domApi = { measure: measure(target), mutate: mutate(target) };\n }\n\n return (preset as AnimationEffectAPI<any>).web\n ? (preset as AnimationEffectAPI<any>).web(animation, domApi, options)\n : (preset as WebAnimationEffectFactory<any>)(animation, domApi, options);\n }\n\n return [];\n}\n\nfunction getWebAnimation(\n target: HTMLElement | string | null,\n animationOptions: AnimationOptions,\n trigger?: Partial<TriggerVariant> & { element?: HTMLElement },\n options?: Record<string, any>,\n ownerDocument?: Document,\n): AnimationGroup | MouseAnimationInstance | null {\n const element =\n target instanceof HTMLElement ? target : getElement(target, ownerDocument);\n\n if (trigger?.trigger === 'pointer-move') {\n let effectOptions = animationOptions;\n\n if (animationOptions.customEffect) {\n effectOptions = {\n ...animationOptions,\n namedEffect: { id: '', type: 'CustomMouse' },\n };\n }\n\n // TODO: need to fix the type here, currently lying about the returned type to be WebAnimationEffectFactory instead of MouseAnimationFactoryCreate\n const mouseAnimationPreset = getNamedEffect(\n effectOptions,\n ) as WebAnimationEffectFactory<'scrub'>;\n const mouseAnimationFactory = getWebAnimationEffect(\n mouseAnimationPreset,\n animationOptions,\n element,\n trigger,\n options,\n ) as MouseAnimationFactory;\n\n return typeof mouseAnimationFactory === 'function'\n ? mouseAnimationFactory(element as HTMLElement)\n : null;\n }\n\n // get the preset for the given animation options\n const namedEffect = getNamedEffect(\n animationOptions,\n ) as AnimationEffectAPI<any> | null;\n\n const animationsData = getWebAnimationEffect(\n namedEffect,\n animationOptions,\n element,\n trigger,\n options,\n ) as AnimationData[];\n\n if (!animationsData) {\n return null;\n }\n\n const data = getEffectsData(\n animationsData,\n trigger,\n animationOptions.effectId,\n );\n\n let timeline: typeof window.ViewTimeline | undefined;\n const isViewProgress = trigger?.trigger === 'view-progress';\n\n // if this is a ScrubAnimation with view-progress trigger and the browser supports the ViewTimeline API\n if (isViewProgress && window.ViewTimeline) {\n // generate the timeline object\n // @ts-expect-error\n timeline = new ViewTimeline({\n subject: trigger.element || getElement(trigger.componentId!),\n });\n }\n\n // generate an Animation object for each data object\n const animations = data.map(\n ({ effect, options: effectOptions, id, part }) => {\n const effectTarget = part ? getElementMotionPart(element, part) : element;\n\n const keyframeEffect = new KeyframeEffect(\n effectTarget || null,\n [],\n effectOptions,\n );\n\n // set the keyframes for the KeyframeEffect after measurements and mutations\n fastdom.mutate(() => {\n if ('timing' in effect) {\n keyframeEffect.updateTiming(effect.timing as OptionalEffectTiming);\n }\n\n keyframeEffect.setKeyframes(effect.keyframes);\n });\n\n const timingOptions =\n isViewProgress && timeline\n ? { timeline: timeline as AnimationTimeline }\n : {};\n const animation: Animation | CustomAnimation =\n typeof effect.customEffect === 'function'\n ? (new CustomAnimation(\n effect.customEffect,\n effectTarget || null,\n effectOptions,\n timingOptions,\n ) as Animation)\n : new Animation(keyframeEffect, timingOptions.timeline);\n\n // if this is a ScrubAnimation with view-progress trigger and the browser supports the ViewTimeline API\n if (isViewProgress) {\n if (timeline) {\n // set the ranges for the animation after measurements and mutations\n fastdom.mutate(() => {\n const { start, end } = getRanges(effect as AnimationDataForScrub);\n // @ts-expect-error\n animation.rangeStart = start;\n // @ts-expect-error\n animation.rangeEnd = end;\n\n animation.play();\n });\n } else {\n const { startOffset, endOffset } =\n animationOptions as ScrubAnimationOptions;\n\n // set the ranges for the animation after measurements and mutations\n fastdom.mutate(() => {\n const startOffsetToWrite =\n (effect as AnimationDataForScrub).startOffset || startOffset;\n const endOffsetToWrite =\n (effect as AnimationDataForScrub).endOffset || endOffset;\n\n Object.assign(animation, {\n start: {\n name: startOffsetToWrite!.name,\n offset: startOffsetToWrite!.offset?.value,\n add: (effect as AnimationDataForScrub)!.startOffsetAdd,\n },\n end: {\n name: endOffsetToWrite!.name,\n offset: endOffsetToWrite!.offset?.value,\n add: (effect as AnimationDataForScrub)!.endOffsetAdd,\n },\n });\n });\n }\n }\n\n if (id) {\n animation.id = id;\n }\n\n return animation;\n },\n );\n\n // create an AnimationGroup with the generate animations\n return new AnimationGroup(animations, {\n ...animationOptions,\n trigger: { ...(trigger || ({} as Partial<TriggerVariant>)) },\n // make sure the group is ready after all animation targets are measured and mutated\n measured: new Promise((resolve) => fastdom.mutate(resolve)),\n });\n}\n\nexport { getWebAnimation };\n"],"mappings":"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","ignoreList":[]}
@@ -48,6 +48,9 @@ function getScrubScene(target, animationOptions, trigger, sceneOptions) {
48
48
  ...rest
49
49
  } = sceneOptions;
50
50
  const animation = getWebAnimation(target, animationOptions, trigger, rest);
51
+ if (!animation) {
52
+ return null;
53
+ }
51
54
  let typeSpecificOptions = {};
52
55
  if (trigger.trigger === 'view-progress' && !window.ViewTimeline) {
53
56
  // TODO(ameerf): consider doing this only for bgscrub to not affect the other scroll effects
@@ -1 +1 @@
1
- {"version":3,"names":["AnimationGroup","getEasing","getJsEasing","getWebAnimation","getCSSAnimation","prepareAnimation","getElement","getNamedEffect","getElementCSSAnimation","target","animationOptions","namedEffect","style","effectId","getElementAnimation","effectNames","getNames","element","animations","getAnimations","animationNames","map","anim","animationName","filteredAnimations","forEach","name","includes","push","find","length","filter","id","startsWith","getScrubScene","trigger","sceneOptions","disabled","allowActiveEvent","rest","animation","typeSpecificOptions","window","ViewTimeline","viewSource","componentId","ready","partialAnimation","start","end","getProgress","effect","__","p","activeDuration","getComputedTiming","delay","getTiming","currentTime","destroy","cancel","centeredToTarget","transitionDuration","transitionEasing","customEffect","v","active","progress","getAnimation","reducedMotion","Promise","resolve"],"sources":["../../src/motion.ts"],"sourcesContent":["import type {\n AnimationOptions,\n ScrubAnimationOptions,\n TriggerVariant,\n MouseAnimationInstance,\n AnimationEffectAPI,\n CustomMouseAnimationInstance,\n ScrubScrollScene,\n ScrubPointerScene,\n} from './types';\nimport { AnimationGroup } from './AnimationGroup';\nimport { getEasing, getJsEasing } from './utils';\nimport { getWebAnimation } from './api/webAnimations';\nimport { getCSSAnimation } from './api/cssAnimations';\nimport { prepareAnimation } from './api/prepare';\nimport { getElement, getNamedEffect } from './api/common';\n\nfunction getElementCSSAnimation(\n target: HTMLElement | string | null,\n animationOptions: AnimationOptions,\n): AnimationGroup | null {\n const namedEffect = getNamedEffect(\n animationOptions,\n ) as AnimationEffectAPI<any> | null;\n\n if (!namedEffect) {\n return null;\n }\n\n if (!namedEffect.style) {\n // if this named effect does not have a style method, attempt to get group of Web Animations\n if (animationOptions.effectId && target) {\n return getElementAnimation(target, animationOptions.effectId);\n }\n\n return null;\n }\n\n const effectNames = namedEffect.getNames(animationOptions);\n const element = typeof target === 'string' ? getElement(target) : target;\n const animations = element?.getAnimations();\n const animationNames =\n animations?.map((anim) => (anim as CSSAnimation).animationName) ||\n ([] as string[]);\n const filteredAnimations: CSSAnimation[] = [];\n\n effectNames.forEach((name) => {\n if (animationNames.includes(name)) {\n filteredAnimations.push(\n animations?.find(\n (anim) => (anim as CSSAnimation).animationName === name,\n ) as CSSAnimation,\n );\n }\n });\n\n return filteredAnimations?.length\n ? new AnimationGroup(filteredAnimations)\n : null;\n}\n\nfunction getElementAnimation(\n target: HTMLElement | string,\n effectId: string,\n): AnimationGroup | null {\n const element = typeof target === 'string' ? getElement(target) : target;\n // somehow get the right animations\n const animations = element\n ?.getAnimations()\n .filter((anim: Animation | CSSAnimation) => {\n const id = anim.id || (anim as CSSAnimation).animationName;\n // if no id/name just return all animations\n return id ? id.startsWith(effectId) : true;\n });\n\n return animations?.length ? new AnimationGroup(animations) : null;\n}\n\nfunction getScrubScene(\n target: HTMLElement | string | null,\n animationOptions: AnimationOptions,\n trigger: Partial<TriggerVariant> & { element?: HTMLElement },\n sceneOptions: Record<string, any> = {},\n): ScrubScrollScene[] | ScrubPointerScene {\n const { disabled, allowActiveEvent, ...rest } = sceneOptions;\n const animation = getWebAnimation(target, animationOptions, trigger, rest);\n\n let typeSpecificOptions = {} as Record<string, any>;\n\n if (trigger.trigger === 'view-progress' && !window.ViewTimeline) {\n // TODO(ameerf): consider doing this only for bgscrub to not affect the other scroll effects\n const viewSource = trigger.element || getElement(trigger.componentId!);\n const { ready } = animation as AnimationGroup;\n\n return (animation as AnimationGroup).animations.map((partialAnimation) => {\n return {\n /* we use getters for start and end in order to access the animation's start and end\n only when initializing the scrub scene rather than immediately */\n get start() {\n return partialAnimation.start;\n },\n get end() {\n return partialAnimation.end;\n },\n viewSource,\n ready,\n getProgress() {\n return (animation as AnimationGroup).getProgress();\n },\n effect(__: any, p: number) {\n const { activeDuration } =\n partialAnimation.effect!.getComputedTiming();\n const { delay } = partialAnimation.effect!.getTiming();\n\n partialAnimation.currentTime =\n ((delay || 0) + ((activeDuration as number) || 0)) * p;\n },\n disabled,\n destroy() {\n partialAnimation.cancel();\n },\n } as ScrubScrollScene;\n });\n } else if (trigger.trigger === 'pointer-move') {\n const { centeredToTarget, transitionDuration, transitionEasing } =\n animationOptions as ScrubAnimationOptions;\n\n typeSpecificOptions = {\n target: (animation as MouseAnimationInstance).target,\n centeredToTarget,\n allowActiveEvent,\n };\n\n if (animationOptions.customEffect && transitionDuration) {\n typeSpecificOptions.transitionDuration = transitionDuration;\n typeSpecificOptions.transitionEasing = getJsEasing(transitionEasing);\n }\n }\n\n return {\n ...typeSpecificOptions,\n getProgress() {\n return (\n animation as AnimationGroup | CustomMouseAnimationInstance\n ).getProgress();\n },\n effect(\n __: any,\n p: number | { x: number; y: number },\n v?: { x: number; y: number },\n active?: boolean,\n ) {\n animation.progress(\n v\n ? {\n // @ts-expect-error spread error on p\n ...p,\n v,\n active,\n }\n : p,\n );\n },\n disabled,\n destroy() {\n animation.cancel();\n },\n } as ScrubPointerScene;\n}\n\nfunction getAnimation(\n target: HTMLElement | string | null,\n animationOptions: AnimationOptions,\n trigger?: Partial<TriggerVariant> & { element?: HTMLElement },\n reducedMotion: boolean = false,\n): AnimationGroup | MouseAnimationInstance | null {\n const animation = getElementCSSAnimation(target, animationOptions);\n\n if (animation) {\n animation.ready = new Promise((resolve) => {\n prepareAnimation(target, animationOptions, resolve);\n });\n\n return animation;\n }\n\n return getWebAnimation(target, animationOptions, trigger, { reducedMotion });\n}\n\nexport {\n getCSSAnimation,\n getWebAnimation,\n getElementCSSAnimation,\n getElementAnimation,\n getScrubScene,\n prepareAnimation,\n getAnimation,\n getEasing,\n};\n\nexport type { AnimationGroup };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["AnimationGroup","getEasing","getJsEasing","getWebAnimation","getCSSAnimation","prepareAnimation","getElement","getNamedEffect","getElementCSSAnimation","target","animationOptions","namedEffect","style","effectId","getElementAnimation","effectNames","getNames","element","animations","getAnimations","animationNames","map","anim","animationName","filteredAnimations","forEach","name","includes","push","find","length","filter","id","startsWith","getScrubScene","trigger","sceneOptions","disabled","allowActiveEvent","rest","animation","typeSpecificOptions","window","ViewTimeline","viewSource","componentId","ready","partialAnimation","start","end","getProgress","effect","__","p","activeDuration","getComputedTiming","delay","getTiming","currentTime","destroy","cancel","centeredToTarget","transitionDuration","transitionEasing","customEffect","v","active","progress","getAnimation","reducedMotion","Promise","resolve"],"sources":["../../src/motion.ts"],"sourcesContent":["import type {\n AnimationOptions,\n ScrubAnimationOptions,\n TriggerVariant,\n MouseAnimationInstance,\n AnimationEffectAPI,\n CustomMouseAnimationInstance,\n ScrubScrollScene,\n ScrubPointerScene,\n} from './types';\nimport { AnimationGroup } from './AnimationGroup';\nimport { getEasing, getJsEasing } from './utils';\nimport { getWebAnimation } from './api/webAnimations';\nimport { getCSSAnimation } from './api/cssAnimations';\nimport { prepareAnimation } from './api/prepare';\nimport { getElement, getNamedEffect } from './api/common';\n\nfunction getElementCSSAnimation(\n target: HTMLElement | string | null,\n animationOptions: AnimationOptions,\n): AnimationGroup | null {\n const namedEffect = getNamedEffect(\n animationOptions,\n ) as AnimationEffectAPI<any> | null;\n\n if (!namedEffect) {\n return null;\n }\n\n if (!namedEffect.style) {\n // if this named effect does not have a style method, attempt to get group of Web Animations\n if (animationOptions.effectId && target) {\n return getElementAnimation(target, animationOptions.effectId);\n }\n\n return null;\n }\n\n const effectNames = namedEffect.getNames(animationOptions);\n const element = typeof target === 'string' ? getElement(target) : target;\n const animations = element?.getAnimations();\n const animationNames =\n animations?.map((anim) => (anim as CSSAnimation).animationName) ||\n ([] as string[]);\n const filteredAnimations: CSSAnimation[] = [];\n\n effectNames.forEach((name) => {\n if (animationNames.includes(name)) {\n filteredAnimations.push(\n animations?.find(\n (anim) => (anim as CSSAnimation).animationName === name,\n ) as CSSAnimation,\n );\n }\n });\n\n return filteredAnimations?.length\n ? new AnimationGroup(filteredAnimations)\n : null;\n}\n\nfunction getElementAnimation(\n target: HTMLElement | string,\n effectId: string,\n): AnimationGroup | null {\n const element = typeof target === 'string' ? getElement(target) : target;\n // somehow get the right animations\n const animations = element\n ?.getAnimations()\n .filter((anim: Animation | CSSAnimation) => {\n const id = anim.id || (anim as CSSAnimation).animationName;\n // if no id/name just return all animations\n return id ? id.startsWith(effectId) : true;\n });\n\n return animations?.length ? new AnimationGroup(animations) : null;\n}\n\nfunction getScrubScene(\n target: HTMLElement | string | null,\n animationOptions: AnimationOptions,\n trigger: Partial<TriggerVariant> & { element?: HTMLElement },\n sceneOptions: Record<string, any> = {},\n): ScrubScrollScene[] | ScrubPointerScene | null {\n const { disabled, allowActiveEvent, ...rest } = sceneOptions;\n const animation = getWebAnimation(target, animationOptions, trigger, rest);\n\n if (!animation) {\n return null;\n }\n\n let typeSpecificOptions = {} as Record<string, any>;\n\n if (trigger.trigger === 'view-progress' && !window.ViewTimeline) {\n // TODO(ameerf): consider doing this only for bgscrub to not affect the other scroll effects\n const viewSource = trigger.element || getElement(trigger.componentId!);\n const { ready } = animation as AnimationGroup;\n\n return (animation as AnimationGroup).animations.map((partialAnimation) => {\n return {\n /* we use getters for start and end in order to access the animation's start and end\n only when initializing the scrub scene rather than immediately */\n get start() {\n return partialAnimation.start;\n },\n get end() {\n return partialAnimation.end;\n },\n viewSource,\n ready,\n getProgress() {\n return (animation as AnimationGroup).getProgress();\n },\n effect(__: any, p: number) {\n const { activeDuration } =\n partialAnimation.effect!.getComputedTiming();\n const { delay } = partialAnimation.effect!.getTiming();\n\n partialAnimation.currentTime =\n ((delay || 0) + ((activeDuration as number) || 0)) * p;\n },\n disabled,\n destroy() {\n partialAnimation.cancel();\n },\n } as ScrubScrollScene;\n });\n } else if (trigger.trigger === 'pointer-move') {\n const { centeredToTarget, transitionDuration, transitionEasing } =\n animationOptions as ScrubAnimationOptions;\n\n typeSpecificOptions = {\n target: (animation as MouseAnimationInstance).target,\n centeredToTarget,\n allowActiveEvent,\n };\n\n if (animationOptions.customEffect && transitionDuration) {\n typeSpecificOptions.transitionDuration = transitionDuration;\n typeSpecificOptions.transitionEasing = getJsEasing(transitionEasing);\n }\n }\n\n return {\n ...typeSpecificOptions,\n getProgress() {\n return (\n animation as AnimationGroup | CustomMouseAnimationInstance\n ).getProgress();\n },\n effect(\n __: any,\n p: number | { x: number; y: number },\n v?: { x: number; y: number },\n active?: boolean,\n ) {\n animation.progress(\n v\n ? {\n // @ts-expect-error spread error on p\n ...p,\n v,\n active,\n }\n : p,\n );\n },\n disabled,\n destroy() {\n animation.cancel();\n },\n } as ScrubPointerScene;\n}\n\nfunction getAnimation(\n target: HTMLElement | string | null,\n animationOptions: AnimationOptions,\n trigger?: Partial<TriggerVariant> & { element?: HTMLElement },\n reducedMotion: boolean = false,\n): AnimationGroup | MouseAnimationInstance | null {\n const animation = getElementCSSAnimation(target, animationOptions);\n\n if (animation) {\n animation.ready = new Promise((resolve) => {\n prepareAnimation(target, animationOptions, resolve);\n });\n\n return animation;\n }\n\n return getWebAnimation(target, animationOptions, trigger, { reducedMotion });\n}\n\nexport {\n getCSSAnimation,\n getWebAnimation,\n getElementCSSAnimation,\n getElementAnimation,\n getScrubScene,\n prepareAnimation,\n getAnimation,\n getEasing,\n};\n\nexport type { AnimationGroup };\n"],"mappings":"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","ignoreList":[]}
package/dist/esm/types.js CHANGED
@@ -1,2 +1,2 @@
1
-
1
+ export {};
2
2
  //# sourceMappingURL=types.js.map
package/dist/esm/utils.js CHANGED
@@ -114,24 +114,24 @@ const CLIP_POLYGON_TEMPLATES = {
114
114
  } = _ref9;
115
115
  return `${left}% ${top + minimum / 2}%, ${right}% ${top + minimum / 2}%, ${right}% ${bottom - minimum / 2}%, ${left}% ${bottom - minimum / 2}%`;
116
116
  },
117
- horizontal: _ref10 => {
117
+ horizontal: _ref0 => {
118
118
  let {
119
119
  top,
120
120
  bottom,
121
121
  left,
122
122
  right,
123
123
  minimum
124
- } = _ref10;
124
+ } = _ref0;
125
125
  return `${left + minimum / 2}% ${top}%, ${right - minimum / 2}% ${top}%, ${right - minimum / 2}% ${bottom}%, ${left + minimum / 2}% ${bottom}%`;
126
126
  }
127
127
  };
128
- export function getClipPolygonParams(_ref11) {
128
+ export function getClipPolygonParams(_ref1) {
129
129
  let {
130
130
  direction,
131
131
  scaleX = 1,
132
132
  scaleY = 1,
133
133
  minimum = 0
134
- } = _ref11;
134
+ } = _ref1;
135
135
  const top = (1 - scaleY) / 2 * 100;
136
136
  const left = (1 - scaleX) / 2 * 100;
137
137
  const right = 100 + left - (1 - scaleX) * 100;
@@ -1 +1 @@
1
- {"version":3,"names":["cssEasings","jsEasings","mapRange","sourceMin","sourceMax","targetMin","targetMax","num","distance2d","_ref","_ref2","x1","y1","x2","y2","Math","sqrt","getAngleInDeg","p1","p2","offset","angle","atan2","PI","INITIAL_FRAME_OFFSET","CLIP_POLYGON_TEMPLATES","initial","_ref3","top","bottom","left","right","_ref4","minimum","_ref5","center","_ref6","centerX","centerY","_ref7","_ref8","vertical","_ref9","horizontal","_ref10","getClipPolygonParams","_ref11","direction","scaleX","scaleY","getAdjustedDirection","availableDirections","angleInDeg","index","indexOf","length","shiftBy","round","newIndex","transformPolarToXY","distance","radians","x","cos","y","sin","getCssUnits","type","getEasing","easing","linear","getJsEasing","undefined","getEasingFamily","in","inOut","out","ease","replace","MOUSE_TRANSITION_EASING_MAP","easeOut","hardBackOut","elastic","bounce","getMouseTransitionEasing","value","getOutOfScreenDistance","angleInRad","angleCos","angleSin","xDirection","sign","yDirection","xDistance","yDistance","hypotenuse","hypotX","hypotY","getElementOffset","element","parent","offsetLeft","offsetTop","offsetParent","generateShuttersClipPath","shutterCount","staggered","isTopOrLeft","iterStart","iterEnd","inc","isVerticalPath","clipPathStart","clipPathEnd","i","shutterEndPosInPercentage","clipStart","clipEnd","staggerFactor","push","start","end","getShuttersClipPaths","reverse","join","roundNumber","precision","parseFloat","toFixed","toKeyframeValue","custom","key","useValue","fallback","getTimingFactor","duration","delay","asString","duration_","delay_","timingFactor","toString"],"sources":["../../src/utils.ts"],"sourcesContent":["import { cssEasings, jsEasings } from './easings';\nimport type {\n ScrubTransitionEasing,\n EffectFourDirections,\n Point,\n} from './types';\n\n/**\n * Map a value from one range 'a' to different range 'b'\n *\n * @param sourceMin - The minimum value of the source range\n * @param sourceMax - The maximum value of the source range\n * @param targetMin - The minimum value of the target range\n * @param targetMax - The maximum value of the target range\n * @param num - The number to map\n * @returns The mapped value\n */\nexport function mapRange(\n sourceMin: number,\n sourceMax: number,\n targetMin: number,\n targetMax: number,\n num: number,\n): number {\n return (\n ((num - sourceMin) * (targetMax - targetMin)) / (sourceMax - sourceMin) +\n targetMin\n );\n}\n\n/**\n * Get the distance between 2 points\n *\n * @param p1 - The first point [x1, y1]\n * @param p2 - The second point [x2, y2]\n * @returns The distance between the two points\n */\nexport function distance2d([x1, y1]: Point, [x2, y2]: Point): number {\n return Math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2);\n}\n\n/**\n * Get the angle between 2 points in degrees clamped between 0 and 360\n * Pass the third argument \"offset\" to rotate the angle source,\n * for example use 90 to move angle 0 to the top\n *\n * @param p1 - The first point [x1, y1]\n * @param p2 - The second point [x2, y2]\n * @param offset - The angle offset (default: 0)\n * @returns The angle between the two points in degrees\n */\nexport function getAngleInDeg(\n p1: Point = [0, 0],\n p2: Point = [0, 0],\n offset: number = 0,\n): number {\n const angle = (Math.atan2(p2[1] - p1[1], p2[0] - p1[0]) * 180) / Math.PI;\n return (360 + offset + angle) % 360;\n}\n\nexport const INITIAL_FRAME_OFFSET = 1e-6;\n\nexport type Direction =\n | 'initial'\n | 'top'\n | 'right'\n | 'center'\n | 'bottom'\n | 'left'\n | 'vertical'\n | 'horizontal';\n\ntype ClipPolygonTemplateParams = {\n top: number;\n bottom: number;\n left: number;\n right: number;\n centerX: number;\n centerY: number;\n minimum: number;\n};\n\nconst CLIP_POLYGON_TEMPLATES: Record<\n Direction,\n (params: ClipPolygonTemplateParams) => string\n> = {\n initial: ({ top, bottom, left, right }) =>\n `${left}% ${top}%, ${right}% ${top}%, ${right}% ${bottom}%, ${left}% ${bottom}%`,\n top: ({ top, left, right, minimum }) =>\n `${left}% ${top}%, ${right}% ${top}%, ${right}% ${\n top + minimum\n }%, ${left}% ${top + minimum}%`,\n right: ({ top, bottom, right, minimum }) =>\n `${right - minimum}% ${top}%, ${right}% ${top}%, ${right}% ${bottom}%, ${\n right - minimum\n }% ${bottom}%`,\n center: ({ centerX, centerY, minimum }) =>\n `${centerX - minimum / 2}% ${centerY - minimum / 2}%, ${\n centerX + minimum / 2\n }% ${centerY - minimum / 2}%, ${centerX + minimum / 2}% ${\n centerY + minimum / 2\n }%, ${centerX - minimum / 2}% ${centerY + minimum / 2}%`,\n bottom: ({ bottom, left, right, minimum }) =>\n `${left}% ${bottom - minimum}%, ${right}% ${\n bottom - minimum\n }%, ${right}% ${bottom}%, ${left}% ${bottom}%`,\n left: ({ top, bottom, left, minimum }) =>\n `${left}% ${top}%, ${left + minimum}% ${top}%, ${\n left + minimum\n }% ${bottom}%, ${left}% ${bottom}%`,\n vertical: ({ top, bottom, left, right, minimum }) =>\n `${left}% ${top + minimum / 2}%, ${right}% ${\n top + minimum / 2\n }%, ${right}% ${bottom - minimum / 2}%, ${left}% ${bottom - minimum / 2}%`,\n horizontal: ({ top, bottom, left, right, minimum }) =>\n `${left + minimum / 2}% ${top}%, ${right - minimum / 2}% ${top}%, ${\n right - minimum / 2\n }% ${bottom}%, ${left + minimum / 2}% ${bottom}%`,\n};\n\nexport function getClipPolygonParams({\n direction,\n scaleX = 1,\n scaleY = 1,\n minimum = 0,\n}: {\n direction: Direction;\n scaleX?: number;\n scaleY?: number;\n minimum?: number;\n}) {\n const top = ((1 - scaleY) / 2) * 100;\n const left = ((1 - scaleX) / 2) * 100;\n const right = 100 + left - (1 - scaleX) * 100;\n const bottom = 100 + top - (1 - scaleY) * 100;\n const centerX = (right + left) / 2;\n const centerY = (bottom + top) / 2;\n\n return `polygon(${CLIP_POLYGON_TEMPLATES[direction]({\n top,\n bottom,\n left,\n right,\n centerX,\n centerY,\n minimum,\n })})`;\n}\n\n/**\n * Adjust direction by angle from predefined list\n */\nexport function getAdjustedDirection(\n availableDirections: string[],\n direction: string,\n angleInDeg: number,\n) {\n const index = availableDirections.indexOf(direction);\n const length = availableDirections.length;\n const shiftBy = Math.round(((angleInDeg || 0) / 360) * length);\n const newIndex = (index + (length - 1) * shiftBy) % length; // eslint-disable-line no-mixed-operators\n return availableDirections[newIndex];\n}\n\nexport function transformPolarToXY(angle: number, distance: number) {\n const radians = (angle * Math.PI) / 180;\n const x = Math.cos(radians) * distance;\n const y = Math.sin(radians) * distance;\n return [x, y];\n}\n\nexport function getCssUnits(type: 'percentage' | string) {\n return type === 'percentage' ? '%' : type || 'px';\n}\n\nexport function getEasing(easing?: keyof typeof cssEasings | string): string {\n return easing\n ? cssEasings[easing as keyof typeof cssEasings] || easing\n : cssEasings.linear;\n}\n\nexport function getJsEasing(\n easing?: keyof typeof jsEasings | string,\n): ((t: number) => number) | undefined {\n return easing ? jsEasings[easing as keyof typeof jsEasings] : undefined;\n}\n\nexport function getEasingFamily(easing: string) {\n if (!cssEasings[easing as keyof typeof cssEasings]) {\n return {\n in: easing,\n inOut: easing,\n out: easing,\n };\n }\n\n const ease = easing.replace(/In|Out/g, '');\n if (ease === 'linear') {\n return {\n in: `linear`,\n inOut: `linear`,\n out: `linear`,\n };\n }\n\n return {\n in: `${ease}In`,\n inOut: `${ease}InOut`,\n out: `${ease}Out`,\n };\n}\n\nconst MOUSE_TRANSITION_EASING_MAP: Record<ScrubTransitionEasing, string> = {\n linear: 'linear',\n easeOut: 'ease-out',\n hardBackOut: 'cubic-bezier(0.58, 2.5, 0, 0.95)',\n elastic:\n 'linear( 0, 0.2178 2.1%, 1.1144 8.49%, 1.2959 10.7%, 1.3463 11.81%, 1.3705 12.94%, 1.3726, 1.3643 14.48%, 1.3151 16.2%, 1.0317 21.81%, 0.941 24.01%, 0.8912 25.91%, 0.8694 27.84%, 0.8698 29.21%, 0.8824 30.71%, 1.0122 38.33%, 1.0357, 1.046 42.71%, 1.0416 45.7%, 0.9961 53.26%, 0.9839 57.54%, 0.9853 60.71%, 1.0012 68.14%, 1.0056 72.24%, 0.9981 86.66%, 1 )',\n bounce:\n 'linear( 0, 0.0039, 0.0157, 0.0352, 0.0625 9.09%, 0.1407, 0.25, 0.3908, 0.5625, 0.7654, 1, 0.8907, 0.8125 45.45%, 0.7852, 0.7657, 0.7539, 0.75, 0.7539, 0.7657, 0.7852, 0.8125 63.64%, 0.8905, 1 72.73%, 0.9727, 0.9532, 0.9414, 0.9375, 0.9414, 0.9531, 0.9726, 1, 0.9883, 0.9844, 0.9883, 1 )',\n};\n\nexport function getMouseTransitionEasing(value?: ScrubTransitionEasing) {\n return (value && MOUSE_TRANSITION_EASING_MAP[value]) || 'linear';\n}\n\nexport function getOutOfScreenDistance(angle: number) {\n const angleInRad = (angle * Math.PI) / 180;\n const angleCos = Math.round(Math.cos(angleInRad) * 10) / 10;\n const angleSin = Math.round(Math.sin(angleInRad) * 10) / 10;\n\n // Calculate x and y direction based on angle\n const xDirection = Math.sign(angleCos);\n const yDirection = Math.sign(angleSin);\n const left = `var(--motion-left, 0px)`;\n const top = `var(--motion-top, 0px)`;\n\n // Calculate x and y distances between component and stage\n const xDistance = xDirection\n ? xDirection === -1\n ? `(-1 * ${left} - 100%)`\n : `(100vw - ${left})`\n : 0;\n const yDistance = yDirection\n ? yDirection === -1\n ? `(-1 * ${top} - 100%)`\n : `(100vh - ${top})`\n : 0;\n\n // Calculate hypotenuse\n let hypotenuse;\n const hypotX = `calc(${xDistance} / ${angleCos})`;\n const hypotY = `calc(${yDistance} / ${angleSin})`;\n\n if (!angleCos) {\n hypotenuse = hypotY;\n } else if (!angleSin) {\n hypotenuse = hypotX;\n } else {\n hypotenuse = `min(${hypotY}, ${hypotX})`;\n }\n\n return {\n // distance: Math.abs(hypotenuse),\n x: `calc(${hypotenuse} * ${angleCos})`,\n y: `calc(${hypotenuse} * ${angleSin})`,\n };\n}\n\nexport function getElementOffset(element: HTMLElement, parent?: HTMLElement) {\n let left = element.offsetLeft;\n let top = element.offsetTop;\n let offsetParent = element.offsetParent as HTMLElement;\n\n while (offsetParent) {\n if (parent && offsetParent === parent) {\n break;\n }\n\n left += offsetParent.offsetLeft;\n top += offsetParent.offsetTop;\n offsetParent = offsetParent.offsetParent as HTMLElement;\n }\n\n return { left, top };\n}\n\nconst generateShuttersClipPath = (\n direction: EffectFourDirections,\n shutterCount: number,\n staggered: boolean,\n) => {\n const isTopOrLeft = direction === 'top' || direction === 'left';\n const iterStart = isTopOrLeft ? shutterCount : 0;\n const iterEnd = isTopOrLeft ? 0 : shutterCount;\n const inc = isTopOrLeft ? -1 : 1;\n\n const isVerticalPath = direction === 'top' || direction === 'bottom';\n\n const clipPathStart: string[] = [];\n const clipPathEnd: string[] = [];\n\n for (let i = iterStart; i !== iterEnd; i += inc) {\n const shutterEndPosInPercentage = 100 * ((i + inc) / shutterCount);\n const clipStart = (100 * (i / shutterCount)) | 0;\n let clipEnd;\n\n if (staggered) {\n const staggerFactor = isTopOrLeft\n ? 1 + (shutterCount - i) / shutterCount\n : 1 + i / shutterCount;\n // staggerFactor changes the speed in which the current shutter completes its animation.\n // case = 1: shutter closes at normal rate (as if there is no stagger at all)\n // case > 1: shutter closes faster (the bigger it is, the faster it closes)\n\n clipEnd = isTopOrLeft\n ? 100 - (100 - shutterEndPosInPercentage) * staggerFactor\n : shutterEndPosInPercentage * staggerFactor;\n } else {\n clipEnd = shutterEndPosInPercentage;\n }\n\n clipEnd |= 0;\n\n if (isVerticalPath) {\n clipPathStart.push(\n `0% ${clipStart}%, 100% ${clipStart}%, 100% ${clipStart}%, 0% ${clipStart}%`,\n );\n clipPathEnd.push(\n `0% ${clipStart}%, 100% ${clipStart}%, 100% ${clipEnd}%, 0% ${clipEnd}%`,\n );\n } else {\n clipPathStart.push(\n `${clipStart}% 0%, ${clipStart}% 100%, ${clipStart}% 100%, ${clipStart}% 0%`,\n );\n clipPathEnd.push(\n `${clipStart}% 0%, ${clipStart}% 100%, ${clipEnd}% 100%, ${clipEnd}% 0%`,\n );\n }\n }\n\n return { start: clipPathStart, end: clipPathEnd };\n};\n\nexport function getShuttersClipPaths(\n direction: EffectFourDirections,\n shutterCount: number,\n staggered: boolean,\n reverse?: boolean,\n) {\n const { start, end } = generateShuttersClipPath(\n direction,\n shutterCount,\n staggered,\n );\n\n if (reverse) {\n start.reverse();\n end.reverse();\n }\n\n return {\n clipStart: `polygon(${start.join(', ')})`,\n clipEnd: `polygon(${end.join(', ')})`,\n };\n}\n\nexport function roundNumber(num: number, precision = 2) {\n return parseFloat(num.toFixed(precision));\n}\n\nexport function toKeyframeValue(\n custom: Record<string, string | number>,\n key: string,\n useValue = false,\n fallback = '',\n) {\n return useValue\n ? custom[key]\n : `var(${key}${fallback ? `,${fallback}` : ''})`;\n}\n\nexport function getTimingFactor(\n duration: number,\n delay: number,\n asString = false,\n): number | string {\n const duration_ = duration || 1;\n const delay_ = delay || 0;\n const timingFactor = roundNumber(duration_ / (duration_ + delay_));\n return asString ? timingFactor.toString().replace(/\\./g, '') : timingFactor;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["cssEasings","jsEasings","mapRange","sourceMin","sourceMax","targetMin","targetMax","num","distance2d","_ref","_ref2","x1","y1","x2","y2","Math","sqrt","getAngleInDeg","p1","p2","offset","angle","atan2","PI","INITIAL_FRAME_OFFSET","CLIP_POLYGON_TEMPLATES","initial","_ref3","top","bottom","left","right","_ref4","minimum","_ref5","center","_ref6","centerX","centerY","_ref7","_ref8","vertical","_ref9","horizontal","_ref0","getClipPolygonParams","_ref1","direction","scaleX","scaleY","getAdjustedDirection","availableDirections","angleInDeg","index","indexOf","length","shiftBy","round","newIndex","transformPolarToXY","distance","radians","x","cos","y","sin","getCssUnits","type","getEasing","easing","linear","getJsEasing","undefined","getEasingFamily","in","inOut","out","ease","replace","MOUSE_TRANSITION_EASING_MAP","easeOut","hardBackOut","elastic","bounce","getMouseTransitionEasing","value","getOutOfScreenDistance","angleInRad","angleCos","angleSin","xDirection","sign","yDirection","xDistance","yDistance","hypotenuse","hypotX","hypotY","getElementOffset","element","parent","offsetLeft","offsetTop","offsetParent","generateShuttersClipPath","shutterCount","staggered","isTopOrLeft","iterStart","iterEnd","inc","isVerticalPath","clipPathStart","clipPathEnd","i","shutterEndPosInPercentage","clipStart","clipEnd","staggerFactor","push","start","end","getShuttersClipPaths","reverse","join","roundNumber","precision","parseFloat","toFixed","toKeyframeValue","custom","key","useValue","fallback","getTimingFactor","duration","delay","asString","duration_","delay_","timingFactor","toString"],"sources":["../../src/utils.ts"],"sourcesContent":["import { cssEasings, jsEasings } from './easings';\nimport type {\n ScrubTransitionEasing,\n EffectFourDirections,\n Point,\n} from './types';\n\n/**\n * Map a value from one range 'a' to different range 'b'\n *\n * @param sourceMin - The minimum value of the source range\n * @param sourceMax - The maximum value of the source range\n * @param targetMin - The minimum value of the target range\n * @param targetMax - The maximum value of the target range\n * @param num - The number to map\n * @returns The mapped value\n */\nexport function mapRange(\n sourceMin: number,\n sourceMax: number,\n targetMin: number,\n targetMax: number,\n num: number,\n): number {\n return (\n ((num - sourceMin) * (targetMax - targetMin)) / (sourceMax - sourceMin) +\n targetMin\n );\n}\n\n/**\n * Get the distance between 2 points\n *\n * @param p1 - The first point [x1, y1]\n * @param p2 - The second point [x2, y2]\n * @returns The distance between the two points\n */\nexport function distance2d([x1, y1]: Point, [x2, y2]: Point): number {\n return Math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2);\n}\n\n/**\n * Get the angle between 2 points in degrees clamped between 0 and 360\n * Pass the third argument \"offset\" to rotate the angle source,\n * for example use 90 to move angle 0 to the top\n *\n * @param p1 - The first point [x1, y1]\n * @param p2 - The second point [x2, y2]\n * @param offset - The angle offset (default: 0)\n * @returns The angle between the two points in degrees\n */\nexport function getAngleInDeg(\n p1: Point = [0, 0],\n p2: Point = [0, 0],\n offset: number = 0,\n): number {\n const angle = (Math.atan2(p2[1] - p1[1], p2[0] - p1[0]) * 180) / Math.PI;\n return (360 + offset + angle) % 360;\n}\n\nexport const INITIAL_FRAME_OFFSET = 1e-6;\n\nexport type Direction =\n | 'initial'\n | 'top'\n | 'right'\n | 'center'\n | 'bottom'\n | 'left'\n | 'vertical'\n | 'horizontal';\n\ntype ClipPolygonTemplateParams = {\n top: number;\n bottom: number;\n left: number;\n right: number;\n centerX: number;\n centerY: number;\n minimum: number;\n};\n\nconst CLIP_POLYGON_TEMPLATES: Record<\n Direction,\n (params: ClipPolygonTemplateParams) => string\n> = {\n initial: ({ top, bottom, left, right }) =>\n `${left}% ${top}%, ${right}% ${top}%, ${right}% ${bottom}%, ${left}% ${bottom}%`,\n top: ({ top, left, right, minimum }) =>\n `${left}% ${top}%, ${right}% ${top}%, ${right}% ${\n top + minimum\n }%, ${left}% ${top + minimum}%`,\n right: ({ top, bottom, right, minimum }) =>\n `${right - minimum}% ${top}%, ${right}% ${top}%, ${right}% ${bottom}%, ${\n right - minimum\n }% ${bottom}%`,\n center: ({ centerX, centerY, minimum }) =>\n `${centerX - minimum / 2}% ${centerY - minimum / 2}%, ${\n centerX + minimum / 2\n }% ${centerY - minimum / 2}%, ${centerX + minimum / 2}% ${\n centerY + minimum / 2\n }%, ${centerX - minimum / 2}% ${centerY + minimum / 2}%`,\n bottom: ({ bottom, left, right, minimum }) =>\n `${left}% ${bottom - minimum}%, ${right}% ${\n bottom - minimum\n }%, ${right}% ${bottom}%, ${left}% ${bottom}%`,\n left: ({ top, bottom, left, minimum }) =>\n `${left}% ${top}%, ${left + minimum}% ${top}%, ${\n left + minimum\n }% ${bottom}%, ${left}% ${bottom}%`,\n vertical: ({ top, bottom, left, right, minimum }) =>\n `${left}% ${top + minimum / 2}%, ${right}% ${\n top + minimum / 2\n }%, ${right}% ${bottom - minimum / 2}%, ${left}% ${bottom - minimum / 2}%`,\n horizontal: ({ top, bottom, left, right, minimum }) =>\n `${left + minimum / 2}% ${top}%, ${right - minimum / 2}% ${top}%, ${\n right - minimum / 2\n }% ${bottom}%, ${left + minimum / 2}% ${bottom}%`,\n};\n\nexport function getClipPolygonParams({\n direction,\n scaleX = 1,\n scaleY = 1,\n minimum = 0,\n}: {\n direction: Direction;\n scaleX?: number;\n scaleY?: number;\n minimum?: number;\n}) {\n const top = ((1 - scaleY) / 2) * 100;\n const left = ((1 - scaleX) / 2) * 100;\n const right = 100 + left - (1 - scaleX) * 100;\n const bottom = 100 + top - (1 - scaleY) * 100;\n const centerX = (right + left) / 2;\n const centerY = (bottom + top) / 2;\n\n return `polygon(${CLIP_POLYGON_TEMPLATES[direction]({\n top,\n bottom,\n left,\n right,\n centerX,\n centerY,\n minimum,\n })})`;\n}\n\n/**\n * Adjust direction by angle from predefined list\n */\nexport function getAdjustedDirection(\n availableDirections: string[],\n direction: string,\n angleInDeg: number,\n) {\n const index = availableDirections.indexOf(direction);\n const length = availableDirections.length;\n const shiftBy = Math.round(((angleInDeg || 0) / 360) * length);\n const newIndex = (index + (length - 1) * shiftBy) % length; // eslint-disable-line no-mixed-operators\n return availableDirections[newIndex];\n}\n\nexport function transformPolarToXY(angle: number, distance: number) {\n const radians = (angle * Math.PI) / 180;\n const x = Math.cos(radians) * distance;\n const y = Math.sin(radians) * distance;\n return [x, y];\n}\n\nexport function getCssUnits(type: 'percentage' | string) {\n return type === 'percentage' ? '%' : type || 'px';\n}\n\nexport function getEasing(easing?: keyof typeof cssEasings | string): string {\n return easing\n ? cssEasings[easing as keyof typeof cssEasings] || easing\n : cssEasings.linear;\n}\n\nexport function getJsEasing(\n easing?: keyof typeof jsEasings | string,\n): ((t: number) => number) | undefined {\n return easing ? jsEasings[easing as keyof typeof jsEasings] : undefined;\n}\n\nexport function getEasingFamily(easing: string) {\n if (!cssEasings[easing as keyof typeof cssEasings]) {\n return {\n in: easing,\n inOut: easing,\n out: easing,\n };\n }\n\n const ease = easing.replace(/In|Out/g, '');\n if (ease === 'linear') {\n return {\n in: `linear`,\n inOut: `linear`,\n out: `linear`,\n };\n }\n\n return {\n in: `${ease}In`,\n inOut: `${ease}InOut`,\n out: `${ease}Out`,\n };\n}\n\nconst MOUSE_TRANSITION_EASING_MAP: Record<ScrubTransitionEasing, string> = {\n linear: 'linear',\n easeOut: 'ease-out',\n hardBackOut: 'cubic-bezier(0.58, 2.5, 0, 0.95)',\n elastic:\n 'linear( 0, 0.2178 2.1%, 1.1144 8.49%, 1.2959 10.7%, 1.3463 11.81%, 1.3705 12.94%, 1.3726, 1.3643 14.48%, 1.3151 16.2%, 1.0317 21.81%, 0.941 24.01%, 0.8912 25.91%, 0.8694 27.84%, 0.8698 29.21%, 0.8824 30.71%, 1.0122 38.33%, 1.0357, 1.046 42.71%, 1.0416 45.7%, 0.9961 53.26%, 0.9839 57.54%, 0.9853 60.71%, 1.0012 68.14%, 1.0056 72.24%, 0.9981 86.66%, 1 )',\n bounce:\n 'linear( 0, 0.0039, 0.0157, 0.0352, 0.0625 9.09%, 0.1407, 0.25, 0.3908, 0.5625, 0.7654, 1, 0.8907, 0.8125 45.45%, 0.7852, 0.7657, 0.7539, 0.75, 0.7539, 0.7657, 0.7852, 0.8125 63.64%, 0.8905, 1 72.73%, 0.9727, 0.9532, 0.9414, 0.9375, 0.9414, 0.9531, 0.9726, 1, 0.9883, 0.9844, 0.9883, 1 )',\n};\n\nexport function getMouseTransitionEasing(value?: ScrubTransitionEasing) {\n return (value && MOUSE_TRANSITION_EASING_MAP[value]) || 'linear';\n}\n\nexport function getOutOfScreenDistance(angle: number) {\n const angleInRad = (angle * Math.PI) / 180;\n const angleCos = Math.round(Math.cos(angleInRad) * 10) / 10;\n const angleSin = Math.round(Math.sin(angleInRad) * 10) / 10;\n\n // Calculate x and y direction based on angle\n const xDirection = Math.sign(angleCos);\n const yDirection = Math.sign(angleSin);\n const left = `var(--motion-left, 0px)`;\n const top = `var(--motion-top, 0px)`;\n\n // Calculate x and y distances between component and stage\n const xDistance = xDirection\n ? xDirection === -1\n ? `(-1 * ${left} - 100%)`\n : `(100vw - ${left})`\n : 0;\n const yDistance = yDirection\n ? yDirection === -1\n ? `(-1 * ${top} - 100%)`\n : `(100vh - ${top})`\n : 0;\n\n // Calculate hypotenuse\n let hypotenuse;\n const hypotX = `calc(${xDistance} / ${angleCos})`;\n const hypotY = `calc(${yDistance} / ${angleSin})`;\n\n if (!angleCos) {\n hypotenuse = hypotY;\n } else if (!angleSin) {\n hypotenuse = hypotX;\n } else {\n hypotenuse = `min(${hypotY}, ${hypotX})`;\n }\n\n return {\n // distance: Math.abs(hypotenuse),\n x: `calc(${hypotenuse} * ${angleCos})`,\n y: `calc(${hypotenuse} * ${angleSin})`,\n };\n}\n\nexport function getElementOffset(element: HTMLElement, parent?: HTMLElement) {\n let left = element.offsetLeft;\n let top = element.offsetTop;\n let offsetParent = element.offsetParent as HTMLElement;\n\n while (offsetParent) {\n if (parent && offsetParent === parent) {\n break;\n }\n\n left += offsetParent.offsetLeft;\n top += offsetParent.offsetTop;\n offsetParent = offsetParent.offsetParent as HTMLElement;\n }\n\n return { left, top };\n}\n\nconst generateShuttersClipPath = (\n direction: EffectFourDirections,\n shutterCount: number,\n staggered: boolean,\n) => {\n const isTopOrLeft = direction === 'top' || direction === 'left';\n const iterStart = isTopOrLeft ? shutterCount : 0;\n const iterEnd = isTopOrLeft ? 0 : shutterCount;\n const inc = isTopOrLeft ? -1 : 1;\n\n const isVerticalPath = direction === 'top' || direction === 'bottom';\n\n const clipPathStart: string[] = [];\n const clipPathEnd: string[] = [];\n\n for (let i = iterStart; i !== iterEnd; i += inc) {\n const shutterEndPosInPercentage = 100 * ((i + inc) / shutterCount);\n const clipStart = (100 * (i / shutterCount)) | 0;\n let clipEnd;\n\n if (staggered) {\n const staggerFactor = isTopOrLeft\n ? 1 + (shutterCount - i) / shutterCount\n : 1 + i / shutterCount;\n // staggerFactor changes the speed in which the current shutter completes its animation.\n // case = 1: shutter closes at normal rate (as if there is no stagger at all)\n // case > 1: shutter closes faster (the bigger it is, the faster it closes)\n\n clipEnd = isTopOrLeft\n ? 100 - (100 - shutterEndPosInPercentage) * staggerFactor\n : shutterEndPosInPercentage * staggerFactor;\n } else {\n clipEnd = shutterEndPosInPercentage;\n }\n\n clipEnd |= 0;\n\n if (isVerticalPath) {\n clipPathStart.push(\n `0% ${clipStart}%, 100% ${clipStart}%, 100% ${clipStart}%, 0% ${clipStart}%`,\n );\n clipPathEnd.push(\n `0% ${clipStart}%, 100% ${clipStart}%, 100% ${clipEnd}%, 0% ${clipEnd}%`,\n );\n } else {\n clipPathStart.push(\n `${clipStart}% 0%, ${clipStart}% 100%, ${clipStart}% 100%, ${clipStart}% 0%`,\n );\n clipPathEnd.push(\n `${clipStart}% 0%, ${clipStart}% 100%, ${clipEnd}% 100%, ${clipEnd}% 0%`,\n );\n }\n }\n\n return { start: clipPathStart, end: clipPathEnd };\n};\n\nexport function getShuttersClipPaths(\n direction: EffectFourDirections,\n shutterCount: number,\n staggered: boolean,\n reverse?: boolean,\n) {\n const { start, end } = generateShuttersClipPath(\n direction,\n shutterCount,\n staggered,\n );\n\n if (reverse) {\n start.reverse();\n end.reverse();\n }\n\n return {\n clipStart: `polygon(${start.join(', ')})`,\n clipEnd: `polygon(${end.join(', ')})`,\n };\n}\n\nexport function roundNumber(num: number, precision = 2) {\n return parseFloat(num.toFixed(precision));\n}\n\nexport function toKeyframeValue(\n custom: Record<string, string | number>,\n key: string,\n useValue = false,\n fallback = '',\n) {\n return useValue\n ? custom[key]\n : `var(${key}${fallback ? `,${fallback}` : ''})`;\n}\n\nexport function getTimingFactor(\n duration: number,\n delay: number,\n asString = false,\n): number | string {\n const duration_ = duration || 1;\n const delay_ = delay || 0;\n const timingFactor = roundNumber(duration_ / (duration_ + delay_));\n return asString ? timingFactor.toString().replace(/\\./g, '') : timingFactor;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -2,6 +2,6 @@ import type { AnimationOptions, MouseAnimationInstance, TriggerVariant } from '.
2
2
  import { AnimationGroup } from '../AnimationGroup';
3
3
  declare function getWebAnimation(target: HTMLElement | string | null, animationOptions: AnimationOptions, trigger?: Partial<TriggerVariant> & {
4
4
  element?: HTMLElement;
5
- }, options?: Record<string, any>, ownerDocument?: Document): AnimationGroup | MouseAnimationInstance;
5
+ }, options?: Record<string, any>, ownerDocument?: Document): AnimationGroup | MouseAnimationInstance | null;
6
6
  export { getWebAnimation };
7
7
  //# sourceMappingURL=webAnimations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"webAnimations.d.ts","sourceRoot":"","sources":["../../../src/api/webAnimations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,gBAAgB,EAEhB,sBAAsB,EAEtB,cAAc,EAEf,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AA+CnD,iBAAS,eAAe,CACtB,MAAM,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,EACnC,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,WAAW,CAAA;CAAE,EAC7D,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7B,aAAa,CAAC,EAAE,QAAQ,GACvB,cAAc,GAAG,sBAAsB,CAoJzC;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"webAnimations.d.ts","sourceRoot":"","sources":["../../../src/api/webAnimations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,gBAAgB,EAEhB,sBAAsB,EAEtB,cAAc,EAEf,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AA+CnD,iBAAS,eAAe,CACtB,MAAM,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,EACnC,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,WAAW,CAAA;CAAE,EAC7D,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7B,aAAa,CAAC,EAAE,QAAQ,GACvB,cAAc,GAAG,sBAAsB,GAAG,IAAI,CA2JhD;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -8,7 +8,7 @@ declare function getElementCSSAnimation(target: HTMLElement | string | null, ani
8
8
  declare function getElementAnimation(target: HTMLElement | string, effectId: string): AnimationGroup | null;
9
9
  declare function getScrubScene(target: HTMLElement | string | null, animationOptions: AnimationOptions, trigger: Partial<TriggerVariant> & {
10
10
  element?: HTMLElement;
11
- }, sceneOptions?: Record<string, any>): ScrubScrollScene[] | ScrubPointerScene;
11
+ }, sceneOptions?: Record<string, any>): ScrubScrollScene[] | ScrubPointerScene | null;
12
12
  declare function getAnimation(target: HTMLElement | string | null, animationOptions: AnimationOptions, trigger?: Partial<TriggerVariant> & {
13
13
  element?: HTMLElement;
14
14
  }, reducedMotion?: boolean): AnimationGroup | MouseAnimationInstance | null;
@@ -1 +1 @@
1
- {"version":3,"file":"motion.d.ts","sourceRoot":"","sources":["../../src/motion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAEhB,cAAc,EACd,sBAAsB,EAGtB,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAe,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGjD,iBAAS,sBAAsB,CAC7B,MAAM,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,EACnC,gBAAgB,EAAE,gBAAgB,GACjC,cAAc,GAAG,IAAI,CAuCvB;AAED,iBAAS,mBAAmB,CAC1B,MAAM,EAAE,WAAW,GAAG,MAAM,EAC5B,QAAQ,EAAE,MAAM,GACf,cAAc,GAAG,IAAI,CAYvB;AAED,iBAAS,aAAa,CACpB,MAAM,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,EACnC,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,WAAW,CAAA;CAAE,EAC5D,YAAY,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GACrC,gBAAgB,EAAE,GAAG,iBAAiB,CAqFxC;AAED,iBAAS,YAAY,CACnB,MAAM,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,EACnC,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,WAAW,CAAA;CAAE,EAC7D,aAAa,GAAE,OAAe,GAC7B,cAAc,GAAG,sBAAsB,GAAG,IAAI,CAYhD;AAED,OAAO,EACL,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,SAAS,GACV,CAAC;AAEF,YAAY,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"motion.d.ts","sourceRoot":"","sources":["../../src/motion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAEhB,cAAc,EACd,sBAAsB,EAGtB,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAe,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGjD,iBAAS,sBAAsB,CAC7B,MAAM,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,EACnC,gBAAgB,EAAE,gBAAgB,GACjC,cAAc,GAAG,IAAI,CAuCvB;AAED,iBAAS,mBAAmB,CAC1B,MAAM,EAAE,WAAW,GAAG,MAAM,EAC5B,QAAQ,EAAE,MAAM,GACf,cAAc,GAAG,IAAI,CAYvB;AAED,iBAAS,aAAa,CACpB,MAAM,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,EACnC,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,WAAW,CAAA;CAAE,EAC5D,YAAY,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GACrC,gBAAgB,EAAE,GAAG,iBAAiB,GAAG,IAAI,CAyF/C;AAED,iBAAS,YAAY,CACnB,MAAM,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,EACnC,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,WAAW,CAAA;CAAE,EAC7D,aAAa,GAAE,OAAe,GAC7B,cAAc,GAAG,sBAAsB,GAAG,IAAI,CAYhD;AAED,OAAO,EACL,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,SAAS,GACV,CAAC;AAEF,YAAY,EAAE,cAAc,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wix/motion",
3
- "version": "1.658.0",
3
+ "version": "1.660.0",
4
4
  "license": "UNLICENSED",
5
5
  "author": {
6
6
  "name": "wow!Team",
@@ -83,5 +83,5 @@
83
83
  "wallaby": {
84
84
  "autoDetect": true
85
85
  },
86
- "falconPackageHash": "883c85ba1d1e2599c82aed9f9a9eff9d7403600364de9e259665cf18"
86
+ "falconPackageHash": "2503d09d4bd7e37071b86e5db0e058e25ce467053c73727d251b422e"
87
87
  }