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,266 @@
1
+ ////
2
+ ///
3
+ /// Flip Keyframes Mixins Module
4
+ /// ===========================================================================
5
+ ///
6
+ /// Defines keyframes for 3D flip animations that rotate elements around
7
+ /// X, Y, or Z axes. Includes standard flip, flip in/out variations, and
8
+ /// card flip effects for interactive UI elements.
9
+ ///
10
+ /// @group Keyframes
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 "../../../variables" as *;
24
+ @use "../_base" as *;
25
+
26
+
27
+ // ============================================================================
28
+ // Basic Flip Keyframes
29
+ // ============================================================================
30
+
31
+ ///
32
+ /// Standard 3D flip animation.
33
+ ///
34
+ /// @param {Number} $rotate_x [0] - X-axis rotation factor
35
+ /// @param {Number} $rotate_y [1] - Y-axis rotation factor
36
+ /// @param {Number} $rotate_z [0] - Z-axis rotation factor
37
+ /// @param {Angle} $start_angle [0] - Starting angle
38
+ /// @param {Angle} $end_angle [360deg] - Ending angle
39
+ ///
40
+ @mixin keyframes_flip(
41
+ $rotate_x: 0,
42
+ $rotate_y: 1,
43
+ $rotate_z: 0,
44
+ $start_angle: 0,
45
+ $end_angle: 360deg
46
+ ) {
47
+ @include keyframes(animate_flip) {
48
+ 0% {
49
+ transform: rotate3d($rotate_x, $rotate_y, $rotate_z, $start_angle);
50
+ }
51
+ 100% {
52
+ transform: rotate3d($rotate_x, $rotate_y, $rotate_z, $end_angle);
53
+ }
54
+ }
55
+ }
56
+
57
+ ///
58
+ /// Flip with CSS custom property support.
59
+ ///
60
+ @mixin keyframes_animate_flip($rotate_x: 0, $rotate_y: 1, $rotate_z: 0) {
61
+ @include keyframes(animate_flip) {
62
+ 0% {
63
+ transform: rotate3d($rotate_x, $rotate_y, $rotate_z, 0deg);
64
+ }
65
+ 100% {
66
+ transform: rotate3d($rotate_x, $rotate_y, $rotate_z, var(--animate-flip-angle, 360deg));
67
+ }
68
+ }
69
+ }
70
+
71
+
72
+ // ============================================================================
73
+ // Flip In Keyframes
74
+ // ============================================================================
75
+
76
+ ///
77
+ /// Flip in on X-axis (from top).
78
+ ///
79
+ /// @param {Angle} $start_angle [-90deg] - Starting rotation angle
80
+ ///
81
+ @mixin keyframes_flip_in_x($start_angle: $animate_flip_in_angle) {
82
+ @include keyframes(animate_flip_in_x) {
83
+ from {
84
+ transform: perspective(400px) rotateX($start_angle);
85
+ opacity: 0;
86
+ }
87
+ 40% {
88
+ transform: perspective(400px) rotateX(20deg);
89
+ }
90
+ 60% {
91
+ transform: perspective(400px) rotateX(-10deg);
92
+ opacity: 1;
93
+ }
94
+ 80% {
95
+ transform: perspective(400px) rotateX(5deg);
96
+ }
97
+ to {
98
+ transform: perspective(400px) rotateX(0deg);
99
+ }
100
+ }
101
+ }
102
+
103
+ ///
104
+ /// Flip in on Y-axis (from side).
105
+ ///
106
+ /// @param {Angle} $start_angle [-90deg] - Starting rotation angle
107
+ ///
108
+ @mixin keyframes_flip_in_y($start_angle: $animate_flip_in_angle) {
109
+ @include keyframes(animate_flip_in_y) {
110
+ from {
111
+ transform: perspective(400px) rotateY($start_angle);
112
+ opacity: 0;
113
+ }
114
+ 40% {
115
+ transform: perspective(400px) rotateY(20deg);
116
+ }
117
+ 60% {
118
+ transform: perspective(400px) rotateY(-10deg);
119
+ opacity: 1;
120
+ }
121
+ 80% {
122
+ transform: perspective(400px) rotateY(5deg);
123
+ }
124
+ to {
125
+ transform: perspective(400px) rotateY(0deg);
126
+ }
127
+ }
128
+ }
129
+
130
+
131
+ // ============================================================================
132
+ // Flip Out Keyframes
133
+ // ============================================================================
134
+
135
+ ///
136
+ /// Flip out on X-axis.
137
+ ///
138
+ /// @param {Angle} $end_angle [90deg] - Ending rotation angle
139
+ ///
140
+ @mixin keyframes_flip_out_x($end_angle: $animate_flip_out_angle) {
141
+ @include keyframes(animate_flip_out_x) {
142
+ from {
143
+ transform: perspective(400px);
144
+ }
145
+ 30% {
146
+ transform: perspective(400px) rotateX(-20deg);
147
+ opacity: 1;
148
+ }
149
+ to {
150
+ transform: perspective(400px) rotateX($end_angle);
151
+ opacity: 0;
152
+ }
153
+ }
154
+ }
155
+
156
+ ///
157
+ /// Flip out on Y-axis.
158
+ ///
159
+ /// @param {Angle} $end_angle [90deg] - Ending rotation angle
160
+ ///
161
+ @mixin keyframes_flip_out_y($end_angle: $animate_flip_out_angle) {
162
+ @include keyframes(animate_flip_out_y) {
163
+ from {
164
+ transform: perspective(400px);
165
+ }
166
+ 30% {
167
+ transform: perspective(400px) rotateY(-15deg);
168
+ opacity: 1;
169
+ }
170
+ to {
171
+ transform: perspective(400px) rotateY($end_angle);
172
+ opacity: 0;
173
+ }
174
+ }
175
+ }
176
+
177
+
178
+ // ============================================================================
179
+ // Card Flip Keyframes
180
+ // ============================================================================
181
+
182
+ ///
183
+ /// Card flip effect - front to back.
184
+ ///
185
+ @mixin keyframes_card_flip() {
186
+ @include keyframes(animate_card_flip) {
187
+ 0% {
188
+ transform: perspective(1000px) rotateY(0deg);
189
+ }
190
+ 100% {
191
+ transform: perspective(1000px) rotateY(180deg);
192
+ }
193
+ }
194
+ }
195
+
196
+ ///
197
+ /// Card flip effect - back to front.
198
+ ///
199
+ @mixin keyframes_card_flip_back() {
200
+ @include keyframes(animate_card_flip_back) {
201
+ 0% {
202
+ transform: perspective(1000px) rotateY(180deg);
203
+ }
204
+ 100% {
205
+ transform: perspective(1000px) rotateY(0deg);
206
+ }
207
+ }
208
+ }
209
+
210
+
211
+ // ============================================================================
212
+ // Flip with Scale Keyframes
213
+ // ============================================================================
214
+
215
+ ///
216
+ /// Flip combined with scale effect.
217
+ ///
218
+ /// @param {Number} $scale [0.8] - Scale at midpoint
219
+ ///
220
+ @mixin keyframes_flip_scale($scale: $animate_scale_flip) {
221
+ @include keyframes(animate_flip_scale) {
222
+ 0%, 100% {
223
+ transform: perspective(400px) rotateY(0deg) scale(1);
224
+ }
225
+ 50% {
226
+ transform: perspective(400px) rotateY(180deg) scale($scale);
227
+ }
228
+ }
229
+ }
230
+
231
+
232
+ // ============================================================================
233
+ // Diagonal Flip Keyframes
234
+ // ============================================================================
235
+
236
+ ///
237
+ /// Flip on diagonal axis.
238
+ ///
239
+ /// @param {Angle} $angle [360deg] - Rotation angle
240
+ ///
241
+ @mixin keyframes_flip_diagonal($angle: $animate_flip_diagonal_angle) {
242
+ @include keyframes(animate_flip_diagonal) {
243
+ 0% {
244
+ transform: rotate3d(1, 1, 0, 0deg);
245
+ }
246
+ 100% {
247
+ transform: rotate3d(1, 1, 0, $angle);
248
+ }
249
+ }
250
+ }
251
+
252
+ ///
253
+ /// Flip on opposite diagonal axis.
254
+ ///
255
+ /// @param {Angle} $angle [360deg] - Rotation angle
256
+ ///
257
+ @mixin keyframes_flip_diagonal_alt($angle: $animate_flip_diagonal_angle) {
258
+ @include keyframes(animate_flip_diagonal_alt) {
259
+ 0% {
260
+ transform: rotate3d(1, -1, 0, 0deg);
261
+ }
262
+ 100% {
263
+ transform: rotate3d(1, -1, 0, $angle);
264
+ }
265
+ }
266
+ }
@@ -1,20 +1,31 @@
1
+ ////
2
+ ///
3
+ /// Animation Keyframes Module
4
+ /// =========================================================================
5
+ ///
6
+ /// CSS @keyframes definitions for all animation effects. These keyframes
7
+ /// are used by the animations mixins module to create reusable animation
8
+ /// effects like bounce, fade, spin, shake, and more.
9
+ ///
10
+ /// @group Keyframes
11
+ /// @author Scape Agency
12
+ /// @link https://move.gl
13
+ /// @since 0.1.0 initial release
14
+ /// @access public
15
+ ///
16
+ ////
17
+
18
+
1
19
  // ============================================================================
