use-scroll-animate 6.1.0 → 6.2.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 (352) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/README.md +157 -411
  3. package/README_ja.md +170 -175
  4. package/README_zh.md +169 -198
  5. package/dist/chunks/{base-B5i8qQPR.cjs → base-BaQV-2ha.cjs} +3 -3
  6. package/dist/chunks/base-BaQV-2ha.cjs.map +1 -0
  7. package/dist/chunks/{base-C3Sw9sAO.js → base-C_3cAoRz.js} +4 -4
  8. package/dist/chunks/base-C_3cAoRz.js.map +1 -0
  9. package/dist/chunks/{core-BYLtO0Po.cjs → core-B5T0dhFH.cjs} +3 -3
  10. package/dist/chunks/core-B5T0dhFH.cjs.map +1 -0
  11. package/dist/chunks/{core-BDcszY4L.cjs → core-BGAyaY6L.cjs} +2 -2
  12. package/dist/chunks/{core-BDcszY4L.cjs.map → core-BGAyaY6L.cjs.map} +1 -1
  13. package/dist/chunks/{core-BVQW34aX.js → core-D7cVumUu.js} +3 -3
  14. package/dist/chunks/core-D7cVumUu.js.map +1 -0
  15. package/dist/chunks/{core-DN3hHbHh.js → core-VEBw36QK.js} +2 -2
  16. package/dist/chunks/{core-DN3hHbHh.js.map → core-VEBw36QK.js.map} +1 -1
  17. package/dist/chunks/{core-BTf__I-8.js → core-ps8uvYuN.js} +2 -2
  18. package/dist/chunks/{core-BTf__I-8.js.map → core-ps8uvYuN.js.map} +1 -1
  19. package/dist/chunks/{core-BjOYKSrV.cjs → core-zq17EeCI.cjs} +2 -2
  20. package/dist/chunks/{core-BjOYKSrV.cjs.map → core-zq17EeCI.cjs.map} +1 -1
  21. package/dist/chunks/{fx-ChjxrMBo.js → fx-Bs6IrV4Q.js} +2 -2
  22. package/dist/chunks/{fx-ChjxrMBo.js.map → fx-Bs6IrV4Q.js.map} +1 -1
  23. package/dist/chunks/{fx-B8hk1Fby.cjs → fx-lBGVtQO1.cjs} +2 -2
  24. package/dist/chunks/{fx-B8hk1Fby.cjs.map → fx-lBGVtQO1.cjs.map} +1 -1
  25. package/dist/chunks/generative-D2YyhaeO.js +336 -0
  26. package/dist/chunks/generative-D2YyhaeO.js.map +1 -0
  27. package/dist/chunks/generative-DzIZq-_g.cjs +348 -0
  28. package/dist/chunks/generative-DzIZq-_g.cjs.map +1 -0
  29. package/dist/chunks/gpu-Bu7qwugO.js +380 -0
  30. package/dist/chunks/gpu-Bu7qwugO.js.map +1 -0
  31. package/dist/chunks/gpu-CenK2l6b.cjs +387 -0
  32. package/dist/chunks/gpu-CenK2l6b.cjs.map +1 -0
  33. package/dist/chunks/{presets-BJ09NeTo.js → presets-BYBVJVeP.js} +3 -3
  34. package/dist/chunks/presets-BYBVJVeP.js.map +1 -0
  35. package/dist/chunks/{presets-D2ksQNzJ.cjs → presets-CUHys3sK.cjs} +3 -3
  36. package/dist/chunks/presets-CUHys3sK.cjs.map +1 -0
  37. package/dist/chunks/registry-CKNLQpwd.js +121 -0
  38. package/dist/chunks/registry-CKNLQpwd.js.map +1 -0
  39. package/dist/chunks/registry-DehBVRDV.cjs +131 -0
  40. package/dist/chunks/registry-DehBVRDV.cjs.map +1 -0
  41. package/dist/chunks/{spring-CckMe3x0.js → spring-CbvHfVtP.js} +2 -2
  42. package/dist/chunks/{spring-CckMe3x0.js.map → spring-CbvHfVtP.js.map} +1 -1
  43. package/dist/chunks/{spring--oZh55tB.cjs → spring-Dgx187Vh.cjs} +2 -2
  44. package/dist/chunks/{spring--oZh55tB.cjs.map → spring-Dgx187Vh.cjs.map} +1 -1
  45. package/dist/chunks/{stagger-CvhYlKrF.cjs → stagger-CCFyhzSw.cjs} +3 -3
  46. package/dist/chunks/stagger-CCFyhzSw.cjs.map +1 -0
  47. package/dist/chunks/{stagger-Dh4V-OL0.js → stagger-DtMKo2SK.js} +3 -3
  48. package/dist/chunks/stagger-DtMKo2SK.js.map +1 -0
  49. package/dist/chunks/{variants-DxPmgrNX.cjs → variants-BhjyddG8.cjs} +2 -2
  50. package/dist/chunks/{variants-DxPmgrNX.cjs.map → variants-BhjyddG8.cjs.map} +1 -1
  51. package/dist/chunks/{variants-Bsevy6Xm.js → variants-DRlKVHvu.js} +2 -2
  52. package/dist/chunks/{variants-Bsevy6Xm.js.map → variants-DRlKVHvu.js.map} +1 -1
  53. package/dist/components/a11y.cjs +4 -4
  54. package/dist/components/a11y.cjs.map +1 -1
  55. package/dist/components/a11y.d.cts +2 -2
  56. package/dist/components/a11y.d.ts +2 -2
  57. package/dist/components/a11y.js +5 -5
  58. package/dist/components/a11y.js.map +1 -1
  59. package/dist/components/angular.cjs +9 -8
  60. package/dist/components/angular.cjs.map +1 -1
  61. package/dist/components/angular.d.cts +22 -22
  62. package/dist/components/angular.d.ts +22 -22
  63. package/dist/components/angular.js +9 -8
  64. package/dist/components/angular.js.map +1 -1
  65. package/dist/components/background.cjs +3 -3
  66. package/dist/components/background.cjs.map +1 -1
  67. package/dist/components/background.css +1 -1
  68. package/dist/components/background.d.cts +1 -1
  69. package/dist/components/background.d.ts +1 -1
  70. package/dist/components/background.js +3 -3
  71. package/dist/components/background.js.map +1 -1
  72. package/dist/components/bridge.cjs +2 -2
  73. package/dist/components/bridge.cjs.map +1 -1
  74. package/dist/components/bridge.d.cts +1 -1
  75. package/dist/components/bridge.d.ts +1 -1
  76. package/dist/components/bridge.js +2 -2
  77. package/dist/components/bridge.js.map +1 -1
  78. package/dist/components/cards.cjs +3 -3
  79. package/dist/components/cards.cjs.map +1 -1
  80. package/dist/components/cards.css +1 -1
  81. package/dist/components/cards.d.cts +1 -1
  82. package/dist/components/cards.d.ts +1 -1
  83. package/dist/components/cards.js +3 -3
  84. package/dist/components/cards.js.map +1 -1
  85. package/dist/components/click.cjs +4 -4
  86. package/dist/components/click.cjs.map +1 -1
  87. package/dist/components/click.css +1 -1
  88. package/dist/components/click.d.cts +1 -1
  89. package/dist/components/click.d.ts +1 -1
  90. package/dist/components/click.js +4 -4
  91. package/dist/components/click.js.map +1 -1
  92. package/dist/components/depth.cjs +4 -4
  93. package/dist/components/depth.cjs.map +1 -1
  94. package/dist/components/depth.css +1 -1
  95. package/dist/components/depth.d.cts +1 -1
  96. package/dist/components/depth.d.ts +1 -1
  97. package/dist/components/depth.js +4 -4
  98. package/dist/components/depth.js.map +1 -1
  99. package/dist/components/effects.cjs +84 -416
  100. package/dist/components/effects.cjs.map +1 -1
  101. package/dist/components/effects.d.cts +2 -2
  102. package/dist/components/effects.d.ts +2 -2
  103. package/dist/components/effects.js +18 -349
  104. package/dist/components/effects.js.map +1 -1
  105. package/dist/components/feedback.cjs +2 -2
  106. package/dist/components/feedback.cjs.map +1 -1
  107. package/dist/components/feedback.css +1 -1
  108. package/dist/components/feedback.d.cts +1 -1
  109. package/dist/components/feedback.d.ts +1 -1
  110. package/dist/components/feedback.js +2 -2
  111. package/dist/components/feedback.js.map +1 -1
  112. package/dist/components/fx-gpu.cjs +12 -0
  113. package/dist/components/fx-gpu.cjs.map +1 -0
  114. package/dist/components/fx-gpu.d.cts +63 -0
  115. package/dist/components/fx-gpu.d.ts +63 -0
  116. package/dist/components/fx-gpu.js +5 -0
  117. package/dist/components/fx-gpu.js.map +1 -0
  118. package/dist/components/fx.cjs +18 -138
  119. package/dist/components/fx.cjs.map +1 -1
  120. package/dist/components/fx.css +1 -1
  121. package/dist/components/fx.d.cts +2 -2
  122. package/dist/components/fx.d.ts +2 -2
  123. package/dist/components/fx.js +8 -127
  124. package/dist/components/fx.js.map +1 -1
  125. package/dist/components/fx2.cjs +25 -0
  126. package/dist/components/fx2.cjs.map +1 -0
  127. package/dist/components/fx2.d.cts +136 -0
  128. package/dist/components/fx2.d.ts +136 -0
  129. package/dist/components/fx2.js +17 -0
  130. package/dist/components/fx2.js.map +1 -0
  131. package/dist/components/gesture.cjs +4 -4
  132. package/dist/components/gesture.cjs.map +1 -1
  133. package/dist/components/gesture.css +1 -1
  134. package/dist/components/gesture.d.cts +1 -1
  135. package/dist/components/gesture.d.ts +1 -1
  136. package/dist/components/gesture.js +5 -5
  137. package/dist/components/gesture.js.map +1 -1
  138. package/dist/components/interaction.cjs +2 -2
  139. package/dist/components/interaction.cjs.map +1 -1
  140. package/dist/components/interaction.css +1 -1
  141. package/dist/components/interaction.d.cts +1 -1
  142. package/dist/components/interaction.d.ts +1 -1
  143. package/dist/components/interaction.js +2 -2
  144. package/dist/components/interaction.js.map +1 -1
  145. package/dist/components/jsx.d.cts +2 -2
  146. package/dist/components/jsx.d.ts +2 -2
  147. package/dist/components/layout.cjs +2 -2
  148. package/dist/components/layout.cjs.map +1 -1
  149. package/dist/components/layout.css +1 -1
  150. package/dist/components/layout.d.cts +1 -1
  151. package/dist/components/layout.d.ts +1 -1
  152. package/dist/components/layout.js +2 -2
  153. package/dist/components/layout.js.map +1 -1
  154. package/dist/components/lazy.cjs +2 -2
  155. package/dist/components/lazy.cjs.map +1 -1
  156. package/dist/components/lazy.d.cts +2 -2
  157. package/dist/components/lazy.d.ts +2 -2
  158. package/dist/components/lazy.js +2 -2
  159. package/dist/components/lazy.js.map +1 -1
  160. package/dist/components/lite.cjs +46 -50
  161. package/dist/components/lite.cjs.map +1 -1
  162. package/dist/components/lite.js +46 -50
  163. package/dist/components/lite.js.map +1 -1
  164. package/dist/components/packs.cjs +2 -2
  165. package/dist/components/packs.cjs.map +1 -1
  166. package/dist/components/packs.css +1 -1
  167. package/dist/components/packs.d.cts +1 -1
  168. package/dist/components/packs.d.ts +1 -1
  169. package/dist/components/packs.js +2 -2
  170. package/dist/components/packs.js.map +1 -1
  171. package/dist/components/page.cjs +3 -3
  172. package/dist/components/page.cjs.map +1 -1
  173. package/dist/components/page.css +1 -1
  174. package/dist/components/page.d.cts +1 -1
  175. package/dist/components/page.d.ts +1 -1
  176. package/dist/components/page.js +4 -4
  177. package/dist/components/page.js.map +1 -1
  178. package/dist/components/perf.cjs +3 -3
  179. package/dist/components/perf.cjs.map +1 -1
  180. package/dist/components/perf.d.cts +2 -2
  181. package/dist/components/perf.d.ts +2 -2
  182. package/dist/components/perf.js +4 -4
  183. package/dist/components/perf.js.map +1 -1
  184. package/dist/components/physics.cjs +3 -3
  185. package/dist/components/physics.cjs.map +1 -1
  186. package/dist/components/physics.css +1 -1
  187. package/dist/components/physics.d.cts +1 -1
  188. package/dist/components/physics.d.ts +1 -1
  189. package/dist/components/physics.js +4 -4
  190. package/dist/components/physics.js.map +1 -1
  191. package/dist/components/react.cjs +4 -4
  192. package/dist/components/react.cjs.map +1 -1
  193. package/dist/components/react.js +4 -4
  194. package/dist/components/react.js.map +1 -1
  195. package/dist/components/reveal.cjs +2 -2
  196. package/dist/components/reveal.cjs.map +1 -1
  197. package/dist/components/reveal.css +1 -1
  198. package/dist/components/reveal.d.cts +1 -1
  199. package/dist/components/reveal.d.ts +1 -1
  200. package/dist/components/reveal.js +2 -2
  201. package/dist/components/reveal.js.map +1 -1
  202. package/dist/components/solid.cjs +10 -9
  203. package/dist/components/solid.cjs.map +1 -1
  204. package/dist/components/solid.d.cts +22 -22
  205. package/dist/components/solid.d.ts +22 -22
  206. package/dist/components/solid.js +10 -9
  207. package/dist/components/solid.js.map +1 -1
  208. package/dist/components/svelte.cjs +9 -8
  209. package/dist/components/svelte.cjs.map +1 -1
  210. package/dist/components/svelte.d.cts +22 -22
  211. package/dist/components/svelte.d.ts +22 -22
  212. package/dist/components/svelte.js +9 -8
  213. package/dist/components/svelte.js.map +1 -1
  214. package/dist/components/svg.cjs +2 -2
  215. package/dist/components/svg.cjs.map +1 -1
  216. package/dist/components/svg.css +1 -1
  217. package/dist/components/svg.d.cts +1 -1
  218. package/dist/components/svg.d.ts +1 -1
  219. package/dist/components/svg.js +2 -2
  220. package/dist/components/svg.js.map +1 -1
  221. package/dist/components/text.cjs +3 -3
  222. package/dist/components/text.cjs.map +1 -1
  223. package/dist/components/text.css +1 -1
  224. package/dist/components/text.d.cts +1 -1
  225. package/dist/components/text.d.ts +1 -1
  226. package/dist/components/text.js +3 -3
  227. package/dist/components/text.js.map +1 -1
  228. package/dist/components/timeline.cjs +3 -3
  229. package/dist/components/timeline.cjs.map +1 -1
  230. package/dist/components/timeline.css +1 -1
  231. package/dist/components/timeline.d.cts +1 -1
  232. package/dist/components/timeline.d.ts +1 -1
  233. package/dist/components/timeline.js +4 -4
  234. package/dist/components/timeline.js.map +1 -1
  235. package/dist/components/tokens.cjs +2 -2
  236. package/dist/components/tokens.cjs.map +1 -1
  237. package/dist/components/tokens.d.cts +2 -2
  238. package/dist/components/tokens.d.ts +2 -2
  239. package/dist/components/tokens.js +2 -2
  240. package/dist/components/tokens.js.map +1 -1
  241. package/dist/components/transitions.cjs +2 -2
  242. package/dist/components/transitions.cjs.map +1 -1
  243. package/dist/components/transitions.css +1 -1
  244. package/dist/components/transitions.d.cts +1 -1
  245. package/dist/components/transitions.d.ts +1 -1
  246. package/dist/components/transitions.js +2 -2
  247. package/dist/components/transitions.js.map +1 -1
  248. package/dist/components/ui.cjs +4 -4
  249. package/dist/components/ui.cjs.map +1 -1
  250. package/dist/components/ui.css +1 -1
  251. package/dist/components/ui.d.cts +1 -1
  252. package/dist/components/ui.d.ts +1 -1
  253. package/dist/components/ui.js +5 -5
  254. package/dist/components/ui.js.map +1 -1
  255. package/dist/components/vue.cjs +10 -9
  256. package/dist/components/vue.cjs.map +1 -1
  257. package/dist/components/vue.d.cts +23 -23
  258. package/dist/components/vue.d.ts +23 -23
  259. package/dist/components/vue.js +10 -9
  260. package/dist/components/vue.js.map +1 -1
  261. package/dist/components/webgl.cjs +2 -2
  262. package/dist/components/webgl.cjs.map +1 -1
  263. package/dist/components/webgl.css +1 -1
  264. package/dist/components/webgl.d.cts +1 -1
  265. package/dist/components/webgl.d.ts +1 -1
  266. package/dist/components/webgl.js +2 -2
  267. package/dist/components/webgl.js.map +1 -1
  268. package/dist/components/widgets.cjs +591 -0
  269. package/dist/components/widgets.cjs.map +1 -0
  270. package/dist/components/widgets.d.cts +110 -0
  271. package/dist/components/widgets.d.ts +110 -0
  272. package/dist/components/widgets.js +581 -0
  273. package/dist/components/widgets.js.map +1 -0
  274. package/dist/components.cjs +19 -18
  275. package/dist/components.cjs.map +1 -1
  276. package/dist/components.css +1 -1
  277. package/dist/components.d.cts +30 -30
  278. package/dist/components.d.ts +30 -30
  279. package/dist/components.js +13 -12
  280. package/dist/components.js.map +1 -1
  281. package/dist/components.umd.js +5 -5
  282. package/dist/components.umd.js.map +1 -1
  283. package/dist/element.cjs +4 -4
  284. package/dist/element.cjs.map +1 -1
  285. package/dist/element.d.cts +5 -5
  286. package/dist/element.d.ts +5 -5
  287. package/dist/element.js +4 -4
  288. package/dist/element.js.map +1 -1
  289. package/dist/element.umd.js.map +1 -1
  290. package/dist/index.cjs +10 -10
  291. package/dist/index.cjs.map +1 -1
  292. package/dist/index.d.cts +9 -9
  293. package/dist/index.d.ts +9 -9
  294. package/dist/index.js +11 -11
  295. package/dist/index.js.map +1 -1
  296. package/dist/index.umd.js +3 -3
  297. package/dist/index.umd.js.map +1 -1
  298. package/dist/presets/extended.cjs +3 -3
  299. package/dist/presets/extended.cjs.map +1 -1
  300. package/dist/presets/extended.d.cts +3 -3
  301. package/dist/presets/extended.d.ts +3 -3
  302. package/dist/presets/extended.js +3 -3
  303. package/dist/presets/extended.js.map +1 -1
  304. package/dist/presets-extended.umd.js.map +1 -1
  305. package/dist/react.cjs +4 -4
  306. package/dist/react.cjs.map +1 -1
  307. package/dist/react.d.cts +5 -5
  308. package/dist/react.d.ts +5 -5
  309. package/dist/react.js +4 -4
  310. package/dist/react.js.map +1 -1
  311. package/dist/solid.cjs +5 -5
  312. package/dist/solid.cjs.map +1 -1
  313. package/dist/solid.d.cts +6 -6
  314. package/dist/solid.d.ts +6 -6
  315. package/dist/solid.js +5 -5
  316. package/dist/solid.js.map +1 -1
  317. package/dist/svelte.cjs +5 -5
  318. package/dist/svelte.cjs.map +1 -1
  319. package/dist/svelte.d.cts +6 -6
  320. package/dist/svelte.d.ts +6 -6
  321. package/dist/svelte.js +5 -5
  322. package/dist/svelte.js.map +1 -1
  323. package/dist/vue.cjs +4 -4
  324. package/dist/vue.cjs.map +1 -1
  325. package/dist/vue.d.cts +5 -5
  326. package/dist/vue.d.ts +5 -5
  327. package/dist/vue.js +4 -4
  328. package/dist/vue.js.map +1 -1
  329. package/dist/widgets.umd.js +2 -0
  330. package/dist/widgets.umd.js.map +1 -0
  331. package/docs/API.md +13 -13
  332. package/docs/ROADMAP.md +11 -12
  333. package/docs/accessibility.md +2 -2
  334. package/docs/components.md +62 -33
  335. package/docs/frameworks-ssr.md +12 -12
  336. package/docs/hybrid-apps.md +10 -10
  337. package/docs/migration-from-aos.md +5 -5
  338. package/docs/migration-from-gsap-scrolltrigger.md +3 -3
  339. package/docs/motion-tokens.css +1 -1
  340. package/docs/motion-tokens.md +2 -2
  341. package/docs/performance.md +6 -6
  342. package/docs/presets.md +5 -5
  343. package/docs/windows-apps.md +8 -8
  344. package/package.json +56 -25
  345. package/dist/chunks/base-B5i8qQPR.cjs.map +0 -1
  346. package/dist/chunks/base-C3Sw9sAO.js.map +0 -1
  347. package/dist/chunks/core-BVQW34aX.js.map +0 -1
  348. package/dist/chunks/core-BYLtO0Po.cjs.map +0 -1
  349. package/dist/chunks/presets-BJ09NeTo.js.map +0 -1
  350. package/dist/chunks/presets-D2ksQNzJ.cjs.map +0 -1
  351. package/dist/chunks/stagger-CvhYlKrF.cjs.map +0 -1
  352. package/dist/chunks/stagger-Dh4V-OL0.js.map +0 -1
