use-scroll-animate 4.2.0 → 4.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/chunks/{base-BPG5zvex.js → base-BtJDNCB6.js} +45 -5
  3. package/dist/chunks/base-BtJDNCB6.js.map +1 -0
  4. package/dist/chunks/{base-CXx7jZ-o.cjs → base-DE2yzxE7.cjs} +47 -4
  5. package/dist/chunks/base-DE2yzxE7.cjs.map +1 -0
  6. package/dist/chunks/{core-BRIIoKeS.cjs → core-BC9S2osy.cjs} +2 -2
  7. package/dist/chunks/{core-BRIIoKeS.cjs.map → core-BC9S2osy.cjs.map} +1 -1
  8. package/dist/chunks/{core-IaorbTdu.cjs → core-DPYjLqA0.cjs} +2 -2
  9. package/dist/chunks/{core-IaorbTdu.cjs.map → core-DPYjLqA0.cjs.map} +1 -1
  10. package/dist/chunks/{core-LkGRmgES.js → core-DS1nrx5L.js} +2 -2
  11. package/dist/chunks/{core-LkGRmgES.js.map → core-DS1nrx5L.js.map} +1 -1
  12. package/dist/chunks/{core-eXX8rB_b.js → core-DX6pdOoY.js} +2 -2
  13. package/dist/chunks/{core-eXX8rB_b.js.map → core-DX6pdOoY.js.map} +1 -1
  14. package/dist/chunks/{spring-BziPsW3r.js → spring-CxRz49Wk.js} +2 -2
  15. package/dist/chunks/{spring-BziPsW3r.js.map → spring-CxRz49Wk.js.map} +1 -1
  16. package/dist/chunks/{spring-2OTnYCzm.cjs → spring-hsmgd7ml.cjs} +2 -2
  17. package/dist/chunks/{spring-2OTnYCzm.cjs.map → spring-hsmgd7ml.cjs.map} +1 -1
  18. package/dist/chunks/{variants-BNIrn4ch.cjs → variants-CM2zaG8v.cjs} +2 -2
  19. package/dist/chunks/{variants-BNIrn4ch.cjs.map → variants-CM2zaG8v.cjs.map} +1 -1
  20. package/dist/chunks/{variants-BVYMcxRv.js → variants-dD6SbUMR.js} +2 -2
  21. package/dist/chunks/{variants-BVYMcxRv.js.map → variants-dD6SbUMR.js.map} +1 -1
  22. package/dist/components/a11y.cjs +239 -0
  23. package/dist/components/a11y.cjs.map +1 -0
  24. package/dist/components/a11y.d.cts +120 -0
  25. package/dist/components/a11y.d.ts +120 -0
  26. package/dist/components/a11y.js +224 -0
  27. package/dist/components/a11y.js.map +1 -0
  28. package/dist/components/angular.cjs +7 -6
  29. package/dist/components/angular.cjs.map +1 -1
  30. package/dist/components/angular.d.cts +80 -76
  31. package/dist/components/angular.d.ts +80 -76
  32. package/dist/components/angular.js +7 -6
  33. package/dist/components/angular.js.map +1 -1
  34. package/dist/components/background.cjs +2 -2
  35. package/dist/components/background.d.cts +10 -0
  36. package/dist/components/background.d.ts +10 -0
  37. package/dist/components/background.js +3 -3
  38. package/dist/components/cards.cjs +2 -2
  39. package/dist/components/cards.d.cts +10 -0
  40. package/dist/components/cards.d.ts +10 -0
  41. package/dist/components/cards.js +3 -3
  42. package/dist/components/click.cjs +2 -2
  43. package/dist/components/click.d.cts +10 -0
  44. package/dist/components/click.d.ts +10 -0
  45. package/dist/components/click.js +3 -3
  46. package/dist/components/depth.cjs +3 -3
  47. package/dist/components/depth.d.cts +10 -0
  48. package/dist/components/depth.d.ts +10 -0
  49. package/dist/components/depth.js +4 -4
  50. package/dist/components/feedback.cjs +1 -1
  51. package/dist/components/feedback.d.cts +10 -0
  52. package/dist/components/feedback.d.ts +10 -0
  53. package/dist/components/feedback.js +2 -2
  54. package/dist/components/gesture.cjs +3 -3
  55. package/dist/components/gesture.d.cts +10 -0
  56. package/dist/components/gesture.d.ts +10 -0
  57. package/dist/components/gesture.js +5 -5
  58. package/dist/components/interaction.cjs +1 -1
  59. package/dist/components/interaction.d.cts +10 -0
  60. package/dist/components/interaction.d.ts +10 -0
  61. package/dist/components/interaction.js +2 -2
  62. package/dist/components/layout.cjs +1 -1
  63. package/dist/components/layout.d.cts +10 -0
  64. package/dist/components/layout.d.ts +10 -0
  65. package/dist/components/layout.js +2 -2
  66. package/dist/components/packs.cjs +1 -1
  67. package/dist/components/packs.d.cts +10 -0
  68. package/dist/components/packs.d.ts +10 -0
  69. package/dist/components/packs.js +2 -2
  70. package/dist/components/page.cjs +6 -3
  71. package/dist/components/page.cjs.map +1 -1
  72. package/dist/components/page.d.cts +10 -0
  73. package/dist/components/page.d.ts +10 -0
  74. package/dist/components/page.js +7 -4
  75. package/dist/components/page.js.map +1 -1
  76. package/dist/components/physics.cjs +2 -2
  77. package/dist/components/physics.d.cts +10 -0
  78. package/dist/components/physics.d.ts +10 -0
  79. package/dist/components/physics.js +4 -4
  80. package/dist/components/reveal.cjs +1 -1
  81. package/dist/components/reveal.d.cts +10 -0
  82. package/dist/components/reveal.d.ts +10 -0
  83. package/dist/components/reveal.js +2 -2
  84. package/dist/components/solid.cjs +7 -6
  85. package/dist/components/solid.cjs.map +1 -1
  86. package/dist/components/solid.d.cts +80 -76
  87. package/dist/components/solid.d.ts +80 -76
  88. package/dist/components/solid.js +7 -6
  89. package/dist/components/solid.js.map +1 -1
  90. package/dist/components/svelte.cjs +7 -6
  91. package/dist/components/svelte.cjs.map +1 -1
  92. package/dist/components/svelte.d.cts +80 -76
  93. package/dist/components/svelte.d.ts +80 -76
  94. package/dist/components/svelte.js +7 -6
  95. package/dist/components/svelte.js.map +1 -1
  96. package/dist/components/svg.cjs +1 -1
  97. package/dist/components/svg.d.cts +10 -0
  98. package/dist/components/svg.d.ts +10 -0
  99. package/dist/components/svg.js +2 -2
  100. package/dist/components/text.cjs +284 -11
  101. package/dist/components/text.cjs.map +1 -1
  102. package/dist/components/text.d.cts +166 -3
  103. package/dist/components/text.d.ts +166 -3
  104. package/dist/components/text.js +280 -13
  105. package/dist/components/text.js.map +1 -1
  106. package/dist/components/timeline.cjs +2 -2
  107. package/dist/components/timeline.d.cts +10 -0
  108. package/dist/components/timeline.d.ts +10 -0
  109. package/dist/components/timeline.js +4 -4
  110. package/dist/components/transitions.cjs +1 -1
  111. package/dist/components/transitions.d.cts +10 -0
  112. package/dist/components/transitions.d.ts +10 -0
  113. package/dist/components/transitions.js +2 -2
  114. package/dist/components/ui.cjs +3 -3
  115. package/dist/components/ui.d.cts +10 -0
  116. package/dist/components/ui.d.ts +10 -0
  117. package/dist/components/ui.js +5 -5
  118. package/dist/components/vue.cjs +7 -6
  119. package/dist/components/vue.cjs.map +1 -1
  120. package/dist/components/vue.d.cts +80 -76
  121. package/dist/components/vue.d.ts +80 -76
  122. package/dist/components/vue.js +7 -6
  123. package/dist/components/vue.js.map +1 -1
  124. package/dist/components/webgl.cjs +1 -1
  125. package/dist/components/webgl.d.cts +10 -0
  126. package/dist/components/webgl.d.ts +10 -0
  127. package/dist/components/webgl.js +2 -2
  128. package/dist/components.cjs +27 -5
  129. package/dist/components.cjs.map +1 -1
  130. package/dist/components.d.cts +289 -108
  131. package/dist/components.d.ts +289 -108
  132. package/dist/components.js +9 -8
  133. package/dist/components.js.map +1 -1
  134. package/dist/components.umd.js +2 -2
  135. package/dist/components.umd.js.map +1 -1
  136. package/dist/index.cjs +2 -2
  137. package/dist/index.js +2 -2
  138. package/dist/index.umd.js.map +1 -1
  139. package/docs/ROADMAP.md +2 -2
  140. package/docs/accessibility.md +28 -0
  141. package/package.json +11 -1
  142. package/dist/chunks/base-BPG5zvex.js.map +0 -1
  143. package/dist/chunks/base-CXx7jZ-o.cjs.map +0 -1
