@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
package/README.md ADDED
@@ -0,0 +1,3 @@
1
+ # Wix Motion
2
+
3
+ > npm i @wix/motion
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.AnimationGroup = void 0;
6
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
+ /**
8
+ * @class AnimationGroup
9
+ *
10
+ * A wrapper object for simulating a GroupEffect and managing multiple animations.
11
+ * See: https://www.w3.org/TR/web-animations-2/#grouping-and-synchronization
12
+ */
13
+ class AnimationGroup {
14
+ constructor(animations, options) {
15
+ (0, _defineProperty2.default)(this, "animations", void 0);
16
+ (0, _defineProperty2.default)(this, "options", void 0);
17
+ (0, _defineProperty2.default)(this, "ready", void 0);
18
+ this.animations = animations;
19
+ this.options = options;
20
+ this.ready = (options == null ? void 0 : options.measured) || Promise.resolve();
21
+ }
22
+ getProgress() {
23
+ var _this$animations$;
24
+ return ((_this$animations$ = this.animations[0]) == null || (_this$animations$ = _this$animations$.effect) == null ? void 0 : _this$animations$.getComputedTiming().progress) || 0;
25
+ }
26
+ async play(callback) {
27
+ await this.ready;
28
+ for (const animation of this.animations) {
29
+ animation.play();
30
+ }
31
+
32
+ // TODO: Wait for all animations to be ready, using allSettled to handle rejections gracefully
33
+ // await Promise.allSettled(
34
+ await Promise.all(this.animations.map(animation => animation.ready));
35
+ if (callback) {
36
+ callback();
37
+ }
38
+ }
39
+ pause() {
40
+ for (const animation of this.animations) {
41
+ animation.pause();
42
+ }
43
+ }
44
+ async reverse(callback) {
45
+ await this.ready;
46
+ for (const animation of this.animations) {
47
+ animation.reverse();
48
+ }
49
+
50
+ // TODO: Wait for all animations to be ready, using allSettled to handle rejections gracefully
51
+ // await Promise.allSettled(
52
+ await Promise.all(this.animations.map(animation => animation.ready));
53
+ if (callback) {
54
+ callback();
55
+ }
56
+ }
57
+ progress(p) {
58
+ for (const animation of this.animations) {
59
+ const {
60
+ activeDuration
61
+ } = animation.effect.getComputedTiming();
62
+ const {
63
+ delay
64
+ } = animation.effect.getTiming();
65
+ animation.currentTime = ((delay || 0) + (activeDuration || 0)) * p;
66
+ }
67
+ }
68
+ cancel() {
69
+ for (const animation of this.animations) {
70
+ animation.cancel();
71
+ }
72
+ }
73
+ setPlaybackRate(rate) {
74
+ for (const animation of this.animations) {
75
+ animation.playbackRate = rate;
76
+ }
77
+ }
78
+ async onFinish(callback) {
79
+ try {
80
+ await Promise.all(this.animations.map(animation => animation.finished));
81
+ callback();
82
+ } catch (_error) {
83
+ console.warn('animation was interrupted - aborting onFinish callback - ', _error);
84
+ }
85
+ }
86
+ get playState() {
87
+ var _this$animations$2;
88
+ return (_this$animations$2 = this.animations[0]) == null ? void 0 : _this$animations$2.playState;
89
+ }
90
+ }
91
+ exports.AnimationGroup = AnimationGroup;
92
+ //# sourceMappingURL=AnimationGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AnimationGroup","constructor","animations","options","_defineProperty2","default","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","exports"],"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,123 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.getDirection = getDirection;
6
+ exports.getEffectsData = getEffectsData;
7
+ exports.getElement = getElement;
8
+ exports.getLength = getLength;
9
+ exports.getNamedEffect = getNamedEffect;
10
+ exports.getRanges = getRanges;
11
+ exports.measure = measure;
12
+ exports.mutate = mutate;
13
+ var _scroll = require("../library/scroll");
14
+ var _entrance = require("../library/entrance");
15
+ var _ongoing = require("../library/ongoing");
16
+ var _mouse = require("../library/mouse");
17
+ var _backgroundScroll = require("../library/backgroundScroll");
18
+ var _utils = require("../utils");
19
+ var _fastdom = _interopRequireDefault(require("fastdom"));
20
+ function getElement(id, ownerDocument) {
21
+ return id ? (ownerDocument || document).getElementById(id) : null;
22
+ }
23
+ function getDirection(effect) {
24
+ const alternate = effect.alternate ? 'alternate' : '';
25
+ return effect.reversed ? `${alternate ? `${alternate}-` : ''}reverse` : alternate || 'normal';
26
+ }
27
+ function getLength(length) {
28
+ return `${length.value}${(0, _utils.getCssUnits)(length.type)}`;
29
+ }
30
+ function getRange(range, add, isEnd) {
31
+ // according to the CSS spec if the end range is a <length> then it is calculated from the start of the named range
32
+ // our model assumes that <length> in end range is calculated from the end of the named range
33
+ 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)}`;
34
+ }
35
+ function getRanges(effect) {
36
+ return {
37
+ start: getRange(effect.startOffset, effect.startOffsetAdd),
38
+ end: getRange(effect.endOffset, effect.endOffsetAdd, true)
39
+ };
40
+ }
41
+ function measure(target) {
42
+ return fn => _fastdom.default.measure(() => fn(target));
43
+ }
44
+ function mutate(target) {
45
+ return fn => _fastdom.default.mutate(() => fn(target));
46
+ }
47
+ function getNamedEffect(animation) {
48
+ if (animation.namedEffect) {
49
+ const name = animation.namedEffect.type;
50
+
51
+ // check each preset library for the named effect
52
+ if (name in _scroll.scrollAnimations) {
53
+ return _scroll.scrollAnimations[name];
54
+ } else if (name in _entrance.entranceAnimations) {
55
+ return _entrance.entranceAnimations[name];
56
+ } else if (name in _ongoing.ongoingAnimations) {
57
+ return _ongoing.ongoingAnimations[name];
58
+ } else if (name in _mouse.mouseAnimations) {
59
+ return _mouse.mouseAnimations[name];
60
+ } else if (name in _backgroundScroll.backgroundScrollAnimations) {
61
+ return _backgroundScroll.backgroundScrollAnimations[name];
62
+ }
63
+ } else if (animation.keyframeEffect) {
64
+ const effect = animation_ => {
65
+ const {
66
+ name,
67
+ keyframes
68
+ } = animation_.keyframeEffect;
69
+ return [{
70
+ ...animation_,
71
+ name,
72
+ keyframes
73
+ }];
74
+ };
75
+ return {
76
+ web: effect,
77
+ style: effect
78
+ };
79
+ } else if (animation.customEffect) {
80
+ return animation_ => [{
81
+ ...animation_,
82
+ keyframes: []
83
+ }];
84
+ }
85
+ return null;
86
+ }
87
+ function getEffectsData(animations, effectId) {
88
+ // process each AnimationData object into a KeyframeEffect object
89
+ return animations.map((effect, index) => {
90
+ // prepare the KeyframeEffectOptions object
91
+ const effectOptions = {
92
+ fill: effect.fill,
93
+ easing: (0, _utils.getEasing)(effect.easing),
94
+ iterations: effect.iterations === 0 ? Infinity : effect.iterations || 1,
95
+ composite: effect.composite,
96
+ direction: getDirection(effect)
97
+ };
98
+
99
+ // if this is a TimeAnimation then set the duration and delay as time values
100
+ if (effect.type.startsWith('Time')) {
101
+ effectOptions.duration = effect.duration;
102
+ effectOptions.delay = effect.delay || 0;
103
+ } else {
104
+ // if ViewTimeline is supported
105
+ if (window.ViewTimeline) {
106
+ // set duration to 'auto'
107
+ effectOptions.duration = 'auto';
108
+ } else {
109
+ // if ViewTimeline not supported then put a 100ms value in duration get a progress we can easily relate to
110
+ // we split the duration to 99.99ms and delay of 0.01ms to get the fill-mode effect working
111
+ effectOptions.duration = 99.99;
112
+ effectOptions.delay = 0.01;
113
+ }
114
+ }
115
+ return {
116
+ effect,
117
+ options: effectOptions,
118
+ id: effectId && `${effectId}-${index + 1}`,
119
+ part: effect.part
120
+ };
121
+ });
122
+ }
123
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_scroll","require","_entrance","_ongoing","_mouse","_backgroundScroll","_utils","_fastdom","_interopRequireDefault","getElement","id","ownerDocument","document","getElementById","getDirection","effect","alternate","reversed","getLength","length","value","getCssUnits","type","getRange","range","add","isEnd","name","offset","getRanges","start","startOffset","startOffsetAdd","end","endOffset","endOffsetAdd","measure","target","fn","fastdom","mutate","getNamedEffect","animation","namedEffect","scrollAnimations","entranceAnimations","ongoingAnimations","mouseAnimations","backgroundScrollAnimations","keyframeEffect","animation_","keyframes","web","style","customEffect","getEffectsData","animations","effectId","map","index","effectOptions","fill","easing","getEasing","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":[]}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.getAnimationAsCSS = getAnimationAsCSS;
5
+ exports.getCSSAnimation = getCSSAnimation;
6
+ exports.getCSSAnimationEffect = getCSSAnimationEffect;
7
+ var _common = require("./common");
8
+ function getAnimationTarget(target, part) {
9
+ return target ? `#${target}${part ? `[data-motion-part~="${part}"]` : ''}` : '';
10
+ }
11
+ function getAnimationAsCSS(data, isRunning) {
12
+ const {
13
+ duration,
14
+ delay,
15
+ iterations = 1,
16
+ fill,
17
+ easing = 'linear',
18
+ direction
19
+ } = data.options;
20
+ const animationName = data.effect.name;
21
+ const isAutoDuration = duration === 'auto';
22
+ return `${animationName} ${isAutoDuration ? 'auto' : `${duration}ms`}${isAutoDuration ? ' ' : ` ${delay || 1}ms `}${easing}${fill && fill !== 'none' ? ` ${fill}` : ''} ${!iterations || iterations === Infinity ? 'infinite' : iterations}${direction === 'normal' ? '' : ` ${direction}`} ${isRunning ? '' : 'paused'}`;
23
+ }
24
+ function getCSSAnimationEffect(preset, animation) {
25
+ if (preset != null && preset.style) {
26
+ // validate duration is a number over 0
27
+ if (animation.type === 'TimeAnimationOptions') {
28
+ animation.duration = animation.duration || 1;
29
+ }
30
+ return preset.style(animation);
31
+ }
32
+ return [];
33
+ }
34
+ function getCSSAnimation(target, animationOptions, trigger) {
35
+ // get the preset for the given animation options
36
+ const namedEffect = (0, _common.getNamedEffect)(animationOptions);
37
+ const animationsData = getCSSAnimationEffect(namedEffect, animationOptions);
38
+ const data = (0, _common.getEffectsData)(animationsData, animationOptions.effectId);
39
+ const isViewProgress = (trigger == null ? void 0 : trigger.trigger) === 'view-progress';
40
+ return data.map((item, index) => {
41
+ const {
42
+ start,
43
+ end
44
+ } = isViewProgress ? (0, _common.getRanges)(item.effect) : {};
45
+ return {
46
+ target: getAnimationTarget(target, item.part),
47
+ animation: getAnimationAsCSS(item, isViewProgress),
48
+ composition: item.options.composite,
49
+ custom: item.effect.custom,
50
+ name: item.effect.name,
51
+ keyframes: item.effect.keyframes,
52
+ id: item.id && `${item.id}-${index + 1}`,
53
+ animationTimeline: isViewProgress ? `--${trigger == null ? void 0 : trigger.id}` : '',
54
+ animationRange: start || end ? `${start} ${end}` : ''
55
+ };
56
+ });
57
+ }
58
+ //# sourceMappingURL=cssAnimations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_common","require","getAnimationTarget","target","part","getAnimationAsCSS","data","isRunning","duration","delay","iterations","fill","easing","direction","options","animationName","effect","name","isAutoDuration","Infinity","getCSSAnimationEffect","preset","animation","style","type","getCSSAnimation","animationOptions","trigger","namedEffect","getNamedEffect","animationsData","getEffectsData","effectId","isViewProgress","map","item","index","start","end","getRanges","composition","composite","custom","keyframes","id","animationTimeline","animationRange"],"sources":["../../../src/api/cssAnimations.ts"],"sourcesContent":["import type {\n AnimationData,\n AnimationDataForScrub,\n AnimationEffectAPI,\n AnimationOptions,\n TriggerVariant,\n} from '../types';\nimport { getEffectsData, getRanges, getNamedEffect } from './common';\n\nfunction getAnimationTarget(target: string | null, part: string | undefined) {\n return target\n ? `#${target}${part ? `[data-motion-part~=\"${part}\"]` : ''}`\n : '';\n}\n\nfunction getAnimationAsCSS(\n data: {\n effect: AnimationData;\n options: KeyframeEffectOptions;\n id: string | undefined;\n part: string | undefined;\n },\n isRunning?: boolean,\n) {\n const {\n duration,\n delay,\n iterations = 1,\n fill,\n easing = 'linear',\n direction,\n } = data.options;\n const animationName = data.effect.name;\n const isAutoDuration = duration === 'auto';\n\n return `${animationName} ${isAutoDuration ? 'auto' : `${duration}ms`}${\n isAutoDuration ? ' ' : ` ${delay || 1}ms `\n }${easing}${fill && fill !== 'none' ? ` ${fill}` : ''} ${\n !iterations || iterations === Infinity ? 'infinite' : iterations\n }${direction === 'normal' ? '' : ` ${direction}`} ${\n isRunning ? '' : 'paused'\n }`;\n}\n\nfunction getCSSAnimationEffect(\n preset: AnimationEffectAPI<any> | null,\n animation: AnimationOptions,\n): AnimationData[] {\n if (preset?.style) {\n // validate duration is a number over 0\n if (animation.type === 'TimeAnimationOptions') {\n animation.duration = animation.duration || 1;\n }\n\n return preset.style(animation);\n }\n\n return [];\n}\n\nfunction getCSSAnimation(\n target: string | null,\n animationOptions: AnimationOptions,\n trigger?: TriggerVariant,\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 = getCSSAnimationEffect(namedEffect, animationOptions);\n const data = getEffectsData(animationsData, animationOptions.effectId);\n const isViewProgress = trigger?.trigger === 'view-progress';\n\n return data.map((item, index) => {\n const { start, end }: { start?: string; end?: string } = isViewProgress\n ? getRanges(item.effect as AnimationDataForScrub)\n : {};\n\n return {\n target: getAnimationTarget(target, item.part),\n animation: getAnimationAsCSS(item, isViewProgress),\n composition: item.options.composite,\n custom: item.effect.custom,\n name: item.effect.name,\n keyframes: item.effect.keyframes,\n id: item.id && `${item.id}-${index + 1}`,\n animationTimeline: isViewProgress ? `--${trigger?.id}` : '',\n animationRange: start || end ? `${start} ${end}` : '',\n };\n });\n}\n\nexport { getCSSAnimation, getCSSAnimationEffect, getAnimationAsCSS };\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.prepareAnimation = prepareAnimation;
6
+ var _common = require("./common");
7
+ var _fastdom = _interopRequireDefault(require("fastdom"));
8
+ function prepareAnimation(target, animation, callback) {
9
+ const preset = (0, _common.getNamedEffect)(animation);
10
+ const element = target instanceof HTMLElement ? target : (0, _common.getElement)(target);
11
+ if (preset && preset.prepare && element) {
12
+ const domApi = {
13
+ measure: (0, _common.measure)(element),
14
+ mutate: (0, _common.mutate)(element)
15
+ };
16
+ preset.prepare(animation, domApi);
17
+ }
18
+ callback && _fastdom.default.mutate(callback);
19
+ }
20
+ //# sourceMappingURL=prepare.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_common","require","_fastdom","_interopRequireDefault","prepareAnimation","target","animation","callback","preset","getNamedEffect","element","HTMLElement","getElement","prepare","domApi","measure","mutate","fastdom"],"sources":["../../../src/api/prepare.ts"],"sourcesContent":["import type {\n AnimationEffectAPI,\n AnimationOptions,\n TimeAnimationOptions,\n} from '../types';\nimport { getElement, getNamedEffect, measure, mutate } from './common';\nimport fastdom from 'fastdom';\n\nfunction prepareAnimation(\n target: HTMLElement | string | null,\n animation: AnimationOptions,\n callback?: () => void,\n) {\n const preset = getNamedEffect(animation);\n const element = target instanceof HTMLElement ? target : getElement(target);\n\n if (preset && (preset as AnimationEffectAPI<'time'>).prepare && element) {\n const domApi = { measure: measure(element), mutate: mutate(element) };\n\n (preset as AnimationEffectAPI<'time'>).prepare!(\n animation as TimeAnimationOptions,\n domApi,\n );\n }\n\n callback && fastdom.mutate(callback);\n}\n\nexport { prepareAnimation };\n"],"mappings":";;;;;AAKA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,SAASG,gBAAgBA,CACvBC,MAAmC,EACnCC,SAA2B,EAC3BC,QAAqB,EACrB;EACA,MAAMC,MAAM,GAAG,IAAAC,sBAAc,EAACH,SAAS,CAAC;EACxC,MAAMI,OAAO,GAAGL,MAAM,YAAYM,WAAW,GAAGN,MAAM,GAAG,IAAAO,kBAAU,EAACP,MAAM,CAAC;EAE3E,IAAIG,MAAM,IAAKA,MAAM,CAAgCK,OAAO,IAAIH,OAAO,EAAE;IACvE,MAAMI,MAAM,GAAG;MAAEC,OAAO,EAAE,IAAAA,eAAO,EAACL,OAAO,CAAC;MAAEM,MAAM,EAAE,IAAAA,cAAM,EAACN,OAAO;IAAE,CAAC;IAEpEF,MAAM,CAAgCK,OAAO,CAC5CP,SAAS,EACTQ,MACF,CAAC;EACH;EAEAP,QAAQ,IAAIU,gBAAO,CAACD,MAAM,CAACT,QAAQ,CAAC;AACtC","ignoreList":[]}
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.getWebAnimation = getWebAnimation;
6
+ var _AnimationGroup = require("../AnimationGroup");
7
+ var _common = require("./common");
8
+ var _fastdom = _interopRequireDefault(require("fastdom"));
9
+ function getWebAnimationEffect(preset, animation, target, options) {
10
+ if (preset) {
11
+ let domApi;
12
+ if (target instanceof HTMLElement) {
13
+ domApi = {
14
+ measure: (0, _common.measure)(target),
15
+ mutate: (0, _common.mutate)(target)
16
+ };
17
+ }
18
+
19
+ // validate duration is a number over 0
20
+ if (animation.type === 'TimeAnimationOptions') {
21
+ animation.duration = animation.duration || 1;
22
+ }
23
+ return preset.web ? preset.web(animation, domApi, options) : preset(animation, domApi, options);
24
+ }
25
+ return [];
26
+ }
27
+ function getWebAnimation(target, animationOptions, trigger, options, ownerDocument) {
28
+ const element = target instanceof HTMLElement ? target : (0, _common.getElement)(target, ownerDocument);
29
+ if ((trigger == null ? void 0 : trigger.trigger) === 'pointer-move') {
30
+ let effectOptions = animationOptions;
31
+ if (animationOptions.customEffect) {
32
+ effectOptions = {
33
+ ...animationOptions,
34
+ namedEffect: {
35
+ id: '',
36
+ type: 'CustomMouse'
37
+ }
38
+ };
39
+ }
40
+
41
+ // TODO: need to fix the type here, currently lying about the returned type to be WebAnimationEffectFactory instead of MouseAnimationFactoryCreate
42
+ const mouseAnimationPreset = (0, _common.getNamedEffect)(effectOptions);
43
+ const mouseAnimationFactory = getWebAnimationEffect(mouseAnimationPreset, animationOptions, element, options);
44
+ return mouseAnimationFactory(element);
45
+ }
46
+
47
+ // get the preset for the given animation options
48
+ const namedEffect = (0, _common.getNamedEffect)(animationOptions);
49
+ const animationsData = getWebAnimationEffect(namedEffect, animationOptions, element, options);
50
+ const data = (0, _common.getEffectsData)(animationsData, animationOptions.effectId);
51
+ let timeline;
52
+ const isViewProgress = (trigger == null ? void 0 : trigger.trigger) === 'view-progress';
53
+
54
+ // if this is a ScrubAnimation with view-progress trigger and the browser supports the ViewTimeline API
55
+ if (isViewProgress && window.ViewTimeline) {
56
+ // generate the timeline object
57
+ // @ts-expect-error
58
+ timeline = new ViewTimeline({
59
+ subject: trigger.element || (0, _common.getElement)(trigger.componentId)
60
+ });
61
+ }
62
+
63
+ // generate an Animation object for each data object
64
+ const animations = data.map(({
65
+ effect,
66
+ options: effectOptions,
67
+ id,
68
+ part
69
+ }) => {
70
+ const effectTarget = part ? element == null ? void 0 : element.querySelector(`[data-motion-part~="${part}"]`) // maybe add ~ here as well
71
+ : element;
72
+ const keyframeEffect = new KeyframeEffect(effectTarget || null, [], effectOptions);
73
+
74
+ // set the keyframes for the KeyframeEffect after measurements and mutations
75
+ _fastdom.default.mutate(() => {
76
+ if ('timing' in effect) {
77
+ keyframeEffect.updateTiming(effect.timing);
78
+ }
79
+ keyframeEffect.setKeyframes(effect.keyframes);
80
+ });
81
+ const animation = isViewProgress && timeline ? new Animation(keyframeEffect, timeline) : new Animation(keyframeEffect);
82
+
83
+ // if this is a ScrubAnimation with view-progress trigger and the browser supports the ViewTimeline API
84
+ if (isViewProgress) {
85
+ if (timeline) {
86
+ // set the ranges for the animation after measurements and mutations
87
+ _fastdom.default.mutate(() => {
88
+ const {
89
+ start,
90
+ end
91
+ } = (0, _common.getRanges)(effect);
92
+ // @ts-expect-error
93
+ animation.rangeStart = start;
94
+ // @ts-expect-error
95
+ animation.rangeEnd = end;
96
+ animation.play();
97
+ });
98
+ } else {
99
+ const {
100
+ startOffset,
101
+ endOffset
102
+ } = animationOptions;
103
+
104
+ // set the ranges for the animation after measurements and mutations
105
+ _fastdom.default.mutate(() => {
106
+ var _offset, _offset2;
107
+ const startOffsetToWrite = effect.startOffset || startOffset;
108
+ const endOffsetToWrite = effect.endOffset || endOffset;
109
+ Object.assign(animation, {
110
+ start: {
111
+ name: startOffsetToWrite.name,
112
+ offset: (_offset = startOffsetToWrite.offset) == null ? void 0 : _offset.value,
113
+ add: effect.startOffsetAdd
114
+ },
115
+ end: {
116
+ name: endOffsetToWrite.name,
117
+ offset: (_offset2 = endOffsetToWrite.offset) == null ? void 0 : _offset2.value,
118
+ add: effect.endOffsetAdd
119
+ }
120
+ });
121
+ });
122
+ }
123
+ }
124
+ if (id) {
125
+ animation.id = id;
126
+ }
127
+ return animation;
128
+ });
129
+
130
+ // create an AnimationGroup with the generate animations
131
+ return new _AnimationGroup.AnimationGroup(animations, {
132
+ ...animationOptions,
133
+ trigger: {
134
+ ...(trigger || {})
135
+ },
136
+ // make sure the group is ready after all animation targets are measured and mutated
137
+ measured: new Promise(resolve => _fastdom.default.mutate(resolve))
138
+ });
139
+ }
140
+ //# sourceMappingURL=webAnimations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_AnimationGroup","require","_common","_fastdom","_interopRequireDefault","getWebAnimationEffect","preset","animation","target","options","domApi","HTMLElement","measure","mutate","type","duration","web","getWebAnimation","animationOptions","trigger","ownerDocument","element","getElement","effectOptions","customEffect","namedEffect","id","mouseAnimationPreset","getNamedEffect","mouseAnimationFactory","animationsData","data","getEffectsData","effectId","timeline","isViewProgress","window","ViewTimeline","subject","componentId","animations","map","effect","part","effectTarget","querySelector","keyframeEffect","KeyframeEffect","fastdom","updateTiming","timing","setKeyframes","keyframes","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 { AnimationGroup } from '../AnimationGroup';\nimport {\n getElement,\n measure,\n mutate,\n getRanges,\n getNamedEffect,\n getEffectsData,\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 options?: Record<string, any>,\n): AnimationData[] | MouseAnimationFactory {\n if (preset) {\n let domApi;\n if (target instanceof HTMLElement) {\n domApi = { measure: measure(target), mutate: mutate(target) };\n }\n\n // validate duration is a number over 0\n if (animation.type === 'TimeAnimationOptions') {\n animation.duration = animation.duration || 1;\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 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 options,\n ) as AnimationData[];\n const data = getEffectsData(animationsData, animationOptions.effectId);\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\n ? element?.querySelector(`[data-motion-part~=\"${part}\"]`) // maybe add ~ here as well\n : 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 animation: Animation =\n isViewProgress && timeline\n ? new Animation(keyframeEffect, timeline as AnimationTimeline)\n : new Animation(keyframeEffect);\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":[]}