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.
- package/CHANGELOG.md +33 -0
- package/README.md +1 -1
- package/README_ja.md +1 -1
- package/README_zh.md +1 -1
- package/dist/chunks/{audio-DcPvT2Kh.js → audio-CynhhWDi.js} +3 -3
- package/dist/chunks/{audio-DcPvT2Kh.js.map → audio-CynhhWDi.js.map} +1 -1
- package/dist/chunks/{audio-EXUoijsG.cjs → audio-cgWbDkoY.cjs} +3 -3
- package/dist/chunks/{audio-EXUoijsG.cjs.map → audio-cgWbDkoY.cjs.map} +1 -1
- package/dist/chunks/{base-2-yYc93C.js → base-CLuqlLfG.js} +63 -6
- package/dist/chunks/base-CLuqlLfG.js.map +1 -0
- package/dist/chunks/{base-BaQV-2ha.cjs → base-DoRUZBy-.cjs} +66 -5
- package/dist/chunks/base-DoRUZBy-.cjs.map +1 -0
- package/dist/chunks/{builtins-HlqAkK0f.js → builtins-Bs4smevg.js} +3 -3
- package/dist/chunks/{builtins-HlqAkK0f.js.map → builtins-Bs4smevg.js.map} +1 -1
- package/dist/chunks/{builtins-xalxV2d5.cjs → builtins-ClXshqj-.cjs} +3 -3
- package/dist/chunks/{builtins-xalxV2d5.cjs.map → builtins-ClXshqj-.cjs.map} +1 -1
- package/dist/chunks/{core-DuO-AVXL.js → core-C3Taz-ew.js} +2 -2
- package/dist/chunks/{core-DuO-AVXL.js.map → core-C3Taz-ew.js.map} +1 -1
- package/dist/chunks/{core-D5rU0CV6.js → core-CiN5sqxB.js} +2 -2
- package/dist/chunks/{core-D5rU0CV6.js.map → core-CiN5sqxB.js.map} +1 -1
- package/dist/chunks/{core-BGAyaY6L.cjs → core-CwO835Wm.cjs} +2 -2
- package/dist/chunks/{core-BGAyaY6L.cjs.map → core-CwO835Wm.cjs.map} +1 -1
- package/dist/chunks/{core-zq17EeCI.cjs → core-O4grKHSa.cjs} +2 -2
- package/dist/chunks/{core-zq17EeCI.cjs.map → core-O4grKHSa.cjs.map} +1 -1
- package/dist/chunks/{fx-lBGVtQO1.cjs → fx-C-XjLOTc.cjs} +2 -2
- package/dist/chunks/{fx-lBGVtQO1.cjs.map → fx-C-XjLOTc.cjs.map} +1 -1
- package/dist/chunks/{fx-CMxWNwH8.js → fx-CQv3IxMf.js} +2 -2
- package/dist/chunks/{fx-CMxWNwH8.js.map → fx-CQv3IxMf.js.map} +1 -1
- package/dist/chunks/{gpu-DLPghVWr.js → gpu-CB8frFOD.js} +2 -2
- package/dist/chunks/{gpu-DLPghVWr.js.map → gpu-CB8frFOD.js.map} +1 -1
- package/dist/chunks/{gpu-Dx0H875w.cjs → gpu-CcdA2D2i.cjs} +2 -2
- package/dist/chunks/{gpu-Dx0H875w.cjs.map → gpu-CcdA2D2i.cjs.map} +1 -1
- package/dist/chunks/{index-tags-C04JP8g4.js → index-tags-B-JBecYg.js} +2 -2
- package/dist/chunks/index-tags-B-JBecYg.js.map +1 -0
- package/dist/chunks/{index-tags-BTMwrfgV.cjs → index-tags-hLIF2Clq.cjs} +2 -2
- package/dist/chunks/index-tags-hLIF2Clq.cjs.map +1 -0
- package/dist/chunks/{player-PS6_FzNw.cjs → player-C2n17sdH.cjs} +4 -4
- package/dist/chunks/{player-PS6_FzNw.cjs.map → player-C2n17sdH.cjs.map} +1 -1
- package/dist/chunks/{player-DxvCYo7Q.js → player-YzQGkKaW.js} +4 -4
- package/dist/chunks/{player-DxvCYo7Q.js.map → player-YzQGkKaW.js.map} +1 -1
- package/dist/chunks/{registry-DehBVRDV.cjs → registry-BVklOepd.cjs} +2 -2
- package/dist/chunks/{registry-DehBVRDV.cjs.map → registry-BVklOepd.cjs.map} +1 -1
- package/dist/chunks/{registry-CyKExAmE.js → registry-CnO7ZVPK.js} +2 -2
- package/dist/chunks/{registry-CyKExAmE.js.map → registry-CnO7ZVPK.js.map} +1 -1
- package/dist/chunks/{spring-BK8DiezC.js → spring-BFKNHmfl.js} +2 -2
- package/dist/chunks/{spring-BK8DiezC.js.map → spring-BFKNHmfl.js.map} +1 -1
- package/dist/chunks/{spring-Dgx187Vh.cjs → spring-uQMVJTj9.cjs} +2 -2
- package/dist/chunks/{spring-Dgx187Vh.cjs.map → spring-uQMVJTj9.cjs.map} +1 -1
- package/dist/chunks/{variants-BQ6bhzn4.js → variants-B-zKORvt.js} +2 -2
- package/dist/chunks/{variants-BQ6bhzn4.js.map → variants-B-zKORvt.js.map} +1 -1
- package/dist/chunks/{variants-BhjyddG8.cjs → variants-DagykrKH.cjs} +2 -2
- package/dist/chunks/{variants-BhjyddG8.cjs.map → variants-DagykrKH.cjs.map} +1 -1
- package/dist/components/a11y.cjs +2 -2
- package/dist/components/a11y.d.cts +1 -1
- package/dist/components/a11y.d.ts +1 -1
- package/dist/components/a11y.js +3 -3
- package/dist/components/angular.cjs +9 -9
- package/dist/components/angular.d.cts +2 -18
- package/dist/components/angular.d.ts +2 -18
- package/dist/components/angular.js +9 -9
- package/dist/components/background.cjs +2 -2
- package/dist/components/background.js +2 -2
- package/dist/components/bridge.cjs +1 -1
- package/dist/components/bridge.js +1 -1
- package/dist/components/cards.cjs +2 -2
- package/dist/components/cards.js +2 -2
- package/dist/components/click.cjs +3 -3
- package/dist/components/click.js +3 -3
- package/dist/components/depth.cjs +3 -3
- package/dist/components/depth.js +3 -3
- package/dist/components/effects.cjs +7 -7
- package/dist/components/effects.js +9 -9
- package/dist/components/engine.cjs +266 -0
- package/dist/components/engine.cjs.map +1 -0
- package/dist/components/engine.d.cts +105 -0
- package/dist/components/engine.d.ts +105 -0
- package/dist/components/engine.js +255 -0
- package/dist/components/engine.js.map +1 -0
- package/dist/components/feedback.cjs +1 -1
- package/dist/components/feedback.js +1 -1
- package/dist/components/fx-3d.cjs +2 -2
- package/dist/components/fx-3d.js +2 -2
- package/dist/components/fx-ai.cjs +2 -2
- package/dist/components/fx-ai.js +2 -2
- package/dist/components/fx-chart.cjs +2 -2
- package/dist/components/fx-chart.js +2 -2
- package/dist/components/fx-festival.cjs +121 -0
- package/dist/components/fx-festival.cjs.map +1 -0
- package/dist/components/fx-festival.d.cts +69 -0
- package/dist/components/fx-festival.d.ts +69 -0
- package/dist/components/fx-festival.js +117 -0
- package/dist/components/fx-festival.js.map +1 -0
- package/dist/components/fx-focus.cjs +2 -2
- package/dist/components/fx-focus.js +2 -2
- package/dist/components/fx-form.cjs +2 -2
- package/dist/components/fx-form.js +2 -2
- package/dist/components/fx-game.cjs +2 -2
- package/dist/components/fx-game.js +2 -2
- package/dist/components/fx-geo.cjs +2 -2
- package/dist/components/fx-geo.js +2 -2
- package/dist/components/fx-gpu.cjs +3 -3
- package/dist/components/fx-gpu.js +3 -3
- package/dist/components/fx-light.cjs +2 -2
- package/dist/components/fx-light.js +2 -2
- package/dist/components/fx-morph.cjs +2 -2
- package/dist/components/fx-morph.js +2 -2
- package/dist/components/fx-music.cjs +3 -3
- package/dist/components/fx-music.js +3 -3
- package/dist/components/fx-physics.cjs +2 -2
- package/dist/components/fx-physics.js +2 -2
- package/dist/components/fx-shop.cjs +2 -2
- package/dist/components/fx-shop.js +2 -2
- package/dist/components/fx-social.cjs +2 -2
- package/dist/components/fx-social.js +2 -2
- package/dist/components/fx-text.cjs +2 -2
- package/dist/components/fx-text.js +2 -2
- package/dist/components/fx-transitions.cjs +3 -3
- package/dist/components/fx-transitions.js +3 -3
- package/dist/components/fx-weather.cjs +2 -2
- package/dist/components/fx-weather.js +2 -2
- package/dist/components/fx.cjs +5 -5
- package/dist/components/fx.js +6 -6
- package/dist/components/fx2.cjs +10 -4
- package/dist/components/fx2.cjs.map +1 -1
- package/dist/components/fx2.d.cts +26 -1
- package/dist/components/fx2.d.ts +26 -1
- package/dist/components/fx2.js +10 -6
- package/dist/components/fx2.js.map +1 -1
- package/dist/components/gesture.cjs +3 -3
- package/dist/components/gesture.js +4 -4
- package/dist/components/interaction.cjs +1 -1
- package/dist/components/interaction.js +1 -1
- package/dist/components/jsx.d.cts +1 -1
- package/dist/components/jsx.d.ts +1 -1
- package/dist/components/layout.cjs +1 -1
- package/dist/components/layout.js +1 -1
- package/dist/components/lazy.cjs +1 -1
- package/dist/components/lazy.d.cts +1 -1
- package/dist/components/lazy.d.ts +1 -1
- package/dist/components/lazy.js +1 -1
- package/dist/components/lite.cjs +151 -206
- package/dist/components/lite.cjs.map +1 -1
- package/dist/components/lite.js +152 -206
- package/dist/components/lite.js.map +1 -1
- package/dist/components/marketplace.cjs +2 -2
- package/dist/components/marketplace.js +2 -2
- package/dist/components/packs.cjs +1 -1
- package/dist/components/packs.js +1 -1
- package/dist/components/page.cjs +2 -2
- package/dist/components/page.js +3 -3
- package/dist/components/perf.cjs +2 -2
- package/dist/components/perf.d.cts +1 -1
- package/dist/components/perf.d.ts +1 -1
- package/dist/components/perf.js +3 -3
- package/dist/components/physics.cjs +2 -2
- package/dist/components/physics.js +3 -3
- package/dist/components/react.cjs +1 -1
- package/dist/components/react.js +1 -1
- package/dist/components/reveal.cjs +1 -1
- package/dist/components/reveal.js +1 -1
- package/dist/components/solid.cjs +9 -9
- package/dist/components/solid.d.cts +2 -18
- package/dist/components/solid.d.ts +2 -18
- package/dist/components/solid.js +9 -9
- package/dist/components/svelte.cjs +9 -9
- package/dist/components/svelte.d.cts +2 -18
- package/dist/components/svelte.d.ts +2 -18
- package/dist/components/svelte.js +9 -9
- package/dist/components/svg.cjs +1 -1
- package/dist/components/svg.js +1 -1
- package/dist/components/text.cjs +2 -2
- package/dist/components/text.js +2 -2
- package/dist/components/timeline.cjs +2 -2
- package/dist/components/timeline.js +3 -3
- package/dist/components/transitions.cjs +1 -1
- package/dist/components/transitions.js +1 -1
- package/dist/components/ui.cjs +17 -108
- package/dist/components/ui.cjs.map +1 -1
- package/dist/components/ui.css +0 -1
- package/dist/components/ui.d.cts +3 -20
- package/dist/components/ui.d.ts +3 -20
- package/dist/components/ui.js +19 -109
- package/dist/components/ui.js.map +1 -1
- package/dist/components/vue.cjs +9 -9
- package/dist/components/vue.d.cts +2 -18
- package/dist/components/vue.d.ts +2 -18
- package/dist/components/vue.js +9 -9
- package/dist/components/webgl.cjs +1 -1
- package/dist/components/webgl.js +1 -1
- package/dist/components/widgets.cjs +373 -146
- package/dist/components/widgets.cjs.map +1 -1
- package/dist/components/widgets.d.cts +110 -2
- package/dist/components/widgets.d.ts +110 -2
- package/dist/components/widgets.js +369 -147
- package/dist/components/widgets.js.map +1 -1
- package/dist/components.cjs +9 -10
- package/dist/components.cjs.map +1 -1
- package/dist/components.css +0 -1
- package/dist/components.d.cts +4 -21
- package/dist/components.d.ts +4 -21
- package/dist/components.js +12 -12
- package/dist/components.umd.js +2 -2
- package/dist/components.umd.js.map +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.js +2 -2
- package/dist/index.umd.js +2 -2
- package/dist/index.umd.js.map +1 -1
- package/dist/widgets.umd.js +1 -1
- package/dist/widgets.umd.js.map +1 -1
- package/docs/ROADMAP.md +14 -12
- package/docs/accessibility.md +1 -2
- package/docs/components.md +44 -1
- package/docs/deprecations.md +1 -1
- package/docs/upgrading-8.md +9 -6
- package/package.json +41 -1
- package/dist/chunks/base-2-yYc93C.js.map +0 -1
- package/dist/chunks/base-BaQV-2ha.cjs.map +0 -1
- package/dist/chunks/index-tags-BTMwrfgV.cjs.map +0 -1
- package/dist/chunks/index-tags-C04JP8g4.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.js","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":["css"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ui.js","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":["css"],"mappings":"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"}
|
package/dist/components/vue.cjs
CHANGED
|
@@ -2,35 +2,35 @@
|
|
|
2
2
|
|
|
3
3
|
var components = require('../components.cjs');
|
|
4
4
|
require('./reveal.cjs');
|
|
5
|
-
require('../chunks/base-
|
|
5
|
+
require('../chunks/base-DoRUZBy-.cjs');
|
|
6
6
|
require('./text.cjs');
|
|
7
|
-
require('../chunks/core-
|
|
7
|
+
require('../chunks/core-CwO835Wm.cjs');
|
|
8
8
|
require('./tokens.cjs');
|
|
9
9
|
require('./interaction.cjs');
|
|
10
10
|
require('./feedback.cjs');
|
|
11
11
|
require('./background.cjs');
|
|
12
|
-
require('../chunks/variants-
|
|
12
|
+
require('../chunks/variants-DagykrKH.cjs');
|
|
13
13
|
require('./transitions.cjs');
|
|
14
14
|
require('./physics.cjs');
|
|
15
|
-
require('../chunks/spring-
|
|
15
|
+
require('../chunks/spring-uQMVJTj9.cjs');
|
|
16
16
|
require('./cards.cjs');
|
|
17
17
|
require('./click.cjs');
|
|
18
|
-
require('../chunks/fx-
|
|
18
|
+
require('../chunks/fx-C-XjLOTc.cjs');
|
|
19
19
|
require('./ui.cjs');
|
|
20
20
|
require('./page.cjs');
|
|
21
21
|
require('./timeline.cjs');
|
|
22
22
|
require('./gesture.cjs');
|
|
23
|
-
require('../chunks/core-
|
|
23
|
+
require('../chunks/core-O4grKHSa.cjs');
|
|
24
24
|
require('./svg.cjs');
|
|
25
25
|
require('./webgl.cjs');
|
|
26
26
|
require('./depth.cjs');
|
|
27
27
|
require('./layout.cjs');
|
|
28
28
|
require('./packs.cjs');
|
|
29
29
|
require('./fx.cjs');
|
|
30
|
-
require('../chunks/registry-
|
|
31
|
-
require('../chunks/builtins-
|
|
30
|
+
require('../chunks/registry-BVklOepd.cjs');
|
|
31
|
+
require('../chunks/builtins-ClXshqj-.cjs');
|
|
32
32
|
require('./a11y.cjs');
|
|
33
|
-
require('../chunks/index-tags-
|
|
33
|
+
require('../chunks/index-tags-hLIF2Clq.cjs');
|
|
34
34
|
require('./perf.cjs');
|
|
35
35
|
require('./bridge.cjs');
|
|
36
36
|
|
|
@@ -1124,21 +1124,6 @@ interface UsaSliderElement extends UsaElement {
|
|
|
1124
1124
|
value: number;
|
|
1125
1125
|
}
|
|
1126
1126
|
|
|
1127
|
-
/**
|
|
1128
|
-
* `<usa-rating>` — star rating with hover preview and a springy pop when a
|
|
1129
|
-
* value is chosen. `role="slider"` (arrow keys, Home/End, number keys).
|
|
1130
|
-
* Attributes: `value` (0), `max` (5), `icon` (★), `readonly`, `label`
|
|
1131
|
-
* ("Rating"), `name` (form value), `variant`. Events: `change`, `usa:change` (`{ value }`).
|
|
1132
|
-
* Reduced motion: no pop.
|
|
1133
|
-
*
|
|
1134
|
-
* @deprecated 7.9 — removed in 8.0. Use `<usa-star-rating>` (6.4; same
|
|
1135
|
-
* `value` / `max` / `readonly` / `label` / `name`, `icon="heart"` for ♥).
|
|
1136
|
-
* `npx usa-codemod-8 --write src` rewrites the tags.
|
|
1137
|
-
*/
|
|
1138
|
-
interface UsaRatingElement extends UsaElement {
|
|
1139
|
-
value: number;
|
|
1140
|
-
}
|
|
1141
|
-
|
|
1142
1127
|
/**
|
|
1143
1128
|
* `<usa-popover>` — a click-to-open popover: the first element child is the
|
|
1144
1129
|
* trigger, `[data-popover]` is the content. Springs open from the trigger,
|
|
@@ -1176,7 +1161,7 @@ interface UsaAvatarStackElement extends UsaElement {
|
|
|
1176
1161
|
/**
|
|
1177
1162
|
* motionary/components/ui — animated UI components + style variants (v2.6).
|
|
1178
1163
|
* `<usa-tabs>`, `<usa-drawer>`, `<usa-bottom-sheet>`, `<usa-pull-refresh>`,
|
|
1179
|
-
* `<usa-fab>`, `<usa-navbar>`, `<usa-slider>`,
|
|
1164
|
+
* `<usa-fab>`, `<usa-navbar>`, `<usa-slider>`,
|
|
1180
1165
|
* `<usa-popover>`, `<usa-badge>`, `<usa-avatar-stack>`,
|
|
1181
1166
|
* and `variant="minimal | neon | glass | brutalist | fluent | material"`
|
|
1182
1167
|
* design tokens (`setVariant()`, `VARIANTS`).
|
|
@@ -1191,7 +1176,6 @@ declare global {
|
|
|
1191
1176
|
'usa-fab': UsaFabElement;
|
|
1192
1177
|
'usa-navbar': UsaNavbarElement;
|
|
1193
1178
|
'usa-slider': UsaSliderElement;
|
|
1194
|
-
'usa-rating': UsaRatingElement;
|
|
1195
1179
|
'usa-popover': UsaPopoverElement;
|
|
1196
1180
|
'usa-badge': UsaBadgeElement;
|
|
1197
1181
|
'usa-avatar-stack': UsaAvatarStackElement;
|
|
@@ -1618,7 +1602,7 @@ declare const COMPONENT_CATEGORIES: {
|
|
|
1618
1602
|
readonly physics: readonly ["usa-spring", "usa-draggable", "usa-overscroll"];
|
|
1619
1603
|
readonly cards: readonly ["usa-card", "usa-card-stack", "usa-sticky-stack", "usa-carousel-3d"];
|
|
1620
1604
|
readonly click: readonly ["usa-click", "usa-button", "usa-icon-morph", "usa-like", "usa-hold", "usa-double-tap", "usa-checkbox"];
|
|
1621
|
-
readonly ui: readonly ["usa-tabs", "usa-drawer", "usa-bottom-sheet", "usa-pull-refresh", "usa-fab", "usa-navbar", "usa-slider", "usa-
|
|
1605
|
+
readonly ui: readonly ["usa-tabs", "usa-drawer", "usa-bottom-sheet", "usa-pull-refresh", "usa-fab", "usa-navbar", "usa-slider", "usa-popover", "usa-badge", "usa-avatar-stack"];
|
|
1622
1606
|
readonly page: readonly ["usa-cursor", "usa-fullpage", "usa-loading-bar", "usa-back-to-top", "usa-ambient", "usa-splash", "usa-auto-skeleton", "usa-motion-switch"];
|
|
1623
1607
|
readonly timeline: readonly ["usa-timeline"];
|
|
1624
1608
|
readonly gesture: readonly ["usa-swipeable", "usa-pinch-zoom"];
|
package/dist/components/vue.d.ts
CHANGED
|
@@ -1124,21 +1124,6 @@ interface UsaSliderElement extends UsaElement {
|
|
|
1124
1124
|
value: number;
|
|
1125
1125
|
}
|
|
1126
1126
|
|
|
1127
|
-
/**
|
|
1128
|
-
* `<usa-rating>` — star rating with hover preview and a springy pop when a
|
|
1129
|
-
* value is chosen. `role="slider"` (arrow keys, Home/End, number keys).
|
|
1130
|
-
* Attributes: `value` (0), `max` (5), `icon` (★), `readonly`, `label`
|
|
1131
|
-
* ("Rating"), `name` (form value), `variant`. Events: `change`, `usa:change` (`{ value }`).
|
|
1132
|
-
* Reduced motion: no pop.
|
|
1133
|
-
*
|
|
1134
|
-
* @deprecated 7.9 — removed in 8.0. Use `<usa-star-rating>` (6.4; same
|
|
1135
|
-
* `value` / `max` / `readonly` / `label` / `name`, `icon="heart"` for ♥).
|
|
1136
|
-
* `npx usa-codemod-8 --write src` rewrites the tags.
|
|
1137
|
-
*/
|
|
1138
|
-
interface UsaRatingElement extends UsaElement {
|
|
1139
|
-
value: number;
|
|
1140
|
-
}
|
|
1141
|
-
|
|
1142
1127
|
/**
|
|
1143
1128
|
* `<usa-popover>` — a click-to-open popover: the first element child is the
|
|
1144
1129
|
* trigger, `[data-popover]` is the content. Springs open from the trigger,
|
|
@@ -1176,7 +1161,7 @@ interface UsaAvatarStackElement extends UsaElement {
|
|
|
1176
1161
|
/**
|
|
1177
1162
|
* motionary/components/ui — animated UI components + style variants (v2.6).
|
|
1178
1163
|
* `<usa-tabs>`, `<usa-drawer>`, `<usa-bottom-sheet>`, `<usa-pull-refresh>`,
|
|
1179
|
-
* `<usa-fab>`, `<usa-navbar>`, `<usa-slider>`,
|
|
1164
|
+
* `<usa-fab>`, `<usa-navbar>`, `<usa-slider>`,
|
|
1180
1165
|
* `<usa-popover>`, `<usa-badge>`, `<usa-avatar-stack>`,
|
|
1181
1166
|
* and `variant="minimal | neon | glass | brutalist | fluent | material"`
|
|
1182
1167
|
* design tokens (`setVariant()`, `VARIANTS`).
|
|
@@ -1191,7 +1176,6 @@ declare global {
|
|
|
1191
1176
|
'usa-fab': UsaFabElement;
|
|
1192
1177
|
'usa-navbar': UsaNavbarElement;
|
|
1193
1178
|
'usa-slider': UsaSliderElement;
|
|
1194
|
-
'usa-rating': UsaRatingElement;
|
|
1195
1179
|
'usa-popover': UsaPopoverElement;
|
|
1196
1180
|
'usa-badge': UsaBadgeElement;
|
|
1197
1181
|
'usa-avatar-stack': UsaAvatarStackElement;
|
|
@@ -1618,7 +1602,7 @@ declare const COMPONENT_CATEGORIES: {
|
|
|
1618
1602
|
readonly physics: readonly ["usa-spring", "usa-draggable", "usa-overscroll"];
|
|
1619
1603
|
readonly cards: readonly ["usa-card", "usa-card-stack", "usa-sticky-stack", "usa-carousel-3d"];
|
|
1620
1604
|
readonly click: readonly ["usa-click", "usa-button", "usa-icon-morph", "usa-like", "usa-hold", "usa-double-tap", "usa-checkbox"];
|
|
1621
|
-
readonly ui: readonly ["usa-tabs", "usa-drawer", "usa-bottom-sheet", "usa-pull-refresh", "usa-fab", "usa-navbar", "usa-slider", "usa-
|
|
1605
|
+
readonly ui: readonly ["usa-tabs", "usa-drawer", "usa-bottom-sheet", "usa-pull-refresh", "usa-fab", "usa-navbar", "usa-slider", "usa-popover", "usa-badge", "usa-avatar-stack"];
|
|
1622
1606
|
readonly page: readonly ["usa-cursor", "usa-fullpage", "usa-loading-bar", "usa-back-to-top", "usa-ambient", "usa-splash", "usa-auto-skeleton", "usa-motion-switch"];
|
|
1623
1607
|
readonly timeline: readonly ["usa-timeline"];
|
|
1624
1608
|
readonly gesture: readonly ["usa-swipeable", "usa-pinch-zoom"];
|