@@ -117,7 +117,11 @@ interface UsaTypewriterElement extends UsaElement {
117
117
  * them in a cascade (pure CSS animation per unit, transform / opacity /
118
118
  * filter only). Words never break across lines.
119
119
  *
120
- * Attributes: `by` (`chars` | `words`, default `chars`), `effect`
120
+ * 4.3: `Intl.Segmenter`-aware (emoji, CJK words), Arabic-script words are
121
+ * never split below the word, `by="lines"` reveals line by line, and `from`
122
+ * (`start` · `end` · `center` · `edges` · `random`) sets the cascade order.
123
+ *
124
+ * Attributes: `by` (`chars` | `words` | `lines`, default `chars`), `effect`
121
125
  * (`rise` | `fade` | `blur` | `flip` | `pop`, default `rise`), `stagger`
122
126
  * (ms between units, 28 for chars / 70 for words), `duration` (ms, 620),
123
127
  * `delay` (ms, 0), `trigger` (`view` | `load` | `manual`, default `view`),
@@ -230,6 +234,81 @@ interface UsaScrollHighlightElement extends UsaElement {
230
234
  readonly progress: number;
231
235
  }
232
236
 
237
+ /**
238
+ * Where a step starts on a timeline:
239
+ * - a number: absolute time in ms
240
+ * - `'>'` (default): when the previous step ends · `'<'`: when it starts
241
+ * - `'+=200'` / `'-=200'`: after / overlapping the previous end
242
+ * - `'<+=100'`: 100ms after the previous step's start
243
+ * - `'intro'` / `'intro+=150'`: at (or relative to) a label
244
+ */
245
+ type TimelinePosition = number | string;
246
+ interface TimelineStepOptions {
247
+ /** Duration in ms or a motion token name (`'fast'`, `'slow'`…; 4.2). Default: timeline default, 600. */
248
+ duration?: number | string;
249
+ /** CSS easing or a motion token name (`'emphasized'`, `'spring'`…; 4.2). Default `cubic-bezier(0.22, 1, 0.36, 1)`. */
250
+ easing?: string;
251
+ /** Start position, see `TimelinePosition`. */
252
+ at?: TimelinePosition;
253
+ /** ms between targets when the selector matches several elements. */
254
+ stagger?: number;
255
+ }
256
+ interface ScrubOptions {
257
+ /** Scroll offset (px) before the source's top reaches the viewport bottom where progress starts (JS engine only). */
258
+ offset?: number;
259
+ /** Smoothing 0–1 (0 = immediate, default 0). Smoothing needs the JS engine. */
260
+ smooth?: number;
261
+ /**
262
+ * 4.1: which progress source drives the timeline.
263
+ * - `'view'` (default): `source` moving through the viewport (CSS `ViewTimeline`, range `cover`).
264
+ * - `'scroll'`: the scroll position of `source` itself (a scroll container; CSS `ScrollTimeline`).
265
+ */
266
+ source?: 'view' | 'scroll';
267
+ /** 4.1: `'auto'` (default) uses the browser's native scroll-driven animations when available, `'js'` forces the fallback. */
268
+ engine?: 'auto' | 'native' | 'js';
269
+ /** 4.1: scroll axis, `'block'` (default) · `'inline'` · `'x'` · `'y'`. */
270
+ axis?: 'block' | 'inline' | 'x' | 'y';
271
+ }
272
+ /** The function `scrub()` returns: call it to stop. `native` tells which engine runs it. */
273
+ interface ScrubHandle {
274
+ (): void;
275
+ /** `true` when the browser's ScrollTimeline / ViewTimeline drives it (compositor, no JS per frame). */
276
+ readonly native: boolean;
277
+ }
278
+ interface Timeline {
279
+ /** Total length in ms. */
280
+ readonly duration: number;
281
+ /** Label positions in ms. */
282
+ readonly labels: Readonly<Record<string, number>>;
283
+ /** Current playhead in ms. */
284
+ readonly time: number;
285
+ /** Add a step: animate `target` with keyframes or a preset name (`fade-up`, `scale`…). */
286
+ to(target: string | Element | Element[] | NodeList, frames: Keyframe[] | string, options?: TimelineStepOptions): Timeline;
287
+ /** Name a position (default: the current end). */
288
+ label(name: string, at?: TimelinePosition): Timeline;
289
+ /** Run `fn` when the playhead passes `at`. */
290
+ call(fn: () => void, at?: TimelinePosition): Timeline;
291
+ /** Play forwards from the playhead (from 0 when at the end). Resolves at the end. */
292
+ play(from?: TimelinePosition): Promise<void>;
293
+ /** Play backwards to 0. */
294
+ reverse(): Promise<void>;
295
+ pause(): Timeline;
296
+ /** Jump to a time (ms) or label. */
297
+ seek(to: TimelinePosition): Timeline;
298
+ /** Get or set progress 0–1. */
299
+ progress(p?: number): number;
300
+ /**
301
+ * Tie progress to scroll: `source` moving through the viewport (or, with
302
+ * `{ source: 'scroll' }`, a scroll container's own position). Runs on native
303
+ * ScrollTimeline / ViewTimeline when available (and no `smooth`, `offset`,
304
+ * `call()` cues or `onUpdate` need JS), else on a rAF-throttled listener.
305
+ * Returns a stop function with a `native` flag.
306
+ */
307
+ scrub(source: Element, options?: ScrubOptions): ScrubHandle;
308
+ /** Stop and drop every animation (elements keep their last frame). */
309
+ cancel(): void;
310
+ }
311
+
233
312
  /**
234
313
  * use-scroll-animate/components/text — text effects.
235
314
  * `<usa-typewriter>`, `<usa-split-text>`, `<usa-scramble>`, `<usa-counter>`,
@@ -1275,81 +1354,6 @@ declare global {
1275
1354
  }
1276
1355
  }
1277
1356
 
1278
- /**
1279
- * Where a step starts on a timeline:
1280
- * - a number: absolute time in ms
1281
- * - `'>'` (default): when the previous step ends · `'<'`: when it starts
1282
- * - `'+=200'` / `'-=200'`: after / overlapping the previous end
1283
- * - `'<+=100'`: 100ms after the previous step's start
1284
- * - `'intro'` / `'intro+=150'`: at (or relative to) a label
1285
- */
1286
- type TimelinePosition = number | string;
1287
- interface TimelineStepOptions {
1288
- /** Duration in ms or a motion token name (`'fast'`, `'slow'`…; 4.2). Default: timeline default, 600. */
1289
- duration?: number | string;
1290
- /** CSS easing or a motion token name (`'emphasized'`, `'spring'`…; 4.2). Default `cubic-bezier(0.22, 1, 0.36, 1)`. */
1291
- easing?: string;
1292
- /** Start position, see `TimelinePosition`. */
1293
- at?: TimelinePosition;
1294
- /** ms between targets when the selector matches several elements. */
1295
- stagger?: number;
1296
- }
1297
- interface ScrubOptions {
1298
- /** Scroll offset (px) before the source's top reaches the viewport bottom where progress starts (JS engine only). */
1299
- offset?: number;
1300
- /** Smoothing 0–1 (0 = immediate, default 0). Smoothing needs the JS engine. */
1301
- smooth?: number;
1302
- /**
1303
- * 4.1: which progress source drives the timeline.
1304
- * - `'view'` (default): `source` moving through the viewport (CSS `ViewTimeline`, range `cover`).
1305
- * - `'scroll'`: the scroll position of `source` itself (a scroll container; CSS `ScrollTimeline`).
1306
- */
1307
- source?: 'view' | 'scroll';
1308
- /** 4.1: `'auto'` (default) uses the browser's native scroll-driven animations when available, `'js'` forces the fallback. */
1309
- engine?: 'auto' | 'native' | 'js';
1310
- /** 4.1: scroll axis, `'block'` (default) · `'inline'` · `'x'` · `'y'`. */
1311
- axis?: 'block' | 'inline' | 'x' | 'y';
1312
- }
1313
- /** The function `scrub()` returns: call it to stop. `native` tells which engine runs it. */
1314
- interface ScrubHandle {
1315
- (): void;
1316
- /** `true` when the browser's ScrollTimeline / ViewTimeline drives it (compositor, no JS per frame). */
1317
- readonly native: boolean;
1318
- }
1319
- interface Timeline {
1320
- /** Total length in ms. */
1321
- readonly duration: number;
1322
- /** Label positions in ms. */
1323
- readonly labels: Readonly<Record<string, number>>;
1324
- /** Current playhead in ms. */
1325
- readonly time: number;
1326
- /** Add a step: animate `target` with keyframes or a preset name (`fade-up`, `scale`…). */
1327
- to(target: string | Element | Element[] | NodeList, frames: Keyframe[] | string, options?: TimelineStepOptions): Timeline;
1328
- /** Name a position (default: the current end). */
1329
- label(name: string, at?: TimelinePosition): Timeline;
1330
- /** Run `fn` when the playhead passes `at`. */
1331
- call(fn: () => void, at?: TimelinePosition): Timeline;
1332
- /** Play forwards from the playhead (from 0 when at the end). Resolves at the end. */
1333
- play(from?: TimelinePosition): Promise<void>;
1334
- /** Play backwards to 0. */
1335
- reverse(): Promise<void>;
1336
- pause(): Timeline;
1337
- /** Jump to a time (ms) or label. */
1338
- seek(to: TimelinePosition): Timeline;
1339
- /** Get or set progress 0–1. */
1340
- progress(p?: number): number;
1341
- /**
1342
- * Tie progress to scroll: `source` moving through the viewport (or, with
1343
- * `{ source: 'scroll' }`, a scroll container's own position). Runs on native
1344
- * ScrollTimeline / ViewTimeline when available (and no `smooth`, `offset`,
1345
- * `call()` cues or `onUpdate` need JS), else on a rAF-throttled listener.
1346
- * Returns a stop function with a `native` flag.
1347
- */
1348
- scrub(source: Element, options?: ScrubOptions): ScrubHandle;
1349
- /** Stop and drop every animation (elements keep their last frame). */
1350
- cancel(): void;
1351
- }
1352
-
1353
1357
  /**
1354
1358
  * `<usa-timeline>` — declarative choreography. Every descendant with
1355
1359
  * `data-tl="<preset>"` becomes a step, in document order; `data-at`
@@ -1,29 +1,30 @@
1
1
  import { defineComponents } from '../components.js';
2
2
  export { b as bindUsa, u as usaEventName } from '../chunks/bind-B_CTL6Qn.js';
3
3
  import './reveal.js';
4
- import '../chunks/base-BPG5zvex.js';
4
+ import '../chunks/base-BtJDNCB6.js';
5
5
  import './text.js';
6
+ import '../chunks/core-DS1nrx5L.js';
7
+ import './tokens.js';
6
8
  import './interaction.js';
7
9
  import './feedback.js';
8
10
  import './background.js';
9
- import '../chunks/variants-BVYMcxRv.js';
11
+ import '../chunks/variants-dD6SbUMR.js';
10
12
  import './transitions.js';
11
13
  import './physics.js';
12
- import '../chunks/spring-BziPsW3r.js';
14
+ import '../chunks/spring-CxRz49Wk.js';
13
15
  import './cards.js';
14
16
  import './click.js';
15
17
  import './ui.js';
16
18
  import './page.js';
17
19
  import './timeline.js';
18
- import '../chunks/core-LkGRmgES.js';
19
- import './tokens.js';
20
20
  import './gesture.js';
21
- import '../chunks/core-eXX8rB_b.js';
21
+ import '../chunks/core-DX6pdOoY.js';
22
22
  import './svg.js';
23
23
  import './webgl.js';
24
24
  import './depth.js';
25
25
  import './layout.js';
26
26
  import './packs.js';
27
+ import './a11y.js';
27
28
  import '../chunks/index-tags-43Xtd01A.js';
28
29
 
29
30
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"angular.js","sources":["../../src/components/frameworks/angular.ts"],"sourcesContent":["/**\n * use-scroll-animate/components/angular — Angular integration (v3.8).\n * Angular renders `<usa-*>` tags once the component (or NgModule) allows\n * custom elements with `CUSTOM_ELEMENTS_SCHEMA`; property binding\n * `[checked]=\"on\"` and event binding `(usa:change)=\"…\"` then work as is.\n * This entry is framework-free (no `@angular/*` import):\n *\n * ```ts\n * import { CUSTOM_ELEMENTS_SCHEMA, Component, APP_INITIALIZER } from '@angular/core';\n * import { usaInitializer } from 'use-scroll-animate/components/angular';\n *\n * // app.config.ts\n * providers: [{ provide: APP_INITIALIZER, multi: true, useFactory: usaInitializer(['click', 'ui']) }]\n *\n * @Component({ standalone: true, schemas: [CUSTOM_ELEMENTS_SCHEMA],\n * template: `<usa-toggle [checked]=\"on\" (usa:change)=\"on = $any($event).detail.checked\"></usa-toggle>` })\n * ```\n * `bindUsa(el, { props, on })` is available for directives that bind imperatively.\n */\nimport { defineComponents, type ComponentCategory } from '../index';\n\nexport { bindUsa, usaEventName } from './bind';\nexport type { UsaBinding } from './bind';\n\n/** `APP_INITIALIZER` factory: registers the elements in the browser (no-op during SSR). */\nexport function usaInitializer(categories?: ComponentCategory[]): () => () => void {\n return () => () => {\n if (typeof window !== 'undefined') defineComponents(categories);\n };\n}\n\n/** Register the elements directly (e.g. in `main.ts` before `bootstrapApplication`). */\nexport function defineUsa(categories?: ComponentCategory[]): void {\n if (typeof window !== 'undefined') defineComponents(categories);\n}\n\n/** Read `event.detail` from a `usa:*` event in a template handler: `(usa:change)=\"on = usaDetail($event).checked\"`. */\nexport const usaDetail = <T = any>(e: Event): T => (e as CustomEvent<T>).detail;\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;AAkBG;AAMH;AACM,SAAU,cAAc,CAAC,UAAgC,EAAA;AAC7D,IAAA,OAAO,MAAM,MAAK;QAChB,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,gBAAgB,CAAC,UAAU,CAAC;AACjE,IAAA,CAAC;AACH;AAEA;AACM,SAAU,SAAS,CAAC,UAAgC,EAAA;IACxD,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,gBAAgB,CAAC,UAAU,CAAC;AACjE;AAEA;AACO,MAAM,SAAS,GAAG,CAAU,CAAQ,KAAS,CAAoB,CAAC;;;;"}
1
+ {"version":3,"file":"angular.js","sources":["../../src/components/frameworks/angular.ts"],"sourcesContent":["/**\n * use-scroll-animate/components/angular — Angular integration (v3.8).\n * Angular renders `<usa-*>` tags once the component (or NgModule) allows\n * custom elements with `CUSTOM_ELEMENTS_SCHEMA`; property binding\n * `[checked]=\"on\"` and event binding `(usa:change)=\"…\"` then work as is.\n * This entry is framework-free (no `@angular/*` import):\n *\n * ```ts\n * import { CUSTOM_ELEMENTS_SCHEMA, Component, APP_INITIALIZER } from '@angular/core';\n * import { usaInitializer } from 'use-scroll-animate/components/angular';\n *\n * // app.config.ts\n * providers: [{ provide: APP_INITIALIZER, multi: true, useFactory: usaInitializer(['click', 'ui']) }]\n *\n * @Component({ standalone: true, schemas: [CUSTOM_ELEMENTS_SCHEMA],\n * template: `<usa-toggle [checked]=\"on\" (usa:change)=\"on = $any($event).detail.checked\"></usa-toggle>` })\n * ```\n * `bindUsa(el, { props, on })` is available for directives that bind imperatively.\n */\nimport { defineComponents, type ComponentCategory } from '../index';\n\nexport { bindUsa, usaEventName } from './bind';\nexport type { UsaBinding } from './bind';\n\n/** `APP_INITIALIZER` factory: registers the elements in the browser (no-op during SSR). */\nexport function usaInitializer(categories?: ComponentCategory[]): () => () => void {\n return () => () => {\n if (typeof window !== 'undefined') defineComponents(categories);\n };\n}\n\n/** Register the elements directly (e.g. in `main.ts` before `bootstrapApplication`). */\nexport function defineUsa(categories?: ComponentCategory[]): void {\n if (typeof window !== 'undefined') defineComponents(categories);\n}\n\n/** Read `event.detail` from a `usa:*` event in a template handler: `(usa:change)=\"on = usaDetail($event).checked\"`. */\nexport const usaDetail = <T = any>(e: Event): T => (e as CustomEvent<T>).detail;\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;AAkBG;AAMH;AACM,SAAU,cAAc,CAAC,UAAgC,EAAA;AAC7D,IAAA,OAAO,MAAM,MAAK;QAChB,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,gBAAgB,CAAC,UAAU,CAAC;AACjE,IAAA,CAAC;AACH;AAEA;AACM,SAAU,SAAS,CAAC,UAAgC,EAAA;IACxD,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,gBAAgB,CAAC,UAAU,CAAC;AACjE;AAEA;AACO,MAAM,SAAS,GAAG,CAAU,CAAQ,KAAS,CAAoB,CAAC;;;;"}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var base = require('../chunks/base-CXx7jZ-o.cjs');
4
- var variants = require('../chunks/variants-BNIrn4ch.cjs');
3
+ var base = require('../chunks/base-DE2yzxE7.cjs');
4
+ var variants = require('../chunks/variants-CM2zaG8v.cjs');
5
5
 
6
6
  var css$6 = "usa-aurora{position:relative;display:block;isolation:isolate;overflow:hidden}usa-aurora .usa-aurora-layer{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:var(--usa-aurora-opacity,0.7);overflow:hidden;contain:strict}usa-aurora .usa-aurora-layer i{position:absolute;display:block;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,var(--c),transparent);will-change:transform;animation:usa-aurora-a var(--usa-aurora-speed,18s) ease-in-out infinite alternate}usa-aurora .usa-aurora-layer i:nth-child(1){left:-15%;top:-30%}usa-aurora .usa-aurora-layer i:nth-child(2){right:-20%;top:-10%;animation-name:usa-aurora-b;animation-duration:calc(var(--usa-aurora-speed,18s) * 1.3)}usa-aurora .usa-aurora-layer i:nth-child(3){left:10%;bottom:-45%;animation-name:usa-aurora-c;animation-duration:calc(var(--usa-aurora-speed,18s) * 0.9)}usa-aurora .usa-aurora-layer i:nth-child(4){right:0;bottom:-30%;width:50%;animation-name:usa-aurora-b;animation-direction:alternate-reverse}usa-aurora[paused] .usa-aurora-layer i,usa-aurora[data-offscreen] .usa-aurora-layer i{animation-play-state:paused}@keyframes usa-aurora-a{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(30%,20%,0) scale(1.25)}}@keyframes usa-aurora-b{from{transform:translate3d(0,0,0) scale(1.1)}to{transform:translate3d(-35%,25%,0) scale(0.85)}}@keyframes usa-aurora-c{from{transform:translate3d(0,0,0) rotate(0deg) scale(1)}to{transform:translate3d(25%,-30%,0) rotate(40deg) scale(1.2)}}@media (prefers-reduced-motion:reduce){usa-aurora .usa-aurora-layer i,usa-grain .usa-grain-layer,usa-acrylic::after{animation:none !important}}";
7
7
 
@@ -27,7 +27,17 @@ interface ComponentsConfig {
27
27
  * 1.25) on `<html>` for your own CSS. See `setMotionIntensity()`.
28
28
  */
29
29
  motionIntensity?: MotionIntensity;
30
+ /**
31
+ * Motion-sensitivity level (v4.4), finer than reduced motion:
32
+ * `'full'` (default) · `'gentle'` (no spins, zooms, skews or parallax —
33
+ * translations and fades only, safe for vestibular disorders) ·
34
+ * `'minimal'` (fades only; components use their reduced-motion variants) ·
35
+ * `'static'` (no animation: every component shows its static alternative).
36
+ * See `setMotionSensitivity()` in `use-scroll-animate/components/a11y`.
37
+ */
38
+ motionSensitivity?: MotionSensitivity;
30
39
  }
40
+ type MotionSensitivity = 'full' | 'gentle' | 'minimal' | 'static';
31
41
  type MotionIntensity = 'off' | 'low' | 'normal' | 'high';
32
42
  /** Change global component settings (call before `define*()` for `injectStyles`). */
33
43
  declare function configureComponents(options: ComponentsConfig): void;
@@ -27,7 +27,17 @@ interface ComponentsConfig {
27
27
  * 1.25) on `<html>` for your own CSS. See `setMotionIntensity()`.
28
28
  */
29
29
  motionIntensity?: MotionIntensity;
30
+ /**
31
+ * Motion-sensitivity level (v4.4), finer than reduced motion:
32
+ * `'full'` (default) · `'gentle'` (no spins, zooms, skews or parallax —
33
+ * translations and fades only, safe for vestibular disorders) ·
34
+ * `'minimal'` (fades only; components use their reduced-motion variants) ·
35
+ * `'static'` (no animation: every component shows its static alternative).
36
+ * See `setMotionSensitivity()` in `use-scroll-animate/components/a11y`.
37
+ */
38
+ motionSensitivity?: MotionSensitivity;
30
39
  }
