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,470 @@
1
+ ////
2
+ ///
3
+ /// Filter Effects Mixin Module
4
+ /// ===========================================================================
5
+ ///
6
+ /// This module provides a comprehensive set of CSS filter mixins for creating
7
+ /// visual effects like blur, grayscale, brightness, contrast, and more.
8
+ /// Includes individual filters, combinations, transitions, and presets.
9
+ ///
10
+ /// @group Effects
11
+ /// @author Scape Agency
12
+ /// @link https://move.gl
13
+ /// @since 0.1.0 initial release
14
+ /// @todo None
15
+ /// @access public
16
+ ///
17
+ ////
18
+
19
+
20
+ // ============================================================================
21
+ // Use
22
+ // ============================================================================
23
+
24
+ @use "sass:list";
25
+ @use "sass:math";
26
+
27
+
28
+ // ============================================================================
29
+ // Base Filter Mixins
30
+ // ============================================================================
31
+
32
+ ///
33
+ /// Mixin for blur effect.
34
+ ///
35
+ /// @param {Length} $radius [0] - The radius of the blur effect.
36
+ /// @example scss - Usage
37
+ /// .example { @include filter_blur(5px); }
38
+ ///
39
+ @mixin filter_blur($radius: 0) {
40
+ filter: blur($radius);
41
+ }
42
+
43
+ ///
44
+ /// Mixin for grayscale effect.
45
+ ///
46
+ /// @param {Percentage} $amount [100%] - The amount of grayscale to apply.
47
+ /// @example scss - Usage
48
+ /// .example { @include filter_grayscale(50%); }
49
+ ///
50
+ @mixin filter_grayscale($amount: 100%) {
51
+ filter: grayscale($amount);
52
+ }
53
+
54
+ ///
55
+ /// Mixin for brightness effect.
56
+ ///
57
+ /// @param {Percentage} $amount [100%] - The amount of brightness to apply.
58
+ /// @example scss - Usage
59
+ /// .example { @include filter_brightness(120%); }
60
+ ///
61
+ @mixin filter_brightness($amount: 100%) {
62
+ filter: brightness($amount);
63
+ }
64
+
65
+ ///
66
+ /// Mixin for contrast effect.
67
+ ///
68
+ /// @param {Percentage} $amount [100%] - The amount of contrast to apply.
69
+ /// @example scss - Usage
70
+ /// .example { @include filter_contrast(80%); }
71
+ ///
72
+ @mixin filter_contrast($amount: 100%) {
73
+ filter: contrast($amount);
74
+ }
75
+
76
+ ///
77
+ /// Mixin for sepia effect.
78
+ ///
79
+ /// @param {Percentage} $amount [100%] - The amount of sepia to apply.
80
+ /// @example scss - Usage
81
+ /// .example { @include filter_sepia(50%); }
82
+ ///
83
+ @mixin filter_sepia($amount: 100%) {
84
+ filter: sepia($amount);
85
+ }
86
+
87
+ ///
88
+ /// Mixin for invert effect.
89
+ ///
90
+ /// @param {Percentage} $amount [100%] - The amount of inversion to apply.
91
+ /// @example scss - Usage
92
+ /// .example { @include filter_invert(50%); }
93
+ ///
94
+ @mixin filter_invert($amount: 100%) {
95
+ filter: invert($amount);
96
+ }
97
+
98
+ ///
99
+ /// Mixin for hue-rotate effect.
100
+ ///
101
+ /// @param {Angle} $angle [0deg] - The angle of hue rotation.
102
+ /// @example scss - Usage
103
+ /// .example { @include filter_hue_rotate(90deg); }
104
+ ///
105
+ @mixin filter_hue_rotate($angle: 0deg) {
106
+ filter: hue-rotate($angle);
107
+ }
108
+
109
+ ///
110
+ /// Mixin for saturate effect.
111
+ ///
112
+ /// @param {Percentage} $amount [100%] - The amount of saturation to apply.
113
+ /// @example scss - Usage
114
+ /// .example { @include filter_saturate(200%); }
115
+ ///
116
+ @mixin filter_saturate($amount: 100%) {
117
+ filter: saturate($amount);
118
+ }
119
+
120
+ ///
121
+ /// Mixin for opacity filter effect.
122
+ ///
123
+ /// @param {Percentage} $amount [100%] - The opacity amount.
124
+ /// @example scss - Usage
125
+ /// .example { @include filter_opacity(50%); }
126
+ ///
127
+ @mixin filter_opacity($amount: 100%) {
128
+ filter: opacity($amount);
129
+ }
130
+
131
+ ///
132
+ /// Mixin for drop shadow effect.
133
+ ///
134
+ /// @param {Length} $offsetX [0] - Horizontal offset.
135
+ /// @param {Length} $offsetY [0] - Vertical offset.
136
+ /// @param {Length} $blurRadius [0] - Blur radius.
137
+ /// @param {Color} $color [#000] - Shadow color.
138
+ /// @example scss - Usage
139
+ /// .example { @include filter_drop_shadow(10px, 10px, 5px, rgba(0, 0, 0, 0.5)); }
140
+ ///
141
+ @mixin filter_drop_shadow($offsetX: 0, $offsetY: 0, $blurRadius: 0, $color: #000) {
142
+ filter: drop-shadow($offsetX $offsetY $blurRadius $color);
143
+ }
144
+
145
+
146
+ // ============================================================================
147
+ // Combined Filter Mixins
148
+ // ============================================================================
149
+
150
+ ///
151
+ /// Mixin for combining multiple filters.
152
+ ///
153
+ /// @param {...} $filters - A list of filter functions.
154
+ /// @example scss - Usage
155
+ /// .example { @include filter_combine(blur(5px), brightness(120%)); }
156
+ ///
157
+ @mixin filter_combine($filters...) {
158
+ filter: $filters;
159
+ }
160
+
161
+ ///
162
+ /// Applies multiple filters with a single mixin call.
163
+ ///
164
+ /// @param {Length} $blur [null] - Blur radius.
165
+ /// @param {Percentage} $brightness [null] - Brightness amount.
166
+ /// @param {Percentage} $contrast [null] - Contrast amount.
167
+ /// @param {Percentage} $grayscale [null] - Grayscale amount.
168
+ /// @param {Angle} $hue-rotate [null] - Hue rotation angle.
169
+ /// @param {Percentage} $invert [null] - Invert amount.
170
+ /// @param {Percentage} $saturate [null] - Saturation amount.
171
+ /// @param {Percentage} $sepia [null] - Sepia amount.
172
+ /// @param {List} $drop-shadow [null] - Drop shadow values.
173
+ ///
174
+ @mixin filter_multi(
175
+ $blur: null,
176
+ $brightness: null,
177
+ $contrast: null,
178
+ $grayscale: null,
179
+ $hue-rotate: null,
180
+ $invert: null,
181
+ $saturate: null,
182
+ $sepia: null,
183
+ $drop-shadow: null
184
+ ) {
185
+ $filters: ();
186
+
187
+ @if $blur { $filters: append($filters, blur($blur)); }
188
+ @if $brightness { $filters: append($filters, brightness($brightness)); }
189
+ @if $contrast { $filters: append($filters, contrast($contrast)); }
190
+ @if $grayscale { $filters: append($filters, grayscale($grayscale)); }
191
+ @if $hue-rotate { $filters: append($filters, hue-rotate($hue-rotate)); }
192
+ @if $invert { $filters: append($filters, invert($invert)); }
193
+ @if $saturate { $filters: append($filters, saturate($saturate)); }
194
+ @if $sepia { $filters: append($filters, sepia($sepia)); }
195
+ @if $drop-shadow { $filters: append($filters, drop-shadow($drop-shadow)); }
196
+
197
+ @if length($filters) > 0 {
198
+ filter: $filters;
199
+ }
200
+ }
201
+
202
+
203
+ // ============================================================================
204
+ // Filter Transition Mixins
205
+ // ============================================================================
206
+
207
+ ///
208
+ /// Applies a filter with smooth transition support.
209
+ ///
210
+ /// @param {String} $filter - The filter to apply.
211
+ /// @param {Time} $duration [0.3s] - Transition duration.
212
+ /// @param {String} $timing [ease] - Timing function.
213
+ ///
214
+ @mixin filter_transition($duration: 0.3s, $timing: ease) {
215
+ transition: filter $duration $timing;
216
+ }
217
+
218
+ ///
219
+ /// Applies a hover filter effect with transition.
220
+ ///
221
+ /// @param {String} $default-filter [none] - Default filter state.
222
+ /// @param {String} $hover-filter - Filter to apply on hover.
223
+ /// @param {Time} $duration [0.3s] - Transition duration.
224
+ ///
225
+ @mixin filter_hover($default-filter: none, $hover-filter, $duration: 0.3s) {
226
+ filter: $default-filter;
227
+ transition: filter $duration ease;
228
+
229
+ &:hover {
230
+ filter: $hover-filter;
231
+ }
232
+ }
233
+
234
+
235
+ // ============================================================================
236
+ // Backdrop Filter Mixins
237
+ // ============================================================================
238
+
239
+ ///
240
+ /// Applies backdrop blur effect (frosted glass).
241
+ ///
242
+ /// @param {Length} $radius [10px] - Blur radius.
243
+ /// @example scss - Usage
244
+ /// .glass { @include backdrop_blur(20px); }
245
+ ///
246
+ @mixin backdrop_blur($radius: 10px) {
247
+ backdrop-filter: blur($radius);
248
+ -webkit-backdrop-filter: blur($radius);
249
+ }
250
+
251
+ ///
252
+ /// Creates a frosted glass effect with multiple backdrop filters.
253
+ ///
254
+ /// @param {Length} $blur [10px] - Blur amount.
255
+ /// @param {Percentage} $saturation [180%] - Saturation boost.
256
+ /// @param {Percentage} $brightness [100%] - Brightness adjustment.
257
+ ///
258
+ @mixin backdrop_glass($blur: 10px, $saturation: 180%, $brightness: 100%) {
259
+ backdrop-filter: blur($blur) saturate($saturation) brightness($brightness);
260
+ -webkit-backdrop-filter: blur($blur) saturate($saturation) brightness($brightness);
261
+ }
262
+
263
+ ///
264
+ /// Applies backdrop grayscale effect.
265
+ ///
266
+ /// @param {Percentage} $amount [100%] - Grayscale amount.
267
+ ///
268
+ @mixin backdrop_grayscale($amount: 100%) {
269
+ backdrop-filter: grayscale($amount);
270
+ -webkit-backdrop-filter: grayscale($amount);
271
+ }
272
+
273
+ ///
274
+ /// Combines multiple backdrop filters.
275
+ ///
276
+ /// @param {Length} $blur [null] - Blur radius.
277
+ /// @param {Percentage} $brightness [null] - Brightness.
278
+ /// @param {Percentage} $contrast [null] - Contrast.
279
+ /// @param {Percentage} $grayscale [null] - Grayscale.
280
+ /// @param {Angle} $hue-rotate [null] - Hue rotation.
281
+ /// @param {Percentage} $invert [null] - Invert.
282
+ /// @param {Percentage} $saturate [null] - Saturation.
283
+ /// @param {Percentage} $sepia [null] - Sepia.
284
+ ///
285
+ @mixin backdrop_multi(
286
+ $blur: null,
287
+ $brightness: null,
288
+ $contrast: null,
289
+ $grayscale: null,
290
+ $hue-rotate: null,
291
+ $invert: null,
292
+ $saturate: null,
293
+ $sepia: null
294
+ ) {
295
+ $filters: ();
296
+
297
+ @if $blur { $filters: list.append($filters, blur($blur)); }
298
+ @if $brightness { $filters: list.append($filters, brightness($brightness)); }
299
+ @if $contrast { $filters: list.append($filters, contrast($contrast)); }
300
+ @if $grayscale { $filters: list.append($filters, grayscale($grayscale)); }
301
+ @if $hue-rotate { $filters: list.append($filters, hue-rotate($hue-rotate)); }
302
+ @if $invert { $filters: list.append($filters, invert($invert)); }
303
+ @if $saturate { $filters: list.append($filters, saturate($saturate)); }
304
+ @if $sepia { $filters: list.append($filters, sepia($sepia)); }
305
+
306
+ @if list.length($filters) > 0 {
307
+ backdrop-filter: $filters;
308
+ -webkit-backdrop-filter: $filters;
309
+ }
310
+ }
311
+
312
+
313
+ // ============================================================================
314
+ // Filter Presets
315
+ // ============================================================================
316
+
317
+ ///
318
+ /// Vintage photo effect preset.
319
+ ///
320
+ @mixin filter_preset_vintage {
321
+ filter: sepia(50%) contrast(95%) brightness(90%) saturate(150%);
322
+ }
323
+
324
+ ///
325
+ /// Dramatic high-contrast preset.
326
+ ///
327
+ @mixin filter_preset_dramatic {
328
+ filter: contrast(150%) brightness(90%) saturate(120%);
329
+ }
330
+
331
+ ///
332
+ /// Cold/cool tone preset.
333
+ ///
334
+ @mixin filter_preset_cold {
335
+ filter: hue-rotate(180deg) saturate(80%) brightness(105%);
336
+ }
337
+
338
+ ///
339
+ /// Warm tone preset.
340
+ ///
341
+ @mixin filter_preset_warm {
342
+ filter: sepia(30%) brightness(105%) saturate(130%);
343
+ }
344
+
345
+ ///
346
+ /// Faded/matte preset.
347
+ ///
348
+ @mixin filter_preset_faded {
349
+ filter: contrast(90%) brightness(110%) saturate(80%);
350
+ }
351
+
352
+ ///
353
+ /// High saturation/vivid preset.
354
+ ///
355
+ @mixin filter_preset_vivid {
356
+ filter: saturate(180%) contrast(110%) brightness(105%);
357
+ }
358
+
359
+ ///
360
+ /// Noir/black and white with contrast preset.
361
+ ///
362
+ @mixin filter_preset_noir {
363
+ filter: grayscale(100%) contrast(120%) brightness(90%);
364
+ }
365
+
366
+ ///
367
+ /// Dreamy/soft focus preset.
368
+ ///
369
+ @mixin filter_preset_dreamy {
370
+ filter: blur(1px) brightness(110%) saturate(120%);
371
+ }
372
+
373
+ ///
374
+ /// X-ray/inverted preset.
375
+ ///
376
+ @mixin filter_preset_xray {
377
+ filter: invert(100%) hue-rotate(180deg);
378
+ }
379
+
380
+ ///
381
+ /// Duotone effect (requires additional CSS for color overlay).
382
+ ///
383
+ /// @param {Angle} $hue [0deg] - The hue rotation for duotone color.
384
+ ///
385
+ @mixin filter_preset_duotone($hue: 0deg) {
386
+ filter: grayscale(100%) brightness(110%) contrast(110%);
387
+
388
+ &::after {
389
+ content: '';
390
+ position: absolute;
391
+ inset: 0;
392
+ background: hsl($hue, 70%, 50%);
393
+ mix-blend-mode: multiply;
394
+ pointer-events: none;
395
+ }
396
+ }
397
+
398
+
399
+ // ============================================================================
400
+ // SVG Filter Reference Mixins
401
+ // ============================================================================
402
+
403
+ ///
404
+ /// Applies an SVG filter by ID reference.
405
+ ///
406
+ /// @param {String} $filter-id - The ID of the SVG filter element.
407
+ /// @example scss - Usage
408
+ /// .element { @include filter_svg('myCustomFilter'); }
409
+ ///
410
+ @mixin filter_svg($filter-id) {
411
+ filter: url('##{$filter-id}');
412
+ }
413
+
414
+
415
+ // ============================================================================
416
+ // Utility Classes Generator
417
+ // ============================================================================
418
+
419
+ ///
420
+ /// Generates utility classes for common filter effects.
421
+ ///
422
+ @mixin generate_filter_utilities {
423
+ .filter-none { filter: none !important; }
424
+
425
+ // Blur utilities
426
+ @for $i from 1 through 10 {
427
+ .blur-#{$i} { filter: blur(#{$i}px); }
428
+ }
429
+
430
+ // Grayscale utilities
431
+ .grayscale { filter: grayscale(100%); }
432
+ .grayscale-50 { filter: grayscale(50%); }
433
+
434
+ // Brightness utilities
435
+ .brightness-50 { filter: brightness(50%); }
436
+ .brightness-75 { filter: brightness(75%); }
437
+ .brightness-90 { filter: brightness(90%); }
438
+ .brightness-100 { filter: brightness(100%); }
439
+ .brightness-110 { filter: brightness(110%); }
440
+ .brightness-125 { filter: brightness(125%); }
441
+ .brightness-150 { filter: brightness(150%); }
442
+
443
+ // Contrast utilities
444
+ .contrast-50 { filter: contrast(50%); }
445
+ .contrast-75 { filter: contrast(75%); }
446
+ .contrast-100 { filter: contrast(100%); }
447
+ .contrast-125 { filter: contrast(125%); }
448
+ .contrast-150 { filter: contrast(150%); }
449
+
450
+ // Saturate utilities
451
+ .saturate-0 { filter: saturate(0%); }
452
+ .saturate-50 { filter: saturate(50%); }
453
+ .saturate-100 { filter: saturate(100%); }
454
+ .saturate-150 { filter: saturate(150%); }
455
+ .saturate-200 { filter: saturate(200%); }
456
+
457
+ // Sepia utility
458
+ .sepia { filter: sepia(100%); }
459
+
460
+ // Invert utility
461
+ .invert { filter: invert(100%); }
462
+
463
+ // Hue rotate utilities
464
+ .hue-rotate-15 { filter: hue-rotate(15deg); }
465
+ .hue-rotate-30 { filter: hue-rotate(30deg); }
466
+ .hue-rotate-60 { filter: hue-rotate(60deg); }
467
+ .hue-rotate-90 { filter: hue-rotate(90deg); }
468
+ .hue-rotate-180 { filter: hue-rotate(180deg); }
469
+ }
470
+
@@ -0,0 +1,83 @@
1
+ ////
2
+ ///
3
+ /// Focus Effects Mixin Module
4
+ /// ===========================================================================
5
+ ///
6
+ /// This module provides mixins for focus state effects.
7
+ ///
8
+ /// @group Effects
9
+ /// @author Scape Agency
10
+ /// @link https://move.gl
11
+ /// @since 0.1.0 initial release
12
+ /// @access public
13
+ ///
14
+ ////
15
+
16
+
17
+ // ============================================================================
18
+ // Use
19
+ // ============================================================================
20
+
21
+ @use "../../variables" as *;
22
+
23
+
24
+ // ============================================================================
25
+ // Focus State Mixins
26
+ // ============================================================================
27
+
28
+ ///
29
+ /// Default focus style with outline.
30
+ ///
31
+ /// @param {Color} $color [$focus-color-default] - Outline color.
32
+ /// @param {Length} $width [2px] - Outline width.
33
+ /// @param {Length} $offset [2px] - Outline offset.
34
+ ///
35
+ @mixin focus_default($color: $focus-color-default, $width: 2px, $offset: 2px) {
36
+ &:focus {
37
+ outline: $width solid $color;
38
+ outline-offset: $offset;
39
+ }
40
+ }
41
+
42
+ ///
43
+ /// Focus ring using box-shadow.
44
+ ///
45
+ /// @param {Color} $color [$focus-color-default] - Ring color.
46
+ /// @param {Number} $opacity [0.5] - Ring opacity.
47
+ /// @param {Length} $spread [3px] - Ring spread.
48
+ ///
49
+ @mixin focus_ring($color: $focus-color-default, $opacity: 0.5, $spread: 3px) {
50
+ &:focus {
51
+ outline: none;
52
+ box-shadow: 0 0 0 $spread rgba($color, $opacity);
53
+ }
54
+ }
55
+
56
+ ///
57
+ /// Focus glow effect.
58
+ ///
59
+ /// @param {Color} $color [$focus-color-default] - Glow color.
60
+ /// @param {Number} $opacity [0.6] - Glow opacity.
61
+ /// @param {Length} $spread [15px] - Glow spread.
62
+ ///
63
+ @mixin focus_glow($color: $focus-color-default, $opacity: 0.6, $spread: 15px) {
64
+ &:focus {
65
+ outline: none;
66
+ box-shadow: 0 0 $spread rgba($color, $opacity);
67
+ }
68
+ }
69
+
70
+ ///
71
+ /// Focus outline (dashed style).
72
+ ///
73
+ /// @param {Color} $color [$focus-color-purple] - Outline color.
74
+ /// @param {Length} $width [3px] - Outline width.
75
+ /// @param {Length} $offset [3px] - Outline offset.
76
+ ///
77
+ @mixin focus_outline($color: $focus-color-purple, $width: 3px, $offset: 3px) {
78
+ &:focus {
79
+ outline: $width dashed $color;
80
+ outline-offset: $offset;
81
+ }
82
+ }
83
+
@@ -0,0 +1,130 @@
1
+ ////
2
+ ///
3
+ /// Gradient Effects Mixin Module
4
+ /// ===========================================================================
5
+ ///
6
+ /// This module provides mixins for creating linear, radial, and conic
7
+ /// gradient effects with customizable colors and directions.
8
+ ///
9
+ /// @group Effects
10
+ /// @author Scape Agency
11
+ /// @link https://move.gl
12
+ /// @since 0.1.0 initial release
13
+ /// @access public
14
+ ///
15
+ ////
16
+
17
+
18
+ // ============================================================================
19
+ // Use
20
+ // ============================================================================
21
+
22
+ @use "../../variables" as *;
23
+
24
+
25
+ // ============================================================================
26
+ // Linear Gradient Mixins
27
+ // ============================================================================
28
+
29
+ ///
30
+ /// Base linear gradient mixin.
31
+ ///
32
+ /// @param {String} $direction [to right] - Gradient direction.
33
+ /// @param {Color} $from [$gradient-from-default] - Start color.
34
+ /// @param {Color} $to [$gradient-to-default] - End color.
35
+ ///
36
+ @mixin gradient_linear($direction: to right, $from: $gradient-from-default, $to: $gradient-to-default) {
37
+ background: linear-gradient($direction, $from, $to);
38
+ }
39
+
40
+ /// Gradient to right
41
+ @mixin gradient_to_r($from: $gradient-from-default, $to: $gradient-to-default) {
42
+ background: linear-gradient(to right, var(--gradient-from, $from), var(--gradient-to, $to));
43
+ }
44
+
45
+ /// Gradient to left
46
+ @mixin gradient_to_l($from: $gradient-from-default, $to: $gradient-to-default) {
47
+ background: linear-gradient(to left, var(--gradient-from, $from), var(--gradient-to, $to));
48
+ }
49
+
50
+ /// Gradient to top
51
+ @mixin gradient_to_t($from: $gradient-from-default, $to: $gradient-to-default) {
52
+ background: linear-gradient(to top, var(--gradient-from, $from), var(--gradient-to, $to));
53
+ }
54
+
55
+ /// Gradient to bottom
56
+ @mixin gradient_to_b($from: $gradient-from-default, $to: $gradient-to-default) {
57
+ background: linear-gradient(to bottom, var(--gradient-from, $from), var(--gradient-to, $to));
58
+ }
59
+
60
+ /// Gradient to top right
61
+ @mixin gradient_to_tr($from: $gradient-from-default, $to: $gradient-to-default) {
62
+ background: linear-gradient(to top right, var(--gradient-from, $from), var(--gradient-to, $to));
63
+ }
64
+
65
+ /// Gradient to top left
66
+ @mixin gradient_to_tl($from: $gradient-from-default, $to: $gradient-to-default) {
67
+ background: linear-gradient(to top left, var(--gradient-from, $from), var(--gradient-to, $to));
68
+ }
69
+
70
+ /// Gradient to bottom right
71
+ @mixin gradient_to_br($from: $gradient-from-default, $to: $gradient-to-default) {
72
+ background: linear-gradient(to bottom right, var(--gradient-from, $from), var(--gradient-to, $to));
73
+ }
74
+
75
+ /// Gradient to bottom left
76
+ @mixin gradient_to_bl($from: $gradient-from-default, $to: $gradient-to-default) {
77
+ background: linear-gradient(to bottom left, var(--gradient-from, $from), var(--gradient-to, $to));
78
+ }
79
+
80
+
81
+ // ============================================================================
82
+ // Radial Gradient Mixins
83
+ // ============================================================================
84
+
85
+ ///
86
+ /// Base radial gradient mixin.
87
+ ///
88
+ /// @param {String} $position [circle] - Shape and position.
89
+ /// @param {Color} $from [$gradient-from-default] - Start color.
90
+ /// @param {Color} $to [$gradient-to-default] - End color.
91
+ ///
92
+ @mixin gradient_radial($position: circle, $from: $gradient-from-default, $to: $gradient-to-default) {
93
+ background: radial-gradient($position, var(--gradient-from, $from), var(--gradient-to, $to));
94
+ }
95
+
96
+ /// Radial gradient at top
97
+ @mixin gradient_radial_at_t($from: $gradient-from-default, $to: $gradient-to-default) {
98
+ background: radial-gradient(at top, var(--gradient-from, $from), var(--gradient-to, $to));
99
+ }
100
+
101
+ /// Radial gradient at bottom
102
+ @mixin gradient_radial_at_b($from: $gradient-from-default, $to: $gradient-to-default) {
103
+ background: radial-gradient(at bottom, var(--gradient-from, $from), var(--gradient-to, $to));
104
+ }
105
+
106
+ /// Radial gradient at left
107
+ @mixin gradient_radial_at_l($from: $gradient-from-default, $to: $gradient-to-default) {
108
+ background: radial-gradient(at left, var(--gradient-from, $from), var(--gradient-to, $to));
109
+ }
110
+
111
+ /// Radial gradient at right
112
+ @mixin gradient_radial_at_r($from: $gradient-from-default, $to: $gradient-to-default) {
113
+ background: radial-gradient(at right, var(--gradient-from, $from), var(--gradient-to, $to));
114
+ }
115
+
116
+
117
+ // ============================================================================
118
+ // Conic Gradient Mixins
119
+ // ============================================================================
120
+
121
+ ///
122
+ /// Base conic gradient mixin.
123
+ ///
124
+ /// @param {Color} $from [$gradient-from-default] - Start color.
125
+ /// @param {Color} $to [$gradient-to-default] - End color.
126
+ ///
127
+ @mixin gradient_conic($from: $gradient-from-default, $to: $gradient-to-default) {
128
+ background: conic-gradient(var(--gradient-from, $from), var(--gradient-to, $to));
129
+ }
130
+