@@ -330,7 +330,7 @@ declare function bumpCount(el: HTMLElement, delta: number, ctx?: EffectContext):
330
330
  declare const MICRO_FX: EffectDefinition[];
331
331
 
332
332
  /**
333
- * use-scroll-animate/components/tokens — motion design tokens (4.2).
333
+ * motionary/components/tokens — motion design tokens (4.2).
334
334
  *
335
335
  * One source of truth for durations, easings and springs: as CSS custom
336
336
  * properties (`--usa-duration-fast`, `--usa-easing-emphasized`,
@@ -338,7 +338,7 @@ declare const MICRO_FX: EffectDefinition[];
338
338
  * from Figma Tokens (Tokens Studio) or Style Dictionary exports.
339
339
  *
340
340
  * ```ts
341
- * import { applyMotionTokens, importMotionTokens, motionToken } from 'use-scroll-animate/components/tokens';
341
+ * import { applyMotionTokens, importMotionTokens, motionToken } from 'motionary/components/tokens';
342
342
  * applyMotionTokens(importMotionTokens(await (await fetch('/tokens.json')).json()));
343
343
  * el.animate(frames, { duration: motionToken('duration', 'slow'), easing: motionToken('easing', 'emphasized') });
344
344
  * ```
@@ -330,7 +330,7 @@ declare function bumpCount(el: HTMLElement, delta: number, ctx?: EffectContext):
330
330
  declare const MICRO_FX: EffectDefinition[];
331
331
 
332
332
  /**
333
- * use-scroll-animate/components/tokens — motion design tokens (4.2).
333
+ * motionary/components/tokens — motion design tokens (4.2).
334
334
  *
335
335
  * One source of truth for durations, easings and springs: as CSS custom
336
336
  * properties (`--usa-duration-fast`, `--usa-easing-emphasized`,
@@ -338,7 +338,7 @@ declare const MICRO_FX: EffectDefinition[];
338
338
  * from Figma Tokens (Tokens Studio) or Style Dictionary exports.
339
339
  *
340
340
  * ```ts
341
- * import { applyMotionTokens, importMotionTokens, motionToken } from 'use-scroll-animate/components/tokens';
341
+ * import { applyMotionTokens, importMotionTokens, motionToken } from 'motionary/components/tokens';
342
342
  * applyMotionTokens(importMotionTokens(await (await fetch('/tokens.json')).json()));
343
343
  * el.animate(frames, { duration: motionToken('duration', 'slow'), easing: motionToken('easing', 'emphasized') });
344
344
  * ```
@@ -1,56 +1,11 @@
1
- import { playEffect, bindEffect, registerBuiltinEffects, registerEffects } from './fx.js';
2
- import { x as defineElement, p as prefersReducedMotion, u as adoptStyles } from '../chunks/base-C3Sw9sAO.js';
1
+ import { registerBuiltinEffects } from './fx.js';
2
+ import { P as PALETTE, b as overlay, a as all, o as origin, s as spawn, r as rand, c as canvasBackground, h as hexRgb, f as fxLayer, G as GENERATIVE_FX } from '../chunks/generative-D2YyhaeO.js';
3
+ export { n as noise2 } from '../chunks/generative-D2YyhaeO.js';
4
+ import { x as defineElement, p as prefersReducedMotion, u as adoptStyles } from '../chunks/base-C_3cAoRz.js';
5
+ import { p as playEffect, b as bindEffect, c as registerEffects } from '../chunks/registry-CKNLQpwd.js';
3
6
  import { applyMotionTokens, motionTokensToVars, mergeMotionTokens } from './tokens.js';
4
- import { T as TIMELINE_PRESETS } from '../chunks/core-DN3hHbHh.js';
5
- import '../chunks/fx-ChjxrMBo.js';
6
-
7
- let layer = null;
8
- /** A fixed, pointer-transparent, aria-hidden layer for transient particles. */
9
- function fxLayer() {
10
- if (layer?.isConnected)
11
- return layer;
12
- layer = document.createElement('div');
13
- layer.setAttribute('aria-hidden', 'true');
14
- layer.setAttribute('data-usa-fx-layer', '');
15
- layer.style.cssText = 'position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:2147483000;contain:strict';
16
- document.body.appendChild(layer);
17
- return layer;
18
- }
19
- /** Client point of the triggering pointer event, or the element's center. */
20
- function origin(el, ctx) {
21
- const e = ctx.event;
22
- const r = el.getBoundingClientRect();
23
- return e && typeof e.clientX === 'number' && (e.clientX || e.clientY) ? { x: e.clientX, y: e.clientY } : { x: r.left + r.width / 2, y: r.top + r.height / 2 };
24
- }
25
- /** Spawn an absolutely positioned node in the fx layer at (x, y); removed when its animation ends. */
26
- function spawn(x, y, css, ctx, frames, opts, text = '') {
27
- const n = document.createElement('span');
28
- n.style.cssText = `position:absolute;left:${x}px;top:${y}px;${css}`;
29
- if (text)
30
- n.textContent = text;
31
- fxLayer().appendChild(n);
32
- const a = ctx.animate(n, frames, { fill: 'forwards', ...opts });
33
- const rm = () => n.remove();
34
- if (a)
35
- a.finished.then(rm, rm);
36
- else
37
- rm();
38
- return a;
39
- }
40
- /** An overlay child covering `el` (makes `el` a positioning context). Returns it and a remover. */
41
- function overlay(el, css) {
42
- const o = document.createElement('span');
43
- o.setAttribute('aria-hidden', 'true');
44
- o.style.cssText = `position:absolute;inset:0;pointer-events:none;border-radius:inherit;${css}`;
45
- if (getComputedStyle(el).position === 'static')
46
- el.style.position = 'relative';
47
- el.appendChild(o);
48
- return [o, () => o.remove()];
49
- }
50
- const PALETTE = ['#7c5cff', '#ff5c8a', '#22d3ee', '#facc15', '#34d399'];
51
- const rand = (a, b) => a + Math.random() * (b - a);
52
- /** Wait for all animations (ignoring nulls). */
53
- const all = (anims) => Promise.all(anims.filter(Boolean).map((a) => a.finished.catch(() => undefined)));
7
+ import { T as TIMELINE_PRESETS } from '../chunks/core-VEBw36QK.js';
8
+ import '../chunks/fx-Bs6IrV4Q.js';
54
9
 