40
+ type MotionSensitivity = 'full' | 'gentle' | 'minimal' | 'static';
31
41
  type MotionIntensity = 'off' | 'low' | 'normal' | 'high';
32
42
  /** Change global component settings (call before `define*()` for `injectStyles`). */
33
43
  declare function configureComponents(options: ComponentsConfig): void;
@@ -1,6 +1,6 @@
1
- import { h as defineElement, d as caf, r as raf, f as adoptStyles, p as prefersReducedMotion } from '../chunks/base-BPG5zvex.js';
2
- export { a as configureComponents } from '../chunks/base-BPG5zvex.js';
3
- import { s as setVariant } from '../chunks/variants-BVYMcxRv.js';
1
+ import { k as defineElement, h as caf, r as raf, j as adoptStyles, p as prefersReducedMotion } from '../chunks/base-BtJDNCB6.js';
2
+ export { d as configureComponents } from '../chunks/base-BtJDNCB6.js';
3
+ import { s as setVariant } from '../chunks/variants-dD6SbUMR.js';
4
4
 
5
5
  var css$6 = "usa-aurora{position:relative;display:block;isolation:isolate;overflow:hidden}usa-aurora .usa-aurora-layer{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:var(--usa-aurora-opacity,0.7);overflow:hidden;contain:strict}usa-aurora .usa-aurora-layer i{position:absolute;display:block;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,var(--c),transparent);will-change:transform;animation:usa-aurora-a var(--usa-aurora-speed,18s) ease-in-out infinite alternate}usa-aurora .usa-aurora-layer i:nth-child(1){left:-15%;top:-30%}usa-aurora .usa-aurora-layer i:nth-child(2){right:-20%;top:-10%;animation-name:usa-aurora-b;animation-duration:calc(var(--usa-aurora-speed,18s) * 1.3)}usa-aurora .usa-aurora-layer i:nth-child(3){left:10%;bottom:-45%;animation-name:usa-aurora-c;animation-duration:calc(var(--usa-aurora-speed,18s) * 0.9)}usa-aurora .usa-aurora-layer i:nth-child(4){right:0;bottom:-30%;width:50%;animation-name:usa-aurora-b;animation-direction:alternate-reverse}usa-aurora[paused] .usa-aurora-layer i,usa-aurora[data-offscreen] .usa-aurora-layer i{animation-play-state:paused}@keyframes usa-aurora-a{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(30%,20%,0) scale(1.25)}}@keyframes usa-aurora-b{from{transform:translate3d(0,0,0) scale(1.1)}to{transform:translate3d(-35%,25%,0) scale(0.85)}}@keyframes usa-aurora-c{from{transform:translate3d(0,0,0) rotate(0deg) scale(1)}to{transform:translate3d(25%,-30%,0) rotate(40deg) scale(1.2)}}@media (prefers-reduced-motion:reduce){usa-aurora .usa-aurora-layer i,usa-grain .usa-grain-layer,usa-acrylic::after{animation:none !important}}";
