use-scroll-animate 6.1.1 → 6.3.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 (114) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/dist/chunks/{base-Yno7N2eC.js → base-DchG4q_S.js} +2 -2
  3. package/dist/chunks/{base-Yno7N2eC.js.map → base-DchG4q_S.js.map} +1 -1
  4. package/dist/chunks/{core-BIOaYdgN.js → core-D2vF8kZb.js} +2 -2
  5. package/dist/chunks/{core-BIOaYdgN.js.map → core-D2vF8kZb.js.map} +1 -1
  6. package/dist/chunks/{core-CUGCsMsJ.js → core-DVyTlo9Q.js} +2 -2
  7. package/dist/chunks/{core-CUGCsMsJ.js.map → core-DVyTlo9Q.js.map} +1 -1
  8. package/dist/chunks/{fx-BqDeFywO.js → fx-DUMVKSvg.js} +2 -2
  9. package/dist/chunks/{fx-BqDeFywO.js.map → fx-DUMVKSvg.js.map} +1 -1
  10. package/dist/chunks/generative-BHIj-NU0.cjs +295 -0
  11. package/dist/chunks/generative-BHIj-NU0.cjs.map +1 -0
  12. package/dist/chunks/generative-BRUZaIsX.js +290 -0
  13. package/dist/chunks/generative-BRUZaIsX.js.map +1 -0
  14. package/dist/chunks/gpu-BBRLgEzM.cjs +388 -0
  15. package/dist/chunks/gpu-BBRLgEzM.cjs.map +1 -0
  16. package/dist/chunks/gpu-XHWzeNb5.js +381 -0
  17. package/dist/chunks/gpu-XHWzeNb5.js.map +1 -0
  18. package/dist/chunks/registry-Bu5NrAyA.js +121 -0
  19. package/dist/chunks/registry-Bu5NrAyA.js.map +1 -0
  20. package/dist/chunks/registry-DehBVRDV.cjs +131 -0
  21. package/dist/chunks/registry-DehBVRDV.cjs.map +1 -0
  22. package/dist/chunks/shared-eweTlzxv.js +50 -0
  23. package/dist/chunks/shared-eweTlzxv.js.map +1 -0
  24. package/dist/chunks/shared-jkgRH-Hx.cjs +58 -0
  25. package/dist/chunks/shared-jkgRH-Hx.cjs.map +1 -0
  26. package/dist/chunks/{spring-DfQO5USi.js → spring-BhoT09Qb.js} +2 -2
  27. package/dist/chunks/{spring-DfQO5USi.js.map → spring-BhoT09Qb.js.map} +1 -1
  28. package/dist/chunks/{variants-VNscPeTD.js → variants-C_hv_s23.js} +2 -2
  29. package/dist/chunks/{variants-VNscPeTD.js.map → variants-C_hv_s23.js.map} +1 -1
  30. package/dist/components/a11y.js +2 -2
  31. package/dist/components/angular.cjs +1 -0
  32. package/dist/components/angular.cjs.map +1 -1
  33. package/dist/components/angular.js +7 -6
  34. package/dist/components/angular.js.map +1 -1
  35. package/dist/components/background.js +2 -2
  36. package/dist/components/bridge.js +1 -1
  37. package/dist/components/cards.js +2 -2
  38. package/dist/components/click.js +3 -3
  39. package/dist/components/depth.js +3 -3
  40. package/dist/components/effects.cjs +72 -403
  41. package/dist/components/effects.cjs.map +1 -1
  42. package/dist/components/effects.js +9 -339
  43. package/dist/components/effects.js.map +1 -1
  44. package/dist/components/feedback.js +1 -1
  45. package/dist/components/fx-gpu.cjs +13 -0
  46. package/dist/components/fx-gpu.cjs.map +1 -0
  47. package/dist/components/fx-gpu.d.cts +63 -0
  48. package/dist/components/fx-gpu.d.ts +63 -0
  49. package/dist/components/fx-gpu.js +6 -0
  50. package/dist/components/fx-gpu.js.map +1 -0
  51. package/dist/components/fx-text.cjs +267 -0
  52. package/dist/components/fx-text.cjs.map +1 -0
  53. package/dist/components/fx-text.d.cts +70 -0
  54. package/dist/components/fx-text.d.ts +70 -0
  55. package/dist/components/fx-text.js +263 -0
  56. package/dist/components/fx-text.js.map +1 -0
  57. package/dist/components/fx.cjs +13 -133
  58. package/dist/components/fx.cjs.map +1 -1
  59. package/dist/components/fx.js +6 -125
  60. package/dist/components/fx.js.map +1 -1
  61. package/dist/components/fx2.cjs +32 -0
  62. package/dist/components/fx2.cjs.map +1 -0
  63. package/dist/components/fx2.d.cts +162 -0
  64. package/dist/components/fx2.d.ts +162 -0
  65. package/dist/components/fx2.js +22 -0
  66. package/dist/components/fx2.js.map +1 -0
  67. package/dist/components/gesture.js +4 -4
  68. package/dist/components/interaction.js +1 -1
  69. package/dist/components/layout.js +1 -1
  70. package/dist/components/lite.cjs +5 -9
  71. package/dist/components/lite.cjs.map +1 -1
  72. package/dist/components/lite.js +5 -9
  73. package/dist/components/lite.js.map +1 -1
  74. package/dist/components/packs.js +1 -1
  75. package/dist/components/page.js +3 -3
  76. package/dist/components/perf.js +2 -2
  77. package/dist/components/physics.js +3 -3
  78. package/dist/components/reveal.js +1 -1
  79. package/dist/components/solid.cjs +1 -0
  80. package/dist/components/solid.cjs.map +1 -1
  81. package/dist/components/solid.js +7 -6
  82. package/dist/components/solid.js.map +1 -1
  83. package/dist/components/svelte.cjs +1 -0
  84. package/dist/components/svelte.cjs.map +1 -1
  85. package/dist/components/svelte.js +7 -6
  86. package/dist/components/svelte.js.map +1 -1
  87. package/dist/components/svg.js +1 -1
  88. package/dist/components/text.js +2 -2
  89. package/dist/components/timeline.js +3 -3
  90. package/dist/components/transitions.js +1 -1
  91. package/dist/components/ui.js +4 -4
  92. package/dist/components/vue.cjs +1 -0
  93. package/dist/components/vue.cjs.map +1 -1
  94. package/dist/components/vue.js +7 -6
  95. package/dist/components/vue.js.map +1 -1
  96. package/dist/components/webgl.js +1 -1
  97. package/dist/components/widgets.cjs +1174 -0
  98. package/dist/components/widgets.cjs.map +1 -0
  99. package/dist/components/widgets.d.cts +206 -0
  100. package/dist/components/widgets.d.ts +206 -0
  101. package/dist/components/widgets.js +1155 -0
  102. package/dist/components/widgets.js.map +1 -0
  103. package/dist/components.cjs +10 -9
  104. package/dist/components.cjs.map +1 -1
  105. package/dist/components.js +10 -9
  106. package/dist/components.js.map +1 -1
  107. package/dist/components.umd.js +2 -2
  108. package/dist/components.umd.js.map +1 -1
  109. package/dist/index.js +2 -2
  110. package/dist/widgets.umd.js +2 -0
  111. package/dist/widgets.umd.js.map +1 -0
  112. package/docs/ROADMAP.md +10 -11
  113. package/docs/components.md +61 -0
  114. package/package.json +41 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widgets.cjs","sources":["../../src/components/widgets/shared.ts","../../src/components/widgets/carousel.ts","../../src/components/widgets/tab-bar.ts","../../src/components/widgets/disclosure.ts","../../src/components/widgets/stories.ts","../../src/components/widgets/overlay.ts","../../src/components/widgets/toast.ts","../../src/components/widgets/menu.ts","../../src/components/widgets/index.ts"],"sourcesContent":["/** Helpers shared by the 6.x widgets (`motionary/components/widgets`). */\nexport const clampN = (v: number, a: number, b: number): number => Math.min(b, Math.max(a, v));\n\n/** Children of `el` that are elements and not created by the widget itself. */\nexport const ownChildren = (el: Element, skip = '[data-usa-part]'): HTMLElement[] =>\n Array.from(el.children).filter((c): c is HTMLElement => c instanceof HTMLElement && !c.matches(skip));\n\n/** Create a part element (marked so re-mounts can find / skip it). */\nexport function part<K extends keyof HTMLElementTagNameMap>(tag: K, cls: string, attrs: Record<string, string> = {}, html = ''): HTMLElementTagNameMap[K] {\n const n = document.createElement(tag);\n n.className = cls;\n n.setAttribute('data-usa-part', '');\n for (const [k, v] of Object.entries(attrs)) n.setAttribute(k, v);\n if (html) n.innerHTML = html;\n return n;\n}\n\n/** Remove the parts a previous mount created. */\nexport const dropParts = (el: Element): void => el.querySelectorAll(':scope > [data-usa-part]').forEach((n) => n.remove());\n\nlet uid = 0;\n/** A document-unique id with a prefix. */\nexport const nextId = (p: string): string => `${p}-${++uid}`;\n\n/** Roving arrow-key focus over `items` (horizontal or vertical); returns the new index or -1. */\nexport function arrowIndex(e: KeyboardEvent, i: number, n: number, vertical = false): number {\n const prev = vertical ? 'ArrowUp' : 'ArrowLeft';\n const next = vertical ? 'ArrowDown' : 'ArrowRight';\n if (e.key === prev) return (i - 1 + n) % n;\n if (e.key === next) return (i + 1) % n;\n if (e.key === 'Home') return 0;\n if (e.key === 'End') return n - 1;\n return -1;\n}\n","import { defineElement, type UsaElement } from '../base';\nimport { clampN, ownChildren, part, dropParts } from './shared';\nimport css from './carousel.css?raw';\n\n/**\n * `<usa-carousel>` (6.2) — swipeable carousel / slider. Each child is a slide.\n * Attributes: `effect` (`slide` · `fade` · `scale` · `cards` — 3D coverflow),\n * `autoplay` (ms; pauses on hover, focus, when off screen and under reduced\n * motion), `loop`, `index`, `label` (\"Carousel\"), `no-controls`, `no-dots`.\n * Drag / swipe with a pointer, arrow keys when focused. API: `next()`,\n * `prev()`, `goTo(i)`, `index`, `length`. Events: `usa:change` (`{ index, from }`).\n * Reduced motion: slides switch without movement.\n */\nexport interface UsaCarouselElement extends UsaElement {\n index: number;\n readonly length: number;\n next(): void;\n prev(): void;\n goTo(i: number): void;\n}\n\nexport const CAROUSEL_EFFECTS = ['slide', 'fade', 'scale', 'cards'] as const;\n\nexport function defineCarousel(tag = 'usa-carousel'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) => {\n class UsaCarousel extends Base {\n static get observedAttributes(): string[] {\n return ['effect', 'autoplay', 'loop', 'no-controls', 'no-dots'];\n }\n private _i = 0;\n private _slides: HTMLElement[] = [];\n private _track: HTMLElement | null = null;\n private _timer = 0;\n private _hold = false;\n private _dots: HTMLButtonElement[] = [];\n\n get length(): number {\n return this._slides.length;\n }\n get index(): number {\n return this._i;\n }\n set index(v: number) {\n this.goTo(v);\n }\n get effect(): string {\n const e = this.str('effect', 'slide');\n return (CAROUSEL_EFFECTS as readonly string[]).includes(e) ? e : 'slide';\n }\n\n mount(): void {\n this.dataset.effect = this.effect; // (not the observed attribute: no re-mount loop)\n this.toggleAttribute('data-reduced', this.reduced);\n const old = this.querySelector<HTMLElement>(':scope > .usa-carousel-viewport');\n this._slides = old ? ownChildren(old.firstElementChild as HTMLElement) : ownChildren(this);\n dropParts(this);\n const vp = part('div', 'usa-carousel-viewport', { 'aria-live': this.num('autoplay', 0) ? 'off' : 'polite' });\n const track = part('div', 'usa-carousel-track');\n this._track = track;\n vp.append(track);\n const n = this._slides.length;\n this._slides.forEach((s, i) => {\n s.setAttribute('role', 'group');\n s.setAttribute('aria-roledescription', 'slide');\n s.setAttribute('aria-label', `${i + 1} of ${n}`);\n track.append(s);\n });\n this.prepend(vp);\n this.setAttribute('role', 'region');\n this.setAttribute('aria-roledescription', 'carousel');\n this.setAttribute('aria-label', this.str('label', 'Carousel'));\n if (!this.hasAttribute('tabindex')) this.tabIndex = 0;\n if (n > 1 && !this.flag('no-controls')) {\n const prev = part('button', 'usa-carousel-nav usa-carousel-prev', { type: 'button', 'aria-label': 'Previous slide' }, '‹');\n const next = part('button', 'usa-carousel-nav usa-carousel-next', { type: 'button', 'aria-label': 'Next slide' }, '›');\n this.listen(prev, 'click', () => this.prev());\n this.listen(next, 'click', () => this.next());\n this.append(prev, next);\n }\n this._dots = [];\n if (n > 1 && !this.flag('no-dots')) {\n const dots = part('div', 'usa-carousel-dots', { role: 'group', 'aria-label': 'Choose slide' });\n for (let i = 0; i < n; i++) {\n const d = part('button', 'usa-carousel-dot', { type: 'button', 'aria-label': `Slide ${i + 1}` });\n this.listen(d, 'click', () => this.goTo(i));\n this._dots.push(d);\n dots.append(d);\n }\n this.append(dots);\n }\n this._i = clampN(Math.round(this.num('index', 0)), 0, Math.max(0, n - 1));\n this.layout(0);\n this.listen(this, 'keydown', (e: KeyboardEvent) => {\n if (e.key === 'ArrowRight') (e.preventDefault(), this.next());\n else if (e.key === 'ArrowLeft') (e.preventDefault(), this.prev());\n });\n this.drag(vp);\n const ms = this.num('autoplay', 0);\n if (ms > 0 && n > 1 && !this.reduced) {\n let visible = true;\n this.inView((v) => (visible = v));\n const pause = (on: boolean) => () => (this._hold = on);\n this.listen(this, 'pointerenter', pause(true));\n this.listen(this, 'pointerleave', pause(false));\n this.listen(this, 'focusin', pause(true));\n this.listen(this, 'focusout', pause(false));\n this._timer = window.setInterval(() => {\n if (visible && !this._hold && !document.hidden) this.next();\n }, Math.max(1200, ms));\n this.onCleanup(() => clearInterval(this._timer));\n }\n }\n\n private drag(vp: HTMLElement): void {\n let x0 = 0;\n let dx = 0;\n let id = -1;\n this.listen(vp, 'pointerdown', (e: PointerEvent) => {\n if (this.length < 2 || (e.target as Element).closest('button,a,input')) return;\n id = e.pointerId;\n x0 = e.clientX;\n dx = 0;\n this.setAttribute('data-dragging', '');\n });\n this.listen(window, 'pointermove', (e: PointerEvent) => {\n if (e.pointerId !== id) return;\n dx = e.clientX - x0;\n this.layout(dx / Math.max(1, vp.clientWidth));\n });\n const end = (e: PointerEvent) => {\n if (e.pointerId !== id) return;\n id = -1;\n this.removeAttribute('data-dragging');\n const w = Math.max(1, vp.clientWidth);\n if (Math.abs(dx) > w * 0.18) dx < 0 ? this.next() : this.prev();\n else this.layout(0);\n };\n this.listen(window, 'pointerup', end);\n this.listen(window, 'pointercancel', end);\n }\n\n /** Position the slides (`drag` = fraction of a slide the pointer moved). */\n private layout(drag: number): void {\n const n = this.length;\n const i = this._i;\n const fx = this.effect;\n if (this._track) this._track.style.transform = fx === 'slide' ? `translateX(${(-i + drag) * 100}%)` : '';\n this._slides.forEach((s, k) => {\n let off = k - i + drag;\n if (this.flag('loop') && n > 2) {\n if (off > n / 2) off -= n;\n if (off < -n / 2) off += n;\n }\n const active = k === i;\n s.toggleAttribute('data-active', active);\n s.setAttribute('aria-hidden', String(!active));\n s.inert = !active;\n if (fx === 'slide') {\n s.style.transform = s.style.opacity = s.style.zIndex = s.style.filter = '';\n return;\n }\n const a = Math.abs(off);\n if (fx === 'fade') {\n s.style.opacity = String(clampN(1 - a, 0, 1));\n s.style.transform = '';\n } else if (fx === 'scale') {\n s.style.opacity = String(clampN(1 - a, 0, 1));\n s.style.transform = `scale(${1 + Math.min(1, a) * (off < 0 ? 0.12 : -0.12)})`;\n } else {\n s.style.opacity = a > 2.2 ? '0' : String(1 - Math.min(a, 2) * 0.28);\n s.style.transform = `translateX(${off * 58}%) translateZ(${-a * 140}px) rotateY(${clampN(-off * 38, -60, 60)}deg)`;\n s.style.filter = a > 0.5 ? `brightness(${1 - Math.min(a, 2) * 0.18})` : '';\n }\n s.style.zIndex = String(100 - Math.round(a * 10));\n });\n this._dots.forEach((d, k) => d.setAttribute('aria-current', String(k === i)));\n }\n\n goTo(to: number): void {\n const n = this.length;\n if (!n) return;\n const t = this.flag('loop') ? ((Math.round(to) % n) + n) % n : clampN(Math.round(to), 0, n - 1);\n const from = this._i;\n this._i = t;\n this.layout(0);\n if (t !== from) this.emit('change', { index: t, from });\n }\n next(): void {\n this.goTo(this._i + 1 >= this.length && !this.flag('loop') ? 0 : this._i + 1);\n }\n prev(): void {\n this.goTo(this._i - 1 < 0 && !this.flag('loop') ? this.length - 1 : this._i - 1);\n }\n }\n return UsaCarousel as unknown as CustomElementConstructor;\n },\n { id: 'carousel', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport { ownChildren, part, nextId, arrowIndex } from './shared';\nimport css from './tab-bar.css?raw';\n\n/**\n * `<usa-tab-bar>` (6.2) — tabs with an animated indicator that stretches\n * from the old tab to the new one (leading edge first, then the trailing edge\n * catches up). Children: `<button>` tabs, and optional panels marked\n * `data-panel` (in the same order). Attributes: `indicator` (`pill` ·\n * `underline` · `glow` · `gooey`), `selected` (index), `label`. Arrow keys,\n * Home/End. API: `select(i)`, `selected`. Events: `usa:change` (`{ index, from }`).\n * Panels slide in from the side of travel. Reduced motion: no stretch / slide.\n */\nexport interface UsaTabBarElement extends UsaElement {\n selected: number;\n select(i: number): void;\n}\n\nexport const TAB_INDICATORS = ['pill', 'underline', 'glow', 'gooey'] as const;\n\nexport function defineTabBar(tag = 'usa-tab-bar'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) => {\n class UsaTabBar extends Base {\n static get observedAttributes(): string[] {\n return ['indicator'];\n }\n private _tabs: HTMLElement[] = [];\n private _panels: HTMLElement[] = [];\n private _ink: HTMLElement | null = null;\n private _i = 0;\n\n get selected(): number {\n return this._i;\n }\n set selected(v: number) {\n this.select(v);\n }\n\n mount(): void {\n const ind = this.str('indicator', 'pill');\n this.dataset.indicator = (TAB_INDICATORS as readonly string[]).includes(ind) ? ind : 'pill';\n let list = this.querySelector<HTMLElement>(':scope > .usa-tab-bar-list');\n if (!list) {\n list = part('div', 'usa-tab-bar-list');\n this.prepend(list);\n }\n list.setAttribute('role', 'tablist');\n list.setAttribute('aria-label', this.str('label', 'Tabs'));\n const kids = ownChildren(this);\n this._panels = kids.filter((k) => k.hasAttribute('data-panel'));\n for (const k of kids) if (!k.hasAttribute('data-panel') && k.matches('button,[data-tab]')) list.append(k);\n this._tabs = Array.from(list.children).filter((c): c is HTMLElement => c instanceof HTMLElement && !c.classList.contains('usa-tab-bar-ink'));\n this._ink = list.querySelector('.usa-tab-bar-ink') || part('span', 'usa-tab-bar-ink', { 'aria-hidden': 'true' });\n list.prepend(this._ink);\n this._tabs.forEach((t, i) => {\n t.setAttribute('role', 'tab');\n if (t.localName === 'button' && !t.hasAttribute('type')) t.setAttribute('type', 'button');\n t.id ||= nextId('usa-tab');\n const p = this._panels[i];\n if (p) {\n p.id ||= nextId('usa-tabpanel');\n p.classList.add('usa-tab-bar-panel');\n p.setAttribute('role', 'tabpanel');\n p.setAttribute('aria-labelledby', t.id);\n p.tabIndex = 0;\n t.setAttribute('aria-controls', p.id);\n }\n this.listen(t, 'click', () => this.select(i));\n });\n this.listen(list, 'keydown', (e: KeyboardEvent) => {\n const n = arrowIndex(e, this._i, this._tabs.length);\n if (n < 0) return;\n e.preventDefault();\n this.select(n);\n this._tabs[n].focus();\n });\n this._i = Math.min(Math.max(0, Math.round(this.num('selected', 0))), Math.max(0, this._tabs.length - 1));\n this.sync(-1);\n if (typeof ResizeObserver === 'function') {\n const ro = new ResizeObserver(() => this.place());\n ro.observe(list);\n this.onCleanup(() => ro.disconnect());\n }\n }\n\n private rect(i: number): [number, number] {\n const t = this._tabs[i];\n return t ? [t.offsetLeft, t.offsetWidth] : [0, 0];\n }\n private place(): void {\n if (!this._ink) return;\n const [x, w] = this.rect(this._i);\n this._ink.style.transform = `translateX(${x}px)`;\n this._ink.style.width = `${w}px`;\n }\n\n private sync(from: number): void {\n this._tabs.forEach((t, k) => {\n t.setAttribute('aria-selected', String(k === this._i));\n t.tabIndex = k === this._i ? 0 : -1;\n });\n this._panels.forEach((p, k) => (p.hidden = k !== this._i));\n this.place();\n if (from < 0 || from === this._i || !this._ink || this.reduced) return;\n // stretchy travel: the leading edge arrives first, the trailing edge follows\n const [x0, w0] = this.rect(from);\n const [x1, w1] = this.rect(this._i);\n const right = x1 > x0;\n const mid = right ? { transform: `translateX(${x0}px)`, width: `${x1 + w1 - x0}px` } : { transform: `translateX(${x1}px)`, width: `${x0 + w0 - x1}px` };\n this.motion(this._ink, [{ transform: `translateX(${x0}px)`, width: `${w0}px` }, { ...mid, offset: 0.45 }, { transform: `translateX(${x1}px)`, width: `${w1}px` }], { duration: 480, easing: 'cubic-bezier(.22,1,.36,1)' });\n const p = this._panels[this._i];\n if (p) this.motion(p, [{ opacity: 0, transform: `translateX(${right ? 24 : -24}px)` }, { opacity: 1, transform: 'none' }], { duration: 320, easing: 'cubic-bezier(.22,1,.36,1)' });\n }\n\n select(i: number): void {\n const n = Math.min(Math.max(0, Math.round(i)), this._tabs.length - 1);\n if (n === this._i || n < 0) return;\n const from = this._i;\n this._i = n;\n this.sync(from);\n this.emit('change', { index: n, from });\n }\n }\n return UsaTabBar as unknown as CustomElementConstructor;\n },\n { id: 'tab-bar', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport { springEasing } from '../physics/spring';\nimport css from './disclosure.css?raw';\n\n/**\n * `<usa-disclosure>` (6.2) — accordion 2.0 on native `<details>`: the\n * content springs open / closed (height + fade), the chevron flips with an\n * overshoot. Children: `<details><summary>…</summary>…</details>`.\n * Attributes: `multiple` (allow several open; default: one at a time),\n * `spring` (preset, default `gentle`), `variant=\"cards\"`. API: `openAll()`,\n * `closeAll()`, `toggle(i, force?)`. Events: `usa:toggle` (`{ index, open }`).\n * Native semantics (keyboard, find-in-page) kept. Reduced motion: instant.\n */\nexport interface UsaDisclosureElement extends UsaElement {\n toggle(i: number, force?: boolean): void;\n openAll(): void;\n closeAll(): void;\n}\n\nexport function defineDisclosure(tag = 'usa-disclosure'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) => {\n class UsaDisclosure extends Base {\n private _anims = new WeakMap<HTMLDetailsElement, Animation>();\n get items(): HTMLDetailsElement[] {\n return Array.from(this.children).filter((c): c is HTMLDetailsElement => c.localName === 'details');\n }\n mount(): void {\n this.listen(this, 'click', (e: MouseEvent) => {\n const s = (e.target as Element).closest('summary');\n const d = s?.parentElement as HTMLDetailsElement | null;\n if (!s || !d || d.parentElement !== this) return;\n e.preventDefault();\n this.set(d, !d.open);\n });\n }\n private set(d: HTMLDetailsElement, open: boolean): void {\n if (open && !this.flag('multiple')) for (const o of this.items) if (o !== d && o.open) this.set(o, false);\n if (d.open === open && !this._anims.get(d)) return;\n const summary = d.querySelector('summary');\n const closedH = summary ? summary.offsetHeight : 0;\n const startH = d.offsetHeight;\n this._anims.get(d)?.cancel();\n if (open) d.open = true;\n const endH = open ? d.scrollHeight : closedH;\n const sp = springEasing(this.str('spring', 'gentle'));\n const a = this.reduced ? null : this.motion(d, [{ height: `${startH}px` }, { height: `${endH}px` }], { duration: Math.min(sp.duration, 700), easing: sp.easing, fill: 'forwards' });\n const body = Array.from(d.children).filter((c) => c.localName !== 'summary');\n if (open && !this.reduced) body.forEach((b) => this.motion(b, [{ opacity: 0, transform: 'translateY(-6px)' }, { opacity: 1, transform: 'none' }], { duration: 300, delay: 60, easing: 'ease-out' }));\n const done = () => {\n this._anims.delete(d);\n if (!open) d.open = false;\n a?.cancel();\n };\n if (a) {\n this._anims.set(d, a);\n a.finished.then(() => this._anims.get(d) === a && done(), () => undefined);\n } else done();\n this.emit('toggle', { index: this.items.indexOf(d), open });\n }\n toggle(i: number, force?: boolean): void {\n const d = this.items[i];\n if (d) this.set(d, force ?? !d.open);\n }\n openAll(): void {\n this.items.forEach((d) => (d.open = true));\n }\n closeAll(): void {\n this.items.forEach((d) => this.set(d, false));\n }\n }\n return UsaDisclosure as unknown as CustomElementConstructor;\n },\n { id: 'disclosure', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport { ownChildren, part, dropParts } from './shared';\nimport css from './stories.css?raw';\n\n/**\n * `<usa-stories>` (6.2) — story viewer: segmented progress bars at the top,\n * auto-advance, tap the left / right third to go back / forward, press and\n * hold to pause, a pause button (WCAG 2.2.2). Each child is one story.\n * Attributes: `duration` (ms per story, 5000), `loop`, `paused`.\n * API: `next()`, `prev()`, `goTo(i)`, `pause()`, `play()`, `index`.\n * Events: `usa:change` (`{ index }`), `usa:end`. Reduced motion: no\n * auto-advance (paused until the user navigates), cross-fade only.\n */\nexport interface UsaStoriesElement extends UsaElement {\n readonly index: number;\n next(): void;\n prev(): void;\n goTo(i: number): void;\n pause(): void;\n play(): void;\n}\n\nexport function defineStories(tag = 'usa-stories'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) => {\n class UsaStories extends Base {\n static get observedAttributes(): string[] {\n return ['duration', 'loop'];\n }\n private _i = 0;\n private _items: HTMLElement[] = [];\n private _bars: HTMLElement[] = [];\n private _fill: Animation | null = null;\n private _btn: HTMLButtonElement | null = null;\n get index(): number {\n return this._i;\n }\n mount(): void {\n dropParts(this);\n this._items = ownChildren(this);\n const bars = part('div', 'usa-stories-bars', { 'aria-hidden': 'true' });\n this._bars = this._items.map(() => {\n const b = part('div', 'usa-stories-bar', {}, '<i></i>');\n bars.append(b);\n return b;\n });\n this._btn = part('button', 'usa-stories-toggle', { type: 'button' });\n this.listen(this._btn, 'click', (e: Event) => {\n e.stopPropagation();\n this.hasAttribute('paused') ? this.play() : this.pause();\n });\n this.append(bars, this._btn);\n this.setAttribute('role', 'region');\n this.setAttribute('aria-roledescription', 'stories');\n if (!this.hasAttribute('aria-label')) this.setAttribute('aria-label', 'Stories');\n if (!this.hasAttribute('tabindex')) this.tabIndex = 0;\n if (this.reduced) this.setAttribute('paused', '');\n let held = false;\n let downAt = 0;\n this.listen(this, 'pointerdown', (e: PointerEvent) => {\n if ((e.target as Element).closest('button,a')) return;\n downAt = performance.now();\n held = !this.hasAttribute('paused');\n if (held) this._fill?.pause();\n });\n this.listen(this, 'pointerup', (e: PointerEvent) => {\n if ((e.target as Element).closest('button,a') || !downAt) return;\n const long = performance.now() - downAt > 350;\n downAt = 0;\n if (held && !this.hasAttribute('paused')) this._fill?.play();\n if (long) return;\n const r = this.getBoundingClientRect();\n e.clientX - r.left < r.width / 3 ? this.prev() : this.next();\n });\n this.listen(this, 'keydown', (e: KeyboardEvent) => {\n if (e.key === 'ArrowRight') this.next();\n else if (e.key === 'ArrowLeft') this.prev();\n else if (e.key === ' ') (e.preventDefault(), this.hasAttribute('paused') ? this.play() : this.pause());\n });\n this.onCleanup(() => this._fill?.cancel());\n this.goTo(Math.min(this._i, Math.max(0, this._items.length - 1)), true);\n }\n private label(): void {\n if (this._btn) {\n const p = this.hasAttribute('paused');\n this._btn.textContent = p ? '▶' : '❚❚';\n this._btn.setAttribute('aria-label', p ? 'Play stories' : 'Pause stories');\n }\n }\n goTo(i: number, initial = false): void {\n const n = this._items.length;\n if (!n) return;\n if (i >= n && !this.flag('loop')) {\n this.emit('end');\n this.pause();\n return;\n }\n const t = ((i % n) + n) % n;\n const changed = t !== this._i || initial;\n this._i = t;\n this._items.forEach((s, k) => {\n s.toggleAttribute('data-active', k === t);\n s.setAttribute('aria-hidden', String(k !== t));\n });\n this._bars.forEach((b, k) => b.toggleAttribute('data-done', k < t));\n this._fill?.cancel();\n const fillEl = this._bars[t]?.firstElementChild as HTMLElement | undefined;\n this._fill = fillEl ? fillEl.animate?.([{ transform: 'scaleX(0)' }, { transform: 'scaleX(1)' }], { duration: Math.max(800, this.num('duration', 5000)), fill: 'forwards' }) ?? null : null;\n if (this._fill) {\n const a = this._fill;\n a.onfinish = () => this._fill === a && this.goTo(this._i + 1);\n if (this.hasAttribute('paused')) a.pause();\n }\n this.label();\n if (changed && !initial) this.emit('change', { index: t });\n }\n next(): void {\n this.goTo(this._i + 1);\n }\n prev(): void {\n this.goTo(Math.max(0, this._i - 1));\n }\n pause(): void {\n this.setAttribute('paused', '');\n this._fill?.pause();\n this.label();\n }\n play(): void {\n this.removeAttribute('paused');\n if (this._fill?.playState === 'finished') this.goTo(this._i + 1 >= this._items.length ? 0 : this._i + 1);\n else this._fill?.play();\n this.label();\n }\n }\n return UsaStories as unknown as CustomElementConstructor;\n },\n { id: 'stories', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport { ownChildren, part } from './shared';\nimport css from './overlay.css?raw';\n\n/**\n * `<usa-modal>` and `<usa-sheet>` (6.3) — modal overlays on the native\n * `<dialog>` (top layer, focus trap, Esc, inert page), with animated open\n * and close and a fading, blurred backdrop.\n *\n * - `<usa-modal effect=\"scale | slide-up | flip | origin\">` — `origin`\n * grows the dialog out of the button that opened it.\n * - `<usa-sheet side=\"right | left | bottom | top\">` — a side sheet; a\n * bottom sheet can be dragged down to dismiss (`<div data-handle>` or the\n * built-in grab handle).\n *\n * Attributes: `open` (initial), `label`, `persistent` (backdrop click / Esc\n * don't close). Any element with `data-usa-open=\"<id>\"` opens the overlay\n * with that id; `[data-usa-close]` inside closes it. API: `show(trigger?)`,\n * `close(value?)`, `toggle()`, `opened`. Events: `usa:open`, `usa:close`\n * (`{ value }`). Focus returns to the opener. Reduced motion: no movement,\n * a short fade.\n */\nexport interface UsaOverlayElement extends UsaElement {\n readonly opened: boolean;\n readonly returnValue: string;\n show(trigger?: Element | null): void;\n close(value?: string): Promise<void>;\n toggle(): void;\n}\nexport type UsaModalElement = UsaOverlayElement;\nexport type UsaSheetElement = UsaOverlayElement;\n\nexport const MODAL_EFFECTS = ['scale', 'slide-up', 'flip', 'origin'] as const;\nexport const SHEET_SIDES = ['right', 'left', 'bottom', 'top'] as const;\n\nconst EASE_OUT = 'cubic-bezier(.22,1,.36,1)';\n\n// one delegated listener for [data-usa-open] / [data-usa-toast] triggers anywhere on the page\nlet delegated = false;\nexport function delegateTriggers(): void {\n if (delegated || typeof document === 'undefined') return;\n delegated = true;\n document.addEventListener('click', (e) => {\n const t = (e.target as Element | null)?.closest?.('[data-usa-open]');\n if (!t) return;\n const target = document.getElementById(t.getAttribute('data-usa-open') || '') as (HTMLElement & Partial<UsaOverlayElement>) | null;\n if (target && typeof target.show === 'function') {\n e.preventDefault();\n if (target.opened) void target.close?.();\n else target.show(t);\n }\n });\n}\n\nfunction defineOverlay(tag: string, kind: 'modal' | 'sheet'): CustomElementConstructor | undefined {\n delegateTriggers();\n return defineElement(\n tag,\n (Base) => {\n class UsaOverlay extends Base {\n static get observedAttributes(): string[] {\n return kind === 'modal' ? ['effect'] : ['side'];\n }\n private _dlg: HTMLDialogElement | null = null;\n private _panel: HTMLElement | null = null;\n private _open = false;\n private _ret: Element | null = null;\n private _origin: DOMRect | null = null;\n private _value = '';\n private _closing: Promise<void> | null = null;\n\n get opened(): boolean {\n return this._open;\n }\n get returnValue(): string {\n return this._value;\n }\n\n mount(): void {\n let d = this.querySelector<HTMLDialogElement>(':scope > dialog.usa-ov');\n if (!d) {\n d = part('dialog', `usa-ov usa-${kind}-panel`);\n const body = part('div', 'usa-ov-body');\n body.append(...ownChildren(this));\n d.append(body);\n this.append(d);\n }\n this._dlg = d;\n this._panel = d.querySelector('.usa-ov-body');\n if (kind === 'modal') {\n const ef = this.str('effect', 'scale');\n this.dataset.effect = (MODAL_EFFECTS as readonly string[]).includes(ef) ? ef : 'scale';\n } else {\n const side = this.str('side', 'right');\n this.dataset.side = (SHEET_SIDES as readonly string[]).includes(side) ? side : 'right';\n if (this.dataset.side === 'bottom' && this._panel && !this._panel.querySelector('[data-handle]')) this._panel.prepend(part('div', 'usa-ov-grab', { 'data-handle': '', 'aria-hidden': 'true' }));\n this.drag();\n }\n if (!d.hasAttribute('aria-labelledby')) d.setAttribute('aria-label', this.str('label', kind === 'modal' ? 'Dialog' : 'Panel'));\n this.listen(d, 'cancel', (e: Event) => {\n e.preventDefault();\n if (!this.flag('persistent')) void this.close();\n });\n this.listen(d, 'click', (e: MouseEvent) => {\n const t = e.target as Element;\n const c = t.closest?.('[data-usa-close]');\n if (c) return void this.close(c.getAttribute('data-usa-close') || '');\n if (t === d && !this.flag('persistent')) void this.close(); // the ::backdrop\n });\n if (this.flag('open') && !this._open) this.show();\n }\n\n unmount(): void {\n if (this._open && this._dlg?.open) this._dlg.close?.();\n this._open = false;\n }\n\n private frames(opening: boolean): Keyframe[] {\n const fade: Keyframe[] = [{ opacity: 0 }, { opacity: 1 }];\n if (this.reduced) return opening ? fade : [...fade].reverse();\n let f: Keyframe[];\n if (kind === 'sheet') {\n const s = this.dataset.side;\n const off = s === 'left' ? 'translateX(-100%)' : s === 'bottom' ? 'translateY(100%)' : s === 'top' ? 'translateY(-100%)' : 'translateX(100%)';\n f = [{ transform: off }, { transform: 'none' }];\n } else {\n const e = this.dataset.effect;\n const o = this._origin;\n const r = this._dlg?.getBoundingClientRect();\n if (e === 'origin' && o && r && r.width) {\n const dx = o.left + o.width / 2 - (r.left + r.width / 2);\n const dy = o.top + o.height / 2 - (r.top + r.height / 2);\n f = [{ transform: `translate(${dx}px,${dy}px) scale(${Math.max(0.05, o.width / r.width).toFixed(3)},${Math.max(0.05, o.height / r.height).toFixed(3)})`, opacity: 0, borderRadius: '40px' }, { transform: 'none', opacity: 1 }];\n } else if (e === 'slide-up') f = [{ transform: 'translateY(48px)', opacity: 0 }, { transform: 'none', opacity: 1 }];\n else if (e === 'flip') f = [{ transform: 'perspective(900px) rotateX(-28deg) translateY(30px)', opacity: 0 }, { transform: 'none', opacity: 1 }];\n else f = [{ transform: 'scale(.88)', opacity: 0 }, { transform: 'scale(1.015)', opacity: 1, offset: 0.7 }, { transform: 'none', opacity: 1 }];\n }\n return opening ? f : [f[0], f[f.length - 1]].reverse();\n }\n\n private backdrop(opening: boolean): void {\n if (!this._dlg) return;\n const k: Keyframe[] = [{ opacity: 0 }, { opacity: 1 }];\n try {\n this._dlg.animate?.(opening ? k : k.reverse(), { duration: opening ? 280 : 200, pseudoElement: '::backdrop', fill: 'forwards' } as KeyframeAnimationOptions);\n } catch {\n /* no ::backdrop animation support */\n }\n }\n\n show(trigger?: Element | null): void {\n const d = this._dlg;\n if (!d || this._open) return;\n this._open = true;\n this._ret = trigger || (document.activeElement as Element | null);\n this._origin = trigger ? trigger.getBoundingClientRect() : null;\n if (typeof d.showModal === 'function') {\n try {\n d.showModal();\n } catch {\n d.setAttribute('open', '');\n }\n } else d.setAttribute('open', '');\n this.setAttribute('data-open', '');\n this.backdrop(true);\n this.motion(d, this.frames(true), { duration: this.reduced ? 150 : kind === 'sheet' ? 420 : 460, easing: EASE_OUT });\n const f = d.querySelector<HTMLElement>('[autofocus]') || d.querySelector<HTMLElement>('button,[href],input,select,textarea,[tabindex]:not([tabindex=\"-1\"])');\n f?.focus?.();\n this.emit('open', { trigger: trigger || null });\n }\n\n close(value = ''): Promise<void> {\n const d = this._dlg;\n if (!d || !this._open) return Promise.resolve();\n if (this._closing) return this._closing;\n this._value = value;\n this.backdrop(false);\n const a = this.motion(d, this.frames(false), { duration: this.reduced ? 120 : 260, easing: 'cubic-bezier(.4,0,1,1)', fill: 'forwards' });\n const done = () => {\n this._closing = null;\n this._open = false;\n this.removeAttribute('data-open');\n if (d.open && typeof d.close === 'function') d.close(value);\n else d.removeAttribute('open');\n a?.cancel?.();\n d.style.transform = '';\n (this._ret as HTMLElement | null)?.focus?.();\n this.emit('close', { value });\n };\n this._closing = a ? a.finished.then(done, done) : Promise.resolve().then(done);\n return this._closing;\n }\n\n toggle(): void {\n if (this._open) void this.close();\n else this.show();\n }\n\n // bottom sheet: drag down to dismiss, springs back otherwise\n private drag(): void {\n const p = this._panel;\n const d = this._dlg;\n if (!p || !d || this.dataset.side !== 'bottom') return;\n let y0 = -1;\n let dy = 0;\n let t0 = 0;\n this.listen(p, 'pointerdown', (e: PointerEvent) => {\n if (!(e.target as Element).closest('[data-handle]')) return;\n y0 = e.clientY;\n dy = 0;\n t0 = performance.now();\n (e.target as Element).setPointerCapture?.(e.pointerId);\n });\n this.listen(p, 'pointermove', (e: PointerEvent) => {\n if (y0 < 0) return;\n dy = Math.max(0, e.clientY - y0);\n d.style.transform = `translateY(${dy}px)`;\n });\n const up = () => {\n if (y0 < 0) return;\n y0 = -1;\n const v = dy / Math.max(1, performance.now() - t0);\n if (dy > d.offsetHeight * 0.3 || v > 0.6) void this.close();\n else {\n this.motion(d, [{ transform: `translateY(${dy}px)` }, { transform: 'translateY(-6px)', offset: 0.6 }, { transform: 'none' }], { duration: 380, easing: EASE_OUT });\n d.style.transform = '';\n }\n };\n this.listen(p, 'pointerup', up);\n this.listen(p, 'pointercancel', up);\n }\n }\n return UsaOverlay as unknown as CustomElementConstructor;\n },\n { id: 'overlay', text: css }\n );\n}\n\nexport const defineModal = (tag = 'usa-modal'): CustomElementConstructor | undefined => defineOverlay(tag, 'modal');\nexport const defineSheet = (tag = 'usa-sheet'): CustomElementConstructor | undefined => defineOverlay(tag, 'sheet');\n","import { defineElement, type UsaElement } from '../base';\nimport { part } from './shared';\nimport { delegateTriggers } from './overlay';\nimport css from './toast.css?raw';\n\n/**\n * `<usa-toast-stack>` (6.3) — notifications that pile up into a collapsed\n * stack (newest in front, older ones peeking behind), fan out on hover or\n * focus, auto-dismiss (paused while hovered), and can be swiped away.\n *\n * Attributes: `position` (`bottom-right` · `bottom-left` · `bottom-center` ·\n * `top-right` · `top-left` · `top-center`), `duration` (ms, `0` = sticky),\n * `max` (visible in the stack), `contained` (positioned inside its parent\n * instead of the viewport). API: `show(message | options)` → id,\n * `dismiss(id)`, `clear()`; module helper `stackToast()` uses the first stack on\n * the page (creating one). Any `[data-usa-toast=\"message\"]` element shows a\n * toast on click (`data-usa-toast-type`, `data-usa-target`). Events:\n * `usa:show`, `usa:dismiss` (`{ id, reason }`). Toasts live in a polite live\n * region. Reduced motion: no slide or swipe animation.\n */\nexport interface StackToastOptions {\n message?: string;\n title?: string;\n type?: 'info' | 'success' | 'warning' | 'error';\n /** ms; 0 = stays until dismissed. Defaults to the stack's `duration`. */\n duration?: number;\n /** An action button. */\n action?: { label: string; onClick?: () => void };\n}\nexport interface UsaToastStackElement extends UsaElement {\n show(input: string | StackToastOptions): string;\n dismiss(id: string, reason?: string): void;\n clear(): void;\n readonly count: number;\n}\n\nexport const TOAST_POSITIONS = ['bottom-right', 'bottom-left', 'bottom-center', 'top-right', 'top-left', 'top-center'] as const;\nconst ICONS: Record<string, string> = { info: 'ℹ', success: '✓', warning: '!', error: '✕' };\nlet tid = 0;\n\nexport function defineToastStack(tag = 'usa-toast-stack'): CustomElementConstructor | undefined {\n installToastTriggers();\n return defineElement(\n tag,\n (Base) => {\n class UsaToastStack extends Base {\n static get observedAttributes(): string[] {\n return ['position'];\n }\n private _list: HTMLOListElement | null = null;\n private _timers = new Map<string, { left: number; start: number; h: ReturnType<typeof setTimeout> | 0 }>();\n private _hover = false;\n\n get count(): number {\n return this._list ? this._list.querySelectorAll(':scope > .usa-tstack:not([data-leaving])').length : 0;\n }\n\n mount(): void {\n const pos = this.str('position', 'bottom-right');\n this.dataset.position = (TOAST_POSITIONS as readonly string[]).includes(pos) ? pos : 'bottom-right';\n this.setAttribute('role', 'region');\n if (!this.hasAttribute('aria-label')) this.setAttribute('aria-label', 'Notifications');\n this._list = this.querySelector(':scope > .usa-tstack-list') || part('ol', 'usa-tstack-list', { 'aria-live': 'polite', 'aria-relevant': 'additions' });\n if (!this._list.isConnected) this.append(this._list);\n const expand = (on: boolean) => {\n this._hover = on;\n this.toggleAttribute('data-expanded', on);\n this.layout();\n for (const [id, t] of this._timers) on ? this.pause(id, t) : this.resume(id);\n };\n this.listen(this, 'pointerenter', () => expand(true));\n this.listen(this, 'pointerleave', () => expand(false));\n this.listen(this, 'focusin', () => expand(true));\n this.listen(this, 'focusout', (e: FocusEvent) => !this.contains(e.relatedTarget as Node) && expand(false));\n this.onCleanup(() => this._timers.forEach((t) => t.h && clearTimeout(t.h)));\n }\n\n private pause(_id: string, t: { left: number; start: number; h: ReturnType<typeof setTimeout> | 0 }): void {\n if (!t.h) return;\n clearTimeout(t.h);\n t.h = 0;\n t.left -= Date.now() - t.start;\n }\n private resume(id: string): void {\n const t = this._timers.get(id);\n if (!t || t.h) return;\n t.start = Date.now();\n t.h = setTimeout(() => this.dismiss(id, 'timeout'), Math.max(400, t.left));\n }\n\n show(input: string | StackToastOptions): string {\n const o: StackToastOptions = typeof input === 'string' ? { message: input } : input || {};\n const id = `usa-tstack-${++tid}`;\n const type = o.type && ICONS[o.type] ? o.type : 'info';\n const li = part('li', `usa-tstack usa-tstack-${type}`, { id, role: type === 'error' ? 'alert' : 'status' });\n li.append(part('span', 'usa-tstack-icon', { 'aria-hidden': 'true' }, ICONS[type]));\n const txt = part('div', 'usa-tstack-text');\n if (o.title) txt.append(Object.assign(document.createElement('strong'), { textContent: o.title }));\n if (o.message) txt.append(Object.assign(document.createElement('span'), { textContent: o.message }));\n li.append(txt);\n if (o.action) {\n const b = part('button', 'usa-tstack-action', { type: 'button' });\n b.textContent = o.action.label;\n b.addEventListener('click', () => {\n o.action?.onClick?.();\n this.dismiss(id, 'action');\n });\n li.append(b);\n }\n const x = part('button', 'usa-tstack-close', { type: 'button', 'aria-label': 'Dismiss' }, '×');\n x.addEventListener('click', () => this.dismiss(id, 'close'));\n li.append(x);\n this.swipe(li, id);\n this._list?.prepend(li);\n const top = this.dataset.position?.startsWith('top');\n this.motion(li, this.reduced ? [{ opacity: 0 }, { opacity: 1 }] : [{ opacity: 0, translate: `0 ${top ? -110 : 110}%`, scale: '0.9' }, { opacity: 1, translate: '0 0', scale: '1' }], { duration: this.reduced ? 150 : 420, easing: 'cubic-bezier(.22,1,.36,1)' });\n this.layout();\n const dur = o.duration ?? this.num('duration', 4000);\n if (dur > 0) {\n this._timers.set(id, { left: dur, start: Date.now(), h: 0 });\n if (!this._hover) this.resume(id);\n }\n this.emit('show', { id, ...o });\n return id;\n }\n\n dismiss(id: string, reason = 'api'): void {\n const li = this._list?.querySelector<HTMLElement>(`#${id}`);\n const t = this._timers.get(id);\n if (t?.h) clearTimeout(t.h);\n this._timers.delete(id);\n if (!li || li.hasAttribute('data-leaving')) return;\n li.setAttribute('data-leaving', '');\n const dx = Number(li.dataset.dx || 0);\n const a = this.motion(li, this.reduced ? [{ opacity: 1 }, { opacity: 0 }] : [{ opacity: 1, transform: `translateX(${dx}px)` }, { opacity: 0, transform: `translateX(${dx >= 0 ? 120 : -120}%)` }], { duration: this.reduced ? 120 : 260, easing: 'cubic-bezier(.4,0,1,1)', fill: 'forwards' });\n const rm = () => {\n li.remove();\n this.layout();\n };\n if (a) a.finished.then(rm, rm);\n else rm();\n this.emit('dismiss', { id, reason });\n }\n\n clear(): void {\n this._list?.querySelectorAll<HTMLElement>(':scope > .usa-tstack').forEach((li) => this.dismiss(li.id, 'clear'));\n }\n\n /** Collapsed: newest in front, older ones scaled down peeking behind. Expanded: a list. */\n private layout(): void {\n if (!this._list) return;\n const items = Array.from(this._list.querySelectorAll<HTMLElement>(':scope > .usa-tstack:not([data-leaving])'));\n const max = Math.max(1, this.num('max', 3));\n const dir = this.dataset.position?.startsWith('top') ? 1 : -1;\n let y = 0;\n items.forEach((li, k) => {\n const h = li.offsetHeight || 56;\n const tf = this._hover ? `translateY(${dir * y}px)` : `translateY(${dir * k * 10}px) scale(${(1 - k * 0.05).toFixed(3)})`;\n li.style.transform = tf;\n li.style.zIndex = String(100 - k);\n li.style.opacity = !this._hover && k >= max ? '0' : '';\n li.toggleAttribute('inert', !this._hover && k > 0);\n y += h + 10;\n });\n this._list.style.height = this._hover && items.length ? `${y}px` : '';\n }\n\n private swipe(li: HTMLElement, id: string): void {\n let x0 = NaN;\n li.addEventListener('pointerdown', (e) => {\n if ((e.target as Element).closest('button')) return;\n x0 = e.clientX;\n li.setPointerCapture?.(e.pointerId);\n });\n li.addEventListener('pointermove', (e) => {\n if (Number.isNaN(x0)) return;\n const dx = e.clientX - x0;\n li.dataset.dx = String(dx);\n li.style.translate = `${dx}px 0`;\n li.style.opacity = String(Math.max(0.2, 1 - Math.abs(dx) / 240));\n });\n const up = () => {\n if (Number.isNaN(x0)) return;\n x0 = NaN;\n const dx = Number(li.dataset.dx || 0);\n li.style.translate = '';\n li.style.opacity = '';\n if (Math.abs(dx) > 80) this.dismiss(id, 'swipe');\n else li.dataset.dx = '0';\n };\n li.addEventListener('pointerup', up);\n li.addEventListener('pointercancel', up);\n }\n }\n return UsaToastStack as unknown as CustomElementConstructor;\n },\n { id: 'toast', text: css }\n );\n}\n\n/** Show a toast on the first `<usa-toast-stack>` of the page (one is created when missing). */\nexport function stackToast(input: string | StackToastOptions, stack?: UsaToastStackElement | null): string {\n defineToastStack();\n let s = stack || document.querySelector<UsaToastStackElement>('usa-toast-stack');\n if (!s) {\n s = document.createElement('usa-toast-stack') as UsaToastStackElement;\n document.body.append(s);\n }\n return s.show(input);\n}\n\nlet trig = false;\nfunction installToastTriggers(): void {\n delegateTriggers();\n if (trig || typeof document === 'undefined') return;\n trig = true;\n document.addEventListener('click', (e) => {\n const t = (e.target as Element | null)?.closest?.('[data-usa-toast]');\n if (!t) return;\n const target = t.getAttribute('data-usa-target');\n const s = target ? (document.getElementById(target) as UsaToastStackElement | null) : null;\n stackToast({ message: t.getAttribute('data-usa-toast') || '', title: t.getAttribute('data-usa-toast-title') || undefined, type: (t.getAttribute('data-usa-toast-type') as StackToastOptions['type']) || 'info' }, s);\n });\n}\n","import { defineElement, type UsaElement } from '../base';\nimport { ownChildren, part, nextId } from './shared';\nimport css from './menu.css?raw';\n\n/**\n * `<usa-menu>` (6.3) — a dropdown menu that unfolds from its button: the\n * list scales out of the trigger corner and the items cascade in. The first\n * child is the trigger (or `[data-trigger]`); the other children (`<button>`,\n * `<a>`, `<hr>` separators) become menu items.\n *\n * Attributes: `placement` (`bottom-start` · `bottom-end` · `top-start` ·\n * `top-end`), `effect` (`scale` · `fold` · `slide`). Keyboard: Enter / Space /\n * ArrowDown open, arrows and Home / End move, Esc closes, Tab leaves; outside\n * clicks close. API: `open()`, `close()`, `toggle()`, `opened`. Events:\n * `usa:select` (`{ index, value, item }`), `usa:open`, `usa:close`. Reduced\n * motion: a short fade.\n */\nexport interface UsaMenuElement extends UsaElement {\n readonly opened: boolean;\n open(focus?: 'first' | 'last'): void;\n close(focusTrigger?: boolean): void;\n toggle(): void;\n}\n\nexport const MENU_EFFECTS = ['scale', 'fold', 'slide'] as const;\n\nexport function defineMenu(tag = 'usa-menu'): CustomElementConstructor | undefined {\n return defineElement(\n tag,\n (Base) => {\n class UsaMenu extends Base {\n static get observedAttributes(): string[] {\n return ['placement', 'effect'];\n }\n private _btn: HTMLElement | null = null;\n private _list: HTMLElement | null = null;\n private _items: HTMLElement[] = [];\n private _open = false;\n\n get opened(): boolean {\n return this._open;\n }\n\n mount(): void {\n const kids = ownChildren(this);\n this._btn = kids.find((k) => k.hasAttribute('data-trigger')) || kids[0] || null;\n let list = this.querySelector<HTMLElement>(':scope > .usa-menu-list');\n if (!list) {\n list = part('div', 'usa-menu-list', { role: 'menu' });\n for (const k of kids) if (k !== this._btn) list.append(k);\n this.append(list);\n }\n this._list = list;\n list.id ||= nextId('usa-menu');\n list.hidden = !this._open;\n const pl = this.str('placement', 'bottom-start');\n this.dataset.placement = /^(bottom|top)-(start|end)$/.test(pl) ? pl : 'bottom-start';\n const ef = this.str('effect', 'scale');\n this.dataset.effect = (MENU_EFFECTS as readonly string[]).includes(ef) ? ef : 'scale';\n this._items = Array.from(list.children).filter((c): c is HTMLElement => c instanceof HTMLElement && !c.matches('hr,[role=\"separator\"]'));\n list.querySelectorAll('hr').forEach((h) => h.setAttribute('role', 'separator'));\n this._items.forEach((it, i) => {\n it.setAttribute('role', 'menuitem');\n it.tabIndex = -1;\n if (it.localName === 'button' && !it.hasAttribute('type')) it.setAttribute('type', 'button');\n this.listen(it, 'click', () => {\n this.emit('select', { index: i, value: it.dataset.value || (it.textContent || '').trim(), item: it });\n this.close(true);\n });\n });\n const b = this._btn;\n if (b) {\n b.setAttribute('aria-haspopup', 'menu');\n b.setAttribute('aria-expanded', String(this._open));\n b.setAttribute('aria-controls', list.id);\n if (b.localName === 'button' && !b.hasAttribute('type')) b.setAttribute('type', 'button');\n this.listen(b, 'click', () => this.toggle());\n this.listen(b, 'keydown', (e: KeyboardEvent) => {\n if (e.key === 'ArrowDown' || e.key === 'ArrowUp') {\n e.preventDefault();\n this.open(e.key === 'ArrowUp' ? 'last' : 'first');\n }\n });\n }\n this.listen(list, 'keydown', (e: KeyboardEvent) => {\n const n = this._items.length;\n const i = this._items.indexOf(document.activeElement as HTMLElement);\n let j = -1;\n if (e.key === 'ArrowDown') j = (i + 1) % n;\n else if (e.key === 'ArrowUp') j = (i - 1 + n) % n;\n else if (e.key === 'Home') j = 0;\n else if (e.key === 'End') j = n - 1;\n else if (e.key === 'Escape') {\n e.preventDefault();\n return this.close(true);\n } else if (e.key === 'Tab') return this.close(false);\n if (j >= 0) {\n e.preventDefault();\n this._items[j]?.focus();\n }\n });\n this.listen(document, 'pointerdown', (e: PointerEvent) => {\n if (this._open && !this.contains(e.target as Node)) this.close(false);\n });\n }\n\n open(focus: 'first' | 'last' = 'first'): void {\n const l = this._list;\n if (!l || this._open) return;\n this._open = true;\n l.hidden = false;\n this._btn?.setAttribute('aria-expanded', 'true');\n this.setAttribute('data-open', '');\n const ef = this.dataset.effect;\n if (this.reduced) this.motion(l, [{ opacity: 0 }, { opacity: 1 }], { duration: 120 });\n else {\n const f: Keyframe[] = ef === 'fold' ? [{ transform: 'perspective(600px) rotateX(-70deg)', opacity: 0 }, { transform: 'none', opacity: 1 }] : ef === 'slide' ? [{ transform: 'translateY(-10px)', opacity: 0, clipPath: 'inset(0 0 100% 0 round 12px)' }, { transform: 'none', opacity: 1, clipPath: 'inset(0 0 0 0 round 12px)' }] : [{ transform: 'scale(.6)', opacity: 0 }, { transform: 'scale(1.03)', opacity: 1, offset: 0.7 }, { transform: 'none', opacity: 1 }];\n this.motion(l, f, { duration: 300, easing: 'cubic-bezier(.22,1,.36,1)' });\n this._items.forEach((it, i) => this.motion(it, [{ opacity: 0, transform: 'translateY(-6px)' }, { opacity: 1, transform: 'none' }], { duration: 260, delay: 40 + i * 35, easing: 'cubic-bezier(.22,1,.36,1)', fill: 'backwards' }));\n }\n (focus === 'last' ? this._items[this._items.length - 1] : this._items[0])?.focus();\n this.emit('open');\n }\n\n close(focusTrigger = false): void {\n const l = this._list;\n if (!l || !this._open) return;\n this._open = false;\n this._btn?.setAttribute('aria-expanded', 'false');\n this.removeAttribute('data-open');\n const a = this.motion(l, [{ opacity: 1, transform: 'none' }, { opacity: 0, transform: this.reduced ? 'none' : 'scale(.96)' }], { duration: this.reduced ? 80 : 150, easing: 'ease-in' });\n const hide = () => {\n if (!this._open) l.hidden = true;\n };\n if (a) a.finished.then(hide, hide);\n else hide();\n if (focusTrigger) this._btn?.focus();\n this.emit('close');\n }\n\n toggle(): void {\n if (this._open) this.close(true);\n else this.open();\n }\n }\n return UsaMenu as unknown as CustomElementConstructor;\n },\n { id: 'menu', text: css }\n );\n}\n","/**\n * motionary/components/widgets — the 6.x animated UI widgets, in their own\n * entry so `motionary/components` and `components/lite` keep their size\n * budgets. Every widget is reduced-motion safe and keyboard accessible.\n *\n * ```ts\n * import { defineWidgets } from 'motionary/components/widgets';\n * defineWidgets(); // or defineCarousel(), defineTabBar(), …\n * ```\n * No build step: `<script src=\"https://unpkg.com/motionary@6/dist/widgets.umd.js\">`\n * (registers every widget and every 6.x effect pack; `window.UsaWidgets`).\n */\nimport { defineCarousel, CAROUSEL_EFFECTS, type UsaCarouselElement } from './carousel';\nimport { defineTabBar, TAB_INDICATORS, type UsaTabBarElement } from './tab-bar';\nimport { defineDisclosure, type UsaDisclosureElement } from './disclosure';\nimport { defineStories, type UsaStoriesElement } from './stories';\nimport { defineToastStack, stackToast, TOAST_POSITIONS, type UsaToastStackElement, type StackToastOptions } from './toast';\nimport { defineModal, defineSheet, MODAL_EFFECTS, SHEET_SIDES, type UsaModalElement, type UsaSheetElement } from './overlay';\nimport { defineMenu, MENU_EFFECTS, type UsaMenuElement } from './menu';\n\nexport { defineCarousel, defineTabBar, defineDisclosure, defineStories, CAROUSEL_EFFECTS, TAB_INDICATORS };\nexport type { UsaCarouselElement, UsaTabBarElement, UsaDisclosureElement, UsaStoriesElement };\nexport { defineToastStack, stackToast, TOAST_POSITIONS, defineModal, defineSheet, MODAL_EFFECTS, SHEET_SIDES, defineMenu, MENU_EFFECTS };\nexport type { UsaToastStackElement, StackToastOptions, UsaModalElement, UsaSheetElement, UsaMenuElement };\n\n/** The widgets by release (tag → define function). */\nexport const WIDGETS: Record<string, Record<string, (tag?: string) => CustomElementConstructor | undefined>> = {\n '6.2': { 'usa-carousel': defineCarousel, 'usa-tab-bar': defineTabBar, 'usa-disclosure': defineDisclosure, 'usa-stories': defineStories },\n '6.3': { 'usa-toast-stack': defineToastStack, 'usa-modal': defineModal, 'usa-sheet': defineSheet, 'usa-menu': defineMenu },\n};\n\n/** Every widget tag, in release order. */\nexport const WIDGET_TAGS: string[] = Object.values(WIDGETS).flatMap((g) => Object.keys(g));\n\n/** Register every widget (or only those of one release, e.g. `'6.2'`) under its default tag. */\nexport function defineWidgets(release?: string): void {\n for (const [v, group] of Object.entries(WIDGETS)) if (!release || release === v) for (const [tag, fn] of Object.entries(group)) fn(tag);\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'usa-carousel': UsaCarouselElement;\n 'usa-tab-bar': UsaTabBarElement;\n 'usa-disclosure': UsaDisclosureElement;\n 'usa-stories': UsaStoriesElement;\n 'usa-toast-stack': UsaToastStackElement;\n 'usa-modal': UsaModalElement;\n 'usa-sheet': UsaSheetElement;\n 'usa-menu': UsaMenuElement;\n }\n}\n"],"names":["defineElement","css","springEasing"],"mappings":"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"}
@@ -0,0 +1,206 @@
1
+ /**
2
+ * Members shared by every `<usa-*>` element. Attribute helpers, a cleanup
3
+ * bag that is emptied on disconnect, and motion helpers that degrade to the
4
+ * final state without WAAPI or under reduced motion.
5
+ */
6
+ interface UsaElement extends HTMLElement {
7
+ /** `true` while reduced motion applies to this element. */
8
+ readonly reduced: boolean;
9
+ }
10
+
11
+ /**
12
+ * `<usa-carousel>` (6.2) — swipeable carousel / slider. Each child is a slide.
13
+ * Attributes: `effect` (`slide` · `fade` · `scale` · `cards` — 3D coverflow),
14
+ * `autoplay` (ms; pauses on hover, focus, when off screen and under reduced
15
+ * motion), `loop`, `index`, `label` ("Carousel"), `no-controls`, `no-dots`.
16
+ * Drag / swipe with a pointer, arrow keys when focused. API: `next()`,
17
+ * `prev()`, `goTo(i)`, `index`, `length`. Events: `usa:change` (`{ index, from }`).
18
+ * Reduced motion: slides switch without movement.
19
+ */
20
+ interface UsaCarouselElement extends UsaElement {
21
+ index: number;
22
+ readonly length: number;
23
+ next(): void;
24
+ prev(): void;
25
+ goTo(i: number): void;
26
+ }
27
+ declare const CAROUSEL_EFFECTS: readonly ["slide", "fade", "scale", "cards"];
28
+ declare function defineCarousel(tag?: string): CustomElementConstructor | undefined;
29
+
30
+ /**
31
+ * `<usa-tab-bar>` (6.2) — tabs with an animated indicator that stretches
32
+ * from the old tab to the new one (leading edge first, then the trailing edge
33
+ * catches up). Children: `<button>` tabs, and optional panels marked
34
+ * `data-panel` (in the same order). Attributes: `indicator` (`pill` ·
35
+ * `underline` · `glow` · `gooey`), `selected` (index), `label`. Arrow keys,
36
+ * Home/End. API: `select(i)`, `selected`. Events: `usa:change` (`{ index, from }`).
37
+ * Panels slide in from the side of travel. Reduced motion: no stretch / slide.
38
+ */
39
+ interface UsaTabBarElement extends UsaElement {
40
+ selected: number;
41
+ select(i: number): void;
42
+ }
43
+ declare const TAB_INDICATORS: readonly ["pill", "underline", "glow", "gooey"];
44
+ declare function defineTabBar(tag?: string): CustomElementConstructor | undefined;
45
+
46
+ /**
47
+ * `<usa-disclosure>` (6.2) — accordion 2.0 on native `<details>`: the
48
+ * content springs open / closed (height + fade), the chevron flips with an
49
+ * overshoot. Children: `<details><summary>…</summary>…</details>`.
50
+ * Attributes: `multiple` (allow several open; default: one at a time),
51
+ * `spring` (preset, default `gentle`), `variant="cards"`. API: `openAll()`,
52
+ * `closeAll()`, `toggle(i, force?)`. Events: `usa:toggle` (`{ index, open }`).
53
+ * Native semantics (keyboard, find-in-page) kept. Reduced motion: instant.
54
+ */
55
+ interface UsaDisclosureElement extends UsaElement {
56
+ toggle(i: number, force?: boolean): void;
57
+ openAll(): void;
58
+ closeAll(): void;
59
+ }
60
+ declare function defineDisclosure(tag?: string): CustomElementConstructor | undefined;
61
+
62
+ /**
63
+ * `<usa-stories>` (6.2) — story viewer: segmented progress bars at the top,
64
+ * auto-advance, tap the left / right third to go back / forward, press and
65
+ * hold to pause, a pause button (WCAG 2.2.2). Each child is one story.
66
+ * Attributes: `duration` (ms per story, 5000), `loop`, `paused`.
67
+ * API: `next()`, `prev()`, `goTo(i)`, `pause()`, `play()`, `index`.
68
+ * Events: `usa:change` (`{ index }`), `usa:end`. Reduced motion: no
69
+ * auto-advance (paused until the user navigates), cross-fade only.
70
+ */
71
+ interface UsaStoriesElement extends UsaElement {
72
+ readonly index: number;
73
+ next(): void;
74
+ prev(): void;
75
+ goTo(i: number): void;
76
+ pause(): void;
77
+ play(): void;
78
+ }
79
+ declare function defineStories(tag?: string): CustomElementConstructor | undefined;
80
+
81
+ /**
82
+ * `<usa-toast-stack>` (6.3) — notifications that pile up into a collapsed
83
+ * stack (newest in front, older ones peeking behind), fan out on hover or
84
+ * focus, auto-dismiss (paused while hovered), and can be swiped away.
85
+ *
86
+ * Attributes: `position` (`bottom-right` · `bottom-left` · `bottom-center` ·
87
+ * `top-right` · `top-left` · `top-center`), `duration` (ms, `0` = sticky),
88
+ * `max` (visible in the stack), `contained` (positioned inside its parent
89
+ * instead of the viewport). API: `show(message | options)` → id,
90
+ * `dismiss(id)`, `clear()`; module helper `stackToast()` uses the first stack on
91
+ * the page (creating one). Any `[data-usa-toast="message"]` element shows a
92
+ * toast on click (`data-usa-toast-type`, `data-usa-target`). Events:
93
+ * `usa:show`, `usa:dismiss` (`{ id, reason }`). Toasts live in a polite live
94
+ * region. Reduced motion: no slide or swipe animation.
95
+ */
96
+ interface StackToastOptions {
97
+ message?: string;
98
+ title?: string;
99
+ type?: 'info' | 'success' | 'warning' | 'error';
100
+ /** ms; 0 = stays until dismissed. Defaults to the stack's `duration`. */
101
+ duration?: number;
102
+ /** An action button. */
103
+ action?: {
104
+ label: string;
105
+ onClick?: () => void;
106
+ };
107
+ }
108
+ interface UsaToastStackElement extends UsaElement {
109
+ show(input: string | StackToastOptions): string;
110
+ dismiss(id: string, reason?: string): void;
111
+ clear(): void;
112
+ readonly count: number;
113
+ }
114
+ declare const TOAST_POSITIONS: readonly ["bottom-right", "bottom-left", "bottom-center", "top-right", "top-left", "top-center"];
115
+ declare function defineToastStack(tag?: string): CustomElementConstructor | undefined;
116
+ /** Show a toast on the first `<usa-toast-stack>` of the page (one is created when missing). */
117
+ declare function stackToast(input: string | StackToastOptions, stack?: UsaToastStackElement | null): string;
118
+
119
+ /**
120
+ * `<usa-modal>` and `<usa-sheet>` (6.3) — modal overlays on the native
121
+ * `<dialog>` (top layer, focus trap, Esc, inert page), with animated open
122
+ * and close and a fading, blurred backdrop.
123
+ *
124
+ * - `<usa-modal effect="scale | slide-up | flip | origin">` — `origin`
125
+ * grows the dialog out of the button that opened it.
126
+ * - `<usa-sheet side="right | left | bottom | top">` — a side sheet; a
127
+ * bottom sheet can be dragged down to dismiss (`<div data-handle>` or the
128
+ * built-in grab handle).
129
+ *
130
+ * Attributes: `open` (initial), `label`, `persistent` (backdrop click / Esc
131
+ * don't close). Any element with `data-usa-open="<id>"` opens the overlay
132
+ * with that id; `[data-usa-close]` inside closes it. API: `show(trigger?)`,
133
+ * `close(value?)`, `toggle()`, `opened`. Events: `usa:open`, `usa:close`
134
+ * (`{ value }`). Focus returns to the opener. Reduced motion: no movement,
135
+ * a short fade.
136
+ */
137
+ interface UsaOverlayElement extends UsaElement {
138
+ readonly opened: boolean;
139
+ readonly returnValue: string;
140
+ show(trigger?: Element | null): void;
141
+ close(value?: string): Promise<void>;
142
+ toggle(): void;
143
+ }
144
+ type UsaModalElement = UsaOverlayElement;
145
+ type UsaSheetElement = UsaOverlayElement;
146
+ declare const MODAL_EFFECTS: readonly ["scale", "slide-up", "flip", "origin"];
147
+ declare const SHEET_SIDES: readonly ["right", "left", "bottom", "top"];
148
+ declare const defineModal: (tag?: string) => CustomElementConstructor | undefined;
149
+ declare const defineSheet: (tag?: string) => CustomElementConstructor | undefined;
150
+
151
+ /**
152
+ * `<usa-menu>` (6.3) — a dropdown menu that unfolds from its button: the
153
+ * list scales out of the trigger corner and the items cascade in. The first
154
+ * child is the trigger (or `[data-trigger]`); the other children (`<button>`,
155
+ * `<a>`, `<hr>` separators) become menu items.
156
+ *
157
+ * Attributes: `placement` (`bottom-start` · `bottom-end` · `top-start` ·
158
+ * `top-end`), `effect` (`scale` · `fold` · `slide`). Keyboard: Enter / Space /
159
+ * ArrowDown open, arrows and Home / End move, Esc closes, Tab leaves; outside
160
+ * clicks close. API: `open()`, `close()`, `toggle()`, `opened`. Events:
161
+ * `usa:select` (`{ index, value, item }`), `usa:open`, `usa:close`. Reduced
162
+ * motion: a short fade.
163
+ */
164
+ interface UsaMenuElement extends UsaElement {
165
+ readonly opened: boolean;
166
+ open(focus?: 'first' | 'last'): void;
167
+ close(focusTrigger?: boolean): void;
168
+ toggle(): void;
169
+ }
170
+ declare const MENU_EFFECTS: readonly ["scale", "fold", "slide"];
171
+ declare function defineMenu(tag?: string): CustomElementConstructor | undefined;
172
+
173
+ /**
174
+ * motionary/components/widgets — the 6.x animated UI widgets, in their own
175
+ * entry so `motionary/components` and `components/lite` keep their size
176
+ * budgets. Every widget is reduced-motion safe and keyboard accessible.
177
+ *
178
+ * ```ts
179
+ * import { defineWidgets } from 'motionary/components/widgets';
180
+ * defineWidgets(); // or defineCarousel(), defineTabBar(), …
181
+ * ```
182
+ * No build step: `<script src="https://unpkg.com/motionary@6/dist/widgets.umd.js">`
183
+ * (registers every widget and every 6.x effect pack; `window.UsaWidgets`).
184
+ */
185
+
186
+ /** The widgets by release (tag → define function). */
187
+ declare const WIDGETS: Record<string, Record<string, (tag?: string) => CustomElementConstructor | undefined>>;
188
+ /** Every widget tag, in release order. */
189
+ declare const WIDGET_TAGS: string[];
190
+ /** Register every widget (or only those of one release, e.g. `'6.2'`) under its default tag. */
191
+ declare function defineWidgets(release?: string): void;
192
+ declare global {
193
+ interface HTMLElementTagNameMap {
194
+ 'usa-carousel': UsaCarouselElement;
195
+ 'usa-tab-bar': UsaTabBarElement;
196
+ 'usa-disclosure': UsaDisclosureElement;
197
+ 'usa-stories': UsaStoriesElement;
198
+ 'usa-toast-stack': UsaToastStackElement;
199
+ 'usa-modal': UsaModalElement;
200
+ 'usa-sheet': UsaSheetElement;
201
+ 'usa-menu': UsaMenuElement;
202
+ }
203
+ }
204
+
205
+ export { CAROUSEL_EFFECTS, MENU_EFFECTS, MODAL_EFFECTS, SHEET_SIDES, TAB_INDICATORS, TOAST_POSITIONS, WIDGETS, WIDGET_TAGS, defineCarousel, defineDisclosure, defineMenu, defineModal, defineSheet, defineStories, defineTabBar, defineToastStack, defineWidgets, stackToast };
206
+ export type { StackToastOptions, UsaCarouselElement, UsaDisclosureElement, UsaMenuElement, UsaModalElement, UsaSheetElement, UsaStoriesElement, UsaTabBarElement, UsaToastStackElement };