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,345 @@
1
+ ////
2
+ ///
3
+ /// Slide Keyframes Mixins Module
4
+ /// ===========================================================================
5
+ ///
6
+ /// Defines keyframes for slide animations including slide in/out from all
7
+ /// directions. These keyframes create smooth entrance and exit animations
8
+ /// for 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
+ // Slide In Keyframes
29
+ // ============================================================================
30
+
31
+ ///
32
+ /// Slide in from left.
33
+ ///
34
+ /// @param {Length} $distance [$animate_translate_slide] - Starting distance
35
+ ///
36
+ @mixin keyframes_slide_in_left($distance: $animate_translate_slide) {
37
+ @include keyframes(animate_slide_in_left) {
38
+ from {
39
+ transform: translateX(-$distance);
40
+ opacity: 0;
41
+ }
42
+ to {
43
+ transform: translateX(0);
44
+ opacity: 1;
45
+ }
46
+ }
47
+ }
48
+
49
+ ///
50
+ /// Slide in from right.
51
+ ///
52
+ /// @param {Length} $distance [$animate_translate_slide] - Starting distance
53
+ ///
54
+ @mixin keyframes_slide_in_right($distance: $animate_translate_slide) {
55
+ @include keyframes(animate_slide_in_right) {
56
+ from {
57
+ transform: translateX($distance);
58
+ opacity: 0;
59
+ }
60
+ to {
61
+ transform: translateX(0);
62
+ opacity: 1;
63
+ }
64
+ }
65
+ }
66
+
67
+ ///
68
+ /// Slide in from top.
69
+ ///
70
+ /// @param {Length} $distance [$animate_translate_slide] - Starting distance
71
+ ///
72
+ @mixin keyframes_slide_in_up($distance: $animate_translate_slide) {
73
+ @include keyframes(animate_slide_in_up) {
74
+ from {
75
+ transform: translateY($distance);
76
+ opacity: 0;
77
+ }
78
+ to {
79
+ transform: translateY(0);
80
+ opacity: 1;
81
+ }
82
+ }
83
+ }
84
+
85
+ ///
86
+ /// Slide in from bottom.
87
+ ///
88
+ /// @param {Length} $distance [$animate_translate_slide] - Starting distance
89
+ ///
90
+ @mixin keyframes_slide_in_down($distance: $animate_translate_slide) {
91
+ @include keyframes(animate_slide_in_down) {
92
+ from {
93
+ transform: translateY(-$distance);
94
+ opacity: 0;
95
+ }
96
+ to {
97
+ transform: translateY(0);
98
+ opacity: 1;
99
+ }
100
+ }
101
+ }
102
+
103
+
104
+ // ============================================================================
105
+ // Slide Out Keyframes
106
+ // ============================================================================
107
+
108
+ ///
109
+ /// Slide out to left.
110
+ ///
111
+ /// @param {Length} $distance [$animate_translate_slide] - Ending distance
112
+ ///
113
+ @mixin keyframes_slide_out_left($distance: $animate_translate_slide) {
114
+ @include keyframes(animate_slide_out_left) {
115
+ from {
116
+ transform: translateX(0);
117
+ opacity: 1;
118
+ }
119
+ to {
120
+ transform: translateX(-$distance);
121
+ opacity: 0;
122
+ }
123
+ }
124
+ }
125
+
126
+ ///
127
+ /// Slide out to right.
128
+ ///
129
+ /// @param {Length} $distance [$animate_translate_slide] - Ending distance
130
+ ///
131
+ @mixin keyframes_slide_out_right($distance: $animate_translate_slide) {
132
+ @include keyframes(animate_slide_out_right) {
133
+ from {
134
+ transform: translateX(0);
135
+ opacity: 1;
136
+ }
137
+ to {
138
+ transform: translateX($distance);
139
+ opacity: 0;
140
+ }
141
+ }
142
+ }
143
+
144
+ ///
145
+ /// Slide out to top.
146
+ ///
147
+ /// @param {Length} $distance [$animate_translate_slide] - Ending distance
148
+ ///
149
+ @mixin keyframes_slide_out_up($distance: $animate_translate_slide) {
150
+ @include keyframes(animate_slide_out_up) {
151
+ from {
152
+ transform: translateY(0);
153
+ opacity: 1;
154
+ }
155
+ to {
156
+ transform: translateY(-$distance);
157
+ opacity: 0;
158
+ }
159
+ }
160
+ }
161
+
162
+ ///
163
+ /// Slide out to bottom.
164
+ ///
165
+ /// @param {Length} $distance [$animate_translate_slide] - Ending distance
166
+ ///
167
+ @mixin keyframes_slide_out_down($distance: $animate_translate_slide) {
168
+ @include keyframes(animate_slide_out_down) {
169
+ from {
170
+ transform: translateY(0);
171
+ opacity: 1;
172
+ }
173
+ to {
174
+ transform: translateY($distance);
175
+ opacity: 0;
176
+ }
177
+ }
178
+ }
179
+
180
+
181
+ // ============================================================================
182
+ // Slide with Fade Keyframes
183
+ // ============================================================================
184
+
185
+ ///
186
+ /// Slide with fade in from above.
187
+ ///
188
+ /// @param {Length} $distance [50px] - Starting distance
189
+ ///
190
+ @mixin keyframes_slide_fade_in_up($distance: $animate_translate_slide_fade) {
191
+ @include keyframes(animate_slide_fade_in_up) {
192
+ from {
193
+ transform: translateY($distance);
194
+ opacity: 0;
195
+ }
196
+ to {
197
+ transform: translateY(0);
198
+ opacity: 1;
199
+ }
200
+ }
201
+ }
202
+
203
+ ///
204
+ /// Slide with fade in from below.
205
+ ///
206
+ /// @param {Length} $distance [50px] - Starting distance
207
+ ///
208
+ @mixin keyframes_slide_fade_in_down($distance: $animate_translate_slide_fade) {
209
+ @include keyframes(animate_slide_fade_in_down) {
210
+ from {
211
+ transform: translateY(-$distance);
212
+ opacity: 0;
213
+ }
214
+ to {
215
+ transform: translateY(0);
216
+ opacity: 1;
217
+ }
218
+ }
219
+ }
220
+
221
+ ///
222
+ /// Slide with fade in from left.
223
+ ///
224
+ /// @param {Length} $distance [50px] - Starting distance
225
+ ///
226
+ @mixin keyframes_slide_fade_in_left($distance: $animate_translate_slide_fade) {
227
+ @include keyframes(animate_slide_fade_in_left) {
228
+ from {
229
+ transform: translateX(-$distance);
230
+ opacity: 0;
231
+ }
232
+ to {
233
+ transform: translateX(0);
234
+ opacity: 1;
235
+ }
236
+ }
237
+ }
238
+
239
+ ///
240
+ /// Slide with fade in from right.
241
+ ///
242
+ /// @param {Length} $distance [50px] - Starting distance
243
+ ///
244
+ @mixin keyframes_slide_fade_in_right($distance: $animate_translate_slide_fade) {
245
+ @include keyframes(animate_slide_fade_in_right) {
246
+ from {
247
+ transform: translateX($distance);
248
+ opacity: 0;
249
+ }
250
+ to {
251
+ transform: translateX(0);
252
+ opacity: 1;
253
+ }
254
+ }
255
+ }
256
+
257
+
258
+ // ============================================================================
259
+ // Slide Loop Keyframes
260
+ // ============================================================================
261
+
262
+ ///
263
+ /// Continuous horizontal slide loop.
264
+ ///
265
+ /// @param {Length} $distance [100%] - Slide distance
266
+ ///
267
+ @mixin keyframes_slide_loop_horizontal($distance: 100%) {
268
+ @include keyframes(animate_slide_loop_horizontal) {
269
+ 0% {
270
+ transform: translateX(0);
271
+ }
272
+ 100% {
273
+ transform: translateX(-$distance);
274
+ }
275
+ }
276
+ }
277
+
278
+ ///
279
+ /// Continuous vertical slide loop.
280
+ ///
281
+ /// @param {Length} $distance [100%] - Slide distance
282
+ ///
283
+ @mixin keyframes_slide_loop_vertical($distance: 100%) {
284
+ @include keyframes(animate_slide_loop_vertical) {
285
+ 0% {
286
+ transform: translateY(0);
287
+ }
288
+ 100% {
289
+ transform: translateY(-$distance);
290
+ }
291
+ }
292
+ }
293
+
294
+
295
+ // ============================================================================
296
+ // Slide with Bounce Keyframes
297
+ // ============================================================================
298
+
299
+ ///
300
+ /// Slide in from left with bounce.
301
+ ///
302
+ /// @param {Length} $distance [100%] - Starting distance
303
+ ///
304
+ @mixin keyframes_slide_in_bounce_left($distance: 100%) {
305
+ @include keyframes(animate_slide_in_bounce_left) {
306
+ 0% {
307
+ transform: translateX(-$distance);
308
+ opacity: 0;
309
+ }
310
+ 60% {
311
+ transform: translateX(20px);
312
+ opacity: 1;
313
+ }
314
+ 80% {
315
+ transform: translateX(-10px);
316
+ }
317
+ 100% {
318
+ transform: translateX(0);
319
+ }
320
+ }
321
+ }
322
+
323
+ ///
324
+ /// Slide in from right with bounce.
325
+ ///
326
+ /// @param {Length} $distance [100%] - Starting distance
327
+ ///
328
+ @mixin keyframes_slide_in_bounce_right($distance: 100%) {
329
+ @include keyframes(animate_slide_in_bounce_right) {
330
+ 0% {
331
+ transform: translateX($distance);
332
+ opacity: 0;
333
+ }
334
+ 60% {
335
+ transform: translateX(-20px);
336
+ opacity: 1;
337
+ }
338
+ 80% {
339
+ transform: translateX(10px);
340
+ }
341
+ 100% {
342
+ transform: translateX(0);
343
+ }
344
+ }
345
+ }
@@ -0,0 +1,270 @@
1
+ ////
2
+ ///
3
+ /// Spin Keyframes Mixins Module
4
+ /// ===========================================================================
5
+ ///
6
+ /// Defines keyframes for spin/rotation animations including basic spin,
7
+ /// reverse spin, spin with effects like scaling and pulsing. These keyframes
8
+ /// create continuous rotation effects for loaders and icons.
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 Spin Keyframes
29
+ // ============================================================================
30
+
31
+ ///
32
+ /// Standard continuous spin.
33
+ ///
34
+ /// @param {Angle} $start_angle [0deg] - Starting angle
35
+ /// @param {Angle} $end_angle [360deg] - Ending angle
36
+ ///
37
+ @mixin keyframes_spin($start_angle: 0deg, $end_angle: 360deg) {
38
+ @include keyframes(animate_spin) {
39
+ from {
40
+ transform: rotate($start_angle);
41
+ }
42
+ to {
43
+ transform: rotate($end_angle);
44
+ }
45
+ }
46
+ }
47
+
48
+ ///
49
+ /// Spin with CSS custom property support.
50
+ ///
51
+ @mixin keyframes_animate_spin() {
52
+ @include keyframes(animate_spin) {
53
+ from {
54
+ transform: rotate(var(--animate-spin-start, 0deg));
55
+ }
56
+ to {
57
+ transform: rotate(var(--animate-spin-end, #{$animate_angle_full}));
58
+ }
59
+ }
60
+ }
61
+
62
+
63
+ // ============================================================================
64
+ // Reverse Spin Keyframes
65
+ // ============================================================================
66
+
67
+ ///
68
+ /// Counter-clockwise spin.
69
+ ///
70
+ /// @param {Angle} $start_angle [360deg] - Starting angle
71
+ /// @param {Angle} $end_angle [0deg] - Ending angle
72
+ ///
73
+ @mixin keyframes_spin_reverse($start_angle: 360deg, $end_angle: 0deg) {
74
+ @include keyframes(animate_spin_reverse) {
75
+ from {
76
+ transform: rotate($start_angle);
77
+ }
78
+ to {
79
+ transform: rotate($end_angle);
80
+ }
81
+ }
82
+ }
83
+
84
+
85
+ // ============================================================================
86
+ // Spin with Scale Keyframes
87
+ // ============================================================================
88
+
89
+ ///
90
+ /// Spin combined with growing effect.
91
+ ///
92
+ /// @param {Number} $scale [1.2] - Maximum scale
93
+ ///
94
+ @mixin keyframes_spin_grow($scale: $animate_scale_pop) {
95
+ @include keyframes(animate_spin_grow) {
96
+ 0%, 100% {
97
+ transform: scale(1) rotate(0deg);
98
+ }
99
+ 50% {
100
+ transform: scale($scale) rotate(180deg);
101
+ }
102
+ }
103
+ }
104
+
105
+ ///
106
+ /// Spin combined with shrinking effect.
107
+ ///
108
+ /// @param {Number} $scale [0.8] - Minimum scale
109
+ ///
110
+ @mixin keyframes_spin_shrink($scale: $animate_scale_shrink_min) {
111
+ @include keyframes(animate_spin_shrink) {
112
+ 0%, 100% {
113
+ transform: scale(1) rotate(0deg);
114
+ }
115
+ 50% {
116
+ transform: scale($scale) rotate(180deg);
117
+ }
118
+ }
119
+ }
120
+
121
+
122
+ // ============================================================================
123
+ // Spin Pulse Keyframes
124
+ // ============================================================================
125
+
126
+ ///
127
+ /// Spin with pulsing scale effect.
128
+ ///
129
+ /// @param {Number} $scale_min [1] - Minimum scale
130
+ /// @param {Number} $scale_max [1.1] - Maximum scale
131
+ /// @param {Angle} $rotation [360deg] - Full rotation
132
+ ///
133
+ @mixin keyframes_spin_pulse($scale_min: 1, $scale_max: $animate_scale_bounce, $rotation: $animate_angle_full) {
134
+ @include keyframes(animate_spin_pulse) {
135
+ 0%, 100% {
136
+ transform: rotate(0deg) scale($scale_min);
137
+ }
138
+ 50% {
139
+ transform: rotate($rotation) scale($scale_max);
140
+ }
141
+ }
142
+ }
143
+
144
+
145
+ // ============================================================================
146
+ // Spin with Flip Keyframes
147
+ // ============================================================================
148
+
149
+ ///
150
+ /// Spin combined with 3D flip effect.
151
+ ///
152
+ /// @param {Angle} $rotation [360deg] - Z-axis rotation
153
+ /// @param {Angle} $flip [180deg] - Y-axis flip
154
+ ///
155
+ @mixin keyframes_spin_flip($rotation: $animate_angle_full, $flip: 180deg) {
156
+ @include keyframes(animate_spin_flip) {
157
+ 0% {
158
+ transform: rotateZ(0deg) rotateY(0deg);
159
+ }
160
+ 50% {
161
+ transform: rotateZ($rotation * 0.5) rotateY($flip);
162
+ }
163
+ 100% {
164
+ transform: rotateZ($rotation) rotateY($flip * 2);
165
+ }
166
+ }
167
+ }
168
+
169
+
170
+ // ============================================================================
171
+ // Loader Spin Keyframes
172
+ // ============================================================================
173
+
174
+ ///
175
+ /// Loader-style spin with easing.
176
+ ///
177
+ @mixin keyframes_spin_loader() {
178
+ @include keyframes(animate_spin_loader) {
179
+ 0% {
180
+ transform: rotate(0deg);
181
+ }
182
+ 100% {
183
+ transform: rotate(360deg);
184
+ }
185
+ }
186
+ }
187
+
188
+ ///
189
+ /// Dual ring loader spin.
190
+ ///
191
+ @mixin keyframes_spin_dual() {
192
+ @include keyframes(animate_spin_dual) {
193
+ 0% {
194
+ transform: rotate(0deg);
195
+ }
196
+ 50% {
197
+ transform: rotate(180deg);
198
+ }
199
+ 100% {
200
+ transform: rotate(360deg);
201
+ }
202
+ }
203
+ }
204
+
205
+
206
+ // ============================================================================
207
+ // Wobble Spin Keyframes
208
+ // ============================================================================
209
+
210
+ ///
211
+ /// Spin with wobbling effect.
212
+ ///
213
+ /// @param {Angle} $wobble [5deg] - Wobble angle
214
+ ///
215
+ @mixin keyframes_spin_wobble($wobble: $animate_angle_gentle) {
216
+ @include keyframes(animate_spin_wobble) {
217
+ 0% {
218
+ transform: rotate(0deg) rotateX(0deg);
219
+ }
220
+ 25% {
221
+ transform: rotate(90deg) rotateX($wobble);
222
+ }
223
+ 50% {
224
+ transform: rotate(180deg) rotateX(0deg);
225
+ }
226
+ 75% {
227
+ transform: rotate(270deg) rotateX(-$wobble);
228
+ }
229
+ 100% {
230
+ transform: rotate(360deg) rotateX(0deg);
231
+ }
232
+ }
233
+ }
234
+
235
+
236
+ // ============================================================================
237
+ // 3D Spin Keyframes
238
+ // ============================================================================
239
+
240
+ ///
241
+ /// 3D spin on X-axis.
242
+ ///
243
+ /// @param {Angle} $angle [360deg] - Rotation angle
244
+ ///
245
+ @mixin keyframes_spin_x($angle: $animate_angle_full) {
246
+ @include keyframes(animate_spin_x) {
247
+ from {
248
+ transform: perspective(400px) rotateX(0deg);
249
+ }
250
+ to {
251
+ transform: perspective(400px) rotateX($angle);
252
+ }
253
+ }
254
+ }
255
+
256
+ ///
257
+ /// 3D spin on Y-axis.
258
+ ///
259
+ /// @param {Angle} $angle [360deg] - Rotation angle
260
+ ///
261
+ @mixin keyframes_spin_y($angle: $animate_angle_full) {
262
+ @include keyframes(animate_spin_y) {
263
+ from {
264
+ transform: perspective(400px) rotateY(0deg);
265
+ }
266
+ to {
267
+ transform: perspective(400px) rotateY($angle);
268
+ }
269
+ }
270
+ }
@@ -0,0 +1,83 @@
1
+ // ============================================================================
2
+ // move.gl | Sway Keyframes
3
+ // ============================================================================
4
+ // Copyright 2025 Scape Agency BV
5
+ // Licensed under MIT License
6
+ // ============================================================================
7
+
8
+ ////
9
+ /// Sway Keyframes Module
10
+ /// ===========================================================================
11
+ ///
12
+ /// Provides parameterized keyframe mixins for sway animations.
13
+ /// Simulates wind or pendulum motion.
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
+ /// Sway Keyframes
30
+ /// @name keyframes_animate_sway
31
+ /// @param {Angle} $angle [5deg] - The maximum angle to sway.
32
+ ///
33
+ @mixin keyframes_animate_sway($angle: $animate_angle_sway) {
34
+ @keyframes animate_sway {
35
+ 0%, 100% { transform: rotate(0deg); }
36
+ 50% { transform: rotate($angle); }
37
+ }
38
+ }
39
+
40
+
41
+ ///
42
+ /// Sway Slow Keyframes
43
+ /// @name keyframes_animate_sway_slow
44
+ /// @param {Angle} $angle [3deg] - The maximum angle to sway.
45
+ ///
46
+ @mixin keyframes_animate_sway_slow($angle: $animate_angle_sway_slow) {
47
+ @keyframes animate_sway_slow {
48
+ 0%, 100% { transform: rotate(0deg); }
49
+ 50% { transform: rotate($angle); }
50
+ }
51
+ }
52
+
53
+
54
+ ///
55
+ /// Sway Fast Keyframes
56
+ /// @name keyframes_animate_sway_fast
57
+ /// @param {Angle} $angle [10deg] - The maximum angle to sway.
58
+ ///
59
+ @mixin keyframes_animate_sway_fast($angle: $animate_angle_sway_fast) {
60
+ @keyframes animate_sway_fast {
61
+ 0%, 100% { transform: rotate(0deg); }
62
+ 50% { transform: rotate($angle); }
63
+ }
64
+ }
65
+
66
+
67
+ ///
68
+ /// Sway Fade Keyframes
69
+ /// @name keyframes_animate_sway_fade
70
+ /// @param {Angle} $angle [5deg] - The maximum angle to sway.
71
+ ///
72
+ @mixin keyframes_animate_sway_fade($angle: $animate_angle_sway) {
73
+ @keyframes animate_sway_fade {
74
+ 0%, 100% {
75
+ transform: rotate(0deg);
76
+ opacity: 1;
77
+ }
78
+ 50% {
79
+ transform: rotate($angle);
80
+ opacity: 0.5;
81
+ }
82
+ }
83
+ }