6
6
 
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var base = require('../chunks/base-CXx7jZ-o.cjs');
4
- var spring = require('../chunks/spring-2OTnYCzm.cjs');
3
+ var base = require('../chunks/base-DE2yzxE7.cjs');
4
+ var spring = require('../chunks/spring-hsmgd7ml.cjs');
5
5
 
6
6
  var css$3 = "usa-card{--usa-card-radius:18px;--usa-card-bg:var(--usa-surface,#1b1e27);--usa-card-glow:var(--usa-accent,#7c5cff);--usa-card-x:50%;--usa-card-y:50%;--usa-card-nx:0;--usa-card-ny:0;position:relative;display:block;border-radius:var(--usa-card-radius);isolation:isolate;-webkit-tap-highlight-color:transparent}usa-card:focus-visible{outline:2px solid var(--usa-card-glow);outline-offset:3px}usa-card[effect~=\"lift\"]{transition:transform 0.45s cubic-bezier(0.34,1.56,0.64,1),box-shadow 0.45s ease}usa-card[effect~=\"lift\"][data-hover],usa-card[effect~=\"lift\"]:focus-visible{transform:translateY(-6px) perspective(900px) rotateX(calc(var(--usa-card-ny) * -4deg)) rotateY(calc(var(--usa-card-nx) * 4deg));box-shadow:0 22px 44px -18px rgb(0 0 0 / 0.55)}usa-card[effect~=\"glass\"]{background:color-mix(in srgb,var(--usa-card-bg) 45%,transparent);border:1px solid rgb(255 255 255 / 0.16);-webkit-backdrop-filter:blur(18px) saturate(1.5);backdrop-filter:blur(18px) saturate(1.5)}usa-card[effect~=\"spotlight\"]::before,usa-card[effect~=\"border-glow\"]::after{content:\"\";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity 0.3s ease}usa-card[effect~=\"spotlight\"]::before{z-index:-1;background:radial-gradient(260px circle at var(--usa-card-x) var(--usa-card-y),color-mix(in srgb,var(--usa-card-glow) 28%,transparent),transparent 70%)}usa-card[effect~=\"border-glow\"]::after{padding:1.5px;background:radial-gradient(180px circle at var(--usa-card-x) var(--usa-card-y),var(--usa-card-glow),transparent 70%);-webkit-mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}usa-card[data-hover]::before,usa-card[data-hover]::after{opacity:1}@property --usa-card-angle{syntax:\"<angle>\";inherits:false;initial-value:0deg}usa-card[effect~=\"conic-border\"]{border:2px solid transparent;background:linear-gradient(var(--usa-card-bg),var(--usa-card-bg)) padding-box,conic-gradient(from var(--usa-card-angle),var(--usa-card-glow),#22d3ee,#f472b6,var(--usa-card-glow)) border-box;animation:usa-card-spin 4s linear infinite}@keyframes usa-card-spin{to{--usa-card-angle:360deg}}usa-card .usa-card-sheen{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none}usa-card .usa-card-sheen::before{content:\"\";position:absolute;top:0;bottom:0;width:45%;left:-60%;transform:skewX(-20deg);background:linear-gradient(90deg,transparent,rgb(255 255 255 / 0.35),transparent)}usa-card[effect~=\"sheen\"]:hover .usa-card-sheen::before,usa-card[effect~=\"sheen\"]:focus-visible .usa-card-sheen::before{left:130%;transition:left 0.8s cubic-bezier(0.22,1,0.36,1)}usa-card .usa-card-holo{position:absolute;inset:0;border-radius:inherit;pointer-events:none;mix-blend-mode:color-dodge;opacity:0.35;background:linear-gradient(115deg,transparent 20%,#ff7ad9 35%,#7af0ff 45%,#ffe27a 55%,transparent 70%) calc(var(--usa-card-x) * 1.4 - 20%) calc(var(--usa-card-y) * 1.4 - 20%) / 220% 220%;transition:opacity 0.3s ease}usa-card[data-hover] .usa-card-holo{opacity:0.7}usa-card[effect~=\"parallax-layers\"] [data-depth]{transition:transform 0.25s ease-out;will-change:transform}usa-card[effect~=\"flip\"]{perspective:1000px;display:grid}usa-card[effect~=\"flip\"]>[data-front],usa-card[effect~=\"flip\"]>[data-back]{grid-area:1 / 1;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:inherit;transition:transform 0.7s cubic-bezier(0.34,1.3,0.64,1),opacity 0.3s ease}usa-card[effect~=\"flip\"]>[data-back]{transform:rotateY(180deg)}usa-card[effect~=\"flip\"][axis=\"x\"]>[data-back]{transform:rotateX(180deg)}usa-card[effect~=\"flip\"][flipped]>[data-front],usa-card[effect~=\"flip\"]:not([trigger=\"click\"]):hover>[data-front]{transform:rotateY(-180deg)}usa-card[effect~=\"flip\"][flipped]>[data-back],usa-card[effect~=\"flip\"]:not([trigger=\"click\"]):hover>[data-back]{transform:rotateY(0deg)}usa-card[effect~=\"flip\"][axis=\"x\"][flipped]>[data-front],usa-card[effect~=\"flip\"][axis=\"x\"]:not([trigger=\"click\"]):hover>[data-front]{transform:rotateX(180deg)}usa-card[effect~=\"flip\"][axis=\"x\"][flipped]>[data-back],usa-card[effect~=\"flip\"][axis=\"x\"]:not([trigger=\"click\"]):hover>[data-back]{transform:rotateX(0deg)}usa-card[effect~=\"flip\"][trigger=\"click\"]{cursor:pointer}usa-card[effect~=\"expand\"]{cursor:zoom-in}usa-card[effect~=\"expand\"]:not([expanded]) [data-detail]{display:none}usa-card[expanded]{position:fixed;inset:6vh max(4vw,calc(50vw - 420px));z-index:1000;overflow:auto;cursor:default;background:var(--usa-card-bg);box-shadow:0 30px 80px -20px rgb(0 0 0 / 0.6)}.usa-card-backdrop{position:fixed;inset:0;z-index:999;background:rgb(0 0 0 / 0.45)}@media (prefers-reduced-motion:reduce){usa-card,usa-card *,usa-card .usa-card-sheen::before{transition-duration:0.01ms !important;animation:none !important}usa-card[effect~=\"lift\"][data-hover]{transform:none}usa-card[effect~=\"flip\"]>[data-front],usa-card[effect~=\"flip\"]>[data-back]{transform:none !important}usa-card[effect~=\"flip\"][flipped]>[data-front],usa-card[effect~=\"flip\"]:not([flipped])>[data-back]{opacity:0;visibility:hidden}usa-card[effect~=\"flip\"]:not([trigger=\"click\"]):hover>[data-front]{opacity:0;visibility:hidden}usa-card[effect~=\"flip\"]:not([trigger=\"click\"]):hover>[data-back]{opacity:1;visibility:visible}}@media (prefers-reduced-transparency:reduce),(forced-colors:active){usa-card[effect~=\"glass\"]{background:var(--usa-card-bg);-webkit-backdrop-filter:none;backdrop-filter:none}}";