55
10
  const CARD_FX = [
56
11
  {
@@ -827,292 +782,6 @@ function defineStory(tag = 'usa-story') {
827
782
  }, { id: 'usa-story', text: CSS });
828
783
  }
829
784
 
830
- /** Deterministic smooth pseudo-noise in [-1, 1] (sum of sines — cheap, no tables). */
831
- function noise2(x, y, t = 0) {
832
- return (Math.sin(x * 1.7 + t) * Math.cos(y * 1.3 - t * 0.7) + Math.sin((x + y) * 0.9 + t * 0.5) * 0.5 + Math.cos(x * 0.6 - y * 1.1 - t * 0.3) * 0.5) / 2;
833
- }
834
- /** Hex `#rrggbb` → [r, g, b]. */
835
- function hexRgb(hex) {
836
- const m = /^#?([\da-f]{2})([\da-f]{2})([\da-f]{2})$/i.exec(hex.trim());
837
- return m ? [parseInt(m[1], 16), parseInt(m[2], 16), parseInt(m[3], 16)] : [124, 92, 255];
838
- }
839
- /**
840
- * Mount a generative canvas behind `el` and run `spec` on it. Returns the
841
- * cleanup. Exposed for custom generative effects.
842
- */
843
- function canvasBackground(el, fx, spec, o) {
844
- const canvas = document.createElement('canvas');
845
- canvas.setAttribute('aria-hidden', 'true');
846
- canvas.setAttribute('data-usa-fx-canvas', '');
847
- canvas.style.cssText = 'position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1;border-radius:inherit';
848
- const restore = [];
849
- const set = (k, v) => {
850
- restore.push([k, el.style[k]]);
851
- el.style[k] = v;
852
- };
853
- if (getComputedStyle(el).position === 'static')
854
- set('position', 'relative');
855
- set('isolation', 'isolate');
856
- el.prepend(canvas);
857
- const ctx = canvas.getContext('2d');
858
- let raf = 0;
859
- let visible = true;
860
- let quality = Math.min(1, Math.max(0.35, Number(o.quality) || 1));
861
- let w = 0;
862
- let h = 0;
863
- let state = null;
864
- const t0 = performance.now();
865
- let last = t0;
866
- let slow = 0;
867
- let fast = 0;
868
- const resize = () => {
869
- const r = el.getBoundingClientRect();
870
- w = Math.max(1, Math.round(r.width));
871
- h = Math.max(1, Math.round(r.height));
872
- const dpr = Math.min(2, (typeof devicePixelRatio === 'number' ? devicePixelRatio : 1) || 1) * quality;
873
- canvas.width = Math.max(1, Math.round(w * dpr));
874
- canvas.height = Math.max(1, Math.round(h * dpr));
875
- if (ctx)
876
- ctx.setTransform(dpr, 0, 0, dpr, 0, 0);
877
- state = spec.init ? spec.init(w, h, o) : {};
878
- };
879
- const frame = (now) => {
880
- raf = 0;
881
- if (!ctx)
882
- return;
883
- const dt = now - last;
884
- last = now;
885
- // adaptive quality: sustained slow frames lower the render scale, fast ones raise it
886
- if (dt > 28)
887
- slow++;
888
- else if (dt < 18)
889
- fast++;
890
- if (slow > 20 && quality > 0.35) {
891
- quality = Math.max(0.35, quality - 0.15);
892
- slow = fast = 0;
893
- resize();
894
- }
895
- else if (fast > 240 && quality < 1) {
896
- quality = Math.min(1, quality + 0.15);
897
- slow = fast = 0;
898
- resize();
899
- }
900
- spec.draw({ ctx, w, h, t: (now - t0) / 1000, quality, state, o });
901
- if (visible && !document.hidden)
902
- raf = requestAnimationFrame(frame);
903
- };
904
- const start = () => {
905
- if (!raf && ctx && !fx.reduced) {
906
- last = performance.now();
907
- raf = requestAnimationFrame(frame);
908
- }
909
- };
910
- resize();
911
- if (ctx)
912
- spec.draw({ ctx, w, h, t: 0, quality, state, o }); // first / static frame
913
- const io = typeof IntersectionObserver === 'function' ? new IntersectionObserver((es) => {
914
- visible = es.some((e) => e.isIntersecting);
915
- if (visible)
916
- start();
917
- }) : null;
918
- io?.observe(el);
919
- const ro = typeof ResizeObserver === 'function' ? new ResizeObserver(() => {
920
- resize();
921
- if (ctx && fx.reduced)
922
- spec.draw({ ctx, w, h, t: 0, quality, state, o });
923
- }) : null;
924
- ro?.observe(el);
925
- const vis = () => !document.hidden && visible && start();
926
- document.addEventListener('visibilitychange', vis);
927
- start();
928
- return () => {
929
- cancelAnimationFrame(raf);
930
- raf = 0;
931
- io?.disconnect();
932
- ro?.disconnect();
933
- document.removeEventListener('visibilitychange', vis);
934
- canvas.remove();
935
- for (const [k, v] of restore)
936
- el.style[k] = v;
937
- };
938
- }
939
- const gen = (name, description, defaults, spec) => ({
940
- name,
941
- kind: 'background',
942
- description,
943
- reduced: 'run',
944
- defaults: { colors: PALETTE, background: '#0b0d12', speed: 1, quality: 1, ...defaults },
945
- run: (el, o, ctx) => canvasBackground(el, ctx, spec, o),
946
- });
947
- /** Low-resolution scalar field → ImageData, drawn scaled up (used by voronoi / metaballs / contours). */
948
- function field(f, cell, px) {
949
- const step = Math.max(2, Math.round(cell / f.quality));
950
- const cw = Math.max(1, Math.ceil(f.w / step));
951
- const ch = Math.max(1, Math.ceil(f.h / step));
952
- const st = f.state;
953
- if (!st.buf || st.buf.width !== cw || st.buf.height !== ch) {
954
- st.buf = document.createElement('canvas');
955
- st.buf.width = cw;
956
- st.buf.height = ch;
957
- st.bctx = st.buf.getContext('2d');
958
- st.img = st.bctx?.createImageData(cw, ch);
959
- }
960
- if (!st.bctx || !st.img)
961
- return;
962
- const d = st.img.data;
963
- for (let y = 0; y < ch; y++)
964
- for (let x = 0; x < cw; x++)
965
- px(x * step, y * step, d, (y * cw + x) * 4);
966
- st.bctx.putImageData(st.img, 0, 0);
967
- f.ctx.imageSmoothingEnabled = true;
968
- f.ctx.drawImage(st.buf, 0, 0, f.w, f.h);
969
- }
970
- const GENERATIVE_FX = [
971
- gen('flow-field', 'Particles drift along a slowly changing flow field, leaving silky trails.', { count: 600, fade: 0.06 }, {
972
- init: (w, h, o) => ({ p: Array.from({ length: o.count }, () => [Math.random() * w, Math.random() * h]) }),
973
- draw: ({ ctx, w, h, t, state, o, quality }) => {
974
- ctx.fillStyle = o.background;
975
- ctx.globalAlpha = t === 0 ? 1 : o.fade;
976
- ctx.fillRect(0, 0, w, h);
977
- ctx.globalAlpha = 0.8;
978
- const n = Math.round(state.p.length * quality);
979
- const steps = t === 0 ? 40 : 1;
980
- for (let i = 0; i < n; i++) {
981
- const q = state.p[i];
982
- ctx.fillStyle = o.colors[i % o.colors.length];
983
- for (let s = 0; s < steps; s++) {
984
- const a = noise2(q[0] * 0.004, q[1] * 0.004, t * 0.15 * o.speed) * Math.PI * 2;
985
- q[0] += Math.cos(a) * 1.2 * o.speed;
986
- q[1] += Math.sin(a) * 1.2 * o.speed;
987
- if (q[0] < 0 || q[0] > w || q[1] < 0 || q[1] > h)
988
- (q[0] = Math.random() * w), (q[1] = Math.random() * h);
989
- ctx.fillRect(q[0], q[1], 1.4, 1.4);
990
- }
991
- }
992
- ctx.globalAlpha = 1;
993
- },
994
- }),
995
- gen('voronoi', 'Drifting Voronoi cells in the palette, with darker borders.', { seeds: 14, cell: 6 }, {
996
- init: (w, h, o) => ({ s: Array.from({ length: o.seeds }, (_, i) => ({ x: Math.random() * w, y: Math.random() * h, vx: Math.random() - 0.5, vy: Math.random() - 0.5, c: hexRgb(o.colors[i % o.colors.length]) })) }),
997
- draw: (f) => {
998
- const { w, h, state, o } = f;
999
- for (const s of state.s) {
1000
- s.x += s.vx * o.speed;
1001
- s.y += s.vy * o.speed;
1002
- if (s.x < 0 || s.x > w)
1003
- s.vx *= -1;
1004
- if (s.y < 0 || s.y > h)
1005
- s.vy *= -1;
1006
- }
1007
- field(f, o.cell, (x, y, d, i) => {
1008
- let b = Infinity;
1009
- let b2 = Infinity;
1010
- let c = state.s[0].c;
1011
- for (const s of state.s) {
1012
- const dd = (s.x - x) ** 2 + (s.y - y) ** 2;
1013
- if (dd < b)
1014
- (b2 = b), (b = dd), (c = s.c);
1015
- else if (dd < b2)
1016
- b2 = dd;
1017
- }
1018
- const edge = Math.sqrt(b2) - Math.sqrt(b) < 6 ? 0.55 : 1;
1019
- d[i] = c[0] * edge;
1020
- d[i + 1] = c[1] * edge;
1021
- d[i + 2] = c[2] * edge;
1022
- d[i + 3] = 255;
1023
- });
1024
- },
1025
- }),
1026
- gen('mesh-gradient', 'Soft blobs of colour orbit and blend into a living mesh gradient.', { blobs: 4, blur: 0.65 }, {
1027
- draw: ({ ctx, w, h, t, o }) => {
1028
- ctx.fillStyle = o.background;
1029
- ctx.fillRect(0, 0, w, h);
1030
- const r = Math.max(w, h) * o.blur;
1031
- for (let i = 0; i < o.blobs; i++) {
1032
- const a = t * 0.25 * o.speed + (i * Math.PI * 2) / o.blobs;
1033
- const x = w / 2 + Math.cos(a * (1 + i * 0.13)) * w * 0.32;
1034
- const y = h / 2 + Math.sin(a * (0.8 + i * 0.11)) * h * 0.32;
1035
- const [cr, cg, cb] = hexRgb(o.colors[i % o.colors.length]);
1036
- const g = ctx.createRadialGradient(x, y, 0, x, y, r);
1037
- g.addColorStop(0, `rgba(${cr},${cg},${cb},0.7)`);
1038
- g.addColorStop(1, `rgba(${cr},${cg},${cb},0)`);
1039
- ctx.fillStyle = g;
1040
- ctx.fillRect(0, 0, w, h);
1041
- }
1042
- },
1043
- }),
1044
- gen('starfield', 'Stars stream toward the viewer (warp speed with `speed: 4`).', { stars: 400, color: '#ffffff' }, {
1045
- init: (_w, _h, o) => ({ s: Array.from({ length: o.stars }, () => [Math.random() * 2 - 1, Math.random() * 2 - 1, Math.random()]) }),
1046
- draw: ({ ctx, w, h, t, state, o, quality }) => {
1047
- ctx.fillStyle = o.background;
1048
- ctx.fillRect(0, 0, w, h);
1049
- ctx.fillStyle = o.color;
1050
- const n = Math.round(state.s.length * quality);
1051
- for (let i = 0; i < n; i++) {
1052
- const s = state.s[i];
1053
- if (t > 0)
1054
- s[2] -= 0.004 * o.speed;
1055
- if (s[2] <= 0.01)
1056
- (s[0] = Math.random() * 2 - 1), (s[1] = Math.random() * 2 - 1), (s[2] = 1);
1057
- const x = w / 2 + (s[0] / s[2]) * w * 0.5;
1058
- const y = h / 2 + (s[1] / s[2]) * h * 0.5;
1059
- if (x < 0 || x > w || y < 0 || y > h)
1060
- continue;
1061
- const size = (1 - s[2]) * 2.6;
1062
- ctx.globalAlpha = Math.min(1, (1 - s[2]) * 1.6);
1063
- ctx.fillRect(x, y, size, size);
1064
- }
1065
- ctx.globalAlpha = 1;
1066
- },
1067
- }),
1068
- gen('metaballs', 'Gooey blobs that merge and split (low-resolution field, scaled up).', { balls: 6, cell: 5, threshold: 1 }, {
1069
- init: (w, h, o) => ({ b: Array.from({ length: o.balls }, () => ({ x: Math.random() * w, y: Math.random() * h, vx: (Math.random() - 0.5) * 1.6, vy: (Math.random() - 0.5) * 1.6, r: Math.min(w, h) * (0.08 + Math.random() * 0.08) })) }),
1070
- draw: (f) => {
1071
- const { w, h, state, o } = f;
1072
- for (const b of state.b) {
1073
- b.x += b.vx * o.speed;
1074
- b.y += b.vy * o.speed;
1075
- if (b.x < 0 || b.x > w)
1076
- b.vx *= -1;
1077
- if (b.y < 0 || b.y > h)
1078
- b.vy *= -1;
1079
- }
1080
- const [ar, ag, ab] = hexRgb(o.colors[0]);
1081
- const [br, bg, bb] = hexRgb(o.colors[1] || o.colors[0]);
1082
- const [kr, kg, kb] = hexRgb(o.background);
1083
- field(f, o.cell, (x, y, d, i) => {
1084
- let v = 0;
1085
- for (const b of state.b)
1086
- v += (b.r * b.r) / ((b.x - x) ** 2 + (b.y - y) ** 2 + 1);
1087
- const inside = v >= o.threshold;
1088
- const k = Math.min(1, (v - o.threshold) * 0.8);
1089
- d[i] = inside ? ar + (br - ar) * k : kr;
1090
- d[i + 1] = inside ? ag + (bg - ag) * k : kg;
1091
- d[i + 2] = inside ? ab + (bb - ab) * k : kb;
1092
- d[i + 3] = 255;
1093
- });
1094
- },
1095
- }),
1096
- gen('contours', 'Topographic contour lines over a slowly shifting height field.', { levels: 9, cell: 4, color: '#7c5cff' }, {
1097
- draw: (f) => {
1098
- const { t, o } = f;
1099
- const [lr, lg, lb] = hexRgb(o.color);
1100
- const [kr, kg, kb] = hexRgb(o.background);
1101
- const z = (x, y) => (noise2(x * 0.006, y * 0.006, t * 0.2 * o.speed) + 1) / 2;
1102
- const step = Math.max(2, Math.round(o.cell / f.quality));
1103
- field(f, o.cell, (x, y, d, i) => {
1104
- const a = Math.floor(z(x, y) * o.levels);
1105
- const line = a !== Math.floor(z(x + step, y) * o.levels) || a !== Math.floor(z(x, y + step) * o.levels);
1106
- const shade = 0.12 + (a / o.levels) * 0.18;
1107
- d[i] = line ? lr : kr + (lr - kr) * shade;
1108
- d[i + 1] = line ? lg : kg + (lg - kg) * shade;
1109
- d[i + 2] = line ? lb : kb + (lb - kb) * shade;
1110
- d[i + 3] = 255;
1111
- });
1112
- },
1113
- }),
1114
- ];
1115
-
1116
785
  let actx = null;
