@wix/motion 1.661.0 → 1.662.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":["MAX_Y_TRAVEL","POWER_MAP","soft","scaleFrom","scaleTo","travelY","medium","hard","directionMap","top","right","bottom","left","center","RANGES_MAP","in","_scaleTo","fromValues","scale","travel","toValues","out","_scaleFrom","continuous","getScrubOffsets","power","range","speed","offset","Math","abs","start","end","create","options","direction","namedEffect","fill","easing","startOffsetAdd","endOffsetAdd","trnsX","trnsY","keyframes","transform"],"sources":["../../../../src/library/scroll/ShrinkScroll.ts"],"sourcesContent":["import type {\n AnimationFillMode,\n ScrubAnimationOptions,\n ShrinkScroll,\n} from '../../types';\n\nconst MAX_Y_TRAVEL = 40;\nconst POWER_MAP = {\n soft: { scaleFrom: 1.2, scaleTo: 0.8, travelY: 0 },\n medium: { scaleFrom: 1.7, scaleTo: 0.3, travelY: 0.5 },\n hard: { scaleFrom: 3.5, scaleTo: 0, travelY: 1 },\n};\n\nconst directionMap = {\n top: [0, -50],\n 'top-right': [50, -50],\n right: [50, 0],\n 'bottom-right': [50, 50],\n bottom: [0, 50],\n 'bottom-left': [-50, 50],\n left: [-50, 0],\n 'top-left': [-50, -50],\n center: [0, 0],\n};\n\nconst RANGES_MAP = {\n in: (scaleFrom: number, _scaleTo: number, travelY: number) => ({\n fromValues: { scale: scaleFrom, travel: travelY },\n toValues: { scale: 1, travel: 0 },\n }),\n out: (_scaleFrom: number, scaleTo: number, travelY: number) => ({\n fromValues: { scale: 1, travel: 0 },\n toValues: { scale: scaleTo, travel: -travelY },\n }),\n continuous: (scaleFrom: number, scaleTo: number, travelY: number) => ({\n fromValues: { scale: scaleFrom, travel: travelY },\n toValues: { scale: scaleTo, travel: -travelY },\n }),\n};\n\nfunction getScrubOffsets({ power, range = 'in', speed = 0 }: ShrinkScroll) {\n const offset =\n power && POWER_MAP[power]\n ? POWER_MAP[power].travelY\n : Math.abs(speed) * 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 power,\n range = 'in',\n scale = range === 'in' ? 1.2 : 0.8,\n direction = 'center',\n speed = 0,\n } = options.namedEffect as ShrinkScroll;\n const fill = (\n range === 'out' ? 'forwards' : range === 'in' ? 'backwards' : options.fill\n ) as AnimationFillMode;\n\n const { scaleFrom, scaleTo, travelY } =\n power && POWER_MAP[power]\n ? POWER_MAP[power]\n : {\n scaleFrom: scale,\n scaleTo: scale,\n travelY: speed,\n };\n\n const { fromValues, toValues } = RANGES_MAP[range](\n scaleFrom,\n scaleTo,\n travelY * -MAX_Y_TRAVEL,\n );\n\n const easing = 'linear';\n\n const { start: startOffsetAdd, end: endOffsetAdd } = getScrubOffsets(\n options.namedEffect as ShrinkScroll,\n );\n\n const [trnsX, trnsY] = directionMap[direction];\n\n return [\n {\n ...options,\n fill,\n easing,\n startOffsetAdd,\n endOffsetAdd,\n keyframes: [\n {\n transform: `translateY(${\n fromValues.travel\n }vh) translate(${trnsX}%, ${trnsY}%) scale(${\n fromValues.scale\n }) translate(${-trnsX}%, ${-trnsY}%) rotate(var(--comp-rotate-z, 0))`,\n },\n {\n transform: `translateY(${\n toValues.travel\n }vh) translate(${trnsX}%, ${trnsY}%) scale(${\n toValues.scale\n }) translate(${-trnsX}%, ${-trnsY}%) rotate(var(--comp-rotate-z, 0))`,\n },\n ],\n },\n ];\n /* // we may want to squash both animations into a single one and simply generate dynamically all the necessary keyframes to reach same result\n * @keyframes <name> {\n * from {\n * translate: 0 <fromValues.travel>;\n * }\n * to {\n * translate: 0 <toValues.travel>;\n * }\n * }\n *\n * @keyframes <name>-scale {\n * from {\n * scale: <fromValues.scale>;\n * animation-timing-function: <scaleEase>;\n * }\n * <scaleDuration>% {\n * scale: <toValues.scale>;\n * }\n * to {\n * scale: <toValues.scale>;\n * }\n * }\n *\n * @supports (animation-timeline: view()) {\n * #target {\n * animation: <name> auto <easing> both,\n * <name>-scale auto linear both;\n * animation-range: cover <start> cover <end>,\n * cover <start> cover <end>;\n * animation-timeline: view(), view();\n * }\n * }\n * @supports not (animation-timeline: view()) {\n * #target {\n * animation: <name> 100ms linear <fill> paused,\n * <name>-scale 100ms linear <fill> paused;\n * }\n * }\n */\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_utils","require","MAX_Y_TRAVEL","POWER_MAP","soft","scaleFrom","scaleTo","travelY","medium","hard","directionMap","top","right","bottom","left","center","getNames","_","web","options","_dom","style","asWeb","power","range","scale","direction","speed","namedEffect","easing","fill","travel","fromValues","toValues","offset","Math","abs","startOffsetAdd","endOffsetAdd","trnsX","trnsY","shrinkScroll","custom","name","keyframes","transform","toKeyframeValue"],"sources":["../../../../src/library/scroll/ShrinkScroll.ts"],"sourcesContent":["import type {\n AnimationFillMode,\n ScrubAnimationOptions,\n ShrinkScroll,\n DomApi,\n} from '../../types';\nimport { toKeyframeValue } from '../../utils';\n\nconst MAX_Y_TRAVEL = 40;\nconst POWER_MAP = {\n soft: { scaleFrom: 1.2, scaleTo: 0.8, travelY: 0 },\n medium: { scaleFrom: 1.7, scaleTo: 0.3, travelY: 0.5 },\n hard: { scaleFrom: 3.5, scaleTo: 0, travelY: 1 },\n};\n\nconst directionMap = {\n top: [0, -50],\n 'top-right': [50, -50],\n right: [50, 0],\n 'bottom-right': [50, 50],\n bottom: [0, 50],\n 'bottom-left': [-50, 50],\n left: [-50, 0],\n 'top-left': [-50, -50],\n center: [0, 0],\n};\n\nexport function getNames(_: ScrubAnimationOptions) {\n return ['motion-shrinkScroll'];\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 range = 'in',\n scale = range === 'in' ? 1.2 : 0.8,\n direction = 'center',\n speed = 0,\n } = options.namedEffect as ShrinkScroll;\n const easing = 'linear';\n const fill = (\n range === 'out' ? 'forwards' : range === 'in' ? 'backwards' : options.fill\n ) as AnimationFillMode;\n\n const { scaleFrom, scaleTo, travelY } =\n power && POWER_MAP[power]\n ? POWER_MAP[power]\n : {\n scaleFrom: scale,\n scaleTo: scale,\n travelY: speed,\n };\n const travel = travelY * MAX_Y_TRAVEL;\n\n const fromValues = {\n scale: range === 'out' ? 1 : scaleFrom,\n travel: range === 'out' ? 0 : -travel,\n };\n const toValues = {\n scale: range === 'in' ? 1 : scaleTo,\n travel: range === 'in' ? 0 : travel,\n };\n\n const offset = Math.abs(\n power && POWER_MAP[power] ? POWER_MAP[power].travelY : travel,\n );\n const startOffsetAdd = range === 'out' ? '0px' : `${-offset}vh`;\n const endOffsetAdd = range === 'in' ? '0px' : `${offset}vh`;\n\n const [trnsX, trnsY] = directionMap[direction] || [0, 0];\n\n const [shrinkScroll] = getNames(options);\n\n const custom = {\n '--motion-travel-from': `${fromValues.travel}vh`,\n '--motion-travel-to': `${toValues.travel}vh`,\n '--motion-shrink-from': fromValues.scale,\n '--motion-shrink-to': toValues.scale,\n '--motion-trans-x': `${trnsX}%`,\n '--motion-trans-y': `${trnsY}%`,\n };\n\n return [\n {\n ...options,\n name: shrinkScroll,\n fill,\n easing,\n custom,\n startOffsetAdd,\n endOffsetAdd,\n keyframes: [\n {\n transform: `translateY(${toKeyframeValue(\n custom,\n '--motion-travel-from',\n asWeb,\n )}) translate(${toKeyframeValue(\n custom,\n '--motion-trans-x',\n asWeb,\n )}, ${toKeyframeValue(\n custom,\n '--motion-trans-y',\n asWeb,\n )}) scale(${toKeyframeValue(\n custom,\n '--motion-shrink-from',\n asWeb,\n )}) translate(calc(-1 * ${toKeyframeValue(\n custom,\n '--motion-trans-x',\n asWeb,\n )}), calc(-1 * ${toKeyframeValue(\n custom,\n '--motion-trans-y',\n asWeb,\n )})) rotate(${toKeyframeValue({}, '--comp-rotate-z', false, '0')})`,\n },\n {\n transform: `translateY(${toKeyframeValue(\n custom,\n '--motion-travel-to',\n asWeb,\n )}) translate(${toKeyframeValue(\n custom,\n '--motion-trans-x',\n asWeb,\n )}, ${toKeyframeValue(\n custom,\n '--motion-trans-y',\n asWeb,\n )}) scale(${toKeyframeValue(\n custom,\n '--motion-shrink-to',\n asWeb,\n )}) translate(calc(-1 * ${toKeyframeValue(\n custom,\n '--motion-trans-x',\n asWeb,\n )}), calc(-1 * ${toKeyframeValue(\n custom,\n '--motion-trans-y',\n asWeb,\n )})) rotate(${toKeyframeValue({}, '--comp-rotate-z', false, '0')})`,\n },\n ],\n },\n ];\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,15 +1,20 @@
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 _utils = require("../../utils");
6
- const OPPOSITE_DIRECTION_MAP = {
7
- top: 'bottom',
8
- right: 'left',
9
- bottom: 'top',
10
- left: 'right'
11
- };
12
- function create(options) {
8
+ function getNames(options) {
9
+ const {
10
+ range = 'in'
11
+ } = options.namedEffect;
12
+ return [`motion-shuttersScroll-${range === 'continuous' ? '-continuous' : ''}`];
13
+ }
14
+ function web(options, _dom) {
15
+ return style(options, true);
16
+ }
17
+ function style(options, asWeb = false) {
13
18
  const {
14
19
  direction = 'right',
15
20
  shutters = 12,
@@ -18,49 +23,52 @@ function create(options) {
18
23
  } = options.namedEffect;
19
24
  const fill = range === 'out' ? 'forwards' : range === 'in' ? 'backwards' : options.fill;
20
25
  const easing = range === 'in' ? (0, _utils.getEasing)('sineIn') : (0, _utils.getEasing)('sineOut');
21
- const directionOpp = OPPOSITE_DIRECTION_MAP[direction];
26
+ const directionOpp = (0, _utils.getOppositeDirection)(_utils.FOUR_DIRECTIONS, direction);
22
27
  const {
23
28
  clipStart,
24
29
  clipEnd
25
30
  } = (0, _utils.getShuttersClipPaths)(range === 'out' ? directionOpp : direction, shutters, staggered);
26
- const start = range !== 'out' ? clipStart : clipEnd;
27
- const end = range !== 'out' ? clipEnd : clipStart;
28
- let keyframes;
31
+ const custom = {
32
+ '--motion-shutters-clip-start': range === 'out' ? clipEnd : clipStart,
33
+ '--motion-shutters-clip-end': range === 'out' ? clipStart : clipEnd
34
+ };
35
+ const [shuttersScroll] = getNames(options);
36
+ const keyframes = [{
37
+ clipPath: (0, _utils.toKeyframeValue)(custom, '--motion-shutters-clip-start', asWeb),
38
+ easing
39
+ }, {
40
+ clipPath: (0, _utils.toKeyframeValue)(custom, '--motion-shutters-clip-end', asWeb)
41
+ }];
29
42
  if (range === 'continuous') {
43
+ keyframes[1].easing = easing;
44
+ keyframes[1].offset = staggered ? 0.45 : 0.4;
30
45
  const {
31
46
  clipStart: oppClipStart,
32
47
  clipEnd: oppClipEnd
33
48
  } = (0, _utils.getShuttersClipPaths)(directionOpp, shutters, staggered, true);
34
- keyframes = [{
35
- clipPath: start,
36
- easing
37
- }, {
38
- clipPath: end,
39
- offset: staggered ? 0.45 : 0.4,
40
- easing
41
- }, {
42
- clipPath: end,
43
- offset: staggered ? 0.55 : 0.6,
44
- easing
45
- }, {
46
- clipPath: oppClipEnd,
47
- offset: staggered ? 0.55 : 0.6,
49
+ Object.assign(custom, {
50
+ '--motion-shutters-clip-opp-end': oppClipEnd,
51
+ '--motion-shutters-clip-opp-start': oppClipStart
52
+ });
53
+ const secondOffset = staggered ? 0.55 : 0.6;
54
+ keyframes.push({
55
+ clipPath: (0, _utils.toKeyframeValue)(custom, '--motion-shutters-clip-end', asWeb),
56
+ offset: secondOffset,
48
57
  easing
49
58
  }, {
50
- clipPath: oppClipStart
51
- }];
52
- } else {
53
- keyframes = [{
54
- clipPath: start,
59
+ clipPath: (0, _utils.toKeyframeValue)(custom, '--motion-shutters-clip-opp-end', asWeb),
60
+ offset: secondOffset,
55
61
  easing
56
62
  }, {
57
- clipPath: end
58
- }];
63
+ clipPath: (0, _utils.toKeyframeValue)(custom, '--motion-shutters-clip-opp-start', asWeb)
64
+ });
59
65
  }
60
66
  return [{
61
67
  ...options,
68
+ name: shuttersScroll,
62
69
  fill,
63
70
  easing: 'linear',
71
+ custom,
64
72
  keyframes
65
73
  }];
66
74
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_utils","require","OPPOSITE_DIRECTION_MAP","top","right","bottom","left","create","options","direction","shutters","staggered","range","namedEffect","fill","easing","getEasing","directionOpp","clipStart","clipEnd","getShuttersClipPaths","start","end","keyframes","oppClipStart","oppClipEnd","clipPath","offset"],"sources":["../../../../src/library/scroll/ShuttersScroll.ts"],"sourcesContent":["import {\n EffectFourDirections,\n ShuttersScroll,\n ScrubAnimationOptions,\n AnimationFillMode,\n} from '../../types';\nimport { getShuttersClipPaths, getEasing } from '../../utils';\n\nconst OPPOSITE_DIRECTION_MAP: Record<\n EffectFourDirections,\n EffectFourDirections\n> = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n};\n\nexport default function create(options: ScrubAnimationOptions) {\n const {\n direction = 'right',\n shutters = 12,\n staggered = true,\n range = 'in',\n } = options.namedEffect as ShuttersScroll;\n const fill = (\n range === 'out' ? 'forwards' : range === 'in' ? 'backwards' : options.fill\n ) as AnimationFillMode;\n\n const easing = range === 'in' ? getEasing('sineIn') : getEasing('sineOut');\n const directionOpp = OPPOSITE_DIRECTION_MAP[direction];\n const { clipStart, clipEnd } = getShuttersClipPaths(\n range === 'out' ? directionOpp : direction,\n shutters,\n staggered,\n );\n const start = range !== 'out' ? clipStart : clipEnd;\n const end = range !== 'out' ? clipEnd : clipStart;\n let keyframes;\n\n if (range === 'continuous') {\n const { clipStart: oppClipStart, clipEnd: oppClipEnd } =\n getShuttersClipPaths(directionOpp, shutters, staggered, true);\n\n keyframes = [\n {\n clipPath: start,\n easing,\n },\n {\n clipPath: end,\n offset: staggered ? 0.45 : 0.4,\n easing,\n },\n {\n clipPath: end,\n offset: staggered ? 0.55 : 0.6,\n easing,\n },\n {\n clipPath: oppClipEnd,\n offset: staggered ? 0.55 : 0.6,\n easing,\n },\n {\n clipPath: oppClipStart,\n },\n ];\n } else {\n keyframes = [\n {\n clipPath: start,\n easing,\n },\n {\n clipPath: end,\n },\n ];\n }\n\n return [\n {\n ...options,\n fill,\n easing: 'linear',\n keyframes,\n },\n ];\n}\n"],"mappings":";;;;AAMA,IAAAA,MAAA,GAAAC,OAAA;AAEA,MAAMC,sBAGL,GAAG;EACFC,GAAG,EAAE,QAAQ;EACbC,KAAK,EAAE,MAAM;EACbC,MAAM,EAAE,KAAK;EACbC,IAAI,EAAE;AACR,CAAC;AAEc,SAASC,MAAMA,CAACC,OAA8B,EAAE;EAC7D,MAAM;IACJC,SAAS,GAAG,OAAO;IACnBC,QAAQ,GAAG,EAAE;IACbC,SAAS,GAAG,IAAI;IAChBC,KAAK,GAAG;EACV,CAAC,GAAGJ,OAAO,CAACK,WAA6B;EACzC,MAAMC,IAAI,GACRF,KAAK,KAAK,KAAK,GAAG,UAAU,GAAGA,KAAK,KAAK,IAAI,GAAG,WAAW,GAAGJ,OAAO,CAACM,IAClD;EAEtB,MAAMC,MAAM,GAAGH,KAAK,KAAK,IAAI,GAAG,IAAAI,gBAAS,EAAC,QAAQ,CAAC,GAAG,IAAAA,gBAAS,EAAC,SAAS,CAAC;EAC1E,MAAMC,YAAY,GAAGf,sBAAsB,CAACO,SAAS,CAAC;EACtD,MAAM;IAAES,SAAS;IAAEC;EAAQ,CAAC,GAAG,IAAAC,2BAAoB,EACjDR,KAAK,KAAK,KAAK,GAAGK,YAAY,GAAGR,SAAS,EAC1CC,QAAQ,EACRC,SACF,CAAC;EACD,MAAMU,KAAK,GAAGT,KAAK,KAAK,KAAK,GAAGM,SAAS,GAAGC,OAAO;EACnD,MAAMG,GAAG,GAAGV,KAAK,KAAK,KAAK,GAAGO,OAAO,GAAGD,SAAS;EACjD,IAAIK,SAAS;EAEb,IAAIX,KAAK,KAAK,YAAY,EAAE;IAC1B,MAAM;MAAEM,SAAS,EAAEM,YAAY;MAAEL,OAAO,EAAEM;IAAW,CAAC,GACpD,IAAAL,2BAAoB,EAACH,YAAY,EAAEP,QAAQ,EAAEC,SAAS,EAAE,IAAI,CAAC;IAE/DY,SAAS,GAAG,CACV;MACEG,QAAQ,EAAEL,KAAK;MACfN;IACF,CAAC,EACD;MACEW,QAAQ,EAAEJ,GAAG;MACbK,MAAM,EAAEhB,SAAS,GAAG,IAAI,GAAG,GAAG;MAC9BI;IACF,CAAC,EACD;MACEW,QAAQ,EAAEJ,GAAG;MACbK,MAAM,EAAEhB,SAAS,GAAG,IAAI,GAAG,GAAG;MAC9BI;IACF,CAAC,EACD;MACEW,QAAQ,EAAED,UAAU;MACpBE,MAAM,EAAEhB,SAAS,GAAG,IAAI,GAAG,GAAG;MAC9BI;IACF,CAAC,EACD;MACEW,QAAQ,EAAEF;IACZ,CAAC,CACF;EACH,CAAC,MAAM;IACLD,SAAS,GAAG,CACV;MACEG,QAAQ,EAAEL,KAAK;MACfN;IACF,CAAC,EACD;MACEW,QAAQ,EAAEJ;IACZ,CAAC,CACF;EACH;EAEA,OAAO,CACL;IACE,GAAGd,OAAO;IACVM,IAAI;IACJC,MAAM,EAAE,QAAQ;IAChBQ;EACF,CAAC,CACF;AACH","ignoreList":[]}
1
+ {"version":3,"names":["_utils","require","getNames","options","range","namedEffect","web","_dom","style","asWeb","direction","shutters","staggered","fill","easing","getEasing","directionOpp","getOppositeDirection","FOUR_DIRECTIONS","clipStart","clipEnd","getShuttersClipPaths","custom","shuttersScroll","keyframes","clipPath","toKeyframeValue","offset","oppClipStart","oppClipEnd","Object","assign","secondOffset","push","name"],"sources":["../../../../src/library/scroll/ShuttersScroll.ts"],"sourcesContent":["import type {\n AnimationFillMode,\n ScrubAnimationOptions,\n ShuttersScroll,\n DomApi,\n} from '../../types';\nimport {\n getOppositeDirection,\n getShuttersClipPaths,\n getEasing,\n toKeyframeValue,\n FOUR_DIRECTIONS,\n} from '../../utils';\n\nexport function getNames(options: ScrubAnimationOptions) {\n const { range = 'in' } = options.namedEffect as ShuttersScroll;\n return [\n `motion-shuttersScroll-${range === 'continuous' ? '-continuous' : ''}`,\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 direction = 'right',\n shutters = 12,\n staggered = true,\n range = 'in',\n } = options.namedEffect as ShuttersScroll;\n const fill = (\n range === 'out' ? 'forwards' : range === 'in' ? 'backwards' : options.fill\n ) as AnimationFillMode;\n\n const easing = range === 'in' ? getEasing('sineIn') : getEasing('sineOut');\n\n const directionOpp = getOppositeDirection(FOUR_DIRECTIONS, direction);\n\n const { clipStart, clipEnd } = getShuttersClipPaths(\n range === 'out' ? directionOpp : direction,\n shutters,\n staggered,\n );\n\n const custom = {\n '--motion-shutters-clip-start': range === 'out' ? clipEnd : clipStart,\n '--motion-shutters-clip-end': range === 'out' ? clipStart : clipEnd,\n };\n\n const [shuttersScroll] = getNames(options);\n\n const keyframes: {\n clipPath: string | number;\n easing?: string;\n offset?: number;\n }[] = [\n {\n clipPath: toKeyframeValue(custom, '--motion-shutters-clip-start', asWeb),\n easing,\n },\n {\n clipPath: toKeyframeValue(custom, '--motion-shutters-clip-end', asWeb),\n },\n ];\n\n if (range === 'continuous') {\n keyframes[1].easing = easing;\n keyframes[1].offset = staggered ? 0.45 : 0.4;\n\n const { clipStart: oppClipStart, clipEnd: oppClipEnd } =\n getShuttersClipPaths(directionOpp, shutters, staggered, true);\n Object.assign(custom, {\n '--motion-shutters-clip-opp-end': oppClipEnd,\n '--motion-shutters-clip-opp-start': oppClipStart,\n });\n\n const secondOffset = staggered ? 0.55 : 0.6;\n keyframes.push(\n {\n clipPath: toKeyframeValue(custom, '--motion-shutters-clip-end', asWeb),\n offset: secondOffset,\n easing,\n },\n {\n clipPath: toKeyframeValue(\n custom,\n '--motion-shutters-clip-opp-end',\n asWeb,\n ),\n offset: secondOffset,\n easing,\n },\n {\n clipPath: toKeyframeValue(\n custom,\n '--motion-shutters-clip-opp-start',\n asWeb,\n ),\n },\n );\n }\n\n return [\n {\n ...options,\n name: shuttersScroll,\n fill,\n easing: 'linear',\n custom,\n keyframes,\n },\n ];\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,84 +1,22 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.default = create;
4
+ exports.getNames = getNames;
5
+ exports.prepare = prepare;
6
+ exports.style = style;
7
+ exports.web = web;
8
+ var _utils = require("../../utils");
5
9
  const POWER_MAP = {
6
- soft: {
7
- skewX: 10
8
- },
9
- medium: {
10
- skewX: 17
11
- },
12
- hard: {
13
- skewX: 24
14
- }
15
- };
16
- const DIRECTION_MAP = {
17
- right: -1,
18
- left: 1
10
+ soft: 10,
11
+ medium: 17,
12
+ hard: 24
19
13
  };
20
- const RANGES_MAP = {
21
- in: (skewX, startX, _endX) => ({
22
- fromValues: {
23
- skewX,
24
- startX
25
- },
26
- toValues: {
27
- skewX: 0,
28
- endX: 0
29
- }
30
- }),
31
- out: (skewX, startX, _endX) => ({
32
- fromValues: {
33
- skewX: 0,
34
- startX: 0
35
- },
36
- toValues: {
37
- skewX: -skewX,
38
- endX: startX
39
- }
40
- }),
41
- continuous: (skewX, startX, endX) => ({
42
- fromValues: {
43
- skewX,
44
- startX
45
- },
46
- toValues: {
47
- skewX: -skewX,
48
- endX
49
- }
50
- })
51
- };
52
- const POSITIONS = {
53
- left: {
54
- startX: `calc(var(--motion-left, calc(100vw - 100%)) * -1 - 100%)`,
55
- endX: `calc(100vw - var(--motion-left, 0px))`
56
- },
57
- right: {
58
- startX: `calc(100vw - var(--motion-left, 0px))`,
59
- endX: `calc(var(--motion-left, calc(100vw - 100%)) * -1 - 100%)`
60
- }
61
- };
62
- function create(options, dom) {
63
- const {
64
- skew = 10,
65
- direction = 'right',
66
- power,
67
- range = 'in'
68
- } = options.namedEffect;
69
- const easing = 'linear';
70
- const fill = range === 'out' ? 'forwards' : range === 'in' ? 'backwards' : options.fill;
71
- const skewX = (power && POWER_MAP[power] ? POWER_MAP[power].skewX : skew) * DIRECTION_MAP[direction];
72
- const {
73
- startX,
74
- endX
75
- } = POSITIONS[direction];
76
- const {
77
- fromValues,
78
- toValues
79
- } = RANGES_MAP[range](skewX, startX, endX);
80
- let left = 0;
14
+ function getNames(_) {
15
+ return ['motion-skewPanScroll'];
16
+ }
17
+ function prepare(_, dom) {
81
18
  if (dom) {
19
+ let left = 0;
82
20
  dom.measure(target => {
83
21
  if (!target) {
84
22
  return;
@@ -89,25 +27,50 @@ function create(options, dom) {
89
27
  target == null || target.style.setProperty('--motion-left', `${left}px`);
90
28
  });
91
29
  }
30
+ }
31
+ function web(options, dom) {
32
+ prepare(options, dom);
33
+ return style(options, true);
34
+ }
35
+ function style(options, asWeb = false) {
36
+ const {
37
+ skew = 10,
38
+ direction = 'right',
39
+ power,
40
+ range = 'in'
41
+ } = options.namedEffect;
42
+ const easing = 'linear';
43
+ const fill = range === 'out' ? 'forwards' : range === 'in' ? 'backwards' : options.fill;
44
+ const skewX = (power && POWER_MAP[power] ? POWER_MAP[power] : skew) * (direction === 'left' ? 1 : -1);
45
+ const startXLeft = `calc(${(0, _utils.toKeyframeValue)({}, '--motion-left', false, 'calc(100vw - 100%)')} * -1 - 100%)`;
46
+ const endXLeft = `calc(100vw - ${(0, _utils.toKeyframeValue)({}, '--motion-left', false, '0px')})`;
47
+ const [startX, endX] = direction === 'left' ? [startXLeft, endXLeft] : [endXLeft, startXLeft];
48
+ const fromValues = {
49
+ skew: range === 'out' ? 0 : skewX,
50
+ translate: range === 'out' ? 0 : startX
51
+ };
52
+ const toValues = {
53
+ skew: range === 'in' ? 0 : -skewX,
54
+ translate: range === 'in' ? 0 : range === 'out' ? startX : endX
55
+ };
56
+ const [skewPanScroll] = getNames(options);
57
+ const custom = {
58
+ '--motion-skewpan-start-x': fromValues.translate,
59
+ '--motion-skewpan-end-x': toValues.translate,
60
+ '--motion-skewpan-from-skew': `${fromValues.skew}deg`,
61
+ '--motion-skewpan-to-skew': `${toValues.skew}deg`
62
+ };
92
63
  return [{
93
64
  ...options,
65
+ name: skewPanScroll,
94
66
  fill,
95
67
  easing,
68
+ custom,
96
69
  keyframes: [{
97
- transform: `translateX(${fromValues.startX}) skewX(${fromValues.skewX}deg) rotate(var(--comp-rotate-z, 0))`
70
+ transform: `translateX(${(0, _utils.toKeyframeValue)(custom, '--motion-skewpan-start-x', asWeb)}) skewX(${(0, _utils.toKeyframeValue)(custom, '--motion-skewpan-from-skew', asWeb)}) rotate(${(0, _utils.toKeyframeValue)({}, '--comp-rotate-z', false, '0')})`
98
71
  }, {
99
- transform: `translateX(${toValues.endX}) skewX(${toValues.skewX}deg) rotate(var(--comp-rotate-z, 0))`
72
+ transform: `translateX(${(0, _utils.toKeyframeValue)(custom, '--motion-skewpan-end-x', asWeb)}) skewX(${(0, _utils.toKeyframeValue)(custom, '--motion-skewpan-to-skew', asWeb)}) rotate(${(0, _utils.toKeyframeValue)({}, '--comp-rotate-z', false, '0')})`
100
73
  }]
101
74
  }];
102
- /*
103
- * @keyframes <name> {
104
- * from {
105
- * transform: translateX(<fromValue.startX>) skewX(<fromValue.skew>) rotate(<rotation>);
106
- * }
107
- * to {
108
- * transform: translateX(<toValue.endX>) skewX(<toValue.skew>) rotate(<rotation>);
109
- * }
110
- * }
111
- */
112
75
  }
113
76
  //# sourceMappingURL=SkewPanScroll.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["POWER_MAP","soft","skewX","medium","hard","DIRECTION_MAP","right","left","RANGES_MAP","in","startX","_endX","fromValues","toValues","endX","out","continuous","POSITIONS","create","options","dom","skew","direction","power","range","namedEffect","easing","fill","measure","target","getBoundingClientRect","mutate","style","setProperty","keyframes","transform"],"sources":["../../../../src/library/scroll/SkewPanScroll.ts"],"sourcesContent":["import type {\n AnimationFillMode,\n DomApi,\n ScrubAnimationOptions,\n SkewPanScroll,\n} from '../../types';\n\nconst POWER_MAP = {\n soft: { skewX: 10 },\n medium: { skewX: 17 },\n hard: { skewX: 24 },\n};\n\nconst DIRECTION_MAP = {\n right: -1,\n left: 1,\n};\n\nconst RANGES_MAP = {\n in: (skewX: number, startX: string, _endX: string) => ({\n fromValues: { skewX, startX },\n toValues: { skewX: 0, endX: 0 },\n }),\n out: (skewX: number, startX: string, _endX: string) => ({\n fromValues: { skewX: 0, startX: 0 },\n toValues: { skewX: -skewX, endX: startX },\n }),\n continuous: (skewX: number, startX: string, endX: string) => ({\n fromValues: { skewX, startX },\n toValues: { skewX: -skewX, endX },\n }),\n};\n\nconst POSITIONS = {\n left: {\n startX: `calc(var(--motion-left, calc(100vw - 100%)) * -1 - 100%)`,\n endX: `calc(100vw - var(--motion-left, 0px))`,\n },\n right: {\n startX: `calc(100vw - var(--motion-left, 0px))`,\n endX: `calc(var(--motion-left, calc(100vw - 100%)) * -1 - 100%)`,\n },\n};\n\nexport default function create(options: ScrubAnimationOptions, dom?: DomApi) {\n const {\n skew = 10,\n direction = 'right',\n power,\n range = 'in',\n } = options.namedEffect as SkewPanScroll;\n const easing = 'linear';\n const fill = (\n range === 'out' ? 'forwards' : range === 'in' ? 'backwards' : options.fill\n ) as AnimationFillMode;\n\n const skewX =\n (power && POWER_MAP[power] ? POWER_MAP[power!].skewX : skew) *\n DIRECTION_MAP[direction];\n const { startX, endX } = POSITIONS[direction];\n const { fromValues, toValues } = RANGES_MAP[range](skewX, startX, endX);\n\n let left = 0;\n if (dom) {\n dom.measure((target) => {\n if (!target) {\n return;\n }\n left = target.getBoundingClientRect().left;\n });\n dom.mutate((target) => {\n target?.style.setProperty('--motion-left', `${left}px`);\n });\n }\n\n return [\n {\n ...options,\n fill,\n easing,\n keyframes: [\n {\n transform: `translateX(${fromValues.startX}) skewX(${fromValues.skewX}deg) rotate(var(--comp-rotate-z, 0))`,\n },\n {\n transform: `translateX(${toValues.endX}) skewX(${toValues.skewX}deg) rotate(var(--comp-rotate-z, 0))`,\n },\n ],\n },\n ];\n /*\n * @keyframes <name> {\n * from {\n * transform: translateX(<fromValue.startX>) skewX(<fromValue.skew>) rotate(<rotation>);\n * }\n * to {\n * transform: translateX(<toValue.endX>) skewX(<toValue.skew>) rotate(<rotation>);\n * }\n * }\n */\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_utils","require","POWER_MAP","soft","medium","hard","getNames","_","prepare","dom","left","measure","target","getBoundingClientRect","mutate","style","setProperty","web","options","asWeb","skew","direction","power","range","namedEffect","easing","fill","skewX","startXLeft","toKeyframeValue","endXLeft","startX","endX","fromValues","translate","toValues","skewPanScroll","custom","name","keyframes","transform"],"sources":["../../../../src/library/scroll/SkewPanScroll.ts"],"sourcesContent":["import type {\n AnimationFillMode,\n DomApi,\n ScrubAnimationOptions,\n SkewPanScroll,\n} from '../../types';\nimport { toKeyframeValue } from '../../utils';\n\nconst POWER_MAP = {\n soft: 10,\n medium: 17,\n hard: 24,\n};\n\nexport function getNames(_: ScrubAnimationOptions) {\n return ['motion-skewPanScroll'];\n}\n\nexport function prepare(_: ScrubAnimationOptions, dom?: DomApi) {\n if (dom) {\n let left = 0;\n dom.measure((target) => {\n if (!target) {\n return;\n }\n left = target.getBoundingClientRect().left;\n });\n dom.mutate((target) => {\n target?.style.setProperty('--motion-left', `${left}px`);\n });\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 {\n skew = 10,\n direction = 'right',\n power,\n range = 'in',\n } = options.namedEffect as SkewPanScroll;\n const easing = 'linear';\n const fill = (\n range === 'out' ? 'forwards' : range === 'in' ? 'backwards' : options.fill\n ) as AnimationFillMode;\n\n const skewX =\n (power && POWER_MAP[power] ? POWER_MAP[power] : skew) *\n (direction === 'left' ? 1 : -1);\n const startXLeft = `calc(${toKeyframeValue(\n {},\n '--motion-left',\n false,\n 'calc(100vw - 100%)',\n )} * -1 - 100%)`;\n const endXLeft = `calc(100vw - ${toKeyframeValue(\n {},\n '--motion-left',\n false,\n '0px',\n )})`;\n const [startX, endX] =\n direction === 'left' ? [startXLeft, endXLeft] : [endXLeft, startXLeft];\n\n const fromValues = {\n skew: range === 'out' ? 0 : skewX,\n translate: range === 'out' ? 0 : startX,\n };\n const toValues = {\n skew: range === 'in' ? 0 : -skewX,\n translate: range === 'in' ? 0 : range === 'out' ? startX : endX,\n };\n\n const [skewPanScroll] = getNames(options);\n\n const custom = {\n '--motion-skewpan-start-x': fromValues.translate,\n '--motion-skewpan-end-x': toValues.translate,\n '--motion-skewpan-from-skew': `${fromValues.skew}deg`,\n '--motion-skewpan-to-skew': `${toValues.skew}deg`,\n };\n\n return [\n {\n ...options,\n name: skewPanScroll,\n fill,\n easing,\n custom,\n keyframes: [\n {\n transform: `translateX(${toKeyframeValue(\n custom,\n '--motion-skewpan-start-x',\n asWeb,\n )}) skewX(${toKeyframeValue(\n custom,\n '--motion-skewpan-from-skew',\n asWeb,\n )}) rotate(${toKeyframeValue({}, '--comp-rotate-z', false, '0')})`,\n },\n {\n transform: `translateX(${toKeyframeValue(\n custom,\n '--motion-skewpan-end-x',\n asWeb,\n )}) skewX(${toKeyframeValue(\n custom,\n '--motion-skewpan-to-skew',\n asWeb,\n )}) rotate(${toKeyframeValue({}, '--comp-rotate-z', false, '0')})`,\n },\n ],\n },\n ];\n}\n"],"mappings":";;;;;;;AAMA,IAAAA,MAAA,GAAAC,OAAA;AAEA,MAAMC,SAAS,GAAG;EAChBC,IAAI,EAAE,EAAE;EACRC,MAAM,EAAE,EAAE;EACVC,IAAI,EAAE;AACR,CAAC;AAEM,SAASC,QAAQA,CAACC,CAAwB,EAAE;EACjD,OAAO,CAAC,sBAAsB,CAAC;AACjC;AAEO,SAASC,OAAOA,CAACD,CAAwB,EAAEE,GAAY,EAAE;EAC9D,IAAIA,GAAG,EAAE;IACP,IAAIC,IAAI,GAAG,CAAC;IACZD,GAAG,CAACE,OAAO,CAAEC,MAAM,IAAK;MACtB,IAAI,CAACA,MAAM,EAAE;QACX;MACF;MACAF,IAAI,GAAGE,MAAM,CAACC,qBAAqB,CAAC,CAAC,CAACH,IAAI;IAC5C,CAAC,CAAC;IACFD,GAAG,CAACK,MAAM,CAAEF,MAAM,IAAK;MACrBA,MAAM,YAANA,MAAM,CAAEG,KAAK,CAACC,WAAW,CAAC,eAAe,EAAE,GAAGN,IAAI,IAAI,CAAC;IACzD,CAAC,CAAC;EACJ;AACF;AAEO,SAASO,GAAGA,CAACC,OAA8B,EAAET,GAAY,EAAE;EAChED,OAAO,CAACU,OAAO,EAAET,GAAG,CAAC;EAErB,OAAOM,KAAK,CAACG,OAAO,EAAE,IAAI,CAAC;AAC7B;AAEO,SAASH,KAAKA,CAACG,OAA8B,EAAEC,KAAK,GAAG,KAAK,EAAE;EACnE,MAAM;IACJC,IAAI,GAAG,EAAE;IACTC,SAAS,GAAG,OAAO;IACnBC,KAAK;IACLC,KAAK,GAAG;EACV,CAAC,GAAGL,OAAO,CAACM,WAA4B;EACxC,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,KAAK,GACT,CAACL,KAAK,IAAIpB,SAAS,CAACoB,KAAK,CAAC,GAAGpB,SAAS,CAACoB,KAAK,CAAC,GAAGF,IAAI,KACnDC,SAAS,KAAK,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;EACjC,MAAMO,UAAU,GAAG,QAAQ,IAAAC,sBAAe,EACxC,CAAC,CAAC,EACF,eAAe,EACf,KAAK,EACL,oBACF,CAAC,eAAe;EAChB,MAAMC,QAAQ,GAAG,gBAAgB,IAAAD,sBAAe,EAC9C,CAAC,CAAC,EACF,eAAe,EACf,KAAK,EACL,KACF,CAAC,GAAG;EACJ,MAAM,CAACE,MAAM,EAAEC,IAAI,CAAC,GAClBX,SAAS,KAAK,MAAM,GAAG,CAACO,UAAU,EAAEE,QAAQ,CAAC,GAAG,CAACA,QAAQ,EAAEF,UAAU,CAAC;EAExE,MAAMK,UAAU,GAAG;IACjBb,IAAI,EAAEG,KAAK,KAAK,KAAK,GAAG,CAAC,GAAGI,KAAK;IACjCO,SAAS,EAAEX,KAAK,KAAK,KAAK,GAAG,CAAC,GAAGQ;EACnC,CAAC;EACD,MAAMI,QAAQ,GAAG;IACff,IAAI,EAAEG,KAAK,KAAK,IAAI,GAAG,CAAC,GAAG,CAACI,KAAK;IACjCO,SAAS,EAAEX,KAAK,KAAK,IAAI,GAAG,CAAC,GAAGA,KAAK,KAAK,KAAK,GAAGQ,MAAM,GAAGC;EAC7D,CAAC;EAED,MAAM,CAACI,aAAa,CAAC,GAAG9B,QAAQ,CAACY,OAAO,CAAC;EAEzC,MAAMmB,MAAM,GAAG;IACb,0BAA0B,EAAEJ,UAAU,CAACC,SAAS;IAChD,wBAAwB,EAAEC,QAAQ,CAACD,SAAS;IAC5C,4BAA4B,EAAE,GAAGD,UAAU,CAACb,IAAI,KAAK;IACrD,0BAA0B,EAAE,GAAGe,QAAQ,CAACf,IAAI;EAC9C,CAAC;EAED,OAAO,CACL;IACE,GAAGF,OAAO;IACVoB,IAAI,EAAEF,aAAa;IACnBV,IAAI;IACJD,MAAM;IACNY,MAAM;IACNE,SAAS,EAAE,CACT;MACEC,SAAS,EAAE,cAAc,IAAAX,sBAAe,EACtCQ,MAAM,EACN,0BAA0B,EAC1BlB,KACF,CAAC,WAAW,IAAAU,sBAAe,EACzBQ,MAAM,EACN,4BAA4B,EAC5BlB,KACF,CAAC,YAAY,IAAAU,sBAAe,EAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAAK,EAAE,GAAG,CAAC;IACjE,CAAC,EACD;MACEW,SAAS,EAAE,cAAc,IAAAX,sBAAe,EACtCQ,MAAM,EACN,wBAAwB,EACxBlB,KACF,CAAC,WAAW,IAAAU,sBAAe,EACzBQ,MAAM,EACN,0BAA0B,EAC1BlB,KACF,CAAC,YAAY,IAAAU,sBAAe,EAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAAK,EAAE,GAAG,CAAC;IACjE,CAAC;EAEL,CAAC,CACF;AACH","ignoreList":[]}
@@ -1,24 +1,12 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.default = create;
4
+ exports.getNames = getNames;
5
+ exports.prepare = prepare;
6
+ exports.style = style;
7
+ exports.web = web;
5
8
  var _utils = require("../../utils");
6
- const DIRECTIONS = ['bottom', 'left', 'top', 'right'];
7
- const OPPOSITE_DIRECTION_MAP = {
8
- top: 'bottom',
9
- bottom: 'top',
10
- left: 'right',
11
- right: 'left'
12
- };
13
9
  const DIRECTION_TRANSLATION_MAP = {
14
- top: {
15
- x: '0',
16
- y: '-100%'
17
- },
18
- right: {
19
- x: '100%',
20
- y: '0'
21
- },
22
10
  bottom: {
23
11
  x: '0',
24
12
  y: '100%'
@@ -26,90 +14,79 @@ const DIRECTION_TRANSLATION_MAP = {
26
14
  left: {
27
15
  x: '-100%',
28
16
  y: '0'
17
+ },
18
+ top: {
19
+ x: '0',
20
+ y: '-100%'
21
+ },
22
+ right: {
23
+ x: '100%',
24
+ y: '0'
29
25
  }
30
26
  };
31
- const initialClip = (0, _utils.getClipPolygonParams)({
32
- direction: 'initial'
33
- });
34
- const KEYFRAMES_RANGE_MAP = {
35
- in: (clip, translate) => [{
36
- clipPath: `var(--motion-clip-from, ${clip.from})`,
37
- transform: `rotate(var(--comp-rotate-z, 0)) translate(${translate.from.x}, ${translate.from.y})`
38
- }, {
39
- clipPath: initialClip,
40
- transform: `rotate(var(--comp-rotate-z, 0)) translate(0, 0)`
41
- }],
42
- out: (clip, translate) => [{
43
- clipPath: initialClip,
44
- transform: `rotate(var(--comp-rotate-z, 0)) translate(0, 0)`
45
- }, {
46
- clipPath: `var(--motion-clip-from, ${clip.from})`,
47
- transform: `rotate(var(--comp-rotate-z, 0)) translate(${translate.from.x}, ${translate.from.y})`
48
- }],
49
- continuous: (clip, translate) => [{
50
- clipPath: `var(--motion-clip-from, ${clip.from})`,
51
- transform: `rotate(var(--comp-rotate-z, 0)) translate(${translate.from.x}, ${translate.from.y})`
52
- }, {
53
- clipPath: initialClip,
54
- transform: `rotate(var(--comp-rotate-z, 0)) translate(0, 0)`
55
- }, {
56
- clipPath: `var(--motion-clip-to, ${clip.to})`,
57
- transform: `rotate(var(--comp-rotate-z, 0)) translate(${translate.to.x}, ${translate.to.y})`
58
- }]
59
- };
60
- function create(options, dom) {
27
+ function getNames(options) {
28
+ const {
29
+ range = 'in'
30
+ } = options.namedEffect;
31
+ return [`motion-slideScroll${range === 'continuous' ? '-continuous' : ''}`];
32
+ }
33
+ function prepare(options, dom) {
34
+ if (dom) {
35
+ const {
36
+ direction = 'bottom',
37
+ range = 'in'
38
+ } = options.namedEffect;
39
+ (0, _utils.applyRotationAdjustedClip)(dom, direction, range);
40
+ }
41
+ }
42
+ function web(options, dom) {
43
+ prepare(options, dom);
44
+ return style(options, true);
45
+ }
46
+ function style(options, asWeb = false) {
61
47
  const {
62
48
  direction = 'bottom',
63
49
  range = 'in'
64
50
  } = options.namedEffect;
65
51
  const easing = 'linear';
66
52
  const fill = range === 'out' ? 'forwards' : range === 'in' ? 'backwards' : options.fill;
67
- const oppositeDirection = OPPOSITE_DIRECTION_MAP[direction];
68
- const keyframes = KEYFRAMES_RANGE_MAP[range]({
69
- from: (0, _utils.getClipPolygonParams)({
70
- direction: oppositeDirection
71
- }),
72
- to: (0, _utils.getClipPolygonParams)({
73
- direction
74
- })
53
+ const oppositeDirection = (0, _utils.getOppositeDirection)(_utils.FOUR_DIRECTIONS, direction);
54
+ const translateFrom = range === 'out' ? {
55
+ x: '0',
56
+ y: '0'
57
+ } : DIRECTION_TRANSLATION_MAP[direction];
58
+ const translateTo = range === 'in' ? {
59
+ x: '0',
60
+ y: '0'
61
+ } : DIRECTION_TRANSLATION_MAP[range === 'out' ? direction : oppositeDirection];
62
+ const custom = {
63
+ '--motion-clip-from': (0, _utils.getRevealClipFrom)(direction, range),
64
+ '--motion-clip-to': (0, _utils.getRevealClipTo)(direction, range),
65
+ '--motion-translate-from-x': translateFrom.x,
66
+ '--motion-translate-from-y': translateFrom.y,
67
+ '--motion-translate-to-x': translateTo.x,
68
+ '--motion-translate-to-y': translateTo.y
69
+ };
70
+ const keyframes = [{
71
+ clipPath: (0, _utils.toKeyframeValue)({}, '--motion-clip-from', false, custom['--motion-clip-from']),
72
+ transform: `rotate(${(0, _utils.toKeyframeValue)({}, '--comp-rotate-z', false, '0')}) translate(${(0, _utils.toKeyframeValue)(custom, `--motion-translate-from-x`, asWeb)}, ${(0, _utils.toKeyframeValue)(custom, `--motion-translate-from-y`, asWeb)})`
75
73
  }, {
76
- from: DIRECTION_TRANSLATION_MAP[direction],
77
- to: DIRECTION_TRANSLATION_MAP[oppositeDirection]
78
- });
79
- if (dom) {
80
- dom.measure(target => {
81
- if (!target) {
82
- return;
83
- }
84
- const rotation = parseInt(getComputedStyle(target).getPropertyValue('--comp-rotate-z') || '0', 10);
85
- dom.mutate(() => {
86
- const adjDirection = (0, _utils.getAdjustedDirection)(DIRECTIONS, direction, rotation);
87
- target.style.setProperty('--motion-clip-from', (0, _utils.getClipPolygonParams)({
88
- direction: OPPOSITE_DIRECTION_MAP[adjDirection]
89
- }));
90
- target.style.setProperty('--motion-clip-to', (0, _utils.getClipPolygonParams)({
91
- direction: adjDirection
92
- }));
93
- });
74
+ clipPath: (0, _utils.toKeyframeValue)({}, '--motion-clip-to', false, custom['--motion-clip-to']),
75
+ transform: `rotate(${(0, _utils.toKeyframeValue)({}, '--comp-rotate-z', false, '0')}) translate(${(0, _utils.toKeyframeValue)(custom, `--motion-translate-to-x`, asWeb)}, ${(0, _utils.toKeyframeValue)(custom, `--motion-translate-to-y`, asWeb)})`
76
+ }];
77
+ if (range === 'continuous') {
78
+ keyframes.splice(1, 0, {
79
+ clipPath: _utils.INITIAL_CLIP,
80
+ transform: `rotate(${(0, _utils.toKeyframeValue)({}, '--comp-rotate-z', false, '0')}) translate(0, 0)`
94
81
  });
95
82
  }
83
+ const [slideScroll] = getNames(options);
96
84
  return [{
97
85
  ...options,
86
+ name: slideScroll,
98
87
  fill,
99
88
  easing,
100
89
  keyframes
101
90
  }];
102
- /*
103
- * @keyframes <name> {
104
- * from {
105
- * clip-path: <clip.from>;
106
- * translate: <translate.from.x> <translate.from.y>;
107
- * }
108
- * to {
109
- * clip-path: none;
110
- * translate: 0 0;
111
- * }
112
- * }
113
- */
114
91
  }
115
92
  //# sourceMappingURL=SlideScroll.js.map