7
7
 
@@ -27,7 +27,17 @@ interface ComponentsConfig {
27
27
  * 1.25) on `<html>` for your own CSS. See `setMotionIntensity()`.
28
28
  */
29
29
  motionIntensity?: MotionIntensity;
30
+ /**
31
+ * Motion-sensitivity level (v4.4), finer than reduced motion:
32
+ * `'full'` (default) · `'gentle'` (no spins, zooms, skews or parallax —
33
+ * translations and fades only, safe for vestibular disorders) ·
34
+ * `'minimal'` (fades only; components use their reduced-motion variants) ·
35
+ * `'static'` (no animation: every component shows its static alternative).
36
+ * See `setMotionSensitivity()` in `use-scroll-animate/components/a11y`.
37
+ */
38
+ motionSensitivity?: MotionSensitivity;
30
39
  }
40
+ type MotionSensitivity = 'full' | 'gentle' | 'minimal' | 'static';
31
41
  type MotionIntensity = 'off' | 'low' | 'normal' | 'high';
32
42
  /** Change global component settings (call before `define*()` for `injectStyles`). */
33
43
  declare function configureComponents(options: ComponentsConfig): void;
@@ -27,7 +27,17 @@ interface ComponentsConfig {
27
27
  * 1.25) on `<html>` for your own CSS. See `setMotionIntensity()`.
28
28
  */
29
29
  motionIntensity?: MotionIntensity;
30
+ /**
31
+ * Motion-sensitivity level (v4.4), finer than reduced motion:
32
+ * `'full'` (default) · `'gentle'` (no spins, zooms, skews or parallax —
33
+ * translations and fades only, safe for vestibular disorders) ·
34
+ * `'minimal'` (fades only; components use their reduced-motion variants) ·
35
+ * `'static'` (no animation: every component shows its static alternative).
36
+ * See `setMotionSensitivity()` in `use-scroll-animate/components/a11y`.
37
+ */
38
+ motionSensitivity?: MotionSensitivity;
30
39
  }
40
+ type MotionSensitivity = 'full' | 'gentle' | 'minimal' | 'static';
31
41
  type MotionIntensity = 'off' | 'low' | 'normal' | 'high';
32
42
  /** Change global component settings (call before `define*()` for `injectStyles`). */
33
43
  declare function configureComponents(options: ComponentsConfig): void;
@@ -1,6 +1,6 @@
1
- import { h as defineElement, r as raf, d as caf, i as EASE_OUT, b as clamp } from '../chunks/base-BPG5zvex.js';
2
- export { a as configureComponents, p as prefersReducedMotion } from '../chunks/base-BPG5zvex.js';
3
- import { d as springEasing, c as createSpring } from '../chunks/spring-BziPsW3r.js';
1
+ import { k as defineElement, r as raf, h as caf, l as EASE_OUT, f as clamp } from '../chunks/base-BtJDNCB6.js';
2
+ export { d as configureComponents, p as prefersReducedMotion } from '../chunks/base-BtJDNCB6.js';
3
+ import { d as springEasing, c as createSpring } from '../chunks/spring-CxRz49Wk.js';
4
4
 
5
5
  var css$3 = "usa-card{--usa-card-radius:18px;--usa-card-bg:var(--usa-surface,#1b1e27);--usa-card-glow:var(--usa-accent,#7c5cff);--usa-card-x:50%;--usa-card-y:50%;--usa-card-nx:0;--usa-card-ny:0;position:relative;display:block;border-radius:var(--usa-card-radius);isolation:isolate;-webkit-tap-highlight-color:transparent}usa-card:focus-visible{outline:2px solid var(--usa-card-glow);outline-offset:3px}usa-card[effect~=\"lift\"]{transition:transform 0.45s cubic-bezier(0.34,1.56,0.64,1),box-shadow 0.45s ease}usa-card[effect~=\"lift\"][data-hover],usa-card[effect~=\"lift\"]:focus-visible{transform:translateY(-6px) perspective(900px) rotateX(calc(var(--usa-card-ny) * -4deg)) rotateY(calc(var(--usa-card-nx) * 4deg));box-shadow:0 22px 44px -18px rgb(0 0 0 / 0.55)}usa-card[effect~=\"glass\"]{background:color-mix(in srgb,var(--usa-card-bg) 45%,transparent);border:1px solid rgb(255 255 255 / 0.16);-webkit-backdrop-filter:blur(18px) saturate(1.5);backdrop-filter:blur(18px) saturate(1.5)}usa-card[effect~=\"spotlight\"]::before,usa-card[effect~=\"border-glow\"]::after{content:\"\";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity 0.3s ease}usa-card[effect~=\"spotlight\"]::before{z-index:-1;background:radial-gradient(260px circle at var(--usa-card-x) var(--usa-card-y),color-mix(in srgb,var(--usa-card-glow) 28%,transparent),transparent 70%)}usa-card[effect~=\"border-glow\"]::after{padding:1.5px;background:radial-gradient(180px circle at var(--usa-card-x) var(--usa-card-y),var(--usa-card-glow),transparent 70%);-webkit-mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}usa-card[data-hover]::before,usa-card[data-hover]::after{opacity:1}@property --usa-card-angle{syntax:\"<angle>\";inherits:false;initial-value:0deg}usa-card[effect~=\"conic-border\"]{border:2px solid transparent;background:linear-gradient(var(--usa-card-bg),var(--usa-card-bg)) padding-box,conic-gradient(from var(--usa-card-angle),var(--usa-card-glow),#22d3ee,#f472b6,var(--usa-card-glow)) border-box;animation:usa-card-spin 4s linear infinite}@keyframes usa-card-spin{to{--usa-card-angle:360deg}}usa-card .usa-card-sheen{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none}usa-card .usa-card-sheen::before{content:\"\";position:absolute;top:0;bottom:0;width:45%;left:-60%;transform:skewX(-20deg);background:linear-gradient(90deg,transparent,rgb(255 255 255 / 0.35),transparent)}usa-card[effect~=\"sheen\"]:hover .usa-card-sheen::before,usa-card[effect~=\"sheen\"]:focus-visible .usa-card-sheen::before{left:130%;transition:left 0.8s cubic-bezier(0.22,1,0.36,1)}usa-card .usa-card-holo{position:absolute;inset:0;border-radius:inherit;pointer-events:none;mix-blend-mode:color-dodge;opacity:0.35;background:linear-gradient(115deg,transparent 20%,#ff7ad9 35%,#7af0ff 45%,#ffe27a 55%,transparent 70%) calc(var(--usa-card-x) * 1.4 - 20%) calc(var(--usa-card-y) * 1.4 - 20%) / 220% 220%;transition:opacity 0.3s ease}usa-card[data-hover] .usa-card-holo{opacity:0.7}usa-card[effect~=\"parallax-layers\"] [data-depth]{transition:transform 0.25s ease-out;will-change:transform}usa-card[effect~=\"flip\"]{perspective:1000px;display:grid}usa-card[effect~=\"flip\"]>[data-front],usa-card[effect~=\"flip\"]>[data-back]{grid-area:1 / 1;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:inherit;transition:transform 0.7s cubic-bezier(0.34,1.3,0.64,1),opacity 0.3s ease}usa-card[effect~=\"flip\"]>[data-back]{transform:rotateY(180deg)}usa-card[effect~=\"flip\"][axis=\"x\"]>[data-back]{transform:rotateX(180deg)}usa-card[effect~=\"flip\"][flipped]>[data-front],usa-card[effect~=\"flip\"]:not([trigger=\"click\"]):hover>[data-front]{transform:rotateY(-180deg)}usa-card[effect~=\"flip\"][flipped]>[data-back],usa-card[effect~=\"flip\"]:not([trigger=\"click\"]):hover>[data-back]{transform:rotateY(0deg)}usa-card[effect~=\"flip\"][axis=\"x\"][flipped]>[data-front],usa-card[effect~=\"flip\"][axis=\"x\"]:not([trigger=\"click\"]):hover>[data-front]{transform:rotateX(180deg)}usa-card[effect~=\"flip\"][axis=\"x\"][flipped]>[data-back],usa-card[effect~=\"flip\"][axis=\"x\"]:not([trigger=\"click\"]):hover>[data-back]{transform:rotateX(0deg)}usa-card[effect~=\"flip\"][trigger=\"click\"]{cursor:pointer}usa-card[effect~=\"expand\"]{cursor:zoom-in}usa-card[effect~=\"expand\"]:not([expanded]) [data-detail]{display:none}usa-card[expanded]{position:fixed;inset:6vh max(4vw,calc(50vw - 420px));z-index:1000;overflow:auto;cursor:default;background:var(--usa-card-bg);box-shadow:0 30px 80px -20px rgb(0 0 0 / 0.6)}.usa-card-backdrop{position:fixed;inset:0;z-index:999;background:rgb(0 0 0 / 0.45)}@media (prefers-reduced-motion:reduce){usa-card,usa-card *,usa-card .usa-card-sheen::before{transition-duration:0.01ms !important;animation:none !important}usa-card[effect~=\"lift\"][data-hover]{transform:none}usa-card[effect~=\"flip\"]>[data-front],usa-card[effect~=\"flip\"]>[data-back]{transform:none !important}usa-card[effect~=\"flip\"][flipped]>[data-front],usa-card[effect~=\"flip\"]:not([flipped])>[data-back]{opacity:0;visibility:hidden}usa-card[effect~=\"flip\"]:not([trigger=\"click\"]):hover>[data-front]{opacity:0;visibility:hidden}usa-card[effect~=\"flip\"]:not([trigger=\"click\"]):hover>[data-back]{opacity:1;visibility:visible}}@media (prefers-reduced-transparency:reduce),(forced-colors:active){usa-card[effect~=\"glass\"]{background:var(--usa-card-bg);-webkit-backdrop-filter:none;backdrop-filter:none}}";
