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,195 @@
1
+ ////
2
+ ///
3
+ /// Heartbeat Animations Mixin Module
4
+ /// ===========================================================================
5
+ ///
6
+ /// Provides rhythmic heartbeat-style scaling animations that mimic a pulse.
7
+ /// Includes fast and slow variants with customizable scale factors. Ideal
8
+ /// for health indicators, love icons, and life animations.
9
+ ///
10
+ /// @group Animations
11
+ /// @author Scape Agency
12
+ /// @link https://move.gl
13
+ /// @since 0.1.0 initial release
14
+ /// @access public
15
+ ///
16
+ ////
17
+
18
+
19
+ // ============================================================================
20
+ // Use
21
+ // ============================================================================
22
+
23
+ @use "../../dev" as *;
24
+ @use "../../variables" as *;
25
+ @use "../keyframes" as *;
26
+ @use "base" as *;
27
+
28
+
29
+ // ============================================================================
30
+ // Mixins
31
+ // ============================================================================
32
+
33
+
34
+ ///
35
+ /// Heartbeat Animation
36
+ /// ---------------------------------------------------------------------------
37
+ /// Creates a heartbeat animation where the element scales up and down.
38
+ ///
39
+ /// @name animate_heartbeat
40
+ /// @param {Number} $scale_min [0.9] - Minimum scale of the heartbeat
41
+ /// @param {Number} $scale_max [1.1] - Maximum scale of the heartbeat
42
+ /// @param {Time} $duration [$animate_base_duration] - Animation duration
43
+ /// @param {String} $timing_function [linear] - Timing function
44
+ /// @param {Number|String} $iteration_count - Number of iterations
45
+ ///
46
+ /// @example scss - Basic usage
47
+ /// .heart {
48
+ /// @include animate_heartbeat;
49
+ /// }
50
+ ///
51
+ @mixin animate_heartbeat(
52
+ $scale_min: 0.9,
53
+ $scale_max: 1.1,
54
+ $duration: $animate_base_duration,
55
+ $timing_function: linear,
56
+ $iteration_count: $animate_base_iteration_count
57
+ ) {
58
+ @include animate_base(
59
+ animate_heartbeat,
60
+ $duration,
61
+ $timing_function,
62
+ $iteration_count,
63
+ );
64
+ @keyframes animate_heartbeat {
65
+ 0%, 100% { transform: scale(1); }
66
+ 25% { transform: scale($scale_min); }
67
+ 50% { transform: scale($scale_max); }
68
+ 75% { transform: scale($scale_min); }
69
+ }
70
+ }
71
+
72
+
73
+ ///
74
+ /// Rapid Heartbeat Animation
75
+ /// ---------------------------------------------------------------------------
76
+ /// Creates a rapid heartbeat animation with faster scaling transitions.
77
+ ///
78
+ /// @name animate_heartbeat_fast
79
+ /// @param {Number} $scale_min [0.85] - Minimum scale of the heartbeat
80
+ /// @param {Number} $scale_max [1.15] - Maximum scale of the heartbeat
81
+ /// @param {Time} $duration [$animate_base_duration_fast] - Animation duration
82
+ /// @param {String} $timing_function [linear] - Timing function
83
+ /// @param {Number|String} $iteration_count - Number of iterations
84
+ ///
85
+ /// @example scss - Usage
86
+ /// .urgent-heart {
87
+ /// @include animate_heartbeat_fast;
88
+ /// }
89
+ ///
90
+ @mixin animate_heartbeat_fast(
91
+ $scale_min: 0.85,
92
+ $scale_max: 1.15,
93
+ $duration: $animate_base_duration_fast,
94
+ $timing_function: linear,
95
+ $iteration_count: $animate_base_iteration_count
96
+ ) {
97
+ @include animate_base(
98
+ animate_heartbeat_fast,
99
+ $duration,
100
+ $timing_function,
101
+ $iteration_count,
102
+ );
103
+ @keyframes animate_heartbeat_fast {
104
+ 0%, 100% { transform: scale(1); }
105
+ 14%, 86% { transform: scale($scale_min); }
106
+ 28%, 72% { transform: scale($scale_max); }
107
+ 42%, 58% { transform: scale($scale_min); }
108
+ }
109
+ }
110
+
111
+
112
+ ///
113
+ /// Slow Heartbeat Animation
114
+ /// ---------------------------------------------------------------------------
115
+ /// Creates a slow heartbeat animation with more gradual scaling transitions.
116
+ ///
117
+ /// @name animate_heartbeat_slow
118
+ /// @param {Number} $scale_min [0.95] - Minimum scale of the heartbeat
119
+ /// @param {Number} $scale_max [1.05] - Maximum scale of the heartbeat
120
+ /// @param {Time} $duration [$animate_base_duration_slow] - Animation duration
121
+ /// @param {String} $timing_function [ease-in-out] - Timing function
122
+ /// @param {Number|String} $iteration_count - Number of iterations
123
+ ///
124
+ /// @example scss - Usage
125
+ /// .calm-heart {
126
+ /// @include animate_heartbeat_slow;
127
+ /// }
128
+ ///
129
+ @mixin animate_heartbeat_slow(
130
+ $scale_min: 0.95,
131
+ $scale_max: 1.05,
132
+ $duration: $animate_base_duration_slow,
133
+ $timing_function: ease-in-out,
134
+ $iteration_count: $animate_base_iteration_count
135
+ ) {
136
+ @include animate_base(
137
+ animate_heartbeat_slow,
138
+ $duration,
139
+ $timing_function,
140
+ $iteration_count
141
+ );
142
+ @keyframes animate_heartbeat_slow {
143
+ 0%, 100% { transform: scale(1); }
144
+ 25% { transform: scale($scale_min); }
145
+ 50% { transform: scale($scale_max); }
146
+ 75% { transform: scale($scale_min); }
147
+ }
148
+ }
149
+
150
+
151
+ ///
152
+ /// Heartbeat with Color Change Animation
153
+ /// ---------------------------------------------------------------------------
154
+ /// Creates a heartbeat animation that includes a color transition.
155
+ ///
156
+ /// @name animate_heartbeat_color
157
+ /// @param {Number} $scale_min [0.9] - Minimum scale of the heartbeat
158
+ /// @param {Number} $scale_max [1.1] - Maximum scale of the heartbeat
159
+ /// @param {Time} $duration [$animate_base_duration] - Animation duration
160
+ /// @param {String} $timing_function [linear] - Timing function
161
+ /// @param {Number|String} $iteration_count - Number of iterations
162
+ /// @param {Color} $color_start - Starting color of the element
163
+ /// @param {Color} $color_end - Ending color of the element
164
+ ///
165
+ /// @example scss - Usage
166
+ /// .color-heart {
167
+ /// @include animate_heartbeat_color;
168
+ /// }
169
+ ///
170
+ @mixin animate_heartbeat_color(
171
+ $scale_min: 0.9,
172
+ $scale_max: 1.1,
173
+ $duration: $animate_base_duration,
174
+ $timing_function: linear,
175
+ $iteration_count: $animate_base_iteration_count,
176
+ $color_start: $animate_base_color_start,
177
+ $color_end: $animate_base_color_end,
178
+ ) {
179
+ @include animate_base(
180
+ animate_heartbeat_color,
181
+ $duration,
182
+ $timing_function,
183
+ $iteration_count,
184
+ );
185
+ @keyframes animate_heartbeat_color {
186
+ 0%, 100% {
187
+ transform: scale(1);
188
+ color: $color_start;
189
+ }
190
+ 50% {
191
+ transform: scale($scale_max);
192
+ color: $color_end;
193
+ }
194
+ }
195
+ }
@@ -0,0 +1,118 @@
1
+ ////
2
+ ///
3
+ /// Hinge Animations Mixin Module
4
+ /// ===========================================================================
5
+ ///
6
+ /// Provides hinge-style exit animations where elements swing and fall.
7
+ /// Simulates a door or panel coming off its hinge. Useful for dramatic
8
+ /// exit effects and playful dismissal animations.
9
+ ///
10
+ /// @group Animations
11
+ /// @author Scape Agency
12
+ /// @link https://move.gl
13
+ /// @since 0.1.0 initial release
14
+ /// @access public
15
+ ///
16
+ ////
17
+
18
+
19
+ // ============================================================================
20
+ // Use
21
+ // ============================================================================
22
+
23
+ @use "../../dev" as *;
24
+ @use "../../variables" as *;
25
+ @use "../keyframes" as *;
26
+ @use "base" as *;
27
+
28
+
29
+ // ============================================================================
30
+ // Mixins
31
+ // ============================================================================
32
+
33
+
34
+ ///
35
+ /// Hinge Animation
36
+ /// ---------------------------------------------------------------------------
37
+ /// Creates a hinge effect where the element swings and falls off.
38
+ ///
39
+ /// @name animate_hinge
40
+ /// @param {String} $origin [top left] - Transform origin (hinge point)
41
+ /// @param {Angle} $swing_angle [80deg] - Maximum swing angle
42
+ /// @param {Length} $fall_distance [700px] - Distance to fall
43
+ /// @param {Time} $duration [2s] - Animation duration
44
+ /// @param {String} $timing_function [ease-in-out] - Timing function
45
+ ///
46
+ /// @example scss - Basic usage
47
+ /// .modal-close {
48
+ /// @include animate_hinge;
49
+ /// }
50
+ ///
51
+ @mixin animate_hinge(
52
+ $origin: top left,
53
+ $swing_angle: 80deg,
54
+ $fall_distance: 700px,
55
+ $duration: 2s,
56
+ $timing_function: ease-in-out
57
+ ) {
58
+ @include animate_base(
59
+ animate_hinge,
60
+ $duration,
61
+ $timing_function,
62
+ 1
63
+ );
64
+ transform-origin: $origin;
65
+ @keyframes animate_hinge {
66
+ 0% {
67
+ transform: rotate3d(0, 0, 1, 0deg);
68
+ opacity: 1;
69
+ }
70
+ 20%, 60% {
71
+ transform: rotate3d(0, 0, 1, $swing_angle);
72
+ opacity: 1;
73
+ }
74
+ 40%, 80% {
75
+ transform: rotate3d(0, 0, 1, $swing_angle * 0.75);
76
+ opacity: 1;
77
+ }
78
+ 100% {
79
+ transform: translate3d(0, $fall_distance, 0);
80
+ opacity: 0;
81
+ }
82
+ }
83
+ }
84
+
85
+
86
+ ///
87
+ /// Hinge Left Animation
88
+ /// ---------------------------------------------------------------------------
89
+ /// Creates a hinge effect from the left side.
90
+ ///
91
+ /// @name animate_hinge_left
92
+ /// @param {Time} $duration [2s] - Animation duration
93
+ ///
94
+ /// @example scss - Usage
95
+ /// .panel {
96
+ /// @include animate_hinge_left;
97
+ /// }
98
+ ///
99
+ @mixin animate_hinge_left(
100
+ $duration: 2s
101
+ ) {
102
+ @include animate_hinge(top left, 80deg, 700px, $duration);
103
+ }
104
+
105
+
106
+ ///
107
+ /// Hinge Right Animation
108
+ /// ---------------------------------------------------------------------------
109
+ /// Creates a hinge effect from the right side.
110
+ ///
111
+ /// @name animate_hinge_right
112
+ /// @param {Time} $duration [2s] - Animation duration
113
+ ///
114
+ @mixin animate_hinge_right(
115
+ $duration: 2s
116
+ ) {
117
+ @include animate_hinge(top right, -80deg, 700px, $duration);
118
+ }
@@ -0,0 +1,97 @@
1
+ // ============================================================================
2
+ // move.gl | Animations Index
3
+ // ============================================================================
4
+ // Copyright 2025 Scape Agency BV
5
+ // Licensed under MIT License
6
+ // ============================================================================
7
+
8
+ ////
9
+ /// Animations Mixin Module Index
10
+ /// =========================================================================
11
+ ///
12
+ /// Central index for all animation mixins in move.gl. Provides a complete
13
+ /// library of animation effects including:
14
+ ///
15
+ /// - **Base**: Core animation infrastructure and utilities
16
+ /// - **Attention**: beat, blink, bounce, flash, heartbeat, jiggle, shake
17
+ /// - **Entrance/Exit**: fade, flip, lightspeed, roll, slide, zoom
18
+ /// - **Emphasis**: pulse, glow, pop, rubber, tada, wobble
19
+ /// - **Background**: float, sway, swing, wave
20
+ /// - **Transform**: rotate, scale, spin, twist
21
+ /// - **Special**: elastic, hinge, jello, nod, ripple
22
+ ///
23
+ /// @group Animations
24
+ /// @author Scape Agency
25
+ /// @link https://move.gl
26
+ /// @since 0.1.0 initial release
27
+ /// @access public
28
+ ///
29
+ ////
30
+
31
+ // ============================================================================
32
+ // Core
33
+ // ============================================================================
34
+
35
+ @forward "base";
36
+
37
+ // ============================================================================
38
+ // Attention Seekers
39
+ // ============================================================================
40
+
41
+ @forward "beat";
42
+ @forward "blink";
43
+ @forward "bounce";
44
+ @forward "flash";
45
+ @forward "heartbeat";
46
+ @forward "jiggle";
47
+ @forward "shake";
48
+
49
+ // ============================================================================
50
+ // Entrance & Exit Animations
51
+ // ============================================================================
52
+
53
+ @forward "fade";
54
+ @forward "flip";
55
+ @forward "lightspeed";
56
+ @forward "roll";
57
+ @forward "slide";
58
+ @forward "zoom";
59
+
60
+ // ============================================================================
61
+ // Emphasis Animations
62
+ // ============================================================================
63
+
64
+ @forward "pulse";
65
+ @forward "glow";
66
+ @forward "pop";
67
+ @forward "rubber";
68
+ @forward "tada";
69
+ @forward "wobble";
70
+
71
+ // ============================================================================
72
+ // Background & Ambient Animations
73
+ // ============================================================================
74
+
75
+ @forward "float";
76
+ @forward "sway";
77
+ @forward "swing";
78
+ @forward "wave";
79
+
80
+ // ============================================================================
81
+ // Transform-based Animations
82
+ // ============================================================================
83
+
84
+ @forward "rotate";
85
+ @forward "scale";
86
+ @forward "spin";
87
+ @forward "twist";
88
+
89
+ // ============================================================================
90
+ // Special Effects
91
+ // ============================================================================
92
+
93
+ @forward "elastic";
94
+ @forward "hinge";
95
+ @forward "jello";
96
+ @forward "nod";
97
+ @forward "ripple";
@@ -0,0 +1,123 @@
1
+ ////
2
+ ///
3
+ /// Jello Animations Mixin Module
4
+ /// ===========================================================================
5
+ ///
6
+ /// Provides jelly-like wobble animations using skew transforms. Creates a
7
+ /// bouncy, gelatinous effect that settles naturally. Perfect for playful
8
+ /// UI feedback and attention-grabbing effects.
9
+ ///
10
+ /// @group Animations
11
+ /// @author Scape Agency
12
+ /// @link https://move.gl
13
+ /// @since 0.1.0 initial release
14
+ /// @access public
15
+ ///
16
+ ////
17
+
18
+
19
+ // ============================================================================
20
+ // Use
21
+ // ============================================================================
22
+
23
+ @use "../../dev" as *;
24
+ @use "../../variables" as *;
25
+ @use "../keyframes" as *;
26
+ @use "base" as *;
27
+
28
+
29
+ // ============================================================================
30
+ // Mixins
31
+ // ============================================================================
32
+
33
+
34
+ ///
35
+ /// Jello Animation
36
+ /// ---------------------------------------------------------------------------
37
+ /// Creates a jelly-like wobble effect using skew transforms.
38
+ ///
39
+ /// @name animate_jello
40
+ /// @param {Angle} $intensity [12.5deg] - Initial skew intensity
41
+ /// @param {Time} $duration [$animate_base_duration] - Animation duration
42
+ /// @param {String} $timing_function [ease-in-out] - Timing function
43
+ /// @param {Number|String} $iteration_count [1] - Number of iterations
44
+ ///
45
+ /// @example scss - Basic usage
46
+ /// .button {
47
+ /// @include animate_jello;
48
+ /// }
49
+ ///
50
+ @mixin animate_jello(
51
+ $intensity: 12.5deg,
52
+ $duration: $animate_base_duration,
53
+ $timing_function: ease-in-out,
54
+ $iteration_count: 1
55
+ ) {
56
+ @include animate_base(
57
+ animate_jello,
58
+ $duration,
59
+ $timing_function,
60
+ $iteration_count
61
+ );
62
+ transform-origin: center;
63
+ @keyframes animate_jello {
64
+ 0%, 11.1%, 100% {
65
+ transform: none;
66
+ }
67
+ 22.2% {
68
+ transform: skewX(-$intensity) skewY(-$intensity);
69
+ }
70
+ 33.3% {
71
+ transform: skewX($intensity * 0.5) skewY($intensity * 0.5);
72
+ }
73
+ 44.4% {
74
+ transform: skewX(-$intensity * 0.25) skewY(-$intensity * 0.25);
75
+ }
76
+ 55.5% {
77
+ transform: skewX($intensity * 0.125) skewY($intensity * 0.125);
78
+ }
79
+ 66.6% {
80
+ transform: skewX(-$intensity * 0.0625) skewY(-$intensity * 0.0625);
81
+ }
82
+ 77.7% {
83
+ transform: skewX($intensity * 0.03125) skewY($intensity * 0.03125);
84
+ }
85
+ 88.8% {
86
+ transform: skewX(-$intensity * 0.015625) skewY(-$intensity * 0.015625);
87
+ }
88
+ }
89
+ }
90
+
91
+
92
+ ///
93
+ /// Subtle Jello Animation
94
+ /// ---------------------------------------------------------------------------
95
+ /// A gentler version of the jello effect.
96
+ ///
97
+ /// @name animate_jello_subtle
98
+ /// @param {Time} $duration [$animate_base_duration] - Animation duration
99
+ ///
100
+ /// @example scss - Usage
101
+ /// .card {
102
+ /// @include animate_jello_subtle;
103
+ /// }
104
+ ///
105
+ @mixin animate_jello_subtle(
106
+ $duration: $animate_base_duration
107
+ ) {
108
+ @include animate_jello(6deg, $duration);
109
+ }
110
+
111
+
112
+ ///
113
+ /// Intense Jello Animation
114
+ /// A more dramatic version of the jello effect.
115
+ ///
116
+ /// @name animate_jello_intense
117
+ /// @param {Duration} $duration [$animate_base_duration] - The animation duration.
118
+ ///
119
+ @mixin animate_jello_intense(
120
+ $duration: $animate_base_duration
121
+ ) {
122
+ @include animate_jello(20deg, $duration);
123
+ }
@@ -0,0 +1,162 @@
1
+ ////
2
+ ///
3
+ /// Jiggle Animations Mixin Module
4
+ /// ===========================================================================
5
+ ///
6
+ /// Provides quick, nervous jiggling animations for horizontal and vertical
7
+ /// movement. Includes rotation variants and customizable amplitude. Useful
8
+ /// for error states, notifications, and playful interactions.
9
+ ///
10
+ /// @group Animations
11
+ /// @author Scape Agency
12
+ /// @link https://move.gl
13
+ /// @since 0.1.0 initial release
14
+ /// @access public
15
+ ///
16
+ ////
17
+
18
+
19
+ // ============================================================================
20
+ // Use
21
+ // ============================================================================
22
+
23
+ @use "../../dev" as *;
24
+ @use "../../variables" as *;
25
+ @use "../keyframes" as *;
26
+ @use "base" as *;
27
+
28
+
29
+ // ============================================================================
30
+ // Mixins
31
+ // ============================================================================
32
+
33
+
34
+ ///
35
+ /// Jiggle Animation
36
+ /// ---------------------------------------------------------------------------
37
+ /// Creates a horizontal jiggle animation where the element moves left and
38
+ /// right.
39
+ ///
40
+ /// @name animate_jiggle
41
+ /// @param {Length} $amplitude [5px] - Distance the element moves
42
+ /// @param {Time} $duration [$animate_base_duration_fast] - Animation duration
43
+ /// @param {String} $timing_function [ease-in-out] - Timing function
44
+ /// @param {Number|String} $iteration_count - Number of iterations
45
+ ///
46
+ /// @example scss - Basic usage
47
+ /// .error-input {
48
+ /// @include animate_jiggle;
49
+ /// }
50
+ ///
51
+ @mixin animate_jiggle(
52
+ $amplitude: 5px,
53
+ $duration: $animate_base_duration_fast,
54
+ $timing_function: ease-in-out,
55
+ $iteration_count: $animate_base_iteration_count
56
+ ) {
57
+ @include animate_base(
58
+ animate_jiggle,
59
+ $duration,
60
+ $timing_function,
61
+ $iteration_count,
62
+ );
63
+ @include keyframes_animate_jiggle($amplitude);
64
+ }
65
+
66
+
67
+ ///
68
+ /// Vertical Jiggle Animation
69
+ /// ---------------------------------------------------------------------------
70
+ /// Creates a vertical jiggle animation where the element moves up and down.
71
+ ///
72
+ /// @name animate_jiggle_vertical
73
+ /// @param {Length} $amplitude [5px] - Distance the element moves
74
+ /// @param {Time} $duration [$animate_base_duration_fast] - Animation duration
75
+ /// @param {String} $timing_function [ease-in-out] - Timing function
76
+ /// @param {Number|String} $iteration_count - Number of iterations
77
+ ///
78
+ /// @example scss - Usage
79
+ /// .notification {
80
+ /// @include animate_jiggle_vertical;
81
+ /// }
82
+ ///
83
+ @mixin animate_jiggle_vertical(
84
+ $amplitude: 5px,
85
+ $duration: $animate_base_duration_fast,
86
+ $timing_function: ease-in-out,
87
+ $iteration_count: $animate_base_iteration_count
88
+ ) {
89
+ @include animate_base(
90
+ animate_jiggle_vertical,
91
+ $duration,
92
+ $timing_function,
93
+ $iteration_count,
94
+ );
95
+ @include keyframes_animate_jiggle_vertical($amplitude);
96
+ }
97
+
98
+
99
+
100
+ ///
101
+ /// Multi-Directional Jiggle Animation
102
+ /// ---------------------------------------------------------------------------
103
+ /// Creates a jiggle animation where the element moves in both X and Y
104
+ /// directions.
105
+ ///
106
+ /// @name animate_jiggle_multi
107
+ /// @param {Length} $amplitude [5px] - Distance the element moves
108
+ /// @param {Time} $duration [$animate_base_duration_fast] - Animation duration
109
+ /// @param {String} $timing_function [ease-in-out] - Timing function
110
+ /// @param {Number|String} $iteration_count - Number of iterations
111
+ ///
112
+ /// @example scss - Usage
113
+ /// .playful-icon {
114
+ /// @include animate_jiggle_multi;
115
+ /// }
116
+ ///
117
+ @mixin animate_jiggle_multi(
118
+ $amplitude: 5px,
119
+ $duration: $animate_base_duration_fast,
120
+ $timing_function: ease-in-out,
121
+ $iteration_count: $animate_base_iteration_count
122
+ ) {
123
+ @include animate_base(
124
+ animate_jiggle_multi,
125
+ $duration,
126
+ $timing_function,
127
+ $iteration_count,
128
+ );
129
+ @include keyframes_animate_jiggle_multi($amplitude);
130
+ }
131
+
132
+
133
+ ///
134
+ /// Gentle Jiggle Animation
135
+ /// ---------------------------------------------------------------------------
136
+ /// Creates a gentler jiggle animation with slower transitions.
137
+ ///
138
+ /// @name animate_jiggle_slow
139
+ /// @param {Length} $amplitude [3px] - Distance the element moves
140
+ /// @param {Time} $duration [$animate_base_duration] - Animation duration
141
+ /// @param {String} $timing_function [ease-in-out] - Timing function
142
+ /// @param {Number|String} $iteration_count - Number of iterations
143
+ ///
144
+ /// @example scss - Usage
145
+ /// .subtle-notification {
146
+ /// @include animate_jiggle_slow;
147
+ /// }
148
+ ///
149
+ @mixin animate_jiggle_slow(
150
+ $amplitude: 3px,
151
+ $duration: $animate_base_duration,
152
+ $timing_function: ease-in-out,
153
+ $iteration_count: $animate_base_iteration_count
154
+ ) {
155
+ @include animate_base(
156
+ animate_jiggle_slow,
157
+ $duration,
158
+ $timing_function,
159
+ $iteration_count,
160
+ );
161
+ @include keyframes_animate_jiggle_slow($amplitude);
162
+ }