@wix/motion 1.0.73 → 1.572.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.
Files changed (696) hide show
  1. package/README.md +3 -0
  2. package/dist/cjs/AnimationGroup.js +92 -0
  3. package/dist/cjs/AnimationGroup.js.map +1 -0
  4. package/dist/cjs/api/common.js +123 -0
  5. package/dist/cjs/api/common.js.map +1 -0
  6. package/dist/cjs/api/cssAnimations.js +58 -0
  7. package/dist/cjs/api/cssAnimations.js.map +1 -0
  8. package/dist/cjs/api/prepare.js +20 -0
  9. package/dist/cjs/api/prepare.js.map +1 -0
  10. package/dist/cjs/api/webAnimations.js +140 -0
  11. package/dist/cjs/api/webAnimations.js.map +1 -0
  12. package/dist/cjs/easings.js +272 -0
  13. package/dist/cjs/easings.js.map +1 -0
  14. package/dist/cjs/external-types.d.js +2 -0
  15. package/dist/cjs/external-types.d.js.map +1 -0
  16. package/dist/cjs/index.js +16 -0
  17. package/dist/cjs/index.js.map +1 -0
  18. package/dist/cjs/library/backgroundScroll/BgCloseUp.js +74 -0
  19. package/dist/cjs/library/backgroundScroll/BgCloseUp.js.map +1 -0
  20. package/dist/cjs/library/backgroundScroll/BgFade.js +51 -0
  21. package/dist/cjs/library/backgroundScroll/BgFade.js.map +1 -0
  22. package/dist/cjs/library/backgroundScroll/BgFadeBack.js +73 -0
  23. package/dist/cjs/library/backgroundScroll/BgFadeBack.js.map +1 -0
  24. package/dist/cjs/library/backgroundScroll/BgFake3D.js +103 -0
  25. package/dist/cjs/library/backgroundScroll/BgFake3D.js.map +1 -0
  26. package/dist/cjs/library/backgroundScroll/BgPan.js +50 -0
  27. package/dist/cjs/library/backgroundScroll/BgPan.js.map +1 -0
  28. package/dist/cjs/library/backgroundScroll/BgParallax.js +43 -0
  29. package/dist/cjs/library/backgroundScroll/BgParallax.js.map +1 -0
  30. package/dist/cjs/library/backgroundScroll/BgPullBack.js +45 -0
  31. package/dist/cjs/library/backgroundScroll/BgPullBack.js.map +1 -0
  32. package/dist/cjs/library/backgroundScroll/BgReveal.js +14 -0
  33. package/dist/cjs/library/backgroundScroll/BgReveal.js.map +1 -0
  34. package/dist/cjs/library/backgroundScroll/BgRotate.js +37 -0
  35. package/dist/cjs/library/backgroundScroll/BgRotate.js.map +1 -0
  36. package/dist/cjs/library/backgroundScroll/BgSkew.js +44 -0
  37. package/dist/cjs/library/backgroundScroll/BgSkew.js.map +1 -0
  38. package/dist/cjs/library/backgroundScroll/BgZoom.js +125 -0
  39. package/dist/cjs/library/backgroundScroll/BgZoom.js.map +1 -0
  40. package/dist/cjs/library/backgroundScroll/ImageParallax.js +58 -0
  41. package/dist/cjs/library/backgroundScroll/ImageParallax.js.map +1 -0
  42. package/dist/cjs/library/backgroundScroll/index.js +32 -0
  43. package/dist/cjs/library/backgroundScroll/index.js.map +1 -0
  44. package/dist/cjs/library/backgroundScroll/test/testUtils.js +9 -0
  45. package/dist/cjs/library/backgroundScroll/test/testUtils.js.map +1 -0
  46. package/dist/cjs/library/backgroundScroll/utils.js +37 -0
  47. package/dist/cjs/library/backgroundScroll/utils.js.map +1 -0
  48. package/dist/cjs/library/entrance/ArcIn.js +110 -0
  49. package/dist/cjs/library/entrance/ArcIn.js.map +1 -0
  50. package/dist/cjs/library/entrance/BlurIn.js +56 -0
  51. package/dist/cjs/library/entrance/BlurIn.js.map +1 -0
  52. package/dist/cjs/library/entrance/BounceIn.js +143 -0
  53. package/dist/cjs/library/entrance/BounceIn.js.map +1 -0
  54. package/dist/cjs/library/entrance/CircleIn.js +75 -0
  55. package/dist/cjs/library/entrance/CircleIn.js.map +1 -0
  56. package/dist/cjs/library/entrance/CurveIn.js +80 -0
  57. package/dist/cjs/library/entrance/CurveIn.js.map +1 -0
  58. package/dist/cjs/library/entrance/DropIn.js +64 -0
  59. package/dist/cjs/library/entrance/DropIn.js.map +1 -0
  60. package/dist/cjs/library/entrance/ExpandIn.js +121 -0
  61. package/dist/cjs/library/entrance/ExpandIn.js.map +1 -0
  62. package/dist/cjs/library/entrance/FadeIn.js +27 -0
  63. package/dist/cjs/library/entrance/FadeIn.js.map +1 -0
  64. package/dist/cjs/library/entrance/FlipIn.js +107 -0
  65. package/dist/cjs/library/entrance/FlipIn.js.map +1 -0
  66. package/dist/cjs/library/entrance/FloatIn.js +67 -0
  67. package/dist/cjs/library/entrance/FloatIn.js.map +1 -0
  68. package/dist/cjs/library/entrance/FoldIn.js +134 -0
  69. package/dist/cjs/library/entrance/FoldIn.js.map +1 -0
  70. package/dist/cjs/library/entrance/GlideIn.js +89 -0
  71. package/dist/cjs/library/entrance/GlideIn.js.map +1 -0
  72. package/dist/cjs/library/entrance/GlitchIn.js +29 -0
  73. package/dist/cjs/library/entrance/GlitchIn.js.map +1 -0
  74. package/dist/cjs/library/entrance/GrowIn.js +66 -0
  75. package/dist/cjs/library/entrance/GrowIn.js.map +1 -0
  76. package/dist/cjs/library/entrance/PunchIn.js +178 -0
  77. package/dist/cjs/library/entrance/PunchIn.js.map +1 -0
  78. package/dist/cjs/library/entrance/RevealIn.js +72 -0
  79. package/dist/cjs/library/entrance/RevealIn.js.map +1 -0
  80. package/dist/cjs/library/entrance/ShapeIn.js +75 -0
  81. package/dist/cjs/library/entrance/ShapeIn.js.map +1 -0
  82. package/dist/cjs/library/entrance/ShuttersIn.js +48 -0
  83. package/dist/cjs/library/entrance/ShuttersIn.js.map +1 -0
  84. package/dist/cjs/library/entrance/SlideIn.js +140 -0
  85. package/dist/cjs/library/entrance/SlideIn.js.map +1 -0
  86. package/dist/cjs/library/entrance/SpinIn.js +65 -0
  87. package/dist/cjs/library/entrance/SpinIn.js.map +1 -0
  88. package/dist/cjs/library/entrance/TiltIn.js +102 -0
  89. package/dist/cjs/library/entrance/TiltIn.js.map +1 -0
  90. package/dist/cjs/library/entrance/TurnIn.js +85 -0
  91. package/dist/cjs/library/entrance/TurnIn.js.map +1 -0
  92. package/dist/cjs/library/entrance/WinkIn.js +115 -0
  93. package/dist/cjs/library/entrance/WinkIn.js.map +1 -0
  94. package/dist/cjs/library/entrance/index.js +55 -0
  95. package/dist/cjs/library/entrance/index.js.map +1 -0
  96. package/dist/cjs/library/entrance/test/testUtils.js +9 -0
  97. package/dist/cjs/library/entrance/test/testUtils.js.map +1 -0
  98. package/dist/cjs/library/mouse/AiryMouse.js +76 -0
  99. package/dist/cjs/library/mouse/AiryMouse.js.map +1 -0
  100. package/dist/cjs/library/mouse/BlobMouse.js +70 -0
  101. package/dist/cjs/library/mouse/BlobMouse.js.map +1 -0
  102. package/dist/cjs/library/mouse/BlurMouse.js +94 -0
  103. package/dist/cjs/library/mouse/BlurMouse.js.map +1 -0
  104. package/dist/cjs/library/mouse/BounceMouse.js +26 -0
  105. package/dist/cjs/library/mouse/BounceMouse.js.map +1 -0
  106. package/dist/cjs/library/mouse/CustomMouse.js +62 -0
  107. package/dist/cjs/library/mouse/CustomMouse.js.map +1 -0
  108. package/dist/cjs/library/mouse/ScaleMouse.js +98 -0
  109. package/dist/cjs/library/mouse/ScaleMouse.js.map +1 -0
  110. package/dist/cjs/library/mouse/SkewMouse.js +92 -0
  111. package/dist/cjs/library/mouse/SkewMouse.js.map +1 -0
  112. package/dist/cjs/library/mouse/SpinMouse.js +41 -0
  113. package/dist/cjs/library/mouse/SpinMouse.js.map +1 -0
  114. package/dist/cjs/library/mouse/SwivelMouse.js +85 -0
  115. package/dist/cjs/library/mouse/SwivelMouse.js.map +1 -0
  116. package/dist/cjs/library/mouse/Tilt3DMouse.js +65 -0
  117. package/dist/cjs/library/mouse/Tilt3DMouse.js.map +1 -0
  118. package/dist/cjs/library/mouse/Track3DMouse.js +87 -0
  119. package/dist/cjs/library/mouse/Track3DMouse.js.map +1 -0
  120. package/dist/cjs/library/mouse/TrackMouse.js +65 -0
  121. package/dist/cjs/library/mouse/TrackMouse.js.map +1 -0
  122. package/dist/cjs/library/mouse/index.js +32 -0
  123. package/dist/cjs/library/mouse/index.js.map +1 -0
  124. package/dist/cjs/library/ongoing/Blink.js +120 -0
  125. package/dist/cjs/library/ongoing/Blink.js.map +1 -0
  126. package/dist/cjs/library/ongoing/Bounce.js +92 -0
  127. package/dist/cjs/library/ongoing/Bounce.js.map +1 -0
  128. package/dist/cjs/library/ongoing/Breathe.js +124 -0
  129. package/dist/cjs/library/ongoing/Breathe.js.map +1 -0
  130. package/dist/cjs/library/ongoing/Cross.js +262 -0
  131. package/dist/cjs/library/ongoing/Cross.js.map +1 -0
  132. package/dist/cjs/library/ongoing/DVD.js +84 -0
  133. package/dist/cjs/library/ongoing/DVD.js.map +1 -0
  134. package/dist/cjs/library/ongoing/Flash.js +45 -0
  135. package/dist/cjs/library/ongoing/Flash.js.map +1 -0
  136. package/dist/cjs/library/ongoing/Flip.js +67 -0
  137. package/dist/cjs/library/ongoing/Flip.js.map +1 -0
  138. package/dist/cjs/library/ongoing/Fold.js +167 -0
  139. package/dist/cjs/library/ongoing/Fold.js.map +1 -0
  140. package/dist/cjs/library/ongoing/Jello.js +72 -0
  141. package/dist/cjs/library/ongoing/Jello.js.map +1 -0
  142. package/dist/cjs/library/ongoing/Poke.js +102 -0
  143. package/dist/cjs/library/ongoing/Poke.js.map +1 -0
  144. package/dist/cjs/library/ongoing/Pulse.js +75 -0
  145. package/dist/cjs/library/ongoing/Pulse.js.map +1 -0
  146. package/dist/cjs/library/ongoing/Rubber.js +92 -0
  147. package/dist/cjs/library/ongoing/Rubber.js.map +1 -0
  148. package/dist/cjs/library/ongoing/Spin.js +55 -0
  149. package/dist/cjs/library/ongoing/Spin.js.map +1 -0
  150. package/dist/cjs/library/ongoing/Swing.js +130 -0
  151. package/dist/cjs/library/ongoing/Swing.js.map +1 -0
  152. package/dist/cjs/library/ongoing/Wiggle.js +88 -0
  153. package/dist/cjs/library/ongoing/Wiggle.js.map +1 -0
  154. package/dist/cjs/library/ongoing/index.js +41 -0
  155. package/dist/cjs/library/ongoing/index.js.map +1 -0
  156. package/dist/cjs/library/ongoing/test/testUtils.js +9 -0
  157. package/dist/cjs/library/ongoing/test/testUtils.js.map +1 -0
  158. package/dist/cjs/library/scroll/ArcScroll.js +58 -0
  159. package/dist/cjs/library/scroll/ArcScroll.js.map +1 -0
  160. package/dist/cjs/library/scroll/BlurScroll.js +43 -0
  161. package/dist/cjs/library/scroll/BlurScroll.js.map +1 -0
  162. package/dist/cjs/library/scroll/FadeScroll.js +36 -0
  163. package/dist/cjs/library/scroll/FadeScroll.js.map +1 -0
  164. package/dist/cjs/library/scroll/FlipScroll.js +50 -0
  165. package/dist/cjs/library/scroll/FlipScroll.js.map +1 -0
  166. package/dist/cjs/library/scroll/GrowScroll.js +160 -0
  167. package/dist/cjs/library/scroll/GrowScroll.js.map +1 -0
  168. package/dist/cjs/library/scroll/MoveScroll.js +123 -0
  169. package/dist/cjs/library/scroll/MoveScroll.js.map +1 -0
  170. package/dist/cjs/library/scroll/PanScroll.js +77 -0
  171. package/dist/cjs/library/scroll/PanScroll.js.map +1 -0
  172. package/dist/cjs/library/scroll/ParallaxScroll.js +56 -0
  173. package/dist/cjs/library/scroll/ParallaxScroll.js.map +1 -0
  174. package/dist/cjs/library/scroll/RevealScroll.js +92 -0
  175. package/dist/cjs/library/scroll/RevealScroll.js.map +1 -0
  176. package/dist/cjs/library/scroll/ShapeScroll.js +114 -0
  177. package/dist/cjs/library/scroll/ShapeScroll.js.map +1 -0
  178. package/dist/cjs/library/scroll/ShrinkScroll.js +157 -0
  179. package/dist/cjs/library/scroll/ShrinkScroll.js.map +1 -0
  180. package/dist/cjs/library/scroll/ShuttersScroll.js +67 -0
  181. package/dist/cjs/library/scroll/ShuttersScroll.js.map +1 -0
  182. package/dist/cjs/library/scroll/SkewPanScroll.js +113 -0
  183. package/dist/cjs/library/scroll/SkewPanScroll.js.map +1 -0
  184. package/dist/cjs/library/scroll/SlideScroll.js +115 -0
  185. package/dist/cjs/library/scroll/SlideScroll.js.map +1 -0
  186. package/dist/cjs/library/scroll/Spin3dScroll.js +119 -0
  187. package/dist/cjs/library/scroll/Spin3dScroll.js.map +1 -0
  188. package/dist/cjs/library/scroll/SpinScroll.js +51 -0
  189. package/dist/cjs/library/scroll/SpinScroll.js.map +1 -0
  190. package/dist/cjs/library/scroll/StretchScroll.js +105 -0
  191. package/dist/cjs/library/scroll/StretchScroll.js.map +1 -0
  192. package/dist/cjs/library/scroll/TiltScroll.js +129 -0
  193. package/dist/cjs/library/scroll/TiltScroll.js.map +1 -0
  194. package/dist/cjs/library/scroll/TurnScroll.js +125 -0
  195. package/dist/cjs/library/scroll/TurnScroll.js.map +1 -0
  196. package/dist/cjs/library/scroll/index.js +46 -0
  197. package/dist/cjs/library/scroll/index.js.map +1 -0
  198. package/dist/cjs/library/scroll/test/testUtils.js +9 -0
  199. package/dist/cjs/library/scroll/test/testUtils.js.map +1 -0
  200. package/dist/cjs/motion.js +130 -0
  201. package/dist/cjs/motion.js.map +1 -0
  202. package/dist/cjs/playground/animationMotionBgScroll.stories.js +371 -0
  203. package/dist/cjs/playground/animationMotionBgScroll.stories.js.map +1 -0
  204. package/dist/cjs/playground/animationsMotion.stories.js +200 -0
  205. package/dist/cjs/playground/animationsMotion.stories.js.map +1 -0
  206. package/dist/cjs/playground/animationsMotionMouse.stories.js +267 -0
  207. package/dist/cjs/playground/animationsMotionMouse.stories.js.map +1 -0
  208. package/dist/cjs/playground/animationsMotionOngoing.stories.js +196 -0
  209. package/dist/cjs/playground/animationsMotionOngoing.stories.js.map +1 -0
  210. package/dist/cjs/playground/animationsMotionScroll.stories.js +271 -0
  211. package/dist/cjs/playground/animationsMotionScroll.stories.js.map +1 -0
  212. package/dist/cjs/playground/controls.js +334 -0
  213. package/dist/cjs/playground/controls.js.map +1 -0
  214. package/dist/cjs/playground/mouse-parallax-components/plastic.jpeg +0 -0
  215. package/dist/cjs/playground/mouse-parallax-components/vector.svg +19 -0
  216. package/dist/cjs/playground/mouseComponent.js +114 -0
  217. package/dist/cjs/playground/mouseComponent.js.map +1 -0
  218. package/dist/cjs/playground/playground-common.js +84 -0
  219. package/dist/cjs/playground/playground-common.js.map +1 -0
  220. package/dist/cjs/playground/playground.module.scss +381 -0
  221. package/dist/cjs/test-types.d.js +2 -0
  222. package/dist/cjs/test-types.d.js.map +1 -0
  223. package/dist/cjs/types.js +2 -0
  224. package/dist/cjs/types.js.map +1 -0
  225. package/dist/cjs/utils.js +327 -0
  226. package/dist/cjs/utils.js.map +1 -0
  227. package/dist/esm/AnimationGroup.js +86 -0
  228. package/dist/esm/AnimationGroup.js.map +1 -0
  229. package/dist/esm/api/common.js +112 -0
  230. package/dist/esm/api/common.js.map +1 -0
  231. package/dist/esm/api/cssAnimations.js +53 -0
  232. package/dist/esm/api/cssAnimations.js.map +1 -0
  233. package/dist/esm/api/prepare.js +16 -0
  234. package/dist/esm/api/prepare.js.map +1 -0
  235. package/dist/esm/api/webAnimations.js +137 -0
  236. package/dist/esm/api/webAnimations.js.map +1 -0
  237. package/dist/esm/easings.js +248 -0
  238. package/dist/esm/easings.js.map +1 -0
  239. package/dist/esm/external-types.d.js +2 -0
  240. package/dist/esm/external-types.d.js.map +1 -0
  241. package/dist/esm/index.js +3 -0
  242. package/dist/esm/index.js.map +1 -0
  243. package/dist/esm/library/backgroundScroll/BgCloseUp.js +70 -0
  244. package/dist/esm/library/backgroundScroll/BgCloseUp.js.map +1 -0
  245. package/dist/esm/library/backgroundScroll/BgFade.js +47 -0
  246. package/dist/esm/library/backgroundScroll/BgFade.js.map +1 -0
  247. package/dist/esm/library/backgroundScroll/BgFadeBack.js +69 -0
  248. package/dist/esm/library/backgroundScroll/BgFadeBack.js.map +1 -0
  249. package/dist/esm/library/backgroundScroll/BgFake3D.js +99 -0
  250. package/dist/esm/library/backgroundScroll/BgFake3D.js.map +1 -0
  251. package/dist/esm/library/backgroundScroll/BgPan.js +46 -0
  252. package/dist/esm/library/backgroundScroll/BgPan.js.map +1 -0
  253. package/dist/esm/library/backgroundScroll/BgParallax.js +39 -0
  254. package/dist/esm/library/backgroundScroll/BgParallax.js.map +1 -0
  255. package/dist/esm/library/backgroundScroll/BgPullBack.js +41 -0
  256. package/dist/esm/library/backgroundScroll/BgPullBack.js.map +1 -0
  257. package/dist/esm/library/backgroundScroll/BgReveal.js +10 -0
  258. package/dist/esm/library/backgroundScroll/BgReveal.js.map +1 -0
  259. package/dist/esm/library/backgroundScroll/BgRotate.js +33 -0
  260. package/dist/esm/library/backgroundScroll/BgRotate.js.map +1 -0
  261. package/dist/esm/library/backgroundScroll/BgSkew.js +40 -0
  262. package/dist/esm/library/backgroundScroll/BgSkew.js.map +1 -0
  263. package/dist/esm/library/backgroundScroll/BgZoom.js +121 -0
  264. package/dist/esm/library/backgroundScroll/BgZoom.js.map +1 -0
  265. package/dist/esm/library/backgroundScroll/ImageParallax.js +54 -0
  266. package/dist/esm/library/backgroundScroll/ImageParallax.js.map +1 -0
  267. package/dist/esm/library/backgroundScroll/index.js +27 -0
  268. package/dist/esm/library/backgroundScroll/index.js.map +1 -0
  269. package/dist/esm/library/backgroundScroll/test/testUtils.js +5 -0
  270. package/dist/esm/library/backgroundScroll/test/testUtils.js.map +1 -0
  271. package/dist/esm/library/backgroundScroll/utils.js +31 -0
  272. package/dist/esm/library/backgroundScroll/utils.js.map +1 -0
  273. package/dist/esm/library/entrance/ArcIn.js +106 -0
  274. package/dist/esm/library/entrance/ArcIn.js.map +1 -0
  275. package/dist/esm/library/entrance/BlurIn.js +53 -0
  276. package/dist/esm/library/entrance/BlurIn.js.map +1 -0
  277. package/dist/esm/library/entrance/BounceIn.js +143 -0
  278. package/dist/esm/library/entrance/BounceIn.js.map +1 -0
  279. package/dist/esm/library/entrance/CircleIn.js +71 -0
  280. package/dist/esm/library/entrance/CircleIn.js.map +1 -0
  281. package/dist/esm/library/entrance/CurveIn.js +76 -0
  282. package/dist/esm/library/entrance/CurveIn.js.map +1 -0
  283. package/dist/esm/library/entrance/DropIn.js +61 -0
  284. package/dist/esm/library/entrance/DropIn.js.map +1 -0
  285. package/dist/esm/library/entrance/ExpandIn.js +117 -0
  286. package/dist/esm/library/entrance/ExpandIn.js.map +1 -0
  287. package/dist/esm/library/entrance/FadeIn.js +21 -0
  288. package/dist/esm/library/entrance/FadeIn.js.map +1 -0
  289. package/dist/esm/library/entrance/FlipIn.js +100 -0
  290. package/dist/esm/library/entrance/FlipIn.js.map +1 -0
  291. package/dist/esm/library/entrance/FloatIn.js +64 -0
  292. package/dist/esm/library/entrance/FloatIn.js.map +1 -0
  293. package/dist/esm/library/entrance/FoldIn.js +127 -0
  294. package/dist/esm/library/entrance/FoldIn.js.map +1 -0
  295. package/dist/esm/library/entrance/GlideIn.js +85 -0
  296. package/dist/esm/library/entrance/GlideIn.js.map +1 -0
  297. package/dist/esm/library/entrance/GlitchIn.js +22 -0
  298. package/dist/esm/library/entrance/GlitchIn.js.map +1 -0
  299. package/dist/esm/library/entrance/GrowIn.js +63 -0
  300. package/dist/esm/library/entrance/GrowIn.js.map +1 -0
  301. package/dist/esm/library/entrance/PunchIn.js +175 -0
  302. package/dist/esm/library/entrance/PunchIn.js.map +1 -0
  303. package/dist/esm/library/entrance/RevealIn.js +65 -0
  304. package/dist/esm/library/entrance/RevealIn.js.map +1 -0
  305. package/dist/esm/library/entrance/ShapeIn.js +72 -0
  306. package/dist/esm/library/entrance/ShapeIn.js.map +1 -0
  307. package/dist/esm/library/entrance/ShuttersIn.js +45 -0
  308. package/dist/esm/library/entrance/ShuttersIn.js.map +1 -0
  309. package/dist/esm/library/entrance/SlideIn.js +133 -0
  310. package/dist/esm/library/entrance/SlideIn.js.map +1 -0
  311. package/dist/esm/library/entrance/SpinIn.js +62 -0
  312. package/dist/esm/library/entrance/SpinIn.js.map +1 -0
  313. package/dist/esm/library/entrance/TiltIn.js +98 -0
  314. package/dist/esm/library/entrance/TiltIn.js.map +1 -0
  315. package/dist/esm/library/entrance/TurnIn.js +82 -0
  316. package/dist/esm/library/entrance/TurnIn.js.map +1 -0
  317. package/dist/esm/library/entrance/WinkIn.js +108 -0
  318. package/dist/esm/library/entrance/WinkIn.js.map +1 -0
  319. package/dist/esm/library/entrance/index.js +49 -0
  320. package/dist/esm/library/entrance/index.js.map +1 -0
  321. package/dist/esm/library/entrance/test/testUtils.js +5 -0
  322. package/dist/esm/library/entrance/test/testUtils.js.map +1 -0
  323. package/dist/esm/library/mouse/AiryMouse.js +73 -0
  324. package/dist/esm/library/mouse/AiryMouse.js.map +1 -0
  325. package/dist/esm/library/mouse/BlobMouse.js +67 -0
  326. package/dist/esm/library/mouse/BlobMouse.js.map +1 -0
  327. package/dist/esm/library/mouse/BlurMouse.js +91 -0
  328. package/dist/esm/library/mouse/BlurMouse.js.map +1 -0
  329. package/dist/esm/library/mouse/BounceMouse.js +21 -0
  330. package/dist/esm/library/mouse/BounceMouse.js.map +1 -0
  331. package/dist/esm/library/mouse/CustomMouse.js +56 -0
  332. package/dist/esm/library/mouse/CustomMouse.js.map +1 -0
  333. package/dist/esm/library/mouse/ScaleMouse.js +95 -0
  334. package/dist/esm/library/mouse/ScaleMouse.js.map +1 -0
  335. package/dist/esm/library/mouse/SkewMouse.js +89 -0
  336. package/dist/esm/library/mouse/SkewMouse.js.map +1 -0
  337. package/dist/esm/library/mouse/SpinMouse.js +38 -0
  338. package/dist/esm/library/mouse/SpinMouse.js.map +1 -0
  339. package/dist/esm/library/mouse/SwivelMouse.js +82 -0
  340. package/dist/esm/library/mouse/SwivelMouse.js.map +1 -0
  341. package/dist/esm/library/mouse/Tilt3DMouse.js +62 -0
  342. package/dist/esm/library/mouse/Tilt3DMouse.js.map +1 -0
  343. package/dist/esm/library/mouse/Track3DMouse.js +84 -0
  344. package/dist/esm/library/mouse/Track3DMouse.js.map +1 -0
  345. package/dist/esm/library/mouse/TrackMouse.js +62 -0
  346. package/dist/esm/library/mouse/TrackMouse.js.map +1 -0
  347. package/dist/esm/library/mouse/index.js +27 -0
  348. package/dist/esm/library/mouse/index.js.map +1 -0
  349. package/dist/esm/library/ongoing/Blink.js +115 -0
  350. package/dist/esm/library/ongoing/Blink.js.map +1 -0
  351. package/dist/esm/library/ongoing/Bounce.js +92 -0
  352. package/dist/esm/library/ongoing/Bounce.js.map +1 -0
  353. package/dist/esm/library/ongoing/Breathe.js +122 -0
  354. package/dist/esm/library/ongoing/Breathe.js.map +1 -0
  355. package/dist/esm/library/ongoing/Cross.js +273 -0
  356. package/dist/esm/library/ongoing/Cross.js.map +1 -0
  357. package/dist/esm/library/ongoing/DVD.js +79 -0
  358. package/dist/esm/library/ongoing/DVD.js.map +1 -0
  359. package/dist/esm/library/ongoing/Flash.js +42 -0
  360. package/dist/esm/library/ongoing/Flash.js.map +1 -0
  361. package/dist/esm/library/ongoing/Flip.js +64 -0
  362. package/dist/esm/library/ongoing/Flip.js.map +1 -0
  363. package/dist/esm/library/ongoing/Fold.js +165 -0
  364. package/dist/esm/library/ongoing/Fold.js.map +1 -0
  365. package/dist/esm/library/ongoing/Jello.js +70 -0
  366. package/dist/esm/library/ongoing/Jello.js.map +1 -0
  367. package/dist/esm/library/ongoing/Poke.js +100 -0
  368. package/dist/esm/library/ongoing/Poke.js.map +1 -0
  369. package/dist/esm/library/ongoing/Pulse.js +73 -0
  370. package/dist/esm/library/ongoing/Pulse.js.map +1 -0
  371. package/dist/esm/library/ongoing/Rubber.js +90 -0
  372. package/dist/esm/library/ongoing/Rubber.js.map +1 -0
  373. package/dist/esm/library/ongoing/Spin.js +52 -0
  374. package/dist/esm/library/ongoing/Spin.js.map +1 -0
  375. package/dist/esm/library/ongoing/Swing.js +128 -0
  376. package/dist/esm/library/ongoing/Swing.js.map +1 -0
  377. package/dist/esm/library/ongoing/Wiggle.js +86 -0
  378. package/dist/esm/library/ongoing/Wiggle.js.map +1 -0
  379. package/dist/esm/library/ongoing/index.js +33 -0
  380. package/dist/esm/library/ongoing/index.js.map +1 -0
  381. package/dist/esm/library/ongoing/test/testUtils.js +5 -0
  382. package/dist/esm/library/ongoing/test/testUtils.js.map +1 -0
  383. package/dist/esm/library/scroll/ArcScroll.js +54 -0
  384. package/dist/esm/library/scroll/ArcScroll.js.map +1 -0
  385. package/dist/esm/library/scroll/BlurScroll.js +39 -0
  386. package/dist/esm/library/scroll/BlurScroll.js.map +1 -0
  387. package/dist/esm/library/scroll/FadeScroll.js +32 -0
  388. package/dist/esm/library/scroll/FadeScroll.js.map +1 -0
  389. package/dist/esm/library/scroll/FlipScroll.js +46 -0
  390. package/dist/esm/library/scroll/FlipScroll.js.map +1 -0
  391. package/dist/esm/library/scroll/GrowScroll.js +157 -0
  392. package/dist/esm/library/scroll/GrowScroll.js.map +1 -0
  393. package/dist/esm/library/scroll/MoveScroll.js +120 -0
  394. package/dist/esm/library/scroll/MoveScroll.js.map +1 -0
  395. package/dist/esm/library/scroll/PanScroll.js +73 -0
  396. package/dist/esm/library/scroll/PanScroll.js.map +1 -0
  397. package/dist/esm/library/scroll/ParallaxScroll.js +53 -0
  398. package/dist/esm/library/scroll/ParallaxScroll.js.map +1 -0
  399. package/dist/esm/library/scroll/RevealScroll.js +88 -0
  400. package/dist/esm/library/scroll/RevealScroll.js.map +1 -0
  401. package/dist/esm/library/scroll/ShapeScroll.js +110 -0
  402. package/dist/esm/library/scroll/ShapeScroll.js.map +1 -0
  403. package/dist/esm/library/scroll/ShrinkScroll.js +154 -0
  404. package/dist/esm/library/scroll/ShrinkScroll.js.map +1 -0
  405. package/dist/esm/library/scroll/ShuttersScroll.js +63 -0
  406. package/dist/esm/library/scroll/ShuttersScroll.js.map +1 -0
  407. package/dist/esm/library/scroll/SkewPanScroll.js +109 -0
  408. package/dist/esm/library/scroll/SkewPanScroll.js.map +1 -0
  409. package/dist/esm/library/scroll/SlideScroll.js +111 -0
  410. package/dist/esm/library/scroll/SlideScroll.js.map +1 -0
  411. package/dist/esm/library/scroll/Spin3dScroll.js +116 -0
  412. package/dist/esm/library/scroll/Spin3dScroll.js.map +1 -0
  413. package/dist/esm/library/scroll/SpinScroll.js +47 -0
  414. package/dist/esm/library/scroll/SpinScroll.js.map +1 -0
  415. package/dist/esm/library/scroll/StretchScroll.js +101 -0
  416. package/dist/esm/library/scroll/StretchScroll.js.map +1 -0
  417. package/dist/esm/library/scroll/TiltScroll.js +126 -0
  418. package/dist/esm/library/scroll/TiltScroll.js.map +1 -0
  419. package/dist/esm/library/scroll/TurnScroll.js +121 -0
  420. package/dist/esm/library/scroll/TurnScroll.js.map +1 -0
  421. package/dist/esm/library/scroll/index.js +41 -0
  422. package/dist/esm/library/scroll/index.js.map +1 -0
  423. package/dist/esm/library/scroll/test/testUtils.js +5 -0
  424. package/dist/esm/library/scroll/test/testUtils.js.map +1 -0
  425. package/dist/esm/motion.js +124 -0
  426. package/dist/esm/motion.js.map +1 -0
  427. package/dist/esm/playground/animationMotionBgScroll.stories.js +286 -0
  428. package/dist/esm/playground/animationMotionBgScroll.stories.js.map +1 -0
  429. package/dist/esm/playground/animationsMotion.stories.js +133 -0
  430. package/dist/esm/playground/animationsMotion.stories.js.map +1 -0
  431. package/dist/esm/playground/animationsMotionMouse.stories.js +188 -0
  432. package/dist/esm/playground/animationsMotionMouse.stories.js.map +1 -0
  433. package/dist/esm/playground/animationsMotionOngoing.stories.js +129 -0
  434. package/dist/esm/playground/animationsMotionOngoing.stories.js.map +1 -0
  435. package/dist/esm/playground/animationsMotionScroll.stories.js +199 -0
  436. package/dist/esm/playground/animationsMotionScroll.stories.js.map +1 -0
  437. package/dist/esm/playground/controls.js +168 -0
  438. package/dist/esm/playground/controls.js.map +1 -0
  439. package/dist/esm/playground/mouse-parallax-components/plastic.jpeg +0 -0
  440. package/dist/esm/playground/mouse-parallax-components/vector.svg +19 -0
  441. package/dist/esm/playground/mouseComponent.js +61 -0
  442. package/dist/esm/playground/mouseComponent.js.map +1 -0
  443. package/dist/esm/playground/playground-common.js +91 -0
  444. package/dist/esm/playground/playground-common.js.map +1 -0
  445. package/dist/esm/playground/playground.module.scss +381 -0
  446. package/dist/esm/test-types.d.js +2 -0
  447. package/dist/esm/test-types.d.js.map +1 -0
  448. package/dist/esm/types.js +2 -0
  449. package/dist/esm/types.js.map +1 -0
  450. package/dist/esm/utils.js +355 -0
  451. package/dist/esm/utils.js.map +1 -0
  452. package/dist/types/AnimationGroup.d.ts +26 -0
  453. package/dist/types/AnimationGroup.d.ts.map +1 -0
  454. package/dist/types/api/common.d.ts +164 -0
  455. package/dist/types/api/common.d.ts.map +1 -0
  456. package/dist/types/api/cssAnimations.d.ts +21 -0
  457. package/dist/types/api/cssAnimations.d.ts.map +1 -0
  458. package/dist/types/api/prepare.d.ts +4 -0
  459. package/dist/types/api/prepare.d.ts.map +1 -0
  460. package/dist/types/api/webAnimations.d.ts +7 -0
  461. package/dist/types/api/webAnimations.d.ts.map +1 -0
  462. package/dist/types/easings.d.ts +217 -0
  463. package/dist/types/easings.d.ts.map +1 -0
  464. package/dist/types/index.d.ts +3 -0
  465. package/dist/types/index.d.ts.map +1 -0
  466. package/dist/types/library/backgroundScroll/BgCloseUp.d.ts +52 -0
  467. package/dist/types/library/backgroundScroll/BgCloseUp.d.ts.map +1 -0
  468. package/dist/types/library/backgroundScroll/BgFade.d.ts +28 -0
  469. package/dist/types/library/backgroundScroll/BgFade.d.ts.map +1 -0
  470. package/dist/types/library/backgroundScroll/BgFadeBack.d.ts +53 -0
  471. package/dist/types/library/backgroundScroll/BgFadeBack.d.ts.map +1 -0
  472. package/dist/types/library/backgroundScroll/BgFake3D.d.ts +52 -0
  473. package/dist/types/library/backgroundScroll/BgFake3D.d.ts.map +1 -0
  474. package/dist/types/library/backgroundScroll/BgPan.d.ts +27 -0
  475. package/dist/types/library/backgroundScroll/BgPan.d.ts.map +1 -0
  476. package/dist/types/library/backgroundScroll/BgParallax.d.ts +27 -0
  477. package/dist/types/library/backgroundScroll/BgParallax.d.ts.map +1 -0
  478. package/dist/types/library/backgroundScroll/BgPullBack.d.ts +27 -0
  479. package/dist/types/library/backgroundScroll/BgPullBack.d.ts.map +1 -0
  480. package/dist/types/library/backgroundScroll/BgReveal.d.ts +3 -0
  481. package/dist/types/library/backgroundScroll/BgReveal.d.ts.map +1 -0
  482. package/dist/types/library/backgroundScroll/BgRotate.d.ts +27 -0
  483. package/dist/types/library/backgroundScroll/BgRotate.d.ts.map +1 -0
  484. package/dist/types/library/backgroundScroll/BgSkew.d.ts +27 -0
  485. package/dist/types/library/backgroundScroll/BgSkew.d.ts.map +1 -0
  486. package/dist/types/library/backgroundScroll/BgZoom.d.ts +75 -0
  487. package/dist/types/library/backgroundScroll/BgZoom.d.ts.map +1 -0
  488. package/dist/types/library/backgroundScroll/ImageParallax.d.ts +27 -0
  489. package/dist/types/library/backgroundScroll/ImageParallax.d.ts.map +1 -0
  490. package/dist/types/library/backgroundScroll/index.d.ts +3 -0
  491. package/dist/types/library/backgroundScroll/index.d.ts.map +1 -0
  492. package/dist/types/library/backgroundScroll/test/testUtils.d.ts +3 -0
  493. package/dist/types/library/backgroundScroll/test/testUtils.d.ts.map +1 -0
  494. package/dist/types/library/backgroundScroll/utils.d.ts +9 -0
  495. package/dist/types/library/backgroundScroll/utils.d.ts.map +1 -0
  496. package/dist/types/library/entrance/ArcIn.d.ts +106 -0
  497. package/dist/types/library/entrance/ArcIn.d.ts.map +1 -0
  498. package/dist/types/library/entrance/BlurIn.d.ts +95 -0
  499. package/dist/types/library/entrance/BlurIn.d.ts.map +1 -0
  500. package/dist/types/library/entrance/BounceIn.d.ts +115 -0
  501. package/dist/types/library/entrance/BounceIn.d.ts.map +1 -0
  502. package/dist/types/library/entrance/CircleIn.d.ts +126 -0
  503. package/dist/types/library/entrance/CircleIn.d.ts.map +1 -0
  504. package/dist/types/library/entrance/CurveIn.d.ts +76 -0
  505. package/dist/types/library/entrance/CurveIn.d.ts.map +1 -0
  506. package/dist/types/library/entrance/DropIn.d.ts +101 -0
  507. package/dist/types/library/entrance/DropIn.d.ts.map +1 -0
  508. package/dist/types/library/entrance/ExpandIn.d.ts +106 -0
  509. package/dist/types/library/entrance/ExpandIn.d.ts.map +1 -0
  510. package/dist/types/library/entrance/FadeIn.d.ts +49 -0
  511. package/dist/types/library/entrance/FadeIn.d.ts.map +1 -0
  512. package/dist/types/library/entrance/FlipIn.d.ts +104 -0
  513. package/dist/types/library/entrance/FlipIn.d.ts.map +1 -0
  514. package/dist/types/library/entrance/FloatIn.d.ts +75 -0
  515. package/dist/types/library/entrance/FloatIn.d.ts.map +1 -0
  516. package/dist/types/library/entrance/FoldIn.d.ts +108 -0
  517. package/dist/types/library/entrance/FoldIn.d.ts.map +1 -0
  518. package/dist/types/library/entrance/GlideIn.d.ts +76 -0
  519. package/dist/types/library/entrance/GlideIn.d.ts.map +1 -0
  520. package/dist/types/library/entrance/GlitchIn.d.ts +75 -0
  521. package/dist/types/library/entrance/GlitchIn.d.ts.map +1 -0
  522. package/dist/types/library/entrance/GrowIn.d.ts +105 -0
  523. package/dist/types/library/entrance/GrowIn.d.ts.map +1 -0
  524. package/dist/types/library/entrance/PunchIn.d.ts +110 -0
  525. package/dist/types/library/entrance/PunchIn.d.ts.map +1 -0
  526. package/dist/types/library/entrance/RevealIn.d.ts +74 -0
  527. package/dist/types/library/entrance/RevealIn.d.ts.map +1 -0
  528. package/dist/types/library/entrance/ShapeIn.d.ts +103 -0
  529. package/dist/types/library/entrance/ShapeIn.d.ts.map +1 -0
  530. package/dist/types/library/entrance/ShuttersIn.d.ts +75 -0
  531. package/dist/types/library/entrance/ShuttersIn.d.ts.map +1 -0
  532. package/dist/types/library/entrance/SlideIn.d.ts +68 -0
  533. package/dist/types/library/entrance/SlideIn.d.ts.map +1 -0
  534. package/dist/types/library/entrance/SpinIn.d.ts +107 -0
  535. package/dist/types/library/entrance/SpinIn.d.ts.map +1 -0
  536. package/dist/types/library/entrance/TiltIn.d.ts +168 -0
  537. package/dist/types/library/entrance/TiltIn.d.ts.map +1 -0
  538. package/dist/types/library/entrance/TurnIn.d.ts +105 -0
  539. package/dist/types/library/entrance/TurnIn.d.ts.map +1 -0
  540. package/dist/types/library/entrance/WinkIn.d.ts +160 -0
  541. package/dist/types/library/entrance/WinkIn.d.ts.map +1 -0
  542. package/dist/types/library/entrance/index.d.ts +3 -0
  543. package/dist/types/library/entrance/index.d.ts.map +1 -0
  544. package/dist/types/library/entrance/test/testUtils.d.ts +3 -0
  545. package/dist/types/library/entrance/test/testUtils.d.ts.map +1 -0
  546. package/dist/types/library/mouse/AiryMouse.d.ts +9 -0
  547. package/dist/types/library/mouse/AiryMouse.d.ts.map +1 -0
  548. package/dist/types/library/mouse/BlobMouse.d.ts +9 -0
  549. package/dist/types/library/mouse/BlobMouse.d.ts.map +1 -0
  550. package/dist/types/library/mouse/BlurMouse.d.ts +9 -0
  551. package/dist/types/library/mouse/BlurMouse.d.ts.map +1 -0
  552. package/dist/types/library/mouse/BounceMouse.d.ts +11 -0
  553. package/dist/types/library/mouse/BounceMouse.d.ts.map +1 -0
  554. package/dist/types/library/mouse/CustomMouse.d.ts +13 -0
  555. package/dist/types/library/mouse/CustomMouse.d.ts.map +1 -0
  556. package/dist/types/library/mouse/ScaleMouse.d.ts +9 -0
  557. package/dist/types/library/mouse/ScaleMouse.d.ts.map +1 -0
  558. package/dist/types/library/mouse/SkewMouse.d.ts +9 -0
  559. package/dist/types/library/mouse/SkewMouse.d.ts.map +1 -0
  560. package/dist/types/library/mouse/SpinMouse.d.ts +9 -0
  561. package/dist/types/library/mouse/SpinMouse.d.ts.map +1 -0
  562. package/dist/types/library/mouse/SwivelMouse.d.ts +9 -0
  563. package/dist/types/library/mouse/SwivelMouse.d.ts.map +1 -0
  564. package/dist/types/library/mouse/Tilt3DMouse.d.ts +9 -0
  565. package/dist/types/library/mouse/Tilt3DMouse.d.ts.map +1 -0
  566. package/dist/types/library/mouse/Track3DMouse.d.ts +9 -0
  567. package/dist/types/library/mouse/Track3DMouse.d.ts.map +1 -0
  568. package/dist/types/library/mouse/TrackMouse.d.ts +9 -0
  569. package/dist/types/library/mouse/TrackMouse.d.ts.map +1 -0
  570. package/dist/types/library/mouse/index.d.ts +3 -0
  571. package/dist/types/library/mouse/index.d.ts.map +1 -0
  572. package/dist/types/library/ongoing/Blink.d.ts +26 -0
  573. package/dist/types/library/ongoing/Blink.d.ts.map +1 -0
  574. package/dist/types/library/ongoing/Bounce.d.ts +61 -0
  575. package/dist/types/library/ongoing/Bounce.d.ts.map +1 -0
  576. package/dist/types/library/ongoing/Breathe.d.ts +65 -0
  577. package/dist/types/library/ongoing/Breathe.d.ts.map +1 -0
  578. package/dist/types/library/ongoing/Cross.d.ts +34 -0
  579. package/dist/types/library/ongoing/Cross.d.ts.map +1 -0
  580. package/dist/types/library/ongoing/DVD.d.ts +47 -0
  581. package/dist/types/library/ongoing/DVD.d.ts.map +1 -0
  582. package/dist/types/library/ongoing/Flash.d.ts +63 -0
  583. package/dist/types/library/ongoing/Flash.d.ts.map +1 -0
  584. package/dist/types/library/ongoing/Flip.d.ts +71 -0
  585. package/dist/types/library/ongoing/Flip.d.ts.map +1 -0
  586. package/dist/types/library/ongoing/Fold.d.ts +65 -0
  587. package/dist/types/library/ongoing/Fold.d.ts.map +1 -0
  588. package/dist/types/library/ongoing/Jello.d.ts +55 -0
  589. package/dist/types/library/ongoing/Jello.d.ts.map +1 -0
  590. package/dist/types/library/ongoing/Poke.d.ts +55 -0
  591. package/dist/types/library/ongoing/Poke.d.ts.map +1 -0
  592. package/dist/types/library/ongoing/Pulse.d.ts +55 -0
  593. package/dist/types/library/ongoing/Pulse.d.ts.map +1 -0
  594. package/dist/types/library/ongoing/Rubber.d.ts +55 -0
  595. package/dist/types/library/ongoing/Rubber.d.ts.map +1 -0
  596. package/dist/types/library/ongoing/Spin.d.ts +69 -0
  597. package/dist/types/library/ongoing/Spin.d.ts.map +1 -0
  598. package/dist/types/library/ongoing/Swing.d.ts +65 -0
  599. package/dist/types/library/ongoing/Swing.d.ts.map +1 -0
  600. package/dist/types/library/ongoing/Wiggle.d.ts +55 -0
  601. package/dist/types/library/ongoing/Wiggle.d.ts.map +1 -0
  602. package/dist/types/library/ongoing/index.d.ts +3 -0
  603. package/dist/types/library/ongoing/index.d.ts.map +1 -0
  604. package/dist/types/library/ongoing/test/testUtils.d.ts +3 -0
  605. package/dist/types/library/ongoing/test/testUtils.d.ts.map +1 -0
  606. package/dist/types/library/scroll/ArcScroll.d.ts +25 -0
  607. package/dist/types/library/scroll/ArcScroll.d.ts.map +1 -0
  608. package/dist/types/library/scroll/BlurScroll.d.ts +26 -0
  609. package/dist/types/library/scroll/BlurScroll.d.ts.map +1 -0
  610. package/dist/types/library/scroll/FadeScroll.d.ts +25 -0
  611. package/dist/types/library/scroll/FadeScroll.d.ts.map +1 -0
  612. package/dist/types/library/scroll/FlipScroll.d.ts +25 -0
  613. package/dist/types/library/scroll/FlipScroll.d.ts.map +1 -0
  614. package/dist/types/library/scroll/GrowScroll.d.ts +27 -0
  615. package/dist/types/library/scroll/GrowScroll.d.ts.map +1 -0
  616. package/dist/types/library/scroll/MoveScroll.d.ts +27 -0
  617. package/dist/types/library/scroll/MoveScroll.d.ts.map +1 -0
  618. package/dist/types/library/scroll/PanScroll.d.ts +25 -0
  619. package/dist/types/library/scroll/PanScroll.d.ts.map +1 -0
  620. package/dist/types/library/scroll/ParallaxScroll.d.ts +27 -0
  621. package/dist/types/library/scroll/ParallaxScroll.d.ts.map +1 -0
  622. package/dist/types/library/scroll/RevealScroll.d.ts +25 -0
  623. package/dist/types/library/scroll/RevealScroll.d.ts.map +1 -0
  624. package/dist/types/library/scroll/ShapeScroll.d.ts +23 -0
  625. package/dist/types/library/scroll/ShapeScroll.d.ts.map +1 -0
  626. package/dist/types/library/scroll/ShrinkScroll.d.ts +27 -0
  627. package/dist/types/library/scroll/ShrinkScroll.d.ts.map +1 -0
  628. package/dist/types/library/scroll/ShuttersScroll.d.ts +35 -0
  629. package/dist/types/library/scroll/ShuttersScroll.d.ts.map +1 -0
  630. package/dist/types/library/scroll/SkewPanScroll.d.ts +25 -0
  631. package/dist/types/library/scroll/SkewPanScroll.d.ts.map +1 -0
  632. package/dist/types/library/scroll/SlideScroll.d.ts +26 -0
  633. package/dist/types/library/scroll/SlideScroll.d.ts.map +1 -0
  634. package/dist/types/library/scroll/Spin3dScroll.d.ts +27 -0
  635. package/dist/types/library/scroll/Spin3dScroll.d.ts.map +1 -0
  636. package/dist/types/library/scroll/SpinScroll.d.ts +25 -0
  637. package/dist/types/library/scroll/SpinScroll.d.ts.map +1 -0
  638. package/dist/types/library/scroll/StretchScroll.d.ts +55 -0
  639. package/dist/types/library/scroll/StretchScroll.d.ts.map +1 -0
  640. package/dist/types/library/scroll/TiltScroll.d.ts +52 -0
  641. package/dist/types/library/scroll/TiltScroll.d.ts.map +1 -0
  642. package/dist/types/library/scroll/TurnScroll.d.ts +30 -0
  643. package/dist/types/library/scroll/TurnScroll.d.ts.map +1 -0
  644. package/dist/types/library/scroll/index.d.ts +3 -0
  645. package/dist/types/library/scroll/index.d.ts.map +1 -0
  646. package/dist/types/library/scroll/test/testUtils.d.ts +3 -0
  647. package/dist/types/library/scroll/test/testUtils.d.ts.map +1 -0
  648. package/dist/types/motion.d.ts +14 -0
  649. package/dist/types/motion.d.ts.map +1 -0
  650. package/dist/types/playground/animationMotionBgScroll.stories.d.ts +6 -0
  651. package/dist/types/playground/animationMotionBgScroll.stories.d.ts.map +1 -0
  652. package/dist/types/playground/animationsMotion.stories.d.ts +6 -0
  653. package/dist/types/playground/animationsMotion.stories.d.ts.map +1 -0
  654. package/dist/types/playground/animationsMotionMouse.stories.d.ts +6 -0
  655. package/dist/types/playground/animationsMotionMouse.stories.d.ts.map +1 -0
  656. package/dist/types/playground/animationsMotionOngoing.stories.d.ts +6 -0
  657. package/dist/types/playground/animationsMotionOngoing.stories.d.ts.map +1 -0
  658. package/dist/types/playground/animationsMotionScroll.stories.d.ts +6 -0
  659. package/dist/types/playground/animationsMotionScroll.stories.d.ts.map +1 -0
  660. package/dist/types/playground/controls.d.ts +53 -0
  661. package/dist/types/playground/controls.d.ts.map +1 -0
  662. package/dist/types/playground/mouseComponent.d.ts +10 -0
  663. package/dist/types/playground/mouseComponent.d.ts.map +1 -0
  664. package/dist/types/playground/playground-common.d.ts +34 -0
  665. package/dist/types/playground/playground-common.d.ts.map +1 -0
  666. package/dist/types/types.d.ts +572 -0
  667. package/dist/types/types.d.ts.map +1 -0
  668. package/dist/types/utils.d.ts +81 -0
  669. package/dist/types/utils.d.ts.map +1 -0
  670. package/package.json +69 -42
  671. package/build/cjs/index.d.ts +0 -9
  672. package/build/cjs/index.js +0 -47
  673. package/build/cjs/index.js.map +0 -1
  674. package/build/cjs/meta.d.ts +0 -6
  675. package/build/cjs/meta.js +0 -47
  676. package/build/cjs/meta.js.map +0 -1
  677. package/build/es/index.d.mts +0 -9
  678. package/build/es/index.mjs +0 -10
  679. package/build/es/index.mjs.map +0 -1
  680. package/build/es/meta.d.mts +0 -6
  681. package/build/es/meta.mjs +0 -10
  682. package/build/es/meta.mjs.map +0 -1
  683. package/build/es/package.json +0 -3
  684. package/build/internal/cjs/index.d.ts +0 -9
  685. package/build/internal/cjs/index.js +0 -47
  686. package/build/internal/cjs/index.js.map +0 -1
  687. package/build/internal/cjs/meta.d.ts +0 -6
  688. package/build/internal/cjs/meta.js +0 -47
  689. package/build/internal/cjs/meta.js.map +0 -1
  690. package/build/internal/es/index.d.mts +0 -9
  691. package/build/internal/es/index.mjs +0 -10
  692. package/build/internal/es/index.mjs.map +0 -1
  693. package/build/internal/es/meta.d.mts +0 -6
  694. package/build/internal/es/meta.mjs +0 -10
  695. package/build/internal/es/meta.mjs.map +0 -1
  696. package/meta/package.json +0 -3