6
6
 
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var base = require('../chunks/base-CXx7jZ-o.cjs');
4
- var spring = require('../chunks/spring-2OTnYCzm.cjs');
3
+ var base = require('../chunks/base-DE2yzxE7.cjs');
4
+ var spring = require('../chunks/spring-hsmgd7ml.cjs');
5
5
 
6
6
  /**
7
7
  * Click-effect helpers (v2.5): `burst()`, `confetti()`, `shake()`, `haptic()`.
@@ -27,7 +27,17 @@ interface ComponentsConfig {
27
27
  * 1.25) on `<html>` for your own CSS. See `setMotionIntensity()`.
28
28
  */
29
29
  motionIntensity?: MotionIntensity;
30
+ /**
31
+ * Motion-sensitivity level (v4.4), finer than reduced motion:
32
+ * `'full'` (default) · `'gentle'` (no spins, zooms, skews or parallax —
33
+ * translations and fades only, safe for vestibular disorders) ·
34
+ * `'minimal'` (fades only; components use their reduced-motion variants) ·
35
+ * `'static'` (no animation: every component shows its static alternative).
36
+ * See `setMotionSensitivity()` in `use-scroll-animate/components/a11y`.
37
+ */
38
+ motionSensitivity?: MotionSensitivity;
30
39
  }
40
+ type MotionSensitivity = 'full' | 'gentle' | 'minimal' | 'static';
31
41
  type MotionIntensity = 'off' | 'low' | 'normal' | 'high';
32
42
  /** Change global component settings (call before `define*()` for `injectStyles`). */
33
43
  declare function configureComponents(options: ComponentsConfig): void;
@@ -27,7 +27,17 @@ interface ComponentsConfig {
27
27
  * 1.25) on `<html>` for your own CSS. See `setMotionIntensity()`.
28
28
  */
29
29
  motionIntensity?: MotionIntensity;
30
+ /**
31
+ * Motion-sensitivity level (v4.4), finer than reduced motion:
32
+ * `'full'` (default) · `'gentle'` (no spins, zooms, skews or parallax —
33
+ * translations and fades only, safe for vestibular disorders) ·
34
+ * `'minimal'` (fades only; components use their reduced-motion variants) ·
35
+ * `'static'` (no animation: every component shows its static alternative).
36
+ * See `setMotionSensitivity()` in `use-scroll-animate/components/a11y`.
37
+ */
38
+ motionSensitivity?: MotionSensitivity;
30
39
  }
40
+ type MotionSensitivity = 'full' | 'gentle' | 'minimal' | 'static';
31
41
  type MotionIntensity = 'off' | 'low' | 'normal' | 'high';
32
42
  /** Change global component settings (call before `define*()` for `injectStyles`). */
33
43
  declare function configureComponents(options: ComponentsConfig): void;
@@ -1,6 +1,6 @@
1
- import { p as prefersReducedMotion, h as defineElement, i as EASE_OUT, b as clamp, d as caf, n as now, r as raf } from '../chunks/base-BPG5zvex.js';
2
- export { a as configureComponents } from '../chunks/base-BPG5zvex.js';
3
- import { d as springEasing, c as createSpring } from '../chunks/spring-BziPsW3r.js';
1
+ import { p as prefersReducedMotion, k as defineElement, l as EASE_OUT, f as clamp, h as caf, n as now, r as raf } from '../chunks/base-BtJDNCB6.js';
2
+ export { d as configureComponents } from '../chunks/base-BtJDNCB6.js';
3
+ import { d as springEasing, c as createSpring } from '../chunks/spring-CxRz49Wk.js';
4
4
 
5
5
  /**
6
6
  * Click-effect helpers (v2.5): `burst()`, `confetti()`, `shake()`, `haptic()`.
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var base = require('../chunks/base-CXx7jZ-o.cjs');
4
- var spring = require('../chunks/spring-2OTnYCzm.cjs');
5
- var core = require('../chunks/core-IaorbTdu.cjs');
3
+ var base = require('../chunks/base-DE2yzxE7.cjs');
4
+ var spring = require('../chunks/spring-hsmgd7ml.cjs');
5
+ var core = require('../chunks/core-DPYjLqA0.cjs');
6
6
 
7
7
  var css = "usa-cube{--usa-cube-size:200px;display:block;width:var(--usa-cube-size);height:var(--usa-cube-size);perspective:var(--usa-cube-perspective,900px);touch-action:pan-y;user-select:none;-webkit-user-select:none;position:relative}usa-cube>[data-face]{position:absolute;inset:0;backface-visibility:hidden;transform:translateZ(calc(var(--usa-cube-size) / -2)) rotateX(var(--usa-cube-rx,0deg)) rotateY(var(--usa-cube-ry,0deg)) var(--usa-face) translateZ(calc(var(--usa-cube-size) / 2));transform-origin:50% 50%}usa-cube>[data-face=\"front\"]{--usa-face:rotateY(0deg)}usa-cube>[data-face=\"right\"]{--usa-face:rotateY(90deg)}usa-cube>[data-face=\"back\"]{--usa-face:rotateY(180deg)}usa-cube>[data-face=\"left\"]{--usa-face:rotateY(-90deg)}usa-cube>[data-face=\"top\"]{--usa-face:rotateX(90deg)}usa-cube>[data-face=\"bottom\"]{--usa-face:rotateX(-90deg)}usa-cube:focus-visible{outline:2px solid currentColor;outline-offset:6px}usa-depth{display:block;position:relative;perspective:1000px}usa-depth>*{transform:var(--usa-depth-rot,none);transform-style:preserve-3d}usa-depth [data-depth]{will-change:transform;transition:transform 0.12s linear}@media (prefers-reduced-motion:reduce){usa-depth [data-depth]{transform:none !important}}";
8
8
 
@@ -27,7 +27,17 @@ interface ComponentsConfig {
27
27
  * 1.25) on `<html>` for your own CSS. See `setMotionIntensity()`.
28
28
  */
29
29
  motionIntensity?: MotionIntensity;
30
+ /**
31
+ * Motion-sensitivity level (v4.4), finer than reduced motion:
32
+ * `'full'` (default) · `'gentle'` (no spins, zooms, skews or parallax —
33
+ * translations and fades only, safe for vestibular disorders) ·
34
+ * `'minimal'` (fades only; components use their reduced-motion variants) ·
35
+ * `'static'` (no animation: every component shows its static alternative).
36
+ * See `setMotionSensitivity()` in `use-scroll-animate/components/a11y`.
37
+ */
38
+ motionSensitivity?: MotionSensitivity;
30
39
  }
40
+ type MotionSensitivity = 'full' | 'gentle' | 'minimal' | 'static';
31
41
  type MotionIntensity = 'off' | 'low' | 'normal' | 'high';
32
42
  /** Change global component settings (call before `define*()` for `injectStyles`). */