1117
786
  let current = null;
1118
787
  const mediaSources = new WeakMap();
@@ -1121,7 +790,7 @@ const getAudio = () => current;
1121
790
  function audioContext() {
1122
791
  const AC = globalThis.AudioContext || globalThis.webkitAudioContext;
1123
792
  if (!AC)
1124
- throw new Error('[use-scroll-animate] Web Audio is not available');
793
+ throw new Error('[motionary] Web Audio is not available');
1125
794
  if (!actx || actx.state === 'closed')
1126
795
  actx = new AC();
1127
796
  return actx;
@@ -1178,7 +847,7 @@ async function enableAudio(input = 'mic', opts = {}) {
1178
847
  src.connect(analyser);
1179
848
  }
1180
849
  else
1181
- throw new Error(`[use-scroll-animate] enableAudio: no audio source for ${String(input)}`);
850
+ throw new Error(`[motionary] enableAudio: no audio source for ${String(input)}`);
1182
851
  const freq = new Uint8Array(analyser.frequencyBinCount);
1183
852
  const wave = new Uint8Array(analyser.fftSize);
1184
853
  const self = {
@@ -2026,7 +1695,7 @@ const BASE_CSS = `[data-usa-theme]{background:var(--usa-theme-bg);color:var(--us
2026
1695
  const pack = (t) => {
2027
1696
  const p = typeof t === 'string' ? THEMES[t] : t;
2028
1697
  if (!p)
2029
- throw new Error(`[use-scroll-animate] unknown theme "${String(t)}" — ${THEME_NAMES.join(', ')}`);
1698
+ throw new Error(`[motionary] unknown theme "${String(t)}" — ${THEME_NAMES.join(', ')}`);
2030
1699
  return p;
2031
1700
  };
2032
1701
  /** The CSS custom properties of a theme (design + motion tokens). */
@@ -2201,18 +1870,18 @@ function decodePlayground(state) {
2201
1870
  function normalizeAnimation(input) {
2202
1871
  const d = typeof input === 'string' ? JSON.parse(input) : input;
2203
1872
  if (!d || typeof d !== 'object')
2204
- throw new Error('[use-scroll-animate] animation: expected an object');
1873
+ throw new Error('[motionary] animation: expected an object');
2205
1874
  let tracks;
2206
1875
  if (d.format === 'use-scroll-animate/playground')
2207
1876
  tracks = decodePlayground(String(d.state || ''));
2208
1877
  else if (Array.isArray(d.tracks))
2209
1878
  tracks = d.tracks;
2210
1879
  else
2211
- throw new Error('[use-scroll-animate] animation: missing "tracks"');
1880
+ throw new Error('[motionary] animation: missing "tracks"');
2212
1881
  if (d.format && d.format !== ANIMATION_FORMAT && d.format !== 'use-scroll-animate/playground')
2213
- throw new Error(`[use-scroll-animate] animation: unknown format "${d.format}"`);
1882
+ throw new Error(`[motionary] animation: unknown format "${d.format}"`);
2214
1883
  if (d.version && d.version > 1 && d.format === ANIMATION_FORMAT)
2215
- throw new Error(`[use-scroll-animate] animation: version ${d.version} needs a newer use-scroll-animate`);
1884
+ throw new Error(`[motionary] animation: version ${d.version} needs a newer motionary`);
2216
1885
  const out = tracks
2217
1886
  .filter((t) => t && (t.effect || t.preset || Array.isArray(t.keyframes)))
2218
1887
  .map((t) => ({ ...t, target: t.target || ':scope', start: Math.max(0, Number(t.start) || 0), duration: t.effect ? 0 : Math.max(1, Number(t.duration) || 600) }));
@@ -2461,14 +2130,14 @@ function definePlayer(tag = 'usa-player') {
2461
2130
  }
2462
2131
 
2463
2132
  /**
2464
- * use-scroll-animate/components/effects — the 5.x effect packs, all
2133
+ * motionary/components/effects — the 5.x effect packs, all
2465
2134
  * registered through `registerEffect()` (5.0) and playable with
2466
2135
  * `playEffect()`, `bindEffect()` or `<usa-fx>`. Kept out of
2467
- * `use-scroll-animate/components` / `components/lite` so their size budgets
2136
+ * `motionary/components` / `components/lite` so their size budgets
2468
2137
  * hold; the UMD bundle registers everything.
2469
2138
  *
2470
2139
  * ```ts
2471
- * import { registerAllEffects } from 'use-scroll-animate/components/effects';
2140
+ * import { registerAllEffects } from 'motionary/components/effects';
2472
2141
  * registerAllEffects();
2473
2142
  * ```
2474
2143
  */
@@ -2527,5 +2196,5 @@ function registerAllEffects() {
2527
2196
  registerEffects(defs);
2528
2197
  }
2529
2198
 
2530
- export { ANIMATION_FORMAT, AUDIO_FX, CARD_FX, CLICK_FX, CURSOR_FX, EFFECT_PACKS, GENERATIVE_FX, GESTURES, MICRO_FX, PAGE_FX, PHYSICS_FX, STORY_TEMPLATES, THEMES, THEME_FX, THEME_NAMES, THEME_ROLES, angleDelta, applyTheme, bindBeat, bindGesture, bounceKeyframes, bumpCount, canvasBackground, createBeatDetector, createPlayer, defineAudio, defineEffectElements, defineGestureFx, definePlayer, defineStory, defineTheme, disableAudio, enableAudio, flingVelocity, formatCount, fxLayer, getAudio, hexRgb, noise2, normalizeAnimation, onBeat, playThemeEffect, registerAllEffects, registerAudioEffects, registerCardClickEffects, registerCursorEffects, registerGenerativeEffects, registerMicroEffects, registerPageEffects, registerPhysicsEffects, solveSpring, springKeyframes, storyProgress, swapLabel, themeCss, themePreset, themeVars, togglePressed };
2199
+ export { ANIMATION_FORMAT, AUDIO_FX, CARD_FX, CLICK_FX, CURSOR_FX, EFFECT_PACKS, GENERATIVE_FX, GESTURES, MICRO_FX, PAGE_FX, PHYSICS_FX, STORY_TEMPLATES, THEMES, THEME_FX, THEME_NAMES, THEME_ROLES, angleDelta, applyTheme, bindBeat, bindGesture, bounceKeyframes, bumpCount, canvasBackground, createBeatDetector, createPlayer, defineAudio, defineEffectElements, defineGestureFx, definePlayer, defineStory, defineTheme, disableAudio, enableAudio, flingVelocity, formatCount, fxLayer, getAudio, hexRgb, normalizeAnimation, onBeat, playThemeEffect, registerAllEffects, registerAudioEffects, registerCardClickEffects, registerCursorEffects, registerGenerativeEffects, registerMicroEffects, registerPageEffects, registerPhysicsEffects, solveSpring, springKeyframes, storyProgress, swapLabel, themeCss, themePreset, themeVars, togglePressed };
2531
2200
  //# sourceMappingURL=effects.js.map