2
- // StyleScape | Animations | Index
20
+ // Forward Animation Keyframes
3
21
  // ============================================================================
4
22
 
5
- @forward "base";
6
23
  @forward "beat";
7
24
  @forward "blink";
8
25
  @forward "bounce";
9
- @forward "elastic";
10
26
  @forward "fade";
11
27
  @forward "flash";
12
28
  @forward "flip";
13
- @forward "float";
14
- @forward "glow";
15
- @forward "heartbeat";
16
- @forward "hinge";
17
- @forward "jello";
18
29
  @forward "jiggle";
19
30
  @forward "lightspeed";
20
31
  @forward "nod";
@@ -29,8 +40,6 @@
29
40
  @forward "slide";
30
41
  @forward "spin";
31
42
  @forward "sway";
32
- @forward "swing";
33
- @forward "tada";
34
43
  @forward "twist";
35
44
  @forward "wave";
36
45
  @forward "wobble";
@@ -0,0 +1,85 @@
1
+ // ============================================================================
2
+ // move.gl | Jiggle Keyframes
3
+ // ============================================================================
4
+ // Copyright 2025 Scape Agency BV
5
+ // Licensed under MIT License
6
+ // ============================================================================
7
+
8
+ ////
9
+ /// Jiggle Keyframes Module
10
+ /// ===========================================================================
11
+ ///
12
+ /// Provides parameterized keyframe mixins for jiggle animations.
13
+ /// Quick, nervous jiggling animations for horizontal and vertical movement.
14
+ ///
15
+ /// @group Keyframes
16
+ /// @author Scape Agency
17
+ /// @link https://move.gl
18
+ /// @since 0.1.0 initial release
19
+ /// @access public
20
+ ////
21
+
22
+
23
+ // ============================================================================
24
+ // Keyframes
25
+ // ============================================================================
26
+
27
+
28
+ ///
29
+ /// Jiggle Keyframes
30
+ /// @name keyframes_animate_jiggle
31
+ /// @param {Length} $amplitude [5px] - The distance to move.
32
+ ///
33
+ @mixin keyframes_animate_jiggle($amplitude: $animate_jiggle_amplitude) {
34
+ @keyframes animate_jiggle {
35
+ 0%, 100% { transform: translateX(0); }
36
+ 25% { transform: translateX(-$amplitude); }
37
+ 50% { transform: translateX($amplitude); }
38
+ 75% { transform: translateX(-$amplitude); }
39
+ }
40
+ }
41
+
42
+
43
+ ///
44
+ /// Jiggle Vertical Keyframes
45
+ /// @name keyframes_animate_jiggle_vertical
46
+ /// @param {Length} $amplitude [5px] - The distance to move.
47
+ ///
48
+ @mixin keyframes_animate_jiggle_vertical($amplitude: $animate_jiggle_amplitude) {
49
+ @keyframes animate_jiggle_vertical {
50
+ 0%, 100% { transform: translateY(0); }
51
+ 25% { transform: translateY(-$amplitude); }
52
+ 50% { transform: translateY($amplitude); }
53
+ 75% { transform: translateY(-$amplitude); }
54
+ }
55
+ }
56
+
57
+
58
+ ///
59
+ /// Jiggle Multi Keyframes
60
+ /// @name keyframes_animate_jiggle_multi
61
+ /// @param {Length} $amplitude [5px] - The distance to move.
62
+ ///
63
+ @mixin keyframes_animate_jiggle_multi($amplitude: $animate_jiggle_amplitude) {
64
+ @keyframes animate_jiggle_multi {
65
+ 0%, 100% { transform: translate(0, 0); }
66
+ 25% { transform: translate(-$amplitude, $amplitude); }
67
+ 50% { transform: translate($amplitude, -$amplitude); }
68
+ 75% { transform: translate(-$amplitude, $amplitude); }
69
+ }
70
+ }
71
+
72
+
73
+ ///
74
+ /// Jiggle Slow Keyframes
75
+ /// @name keyframes_animate_jiggle_slow
76
+ /// @param {Length} $amplitude [3px] - The distance to move.
77
+ ///
78
+ @mixin keyframes_animate_jiggle_slow($amplitude: $animate_jiggle_amplitude_slow) {
79
+ @keyframes animate_jiggle_slow {
80
+ 0%, 100% { transform: translateX(0); }
81
+ 25% { transform: translateX(-$amplitude); }
82
+ 50% { transform: translateX($amplitude); }
83
+ 75% { transform: translateX(-$amplitude); }
84
+ }
85
+ }
@@ -0,0 +1,73 @@
1
+ // ============================================================================
2
+ // move.gl | Lightspeed Keyframes
3
+ // ============================================================================
4
+ // Copyright 2025 Scape Agency BV
5
+ // Licensed under MIT License
6
+ // ============================================================================
7
+
8
+ ////
9
+ /// Lightspeed Keyframes Module
10
+ /// ===========================================================================
11
+ ///
12
+ /// Provides parameterized keyframe mixins for lightspeed animations.
13
+ /// High-speed entrance and exit animations with skew effects.
14
+ ///
15
+ /// @group Keyframes
16
+ /// @author Scape Agency
17
+ /// @link https://move.gl
18
+ /// @since 0.1.0 initial release
19
+ /// @access public
20
+ ////
21
+
22
+
23
+ // ============================================================================
24
+ // Keyframes
25
+ // ============================================================================
26
+
27
+
28
+ ///
29
+ /// Lightspeed In Keyframes
30
+ /// @name keyframes_animate_lightspeed_in
31
+ /// @param {Number|String} $distance [100%] - The starting distance.
32
+ /// @param {Angle} $skew_start [-30deg] - The initial skew angle.
33
+ ///
34
+ @mixin keyframes_animate_lightspeed_in($distance: $animate_translate_slide, $skew_start: $animate_lightspeed_skew_start) {
35
+ @keyframes animate_lightspeed_in {
36
+ 0% {
37
+ transform: translate3d($distance, 0, 0) skewX($skew_start);
38
+ opacity: 0;
39
+ }
40
+ 60% {
41
+ transform: skewX(20deg);
42
+ opacity: 1;
43
+ }
44
+ 80% {
45
+ transform: skewX(-5deg);
46
+ opacity: 1;
47
+ }
48
+ 100% {
49
+ transform: none;
50
+ opacity: 1;
51
+ }
52
+ }
53
+ }
54
+
55
+
56
+ ///
57
+ /// Lightspeed Out Keyframes
58
+ /// @name keyframes_animate_lightspeed_out
59
+ /// @param {Number|String} $distance [100%] - The ending distance.
60
+ /// @param {Angle} $skew_end [30deg] - The final skew angle.
61
+ ///
62
+ @mixin keyframes_animate_lightspeed_out($distance: $animate_translate_slide, $skew_end: $animate_lightspeed_skew_end) {
63
+ @keyframes animate_lightspeed_out {
64
+ 0% {
65
+ transform: none;
66
+ opacity: 1;
67
+ }
68
+ 100% {
69
+ transform: translate3d($distance, 0, 0) skewX($skew_end);
70
+ opacity: 0;
71
+ }
72
+ }
73
+ }
@@ -0,0 +1,79 @@
1
+ // ============================================================================
2
+ // move.gl | Nod Keyframes
3
+ // ============================================================================
4
+ // Copyright 2025 Scape Agency BV
5
+ // Licensed under MIT License
6
+ // ============================================================================
7
+
8
+ ////
9
+ /// Nod Keyframes Module
10
+ /// ===========================================================================
11
+ ///
12
+ /// Provides parameterized keyframe mixins for nod animations.
13
+ /// Rotates elements on the X-axis to simulate nodding gestures.
14
+ ///
15
+ /// @group Keyframes
16
+ /// @author Scape Agency
17
+ /// @link https://move.gl
18
+ /// @since 0.1.0 initial release
19
+ /// @access public
20
+ ////
21
+
22
+
23
+ // ============================================================================
24
+ // Keyframes
25
+ // ============================================================================
26
+
27
+
28
+ ///
29
+ /// Nod Keyframes
30
+ /// @name keyframes_animate_nod
31
+ /// @param {Angle} $angle [10deg] - The angle of rotation.
32
+ ///
33
+ @mixin keyframes_animate_nod($angle: $animate_angle_nod) {
34
+ @keyframes animate_nod {
35
+ 0%, 100% { transform: rotateX(0deg); }
36
+ 50% { transform: rotateX($angle); }
37
+ }
38
+ }
39
+
40
+
41
+ ///
42
+ /// Nod Slow Keyframes
43
+ /// @name keyframes_animate_nod_slow
44
+ /// @param {Angle} $angle [10deg] - The angle of rotation.
45
+ ///
46
+ @mixin keyframes_animate_nod_slow($angle: $animate_angle_nod) {
47
+ @keyframes animate_nod_slow {
48
+ 0%, 100% { transform: rotateX(0deg); }
49
+ 50% { transform: rotateX($angle); }
50
+ }
51
+ }
52
+
53
+
54
+ ///
55
+ /// Nod Bounce Keyframes
56
+ /// @name keyframes_animate_nod_bounce
57
+ /// @param {Angle} $angle [10deg] - The angle of rotation.
58
+ /// @param {Length} $bounce_height [5px] - The height of the bounce.
59
+ ///
60
+ @mixin keyframes_animate_nod_bounce($angle: $animate_angle_nod, $bounce_height: $animate_translate_nod_bounce) {
61
+ @keyframes animate_nod_bounce {
62
+ 0%, 100% { transform: rotateX(0deg) translateY(0); }
63
+ 50% { transform: rotateX($angle) translateY(-$bounce_height); }
64
+ }
65
+ }
66
+
67
+
68
+ ///
69
+ /// Nod Continuous Keyframes
70
+ /// @name keyframes_animate_nod_continuous
71
+ /// @param {Angle} $angle [10deg] - The angle of rotation.
72
+ ///
73
+ @mixin keyframes_animate_nod_continuous($angle: $animate_angle_nod) {
74
+ @keyframes animate_nod_continuous {
75
+ 0% { transform: rotateX(0deg); }
76
+ 25%, 75% { transform: rotateX($angle); }
77
+ 50%, 100% { transform: rotateX(-$angle); }
78
+ }
79
+ }
@@ -0,0 +1,78 @@
1
+ // ============================================================================
2
+ // move.gl | Pop Keyframes
3
+ // ============================================================================
4
+ // Copyright 2025 Scape Agency BV
5
+ // Licensed under MIT License
6
+ // ============================================================================
7
+
8
+ ////
9
+ /// Pop Keyframes Module
10
+ /// ===========================================================================
11
+ ///
12
+ /// Provides parameterized keyframe mixins for pop animations.
13
+ /// Quick pop-in/pop-out animations for element emphasis.
14
+ ///
15
+ /// @group Keyframes
16
+ /// @author Scape Agency
17
+ /// @link https://move.gl
18
+ /// @since 0.1.0 initial release
19
+ /// @access public
20
+ ////
21
+
22
+
23
+ // ============================================================================
24
+ // Keyframes
25
+ // ============================================================================
26
+
27
+
28
+ ///
29
+ /// Pop Keyframes
30
+ /// @name keyframes_animate_pop
31
+ /// @param {Number} $scale [1.2] - The scale factor.
32
+ ///
33
+ @mixin keyframes_animate_pop($scale: $animate_scale_pop) {
34
+ @keyframes animate_pop {
35
+ 0%, 100% { transform: scale(1); }
36
+ 50% { transform: scale($scale); }
37
+ }
38
+ }
39
+
40
+
41
+ ///
42
+ /// Pop Fast Keyframes
43
+ /// @name keyframes_animate_pop_fast
44
+ /// @param {Number} $scale [1.2] - The scale factor.
45
+ ///
46
+ @mixin keyframes_animate_pop_fast($scale: $animate_scale_pop) {
47
+ @keyframes animate_pop_fast {
48
+ 0%, 100% { transform: scale(1); }
49
+ 50% { transform: scale($scale); }
50
+ }
51
+ }
52
+
53
+
54
+ ///
55
+ /// Pop Slow Keyframes
56
+ /// @name keyframes_animate_pop_slow
57
+ /// @param {Number} $scale [1.1] - The scale factor.
58
+ ///
59
+ @mixin keyframes_animate_pop_slow($scale: $animate_scale_bounce) {
60
+ @keyframes animate_pop_slow {
61
+ 0%, 100% { transform: scale(1); }
62
+ 50% { transform: scale($scale); }
63
+ }
64
+ }
65
+
66
+
67
+ ///
68
+ /// Pop Rotate Keyframes
69
+ /// @name keyframes_animate_pop_rotate
70
+ /// @param {Number} $scale [1.2] - The scale factor.
71
+ /// @param {Angle} $rotation_angle [10deg] - The rotation angle.
72
+ ///
73
+ @mixin keyframes_animate_pop_rotate($scale: $animate_scale_pop, $rotation_angle: $animate_angle_pop_rotate) {
74
+ @keyframes animate_pop_rotate {
75
+ 0%, 100% { transform: scale(1) rotate(0); }
76
+ 50% { transform: scale($scale) rotate($rotation_angle); }
77
+ }
78
+ }