use-scroll-animate 4.8.0 → 5.0.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 (222) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/README.md +2 -1
  3. package/README_ja.md +1 -0
  4. package/README_zh.md +2 -1
  5. package/bin/usa-codemod-5.mjs +79 -0
  6. package/dist/chunks/{base-CxYU2NK_.cjs → base-B5i8qQPR.cjs} +65 -30
  7. package/dist/chunks/base-B5i8qQPR.cjs.map +1 -0
  8. package/dist/chunks/{base-CZiIAMBc.js → base-C3Sw9sAO.js} +63 -31
  9. package/dist/chunks/base-C3Sw9sAO.js.map +1 -0
  10. package/dist/chunks/{core-HLqH3qkA.cjs → core-BDcszY4L.cjs} +2 -2
  11. package/dist/chunks/{core-HLqH3qkA.cjs.map → core-BDcszY4L.cjs.map} +1 -1
  12. package/dist/chunks/{core-COi3DrLx.js → core-BTf__I-8.js} +2 -2
  13. package/dist/chunks/{core-COi3DrLx.js.map → core-BTf__I-8.js.map} +1 -1
  14. package/dist/chunks/{core-CctNfzuP.cjs → core-BjOYKSrV.cjs} +2 -2
  15. package/dist/chunks/{core-CctNfzuP.cjs.map → core-BjOYKSrV.cjs.map} +1 -1
  16. package/dist/chunks/{core-CJHJeMI_.js → core-DN3hHbHh.js} +2 -2
  17. package/dist/chunks/{core-CJHJeMI_.js.map → core-DN3hHbHh.js.map} +1 -1
  18. package/dist/chunks/fx-B8hk1Fby.cjs +114 -0
  19. package/dist/chunks/fx-B8hk1Fby.cjs.map +1 -0
  20. package/dist/chunks/fx-ChjxrMBo.js +109 -0
  21. package/dist/chunks/fx-ChjxrMBo.js.map +1 -0
  22. package/dist/chunks/{index-tags-Dh8nwXqw.js → index-tags-DucKMQr_.js} +2 -1
  23. package/dist/chunks/{index-tags-Dh8nwXqw.js.map → index-tags-DucKMQr_.js.map} +1 -1
  24. package/dist/chunks/{index-tags-CIRY2KnU.cjs → index-tags-wv0R_vkO.cjs} +2 -1
  25. package/dist/chunks/{index-tags-CIRY2KnU.cjs.map → index-tags-wv0R_vkO.cjs.map} +1 -1
  26. package/dist/chunks/{spring-Dkpygsuj.cjs → spring--oZh55tB.cjs} +2 -2
  27. package/dist/chunks/{spring-Dkpygsuj.cjs.map → spring--oZh55tB.cjs.map} +1 -1
  28. package/dist/chunks/{spring-BS5tg6aK.js → spring-CckMe3x0.js} +2 -2
  29. package/dist/chunks/{spring-BS5tg6aK.js.map → spring-CckMe3x0.js.map} +1 -1
  30. package/dist/chunks/{variants-D9n-3x27.js → variants-Bsevy6Xm.js} +2 -2
  31. package/dist/chunks/{variants-D9n-3x27.js.map → variants-Bsevy6Xm.js.map} +1 -1
  32. package/dist/chunks/{variants-CfJzrzMh.cjs → variants-DxPmgrNX.cjs} +2 -2
  33. package/dist/chunks/{variants-CfJzrzMh.cjs.map → variants-DxPmgrNX.cjs.map} +1 -1
  34. package/dist/components/a11y.cjs +39 -2
  35. package/dist/components/a11y.cjs.map +1 -1
  36. package/dist/components/a11y.d.cts +13 -2
  37. package/dist/components/a11y.d.ts +13 -2
  38. package/dist/components/a11y.js +39 -4
  39. package/dist/components/a11y.js.map +1 -1
  40. package/dist/components/angular.cjs +8 -6
  41. package/dist/components/angular.cjs.map +1 -1
  42. package/dist/components/angular.d.cts +33 -4
  43. package/dist/components/angular.d.ts +33 -4
  44. package/dist/components/angular.js +8 -6
  45. package/dist/components/angular.js.map +1 -1
  46. package/dist/components/background.cjs +2 -4
  47. package/dist/components/background.cjs.map +1 -1
  48. package/dist/components/background.d.cts +2 -47
  49. package/dist/components/background.d.ts +2 -47
  50. package/dist/components/background.js +3 -4
  51. package/dist/components/background.js.map +1 -1
  52. package/dist/components/bridge.cjs +1 -1
  53. package/dist/components/bridge.js +1 -1
  54. package/dist/components/cards.cjs +2 -4
  55. package/dist/components/cards.cjs.map +1 -1
  56. package/dist/components/cards.d.cts +2 -47
  57. package/dist/components/cards.d.ts +2 -47
  58. package/dist/components/cards.js +2 -3
  59. package/dist/components/cards.js.map +1 -1
  60. package/dist/components/click.cjs +24 -130
  61. package/dist/components/click.cjs.map +1 -1
  62. package/dist/components/click.d.cts +2 -47
  63. package/dist/components/click.d.ts +2 -47
  64. package/dist/components/click.js +4 -109
  65. package/dist/components/click.js.map +1 -1
  66. package/dist/components/depth.cjs +3 -5
  67. package/dist/components/depth.cjs.map +1 -1
  68. package/dist/components/depth.d.cts +2 -47
  69. package/dist/components/depth.d.ts +2 -47
  70. package/dist/components/depth.js +3 -4
  71. package/dist/components/depth.js.map +1 -1
  72. package/dist/components/feedback.cjs +1 -3
  73. package/dist/components/feedback.cjs.map +1 -1
  74. package/dist/components/feedback.d.cts +2 -47
  75. package/dist/components/feedback.d.ts +2 -47
  76. package/dist/components/feedback.js +1 -2
  77. package/dist/components/feedback.js.map +1 -1
  78. package/dist/components/fx.cjs +285 -0
  79. package/dist/components/fx.cjs.map +1 -0
  80. package/dist/components/fx.css +3 -0
  81. package/dist/components/fx.d.cts +114 -0
  82. package/dist/components/fx.d.ts +114 -0
  83. package/dist/components/fx.js +271 -0
  84. package/dist/components/fx.js.map +1 -0
  85. package/dist/components/gesture.cjs +3 -5
  86. package/dist/components/gesture.cjs.map +1 -1
  87. package/dist/components/gesture.d.cts +2 -47
  88. package/dist/components/gesture.d.ts +2 -47
  89. package/dist/components/gesture.js +4 -5
  90. package/dist/components/gesture.js.map +1 -1
  91. package/dist/components/interaction.cjs +1 -3
  92. package/dist/components/interaction.cjs.map +1 -1
  93. package/dist/components/interaction.d.cts +2 -47
  94. package/dist/components/interaction.d.ts +2 -47
  95. package/dist/components/interaction.js +1 -2
  96. package/dist/components/interaction.js.map +1 -1
  97. package/dist/components/jsx.d.cts +1 -0
  98. package/dist/components/jsx.d.ts +1 -0
  99. package/dist/components/layout.cjs +1 -3
  100. package/dist/components/layout.cjs.map +1 -1
  101. package/dist/components/layout.d.cts +2 -47
  102. package/dist/components/layout.d.ts +2 -47
  103. package/dist/components/layout.js +2 -3
  104. package/dist/components/layout.js.map +1 -1
  105. package/dist/components/lazy.cjs +2 -1
  106. package/dist/components/lazy.cjs.map +1 -1
  107. package/dist/components/lazy.d.cts +1 -0
  108. package/dist/components/lazy.d.ts +1 -0
  109. package/dist/components/lazy.js +2 -1
  110. package/dist/components/lazy.js.map +1 -1
  111. package/dist/components/lite.cjs +413 -42
  112. package/dist/components/lite.cjs.map +1 -1
  113. package/dist/components/lite.js +394 -43
  114. package/dist/components/lite.js.map +1 -1
  115. package/dist/components/packs.cjs +1 -3
  116. package/dist/components/packs.cjs.map +1 -1
  117. package/dist/components/packs.d.cts +2 -47
  118. package/dist/components/packs.d.ts +2 -47
  119. package/dist/components/packs.js +2 -3
  120. package/dist/components/packs.js.map +1 -1
  121. package/dist/components/page.cjs +31 -12
  122. package/dist/components/page.cjs.map +1 -1
  123. package/dist/components/page.d.cts +15 -52
  124. package/dist/components/page.d.ts +15 -52
  125. package/dist/components/page.js +31 -12
  126. package/dist/components/page.js.map +1 -1
  127. package/dist/components/perf.cjs +3 -4
  128. package/dist/components/perf.cjs.map +1 -1
  129. package/dist/components/perf.d.cts +1 -0
  130. package/dist/components/perf.d.ts +1 -0
  131. package/dist/components/perf.js +4 -5
  132. package/dist/components/perf.js.map +1 -1
  133. package/dist/components/physics.cjs +2 -4
  134. package/dist/components/physics.cjs.map +1 -1
  135. package/dist/components/physics.d.cts +2 -47
  136. package/dist/components/physics.d.ts +2 -47
  137. package/dist/components/physics.js +3 -4
  138. package/dist/components/physics.js.map +1 -1
  139. package/dist/components/react.cjs +1 -1
  140. package/dist/components/react.js +1 -1
  141. package/dist/components/reveal.cjs +1 -3
  142. package/dist/components/reveal.cjs.map +1 -1
  143. package/dist/components/reveal.d.cts +2 -47
  144. package/dist/components/reveal.d.ts +2 -47
  145. package/dist/components/reveal.js +1 -2
  146. package/dist/components/reveal.js.map +1 -1
  147. package/dist/components/solid.cjs +8 -6
  148. package/dist/components/solid.cjs.map +1 -1
  149. package/dist/components/solid.d.cts +33 -4
  150. package/dist/components/solid.d.ts +33 -4
  151. package/dist/components/solid.js +8 -6
  152. package/dist/components/solid.js.map +1 -1
  153. package/dist/components/svelte.cjs +8 -6
  154. package/dist/components/svelte.cjs.map +1 -1
  155. package/dist/components/svelte.d.cts +33 -4
  156. package/dist/components/svelte.d.ts +33 -4
  157. package/dist/components/svelte.js +8 -6
  158. package/dist/components/svelte.js.map +1 -1
  159. package/dist/components/svg.cjs +1 -3
  160. package/dist/components/svg.cjs.map +1 -1
  161. package/dist/components/svg.d.cts +2 -47
  162. package/dist/components/svg.d.ts +2 -47
  163. package/dist/components/svg.js +2 -3
  164. package/dist/components/svg.js.map +1 -1
  165. package/dist/components/text.cjs +2 -4
  166. package/dist/components/text.cjs.map +1 -1
  167. package/dist/components/text.d.cts +2 -47
  168. package/dist/components/text.d.ts +2 -47
  169. package/dist/components/text.js +2 -3
  170. package/dist/components/text.js.map +1 -1
  171. package/dist/components/timeline.cjs +3 -5
  172. package/dist/components/timeline.cjs.map +1 -1
  173. package/dist/components/timeline.d.cts +4 -49
  174. package/dist/components/timeline.d.ts +4 -49
  175. package/dist/components/timeline.js +4 -5
  176. package/dist/components/timeline.js.map +1 -1
  177. package/dist/components/transitions.cjs +1 -3
  178. package/dist/components/transitions.cjs.map +1 -1
  179. package/dist/components/transitions.d.cts +2 -47
  180. package/dist/components/transitions.d.ts +2 -47
  181. package/dist/components/transitions.js +2 -3
  182. package/dist/components/transitions.js.map +1 -1
  183. package/dist/components/ui.cjs +3 -5
  184. package/dist/components/ui.cjs.map +1 -1
  185. package/dist/components/ui.d.cts +2 -47
  186. package/dist/components/ui.d.ts +2 -47
  187. package/dist/components/ui.js +4 -5
  188. package/dist/components/ui.js.map +1 -1
  189. package/dist/components/vue.cjs +8 -6
  190. package/dist/components/vue.cjs.map +1 -1
  191. package/dist/components/vue.d.cts +33 -4
  192. package/dist/components/vue.d.ts +33 -4
  193. package/dist/components/vue.js +8 -6
  194. package/dist/components/vue.js.map +1 -1
  195. package/dist/components/webgl.cjs +3 -5
  196. package/dist/components/webgl.cjs.map +1 -1
  197. package/dist/components/webgl.d.cts +2 -47
  198. package/dist/components/webgl.d.ts +2 -47
  199. package/dist/components/webgl.js +3 -4
  200. package/dist/components/webgl.js.map +1 -1
  201. package/dist/components.cjs +33 -10
  202. package/dist/components.cjs.map +1 -1
  203. package/dist/components.css +1 -0
  204. package/dist/components.d.cts +147 -17
  205. package/dist/components.d.ts +147 -17
  206. package/dist/components.js +16 -12
  207. package/dist/components.js.map +1 -1
  208. package/dist/components.umd.js +2 -2
  209. package/dist/components.umd.js.map +1 -1
  210. package/dist/index.cjs +2 -2
  211. package/dist/index.js +2 -2
  212. package/dist/index.umd.js +1 -1
  213. package/dist/index.umd.js.map +1 -1
  214. package/docs/API.md +1 -1
  215. package/docs/ROADMAP.md +12 -12
  216. package/docs/components.md +14 -1
  217. package/docs/deprecations.md +6 -0
  218. package/docs/performance.md +1 -1
  219. package/docs/upgrading-5.md +31 -0
  220. package/package.json +18 -3
  221. package/dist/chunks/base-CZiIAMBc.js.map +0 -1
  222. package/dist/chunks/base-CxYU2NK_.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"background.js","sources":["../../src/components/background/aurora.ts","../../src/components/background/particles.ts","../../src/components/background/grain.ts","../../src/components/background/marquee.ts","../../src/components/background/acrylic.ts","../../src/components/background/bg-fx.ts","../../src/components/background/fluent.ts","../../src/components/background/index.ts"],"sourcesContent":["import { defineElement, type UsaElement } from '../base';\nimport css from './aurora.css?raw';\n\n/**\n * `<usa-aurora>` — a slow, drifting aurora / gradient-mesh backdrop behind\n * its content. Soft radial gradients moved with `transform` only (no\n * animated blur), paused while off-screen.\n *\n * Attributes: `colors` (comma-separated, default violet / cyan / pink),\n * `speed` (multiplier, 1), `intensity` (0–1 opacity, 0.7), `paused`.\n * Reduced motion: a still gradient.\n */\nexport type UsaAuroraElement = UsaElement;\n\nexport function defineAurora(tag = 'usa-aurora'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaAurora extends Base {\n static get observedAttributes(): string[] {\n return ['colors', 'speed', 'intensity'];\n }\n\n private _layer: HTMLElement | null = null;\n\n mount(): void {\n if (!this._layer) {\n this._layer = document.createElement('div');\n this._layer.className = 'usa-aurora-layer';\n this._layer.setAttribute('aria-hidden', 'true');\n this._layer.innerHTML = '<i></i><i></i><i></i><i></i>';\n this.prepend(this._layer);\n }\n const colors = this.str('colors', '#7c5cff,#22d3ee,#f472b6,#34d399').split(',').map((c) => c.trim()).filter(Boolean);\n Array.from(this._layer.children).forEach((blob, i) => {\n (blob as HTMLElement).style.setProperty('--c', colors[i % colors.length]);\n });\n const speed = this.num('speed', 1);\n this.style.setProperty('--usa-aurora-speed', `${(18 / Math.max(0.05, speed)).toFixed(2)}s`);\n this.style.setProperty('--usa-aurora-opacity', String(this.num('intensity', 0.7)));\n this.inView((v) => this.toggleAttribute('data-offscreen', !v));\n }\n },\n { id: 'aurora', text: css }\n );\n}\n","import { defineElement, raf, caf, type UsaElement } from '../base';\nimport css from './particles.css?raw';\n\n/**\n * `<usa-particles>` — a canvas of drifting particles, optionally linked by\n * lines when close (a \"constellation\"), that drift away from the pointer.\n * Fills its own box (place it as a background with\n * `position: absolute; inset: 0`, or give it a height).\n *\n * Attributes: `count` (60; scaled down on small boxes), `color`\n * (default `currentColor`), `size` (max radius px, 2.2), `speed` (0.35),\n * `links` (max link distance px, 110; `0` disables), `interactive`,\n * `paused`. Renders only while visible and the tab is shown, at device\n * pixel ratio ≤ 2. Reduced motion: one still frame.\n */\nexport interface UsaParticlesElement extends UsaElement {\n /** Re-seed the particles. */\n reset(): void;\n}\n\ninterface P {\n x: number;\n y: number;\n vx: number;\n vy: number;\n r: number;\n}\n\nexport function defineParticles(tag = 'usa-particles'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaParticles extends Base {\n static get observedAttributes(): string[] {\n return ['count', 'color', 'size', 'speed', 'links', 'interactive', 'paused'];\n }\n\n private _canvas: HTMLCanvasElement | null = null;\n private _ctx: CanvasRenderingContext2D | null = null;\n private _ps: P[] = [];\n private _frame = 0;\n private _w = 0;\n private _h = 0;\n private _visible = false;\n private _mx = -1e4;\n private _color = '#888';\n private _my = -1e4;\n\n mount(): void {\n if (!this._canvas) {\n this._canvas = document.createElement('canvas');\n this._canvas.setAttribute('aria-hidden', 'true');\n this.prepend(this._canvas);\n }\n this._ctx = this._canvas.getContext?.('2d') ?? null;\n if (!this._ctx) return;\n this.resize();\n if (typeof ResizeObserver !== 'undefined') {\n const ro = new ResizeObserver(() => {\n this.resize();\n if (!this._frame) this.draw();\n });\n ro.observe(this);\n this.onCleanup(() => ro.disconnect());\n }\n this.inView((v) => {\n this._visible = v;\n this.loop();\n });\n this.listen(document, 'visibilitychange', () => this.loop());\n if (this.flag('interactive')) {\n this.listen(window, 'pointermove', (e: PointerEvent) => {\n const r = this.getBoundingClientRect();\n this._mx = e.clientX - r.left;\n this._my = e.clientY - r.top;\n }, { passive: true });\n }\n this.draw();\n }\n\n unmount(): void {\n caf(this._frame);\n this._frame = 0;\n }\n\n reset(): void {\n this._ps = [];\n this.resize();\n this.draw();\n }\n\n private resize(): void {\n const c = this._canvas;\n if (!c || !this._ctx) return;\n const w = this.clientWidth || 300;\n const h = this.clientHeight || 150;\n const dpr = Math.min(2, (typeof devicePixelRatio === 'number' && devicePixelRatio) || 1);\n c.width = Math.round(w * dpr);\n c.height = Math.round(h * dpr);\n this._ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n this._w = w;\n this._h = h;\n this._color = this.getAttribute('color') || (typeof getComputedStyle === 'function' ? getComputedStyle(this).color : '') || '#888';\n const want = Math.round(Math.min(1, (w * h) / (900 * 500)) * Math.max(1, this.num('count', 60))) || 1;\n const speed = this.num('speed', 0.35);\n const size = this.num('size', 2.2);\n while (this._ps.length < want) {\n const a = Math.random() * Math.PI * 2;\n const s = speed * (0.3 + Math.random() * 0.7);\n this._ps.push({ x: Math.random() * w, y: Math.random() * h, vx: Math.cos(a) * s, vy: Math.sin(a) * s, r: 0.6 + Math.random() * (size - 0.6) });\n }\n this._ps.length = want;\n }\n\n private loop(): void {\n const run = this._visible && !this.reduced && !this.flag('paused') && !(typeof document !== 'undefined' && document.hidden);\n if (run && !this._frame) {\n const tick = () => {\n this.step();\n this.draw();\n this._frame = raf(tick);\n };\n this._frame = raf(tick);\n } else if (!run && this._frame) {\n caf(this._frame);\n this._frame = 0;\n }\n }\n\n private step(): void {\n const { _w: w, _h: h } = this;\n for (const p of this._ps) {\n const dx = p.x - this._mx;\n const dy = p.y - this._my;\n const d2 = dx * dx + dy * dy;\n if (d2 < 8100 && d2 > 0.01) {\n const f = (1 - Math.sqrt(d2) / 90) * 0.6;\n p.x += (dx / Math.sqrt(d2)) * f;\n p.y += (dy / Math.sqrt(d2)) * f;\n }\n p.x += p.vx;\n p.y += p.vy;\n if (p.x < -5) p.x = w + 5;\n else if (p.x > w + 5) p.x = -5;\n if (p.y < -5) p.y = h + 5;\n else if (p.y > h + 5) p.y = -5;\n }\n }\n\n private draw(): void {\n const ctx = this._ctx;\n if (!ctx) return;\n const color = this._color;\n ctx.clearRect(0, 0, this._w, this._h);\n ctx.fillStyle = color;\n ctx.strokeStyle = color;\n const ps = this._ps;\n const link = this.num('links', 110);\n if (link > 0) {\n const l2 = link * link;\n ctx.lineWidth = 0.6;\n for (let i = 0; i < ps.length; i++) {\n for (let j = i + 1; j < ps.length; j++) {\n const dx = ps[i].x - ps[j].x;\n const dy = ps[i].y - ps[j].y;\n const d2 = dx * dx + dy * dy;\n if (d2 < l2) {\n ctx.globalAlpha = (1 - d2 / l2) * 0.35;\n ctx.beginPath();\n ctx.moveTo(ps[i].x, ps[i].y);\n ctx.lineTo(ps[j].x, ps[j].y);\n ctx.stroke();\n }\n }\n }\n }\n ctx.globalAlpha = 0.85;\n for (const p of ps) {\n ctx.beginPath();\n ctx.arc(p.x, p.y, p.r, 0, Math.PI * 2);\n ctx.fill();\n }\n ctx.globalAlpha = 1;\n }\n },\n { id: 'particles', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport css from './grain.css?raw';\n\n/**\n * `<usa-grain>` — a film-grain / noise overlay on top of its content\n * (SVG `feTurbulence` texture, no images to ship). With `animated`, the\n * grain jitters like film (stepped `transform`, ~12 fps).\n *\n * Attributes: `opacity` (0.12), `animated`, `blend` (`mix-blend-mode`,\n * default `overlay`), `scale` (texture size px, 180). Never intercepts\n * pointer events. Reduced motion: static grain.\n */\nexport type UsaGrainElement = UsaElement;\n\nconst noise = (freq: number) =>\n `url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='256' height='256'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='${freq}' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 1.6 -0.3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E\")`;\n\nexport function defineGrain(tag = 'usa-grain'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaGrain extends Base {\n static get observedAttributes(): string[] {\n return ['opacity', 'blend', 'scale'];\n }\n\n private _layer: HTMLElement | null = null;\n\n mount(): void {\n if (!this._layer) {\n this._layer = document.createElement('div');\n this._layer.className = 'usa-grain-layer';\n this._layer.setAttribute('aria-hidden', 'true');\n this.append(this._layer);\n }\n const s = this._layer.style;\n s.backgroundImage = noise(0.8);\n s.backgroundSize = `${this.num('scale', 180)}px`;\n s.opacity = String(this.num('opacity', 0.12));\n s.mixBlendMode = this.str('blend', 'overlay');\n }\n },\n { id: 'grain', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport css from './marquee.css?raw';\n\n/**\n * `<usa-marquee>` — an infinite, seamless ticker of its children (logos,\n * testimonials, tags). The content is cloned (clones are `aria-hidden` and\n * `inert`) and the track slides with one WAAPI `transform` animation whose\n * duration follows the measured width, so the speed is constant.\n *\n * Attributes: `speed` (px/s, 50), `direction` (`left` default | `right` |\n * `up` | `down`), `gap` (px, 32), `pause-on-hover`, `fade` (soft edges),\n * `paused`. Pauses off-screen. Reduced motion: no movement; the row\n * becomes scrollable instead.\n */\nexport interface UsaMarqueeElement extends UsaElement {\n pause(): void;\n resume(): void;\n}\n\nexport function defineMarquee(tag = 'usa-marquee'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaMarquee extends Base {\n static get observedAttributes(): string[] {\n return ['speed', 'direction', 'gap', 'paused'];\n }\n\n private _track: HTMLElement | null = null;\n private _anim: Animation | null = null;\n private _hover = false;\n private _visible = true;\n private _size = 0;\n\n private get vertical(): boolean {\n const d = this.str('direction', 'left');\n return d === 'up' || d === 'down';\n }\n\n mount(): void {\n if (!this._track) {\n const track = document.createElement('div');\n track.className = 'usa-marquee-track';\n const group = document.createElement('div');\n group.className = 'usa-marquee-group';\n group.append(...Array.from(this.childNodes));\n track.append(group);\n this.append(track);\n this._track = track;\n }\n this.toggleAttribute('data-vertical', this.vertical);\n this.style.setProperty('--usa-marquee-gap', `${this.num('gap', 32)}px`);\n if (this.reduced) {\n this.setAttribute('data-static', '');\n this.syncClones(1);\n return;\n }\n this.removeAttribute('data-static');\n this.build();\n if (typeof ResizeObserver !== 'undefined') {\n const ro = new ResizeObserver(() => this.build());\n ro.observe(this._track.firstElementChild as Element);\n this.onCleanup(() => ro.disconnect());\n }\n this.inView((v) => {\n this._visible = v;\n this.sync();\n });\n this.listen(this, 'pointerenter', () => ((this._hover = true), this.sync()));\n this.listen(this, 'pointerleave', () => ((this._hover = false), this.sync()));\n this.listen(this, 'focusin', () => ((this._hover = true), this.sync()));\n this.listen(this, 'focusout', () => ((this._hover = false), this.sync()));\n }\n\n unmount(): void {\n this._anim?.cancel();\n this._anim = null;\n this._size = 0;\n }\n\n private syncClones(n: number): void {\n const track = this._track!;\n const group = track.firstElementChild as HTMLElement;\n while (track.children.length > n) track.lastElementChild!.remove();\n while (track.children.length < n) {\n const clone = group.cloneNode(true) as HTMLElement;\n clone.setAttribute('aria-hidden', 'true');\n clone.setAttribute('inert', '');\n track.append(clone);\n }\n }\n\n private build(): void {\n const track = this._track!;\n const group = track.firstElementChild as HTMLElement;\n const vertical = this.vertical;\n const gap = this.num('gap', 32);\n const measured = vertical ? group.offsetHeight : group.offsetWidth;\n if (!measured) return; // not laid out yet: the ResizeObserver calls back\n const size = measured + gap;\n if (this._anim && this._size === size) return;\n this._size = size;\n const box = (vertical ? this.clientHeight : this.clientWidth) || size;\n // Enough copies to cover the box twice\n this.syncClones(Math.min(50, Math.max(2, Math.ceil(box / size) + 1)));\n const progress = this._anim?.effect?.getComputedTiming().progress ?? 0;\n this._anim?.cancel();\n const axis = vertical ? 'Y' : 'X';\n const reverse = ['right', 'down'].includes(this.str('direction', 'left'));\n const frames = [{ transform: `translate${axis}(0)` }, { transform: `translate${axis}(${-size}px)` }];\n this._anim = this.motion(track, reverse ? frames.reverse() : frames, {\n duration: (Math.max(1, size) / Math.max(1, this.num('speed', 50))) * 1000,\n iterations: Infinity,\n });\n if (this._anim && progress) this._anim.currentTime = progress * Number(this._anim.effect?.getTiming().duration || 0);\n this.sync();\n }\n\n private sync(): void {\n const a = this._anim;\n if (!a) return;\n const stop = this.flag('paused') || !this._visible || (this._hover && this.flag('pause-on-hover'));\n if (stop && a.playState === 'running') a.pause();\n else if (!stop && a.playState === 'paused') a.play();\n }\n\n pause(): void {\n this.setAttribute('paused', '');\n }\n resume(): void {\n this.removeAttribute('paused');\n }\n\n changed(name: string): void {\n if (name === 'paused') this.sync();\n else super.changed(name);\n }\n },\n { id: 'marquee', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport css from './acrylic.css?raw';\n\n/**\n * `<usa-acrylic>` — Windows Fluent materials for the web: `acrylic`\n * (frosted glass: backdrop blur + saturation + tint + subtle noise) and\n * `mica` (an opaque, wallpaper-tinted base for app backgrounds; on the web it\n * tints from `--usa-mica-source`, a gradient you control). Optional\n * `shimmer` adds a light sweep when it appears or on hover.\n *\n * Attributes: `kind` (`acrylic` default | `mica`), `tint` (colour),\n * `tint-opacity` (0–1, 0.55), `blur` (px, 30), `shimmer`\n * (`hover` | `load` | `none`, default `none`). Falls back to a solid tint\n * without `backdrop-filter` and under `prefers-reduced-transparency` or\n * forced colours, like Windows does when transparency effects are off.\n */\nexport type UsaAcrylicElement = UsaElement;\n\nexport function defineAcrylic(tag = 'usa-acrylic'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaAcrylic extends Base {\n static get observedAttributes(): string[] {\n return ['tint', 'tint-opacity', 'blur', 'shimmer'];\n }\n\n mount(): void {\n const tint = this.getAttribute('tint');\n if (tint) this.style.setProperty('--usa-acrylic-tint', tint);\n else this.style.removeProperty('--usa-acrylic-tint');\n this.style.setProperty('--usa-acrylic-opacity', `${Math.round(this.num('tint-opacity', 0.55) * 100)}%`);\n this.style.setProperty('--usa-acrylic-blur', `${this.num('blur', 30)}px`);\n if (this.str('shimmer') === 'load' && !this.reduced) {\n this.removeAttribute('data-shine');\n void this.offsetWidth;\n this.setAttribute('data-shine', '');\n }\n }\n },\n { id: 'acrylic', text: css }\n );\n}\n","import { defineElement, raf, caf, type UsaElement } from '../base';\nimport css from './bg-fx.css?raw';\n\n/** Shared canvas setup: DPR ≤ 2, resize with the host, run only while visible & tab shown. */\nfunction canvasLoop(host: any, draw: (ctx: CanvasRenderingContext2D, w: number, h: number, t: number) => void, still: boolean): void {\n const c = document.createElement('canvas');\n c.className = 'usa-bg-canvas';\n c.setAttribute('aria-hidden', 'true');\n host.prepend(c);\n host.onCleanup(() => c.remove());\n const ctx = c.getContext?.('2d') as CanvasRenderingContext2D | null;\n if (!ctx) return;\n const dpr = Math.min(2, (typeof window !== 'undefined' && window.devicePixelRatio) || 1);\n let w = 0;\n let h = 0;\n const size = () => {\n const r = host.getBoundingClientRect();\n w = Math.max(1, r.width || 300);\n h = Math.max(1, r.height || 150);\n c.width = w * dpr;\n c.height = h * dpr;\n ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n };\n size();\n const ro = typeof ResizeObserver !== 'undefined' ? new ResizeObserver(size) : null;\n ro?.observe(host);\n host.onCleanup(() => ro?.disconnect());\n let id = 0;\n let on = false;\n const loop = (t: number) => {\n if (!document.hidden) draw(ctx, w, h, t);\n id = raf(loop);\n };\n if (still) {\n draw(ctx, w, h, 0);\n return;\n }\n host.inView((v: boolean) => {\n if (v && !on) {\n on = true;\n id = raf(loop);\n } else if (!v && on) {\n on = false;\n caf(id);\n }\n });\n host.onCleanup(() => caf(id));\n}\n\n/**\n * `<usa-grid-glow>` — a line grid behind its content that lights up around\n * the pointer. Attributes: `size` (cell px, 32), `color`, `radius` (px, 220).\n * Reduced motion: the grid stays, a soft static glow in the centre.\n */\nexport interface UsaGridGlowElement extends UsaElement {}\nexport function defineGridGlow(tag = 'usa-grid-glow'): CustomElementConstructor | undefined {\n return defineElement(tag, (Base) => class extends Base {\n mount(): void {\n this.style.setProperty('--usa-grid', `${this.num('size', 32)}px`);\n this.style.setProperty('--usa-grid-r', `${this.num('radius', 220)}px`);\n if (this.str('color')) this.style.setProperty('--usa-grid-color', this.str('color'));\n if (this.reduced) return;\n let f = 0;\n let x = 0;\n let y = 0;\n this.listen(this, 'pointermove', (e: PointerEvent) => {\n const r = this.getBoundingClientRect();\n x = e.clientX - r.left;\n y = e.clientY - r.top;\n if (!f) f = raf(() => {\n f = 0;\n this.style.setProperty('--usa-grid-x', `${x}px`);\n this.style.setProperty('--usa-grid-y', `${y}px`);\n });\n });\n this.onCleanup(() => caf(f));\n }\n }, { id: 'bg-fx', text: css });\n}\n\n/**\n * `<usa-blobs>` — soft, slowly morphing colour blobs (fluid gradient\n * backdrop). Attributes: `colors` (comma list), `speed` (1), `blur` (px, 60).\n * Reduced motion: still blobs.\n */\nexport interface UsaBlobsElement extends UsaElement {}\nexport function defineBlobs(tag = 'usa-blobs'): CustomElementConstructor | undefined {\n return defineElement(tag, (Base) => class extends Base {\n mount(): void {\n this.querySelector(':scope > .usa-blobs-layer')?.remove();\n const colors = this.str('colors', '#7c5cff,#22d3ee,#f472b6,#34d399').split(',');\n const layer = document.createElement('div');\n layer.className = 'usa-blobs-layer';\n layer.setAttribute('aria-hidden', 'true');\n layer.innerHTML = colors.map((c, i) => `<i style=\"--c:${c.trim()};--i:${i}\"></i>`).join('');\n this.prepend(layer);\n this.style.setProperty('--usa-blobs-speed', String(this.num('speed', 1)));\n this.style.setProperty('--usa-blobs-blur', `${this.num('blur', 60)}px`);\n }\n }, { id: 'bg-fx', text: css });\n}\n\n/**\n * `<usa-water-ripple>` — interactive water ripples on a canvas over its\n * content (pointer moves and taps disturb the surface). Low-resolution height\n * map, paused off-screen. Attributes: `damping` (0.96), `strength` (1),\n * `color` (highlight). Reduced motion: nothing is drawn.\n */\nexport interface UsaWaterRippleElement extends UsaElement {\n drop(x: number, y: number, strength?: number): void;\n}\nexport function defineWaterRipple(tag = 'usa-water-ripple'): CustomElementConstructor | undefined {\n return defineElement(tag, (Base) => class extends Base {\n private _drop: ((x: number, y: number, s?: number) => void) | null = null;\n drop(x: number, y: number, s = 1): void {\n this._drop?.(x, y, s);\n }\n mount(): void {\n if (this.reduced) return;\n const S = 4;\n let cols = 0;\n let rows = 0;\n let a = new Float32Array(0);\n let b = new Float32Array(0);\n const damp = this.num('damping', 0.96);\n const color = this.str('color', '255,255,255');\n this._drop = (x, y, s = 1) => {\n const cx = Math.floor(x / S);\n const cy = Math.floor(y / S);\n if (cx < 1 || cy < 1 || cx >= cols - 1 || cy >= rows - 1) return;\n a[cy * cols + cx] += 256 * s * this.num('strength', 1);\n };\n canvasLoop(this, (ctx, w, h) => {\n const nc = Math.ceil(w / S);\n const nr = Math.ceil(h / S);\n if (nc !== cols || nr !== rows) {\n cols = nc;\n rows = nr;\n a = new Float32Array(cols * rows);\n b = new Float32Array(cols * rows);\n }\n ctx.clearRect(0, 0, w, h);\n for (let y = 1; y < rows - 1; y++) {\n for (let x = 1; x < cols - 1; x++) {\n const i = y * cols + x;\n const v = ((a[i - 1] + a[i + 1] + a[i - cols] + a[i + cols]) / 2 - b[i]) * damp;\n b[i] = v;\n if (v > 2 || v < -2) {\n ctx.fillStyle = `rgba(${color},${Math.min(0.5, Math.abs(v) / 300).toFixed(3)})`;\n ctx.fillRect(x * S, y * S, S, S);\n }\n }\n }\n const t = a;\n a = b;\n b = t;\n }, false);\n this.listen(this, 'pointermove', (e: PointerEvent) => {\n const r = this.getBoundingClientRect();\n this.drop(e.clientX - r.left, e.clientY - r.top, 0.35);\n });\n this.listen(this, 'pointerdown', (e: PointerEvent) => {\n const r = this.getBoundingClientRect();\n this.drop(e.clientX - r.left, e.clientY - r.top, 1.5);\n });\n }\n }, { id: 'bg-fx', text: css });\n}\n\n/**\n * `<usa-dot-network>` — a grid of dots that swell and link up with lines\n * around the pointer (a living network backdrop). Attributes: `gap` (px,\n * 28), `color`, `radius` (px of influence, 140). Reduced motion: a static\n * dot grid.\n */\nexport interface UsaDotNetworkElement extends UsaElement {}\nexport function defineDotNetwork(tag = 'usa-dot-network'): CustomElementConstructor | undefined {\n return defineElement(tag, (Base) => class extends Base {\n mount(): void {\n const gap = Math.max(8, this.num('gap', 28));\n const R = this.num('radius', 140);\n const color = this.str('color', '124,92,255');\n let px = -1e4;\n let py = -1e4;\n this.listen(this, 'pointermove', (e: PointerEvent) => {\n const r = this.getBoundingClientRect();\n px = e.clientX - r.left;\n py = e.clientY - r.top;\n });\n this.listen(this, 'pointerleave', () => (px = py = -1e4));\n canvasLoop(this, (ctx, w, h) => {\n ctx.clearRect(0, 0, w, h);\n const near: [number, number, number][] = [];\n for (let y = gap / 2; y < h; y += gap) {\n for (let x = gap / 2; x < w; x += gap) {\n const d = Math.hypot(x - px, y - py);\n const k = d < R ? 1 - d / R : 0;\n const ox = k ? ((x - px) / (d || 1)) * k * 8 : 0;\n const oy = k ? ((y - py) / (d || 1)) * k * 8 : 0;\n ctx.fillStyle = `rgba(${color},${(0.25 + k * 0.75).toFixed(3)})`;\n ctx.beginPath();\n ctx.arc(x + ox, y + oy, 1.2 + k * 2.2, 0, Math.PI * 2);\n ctx.fill();\n if (k > 0.2) near.push([x + ox, y + oy, k]);\n }\n }\n ctx.lineWidth = 1;\n for (const [x, y, k] of near) {\n ctx.strokeStyle = `rgba(${color},${(k * 0.5).toFixed(3)})`;\n ctx.beginPath();\n ctx.moveTo(x, y);\n ctx.lineTo(px, py);\n ctx.stroke();\n }\n }, this.reduced);\n }\n }, { id: 'bg-fx', text: css });\n}\n","import { adoptStyles, raf, caf, prefersReducedMotion } from '../base';\nimport { setVariant } from '../ui/variants';\nimport css from './fluent.css?raw';\n\nexport interface FluentPresetOptions {\n /** Root to apply to (default `document.documentElement`). */\n root?: HTMLElement;\n /** Reveal highlight on interactive elements (default `true`). */\n reveal?: boolean;\n /** Reveal targets (default buttons, links, `[data-fluent-reveal]`). */\n selector?: string;\n /** Mica-style tinted window background on `<body>` (default `true`). */\n mica?: boolean;\n}\n\n/**\n * Windows 11 **Fluent preset** (v2.8): applies the `fluent` variant\n * (Segoe UI Variable, Windows accent, 8 px radii), a Mica-style tinted\n * window background, Acrylic on `.usa-acrylic` / `[data-acrylic]`, and\n * Reveal highlight (a light following the pointer on borders and\n * backgrounds of interactive elements). Ideal for WebView2 / Electron /\n * Tauri apps on Windows. Returns a function that removes it.\n * Respects reduced motion / transparency (no Reveal tracking; solid materials).\n */\nexport function fluentPreset(options: FluentPresetOptions = {}): () => void {\n if (typeof document === 'undefined') return () => undefined;\n const root = options.root || document.documentElement;\n adoptStyles('fluent-preset', css);\n setVariant('fluent', root);\n root.classList.add('usa-fluent');\n if (options.mica !== false) root.classList.add('usa-fluent-mica');\n const sel = options.selector || 'button, [role=\"button\"], a.usa-fluent-item, [data-fluent-reveal], .usa-fluent-item';\n let frame = 0;\n let last: HTMLElement | null = null;\n let ev: PointerEvent | null = null;\n const apply = () => {\n frame = 0;\n if (!ev) return;\n const t = (ev.target as Element)?.closest?.(sel) as HTMLElement | null;\n if (last && last !== t) last.removeAttribute('data-reveal');\n last = t;\n if (!t) return;\n const r = t.getBoundingClientRect();\n t.style.setProperty('--usa-reveal-x', `${ev.clientX - r.left}px`);\n t.style.setProperty('--usa-reveal-y', `${ev.clientY - r.top}px`);\n t.setAttribute('data-reveal', '');\n };\n const move = (e: PointerEvent) => {\n if (e.pointerType === 'touch') return;\n ev = e;\n if (!frame) frame = raf(apply);\n };\n const reveal = options.reveal !== false && !prefersReducedMotion();\n if (reveal) document.addEventListener('pointermove', move, { passive: true });\n return () => {\n document.removeEventListener('pointermove', move);\n caf(frame);\n last?.removeAttribute('data-reveal');\n root.classList.remove('usa-fluent', 'usa-fluent-mica');\n setVariant(null, root);\n };\n}\n","/**\n * use-scroll-animate/components/background — backgrounds & decoration.\n * `<usa-aurora>`, `<usa-particles>`, `<usa-grain>`, `<usa-marquee>`,\n * `<usa-acrylic>`.\n */\nimport { defineAurora, type UsaAuroraElement } from './aurora';\nimport { defineParticles, type UsaParticlesElement } from './particles';\nimport { defineGrain, type UsaGrainElement } from './grain';\nimport { defineMarquee, type UsaMarqueeElement } from './marquee';\nimport { defineAcrylic, type UsaAcrylicElement } from './acrylic';\n\nimport { defineGridGlow, defineBlobs, defineWaterRipple, defineDotNetwork } from './bg-fx';\nimport type { UsaGridGlowElement, UsaBlobsElement, UsaWaterRippleElement, UsaDotNetworkElement } from './bg-fx';\nexport { defineAurora, defineParticles, defineGrain, defineMarquee, defineAcrylic };\nexport type { UsaAuroraElement, UsaParticlesElement, UsaGrainElement, UsaMarqueeElement, UsaAcrylicElement };\nexport { defineGridGlow, defineBlobs, defineWaterRipple, defineDotNetwork };\nexport type { UsaGridGlowElement, UsaBlobsElement, UsaWaterRippleElement, UsaDotNetworkElement };\nexport { fluentPreset } from './fluent';\nexport type { FluentPresetOptions } from './fluent';\nexport { configureComponents, prefersReducedMotion } from '../base';\nexport type { ComponentsConfig, UsaElement } from '../base';\n\n/** Register every component of this category under its default tag. */\nexport function defineBackgroundComponents(): void {\n defineAurora();\n defineParticles();\n defineGrain();\n defineMarquee();\n defineAcrylic();\n defineGridGlow();\n defineBlobs();\n defineWaterRipple();\n defineDotNetwork();\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'usa-grid-glow': UsaGridGlowElement;\n 'usa-blobs': UsaBlobsElement;\n 'usa-water-ripple': UsaWaterRippleElement;\n 'usa-dot-network': UsaDotNetworkElement;\n 'usa-aurora': UsaAuroraElement;\n 'usa-particles': UsaParticlesElement;\n 'usa-grain': UsaGrainElement;\n 'usa-marquee': UsaMarqueeElement;\n 'usa-acrylic': UsaAcrylicElement;\n }\n}\n"],"names":["css"],"mappings":"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"}
