@xpert-ai/plugin-motion 0.1.0

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 (2457) hide show
  1. package/.xpertai-plugin/plugin.json +163 -0
  2. package/README.md +51 -0
  3. package/assets/composerIcon.svg +5 -0
  4. package/assets/logo.svg +6 -0
  5. package/assets/upstream/ATTRIBUTION.md +42 -0
  6. package/assets/upstream/LICENSE +201 -0
  7. package/assets/upstream/MOTION-SPEC.md +127 -0
  8. package/assets/upstream/README.md +283 -0
  9. package/assets/upstream/SOURCES.md +107 -0
  10. package/assets/upstream/app/data/design-systems.js +469 -0
  11. package/assets/upstream/app/data/html-templates.json +1875 -0
  12. package/assets/upstream/app/data/recipes.js +1065 -0
  13. package/assets/upstream/app/data/reicon-icons.json +1 -0
  14. package/assets/upstream/app/data/video-templates.json +1305 -0
  15. package/assets/upstream/app/video/engine.js +638 -0
  16. package/assets/upstream/app/video/export.js +105 -0
  17. package/assets/upstream/app/video/html-capture.js +124 -0
  18. package/assets/upstream/recipes/animxyz/_runtime/animxyz.css +2 -0
  19. package/assets/upstream/recipes/animxyz/xyz-fade-big/SKILL.md +40 -0
  20. package/assets/upstream/recipes/animxyz/xyz-fade-big/preview.html +26 -0
  21. package/assets/upstream/recipes/animxyz/xyz-fade-big/recipe.motion.yaml +52 -0
  22. package/assets/upstream/recipes/animxyz/xyz-fade-down/SKILL.md +40 -0
  23. package/assets/upstream/recipes/animxyz/xyz-fade-down/preview.html +26 -0
  24. package/assets/upstream/recipes/animxyz/xyz-fade-down/recipe.motion.yaml +52 -0
  25. package/assets/upstream/recipes/animxyz/xyz-fade-left/SKILL.md +40 -0
  26. package/assets/upstream/recipes/animxyz/xyz-fade-left/preview.html +26 -0
  27. package/assets/upstream/recipes/animxyz/xyz-fade-left/recipe.motion.yaml +52 -0
  28. package/assets/upstream/recipes/animxyz/xyz-fade-right/SKILL.md +40 -0
  29. package/assets/upstream/recipes/animxyz/xyz-fade-right/preview.html +26 -0
  30. package/assets/upstream/recipes/animxyz/xyz-fade-right/recipe.motion.yaml +52 -0
  31. package/assets/upstream/recipes/animxyz/xyz-fade-small/SKILL.md +40 -0
  32. package/assets/upstream/recipes/animxyz/xyz-fade-small/preview.html +26 -0
  33. package/assets/upstream/recipes/animxyz/xyz-fade-small/recipe.motion.yaml +52 -0
  34. package/assets/upstream/recipes/animxyz/xyz-fade-up/SKILL.md +40 -0
  35. package/assets/upstream/recipes/animxyz/xyz-fade-up/preview.html +26 -0
  36. package/assets/upstream/recipes/animxyz/xyz-fade-up/recipe.motion.yaml +52 -0
  37. package/assets/upstream/recipes/animxyz/xyz-flip-left/SKILL.md +40 -0
  38. package/assets/upstream/recipes/animxyz/xyz-flip-left/preview.html +26 -0
  39. package/assets/upstream/recipes/animxyz/xyz-flip-left/recipe.motion.yaml +52 -0
  40. package/assets/upstream/recipes/animxyz/xyz-flip-up/SKILL.md +40 -0
  41. package/assets/upstream/recipes/animxyz/xyz-flip-up/preview.html +26 -0
  42. package/assets/upstream/recipes/animxyz/xyz-flip-up/recipe.motion.yaml +52 -0
  43. package/assets/upstream/recipes/animxyz/xyz-rise-big/SKILL.md +40 -0
  44. package/assets/upstream/recipes/animxyz/xyz-rise-big/preview.html +26 -0
  45. package/assets/upstream/recipes/animxyz/xyz-rise-big/recipe.motion.yaml +52 -0
  46. package/assets/upstream/recipes/animxyz/xyz-rotate/SKILL.md +40 -0
  47. package/assets/upstream/recipes/animxyz/xyz-rotate/preview.html +26 -0
  48. package/assets/upstream/recipes/animxyz/xyz-rotate/recipe.motion.yaml +52 -0
  49. package/assets/upstream/recipes/app/bottom-sheet/SKILL.md +36 -0
  50. package/assets/upstream/recipes/app/bottom-sheet/bottom-sheet.css +9 -0
  51. package/assets/upstream/recipes/app/bottom-sheet/bottom-sheet.js +4 -0
  52. package/assets/upstream/recipes/app/bottom-sheet/preview.html +27 -0
  53. package/assets/upstream/recipes/app/bottom-sheet/recipe.motion.yaml +53 -0
  54. package/assets/upstream/recipes/app/button-press/SKILL.md +36 -0
  55. package/assets/upstream/recipes/app/button-press/button-press.css +4 -0
  56. package/assets/upstream/recipes/app/button-press/button-press.js +7 -0
  57. package/assets/upstream/recipes/app/button-press/preview.html +25 -0
  58. package/assets/upstream/recipes/app/button-press/recipe.motion.yaml +53 -0
  59. package/assets/upstream/recipes/app/checkbox-pop/SKILL.md +36 -0
  60. package/assets/upstream/recipes/app/checkbox-pop/checkbox-pop.css +7 -0
  61. package/assets/upstream/recipes/app/checkbox-pop/checkbox-pop.js +4 -0
  62. package/assets/upstream/recipes/app/checkbox-pop/preview.html +25 -0
  63. package/assets/upstream/recipes/app/checkbox-pop/recipe.motion.yaml +53 -0
  64. package/assets/upstream/recipes/app/ripple/SKILL.md +36 -0
  65. package/assets/upstream/recipes/app/ripple/preview.html +24 -0
  66. package/assets/upstream/recipes/app/ripple/recipe.motion.yaml +53 -0
  67. package/assets/upstream/recipes/app/ripple/ripple.css +5 -0
  68. package/assets/upstream/recipes/app/ripple/ripple.js +5 -0
  69. package/assets/upstream/recipes/app/tab-bar-slide/SKILL.md +36 -0
  70. package/assets/upstream/recipes/app/tab-bar-slide/preview.html +25 -0
  71. package/assets/upstream/recipes/app/tab-bar-slide/recipe.motion.yaml +53 -0
  72. package/assets/upstream/recipes/app/tab-bar-slide/tab-bar-slide.css +6 -0
  73. package/assets/upstream/recipes/app/tab-bar-slide/tab-bar-slide.js +5 -0
  74. package/assets/upstream/recipes/app/toast-pop/SKILL.md +36 -0
  75. package/assets/upstream/recipes/app/toast-pop/preview.html +23 -0
  76. package/assets/upstream/recipes/app/toast-pop/recipe.motion.yaml +53 -0
  77. package/assets/upstream/recipes/app/toast-pop/toast-pop.css +5 -0
  78. package/assets/upstream/recipes/app/toast-pop/toast-pop.js +4 -0
  79. package/assets/upstream/recipes/css/anim-backindown/SKILL.md +40 -0
  80. package/assets/upstream/recipes/css/anim-backindown/backInDown.css +24 -0
  81. package/assets/upstream/recipes/css/anim-backindown/preview.html +24 -0
  82. package/assets/upstream/recipes/css/anim-backindown/recipe.motion.yaml +52 -0
  83. package/assets/upstream/recipes/css/anim-backinleft/SKILL.md +40 -0
  84. package/assets/upstream/recipes/css/anim-backinleft/backInLeft.css +24 -0
  85. package/assets/upstream/recipes/css/anim-backinleft/preview.html +24 -0
  86. package/assets/upstream/recipes/css/anim-backinleft/recipe.motion.yaml +52 -0
  87. package/assets/upstream/recipes/css/anim-backinright/SKILL.md +40 -0
  88. package/assets/upstream/recipes/css/anim-backinright/backInRight.css +24 -0
  89. package/assets/upstream/recipes/css/anim-backinright/preview.html +24 -0
  90. package/assets/upstream/recipes/css/anim-backinright/recipe.motion.yaml +52 -0
  91. package/assets/upstream/recipes/css/anim-backinup/SKILL.md +40 -0
  92. package/assets/upstream/recipes/css/anim-backinup/backInUp.css +24 -0
  93. package/assets/upstream/recipes/css/anim-backinup/preview.html +24 -0
  94. package/assets/upstream/recipes/css/anim-backinup/recipe.motion.yaml +52 -0
  95. package/assets/upstream/recipes/css/anim-backoutdown/SKILL.md +40 -0
  96. package/assets/upstream/recipes/css/anim-backoutdown/backOutDown.css +24 -0
  97. package/assets/upstream/recipes/css/anim-backoutdown/preview.html +24 -0
  98. package/assets/upstream/recipes/css/anim-backoutdown/recipe.motion.yaml +52 -0
  99. package/assets/upstream/recipes/css/anim-backoutleft/SKILL.md +40 -0
  100. package/assets/upstream/recipes/css/anim-backoutleft/backOutLeft.css +24 -0
  101. package/assets/upstream/recipes/css/anim-backoutleft/preview.html +24 -0
  102. package/assets/upstream/recipes/css/anim-backoutleft/recipe.motion.yaml +52 -0
  103. package/assets/upstream/recipes/css/anim-backoutright/SKILL.md +40 -0
  104. package/assets/upstream/recipes/css/anim-backoutright/backOutRight.css +24 -0
  105. package/assets/upstream/recipes/css/anim-backoutright/preview.html +24 -0
  106. package/assets/upstream/recipes/css/anim-backoutright/recipe.motion.yaml +52 -0
  107. package/assets/upstream/recipes/css/anim-backoutup/SKILL.md +40 -0
  108. package/assets/upstream/recipes/css/anim-backoutup/backOutUp.css +24 -0
  109. package/assets/upstream/recipes/css/anim-backoutup/preview.html +24 -0
  110. package/assets/upstream/recipes/css/anim-backoutup/recipe.motion.yaml +52 -0
  111. package/assets/upstream/recipes/css/anim-bounce/SKILL.md +40 -0
  112. package/assets/upstream/recipes/css/anim-bounce/bounce.css +38 -0
  113. package/assets/upstream/recipes/css/anim-bounce/preview.html +24 -0
  114. package/assets/upstream/recipes/css/anim-bounce/recipe.motion.yaml +52 -0
  115. package/assets/upstream/recipes/css/anim-bouncein/SKILL.md +40 -0
  116. package/assets/upstream/recipes/css/anim-bouncein/bounceIn.css +46 -0
  117. package/assets/upstream/recipes/css/anim-bouncein/preview.html +24 -0
  118. package/assets/upstream/recipes/css/anim-bouncein/recipe.motion.yaml +52 -0
  119. package/assets/upstream/recipes/css/anim-bounceindown/SKILL.md +40 -0
  120. package/assets/upstream/recipes/css/anim-bounceindown/bounceInDown.css +39 -0
  121. package/assets/upstream/recipes/css/anim-bounceindown/preview.html +24 -0
  122. package/assets/upstream/recipes/css/anim-bounceindown/recipe.motion.yaml +52 -0
  123. package/assets/upstream/recipes/css/anim-bounceinleft/SKILL.md +40 -0
  124. package/assets/upstream/recipes/css/anim-bounceinleft/bounceInLeft.css +39 -0
  125. package/assets/upstream/recipes/css/anim-bounceinleft/preview.html +24 -0
  126. package/assets/upstream/recipes/css/anim-bounceinleft/recipe.motion.yaml +52 -0
  127. package/assets/upstream/recipes/css/anim-bounceinright/SKILL.md +40 -0
  128. package/assets/upstream/recipes/css/anim-bounceinright/bounceInRight.css +39 -0
  129. package/assets/upstream/recipes/css/anim-bounceinright/preview.html +24 -0
  130. package/assets/upstream/recipes/css/anim-bounceinright/recipe.motion.yaml +52 -0
  131. package/assets/upstream/recipes/css/anim-bounceinup/SKILL.md +40 -0
  132. package/assets/upstream/recipes/css/anim-bounceinup/bounceInUp.css +39 -0
  133. package/assets/upstream/recipes/css/anim-bounceinup/preview.html +24 -0
  134. package/assets/upstream/recipes/css/anim-bounceinup/recipe.motion.yaml +52 -0
  135. package/assets/upstream/recipes/css/anim-bounceout/SKILL.md +40 -0
  136. package/assets/upstream/recipes/css/anim-bounceout/bounceOut.css +25 -0
  137. package/assets/upstream/recipes/css/anim-bounceout/preview.html +24 -0
  138. package/assets/upstream/recipes/css/anim-bounceout/recipe.motion.yaml +52 -0
  139. package/assets/upstream/recipes/css/anim-bounceoutdown/SKILL.md +40 -0
  140. package/assets/upstream/recipes/css/anim-bounceoutdown/bounceOutDown.css +24 -0
  141. package/assets/upstream/recipes/css/anim-bounceoutdown/preview.html +24 -0
  142. package/assets/upstream/recipes/css/anim-bounceoutdown/recipe.motion.yaml +52 -0
  143. package/assets/upstream/recipes/css/anim-bounceoutleft/SKILL.md +40 -0
  144. package/assets/upstream/recipes/css/anim-bounceoutleft/bounceOutLeft.css +19 -0
  145. package/assets/upstream/recipes/css/anim-bounceoutleft/preview.html +24 -0
  146. package/assets/upstream/recipes/css/anim-bounceoutleft/recipe.motion.yaml +52 -0
  147. package/assets/upstream/recipes/css/anim-bounceoutright/SKILL.md +40 -0
  148. package/assets/upstream/recipes/css/anim-bounceoutright/bounceOutRight.css +19 -0
  149. package/assets/upstream/recipes/css/anim-bounceoutright/preview.html +24 -0
  150. package/assets/upstream/recipes/css/anim-bounceoutright/recipe.motion.yaml +52 -0
  151. package/assets/upstream/recipes/css/anim-bounceoutup/SKILL.md +40 -0
  152. package/assets/upstream/recipes/css/anim-bounceoutup/bounceOutUp.css +24 -0
  153. package/assets/upstream/recipes/css/anim-bounceoutup/preview.html +24 -0
  154. package/assets/upstream/recipes/css/anim-bounceoutup/recipe.motion.yaml +52 -0
  155. package/assets/upstream/recipes/css/anim-fadein/SKILL.md +40 -0
  156. package/assets/upstream/recipes/css/anim-fadein/fadeIn.css +17 -0
  157. package/assets/upstream/recipes/css/anim-fadein/preview.html +24 -0
  158. package/assets/upstream/recipes/css/anim-fadein/recipe.motion.yaml +52 -0
  159. package/assets/upstream/recipes/css/anim-fadeinbottomleft/SKILL.md +40 -0
  160. package/assets/upstream/recipes/css/anim-fadeinbottomleft/fadeInBottomLeft.css +18 -0
  161. package/assets/upstream/recipes/css/anim-fadeinbottomleft/preview.html +24 -0
  162. package/assets/upstream/recipes/css/anim-fadeinbottomleft/recipe.motion.yaml +52 -0
  163. package/assets/upstream/recipes/css/anim-fadeinbottomright/SKILL.md +40 -0
  164. package/assets/upstream/recipes/css/anim-fadeinbottomright/fadeInBottomRight.css +18 -0
  165. package/assets/upstream/recipes/css/anim-fadeinbottomright/preview.html +24 -0
  166. package/assets/upstream/recipes/css/anim-fadeinbottomright/recipe.motion.yaml +52 -0
  167. package/assets/upstream/recipes/css/anim-fadeindown/SKILL.md +40 -0
  168. package/assets/upstream/recipes/css/anim-fadeindown/fadeInDown.css +19 -0
  169. package/assets/upstream/recipes/css/anim-fadeindown/preview.html +24 -0
  170. package/assets/upstream/recipes/css/anim-fadeindown/recipe.motion.yaml +52 -0
  171. package/assets/upstream/recipes/css/anim-fadeindownbig/SKILL.md +40 -0
  172. package/assets/upstream/recipes/css/anim-fadeindownbig/fadeInDownBig.css +19 -0
  173. package/assets/upstream/recipes/css/anim-fadeindownbig/preview.html +24 -0
  174. package/assets/upstream/recipes/css/anim-fadeindownbig/recipe.motion.yaml +52 -0
  175. package/assets/upstream/recipes/css/anim-fadeinleft/SKILL.md +40 -0
  176. package/assets/upstream/recipes/css/anim-fadeinleft/fadeInLeft.css +19 -0
  177. package/assets/upstream/recipes/css/anim-fadeinleft/preview.html +24 -0
  178. package/assets/upstream/recipes/css/anim-fadeinleft/recipe.motion.yaml +52 -0
  179. package/assets/upstream/recipes/css/anim-fadeinleftbig/SKILL.md +40 -0
  180. package/assets/upstream/recipes/css/anim-fadeinleftbig/fadeInLeftBig.css +19 -0
  181. package/assets/upstream/recipes/css/anim-fadeinleftbig/preview.html +24 -0
  182. package/assets/upstream/recipes/css/anim-fadeinleftbig/recipe.motion.yaml +52 -0
  183. package/assets/upstream/recipes/css/anim-fadeinright/SKILL.md +40 -0
  184. package/assets/upstream/recipes/css/anim-fadeinright/fadeInRight.css +19 -0
  185. package/assets/upstream/recipes/css/anim-fadeinright/preview.html +24 -0
  186. package/assets/upstream/recipes/css/anim-fadeinright/recipe.motion.yaml +52 -0
  187. package/assets/upstream/recipes/css/anim-fadeinrightbig/SKILL.md +40 -0
  188. package/assets/upstream/recipes/css/anim-fadeinrightbig/fadeInRightBig.css +19 -0
  189. package/assets/upstream/recipes/css/anim-fadeinrightbig/preview.html +24 -0
  190. package/assets/upstream/recipes/css/anim-fadeinrightbig/recipe.motion.yaml +52 -0
  191. package/assets/upstream/recipes/css/anim-fadeintopleft/SKILL.md +40 -0
  192. package/assets/upstream/recipes/css/anim-fadeintopleft/fadeInTopLeft.css +18 -0
  193. package/assets/upstream/recipes/css/anim-fadeintopleft/preview.html +24 -0
  194. package/assets/upstream/recipes/css/anim-fadeintopleft/recipe.motion.yaml +52 -0
  195. package/assets/upstream/recipes/css/anim-fadeintopright/SKILL.md +40 -0
  196. package/assets/upstream/recipes/css/anim-fadeintopright/fadeInTopRight.css +18 -0
  197. package/assets/upstream/recipes/css/anim-fadeintopright/preview.html +24 -0
  198. package/assets/upstream/recipes/css/anim-fadeintopright/recipe.motion.yaml +52 -0
  199. package/assets/upstream/recipes/css/anim-fadeinup/SKILL.md +40 -0
  200. package/assets/upstream/recipes/css/anim-fadeinup/fadeInUp.css +19 -0
  201. package/assets/upstream/recipes/css/anim-fadeinup/preview.html +24 -0
  202. package/assets/upstream/recipes/css/anim-fadeinup/recipe.motion.yaml +52 -0
  203. package/assets/upstream/recipes/css/anim-fadeinupbig/SKILL.md +40 -0
  204. package/assets/upstream/recipes/css/anim-fadeinupbig/fadeInUpBig.css +19 -0
  205. package/assets/upstream/recipes/css/anim-fadeinupbig/preview.html +24 -0
  206. package/assets/upstream/recipes/css/anim-fadeinupbig/recipe.motion.yaml +52 -0
  207. package/assets/upstream/recipes/css/anim-fadeout/SKILL.md +40 -0
  208. package/assets/upstream/recipes/css/anim-fadeout/fadeOut.css +17 -0
  209. package/assets/upstream/recipes/css/anim-fadeout/preview.html +24 -0
  210. package/assets/upstream/recipes/css/anim-fadeout/recipe.motion.yaml +52 -0
  211. package/assets/upstream/recipes/css/anim-fadeoutbottomleft/SKILL.md +40 -0
  212. package/assets/upstream/recipes/css/anim-fadeoutbottomleft/fadeOutBottomLeft.css +18 -0
  213. package/assets/upstream/recipes/css/anim-fadeoutbottomleft/preview.html +24 -0
  214. package/assets/upstream/recipes/css/anim-fadeoutbottomleft/recipe.motion.yaml +52 -0
  215. package/assets/upstream/recipes/css/anim-fadeoutbottomright/SKILL.md +40 -0
  216. package/assets/upstream/recipes/css/anim-fadeoutbottomright/fadeOutBottomRight.css +18 -0
  217. package/assets/upstream/recipes/css/anim-fadeoutbottomright/preview.html +24 -0
  218. package/assets/upstream/recipes/css/anim-fadeoutbottomright/recipe.motion.yaml +52 -0
  219. package/assets/upstream/recipes/css/anim-fadeoutdown/SKILL.md +40 -0
  220. package/assets/upstream/recipes/css/anim-fadeoutdown/fadeOutDown.css +18 -0
  221. package/assets/upstream/recipes/css/anim-fadeoutdown/preview.html +24 -0
  222. package/assets/upstream/recipes/css/anim-fadeoutdown/recipe.motion.yaml +52 -0
  223. package/assets/upstream/recipes/css/anim-fadeoutdownbig/SKILL.md +40 -0
  224. package/assets/upstream/recipes/css/anim-fadeoutdownbig/fadeOutDownBig.css +18 -0
  225. package/assets/upstream/recipes/css/anim-fadeoutdownbig/preview.html +24 -0
  226. package/assets/upstream/recipes/css/anim-fadeoutdownbig/recipe.motion.yaml +52 -0
  227. package/assets/upstream/recipes/css/anim-fadeoutleft/SKILL.md +40 -0
  228. package/assets/upstream/recipes/css/anim-fadeoutleft/fadeOutLeft.css +18 -0
  229. package/assets/upstream/recipes/css/anim-fadeoutleft/preview.html +24 -0
  230. package/assets/upstream/recipes/css/anim-fadeoutleft/recipe.motion.yaml +52 -0
  231. package/assets/upstream/recipes/css/anim-fadeoutleftbig/SKILL.md +40 -0
  232. package/assets/upstream/recipes/css/anim-fadeoutleftbig/fadeOutLeftBig.css +18 -0
  233. package/assets/upstream/recipes/css/anim-fadeoutleftbig/preview.html +24 -0
  234. package/assets/upstream/recipes/css/anim-fadeoutleftbig/recipe.motion.yaml +52 -0
  235. package/assets/upstream/recipes/css/anim-fadeoutright/SKILL.md +40 -0
  236. package/assets/upstream/recipes/css/anim-fadeoutright/fadeOutRight.css +18 -0
  237. package/assets/upstream/recipes/css/anim-fadeoutright/preview.html +24 -0
  238. package/assets/upstream/recipes/css/anim-fadeoutright/recipe.motion.yaml +52 -0
  239. package/assets/upstream/recipes/css/anim-fadeoutrightbig/SKILL.md +40 -0
  240. package/assets/upstream/recipes/css/anim-fadeoutrightbig/fadeOutRightBig.css +18 -0
  241. package/assets/upstream/recipes/css/anim-fadeoutrightbig/preview.html +24 -0
  242. package/assets/upstream/recipes/css/anim-fadeoutrightbig/recipe.motion.yaml +52 -0
  243. package/assets/upstream/recipes/css/anim-fadeouttopleft/SKILL.md +40 -0
  244. package/assets/upstream/recipes/css/anim-fadeouttopleft/fadeOutTopLeft.css +18 -0
  245. package/assets/upstream/recipes/css/anim-fadeouttopleft/preview.html +24 -0
  246. package/assets/upstream/recipes/css/anim-fadeouttopleft/recipe.motion.yaml +52 -0
  247. package/assets/upstream/recipes/css/anim-fadeouttopright/SKILL.md +40 -0
  248. package/assets/upstream/recipes/css/anim-fadeouttopright/fadeOutTopRight.css +18 -0
  249. package/assets/upstream/recipes/css/anim-fadeouttopright/preview.html +24 -0
  250. package/assets/upstream/recipes/css/anim-fadeouttopright/recipe.motion.yaml +52 -0
  251. package/assets/upstream/recipes/css/anim-fadeoutup/SKILL.md +40 -0
  252. package/assets/upstream/recipes/css/anim-fadeoutup/fadeOutUp.css +18 -0
  253. package/assets/upstream/recipes/css/anim-fadeoutup/preview.html +24 -0
  254. package/assets/upstream/recipes/css/anim-fadeoutup/recipe.motion.yaml +52 -0
  255. package/assets/upstream/recipes/css/anim-fadeoutupbig/SKILL.md +40 -0
  256. package/assets/upstream/recipes/css/anim-fadeoutupbig/fadeOutUpBig.css +18 -0
  257. package/assets/upstream/recipes/css/anim-fadeoutupbig/preview.html +24 -0
  258. package/assets/upstream/recipes/css/anim-fadeoutupbig/recipe.motion.yaml +52 -0
  259. package/assets/upstream/recipes/css/anim-flash/SKILL.md +40 -0
  260. package/assets/upstream/recipes/css/anim-flash/flash.css +20 -0
  261. package/assets/upstream/recipes/css/anim-flash/preview.html +24 -0
  262. package/assets/upstream/recipes/css/anim-flash/recipe.motion.yaml +52 -0
  263. package/assets/upstream/recipes/css/anim-flip/SKILL.md +40 -0
  264. package/assets/upstream/recipes/css/anim-flip/flip.css +38 -0
  265. package/assets/upstream/recipes/css/anim-flip/preview.html +24 -0
  266. package/assets/upstream/recipes/css/anim-flip/recipe.motion.yaml +52 -0
  267. package/assets/upstream/recipes/css/anim-flipinx/SKILL.md +40 -0
  268. package/assets/upstream/recipes/css/anim-flipinx/flipInX.css +34 -0
  269. package/assets/upstream/recipes/css/anim-flipinx/preview.html +24 -0
  270. package/assets/upstream/recipes/css/anim-flipinx/recipe.motion.yaml +52 -0
  271. package/assets/upstream/recipes/css/anim-flipiny/SKILL.md +40 -0
  272. package/assets/upstream/recipes/css/anim-flipiny/flipInY.css +34 -0
  273. package/assets/upstream/recipes/css/anim-flipiny/preview.html +24 -0
  274. package/assets/upstream/recipes/css/anim-flipiny/recipe.motion.yaml +52 -0
  275. package/assets/upstream/recipes/css/anim-headshake/SKILL.md +40 -0
  276. package/assets/upstream/recipes/css/anim-headshake/headShake.css +34 -0
  277. package/assets/upstream/recipes/css/anim-headshake/preview.html +24 -0
  278. package/assets/upstream/recipes/css/anim-headshake/recipe.motion.yaml +52 -0
  279. package/assets/upstream/recipes/css/anim-heartbeat/SKILL.md +40 -0
  280. package/assets/upstream/recipes/css/anim-heartbeat/heartBeat.css +31 -0
  281. package/assets/upstream/recipes/css/anim-heartbeat/preview.html +24 -0
  282. package/assets/upstream/recipes/css/anim-heartbeat/recipe.motion.yaml +52 -0
  283. package/assets/upstream/recipes/css/anim-hinge/SKILL.md +40 -0
  284. package/assets/upstream/recipes/css/anim-hinge/hinge.css +33 -0
  285. package/assets/upstream/recipes/css/anim-hinge/preview.html +24 -0
  286. package/assets/upstream/recipes/css/anim-hinge/recipe.motion.yaml +52 -0
  287. package/assets/upstream/recipes/css/anim-jackinthebox/SKILL.md +40 -0
  288. package/assets/upstream/recipes/css/anim-jackinthebox/jackInTheBox.css +28 -0
  289. package/assets/upstream/recipes/css/anim-jackinthebox/preview.html +24 -0
  290. package/assets/upstream/recipes/css/anim-jackinthebox/recipe.motion.yaml +52 -0
  291. package/assets/upstream/recipes/css/anim-jello/SKILL.md +40 -0
  292. package/assets/upstream/recipes/css/anim-jello/jello.css +44 -0
  293. package/assets/upstream/recipes/css/anim-jello/preview.html +24 -0
  294. package/assets/upstream/recipes/css/anim-jello/recipe.motion.yaml +52 -0
  295. package/assets/upstream/recipes/css/anim-lightspeedinleft/SKILL.md +40 -0
  296. package/assets/upstream/recipes/css/anim-lightspeedinleft/lightSpeedInLeft.css +28 -0
  297. package/assets/upstream/recipes/css/anim-lightspeedinleft/preview.html +24 -0
  298. package/assets/upstream/recipes/css/anim-lightspeedinleft/recipe.motion.yaml +52 -0
  299. package/assets/upstream/recipes/css/anim-lightspeedinright/SKILL.md +40 -0
  300. package/assets/upstream/recipes/css/anim-lightspeedinright/lightSpeedInRight.css +28 -0
  301. package/assets/upstream/recipes/css/anim-lightspeedinright/preview.html +24 -0
  302. package/assets/upstream/recipes/css/anim-lightspeedinright/recipe.motion.yaml +52 -0
  303. package/assets/upstream/recipes/css/anim-pulse/SKILL.md +40 -0
  304. package/assets/upstream/recipes/css/anim-pulse/preview.html +24 -0
  305. package/assets/upstream/recipes/css/anim-pulse/pulse.css +24 -0
  306. package/assets/upstream/recipes/css/anim-pulse/recipe.motion.yaml +52 -0
  307. package/assets/upstream/recipes/css/anim-rollin/SKILL.md +40 -0
  308. package/assets/upstream/recipes/css/anim-rollin/preview.html +24 -0
  309. package/assets/upstream/recipes/css/anim-rollin/recipe.motion.yaml +52 -0
  310. package/assets/upstream/recipes/css/anim-rollin/rollIn.css +21 -0
  311. package/assets/upstream/recipes/css/anim-rollout/SKILL.md +40 -0
  312. package/assets/upstream/recipes/css/anim-rollout/preview.html +24 -0
  313. package/assets/upstream/recipes/css/anim-rollout/recipe.motion.yaml +52 -0
  314. package/assets/upstream/recipes/css/anim-rollout/rollOut.css +20 -0
  315. package/assets/upstream/recipes/css/anim-rotatein/SKILL.md +40 -0
  316. package/assets/upstream/recipes/css/anim-rotatein/preview.html +24 -0
  317. package/assets/upstream/recipes/css/anim-rotatein/recipe.motion.yaml +52 -0
  318. package/assets/upstream/recipes/css/anim-rotatein/rotateIn.css +20 -0
  319. package/assets/upstream/recipes/css/anim-rotateindownleft/SKILL.md +40 -0
  320. package/assets/upstream/recipes/css/anim-rotateindownleft/preview.html +24 -0
  321. package/assets/upstream/recipes/css/anim-rotateindownleft/recipe.motion.yaml +52 -0
  322. package/assets/upstream/recipes/css/anim-rotateindownleft/rotateInDownLeft.css +20 -0
  323. package/assets/upstream/recipes/css/anim-rotateindownright/SKILL.md +40 -0
  324. package/assets/upstream/recipes/css/anim-rotateindownright/preview.html +24 -0
  325. package/assets/upstream/recipes/css/anim-rotateindownright/recipe.motion.yaml +52 -0
  326. package/assets/upstream/recipes/css/anim-rotateindownright/rotateInDownRight.css +20 -0
  327. package/assets/upstream/recipes/css/anim-rotateinupleft/SKILL.md +40 -0
  328. package/assets/upstream/recipes/css/anim-rotateinupleft/preview.html +24 -0
  329. package/assets/upstream/recipes/css/anim-rotateinupleft/recipe.motion.yaml +52 -0
  330. package/assets/upstream/recipes/css/anim-rotateinupleft/rotateInUpLeft.css +20 -0
  331. package/assets/upstream/recipes/css/anim-rotateinupright/SKILL.md +40 -0
  332. package/assets/upstream/recipes/css/anim-rotateinupright/preview.html +24 -0
  333. package/assets/upstream/recipes/css/anim-rotateinupright/recipe.motion.yaml +52 -0
  334. package/assets/upstream/recipes/css/anim-rotateinupright/rotateInUpRight.css +20 -0
  335. package/assets/upstream/recipes/css/anim-rotateout/SKILL.md +40 -0
  336. package/assets/upstream/recipes/css/anim-rotateout/preview.html +24 -0
  337. package/assets/upstream/recipes/css/anim-rotateout/recipe.motion.yaml +52 -0
  338. package/assets/upstream/recipes/css/anim-rotateout/rotateOut.css +19 -0
  339. package/assets/upstream/recipes/css/anim-rotateoutdownleft/SKILL.md +40 -0
  340. package/assets/upstream/recipes/css/anim-rotateoutdownleft/preview.html +24 -0
  341. package/assets/upstream/recipes/css/anim-rotateoutdownleft/recipe.motion.yaml +52 -0
  342. package/assets/upstream/recipes/css/anim-rotateoutdownleft/rotateOutDownLeft.css +19 -0
  343. package/assets/upstream/recipes/css/anim-rotateoutdownright/SKILL.md +40 -0
  344. package/assets/upstream/recipes/css/anim-rotateoutdownright/preview.html +24 -0
  345. package/assets/upstream/recipes/css/anim-rotateoutdownright/recipe.motion.yaml +52 -0
  346. package/assets/upstream/recipes/css/anim-rotateoutdownright/rotateOutDownRight.css +19 -0
  347. package/assets/upstream/recipes/css/anim-rotateoutupleft/SKILL.md +40 -0
  348. package/assets/upstream/recipes/css/anim-rotateoutupleft/preview.html +24 -0
  349. package/assets/upstream/recipes/css/anim-rotateoutupleft/recipe.motion.yaml +52 -0
  350. package/assets/upstream/recipes/css/anim-rotateoutupleft/rotateOutUpLeft.css +19 -0
  351. package/assets/upstream/recipes/css/anim-rotateoutupright/SKILL.md +40 -0
  352. package/assets/upstream/recipes/css/anim-rotateoutupright/preview.html +24 -0
  353. package/assets/upstream/recipes/css/anim-rotateoutupright/recipe.motion.yaml +52 -0
  354. package/assets/upstream/recipes/css/anim-rotateoutupright/rotateOutUpRight.css +19 -0
  355. package/assets/upstream/recipes/css/anim-rubberband/SKILL.md +40 -0
  356. package/assets/upstream/recipes/css/anim-rubberband/preview.html +24 -0
  357. package/assets/upstream/recipes/css/anim-rubberband/recipe.motion.yaml +52 -0
  358. package/assets/upstream/recipes/css/anim-rubberband/rubberBand.css +37 -0
  359. package/assets/upstream/recipes/css/anim-shake/SKILL.md +40 -0
  360. package/assets/upstream/recipes/css/anim-shake/preview.html +24 -0
  361. package/assets/upstream/recipes/css/anim-shake/recipe.motion.yaml +52 -0
  362. package/assets/upstream/recipes/css/anim-shake/shake.css +29 -0
  363. package/assets/upstream/recipes/css/anim-shakex/SKILL.md +40 -0
  364. package/assets/upstream/recipes/css/anim-shakex/preview.html +24 -0
  365. package/assets/upstream/recipes/css/anim-shakex/recipe.motion.yaml +52 -0
  366. package/assets/upstream/recipes/css/anim-shakex/shakeX.css +29 -0
  367. package/assets/upstream/recipes/css/anim-shakey/SKILL.md +40 -0
  368. package/assets/upstream/recipes/css/anim-shakey/preview.html +24 -0
  369. package/assets/upstream/recipes/css/anim-shakey/recipe.motion.yaml +52 -0
  370. package/assets/upstream/recipes/css/anim-shakey/shakeY.css +29 -0
  371. package/assets/upstream/recipes/css/anim-slideindown/SKILL.md +40 -0
  372. package/assets/upstream/recipes/css/anim-slideindown/preview.html +24 -0
  373. package/assets/upstream/recipes/css/anim-slideindown/recipe.motion.yaml +52 -0
  374. package/assets/upstream/recipes/css/anim-slideindown/slideInDown.css +18 -0
  375. package/assets/upstream/recipes/css/anim-slideinleft/SKILL.md +40 -0
  376. package/assets/upstream/recipes/css/anim-slideinleft/preview.html +24 -0
  377. package/assets/upstream/recipes/css/anim-slideinleft/recipe.motion.yaml +52 -0
  378. package/assets/upstream/recipes/css/anim-slideinleft/slideInLeft.css +18 -0
  379. package/assets/upstream/recipes/css/anim-slideinright/SKILL.md +40 -0
  380. package/assets/upstream/recipes/css/anim-slideinright/preview.html +24 -0
  381. package/assets/upstream/recipes/css/anim-slideinright/recipe.motion.yaml +52 -0
  382. package/assets/upstream/recipes/css/anim-slideinright/slideInRight.css +18 -0
  383. package/assets/upstream/recipes/css/anim-slideinup/SKILL.md +40 -0
  384. package/assets/upstream/recipes/css/anim-slideinup/preview.html +24 -0
  385. package/assets/upstream/recipes/css/anim-slideinup/recipe.motion.yaml +52 -0
  386. package/assets/upstream/recipes/css/anim-slideinup/slideInUp.css +18 -0
  387. package/assets/upstream/recipes/css/anim-slideoutdown/SKILL.md +40 -0
  388. package/assets/upstream/recipes/css/anim-slideoutdown/preview.html +24 -0
  389. package/assets/upstream/recipes/css/anim-slideoutdown/recipe.motion.yaml +52 -0
  390. package/assets/upstream/recipes/css/anim-slideoutdown/slideOutDown.css +18 -0
  391. package/assets/upstream/recipes/css/anim-slideoutleft/SKILL.md +40 -0
  392. package/assets/upstream/recipes/css/anim-slideoutleft/preview.html +24 -0
  393. package/assets/upstream/recipes/css/anim-slideoutleft/recipe.motion.yaml +52 -0
  394. package/assets/upstream/recipes/css/anim-slideoutleft/slideOutLeft.css +18 -0
  395. package/assets/upstream/recipes/css/anim-slideoutright/SKILL.md +40 -0
  396. package/assets/upstream/recipes/css/anim-slideoutright/preview.html +24 -0
  397. package/assets/upstream/recipes/css/anim-slideoutright/recipe.motion.yaml +52 -0
  398. package/assets/upstream/recipes/css/anim-slideoutright/slideOutRight.css +18 -0
  399. package/assets/upstream/recipes/css/anim-slideoutup/SKILL.md +40 -0
  400. package/assets/upstream/recipes/css/anim-slideoutup/preview.html +24 -0
  401. package/assets/upstream/recipes/css/anim-slideoutup/recipe.motion.yaml +52 -0
  402. package/assets/upstream/recipes/css/anim-slideoutup/slideOutUp.css +18 -0
  403. package/assets/upstream/recipes/css/anim-swing/SKILL.md +40 -0
  404. package/assets/upstream/recipes/css/anim-swing/preview.html +24 -0
  405. package/assets/upstream/recipes/css/anim-swing/recipe.motion.yaml +52 -0
  406. package/assets/upstream/recipes/css/anim-swing/swing.css +30 -0
  407. package/assets/upstream/recipes/css/anim-tada/SKILL.md +40 -0
  408. package/assets/upstream/recipes/css/anim-tada/preview.html +24 -0
  409. package/assets/upstream/recipes/css/anim-tada/recipe.motion.yaml +52 -0
  410. package/assets/upstream/recipes/css/anim-tada/tada.css +35 -0
  411. package/assets/upstream/recipes/css/anim-wobble/SKILL.md +40 -0
  412. package/assets/upstream/recipes/css/anim-wobble/preview.html +24 -0
  413. package/assets/upstream/recipes/css/anim-wobble/recipe.motion.yaml +52 -0
  414. package/assets/upstream/recipes/css/anim-wobble/wobble.css +39 -0
  415. package/assets/upstream/recipes/css/anim-zoomin/SKILL.md +40 -0
  416. package/assets/upstream/recipes/css/anim-zoomin/preview.html +24 -0
  417. package/assets/upstream/recipes/css/anim-zoomin/recipe.motion.yaml +52 -0
  418. package/assets/upstream/recipes/css/anim-zoomin/zoomIn.css +18 -0
  419. package/assets/upstream/recipes/css/anim-zoomindown/SKILL.md +40 -0
  420. package/assets/upstream/recipes/css/anim-zoomindown/preview.html +24 -0
  421. package/assets/upstream/recipes/css/anim-zoomindown/recipe.motion.yaml +52 -0
  422. package/assets/upstream/recipes/css/anim-zoomindown/zoomInDown.css +21 -0
  423. package/assets/upstream/recipes/css/anim-zoominleft/SKILL.md +40 -0
  424. package/assets/upstream/recipes/css/anim-zoominleft/preview.html +24 -0
  425. package/assets/upstream/recipes/css/anim-zoominleft/recipe.motion.yaml +52 -0
  426. package/assets/upstream/recipes/css/anim-zoominleft/zoomInLeft.css +21 -0
  427. package/assets/upstream/recipes/css/anim-zoominright/SKILL.md +40 -0
  428. package/assets/upstream/recipes/css/anim-zoominright/preview.html +24 -0
  429. package/assets/upstream/recipes/css/anim-zoominright/recipe.motion.yaml +52 -0
  430. package/assets/upstream/recipes/css/anim-zoominright/zoomInRight.css +21 -0
  431. package/assets/upstream/recipes/css/anim-zoominup/SKILL.md +40 -0
  432. package/assets/upstream/recipes/css/anim-zoominup/preview.html +24 -0
  433. package/assets/upstream/recipes/css/anim-zoominup/recipe.motion.yaml +52 -0
  434. package/assets/upstream/recipes/css/anim-zoominup/zoomInUp.css +21 -0
  435. package/assets/upstream/recipes/css/anim-zoomout/SKILL.md +40 -0
  436. package/assets/upstream/recipes/css/anim-zoomout/preview.html +24 -0
  437. package/assets/upstream/recipes/css/anim-zoomout/recipe.motion.yaml +52 -0
  438. package/assets/upstream/recipes/css/anim-zoomout/zoomOut.css +22 -0
  439. package/assets/upstream/recipes/css/anim-zoomoutdown/SKILL.md +40 -0
  440. package/assets/upstream/recipes/css/anim-zoomoutdown/preview.html +24 -0
  441. package/assets/upstream/recipes/css/anim-zoomoutdown/recipe.motion.yaml +52 -0
  442. package/assets/upstream/recipes/css/anim-zoomoutdown/zoomOutDown.css +22 -0
  443. package/assets/upstream/recipes/css/anim-zoomoutleft/SKILL.md +40 -0
  444. package/assets/upstream/recipes/css/anim-zoomoutleft/preview.html +24 -0
  445. package/assets/upstream/recipes/css/anim-zoomoutleft/recipe.motion.yaml +52 -0
  446. package/assets/upstream/recipes/css/anim-zoomoutleft/zoomOutLeft.css +20 -0
  447. package/assets/upstream/recipes/css/anim-zoomoutright/SKILL.md +40 -0
  448. package/assets/upstream/recipes/css/anim-zoomoutright/preview.html +24 -0
  449. package/assets/upstream/recipes/css/anim-zoomoutright/recipe.motion.yaml +52 -0
  450. package/assets/upstream/recipes/css/anim-zoomoutright/zoomOutRight.css +20 -0
  451. package/assets/upstream/recipes/css/anim-zoomoutup/SKILL.md +40 -0
  452. package/assets/upstream/recipes/css/anim-zoomoutup/preview.html +24 -0
  453. package/assets/upstream/recipes/css/anim-zoomoutup/recipe.motion.yaml +52 -0
  454. package/assets/upstream/recipes/css/anim-zoomoutup/zoomOutUp.css +22 -0
  455. package/assets/upstream/recipes/imported/animated-content/AnimatedContent.jsx +116 -0
  456. package/assets/upstream/recipes/imported/animated-list/AnimatedList.css +70 -0
  457. package/assets/upstream/recipes/imported/animated-list/AnimatedList.jsx +151 -0
  458. package/assets/upstream/recipes/imported/antigravity/Antigravity.jsx +179 -0
  459. package/assets/upstream/recipes/imported/ascii-text/ASCIIText.jsx +533 -0
  460. package/assets/upstream/recipes/imported/aurora/Aurora.css +4 -0
  461. package/assets/upstream/recipes/imported/aurora/Aurora.jsx +202 -0
  462. package/assets/upstream/recipes/imported/balatro/Balatro.css +4 -0
  463. package/assets/upstream/recipes/imported/balatro/Balatro.jsx +212 -0
  464. package/assets/upstream/recipes/imported/ballpit/Ballpit.jsx +745 -0
  465. package/assets/upstream/recipes/imported/beams/Beams.css +5 -0
  466. package/assets/upstream/recipes/imported/beams/Beams.jsx +308 -0
  467. package/assets/upstream/recipes/imported/blob-cursor/BlobCursor.css +28 -0
  468. package/assets/upstream/recipes/imported/blob-cursor/BlobCursor.jsx +112 -0
  469. package/assets/upstream/recipes/imported/blur-text/BlurText.jsx +102 -0
  470. package/assets/upstream/recipes/imported/border-glow/BorderGlow.css +141 -0
  471. package/assets/upstream/recipes/imported/border-glow/BorderGlow.jsx +156 -0
  472. package/assets/upstream/recipes/imported/bounce-cards/BounceCards.css +24 -0
  473. package/assets/upstream/recipes/imported/bounce-cards/BounceCards.jsx +142 -0
  474. package/assets/upstream/recipes/imported/bubble-menu/BubbleMenu.css +268 -0
  475. package/assets/upstream/recipes/imported/bubble-menu/BubbleMenu.jsx +214 -0
  476. package/assets/upstream/recipes/imported/card-nav/CardNav.css +209 -0
  477. package/assets/upstream/recipes/imported/card-nav/CardNav.jsx +197 -0
  478. package/assets/upstream/recipes/imported/card-swap/CardSwap.css +36 -0
  479. package/assets/upstream/recipes/imported/card-swap/CardSwap.jsx +181 -0
  480. package/assets/upstream/recipes/imported/carousel/Carousel.css +143 -0
  481. package/assets/upstream/recipes/imported/carousel/Carousel.jsx +265 -0
  482. package/assets/upstream/recipes/imported/chroma-grid/ChromaGrid.css +174 -0
  483. package/assets/upstream/recipes/imported/chroma-grid/ChromaGrid.jsx +174 -0
  484. package/assets/upstream/recipes/imported/circular-gallery/CircularGallery.css +15 -0
  485. package/assets/upstream/recipes/imported/circular-gallery/CircularGallery.jsx +633 -0
  486. package/assets/upstream/recipes/imported/circular-text/CircularText.css +25 -0
  487. package/assets/upstream/recipes/imported/circular-text/CircularText.jsx +109 -0
  488. package/assets/upstream/recipes/imported/click-spark/ClickSpark.jsx +161 -0
  489. package/assets/upstream/recipes/imported/color-bends/ColorBends.css +6 -0
  490. package/assets/upstream/recipes/imported/color-bends/ColorBends.jsx +317 -0
  491. package/assets/upstream/recipes/imported/count-up/CountUp.jsx +101 -0
  492. package/assets/upstream/recipes/imported/counter/Counter.css +42 -0
  493. package/assets/upstream/recipes/imported/counter/Counter.jsx +126 -0
  494. package/assets/upstream/recipes/imported/crosshair/Crosshair.jsx +195 -0
  495. package/assets/upstream/recipes/imported/cubes/Cubes.css +80 -0
  496. package/assets/upstream/recipes/imported/cubes/Cubes.jsx +287 -0
  497. package/assets/upstream/recipes/imported/curved-loop/CurvedLoop.css +23 -0
  498. package/assets/upstream/recipes/imported/curved-loop/CurvedLoop.jsx +135 -0
  499. package/assets/upstream/recipes/imported/dark-veil/DarkVeil.css +5 -0
  500. package/assets/upstream/recipes/imported/dark-veil/DarkVeil.jsx +147 -0
  501. package/assets/upstream/recipes/imported/decay-card/DecayCard.css +25 -0
  502. package/assets/upstream/recipes/imported/decay-card/DecayCard.jsx +149 -0
  503. package/assets/upstream/recipes/imported/decrypted-text/DecryptedText.jsx +384 -0
  504. package/assets/upstream/recipes/imported/dither/Dither.css +5 -0
  505. package/assets/upstream/recipes/imported/dither/Dither.jsx +296 -0
  506. package/assets/upstream/recipes/imported/dock/Dock.css +57 -0
  507. package/assets/upstream/recipes/imported/dock/Dock.jsx +143 -0
  508. package/assets/upstream/recipes/imported/dome-gallery/DomeGallery.css +198 -0
  509. package/assets/upstream/recipes/imported/dome-gallery/DomeGallery.jsx +651 -0
  510. package/assets/upstream/recipes/imported/dot-field/DotField.css +5 -0
  511. package/assets/upstream/recipes/imported/dot-field/DotField.jsx +274 -0
  512. package/assets/upstream/recipes/imported/dot-grid/DotGrid.css +22 -0
  513. package/assets/upstream/recipes/imported/dot-grid/DotGrid.jsx +268 -0
  514. package/assets/upstream/recipes/imported/elastic-slider/ElasticSlider.css +75 -0
  515. package/assets/upstream/recipes/imported/elastic-slider/ElasticSlider.jsx +185 -0
  516. package/assets/upstream/recipes/imported/electric-border/ElectricBorder.css +62 -0
  517. package/assets/upstream/recipes/imported/electric-border/ElectricBorder.jsx +297 -0
  518. package/assets/upstream/recipes/imported/evil-eye/EvilEye.css +4 -0
  519. package/assets/upstream/recipes/imported/evil-eye/EvilEye.jsx +266 -0
  520. package/assets/upstream/recipes/imported/fade-content/FadeContent.jsx +94 -0
  521. package/assets/upstream/recipes/imported/falling-text/FallingText.css +31 -0
  522. package/assets/upstream/recipes/imported/falling-text/FallingText.jsx +190 -0
  523. package/assets/upstream/recipes/imported/faulty-terminal/FaultyTerminal.css +6 -0
  524. package/assets/upstream/recipes/imported/faulty-terminal/FaultyTerminal.jsx +400 -0
  525. package/assets/upstream/recipes/imported/ferrofluid/Ferrofluid.css +6 -0
  526. package/assets/upstream/recipes/imported/ferrofluid/Ferrofluid.jsx +381 -0
  527. package/assets/upstream/recipes/imported/floating-lines/FloatingLines.css +6 -0
  528. package/assets/upstream/recipes/imported/floating-lines/FloatingLines.jsx +491 -0
  529. package/assets/upstream/recipes/imported/flowing-menu/FlowingMenu.css +98 -0
  530. package/assets/upstream/recipes/imported/flowing-menu/FlowingMenu.jsx +165 -0
  531. package/assets/upstream/recipes/imported/fluid-glass/FluidGlass.jsx +277 -0
  532. package/assets/upstream/recipes/imported/flying-posters/FlyingPosters.css +13 -0
  533. package/assets/upstream/recipes/imported/flying-posters/FlyingPosters.jsx +495 -0
  534. package/assets/upstream/recipes/imported/folder/Folder.css +128 -0
  535. package/assets/upstream/recipes/imported/folder/Folder.jsx +122 -0
  536. package/assets/upstream/recipes/imported/fuzzy-text/FuzzyText.jsx +335 -0
  537. package/assets/upstream/recipes/imported/galaxy/Galaxy.css +5 -0
  538. package/assets/upstream/recipes/imported/galaxy/Galaxy.jsx +333 -0
  539. package/assets/upstream/recipes/imported/ghost-cursor/GhostCursor.css +12 -0
  540. package/assets/upstream/recipes/imported/ghost-cursor/GhostCursor.jsx +525 -0
  541. package/assets/upstream/recipes/imported/glare-hover/GlareHover.css +53 -0
  542. package/assets/upstream/recipes/imported/glare-hover/GlareHover.jsx +55 -0
  543. package/assets/upstream/recipes/imported/glass-icons/GlassIcons.css +102 -0
  544. package/assets/upstream/recipes/imported/glass-icons/GlassIcons.jsx +37 -0
  545. package/assets/upstream/recipes/imported/glass-surface/GlassSurface.css +105 -0
  546. package/assets/upstream/recipes/imported/glass-surface/GlassSurface.jsx +232 -0
  547. package/assets/upstream/recipes/imported/glitch-text/GlitchText.css +120 -0
  548. package/assets/upstream/recipes/imported/glitch-text/GlitchText.jsx +20 -0
  549. package/assets/upstream/recipes/imported/gooey-nav/GooeyNav.css +230 -0
  550. package/assets/upstream/recipes/imported/gooey-nav/GooeyNav.jsx +168 -0
  551. package/assets/upstream/recipes/imported/gradient-blinds/GradientBlinds.css +6 -0
  552. package/assets/upstream/recipes/imported/gradient-blinds/GradientBlinds.jsx +348 -0
  553. package/assets/upstream/recipes/imported/gradient-text/GradientText.css +54 -0
  554. package/assets/upstream/recipes/imported/gradient-text/GradientText.jsx +99 -0
  555. package/assets/upstream/recipes/imported/gradual-blur/GradualBlur.css +31 -0
  556. package/assets/upstream/recipes/imported/gradual-blur/GradualBlur.jsx +253 -0
  557. package/assets/upstream/recipes/imported/grainient/Grainient.css +6 -0
  558. package/assets/upstream/recipes/imported/grainient/Grainient.jsx +285 -0
  559. package/assets/upstream/recipes/imported/grid-distortion/GridDistortion.css +5 -0
  560. package/assets/upstream/recipes/imported/grid-distortion/GridDistortion.jsx +262 -0
  561. package/assets/upstream/recipes/imported/grid-motion/GridMotion.css +95 -0
  562. package/assets/upstream/recipes/imported/grid-motion/GridMotion.jsx +90 -0
  563. package/assets/upstream/recipes/imported/grid-scan/GridScan.css +44 -0
  564. package/assets/upstream/recipes/imported/grid-scan/GridScan.jsx +895 -0
  565. package/assets/upstream/recipes/imported/hyperspeed/HyperSpeedPresets.js +225 -0
  566. package/assets/upstream/recipes/imported/hyperspeed/Hyperspeed.css +11 -0
  567. package/assets/upstream/recipes/imported/hyperspeed/Hyperspeed.jsx +1183 -0
  568. package/assets/upstream/recipes/imported/image-trail/ImageTrail.css +31 -0
  569. package/assets/upstream/recipes/imported/image-trail/ImageTrail.jsx +1078 -0
  570. package/assets/upstream/recipes/imported/infinite-menu/InfiniteMenu.css +117 -0
  571. package/assets/upstream/recipes/imported/infinite-menu/InfiniteMenu.jsx +978 -0
  572. package/assets/upstream/recipes/imported/iridescence/Iridescence.css +4 -0
  573. package/assets/upstream/recipes/imported/iridescence/Iridescence.jsx +127 -0
  574. package/assets/upstream/recipes/imported/lanyard/Lanyard.css +11 -0
  575. package/assets/upstream/recipes/imported/lanyard/Lanyard.jsx +284 -0
  576. package/assets/upstream/recipes/imported/lanyard/card.glb +0 -0
  577. package/assets/upstream/recipes/imported/lanyard/lanyard.png +0 -0
  578. package/assets/upstream/recipes/imported/laser-flow/LaserFlow.css +6 -0
  579. package/assets/upstream/recipes/imported/laser-flow/LaserFlow.jsx +584 -0
  580. package/assets/upstream/recipes/imported/letter-glitch/LetterGlitch.jsx +244 -0
  581. package/assets/upstream/recipes/imported/light-pillar/LightPillar.css +21 -0
  582. package/assets/upstream/recipes/imported/light-pillar/LightPillar.jsx +380 -0
  583. package/assets/upstream/recipes/imported/light-rays/LightRays.css +8 -0
  584. package/assets/upstream/recipes/imported/light-rays/LightRays.jsx +399 -0
  585. package/assets/upstream/recipes/imported/lightfall/Lightfall.css +6 -0
  586. package/assets/upstream/recipes/imported/lightfall/Lightfall.jsx +362 -0
  587. package/assets/upstream/recipes/imported/lightning/Lightning.css +5 -0
  588. package/assets/upstream/recipes/imported/lightning/Lightning.jsx +182 -0
  589. package/assets/upstream/recipes/imported/line-waves/LineWaves.css +4 -0
  590. package/assets/upstream/recipes/imported/line-waves/LineWaves.jsx +249 -0
  591. package/assets/upstream/recipes/imported/liquid-chrome/LiquidChrome.css +4 -0
  592. package/assets/upstream/recipes/imported/liquid-chrome/LiquidChrome.jsx +161 -0
  593. package/assets/upstream/recipes/imported/liquid-ether/LiquidEther.css +7 -0
  594. package/assets/upstream/recipes/imported/liquid-ether/LiquidEther.jsx +1168 -0
  595. package/assets/upstream/recipes/imported/logo-loop/LogoLoop.css +183 -0
  596. package/assets/upstream/recipes/imported/logo-loop/LogoLoop.jsx +319 -0
  597. package/assets/upstream/recipes/imported/magic-bento/MagicBento.css +217 -0
  598. package/assets/upstream/recipes/imported/magic-bento/MagicBento.jsx +663 -0
  599. package/assets/upstream/recipes/imported/magic-rings/MagicRings.css +4 -0
  600. package/assets/upstream/recipes/imported/magic-rings/MagicRings.jsx +240 -0
  601. package/assets/upstream/recipes/imported/magnet/Magnet.jsx +75 -0
  602. package/assets/upstream/recipes/imported/magnet-lines/MagnetLines.css +18 -0
  603. package/assets/upstream/recipes/imported/magnet-lines/MagnetLines.jsx +80 -0
  604. package/assets/upstream/recipes/imported/masonry/Masonry.css +27 -0
  605. package/assets/upstream/recipes/imported/masonry/Masonry.jsx +253 -0
  606. package/assets/upstream/recipes/imported/meta-balls/MetaBalls.css +5 -0
  607. package/assets/upstream/recipes/imported/meta-balls/MetaBalls.jsx +279 -0
  608. package/assets/upstream/recipes/imported/metallic-paint/MetallicPaint.css +6 -0
  609. package/assets/upstream/recipes/imported/metallic-paint/MetallicPaint.jsx +507 -0
  610. package/assets/upstream/recipes/imported/model-viewer/ModelViewer.jsx +473 -0
  611. package/assets/upstream/recipes/imported/noise/Noise.css +8 -0
  612. package/assets/upstream/recipes/imported/noise/Noise.jsx +69 -0
  613. package/assets/upstream/recipes/imported/orb/Orb.css +6 -0
  614. package/assets/upstream/recipes/imported/orb/Orb.jsx +341 -0
  615. package/assets/upstream/recipes/imported/orbit-images/OrbitImages.css +52 -0
  616. package/assets/upstream/recipes/imported/orbit-images/OrbitImages.jsx +255 -0
  617. package/assets/upstream/recipes/imported/particles/Particles.css +5 -0
  618. package/assets/upstream/recipes/imported/particles/Particles.jsx +244 -0
  619. package/assets/upstream/recipes/imported/pill-nav/PillNav.css +237 -0
  620. package/assets/upstream/recipes/imported/pill-nav/PillNav.jsx +351 -0
  621. package/assets/upstream/recipes/imported/pixel-blast/PixelBlast.css +6 -0
  622. package/assets/upstream/recipes/imported/pixel-blast/PixelBlast.jsx +609 -0
  623. package/assets/upstream/recipes/imported/pixel-card/PixelCard.css +36 -0
  624. package/assets/upstream/recipes/imported/pixel-card/PixelCard.jsx +241 -0
  625. package/assets/upstream/recipes/imported/pixel-snow/PixelSnow.css +16 -0
  626. package/assets/upstream/recipes/imported/pixel-snow/PixelSnow.jsx +356 -0
  627. package/assets/upstream/recipes/imported/pixel-trail/PixelTrail.css +10 -0
  628. package/assets/upstream/recipes/imported/pixel-trail/PixelTrail.jsx +139 -0
  629. package/assets/upstream/recipes/imported/pixel-transition/PixelTransition.css +43 -0
  630. package/assets/upstream/recipes/imported/pixel-transition/PixelTransition.jsx +128 -0
  631. package/assets/upstream/recipes/imported/plasma/Plasma.css +6 -0
  632. package/assets/upstream/recipes/imported/plasma/Plasma.jsx +240 -0
  633. package/assets/upstream/recipes/imported/plasma-wave/PlasmaWave.css +4 -0
  634. package/assets/upstream/recipes/imported/plasma-wave/PlasmaWave.jsx +239 -0
  635. package/assets/upstream/recipes/imported/prism/Prism.css +5 -0
  636. package/assets/upstream/recipes/imported/prism/Prism.jsx +436 -0
  637. package/assets/upstream/recipes/imported/prismatic-burst/PrismaticBurst.css +6 -0
  638. package/assets/upstream/recipes/imported/prismatic-burst/PrismaticBurst.jsx +475 -0
  639. package/assets/upstream/recipes/imported/profile-card/ProfileCard.css +562 -0
  640. package/assets/upstream/recipes/imported/profile-card/ProfileCard.jsx +372 -0
  641. package/assets/upstream/recipes/imported/radar/Radar.css +4 -0
  642. package/assets/upstream/recipes/imported/radar/Radar.jsx +206 -0
  643. package/assets/upstream/recipes/imported/reflective-card/ReflectiveCard.css +182 -0
  644. package/assets/upstream/recipes/imported/reflective-card/ReflectiveCard.jsx +149 -0
  645. package/assets/upstream/recipes/imported/ribbons/Ribbons.css +5 -0
  646. package/assets/upstream/recipes/imported/ribbons/Ribbons.jsx +237 -0
  647. package/assets/upstream/recipes/imported/ripple-grid/RippleGrid.css +6 -0
  648. package/assets/upstream/recipes/imported/ripple-grid/RippleGrid.jsx +277 -0
  649. package/assets/upstream/recipes/imported/rotating-text/RotatingText.css +36 -0
  650. package/assets/upstream/recipes/imported/rotating-text/RotatingText.jsx +188 -0
  651. package/assets/upstream/recipes/imported/scrambled-text/ScrambledText.css +12 -0
  652. package/assets/upstream/recipes/imported/scrambled-text/ScrambledText.jsx +76 -0
  653. package/assets/upstream/recipes/imported/scroll-float/ScrollFloat.css +15 -0
  654. package/assets/upstream/recipes/imported/scroll-float/ScrollFloat.jsx +75 -0
  655. package/assets/upstream/recipes/imported/scroll-reveal/ScrollReveal.css +13 -0
  656. package/assets/upstream/recipes/imported/scroll-reveal/ScrollReveal.jsx +107 -0
  657. package/assets/upstream/recipes/imported/scroll-stack/ScrollStack.css +45 -0
  658. package/assets/upstream/recipes/imported/scroll-stack/ScrollStack.jsx +314 -0
  659. package/assets/upstream/recipes/imported/scroll-velocity/ScrollVelocity.css +26 -0
  660. package/assets/upstream/recipes/imported/scroll-velocity/ScrollVelocity.jsx +143 -0
  661. package/assets/upstream/recipes/imported/shape-blur/ShapeBlur.jsx +256 -0
  662. package/assets/upstream/recipes/imported/shape-grid/ShapeGrid.css +6 -0
  663. package/assets/upstream/recipes/imported/shape-grid/ShapeGrid.jsx +387 -0
  664. package/assets/upstream/recipes/imported/shiny-text/ShinyText.css +3 -0
  665. package/assets/upstream/recipes/imported/shiny-text/ShinyText.jsx +117 -0
  666. package/assets/upstream/recipes/imported/shuffle/Shuffle.css +33 -0
  667. package/assets/upstream/recipes/imported/shuffle/Shuffle.jsx +392 -0
  668. package/assets/upstream/recipes/imported/side-rays/SideRays.css +8 -0
  669. package/assets/upstream/recipes/imported/side-rays/SideRays.jsx +258 -0
  670. package/assets/upstream/recipes/imported/silk/Silk.jsx +116 -0
  671. package/assets/upstream/recipes/imported/soft-aurora/SoftAurora.css +4 -0
  672. package/assets/upstream/recipes/imported/soft-aurora/SoftAurora.jsx +264 -0
  673. package/assets/upstream/recipes/imported/splash-cursor/SplashCursor.jsx +1086 -0
  674. package/assets/upstream/recipes/imported/split-text/SplitText.jsx +169 -0
  675. package/assets/upstream/recipes/imported/spotlight-card/SpotlightCard.css +29 -0
  676. package/assets/upstream/recipes/imported/spotlight-card/SpotlightCard.jsx +24 -0
  677. package/assets/upstream/recipes/imported/stack/Stack.css +43 -0
  678. package/assets/upstream/recipes/imported/stack/Stack.jsx +184 -0
  679. package/assets/upstream/recipes/imported/staggered-menu/StaggeredMenu.css +356 -0
  680. package/assets/upstream/recipes/imported/staggered-menu/StaggeredMenu.jsx +446 -0
  681. package/assets/upstream/recipes/imported/star-border/StarBorder.css +64 -0
  682. package/assets/upstream/recipes/imported/star-border/StarBorder.jsx +40 -0
  683. package/assets/upstream/recipes/imported/stepper/Stepper.css +159 -0
  684. package/assets/upstream/recipes/imported/stepper/Stepper.jsx +250 -0
  685. package/assets/upstream/recipes/imported/sticker-peel/StickerPeel.css +158 -0
  686. package/assets/upstream/recipes/imported/sticker-peel/StickerPeel.jsx +262 -0
  687. package/assets/upstream/recipes/imported/strands/Strands.css +12 -0
  688. package/assets/upstream/recipes/imported/strands/Strands.jsx +355 -0
  689. package/assets/upstream/recipes/imported/target-cursor/TargetCursor.css +57 -0
  690. package/assets/upstream/recipes/imported/target-cursor/TargetCursor.jsx +417 -0
  691. package/assets/upstream/recipes/imported/text-cursor/TextCursor.css +21 -0
  692. package/assets/upstream/recipes/imported/text-cursor/TextCursor.jsx +132 -0
  693. package/assets/upstream/recipes/imported/text-pressure/TextPressure.jsx +243 -0
  694. package/assets/upstream/recipes/imported/text-type/TextType.css +14 -0
  695. package/assets/upstream/recipes/imported/text-type/TextType.jsx +174 -0
  696. package/assets/upstream/recipes/imported/threads/Threads.css +5 -0
  697. package/assets/upstream/recipes/imported/threads/Threads.jsx +250 -0
  698. package/assets/upstream/recipes/imported/tilted-card/TiltedCard.css +65 -0
  699. package/assets/upstream/recipes/imported/tilted-card/TiltedCard.jsx +132 -0
  700. package/assets/upstream/recipes/imported/true-focus/TrueFocus.css +73 -0
  701. package/assets/upstream/recipes/imported/true-focus/TrueFocus.jsx +119 -0
  702. package/assets/upstream/recipes/imported/variable-proximity/VariableProximity.css +17 -0
  703. package/assets/upstream/recipes/imported/variable-proximity/VariableProximity.jsx +184 -0
  704. package/assets/upstream/recipes/imported/waves/Waves.css +29 -0
  705. package/assets/upstream/recipes/imported/waves/Waves.jsx +321 -0
  706. package/assets/upstream/recipes/lottie/_runtime/lottie.min.js +1 -0
  707. package/assets/upstream/recipes/lottie/_runtime/remote.html +32 -0
  708. package/assets/upstream/recipes/lottie/lottie-fab/SKILL.md +42 -0
  709. package/assets/upstream/recipes/lottie/lottie-fab/animation.json +1 -0
  710. package/assets/upstream/recipes/lottie/lottie-fab/preview.html +24 -0
  711. package/assets/upstream/recipes/lottie/lottie-fab/recipe.motion.yaml +54 -0
  712. package/assets/upstream/recipes/lottie/lottie-favorite/SKILL.md +42 -0
  713. package/assets/upstream/recipes/lottie/lottie-favorite/animation.json +1 -0
  714. package/assets/upstream/recipes/lottie/lottie-favorite/preview.html +24 -0
  715. package/assets/upstream/recipes/lottie/lottie-favorite/recipe.motion.yaml +54 -0
  716. package/assets/upstream/recipes/lottie/lottie-pagination/SKILL.md +42 -0
  717. package/assets/upstream/recipes/lottie/lottie-pagination/animation.json +1 -0
  718. package/assets/upstream/recipes/lottie/lottie-pagination/preview.html +24 -0
  719. package/assets/upstream/recipes/lottie/lottie-pagination/recipe.motion.yaml +54 -0
  720. package/assets/upstream/recipes/lottie/lottie-tab/SKILL.md +42 -0
  721. package/assets/upstream/recipes/lottie/lottie-tab/animation.json +1 -0
  722. package/assets/upstream/recipes/lottie/lottie-tab/preview.html +24 -0
  723. package/assets/upstream/recipes/lottie/lottie-tab/recipe.motion.yaml +54 -0
  724. package/assets/upstream/recipes/slides/fx-chain-react/SKILL.md +40 -0
  725. package/assets/upstream/recipes/slides/fx-chain-react/_util.js +63 -0
  726. package/assets/upstream/recipes/slides/fx-chain-react/chain-react.js +41 -0
  727. package/assets/upstream/recipes/slides/fx-chain-react/preview.html +29 -0
  728. package/assets/upstream/recipes/slides/fx-chain-react/recipe.motion.yaml +53 -0
  729. package/assets/upstream/recipes/slides/fx-confetti/SKILL.md +40 -0
  730. package/assets/upstream/recipes/slides/fx-confetti/_util.js +63 -0
  731. package/assets/upstream/recipes/slides/fx-confetti/confetti-cannon.js +49 -0
  732. package/assets/upstream/recipes/slides/fx-confetti/preview.html +29 -0
  733. package/assets/upstream/recipes/slides/fx-confetti/recipe.motion.yaml +53 -0
  734. package/assets/upstream/recipes/slides/fx-constellation/SKILL.md +40 -0
  735. package/assets/upstream/recipes/slides/fx-constellation/_util.js +63 -0
  736. package/assets/upstream/recipes/slides/fx-constellation/constellation.js +44 -0
  737. package/assets/upstream/recipes/slides/fx-constellation/preview.html +29 -0
  738. package/assets/upstream/recipes/slides/fx-constellation/recipe.motion.yaml +53 -0
  739. package/assets/upstream/recipes/slides/fx-counter-explosion/SKILL.md +40 -0
  740. package/assets/upstream/recipes/slides/fx-counter-explosion/_util.js +63 -0
  741. package/assets/upstream/recipes/slides/fx-counter-explosion/counter-explosion.js +58 -0
  742. package/assets/upstream/recipes/slides/fx-counter-explosion/preview.html +29 -0
  743. package/assets/upstream/recipes/slides/fx-counter-explosion/recipe.motion.yaml +53 -0
  744. package/assets/upstream/recipes/slides/fx-data-stream/SKILL.md +40 -0
  745. package/assets/upstream/recipes/slides/fx-data-stream/_util.js +63 -0
  746. package/assets/upstream/recipes/slides/fx-data-stream/data-stream.js +45 -0
  747. package/assets/upstream/recipes/slides/fx-data-stream/preview.html +29 -0
  748. package/assets/upstream/recipes/slides/fx-data-stream/recipe.motion.yaml +53 -0
  749. package/assets/upstream/recipes/slides/fx-firework/SKILL.md +40 -0
  750. package/assets/upstream/recipes/slides/fx-firework/_util.js +63 -0
  751. package/assets/upstream/recipes/slides/fx-firework/firework.js +51 -0
  752. package/assets/upstream/recipes/slides/fx-firework/preview.html +29 -0
  753. package/assets/upstream/recipes/slides/fx-firework/recipe.motion.yaml +53 -0
  754. package/assets/upstream/recipes/slides/fx-galaxy-swirl/SKILL.md +40 -0
  755. package/assets/upstream/recipes/slides/fx-galaxy-swirl/_util.js +63 -0
  756. package/assets/upstream/recipes/slides/fx-galaxy-swirl/galaxy-swirl.js +33 -0
  757. package/assets/upstream/recipes/slides/fx-galaxy-swirl/preview.html +29 -0
  758. package/assets/upstream/recipes/slides/fx-galaxy-swirl/recipe.motion.yaml +53 -0
  759. package/assets/upstream/recipes/slides/fx-gradient-blob/SKILL.md +40 -0
  760. package/assets/upstream/recipes/slides/fx-gradient-blob/_util.js +63 -0
  761. package/assets/upstream/recipes/slides/fx-gradient-blob/gradient-blob.js +39 -0
  762. package/assets/upstream/recipes/slides/fx-gradient-blob/preview.html +29 -0
  763. package/assets/upstream/recipes/slides/fx-gradient-blob/recipe.motion.yaml +53 -0
  764. package/assets/upstream/recipes/slides/fx-knowledge-graph/SKILL.md +40 -0
  765. package/assets/upstream/recipes/slides/fx-knowledge-graph/_util.js +63 -0
  766. package/assets/upstream/recipes/slides/fx-knowledge-graph/knowledge-graph.js +69 -0
  767. package/assets/upstream/recipes/slides/fx-knowledge-graph/preview.html +29 -0
  768. package/assets/upstream/recipes/slides/fx-knowledge-graph/recipe.motion.yaml +53 -0
  769. package/assets/upstream/recipes/slides/fx-letter-explode/SKILL.md +40 -0
  770. package/assets/upstream/recipes/slides/fx-letter-explode/_util.js +63 -0
  771. package/assets/upstream/recipes/slides/fx-letter-explode/letter-explode.js +50 -0
  772. package/assets/upstream/recipes/slides/fx-letter-explode/preview.html +29 -0
  773. package/assets/upstream/recipes/slides/fx-letter-explode/recipe.motion.yaml +53 -0
  774. package/assets/upstream/recipes/slides/fx-magnetic-field/SKILL.md +40 -0
  775. package/assets/upstream/recipes/slides/fx-magnetic-field/_util.js +63 -0
  776. package/assets/upstream/recipes/slides/fx-magnetic-field/magnetic-field.js +40 -0
  777. package/assets/upstream/recipes/slides/fx-magnetic-field/preview.html +29 -0
  778. package/assets/upstream/recipes/slides/fx-magnetic-field/recipe.motion.yaml +53 -0
  779. package/assets/upstream/recipes/slides/fx-matrix-rain/SKILL.md +40 -0
  780. package/assets/upstream/recipes/slides/fx-matrix-rain/_util.js +63 -0
  781. package/assets/upstream/recipes/slides/fx-matrix-rain/matrix-rain.js +33 -0
  782. package/assets/upstream/recipes/slides/fx-matrix-rain/preview.html +29 -0
  783. package/assets/upstream/recipes/slides/fx-matrix-rain/recipe.motion.yaml +53 -0
  784. package/assets/upstream/recipes/slides/fx-neural-net/SKILL.md +40 -0
  785. package/assets/upstream/recipes/slides/fx-neural-net/_util.js +63 -0
  786. package/assets/upstream/recipes/slides/fx-neural-net/neural-net.js +75 -0
  787. package/assets/upstream/recipes/slides/fx-neural-net/preview.html +29 -0
  788. package/assets/upstream/recipes/slides/fx-neural-net/recipe.motion.yaml +53 -0
  789. package/assets/upstream/recipes/slides/fx-orbit-ring/SKILL.md +40 -0
  790. package/assets/upstream/recipes/slides/fx-orbit-ring/_util.js +63 -0
  791. package/assets/upstream/recipes/slides/fx-orbit-ring/orbit-ring.js +38 -0
  792. package/assets/upstream/recipes/slides/fx-orbit-ring/preview.html +29 -0
  793. package/assets/upstream/recipes/slides/fx-orbit-ring/recipe.motion.yaml +53 -0
  794. package/assets/upstream/recipes/slides/fx-particle-burst/SKILL.md +40 -0
  795. package/assets/upstream/recipes/slides/fx-particle-burst/_util.js +63 -0
  796. package/assets/upstream/recipes/slides/fx-particle-burst/particle-burst.js +42 -0
  797. package/assets/upstream/recipes/slides/fx-particle-burst/preview.html +29 -0
  798. package/assets/upstream/recipes/slides/fx-particle-burst/recipe.motion.yaml +53 -0
  799. package/assets/upstream/recipes/slides/fx-shockwave/SKILL.md +40 -0
  800. package/assets/upstream/recipes/slides/fx-shockwave/_util.js +63 -0
  801. package/assets/upstream/recipes/slides/fx-shockwave/preview.html +29 -0
  802. package/assets/upstream/recipes/slides/fx-shockwave/recipe.motion.yaml +53 -0
  803. package/assets/upstream/recipes/slides/fx-shockwave/shockwave.js +39 -0
  804. package/assets/upstream/recipes/slides/fx-sparkle-trail/SKILL.md +40 -0
  805. package/assets/upstream/recipes/slides/fx-sparkle-trail/_util.js +63 -0
  806. package/assets/upstream/recipes/slides/fx-sparkle-trail/preview.html +29 -0
  807. package/assets/upstream/recipes/slides/fx-sparkle-trail/recipe.motion.yaml +53 -0
  808. package/assets/upstream/recipes/slides/fx-sparkle-trail/sparkle-trail.js +62 -0
  809. package/assets/upstream/recipes/slides/fx-starfield/SKILL.md +40 -0
  810. package/assets/upstream/recipes/slides/fx-starfield/_util.js +63 -0
  811. package/assets/upstream/recipes/slides/fx-starfield/preview.html +29 -0
  812. package/assets/upstream/recipes/slides/fx-starfield/recipe.motion.yaml +53 -0
  813. package/assets/upstream/recipes/slides/fx-starfield/starfield.js +30 -0
  814. package/assets/upstream/recipes/slides/fx-typewriter-multi/SKILL.md +40 -0
  815. package/assets/upstream/recipes/slides/fx-typewriter-multi/_util.js +63 -0
  816. package/assets/upstream/recipes/slides/fx-typewriter-multi/preview.html +29 -0
  817. package/assets/upstream/recipes/slides/fx-typewriter-multi/recipe.motion.yaml +53 -0
  818. package/assets/upstream/recipes/slides/fx-typewriter-multi/typewriter-multi.js +51 -0
  819. package/assets/upstream/recipes/slides/fx-word-cascade/SKILL.md +40 -0
  820. package/assets/upstream/recipes/slides/fx-word-cascade/_util.js +63 -0
  821. package/assets/upstream/recipes/slides/fx-word-cascade/preview.html +29 -0
  822. package/assets/upstream/recipes/slides/fx-word-cascade/recipe.motion.yaml +53 -0
  823. package/assets/upstream/recipes/slides/fx-word-cascade/word-cascade.js +47 -0
  824. package/assets/upstream/recipes/web/_fx/shaderbg.js +58 -0
  825. package/assets/upstream/recipes/web/attention-pulse/SKILL.md +44 -0
  826. package/assets/upstream/recipes/web/attention-pulse/attention-pulse.css +26 -0
  827. package/assets/upstream/recipes/web/attention-pulse/preview.html +27 -0
  828. package/assets/upstream/recipes/web/attention-pulse/recipe.motion.yaml +57 -0
  829. package/assets/upstream/recipes/web/aurora/SKILL.md +12 -0
  830. package/assets/upstream/recipes/web/aurora/aurora.js +55 -0
  831. package/assets/upstream/recipes/web/aurora/preview.html +3 -0
  832. package/assets/upstream/recipes/web/aurora/recipe.motion.yaml +25 -0
  833. package/assets/upstream/recipes/web/balatro/SKILL.md +12 -0
  834. package/assets/upstream/recipes/web/balatro/balatro.js +7 -0
  835. package/assets/upstream/recipes/web/balatro/preview.html +3 -0
  836. package/assets/upstream/recipes/web/balatro/recipe.motion.yaml +25 -0
  837. package/assets/upstream/recipes/web/blob-cursor/SKILL.md +11 -0
  838. package/assets/upstream/recipes/web/blob-cursor/blob-cursor.js +10 -0
  839. package/assets/upstream/recipes/web/blob-cursor/preview.html +3 -0
  840. package/assets/upstream/recipes/web/blob-cursor/recipe.motion.yaml +25 -0
  841. package/assets/upstream/recipes/web/blur-text/SKILL.md +12 -0
  842. package/assets/upstream/recipes/web/blur-text/blur-text.css +5 -0
  843. package/assets/upstream/recipes/web/blur-text/blur-text.js +11 -0
  844. package/assets/upstream/recipes/web/blur-text/preview.html +3 -0
  845. package/assets/upstream/recipes/web/blur-text/recipe.motion.yaml +25 -0
  846. package/assets/upstream/recipes/web/border-beam/SKILL.md +55 -0
  847. package/assets/upstream/recipes/web/border-beam/border-beam.css +52 -0
  848. package/assets/upstream/recipes/web/border-beam/preview.html +28 -0
  849. package/assets/upstream/recipes/web/border-beam/recipe.motion.yaml +57 -0
  850. package/assets/upstream/recipes/web/bounce-cards/SKILL.md +11 -0
  851. package/assets/upstream/recipes/web/bounce-cards/bounce-cards.css +9 -0
  852. package/assets/upstream/recipes/web/bounce-cards/bounce-cards.js +8 -0
  853. package/assets/upstream/recipes/web/bounce-cards/preview.html +3 -0
  854. package/assets/upstream/recipes/web/bounce-cards/recipe.motion.yaml +25 -0
  855. package/assets/upstream/recipes/web/card-lift-hover/SKILL.md +45 -0
  856. package/assets/upstream/recipes/web/card-lift-hover/card-lift-hover.css +24 -0
  857. package/assets/upstream/recipes/web/card-lift-hover/preview.html +32 -0
  858. package/assets/upstream/recipes/web/card-lift-hover/recipe.motion.yaml +47 -0
  859. package/assets/upstream/recipes/web/circular-text/SKILL.md +11 -0
  860. package/assets/upstream/recipes/web/circular-text/circular-text.css +5 -0
  861. package/assets/upstream/recipes/web/circular-text/circular-text.js +8 -0
  862. package/assets/upstream/recipes/web/circular-text/preview.html +3 -0
  863. package/assets/upstream/recipes/web/circular-text/recipe.motion.yaml +25 -0
  864. package/assets/upstream/recipes/web/click-spark/SKILL.md +11 -0
  865. package/assets/upstream/recipes/web/click-spark/click-spark.js +12 -0
  866. package/assets/upstream/recipes/web/click-spark/preview.html +3 -0
  867. package/assets/upstream/recipes/web/click-spark/recipe.motion.yaml +25 -0
  868. package/assets/upstream/recipes/web/count-up/SKILL.md +46 -0
  869. package/assets/upstream/recipes/web/count-up/count-up.css +7 -0
  870. package/assets/upstream/recipes/web/count-up/count-up.js +58 -0
  871. package/assets/upstream/recipes/web/count-up/preview.html +33 -0
  872. package/assets/upstream/recipes/web/count-up/recipe.motion.yaml +47 -0
  873. package/assets/upstream/recipes/web/counter/SKILL.md +11 -0
  874. package/assets/upstream/recipes/web/counter/counter.css +6 -0
  875. package/assets/upstream/recipes/web/counter/counter.js +13 -0
  876. package/assets/upstream/recipes/web/counter/preview.html +3 -0
  877. package/assets/upstream/recipes/web/counter/recipe.motion.yaml +25 -0
  878. package/assets/upstream/recipes/web/crosshair/SKILL.md +11 -0
  879. package/assets/upstream/recipes/web/crosshair/crosshair.js +8 -0
  880. package/assets/upstream/recipes/web/crosshair/preview.html +3 -0
  881. package/assets/upstream/recipes/web/crosshair/recipe.motion.yaml +25 -0
  882. package/assets/upstream/recipes/web/dark-veil/SKILL.md +12 -0
  883. package/assets/upstream/recipes/web/dark-veil/dark-veil.js +7 -0
  884. package/assets/upstream/recipes/web/dark-veil/preview.html +3 -0
  885. package/assets/upstream/recipes/web/dark-veil/recipe.motion.yaml +25 -0
  886. package/assets/upstream/recipes/web/decrypted-text/SKILL.md +12 -0
  887. package/assets/upstream/recipes/web/decrypted-text/decrypted-text.js +11 -0
  888. package/assets/upstream/recipes/web/decrypted-text/preview.html +3 -0
  889. package/assets/upstream/recipes/web/decrypted-text/recipe.motion.yaml +25 -0
  890. package/assets/upstream/recipes/web/dither/SKILL.md +12 -0
  891. package/assets/upstream/recipes/web/dither/dither.js +94 -0
  892. package/assets/upstream/recipes/web/dither/preview.html +3 -0
  893. package/assets/upstream/recipes/web/dither/recipe.motion.yaml +25 -0
  894. package/assets/upstream/recipes/web/dock/SKILL.md +11 -0
  895. package/assets/upstream/recipes/web/dock/dock.css +4 -0
  896. package/assets/upstream/recipes/web/dock/dock.js +9 -0
  897. package/assets/upstream/recipes/web/dock/preview.html +3 -0
  898. package/assets/upstream/recipes/web/dock/recipe.motion.yaml +25 -0
  899. package/assets/upstream/recipes/web/dot-field/SKILL.md +12 -0
  900. package/assets/upstream/recipes/web/dot-field/dot-field.js +108 -0
  901. package/assets/upstream/recipes/web/dot-field/preview.html +3 -0
  902. package/assets/upstream/recipes/web/dot-field/recipe.motion.yaml +25 -0
  903. package/assets/upstream/recipes/web/dot-grid/SKILL.md +12 -0
  904. package/assets/upstream/recipes/web/dot-grid/dot-grid.js +91 -0
  905. package/assets/upstream/recipes/web/dot-grid/preview.html +3 -0
  906. package/assets/upstream/recipes/web/dot-grid/recipe.motion.yaml +25 -0
  907. package/assets/upstream/recipes/web/elastic-slider/SKILL.md +11 -0
  908. package/assets/upstream/recipes/web/elastic-slider/elastic-slider.css +6 -0
  909. package/assets/upstream/recipes/web/elastic-slider/elastic-slider.js +10 -0
  910. package/assets/upstream/recipes/web/elastic-slider/preview.html +3 -0
  911. package/assets/upstream/recipes/web/elastic-slider/recipe.motion.yaml +25 -0
  912. package/assets/upstream/recipes/web/electric-border/SKILL.md +12 -0
  913. package/assets/upstream/recipes/web/electric-border/electric-border.css +8 -0
  914. package/assets/upstream/recipes/web/electric-border/preview.html +3 -0
  915. package/assets/upstream/recipes/web/electric-border/recipe.motion.yaml +25 -0
  916. package/assets/upstream/recipes/web/fade-content/SKILL.md +11 -0
  917. package/assets/upstream/recipes/web/fade-content/fade-content.css +4 -0
  918. package/assets/upstream/recipes/web/fade-content/fade-content.js +8 -0
  919. package/assets/upstream/recipes/web/fade-content/preview.html +3 -0
  920. package/assets/upstream/recipes/web/fade-content/recipe.motion.yaml +25 -0
  921. package/assets/upstream/recipes/web/fade-in-up/SKILL.md +45 -0
  922. package/assets/upstream/recipes/web/fade-in-up/fade-in-up.css +16 -0
  923. package/assets/upstream/recipes/web/fade-in-up/fade-in-up.js +33 -0
  924. package/assets/upstream/recipes/web/fade-in-up/preview.html +30 -0
  925. package/assets/upstream/recipes/web/fade-in-up/recipe.motion.yaml +47 -0
  926. package/assets/upstream/recipes/web/falling-text/SKILL.md +12 -0
  927. package/assets/upstream/recipes/web/falling-text/falling-text.css +4 -0
  928. package/assets/upstream/recipes/web/falling-text/falling-text.js +10 -0
  929. package/assets/upstream/recipes/web/falling-text/preview.html +3 -0
  930. package/assets/upstream/recipes/web/falling-text/recipe.motion.yaml +25 -0
  931. package/assets/upstream/recipes/web/faulty-terminal/SKILL.md +12 -0
  932. package/assets/upstream/recipes/web/faulty-terminal/faulty-terminal.js +7 -0
  933. package/assets/upstream/recipes/web/faulty-terminal/preview.html +3 -0
  934. package/assets/upstream/recipes/web/faulty-terminal/recipe.motion.yaml +25 -0
  935. package/assets/upstream/recipes/web/ferrofluid/SKILL.md +12 -0
  936. package/assets/upstream/recipes/web/ferrofluid/ferrofluid.js +7 -0
  937. package/assets/upstream/recipes/web/ferrofluid/preview.html +3 -0
  938. package/assets/upstream/recipes/web/ferrofluid/recipe.motion.yaml +25 -0
  939. package/assets/upstream/recipes/web/galaxy/SKILL.md +12 -0
  940. package/assets/upstream/recipes/web/galaxy/galaxy.js +7 -0
  941. package/assets/upstream/recipes/web/galaxy/preview.html +3 -0
  942. package/assets/upstream/recipes/web/galaxy/recipe.motion.yaml +25 -0
  943. package/assets/upstream/recipes/web/glare-hover/SKILL.md +12 -0
  944. package/assets/upstream/recipes/web/glare-hover/glare-hover.css +9 -0
  945. package/assets/upstream/recipes/web/glare-hover/glare-hover.js +8 -0
  946. package/assets/upstream/recipes/web/glare-hover/preview.html +3 -0
  947. package/assets/upstream/recipes/web/glare-hover/recipe.motion.yaml +25 -0
  948. package/assets/upstream/recipes/web/glass-icons/SKILL.md +11 -0
  949. package/assets/upstream/recipes/web/glass-icons/glass-icons.css +7 -0
  950. package/assets/upstream/recipes/web/glass-icons/preview.html +3 -0
  951. package/assets/upstream/recipes/web/glass-icons/recipe.motion.yaml +25 -0
  952. package/assets/upstream/recipes/web/glitch-text/SKILL.md +11 -0
  953. package/assets/upstream/recipes/web/glitch-text/glitch-text.css +7 -0
  954. package/assets/upstream/recipes/web/glitch-text/preview.html +3 -0
  955. package/assets/upstream/recipes/web/glitch-text/recipe.motion.yaml +25 -0
  956. package/assets/upstream/recipes/web/gooey-nav/SKILL.md +11 -0
  957. package/assets/upstream/recipes/web/gooey-nav/gooey-nav.css +6 -0
  958. package/assets/upstream/recipes/web/gooey-nav/gooey-nav.js +8 -0
  959. package/assets/upstream/recipes/web/gooey-nav/preview.html +3 -0
  960. package/assets/upstream/recipes/web/gooey-nav/recipe.motion.yaml +25 -0
  961. package/assets/upstream/recipes/web/gradient-blinds/SKILL.md +12 -0
  962. package/assets/upstream/recipes/web/gradient-blinds/gradient-blinds.js +7 -0
  963. package/assets/upstream/recipes/web/gradient-blinds/preview.html +3 -0
  964. package/assets/upstream/recipes/web/gradient-blinds/recipe.motion.yaml +25 -0
  965. package/assets/upstream/recipes/web/gradient-text/SKILL.md +55 -0
  966. package/assets/upstream/recipes/web/gradient-text/gradient-text.css +30 -0
  967. package/assets/upstream/recipes/web/gradient-text/preview.html +23 -0
  968. package/assets/upstream/recipes/web/gradient-text/recipe.motion.yaml +58 -0
  969. package/assets/upstream/recipes/web/gradual-blur/SKILL.md +13 -0
  970. package/assets/upstream/recipes/web/gradual-blur/gradual-blur.css +6 -0
  971. package/assets/upstream/recipes/web/gradual-blur/preview.html +3 -0
  972. package/assets/upstream/recipes/web/gradual-blur/recipe.motion.yaml +25 -0
  973. package/assets/upstream/recipes/web/grainient/SKILL.md +12 -0
  974. package/assets/upstream/recipes/web/grainient/grainient.js +7 -0
  975. package/assets/upstream/recipes/web/grainient/preview.html +3 -0
  976. package/assets/upstream/recipes/web/grainient/recipe.motion.yaml +25 -0
  977. package/assets/upstream/recipes/web/image-trail/SKILL.md +11 -0
  978. package/assets/upstream/recipes/web/image-trail/image-trail.js +13 -0
  979. package/assets/upstream/recipes/web/image-trail/preview.html +3 -0
  980. package/assets/upstream/recipes/web/image-trail/recipe.motion.yaml +25 -0
  981. package/assets/upstream/recipes/web/iridescence/SKILL.md +12 -0
  982. package/assets/upstream/recipes/web/iridescence/iridescence.js +22 -0
  983. package/assets/upstream/recipes/web/iridescence/preview.html +3 -0
  984. package/assets/upstream/recipes/web/iridescence/recipe.motion.yaml +25 -0
  985. package/assets/upstream/recipes/web/kinetic-headline/SKILL.md +44 -0
  986. package/assets/upstream/recipes/web/kinetic-headline/kinetic-headline.css +47 -0
  987. package/assets/upstream/recipes/web/kinetic-headline/kinetic-headline.js +62 -0
  988. package/assets/upstream/recipes/web/kinetic-headline/preview.html +34 -0
  989. package/assets/upstream/recipes/web/kinetic-headline/recipe.motion.yaml +54 -0
  990. package/assets/upstream/recipes/web/light-rays/SKILL.md +12 -0
  991. package/assets/upstream/recipes/web/light-rays/light-rays.js +7 -0
  992. package/assets/upstream/recipes/web/light-rays/preview.html +3 -0
  993. package/assets/upstream/recipes/web/light-rays/recipe.motion.yaml +25 -0
  994. package/assets/upstream/recipes/web/lightfall/SKILL.md +12 -0
  995. package/assets/upstream/recipes/web/lightfall/lightfall.js +7 -0
  996. package/assets/upstream/recipes/web/lightfall/preview.html +3 -0
  997. package/assets/upstream/recipes/web/lightfall/recipe.motion.yaml +25 -0
  998. package/assets/upstream/recipes/web/lightning/SKILL.md +12 -0
  999. package/assets/upstream/recipes/web/lightning/lightning.js +7 -0
  1000. package/assets/upstream/recipes/web/lightning/preview.html +3 -0
  1001. package/assets/upstream/recipes/web/lightning/recipe.motion.yaml +25 -0
  1002. package/assets/upstream/recipes/web/like-burst/SKILL.md +65 -0
  1003. package/assets/upstream/recipes/web/like-burst/like-burst.css +71 -0
  1004. package/assets/upstream/recipes/web/like-burst/like-burst.js +82 -0
  1005. package/assets/upstream/recipes/web/like-burst/preview.html +48 -0
  1006. package/assets/upstream/recipes/web/like-burst/recipe.motion.yaml +55 -0
  1007. package/assets/upstream/recipes/web/line-waves/SKILL.md +12 -0
  1008. package/assets/upstream/recipes/web/line-waves/line-waves.js +7 -0
  1009. package/assets/upstream/recipes/web/line-waves/preview.html +3 -0
  1010. package/assets/upstream/recipes/web/line-waves/recipe.motion.yaml +25 -0
  1011. package/assets/upstream/recipes/web/liquid-chrome/SKILL.md +12 -0
  1012. package/assets/upstream/recipes/web/liquid-chrome/liquid-chrome.js +7 -0
  1013. package/assets/upstream/recipes/web/liquid-chrome/preview.html +3 -0
  1014. package/assets/upstream/recipes/web/liquid-chrome/recipe.motion.yaml +25 -0
  1015. package/assets/upstream/recipes/web/loading-shimmer/SKILL.md +45 -0
  1016. package/assets/upstream/recipes/web/loading-shimmer/loading-shimmer.css +30 -0
  1017. package/assets/upstream/recipes/web/loading-shimmer/preview.html +42 -0
  1018. package/assets/upstream/recipes/web/loading-shimmer/recipe.motion.yaml +48 -0
  1019. package/assets/upstream/recipes/web/magnet-lines/SKILL.md +11 -0
  1020. package/assets/upstream/recipes/web/magnet-lines/magnet-lines.css +4 -0
  1021. package/assets/upstream/recipes/web/magnet-lines/magnet-lines.js +10 -0
  1022. package/assets/upstream/recipes/web/magnet-lines/preview.html +3 -0
  1023. package/assets/upstream/recipes/web/magnet-lines/recipe.motion.yaml +25 -0
  1024. package/assets/upstream/recipes/web/magnetic-button/SKILL.md +54 -0
  1025. package/assets/upstream/recipes/web/magnetic-button/magnetic-button.css +24 -0
  1026. package/assets/upstream/recipes/web/magnetic-button/magnetic-button.js +46 -0
  1027. package/assets/upstream/recipes/web/magnetic-button/preview.html +27 -0
  1028. package/assets/upstream/recipes/web/magnetic-button/recipe.motion.yaml +53 -0
  1029. package/assets/upstream/recipes/web/noise/SKILL.md +12 -0
  1030. package/assets/upstream/recipes/web/noise/noise.js +25 -0
  1031. package/assets/upstream/recipes/web/noise/preview.html +3 -0
  1032. package/assets/upstream/recipes/web/noise/recipe.motion.yaml +25 -0
  1033. package/assets/upstream/recipes/web/orb/SKILL.md +12 -0
  1034. package/assets/upstream/recipes/web/orb/orb.js +7 -0
  1035. package/assets/upstream/recipes/web/orb/preview.html +3 -0
  1036. package/assets/upstream/recipes/web/orb/recipe.motion.yaml +25 -0
  1037. package/assets/upstream/recipes/web/particles/SKILL.md +12 -0
  1038. package/assets/upstream/recipes/web/particles/particles.js +131 -0
  1039. package/assets/upstream/recipes/web/particles/preview.html +3 -0
  1040. package/assets/upstream/recipes/web/particles/recipe.motion.yaml +25 -0
  1041. package/assets/upstream/recipes/web/pixel-blast/SKILL.md +12 -0
  1042. package/assets/upstream/recipes/web/pixel-blast/pixel-blast.js +14 -0
  1043. package/assets/upstream/recipes/web/pixel-blast/preview.html +3 -0
  1044. package/assets/upstream/recipes/web/pixel-blast/recipe.motion.yaml +25 -0
  1045. package/assets/upstream/recipes/web/pixel-card/SKILL.md +11 -0
  1046. package/assets/upstream/recipes/web/pixel-card/pixel-card.css +6 -0
  1047. package/assets/upstream/recipes/web/pixel-card/pixel-card.js +8 -0
  1048. package/assets/upstream/recipes/web/pixel-card/preview.html +3 -0
  1049. package/assets/upstream/recipes/web/pixel-card/recipe.motion.yaml +25 -0
  1050. package/assets/upstream/recipes/web/pixel-snow/SKILL.md +12 -0
  1051. package/assets/upstream/recipes/web/pixel-snow/pixel-snow.js +7 -0
  1052. package/assets/upstream/recipes/web/pixel-snow/preview.html +3 -0
  1053. package/assets/upstream/recipes/web/pixel-snow/recipe.motion.yaml +25 -0
  1054. package/assets/upstream/recipes/web/pixel-transition/SKILL.md +11 -0
  1055. package/assets/upstream/recipes/web/pixel-transition/pixel-transition.css +7 -0
  1056. package/assets/upstream/recipes/web/pixel-transition/pixel-transition.js +8 -0
  1057. package/assets/upstream/recipes/web/pixel-transition/preview.html +3 -0
  1058. package/assets/upstream/recipes/web/pixel-transition/recipe.motion.yaml +25 -0
  1059. package/assets/upstream/recipes/web/plasma/SKILL.md +12 -0
  1060. package/assets/upstream/recipes/web/plasma/plasma.js +7 -0
  1061. package/assets/upstream/recipes/web/plasma/preview.html +3 -0
  1062. package/assets/upstream/recipes/web/plasma/recipe.motion.yaml +25 -0
  1063. package/assets/upstream/recipes/web/plasma-wave/SKILL.md +12 -0
  1064. package/assets/upstream/recipes/web/plasma-wave/plasma-wave.js +7 -0
  1065. package/assets/upstream/recipes/web/plasma-wave/preview.html +3 -0
  1066. package/assets/upstream/recipes/web/plasma-wave/recipe.motion.yaml +25 -0
  1067. package/assets/upstream/recipes/web/prism/SKILL.md +12 -0
  1068. package/assets/upstream/recipes/web/prism/preview.html +3 -0
  1069. package/assets/upstream/recipes/web/prism/prism.js +7 -0
  1070. package/assets/upstream/recipes/web/prism/recipe.motion.yaml +25 -0
  1071. package/assets/upstream/recipes/web/prismatic-burst/SKILL.md +12 -0
  1072. package/assets/upstream/recipes/web/prismatic-burst/preview.html +3 -0
  1073. package/assets/upstream/recipes/web/prismatic-burst/prismatic-burst.js +7 -0
  1074. package/assets/upstream/recipes/web/prismatic-burst/recipe.motion.yaml +25 -0
  1075. package/assets/upstream/recipes/web/radar/SKILL.md +12 -0
  1076. package/assets/upstream/recipes/web/radar/preview.html +3 -0
  1077. package/assets/upstream/recipes/web/radar/radar.js +7 -0
  1078. package/assets/upstream/recipes/web/radar/recipe.motion.yaml +25 -0
  1079. package/assets/upstream/recipes/web/ripple-grid/SKILL.md +12 -0
  1080. package/assets/upstream/recipes/web/ripple-grid/preview.html +3 -0
  1081. package/assets/upstream/recipes/web/ripple-grid/recipe.motion.yaml +25 -0
  1082. package/assets/upstream/recipes/web/ripple-grid/ripple-grid.js +7 -0
  1083. package/assets/upstream/recipes/web/ripple-press/SKILL.md +56 -0
  1084. package/assets/upstream/recipes/web/ripple-press/preview.html +30 -0
  1085. package/assets/upstream/recipes/web/ripple-press/recipe.motion.yaml +57 -0
  1086. package/assets/upstream/recipes/web/ripple-press/ripple.css +24 -0
  1087. package/assets/upstream/recipes/web/ripple-press/ripple.js +41 -0
  1088. package/assets/upstream/recipes/web/rotating-text/SKILL.md +11 -0
  1089. package/assets/upstream/recipes/web/rotating-text/preview.html +3 -0
  1090. package/assets/upstream/recipes/web/rotating-text/recipe.motion.yaml +25 -0
  1091. package/assets/upstream/recipes/web/rotating-text/rotating-text.css +5 -0
  1092. package/assets/upstream/recipes/web/rotating-text/rotating-text.js +10 -0
  1093. package/assets/upstream/recipes/web/scroll-float/SKILL.md +11 -0
  1094. package/assets/upstream/recipes/web/scroll-float/preview.html +3 -0
  1095. package/assets/upstream/recipes/web/scroll-float/recipe.motion.yaml +25 -0
  1096. package/assets/upstream/recipes/web/scroll-float/scroll-float.css +5 -0
  1097. package/assets/upstream/recipes/web/scroll-float/scroll-float.js +12 -0
  1098. package/assets/upstream/recipes/web/scroll-reveal/SKILL.md +57 -0
  1099. package/assets/upstream/recipes/web/scroll-reveal/preview.html +42 -0
  1100. package/assets/upstream/recipes/web/scroll-reveal/recipe.motion.yaml +52 -0
  1101. package/assets/upstream/recipes/web/scroll-reveal/scroll-reveal.css +20 -0
  1102. package/assets/upstream/recipes/web/scroll-reveal/scroll-reveal.js +53 -0
  1103. package/assets/upstream/recipes/web/shimmer-button/SKILL.md +54 -0
  1104. package/assets/upstream/recipes/web/shimmer-button/preview.html +22 -0
  1105. package/assets/upstream/recipes/web/shimmer-button/recipe.motion.yaml +57 -0
  1106. package/assets/upstream/recipes/web/shimmer-button/shimmer-button.css +38 -0
  1107. package/assets/upstream/recipes/web/shine-border/SKILL.md +55 -0
  1108. package/assets/upstream/recipes/web/shine-border/preview.html +28 -0
  1109. package/assets/upstream/recipes/web/shine-border/recipe.motion.yaml +58 -0
  1110. package/assets/upstream/recipes/web/shine-border/shine-border.css +48 -0
  1111. package/assets/upstream/recipes/web/shiny-text/SKILL.md +12 -0
  1112. package/assets/upstream/recipes/web/shiny-text/preview.html +3 -0
  1113. package/assets/upstream/recipes/web/shiny-text/recipe.motion.yaml +44 -0
  1114. package/assets/upstream/recipes/web/shiny-text/shiny-text.css +17 -0
  1115. package/assets/upstream/recipes/web/shuffle-text/SKILL.md +12 -0
  1116. package/assets/upstream/recipes/web/shuffle-text/preview.html +3 -0
  1117. package/assets/upstream/recipes/web/shuffle-text/recipe.motion.yaml +25 -0
  1118. package/assets/upstream/recipes/web/shuffle-text/shuffle-text.js +11 -0
  1119. package/assets/upstream/recipes/web/side-rays/SKILL.md +12 -0
  1120. package/assets/upstream/recipes/web/side-rays/preview.html +3 -0
  1121. package/assets/upstream/recipes/web/side-rays/recipe.motion.yaml +25 -0
  1122. package/assets/upstream/recipes/web/side-rays/side-rays.js +7 -0
  1123. package/assets/upstream/recipes/web/silk/SKILL.md +12 -0
  1124. package/assets/upstream/recipes/web/silk/preview.html +3 -0
  1125. package/assets/upstream/recipes/web/silk/recipe.motion.yaml +25 -0
  1126. package/assets/upstream/recipes/web/silk/silk.js +7 -0
  1127. package/assets/upstream/recipes/web/soft-aurora/SKILL.md +12 -0
  1128. package/assets/upstream/recipes/web/soft-aurora/preview.html +3 -0
  1129. package/assets/upstream/recipes/web/soft-aurora/recipe.motion.yaml +25 -0
  1130. package/assets/upstream/recipes/web/soft-aurora/soft-aurora.js +7 -0
  1131. package/assets/upstream/recipes/web/splash-cursor/SKILL.md +12 -0
  1132. package/assets/upstream/recipes/web/splash-cursor/preview.html +13 -0
  1133. package/assets/upstream/recipes/web/splash-cursor/recipe.motion.yaml +25 -0
  1134. package/assets/upstream/recipes/web/splash-cursor/splash-cursor.js +1036 -0
  1135. package/assets/upstream/recipes/web/spotlight-card/SKILL.md +55 -0
  1136. package/assets/upstream/recipes/web/spotlight-card/preview.html +32 -0
  1137. package/assets/upstream/recipes/web/spotlight-card/recipe.motion.yaml +58 -0
  1138. package/assets/upstream/recipes/web/spotlight-card/spotlight-card.css +39 -0
  1139. package/assets/upstream/recipes/web/spotlight-card/spotlight-card.js +34 -0
  1140. package/assets/upstream/recipes/web/stagger-list/SKILL.md +44 -0
  1141. package/assets/upstream/recipes/web/stagger-list/preview.html +34 -0
  1142. package/assets/upstream/recipes/web/stagger-list/recipe.motion.yaml +58 -0
  1143. package/assets/upstream/recipes/web/stagger-list/stagger-list.css +17 -0
  1144. package/assets/upstream/recipes/web/stagger-list/stagger-list.js +35 -0
  1145. package/assets/upstream/recipes/web/star-border/SKILL.md +12 -0
  1146. package/assets/upstream/recipes/web/star-border/preview.html +3 -0
  1147. package/assets/upstream/recipes/web/star-border/recipe.motion.yaml +25 -0
  1148. package/assets/upstream/recipes/web/star-border/star-border.css +16 -0
  1149. package/assets/upstream/recipes/web/stepper/SKILL.md +11 -0
  1150. package/assets/upstream/recipes/web/stepper/preview.html +3 -0
  1151. package/assets/upstream/recipes/web/stepper/recipe.motion.yaml +25 -0
  1152. package/assets/upstream/recipes/web/stepper/stepper.css +8 -0
  1153. package/assets/upstream/recipes/web/stepper/stepper.js +9 -0
  1154. package/assets/upstream/recipes/web/strands/SKILL.md +12 -0
  1155. package/assets/upstream/recipes/web/strands/preview.html +3 -0
  1156. package/assets/upstream/recipes/web/strands/recipe.motion.yaml +25 -0
  1157. package/assets/upstream/recipes/web/strands/strands.js +7 -0
  1158. package/assets/upstream/recipes/web/target-cursor/SKILL.md +11 -0
  1159. package/assets/upstream/recipes/web/target-cursor/preview.html +3 -0
  1160. package/assets/upstream/recipes/web/target-cursor/recipe.motion.yaml +25 -0
  1161. package/assets/upstream/recipes/web/target-cursor/target-cursor.js +10 -0
  1162. package/assets/upstream/recipes/web/text-scramble/SKILL.md +56 -0
  1163. package/assets/upstream/recipes/web/text-scramble/preview.html +33 -0
  1164. package/assets/upstream/recipes/web/text-scramble/recipe.motion.yaml +58 -0
  1165. package/assets/upstream/recipes/web/text-scramble/text-scramble.js +65 -0
  1166. package/assets/upstream/recipes/web/threads/SKILL.md +12 -0
  1167. package/assets/upstream/recipes/web/threads/preview.html +3 -0
  1168. package/assets/upstream/recipes/web/threads/recipe.motion.yaml +25 -0
  1169. package/assets/upstream/recipes/web/threads/threads.js +7 -0
  1170. package/assets/upstream/recipes/web/tilt-3d/SKILL.md +55 -0
  1171. package/assets/upstream/recipes/web/tilt-3d/preview.html +30 -0
  1172. package/assets/upstream/recipes/web/tilt-3d/recipe.motion.yaml +58 -0
  1173. package/assets/upstream/recipes/web/tilt-3d/tilt-3d.css +37 -0
  1174. package/assets/upstream/recipes/web/tilt-3d/tilt-3d.js +43 -0
  1175. package/assets/upstream/recipes/web/toggle-spring/SKILL.md +44 -0
  1176. package/assets/upstream/recipes/web/toggle-spring/preview.html +35 -0
  1177. package/assets/upstream/recipes/web/toggle-spring/recipe.motion.yaml +58 -0
  1178. package/assets/upstream/recipes/web/toggle-spring/toggle-spring.css +32 -0
  1179. package/assets/upstream/recipes/web/toggle-spring/toggle-spring.js +20 -0
  1180. package/assets/upstream/recipes/web/true-focus/SKILL.md +11 -0
  1181. package/assets/upstream/recipes/web/true-focus/preview.html +3 -0
  1182. package/assets/upstream/recipes/web/true-focus/recipe.motion.yaml +25 -0
  1183. package/assets/upstream/recipes/web/true-focus/true-focus.css +5 -0
  1184. package/assets/upstream/recipes/web/true-focus/true-focus.js +10 -0
  1185. package/assets/upstream/recipes/web/waves/SKILL.md +12 -0
  1186. package/assets/upstream/recipes/web/waves/preview.html +3 -0
  1187. package/assets/upstream/recipes/web/waves/recipe.motion.yaml +25 -0
  1188. package/assets/upstream/recipes/web/waves/waves.js +126 -0
  1189. package/dist/assets/upstream/ATTRIBUTION.md +42 -0
  1190. package/dist/assets/upstream/LICENSE +201 -0
  1191. package/dist/assets/upstream/MOTION-SPEC.md +127 -0
  1192. package/dist/assets/upstream/README.md +283 -0
  1193. package/dist/assets/upstream/SOURCES.md +107 -0
  1194. package/dist/assets/upstream/app/data/design-systems.js +469 -0
  1195. package/dist/assets/upstream/app/data/html-templates.json +1875 -0
  1196. package/dist/assets/upstream/app/data/recipes.js +1065 -0
  1197. package/dist/assets/upstream/app/data/reicon-icons.json +1 -0
  1198. package/dist/assets/upstream/app/data/video-templates.json +1305 -0
  1199. package/dist/assets/upstream/app/video/engine.js +638 -0
  1200. package/dist/assets/upstream/app/video/export.js +105 -0
  1201. package/dist/assets/upstream/app/video/html-capture.js +124 -0
  1202. package/dist/assets/upstream/recipes/animxyz/_runtime/animxyz.css +2 -0
  1203. package/dist/assets/upstream/recipes/animxyz/xyz-fade-big/SKILL.md +40 -0
  1204. package/dist/assets/upstream/recipes/animxyz/xyz-fade-big/preview.html +26 -0
  1205. package/dist/assets/upstream/recipes/animxyz/xyz-fade-big/recipe.motion.yaml +52 -0
  1206. package/dist/assets/upstream/recipes/animxyz/xyz-fade-down/SKILL.md +40 -0
  1207. package/dist/assets/upstream/recipes/animxyz/xyz-fade-down/preview.html +26 -0
  1208. package/dist/assets/upstream/recipes/animxyz/xyz-fade-down/recipe.motion.yaml +52 -0
  1209. package/dist/assets/upstream/recipes/animxyz/xyz-fade-left/SKILL.md +40 -0
  1210. package/dist/assets/upstream/recipes/animxyz/xyz-fade-left/preview.html +26 -0
  1211. package/dist/assets/upstream/recipes/animxyz/xyz-fade-left/recipe.motion.yaml +52 -0
  1212. package/dist/assets/upstream/recipes/animxyz/xyz-fade-right/SKILL.md +40 -0
  1213. package/dist/assets/upstream/recipes/animxyz/xyz-fade-right/preview.html +26 -0
  1214. package/dist/assets/upstream/recipes/animxyz/xyz-fade-right/recipe.motion.yaml +52 -0
  1215. package/dist/assets/upstream/recipes/animxyz/xyz-fade-small/SKILL.md +40 -0
  1216. package/dist/assets/upstream/recipes/animxyz/xyz-fade-small/preview.html +26 -0
  1217. package/dist/assets/upstream/recipes/animxyz/xyz-fade-small/recipe.motion.yaml +52 -0
  1218. package/dist/assets/upstream/recipes/animxyz/xyz-fade-up/SKILL.md +40 -0
  1219. package/dist/assets/upstream/recipes/animxyz/xyz-fade-up/preview.html +26 -0
  1220. package/dist/assets/upstream/recipes/animxyz/xyz-fade-up/recipe.motion.yaml +52 -0
  1221. package/dist/assets/upstream/recipes/animxyz/xyz-flip-left/SKILL.md +40 -0
  1222. package/dist/assets/upstream/recipes/animxyz/xyz-flip-left/preview.html +26 -0
  1223. package/dist/assets/upstream/recipes/animxyz/xyz-flip-left/recipe.motion.yaml +52 -0
  1224. package/dist/assets/upstream/recipes/animxyz/xyz-flip-up/SKILL.md +40 -0
  1225. package/dist/assets/upstream/recipes/animxyz/xyz-flip-up/preview.html +26 -0
  1226. package/dist/assets/upstream/recipes/animxyz/xyz-flip-up/recipe.motion.yaml +52 -0
  1227. package/dist/assets/upstream/recipes/animxyz/xyz-rise-big/SKILL.md +40 -0
  1228. package/dist/assets/upstream/recipes/animxyz/xyz-rise-big/preview.html +26 -0
  1229. package/dist/assets/upstream/recipes/animxyz/xyz-rise-big/recipe.motion.yaml +52 -0
  1230. package/dist/assets/upstream/recipes/animxyz/xyz-rotate/SKILL.md +40 -0
  1231. package/dist/assets/upstream/recipes/animxyz/xyz-rotate/preview.html +26 -0
  1232. package/dist/assets/upstream/recipes/animxyz/xyz-rotate/recipe.motion.yaml +52 -0
  1233. package/dist/assets/upstream/recipes/app/bottom-sheet/SKILL.md +36 -0
  1234. package/dist/assets/upstream/recipes/app/bottom-sheet/bottom-sheet.css +9 -0
  1235. package/dist/assets/upstream/recipes/app/bottom-sheet/bottom-sheet.js +4 -0
  1236. package/dist/assets/upstream/recipes/app/bottom-sheet/preview.html +27 -0
  1237. package/dist/assets/upstream/recipes/app/bottom-sheet/recipe.motion.yaml +53 -0
  1238. package/dist/assets/upstream/recipes/app/button-press/SKILL.md +36 -0
  1239. package/dist/assets/upstream/recipes/app/button-press/button-press.css +4 -0
  1240. package/dist/assets/upstream/recipes/app/button-press/button-press.js +7 -0
  1241. package/dist/assets/upstream/recipes/app/button-press/preview.html +25 -0
  1242. package/dist/assets/upstream/recipes/app/button-press/recipe.motion.yaml +53 -0
  1243. package/dist/assets/upstream/recipes/app/checkbox-pop/SKILL.md +36 -0
  1244. package/dist/assets/upstream/recipes/app/checkbox-pop/checkbox-pop.css +7 -0
  1245. package/dist/assets/upstream/recipes/app/checkbox-pop/checkbox-pop.js +4 -0
  1246. package/dist/assets/upstream/recipes/app/checkbox-pop/preview.html +25 -0
  1247. package/dist/assets/upstream/recipes/app/checkbox-pop/recipe.motion.yaml +53 -0
  1248. package/dist/assets/upstream/recipes/app/ripple/SKILL.md +36 -0
  1249. package/dist/assets/upstream/recipes/app/ripple/preview.html +24 -0
  1250. package/dist/assets/upstream/recipes/app/ripple/recipe.motion.yaml +53 -0
  1251. package/dist/assets/upstream/recipes/app/ripple/ripple.css +5 -0
  1252. package/dist/assets/upstream/recipes/app/ripple/ripple.js +5 -0
  1253. package/dist/assets/upstream/recipes/app/tab-bar-slide/SKILL.md +36 -0
  1254. package/dist/assets/upstream/recipes/app/tab-bar-slide/preview.html +25 -0
  1255. package/dist/assets/upstream/recipes/app/tab-bar-slide/recipe.motion.yaml +53 -0
  1256. package/dist/assets/upstream/recipes/app/tab-bar-slide/tab-bar-slide.css +6 -0
  1257. package/dist/assets/upstream/recipes/app/tab-bar-slide/tab-bar-slide.js +5 -0
  1258. package/dist/assets/upstream/recipes/app/toast-pop/SKILL.md +36 -0
  1259. package/dist/assets/upstream/recipes/app/toast-pop/preview.html +23 -0
  1260. package/dist/assets/upstream/recipes/app/toast-pop/recipe.motion.yaml +53 -0
  1261. package/dist/assets/upstream/recipes/app/toast-pop/toast-pop.css +5 -0
  1262. package/dist/assets/upstream/recipes/app/toast-pop/toast-pop.js +4 -0
  1263. package/dist/assets/upstream/recipes/css/anim-backindown/SKILL.md +40 -0
  1264. package/dist/assets/upstream/recipes/css/anim-backindown/backInDown.css +24 -0
  1265. package/dist/assets/upstream/recipes/css/anim-backindown/preview.html +24 -0
  1266. package/dist/assets/upstream/recipes/css/anim-backindown/recipe.motion.yaml +52 -0
  1267. package/dist/assets/upstream/recipes/css/anim-backinleft/SKILL.md +40 -0
  1268. package/dist/assets/upstream/recipes/css/anim-backinleft/backInLeft.css +24 -0
  1269. package/dist/assets/upstream/recipes/css/anim-backinleft/preview.html +24 -0
  1270. package/dist/assets/upstream/recipes/css/anim-backinleft/recipe.motion.yaml +52 -0
  1271. package/dist/assets/upstream/recipes/css/anim-backinright/SKILL.md +40 -0
  1272. package/dist/assets/upstream/recipes/css/anim-backinright/backInRight.css +24 -0
  1273. package/dist/assets/upstream/recipes/css/anim-backinright/preview.html +24 -0
  1274. package/dist/assets/upstream/recipes/css/anim-backinright/recipe.motion.yaml +52 -0
  1275. package/dist/assets/upstream/recipes/css/anim-backinup/SKILL.md +40 -0
  1276. package/dist/assets/upstream/recipes/css/anim-backinup/backInUp.css +24 -0
  1277. package/dist/assets/upstream/recipes/css/anim-backinup/preview.html +24 -0
  1278. package/dist/assets/upstream/recipes/css/anim-backinup/recipe.motion.yaml +52 -0
  1279. package/dist/assets/upstream/recipes/css/anim-backoutdown/SKILL.md +40 -0
  1280. package/dist/assets/upstream/recipes/css/anim-backoutdown/backOutDown.css +24 -0
  1281. package/dist/assets/upstream/recipes/css/anim-backoutdown/preview.html +24 -0
  1282. package/dist/assets/upstream/recipes/css/anim-backoutdown/recipe.motion.yaml +52 -0
  1283. package/dist/assets/upstream/recipes/css/anim-backoutleft/SKILL.md +40 -0
  1284. package/dist/assets/upstream/recipes/css/anim-backoutleft/backOutLeft.css +24 -0
  1285. package/dist/assets/upstream/recipes/css/anim-backoutleft/preview.html +24 -0
  1286. package/dist/assets/upstream/recipes/css/anim-backoutleft/recipe.motion.yaml +52 -0
  1287. package/dist/assets/upstream/recipes/css/anim-backoutright/SKILL.md +40 -0
  1288. package/dist/assets/upstream/recipes/css/anim-backoutright/backOutRight.css +24 -0
  1289. package/dist/assets/upstream/recipes/css/anim-backoutright/preview.html +24 -0
  1290. package/dist/assets/upstream/recipes/css/anim-backoutright/recipe.motion.yaml +52 -0
  1291. package/dist/assets/upstream/recipes/css/anim-backoutup/SKILL.md +40 -0
  1292. package/dist/assets/upstream/recipes/css/anim-backoutup/backOutUp.css +24 -0
  1293. package/dist/assets/upstream/recipes/css/anim-backoutup/preview.html +24 -0
  1294. package/dist/assets/upstream/recipes/css/anim-backoutup/recipe.motion.yaml +52 -0
  1295. package/dist/assets/upstream/recipes/css/anim-bounce/SKILL.md +40 -0
  1296. package/dist/assets/upstream/recipes/css/anim-bounce/bounce.css +38 -0
  1297. package/dist/assets/upstream/recipes/css/anim-bounce/preview.html +24 -0
  1298. package/dist/assets/upstream/recipes/css/anim-bounce/recipe.motion.yaml +52 -0
  1299. package/dist/assets/upstream/recipes/css/anim-bouncein/SKILL.md +40 -0
  1300. package/dist/assets/upstream/recipes/css/anim-bouncein/bounceIn.css +46 -0
  1301. package/dist/assets/upstream/recipes/css/anim-bouncein/preview.html +24 -0
  1302. package/dist/assets/upstream/recipes/css/anim-bouncein/recipe.motion.yaml +52 -0
  1303. package/dist/assets/upstream/recipes/css/anim-bounceindown/SKILL.md +40 -0
  1304. package/dist/assets/upstream/recipes/css/anim-bounceindown/bounceInDown.css +39 -0
  1305. package/dist/assets/upstream/recipes/css/anim-bounceindown/preview.html +24 -0
  1306. package/dist/assets/upstream/recipes/css/anim-bounceindown/recipe.motion.yaml +52 -0
  1307. package/dist/assets/upstream/recipes/css/anim-bounceinleft/SKILL.md +40 -0
  1308. package/dist/assets/upstream/recipes/css/anim-bounceinleft/bounceInLeft.css +39 -0
  1309. package/dist/assets/upstream/recipes/css/anim-bounceinleft/preview.html +24 -0
  1310. package/dist/assets/upstream/recipes/css/anim-bounceinleft/recipe.motion.yaml +52 -0
  1311. package/dist/assets/upstream/recipes/css/anim-bounceinright/SKILL.md +40 -0
  1312. package/dist/assets/upstream/recipes/css/anim-bounceinright/bounceInRight.css +39 -0
  1313. package/dist/assets/upstream/recipes/css/anim-bounceinright/preview.html +24 -0
  1314. package/dist/assets/upstream/recipes/css/anim-bounceinright/recipe.motion.yaml +52 -0
  1315. package/dist/assets/upstream/recipes/css/anim-bounceinup/SKILL.md +40 -0
  1316. package/dist/assets/upstream/recipes/css/anim-bounceinup/bounceInUp.css +39 -0
  1317. package/dist/assets/upstream/recipes/css/anim-bounceinup/preview.html +24 -0
  1318. package/dist/assets/upstream/recipes/css/anim-bounceinup/recipe.motion.yaml +52 -0
  1319. package/dist/assets/upstream/recipes/css/anim-bounceout/SKILL.md +40 -0
  1320. package/dist/assets/upstream/recipes/css/anim-bounceout/bounceOut.css +25 -0
  1321. package/dist/assets/upstream/recipes/css/anim-bounceout/preview.html +24 -0
  1322. package/dist/assets/upstream/recipes/css/anim-bounceout/recipe.motion.yaml +52 -0
  1323. package/dist/assets/upstream/recipes/css/anim-bounceoutdown/SKILL.md +40 -0
  1324. package/dist/assets/upstream/recipes/css/anim-bounceoutdown/bounceOutDown.css +24 -0
  1325. package/dist/assets/upstream/recipes/css/anim-bounceoutdown/preview.html +24 -0
  1326. package/dist/assets/upstream/recipes/css/anim-bounceoutdown/recipe.motion.yaml +52 -0
  1327. package/dist/assets/upstream/recipes/css/anim-bounceoutleft/SKILL.md +40 -0
  1328. package/dist/assets/upstream/recipes/css/anim-bounceoutleft/bounceOutLeft.css +19 -0
  1329. package/dist/assets/upstream/recipes/css/anim-bounceoutleft/preview.html +24 -0
  1330. package/dist/assets/upstream/recipes/css/anim-bounceoutleft/recipe.motion.yaml +52 -0
  1331. package/dist/assets/upstream/recipes/css/anim-bounceoutright/SKILL.md +40 -0
  1332. package/dist/assets/upstream/recipes/css/anim-bounceoutright/bounceOutRight.css +19 -0
  1333. package/dist/assets/upstream/recipes/css/anim-bounceoutright/preview.html +24 -0
  1334. package/dist/assets/upstream/recipes/css/anim-bounceoutright/recipe.motion.yaml +52 -0
  1335. package/dist/assets/upstream/recipes/css/anim-bounceoutup/SKILL.md +40 -0
  1336. package/dist/assets/upstream/recipes/css/anim-bounceoutup/bounceOutUp.css +24 -0
  1337. package/dist/assets/upstream/recipes/css/anim-bounceoutup/preview.html +24 -0
  1338. package/dist/assets/upstream/recipes/css/anim-bounceoutup/recipe.motion.yaml +52 -0
  1339. package/dist/assets/upstream/recipes/css/anim-fadein/SKILL.md +40 -0
  1340. package/dist/assets/upstream/recipes/css/anim-fadein/fadeIn.css +17 -0
  1341. package/dist/assets/upstream/recipes/css/anim-fadein/preview.html +24 -0
  1342. package/dist/assets/upstream/recipes/css/anim-fadein/recipe.motion.yaml +52 -0
  1343. package/dist/assets/upstream/recipes/css/anim-fadeinbottomleft/SKILL.md +40 -0
  1344. package/dist/assets/upstream/recipes/css/anim-fadeinbottomleft/fadeInBottomLeft.css +18 -0
  1345. package/dist/assets/upstream/recipes/css/anim-fadeinbottomleft/preview.html +24 -0
  1346. package/dist/assets/upstream/recipes/css/anim-fadeinbottomleft/recipe.motion.yaml +52 -0
  1347. package/dist/assets/upstream/recipes/css/anim-fadeinbottomright/SKILL.md +40 -0
  1348. package/dist/assets/upstream/recipes/css/anim-fadeinbottomright/fadeInBottomRight.css +18 -0
  1349. package/dist/assets/upstream/recipes/css/anim-fadeinbottomright/preview.html +24 -0
  1350. package/dist/assets/upstream/recipes/css/anim-fadeinbottomright/recipe.motion.yaml +52 -0
  1351. package/dist/assets/upstream/recipes/css/anim-fadeindown/SKILL.md +40 -0
  1352. package/dist/assets/upstream/recipes/css/anim-fadeindown/fadeInDown.css +19 -0
  1353. package/dist/assets/upstream/recipes/css/anim-fadeindown/preview.html +24 -0
  1354. package/dist/assets/upstream/recipes/css/anim-fadeindown/recipe.motion.yaml +52 -0
  1355. package/dist/assets/upstream/recipes/css/anim-fadeindownbig/SKILL.md +40 -0
  1356. package/dist/assets/upstream/recipes/css/anim-fadeindownbig/fadeInDownBig.css +19 -0
  1357. package/dist/assets/upstream/recipes/css/anim-fadeindownbig/preview.html +24 -0
  1358. package/dist/assets/upstream/recipes/css/anim-fadeindownbig/recipe.motion.yaml +52 -0
  1359. package/dist/assets/upstream/recipes/css/anim-fadeinleft/SKILL.md +40 -0
  1360. package/dist/assets/upstream/recipes/css/anim-fadeinleft/fadeInLeft.css +19 -0
  1361. package/dist/assets/upstream/recipes/css/anim-fadeinleft/preview.html +24 -0
  1362. package/dist/assets/upstream/recipes/css/anim-fadeinleft/recipe.motion.yaml +52 -0
  1363. package/dist/assets/upstream/recipes/css/anim-fadeinleftbig/SKILL.md +40 -0
  1364. package/dist/assets/upstream/recipes/css/anim-fadeinleftbig/fadeInLeftBig.css +19 -0
  1365. package/dist/assets/upstream/recipes/css/anim-fadeinleftbig/preview.html +24 -0
  1366. package/dist/assets/upstream/recipes/css/anim-fadeinleftbig/recipe.motion.yaml +52 -0
  1367. package/dist/assets/upstream/recipes/css/anim-fadeinright/SKILL.md +40 -0
  1368. package/dist/assets/upstream/recipes/css/anim-fadeinright/fadeInRight.css +19 -0
  1369. package/dist/assets/upstream/recipes/css/anim-fadeinright/preview.html +24 -0
  1370. package/dist/assets/upstream/recipes/css/anim-fadeinright/recipe.motion.yaml +52 -0
  1371. package/dist/assets/upstream/recipes/css/anim-fadeinrightbig/SKILL.md +40 -0
  1372. package/dist/assets/upstream/recipes/css/anim-fadeinrightbig/fadeInRightBig.css +19 -0
  1373. package/dist/assets/upstream/recipes/css/anim-fadeinrightbig/preview.html +24 -0
  1374. package/dist/assets/upstream/recipes/css/anim-fadeinrightbig/recipe.motion.yaml +52 -0
  1375. package/dist/assets/upstream/recipes/css/anim-fadeintopleft/SKILL.md +40 -0
  1376. package/dist/assets/upstream/recipes/css/anim-fadeintopleft/fadeInTopLeft.css +18 -0
  1377. package/dist/assets/upstream/recipes/css/anim-fadeintopleft/preview.html +24 -0
  1378. package/dist/assets/upstream/recipes/css/anim-fadeintopleft/recipe.motion.yaml +52 -0
  1379. package/dist/assets/upstream/recipes/css/anim-fadeintopright/SKILL.md +40 -0
  1380. package/dist/assets/upstream/recipes/css/anim-fadeintopright/fadeInTopRight.css +18 -0
  1381. package/dist/assets/upstream/recipes/css/anim-fadeintopright/preview.html +24 -0
  1382. package/dist/assets/upstream/recipes/css/anim-fadeintopright/recipe.motion.yaml +52 -0
  1383. package/dist/assets/upstream/recipes/css/anim-fadeinup/SKILL.md +40 -0
  1384. package/dist/assets/upstream/recipes/css/anim-fadeinup/fadeInUp.css +19 -0
  1385. package/dist/assets/upstream/recipes/css/anim-fadeinup/preview.html +24 -0
  1386. package/dist/assets/upstream/recipes/css/anim-fadeinup/recipe.motion.yaml +52 -0
  1387. package/dist/assets/upstream/recipes/css/anim-fadeinupbig/SKILL.md +40 -0
  1388. package/dist/assets/upstream/recipes/css/anim-fadeinupbig/fadeInUpBig.css +19 -0
  1389. package/dist/assets/upstream/recipes/css/anim-fadeinupbig/preview.html +24 -0
  1390. package/dist/assets/upstream/recipes/css/anim-fadeinupbig/recipe.motion.yaml +52 -0
  1391. package/dist/assets/upstream/recipes/css/anim-fadeout/SKILL.md +40 -0
  1392. package/dist/assets/upstream/recipes/css/anim-fadeout/fadeOut.css +17 -0
  1393. package/dist/assets/upstream/recipes/css/anim-fadeout/preview.html +24 -0
  1394. package/dist/assets/upstream/recipes/css/anim-fadeout/recipe.motion.yaml +52 -0
  1395. package/dist/assets/upstream/recipes/css/anim-fadeoutbottomleft/SKILL.md +40 -0
  1396. package/dist/assets/upstream/recipes/css/anim-fadeoutbottomleft/fadeOutBottomLeft.css +18 -0
  1397. package/dist/assets/upstream/recipes/css/anim-fadeoutbottomleft/preview.html +24 -0
  1398. package/dist/assets/upstream/recipes/css/anim-fadeoutbottomleft/recipe.motion.yaml +52 -0
  1399. package/dist/assets/upstream/recipes/css/anim-fadeoutbottomright/SKILL.md +40 -0
  1400. package/dist/assets/upstream/recipes/css/anim-fadeoutbottomright/fadeOutBottomRight.css +18 -0
  1401. package/dist/assets/upstream/recipes/css/anim-fadeoutbottomright/preview.html +24 -0
  1402. package/dist/assets/upstream/recipes/css/anim-fadeoutbottomright/recipe.motion.yaml +52 -0
  1403. package/dist/assets/upstream/recipes/css/anim-fadeoutdown/SKILL.md +40 -0
  1404. package/dist/assets/upstream/recipes/css/anim-fadeoutdown/fadeOutDown.css +18 -0
  1405. package/dist/assets/upstream/recipes/css/anim-fadeoutdown/preview.html +24 -0
  1406. package/dist/assets/upstream/recipes/css/anim-fadeoutdown/recipe.motion.yaml +52 -0
  1407. package/dist/assets/upstream/recipes/css/anim-fadeoutdownbig/SKILL.md +40 -0
  1408. package/dist/assets/upstream/recipes/css/anim-fadeoutdownbig/fadeOutDownBig.css +18 -0
  1409. package/dist/assets/upstream/recipes/css/anim-fadeoutdownbig/preview.html +24 -0
  1410. package/dist/assets/upstream/recipes/css/anim-fadeoutdownbig/recipe.motion.yaml +52 -0
  1411. package/dist/assets/upstream/recipes/css/anim-fadeoutleft/SKILL.md +40 -0
  1412. package/dist/assets/upstream/recipes/css/anim-fadeoutleft/fadeOutLeft.css +18 -0
  1413. package/dist/assets/upstream/recipes/css/anim-fadeoutleft/preview.html +24 -0
  1414. package/dist/assets/upstream/recipes/css/anim-fadeoutleft/recipe.motion.yaml +52 -0
  1415. package/dist/assets/upstream/recipes/css/anim-fadeoutleftbig/SKILL.md +40 -0
  1416. package/dist/assets/upstream/recipes/css/anim-fadeoutleftbig/fadeOutLeftBig.css +18 -0
  1417. package/dist/assets/upstream/recipes/css/anim-fadeoutleftbig/preview.html +24 -0
  1418. package/dist/assets/upstream/recipes/css/anim-fadeoutleftbig/recipe.motion.yaml +52 -0
  1419. package/dist/assets/upstream/recipes/css/anim-fadeoutright/SKILL.md +40 -0
  1420. package/dist/assets/upstream/recipes/css/anim-fadeoutright/fadeOutRight.css +18 -0
  1421. package/dist/assets/upstream/recipes/css/anim-fadeoutright/preview.html +24 -0
  1422. package/dist/assets/upstream/recipes/css/anim-fadeoutright/recipe.motion.yaml +52 -0
  1423. package/dist/assets/upstream/recipes/css/anim-fadeoutrightbig/SKILL.md +40 -0
  1424. package/dist/assets/upstream/recipes/css/anim-fadeoutrightbig/fadeOutRightBig.css +18 -0
  1425. package/dist/assets/upstream/recipes/css/anim-fadeoutrightbig/preview.html +24 -0
  1426. package/dist/assets/upstream/recipes/css/anim-fadeoutrightbig/recipe.motion.yaml +52 -0
  1427. package/dist/assets/upstream/recipes/css/anim-fadeouttopleft/SKILL.md +40 -0
  1428. package/dist/assets/upstream/recipes/css/anim-fadeouttopleft/fadeOutTopLeft.css +18 -0
  1429. package/dist/assets/upstream/recipes/css/anim-fadeouttopleft/preview.html +24 -0
  1430. package/dist/assets/upstream/recipes/css/anim-fadeouttopleft/recipe.motion.yaml +52 -0
  1431. package/dist/assets/upstream/recipes/css/anim-fadeouttopright/SKILL.md +40 -0
  1432. package/dist/assets/upstream/recipes/css/anim-fadeouttopright/fadeOutTopRight.css +18 -0
  1433. package/dist/assets/upstream/recipes/css/anim-fadeouttopright/preview.html +24 -0
  1434. package/dist/assets/upstream/recipes/css/anim-fadeouttopright/recipe.motion.yaml +52 -0
  1435. package/dist/assets/upstream/recipes/css/anim-fadeoutup/SKILL.md +40 -0
  1436. package/dist/assets/upstream/recipes/css/anim-fadeoutup/fadeOutUp.css +18 -0
  1437. package/dist/assets/upstream/recipes/css/anim-fadeoutup/preview.html +24 -0
  1438. package/dist/assets/upstream/recipes/css/anim-fadeoutup/recipe.motion.yaml +52 -0
  1439. package/dist/assets/upstream/recipes/css/anim-fadeoutupbig/SKILL.md +40 -0
  1440. package/dist/assets/upstream/recipes/css/anim-fadeoutupbig/fadeOutUpBig.css +18 -0
  1441. package/dist/assets/upstream/recipes/css/anim-fadeoutupbig/preview.html +24 -0
  1442. package/dist/assets/upstream/recipes/css/anim-fadeoutupbig/recipe.motion.yaml +52 -0
  1443. package/dist/assets/upstream/recipes/css/anim-flash/SKILL.md +40 -0
  1444. package/dist/assets/upstream/recipes/css/anim-flash/flash.css +20 -0
  1445. package/dist/assets/upstream/recipes/css/anim-flash/preview.html +24 -0
  1446. package/dist/assets/upstream/recipes/css/anim-flash/recipe.motion.yaml +52 -0
  1447. package/dist/assets/upstream/recipes/css/anim-flip/SKILL.md +40 -0
  1448. package/dist/assets/upstream/recipes/css/anim-flip/flip.css +38 -0
  1449. package/dist/assets/upstream/recipes/css/anim-flip/preview.html +24 -0
  1450. package/dist/assets/upstream/recipes/css/anim-flip/recipe.motion.yaml +52 -0
  1451. package/dist/assets/upstream/recipes/css/anim-flipinx/SKILL.md +40 -0
  1452. package/dist/assets/upstream/recipes/css/anim-flipinx/flipInX.css +34 -0
  1453. package/dist/assets/upstream/recipes/css/anim-flipinx/preview.html +24 -0
  1454. package/dist/assets/upstream/recipes/css/anim-flipinx/recipe.motion.yaml +52 -0
  1455. package/dist/assets/upstream/recipes/css/anim-flipiny/SKILL.md +40 -0
  1456. package/dist/assets/upstream/recipes/css/anim-flipiny/flipInY.css +34 -0
  1457. package/dist/assets/upstream/recipes/css/anim-flipiny/preview.html +24 -0
  1458. package/dist/assets/upstream/recipes/css/anim-flipiny/recipe.motion.yaml +52 -0
  1459. package/dist/assets/upstream/recipes/css/anim-headshake/SKILL.md +40 -0
  1460. package/dist/assets/upstream/recipes/css/anim-headshake/headShake.css +34 -0
  1461. package/dist/assets/upstream/recipes/css/anim-headshake/preview.html +24 -0
  1462. package/dist/assets/upstream/recipes/css/anim-headshake/recipe.motion.yaml +52 -0
  1463. package/dist/assets/upstream/recipes/css/anim-heartbeat/SKILL.md +40 -0
  1464. package/dist/assets/upstream/recipes/css/anim-heartbeat/heartBeat.css +31 -0
  1465. package/dist/assets/upstream/recipes/css/anim-heartbeat/preview.html +24 -0
  1466. package/dist/assets/upstream/recipes/css/anim-heartbeat/recipe.motion.yaml +52 -0
  1467. package/dist/assets/upstream/recipes/css/anim-hinge/SKILL.md +40 -0
  1468. package/dist/assets/upstream/recipes/css/anim-hinge/hinge.css +33 -0
  1469. package/dist/assets/upstream/recipes/css/anim-hinge/preview.html +24 -0
  1470. package/dist/assets/upstream/recipes/css/anim-hinge/recipe.motion.yaml +52 -0
  1471. package/dist/assets/upstream/recipes/css/anim-jackinthebox/SKILL.md +40 -0
  1472. package/dist/assets/upstream/recipes/css/anim-jackinthebox/jackInTheBox.css +28 -0
  1473. package/dist/assets/upstream/recipes/css/anim-jackinthebox/preview.html +24 -0
  1474. package/dist/assets/upstream/recipes/css/anim-jackinthebox/recipe.motion.yaml +52 -0
  1475. package/dist/assets/upstream/recipes/css/anim-jello/SKILL.md +40 -0
  1476. package/dist/assets/upstream/recipes/css/anim-jello/jello.css +44 -0
  1477. package/dist/assets/upstream/recipes/css/anim-jello/preview.html +24 -0
  1478. package/dist/assets/upstream/recipes/css/anim-jello/recipe.motion.yaml +52 -0
  1479. package/dist/assets/upstream/recipes/css/anim-lightspeedinleft/SKILL.md +40 -0
  1480. package/dist/assets/upstream/recipes/css/anim-lightspeedinleft/lightSpeedInLeft.css +28 -0
  1481. package/dist/assets/upstream/recipes/css/anim-lightspeedinleft/preview.html +24 -0
  1482. package/dist/assets/upstream/recipes/css/anim-lightspeedinleft/recipe.motion.yaml +52 -0
  1483. package/dist/assets/upstream/recipes/css/anim-lightspeedinright/SKILL.md +40 -0
  1484. package/dist/assets/upstream/recipes/css/anim-lightspeedinright/lightSpeedInRight.css +28 -0
  1485. package/dist/assets/upstream/recipes/css/anim-lightspeedinright/preview.html +24 -0
  1486. package/dist/assets/upstream/recipes/css/anim-lightspeedinright/recipe.motion.yaml +52 -0
  1487. package/dist/assets/upstream/recipes/css/anim-pulse/SKILL.md +40 -0
  1488. package/dist/assets/upstream/recipes/css/anim-pulse/preview.html +24 -0
  1489. package/dist/assets/upstream/recipes/css/anim-pulse/pulse.css +24 -0
  1490. package/dist/assets/upstream/recipes/css/anim-pulse/recipe.motion.yaml +52 -0
  1491. package/dist/assets/upstream/recipes/css/anim-rollin/SKILL.md +40 -0
  1492. package/dist/assets/upstream/recipes/css/anim-rollin/preview.html +24 -0
  1493. package/dist/assets/upstream/recipes/css/anim-rollin/recipe.motion.yaml +52 -0
  1494. package/dist/assets/upstream/recipes/css/anim-rollin/rollIn.css +21 -0
  1495. package/dist/assets/upstream/recipes/css/anim-rollout/SKILL.md +40 -0
  1496. package/dist/assets/upstream/recipes/css/anim-rollout/preview.html +24 -0
  1497. package/dist/assets/upstream/recipes/css/anim-rollout/recipe.motion.yaml +52 -0
  1498. package/dist/assets/upstream/recipes/css/anim-rollout/rollOut.css +20 -0
  1499. package/dist/assets/upstream/recipes/css/anim-rotatein/SKILL.md +40 -0
  1500. package/dist/assets/upstream/recipes/css/anim-rotatein/preview.html +24 -0
  1501. package/dist/assets/upstream/recipes/css/anim-rotatein/recipe.motion.yaml +52 -0
  1502. package/dist/assets/upstream/recipes/css/anim-rotatein/rotateIn.css +20 -0
  1503. package/dist/assets/upstream/recipes/css/anim-rotateindownleft/SKILL.md +40 -0
  1504. package/dist/assets/upstream/recipes/css/anim-rotateindownleft/preview.html +24 -0
  1505. package/dist/assets/upstream/recipes/css/anim-rotateindownleft/recipe.motion.yaml +52 -0
  1506. package/dist/assets/upstream/recipes/css/anim-rotateindownleft/rotateInDownLeft.css +20 -0
  1507. package/dist/assets/upstream/recipes/css/anim-rotateindownright/SKILL.md +40 -0
  1508. package/dist/assets/upstream/recipes/css/anim-rotateindownright/preview.html +24 -0
  1509. package/dist/assets/upstream/recipes/css/anim-rotateindownright/recipe.motion.yaml +52 -0
  1510. package/dist/assets/upstream/recipes/css/anim-rotateindownright/rotateInDownRight.css +20 -0
  1511. package/dist/assets/upstream/recipes/css/anim-rotateinupleft/SKILL.md +40 -0
  1512. package/dist/assets/upstream/recipes/css/anim-rotateinupleft/preview.html +24 -0
  1513. package/dist/assets/upstream/recipes/css/anim-rotateinupleft/recipe.motion.yaml +52 -0
  1514. package/dist/assets/upstream/recipes/css/anim-rotateinupleft/rotateInUpLeft.css +20 -0
  1515. package/dist/assets/upstream/recipes/css/anim-rotateinupright/SKILL.md +40 -0
  1516. package/dist/assets/upstream/recipes/css/anim-rotateinupright/preview.html +24 -0
  1517. package/dist/assets/upstream/recipes/css/anim-rotateinupright/recipe.motion.yaml +52 -0
  1518. package/dist/assets/upstream/recipes/css/anim-rotateinupright/rotateInUpRight.css +20 -0
  1519. package/dist/assets/upstream/recipes/css/anim-rotateout/SKILL.md +40 -0
  1520. package/dist/assets/upstream/recipes/css/anim-rotateout/preview.html +24 -0
  1521. package/dist/assets/upstream/recipes/css/anim-rotateout/recipe.motion.yaml +52 -0
  1522. package/dist/assets/upstream/recipes/css/anim-rotateout/rotateOut.css +19 -0
  1523. package/dist/assets/upstream/recipes/css/anim-rotateoutdownleft/SKILL.md +40 -0
  1524. package/dist/assets/upstream/recipes/css/anim-rotateoutdownleft/preview.html +24 -0
  1525. package/dist/assets/upstream/recipes/css/anim-rotateoutdownleft/recipe.motion.yaml +52 -0
  1526. package/dist/assets/upstream/recipes/css/anim-rotateoutdownleft/rotateOutDownLeft.css +19 -0
  1527. package/dist/assets/upstream/recipes/css/anim-rotateoutdownright/SKILL.md +40 -0
  1528. package/dist/assets/upstream/recipes/css/anim-rotateoutdownright/preview.html +24 -0
  1529. package/dist/assets/upstream/recipes/css/anim-rotateoutdownright/recipe.motion.yaml +52 -0
  1530. package/dist/assets/upstream/recipes/css/anim-rotateoutdownright/rotateOutDownRight.css +19 -0
  1531. package/dist/assets/upstream/recipes/css/anim-rotateoutupleft/SKILL.md +40 -0
  1532. package/dist/assets/upstream/recipes/css/anim-rotateoutupleft/preview.html +24 -0
  1533. package/dist/assets/upstream/recipes/css/anim-rotateoutupleft/recipe.motion.yaml +52 -0
  1534. package/dist/assets/upstream/recipes/css/anim-rotateoutupleft/rotateOutUpLeft.css +19 -0
  1535. package/dist/assets/upstream/recipes/css/anim-rotateoutupright/SKILL.md +40 -0
  1536. package/dist/assets/upstream/recipes/css/anim-rotateoutupright/preview.html +24 -0
  1537. package/dist/assets/upstream/recipes/css/anim-rotateoutupright/recipe.motion.yaml +52 -0
  1538. package/dist/assets/upstream/recipes/css/anim-rotateoutupright/rotateOutUpRight.css +19 -0
  1539. package/dist/assets/upstream/recipes/css/anim-rubberband/SKILL.md +40 -0
  1540. package/dist/assets/upstream/recipes/css/anim-rubberband/preview.html +24 -0
  1541. package/dist/assets/upstream/recipes/css/anim-rubberband/recipe.motion.yaml +52 -0
  1542. package/dist/assets/upstream/recipes/css/anim-rubberband/rubberBand.css +37 -0
  1543. package/dist/assets/upstream/recipes/css/anim-shake/SKILL.md +40 -0
  1544. package/dist/assets/upstream/recipes/css/anim-shake/preview.html +24 -0
  1545. package/dist/assets/upstream/recipes/css/anim-shake/recipe.motion.yaml +52 -0
  1546. package/dist/assets/upstream/recipes/css/anim-shake/shake.css +29 -0
  1547. package/dist/assets/upstream/recipes/css/anim-shakex/SKILL.md +40 -0
  1548. package/dist/assets/upstream/recipes/css/anim-shakex/preview.html +24 -0
  1549. package/dist/assets/upstream/recipes/css/anim-shakex/recipe.motion.yaml +52 -0
  1550. package/dist/assets/upstream/recipes/css/anim-shakex/shakeX.css +29 -0
  1551. package/dist/assets/upstream/recipes/css/anim-shakey/SKILL.md +40 -0
  1552. package/dist/assets/upstream/recipes/css/anim-shakey/preview.html +24 -0
  1553. package/dist/assets/upstream/recipes/css/anim-shakey/recipe.motion.yaml +52 -0
  1554. package/dist/assets/upstream/recipes/css/anim-shakey/shakeY.css +29 -0
  1555. package/dist/assets/upstream/recipes/css/anim-slideindown/SKILL.md +40 -0
  1556. package/dist/assets/upstream/recipes/css/anim-slideindown/preview.html +24 -0
  1557. package/dist/assets/upstream/recipes/css/anim-slideindown/recipe.motion.yaml +52 -0
  1558. package/dist/assets/upstream/recipes/css/anim-slideindown/slideInDown.css +18 -0
  1559. package/dist/assets/upstream/recipes/css/anim-slideinleft/SKILL.md +40 -0
  1560. package/dist/assets/upstream/recipes/css/anim-slideinleft/preview.html +24 -0
  1561. package/dist/assets/upstream/recipes/css/anim-slideinleft/recipe.motion.yaml +52 -0
  1562. package/dist/assets/upstream/recipes/css/anim-slideinleft/slideInLeft.css +18 -0
  1563. package/dist/assets/upstream/recipes/css/anim-slideinright/SKILL.md +40 -0
  1564. package/dist/assets/upstream/recipes/css/anim-slideinright/preview.html +24 -0
  1565. package/dist/assets/upstream/recipes/css/anim-slideinright/recipe.motion.yaml +52 -0
  1566. package/dist/assets/upstream/recipes/css/anim-slideinright/slideInRight.css +18 -0
  1567. package/dist/assets/upstream/recipes/css/anim-slideinup/SKILL.md +40 -0
  1568. package/dist/assets/upstream/recipes/css/anim-slideinup/preview.html +24 -0
  1569. package/dist/assets/upstream/recipes/css/anim-slideinup/recipe.motion.yaml +52 -0
  1570. package/dist/assets/upstream/recipes/css/anim-slideinup/slideInUp.css +18 -0
  1571. package/dist/assets/upstream/recipes/css/anim-slideoutdown/SKILL.md +40 -0
  1572. package/dist/assets/upstream/recipes/css/anim-slideoutdown/preview.html +24 -0
  1573. package/dist/assets/upstream/recipes/css/anim-slideoutdown/recipe.motion.yaml +52 -0
  1574. package/dist/assets/upstream/recipes/css/anim-slideoutdown/slideOutDown.css +18 -0
  1575. package/dist/assets/upstream/recipes/css/anim-slideoutleft/SKILL.md +40 -0
  1576. package/dist/assets/upstream/recipes/css/anim-slideoutleft/preview.html +24 -0
  1577. package/dist/assets/upstream/recipes/css/anim-slideoutleft/recipe.motion.yaml +52 -0
  1578. package/dist/assets/upstream/recipes/css/anim-slideoutleft/slideOutLeft.css +18 -0
  1579. package/dist/assets/upstream/recipes/css/anim-slideoutright/SKILL.md +40 -0
  1580. package/dist/assets/upstream/recipes/css/anim-slideoutright/preview.html +24 -0
  1581. package/dist/assets/upstream/recipes/css/anim-slideoutright/recipe.motion.yaml +52 -0
  1582. package/dist/assets/upstream/recipes/css/anim-slideoutright/slideOutRight.css +18 -0
  1583. package/dist/assets/upstream/recipes/css/anim-slideoutup/SKILL.md +40 -0
  1584. package/dist/assets/upstream/recipes/css/anim-slideoutup/preview.html +24 -0
  1585. package/dist/assets/upstream/recipes/css/anim-slideoutup/recipe.motion.yaml +52 -0
  1586. package/dist/assets/upstream/recipes/css/anim-slideoutup/slideOutUp.css +18 -0
  1587. package/dist/assets/upstream/recipes/css/anim-swing/SKILL.md +40 -0
  1588. package/dist/assets/upstream/recipes/css/anim-swing/preview.html +24 -0
  1589. package/dist/assets/upstream/recipes/css/anim-swing/recipe.motion.yaml +52 -0
  1590. package/dist/assets/upstream/recipes/css/anim-swing/swing.css +30 -0
  1591. package/dist/assets/upstream/recipes/css/anim-tada/SKILL.md +40 -0
  1592. package/dist/assets/upstream/recipes/css/anim-tada/preview.html +24 -0
  1593. package/dist/assets/upstream/recipes/css/anim-tada/recipe.motion.yaml +52 -0
  1594. package/dist/assets/upstream/recipes/css/anim-tada/tada.css +35 -0
  1595. package/dist/assets/upstream/recipes/css/anim-wobble/SKILL.md +40 -0
  1596. package/dist/assets/upstream/recipes/css/anim-wobble/preview.html +24 -0
  1597. package/dist/assets/upstream/recipes/css/anim-wobble/recipe.motion.yaml +52 -0
  1598. package/dist/assets/upstream/recipes/css/anim-wobble/wobble.css +39 -0
  1599. package/dist/assets/upstream/recipes/css/anim-zoomin/SKILL.md +40 -0
  1600. package/dist/assets/upstream/recipes/css/anim-zoomin/preview.html +24 -0
  1601. package/dist/assets/upstream/recipes/css/anim-zoomin/recipe.motion.yaml +52 -0
  1602. package/dist/assets/upstream/recipes/css/anim-zoomin/zoomIn.css +18 -0
  1603. package/dist/assets/upstream/recipes/css/anim-zoomindown/SKILL.md +40 -0
  1604. package/dist/assets/upstream/recipes/css/anim-zoomindown/preview.html +24 -0
  1605. package/dist/assets/upstream/recipes/css/anim-zoomindown/recipe.motion.yaml +52 -0
  1606. package/dist/assets/upstream/recipes/css/anim-zoomindown/zoomInDown.css +21 -0
  1607. package/dist/assets/upstream/recipes/css/anim-zoominleft/SKILL.md +40 -0
  1608. package/dist/assets/upstream/recipes/css/anim-zoominleft/preview.html +24 -0
  1609. package/dist/assets/upstream/recipes/css/anim-zoominleft/recipe.motion.yaml +52 -0
  1610. package/dist/assets/upstream/recipes/css/anim-zoominleft/zoomInLeft.css +21 -0
  1611. package/dist/assets/upstream/recipes/css/anim-zoominright/SKILL.md +40 -0
  1612. package/dist/assets/upstream/recipes/css/anim-zoominright/preview.html +24 -0
  1613. package/dist/assets/upstream/recipes/css/anim-zoominright/recipe.motion.yaml +52 -0
  1614. package/dist/assets/upstream/recipes/css/anim-zoominright/zoomInRight.css +21 -0
  1615. package/dist/assets/upstream/recipes/css/anim-zoominup/SKILL.md +40 -0
  1616. package/dist/assets/upstream/recipes/css/anim-zoominup/preview.html +24 -0
  1617. package/dist/assets/upstream/recipes/css/anim-zoominup/recipe.motion.yaml +52 -0
  1618. package/dist/assets/upstream/recipes/css/anim-zoominup/zoomInUp.css +21 -0
  1619. package/dist/assets/upstream/recipes/css/anim-zoomout/SKILL.md +40 -0
  1620. package/dist/assets/upstream/recipes/css/anim-zoomout/preview.html +24 -0
  1621. package/dist/assets/upstream/recipes/css/anim-zoomout/recipe.motion.yaml +52 -0
  1622. package/dist/assets/upstream/recipes/css/anim-zoomout/zoomOut.css +22 -0
  1623. package/dist/assets/upstream/recipes/css/anim-zoomoutdown/SKILL.md +40 -0
  1624. package/dist/assets/upstream/recipes/css/anim-zoomoutdown/preview.html +24 -0
  1625. package/dist/assets/upstream/recipes/css/anim-zoomoutdown/recipe.motion.yaml +52 -0
  1626. package/dist/assets/upstream/recipes/css/anim-zoomoutdown/zoomOutDown.css +22 -0
  1627. package/dist/assets/upstream/recipes/css/anim-zoomoutleft/SKILL.md +40 -0
  1628. package/dist/assets/upstream/recipes/css/anim-zoomoutleft/preview.html +24 -0
  1629. package/dist/assets/upstream/recipes/css/anim-zoomoutleft/recipe.motion.yaml +52 -0
  1630. package/dist/assets/upstream/recipes/css/anim-zoomoutleft/zoomOutLeft.css +20 -0
  1631. package/dist/assets/upstream/recipes/css/anim-zoomoutright/SKILL.md +40 -0
  1632. package/dist/assets/upstream/recipes/css/anim-zoomoutright/preview.html +24 -0
  1633. package/dist/assets/upstream/recipes/css/anim-zoomoutright/recipe.motion.yaml +52 -0
  1634. package/dist/assets/upstream/recipes/css/anim-zoomoutright/zoomOutRight.css +20 -0
  1635. package/dist/assets/upstream/recipes/css/anim-zoomoutup/SKILL.md +40 -0
  1636. package/dist/assets/upstream/recipes/css/anim-zoomoutup/preview.html +24 -0
  1637. package/dist/assets/upstream/recipes/css/anim-zoomoutup/recipe.motion.yaml +52 -0
  1638. package/dist/assets/upstream/recipes/css/anim-zoomoutup/zoomOutUp.css +22 -0
  1639. package/dist/assets/upstream/recipes/imported/animated-content/AnimatedContent.jsx +116 -0
  1640. package/dist/assets/upstream/recipes/imported/animated-list/AnimatedList.css +70 -0
  1641. package/dist/assets/upstream/recipes/imported/animated-list/AnimatedList.jsx +151 -0
  1642. package/dist/assets/upstream/recipes/imported/antigravity/Antigravity.jsx +179 -0
  1643. package/dist/assets/upstream/recipes/imported/ascii-text/ASCIIText.jsx +533 -0
  1644. package/dist/assets/upstream/recipes/imported/aurora/Aurora.css +4 -0
  1645. package/dist/assets/upstream/recipes/imported/aurora/Aurora.jsx +202 -0
  1646. package/dist/assets/upstream/recipes/imported/balatro/Balatro.css +4 -0
  1647. package/dist/assets/upstream/recipes/imported/balatro/Balatro.jsx +212 -0
  1648. package/dist/assets/upstream/recipes/imported/ballpit/Ballpit.jsx +745 -0
  1649. package/dist/assets/upstream/recipes/imported/beams/Beams.css +5 -0
  1650. package/dist/assets/upstream/recipes/imported/beams/Beams.jsx +308 -0
  1651. package/dist/assets/upstream/recipes/imported/blob-cursor/BlobCursor.css +28 -0
  1652. package/dist/assets/upstream/recipes/imported/blob-cursor/BlobCursor.jsx +112 -0
  1653. package/dist/assets/upstream/recipes/imported/blur-text/BlurText.jsx +102 -0
  1654. package/dist/assets/upstream/recipes/imported/border-glow/BorderGlow.css +141 -0
  1655. package/dist/assets/upstream/recipes/imported/border-glow/BorderGlow.jsx +156 -0
  1656. package/dist/assets/upstream/recipes/imported/bounce-cards/BounceCards.css +24 -0
  1657. package/dist/assets/upstream/recipes/imported/bounce-cards/BounceCards.jsx +142 -0
  1658. package/dist/assets/upstream/recipes/imported/bubble-menu/BubbleMenu.css +268 -0
  1659. package/dist/assets/upstream/recipes/imported/bubble-menu/BubbleMenu.jsx +214 -0
  1660. package/dist/assets/upstream/recipes/imported/card-nav/CardNav.css +209 -0
  1661. package/dist/assets/upstream/recipes/imported/card-nav/CardNav.jsx +197 -0
  1662. package/dist/assets/upstream/recipes/imported/card-swap/CardSwap.css +36 -0
  1663. package/dist/assets/upstream/recipes/imported/card-swap/CardSwap.jsx +181 -0
  1664. package/dist/assets/upstream/recipes/imported/carousel/Carousel.css +143 -0
  1665. package/dist/assets/upstream/recipes/imported/carousel/Carousel.jsx +265 -0
  1666. package/dist/assets/upstream/recipes/imported/chroma-grid/ChromaGrid.css +174 -0
  1667. package/dist/assets/upstream/recipes/imported/chroma-grid/ChromaGrid.jsx +174 -0
  1668. package/dist/assets/upstream/recipes/imported/circular-gallery/CircularGallery.css +15 -0
  1669. package/dist/assets/upstream/recipes/imported/circular-gallery/CircularGallery.jsx +633 -0
  1670. package/dist/assets/upstream/recipes/imported/circular-text/CircularText.css +25 -0
  1671. package/dist/assets/upstream/recipes/imported/circular-text/CircularText.jsx +109 -0
  1672. package/dist/assets/upstream/recipes/imported/click-spark/ClickSpark.jsx +161 -0
  1673. package/dist/assets/upstream/recipes/imported/color-bends/ColorBends.css +6 -0
  1674. package/dist/assets/upstream/recipes/imported/color-bends/ColorBends.jsx +317 -0
  1675. package/dist/assets/upstream/recipes/imported/count-up/CountUp.jsx +101 -0
  1676. package/dist/assets/upstream/recipes/imported/counter/Counter.css +42 -0
  1677. package/dist/assets/upstream/recipes/imported/counter/Counter.jsx +126 -0
  1678. package/dist/assets/upstream/recipes/imported/crosshair/Crosshair.jsx +195 -0
  1679. package/dist/assets/upstream/recipes/imported/cubes/Cubes.css +80 -0
  1680. package/dist/assets/upstream/recipes/imported/cubes/Cubes.jsx +287 -0
  1681. package/dist/assets/upstream/recipes/imported/curved-loop/CurvedLoop.css +23 -0
  1682. package/dist/assets/upstream/recipes/imported/curved-loop/CurvedLoop.jsx +135 -0
  1683. package/dist/assets/upstream/recipes/imported/dark-veil/DarkVeil.css +5 -0
  1684. package/dist/assets/upstream/recipes/imported/dark-veil/DarkVeil.jsx +147 -0
  1685. package/dist/assets/upstream/recipes/imported/decay-card/DecayCard.css +25 -0
  1686. package/dist/assets/upstream/recipes/imported/decay-card/DecayCard.jsx +149 -0
  1687. package/dist/assets/upstream/recipes/imported/decrypted-text/DecryptedText.jsx +384 -0
  1688. package/dist/assets/upstream/recipes/imported/dither/Dither.css +5 -0
  1689. package/dist/assets/upstream/recipes/imported/dither/Dither.jsx +296 -0
  1690. package/dist/assets/upstream/recipes/imported/dock/Dock.css +57 -0
  1691. package/dist/assets/upstream/recipes/imported/dock/Dock.jsx +143 -0
  1692. package/dist/assets/upstream/recipes/imported/dome-gallery/DomeGallery.css +198 -0
  1693. package/dist/assets/upstream/recipes/imported/dome-gallery/DomeGallery.jsx +651 -0
  1694. package/dist/assets/upstream/recipes/imported/dot-field/DotField.css +5 -0
  1695. package/dist/assets/upstream/recipes/imported/dot-field/DotField.jsx +274 -0
  1696. package/dist/assets/upstream/recipes/imported/dot-grid/DotGrid.css +22 -0
  1697. package/dist/assets/upstream/recipes/imported/dot-grid/DotGrid.jsx +268 -0
  1698. package/dist/assets/upstream/recipes/imported/elastic-slider/ElasticSlider.css +75 -0
  1699. package/dist/assets/upstream/recipes/imported/elastic-slider/ElasticSlider.jsx +185 -0
  1700. package/dist/assets/upstream/recipes/imported/electric-border/ElectricBorder.css +62 -0
  1701. package/dist/assets/upstream/recipes/imported/electric-border/ElectricBorder.jsx +297 -0
  1702. package/dist/assets/upstream/recipes/imported/evil-eye/EvilEye.css +4 -0
  1703. package/dist/assets/upstream/recipes/imported/evil-eye/EvilEye.jsx +266 -0
  1704. package/dist/assets/upstream/recipes/imported/fade-content/FadeContent.jsx +94 -0
  1705. package/dist/assets/upstream/recipes/imported/falling-text/FallingText.css +31 -0
  1706. package/dist/assets/upstream/recipes/imported/falling-text/FallingText.jsx +190 -0
  1707. package/dist/assets/upstream/recipes/imported/faulty-terminal/FaultyTerminal.css +6 -0
  1708. package/dist/assets/upstream/recipes/imported/faulty-terminal/FaultyTerminal.jsx +400 -0
  1709. package/dist/assets/upstream/recipes/imported/ferrofluid/Ferrofluid.css +6 -0
  1710. package/dist/assets/upstream/recipes/imported/ferrofluid/Ferrofluid.jsx +381 -0
  1711. package/dist/assets/upstream/recipes/imported/floating-lines/FloatingLines.css +6 -0
  1712. package/dist/assets/upstream/recipes/imported/floating-lines/FloatingLines.jsx +491 -0
  1713. package/dist/assets/upstream/recipes/imported/flowing-menu/FlowingMenu.css +98 -0
  1714. package/dist/assets/upstream/recipes/imported/flowing-menu/FlowingMenu.jsx +165 -0
  1715. package/dist/assets/upstream/recipes/imported/fluid-glass/FluidGlass.jsx +277 -0
  1716. package/dist/assets/upstream/recipes/imported/flying-posters/FlyingPosters.css +13 -0
  1717. package/dist/assets/upstream/recipes/imported/flying-posters/FlyingPosters.jsx +495 -0
  1718. package/dist/assets/upstream/recipes/imported/folder/Folder.css +128 -0
  1719. package/dist/assets/upstream/recipes/imported/folder/Folder.jsx +122 -0
  1720. package/dist/assets/upstream/recipes/imported/fuzzy-text/FuzzyText.jsx +335 -0
  1721. package/dist/assets/upstream/recipes/imported/galaxy/Galaxy.css +5 -0
  1722. package/dist/assets/upstream/recipes/imported/galaxy/Galaxy.jsx +333 -0
  1723. package/dist/assets/upstream/recipes/imported/ghost-cursor/GhostCursor.css +12 -0
  1724. package/dist/assets/upstream/recipes/imported/ghost-cursor/GhostCursor.jsx +525 -0
  1725. package/dist/assets/upstream/recipes/imported/glare-hover/GlareHover.css +53 -0
  1726. package/dist/assets/upstream/recipes/imported/glare-hover/GlareHover.jsx +55 -0
  1727. package/dist/assets/upstream/recipes/imported/glass-icons/GlassIcons.css +102 -0
  1728. package/dist/assets/upstream/recipes/imported/glass-icons/GlassIcons.jsx +37 -0
  1729. package/dist/assets/upstream/recipes/imported/glass-surface/GlassSurface.css +105 -0
  1730. package/dist/assets/upstream/recipes/imported/glass-surface/GlassSurface.jsx +232 -0
  1731. package/dist/assets/upstream/recipes/imported/glitch-text/GlitchText.css +120 -0
  1732. package/dist/assets/upstream/recipes/imported/glitch-text/GlitchText.jsx +20 -0
  1733. package/dist/assets/upstream/recipes/imported/gooey-nav/GooeyNav.css +230 -0
  1734. package/dist/assets/upstream/recipes/imported/gooey-nav/GooeyNav.jsx +168 -0
  1735. package/dist/assets/upstream/recipes/imported/gradient-blinds/GradientBlinds.css +6 -0
  1736. package/dist/assets/upstream/recipes/imported/gradient-blinds/GradientBlinds.jsx +348 -0
  1737. package/dist/assets/upstream/recipes/imported/gradient-text/GradientText.css +54 -0
  1738. package/dist/assets/upstream/recipes/imported/gradient-text/GradientText.jsx +99 -0
  1739. package/dist/assets/upstream/recipes/imported/gradual-blur/GradualBlur.css +31 -0
  1740. package/dist/assets/upstream/recipes/imported/gradual-blur/GradualBlur.jsx +253 -0
  1741. package/dist/assets/upstream/recipes/imported/grainient/Grainient.css +6 -0
  1742. package/dist/assets/upstream/recipes/imported/grainient/Grainient.jsx +285 -0
  1743. package/dist/assets/upstream/recipes/imported/grid-distortion/GridDistortion.css +5 -0
  1744. package/dist/assets/upstream/recipes/imported/grid-distortion/GridDistortion.jsx +262 -0
  1745. package/dist/assets/upstream/recipes/imported/grid-motion/GridMotion.css +95 -0
  1746. package/dist/assets/upstream/recipes/imported/grid-motion/GridMotion.jsx +90 -0
  1747. package/dist/assets/upstream/recipes/imported/grid-scan/GridScan.css +44 -0
  1748. package/dist/assets/upstream/recipes/imported/grid-scan/GridScan.jsx +895 -0
  1749. package/dist/assets/upstream/recipes/imported/hyperspeed/HyperSpeedPresets.js +225 -0
  1750. package/dist/assets/upstream/recipes/imported/hyperspeed/Hyperspeed.css +11 -0
  1751. package/dist/assets/upstream/recipes/imported/hyperspeed/Hyperspeed.jsx +1183 -0
  1752. package/dist/assets/upstream/recipes/imported/image-trail/ImageTrail.css +31 -0
  1753. package/dist/assets/upstream/recipes/imported/image-trail/ImageTrail.jsx +1078 -0
  1754. package/dist/assets/upstream/recipes/imported/infinite-menu/InfiniteMenu.css +117 -0
  1755. package/dist/assets/upstream/recipes/imported/infinite-menu/InfiniteMenu.jsx +978 -0
  1756. package/dist/assets/upstream/recipes/imported/iridescence/Iridescence.css +4 -0
  1757. package/dist/assets/upstream/recipes/imported/iridescence/Iridescence.jsx +127 -0
  1758. package/dist/assets/upstream/recipes/imported/lanyard/Lanyard.css +11 -0
  1759. package/dist/assets/upstream/recipes/imported/lanyard/Lanyard.jsx +284 -0
  1760. package/dist/assets/upstream/recipes/imported/lanyard/card.glb +0 -0
  1761. package/dist/assets/upstream/recipes/imported/lanyard/lanyard.png +0 -0
  1762. package/dist/assets/upstream/recipes/imported/laser-flow/LaserFlow.css +6 -0
  1763. package/dist/assets/upstream/recipes/imported/laser-flow/LaserFlow.jsx +584 -0
  1764. package/dist/assets/upstream/recipes/imported/letter-glitch/LetterGlitch.jsx +244 -0
  1765. package/dist/assets/upstream/recipes/imported/light-pillar/LightPillar.css +21 -0
  1766. package/dist/assets/upstream/recipes/imported/light-pillar/LightPillar.jsx +380 -0
  1767. package/dist/assets/upstream/recipes/imported/light-rays/LightRays.css +8 -0
  1768. package/dist/assets/upstream/recipes/imported/light-rays/LightRays.jsx +399 -0
  1769. package/dist/assets/upstream/recipes/imported/lightfall/Lightfall.css +6 -0
  1770. package/dist/assets/upstream/recipes/imported/lightfall/Lightfall.jsx +362 -0
  1771. package/dist/assets/upstream/recipes/imported/lightning/Lightning.css +5 -0
  1772. package/dist/assets/upstream/recipes/imported/lightning/Lightning.jsx +182 -0
  1773. package/dist/assets/upstream/recipes/imported/line-waves/LineWaves.css +4 -0
  1774. package/dist/assets/upstream/recipes/imported/line-waves/LineWaves.jsx +249 -0
  1775. package/dist/assets/upstream/recipes/imported/liquid-chrome/LiquidChrome.css +4 -0
  1776. package/dist/assets/upstream/recipes/imported/liquid-chrome/LiquidChrome.jsx +161 -0
  1777. package/dist/assets/upstream/recipes/imported/liquid-ether/LiquidEther.css +7 -0
  1778. package/dist/assets/upstream/recipes/imported/liquid-ether/LiquidEther.jsx +1168 -0
  1779. package/dist/assets/upstream/recipes/imported/logo-loop/LogoLoop.css +183 -0
  1780. package/dist/assets/upstream/recipes/imported/logo-loop/LogoLoop.jsx +319 -0
  1781. package/dist/assets/upstream/recipes/imported/magic-bento/MagicBento.css +217 -0
  1782. package/dist/assets/upstream/recipes/imported/magic-bento/MagicBento.jsx +663 -0
  1783. package/dist/assets/upstream/recipes/imported/magic-rings/MagicRings.css +4 -0
  1784. package/dist/assets/upstream/recipes/imported/magic-rings/MagicRings.jsx +240 -0
  1785. package/dist/assets/upstream/recipes/imported/magnet/Magnet.jsx +75 -0
  1786. package/dist/assets/upstream/recipes/imported/magnet-lines/MagnetLines.css +18 -0
  1787. package/dist/assets/upstream/recipes/imported/magnet-lines/MagnetLines.jsx +80 -0
  1788. package/dist/assets/upstream/recipes/imported/masonry/Masonry.css +27 -0
  1789. package/dist/assets/upstream/recipes/imported/masonry/Masonry.jsx +253 -0
  1790. package/dist/assets/upstream/recipes/imported/meta-balls/MetaBalls.css +5 -0
  1791. package/dist/assets/upstream/recipes/imported/meta-balls/MetaBalls.jsx +279 -0
  1792. package/dist/assets/upstream/recipes/imported/metallic-paint/MetallicPaint.css +6 -0
  1793. package/dist/assets/upstream/recipes/imported/metallic-paint/MetallicPaint.jsx +507 -0
  1794. package/dist/assets/upstream/recipes/imported/model-viewer/ModelViewer.jsx +473 -0
  1795. package/dist/assets/upstream/recipes/imported/noise/Noise.css +8 -0
  1796. package/dist/assets/upstream/recipes/imported/noise/Noise.jsx +69 -0
  1797. package/dist/assets/upstream/recipes/imported/orb/Orb.css +6 -0
  1798. package/dist/assets/upstream/recipes/imported/orb/Orb.jsx +341 -0
  1799. package/dist/assets/upstream/recipes/imported/orbit-images/OrbitImages.css +52 -0
  1800. package/dist/assets/upstream/recipes/imported/orbit-images/OrbitImages.jsx +255 -0
  1801. package/dist/assets/upstream/recipes/imported/particles/Particles.css +5 -0
  1802. package/dist/assets/upstream/recipes/imported/particles/Particles.jsx +244 -0
  1803. package/dist/assets/upstream/recipes/imported/pill-nav/PillNav.css +237 -0
  1804. package/dist/assets/upstream/recipes/imported/pill-nav/PillNav.jsx +351 -0
  1805. package/dist/assets/upstream/recipes/imported/pixel-blast/PixelBlast.css +6 -0
  1806. package/dist/assets/upstream/recipes/imported/pixel-blast/PixelBlast.jsx +609 -0
  1807. package/dist/assets/upstream/recipes/imported/pixel-card/PixelCard.css +36 -0
  1808. package/dist/assets/upstream/recipes/imported/pixel-card/PixelCard.jsx +241 -0
  1809. package/dist/assets/upstream/recipes/imported/pixel-snow/PixelSnow.css +16 -0
  1810. package/dist/assets/upstream/recipes/imported/pixel-snow/PixelSnow.jsx +356 -0
  1811. package/dist/assets/upstream/recipes/imported/pixel-trail/PixelTrail.css +10 -0
  1812. package/dist/assets/upstream/recipes/imported/pixel-trail/PixelTrail.jsx +139 -0
  1813. package/dist/assets/upstream/recipes/imported/pixel-transition/PixelTransition.css +43 -0
  1814. package/dist/assets/upstream/recipes/imported/pixel-transition/PixelTransition.jsx +128 -0
  1815. package/dist/assets/upstream/recipes/imported/plasma/Plasma.css +6 -0
  1816. package/dist/assets/upstream/recipes/imported/plasma/Plasma.jsx +240 -0
  1817. package/dist/assets/upstream/recipes/imported/plasma-wave/PlasmaWave.css +4 -0
  1818. package/dist/assets/upstream/recipes/imported/plasma-wave/PlasmaWave.jsx +239 -0
  1819. package/dist/assets/upstream/recipes/imported/prism/Prism.css +5 -0
  1820. package/dist/assets/upstream/recipes/imported/prism/Prism.jsx +436 -0
  1821. package/dist/assets/upstream/recipes/imported/prismatic-burst/PrismaticBurst.css +6 -0
  1822. package/dist/assets/upstream/recipes/imported/prismatic-burst/PrismaticBurst.jsx +475 -0
  1823. package/dist/assets/upstream/recipes/imported/profile-card/ProfileCard.css +562 -0
  1824. package/dist/assets/upstream/recipes/imported/profile-card/ProfileCard.jsx +372 -0
  1825. package/dist/assets/upstream/recipes/imported/radar/Radar.css +4 -0
  1826. package/dist/assets/upstream/recipes/imported/radar/Radar.jsx +206 -0
  1827. package/dist/assets/upstream/recipes/imported/reflective-card/ReflectiveCard.css +182 -0
  1828. package/dist/assets/upstream/recipes/imported/reflective-card/ReflectiveCard.jsx +149 -0
  1829. package/dist/assets/upstream/recipes/imported/ribbons/Ribbons.css +5 -0
  1830. package/dist/assets/upstream/recipes/imported/ribbons/Ribbons.jsx +237 -0
  1831. package/dist/assets/upstream/recipes/imported/ripple-grid/RippleGrid.css +6 -0
  1832. package/dist/assets/upstream/recipes/imported/ripple-grid/RippleGrid.jsx +277 -0
  1833. package/dist/assets/upstream/recipes/imported/rotating-text/RotatingText.css +36 -0
  1834. package/dist/assets/upstream/recipes/imported/rotating-text/RotatingText.jsx +188 -0
  1835. package/dist/assets/upstream/recipes/imported/scrambled-text/ScrambledText.css +12 -0
  1836. package/dist/assets/upstream/recipes/imported/scrambled-text/ScrambledText.jsx +76 -0
  1837. package/dist/assets/upstream/recipes/imported/scroll-float/ScrollFloat.css +15 -0
  1838. package/dist/assets/upstream/recipes/imported/scroll-float/ScrollFloat.jsx +75 -0
  1839. package/dist/assets/upstream/recipes/imported/scroll-reveal/ScrollReveal.css +13 -0
  1840. package/dist/assets/upstream/recipes/imported/scroll-reveal/ScrollReveal.jsx +107 -0
  1841. package/dist/assets/upstream/recipes/imported/scroll-stack/ScrollStack.css +45 -0
  1842. package/dist/assets/upstream/recipes/imported/scroll-stack/ScrollStack.jsx +314 -0
  1843. package/dist/assets/upstream/recipes/imported/scroll-velocity/ScrollVelocity.css +26 -0
  1844. package/dist/assets/upstream/recipes/imported/scroll-velocity/ScrollVelocity.jsx +143 -0
  1845. package/dist/assets/upstream/recipes/imported/shape-blur/ShapeBlur.jsx +256 -0
  1846. package/dist/assets/upstream/recipes/imported/shape-grid/ShapeGrid.css +6 -0
  1847. package/dist/assets/upstream/recipes/imported/shape-grid/ShapeGrid.jsx +387 -0
  1848. package/dist/assets/upstream/recipes/imported/shiny-text/ShinyText.css +3 -0
  1849. package/dist/assets/upstream/recipes/imported/shiny-text/ShinyText.jsx +117 -0
  1850. package/dist/assets/upstream/recipes/imported/shuffle/Shuffle.css +33 -0
  1851. package/dist/assets/upstream/recipes/imported/shuffle/Shuffle.jsx +392 -0
  1852. package/dist/assets/upstream/recipes/imported/side-rays/SideRays.css +8 -0
  1853. package/dist/assets/upstream/recipes/imported/side-rays/SideRays.jsx +258 -0
  1854. package/dist/assets/upstream/recipes/imported/silk/Silk.jsx +116 -0
  1855. package/dist/assets/upstream/recipes/imported/soft-aurora/SoftAurora.css +4 -0
  1856. package/dist/assets/upstream/recipes/imported/soft-aurora/SoftAurora.jsx +264 -0
  1857. package/dist/assets/upstream/recipes/imported/splash-cursor/SplashCursor.jsx +1086 -0
  1858. package/dist/assets/upstream/recipes/imported/split-text/SplitText.jsx +169 -0
  1859. package/dist/assets/upstream/recipes/imported/spotlight-card/SpotlightCard.css +29 -0
  1860. package/dist/assets/upstream/recipes/imported/spotlight-card/SpotlightCard.jsx +24 -0
  1861. package/dist/assets/upstream/recipes/imported/stack/Stack.css +43 -0
  1862. package/dist/assets/upstream/recipes/imported/stack/Stack.jsx +184 -0
  1863. package/dist/assets/upstream/recipes/imported/staggered-menu/StaggeredMenu.css +356 -0
  1864. package/dist/assets/upstream/recipes/imported/staggered-menu/StaggeredMenu.jsx +446 -0
  1865. package/dist/assets/upstream/recipes/imported/star-border/StarBorder.css +64 -0
  1866. package/dist/assets/upstream/recipes/imported/star-border/StarBorder.jsx +40 -0
  1867. package/dist/assets/upstream/recipes/imported/stepper/Stepper.css +159 -0
  1868. package/dist/assets/upstream/recipes/imported/stepper/Stepper.jsx +250 -0
  1869. package/dist/assets/upstream/recipes/imported/sticker-peel/StickerPeel.css +158 -0
  1870. package/dist/assets/upstream/recipes/imported/sticker-peel/StickerPeel.jsx +262 -0
  1871. package/dist/assets/upstream/recipes/imported/strands/Strands.css +12 -0
  1872. package/dist/assets/upstream/recipes/imported/strands/Strands.jsx +355 -0
  1873. package/dist/assets/upstream/recipes/imported/target-cursor/TargetCursor.css +57 -0
  1874. package/dist/assets/upstream/recipes/imported/target-cursor/TargetCursor.jsx +417 -0
  1875. package/dist/assets/upstream/recipes/imported/text-cursor/TextCursor.css +21 -0
  1876. package/dist/assets/upstream/recipes/imported/text-cursor/TextCursor.jsx +132 -0
  1877. package/dist/assets/upstream/recipes/imported/text-pressure/TextPressure.jsx +243 -0
  1878. package/dist/assets/upstream/recipes/imported/text-type/TextType.css +14 -0
  1879. package/dist/assets/upstream/recipes/imported/text-type/TextType.jsx +174 -0
  1880. package/dist/assets/upstream/recipes/imported/threads/Threads.css +5 -0
  1881. package/dist/assets/upstream/recipes/imported/threads/Threads.jsx +250 -0
  1882. package/dist/assets/upstream/recipes/imported/tilted-card/TiltedCard.css +65 -0
  1883. package/dist/assets/upstream/recipes/imported/tilted-card/TiltedCard.jsx +132 -0
  1884. package/dist/assets/upstream/recipes/imported/true-focus/TrueFocus.css +73 -0
  1885. package/dist/assets/upstream/recipes/imported/true-focus/TrueFocus.jsx +119 -0
  1886. package/dist/assets/upstream/recipes/imported/variable-proximity/VariableProximity.css +17 -0
  1887. package/dist/assets/upstream/recipes/imported/variable-proximity/VariableProximity.jsx +184 -0
  1888. package/dist/assets/upstream/recipes/imported/waves/Waves.css +29 -0
  1889. package/dist/assets/upstream/recipes/imported/waves/Waves.jsx +321 -0
  1890. package/dist/assets/upstream/recipes/lottie/_runtime/lottie.min.js +1 -0
  1891. package/dist/assets/upstream/recipes/lottie/_runtime/remote.html +32 -0
  1892. package/dist/assets/upstream/recipes/lottie/lottie-fab/SKILL.md +42 -0
  1893. package/dist/assets/upstream/recipes/lottie/lottie-fab/animation.json +1 -0
  1894. package/dist/assets/upstream/recipes/lottie/lottie-fab/preview.html +24 -0
  1895. package/dist/assets/upstream/recipes/lottie/lottie-fab/recipe.motion.yaml +54 -0
  1896. package/dist/assets/upstream/recipes/lottie/lottie-favorite/SKILL.md +42 -0
  1897. package/dist/assets/upstream/recipes/lottie/lottie-favorite/animation.json +1 -0
  1898. package/dist/assets/upstream/recipes/lottie/lottie-favorite/preview.html +24 -0
  1899. package/dist/assets/upstream/recipes/lottie/lottie-favorite/recipe.motion.yaml +54 -0
  1900. package/dist/assets/upstream/recipes/lottie/lottie-pagination/SKILL.md +42 -0
  1901. package/dist/assets/upstream/recipes/lottie/lottie-pagination/animation.json +1 -0
  1902. package/dist/assets/upstream/recipes/lottie/lottie-pagination/preview.html +24 -0
  1903. package/dist/assets/upstream/recipes/lottie/lottie-pagination/recipe.motion.yaml +54 -0
  1904. package/dist/assets/upstream/recipes/lottie/lottie-tab/SKILL.md +42 -0
  1905. package/dist/assets/upstream/recipes/lottie/lottie-tab/animation.json +1 -0
  1906. package/dist/assets/upstream/recipes/lottie/lottie-tab/preview.html +24 -0
  1907. package/dist/assets/upstream/recipes/lottie/lottie-tab/recipe.motion.yaml +54 -0
  1908. package/dist/assets/upstream/recipes/slides/fx-chain-react/SKILL.md +40 -0
  1909. package/dist/assets/upstream/recipes/slides/fx-chain-react/_util.js +63 -0
  1910. package/dist/assets/upstream/recipes/slides/fx-chain-react/chain-react.js +41 -0
  1911. package/dist/assets/upstream/recipes/slides/fx-chain-react/preview.html +29 -0
  1912. package/dist/assets/upstream/recipes/slides/fx-chain-react/recipe.motion.yaml +53 -0
  1913. package/dist/assets/upstream/recipes/slides/fx-confetti/SKILL.md +40 -0
  1914. package/dist/assets/upstream/recipes/slides/fx-confetti/_util.js +63 -0
  1915. package/dist/assets/upstream/recipes/slides/fx-confetti/confetti-cannon.js +49 -0
  1916. package/dist/assets/upstream/recipes/slides/fx-confetti/preview.html +29 -0
  1917. package/dist/assets/upstream/recipes/slides/fx-confetti/recipe.motion.yaml +53 -0
  1918. package/dist/assets/upstream/recipes/slides/fx-constellation/SKILL.md +40 -0
  1919. package/dist/assets/upstream/recipes/slides/fx-constellation/_util.js +63 -0
  1920. package/dist/assets/upstream/recipes/slides/fx-constellation/constellation.js +44 -0
  1921. package/dist/assets/upstream/recipes/slides/fx-constellation/preview.html +29 -0
  1922. package/dist/assets/upstream/recipes/slides/fx-constellation/recipe.motion.yaml +53 -0
  1923. package/dist/assets/upstream/recipes/slides/fx-counter-explosion/SKILL.md +40 -0
  1924. package/dist/assets/upstream/recipes/slides/fx-counter-explosion/_util.js +63 -0
  1925. package/dist/assets/upstream/recipes/slides/fx-counter-explosion/counter-explosion.js +58 -0
  1926. package/dist/assets/upstream/recipes/slides/fx-counter-explosion/preview.html +29 -0
  1927. package/dist/assets/upstream/recipes/slides/fx-counter-explosion/recipe.motion.yaml +53 -0
  1928. package/dist/assets/upstream/recipes/slides/fx-data-stream/SKILL.md +40 -0
  1929. package/dist/assets/upstream/recipes/slides/fx-data-stream/_util.js +63 -0
  1930. package/dist/assets/upstream/recipes/slides/fx-data-stream/data-stream.js +45 -0
  1931. package/dist/assets/upstream/recipes/slides/fx-data-stream/preview.html +29 -0
  1932. package/dist/assets/upstream/recipes/slides/fx-data-stream/recipe.motion.yaml +53 -0
  1933. package/dist/assets/upstream/recipes/slides/fx-firework/SKILL.md +40 -0
  1934. package/dist/assets/upstream/recipes/slides/fx-firework/_util.js +63 -0
  1935. package/dist/assets/upstream/recipes/slides/fx-firework/firework.js +51 -0
  1936. package/dist/assets/upstream/recipes/slides/fx-firework/preview.html +29 -0
  1937. package/dist/assets/upstream/recipes/slides/fx-firework/recipe.motion.yaml +53 -0
  1938. package/dist/assets/upstream/recipes/slides/fx-galaxy-swirl/SKILL.md +40 -0
  1939. package/dist/assets/upstream/recipes/slides/fx-galaxy-swirl/_util.js +63 -0
  1940. package/dist/assets/upstream/recipes/slides/fx-galaxy-swirl/galaxy-swirl.js +33 -0
  1941. package/dist/assets/upstream/recipes/slides/fx-galaxy-swirl/preview.html +29 -0
  1942. package/dist/assets/upstream/recipes/slides/fx-galaxy-swirl/recipe.motion.yaml +53 -0
  1943. package/dist/assets/upstream/recipes/slides/fx-gradient-blob/SKILL.md +40 -0
  1944. package/dist/assets/upstream/recipes/slides/fx-gradient-blob/_util.js +63 -0
  1945. package/dist/assets/upstream/recipes/slides/fx-gradient-blob/gradient-blob.js +39 -0
  1946. package/dist/assets/upstream/recipes/slides/fx-gradient-blob/preview.html +29 -0
  1947. package/dist/assets/upstream/recipes/slides/fx-gradient-blob/recipe.motion.yaml +53 -0
  1948. package/dist/assets/upstream/recipes/slides/fx-knowledge-graph/SKILL.md +40 -0
  1949. package/dist/assets/upstream/recipes/slides/fx-knowledge-graph/_util.js +63 -0
  1950. package/dist/assets/upstream/recipes/slides/fx-knowledge-graph/knowledge-graph.js +69 -0
  1951. package/dist/assets/upstream/recipes/slides/fx-knowledge-graph/preview.html +29 -0
  1952. package/dist/assets/upstream/recipes/slides/fx-knowledge-graph/recipe.motion.yaml +53 -0
  1953. package/dist/assets/upstream/recipes/slides/fx-letter-explode/SKILL.md +40 -0
  1954. package/dist/assets/upstream/recipes/slides/fx-letter-explode/_util.js +63 -0
  1955. package/dist/assets/upstream/recipes/slides/fx-letter-explode/letter-explode.js +50 -0
  1956. package/dist/assets/upstream/recipes/slides/fx-letter-explode/preview.html +29 -0
  1957. package/dist/assets/upstream/recipes/slides/fx-letter-explode/recipe.motion.yaml +53 -0
  1958. package/dist/assets/upstream/recipes/slides/fx-magnetic-field/SKILL.md +40 -0
  1959. package/dist/assets/upstream/recipes/slides/fx-magnetic-field/_util.js +63 -0
  1960. package/dist/assets/upstream/recipes/slides/fx-magnetic-field/magnetic-field.js +40 -0
  1961. package/dist/assets/upstream/recipes/slides/fx-magnetic-field/preview.html +29 -0
  1962. package/dist/assets/upstream/recipes/slides/fx-magnetic-field/recipe.motion.yaml +53 -0
  1963. package/dist/assets/upstream/recipes/slides/fx-matrix-rain/SKILL.md +40 -0
  1964. package/dist/assets/upstream/recipes/slides/fx-matrix-rain/_util.js +63 -0
  1965. package/dist/assets/upstream/recipes/slides/fx-matrix-rain/matrix-rain.js +33 -0
  1966. package/dist/assets/upstream/recipes/slides/fx-matrix-rain/preview.html +29 -0
  1967. package/dist/assets/upstream/recipes/slides/fx-matrix-rain/recipe.motion.yaml +53 -0
  1968. package/dist/assets/upstream/recipes/slides/fx-neural-net/SKILL.md +40 -0
  1969. package/dist/assets/upstream/recipes/slides/fx-neural-net/_util.js +63 -0
  1970. package/dist/assets/upstream/recipes/slides/fx-neural-net/neural-net.js +75 -0
  1971. package/dist/assets/upstream/recipes/slides/fx-neural-net/preview.html +29 -0
  1972. package/dist/assets/upstream/recipes/slides/fx-neural-net/recipe.motion.yaml +53 -0
  1973. package/dist/assets/upstream/recipes/slides/fx-orbit-ring/SKILL.md +40 -0
  1974. package/dist/assets/upstream/recipes/slides/fx-orbit-ring/_util.js +63 -0
  1975. package/dist/assets/upstream/recipes/slides/fx-orbit-ring/orbit-ring.js +38 -0
  1976. package/dist/assets/upstream/recipes/slides/fx-orbit-ring/preview.html +29 -0
  1977. package/dist/assets/upstream/recipes/slides/fx-orbit-ring/recipe.motion.yaml +53 -0
  1978. package/dist/assets/upstream/recipes/slides/fx-particle-burst/SKILL.md +40 -0
  1979. package/dist/assets/upstream/recipes/slides/fx-particle-burst/_util.js +63 -0
  1980. package/dist/assets/upstream/recipes/slides/fx-particle-burst/particle-burst.js +42 -0
  1981. package/dist/assets/upstream/recipes/slides/fx-particle-burst/preview.html +29 -0
  1982. package/dist/assets/upstream/recipes/slides/fx-particle-burst/recipe.motion.yaml +53 -0
  1983. package/dist/assets/upstream/recipes/slides/fx-shockwave/SKILL.md +40 -0
  1984. package/dist/assets/upstream/recipes/slides/fx-shockwave/_util.js +63 -0
  1985. package/dist/assets/upstream/recipes/slides/fx-shockwave/preview.html +29 -0
  1986. package/dist/assets/upstream/recipes/slides/fx-shockwave/recipe.motion.yaml +53 -0
  1987. package/dist/assets/upstream/recipes/slides/fx-shockwave/shockwave.js +39 -0
  1988. package/dist/assets/upstream/recipes/slides/fx-sparkle-trail/SKILL.md +40 -0
  1989. package/dist/assets/upstream/recipes/slides/fx-sparkle-trail/_util.js +63 -0
  1990. package/dist/assets/upstream/recipes/slides/fx-sparkle-trail/preview.html +29 -0
  1991. package/dist/assets/upstream/recipes/slides/fx-sparkle-trail/recipe.motion.yaml +53 -0
  1992. package/dist/assets/upstream/recipes/slides/fx-sparkle-trail/sparkle-trail.js +62 -0
  1993. package/dist/assets/upstream/recipes/slides/fx-starfield/SKILL.md +40 -0
  1994. package/dist/assets/upstream/recipes/slides/fx-starfield/_util.js +63 -0
  1995. package/dist/assets/upstream/recipes/slides/fx-starfield/preview.html +29 -0
  1996. package/dist/assets/upstream/recipes/slides/fx-starfield/recipe.motion.yaml +53 -0
  1997. package/dist/assets/upstream/recipes/slides/fx-starfield/starfield.js +30 -0
  1998. package/dist/assets/upstream/recipes/slides/fx-typewriter-multi/SKILL.md +40 -0
  1999. package/dist/assets/upstream/recipes/slides/fx-typewriter-multi/_util.js +63 -0
  2000. package/dist/assets/upstream/recipes/slides/fx-typewriter-multi/preview.html +29 -0
  2001. package/dist/assets/upstream/recipes/slides/fx-typewriter-multi/recipe.motion.yaml +53 -0
  2002. package/dist/assets/upstream/recipes/slides/fx-typewriter-multi/typewriter-multi.js +51 -0
  2003. package/dist/assets/upstream/recipes/slides/fx-word-cascade/SKILL.md +40 -0
  2004. package/dist/assets/upstream/recipes/slides/fx-word-cascade/_util.js +63 -0
  2005. package/dist/assets/upstream/recipes/slides/fx-word-cascade/preview.html +29 -0
  2006. package/dist/assets/upstream/recipes/slides/fx-word-cascade/recipe.motion.yaml +53 -0
  2007. package/dist/assets/upstream/recipes/slides/fx-word-cascade/word-cascade.js +47 -0
  2008. package/dist/assets/upstream/recipes/web/_fx/shaderbg.js +58 -0
  2009. package/dist/assets/upstream/recipes/web/attention-pulse/SKILL.md +44 -0
  2010. package/dist/assets/upstream/recipes/web/attention-pulse/attention-pulse.css +26 -0
  2011. package/dist/assets/upstream/recipes/web/attention-pulse/preview.html +27 -0
  2012. package/dist/assets/upstream/recipes/web/attention-pulse/recipe.motion.yaml +57 -0
  2013. package/dist/assets/upstream/recipes/web/aurora/SKILL.md +12 -0
  2014. package/dist/assets/upstream/recipes/web/aurora/aurora.js +55 -0
  2015. package/dist/assets/upstream/recipes/web/aurora/preview.html +3 -0
  2016. package/dist/assets/upstream/recipes/web/aurora/recipe.motion.yaml +25 -0
  2017. package/dist/assets/upstream/recipes/web/balatro/SKILL.md +12 -0
  2018. package/dist/assets/upstream/recipes/web/balatro/balatro.js +7 -0
  2019. package/dist/assets/upstream/recipes/web/balatro/preview.html +3 -0
  2020. package/dist/assets/upstream/recipes/web/balatro/recipe.motion.yaml +25 -0
  2021. package/dist/assets/upstream/recipes/web/blob-cursor/SKILL.md +11 -0
  2022. package/dist/assets/upstream/recipes/web/blob-cursor/blob-cursor.js +10 -0
  2023. package/dist/assets/upstream/recipes/web/blob-cursor/preview.html +3 -0
  2024. package/dist/assets/upstream/recipes/web/blob-cursor/recipe.motion.yaml +25 -0
  2025. package/dist/assets/upstream/recipes/web/blur-text/SKILL.md +12 -0
  2026. package/dist/assets/upstream/recipes/web/blur-text/blur-text.css +5 -0
  2027. package/dist/assets/upstream/recipes/web/blur-text/blur-text.js +11 -0
  2028. package/dist/assets/upstream/recipes/web/blur-text/preview.html +3 -0
  2029. package/dist/assets/upstream/recipes/web/blur-text/recipe.motion.yaml +25 -0
  2030. package/dist/assets/upstream/recipes/web/border-beam/SKILL.md +55 -0
  2031. package/dist/assets/upstream/recipes/web/border-beam/border-beam.css +52 -0
  2032. package/dist/assets/upstream/recipes/web/border-beam/preview.html +28 -0
  2033. package/dist/assets/upstream/recipes/web/border-beam/recipe.motion.yaml +57 -0
  2034. package/dist/assets/upstream/recipes/web/bounce-cards/SKILL.md +11 -0
  2035. package/dist/assets/upstream/recipes/web/bounce-cards/bounce-cards.css +9 -0
  2036. package/dist/assets/upstream/recipes/web/bounce-cards/bounce-cards.js +8 -0
  2037. package/dist/assets/upstream/recipes/web/bounce-cards/preview.html +3 -0
  2038. package/dist/assets/upstream/recipes/web/bounce-cards/recipe.motion.yaml +25 -0
  2039. package/dist/assets/upstream/recipes/web/card-lift-hover/SKILL.md +45 -0
  2040. package/dist/assets/upstream/recipes/web/card-lift-hover/card-lift-hover.css +24 -0
  2041. package/dist/assets/upstream/recipes/web/card-lift-hover/preview.html +32 -0
  2042. package/dist/assets/upstream/recipes/web/card-lift-hover/recipe.motion.yaml +47 -0
  2043. package/dist/assets/upstream/recipes/web/circular-text/SKILL.md +11 -0
  2044. package/dist/assets/upstream/recipes/web/circular-text/circular-text.css +5 -0
  2045. package/dist/assets/upstream/recipes/web/circular-text/circular-text.js +8 -0
  2046. package/dist/assets/upstream/recipes/web/circular-text/preview.html +3 -0
  2047. package/dist/assets/upstream/recipes/web/circular-text/recipe.motion.yaml +25 -0
  2048. package/dist/assets/upstream/recipes/web/click-spark/SKILL.md +11 -0
  2049. package/dist/assets/upstream/recipes/web/click-spark/click-spark.js +12 -0
  2050. package/dist/assets/upstream/recipes/web/click-spark/preview.html +3 -0
  2051. package/dist/assets/upstream/recipes/web/click-spark/recipe.motion.yaml +25 -0
  2052. package/dist/assets/upstream/recipes/web/count-up/SKILL.md +46 -0
  2053. package/dist/assets/upstream/recipes/web/count-up/count-up.css +7 -0
  2054. package/dist/assets/upstream/recipes/web/count-up/count-up.js +58 -0
  2055. package/dist/assets/upstream/recipes/web/count-up/preview.html +33 -0
  2056. package/dist/assets/upstream/recipes/web/count-up/recipe.motion.yaml +47 -0
  2057. package/dist/assets/upstream/recipes/web/counter/SKILL.md +11 -0
  2058. package/dist/assets/upstream/recipes/web/counter/counter.css +6 -0
  2059. package/dist/assets/upstream/recipes/web/counter/counter.js +13 -0
  2060. package/dist/assets/upstream/recipes/web/counter/preview.html +3 -0
  2061. package/dist/assets/upstream/recipes/web/counter/recipe.motion.yaml +25 -0
  2062. package/dist/assets/upstream/recipes/web/crosshair/SKILL.md +11 -0
  2063. package/dist/assets/upstream/recipes/web/crosshair/crosshair.js +8 -0
  2064. package/dist/assets/upstream/recipes/web/crosshair/preview.html +3 -0
  2065. package/dist/assets/upstream/recipes/web/crosshair/recipe.motion.yaml +25 -0
  2066. package/dist/assets/upstream/recipes/web/dark-veil/SKILL.md +12 -0
  2067. package/dist/assets/upstream/recipes/web/dark-veil/dark-veil.js +7 -0
  2068. package/dist/assets/upstream/recipes/web/dark-veil/preview.html +3 -0
  2069. package/dist/assets/upstream/recipes/web/dark-veil/recipe.motion.yaml +25 -0
  2070. package/dist/assets/upstream/recipes/web/decrypted-text/SKILL.md +12 -0
  2071. package/dist/assets/upstream/recipes/web/decrypted-text/decrypted-text.js +11 -0
  2072. package/dist/assets/upstream/recipes/web/decrypted-text/preview.html +3 -0
  2073. package/dist/assets/upstream/recipes/web/decrypted-text/recipe.motion.yaml +25 -0
  2074. package/dist/assets/upstream/recipes/web/dither/SKILL.md +12 -0
  2075. package/dist/assets/upstream/recipes/web/dither/dither.js +94 -0
  2076. package/dist/assets/upstream/recipes/web/dither/preview.html +3 -0
  2077. package/dist/assets/upstream/recipes/web/dither/recipe.motion.yaml +25 -0
  2078. package/dist/assets/upstream/recipes/web/dock/SKILL.md +11 -0
  2079. package/dist/assets/upstream/recipes/web/dock/dock.css +4 -0
  2080. package/dist/assets/upstream/recipes/web/dock/dock.js +9 -0
  2081. package/dist/assets/upstream/recipes/web/dock/preview.html +3 -0
  2082. package/dist/assets/upstream/recipes/web/dock/recipe.motion.yaml +25 -0
  2083. package/dist/assets/upstream/recipes/web/dot-field/SKILL.md +12 -0
  2084. package/dist/assets/upstream/recipes/web/dot-field/dot-field.js +108 -0
  2085. package/dist/assets/upstream/recipes/web/dot-field/preview.html +3 -0
  2086. package/dist/assets/upstream/recipes/web/dot-field/recipe.motion.yaml +25 -0
  2087. package/dist/assets/upstream/recipes/web/dot-grid/SKILL.md +12 -0
  2088. package/dist/assets/upstream/recipes/web/dot-grid/dot-grid.js +91 -0
  2089. package/dist/assets/upstream/recipes/web/dot-grid/preview.html +3 -0
  2090. package/dist/assets/upstream/recipes/web/dot-grid/recipe.motion.yaml +25 -0
  2091. package/dist/assets/upstream/recipes/web/elastic-slider/SKILL.md +11 -0
  2092. package/dist/assets/upstream/recipes/web/elastic-slider/elastic-slider.css +6 -0
  2093. package/dist/assets/upstream/recipes/web/elastic-slider/elastic-slider.js +10 -0
  2094. package/dist/assets/upstream/recipes/web/elastic-slider/preview.html +3 -0
  2095. package/dist/assets/upstream/recipes/web/elastic-slider/recipe.motion.yaml +25 -0
  2096. package/dist/assets/upstream/recipes/web/electric-border/SKILL.md +12 -0
  2097. package/dist/assets/upstream/recipes/web/electric-border/electric-border.css +8 -0
  2098. package/dist/assets/upstream/recipes/web/electric-border/preview.html +3 -0
  2099. package/dist/assets/upstream/recipes/web/electric-border/recipe.motion.yaml +25 -0
  2100. package/dist/assets/upstream/recipes/web/fade-content/SKILL.md +11 -0
  2101. package/dist/assets/upstream/recipes/web/fade-content/fade-content.css +4 -0
  2102. package/dist/assets/upstream/recipes/web/fade-content/fade-content.js +8 -0
  2103. package/dist/assets/upstream/recipes/web/fade-content/preview.html +3 -0
  2104. package/dist/assets/upstream/recipes/web/fade-content/recipe.motion.yaml +25 -0
  2105. package/dist/assets/upstream/recipes/web/fade-in-up/SKILL.md +45 -0
  2106. package/dist/assets/upstream/recipes/web/fade-in-up/fade-in-up.css +16 -0
  2107. package/dist/assets/upstream/recipes/web/fade-in-up/fade-in-up.js +33 -0
  2108. package/dist/assets/upstream/recipes/web/fade-in-up/preview.html +30 -0
  2109. package/dist/assets/upstream/recipes/web/fade-in-up/recipe.motion.yaml +47 -0
  2110. package/dist/assets/upstream/recipes/web/falling-text/SKILL.md +12 -0
  2111. package/dist/assets/upstream/recipes/web/falling-text/falling-text.css +4 -0
  2112. package/dist/assets/upstream/recipes/web/falling-text/falling-text.js +10 -0
  2113. package/dist/assets/upstream/recipes/web/falling-text/preview.html +3 -0
  2114. package/dist/assets/upstream/recipes/web/falling-text/recipe.motion.yaml +25 -0
  2115. package/dist/assets/upstream/recipes/web/faulty-terminal/SKILL.md +12 -0
  2116. package/dist/assets/upstream/recipes/web/faulty-terminal/faulty-terminal.js +7 -0
  2117. package/dist/assets/upstream/recipes/web/faulty-terminal/preview.html +3 -0
  2118. package/dist/assets/upstream/recipes/web/faulty-terminal/recipe.motion.yaml +25 -0
  2119. package/dist/assets/upstream/recipes/web/ferrofluid/SKILL.md +12 -0
  2120. package/dist/assets/upstream/recipes/web/ferrofluid/ferrofluid.js +7 -0
  2121. package/dist/assets/upstream/recipes/web/ferrofluid/preview.html +3 -0
  2122. package/dist/assets/upstream/recipes/web/ferrofluid/recipe.motion.yaml +25 -0
  2123. package/dist/assets/upstream/recipes/web/galaxy/SKILL.md +12 -0
  2124. package/dist/assets/upstream/recipes/web/galaxy/galaxy.js +7 -0
  2125. package/dist/assets/upstream/recipes/web/galaxy/preview.html +3 -0
  2126. package/dist/assets/upstream/recipes/web/galaxy/recipe.motion.yaml +25 -0
  2127. package/dist/assets/upstream/recipes/web/glare-hover/SKILL.md +12 -0
  2128. package/dist/assets/upstream/recipes/web/glare-hover/glare-hover.css +9 -0
  2129. package/dist/assets/upstream/recipes/web/glare-hover/glare-hover.js +8 -0
  2130. package/dist/assets/upstream/recipes/web/glare-hover/preview.html +3 -0
  2131. package/dist/assets/upstream/recipes/web/glare-hover/recipe.motion.yaml +25 -0
  2132. package/dist/assets/upstream/recipes/web/glass-icons/SKILL.md +11 -0
  2133. package/dist/assets/upstream/recipes/web/glass-icons/glass-icons.css +7 -0
  2134. package/dist/assets/upstream/recipes/web/glass-icons/preview.html +3 -0
  2135. package/dist/assets/upstream/recipes/web/glass-icons/recipe.motion.yaml +25 -0
  2136. package/dist/assets/upstream/recipes/web/glitch-text/SKILL.md +11 -0
  2137. package/dist/assets/upstream/recipes/web/glitch-text/glitch-text.css +7 -0
  2138. package/dist/assets/upstream/recipes/web/glitch-text/preview.html +3 -0
  2139. package/dist/assets/upstream/recipes/web/glitch-text/recipe.motion.yaml +25 -0
  2140. package/dist/assets/upstream/recipes/web/gooey-nav/SKILL.md +11 -0
  2141. package/dist/assets/upstream/recipes/web/gooey-nav/gooey-nav.css +6 -0
  2142. package/dist/assets/upstream/recipes/web/gooey-nav/gooey-nav.js +8 -0
  2143. package/dist/assets/upstream/recipes/web/gooey-nav/preview.html +3 -0
  2144. package/dist/assets/upstream/recipes/web/gooey-nav/recipe.motion.yaml +25 -0
  2145. package/dist/assets/upstream/recipes/web/gradient-blinds/SKILL.md +12 -0
  2146. package/dist/assets/upstream/recipes/web/gradient-blinds/gradient-blinds.js +7 -0
  2147. package/dist/assets/upstream/recipes/web/gradient-blinds/preview.html +3 -0
  2148. package/dist/assets/upstream/recipes/web/gradient-blinds/recipe.motion.yaml +25 -0
  2149. package/dist/assets/upstream/recipes/web/gradient-text/SKILL.md +55 -0
  2150. package/dist/assets/upstream/recipes/web/gradient-text/gradient-text.css +30 -0
  2151. package/dist/assets/upstream/recipes/web/gradient-text/preview.html +23 -0
  2152. package/dist/assets/upstream/recipes/web/gradient-text/recipe.motion.yaml +58 -0
  2153. package/dist/assets/upstream/recipes/web/gradual-blur/SKILL.md +13 -0
  2154. package/dist/assets/upstream/recipes/web/gradual-blur/gradual-blur.css +6 -0
  2155. package/dist/assets/upstream/recipes/web/gradual-blur/preview.html +3 -0
  2156. package/dist/assets/upstream/recipes/web/gradual-blur/recipe.motion.yaml +25 -0
  2157. package/dist/assets/upstream/recipes/web/grainient/SKILL.md +12 -0
  2158. package/dist/assets/upstream/recipes/web/grainient/grainient.js +7 -0
  2159. package/dist/assets/upstream/recipes/web/grainient/preview.html +3 -0
  2160. package/dist/assets/upstream/recipes/web/grainient/recipe.motion.yaml +25 -0
  2161. package/dist/assets/upstream/recipes/web/image-trail/SKILL.md +11 -0
  2162. package/dist/assets/upstream/recipes/web/image-trail/image-trail.js +13 -0
  2163. package/dist/assets/upstream/recipes/web/image-trail/preview.html +3 -0
  2164. package/dist/assets/upstream/recipes/web/image-trail/recipe.motion.yaml +25 -0
  2165. package/dist/assets/upstream/recipes/web/iridescence/SKILL.md +12 -0
  2166. package/dist/assets/upstream/recipes/web/iridescence/iridescence.js +22 -0
  2167. package/dist/assets/upstream/recipes/web/iridescence/preview.html +3 -0
  2168. package/dist/assets/upstream/recipes/web/iridescence/recipe.motion.yaml +25 -0
  2169. package/dist/assets/upstream/recipes/web/kinetic-headline/SKILL.md +44 -0
  2170. package/dist/assets/upstream/recipes/web/kinetic-headline/kinetic-headline.css +47 -0
  2171. package/dist/assets/upstream/recipes/web/kinetic-headline/kinetic-headline.js +62 -0
  2172. package/dist/assets/upstream/recipes/web/kinetic-headline/preview.html +34 -0
  2173. package/dist/assets/upstream/recipes/web/kinetic-headline/recipe.motion.yaml +54 -0
  2174. package/dist/assets/upstream/recipes/web/light-rays/SKILL.md +12 -0
  2175. package/dist/assets/upstream/recipes/web/light-rays/light-rays.js +7 -0
  2176. package/dist/assets/upstream/recipes/web/light-rays/preview.html +3 -0
  2177. package/dist/assets/upstream/recipes/web/light-rays/recipe.motion.yaml +25 -0
  2178. package/dist/assets/upstream/recipes/web/lightfall/SKILL.md +12 -0
  2179. package/dist/assets/upstream/recipes/web/lightfall/lightfall.js +7 -0
  2180. package/dist/assets/upstream/recipes/web/lightfall/preview.html +3 -0
  2181. package/dist/assets/upstream/recipes/web/lightfall/recipe.motion.yaml +25 -0
  2182. package/dist/assets/upstream/recipes/web/lightning/SKILL.md +12 -0
  2183. package/dist/assets/upstream/recipes/web/lightning/lightning.js +7 -0
  2184. package/dist/assets/upstream/recipes/web/lightning/preview.html +3 -0
  2185. package/dist/assets/upstream/recipes/web/lightning/recipe.motion.yaml +25 -0
  2186. package/dist/assets/upstream/recipes/web/like-burst/SKILL.md +65 -0
  2187. package/dist/assets/upstream/recipes/web/like-burst/like-burst.css +71 -0
  2188. package/dist/assets/upstream/recipes/web/like-burst/like-burst.js +82 -0
  2189. package/dist/assets/upstream/recipes/web/like-burst/preview.html +48 -0
  2190. package/dist/assets/upstream/recipes/web/like-burst/recipe.motion.yaml +55 -0
  2191. package/dist/assets/upstream/recipes/web/line-waves/SKILL.md +12 -0
  2192. package/dist/assets/upstream/recipes/web/line-waves/line-waves.js +7 -0
  2193. package/dist/assets/upstream/recipes/web/line-waves/preview.html +3 -0
  2194. package/dist/assets/upstream/recipes/web/line-waves/recipe.motion.yaml +25 -0
  2195. package/dist/assets/upstream/recipes/web/liquid-chrome/SKILL.md +12 -0
  2196. package/dist/assets/upstream/recipes/web/liquid-chrome/liquid-chrome.js +7 -0
  2197. package/dist/assets/upstream/recipes/web/liquid-chrome/preview.html +3 -0
  2198. package/dist/assets/upstream/recipes/web/liquid-chrome/recipe.motion.yaml +25 -0
  2199. package/dist/assets/upstream/recipes/web/loading-shimmer/SKILL.md +45 -0
  2200. package/dist/assets/upstream/recipes/web/loading-shimmer/loading-shimmer.css +30 -0
  2201. package/dist/assets/upstream/recipes/web/loading-shimmer/preview.html +42 -0
  2202. package/dist/assets/upstream/recipes/web/loading-shimmer/recipe.motion.yaml +48 -0
  2203. package/dist/assets/upstream/recipes/web/magnet-lines/SKILL.md +11 -0
  2204. package/dist/assets/upstream/recipes/web/magnet-lines/magnet-lines.css +4 -0
  2205. package/dist/assets/upstream/recipes/web/magnet-lines/magnet-lines.js +10 -0
  2206. package/dist/assets/upstream/recipes/web/magnet-lines/preview.html +3 -0
  2207. package/dist/assets/upstream/recipes/web/magnet-lines/recipe.motion.yaml +25 -0
  2208. package/dist/assets/upstream/recipes/web/magnetic-button/SKILL.md +54 -0
  2209. package/dist/assets/upstream/recipes/web/magnetic-button/magnetic-button.css +24 -0
  2210. package/dist/assets/upstream/recipes/web/magnetic-button/magnetic-button.js +46 -0
  2211. package/dist/assets/upstream/recipes/web/magnetic-button/preview.html +27 -0
  2212. package/dist/assets/upstream/recipes/web/magnetic-button/recipe.motion.yaml +53 -0
  2213. package/dist/assets/upstream/recipes/web/noise/SKILL.md +12 -0
  2214. package/dist/assets/upstream/recipes/web/noise/noise.js +25 -0
  2215. package/dist/assets/upstream/recipes/web/noise/preview.html +3 -0
  2216. package/dist/assets/upstream/recipes/web/noise/recipe.motion.yaml +25 -0
  2217. package/dist/assets/upstream/recipes/web/orb/SKILL.md +12 -0
  2218. package/dist/assets/upstream/recipes/web/orb/orb.js +7 -0
  2219. package/dist/assets/upstream/recipes/web/orb/preview.html +3 -0
  2220. package/dist/assets/upstream/recipes/web/orb/recipe.motion.yaml +25 -0
  2221. package/dist/assets/upstream/recipes/web/particles/SKILL.md +12 -0
  2222. package/dist/assets/upstream/recipes/web/particles/particles.js +131 -0
  2223. package/dist/assets/upstream/recipes/web/particles/preview.html +3 -0
  2224. package/dist/assets/upstream/recipes/web/particles/recipe.motion.yaml +25 -0
  2225. package/dist/assets/upstream/recipes/web/pixel-blast/SKILL.md +12 -0
  2226. package/dist/assets/upstream/recipes/web/pixel-blast/pixel-blast.js +14 -0
  2227. package/dist/assets/upstream/recipes/web/pixel-blast/preview.html +3 -0
  2228. package/dist/assets/upstream/recipes/web/pixel-blast/recipe.motion.yaml +25 -0
  2229. package/dist/assets/upstream/recipes/web/pixel-card/SKILL.md +11 -0
  2230. package/dist/assets/upstream/recipes/web/pixel-card/pixel-card.css +6 -0
  2231. package/dist/assets/upstream/recipes/web/pixel-card/pixel-card.js +8 -0
  2232. package/dist/assets/upstream/recipes/web/pixel-card/preview.html +3 -0
  2233. package/dist/assets/upstream/recipes/web/pixel-card/recipe.motion.yaml +25 -0
  2234. package/dist/assets/upstream/recipes/web/pixel-snow/SKILL.md +12 -0
  2235. package/dist/assets/upstream/recipes/web/pixel-snow/pixel-snow.js +7 -0
  2236. package/dist/assets/upstream/recipes/web/pixel-snow/preview.html +3 -0
  2237. package/dist/assets/upstream/recipes/web/pixel-snow/recipe.motion.yaml +25 -0
  2238. package/dist/assets/upstream/recipes/web/pixel-transition/SKILL.md +11 -0
  2239. package/dist/assets/upstream/recipes/web/pixel-transition/pixel-transition.css +7 -0
  2240. package/dist/assets/upstream/recipes/web/pixel-transition/pixel-transition.js +8 -0
  2241. package/dist/assets/upstream/recipes/web/pixel-transition/preview.html +3 -0
  2242. package/dist/assets/upstream/recipes/web/pixel-transition/recipe.motion.yaml +25 -0
  2243. package/dist/assets/upstream/recipes/web/plasma/SKILL.md +12 -0
  2244. package/dist/assets/upstream/recipes/web/plasma/plasma.js +7 -0
  2245. package/dist/assets/upstream/recipes/web/plasma/preview.html +3 -0
  2246. package/dist/assets/upstream/recipes/web/plasma/recipe.motion.yaml +25 -0
  2247. package/dist/assets/upstream/recipes/web/plasma-wave/SKILL.md +12 -0
  2248. package/dist/assets/upstream/recipes/web/plasma-wave/plasma-wave.js +7 -0
  2249. package/dist/assets/upstream/recipes/web/plasma-wave/preview.html +3 -0
  2250. package/dist/assets/upstream/recipes/web/plasma-wave/recipe.motion.yaml +25 -0
  2251. package/dist/assets/upstream/recipes/web/prism/SKILL.md +12 -0
  2252. package/dist/assets/upstream/recipes/web/prism/preview.html +3 -0
  2253. package/dist/assets/upstream/recipes/web/prism/prism.js +7 -0
  2254. package/dist/assets/upstream/recipes/web/prism/recipe.motion.yaml +25 -0
  2255. package/dist/assets/upstream/recipes/web/prismatic-burst/SKILL.md +12 -0
  2256. package/dist/assets/upstream/recipes/web/prismatic-burst/preview.html +3 -0
  2257. package/dist/assets/upstream/recipes/web/prismatic-burst/prismatic-burst.js +7 -0
  2258. package/dist/assets/upstream/recipes/web/prismatic-burst/recipe.motion.yaml +25 -0
  2259. package/dist/assets/upstream/recipes/web/radar/SKILL.md +12 -0
  2260. package/dist/assets/upstream/recipes/web/radar/preview.html +3 -0
  2261. package/dist/assets/upstream/recipes/web/radar/radar.js +7 -0
  2262. package/dist/assets/upstream/recipes/web/radar/recipe.motion.yaml +25 -0
  2263. package/dist/assets/upstream/recipes/web/ripple-grid/SKILL.md +12 -0
  2264. package/dist/assets/upstream/recipes/web/ripple-grid/preview.html +3 -0
  2265. package/dist/assets/upstream/recipes/web/ripple-grid/recipe.motion.yaml +25 -0
  2266. package/dist/assets/upstream/recipes/web/ripple-grid/ripple-grid.js +7 -0
  2267. package/dist/assets/upstream/recipes/web/ripple-press/SKILL.md +56 -0
  2268. package/dist/assets/upstream/recipes/web/ripple-press/preview.html +30 -0
  2269. package/dist/assets/upstream/recipes/web/ripple-press/recipe.motion.yaml +57 -0
  2270. package/dist/assets/upstream/recipes/web/ripple-press/ripple.css +24 -0
  2271. package/dist/assets/upstream/recipes/web/ripple-press/ripple.js +41 -0
  2272. package/dist/assets/upstream/recipes/web/rotating-text/SKILL.md +11 -0
  2273. package/dist/assets/upstream/recipes/web/rotating-text/preview.html +3 -0
  2274. package/dist/assets/upstream/recipes/web/rotating-text/recipe.motion.yaml +25 -0
  2275. package/dist/assets/upstream/recipes/web/rotating-text/rotating-text.css +5 -0
  2276. package/dist/assets/upstream/recipes/web/rotating-text/rotating-text.js +10 -0
  2277. package/dist/assets/upstream/recipes/web/scroll-float/SKILL.md +11 -0
  2278. package/dist/assets/upstream/recipes/web/scroll-float/preview.html +3 -0
  2279. package/dist/assets/upstream/recipes/web/scroll-float/recipe.motion.yaml +25 -0
  2280. package/dist/assets/upstream/recipes/web/scroll-float/scroll-float.css +5 -0
  2281. package/dist/assets/upstream/recipes/web/scroll-float/scroll-float.js +12 -0
  2282. package/dist/assets/upstream/recipes/web/scroll-reveal/SKILL.md +57 -0
  2283. package/dist/assets/upstream/recipes/web/scroll-reveal/preview.html +42 -0
  2284. package/dist/assets/upstream/recipes/web/scroll-reveal/recipe.motion.yaml +52 -0
  2285. package/dist/assets/upstream/recipes/web/scroll-reveal/scroll-reveal.css +20 -0
  2286. package/dist/assets/upstream/recipes/web/scroll-reveal/scroll-reveal.js +53 -0
  2287. package/dist/assets/upstream/recipes/web/shimmer-button/SKILL.md +54 -0
  2288. package/dist/assets/upstream/recipes/web/shimmer-button/preview.html +22 -0
  2289. package/dist/assets/upstream/recipes/web/shimmer-button/recipe.motion.yaml +57 -0
  2290. package/dist/assets/upstream/recipes/web/shimmer-button/shimmer-button.css +38 -0
  2291. package/dist/assets/upstream/recipes/web/shine-border/SKILL.md +55 -0
  2292. package/dist/assets/upstream/recipes/web/shine-border/preview.html +28 -0
  2293. package/dist/assets/upstream/recipes/web/shine-border/recipe.motion.yaml +58 -0
  2294. package/dist/assets/upstream/recipes/web/shine-border/shine-border.css +48 -0
  2295. package/dist/assets/upstream/recipes/web/shiny-text/SKILL.md +12 -0
  2296. package/dist/assets/upstream/recipes/web/shiny-text/preview.html +3 -0
  2297. package/dist/assets/upstream/recipes/web/shiny-text/recipe.motion.yaml +44 -0
  2298. package/dist/assets/upstream/recipes/web/shiny-text/shiny-text.css +17 -0
  2299. package/dist/assets/upstream/recipes/web/shuffle-text/SKILL.md +12 -0
  2300. package/dist/assets/upstream/recipes/web/shuffle-text/preview.html +3 -0
  2301. package/dist/assets/upstream/recipes/web/shuffle-text/recipe.motion.yaml +25 -0
  2302. package/dist/assets/upstream/recipes/web/shuffle-text/shuffle-text.js +11 -0
  2303. package/dist/assets/upstream/recipes/web/side-rays/SKILL.md +12 -0
  2304. package/dist/assets/upstream/recipes/web/side-rays/preview.html +3 -0
  2305. package/dist/assets/upstream/recipes/web/side-rays/recipe.motion.yaml +25 -0
  2306. package/dist/assets/upstream/recipes/web/side-rays/side-rays.js +7 -0
  2307. package/dist/assets/upstream/recipes/web/silk/SKILL.md +12 -0
  2308. package/dist/assets/upstream/recipes/web/silk/preview.html +3 -0
  2309. package/dist/assets/upstream/recipes/web/silk/recipe.motion.yaml +25 -0
  2310. package/dist/assets/upstream/recipes/web/silk/silk.js +7 -0
  2311. package/dist/assets/upstream/recipes/web/soft-aurora/SKILL.md +12 -0
  2312. package/dist/assets/upstream/recipes/web/soft-aurora/preview.html +3 -0
  2313. package/dist/assets/upstream/recipes/web/soft-aurora/recipe.motion.yaml +25 -0
  2314. package/dist/assets/upstream/recipes/web/soft-aurora/soft-aurora.js +7 -0
  2315. package/dist/assets/upstream/recipes/web/splash-cursor/SKILL.md +12 -0
  2316. package/dist/assets/upstream/recipes/web/splash-cursor/preview.html +13 -0
  2317. package/dist/assets/upstream/recipes/web/splash-cursor/recipe.motion.yaml +25 -0
  2318. package/dist/assets/upstream/recipes/web/splash-cursor/splash-cursor.js +1036 -0
  2319. package/dist/assets/upstream/recipes/web/spotlight-card/SKILL.md +55 -0
  2320. package/dist/assets/upstream/recipes/web/spotlight-card/preview.html +32 -0
  2321. package/dist/assets/upstream/recipes/web/spotlight-card/recipe.motion.yaml +58 -0
  2322. package/dist/assets/upstream/recipes/web/spotlight-card/spotlight-card.css +39 -0
  2323. package/dist/assets/upstream/recipes/web/spotlight-card/spotlight-card.js +34 -0
  2324. package/dist/assets/upstream/recipes/web/stagger-list/SKILL.md +44 -0
  2325. package/dist/assets/upstream/recipes/web/stagger-list/preview.html +34 -0
  2326. package/dist/assets/upstream/recipes/web/stagger-list/recipe.motion.yaml +58 -0
  2327. package/dist/assets/upstream/recipes/web/stagger-list/stagger-list.css +17 -0
  2328. package/dist/assets/upstream/recipes/web/stagger-list/stagger-list.js +35 -0
  2329. package/dist/assets/upstream/recipes/web/star-border/SKILL.md +12 -0
  2330. package/dist/assets/upstream/recipes/web/star-border/preview.html +3 -0
  2331. package/dist/assets/upstream/recipes/web/star-border/recipe.motion.yaml +25 -0
  2332. package/dist/assets/upstream/recipes/web/star-border/star-border.css +16 -0
  2333. package/dist/assets/upstream/recipes/web/stepper/SKILL.md +11 -0
  2334. package/dist/assets/upstream/recipes/web/stepper/preview.html +3 -0
  2335. package/dist/assets/upstream/recipes/web/stepper/recipe.motion.yaml +25 -0
  2336. package/dist/assets/upstream/recipes/web/stepper/stepper.css +8 -0
  2337. package/dist/assets/upstream/recipes/web/stepper/stepper.js +9 -0
  2338. package/dist/assets/upstream/recipes/web/strands/SKILL.md +12 -0
  2339. package/dist/assets/upstream/recipes/web/strands/preview.html +3 -0
  2340. package/dist/assets/upstream/recipes/web/strands/recipe.motion.yaml +25 -0
  2341. package/dist/assets/upstream/recipes/web/strands/strands.js +7 -0
  2342. package/dist/assets/upstream/recipes/web/target-cursor/SKILL.md +11 -0
  2343. package/dist/assets/upstream/recipes/web/target-cursor/preview.html +3 -0
  2344. package/dist/assets/upstream/recipes/web/target-cursor/recipe.motion.yaml +25 -0
  2345. package/dist/assets/upstream/recipes/web/target-cursor/target-cursor.js +10 -0
  2346. package/dist/assets/upstream/recipes/web/text-scramble/SKILL.md +56 -0
  2347. package/dist/assets/upstream/recipes/web/text-scramble/preview.html +33 -0
  2348. package/dist/assets/upstream/recipes/web/text-scramble/recipe.motion.yaml +58 -0
  2349. package/dist/assets/upstream/recipes/web/text-scramble/text-scramble.js +65 -0
  2350. package/dist/assets/upstream/recipes/web/threads/SKILL.md +12 -0
  2351. package/dist/assets/upstream/recipes/web/threads/preview.html +3 -0
  2352. package/dist/assets/upstream/recipes/web/threads/recipe.motion.yaml +25 -0
  2353. package/dist/assets/upstream/recipes/web/threads/threads.js +7 -0
  2354. package/dist/assets/upstream/recipes/web/tilt-3d/SKILL.md +55 -0
  2355. package/dist/assets/upstream/recipes/web/tilt-3d/preview.html +30 -0
  2356. package/dist/assets/upstream/recipes/web/tilt-3d/recipe.motion.yaml +58 -0
  2357. package/dist/assets/upstream/recipes/web/tilt-3d/tilt-3d.css +37 -0
  2358. package/dist/assets/upstream/recipes/web/tilt-3d/tilt-3d.js +43 -0
  2359. package/dist/assets/upstream/recipes/web/toggle-spring/SKILL.md +44 -0
  2360. package/dist/assets/upstream/recipes/web/toggle-spring/preview.html +35 -0
  2361. package/dist/assets/upstream/recipes/web/toggle-spring/recipe.motion.yaml +58 -0
  2362. package/dist/assets/upstream/recipes/web/toggle-spring/toggle-spring.css +32 -0
  2363. package/dist/assets/upstream/recipes/web/toggle-spring/toggle-spring.js +20 -0
  2364. package/dist/assets/upstream/recipes/web/true-focus/SKILL.md +11 -0
  2365. package/dist/assets/upstream/recipes/web/true-focus/preview.html +3 -0
  2366. package/dist/assets/upstream/recipes/web/true-focus/recipe.motion.yaml +25 -0
  2367. package/dist/assets/upstream/recipes/web/true-focus/true-focus.css +5 -0
  2368. package/dist/assets/upstream/recipes/web/true-focus/true-focus.js +10 -0
  2369. package/dist/assets/upstream/recipes/web/waves/SKILL.md +12 -0
  2370. package/dist/assets/upstream/recipes/web/waves/preview.html +3 -0
  2371. package/dist/assets/upstream/recipes/web/waves/recipe.motion.yaml +25 -0
  2372. package/dist/assets/upstream/recipes/web/waves/waves.js +126 -0
  2373. package/dist/index.d.ts +17 -0
  2374. package/dist/index.d.ts.map +1 -0
  2375. package/dist/index.js +190 -0
  2376. package/dist/index.js.map +1 -0
  2377. package/dist/lib/constants.d.ts +28 -0
  2378. package/dist/lib/constants.d.ts.map +1 -0
  2379. package/dist/lib/constants.js +46 -0
  2380. package/dist/lib/constants.js.map +1 -0
  2381. package/dist/lib/entities/index.d.ts +6 -0
  2382. package/dist/lib/entities/index.d.ts.map +1 -0
  2383. package/dist/lib/entities/index.js +6 -0
  2384. package/dist/lib/entities/index.js.map +1 -0
  2385. package/dist/lib/entities/motion-action-log.entity.d.ts +18 -0
  2386. package/dist/lib/entities/motion-action-log.entity.d.ts.map +1 -0
  2387. package/dist/lib/entities/motion-action-log.entity.js +69 -0
  2388. package/dist/lib/entities/motion-action-log.entity.js.map +1 -0
  2389. package/dist/lib/entities/motion-export.entity.d.ts +24 -0
  2390. package/dist/lib/entities/motion-export.entity.d.ts.map +1 -0
  2391. package/dist/lib/entities/motion-export.entity.js +94 -0
  2392. package/dist/lib/entities/motion-export.entity.js.map +1 -0
  2393. package/dist/lib/entities/motion-project-version.entity.d.ts +25 -0
  2394. package/dist/lib/entities/motion-project-version.entity.d.ts.map +1 -0
  2395. package/dist/lib/entities/motion-project-version.entity.js +98 -0
  2396. package/dist/lib/entities/motion-project-version.entity.js.map +1 -0
  2397. package/dist/lib/entities/motion-project.entity.d.ts +36 -0
  2398. package/dist/lib/entities/motion-project.entity.d.ts.map +1 -0
  2399. package/dist/lib/entities/motion-project.entity.js +142 -0
  2400. package/dist/lib/entities/motion-project.entity.js.map +1 -0
  2401. package/dist/lib/entities/motion-style.entity.d.ts +18 -0
  2402. package/dist/lib/entities/motion-style.entity.d.ts.map +1 -0
  2403. package/dist/lib/entities/motion-style.entity.js +69 -0
  2404. package/dist/lib/entities/motion-style.entity.js.map +1 -0
  2405. package/dist/lib/html-motion.d.ts +29 -0
  2406. package/dist/lib/html-motion.d.ts.map +1 -0
  2407. package/dist/lib/html-motion.js +266 -0
  2408. package/dist/lib/html-motion.js.map +1 -0
  2409. package/dist/lib/json-utils.d.ts +7 -0
  2410. package/dist/lib/json-utils.d.ts.map +1 -0
  2411. package/dist/lib/json-utils.js +30 -0
  2412. package/dist/lib/json-utils.js.map +1 -0
  2413. package/dist/lib/motion-agent-response.d.ts +77 -0
  2414. package/dist/lib/motion-agent-response.d.ts.map +1 -0
  2415. package/dist/lib/motion-agent-response.js +194 -0
  2416. package/dist/lib/motion-agent-response.js.map +1 -0
  2417. package/dist/lib/motion-view.provider.d.ts +14 -0
  2418. package/dist/lib/motion-view.provider.d.ts.map +1 -0
  2419. package/dist/lib/motion-view.provider.js +513 -0
  2420. package/dist/lib/motion-view.provider.js.map +1 -0
  2421. package/dist/lib/motion.middleware.d.ts +10 -0
  2422. package/dist/lib/motion.middleware.d.ts.map +1 -0
  2423. package/dist/lib/motion.middleware.js +294 -0
  2424. package/dist/lib/motion.middleware.js.map +1 -0
  2425. package/dist/lib/motion.plugin.d.ts +8 -0
  2426. package/dist/lib/motion.plugin.d.ts.map +1 -0
  2427. package/dist/lib/motion.plugin.js +27 -0
  2428. package/dist/lib/motion.plugin.js.map +1 -0
  2429. package/dist/lib/motion.service.d.ts +508 -0
  2430. package/dist/lib/motion.service.d.ts.map +1 -0
  2431. package/dist/lib/motion.service.js +849 -0
  2432. package/dist/lib/motion.service.js.map +1 -0
  2433. package/dist/lib/motion.templates.d.ts +3 -0
  2434. package/dist/lib/motion.templates.d.ts.map +1 -0
  2435. package/dist/lib/motion.templates.js +77 -0
  2436. package/dist/lib/motion.templates.js.map +1 -0
  2437. package/dist/lib/recipe-library.d.ts +14 -0
  2438. package/dist/lib/recipe-library.d.ts.map +1 -0
  2439. package/dist/lib/recipe-library.js +175 -0
  2440. package/dist/lib/recipe-library.js.map +1 -0
  2441. package/dist/lib/remote-components/motion-workbench/app.css +1 -0
  2442. package/dist/lib/remote-components/motion-workbench/app.js +1044 -0
  2443. package/dist/lib/types.d.ts +240 -0
  2444. package/dist/lib/types.d.ts.map +1 -0
  2445. package/dist/lib/types.js +2 -0
  2446. package/dist/lib/types.js.map +1 -0
  2447. package/dist/lib/video-composition.d.ts +4 -0
  2448. package/dist/lib/video-composition.d.ts.map +1 -0
  2449. package/dist/lib/video-composition.js +126 -0
  2450. package/dist/lib/video-composition.js.map +1 -0
  2451. package/dist/lib/workbench-model.d.ts +111 -0
  2452. package/dist/lib/workbench-model.d.ts.map +1 -0
  2453. package/dist/lib/workbench-model.js +468 -0
  2454. package/dist/lib/workbench-model.js.map +1 -0
  2455. package/dist/xpert-motion-assistant.yaml +148 -0
  2456. package/package.json +90 -0
  2457. package/skills/motion-agent-skill/SKILL.md +66 -0
@@ -0,0 +1,1065 @@
1
+ /* motion-anything · library data
2
+ * The app's Motion Library renders from this list. Adding an entry here puts a new
3
+ * card on the shelf. (Roadmap: `motion build` will generate this from the real
4
+ * recipes/<surface>/<id>/recipe.motion.yaml manifests so content and app stay in sync.)
5
+ *
6
+ * cat = MOTION-SPEC category (mapped to a friendly label in the app)
7
+ * kind = which tiny live demo the card plays (see app.js renderDemo/animateDemo)
8
+ * status = 'ready' (real recipe folder, exportable) | 'soon' (roadmap)
9
+ * preview = path to the real recipe preview (null until the recipe folder exists)
10
+ */
11
+ window.MA_RECIPES = [
12
+ { id:'fx-typewriter-multi', name:'Typewriter Multi', cat:'text-kinetic', surfaces:['video'], target:['text'], runtime:['js'], export:['skill','html'],
13
+ desc:"Multi-line typewriter — types lines in sequence.", kind:'fx', status:'ready', upstream:'open-design',
14
+ preview:'recipes/slides/fx-typewriter-multi/preview.html' },
15
+ { id:'shiny-text', name:'Shiny Text', cat:'text-kinetic', surfaces:['web','interaction'], canvas:['web'], target:["text"], runtime:["css"], export:['skill','motion-json','html'],
16
+ desc:"Shiny Text — dependency-free, reduced-motion safe.", tags:["shine","shimmer","premium","label"], kind:'ui', status:'ready', preview:'recipes/web/shiny-text/preview.html' },
17
+ { id:'star-border', name:'Star Border', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:["button","card"], runtime:["css"], export:['skill','motion-json','html'],
18
+ desc:"Star Border — dependency-free, reduced-motion safe.", tags:["border","gradient","cta","glow"], kind:'css-anim', status:'ready', preview:'recipes/web/star-border/preview.html' },
19
+ { id:'glare-hover', name:'Glare Hover', cat:'hover-press', surfaces:['web','interaction'], canvas:['web'], target:["card","image"], runtime:["css","js"], export:['skill','motion-json','html'],
20
+ desc:"Glare Hover — dependency-free, reduced-motion safe.", tags:["glare","sheen","hover","premium"], kind:'ui', status:'ready', preview:'recipes/web/glare-hover/preview.html' },
21
+ { id:'glitch-text', name:'Glitch Text', cat:'text-kinetic', surfaces:['web','interaction'], canvas:['web'], target:["text"], runtime:["css"], export:['skill','motion-json','html'],
22
+ desc:"Glitch Text — dependency-free, reduced-motion safe.", tags:["glitch","rgb","cyberpunk","techy"], kind:'ui', status:'ready', preview:'recipes/web/glitch-text/preview.html' },
23
+ { id:'fade-content', name:'Fade Content', cat:'scroll-reveal', surfaces:['web','interaction'], canvas:['web'], target:["section","card","text"], runtime:["css","js"], export:['skill','motion-json','html'],
24
+ desc:"Fade Content — dependency-free, reduced-motion safe.", tags:["fade","reveal","on-view","scroll"], kind:'ui', status:'ready', preview:'recipes/web/fade-content/preview.html' },
25
+ { id:'click-spark', name:'Click Spark', cat:'feedback-delight', surfaces:['web','interaction'], canvas:['web'], target:["button"], runtime:["js"], export:['skill','motion-json','html'],
26
+ desc:"Click Spark — dependency-free, reduced-motion safe.", tags:["spark","click","burst","tap"], kind:'ui', status:'ready', preview:'recipes/web/click-spark/preview.html' },
27
+ { id:'rotating-text', name:'Rotating Text', cat:'text-kinetic', surfaces:['web','interaction'], canvas:['web'], target:["text"], runtime:["css","js"], export:['skill','motion-json','html'],
28
+ desc:"Rotating Text — dependency-free, reduced-motion safe.", tags:["rotating","cycle","words"], kind:'ui', status:'ready', preview:'recipes/web/rotating-text/preview.html' },
29
+ { id:'true-focus', name:'True Focus', cat:'text-kinetic', surfaces:['web','interaction'], canvas:['web'], target:["text"], runtime:["css","js"], export:['skill','motion-json','html'],
30
+ desc:"True Focus — dependency-free, reduced-motion safe.", tags:["focus","blur","attention"], kind:'ui', status:'ready', preview:'recipes/web/true-focus/preview.html' },
31
+ { id:'electric-border', name:'Electric Border', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:["card","button"], runtime:["css"], export:['skill','motion-json','html'],
32
+ desc:"Electric Border — dependency-free, reduced-motion safe.", tags:["electric","border","energy"], kind:'css-anim', status:'ready', preview:'recipes/web/electric-border/preview.html' },
33
+ { id:'gradual-blur', name:'Gradual Blur', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:["section","list"], runtime:["css"], export:['skill','motion-json','html'],
34
+ desc:"Gradual Blur — dependency-free, reduced-motion safe.", tags:["blur","gradient","mask","edge"], kind:'css-anim', status:'ready', preview:'recipes/web/gradual-blur/preview.html' },
35
+ { id:'blur-text', name:'Blur Text', cat:'text-kinetic', surfaces:['web','interaction'], canvas:['web'], target:["text"], runtime:["css","js"], export:['skill','motion-json','html'],
36
+ desc:"Blur Text — dependency-free, reduced-motion safe.", tags:["blur","focus","entrance","headline"], kind:'ui', status:'ready', preview:'recipes/web/blur-text/preview.html' },
37
+ { id:'decrypted-text', name:'Decrypted Text', cat:'text-kinetic', surfaces:['web','interaction'], canvas:['web'], target:["text"], runtime:["css","js"], export:['skill','motion-json','html'],
38
+ desc:"Decrypted Text — dependency-free, reduced-motion safe.", tags:["decrypt","scramble","decode","techy"], kind:'ui', status:'ready', preview:'recipes/web/decrypted-text/preview.html' },
39
+ { id:'falling-text', name:'Falling Text', cat:'text-kinetic', surfaces:['web','interaction'], canvas:['web'], target:["text"], runtime:["css","js"], export:['skill','motion-json','html'],
40
+ desc:"Falling Text — dependency-free, reduced-motion safe.", tags:["fall","drop","gravity","entrance"], kind:'ui', status:'ready', preview:'recipes/web/falling-text/preview.html' },
41
+ { id:'shuffle-text', name:'Shuffle Text', cat:'text-kinetic', surfaces:['web','interaction'], canvas:['web'], target:["text"], runtime:["css","js"], export:['skill','motion-json','html'],
42
+ desc:"Shuffle Text — dependency-free, reduced-motion safe.", tags:["shuffle","scramble","reveal"], kind:'ui', status:'ready', preview:'recipes/web/shuffle-text/preview.html' },
43
+ { id:'scroll-float', name:'Scroll Float', cat:'text-kinetic', surfaces:['web','interaction'], canvas:['web'], target:["text"], runtime:["css","js"], export:['skill','motion-json','html'],
44
+ desc:"Scroll Float — dependency-free, reduced-motion safe.", tags:["scroll","per-word","float","reveal"], kind:'ui', status:'ready', preview:'recipes/web/scroll-float/preview.html' },
45
+ { id:'circular-text', name:'Circular Text', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:["text"], runtime:["css","js"], export:['skill','motion-json','html'],
46
+ desc:"Circular Text — dependency-free, reduced-motion safe.", tags:["circular","ring","badge","seal"], kind:'css-anim', status:'ready', preview:'recipes/web/circular-text/preview.html' },
47
+ { id:'magnet-lines', name:'Magnet Lines', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:["background","section"], runtime:["css","js"], export:['skill','motion-json','html'],
48
+ desc:"Magnet Lines — dependency-free, reduced-motion safe.", tags:["magnet","pointer","field"], kind:'ui', status:'ready', preview:'recipes/web/magnet-lines/preview.html' },
49
+ { id:'pixel-transition', name:'Pixel Transition', cat:'hover-press', surfaces:['web','interaction'], canvas:['web'], target:["card","image"], runtime:["css","js"], export:['skill','motion-json','html'],
50
+ desc:"Pixel Transition — dependency-free, reduced-motion safe.", tags:["pixel","transition","retro","reveal"], kind:'ui', status:'ready', preview:'recipes/web/pixel-transition/preview.html' },
51
+ { id:'glass-icons', name:'Glass Icons', cat:'hover-press', surfaces:['web','interaction'], canvas:['web'], target:["button","icon"], runtime:["css"], export:['skill','motion-json','html'],
52
+ desc:"Glass Icons — dependency-free, reduced-motion safe.", tags:["glass","glassmorphism","tactile"], kind:'ui', status:'ready', preview:'recipes/web/glass-icons/preview.html' },
53
+ { id:'pixel-card', name:'Pixel Card', cat:'hover-press', surfaces:['web','interaction'], canvas:['web'], target:["card"], runtime:["css","js"], export:['skill','motion-json','html'],
54
+ desc:"Pixel Card — dependency-free, reduced-motion safe.", tags:["pixel","shimmer","retro"], kind:'ui', status:'ready', preview:'recipes/web/pixel-card/preview.html' },
55
+ { id:'blob-cursor', name:'Blob Cursor', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:["background","section"], runtime:["js"], export:['skill','motion-json','html'],
56
+ desc:"Blob Cursor — dependency-free, reduced-motion safe.", tags:["blob","gooey","cursor","pointer"], kind:'ui', status:'ready', preview:'recipes/web/blob-cursor/preview.html' },
57
+ { id:'crosshair', name:'Crosshair Cursor', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:["background","section"], runtime:["js"], export:['skill','motion-json','html'],
58
+ desc:"Crosshair Cursor — dependency-free, reduced-motion safe.", tags:["crosshair","targeting","cursor"], kind:'ui', status:'ready', preview:'recipes/web/crosshair/preview.html' },
59
+ { id:'target-cursor', name:'Target Cursor', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:["button","section"], runtime:["js"], export:['skill','motion-json','html'],
60
+ desc:"Target Cursor — dependency-free, reduced-motion safe.", tags:["target","ring","cursor"], kind:'ui', status:'ready', preview:'recipes/web/target-cursor/preview.html' },
61
+ { id:'elastic-slider', name:'Elastic Slider', cat:'feedback-delight', surfaces:['web','interaction'], canvas:['web'], target:["section"], runtime:["css","js"], export:['skill','motion-json','html'],
62
+ desc:"Elastic Slider — dependency-free, reduced-motion safe.", tags:["slider","springy","input"], kind:'ui', status:'ready', preview:'recipes/web/elastic-slider/preview.html' },
63
+ { id:'counter', name:'Counter Roll', cat:'emphasis', surfaces:['web','interaction'], canvas:['web'], target:["number"], runtime:["css","js"], export:['skill','motion-json','html'],
64
+ desc:"Counter Roll — dependency-free, reduced-motion safe.", tags:["counter","odometer","number","roll"], kind:'ui', status:'ready', preview:'recipes/web/counter/preview.html' },
65
+ { id:'image-trail', name:'Image Trail', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:["image","section"], runtime:["js"], export:['skill','motion-json','html'],
66
+ desc:"Image Trail — dependency-free, reduced-motion safe.", tags:["image","trail","cursor","gallery"], kind:'ui', status:'ready', preview:'recipes/web/image-trail/preview.html' },
67
+ { id:'dock', name:'Magnify Dock', cat:'hover-press', surfaces:['web','interaction'], canvas:['web'], target:["list","button"], runtime:["css","js"], export:['skill','motion-json','html'],
68
+ desc:"Magnify Dock — dependency-free, reduced-motion safe.", tags:["dock","magnify","macos","launcher"], kind:'ui', status:'ready', preview:'recipes/web/dock/preview.html' },
69
+ { id:'gooey-nav', name:'Gooey Nav', cat:'hover-press', surfaces:['web','interaction'], canvas:['web'], target:["list","button"], runtime:["css","js"], export:['skill','motion-json','html'],
70
+ desc:"Gooey Nav — dependency-free, reduced-motion safe.", tags:["gooey","nav","liquid","tabs"], kind:'ui', status:'ready', preview:'recipes/web/gooey-nav/preview.html' },
71
+ { id:'stepper', name:'Stepper', cat:'feedback-delight', surfaces:['web','interaction'], canvas:['web'], target:["list","section"], runtime:["css","js"], export:['skill','motion-json','html'],
72
+ desc:"Stepper — dependency-free, reduced-motion safe.", tags:["stepper","progress","steps"], kind:'ui', status:'ready', preview:'recipes/web/stepper/preview.html' },
73
+ { id:'bounce-cards', name:'Bounce Cards', cat:'entrance', surfaces:['web','interaction'], canvas:['web'], target:["card"], runtime:["css","js"], export:['skill','motion-json','html'],
74
+ desc:"Bounce Cards — dependency-free, reduced-motion safe.", tags:["bounce","fan","cards","spring"], kind:'ui', status:'ready', preview:'recipes/web/bounce-cards/preview.html' },
75
+ { id:'aurora', name:'Aurora', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:['background','section'], runtime:['js'], export:['skill','motion-json','html'],
76
+ desc:"A living aurora gradient mesh — GPU fragment shader in dependency-free WebGL2.", tags:['shader','webgl','aurora','background','hero'], kind:'fx', status:'ready', preview:'recipes/web/aurora/preview.html' },
77
+ { id:'iridescence', name:'Iridescence', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:['background','section'], runtime:['js'], export:['skill','motion-json','html'],
78
+ desc:"A flowing iridescent silk field — GPU fragment shader in dependency-free WebGL.", tags:['shader','webgl','iridescence','background','hero'], kind:'fx', status:'ready', preview:'recipes/web/iridescence/preview.html' },
79
+ { id:'liquid-chrome', name:'Liquid Chrome', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:['background','section'], runtime:['js'], export:['skill','motion-json','html'],
80
+ desc:"Liquid Chrome — a distinctive GPU shader background, dependency-free WebGL.", tags:['shader','webgl','liquid-chrome','background','hero'], kind:'fx', status:'ready', preview:'recipes/web/liquid-chrome/preview.html' },
81
+ { id:'plasma', name:'Plasma', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:['background','section'], runtime:['js'], export:['skill','motion-json','html'],
82
+ desc:"Plasma — a distinctive GPU shader background, dependency-free WebGL.", tags:['shader','webgl','plasma','background','hero'], kind:'fx', status:'ready', preview:'recipes/web/plasma/preview.html' },
83
+ { id:'threads', name:'Threads', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:['background','section'], runtime:['js'], export:['skill','motion-json','html'],
84
+ desc:"Threads — a distinctive GPU shader background, dependency-free WebGL.", tags:['shader','webgl','threads','background','hero'], kind:'fx', status:'ready', preview:'recipes/web/threads/preview.html' },
85
+ { id:'dark-veil', name:'Dark Veil', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:['background','section'], runtime:['js'], export:['skill','motion-json','html'],
86
+ desc:"Dark Veil — a distinctive GPU shader background, dependency-free WebGL.", tags:['shader','webgl','dark-veil','background','hero'], kind:'fx', status:'ready', preview:'recipes/web/dark-veil/preview.html' },
87
+ { id:'ripple-grid', name:'Ripple Grid', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:['background','section'], runtime:['js'], export:['skill','motion-json','html'],
88
+ desc:"Ripple Grid — a distinctive GPU shader background, dependency-free WebGL.", tags:['shader','webgl','ripple-grid','background','hero'], kind:'fx', status:'ready', preview:'recipes/web/ripple-grid/preview.html' },
89
+ { id:'prism', name:'Prism', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:['background','section'], runtime:['js'], export:['skill','motion-json','html'],
90
+ desc:"Prism — a distinctive GPU shader background, dependency-free WebGL.", tags:['shader','webgl','prism','background','hero'], kind:'fx', status:'ready', preview:'recipes/web/prism/preview.html' },
91
+ { id:'balatro', name:'Balatro', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:['background','section'], runtime:['js'], export:['skill','motion-json','html'],
92
+ desc:"Balatro — a distinctive GPU shader background, dependency-free WebGL.", tags:['shader','webgl','balatro','background','hero'], kind:'fx', status:'ready', preview:'recipes/web/balatro/preview.html' },
93
+ { id:'grainient', name:'Grainient', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:['background','section'], runtime:['js'], export:['skill','motion-json','html'],
94
+ desc:"Grainient — a distinctive GPU shader background, dependency-free WebGL.", tags:['shader','webgl','grainient','background','hero'], kind:'fx', status:'ready', preview:'recipes/web/grainient/preview.html' },
95
+ { id:'plasma-wave', name:'Plasma Wave', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:['background','section'], runtime:['js'], export:['skill','motion-json','html'],
96
+ desc:"Plasma Wave — a distinctive GPU shader background, dependency-free WebGL.", tags:['shader','webgl','plasma-wave','background','hero'], kind:'fx', status:'ready', preview:'recipes/web/plasma-wave/preview.html' },
97
+ { id:'faulty-terminal', name:'Faulty Terminal', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:['background','section'], runtime:['js'], export:['skill','motion-json','html'],
98
+ desc:"Faulty Terminal — a distinctive GPU shader background, dependency-free WebGL.", tags:['shader','webgl','faulty-terminal','background','hero'], kind:'fx', status:'ready', preview:'recipes/web/faulty-terminal/preview.html' },
99
+ { id:'ferrofluid', name:'Ferrofluid', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:['background','section'], runtime:['js'], export:['skill','motion-json','html'],
100
+ desc:"Ferrofluid — a distinctive GPU shader background, dependency-free WebGL.", tags:['shader','webgl','ferrofluid','background','hero'], kind:'fx', status:'ready', preview:'recipes/web/ferrofluid/preview.html' },
101
+ { id:'galaxy', name:'Galaxy', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:['background','section'], runtime:['js'], export:['skill','motion-json','html'],
102
+ desc:"Galaxy — a distinctive GPU shader background, dependency-free WebGL.", tags:['shader','webgl','galaxy','background','hero'], kind:'fx', status:'ready', preview:'recipes/web/galaxy/preview.html' },
103
+ { id:'gradient-blinds', name:'Gradient Blinds', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:['background','section'], runtime:['js'], export:['skill','motion-json','html'],
104
+ desc:"Gradient Blinds — a distinctive GPU shader background, dependency-free WebGL.", tags:['shader','webgl','gradient-blinds','background','hero'], kind:'fx', status:'ready', preview:'recipes/web/gradient-blinds/preview.html' },
105
+ { id:'light-rays', name:'Light Rays', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:['background','section'], runtime:['js'], export:['skill','motion-json','html'],
106
+ desc:"Light Rays — a distinctive GPU shader background, dependency-free WebGL.", tags:['shader','webgl','light-rays','background','hero'], kind:'fx', status:'ready', preview:'recipes/web/light-rays/preview.html' },
107
+ { id:'lightfall', name:'Lightfall', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:['background','section'], runtime:['js'], export:['skill','motion-json','html'],
108
+ desc:"Lightfall — a distinctive GPU shader background, dependency-free WebGL.", tags:['shader','webgl','lightfall','background','hero'], kind:'fx', status:'ready', preview:'recipes/web/lightfall/preview.html' },
109
+ { id:'line-waves', name:'Line Waves', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:['background','section'], runtime:['js'], export:['skill','motion-json','html'],
110
+ desc:"Line Waves — a distinctive GPU shader background, dependency-free WebGL.", tags:['shader','webgl','line-waves','background','hero'], kind:'fx', status:'ready', preview:'recipes/web/line-waves/preview.html' },
111
+ { id:'orb', name:'Orb', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:['background','section'], runtime:['js'], export:['skill','motion-json','html'],
112
+ desc:"Orb — a distinctive GPU shader background, dependency-free WebGL.", tags:['shader','webgl','orb','background','hero'], kind:'fx', status:'ready', preview:'recipes/web/orb/preview.html' },
113
+ { id:'prismatic-burst', name:'Prismatic Burst', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:['background','section'], runtime:['js'], export:['skill','motion-json','html'],
114
+ desc:"Prismatic Burst — a distinctive GPU shader background, dependency-free WebGL.", tags:['shader','webgl','prismatic-burst','background','hero'], kind:'fx', status:'ready', preview:'recipes/web/prismatic-burst/preview.html' },
115
+ { id:'radar', name:'Radar', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:['background','section'], runtime:['js'], export:['skill','motion-json','html'],
116
+ desc:"Radar — a distinctive GPU shader background, dependency-free WebGL.", tags:['shader','webgl','radar','background','hero'], kind:'fx', status:'ready', preview:'recipes/web/radar/preview.html' },
117
+ { id:'side-rays', name:'Side Rays', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:['background','section'], runtime:['js'], export:['skill','motion-json','html'],
118
+ desc:"Side Rays — a distinctive GPU shader background, dependency-free WebGL.", tags:['shader','webgl','side-rays','background','hero'], kind:'fx', status:'ready', preview:'recipes/web/side-rays/preview.html' },
119
+ { id:'soft-aurora', name:'Soft Aurora', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:['background','section'], runtime:['js'], export:['skill','motion-json','html'],
120
+ desc:"Soft Aurora — a distinctive GPU shader background, dependency-free WebGL.", tags:['shader','webgl','soft-aurora','background','hero'], kind:'fx', status:'ready', preview:'recipes/web/soft-aurora/preview.html' },
121
+ { id:'strands', name:'Strands', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:['background','section'], runtime:['js'], export:['skill','motion-json','html'],
122
+ desc:"Strands — a distinctive GPU shader background, dependency-free WebGL.", tags:['shader','webgl','strands','background','hero'], kind:'fx', status:'ready', preview:'recipes/web/strands/preview.html' },
123
+ { id:'lightning', name:'Lightning', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:['background','section'], runtime:['js'], export:['skill','motion-json','html'],
124
+ desc:"Lightning — a raking electric bolt with glow, faithful GPU shader (dependency-free WebGL).", tags:['shader','webgl','lightning','background','hero'], kind:'fx', status:'ready', preview:'recipes/web/lightning/preview.html' },
125
+ { id:'silk', name:'Silk', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:['background','section'], runtime:['js'], export:['skill','motion-json','html'],
126
+ desc:"Silk — flowing silky fabric waves, faithful GPU shader (dependency-free WebGL).", tags:['shader','webgl','silk','background','hero'], kind:'fx', status:'ready', preview:'recipes/web/silk/preview.html' },
127
+ { id:'pixel-snow', name:'Pixel Snow', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:['background','section'], runtime:['js'], export:['skill','motion-json','html'],
128
+ desc:"Pixel Snow — pixelated snowfall with depth fade, faithful GPU shader (dependency-free WebGL).", tags:['shader','webgl','pixel-snow','snow','background'], kind:'fx', status:'ready', preview:'recipes/web/pixel-snow/preview.html' },
129
+ { id:'pixel-blast', name:'Pixel Blast', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:['background','section'], runtime:['js'], export:['skill','motion-json','html'],
130
+ desc:"Pixel Blast — a drifting pixel pattern that ripples out from clicks, faithful GPU shader (dependency-free WebGL).", tags:['shader','webgl','pixel-blast','interactive','background'], kind:'fx', status:'ready', preview:'recipes/web/pixel-blast/preview.html' },
131
+ { id:'dither', name:'Dither', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:['background','section'], runtime:['js'], export:['skill','motion-json','html'],
132
+ desc:"Dither — a retro Bayer-dithered noise wave, faithful GPU shader (dependency-free WebGL).", tags:['shader','webgl','dither','retro','background'], kind:'fx', status:'ready', preview:'recipes/web/dither/preview.html' },
133
+ { id:'noise', name:'Noise', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:['background','section'], runtime:['js'], export:['skill','motion-json','html'],
134
+ desc:"Noise — a film-grain overlay refreshed every few frames (canvas 2D, dependency-free).", tags:['canvas','noise','grain','overlay','texture'], kind:'fx', status:'ready', preview:'recipes/web/noise/preview.html' },
135
+ { id:'dot-grid', name:'Dot Grid', cat:'feedback-delight', surfaces:['web','interaction'], canvas:['web'], target:['background','section','cursor'], runtime:['js'], export:['skill','motion-json','html'],
136
+ desc:"Dot Grid — dots light up near the pointer, get shoved by fast moves, blast on click, spring back elastically (canvas 2D, dependency-free).", tags:['canvas','dots','interactive','click','cursor'], kind:'fx', status:'ready', preview:'recipes/web/dot-grid/preview.html' },
137
+ { id:'waves', name:'Waves', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:['background','section'], runtime:['js'], export:['skill','motion-json','html'],
138
+ desc:"Waves — a perlin-warped line field with a pointer wake (canvas 2D, dependency-free).", tags:['canvas','lines','perlin','waves','background'], kind:'fx', status:'ready', preview:'recipes/web/waves/preview.html' },
139
+ { id:'dot-field', name:'Dot Field', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:['background','section'], runtime:['js'], export:['skill','motion-json','html'],
140
+ desc:"Dot Field — a gradient dot lattice that bulges away from the pointer with a soft glow (canvas 2D, dependency-free).", tags:['canvas','dots','interactive','cursor','background'], kind:'fx', status:'ready', preview:'recipes/web/dot-field/preview.html' },
141
+ { id:'particles', name:'Particles', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:['background','section'], runtime:['js'], export:['skill','motion-json','html'],
142
+ desc:"Particles — a floating 3D particle cloud with slow scene wobble (raw WebGL points, dependency-free).", tags:['webgl','particles','3d','background','hero'], kind:'fx', status:'ready', preview:'recipes/web/particles/preview.html' },
143
+ { id:'splash-cursor', name:'Splash Cursor', cat:'feedback-delight', surfaces:['web','interaction'], canvas:['web'], target:['background','section','cursor'], runtime:['js'], export:['skill','motion-json','html'],
144
+ desc:"Splash Cursor — pointer movement splats swirling glowing dye (full multi-pass WebGL fluid simulation, dependency-free).", tags:['webgl','fluid','cursor','interactive','wow'], kind:'fx', status:'ready', preview:'recipes/web/splash-cursor/preview.html' },
145
+ { id:'lottie-favorite', name:'Lottie · Favorite', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['skill','lottie','motion-json','html'],
146
+ desc:"A heart/favorite icon that animates on toggle — Lottie JSON, portable across web & app.", kind:'lottie', status:'ready', upstream:'spemer/lottie-animations-json',
147
+ preview:'recipes/lottie/lottie-favorite/preview.html' },
148
+ { id:'lottie-fab', name:'Lottie · FAB', cat:'feedback-delight', surfaces:['app','web','interaction'], canvas:['app','web'], target:['button'], runtime:['lottie'], export:['skill','lottie','motion-json','html'],
149
+ desc:"A floating action button that morphs open — Lottie JSON.", kind:'lottie', status:'ready', upstream:'spemer/lottie-animations-json',
150
+ preview:'recipes/lottie/lottie-fab/preview.html' },
151
+ { id:'lottie-tab', name:'Lottie · Tab', cat:'page-transition', surfaces:['app','interaction'], canvas:['app'], target:['button'], runtime:['lottie'], export:['skill','lottie','motion-json','html'],
152
+ desc:"An animated bottom-tab indicator — Lottie JSON.", kind:'lottie', status:'ready', upstream:'spemer/lottie-animations-json',
153
+ preview:'recipes/lottie/lottie-tab/preview.html' },
154
+ { id:'lottie-pagination', name:'Lottie · Pagination', cat:'feedback-delight', surfaces:['app','web','interaction'], canvas:['app','web'], target:['icon'], runtime:['lottie'], export:['skill','lottie','motion-json','html'],
155
+ desc:"An animated pagination dots indicator — Lottie JSON.", kind:'lottie', status:'ready', upstream:'spemer/lottie-animations-json',
156
+ preview:'recipes/lottie/lottie-pagination/preview.html' },
157
+ { id:'kinetic-headline', name:'Kinetic Headline', cat:'text-kinetic', surfaces:['web','video'],
158
+ target:['text'], runtime:['css','js'], export:['skill','motion-json','html'],
159
+ desc:'Words stagger in, one after another — for a hero line.', kind:'kinetic', status:'ready',
160
+ preview:'recipes/web/kinetic-headline/preview.html' },
161
+ { id:'page-fade', name:'Page Fade', cat:'page-transition', surfaces:['web'],
162
+ target:['section'], runtime:['css','js'], export:['skill','motion-json','html'],
163
+ desc:'A soft fade-through between pages or sections.', kind:'cross', status:'soon',
164
+ preview:null },
165
+ { id:'crossfade-glide', name:'Crossfade Glide', cat:'video-transition', surfaces:['video'],
166
+ target:['transition'], runtime:['js'], export:['skill','motion-json','html'],
167
+ desc:'Silky shot-to-shot transition for launch films.', kind:'cross', status:'soon',
168
+ preview:null },
169
+ { id:'anim-bounce', name:'Animate · Bounce', cat:'emphasis', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
170
+ desc:"Bounce — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
171
+ preview:'recipes/css/anim-bounce/preview.html' },
172
+ { id:'anim-flash', name:'Animate · Flash', cat:'emphasis', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
173
+ desc:"Flash — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
174
+ preview:'recipes/css/anim-flash/preview.html' },
175
+ { id:'anim-headshake', name:'Animate · Head Shake', cat:'emphasis', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
176
+ desc:"Head Shake — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
177
+ preview:'recipes/css/anim-headshake/preview.html' },
178
+ { id:'anim-heartbeat', name:'Animate · Heart Beat', cat:'emphasis', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
179
+ desc:"Heart Beat — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
180
+ preview:'recipes/css/anim-heartbeat/preview.html' },
181
+ { id:'anim-jello', name:'Animate · Jello', cat:'emphasis', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
182
+ desc:"Jello — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
183
+ preview:'recipes/css/anim-jello/preview.html' },
184
+ { id:'anim-pulse', name:'Animate · Pulse', cat:'emphasis', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
185
+ desc:"Pulse — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
186
+ preview:'recipes/css/anim-pulse/preview.html' },
187
+ { id:'anim-rubberband', name:'Animate · Rubber Band', cat:'emphasis', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
188
+ desc:"Rubber Band — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
189
+ preview:'recipes/css/anim-rubberband/preview.html' },
190
+ { id:'anim-shake', name:'Animate · Shake', cat:'emphasis', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
191
+ desc:"Shake — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
192
+ preview:'recipes/css/anim-shake/preview.html' },
193
+ { id:'anim-shakex', name:'Animate · Shake X', cat:'emphasis', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
194
+ desc:"Shake X — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
195
+ preview:'recipes/css/anim-shakex/preview.html' },
196
+ { id:'anim-shakey', name:'Animate · Shake Y', cat:'emphasis', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
197
+ desc:"Shake Y — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
198
+ preview:'recipes/css/anim-shakey/preview.html' },
199
+ { id:'anim-swing', name:'Animate · Swing', cat:'emphasis', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
200
+ desc:"Swing — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
201
+ preview:'recipes/css/anim-swing/preview.html' },
202
+ { id:'anim-tada', name:'Animate · Tada', cat:'emphasis', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
203
+ desc:"Tada — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
204
+ preview:'recipes/css/anim-tada/preview.html' },
205
+ { id:'anim-wobble', name:'Animate · Wobble', cat:'emphasis', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
206
+ desc:"Wobble — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
207
+ preview:'recipes/css/anim-wobble/preview.html' },
208
+ { id:'anim-backindown', name:'Animate · Back In Down', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
209
+ desc:"Back In Down — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
210
+ preview:'recipes/css/anim-backindown/preview.html' },
211
+ { id:'anim-backinleft', name:'Animate · Back In Left', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
212
+ desc:"Back In Left — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
213
+ preview:'recipes/css/anim-backinleft/preview.html' },
214
+ { id:'anim-backinright', name:'Animate · Back In Right', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
215
+ desc:"Back In Right — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
216
+ preview:'recipes/css/anim-backinright/preview.html' },
217
+ { id:'anim-backinup', name:'Animate · Back In Up', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
218
+ desc:"Back In Up — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
219
+ preview:'recipes/css/anim-backinup/preview.html' },
220
+ { id:'anim-bouncein', name:'Animate · Bounce In', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
221
+ desc:"Bounce In — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
222
+ preview:'recipes/css/anim-bouncein/preview.html' },
223
+ { id:'anim-bounceindown', name:'Animate · Bounce In Down', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
224
+ desc:"Bounce In Down — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
225
+ preview:'recipes/css/anim-bounceindown/preview.html' },
226
+ { id:'anim-bounceinleft', name:'Animate · Bounce In Left', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
227
+ desc:"Bounce In Left — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
228
+ preview:'recipes/css/anim-bounceinleft/preview.html' },
229
+ { id:'anim-bounceinright', name:'Animate · Bounce In Right', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
230
+ desc:"Bounce In Right — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
231
+ preview:'recipes/css/anim-bounceinright/preview.html' },
232
+ { id:'anim-bounceinup', name:'Animate · Bounce In Up', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
233
+ desc:"Bounce In Up — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
234
+ preview:'recipes/css/anim-bounceinup/preview.html' },
235
+ { id:'anim-fadein', name:'Animate · Fade In', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
236
+ desc:"Fade In — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
237
+ preview:'recipes/css/anim-fadein/preview.html' },
238
+ { id:'anim-fadeinbottomleft', name:'Animate · Fade In Bottom Left', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
239
+ desc:"Fade In Bottom Left — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
240
+ preview:'recipes/css/anim-fadeinbottomleft/preview.html' },
241
+ { id:'anim-fadeinbottomright', name:'Animate · Fade In Bottom Right', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
242
+ desc:"Fade In Bottom Right — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
243
+ preview:'recipes/css/anim-fadeinbottomright/preview.html' },
244
+ { id:'anim-fadeindown', name:'Animate · Fade In Down', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
245
+ desc:"Fade In Down — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
246
+ preview:'recipes/css/anim-fadeindown/preview.html' },
247
+ { id:'anim-fadeindownbig', name:'Animate · Fade In Down Big', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
248
+ desc:"Fade In Down Big — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
249
+ preview:'recipes/css/anim-fadeindownbig/preview.html' },
250
+ { id:'anim-fadeinleft', name:'Animate · Fade In Left', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
251
+ desc:"Fade In Left — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
252
+ preview:'recipes/css/anim-fadeinleft/preview.html' },
253
+ { id:'anim-fadeinleftbig', name:'Animate · Fade In Left Big', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
254
+ desc:"Fade In Left Big — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
255
+ preview:'recipes/css/anim-fadeinleftbig/preview.html' },
256
+ { id:'anim-fadeinright', name:'Animate · Fade In Right', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
257
+ desc:"Fade In Right — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
258
+ preview:'recipes/css/anim-fadeinright/preview.html' },
259
+ { id:'anim-fadeinrightbig', name:'Animate · Fade In Right Big', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
260
+ desc:"Fade In Right Big — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
261
+ preview:'recipes/css/anim-fadeinrightbig/preview.html' },
262
+ { id:'anim-fadeintopleft', name:'Animate · Fade In Top Left', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
263
+ desc:"Fade In Top Left — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
264
+ preview:'recipes/css/anim-fadeintopleft/preview.html' },
265
+ { id:'anim-fadeintopright', name:'Animate · Fade In Top Right', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
266
+ desc:"Fade In Top Right — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
267
+ preview:'recipes/css/anim-fadeintopright/preview.html' },
268
+ { id:'anim-fadeinup', name:'Animate · Fade In Up', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
269
+ desc:"Fade In Up — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
270
+ preview:'recipes/css/anim-fadeinup/preview.html' },
271
+ { id:'anim-fadeinupbig', name:'Animate · Fade In Up Big', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
272
+ desc:"Fade In Up Big — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
273
+ preview:'recipes/css/anim-fadeinupbig/preview.html' },
274
+ { id:'anim-flip', name:'Animate · Flip', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
275
+ desc:"Flip — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
276
+ preview:'recipes/css/anim-flip/preview.html' },
277
+ { id:'anim-flipinx', name:'Animate · Flip In X', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
278
+ desc:"Flip In X — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
279
+ preview:'recipes/css/anim-flipinx/preview.html' },
280
+ { id:'anim-flipiny', name:'Animate · Flip In Y', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
281
+ desc:"Flip In Y — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
282
+ preview:'recipes/css/anim-flipiny/preview.html' },
283
+ { id:'anim-lightspeedinleft', name:'Animate · Light Speed In Left', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
284
+ desc:"Light Speed In Left — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
285
+ preview:'recipes/css/anim-lightspeedinleft/preview.html' },
286
+ { id:'anim-lightspeedinright', name:'Animate · Light Speed In Right', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
287
+ desc:"Light Speed In Right — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
288
+ preview:'recipes/css/anim-lightspeedinright/preview.html' },
289
+ { id:'anim-rotatein', name:'Animate · Rotate In', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
290
+ desc:"Rotate In — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
291
+ preview:'recipes/css/anim-rotatein/preview.html' },
292
+ { id:'anim-rotateindownleft', name:'Animate · Rotate In Down Left', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
293
+ desc:"Rotate In Down Left — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
294
+ preview:'recipes/css/anim-rotateindownleft/preview.html' },
295
+ { id:'anim-rotateindownright', name:'Animate · Rotate In Down Right', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
296
+ desc:"Rotate In Down Right — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
297
+ preview:'recipes/css/anim-rotateindownright/preview.html' },
298
+ { id:'anim-rotateinupleft', name:'Animate · Rotate In Up Left', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
299
+ desc:"Rotate In Up Left — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
300
+ preview:'recipes/css/anim-rotateinupleft/preview.html' },
301
+ { id:'anim-rotateinupright', name:'Animate · Rotate In Up Right', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
302
+ desc:"Rotate In Up Right — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
303
+ preview:'recipes/css/anim-rotateinupright/preview.html' },
304
+ { id:'anim-slideindown', name:'Animate · Slide In Down', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
305
+ desc:"Slide In Down — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
306
+ preview:'recipes/css/anim-slideindown/preview.html' },
307
+ { id:'anim-slideinleft', name:'Animate · Slide In Left', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
308
+ desc:"Slide In Left — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
309
+ preview:'recipes/css/anim-slideinleft/preview.html' },
310
+ { id:'anim-slideinright', name:'Animate · Slide In Right', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
311
+ desc:"Slide In Right — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
312
+ preview:'recipes/css/anim-slideinright/preview.html' },
313
+ { id:'anim-slideinup', name:'Animate · Slide In Up', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
314
+ desc:"Slide In Up — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
315
+ preview:'recipes/css/anim-slideinup/preview.html' },
316
+ { id:'anim-jackinthebox', name:'Animate · Jack In The Box', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
317
+ desc:"Jack In The Box — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
318
+ preview:'recipes/css/anim-jackinthebox/preview.html' },
319
+ { id:'anim-rollin', name:'Animate · Roll In', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
320
+ desc:"Roll In — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
321
+ preview:'recipes/css/anim-rollin/preview.html' },
322
+ { id:'anim-zoomin', name:'Animate · Zoom In', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
323
+ desc:"Zoom In — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
324
+ preview:'recipes/css/anim-zoomin/preview.html' },
325
+ { id:'anim-zoomindown', name:'Animate · Zoom In Down', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
326
+ desc:"Zoom In Down — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
327
+ preview:'recipes/css/anim-zoomindown/preview.html' },
328
+ { id:'anim-zoominleft', name:'Animate · Zoom In Left', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
329
+ desc:"Zoom In Left — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
330
+ preview:'recipes/css/anim-zoominleft/preview.html' },
331
+ { id:'anim-zoominright', name:'Animate · Zoom In Right', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
332
+ desc:"Zoom In Right — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
333
+ preview:'recipes/css/anim-zoominright/preview.html' },
334
+ { id:'anim-zoominup', name:'Animate · Zoom In Up', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
335
+ desc:"Zoom In Up — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
336
+ preview:'recipes/css/anim-zoominup/preview.html' },
337
+ { id:'anim-backoutdown', name:'Animate · Back Out Down', cat:'exit', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
338
+ desc:"Back Out Down — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
339
+ preview:'recipes/css/anim-backoutdown/preview.html' },
340
+ { id:'anim-backoutleft', name:'Animate · Back Out Left', cat:'exit', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
341
+ desc:"Back Out Left — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
342
+ preview:'recipes/css/anim-backoutleft/preview.html' },
343
+ { id:'anim-backoutright', name:'Animate · Back Out Right', cat:'exit', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
344
+ desc:"Back Out Right — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
345
+ preview:'recipes/css/anim-backoutright/preview.html' },
346
+ { id:'anim-backoutup', name:'Animate · Back Out Up', cat:'exit', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
347
+ desc:"Back Out Up — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
348
+ preview:'recipes/css/anim-backoutup/preview.html' },
349
+ { id:'anim-bounceout', name:'Animate · Bounce Out', cat:'exit', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
350
+ desc:"Bounce Out — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
351
+ preview:'recipes/css/anim-bounceout/preview.html' },
352
+ { id:'anim-bounceoutdown', name:'Animate · Bounce Out Down', cat:'exit', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
353
+ desc:"Bounce Out Down — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
354
+ preview:'recipes/css/anim-bounceoutdown/preview.html' },
355
+ { id:'anim-bounceoutleft', name:'Animate · Bounce Out Left', cat:'exit', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
356
+ desc:"Bounce Out Left — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
357
+ preview:'recipes/css/anim-bounceoutleft/preview.html' },
358
+ { id:'anim-bounceoutright', name:'Animate · Bounce Out Right', cat:'exit', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
359
+ desc:"Bounce Out Right — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
360
+ preview:'recipes/css/anim-bounceoutright/preview.html' },
361
+ { id:'anim-bounceoutup', name:'Animate · Bounce Out Up', cat:'exit', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
362
+ desc:"Bounce Out Up — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
363
+ preview:'recipes/css/anim-bounceoutup/preview.html' },
364
+ { id:'anim-fadeout', name:'Animate · Fade Out', cat:'exit', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
365
+ desc:"Fade Out — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
366
+ preview:'recipes/css/anim-fadeout/preview.html' },
367
+ { id:'anim-fadeoutbottomleft', name:'Animate · Fade Out Bottom Left', cat:'exit', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
368
+ desc:"Fade Out Bottom Left — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
369
+ preview:'recipes/css/anim-fadeoutbottomleft/preview.html' },
370
+ { id:'anim-fadeoutbottomright', name:'Animate · Fade Out Bottom Right', cat:'exit', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
371
+ desc:"Fade Out Bottom Right — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
372
+ preview:'recipes/css/anim-fadeoutbottomright/preview.html' },
373
+ { id:'anim-fadeoutdown', name:'Animate · Fade Out Down', cat:'exit', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
374
+ desc:"Fade Out Down — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
375
+ preview:'recipes/css/anim-fadeoutdown/preview.html' },
376
+ { id:'anim-fadeoutdownbig', name:'Animate · Fade Out Down Big', cat:'exit', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
377
+ desc:"Fade Out Down Big — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
378
+ preview:'recipes/css/anim-fadeoutdownbig/preview.html' },
379
+ { id:'anim-fadeoutleft', name:'Animate · Fade Out Left', cat:'exit', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
380
+ desc:"Fade Out Left — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
381
+ preview:'recipes/css/anim-fadeoutleft/preview.html' },
382
+ { id:'anim-fadeoutleftbig', name:'Animate · Fade Out Left Big', cat:'exit', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
383
+ desc:"Fade Out Left Big — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
384
+ preview:'recipes/css/anim-fadeoutleftbig/preview.html' },
385
+ { id:'anim-fadeoutright', name:'Animate · Fade Out Right', cat:'exit', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
386
+ desc:"Fade Out Right — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
387
+ preview:'recipes/css/anim-fadeoutright/preview.html' },
388
+ { id:'anim-fadeoutrightbig', name:'Animate · Fade Out Right Big', cat:'exit', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
389
+ desc:"Fade Out Right Big — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
390
+ preview:'recipes/css/anim-fadeoutrightbig/preview.html' },
391
+ { id:'anim-fadeouttopleft', name:'Animate · Fade Out Top Left', cat:'exit', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
392
+ desc:"Fade Out Top Left — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
393
+ preview:'recipes/css/anim-fadeouttopleft/preview.html' },
394
+ { id:'anim-fadeouttopright', name:'Animate · Fade Out Top Right', cat:'exit', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
395
+ desc:"Fade Out Top Right — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
396
+ preview:'recipes/css/anim-fadeouttopright/preview.html' },
397
+ { id:'anim-fadeoutup', name:'Animate · Fade Out Up', cat:'exit', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
398
+ desc:"Fade Out Up — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
399
+ preview:'recipes/css/anim-fadeoutup/preview.html' },
400
+ { id:'anim-fadeoutupbig', name:'Animate · Fade Out Up Big', cat:'exit', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
401
+ desc:"Fade Out Up Big — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
402
+ preview:'recipes/css/anim-fadeoutupbig/preview.html' },
403
+ { id:'anim-rotateout', name:'Animate · Rotate Out', cat:'exit', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
404
+ desc:"Rotate Out — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
405
+ preview:'recipes/css/anim-rotateout/preview.html' },
406
+ { id:'anim-rotateoutdownleft', name:'Animate · Rotate Out Down Left', cat:'exit', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
407
+ desc:"Rotate Out Down Left — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
408
+ preview:'recipes/css/anim-rotateoutdownleft/preview.html' },
409
+ { id:'anim-rotateoutdownright', name:'Animate · Rotate Out Down Right', cat:'exit', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
410
+ desc:"Rotate Out Down Right — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
411
+ preview:'recipes/css/anim-rotateoutdownright/preview.html' },
412
+ { id:'anim-rotateoutupleft', name:'Animate · Rotate Out Up Left', cat:'exit', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
413
+ desc:"Rotate Out Up Left — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
414
+ preview:'recipes/css/anim-rotateoutupleft/preview.html' },
415
+ { id:'anim-rotateoutupright', name:'Animate · Rotate Out Up Right', cat:'exit', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
416
+ desc:"Rotate Out Up Right — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
417
+ preview:'recipes/css/anim-rotateoutupright/preview.html' },
418
+ { id:'anim-slideoutdown', name:'Animate · Slide Out Down', cat:'exit', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
419
+ desc:"Slide Out Down — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
420
+ preview:'recipes/css/anim-slideoutdown/preview.html' },
421
+ { id:'anim-slideoutleft', name:'Animate · Slide Out Left', cat:'exit', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
422
+ desc:"Slide Out Left — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
423
+ preview:'recipes/css/anim-slideoutleft/preview.html' },
424
+ { id:'anim-slideoutright', name:'Animate · Slide Out Right', cat:'exit', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
425
+ desc:"Slide Out Right — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
426
+ preview:'recipes/css/anim-slideoutright/preview.html' },
427
+ { id:'anim-slideoutup', name:'Animate · Slide Out Up', cat:'exit', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
428
+ desc:"Slide Out Up — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
429
+ preview:'recipes/css/anim-slideoutup/preview.html' },
430
+ { id:'anim-hinge', name:'Animate · Hinge', cat:'exit', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
431
+ desc:"Hinge — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
432
+ preview:'recipes/css/anim-hinge/preview.html' },
433
+ { id:'anim-rollout', name:'Animate · Roll Out', cat:'exit', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
434
+ desc:"Roll Out — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
435
+ preview:'recipes/css/anim-rollout/preview.html' },
436
+ { id:'anim-zoomout', name:'Animate · Zoom Out', cat:'exit', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
437
+ desc:"Zoom Out — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
438
+ preview:'recipes/css/anim-zoomout/preview.html' },
439
+ { id:'anim-zoomoutdown', name:'Animate · Zoom Out Down', cat:'exit', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
440
+ desc:"Zoom Out Down — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
441
+ preview:'recipes/css/anim-zoomoutdown/preview.html' },
442
+ { id:'anim-zoomoutleft', name:'Animate · Zoom Out Left', cat:'exit', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
443
+ desc:"Zoom Out Left — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
444
+ preview:'recipes/css/anim-zoomoutleft/preview.html' },
445
+ { id:'anim-zoomoutright', name:'Animate · Zoom Out Right', cat:'exit', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
446
+ desc:"Zoom Out Right — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
447
+ preview:'recipes/css/anim-zoomoutright/preview.html' },
448
+ { id:'anim-zoomoutup', name:'Animate · Zoom Out Up', cat:'exit', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text'], runtime:['css'], export:['skill','html'],
449
+ desc:"Zoom Out Up — ready-made CSS keyframe animation (Animate.css).", kind:'css-anim', status:'ready', upstream:'animate.css',
450
+ preview:'recipes/css/anim-zoomoutup/preview.html' },
451
+ { id:'xyz-fade-up', name:'XYZ · Fade Up', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text','card'], runtime:['css'], export:['skill','html'],
452
+ desc:"Fade Up — composable AnimXYZ entrance (xyz attribute).", kind:'css-anim', status:'ready', upstream:'animxyz',
453
+ preview:'recipes/animxyz/xyz-fade-up/preview.html' },
454
+ { id:'xyz-fade-down', name:'XYZ · Fade Down', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text','card'], runtime:['css'], export:['skill','html'],
455
+ desc:"Fade Down — composable AnimXYZ entrance (xyz attribute).", kind:'css-anim', status:'ready', upstream:'animxyz',
456
+ preview:'recipes/animxyz/xyz-fade-down/preview.html' },
457
+ { id:'xyz-fade-left', name:'XYZ · Fade Left', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text','card'], runtime:['css'], export:['skill','html'],
458
+ desc:"Fade Left — composable AnimXYZ entrance (xyz attribute).", kind:'css-anim', status:'ready', upstream:'animxyz',
459
+ preview:'recipes/animxyz/xyz-fade-left/preview.html' },
460
+ { id:'xyz-fade-right', name:'XYZ · Fade Right', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text','card'], runtime:['css'], export:['skill','html'],
461
+ desc:"Fade Right — composable AnimXYZ entrance (xyz attribute).", kind:'css-anim', status:'ready', upstream:'animxyz',
462
+ preview:'recipes/animxyz/xyz-fade-right/preview.html' },
463
+ { id:'xyz-fade-small', name:'XYZ · Fade Small', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text','card'], runtime:['css'], export:['skill','html'],
464
+ desc:"Fade Small — composable AnimXYZ entrance (xyz attribute).", kind:'css-anim', status:'ready', upstream:'animxyz',
465
+ preview:'recipes/animxyz/xyz-fade-small/preview.html' },
466
+ { id:'xyz-fade-big', name:'XYZ · Fade Big', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text','card'], runtime:['css'], export:['skill','html'],
467
+ desc:"Fade Big — composable AnimXYZ entrance (xyz attribute).", kind:'css-anim', status:'ready', upstream:'animxyz',
468
+ preview:'recipes/animxyz/xyz-fade-big/preview.html' },
469
+ { id:'xyz-flip-up', name:'XYZ · Flip Up', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text','card'], runtime:['css'], export:['skill','html'],
470
+ desc:"Flip Up — composable AnimXYZ entrance (xyz attribute).", kind:'css-anim', status:'ready', upstream:'animxyz',
471
+ preview:'recipes/animxyz/xyz-flip-up/preview.html' },
472
+ { id:'xyz-flip-left', name:'XYZ · Flip Left', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text','card'], runtime:['css'], export:['skill','html'],
473
+ desc:"Flip Left — composable AnimXYZ entrance (xyz attribute).", kind:'css-anim', status:'ready', upstream:'animxyz',
474
+ preview:'recipes/animxyz/xyz-flip-left/preview.html' },
475
+ { id:'xyz-rotate', name:'XYZ · Rotate In', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text','card'], runtime:['css'], export:['skill','html'],
476
+ desc:"Rotate In — composable AnimXYZ entrance (xyz attribute).", kind:'css-anim', status:'ready', upstream:'animxyz',
477
+ preview:'recipes/animxyz/xyz-rotate/preview.html' },
478
+ { id:'xyz-rise-big', name:'XYZ · Rise Big', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','text','card'], runtime:['css'], export:['skill','html'],
479
+ desc:"Rise Big — composable AnimXYZ entrance (xyz attribute).", kind:'css-anim', status:'ready', upstream:'animxyz',
480
+ preview:'recipes/animxyz/xyz-rise-big/preview.html' },
481
+ { id:'ref-ua-activity', name:'Activity', cat:'loading', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
482
+ desc:"Activity — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
483
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/activity/activity.json', status:'ready' },
484
+ { id:'ref-ua-airplay', name:'Airplay', cat:'page-transition', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
485
+ desc:"Airplay — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
486
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/airplay/airplay.json', status:'ready' },
487
+ { id:'ref-ua-alertcircle', name:'Alert Circle', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
488
+ desc:"Alert Circle — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
489
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/alertCircle/alertCircle.json', status:'ready' },
490
+ { id:'ref-ua-alertoctagon', name:'Alert Octagon', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
491
+ desc:"Alert Octagon — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
492
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/alertOctagon/alertOctagon.json', status:'ready' },
493
+ { id:'ref-ua-alerttriangle', name:'Alert Triangle', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
494
+ desc:"Alert Triangle — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
495
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/alertTriangle/alertTriangle.json', status:'ready' },
496
+ { id:'ref-ua-archive', name:'Archive', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
497
+ desc:"Archive — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
498
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/archive/archive.json', status:'ready' },
499
+ { id:'ref-ua-arrowdown', name:'Arrow Down', cat:'page-transition', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
500
+ desc:"Arrow Down — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
501
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/arrowDown/arrowDown.json', status:'ready' },
502
+ { id:'ref-ua-arrowdowncircle', name:'Arrow Down Circle', cat:'page-transition', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
503
+ desc:"Arrow Down Circle — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
504
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/arrowDownCircle/arrowDownCircle.json', status:'ready' },
505
+ { id:'ref-ua-arrowleftcircle', name:'Arrow Left Circle', cat:'page-transition', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
506
+ desc:"Arrow Left Circle — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
507
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/arrowLeftCircle/arrowLeftCircle.json', status:'ready' },
508
+ { id:'ref-ua-arrowrightcircle', name:'Arrow Right Circle', cat:'page-transition', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
509
+ desc:"Arrow Right Circle — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
510
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/arrowRightCircle/arrowRightCircle.json', status:'ready' },
511
+ { id:'ref-ua-arrowup', name:'Arrow Up', cat:'page-transition', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
512
+ desc:"Arrow Up — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
513
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/arrowUp/arrowUp.json', status:'ready' },
514
+ { id:'ref-ua-arrowupcircle', name:'Arrow Up Circle', cat:'page-transition', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
515
+ desc:"Arrow Up Circle — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
516
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/arrowUpCircle/arrowUpCircle.json', status:'ready' },
517
+ { id:'ref-ua-behance', name:'Behance', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
518
+ desc:"Behance — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
519
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/behance/behance.json', status:'ready' },
520
+ { id:'ref-ua-bookmark', name:'Bookmark', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
521
+ desc:"Bookmark — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
522
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/bookmark/bookmark.json', status:'ready' },
523
+ { id:'ref-ua-calendar', name:'Calendar', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
524
+ desc:"Calendar — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
525
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/calendar/calendar.json', status:'ready' },
526
+ { id:'ref-ua-checkbox', name:'Check Box', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
527
+ desc:"Check Box — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
528
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/checkBox/checkBox.json', status:'ready' },
529
+ { id:'ref-ua-checkmark', name:'Checkmark', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
530
+ desc:"Checkmark — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
531
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/checkmark/checkmark.json', status:'ready' },
532
+ { id:'ref-ua-codepen', name:'Codepen', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
533
+ desc:"Codepen — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
534
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/codepen/codepen.json', status:'ready' },
535
+ { id:'ref-ua-copy', name:'Copy', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
536
+ desc:"Copy — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
537
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/copy/copy.json', status:'ready' },
538
+ { id:'ref-ua-download', name:'Download', cat:'loading', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
539
+ desc:"Download — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
540
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/download/download.json', status:'ready' },
541
+ { id:'ref-ua-dribbble', name:'Dribbble', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
542
+ desc:"Dribbble — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
543
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/dribbble/dribbble.json', status:'ready' },
544
+ { id:'ref-ua-edit', name:'Edit', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
545
+ desc:"Edit — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
546
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/edit/edit.json', status:'ready' },
547
+ { id:'ref-ua-error', name:'Error', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
548
+ desc:"Error — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
549
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/error/error.json', status:'ready' },
550
+ { id:'ref-ua-explore', name:'Explore', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
551
+ desc:"Explore — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
552
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/explore/explore.json', status:'ready' },
553
+ { id:'ref-ua-facebook', name:'Facebook', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
554
+ desc:"Facebook — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
555
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/facebook/facebook.json', status:'ready' },
556
+ { id:'ref-ua-folder', name:'Folder', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
557
+ desc:"Folder — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
558
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/folder/folder.json', status:'ready' },
559
+ { id:'ref-ua-github', name:'Github', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
560
+ desc:"Github — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
561
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/github/github.json', status:'ready' },
562
+ { id:'ref-ua-heart', name:'Heart', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
563
+ desc:"Heart — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
564
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/heart/heart.json', status:'ready' },
565
+ { id:'ref-ua-help', name:'Help', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
566
+ desc:"Help — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
567
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/help/help.json', status:'ready' },
568
+ { id:'ref-ua-home', name:'Home', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
569
+ desc:"Home — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
570
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/home/home.json', status:'ready' },
571
+ { id:'ref-ua-infinity', name:'Infinity', cat:'loading', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
572
+ desc:"Infinity — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
573
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/infinity/infinity.json', status:'ready' },
574
+ { id:'ref-ua-info', name:'Info', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
575
+ desc:"Info — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
576
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/info/info.json', status:'ready' },
577
+ { id:'ref-ua-instagram', name:'Instagram', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
578
+ desc:"Instagram — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
579
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/instagram/instagram.json', status:'ready' },
580
+ { id:'ref-ua-linkedin', name:'Linkedin', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
581
+ desc:"Linkedin — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
582
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/linkedin/linkedin.json', status:'ready' },
583
+ { id:'ref-ua-loading', name:'Loading', cat:'loading', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
584
+ desc:"Loading — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
585
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/loading/loading.json', status:'ready' },
586
+ { id:'ref-ua-loading2', name:'Loading2', cat:'loading', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
587
+ desc:"Loading2 — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
588
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/loading2/loading2.json', status:'ready' },
589
+ { id:'ref-ua-loading3', name:'Loading3', cat:'loading', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
590
+ desc:"Loading3 — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
591
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/loading3/loading3.json', status:'ready' },
592
+ { id:'ref-ua-lock', name:'Lock', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
593
+ desc:"Lock — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
594
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/lock/lock.json', status:'ready' },
595
+ { id:'ref-ua-mail', name:'Mail', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
596
+ desc:"Mail — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
597
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/mail/mail.json', status:'ready' },
598
+ { id:'ref-ua-maximizeminimize', name:'Maximize Minimize', cat:'page-transition', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
599
+ desc:"Maximize Minimize — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
600
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/maximizeMinimize/maximizeMinimize.json', status:'ready' },
601
+ { id:'ref-ua-maximizeminimize2', name:'Maximize Minimize2', cat:'page-transition', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
602
+ desc:"Maximize Minimize2 — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
603
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/maximizeMinimize2/maximizeMinimize2.json', status:'ready' },
604
+ { id:'ref-ua-menu', name:'Menu', cat:'page-transition', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
605
+ desc:"Menu — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
606
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/menu/menu.json', status:'ready' },
607
+ { id:'ref-ua-menu2', name:'Menu2', cat:'page-transition', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
608
+ desc:"Menu2 — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
609
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/menu2/menu2.json', status:'ready' },
610
+ { id:'ref-ua-menu3', name:'Menu3', cat:'page-transition', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
611
+ desc:"Menu3 — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
612
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/menu3/menu3.json', status:'ready' },
613
+ { id:'ref-ua-menu4', name:'Menu4', cat:'page-transition', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
614
+ desc:"Menu4 — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
615
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/menu4/menu4.json', status:'ready' },
616
+ { id:'ref-ua-microphone', name:'Microphone', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
617
+ desc:"Microphone — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
618
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/microphone/microphone.json', status:'ready' },
619
+ { id:'ref-ua-microphone2', name:'Microphone2', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
620
+ desc:"Microphone2 — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
621
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/microphone2/microphone2.json', status:'ready' },
622
+ { id:'ref-ua-notification', name:'Notification', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
623
+ desc:"Notification — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
624
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/notification/notification.json', status:'ready' },
625
+ { id:'ref-ua-notification2', name:'Notification2', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
626
+ desc:"Notification2 — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
627
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/notification2/notification2.json', status:'ready' },
628
+ { id:'ref-ua-playpause', name:'Play Pause', cat:'page-transition', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
629
+ desc:"Play Pause — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
630
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/playPause/playPause.json', status:'ready' },
631
+ { id:'ref-ua-playpausecircle', name:'Play Pause Circle', cat:'page-transition', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
632
+ desc:"Play Pause Circle — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
633
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/playPauseCircle/playPauseCircle.json', status:'ready' },
634
+ { id:'ref-ua-plustox', name:'Plus To X', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
635
+ desc:"Plus To X — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
636
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/plusToX/plusToX.json', status:'ready' },
637
+ { id:'ref-ua-pocket', name:'Pocket', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
638
+ desc:"Pocket — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
639
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/pocket/pocket.json', status:'ready' },
640
+ { id:'ref-ua-radiobutton', name:'Radio Button', cat:'loading', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
641
+ desc:"Radio Button — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
642
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/radioButton/radioButton.json', status:'ready' },
643
+ { id:'ref-ua-scrolldown', name:'Scroll Down', cat:'page-transition', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
644
+ desc:"Scroll Down — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
645
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/scrollDown/scrollDown.json', status:'ready' },
646
+ { id:'ref-ua-searchtox', name:'Search To X', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
647
+ desc:"Search To X — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
648
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/searchToX/searchToX.json', status:'ready' },
649
+ { id:'ref-ua-settings', name:'Settings', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
650
+ desc:"Settings — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
651
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/settings/settings.json', status:'ready' },
652
+ { id:'ref-ua-settings2', name:'Settings2', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
653
+ desc:"Settings2 — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
654
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/settings2/settings2.json', status:'ready' },
655
+ { id:'ref-ua-share', name:'Share', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
656
+ desc:"Share — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
657
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/share/share.json', status:'ready' },
658
+ { id:'ref-ua-skipback', name:'Skip Back', cat:'page-transition', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
659
+ desc:"Skip Back — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
660
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/skipBack/skipBack.json', status:'ready' },
661
+ { id:'ref-ua-skipforward', name:'Skip Forward', cat:'page-transition', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
662
+ desc:"Skip Forward — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
663
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/skipForward/skipForward.json', status:'ready' },
664
+ { id:'ref-ua-star', name:'Star', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
665
+ desc:"Star — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
666
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/star/star.json', status:'ready' },
667
+ { id:'ref-ua-thumbup', name:'Thumb Up', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
668
+ desc:"Thumb Up — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
669
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/thumbUp/thumbUp.json', status:'ready' },
670
+ { id:'ref-ua-toggle', name:'Toggle', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
671
+ desc:"Toggle — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
672
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/toggle/toggle.json', status:'ready' },
673
+ { id:'ref-ua-trash', name:'Trash', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
674
+ desc:"Trash — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
675
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/trash/trash.json', status:'ready' },
676
+ { id:'ref-ua-trash2', name:'Trash2', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
677
+ desc:"Trash2 — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
678
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/trash2/trash2.json', status:'ready' },
679
+ { id:'ref-ua-twitter', name:'Twitter', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
680
+ desc:"Twitter — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
681
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/twitter/twitter.json', status:'ready' },
682
+ { id:'ref-ua-userminus', name:'User Minus', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
683
+ desc:"User Minus — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
684
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/userMinus/userMinus.json', status:'ready' },
685
+ { id:'ref-ua-userplus', name:'User Plus', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
686
+ desc:"User Plus — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
687
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/userPlus/userPlus.json', status:'ready' },
688
+ { id:'ref-ua-userx', name:'User X', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
689
+ desc:"User X — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
690
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/userX/userX.json', status:'ready' },
691
+ { id:'ref-ua-video', name:'Video', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
692
+ desc:"Video — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
693
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/video/video.json', status:'ready' },
694
+ { id:'ref-ua-video2', name:'Video2', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
695
+ desc:"Video2 — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
696
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/video2/video2.json', status:'ready' },
697
+ { id:'ref-ua-visibility', name:'Visibility', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
698
+ desc:"Visibility — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
699
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/visibility/visibility.json', status:'ready' },
700
+ { id:'ref-ua-visibility2', name:'Visibility2', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
701
+ desc:"Visibility2 — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
702
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/visibility2/visibility2.json', status:'ready' },
703
+ { id:'ref-ua-volume', name:'Volume', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
704
+ desc:"Volume — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
705
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/volume/volume.json', status:'ready' },
706
+ { id:'ref-ua-youtube', name:'Youtube', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
707
+ desc:"Youtube — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
708
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/youtube/youtube.json', status:'ready' },
709
+ { id:'ref-ua-youtube2', name:'Youtube2', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
710
+ desc:"Youtube2 — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
711
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/youtube2/youtube2.json', status:'ready' },
712
+ { id:'ref-ua-zoomin', name:'Zoom In', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
713
+ desc:"Zoom In — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
714
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/zoomIn/zoomIn.json', status:'ready' },
715
+ { id:'ref-ua-zoomout', name:'Zoom Out', cat:'feedback-delight', surfaces:['web','app','interaction'], canvas:['web','app'], target:['icon'], runtime:['lottie'], export:['lottie'],
716
+ desc:"Zoom Out — animated icon (useAnimations).", kind:'lottie-ref', ref:true, source:'useAnimations', license:'CC-BY · 禁止再分发源文件', licenseStatus:'needs-attribution',
717
+ upstream:'https://react.useanimations.com/', jsonUrl:'https://raw.githubusercontent.com/useAnimations/react-useanimations/master/src/lib/zoomOut/zoomOut.json', status:'ready' },
718
+ { id:'ref-magnetic-cursor', name:'Magnetic Cursor Pull', cat:'hover-press', surfaces:['web','interaction'], canvas:['web'], target:['button','icon'], runtime:['js','gsap'], export:['skill','html'],
719
+ desc:"Elements lean toward the cursor with easing — the signature agency-site micro-interaction.", tags:['magnetic','cursor','hover','gsap','agency'], kind:'magnet', ref:true, source:'GSAP', license:'GSAP standard (free)', upstream:'https://gsap.com/community/forums/topic/magnetic-buttons/', status:'ready' },
720
+ { id:'tilt-3d', name:'3D Tilt', cat:'hover-press', surfaces:['web','interaction'], canvas:['web'], target:['card','image'], runtime:['css','js'], export:['skill','motion-json','html'],
721
+ desc:"A card tilts in 3D toward the pointer with a soft glare — tactile depth. Dependency-free.", tags:['tilt','3d','parallax','pointer','glare','depth'], kind:'lift', status:'ready',
722
+ preview:'recipes/web/tilt-3d/preview.html', upstream:'https://micku7zu.github.io/vanilla-tilt.js/' },
723
+ { id:'ripple-press', name:'Ripple Press', cat:'feedback-delight', surfaces:['web','interaction','app'], canvas:['web','app'], target:['button'], runtime:['css','js'], export:['skill','motion-json','html'],
724
+ desc:"A ripple blooms from the exact tap/click point — clear, honest press feedback. Dependency-free.", tags:['ripple','material','press','tap','feedback'], kind:'pulse', status:'ready',
725
+ preview:'recipes/web/ripple-press/preview.html', upstream:'https://m3.material.io/foundations/interaction/states/state-layers' },
726
+ { id:'ref-elastic-button', name:'Elastic Squash Button', cat:'feedback-delight', surfaces:['web','interaction'], canvas:['web'], target:['button'], runtime:['motion-one','js'], export:['skill','html'],
727
+ desc:"Button squashes & stretches on press with a spring — playful but crisp.", tags:['spring','squash','elastic','press','motion'], kind:'toggle', ref:true, source:'Motion (motion.dev)', license:'MIT', upstream:'https://motion.dev/docs/animate', status:'ready' },
728
+ { id:'spotlight-card', name:'Spotlight Card', cat:'hover-press', surfaces:['web','interaction'], canvas:['web'], target:['card','section'], runtime:['css','js'], export:['skill','motion-json','html'],
729
+ desc:"A soft radial spotlight follows the cursor across a card, lifting its border. Dependency-free.", tags:['spotlight','glow','hover','cursor','card','premium'], kind:'ui', status:'ready',
730
+ preview:'recipes/web/spotlight-card/preview.html', upstream:'https://ui.aceternity.com/components/card-spotlight' },
731
+ { id:'shine-border', name:'Shine Border', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:['card','button','section'], runtime:['css'], export:['skill','motion-json','html'],
732
+ desc:"A soft light travels continuously around an element's border — quiet, premium. Pure CSS.", tags:['border','shine','gradient','ambient','premium'], kind:'css-anim', status:'ready',
733
+ preview:'recipes/web/shine-border/preview.html', upstream:'https://magicui.design/docs/components/shine-border' },
734
+ { id:'shimmer-button', name:'Shimmer Button', cat:'feedback-delight', surfaces:['web','interaction'], canvas:['web'], target:['button'], runtime:['css'], export:['skill','motion-json','html'],
735
+ desc:"A soft band of light sweeps across a CTA (slower at rest, faster on hover). Pure CSS, dependency-free.", tags:['shimmer','cta','button','sheen','premium'], kind:'css-anim', status:'ready',
736
+ preview:'recipes/web/shimmer-button/preview.html', upstream:'https://magicui.design/docs/components/shimmer-button' },
737
+ { id:'border-beam', name:'Border Beam', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:['card','button','section'], runtime:['css'], export:['skill','motion-json','html'],
738
+ desc:"A small bright comet of light travels the border — a lively accent. Pure CSS, dependency-free.", tags:['beam','border','comet','orbit','ambient'], kind:'css-anim', status:'ready',
739
+ preview:'recipes/web/border-beam/preview.html', upstream:'https://magicui.design/docs/components/border-beam' },
740
+ { id:'like-burst', name:'Like Burst', cat:'feedback-delight', surfaces:['web','interaction'],
741
+ target:['button','icon'], runtime:['css','js'], export:['skill','motion-json','html'],
742
+ desc:'Celebratory particle burst on tap — for likes & reactions.', kind:'like', status:'ready',
743
+ preview:'recipes/web/like-burst/preview.html' },
744
+ { id:'fade-in-up', name:'Fade In Up', cat:'entrance', surfaces:['web'],
745
+ target:['text','section'], runtime:['css','js'], export:['skill','motion-json','html'],
746
+ desc:'A clean rise + fade for elements appearing on the page.', kind:'reveal', status:'ready',
747
+ preview:'recipes/web/fade-in-up/preview.html' },
748
+ { id:'scroll-reveal', name:'Scroll Reveal', cat:'scroll-reveal', surfaces:['web'],
749
+ target:['section','image'], runtime:['css','js'], export:['skill','motion-json','html'],
750
+ desc:'Content rises into view as you scroll. Elegant, restrained.', kind:'reveal', status:'ready',
751
+ preview:'recipes/web/scroll-reveal/preview.html' },
752
+ { id:'card-lift-hover', name:'Card Lift', cat:'hover-press', surfaces:['web','interaction'],
753
+ target:['card'], runtime:['css'], export:['skill','motion-json','html'],
754
+ desc:'A card that lifts toward you on hover. Crisp and tactile.', kind:'lift', status:'ready',
755
+ preview:'recipes/web/card-lift-hover/preview.html' },
756
+ { id:'magnetic-button', name:'Magnetic Button', cat:'hover-press', surfaces:['web','interaction'],
757
+ target:['button'], runtime:['css','js'], export:['skill','motion-json','html'],
758
+ desc:'A button that leans toward the cursor. Alive, not noisy.', kind:'magnet', status:'ready',
759
+ preview:'recipes/web/magnetic-button/preview.html' },
760
+ { id:'count-up', name:'Count Up', cat:'emphasis', surfaces:['web'],
761
+ target:['number'], runtime:['css','js'], export:['skill','motion-json','html'],
762
+ desc:'Numbers that animate up — for stats & metrics.', kind:'count', status:'ready',
763
+ preview:'recipes/web/count-up/preview.html' },
764
+ { id:'loading-shimmer', name:'Loading Shimmer', cat:'loading', surfaces:['web','interaction'],
765
+ target:['section','image','card'], runtime:['css'], export:['skill','motion-json','html'],
766
+ desc:'Skeleton placeholders with a soft sweeping shimmer.', kind:'shimmer', status:'ready',
767
+ preview:'recipes/web/loading-shimmer/preview.html' },
768
+ { id:'attention-pulse', name:'Attention Pulse', cat:'attention', surfaces:['web','interaction'],
769
+ target:['button','icon'], runtime:['css'], export:['skill','motion-json','html'],
770
+ desc:'A soft expanding ring that draws the eye to one element.', kind:'pulse', status:'ready',
771
+ preview:'recipes/web/attention-pulse/preview.html' },
772
+ { id:'stagger-list', name:'Stagger List', cat:'entrance', surfaces:['web'],
773
+ target:['list'], runtime:['css','js'], export:['skill','motion-json','html'],
774
+ desc:'List items rise + fade in one after another.', kind:'stagger', status:'ready',
775
+ preview:'recipes/web/stagger-list/preview.html' },
776
+ { id:'toggle-spring', name:'Toggle Spring', cat:'feedback-delight', surfaces:['web','interaction'],
777
+ target:['button'], runtime:['css','js'], export:['skill','motion-json','html'],
778
+ desc:'A switch whose knob springs across on toggle.', kind:'toggle', status:'ready',
779
+ preview:'recipes/web/toggle-spring/preview.html' },
780
+ { id:'fx-particle-burst', name:'Particle Burst', cat:'feedback-delight', surfaces:['video'], target:['section'], runtime:['js'], export:['skill','html'],
781
+ desc:"A bright particle burst from the center — a celebratory accent.", kind:'fx', status:'ready', upstream:'open-design',
782
+ preview:'recipes/slides/fx-particle-burst/preview.html' },
783
+ { id:'fx-confetti', name:'Confetti Cannon', cat:'feedback-delight', surfaces:['video'], target:['section'], runtime:['js'], export:['skill','html'],
784
+ desc:"Confetti fires across the frame — for wins and reveals.", kind:'fx', status:'ready', upstream:'open-design',
785
+ preview:'recipes/slides/fx-confetti/preview.html' },
786
+ { id:'fx-firework', name:'Firework', cat:'feedback-delight', surfaces:['video'], target:['background'], runtime:['js'], export:['skill','html'],
787
+ desc:"Fireworks launch and burst — a festive hero moment.", kind:'fx', status:'ready', upstream:'open-design',
788
+ preview:'recipes/slides/fx-firework/preview.html' },
789
+ { id:'fx-starfield', name:'Starfield', cat:'ambient', surfaces:['video'], target:['background'], runtime:['js'], export:['skill','html'],
790
+ desc:"A slow drifting starfield — a calm cosmic backdrop.", kind:'fx', status:'ready', upstream:'open-design',
791
+ preview:'recipes/slides/fx-starfield/preview.html' },
792
+ { id:'fx-matrix-rain', name:'Matrix Rain', cat:'ambient', surfaces:['video'], target:['background'], runtime:['js'], export:['skill','html'],
793
+ desc:"Falling code glyphs — a techy backdrop.", kind:'fx', status:'ready', upstream:'open-design',
794
+ preview:'recipes/slides/fx-matrix-rain/preview.html' },
795
+ { id:'fx-knowledge-graph', name:'Knowledge Graph', cat:'ambient', surfaces:['video'], target:['background'], runtime:['js'], export:['skill','html'],
796
+ desc:"Linked nodes drifting — a data / AI backdrop.", kind:'fx', status:'ready', upstream:'open-design',
797
+ preview:'recipes/slides/fx-knowledge-graph/preview.html' },
798
+ { id:'fx-neural-net', name:'Neural Net', cat:'ambient', surfaces:['video'], target:['background'], runtime:['js'], export:['skill','html'],
799
+ desc:"A pulsing neural network — an AI backdrop.", kind:'fx', status:'ready', upstream:'open-design',
800
+ preview:'recipes/slides/fx-neural-net/preview.html' },
801
+ { id:'fx-constellation', name:'Constellation', cat:'ambient', surfaces:['video'], target:['background'], runtime:['js'], export:['skill','html'],
802
+ desc:"Connected points like a constellation — quiet motion.", kind:'fx', status:'ready', upstream:'open-design',
803
+ preview:'recipes/slides/fx-constellation/preview.html' },
804
+ { id:'fx-orbit-ring', name:'Orbit Ring', cat:'ambient', surfaces:['video'], target:['background'], runtime:['js'], export:['skill','html'],
805
+ desc:"Particles orbiting rings — an elegant loop.", kind:'fx', status:'ready', upstream:'open-design',
806
+ preview:'recipes/slides/fx-orbit-ring/preview.html' },
807
+ { id:'fx-galaxy-swirl', name:'Galaxy Swirl', cat:'ambient', surfaces:['video'], target:['background'], runtime:['js'], export:['skill','html'],
808
+ desc:"A swirling galaxy of particles.", kind:'fx', status:'ready', upstream:'open-design',
809
+ preview:'recipes/slides/fx-galaxy-swirl/preview.html' },
810
+ { id:'fx-word-cascade', name:'Word Cascade', cat:'text-kinetic', surfaces:['video'], target:['text'], runtime:['js'], export:['skill','html'],
811
+ desc:"Words cascade into place — a kinetic title.", kind:'fx', status:'ready', upstream:'open-design',
812
+ preview:'recipes/slides/fx-word-cascade/preview.html' },
813
+ { id:'fx-letter-explode', name:'Letter Explode', cat:'text-kinetic', surfaces:['video'], target:['text'], runtime:['js'], export:['skill','html'],
814
+ desc:"Letters fly in from everywhere and settle into the word.", kind:'fx', status:'ready', upstream:'open-design',
815
+ preview:'recipes/slides/fx-letter-explode/preview.html' },
816
+ { id:'fx-chain-react', name:'Chain Reaction', cat:'feedback-delight', surfaces:['video'], target:['section'], runtime:['js'], export:['skill','html'],
817
+ desc:"A chain reaction of bursts ripples across the frame.", kind:'fx', status:'ready', upstream:'open-design',
818
+ preview:'recipes/slides/fx-chain-react/preview.html' },
819
+ { id:'fx-magnetic-field', name:'Magnetic Field', cat:'ambient', surfaces:['video'], target:['background'], runtime:['js'], export:['skill','html'],
820
+ desc:"Field lines bending around poles — a hypnotic backdrop.", kind:'fx', status:'ready', upstream:'open-design',
821
+ preview:'recipes/slides/fx-magnetic-field/preview.html' },
822
+ { id:'fx-data-stream', name:'Data Stream', cat:'ambient', surfaces:['video'], target:['background'], runtime:['js'], export:['skill','html'],
823
+ desc:"Streaming data lines — a flowing techy backdrop.", kind:'fx', status:'ready', upstream:'open-design',
824
+ preview:'recipes/slides/fx-data-stream/preview.html' },
825
+ { id:'fx-gradient-blob', name:'Gradient Blob', cat:'ambient', surfaces:['video'], target:['background'], runtime:['js'], export:['skill','html'],
826
+ desc:"Soft drifting gradient blobs — a warm ambient glow.", kind:'fx', status:'ready', upstream:'open-design',
827
+ preview:'recipes/slides/fx-gradient-blob/preview.html' },
828
+ { id:'fx-sparkle-trail', name:'Sparkle Trail', cat:'feedback-delight', surfaces:['video'], target:['section'], runtime:['js'], export:['skill','html'],
829
+ desc:"A trail of sparkles — a light, delightful accent.", kind:'fx', status:'ready', upstream:'open-design',
830
+ preview:'recipes/slides/fx-sparkle-trail/preview.html' },
831
+ { id:'fx-shockwave', name:'Shockwave', cat:'feedback-delight', surfaces:['video'], target:['section'], runtime:['js'], export:['skill','html'],
832
+ desc:"An expanding shockwave ripple — an impactful beat.", kind:'fx', status:'ready', upstream:'open-design',
833
+ preview:'recipes/slides/fx-shockwave/preview.html' },
834
+ { id:'fx-counter-explosion', name:'Counter Explosion', cat:'emphasis', surfaces:['video'], target:['number'], runtime:['js'], export:['skill','html'],
835
+ desc:"A number counts up then bursts — for a big stat.", kind:'fx', status:'ready', upstream:'open-design',
836
+ preview:'recipes/slides/fx-counter-explosion/preview.html' },
837
+ { id:'button-press', name:'Button Press', cat:'feedback-delight', surfaces:['app','interaction'], target:['button'], runtime:['css','js'], export:['skill','motion-json','html'],
838
+ desc:"A button that springs down on press and pops back — tactile tap feedback.", kind:'ui', status:'ready',
839
+ preview:'recipes/app/button-press/preview.html' },
840
+ { id:'ripple', name:'Ripple', cat:'feedback-delight', surfaces:['app','interaction'], target:['button'], runtime:['css','js'], export:['skill','motion-json','html'],
841
+ desc:"A Material-style ripple spreads from the point of contact.", kind:'ui', status:'ready',
842
+ preview:'recipes/app/ripple/preview.html' },
843
+ { id:'tab-bar-slide', name:'Tab Bar Slide', cat:'page-transition', surfaces:['app','interaction'], target:['button'], runtime:['css','js'], export:['skill','motion-json','html'],
844
+ desc:"A bottom tab bar whose active pill slides between tabs.", kind:'ui', status:'ready',
845
+ preview:'recipes/app/tab-bar-slide/preview.html' },
846
+ { id:'toast-pop', name:'Toast Pop', cat:'feedback-delight', surfaces:['app','interaction'], target:['section'], runtime:['css','js'], export:['skill','motion-json','html'],
847
+ desc:"A toast slides up from the bottom, holds, then fades away.", kind:'ui', status:'ready',
848
+ preview:'recipes/app/toast-pop/preview.html' },
849
+ { id:'bottom-sheet', name:'Bottom Sheet', cat:'page-transition', surfaces:['app','interaction'], target:['section'], runtime:['css','js'], export:['skill','motion-json','html'],
850
+ desc:"A bottom sheet slides up over a dimmed backdrop, then dismisses.", kind:'ui', status:'ready',
851
+ preview:'recipes/app/bottom-sheet/preview.html' },
852
+ { id:'checkbox-pop', name:'Checkbox Pop', cat:'feedback-delight', surfaces:['app','interaction'], target:['icon'], runtime:['css','js'], export:['skill','motion-json','html'],
853
+ desc:"A checkbox that pops and draws its check on toggle.", kind:'ui', status:'ready',
854
+ preview:'recipes/app/checkbox-pop/preview.html' },
855
+ { id:'ref-animated-toggle', name:'Springy Theme Toggle', cat:'feedback-delight', surfaces:['web','interaction','app'], canvas:['web','app'], target:['button'], runtime:['js','motion-one'], export:['skill','html'],
856
+ desc:"Dark/light toggle whose knob springs across with a morph.", tags:['toggle','theme','spring','morph'], kind:'toggle', ref:true, source:'Emil Kowalski', license:'Reference', upstream:'https://animations.dev/', status:'ready' },
857
+ { id:'ref-drag-reorder', name:'Drag-to-Reorder List', cat:'feedback-delight', surfaces:['web','interaction','app'], canvas:['web','app'], target:['list'], runtime:['framer-motion','js'], export:['skill','html'],
858
+ desc:"List items reflow with spring physics as you drag one to a new spot.", tags:['drag','reorder','list','spring','framer'], kind:'stagger', ref:true, source:'Motion (Framer Motion)', license:'MIT', upstream:'https://motion.dev/docs/react-reorder', status:'ready' },
859
+ { id:'ref-auto-animate', name:'Auto-Animate Layout', cat:'feedback-delight', surfaces:['web','interaction','app'], canvas:['web','app'], target:['list','section'], runtime:['js'], export:['skill','html'],
860
+ desc:"Add/remove/move any element and it transitions automatically — one line.", tags:['layout','auto','formkit','list','add-remove'], kind:'stagger', ref:true, source:'AutoAnimate (FormKit)', license:'MIT', upstream:'https://auto-animate.formkit.com/', status:'ready' },
861
+ { id:'ref-rough-notation', name:'Hand-Drawn Annotation', cat:'attention', surfaces:['web','interaction'], canvas:['web'], target:['text'], runtime:['js'], export:['skill','html'],
862
+ desc:"Underline, circle or highlight text with an animated hand-drawn stroke.", tags:['annotation','underline','highlight','sketch','attention'], kind:'kinetic', ref:true, source:'Rough Notation', license:'MIT', upstream:'https://roughnotation.com/', status:'ready' },
863
+ { id:'ref-number-flow', name:'Animated Number Flow', cat:'emphasis', surfaces:['web','interaction','app'], canvas:['web','app'], target:['number'], runtime:['js'], export:['skill','html'],
864
+ desc:"Digits roll & slide as a value changes — for live stats and prices.", tags:['number','counter','roll','stats','numberflow'], kind:'count', ref:true, source:'NumberFlow', license:'MIT', upstream:'https://number-flow.barvian.me/', status:'ready' },
865
+ { id:'ref-lenis-smooth', name:'Smooth Scroll (Lenis)', cat:'ambient', surfaces:['web'], canvas:['web'], target:['section','background'], runtime:['js'], export:['skill','html'],
866
+ desc:"Buttery inertial scrolling — the base layer under most award-site motion.", tags:['smooth','scroll','inertia','lenis','darkroom'], kind:'reveal', ref:true, source:'Lenis', license:'MIT', upstream:'https://lenis.darkroom.engineering/', status:'ready' },
867
+ { id:'ref-scrolltrigger-pin', name:'Pinned Scroll Scene', cat:'scroll-reveal', surfaces:['web'], canvas:['web'], target:['section'], runtime:['gsap','js'], export:['skill','html'],
868
+ desc:"Pin a section and choreograph elements to scroll progress — scrollytelling.", tags:['scrolltrigger','pin','gsap','scrollytelling'], kind:'reveal', ref:true, source:'GSAP ScrollTrigger', license:'GSAP standard (free)', upstream:'https://gsap.com/docs/v3/Plugins/ScrollTrigger/', status:'ready' },
869
+ { id:'ref-css-scroll-anim', name:'CSS Scroll-Driven Reveal', cat:'scroll-reveal', surfaces:['web'], canvas:['web'], target:['section','image'], runtime:['css'], export:['skill','html'],
870
+ desc:"Native scroll-timeline reveals — no JS, GPU-cheap, progressively enhanced.", tags:['scroll-timeline','native','css','animation-timeline'], kind:'reveal', ref:true, source:'scroll-driven-animations.style', license:'CC / open', upstream:'https://scroll-driven-animations.style/', status:'ready' },
871
+ { id:'ref-aos', name:'Animate On Scroll (AOS)', cat:'scroll-reveal', surfaces:['web'], canvas:['web'], target:['section','card','image'], runtime:['js','css'], export:['skill','html'],
872
+ desc:"Drop-in data-attribute reveals as elements enter the viewport.", tags:['aos','scroll','reveal','data-attr'], kind:'stagger', ref:true, source:'AOS', license:'MIT', upstream:'https://michalsnik.github.io/aos/', status:'ready' },
873
+ { id:'ref-rellax-parallax', name:'Layered Parallax', cat:'ambient', surfaces:['web'], canvas:['web'], target:['background','image','section'], runtime:['js'], export:['skill','html'],
874
+ desc:"Foreground and background drift at different speeds — depth on scroll.", tags:['parallax','depth','scroll','rellax'], kind:'reveal', ref:true, source:'Rellax', license:'MIT', upstream:'https://dixonandmoe.com/rellax/', status:'ready' },
875
+ { id:'ref-horizontal-scroll', name:'Horizontal Scroll Gallery', cat:'scroll-reveal', surfaces:['web'], canvas:['web'], target:['section','list'], runtime:['gsap','js'], export:['skill','html'],
876
+ desc:"Vertical scroll drives a horizontal reel of panels — portfolio staple.", tags:['horizontal','gallery','scroll','gsap'], kind:'reveal', ref:true, source:'GSAP', license:'GSAP standard (free)', upstream:'https://gsap.com/docs/v3/Plugins/ScrollTrigger/', status:'ready' },
877
+ { id:'ref-locomotive', name:'Locomotive Scroll FX', cat:'ambient', surfaces:['web'], canvas:['web'], target:['section','background'], runtime:['js'], export:['skill','html'],
878
+ desc:"Smooth scroll + parallax + in-view classes — the Codrops-era toolkit.", tags:['locomotive','smooth','parallax','in-view'], kind:'reveal', ref:true, source:'Locomotive Scroll', license:'MIT', upstream:'https://scroll.locomotive.ca/', status:'ready' },
879
+ { id:'ref-view-transitions', name:'View Transitions API', cat:'page-transition', surfaces:['web','app'], canvas:['web','app'], target:['transition','section'], runtime:['js','css'], export:['skill','html'],
880
+ desc:"Native cross-document / SPA morph transitions between states — shared-element magic.", tags:['view-transition','spa','morph','native'], kind:'cross', ref:true, source:'web.dev', license:'open', upstream:'https://developer.chrome.com/docs/web-platform/view-transitions/', status:'ready' },
881
+ { id:'ref-barba', name:'Barba.js Page Transitions', cat:'page-transition', surfaces:['web'], canvas:['web'], target:['transition'], runtime:['js'], export:['skill','html'],
882
+ desc:"Seamless SPA-style transitions between pages with lifecycle hooks.", tags:['barba','page','transition','spa'], kind:'cross', ref:true, source:'Barba.js', license:'MIT', upstream:'https://barba.js.org/', status:'ready' },
883
+ { id:'ref-flip-shared', name:'FLIP Shared-Element Move', cat:'page-transition', surfaces:['web','app'], canvas:['web','app'], target:['card','transition'], runtime:['gsap','js'], export:['skill','html'],
884
+ desc:"An element flies from list to detail, keeping identity — FLIP technique.", tags:['flip','shared-element','gsap','layout'], kind:'cross', ref:true, source:'GSAP Flip', license:'GSAP standard (free)', upstream:'https://gsap.com/docs/v3/Plugins/Flip/', status:'ready' },
885
+ { id:'ref-vaul-drawer', name:'Springy Bottom Sheet', cat:'page-transition', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','transition'], runtime:['framer-motion','js'], export:['skill','html'],
886
+ desc:"A drawer/bottom-sheet that drags and settles with real spring physics.", tags:['drawer','sheet','drag','spring','vaul'], kind:'cross', ref:true, source:'Vaul (Emil Kowalski)', license:'MIT', upstream:'https://vaul.emilkowal.ski/', status:'ready' },
887
+ { id:'ref-split-text', name:'Split-Text Reveal', cat:'text-kinetic', surfaces:['web'], canvas:['web'], target:['text'], runtime:['gsap','js'], export:['skill','html'],
888
+ desc:"Split a headline into chars/words/lines and stagger them in — the hero move.", tags:['splittext','stagger','headline','gsap','kinetic'], kind:'kinetic', ref:true, source:'GSAP SplitText', license:'GSAP standard (free)', upstream:'https://gsap.com/docs/v3/Plugins/SplitText/', status:'ready' },
889
+ { id:'ref-splitting', name:'Splitting.js Char FX', cat:'text-kinetic', surfaces:['web'], canvas:['web'], target:['text'], runtime:['js','css'], export:['skill','html'],
890
+ desc:"Split text into indexed spans for per-char CSS choreography.", tags:['splitting','chars','css-vars','kinetic'], kind:'kinetic', ref:true, source:'Splitting.js', license:'MIT', upstream:'https://splitting.js.org/', status:'ready' },
891
+ { id:'text-scramble', name:'Text Scramble', cat:'text-kinetic', surfaces:['web','interaction'], canvas:['web'], target:['text'], runtime:['css','js'], export:['skill','motion-json','html'],
892
+ desc:"Glyphs shuffle then resolve into the final word — a techy decode reveal. Dependency-free.", tags:['scramble','decode','glitch','matrix','kinetic'], kind:'kinetic', status:'ready',
893
+ preview:'recipes/web/text-scramble/preview.html', upstream:'https://tympanus.net/Development/TextScrambleEffect/' },
894
+ { id:'ref-typed', name:'Typewriter (Typed.js)', cat:'text-kinetic', surfaces:['web'], canvas:['web'], target:['text'], runtime:['js'], export:['skill','html'],
895
+ desc:"Types and deletes phrases with a blinking caret — hero taglines.", tags:['typewriter','typed','caret','tagline'], kind:'kinetic', ref:true, source:'Typed.js', license:'MIT', upstream:'https://github.com/mattboldt/typed.js/', status:'ready' },
896
+ { id:'ref-variable-font', name:'Variable-Font Weight Wave', cat:'text-kinetic', surfaces:['web'], canvas:['web'], target:['text'], runtime:['css','js'], export:['skill','html'],
897
+ desc:"A weight/width wave travels across a headline via font-variation-settings.", tags:['variable-font','weight','wave','type'], kind:'kinetic', ref:true, source:'web.dev', license:'open', upstream:'https://web.dev/articles/variable-fonts', status:'ready' },
898
+ { id:'gradient-text', name:'Animated Gradient Text', cat:'text-kinetic', surfaces:['web','interaction'], canvas:['web'], target:['text'], runtime:['css'], export:['skill','motion-json','html'],
899
+ desc:"A slow on-brand gradient drifts through a headline — quiet premium emphasis. Pure CSS.", tags:['gradient','text','headline','ambient','premium'], kind:'kinetic', status:'ready',
900
+ preview:'recipes/web/gradient-text/preview.html', upstream:'https://magicui.design/docs/components/animated-gradient-text' },
901
+ { id:'ref-shader-transition', name:'Shader Scene Transition', cat:'video-transition', surfaces:['web','video'], canvas:['web','video'], target:['transition'], runtime:['three','js'], export:['skill','html'],
902
+ desc:"GL displacement wipes between scenes/images — GLSL transition pack.", tags:['gl-transitions','shader','wipe','displacement','video'], kind:'cross', ref:true, source:'gl-transitions', license:'MIT', upstream:'https://gl-transitions.com/', status:'ready' },
903
+ { id:'ref-motion-dev', name:'Motion (motion.dev) Library', cat:'entrance', surfaces:['web','app','interaction'], canvas:['web','app'], target:['section','button','card'], runtime:['motion-one','js'], export:['skill','html'],
904
+ desc:"The modern hybrid engine (ex-Framer Motion): springs, layout, scroll, gestures.", tags:['motion','framer-motion','spring','layout','gesture'], kind:'ui', ref:true, source:'Motion', license:'MIT', upstream:'https://motion.dev/', status:'ready' },
905
+ { id:'ref-animejs', name:'Anime.js Timeline', cat:'entrance', surfaces:['web','app'], canvas:['web','app'], target:['section','icon','text'], runtime:['js'], export:['skill','html'],
906
+ desc:"Lightweight timeline engine for SVG/DOM/JS-object animation with staggering.", tags:['anime','timeline','svg','stagger'], kind:'css-anim', ref:true, source:'Anime.js', license:'MIT', upstream:'https://animejs.com/', status:'ready' },
907
+ { id:'ref-animations-dev', name:'animations.dev Craft Course', cat:'hover-press', surfaces:['web','app','interaction'], canvas:['web','app'], target:['button','card','transition'], runtime:['framer-motion','css'], export:['skill'],
908
+ desc:"Emil Kowalski's playbook for interface motion that feels right (easing, timing, intent).", tags:['craft','easing','timing','emil','course'], kind:'ui', ref:true, source:'animations.dev', license:'Reference', upstream:'https://animations.dev/', status:'ready' },
909
+ { id:'ref-joshw-animation', name:'Josh Comeau · CSS Animation', cat:'entrance', surfaces:['web'], canvas:['web'], target:['section','button'], runtime:['css'], export:['skill'],
910
+ desc:"Deep, tasteful guide to CSS transitions/keyframes with spring-like feel.", tags:['css','transition','keyframes','guide','comeau'], kind:'css-anim', ref:true, source:'joshwcomeau.com', license:'Reference', upstream:'https://www.joshwcomeau.com/animation/css-transitions/', status:'ready' },
911
+ { id:'ref-lottiefiles', name:'LottieFiles Marketplace', cat:'feedback-delight', surfaces:['web','app','video'], canvas:['web','app'], target:['icon','section'], runtime:['lottie'], export:['lottie','html'],
912
+ desc:"Huge library of ready JSON animations — drop-in for icons, empty states, loaders.", tags:['lottie','marketplace','icon','loader','json'], kind:'lottie-ref', ref:true, source:'LottieFiles', license:'Per-asset (check each)', upstream:'https://lottiefiles.com/', status:'ready' },
913
+ { id:'ref-rive', name:'Rive Interactive Runtime', cat:'feedback-delight', surfaces:['web','app'], canvas:['web','app'], target:['icon','section'], runtime:['rive'], export:['html'],
914
+ desc:"State-machine-driven vector animation that responds to input in real time.", tags:['rive','state-machine','interactive','vector'], kind:'lottie-ref', ref:true, source:'Rive', license:'Rive terms', upstream:'https://rive.app/', status:'ready' },
915
+ { id:'ref-confetti-tsparticles', name:'Confetti / Emoji Burst', cat:'feedback-delight', surfaces:['web','interaction','app'], canvas:['web','app'], target:['button','section'], runtime:['js'], export:['skill','html'],
916
+ desc:"A tasteful confetti or emoji burst for a genuine win — one per moment.", tags:['confetti','celebrate','burst','tsparticles'], kind:'fx', ref:true, source:'tsParticles', license:'MIT', upstream:'https://particles.js.org/', status:'ready' },
917
+ { id:'ref-shader-gradient', name:'Shader Gradient Backdrop', cat:'ambient', surfaces:['web','video'], canvas:['web'], target:['background'], runtime:['three','js'], export:['skill','html'],
918
+ desc:"A living, GPU-rendered gradient mesh — the Stripe/Linear-era hero backdrop.", tags:['shader','gradient','webgl','background','three'], kind:'fx', ref:true, source:'ShaderGradient', license:'MIT', upstream:'https://www.shadergradient.co/', status:'ready' },
919
+ { id:'ref-webgl-distortion', name:'WebGL Image Distortion', cat:'ambient', surfaces:['web'], canvas:['web'], target:['image','background'], runtime:['three','js'], export:['skill','html'],
920
+ desc:"Hover/scroll ripples and displaces imagery via a fragment shader.", tags:['webgl','distortion','displacement','shader','codrops'], kind:'fx', ref:true, source:'Codrops', license:'Codrops (attribution)', upstream:'https://tympanus.net/codrops/', status:'ready' },
921
+ { id:'ref-particles-bg', name:'Interactive Particle Field', cat:'ambient', surfaces:['web','video'], canvas:['web'], target:['background'], runtime:['js'], export:['skill','html'],
922
+ desc:"A responsive constellation of particles reacting to the pointer.", tags:['particles','constellation','pointer','background','tsparticles'], kind:'fx', ref:true, source:'tsParticles', license:'MIT', upstream:'https://particles.js.org/', status:'ready' },
923
+ { id:'ref-metaballs-blob', name:'Fluid Metaball Blob', cat:'ambient', surfaces:['web'], canvas:['web'], target:['background','icon'], runtime:['three','js'], export:['skill','html'],
924
+ desc:"Gooey, merging blobs drift behind the content — organic ambient motion.", tags:['metaball','blob','fluid','shader','webgl'], kind:'fx', ref:true, source:'OGL', license:'MIT', upstream:'https://github.com/oframe/ogl', status:'ready' },
925
+ { id:'ref-three-hero', name:'Three.js 3D Hero Object', cat:'ambient', surfaces:['web'], canvas:['web'], target:['section','background'], runtime:['three','js'], export:['skill','html'],
926
+ desc:"A lit, floating 3D object that reacts to scroll/pointer — R3F hero.", tags:['three','3d','r3f','hero','webgl'], kind:'fx', ref:true, source:'Three.js', license:'MIT', upstream:'https://threejs.org/', status:'ready' },
927
+ { id:'ref-spline-3d', name:'Spline Interactive 3D', cat:'ambient', surfaces:['web','app'], canvas:['web','app'], target:['section','background'], runtime:['three','js'], export:['skill','html'],
928
+ desc:"Drop in a designed, interactive 3D scene — no-code 3D for the web.", tags:['spline','3d','interactive','no-code'], kind:'fx', ref:true, source:'Spline', license:'Spline terms', upstream:'https://spline.design/', status:'ready' },
929
+ { id:'ref-gaussian-splat', name:'Gaussian Splatting Scene', cat:'ambient', surfaces:['web'], canvas:['web'], target:['background','section'], runtime:['three','js'], export:['html'],
930
+ desc:"Photoreal captured 3D (radiance-field splats) rendered live in the browser.", tags:['gaussian-splatting','radiance-field','photoreal','3d','webgl'], kind:'fx', ref:true, source:'GaussianSplats3D', license:'MIT', upstream:'https://github.com/mkkellogg/GaussianSplats3D', status:'ready' },
931
+ { id:'ref-curtains', name:'Curtains.js Plane Warp', cat:'ambient', surfaces:['web'], canvas:['web'], target:['image','section'], runtime:['js','three'], export:['skill','html'],
932
+ desc:"Turn DOM images into WebGL planes you can warp and shade on scroll/hover.", tags:['curtains','webgl','plane','warp','dom-to-gl'], kind:'fx', ref:true, source:'Curtains.js', license:'MIT', upstream:'https://www.curtainsjs.com/', status:'ready' },
933
+ { id:'rb-evil-eye', name:'Evil Eye', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:["background","section"], runtime:['react'], export:['skill','html'],
934
+ desc:"Evil Eye — animated component.", tags:['react','backgrounds','evil-eye'], kind:'fx', status:'ready', code:'recipes/imported/evil-eye/' },
935
+ { id:'rb-ascii-text', name:'ASCII Text', cat:'text-kinetic', surfaces:['web','interaction'], canvas:['web'], target:["text"], runtime:['react'], export:['skill','html'],
936
+ desc:"ASCII Text — animated component.", tags:['react','text-animations','ascii-text'], kind:'kinetic', status:'ready', code:'recipes/imported/ascii-text/' },
937
+ { id:'rb-curved-loop', name:'Curved Loop', cat:'text-kinetic', surfaces:['web','interaction'], canvas:['web'], target:["text"], runtime:['react'], export:['skill','html'],
938
+ desc:"Curved Loop — animated component.", tags:['react','text-animations','curved-loop'], kind:'kinetic', status:'ready', code:'recipes/imported/curved-loop/' },
939
+ { id:'rb-fuzzy-text', name:'Fuzzy Text', cat:'text-kinetic', surfaces:['web','interaction'], canvas:['web'], target:["text"], runtime:['react'], export:['skill','html'],
940
+ desc:"Fuzzy Text — animated component.", tags:['react','text-animations','fuzzy-text'], kind:'kinetic', status:'ready', code:'recipes/imported/fuzzy-text/' },
941
+ { id:'rb-scrambled-text', name:'Scrambled Text', cat:'text-kinetic', surfaces:['web','interaction'], canvas:['web'], target:["text"], runtime:['react'], export:['skill','html'],
942
+ desc:"Scrambled Text — animated component.", tags:['react','text-animations','scrambled-text'], kind:'kinetic', status:'ready', code:'recipes/imported/scrambled-text/' },
943
+ { id:'rb-scroll-velocity', name:'Scroll Velocity', cat:'text-kinetic', surfaces:['web','interaction'], canvas:['web'], target:["text"], runtime:['react'], export:['skill','html'],
944
+ desc:"Scroll Velocity — animated component.", tags:['react','text-animations','scroll-velocity'], kind:'kinetic', status:'ready', code:'recipes/imported/scroll-velocity/' },
945
+ { id:'rb-shuffle', name:'Shuffle', cat:'text-kinetic', surfaces:['web','interaction'], canvas:['web'], target:["text"], runtime:['react'], export:['skill','html'],
946
+ desc:"Shuffle — animated component.", tags:['react','text-animations','shuffle'], kind:'kinetic', status:'ready', code:'recipes/imported/shuffle/' },
947
+ { id:'rb-split-text', name:'Split Text', cat:'text-kinetic', surfaces:['web','interaction'], canvas:['web'], target:["text"], runtime:['react'], export:['skill','html'],
948
+ desc:"Split Text — animated component.", tags:['react','text-animations','split-text'], kind:'kinetic', status:'ready', code:'recipes/imported/split-text/' },
949
+ { id:'rb-text-cursor', name:'Text Cursor', cat:'text-kinetic', surfaces:['web','interaction'], canvas:['web'], target:["text"], runtime:['react'], export:['skill','html'],
950
+ desc:"Text Cursor — animated component.", tags:['react','text-animations','text-cursor'], kind:'kinetic', status:'ready', code:'recipes/imported/text-cursor/' },
951
+ { id:'rb-text-pressure', name:'Text Pressure', cat:'text-kinetic', surfaces:['web','interaction'], canvas:['web'], target:["text"], runtime:['react'], export:['skill','html'],
952
+ desc:"Text Pressure — animated component.", tags:['react','text-animations','text-pressure'], kind:'kinetic', status:'ready', code:'recipes/imported/text-pressure/' },
953
+ { id:'rb-text-type', name:'Text Type', cat:'text-kinetic', surfaces:['web','interaction'], canvas:['web'], target:["text"], runtime:['react'], export:['skill','html'],
954
+ desc:"Text Type — animated component.", tags:['react','text-animations','text-type'], kind:'kinetic', status:'ready', code:'recipes/imported/text-type/' },
955
+ { id:'rb-variable-proximity', name:'Variable Proximity', cat:'text-kinetic', surfaces:['web','interaction'], canvas:['web'], target:["text"], runtime:['react'], export:['skill','html'],
956
+ desc:"Variable Proximity — animated component.", tags:['react','text-animations','variable-proximity'], kind:'kinetic', status:'ready', code:'recipes/imported/variable-proximity/' },
957
+ { id:'rb-ballpit', name:'Ballpit', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:["background","section"], runtime:['react'], export:['skill','html'],
958
+ desc:"Ballpit — animated component.", tags:['react','backgrounds','ballpit'], kind:'fx', status:'ready', code:'recipes/imported/ballpit/' },
959
+ { id:'rb-beams', name:'Beams', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:["background","section"], runtime:['react'], export:['skill','html'],
960
+ desc:"Beams — animated component.", tags:['react','backgrounds','beams'], kind:'fx', status:'ready', code:'recipes/imported/beams/' },
961
+ { id:'rb-color-bends', name:'Color Bends', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:["background","section"], runtime:['react'], export:['skill','html'],
962
+ desc:"Color Bends — animated component.", tags:['react','backgrounds','color-bends'], kind:'fx', status:'ready', code:'recipes/imported/color-bends/' },
963
+ { id:'rb-floating-lines', name:'Floating Lines', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:["background","section"], runtime:['react'], export:['skill','html'],
964
+ desc:"Floating Lines — animated component.", tags:['react','backgrounds','floating-lines'], kind:'fx', status:'ready', code:'recipes/imported/floating-lines/' },
965
+ { id:'rb-grid-distortion', name:'Grid Distortion', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:["background","section"], runtime:['react'], export:['skill','html'],
966
+ desc:"Grid Distortion — animated component.", tags:['react','backgrounds','grid-distortion'], kind:'fx', status:'ready', code:'recipes/imported/grid-distortion/' },
967
+ { id:'rb-grid-motion', name:'Grid Motion', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:["background","section"], runtime:['react'], export:['skill','html'],
968
+ desc:"Grid Motion — animated component.", tags:['react','backgrounds','grid-motion'], kind:'fx', status:'ready', code:'recipes/imported/grid-motion/' },
969
+ { id:'rb-grid-scan', name:'Grid Scan', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:["background","section"], runtime:['react'], export:['skill','html'],
970
+ desc:"Grid Scan — animated component.", tags:['react','backgrounds','grid-scan'], kind:'fx', status:'ready', code:'recipes/imported/grid-scan/' },
971
+ { id:'rb-hyperspeed', name:'Hyperspeed', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:["background","section"], runtime:['react'], export:['skill','html'],
972
+ desc:"Hyperspeed — animated component.", tags:['react','backgrounds','hyperspeed'], kind:'fx', status:'ready', code:'recipes/imported/hyperspeed/' },
973
+ { id:'rb-letter-glitch', name:'Letter Glitch', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:["background","section"], runtime:['react'], export:['skill','html'],
974
+ desc:"Letter Glitch — animated component.", tags:['react','backgrounds','letter-glitch'], kind:'fx', status:'ready', code:'recipes/imported/letter-glitch/' },
975
+ { id:'rb-light-pillar', name:'Light Pillar', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:["background","section"], runtime:['react'], export:['skill','html'],
976
+ desc:"Light Pillar — animated component.", tags:['react','backgrounds','light-pillar'], kind:'fx', status:'ready', code:'recipes/imported/light-pillar/' },
977
+ { id:'rb-liquid-ether', name:'Liquid Ether', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:["background","section"], runtime:['react'], export:['skill','html'],
978
+ desc:"Liquid Ether — animated component.", tags:['react','backgrounds','liquid-ether'], kind:'fx', status:'ready', code:'recipes/imported/liquid-ether/' },
979
+ { id:'rb-shape-grid', name:'Shape Grid', cat:'ambient', surfaces:['web','interaction'], canvas:['web'], target:["background","section"], runtime:['react'], export:['skill','html'],
980
+ desc:"Shape Grid — animated component.", tags:['react','backgrounds','shape-grid'], kind:'fx', status:'ready', code:'recipes/imported/shape-grid/' },
981
+ { id:'rb-animated-content', name:'Animated Content', cat:'feedback-delight', surfaces:['web','interaction'], canvas:['web'], target:["button","image","icon"], runtime:['react'], export:['skill','html'],
982
+ desc:"Animated Content — animated component.", tags:['react','animations','animated-content'], kind:'ui', status:'ready', code:'recipes/imported/animated-content/' },
983
+ { id:'rb-antigravity', name:'Antigravity', cat:'feedback-delight', surfaces:['web','interaction'], canvas:['web'], target:["button","image","icon"], runtime:['react'], export:['skill','html'],
984
+ desc:"Antigravity — animated component.", tags:['react','animations','antigravity'], kind:'ui', status:'ready', code:'recipes/imported/antigravity/' },
985
+ { id:'rb-cubes', name:'Cubes', cat:'feedback-delight', surfaces:['web','interaction'], canvas:['web'], target:["button","image","icon"], runtime:['react'], export:['skill','html'],
986
+ desc:"Cubes — animated component.", tags:['react','animations','cubes'], kind:'ui', status:'ready', code:'recipes/imported/cubes/' },
987
+ { id:'rb-ghost-cursor', name:'Ghost Cursor', cat:'feedback-delight', surfaces:['web','interaction'], canvas:['web'], target:["button","image","icon"], runtime:['react'], export:['skill','html'],
988
+ desc:"Ghost Cursor — animated component.", tags:['react','animations','ghost-cursor'], kind:'ui', status:'ready', code:'recipes/imported/ghost-cursor/' },
989
+ { id:'rb-laser-flow', name:'Laser Flow', cat:'feedback-delight', surfaces:['web','interaction'], canvas:['web'], target:["button","image","icon"], runtime:['react'], export:['skill','html'],
990
+ desc:"Laser Flow — animated component.", tags:['react','animations','laser-flow'], kind:'ui', status:'ready', code:'recipes/imported/laser-flow/' },
991
+ { id:'rb-logo-loop', name:'Logo Loop', cat:'feedback-delight', surfaces:['web','interaction'], canvas:['web'], target:["button","image","icon"], runtime:['react'], export:['skill','html'],
992
+ desc:"Logo Loop — animated component.", tags:['react','animations','logo-loop'], kind:'ui', status:'ready', code:'recipes/imported/logo-loop/' },
993
+ { id:'rb-magic-rings', name:'Magic Rings', cat:'feedback-delight', surfaces:['web','interaction'], canvas:['web'], target:["button","image","icon"], runtime:['react'], export:['skill','html'],
994
+ desc:"Magic Rings — animated component.", tags:['react','animations','magic-rings'], kind:'ui', status:'ready', code:'recipes/imported/magic-rings/' },
995
+ { id:'rb-magnet', name:'Magnet', cat:'feedback-delight', surfaces:['web','interaction'], canvas:['web'], target:["button","image","icon"], runtime:['react'], export:['skill','html'],
996
+ desc:"Magnet — animated component.", tags:['react','animations','magnet'], kind:'ui', status:'ready', code:'recipes/imported/magnet/' },
997
+ { id:'rb-meta-balls', name:'Meta Balls', cat:'feedback-delight', surfaces:['web','interaction'], canvas:['web'], target:["button","image","icon"], runtime:['react'], export:['skill','html'],
998
+ desc:"Meta Balls — animated component.", tags:['react','animations','meta-balls'], kind:'ui', status:'ready', code:'recipes/imported/meta-balls/' },
999
+ { id:'rb-metallic-paint', name:'Metallic Paint', cat:'feedback-delight', surfaces:['web','interaction'], canvas:['web'], target:["button","image","icon"], runtime:['react'], export:['skill','html'],
1000
+ desc:"Metallic Paint — animated component.", tags:['react','animations','metallic-paint'], kind:'ui', status:'ready', code:'recipes/imported/metallic-paint/' },
1001
+ { id:'rb-orbit-images', name:'Orbit Images', cat:'feedback-delight', surfaces:['web','interaction'], canvas:['web'], target:["button","image","icon"], runtime:['react'], export:['skill','html'],
1002
+ desc:"Orbit Images — animated component.", tags:['react','animations','orbit-images'], kind:'ui', status:'ready', code:'recipes/imported/orbit-images/' },
1003
+ { id:'rb-pixel-trail', name:'Pixel Trail', cat:'feedback-delight', surfaces:['web','interaction'], canvas:['web'], target:["button","image","icon"], runtime:['react'], export:['skill','html'],
1004
+ desc:"Pixel Trail — animated component.", tags:['react','animations','pixel-trail'], kind:'ui', status:'ready', code:'recipes/imported/pixel-trail/' },
1005
+ { id:'rb-ribbons', name:'Ribbons', cat:'feedback-delight', surfaces:['web','interaction'], canvas:['web'], target:["button","image","icon"], runtime:['react'], export:['skill','html'],
1006
+ desc:"Ribbons — animated component.", tags:['react','animations','ribbons'], kind:'ui', status:'ready', code:'recipes/imported/ribbons/' },
1007
+ { id:'rb-shape-blur', name:'Shape Blur', cat:'feedback-delight', surfaces:['web','interaction'], canvas:['web'], target:["button","image","icon"], runtime:['react'], export:['skill','html'],
1008
+ desc:"Shape Blur — animated component.", tags:['react','animations','shape-blur'], kind:'ui', status:'ready', code:'recipes/imported/shape-blur/' },
1009
+ { id:'rb-sticker-peel', name:'Sticker Peel', cat:'feedback-delight', surfaces:['web','interaction'], canvas:['web'], target:["button","image","icon"], runtime:['react'], export:['skill','html'],
1010
+ desc:"Sticker Peel — animated component.", tags:['react','animations','sticker-peel'], kind:'ui', status:'ready', code:'recipes/imported/sticker-peel/' },
1011
+ { id:'rb-animated-list', name:'Animated List', cat:'hover-press', surfaces:['web','interaction'], canvas:['web'], target:["card","list","section"], runtime:['react'], export:['skill','html'],
1012
+ desc:"Animated List — animated component.", tags:['react','components','animated-list'], kind:'ui', status:'ready', code:'recipes/imported/animated-list/' },
1013
+ { id:'rb-border-glow', name:'Border Glow', cat:'hover-press', surfaces:['web','interaction'], canvas:['web'], target:["card","list","section"], runtime:['react'], export:['skill','html'],
1014
+ desc:"Border Glow — animated component.", tags:['react','components','border-glow'], kind:'ui', status:'ready', code:'recipes/imported/border-glow/' },
1015
+ { id:'rb-bubble-menu', name:'Bubble Menu', cat:'hover-press', surfaces:['web','interaction'], canvas:['web'], target:["card","list","section"], runtime:['react'], export:['skill','html'],
1016
+ desc:"Bubble Menu — animated component.", tags:['react','components','bubble-menu'], kind:'ui', status:'ready', code:'recipes/imported/bubble-menu/' },
1017
+ { id:'rb-card-nav', name:'Card Nav', cat:'hover-press', surfaces:['web','interaction'], canvas:['web'], target:["card","list","section"], runtime:['react'], export:['skill','html'],
1018
+ desc:"Card Nav — animated component.", tags:['react','components','card-nav'], kind:'ui', status:'ready', code:'recipes/imported/card-nav/' },
1019
+ { id:'rb-card-swap', name:'Card Swap', cat:'hover-press', surfaces:['web','interaction'], canvas:['web'], target:["card","list","section"], runtime:['react'], export:['skill','html'],
1020
+ desc:"Card Swap — animated component.", tags:['react','components','card-swap'], kind:'ui', status:'ready', code:'recipes/imported/card-swap/' },
1021
+ { id:'rb-carousel', name:'Carousel', cat:'hover-press', surfaces:['web','interaction'], canvas:['web'], target:["card","list","section"], runtime:['react'], export:['skill','html'],
1022
+ desc:"Carousel — animated component.", tags:['react','components','carousel'], kind:'ui', status:'ready', code:'recipes/imported/carousel/' },
1023
+ { id:'rb-chroma-grid', name:'Chroma Grid', cat:'hover-press', surfaces:['web','interaction'], canvas:['web'], target:["card","list","section"], runtime:['react'], export:['skill','html'],
1024
+ desc:"Chroma Grid — animated component.", tags:['react','components','chroma-grid'], kind:'ui', status:'ready', code:'recipes/imported/chroma-grid/' },
1025
+ { id:'rb-circular-gallery', name:'Circular Gallery', cat:'hover-press', surfaces:['web','interaction'], canvas:['web'], target:["card","list","section"], runtime:['react'], export:['skill','html'],
1026
+ desc:"Circular Gallery — animated component.", tags:['react','components','circular-gallery'], kind:'ui', status:'ready', code:'recipes/imported/circular-gallery/' },
1027
+ { id:'rb-decay-card', name:'Decay Card', cat:'hover-press', surfaces:['web','interaction'], canvas:['web'], target:["card","list","section"], runtime:['react'], export:['skill','html'],
1028
+ desc:"Decay Card — animated component.", tags:['react','components','decay-card'], kind:'ui', status:'ready', code:'recipes/imported/decay-card/' },
1029
+ { id:'rb-dome-gallery', name:'Dome Gallery', cat:'hover-press', surfaces:['web','interaction'], canvas:['web'], target:["card","list","section"], runtime:['react'], export:['skill','html'],
1030
+ desc:"Dome Gallery — animated component.", tags:['react','components','dome-gallery'], kind:'ui', status:'ready', code:'recipes/imported/dome-gallery/' },
1031
+ { id:'rb-flowing-menu', name:'Flowing Menu', cat:'hover-press', surfaces:['web','interaction'], canvas:['web'], target:["card","list","section"], runtime:['react'], export:['skill','html'],
1032
+ desc:"Flowing Menu — animated component.", tags:['react','components','flowing-menu'], kind:'ui', status:'ready', code:'recipes/imported/flowing-menu/' },
1033
+ { id:'rb-fluid-glass', name:'Fluid Glass', cat:'hover-press', surfaces:['web','interaction'], canvas:['web'], target:["card","list","section"], runtime:['react'], export:['skill','html'],
1034
+ desc:"Fluid Glass — animated component.", tags:['react','components','fluid-glass'], kind:'ui', status:'ready', code:'recipes/imported/fluid-glass/' },
1035
+ { id:'rb-flying-posters', name:'Flying Posters', cat:'hover-press', surfaces:['web','interaction'], canvas:['web'], target:["card","list","section"], runtime:['react'], export:['skill','html'],
1036
+ desc:"Flying Posters — animated component.", tags:['react','components','flying-posters'], kind:'ui', status:'ready', code:'recipes/imported/flying-posters/' },
1037
+ { id:'rb-folder', name:'Folder', cat:'hover-press', surfaces:['web','interaction'], canvas:['web'], target:["card","list","section"], runtime:['react'], export:['skill','html'],
1038
+ desc:"Folder — animated component.", tags:['react','components','folder'], kind:'ui', status:'ready', code:'recipes/imported/folder/' },
1039
+ { id:'rb-glass-surface', name:'Glass Surface', cat:'hover-press', surfaces:['web','interaction'], canvas:['web'], target:["card","list","section"], runtime:['react'], export:['skill','html'],
1040
+ desc:"Glass Surface — animated component.", tags:['react','components','glass-surface'], kind:'ui', status:'ready', code:'recipes/imported/glass-surface/' },
1041
+ { id:'rb-infinite-menu', name:'Infinite Menu', cat:'hover-press', surfaces:['web','interaction'], canvas:['web'], target:["card","list","section"], runtime:['react'], export:['skill','html'],
1042
+ desc:"Infinite Menu — animated component.", tags:['react','components','infinite-menu'], kind:'ui', status:'ready', code:'recipes/imported/infinite-menu/' },
1043
+ { id:'rb-lanyard', name:'Lanyard', cat:'hover-press', surfaces:['web','interaction'], canvas:['web'], target:["card","list","section"], runtime:['react'], export:['skill','html'],
1044
+ desc:"Lanyard — animated component.", tags:['react','components','lanyard'], kind:'ui', status:'ready', code:'recipes/imported/lanyard/' },
1045
+ { id:'rb-magic-bento', name:'Magic Bento', cat:'hover-press', surfaces:['web','interaction'], canvas:['web'], target:["card","list","section"], runtime:['react'], export:['skill','html'],
1046
+ desc:"Magic Bento — animated component.", tags:['react','components','magic-bento'], kind:'ui', status:'ready', code:'recipes/imported/magic-bento/' },
1047
+ { id:'rb-masonry', name:'Masonry', cat:'hover-press', surfaces:['web','interaction'], canvas:['web'], target:["card","list","section"], runtime:['react'], export:['skill','html'],
1048
+ desc:"Masonry — animated component.", tags:['react','components','masonry'], kind:'ui', status:'ready', code:'recipes/imported/masonry/' },
1049
+ { id:'rb-model-viewer', name:'Model Viewer', cat:'hover-press', surfaces:['web','interaction'], canvas:['web'], target:["card","list","section"], runtime:['react'], export:['skill','html'],
1050
+ desc:"Model Viewer — animated component.", tags:['react','components','model-viewer'], kind:'ui', status:'ready', code:'recipes/imported/model-viewer/' },
1051
+ { id:'rb-pill-nav', name:'Pill Nav', cat:'hover-press', surfaces:['web','interaction'], canvas:['web'], target:["card","list","section"], runtime:['react'], export:['skill','html'],
1052
+ desc:"Pill Nav — animated component.", tags:['react','components','pill-nav'], kind:'ui', status:'ready', code:'recipes/imported/pill-nav/' },
1053
+ { id:'rb-profile-card', name:'Profile Card', cat:'hover-press', surfaces:['web','interaction'], canvas:['web'], target:["card","list","section"], runtime:['react'], export:['skill','html'],
1054
+ desc:"Profile Card — animated component.", tags:['react','components','profile-card'], kind:'ui', status:'ready', code:'recipes/imported/profile-card/' },
1055
+ { id:'rb-reflective-card', name:'Reflective Card', cat:'hover-press', surfaces:['web','interaction'], canvas:['web'], target:["card","list","section"], runtime:['react'], export:['skill','html'],
1056
+ desc:"Reflective Card — animated component.", tags:['react','components','reflective-card'], kind:'ui', status:'ready', code:'recipes/imported/reflective-card/' },
1057
+ { id:'rb-scroll-stack', name:'Scroll Stack', cat:'hover-press', surfaces:['web','interaction'], canvas:['web'], target:["card","list","section"], runtime:['react'], export:['skill','html'],
1058
+ desc:"Scroll Stack — animated component.", tags:['react','components','scroll-stack'], kind:'ui', status:'ready', code:'recipes/imported/scroll-stack/' },
1059
+ { id:'rb-stack', name:'Stack', cat:'hover-press', surfaces:['web','interaction'], canvas:['web'], target:["card","list","section"], runtime:['react'], export:['skill','html'],
1060
+ desc:"Stack — animated component.", tags:['react','components','stack'], kind:'ui', status:'ready', code:'recipes/imported/stack/' },
1061
+ { id:'rb-staggered-menu', name:'Staggered Menu', cat:'hover-press', surfaces:['web','interaction'], canvas:['web'], target:["card","list","section"], runtime:['react'], export:['skill','html'],
1062
+ desc:"Staggered Menu — animated component.", tags:['react','components','staggered-menu'], kind:'ui', status:'ready', code:'recipes/imported/staggered-menu/' },
1063
+ { id:'rb-tilted-card', name:'Tilted Card', cat:'hover-press', surfaces:['web','interaction'], canvas:['web'], target:["card","list","section"], runtime:['react'], export:['skill','html'],
1064
+ desc:"Tilted Card — animated component.", tags:['react','components','tilted-card'], kind:'ui', status:'ready', code:'recipes/imported/tilted-card/' },
1065
+ ];