motionary 6.9.0 → 7.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 (186) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +2 -2
  3. package/README_ja.md +2 -2
  4. package/README_zh.md +2 -2
  5. package/dist/chunks/{base-D5MHqeDd.js → base-DchG4q_S.js} +2 -2
  6. package/dist/chunks/{base-D5MHqeDd.js.map → base-DchG4q_S.js.map} +1 -1
  7. package/dist/chunks/{core-ZGo4hOEk.js → core-D2vF8kZb.js} +2 -2
  8. package/dist/chunks/{core-ZGo4hOEk.js.map → core-D2vF8kZb.js.map} +1 -1
  9. package/dist/chunks/{core-DyJu5r5a.js → core-DVyTlo9Q.js} +2 -2
  10. package/dist/chunks/{core-DyJu5r5a.js.map → core-DVyTlo9Q.js.map} +1 -1
  11. package/dist/chunks/{fx-DlGRMJ-Z.js → fx-DUMVKSvg.js} +2 -2
  12. package/dist/chunks/{fx-DlGRMJ-Z.js.map → fx-DUMVKSvg.js.map} +1 -1
  13. package/dist/chunks/{gpu-DPhMkJq6.js → gpu-Bkw605Ds.js} +183 -11
  14. package/dist/chunks/gpu-Bkw605Ds.js.map +1 -0
  15. package/dist/chunks/{gpu-C2D4T9Q-.cjs → gpu-Dx0H875w.cjs} +185 -9
  16. package/dist/chunks/gpu-Dx0H875w.cjs.map +1 -0
  17. package/dist/chunks/{index-tags-wv0R_vkO.cjs → index-tags-BTMwrfgV.cjs} +3 -3
  18. package/dist/chunks/index-tags-BTMwrfgV.cjs.map +1 -0
  19. package/dist/chunks/{index-tags-DucKMQr_.js → index-tags-C04JP8g4.js} +3 -3
  20. package/dist/chunks/index-tags-C04JP8g4.js.map +1 -0
  21. package/dist/chunks/{player-DH3TIz-t.js → player-C-TwEEy6.js} +4 -4
  22. package/dist/chunks/{player-DH3TIz-t.js.map → player-C-TwEEy6.js.map} +1 -1
  23. package/dist/chunks/{registry-CTLWeg-J.js → registry-D23neB4M.js} +2 -2
  24. package/dist/chunks/{registry-CTLWeg-J.js.map → registry-D23neB4M.js.map} +1 -1
  25. package/dist/chunks/{spring-B-9MZOrW.js → spring-BhoT09Qb.js} +2 -2
  26. package/dist/chunks/{spring-B-9MZOrW.js.map → spring-BhoT09Qb.js.map} +1 -1
  27. package/dist/chunks/{variants-CoZn3k_5.js → variants-C_hv_s23.js} +2 -2
  28. package/dist/chunks/{variants-CoZn3k_5.js.map → variants-C_hv_s23.js.map} +1 -1
  29. package/dist/components/a11y.cjs +1 -1
  30. package/dist/components/a11y.d.cts +2 -2
  31. package/dist/components/a11y.d.ts +2 -2
  32. package/dist/components/a11y.js +3 -3
  33. package/dist/components/angular.cjs +2 -2
  34. package/dist/components/angular.cjs.map +1 -1
  35. package/dist/components/angular.d.cts +5 -36
  36. package/dist/components/angular.d.ts +5 -36
  37. package/dist/components/angular.js +9 -9
  38. package/dist/components/angular.js.map +1 -1
  39. package/dist/components/background.js +2 -2
  40. package/dist/components/bridge.js +1 -1
  41. package/dist/components/cards.js +2 -2
  42. package/dist/components/click.js +3 -3
  43. package/dist/components/depth.js +3 -3
  44. package/dist/components/effects.js +6 -6
  45. package/dist/components/feedback.js +1 -1
  46. package/dist/components/fx-3d.cjs +1 -7
  47. package/dist/components/fx-3d.cjs.map +1 -1
  48. package/dist/components/fx-3d.d.cts +1 -3
  49. package/dist/components/fx-3d.d.ts +1 -3
  50. package/dist/components/fx-3d.js +3 -8
  51. package/dist/components/fx-3d.js.map +1 -1
  52. package/dist/components/fx-focus.js +2 -2
  53. package/dist/components/fx-gpu.cjs +2 -3
  54. package/dist/components/fx-gpu.cjs.map +1 -1
  55. package/dist/components/fx-gpu.d.cts +1 -3
  56. package/dist/components/fx-gpu.d.ts +1 -3
  57. package/dist/components/fx-gpu.js +3 -3
  58. package/dist/components/fx-light.cjs +1 -7
  59. package/dist/components/fx-light.cjs.map +1 -1
  60. package/dist/components/fx-light.d.cts +1 -3
  61. package/dist/components/fx-light.d.ts +1 -3
  62. package/dist/components/fx-light.js +3 -8
  63. package/dist/components/fx-light.js.map +1 -1
  64. package/dist/components/fx-morph.cjs +1 -7
  65. package/dist/components/fx-morph.cjs.map +1 -1
  66. package/dist/components/fx-morph.d.cts +1 -3
  67. package/dist/components/fx-morph.d.ts +1 -3
  68. package/dist/components/fx-morph.js +3 -8
  69. package/dist/components/fx-morph.js.map +1 -1
  70. package/dist/components/fx-physics.cjs +1 -7
  71. package/dist/components/fx-physics.cjs.map +1 -1
  72. package/dist/components/fx-physics.d.cts +1 -3
  73. package/dist/components/fx-physics.d.ts +1 -3
  74. package/dist/components/fx-physics.js +3 -8
  75. package/dist/components/fx-physics.js.map +1 -1
  76. package/dist/components/fx-text.cjs +1 -7
  77. package/dist/components/fx-text.cjs.map +1 -1
  78. package/dist/components/fx-text.d.cts +1 -3
  79. package/dist/components/fx-text.d.ts +1 -3
  80. package/dist/components/fx-text.js +3 -8
  81. package/dist/components/fx-text.js.map +1 -1
  82. package/dist/components/fx-transitions.cjs +1 -7
  83. package/dist/components/fx-transitions.cjs.map +1 -1
  84. package/dist/components/fx-transitions.d.cts +1 -3
  85. package/dist/components/fx-transitions.d.ts +1 -3
  86. package/dist/components/fx-transitions.js +4 -9
  87. package/dist/components/fx-transitions.js.map +1 -1
  88. package/dist/components/fx-weather.cjs +1 -7
  89. package/dist/components/fx-weather.cjs.map +1 -1
  90. package/dist/components/fx-weather.d.cts +1 -3
  91. package/dist/components/fx-weather.d.ts +1 -3
  92. package/dist/components/fx-weather.js +3 -8
  93. package/dist/components/fx-weather.js.map +1 -1
  94. package/dist/components/fx.js +5 -5
  95. package/dist/components/fx2.cjs +7 -19
  96. package/dist/components/fx2.cjs.map +1 -1
  97. package/dist/components/fx2.d.cts +39 -22
  98. package/dist/components/fx2.d.ts +39 -22
  99. package/dist/components/fx2.js +11 -19
  100. package/dist/components/fx2.js.map +1 -1
  101. package/dist/components/gesture.js +4 -4
  102. package/dist/components/interaction.cjs +11 -95
  103. package/dist/components/interaction.cjs.map +1 -1
  104. package/dist/components/interaction.css +0 -1
  105. package/dist/components/interaction.d.cts +3 -21
  106. package/dist/components/interaction.d.ts +3 -21
  107. package/dist/components/interaction.js +13 -96
  108. package/dist/components/interaction.js.map +1 -1
  109. package/dist/components/jsx.d.cts +2 -2
  110. package/dist/components/jsx.d.ts +2 -2
  111. package/dist/components/layout.js +1 -1
  112. package/dist/components/lazy.cjs +1 -1
  113. package/dist/components/lazy.d.cts +2 -2
  114. package/dist/components/lazy.d.ts +2 -2
  115. package/dist/components/lazy.js +1 -1
  116. package/dist/components/lite.cjs +115 -258
  117. package/dist/components/lite.cjs.map +1 -1
  118. package/dist/components/lite.js +116 -257
  119. package/dist/components/lite.js.map +1 -1
  120. package/dist/components/marketplace.js +2 -2
  121. package/dist/components/packs.js +1 -1
  122. package/dist/components/page.js +3 -3
  123. package/dist/components/perf.cjs +1 -1
  124. package/dist/components/perf.d.cts +2 -2
  125. package/dist/components/perf.d.ts +2 -2
  126. package/dist/components/perf.js +3 -3
  127. package/dist/components/physics.js +3 -3
  128. package/dist/components/react.cjs +2 -2
  129. package/dist/components/react.cjs.map +1 -1
  130. package/dist/components/react.js +2 -2
  131. package/dist/components/react.js.map +1 -1
  132. package/dist/components/reveal.js +1 -1
  133. package/dist/components/solid.cjs +2 -2
  134. package/dist/components/solid.cjs.map +1 -1
  135. package/dist/components/solid.d.cts +4 -35
  136. package/dist/components/solid.d.ts +4 -35
  137. package/dist/components/solid.js +9 -9
  138. package/dist/components/solid.js.map +1 -1
  139. package/dist/components/svelte.cjs +2 -2
  140. package/dist/components/svelte.cjs.map +1 -1
  141. package/dist/components/svelte.d.cts +5 -36
  142. package/dist/components/svelte.d.ts +5 -36
  143. package/dist/components/svelte.js +9 -9
  144. package/dist/components/svelte.js.map +1 -1
  145. package/dist/components/svg.js +1 -1
  146. package/dist/components/text.js +2 -2
  147. package/dist/components/timeline.js +3 -3
  148. package/dist/components/transitions.js +1 -1
  149. package/dist/components/ui.cjs +16 -75
  150. package/dist/components/ui.cjs.map +1 -1
  151. package/dist/components/ui.css +0 -1
  152. package/dist/components/ui.d.cts +3 -18
  153. package/dist/components/ui.d.ts +3 -18
  154. package/dist/components/ui.js +21 -79
  155. package/dist/components/ui.js.map +1 -1
  156. package/dist/components/vue.cjs +2 -2
  157. package/dist/components/vue.cjs.map +1 -1
  158. package/dist/components/vue.d.cts +5 -36
  159. package/dist/components/vue.d.ts +5 -36
  160. package/dist/components/vue.js +9 -9
  161. package/dist/components/vue.js.map +1 -1
  162. package/dist/components/webgl.js +1 -1
  163. package/dist/components/widgets.js +5 -5
  164. package/dist/components.cjs +1 -3
  165. package/dist/components.cjs.map +1 -1
  166. package/dist/components.css +0 -2
  167. package/dist/components.d.cts +6 -39
  168. package/dist/components.d.ts +6 -39
  169. package/dist/components.js +12 -12
  170. package/dist/components.umd.js +2 -2
  171. package/dist/components.umd.js.map +1 -1
  172. package/dist/index.js +2 -2
  173. package/dist/widgets.umd.js +1 -1
  174. package/dist/widgets.umd.js.map +1 -1
  175. package/docs/ROADMAP.md +12 -12
  176. package/docs/accessibility.md +2 -2
  177. package/docs/components.md +13 -2
  178. package/docs/frameworks-ssr.md +4 -4
  179. package/docs/hybrid-apps.md +2 -2
  180. package/docs/upgrading-7.md +11 -1
  181. package/docs/windows-apps.md +1 -1
  182. package/package.json +111 -1
  183. package/dist/chunks/gpu-C2D4T9Q-.cjs.map +0 -1
  184. package/dist/chunks/gpu-DPhMkJq6.js.map +0 -1
  185. package/dist/chunks/index-tags-DucKMQr_.js.map +0 -1
  186. package/dist/chunks/index-tags-wv0R_vkO.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"fx-text.js","sources":["../../src/components/fx2/text3.ts"],"sourcesContent":["/**\n * 6.3 — Text effects 3.0 (`motionary/components/fx-text`), registered through\n * `registerEffect()`:\n *\n * - `liquid-text` (loop) — the text ripples like liquid (animated SVG\n * turbulence + displacement filter).\n * - `neon-write` (text) — letters flicker on one by one like a neon sign\n * being switched on, then keep a soft glow.\n * - `particle-text` (text) — particles fly in from around the element and\n * assemble into the glyphs, then hand over to the real text.\n * - `glitch-text` (text) — RGB-split slices jump sideways for a moment.\n * - `text-trail` (cursor) — the letters of a word fall off the pointer.\n * - `font-breathe` (loop) — a variable-font weight wave breathes through the text.\n * - `flip-chars` (text) — every character flips up in 3D, staggered.\n *\n * Splitting keeps a visually hidden copy for screen readers (the animated\n * characters are `aria-hidden`). Reduced motion: loops and the trail are\n * skipped, one-shot effects show the final state without movement.\n */\nimport type { EffectContext, EffectDefinition } from '../fx/registry';\nimport { deprecate } from '../base';\nimport { registerEffects } from '../fx/registry';\nimport { srText } from '../base';\nimport { fxLayer, spawn, rand, all } from '../effects/shared';\n\n/** Split `el`'s text into `aria-hidden` inline-block characters (idempotent). Returns them. */\nexport function splitChars(el: HTMLElement): HTMLElement[] {\n if (el.dataset.usaChars) return Array.from(el.querySelectorAll<HTMLElement>(':scope > .usa-ch'));\n const text = el.textContent || '';\n el.textContent = '';\n for (const ch of Array.from(text)) {\n const s = document.createElement('span');\n s.className = 'usa-ch';\n s.setAttribute('aria-hidden', 'true');\n s.style.cssText = 'display:inline-block;white-space:pre';\n s.textContent = ch;\n el.appendChild(s);\n }\n el.appendChild(srText(text.trim()));\n el.dataset.usaChars = '1';\n return Array.from(el.querySelectorAll<HTMLElement>(':scope > .usa-ch'));\n}\n\nconst raf = (fn: FrameRequestCallback): number => (typeof requestAnimationFrame === 'function' ? requestAnimationFrame(fn) : 0);\nconst caf = (h: number): void => {\n if (h && typeof cancelAnimationFrame === 'function') cancelAnimationFrame(h);\n};\nlet fid = 0;\n\nexport const TEXT3_FX: EffectDefinition[] = [\n {\n name: 'liquid-text',\n kind: 'loop',\n description: 'The text ripples like liquid: an animated SVG turbulence + displacement filter (`strength`, `speed`).',\n defaults: { strength: 7, speed: 1 },\n run: (el: HTMLElement, o: any) => {\n const id = `usa-liquid-${++fid}`;\n const ns = 'http://www.w3.org/2000/svg';\n const svg = document.createElementNS(ns, 'svg');\n svg.setAttribute('aria-hidden', 'true');\n svg.setAttribute('width', '0');\n svg.setAttribute('height', '0');\n svg.style.cssText = 'position:absolute;width:0;height:0;overflow:hidden';\n svg.innerHTML = `<filter id=\"${id}\" x=\"-10%\" y=\"-20%\" width=\"120%\" height=\"140%\"><feTurbulence type=\"fractalNoise\" baseFrequency=\"0.012 0.06\" numOctaves=\"2\" seed=\"3\" result=\"n\"/><feDisplacementMap in=\"SourceGraphic\" in2=\"n\" scale=\"${Number(o.strength) || 7}\" xChannelSelector=\"R\" yChannelSelector=\"G\"/></filter>`;\n document.body.appendChild(svg);\n const turb = svg.querySelector('feTurbulence');\n const prev = el.style.filter;\n el.style.filter = `url(#${id})`;\n let h = 0;\n const t0 = performance.now();\n const tick = (now: number) => {\n const t = ((now - t0) / 1000) * (Number(o.speed) || 1);\n turb?.setAttribute('baseFrequency', `${(0.012 + 0.004 * Math.sin(t * 1.3)).toFixed(4)} ${(0.06 + 0.02 * Math.cos(t)).toFixed(4)}`);\n h = raf(tick);\n };\n h = raf(tick);\n return () => {\n caf(h);\n el.style.filter = prev;\n svg.remove();\n };\n },\n },\n {\n name: 'neon-write',\n kind: 'text',\n description: 'Letters flicker on one by one like a neon sign being switched on, then keep a soft glow (`color`, `stagger`).',\n defaults: { color: '#ff4fd8', stagger: 70, duration: 520 },\n run: (el: HTMLElement, o: any, ctx: EffectContext) => {\n const glow = `0 0 4px #fff,0 0 10px ${o.color},0 0 22px ${o.color},0 0 42px ${o.color}`;\n el.style.textShadow = glow;\n el.style.color ||= '#fff';\n if (ctx.reduced) return;\n const cs = splitChars(el);\n return all(cs.map((c, i) => ctx.animate(c, [\n { opacity: 0.08, textShadow: 'none' },\n { opacity: 1, textShadow: glow, offset: 0.2 },\n { opacity: 0.2, textShadow: 'none', offset: 0.32 },\n { opacity: 1, textShadow: glow, offset: 0.46 },\n { opacity: 0.55, offset: 0.6 },\n { opacity: 1, textShadow: glow },\n ], { duration: o.duration, delay: i * o.stagger + rand(0, 60), easing: 'steps(6, end)', fill: 'backwards' })));\n },\n },\n {\n name: 'particle-text',\n kind: 'text',\n description: 'Particles fly in from around the element and assemble into the glyphs, then hand over to the real text (`gap` px between samples, `duration`, `colors`).',\n defaults: { gap: 3, duration: 1300, colors: ['#7c5cff', '#22d3ee', '#ff5c8a'], spread: 120 },\n reduced: 'skip',\n run: (el: HTMLElement, o: any) => {\n const cs = splitChars(el);\n const r = el.getBoundingClientRect();\n if (!r.width || !r.height) return;\n const pad = Number(o.spread) || 120;\n const W = Math.ceil(r.width + pad * 2);\n const H = Math.ceil(r.height + pad * 2);\n const canvas = document.createElement('canvas');\n canvas.setAttribute('aria-hidden', 'true');\n canvas.width = W;\n canvas.height = H;\n canvas.style.cssText = `position:absolute;left:${r.left - pad}px;top:${r.top - pad}px;width:${W}px;height:${H}px`;\n const g = canvas.getContext('2d');\n if (!g) return;\n // rasterise each character where the browser laid it out\n const cs0 = getComputedStyle(el);\n g.font = `${cs0.fontStyle} ${cs0.fontWeight} ${cs0.fontSize} ${cs0.fontFamily}`;\n g.textBaseline = 'middle';\n g.fillStyle = '#000';\n for (const c of cs) {\n const b = c.getBoundingClientRect();\n g.fillText(c.textContent || '', b.left - r.left + pad, b.top - r.top + pad + b.height / 2);\n }\n const img = g.getImageData(0, 0, W, H);\n const gap = Math.max(2, Math.round(Number(o.gap) || 3));\n const pts: { x: number; y: number; sx: number; sy: number; c: string; d: number }[] = [];\n for (let y = 0; y < H; y += gap) for (let x = 0; x < W; x += gap) if (img.data[(y * W + x) * 4 + 3] > 128) {\n const a = rand(0, Math.PI * 2);\n const rr = rand(pad * 0.6, pad * 1.4);\n pts.push({ x, y, sx: W / 2 + Math.cos(a) * (W / 2 + rr * 0.3), sy: H / 2 + Math.sin(a) * (H / 2 + rr * 0.3), c: o.colors[pts.length % o.colors.length], d: rand(0, 0.35) });\n }\n fxLayer().appendChild(canvas);\n cs.forEach((c) => (c.style.opacity = '0'));\n const t0 = performance.now();\n const dur = Number(o.duration) || 1300;\n return new Promise<void>((done) => {\n const finish = () => {\n canvas.remove();\n cs.forEach((c) => (c.style.opacity = ''));\n done();\n };\n const tick = (now: number) => {\n const k = (now - t0) / dur;\n g.clearRect(0, 0, W, H);\n for (const p of pts) {\n const e = Math.min(1, Math.max(0, (k - p.d) / (1 - p.d)));\n const q = 1 - Math.pow(1 - e, 3);\n g.globalAlpha = k > 1 ? Math.max(0, 1 - (k - 1) * 4) : 0.25 + 0.75 * q;\n g.fillStyle = p.c;\n g.fillRect(p.sx + (p.x - p.sx) * q, p.sy + (p.y - p.sy) * q, gap - 0.5, gap - 0.5);\n }\n if (k > 1) cs.forEach((c) => (c.style.opacity = String(Math.min(1, (k - 1) * 4))));\n if (k < 1.25) raf(tick);\n else finish();\n };\n if (!raf(tick)) finish();\n });\n },\n },\n {\n name: 'glitch-text',\n kind: 'text',\n description: 'RGB-split slices of the text jump sideways for a moment (`duration`, `colors` of the two channels).',\n defaults: { duration: 650, colors: ['#22d3ee', '#ff3d81'] },\n run: (el: HTMLElement, o: any, ctx: EffectContext) => {\n if (ctx.reduced) return ctx.animate(el, [{ opacity: 1 }, { opacity: 0.6 }, { opacity: 1 }], { duration: 200 });\n if (getComputedStyle(el).position === 'static') el.style.position = 'relative';\n const text = el.textContent || '';\n const steps = 8;\n const mk = (color: string, dir: number) => {\n const s = document.createElement('span');\n s.setAttribute('aria-hidden', 'true');\n s.textContent = text;\n s.style.cssText = `position:absolute;inset:0;color:${color};mix-blend-mode:screen;pointer-events:none;white-space:inherit`;\n el.appendChild(s);\n const frames: Keyframe[] = [];\n for (let i = 0; i <= steps; i++) {\n const top = Math.round(rand(0, 80));\n frames.push({ clipPath: `inset(${top}% 0 ${Math.max(0, 100 - top - rand(8, 30)).toFixed(0)}% 0)`, transform: `translateX(${(dir * rand(2, 9)).toFixed(1)}px)` });\n }\n frames.push({ clipPath: 'inset(50% 0 50% 0)', transform: 'none' });\n const a = ctx.animate(s, frames, { duration: o.duration, easing: `steps(${steps}, end)` });\n const rm = () => s.remove();\n if (a) a.finished.then(rm, rm);\n else rm();\n return a;\n };\n return all([\n mk(o.colors[0], -1),\n mk(o.colors[1], 1),\n ctx.animate(el, [{ transform: 'none' }, { transform: 'translate(-2px,1px) skewX(-4deg)' }, { transform: 'translate(2px,-1px)' }, { transform: 'skewX(3deg)' }, { transform: 'none' }], { duration: o.duration, easing: 'steps(5, end)' }),\n ]);\n },\n },\n {\n name: 'text-trail',\n kind: 'cursor',\n description: 'The letters of a word fall off the pointer as it moves over the element (persistent; `text`, `color`, `spacing` px).',\n defaults: { text: 'MOTIONARY', color: '#7c5cff', spacing: 22, size: 18 },\n run: (el: HTMLElement, o: any, ctx: EffectContext) => {\n const word = Array.from(String(o.text || '✦'));\n let i = 0;\n let lx = -1e4;\n let ly = -1e4;\n const move = (e: PointerEvent) => {\n if (Math.hypot(e.clientX - lx, e.clientY - ly) < o.spacing) return;\n lx = e.clientX;\n ly = e.clientY;\n const ch = word[i++ % word.length];\n spawn(e.clientX - o.size / 2, e.clientY - o.size / 2, `font:800 ${o.size}px/1 system-ui,sans-serif;color:${o.color};text-shadow:0 2px 8px rgba(0,0,0,.25)`, ctx, [\n { transform: 'translateY(0) rotate(0) scale(1)', opacity: 1 },\n { transform: `translateY(${rand(30, 60).toFixed(0)}px) rotate(${rand(-60, 60).toFixed(0)}deg) scale(.6)`, opacity: 0 },\n ], { duration: rand(700, 1000), easing: 'cubic-bezier(.3,.1,.7,1)' }, ch);\n };\n el.addEventListener('pointermove', move);\n return () => el.removeEventListener('pointermove', move);\n },\n },\n {\n name: 'font-breathe',\n kind: 'loop',\n description: 'A variable-font weight wave breathes through the text (`min` / `max` weight, `period` ms, `stagger`). Best with a variable font.',\n defaults: { min: 200, max: 900, period: 2400, stagger: 90 },\n run: (el: HTMLElement, o: any, ctx: EffectContext) => {\n const cs = splitChars(el);\n const anims = cs.map((c, i) => ctx.animate(c, [\n { fontWeight: o.min, fontVariationSettings: `'wght' ${o.min}` },\n { fontWeight: o.max, fontVariationSettings: `'wght' ${o.max}` },\n ], { duration: o.period / 2, delay: i * o.stagger, iterations: Infinity, direction: 'alternate', easing: 'ease-in-out' }));\n return () => anims.forEach((a) => a?.cancel());\n },\n },\n {\n name: 'flip-chars',\n kind: 'text',\n description: 'Every character flips up in 3D around its baseline, staggered (`stagger`, `duration`, `axis` x | y).',\n defaults: { stagger: 45, duration: 700, axis: 'x' },\n run: (el: HTMLElement, o: any, ctx: EffectContext) => {\n const cs = splitChars(el);\n el.style.perspective ||= '600px';\n const rot = o.axis === 'y' ? 'rotateY' : 'rotateX';\n return all(cs.map((c, i) => {\n c.style.transformOrigin = '50% 70% -0.4em';\n c.style.backfaceVisibility = 'hidden';\n return ctx.reduced\n ? ctx.animate(c, [{ opacity: 0 }, { opacity: 1 }], { duration: 200, delay: i * 10, fill: 'backwards' })\n : ctx.animate(c, [{ transform: `${rot}(-100deg)`, opacity: 0 }, { transform: `${rot}(12deg)`, opacity: 1, offset: 0.7 }, { transform: `${rot}(0)`, opacity: 1 }], { duration: o.duration, delay: i * o.stagger, easing: 'cubic-bezier(.2,.8,.3,1)', fill: 'backwards' });\n }));\n },\n },\n];\n\n/** Register the 6.3 text pack (idempotent). */\nexport function registerTextPack(): void {\n registerEffects(TEXT3_FX);\n}\n\n\n/** @deprecated since 6.9 — use `registerTextPack()` (removed in 7.0; `npx usa-codemod-7`). */\nexport function registerTextEffects3(): void {\n deprecate('registerTextEffects3', 'registerTextEffects3() is deprecated since 6.9 and removed in 7.0 — use registerTextPack() (npx usa-codemod-7).');\n registerTextPack();\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fx-text.js","sources":["../../src/components/fx2/text3.ts"],"sourcesContent":["/**\n * 6.3 — Text effects 3.0 (`motionary/components/fx-text`), registered through\n * `registerEffect()`:\n *\n * - `liquid-text` (loop) — the text ripples like liquid (animated SVG\n * turbulence + displacement filter).\n * - `neon-write` (text) — letters flicker on one by one like a neon sign\n * being switched on, then keep a soft glow.\n * - `particle-text` (text) — particles fly in from around the element and\n * assemble into the glyphs, then hand over to the real text.\n * - `glitch-text` (text) — RGB-split slices jump sideways for a moment.\n * - `text-trail` (cursor) — the letters of a word fall off the pointer.\n * - `font-breathe` (loop) — a variable-font weight wave breathes through the text.\n * - `flip-chars` (text) — every character flips up in 3D, staggered.\n *\n * Splitting keeps a visually hidden copy for screen readers (the animated\n * characters are `aria-hidden`). Reduced motion: loops and the trail are\n * skipped, one-shot effects show the final state without movement.\n */\nimport type { EffectContext, EffectDefinition } from '../fx/registry';\nimport { registerEffects } from '../fx/registry';\nimport { srText } from '../base';\nimport { fxLayer, spawn, rand, all } from '../effects/shared';\n\n/** Split `el`'s text into `aria-hidden` inline-block characters (idempotent). Returns them. */\nexport function splitChars(el: HTMLElement): HTMLElement[] {\n if (el.dataset.usaChars) return Array.from(el.querySelectorAll<HTMLElement>(':scope > .usa-ch'));\n const text = el.textContent || '';\n el.textContent = '';\n for (const ch of Array.from(text)) {\n const s = document.createElement('span');\n s.className = 'usa-ch';\n s.setAttribute('aria-hidden', 'true');\n s.style.cssText = 'display:inline-block;white-space:pre';\n s.textContent = ch;\n el.appendChild(s);\n }\n el.appendChild(srText(text.trim()));\n el.dataset.usaChars = '1';\n return Array.from(el.querySelectorAll<HTMLElement>(':scope > .usa-ch'));\n}\n\nconst raf = (fn: FrameRequestCallback): number => (typeof requestAnimationFrame === 'function' ? requestAnimationFrame(fn) : 0);\nconst caf = (h: number): void => {\n if (h && typeof cancelAnimationFrame === 'function') cancelAnimationFrame(h);\n};\nlet fid = 0;\n\nexport const TEXT3_FX: EffectDefinition[] = [\n {\n name: 'liquid-text',\n kind: 'loop',\n description: 'The text ripples like liquid: an animated SVG turbulence + displacement filter (`strength`, `speed`).',\n defaults: { strength: 7, speed: 1 },\n run: (el: HTMLElement, o: any) => {\n const id = `usa-liquid-${++fid}`;\n const ns = 'http://www.w3.org/2000/svg';\n const svg = document.createElementNS(ns, 'svg');\n svg.setAttribute('aria-hidden', 'true');\n svg.setAttribute('width', '0');\n svg.setAttribute('height', '0');\n svg.style.cssText = 'position:absolute;width:0;height:0;overflow:hidden';\n svg.innerHTML = `<filter id=\"${id}\" x=\"-10%\" y=\"-20%\" width=\"120%\" height=\"140%\"><feTurbulence type=\"fractalNoise\" baseFrequency=\"0.012 0.06\" numOctaves=\"2\" seed=\"3\" result=\"n\"/><feDisplacementMap in=\"SourceGraphic\" in2=\"n\" scale=\"${Number(o.strength) || 7}\" xChannelSelector=\"R\" yChannelSelector=\"G\"/></filter>`;\n document.body.appendChild(svg);\n const turb = svg.querySelector('feTurbulence');\n const prev = el.style.filter;\n el.style.filter = `url(#${id})`;\n let h = 0;\n const t0 = performance.now();\n const tick = (now: number) => {\n const t = ((now - t0) / 1000) * (Number(o.speed) || 1);\n turb?.setAttribute('baseFrequency', `${(0.012 + 0.004 * Math.sin(t * 1.3)).toFixed(4)} ${(0.06 + 0.02 * Math.cos(t)).toFixed(4)}`);\n h = raf(tick);\n };\n h = raf(tick);\n return () => {\n caf(h);\n el.style.filter = prev;\n svg.remove();\n };\n },\n },\n {\n name: 'neon-write',\n kind: 'text',\n description: 'Letters flicker on one by one like a neon sign being switched on, then keep a soft glow (`color`, `stagger`).',\n defaults: { color: '#ff4fd8', stagger: 70, duration: 520 },\n run: (el: HTMLElement, o: any, ctx: EffectContext) => {\n const glow = `0 0 4px #fff,0 0 10px ${o.color},0 0 22px ${o.color},0 0 42px ${o.color}`;\n el.style.textShadow = glow;\n el.style.color ||= '#fff';\n if (ctx.reduced) return;\n const cs = splitChars(el);\n return all(cs.map((c, i) => ctx.animate(c, [\n { opacity: 0.08, textShadow: 'none' },\n { opacity: 1, textShadow: glow, offset: 0.2 },\n { opacity: 0.2, textShadow: 'none', offset: 0.32 },\n { opacity: 1, textShadow: glow, offset: 0.46 },\n { opacity: 0.55, offset: 0.6 },\n { opacity: 1, textShadow: glow },\n ], { duration: o.duration, delay: i * o.stagger + rand(0, 60), easing: 'steps(6, end)', fill: 'backwards' })));\n },\n },\n {\n name: 'particle-text',\n kind: 'text',\n description: 'Particles fly in from around the element and assemble into the glyphs, then hand over to the real text (`gap` px between samples, `duration`, `colors`).',\n defaults: { gap: 3, duration: 1300, colors: ['#7c5cff', '#22d3ee', '#ff5c8a'], spread: 120 },\n reduced: 'skip',\n run: (el: HTMLElement, o: any) => {\n const cs = splitChars(el);\n const r = el.getBoundingClientRect();\n if (!r.width || !r.height) return;\n const pad = Number(o.spread) || 120;\n const W = Math.ceil(r.width + pad * 2);\n const H = Math.ceil(r.height + pad * 2);\n const canvas = document.createElement('canvas');\n canvas.setAttribute('aria-hidden', 'true');\n canvas.width = W;\n canvas.height = H;\n canvas.style.cssText = `position:absolute;left:${r.left - pad}px;top:${r.top - pad}px;width:${W}px;height:${H}px`;\n const g = canvas.getContext('2d');\n if (!g) return;\n // rasterise each character where the browser laid it out\n const cs0 = getComputedStyle(el);\n g.font = `${cs0.fontStyle} ${cs0.fontWeight} ${cs0.fontSize} ${cs0.fontFamily}`;\n g.textBaseline = 'middle';\n g.fillStyle = '#000';\n for (const c of cs) {\n const b = c.getBoundingClientRect();\n g.fillText(c.textContent || '', b.left - r.left + pad, b.top - r.top + pad + b.height / 2);\n }\n const img = g.getImageData(0, 0, W, H);\n const gap = Math.max(2, Math.round(Number(o.gap) || 3));\n const pts: { x: number; y: number; sx: number; sy: number; c: string; d: number }[] = [];\n for (let y = 0; y < H; y += gap) for (let x = 0; x < W; x += gap) if (img.data[(y * W + x) * 4 + 3] > 128) {\n const a = rand(0, Math.PI * 2);\n const rr = rand(pad * 0.6, pad * 1.4);\n pts.push({ x, y, sx: W / 2 + Math.cos(a) * (W / 2 + rr * 0.3), sy: H / 2 + Math.sin(a) * (H / 2 + rr * 0.3), c: o.colors[pts.length % o.colors.length], d: rand(0, 0.35) });\n }\n fxLayer().appendChild(canvas);\n cs.forEach((c) => (c.style.opacity = '0'));\n const t0 = performance.now();\n const dur = Number(o.duration) || 1300;\n return new Promise<void>((done) => {\n const finish = () => {\n canvas.remove();\n cs.forEach((c) => (c.style.opacity = ''));\n done();\n };\n const tick = (now: number) => {\n const k = (now - t0) / dur;\n g.clearRect(0, 0, W, H);\n for (const p of pts) {\n const e = Math.min(1, Math.max(0, (k - p.d) / (1 - p.d)));\n const q = 1 - Math.pow(1 - e, 3);\n g.globalAlpha = k > 1 ? Math.max(0, 1 - (k - 1) * 4) : 0.25 + 0.75 * q;\n g.fillStyle = p.c;\n g.fillRect(p.sx + (p.x - p.sx) * q, p.sy + (p.y - p.sy) * q, gap - 0.5, gap - 0.5);\n }\n if (k > 1) cs.forEach((c) => (c.style.opacity = String(Math.min(1, (k - 1) * 4))));\n if (k < 1.25) raf(tick);\n else finish();\n };\n if (!raf(tick)) finish();\n });\n },\n },\n {\n name: 'glitch-text',\n kind: 'text',\n description: 'RGB-split slices of the text jump sideways for a moment (`duration`, `colors` of the two channels).',\n defaults: { duration: 650, colors: ['#22d3ee', '#ff3d81'] },\n run: (el: HTMLElement, o: any, ctx: EffectContext) => {\n if (ctx.reduced) return ctx.animate(el, [{ opacity: 1 }, { opacity: 0.6 }, { opacity: 1 }], { duration: 200 });\n if (getComputedStyle(el).position === 'static') el.style.position = 'relative';\n const text = el.textContent || '';\n const steps = 8;\n const mk = (color: string, dir: number) => {\n const s = document.createElement('span');\n s.setAttribute('aria-hidden', 'true');\n s.textContent = text;\n s.style.cssText = `position:absolute;inset:0;color:${color};mix-blend-mode:screen;pointer-events:none;white-space:inherit`;\n el.appendChild(s);\n const frames: Keyframe[] = [];\n for (let i = 0; i <= steps; i++) {\n const top = Math.round(rand(0, 80));\n frames.push({ clipPath: `inset(${top}% 0 ${Math.max(0, 100 - top - rand(8, 30)).toFixed(0)}% 0)`, transform: `translateX(${(dir * rand(2, 9)).toFixed(1)}px)` });\n }\n frames.push({ clipPath: 'inset(50% 0 50% 0)', transform: 'none' });\n const a = ctx.animate(s, frames, { duration: o.duration, easing: `steps(${steps}, end)` });\n const rm = () => s.remove();\n if (a) a.finished.then(rm, rm);\n else rm();\n return a;\n };\n return all([\n mk(o.colors[0], -1),\n mk(o.colors[1], 1),\n ctx.animate(el, [{ transform: 'none' }, { transform: 'translate(-2px,1px) skewX(-4deg)' }, { transform: 'translate(2px,-1px)' }, { transform: 'skewX(3deg)' }, { transform: 'none' }], { duration: o.duration, easing: 'steps(5, end)' }),\n ]);\n },\n },\n {\n name: 'text-trail',\n kind: 'cursor',\n description: 'The letters of a word fall off the pointer as it moves over the element (persistent; `text`, `color`, `spacing` px).',\n defaults: { text: 'MOTIONARY', color: '#7c5cff', spacing: 22, size: 18 },\n run: (el: HTMLElement, o: any, ctx: EffectContext) => {\n const word = Array.from(String(o.text || '✦'));\n let i = 0;\n let lx = -1e4;\n let ly = -1e4;\n const move = (e: PointerEvent) => {\n if (Math.hypot(e.clientX - lx, e.clientY - ly) < o.spacing) return;\n lx = e.clientX;\n ly = e.clientY;\n const ch = word[i++ % word.length];\n spawn(e.clientX - o.size / 2, e.clientY - o.size / 2, `font:800 ${o.size}px/1 system-ui,sans-serif;color:${o.color};text-shadow:0 2px 8px rgba(0,0,0,.25)`, ctx, [\n { transform: 'translateY(0) rotate(0) scale(1)', opacity: 1 },\n { transform: `translateY(${rand(30, 60).toFixed(0)}px) rotate(${rand(-60, 60).toFixed(0)}deg) scale(.6)`, opacity: 0 },\n ], { duration: rand(700, 1000), easing: 'cubic-bezier(.3,.1,.7,1)' }, ch);\n };\n el.addEventListener('pointermove', move);\n return () => el.removeEventListener('pointermove', move);\n },\n },\n {\n name: 'font-breathe',\n kind: 'loop',\n description: 'A variable-font weight wave breathes through the text (`min` / `max` weight, `period` ms, `stagger`). Best with a variable font.',\n defaults: { min: 200, max: 900, period: 2400, stagger: 90 },\n run: (el: HTMLElement, o: any, ctx: EffectContext) => {\n const cs = splitChars(el);\n const anims = cs.map((c, i) => ctx.animate(c, [\n { fontWeight: o.min, fontVariationSettings: `'wght' ${o.min}` },\n { fontWeight: o.max, fontVariationSettings: `'wght' ${o.max}` },\n ], { duration: o.period / 2, delay: i * o.stagger, iterations: Infinity, direction: 'alternate', easing: 'ease-in-out' }));\n return () => anims.forEach((a) => a?.cancel());\n },\n },\n {\n name: 'flip-chars',\n kind: 'text',\n description: 'Every character flips up in 3D around its baseline, staggered (`stagger`, `duration`, `axis` x | y).',\n defaults: { stagger: 45, duration: 700, axis: 'x' },\n run: (el: HTMLElement, o: any, ctx: EffectContext) => {\n const cs = splitChars(el);\n el.style.perspective ||= '600px';\n const rot = o.axis === 'y' ? 'rotateY' : 'rotateX';\n return all(cs.map((c, i) => {\n c.style.transformOrigin = '50% 70% -0.4em';\n c.style.backfaceVisibility = 'hidden';\n return ctx.reduced\n ? ctx.animate(c, [{ opacity: 0 }, { opacity: 1 }], { duration: 200, delay: i * 10, fill: 'backwards' })\n : ctx.animate(c, [{ transform: `${rot}(-100deg)`, opacity: 0 }, { transform: `${rot}(12deg)`, opacity: 1, offset: 0.7 }, { transform: `${rot}(0)`, opacity: 1 }], { duration: o.duration, delay: i * o.stagger, easing: 'cubic-bezier(.2,.8,.3,1)', fill: 'backwards' });\n }));\n },\n },\n];\n\n/** Register the 6.3 text pack (idempotent). */\nexport function registerTextPack(): void {\n registerEffects(TEXT3_FX);\n}\n\n\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var base = require('../chunks/base-BaQV-2ha.cjs');
4
3
  var registry = require('../chunks/registry-DehBVRDV.cjs');
4
+ var base = require('../chunks/base-BaQV-2ha.cjs');
5
5
  var shared = require('../chunks/shared-jkgRH-Hx.cjs');
6
6
 
7
7
  const fade = (el, ctx, out) => ctx.animate(el, out ? [{ opacity: 1 }, { opacity: 0 }] : [{ opacity: 0 }, { opacity: 1 }], { duration: 200, fill: out ? 'forwards' : 'none' });
@@ -241,15 +241,9 @@ function crossDocumentTransitions(effect = 'ripple-dissolve', duration = 700) {
241
241
  function registerTransitionsPack() {
242
242
  registry.registerEffects(TRANSITIONS2_FX);
243
243
  }
244
- /** @deprecated since 6.9 — use `registerTransitionsPack()` (removed in 7.0; `npx usa-codemod-7`). */
245
- function registerTransitionEffects2() {
246
- base.deprecate('registerTransitionEffects2', 'registerTransitionEffects2() is deprecated since 6.9 and removed in 7.0 — use registerTransitionsPack() (npx usa-codemod-7).');
247
- registerTransitionsPack();
248
- }
249
244
 
250
245
  exports.TRANSITIONS2_FX = TRANSITIONS2_FX;
251
246
  exports.crossDocumentTransitions = crossDocumentTransitions;
252
247
  exports.pageTransition = pageTransition;
253
- exports.registerTransitionEffects2 = registerTransitionEffects2;
254
248
  exports.registerTransitionsPack = registerTransitionsPack;
255
249
  //# sourceMappingURL=fx-transitions.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"fx-transitions.cjs","sources":["../../src/components/fx2/transitions2.ts"],"sourcesContent":["/**\n * 6.7 — Transitions 2.0 (`motionary/components/fx-transitions`), registered\n * through `registerEffect()` (kind `page`; option `mode: 'in' | 'out'`):\n *\n * - `ripple-dissolve` — a circle with a ripple ring grows from the pointer\n * (or `x` / `y` 0–1) and reveals / hides the element.\n * - `shatter` — the element breaks into shards that fly apart (out) or\n * fly together (in).\n * - `mosaic-flip` — a grid of tiles flips over in a diagonal wave.\n * - `liquid-wipe` — a wavy liquid edge sweeps across.\n * - `page-curl` — the element turns like a page around its left edge.\n * - `camera-dolly` — a dolly zoom: scale + depth blur + fade.\n *\n * `pageTransition(update, effect)` runs a DOM update inside the View\n * Transitions API (when available) and plays the effect on the new snapshot;\n * without the API it runs `update()` and plays the effect on `target`.\n * `crossDocumentTransitions(effect)` opts an MPA into cross-document view\n * transitions (`@view-transition { navigation: auto }`) with the same look.\n * Reduced motion: plain short fades.\n */\nimport type { EffectContext, EffectDefinition } from '../fx/registry';\nimport { deprecate } from '../base';\nimport { registerEffects, getEffect } from '../fx/registry';\nimport { prefersReducedMotion } from '../base';\nimport { all, origin } from '../effects/shared';\n\nconst fade = (el: Element, ctx: EffectContext, out: boolean) => ctx.animate(el, out ? [{ opacity: 1 }, { opacity: 0 }] : [{ opacity: 0 }, { opacity: 1 }], { duration: 200, fill: out ? 'forwards' : 'none' });\nconst isOut = (o: any) => o.mode === 'out';\nconst dir = (frames: Keyframe[], out: boolean) => (out ? [...frames].reverse().map((f) => ({ ...f, offset: undefined as unknown as number })).map(({ offset, ...f }) => f) : frames);\n\n/** Clipped copies of `el` laid over it (the original is hidden meanwhile). */\nfunction pieces(el: HTMLElement, clips: string[]): { parts: HTMLElement[]; done: () => void } {\n if (getComputedStyle(el).position === 'static') el.style.position = 'relative';\n const prevVis = el.style.visibility;\n const wrap = document.createElement('div');\n wrap.setAttribute('aria-hidden', 'true');\n wrap.style.cssText = 'position:absolute;inset:0;pointer-events:none;perspective:900px;visibility:visible;z-index:1';\n const parts = clips.map((c) => {\n const p = el.cloneNode(true) as HTMLElement;\n p.removeAttribute('id');\n p.querySelectorAll('[id]').forEach((x) => x.removeAttribute('id'));\n p.style.cssText += `;position:absolute;inset:0;margin:0;width:100%;height:100%;box-sizing:border-box;clip-path:${c};visibility:visible`;\n wrap.appendChild(p);\n return p;\n });\n el.style.visibility = 'hidden';\n el.appendChild(wrap);\n return {\n parts,\n done: () => {\n wrap.remove();\n el.style.visibility = prevVis;\n },\n };\n}\n\nexport const TRANSITIONS2_FX: EffectDefinition[] = [\n {\n name: 'ripple-dissolve',\n kind: 'page',\n description: 'A circle with a ripple ring grows from the pointer (or `x` / `y` 0–1) and reveals (`mode: \"in\"`) or hides (`\"out\"`) the element.',\n defaults: { mode: 'in', duration: 900, x: 0.5, y: 0.5 },\n run: (el: HTMLElement, o: any, ctx: EffectContext) => {\n const out = isOut(o);\n if (ctx.reduced) return fade(el, ctx, out);\n const r = el.getBoundingClientRect();\n const p = ctx.event ? origin(el, ctx) : { x: r.left + r.width * o.x, y: r.top + r.height * o.y };\n const at = `${(p.x - r.left).toFixed(0)}px ${(p.y - r.top).toFixed(0)}px`;\n const f: Keyframe[] = [\n { clipPath: `circle(0% at ${at})`, filter: 'blur(2px)' },\n { clipPath: `circle(38% at ${at})`, filter: 'blur(0)', offset: 0.45 },\n { clipPath: `circle(150% at ${at})`, filter: 'blur(0)' },\n ];\n return ctx.animate(el, out ? [f[2], f[0]] : f, { duration: o.duration, easing: 'cubic-bezier(.6,.05,.3,1)', fill: out ? 'forwards' : 'none' });\n },\n },\n {\n name: 'shatter',\n kind: 'page',\n description: 'The element breaks into shards that fly apart (`mode: \"out\"`) or fly together (`\"in\"`) (`pieces`, `duration`).',\n defaults: { mode: 'out', duration: 900, pieces: 12 },\n run: (el: HTMLElement, o: any, ctx: EffectContext) => {\n const out = isOut(o);\n if (ctx.reduced) return fade(el, ctx, out);\n const n = Math.max(4, Math.min(24, o.pieces | 0));\n const cols = Math.ceil(Math.sqrt(n / 2));\n const rows = Math.ceil(n / 2 / cols);\n const clips: string[] = [];\n for (let r = 0; r < rows; r++)\n for (let c = 0; c < cols; c++) {\n const x0 = (c / cols) * 100;\n const x1 = ((c + 1) / cols) * 100;\n const y0 = (r / rows) * 100;\n const y1 = ((r + 1) / rows) * 100;\n clips.push(`polygon(${x0}% ${y0}%,${x1}% ${y0}%,${x0}% ${y1}%)`, `polygon(${x1}% ${y0}%,${x1}% ${y1}%,${x0}% ${y1}%)`);\n }\n const { parts, done } = pieces(el, clips);\n const anims = parts.map((p, i) => {\n const a = (i * 2.399) % (Math.PI * 2);\n const d = 80 + (i % 5) * 30;\n const scattered = { transform: `translate(${(Math.cos(a) * d).toFixed(0)}px,${(Math.sin(a) * d + 40).toFixed(0)}px) rotate(${((i % 7) - 3) * 35}deg) rotateX(${(i % 3) * 40}deg)`, opacity: 0 };\n const whole = { transform: 'none', opacity: 1 };\n return ctx.animate(p, out ? [whole, scattered] : [scattered, whole], { duration: o.duration, delay: (i % 6) * 25, easing: out ? 'cubic-bezier(.4,0,.9,.6)' : 'cubic-bezier(.1,.6,.3,1)', fill: 'both' });\n });\n return all(anims).then(() => {\n done();\n if (out) el.style.visibility = 'hidden';\n });\n },\n },\n {\n name: 'mosaic-flip',\n kind: 'page',\n description: 'A grid of tiles flips over in a diagonal wave (`cols`, `rows`, `duration` per tile).',\n defaults: { mode: 'in', cols: 6, rows: 4, duration: 520 },\n run: (el: HTMLElement, o: any, ctx: EffectContext) => {\n const out = isOut(o);\n if (ctx.reduced) return fade(el, ctx, out);\n const C = Math.max(2, Math.min(12, o.cols | 0));\n const R = Math.max(2, Math.min(10, o.rows | 0));\n const clips: string[] = [];\n for (let r = 0; r < R; r++) for (let c = 0; c < C; c++) clips.push(`inset(${((r / R) * 100).toFixed(2)}% ${(100 - ((c + 1) / C) * 100).toFixed(2)}% ${(100 - ((r + 1) / R) * 100).toFixed(2)}% ${((c / C) * 100).toFixed(2)}%)`);\n const { parts, done } = pieces(el, clips);\n const anims = parts.map((p, i) => {\n const r = Math.floor(i / C);\n const c = i % C;\n p.style.transformOrigin = `${((c + 0.5) / C) * 100}% ${((r + 0.5) / R) * 100}%`;\n p.style.backfaceVisibility = 'hidden';\n const f: Keyframe[] = [{ transform: 'rotateY(-90deg)', opacity: 0 }, { transform: 'rotateY(0)', opacity: 1 }];\n return ctx.animate(p, out ? [f[1], f[0]] : f, { duration: o.duration, delay: (r + c) * 45, easing: 'cubic-bezier(.3,.7,.3,1)', fill: 'both' });\n });\n return all(anims).then(() => {\n done();\n if (out) el.style.visibility = 'hidden';\n });\n },\n },\n {\n name: 'liquid-wipe',\n kind: 'page',\n description: 'A wavy liquid edge sweeps across the element (`direction` left | right | up | down, `waves`, `duration`).',\n defaults: { mode: 'in', direction: 'right', waves: 3, duration: 1000 },\n run: (el: HTMLElement, o: any, ctx: EffectContext) => {\n const out = isOut(o);\n if (ctx.reduced) return fade(el, ctx, out);\n const N = 24;\n const shape = (k: number) => {\n const pts: string[] = [];\n const amp = 6 * Math.sin(Math.PI * k);\n for (let i = 0; i <= N; i++) {\n const t = (i / N) * 100;\n const edge = k * 120 - 10 + amp * Math.sin((i / N) * Math.PI * 2 * o.waves + k * 6);\n pts.push(o.direction === 'up' || o.direction === 'down' ? `${t.toFixed(1)}% ${(o.direction === 'down' ? edge : 100 - edge).toFixed(1)}%` : `${(o.direction === 'left' ? 100 - edge : edge).toFixed(1)}% ${t.toFixed(1)}%`);\n }\n const tail = o.direction === 'up' ? ['100% 100%', '0% 100%'] : o.direction === 'down' ? ['100% 0%', '0% 0%'] : o.direction === 'left' ? ['100% 100%', '100% 0%'] : ['0% 100%', '0% 0%'];\n if (o.direction === 'up' || o.direction === 'down') return `polygon(${[...pts, ...tail].join(',')})`;\n return `polygon(${[...pts, ...tail].join(',')})`;\n };\n const frames: Keyframe[] = Array.from({ length: 9 }, (_, i) => ({ clipPath: shape(i / 8) }));\n return ctx.animate(el, out ? frames.reverse() : frames, { duration: o.duration, easing: 'cubic-bezier(.65,.05,.35,1)', fill: out ? 'forwards' : 'none' });\n },\n },\n {\n name: 'page-curl',\n kind: 'page',\n description: 'The element turns like a page around its left edge, with a moving shade (`duration`).',\n defaults: { mode: 'in', duration: 900 },\n run: (el: HTMLElement, o: any, ctx: EffectContext) => {\n const out = isOut(o);\n if (ctx.reduced) return fade(el, ctx, out);\n const prev = el.style.transformOrigin;\n el.style.transformOrigin = '0% 50%';\n const f: Keyframe[] = [\n { transform: 'perspective(1400px) rotateY(-100deg) skewY(-4deg)', filter: 'brightness(.55)', boxShadow: '30px 0 40px rgba(0,0,0,.35)', opacity: 0.4 },\n { transform: 'perspective(1400px) rotateY(-40deg) skewY(-2deg)', filter: 'brightness(.8)', boxShadow: '20px 0 30px rgba(0,0,0,.25)', opacity: 1, offset: 0.5 },\n { transform: 'perspective(1400px) rotateY(0) skewY(0)', filter: 'brightness(1)', boxShadow: '0 0 0 rgba(0,0,0,0)', opacity: 1 },\n ];\n const a = ctx.animate(el, dir(f, out), { duration: o.duration, easing: 'cubic-bezier(.45,.05,.3,1)', fill: out ? 'forwards' : 'none' });\n const reset = () => (el.style.transformOrigin = prev);\n if (a) a.finished.then(reset, reset);\n else reset();\n return a;\n },\n },\n {\n name: 'camera-dolly',\n kind: 'page',\n description: 'A dolly zoom: the element moves in from (or out to) depth with a depth-of-field blur (`scale`, `duration`).',\n defaults: { mode: 'in', duration: 900, scale: 1.35 },\n run: (el: HTMLElement, o: any, ctx: EffectContext) => {\n const out = isOut(o);\n if (ctx.reduced) return fade(el, ctx, out);\n const f: Keyframe[] = [\n { transform: `perspective(900px) translateZ(-260px) scale(${o.scale})`, filter: 'blur(10px)', opacity: 0 },\n { transform: 'perspective(900px) translateZ(0) scale(1)', filter: 'blur(0)', opacity: 1 },\n ];\n return ctx.animate(el, out ? [f[1], { ...f[0], transform: `perspective(900px) translateZ(260px) scale(${(1 / o.scale).toFixed(3)})` }] : f, { duration: o.duration, easing: 'cubic-bezier(.2,.7,.2,1)', fill: out ? 'forwards' : 'none' });\n },\n },\n];\n\n/** CSS keyframes for the `::view-transition-new(root)` snapshot of each effect (cross-document transitions). */\nconst VT_CSS: Record<string, string> = {\n 'ripple-dissolve': 'from{clip-path:circle(0% at 50% 50%)}to{clip-path:circle(150% at 50% 50%)}',\n 'liquid-wipe': 'from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}',\n 'page-curl': 'from{transform:perspective(1400px) rotateY(-100deg);transform-origin:0 50%;filter:brightness(.6)}to{transform:none;transform-origin:0 50%}',\n 'camera-dolly': 'from{transform:scale(1.35);filter:blur(10px);opacity:0}to{transform:none;filter:none;opacity:1}',\n 'mosaic-flip': 'from{transform:perspective(900px) rotateY(-90deg);opacity:0}to{transform:none;opacity:1}',\n shatter: 'from{transform:scale(.85) rotate(-3deg);opacity:0;filter:blur(4px)}to{transform:none;opacity:1;filter:none}',\n};\n\n/**\n * Run `update` (a DOM change) as a transition: inside `document.startViewTransition`\n * when supported (the new snapshot plays `effect`), otherwise `update()` then the\n * effect on `target` (default `document.body`'s first element).\n */\nexport async function pageTransition(update: () => void | Promise<void>, effect = 'ripple-dissolve', options: Record<string, unknown> = {}, target?: HTMLElement): Promise<void> {\n const doc = document as Document & { startViewTransition?: (cb: () => unknown) => { ready: Promise<void>; finished: Promise<void> } };\n const def = getEffect(effect);\n if (typeof doc.startViewTransition === 'function' && !prefersReducedMotion()) {\n const vt = doc.startViewTransition(update);\n await vt.ready.catch(() => undefined);\n const css = VT_CSS[effect];\n if (css) {\n const dur = Number(options.duration) || Number(def?.defaults?.duration) || 800;\n const m = /from\\{([^}]*)\\}to\\{([^}]*)\\}/.exec(css);\n const toObj = (s: string) => Object.fromEntries(s.split(';').filter(Boolean).map((d) => { const i = d.indexOf(':'); return [d.slice(0, i).replace(/-([a-z])/g, (_, c) => c.toUpperCase()), d.slice(i + 1)]; }));\n if (m) document.documentElement.animate([toObj(m[1]), toObj(m[2])], { duration: dur, easing: 'cubic-bezier(.6,.05,.3,1)', pseudoElement: '::view-transition-new(root)' } as KeyframeAnimationOptions);\n }\n await vt.finished.catch(() => undefined);\n return;\n }\n await update();\n const el = target || (document.body.firstElementChild as HTMLElement | null);\n if (el && def) {\n const { playEffect } = await import('../fx/registry');\n await playEffect(el, effect, { ...options, mode: 'in' });\n }\n}\n\n/** Opt a multi-page site into cross-document view transitions with an effect's look. Returns a remover. */\nexport function crossDocumentTransitions(effect = 'ripple-dissolve', duration = 700): () => void {\n const style = document.createElement('style');\n style.setAttribute('data-usa-vt', effect);\n const kf = VT_CSS[effect] || VT_CSS['camera-dolly'];\n style.textContent = `@view-transition{navigation:auto}@keyframes usa-vt-in{${kf}}::view-transition-new(root){animation:usa-vt-in ${duration}ms cubic-bezier(.6,.05,.3,1) both}::view-transition-old(root){animation:none}@media (prefers-reduced-motion:reduce){::view-transition-new(root){animation-duration:1ms}}`;\n document.head.appendChild(style);\n return () => style.remove();\n}\n\n/** Register the 6.7 transitions pack (idempotent). */\nexport function registerTransitionsPack(): void {\n registerEffects(TRANSITIONS2_FX);\n}\n\n/** @deprecated since 6.9 — use `registerTransitionsPack()` (removed in 7.0; `npx usa-codemod-7`). */\nexport function registerTransitionEffects2(): void {\n deprecate('registerTransitionEffects2', 'registerTransitionEffects2() is deprecated since 6.9 and removed in 7.0 — use registerTransitionsPack() (npx usa-codemod-7).');\n registerTransitionsPack();\n}\n"],"names":["origin","all","getEffect","prefersReducedMotion","registerEffects","deprecate"],"mappings":"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"}
1
+ {"version":3,"file":"fx-transitions.cjs","sources":["../../src/components/fx2/transitions2.ts"],"sourcesContent":["/**\n * 6.7 — Transitions 2.0 (`motionary/components/fx-transitions`), registered\n * through `registerEffect()` (kind `page`; option `mode: 'in' | 'out'`):\n *\n * - `ripple-dissolve` — a circle with a ripple ring grows from the pointer\n * (or `x` / `y` 0–1) and reveals / hides the element.\n * - `shatter` — the element breaks into shards that fly apart (out) or\n * fly together (in).\n * - `mosaic-flip` — a grid of tiles flips over in a diagonal wave.\n * - `liquid-wipe` — a wavy liquid edge sweeps across.\n * - `page-curl` — the element turns like a page around its left edge.\n * - `camera-dolly` — a dolly zoom: scale + depth blur + fade.\n *\n * `pageTransition(update, effect)` runs a DOM update inside the View\n * Transitions API (when available) and plays the effect on the new snapshot;\n * without the API it runs `update()` and plays the effect on `target`.\n * `crossDocumentTransitions(effect)` opts an MPA into cross-document view\n * transitions (`@view-transition { navigation: auto }`) with the same look.\n * Reduced motion: plain short fades.\n */\nimport type { EffectContext, EffectDefinition } from '../fx/registry';\nimport { registerEffects, getEffect } from '../fx/registry';\nimport { prefersReducedMotion } from '../base';\nimport { all, origin } from '../effects/shared';\n\nconst fade = (el: Element, ctx: EffectContext, out: boolean) => ctx.animate(el, out ? [{ opacity: 1 }, { opacity: 0 }] : [{ opacity: 0 }, { opacity: 1 }], { duration: 200, fill: out ? 'forwards' : 'none' });\nconst isOut = (o: any) => o.mode === 'out';\nconst dir = (frames: Keyframe[], out: boolean) => (out ? [...frames].reverse().map((f) => ({ ...f, offset: undefined as unknown as number })).map(({ offset, ...f }) => f) : frames);\n\n/** Clipped copies of `el` laid over it (the original is hidden meanwhile). */\nfunction pieces(el: HTMLElement, clips: string[]): { parts: HTMLElement[]; done: () => void } {\n if (getComputedStyle(el).position === 'static') el.style.position = 'relative';\n const prevVis = el.style.visibility;\n const wrap = document.createElement('div');\n wrap.setAttribute('aria-hidden', 'true');\n wrap.style.cssText = 'position:absolute;inset:0;pointer-events:none;perspective:900px;visibility:visible;z-index:1';\n const parts = clips.map((c) => {\n const p = el.cloneNode(true) as HTMLElement;\n p.removeAttribute('id');\n p.querySelectorAll('[id]').forEach((x) => x.removeAttribute('id'));\n p.style.cssText += `;position:absolute;inset:0;margin:0;width:100%;height:100%;box-sizing:border-box;clip-path:${c};visibility:visible`;\n wrap.appendChild(p);\n return p;\n });\n el.style.visibility = 'hidden';\n el.appendChild(wrap);\n return {\n parts,\n done: () => {\n wrap.remove();\n el.style.visibility = prevVis;\n },\n };\n}\n\nexport const TRANSITIONS2_FX: EffectDefinition[] = [\n {\n name: 'ripple-dissolve',\n kind: 'page',\n description: 'A circle with a ripple ring grows from the pointer (or `x` / `y` 0–1) and reveals (`mode: \"in\"`) or hides (`\"out\"`) the element.',\n defaults: { mode: 'in', duration: 900, x: 0.5, y: 0.5 },\n run: (el: HTMLElement, o: any, ctx: EffectContext) => {\n const out = isOut(o);\n if (ctx.reduced) return fade(el, ctx, out);\n const r = el.getBoundingClientRect();\n const p = ctx.event ? origin(el, ctx) : { x: r.left + r.width * o.x, y: r.top + r.height * o.y };\n const at = `${(p.x - r.left).toFixed(0)}px ${(p.y - r.top).toFixed(0)}px`;\n const f: Keyframe[] = [\n { clipPath: `circle(0% at ${at})`, filter: 'blur(2px)' },\n { clipPath: `circle(38% at ${at})`, filter: 'blur(0)', offset: 0.45 },\n { clipPath: `circle(150% at ${at})`, filter: 'blur(0)' },\n ];\n return ctx.animate(el, out ? [f[2], f[0]] : f, { duration: o.duration, easing: 'cubic-bezier(.6,.05,.3,1)', fill: out ? 'forwards' : 'none' });\n },\n },\n {\n name: 'shatter',\n kind: 'page',\n description: 'The element breaks into shards that fly apart (`mode: \"out\"`) or fly together (`\"in\"`) (`pieces`, `duration`).',\n defaults: { mode: 'out', duration: 900, pieces: 12 },\n run: (el: HTMLElement, o: any, ctx: EffectContext) => {\n const out = isOut(o);\n if (ctx.reduced) return fade(el, ctx, out);\n const n = Math.max(4, Math.min(24, o.pieces | 0));\n const cols = Math.ceil(Math.sqrt(n / 2));\n const rows = Math.ceil(n / 2 / cols);\n const clips: string[] = [];\n for (let r = 0; r < rows; r++)\n for (let c = 0; c < cols; c++) {\n const x0 = (c / cols) * 100;\n const x1 = ((c + 1) / cols) * 100;\n const y0 = (r / rows) * 100;\n const y1 = ((r + 1) / rows) * 100;\n clips.push(`polygon(${x0}% ${y0}%,${x1}% ${y0}%,${x0}% ${y1}%)`, `polygon(${x1}% ${y0}%,${x1}% ${y1}%,${x0}% ${y1}%)`);\n }\n const { parts, done } = pieces(el, clips);\n const anims = parts.map((p, i) => {\n const a = (i * 2.399) % (Math.PI * 2);\n const d = 80 + (i % 5) * 30;\n const scattered = { transform: `translate(${(Math.cos(a) * d).toFixed(0)}px,${(Math.sin(a) * d + 40).toFixed(0)}px) rotate(${((i % 7) - 3) * 35}deg) rotateX(${(i % 3) * 40}deg)`, opacity: 0 };\n const whole = { transform: 'none', opacity: 1 };\n return ctx.animate(p, out ? [whole, scattered] : [scattered, whole], { duration: o.duration, delay: (i % 6) * 25, easing: out ? 'cubic-bezier(.4,0,.9,.6)' : 'cubic-bezier(.1,.6,.3,1)', fill: 'both' });\n });\n return all(anims).then(() => {\n done();\n if (out) el.style.visibility = 'hidden';\n });\n },\n },\n {\n name: 'mosaic-flip',\n kind: 'page',\n description: 'A grid of tiles flips over in a diagonal wave (`cols`, `rows`, `duration` per tile).',\n defaults: { mode: 'in', cols: 6, rows: 4, duration: 520 },\n run: (el: HTMLElement, o: any, ctx: EffectContext) => {\n const out = isOut(o);\n if (ctx.reduced) return fade(el, ctx, out);\n const C = Math.max(2, Math.min(12, o.cols | 0));\n const R = Math.max(2, Math.min(10, o.rows | 0));\n const clips: string[] = [];\n for (let r = 0; r < R; r++) for (let c = 0; c < C; c++) clips.push(`inset(${((r / R) * 100).toFixed(2)}% ${(100 - ((c + 1) / C) * 100).toFixed(2)}% ${(100 - ((r + 1) / R) * 100).toFixed(2)}% ${((c / C) * 100).toFixed(2)}%)`);\n const { parts, done } = pieces(el, clips);\n const anims = parts.map((p, i) => {\n const r = Math.floor(i / C);\n const c = i % C;\n p.style.transformOrigin = `${((c + 0.5) / C) * 100}% ${((r + 0.5) / R) * 100}%`;\n p.style.backfaceVisibility = 'hidden';\n const f: Keyframe[] = [{ transform: 'rotateY(-90deg)', opacity: 0 }, { transform: 'rotateY(0)', opacity: 1 }];\n return ctx.animate(p, out ? [f[1], f[0]] : f, { duration: o.duration, delay: (r + c) * 45, easing: 'cubic-bezier(.3,.7,.3,1)', fill: 'both' });\n });\n return all(anims).then(() => {\n done();\n if (out) el.style.visibility = 'hidden';\n });\n },\n },\n {\n name: 'liquid-wipe',\n kind: 'page',\n description: 'A wavy liquid edge sweeps across the element (`direction` left | right | up | down, `waves`, `duration`).',\n defaults: { mode: 'in', direction: 'right', waves: 3, duration: 1000 },\n run: (el: HTMLElement, o: any, ctx: EffectContext) => {\n const out = isOut(o);\n if (ctx.reduced) return fade(el, ctx, out);\n const N = 24;\n const shape = (k: number) => {\n const pts: string[] = [];\n const amp = 6 * Math.sin(Math.PI * k);\n for (let i = 0; i <= N; i++) {\n const t = (i / N) * 100;\n const edge = k * 120 - 10 + amp * Math.sin((i / N) * Math.PI * 2 * o.waves + k * 6);\n pts.push(o.direction === 'up' || o.direction === 'down' ? `${t.toFixed(1)}% ${(o.direction === 'down' ? edge : 100 - edge).toFixed(1)}%` : `${(o.direction === 'left' ? 100 - edge : edge).toFixed(1)}% ${t.toFixed(1)}%`);\n }\n const tail = o.direction === 'up' ? ['100% 100%', '0% 100%'] : o.direction === 'down' ? ['100% 0%', '0% 0%'] : o.direction === 'left' ? ['100% 100%', '100% 0%'] : ['0% 100%', '0% 0%'];\n if (o.direction === 'up' || o.direction === 'down') return `polygon(${[...pts, ...tail].join(',')})`;\n return `polygon(${[...pts, ...tail].join(',')})`;\n };\n const frames: Keyframe[] = Array.from({ length: 9 }, (_, i) => ({ clipPath: shape(i / 8) }));\n return ctx.animate(el, out ? frames.reverse() : frames, { duration: o.duration, easing: 'cubic-bezier(.65,.05,.35,1)', fill: out ? 'forwards' : 'none' });\n },\n },\n {\n name: 'page-curl',\n kind: 'page',\n description: 'The element turns like a page around its left edge, with a moving shade (`duration`).',\n defaults: { mode: 'in', duration: 900 },\n run: (el: HTMLElement, o: any, ctx: EffectContext) => {\n const out = isOut(o);\n if (ctx.reduced) return fade(el, ctx, out);\n const prev = el.style.transformOrigin;\n el.style.transformOrigin = '0% 50%';\n const f: Keyframe[] = [\n { transform: 'perspective(1400px) rotateY(-100deg) skewY(-4deg)', filter: 'brightness(.55)', boxShadow: '30px 0 40px rgba(0,0,0,.35)', opacity: 0.4 },\n { transform: 'perspective(1400px) rotateY(-40deg) skewY(-2deg)', filter: 'brightness(.8)', boxShadow: '20px 0 30px rgba(0,0,0,.25)', opacity: 1, offset: 0.5 },\n { transform: 'perspective(1400px) rotateY(0) skewY(0)', filter: 'brightness(1)', boxShadow: '0 0 0 rgba(0,0,0,0)', opacity: 1 },\n ];\n const a = ctx.animate(el, dir(f, out), { duration: o.duration, easing: 'cubic-bezier(.45,.05,.3,1)', fill: out ? 'forwards' : 'none' });\n const reset = () => (el.style.transformOrigin = prev);\n if (a) a.finished.then(reset, reset);\n else reset();\n return a;\n },\n },\n {\n name: 'camera-dolly',\n kind: 'page',\n description: 'A dolly zoom: the element moves in from (or out to) depth with a depth-of-field blur (`scale`, `duration`).',\n defaults: { mode: 'in', duration: 900, scale: 1.35 },\n run: (el: HTMLElement, o: any, ctx: EffectContext) => {\n const out = isOut(o);\n if (ctx.reduced) return fade(el, ctx, out);\n const f: Keyframe[] = [\n { transform: `perspective(900px) translateZ(-260px) scale(${o.scale})`, filter: 'blur(10px)', opacity: 0 },\n { transform: 'perspective(900px) translateZ(0) scale(1)', filter: 'blur(0)', opacity: 1 },\n ];\n return ctx.animate(el, out ? [f[1], { ...f[0], transform: `perspective(900px) translateZ(260px) scale(${(1 / o.scale).toFixed(3)})` }] : f, { duration: o.duration, easing: 'cubic-bezier(.2,.7,.2,1)', fill: out ? 'forwards' : 'none' });\n },\n },\n];\n\n/** CSS keyframes for the `::view-transition-new(root)` snapshot of each effect (cross-document transitions). */\nconst VT_CSS: Record<string, string> = {\n 'ripple-dissolve': 'from{clip-path:circle(0% at 50% 50%)}to{clip-path:circle(150% at 50% 50%)}',\n 'liquid-wipe': 'from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}',\n 'page-curl': 'from{transform:perspective(1400px) rotateY(-100deg);transform-origin:0 50%;filter:brightness(.6)}to{transform:none;transform-origin:0 50%}',\n 'camera-dolly': 'from{transform:scale(1.35);filter:blur(10px);opacity:0}to{transform:none;filter:none;opacity:1}',\n 'mosaic-flip': 'from{transform:perspective(900px) rotateY(-90deg);opacity:0}to{transform:none;opacity:1}',\n shatter: 'from{transform:scale(.85) rotate(-3deg);opacity:0;filter:blur(4px)}to{transform:none;opacity:1;filter:none}',\n};\n\n/**\n * Run `update` (a DOM change) as a transition: inside `document.startViewTransition`\n * when supported (the new snapshot plays `effect`), otherwise `update()` then the\n * effect on `target` (default `document.body`'s first element).\n */\nexport async function pageTransition(update: () => void | Promise<void>, effect = 'ripple-dissolve', options: Record<string, unknown> = {}, target?: HTMLElement): Promise<void> {\n const doc = document as Document & { startViewTransition?: (cb: () => unknown) => { ready: Promise<void>; finished: Promise<void> } };\n const def = getEffect(effect);\n if (typeof doc.startViewTransition === 'function' && !prefersReducedMotion()) {\n const vt = doc.startViewTransition(update);\n await vt.ready.catch(() => undefined);\n const css = VT_CSS[effect];\n if (css) {\n const dur = Number(options.duration) || Number(def?.defaults?.duration) || 800;\n const m = /from\\{([^}]*)\\}to\\{([^}]*)\\}/.exec(css);\n const toObj = (s: string) => Object.fromEntries(s.split(';').filter(Boolean).map((d) => { const i = d.indexOf(':'); return [d.slice(0, i).replace(/-([a-z])/g, (_, c) => c.toUpperCase()), d.slice(i + 1)]; }));\n if (m) document.documentElement.animate([toObj(m[1]), toObj(m[2])], { duration: dur, easing: 'cubic-bezier(.6,.05,.3,1)', pseudoElement: '::view-transition-new(root)' } as KeyframeAnimationOptions);\n }\n await vt.finished.catch(() => undefined);\n return;\n }\n await update();\n const el = target || (document.body.firstElementChild as HTMLElement | null);\n if (el && def) {\n const { playEffect } = await import('../fx/registry');\n await playEffect(el, effect, { ...options, mode: 'in' });\n }\n}\n\n/** Opt a multi-page site into cross-document view transitions with an effect's look. Returns a remover. */\nexport function crossDocumentTransitions(effect = 'ripple-dissolve', duration = 700): () => void {\n const style = document.createElement('style');\n style.setAttribute('data-usa-vt', effect);\n const kf = VT_CSS[effect] || VT_CSS['camera-dolly'];\n style.textContent = `@view-transition{navigation:auto}@keyframes usa-vt-in{${kf}}::view-transition-new(root){animation:usa-vt-in ${duration}ms cubic-bezier(.6,.05,.3,1) both}::view-transition-old(root){animation:none}@media (prefers-reduced-motion:reduce){::view-transition-new(root){animation-duration:1ms}}`;\n document.head.appendChild(style);\n return () => style.remove();\n}\n\n/** Register the 6.7 transitions pack (idempotent). */\nexport function registerTransitionsPack(): void {\n registerEffects(TRANSITIONS2_FX);\n}\n\n"],"names":["origin","all","getEffect","prefersReducedMotion","registerEffects"],"mappings":"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"}
@@ -73,7 +73,5 @@ declare function pageTransition(update: () => void | Promise<void>, effect?: str
73
73
  declare function crossDocumentTransitions(effect?: string, duration?: number): () => void;
74
74
  /** Register the 6.7 transitions pack (idempotent). */
75
75
  declare function registerTransitionsPack(): void;
76
- /** @deprecated since 6.9 — use `registerTransitionsPack()` (removed in 7.0; `npx usa-codemod-7`). */
77
- declare function registerTransitionEffects2(): void;
78
76
 
79
- export { TRANSITIONS2_FX, crossDocumentTransitions, pageTransition, registerTransitionEffects2, registerTransitionsPack };
77
+ export { TRANSITIONS2_FX, crossDocumentTransitions, pageTransition, registerTransitionsPack };
@@ -73,7 +73,5 @@ declare function pageTransition(update: () => void | Promise<void>, effect?: str
73
73
  declare function crossDocumentTransitions(effect?: string, duration?: number): () => void;
74
74
  /** Register the 6.7 transitions pack (idempotent). */
75
75
  declare function registerTransitionsPack(): void;
76
- /** @deprecated since 6.9 — use `registerTransitionsPack()` (removed in 7.0; `npx usa-codemod-7`). */
77
- declare function registerTransitionEffects2(): void;
78
76
 
79
- export { TRANSITIONS2_FX, crossDocumentTransitions, pageTransition, registerTransitionEffects2, registerTransitionsPack };
77
+ export { TRANSITIONS2_FX, crossDocumentTransitions, pageTransition, registerTransitionsPack };
@@ -1,5 +1,5 @@
1
- import { p as prefersReducedMotion, u as deprecate } from '../chunks/base-D5MHqeDd.js';
2
- import { getEffect, registerEffects } from '../chunks/registry-CTLWeg-J.js';
1
+ import { getEffect, registerEffects } from '../chunks/registry-D23neB4M.js';
2
+ import { p as prefersReducedMotion } from '../chunks/base-DchG4q_S.js';
3
3
  import { b as origin, a as all } from '../chunks/shared-CkKHWrtJ.js';
4
4
 
5
5
  const fade = (el, ctx, out) => ctx.animate(el, out ? [{ opacity: 1 }, { opacity: 0 }] : [{ opacity: 0 }, { opacity: 1 }], { duration: 200, fill: out ? 'forwards' : 'none' });
@@ -222,7 +222,7 @@ async function pageTransition(update, effect = 'ripple-dissolve', options = {},
222
222
  await update();
223
223
  const el = target || document.body.firstElementChild;
224
224
  if (el && def) {
225
- const { playEffect } = await import('../chunks/registry-CTLWeg-J.js');
225
+ const { playEffect } = await import('../chunks/registry-D23neB4M.js');
226
226
  await playEffect(el, effect, { ...options, mode: 'in' });
227
227
  }
228
228
  }
@@ -239,11 +239,6 @@ function crossDocumentTransitions(effect = 'ripple-dissolve', duration = 700) {
239
239
  function registerTransitionsPack() {
240
240
  registerEffects(TRANSITIONS2_FX);
241
241
  }
242
- /** @deprecated since 6.9 — use `registerTransitionsPack()` (removed in 7.0; `npx usa-codemod-7`). */
243
- function registerTransitionEffects2() {
244
- deprecate('registerTransitionEffects2', 'registerTransitionEffects2() is deprecated since 6.9 and removed in 7.0 — use registerTransitionsPack() (npx usa-codemod-7).');
245
- registerTransitionsPack();
246
- }
247
242
 
248
- export { TRANSITIONS2_FX, crossDocumentTransitions, pageTransition, registerTransitionEffects2, registerTransitionsPack };
243
+ export { TRANSITIONS2_FX, crossDocumentTransitions, pageTransition, registerTransitionsPack };
249
244
  //# sourceMappingURL=fx-transitions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fx-transitions.js","sources":["../../src/components/fx2/transitions2.ts"],"sourcesContent":["/**\n * 6.7 — Transitions 2.0 (`motionary/components/fx-transitions`), registered\n * through `registerEffect()` (kind `page`; option `mode: 'in' | 'out'`):\n *\n * - `ripple-dissolve` — a circle with a ripple ring grows from the pointer\n * (or `x` / `y` 0–1) and reveals / hides the element.\n * - `shatter` — the element breaks into shards that fly apart (out) or\n * fly together (in).\n * - `mosaic-flip` — a grid of tiles flips over in a diagonal wave.\n * - `liquid-wipe` — a wavy liquid edge sweeps across.\n * - `page-curl` — the element turns like a page around its left edge.\n * - `camera-dolly` — a dolly zoom: scale + depth blur + fade.\n *\n * `pageTransition(update, effect)` runs a DOM update inside the View\n * Transitions API (when available) and plays the effect on the new snapshot;\n * without the API it runs `update()` and plays the effect on `target`.\n * `crossDocumentTransitions(effect)` opts an MPA into cross-document view\n * transitions (`@view-transition { navigation: auto }`) with the same look.\n * Reduced motion: plain short fades.\n */\nimport type { EffectContext, EffectDefinition } from '../fx/registry';\nimport { deprecate } from '../base';\nimport { registerEffects, getEffect } from '../fx/registry';\nimport { prefersReducedMotion } from '../base';\nimport { all, origin } from '../effects/shared';\n\nconst fade = (el: Element, ctx: EffectContext, out: boolean) => ctx.animate(el, out ? [{ opacity: 1 }, { opacity: 0 }] : [{ opacity: 0 }, { opacity: 1 }], { duration: 200, fill: out ? 'forwards' : 'none' });\nconst isOut = (o: any) => o.mode === 'out';\nconst dir = (frames: Keyframe[], out: boolean) => (out ? [...frames].reverse().map((f) => ({ ...f, offset: undefined as unknown as number })).map(({ offset, ...f }) => f) : frames);\n\n/** Clipped copies of `el` laid over it (the original is hidden meanwhile). */\nfunction pieces(el: HTMLElement, clips: string[]): { parts: HTMLElement[]; done: () => void } {\n if (getComputedStyle(el).position === 'static') el.style.position = 'relative';\n const prevVis = el.style.visibility;\n const wrap = document.createElement('div');\n wrap.setAttribute('aria-hidden', 'true');\n wrap.style.cssText = 'position:absolute;inset:0;pointer-events:none;perspective:900px;visibility:visible;z-index:1';\n const parts = clips.map((c) => {\n const p = el.cloneNode(true) as HTMLElement;\n p.removeAttribute('id');\n p.querySelectorAll('[id]').forEach((x) => x.removeAttribute('id'));\n p.style.cssText += `;position:absolute;inset:0;margin:0;width:100%;height:100%;box-sizing:border-box;clip-path:${c};visibility:visible`;\n wrap.appendChild(p);\n return p;\n });\n el.style.visibility = 'hidden';\n el.appendChild(wrap);\n return {\n parts,\n done: () => {\n wrap.remove();\n el.style.visibility = prevVis;\n },\n };\n}\n\nexport const TRANSITIONS2_FX: EffectDefinition[] = [\n {\n name: 'ripple-dissolve',\n kind: 'page',\n description: 'A circle with a ripple ring grows from the pointer (or `x` / `y` 0–1) and reveals (`mode: \"in\"`) or hides (`\"out\"`) the element.',\n defaults: { mode: 'in', duration: 900, x: 0.5, y: 0.5 },\n run: (el: HTMLElement, o: any, ctx: EffectContext) => {\n const out = isOut(o);\n if (ctx.reduced) return fade(el, ctx, out);\n const r = el.getBoundingClientRect();\n const p = ctx.event ? origin(el, ctx) : { x: r.left + r.width * o.x, y: r.top + r.height * o.y };\n const at = `${(p.x - r.left).toFixed(0)}px ${(p.y - r.top).toFixed(0)}px`;\n const f: Keyframe[] = [\n { clipPath: `circle(0% at ${at})`, filter: 'blur(2px)' },\n { clipPath: `circle(38% at ${at})`, filter: 'blur(0)', offset: 0.45 },\n { clipPath: `circle(150% at ${at})`, filter: 'blur(0)' },\n ];\n return ctx.animate(el, out ? [f[2], f[0]] : f, { duration: o.duration, easing: 'cubic-bezier(.6,.05,.3,1)', fill: out ? 'forwards' : 'none' });\n },\n },\n {\n name: 'shatter',\n kind: 'page',\n description: 'The element breaks into shards that fly apart (`mode: \"out\"`) or fly together (`\"in\"`) (`pieces`, `duration`).',\n defaults: { mode: 'out', duration: 900, pieces: 12 },\n run: (el: HTMLElement, o: any, ctx: EffectContext) => {\n const out = isOut(o);\n if (ctx.reduced) return fade(el, ctx, out);\n const n = Math.max(4, Math.min(24, o.pieces | 0));\n const cols = Math.ceil(Math.sqrt(n / 2));\n const rows = Math.ceil(n / 2 / cols);\n const clips: string[] = [];\n for (let r = 0; r < rows; r++)\n for (let c = 0; c < cols; c++) {\n const x0 = (c / cols) * 100;\n const x1 = ((c + 1) / cols) * 100;\n const y0 = (r / rows) * 100;\n const y1 = ((r + 1) / rows) * 100;\n clips.push(`polygon(${x0}% ${y0}%,${x1}% ${y0}%,${x0}% ${y1}%)`, `polygon(${x1}% ${y0}%,${x1}% ${y1}%,${x0}% ${y1}%)`);\n }\n const { parts, done } = pieces(el, clips);\n const anims = parts.map((p, i) => {\n const a = (i * 2.399) % (Math.PI * 2);\n const d = 80 + (i % 5) * 30;\n const scattered = { transform: `translate(${(Math.cos(a) * d).toFixed(0)}px,${(Math.sin(a) * d + 40).toFixed(0)}px) rotate(${((i % 7) - 3) * 35}deg) rotateX(${(i % 3) * 40}deg)`, opacity: 0 };\n const whole = { transform: 'none', opacity: 1 };\n return ctx.animate(p, out ? [whole, scattered] : [scattered, whole], { duration: o.duration, delay: (i % 6) * 25, easing: out ? 'cubic-bezier(.4,0,.9,.6)' : 'cubic-bezier(.1,.6,.3,1)', fill: 'both' });\n });\n return all(anims).then(() => {\n done();\n if (out) el.style.visibility = 'hidden';\n });\n },\n },\n {\n name: 'mosaic-flip',\n kind: 'page',\n description: 'A grid of tiles flips over in a diagonal wave (`cols`, `rows`, `duration` per tile).',\n defaults: { mode: 'in', cols: 6, rows: 4, duration: 520 },\n run: (el: HTMLElement, o: any, ctx: EffectContext) => {\n const out = isOut(o);\n if (ctx.reduced) return fade(el, ctx, out);\n const C = Math.max(2, Math.min(12, o.cols | 0));\n const R = Math.max(2, Math.min(10, o.rows | 0));\n const clips: string[] = [];\n for (let r = 0; r < R; r++) for (let c = 0; c < C; c++) clips.push(`inset(${((r / R) * 100).toFixed(2)}% ${(100 - ((c + 1) / C) * 100).toFixed(2)}% ${(100 - ((r + 1) / R) * 100).toFixed(2)}% ${((c / C) * 100).toFixed(2)}%)`);\n const { parts, done } = pieces(el, clips);\n const anims = parts.map((p, i) => {\n const r = Math.floor(i / C);\n const c = i % C;\n p.style.transformOrigin = `${((c + 0.5) / C) * 100}% ${((r + 0.5) / R) * 100}%`;\n p.style.backfaceVisibility = 'hidden';\n const f: Keyframe[] = [{ transform: 'rotateY(-90deg)', opacity: 0 }, { transform: 'rotateY(0)', opacity: 1 }];\n return ctx.animate(p, out ? [f[1], f[0]] : f, { duration: o.duration, delay: (r + c) * 45, easing: 'cubic-bezier(.3,.7,.3,1)', fill: 'both' });\n });\n return all(anims).then(() => {\n done();\n if (out) el.style.visibility = 'hidden';\n });\n },\n },\n {\n name: 'liquid-wipe',\n kind: 'page',\n description: 'A wavy liquid edge sweeps across the element (`direction` left | right | up | down, `waves`, `duration`).',\n defaults: { mode: 'in', direction: 'right', waves: 3, duration: 1000 },\n run: (el: HTMLElement, o: any, ctx: EffectContext) => {\n const out = isOut(o);\n if (ctx.reduced) return fade(el, ctx, out);\n const N = 24;\n const shape = (k: number) => {\n const pts: string[] = [];\n const amp = 6 * Math.sin(Math.PI * k);\n for (let i = 0; i <= N; i++) {\n const t = (i / N) * 100;\n const edge = k * 120 - 10 + amp * Math.sin((i / N) * Math.PI * 2 * o.waves + k * 6);\n pts.push(o.direction === 'up' || o.direction === 'down' ? `${t.toFixed(1)}% ${(o.direction === 'down' ? edge : 100 - edge).toFixed(1)}%` : `${(o.direction === 'left' ? 100 - edge : edge).toFixed(1)}% ${t.toFixed(1)}%`);\n }\n const tail = o.direction === 'up' ? ['100% 100%', '0% 100%'] : o.direction === 'down' ? ['100% 0%', '0% 0%'] : o.direction === 'left' ? ['100% 100%', '100% 0%'] : ['0% 100%', '0% 0%'];\n if (o.direction === 'up' || o.direction === 'down') return `polygon(${[...pts, ...tail].join(',')})`;\n return `polygon(${[...pts, ...tail].join(',')})`;\n };\n const frames: Keyframe[] = Array.from({ length: 9 }, (_, i) => ({ clipPath: shape(i / 8) }));\n return ctx.animate(el, out ? frames.reverse() : frames, { duration: o.duration, easing: 'cubic-bezier(.65,.05,.35,1)', fill: out ? 'forwards' : 'none' });\n },\n },\n {\n name: 'page-curl',\n kind: 'page',\n description: 'The element turns like a page around its left edge, with a moving shade (`duration`).',\n defaults: { mode: 'in', duration: 900 },\n run: (el: HTMLElement, o: any, ctx: EffectContext) => {\n const out = isOut(o);\n if (ctx.reduced) return fade(el, ctx, out);\n const prev = el.style.transformOrigin;\n el.style.transformOrigin = '0% 50%';\n const f: Keyframe[] = [\n { transform: 'perspective(1400px) rotateY(-100deg) skewY(-4deg)', filter: 'brightness(.55)', boxShadow: '30px 0 40px rgba(0,0,0,.35)', opacity: 0.4 },\n { transform: 'perspective(1400px) rotateY(-40deg) skewY(-2deg)', filter: 'brightness(.8)', boxShadow: '20px 0 30px rgba(0,0,0,.25)', opacity: 1, offset: 0.5 },\n { transform: 'perspective(1400px) rotateY(0) skewY(0)', filter: 'brightness(1)', boxShadow: '0 0 0 rgba(0,0,0,0)', opacity: 1 },\n ];\n const a = ctx.animate(el, dir(f, out), { duration: o.duration, easing: 'cubic-bezier(.45,.05,.3,1)', fill: out ? 'forwards' : 'none' });\n const reset = () => (el.style.transformOrigin = prev);\n if (a) a.finished.then(reset, reset);\n else reset();\n return a;\n },\n },\n {\n name: 'camera-dolly',\n kind: 'page',\n description: 'A dolly zoom: the element moves in from (or out to) depth with a depth-of-field blur (`scale`, `duration`).',\n defaults: { mode: 'in', duration: 900, scale: 1.35 },\n run: (el: HTMLElement, o: any, ctx: EffectContext) => {\n const out = isOut(o);\n if (ctx.reduced) return fade(el, ctx, out);\n const f: Keyframe[] = [\n { transform: `perspective(900px) translateZ(-260px) scale(${o.scale})`, filter: 'blur(10px)', opacity: 0 },\n { transform: 'perspective(900px) translateZ(0) scale(1)', filter: 'blur(0)', opacity: 1 },\n ];\n return ctx.animate(el, out ? [f[1], { ...f[0], transform: `perspective(900px) translateZ(260px) scale(${(1 / o.scale).toFixed(3)})` }] : f, { duration: o.duration, easing: 'cubic-bezier(.2,.7,.2,1)', fill: out ? 'forwards' : 'none' });\n },\n },\n];\n\n/** CSS keyframes for the `::view-transition-new(root)` snapshot of each effect (cross-document transitions). */\nconst VT_CSS: Record<string, string> = {\n 'ripple-dissolve': 'from{clip-path:circle(0% at 50% 50%)}to{clip-path:circle(150% at 50% 50%)}',\n 'liquid-wipe': 'from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}',\n 'page-curl': 'from{transform:perspective(1400px) rotateY(-100deg);transform-origin:0 50%;filter:brightness(.6)}to{transform:none;transform-origin:0 50%}',\n 'camera-dolly': 'from{transform:scale(1.35);filter:blur(10px);opacity:0}to{transform:none;filter:none;opacity:1}',\n 'mosaic-flip': 'from{transform:perspective(900px) rotateY(-90deg);opacity:0}to{transform:none;opacity:1}',\n shatter: 'from{transform:scale(.85) rotate(-3deg);opacity:0;filter:blur(4px)}to{transform:none;opacity:1;filter:none}',\n};\n\n/**\n * Run `update` (a DOM change) as a transition: inside `document.startViewTransition`\n * when supported (the new snapshot plays `effect`), otherwise `update()` then the\n * effect on `target` (default `document.body`'s first element).\n */\nexport async function pageTransition(update: () => void | Promise<void>, effect = 'ripple-dissolve', options: Record<string, unknown> = {}, target?: HTMLElement): Promise<void> {\n const doc = document as Document & { startViewTransition?: (cb: () => unknown) => { ready: Promise<void>; finished: Promise<void> } };\n const def = getEffect(effect);\n if (typeof doc.startViewTransition === 'function' && !prefersReducedMotion()) {\n const vt = doc.startViewTransition(update);\n await vt.ready.catch(() => undefined);\n const css = VT_CSS[effect];\n if (css) {\n const dur = Number(options.duration) || Number(def?.defaults?.duration) || 800;\n const m = /from\\{([^}]*)\\}to\\{([^}]*)\\}/.exec(css);\n const toObj = (s: string) => Object.fromEntries(s.split(';').filter(Boolean).map((d) => { const i = d.indexOf(':'); return [d.slice(0, i).replace(/-([a-z])/g, (_, c) => c.toUpperCase()), d.slice(i + 1)]; }));\n if (m) document.documentElement.animate([toObj(m[1]), toObj(m[2])], { duration: dur, easing: 'cubic-bezier(.6,.05,.3,1)', pseudoElement: '::view-transition-new(root)' } as KeyframeAnimationOptions);\n }\n await vt.finished.catch(() => undefined);\n return;\n }\n await update();\n const el = target || (document.body.firstElementChild as HTMLElement | null);\n if (el && def) {\n const { playEffect } = await import('../fx/registry');\n await playEffect(el, effect, { ...options, mode: 'in' });\n }\n}\n\n/** Opt a multi-page site into cross-document view transitions with an effect's look. Returns a remover. */\nexport function crossDocumentTransitions(effect = 'ripple-dissolve', duration = 700): () => void {\n const style = document.createElement('style');\n style.setAttribute('data-usa-vt', effect);\n const kf = VT_CSS[effect] || VT_CSS['camera-dolly'];\n style.textContent = `@view-transition{navigation:auto}@keyframes usa-vt-in{${kf}}::view-transition-new(root){animation:usa-vt-in ${duration}ms cubic-bezier(.6,.05,.3,1) both}::view-transition-old(root){animation:none}@media (prefers-reduced-motion:reduce){::view-transition-new(root){animation-duration:1ms}}`;\n document.head.appendChild(style);\n return () => style.remove();\n}\n\n/** Register the 6.7 transitions pack (idempotent). */\nexport function registerTransitionsPack(): void {\n registerEffects(TRANSITIONS2_FX);\n}\n\n/** @deprecated since 6.9 — use `registerTransitionsPack()` (removed in 7.0; `npx usa-codemod-7`). */\nexport function registerTransitionEffects2(): void {\n deprecate('registerTransitionEffects2', 'registerTransitionEffects2() is deprecated since 6.9 and removed in 7.0 — use registerTransitionsPack() (npx usa-codemod-7).');\n registerTransitionsPack();\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fx-transitions.js","sources":["../../src/components/fx2/transitions2.ts"],"sourcesContent":["/**\n * 6.7 — Transitions 2.0 (`motionary/components/fx-transitions`), registered\n * through `registerEffect()` (kind `page`; option `mode: 'in' | 'out'`):\n *\n * - `ripple-dissolve` — a circle with a ripple ring grows from the pointer\n * (or `x` / `y` 0–1) and reveals / hides the element.\n * - `shatter` — the element breaks into shards that fly apart (out) or\n * fly together (in).\n * - `mosaic-flip` — a grid of tiles flips over in a diagonal wave.\n * - `liquid-wipe` — a wavy liquid edge sweeps across.\n * - `page-curl` — the element turns like a page around its left edge.\n * - `camera-dolly` — a dolly zoom: scale + depth blur + fade.\n *\n * `pageTransition(update, effect)` runs a DOM update inside the View\n * Transitions API (when available) and plays the effect on the new snapshot;\n * without the API it runs `update()` and plays the effect on `target`.\n * `crossDocumentTransitions(effect)` opts an MPA into cross-document view\n * transitions (`@view-transition { navigation: auto }`) with the same look.\n * Reduced motion: plain short fades.\n */\nimport type { EffectContext, EffectDefinition } from '../fx/registry';\nimport { registerEffects, getEffect } from '../fx/registry';\nimport { prefersReducedMotion } from '../base';\nimport { all, origin } from '../effects/shared';\n\nconst fade = (el: Element, ctx: EffectContext, out: boolean) => ctx.animate(el, out ? [{ opacity: 1 }, { opacity: 0 }] : [{ opacity: 0 }, { opacity: 1 }], { duration: 200, fill: out ? 'forwards' : 'none' });\nconst isOut = (o: any) => o.mode === 'out';\nconst dir = (frames: Keyframe[], out: boolean) => (out ? [...frames].reverse().map((f) => ({ ...f, offset: undefined as unknown as number })).map(({ offset, ...f }) => f) : frames);\n\n/** Clipped copies of `el` laid over it (the original is hidden meanwhile). */\nfunction pieces(el: HTMLElement, clips: string[]): { parts: HTMLElement[]; done: () => void } {\n if (getComputedStyle(el).position === 'static') el.style.position = 'relative';\n const prevVis = el.style.visibility;\n const wrap = document.createElement('div');\n wrap.setAttribute('aria-hidden', 'true');\n wrap.style.cssText = 'position:absolute;inset:0;pointer-events:none;perspective:900px;visibility:visible;z-index:1';\n const parts = clips.map((c) => {\n const p = el.cloneNode(true) as HTMLElement;\n p.removeAttribute('id');\n p.querySelectorAll('[id]').forEach((x) => x.removeAttribute('id'));\n p.style.cssText += `;position:absolute;inset:0;margin:0;width:100%;height:100%;box-sizing:border-box;clip-path:${c};visibility:visible`;\n wrap.appendChild(p);\n return p;\n });\n el.style.visibility = 'hidden';\n el.appendChild(wrap);\n return {\n parts,\n done: () => {\n wrap.remove();\n el.style.visibility = prevVis;\n },\n };\n}\n\nexport const TRANSITIONS2_FX: EffectDefinition[] = [\n {\n name: 'ripple-dissolve',\n kind: 'page',\n description: 'A circle with a ripple ring grows from the pointer (or `x` / `y` 0–1) and reveals (`mode: \"in\"`) or hides (`\"out\"`) the element.',\n defaults: { mode: 'in', duration: 900, x: 0.5, y: 0.5 },\n run: (el: HTMLElement, o: any, ctx: EffectContext) => {\n const out = isOut(o);\n if (ctx.reduced) return fade(el, ctx, out);\n const r = el.getBoundingClientRect();\n const p = ctx.event ? origin(el, ctx) : { x: r.left + r.width * o.x, y: r.top + r.height * o.y };\n const at = `${(p.x - r.left).toFixed(0)}px ${(p.y - r.top).toFixed(0)}px`;\n const f: Keyframe[] = [\n { clipPath: `circle(0% at ${at})`, filter: 'blur(2px)' },\n { clipPath: `circle(38% at ${at})`, filter: 'blur(0)', offset: 0.45 },\n { clipPath: `circle(150% at ${at})`, filter: 'blur(0)' },\n ];\n return ctx.animate(el, out ? [f[2], f[0]] : f, { duration: o.duration, easing: 'cubic-bezier(.6,.05,.3,1)', fill: out ? 'forwards' : 'none' });\n },\n },\n {\n name: 'shatter',\n kind: 'page',\n description: 'The element breaks into shards that fly apart (`mode: \"out\"`) or fly together (`\"in\"`) (`pieces`, `duration`).',\n defaults: { mode: 'out', duration: 900, pieces: 12 },\n run: (el: HTMLElement, o: any, ctx: EffectContext) => {\n const out = isOut(o);\n if (ctx.reduced) return fade(el, ctx, out);\n const n = Math.max(4, Math.min(24, o.pieces | 0));\n const cols = Math.ceil(Math.sqrt(n / 2));\n const rows = Math.ceil(n / 2 / cols);\n const clips: string[] = [];\n for (let r = 0; r < rows; r++)\n for (let c = 0; c < cols; c++) {\n const x0 = (c / cols) * 100;\n const x1 = ((c + 1) / cols) * 100;\n const y0 = (r / rows) * 100;\n const y1 = ((r + 1) / rows) * 100;\n clips.push(`polygon(${x0}% ${y0}%,${x1}% ${y0}%,${x0}% ${y1}%)`, `polygon(${x1}% ${y0}%,${x1}% ${y1}%,${x0}% ${y1}%)`);\n }\n const { parts, done } = pieces(el, clips);\n const anims = parts.map((p, i) => {\n const a = (i * 2.399) % (Math.PI * 2);\n const d = 80 + (i % 5) * 30;\n const scattered = { transform: `translate(${(Math.cos(a) * d).toFixed(0)}px,${(Math.sin(a) * d + 40).toFixed(0)}px) rotate(${((i % 7) - 3) * 35}deg) rotateX(${(i % 3) * 40}deg)`, opacity: 0 };\n const whole = { transform: 'none', opacity: 1 };\n return ctx.animate(p, out ? [whole, scattered] : [scattered, whole], { duration: o.duration, delay: (i % 6) * 25, easing: out ? 'cubic-bezier(.4,0,.9,.6)' : 'cubic-bezier(.1,.6,.3,1)', fill: 'both' });\n });\n return all(anims).then(() => {\n done();\n if (out) el.style.visibility = 'hidden';\n });\n },\n },\n {\n name: 'mosaic-flip',\n kind: 'page',\n description: 'A grid of tiles flips over in a diagonal wave (`cols`, `rows`, `duration` per tile).',\n defaults: { mode: 'in', cols: 6, rows: 4, duration: 520 },\n run: (el: HTMLElement, o: any, ctx: EffectContext) => {\n const out = isOut(o);\n if (ctx.reduced) return fade(el, ctx, out);\n const C = Math.max(2, Math.min(12, o.cols | 0));\n const R = Math.max(2, Math.min(10, o.rows | 0));\n const clips: string[] = [];\n for (let r = 0; r < R; r++) for (let c = 0; c < C; c++) clips.push(`inset(${((r / R) * 100).toFixed(2)}% ${(100 - ((c + 1) / C) * 100).toFixed(2)}% ${(100 - ((r + 1) / R) * 100).toFixed(2)}% ${((c / C) * 100).toFixed(2)}%)`);\n const { parts, done } = pieces(el, clips);\n const anims = parts.map((p, i) => {\n const r = Math.floor(i / C);\n const c = i % C;\n p.style.transformOrigin = `${((c + 0.5) / C) * 100}% ${((r + 0.5) / R) * 100}%`;\n p.style.backfaceVisibility = 'hidden';\n const f: Keyframe[] = [{ transform: 'rotateY(-90deg)', opacity: 0 }, { transform: 'rotateY(0)', opacity: 1 }];\n return ctx.animate(p, out ? [f[1], f[0]] : f, { duration: o.duration, delay: (r + c) * 45, easing: 'cubic-bezier(.3,.7,.3,1)', fill: 'both' });\n });\n return all(anims).then(() => {\n done();\n if (out) el.style.visibility = 'hidden';\n });\n },\n },\n {\n name: 'liquid-wipe',\n kind: 'page',\n description: 'A wavy liquid edge sweeps across the element (`direction` left | right | up | down, `waves`, `duration`).',\n defaults: { mode: 'in', direction: 'right', waves: 3, duration: 1000 },\n run: (el: HTMLElement, o: any, ctx: EffectContext) => {\n const out = isOut(o);\n if (ctx.reduced) return fade(el, ctx, out);\n const N = 24;\n const shape = (k: number) => {\n const pts: string[] = [];\n const amp = 6 * Math.sin(Math.PI * k);\n for (let i = 0; i <= N; i++) {\n const t = (i / N) * 100;\n const edge = k * 120 - 10 + amp * Math.sin((i / N) * Math.PI * 2 * o.waves + k * 6);\n pts.push(o.direction === 'up' || o.direction === 'down' ? `${t.toFixed(1)}% ${(o.direction === 'down' ? edge : 100 - edge).toFixed(1)}%` : `${(o.direction === 'left' ? 100 - edge : edge).toFixed(1)}% ${t.toFixed(1)}%`);\n }\n const tail = o.direction === 'up' ? ['100% 100%', '0% 100%'] : o.direction === 'down' ? ['100% 0%', '0% 0%'] : o.direction === 'left' ? ['100% 100%', '100% 0%'] : ['0% 100%', '0% 0%'];\n if (o.direction === 'up' || o.direction === 'down') return `polygon(${[...pts, ...tail].join(',')})`;\n return `polygon(${[...pts, ...tail].join(',')})`;\n };\n const frames: Keyframe[] = Array.from({ length: 9 }, (_, i) => ({ clipPath: shape(i / 8) }));\n return ctx.animate(el, out ? frames.reverse() : frames, { duration: o.duration, easing: 'cubic-bezier(.65,.05,.35,1)', fill: out ? 'forwards' : 'none' });\n },\n },\n {\n name: 'page-curl',\n kind: 'page',\n description: 'The element turns like a page around its left edge, with a moving shade (`duration`).',\n defaults: { mode: 'in', duration: 900 },\n run: (el: HTMLElement, o: any, ctx: EffectContext) => {\n const out = isOut(o);\n if (ctx.reduced) return fade(el, ctx, out);\n const prev = el.style.transformOrigin;\n el.style.transformOrigin = '0% 50%';\n const f: Keyframe[] = [\n { transform: 'perspective(1400px) rotateY(-100deg) skewY(-4deg)', filter: 'brightness(.55)', boxShadow: '30px 0 40px rgba(0,0,0,.35)', opacity: 0.4 },\n { transform: 'perspective(1400px) rotateY(-40deg) skewY(-2deg)', filter: 'brightness(.8)', boxShadow: '20px 0 30px rgba(0,0,0,.25)', opacity: 1, offset: 0.5 },\n { transform: 'perspective(1400px) rotateY(0) skewY(0)', filter: 'brightness(1)', boxShadow: '0 0 0 rgba(0,0,0,0)', opacity: 1 },\n ];\n const a = ctx.animate(el, dir(f, out), { duration: o.duration, easing: 'cubic-bezier(.45,.05,.3,1)', fill: out ? 'forwards' : 'none' });\n const reset = () => (el.style.transformOrigin = prev);\n if (a) a.finished.then(reset, reset);\n else reset();\n return a;\n },\n },\n {\n name: 'camera-dolly',\n kind: 'page',\n description: 'A dolly zoom: the element moves in from (or out to) depth with a depth-of-field blur (`scale`, `duration`).',\n defaults: { mode: 'in', duration: 900, scale: 1.35 },\n run: (el: HTMLElement, o: any, ctx: EffectContext) => {\n const out = isOut(o);\n if (ctx.reduced) return fade(el, ctx, out);\n const f: Keyframe[] = [\n { transform: `perspective(900px) translateZ(-260px) scale(${o.scale})`, filter: 'blur(10px)', opacity: 0 },\n { transform: 'perspective(900px) translateZ(0) scale(1)', filter: 'blur(0)', opacity: 1 },\n ];\n return ctx.animate(el, out ? [f[1], { ...f[0], transform: `perspective(900px) translateZ(260px) scale(${(1 / o.scale).toFixed(3)})` }] : f, { duration: o.duration, easing: 'cubic-bezier(.2,.7,.2,1)', fill: out ? 'forwards' : 'none' });\n },\n },\n];\n\n/** CSS keyframes for the `::view-transition-new(root)` snapshot of each effect (cross-document transitions). */\nconst VT_CSS: Record<string, string> = {\n 'ripple-dissolve': 'from{clip-path:circle(0% at 50% 50%)}to{clip-path:circle(150% at 50% 50%)}',\n 'liquid-wipe': 'from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}',\n 'page-curl': 'from{transform:perspective(1400px) rotateY(-100deg);transform-origin:0 50%;filter:brightness(.6)}to{transform:none;transform-origin:0 50%}',\n 'camera-dolly': 'from{transform:scale(1.35);filter:blur(10px);opacity:0}to{transform:none;filter:none;opacity:1}',\n 'mosaic-flip': 'from{transform:perspective(900px) rotateY(-90deg);opacity:0}to{transform:none;opacity:1}',\n shatter: 'from{transform:scale(.85) rotate(-3deg);opacity:0;filter:blur(4px)}to{transform:none;opacity:1;filter:none}',\n};\n\n/**\n * Run `update` (a DOM change) as a transition: inside `document.startViewTransition`\n * when supported (the new snapshot plays `effect`), otherwise `update()` then the\n * effect on `target` (default `document.body`'s first element).\n */\nexport async function pageTransition(update: () => void | Promise<void>, effect = 'ripple-dissolve', options: Record<string, unknown> = {}, target?: HTMLElement): Promise<void> {\n const doc = document as Document & { startViewTransition?: (cb: () => unknown) => { ready: Promise<void>; finished: Promise<void> } };\n const def = getEffect(effect);\n if (typeof doc.startViewTransition === 'function' && !prefersReducedMotion()) {\n const vt = doc.startViewTransition(update);\n await vt.ready.catch(() => undefined);\n const css = VT_CSS[effect];\n if (css) {\n const dur = Number(options.duration) || Number(def?.defaults?.duration) || 800;\n const m = /from\\{([^}]*)\\}to\\{([^}]*)\\}/.exec(css);\n const toObj = (s: string) => Object.fromEntries(s.split(';').filter(Boolean).map((d) => { const i = d.indexOf(':'); return [d.slice(0, i).replace(/-([a-z])/g, (_, c) => c.toUpperCase()), d.slice(i + 1)]; }));\n if (m) document.documentElement.animate([toObj(m[1]), toObj(m[2])], { duration: dur, easing: 'cubic-bezier(.6,.05,.3,1)', pseudoElement: '::view-transition-new(root)' } as KeyframeAnimationOptions);\n }\n await vt.finished.catch(() => undefined);\n return;\n }\n await update();\n const el = target || (document.body.firstElementChild as HTMLElement | null);\n if (el && def) {\n const { playEffect } = await import('../fx/registry');\n await playEffect(el, effect, { ...options, mode: 'in' });\n }\n}\n\n/** Opt a multi-page site into cross-document view transitions with an effect's look. Returns a remover. */\nexport function crossDocumentTransitions(effect = 'ripple-dissolve', duration = 700): () => void {\n const style = document.createElement('style');\n style.setAttribute('data-usa-vt', effect);\n const kf = VT_CSS[effect] || VT_CSS['camera-dolly'];\n style.textContent = `@view-transition{navigation:auto}@keyframes usa-vt-in{${kf}}::view-transition-new(root){animation:usa-vt-in ${duration}ms cubic-bezier(.6,.05,.3,1) both}::view-transition-old(root){animation:none}@media (prefers-reduced-motion:reduce){::view-transition-new(root){animation-duration:1ms}}`;\n document.head.appendChild(style);\n return () => style.remove();\n}\n\n/** Register the 6.7 transitions pack (idempotent). */\nexport function registerTransitionsPack(): void {\n registerEffects(TRANSITIONS2_FX);\n}\n\n"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var base = require('../chunks/base-BaQV-2ha.cjs');
4
3
  var registry = require('../chunks/registry-DehBVRDV.cjs');
5
4
  var generative = require('../chunks/generative-BHIj-NU0.cjs');
6
5
  var shared = require('../chunks/shared-jkgRH-Hx.cjs');
6
+ require('../chunks/base-BaQV-2ha.cjs');
7
7
 
8
8
  const bg = (name, description, defaults, spec) => ({
9
9
  name,
@@ -258,14 +258,8 @@ const WEATHER_FX = [
258
258
  function registerWeatherPack() {
259
259
  registry.registerEffects(WEATHER_FX);
260
260
  }
261
- /** @deprecated since 6.9 — use `registerWeatherPack()` (removed in 7.0; `npx usa-codemod-7`). */
262
- function registerWeatherEffects() {
263
- base.deprecate('registerWeatherEffects', 'registerWeatherEffects() is deprecated since 6.9 and removed in 7.0 — use registerWeatherPack() (npx usa-codemod-7).');
264
- registerWeatherPack();
265
- }
266
261
 
267
262
  exports.WEATHER_FX = WEATHER_FX;
268
- exports.registerWeatherEffects = registerWeatherEffects;
269
263
  exports.registerWeatherPack = registerWeatherPack;
270
264
  exports.skyAt = skyAt;
271
265
  //# sourceMappingURL=fx-weather.cjs.map