use-scroll-animate 10.2.0 → 10.4.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 (403) hide show
  1. package/AGENTS.md +4 -0
  2. package/CHANGELOG.md +35 -0
  3. package/README.md +67 -0
  4. package/bin/motionary-mcp.mjs +265 -0
  5. package/dist/chunks/anim-image-DDdb9q3X.js +166 -0
  6. package/dist/chunks/anim-image-DDdb9q3X.js.map +1 -0
  7. package/dist/chunks/anim-image-blQgPFFS.cjs +174 -0
  8. package/dist/chunks/anim-image-blQgPFFS.cjs.map +1 -0
  9. package/dist/chunks/audio-BpU-A1m1.cjs.map +1 -1
  10. package/dist/chunks/{audio-D95jwlOh.js → audio-CWt1xdZB.js} +3 -3
  11. package/dist/chunks/{audio-D95jwlOh.js.map → audio-CWt1xdZB.js.map} +1 -1
  12. package/dist/chunks/{base-BnRyfuyM.js → base-BTev8qxg.js} +2 -2
  13. package/dist/chunks/{base-BnRyfuyM.js.map → base-BTev8qxg.js.map} +1 -1
  14. package/dist/chunks/base-DBheNxJu.cjs.map +1 -1
  15. package/dist/chunks/bind-B_CTL6Qn.js.map +1 -1
  16. package/dist/chunks/bind-Ui43-n2d.cjs.map +1 -1
  17. package/dist/chunks/builtins-CKKZNR95.cjs.map +1 -1
  18. package/dist/chunks/{builtins-CqIq1zBv.js → builtins-CPmS6aDB.js} +3 -3
  19. package/dist/chunks/{builtins-CqIq1zBv.js.map → builtins-CPmS6aDB.js.map} +1 -1
  20. package/dist/chunks/core-B5T0dhFH.cjs.map +1 -1
  21. package/dist/chunks/{core-DsGoL9EY.js → core-BviA7nFa.js} +2 -2
  22. package/dist/chunks/{core-DsGoL9EY.js.map → core-BviA7nFa.js.map} +1 -1
  23. package/dist/chunks/core-D74Fz-dL.cjs.map +1 -1
  24. package/dist/chunks/core-D7cVumUu.js.map +1 -1
  25. package/dist/chunks/{core-XA2yhn1b.js → core-KiM7MXjL.js} +2 -2
  26. package/dist/chunks/{core-XA2yhn1b.js.map → core-KiM7MXjL.js.map} +1 -1
  27. package/dist/chunks/core-MQlXZKUG.cjs.map +1 -1
  28. package/dist/chunks/ease-HwYZnZat.cjs +94 -0
  29. package/dist/chunks/ease-HwYZnZat.cjs.map +1 -0
  30. package/dist/chunks/ease-XN8_0sXu.js +89 -0
  31. package/dist/chunks/ease-XN8_0sXu.js.map +1 -0
  32. package/dist/chunks/fx-B_pbhpDp.cjs.map +1 -1
  33. package/dist/chunks/{fx-CtnrFEg9.js → fx-CgWKqVsn.js} +2 -2
  34. package/dist/chunks/{fx-CtnrFEg9.js.map → fx-CgWKqVsn.js.map} +1 -1
  35. package/dist/chunks/generative-2LhxG5BJ.js.map +1 -1
  36. package/dist/chunks/generative-BHIj-NU0.cjs.map +1 -1
  37. package/dist/chunks/{gpu-CDcXiNA8.js → gpu-BWfgYWMY.js} +2 -2
  38. package/dist/chunks/{gpu-CDcXiNA8.js.map → gpu-BWfgYWMY.js.map} +1 -1
  39. package/dist/chunks/gpu-cUixt7kT.cjs.map +1 -1
  40. package/dist/chunks/index-tags-B-JBecYg.js.map +1 -1
  41. package/dist/chunks/index-tags-hLIF2Clq.cjs.map +1 -1
  42. package/dist/chunks/{keyframes-W-474DMc.js → keyframes-B5PWe5bU.js} +3 -2
  43. package/dist/chunks/keyframes-B5PWe5bU.js.map +1 -0
  44. package/dist/chunks/{keyframes-ZheOkpt0.cjs → keyframes-tC3I7anQ.cjs} +4 -3
  45. package/dist/chunks/keyframes-tC3I7anQ.cjs.map +1 -0
  46. package/dist/chunks/{manifest-D58HXVY-.js → manifest-BHx5yPN6.js} +2 -2
  47. package/dist/chunks/{manifest-D58HXVY-.js.map → manifest-BHx5yPN6.js.map} +1 -1
  48. package/dist/chunks/manifest-PaF9B8Vt.cjs.map +1 -1
  49. package/dist/chunks/{player-48Zy_NBG.js → player-BfHMNtiM.js} +4 -4
  50. package/dist/chunks/{player-48Zy_NBG.js.map → player-BfHMNtiM.js.map} +1 -1
  51. package/dist/chunks/player-C4y4jXSv.cjs.map +1 -1
  52. package/dist/chunks/presets-BYBVJVeP.js.map +1 -1
  53. package/dist/chunks/presets-CUHys3sK.cjs.map +1 -1
  54. package/dist/chunks/{registry-gFJRpPES.js → registry-BKzyg1JV.js} +2 -2
  55. package/dist/chunks/{registry-gFJRpPES.js.map → registry-BKzyg1JV.js.map} +1 -1
  56. package/dist/chunks/{registry-BIEjKngP.js → registry-CT-TT_bx.js} +3 -3
  57. package/dist/chunks/{registry-BIEjKngP.js.map → registry-CT-TT_bx.js.map} +1 -1
  58. package/dist/chunks/{registry-eJgpFAzI.cjs → registry-tzwKkldE.cjs} +2 -2
  59. package/dist/chunks/{registry-eJgpFAzI.cjs.map → registry-tzwKkldE.cjs.map} +1 -1
  60. package/dist/chunks/registry-xQZnSqqV.cjs.map +1 -1
  61. package/dist/chunks/shared-CkKHWrtJ.js.map +1 -1
  62. package/dist/chunks/shared-jkgRH-Hx.cjs.map +1 -1
  63. package/dist/chunks/{spring-CZDNyqWp.js → spring-BHuP55DR.js} +2 -2
  64. package/dist/chunks/{spring-CZDNyqWp.js.map → spring-BHuP55DR.js.map} +1 -1
  65. package/dist/chunks/spring-BlTQD2AV.cjs.map +1 -1
  66. package/dist/chunks/stagger-CCFyhzSw.cjs.map +1 -1
  67. package/dist/chunks/stagger-DtMKo2SK.js.map +1 -1
  68. package/dist/chunks/{ticker-CM_56oVy.js → ticker-C8lSGml9.js} +2 -2
  69. package/dist/chunks/{ticker-CM_56oVy.js.map → ticker-C8lSGml9.js.map} +1 -1
  70. package/dist/chunks/{ticker-D4o6enH0.cjs → ticker-Un0bvTWR.cjs} +2 -2
  71. package/dist/chunks/{ticker-D4o6enH0.cjs.map → ticker-Un0bvTWR.cjs.map} +1 -1
  72. package/dist/chunks/{tween-CqX1JBuj.js → tween-BcejKpsx.js} +15 -91
  73. package/dist/chunks/tween-BcejKpsx.js.map +1 -0
  74. package/dist/chunks/{tween-CBuWYpI-.cjs → tween-CwLLC3Ko.cjs} +15 -95
  75. package/dist/chunks/tween-CwLLC3Ko.cjs.map +1 -0
  76. package/dist/chunks/variants-CrDDJoYK.cjs.map +1 -1
  77. package/dist/chunks/{variants-GU3yIL4F.js → variants-CsRGUIyA.js} +2 -2
  78. package/dist/chunks/{variants-GU3yIL4F.js.map → variants-CsRGUIyA.js.map} +1 -1
  79. package/dist/components/a11y.cjs.map +1 -1
  80. package/dist/components/a11y.js +2 -2
  81. package/dist/components/a11y.js.map +1 -1
  82. package/dist/components/angular.cjs.map +1 -1
  83. package/dist/components/angular.js +8 -8
  84. package/dist/components/angular.js.map +1 -1
  85. package/dist/components/background.cjs.map +1 -1
  86. package/dist/components/background.js +2 -2
  87. package/dist/components/background.js.map +1 -1
  88. package/dist/components/bridge.cjs.map +1 -1
  89. package/dist/components/bridge.js +1 -1
  90. package/dist/components/bridge.js.map +1 -1
  91. package/dist/components/cards.cjs.map +1 -1
  92. package/dist/components/cards.js +2 -2
  93. package/dist/components/cards.js.map +1 -1
  94. package/dist/components/click.cjs.map +1 -1
  95. package/dist/components/click.js +3 -3
  96. package/dist/components/click.js.map +1 -1
  97. package/dist/components/core.cjs.map +1 -1
  98. package/dist/components/core.js.map +1 -1
  99. package/dist/components/depth.cjs.map +1 -1
  100. package/dist/components/depth.js +3 -3
  101. package/dist/components/depth.js.map +1 -1
  102. package/dist/components/design.cjs.map +1 -1
  103. package/dist/components/design.js +3 -3
  104. package/dist/components/design.js.map +1 -1
  105. package/dist/components/dsl.cjs.map +1 -1
  106. package/dist/components/dsl.js +2 -2
  107. package/dist/components/dsl.js.map +1 -1
  108. package/dist/components/effects.cjs.map +1 -1
  109. package/dist/components/effects.js +9 -9
  110. package/dist/components/effects.js.map +1 -1
  111. package/dist/components/engine.cjs.map +1 -1
  112. package/dist/components/engine.js +2 -2
  113. package/dist/components/engine.js.map +1 -1
  114. package/dist/components/feedback.cjs.map +1 -1
  115. package/dist/components/feedback.js +1 -1
  116. package/dist/components/feedback.js.map +1 -1
  117. package/dist/components/fx-3d.cjs.map +1 -1
  118. package/dist/components/fx-3d.js +2 -2
  119. package/dist/components/fx-3d.js.map +1 -1
  120. package/dist/components/fx-ai.cjs.map +1 -1
  121. package/dist/components/fx-ai.js +2 -2
  122. package/dist/components/fx-ai.js.map +1 -1
  123. package/dist/components/fx-chart.cjs.map +1 -1
  124. package/dist/components/fx-chart.js +2 -2
  125. package/dist/components/fx-chart.js.map +1 -1
  126. package/dist/components/fx-cinema.cjs.map +1 -1
  127. package/dist/components/fx-cinema.js +2 -2
  128. package/dist/components/fx-cinema.js.map +1 -1
  129. package/dist/components/fx-cyber.cjs.map +1 -1
  130. package/dist/components/fx-cyber.js +2 -2
  131. package/dist/components/fx-cyber.js.map +1 -1
  132. package/dist/components/fx-festival.cjs.map +1 -1
  133. package/dist/components/fx-festival.js +2 -2
  134. package/dist/components/fx-festival.js.map +1 -1
  135. package/dist/components/fx-focus.cjs.map +1 -1
  136. package/dist/components/fx-focus.js +2 -2
  137. package/dist/components/fx-focus.js.map +1 -1
  138. package/dist/components/fx-form.cjs.map +1 -1
  139. package/dist/components/fx-form.js +2 -2
  140. package/dist/components/fx-form.js.map +1 -1
  141. package/dist/components/fx-game.cjs.map +1 -1
  142. package/dist/components/fx-game.js +2 -2
  143. package/dist/components/fx-game.js.map +1 -1
  144. package/dist/components/fx-genart.cjs.map +1 -1
  145. package/dist/components/fx-genart.js +2 -2
  146. package/dist/components/fx-genart.js.map +1 -1
  147. package/dist/components/fx-geo.cjs.map +1 -1
  148. package/dist/components/fx-geo.js +2 -2
  149. package/dist/components/fx-geo.js.map +1 -1
  150. package/dist/components/fx-gesture.cjs.map +1 -1
  151. package/dist/components/fx-gesture.js +2 -2
  152. package/dist/components/fx-gesture.js.map +1 -1
  153. package/dist/components/fx-gpu.js +3 -3
  154. package/dist/components/fx-light.cjs.map +1 -1
  155. package/dist/components/fx-light.js +2 -2
  156. package/dist/components/fx-light.js.map +1 -1
  157. package/dist/components/fx-lottie.cjs.map +1 -1
  158. package/dist/components/fx-lottie.js +2 -2
  159. package/dist/components/fx-lottie.js.map +1 -1
  160. package/dist/components/fx-morph.cjs.map +1 -1
  161. package/dist/components/fx-morph.js +2 -2
  162. package/dist/components/fx-morph.js.map +1 -1
  163. package/dist/components/fx-music.cjs.map +1 -1
  164. package/dist/components/fx-music.js +3 -3
  165. package/dist/components/fx-music.js.map +1 -1
  166. package/dist/components/fx-organic.cjs.map +1 -1
  167. package/dist/components/fx-organic.js +2 -2
  168. package/dist/components/fx-organic.js.map +1 -1
  169. package/dist/components/fx-paper.cjs.map +1 -1
  170. package/dist/components/fx-paper.js +2 -2
  171. package/dist/components/fx-paper.js.map +1 -1
  172. package/dist/components/fx-perf.cjs.map +1 -1
  173. package/dist/components/fx-perf.js +2 -2
  174. package/dist/components/fx-perf.js.map +1 -1
  175. package/dist/components/fx-physics.cjs.map +1 -1
  176. package/dist/components/fx-physics.js +2 -2
  177. package/dist/components/fx-physics.js.map +1 -1
  178. package/dist/components/fx-retro.cjs.map +1 -1
  179. package/dist/components/fx-retro.js +2 -2
  180. package/dist/components/fx-retro.js.map +1 -1
  181. package/dist/components/fx-safe.cjs.map +1 -1
  182. package/dist/components/fx-safe.js +2 -2
  183. package/dist/components/fx-safe.js.map +1 -1
  184. package/dist/components/fx-shop.cjs.map +1 -1
  185. package/dist/components/fx-shop.js +2 -2
  186. package/dist/components/fx-shop.js.map +1 -1
  187. package/dist/components/fx-social.cjs.map +1 -1
  188. package/dist/components/fx-social.js +2 -2
  189. package/dist/components/fx-social.js.map +1 -1
  190. package/dist/components/fx-spatial.cjs.map +1 -1
  191. package/dist/components/fx-spatial.js +2 -2
  192. package/dist/components/fx-spatial.js.map +1 -1
  193. package/dist/components/fx-surface.cjs.map +1 -1
  194. package/dist/components/fx-surface.js +2 -2
  195. package/dist/components/fx-surface.js.map +1 -1
  196. package/dist/components/fx-text.cjs.map +1 -1
  197. package/dist/components/fx-text.js +2 -2
  198. package/dist/components/fx-text.js.map +1 -1
  199. package/dist/components/fx-transitions.cjs.map +1 -1
  200. package/dist/components/fx-transitions.js +3 -3
  201. package/dist/components/fx-transitions.js.map +1 -1
  202. package/dist/components/fx-video.cjs.map +1 -1
  203. package/dist/components/fx-video.js +2 -2
  204. package/dist/components/fx-video.js.map +1 -1
  205. package/dist/components/fx-weather.cjs.map +1 -1
  206. package/dist/components/fx-weather.js +2 -2
  207. package/dist/components/fx-weather.js.map +1 -1
  208. package/dist/components/fx.cjs.map +1 -1
  209. package/dist/components/fx.js +6 -6
  210. package/dist/components/fx.js.map +1 -1
  211. package/dist/components/fx2.cjs.map +1 -1
  212. package/dist/components/fx2.js +6 -6
  213. package/dist/components/fx2.js.map +1 -1
  214. package/dist/components/gesture.cjs.map +1 -1
  215. package/dist/components/gesture.js +4 -4
  216. package/dist/components/gesture.js.map +1 -1
  217. package/dist/components/interaction.cjs.map +1 -1
  218. package/dist/components/interaction.js +1 -1
  219. package/dist/components/interaction.js.map +1 -1
  220. package/dist/components/layout.cjs.map +1 -1
  221. package/dist/components/layout.js +1 -1
  222. package/dist/components/layout.js.map +1 -1
  223. package/dist/components/lazy.cjs.map +1 -1
  224. package/dist/components/lazy.js.map +1 -1
  225. package/dist/components/lite.cjs.map +1 -1
  226. package/dist/components/lite.js.map +1 -1
  227. package/dist/components/marketplace.cjs.map +1 -1
  228. package/dist/components/marketplace.js +4 -4
  229. package/dist/components/marketplace.js.map +1 -1
  230. package/dist/components/native.cjs.map +1 -1
  231. package/dist/components/native.js +3 -3
  232. package/dist/components/native.js.map +1 -1
  233. package/dist/components/packs.cjs.map +1 -1
  234. package/dist/components/packs.js +1 -1
  235. package/dist/components/packs.js.map +1 -1
  236. package/dist/components/page.cjs.map +1 -1
  237. package/dist/components/page.js +3 -3
  238. package/dist/components/page.js.map +1 -1
  239. package/dist/components/perf.cjs.map +1 -1
  240. package/dist/components/perf.js +2 -2
  241. package/dist/components/perf.js.map +1 -1
  242. package/dist/components/physics.cjs.map +1 -1
  243. package/dist/components/physics.js +3 -3
  244. package/dist/components/physics.js.map +1 -1
  245. package/dist/components/plugins.cjs.map +1 -1
  246. package/dist/components/plugins.js +4 -4
  247. package/dist/components/plugins.js.map +1 -1
  248. package/dist/components/react.cjs.map +1 -1
  249. package/dist/components/react.js.map +1 -1
  250. package/dist/components/reveal.cjs.map +1 -1
  251. package/dist/components/reveal.js +1 -1
  252. package/dist/components/reveal.js.map +1 -1
  253. package/dist/components/solid.cjs.map +1 -1
  254. package/dist/components/solid.js +8 -8
  255. package/dist/components/solid.js.map +1 -1
  256. package/dist/components/svelte.cjs.map +1 -1
  257. package/dist/components/svelte.js +8 -8
  258. package/dist/components/svelte.js.map +1 -1
  259. package/dist/components/svg.cjs.map +1 -1
  260. package/dist/components/svg.js +1 -1
  261. package/dist/components/svg.js.map +1 -1
  262. package/dist/components/text.cjs.map +1 -1
  263. package/dist/components/text.js +2 -2
  264. package/dist/components/text.js.map +1 -1
  265. package/dist/components/timeline.cjs.map +1 -1
  266. package/dist/components/timeline.js +3 -3
  267. package/dist/components/timeline.js.map +1 -1
  268. package/dist/components/tokens.cjs.map +1 -1
  269. package/dist/components/tokens.js.map +1 -1
  270. package/dist/components/transitions.cjs.map +1 -1
  271. package/dist/components/transitions.js +1 -1
  272. package/dist/components/transitions.js.map +1 -1
  273. package/dist/components/ui.cjs.map +1 -1
  274. package/dist/components/ui.js +4 -4
  275. package/dist/components/ui.js.map +1 -1
  276. package/dist/components/vue.cjs.map +1 -1
  277. package/dist/components/vue.js +8 -8
  278. package/dist/components/vue.js.map +1 -1
  279. package/dist/components/webgl.cjs.map +1 -1
  280. package/dist/components/webgl.js +1 -1
  281. package/dist/components/webgl.js.map +1 -1
  282. package/dist/components/widgets.cjs +766 -212
  283. package/dist/components/widgets.cjs.map +1 -1
  284. package/dist/components/widgets.d.cts +207 -2
  285. package/dist/components/widgets.d.ts +207 -2
  286. package/dist/components/widgets.js +770 -221
  287. package/dist/components/widgets.js.map +1 -1
  288. package/dist/components.cjs.map +1 -1
  289. package/dist/components.js +10 -10
  290. package/dist/components.js.map +1 -1
  291. package/dist/element.cjs.map +1 -1
  292. package/dist/element.js.map +1 -1
  293. package/dist/index.cjs.map +1 -1
  294. package/dist/index.js +2 -2
  295. package/dist/index.js.map +1 -1
  296. package/dist/llms-full.txt +250 -1
  297. package/dist/llms.txt +13 -2
  298. package/dist/manifest.json +646 -1
  299. package/dist/presets/extended.cjs.map +1 -1
  300. package/dist/presets/extended.js.map +1 -1
  301. package/dist/react.cjs.map +1 -1
  302. package/dist/react.js.map +1 -1
  303. package/dist/runtime/format-apng.cjs +131 -0
  304. package/dist/runtime/format-apng.cjs.map +1 -0
  305. package/dist/runtime/format-apng.d.cts +250 -0
  306. package/dist/runtime/format-apng.d.ts +250 -0
  307. package/dist/runtime/format-apng.iife.js +2 -0
  308. package/dist/runtime/format-apng.iife.js.map +1 -0
  309. package/dist/runtime/format-apng.js +123 -0
  310. package/dist/runtime/format-apng.js.map +1 -0
  311. package/dist/runtime/format-css.cjs +5 -4
  312. package/dist/runtime/format-css.cjs.map +1 -1
  313. package/dist/runtime/format-css.js +5 -4
  314. package/dist/runtime/format-css.js.map +1 -1
  315. package/dist/runtime/format-gif.cjs +206 -0
  316. package/dist/runtime/format-gif.cjs.map +1 -0
  317. package/dist/runtime/format-gif.d.cts +223 -0
  318. package/dist/runtime/format-gif.d.ts +223 -0
  319. package/dist/runtime/format-gif.iife.js +2 -0
  320. package/dist/runtime/format-gif.iife.js.map +1 -0
  321. package/dist/runtime/format-gif.js +199 -0
  322. package/dist/runtime/format-gif.js.map +1 -0
  323. package/dist/runtime/format-motion.cjs +9 -8
  324. package/dist/runtime/format-motion.cjs.map +1 -1
  325. package/dist/runtime/format-motion.js +5 -4
  326. package/dist/runtime/format-motion.js.map +1 -1
  327. package/dist/runtime/format-sprite.cjs +226 -0
  328. package/dist/runtime/format-sprite.cjs.map +1 -0
  329. package/dist/runtime/format-sprite.d.cts +224 -0
  330. package/dist/runtime/format-sprite.d.ts +224 -0
  331. package/dist/runtime/format-sprite.iife.js +2 -0
  332. package/dist/runtime/format-sprite.iife.js.map +1 -0
  333. package/dist/runtime/format-sprite.js +216 -0
  334. package/dist/runtime/format-sprite.js.map +1 -0
  335. package/dist/runtime/format-svg.cjs +5 -4
  336. package/dist/runtime/format-svg.cjs.map +1 -1
  337. package/dist/runtime/format-svg.iife.js.map +1 -1
  338. package/dist/runtime/format-svg.js +4 -3
  339. package/dist/runtime/format-svg.js.map +1 -1
  340. package/dist/runtime/format-webp.cjs +123 -0
  341. package/dist/runtime/format-webp.cjs.map +1 -0
  342. package/dist/runtime/format-webp.d.cts +245 -0
  343. package/dist/runtime/format-webp.d.ts +245 -0
  344. package/dist/runtime/format-webp.iife.js +2 -0
  345. package/dist/runtime/format-webp.iife.js.map +1 -0
  346. package/dist/runtime/format-webp.js +115 -0
  347. package/dist/runtime/format-webp.js.map +1 -0
  348. package/dist/runtime/scroll.cjs +2 -2
  349. package/dist/runtime/scroll.cjs.map +1 -1
  350. package/dist/runtime/scroll.js +2 -2
  351. package/dist/runtime/scroll.js.map +1 -1
  352. package/dist/runtime/smooth.cjs +284 -0
  353. package/dist/runtime/smooth.cjs.map +1 -0
  354. package/dist/runtime/smooth.d.cts +137 -0
  355. package/dist/runtime/smooth.d.ts +137 -0
  356. package/dist/runtime/smooth.iife.js +2 -0
  357. package/dist/runtime/smooth.iife.js.map +1 -0
  358. package/dist/runtime/smooth.js +279 -0
  359. package/dist/runtime/smooth.js.map +1 -0
  360. package/dist/runtime/text.cjs +147 -0
  361. package/dist/runtime/text.cjs.map +1 -0
  362. package/dist/runtime/text.d.cts +65 -0
  363. package/dist/runtime/text.d.ts +65 -0
  364. package/dist/runtime/text.iife.js +2 -0
  365. package/dist/runtime/text.iife.js.map +1 -0
  366. package/dist/runtime/text.js +143 -0
  367. package/dist/runtime/text.js.map +1 -0
  368. package/dist/runtime.cjs +9 -8
  369. package/dist/runtime.cjs.map +1 -1
  370. package/dist/runtime.d.cts +9 -2
  371. package/dist/runtime.d.ts +9 -2
  372. package/dist/runtime.iife.js +1 -1
  373. package/dist/runtime.iife.js.map +1 -1
  374. package/dist/runtime.js +6 -5
  375. package/dist/runtime.js.map +1 -1
  376. package/dist/solid.cjs.map +1 -1
  377. package/dist/solid.js.map +1 -1
  378. package/dist/svelte.cjs.map +1 -1
  379. package/dist/svelte.js.map +1 -1
  380. package/dist/vue.cjs.map +1 -1
  381. package/dist/vue.js.map +1 -1
  382. package/dist/widgets.umd.js +1 -1
  383. package/dist/widgets.umd.js.map +1 -1
  384. package/docs/ROADMAP.md +2 -2
  385. package/docs/components/README.md +12 -7
  386. package/docs/components/usa-parallax-layers.md +38 -0
  387. package/docs/components/usa-route-transition.md +38 -0
  388. package/docs/components/usa-scroll-ring.md +32 -0
  389. package/docs/components/usa-smooth-scroll.md +60 -0
  390. package/docs/components/usa-text-splitter.md +60 -0
  391. package/docs/components.md +94 -0
  392. package/docs/mcp.md +50 -0
  393. package/docs/runtime/format-apng.md +59 -0
  394. package/docs/runtime/format-gif.md +60 -0
  395. package/docs/runtime/format-sprite.md +60 -0
  396. package/docs/runtime/format-webp.md +58 -0
  397. package/docs/runtime/smooth.md +60 -0
  398. package/docs/runtime/text.md +59 -0
  399. package/package.json +64 -2
  400. package/dist/chunks/keyframes-W-474DMc.js.map +0 -1
  401. package/dist/chunks/keyframes-ZheOkpt0.cjs.map +0 -1
  402. package/dist/chunks/tween-CBuWYpI-.cjs.map +0 -1
  403. package/dist/chunks/tween-CqX1JBuj.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"transitions.js","sources":["../../src/components/transitions/dialog.ts","../../src/components/transitions/accordion.ts","../../src/components/transitions/view-switch.ts","../../src/components/transitions/helpers.ts","../../src/components/transitions/index.ts"],"sourcesContent":["import { kindOf, defineElement, shadowStyles, EASE_OUT, FLUENT_DECELERATE, type UsaElement } from '../base';\nimport shadowCss from './dialog.shadow.css?raw';\nimport css from './dialog.css?raw';\n\nexport type DialogVariant = 'modal' | 'drawer-start' | 'drawer-end' | 'drawer-bottom' | 'sheet';\n\n/**\n * `<usa-dialog>` — an animated modal or drawer built on the native\n * `<dialog>` (top layer, focus trapping, inert page, Esc to close). Its\n * children are slotted into the panel (they stay in the light DOM, so\n * React / Vue / Svelte keep owning them). Style with `::part(panel)`,\n * `::part(backdrop)` and the `--usa-dialog-*` custom properties.\n *\n * Attributes: `open` (reflects; set/remove to open/close), `kind`\n * (`modal` default — Fluent scale + fade; `drawer-start` / `drawer-end`\n * slide from the side, `drawer-bottom` / `sheet` from below), `label`\n * (accessible name), `no-backdrop-close`, `no-esc`. Elements inside\n * with `data-close` close it. Events: `usa:open`, `usa:close` (cancelable\n * `usa:beforeclose`). Reduced motion: fade only.\n */\nexport interface UsaDialogElement extends UsaElement {\n open: boolean;\n show(): Promise<void>;\n close(returnValue?: string): Promise<void>;\n readonly dialog: HTMLDialogElement | null;\n returnValue: string;\n}\n\nconst FROM: Record<string, string> = {\n modal: 'scale(0.94)',\n 'drawer-start': 'translateX(-100%)',\n 'drawer-end': 'translateX(100%)',\n 'drawer-bottom': 'translateY(100%)',\n sheet: 'translateY(40px)',\n};\n\nexport function defineDialog(tag = 'usa-dialog'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaDialog extends Base {\n static get observedAttributes(): string[] {\n return ['open', 'kind', 'label'];\n }\n\n private _dialog: HTMLDialogElement | null = null;\n private _panel: HTMLElement | null = null;\n private _backdrop: HTMLElement | null = null;\n private _busy: Promise<void> | null = null;\n private _syncing = false;\n returnValue = '';\n\n get dialog(): HTMLDialogElement | null {\n return this._dialog;\n }\n get open(): boolean {\n return this.hasAttribute('open');\n }\n set open(v: boolean) {\n this.toggleAttribute('open', !!v);\n }\n\n private get kind(): string {\n return kindOf(this, FROM, 'modal');\n }\n\n changed(name: string): void {\n if (name === 'open') {\n if (this._syncing) return;\n if (this.open) this.show();\n else this.close();\n } else this.syncAttrs();\n }\n\n private syncAttrs(): void {\n if (!this._dialog) return;\n this._dialog.setAttribute('data-kind', this.kind);\n this._dialog.setAttribute('aria-modal', 'true');\n const label = this.getAttribute('label');\n if (label) this._dialog.setAttribute('aria-label', label);\n }\n\n mount(): void {\n if (!this._dialog) {\n const root = this.shadowRoot || this.attachShadow({ mode: 'open' });\n root.innerHTML = '<dialog part=\"dialog\"><div part=\"backdrop\" aria-hidden=\"true\"></div><div part=\"panel\"><slot></slot></div></dialog>';\n shadowStyles(root, shadowCss);\n this._dialog = root.querySelector('dialog');\n this._backdrop = root.querySelector('[part=backdrop]');\n this._panel = root.querySelector('[part=panel]');\n }\n this.syncAttrs();\n const dlg = this._dialog!;\n this.listen(dlg, 'cancel', (e: Event) => {\n e.preventDefault();\n if (!this.flag('no-esc')) this.close('cancel');\n });\n this.listen(this._backdrop!, 'click', () => !this.flag('no-backdrop-close') && this.close('backdrop'));\n this.listen(this, 'click', (e: Event) => {\n const t = (e.target as Element).closest?.('[data-close]');\n if (t && this.contains(t)) this.close((t as HTMLElement).getAttribute('data-close') || 'close');\n });\n if (this.open && !dlg.open) this.show();\n }\n\n unmount(): void {\n if (this._dialog?.open) this._dialog.close();\n }\n\n private setOpenAttr(on: boolean): void {\n this._syncing = true;\n this.toggleAttribute('open', on);\n this._syncing = false;\n }\n\n async show(): Promise<void> {\n await this._busy;\n const dlg = this._dialog;\n if (!dlg) {\n this.setOpenAttr(true); // opens on connect\n return;\n }\n if (dlg.open) return;\n this.setOpenAttr(true);\n try {\n if (typeof dlg.showModal === 'function') dlg.showModal();\n else dlg.setAttribute('open', '');\n } catch {\n dlg.setAttribute('open', '');\n }\n this.emit('open');\n if (this.reduced) {\n await this.animate2([{ opacity: 0 }, { opacity: 1 }], [{ opacity: 0 }, { opacity: 1 }], 160, EASE_OUT);\n return;\n }\n await this.animate2(\n [{ opacity: 0, transform: FROM[this.kind] }, { opacity: 1, transform: 'none' }],\n [{ opacity: 0 }, { opacity: 1 }],\n this.kind === 'modal' ? 260 : 360,\n FLUENT_DECELERATE\n );\n }\n\n async close(returnValue = ''): Promise<void> {\n await this._busy;\n const dlg = this._dialog;\n if (!dlg || !dlg.open) {\n this.setOpenAttr(false);\n return;\n }\n if (!this.emit('beforeclose', { returnValue })) {\n this.setOpenAttr(true);\n return;\n }\n this.returnValue = returnValue;\n this._busy = (async () => {\n const panelTo = this.reduced ? { opacity: 0 } : { opacity: 0, transform: FROM[this.kind] };\n const panelFrom = this.reduced ? { opacity: 1 } : { opacity: 1, transform: 'none' };\n await this.animate2([panelFrom, panelTo], [{ opacity: 1 }, { opacity: 0 }], this.reduced ? 120 : 200, 'cubic-bezier(0.7, 0, 0.84, 0)', 'forwards');\n try {\n if (typeof dlg.close === 'function') dlg.close(returnValue);\n else dlg.removeAttribute('open');\n } catch {\n dlg.removeAttribute('open');\n }\n dlg.removeAttribute('open');\n this._panel?.getAnimations?.().forEach((a) => a.cancel());\n this._backdrop?.getAnimations?.().forEach((a) => a.cancel());\n this.setOpenAttr(false);\n this.emit('close', { returnValue });\n })();\n await this._busy;\n this._busy = null;\n }\n\n private animate2(panel: Keyframe[], backdrop: Keyframe[], duration: number, easing: string, fill: FillMode = 'none'): Promise<void> {\n const a = this._panel ? this.motion(this._panel, panel, { duration, easing, fill }) : null;\n const b = this._backdrop ? this.motion(this._backdrop, backdrop, { duration, easing: 'linear', fill }) : null;\n return Promise.all([a?.finished, b?.finished].map((p) => p?.catch(() => undefined))).then(() => undefined);\n }\n },\n { id: 'dialog', text: css }\n );\n}\n","import { defineElement, EASE_OUT, type UsaElement } from '../base';\nimport css from './accordion.css?raw';\n\n/**\n * `<usa-accordion>` — smooth expand / collapse for the native `<details>`\n * elements inside it (keeps their semantics, keyboard support and\n * find-in-page, and adds no wrapper elements, so framework-rendered content\n * is left alone). Only one stays open unless `multiple` is set.\n *\n * Attributes: `multiple`, `duration` (ms, 300). Event: `usa:toggle`\n * (`detail.details`, `detail.open`). Reduced motion: instant.\n * Heights are measured once per toggle and animated on the `<details>`.\n */\nexport interface UsaAccordionElement extends UsaElement {\n readonly items: HTMLDetailsElement[];\n toggleItem(details: HTMLDetailsElement, open?: boolean): Promise<void>;\n}\n\nexport function defineAccordion(tag = 'usa-accordion'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaAccordion extends Base {\n static get observedAttributes(): string[] {\n return [];\n }\n\n private _running = new WeakMap<HTMLDetailsElement, Animation>();\n\n get items(): HTMLDetailsElement[] {\n return Array.from(this.children).filter((c): c is HTMLDetailsElement => c.tagName === 'DETAILS');\n }\n\n mount(): void {\n this.listen(this, 'click', (e: MouseEvent) => {\n const summary = (e.target as Element).closest?.('summary');\n const d = summary?.parentElement;\n if (!summary || !d || d.tagName !== 'DETAILS' || d.parentElement !== this) return;\n e.preventDefault();\n this.toggleItem(d as HTMLDetailsElement);\n });\n }\n\n /** Height of `d` when closed: its summary plus its own padding and border. */\n private closedHeight(d: HTMLDetailsElement): number {\n const summary = d.querySelector(':scope > summary');\n const cs = typeof getComputedStyle === 'function' ? getComputedStyle(d) : null;\n const extra = cs\n ? ['paddingTop', 'paddingBottom', 'borderTopWidth', 'borderBottomWidth'].reduce((n, k) => n + (parseFloat((cs as any)[k]) || 0), 0)\n : 0;\n return (summary ? summary.getBoundingClientRect().height : 0) + extra;\n }\n\n async toggleItem(d: HTMLDetailsElement, open = !d.open || d.hasAttribute('data-closing')): Promise<void> {\n if (open && !this.flag('multiple')) this.items.forEach((o) => o !== d && o.open && this.toggleItem(o, false));\n this._running.get(d)?.cancel();\n this._running.delete(d);\n const duration = this.reduced ? 0 : this.num('duration', 300);\n const startH = d.getBoundingClientRect().height;\n if (open) {\n d.removeAttribute('data-closing');\n d.open = true;\n }\n this.emit('toggle', { details: d, open });\n if (!duration || typeof d.animate !== 'function') {\n if (!open) d.open = false;\n return;\n }\n const endH = open ? d.getBoundingClientRect().height : this.closedHeight(d);\n if (!open) d.setAttribute('data-closing', '');\n d.style.overflow = 'hidden';\n const a = d.animate([{ height: `${startH}px` }, { height: `${endH}px` }], { duration, easing: EASE_OUT });\n this._running.set(d, a);\n await a.finished.catch(() => undefined);\n if (this._running.get(d) !== a) return;\n this._running.delete(d);\n d.style.overflow = '';\n if (!open) {\n d.open = false;\n d.removeAttribute('data-closing');\n }\n }\n },\n { id: 'accordion', text: css }\n );\n}\n","import { defineElement, EASE_OUT, FLUENT_DECELERATE, type UsaElement } from '../base';\nimport css from './view-switch.css?raw';\n\n/**\n * `<usa-view-switch>` — shows one of its children at a time (tabs, wizard\n * steps, app pages) and animates between them. Children are views; name\n * them with `data-view`, or address them by index.\n *\n * Attributes: `active` (view name or index, default the first),\n * `effect` (`fade` | `slide` (default, direction-aware — Fluent \"page\n * transition\") | `scale` | `drill`), `duration` (ms, 320). Inactive views\n * get `hidden` + `inert`. Event: `usa:change` (`detail.view`,\n * `detail.index`). Reduced motion: a quick fade.\n */\nexport interface UsaViewSwitchElement extends UsaElement {\n active: string;\n readonly views: HTMLElement[];\n show(view: string | number): Promise<void>;\n}\n\nexport function defineViewSwitch(tag = 'usa-view-switch'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaViewSwitch extends Base {\n static get observedAttributes(): string[] {\n return ['active'];\n }\n\n private _index = -1;\n private _anims: Animation[] = [];\n\n get views(): HTMLElement[] {\n return Array.from(this.children) as HTMLElement[];\n }\n get active(): string {\n return this.str('active', '0');\n }\n set active(v: string) {\n this.setAttribute('active', String(v));\n }\n\n private indexOf(v: string | number): number {\n const views = this.views;\n const byName = views.findIndex((el) => el.dataset.view === String(v));\n if (byName >= 0) return byName;\n const n = Number(v);\n return Number.isInteger(n) && n >= 0 && n < views.length ? n : -1;\n }\n\n changed(): void {\n this.show(this.active);\n }\n\n mount(): void {\n const i = Math.max(0, this.indexOf(this.active));\n this._index = i;\n this.views.forEach((v, j) => this.setVisible(v, j === i));\n }\n\n private setVisible(v: HTMLElement, on: boolean): void {\n v.hidden = !on;\n v.toggleAttribute('inert', !on);\n v.toggleAttribute('data-active', on);\n }\n\n async show(view: string | number): Promise<void> {\n const next = this.indexOf(view);\n const prev = this._index;\n if (next < 0 || next === prev) return;\n const views = this.views;\n const from = views[prev];\n const to = views[next];\n this._index = next;\n const name = to.dataset.view ?? String(next);\n if (this.active !== name && this.active !== String(next)) this.setAttribute('active', name);\n this._anims.splice(0).forEach((a) => a.finish());\n this.setVisible(to, true);\n this.emit('change', { view: to, index: next, name });\n if (!from) return;\n const duration = this.num('duration', 320);\n const effect = this.reduced ? 'fade' : this.str('effect', 'slide');\n const dir = next > prev ? 1 : -1;\n let outF: Keyframe;\n let inF: Keyframe;\n switch (effect) {\n case 'fade':\n outF = { opacity: 0 };\n inF = { opacity: 0 };\n break;\n case 'scale':\n outF = { opacity: 0, transform: 'scale(0.96)' };\n inF = { opacity: 0, transform: 'scale(1.04)' };\n break;\n case 'drill':\n outF = { opacity: 0, transform: `scale(${dir > 0 ? 1.06 : 0.94})` };\n inF = { opacity: 0, transform: `scale(${dir > 0 ? 0.94 : 1.06})` };\n break;\n default:\n outF = { opacity: 0, transform: `translateX(${-dir * 32}px)` };\n inF = { opacity: 0, transform: `translateX(${dir * 48}px)` };\n }\n const neutral = (f: Keyframe): Keyframe => ('transform' in f ? { opacity: 1, transform: 'none' } : { opacity: 1 });\n // Outgoing view stays stacked in the same grid cell while it leaves\n from.setAttribute('data-leaving', '');\n const a = this.motion(from, [neutral(outF), outF], { duration: duration * 0.6, easing: EASE_OUT, fill: 'forwards' });\n const b = this.motion(to, [inF, neutral(inF)], { duration, delay: duration * 0.15, easing: FLUENT_DECELERATE, fill: 'backwards' });\n this._anims = [a, b].filter((x): x is Animation => !!x);\n await Promise.all(this._anims.map((x) => x.finished.catch(() => undefined)));\n from.removeAttribute('data-leaving');\n if (this._index !== prev) this.setVisible(from, false);\n a?.cancel();\n }\n },\n { id: 'view-switch', text: css }\n );\n}\n","import { prefersReducedMotion, EASE_OUT, FLUENT_DECELERATE } from '../base';\n\nexport interface ViewTransitionOptions {\n /**\n * Element to cross-fade when the View Transitions API is missing (default:\n * none — the update is applied without animation).\n */\n fallback?: HTMLElement | null;\n /** Fallback fade duration in ms (default 180 out + 220 in). */\n duration?: number;\n /** View transition types (`document.startViewTransition({ types })`, where supported). */\n types?: string[];\n}\n\n/**\n * Run `update()` (which changes the DOM) inside a view transition:\n * `document.startViewTransition()` where available (Chrome/Edge 111+, so\n * Electron, WebView2 and Tauri on Windows), otherwise a short cross-fade of\n * `options.fallback`. Instant under reduced motion. Resolves when finished.\n *\n * Give elements a `view-transition-name` in CSS for shared-element morphs.\n */\nexport async function viewTransition(update: () => void | Promise<void>, options: ViewTransitionOptions = {}): Promise<void> {\n const doc: any = typeof document !== 'undefined' ? document : null;\n if (!doc || prefersReducedMotion()) {\n await update();\n return;\n }\n if (typeof doc.startViewTransition === 'function') {\n let vt: any;\n try {\n vt = options.types ? doc.startViewTransition({ update, types: options.types }) : doc.startViewTransition(update);\n } catch {\n vt = doc.startViewTransition(update);\n }\n await vt.finished.catch(() => undefined);\n return;\n }\n const el = options.fallback;\n const d = options.duration ?? 200;\n if (!el || typeof el.animate !== 'function') {\n await update();\n return;\n }\n await el.animate([{ opacity: 1 }, { opacity: 0 }], { duration: d * 0.8, easing: 'ease-in', fill: 'forwards' }).finished.catch(() => undefined);\n await update();\n const a = el.animate([{ opacity: 0, transform: 'translateY(6px)' }, { opacity: 1, transform: 'none' }], { duration: d * 1.1, easing: EASE_OUT });\n // remove the forwards fill of the fade-out\n el.getAnimations?.().forEach((x) => x !== a && x.cancel());\n await a.finished.catch(() => undefined);\n}\n\nexport interface FlipOptions {\n duration?: number;\n easing?: string;\n /** Fade/scale in elements that did not exist before (default true). */\n animateEnter?: boolean;\n}\n\ntype Targets = Element | Iterable<Element> | ArrayLike<Element>;\nconst list = (t: Targets): HTMLElement[] =>\n (t instanceof Element ? Array.from(t.children) : Array.from(t as ArrayLike<Element>)) as HTMLElement[];\n\n/**\n * FLIP animation for layout changes (list reorder, filter, grid resize):\n * measures `targets` (an element's children, or a list), runs `mutate()`,\n * then animates each element from its old position to its new one with\n * transforms only. Elements added by `mutate()` fade in.\n *\n * ```js\n * await flip(list, () => list.append(...shuffled));\n * ```\n */\nexport async function flip(targets: Targets, mutate: () => void | Promise<void>, options: FlipOptions = {}): Promise<void> {\n const before = new Map(list(targets).map((el) => [el, el.getBoundingClientRect()]));\n await mutate();\n if (prefersReducedMotion()) return;\n const after = list(targets);\n const duration = options.duration ?? 420;\n const easing = options.easing ?? FLUENT_DECELERATE;\n const anims: Animation[] = [];\n // Read all, then write all\n const rects = after.map((el) => el.getBoundingClientRect());\n after.forEach((el, i) => {\n if (typeof el.animate !== 'function') return;\n const first = before.get(el);\n const last = rects[i];\n if (!first) {\n if (options.animateEnter !== false) anims.push(el.animate([{ opacity: 0, transform: 'scale(0.9)' }, { opacity: 1, transform: 'none' }], { duration, easing }));\n return;\n }\n const dx = first.left - last.left;\n const dy = first.top - last.top;\n const sx = last.width ? first.width / last.width : 1;\n const sy = last.height ? first.height / last.height : 1;\n if (Math.abs(dx) < 0.5 && Math.abs(dy) < 0.5 && Math.abs(sx - 1) < 0.01 && Math.abs(sy - 1) < 0.01) return;\n anims.push(\n el.animate(\n [{ transformOrigin: '0 0', transform: `translate(${dx}px, ${dy}px) scale(${sx}, ${sy})` }, { transformOrigin: '0 0', transform: 'none' }],\n { duration, easing }\n )\n );\n });\n await Promise.all(anims.map((a) => a.finished.catch(() => undefined)));\n}\n","/**\n * motionary/components/transitions — view & layout transitions.\n * `<usa-dialog>`, `<usa-accordion>`, `<usa-view-switch>`\n * and the `viewTransition()` and `flip()` helpers (4.0: `<usa-flip-list>` → `<usa-auto-animate>`,\n * `connectedAnimation()` → `sharedTransition()`, both in `components/layout`).\n */\nimport { defineDialog, type UsaDialogElement } from './dialog';\nimport { defineAccordion, type UsaAccordionElement } from './accordion';\nimport { defineViewSwitch, type UsaViewSwitchElement } from './view-switch';\n\nexport { defineDialog, defineAccordion, defineViewSwitch };\nexport { viewTransition, flip } from './helpers';\nexport type { ViewTransitionOptions, FlipOptions } from './helpers';\nexport type { DialogVariant } from './dialog';\nexport type { UsaDialogElement, UsaAccordionElement, UsaViewSwitchElement };\n\n/** Register every component of this category under its default tag. */\nexport function defineTransitionComponents(): void {\n defineDialog();\n defineAccordion();\n defineViewSwitch();\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'usa-dialog': UsaDialogElement;\n 'usa-accordion': UsaAccordionElement;\n 'usa-view-switch': UsaViewSwitchElement;\n }\n}\n"],"names":["css"],"mappings":"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"}