33
43
  declare function configureComponents(options: ComponentsConfig): void;
@@ -27,7 +27,17 @@ interface ComponentsConfig {
27
27
  * 1.25) on `<html>` for your own CSS. See `setMotionIntensity()`.
28
28
  */
29
29
  motionIntensity?: MotionIntensity;
30
+ /**
31
+ * Motion-sensitivity level (v4.4), finer than reduced motion:
32
+ * `'full'` (default) · `'gentle'` (no spins, zooms, skews or parallax —
33
+ * translations and fades only, safe for vestibular disorders) ·
34
+ * `'minimal'` (fades only; components use their reduced-motion variants) ·
35
+ * `'static'` (no animation: every component shows its static alternative).
36
+ * See `setMotionSensitivity()` in `use-scroll-animate/components/a11y`.
37
+ */
38
+ motionSensitivity?: MotionSensitivity;
30
39
  }
40
+ type MotionSensitivity = 'full' | 'gentle' | 'minimal' | 'static';
31
41
  type MotionIntensity = 'off' | 'low' | 'normal' | 'high';
32
42
  /** Change global component settings (call before `define*()` for `injectStyles`). */
33
43
  declare function configureComponents(options: ComponentsConfig): void;
@@ -1,7 +1,7 @@
1
- import { h as defineElement, b as clamp, r as raf, d as caf } from '../chunks/base-BPG5zvex.js';
2
- export { a as configureComponents, p as prefersReducedMotion } from '../chunks/base-BPG5zvex.js';
3
- import { c as createSpring } from '../chunks/spring-BziPsW3r.js';
4
- import { g as gesture } from '../chunks/core-eXX8rB_b.js';
1
+ import { k as defineElement, f as clamp, r as raf, h as caf } from '../chunks/base-BtJDNCB6.js';
2
+ export { d as configureComponents, p as prefersReducedMotion } from '../chunks/base-BtJDNCB6.js';
3
+ import { c as createSpring } from '../chunks/spring-CxRz49Wk.js';
4
+ import { g as gesture } from '../chunks/core-DX6pdOoY.js';
5
5
 
6
6
  var css = "usa-cube{--usa-cube-size:200px;display:block;width:var(--usa-cube-size);height:var(--usa-cube-size);perspective:var(--usa-cube-perspective,900px);touch-action:pan-y;user-select:none;-webkit-user-select:none;position:relative}usa-cube>[data-face]{position:absolute;inset:0;backface-visibility:hidden;transform:translateZ(calc(var(--usa-cube-size) / -2)) rotateX(var(--usa-cube-rx,0deg)) rotateY(var(--usa-cube-ry,0deg)) var(--usa-face) translateZ(calc(var(--usa-cube-size) / 2));transform-origin:50% 50%}usa-cube>[data-face=\"front\"]{--usa-face:rotateY(0deg)}usa-cube>[data-face=\"right\"]{--usa-face:rotateY(90deg)}usa-cube>[data-face=\"back\"]{--usa-face:rotateY(180deg)}usa-cube>[data-face=\"left\"]{--usa-face:rotateY(-90deg)}usa-cube>[data-face=\"top\"]{--usa-face:rotateX(90deg)}usa-cube>[data-face=\"bottom\"]{--usa-face:rotateX(-90deg)}usa-cube:focus-visible{outline:2px solid currentColor;outline-offset:6px}usa-depth{display:block;position:relative;perspective:1000px}usa-depth>*{transform:var(--usa-depth-rot,none);transform-style:preserve-3d}usa-depth [data-depth]{will-change:transform;transition:transform 0.12s linear}@media (prefers-reduced-motion:reduce){usa-depth [data-depth]{transform:none !important}}";
7
7
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var base = require('../chunks/base-CXx7jZ-o.cjs');
3
+ var base = require('../chunks/base-DE2yzxE7.cjs');
4
4
 
5
5
  var css$4 = "usa-spinner{--usa-spinner-size:32px;--usa-spinner-color:currentColor;position:relative;display:inline-block;vertical-align:middle;flex:none;width:var(--usa-spinner-size);height:var(--usa-spinner-size);color:var(--usa-spinner-color)}usa-spinner i{position:absolute;display:block}usa-spinner[paused] *,usa-spinner[paused] *::after{animation-play-state:paused !important}usa-spinner svg{width:100%;height:100%;animation:usa-spin 2s linear infinite;overflow:visible}usa-spinner svg circle{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-dasharray:0.5 100;stroke-dashoffset:0;animation:usa-ring-arc 1.6s ease-in-out infinite}@keyframes usa-spin{to{transform:rotate(360deg)}}@keyframes usa-ring-arc{0%{stroke-dasharray:0.5 100;stroke-dashoffset:0}50%{stroke-dasharray:62 100;stroke-dashoffset:-20}100%{stroke-dasharray:0.5 100;stroke-dashoffset:-99}}usa-spinner[data-kind=\"windows\"] i{inset:0;opacity:0;animation:usa-orbit 5.5s infinite}usa-spinner[data-kind=\"windows\"] i::after{content:\"\";position:absolute;left:50%;top:0;width:12%;height:12%;margin-left:-6%;border-radius:50%;background:currentColor}usa-spinner[data-kind=\"windows\"] i:nth-child(2){animation-delay:240ms;--n:1}usa-spinner[data-kind=\"windows\"] i:nth-child(3){animation-delay:480ms;--n:2}usa-spinner[data-kind=\"windows\"] i:nth-child(4){animation-delay:720ms;--n:3}usa-spinner[data-kind=\"windows\"] i:nth-child(5){animation-delay:960ms;--n:4}@keyframes usa-orbit{0%{transform:rotate(225deg);opacity:1;animation-timing-function:ease-out}7%{transform:rotate(345deg);animation-timing-function:linear}30%{transform:rotate(455deg);animation-timing-function:ease-in-out}39%{transform:rotate(690deg);animation-timing-function:linear}70%{transform:rotate(815deg);opacity:1;animation-timing-function:ease-out}75%{transform:rotate(945deg);animation-timing-function:ease-out}76%,100%{transform:rotate(945deg);opacity:0}}usa-spinner[data-kind=\"ring\"] i{inset:0;border-radius:50%;border:calc(var(--usa-spinner-size) / 9) solid color-mix(in srgb,currentColor 20%,transparent);border-top-color:currentColor;animation:usa-spin 0.8s linear infinite}usa-spinner[data-kind=\"dots\"]{display:inline-flex;align-items:center;justify-content:space-between;height:calc(var(--usa-spinner-size) / 2.5)}usa-spinner[data-kind=\"dots\"] i{position:static;width:22%;aspect-ratio:1;border-radius:50%;background:currentColor;animation:usa-dot 1.2s ease-in-out infinite}usa-spinner[data-kind=\"dots\"] i:nth-child(2){animation-delay:0.15s}usa-spinner[data-kind=\"dots\"] i:nth-child(3){animation-delay:0.3s}@keyframes usa-dot{0%,60%,100%{transform:translateY(0);opacity:0.35}30%{transform:translateY(-70%);opacity:1}}usa-spinner[data-kind=\"pulse\"] i{inset:0;border-radius:50%;background:currentColor;opacity:0;animation:usa-pulse 1.6s cubic-bezier(0.22,1,0.36,1) infinite}usa-spinner[data-kind=\"pulse\"] i:nth-child(2){animation-delay:0.8s}@keyframes usa-pulse{from{transform:scale(0.1);opacity:0.8}to{transform:scale(1);opacity:0}}usa-spinner[data-kind=\"bars\"]{display:inline-flex;align-items:center;justify-content:space-between}usa-spinner[data-kind=\"bars\"] i{position:static;width:16%;height:100%;border-radius:2px;background:currentColor;transform:scaleY(0.35);animation:usa-bar 1s ease-in-out infinite}usa-spinner[data-kind=\"bars\"] i:nth-child(2){animation-delay:0.12s}usa-spinner[data-kind=\"bars\"] i:nth-child(3){animation-delay:0.24s}usa-spinner[data-kind=\"bars\"] i:nth-child(4){animation-delay:0.36s}@keyframes usa-bar{0%,100%{transform:scaleY(0.35)}40%{transform:scaleY(1)}}@media (prefers-reduced-motion:reduce){usa-spinner svg,usa-spinner i,usa-spinner i::after{animation:usa-calm 2.4s ease-in-out infinite !important}usa-spinner[data-kind=\"windows\"] i{transform:rotate(calc(var(--n,0) * 72deg))}usa-spinner svg circle{animation:none;stroke-dasharray:30 100}}@keyframes usa-calm{0%,100%{opacity:1}50%{opacity:0.4}}";
6
6
 
@@ -27,7 +27,17 @@ interface ComponentsConfig {
27
27
  * 1.25) on `<html>` for your own CSS. See `setMotionIntensity()`.
28
28
  */
29
29
  motionIntensity?: MotionIntensity;
30
+ /**
31
+ * Motion-sensitivity level (v4.4), finer than reduced motion:
32
+ * `'full'` (default) · `'gentle'` (no spins, zooms, skews or parallax —
33
+ * translations and fades only, safe for vestibular disorders) ·
34
+ * `'minimal'` (fades only; components use their reduced-motion variants) ·
35
+ * `'static'` (no animation: every component shows its static alternative).
36
+ * See `setMotionSensitivity()` in `use-scroll-animate/components/a11y`.
37
+ */
38
+ motionSensitivity?: MotionSensitivity;
30
39
  }
