use-scroll-animate 2.4.0 → 2.6.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 (55) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/README.md +2 -0
  3. package/README_ja.md +2 -0
  4. package/README_zh.md +2 -0
  5. package/dist/chunks/{base-CuvCgqLy.js → base-08OYzphB.js} +2 -2
  6. package/dist/chunks/{base-CuvCgqLy.js.map → base-08OYzphB.js.map} +1 -1
  7. package/dist/chunks/{base-CJ7XfidP.cjs → base-5DFCAnvH.cjs} +3 -1
  8. package/dist/chunks/{base-CJ7XfidP.cjs.map → base-5DFCAnvH.cjs.map} +1 -1
  9. package/dist/chunks/{spring-CGO9Jd9b.cjs → spring-Bi4qY0pL.cjs} +2 -2
  10. package/dist/chunks/{spring-CGO9Jd9b.cjs.map → spring-Bi4qY0pL.cjs.map} +1 -1
  11. package/dist/chunks/{spring-BKUU7-Xm.js → spring-CpeFkxNd.js} +2 -2
  12. package/dist/chunks/{spring-BKUU7-Xm.js.map → spring-CpeFkxNd.js.map} +1 -1
  13. package/dist/components/background.cjs +1 -1
  14. package/dist/components/background.js +2 -2
  15. package/dist/components/cards.cjs +2 -2
  16. package/dist/components/cards.js +3 -3
  17. package/dist/components/click.cjs +985 -0
  18. package/dist/components/click.cjs.map +1 -0
  19. package/dist/components/click.css +9 -0
  20. package/dist/components/click.d.cts +250 -0
  21. package/dist/components/click.d.ts +250 -0
  22. package/dist/components/click.js +967 -0
  23. package/dist/components/click.js.map +1 -0
  24. package/dist/components/feedback.cjs +2 -2
  25. package/dist/components/feedback.css +1 -1
  26. package/dist/components/feedback.js +3 -3
  27. package/dist/components/interaction.cjs +2 -2
  28. package/dist/components/interaction.css +1 -1
  29. package/dist/components/interaction.js +3 -3
  30. package/dist/components/physics.cjs +2 -2
  31. package/dist/components/physics.js +4 -4
  32. package/dist/components/reveal.cjs +1 -1
  33. package/dist/components/reveal.js +2 -2
  34. package/dist/components/text.cjs +1 -1
  35. package/dist/components/text.js +2 -2
  36. package/dist/components/transitions.cjs +1 -1
  37. package/dist/components/transitions.js +2 -2
  38. package/dist/components/ui.cjs +1082 -0
  39. package/dist/components/ui.cjs.map +1 -0
  40. package/dist/components/ui.css +14 -0
  41. package/dist/components/ui.d.cts +251 -0
  42. package/dist/components/ui.d.ts +251 -0
  43. package/dist/components/ui.js +1064 -0
  44. package/dist/components/ui.js.map +1 -0
  45. package/dist/components.cjs +44 -4
  46. package/dist/components.cjs.map +1 -1
  47. package/dist/components.css +21 -2
  48. package/dist/components.d.cts +427 -2
  49. package/dist/components.d.ts +427 -2
  50. package/dist/components.js +14 -3
  51. package/dist/components.js.map +1 -1
  52. package/dist/components.umd.js +2 -2
  53. package/dist/components.umd.js.map +1 -1
  54. package/docs/components.md +33 -0
  55. package/package.json +24 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui.cjs","sources":["../../src/components/ui/variants.ts","../../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/tooltip.ts","../../src/components/ui/popover.ts","../../src/components/ui/badge.ts","../../src/components/ui/avatar-stack.ts","../../src/components/ui/index.ts"],"sourcesContent":["import { adoptStyles } from '../base';\nimport css from './variants.css?raw';\n\n/**\n * Style variants (v2.6): `variant=\"minimal | neon | glass | brutalist |\n * fluent | material\"` on any `<usa-*>` element — or on any ancestor as\n * `data-usa-variant`, or page-wide with `setVariant()` — sets the shared\n * design tokens every component reads:\n *\n * `--usa-accent`, `--usa-accent-text`, `--usa-surface`, `--usa-text`,\n * `--usa-radius`, `--usa-border`, `--usa-shadow`, `--usa-blur`, `--usa-font`.\n *\n * (`<usa-spinner>`, `<usa-check>` and `<usa-dialog>` already use `variant`\n * for their kind; the token names never clash with those values except\n * `fluent`, which means the same thing there.)\n */\nexport const VARIANTS = ['minimal', 'neon', 'glass', 'brutalist', 'fluent', 'material'] as const;\nexport type Variant = (typeof VARIANTS)[number];\n\n/** Inject the variant token sheet (done automatically by every `ui` component). */\nexport function adoptVariants(): void {\n adoptStyles('variants', css);\n}\n\n/** Apply a variant to the whole page (or `root`); `null` removes it. */\nexport function setVariant(variant: Variant | null, root: Element | null = typeof document !== 'undefined' ? document.documentElement : null): void {\n if (!root) return;\n adoptVariants();\n if (variant) root.setAttribute('data-usa-variant', variant);\n else root.removeAttribute('data-usa-variant');\n}\n","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, 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 */\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 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 './tooltip.css?raw';\n\n/**\n * `<usa-tooltip text=\"…\">` — a tooltip for the element it wraps, shown on\n * hover (after `delay` ms, 300) and on keyboard focus, hidden on Esc / blur.\n * It springs in from its placement side and flips to stay on screen; the\n * trigger gets `aria-describedby`.\n * Attributes: `text`, `placement` (`top` default, `bottom`, `left`, `right`),\n * `delay`, `variant`. Reduced motion: fades only.\n */\nexport interface UsaTooltipElement extends UsaElement {\n show(): void;\n hide(): void;\n}\n\nexport function defineTooltip(tag = 'usa-tooltip'): CustomElementConstructor | undefined {\n adoptVariants();\n return defineElement(\n tag,\n (Base) =>\n class UsaTooltip extends Base {\n static get observedAttributes(): string[] {\n return ['text'];\n }\n private _tip: HTMLElement | null = null;\n private _t: ReturnType<typeof setTimeout> | undefined;\n\n mount(): void {\n const trigger = (this.firstElementChild as HTMLElement) || this;\n const tip = document.createElement('span');\n tip.className = 'usa-tooltip-bubble usa-surface';\n tip.setAttribute('role', 'tooltip');\n tip.id = nextId('usa-tip');\n tip.textContent = this.str('text');\n tip.hidden = true;\n this.append(tip);\n this._tip = tip;\n trigger.setAttribute('aria-describedby', tip.id);\n const later = () => {\n clearTimeout(this._t);\n this._t = setTimeout(() => this.show(), this.num('delay', 300));\n };\n this.listen(this, 'pointerenter', later);\n this.listen(this, 'pointerleave', () => this.hide());\n this.listen(this, 'focusin', () => this.show());\n this.listen(this, 'focusout', () => this.hide());\n this.listen(document, 'keydown', (e: KeyboardEvent) => e.key === 'Escape' && this.hide());\n this.onCleanup(() => {\n clearTimeout(this._t);\n tip.remove();\n trigger.removeAttribute('aria-describedby');\n });\n }\n\n show(): void {\n const tip = this._tip;\n if (!tip || !tip.hidden || !this.str('text')) return;\n clearTimeout(this._t);\n tip.hidden = false;\n const p = place(tip, (this.firstElementChild as HTMLElement) || this, this.str('placement', 'top') as Placement);\n const d = { top: [0, 6], bottom: [0, -6], left: [6, 0], right: [-6, 0] }[p];\n this.motion(tip, this.reduced ? [{ opacity: 0 }, { opacity: 1 }] : [{ opacity: 0, transform: `translate(${d[0]}px, ${d[1]}px) scale(0.85)` }, { opacity: 1, transform: 'none' }], this.reduced ? { duration: 120 } : springEasing('stiff'));\n }\n\n hide(): void {\n clearTimeout(this._t);\n if (this._tip) this._tip.hidden = true;\n }\n },\n { id: 'tooltip', 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 * use-scroll-animate/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-tooltip>`, `<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 { defineTooltip, type UsaTooltipElement } from './tooltip';\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, defineTooltip, 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 UsaTooltipElement,\n UsaPopoverElement,\n UsaBadgeElement,\n UsaAvatarStackElement,\n};\nexport { configureComponents, prefersReducedMotion } from '../base';\nexport type { ComponentsConfig, UsaElement } from '../base';\n\n/** Register every component of this category under its default tag. */\nexport function defineUiComponents(): void {\n defineTabs();\n defineDrawer();\n defineBottomSheet();\n definePullRefresh();\n defineFab();\n defineNavbar();\n defineSlider();\n defineRating();\n defineTooltip();\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-tooltip': UsaTooltipElement;\n 'usa-popover': UsaPopoverElement;\n 'usa-badge': UsaBadgeElement;\n 'usa-avatar-stack': UsaAvatarStackElement;\n }\n}\n"],"names":["adoptStyles","css","defineElement","springEasing","clamp","createSpring","rubberBand","projectInertia","snapTo","raf","caf"],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /* use-scroll-animate/components/ui */
2
+ .usa-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
3
+ usa-avatar-stack{--usa-avatar-size:36px;--usa-avatar-overlap:0.35;display:inline-flex;align-items:center;padding-inline-start:calc(var(--usa-avatar-size) * var(--usa-avatar-overlap))}usa-avatar-stack .usa-avatar{width:var(--usa-avatar-size);height:var(--usa-avatar-size);border-radius:50%;object-fit:cover;flex:none;box-shadow:0 0 0 2px var(--usa-avatar-ring,Canvas);margin-inline-start:calc(var(--usa-avatar-size) * var(--usa-avatar-overlap) * -1);transition:margin 0.45s cubic-bezier(0.34,1.56,0.64,1),transform 0.3s cubic-bezier(0.34,1.56,0.64,1);display:grid;place-items:center;font:700 12px/1 system-ui,sans-serif;background:color-mix(in srgb,currentColor 14%,transparent)}usa-avatar-stack .usa-avatar[hidden]{display:none}usa-avatar-stack:hover .usa-avatar,usa-avatar-stack:focus-within .usa-avatar{margin-inline-start:4px}usa-avatar-stack .usa-avatar:hover{transform:translateY(-4px) scale(1.08)}@media (prefers-reduced-motion:reduce){usa-avatar-stack .usa-avatar{transition:none}usa-avatar-stack:hover .usa-avatar,usa-avatar-stack:focus-within .usa-avatar{margin-inline-start:calc(var(--usa-avatar-size) * var(--usa-avatar-overlap) * -1)}usa-avatar-stack .usa-avatar:hover{transform:none}}
4
+ usa-badge{position:relative;display:inline-block}usa-badge .usa-badge-count{position:absolute;top:0;right:0;transform-origin:50% 50%;translate:45% -45%;min-width:18px;height:18px;padding:0 5px;box-sizing:border-box;border-radius:9px;display:grid;place-items:center;font:700 11px/1 system-ui,sans-serif;color:var(--usa-accent-text,#fff);background:var(--usa-badge-color,#e5484d);box-shadow:0 0 0 2px var(--usa-badge-ring,Canvas);pointer-events:none}usa-badge[data-dot] .usa-badge-count{min-width:10px;width:10px;height:10px;padding:0}usa-badge .usa-badge-count[hidden]{display:none}usa-badge[pulse] .usa-badge-count::after{content:"";position:absolute;inset:0;border-radius:inherit;background:inherit;animation:usa-badge-pulse 1.6s ease-out infinite;z-index:-1}@keyframes usa-badge-pulse{from{transform:scale(1);opacity:0.6}to{transform:scale(2.4);opacity:0}}@media (prefers-reduced-motion:reduce){usa-badge[pulse] .usa-badge-count::after{animation:none}}
5
+ usa-fab{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:900;display:grid;place-items:center}usa-fab[position="bottom-left"]{right:auto;left:max(20px,env(safe-area-inset-left))}usa-fab[position="inline"]{position:relative;right:auto;bottom:auto;display:inline-grid}usa-fab>*{grid-area:1 / 1}usa-fab .usa-fab-main{position:relative;z-index:1;width:56px;height:56px;border-radius:min(var(--usa-radius,14px) * 1.2,28px);border:0;display:grid;place-items:center;font-size:24px;cursor:pointer;background:var(--usa-accent,#7c5cff);color:var(--usa-accent-text,#fff);box-shadow:var(--usa-shadow);transition:transform 0.35s cubic-bezier(0.34,1.56,0.64,1)}usa-fab[open] .usa-fab-main{transform:rotate(45deg)}usa-fab .usa-fab-action{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;opacity:0;transform:scale(0.4);will-change:transform,opacity}usa-fab .usa-fab-main:focus-visible,usa-fab .usa-fab-action:focus-visible{outline:2px solid var(--usa-accent,#7c5cff);outline-offset:3px}@media (prefers-reduced-motion:reduce){usa-fab .usa-fab-main{transition:none}}
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
+ 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
+ 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
+ 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
+ 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
+ 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}
13
+ usa-tooltip{display:inline-block}usa-tooltip .usa-tooltip-bubble{position:fixed;z-index:2000;max-width:260px;padding:6px 10px;font-size:0.85rem;line-height:1.4;pointer-events:none;--usa-radius:8px;white-space:normal}usa-tooltip .usa-tooltip-bubble[hidden]{display:none}
14
+ :root{--usa-accent:#7c5cff;--usa-accent-text:#fff;--usa-surface:#1b1e27;--usa-text:inherit;--usa-radius:14px;--usa-border:1px solid rgb(127 127 127 / 0.25);--usa-shadow:0 10px 30px -12px rgb(0 0 0 / 0.45);--usa-blur:0px;--usa-font:inherit}:where([variant="minimal"],[data-usa-variant="minimal"]){--usa-accent:currentColor;--usa-accent-text:Canvas;--usa-surface:transparent;--usa-radius:6px;--usa-border:1px solid color-mix(in srgb,currentColor 22%,transparent);--usa-shadow:none;--usa-blur:0px}:where([variant="neon"],[data-usa-variant="neon"]){--usa-accent:#00f0ff;--usa-accent-text:#04121a;--usa-surface:#0a0b14;--usa-text:#e6fbff;--usa-radius:10px;--usa-border:1px solid #00f0ff;--usa-shadow:0 0 6px #00f0ff,0 0 22px rgb(0 240 255 / 0.45);--usa-blur:0px}:where([variant="glass"],[data-usa-variant="glass"]){--usa-accent:#a78bfa;--usa-accent-text:#fff;--usa-surface:rgb(255 255 255 / 0.12);--usa-radius:18px;--usa-border:1px solid rgb(255 255 255 / 0.28);--usa-shadow:0 12px 40px -12px rgb(0 0 0 / 0.35);--usa-blur:16px}:where([variant="brutalist"],[data-usa-variant="brutalist"]){--usa-accent:#ff3d00;--usa-accent-text:#000;--usa-surface:#fff;--usa-text:#000;--usa-radius:0px;--usa-border:3px solid #000;--usa-shadow:5px 5px 0 #000;--usa-blur:0px;--usa-font:ui-monospace,"SFMono-Regular",Menlo,monospace}:where([variant="fluent"],[data-usa-variant="fluent"]){--usa-accent:#0067c0;--usa-accent-text:#fff;--usa-surface:rgb(249 249 249 / 0.82);--usa-text:#1a1a1a;--usa-radius:8px;--usa-border:1px solid rgb(0 0 0 / 0.08);--usa-shadow:0 2px 4px rgb(0 0 0 / 0.14),0 0 2px rgb(0 0 0 / 0.12);--usa-blur:30px;--usa-font:"Segoe UI Variable","Segoe UI",system-ui,sans-serif}:where([variant="material"],[data-usa-variant="material"]){--usa-accent:#6750a4;--usa-accent-text:#fff;--usa-surface:#fffbfe;--usa-text:#1c1b1f;--usa-radius:20px;--usa-border:0 solid transparent;--usa-shadow:0 1px 3px rgb(0 0 0 / 0.3),0 4px 8px 3px rgb(0 0 0 / 0.15);--usa-blur:0px;--usa-font:Roboto,system-ui,sans-serif}@media (prefers-color-scheme:dark){:where([variant="fluent"],[data-usa-variant="fluent"]){--usa-accent:#4cc2ff;--usa-accent-text:#000;--usa-surface:rgb(44 44 44 / 0.8);--usa-text:#fff;--usa-border:1px solid rgb(255 255 255 / 0.08)}:where([variant="material"],[data-usa-variant="material"]){--usa-accent:#d0bcff;--usa-accent-text:#381e72;--usa-surface:#1c1b1f;--usa-text:#e6e1e5}}.usa-surface{background:var(--usa-surface);color:var(--usa-text);border:var(--usa-border);border-radius:var(--usa-radius);box-shadow:var(--usa-shadow);font-family:var(--usa-font);-webkit-backdrop-filter:blur(var(--usa-blur));backdrop-filter:blur(var(--usa-blur))}@media (prefers-reduced-transparency:reduce){.usa-surface{-webkit-backdrop-filter:none;backdrop-filter:none}}
@@ -0,0 +1,251 @@
1
+ /**
2
+ * use-scroll-animate/components — shared base for the `<usa-*>` custom elements.
3
+ *
4
+ * Everything here is lazy: nothing touches `window`, `document`,
5
+ * `HTMLElement` or `matchMedia` at import time, so the components can be
6
+ * imported during SSR (Next, Nuxt, Astro…) and in Electron/Tauri preload
7
+ * scripts. Classes are created the first time a `define*()` function runs.
8
+ */
9
+ interface ComponentsConfig {
10
+ /**
11
+ * Inject each component's CSS when it is defined (default `true`). Uses a
12
+ * constructable stylesheet (`document.adoptedStyleSheets`, which a strict
13
+ * `style-src` CSP does not block) and falls back to a `<style>` tag. Set
14
+ * to `false` when you load `use-scroll-animate/components.css` yourself.
15
+ */
16
+ injectStyles?: boolean;
17
+ /**
18
+ * `'user'` (default) follows `prefers-reduced-motion`; `'reduce'` always
19
+ * uses the reduced variants (e.g. a kiosk / battery-saver mode);
20
+ * `'no-preference'` ignores the OS setting (only for demos — respect your users).
21
+ */
22
+ reducedMotion?: 'user' | 'reduce' | 'no-preference';
23
+ }
24
+ /** Change global component settings (call before `define*()` for `injectStyles`). */
25
+ declare function configureComponents(options: ComponentsConfig): void;
26
+ /** `true` when animations should be reduced (OS setting or `configureComponents`). */
27
+ declare function prefersReducedMotion(): boolean;
28
+ /**
29
+ * Members shared by every `<usa-*>` element. Attribute helpers, a cleanup
30
+ * bag that is emptied on disconnect, and motion helpers that degrade to the
31
+ * final state without WAAPI or under reduced motion.
32
+ */
33
+ interface UsaElement extends HTMLElement {
34
+ /** `true` while reduced motion applies to this element. */
35
+ readonly reduced: boolean;
36
+ }
37
+
38
+ /**
39
+ * `<usa-tabs>` — accessible tabs with a sliding (spring) indicator.
40
+ * Tabs: `[data-tab]` children (buttons); panels: `[data-panel]` children, in
41
+ * the same order. Arrow keys / Home / End move between tabs (roving tabindex).
42
+ *
43
+ * Attributes: `selected` (index, 0), `indicator` (`line` default, `pill`),
44
+ * `variant`. Events: `usa:change` (`{ index }`). Panels fade/slide in;
45
+ * reduced motion: the indicator jumps and panels switch instantly.
46
+ */
47
+ interface UsaTabsElement extends UsaElement {
48
+ selected: number;
49
+ select(i: number, focus?: boolean): void;
50
+ }
51
+ declare function defineTabs(tag?: string): CustomElementConstructor | undefined;
52
+
53
+ /**
54
+ * `<usa-drawer>` — a side panel that slides in with a spring and can be
55
+ * dragged / swiped closed. Modal: backdrop, Esc, focus returns on close.
56
+ * Attributes: `open`, `side` (`left` default, `right`, `top`, `bottom`),
57
+ * `label`, `variant`. Events: `usa:open`, `usa:close`. `[data-close]` closes.
58
+ * Reduced motion: opens and closes instantly.
59
+ */
60
+ interface UsaDrawerElement extends UsaElement {
61
+ open: boolean;
62
+ show(): void;
63
+ close(): void;
64
+ }
65
+ /**
66
+ * `<usa-bottom-sheet>` — a draggable bottom sheet with snap points
67
+ * (`snap="0.3,0.6,0.92"`, fractions of the viewport height; default
68
+ * `0.5,0.92`; `start` = index of the snap it opens at, default 0), inertia and drag-down-to-dismiss. `[data-handle]` (or the
69
+ * built-in grabber) drags it. Attributes: `open`, `snap`, `start` (initial
70
+ * snap index), `label`, `variant`. Events: `usa:open`, `usa:close`, `usa:snap`.
71
+ */
72
+ interface UsaBottomSheetElement extends UsaDrawerElement {
73
+ }
74
+ declare function defineDrawer(tag?: string): CustomElementConstructor | undefined;
75
+ declare function defineBottomSheet(tag?: string): CustomElementConstructor | undefined;
76
+
77
+ /**
78
+ * `<usa-pull-refresh>` — pull-to-refresh for a scroll container (itself):
79
+ * pull down at the top (touch / pointer) and a spinner stretches in; past
80
+ * `threshold` (px, 70) releasing fires `usa:refresh` — call
81
+ * `event.detail.done()` (or return a promise to `onrefresh`) to finish.
82
+ * Also exposes `refresh()` for a keyboard / button path.
83
+ * Attributes: `threshold`, `disabled`, `label` (status text, "Refreshing").
84
+ * Reduced motion: no stretch; the spinner simply appears while refreshing.
85
+ */
86
+ interface UsaPullRefreshElement extends UsaElement {
87
+ readonly refreshing: boolean;
88
+ refresh(): Promise<void>;
89
+ }
90
+ declare function definePullRefresh(tag?: string): CustomElementConstructor | undefined;
91
+
92
+ /**
93
+ * `<usa-fab>` — floating action button with a speed dial. The first element
94
+ * child is the main button; the others are actions that fan out with a
95
+ * staggered spring when it opens (`direction="up"` default, `down`, `left`,
96
+ * `right`, `radial`). Esc / outside click closes; `aria-expanded` on the
97
+ * main button; actions are hidden from AT while closed.
98
+ * Attributes: `open`, `direction`, `position` (`bottom-right` default, `bottom-left`,
99
+ * `inline`), `gap` (px, 56), `variant`. Events: `usa:toggle` (`{ open }`).
100
+ * Reduced motion: actions appear without travel.
101
+ */
102
+ interface UsaFabElement extends UsaElement {
103
+ open: boolean;
104
+ toggle(force?: boolean): void;
105
+ }
106
+ declare function defineFab(tag?: string): CustomElementConstructor | undefined;
107
+
108
+ /**
109
+ * `<usa-navbar>` — an app bar that hides while you scroll down and returns
110
+ * as soon as you scroll up (or reach the top); `shrink` makes it compact
111
+ * once scrolled. Focus inside always reveals it.
112
+ * Attributes: `threshold` (px of scroll before hiding, 64), `shrink`,
113
+ * `target` (selector of a scroll container instead of the page), `variant`.
114
+ * State attributes: `data-hidden`, `data-scrolled`. Events: `usa:hide`, `usa:show`.
115
+ * Reduced motion: hides/shows without sliding (instant).
116
+ */
117
+ interface UsaNavbarElement extends UsaElement {
118
+ readonly hiddenByScroll: boolean;
119
+ show(): void;
120
+ }
121
+ declare function defineNavbar(tag?: string): CustomElementConstructor | undefined;
122
+
123
+ /**
124
+ * `<usa-slider>` — a form-associated range slider (`role="slider"`). The
125
+ * thumb follows with a spring, grows while dragged and shows a value bubble.
126
+ * Keyboard: arrows (step), PageUp/PageDown (10 steps), Home/End.
127
+ * Attributes: `value`, `min` (0), `max` (100), `step` (1), `name`, `label`,
128
+ * `bubble` (show the value while dragging), `disabled`, `variant`.
129
+ * Events: `input` + `usa:input` while moving, `change` + `usa:change` on release.
130
+ * Reduced motion: the thumb jumps (no spring).
131
+ */
132
+ interface UsaSliderElement extends UsaElement {
133
+ value: number;
134
+ }
135
+ declare function defineSlider(tag?: string): CustomElementConstructor | undefined;
136
+
137
+ /**
138
+ * `<usa-rating>` — star rating with hover preview and a springy pop when a
139
+ * value is chosen. `role="slider"` (arrow keys, Home/End, number keys).
140
+ * Attributes: `value` (0), `max` (5), `icon` (★), `readonly`, `label`
141
+ * ("Rating"), `name` (form value), `variant`. Events: `change`, `usa:change` (`{ value }`).
142
+ * Reduced motion: no pop.
143
+ */
144
+ interface UsaRatingElement extends UsaElement {
145
+ value: number;
146
+ }
147
+ declare function defineRating(tag?: string): CustomElementConstructor | undefined;
148
+
149
+ /**
150
+ * `<usa-tooltip text="…">` — a tooltip for the element it wraps, shown on
151
+ * hover (after `delay` ms, 300) and on keyboard focus, hidden on Esc / blur.
152
+ * It springs in from its placement side and flips to stay on screen; the
153
+ * trigger gets `aria-describedby`.
154
+ * Attributes: `text`, `placement` (`top` default, `bottom`, `left`, `right`),
155
+ * `delay`, `variant`. Reduced motion: fades only.
156
+ */
157
+ interface UsaTooltipElement extends UsaElement {
158
+ show(): void;
159
+ hide(): void;
160
+ }
161
+ declare function defineTooltip(tag?: string): CustomElementConstructor | undefined;
162
+
163
+ /**
164
+ * `<usa-popover>` — a click-to-open popover: the first element child is the
165
+ * trigger, `[data-popover]` is the content. Springs open from the trigger,
166
+ * flips to stay on screen; Esc or an outside click closes and focus returns
167
+ * to the trigger. `aria-expanded` / `aria-controls` on the trigger.
168
+ * Attributes: `open`, `placement` (`bottom` default), `variant`. Events:
169
+ * `usa:open`, `usa:close`. Reduced motion: fades only.
170
+ */
171
+ interface UsaPopoverElement extends UsaElement {
172
+ open: boolean;
173
+ toggle(force?: boolean): void;
174
+ }
175
+ declare function definePopover(tag?: string): CustomElementConstructor | undefined;
176
+
177
+ /**
178
+ * `<usa-badge>` — a count / dot badge on whatever it wraps; bumps with a
179
+ * spring whenever the value changes and pulses with `pulse`.
180
+ * Attributes: `value` (number or text; 0 / empty hides it unless
181
+ * `show-zero`), `max` (99 → "99+"), `dot`, `pulse`, `label` (accessible
182
+ * text, default "{n} new"), `variant`. Reduced motion: no bump or pulse.
183
+ */
184
+ interface UsaBadgeElement extends UsaElement {
185
+ value: string;
186
+ }
187
+ declare function defineBadge(tag?: string): CustomElementConstructor | undefined;
188
+
189
+ /**
190
+ * `<usa-avatar-stack>` — overlapping avatars (its children: `<img>` or any
191
+ * element) that spread apart with a spring on hover / focus; extra ones
192
+ * collapse into a "+N" chip.
193
+ * Attributes: `max` (visible avatars, 5), `size` (px, 36), `overlap` (0–1,
194
+ * 0.35), `label` (group name), `variant`. Reduced motion: no spreading.
195
+ */
196
+ interface UsaAvatarStackElement extends UsaElement {
197
+ }
198
+ declare function defineAvatarStack(tag?: string): CustomElementConstructor | undefined;
199
+
200
+ /**
201
+ * Style variants (v2.6): `variant="minimal | neon | glass | brutalist |
202
+ * fluent | material"` on any `<usa-*>` element — or on any ancestor as
203
+ * `data-usa-variant`, or page-wide with `setVariant()` — sets the shared
204
+ * design tokens every component reads:
205
+ *
206
+ * `--usa-accent`, `--usa-accent-text`, `--usa-surface`, `--usa-text`,
207
+ * `--usa-radius`, `--usa-border`, `--usa-shadow`, `--usa-blur`, `--usa-font`.
208
+ *
209
+ * (`<usa-spinner>`, `<usa-check>` and `<usa-dialog>` already use `variant`
210
+ * for their kind; the token names never clash with those values except
211
+ * `fluent`, which means the same thing there.)
212
+ */
213
+ declare const VARIANTS: readonly ["minimal", "neon", "glass", "brutalist", "fluent", "material"];
214
+ type Variant = (typeof VARIANTS)[number];
215
+ /** Inject the variant token sheet (done automatically by every `ui` component). */
216
+ declare function adoptVariants(): void;
217
+ /** Apply a variant to the whole page (or `root`); `null` removes it. */
218
+ declare function setVariant(variant: Variant | null, root?: Element | null): void;
219
+
220
+ type Placement = 'top' | 'bottom' | 'left' | 'right';
221
+
222
+ /**
223
+ * use-scroll-animate/components/ui — animated UI components + style variants (v2.6).
224
+ * `<usa-tabs>`, `<usa-drawer>`, `<usa-bottom-sheet>`, `<usa-pull-refresh>`,
225
+ * `<usa-fab>`, `<usa-navbar>`, `<usa-slider>`, `<usa-rating>`,
226
+ * `<usa-tooltip>`, `<usa-popover>`, `<usa-badge>`, `<usa-avatar-stack>`,
227
+ * and `variant="minimal | neon | glass | brutalist | fluent | material"`
228
+ * design tokens (`setVariant()`, `VARIANTS`).
229
+ */
230
+
231
+ /** Register every component of this category under its default tag. */
232
+ declare function defineUiComponents(): void;
233
+ declare global {
234
+ interface HTMLElementTagNameMap {
235
+ 'usa-tabs': UsaTabsElement;
236
+ 'usa-drawer': UsaDrawerElement;
237
+ 'usa-bottom-sheet': UsaBottomSheetElement;
238
+ 'usa-pull-refresh': UsaPullRefreshElement;
239
+ 'usa-fab': UsaFabElement;
240
+ 'usa-navbar': UsaNavbarElement;
241
+ 'usa-slider': UsaSliderElement;
242
+ 'usa-rating': UsaRatingElement;
243
+ 'usa-tooltip': UsaTooltipElement;
244
+ 'usa-popover': UsaPopoverElement;
245
+ 'usa-badge': UsaBadgeElement;
246
+ 'usa-avatar-stack': UsaAvatarStackElement;
247
+ }
248
+ }
249
+
250
+ export { VARIANTS, adoptVariants, configureComponents, defineAvatarStack, defineBadge, defineBottomSheet, defineDrawer, defineFab, defineNavbar, definePopover, definePullRefresh, defineRating, defineSlider, defineTabs, defineTooltip, defineUiComponents, prefersReducedMotion, setVariant };
251
+ export type { ComponentsConfig, Placement, UsaAvatarStackElement, UsaBadgeElement, UsaBottomSheetElement, UsaDrawerElement, UsaElement, UsaFabElement, UsaNavbarElement, UsaPopoverElement, UsaPullRefreshElement, UsaRatingElement, UsaSliderElement, UsaTabsElement, UsaTooltipElement, Variant };