1
+ {"version":3,"file":"background.js","sources":["../../src/components/background/aurora.ts","../../src/components/background/particles.ts","../../src/components/background/grain.ts","../../src/components/background/marquee.ts","../../src/components/background/acrylic.ts","../../src/components/background/bg-fx.ts","../../src/components/background/fluent.ts","../../src/components/background/index.ts"],"sourcesContent":["import { defineElement, type UsaElement } from '../base';\nimport css from './aurora.css?raw';\n\n/**\n * `<usa-aurora>` — a slow, drifting aurora / gradient-mesh backdrop behind\n * its content. Soft radial gradients moved with `transform` only (no\n * animated blur), paused while off-screen.\n *\n * Attributes: `colors` (comma-separated, default violet / cyan / pink),\n * `speed` (multiplier, 1), `intensity` (0–1 opacity, 0.7), `paused`.\n * Reduced motion: a still gradient.\n */\nexport type UsaAuroraElement = UsaElement;\n\nexport function defineAurora(tag = 'usa-aurora'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaAurora extends Base {\n static get observedAttributes(): string[] {\n return ['colors', 'speed', 'intensity'];\n }\n\n private _layer: HTMLElement | null = null;\n\n mount(): void {\n if (!this._layer) {\n this._layer = document.createElement('div');\n this._layer.className = 'usa-aurora-layer';\n this._layer.setAttribute('aria-hidden', 'true');\n this._layer.innerHTML = '<i></i><i></i><i></i><i></i>';\n this.prepend(this._layer);\n }\n const colors = this.str('colors', '#7c5cff,#22d3ee,#f472b6,#34d399').split(',').map((c) => c.trim()).filter(Boolean);\n Array.from(this._layer.children).forEach((blob, i) => {\n (blob as HTMLElement).style.setProperty('--c', colors[i % colors.length]);\n });\n const speed = this.num('speed', 1);\n this.style.setProperty('--usa-aurora-speed', `${(18 / Math.max(0.05, speed)).toFixed(2)}s`);\n this.style.setProperty('--usa-aurora-opacity', String(this.num('intensity', 0.7)));\n this.inView((v) => this.toggleAttribute('data-offscreen', !v));\n }\n },\n { id: 'aurora', text: css }\n );\n}\n","import { defineElement, raf, caf, type UsaElement } from '../base';\nimport css from './particles.css?raw';\n\n/**\n * `<usa-particles>` — a canvas of drifting particles, optionally linked by\n * lines when close (a \"constellation\"), that drift away from the pointer.\n * Fills its own box (place it as a background with\n * `position: absolute; inset: 0`, or give it a height).\n *\n * Attributes: `count` (60; scaled down on small boxes), `color`\n * (default `currentColor`), `size` (max radius px, 2.2), `speed` (0.35),\n * `links` (max link distance px, 110; `0` disables), `interactive`,\n * `paused`. Renders only while visible and the tab is shown, at device\n * pixel ratio ≤ 2. Reduced motion: one still frame.\n */\nexport interface UsaParticlesElement extends UsaElement {\n /** Re-seed the particles. */\n reset(): void;\n}\n\ninterface P {\n x: number;\n y: number;\n vx: number;\n vy: number;\n r: number;\n}\n\nexport function defineParticles(tag = 'usa-particles'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaParticles extends Base {\n static get observedAttributes(): string[] {\n return ['count', 'color', 'size', 'speed', 'links', 'interactive', 'paused'];\n }\n\n private _canvas: HTMLCanvasElement | null = null;\n private _ctx: CanvasRenderingContext2D | null = null;\n private _ps: P[] = [];\n private _frame = 0;\n private _w = 0;\n private _h = 0;\n private _visible = false;\n private _mx = -1e4;\n private _color = '#888';\n private _my = -1e4;\n\n mount(): void {\n if (!this._canvas) {\n this._canvas = document.createElement('canvas');\n this._canvas.setAttribute('aria-hidden', 'true');\n this.prepend(this._canvas);\n }\n this._ctx = this._canvas.getContext?.('2d') ?? null;\n if (!this._ctx) return;\n this.resize();\n if (typeof ResizeObserver !== 'undefined') {\n const ro = new ResizeObserver(() => {\n this.resize();\n if (!this._frame) this.draw();\n });\n ro.observe(this);\n this.onCleanup(() => ro.disconnect());\n }\n this.inView((v) => {\n this._visible = v;\n this.loop();\n });\n this.listen(document, 'visibilitychange', () => this.loop());\n if (this.flag('interactive')) {\n this.listen(window, 'pointermove', (e: PointerEvent) => {\n const r = this.getBoundingClientRect();\n this._mx = e.clientX - r.left;\n this._my = e.clientY - r.top;\n }, { passive: true });\n }\n this.draw();\n }\n\n unmount(): void {\n caf(this._frame);\n this._frame = 0;\n }\n\n reset(): void {\n this._ps = [];\n this.resize();\n this.draw();\n }\n\n private resize(): void {\n const c = this._canvas;\n if (!c || !this._ctx) return;\n const w = this.clientWidth || 300;\n const h = this.clientHeight || 150;\n const dpr = Math.min(2, (typeof devicePixelRatio === 'number' && devicePixelRatio) || 1);\n c.width = Math.round(w * dpr);\n c.height = Math.round(h * dpr);\n this._ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n this._w = w;\n this._h = h;\n this._color = this.getAttribute('color') || (typeof getComputedStyle === 'function' ? getComputedStyle(this).color : '') || '#888';\n const want = Math.round(Math.min(1, (w * h) / (900 * 500)) * Math.max(1, this.num('count', 60))) || 1;\n const speed = this.num('speed', 0.35);\n const size = this.num('size', 2.2);\n while (this._ps.length < want) {\n const a = Math.random() * Math.PI * 2;\n const s = speed * (0.3 + Math.random() * 0.7);\n this._ps.push({ x: Math.random() * w, y: Math.random() * h, vx: Math.cos(a) * s, vy: Math.sin(a) * s, r: 0.6 + Math.random() * (size - 0.6) });\n }\n this._ps.length = want;\n }\n\n private loop(): void {\n const run = this._visible && !this.reduced && !this.flag('paused') && !(typeof document !== 'undefined' && document.hidden);\n if (run && !this._frame) {\n const tick = () => {\n this.step();\n this.draw();\n this._frame = raf(tick);\n };\n this._frame = raf(tick);\n } else if (!run && this._frame) {\n caf(this._frame);\n this._frame = 0;\n }\n }\n\n private step(): void {\n const { _w: w, _h: h } = this;\n for (const p of this._ps) {\n const dx = p.x - this._mx;\n const dy = p.y - this._my;\n const d2 = dx * dx + dy * dy;\n if (d2 < 8100 && d2 > 0.01) {\n const f = (1 - Math.sqrt(d2) / 90) * 0.6;\n p.x += (dx / Math.sqrt(d2)) * f;\n p.y += (dy / Math.sqrt(d2)) * f;\n }\n p.x += p.vx;\n p.y += p.vy;\n if (p.x < -5) p.x = w + 5;\n else if (p.x > w + 5) p.x = -5;\n if (p.y < -5) p.y = h + 5;\n else if (p.y > h + 5) p.y = -5;\n }\n }\n\n private draw(): void {\n const ctx = this._ctx;\n if (!ctx) return;\n const color = this._color;\n ctx.clearRect(0, 0, this._w, this._h);\n ctx.fillStyle = color;\n ctx.strokeStyle = color;\n const ps = this._ps;\n const link = this.num('links', 110);\n if (link > 0) {\n const l2 = link * link;\n ctx.lineWidth = 0.6;\n for (let i = 0; i < ps.length; i++) {\n for (let j = i + 1; j < ps.length; j++) {\n const dx = ps[i].x - ps[j].x;\n const dy = ps[i].y - ps[j].y;\n const d2 = dx * dx + dy * dy;\n if (d2 < l2) {\n ctx.globalAlpha = (1 - d2 / l2) * 0.35;\n ctx.beginPath();\n ctx.moveTo(ps[i].x, ps[i].y);\n ctx.lineTo(ps[j].x, ps[j].y);\n ctx.stroke();\n }\n }\n }\n }\n ctx.globalAlpha = 0.85;\n for (const p of ps) {\n ctx.beginPath();\n ctx.arc(p.x, p.y, p.r, 0, Math.PI * 2);\n ctx.fill();\n }\n ctx.globalAlpha = 1;\n }\n },\n { id: 'particles', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport css from './grain.css?raw';\n\n/**\n * `<usa-grain>` — a film-grain / noise overlay on top of its content\n * (SVG `feTurbulence` texture, no images to ship). With `animated`, the\n * grain jitters like film (stepped `transform`, ~12 fps).\n *\n * Attributes: `opacity` (0.12), `animated`, `blend` (`mix-blend-mode`,\n * default `overlay`), `scale` (texture size px, 180). Never intercepts\n * pointer events. Reduced motion: static grain.\n */\nexport type UsaGrainElement = UsaElement;\n\nconst noise = (freq: number) =>\n `url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='256' height='256'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='${freq}' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 1.6 -0.3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E\")`;\n\nexport function defineGrain(tag = 'usa-grain'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaGrain extends Base {\n static get observedAttributes(): string[] {\n return ['opacity', 'blend', 'scale'];\n }\n\n private _layer: HTMLElement | null = null;\n\n mount(): void {\n if (!this._layer) {\n this._layer = document.createElement('div');\n this._layer.className = 'usa-grain-layer';\n this._layer.setAttribute('aria-hidden', 'true');\n this.append(this._layer);\n }\n const s = this._layer.style;\n s.backgroundImage = noise(0.8);\n s.backgroundSize = `${this.num('scale', 180)}px`;\n s.opacity = String(this.num('opacity', 0.12));\n s.mixBlendMode = this.str('blend', 'overlay');\n }\n },\n { id: 'grain', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport css from './marquee.css?raw';\n\n/**\n * `<usa-marquee>` — an infinite, seamless ticker of its children (logos,\n * testimonials, tags). The content is cloned (clones are `aria-hidden` and\n * `inert`) and the track slides with one WAAPI `transform` animation whose\n * duration follows the measured width, so the speed is constant.\n *\n * Attributes: `speed` (px/s, 50), `direction` (`left` default | `right` |\n * `up` | `down`), `gap` (px, 32), `pause-on-hover`, `fade` (soft edges),\n * `paused`. Pauses off-screen. Reduced motion: no movement; the row\n * becomes scrollable instead.\n */\nexport interface UsaMarqueeElement extends UsaElement {\n pause(): void;\n resume(): void;\n}\n\nexport function defineMarquee(tag = 'usa-marquee'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaMarquee extends Base {\n static get observedAttributes(): string[] {\n return ['speed', 'direction', 'gap', 'paused'];\n }\n\n private _track: HTMLElement | null = null;\n private _anim: Animation | null = null;\n private _hover = false;\n private _visible = true;\n private _size = 0;\n\n private get vertical(): boolean {\n const d = this.str('direction', 'left');\n return d === 'up' || d === 'down';\n }\n\n mount(): void {\n if (!this._track) {\n const track = document.createElement('div');\n track.className = 'usa-marquee-track';\n const group = document.createElement('div');\n group.className = 'usa-marquee-group';\n group.append(...Array.from(this.childNodes));\n track.append(group);\n this.append(track);\n this._track = track;\n }\n this.toggleAttribute('data-vertical', this.vertical);\n this.style.setProperty('--usa-marquee-gap', `${this.num('gap', 32)}px`);\n if (this.reduced) {\n this.setAttribute('data-static', '');\n this.syncClones(1);\n return;\n }\n this.removeAttribute('data-static');\n this.build();\n if (typeof ResizeObserver !== 'undefined') {\n const ro = new ResizeObserver(() => this.build());\n ro.observe(this._track.firstElementChild as Element);\n this.onCleanup(() => ro.disconnect());\n }\n this.inView((v) => {\n this._visible = v;\n this.sync();\n });\n this.listen(this, 'pointerenter', () => ((this._hover = true), this.sync()));\n this.listen(this, 'pointerleave', () => ((this._hover = false), this.sync()));\n this.listen(this, 'focusin', () => ((this._hover = true), this.sync()));\n this.listen(this, 'focusout', () => ((this._hover = false), this.sync()));\n }\n\n unmount(): void {\n this._anim?.cancel();\n this._anim = null;\n this._size = 0;\n }\n\n private syncClones(n: number): void {\n const track = this._track!;\n const group = track.firstElementChild as HTMLElement;\n while (track.children.length > n) track.lastElementChild!.remove();\n while (track.children.length < n) {\n const clone = group.cloneNode(true) as HTMLElement;\n clone.setAttribute('aria-hidden', 'true');\n clone.setAttribute('inert', '');\n track.append(clone);\n }\n }\n\n private build(): void {\n const track = this._track!;\n const group = track.firstElementChild as HTMLElement;\n const vertical = this.vertical;\n const gap = this.num('gap', 32);\n const measured = vertical ? group.offsetHeight : group.offsetWidth;\n if (!measured) return; // not laid out yet: the ResizeObserver calls back\n const size = measured + gap;\n if (this._anim && this._size === size) return;\n this._size = size;\n const box = (vertical ? this.clientHeight : this.clientWidth) || size;\n // Enough copies to cover the box twice\n this.syncClones(Math.min(50, Math.max(2, Math.ceil(box / size) + 1)));\n const progress = this._anim?.effect?.getComputedTiming().progress ?? 0;\n this._anim?.cancel();\n const axis = vertical ? 'Y' : 'X';\n const reverse = ['right', 'down'].includes(this.str('direction', 'left'));\n const frames = [{ transform: `translate${axis}(0)` }, { transform: `translate${axis}(${-size}px)` }];\n this._anim = this.motion(track, reverse ? frames.reverse() : frames, {\n duration: (Math.max(1, size) / Math.max(1, this.num('speed', 50))) * 1000,\n iterations: Infinity,\n });\n if (this._anim && progress) this._anim.currentTime = progress * Number(this._anim.effect?.getTiming().duration || 0);\n this.sync();\n }\n\n private sync(): void {\n const a = this._anim;\n if (!a) return;\n const stop = this.flag('paused') || !this._visible || (this._hover && this.flag('pause-on-hover'));\n if (stop && a.playState === 'running') a.pause();\n else if (!stop && a.playState === 'paused') a.play();\n }\n\n pause(): void {\n this.setAttribute('paused', '');\n }\n resume(): void {\n this.removeAttribute('paused');\n }\n\n changed(name: string): void {\n if (name === 'paused') this.sync();\n else super.changed(name);\n }\n },\n { id: 'marquee', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport css from './acrylic.css?raw';\n\n/**\n * `<usa-acrylic>` — Windows Fluent materials for the web: `acrylic`\n * (frosted glass: backdrop blur + saturation + tint + subtle noise) and\n * `mica` (an opaque, wallpaper-tinted base for app backgrounds; on the web it\n * tints from `--usa-mica-source`, a gradient you control). Optional\n * `shimmer` adds a light sweep when it appears or on hover.\n *\n * Attributes: `kind` (`acrylic` default | `mica`), `tint` (colour),\n * `tint-opacity` (0–1, 0.55), `blur` (px, 30), `shimmer`\n * (`hover` | `load` | `none`, default `none`). Falls back to a solid tint\n * without `backdrop-filter` and under `prefers-reduced-transparency` or\n * forced colours, like Windows does when transparency effects are off.\n */\nexport type UsaAcrylicElement = UsaElement;\n\nexport function defineAcrylic(tag = 'usa-acrylic'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaAcrylic extends Base {\n static get observedAttributes(): string[] {\n return ['tint', 'tint-opacity', 'blur', 'shimmer'];\n }\n\n mount(): void {\n const tint = this.getAttribute('tint');\n if (tint) this.style.setProperty('--usa-acrylic-tint', tint);\n else this.style.removeProperty('--usa-acrylic-tint');\n this.style.setProperty('--usa-acrylic-opacity', `${Math.round(this.num('tint-opacity', 0.55) * 100)}%`);\n this.style.setProperty('--usa-acrylic-blur', `${this.num('blur', 30)}px`);\n if (this.str('shimmer') === 'load' && !this.reduced) {\n this.removeAttribute('data-shine');\n void this.offsetWidth;\n this.setAttribute('data-shine', '');\n }\n }\n },\n { id: 'acrylic', text: css }\n );\n}\n","import { defineElement, raf, caf, type UsaElement } from '../base';\nimport css from './bg-fx.css?raw';\n\n/** Shared canvas setup: DPR ≤ 2, resize with the host, run only while visible & tab shown. */\nfunction canvasLoop(host: any, draw: (ctx: CanvasRenderingContext2D, w: number, h: number, t: number) => void, still: boolean): void {\n const c = document.createElement('canvas');\n c.className = 'usa-bg-canvas';\n c.setAttribute('aria-hidden', 'true');\n host.prepend(c);\n host.onCleanup(() => c.remove());\n const ctx = c.getContext?.('2d') as CanvasRenderingContext2D | null;\n if (!ctx) return;\n const dpr = Math.min(2, (typeof window !== 'undefined' && window.devicePixelRatio) || 1);\n let w = 0;\n let h = 0;\n const size = () => {\n const r = host.getBoundingClientRect();\n w = Math.max(1, r.width || 300);\n h = Math.max(1, r.height || 150);\n c.width = w * dpr;\n c.height = h * dpr;\n ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n };\n size();\n const ro = typeof ResizeObserver !== 'undefined' ? new ResizeObserver(size) : null;\n ro?.observe(host);\n host.onCleanup(() => ro?.disconnect());\n let id = 0;\n let on = false;\n const loop = (t: number) => {\n if (!document.hidden) draw(ctx, w, h, t);\n id = raf(loop);\n };\n if (still) {\n draw(ctx, w, h, 0);\n return;\n }\n host.inView((v: boolean) => {\n if (v && !on) {\n on = true;\n id = raf(loop);\n } else if (!v && on) {\n on = false;\n caf(id);\n }\n });\n host.onCleanup(() => caf(id));\n}\n\n/**\n * `<usa-grid-glow>` — a line grid behind its content that lights up around\n * the pointer. Attributes: `size` (cell px, 32), `color`, `radius` (px, 220).\n * Reduced motion: the grid stays, a soft static glow in the centre.\n */\nexport interface UsaGridGlowElement extends UsaElement {}\nexport function defineGridGlow(tag = 'usa-grid-glow'): CustomElementConstructor | undefined {\n return defineElement(tag, (Base) => class extends Base {\n mount(): void {\n this.style.setProperty('--usa-grid', `${this.num('size', 32)}px`);\n this.style.setProperty('--usa-grid-r', `${this.num('radius', 220)}px`);\n if (this.str('color')) this.style.setProperty('--usa-grid-color', this.str('color'));\n if (this.reduced) return;\n let f = 0;\n let x = 0;\n let y = 0;\n this.listen(this, 'pointermove', (e: PointerEvent) => {\n const r = this.getBoundingClientRect();\n x = e.clientX - r.left;\n y = e.clientY - r.top;\n if (!f) f = raf(() => {\n f = 0;\n this.style.setProperty('--usa-grid-x', `${x}px`);\n this.style.setProperty('--usa-grid-y', `${y}px`);\n });\n });\n this.onCleanup(() => caf(f));\n }\n }, { id: 'bg-fx', text: css });\n}\n\n/**\n * `<usa-blobs>` — soft, slowly morphing colour blobs (fluid gradient\n * backdrop). Attributes: `colors` (comma list), `speed` (1), `blur` (px, 60).\n * Reduced motion: still blobs.\n */\nexport interface UsaBlobsElement extends UsaElement {}\nexport function defineBlobs(tag = 'usa-blobs'): CustomElementConstructor | undefined {\n return defineElement(tag, (Base) => class extends Base {\n mount(): void {\n this.querySelector(':scope > .usa-blobs-layer')?.remove();\n const colors = this.str('colors', '#7c5cff,#22d3ee,#f472b6,#34d399').split(',');\n const layer = document.createElement('div');\n layer.className = 'usa-blobs-layer';\n layer.setAttribute('aria-hidden', 'true');\n layer.innerHTML = colors.map((c, i) => `<i style=\"--c:${c.trim()};--i:${i}\"></i>`).join('');\n this.prepend(layer);\n this.style.setProperty('--usa-blobs-speed', String(this.num('speed', 1)));\n this.style.setProperty('--usa-blobs-blur', `${this.num('blur', 60)}px`);\n }\n }, { id: 'bg-fx', text: css });\n}\n\n/**\n * `<usa-water-ripple>` — interactive water ripples on a canvas over its\n * content (pointer moves and taps disturb the surface). Low-resolution height\n * map, paused off-screen. Attributes: `damping` (0.96), `strength` (1),\n * `color` (highlight). Reduced motion: nothing is drawn.\n */\nexport interface UsaWaterRippleElement extends UsaElement {\n drop(x: number, y: number, strength?: number): void;\n}\nexport function defineWaterRipple(tag = 'usa-water-ripple'): CustomElementConstructor | undefined {\n return defineElement(tag, (Base) => class extends Base {\n private _drop: ((x: number, y: number, s?: number) => void) | null = null;\n drop(x: number, y: number, s = 1): void {\n this._drop?.(x, y, s);\n }\n mount(): void {\n if (this.reduced) return;\n const S = 4;\n let cols = 0;\n let rows = 0;\n let a = new Float32Array(0);\n let b = new Float32Array(0);\n const damp = this.num('damping', 0.96);\n const color = this.str('color', '255,255,255');\n this._drop = (x, y, s = 1) => {\n const cx = Math.floor(x / S);\n const cy = Math.floor(y / S);\n if (cx < 1 || cy < 1 || cx >= cols - 1 || cy >= rows - 1) return;\n a[cy * cols + cx] += 256 * s * this.num('strength', 1);\n };\n canvasLoop(this, (ctx, w, h) => {\n const nc = Math.ceil(w / S);\n const nr = Math.ceil(h / S);\n if (nc !== cols || nr !== rows) {\n cols = nc;\n rows = nr;\n a = new Float32Array(cols * rows);\n b = new Float32Array(cols * rows);\n }\n ctx.clearRect(0, 0, w, h);\n for (let y = 1; y < rows - 1; y++) {\n for (let x = 1; x < cols - 1; x++) {\n const i = y * cols + x;\n const v = ((a[i - 1] + a[i + 1] + a[i - cols] + a[i + cols]) / 2 - b[i]) * damp;\n b[i] = v;\n if (v > 2 || v < -2) {\n ctx.fillStyle = `rgba(${color},${Math.min(0.5, Math.abs(v) / 300).toFixed(3)})`;\n ctx.fillRect(x * S, y * S, S, S);\n }\n }\n }\n const t = a;\n a = b;\n b = t;\n }, false);\n this.listen(this, 'pointermove', (e: PointerEvent) => {\n const r = this.getBoundingClientRect();\n this.drop(e.clientX - r.left, e.clientY - r.top, 0.35);\n });\n this.listen(this, 'pointerdown', (e: PointerEvent) => {\n const r = this.getBoundingClientRect();\n this.drop(e.clientX - r.left, e.clientY - r.top, 1.5);\n });\n }\n }, { id: 'bg-fx', text: css });\n}\n\n/**\n * `<usa-dot-network>` — a grid of dots that swell and link up with lines\n * around the pointer (a living network backdrop). Attributes: `gap` (px,\n * 28), `color`, `radius` (px of influence, 140). Reduced motion: a static\n * dot grid.\n */\nexport interface UsaDotNetworkElement extends UsaElement {}\nexport function defineDotNetwork(tag = 'usa-dot-network'): CustomElementConstructor | undefined {\n return defineElement(tag, (Base) => class extends Base {\n mount(): void {\n const gap = Math.max(8, this.num('gap', 28));\n const R = this.num('radius', 140);\n const color = this.str('color', '124,92,255');\n let px = -1e4;\n let py = -1e4;\n this.listen(this, 'pointermove', (e: PointerEvent) => {\n const r = this.getBoundingClientRect();\n px = e.clientX - r.left;\n py = e.clientY - r.top;\n });\n this.listen(this, 'pointerleave', () => (px = py = -1e4));\n canvasLoop(this, (ctx, w, h) => {\n ctx.clearRect(0, 0, w, h);\n const near: [number, number, number][] = [];\n for (let y = gap / 2; y < h; y += gap) {\n for (let x = gap / 2; x < w; x += gap) {\n const d = Math.hypot(x - px, y - py);\n const k = d < R ? 1 - d / R : 0;\n const ox = k ? ((x - px) / (d || 1)) * k * 8 : 0;\n const oy = k ? ((y - py) / (d || 1)) * k * 8 : 0;\n ctx.fillStyle = `rgba(${color},${(0.25 + k * 0.75).toFixed(3)})`;\n ctx.beginPath();\n ctx.arc(x + ox, y + oy, 1.2 + k * 2.2, 0, Math.PI * 2);\n ctx.fill();\n if (k > 0.2) near.push([x + ox, y + oy, k]);\n }\n }\n ctx.lineWidth = 1;\n for (const [x, y, k] of near) {\n ctx.strokeStyle = `rgba(${color},${(k * 0.5).toFixed(3)})`;\n ctx.beginPath();\n ctx.moveTo(x, y);\n ctx.lineTo(px, py);\n ctx.stroke();\n }\n }, this.reduced);\n }\n }, { id: 'bg-fx', text: css });\n}\n","import { adoptStyles, raf, caf, prefersReducedMotion } from '../base';\nimport { setVariant } from '../ui/variants';\nimport css from './fluent.css?raw';\n\nexport interface FluentPresetOptions {\n /** Root to apply to (default `document.documentElement`). */\n root?: HTMLElement;\n /** Reveal highlight on interactive elements (default `true`). */\n reveal?: boolean;\n /** Reveal targets (default buttons, links, `[data-fluent-reveal]`). */\n selector?: string;\n /** Mica-style tinted window background on `<body>` (default `true`). */\n mica?: boolean;\n}\n\n/**\n * Windows 11 **Fluent preset** (v2.8): applies the `fluent` variant\n * (Segoe UI Variable, Windows accent, 8 px radii), a Mica-style tinted\n * window background, Acrylic on `.usa-acrylic` / `[data-acrylic]`, and\n * Reveal highlight (a light following the pointer on borders and\n * backgrounds of interactive elements). Ideal for WebView2 / Electron /\n * Tauri apps on Windows. Returns a function that removes it.\n * Respects reduced motion / transparency (no Reveal tracking; solid materials).\n */\nexport function fluentPreset(options: FluentPresetOptions = {}): () => void {\n if (typeof document === 'undefined') return () => undefined;\n const root = options.root || document.documentElement;\n adoptStyles('fluent-preset', css);\n setVariant('fluent', root);\n root.classList.add('usa-fluent');\n if (options.mica !== false) root.classList.add('usa-fluent-mica');\n const sel = options.selector || 'button, [role=\"button\"], a.usa-fluent-item, [data-fluent-reveal], .usa-fluent-item';\n let frame = 0;\n let last: HTMLElement | null = null;\n let ev: PointerEvent | null = null;\n const apply = () => {\n frame = 0;\n if (!ev) return;\n const t = (ev.target as Element)?.closest?.(sel) as HTMLElement | null;\n if (last && last !== t) last.removeAttribute('data-reveal');\n last = t;\n if (!t) return;\n const r = t.getBoundingClientRect();\n t.style.setProperty('--usa-reveal-x', `${ev.clientX - r.left}px`);\n t.style.setProperty('--usa-reveal-y', `${ev.clientY - r.top}px`);\n t.setAttribute('data-reveal', '');\n };\n const move = (e: PointerEvent) => {\n if (e.pointerType === 'touch') return;\n ev = e;\n if (!frame) frame = raf(apply);\n };\n const reveal = options.reveal !== false && !prefersReducedMotion();\n if (reveal) document.addEventListener('pointermove', move, { passive: true });\n return () => {\n document.removeEventListener('pointermove', move);\n caf(frame);\n last?.removeAttribute('data-reveal');\n root.classList.remove('usa-fluent', 'usa-fluent-mica');\n setVariant(null, root);\n };\n}\n","/**\n * use-scroll-animate/components/background — backgrounds & decoration.\n * `<usa-aurora>`, `<usa-particles>`, `<usa-grain>`, `<usa-marquee>`,\n * `<usa-acrylic>`.\n */\nimport { defineAurora, type UsaAuroraElement } from './aurora';\nimport { defineParticles, type UsaParticlesElement } from './particles';\nimport { defineGrain, type UsaGrainElement } from './grain';\nimport { defineMarquee, type UsaMarqueeElement } from './marquee';\nimport { defineAcrylic, type UsaAcrylicElement } from './acrylic';\n\nimport { defineGridGlow, defineBlobs, defineWaterRipple, defineDotNetwork } from './bg-fx';\nimport type { UsaGridGlowElement, UsaBlobsElement, UsaWaterRippleElement, UsaDotNetworkElement } from './bg-fx';\nexport { defineAurora, defineParticles, defineGrain, defineMarquee, defineAcrylic };\nexport type { UsaAuroraElement, UsaParticlesElement, UsaGrainElement, UsaMarqueeElement, UsaAcrylicElement };\nexport { defineGridGlow, defineBlobs, defineWaterRipple, defineDotNetwork };\nexport type { UsaGridGlowElement, UsaBlobsElement, UsaWaterRippleElement, UsaDotNetworkElement };\nexport { fluentPreset } from './fluent';\nexport type { FluentPresetOptions } from './fluent';\n\n/** Register every component of this category under its default tag. */\nexport function defineBackgroundComponents(): void {\n defineAurora();\n defineParticles();\n defineGrain();\n defineMarquee();\n defineAcrylic();\n defineGridGlow();\n defineBlobs();\n defineWaterRipple();\n defineDotNetwork();\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'usa-grid-glow': UsaGridGlowElement;\n 'usa-blobs': UsaBlobsElement;\n 'usa-water-ripple': UsaWaterRippleElement;\n 'usa-dot-network': UsaDotNetworkElement;\n 'usa-aurora': UsaAuroraElement;\n 'usa-particles': UsaParticlesElement;\n 'usa-grain': UsaGrainElement;\n 'usa-marquee': UsaMarqueeElement;\n 'usa-acrylic': UsaAcrylicElement;\n }\n}\n"],"names":["css"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var base = require('../chunks/base-CxYU2NK_.cjs');
3
+ var base = require('../chunks/base-B5i8qQPR.cjs');
4
4
 
5
5
  /**
6
6
  * use-scroll-animate/components/bridge — native shell bridges (4.7).
@@ -1,4 +1,4 @@
1
- import { f as configureComponents, a as MOTION_SENSITIVITY_LEVELS } from '../chunks/base-CZiIAMBc.js';
1
+ import { g as configureComponents, a as MOTION_SENSITIVITY_LEVELS } from '../chunks/base-C3Sw9sAO.js';
2
2
 
3
3
  /**
4
4
  * use-scroll-animate/components/bridge — native shell bridges (4.7).
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var base = require('../chunks/base-CxYU2NK_.cjs');
4
- var spring = require('../chunks/spring-Dkpygsuj.cjs');
3
+ var base = require('../chunks/base-B5i8qQPR.cjs');
4
+ var spring = require('../chunks/spring--oZh55tB.cjs');
5
5
 
6
6
  var css$3 = "usa-card{--usa-card-radius:18px;--usa-card-bg:var(--usa-surface,#1b1e27);--usa-card-glow:var(--usa-accent,#7c5cff);--usa-card-x:50%;--usa-card-y:50%;--usa-card-nx:0;--usa-card-ny:0;position:relative;display:block;border-radius:var(--usa-card-radius);isolation:isolate;-webkit-tap-highlight-color:transparent}usa-card:focus-visible{outline:2px solid var(--usa-card-glow);outline-offset:3px}usa-card[effect~=\"lift\"]{transition:transform 0.45s cubic-bezier(0.34,1.56,0.64,1),box-shadow 0.45s ease}usa-card[effect~=\"lift\"][data-hover],usa-card[effect~=\"lift\"]:focus-visible{transform:translateY(-6px) perspective(900px) rotateX(calc(var(--usa-card-ny) * -4deg)) rotateY(calc(var(--usa-card-nx) * 4deg));box-shadow:0 22px 44px -18px rgb(0 0 0 / 0.55)}usa-card[effect~=\"glass\"]{background:color-mix(in srgb,var(--usa-card-bg) 45%,transparent);border:1px solid rgb(255 255 255 / 0.16);-webkit-backdrop-filter:blur(18px) saturate(1.5);backdrop-filter:blur(18px) saturate(1.5)}usa-card[effect~=\"spotlight\"]::before,usa-card[effect~=\"border-glow\"]::after{content:\"\";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity 0.3s ease}usa-card[effect~=\"spotlight\"]::before{z-index:-1;background:radial-gradient(260px circle at var(--usa-card-x) var(--usa-card-y),color-mix(in srgb,var(--usa-card-glow) 28%,transparent),transparent 70%)}usa-card[effect~=\"border-glow\"]::after{padding:1.5px;background:radial-gradient(180px circle at var(--usa-card-x) var(--usa-card-y),var(--usa-card-glow),transparent 70%);-webkit-mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}usa-card[data-hover]::before,usa-card[data-hover]::after{opacity:1}@property --usa-card-angle{syntax:\"<angle>\";inherits:false;initial-value:0deg}usa-card[effect~=\"conic-border\"]{border:2px solid transparent;background:linear-gradient(var(--usa-card-bg),var(--usa-card-bg)) padding-box,conic-gradient(from var(--usa-card-angle),var(--usa-card-glow),#22d3ee,#f472b6,var(--usa-card-glow)) border-box;animation:usa-card-spin 4s linear infinite}@keyframes usa-card-spin{to{--usa-card-angle:360deg}}usa-card .usa-card-sheen{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none}usa-card .usa-card-sheen::before{content:\"\";position:absolute;top:0;bottom:0;width:45%;left:-60%;transform:skewX(-20deg);background:linear-gradient(90deg,transparent,rgb(255 255 255 / 0.35),transparent)}usa-card[effect~=\"sheen\"]:hover .usa-card-sheen::before,usa-card[effect~=\"sheen\"]:focus-visible .usa-card-sheen::before{left:130%;transition:left 0.8s cubic-bezier(0.22,1,0.36,1)}usa-card .usa-card-holo{position:absolute;inset:0;border-radius:inherit;pointer-events:none;mix-blend-mode:color-dodge;opacity:0.35;background:linear-gradient(115deg,transparent 20%,#ff7ad9 35%,#7af0ff 45%,#ffe27a 55%,transparent 70%) calc(var(--usa-card-x) * 1.4 - 20%) calc(var(--usa-card-y) * 1.4 - 20%) / 220% 220%;transition:opacity 0.3s ease}usa-card[data-hover] .usa-card-holo{opacity:0.7}usa-card[effect~=\"parallax-layers\"] [data-depth]{transition:transform 0.25s ease-out;will-change:transform}usa-card[effect~=\"flip\"]{perspective:1000px;display:grid}usa-card[effect~=\"flip\"]>[data-front],usa-card[effect~=\"flip\"]>[data-back]{grid-area:1 / 1;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:inherit;transition:transform 0.7s cubic-bezier(0.34,1.3,0.64,1),opacity 0.3s ease}usa-card[effect~=\"flip\"]>[data-back]{transform:rotateY(180deg)}usa-card[effect~=\"flip\"][axis=\"x\"]>[data-back]{transform:rotateX(180deg)}usa-card[effect~=\"flip\"][flipped]>[data-front],usa-card[effect~=\"flip\"]:not([trigger=\"click\"]):hover>[data-front]{transform:rotateY(-180deg)}usa-card[effect~=\"flip\"][flipped]>[data-back],usa-card[effect~=\"flip\"]:not([trigger=\"click\"]):hover>[data-back]{transform:rotateY(0deg)}usa-card[effect~=\"flip\"][axis=\"x\"][flipped]>[data-front],usa-card[effect~=\"flip\"][axis=\"x\"]:not([trigger=\"click\"]):hover>[data-front]{transform:rotateX(180deg)}usa-card[effect~=\"flip\"][axis=\"x\"][flipped]>[data-back],usa-card[effect~=\"flip\"][axis=\"x\"]:not([trigger=\"click\"]):hover>[data-back]{transform:rotateX(0deg)}usa-card[effect~=\"flip\"][trigger=\"click\"]{cursor:pointer}usa-card[effect~=\"expand\"]{cursor:zoom-in}usa-card[effect~=\"expand\"]:not([expanded]) [data-detail]{display:none}usa-card[expanded]{position:fixed;inset:6vh max(4vw,calc(50vw - 420px));z-index:1000;overflow:auto;cursor:default;background:var(--usa-card-bg);box-shadow:0 30px 80px -20px rgb(0 0 0 / 0.6)}.usa-card-backdrop{position:fixed;inset:0;z-index:999;background:rgb(0 0 0 / 0.45)}@media (prefers-reduced-motion:reduce){usa-card,usa-card *,usa-card .usa-card-sheen::before{transition-duration:0.01ms !important;animation:none !important}usa-card[effect~=\"lift\"][data-hover]{transform:none}usa-card[effect~=\"flip\"]>[data-front],usa-card[effect~=\"flip\"]>[data-back]{transform:none !important}usa-card[effect~=\"flip\"][flipped]>[data-front],usa-card[effect~=\"flip\"]:not([flipped])>[data-back]{opacity:0;visibility:hidden}usa-card[effect~=\"flip\"]:not([trigger=\"click\"]):hover>[data-front]{opacity:0;visibility:hidden}usa-card[effect~=\"flip\"]:not([trigger=\"click\"]):hover>[data-back]{opacity:1;visibility:visible}}@media (prefers-reduced-transparency:reduce),(forced-colors:active){usa-card[effect~=\"glass\"]{background:var(--usa-card-bg);-webkit-backdrop-filter:none;backdrop-filter:none}}";
7
7
 
@@ -552,8 +552,6 @@ function defineCardComponents() {
552
552
  defineCarousel3d();
553
553
  }
554
554
 
555
- exports.configureComponents = base.configureComponents;
556
- exports.prefersReducedMotion = base.prefersReducedMotion;
557
555
  exports.CARD_EFFECTS = CARD_EFFECTS;
558
556
  exports.defineCard = defineCard;
559
557
  exports.defineCardComponents = defineCardComponents;
@@ -1 +1 @@
1
- {"version":3,"file":"cards.cjs","sources":["../../src/components/cards/card.ts","../../src/components/cards/card-stack.ts","../../src/components/cards/sticky-stack.ts","../../src/components/cards/carousel-3d.ts","../../src/components/cards/index.ts"],"sourcesContent":["import { defineElement, raf, caf, clamp, EASE_OUT, type UsaElement } from '../base';\nimport { springEasing } from '../physics/spring';\nimport css from './card.css?raw';\n\nexport const CARD_EFFECTS = ['flip', 'holo', 'glass', 'border-glow', 'conic-border', 'lift', 'spotlight', 'sheen', 'parallax-layers', 'expand'] as const;\nexport type CardEffect = (typeof CARD_EFFECTS)[number];\n\n/** Effects that follow the pointer (they share one rAF-throttled tracker). */\nconst TRACKING = new Set(['holo', 'border-glow', 'spotlight', 'parallax-layers', 'lift']);\n\n/**\n * `<usa-card>` — card effects, combinable: `effect=\"lift sheen\"`.\n *\n * - `flip` — front/back (`[data-front]` / `[data-back]` children) flip on\n * hover or `trigger=\"click\"`, `axis=\"y\"` (default, horizontal flip) or `x`.\n * - `holo` — holographic foil that shifts with the pointer.\n * - `glass` — frosted glass surface (backdrop blur).\n * - `border-glow` — a glow on the border that follows the pointer.\n * - `conic-border` — a rotating conic-gradient border.\n * - `lift` — rises with a deeper shadow and a slight pointer tilt.\n * - `spotlight` — a soft light that follows the pointer.\n * - `sheen` — a light sweep across the card on hover / focus.\n * - `parallax-layers` — children with `data-depth=\"0.2…1\"` move at different depths.\n * - `expand` — click to grow into a full detail view (`[data-detail]`\n * content is shown), FLIP + spring; Esc, `[data-close]` or the backdrop closes.\n *\n * Attributes: `effect`, `axis`, `trigger`, `depth` (parallax px, 16),\n * `color` (glow / spotlight colour), `flipped`, `expanded`, `disabled`.\n * CSS variables: `--usa-card-x/-y` (pointer %, 0–100), `--usa-card-nx/-ny` (−1…1).\n * Methods: `flip(force?)`, `expand()`, `collapse()`. Events: `usa:flip`,\n * `usa:expand`, `usa:collapse`. Reduced motion: no tilt / parallax / sweep;\n * flips and expansions cross-fade.\n */\nexport interface UsaCardElement extends UsaElement {\n readonly effects: string[];\n flipped: boolean;\n readonly expanded: boolean;\n flip(force?: boolean): void;\n expand(): Promise<void>;\n collapse(): Promise<void>;\n}\n\nexport function defineCard(tag = 'usa-card'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaCard extends Base {\n static get observedAttributes(): string[] {\n return ['effect', 'trigger', 'disabled'];\n }\n\n private _frame = 0;\n private _spacer: HTMLElement | null = null;\n private _backdrop: HTMLElement | null = null;\n private _busy = false;\n\n get effects(): string[] {\n return this.str('effect', 'lift').split(/[\\s,]+/).filter(Boolean);\n }\n private has(e: string): boolean {\n return this.effects.includes(e);\n }\n get flipped(): boolean {\n return this.flag('flipped');\n }\n set flipped(v: boolean) {\n this.setFlag('flipped', v);\n }\n get expanded(): boolean {\n return this.flag('expanded');\n }\n\n mount(): void {\n if (this.flag('disabled')) return;\n const color = this.str('color');\n if (color) this.style.setProperty('--usa-card-glow', color);\n if (this.has('sheen') && !this.querySelector(':scope > .usa-card-sheen')) this.append(deco('usa-card-sheen'));\n if (this.has('holo') && !this.querySelector(':scope > .usa-card-holo')) this.append(deco('usa-card-holo'));\n if (this.has('flip')) {\n const click = this.str('trigger', 'hover') === 'click';\n if (click) {\n if (!this.hasAttribute('tabindex')) this.tabIndex = 0;\n this.setAttribute('role', this.getAttribute('role') || 'button');\n this.setAttribute('aria-pressed', String(this.flipped));\n this.listen(this, 'click', (e: MouseEvent) => !interactive(e.target, this) && this.flip());\n this.listen(this, 'keydown', (e: KeyboardEvent) => {\n if ((e.key === 'Enter' || e.key === ' ') && e.target === this) {\n e.preventDefault();\n this.flip();\n }\n });\n }\n this.setBackHidden();\n }\n if (this.has('expand')) {\n if (!this.hasAttribute('tabindex')) this.tabIndex = 0;\n this.setAttribute('aria-expanded', String(this.expanded));\n this.listen(this, 'click', (e: MouseEvent) => {\n const t = e.target as Element;\n if (t.closest?.('[data-close]')) {\n e.stopPropagation();\n this.collapse();\n } else if (!this.expanded && !interactive(t, this)) this.expand();\n });\n this.listen(this, 'keydown', (e: KeyboardEvent) => {\n if (e.key === 'Escape' && this.expanded) this.collapse();\n else if ((e.key === 'Enter' || e.key === ' ') && e.target === this && !this.expanded) {\n e.preventDefault();\n this.expand();\n }\n });\n }\n if (!this.effects.some((e) => TRACKING.has(e)) || this.reduced) return;\n let rect: DOMRect | null = null;\n let px = 0.5;\n let py = 0.5;\n const apply = () => {\n this._frame = 0;\n const nx = clamp(px * 2 - 1, -1, 1);\n const ny = clamp(py * 2 - 1, -1, 1);\n this.style.setProperty('--usa-card-x', `${(px * 100).toFixed(1)}%`);\n this.style.setProperty('--usa-card-y', `${(py * 100).toFixed(1)}%`);\n this.style.setProperty('--usa-card-nx', nx.toFixed(3));\n this.style.setProperty('--usa-card-ny', ny.toFixed(3));\n if (this.has('parallax-layers')) {\n const depth = this.num('depth', 16);\n this.querySelectorAll<HTMLElement>('[data-depth]').forEach((l) => {\n const d = Number(l.dataset.depth) || 0.5;\n l.style.transform = `translate3d(${(nx * depth * d).toFixed(1)}px, ${(ny * depth * d).toFixed(1)}px, 0)`;\n });\n }\n };\n this.listen(this, 'pointerenter', () => {\n rect = this.getBoundingClientRect();\n this.setAttribute('data-hover', '');\n });\n this.listen(this, 'pointermove', (e: PointerEvent) => {\n if (this.expanded) return;\n rect = rect || this.getBoundingClientRect();\n px = (e.clientX - rect.left) / (rect.width || 1);\n py = (e.clientY - rect.top) / (rect.height || 1);\n if (!this._frame) this._frame = raf(apply);\n });\n this.listen(this, 'pointerleave', () => {\n rect = null;\n px = py = 0.5;\n this.removeAttribute('data-hover');\n if (!this._frame) this._frame = raf(apply);\n });\n }\n\n unmount(): void {\n caf(this._frame);\n this._frame = 0;\n if (this.expanded) this.finishCollapse();\n }\n\n private setBackHidden(): void {\n const front = this.querySelector<HTMLElement>(':scope > [data-front]');\n const back = this.querySelector<HTMLElement>(':scope > [data-back]');\n front?.setAttribute('aria-hidden', String(this.flipped));\n back?.setAttribute('aria-hidden', String(!this.flipped));\n }\n\n flip(force?: boolean): void {\n const next = force === undefined ? !this.flipped : force;\n if (next === this.flipped) return;\n this.flipped = next;\n if (this.hasAttribute('aria-pressed')) this.setAttribute('aria-pressed', String(next));\n this.setBackHidden();\n this.emit('flip', { flipped: next });\n }\n\n async expand(): Promise<void> {\n if (this.expanded || this._busy) return;\n this._busy = true;\n const first = this.getBoundingClientRect();\n const spacer = document.createElement('div');\n spacer.className = 'usa-card-spacer';\n spacer.style.cssText = `width:${first.width}px;height:${first.height}px`;\n spacer.setAttribute('aria-hidden', 'true');\n this.before(spacer);\n this._spacer = spacer;\n const backdrop = document.createElement('div');\n backdrop.className = 'usa-card-backdrop';\n backdrop.addEventListener('click', () => this.collapse());\n this.before(backdrop);\n this._backdrop = backdrop;\n this.setFlag('expanded', true);\n this.setAttribute('aria-expanded', 'true');\n this.emit('expand');\n const last = this.getBoundingClientRect();\n await this.flipFrom(first, last);\n this.motion(backdrop, [{ opacity: 0 }, { opacity: 1 }], { duration: 250, easing: 'ease-out' });\n this.focus({ preventScroll: true });\n this._busy = false;\n }\n\n async collapse(): Promise<void> {\n if (!this.expanded || this._busy) return;\n this._busy = true;\n const first = this.getBoundingClientRect();\n const b = this._backdrop;\n if (b) this.motion(b, [{ opacity: 1 }, { opacity: 0 }], { duration: 200, easing: 'ease-in', fill: 'forwards' });\n this.finishCollapse();\n this.emit('collapse');\n const last = this.getBoundingClientRect();\n await this.flipFrom(first, last);\n this._busy = false;\n }\n\n private finishCollapse(): void {\n this.setFlag('expanded', false);\n this.setAttribute('aria-expanded', 'false');\n this._spacer?.remove();\n this._backdrop?.remove();\n this._spacer = this._backdrop = null;\n }\n\n private async flipFrom(first: DOMRect, last: DOMRect): Promise<void> {\n if (this.reduced) {\n const a = this.motion(this, [{ opacity: 0.4 }, { opacity: 1 }], { duration: 200 });\n await a?.finished.catch(() => undefined);\n return;\n }\n const sx = first.width / (last.width || 1);\n const sy = first.height / (last.height || 1);\n const dx = first.left - last.left;\n const dy = first.top - last.top;\n const { easing, duration } = springEasing('stiff');\n const a = this.motion(\n this,\n [{ transformOrigin: '0 0', transform: `translate(${dx}px, ${dy}px) scale(${sx}, ${sy})` }, { transformOrigin: '0 0', transform: 'none' }],\n { duration: Math.min(duration, 900), easing: easing || EASE_OUT }\n );\n await a?.finished.catch(() => undefined);\n }\n },\n { id: 'card', text: css }\n );\n}\n\nfunction deco(cls: string): HTMLSpanElement {\n const s = document.createElement('span');\n s.className = cls;\n s.setAttribute('aria-hidden', 'true');\n return s;\n}\n\n/** Clicks on links, buttons and form fields inside the card keep their own behaviour. */\nfunction interactive(t: EventTarget | null, host: Element): boolean {\n const el = (t as Element)?.closest?.('a, button, input, select, textarea, label, [contenteditable]');\n return !!el && el !== host && host.contains(el);\n}\n","import { defineElement, type UsaElement } from '../base';\nimport { createSpring, type SpringValue } from '../physics/spring';\nimport css from './card-stack.css?raw';\n\n/**\n * `<usa-card-stack>` — a deck of cards (its element children). The top card\n * can be swiped away left or right (pointer, touch or arrow keys); the rest\n * fan out behind it and move up with a spring.\n *\n * Attributes: `threshold` (px to dismiss, 90), `visible` (cards fanned\n * behind, 3), `offset` (px between cards, 10), `loop` (swiped cards go back\n * to the bottom), `disabled`. Methods: `swipe(direction)`, `top`. Events:\n * `usa:swipe` (`{ direction: 'left' | 'right', card }`), `usa:empty`.\n * Reduced motion: cards are removed instantly, no rotation.\n */\nexport interface UsaCardStackElement extends UsaElement {\n readonly top: HTMLElement | null;\n swipe(direction: 'left' | 'right'): Promise<void>;\n}\n\nexport function defineCardStack(tag = 'usa-card-stack'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaCardStack extends Base {\n static get observedAttributes(): string[] {\n return ['visible', 'offset', 'disabled'];\n }\n\n private _x!: SpringValue;\n private _drag: { id: number; x0: number; t0: number } | null = null;\n private _busy = false;\n\n get top(): HTMLElement | null {\n return this.cards()[0] || null;\n }\n\n private cards(): HTMLElement[] {\n return Array.from(this.children).filter((c) => !(c as HTMLElement).hasAttribute('data-gone')) as HTMLElement[];\n }\n\n private layout(dragX = 0): void {\n const visible = this.num('visible', 3);\n const off = this.num('offset', 10);\n const reduced = this.reduced;\n this.cards().forEach((c, i) => {\n c.style.zIndex = String(100 - i);\n c.toggleAttribute('data-top', i === 0);\n c.setAttribute('aria-hidden', String(i !== 0));\n if (i === 0) {\n const rot = reduced ? 0 : dragX / 18;\n c.style.transform = `translate3d(${dragX}px, 0, 0) rotate(${rot.toFixed(2)}deg)`;\n c.style.opacity = '1';\n } else {\n const k = Math.min(i, visible);\n const pull = Math.min(1, Math.abs(dragX) / this.num('threshold', 90));\n const kk = Math.max(0, k - pull);\n c.style.transform = `translate3d(0, ${(kk * off).toFixed(1)}px, 0) scale(${(1 - kk * 0.05).toFixed(3)})`;\n c.style.opacity = i > visible ? '0' : '1';\n }\n });\n }\n\n mount(): void {\n if (!this.hasAttribute('tabindex')) this.tabIndex = 0;\n if (!this.hasAttribute('role')) this.setAttribute('role', 'group');\n this.setAttribute('aria-roledescription', 'card stack');\n this._x = createSpring({ spring: 'wobbly', onUpdate: (v) => this.layout(v) });\n this.layout();\n this.listen(this, 'pointerdown', (e: PointerEvent) => {\n if (this.flag('disabled') || this._busy || !this.top || !this.top.contains(e.target as Node)) return;\n this._x.stop();\n this._drag = { id: e.pointerId, x0: e.clientX - this._x.value, t0: e.timeStamp };\n try {\n this.setPointerCapture?.(e.pointerId);\n } catch {\n /* synthetic */\n }\n this.setAttribute('data-dragging', '');\n });\n this.listen(this, 'pointermove', (e: PointerEvent) => {\n if (!this._drag || e.pointerId !== this._drag.id) return;\n this._x.jump(e.clientX - this._drag.x0);\n });\n const up = (e: PointerEvent) => {\n if (!this._drag || e.pointerId !== this._drag.id) return;\n this._drag = null;\n this.removeAttribute('data-dragging');\n const x = this._x.value;\n if (Math.abs(x) >= this.num('threshold', 90)) this.swipe(x > 0 ? 'right' : 'left');\n else this._x.set(0);\n };\n this.listen(this, 'pointerup', up);\n this.listen(this, 'pointercancel', up);\n this.listen(this, 'keydown', (e: KeyboardEvent) => {\n if (e.key === 'ArrowLeft' || e.key === 'ArrowRight') {\n e.preventDefault();\n this.swipe(e.key === 'ArrowLeft' ? 'left' : 'right');\n }\n });\n const mo = typeof MutationObserver !== 'undefined' ? new MutationObserver(() => this.layout(this._x.value)) : null;\n mo?.observe(this, { childList: true });\n this.onCleanup(() => mo?.disconnect());\n }\n\n unmount(): void {\n this._x?.stop();\n }\n\n async swipe(direction: 'left' | 'right'): Promise<void> {\n const card = this.top;\n if (!card || this._busy || this.flag('disabled')) return;\n this._busy = true;\n this._x.stop();\n const from = this._x.value;\n const to = (direction === 'left' ? -1 : 1) * Math.max(320, (this.getBoundingClientRect().width || 300) * 1.4);\n card.setAttribute('data-gone', '');\n this._x.jump(0);\n this.layout(0);\n const a = this.reduced\n ? null\n : this.motion(card, [{ transform: `translate3d(${from}px,0,0) rotate(${from / 18}deg)`, opacity: 1 }, { transform: `translate3d(${to}px,0,0) rotate(${to / 14}deg)`, opacity: 0 }], {\n duration: 380,\n easing: 'cubic-bezier(0.3, 0.7, 0.4, 1)',\n fill: 'forwards',\n });\n await a?.finished.catch(() => undefined);\n a?.cancel();\n card.removeAttribute('data-gone');\n if (this.flag('loop')) this.append(card);\n else card.remove();\n this.layout(0);\n this._busy = false;\n this.emit('swipe', { direction, card });\n if (!this.top) this.emit('empty');\n }\n },\n { id: 'card-stack', text: css }\n );\n}\n","import { defineElement, raf, caf, clamp, type UsaElement } from '../base';\nimport css from './sticky-stack.css?raw';\n\n/**\n * `<usa-sticky-stack>` — cards (element children) stick to the top while\n * scrolling and the ones underneath scale down and dim as the next card\n * slides over them, like a deck building up.\n *\n * Attributes: `top` (px from the viewport top, 80), `gap` (px each card\n * peeks below the previous, 16), `scale` (how much a covered card shrinks,\n * 0.06). Reduced motion: cards still stack (sticky) but do not scale.\n */\nexport interface UsaStickyStackElement extends UsaElement {\n update(): void;\n}\n\nexport function defineStickyStack(tag = 'usa-sticky-stack'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaStickyStack extends Base {\n static get observedAttributes(): string[] {\n return ['top', 'gap', 'scale'];\n }\n\n private _frame = 0;\n\n mount(): void {\n const top = this.num('top', 80);\n const gap = this.num('gap', 16);\n const cards = Array.from(this.children) as HTMLElement[];\n cards.forEach((c, i) => {\n c.style.top = `${top + i * gap}px`;\n c.style.zIndex = String(i + 1);\n });\n if (this.reduced) return;\n const schedule = () => {\n if (!this._frame) this._frame = raf(() => this.update());\n };\n let active = false;\n this.inView((v) => {\n if (v && !active) {\n active = true;\n window.addEventListener('scroll', schedule, { passive: true });\n window.addEventListener('resize', schedule, { passive: true });\n schedule();\n } else if (!v && active) {\n active = false;\n window.removeEventListener('scroll', schedule);\n window.removeEventListener('resize', schedule);\n }\n });\n this.onCleanup(() => {\n window.removeEventListener('scroll', schedule);\n window.removeEventListener('resize', schedule);\n });\n }\n\n unmount(): void {\n caf(this._frame);\n this._frame = 0;\n }\n\n update(): void {\n this._frame = 0;\n const cards = Array.from(this.children) as HTMLElement[];\n const rects = cards.map((c) => c.getBoundingClientRect());\n const shrink = this.num('scale', 0.06);\n cards.forEach((c, i) => {\n let covered = 0;\n for (let j = i + 1; j < cards.length; j++) {\n const h = rects[i].height || 1;\n covered += clamp((rects[i].bottom - rects[j].top) / h, 0, 1);\n }\n const s = 1 - Math.min(3, covered) * shrink;\n c.style.transform = covered > 0.001 ? `scale(${s.toFixed(4)})` : '';\n c.style.filter = covered > 0.001 ? `brightness(${(1 - Math.min(0.35, covered * 0.12)).toFixed(3)})` : '';\n });\n }\n },\n { id: 'sticky-stack', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport { createSpring, type SpringValue } from '../physics/spring';\nimport css from './carousel-3d.css?raw';\n\n/**\n * `<usa-carousel-3d>` — its element children on a 3D ring. Rotate with the\n * arrow keys, a drag/swipe, the wheel (shift) or `next()` / `prev()`; the\n * front item is `aria-current`. Spring-driven rotation.\n *\n * Attributes: `radius` (px, auto from item width), `autoplay` (ms between\n * steps, pauses on hover/focus), `perspective` (px, 1200), `index`.\n * Events: `usa:change` (`{ index }`). Reduced motion: a flat, instant\n * switch (only the current item is shown, others dimmed).\n */\nexport interface UsaCarousel3dElement extends UsaElement {\n index: number;\n next(): void;\n prev(): void;\n goTo(i: number): void;\n}\n\nexport function defineCarousel3d(tag = 'usa-carousel-3d'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaCarousel3d extends Base {\n static get observedAttributes(): string[] {\n return ['radius', 'perspective', 'autoplay'];\n }\n\n private _angle!: SpringValue;\n private _i = 0;\n\n get index(): number {\n return this._i;\n }\n set index(v: number) {\n this.goTo(v);\n }\n\n private items(): HTMLElement[] {\n return Array.from(this.children) as HTMLElement[];\n }\n\n private render(angle: number): void {\n const items = this.items();\n const n = items.length || 1;\n const step = 360 / n;\n const w = items[0]?.offsetWidth || 200;\n const r = this.num('radius', Math.round(w / 2 / Math.tan(Math.PI / n)) + 24);\n const reduced = this.reduced;\n items.forEach((it, i) => {\n const norm = ((((i * step - angle) % 360) + 540) % 360) - 180;\n it.style.transform = reduced ? '' : `rotateY(${norm.toFixed(2)}deg) translateZ(${r}px)`;\n it.style.opacity = reduced ? (i === this._i ? '1' : '0') : String(Math.max(0.25, 1 - Math.abs(norm) / 200));\n });\n }\n\n mount(): void {\n this.style.setProperty('--usa-c3d-perspective', `${this.num('perspective', 1200)}px`);\n if (!this.hasAttribute('tabindex')) this.tabIndex = 0;\n this.setAttribute('role', 'region');\n this.setAttribute('aria-roledescription', 'carousel');\n this._i = Math.max(0, Math.min(this.items().length - 1, this.num('index', 0)));\n const step = () => 360 / (this.items().length || 1);\n this._angle = createSpring({ value: this._i * step(), spring: 'gentle', onUpdate: (v) => this.render(v) });\n this.render(this._angle.value);\n this.mark();\n this.listen(this, 'keydown', (e: KeyboardEvent) => {\n if (e.key === 'ArrowRight') this.next();\n else if (e.key === 'ArrowLeft') this.prev();\n else return;\n e.preventDefault();\n });\n let x0: number | null = null;\n this.listen(this, 'pointerdown', (e: PointerEvent) => (x0 = e.clientX));\n this.listen(this, 'pointerup', (e: PointerEvent) => {\n if (x0 === null) return;\n const dx = e.clientX - x0;\n x0 = null;\n if (Math.abs(dx) > 40) dx < 0 ? this.next() : this.prev();\n });\n this.listen(this, 'click', (e: MouseEvent) => {\n const it = this.items().find((c) => c.contains(e.target as Node));\n if (it) {\n const i = this.items().indexOf(it);\n if (i !== this._i) this.goTo(i);\n }\n });\n const every = this.num('autoplay', 0);\n if (every > 0 && !this.reduced) {\n let paused = false;\n const pause = () => (paused = true);\n const resume = () => (paused = false);\n this.listen(this, 'pointerenter', pause);\n this.listen(this, 'pointerleave', resume);\n this.listen(this, 'focusin', pause);\n this.listen(this, 'focusout', resume);\n const t = setInterval(() => !paused && !document.hidden && this.next(), every);\n this.onCleanup(() => clearInterval(t));\n }\n }\n\n unmount(): void {\n this._angle?.stop();\n }\n\n private mark(): void {\n this.items().forEach((it, i) => {\n if (i === this._i) it.setAttribute('aria-current', 'true');\n else it.removeAttribute('aria-current');\n });\n }\n\n goTo(i: number): void {\n const n = this.items().length;\n if (!n || !this._angle) return;\n const step = 360 / n;\n // shortest rotation from the current target\n const cur = this._angle.target;\n const curIdx = Math.round(cur / step);\n let delta = (((i - curIdx) % n) + n) % n;\n if (delta > n / 2) delta -= n;\n this._i = ((i % n) + n) % n;\n this._angle.set((curIdx + delta) * step);\n if (this.reduced) this.render(this._angle.value);\n this.mark();\n this.emit('change', { index: this._i });\n }\n\n next(): void {\n this.goTo(this._i + 1);\n }\n\n prev(): void {\n this.goTo(this._i - 1);\n }\n },\n { id: 'carousel-3d', text: css }\n );\n}\n","/**\n * use-scroll-animate/components/cards — card effects (v2.4).\n * `<usa-card effect=\"flip | holo | glass | border-glow | conic-border | lift |\n * spotlight | sheen | parallax-layers | expand\">` (combinable),\n * `<usa-card-stack>` (swipeable deck), `<usa-sticky-stack>` (stacking on\n * scroll) and `<usa-carousel-3d>`.\n */\nimport { defineCard, type UsaCardElement } from './card';\nimport { defineCardStack, type UsaCardStackElement } from './card-stack';\nimport { defineStickyStack, type UsaStickyStackElement } from './sticky-stack';\nimport { defineCarousel3d, type UsaCarousel3dElement } from './carousel-3d';\n\nexport { defineCard, defineCardStack, defineStickyStack, defineCarousel3d };\nexport { CARD_EFFECTS } from './card';\nexport type { CardEffect } from './card';\nexport type { UsaCardElement, UsaCardStackElement, UsaStickyStackElement, UsaCarousel3dElement };\nexport { configureComponents, prefersReducedMotion } from '../base';\nexport type { ComponentsConfig, UsaElement } from '../base';\n\n/** Register every component of this category under its default tag. */\nexport function defineCardComponents(): void {\n defineCard();\n defineCardStack();\n defineStickyStack();\n defineCarousel3d();\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'usa-card': UsaCardElement;\n 'usa-card-stack': UsaCardStackElement;\n 'usa-sticky-stack': UsaStickyStackElement;\n 'usa-carousel-3d': UsaCarousel3dElement;\n }\n}\n"],"names":["defineElement","clamp","raf","caf","springEasing","EASE_OUT","css","createSpring"],"mappings":"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"}
1
+ {"version":3,"file":"cards.cjs","sources":["../../src/components/cards/card.ts","../../src/components/cards/card-stack.ts","../../src/components/cards/sticky-stack.ts","../../src/components/cards/carousel-3d.ts","../../src/components/cards/index.ts"],"sourcesContent":["import { defineElement, raf, caf, clamp, EASE_OUT, type UsaElement } from '../base';\nimport { springEasing } from '../physics/spring';\nimport css from './card.css?raw';\n\nexport const CARD_EFFECTS = ['flip', 'holo', 'glass', 'border-glow', 'conic-border', 'lift', 'spotlight', 'sheen', 'parallax-layers', 'expand'] as const;\nexport type CardEffect = (typeof CARD_EFFECTS)[number];\n\n/** Effects that follow the pointer (they share one rAF-throttled tracker). */\nconst TRACKING = new Set(['holo', 'border-glow', 'spotlight', 'parallax-layers', 'lift']);\n\n/**\n * `<usa-card>` — card effects, combinable: `effect=\"lift sheen\"`.\n *\n * - `flip` — front/back (`[data-front]` / `[data-back]` children) flip on\n * hover or `trigger=\"click\"`, `axis=\"y\"` (default, horizontal flip) or `x`.\n * - `holo` — holographic foil that shifts with the pointer.\n * - `glass` — frosted glass surface (backdrop blur).\n * - `border-glow` — a glow on the border that follows the pointer.\n * - `conic-border` — a rotating conic-gradient border.\n * - `lift` — rises with a deeper shadow and a slight pointer tilt.\n * - `spotlight` — a soft light that follows the pointer.\n * - `sheen` — a light sweep across the card on hover / focus.\n * - `parallax-layers` — children with `data-depth=\"0.2…1\"` move at different depths.\n * - `expand` — click to grow into a full detail view (`[data-detail]`\n * content is shown), FLIP + spring; Esc, `[data-close]` or the backdrop closes.\n *\n * Attributes: `effect`, `axis`, `trigger`, `depth` (parallax px, 16),\n * `color` (glow / spotlight colour), `flipped`, `expanded`, `disabled`.\n * CSS variables: `--usa-card-x/-y` (pointer %, 0–100), `--usa-card-nx/-ny` (−1…1).\n * Methods: `flip(force?)`, `expand()`, `collapse()`. Events: `usa:flip`,\n * `usa:expand`, `usa:collapse`. Reduced motion: no tilt / parallax / sweep;\n * flips and expansions cross-fade.\n */\nexport interface UsaCardElement extends UsaElement {\n readonly effects: string[];\n flipped: boolean;\n readonly expanded: boolean;\n flip(force?: boolean): void;\n expand(): Promise<void>;\n collapse(): Promise<void>;\n}\n\nexport function defineCard(tag = 'usa-card'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaCard extends Base {\n static get observedAttributes(): string[] {\n return ['effect', 'trigger', 'disabled'];\n }\n\n private _frame = 0;\n private _spacer: HTMLElement | null = null;\n private _backdrop: HTMLElement | null = null;\n private _busy = false;\n\n get effects(): string[] {\n return this.str('effect', 'lift').split(/[\\s,]+/).filter(Boolean);\n }\n private has(e: string): boolean {\n return this.effects.includes(e);\n }\n get flipped(): boolean {\n return this.flag('flipped');\n }\n set flipped(v: boolean) {\n this.setFlag('flipped', v);\n }\n get expanded(): boolean {\n return this.flag('expanded');\n }\n\n mount(): void {\n if (this.flag('disabled')) return;\n const color = this.str('color');\n if (color) this.style.setProperty('--usa-card-glow', color);\n if (this.has('sheen') && !this.querySelector(':scope > .usa-card-sheen')) this.append(deco('usa-card-sheen'));\n if (this.has('holo') && !this.querySelector(':scope > .usa-card-holo')) this.append(deco('usa-card-holo'));\n if (this.has('flip')) {\n const click = this.str('trigger', 'hover') === 'click';\n if (click) {\n if (!this.hasAttribute('tabindex')) this.tabIndex = 0;\n this.setAttribute('role', this.getAttribute('role') || 'button');\n this.setAttribute('aria-pressed', String(this.flipped));\n this.listen(this, 'click', (e: MouseEvent) => !interactive(e.target, this) && this.flip());\n this.listen(this, 'keydown', (e: KeyboardEvent) => {\n if ((e.key === 'Enter' || e.key === ' ') && e.target === this) {\n e.preventDefault();\n this.flip();\n }\n });\n }\n this.setBackHidden();\n }\n if (this.has('expand')) {\n if (!this.hasAttribute('tabindex')) this.tabIndex = 0;\n this.setAttribute('aria-expanded', String(this.expanded));\n this.listen(this, 'click', (e: MouseEvent) => {\n const t = e.target as Element;\n if (t.closest?.('[data-close]')) {\n e.stopPropagation();\n this.collapse();\n } else if (!this.expanded && !interactive(t, this)) this.expand();\n });\n this.listen(this, 'keydown', (e: KeyboardEvent) => {\n if (e.key === 'Escape' && this.expanded) this.collapse();\n else if ((e.key === 'Enter' || e.key === ' ') && e.target === this && !this.expanded) {\n e.preventDefault();\n this.expand();\n }\n });\n }\n if (!this.effects.some((e) => TRACKING.has(e)) || this.reduced) return;\n let rect: DOMRect | null = null;\n let px = 0.5;\n let py = 0.5;\n const apply = () => {\n this._frame = 0;\n const nx = clamp(px * 2 - 1, -1, 1);\n const ny = clamp(py * 2 - 1, -1, 1);\n this.style.setProperty('--usa-card-x', `${(px * 100).toFixed(1)}%`);\n this.style.setProperty('--usa-card-y', `${(py * 100).toFixed(1)}%`);\n this.style.setProperty('--usa-card-nx', nx.toFixed(3));\n this.style.setProperty('--usa-card-ny', ny.toFixed(3));\n if (this.has('parallax-layers')) {\n const depth = this.num('depth', 16);\n this.querySelectorAll<HTMLElement>('[data-depth]').forEach((l) => {\n const d = Number(l.dataset.depth) || 0.5;\n l.style.transform = `translate3d(${(nx * depth * d).toFixed(1)}px, ${(ny * depth * d).toFixed(1)}px, 0)`;\n });\n }\n };\n this.listen(this, 'pointerenter', () => {\n rect = this.getBoundingClientRect();\n this.setAttribute('data-hover', '');\n });\n this.listen(this, 'pointermove', (e: PointerEvent) => {\n if (this.expanded) return;\n rect = rect || this.getBoundingClientRect();\n px = (e.clientX - rect.left) / (rect.width || 1);\n py = (e.clientY - rect.top) / (rect.height || 1);\n if (!this._frame) this._frame = raf(apply);\n });\n this.listen(this, 'pointerleave', () => {\n rect = null;\n px = py = 0.5;\n this.removeAttribute('data-hover');\n if (!this._frame) this._frame = raf(apply);\n });\n }\n\n unmount(): void {\n caf(this._frame);\n this._frame = 0;\n if (this.expanded) this.finishCollapse();\n }\n\n private setBackHidden(): void {\n const front = this.querySelector<HTMLElement>(':scope > [data-front]');\n const back = this.querySelector<HTMLElement>(':scope > [data-back]');\n front?.setAttribute('aria-hidden', String(this.flipped));\n back?.setAttribute('aria-hidden', String(!this.flipped));\n }\n\n flip(force?: boolean): void {\n const next = force === undefined ? !this.flipped : force;\n if (next === this.flipped) return;\n this.flipped = next;\n if (this.hasAttribute('aria-pressed')) this.setAttribute('aria-pressed', String(next));\n this.setBackHidden();\n this.emit('flip', { flipped: next });\n }\n\n async expand(): Promise<void> {\n if (this.expanded || this._busy) return;\n this._busy = true;\n const first = this.getBoundingClientRect();\n const spacer = document.createElement('div');\n spacer.className = 'usa-card-spacer';\n spacer.style.cssText = `width:${first.width}px;height:${first.height}px`;\n spacer.setAttribute('aria-hidden', 'true');\n this.before(spacer);\n this._spacer = spacer;\n const backdrop = document.createElement('div');\n backdrop.className = 'usa-card-backdrop';\n backdrop.addEventListener('click', () => this.collapse());\n this.before(backdrop);\n this._backdrop = backdrop;\n this.setFlag('expanded', true);\n this.setAttribute('aria-expanded', 'true');\n this.emit('expand');\n const last = this.getBoundingClientRect();\n await this.flipFrom(first, last);\n this.motion(backdrop, [{ opacity: 0 }, { opacity: 1 }], { duration: 250, easing: 'ease-out' });\n this.focus({ preventScroll: true });\n this._busy = false;\n }\n\n async collapse(): Promise<void> {\n if (!this.expanded || this._busy) return;\n this._busy = true;\n const first = this.getBoundingClientRect();\n const b = this._backdrop;\n if (b) this.motion(b, [{ opacity: 1 }, { opacity: 0 }], { duration: 200, easing: 'ease-in', fill: 'forwards' });\n this.finishCollapse();\n this.emit('collapse');\n const last = this.getBoundingClientRect();\n await this.flipFrom(first, last);\n this._busy = false;\n }\n\n private finishCollapse(): void {\n this.setFlag('expanded', false);\n this.setAttribute('aria-expanded', 'false');\n this._spacer?.remove();\n this._backdrop?.remove();\n this._spacer = this._backdrop = null;\n }\n\n private async flipFrom(first: DOMRect, last: DOMRect): Promise<void> {\n if (this.reduced) {\n const a = this.motion(this, [{ opacity: 0.4 }, { opacity: 1 }], { duration: 200 });\n await a?.finished.catch(() => undefined);\n return;\n }\n const sx = first.width / (last.width || 1);\n const sy = first.height / (last.height || 1);\n const dx = first.left - last.left;\n const dy = first.top - last.top;\n const { easing, duration } = springEasing('stiff');\n const a = this.motion(\n this,\n [{ transformOrigin: '0 0', transform: `translate(${dx}px, ${dy}px) scale(${sx}, ${sy})` }, { transformOrigin: '0 0', transform: 'none' }],\n { duration: Math.min(duration, 900), easing: easing || EASE_OUT }\n );\n await a?.finished.catch(() => undefined);\n }\n },\n { id: 'card', text: css }\n );\n}\n\nfunction deco(cls: string): HTMLSpanElement {\n const s = document.createElement('span');\n s.className = cls;\n s.setAttribute('aria-hidden', 'true');\n return s;\n}\n\n/** Clicks on links, buttons and form fields inside the card keep their own behaviour. */\nfunction interactive(t: EventTarget | null, host: Element): boolean {\n const el = (t as Element)?.closest?.('a, button, input, select, textarea, label, [contenteditable]');\n return !!el && el !== host && host.contains(el);\n}\n","import { defineElement, type UsaElement } from '../base';\nimport { createSpring, type SpringValue } from '../physics/spring';\nimport css from './card-stack.css?raw';\n\n/**\n * `<usa-card-stack>` — a deck of cards (its element children). The top card\n * can be swiped away left or right (pointer, touch or arrow keys); the rest\n * fan out behind it and move up with a spring.\n *\n * Attributes: `threshold` (px to dismiss, 90), `visible` (cards fanned\n * behind, 3), `offset` (px between cards, 10), `loop` (swiped cards go back\n * to the bottom), `disabled`. Methods: `swipe(direction)`, `top`. Events:\n * `usa:swipe` (`{ direction: 'left' | 'right', card }`), `usa:empty`.\n * Reduced motion: cards are removed instantly, no rotation.\n */\nexport interface UsaCardStackElement extends UsaElement {\n readonly top: HTMLElement | null;\n swipe(direction: 'left' | 'right'): Promise<void>;\n}\n\nexport function defineCardStack(tag = 'usa-card-stack'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaCardStack extends Base {\n static get observedAttributes(): string[] {\n return ['visible', 'offset', 'disabled'];\n }\n\n private _x!: SpringValue;\n private _drag: { id: number; x0: number; t0: number } | null = null;\n private _busy = false;\n\n get top(): HTMLElement | null {\n return this.cards()[0] || null;\n }\n\n private cards(): HTMLElement[] {\n return Array.from(this.children).filter((c) => !(c as HTMLElement).hasAttribute('data-gone')) as HTMLElement[];\n }\n\n private layout(dragX = 0): void {\n const visible = this.num('visible', 3);\n const off = this.num('offset', 10);\n const reduced = this.reduced;\n this.cards().forEach((c, i) => {\n c.style.zIndex = String(100 - i);\n c.toggleAttribute('data-top', i === 0);\n c.setAttribute('aria-hidden', String(i !== 0));\n if (i === 0) {\n const rot = reduced ? 0 : dragX / 18;\n c.style.transform = `translate3d(${dragX}px, 0, 0) rotate(${rot.toFixed(2)}deg)`;\n c.style.opacity = '1';\n } else {\n const k = Math.min(i, visible);\n const pull = Math.min(1, Math.abs(dragX) / this.num('threshold', 90));\n const kk = Math.max(0, k - pull);\n c.style.transform = `translate3d(0, ${(kk * off).toFixed(1)}px, 0) scale(${(1 - kk * 0.05).toFixed(3)})`;\n c.style.opacity = i > visible ? '0' : '1';\n }\n });\n }\n\n mount(): void {\n if (!this.hasAttribute('tabindex')) this.tabIndex = 0;\n if (!this.hasAttribute('role')) this.setAttribute('role', 'group');\n this.setAttribute('aria-roledescription', 'card stack');\n this._x = createSpring({ spring: 'wobbly', onUpdate: (v) => this.layout(v) });\n this.layout();\n this.listen(this, 'pointerdown', (e: PointerEvent) => {\n if (this.flag('disabled') || this._busy || !this.top || !this.top.contains(e.target as Node)) return;\n this._x.stop();\n this._drag = { id: e.pointerId, x0: e.clientX - this._x.value, t0: e.timeStamp };\n try {\n this.setPointerCapture?.(e.pointerId);\n } catch {\n /* synthetic */\n }\n this.setAttribute('data-dragging', '');\n });\n this.listen(this, 'pointermove', (e: PointerEvent) => {\n if (!this._drag || e.pointerId !== this._drag.id) return;\n this._x.jump(e.clientX - this._drag.x0);\n });\n const up = (e: PointerEvent) => {\n if (!this._drag || e.pointerId !== this._drag.id) return;\n this._drag = null;\n this.removeAttribute('data-dragging');\n const x = this._x.value;\n if (Math.abs(x) >= this.num('threshold', 90)) this.swipe(x > 0 ? 'right' : 'left');\n else this._x.set(0);\n };\n this.listen(this, 'pointerup', up);\n this.listen(this, 'pointercancel', up);\n this.listen(this, 'keydown', (e: KeyboardEvent) => {\n if (e.key === 'ArrowLeft' || e.key === 'ArrowRight') {\n e.preventDefault();\n this.swipe(e.key === 'ArrowLeft' ? 'left' : 'right');\n }\n });\n const mo = typeof MutationObserver !== 'undefined' ? new MutationObserver(() => this.layout(this._x.value)) : null;\n mo?.observe(this, { childList: true });\n this.onCleanup(() => mo?.disconnect());\n }\n\n unmount(): void {\n this._x?.stop();\n }\n\n async swipe(direction: 'left' | 'right'): Promise<void> {\n const card = this.top;\n if (!card || this._busy || this.flag('disabled')) return;\n this._busy = true;\n this._x.stop();\n const from = this._x.value;\n const to = (direction === 'left' ? -1 : 1) * Math.max(320, (this.getBoundingClientRect().width || 300) * 1.4);\n card.setAttribute('data-gone', '');\n this._x.jump(0);\n this.layout(0);\n const a = this.reduced\n ? null\n : this.motion(card, [{ transform: `translate3d(${from}px,0,0) rotate(${from / 18}deg)`, opacity: 1 }, { transform: `translate3d(${to}px,0,0) rotate(${to / 14}deg)`, opacity: 0 }], {\n duration: 380,\n easing: 'cubic-bezier(0.3, 0.7, 0.4, 1)',\n fill: 'forwards',\n });\n await a?.finished.catch(() => undefined);\n a?.cancel();\n card.removeAttribute('data-gone');\n if (this.flag('loop')) this.append(card);\n else card.remove();\n this.layout(0);\n this._busy = false;\n this.emit('swipe', { direction, card });\n if (!this.top) this.emit('empty');\n }\n },\n { id: 'card-stack', text: css }\n );\n}\n","import { defineElement, raf, caf, clamp, type UsaElement } from '../base';\nimport css from './sticky-stack.css?raw';\n\n/**\n * `<usa-sticky-stack>` — cards (element children) stick to the top while\n * scrolling and the ones underneath scale down and dim as the next card\n * slides over them, like a deck building up.\n *\n * Attributes: `top` (px from the viewport top, 80), `gap` (px each card\n * peeks below the previous, 16), `scale` (how much a covered card shrinks,\n * 0.06). Reduced motion: cards still stack (sticky) but do not scale.\n */\nexport interface UsaStickyStackElement extends UsaElement {\n update(): void;\n}\n\nexport function defineStickyStack(tag = 'usa-sticky-stack'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaStickyStack extends Base {\n static get observedAttributes(): string[] {\n return ['top', 'gap', 'scale'];\n }\n\n private _frame = 0;\n\n mount(): void {\n const top = this.num('top', 80);\n const gap = this.num('gap', 16);\n const cards = Array.from(this.children) as HTMLElement[];\n cards.forEach((c, i) => {\n c.style.top = `${top + i * gap}px`;\n c.style.zIndex = String(i + 1);\n });\n if (this.reduced) return;\n const schedule = () => {\n if (!this._frame) this._frame = raf(() => this.update());\n };\n let active = false;\n this.inView((v) => {\n if (v && !active) {\n active = true;\n window.addEventListener('scroll', schedule, { passive: true });\n window.addEventListener('resize', schedule, { passive: true });\n schedule();\n } else if (!v && active) {\n active = false;\n window.removeEventListener('scroll', schedule);\n window.removeEventListener('resize', schedule);\n }\n });\n this.onCleanup(() => {\n window.removeEventListener('scroll', schedule);\n window.removeEventListener('resize', schedule);\n });\n }\n\n unmount(): void {\n caf(this._frame);\n this._frame = 0;\n }\n\n update(): void {\n this._frame = 0;\n const cards = Array.from(this.children) as HTMLElement[];\n const rects = cards.map((c) => c.getBoundingClientRect());\n const shrink = this.num('scale', 0.06);\n cards.forEach((c, i) => {\n let covered = 0;\n for (let j = i + 1; j < cards.length; j++) {\n const h = rects[i].height || 1;\n covered += clamp((rects[i].bottom - rects[j].top) / h, 0, 1);\n }\n const s = 1 - Math.min(3, covered) * shrink;\n c.style.transform = covered > 0.001 ? `scale(${s.toFixed(4)})` : '';\n c.style.filter = covered > 0.001 ? `brightness(${(1 - Math.min(0.35, covered * 0.12)).toFixed(3)})` : '';\n });\n }\n },\n { id: 'sticky-stack', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport { createSpring, type SpringValue } from '../physics/spring';\nimport css from './carousel-3d.css?raw';\n\n/**\n * `<usa-carousel-3d>` — its element children on a 3D ring. Rotate with the\n * arrow keys, a drag/swipe, the wheel (shift) or `next()` / `prev()`; the\n * front item is `aria-current`. Spring-driven rotation.\n *\n * Attributes: `radius` (px, auto from item width), `autoplay` (ms between\n * steps, pauses on hover/focus), `perspective` (px, 1200), `index`.\n * Events: `usa:change` (`{ index }`). Reduced motion: a flat, instant\n * switch (only the current item is shown, others dimmed).\n */\nexport interface UsaCarousel3dElement extends UsaElement {\n index: number;\n next(): void;\n prev(): void;\n goTo(i: number): void;\n}\n\nexport function defineCarousel3d(tag = 'usa-carousel-3d'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) =>\n class UsaCarousel3d extends Base {\n static get observedAttributes(): string[] {\n return ['radius', 'perspective', 'autoplay'];\n }\n\n private _angle!: SpringValue;\n private _i = 0;\n\n get index(): number {\n return this._i;\n }\n set index(v: number) {\n this.goTo(v);\n }\n\n private items(): HTMLElement[] {\n return Array.from(this.children) as HTMLElement[];\n }\n\n private render(angle: number): void {\n const items = this.items();\n const n = items.length || 1;\n const step = 360 / n;\n const w = items[0]?.offsetWidth || 200;\n const r = this.num('radius', Math.round(w / 2 / Math.tan(Math.PI / n)) + 24);\n const reduced = this.reduced;\n items.forEach((it, i) => {\n const norm = ((((i * step - angle) % 360) + 540) % 360) - 180;\n it.style.transform = reduced ? '' : `rotateY(${norm.toFixed(2)}deg) translateZ(${r}px)`;\n it.style.opacity = reduced ? (i === this._i ? '1' : '0') : String(Math.max(0.25, 1 - Math.abs(norm) / 200));\n });\n }\n\n mount(): void {\n this.style.setProperty('--usa-c3d-perspective', `${this.num('perspective', 1200)}px`);\n if (!this.hasAttribute('tabindex')) this.tabIndex = 0;\n this.setAttribute('role', 'region');\n this.setAttribute('aria-roledescription', 'carousel');\n this._i = Math.max(0, Math.min(this.items().length - 1, this.num('index', 0)));\n const step = () => 360 / (this.items().length || 1);\n this._angle = createSpring({ value: this._i * step(), spring: 'gentle', onUpdate: (v) => this.render(v) });\n this.render(this._angle.value);\n this.mark();\n this.listen(this, 'keydown', (e: KeyboardEvent) => {\n if (e.key === 'ArrowRight') this.next();\n else if (e.key === 'ArrowLeft') this.prev();\n else return;\n e.preventDefault();\n });\n let x0: number | null = null;\n this.listen(this, 'pointerdown', (e: PointerEvent) => (x0 = e.clientX));\n this.listen(this, 'pointerup', (e: PointerEvent) => {\n if (x0 === null) return;\n const dx = e.clientX - x0;\n x0 = null;\n if (Math.abs(dx) > 40) dx < 0 ? this.next() : this.prev();\n });\n this.listen(this, 'click', (e: MouseEvent) => {\n const it = this.items().find((c) => c.contains(e.target as Node));\n if (it) {\n const i = this.items().indexOf(it);\n if (i !== this._i) this.goTo(i);\n }\n });\n const every = this.num('autoplay', 0);\n if (every > 0 && !this.reduced) {\n let paused = false;\n const pause = () => (paused = true);\n const resume = () => (paused = false);\n this.listen(this, 'pointerenter', pause);\n this.listen(this, 'pointerleave', resume);\n this.listen(this, 'focusin', pause);\n this.listen(this, 'focusout', resume);\n const t = setInterval(() => !paused && !document.hidden && this.next(), every);\n this.onCleanup(() => clearInterval(t));\n }\n }\n\n unmount(): void {\n this._angle?.stop();\n }\n\n private mark(): void {\n this.items().forEach((it, i) => {\n if (i === this._i) it.setAttribute('aria-current', 'true');\n else it.removeAttribute('aria-current');\n });\n }\n\n goTo(i: number): void {\n const n = this.items().length;\n if (!n || !this._angle) return;\n const step = 360 / n;\n // shortest rotation from the current target\n const cur = this._angle.target;\n const curIdx = Math.round(cur / step);\n let delta = (((i - curIdx) % n) + n) % n;\n if (delta > n / 2) delta -= n;\n this._i = ((i % n) + n) % n;\n this._angle.set((curIdx + delta) * step);\n if (this.reduced) this.render(this._angle.value);\n this.mark();\n this.emit('change', { index: this._i });\n }\n\n next(): void {\n this.goTo(this._i + 1);\n }\n\n prev(): void {\n this.goTo(this._i - 1);\n }\n },\n { id: 'carousel-3d', text: css }\n );\n}\n","/**\n * use-scroll-animate/components/cards — card effects (v2.4).\n * `<usa-card effect=\"flip | holo | glass | border-glow | conic-border | lift |\n * spotlight | sheen | parallax-layers | expand\">` (combinable),\n * `<usa-card-stack>` (swipeable deck), `<usa-sticky-stack>` (stacking on\n * scroll) and `<usa-carousel-3d>`.\n */\nimport { defineCard, type UsaCardElement } from './card';\nimport { defineCardStack, type UsaCardStackElement } from './card-stack';\nimport { defineStickyStack, type UsaStickyStackElement } from './sticky-stack';\nimport { defineCarousel3d, type UsaCarousel3dElement } from './carousel-3d';\n\nexport { defineCard, defineCardStack, defineStickyStack, defineCarousel3d };\nexport { CARD_EFFECTS } from './card';\nexport type { CardEffect } from './card';\nexport type { UsaCardElement, UsaCardStackElement, UsaStickyStackElement, UsaCarousel3dElement };\n\n/** Register every component of this category under its default tag. */\nexport function defineCardComponents(): void {\n defineCard();\n defineCardStack();\n defineStickyStack();\n defineCarousel3d();\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'usa-card': UsaCardElement;\n 'usa-card-stack': UsaCardStackElement;\n 'usa-sticky-stack': UsaStickyStackElement;\n 'usa-carousel-3d': UsaCarousel3dElement;\n }\n}\n"],"names":["defineElement","clamp","raf","caf","springEasing","EASE_OUT","css","createSpring"],"mappings":"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"}