40
+ type MotionSensitivity = 'full' | 'gentle' | 'minimal' | 'static';
31
41
  type MotionIntensity = 'off' | 'low' | 'normal' | 'high';
32
42
  /** Change global component settings (call before `define*()` for `injectStyles`). */
33
43
  declare function configureComponents(options: ComponentsConfig): void;
@@ -27,7 +27,17 @@ interface ComponentsConfig {
27
27
  * 1.25) on `<html>` for your own CSS. See `setMotionIntensity()`.
28
28
  */
29
29
  motionIntensity?: MotionIntensity;
30
+ /**
31
+ * Motion-sensitivity level (v4.4), finer than reduced motion:
32
+ * `'full'` (default) · `'gentle'` (no spins, zooms, skews or parallax —
33
+ * translations and fades only, safe for vestibular disorders) ·
34
+ * `'minimal'` (fades only; components use their reduced-motion variants) ·
35
+ * `'static'` (no animation: every component shows its static alternative).
36
+ * See `setMotionSensitivity()` in `use-scroll-animate/components/a11y`.
37
+ */
38
+ motionSensitivity?: MotionSensitivity;
30
39
  }
40
+ type MotionSensitivity = 'full' | 'gentle' | 'minimal' | 'static';
31
41
  type MotionIntensity = 'off' | 'low' | 'normal' | 'high';
32
42
  /** Change global component settings (call before `define*()` for `injectStyles`). */
33
43
  declare function configureComponents(options: ComponentsConfig): void;
@@ -1,5 +1,5 @@
1
- import { h as defineElement, k as kindOf, i as EASE_OUT, b as clamp, F as FLUENT_DECELERATE, E as EASE_SPRING } from '../chunks/base-BPG5zvex.js';
2
- export { a as configureComponents, p as prefersReducedMotion } from '../chunks/base-BPG5zvex.js';
1
+ import { k as defineElement, o as kindOf, l as EASE_OUT, f as clamp, F as FLUENT_DECELERATE, E as EASE_SPRING } from '../chunks/base-BtJDNCB6.js';
2
+ export { d as configureComponents, p as prefersReducedMotion } from '../chunks/base-BtJDNCB6.js';
3
3
 
4
4
  var css$4 = "usa-spinner{--usa-spinner-size:32px;--usa-spinner-color:currentColor;position:relative;display:inline-block;vertical-align:middle;flex:none;width:var(--usa-spinner-size);height:var(--usa-spinner-size);color:var(--usa-spinner-color)}usa-spinner i{position:absolute;display:block}usa-spinner[paused] *,usa-spinner[paused] *::after{animation-play-state:paused !important}usa-spinner svg{width:100%;height:100%;animation:usa-spin 2s linear infinite;overflow:visible}usa-spinner svg circle{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-dasharray:0.5 100;stroke-dashoffset:0;animation:usa-ring-arc 1.6s ease-in-out infinite}@keyframes usa-spin{to{transform:rotate(360deg)}}@keyframes usa-ring-arc{0%{stroke-dasharray:0.5 100;stroke-dashoffset:0}50%{stroke-dasharray:62 100;stroke-dashoffset:-20}100%{stroke-dasharray:0.5 100;stroke-dashoffset:-99}}usa-spinner[data-kind=\"windows\"] i{inset:0;opacity:0;animation:usa-orbit 5.5s infinite}usa-spinner[data-kind=\"windows\"] i::after{content:\"\";position:absolute;left:50%;top:0;width:12%;height:12%;margin-left:-6%;border-radius:50%;background:currentColor}usa-spinner[data-kind=\"windows\"] i:nth-child(2){animation-delay:240ms;--n:1}usa-spinner[data-kind=\"windows\"] i:nth-child(3){animation-delay:480ms;--n:2}usa-spinner[data-kind=\"windows\"] i:nth-child(4){animation-delay:720ms;--n:3}usa-spinner[data-kind=\"windows\"] i:nth-child(5){animation-delay:960ms;--n:4}@keyframes usa-orbit{0%{transform:rotate(225deg);opacity:1;animation-timing-function:ease-out}7%{transform:rotate(345deg);animation-timing-function:linear}30%{transform:rotate(455deg);animation-timing-function:ease-in-out}39%{transform:rotate(690deg);animation-timing-function:linear}70%{transform:rotate(815deg);opacity:1;animation-timing-function:ease-out}75%{transform:rotate(945deg);animation-timing-function:ease-out}76%,100%{transform:rotate(945deg);opacity:0}}usa-spinner[data-kind=\"ring\"] i{inset:0;border-radius:50%;border:calc(var(--usa-spinner-size) / 9) solid color-mix(in srgb,currentColor 20%,transparent);border-top-color:currentColor;animation:usa-spin 0.8s linear infinite}usa-spinner[data-kind=\"dots\"]{display:inline-flex;align-items:center;justify-content:space-between;height:calc(var(--usa-spinner-size) / 2.5)}usa-spinner[data-kind=\"dots\"] i{position:static;width:22%;aspect-ratio:1;border-radius:50%;background:currentColor;animation:usa-dot 1.2s ease-in-out infinite}usa-spinner[data-kind=\"dots\"] i:nth-child(2){animation-delay:0.15s}usa-spinner[data-kind=\"dots\"] i:nth-child(3){animation-delay:0.3s}@keyframes usa-dot{0%,60%,100%{transform:translateY(0);opacity:0.35}30%{transform:translateY(-70%);opacity:1}}usa-spinner[data-kind=\"pulse\"] i{inset:0;border-radius:50%;background:currentColor;opacity:0;animation:usa-pulse 1.6s cubic-bezier(0.22,1,0.36,1) infinite}usa-spinner[data-kind=\"pulse\"] i:nth-child(2){animation-delay:0.8s}@keyframes usa-pulse{from{transform:scale(0.1);opacity:0.8}to{transform:scale(1);opacity:0}}usa-spinner[data-kind=\"bars\"]{display:inline-flex;align-items:center;justify-content:space-between}usa-spinner[data-kind=\"bars\"] i{position:static;width:16%;height:100%;border-radius:2px;background:currentColor;transform:scaleY(0.35);animation:usa-bar 1s ease-in-out infinite}usa-spinner[data-kind=\"bars\"] i:nth-child(2){animation-delay:0.12s}usa-spinner[data-kind=\"bars\"] i:nth-child(3){animation-delay:0.24s}usa-spinner[data-kind=\"bars\"] i:nth-child(4){animation-delay:0.36s}@keyframes usa-bar{0%,100%{transform:scaleY(0.35)}40%{transform:scaleY(1)}}@media (prefers-reduced-motion:reduce){usa-spinner svg,usa-spinner i,usa-spinner i::after{animation:usa-calm 2.4s ease-in-out infinite !important}usa-spinner[data-kind=\"windows\"] i{transform:rotate(calc(var(--n,0) * 72deg))}usa-spinner svg circle{animation:none;stroke-dasharray:30 100}}@keyframes usa-calm{0%,100%{opacity:1}50%{opacity:0.4}}";
5
5
 
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var base = require('../chunks/base-CXx7jZ-o.cjs');
4
- var spring = require('../chunks/spring-2OTnYCzm.cjs');
5
- var core = require('../chunks/core-IaorbTdu.cjs');
3
+ var base = require('../chunks/base-DE2yzxE7.cjs');
4
+ var spring = require('../chunks/spring-hsmgd7ml.cjs');
5
+ var core = require('../chunks/core-DPYjLqA0.cjs');
6
6
 
7
7
  var css = "usa-swipeable{display:block;touch-action:pan-y;user-select:none;-webkit-user-select:none}usa-swipeable[axis=\"y\"]{touch-action:pan-x}usa-swipeable>*{transform:translate3d(var(--usa-swipe,0px),0,0);opacity:calc(1 - var(--usa-swipe-p,0) * 0.5)}usa-swipeable[axis=\"y\"]>*{transform:translate3d(0,var(--usa-swipe,0px),0)}usa-swipeable:focus-visible{outline:2px solid currentColor;outline-offset:2px}usa-pinch-zoom{display:block;overflow:hidden;touch-action:none;position:relative}usa-pinch-zoom>*{transform:translate3d(var(--usa-zoom-x,0px),var(--usa-zoom-y,0px),0) scale(var(--usa-zoom,1));transform-origin:50% 50%}usa-pinch-zoom[data-zoomed]{cursor:grab}usa-pinch-zoom:focus-visible{outline:2px solid currentColor;outline-offset:2px}";
8
8
 
@@ -27,7 +27,17 @@ interface ComponentsConfig {
27
27
  * 1.25) on `<html>` for your own CSS. See `setMotionIntensity()`.
28
28
  */
29
29
  motionIntensity?: MotionIntensity;
30
+ /**
31
+ * Motion-sensitivity level (v4.4), finer than reduced motion:
32
+ * `'full'` (default) · `'gentle'` (no spins, zooms, skews or parallax —
33
+ * translations and fades only, safe for vestibular disorders) ·
34
+ * `'minimal'` (fades only; components use their reduced-motion variants) ·
35
+ * `'static'` (no animation: every component shows its static alternative).
36
+ * See `setMotionSensitivity()` in `use-scroll-animate/components/a11y`.
37
+ */
38
+ motionSensitivity?: MotionSensitivity;
30
39
  }
40
+ type MotionSensitivity = 'full' | 'gentle' | 'minimal' | 'static';
31
41
  type MotionIntensity = 'off' | 'low' | 'normal' | 'high';
32
42
  /** Change global component settings (call before `define*()` for `injectStyles`). */
33
43
  declare function configureComponents(options: ComponentsConfig): void;