move.gl 0.0.1 → 0.0.2

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 (463) hide show
  1. package/README.md +185 -11
  2. package/dist/LICENSE +21 -0
  3. package/dist/README.md +212 -0
  4. package/dist/css/move.gl.css +43859 -0
  5. package/dist/css/move.gl.min.css +19 -0
  6. package/dist/js/index.cjs +1171 -0
  7. package/dist/js/index.cjs.map +1 -0
  8. package/dist/js/index.d.cts +184 -0
  9. package/dist/js/index.d.ts +184 -0
  10. package/dist/js/index.mjs +1135 -0
  11. package/dist/js/index.mjs.map +1 -0
  12. package/dist/package.json +68 -0
  13. package/{scss → dist/scss}/classes/_animations.scss +33 -14
  14. package/dist/scss/classes/_controls.scss +314 -0
  15. package/dist/scss/classes/_effects.scss +283 -0
  16. package/dist/scss/classes/_index.scss +28 -0
  17. package/dist/scss/classes/_loaders.scss +779 -0
  18. package/dist/scss/classes/_transforms.scss +138 -0
  19. package/dist/scss/classes/_transitions.scss +264 -0
  20. package/{scss → dist/scss}/dev/_deprecation.scss +6 -3
  21. package/{scss → dist/scss}/dev/_modules.scss +5 -6
  22. package/dist/scss/docs.scss +2344 -0
  23. package/dist/scss/docs.scss.bak +3133 -0
  24. package/dist/scss/functions/_index.scss +22 -0
  25. package/dist/scss/functions/scenes/_bubble.scss +32 -0
  26. package/dist/scss/functions/scenes/_index.scss +21 -0
  27. package/dist/scss/index.scss +17 -0
  28. package/dist/scss/maps/_controls.scss +85 -0
  29. package/dist/scss/maps/_index.scss +22 -0
  30. package/{scss → dist/scss}/mixins/_accessibility.scss +24 -3
  31. package/{scss → dist/scss}/mixins/_boot.scss +4 -4
  32. package/dist/scss/mixins/_index.scss +41 -0
  33. package/dist/scss/mixins/_screensaver.scss +228 -0
  34. package/dist/scss/mixins/_shape.scss +315 -0
  35. package/dist/scss/mixins/animations/_base.scss +403 -0
  36. package/dist/scss/mixins/animations/_beat.scss +137 -0
  37. package/{scss → dist/scss}/mixins/animations/_blink.scss +60 -52
  38. package/dist/scss/mixins/animations/_bounce.scss +306 -0
  39. package/{scss → dist/scss}/mixins/animations/_elastic.scss +26 -22
  40. package/dist/scss/mixins/animations/_fade.scss +393 -0
  41. package/{scss → dist/scss}/mixins/animations/_flash.scss +53 -61
  42. package/dist/scss/mixins/animations/_flip.scss +251 -0
  43. package/{scss → dist/scss}/mixins/animations/_float.scss +47 -32
  44. package/{scss → dist/scss}/mixins/animations/_glow.scss +69 -58
  45. package/dist/scss/mixins/animations/_heartbeat.scss +195 -0
  46. package/dist/scss/mixins/animations/_hinge.scss +118 -0
  47. package/dist/scss/mixins/animations/_index.scss +97 -0
  48. package/dist/scss/mixins/animations/_jello.scss +123 -0
  49. package/dist/scss/mixins/animations/_jiggle.scss +162 -0
  50. package/dist/scss/mixins/animations/_lightspeed.scss +135 -0
  51. package/{scss → dist/scss}/mixins/animations/_nod.scss +57 -65
  52. package/dist/scss/mixins/animations/_pop.scss +153 -0
  53. package/dist/scss/mixins/animations/_pulse.scss +275 -0
  54. package/{scss → dist/scss}/mixins/animations/_ripple.scss +47 -55
  55. package/dist/scss/mixins/animations/_roll.scss +217 -0
  56. package/dist/scss/mixins/animations/_rotate.scss +728 -0
  57. package/dist/scss/mixins/animations/_rubber.scss +115 -0
  58. package/dist/scss/mixins/animations/_scale.scss +382 -0
  59. package/dist/scss/mixins/animations/_shake.scss +233 -0
  60. package/dist/scss/mixins/animations/_slide.scss +501 -0
  61. package/dist/scss/mixins/animations/_spin.scss +322 -0
  62. package/{scss → dist/scss}/mixins/animations/_sway.scss +32 -49
  63. package/{scss → dist/scss}/mixins/animations/_swing.scss +47 -49
  64. package/{scss → dist/scss}/mixins/animations/_tada.scss +44 -42
  65. package/{scss → dist/scss}/mixins/animations/_twist.scss +40 -55
  66. package/{scss → dist/scss}/mixins/animations/_wave.scss +36 -53
  67. package/dist/scss/mixins/animations/_wobble.scss +283 -0
  68. package/dist/scss/mixins/animations/_zoom.scss +394 -0
  69. package/{scss/mixins/mouse → dist/scss/mixins/controls}/_cursor.scss +60 -39
  70. package/dist/scss/mixins/controls/_hover.scss +625 -0
  71. package/dist/scss/mixins/controls/_index.scss +30 -0
  72. package/dist/scss/mixins/controls/_keyboard.scss +300 -0
  73. package/{scss/mixins/mouse → dist/scss/mixins/controls}/_pointer.scss +81 -72
  74. package/dist/scss/mixins/controls/_scroll.scss +460 -0
  75. package/{scss/mixins/scroll → dist/scss/mixins/controls}/_scrollbar.scss +50 -16
  76. package/dist/scss/mixins/controls/_selection.scss +208 -0
  77. package/dist/scss/mixins/controls/_touch.scss +401 -0
  78. package/dist/scss/mixins/effects/_blend.scss +128 -0
  79. package/dist/scss/mixins/effects/_filter.scss +470 -0
  80. package/dist/scss/mixins/effects/_focus.scss +83 -0
  81. package/dist/scss/mixins/effects/_gradient.scss +130 -0
  82. package/dist/scss/mixins/effects/_index.scss +28 -0
  83. package/dist/scss/mixins/effects/_mask.scss +76 -0
  84. package/dist/scss/mixins/effects/_opacity.scss +376 -0
  85. package/dist/scss/mixins/effects/_shadow.scss +429 -0
  86. package/dist/scss/mixins/keyframes/_base.scss +199 -0
  87. package/dist/scss/mixins/keyframes/_index.scss +24 -0
  88. package/dist/scss/mixins/keyframes/animations/_beat.scss +280 -0
  89. package/dist/scss/mixins/keyframes/animations/_blink.scss +82 -0
  90. package/dist/scss/mixins/keyframes/animations/_bounce.scss +292 -0
  91. package/dist/scss/mixins/keyframes/animations/_fade.scss +311 -0
  92. package/dist/scss/mixins/keyframes/animations/_flash.scss +165 -0
  93. package/dist/scss/mixins/keyframes/animations/_flip.scss +266 -0
  94. package/{scss/mixins → dist/scss/mixins/keyframes}/animations/_index.scss +19 -10
  95. package/dist/scss/mixins/keyframes/animations/_jiggle.scss +85 -0
  96. package/dist/scss/mixins/keyframes/animations/_lightspeed.scss +73 -0
  97. package/dist/scss/mixins/keyframes/animations/_nod.scss +79 -0
  98. package/dist/scss/mixins/keyframes/animations/_pop.scss +78 -0
  99. package/dist/scss/mixins/keyframes/animations/_pulse.scss +225 -0
  100. package/dist/scss/mixins/keyframes/animations/_ripple.scss +94 -0
  101. package/dist/scss/mixins/keyframes/animations/_roll.scss +124 -0
  102. package/dist/scss/mixins/keyframes/animations/_rotate.scss +360 -0
  103. package/dist/scss/mixins/keyframes/animations/_rubber.scss +81 -0
  104. package/dist/scss/mixins/keyframes/animations/_scale.scss +308 -0
  105. package/dist/scss/mixins/keyframes/animations/_shake.scss +270 -0
  106. package/dist/scss/mixins/keyframes/animations/_slide.scss +345 -0
  107. package/dist/scss/mixins/keyframes/animations/_spin.scss +270 -0
  108. package/dist/scss/mixins/keyframes/animations/_sway.scss +83 -0
  109. package/dist/scss/mixins/keyframes/animations/_twist.scss +89 -0
  110. package/dist/scss/mixins/keyframes/animations/_wave.scss +90 -0
  111. package/dist/scss/mixins/keyframes/animations/_wobble.scss +293 -0
  112. package/dist/scss/mixins/keyframes/animations/_zoom.scss +345 -0
  113. package/dist/scss/mixins/loaders/_bars.scss +128 -0
  114. package/dist/scss/mixins/loaders/_base.scss +39 -0
  115. package/dist/scss/mixins/loaders/_bubble.scss +395 -0
  116. package/dist/scss/mixins/loaders/_circle.scss +456 -0
  117. package/dist/scss/mixins/loaders/_dots.scss +248 -0
  118. package/dist/scss/mixins/loaders/_graph.scss +542 -0
  119. package/dist/scss/mixins/loaders/_index.scss +77 -0
  120. package/dist/scss/mixins/loaders/_line.scss +471 -0
  121. package/dist/scss/mixins/loaders/_objects.scss +563 -0
  122. package/dist/scss/mixins/loaders/_progress.scss +477 -0
  123. package/dist/scss/mixins/loaders/_rect.scss +480 -0
  124. package/dist/scss/mixins/loaders/_rings.scss +377 -0
  125. package/dist/scss/mixins/loaders/_skeleton.scss +461 -0
  126. package/dist/scss/mixins/loaders/_special.scss +611 -0
  127. package/dist/scss/mixins/loaders/_spinner.scss +175 -0
  128. package/dist/scss/mixins/loaders/_text.scss +446 -0
  129. package/{scss → dist/scss}/mixins/transforms/_flip.scss +16 -18
  130. package/dist/scss/mixins/transforms/_index.scss +28 -0
  131. package/dist/scss/mixins/transforms/_matrix.scss +18 -0
  132. package/{scss → dist/scss}/mixins/transforms/_perspective.scss +18 -1
  133. package/{scss → dist/scss}/mixins/transforms/_rotate.scss +9 -14
  134. package/{scss → dist/scss}/mixins/transforms/_scale.scss +16 -1
  135. package/{scss → dist/scss}/mixins/transforms/_skew.scss +16 -2
  136. package/{scss → dist/scss}/mixins/transforms/_translate.scss +16 -2
  137. package/dist/scss/mixins/transitions/_index.scss +22 -0
  138. package/dist/scss/mixins/transitions/_transition.scss +43 -0
  139. package/dist/scss/variables/_animations.scss +300 -0
  140. package/dist/scss/variables/_controls.scss +178 -0
  141. package/dist/scss/variables/_effects.scss +87 -0
  142. package/dist/scss/variables/_index.scss +27 -0
  143. package/dist/scss/variables/_keyframes.scss +28 -0
  144. package/dist/scss/variables/_loaders.scss +75 -0
  145. package/dist/scss/variables/_transforms.scss +85 -0
  146. package/dist/scss/variables/_transitions.scss +80 -0
  147. package/dist/ts/Draggable.ts +143 -0
  148. package/dist/ts/Gesture.ts +226 -0
  149. package/dist/ts/Keyboard.ts +195 -0
  150. package/dist/ts/LoaderManager.ts +662 -0
  151. package/dist/ts/Screensaver.ts +192 -0
  152. package/dist/ts/VideoOverlay.ts +205 -0
  153. package/dist/ts/demo.ts +1108 -0
  154. package/dist/ts/index.ts +58 -0
  155. package/package.json +90 -53
  156. package/src/html/_base.html +138 -0
  157. package/src/html/base.html +147 -0
  158. package/src/html/core-concepts.html +282 -0
  159. package/src/html/demo_base.html +171 -0
  160. package/src/html/demo_draggable.html +250 -0
  161. package/src/html/demo_gesture.html +264 -0
  162. package/src/html/demo_keyboard.html +224 -0
  163. package/src/html/demo_screensaver.html +258 -0
  164. package/src/html/demo_video_overlay.html +291 -0
  165. package/src/html/getting-started.html +242 -0
  166. package/src/html/index.html +400 -0
  167. package/src/html/keyboard.html +14 -0
  168. package/src/html/partials/_demo_links.html +21 -0
  169. package/src/html/partials/_footer.html +18 -0
  170. package/src/html/partials/_head.html +21 -0
  171. package/src/html/partials/_nav.html +84 -0
  172. package/src/html/partials/_theme_toggle.html +11 -0
  173. package/src/html/screensaver.html +20 -0
  174. package/src/html/test_animations.html +813 -0
  175. package/src/html/test_attention.html +281 -0
  176. package/src/html/test_bounce.html +201 -0
  177. package/src/html/test_effects.html +1348 -0
  178. package/src/html/test_fade.html +213 -0
  179. package/src/html/test_flip.html +208 -0
  180. package/src/html/test_keyframes.html +415 -0
  181. package/src/html/test_loaders.html +1489 -0
  182. package/src/html/test_mouse.html +516 -0
  183. package/src/html/test_overview.html +1444 -0
  184. package/src/html/test_pulse.html +212 -0
  185. package/src/html/test_scale.html +204 -0
  186. package/src/html/test_shake.html +232 -0
  187. package/src/html/test_slide.html +212 -0
  188. package/src/html/test_special.html +257 -0
  189. package/src/html/test_spin.html +216 -0
  190. package/src/html/test_transforms.html +332 -0
  191. package/src/html/test_transitions.html +245 -0
  192. package/src/html/test_zoom.html +188 -0
  193. package/src/html/video_overlay.html +27 -0
  194. package/src/jinja/_base.html.jinja +50 -0
  195. package/src/jinja/base.html.jinja +48 -0
  196. package/src/jinja/core-concepts.html.jinja +148 -0
  197. package/src/jinja/demo_draggable.html.jinja +114 -0
  198. package/src/jinja/demo_gesture.html.jinja +128 -0
  199. package/src/jinja/demo_keyboard.html.jinja +88 -0
  200. package/src/jinja/demo_screensaver.html.jinja +122 -0
  201. package/src/jinja/demo_video_overlay.html.jinja +155 -0
  202. package/src/jinja/getting-started.html.jinja +108 -0
  203. package/src/jinja/index.html.jinja +268 -0
  204. package/src/jinja/index.json +5 -0
  205. package/src/jinja/move.gl.css +7741 -0
  206. package/src/jinja/partials/_code_block.html.jinja +17 -0
  207. package/src/jinja/partials/_demo_links.html.jinja +41 -0
  208. package/src/jinja/partials/_feature_card.html.jinja +20 -0
  209. package/src/jinja/partials/_footer.html.jinja +22 -0
  210. package/src/jinja/partials/_head.html.jinja +27 -0
  211. package/src/jinja/partials/_nav.html.jinja +79 -0
  212. package/src/jinja/partials/_theme_toggle.html.jinja +15 -0
  213. package/src/jinja/test_animations.html.jinja +679 -0
  214. package/src/jinja/test_attention.html.jinja +147 -0
  215. package/src/jinja/test_bounce.html.jinja +67 -0
  216. package/src/jinja/test_effects.html.jinja +1218 -0
  217. package/src/jinja/test_fade.html.jinja +79 -0
  218. package/src/jinja/test_flip.html.jinja +74 -0
  219. package/src/jinja/test_keyframes.html.jinja +281 -0
  220. package/src/jinja/test_loaders.html.jinja +1358 -0
  221. package/src/jinja/test_mouse.html.jinja +382 -0
  222. package/src/jinja/test_overview.html.jinja +1313 -0
  223. package/src/jinja/test_pulse.html.jinja +78 -0
  224. package/src/jinja/test_scale.html.jinja +70 -0
  225. package/src/jinja/test_shake.html.jinja +98 -0
  226. package/src/jinja/test_slide.html.jinja +78 -0
  227. package/src/jinja/test_special.html.jinja +123 -0
  228. package/src/jinja/test_spin.html.jinja +82 -0
  229. package/src/jinja/test_transforms.html.jinja +198 -0
  230. package/src/jinja/test_transitions.html.jinja +111 -0
  231. package/src/jinja/test_zoom.html.jinja +54 -0
  232. package/src/scss/classes/_animations.scss +595 -0
  233. package/src/scss/classes/_controls.scss +314 -0
  234. package/src/scss/classes/_effects.scss +283 -0
  235. package/src/scss/classes/_index.scss +28 -0
  236. package/src/scss/classes/_loaders.scss +779 -0
  237. package/src/scss/classes/_transforms.scss +138 -0
  238. package/src/scss/classes/_transitions.scss +264 -0
  239. package/src/scss/dev/_banner.scss +36 -0
  240. package/src/scss/dev/_debug.scss +18 -0
  241. package/src/scss/dev/_deprecation.scss +13 -0
  242. package/src/scss/dev/_index.scss +8 -0
  243. package/src/scss/dev/_modules.scss +23 -0
  244. package/src/scss/docs.scss +2344 -0
  245. package/src/scss/docs.scss.bak +3133 -0
  246. package/src/scss/functions/_index.scss +22 -0
  247. package/src/scss/functions/scenes/_bubble.scss +32 -0
  248. package/src/scss/functions/scenes/_index.scss +21 -0
  249. package/src/scss/index.scss +17 -0
  250. package/src/scss/maps/_controls.scss +85 -0
  251. package/src/scss/maps/_index.scss +22 -0
  252. package/src/scss/mixins/_accessibility.scss +91 -0
  253. package/src/scss/mixins/_boot.scss +51 -0
  254. package/src/scss/mixins/_index.scss +41 -0
  255. package/src/scss/mixins/_screensaver.scss +228 -0
  256. package/src/scss/mixins/_shape.scss +315 -0
  257. package/src/scss/mixins/animations/_base.scss +403 -0
  258. package/src/scss/mixins/animations/_beat.scss +137 -0
  259. package/src/scss/mixins/animations/_blink.scss +159 -0
  260. package/src/scss/mixins/animations/_bounce.scss +306 -0
  261. package/src/scss/mixins/animations/_elastic.scss +69 -0
  262. package/src/scss/mixins/animations/_fade.scss +393 -0
  263. package/src/scss/mixins/animations/_flash.scss +169 -0
  264. package/src/scss/mixins/animations/_flip.scss +251 -0
  265. package/src/scss/mixins/animations/_float.scss +141 -0
  266. package/src/scss/mixins/animations/_glow.scss +190 -0
  267. package/src/scss/mixins/animations/_heartbeat.scss +195 -0
  268. package/src/scss/mixins/animations/_hinge.scss +118 -0
  269. package/src/scss/mixins/animations/_index.scss +97 -0
  270. package/src/scss/mixins/animations/_jello.scss +123 -0
  271. package/src/scss/mixins/animations/_jiggle.scss +162 -0
  272. package/src/scss/mixins/animations/_lightspeed.scss +135 -0
  273. package/src/scss/mixins/animations/_nod.scss +153 -0
  274. package/src/scss/mixins/animations/_pop.scss +153 -0
  275. package/src/scss/mixins/animations/_pulse.scss +275 -0
  276. package/src/scss/mixins/animations/_ripple.scss +161 -0
  277. package/src/scss/mixins/animations/_roll.scss +217 -0
  278. package/src/scss/mixins/animations/_rotate.scss +728 -0
  279. package/src/scss/mixins/animations/_rubber.scss +115 -0
  280. package/src/scss/mixins/animations/_scale.scss +382 -0
  281. package/src/scss/mixins/animations/_shake.scss +233 -0
  282. package/src/scss/mixins/animations/_slide.scss +501 -0
  283. package/src/scss/mixins/animations/_spin.scss +322 -0
  284. package/src/scss/mixins/animations/_sway.scss +150 -0
  285. package/src/scss/mixins/animations/_swing.scss +245 -0
  286. package/src/scss/mixins/animations/_tada.scss +235 -0
  287. package/src/scss/mixins/animations/_twist.scss +162 -0
  288. package/src/scss/mixins/animations/_wave.scss +149 -0
  289. package/src/scss/mixins/animations/_wobble.scss +283 -0
  290. package/src/scss/mixins/animations/_zoom.scss +394 -0
  291. package/src/scss/mixins/controls/_cursor.scss +203 -0
  292. package/src/scss/mixins/controls/_hover.scss +625 -0
  293. package/src/scss/mixins/controls/_index.scss +30 -0
  294. package/src/scss/mixins/controls/_keyboard.scss +300 -0
  295. package/src/scss/mixins/controls/_pointer.scss +267 -0
  296. package/src/scss/mixins/controls/_scroll.scss +460 -0
  297. package/src/scss/mixins/controls/_scrollbar.scss +283 -0
  298. package/src/scss/mixins/controls/_selection.scss +208 -0
  299. package/src/scss/mixins/controls/_touch.scss +401 -0
  300. package/src/scss/mixins/effects/_blend.scss +128 -0
  301. package/src/scss/mixins/effects/_filter.scss +470 -0
  302. package/src/scss/mixins/effects/_focus.scss +83 -0
  303. package/src/scss/mixins/effects/_gradient.scss +130 -0
  304. package/src/scss/mixins/effects/_index.scss +28 -0
  305. package/src/scss/mixins/effects/_mask.scss +76 -0
  306. package/src/scss/mixins/effects/_opacity.scss +376 -0
  307. package/src/scss/mixins/effects/_shadow.scss +429 -0
  308. package/src/scss/mixins/keyframes/_base.scss +199 -0
  309. package/src/scss/mixins/keyframes/_index.scss +24 -0
  310. package/src/scss/mixins/keyframes/animations/_beat.scss +280 -0
  311. package/src/scss/mixins/keyframes/animations/_blink.scss +82 -0
  312. package/src/scss/mixins/keyframes/animations/_bounce.scss +292 -0
  313. package/src/scss/mixins/keyframes/animations/_fade.scss +311 -0
  314. package/src/scss/mixins/keyframes/animations/_flash.scss +165 -0
  315. package/src/scss/mixins/keyframes/animations/_flip.scss +266 -0
  316. package/src/scss/mixins/keyframes/animations/_index.scss +46 -0
  317. package/src/scss/mixins/keyframes/animations/_jiggle.scss +85 -0
  318. package/src/scss/mixins/keyframes/animations/_lightspeed.scss +73 -0
  319. package/src/scss/mixins/keyframes/animations/_nod.scss +79 -0
  320. package/src/scss/mixins/keyframes/animations/_pop.scss +78 -0
  321. package/src/scss/mixins/keyframes/animations/_pulse.scss +225 -0
  322. package/src/scss/mixins/keyframes/animations/_ripple.scss +94 -0
  323. package/src/scss/mixins/keyframes/animations/_roll.scss +124 -0
  324. package/src/scss/mixins/keyframes/animations/_rotate.scss +360 -0
  325. package/src/scss/mixins/keyframes/animations/_rubber.scss +81 -0
  326. package/src/scss/mixins/keyframes/animations/_scale.scss +308 -0
  327. package/src/scss/mixins/keyframes/animations/_shake.scss +270 -0
  328. package/src/scss/mixins/keyframes/animations/_slide.scss +345 -0
  329. package/src/scss/mixins/keyframes/animations/_spin.scss +270 -0
  330. package/src/scss/mixins/keyframes/animations/_sway.scss +83 -0
  331. package/src/scss/mixins/keyframes/animations/_twist.scss +89 -0
  332. package/src/scss/mixins/keyframes/animations/_wave.scss +90 -0
  333. package/src/scss/mixins/keyframes/animations/_wobble.scss +293 -0
  334. package/src/scss/mixins/keyframes/animations/_zoom.scss +345 -0
  335. package/src/scss/mixins/loaders/_bars.scss +128 -0
  336. package/src/scss/mixins/loaders/_base.scss +39 -0
  337. package/src/scss/mixins/loaders/_bubble.scss +395 -0
  338. package/src/scss/mixins/loaders/_circle.scss +456 -0
  339. package/src/scss/mixins/loaders/_dots.scss +248 -0
  340. package/src/scss/mixins/loaders/_graph.scss +542 -0
  341. package/src/scss/mixins/loaders/_index.scss +77 -0
  342. package/src/scss/mixins/loaders/_line.scss +471 -0
  343. package/src/scss/mixins/loaders/_objects.scss +563 -0
  344. package/src/scss/mixins/loaders/_progress.scss +477 -0
  345. package/src/scss/mixins/loaders/_rect.scss +480 -0
  346. package/src/scss/mixins/loaders/_rings.scss +377 -0
  347. package/src/scss/mixins/loaders/_skeleton.scss +461 -0
  348. package/src/scss/mixins/loaders/_special.scss +611 -0
  349. package/src/scss/mixins/loaders/_spinner.scss +175 -0
  350. package/src/scss/mixins/loaders/_text.scss +446 -0
  351. package/src/scss/mixins/transforms/_flip.scss +74 -0
  352. package/src/scss/mixins/transforms/_index.scss +28 -0
  353. package/src/scss/mixins/transforms/_matrix.scss +18 -0
  354. package/src/scss/mixins/transforms/_perspective.scss +28 -0
  355. package/src/scss/mixins/transforms/_rotate.scss +96 -0
  356. package/src/scss/mixins/transforms/_scale.scss +26 -0
  357. package/src/scss/mixins/transforms/_skew.scss +27 -0
  358. package/src/scss/mixins/transforms/_translate.scss +27 -0
  359. package/src/scss/mixins/transitions/_index.scss +22 -0
  360. package/src/scss/mixins/transitions/_transition.scss +43 -0
  361. package/src/scss/variables/_animations.scss +300 -0
  362. package/src/scss/variables/_controls.scss +178 -0
  363. package/src/scss/variables/_effects.scss +87 -0
  364. package/src/scss/variables/_index.scss +27 -0
  365. package/src/scss/variables/_keyframes.scss +28 -0
  366. package/src/scss/variables/_loaders.scss +75 -0
  367. package/src/scss/variables/_transforms.scss +85 -0
  368. package/src/scss/variables/_transitions.scss +80 -0
  369. package/src/ts/Draggable.ts +143 -0
  370. package/src/ts/Gesture.ts +226 -0
  371. package/src/ts/Keyboard.ts +195 -0
  372. package/src/ts/LoaderManager.ts +662 -0
  373. package/src/ts/Screensaver.ts +192 -0
  374. package/src/ts/VideoOverlay.ts +205 -0
  375. package/src/ts/demo.ts +1108 -0
  376. package/src/ts/index.ts +58 -0
  377. package/css/move.gl.css +0 -2
  378. package/css/move.gl.min.css +0 -2
  379. package/scss/classes/_transforms.scss +0 -124
  380. package/scss/classes/keyboard.scss +0 -18
  381. package/scss/classes/screensaver.scss +0 -15
  382. package/scss/effects/_filter.scss +0 -176
  383. package/scss/effects/_index.scss +0 -23
  384. package/scss/effects/_opacity.scss +0 -62
  385. package/scss/effects/_shadow.scss +0 -175
  386. package/scss/functions/scenes/_bubble.scss +0 -19
  387. package/scss/functions/scenes/_index.scss +0 -20
  388. package/scss/index.scss +0 -0
  389. package/scss/keyframes/_beat.scss +0 -26
  390. package/scss/keyframes/_index.scss +0 -0
  391. package/scss/maps/_index.scss +0 -0
  392. package/scss/maps/_mouse.scss +0 -96
  393. package/scss/mixins/_hover.scss +0 -51
  394. package/scss/mixins/_index.scss +0 -0
  395. package/scss/mixins/_selection.scss +0 -321
  396. package/scss/mixins/_shape.scss +0 -44
  397. package/scss/mixins/_touch.scss +0 -95
  398. package/scss/mixins/animations/--hover.scss +0 -107
  399. package/scss/mixins/animations/_base.scss +0 -337
  400. package/scss/mixins/animations/_beat.scss +0 -119
  401. package/scss/mixins/animations/_bounce.scss +0 -192
  402. package/scss/mixins/animations/_fade.scss +0 -154
  403. package/scss/mixins/animations/_flip.scss +0 -72
  404. package/scss/mixins/animations/_heartbeat.scss +0 -175
  405. package/scss/mixins/animations/_hinge.scss +0 -119
  406. package/scss/mixins/animations/_jello.scss +0 -129
  407. package/scss/mixins/animations/_jiggle.scss +0 -163
  408. package/scss/mixins/animations/_lightspeed.scss +0 -130
  409. package/scss/mixins/animations/_pop.scss +0 -150
  410. package/scss/mixins/animations/_pulse.scss +0 -213
  411. package/scss/mixins/animations/_roll.scss +0 -261
  412. package/scss/mixins/animations/_rotate.scss +0 -428
  413. package/scss/mixins/animations/_rubber.scss +0 -116
  414. package/scss/mixins/animations/_scale.scss +0 -113
  415. package/scss/mixins/animations/_shake.scss +0 -182
  416. package/scss/mixins/animations/_slide.scss +0 -294
  417. package/scss/mixins/animations/_spin.scss +0 -219
  418. package/scss/mixins/animations/_wobble.scss +0 -254
  419. package/scss/mixins/animations/_zoom.scss +0 -166
  420. package/scss/mixins/effects/_filter.scss +0 -148
  421. package/scss/mixins/effects/_index.scss +0 -0
  422. package/scss/mixins/effects/_shadow.scss +0 -21
  423. package/scss/mixins/loaders/_index.scss +0 -0
  424. package/scss/mixins/loaders/_progress.scss +0 -174
  425. package/scss/mixins/loaders/_spinner.scss +0 -101
  426. package/scss/mixins/loaders/circle_01.scss +0 -22
  427. package/scss/mixins/loaders/circle_02.scss +0 -19
  428. package/scss/mixins/loaders/circle_03.scss +0 -29
  429. package/scss/mixins/loaders/circle_inner_01.scss +0 -33
  430. package/scss/mixins/loaders/circle_inner_02.scss +0 -33
  431. package/scss/mixins/loaders/circle_inner_03.scss +0 -34
  432. package/scss/mixins/mouse/_index.scss +0 -0
  433. package/scss/mixins/scroll/_index.scss +0 -0
  434. package/scss/mixins/scroll/_scroll.scss +0 -104
  435. package/scss/mixins/transforms/_index.scss +0 -23
  436. package/scss/mixins/transforms/_matrix.scss +0 -1
  437. package/scss/mixins/transitions/_index.scss +0 -0
  438. package/scss/mixins/transitions/_transition.scss +0 -13
  439. package/scss/variables/_animation.scss +0 -91
  440. package/scss/variables/_index.scss +0 -0
  441. package/ts/ARContent.ts +0 -27
  442. package/ts/ARInteraction.ts +0 -34
  443. package/ts/AdaptiveUI.ts +0 -25
  444. package/ts/ContentStreaming.ts +0 -20
  445. package/ts/Draggable.ts +0 -71
  446. package/ts/DynamicEnvironment.ts +0 -60
  447. package/ts/Gesture.ts +0 -168
  448. package/ts/ImmersiveAudio.ts +0 -40
  449. package/ts/InteractiveCanvas.ts +0 -177
  450. package/ts/InteractiveVideo.ts +0 -29
  451. package/ts/Keyboard.ts +0 -162
  452. package/ts/RealTimeCollaboration.ts +0 -25
  453. package/ts/Screensaver.ts +0 -140
  454. package/ts/SpatialNavigation.ts +0 -38
  455. package/ts/UserProfile.ts +0 -27
  456. package/ts/VRExperience.ts +0 -58
  457. package/ts/VideoOverlay.ts +0 -116
  458. package/ts/index.ts +0 -0
  459. /package/{scss → dist/scss}/dev/_banner.scss +0 -0
  460. /package/{scss → dist/scss}/dev/_debug.scss +0 -0
  461. /package/{scss → dist/scss}/dev/_index.scss +0 -0
  462. /package/{scss/classes/_index.scss → src/html/partials/_code_block.html} +0 -0
  463. /package/{scss/functions/_index.scss → src/html/partials/_feature_card.html} +0 -0