@@ -0,0 +1,327 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.INITIAL_FRAME_OFFSET = void 0;
5
+ exports.deg2rad = deg2rad;
6
+ exports.distance2d = distance2d;
7
+ exports.getAdjustedDirection = getAdjustedDirection;
8
+ exports.getAngleInDeg = getAngleInDeg;
9
+ exports.getClipPolygonParams = getClipPolygonParams;
10
+ exports.getCssUnits = getCssUnits;
11
+ exports.getEasing = getEasing;
12
+ exports.getEasingFamily = getEasingFamily;
13
+ exports.getElementOffset = getElementOffset;
14
+ exports.getJsEasing = getJsEasing;
15
+ exports.getMouseTransitionEasing = getMouseTransitionEasing;
16
+ exports.getOutOfScreenDistance = getOutOfScreenDistance;
17
+ exports.getShuttersClipPaths = getShuttersClipPaths;
18
+ exports.getTimingFactor = getTimingFactor;
19
+ exports.getTransformParams = getTransformParams;
20
+ exports.keyframesToDuration = keyframesToDuration;
21
+ exports.mapRange = mapRange;
22
+ exports.roundNumber = roundNumber;
23
+ exports.toKeyframeValue = toKeyframeValue;
24
+ exports.transformPolarToXY = transformPolarToXY;
25
+ var _easings = require("./easings");
26
+ /**
27
+ * Map a value from one range 'a' to different range 'b'
28
+ *
29
+ * @param sourceMin - The minimum value of the source range
30
+ * @param sourceMax - The maximum value of the source range
31
+ * @param targetMin - The minimum value of the target range
32
+ * @param targetMax - The maximum value of the target range
33
+ * @param num - The number to map
34
+ * @returns The mapped value
35
+ */
36
+ function mapRange(sourceMin, sourceMax, targetMin, targetMax, num) {
37
+ return (num - sourceMin) * (targetMax - targetMin) / (sourceMax - sourceMin) + targetMin;
38
+ }
39
+
40
+ /**
41
+ * Get the distance between 2 points
42
+ *
43
+ * @param p1 - The first point [x1, y1]
44
+ * @param p2 - The second point [x2, y2]
45
+ * @returns The distance between the two points
46
+ */
47
+ function distance2d([x1, y1], [x2, y2]) {
48
+ return Math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2);
49
+ }
50
+
51
+ /**
52
+ * Get the angle between 2 points in degrees clamped between 0 and 360
53
+ * Pass the third argument "offset" to rotate the angle source,
54
+ * for example use 90 to move angle 0 to the top
55
+ *
56
+ * @param p1 - The first point [x1, y1]
57
+ * @param p2 - The second point [x2, y2]
58
+ * @param offset - The angle offset (default: 0)
59
+ * @returns The angle between the two points in degrees
60
+ */
61
+ function getAngleInDeg(p1 = [0, 0], p2 = [0, 0], offset = 0) {
62
+ const angle = Math.atan2(p2[1] - p1[1], p2[0] - p1[0]) * 180 / Math.PI;
63
+ return (360 + offset + angle) % 360;
64
+ }
65
+ const INITIAL_FRAME_OFFSET = exports.INITIAL_FRAME_OFFSET = 1e-6;
66
+ const CLIP_POLYGON_TEMPLATES = {
67
+ initial: ({
68
+ top,
69
+ bottom,
70
+ left,
71
+ right
72
+ }) => `${left}% ${top}%, ${right}% ${top}%, ${right}% ${bottom}%, ${left}% ${bottom}%`,
73
+ top: ({
74
+ top,
75
+ left,
76
+ right,
77
+ minimum
78
+ }) => `${left}% ${top}%, ${right}% ${top}%, ${right}% ${top + minimum}%, ${left}% ${top + minimum}%`,
79
+ right: ({
80
+ top,
81
+ bottom,
82
+ right,
83
+ minimum
84
+ }) => `${right - minimum}% ${top}%, ${right}% ${top}%, ${right}% ${bottom}%, ${right - minimum}% ${bottom}%`,
85
+ center: ({
86
+ centerX,
87
+ centerY,
88
+ minimum
89
+ }) => `${centerX - minimum / 2}% ${centerY - minimum / 2}%, ${centerX + minimum / 2}% ${centerY - minimum / 2}%, ${centerX + minimum / 2}% ${centerY + minimum / 2}%, ${centerX - minimum / 2}% ${centerY + minimum / 2}%`,
90
+ bottom: ({
91
+ bottom,
92
+ left,
93
+ right,
94
+ minimum
95
+ }) => `${left}% ${bottom - minimum}%, ${right}% ${bottom - minimum}%, ${right}% ${bottom}%, ${left}% ${bottom}%`,
96
+ left: ({
97
+ top,
98
+ bottom,
99
+ left,
100
+ minimum
101
+ }) => `${left}% ${top}%, ${left + minimum}% ${top}%, ${left + minimum}% ${bottom}%, ${left}% ${bottom}%`,
102
+ vertical: ({
103
+ top,
104
+ bottom,
105
+ left,
106
+ right,
107
+ minimum
108
+ }) => `${left}% ${top + minimum / 2}%, ${right}% ${top + minimum / 2}%, ${right}% ${bottom - minimum / 2}%, ${left}% ${bottom - minimum / 2}%`,
109
+ horizontal: ({
110
+ top,
111
+ bottom,
112
+ left,
113
+ right,
114
+ minimum
115
+ }) => `${left + minimum / 2}% ${top}%, ${right - minimum / 2}% ${top}%, ${right - minimum / 2}% ${bottom}%, ${left + minimum / 2}% ${bottom}%`
116
+ };
117
+ function getClipPolygonParams({
118
+ direction,
119
+ scaleX = 1,
120
+ scaleY = 1,
121
+ minimum = 0
122
+ }) {
123
+ const top = (1 - scaleY) / 2 * 100;
124
+ const left = (1 - scaleX) / 2 * 100;
125
+ const right = 100 + left - (1 - scaleX) * 100;
126
+ const bottom = 100 + top - (1 - scaleY) * 100;
127
+ const centerX = (right + left) / 2;
128
+ const centerY = (bottom + top) / 2;
129
+ return `polygon(${CLIP_POLYGON_TEMPLATES[direction]({
130
+ top,
131
+ bottom,
132
+ left,
133
+ right,
134
+ centerX,
135
+ centerY,
136
+ minimum
137
+ })})`;
138
+ }
139
+
140
+ /**
141
+ * Adjust direction by angle from predefined list
142
+ */
143
+ function getAdjustedDirection(availableDirections, direction, angleInDeg) {
144
+ const index = availableDirections.indexOf(direction);
145
+ const length = availableDirections.length;
146
+ const shiftBy = Math.round((angleInDeg || 0) / 360 * length);
147
+ const newIndex = (index + (length - 1) * shiftBy) % length; // eslint-disable-line no-mixed-operators
148
+ return availableDirections[newIndex];
149
+ }
150
+ function transformPolarToXY(angle, distance) {
151
+ const radians = angle * Math.PI / 180;
152
+ const x = Math.cos(radians) * distance;
153
+ const y = Math.sin(radians) * distance;
154
+ return [x, y];
155
+ }
156
+ function getCssUnits(type) {
157
+ return type === 'percentage' ? '%' : type || 'px';
158
+ }
159
+ function getEasing(easing) {
160
+ return easing ? _easings.cssEasings[easing] || easing : _easings.cssEasings.linear;
161
+ }
162
+ function getJsEasing(easing) {
163
+ return easing ? _easings.jsEasings[easing] : undefined;
164
+ }
165
+ function getEasingFamily(easing) {
166
+ if (!_easings.cssEasings[easing]) {
167
+ return {
168
+ in: easing,
169
+ inOut: easing,
170
+ out: easing
171
+ };
172
+ }
173
+ const ease = easing.replace(/In|Out/g, '');
174
+ if (ease === 'linear') {
175
+ return {
176
+ in: `linear`,
177
+ inOut: `linear`,
178
+ out: `linear`
179
+ };
180
+ }
181
+ return {
182
+ in: `${ease}In`,
183
+ inOut: `${ease}InOut`,
184
+ out: `${ease}Out`
185
+ };
186
+ }
187
+ const MOUSE_TRANSITION_EASING_MAP = {
188
+ linear: 'linear',
189
+ easeOut: 'ease-out',
190
+ hardBackOut: 'cubic-bezier(0.58, 2.5, 0, 0.95)',
191
+ elastic: '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 )',
192
+ bounce: '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 )'
193
+ };
194
+ function getMouseTransitionEasing(value) {
195
+ return value && MOUSE_TRANSITION_EASING_MAP[value] || 'linear';
196
+ }
197
+ function deg2rad(angleInDeg) {
198
+ return angleInDeg * Math.PI / 180;
199
+ }
200
+ function getTransformParams(originDirection, angleInRad, scale = 1) {
201
+ const x = `calc(var(--motion-height, 100%) * ${scale * originDirection.dy * Math.sin(-angleInRad)} + var(--motion-width, 100%) * ${scale * originDirection.dx * Math.cos(angleInRad)})`;
202
+ const y = `calc(var(--motion-height, 100%) * ${scale * originDirection.dy * Math.cos(-angleInRad)} + var(--motion-width, 100%) * ${scale * originDirection.dx * Math.sin(angleInRad)})`;
203
+ return {
204
+ x,
205
+ y
206
+ };
207
+ }
208
+ function getOutOfScreenDistance(angle) {
209
+ const angleInRad = angle * Math.PI / 180;
210
+ const angleCos = Math.round(Math.cos(angleInRad) * 10) / 10;
211
+ const angleSin = Math.round(Math.sin(angleInRad) * 10) / 10;
212
+
213
+ // Calculate x and y direction based on angle
214
+ const xDirection = Math.sign(angleCos);
215
+ const yDirection = Math.sign(angleSin);
216
+ const left = `var(--motion-left, 0px)`;
217
+ const top = `var(--motion-top, 0px)`;
218
+
219
+ // Calculate x and y distances between component and stage
220
+ const xDistance = xDirection ? xDirection === -1 ? `(-1 * ${left} - 100%)` : `(100vw - ${left})` : 0;
221
+ const yDistance = yDirection ? yDirection === -1 ? `(-1 * ${top} - 100%)` : `(100vh - ${top})` : 0;
222
+
223
+ // Calculate hypotenuse
224
+ let hypotenuse;
225
+ const hypotX = `calc(${xDistance} / ${angleCos})`;
226
+ const hypotY = `calc(${yDistance} / ${angleSin})`;
227
+ if (!angleCos) {
228
+ hypotenuse = hypotY;
229
+ } else if (!angleSin) {
230
+ hypotenuse = hypotX;
231
+ } else {
232
+ hypotenuse = `min(${hypotY}, ${hypotX})`;
233
+ }
234
+ return {
235
+ // distance: Math.abs(hypotenuse),
236
+ x: `calc(${hypotenuse} * ${angleCos})`,
237
+ y: `calc(${hypotenuse} * ${angleSin})`
238
+ };
239
+ }
240
+ function keyframesToDuration(keyframes_translation, duration) {
241
+ return keyframes_translation.map(({
242
+ keyframe
243
+ }, idx) => {
244
+ const stepDuration = keyframe - (idx > 0 ? keyframes_translation[idx - 1].keyframe : 0);
245
+ return duration * (stepDuration / 100);
246
+ });
247
+ }
248
+ function getElementOffset(element, parent) {
249
+ let left = element.offsetLeft;
250
+ let top = element.offsetTop;
251
+ let offsetParent = element.offsetParent;
252
+ while (offsetParent) {
253
+ if (parent && offsetParent === parent) {
254
+ break;
255
+ }
256
+ left += offsetParent.offsetLeft;
257
+ top += offsetParent.offsetTop;
258
+ offsetParent = offsetParent.offsetParent;
259
+ }
260
+ return {
261
+ left,
262
+ top
263
+ };
264
+ }
265
+ const generateShuttersClipPath = (direction, shutterCount, staggered) => {
266
+ const isTopOrLeft = direction === 'top' || direction === 'left';
267
+ const iterStart = isTopOrLeft ? shutterCount : 0;
268
+ const iterEnd = isTopOrLeft ? 0 : shutterCount;
269
+ const inc = isTopOrLeft ? -1 : 1;
270
+ const isVerticalPath = direction === 'top' || direction === 'bottom';
271
+ const clipPathStart = [];
272
+ const clipPathEnd = [];
273
+ for (let i = iterStart; i !== iterEnd; i += inc) {
274
+ const shutterEndPosInPercentage = 100 * ((i + inc) / shutterCount);
275
+ const clipStart = 100 * (i / shutterCount) | 0;
276
+ let clipEnd;
277
+ if (staggered) {
278
+ const staggerFactor = isTopOrLeft ? 1 + (shutterCount - i) / shutterCount : 1 + i / shutterCount;
279
+ // staggerFactor changes the speed in which the current shutter completes its animation.
280
+ // case = 1: shutter closes at normal rate (as if there is no stagger at all)
281
+ // case > 1: shutter closes faster (the bigger it is, the faster it closes)
282
+
283
+ clipEnd = isTopOrLeft ? 100 - (100 - shutterEndPosInPercentage) * staggerFactor : shutterEndPosInPercentage * staggerFactor;
284
+ } else {
285
+ clipEnd = shutterEndPosInPercentage;
286
+ }
287
+ clipEnd |= 0;
288
+ if (isVerticalPath) {
289
+ clipPathStart.push(`0% ${clipStart}%, 100% ${clipStart}%, 100% ${clipStart}%, 0% ${clipStart}%`);
290
+ clipPathEnd.push(`0% ${clipStart}%, 100% ${clipStart}%, 100% ${clipEnd}%, 0% ${clipEnd}%`);
291
+ } else {
292
+ clipPathStart.push(`${clipStart}% 0%, ${clipStart}% 100%, ${clipStart}% 100%, ${clipStart}% 0%`);
293
+ clipPathEnd.push(`${clipStart}% 0%, ${clipStart}% 100%, ${clipEnd}% 100%, ${clipEnd}% 0%`);
294
+ }
295
+ }
296
+ return {
297
+ start: clipPathStart,
298
+ end: clipPathEnd
299
+ };
300
+ };
301
+ function getShuttersClipPaths(direction, shutterCount, staggered, reverse) {
302
+ const {
303
+ start,
304
+ end
305
+ } = generateShuttersClipPath(direction, shutterCount, staggered);
306
+ if (reverse) {
307
+ start.reverse();
308
+ end.reverse();
309
+ }
310
+ return {
311
+ clipStart: `polygon(${start.join(', ')})`,
312
+ clipEnd: `polygon(${end.join(', ')})`
313
+ };
314
+ }
315
+ function roundNumber(num, precision = 2) {
316
+ return parseFloat(num.toFixed(precision));
317
+ }
318
+ function toKeyframeValue(custom, key, useValue = false, fallback = '') {
319
+ return useValue ? custom[key] : `var(${key}${fallback ? `,${fallback}` : ''})`;
320
+ }
321
+ function getTimingFactor(duration, delay, asString = false) {
322
+ const duration_ = duration || 1;
323
+ const delay_ = delay || 0;
324
+ const timingFactor = roundNumber(duration_ / (duration_ + delay_));
325
+ return asString ? timingFactor.toString().replace(/\./g, '') : timingFactor;
326
+ }
327
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_easings","require","mapRange","sourceMin","sourceMax","targetMin","targetMax","num","distance2d","x1","y1","x2","y2","Math","sqrt","getAngleInDeg","p1","p2","offset","angle","atan2","PI","INITIAL_FRAME_OFFSET","exports","CLIP_POLYGON_TEMPLATES","initial","top","bottom","left","right","minimum","center","centerX","centerY","vertical","horizontal","getClipPolygonParams","direction","scaleX","scaleY","getAdjustedDirection","availableDirections","angleInDeg","index","indexOf","length","shiftBy","round","newIndex","transformPolarToXY","distance","radians","x","cos","y","sin","getCssUnits","type","getEasing","easing","cssEasings","linear","getJsEasing","jsEasings","undefined","getEasingFamily","in","inOut","out","ease","replace","MOUSE_TRANSITION_EASING_MAP","easeOut","hardBackOut","elastic","bounce","getMouseTransitionEasing","value","deg2rad","getTransformParams","originDirection","angleInRad","scale","dy","dx","getOutOfScreenDistance","angleCos","angleSin","xDirection","sign","yDirection","xDistance","yDistance","hypotenuse","hypotX","hypotY","keyframesToDuration","keyframes_translation","duration","map","keyframe","idx","stepDuration","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","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 deg2rad(angleInDeg: number): number {\n return (angleInDeg * Math.PI) / 180;\n}\n\nexport function getTransformParams(\n originDirection: { dx: number; dy: number },\n angleInRad: number,\n scale: number = 1,\n) {\n const x = `calc(var(--motion-height, 100%) * ${\n scale * originDirection.dy * Math.sin(-angleInRad)\n } + var(--motion-width, 100%) * ${\n scale * originDirection.dx * Math.cos(angleInRad)\n })`;\n\n const y = `calc(var(--motion-height, 100%) * ${\n scale * originDirection.dy * Math.cos(-angleInRad)\n } + var(--motion-width, 100%) * ${\n scale * originDirection.dx * Math.sin(angleInRad)\n })`;\n\n return { x, y };\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 keyframesToDuration(\n keyframes_translation: { keyframe: number }[],\n duration: number,\n) {\n return keyframes_translation.map(({ keyframe }, idx) => {\n const stepDuration =\n keyframe - (idx > 0 ? keyframes_translation[idx - 1].keyframe : 0);\n return duration * (stepDuration / 100);\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 = [];\n const clipPathEnd = [];\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":[]}
@@ -0,0 +1,86 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ /**
3
+ * @class AnimationGroup
4
+ *
5
+ * A wrapper object for simulating a GroupEffect and managing multiple animations.
6
+ * See: https://www.w3.org/TR/web-animations-2/#grouping-and-synchronization
7
+ */
8
+ export class AnimationGroup {
9
+ constructor(animations, options) {
10
+ _defineProperty(this, "animations", void 0);
11
+ _defineProperty(this, "options", void 0);
12
+ _defineProperty(this, "ready", void 0);
13
+ this.animations = animations;
14
+ this.options = options;
15
+ this.ready = (options == null ? void 0 : options.measured) || Promise.resolve();
16
+ }
17
+ getProgress() {
18
+ var _this$animations$;
19
+ return ((_this$animations$ = this.animations[0]) == null || (_this$animations$ = _this$animations$.effect) == null ? void 0 : _this$animations$.getComputedTiming().progress) || 0;
20
+ }
21
+ async play(callback) {
22
+ await this.ready;
23
+ for (const animation of this.animations) {
24
+ animation.play();
25
+ }
26
+
27
+ // TODO: Wait for all animations to be ready, using allSettled to handle rejections gracefully
28
+ // await Promise.allSettled(
29
+ await Promise.all(this.animations.map(animation => animation.ready));
30
+ if (callback) {
31
+ callback();
32
+ }
33
+ }
34
+ pause() {
35
+ for (const animation of this.animations) {
36
+ animation.pause();
37
+ }
38
+ }
39
+ async reverse(callback) {
40
+ await this.ready;
41
+ for (const animation of this.animations) {
42
+ animation.reverse();
43
+ }
44
+
45
+ // TODO: Wait for all animations to be ready, using allSettled to handle rejections gracefully
46
+ // await Promise.allSettled(
47
+ await Promise.all(this.animations.map(animation => animation.ready));
48
+ if (callback) {
49
+ callback();
50
+ }
51
+ }
52
+ progress(p) {
53
+ for (const animation of this.animations) {
54
+ const {
55
+ activeDuration
56
+ } = animation.effect.getComputedTiming();
57
+ const {
58
+ delay
59
+ } = animation.effect.getTiming();
60
+ animation.currentTime = ((delay || 0) + (activeDuration || 0)) * p;
61
+ }
62
+ }
63
+ cancel() {
64
+ for (const animation of this.animations) {
65
+ animation.cancel();
66
+ }
67
+ }
68
+ setPlaybackRate(rate) {
69
+ for (const animation of this.animations) {
70
+ animation.playbackRate = rate;
71
+ }
72
+ }
73
+ async onFinish(callback) {
74
+ try {
75
+ await Promise.all(this.animations.map(animation => animation.finished));
76
+ callback();
77
+ } catch (_error) {
78
+ console.warn('animation was interrupted - aborting onFinish callback - ', _error);
79
+ }
80
+ }
81
+ get playState() {
82
+ var _this$animations$2;
83
+ return (_this$animations$2 = this.animations[0]) == null ? void 0 : _this$animations$2.playState;
84
+ }
85
+ }
86
+ //# sourceMappingURL=AnimationGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AnimationGroup","constructor","animations","options","_defineProperty","ready","measured","Promise","resolve","getProgress","_this$animations$","effect","getComputedTiming","progress","play","callback","animation","all","map","pause","reverse","p","activeDuration","delay","getTiming","currentTime","cancel","setPlaybackRate","rate","playbackRate","onFinish","finished","_error","console","warn","playState","_this$animations$2"],"sources":["../../src/AnimationGroup.ts"],"sourcesContent":["import { AnimationGroupOptions, RangeOffset } from './types';\n\n/**\n * @class AnimationGroup\n *\n * A wrapper object for simulating a GroupEffect and managing multiple animations.\n * See: https://www.w3.org/TR/web-animations-2/#grouping-and-synchronization\n */\nexport class AnimationGroup {\n animations: (Animation & {\n start?: RangeOffset;\n end?: RangeOffset;\n })[];\n options?: AnimationGroupOptions;\n ready: Promise<void>;\n\n constructor(animations: Animation[], options?: AnimationGroupOptions) {\n this.animations = animations;\n this.options = options;\n this.ready = options?.measured || Promise.resolve();\n }\n\n getProgress() {\n return this.animations[0]?.effect?.getComputedTiming().progress || 0;\n }\n\n async play(callback?: () => void): Promise<void> {\n await this.ready;\n\n for (const animation of this.animations) {\n animation.play();\n }\n\n // TODO: Wait for all animations to be ready, using allSettled to handle rejections gracefully\n // await Promise.allSettled(\n await Promise.all(this.animations.map((animation) => animation.ready));\n\n if (callback) {\n callback();\n }\n }\n\n pause() {\n for (const animation of this.animations) {\n animation.pause();\n }\n }\n\n async reverse(callback?: () => void): Promise<void> {\n await this.ready;\n\n for (const animation of this.animations) {\n animation.reverse();\n }\n\n // TODO: Wait for all animations to be ready, using allSettled to handle rejections gracefully\n // await Promise.allSettled(\n await Promise.all(this.animations.map((animation) => animation.ready));\n\n if (callback) {\n callback();\n }\n }\n\n progress(p: number) {\n for (const animation of this.animations) {\n const { activeDuration } = animation.effect!.getComputedTiming();\n const { delay } = animation.effect!.getTiming();\n animation.currentTime =\n ((delay || 0) + ((activeDuration as number) || 0)) * p;\n }\n }\n\n cancel() {\n for (const animation of this.animations) {\n animation.cancel();\n }\n }\n\n setPlaybackRate(rate: number) {\n for (const animation of this.animations) {\n animation.playbackRate = rate;\n }\n }\n\n async onFinish(callback: () => void): Promise<void> {\n try {\n await Promise.all(this.animations.map((animation) => animation.finished));\n callback();\n } catch (_error) {\n console.warn(\n 'animation was interrupted - aborting onFinish callback - ',\n _error,\n );\n }\n }\n\n get playState() {\n return this.animations[0]?.playState;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,112 @@
1
+ import { scrollAnimations } from '../library/scroll';
2
+ import { entranceAnimations } from '../library/entrance';
3
+ import { ongoingAnimations } from '../library/ongoing';
4
+ import { mouseAnimations } from '../library/mouse';
5
+ import { backgroundScrollAnimations } from '../library/backgroundScroll';
6
+ import { getCssUnits, getEasing } from '../utils';
7
+ import fastdom from 'fastdom';
8
+ function getElement(id, ownerDocument) {
9
+ return id ? (ownerDocument || document).getElementById(id) : null;
10
+ }
11
+ function getDirection(effect) {
12
+ const alternate = effect.alternate ? 'alternate' : '';
13
+ return effect.reversed ? `${alternate ? `${alternate}-` : ''}reverse` : alternate || 'normal';
14
+ }
15
+ function getLength(length) {
16
+ return `${length.value}${getCssUnits(length.type)}`;
17
+ }
18
+ function getRange(range, add, isEnd) {
19
+ // according to the CSS spec if the end range is a <length> then it is calculated from the start of the named range
20
+ // our model assumes that <length> in end range is calculated from the end of the named range
21
+ return `${range.name || 'cover'} ${isEnd && range.offset.type !== 'percentage' ? `calc(100% + ${getLength(range.offset)}${add ? ` + ${add}` : ''})` : add ? `calc(${getLength(range.offset)} + ${add})` : getLength(range.offset)}`;
22
+ }
23
+ function getRanges(effect) {
24
+ return {
25
+ start: getRange(effect.startOffset, effect.startOffsetAdd),
26
+ end: getRange(effect.endOffset, effect.endOffsetAdd, true)
27
+ };
28
+ }
29
+ function measure(target) {
30
+ return fn => fastdom.measure(() => fn(target));
31
+ }
32
+ function mutate(target) {
33
+ return fn => fastdom.mutate(() => fn(target));
34
+ }
35
+ function getNamedEffect(animation) {
36
+ if (animation.namedEffect) {
37
+ const name = animation.namedEffect.type;
38
+
39
+ // check each preset library for the named effect
40
+ if (name in scrollAnimations) {
41
+ return scrollAnimations[name];
42
+ } else if (name in entranceAnimations) {
43
+ return entranceAnimations[name];
44
+ } else if (name in ongoingAnimations) {
45
+ return ongoingAnimations[name];
46
+ } else if (name in mouseAnimations) {
47
+ return mouseAnimations[name];
48
+ } else if (name in backgroundScrollAnimations) {
49
+ return backgroundScrollAnimations[name];
50
+ }
51
+ } else if (animation.keyframeEffect) {
52
+ const effect = animation_ => {
53
+ const {
54
+ name,
55
+ keyframes
56
+ } = animation_.keyframeEffect;
57
+ return [{
58
+ ...animation_,
59
+ name,
60
+ keyframes
61
+ }];
62
+ };
63
+ return {
64
+ web: effect,
65
+ style: effect
66
+ };
67
+ } else if (animation.customEffect) {
68
+ return animation_ => [{
69
+ ...animation_,
70
+ keyframes: []
71
+ }];
72
+ }
73
+ return null;
74
+ }
75
+ function getEffectsData(animations, effectId) {
76
+ // process each AnimationData object into a KeyframeEffect object
77
+ return animations.map((effect, index) => {
78
+ // prepare the KeyframeEffectOptions object
79
+ const effectOptions = {
80
+ fill: effect.fill,
81
+ easing: getEasing(effect.easing),
82
+ iterations: effect.iterations === 0 ? Infinity : effect.iterations || 1,
83
+ composite: effect.composite,
84
+ direction: getDirection(effect)
85
+ };
86
+
87
+ // if this is a TimeAnimation then set the duration and delay as time values
88
+ if (effect.type.startsWith('Time')) {
89
+ effectOptions.duration = effect.duration;
90
+ effectOptions.delay = effect.delay || 0;
91
+ } else {
92
+ // if ViewTimeline is supported
93
+ if (window.ViewTimeline) {
94
+ // set duration to 'auto'
95
+ effectOptions.duration = 'auto';
96
+ } else {
97
+ // if ViewTimeline not supported then put a 100ms value in duration get a progress we can easily relate to
98
+ // we split the duration to 99.99ms and delay of 0.01ms to get the fill-mode effect working
99
+ effectOptions.duration = 99.99;
100
+ effectOptions.delay = 0.01;
101
+ }
102
+ }
103
+ return {
104
+ effect,
105
+ options: effectOptions,
106
+ id: effectId && `${effectId}-${index + 1}`,
107
+ part: effect.part
108
+ };
109
+ });
110
+ }
111
+ export { getElement, getNamedEffect, getEffectsData, measure, mutate, getDirection, getLength, getRanges };
112
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["scrollAnimations","entranceAnimations","ongoingAnimations","mouseAnimations","backgroundScrollAnimations","getCssUnits","getEasing","fastdom","getElement","id","ownerDocument","document","getElementById","getDirection","effect","alternate","reversed","getLength","length","value","type","getRange","range","add","isEnd","name","offset","getRanges","start","startOffset","startOffsetAdd","end","endOffset","endOffsetAdd","measure","target","fn","mutate","getNamedEffect","animation","namedEffect","keyframeEffect","animation_","keyframes","web","style","customEffect","getEffectsData","animations","effectId","map","index","effectOptions","fill","easing","iterations","Infinity","composite","direction","startsWith","duration","delay","window","ViewTimeline","options","part"],"sources":["../../../src/api/common.ts"],"sourcesContent":["import type {\n AnimationData,\n AnimationDataForScrub,\n AnimationOptions,\n BackgroundScrollAnimations,\n EntranceAnimations,\n MeasureCallback,\n MouseAnimations,\n OngoingAnimations,\n RangeOffset,\n ScrollAnimations,\n TimeAnimationOptions,\n UnitLengthPercentage,\n} from '../types';\nimport { scrollAnimations } from '../library/scroll';\nimport { entranceAnimations } from '../library/entrance';\nimport { ongoingAnimations } from '../library/ongoing';\nimport { mouseAnimations } from '../library/mouse';\nimport { backgroundScrollAnimations } from '../library/backgroundScroll';\nimport { getCssUnits, getEasing } from '../utils';\nimport fastdom from 'fastdom';\n\nfunction getElement(\n id: string | null,\n ownerDocument?: Document,\n): HTMLElement | null {\n return id ? (ownerDocument || document).getElementById(id) : null;\n}\n\nfunction getDirection(\n effect: AnimationData,\n): KeyframeEffectOptions['direction'] {\n const alternate = effect.alternate ? 'alternate' : '';\n return effect.reversed\n ? (`${alternate ? `${alternate}-` : ''}reverse` as\n | 'reverse'\n | 'alternate-reverse')\n : alternate || 'normal';\n}\n\nfunction getLength(length: UnitLengthPercentage): string {\n return `${length.value}${getCssUnits(length.type)}`;\n}\n\nfunction getRange(\n range: RangeOffset,\n add: string | undefined,\n isEnd?: boolean,\n) {\n // according to the CSS spec if the end range is a <length> then it is calculated from the start of the named range\n // our model assumes that <length> in end range is calculated from the end of the named range\n return `${range.name || 'cover'} ${\n isEnd && range.offset!.type !== 'percentage'\n ? `calc(100% + ${getLength(range.offset!)}${add ? ` + ${add}` : ''})`\n : add\n ? `calc(${getLength(range.offset!)} + ${add})`\n : getLength(range.offset!)\n }`;\n}\n\nfunction getRanges(effect: AnimationDataForScrub) {\n return {\n start: getRange(effect.startOffset!, effect.startOffsetAdd),\n end: getRange(effect.endOffset!, effect.endOffsetAdd, true),\n };\n}\n\nfunction measure(target: HTMLElement | null): MeasureCallback {\n return (fn) => fastdom.measure(() => fn(target));\n}\n\nfunction mutate(target: HTMLElement | null): MeasureCallback {\n return (fn) => fastdom.mutate(() => fn(target));\n}\n\nfunction getNamedEffect(animation: AnimationOptions) {\n if (animation.namedEffect) {\n const name = animation.namedEffect.type;\n\n // check each preset library for the named effect\n if (name in scrollAnimations) {\n return scrollAnimations[name as keyof ScrollAnimations];\n } else if (name in entranceAnimations) {\n return entranceAnimations[name as keyof EntranceAnimations];\n } else if (name in ongoingAnimations) {\n return ongoingAnimations[name as keyof OngoingAnimations];\n } else if (name in mouseAnimations) {\n return mouseAnimations[name as keyof MouseAnimations];\n } else if (name in backgroundScrollAnimations) {\n return backgroundScrollAnimations[\n name as keyof BackgroundScrollAnimations\n ];\n }\n } else if (animation.keyframeEffect) {\n const effect = (animation_: AnimationOptions) => {\n const { name, keyframes } = animation_.keyframeEffect!;\n\n return [{ ...animation_, name, keyframes }];\n };\n return { web: effect, style: effect };\n } else if (animation.customEffect) {\n return (animation_: AnimationOptions) => [{ ...animation_, keyframes: [] }];\n }\n return null;\n}\n\nfunction getEffectsData(animations: AnimationData[], effectId?: string) {\n // process each AnimationData object into a KeyframeEffect object\n return animations.map((effect, index) => {\n // prepare the KeyframeEffectOptions object\n const effectOptions = {\n fill: effect.fill,\n easing: getEasing(effect.easing),\n iterations: effect.iterations === 0 ? Infinity : effect.iterations || 1,\n composite: effect.composite,\n direction: getDirection(effect),\n } as KeyframeEffectOptions & { rangeStart: string; rangeEnd: string };\n\n // if this is a TimeAnimation then set the duration and delay as time values\n if (effect.type.startsWith('Time')) {\n effectOptions.duration = effect.duration as number;\n effectOptions.delay = (effect as TimeAnimationOptions).delay || 0;\n } else {\n // if ViewTimeline is supported\n if (window.ViewTimeline) {\n // set duration to 'auto'\n effectOptions.duration = 'auto';\n } else {\n // if ViewTimeline not supported then put a 100ms value in duration get a progress we can easily relate to\n // we split the duration to 99.99ms and delay of 0.01ms to get the fill-mode effect working\n effectOptions.duration = 99.99;\n effectOptions.delay = 0.01;\n }\n }\n\n return {\n effect,\n options: effectOptions,\n id: effectId && `${effectId}-${index + 1}`,\n part: effect.part,\n };\n });\n}\n\nexport {\n getElement,\n getNamedEffect,\n getEffectsData,\n measure,\n mutate,\n getDirection,\n getLength,\n getRanges,\n};\n"],"mappings":"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","ignoreList":[]}