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,403 @@
1
+ ////
2
+ ///
3
+ /// Base Animations Mixin Module
4
+ /// =========================================================================
5
+ ///
6
+ /// Provides the foundational animation infrastructure for move.gl,
7
+ /// including the base animation mixin used by all other animation modules,
8
+ /// accessibility considerations for reduced motion preferences, and
9
+ /// utility mixins for common animation patterns.
10
+ ///
11
+ /// @group Animations
12
+ /// @author Scape Agency
13
+ /// @link https://move.gl
14
+ /// @since 0.1.0 initial release
15
+ /// @access public
16
+ ///
17
+ ////
18
+
19
+
20
+ // ============================================================================
21
+ // Use
22
+ // ============================================================================
23
+
24
+ @use "sass:map";
25
+ @use "sass:list";
26
+ @use "../../dev" as *;
27
+ @use "../../variables" as *;
28
+
29
+
30
+ // ============================================================================
31
+ // Base Animation Mixin
32
+ // ============================================================================
33
+
34
+ ///
35
+ /// Base Animation Mixin
36
+ /// -----------------------------------------------------------------------
37
+ /// The foundation mixin for all animations. Provides a consistent
38
+ /// structure for defining animations with customizable properties.
39
+ ///
40
+ /// @name animate_base
41
+ /// @param {String} $name [none] - The animation name (keyframes reference)
42
+ /// @param {Time} $duration [$animate_base_duration] - Animation duration
43
+ /// @param {String} $timing_function [$animate_base_timing_function] - Easing
44
+ /// @param {Number|String} $iteration_count - Number of iterations
45
+ /// @param {Time} $delay [$animate_base_delay] - Delay before start
46
+ /// @param {String} $direction [$animate_base_direction] - Direction
47
+ /// @param {String} $fill_mode [both] - Styles before/after animation
48
+ /// @param {String} $play_state [running] - Running or paused
49
+ ///
50
+ /// @example scss - Basic usage
51
+ /// .element {
52
+ /// @include animate_base(fadeIn, 0.5s, ease-out, 1);
53
+ /// }
54
+ ///
55
+ @mixin animate_base(
56
+ $name: none,
57
+ $duration: $animate_base_duration,
58
+ $timing_function: $animate_base_timing_function,
59
+ $iteration_count: $animate_base_iteration_count,
60
+ $delay: $animate_base_delay,
61
+ $direction: $animate_base_direction,
62
+ $fill_mode: both,
63
+ $play_state: running
64
+ ) {
65
+ animation-name: $name;
66
+ animation-duration: $duration;
67
+ animation-timing-function: $timing_function;
68
+ animation-iteration-count: $iteration_count;
69
+ animation-delay: $delay;
70
+ animation-direction: $direction;
71
+ animation-fill-mode: $fill_mode;
72
+ animation-play-state: $play_state;
73
+ }
74
+
75
+
76
+ ///
77
+ /// Animation Shorthand Mixin
78
+ /// -----------------------------------------------------------------------
79
+ /// Applies animation using the shorthand property for concise output.
80
+ ///
81
+ /// @name animate_shorthand
82
+ /// @param {String} $name - Animation name
83
+ /// @param {Time} $duration [0.5s] - Duration
84
+ /// @param {String} $timing [ease-in-out] - Timing function
85
+ /// @param {Time} $delay [0s] - Delay
86
+ /// @param {Number|String} $iterations [1] - Iteration count
87
+ /// @param {String} $direction [normal] - Direction
88
+ /// @param {String} $fill_mode [both] - Fill mode
89
+ ///
90
+ @mixin animate_shorthand(
91
+ $name,
92
+ $duration: 0.5s,
93
+ $timing: ease-in-out,
94
+ $delay: 0s,
95
+ $iterations: 1,
96
+ $direction: normal,
97
+ $fill_mode: both
98
+ ) {
99
+ animation: $name $duration $timing $delay $iterations $direction $fill_mode;
100
+ }
101
+
102
+
103
+ // ============================================================================
104
+ // Animation State Mixins
105
+ // ============================================================================
106
+
107
+ ///
108
+ /// Paused Animation State
109
+ /// -----------------------------------------------------------------------
110
+ /// Pauses an animation. Useful for hover effects or JavaScript control.
111
+ ///
112
+ @mixin animate_paused {
113
+ animation-play-state: paused;
114
+ }
115
+
116
+ ///
117
+ /// Running Animation State
118
+ /// -----------------------------------------------------------------------
119
+ /// Ensures an animation is running.
120
+ ///
121
+ @mixin animate_running {
122
+ animation-play-state: running;
123
+ }
124
+
125
+
126
+ // ============================================================================
127
+ // Animation Property Mixins
128
+ // ============================================================================
129
+
130
+ ///
131
+ /// Animation Duration
132
+ /// -----------------------------------------------------------------------
133
+ /// Sets the animation duration independently.
134
+ ///
135
+ /// @param {Time} $duration - The duration value
136
+ ///
137
+ @mixin animate_duration($duration) {
138
+ animation-duration: $duration;
139
+ }
140
+
141
+ ///
142
+ /// Animation Delay
143
+ /// -----------------------------------------------------------------------
144
+ /// Sets the animation delay independently.
145
+ ///
146
+ /// @param {Time} $delay - The delay value
147
+ ///
148
+ @mixin animate_delay($delay) {
149
+ animation-delay: $delay;
150
+ }
151
+
152
+ ///
153
+ /// Animation Timing Function
154
+ /// -----------------------------------------------------------------------
155
+ /// Sets the animation timing function independently.
156
+ ///
157
+ /// @param {String} $timing - The timing function
158
+ ///
159
+ @mixin animate_timing($timing) {
160
+ animation-timing-function: $timing;
161
+ }
162
+
163
+ ///
164
+ /// Animation Iteration Count
165
+ /// -----------------------------------------------------------------------
166
+ /// Sets the animation iteration count independently.
167
+ ///
168
+ /// @param {Number|String} $count - Number of iterations or 'infinite'
169
+ ///
170
+ @mixin animate_iterations($count) {
171
+ animation-iteration-count: $count;
172
+ }
173
+
174
+
175
+ // ============================================================================
176
+ // Animation Fill Mode Mixins
177
+ // ============================================================================
178
+
179
+ ///
180
+ /// Fill Mode - Forwards
181
+ /// -----------------------------------------------------------------------
182
+ /// Retains styles from the last keyframe after animation ends.
183
+ ///
184
+ @mixin animate_fill_forwards {
185
+ animation-fill-mode: forwards;
186
+ }
187
+
188
+ ///
189
+ /// Fill Mode - Backwards
190
+ /// -----------------------------------------------------------------------
191
+ /// Applies styles from the first keyframe before animation starts.
192
+ ///
193
+ @mixin animate_fill_backwards {
194
+ animation-fill-mode: backwards;
195
+ }
196
+
197
+ ///
198
+ /// Fill Mode - Both
199
+ /// -----------------------------------------------------------------------
200
+ /// Combines forwards and backwards fill modes.
201
+ ///
202
+ @mixin animate_fill_both {
203
+ animation-fill-mode: both;
204
+ }
205
+
206
+ ///
207
+ /// Fill Mode - None
208
+ /// -----------------------------------------------------------------------
209
+ /// No fill mode applied.
210
+ ///
211
+ @mixin animate_fill_none {
212
+ animation-fill-mode: none;
213
+ }
214
+
215
+
216
+ // ============================================================================
217
+ // Animation Direction Mixins
218
+ // ============================================================================
219
+
220
+ ///
221
+ /// Direction - Alternate
222
+ /// -----------------------------------------------------------------------
223
+ /// Animation alternates direction on each iteration.
224
+ ///
225
+ @mixin animate_alternate {
226
+ animation-direction: alternate;
227
+ }
228
+
229
+ ///
230
+ /// Direction - Reverse
231
+ /// -----------------------------------------------------------------------
232
+ /// Animation plays in reverse.
233
+ ///
234
+ @mixin animate_reverse {
235
+ animation-direction: reverse;
236
+ }
237
+
238
+ ///
239
+ /// Direction - Alternate Reverse
240
+ /// -----------------------------------------------------------------------
241
+ /// Animation alternates, starting in reverse.
242
+ ///
243
+ @mixin animate_alternate_reverse {
244
+ animation-direction: alternate-reverse;
245
+ }
246
+
247
+
248
+ // ============================================================================
249
+ // Keyframe Generator Mixin
250
+ // ============================================================================
251
+
252
+ ///
253
+ /// Dynamic Keyframe Generator
254
+ /// -----------------------------------------------------------------------
255
+ /// Generates keyframe animations from a map of percentages and properties.
256
+ ///
257
+ /// @name keyframe_animation
258
+ /// @param {String} $name - The animation name
259
+ /// @param {Map} $keyframes - Map of keyframes (percentage: properties)
260
+ ///
261
+ /// @example scss - Usage
262
+ /// @include keyframe_animation('slide-in', (
263
+ /// 0%: (transform: translateX(-100%), opacity: 0),
264
+ /// 100%: (transform: translateX(0), opacity: 1)
265
+ /// ));
266
+ ///
267
+ @mixin keyframe_animation($name, $keyframes) {
268
+ @keyframes #{$name} {
269
+ @each $percentage, $properties in $keyframes {
270
+ #{$percentage} {
271
+ @each $property, $value in $properties {
272
+ #{$property}: #{$value};
273
+ }
274
+ }
275
+ }
276
+ }
277
+ }
278
+
279
+
280
+ // ============================================================================
281
+ // Performance Optimization
282
+ // ============================================================================
283
+
284
+ ///
285
+ /// Hardware Acceleration
286
+ /// -----------------------------------------------------------------------
287
+ /// Enables hardware acceleration for smoother animations.
288
+ /// Use sparingly as it can increase memory usage.
289
+ ///
290
+ @mixin animate_gpu {
291
+ transform: translateZ(0);
292
+ backface-visibility: hidden;
293
+ perspective: 1000px;
294
+ }
295
+
296
+ ///
297
+ /// Will Change Hint
298
+ /// -----------------------------------------------------------------------
299
+ /// Hints to the browser which properties will animate.
300
+ /// Remove after animation completes to free resources.
301
+ ///
302
+ /// @param {String...} $properties - Properties that will change
303
+ ///
304
+ @mixin animate_will_change($properties...) {
305
+ will-change: $properties;
306
+ }
307
+
308
+
309
+ // ============================================================================
310
+ // Accessibility - Reduced Motion
311
+ // ============================================================================
312
+
313
+ ///
314
+ /// Reduced Motion Media Query
315
+ /// -----------------------------------------------------------------------
316
+ /// Wraps content in a prefers-reduced-motion media query.
317
+ /// Use to provide alternative non-animated styles.
318
+ ///
319
+ /// @content Styles to apply when reduced motion is preferred
320
+ ///
321
+ @mixin prefers_reduced_motion {
322
+ @media (prefers-reduced-motion: reduce) {
323
+ @content;
324
+ }
325
+ }
326
+
327
+ ///
328
+ /// Respects Reduced Motion
329
+ /// -----------------------------------------------------------------------
330
+ /// Applies animation only when user hasn't requested reduced motion.
331
+ ///
332
+ /// @content Animation styles
333
+ ///
334
+ @mixin respects_motion {
335
+ @media (prefers-reduced-motion: no-preference) {
336
+ @content;
337
+ }
338
+ }
339
+
340
+ ///
341
+ /// Global Reduced Motion Reset
342
+ /// -----------------------------------------------------------------------
343
+ /// Disables all animations and transitions for users who prefer
344
+ /// reduced motion. Apply at root level for comprehensive accessibility.
345
+ ///
346
+ @mixin reduced_motion_global {
347
+ @media (prefers-reduced-motion: reduce) {
348
+ *,
349
+ *::before,
350
+ *::after {
351
+ animation-duration: 0.01ms !important;
352
+ animation-iteration-count: 1 !important;
353
+ transition-duration: 0.01ms !important;
354
+ scroll-behavior: auto !important;
355
+ }
356
+ }
357
+ }
358
+
359
+
360
+ // ============================================================================
361
+ // Animation Composition
362
+ // ============================================================================
363
+
364
+ ///
365
+ /// Staggered Animation Delay
366
+ /// -----------------------------------------------------------------------
367
+ /// Creates staggered animation delays for child elements.
368
+ ///
369
+ /// @param {Number} $count - Number of children to stagger
370
+ /// @param {Time} $base_delay [0.1s] - Base delay increment
371
+ /// @param {Time} $initial_delay [0s] - Initial delay for first child
372
+ ///
373
+ /// @example scss - Usage
374
+ /// .list {
375
+ /// @include animate_stagger(5, 0.1s);
376
+ /// }
377
+ ///
378
+ @mixin animate_stagger($count, $base_delay: 0.1s, $initial_delay: 0s) {
379
+ @for $i from 1 through $count {
380
+ &:nth-child(#{$i}) {
381
+ animation-delay: $initial_delay + ($base_delay * ($i - 1));
382
+ }
383
+ }
384
+ }
385
+
386
+ ///
387
+ /// Multiple Animations
388
+ /// -----------------------------------------------------------------------
389
+ /// Applies multiple animations to a single element.
390
+ ///
391
+ /// @param {List} $animations... - Animation shorthand values
392
+ ///
393
+ /// @example scss - Usage
394
+ /// .element {
395
+ /// @include animate_multiple(
396
+ /// fadeIn 0.5s ease-out,
397
+ /// slideUp 0.5s ease-out 0.2s
398
+ /// );
399
+ /// }
400
+ ///
401
+ @mixin animate_multiple($animations...) {
402
+ animation: $animations;
403
+ }
@@ -0,0 +1,137 @@
1
+ ////
2
+ ///
3
+ /// Beat Animations Mixin Module
4
+ /// ===========================================================================
5
+ ///
6
+ /// Provides SCSS mixins for creating rhythmic beat animations that scale
7
+ /// elements up and down in pulsating patterns. Includes basic beat, beat
8
+ /// with fade effect, and double beat (heartbeat-like) variations.
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
+ /// Beat Animation
35
+ /// ---------------------------------------------------------------------------
36
+ /// Creates a beat animation that scales an element up and down rhythmically.
37
+ ///
38
+ /// @name animate_beat
39
+ /// @param {Number} $scale [$animate_scale_beat] - The scale factor for the beat animation
40
+ /// @param {Time} $duration [$animate_base_duration] - The duration of the animation
41
+ /// @param {String} $timing_function [$animate_base_timing_function] - The timing function
42
+ /// @param {Number|String} $iteration_count [$animate_base_iteration_count] - Number of iterations
43
+ ///
44
+ /// @example scss - Basic usage
45
+ /// .element {
46
+ /// @include animate_beat;
47
+ /// }
48
+ ///
49
+ /// @example scss - Custom scale and duration
50
+ /// .element {
51
+ /// @include animate_beat(1.3, 0.8s);
52
+ /// }
53
+ ///
54
+ @mixin animate_beat(
55
+ $scale: $animate_scale_beat,
56
+ $duration: $animate_base_duration,
57
+ $timing_function: $animate_base_timing_function,
58
+ $iteration_count: $animate_base_iteration_count
59
+ ) {
60
+ @include animate_base(
61
+ animate_beat,
62
+ $duration,
63
+ $timing_function,
64
+ $iteration_count
65
+ );
66
+ @include keyframes_animate_beat($scale);
67
+ }
68
+
69
+
70
+ ///
71
+ /// Beat Fade Animation
72
+ /// ---------------------------------------------------------------------------
73
+ /// Combines a beat animation with a fade effect, scaling the element while
74
+ /// simultaneously changing its opacity for a more subtle pulsating effect.
75
+ ///
76
+ /// @name animate_beat_fade
77
+ /// @param {Number} $opacity [$animate_opacity_fade] - Opacity level at animation midpoint
78
+ /// @param {Number} $scale [$animate_scale_beat_fade] - The scale factor for the beat
79
+ /// @param {Time} $duration [$animate_base_duration] - The duration of the animation
80
+ /// @param {String} $timing_function [$animate_base_timing_function_fade] - The timing function
81
+ /// @param {Number|String} $iteration_count [$animate_base_iteration_count] - Number of iterations
82
+ ///
83
+ /// @example scss - Usage
84
+ /// .element {
85
+ /// @include animate_beat_fade;
86
+ /// }
87
+ ///
88
+ @mixin animate_beat_fade(
89
+ $opacity: $animate_opacity_fade,
90
+ $scale: $animate_scale_beat_fade,
91
+ $duration: $animate_base_duration,
92
+ $timing_function: $animate_base_timing_function_fade,
93
+ $iteration_count: $animate_base_iteration_count
94
+ ) {
95
+ @include animate_base(
96
+ animate_beat_fade,
97
+ $duration,
98
+ $timing_function,
99
+ $iteration_count
100
+ );
101
+ @include keyframes_animate_beat_fade($opacity, $scale);
102
+ }
103
+
104
+
105
+ ///
106
+ /// Double Beat Animation
107
+ /// ---------------------------------------------------------------------------
108
+ /// Creates a double beat animation simulating a heartbeat or pulsating effect.
109
+ /// The element scales down, then up larger, then down again.
110
+ ///
111
+ /// @name animate_beat_double
112
+ /// @param {Number} $scale_small [$animate_scale_beat_double_small] - Smaller scale factor
113
+ /// @param {Number} $scale_large [$animate_scale_beat_double_large] - Larger scale factor
114
+ /// @param {Time} $duration [$animate_base_duration] - The duration of the animation
115
+ /// @param {String} $timing_function [$animate_base_timing_function] - The timing function
116
+ /// @param {Number|String} $iteration_count [$animate_base_iteration_count] - Number of iterations
117
+ ///
118
+ /// @example scss - Usage
119
+ /// .heartbeat-icon {
120
+ /// @include animate_beat_double;
121
+ /// }
122
+ ///
123
+ @mixin animate_beat_double(
124
+ $scale_small: $animate_scale_beat_double_small,
125
+ $scale_large: $animate_scale_beat_double_large,
126
+ $duration: $animate_base_duration,
127
+ $timing_function: $animate_base_timing_function,
128
+ $iteration_count: $animate_base_iteration_count
129
+ ) {
130
+ @include animate_base(
131
+ animate_beat_double,
132
+ $duration,
133
+ $timing_function,
134
+ $iteration_count
135
+ );
136
+ @include keyframes_animate_beat_double($scale_small, $scale_large);
137
+ }
@@ -0,0 +1,159 @@
1
+ ////
2
+ ///
3
+ /// Blink Animations Mixin Module
4
+ /// ===========================================================================
5
+ ///
6
+ /// Provides blinking animations for cursor effects, status indicators, and
7
+ /// attention elements. Includes rapid, slow, and fade variants with
8
+ /// customizable opacity levels and timing functions.
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
+ /// Blink Animation
36
+ /// ---------------------------------------------------------------------------
37
+ /// Creates a blink animation where the element alternates between visible
38
+ /// and invisible states.
39
+ ///
40
+ /// @name animate_blink
41
+ /// @param {Time} $duration [$animate_base_duration] - Animation duration
42
+ /// @param {String} $timing_function [step-end] - Timing function
43
+ /// @param {Number|String} $iteration_count - Number of iterations
44
+ /// @param {Number} $start_opacity [1] - Opacity at start and end
45
+ /// @param {Number} $blink_opacity [0] - Opacity during blink
46
+ ///
47
+ /// @example scss - Basic usage
48
+ /// .cursor {
49
+ /// @include animate_blink;
50
+ /// }
51
+ ///
52
+ @mixin animate_blink(
53
+ $duration: $animate_base_duration,
54
+ $timing_function: step-end,
55
+ $iteration_count: $animate_base_iteration_count,
56
+ $start_opacity: 1,
57
+ $blink_opacity: 0
58
+ ) {
59
+ @include animate_base(
60
+ animate_blink,
61
+ $duration,
62
+ $timing_function,
63
+ $iteration_count
64
+ );
65
+ @include keyframes_animate_blink($start_opacity, $blink_opacity);
66
+ }
67
+
68
+
69
+ ///
70
+ /// Rapid Blink Animation
71
+ /// ---------------------------------------------------------------------------
72
+ /// Creates a rapid blink animation where the element blinks quickly between
73
+ /// visible and invisible states.
74
+ ///
75
+ /// @name animate_blink_rapid
76
+ /// @param {Time} $duration [$animate_base_duration_fast] - Animation duration
77
+ /// @param {String} $timing_function [steps(2, end)] - Timing function
78
+ /// @param {Number|String} $iteration_count - Number of iterations
79
+ ///
80
+ /// @example scss - Usage
81
+ /// .alert {
82
+ /// @include animate_blink_rapid;
83
+ /// }
84
+ ///
85
+ @mixin animate_blink_rapid(
86
+ $duration: $animate_base_duration_fast,
87
+ $timing_function: steps(2, end),
88
+ $iteration_count: $animate_base_iteration_count
89
+ ) {
90
+ @include animate_base(
91
+ animate_blink_rapid,
92
+ $duration,
93
+ $timing_function,
94
+ $iteration_count
95
+ );
96
+ @include keyframes_animate_blink_rapid();
97
+ }
98
+
99
+
100
+ ///
101
+ /// Soft Blink Animation
102
+ /// ---------------------------------------------------------------------------
103
+ /// Creates a soft blink animation with a smooth transition in and out of
104
+ /// visibility.
105
+ ///
106
+ /// @name animate_blink_soft
107
+ /// @param {Time} $duration [$animate_base_duration_slow] - Animation duration
108
+ /// @param {String} $timing_function [ease-in-out] - Timing function
109
+ /// @param {Number|String} $iteration_count - Number of iterations
110
+ ///
111
+ /// @example scss - Usage
112
+ /// .status {
113
+ /// @include animate_blink_soft;
114
+ /// }
115
+ ///
116
+ @mixin animate_blink_soft(
117
+ $duration: $animate_base_duration_slow,
118
+ $timing_function: ease-in-out,
119
+ $iteration_count: $animate_base_iteration_count
120
+ ) {
121
+ @include animate_base(
122
+ animate_blink_soft,
123
+ $duration,
124
+ $timing_function,
125
+ $iteration_count
126
+ );
127
+ @include keyframes_animate_blink_soft();
128
+ }
129
+
130
+
131
+ ///
132
+ /// Alternating Blink Animation
133
+ /// ---------------------------------------------------------------------------
134
+ /// Creates an alternating blink animation where the element blinks at
135
+ /// regular intervals.
136
+ ///
137
+ /// @name animate_blink_alternate
138
+ /// @param {Time} $duration [$animate_base_duration] - Animation duration
139
+ /// @param {String} $timing_function [linear] - Timing function
140
+ /// @param {Number|String} $iteration_count - Number of iterations
141
+ ///
142
+ /// @example scss - Usage
143
+ /// .indicator {
144
+ /// @include animate_blink_alternate;
145
+ /// }
146
+ ///
147
+ @mixin animate_blink_alternate(
148
+ $duration: $animate_base_duration,
149
+ $timing_function: linear,
150
+ $iteration_count: $animate_base_iteration_count
151
+ ) {
152
+ @include animate_base(
153
+ animate_blink_alternate,
154
+ $duration,
155
+ $timing_function,
156
+ $iteration_count
157
+ );
158
+ @include keyframes_animate_blink_alternate();
159
+ }