@@ -0,0 +1,245 @@
1
+ ////
2
+ ///
3
+ /// Swing Animations Mixin Module
4
+ /// ===========================================================================
5
+ ///
6
+ /// Provides pendulum-style swinging animations with customizable angles.
7
+ /// Includes variants for speed, origin point, and swing direction. Useful
8
+ /// for hanging elements, bell effects, and playful UI interactions.
9
+ ///
10
+ /// @group Animations
11
+ /// @author Scape Agency
12
+ /// @link https://move.gl
13
+ /// @since 0.1.0 initial release
14
+ /// @access public
15
+ ///
16
+ ////
17
+
18
+
19
+ // ============================================================================
20
+ // Use
21
+ // ============================================================================
22
+
23
+ @use "../../dev" as *;
24
+ @use "../../variables" as *;
25
+ @use "../keyframes" as *;
26
+ @use "base" as *;
27
+
28
+
29
+ // ============================================================================
30
+ // Mixins
31
+ // ============================================================================
32
+
33
+
34
+ ///
35
+ /// Swing Animation
36
+ /// ---------------------------------------------------------------------------
37
+ /// Creates a swinging motion animation.
38
+ ///
39
+ /// @name animate_swing
40
+ /// @param {Angle} $angle [15deg] - Maximum angle to swing
41
+ /// @param {Time} $duration [$animate_base_duration] - Animation duration
42
+ /// @param {String} $timing_function [ease-in-out] - Timing function
43
+ /// @param {Number|String} $iteration_count - Number of iterations
44
+ ///
45
+ /// @example scss - Basic usage
46
+ /// .pendulum {
47
+ /// @include animate_swing;
48
+ /// }
49
+ ///
50
+ @mixin animate_swing(
51
+ $angle: 15deg,
52
+ $duration: $animate_base_duration,
53
+ $timing_function: ease-in-out,
54
+ $iteration_count: $animate_base_iteration_count
55
+ ) {
56
+ @include animate_base(
57
+ animate_swing,
58
+ $duration,
59
+ $timing_function,
60
+ $iteration_count,
61
+ );
62
+ @keyframes animate_swing {
63
+ 0%, 100% { transform: rotate(0deg); }
64
+ 50% { transform: rotate($angle); }
65
+ }
66
+ }
67
+
68
+ .animate_swing {
69
+ @include animate_swing(15deg);
70
+ }
71
+
72
+
73
+ // Gentle Swing Animation
74
+ // ----------------------------------------------------------------------------
75
+ ///
76
+ /// Gentle Swing Animation
77
+ /// Creates a slower, more subtle swinging motion.
78
+ /// @name animate_swing_slow
79
+ /// @param {Angle} $angle [10deg] - The maximum angle to swing.
80
+ /// @param {Duration} $duration [$animate_base_duration_slow] - The duration of the swing animation.
81
+ /// @param {String} $timing_function [ease-in-out] - The timing function for the swing animation.
82
+ /// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
83
+ ///
84
+ @mixin animate_swing_slow(
85
+ $angle: 10deg,
86
+ $duration: $animate_base_duration_slow,
87
+ $timing_function: ease-in-out,
88
+ $iteration_count: $animate_base_iteration_count
89
+ ) {
90
+ @include animate_base(
91
+ animate_swing_slow,
92
+ $duration,
93
+ $timing_function,
94
+ $iteration_count,
95
+ );
96
+ @keyframes animate_swing_slow {
97
+ 0%, 100% { transform: rotate(0deg); }
98
+ 50% { transform: rotate($angle); }
99
+ }
100
+ }
101
+
102
+ .animate_swing_slow {
103
+ @include animate_swing_slow();
104
+ }
105
+
106
+
107
+ // Rapid Swing Animation
108
+ // ----------------------------------------------------------------------------
109
+
110
+
111
+ ///
112
+ /// Rapid Swing Animation
113
+ /// Creates a faster and more exaggerated swinging motion.
114
+ /// @name animate_swing_fast
115
+ /// @param {Angle} $angle [20deg] - The maximum angle to swing.
116
+ /// @param {Duration} $duration [$animate_base_duration_fast] - The duration of the swing animation.
117
+ /// @param {String} $timing_function [ease-in-out] - The timing function for the swing animation.
118
+ /// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
119
+ ///
120
+ @mixin animate_swing_fast(
121
+ $angle: 20deg,
122
+ $duration: $animate_base_duration_fast,
123
+ $timing_function: ease-in-out,
124
+ $iteration_count: $animate_base_iteration_count
125
+ ) {
126
+ @include animate_base(
127
+ animate_swing_fast,
128
+ $duration,
129
+ $timing_function,
130
+ $iteration_count,
131
+ );
132
+ @keyframes animate_swing_fast {
133
+ 0%, 100% { transform: rotate(0deg); }
134
+ 50% { transform: rotate($angle); }
135
+ }
136
+ }
137
+
138
+ .animate_swing_fast {
139
+ @include animate_swing_fast();
140
+ }
141
+
142
+
143
+ // Swing with Fade Animation
144
+ // ----------------------------------------------------------------------------
145
+
146
+
147
+ ///
148
+ /// Swing with Fade Animation
149
+ /// Creates a swinging motion with a fading effect.
150
+ /// @name animate_swing_fade
151
+ /// @param {Angle} $angle [15deg] - The maximum angle to swing.
152
+ /// @param {Duration} $duration [$animate_base_duration] - The duration of the swing animation.
153
+ /// @param {String} $timing_function [ease-in-out] - The timing function for the swing animation.
154
+ /// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
155
+ ///
156
+ @mixin animate_swing_fade(
157
+ $angle: 15deg,
158
+ $duration: $animate_base_duration,
159
+ $timing_function: ease-in-out,
160
+ $iteration_count: $animate_base_iteration_count
161
+ ) {
162
+ @include animate_base(
163
+ animate_swing_fade,
164
+ $duration,
165
+ $timing_function,
166
+ $iteration_count,
167
+ );
168
+ @keyframes animate_swing_fade {
169
+ 0%, 100% {
170
+ transform: rotate(0deg);
171
+ opacity: 1;
172
+ }
173
+ 50% {
174
+ transform: rotate($angle);
175
+ opacity: 0.5;
176
+ }
177
+ }
178
+ }
179
+
180
+ .animate_swing_fade {
181
+ @include animate_swing_fade();
182
+ }
183
+
184
+
185
+
186
+ // @-webkit-keyframes swing {
187
+ // 20% {
188
+ // -webkit-transform: rotate3d(0, 0, 1, 15deg);
189
+ // transform: rotate3d(0, 0, 1, 15deg);
190
+ // }
191
+
192
+ // 40% {
193
+ // -webkit-transform: rotate3d(0, 0, 1, -10deg);
194
+ // transform: rotate3d(0, 0, 1, -10deg);
195
+ // }
196
+
197
+ // 60% {
198
+ // -webkit-transform: rotate3d(0, 0, 1, 5deg);
199
+ // transform: rotate3d(0, 0, 1, 5deg);
200
+ // }
201
+
202
+ // 80% {
203
+ // -webkit-transform: rotate3d(0, 0, 1, -5deg);
204
+ // transform: rotate3d(0, 0, 1, -5deg);
205
+ // }
206
+
207
+ // 100% {
208
+ // -webkit-transform: rotate3d(0, 0, 1, 0deg);
209
+ // transform: rotate3d(0, 0, 1, 0deg);
210
+ // }
211
+ // }
212
+
213
+ // @keyframes swing {
214
+ // 20% {
215
+ // -webkit-transform: rotate3d(0, 0, 1, 15deg);
216
+ // transform: rotate3d(0, 0, 1, 15deg);
217
+ // }
218
+
219
+ // 40% {
220
+ // -webkit-transform: rotate3d(0, 0, 1, -10deg);
221
+ // transform: rotate3d(0, 0, 1, -10deg);
222
+ // }
223
+
224
+ // 60% {
225
+ // -webkit-transform: rotate3d(0, 0, 1, 5deg);
226
+ // transform: rotate3d(0, 0, 1, 5deg);
227
+ // }
228
+
229
+ // 80% {
230
+ // -webkit-transform: rotate3d(0, 0, 1, -5deg);
231
+ // transform: rotate3d(0, 0, 1, -5deg);
232
+ // }
233
+
234
+ // 100% {
235
+ // -webkit-transform: rotate3d(0, 0, 1, 0deg);
236
+ // transform: rotate3d(0, 0, 1, 0deg);
237
+ // }
238
+ // }
239
+
240
+ // .swing {
241
+ // -webkit-transform-origin: top center;
242
+ // transform-origin: top center;
243
+ // -webkit-animation-name: swing;
244
+ // animation-name: swing;
245
+ // }
@@ -0,0 +1,235 @@
1
+ ////
2
+ ///
3
+ /// Tada Animations Mixin Module
4
+ /// ===========================================================================
5
+ ///
6
+ /// Provides celebratory "tada" animations with combined scaling and rotation.
7
+ /// Creates exciting reveal effects for achievements and highlights. Perfect
8
+ /// for success states, rewards, and dramatic presentations.
9
+ ///
10
+ /// @group Animations
11
+ /// @author Scape Agency
12
+ /// @link https://move.gl
13
+ /// @since 0.1.0 initial release
14
+ /// @access public
15
+ ///
16
+ ////
17
+
18
+
19
+ // ============================================================================
20
+ // Use
21
+ // ============================================================================
22
+
23
+ @use "../../dev" as *;
24
+ @use "../../variables" as *;
25
+ @use "../keyframes" as *;
26
+ @use "base" as *;
27
+
28
+
29
+ // ============================================================================
30
+ // Mixins
31
+ // ============================================================================
32
+
33
+
34
+ ///
35
+ /// Tada Animation
36
+ /// ---------------------------------------------------------------------------
37
+ /// Creates a "tada" effect with scaling and rotating.
38
+ ///
39
+ /// @name animate_tada
40
+ /// @param {Number} $scale [1.1] - Scale factor for the animation
41
+ /// @param {Time} $duration - Animation duration
42
+ /// @param {String} $timing_function [ease-in-out] - Timing function
43
+ /// @param {Number|String} $iteration_count - Number of iterations
44
+ ///
45
+ /// @example scss - Basic usage
46
+ /// .achievement {
47
+ /// @include animate_tada;
48
+ /// }
49
+ ///
50
+ @mixin animate_tada(
51
+ $scale: 1.1,
52
+ $duration: $animate_base_duration * 2,
53
+ $timing_function: ease-in-out,
54
+ $iteration_count: $animate_base_iteration_count
55
+ ) {
56
+ @include animate_base(
57
+ animate_tada,
58
+ $duration,
59
+ $timing_function,
60
+ $iteration_count,
61
+ );
62
+ @keyframes animate_tada {
63
+ 0%, 100% { transform: scale(1); }
64
+ 10%, 20% { transform: scale(0.9) rotate(-3deg); }
65
+ 30%, 50%, 70%, 90% { transform: scale($scale) rotate(3deg); }
66
+ 40%, 60%, 80% { transform: scale($scale) rotate(-3deg); }
67
+ }
68
+ }
69
+
70
+
71
+
72
+
73
+ // Gentle Tada Animation
74
+ // ----------------------------------------------------------------------------
75
+
76
+ ///
77
+ /// Gentle Tada Animation
78
+ /// A more subtle version of the Tada animation.
79
+ /// @name animate_tada_slow
80
+ /// @param {Number} $scale [1.05] - The scale factor for the animation.
81
+ /// @param {Duration} $duration [$animate_base_duration_slow/// 2] - The duration of the animation.
82
+ /// @param {String} $timing_function [ease-in-out] - The timing function for the animation.
83
+ /// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
84
+ ///
85
+ @mixin animate_tada_slow(
86
+ $scale: 1.05,
87
+ $duration: $animate_base_duration_slow * 2,
88
+ $timing_function: ease-in-out,
89
+ $iteration_count: $animate_base_iteration_count
90
+ ) {
91
+ @include animate_base(
92
+ animate_tada_slow,
93
+ $duration,
94
+ $timing_function,
95
+ $iteration_count,
96
+ );
97
+ @keyframes animate_tada_slow {
98
+ 0%, 100% { transform: scale(1); }
99
+ 10%, 20% { transform: scale(0.95) rotate(-2deg); }
100
+ 30%, 50%, 70%, 90% { transform: scale($scale) rotate(2deg); }
101
+ 40%, 60%, 80% { transform: scale($scale) rotate(-2deg); }
102
+ }
103
+ }
104
+
105
+
106
+
107
+ // Rapid Tada Animation
108
+ // ----------------------------------------------------------------------------
109
+
110
+ ///
111
+ /// Rapid Tada Animation
112
+ /// A faster and more exaggerated version of the Tada animation.
113
+ /// @name animate_tada_fast
114
+ /// @param {Number} $scale [1.15] - The scale factor for the animation.
115
+ /// @param {Duration} $duration [$animate_base_duration] - The duration of the animation.
116
+ /// @param {String} $timing_function [ease-in-out] - The timing function for the animation.
117
+ /// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
118
+ ///
119
+ @mixin animate_tada_fast(
120
+ $scale: 1.15,
121
+ $duration: $animate_base_duration,
122
+ $timing_function: ease-in-out,
123
+ $iteration_count: $animate_base_iteration_count
124
+ ) {
125
+ @include animate_base(
126
+ animate_tada_fast,
127
+ $duration,
128
+ $timing_function,
129
+ $iteration_count,
130
+ );
131
+ @keyframes animate_tada_fast {
132
+ 0%, 100% { transform: scale(1); }
133
+ 10%, 20% { transform: scale(0.85) rotate(-4deg); }
134
+ 30%, 50%, 70%, 90% { transform: scale($scale) rotate(4deg); }
135
+ 40%, 60%, 80% { transform: scale($scale) rotate(-4deg); }
136
+ }
137
+ }
138
+
139
+
140
+ // Tada with Fade Animation
141
+ // ----------------------------------------------------------------------------
142
+
143
+ ///
144
+ /// Tada with Fade Animation
145
+ /// Adds a fading effect to the Tada animation.
146
+ /// @name animate_tada_fade
147
+ /// @param {Number} $scale [1.1] - The scale factor for the animation.
148
+ /// @param {Duration} $duration [$animate_base_duration/// 2] - The duration of the animation.
149
+ /// @param {String} $timing_function [ease-in-out] - The timing function for the animation.
150
+ /// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
151
+ ///
152
+ @mixin animate_tada_fade(
153
+ $scale: 1.1,
154
+ $duration: $animate_base_duration * 2,
155
+ $timing_function: ease-in-out,
156
+ $iteration_count: $animate_base_iteration_count
157
+ ) {
158
+ @include animate_base(
159
+ animate_tada_fade,
160
+ $duration,
161
+ $timing_function,
162
+ $iteration_count,
163
+ );
164
+ @keyframes animate_tada_fade {
165
+ 0%, 100% {
166
+ transform: scale(1);
167
+ opacity: 1;
168
+ }
169
+ 50% {
170
+ transform: scale($scale) rotate(3deg);
171
+ opacity: 0.5;
172
+ }
173
+ }
174
+ }
175
+
176
+
177
+
178
+ // @-webkit-keyframes tada {
179
+ // from {
180
+ // -webkit-transform: scale3d(1, 1, 1);
181
+ // transform: scale3d(1, 1, 1);
182
+ // }
183
+
184
+ // 10%, 20% {
185
+ // -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
186
+ // transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
187
+ // }
188
+
189
+ // 30%, 50%, 70%, 90% {
190
+ // -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
191
+ // transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
192
+ // }
193
+
194
+ // 40%, 60%, 80% {
195
+ // -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
196
+ // transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
197
+ // }
198
+
199
+ // 100% {
200
+ // -webkit-transform: scale3d(1, 1, 1);
201
+ // transform: scale3d(1, 1, 1);
202
+ // }
203
+ // }
204
+
205
+ // @keyframes tada {
206
+ // from {
207
+ // -webkit-transform: scale3d(1, 1, 1);
208
+ // transform: scale3d(1, 1, 1);
209
+ // }
210
+
211
+ // 10%, 20% {
212
+ // -webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
213
+ // transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
214
+ // }
215
+
216
+ // 30%, 50%, 70%, 90% {
217
+ // -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
218
+ // transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
219
+ // }
220
+
221
+ // 40%, 60%, 80% {
222
+ // -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
223
+ // transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
224
+ // }
225
+
226
+ // 100% {
227
+ // -webkit-transform: scale3d(1, 1, 1);
228
+ // transform: scale3d(1, 1, 1);
229
+ // }
230
+ // }
231
+
232
+ // .tada {
233
+ // -webkit-animation-name: tada;
234
+ // animation-name: tada;
235
+ // }
@@ -0,0 +1,162 @@
1
+ ////
2
+ ///
3
+ /// Twist Animations Mixin Module
4
+ /// ===========================================================================
5
+ ///
6
+ /// Provides twisting animations that combine rotation with scale changes.
7
+ /// Creates dynamic, spiraling effects. Useful for loading indicators,
8
+ /// transitions, and attention-grabbing emphasis effects.
9
+ ///
10
+ /// @group Animations
11
+ /// @author Scape Agency
12
+ /// @link https://move.gl
13
+ /// @since 0.1.0 initial release
14
+ /// @access public
15
+ ///
16
+ ////
17
+
18
+
19
+ // ============================================================================
20
+ // Use
21
+ // ============================================================================
22
+
23
+ @use "../../dev" as *;
24
+ @use "../../variables" as *;
25
+ @use "../keyframes" as *;
26
+ @use "base" as *;
27
+
28
+
29
+ // ============================================================================
30
+ // Mixins
31
+ // ============================================================================
32
+
33
+
34
+ ///
35
+ /// Twist Animation
36
+ /// ---------------------------------------------------------------------------
37
+ /// Creates a twist effect with scaling and rotating.
38
+ ///
39
+ /// @name animate_twist
40
+ /// @param {Number} $scale_end [0.9] - Scale factor at midpoint of animation
41
+ /// @param {Angle} $rotation [10deg] - Rotation angle at midpoint
42
+ /// @param {Time} $duration [$animate_base_duration] - Animation duration
43
+ /// @param {String} $timing_function [ease-in-out] - Timing function
44
+ /// @param {Number|String} $iteration_count - Number of iterations
45
+ ///
46
+ /// @example scss - Basic usage
47
+ /// .spinner {
48
+ /// @include animate_twist;
49
+ /// }
50
+ ///
51
+ @mixin animate_twist(
52
+ $scale_end: 0.9,
53
+ $rotation: 10deg,
54
+ $duration: $animate_base_duration,
55
+ $timing_function: ease-in-out,
56
+ $iteration_count: $animate_base_iteration_count
57
+ ) {
58
+ @include animate_base(
59
+ animate_twist,
60
+ $duration,
61
+ $timing_function,
62
+ $iteration_count,
63
+ );
64
+ @include keyframes_animate_twist($scale_end, $rotation);
65
+ }
66
+
67
+
68
+
69
+ // Gentle Twist Animation
70
+ // ----------------------------------------------------------------------------
71
+
72
+ ///
73
+ /// Gentle Twist Animation
74
+ /// A slower and subtler version of the Twist animation.
75
+ /// @name animate_twist_slow
76
+ /// @param {Number} $scale_end [0.95] - The scale factor at the midpoint of the animation.
77
+ /// @param {Angle} $rotation [5deg] - The rotation angle at the midpoint of the animation.
78
+ /// @param {Duration} $duration [$animate_base_duration_slow] - The duration of the animation.
79
+ /// @param {String} $timing_function [ease-in-out] - The timing function for the animation.
80
+ /// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
81
+ ///
82
+ @mixin animate_twist_slow(
83
+ $scale_end: 0.95,
84
+ $rotation: 5deg,
85
+ $duration: $animate_base_duration_slow,
86
+ $timing_function: ease-in-out,
87
+ $iteration_count: $animate_base_iteration_count
88
+ ) {
89
+ @include animate_base(
90
+ animate_twist_slow,
91
+ $duration,
92
+ $timing_function,
93
+ $iteration_count,
94
+ );
95
+ @include keyframes_animate_twist_slow($scale_end, $rotation);
96
+ }
97
+
98
+
99
+
100
+ // Rapid Twist Animation
101
+ // ----------------------------------------------------------------------------
102
+
103
+ ///
104
+ /// Rapid Twist Animation
105
+ /// A faster and more intense version of the Twist animation.
106
+ /// @name animate_twist_fast
107
+ /// @param {Number} $scale_end [0.85] - The scale factor at the midpoint of the animation.
108
+ /// @param {Angle} $rotation [15deg] - The rotation angle at the midpoint of the animation.
109
+ /// @param {Duration} $duration [$animate_base_duration_fast] - The duration of the animation.
110
+ /// @param {String} $timing_function [ease-in-out] - The timing function for the animation.
111
+ /// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
112
+ ///
113
+ @mixin animate_twist_fast(
114
+ $scale_end: 0.85,
115
+ $rotation: 15deg,
116
+ $duration: $animate_base_duration_fast,
117
+ $timing_function: ease-in-out,
118
+ $iteration_count: $animate_base_iteration_count
119
+ ) {
120
+ @include animate_base(
121
+ animate_twist_fast,
122
+ $duration,
123
+ $timing_function,
124
+ $iteration_count,
125
+ );
126
+ @include keyframes_animate_twist_fast($scale_end, $rotation);
127
+ }
128
+
129
+
130
+
131
+ // Twist with Color Change
132
+ // ----------------------------------------------------------------------------
133
+
134
+ ///
135
+ /// Twist with Color Change Animation
136
+ /// Adds a color transition to the Twist animation.
137
+ /// @name animate_twist_color
138
+ /// @param {Number} $scale_end [0.9] - The scale factor at the midpoint of the animation.
139
+ /// @param {Angle} $rotation [10deg] - The rotation angle at the midpoint of the animation.
140
+ /// @param {Duration} $duration [$animate_base_duration] - The duration of the animation.
141
+ /// @param {String} $timing_function [ease-in-out] - The timing function for the animation.
142
+ /// @param {Number|String} $iteration_count [$animate_base_iteration_count] - The number of iterations the animation will run.
143
+ /// @param {Color} $color_start [$animate_base_color_start] - The starting color of the animation.
144
+ /// @param {Color} $color_end [$animate_base_color_end] - The ending color of the animation.
145
+ ///
146
+ @mixin animate_twist_color(
147
+ $scale_end: 0.9,
148
+ $rotation: 10deg,
149
+ $duration: $animate_base_duration,
150
+ $timing_function: ease-in-out,
151
+ $iteration_count: $animate_base_iteration_count,
152
+ $color_start: $animate_base_color_start,
153
+ $color_end: $animate_base_color_end,
154
+ ) {
155
+ @include animate_base(
156
+ animate_twist_color,
157
+ $duration,
158
+ $timing_function,
159
+ $iteration_count,
160
+ );
161
+ @include keyframes_animate_twist_color($scale_end, $rotation, $color_start, $color_end);
162
+ }