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":"ui.js","sources":["../../src/components/ui/position.ts","../../src/components/ui/tabs.ts","../../src/components/ui/sheet.ts","../../src/components/ui/pull-refresh.ts","../../src/components/ui/fab.ts","../../src/components/ui/navbar.ts","../../src/components/ui/slider.ts","../../src/components/ui/popover.ts","../../src/components/ui/badge.ts","../../src/components/ui/avatar-stack.ts","../../src/components/ui/index.ts"],"sourcesContent":["export type Placement = 'top' | 'bottom' | 'left' | 'right';\n\n/** Position a fixed `floating` element next to `anchor`, flipping when it would leave the viewport. */\nexport function place(floating: HTMLElement, anchor: Element, placement: Placement = 'top', gap = 8): Placement {\n const a = anchor.getBoundingClientRect();\n const f = floating.getBoundingClientRect();\n const W = window.innerWidth || 1024;\n const H = window.innerHeight || 768;\n const fits: Record<Placement, boolean> = {\n top: a.top - f.height - gap >= 0,\n bottom: a.bottom + f.height + gap <= H,\n left: a.left - f.width - gap >= 0,\n right: a.right + f.width + gap <= W,\n };\n const opposite: Record<Placement, Placement> = { top: 'bottom', bottom: 'top', left: 'right', right: 'left' };\n const p = fits[placement] || !fits[opposite[placement]] ? placement : opposite[placement];\n let x = 0;\n let y = 0;\n if (p === 'top' || p === 'bottom') {\n x = Math.min(Math.max(4, a.left + a.width / 2 - f.width / 2), W - f.width - 4);\n y = p === 'top' ? a.top - f.height - gap : a.bottom + gap;\n } else {\n y = Math.min(Math.max(4, a.top + a.height / 2 - f.height / 2), H - f.height - 4);\n x = p === 'left' ? a.left - f.width - gap : a.right + gap;\n }\n floating.style.left = `${Math.round(x)}px`;\n floating.style.top = `${Math.round(y)}px`;\n floating.setAttribute('data-placement', p);\n return p;\n}\n\nlet uid = 0;\nexport const nextId = (prefix: string): string => `${prefix}-${++uid}`;\n","import { defineElement, type UsaElement } from '../base';\nimport { springEasing } from '../physics/spring';\nimport { adoptVariants } from './variants';\nimport { nextId } from './position';\nimport css from './tabs.css?raw';\n\n/**\n * `<usa-tabs>` — accessible tabs with a sliding (spring) indicator.\n * Tabs: `[data-tab]` children (buttons); panels: `[data-panel]` children, in\n * the same order. Arrow keys / Home / End move between tabs (roving tabindex).\n *\n * Attributes: `selected` (index, 0), `indicator` (`line` default, `pill`),\n * `variant`. Events: `usa:change` (`{ index }`). Panels fade/slide in;\n * reduced motion: the indicator jumps and panels switch instantly.\n */\nexport interface UsaTabsElement extends UsaElement {\n selected: number;\n select(i: number, focus?: boolean): void;\n}\n\nexport function defineTabs(tag = 'usa-tabs'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(\n tag,\n (Base) =>\n class UsaTabs extends Base {\n static get observedAttributes(): string[] {\n return ['indicator'];\n }\n\n private _i = 0;\n private _bar: HTMLElement | null = null;\n\n get selected(): number {\n return this._i;\n }\n set selected(v: number) {\n this.select(v);\n }\n\n private tabs(): HTMLElement[] {\n return Array.from(this.querySelectorAll<HTMLElement>('[data-tab]')).filter((t) => t.closest(this.localName) === this);\n }\n private panels(): HTMLElement[] {\n return Array.from(this.querySelectorAll<HTMLElement>('[data-panel]')).filter((t) => t.closest(this.localName) === this);\n }\n\n mount(): void {\n const tabs = this.tabs();\n const panels = this.panels();\n const list = tabs[0]?.parentElement;\n if (!list) return;\n list.setAttribute('role', 'tablist');\n list.classList.add('usa-tabs-list');\n if (!list.querySelector(':scope > .usa-tabs-indicator')) {\n this._bar = document.createElement('span');\n this._bar.className = 'usa-tabs-indicator';\n this._bar.setAttribute('aria-hidden', 'true');\n list.append(this._bar);\n } else this._bar = list.querySelector(':scope > .usa-tabs-indicator');\n tabs.forEach((t, i) => {\n t.id ||= nextId('usa-tab');\n t.setAttribute('role', 'tab');\n const p = panels[i];\n if (p) {\n p.id ||= nextId('usa-panel');\n p.setAttribute('role', 'tabpanel');\n p.setAttribute('aria-labelledby', t.id);\n t.setAttribute('aria-controls', p.id);\n if (!p.hasAttribute('tabindex')) p.tabIndex = 0;\n }\n this.listen(t, 'click', () => this.select(i));\n });\n this.listen(list, 'keydown', (e: KeyboardEvent) => {\n const n = tabs.length;\n const map: Record<string, number> = { ArrowRight: this._i + 1, ArrowDown: this._i + 1, ArrowLeft: this._i - 1, ArrowUp: this._i - 1, Home: 0, End: n - 1 };\n if (!(e.key in map)) return;\n e.preventDefault();\n this.select((map[e.key] + n) % n, true);\n });\n const ro = typeof ResizeObserver !== 'undefined' ? new ResizeObserver(() => this.moveBar(false)) : null;\n ro?.observe(list);\n this.onCleanup(() => ro?.disconnect());\n this.select(Math.max(0, Math.min(tabs.length - 1, this.num('selected', 0))), false, true);\n }\n\n private moveBar(animate: boolean): void {\n const t = this.tabs()[this._i];\n const bar = this._bar;\n if (!t || !bar) return;\n const from = bar.style.transform;\n const fromW = bar.style.width;\n bar.style.width = `${t.offsetWidth}px`;\n bar.style.transform = `translateX(${t.offsetLeft}px)`;\n if (animate && from && !this.reduced) this.motion(bar, [{ transform: from, width: fromW }, { transform: bar.style.transform, width: bar.style.width }], springEasing('stiff'));\n }\n\n select(i: number, focus = false, initial = false): void {\n const tabs = this.tabs();\n const panels = this.panels();\n if (!tabs[i]) return;\n const prev = this._i;\n this._i = i;\n this.setAttribute('selected', String(i));\n tabs.forEach((t, j) => {\n t.setAttribute('aria-selected', String(j === i));\n t.tabIndex = j === i ? 0 : -1;\n });\n panels.forEach((p, j) => (p.hidden = j !== i));\n if (focus) tabs[i].focus();\n this.moveBar(!initial);\n if (initial || prev === i) return;\n const p = panels[i];\n if (p && !this.reduced) this.motion(p, [{ opacity: 0, transform: `translateX(${i > prev ? 16 : -16}px)` }, { opacity: 1, transform: 'none' }], { duration: 280, easing: 'cubic-bezier(0.22, 1, 0.36, 1)' });\n this.emit('change', { index: i });\n }\n },\n { id: 'tabs', text: css }\n );\n}\n","import { defineElement, clamp, type UsaElement } from '../base';\nimport { createSpring, projectInertia, snapTo, rubberBand, type SpringValue } from '../physics/spring';\nimport { adoptVariants } from './variants';\nimport css from './sheet.css?raw';\n\n/** Shared machinery of `<usa-drawer>` and `<usa-bottom-sheet>`: backdrop, focus, Esc, drag-to-dismiss. */\nfunction makePanel(Base: any, kind: 'drawer' | 'sheet') {\n return class UsaPanel extends Base {\n static get observedAttributes(): string[] {\n return ['open', 'side'];\n }\n\n _pos!: SpringValue;\n _backdrop: HTMLElement | null = null;\n _return: Element | null = null;\n _drag: { id: number; start: number; origin: number; t: number; last: number; lt: number } | null = null;\n\n get open(): boolean {\n return this.flag('open');\n }\n set open(v: boolean) {\n this.setFlag('open', v);\n }\n\n /** Main axis size of the panel (px). */\n size(): number {\n const r = this.getBoundingClientRect();\n return (kind === 'sheet' || this.vertical() ? r.height : r.width) || (kind === 'sheet' ? window.innerHeight * 0.9 : 320);\n }\n vertical(): boolean {\n return kind === 'sheet' || this.str('side') === 'top' || this.str('side') === 'bottom';\n }\n /** +1 when hiding moves the panel in the positive axis direction. */\n dir(): number {\n const side = kind === 'sheet' ? 'bottom' : this.str('side', 'left');\n return side === 'left' || side === 'top' ? -1 : 1;\n }\n /** Offsets (px from fully open) the panel may rest at; the largest closes it. */\n stops(): number[] {\n return [0];\n }\n render(v: number): void {\n const axis = this.vertical() ? 'Y' : 'X';\n this.style.transform = `translate${axis}(${(v * this.dir()).toFixed(1)}px)`;\n if (this._backdrop) this._backdrop.style.opacity = String(clamp(1 - v / (this.size() || 1), 0, 1));\n }\n\n mount(): void {\n this.setAttribute('role', 'dialog');\n if (this.str('label')) this.setAttribute('aria-label', this.str('label'));\n if (!this.hasAttribute('tabindex')) this.tabIndex = -1;\n this.classList.add('usa-surface');\n this._pos = createSpring({ value: this.size() * 2, spring: 'stiff', onUpdate: (v) => this.render(v), onRest: (v) => v >= this.size() - 1 && !this.open && this.afterClose() });\n if (this.open) this.show(false);\n else {\n this.hidden = true;\n this._pos.jump(this.size() * 1.2);\n }\n this.listen(document, 'keydown', (e: KeyboardEvent) => e.key === 'Escape' && this.open && this.close());\n this.listen(this, 'click', (e: MouseEvent) => (e.target as Element).closest?.('[data-close]') && this.close());\n this.listen(this, 'pointerdown', (e: PointerEvent) => this.dragStart(e));\n this.listen(this, 'pointermove', (e: PointerEvent) => this.dragMove(e));\n this.listen(this, 'pointerup', (e: PointerEvent) => this.dragEnd(e));\n this.listen(this, 'pointercancel', (e: PointerEvent) => this.dragEnd(e));\n }\n\n unmount(): void {\n this._pos?.stop();\n this._backdrop?.remove();\n this._backdrop = null;\n }\n\n changed(name: string): void {\n if (name !== 'open') return super.changed(name);\n if (this.open && this.hidden) this.show(true);\n else if (!this.open && !this.hidden) this.hide();\n }\n\n show(animate = true): void {\n this._return = document.activeElement;\n this.hidden = false;\n this.setAttribute('aria-modal', 'true');\n if (!this._backdrop) {\n this._backdrop = document.createElement('div');\n this._backdrop.className = 'usa-panel-backdrop';\n this._backdrop.addEventListener('click', () => this.close());\n this.before(this._backdrop);\n }\n const target = this.stops()[this.initialStop()];\n if (!animate) this._pos.jump(target);\n else {\n this._pos.jump(this.size());\n this._pos.set(target);\n }\n this.setFlag('open', true);\n this.focus({ preventScroll: true });\n this.emit('open');\n }\n\n initialStop(): number {\n return 0;\n }\n\n hide(): void {\n this._pos.set(this.size() * 1.05);\n this.emit('close');\n }\n\n afterClose(): void {\n this.hidden = true;\n this._backdrop?.remove();\n this._backdrop = null;\n if (this._return instanceof HTMLElement) this._return.focus({ preventScroll: true });\n }\n\n close(): void {\n this.setFlag('open', false);\n }\n\n dragStart(e: PointerEvent): void {\n const handle = kind === 'sheet' ? (e.target as Element).closest?.('[data-handle], .usa-sheet-handle') || (this.scrollTop <= 0 ? this : null) : this;\n if (!handle || (e.target as Element).closest?.('input, textarea, select, button, a, [data-no-drag]')) return;\n const p = this.vertical() ? e.clientY : e.clientX;\n this._pos.stop();\n this._drag = { id: e.pointerId, start: p, origin: this._pos.value, t: e.timeStamp, last: p, lt: e.timeStamp };\n }\n dragMove(e: PointerEvent): void {\n const d = this._drag;\n if (!d || e.pointerId !== d.id) return;\n const p = this.vertical() ? e.clientY : e.clientX;\n let v = d.origin + (p - d.start) * this.dir();\n if (v < 0) v = rubberBand(v, 200);\n d.lt = d.t;\n d.t = e.timeStamp;\n d.last = p;\n this._pos.jump(v);\n }\n dragEnd(e: PointerEvent): void {\n const d = this._drag;\n if (!d || e.pointerId !== d.id) return;\n this._drag = null;\n const moved = this._pos.value - d.origin;\n const dt = Math.max(16, d.t - d.lt) / 1000;\n const vel = Math.abs(moved) > 4 ? (moved / Math.max(dt, (e.timeStamp - (d.lt || 0)) / 1000 || 0.1)) * 0.2 : 0;\n const projected = projectInertia(this._pos.value, clamp(vel, -3000, 3000));\n const stops = [...this.stops(), this.size()];\n const to = snapTo(projected, stops);\n if (to >= this.size() - 1) this.close();\n else this._pos.set(to);\n this.emit('snap', { offset: to });\n }\n };\n}\n\n/**\n * `<usa-drawer>` — a side panel that slides in with a spring and can be\n * dragged / swiped closed. Modal: backdrop, Esc, focus returns on close.\n * Attributes: `open`, `side` (`left` default, `right`, `top`, `bottom`),\n * `label`, `variant`. Events: `usa:open`, `usa:close`. `[data-close]` closes.\n * Reduced motion: opens and closes instantly.\n */\nexport interface UsaDrawerElement extends UsaElement {\n open: boolean;\n show(): void;\n close(): void;\n}\n\n/**\n * `<usa-bottom-sheet>` — a draggable bottom sheet with snap points\n * (`snap=\"0.3,0.6,0.92\"`, fractions of the viewport height; default\n * `0.5,0.92`; `start` = index of the snap it opens at, default 0), inertia and drag-down-to-dismiss. `[data-handle]` (or the\n * built-in grabber) drags it. Attributes: `open`, `snap`, `start` (initial\n * snap index), `label`, `variant`. Events: `usa:open`, `usa:close`, `usa:snap`.\n */\nexport interface UsaBottomSheetElement extends UsaDrawerElement {}\n\nexport function defineDrawer(tag = 'usa-drawer'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(tag, (Base) => makePanel(Base, 'drawer') as unknown as CustomElementConstructor, { id: 'sheet', text: css });\n}\n\nexport function defineBottomSheet(tag = 'usa-bottom-sheet'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(\n tag,\n (Base) => {\n const Panel = makePanel(Base, 'sheet');\n return class UsaBottomSheet extends Panel {\n static get observedAttributes(): string[] {\n return ['open', 'snap'];\n }\n mount(): void {\n if (!this.querySelector(':scope > .usa-sheet-handle')) {\n const h = document.createElement('div');\n h.className = 'usa-sheet-handle';\n h.setAttribute('aria-hidden', 'true');\n this.prepend(h);\n }\n super.mount();\n }\n size(): number {\n return (window.innerHeight || 800) * Math.max(...this.fractions());\n }\n fractions(): number[] {\n const f = this.str('snap', '0.5,0.92').split(',').map(Number).filter((n: number) => n > 0 && n <= 1);\n return f.length ? f : [0.5, 0.92];\n }\n stops(): number[] {\n const full = this.size();\n const H = window.innerHeight || 800;\n return this.fractions().map((f: number) => Math.max(0, full - f * H)).sort((a: number, b: number) => a - b);\n }\n initialStop(): number {\n const f = this.fractions();\n const pick = f[clamp(this.num('start', 0), 0, f.length - 1)];\n const target = Math.max(0, this.size() - pick * (window.innerHeight || 800));\n const s = this.stops();\n return Math.max(0, s.indexOf(target));\n }\n render(v: number): void {\n this.style.height = `${this.size()}px`;\n super.render(v);\n }\n } as unknown as CustomElementConstructor;\n },\n { id: 'sheet', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport { createSpring, rubberBand, type SpringValue } from '../physics/spring';\nimport { adoptVariants } from './variants';\nimport css from './pull-refresh.css?raw';\n\n/**\n * `<usa-pull-refresh>` — pull-to-refresh for a scroll container (itself):\n * pull down at the top (touch / pointer) and a spinner stretches in; past\n * `threshold` (px, 70) releasing fires `usa:refresh` — call\n * `event.detail.done()` (or return a promise to `onrefresh`) to finish.\n * Also exposes `refresh()` for a keyboard / button path.\n * Attributes: `threshold`, `disabled`, `label` (status text, \"Refreshing\").\n * Reduced motion: no stretch; the spinner simply appears while refreshing.\n */\nexport interface UsaPullRefreshElement extends UsaElement {\n readonly refreshing: boolean;\n refresh(): Promise<void>;\n}\n\nexport function definePullRefresh(tag = 'usa-pull-refresh'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(\n tag,\n (Base) =>\n class UsaPullRefresh extends Base {\n private _y!: SpringValue;\n private _busy = false;\n private _ind: HTMLElement | null = null;\n private _live: HTMLElement | null = null;\n\n get refreshing(): boolean {\n return this._busy;\n }\n\n private draw(v: number): void {\n const th = this.num('threshold', 70);\n this.style.setProperty('--usa-pull', `${v.toFixed(1)}px`);\n this.style.setProperty('--usa-pull-p', Math.min(1, v / th).toFixed(3));\n this.toggleAttribute('data-armed', v >= th && !this._busy);\n }\n\n mount(): void {\n if (!this.querySelector(':scope > .usa-pull-indicator')) {\n this._ind = document.createElement('div');\n this._ind.className = 'usa-pull-indicator';\n this._ind.setAttribute('aria-hidden', 'true');\n this._ind.innerHTML = '<svg viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"9\" pathLength=\"100\"/></svg>';\n this.prepend(this._ind);\n this._live = document.createElement('span');\n this._live.className = 'usa-sr';\n this._live.setAttribute('role', 'status');\n this.append(this._live);\n }\n this._y = createSpring({ spring: 'stiff', onUpdate: (v) => this.draw(v) });\n let start: number | null = null;\n let id = -1;\n this.listen(this, 'pointerdown', (e: PointerEvent) => {\n if (this.flag('disabled') || this._busy || this.scrollTop > 0) return;\n start = e.clientY;\n id = e.pointerId;\n });\n this.listen(this, 'pointermove', (e: PointerEvent) => {\n if (start === null || e.pointerId !== id) return;\n const d = e.clientY - start;\n if (d <= 0) return;\n this._y.jump(this.reduced ? 0 : rubberBand(d, 220));\n if (this.reduced && d > this.num('threshold', 70)) this.setAttribute('data-armed', '');\n });\n const end = (e: PointerEvent) => {\n if (start === null || e.pointerId !== id) return;\n const d = e.clientY - start;\n start = null;\n const armed = this.hasAttribute('data-armed') || (!this.reduced && this._y.value >= this.num('threshold', 70)) || (this.reduced && d > this.num('threshold', 70));\n if (armed) this.refresh();\n else this._y.set(0);\n };\n this.listen(this, 'pointerup', end);\n this.listen(this, 'pointercancel', end);\n }\n\n unmount(): void {\n this._y?.stop();\n }\n\n refresh(): Promise<void> {\n if (this._busy) return Promise.resolve();\n this._busy = true;\n this.removeAttribute('data-armed');\n this.setAttribute('data-refreshing', '');\n this.setAttribute('aria-busy', 'true');\n if (this._live) this._live.textContent = this.str('label', 'Refreshing');\n this._y.set(this.reduced ? 0 : this.num('threshold', 70) * 0.8);\n return new Promise((resolve) => {\n let finished = false;\n const done = () => {\n if (finished) return;\n finished = true;\n this._busy = false;\n this.removeAttribute('data-refreshing');\n this.removeAttribute('aria-busy');\n if (this._live) this._live.textContent = '';\n this._y.set(0);\n resolve();\n };\n const ev = new CustomEvent('usa:refresh', { detail: { done }, bubbles: true, cancelable: true });\n this.dispatchEvent(ev);\n const fn = (this as any).onrefresh;\n if (typeof fn === 'function') Promise.resolve(fn(ev)).then(done, done);\n });\n }\n },\n { id: 'pull-refresh', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport { springEasing } from '../physics/spring';\nimport { adoptVariants } from './variants';\nimport css from './fab.css?raw';\n\n/**\n * `<usa-fab>` — floating action button with a speed dial. The first element\n * child is the main button; the others are actions that fan out with a\n * staggered spring when it opens (`direction=\"up\"` default, `down`, `left`,\n * `right`, `radial`). Esc / outside click closes; `aria-expanded` on the\n * main button; actions are hidden from AT while closed.\n * Attributes: `open`, `direction`, `position` (`bottom-right` default, `bottom-left`,\n * `inline`), `gap` (px, 56), `variant`. Events: `usa:toggle` (`{ open }`).\n * Reduced motion: actions appear without travel.\n */\nexport interface UsaFabElement extends UsaElement {\n open: boolean;\n toggle(force?: boolean): void;\n}\n\nexport function defineFab(tag = 'usa-fab'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(\n tag,\n (Base) =>\n class UsaFab extends Base {\n static get observedAttributes(): string[] {\n return ['direction', 'gap'];\n }\n get open(): boolean {\n return this.flag('open');\n }\n set open(v: boolean) {\n this.toggle(v);\n }\n\n private parts(): [HTMLElement | null, HTMLElement[]] {\n const kids = Array.from(this.children) as HTMLElement[];\n return [kids[0] || null, kids.slice(1)];\n }\n\n private offset(i: number, n: number): [number, number] {\n const g = this.num('gap', 56) * (i + 1);\n switch (this.str('direction', 'up')) {\n case 'down':\n return [0, g];\n case 'left':\n return [-g, 0];\n case 'right':\n return [g, 0];\n case 'radial': {\n const a = Math.PI + (n > 1 ? (i / (n - 1)) * (Math.PI / 2) : Math.PI / 4);\n const r = this.num('gap', 56) * 1.6;\n return [Math.cos(a) * r, Math.sin(a) * r];\n }\n default:\n return [0, -g];\n }\n }\n\n mount(): void {\n const [main, actions] = this.parts();\n if (!main) return;\n main.classList.add('usa-fab-main');\n main.setAttribute('aria-haspopup', 'true');\n actions.forEach((a) => a.classList.add('usa-fab-action'));\n this.apply(false);\n this.listen(main, 'click', () => this.toggle());\n this.listen(document, 'keydown', (e: KeyboardEvent) => {\n if (e.key === 'Escape' && this.open) {\n this.toggle(false);\n main.focus();\n }\n });\n this.listen(document, 'pointerdown', (e: PointerEvent) => this.open && !this.contains(e.target as Node) && this.toggle(false));\n this.listen(this, 'click', (e: MouseEvent) => {\n const a = (e.target as Element).closest?.('.usa-fab-action');\n if (a && this.contains(a)) this.toggle(false);\n });\n }\n\n private apply(animate: boolean): void {\n const [main, actions] = this.parts();\n if (!main) return;\n const open = this.open;\n main.setAttribute('aria-expanded', String(open));\n actions.forEach((a, i) => {\n const [x, y] = this.offset(i, actions.length);\n a.toggleAttribute('inert', !open);\n a.setAttribute('aria-hidden', String(!open));\n const to = open ? `translate(${x.toFixed(1)}px, ${y.toFixed(1)}px) scale(1)` : 'translate(0, 0) scale(0.4)';\n const from = a.style.transform || 'translate(0, 0) scale(0.4)';\n a.style.transform = this.reduced ? (open ? `translate(${x.toFixed(1)}px, ${y.toFixed(1)}px)` : 'translate(0, 0)') : to;\n a.style.opacity = open ? '1' : '0';\n if (animate && !this.reduced) {\n const t = springEasing(open ? 'wobbly' : 'stiff');\n this.motion(a, [{ transform: from, opacity: open ? 0 : 1 }, { transform: to, opacity: open ? 1 : 0 }], { ...t, delay: (open ? i : actions.length - 1 - i) * 35 });\n }\n });\n }\n\n toggle(force?: boolean): void {\n const next = force === undefined ? !this.open : force;\n if (next === this.open) return;\n this.setFlag('open', next);\n this.apply(true);\n this.emit('toggle', { open: next });\n }\n },\n { id: 'fab', text: css }\n );\n}\n","import { defineElement, raf, caf, type UsaElement } from '../base';\nimport { adoptVariants } from './variants';\nimport css from './navbar.css?raw';\n\n/**\n * `<usa-navbar>` — an app bar that hides while you scroll down and returns\n * as soon as you scroll up (or reach the top); `shrink` makes it compact\n * once scrolled. Focus inside always reveals it.\n * Attributes: `threshold` (px of scroll before hiding, 64), `shrink`,\n * `target` (selector of a scroll container instead of the page), `variant`.\n * State attributes: `data-hidden`, `data-scrolled`. Events: `usa:hide`, `usa:show`.\n * Reduced motion: hides/shows without sliding (instant).\n */\nexport interface UsaNavbarElement extends UsaElement {\n readonly hiddenByScroll: boolean;\n show(): void;\n}\n\nexport function defineNavbar(tag = 'usa-navbar'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(\n tag,\n (Base) =>\n class UsaNavbar extends Base {\n private _frame = 0;\n private _last = 0;\n\n get hiddenByScroll(): boolean {\n return this.hasAttribute('data-hidden');\n }\n\n mount(): void {\n const sel = this.str('target');\n const scroller: HTMLElement | Window = (sel && (document.querySelector(sel) as HTMLElement)) || window;\n const pos = () => (scroller === window ? window.scrollY || document.documentElement.scrollTop : (scroller as HTMLElement).scrollTop);\n this._last = pos();\n const update = () => {\n this._frame = 0;\n const y = pos();\n const dy = y - this._last;\n this._last = y;\n this.toggleAttribute('data-scrolled', y > 4);\n if (y <= this.num('threshold', 64) || dy < -2) this.show();\n else if (dy > 2 && !this.contains(document.activeElement)) this.hide();\n };\n const on = () => {\n if (!this._frame) this._frame = raf(update);\n };\n this.listen(scroller, 'scroll', on, { passive: true });\n this.listen(this, 'focusin', () => this.show());\n update();\n }\n\n unmount(): void {\n caf(this._frame);\n this._frame = 0;\n }\n\n private hide(): void {\n if (this.hiddenByScroll) return;\n this.setAttribute('data-hidden', '');\n this.emit('hide');\n }\n\n show(): void {\n if (!this.hiddenByScroll) return;\n this.removeAttribute('data-hidden');\n this.emit('show');\n }\n },\n { id: 'navbar', text: css }\n );\n}\n","import { defineElement, clamp, type UsaElement } from '../base';\nimport { createSpring, type SpringValue } from '../physics/spring';\nimport { adoptVariants } from './variants';\nimport css from './slider.css?raw';\n\n/**\n * `<usa-slider>` — a form-associated range slider (`role=\"slider\"`). The\n * thumb follows with a spring, grows while dragged and shows a value bubble.\n * Keyboard: arrows (step), PageUp/PageDown (10 steps), Home/End.\n * Attributes: `value`, `min` (0), `max` (100), `step` (1), `name`, `label`,\n * `bubble` (show the value while dragging), `disabled`, `variant`.\n * Events: `input` + `usa:input` while moving, `change` + `usa:change` on release.\n * Reduced motion: the thumb jumps (no spring).\n */\nexport interface UsaSliderElement extends UsaElement {\n value: number;\n}\n\nexport function defineSlider(tag = 'usa-slider'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(\n tag,\n (Base) => {\n class UsaSlider extends Base {\n static formAssociated = true;\n static get observedAttributes(): string[] {\n return ['min', 'max', 'disabled', 'label'];\n }\n private _internals: ElementInternals | null = null;\n private _v = 0;\n private _pos!: SpringValue;\n private _id = -1;\n\n constructor() {\n super();\n try {\n this._internals = (this as any).attachInternals?.() ?? null;\n } catch {\n this._internals = null;\n }\n }\n\n private range(): [number, number, number] {\n const min = this.num('min', 0);\n const max = Math.max(min + 1e-9, this.num('max', 100));\n return [min, max, Math.max(1e-9, this.num('step', 1))];\n }\n get value(): number {\n return this._v;\n }\n set value(v: number) {\n this.setValue(v, false);\n }\n\n private fraction(v = this._v): number {\n const [min, max] = this.range();\n return (v - min) / (max - min);\n }\n\n private setValue(v: number, user: boolean, animate = true): void {\n const [min, max, step] = this.range();\n const q = clamp(Math.round((v - min) / step) * step + min, min, max);\n const val = Number(q.toFixed(10));\n const changed = val !== this._v;\n this._v = val;\n this.setAttribute('aria-valuenow', String(val));\n this.setAttribute('aria-valuetext', String(val));\n this._internals?.setFormValue?.(String(val));\n const bubble = this.querySelector('.usa-slider-bubble');\n if (bubble) bubble.textContent = String(val);\n if (animate) this._pos?.set(this.fraction());\n else this._pos?.jump(this.fraction());\n if (changed && user) {\n this.dispatchEvent(new Event('input', { bubbles: true }));\n this.emit('input', { value: val });\n }\n }\n\n mount(): void {\n if (!this.querySelector(':scope > .usa-slider-track')) {\n this.innerHTML = '<span class=\"usa-slider-track\"><span class=\"usa-slider-fill\"></span></span><span class=\"usa-slider-thumb\"><span class=\"usa-slider-bubble\"></span></span>';\n }\n this.setAttribute('role', 'slider');\n if (!this.hasAttribute('tabindex')) this.tabIndex = 0;\n const [min, max] = this.range();\n this.setAttribute('aria-valuemin', String(min));\n this.setAttribute('aria-valuemax', String(max));\n if (this.str('label')) this.setAttribute('aria-label', this.str('label'));\n this.toggleAttribute('aria-disabled', this.flag('disabled'));\n this._pos = createSpring({ spring: 'stiff', onUpdate: (f) => this.style.setProperty('--usa-slider', clamp(f, 0, 1).toFixed(4)) });\n this.setValue(this.num('value', min), false, false);\n const fromPointer = (e: PointerEvent) => {\n const r = this.getBoundingClientRect();\n return min + clamp((e.clientX - r.left) / (r.width || 1), 0, 1) * (max - min);\n };\n this.listen(this, 'pointerdown', (e: PointerEvent) => {\n if (this.flag('disabled')) return;\n this._id = e.pointerId;\n try {\n this.setPointerCapture?.(e.pointerId);\n } catch {\n /* synthetic */\n }\n this.setAttribute('data-dragging', '');\n this.setValue(fromPointer(e), true);\n });\n this.listen(this, 'pointermove', (e: PointerEvent) => e.pointerId === this._id && this.setValue(fromPointer(e), true));\n const end = (e: PointerEvent) => {\n if (e.pointerId !== this._id) return;\n this._id = -1;\n this.removeAttribute('data-dragging');\n this.commit();\n };\n this.listen(this, 'pointerup', end);\n this.listen(this, 'pointercancel', end);\n this.listen(this, 'keydown', (e: KeyboardEvent) => {\n if (this.flag('disabled')) return;\n const [mn, mx, st] = this.range();\n const map: Record<string, number> = { ArrowRight: this._v + st, ArrowUp: this._v + st, ArrowLeft: this._v - st, ArrowDown: this._v - st, PageUp: this._v + st * 10, PageDown: this._v - st * 10, Home: mn, End: mx };\n if (!(e.key in map)) return;\n e.preventDefault();\n this.setValue(map[e.key], true);\n this.commit();\n });\n }\n\n unmount(): void {\n this._pos?.stop();\n }\n\n private commit(): void {\n this.dispatchEvent(new Event('change', { bubbles: true }));\n this.emit('change', { value: this._v });\n }\n }\n return UsaSlider as unknown as CustomElementConstructor;\n },\n { id: 'slider', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport { springEasing } from '../physics/spring';\nimport { adoptVariants } from './variants';\nimport { place, nextId, type Placement } from './position';\nimport css from './popover.css?raw';\n\n/**\n * `<usa-popover>` — a click-to-open popover: the first element child is the\n * trigger, `[data-popover]` is the content. Springs open from the trigger,\n * flips to stay on screen; Esc or an outside click closes and focus returns\n * to the trigger. `aria-expanded` / `aria-controls` on the trigger.\n * Attributes: `open`, `placement` (`bottom` default), `variant`. Events:\n * `usa:open`, `usa:close`. Reduced motion: fades only.\n */\nexport interface UsaPopoverElement extends UsaElement {\n open: boolean;\n toggle(force?: boolean): void;\n}\n\nexport function definePopover(tag = 'usa-popover'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(\n tag,\n (Base) =>\n class UsaPopover extends Base {\n get open(): boolean {\n return this.flag('open');\n }\n set open(v: boolean) {\n this.toggle(v);\n }\n private parts(): [HTMLElement | null, HTMLElement | null] {\n return [this.firstElementChild as HTMLElement | null, this.querySelector<HTMLElement>(':scope > [data-popover]')];\n }\n\n mount(): void {\n const [trigger, panel] = this.parts();\n if (!trigger || !panel || trigger === panel) return;\n panel.id ||= nextId('usa-pop');\n panel.classList.add('usa-surface', 'usa-popover-panel');\n if (!panel.hasAttribute('role')) panel.setAttribute('role', 'dialog');\n panel.tabIndex = -1;\n trigger.setAttribute('aria-controls', panel.id);\n trigger.setAttribute('aria-haspopup', 'dialog');\n this.render(false);\n this.listen(trigger, 'click', () => this.toggle());\n this.listen(document, 'keydown', (e: KeyboardEvent) => {\n if (e.key === 'Escape' && this.open) {\n this.toggle(false);\n trigger.focus();\n }\n });\n this.listen(document, 'pointerdown', (e: PointerEvent) => this.open && !this.contains(e.target as Node) && this.toggle(false));\n this.listen(window, 'resize', () => this.open && place(panel, trigger, this.str('placement', 'bottom') as Placement));\n }\n\n private render(animate: boolean): void {\n const [trigger, panel] = this.parts();\n if (!trigger || !panel) return;\n trigger.setAttribute('aria-expanded', String(this.open));\n panel.hidden = !this.open;\n if (!this.open) return;\n const p = place(panel, trigger, this.str('placement', 'bottom') as Placement);\n if (!animate) return;\n const origin = { top: '50% 100%', bottom: '50% 0', left: '100% 50%', right: '0 50%' }[p];\n panel.style.transformOrigin = origin;\n this.motion(panel, this.reduced ? [{ opacity: 0 }, { opacity: 1 }] : [{ opacity: 0, transform: 'scale(0.9)' }, { opacity: 1, transform: 'none' }], this.reduced ? { duration: 120 } : springEasing('wobbly'));\n panel.focus({ preventScroll: true });\n }\n\n toggle(force?: boolean): void {\n const next = force === undefined ? !this.open : force;\n if (next === this.open) return;\n this.setFlag('open', next);\n this.render(true);\n this.emit(next ? 'open' : 'close');\n }\n },\n { id: 'popover', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport { springEasing } from '../physics/spring';\nimport { adoptVariants } from './variants';\nimport css from './badge.css?raw';\n\n/**\n * `<usa-badge>` — a count / dot badge on whatever it wraps; bumps with a\n * spring whenever the value changes and pulses with `pulse`.\n * Attributes: `value` (number or text; 0 / empty hides it unless\n * `show-zero`), `max` (99 → \"99+\"), `dot`, `pulse`, `label` (accessible\n * text, default \"{n} new\"), `variant`. Reduced motion: no bump or pulse.\n */\nexport interface UsaBadgeElement extends UsaElement {\n value: string;\n}\n\nexport function defineBadge(tag = 'usa-badge'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(\n tag,\n (Base) =>\n class UsaBadge extends Base {\n static get observedAttributes(): string[] {\n return ['value', 'max', 'dot', 'label'];\n }\n private _el: HTMLElement | null = null;\n get value(): string {\n return this.str('value');\n }\n set value(v: string) {\n this.setAttribute('value', String(v));\n }\n\n mount(): void {\n if (!this._el || !this._el.isConnected) {\n this._el = document.createElement('span');\n this._el.className = 'usa-badge-count';\n this.append(this._el);\n }\n this.sync(false);\n }\n\n changed(name: string): void {\n this.sync(name === 'value');\n }\n\n private sync(bump: boolean): void {\n const el = this._el;\n if (!el) return;\n const raw = this.value;\n const n = Number(raw);\n const max = this.num('max', 99);\n const text = this.flag('dot') ? '' : raw !== '' && Number.isFinite(n) && n > max ? `${max}+` : raw;\n const empty = !this.flag('dot') && (raw === '' || (raw === '0' && !this.flag('show-zero')));\n el.textContent = text;\n el.hidden = empty;\n this.toggleAttribute('data-dot', this.flag('dot'));\n const label = this.str('label', raw ? `${raw} new` : 'New');\n el.setAttribute('aria-label', label.replace('{n}', raw));\n el.setAttribute('role', 'status');\n if (bump && !empty && !this.reduced) this.motion(el, [{ transform: 'scale(0.4)' }, { transform: 'scale(1)' }], springEasing('bouncy'));\n }\n },\n { id: 'badge', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport { adoptVariants } from './variants';\nimport css from './avatar-stack.css?raw';\n\n/**\n * `<usa-avatar-stack>` — overlapping avatars (its children: `<img>` or any\n * element) that spread apart with a spring on hover / focus; extra ones\n * collapse into a \"+N\" chip.\n * Attributes: `max` (visible avatars, 5), `size` (px, 36), `overlap` (0–1,\n * 0.35), `label` (group name), `variant`. Reduced motion: no spreading.\n */\nexport interface UsaAvatarStackElement extends UsaElement {}\n\nexport function defineAvatarStack(tag = 'usa-avatar-stack'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(\n tag,\n (Base) =>\n class UsaAvatarStack extends Base {\n static get observedAttributes(): string[] {\n return ['max', 'size', 'overlap'];\n }\n mount(): void {\n this.querySelector(':scope > .usa-avatar-more')?.remove();\n const kids = Array.from(this.children) as HTMLElement[];\n const max = Math.max(1, this.num('max', 5));\n this.style.setProperty('--usa-avatar-size', `${this.num('size', 36)}px`);\n this.style.setProperty('--usa-avatar-overlap', String(this.num('overlap', 0.35)));\n this.setAttribute('role', 'group');\n this.setAttribute('aria-label', this.str('label', `${kids.length} people`));\n kids.forEach((k, i) => {\n k.classList.add('usa-avatar');\n k.hidden = i >= max;\n k.style.setProperty('--i', String(i));\n k.style.zIndex = String(kids.length - i);\n });\n if (kids.length > max) {\n const more = document.createElement('span');\n more.className = 'usa-avatar usa-avatar-more';\n more.textContent = `+${kids.length - max}`;\n more.style.setProperty('--i', String(max));\n more.setAttribute('aria-label', `and ${kids.length - max} more`);\n this.append(more);\n }\n }\n },\n { id: 'avatar-stack', text: css }\n );\n}\n","/**\n * motionary/components/ui — animated UI components + style variants (v2.6).\n * `<usa-tabs>`, `<usa-drawer>`, `<usa-bottom-sheet>`, `<usa-pull-refresh>`,\n * `<usa-fab>`, `<usa-navbar>`, `<usa-slider>`,\n * `<usa-popover>`, `<usa-badge>`, `<usa-avatar-stack>`,\n * and `variant=\"minimal | neon | glass | brutalist | fluent | material\"`\n * design tokens (`setVariant()`, `VARIANTS`).\n */\nimport { defineTabs, type UsaTabsElement } from './tabs';\nimport { defineDrawer, defineBottomSheet, type UsaDrawerElement, type UsaBottomSheetElement } from './sheet';\nimport { definePullRefresh, type UsaPullRefreshElement } from './pull-refresh';\nimport { defineFab, type UsaFabElement } from './fab';\nimport { defineNavbar, type UsaNavbarElement } from './navbar';\nimport { defineSlider, type UsaSliderElement } from './slider';\nimport { definePopover, type UsaPopoverElement } from './popover';\nimport { defineBadge, type UsaBadgeElement } from './badge';\nimport { defineAvatarStack, type UsaAvatarStackElement } from './avatar-stack';\n\nexport { defineTabs, defineDrawer, defineBottomSheet, definePullRefresh, defineFab, defineNavbar, defineSlider, definePopover, defineBadge, defineAvatarStack };\nexport { VARIANTS, setVariant, adoptVariants } from './variants';\nexport type { Variant } from './variants';\nexport type { Placement } from './position';\nexport type {\n UsaTabsElement,\n UsaDrawerElement,\n UsaBottomSheetElement,\n UsaPullRefreshElement,\n UsaFabElement,\n UsaNavbarElement,\n UsaSliderElement,\n UsaPopoverElement,\n UsaBadgeElement,\n UsaAvatarStackElement,\n};\n\n/** Register every component of this category under its default tag. */\nexport function defineUiComponents(): void {\n defineTabs();\n defineDrawer();\n defineBottomSheet();\n definePullRefresh();\n defineFab();\n defineNavbar();\n defineSlider();\n definePopover();\n defineBadge();\n defineAvatarStack();\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'usa-tabs': UsaTabsElement;\n 'usa-drawer': UsaDrawerElement;\n 'usa-bottom-sheet': UsaBottomSheetElement;\n 'usa-pull-refresh': UsaPullRefreshElement;\n 'usa-fab': UsaFabElement;\n 'usa-navbar': UsaNavbarElement;\n 'usa-slider': UsaSliderElement;\n 'usa-popover': UsaPopoverElement;\n 'usa-badge': UsaBadgeElement;\n 'usa-avatar-stack': UsaAvatarStackElement;\n }\n}\n"],"names":["css"],"mappings":";;;;;AAEA;AACM,SAAU,KAAK,CAAC,QAAqB,EAAE,MAAe,EAAE,SAAA,GAAuB,KAAK,EAAE,GAAG,GAAG,CAAC,EAAA;AACjG,IAAA,MAAM,CAAC,GAAG,MAAM,CAAC,qBAAqB,EAAE;AACxC,IAAA,MAAM,CAAC,GAAG,QAAQ,CAAC,qBAAqB,EAAE;AAC1C,IAAA,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,IAAI,IAAI;AACnC,IAAA,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,IAAI,GAAG;AACnC,IAAA,MAAM,IAAI,GAA+B;QACvC,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC;QAChC,MAAM,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC;QACtC,IAAI,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC;QACjC,KAAK,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC;KACpC;AACD,IAAA,MAAM,QAAQ,GAAiC,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE;IAC7G,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;IACzF,IAAI,CAAC,GAAG,CAAC;IACT,IAAI,CAAC,GAAG,CAAC;IACT,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,QAAQ,EAAE;AACjC,QAAA,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;QAC9E,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,MAAM,GAAG,GAAG;IAC3D;SAAO;AACL,QAAA,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAChF,CAAC,GAAG,CAAC,KAAK,MAAM,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,GAAG;IAC3D;AACA,IAAA,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,CAAA,EAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;AAC1C,IAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,CAAA,EAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;AACzC,IAAA,QAAQ,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC,CAAC;AAC1C,IAAA,OAAO,CAAC;AACV;AAEA,IAAI,GAAG,GAAG,CAAC;AACJ,MAAM,MAAM,GAAG,CAAC,MAAc,KAAa,GAAG,MAAM,CAAA,CAAA,EAAI,EAAE,GAAG,EAAE;;;;ACZhE,SAAU,UAAU,CAAC,GAAG,GAAG,UAAU,EAAA;AACzC,IAAA,aAAa,EAAE;AACf,IAAA,OAAO,aAAa,CAClB,GAAG,EACH,CAAC,IAAI,KACH,MAAM,OAAQ,SAAQ,IAAI,CAAA;AAA1B,QAAA,WAAA,GAAA;;YAKU,IAAA,CAAA,EAAE,GAAG,CAAC;YACN,IAAA,CAAA,IAAI,GAAuB,IAAI;QAqFzC;AA1FE,QAAA,WAAW,kBAAkB,GAAA;YAC3B,OAAO,CAAC,WAAW,CAAC;QACtB;AAKA,QAAA,IAAI,QAAQ,GAAA;YACV,OAAO,IAAI,CAAC,EAAE;QAChB;QACA,IAAI,QAAQ,CAAC,CAAS,EAAA;AACpB,YAAA,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAChB;QAEQ,IAAI,GAAA;AACV,YAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAc,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;QACvH;QACQ,MAAM,GAAA;AACZ,YAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAc,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;QACzH;QAEA,KAAK,GAAA;AACH,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE;AACxB,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;YAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,aAAa;AACnC,YAAA,IAAI,CAAC,IAAI;gBAAE;AACX,YAAA,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC;AACpC,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,8BAA8B,CAAC,EAAE;gBACvD,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;AAC1C,gBAAA,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,oBAAoB;gBAC1C,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC;AAC7C,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YACxB;;gBAAO,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,8BAA8B,CAAC;YACrE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;gBACpB,CAAC,CAAC,EAAE,KAAJ,CAAC,CAAC,EAAE,GAAK,MAAM,CAAC,SAAS,CAAC,CAAA;AAC1B,gBAAA,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC;AAC7B,gBAAA,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;gBACnB,IAAI,CAAC,EAAE;oBACL,CAAC,CAAC,EAAE,KAAJ,CAAC,CAAC,EAAE,GAAK,MAAM,CAAC,WAAW,CAAC,CAAA;AAC5B,oBAAA,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC;oBAClC,CAAC,CAAC,YAAY,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,CAAC;oBACvC,CAAC,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC;AACrC,oBAAA,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC;AAAE,wBAAA,CAAC,CAAC,QAAQ,GAAG,CAAC;gBACjD;AACA,gBAAA,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC/C,YAAA,CAAC,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAgB,KAAI;AAChD,gBAAA,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM;gBACrB,MAAM,GAAG,GAA2B,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE;AAC1J,gBAAA,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC;oBAAE;gBACrB,CAAC,CAAC,cAAc,EAAE;AAClB,gBAAA,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;AACzC,YAAA,CAAC,CAAC;YACF,MAAM,EAAE,GAAG,OAAO,cAAc,KAAK,WAAW,GAAG,IAAI,cAAc,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI;AACvG,YAAA,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC;YACjB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC;AACtC,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC;QAC3F;AAEQ,QAAA,OAAO,CAAC,OAAgB,EAAA;YAC9B,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;AAC9B,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI;AACrB,YAAA,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG;gBAAE;AAChB,YAAA,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS;AAChC,YAAA,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK;YAC7B,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,WAAW,CAAA,EAAA,CAAI;YACtC,GAAG,CAAC,KAAK,CAAC,SAAS,GAAG,cAAc,CAAC,CAAC,UAAU,CAAA,GAAA,CAAK;AACrD,YAAA,IAAI,OAAO,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO;AAAE,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;QAChL;QAEA,MAAM,CAAC,CAAS,EAAE,KAAK,GAAG,KAAK,EAAE,OAAO,GAAG,KAAK,EAAA;AAC9C,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE;AACxB,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;AAC5B,YAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAAE;AACd,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;AACpB,YAAA,IAAI,CAAC,EAAE,GAAG,CAAC;YACX,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;YACxC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;AACpB,gBAAA,CAAC,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAChD,gBAAA,CAAC,CAAC,QAAQ,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;AAC/B,YAAA,CAAC,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9C,YAAA,IAAI,KAAK;AAAE,gBAAA,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE;AAC1B,YAAA,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;AACtB,YAAA,IAAI,OAAO,IAAI,IAAI,KAAK,CAAC;gBAAE;AAC3B,YAAA,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;AACnB,YAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,CAAA,WAAA,EAAc,CAAC,GAAG,IAAI,GAAG,EAAE,GAAG,GAAG,CAAA,GAAA,CAAK,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,gCAAgC,EAAE,CAAC;YAC3M,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACnC;KACD,EACH,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAEA,KAAG,EAAE,CAC1B;AACH;;;;AClHA;AACA,SAAS,SAAS,CAAC,IAAS,EAAE,IAAwB,EAAA;IACpD,OAAO,MAAM,QAAS,SAAQ,IAAI,CAAA;AAA3B,QAAA,WAAA,GAAA;;YAML,IAAA,CAAA,SAAS,GAAuB,IAAI;YACpC,IAAA,CAAA,OAAO,GAAmB,IAAI;YAC9B,IAAA,CAAA,KAAK,GAA8F,IAAI;QAwIzG;AA/IE,QAAA,WAAW,kBAAkB,GAAA;AAC3B,YAAA,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC;QACzB;AAOA,QAAA,IAAI,IAAI,GAAA;AACN,YAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAC1B;QACA,IAAI,IAAI,CAAC,CAAU,EAAA;AACjB,YAAA,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACzB;;QAGA,IAAI,GAAA;AACF,YAAA,MAAM,CAAC,GAAG,IAAI,CAAC,qBAAqB,EAAE;AACtC,YAAA,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,MAAM,IAAI,KAAK,OAAO,GAAG,MAAM,CAAC,WAAW,GAAG,GAAG,GAAG,GAAG,CAAC;QAC1H;QACA,QAAQ,GAAA;YACN,OAAO,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,QAAQ;QACxF;;QAEA,GAAG,GAAA;YACD,MAAM,IAAI,GAAG,IAAI,KAAK,OAAO,GAAG,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;AACnE,YAAA,OAAO,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,GAAG,CAAC;QACnD;;QAEA,KAAK,GAAA;YACH,OAAO,CAAC,CAAC,CAAC;QACZ;AACA,QAAA,MAAM,CAAC,CAAS,EAAA;AACd,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,GAAG;YACxC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAA,SAAA,EAAY,IAAI,CAAA,CAAA,EAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA,GAAA,CAAK;YAC3E,IAAI,IAAI,CAAC,SAAS;AAAE,gBAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACpG;QAEA,KAAK,GAAA;AACH,YAAA,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC;AACnC,YAAA,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;AAAE,gBAAA,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACzE,YAAA,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;AAAE,gBAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;AACtD,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC;AACjC,YAAA,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;YAC9K,IAAI,IAAI,CAAC,IAAI;AAAE,gBAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;iBAC1B;AACH,gBAAA,IAAI,CAAC,MAAM,GAAG,IAAI;AAClB,gBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC;YACnC;YACA,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAgB,KAAK,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACvG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAa,KAAM,CAAC,CAAC,MAAkB,CAAC,OAAO,GAAG,cAAc,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;AAC9G,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC,CAAe,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AACxE,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC,CAAe,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACvE,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAe,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACpE,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,EAAE,CAAC,CAAe,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1E;QAEA,OAAO,GAAA;AACL,YAAA,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE;AACjB,YAAA,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE;AACxB,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI;QACvB;AAEA,QAAA,OAAO,CAAC,IAAY,EAAA;YAClB,IAAI,IAAI,KAAK,MAAM;AAAE,gBAAA,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;AAC/C,YAAA,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM;AAAE,gBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;iBACxC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,IAAI,CAAC,IAAI,EAAE;QAClD;QAEA,IAAI,CAAC,OAAO,GAAG,IAAI,EAAA;AACjB,YAAA,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa;AACrC,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,YAAA,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC;AACvC,YAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACnB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;AAC9C,gBAAA,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,oBAAoB;AAC/C,gBAAA,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;AAC5D,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;YAC7B;AACA,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;AAC/C,YAAA,IAAI,CAAC,OAAO;AAAE,gBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;iBAC/B;gBACH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AAC3B,gBAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;YACvB;AACA,YAAA,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AACnC,YAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QACnB;QAEA,WAAW,GAAA;AACT,YAAA,OAAO,CAAC;QACV;QAEA,IAAI,GAAA;AACF,YAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC;AACjC,YAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QACpB;QAEA,UAAU,GAAA;AACR,YAAA,IAAI,CAAC,MAAM,GAAG,IAAI;AAClB,YAAA,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE;AACxB,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI;AACrB,YAAA,IAAI,IAAI,CAAC,OAAO,YAAY,WAAW;gBAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;QACtF;QAEA,KAAK,GAAA;AACH,YAAA,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC;QAC7B;AAEA,QAAA,SAAS,CAAC,CAAe,EAAA;AACvB,YAAA,MAAM,MAAM,GAAG,IAAI,KAAK,OAAO,GAAI,CAAC,CAAC,MAAkB,CAAC,OAAO,GAAG,kCAAkC,CAAC,KAAK,IAAI,CAAC,SAAS,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI;YACnJ,IAAI,CAAC,MAAM,IAAK,CAAC,CAAC,MAAkB,CAAC,OAAO,GAAG,oDAAoD,CAAC;gBAAE;AACtG,YAAA,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO;AACjD,YAAA,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;AAChB,YAAA,IAAI,CAAC,KAAK,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE;QAC/G;AACA,QAAA,QAAQ,CAAC,CAAe,EAAA;AACtB,YAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK;YACpB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,EAAE;gBAAE;AAChC,YAAA,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO;AACjD,YAAA,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE;YAC7C,IAAI,CAAC,GAAG,CAAC;AAAE,gBAAA,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC;AACjC,YAAA,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AACV,YAAA,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS;AACjB,YAAA,CAAC,CAAC,IAAI,GAAG,CAAC;AACV,YAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACnB;AACA,QAAA,OAAO,CAAC,CAAe,EAAA;AACrB,YAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK;YACpB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,EAAE;gBAAE;AAChC,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI;YACjB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM;AACxC,YAAA,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI;YAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC;YAC7G,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,IAAK,EAAE,IAAI,CAAC,CAAC;AAC1E,YAAA,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5C,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC;AACnC,YAAA,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC;gBAAE,IAAI,CAAC,KAAK,EAAE;;AAClC,gBAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QACnC;KACD;AACH;AAwBM,SAAU,YAAY,CAAC,GAAG,GAAG,YAAY,EAAA;AAC7C,IAAA,aAAa,EAAE;IACf,OAAO,aAAa,CAAC,GAAG,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAwC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAEA,KAAG,EAAE,CAAC;AACnI;AAEM,SAAU,iBAAiB,CAAC,GAAG,GAAG,kBAAkB,EAAA;AACxD,IAAA,aAAa,EAAE;AACf,IAAA,OAAO,aAAa,CAClB,GAAG,EACH,CAAC,IAAI,KAAI;QACP,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC;QACtC,OAAO,MAAM,cAAe,SAAQ,KAAK,CAAA;AACvC,YAAA,WAAW,kBAAkB,GAAA;AAC3B,gBAAA,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC;YACzB;YACA,KAAK,GAAA;gBACH,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,4BAA4B,CAAC,EAAE;oBACrD,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;AACvC,oBAAA,CAAC,CAAC,SAAS,GAAG,kBAAkB;AAChC,oBAAA,CAAC,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC;AACrC,oBAAA,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;gBACjB;gBACA,KAAK,CAAC,KAAK,EAAE;YACf;YACA,IAAI,GAAA;AACF,gBAAA,OAAO,CAAC,MAAM,CAAC,WAAW,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YACpE;YACA,SAAS,GAAA;AACP,gBAAA,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAS,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpG,gBAAA,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC;YACnC;YACA,KAAK,GAAA;AACH,gBAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE;AACxB,gBAAA,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,IAAI,GAAG;AACnC,gBAAA,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,CAAS,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,CAAS,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7G;YACA,WAAW,GAAA;AACT,gBAAA,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE;gBAC1B,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,IAAI,MAAM,CAAC,WAAW,IAAI,GAAG,CAAC,CAAC;AAC5E,gBAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE;AACtB,gBAAA,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACvC;AACA,YAAA,MAAM,CAAC,CAAS,EAAA;gBACd,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAA,EAAG,IAAI,CAAC,IAAI,EAAE,CAAA,EAAA,CAAI;AACtC,gBAAA,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YACjB;SACsC;IAC1C,CAAC,EACD,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAEA,KAAG,EAAE,CAC3B;AACH;;;;AChNM,SAAU,iBAAiB,CAAC,GAAG,GAAG,kBAAkB,EAAA;AACxD,IAAA,aAAa,EAAE;AACf,IAAA,OAAO,aAAa,CAClB,GAAG,EACH,CAAC,IAAI,KACH,MAAM,cAAe,SAAQ,IAAI,CAAA;AAAjC,QAAA,WAAA,GAAA;;YAEU,IAAA,CAAA,KAAK,GAAG,KAAK;YACb,IAAA,CAAA,IAAI,GAAuB,IAAI;YAC/B,IAAA,CAAA,KAAK,GAAuB,IAAI;QAkF1C;AAhFE,QAAA,IAAI,UAAU,GAAA;YACZ,OAAO,IAAI,CAAC,KAAK;QACnB;AAEQ,QAAA,IAAI,CAAC,CAAS,EAAA;YACpB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;AACpC,YAAA,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,CAAA,EAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA,EAAA,CAAI,CAAC;YACzD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACtE,YAAA,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAC5D;QAEA,KAAK,GAAA;YACH,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,8BAA8B,CAAC,EAAE;gBACvD,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC;AACzC,gBAAA,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,oBAAoB;gBAC1C,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC;AAC7C,gBAAA,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,iFAAiF;AACvG,gBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;gBACvB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;AAC3C,gBAAA,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,QAAQ;gBAC/B,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC;AACzC,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;YACzB;YACA,IAAI,CAAC,EAAE,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,IAAI,KAAK,GAAkB,IAAI;AAC/B,YAAA,IAAI,EAAE,GAAG,EAAE;YACX,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC,CAAe,KAAI;AACnD,gBAAA,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC;oBAAE;AAC/D,gBAAA,KAAK,GAAG,CAAC,CAAC,OAAO;AACjB,gBAAA,EAAE,GAAG,CAAC,CAAC,SAAS;AAClB,YAAA,CAAC,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC,CAAe,KAAI;gBACnD,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,SAAS,KAAK,EAAE;oBAAE;AAC1C,gBAAA,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,KAAK;gBAC3B,IAAI,CAAC,IAAI,CAAC;oBAAE;gBACZ,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACnD,gBAAA,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;AAAE,oBAAA,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,EAAE,CAAC;AACxF,YAAA,CAAC,CAAC;AACF,YAAA,MAAM,GAAG,GAAG,CAAC,CAAe,KAAI;gBAC9B,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,SAAS,KAAK,EAAE;oBAAE;AAC1C,gBAAA,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,GAAG,KAAK;gBAC3B,KAAK,GAAG,IAAI;gBACZ,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AACjK,gBAAA,IAAI,KAAK;oBAAE,IAAI,CAAC,OAAO,EAAE;;AACpB,oBAAA,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AACrB,YAAA,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,CAAC;QACzC;QAEA,OAAO,GAAA;AACL,YAAA,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE;QACjB;QAEA,OAAO,GAAA;YACL,IAAI,IAAI,CAAC,KAAK;AAAE,gBAAA,OAAO,OAAO,CAAC,OAAO,EAAE;AACxC,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI;AACjB,YAAA,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;AAClC,YAAA,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,EAAE,CAAC;AACxC,YAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC;YACtC,IAAI,IAAI,CAAC,KAAK;AAAE,gBAAA,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC;YACxE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC;AAC/D,YAAA,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,KAAI;gBAC7B,IAAI,QAAQ,GAAG,KAAK;gBACpB,MAAM,IAAI,GAAG,MAAK;AAChB,oBAAA,IAAI,QAAQ;wBAAE;oBACd,QAAQ,GAAG,IAAI;AACf,oBAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AAClB,oBAAA,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC;AACvC,oBAAA,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC;oBACjC,IAAI,IAAI,CAAC,KAAK;AAAE,wBAAA,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,EAAE;AAC3C,oBAAA,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AACd,oBAAA,OAAO,EAAE;AACX,gBAAA,CAAC;gBACD,MAAM,EAAE,GAAG,IAAI,WAAW,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;AAChG,gBAAA,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;AACtB,gBAAA,MAAM,EAAE,GAAI,IAAY,CAAC,SAAS;gBAClC,IAAI,OAAO,EAAE,KAAK,UAAU;AAAE,oBAAA,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;AACxE,YAAA,CAAC,CAAC;QACJ;KACD,EACH,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAEA,KAAG,EAAE,CAClC;AACH;;;;AC7FM,SAAU,SAAS,CAAC,GAAG,GAAG,SAAS,EAAA;AACvC,IAAA,aAAa,EAAE;AACf,IAAA,OAAO,aAAa,CAClB,GAAG,EACH,CAAC,IAAI,KACH,MAAM,MAAO,SAAQ,IAAI,CAAA;AACvB,QAAA,WAAW,kBAAkB,GAAA;AAC3B,YAAA,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC;QAC7B;AACA,QAAA,IAAI,IAAI,GAAA;AACN,YAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAC1B;QACA,IAAI,IAAI,CAAC,CAAU,EAAA;AACjB,YAAA,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAChB;QAEQ,KAAK,GAAA;YACX,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAkB;AACvD,YAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzC;QAEQ,MAAM,CAAC,CAAS,EAAE,CAAS,EAAA;AACjC,YAAA,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvC,QAAQ,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC;AACjC,gBAAA,KAAK,MAAM;AACT,oBAAA,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;AACf,gBAAA,KAAK,MAAM;AACT,oBAAA,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAChB,gBAAA,KAAK,OAAO;AACV,oBAAA,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;gBACf,KAAK,QAAQ,EAAE;AACb,oBAAA,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AACzE,oBAAA,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG;AACnC,oBAAA,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC3C;AACA,gBAAA;AACE,oBAAA,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;QAEpB;QAEA,KAAK,GAAA;YACH,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE;AACpC,YAAA,IAAI,CAAC,IAAI;gBAAE;AACX,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC;AAClC,YAAA,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC;AAC1C,YAAA,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACzD,YAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;AACjB,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YAC/C,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAgB,KAAI;gBACpD,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE;AACnC,oBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;oBAClB,IAAI,CAAC,KAAK,EAAE;gBACd;AACF,YAAA,CAAC,CAAC;AACF,YAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAe,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAc,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9H,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAa,KAAI;gBAC3C,MAAM,CAAC,GAAI,CAAC,CAAC,MAAkB,CAAC,OAAO,GAAG,iBAAiB,CAAC;AAC5D,gBAAA,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AAAE,oBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AAC/C,YAAA,CAAC,CAAC;QACJ;AAEQ,QAAA,KAAK,CAAC,OAAgB,EAAA;YAC5B,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE;AACpC,YAAA,IAAI,CAAC,IAAI;gBAAE;AACX,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI;YACtB,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YAChD,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;AACvB,gBAAA,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC;gBAC7C,CAAC,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;gBACjC,CAAC,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC5C,MAAM,EAAE,GAAG,IAAI,GAAG,CAAA,UAAA,EAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA,IAAA,EAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA,YAAA,CAAc,GAAG,4BAA4B;gBAC3G,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,4BAA4B;AAC9D,gBAAA,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,GAAG,CAAA,UAAA,EAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA,IAAA,EAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA,GAAA,CAAK,GAAG,iBAAiB,IAAI,EAAE;AACtH,gBAAA,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG;AAClC,gBAAA,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AAC5B,oBAAA,MAAM,CAAC,GAAG,YAAY,CAAC,IAAI,GAAG,QAAQ,GAAG,OAAO,CAAC;AACjD,oBAAA,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;gBACnK;AACF,YAAA,CAAC,CAAC;QACJ;AAEA,QAAA,MAAM,CAAC,KAAe,EAAA;AACpB,YAAA,MAAM,IAAI,GAAG,KAAK,KAAK,SAAS,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK;AACrD,YAAA,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI;gBAAE;AACxB,YAAA,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;AAC1B,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACrC;KACD,EACH,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAEA,KAAG,EAAE,CACzB;AACH;;;;AC7FM,SAAU,YAAY,CAAC,GAAG,GAAG,YAAY,EAAA;AAC7C,IAAA,aAAa,EAAE;AACf,IAAA,OAAO,aAAa,CAClB,GAAG,EACH,CAAC,IAAI,KACH,MAAM,SAAU,SAAQ,IAAI,CAAA;AAA5B,QAAA,WAAA,GAAA;;YACU,IAAA,CAAA,MAAM,GAAG,CAAC;YACV,IAAA,CAAA,KAAK,GAAG,CAAC;QA4CnB;AA1CE,QAAA,IAAI,cAAc,GAAA;AAChB,YAAA,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;QACzC;QAEA,KAAK,GAAA;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC9B,YAAA,MAAM,QAAQ,GAAyB,CAAC,GAAG,IAAK,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAiB,KAAK,MAAM;AACtG,YAAA,MAAM,GAAG,GAAG,OAAO,QAAQ,KAAK,MAAM,GAAG,MAAM,CAAC,OAAO,IAAI,QAAQ,CAAC,eAAe,CAAC,SAAS,GAAI,QAAwB,CAAC,SAAS,CAAC;AACpI,YAAA,IAAI,CAAC,KAAK,GAAG,GAAG,EAAE;YAClB,MAAM,MAAM,GAAG,MAAK;AAClB,gBAAA,IAAI,CAAC,MAAM,GAAG,CAAC;AACf,gBAAA,MAAM,CAAC,GAAG,GAAG,EAAE;AACf,gBAAA,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK;AACzB,gBAAA,IAAI,CAAC,KAAK,GAAG,CAAC;gBACd,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,CAAC;AAC5C,gBAAA,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE;oBAAE,IAAI,CAAC,IAAI,EAAE;AACrD,qBAAA,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC;oBAAE,IAAI,CAAC,IAAI,EAAE;AACxE,YAAA,CAAC;YACD,MAAM,EAAE,GAAG,MAAK;gBACd,IAAI,CAAC,IAAI,CAAC,MAAM;AAAE,oBAAA,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;AAC7C,YAAA,CAAC;AACD,YAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACtD,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;AAC/C,YAAA,MAAM,EAAE;QACV;QAEA,OAAO,GAAA;AACL,YAAA,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;AAChB,YAAA,IAAI,CAAC,MAAM,GAAG,CAAC;QACjB;QAEQ,IAAI,GAAA;YACV,IAAI,IAAI,CAAC,cAAc;gBAAE;AACzB,YAAA,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,CAAC;AACpC,YAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QACnB;QAEA,IAAI,GAAA;YACF,IAAI,CAAC,IAAI,CAAC,cAAc;gBAAE;AAC1B,YAAA,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC;AACnC,YAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QACnB;KACD,EACH,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAEA,KAAG,EAAE,CAC5B;AACH;;;;ACtDM,SAAU,YAAY,CAAC,GAAG,GAAG,YAAY,EAAA;AAC7C,IAAA,aAAa,EAAE;AACf,IAAA,OAAO,aAAa,CAClB,GAAG,EACH,CAAC,IAAI,KAAI;QACP,MAAM,SAAU,SAAQ,IAAI,CAAA;AAE1B,YAAA,WAAW,kBAAkB,GAAA;gBAC3B,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC;YAC5C;AAMA,YAAA,WAAA,GAAA;AACE,gBAAA,KAAK,EAAE;gBAND,IAAA,CAAA,UAAU,GAA4B,IAAI;gBAC1C,IAAA,CAAA,EAAE,GAAG,CAAC;gBAEN,IAAA,CAAA,GAAG,GAAG,EAAE;AAId,gBAAA,IAAI;oBACF,IAAI,CAAC,UAAU,GAAI,IAAY,CAAC,eAAe,IAAI,IAAI,IAAI;gBAC7D;AAAE,gBAAA,MAAM;AACN,oBAAA,IAAI,CAAC,UAAU,GAAG,IAAI;gBACxB;YACF;YAEQ,KAAK,GAAA;gBACX,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;AAC9B,gBAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACtD,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YACxD;AACA,YAAA,IAAI,KAAK,GAAA;gBACP,OAAO,IAAI,CAAC,EAAE;YAChB;YACA,IAAI,KAAK,CAAC,CAAS,EAAA;AACjB,gBAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC;YACzB;AAEQ,YAAA,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,EAAA;gBAC1B,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE;gBAC/B,OAAO,CAAC,CAAC,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,CAAC;YAChC;AAEQ,YAAA,QAAQ,CAAC,CAAS,EAAE,IAAa,EAAE,OAAO,GAAG,IAAI,EAAA;AACvD,gBAAA,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE;gBACrC,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;gBACpE,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AACjC,gBAAA,MAAM,OAAO,GAAG,GAAG,KAAK,IAAI,CAAC,EAAE;AAC/B,gBAAA,IAAI,CAAC,EAAE,GAAG,GAAG;gBACb,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC/C,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChD,IAAI,CAAC,UAAU,EAAE,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC;AACvD,gBAAA,IAAI,MAAM;AAAE,oBAAA,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC;AAC5C,gBAAA,IAAI,OAAO;oBAAE,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;;oBACvC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;AACrC,gBAAA,IAAI,OAAO,IAAI,IAAI,EAAE;AACnB,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;oBACzD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;gBACpC;YACF;YAEA,KAAK,GAAA;gBACH,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,4BAA4B,CAAC,EAAE;AACrD,oBAAA,IAAI,CAAC,SAAS,GAAG,0JAA0J;gBAC7K;AACA,gBAAA,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC;AACnC,gBAAA,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;AAAE,oBAAA,IAAI,CAAC,QAAQ,GAAG,CAAC;gBACrD,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE;gBAC/B,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC/C,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;AAC/C,gBAAA,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;AAAE,oBAAA,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACzE,gBAAA,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC5D,gBAAA,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACjI,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC;AACnD,gBAAA,MAAM,WAAW,GAAG,CAAC,CAAe,KAAI;AACtC,oBAAA,MAAM,CAAC,GAAG,IAAI,CAAC,qBAAqB,EAAE;AACtC,oBAAA,OAAO,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC;AAC/E,gBAAA,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC,CAAe,KAAI;AACnD,oBAAA,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;wBAAE;AAC3B,oBAAA,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS;AACtB,oBAAA,IAAI;wBACF,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,SAAS,CAAC;oBACvC;AAAE,oBAAA,MAAM;;oBAER;AACA,oBAAA,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,EAAE,CAAC;oBACtC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;AACrC,gBAAA,CAAC,CAAC;AACF,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC,CAAe,KAAK,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACtH,gBAAA,MAAM,GAAG,GAAG,CAAC,CAAe,KAAI;AAC9B,oBAAA,IAAI,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,GAAG;wBAAE;AAC9B,oBAAA,IAAI,CAAC,GAAG,GAAG,EAAE;AACb,oBAAA,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC;oBACrC,IAAI,CAAC,MAAM,EAAE;AACf,gBAAA,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC;gBACnC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,CAAC;gBACvC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAgB,KAAI;AAChD,oBAAA,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;wBAAE;AAC3B,oBAAA,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE;AACjC,oBAAA,MAAM,GAAG,GAA2B,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;AACpN,oBAAA,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC;wBAAE;oBACrB,CAAC,CAAC,cAAc,EAAE;AAClB,oBAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;oBAC/B,IAAI,CAAC,MAAM,EAAE;AACf,gBAAA,CAAC,CAAC;YACJ;YAEA,OAAO,GAAA;AACL,gBAAA,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE;YACnB;YAEQ,MAAM,GAAA;AACZ,gBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAC1D,gBAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;YACzC;;QA7GO,SAAA,CAAA,cAAc,GAAG,IAAH;AA+GvB,QAAA,OAAO,SAAgD;IACzD,CAAC,EACD,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAEA,KAAG,EAAE,CAC5B;AACH;;;;ACxHM,SAAU,aAAa,CAAC,GAAG,GAAG,aAAa,EAAA;AAC/C,IAAA,aAAa,EAAE;AACf,IAAA,OAAO,aAAa,CAClB,GAAG,EACH,CAAC,IAAI,KACH,MAAM,UAAW,SAAQ,IAAI,CAAA;AAC3B,QAAA,IAAI,IAAI,GAAA;AACN,YAAA,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAC1B;QACA,IAAI,IAAI,CAAC,CAAU,EAAA;AACjB,YAAA,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAChB;QACQ,KAAK,GAAA;AACX,YAAA,OAAO,CAAC,IAAI,CAAC,iBAAuC,EAAE,IAAI,CAAC,aAAa,CAAc,yBAAyB,CAAC,CAAC;QACnH;QAEA,KAAK,GAAA;YACH,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE;YACrC,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK;gBAAE;YAC7C,KAAK,CAAC,EAAE,KAAR,KAAK,CAAC,EAAE,GAAK,MAAM,CAAC,SAAS,CAAC,CAAA;YAC9B,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,EAAE,mBAAmB,CAAC;AACvD,YAAA,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC;AAAE,gBAAA,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC;AACrE,YAAA,KAAK,CAAC,QAAQ,GAAG,EAAE;YACnB,OAAO,CAAC,YAAY,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC;AAC/C,YAAA,OAAO,CAAC,YAAY,CAAC,eAAe,EAAE,QAAQ,CAAC;AAC/C,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AAClB,YAAA,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAgB,KAAI;gBACpD,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE;AACnC,oBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;oBAClB,OAAO,CAAC,KAAK,EAAE;gBACjB;AACF,YAAA,CAAC,CAAC;AACF,YAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAe,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAc,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9H,YAAA,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAc,CAAC,CAAC;QACvH;AAEQ,QAAA,MAAM,CAAC,OAAgB,EAAA;YAC7B,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE;AACrC,YAAA,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK;gBAAE;AACxB,YAAA,OAAO,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxD,YAAA,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI;YACzB,IAAI,CAAC,IAAI,CAAC,IAAI;gBAAE;AAChB,YAAA,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAc,CAAC;AAC7E,YAAA,IAAI,CAAC,OAAO;gBAAE;YACd,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;AACxF,YAAA,KAAK,CAAC,KAAK,CAAC,eAAe,GAAG,MAAM;AACpC,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC7M,KAAK,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;QACtC;AAEA,QAAA,MAAM,CAAC,KAAe,EAAA;AACpB,YAAA,MAAM,IAAI,GAAG,KAAK,KAAK,SAAS,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK;AACrD,YAAA,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI;gBAAE;AACxB,YAAA,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;AAC1B,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;AACjB,YAAA,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC;QACpC;KACD,EACH,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAEA,KAAG,EAAE,CAC7B;AACH;;;;AChEM,SAAU,WAAW,CAAC,GAAG,GAAG,WAAW,EAAA;AAC3C,IAAA,aAAa,EAAE;AACf,IAAA,OAAO,aAAa,CAClB,GAAG,EACH,CAAC,IAAI,KACH,MAAM,QAAS,SAAQ,IAAI,CAAA;AAA3B,QAAA,WAAA,GAAA;;YAIU,IAAA,CAAA,GAAG,GAAuB,IAAI;QAqCxC;AAxCE,QAAA,WAAW,kBAAkB,GAAA;YAC3B,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC;QACzC;AAEA,QAAA,IAAI,KAAK,GAAA;AACP,YAAA,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;QAC1B;QACA,IAAI,KAAK,CAAC,CAAS,EAAA;YACjB,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QACvC;QAEA,KAAK,GAAA;AACH,YAAA,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE;gBACtC,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;AACzC,gBAAA,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,iBAAiB;AACtC,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YACvB;AACA,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAClB;AAEA,QAAA,OAAO,CAAC,IAAY,EAAA;AAClB,YAAA,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC;QAC7B;AAEQ,QAAA,IAAI,CAAC,IAAa,EAAA;AACxB,YAAA,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG;AACnB,YAAA,IAAI,CAAC,EAAE;gBAAE;AACT,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK;AACtB,YAAA,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;YACrB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC;AAC/B,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,KAAK,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA,CAAA,CAAG,GAAG,GAAG;AAClG,YAAA,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AAC3F,YAAA,EAAE,CAAC,WAAW,GAAG,IAAI;AACrB,YAAA,EAAE,CAAC,MAAM,GAAG,KAAK;AACjB,YAAA,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,GAAG,CAAA,EAAG,GAAG,CAAA,IAAA,CAAM,GAAG,KAAK,CAAC;AAC3D,YAAA,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACxD,YAAA,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC;YACjC,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;QACxI;KACD,EACH,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAEA,KAAG,EAAE,CAC3B;AACH;;;;ACpDM,SAAU,iBAAiB,CAAC,GAAG,GAAG,kBAAkB,EAAA;AACxD,IAAA,aAAa,EAAE;AACf,IAAA,OAAO,aAAa,CAClB,GAAG,EACH,CAAC,IAAI,KACH,MAAM,cAAe,SAAQ,IAAI,CAAA;AAC/B,QAAA,WAAW,kBAAkB,GAAA;AAC3B,YAAA,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC;QACnC;QACA,KAAK,GAAA;YACH,IAAI,CAAC,aAAa,CAAC,2BAA2B,CAAC,EAAE,MAAM,EAAE;YACzD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAkB;AACvD,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAC3C,YAAA,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAA,EAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA,EAAA,CAAI,CAAC;AACxE,YAAA,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,sBAAsB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;AACjF,YAAA,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC;AAClC,YAAA,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAA,OAAA,CAAS,CAAC,CAAC;YAC3E,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;AACpB,gBAAA,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC;AAC7B,gBAAA,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG;AACnB,gBAAA,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;AACrC,gBAAA,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AAC1C,YAAA,CAAC,CAAC;AACF,YAAA,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE;gBACrB,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC;AAC3C,gBAAA,IAAI,CAAC,SAAS,GAAG,4BAA4B;gBAC7C,IAAI,CAAC,WAAW,GAAG,CAAA,CAAA,EAAI,IAAI,CAAC,MAAM,GAAG,GAAG,CAAA,CAAE;AAC1C,gBAAA,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;AAC1C,gBAAA,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAA,IAAA,EAAO,IAAI,CAAC,MAAM,GAAG,GAAG,CAAA,KAAA,CAAO,CAAC;AAChE,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACnB;QACF;KACD,EACH,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,EAAE,CAClC;AACH;;AChDA;;;;;;;AAOG;AA4BH;SACgB,kBAAkB,GAAA;AAChC,IAAA,UAAU,EAAE;AACZ,IAAA,YAAY,EAAE;AACd,IAAA,iBAAiB,EAAE;AACnB,IAAA,iBAAiB,EAAE;AACnB,IAAA,SAAS,EAAE;AACX,IAAA,YAAY,EAAE;AACd,IAAA,YAAY,EAAE;AACd,IAAA,aAAa,EAAE;AACf,IAAA,WAAW,EAAE;AACb,IAAA,iBAAiB,EAAE;AACrB;;;;"}
1
+ {"version":3,"file":"ui.js","sources":["../../src/components/ui/position.ts","../../src/components/ui/tabs.ts","../../src/components/ui/sheet.ts","../../src/components/ui/pull-refresh.ts","../../src/components/ui/fab.ts","../../src/components/ui/navbar.ts","../../src/components/ui/slider.ts","../../src/components/ui/popover.ts","../../src/components/ui/badge.ts","../../src/components/ui/avatar-stack.ts","../../src/components/ui/index.ts"],"sourcesContent":["export type Placement = 'top' | 'bottom' | 'left' | 'right';\n\n/** Position a fixed `floating` element next to `anchor`, flipping when it would leave the viewport. */\nexport function place(floating: HTMLElement, anchor: Element, placement: Placement = 'top', gap = 8): Placement {\n const a = anchor.getBoundingClientRect();\n const f = floating.getBoundingClientRect();\n const W = window.innerWidth || 1024;\n const H = window.innerHeight || 768;\n const fits: Record<Placement, boolean> = {\n top: a.top - f.height - gap >= 0,\n bottom: a.bottom + f.height + gap <= H,\n left: a.left - f.width - gap >= 0,\n right: a.right + f.width + gap <= W,\n };\n const opposite: Record<Placement, Placement> = { top: 'bottom', bottom: 'top', left: 'right', right: 'left' };\n const p = fits[placement] || !fits[opposite[placement]] ? placement : opposite[placement];\n let x = 0;\n let y = 0;\n if (p === 'top' || p === 'bottom') {\n x = Math.min(Math.max(4, a.left + a.width / 2 - f.width / 2), W - f.width - 4);\n y = p === 'top' ? a.top - f.height - gap : a.bottom + gap;\n } else {\n y = Math.min(Math.max(4, a.top + a.height / 2 - f.height / 2), H - f.height - 4);\n x = p === 'left' ? a.left - f.width - gap : a.right + gap;\n }\n floating.style.left = `${Math.round(x)}px`;\n floating.style.top = `${Math.round(y)}px`;\n floating.setAttribute('data-placement', p);\n return p;\n}\n\nlet uid = 0;\nexport const nextId = (prefix: string): string => `${prefix}-${++uid}`;\n","import { defineElement, type UsaElement } from '../base';\nimport { springEasing } from '../physics/spring';\nimport { adoptVariants } from './variants';\nimport { nextId } from './position';\nimport css from './tabs.css?raw';\n\n/**\n * `<usa-tabs>` — accessible tabs with a sliding (spring) indicator.\n * Tabs: `[data-tab]` children (buttons); panels: `[data-panel]` children, in\n * the same order. Arrow keys / Home / End move between tabs (roving tabindex).\n *\n * Attributes: `selected` (index, 0), `indicator` (`line` default, `pill`),\n * `variant`. Events: `usa:change` (`{ index }`). Panels fade/slide in;\n * reduced motion: the indicator jumps and panels switch instantly.\n */\nexport interface UsaTabsElement extends UsaElement {\n selected: number;\n select(i: number, focus?: boolean): void;\n}\n\nexport function defineTabs(tag = 'usa-tabs'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(\n tag,\n (Base) =>\n class UsaTabs extends Base {\n static get observedAttributes(): string[] {\n return ['indicator'];\n }\n\n private _i = 0;\n private _bar: HTMLElement | null = null;\n\n get selected(): number {\n return this._i;\n }\n set selected(v: number) {\n this.select(v);\n }\n\n private tabs(): HTMLElement[] {\n return Array.from(this.querySelectorAll<HTMLElement>('[data-tab]')).filter((t) => t.closest(this.localName) === this);\n }\n private panels(): HTMLElement[] {\n return Array.from(this.querySelectorAll<HTMLElement>('[data-panel]')).filter((t) => t.closest(this.localName) === this);\n }\n\n mount(): void {\n const tabs = this.tabs();\n const panels = this.panels();\n const list = tabs[0]?.parentElement;\n if (!list) return;\n list.setAttribute('role', 'tablist');\n list.classList.add('usa-tabs-list');\n if (!list.querySelector(':scope > .usa-tabs-indicator')) {\n this._bar = document.createElement('span');\n this._bar.className = 'usa-tabs-indicator';\n this._bar.setAttribute('aria-hidden', 'true');\n list.append(this._bar);\n } else this._bar = list.querySelector(':scope > .usa-tabs-indicator');\n tabs.forEach((t, i) => {\n t.id ||= nextId('usa-tab');\n t.setAttribute('role', 'tab');\n const p = panels[i];\n if (p) {\n p.id ||= nextId('usa-panel');\n p.setAttribute('role', 'tabpanel');\n p.setAttribute('aria-labelledby', t.id);\n t.setAttribute('aria-controls', p.id);\n if (!p.hasAttribute('tabindex')) p.tabIndex = 0;\n }\n this.listen(t, 'click', () => this.select(i));\n });\n this.listen(list, 'keydown', (e: KeyboardEvent) => {\n const n = tabs.length;\n const map: Record<string, number> = { ArrowRight: this._i + 1, ArrowDown: this._i + 1, ArrowLeft: this._i - 1, ArrowUp: this._i - 1, Home: 0, End: n - 1 };\n if (!(e.key in map)) return;\n e.preventDefault();\n this.select((map[e.key] + n) % n, true);\n });\n const ro = typeof ResizeObserver !== 'undefined' ? new ResizeObserver(() => this.moveBar(false)) : null;\n ro?.observe(list);\n this.onCleanup(() => ro?.disconnect());\n this.select(Math.max(0, Math.min(tabs.length - 1, this.num('selected', 0))), false, true);\n }\n\n private moveBar(animate: boolean): void {\n const t = this.tabs()[this._i];\n const bar = this._bar;\n if (!t || !bar) return;\n const from = bar.style.transform;\n const fromW = bar.style.width;\n bar.style.width = `${t.offsetWidth}px`;\n bar.style.transform = `translateX(${t.offsetLeft}px)`;\n if (animate && from && !this.reduced) this.motion(bar, [{ transform: from, width: fromW }, { transform: bar.style.transform, width: bar.style.width }], springEasing('stiff'));\n }\n\n select(i: number, focus = false, initial = false): void {\n const tabs = this.tabs();\n const panels = this.panels();\n if (!tabs[i]) return;\n const prev = this._i;\n this._i = i;\n this.setAttribute('selected', String(i));\n tabs.forEach((t, j) => {\n t.setAttribute('aria-selected', String(j === i));\n t.tabIndex = j === i ? 0 : -1;\n });\n panels.forEach((p, j) => (p.hidden = j !== i));\n if (focus) tabs[i].focus();\n this.moveBar(!initial);\n if (initial || prev === i) return;\n const p = panels[i];\n if (p && !this.reduced) this.motion(p, [{ opacity: 0, transform: `translateX(${i > prev ? 16 : -16}px)` }, { opacity: 1, transform: 'none' }], { duration: 280, easing: 'cubic-bezier(0.22, 1, 0.36, 1)' });\n this.emit('change', { index: i });\n }\n },\n { id: 'tabs', text: css }\n );\n}\n","import { defineElement, clamp, type UsaElement } from '../base';\nimport { createSpring, projectInertia, snapTo, rubberBand, type SpringValue } from '../physics/spring';\nimport { adoptVariants } from './variants';\nimport css from './sheet.css?raw';\n\n/** Shared machinery of `<usa-drawer>` and `<usa-bottom-sheet>`: backdrop, focus, Esc, drag-to-dismiss. */\nfunction makePanel(Base: any, kind: 'drawer' | 'sheet') {\n return class UsaPanel extends Base {\n static get observedAttributes(): string[] {\n return ['open', 'side'];\n }\n\n _pos!: SpringValue;\n _backdrop: HTMLElement | null = null;\n _return: Element | null = null;\n _drag: { id: number; start: number; origin: number; t: number; last: number; lt: number } | null = null;\n\n get open(): boolean {\n return this.flag('open');\n }\n set open(v: boolean) {\n this.setFlag('open', v);\n }\n\n /** Main axis size of the panel (px). */\n size(): number {\n const r = this.getBoundingClientRect();\n return (kind === 'sheet' || this.vertical() ? r.height : r.width) || (kind === 'sheet' ? window.innerHeight * 0.9 : 320);\n }\n vertical(): boolean {\n return kind === 'sheet' || this.str('side') === 'top' || this.str('side') === 'bottom';\n }\n /** +1 when hiding moves the panel in the positive axis direction. */\n dir(): number {\n const side = kind === 'sheet' ? 'bottom' : this.str('side', 'left');\n return side === 'left' || side === 'top' ? -1 : 1;\n }\n /** Offsets (px from fully open) the panel may rest at; the largest closes it. */\n stops(): number[] {\n return [0];\n }\n render(v: number): void {\n const axis = this.vertical() ? 'Y' : 'X';\n this.style.transform = `translate${axis}(${(v * this.dir()).toFixed(1)}px)`;\n if (this._backdrop) this._backdrop.style.opacity = String(clamp(1 - v / (this.size() || 1), 0, 1));\n }\n\n mount(): void {\n this.setAttribute('role', 'dialog');\n if (this.str('label')) this.setAttribute('aria-label', this.str('label'));\n if (!this.hasAttribute('tabindex')) this.tabIndex = -1;\n this.classList.add('usa-surface');\n this._pos = createSpring({ value: this.size() * 2, spring: 'stiff', onUpdate: (v) => this.render(v), onRest: (v) => v >= this.size() - 1 && !this.open && this.afterClose() });\n if (this.open) this.show(false);\n else {\n this.hidden = true;\n this._pos.jump(this.size() * 1.2);\n }\n this.listen(document, 'keydown', (e: KeyboardEvent) => e.key === 'Escape' && this.open && this.close());\n this.listen(this, 'click', (e: MouseEvent) => (e.target as Element).closest?.('[data-close]') && this.close());\n this.listen(this, 'pointerdown', (e: PointerEvent) => this.dragStart(e));\n this.listen(this, 'pointermove', (e: PointerEvent) => this.dragMove(e));\n this.listen(this, 'pointerup', (e: PointerEvent) => this.dragEnd(e));\n this.listen(this, 'pointercancel', (e: PointerEvent) => this.dragEnd(e));\n }\n\n unmount(): void {\n this._pos?.stop();\n this._backdrop?.remove();\n this._backdrop = null;\n }\n\n changed(name: string): void {\n if (name !== 'open') return super.changed(name);\n if (this.open && this.hidden) this.show(true);\n else if (!this.open && !this.hidden) this.hide();\n }\n\n show(animate = true): void {\n this._return = document.activeElement;\n this.hidden = false;\n this.setAttribute('aria-modal', 'true');\n if (!this._backdrop) {\n this._backdrop = document.createElement('div');\n this._backdrop.className = 'usa-panel-backdrop';\n this._backdrop.addEventListener('click', () => this.close());\n this.before(this._backdrop);\n }\n const target = this.stops()[this.initialStop()];\n if (!animate) this._pos.jump(target);\n else {\n this._pos.jump(this.size());\n this._pos.set(target);\n }\n this.setFlag('open', true);\n this.focus({ preventScroll: true });\n this.emit('open');\n }\n\n initialStop(): number {\n return 0;\n }\n\n hide(): void {\n this._pos.set(this.size() * 1.05);\n this.emit('close');\n }\n\n afterClose(): void {\n this.hidden = true;\n this._backdrop?.remove();\n this._backdrop = null;\n if (this._return instanceof HTMLElement) this._return.focus({ preventScroll: true });\n }\n\n close(): void {\n this.setFlag('open', false);\n }\n\n dragStart(e: PointerEvent): void {\n const handle = kind === 'sheet' ? (e.target as Element).closest?.('[data-handle], .usa-sheet-handle') || (this.scrollTop <= 0 ? this : null) : this;\n if (!handle || (e.target as Element).closest?.('input, textarea, select, button, a, [data-no-drag]')) return;\n const p = this.vertical() ? e.clientY : e.clientX;\n this._pos.stop();\n this._drag = { id: e.pointerId, start: p, origin: this._pos.value, t: e.timeStamp, last: p, lt: e.timeStamp };\n }\n dragMove(e: PointerEvent): void {\n const d = this._drag;\n if (!d || e.pointerId !== d.id) return;\n const p = this.vertical() ? e.clientY : e.clientX;\n let v = d.origin + (p - d.start) * this.dir();\n if (v < 0) v = rubberBand(v, 200);\n d.lt = d.t;\n d.t = e.timeStamp;\n d.last = p;\n this._pos.jump(v);\n }\n dragEnd(e: PointerEvent): void {\n const d = this._drag;\n if (!d || e.pointerId !== d.id) return;\n this._drag = null;\n const moved = this._pos.value - d.origin;\n const dt = Math.max(16, d.t - d.lt) / 1000;\n const vel = Math.abs(moved) > 4 ? (moved / Math.max(dt, (e.timeStamp - (d.lt || 0)) / 1000 || 0.1)) * 0.2 : 0;\n const projected = projectInertia(this._pos.value, clamp(vel, -3000, 3000));\n const stops = [...this.stops(), this.size()];\n const to = snapTo(projected, stops);\n if (to >= this.size() - 1) this.close();\n else this._pos.set(to);\n this.emit('snap', { offset: to });\n }\n };\n}\n\n/**\n * `<usa-drawer>` — a side panel that slides in with a spring and can be\n * dragged / swiped closed. Modal: backdrop, Esc, focus returns on close.\n * Attributes: `open`, `side` (`left` default, `right`, `top`, `bottom`),\n * `label`, `variant`. Events: `usa:open`, `usa:close`. `[data-close]` closes.\n * Reduced motion: opens and closes instantly.\n */\nexport interface UsaDrawerElement extends UsaElement {\n open: boolean;\n show(): void;\n close(): void;\n}\n\n/**\n * `<usa-bottom-sheet>` — a draggable bottom sheet with snap points\n * (`snap=\"0.3,0.6,0.92\"`, fractions of the viewport height; default\n * `0.5,0.92`; `start` = index of the snap it opens at, default 0), inertia and drag-down-to-dismiss. `[data-handle]` (or the\n * built-in grabber) drags it. Attributes: `open`, `snap`, `start` (initial\n * snap index), `label`, `variant`. Events: `usa:open`, `usa:close`, `usa:snap`.\n */\nexport interface UsaBottomSheetElement extends UsaDrawerElement {}\n\nexport function defineDrawer(tag = 'usa-drawer'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(tag, (Base) => makePanel(Base, 'drawer') as unknown as CustomElementConstructor, { id: 'sheet', text: css });\n}\n\nexport function defineBottomSheet(tag = 'usa-bottom-sheet'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(\n tag,\n (Base) => {\n const Panel = makePanel(Base, 'sheet');\n return class UsaBottomSheet extends Panel {\n static get observedAttributes(): string[] {\n return ['open', 'snap'];\n }\n mount(): void {\n if (!this.querySelector(':scope > .usa-sheet-handle')) {\n const h = document.createElement('div');\n h.className = 'usa-sheet-handle';\n h.setAttribute('aria-hidden', 'true');\n this.prepend(h);\n }\n super.mount();\n }\n size(): number {\n return (window.innerHeight || 800) * Math.max(...this.fractions());\n }\n fractions(): number[] {\n const f = this.str('snap', '0.5,0.92').split(',').map(Number).filter((n: number) => n > 0 && n <= 1);\n return f.length ? f : [0.5, 0.92];\n }\n stops(): number[] {\n const full = this.size();\n const H = window.innerHeight || 800;\n return this.fractions().map((f: number) => Math.max(0, full - f * H)).sort((a: number, b: number) => a - b);\n }\n initialStop(): number {\n const f = this.fractions();\n const pick = f[clamp(this.num('start', 0), 0, f.length - 1)];\n const target = Math.max(0, this.size() - pick * (window.innerHeight || 800));\n const s = this.stops();\n return Math.max(0, s.indexOf(target));\n }\n render(v: number): void {\n this.style.height = `${this.size()}px`;\n super.render(v);\n }\n } as unknown as CustomElementConstructor;\n },\n { id: 'sheet', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport { createSpring, rubberBand, type SpringValue } from '../physics/spring';\nimport { adoptVariants } from './variants';\nimport css from './pull-refresh.css?raw';\n\n/**\n * `<usa-pull-refresh>` — pull-to-refresh for a scroll container (itself):\n * pull down at the top (touch / pointer) and a spinner stretches in; past\n * `threshold` (px, 70) releasing fires `usa:refresh` — call\n * `event.detail.done()` (or return a promise to `onrefresh`) to finish.\n * Also exposes `refresh()` for a keyboard / button path.\n * Attributes: `threshold`, `disabled`, `label` (status text, \"Refreshing\").\n * Reduced motion: no stretch; the spinner simply appears while refreshing.\n */\nexport interface UsaPullRefreshElement extends UsaElement {\n readonly refreshing: boolean;\n refresh(): Promise<void>;\n}\n\nexport function definePullRefresh(tag = 'usa-pull-refresh'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(\n tag,\n (Base) =>\n class UsaPullRefresh extends Base {\n private _y!: SpringValue;\n private _busy = false;\n private _ind: HTMLElement | null = null;\n private _live: HTMLElement | null = null;\n\n get refreshing(): boolean {\n return this._busy;\n }\n\n private draw(v: number): void {\n const th = this.num('threshold', 70);\n this.style.setProperty('--usa-pull', `${v.toFixed(1)}px`);\n this.style.setProperty('--usa-pull-p', Math.min(1, v / th).toFixed(3));\n this.toggleAttribute('data-armed', v >= th && !this._busy);\n }\n\n mount(): void {\n if (!this.querySelector(':scope > .usa-pull-indicator')) {\n this._ind = document.createElement('div');\n this._ind.className = 'usa-pull-indicator';\n this._ind.setAttribute('aria-hidden', 'true');\n this._ind.innerHTML = '<svg viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"9\" pathLength=\"100\"/></svg>';\n this.prepend(this._ind);\n this._live = document.createElement('span');\n this._live.className = 'usa-sr';\n this._live.setAttribute('role', 'status');\n this.append(this._live);\n }\n this._y = createSpring({ spring: 'stiff', onUpdate: (v) => this.draw(v) });\n let start: number | null = null;\n let id = -1;\n this.listen(this, 'pointerdown', (e: PointerEvent) => {\n if (this.flag('disabled') || this._busy || this.scrollTop > 0) return;\n start = e.clientY;\n id = e.pointerId;\n });\n this.listen(this, 'pointermove', (e: PointerEvent) => {\n if (start === null || e.pointerId !== id) return;\n const d = e.clientY - start;\n if (d <= 0) return;\n this._y.jump(this.reduced ? 0 : rubberBand(d, 220));\n if (this.reduced && d > this.num('threshold', 70)) this.setAttribute('data-armed', '');\n });\n const end = (e: PointerEvent) => {\n if (start === null || e.pointerId !== id) return;\n const d = e.clientY - start;\n start = null;\n const armed = this.hasAttribute('data-armed') || (!this.reduced && this._y.value >= this.num('threshold', 70)) || (this.reduced && d > this.num('threshold', 70));\n if (armed) this.refresh();\n else this._y.set(0);\n };\n this.listen(this, 'pointerup', end);\n this.listen(this, 'pointercancel', end);\n }\n\n unmount(): void {\n this._y?.stop();\n }\n\n refresh(): Promise<void> {\n if (this._busy) return Promise.resolve();\n this._busy = true;\n this.removeAttribute('data-armed');\n this.setAttribute('data-refreshing', '');\n this.setAttribute('aria-busy', 'true');\n if (this._live) this._live.textContent = this.str('label', 'Refreshing');\n this._y.set(this.reduced ? 0 : this.num('threshold', 70) * 0.8);\n return new Promise((resolve) => {\n let finished = false;\n const done = () => {\n if (finished) return;\n finished = true;\n this._busy = false;\n this.removeAttribute('data-refreshing');\n this.removeAttribute('aria-busy');\n if (this._live) this._live.textContent = '';\n this._y.set(0);\n resolve();\n };\n const ev = new CustomEvent('usa:refresh', { detail: { done }, bubbles: true, cancelable: true });\n this.dispatchEvent(ev);\n const fn = (this as any).onrefresh;\n if (typeof fn === 'function') Promise.resolve(fn(ev)).then(done, done);\n });\n }\n },\n { id: 'pull-refresh', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport { springEasing } from '../physics/spring';\nimport { adoptVariants } from './variants';\nimport css from './fab.css?raw';\n\n/**\n * `<usa-fab>` — floating action button with a speed dial. The first element\n * child is the main button; the others are actions that fan out with a\n * staggered spring when it opens (`direction=\"up\"` default, `down`, `left`,\n * `right`, `radial`). Esc / outside click closes; `aria-expanded` on the\n * main button; actions are hidden from AT while closed.\n * Attributes: `open`, `direction`, `position` (`bottom-right` default, `bottom-left`,\n * `inline`), `gap` (px, 56), `variant`. Events: `usa:toggle` (`{ open }`).\n * Reduced motion: actions appear without travel.\n */\nexport interface UsaFabElement extends UsaElement {\n open: boolean;\n toggle(force?: boolean): void;\n}\n\nexport function defineFab(tag = 'usa-fab'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(\n tag,\n (Base) =>\n class UsaFab extends Base {\n static get observedAttributes(): string[] {\n return ['direction', 'gap'];\n }\n get open(): boolean {\n return this.flag('open');\n }\n set open(v: boolean) {\n this.toggle(v);\n }\n\n private parts(): [HTMLElement | null, HTMLElement[]] {\n const kids = Array.from(this.children) as HTMLElement[];\n return [kids[0] || null, kids.slice(1)];\n }\n\n private offset(i: number, n: number): [number, number] {\n const g = this.num('gap', 56) * (i + 1);\n switch (this.str('direction', 'up')) {\n case 'down':\n return [0, g];\n case 'left':\n return [-g, 0];\n case 'right':\n return [g, 0];\n case 'radial': {\n const a = Math.PI + (n > 1 ? (i / (n - 1)) * (Math.PI / 2) : Math.PI / 4);\n const r = this.num('gap', 56) * 1.6;\n return [Math.cos(a) * r, Math.sin(a) * r];\n }\n default:\n return [0, -g];\n }\n }\n\n mount(): void {\n const [main, actions] = this.parts();\n if (!main) return;\n main.classList.add('usa-fab-main');\n main.setAttribute('aria-haspopup', 'true');\n actions.forEach((a) => a.classList.add('usa-fab-action'));\n this.apply(false);\n this.listen(main, 'click', () => this.toggle());\n this.listen(document, 'keydown', (e: KeyboardEvent) => {\n if (e.key === 'Escape' && this.open) {\n this.toggle(false);\n main.focus();\n }\n });\n this.listen(document, 'pointerdown', (e: PointerEvent) => this.open && !this.contains(e.target as Node) && this.toggle(false));\n this.listen(this, 'click', (e: MouseEvent) => {\n const a = (e.target as Element).closest?.('.usa-fab-action');\n if (a && this.contains(a)) this.toggle(false);\n });\n }\n\n private apply(animate: boolean): void {\n const [main, actions] = this.parts();\n if (!main) return;\n const open = this.open;\n main.setAttribute('aria-expanded', String(open));\n actions.forEach((a, i) => {\n const [x, y] = this.offset(i, actions.length);\n a.toggleAttribute('inert', !open);\n a.setAttribute('aria-hidden', String(!open));\n const to = open ? `translate(${x.toFixed(1)}px, ${y.toFixed(1)}px) scale(1)` : 'translate(0, 0) scale(0.4)';\n const from = a.style.transform || 'translate(0, 0) scale(0.4)';\n a.style.transform = this.reduced ? (open ? `translate(${x.toFixed(1)}px, ${y.toFixed(1)}px)` : 'translate(0, 0)') : to;\n a.style.opacity = open ? '1' : '0';\n if (animate && !this.reduced) {\n const t = springEasing(open ? 'wobbly' : 'stiff');\n this.motion(a, [{ transform: from, opacity: open ? 0 : 1 }, { transform: to, opacity: open ? 1 : 0 }], { ...t, delay: (open ? i : actions.length - 1 - i) * 35 });\n }\n });\n }\n\n toggle(force?: boolean): void {\n const next = force === undefined ? !this.open : force;\n if (next === this.open) return;\n this.setFlag('open', next);\n this.apply(true);\n this.emit('toggle', { open: next });\n }\n },\n { id: 'fab', text: css }\n );\n}\n","import { defineElement, raf, caf, type UsaElement } from '../base';\nimport { adoptVariants } from './variants';\nimport css from './navbar.css?raw';\n\n/**\n * `<usa-navbar>` — an app bar that hides while you scroll down and returns\n * as soon as you scroll up (or reach the top); `shrink` makes it compact\n * once scrolled. Focus inside always reveals it.\n * Attributes: `threshold` (px of scroll before hiding, 64), `shrink`,\n * `target` (selector of a scroll container instead of the page), `variant`.\n * State attributes: `data-hidden`, `data-scrolled`. Events: `usa:hide`, `usa:show`.\n * Reduced motion: hides/shows without sliding (instant).\n */\nexport interface UsaNavbarElement extends UsaElement {\n readonly hiddenByScroll: boolean;\n show(): void;\n}\n\nexport function defineNavbar(tag = 'usa-navbar'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(\n tag,\n (Base) =>\n class UsaNavbar extends Base {\n private _frame = 0;\n private _last = 0;\n\n get hiddenByScroll(): boolean {\n return this.hasAttribute('data-hidden');\n }\n\n mount(): void {\n const sel = this.str('target');\n const scroller: HTMLElement | Window = (sel && (document.querySelector(sel) as HTMLElement)) || window;\n const pos = () => (scroller === window ? window.scrollY || document.documentElement.scrollTop : (scroller as HTMLElement).scrollTop);\n this._last = pos();\n const update = () => {\n this._frame = 0;\n const y = pos();\n const dy = y - this._last;\n this._last = y;\n this.toggleAttribute('data-scrolled', y > 4);\n if (y <= this.num('threshold', 64) || dy < -2) this.show();\n else if (dy > 2 && !this.contains(document.activeElement)) this.hide();\n };\n const on = () => {\n if (!this._frame) this._frame = raf(update);\n };\n this.listen(scroller, 'scroll', on, { passive: true });\n this.listen(this, 'focusin', () => this.show());\n update();\n }\n\n unmount(): void {\n caf(this._frame);\n this._frame = 0;\n }\n\n private hide(): void {\n if (this.hiddenByScroll) return;\n this.setAttribute('data-hidden', '');\n this.emit('hide');\n }\n\n show(): void {\n if (!this.hiddenByScroll) return;\n this.removeAttribute('data-hidden');\n this.emit('show');\n }\n },\n { id: 'navbar', text: css }\n );\n}\n","import { defineElement, clamp, type UsaElement } from '../base';\nimport { createSpring, type SpringValue } from '../physics/spring';\nimport { adoptVariants } from './variants';\nimport css from './slider.css?raw';\n\n/**\n * `<usa-slider>` — a form-associated range slider (`role=\"slider\"`). The\n * thumb follows with a spring, grows while dragged and shows a value bubble.\n * Keyboard: arrows (step), PageUp/PageDown (10 steps), Home/End.\n * Attributes: `value`, `min` (0), `max` (100), `step` (1), `name`, `label`,\n * `bubble` (show the value while dragging), `disabled`, `variant`.\n * Events: `input` + `usa:input` while moving, `change` + `usa:change` on release.\n * Reduced motion: the thumb jumps (no spring).\n */\nexport interface UsaSliderElement extends UsaElement {\n value: number;\n}\n\nexport function defineSlider(tag = 'usa-slider'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(\n tag,\n (Base) => {\n class UsaSlider extends Base {\n static formAssociated = true;\n static get observedAttributes(): string[] {\n return ['min', 'max', 'disabled', 'label'];\n }\n private _internals: ElementInternals | null = null;\n private _v = 0;\n private _pos!: SpringValue;\n private _id = -1;\n\n constructor() {\n super();\n try {\n this._internals = (this as any).attachInternals?.() ?? null;\n } catch {\n this._internals = null;\n }\n }\n\n private range(): [number, number, number] {\n const min = this.num('min', 0);\n const max = Math.max(min + 1e-9, this.num('max', 100));\n return [min, max, Math.max(1e-9, this.num('step', 1))];\n }\n get value(): number {\n return this._v;\n }\n set value(v: number) {\n this.setValue(v, false);\n }\n\n private fraction(v = this._v): number {\n const [min, max] = this.range();\n return (v - min) / (max - min);\n }\n\n private setValue(v: number, user: boolean, animate = true): void {\n const [min, max, step] = this.range();\n const q = clamp(Math.round((v - min) / step) * step + min, min, max);\n const val = Number(q.toFixed(10));\n const changed = val !== this._v;\n this._v = val;\n this.setAttribute('aria-valuenow', String(val));\n this.setAttribute('aria-valuetext', String(val));\n this._internals?.setFormValue?.(String(val));\n const bubble = this.querySelector('.usa-slider-bubble');\n if (bubble) bubble.textContent = String(val);\n if (animate) this._pos?.set(this.fraction());\n else this._pos?.jump(this.fraction());\n if (changed && user) {\n this.dispatchEvent(new Event('input', { bubbles: true }));\n this.emit('input', { value: val });\n }\n }\n\n mount(): void {\n if (!this.querySelector(':scope > .usa-slider-track')) {\n this.innerHTML = '<span class=\"usa-slider-track\"><span class=\"usa-slider-fill\"></span></span><span class=\"usa-slider-thumb\"><span class=\"usa-slider-bubble\"></span></span>';\n }\n this.setAttribute('role', 'slider');\n if (!this.hasAttribute('tabindex')) this.tabIndex = 0;\n const [min, max] = this.range();\n this.setAttribute('aria-valuemin', String(min));\n this.setAttribute('aria-valuemax', String(max));\n if (this.str('label')) this.setAttribute('aria-label', this.str('label'));\n this.toggleAttribute('aria-disabled', this.flag('disabled'));\n this._pos = createSpring({ spring: 'stiff', onUpdate: (f) => this.style.setProperty('--usa-slider', clamp(f, 0, 1).toFixed(4)) });\n this.setValue(this.num('value', min), false, false);\n const fromPointer = (e: PointerEvent) => {\n const r = this.getBoundingClientRect();\n return min + clamp((e.clientX - r.left) / (r.width || 1), 0, 1) * (max - min);\n };\n this.listen(this, 'pointerdown', (e: PointerEvent) => {\n if (this.flag('disabled')) return;\n this._id = e.pointerId;\n try {\n this.setPointerCapture?.(e.pointerId);\n } catch {\n /* synthetic */\n }\n this.setAttribute('data-dragging', '');\n this.setValue(fromPointer(e), true);\n });\n this.listen(this, 'pointermove', (e: PointerEvent) => e.pointerId === this._id && this.setValue(fromPointer(e), true));\n const end = (e: PointerEvent) => {\n if (e.pointerId !== this._id) return;\n this._id = -1;\n this.removeAttribute('data-dragging');\n this.commit();\n };\n this.listen(this, 'pointerup', end);\n this.listen(this, 'pointercancel', end);\n this.listen(this, 'keydown', (e: KeyboardEvent) => {\n if (this.flag('disabled')) return;\n const [mn, mx, st] = this.range();\n const map: Record<string, number> = { ArrowRight: this._v + st, ArrowUp: this._v + st, ArrowLeft: this._v - st, ArrowDown: this._v - st, PageUp: this._v + st * 10, PageDown: this._v - st * 10, Home: mn, End: mx };\n if (!(e.key in map)) return;\n e.preventDefault();\n this.setValue(map[e.key], true);\n this.commit();\n });\n }\n\n unmount(): void {\n this._pos?.stop();\n }\n\n private commit(): void {\n this.dispatchEvent(new Event('change', { bubbles: true }));\n this.emit('change', { value: this._v });\n }\n }\n return UsaSlider as unknown as CustomElementConstructor;\n },\n { id: 'slider', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport { springEasing } from '../physics/spring';\nimport { adoptVariants } from './variants';\nimport { place, nextId, type Placement } from './position';\nimport css from './popover.css?raw';\n\n/**\n * `<usa-popover>` — a click-to-open popover: the first element child is the\n * trigger, `[data-popover]` is the content. Springs open from the trigger,\n * flips to stay on screen; Esc or an outside click closes and focus returns\n * to the trigger. `aria-expanded` / `aria-controls` on the trigger.\n * Attributes: `open`, `placement` (`bottom` default), `variant`. Events:\n * `usa:open`, `usa:close`. Reduced motion: fades only.\n */\nexport interface UsaPopoverElement extends UsaElement {\n open: boolean;\n toggle(force?: boolean): void;\n}\n\nexport function definePopover(tag = 'usa-popover'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(\n tag,\n (Base) =>\n class UsaPopover extends Base {\n get open(): boolean {\n return this.flag('open');\n }\n set open(v: boolean) {\n this.toggle(v);\n }\n private parts(): [HTMLElement | null, HTMLElement | null] {\n return [this.firstElementChild as HTMLElement | null, this.querySelector<HTMLElement>(':scope > [data-popover]')];\n }\n\n mount(): void {\n const [trigger, panel] = this.parts();\n if (!trigger || !panel || trigger === panel) return;\n panel.id ||= nextId('usa-pop');\n panel.classList.add('usa-surface', 'usa-popover-panel');\n if (!panel.hasAttribute('role')) panel.setAttribute('role', 'dialog');\n panel.tabIndex = -1;\n trigger.setAttribute('aria-controls', panel.id);\n trigger.setAttribute('aria-haspopup', 'dialog');\n this.render(false);\n this.listen(trigger, 'click', () => this.toggle());\n this.listen(document, 'keydown', (e: KeyboardEvent) => {\n if (e.key === 'Escape' && this.open) {\n this.toggle(false);\n trigger.focus();\n }\n });\n this.listen(document, 'pointerdown', (e: PointerEvent) => this.open && !this.contains(e.target as Node) && this.toggle(false));\n this.listen(window, 'resize', () => this.open && place(panel, trigger, this.str('placement', 'bottom') as Placement));\n }\n\n private render(animate: boolean): void {\n const [trigger, panel] = this.parts();\n if (!trigger || !panel) return;\n trigger.setAttribute('aria-expanded', String(this.open));\n panel.hidden = !this.open;\n if (!this.open) return;\n const p = place(panel, trigger, this.str('placement', 'bottom') as Placement);\n if (!animate) return;\n const origin = { top: '50% 100%', bottom: '50% 0', left: '100% 50%', right: '0 50%' }[p];\n panel.style.transformOrigin = origin;\n this.motion(panel, this.reduced ? [{ opacity: 0 }, { opacity: 1 }] : [{ opacity: 0, transform: 'scale(0.9)' }, { opacity: 1, transform: 'none' }], this.reduced ? { duration: 120 } : springEasing('wobbly'));\n panel.focus({ preventScroll: true });\n }\n\n toggle(force?: boolean): void {\n const next = force === undefined ? !this.open : force;\n if (next === this.open) return;\n this.setFlag('open', next);\n this.render(true);\n this.emit(next ? 'open' : 'close');\n }\n },\n { id: 'popover', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport { springEasing } from '../physics/spring';\nimport { adoptVariants } from './variants';\nimport css from './badge.css?raw';\n\n/**\n * `<usa-badge>` — a count / dot badge on whatever it wraps; bumps with a\n * spring whenever the value changes and pulses with `pulse`.\n * Attributes: `value` (number or text; 0 / empty hides it unless\n * `show-zero`), `max` (99 → \"99+\"), `dot`, `pulse`, `label` (accessible\n * text, default \"{n} new\"), `variant`. Reduced motion: no bump or pulse.\n */\nexport interface UsaBadgeElement extends UsaElement {\n value: string;\n}\n\nexport function defineBadge(tag = 'usa-badge'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(\n tag,\n (Base) =>\n class UsaBadge extends Base {\n static get observedAttributes(): string[] {\n return ['value', 'max', 'dot', 'label'];\n }\n private _el: HTMLElement | null = null;\n get value(): string {\n return this.str('value');\n }\n set value(v: string) {\n this.setAttribute('value', String(v));\n }\n\n mount(): void {\n if (!this._el || !this._el.isConnected) {\n this._el = document.createElement('span');\n this._el.className = 'usa-badge-count';\n this.append(this._el);\n }\n this.sync(false);\n }\n\n changed(name: string): void {\n this.sync(name === 'value');\n }\n\n private sync(bump: boolean): void {\n const el = this._el;\n if (!el) return;\n const raw = this.value;\n const n = Number(raw);\n const max = this.num('max', 99);\n const text = this.flag('dot') ? '' : raw !== '' && Number.isFinite(n) && n > max ? `${max}+` : raw;\n const empty = !this.flag('dot') && (raw === '' || (raw === '0' && !this.flag('show-zero')));\n el.textContent = text;\n el.hidden = empty;\n this.toggleAttribute('data-dot', this.flag('dot'));\n const label = this.str('label', raw ? `${raw} new` : 'New');\n el.setAttribute('aria-label', label.replace('{n}', raw));\n el.setAttribute('role', 'status');\n if (bump && !empty && !this.reduced) this.motion(el, [{ transform: 'scale(0.4)' }, { transform: 'scale(1)' }], springEasing('bouncy'));\n }\n },\n { id: 'badge', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport { adoptVariants } from './variants';\nimport css from './avatar-stack.css?raw';\n\n/**\n * `<usa-avatar-stack>` — overlapping avatars (its children: `<img>` or any\n * element) that spread apart with a spring on hover / focus; extra ones\n * collapse into a \"+N\" chip.\n * Attributes: `max` (visible avatars, 5), `size` (px, 36), `overlap` (0–1,\n * 0.35), `label` (group name), `variant`. Reduced motion: no spreading.\n */\nexport interface UsaAvatarStackElement extends UsaElement {}\n\nexport function defineAvatarStack(tag = 'usa-avatar-stack'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(\n tag,\n (Base) =>\n class UsaAvatarStack extends Base {\n static get observedAttributes(): string[] {\n return ['max', 'size', 'overlap'];\n }\n mount(): void {\n this.querySelector(':scope > .usa-avatar-more')?.remove();\n const kids = Array.from(this.children) as HTMLElement[];\n const max = Math.max(1, this.num('max', 5));\n this.style.setProperty('--usa-avatar-size', `${this.num('size', 36)}px`);\n this.style.setProperty('--usa-avatar-overlap', String(this.num('overlap', 0.35)));\n this.setAttribute('role', 'group');\n this.setAttribute('aria-label', this.str('label', `${kids.length} people`));\n kids.forEach((k, i) => {\n k.classList.add('usa-avatar');\n k.hidden = i >= max;\n k.style.setProperty('--i', String(i));\n k.style.zIndex = String(kids.length - i);\n });\n if (kids.length > max) {\n const more = document.createElement('span');\n more.className = 'usa-avatar usa-avatar-more';\n more.textContent = `+${kids.length - max}`;\n more.style.setProperty('--i', String(max));\n more.setAttribute('aria-label', `and ${kids.length - max} more`);\n this.append(more);\n }\n }\n },\n { id: 'avatar-stack', text: css }\n );\n}\n","/**\n * motionary/components/ui — animated UI components + style variants (v2.6).\n * `<usa-tabs>`, `<usa-drawer>`, `<usa-bottom-sheet>`, `<usa-pull-refresh>`,\n * `<usa-fab>`, `<usa-navbar>`, `<usa-slider>`,\n * `<usa-popover>`, `<usa-badge>`, `<usa-avatar-stack>`,\n * and `variant=\"minimal | neon | glass | brutalist | fluent | material\"`\n * design tokens (`setVariant()`, `VARIANTS`).\n */\nimport { defineTabs, type UsaTabsElement } from './tabs';\nimport { defineDrawer, defineBottomSheet, type UsaDrawerElement, type UsaBottomSheetElement } from './sheet';\nimport { definePullRefresh, type UsaPullRefreshElement } from './pull-refresh';\nimport { defineFab, type UsaFabElement } from './fab';\nimport { defineNavbar, type UsaNavbarElement } from './navbar';\nimport { defineSlider, type UsaSliderElement } from './slider';\nimport { definePopover, type UsaPopoverElement } from './popover';\nimport { defineBadge, type UsaBadgeElement } from './badge';\nimport { defineAvatarStack, type UsaAvatarStackElement } from './avatar-stack';\n\nexport { defineTabs, defineDrawer, defineBottomSheet, definePullRefresh, defineFab, defineNavbar, defineSlider, definePopover, defineBadge, defineAvatarStack };\nexport { VARIANTS, setVariant, adoptVariants } from './variants';\nexport type { Variant } from './variants';\nexport type { Placement } from './position';\nexport type {\n UsaTabsElement,\n UsaDrawerElement,\n UsaBottomSheetElement,\n UsaPullRefreshElement,\n UsaFabElement,\n UsaNavbarElement,\n UsaSliderElement,\n UsaPopoverElement,\n UsaBadgeElement,\n UsaAvatarStackElement,\n};\n\n/** Register every component of this category under its default tag. */\nexport function defineUiComponents(): void {\n defineTabs();\n defineDrawer();\n defineBottomSheet();\n definePullRefresh();\n defineFab();\n defineNavbar();\n defineSlider();\n definePopover();\n defineBadge();\n defineAvatarStack();\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'usa-tabs': UsaTabsElement;\n 'usa-drawer': UsaDrawerElement;\n 'usa-bottom-sheet': UsaBottomSheetElement;\n 'usa-pull-refresh': UsaPullRefreshElement;\n 'usa-fab': UsaFabElement;\n 'usa-navbar': UsaNavbarElement;\n 'usa-slider': UsaSliderElement;\n 'usa-popover': UsaPopoverElement;\n 'usa-badge': UsaBadgeElement;\n 'usa-avatar-stack': UsaAvatarStackElement;\n }\n}\n"],"names":["css"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"vue.cjs","sources":["../../src/components/frameworks/vue.ts"],"sourcesContent":["/**\n * motionary/components/vue — Vue integration (v2.9).\n *\n * ```js\n * // vite.config.js\n * import vue from '@vitejs/plugin-vue';\n * import { isUsaElement } from 'motionary/components/vue';\n * export default { plugins: [vue({ template: { compilerOptions: { isCustomElement: isUsaElement } } })] };\n *\n * // main.js\n * import { UsaPlugin } from 'motionary/components/vue';\n * app.use(UsaPlugin, { categories: ['click', 'cards'] });\n * ```\n * In templates, listen with `@usa:change=\"…\"` and bind properties with\n * `.prop`: `<usa-switch :checked.prop=\"on\" @usa:change=\"on = $event.detail.checked\">`.\n */\nimport { defineComponents, type ComponentCategory } from '../index';\n\n/** `compilerOptions.isCustomElement` predicate for every `<usa-*>` tag. */\nexport const isUsaElement = (tag: string): boolean => tag.startsWith('usa-');\n\nexport interface UsaPluginOptions {\n /** Only register these categories (default: all). */\n categories?: ComponentCategory[];\n}\n\n/** Vue plugin: registers the `<usa-*>` elements (client only) and sets `isCustomElement` at runtime. */\nexport const UsaPlugin = {\n install(app: { config: { compilerOptions?: { isCustomElement?: (t: string) => boolean } } }, options: UsaPluginOptions = {}): void {\n const co = (app.config.compilerOptions ||= {});\n const prev = co.isCustomElement;\n co.isCustomElement = (t: string) => isUsaElement(t) || !!prev?.(t);\n defineComponents(options.categories);\n },\n};\n"],"names":["defineComponents"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;AAeG;AAGH;AACO,MAAM,YAAY,GAAG,CAAC,GAAW,KAAc,GAAG,CAAC,UAAU,CAAC,MAAM;AAO3E;AACO,MAAM,SAAS,GAAG;AACvB,IAAA,OAAO,CAAC,GAAmF,EAAE,OAAA,GAA4B,EAAE,EAAA;;AACzH,QAAA,MAAM,EAAE,IAAG,CAAA,EAAA,GAAC,GAAG,CAAC,MAAM,EAAC,eAAe,KAAA,EAAA,CAAf,eAAe,GAAK,EAAE,EAAC;AAC9C,QAAA,MAAM,IAAI,GAAG,EAAE,CAAC,eAAe;QAC/B,EAAE,CAAC,eAAe,GAAG,CAAC,CAAS,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;AAClE,QAAAA,2BAAgB,CAAC,OAAO,CAAC,UAAU,CAAC;IACtC,CAAC;;;;;;"}
1
+ {"version":3,"file":"vue.cjs","sources":["../../src/components/frameworks/vue.ts"],"sourcesContent":["/**\n * motionary/components/vue — Vue integration (v2.9).\n *\n * ```js\n * // vite.config.js\n * import vue from '@vitejs/plugin-vue';\n * import { isUsaElement } from 'motionary/components/vue';\n * export default { plugins: [vue({ template: { compilerOptions: { isCustomElement: isUsaElement } } })] };\n *\n * // main.js\n * import { UsaPlugin } from 'motionary/components/vue';\n * app.use(UsaPlugin, { categories: ['click', 'cards'] });\n * ```\n * In templates, listen with `@usa:change=\"…\"` and bind properties with\n * `.prop`: `<usa-switch :checked.prop=\"on\" @usa:change=\"on = $event.detail.checked\">`.\n */\nimport { defineComponents, type ComponentCategory } from '../index';\n\n/** `compilerOptions.isCustomElement` predicate for every `<usa-*>` tag. */\nexport const isUsaElement = (tag: string): boolean => tag.startsWith('usa-');\n\nexport interface UsaPluginOptions {\n /** Only register these categories (default: all). */\n categories?: ComponentCategory[];\n}\n\n/** Vue plugin: registers the `<usa-*>` elements (client only) and sets `isCustomElement` at runtime. */\nexport const UsaPlugin = {\n install(app: { config: { compilerOptions?: { isCustomElement?: (t: string) => boolean } } }, options: UsaPluginOptions = {}): void {\n const co = (app.config.compilerOptions ||= {});\n const prev = co.isCustomElement;\n co.isCustomElement = (t: string) => isUsaElement(t) || !!prev?.(t);\n defineComponents(options.categories);\n },\n};\n"],"names":["defineComponents"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;AAeG;AAGH;AACO,MAAM,YAAY,GAAG,CAAC,GAAW,KAAc,GAAG,CAAC,UAAU,CAAC,MAAM;AAO3E;AACO,MAAM,SAAS,GAAG;AACvB,IAAA,OAAO,CAAC,GAAmF,EAAE,OAAA,GAA4B,EAAE,EAAA;;AACzH,QAAA,MAAM,EAAE,IAAG,CAAA,EAAA,GAAC,GAAG,CAAC,MAAM,EAAC,eAAe,KAAA,EAAA,CAAf,eAAe,GAAK,EAAE,EAAC;AAC9C,QAAA,MAAM,IAAI,GAAG,EAAE,CAAC,eAAe;QAC/B,EAAE,CAAC,eAAe,GAAG,CAAC,CAAS,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;AAClE,QAAAA,2BAAgB,CAAC,OAAO,CAAC,UAAU,CAAC;IACtC,CAAC;;;;"}
@@ -1,32 +1,32 @@
1
1
  import { defineComponents } from '../components.js';
2
2
  import './reveal.js';
3
- import '../chunks/base-BnRyfuyM.js';
3
+ import '../chunks/base-BTev8qxg.js';
4
4
  import './text.js';
5
- import '../chunks/core-DsGoL9EY.js';
5
+ import '../chunks/core-BviA7nFa.js';
6
6
  import './tokens.js';
7
7
  import './interaction.js';
8
8
  import './feedback.js';
9
9
  import './background.js';
10
- import '../chunks/variants-GU3yIL4F.js';
10
+ import '../chunks/variants-CsRGUIyA.js';
11
11
  import './transitions.js';
12
12
  import './physics.js';
13
- import '../chunks/spring-CZDNyqWp.js';
13
+ import '../chunks/spring-BHuP55DR.js';
14
14
  import './cards.js';
15
15
  import './click.js';
16
- import '../chunks/fx-CtnrFEg9.js';
16
+ import '../chunks/fx-CgWKqVsn.js';
17
17
  import './ui.js';
18
18
  import './page.js';
19
19
  import './timeline.js';
20
20
  import './gesture.js';
21
- import '../chunks/core-XA2yhn1b.js';
21
+ import '../chunks/core-KiM7MXjL.js';
22
22
  import './svg.js';
23
23
  import './webgl.js';
24
24
  import './depth.js';
25
25
  import './layout.js';
26
26
  import './packs.js';
27
27
  import './fx.js';
28
- import '../chunks/registry-gFJRpPES.js';
29
- import '../chunks/builtins-CqIq1zBv.js';
28
+ import '../chunks/registry-BKzyg1JV.js';
29
+ import '../chunks/builtins-CPmS6aDB.js';
30
30
  import './a11y.js';
31
31
  import '../chunks/index-tags-B-JBecYg.js';
32
32
  import './perf.js';
@@ -1 +1 @@
1
- {"version":3,"file":"vue.js","sources":["../../src/components/frameworks/vue.ts"],"sourcesContent":["/**\n * motionary/components/vue — Vue integration (v2.9).\n *\n * ```js\n * // vite.config.js\n * import vue from '@vitejs/plugin-vue';\n * import { isUsaElement } from 'motionary/components/vue';\n * export default { plugins: [vue({ template: { compilerOptions: { isCustomElement: isUsaElement } } })] };\n *\n * // main.js\n * import { UsaPlugin } from 'motionary/components/vue';\n * app.use(UsaPlugin, { categories: ['click', 'cards'] });\n * ```\n * In templates, listen with `@usa:change=\"…\"` and bind properties with\n * `.prop`: `<usa-switch :checked.prop=\"on\" @usa:change=\"on = $event.detail.checked\">`.\n */\nimport { defineComponents, type ComponentCategory } from '../index';\n\n/** `compilerOptions.isCustomElement` predicate for every `<usa-*>` tag. */\nexport const isUsaElement = (tag: string): boolean => tag.startsWith('usa-');\n\nexport interface UsaPluginOptions {\n /** Only register these categories (default: all). */\n categories?: ComponentCategory[];\n}\n\n/** Vue plugin: registers the `<usa-*>` elements (client only) and sets `isCustomElement` at runtime. */\nexport const UsaPlugin = {\n install(app: { config: { compilerOptions?: { isCustomElement?: (t: string) => boolean } } }, options: UsaPluginOptions = {}): void {\n const co = (app.config.compilerOptions ||= {});\n const prev = co.isCustomElement;\n co.isCustomElement = (t: string) => isUsaElement(t) || !!prev?.(t);\n defineComponents(options.categories);\n },\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;AAeG;AAGH;AACO,MAAM,YAAY,GAAG,CAAC,GAAW,KAAc,GAAG,CAAC,UAAU,CAAC,MAAM;AAO3E;AACO,MAAM,SAAS,GAAG;AACvB,IAAA,OAAO,CAAC,GAAmF,EAAE,OAAA,GAA4B,EAAE,EAAA;;AACzH,QAAA,MAAM,EAAE,IAAG,CAAA,EAAA,GAAC,GAAG,CAAC,MAAM,EAAC,eAAe,KAAA,EAAA,CAAf,eAAe,GAAK,EAAE,EAAC;AAC9C,QAAA,MAAM,IAAI,GAAG,EAAE,CAAC,eAAe;QAC/B,EAAE,CAAC,eAAe,GAAG,CAAC,CAAS,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;AAClE,QAAA,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC;IACtC,CAAC;;;;;"}
1
+ {"version":3,"file":"vue.js","sources":["../../src/components/frameworks/vue.ts"],"sourcesContent":["/**\n * motionary/components/vue — Vue integration (v2.9).\n *\n * ```js\n * // vite.config.js\n * import vue from '@vitejs/plugin-vue';\n * import { isUsaElement } from 'motionary/components/vue';\n * export default { plugins: [vue({ template: { compilerOptions: { isCustomElement: isUsaElement } } })] };\n *\n * // main.js\n * import { UsaPlugin } from 'motionary/components/vue';\n * app.use(UsaPlugin, { categories: ['click', 'cards'] });\n * ```\n * In templates, listen with `@usa:change=\"…\"` and bind properties with\n * `.prop`: `<usa-switch :checked.prop=\"on\" @usa:change=\"on = $event.detail.checked\">`.\n */\nimport { defineComponents, type ComponentCategory } from '../index';\n\n/** `compilerOptions.isCustomElement` predicate for every `<usa-*>` tag. */\nexport const isUsaElement = (tag: string): boolean => tag.startsWith('usa-');\n\nexport interface UsaPluginOptions {\n /** Only register these categories (default: all). */\n categories?: ComponentCategory[];\n}\n\n/** Vue plugin: registers the `<usa-*>` elements (client only) and sets `isCustomElement` at runtime. */\nexport const UsaPlugin = {\n install(app: { config: { compilerOptions?: { isCustomElement?: (t: string) => boolean } } }, options: UsaPluginOptions = {}): void {\n const co = (app.config.compilerOptions ||= {});\n const prev = co.isCustomElement;\n co.isCustomElement = (t: string) => isUsaElement(t) || !!prev?.(t);\n defineComponents(options.categories);\n },\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;AAeG;AAGH;AACO,MAAM,YAAY,GAAG,CAAC,GAAW,KAAc,GAAG,CAAC,UAAU,CAAC,MAAM;AAO3E;AACO,MAAM,SAAS,GAAG;AACvB,IAAA,OAAO,CAAC,GAAmF,EAAE,OAAA,GAA4B,EAAE,EAAA;;AACzH,QAAA,MAAM,EAAE,IAAG,CAAA,EAAA,GAAC,GAAG,CAAC,MAAM,EAAC,eAAe,KAAA,EAAA,CAAf,eAAe,GAAK,EAAE,EAAC;AAC9C,QAAA,MAAM,IAAI,GAAG,EAAE,CAAC,eAAe;QAC/B,EAAE,CAAC,eAAe,GAAG,CAAC,CAAS,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;AAClE,QAAA,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC;IACtC,CAAC;;;"}