@wix/motion 1.661.0 → 1.663.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 (248) hide show
  1. package/dist/cjs/library/backgroundScroll/BgCloseUp.js +29 -8
  2. package/dist/cjs/library/backgroundScroll/BgCloseUp.js.map +1 -1
  3. package/dist/cjs/library/backgroundScroll/BgFade.js +24 -9
  4. package/dist/cjs/library/backgroundScroll/BgFade.js.map +1 -1
  5. package/dist/cjs/library/backgroundScroll/BgFadeBack.js +29 -8
  6. package/dist/cjs/library/backgroundScroll/BgFadeBack.js.map +1 -1
  7. package/dist/cjs/library/backgroundScroll/BgFake3D.js +40 -12
  8. package/dist/cjs/library/backgroundScroll/BgFake3D.js.map +1 -1
  9. package/dist/cjs/library/backgroundScroll/BgPan.js +27 -13
  10. package/dist/cjs/library/backgroundScroll/BgPan.js.map +1 -1
  11. package/dist/cjs/library/backgroundScroll/BgParallax.js +27 -8
  12. package/dist/cjs/library/backgroundScroll/BgParallax.js.map +1 -1
  13. package/dist/cjs/library/backgroundScroll/BgPullBack.js +28 -7
  14. package/dist/cjs/library/backgroundScroll/BgPullBack.js.map +1 -1
  15. package/dist/cjs/library/backgroundScroll/BgReveal.js +19 -5
  16. package/dist/cjs/library/backgroundScroll/BgReveal.js.map +1 -1
  17. package/dist/cjs/library/backgroundScroll/BgRotate.js +17 -3
  18. package/dist/cjs/library/backgroundScroll/BgRotate.js.map +1 -1
  19. package/dist/cjs/library/backgroundScroll/BgSkew.js +27 -8
  20. package/dist/cjs/library/backgroundScroll/BgSkew.js.map +1 -1
  21. package/dist/cjs/library/backgroundScroll/BgZoom.js +82 -44
  22. package/dist/cjs/library/backgroundScroll/BgZoom.js.map +1 -1
  23. package/dist/cjs/library/backgroundScroll/ImageParallax.js +37 -14
  24. package/dist/cjs/library/backgroundScroll/ImageParallax.js.map +1 -1
  25. package/dist/cjs/library/backgroundScroll/index.js +25 -25
  26. package/dist/cjs/library/backgroundScroll/index.js.map +1 -1
  27. package/dist/cjs/library/backgroundScroll/utils.js +15 -4
  28. package/dist/cjs/library/backgroundScroll/utils.js.map +1 -1
  29. package/dist/cjs/library/entrance/BounceIn.js +1 -1
  30. package/dist/cjs/library/entrance/BounceIn.js.map +1 -1
  31. package/dist/cjs/library/ongoing/Breathe.js +1 -1
  32. package/dist/cjs/library/ongoing/Breathe.js.map +1 -1
  33. package/dist/cjs/library/scroll/ArcScroll.js +23 -38
  34. package/dist/cjs/library/scroll/ArcScroll.js.map +1 -1
  35. package/dist/cjs/library/scroll/BlurScroll.js +20 -14
  36. package/dist/cjs/library/scroll/BlurScroll.js.map +1 -1
  37. package/dist/cjs/library/scroll/FadeScroll.js +22 -16
  38. package/dist/cjs/library/scroll/FadeScroll.js.map +1 -1
  39. package/dist/cjs/library/scroll/FlipScroll.js +21 -21
  40. package/dist/cjs/library/scroll/FlipScroll.js.map +1 -1
  41. package/dist/cjs/library/scroll/GrowScroll.js +38 -99
  42. package/dist/cjs/library/scroll/GrowScroll.js.map +1 -1
  43. package/dist/cjs/library/scroll/MoveScroll.js +56 -84
  44. package/dist/cjs/library/scroll/MoveScroll.js.map +1 -1
  45. package/dist/cjs/library/scroll/PanScroll.js +50 -50
  46. package/dist/cjs/library/scroll/PanScroll.js.map +1 -1
  47. package/dist/cjs/library/scroll/ParallaxScroll.js +19 -32
  48. package/dist/cjs/library/scroll/ParallaxScroll.js.map +1 -1
  49. package/dist/cjs/library/scroll/RevealScroll.js +37 -70
  50. package/dist/cjs/library/scroll/RevealScroll.js.map +1 -1
  51. package/dist/cjs/library/scroll/ShapeScroll.js +39 -39
  52. package/dist/cjs/library/scroll/ShapeScroll.js.map +1 -1
  53. package/dist/cjs/library/scroll/ShrinkScroll.js +37 -95
  54. package/dist/cjs/library/scroll/ShrinkScroll.js.map +1 -1
  55. package/dist/cjs/library/scroll/ShuttersScroll.js +41 -33
  56. package/dist/cjs/library/scroll/ShuttersScroll.js.map +1 -1
  57. package/dist/cjs/library/scroll/SkewPanScroll.js +50 -87
  58. package/dist/cjs/library/scroll/SkewPanScroll.js.map +1 -1
  59. package/dist/cjs/library/scroll/SlideScroll.js +61 -84
  60. package/dist/cjs/library/scroll/SlideScroll.js.map +1 -1
  61. package/dist/cjs/library/scroll/Spin3dScroll.js +47 -79
  62. package/dist/cjs/library/scroll/Spin3dScroll.js.map +1 -1
  63. package/dist/cjs/library/scroll/SpinScroll.js +24 -20
  64. package/dist/cjs/library/scroll/SpinScroll.js.map +1 -1
  65. package/dist/cjs/library/scroll/StretchScroll.js +49 -33
  66. package/dist/cjs/library/scroll/StretchScroll.js.map +1 -1
  67. package/dist/cjs/library/scroll/TiltScroll.js +44 -85
  68. package/dist/cjs/library/scroll/TiltScroll.js.map +1 -1
  69. package/dist/cjs/library/scroll/TurnScroll.js +57 -84
  70. package/dist/cjs/library/scroll/TurnScroll.js.map +1 -1
  71. package/dist/cjs/library/scroll/index.js +39 -39
  72. package/dist/cjs/library/scroll/index.js.map +1 -1
  73. package/dist/cjs/types.js.map +1 -1
  74. package/dist/cjs/utils.js +37 -4
  75. package/dist/cjs/utils.js.map +1 -1
  76. package/dist/esm/library/backgroundScroll/BgCloseUp.js +28 -7
  77. package/dist/esm/library/backgroundScroll/BgCloseUp.js.map +1 -1
  78. package/dist/esm/library/backgroundScroll/BgFade.js +22 -7
  79. package/dist/esm/library/backgroundScroll/BgFade.js.map +1 -1
  80. package/dist/esm/library/backgroundScroll/BgFadeBack.js +27 -6
  81. package/dist/esm/library/backgroundScroll/BgFadeBack.js.map +1 -1
  82. package/dist/esm/library/backgroundScroll/BgFake3D.js +36 -8
  83. package/dist/esm/library/backgroundScroll/BgFake3D.js.map +1 -1
  84. package/dist/esm/library/backgroundScroll/BgPan.js +25 -11
  85. package/dist/esm/library/backgroundScroll/BgPan.js.map +1 -1
  86. package/dist/esm/library/backgroundScroll/BgParallax.js +24 -5
  87. package/dist/esm/library/backgroundScroll/BgParallax.js.map +1 -1
  88. package/dist/esm/library/backgroundScroll/BgPullBack.js +26 -5
  89. package/dist/esm/library/backgroundScroll/BgPullBack.js.map +1 -1
  90. package/dist/esm/library/backgroundScroll/BgReveal.js +15 -4
  91. package/dist/esm/library/backgroundScroll/BgReveal.js.map +1 -1
  92. package/dist/esm/library/backgroundScroll/BgRotate.js +17 -2
  93. package/dist/esm/library/backgroundScroll/BgRotate.js.map +1 -1
  94. package/dist/esm/library/backgroundScroll/BgSkew.js +25 -6
  95. package/dist/esm/library/backgroundScroll/BgSkew.js.map +1 -1
  96. package/dist/esm/library/backgroundScroll/BgZoom.js +82 -44
  97. package/dist/esm/library/backgroundScroll/BgZoom.js.map +1 -1
  98. package/dist/esm/library/backgroundScroll/ImageParallax.js +35 -12
  99. package/dist/esm/library/backgroundScroll/ImageParallax.js.map +1 -1
  100. package/dist/esm/library/backgroundScroll/index.js +12 -12
  101. package/dist/esm/library/backgroundScroll/index.js.map +1 -1
  102. package/dist/esm/library/backgroundScroll/utils.js +15 -4
  103. package/dist/esm/library/backgroundScroll/utils.js.map +1 -1
  104. package/dist/esm/library/entrance/BounceIn.js +1 -1
  105. package/dist/esm/library/entrance/BounceIn.js.map +1 -1
  106. package/dist/esm/library/ongoing/Breathe.js +1 -1
  107. package/dist/esm/library/ongoing/Breathe.js.map +1 -1
  108. package/dist/esm/library/scroll/ArcScroll.js +22 -36
  109. package/dist/esm/library/scroll/ArcScroll.js.map +1 -1
  110. package/dist/esm/library/scroll/BlurScroll.js +20 -13
  111. package/dist/esm/library/scroll/BlurScroll.js.map +1 -1
  112. package/dist/esm/library/scroll/FadeScroll.js +22 -15
  113. package/dist/esm/library/scroll/FadeScroll.js.map +1 -1
  114. package/dist/esm/library/scroll/FlipScroll.js +21 -20
  115. package/dist/esm/library/scroll/FlipScroll.js.map +1 -1
  116. package/dist/esm/library/scroll/GrowScroll.js +38 -99
  117. package/dist/esm/library/scroll/GrowScroll.js.map +1 -1
  118. package/dist/esm/library/scroll/MoveScroll.js +57 -85
  119. package/dist/esm/library/scroll/MoveScroll.js.map +1 -1
  120. package/dist/esm/library/scroll/PanScroll.js +50 -50
  121. package/dist/esm/library/scroll/PanScroll.js.map +1 -1
  122. package/dist/esm/library/scroll/ParallaxScroll.js +19 -32
  123. package/dist/esm/library/scroll/ParallaxScroll.js.map +1 -1
  124. package/dist/esm/library/scroll/RevealScroll.js +34 -70
  125. package/dist/esm/library/scroll/RevealScroll.js.map +1 -1
  126. package/dist/esm/library/scroll/ShapeScroll.js +40 -39
  127. package/dist/esm/library/scroll/ShapeScroll.js.map +1 -1
  128. package/dist/esm/library/scroll/ShrinkScroll.js +37 -95
  129. package/dist/esm/library/scroll/ShrinkScroll.js.map +1 -1
  130. package/dist/esm/library/scroll/ShuttersScroll.js +42 -33
  131. package/dist/esm/library/scroll/ShuttersScroll.js.map +1 -1
  132. package/dist/esm/library/scroll/SkewPanScroll.js +49 -86
  133. package/dist/esm/library/scroll/SkewPanScroll.js.map +1 -1
  134. package/dist/esm/library/scroll/SlideScroll.js +61 -84
  135. package/dist/esm/library/scroll/SlideScroll.js.map +1 -1
  136. package/dist/esm/library/scroll/Spin3dScroll.js +47 -79
  137. package/dist/esm/library/scroll/Spin3dScroll.js.map +1 -1
  138. package/dist/esm/library/scroll/SpinScroll.js +24 -19
  139. package/dist/esm/library/scroll/SpinScroll.js.map +1 -1
  140. package/dist/esm/library/scroll/StretchScroll.js +49 -32
  141. package/dist/esm/library/scroll/StretchScroll.js.map +1 -1
  142. package/dist/esm/library/scroll/TiltScroll.js +44 -85
  143. package/dist/esm/library/scroll/TiltScroll.js.map +1 -1
  144. package/dist/esm/library/scroll/TurnScroll.js +56 -83
  145. package/dist/esm/library/scroll/TurnScroll.js.map +1 -1
  146. package/dist/esm/library/scroll/index.js +19 -19
  147. package/dist/esm/library/scroll/index.js.map +1 -1
  148. package/dist/esm/types.js.map +1 -1
  149. package/dist/esm/utils.js +32 -3
  150. package/dist/esm/utils.js.map +1 -1
  151. package/dist/types/api/common.d.ts +7 -1
  152. package/dist/types/api/common.d.ts.map +1 -1
  153. package/dist/types/library/backgroundScroll/BgCloseUp.d.ts +83 -2
  154. package/dist/types/library/backgroundScroll/BgCloseUp.d.ts.map +1 -1
  155. package/dist/types/library/backgroundScroll/BgFade.d.ts +46 -2
  156. package/dist/types/library/backgroundScroll/BgFade.d.ts.map +1 -1
  157. package/dist/types/library/backgroundScroll/BgFadeBack.d.ts +85 -3
  158. package/dist/types/library/backgroundScroll/BgFadeBack.d.ts.map +1 -1
  159. package/dist/types/library/backgroundScroll/BgFake3D.d.ts +82 -2
  160. package/dist/types/library/backgroundScroll/BgFake3D.d.ts.map +1 -1
  161. package/dist/types/library/backgroundScroll/BgPan.d.ts +44 -2
  162. package/dist/types/library/backgroundScroll/BgPan.d.ts.map +1 -1
  163. package/dist/types/library/backgroundScroll/BgParallax.d.ts +44 -2
  164. package/dist/types/library/backgroundScroll/BgParallax.d.ts.map +1 -1
  165. package/dist/types/library/backgroundScroll/BgPullBack.d.ts +44 -2
  166. package/dist/types/library/backgroundScroll/BgPullBack.d.ts.map +1 -1
  167. package/dist/types/library/backgroundScroll/BgReveal.d.ts +6 -1
  168. package/dist/types/library/backgroundScroll/BgReveal.d.ts.map +1 -1
  169. package/dist/types/library/backgroundScroll/BgRotate.d.ts +28 -1
  170. package/dist/types/library/backgroundScroll/BgRotate.d.ts.map +1 -1
  171. package/dist/types/library/backgroundScroll/BgSkew.d.ts +44 -2
  172. package/dist/types/library/backgroundScroll/BgSkew.d.ts.map +1 -1
  173. package/dist/types/library/backgroundScroll/BgZoom.d.ts +7 -71
  174. package/dist/types/library/backgroundScroll/BgZoom.d.ts.map +1 -1
  175. package/dist/types/library/backgroundScroll/ImageParallax.d.ts +45 -2
  176. package/dist/types/library/backgroundScroll/ImageParallax.d.ts.map +1 -1
  177. package/dist/types/library/backgroundScroll/index.d.ts.map +1 -1
  178. package/dist/types/library/backgroundScroll/utils.d.ts +4 -3
  179. package/dist/types/library/backgroundScroll/utils.d.ts.map +1 -1
  180. package/dist/types/library/ongoing/Bounce.d.ts +2 -0
  181. package/dist/types/library/ongoing/Bounce.d.ts.map +1 -1
  182. package/dist/types/library/ongoing/Breathe.d.ts +2 -0
  183. package/dist/types/library/ongoing/Breathe.d.ts.map +1 -1
  184. package/dist/types/library/ongoing/Cross.d.ts +1 -0
  185. package/dist/types/library/ongoing/Cross.d.ts.map +1 -1
  186. package/dist/types/library/ongoing/Flash.d.ts +2 -0
  187. package/dist/types/library/ongoing/Flash.d.ts.map +1 -1
  188. package/dist/types/library/ongoing/Flip.d.ts +2 -0
  189. package/dist/types/library/ongoing/Flip.d.ts.map +1 -1
  190. package/dist/types/library/ongoing/Fold.d.ts +2 -0
  191. package/dist/types/library/ongoing/Fold.d.ts.map +1 -1
  192. package/dist/types/library/ongoing/Jello.d.ts +2 -0
  193. package/dist/types/library/ongoing/Jello.d.ts.map +1 -1
  194. package/dist/types/library/ongoing/Poke.d.ts +2 -0
  195. package/dist/types/library/ongoing/Poke.d.ts.map +1 -1
  196. package/dist/types/library/ongoing/Pulse.d.ts +2 -0
  197. package/dist/types/library/ongoing/Pulse.d.ts.map +1 -1
  198. package/dist/types/library/ongoing/Rubber.d.ts +2 -0
  199. package/dist/types/library/ongoing/Rubber.d.ts.map +1 -1
  200. package/dist/types/library/ongoing/Spin.d.ts +2 -0
  201. package/dist/types/library/ongoing/Spin.d.ts.map +1 -1
  202. package/dist/types/library/ongoing/Swing.d.ts +2 -0
  203. package/dist/types/library/ongoing/Swing.d.ts.map +1 -1
  204. package/dist/types/library/ongoing/Wiggle.d.ts +2 -0
  205. package/dist/types/library/ongoing/Wiggle.d.ts.map +1 -1
  206. package/dist/types/library/scroll/ArcScroll.d.ts +35 -2
  207. package/dist/types/library/scroll/ArcScroll.d.ts.map +1 -1
  208. package/dist/types/library/scroll/BlurScroll.d.ts +36 -2
  209. package/dist/types/library/scroll/BlurScroll.d.ts.map +1 -1
  210. package/dist/types/library/scroll/FadeScroll.d.ts +35 -2
  211. package/dist/types/library/scroll/FadeScroll.d.ts.map +1 -1
  212. package/dist/types/library/scroll/FlipScroll.d.ts +35 -2
  213. package/dist/types/library/scroll/FlipScroll.d.ts.map +1 -1
  214. package/dist/types/library/scroll/GrowScroll.d.ts +45 -2
  215. package/dist/types/library/scroll/GrowScroll.d.ts.map +1 -1
  216. package/dist/types/library/scroll/MoveScroll.d.ts +40 -1
  217. package/dist/types/library/scroll/MoveScroll.d.ts.map +1 -1
  218. package/dist/types/library/scroll/PanScroll.d.ts +35 -1
  219. package/dist/types/library/scroll/PanScroll.d.ts.map +1 -1
  220. package/dist/types/library/scroll/ParallaxScroll.d.ts +35 -2
  221. package/dist/types/library/scroll/ParallaxScroll.d.ts.map +1 -1
  222. package/dist/types/library/scroll/RevealScroll.d.ts +37 -3
  223. package/dist/types/library/scroll/RevealScroll.d.ts.map +1 -1
  224. package/dist/types/library/scroll/ShapeScroll.d.ts +46 -3
  225. package/dist/types/library/scroll/ShapeScroll.d.ts.map +1 -1
  226. package/dist/types/library/scroll/ShrinkScroll.d.ts +45 -2
  227. package/dist/types/library/scroll/ShrinkScroll.d.ts.map +1 -1
  228. package/dist/types/library/scroll/ShuttersScroll.d.ts +42 -15
  229. package/dist/types/library/scroll/ShuttersScroll.d.ts.map +1 -1
  230. package/dist/types/library/scroll/SkewPanScroll.d.ts +39 -1
  231. package/dist/types/library/scroll/SkewPanScroll.d.ts.map +1 -1
  232. package/dist/types/library/scroll/SlideScroll.d.ts +29 -2
  233. package/dist/types/library/scroll/SlideScroll.d.ts.map +1 -1
  234. package/dist/types/library/scroll/Spin3dScroll.d.ts +49 -2
  235. package/dist/types/library/scroll/Spin3dScroll.d.ts.map +1 -1
  236. package/dist/types/library/scroll/SpinScroll.d.ts +39 -2
  237. package/dist/types/library/scroll/SpinScroll.d.ts.map +1 -1
  238. package/dist/types/library/scroll/StretchScroll.d.ts +74 -2
  239. package/dist/types/library/scroll/StretchScroll.d.ts.map +1 -1
  240. package/dist/types/library/scroll/TiltScroll.d.ts +95 -2
  241. package/dist/types/library/scroll/TiltScroll.d.ts.map +1 -1
  242. package/dist/types/library/scroll/TurnScroll.d.ts +44 -7
  243. package/dist/types/library/scroll/TurnScroll.d.ts.map +1 -1
  244. package/dist/types/types.d.ts +5 -4
  245. package/dist/types/types.d.ts.map +1 -1
  246. package/dist/types/utils.d.ts +8 -2
  247. package/dist/types/utils.d.ts.map +1 -1
  248. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"names":["_utils","require","DIRECTIONS","OPPOSITE_DIRECTION_MAP","top","bottom","left","right","DIRECTION_TRANSLATION_MAP","x","y","initialClip","getClipPolygonParams","direction","KEYFRAMES_RANGE_MAP","in","clip","translate","clipPath","from","transform","out","continuous","to","create","options","dom","range","namedEffect","easing","fill","oppositeDirection","keyframes","measure","target","rotation","parseInt","getComputedStyle","getPropertyValue","mutate","adjDirection","getAdjustedDirection","style","setProperty"],"sources":["../../../../src/library/scroll/SlideScroll.ts"],"sourcesContent":["import type {\n ScrubAnimationOptions,\n SlideScroll,\n EffectFourDirections,\n EffectScrollRange,\n DomApi,\n AnimationFillMode,\n} from '../../types';\nimport { getAdjustedDirection, getClipPolygonParams } from '../../utils';\n\ntype Translate = { x: string; y: string };\n\nconst DIRECTIONS: EffectFourDirections[] = ['bottom', 'left', 'top', 'right'];\n\ntype Direction = (typeof DIRECTIONS)[number];\n\nconst OPPOSITE_DIRECTION_MAP: Record<Direction, Direction> = {\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left',\n};\n\nconst DIRECTION_TRANSLATION_MAP: Record<Direction, Translate> = {\n top: { x: '0', y: '-100%' },\n right: { x: '100%', y: '0' },\n bottom: { x: '0', y: '100%' },\n left: { x: '-100%', y: '0' },\n};\n\nconst initialClip = getClipPolygonParams({ direction: 'initial' });\n\nconst KEYFRAMES_RANGE_MAP: Record<\n EffectScrollRange,\n (\n clip: { from: string; to: string },\n translate: { from: Translate; to: Translate },\n ) => { clipPath: string; transform: string }[]\n> = {\n in: (clip, translate) => [\n {\n clipPath: `var(--motion-clip-from, ${clip.from})`,\n transform: `rotate(var(--comp-rotate-z, 0)) translate(${translate.from.x}, ${translate.from.y})`,\n },\n {\n clipPath: initialClip,\n transform: `rotate(var(--comp-rotate-z, 0)) translate(0, 0)`,\n },\n ],\n out: (clip, translate) => [\n {\n clipPath: initialClip,\n transform: `rotate(var(--comp-rotate-z, 0)) translate(0, 0)`,\n },\n {\n clipPath: `var(--motion-clip-from, ${clip.from})`,\n transform: `rotate(var(--comp-rotate-z, 0)) translate(${translate.from.x}, ${translate.from.y})`,\n },\n ],\n continuous: (clip, translate) => [\n {\n clipPath: `var(--motion-clip-from, ${clip.from})`,\n transform: `rotate(var(--comp-rotate-z, 0)) translate(${translate.from.x}, ${translate.from.y})`,\n },\n {\n clipPath: initialClip,\n transform: `rotate(var(--comp-rotate-z, 0)) translate(0, 0)`,\n },\n {\n clipPath: `var(--motion-clip-to, ${clip.to})`,\n transform: `rotate(var(--comp-rotate-z, 0)) translate(${translate.to.x}, ${translate.to.y})`,\n },\n ],\n};\n\nexport default function create(options: ScrubAnimationOptions, dom?: DomApi) {\n const { direction = 'bottom', range = 'in' } =\n options.namedEffect as SlideScroll;\n const easing = 'linear';\n const fill = (\n range === 'out' ? 'forwards' : range === 'in' ? 'backwards' : options.fill\n ) as AnimationFillMode;\n const oppositeDirection = OPPOSITE_DIRECTION_MAP[direction];\n\n const keyframes = KEYFRAMES_RANGE_MAP[range](\n {\n from: getClipPolygonParams({\n direction: oppositeDirection,\n }),\n to: getClipPolygonParams({\n direction,\n }),\n },\n {\n from: DIRECTION_TRANSLATION_MAP[direction],\n to: DIRECTION_TRANSLATION_MAP[oppositeDirection],\n },\n );\n\n if (dom) {\n dom.measure((target) => {\n if (!target) {\n return;\n }\n\n const rotation = parseInt(\n getComputedStyle(target).getPropertyValue('--comp-rotate-z') || '0',\n 10,\n );\n\n dom.mutate(() => {\n const adjDirection = getAdjustedDirection(\n DIRECTIONS,\n direction,\n rotation,\n ) as Direction;\n target.style.setProperty(\n '--motion-clip-from',\n getClipPolygonParams({\n direction: OPPOSITE_DIRECTION_MAP[adjDirection],\n }),\n );\n target.style.setProperty(\n '--motion-clip-to',\n getClipPolygonParams({\n direction: adjDirection,\n }),\n );\n });\n });\n }\n\n return [\n {\n ...options,\n fill,\n easing,\n keyframes,\n },\n ];\n /*\n * @keyframes <name> {\n * from {\n * clip-path: <clip.from>;\n * translate: <translate.from.x> <translate.from.y>;\n * }\n * to {\n * clip-path: none;\n * translate: 0 0;\n * }\n * }\n */\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_utils","require","DIRECTION_TRANSLATION_MAP","bottom","x","y","left","top","right","getNames","options","range","namedEffect","prepare","dom","direction","applyRotationAdjustedClip","web","style","asWeb","easing","fill","oppositeDirection","getOppositeDirection","FOUR_DIRECTIONS","translateFrom","translateTo","custom","getRevealClipFrom","getRevealClipTo","keyframes","clipPath","toKeyframeValue","transform","splice","INITIAL_CLIP","slideScroll","name"],"sources":["../../../../src/library/scroll/SlideScroll.ts"],"sourcesContent":["import type {\n ScrubAnimationOptions,\n SlideScroll,\n EffectFourDirections,\n DomApi,\n AnimationFillMode,\n} from '../../types';\nimport {\n getOppositeDirection,\n applyRotationAdjustedClip,\n getRevealClipFrom,\n getRevealClipTo,\n toKeyframeValue,\n INITIAL_CLIP,\n FOUR_DIRECTIONS,\n} from '../../utils';\n\ntype Translate = { x: string; y: string };\n\nconst DIRECTION_TRANSLATION_MAP: Record<EffectFourDirections, Translate> = {\n bottom: { x: '0', y: '100%' },\n left: { x: '-100%', y: '0' },\n top: { x: '0', y: '-100%' },\n right: { x: '100%', y: '0' },\n};\n\nexport function getNames(options: ScrubAnimationOptions) {\n const { range = 'in' } = options.namedEffect as SlideScroll;\n return [`motion-slideScroll${range === 'continuous' ? '-continuous' : ''}`];\n}\n\nexport function prepare(options: ScrubAnimationOptions, dom?: DomApi) {\n if (dom) {\n const { direction = 'bottom', range = 'in' } =\n options.namedEffect as SlideScroll;\n applyRotationAdjustedClip(dom, direction, range);\n }\n}\n\nexport function web(options: ScrubAnimationOptions, dom?: DomApi) {\n prepare(options, dom);\n\n return style(options, true);\n}\n\nexport function style(options: ScrubAnimationOptions, asWeb = false) {\n const { direction = 'bottom', range = 'in' } =\n options.namedEffect as SlideScroll;\n const easing = 'linear';\n const fill = (\n range === 'out' ? 'forwards' : range === 'in' ? 'backwards' : options.fill\n ) as AnimationFillMode;\n const oppositeDirection = getOppositeDirection(FOUR_DIRECTIONS, direction);\n\n const translateFrom =\n range === 'out' ? { x: '0', y: '0' } : DIRECTION_TRANSLATION_MAP[direction];\n const translateTo =\n range === 'in'\n ? { x: '0', y: '0' }\n : DIRECTION_TRANSLATION_MAP[\n range === 'out' ? direction : oppositeDirection\n ];\n\n const custom = {\n '--motion-clip-from': getRevealClipFrom(direction, range),\n '--motion-clip-to': getRevealClipTo(direction, range),\n '--motion-translate-from-x': translateFrom.x,\n '--motion-translate-from-y': translateFrom.y,\n '--motion-translate-to-x': translateTo.x,\n '--motion-translate-to-y': translateTo.y,\n };\n\n const keyframes = [\n {\n clipPath: toKeyframeValue(\n {},\n '--motion-clip-from',\n false,\n custom['--motion-clip-from'],\n ),\n transform: `rotate(${toKeyframeValue(\n {},\n '--comp-rotate-z',\n false,\n '0',\n )}) translate(${toKeyframeValue(\n custom,\n `--motion-translate-from-x`,\n asWeb,\n )}, ${toKeyframeValue(custom, `--motion-translate-from-y`, asWeb)})`,\n },\n {\n clipPath: toKeyframeValue(\n {},\n '--motion-clip-to',\n false,\n custom['--motion-clip-to'],\n ),\n transform: `rotate(${toKeyframeValue(\n {},\n '--comp-rotate-z',\n false,\n '0',\n )}) translate(${toKeyframeValue(\n custom,\n `--motion-translate-to-x`,\n asWeb,\n )}, ${toKeyframeValue(custom, `--motion-translate-to-y`, asWeb)})`,\n },\n ];\n\n if (range === 'continuous') {\n keyframes.splice(1, 0, {\n clipPath: INITIAL_CLIP,\n transform: `rotate(${toKeyframeValue(\n {},\n '--comp-rotate-z',\n false,\n '0',\n )}) translate(0, 0)`,\n });\n }\n\n const [slideScroll] = getNames(options);\n\n return [\n {\n ...options,\n name: slideScroll,\n fill,\n easing,\n keyframes,\n },\n ];\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.default = create;
4
+ exports.getNames = getNames;
5
+ exports.style = style;
6
+ exports.web = web;
7
+ var _utils = require("../../utils");
5
8
  const MAX_Y_TRAVEL = 40;
6
9
  const POWER_MAP = {
7
10
  soft: {
@@ -17,103 +20,68 @@ const POWER_MAP = {
17
20
  travelY: 1
18
21
  }
19
22
  };
20
- const RANGES_MAP = {
21
- in: (rotation, travelY) => ({
22
- fromValues: {
23
- rotationX: -2 * rotation,
24
- rotationY: -rotation,
25
- rotationZ: -rotation,
26
- travel: travelY
27
- },
28
- toValues: {
29
- rotationX: 0,
30
- rotationY: 0,
31
- rotationZ: 0,
32
- travel: 0
33
- }
34
- }),
35
- out: (rotation, travelY) => ({
36
- fromValues: {
37
- rotationX: 0,
38
- rotationY: 0,
39
- rotationZ: 0,
40
- travel: 0
41
- },
42
- toValues: {
43
- rotationX: rotation * 3,
44
- rotationY: rotation * 2,
45
- rotationZ: rotation,
46
- travel: -travelY
47
- }
48
- }),
49
- continuous: (rotation, travelY) => ({
50
- fromValues: {
51
- rotationX: -2 * rotation,
52
- rotationY: -rotation,
53
- rotationZ: -rotation,
54
- travel: travelY
55
- },
56
- toValues: {
57
- rotationX: rotation * 1.8,
58
- rotationY: rotation,
59
- rotationZ: 2 * rotation,
60
- travel: -travelY
61
- }
62
- })
63
- };
64
- function getScrubOffsets({
65
- power,
66
- range = 'in',
67
- speed = 0
68
- }) {
69
- const offset = (power && POWER_MAP[power] ? POWER_MAP[power].travelY : Math.abs(speed)) * MAX_Y_TRAVEL;
70
- return {
71
- start: range === 'out' ? '0px' : `${-offset}vh`,
72
- end: range === 'in' ? '0px' : `${offset}vh`
73
- };
23
+ function getNames(_) {
24
+ return ['motion-spin3dScroll'];
25
+ }
26
+ function web(options, _dom) {
27
+ return style(options, true);
74
28
  }
75
- function create(options) {
29
+ function style(options, asWeb = false) {
76
30
  const {
77
31
  rotate = -100,
32
+ speed = 0,
78
33
  power,
79
- range = 'in',
80
- speed = 0
34
+ range = 'in'
81
35
  } = options.namedEffect;
82
36
  const easing = 'linear';
83
37
  const fill = range === 'out' ? 'forwards' : range === 'in' ? 'backwards' : options.fill;
84
- const initialParams = power && POWER_MAP[power] ? POWER_MAP[power] : {
38
+ const {
39
+ rotationZ,
40
+ travelY
41
+ } = power && POWER_MAP[power] ? POWER_MAP[power] : {
85
42
  rotationZ: rotate,
86
43
  travelY: speed
87
44
  };
88
- const {
89
- fromValues,
90
- toValues
91
- } = RANGES_MAP[range](initialParams.rotationZ, initialParams.travelY * -MAX_Y_TRAVEL);
92
- const {
93
- start: startOffsetAdd,
94
- end: endOffsetAdd
95
- } = getScrubOffsets(options.namedEffect);
45
+ const travel = travelY * MAX_Y_TRAVEL;
46
+ const fromValues = {
47
+ rotationX: range === 'out' ? 0 : -2 * rotationZ,
48
+ rotationY: range === 'out' ? 0 : -rotationZ,
49
+ rotationZ: range === 'out' ? 0 : -rotationZ,
50
+ travel: range === 'out' ? 0 : -travel
51
+ };
52
+ const toValues = {
53
+ rotationX: rotationZ * (range === 'in' ? 0 : range === 'out' ? 3 : 1.8),
54
+ rotationY: rotationZ * (range === 'in' ? 0 : range === 'out' ? 2 : 1),
55
+ rotationZ: rotationZ * (range === 'in' ? 0 : range === 'out' ? 1 : 2),
56
+ travel: range === 'in' ? 0 : travel
57
+ };
58
+ const offset = Math.abs(travel);
59
+ const startOffsetAdd = range === 'out' ? '0px' : `${-offset}vh`;
60
+ const endOffsetAdd = range === 'in' ? '0px' : `${offset}vh`;
61
+ const [spin3dScroll] = getNames(options);
62
+ const custom = {
63
+ '--motion-travel-from': `${fromValues.travel}vh`,
64
+ '--motion-travel-to': `${toValues.travel}vh`,
65
+ '--motion-rot-x-from': `${fromValues.rotationX}deg`,
66
+ '--motion-rot-x-to': `${toValues.rotationX}deg`,
67
+ '--motion-rot-y-from': `${fromValues.rotationY}deg`,
68
+ '--motion-rot-y-to': `${toValues.rotationY}deg`,
69
+ '--motion-rot-z-from': `${fromValues.rotationZ}deg`,
70
+ '--motion-rot-z-to': `${toValues.rotationZ}deg`
71
+ };
96
72
  return [{
97
73
  ...options,
74
+ name: spin3dScroll,
98
75
  fill,
99
76
  easing,
77
+ custom,
100
78
  startOffsetAdd,
101
79
  endOffsetAdd,
102
80
  keyframes: [{
103
- transform: `perspective(1000px) translateY(${fromValues.travel}vh) rotateZ(calc(var(--comp-rotate-z, 0deg) + ${fromValues.rotationZ}deg)) rotateY(${fromValues.rotationY}deg) rotateX(${fromValues.rotationX}deg)`
81
+ transform: `perspective(1000px) translateY(${(0, _utils.toKeyframeValue)(custom, '--motion-travel-from', asWeb)}) rotateZ(calc(${(0, _utils.toKeyframeValue)({}, '--comp-rotate-z', false, '0deg')} + ${(0, _utils.toKeyframeValue)(custom, '--motion-rot-z-from', asWeb)})) rotateY(${(0, _utils.toKeyframeValue)(custom, '--motion-rot-y-from', asWeb)}) rotateX(${(0, _utils.toKeyframeValue)(custom, '--motion-rot-x-from', asWeb)})`
104
82
  }, {
105
- transform: `perspective(1000px) translateY(${toValues.travel}vh) rotateZ(calc(var(--comp-rotate-z, 0deg) + ${toValues.rotationZ}deg)) rotateY(${toValues.rotationY}deg) rotateX(${toValues.rotationX}deg)`
83
+ transform: `perspective(1000px) translateY(${(0, _utils.toKeyframeValue)(custom, '--motion-travel-to', asWeb)}) rotateZ(calc(${(0, _utils.toKeyframeValue)({}, '--comp-rotate-z', false, '0deg')} + ${(0, _utils.toKeyframeValue)(custom, '--motion-rot-z-to', asWeb)})) rotateY(${(0, _utils.toKeyframeValue)(custom, '--motion-rot-y-to', asWeb)}) rotateX(${(0, _utils.toKeyframeValue)(custom, '--motion-rot-x-to', asWeb)})`
106
84
  }]
107
85
  }];
108
- /*
109
- * @keyframes <name> {
110
- * from {
111
- * transform: perspective(1000px) translateY(<fromValue.travel>vh) rotateZ(<fromValue.rotateZ> + <rotation>) rotateY(<fromValue.rotateY>deg) rotateX(<fromValue.rotateX>deg);
112
- * }
113
- * to {
114
- * transform: perspective(1000px) translateY(<toValue.travel>vh) rotateZ(<fromValue.rotateZ> + <rotation>) rotateY(<toValue.rotateY>deg) rotateX(<toValue.rotateX>deg);
115
- * }
116
- * }
117
- */
118
86
  }
119
87
  //# sourceMappingURL=Spin3dScroll.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["MAX_Y_TRAVEL","POWER_MAP","soft","rotationZ","travelY","medium","hard","RANGES_MAP","in","rotation","fromValues","rotationX","rotationY","travel","toValues","out","continuous","getScrubOffsets","power","range","speed","offset","Math","abs","start","end","create","options","rotate","namedEffect","easing","fill","initialParams","startOffsetAdd","endOffsetAdd","keyframes","transform"],"sources":["../../../../src/library/scroll/Spin3dScroll.ts"],"sourcesContent":["import type {\n AnimationFillMode,\n ScrubAnimationOptions,\n Spin3dScroll,\n} from '../../types';\n\nconst MAX_Y_TRAVEL = 40;\n\nconst POWER_MAP = {\n soft: { rotationZ: 45, travelY: 0 },\n medium: { rotationZ: 100, travelY: 0.5 },\n hard: { rotationZ: 200, travelY: 1 },\n};\n\nconst RANGES_MAP = {\n in: (rotation: number, travelY: number) => ({\n fromValues: {\n rotationX: -2 * rotation,\n rotationY: -rotation,\n rotationZ: -rotation,\n travel: travelY,\n },\n toValues: {\n rotationX: 0,\n rotationY: 0,\n rotationZ: 0,\n travel: 0,\n },\n }),\n out: (rotation: number, travelY: number) => ({\n fromValues: {\n rotationX: 0,\n rotationY: 0,\n rotationZ: 0,\n travel: 0,\n },\n toValues: {\n rotationX: rotation * 3,\n rotationY: rotation * 2,\n rotationZ: rotation,\n travel: -travelY,\n },\n }),\n continuous: (rotation: number, travelY: number) => ({\n fromValues: {\n rotationX: -2 * rotation,\n rotationY: -rotation,\n rotationZ: -rotation,\n travel: travelY,\n },\n toValues: {\n rotationX: rotation * 1.8,\n rotationY: rotation,\n rotationZ: 2 * rotation,\n travel: -travelY,\n },\n }),\n};\n\nfunction getScrubOffsets({ power, range = 'in', speed = 0 }: Spin3dScroll) {\n const offset =\n (power && POWER_MAP[power] ? POWER_MAP[power].travelY : Math.abs(speed)) *\n MAX_Y_TRAVEL;\n\n return {\n start: range === 'out' ? '0px' : `${-offset}vh`,\n end: range === 'in' ? '0px' : `${offset}vh`,\n };\n}\n\nexport default function create(options: ScrubAnimationOptions) {\n const {\n rotate = -100,\n power,\n range = 'in',\n speed = 0,\n } = options.namedEffect as Spin3dScroll;\n const easing = 'linear';\n const fill = (\n range === 'out' ? 'forwards' : range === 'in' ? 'backwards' : options.fill\n ) as AnimationFillMode;\n\n const initialParams =\n power && POWER_MAP[power]\n ? POWER_MAP[power]\n : { rotationZ: rotate, travelY: speed };\n\n const { fromValues, toValues } = RANGES_MAP[range](\n initialParams.rotationZ,\n initialParams.travelY * -MAX_Y_TRAVEL,\n );\n\n const { start: startOffsetAdd, end: endOffsetAdd } = getScrubOffsets(\n options.namedEffect as Spin3dScroll,\n );\n\n return [\n {\n ...options,\n fill,\n easing,\n startOffsetAdd,\n endOffsetAdd,\n keyframes: [\n {\n transform: `perspective(1000px) translateY(${fromValues.travel}vh) rotateZ(calc(var(--comp-rotate-z, 0deg) + ${fromValues.rotationZ}deg)) rotateY(${fromValues.rotationY}deg) rotateX(${fromValues.rotationX}deg)`,\n },\n {\n transform: `perspective(1000px) translateY(${toValues.travel}vh) rotateZ(calc(var(--comp-rotate-z, 0deg) + ${toValues.rotationZ}deg)) rotateY(${toValues.rotationY}deg) rotateX(${toValues.rotationX}deg)`,\n },\n ],\n },\n ];\n /*\n * @keyframes <name> {\n * from {\n * transform: perspective(1000px) translateY(<fromValue.travel>vh) rotateZ(<fromValue.rotateZ> + <rotation>) rotateY(<fromValue.rotateY>deg) rotateX(<fromValue.rotateX>deg);\n * }\n * to {\n * transform: perspective(1000px) translateY(<toValue.travel>vh) rotateZ(<fromValue.rotateZ> + <rotation>) rotateY(<toValue.rotateY>deg) rotateX(<toValue.rotateX>deg);\n * }\n * }\n */\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_utils","require","MAX_Y_TRAVEL","POWER_MAP","soft","rotationZ","travelY","medium","hard","getNames","_","web","options","_dom","style","asWeb","rotate","speed","power","range","namedEffect","easing","fill","travel","fromValues","rotationX","rotationY","toValues","offset","Math","abs","startOffsetAdd","endOffsetAdd","spin3dScroll","custom","name","keyframes","transform","toKeyframeValue"],"sources":["../../../../src/library/scroll/Spin3dScroll.ts"],"sourcesContent":["import type {\n AnimationFillMode,\n ScrubAnimationOptions,\n Spin3dScroll,\n DomApi,\n} from '../../types';\nimport { toKeyframeValue } from '../../utils';\n\nconst MAX_Y_TRAVEL = 40;\n\nconst POWER_MAP = {\n soft: { rotationZ: 45, travelY: 0 },\n medium: { rotationZ: 100, travelY: 0.5 },\n hard: { rotationZ: 200, travelY: 1 },\n};\n\nexport function getNames(_: ScrubAnimationOptions) {\n return ['motion-spin3dScroll'];\n}\n\nexport function web(options: ScrubAnimationOptions, _dom?: DomApi) {\n return style(options, true);\n}\n\nexport function style(options: ScrubAnimationOptions, asWeb = false) {\n const {\n rotate = -100,\n speed = 0,\n power,\n range = 'in',\n } = options.namedEffect as Spin3dScroll;\n const easing = 'linear';\n const fill = (\n range === 'out' ? 'forwards' : range === 'in' ? 'backwards' : options.fill\n ) as AnimationFillMode;\n\n const { rotationZ, travelY } =\n power && POWER_MAP[power]\n ? POWER_MAP[power]\n : { rotationZ: rotate, travelY: speed };\n const travel = travelY * MAX_Y_TRAVEL;\n\n const fromValues = {\n rotationX: range === 'out' ? 0 : -2 * rotationZ,\n rotationY: range === 'out' ? 0 : -rotationZ,\n rotationZ: range === 'out' ? 0 : -rotationZ,\n travel: range === 'out' ? 0 : -travel,\n };\n const toValues = {\n rotationX: rotationZ * (range === 'in' ? 0 : range === 'out' ? 3 : 1.8),\n rotationY: rotationZ * (range === 'in' ? 0 : range === 'out' ? 2 : 1),\n rotationZ: rotationZ * (range === 'in' ? 0 : range === 'out' ? 1 : 2),\n travel: range === 'in' ? 0 : travel,\n };\n\n const offset = Math.abs(travel);\n const startOffsetAdd = range === 'out' ? '0px' : `${-offset}vh`;\n const endOffsetAdd = range === 'in' ? '0px' : `${offset}vh`;\n\n const [spin3dScroll] = getNames(options);\n\n const custom = {\n '--motion-travel-from': `${fromValues.travel}vh`,\n '--motion-travel-to': `${toValues.travel}vh`,\n '--motion-rot-x-from': `${fromValues.rotationX}deg`,\n '--motion-rot-x-to': `${toValues.rotationX}deg`,\n '--motion-rot-y-from': `${fromValues.rotationY}deg`,\n '--motion-rot-y-to': `${toValues.rotationY}deg`,\n '--motion-rot-z-from': `${fromValues.rotationZ}deg`,\n '--motion-rot-z-to': `${toValues.rotationZ}deg`,\n };\n\n return [\n {\n ...options,\n name: spin3dScroll,\n fill,\n easing,\n custom,\n startOffsetAdd,\n endOffsetAdd,\n keyframes: [\n {\n transform: `perspective(1000px) translateY(${toKeyframeValue(\n custom,\n '--motion-travel-from',\n asWeb,\n )}) rotateZ(calc(${toKeyframeValue(\n {},\n '--comp-rotate-z',\n false,\n '0deg',\n )} + ${toKeyframeValue(\n custom,\n '--motion-rot-z-from',\n asWeb,\n )})) rotateY(${toKeyframeValue(\n custom,\n '--motion-rot-y-from',\n asWeb,\n )}) rotateX(${toKeyframeValue(\n custom,\n '--motion-rot-x-from',\n asWeb,\n )})`,\n },\n {\n transform: `perspective(1000px) translateY(${toKeyframeValue(\n custom,\n '--motion-travel-to',\n asWeb,\n )}) rotateZ(calc(${toKeyframeValue(\n {},\n '--comp-rotate-z',\n false,\n '0deg',\n )} + ${toKeyframeValue(\n custom,\n '--motion-rot-z-to',\n asWeb,\n )})) rotateY(${toKeyframeValue(\n custom,\n '--motion-rot-y-to',\n asWeb,\n )}) rotateX(${toKeyframeValue(custom, '--motion-rot-x-to', asWeb)})`,\n },\n ],\n },\n ];\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,17 +1,22 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.default = create;
4
+ exports.getNames = getNames;
5
+ exports.style = style;
6
+ exports.web = web;
7
+ var _utils = require("../../utils");
5
8
  const POWER_MAP = {
6
9
  soft: 1,
7
10
  medium: 0.7,
8
11
  hard: 0.4
9
12
  };
10
- const DIRECTION_MAP = {
11
- clockwise: 1,
12
- 'counter-clockwise': -1
13
- };
14
- function create(options) {
13
+ function getNames(_) {
14
+ return ['motion-spinScroll'];
15
+ }
16
+ function web(options, _dom) {
17
+ return style(options, true);
18
+ }
19
+ function style(options, asWeb = false) {
15
20
  const {
16
21
  spins = 0.15,
17
22
  scale = 1,
@@ -21,31 +26,30 @@ function create(options) {
21
26
  } = options.namedEffect;
22
27
  const easing = 'linear';
23
28
  const fill = range === 'out' ? 'forwards' : range === 'in' ? 'backwards' : options.fill;
24
- const spinDirection = DIRECTION_MAP[direction];
25
- const rotationZ = spins * 360;
29
+ const rotationZ = 360 * spins;
26
30
  const scaleFactor = power && POWER_MAP[power] ? POWER_MAP[power] : scale;
27
31
  const isIn = range === 'in';
28
32
  const fromValue = isIn ? -rotationZ : range === 'out' ? 0 : -rotationZ / 2;
29
33
  const toValue = isIn ? 0 : range === 'out' ? rotationZ : rotationZ / 2;
34
+ const spinDirection = direction === 'clockwise' ? 1 : -1;
35
+ const [spinScroll] = getNames(options);
36
+ const custom = {
37
+ '--motion-spin-from': `${spinDirection * fromValue}deg`,
38
+ '--motion-spin-to': `${spinDirection * toValue}deg`,
39
+ '--motion-spin-scale-from': isIn ? scaleFactor : 1,
40
+ '--motion-spin-scale-to': isIn ? 1 : scaleFactor
41
+ };
30
42
  return [{
31
43
  ...options,
44
+ name: spinScroll,
32
45
  fill,
33
46
  easing,
47
+ custom,
34
48
  keyframes: [{
35
- transform: `scale(${isIn ? scaleFactor : 1}) rotate(calc(var(--comp-rotate-z, 0deg) + ${fromValue * spinDirection}deg))`
49
+ transform: `scale(${(0, _utils.toKeyframeValue)(custom, '--motion-spin-scale-from', asWeb)}) rotate(calc(${(0, _utils.toKeyframeValue)({}, '--comp-rotate-z', false, '0deg')} + ${(0, _utils.toKeyframeValue)(custom, '--motion-spin-from', asWeb)}))`
36
50
  }, {
37
- transform: `scale(${isIn ? 1 : scaleFactor}) rotate(calc(var(--comp-rotate-z, 0deg) + ${toValue * spinDirection}deg))`
51
+ transform: `scale(${(0, _utils.toKeyframeValue)(custom, '--motion-spin-scale-to', asWeb)}) rotate(calc(${(0, _utils.toKeyframeValue)({}, '--comp-rotate-z', false, '0deg')} + ${(0, _utils.toKeyframeValue)(custom, '--motion-spin-to', asWeb)}))`
38
52
  }]
39
53
  }];
40
- /*
41
- * @keyframes <name> {
42
- * from {
43
- * transform: scale(<fromValues.scale>) rotate(<rotation> - <fromValue.rotate * spinDirection>);
44
- * }
45
- * to {
46
- * transform: scale(<toValues.scale>) rotate(<rotation> + <toValue.rotate * spinDirection>);
47
- * }
48
- * }
49
- */
50
54
  }
51
55
  //# sourceMappingURL=SpinScroll.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["POWER_MAP","soft","medium","hard","DIRECTION_MAP","clockwise","create","options","spins","scale","direction","power","range","namedEffect","easing","fill","spinDirection","rotationZ","scaleFactor","isIn","fromValue","toValue","keyframes","transform"],"sources":["../../../../src/library/scroll/SpinScroll.ts"],"sourcesContent":["import type {\n AnimationFillMode,\n ScrubAnimationOptions,\n SpinScroll,\n} from '../../types';\n\nconst POWER_MAP = {\n soft: 1,\n medium: 0.7,\n hard: 0.4,\n};\n\nconst DIRECTION_MAP = {\n clockwise: 1,\n 'counter-clockwise': -1,\n};\n\nexport default function create(options: ScrubAnimationOptions) {\n const {\n spins = 0.15,\n scale = 1,\n direction = 'clockwise',\n power,\n range = 'in',\n } = options.namedEffect as SpinScroll;\n const easing = 'linear';\n const fill = (\n range === 'out' ? 'forwards' : range === 'in' ? 'backwards' : options.fill\n ) as AnimationFillMode;\n\n const spinDirection = DIRECTION_MAP[direction];\n const rotationZ = spins * 360;\n const scaleFactor = power && POWER_MAP[power] ? POWER_MAP[power] : scale;\n const isIn = range === 'in';\n\n const fromValue = isIn ? -rotationZ : range === 'out' ? 0 : -rotationZ / 2;\n const toValue = isIn ? 0 : range === 'out' ? rotationZ : rotationZ / 2;\n\n return [\n {\n ...options,\n fill,\n easing,\n keyframes: [\n {\n transform: `scale(${\n isIn ? scaleFactor : 1\n }) rotate(calc(var(--comp-rotate-z, 0deg) + ${\n fromValue * spinDirection\n }deg))`,\n },\n {\n transform: `scale(${\n isIn ? 1 : scaleFactor\n }) rotate(calc(var(--comp-rotate-z, 0deg) + ${\n toValue * spinDirection\n }deg))`,\n },\n ],\n },\n ];\n /*\n * @keyframes <name> {\n * from {\n * transform: scale(<fromValues.scale>) rotate(<rotation> - <fromValue.rotate * spinDirection>);\n * }\n * to {\n * transform: scale(<toValues.scale>) rotate(<rotation> + <toValue.rotate * spinDirection>);\n * }\n * }\n */\n}\n"],"mappings":";;;;AAMA,MAAMA,SAAS,GAAG;EAChBC,IAAI,EAAE,CAAC;EACPC,MAAM,EAAE,GAAG;EACXC,IAAI,EAAE;AACR,CAAC;AAED,MAAMC,aAAa,GAAG;EACpBC,SAAS,EAAE,CAAC;EACZ,mBAAmB,EAAE,CAAC;AACxB,CAAC;AAEc,SAASC,MAAMA,CAACC,OAA8B,EAAE;EAC7D,MAAM;IACJC,KAAK,GAAG,IAAI;IACZC,KAAK,GAAG,CAAC;IACTC,SAAS,GAAG,WAAW;IACvBC,KAAK;IACLC,KAAK,GAAG;EACV,CAAC,GAAGL,OAAO,CAACM,WAAyB;EACrC,MAAMC,MAAM,GAAG,QAAQ;EACvB,MAAMC,IAAI,GACRH,KAAK,KAAK,KAAK,GAAG,UAAU,GAAGA,KAAK,KAAK,IAAI,GAAG,WAAW,GAAGL,OAAO,CAACQ,IAClD;EAEtB,MAAMC,aAAa,GAAGZ,aAAa,CAACM,SAAS,CAAC;EAC9C,MAAMO,SAAS,GAAGT,KAAK,GAAG,GAAG;EAC7B,MAAMU,WAAW,GAAGP,KAAK,IAAIX,SAAS,CAACW,KAAK,CAAC,GAAGX,SAAS,CAACW,KAAK,CAAC,GAAGF,KAAK;EACxE,MAAMU,IAAI,GAAGP,KAAK,KAAK,IAAI;EAE3B,MAAMQ,SAAS,GAAGD,IAAI,GAAG,CAACF,SAAS,GAAGL,KAAK,KAAK,KAAK,GAAG,CAAC,GAAG,CAACK,SAAS,GAAG,CAAC;EAC1E,MAAMI,OAAO,GAAGF,IAAI,GAAG,CAAC,GAAGP,KAAK,KAAK,KAAK,GAAGK,SAAS,GAAGA,SAAS,GAAG,CAAC;EAEtE,OAAO,CACL;IACE,GAAGV,OAAO;IACVQ,IAAI;IACJD,MAAM;IACNQ,SAAS,EAAE,CACT;MACEC,SAAS,EAAE,SACTJ,IAAI,GAAGD,WAAW,GAAG,CAAC,8CAEtBE,SAAS,GAAGJ,aAAa;IAE7B,CAAC,EACD;MACEO,SAAS,EAAE,SACTJ,IAAI,GAAG,CAAC,GAAGD,WAAW,8CAEtBG,OAAO,GAAGL,aAAa;IAE3B,CAAC;EAEL,CAAC,CACF;EACD;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"names":["_utils","require","POWER_MAP","soft","medium","hard","getNames","_","web","options","_dom","style","asWeb","spins","scale","direction","power","range","namedEffect","easing","fill","rotationZ","scaleFactor","isIn","fromValue","toValue","spinDirection","spinScroll","custom","name","keyframes","transform","toKeyframeValue"],"sources":["../../../../src/library/scroll/SpinScroll.ts"],"sourcesContent":["import type {\n AnimationFillMode,\n ScrubAnimationOptions,\n SpinScroll,\n DomApi,\n} from '../../types';\nimport { toKeyframeValue } from '../../utils';\n\nconst POWER_MAP = {\n soft: 1,\n medium: 0.7,\n hard: 0.4,\n};\n\nexport function getNames(_: ScrubAnimationOptions) {\n return ['motion-spinScroll'];\n}\n\nexport function web(options: ScrubAnimationOptions, _dom?: DomApi) {\n return style(options, true);\n}\n\nexport function style(options: ScrubAnimationOptions, asWeb = false) {\n const {\n spins = 0.15,\n scale = 1,\n direction = 'clockwise',\n power,\n range = 'in',\n } = options.namedEffect as SpinScroll;\n const easing = 'linear';\n const fill = (\n range === 'out' ? 'forwards' : range === 'in' ? 'backwards' : options.fill\n ) as AnimationFillMode;\n\n const rotationZ = 360 * spins;\n const scaleFactor = power && POWER_MAP[power] ? POWER_MAP[power] : scale;\n\n const isIn = range === 'in';\n const fromValue = isIn ? -rotationZ : range === 'out' ? 0 : -rotationZ / 2;\n const toValue = isIn ? 0 : range === 'out' ? rotationZ : rotationZ / 2;\n const spinDirection = direction === 'clockwise' ? 1 : -1;\n\n const [spinScroll] = getNames(options);\n\n const custom = {\n '--motion-spin-from': `${spinDirection * fromValue}deg`,\n '--motion-spin-to': `${spinDirection * toValue}deg`,\n '--motion-spin-scale-from': isIn ? scaleFactor : 1,\n '--motion-spin-scale-to': isIn ? 1 : scaleFactor,\n };\n\n return [\n {\n ...options,\n name: spinScroll,\n fill,\n easing,\n custom,\n keyframes: [\n {\n transform: `scale(${toKeyframeValue(\n custom,\n '--motion-spin-scale-from',\n asWeb,\n )}) rotate(calc(${toKeyframeValue(\n {},\n '--comp-rotate-z',\n false,\n '0deg',\n )} + ${toKeyframeValue(custom, '--motion-spin-from', asWeb)}))`,\n },\n {\n transform: `scale(${toKeyframeValue(\n custom,\n '--motion-spin-scale-to',\n asWeb,\n )}) rotate(calc(${toKeyframeValue(\n {},\n '--comp-rotate-z',\n false,\n '0deg',\n )} + ${toKeyframeValue(custom, '--motion-spin-to', asWeb)}))`,\n },\n ],\n },\n ];\n}\n"],"mappings":";;;;;;AAMA,IAAAA,MAAA,GAAAC,OAAA;AAEA,MAAMC,SAAS,GAAG;EAChBC,IAAI,EAAE,CAAC;EACPC,MAAM,EAAE,GAAG;EACXC,IAAI,EAAE;AACR,CAAC;AAEM,SAASC,QAAQA,CAACC,CAAwB,EAAE;EACjD,OAAO,CAAC,mBAAmB,CAAC;AAC9B;AAEO,SAASC,GAAGA,CAACC,OAA8B,EAAEC,IAAa,EAAE;EACjE,OAAOC,KAAK,CAACF,OAAO,EAAE,IAAI,CAAC;AAC7B;AAEO,SAASE,KAAKA,CAACF,OAA8B,EAAEG,KAAK,GAAG,KAAK,EAAE;EACnE,MAAM;IACJC,KAAK,GAAG,IAAI;IACZC,KAAK,GAAG,CAAC;IACTC,SAAS,GAAG,WAAW;IACvBC,KAAK;IACLC,KAAK,GAAG;EACV,CAAC,GAAGR,OAAO,CAACS,WAAyB;EACrC,MAAMC,MAAM,GAAG,QAAQ;EACvB,MAAMC,IAAI,GACRH,KAAK,KAAK,KAAK,GAAG,UAAU,GAAGA,KAAK,KAAK,IAAI,GAAG,WAAW,GAAGR,OAAO,CAACW,IAClD;EAEtB,MAAMC,SAAS,GAAG,GAAG,GAAGR,KAAK;EAC7B,MAAMS,WAAW,GAAGN,KAAK,IAAId,SAAS,CAACc,KAAK,CAAC,GAAGd,SAAS,CAACc,KAAK,CAAC,GAAGF,KAAK;EAExE,MAAMS,IAAI,GAAGN,KAAK,KAAK,IAAI;EAC3B,MAAMO,SAAS,GAAGD,IAAI,GAAG,CAACF,SAAS,GAAGJ,KAAK,KAAK,KAAK,GAAG,CAAC,GAAG,CAACI,SAAS,GAAG,CAAC;EAC1E,MAAMI,OAAO,GAAGF,IAAI,GAAG,CAAC,GAAGN,KAAK,KAAK,KAAK,GAAGI,SAAS,GAAGA,SAAS,GAAG,CAAC;EACtE,MAAMK,aAAa,GAAGX,SAAS,KAAK,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;EAExD,MAAM,CAACY,UAAU,CAAC,GAAGrB,QAAQ,CAACG,OAAO,CAAC;EAEtC,MAAMmB,MAAM,GAAG;IACb,oBAAoB,EAAE,GAAGF,aAAa,GAAGF,SAAS,KAAK;IACvD,kBAAkB,EAAE,GAAGE,aAAa,GAAGD,OAAO,KAAK;IACnD,0BAA0B,EAAEF,IAAI,GAAGD,WAAW,GAAG,CAAC;IAClD,wBAAwB,EAAEC,IAAI,GAAG,CAAC,GAAGD;EACvC,CAAC;EAED,OAAO,CACL;IACE,GAAGb,OAAO;IACVoB,IAAI,EAAEF,UAAU;IAChBP,IAAI;IACJD,MAAM;IACNS,MAAM;IACNE,SAAS,EAAE,CACT;MACEC,SAAS,EAAE,SAAS,IAAAC,sBAAe,EACjCJ,MAAM,EACN,0BAA0B,EAC1BhB,KACF,CAAC,iBAAiB,IAAAoB,sBAAe,EAC/B,CAAC,CAAC,EACF,iBAAiB,EACjB,KAAK,EACL,MACF,CAAC,MAAM,IAAAA,sBAAe,EAACJ,MAAM,EAAE,oBAAoB,EAAEhB,KAAK,CAAC;IAC7D,CAAC,EACD;MACEmB,SAAS,EAAE,SAAS,IAAAC,sBAAe,EACjCJ,MAAM,EACN,wBAAwB,EACxBhB,KACF,CAAC,iBAAiB,IAAAoB,sBAAe,EAC/B,CAAC,CAAC,EACF,iBAAiB,EACjB,KAAK,EACL,MACF,CAAC,MAAM,IAAAA,sBAAe,EAACJ,MAAM,EAAE,kBAAkB,EAAEhB,KAAK,CAAC;IAC3D,CAAC;EAEL,CAAC,CACF;AACH","ignoreList":[]}
@@ -1,8 +1,11 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.default = create;
4
+ exports.getNames = getNames;
5
+ exports.style = style;
6
+ exports.web = web;
5
7
  var _easings = require("../../easings");
8
+ var _utils = require("../../utils");
6
9
  const POWER_MAP = {
7
10
  soft: {
8
11
  scaleY: 1.2,
@@ -17,34 +20,6 @@ const POWER_MAP = {
17
20
  scaleX: 0.4
18
21
  }
19
22
  };
20
- const KEYFRAMES_RANGE_MAP = {
21
- in: (scaleX, scaleY) => [{
22
- scale: `${scaleX} ${scaleY}`,
23
- translate: `0 ${100 * (scaleY - 1)}%`
24
- }, {
25
- scale: '1 1',
26
- translate: '0 0'
27
- }],
28
- out: (scaleX, scaleY) => [{
29
- scale: '1 1',
30
- translate: '0 0'
31
- }, {
32
- scale: `${scaleX} ${scaleY}`,
33
- translate: `0 ${100 * (1 - scaleY)}%`
34
- }],
35
- continuous: (scaleX, scaleY) => [{
36
- scale: `${scaleX} ${scaleY}`,
37
- translate: `0 ${100 * (scaleY - 1)}%`,
38
- easing: _easings.cssEasings.backInOut
39
- }, {
40
- scale: '1 1',
41
- translate: '0 0',
42
- easing: _easings.cssEasings.backInOut
43
- }, {
44
- scale: `${scaleX} ${scaleY}`,
45
- translate: `0 ${100 * (1 - scaleY)}%`
46
- }]
47
- };
48
23
  const opacityKeyframesMap = {
49
24
  in: [{
50
25
  opacity: 0,
@@ -74,7 +49,16 @@ const opacityKeyframesMap = {
74
49
  offset: 1
75
50
  }]
76
51
  };
77
- function create(options) {
52
+ function getNames(options) {
53
+ const {
54
+ range = 'out'
55
+ } = options.namedEffect;
56
+ return [`motion-stretchScrollScale${range === 'continuous' ? '-continuous' : ''}`, `motion-stretchScrollOpacity-${range}`];
57
+ }
58
+ function web(options, _dom) {
59
+ return style(options, true);
60
+ }
61
+ function style(options, asWeb = false) {
78
62
  const {
79
63
  power,
80
64
  stretch = 0.6,
@@ -89,17 +73,49 @@ function create(options) {
89
73
  scaleX: 1 - stretch,
90
74
  scaleY: 1 + stretch
91
75
  };
92
- const animations = KEYFRAMES_RANGE_MAP[range](scaleX, scaleY);
76
+ const [stretchScrollScale, stretchScrollOpacity] = getNames(options);
77
+ const isOut = range === 'out';
78
+ const roundedScaleX = (0, _utils.roundNumber)(scaleX);
79
+ const roundedScaleY = (0, _utils.roundNumber)(scaleY);
80
+ const custom = {
81
+ '--motion-stretch-scale-x-from': isOut ? 1 : roundedScaleX,
82
+ '--motion-stretch-scale-y-from': isOut ? 1 : roundedScaleY,
83
+ '--motion-stretch-scale-x-to': isOut ? roundedScaleX : 1,
84
+ '--motion-stretch-scale-y-to': isOut ? roundedScaleY : 1,
85
+ '--motion-stretch-trans-from': isOut ? 0 : `calc(-100% * (1 - ${roundedScaleY}))`,
86
+ '--motion-stretch-trans-to': isOut ? `calc(100% * (1 - ${roundedScaleY}))` : 0
87
+ };
88
+ const stretchKeyframes = [{
89
+ scale: `${(0, _utils.toKeyframeValue)(custom, '--motion-stretch-scale-x-from', asWeb)} ${(0, _utils.toKeyframeValue)(custom, '--motion-stretch-scale-y-from', asWeb)}`,
90
+ translate: `0 ${(0, _utils.toKeyframeValue)(custom, '--motion-stretch-trans-from', asWeb)}`
91
+ }, {
92
+ scale: `${(0, _utils.toKeyframeValue)(custom, '--motion-stretch-scale-x-to', asWeb)} ${(0, _utils.toKeyframeValue)(custom, '--motion-stretch-scale-y-to', asWeb)}`,
93
+ translate: `0 ${(0, _utils.toKeyframeValue)(custom, '--motion-stretch-trans-to', asWeb)}`
94
+ }];
95
+ if (range === 'continuous') {
96
+ stretchKeyframes.forEach(frame => {
97
+ Object.assign(frame, {
98
+ easing: _easings.cssEasings.backInOut
99
+ });
100
+ });
101
+ stretchKeyframes.push({
102
+ scale: `${(0, _utils.toKeyframeValue)(custom, '--motion-stretch-scale-x-from', asWeb)} ${(0, _utils.toKeyframeValue)(custom, '--motion-stretch-scale-y-from', asWeb)}`,
103
+ translate: `0 calc(100% * (1 - ${(0, _utils.toKeyframeValue)(custom, '--motion-stretch-scale-y-from', asWeb)}))`
104
+ });
105
+ }
93
106
  return [{
94
107
  ...options,
108
+ name: stretchScrollScale,
95
109
  fill,
96
110
  easing,
97
- keyframes: animations
111
+ custom,
112
+ keyframes: stretchKeyframes
98
113
  }, {
99
114
  ...options,
115
+ name: stretchScrollOpacity,
100
116
  fill,
101
117
  easing,
102
- keyframes: opacityKeyframesMap[range]
118
+ keyframes: opacityKeyframesMap[range] || opacityKeyframesMap.out
103
119
  }];
104
120
  }
105
121
  //# sourceMappingURL=StretchScroll.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_easings","require","POWER_MAP","soft","scaleY","scaleX","medium","hard","KEYFRAMES_RANGE_MAP","in","scale","translate","out","continuous","easing","easings","backInOut","opacityKeyframesMap","opacity","offset","create","options","power","stretch","range","namedEffect","fill","animations","keyframes"],"sources":["../../../../src/library/scroll/StretchScroll.ts"],"sourcesContent":["import { cssEasings as easings } from '../../easings';\nimport type {\n AnimationFillMode,\n ScrubAnimationOptions,\n StretchScroll,\n} from '../../types';\n\nconst POWER_MAP = {\n soft: { scaleY: 1.2, scaleX: 0.8 },\n medium: { scaleY: 1.5, scaleX: 0.6 },\n hard: { scaleY: 2, scaleX: 0.4 },\n};\n\nconst KEYFRAMES_RANGE_MAP = {\n in: (scaleX: number, scaleY: number) => [\n {\n scale: `${scaleX} ${scaleY}`,\n translate: `0 ${100 * (scaleY - 1)}%`,\n },\n {\n scale: '1 1',\n translate: '0 0',\n },\n ],\n out: (scaleX: number, scaleY: number) => [\n {\n scale: '1 1',\n translate: '0 0',\n },\n {\n scale: `${scaleX} ${scaleY}`,\n translate: `0 ${100 * (1 - scaleY)}%`,\n },\n ],\n continuous: (scaleX: number, scaleY: number) => [\n {\n scale: `${scaleX} ${scaleY}`,\n translate: `0 ${100 * (scaleY - 1)}%`,\n easing: easings.backInOut,\n },\n {\n scale: '1 1',\n translate: '0 0',\n easing: easings.backInOut,\n },\n {\n scale: `${scaleX} ${scaleY}`,\n translate: `0 ${100 * (1 - scaleY)}%`,\n },\n ],\n};\nconst opacityKeyframesMap = {\n in: [\n { opacity: 0, offset: 0 },\n { opacity: 1, offset: 0.65 },\n ],\n out: [\n { opacity: 1, offset: 0.35 },\n { opacity: 0, offset: 1 },\n ],\n continuous: [\n { opacity: 0, offset: 0 },\n { opacity: 1, offset: 0.325 },\n { opacity: 1, offset: 0.7 },\n { opacity: 0, offset: 1 },\n ],\n};\n\nexport default function create(options: ScrubAnimationOptions) {\n const {\n power,\n stretch = 0.6,\n range = 'out',\n } = options.namedEffect as StretchScroll;\n const easing = range === 'continuous' ? 'linear' : 'backInOut';\n const fill = (\n range === 'out' ? 'forwards' : range === 'in' ? 'backwards' : options.fill\n ) as AnimationFillMode;\n\n const { scaleX, scaleY } =\n power && POWER_MAP[power]\n ? POWER_MAP[power]\n : { scaleX: 1 - stretch, scaleY: 1 + stretch };\n\n const animations = KEYFRAMES_RANGE_MAP[range](scaleX, scaleY);\n\n return [\n {\n ...options,\n fill,\n easing,\n keyframes: animations,\n },\n {\n ...options,\n fill,\n easing,\n keyframes: opacityKeyframesMap[range],\n },\n ];\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_easings","require","_utils","POWER_MAP","soft","scaleY","scaleX","medium","hard","opacityKeyframesMap","in","opacity","offset","out","continuous","getNames","options","range","namedEffect","web","_dom","style","asWeb","power","stretch","easing","fill","stretchScrollScale","stretchScrollOpacity","isOut","roundedScaleX","roundNumber","roundedScaleY","custom","stretchKeyframes","scale","toKeyframeValue","translate","forEach","frame","Object","assign","easings","backInOut","push","name","keyframes"],"sources":["../../../../src/library/scroll/StretchScroll.ts"],"sourcesContent":["import { cssEasings as easings } from '../../easings';\nimport type {\n AnimationFillMode,\n ScrubAnimationOptions,\n StretchScroll,\n DomApi,\n} from '../../types';\nimport { roundNumber, toKeyframeValue } from '../../utils';\n\nconst POWER_MAP = {\n soft: { scaleY: 1.2, scaleX: 0.8 },\n medium: { scaleY: 1.5, scaleX: 0.6 },\n hard: { scaleY: 2, scaleX: 0.4 },\n};\n\nconst opacityKeyframesMap = {\n in: [\n { opacity: 0, offset: 0 },\n { opacity: 1, offset: 0.65 },\n ],\n out: [\n { opacity: 1, offset: 0.35 },\n { opacity: 0, offset: 1 },\n ],\n continuous: [\n { opacity: 0, offset: 0 },\n { opacity: 1, offset: 0.325 },\n { opacity: 1, offset: 0.7 },\n { opacity: 0, offset: 1 },\n ],\n};\n\nexport function getNames(options: ScrubAnimationOptions) {\n const { range = 'out' } = options.namedEffect as StretchScroll;\n return [\n `motion-stretchScrollScale${range === 'continuous' ? '-continuous' : ''}`,\n `motion-stretchScrollOpacity-${range}`,\n ];\n}\n\nexport function web(options: ScrubAnimationOptions, _dom?: DomApi) {\n return style(options, true);\n}\n\nexport function style(options: ScrubAnimationOptions, asWeb = false) {\n const {\n power,\n stretch = 0.6,\n range = 'out',\n } = options.namedEffect as StretchScroll;\n const easing = range === 'continuous' ? 'linear' : 'backInOut';\n const fill = (\n range === 'out' ? 'forwards' : range === 'in' ? 'backwards' : options.fill\n ) as AnimationFillMode;\n\n const { scaleX, scaleY } =\n power && POWER_MAP[power]\n ? POWER_MAP[power]\n : { scaleX: 1 - stretch, scaleY: 1 + stretch };\n\n const [stretchScrollScale, stretchScrollOpacity] = getNames(options);\n\n const isOut = range === 'out';\n const roundedScaleX = roundNumber(scaleX);\n const roundedScaleY = roundNumber(scaleY);\n\n const custom = {\n '--motion-stretch-scale-x-from': isOut ? 1 : roundedScaleX,\n '--motion-stretch-scale-y-from': isOut ? 1 : roundedScaleY,\n '--motion-stretch-scale-x-to': isOut ? roundedScaleX : 1,\n '--motion-stretch-scale-y-to': isOut ? roundedScaleY : 1,\n '--motion-stretch-trans-from': isOut\n ? 0\n : `calc(-100% * (1 - ${roundedScaleY}))`,\n '--motion-stretch-trans-to': isOut\n ? `calc(100% * (1 - ${roundedScaleY}))`\n : 0,\n };\n\n const stretchKeyframes = [\n {\n scale: `${toKeyframeValue(\n custom,\n '--motion-stretch-scale-x-from',\n asWeb,\n )} ${toKeyframeValue(custom, '--motion-stretch-scale-y-from', asWeb)}`,\n translate: `0 ${toKeyframeValue(\n custom,\n '--motion-stretch-trans-from',\n asWeb,\n )}`,\n },\n {\n scale: `${toKeyframeValue(\n custom,\n '--motion-stretch-scale-x-to',\n asWeb,\n )} ${toKeyframeValue(custom, '--motion-stretch-scale-y-to', asWeb)}`,\n translate: `0 ${toKeyframeValue(\n custom,\n '--motion-stretch-trans-to',\n asWeb,\n )}`,\n },\n ];\n\n if (range === 'continuous') {\n stretchKeyframes.forEach((frame) => {\n Object.assign(frame, { easing: easings.backInOut });\n });\n\n stretchKeyframes.push({\n scale: `${toKeyframeValue(\n custom,\n '--motion-stretch-scale-x-from',\n asWeb,\n )} ${toKeyframeValue(custom, '--motion-stretch-scale-y-from', asWeb)}`,\n translate: `0 calc(100% * (1 - ${toKeyframeValue(\n custom,\n '--motion-stretch-scale-y-from',\n asWeb,\n )}))`,\n });\n }\n\n return [\n {\n ...options,\n name: stretchScrollScale,\n fill,\n easing,\n custom,\n keyframes: stretchKeyframes,\n },\n {\n ...options,\n name: stretchScrollOpacity,\n fill,\n easing,\n keyframes: opacityKeyframesMap[range] || opacityKeyframesMap.out,\n },\n ];\n}\n"],"mappings":"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","ignoreList":[]}