motionary 7.9.0 → 8.1.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 (219) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/README.md +1 -1
  3. package/README_ja.md +1 -1
  4. package/README_zh.md +1 -1
  5. package/dist/chunks/{audio-DcPvT2Kh.js → audio-CynhhWDi.js} +3 -3
  6. package/dist/chunks/{audio-DcPvT2Kh.js.map → audio-CynhhWDi.js.map} +1 -1
  7. package/dist/chunks/{audio-EXUoijsG.cjs → audio-cgWbDkoY.cjs} +3 -3
  8. package/dist/chunks/{audio-EXUoijsG.cjs.map → audio-cgWbDkoY.cjs.map} +1 -1
  9. package/dist/chunks/{base-2-yYc93C.js → base-CLuqlLfG.js} +63 -6
  10. package/dist/chunks/base-CLuqlLfG.js.map +1 -0
  11. package/dist/chunks/{base-BaQV-2ha.cjs → base-DoRUZBy-.cjs} +66 -5
  12. package/dist/chunks/base-DoRUZBy-.cjs.map +1 -0
  13. package/dist/chunks/{builtins-HlqAkK0f.js → builtins-Bs4smevg.js} +3 -3
  14. package/dist/chunks/{builtins-HlqAkK0f.js.map → builtins-Bs4smevg.js.map} +1 -1
  15. package/dist/chunks/{builtins-xalxV2d5.cjs → builtins-ClXshqj-.cjs} +3 -3
  16. package/dist/chunks/{builtins-xalxV2d5.cjs.map → builtins-ClXshqj-.cjs.map} +1 -1
  17. package/dist/chunks/{core-DuO-AVXL.js → core-C3Taz-ew.js} +2 -2
  18. package/dist/chunks/{core-DuO-AVXL.js.map → core-C3Taz-ew.js.map} +1 -1
  19. package/dist/chunks/{core-D5rU0CV6.js → core-CiN5sqxB.js} +2 -2
  20. package/dist/chunks/{core-D5rU0CV6.js.map → core-CiN5sqxB.js.map} +1 -1
  21. package/dist/chunks/{core-BGAyaY6L.cjs → core-CwO835Wm.cjs} +2 -2
  22. package/dist/chunks/{core-BGAyaY6L.cjs.map → core-CwO835Wm.cjs.map} +1 -1
  23. package/dist/chunks/{core-zq17EeCI.cjs → core-O4grKHSa.cjs} +2 -2
  24. package/dist/chunks/{core-zq17EeCI.cjs.map → core-O4grKHSa.cjs.map} +1 -1
  25. package/dist/chunks/{fx-lBGVtQO1.cjs → fx-C-XjLOTc.cjs} +2 -2
  26. package/dist/chunks/{fx-lBGVtQO1.cjs.map → fx-C-XjLOTc.cjs.map} +1 -1
  27. package/dist/chunks/{fx-CMxWNwH8.js → fx-CQv3IxMf.js} +2 -2
  28. package/dist/chunks/{fx-CMxWNwH8.js.map → fx-CQv3IxMf.js.map} +1 -1
  29. package/dist/chunks/{gpu-DLPghVWr.js → gpu-CB8frFOD.js} +2 -2
  30. package/dist/chunks/{gpu-DLPghVWr.js.map → gpu-CB8frFOD.js.map} +1 -1
  31. package/dist/chunks/{gpu-Dx0H875w.cjs → gpu-CcdA2D2i.cjs} +2 -2
  32. package/dist/chunks/{gpu-Dx0H875w.cjs.map → gpu-CcdA2D2i.cjs.map} +1 -1
  33. package/dist/chunks/{index-tags-C04JP8g4.js → index-tags-B-JBecYg.js} +2 -2
  34. package/dist/chunks/index-tags-B-JBecYg.js.map +1 -0
  35. package/dist/chunks/{index-tags-BTMwrfgV.cjs → index-tags-hLIF2Clq.cjs} +2 -2
  36. package/dist/chunks/index-tags-hLIF2Clq.cjs.map +1 -0
  37. package/dist/chunks/{player-PS6_FzNw.cjs → player-C2n17sdH.cjs} +4 -4
  38. package/dist/chunks/{player-PS6_FzNw.cjs.map → player-C2n17sdH.cjs.map} +1 -1
  39. package/dist/chunks/{player-DxvCYo7Q.js → player-YzQGkKaW.js} +4 -4
  40. package/dist/chunks/{player-DxvCYo7Q.js.map → player-YzQGkKaW.js.map} +1 -1
  41. package/dist/chunks/{registry-DehBVRDV.cjs → registry-BVklOepd.cjs} +2 -2
  42. package/dist/chunks/{registry-DehBVRDV.cjs.map → registry-BVklOepd.cjs.map} +1 -1
  43. package/dist/chunks/{registry-CyKExAmE.js → registry-CnO7ZVPK.js} +2 -2
  44. package/dist/chunks/{registry-CyKExAmE.js.map → registry-CnO7ZVPK.js.map} +1 -1
  45. package/dist/chunks/{spring-BK8DiezC.js → spring-BFKNHmfl.js} +2 -2
  46. package/dist/chunks/{spring-BK8DiezC.js.map → spring-BFKNHmfl.js.map} +1 -1
  47. package/dist/chunks/{spring-Dgx187Vh.cjs → spring-uQMVJTj9.cjs} +2 -2
  48. package/dist/chunks/{spring-Dgx187Vh.cjs.map → spring-uQMVJTj9.cjs.map} +1 -1
  49. package/dist/chunks/{variants-BQ6bhzn4.js → variants-B-zKORvt.js} +2 -2
  50. package/dist/chunks/{variants-BQ6bhzn4.js.map → variants-B-zKORvt.js.map} +1 -1
  51. package/dist/chunks/{variants-BhjyddG8.cjs → variants-DagykrKH.cjs} +2 -2
  52. package/dist/chunks/{variants-BhjyddG8.cjs.map → variants-DagykrKH.cjs.map} +1 -1
  53. package/dist/components/a11y.cjs +2 -2
  54. package/dist/components/a11y.d.cts +1 -1
  55. package/dist/components/a11y.d.ts +1 -1
  56. package/dist/components/a11y.js +3 -3
  57. package/dist/components/angular.cjs +9 -9
  58. package/dist/components/angular.d.cts +2 -18
  59. package/dist/components/angular.d.ts +2 -18
  60. package/dist/components/angular.js +9 -9
  61. package/dist/components/background.cjs +2 -2
  62. package/dist/components/background.js +2 -2
  63. package/dist/components/bridge.cjs +1 -1
  64. package/dist/components/bridge.js +1 -1
  65. package/dist/components/cards.cjs +2 -2
  66. package/dist/components/cards.js +2 -2
  67. package/dist/components/click.cjs +3 -3
  68. package/dist/components/click.js +3 -3
  69. package/dist/components/depth.cjs +3 -3
  70. package/dist/components/depth.js +3 -3
  71. package/dist/components/effects.cjs +7 -7
  72. package/dist/components/effects.js +9 -9
  73. package/dist/components/engine.cjs +266 -0
  74. package/dist/components/engine.cjs.map +1 -0
  75. package/dist/components/engine.d.cts +105 -0
  76. package/dist/components/engine.d.ts +105 -0
  77. package/dist/components/engine.js +255 -0
  78. package/dist/components/engine.js.map +1 -0
  79. package/dist/components/feedback.cjs +1 -1
  80. package/dist/components/feedback.js +1 -1
  81. package/dist/components/fx-3d.cjs +2 -2
  82. package/dist/components/fx-3d.js +2 -2
  83. package/dist/components/fx-ai.cjs +2 -2
  84. package/dist/components/fx-ai.js +2 -2
  85. package/dist/components/fx-chart.cjs +2 -2
  86. package/dist/components/fx-chart.js +2 -2
  87. package/dist/components/fx-festival.cjs +121 -0
  88. package/dist/components/fx-festival.cjs.map +1 -0
  89. package/dist/components/fx-festival.d.cts +69 -0
  90. package/dist/components/fx-festival.d.ts +69 -0
  91. package/dist/components/fx-festival.js +117 -0
  92. package/dist/components/fx-festival.js.map +1 -0
  93. package/dist/components/fx-focus.cjs +2 -2
  94. package/dist/components/fx-focus.js +2 -2
  95. package/dist/components/fx-form.cjs +2 -2
  96. package/dist/components/fx-form.js +2 -2
  97. package/dist/components/fx-game.cjs +2 -2
  98. package/dist/components/fx-game.js +2 -2
  99. package/dist/components/fx-geo.cjs +2 -2
  100. package/dist/components/fx-geo.js +2 -2
  101. package/dist/components/fx-gpu.cjs +3 -3
  102. package/dist/components/fx-gpu.js +3 -3
  103. package/dist/components/fx-light.cjs +2 -2
  104. package/dist/components/fx-light.js +2 -2
  105. package/dist/components/fx-morph.cjs +2 -2
  106. package/dist/components/fx-morph.js +2 -2
  107. package/dist/components/fx-music.cjs +3 -3
  108. package/dist/components/fx-music.js +3 -3
  109. package/dist/components/fx-physics.cjs +2 -2
  110. package/dist/components/fx-physics.js +2 -2
  111. package/dist/components/fx-shop.cjs +2 -2
  112. package/dist/components/fx-shop.js +2 -2
  113. package/dist/components/fx-social.cjs +2 -2
  114. package/dist/components/fx-social.js +2 -2
  115. package/dist/components/fx-text.cjs +2 -2
  116. package/dist/components/fx-text.js +2 -2
  117. package/dist/components/fx-transitions.cjs +3 -3
  118. package/dist/components/fx-transitions.js +3 -3
  119. package/dist/components/fx-weather.cjs +2 -2
  120. package/dist/components/fx-weather.js +2 -2
  121. package/dist/components/fx.cjs +5 -5
  122. package/dist/components/fx.js +6 -6
  123. package/dist/components/fx2.cjs +10 -4
  124. package/dist/components/fx2.cjs.map +1 -1
  125. package/dist/components/fx2.d.cts +26 -1
  126. package/dist/components/fx2.d.ts +26 -1
  127. package/dist/components/fx2.js +10 -6
  128. package/dist/components/fx2.js.map +1 -1
  129. package/dist/components/gesture.cjs +3 -3
  130. package/dist/components/gesture.js +4 -4
  131. package/dist/components/interaction.cjs +1 -1
  132. package/dist/components/interaction.js +1 -1
  133. package/dist/components/jsx.d.cts +1 -1
  134. package/dist/components/jsx.d.ts +1 -1
  135. package/dist/components/layout.cjs +1 -1
  136. package/dist/components/layout.js +1 -1
  137. package/dist/components/lazy.cjs +1 -1
  138. package/dist/components/lazy.d.cts +1 -1
  139. package/dist/components/lazy.d.ts +1 -1
  140. package/dist/components/lazy.js +1 -1
  141. package/dist/components/lite.cjs +151 -206
  142. package/dist/components/lite.cjs.map +1 -1
  143. package/dist/components/lite.js +152 -206
  144. package/dist/components/lite.js.map +1 -1
  145. package/dist/components/marketplace.cjs +2 -2
  146. package/dist/components/marketplace.js +2 -2
  147. package/dist/components/packs.cjs +1 -1
  148. package/dist/components/packs.js +1 -1
  149. package/dist/components/page.cjs +2 -2
  150. package/dist/components/page.js +3 -3
  151. package/dist/components/perf.cjs +2 -2
  152. package/dist/components/perf.d.cts +1 -1
  153. package/dist/components/perf.d.ts +1 -1
  154. package/dist/components/perf.js +3 -3
  155. package/dist/components/physics.cjs +2 -2
  156. package/dist/components/physics.js +3 -3
  157. package/dist/components/react.cjs +1 -1
  158. package/dist/components/react.js +1 -1
  159. package/dist/components/reveal.cjs +1 -1
  160. package/dist/components/reveal.js +1 -1
  161. package/dist/components/solid.cjs +9 -9
  162. package/dist/components/solid.d.cts +2 -18
  163. package/dist/components/solid.d.ts +2 -18
  164. package/dist/components/solid.js +9 -9
  165. package/dist/components/svelte.cjs +9 -9
  166. package/dist/components/svelte.d.cts +2 -18
  167. package/dist/components/svelte.d.ts +2 -18
  168. package/dist/components/svelte.js +9 -9
  169. package/dist/components/svg.cjs +1 -1
  170. package/dist/components/svg.js +1 -1
  171. package/dist/components/text.cjs +2 -2
  172. package/dist/components/text.js +2 -2
  173. package/dist/components/timeline.cjs +2 -2
  174. package/dist/components/timeline.js +3 -3
  175. package/dist/components/transitions.cjs +1 -1
  176. package/dist/components/transitions.js +1 -1
  177. package/dist/components/ui.cjs +17 -108
  178. package/dist/components/ui.cjs.map +1 -1
  179. package/dist/components/ui.css +0 -1
  180. package/dist/components/ui.d.cts +3 -20
  181. package/dist/components/ui.d.ts +3 -20
  182. package/dist/components/ui.js +19 -109
  183. package/dist/components/ui.js.map +1 -1
  184. package/dist/components/vue.cjs +9 -9
  185. package/dist/components/vue.d.cts +2 -18
  186. package/dist/components/vue.d.ts +2 -18
  187. package/dist/components/vue.js +9 -9
  188. package/dist/components/webgl.cjs +1 -1
  189. package/dist/components/webgl.js +1 -1
  190. package/dist/components/widgets.cjs +373 -146
  191. package/dist/components/widgets.cjs.map +1 -1
  192. package/dist/components/widgets.d.cts +110 -2
  193. package/dist/components/widgets.d.ts +110 -2
  194. package/dist/components/widgets.js +369 -147
  195. package/dist/components/widgets.js.map +1 -1
  196. package/dist/components.cjs +9 -10
  197. package/dist/components.cjs.map +1 -1
  198. package/dist/components.css +0 -1
  199. package/dist/components.d.cts +4 -21
  200. package/dist/components.d.ts +4 -21
  201. package/dist/components.js +12 -12
  202. package/dist/components.umd.js +2 -2
  203. package/dist/components.umd.js.map +1 -1
  204. package/dist/index.cjs +2 -2
  205. package/dist/index.js +2 -2
  206. package/dist/index.umd.js +2 -2
  207. package/dist/index.umd.js.map +1 -1
  208. package/dist/widgets.umd.js +1 -1
  209. package/dist/widgets.umd.js.map +1 -1
  210. package/docs/ROADMAP.md +14 -12
  211. package/docs/accessibility.md +1 -2
  212. package/docs/components.md +44 -1
  213. package/docs/deprecations.md +1 -1
  214. package/docs/upgrading-8.md +9 -6
  215. package/package.json +41 -1
  216. package/dist/chunks/base-2-yYc93C.js.map +0 -1
  217. package/dist/chunks/base-BaQV-2ha.cjs.map +0 -1
  218. package/dist/chunks/index-tags-BTMwrfgV.cjs.map +0 -1
  219. package/dist/chunks/index-tags-C04JP8g4.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ui.cjs","sources":["../../src/components/ui/position.ts","../../src/components/ui/tabs.ts","../../src/components/ui/sheet.ts","../../src/components/ui/pull-refresh.ts","../../src/components/ui/fab.ts","../../src/components/ui/navbar.ts","../../src/components/ui/slider.ts","../../src/components/ui/rating.ts","../../src/components/ui/popover.ts","../../src/components/ui/badge.ts","../../src/components/ui/avatar-stack.ts","../../src/components/ui/index.ts"],"sourcesContent":["export type Placement = 'top' | 'bottom' | 'left' | 'right';\n\n/** Position a fixed `floating` element next to `anchor`, flipping when it would leave the viewport. */\nexport function place(floating: HTMLElement, anchor: Element, placement: Placement = 'top', gap = 8): Placement {\n const a = anchor.getBoundingClientRect();\n const f = floating.getBoundingClientRect();\n const W = window.innerWidth || 1024;\n const H = window.innerHeight || 768;\n const fits: Record<Placement, boolean> = {\n top: a.top - f.height - gap >= 0,\n bottom: a.bottom + f.height + gap <= H,\n left: a.left - f.width - gap >= 0,\n right: a.right + f.width + gap <= W,\n };\n const opposite: Record<Placement, Placement> = { top: 'bottom', bottom: 'top', left: 'right', right: 'left' };\n const p = fits[placement] || !fits[opposite[placement]] ? placement : opposite[placement];\n let x = 0;\n let y = 0;\n if (p === 'top' || p === 'bottom') {\n x = Math.min(Math.max(4, a.left + a.width / 2 - f.width / 2), W - f.width - 4);\n y = p === 'top' ? a.top - f.height - gap : a.bottom + gap;\n } else {\n y = Math.min(Math.max(4, a.top + a.height / 2 - f.height / 2), H - f.height - 4);\n x = p === 'left' ? a.left - f.width - gap : a.right + gap;\n }\n floating.style.left = `${Math.round(x)}px`;\n floating.style.top = `${Math.round(y)}px`;\n floating.setAttribute('data-placement', p);\n return p;\n}\n\nlet uid = 0;\nexport const nextId = (prefix: string): string => `${prefix}-${++uid}`;\n","import { defineElement, type UsaElement } from '../base';\nimport { springEasing } from '../physics/spring';\nimport { adoptVariants } from './variants';\nimport { nextId } from './position';\nimport css from './tabs.css?raw';\n\n/**\n * `<usa-tabs>` — accessible tabs with a sliding (spring) indicator.\n * Tabs: `[data-tab]` children (buttons); panels: `[data-panel]` children, in\n * the same order. Arrow keys / Home / End move between tabs (roving tabindex).\n *\n * Attributes: `selected` (index, 0), `indicator` (`line` default, `pill`),\n * `variant`. Events: `usa:change` (`{ index }`). Panels fade/slide in;\n * reduced motion: the indicator jumps and panels switch instantly.\n */\nexport interface UsaTabsElement extends UsaElement {\n selected: number;\n select(i: number, focus?: boolean): void;\n}\n\nexport function defineTabs(tag = 'usa-tabs'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(\n tag,\n (Base) =>\n class UsaTabs extends Base {\n static get observedAttributes(): string[] {\n return ['indicator'];\n }\n\n private _i = 0;\n private _bar: HTMLElement | null = null;\n\n get selected(): number {\n return this._i;\n }\n set selected(v: number) {\n this.select(v);\n }\n\n private tabs(): HTMLElement[] {\n return Array.from(this.querySelectorAll<HTMLElement>('[data-tab]')).filter((t) => t.closest(this.localName) === this);\n }\n private panels(): HTMLElement[] {\n return Array.from(this.querySelectorAll<HTMLElement>('[data-panel]')).filter((t) => t.closest(this.localName) === this);\n }\n\n mount(): void {\n const tabs = this.tabs();\n const panels = this.panels();\n const list = tabs[0]?.parentElement;\n if (!list) return;\n list.setAttribute('role', 'tablist');\n list.classList.add('usa-tabs-list');\n if (!list.querySelector(':scope > .usa-tabs-indicator')) {\n this._bar = document.createElement('span');\n this._bar.className = 'usa-tabs-indicator';\n this._bar.setAttribute('aria-hidden', 'true');\n list.append(this._bar);\n } else this._bar = list.querySelector(':scope > .usa-tabs-indicator');\n tabs.forEach((t, i) => {\n t.id ||= nextId('usa-tab');\n t.setAttribute('role', 'tab');\n const p = panels[i];\n if (p) {\n p.id ||= nextId('usa-panel');\n p.setAttribute('role', 'tabpanel');\n p.setAttribute('aria-labelledby', t.id);\n t.setAttribute('aria-controls', p.id);\n if (!p.hasAttribute('tabindex')) p.tabIndex = 0;\n }\n this.listen(t, 'click', () => this.select(i));\n });\n this.listen(list, 'keydown', (e: KeyboardEvent) => {\n const n = tabs.length;\n const map: Record<string, number> = { ArrowRight: this._i + 1, ArrowDown: this._i + 1, ArrowLeft: this._i - 1, ArrowUp: this._i - 1, Home: 0, End: n - 1 };\n if (!(e.key in map)) return;\n e.preventDefault();\n this.select((map[e.key] + n) % n, true);\n });\n const ro = typeof ResizeObserver !== 'undefined' ? new ResizeObserver(() => this.moveBar(false)) : null;\n ro?.observe(list);\n this.onCleanup(() => ro?.disconnect());\n this.select(Math.max(0, Math.min(tabs.length - 1, this.num('selected', 0))), false, true);\n }\n\n private moveBar(animate: boolean): void {\n const t = this.tabs()[this._i];\n const bar = this._bar;\n if (!t || !bar) return;\n const from = bar.style.transform;\n const fromW = bar.style.width;\n bar.style.width = `${t.offsetWidth}px`;\n bar.style.transform = `translateX(${t.offsetLeft}px)`;\n if (animate && from && !this.reduced) this.motion(bar, [{ transform: from, width: fromW }, { transform: bar.style.transform, width: bar.style.width }], springEasing('stiff'));\n }\n\n select(i: number, focus = false, initial = false): void {\n const tabs = this.tabs();\n const panels = this.panels();\n if (!tabs[i]) return;\n const prev = this._i;\n this._i = i;\n this.setAttribute('selected', String(i));\n tabs.forEach((t, j) => {\n t.setAttribute('aria-selected', String(j === i));\n t.tabIndex = j === i ? 0 : -1;\n });\n panels.forEach((p, j) => (p.hidden = j !== i));\n if (focus) tabs[i].focus();\n this.moveBar(!initial);\n if (initial || prev === i) return;\n const p = panels[i];\n if (p && !this.reduced) this.motion(p, [{ opacity: 0, transform: `translateX(${i > prev ? 16 : -16}px)` }, { opacity: 1, transform: 'none' }], { duration: 280, easing: 'cubic-bezier(0.22, 1, 0.36, 1)' });\n this.emit('change', { index: i });\n }\n },\n { id: 'tabs', text: css }\n );\n}\n","import { defineElement, clamp, type UsaElement } from '../base';\nimport { createSpring, projectInertia, snapTo, rubberBand, type SpringValue } from '../physics/spring';\nimport { adoptVariants } from './variants';\nimport css from './sheet.css?raw';\n\n/** Shared machinery of `<usa-drawer>` and `<usa-bottom-sheet>`: backdrop, focus, Esc, drag-to-dismiss. */\nfunction makePanel(Base: any, kind: 'drawer' | 'sheet') {\n return class UsaPanel extends Base {\n static get observedAttributes(): string[] {\n return ['open', 'side'];\n }\n\n _pos!: SpringValue;\n _backdrop: HTMLElement | null = null;\n _return: Element | null = null;\n _drag: { id: number; start: number; origin: number; t: number; last: number; lt: number } | null = null;\n\n get open(): boolean {\n return this.flag('open');\n }\n set open(v: boolean) {\n this.setFlag('open', v);\n }\n\n /** Main axis size of the panel (px). */\n size(): number {\n const r = this.getBoundingClientRect();\n return (kind === 'sheet' || this.vertical() ? r.height : r.width) || (kind === 'sheet' ? window.innerHeight * 0.9 : 320);\n }\n vertical(): boolean {\n return kind === 'sheet' || this.str('side') === 'top' || this.str('side') === 'bottom';\n }\n /** +1 when hiding moves the panel in the positive axis direction. */\n dir(): number {\n const side = kind === 'sheet' ? 'bottom' : this.str('side', 'left');\n return side === 'left' || side === 'top' ? -1 : 1;\n }\n /** Offsets (px from fully open) the panel may rest at; the largest closes it. */\n stops(): number[] {\n return [0];\n }\n render(v: number): void {\n const axis = this.vertical() ? 'Y' : 'X';\n this.style.transform = `translate${axis}(${(v * this.dir()).toFixed(1)}px)`;\n if (this._backdrop) this._backdrop.style.opacity = String(clamp(1 - v / (this.size() || 1), 0, 1));\n }\n\n mount(): void {\n this.setAttribute('role', 'dialog');\n if (this.str('label')) this.setAttribute('aria-label', this.str('label'));\n if (!this.hasAttribute('tabindex')) this.tabIndex = -1;\n this.classList.add('usa-surface');\n this._pos = createSpring({ value: this.size() * 2, spring: 'stiff', onUpdate: (v) => this.render(v), onRest: (v) => v >= this.size() - 1 && !this.open && this.afterClose() });\n if (this.open) this.show(false);\n else {\n this.hidden = true;\n this._pos.jump(this.size() * 1.2);\n }\n this.listen(document, 'keydown', (e: KeyboardEvent) => e.key === 'Escape' && this.open && this.close());\n this.listen(this, 'click', (e: MouseEvent) => (e.target as Element).closest?.('[data-close]') && this.close());\n this.listen(this, 'pointerdown', (e: PointerEvent) => this.dragStart(e));\n this.listen(this, 'pointermove', (e: PointerEvent) => this.dragMove(e));\n this.listen(this, 'pointerup', (e: PointerEvent) => this.dragEnd(e));\n this.listen(this, 'pointercancel', (e: PointerEvent) => this.dragEnd(e));\n }\n\n unmount(): void {\n this._pos?.stop();\n this._backdrop?.remove();\n this._backdrop = null;\n }\n\n changed(name: string): void {\n if (name !== 'open') return super.changed(name);\n if (this.open && this.hidden) this.show(true);\n else if (!this.open && !this.hidden) this.hide();\n }\n\n show(animate = true): void {\n this._return = document.activeElement;\n this.hidden = false;\n this.setAttribute('aria-modal', 'true');\n if (!this._backdrop) {\n this._backdrop = document.createElement('div');\n this._backdrop.className = 'usa-panel-backdrop';\n this._backdrop.addEventListener('click', () => this.close());\n this.before(this._backdrop);\n }\n const target = this.stops()[this.initialStop()];\n if (!animate) this._pos.jump(target);\n else {\n this._pos.jump(this.size());\n this._pos.set(target);\n }\n this.setFlag('open', true);\n this.focus({ preventScroll: true });\n this.emit('open');\n }\n\n initialStop(): number {\n return 0;\n }\n\n hide(): void {\n this._pos.set(this.size() * 1.05);\n this.emit('close');\n }\n\n afterClose(): void {\n this.hidden = true;\n this._backdrop?.remove();\n this._backdrop = null;\n if (this._return instanceof HTMLElement) this._return.focus({ preventScroll: true });\n }\n\n close(): void {\n this.setFlag('open', false);\n }\n\n dragStart(e: PointerEvent): void {\n const handle = kind === 'sheet' ? (e.target as Element).closest?.('[data-handle], .usa-sheet-handle') || (this.scrollTop <= 0 ? this : null) : this;\n if (!handle || (e.target as Element).closest?.('input, textarea, select, button, a, [data-no-drag]')) return;\n const p = this.vertical() ? e.clientY : e.clientX;\n this._pos.stop();\n this._drag = { id: e.pointerId, start: p, origin: this._pos.value, t: e.timeStamp, last: p, lt: e.timeStamp };\n }\n dragMove(e: PointerEvent): void {\n const d = this._drag;\n if (!d || e.pointerId !== d.id) return;\n const p = this.vertical() ? e.clientY : e.clientX;\n let v = d.origin + (p - d.start) * this.dir();\n if (v < 0) v = rubberBand(v, 200);\n d.lt = d.t;\n d.t = e.timeStamp;\n d.last = p;\n this._pos.jump(v);\n }\n dragEnd(e: PointerEvent): void {\n const d = this._drag;\n if (!d || e.pointerId !== d.id) return;\n this._drag = null;\n const moved = this._pos.value - d.origin;\n const dt = Math.max(16, d.t - d.lt) / 1000;\n const vel = Math.abs(moved) > 4 ? (moved / Math.max(dt, (e.timeStamp - (d.lt || 0)) / 1000 || 0.1)) * 0.2 : 0;\n const projected = projectInertia(this._pos.value, clamp(vel, -3000, 3000));\n const stops = [...this.stops(), this.size()];\n const to = snapTo(projected, stops);\n if (to >= this.size() - 1) this.close();\n else this._pos.set(to);\n this.emit('snap', { offset: to });\n }\n };\n}\n\n/**\n * `<usa-drawer>` — a side panel that slides in with a spring and can be\n * dragged / swiped closed. Modal: backdrop, Esc, focus returns on close.\n * Attributes: `open`, `side` (`left` default, `right`, `top`, `bottom`),\n * `label`, `variant`. Events: `usa:open`, `usa:close`. `[data-close]` closes.\n * Reduced motion: opens and closes instantly.\n */\nexport interface UsaDrawerElement extends UsaElement {\n open: boolean;\n show(): void;\n close(): void;\n}\n\n/**\n * `<usa-bottom-sheet>` — a draggable bottom sheet with snap points\n * (`snap=\"0.3,0.6,0.92\"`, fractions of the viewport height; default\n * `0.5,0.92`; `start` = index of the snap it opens at, default 0), inertia and drag-down-to-dismiss. `[data-handle]` (or the\n * built-in grabber) drags it. Attributes: `open`, `snap`, `start` (initial\n * snap index), `label`, `variant`. Events: `usa:open`, `usa:close`, `usa:snap`.\n */\nexport interface UsaBottomSheetElement extends UsaDrawerElement {}\n\nexport function defineDrawer(tag = 'usa-drawer'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(tag, (Base) => makePanel(Base, 'drawer') as unknown as CustomElementConstructor, { id: 'sheet', text: css });\n}\n\nexport function defineBottomSheet(tag = 'usa-bottom-sheet'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(\n tag,\n (Base) => {\n const Panel = makePanel(Base, 'sheet');\n return class UsaBottomSheet extends Panel {\n static get observedAttributes(): string[] {\n return ['open', 'snap'];\n }\n mount(): void {\n if (!this.querySelector(':scope > .usa-sheet-handle')) {\n const h = document.createElement('div');\n h.className = 'usa-sheet-handle';\n h.setAttribute('aria-hidden', 'true');\n this.prepend(h);\n }\n super.mount();\n }\n size(): number {\n return (window.innerHeight || 800) * Math.max(...this.fractions());\n }\n fractions(): number[] {\n const f = this.str('snap', '0.5,0.92').split(',').map(Number).filter((n: number) => n > 0 && n <= 1);\n return f.length ? f : [0.5, 0.92];\n }\n stops(): number[] {\n const full = this.size();\n const H = window.innerHeight || 800;\n return this.fractions().map((f: number) => Math.max(0, full - f * H)).sort((a: number, b: number) => a - b);\n }\n initialStop(): number {\n const f = this.fractions();\n const pick = f[clamp(this.num('start', 0), 0, f.length - 1)];\n const target = Math.max(0, this.size() - pick * (window.innerHeight || 800));\n const s = this.stops();\n return Math.max(0, s.indexOf(target));\n }\n render(v: number): void {\n this.style.height = `${this.size()}px`;\n super.render(v);\n }\n } as unknown as CustomElementConstructor;\n },\n { id: 'sheet', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport { createSpring, rubberBand, type SpringValue } from '../physics/spring';\nimport { adoptVariants } from './variants';\nimport css from './pull-refresh.css?raw';\n\n/**\n * `<usa-pull-refresh>` — pull-to-refresh for a scroll container (itself):\n * pull down at the top (touch / pointer) and a spinner stretches in; past\n * `threshold` (px, 70) releasing fires `usa:refresh` — call\n * `event.detail.done()` (or return a promise to `onrefresh`) to finish.\n * Also exposes `refresh()` for a keyboard / button path.\n * Attributes: `threshold`, `disabled`, `label` (status text, \"Refreshing\").\n * Reduced motion: no stretch; the spinner simply appears while refreshing.\n */\nexport interface UsaPullRefreshElement extends UsaElement {\n readonly refreshing: boolean;\n refresh(): Promise<void>;\n}\n\nexport function definePullRefresh(tag = 'usa-pull-refresh'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(\n tag,\n (Base) =>\n class UsaPullRefresh extends Base {\n private _y!: SpringValue;\n private _busy = false;\n private _ind: HTMLElement | null = null;\n private _live: HTMLElement | null = null;\n\n get refreshing(): boolean {\n return this._busy;\n }\n\n private draw(v: number): void {\n const th = this.num('threshold', 70);\n this.style.setProperty('--usa-pull', `${v.toFixed(1)}px`);\n this.style.setProperty('--usa-pull-p', Math.min(1, v / th).toFixed(3));\n this.toggleAttribute('data-armed', v >= th && !this._busy);\n }\n\n mount(): void {\n if (!this.querySelector(':scope > .usa-pull-indicator')) {\n this._ind = document.createElement('div');\n this._ind.className = 'usa-pull-indicator';\n this._ind.setAttribute('aria-hidden', 'true');\n this._ind.innerHTML = '<svg viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"9\" pathLength=\"100\"/></svg>';\n this.prepend(this._ind);\n this._live = document.createElement('span');\n this._live.className = 'usa-sr';\n this._live.setAttribute('role', 'status');\n this.append(this._live);\n }\n this._y = createSpring({ spring: 'stiff', onUpdate: (v) => this.draw(v) });\n let start: number | null = null;\n let id = -1;\n this.listen(this, 'pointerdown', (e: PointerEvent) => {\n if (this.flag('disabled') || this._busy || this.scrollTop > 0) return;\n start = e.clientY;\n id = e.pointerId;\n });\n this.listen(this, 'pointermove', (e: PointerEvent) => {\n if (start === null || e.pointerId !== id) return;\n const d = e.clientY - start;\n if (d <= 0) return;\n this._y.jump(this.reduced ? 0 : rubberBand(d, 220));\n if (this.reduced && d > this.num('threshold', 70)) this.setAttribute('data-armed', '');\n });\n const end = (e: PointerEvent) => {\n if (start === null || e.pointerId !== id) return;\n const d = e.clientY - start;\n start = null;\n const armed = this.hasAttribute('data-armed') || (!this.reduced && this._y.value >= this.num('threshold', 70)) || (this.reduced && d > this.num('threshold', 70));\n if (armed) this.refresh();\n else this._y.set(0);\n };\n this.listen(this, 'pointerup', end);\n this.listen(this, 'pointercancel', end);\n }\n\n unmount(): void {\n this._y?.stop();\n }\n\n refresh(): Promise<void> {\n if (this._busy) return Promise.resolve();\n this._busy = true;\n this.removeAttribute('data-armed');\n this.setAttribute('data-refreshing', '');\n this.setAttribute('aria-busy', 'true');\n if (this._live) this._live.textContent = this.str('label', 'Refreshing');\n this._y.set(this.reduced ? 0 : this.num('threshold', 70) * 0.8);\n return new Promise((resolve) => {\n let finished = false;\n const done = () => {\n if (finished) return;\n finished = true;\n this._busy = false;\n this.removeAttribute('data-refreshing');\n this.removeAttribute('aria-busy');\n if (this._live) this._live.textContent = '';\n this._y.set(0);\n resolve();\n };\n const ev = new CustomEvent('usa:refresh', { detail: { done }, bubbles: true, cancelable: true });\n this.dispatchEvent(ev);\n const fn = (this as any).onrefresh;\n if (typeof fn === 'function') Promise.resolve(fn(ev)).then(done, done);\n });\n }\n },\n { id: 'pull-refresh', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport { springEasing } from '../physics/spring';\nimport { adoptVariants } from './variants';\nimport css from './fab.css?raw';\n\n/**\n * `<usa-fab>` — floating action button with a speed dial. The first element\n * child is the main button; the others are actions that fan out with a\n * staggered spring when it opens (`direction=\"up\"` default, `down`, `left`,\n * `right`, `radial`). Esc / outside click closes; `aria-expanded` on the\n * main button; actions are hidden from AT while closed.\n * Attributes: `open`, `direction`, `position` (`bottom-right` default, `bottom-left`,\n * `inline`), `gap` (px, 56), `variant`. Events: `usa:toggle` (`{ open }`).\n * Reduced motion: actions appear without travel.\n */\nexport interface UsaFabElement extends UsaElement {\n open: boolean;\n toggle(force?: boolean): void;\n}\n\nexport function defineFab(tag = 'usa-fab'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(\n tag,\n (Base) =>\n class UsaFab extends Base {\n static get observedAttributes(): string[] {\n return ['direction', 'gap'];\n }\n get open(): boolean {\n return this.flag('open');\n }\n set open(v: boolean) {\n this.toggle(v);\n }\n\n private parts(): [HTMLElement | null, HTMLElement[]] {\n const kids = Array.from(this.children) as HTMLElement[];\n return [kids[0] || null, kids.slice(1)];\n }\n\n private offset(i: number, n: number): [number, number] {\n const g = this.num('gap', 56) * (i + 1);\n switch (this.str('direction', 'up')) {\n case 'down':\n return [0, g];\n case 'left':\n return [-g, 0];\n case 'right':\n return [g, 0];\n case 'radial': {\n const a = Math.PI + (n > 1 ? (i / (n - 1)) * (Math.PI / 2) : Math.PI / 4);\n const r = this.num('gap', 56) * 1.6;\n return [Math.cos(a) * r, Math.sin(a) * r];\n }\n default:\n return [0, -g];\n }\n }\n\n mount(): void {\n const [main, actions] = this.parts();\n if (!main) return;\n main.classList.add('usa-fab-main');\n main.setAttribute('aria-haspopup', 'true');\n actions.forEach((a) => a.classList.add('usa-fab-action'));\n this.apply(false);\n this.listen(main, 'click', () => this.toggle());\n this.listen(document, 'keydown', (e: KeyboardEvent) => {\n if (e.key === 'Escape' && this.open) {\n this.toggle(false);\n main.focus();\n }\n });\n this.listen(document, 'pointerdown', (e: PointerEvent) => this.open && !this.contains(e.target as Node) && this.toggle(false));\n this.listen(this, 'click', (e: MouseEvent) => {\n const a = (e.target as Element).closest?.('.usa-fab-action');\n if (a && this.contains(a)) this.toggle(false);\n });\n }\n\n private apply(animate: boolean): void {\n const [main, actions] = this.parts();\n if (!main) return;\n const open = this.open;\n main.setAttribute('aria-expanded', String(open));\n actions.forEach((a, i) => {\n const [x, y] = this.offset(i, actions.length);\n a.toggleAttribute('inert', !open);\n a.setAttribute('aria-hidden', String(!open));\n const to = open ? `translate(${x.toFixed(1)}px, ${y.toFixed(1)}px) scale(1)` : 'translate(0, 0) scale(0.4)';\n const from = a.style.transform || 'translate(0, 0) scale(0.4)';\n a.style.transform = this.reduced ? (open ? `translate(${x.toFixed(1)}px, ${y.toFixed(1)}px)` : 'translate(0, 0)') : to;\n a.style.opacity = open ? '1' : '0';\n if (animate && !this.reduced) {\n const t = springEasing(open ? 'wobbly' : 'stiff');\n this.motion(a, [{ transform: from, opacity: open ? 0 : 1 }, { transform: to, opacity: open ? 1 : 0 }], { ...t, delay: (open ? i : actions.length - 1 - i) * 35 });\n }\n });\n }\n\n toggle(force?: boolean): void {\n const next = force === undefined ? !this.open : force;\n if (next === this.open) return;\n this.setFlag('open', next);\n this.apply(true);\n this.emit('toggle', { open: next });\n }\n },\n { id: 'fab', text: css }\n );\n}\n","import { defineElement, raf, caf, type UsaElement } from '../base';\nimport { adoptVariants } from './variants';\nimport css from './navbar.css?raw';\n\n/**\n * `<usa-navbar>` — an app bar that hides while you scroll down and returns\n * as soon as you scroll up (or reach the top); `shrink` makes it compact\n * once scrolled. Focus inside always reveals it.\n * Attributes: `threshold` (px of scroll before hiding, 64), `shrink`,\n * `target` (selector of a scroll container instead of the page), `variant`.\n * State attributes: `data-hidden`, `data-scrolled`. Events: `usa:hide`, `usa:show`.\n * Reduced motion: hides/shows without sliding (instant).\n */\nexport interface UsaNavbarElement extends UsaElement {\n readonly hiddenByScroll: boolean;\n show(): void;\n}\n\nexport function defineNavbar(tag = 'usa-navbar'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(\n tag,\n (Base) =>\n class UsaNavbar extends Base {\n private _frame = 0;\n private _last = 0;\n\n get hiddenByScroll(): boolean {\n return this.hasAttribute('data-hidden');\n }\n\n mount(): void {\n const sel = this.str('target');\n const scroller: HTMLElement | Window = (sel && (document.querySelector(sel) as HTMLElement)) || window;\n const pos = () => (scroller === window ? window.scrollY || document.documentElement.scrollTop : (scroller as HTMLElement).scrollTop);\n this._last = pos();\n const update = () => {\n this._frame = 0;\n const y = pos();\n const dy = y - this._last;\n this._last = y;\n this.toggleAttribute('data-scrolled', y > 4);\n if (y <= this.num('threshold', 64) || dy < -2) this.show();\n else if (dy > 2 && !this.contains(document.activeElement)) this.hide();\n };\n const on = () => {\n if (!this._frame) this._frame = raf(update);\n };\n this.listen(scroller, 'scroll', on, { passive: true });\n this.listen(this, 'focusin', () => this.show());\n update();\n }\n\n unmount(): void {\n caf(this._frame);\n this._frame = 0;\n }\n\n private hide(): void {\n if (this.hiddenByScroll) return;\n this.setAttribute('data-hidden', '');\n this.emit('hide');\n }\n\n show(): void {\n if (!this.hiddenByScroll) return;\n this.removeAttribute('data-hidden');\n this.emit('show');\n }\n },\n { id: 'navbar', text: css }\n );\n}\n","import { defineElement, clamp, type UsaElement } from '../base';\nimport { createSpring, type SpringValue } from '../physics/spring';\nimport { adoptVariants } from './variants';\nimport css from './slider.css?raw';\n\n/**\n * `<usa-slider>` — a form-associated range slider (`role=\"slider\"`). The\n * thumb follows with a spring, grows while dragged and shows a value bubble.\n * Keyboard: arrows (step), PageUp/PageDown (10 steps), Home/End.\n * Attributes: `value`, `min` (0), `max` (100), `step` (1), `name`, `label`,\n * `bubble` (show the value while dragging), `disabled`, `variant`.\n * Events: `input` + `usa:input` while moving, `change` + `usa:change` on release.\n * Reduced motion: the thumb jumps (no spring).\n */\nexport interface UsaSliderElement extends UsaElement {\n value: number;\n}\n\nexport function defineSlider(tag = 'usa-slider'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(\n tag,\n (Base) => {\n class UsaSlider extends Base {\n static formAssociated = true;\n static get observedAttributes(): string[] {\n return ['min', 'max', 'disabled', 'label'];\n }\n private _internals: ElementInternals | null = null;\n private _v = 0;\n private _pos!: SpringValue;\n private _id = -1;\n\n constructor() {\n super();\n try {\n this._internals = (this as any).attachInternals?.() ?? null;\n } catch {\n this._internals = null;\n }\n }\n\n private range(): [number, number, number] {\n const min = this.num('min', 0);\n const max = Math.max(min + 1e-9, this.num('max', 100));\n return [min, max, Math.max(1e-9, this.num('step', 1))];\n }\n get value(): number {\n return this._v;\n }\n set value(v: number) {\n this.setValue(v, false);\n }\n\n private fraction(v = this._v): number {\n const [min, max] = this.range();\n return (v - min) / (max - min);\n }\n\n private setValue(v: number, user: boolean, animate = true): void {\n const [min, max, step] = this.range();\n const q = clamp(Math.round((v - min) / step) * step + min, min, max);\n const val = Number(q.toFixed(10));\n const changed = val !== this._v;\n this._v = val;\n this.setAttribute('aria-valuenow', String(val));\n this.setAttribute('aria-valuetext', String(val));\n this._internals?.setFormValue?.(String(val));\n const bubble = this.querySelector('.usa-slider-bubble');\n if (bubble) bubble.textContent = String(val);\n if (animate) this._pos?.set(this.fraction());\n else this._pos?.jump(this.fraction());\n if (changed && user) {\n this.dispatchEvent(new Event('input', { bubbles: true }));\n this.emit('input', { value: val });\n }\n }\n\n mount(): void {\n if (!this.querySelector(':scope > .usa-slider-track')) {\n this.innerHTML = '<span class=\"usa-slider-track\"><span class=\"usa-slider-fill\"></span></span><span class=\"usa-slider-thumb\"><span class=\"usa-slider-bubble\"></span></span>';\n }\n this.setAttribute('role', 'slider');\n if (!this.hasAttribute('tabindex')) this.tabIndex = 0;\n const [min, max] = this.range();\n this.setAttribute('aria-valuemin', String(min));\n this.setAttribute('aria-valuemax', String(max));\n if (this.str('label')) this.setAttribute('aria-label', this.str('label'));\n this.toggleAttribute('aria-disabled', this.flag('disabled'));\n this._pos = createSpring({ spring: 'stiff', onUpdate: (f) => this.style.setProperty('--usa-slider', clamp(f, 0, 1).toFixed(4)) });\n this.setValue(this.num('value', min), false, false);\n const fromPointer = (e: PointerEvent) => {\n const r = this.getBoundingClientRect();\n return min + clamp((e.clientX - r.left) / (r.width || 1), 0, 1) * (max - min);\n };\n this.listen(this, 'pointerdown', (e: PointerEvent) => {\n if (this.flag('disabled')) return;\n this._id = e.pointerId;\n try {\n this.setPointerCapture?.(e.pointerId);\n } catch {\n /* synthetic */\n }\n this.setAttribute('data-dragging', '');\n this.setValue(fromPointer(e), true);\n });\n this.listen(this, 'pointermove', (e: PointerEvent) => e.pointerId === this._id && this.setValue(fromPointer(e), true));\n const end = (e: PointerEvent) => {\n if (e.pointerId !== this._id) return;\n this._id = -1;\n this.removeAttribute('data-dragging');\n this.commit();\n };\n this.listen(this, 'pointerup', end);\n this.listen(this, 'pointercancel', end);\n this.listen(this, 'keydown', (e: KeyboardEvent) => {\n if (this.flag('disabled')) return;\n const [mn, mx, st] = this.range();\n const map: Record<string, number> = { ArrowRight: this._v + st, ArrowUp: this._v + st, ArrowLeft: this._v - st, ArrowDown: this._v - st, PageUp: this._v + st * 10, PageDown: this._v - st * 10, Home: mn, End: mx };\n if (!(e.key in map)) return;\n e.preventDefault();\n this.setValue(map[e.key], true);\n this.commit();\n });\n }\n\n unmount(): void {\n this._pos?.stop();\n }\n\n private commit(): void {\n this.dispatchEvent(new Event('change', { bubbles: true }));\n this.emit('change', { value: this._v });\n }\n }\n return UsaSlider as unknown as CustomElementConstructor;\n },\n { id: 'slider', text: css }\n );\n}\n","import { defineElement, clamp, deprecate, type UsaElement } from '../base';\nimport { springEasing } from '../physics/spring';\nimport { adoptVariants } from './variants';\nimport css from './rating.css?raw';\n\n/**\n * `<usa-rating>` — star rating with hover preview and a springy pop when a\n * value is chosen. `role=\"slider\"` (arrow keys, Home/End, number keys).\n * Attributes: `value` (0), `max` (5), `icon` (★), `readonly`, `label`\n * (\"Rating\"), `name` (form value), `variant`. Events: `change`, `usa:change` (`{ value }`).\n * Reduced motion: no pop.\n *\n * @deprecated 7.9 — removed in 8.0. Use `<usa-star-rating>` (6.4; same\n * `value` / `max` / `readonly` / `label` / `name`, `icon=\"heart\"` for ♥).\n * `npx usa-codemod-8 --write src` rewrites the tags.\n */\nexport interface UsaRatingElement extends UsaElement {\n value: number;\n}\n\nexport function defineRating(tag = 'usa-rating'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(\n tag,\n (Base) => {\n class UsaRating extends Base {\n static formAssociated = true;\n static get observedAttributes(): string[] {\n return ['max', 'icon', 'readonly'];\n }\n private _internals: ElementInternals | null = null;\n constructor() {\n super();\n try {\n this._internals = (this as any).attachInternals?.() ?? null;\n } catch {\n this._internals = null;\n }\n }\n get value(): number {\n return clamp(this.num('value', 0), 0, this.num('max', 5));\n }\n set value(v: number) {\n this.setAttribute('value', String(clamp(Math.round(v), 0, this.num('max', 5))));\n this.sync();\n }\n\n mount(): void {\n\n deprecate('usa-rating', '<usa-rating> is deprecated and removed in 8.0 — use <usa-star-rating> (same value / max / readonly / label / name; icon=\"heart\"). Run `npx usa-codemod-8 --write src`.');\n const max = this.num('max', 5);\n this.innerHTML = Array.from({ length: max }, (_, i) => `<span class=\"usa-rating-star\" data-i=\"${i + 1}\" aria-hidden=\"true\">${this.str('icon', '★')}</span>`).join('');\n this.setAttribute('role', 'slider');\n this.setAttribute('aria-valuemin', '0');\n this.setAttribute('aria-valuemax', String(max));\n this.setAttribute('aria-label', this.str('label', 'Rating'));\n if (this.flag('readonly')) this.setAttribute('aria-readonly', 'true');\n else if (!this.hasAttribute('tabindex')) this.tabIndex = 0;\n this.sync();\n if (this.flag('readonly')) return;\n this.listen(this, 'pointerover', (e: PointerEvent) => {\n const s = (e.target as Element).closest?.('[data-i]') as HTMLElement | null;\n if (s) this.preview(Number(s.dataset.i));\n });\n this.listen(this, 'pointerleave', () => this.preview(0));\n this.listen(this, 'click', (e: MouseEvent) => {\n const s = (e.target as Element).closest?.('[data-i]') as HTMLElement | null;\n if (s) this.choose(Number(s.dataset.i) === this.value ? 0 : Number(s.dataset.i));\n });\n this.listen(this, 'keydown', (e: KeyboardEvent) => {\n const v = this.value;\n const map: Record<string, number> = { ArrowRight: v + 1, ArrowUp: v + 1, ArrowLeft: v - 1, ArrowDown: v - 1, Home: 0, End: max };\n const n = /^[0-9]$/.test(e.key) ? Number(e.key) : map[e.key];\n if (n === undefined) return;\n e.preventDefault();\n this.choose(clamp(n, 0, max));\n });\n }\n\n private preview(n: number): void {\n this.querySelectorAll<HTMLElement>('[data-i]').forEach((s) => s.toggleAttribute('data-preview', n > 0 && Number(s.dataset.i) <= n));\n this.toggleAttribute('data-previewing', n > 0);\n }\n\n private sync(): void {\n const v = this.value;\n this.setAttribute('aria-valuenow', String(v));\n this.setAttribute('aria-valuetext', `${v} of ${this.num('max', 5)}`);\n this._internals?.setFormValue?.(String(v));\n this.querySelectorAll<HTMLElement>('[data-i]').forEach((s) => s.toggleAttribute('data-on', Number(s.dataset.i) <= v));\n }\n\n private choose(n: number): void {\n if (n === this.value) return;\n this.value = n;\n const star = this.querySelector(`[data-i=\"${n}\"]`);\n if (star && !this.reduced) this.motion(star, [{ transform: 'scale(0.5) rotate(-20deg)' }, { transform: 'scale(1) rotate(0)' }], springEasing('bouncy'));\n this.dispatchEvent(new Event('change', { bubbles: true }));\n this.emit('change', { value: n });\n }\n }\n return UsaRating as unknown as CustomElementConstructor;\n },\n { id: 'rating', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport { springEasing } from '../physics/spring';\nimport { adoptVariants } from './variants';\nimport { place, nextId, type Placement } from './position';\nimport css from './popover.css?raw';\n\n/**\n * `<usa-popover>` — a click-to-open popover: the first element child is the\n * trigger, `[data-popover]` is the content. Springs open from the trigger,\n * flips to stay on screen; Esc or an outside click closes and focus returns\n * to the trigger. `aria-expanded` / `aria-controls` on the trigger.\n * Attributes: `open`, `placement` (`bottom` default), `variant`. Events:\n * `usa:open`, `usa:close`. Reduced motion: fades only.\n */\nexport interface UsaPopoverElement extends UsaElement {\n open: boolean;\n toggle(force?: boolean): void;\n}\n\nexport function definePopover(tag = 'usa-popover'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(\n tag,\n (Base) =>\n class UsaPopover extends Base {\n get open(): boolean {\n return this.flag('open');\n }\n set open(v: boolean) {\n this.toggle(v);\n }\n private parts(): [HTMLElement | null, HTMLElement | null] {\n return [this.firstElementChild as HTMLElement | null, this.querySelector<HTMLElement>(':scope > [data-popover]')];\n }\n\n mount(): void {\n const [trigger, panel] = this.parts();\n if (!trigger || !panel || trigger === panel) return;\n panel.id ||= nextId('usa-pop');\n panel.classList.add('usa-surface', 'usa-popover-panel');\n if (!panel.hasAttribute('role')) panel.setAttribute('role', 'dialog');\n panel.tabIndex = -1;\n trigger.setAttribute('aria-controls', panel.id);\n trigger.setAttribute('aria-haspopup', 'dialog');\n this.render(false);\n this.listen(trigger, 'click', () => this.toggle());\n this.listen(document, 'keydown', (e: KeyboardEvent) => {\n if (e.key === 'Escape' && this.open) {\n this.toggle(false);\n trigger.focus();\n }\n });\n this.listen(document, 'pointerdown', (e: PointerEvent) => this.open && !this.contains(e.target as Node) && this.toggle(false));\n this.listen(window, 'resize', () => this.open && place(panel, trigger, this.str('placement', 'bottom') as Placement));\n }\n\n private render(animate: boolean): void {\n const [trigger, panel] = this.parts();\n if (!trigger || !panel) return;\n trigger.setAttribute('aria-expanded', String(this.open));\n panel.hidden = !this.open;\n if (!this.open) return;\n const p = place(panel, trigger, this.str('placement', 'bottom') as Placement);\n if (!animate) return;\n const origin = { top: '50% 100%', bottom: '50% 0', left: '100% 50%', right: '0 50%' }[p];\n panel.style.transformOrigin = origin;\n this.motion(panel, this.reduced ? [{ opacity: 0 }, { opacity: 1 }] : [{ opacity: 0, transform: 'scale(0.9)' }, { opacity: 1, transform: 'none' }], this.reduced ? { duration: 120 } : springEasing('wobbly'));\n panel.focus({ preventScroll: true });\n }\n\n toggle(force?: boolean): void {\n const next = force === undefined ? !this.open : force;\n if (next === this.open) return;\n this.setFlag('open', next);\n this.render(true);\n this.emit(next ? 'open' : 'close');\n }\n },\n { id: 'popover', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport { springEasing } from '../physics/spring';\nimport { adoptVariants } from './variants';\nimport css from './badge.css?raw';\n\n/**\n * `<usa-badge>` — a count / dot badge on whatever it wraps; bumps with a\n * spring whenever the value changes and pulses with `pulse`.\n * Attributes: `value` (number or text; 0 / empty hides it unless\n * `show-zero`), `max` (99 → \"99+\"), `dot`, `pulse`, `label` (accessible\n * text, default \"{n} new\"), `variant`. Reduced motion: no bump or pulse.\n */\nexport interface UsaBadgeElement extends UsaElement {\n value: string;\n}\n\nexport function defineBadge(tag = 'usa-badge'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(\n tag,\n (Base) =>\n class UsaBadge extends Base {\n static get observedAttributes(): string[] {\n return ['value', 'max', 'dot', 'label'];\n }\n private _el: HTMLElement | null = null;\n get value(): string {\n return this.str('value');\n }\n set value(v: string) {\n this.setAttribute('value', String(v));\n }\n\n mount(): void {\n if (!this._el || !this._el.isConnected) {\n this._el = document.createElement('span');\n this._el.className = 'usa-badge-count';\n this.append(this._el);\n }\n this.sync(false);\n }\n\n changed(name: string): void {\n this.sync(name === 'value');\n }\n\n private sync(bump: boolean): void {\n const el = this._el;\n if (!el) return;\n const raw = this.value;\n const n = Number(raw);\n const max = this.num('max', 99);\n const text = this.flag('dot') ? '' : raw !== '' && Number.isFinite(n) && n > max ? `${max}+` : raw;\n const empty = !this.flag('dot') && (raw === '' || (raw === '0' && !this.flag('show-zero')));\n el.textContent = text;\n el.hidden = empty;\n this.toggleAttribute('data-dot', this.flag('dot'));\n const label = this.str('label', raw ? `${raw} new` : 'New');\n el.setAttribute('aria-label', label.replace('{n}', raw));\n el.setAttribute('role', 'status');\n if (bump && !empty && !this.reduced) this.motion(el, [{ transform: 'scale(0.4)' }, { transform: 'scale(1)' }], springEasing('bouncy'));\n }\n },\n { id: 'badge', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport { adoptVariants } from './variants';\nimport css from './avatar-stack.css?raw';\n\n/**\n * `<usa-avatar-stack>` — overlapping avatars (its children: `<img>` or any\n * element) that spread apart with a spring on hover / focus; extra ones\n * collapse into a \"+N\" chip.\n * Attributes: `max` (visible avatars, 5), `size` (px, 36), `overlap` (0–1,\n * 0.35), `label` (group name), `variant`. Reduced motion: no spreading.\n */\nexport interface UsaAvatarStackElement extends UsaElement {}\n\nexport function defineAvatarStack(tag = 'usa-avatar-stack'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(\n tag,\n (Base) =>\n class UsaAvatarStack extends Base {\n static get observedAttributes(): string[] {\n return ['max', 'size', 'overlap'];\n }\n mount(): void {\n this.querySelector(':scope > .usa-avatar-more')?.remove();\n const kids = Array.from(this.children) as HTMLElement[];\n const max = Math.max(1, this.num('max', 5));\n this.style.setProperty('--usa-avatar-size', `${this.num('size', 36)}px`);\n this.style.setProperty('--usa-avatar-overlap', String(this.num('overlap', 0.35)));\n this.setAttribute('role', 'group');\n this.setAttribute('aria-label', this.str('label', `${kids.length} people`));\n kids.forEach((k, i) => {\n k.classList.add('usa-avatar');\n k.hidden = i >= max;\n k.style.setProperty('--i', String(i));\n k.style.zIndex = String(kids.length - i);\n });\n if (kids.length > max) {\n const more = document.createElement('span');\n more.className = 'usa-avatar usa-avatar-more';\n more.textContent = `+${kids.length - max}`;\n more.style.setProperty('--i', String(max));\n more.setAttribute('aria-label', `and ${kids.length - max} more`);\n this.append(more);\n }\n }\n },\n { id: 'avatar-stack', text: css }\n );\n}\n","/**\n * motionary/components/ui — animated UI components + style variants (v2.6).\n * `<usa-tabs>`, `<usa-drawer>`, `<usa-bottom-sheet>`, `<usa-pull-refresh>`,\n * `<usa-fab>`, `<usa-navbar>`, `<usa-slider>`, `<usa-rating>`,\n * `<usa-popover>`, `<usa-badge>`, `<usa-avatar-stack>`,\n * and `variant=\"minimal | neon | glass | brutalist | fluent | material\"`\n * design tokens (`setVariant()`, `VARIANTS`).\n */\nimport { defineTabs, type UsaTabsElement } from './tabs';\nimport { defineDrawer, defineBottomSheet, type UsaDrawerElement, type UsaBottomSheetElement } from './sheet';\nimport { definePullRefresh, type UsaPullRefreshElement } from './pull-refresh';\nimport { defineFab, type UsaFabElement } from './fab';\nimport { defineNavbar, type UsaNavbarElement } from './navbar';\nimport { defineSlider, type UsaSliderElement } from './slider';\nimport { defineRating, type UsaRatingElement } from './rating';\nimport { definePopover, type UsaPopoverElement } from './popover';\nimport { defineBadge, type UsaBadgeElement } from './badge';\nimport { defineAvatarStack, type UsaAvatarStackElement } from './avatar-stack';\n\nexport { defineTabs, defineDrawer, defineBottomSheet, definePullRefresh, defineFab, defineNavbar, defineSlider, defineRating, definePopover, defineBadge, defineAvatarStack };\nexport { VARIANTS, setVariant, adoptVariants } from './variants';\nexport type { Variant } from './variants';\nexport type { Placement } from './position';\nexport type {\n UsaTabsElement,\n UsaDrawerElement,\n UsaBottomSheetElement,\n UsaPullRefreshElement,\n UsaFabElement,\n UsaNavbarElement,\n UsaSliderElement,\n UsaRatingElement,\n UsaPopoverElement,\n UsaBadgeElement,\n UsaAvatarStackElement,\n};\n\n/** Register every component of this category under its default tag. */\nexport function defineUiComponents(): void {\n defineTabs();\n defineDrawer();\n defineBottomSheet();\n definePullRefresh();\n defineFab();\n defineNavbar();\n defineSlider();\n defineRating();\n definePopover();\n defineBadge();\n defineAvatarStack();\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'usa-tabs': UsaTabsElement;\n 'usa-drawer': UsaDrawerElement;\n 'usa-bottom-sheet': UsaBottomSheetElement;\n 'usa-pull-refresh': UsaPullRefreshElement;\n 'usa-fab': UsaFabElement;\n 'usa-navbar': UsaNavbarElement;\n 'usa-slider': UsaSliderElement;\n 'usa-rating': UsaRatingElement;\n 'usa-popover': UsaPopoverElement;\n 'usa-badge': UsaBadgeElement;\n 'usa-avatar-stack': UsaAvatarStackElement;\n }\n}\n"],"names":["adoptVariants","defineElement","springEasing","css","clamp","createSpring","rubberBand","projectInertia","snapTo","raf","caf","deprecate"],"mappings":"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"}
1
+ {"version":3,"file":"ui.cjs","sources":["../../src/components/ui/position.ts","../../src/components/ui/tabs.ts","../../src/components/ui/sheet.ts","../../src/components/ui/pull-refresh.ts","../../src/components/ui/fab.ts","../../src/components/ui/navbar.ts","../../src/components/ui/slider.ts","../../src/components/ui/popover.ts","../../src/components/ui/badge.ts","../../src/components/ui/avatar-stack.ts","../../src/components/ui/index.ts"],"sourcesContent":["export type Placement = 'top' | 'bottom' | 'left' | 'right';\n\n/** Position a fixed `floating` element next to `anchor`, flipping when it would leave the viewport. */\nexport function place(floating: HTMLElement, anchor: Element, placement: Placement = 'top', gap = 8): Placement {\n const a = anchor.getBoundingClientRect();\n const f = floating.getBoundingClientRect();\n const W = window.innerWidth || 1024;\n const H = window.innerHeight || 768;\n const fits: Record<Placement, boolean> = {\n top: a.top - f.height - gap >= 0,\n bottom: a.bottom + f.height + gap <= H,\n left: a.left - f.width - gap >= 0,\n right: a.right + f.width + gap <= W,\n };\n const opposite: Record<Placement, Placement> = { top: 'bottom', bottom: 'top', left: 'right', right: 'left' };\n const p = fits[placement] || !fits[opposite[placement]] ? placement : opposite[placement];\n let x = 0;\n let y = 0;\n if (p === 'top' || p === 'bottom') {\n x = Math.min(Math.max(4, a.left + a.width / 2 - f.width / 2), W - f.width - 4);\n y = p === 'top' ? a.top - f.height - gap : a.bottom + gap;\n } else {\n y = Math.min(Math.max(4, a.top + a.height / 2 - f.height / 2), H - f.height - 4);\n x = p === 'left' ? a.left - f.width - gap : a.right + gap;\n }\n floating.style.left = `${Math.round(x)}px`;\n floating.style.top = `${Math.round(y)}px`;\n floating.setAttribute('data-placement', p);\n return p;\n}\n\nlet uid = 0;\nexport const nextId = (prefix: string): string => `${prefix}-${++uid}`;\n","import { defineElement, type UsaElement } from '../base';\nimport { springEasing } from '../physics/spring';\nimport { adoptVariants } from './variants';\nimport { nextId } from './position';\nimport css from './tabs.css?raw';\n\n/**\n * `<usa-tabs>` — accessible tabs with a sliding (spring) indicator.\n * Tabs: `[data-tab]` children (buttons); panels: `[data-panel]` children, in\n * the same order. Arrow keys / Home / End move between tabs (roving tabindex).\n *\n * Attributes: `selected` (index, 0), `indicator` (`line` default, `pill`),\n * `variant`. Events: `usa:change` (`{ index }`). Panels fade/slide in;\n * reduced motion: the indicator jumps and panels switch instantly.\n */\nexport interface UsaTabsElement extends UsaElement {\n selected: number;\n select(i: number, focus?: boolean): void;\n}\n\nexport function defineTabs(tag = 'usa-tabs'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(\n tag,\n (Base) =>\n class UsaTabs extends Base {\n static get observedAttributes(): string[] {\n return ['indicator'];\n }\n\n private _i = 0;\n private _bar: HTMLElement | null = null;\n\n get selected(): number {\n return this._i;\n }\n set selected(v: number) {\n this.select(v);\n }\n\n private tabs(): HTMLElement[] {\n return Array.from(this.querySelectorAll<HTMLElement>('[data-tab]')).filter((t) => t.closest(this.localName) === this);\n }\n private panels(): HTMLElement[] {\n return Array.from(this.querySelectorAll<HTMLElement>('[data-panel]')).filter((t) => t.closest(this.localName) === this);\n }\n\n mount(): void {\n const tabs = this.tabs();\n const panels = this.panels();\n const list = tabs[0]?.parentElement;\n if (!list) return;\n list.setAttribute('role', 'tablist');\n list.classList.add('usa-tabs-list');\n if (!list.querySelector(':scope > .usa-tabs-indicator')) {\n this._bar = document.createElement('span');\n this._bar.className = 'usa-tabs-indicator';\n this._bar.setAttribute('aria-hidden', 'true');\n list.append(this._bar);\n } else this._bar = list.querySelector(':scope > .usa-tabs-indicator');\n tabs.forEach((t, i) => {\n t.id ||= nextId('usa-tab');\n t.setAttribute('role', 'tab');\n const p = panels[i];\n if (p) {\n p.id ||= nextId('usa-panel');\n p.setAttribute('role', 'tabpanel');\n p.setAttribute('aria-labelledby', t.id);\n t.setAttribute('aria-controls', p.id);\n if (!p.hasAttribute('tabindex')) p.tabIndex = 0;\n }\n this.listen(t, 'click', () => this.select(i));\n });\n this.listen(list, 'keydown', (e: KeyboardEvent) => {\n const n = tabs.length;\n const map: Record<string, number> = { ArrowRight: this._i + 1, ArrowDown: this._i + 1, ArrowLeft: this._i - 1, ArrowUp: this._i - 1, Home: 0, End: n - 1 };\n if (!(e.key in map)) return;\n e.preventDefault();\n this.select((map[e.key] + n) % n, true);\n });\n const ro = typeof ResizeObserver !== 'undefined' ? new ResizeObserver(() => this.moveBar(false)) : null;\n ro?.observe(list);\n this.onCleanup(() => ro?.disconnect());\n this.select(Math.max(0, Math.min(tabs.length - 1, this.num('selected', 0))), false, true);\n }\n\n private moveBar(animate: boolean): void {\n const t = this.tabs()[this._i];\n const bar = this._bar;\n if (!t || !bar) return;\n const from = bar.style.transform;\n const fromW = bar.style.width;\n bar.style.width = `${t.offsetWidth}px`;\n bar.style.transform = `translateX(${t.offsetLeft}px)`;\n if (animate && from && !this.reduced) this.motion(bar, [{ transform: from, width: fromW }, { transform: bar.style.transform, width: bar.style.width }], springEasing('stiff'));\n }\n\n select(i: number, focus = false, initial = false): void {\n const tabs = this.tabs();\n const panels = this.panels();\n if (!tabs[i]) return;\n const prev = this._i;\n this._i = i;\n this.setAttribute('selected', String(i));\n tabs.forEach((t, j) => {\n t.setAttribute('aria-selected', String(j === i));\n t.tabIndex = j === i ? 0 : -1;\n });\n panels.forEach((p, j) => (p.hidden = j !== i));\n if (focus) tabs[i].focus();\n this.moveBar(!initial);\n if (initial || prev === i) return;\n const p = panels[i];\n if (p && !this.reduced) this.motion(p, [{ opacity: 0, transform: `translateX(${i > prev ? 16 : -16}px)` }, { opacity: 1, transform: 'none' }], { duration: 280, easing: 'cubic-bezier(0.22, 1, 0.36, 1)' });\n this.emit('change', { index: i });\n }\n },\n { id: 'tabs', text: css }\n );\n}\n","import { defineElement, clamp, type UsaElement } from '../base';\nimport { createSpring, projectInertia, snapTo, rubberBand, type SpringValue } from '../physics/spring';\nimport { adoptVariants } from './variants';\nimport css from './sheet.css?raw';\n\n/** Shared machinery of `<usa-drawer>` and `<usa-bottom-sheet>`: backdrop, focus, Esc, drag-to-dismiss. */\nfunction makePanel(Base: any, kind: 'drawer' | 'sheet') {\n return class UsaPanel extends Base {\n static get observedAttributes(): string[] {\n return ['open', 'side'];\n }\n\n _pos!: SpringValue;\n _backdrop: HTMLElement | null = null;\n _return: Element | null = null;\n _drag: { id: number; start: number; origin: number; t: number; last: number; lt: number } | null = null;\n\n get open(): boolean {\n return this.flag('open');\n }\n set open(v: boolean) {\n this.setFlag('open', v);\n }\n\n /** Main axis size of the panel (px). */\n size(): number {\n const r = this.getBoundingClientRect();\n return (kind === 'sheet' || this.vertical() ? r.height : r.width) || (kind === 'sheet' ? window.innerHeight * 0.9 : 320);\n }\n vertical(): boolean {\n return kind === 'sheet' || this.str('side') === 'top' || this.str('side') === 'bottom';\n }\n /** +1 when hiding moves the panel in the positive axis direction. */\n dir(): number {\n const side = kind === 'sheet' ? 'bottom' : this.str('side', 'left');\n return side === 'left' || side === 'top' ? -1 : 1;\n }\n /** Offsets (px from fully open) the panel may rest at; the largest closes it. */\n stops(): number[] {\n return [0];\n }\n render(v: number): void {\n const axis = this.vertical() ? 'Y' : 'X';\n this.style.transform = `translate${axis}(${(v * this.dir()).toFixed(1)}px)`;\n if (this._backdrop) this._backdrop.style.opacity = String(clamp(1 - v / (this.size() || 1), 0, 1));\n }\n\n mount(): void {\n this.setAttribute('role', 'dialog');\n if (this.str('label')) this.setAttribute('aria-label', this.str('label'));\n if (!this.hasAttribute('tabindex')) this.tabIndex = -1;\n this.classList.add('usa-surface');\n this._pos = createSpring({ value: this.size() * 2, spring: 'stiff', onUpdate: (v) => this.render(v), onRest: (v) => v >= this.size() - 1 && !this.open && this.afterClose() });\n if (this.open) this.show(false);\n else {\n this.hidden = true;\n this._pos.jump(this.size() * 1.2);\n }\n this.listen(document, 'keydown', (e: KeyboardEvent) => e.key === 'Escape' && this.open && this.close());\n this.listen(this, 'click', (e: MouseEvent) => (e.target as Element).closest?.('[data-close]') && this.close());\n this.listen(this, 'pointerdown', (e: PointerEvent) => this.dragStart(e));\n this.listen(this, 'pointermove', (e: PointerEvent) => this.dragMove(e));\n this.listen(this, 'pointerup', (e: PointerEvent) => this.dragEnd(e));\n this.listen(this, 'pointercancel', (e: PointerEvent) => this.dragEnd(e));\n }\n\n unmount(): void {\n this._pos?.stop();\n this._backdrop?.remove();\n this._backdrop = null;\n }\n\n changed(name: string): void {\n if (name !== 'open') return super.changed(name);\n if (this.open && this.hidden) this.show(true);\n else if (!this.open && !this.hidden) this.hide();\n }\n\n show(animate = true): void {\n this._return = document.activeElement;\n this.hidden = false;\n this.setAttribute('aria-modal', 'true');\n if (!this._backdrop) {\n this._backdrop = document.createElement('div');\n this._backdrop.className = 'usa-panel-backdrop';\n this._backdrop.addEventListener('click', () => this.close());\n this.before(this._backdrop);\n }\n const target = this.stops()[this.initialStop()];\n if (!animate) this._pos.jump(target);\n else {\n this._pos.jump(this.size());\n this._pos.set(target);\n }\n this.setFlag('open', true);\n this.focus({ preventScroll: true });\n this.emit('open');\n }\n\n initialStop(): number {\n return 0;\n }\n\n hide(): void {\n this._pos.set(this.size() * 1.05);\n this.emit('close');\n }\n\n afterClose(): void {\n this.hidden = true;\n this._backdrop?.remove();\n this._backdrop = null;\n if (this._return instanceof HTMLElement) this._return.focus({ preventScroll: true });\n }\n\n close(): void {\n this.setFlag('open', false);\n }\n\n dragStart(e: PointerEvent): void {\n const handle = kind === 'sheet' ? (e.target as Element).closest?.('[data-handle], .usa-sheet-handle') || (this.scrollTop <= 0 ? this : null) : this;\n if (!handle || (e.target as Element).closest?.('input, textarea, select, button, a, [data-no-drag]')) return;\n const p = this.vertical() ? e.clientY : e.clientX;\n this._pos.stop();\n this._drag = { id: e.pointerId, start: p, origin: this._pos.value, t: e.timeStamp, last: p, lt: e.timeStamp };\n }\n dragMove(e: PointerEvent): void {\n const d = this._drag;\n if (!d || e.pointerId !== d.id) return;\n const p = this.vertical() ? e.clientY : e.clientX;\n let v = d.origin + (p - d.start) * this.dir();\n if (v < 0) v = rubberBand(v, 200);\n d.lt = d.t;\n d.t = e.timeStamp;\n d.last = p;\n this._pos.jump(v);\n }\n dragEnd(e: PointerEvent): void {\n const d = this._drag;\n if (!d || e.pointerId !== d.id) return;\n this._drag = null;\n const moved = this._pos.value - d.origin;\n const dt = Math.max(16, d.t - d.lt) / 1000;\n const vel = Math.abs(moved) > 4 ? (moved / Math.max(dt, (e.timeStamp - (d.lt || 0)) / 1000 || 0.1)) * 0.2 : 0;\n const projected = projectInertia(this._pos.value, clamp(vel, -3000, 3000));\n const stops = [...this.stops(), this.size()];\n const to = snapTo(projected, stops);\n if (to >= this.size() - 1) this.close();\n else this._pos.set(to);\n this.emit('snap', { offset: to });\n }\n };\n}\n\n/**\n * `<usa-drawer>` — a side panel that slides in with a spring and can be\n * dragged / swiped closed. Modal: backdrop, Esc, focus returns on close.\n * Attributes: `open`, `side` (`left` default, `right`, `top`, `bottom`),\n * `label`, `variant`. Events: `usa:open`, `usa:close`. `[data-close]` closes.\n * Reduced motion: opens and closes instantly.\n */\nexport interface UsaDrawerElement extends UsaElement {\n open: boolean;\n show(): void;\n close(): void;\n}\n\n/**\n * `<usa-bottom-sheet>` — a draggable bottom sheet with snap points\n * (`snap=\"0.3,0.6,0.92\"`, fractions of the viewport height; default\n * `0.5,0.92`; `start` = index of the snap it opens at, default 0), inertia and drag-down-to-dismiss. `[data-handle]` (or the\n * built-in grabber) drags it. Attributes: `open`, `snap`, `start` (initial\n * snap index), `label`, `variant`. Events: `usa:open`, `usa:close`, `usa:snap`.\n */\nexport interface UsaBottomSheetElement extends UsaDrawerElement {}\n\nexport function defineDrawer(tag = 'usa-drawer'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(tag, (Base) => makePanel(Base, 'drawer') as unknown as CustomElementConstructor, { id: 'sheet', text: css });\n}\n\nexport function defineBottomSheet(tag = 'usa-bottom-sheet'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(\n tag,\n (Base) => {\n const Panel = makePanel(Base, 'sheet');\n return class UsaBottomSheet extends Panel {\n static get observedAttributes(): string[] {\n return ['open', 'snap'];\n }\n mount(): void {\n if (!this.querySelector(':scope > .usa-sheet-handle')) {\n const h = document.createElement('div');\n h.className = 'usa-sheet-handle';\n h.setAttribute('aria-hidden', 'true');\n this.prepend(h);\n }\n super.mount();\n }\n size(): number {\n return (window.innerHeight || 800) * Math.max(...this.fractions());\n }\n fractions(): number[] {\n const f = this.str('snap', '0.5,0.92').split(',').map(Number).filter((n: number) => n > 0 && n <= 1);\n return f.length ? f : [0.5, 0.92];\n }\n stops(): number[] {\n const full = this.size();\n const H = window.innerHeight || 800;\n return this.fractions().map((f: number) => Math.max(0, full - f * H)).sort((a: number, b: number) => a - b);\n }\n initialStop(): number {\n const f = this.fractions();\n const pick = f[clamp(this.num('start', 0), 0, f.length - 1)];\n const target = Math.max(0, this.size() - pick * (window.innerHeight || 800));\n const s = this.stops();\n return Math.max(0, s.indexOf(target));\n }\n render(v: number): void {\n this.style.height = `${this.size()}px`;\n super.render(v);\n }\n } as unknown as CustomElementConstructor;\n },\n { id: 'sheet', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport { createSpring, rubberBand, type SpringValue } from '../physics/spring';\nimport { adoptVariants } from './variants';\nimport css from './pull-refresh.css?raw';\n\n/**\n * `<usa-pull-refresh>` — pull-to-refresh for a scroll container (itself):\n * pull down at the top (touch / pointer) and a spinner stretches in; past\n * `threshold` (px, 70) releasing fires `usa:refresh` — call\n * `event.detail.done()` (or return a promise to `onrefresh`) to finish.\n * Also exposes `refresh()` for a keyboard / button path.\n * Attributes: `threshold`, `disabled`, `label` (status text, \"Refreshing\").\n * Reduced motion: no stretch; the spinner simply appears while refreshing.\n */\nexport interface UsaPullRefreshElement extends UsaElement {\n readonly refreshing: boolean;\n refresh(): Promise<void>;\n}\n\nexport function definePullRefresh(tag = 'usa-pull-refresh'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(\n tag,\n (Base) =>\n class UsaPullRefresh extends Base {\n private _y!: SpringValue;\n private _busy = false;\n private _ind: HTMLElement | null = null;\n private _live: HTMLElement | null = null;\n\n get refreshing(): boolean {\n return this._busy;\n }\n\n private draw(v: number): void {\n const th = this.num('threshold', 70);\n this.style.setProperty('--usa-pull', `${v.toFixed(1)}px`);\n this.style.setProperty('--usa-pull-p', Math.min(1, v / th).toFixed(3));\n this.toggleAttribute('data-armed', v >= th && !this._busy);\n }\n\n mount(): void {\n if (!this.querySelector(':scope > .usa-pull-indicator')) {\n this._ind = document.createElement('div');\n this._ind.className = 'usa-pull-indicator';\n this._ind.setAttribute('aria-hidden', 'true');\n this._ind.innerHTML = '<svg viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"9\" pathLength=\"100\"/></svg>';\n this.prepend(this._ind);\n this._live = document.createElement('span');\n this._live.className = 'usa-sr';\n this._live.setAttribute('role', 'status');\n this.append(this._live);\n }\n this._y = createSpring({ spring: 'stiff', onUpdate: (v) => this.draw(v) });\n let start: number | null = null;\n let id = -1;\n this.listen(this, 'pointerdown', (e: PointerEvent) => {\n if (this.flag('disabled') || this._busy || this.scrollTop > 0) return;\n start = e.clientY;\n id = e.pointerId;\n });\n this.listen(this, 'pointermove', (e: PointerEvent) => {\n if (start === null || e.pointerId !== id) return;\n const d = e.clientY - start;\n if (d <= 0) return;\n this._y.jump(this.reduced ? 0 : rubberBand(d, 220));\n if (this.reduced && d > this.num('threshold', 70)) this.setAttribute('data-armed', '');\n });\n const end = (e: PointerEvent) => {\n if (start === null || e.pointerId !== id) return;\n const d = e.clientY - start;\n start = null;\n const armed = this.hasAttribute('data-armed') || (!this.reduced && this._y.value >= this.num('threshold', 70)) || (this.reduced && d > this.num('threshold', 70));\n if (armed) this.refresh();\n else this._y.set(0);\n };\n this.listen(this, 'pointerup', end);\n this.listen(this, 'pointercancel', end);\n }\n\n unmount(): void {\n this._y?.stop();\n }\n\n refresh(): Promise<void> {\n if (this._busy) return Promise.resolve();\n this._busy = true;\n this.removeAttribute('data-armed');\n this.setAttribute('data-refreshing', '');\n this.setAttribute('aria-busy', 'true');\n if (this._live) this._live.textContent = this.str('label', 'Refreshing');\n this._y.set(this.reduced ? 0 : this.num('threshold', 70) * 0.8);\n return new Promise((resolve) => {\n let finished = false;\n const done = () => {\n if (finished) return;\n finished = true;\n this._busy = false;\n this.removeAttribute('data-refreshing');\n this.removeAttribute('aria-busy');\n if (this._live) this._live.textContent = '';\n this._y.set(0);\n resolve();\n };\n const ev = new CustomEvent('usa:refresh', { detail: { done }, bubbles: true, cancelable: true });\n this.dispatchEvent(ev);\n const fn = (this as any).onrefresh;\n if (typeof fn === 'function') Promise.resolve(fn(ev)).then(done, done);\n });\n }\n },\n { id: 'pull-refresh', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport { springEasing } from '../physics/spring';\nimport { adoptVariants } from './variants';\nimport css from './fab.css?raw';\n\n/**\n * `<usa-fab>` — floating action button with a speed dial. The first element\n * child is the main button; the others are actions that fan out with a\n * staggered spring when it opens (`direction=\"up\"` default, `down`, `left`,\n * `right`, `radial`). Esc / outside click closes; `aria-expanded` on the\n * main button; actions are hidden from AT while closed.\n * Attributes: `open`, `direction`, `position` (`bottom-right` default, `bottom-left`,\n * `inline`), `gap` (px, 56), `variant`. Events: `usa:toggle` (`{ open }`).\n * Reduced motion: actions appear without travel.\n */\nexport interface UsaFabElement extends UsaElement {\n open: boolean;\n toggle(force?: boolean): void;\n}\n\nexport function defineFab(tag = 'usa-fab'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(\n tag,\n (Base) =>\n class UsaFab extends Base {\n static get observedAttributes(): string[] {\n return ['direction', 'gap'];\n }\n get open(): boolean {\n return this.flag('open');\n }\n set open(v: boolean) {\n this.toggle(v);\n }\n\n private parts(): [HTMLElement | null, HTMLElement[]] {\n const kids = Array.from(this.children) as HTMLElement[];\n return [kids[0] || null, kids.slice(1)];\n }\n\n private offset(i: number, n: number): [number, number] {\n const g = this.num('gap', 56) * (i + 1);\n switch (this.str('direction', 'up')) {\n case 'down':\n return [0, g];\n case 'left':\n return [-g, 0];\n case 'right':\n return [g, 0];\n case 'radial': {\n const a = Math.PI + (n > 1 ? (i / (n - 1)) * (Math.PI / 2) : Math.PI / 4);\n const r = this.num('gap', 56) * 1.6;\n return [Math.cos(a) * r, Math.sin(a) * r];\n }\n default:\n return [0, -g];\n }\n }\n\n mount(): void {\n const [main, actions] = this.parts();\n if (!main) return;\n main.classList.add('usa-fab-main');\n main.setAttribute('aria-haspopup', 'true');\n actions.forEach((a) => a.classList.add('usa-fab-action'));\n this.apply(false);\n this.listen(main, 'click', () => this.toggle());\n this.listen(document, 'keydown', (e: KeyboardEvent) => {\n if (e.key === 'Escape' && this.open) {\n this.toggle(false);\n main.focus();\n }\n });\n this.listen(document, 'pointerdown', (e: PointerEvent) => this.open && !this.contains(e.target as Node) && this.toggle(false));\n this.listen(this, 'click', (e: MouseEvent) => {\n const a = (e.target as Element).closest?.('.usa-fab-action');\n if (a && this.contains(a)) this.toggle(false);\n });\n }\n\n private apply(animate: boolean): void {\n const [main, actions] = this.parts();\n if (!main) return;\n const open = this.open;\n main.setAttribute('aria-expanded', String(open));\n actions.forEach((a, i) => {\n const [x, y] = this.offset(i, actions.length);\n a.toggleAttribute('inert', !open);\n a.setAttribute('aria-hidden', String(!open));\n const to = open ? `translate(${x.toFixed(1)}px, ${y.toFixed(1)}px) scale(1)` : 'translate(0, 0) scale(0.4)';\n const from = a.style.transform || 'translate(0, 0) scale(0.4)';\n a.style.transform = this.reduced ? (open ? `translate(${x.toFixed(1)}px, ${y.toFixed(1)}px)` : 'translate(0, 0)') : to;\n a.style.opacity = open ? '1' : '0';\n if (animate && !this.reduced) {\n const t = springEasing(open ? 'wobbly' : 'stiff');\n this.motion(a, [{ transform: from, opacity: open ? 0 : 1 }, { transform: to, opacity: open ? 1 : 0 }], { ...t, delay: (open ? i : actions.length - 1 - i) * 35 });\n }\n });\n }\n\n toggle(force?: boolean): void {\n const next = force === undefined ? !this.open : force;\n if (next === this.open) return;\n this.setFlag('open', next);\n this.apply(true);\n this.emit('toggle', { open: next });\n }\n },\n { id: 'fab', text: css }\n );\n}\n","import { defineElement, raf, caf, type UsaElement } from '../base';\nimport { adoptVariants } from './variants';\nimport css from './navbar.css?raw';\n\n/**\n * `<usa-navbar>` — an app bar that hides while you scroll down and returns\n * as soon as you scroll up (or reach the top); `shrink` makes it compact\n * once scrolled. Focus inside always reveals it.\n * Attributes: `threshold` (px of scroll before hiding, 64), `shrink`,\n * `target` (selector of a scroll container instead of the page), `variant`.\n * State attributes: `data-hidden`, `data-scrolled`. Events: `usa:hide`, `usa:show`.\n * Reduced motion: hides/shows without sliding (instant).\n */\nexport interface UsaNavbarElement extends UsaElement {\n readonly hiddenByScroll: boolean;\n show(): void;\n}\n\nexport function defineNavbar(tag = 'usa-navbar'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(\n tag,\n (Base) =>\n class UsaNavbar extends Base {\n private _frame = 0;\n private _last = 0;\n\n get hiddenByScroll(): boolean {\n return this.hasAttribute('data-hidden');\n }\n\n mount(): void {\n const sel = this.str('target');\n const scroller: HTMLElement | Window = (sel && (document.querySelector(sel) as HTMLElement)) || window;\n const pos = () => (scroller === window ? window.scrollY || document.documentElement.scrollTop : (scroller as HTMLElement).scrollTop);\n this._last = pos();\n const update = () => {\n this._frame = 0;\n const y = pos();\n const dy = y - this._last;\n this._last = y;\n this.toggleAttribute('data-scrolled', y > 4);\n if (y <= this.num('threshold', 64) || dy < -2) this.show();\n else if (dy > 2 && !this.contains(document.activeElement)) this.hide();\n };\n const on = () => {\n if (!this._frame) this._frame = raf(update);\n };\n this.listen(scroller, 'scroll', on, { passive: true });\n this.listen(this, 'focusin', () => this.show());\n update();\n }\n\n unmount(): void {\n caf(this._frame);\n this._frame = 0;\n }\n\n private hide(): void {\n if (this.hiddenByScroll) return;\n this.setAttribute('data-hidden', '');\n this.emit('hide');\n }\n\n show(): void {\n if (!this.hiddenByScroll) return;\n this.removeAttribute('data-hidden');\n this.emit('show');\n }\n },\n { id: 'navbar', text: css }\n );\n}\n","import { defineElement, clamp, type UsaElement } from '../base';\nimport { createSpring, type SpringValue } from '../physics/spring';\nimport { adoptVariants } from './variants';\nimport css from './slider.css?raw';\n\n/**\n * `<usa-slider>` — a form-associated range slider (`role=\"slider\"`). The\n * thumb follows with a spring, grows while dragged and shows a value bubble.\n * Keyboard: arrows (step), PageUp/PageDown (10 steps), Home/End.\n * Attributes: `value`, `min` (0), `max` (100), `step` (1), `name`, `label`,\n * `bubble` (show the value while dragging), `disabled`, `variant`.\n * Events: `input` + `usa:input` while moving, `change` + `usa:change` on release.\n * Reduced motion: the thumb jumps (no spring).\n */\nexport interface UsaSliderElement extends UsaElement {\n value: number;\n}\n\nexport function defineSlider(tag = 'usa-slider'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(\n tag,\n (Base) => {\n class UsaSlider extends Base {\n static formAssociated = true;\n static get observedAttributes(): string[] {\n return ['min', 'max', 'disabled', 'label'];\n }\n private _internals: ElementInternals | null = null;\n private _v = 0;\n private _pos!: SpringValue;\n private _id = -1;\n\n constructor() {\n super();\n try {\n this._internals = (this as any).attachInternals?.() ?? null;\n } catch {\n this._internals = null;\n }\n }\n\n private range(): [number, number, number] {\n const min = this.num('min', 0);\n const max = Math.max(min + 1e-9, this.num('max', 100));\n return [min, max, Math.max(1e-9, this.num('step', 1))];\n }\n get value(): number {\n return this._v;\n }\n set value(v: number) {\n this.setValue(v, false);\n }\n\n private fraction(v = this._v): number {\n const [min, max] = this.range();\n return (v - min) / (max - min);\n }\n\n private setValue(v: number, user: boolean, animate = true): void {\n const [min, max, step] = this.range();\n const q = clamp(Math.round((v - min) / step) * step + min, min, max);\n const val = Number(q.toFixed(10));\n const changed = val !== this._v;\n this._v = val;\n this.setAttribute('aria-valuenow', String(val));\n this.setAttribute('aria-valuetext', String(val));\n this._internals?.setFormValue?.(String(val));\n const bubble = this.querySelector('.usa-slider-bubble');\n if (bubble) bubble.textContent = String(val);\n if (animate) this._pos?.set(this.fraction());\n else this._pos?.jump(this.fraction());\n if (changed && user) {\n this.dispatchEvent(new Event('input', { bubbles: true }));\n this.emit('input', { value: val });\n }\n }\n\n mount(): void {\n if (!this.querySelector(':scope > .usa-slider-track')) {\n this.innerHTML = '<span class=\"usa-slider-track\"><span class=\"usa-slider-fill\"></span></span><span class=\"usa-slider-thumb\"><span class=\"usa-slider-bubble\"></span></span>';\n }\n this.setAttribute('role', 'slider');\n if (!this.hasAttribute('tabindex')) this.tabIndex = 0;\n const [min, max] = this.range();\n this.setAttribute('aria-valuemin', String(min));\n this.setAttribute('aria-valuemax', String(max));\n if (this.str('label')) this.setAttribute('aria-label', this.str('label'));\n this.toggleAttribute('aria-disabled', this.flag('disabled'));\n this._pos = createSpring({ spring: 'stiff', onUpdate: (f) => this.style.setProperty('--usa-slider', clamp(f, 0, 1).toFixed(4)) });\n this.setValue(this.num('value', min), false, false);\n const fromPointer = (e: PointerEvent) => {\n const r = this.getBoundingClientRect();\n return min + clamp((e.clientX - r.left) / (r.width || 1), 0, 1) * (max - min);\n };\n this.listen(this, 'pointerdown', (e: PointerEvent) => {\n if (this.flag('disabled')) return;\n this._id = e.pointerId;\n try {\n this.setPointerCapture?.(e.pointerId);\n } catch {\n /* synthetic */\n }\n this.setAttribute('data-dragging', '');\n this.setValue(fromPointer(e), true);\n });\n this.listen(this, 'pointermove', (e: PointerEvent) => e.pointerId === this._id && this.setValue(fromPointer(e), true));\n const end = (e: PointerEvent) => {\n if (e.pointerId !== this._id) return;\n this._id = -1;\n this.removeAttribute('data-dragging');\n this.commit();\n };\n this.listen(this, 'pointerup', end);\n this.listen(this, 'pointercancel', end);\n this.listen(this, 'keydown', (e: KeyboardEvent) => {\n if (this.flag('disabled')) return;\n const [mn, mx, st] = this.range();\n const map: Record<string, number> = { ArrowRight: this._v + st, ArrowUp: this._v + st, ArrowLeft: this._v - st, ArrowDown: this._v - st, PageUp: this._v + st * 10, PageDown: this._v - st * 10, Home: mn, End: mx };\n if (!(e.key in map)) return;\n e.preventDefault();\n this.setValue(map[e.key], true);\n this.commit();\n });\n }\n\n unmount(): void {\n this._pos?.stop();\n }\n\n private commit(): void {\n this.dispatchEvent(new Event('change', { bubbles: true }));\n this.emit('change', { value: this._v });\n }\n }\n return UsaSlider as unknown as CustomElementConstructor;\n },\n { id: 'slider', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport { springEasing } from '../physics/spring';\nimport { adoptVariants } from './variants';\nimport { place, nextId, type Placement } from './position';\nimport css from './popover.css?raw';\n\n/**\n * `<usa-popover>` — a click-to-open popover: the first element child is the\n * trigger, `[data-popover]` is the content. Springs open from the trigger,\n * flips to stay on screen; Esc or an outside click closes and focus returns\n * to the trigger. `aria-expanded` / `aria-controls` on the trigger.\n * Attributes: `open`, `placement` (`bottom` default), `variant`. Events:\n * `usa:open`, `usa:close`. Reduced motion: fades only.\n */\nexport interface UsaPopoverElement extends UsaElement {\n open: boolean;\n toggle(force?: boolean): void;\n}\n\nexport function definePopover(tag = 'usa-popover'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(\n tag,\n (Base) =>\n class UsaPopover extends Base {\n get open(): boolean {\n return this.flag('open');\n }\n set open(v: boolean) {\n this.toggle(v);\n }\n private parts(): [HTMLElement | null, HTMLElement | null] {\n return [this.firstElementChild as HTMLElement | null, this.querySelector<HTMLElement>(':scope > [data-popover]')];\n }\n\n mount(): void {\n const [trigger, panel] = this.parts();\n if (!trigger || !panel || trigger === panel) return;\n panel.id ||= nextId('usa-pop');\n panel.classList.add('usa-surface', 'usa-popover-panel');\n if (!panel.hasAttribute('role')) panel.setAttribute('role', 'dialog');\n panel.tabIndex = -1;\n trigger.setAttribute('aria-controls', panel.id);\n trigger.setAttribute('aria-haspopup', 'dialog');\n this.render(false);\n this.listen(trigger, 'click', () => this.toggle());\n this.listen(document, 'keydown', (e: KeyboardEvent) => {\n if (e.key === 'Escape' && this.open) {\n this.toggle(false);\n trigger.focus();\n }\n });\n this.listen(document, 'pointerdown', (e: PointerEvent) => this.open && !this.contains(e.target as Node) && this.toggle(false));\n this.listen(window, 'resize', () => this.open && place(panel, trigger, this.str('placement', 'bottom') as Placement));\n }\n\n private render(animate: boolean): void {\n const [trigger, panel] = this.parts();\n if (!trigger || !panel) return;\n trigger.setAttribute('aria-expanded', String(this.open));\n panel.hidden = !this.open;\n if (!this.open) return;\n const p = place(panel, trigger, this.str('placement', 'bottom') as Placement);\n if (!animate) return;\n const origin = { top: '50% 100%', bottom: '50% 0', left: '100% 50%', right: '0 50%' }[p];\n panel.style.transformOrigin = origin;\n this.motion(panel, this.reduced ? [{ opacity: 0 }, { opacity: 1 }] : [{ opacity: 0, transform: 'scale(0.9)' }, { opacity: 1, transform: 'none' }], this.reduced ? { duration: 120 } : springEasing('wobbly'));\n panel.focus({ preventScroll: true });\n }\n\n toggle(force?: boolean): void {\n const next = force === undefined ? !this.open : force;\n if (next === this.open) return;\n this.setFlag('open', next);\n this.render(true);\n this.emit(next ? 'open' : 'close');\n }\n },\n { id: 'popover', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport { springEasing } from '../physics/spring';\nimport { adoptVariants } from './variants';\nimport css from './badge.css?raw';\n\n/**\n * `<usa-badge>` — a count / dot badge on whatever it wraps; bumps with a\n * spring whenever the value changes and pulses with `pulse`.\n * Attributes: `value` (number or text; 0 / empty hides it unless\n * `show-zero`), `max` (99 → \"99+\"), `dot`, `pulse`, `label` (accessible\n * text, default \"{n} new\"), `variant`. Reduced motion: no bump or pulse.\n */\nexport interface UsaBadgeElement extends UsaElement {\n value: string;\n}\n\nexport function defineBadge(tag = 'usa-badge'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(\n tag,\n (Base) =>\n class UsaBadge extends Base {\n static get observedAttributes(): string[] {\n return ['value', 'max', 'dot', 'label'];\n }\n private _el: HTMLElement | null = null;\n get value(): string {\n return this.str('value');\n }\n set value(v: string) {\n this.setAttribute('value', String(v));\n }\n\n mount(): void {\n if (!this._el || !this._el.isConnected) {\n this._el = document.createElement('span');\n this._el.className = 'usa-badge-count';\n this.append(this._el);\n }\n this.sync(false);\n }\n\n changed(name: string): void {\n this.sync(name === 'value');\n }\n\n private sync(bump: boolean): void {\n const el = this._el;\n if (!el) return;\n const raw = this.value;\n const n = Number(raw);\n const max = this.num('max', 99);\n const text = this.flag('dot') ? '' : raw !== '' && Number.isFinite(n) && n > max ? `${max}+` : raw;\n const empty = !this.flag('dot') && (raw === '' || (raw === '0' && !this.flag('show-zero')));\n el.textContent = text;\n el.hidden = empty;\n this.toggleAttribute('data-dot', this.flag('dot'));\n const label = this.str('label', raw ? `${raw} new` : 'New');\n el.setAttribute('aria-label', label.replace('{n}', raw));\n el.setAttribute('role', 'status');\n if (bump && !empty && !this.reduced) this.motion(el, [{ transform: 'scale(0.4)' }, { transform: 'scale(1)' }], springEasing('bouncy'));\n }\n },\n { id: 'badge', text: css }\n );\n}\n","import { defineElement, type UsaElement } from '../base';\nimport { adoptVariants } from './variants';\nimport css from './avatar-stack.css?raw';\n\n/**\n * `<usa-avatar-stack>` — overlapping avatars (its children: `<img>` or any\n * element) that spread apart with a spring on hover / focus; extra ones\n * collapse into a \"+N\" chip.\n * Attributes: `max` (visible avatars, 5), `size` (px, 36), `overlap` (0–1,\n * 0.35), `label` (group name), `variant`. Reduced motion: no spreading.\n */\nexport interface UsaAvatarStackElement extends UsaElement {}\n\nexport function defineAvatarStack(tag = 'usa-avatar-stack'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(\n tag,\n (Base) =>\n class UsaAvatarStack extends Base {\n static get observedAttributes(): string[] {\n return ['max', 'size', 'overlap'];\n }\n mount(): void {\n this.querySelector(':scope > .usa-avatar-more')?.remove();\n const kids = Array.from(this.children) as HTMLElement[];\n const max = Math.max(1, this.num('max', 5));\n this.style.setProperty('--usa-avatar-size', `${this.num('size', 36)}px`);\n this.style.setProperty('--usa-avatar-overlap', String(this.num('overlap', 0.35)));\n this.setAttribute('role', 'group');\n this.setAttribute('aria-label', this.str('label', `${kids.length} people`));\n kids.forEach((k, i) => {\n k.classList.add('usa-avatar');\n k.hidden = i >= max;\n k.style.setProperty('--i', String(i));\n k.style.zIndex = String(kids.length - i);\n });\n if (kids.length > max) {\n const more = document.createElement('span');\n more.className = 'usa-avatar usa-avatar-more';\n more.textContent = `+${kids.length - max}`;\n more.style.setProperty('--i', String(max));\n more.setAttribute('aria-label', `and ${kids.length - max} more`);\n this.append(more);\n }\n }\n },\n { id: 'avatar-stack', text: css }\n );\n}\n","/**\n * motionary/components/ui — animated UI components + style variants (v2.6).\n * `<usa-tabs>`, `<usa-drawer>`, `<usa-bottom-sheet>`, `<usa-pull-refresh>`,\n * `<usa-fab>`, `<usa-navbar>`, `<usa-slider>`,\n * `<usa-popover>`, `<usa-badge>`, `<usa-avatar-stack>`,\n * and `variant=\"minimal | neon | glass | brutalist | fluent | material\"`\n * design tokens (`setVariant()`, `VARIANTS`).\n */\nimport { defineTabs, type UsaTabsElement } from './tabs';\nimport { defineDrawer, defineBottomSheet, type UsaDrawerElement, type UsaBottomSheetElement } from './sheet';\nimport { definePullRefresh, type UsaPullRefreshElement } from './pull-refresh';\nimport { defineFab, type UsaFabElement } from './fab';\nimport { defineNavbar, type UsaNavbarElement } from './navbar';\nimport { defineSlider, type UsaSliderElement } from './slider';\nimport { definePopover, type UsaPopoverElement } from './popover';\nimport { defineBadge, type UsaBadgeElement } from './badge';\nimport { defineAvatarStack, type UsaAvatarStackElement } from './avatar-stack';\n\nexport { defineTabs, defineDrawer, defineBottomSheet, definePullRefresh, defineFab, defineNavbar, defineSlider, definePopover, defineBadge, defineAvatarStack };\nexport { VARIANTS, setVariant, adoptVariants } from './variants';\nexport type { Variant } from './variants';\nexport type { Placement } from './position';\nexport type {\n UsaTabsElement,\n UsaDrawerElement,\n UsaBottomSheetElement,\n UsaPullRefreshElement,\n UsaFabElement,\n UsaNavbarElement,\n UsaSliderElement,\n UsaPopoverElement,\n UsaBadgeElement,\n UsaAvatarStackElement,\n};\n\n/** Register every component of this category under its default tag. */\nexport function defineUiComponents(): void {\n defineTabs();\n defineDrawer();\n defineBottomSheet();\n definePullRefresh();\n defineFab();\n defineNavbar();\n defineSlider();\n definePopover();\n defineBadge();\n defineAvatarStack();\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'usa-tabs': UsaTabsElement;\n 'usa-drawer': UsaDrawerElement;\n 'usa-bottom-sheet': UsaBottomSheetElement;\n 'usa-pull-refresh': UsaPullRefreshElement;\n 'usa-fab': UsaFabElement;\n 'usa-navbar': UsaNavbarElement;\n 'usa-slider': UsaSliderElement;\n 'usa-popover': UsaPopoverElement;\n 'usa-badge': UsaBadgeElement;\n 'usa-avatar-stack': UsaAvatarStackElement;\n }\n}\n"],"names":["adoptVariants","defineElement","springEasing","css","clamp","createSpring","rubberBand","projectInertia","snapTo","raf","caf"],"mappings":"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"}
@@ -6,7 +6,6 @@ usa-fab{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20p
6
6
  usa-navbar{position:sticky;top:0;z-index:800;display:block;transition:transform 0.35s cubic-bezier(0.22,1,0.36,1),padding 0.25s ease,box-shadow 0.25s ease;will-change:transform}usa-navbar[data-hidden]{transform:translateY(-100%)}usa-navbar[data-scrolled]{box-shadow:var(--usa-shadow,0 6px 20px -10px rgb(0 0 0 / 0.4))}usa-navbar[shrink][data-scrolled]{padding-block:4px}@media (prefers-reduced-motion:reduce){usa-navbar{transition:none}}
7
7
  usa-popover{display:inline-block}usa-popover .usa-popover-panel{position:fixed;z-index:1500;min-width:180px;max-width:min(92vw,360px);padding:12px 14px;outline:none}usa-popover .usa-popover-panel[hidden]{display:none}
8
8
  usa-pull-refresh{position:relative;display:block;overflow:auto;overscroll-behavior-y:contain;touch-action:pan-x pan-down}usa-pull-refresh>:not(.usa-pull-indicator):not(.usa-sr){transform:translateY(var(--usa-pull,0px))}usa-pull-refresh .usa-pull-indicator{position:absolute;left:50%;top:0;width:34px;height:34px;margin-left:-17px;z-index:2;display:grid;place-items:center;border-radius:50%;background:var(--usa-surface,#1b1e27);box-shadow:var(--usa-shadow);color:var(--usa-accent,#7c5cff);transform:translateY(calc(var(--usa-pull,0px) - 40px)) rotate(calc(var(--usa-pull-p,0) * 270deg));opacity:var(--usa-pull-p,0);pointer-events:none}usa-pull-refresh .usa-pull-indicator svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round}usa-pull-refresh .usa-pull-indicator circle{stroke-dasharray:calc(var(--usa-pull-p,0) * 75) 100}usa-pull-refresh[data-armed] .usa-pull-indicator{background:var(--usa-accent,#7c5cff);color:var(--usa-accent-text,#fff)}usa-pull-refresh[data-refreshing] .usa-pull-indicator{opacity:1;animation:usa-pull-spin 0.8s linear infinite}usa-pull-refresh[data-refreshing] .usa-pull-indicator circle{stroke-dasharray:60 100}@keyframes usa-pull-spin{from{transform:translateY(calc(var(--usa-pull,0px) - 40px)) rotate(0)}to{transform:translateY(calc(var(--usa-pull,0px) - 40px)) rotate(360deg)}}@media (prefers-reduced-motion:reduce){usa-pull-refresh[data-refreshing] .usa-pull-indicator{animation-duration:2.4s;transform:translateY(8px)}}
9
- usa-rating{--usa-rating-on:#f5b301;display:inline-flex;gap:2px;font-size:1.5em;line-height:1;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}usa-rating[readonly]{cursor:default}usa-rating .usa-rating-star{display:inline-block;color:color-mix(in srgb,currentColor 22%,transparent);transition:color 0.15s ease,transform 0.2s ease}usa-rating .usa-rating-star[data-on]{color:var(--usa-rating-on)}usa-rating[data-previewing] .usa-rating-star{color:color-mix(in srgb,currentColor 22%,transparent)}usa-rating[data-previewing] .usa-rating-star[data-preview]{color:var(--usa-rating-on);transform:scale(1.12)}usa-rating:focus-visible{outline:2px solid var(--usa-accent,#7c5cff);outline-offset:3px;border-radius:6px}@media (prefers-reduced-motion:reduce){usa-rating .usa-rating-star{transition:none;transform:none !important}}
10
9
  usa-drawer,usa-bottom-sheet{position:fixed;z-index:1001;box-sizing:border-box;overflow:auto;overscroll-behavior:contain;touch-action:pan-y;will-change:transform;outline:none}usa-drawer{top:0;bottom:0;left:0;width:min(86vw,360px);border-radius:0 var(--usa-radius,14px) var(--usa-radius,14px) 0;padding:20px}usa-drawer[side="right"]{left:auto;right:0;border-radius:var(--usa-radius,14px) 0 0 var(--usa-radius,14px)}usa-drawer[side="top"],usa-drawer[side="bottom"]{left:0;right:0;width:auto;bottom:auto;max-height:80vh;border-radius:0 0 var(--usa-radius,14px) var(--usa-radius,14px);touch-action:pan-x}usa-drawer[side="bottom"]{top:auto;bottom:0;border-radius:var(--usa-radius,14px) var(--usa-radius,14px) 0 0}usa-bottom-sheet{left:0;right:0;bottom:0;margin:0 auto;max-width:640px;border-radius:22px 22px 0 0;padding:8px 20px 24px;touch-action:none}usa-bottom-sheet .usa-sheet-handle{width:40px;height:5px;border-radius:3px;margin:4px auto 14px;background:color-mix(in srgb,currentColor 35%,transparent);cursor:grab}usa-drawer[hidden],usa-bottom-sheet[hidden]{display:none}.usa-panel-backdrop{position:fixed;inset:0;z-index:1000;background:rgb(0 0 0 / 0.45)}
11
10
  usa-slider{--usa-slider:0;position:relative;display:block;height:28px;min-width:120px;touch-action:none;cursor:pointer;-webkit-tap-highlight-color:transparent}usa-slider .usa-slider-track{position:absolute;left:0;right:0;top:50%;height:6px;margin-top:-3px;border-radius:3px;background:color-mix(in srgb,currentColor 16%,transparent);overflow:hidden}usa-slider .usa-slider-fill{position:absolute;inset:0;background:var(--usa-accent,#7c5cff);transform-origin:0 50%;transform:scaleX(var(--usa-slider))}usa-slider .usa-slider-thumb{position:absolute;top:50%;left:calc(var(--usa-slider) * 100%);width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgb(0 0 0 / 0.35),0 0 0 4px color-mix(in srgb,var(--usa-accent,#7c5cff) 0%,transparent);transition:transform 0.25s cubic-bezier(0.34,1.56,0.64,1),box-shadow 0.2s ease}usa-slider:hover .usa-slider-thumb,usa-slider:focus-visible .usa-slider-thumb{box-shadow:0 1px 4px rgb(0 0 0 / 0.35),0 0 0 6px color-mix(in srgb,var(--usa-accent,#7c5cff) 25%,transparent)}usa-slider[data-dragging] .usa-slider-thumb{transform:scale(1.25)}usa-slider .usa-slider-bubble{position:absolute;bottom:150%;left:50%;transform:translateX(-50%) scale(0.6);opacity:0;padding:2px 8px;border-radius:8px;font:600 12px/1.6 system-ui,sans-serif;color:var(--usa-accent-text,#fff);background:var(--usa-accent,#7c5cff);white-space:nowrap;pointer-events:none;transition:opacity 0.15s ease,transform 0.25s cubic-bezier(0.34,1.56,0.64,1)}usa-slider[bubble][data-dragging] .usa-slider-bubble,usa-slider[bubble]:focus-visible .usa-slider-bubble{opacity:1;transform:translateX(-50%) scale(1)}usa-slider:focus-visible{outline:none}usa-slider[disabled]{opacity:0.45;cursor:not-allowed}@media (prefers-reduced-motion:reduce){usa-slider .usa-slider-thumb,usa-slider .usa-slider-bubble{transition:none}}
12
11
  usa-tabs{display:block;font-family:var(--usa-font)}usa-tabs .usa-tabs-list{position:relative;display:flex;gap:4px;border-bottom:1px solid color-mix(in srgb,currentColor 14%,transparent)}usa-tabs [role="tab"]{position:relative;z-index:1;padding:10px 14px;border:0;background:none;color:inherit;font:inherit;cursor:pointer;opacity:0.7;transition:opacity 0.2s ease,color 0.2s ease;border-radius:calc(var(--usa-radius,14px) / 2)}usa-tabs [role="tab"][aria-selected="true"]{opacity:1;color:var(--usa-accent,#7c5cff)}usa-tabs [role="tab"]:focus-visible{outline:2px solid var(--usa-accent,#7c5cff);outline-offset:-2px}usa-tabs .usa-tabs-indicator{position:absolute;left:0;bottom:-1px;height:3px;width:0;border-radius:3px;background:var(--usa-accent,#7c5cff);pointer-events:none}usa-tabs[indicator="pill"] .usa-tabs-list{border-bottom:0;padding:4px;border-radius:999px;background:color-mix(in srgb,currentColor 8%,transparent)}usa-tabs[indicator="pill"] .usa-tabs-indicator{top:4px;bottom:4px;height:auto;border-radius:999px;opacity:0.18}usa-tabs [role="tabpanel"]{padding:14px 2px}usa-tabs [role="tabpanel"]:focus-visible{outline:2px solid var(--usa-accent,#7c5cff);outline-offset:2px;border-radius:6px}
@@ -107,22 +107,6 @@ interface UsaSliderElement extends UsaElement {
107
107
  }
108
108
  declare function defineSlider(tag?: string): CustomElementConstructor | undefined;
109
109
 
110
- /**
111
- * `<usa-rating>` — star rating with hover preview and a springy pop when a
112
- * value is chosen. `role="slider"` (arrow keys, Home/End, number keys).
113
- * Attributes: `value` (0), `max` (5), `icon` (★), `readonly`, `label`
114
- * ("Rating"), `name` (form value), `variant`. Events: `change`, `usa:change` (`{ value }`).
115
- * Reduced motion: no pop.
116
- *
117
- * @deprecated 7.9 — removed in 8.0. Use `<usa-star-rating>` (6.4; same
118
- * `value` / `max` / `readonly` / `label` / `name`, `icon="heart"` for ♥).
119
- * `npx usa-codemod-8 --write src` rewrites the tags.
120
- */
121
- interface UsaRatingElement extends UsaElement {
122
- value: number;
123
- }
124
- declare function defineRating(tag?: string): CustomElementConstructor | undefined;
125
-
126
110
  /**
127
111
  * `<usa-popover>` — a click-to-open popover: the first element child is the
128
112
  * trigger, `[data-popover]` is the content. Springs open from the trigger,
@@ -185,7 +169,7 @@ type Placement = 'top' | 'bottom' | 'left' | 'right';
185
169
  /**
186
170
  * motionary/components/ui — animated UI components + style variants (v2.6).
187
171
  * `<usa-tabs>`, `<usa-drawer>`, `<usa-bottom-sheet>`, `<usa-pull-refresh>`,
188
- * `<usa-fab>`, `<usa-navbar>`, `<usa-slider>`, `<usa-rating>`,
172
+ * `<usa-fab>`, `<usa-navbar>`, `<usa-slider>`,
189
173
  * `<usa-popover>`, `<usa-badge>`, `<usa-avatar-stack>`,
190
174
  * and `variant="minimal | neon | glass | brutalist | fluent | material"`
191
175
  * design tokens (`setVariant()`, `VARIANTS`).
@@ -202,12 +186,11 @@ declare global {
202
186
  'usa-fab': UsaFabElement;
203
187
  'usa-navbar': UsaNavbarElement;
204
188
  'usa-slider': UsaSliderElement;
205
- 'usa-rating': UsaRatingElement;
206
189
  'usa-popover': UsaPopoverElement;
207
190
  'usa-badge': UsaBadgeElement;
208
191
  'usa-avatar-stack': UsaAvatarStackElement;
209
192
  }
210
193
  }
211
194
 
212
- export { VARIANTS, adoptVariants, defineAvatarStack, defineBadge, defineBottomSheet, defineDrawer, defineFab, defineNavbar, definePopover, definePullRefresh, defineRating, defineSlider, defineTabs, defineUiComponents, setVariant };
213
- export type { Placement, UsaAvatarStackElement, UsaBadgeElement, UsaBottomSheetElement, UsaDrawerElement, UsaFabElement, UsaNavbarElement, UsaPopoverElement, UsaPullRefreshElement, UsaRatingElement, UsaSliderElement, UsaTabsElement, Variant };
195
+ export { VARIANTS, adoptVariants, defineAvatarStack, defineBadge, defineBottomSheet, defineDrawer, defineFab, defineNavbar, definePopover, definePullRefresh, defineSlider, defineTabs, defineUiComponents, setVariant };
196
+ export type { Placement, UsaAvatarStackElement, UsaBadgeElement, UsaBottomSheetElement, UsaDrawerElement, UsaFabElement, UsaNavbarElement, UsaPopoverElement, UsaPullRefreshElement, UsaSliderElement, UsaTabsElement, Variant };
@@ -107,22 +107,6 @@ interface UsaSliderElement extends UsaElement {
107
107
  }
108
108
  declare function defineSlider(tag?: string): CustomElementConstructor | undefined;
109
109
 
110
- /**
111
- * `<usa-rating>` — star rating with hover preview and a springy pop when a
112
- * value is chosen. `role="slider"` (arrow keys, Home/End, number keys).
113
- * Attributes: `value` (0), `max` (5), `icon` (★), `readonly`, `label`
114
- * ("Rating"), `name` (form value), `variant`. Events: `change`, `usa:change` (`{ value }`).
115
- * Reduced motion: no pop.
116
- *
117
- * @deprecated 7.9 — removed in 8.0. Use `<usa-star-rating>` (6.4; same
118
- * `value` / `max` / `readonly` / `label` / `name`, `icon="heart"` for ♥).
119
- * `npx usa-codemod-8 --write src` rewrites the tags.
120
- */
121
- interface UsaRatingElement extends UsaElement {
122
- value: number;
123
- }
124
- declare function defineRating(tag?: string): CustomElementConstructor | undefined;
125
-
126
110
  /**
127
111
  * `<usa-popover>` — a click-to-open popover: the first element child is the
128
112
  * trigger, `[data-popover]` is the content. Springs open from the trigger,
@@ -185,7 +169,7 @@ type Placement = 'top' | 'bottom' | 'left' | 'right';
185
169
  /**
186
170
  * motionary/components/ui — animated UI components + style variants (v2.6).
187
171
  * `<usa-tabs>`, `<usa-drawer>`, `<usa-bottom-sheet>`, `<usa-pull-refresh>`,
188
- * `<usa-fab>`, `<usa-navbar>`, `<usa-slider>`, `<usa-rating>`,
172
+ * `<usa-fab>`, `<usa-navbar>`, `<usa-slider>`,
189
173
  * `<usa-popover>`, `<usa-badge>`, `<usa-avatar-stack>`,
190
174
  * and `variant="minimal | neon | glass | brutalist | fluent | material"`
191
175
  * design tokens (`setVariant()`, `VARIANTS`).
@@ -202,12 +186,11 @@ declare global {
202
186
  'usa-fab': UsaFabElement;
203
187
  'usa-navbar': UsaNavbarElement;
204
188
  'usa-slider': UsaSliderElement;
205
- 'usa-rating': UsaRatingElement;
206
189
  'usa-popover': UsaPopoverElement;
207
190
  'usa-badge': UsaBadgeElement;
208
191
  'usa-avatar-stack': UsaAvatarStackElement;
209
192
  }
210
193
  }
211
194
 
212
- export { VARIANTS, adoptVariants, defineAvatarStack, defineBadge, defineBottomSheet, defineDrawer, defineFab, defineNavbar, definePopover, definePullRefresh, defineRating, defineSlider, defineTabs, defineUiComponents, setVariant };
213
- export type { Placement, UsaAvatarStackElement, UsaBadgeElement, UsaBottomSheetElement, UsaDrawerElement, UsaFabElement, UsaNavbarElement, UsaPopoverElement, UsaPullRefreshElement, UsaRatingElement, UsaSliderElement, UsaTabsElement, Variant };
195
+ export { VARIANTS, adoptVariants, defineAvatarStack, defineBadge, defineBottomSheet, defineDrawer, defineFab, defineNavbar, definePopover, definePullRefresh, defineSlider, defineTabs, defineUiComponents, setVariant };
196
+ export type { Placement, UsaAvatarStackElement, UsaBadgeElement, UsaBottomSheetElement, UsaDrawerElement, UsaFabElement, UsaNavbarElement, UsaPopoverElement, UsaPullRefreshElement, UsaSliderElement, UsaTabsElement, Variant };