1
+ {"version":3,"file":"transitions.js","sources":["../../src/components/transitions/dialog.ts","../../src/components/transitions/accordion.ts","../../src/components/transitions/view-switch.ts","../../src/components/transitions/helpers.ts","../../src/components/transitions/index.ts"],"sourcesContent":["import { kindOf, defineElement, shadowStyles, EASE_OUT, FLUENT_DECELERATE, type UsaElement } from '../base';\nimport shadowCss from './dialog.shadow.css?raw';\nimport css from './dialog.css?raw';\n\nexport type DialogVariant = 'modal' | 'drawer-start' | 'drawer-end' | 'drawer-bottom' | 'sheet';\n\n/**\n * `<usa-dialog>` — an animated modal or drawer built on the native\n * `<dialog>` (top layer, focus trapping, inert page, Esc to close). Its\n * children are slotted into the panel (they stay in the light DOM, so\n * React / Vue / Svelte keep owning them). Style with `::part(panel)`,\n * `::part(backdrop)` and the `--usa-dialog-*` custom properties.\n *\n * Attributes: `open` (reflects; set/remove to open/close), `kind`\n * (`modal` default — Fluent scale + fade; `drawer-start` / `drawer-end`\n * slide from the side, `drawer-bottom` / `sheet` from below), `label`\n * (accessible name), `no-backdrop-close`, `no-esc`. Elements inside\n * with `data-close` close it. Events: `usa:open`, `usa:close` (cancelable\n * `usa:beforeclose`). Reduced motion: fade only.\n */\nexport interface UsaDialogElement extends UsaElement {\n open: boolean;\n show(): Promise<void>;\n close(returnValue?: string): Promise<void>;\n readonly dialog: HTMLDialogElement | null;\n returnValue: string;\n}\n\nconst FROM: Record<string, string> = {\n modal: 'scale(0.94)',\n 'drawer-start': 'translateX(-100%)',\n 'drawer-end': 'translateX(100%)',\n 'drawer-bottom': 'translateY(100%)',\n sheet: 'translateY(40px)',\n};\n\nexport function defineDialog(tag = 'usa-dialog'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaDialog extends Base {\n static get observedAttributes(): string[] {\n return ['open', 'kind', 'label'];\n }\n\n private _dialog: HTMLDialogElement | null = null;\n private _panel: HTMLElement | null = null;\n private _backdrop: HTMLElement | null = null;\n private _busy: Promise<void> | null = null;\n private _syncing = false;\n returnValue = '';\n\n get dialog(): HTMLDialogElement | null {\n return this._dialog;\n }\n get open(): boolean {\n return this.hasAttribute('open');\n }\n set open(v: boolean) {\n this.toggleAttribute('open', !!v);\n }\n\n private get kind(): string {\n return kindOf(this, FROM, 'modal');\n }\n\n changed(name: string): void {\n if (name === 'open') {\n if (this._syncing) return;\n if (this.open) this.show();\n else this.close();\n } else this.syncAttrs();\n }\n\n private syncAttrs(): void {\n if (!this._dialog) return;\n this._dialog.setAttribute('data-kind', this.kind);\n this._dialog.setAttribute('aria-modal', 'true');\n const label = this.getAttribute('label');\n if (label) this._dialog.setAttribute('aria-label', label);\n }\n\n mount(): void {\n if (!this._dialog) {\n const root = this.shadowRoot || this.attachShadow({ mode: 'open' });\n root.innerHTML = '<dialog part=\"dialog\"><div part=\"backdrop\" aria-hidden=\"true\"></div><div part=\"panel\"><slot></slot></div></dialog>';\n shadowStyles(root, shadowCss);\n this._dialog = root.querySelector('dialog');\n this._backdrop = root.querySelector('[part=backdrop]');\n this._panel = root.querySelector('[part=panel]');\n }\n this.syncAttrs();\n const dlg = this._dialog!;\n this.listen(dlg, 'cancel', (e: Event) => {\n e.preventDefault();\n if (!this.flag('no-esc')) this.close('cancel');\n });\n this.listen(this._backdrop!, 'click', () => !this.flag('no-backdrop-close') && this.close('backdrop'));\n this.listen(this, 'click', (e: Event) => {\n const t = (e.target as Element).closest?.('[data-close]');\n if (t && this.contains(t)) this.close((t as HTMLElement).getAttribute('data-close') || 'close');\n });\n if (this.open && !dlg.open) this.show();\n }\n\n unmount(): void {\n if (this._dialog?.open) this._dialog.close();\n }\n\n private setOpenAttr(on: boolean): void {\n this._syncing = true;\n this.toggleAttribute('open', on);\n this._syncing = false;\n }\n\n async show(): Promise<void> {\n await this._busy;\n const dlg = this._dialog;\n if (!dlg) {\n this.setOpenAttr(true); // opens on connect\n return;\n }\n if (dlg.open) return;\n this.setOpenAttr(true);\n try {\n if (typeof dlg.showModal === 'function') dlg.showModal();\n else dlg.setAttribute('open', '');\n } catch {\n dlg.setAttribute('open', '');\n }\n this.emit('open');\n if (this.reduced) {\n await this.animate2([{ opacity: 0 }, { opacity: 1 }], [{ opacity: 0 }, { opacity: 1 }], 160, EASE_OUT);\n return;\n }\n await this.animate2(\n [{ opacity: 0, transform: FROM[this.kind] }, { opacity: 1, transform: 'none' }],\n [{ opacity: 0 }, { opacity: 1 }],\n this.kind === 'modal' ? 260 : 360,\n FLUENT_DECELERATE\n );\n }\n\n async close(returnValue = ''): Promise<void> {\n await this._busy;\n const dlg = this._dialog;\n if (!dlg || !dlg.open) {\n this.setOpenAttr(false);\n return;\n }\n if (!this.emit('beforeclose', { returnValue })) {\n this.setOpenAttr(true);\n return;\n }\n this.returnValue = returnValue;\n this._busy = (async () => {\n const panelTo = this.reduced ? { opacity: 0 } : { opacity: 0, transform: FROM[this.kind] };\n const panelFrom = this.reduced ? { opacity: 1 } : { opacity: 1, transform: 'none' };\n await this.animate2([panelFrom, panelTo], [{ opacity: 1 }, { opacity: 0 }], this.reduced ? 120 : 200, 'cubic-bezier(0.7, 0, 0.84, 0)', 'forwards');\n try {\n if (typeof dlg.close === 'function') dlg.close(returnValue);\n else dlg.removeAttribute('open');\n } catch {\n dlg.removeAttribute('open');\n }\n dlg.removeAttribute('open');\n this._panel?.getAnimations?.().forEach((a) => a.cancel());\n this._backdrop?.getAnimations?.().forEach((a) => a.cancel());\n this.setOpenAttr(false);\n this.emit('close', { returnValue });\n })();\n await this._busy;\n this._busy = null;\n }\n\n private animate2(panel: Keyframe[], backdrop: Keyframe[], duration: number, easing: string, fill: FillMode = 'none'): Promise<void> {\n const a = this._panel ? this.motion(this._panel, panel, { duration, easing, fill }) : null;\n const b = this._backdrop ? this.motion(this._backdrop, backdrop, { duration, easing: 'linear', fill }) : null;\n return Promise.all([a?.finished, b?.finished].map((p) => p?.catch(() => undefined))).then(() => undefined);\n }\n },\n { id: 'dialog', text: css }\n );\n}\n","import { defineElement, EASE_OUT, type UsaElement } from '../base';\nimport css from './accordion.css?raw';\n\n/**\n * `<usa-accordion>` — smooth expand / collapse for the native `<details>`\n * elements inside it (keeps their semantics, keyboard support and\n * find-in-page, and adds no wrapper elements, so framework-rendered content\n * is left alone). Only one stays open unless `multiple` is set.\n *\n * Attributes: `multiple`, `duration` (ms, 300). Event: `usa:toggle`\n * (`detail.details`, `detail.open`). Reduced motion: instant.\n * Heights are measured once per toggle and animated on the `<details>`.\n */\nexport interface UsaAccordionElement extends UsaElement {\n readonly items: HTMLDetailsElement[];\n toggleItem(details: HTMLDetailsElement, open?: boolean): Promise<void>;\n}\n\nexport function defineAccordion(tag = 'usa-accordion'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaAccordion extends Base {\n static get observedAttributes(): string[] {\n return [];\n }\n\n private _running = new WeakMap<HTMLDetailsElement, Animation>();\n\n get items(): HTMLDetailsElement[] {\n return Array.from(this.children).filter((c): c is HTMLDetailsElement => c.tagName === 'DETAILS');\n }\n\n mount(): void {\n this.listen(this, 'click', (e: MouseEvent) => {\n const summary = (e.target as Element).closest?.('summary');\n const d = summary?.parentElement;\n if (!summary || !d || d.tagName !== 'DETAILS' || d.parentElement !== this) return;\n e.preventDefault();\n this.toggleItem(d as HTMLDetailsElement);\n });\n }\n\n /** Height of `d` when closed: its summary plus its own padding and border. */\n private closedHeight(d: HTMLDetailsElement): number {\n const summary = d.querySelector(':scope > summary');\n const cs = typeof getComputedStyle === 'function' ? getComputedStyle(d) : null;\n const extra = cs\n ? ['paddingTop', 'paddingBottom', 'borderTopWidth', 'borderBottomWidth'].reduce((n, k) => n + (parseFloat((cs as any)[k]) || 0), 0)\n : 0;\n return (summary ? summary.getBoundingClientRect().height : 0) + extra;\n }\n\n async toggleItem(d: HTMLDetailsElement, open = !d.open || d.hasAttribute('data-closing')): Promise<void> {\n if (open && !this.flag('multiple')) this.items.forEach((o) => o !== d && o.open && this.toggleItem(o, false));\n this._running.get(d)?.cancel();\n this._running.delete(d);\n const duration = this.reduced ? 0 : this.num('duration', 300);\n const startH = d.getBoundingClientRect().height;\n if (open) {\n d.removeAttribute('data-closing');\n d.open = true;\n }\n this.emit('toggle', { details: d, open });\n if (!duration || typeof d.animate !== 'function') {\n if (!open) d.open = false;\n return;\n }\n const endH = open ? d.getBoundingClientRect().height : this.closedHeight(d);\n if (!open) d.setAttribute('data-closing', '');\n d.style.overflow = 'hidden';\n const a = d.animate([{ height: `${startH}px` }, { height: `${endH}px` }], { duration, easing: EASE_OUT });\n this._running.set(d, a);\n await a.finished.catch(() => undefined);\n if (this._running.get(d) !== a) return;\n this._running.delete(d);\n d.style.overflow = '';\n if (!open) {\n d.open = false;\n d.removeAttribute('data-closing');\n }\n }\n },\n { id: 'accordion', text: css }\n );\n}\n","import { defineElement, EASE_OUT, FLUENT_DECELERATE, type UsaElement } from '../base';\nimport css from './view-switch.css?raw';\n\n/**\n * `<usa-view-switch>` — shows one of its children at a time (tabs, wizard\n * steps, app pages) and animates between them. Children are views; name\n * them with `data-view`, or address them by index.\n *\n * Attributes: `active` (view name or index, default the first),\n * `effect` (`fade` | `slide` (default, direction-aware — Fluent \"page\n * transition\") | `scale` | `drill`), `duration` (ms, 320). Inactive views\n * get `hidden` + `inert`. Event: `usa:change` (`detail.view`,\n * `detail.index`). Reduced motion: a quick fade.\n */\nexport interface UsaViewSwitchElement extends UsaElement {\n active: string;\n readonly views: HTMLElement[];\n show(view: string | number): Promise<void>;\n}\n\nexport function defineViewSwitch(tag = 'usa-view-switch'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaViewSwitch extends Base {\n static get observedAttributes(): string[] {\n return ['active'];\n }\n\n private _index = -1;\n private _anims: Animation[] = [];\n\n get views(): HTMLElement[] {\n return Array.from(this.children) as HTMLElement[];\n }\n get active(): string {\n return this.str('active', '0');\n }\n set active(v: string) {\n this.setAttribute('active', String(v));\n }\n\n private indexOf(v: string | number): number {\n const views = this.views;\n const byName = views.findIndex((el) => el.dataset.view === String(v));\n if (byName >= 0) return byName;\n const n = Number(v);\n return Number.isInteger(n) && n >= 0 && n < views.length ? n : -1;\n }\n\n changed(): void {\n this.show(this.active);\n }\n\n mount(): void {\n const i = Math.max(0, this.indexOf(this.active));\n this._index = i;\n this.views.forEach((v, j) => this.setVisible(v, j === i));\n }\n\n private setVisible(v: HTMLElement, on: boolean): void {\n v.hidden = !on;\n v.toggleAttribute('inert', !on);\n v.toggleAttribute('data-active', on);\n }\n\n async show(view: string | number): Promise<void> {\n const next = this.indexOf(view);\n const prev = this._index;\n if (next < 0 || next === prev) return;\n const views = this.views;\n const from = views[prev];\n const to = views[next];\n this._index = next;\n const name = to.dataset.view ?? String(next);\n if (this.active !== name && this.active !== String(next)) this.setAttribute('active', name);\n this._anims.splice(0).forEach((a) => a.finish());\n this.setVisible(to, true);\n this.emit('change', { view: to, index: next, name });\n if (!from) return;\n const duration = this.num('duration', 320);\n const effect = this.reduced ? 'fade' : this.str('effect', 'slide');\n const dir = next > prev ? 1 : -1;\n let outF: Keyframe;\n let inF: Keyframe;\n switch (effect) {\n case 'fade':\n outF = { opacity: 0 };\n inF = { opacity: 0 };\n break;\n case 'scale':\n outF = { opacity: 0, transform: 'scale(0.96)' };\n inF = { opacity: 0, transform: 'scale(1.04)' };\n break;\n case 'drill':\n outF = { opacity: 0, transform: `scale(${dir > 0 ? 1.06 : 0.94})` };\n inF = { opacity: 0, transform: `scale(${dir > 0 ? 0.94 : 1.06})` };\n break;\n default:\n outF = { opacity: 0, transform: `translateX(${-dir * 32}px)` };\n inF = { opacity: 0, transform: `translateX(${dir * 48}px)` };\n }\n const neutral = (f: Keyframe): Keyframe => ('transform' in f ? { opacity: 1, transform: 'none' } : { opacity: 1 });\n // Outgoing view stays stacked in the same grid cell while it leaves\n from.setAttribute('data-leaving', '');\n const a = this.motion(from, [neutral(outF), outF], { duration: duration * 0.6, easing: EASE_OUT, fill: 'forwards' });\n const b = this.motion(to, [inF, neutral(inF)], { duration, delay: duration * 0.15, easing: FLUENT_DECELERATE, fill: 'backwards' });\n this._anims = [a, b].filter((x): x is Animation => !!x);\n await Promise.all(this._anims.map((x) => x.finished.catch(() => undefined)));\n from.removeAttribute('data-leaving');\n if (this._index !== prev) this.setVisible(from, false);\n a?.cancel();\n }\n },\n { id: 'view-switch', text: css }\n );\n}\n","import { prefersReducedMotion, EASE_OUT, FLUENT_DECELERATE } from '../base';\n\nexport interface ViewTransitionOptions {\n /**\n * Element to cross-fade when the View Transitions API is missing (default:\n * none — the update is applied without animation).\n */\n fallback?: HTMLElement | null;\n /** Fallback fade duration in ms (default 180 out + 220 in). */\n duration?: number;\n /** View transition types (`document.startViewTransition({ types })`, where supported). */\n types?: string[];\n}\n\n/**\n * Run `update()` (which changes the DOM) inside a view transition:\n * `document.startViewTransition()` where available (Chrome/Edge 111+, so\n * Electron, WebView2 and Tauri on Windows), otherwise a short cross-fade of\n * `options.fallback`. Instant under reduced motion. Resolves when finished.\n *\n * Give elements a `view-transition-name` in CSS for shared-element morphs.\n */\nexport async function viewTransition(update: () => void | Promise<void>, options: ViewTransitionOptions = {}): Promise<void> {\n const doc: any = typeof document !== 'undefined' ? document : null;\n if (!doc || prefersReducedMotion()) {\n await update();\n return;\n }\n if (typeof doc.startViewTransition === 'function') {\n let vt: any;\n try {\n vt = options.types ? doc.startViewTransition({ update, types: options.types }) : doc.startViewTransition(update);\n } catch {\n vt = doc.startViewTransition(update);\n }\n await vt.finished.catch(() => undefined);\n return;\n }\n const el = options.fallback;\n const d = options.duration ?? 200;\n if (!el || typeof el.animate !== 'function') {\n await update();\n return;\n }\n await el.animate([{ opacity: 1 }, { opacity: 0 }], { duration: d * 0.8, easing: 'ease-in', fill: 'forwards' }).finished.catch(() => undefined);\n await update();\n const a = el.animate([{ opacity: 0, transform: 'translateY(6px)' }, { opacity: 1, transform: 'none' }], { duration: d * 1.1, easing: EASE_OUT });\n // remove the forwards fill of the fade-out\n el.getAnimations?.().forEach((x) => x !== a && x.cancel());\n await a.finished.catch(() => undefined);\n}\n\nexport interface FlipOptions {\n duration?: number;\n easing?: string;\n /** Fade/scale in elements that did not exist before (default true). */\n animateEnter?: boolean;\n}\n\ntype Targets = Element | Iterable<Element> | ArrayLike<Element>;\nconst list = (t: Targets): HTMLElement[] =>\n (t instanceof Element ? Array.from(t.children) : Array.from(t as ArrayLike<Element>)) as HTMLElement[];\n\n/**\n * FLIP animation for layout changes (list reorder, filter, grid resize):\n * measures `targets` (an element's children, or a list), runs `mutate()`,\n * then animates each element from its old position to its new one with\n * transforms only. Elements added by `mutate()` fade in.\n *\n * ```js\n * await flip(list, () => list.append(...shuffled));\n * ```\n */\nexport async function flip(targets: Targets, mutate: () => void | Promise<void>, options: FlipOptions = {}): Promise<void> {\n const before = new Map(list(targets).map((el) => [el, el.getBoundingClientRect()]));\n await mutate();\n if (prefersReducedMotion()) return;\n const after = list(targets);\n const duration = options.duration ?? 420;\n const easing = options.easing ?? FLUENT_DECELERATE;\n const anims: Animation[] = [];\n // Read all, then write all\n const rects = after.map((el) => el.getBoundingClientRect());\n after.forEach((el, i) => {\n if (typeof el.animate !== 'function') return;\n const first = before.get(el);\n const last = rects[i];\n if (!first) {\n if (options.animateEnter !== false) anims.push(el.animate([{ opacity: 0, transform: 'scale(0.9)' }, { opacity: 1, transform: 'none' }], { duration, easing }));\n return;\n }\n const dx = first.left - last.left;\n const dy = first.top - last.top;\n const sx = last.width ? first.width / last.width : 1;\n const sy = last.height ? first.height / last.height : 1;\n if (Math.abs(dx) < 0.5 && Math.abs(dy) < 0.5 && Math.abs(sx - 1) < 0.01 && Math.abs(sy - 1) < 0.01) return;\n anims.push(\n el.animate(\n [{ transformOrigin: '0 0', transform: `translate(${dx}px, ${dy}px) scale(${sx}, ${sy})` }, { transformOrigin: '0 0', transform: 'none' }],\n { duration, easing }\n )\n );\n });\n await Promise.all(anims.map((a) => a.finished.catch(() => undefined)));\n}\n","/**\n * motionary/components/transitions — view & layout transitions.\n * `<usa-dialog>`, `<usa-accordion>`, `<usa-view-switch>`\n * and the `viewTransition()` and `flip()` helpers (4.0: `<usa-flip-list>` → `<usa-auto-animate>`,\n * `connectedAnimation()` → `sharedTransition()`, both in `components/layout`).\n */\nimport { defineDialog, type UsaDialogElement } from './dialog';\nimport { defineAccordion, type UsaAccordionElement } from './accordion';\nimport { defineViewSwitch, type UsaViewSwitchElement } from './view-switch';\n\nexport { defineDialog, defineAccordion, defineViewSwitch };\nexport { viewTransition, flip } from './helpers';\nexport type { ViewTransitionOptions, FlipOptions } from './helpers';\nexport type { DialogVariant } from './dialog';\nexport type { UsaDialogElement, UsaAccordionElement, UsaViewSwitchElement };\n\n/** Register every component of this category under its default tag. */\nexport function defineTransitionComponents(): void {\n defineDialog();\n defineAccordion();\n defineViewSwitch();\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'usa-dialog': UsaDialogElement;\n 'usa-accordion': UsaAccordionElement;\n 'usa-view-switch': UsaViewSwitchElement;\n }\n}\n"],"names":["css"],"mappings":"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"}