use-scroll-animate 4.6.0 → 4.8.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 (78) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +1 -1
  3. package/README_ja.md +1 -1
  4. package/README_zh.md +1 -1
  5. package/dist/chunks/{index-tags-BQh_uGqH.cjs → index-tags-CIRY2KnU.cjs} +2 -2
  6. package/dist/chunks/{index-tags-BQh_uGqH.cjs.map → index-tags-CIRY2KnU.cjs.map} +1 -1
  7. package/dist/chunks/{index-tags-43Xtd01A.js → index-tags-Dh8nwXqw.js} +2 -2
  8. package/dist/chunks/{index-tags-43Xtd01A.js.map → index-tags-Dh8nwXqw.js.map} +1 -1
  9. package/dist/components/a11y.cjs +1 -1
  10. package/dist/components/a11y.d.cts +1 -1
  11. package/dist/components/a11y.d.ts +1 -1
  12. package/dist/components/a11y.js +1 -1
  13. package/dist/components/angular.cjs +2 -1
  14. package/dist/components/angular.cjs.map +1 -1
  15. package/dist/components/angular.d.cts +2 -1
  16. package/dist/components/angular.d.ts +2 -1
  17. package/dist/components/angular.js +2 -1
  18. package/dist/components/angular.js.map +1 -1
  19. package/dist/components/bridge.cjs +154 -0
  20. package/dist/components/bridge.cjs.map +1 -0
  21. package/dist/components/bridge.d.cts +63 -0
  22. package/dist/components/bridge.d.ts +63 -0
  23. package/dist/components/bridge.js +147 -0
  24. package/dist/components/bridge.js.map +1 -0
  25. package/dist/components/jsx.d.cts +1 -1
  26. package/dist/components/jsx.d.ts +1 -1
  27. package/dist/components/lazy.cjs +1 -1
  28. package/dist/components/lazy.d.cts +1 -1
  29. package/dist/components/lazy.d.ts +1 -1
  30. package/dist/components/lazy.js +1 -1
  31. package/dist/components/lite.cjs +333 -10
  32. package/dist/components/lite.cjs.map +1 -1
  33. package/dist/components/lite.js +320 -11
  34. package/dist/components/lite.js.map +1 -1
  35. package/dist/components/perf.cjs +1 -1
  36. package/dist/components/perf.d.cts +1 -1
  37. package/dist/components/perf.d.ts +1 -1
  38. package/dist/components/perf.js +1 -1
  39. package/dist/components/react.cjs +1 -1
  40. package/dist/components/react.js +1 -1
  41. package/dist/components/solid.cjs +2 -1
  42. package/dist/components/solid.cjs.map +1 -1
  43. package/dist/components/solid.d.cts +2 -1
  44. package/dist/components/solid.d.ts +2 -1
  45. package/dist/components/solid.js +2 -1
  46. package/dist/components/solid.js.map +1 -1
  47. package/dist/components/svelte.cjs +2 -1
  48. package/dist/components/svelte.cjs.map +1 -1
  49. package/dist/components/svelte.d.cts +2 -1
  50. package/dist/components/svelte.d.ts +2 -1
  51. package/dist/components/svelte.js +2 -1
  52. package/dist/components/svelte.js.map +1 -1
  53. package/dist/components/vue.cjs +2 -1
  54. package/dist/components/vue.cjs.map +1 -1
  55. package/dist/components/vue.d.cts +2 -1
  56. package/dist/components/vue.d.ts +2 -1
  57. package/dist/components/vue.js +2 -1
  58. package/dist/components/vue.js.map +1 -1
  59. package/dist/components/webgl.cjs +184 -10
  60. package/dist/components/webgl.cjs.map +1 -1
  61. package/dist/components/webgl.css +1 -1
  62. package/dist/components/webgl.d.cts +59 -5
  63. package/dist/components/webgl.d.ts +59 -5
  64. package/dist/components/webgl.js +178 -12
  65. package/dist/components/webgl.js.map +1 -1
  66. package/dist/components.cjs +16 -1
  67. package/dist/components.cjs.map +1 -1
  68. package/dist/components.css +1 -1
  69. package/dist/components.d.cts +119 -6
  70. package/dist/components.d.ts +119 -6
  71. package/dist/components.js +3 -2
  72. package/dist/components.js.map +1 -1
  73. package/dist/components.umd.js +3 -2
  74. package/dist/components.umd.js.map +1 -1
  75. package/docs/ROADMAP.md +2 -2
  76. package/docs/components.md +7 -0
  77. package/docs/hybrid-apps.md +15 -0
  78. package/package.json +11 -1
@@ -0,0 +1,147 @@
1
+ import { f as configureComponents, a as MOTION_SENSITIVITY_LEVELS } from '../chunks/base-CZiIAMBc.js';
2
+
3
+ /**
4
+ * use-scroll-animate/components/bridge — native shell bridges (4.7).
5
+ *
6
+ * Keeps the web UI in sync with the host app's system settings when it runs
7
+ * inside **WinUI 3 / WPF (WebView2)**, **.NET MAUI** (WebView / HybridWebView)
8
+ * or **Flutter** (webview_flutter / flutter_inappwebview): the native side
9
+ * sends "reduce motion", light / dark / high-contrast theme and accent color;
10
+ * the page applies them to every `<usa-*>` component.
11
+ *
12
+ * Protocol (JSON, both directions):
13
+ * - native → web `{ "type": "usa:settings", "reducedMotion": true, "theme": "dark", "accent": "#0078d4", "sensitivity": "gentle" }`
14
+ * - web → native `{ "type": "usa:ready", "version": 1 }` on connect, `{ "type": "usa:request-settings" }`
15
+ *
16
+ * Hosts that can only run script call `window.usaNative.apply({...})`.
17
+ * Samples: examples/native/{winui3,maui,flutter}.
18
+ */
19
+ const BRIDGE_PROTOCOL_VERSION = 1;
20
+ const win = () => (typeof window === 'undefined' ? null : window);
21
+ /** Which native shell (if any) hosts this page. */
22
+ function detectNativeHost(channel = 'UsaBridge') {
23
+ const w = win();
24
+ if (!w)
25
+ return 'browser';
26
+ if (w.chrome?.webview?.postMessage)
27
+ return 'webview2';
28
+ if (w.HybridWebView?.SendRawMessage || w.HybridWebView?.SendRawMessageToDotNet || /\bMAUI\b/i.test(w.navigator?.userAgent || ''))
29
+ return 'maui';
30
+ if (w.flutter_inappwebview?.callHandler || w[channel]?.postMessage)
31
+ return 'flutter';
32
+ if (w.__TAURI__ || w.__TAURI_INTERNALS__)
33
+ return 'tauri';
34
+ if (w.process?.versions?.electron || /Electron\//.test(w.navigator?.userAgent || ''))
35
+ return 'electron';
36
+ return 'browser';
37
+ }
38
+ /** Send a JSON message to the native host (no-op in a plain browser). Returns whether it was sent. */
39
+ function postToNative(message, channel = 'UsaBridge') {
40
+ const w = win();
41
+ if (!w)
42
+ return false;
43
+ const json = JSON.stringify(message);
44
+ try {
45
+ if (w.chrome?.webview?.postMessage)
46
+ return w.chrome.webview.postMessage(message), true;
47
+ if (w.HybridWebView?.SendRawMessage)
48
+ return w.HybridWebView.SendRawMessage(json), true;
49
+ if (w.HybridWebView?.SendRawMessageToDotNet)
50
+ return w.HybridWebView.SendRawMessageToDotNet(json), true;
51
+ if (w.flutter_inappwebview?.callHandler)
52
+ return w.flutter_inappwebview.callHandler(channel, json), true;
53
+ if (w[channel]?.postMessage)
54
+ return w[channel].postMessage(json), true;
55
+ }
56
+ catch {
57
+ /* host went away */
58
+ }
59
+ return false;
60
+ }
61
+ const THEMES = ['light', 'dark', 'high-contrast'];
62
+ const COLOR = /^(#[0-9a-f]{3,8}|rgba?\([\d\s.,%]+\)|hsla?\([\d\s.,%deg]+\))$/i;
63
+ /** Validate an incoming message (string or object); unknown fields are dropped. */
64
+ function parseNativeSettings(data) {
65
+ let d = data;
66
+ if (typeof d === 'string') {
67
+ try {
68
+ d = JSON.parse(d);
69
+ }
70
+ catch {
71
+ return null;
72
+ }
73
+ }
74
+ if (!d || typeof d !== 'object' || d.type !== 'usa:settings')
75
+ return null;
76
+ const out = {};
77
+ if (typeof d.reducedMotion === 'boolean')
78
+ out.reducedMotion = d.reducedMotion;
79
+ if (THEMES.includes(d.theme))
80
+ out.theme = d.theme;
81
+ if (typeof d.accent === 'string' && COLOR.test(d.accent.trim()))
82
+ out.accent = d.accent.trim();
83
+ if (MOTION_SENSITIVITY_LEVELS.includes(d.sensitivity))
84
+ out.sensitivity = d.sensitivity;
85
+ return out;
86
+ }
87
+ /**
88
+ * Apply native settings: reduce motion → `configureComponents({ reducedMotion: 'reduce' })`
89
+ * (`false` → follow the media query again); theme → `data-theme`, `data-usa-contrast`
90
+ * and `color-scheme`; accent → `--usa-accent`; sensitivity → `motionSensitivity`.
91
+ */
92
+ function applyNativeSettings(s, root) {
93
+ if (s.reducedMotion !== undefined)
94
+ configureComponents({ reducedMotion: s.reducedMotion ? 'reduce' : 'user' });
95
+ if (s.sensitivity)
96
+ configureComponents({ motionSensitivity: s.sensitivity });
97
+ const el = root || (typeof document !== 'undefined' ? document.documentElement : null);
98
+ if (!el)
99
+ return;
100
+ if (s.theme) {
101
+ el.setAttribute('data-theme', s.theme === 'high-contrast' ? 'dark' : s.theme);
102
+ el.toggleAttribute('data-usa-contrast', s.theme === 'high-contrast');
103
+ el.style.colorScheme = s.theme === 'light' ? 'light' : 'dark';
104
+ }
105
+ if (s.accent)
106
+ el.style.setProperty('--usa-accent', s.accent);
107
+ if (typeof document !== 'undefined')
108
+ document.dispatchEvent(new CustomEvent('usa:native-settings', { detail: s }));
109
+ }
110
+ /**
111
+ * Connect to the native shell: listens for `usa:settings` messages
112
+ * (WebView2 `chrome.webview` messages, `window.postMessage`, or
113
+ * `window.usaNative.apply()`), applies them, then announces `usa:ready` and
114
+ * asks for the current settings. Returns `{ host, disconnect }`.
115
+ */
116
+ function connectNativeShell(options = {}) {
117
+ const w = win();
118
+ const channel = options.channel || 'UsaBridge';
119
+ const host = detectNativeHost(channel);
120
+ if (!w)
121
+ return { host, disconnect: () => undefined };
122
+ const handle = (data) => {
123
+ const s = parseNativeSettings(data);
124
+ if (!s)
125
+ return;
126
+ applyNativeSettings(s, options.root);
127
+ options.onSettings?.(s, host);
128
+ };
129
+ const onMessage = (e) => handle(e.data);
130
+ w.chrome?.webview?.addEventListener?.('message', onMessage);
131
+ w.addEventListener?.('message', onMessage);
132
+ const prev = w.usaNative;
133
+ w.usaNative = { apply: (s) => handle({ ...s, type: 'usa:settings' }), version: BRIDGE_PROTOCOL_VERSION, host };
134
+ postToNative({ type: 'usa:ready', version: BRIDGE_PROTOCOL_VERSION }, channel);
135
+ postToNative({ type: 'usa:request-settings' }, channel);
136
+ return {
137
+ host,
138
+ disconnect: () => {
139
+ w.chrome?.webview?.removeEventListener?.('message', onMessage);
140
+ w.removeEventListener?.('message', onMessage);
141
+ w.usaNative = prev;
142
+ },
143
+ };
144
+ }
145
+
146
+ export { BRIDGE_PROTOCOL_VERSION, applyNativeSettings, connectNativeShell, detectNativeHost, parseNativeSettings, postToNative };
147
+ //# sourceMappingURL=bridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge.js","sources":["../../src/components/bridge/index.ts"],"sourcesContent":["/**\n * use-scroll-animate/components/bridge — native shell bridges (4.7).\n *\n * Keeps the web UI in sync with the host app's system settings when it runs\n * inside **WinUI 3 / WPF (WebView2)**, **.NET MAUI** (WebView / HybridWebView)\n * or **Flutter** (webview_flutter / flutter_inappwebview): the native side\n * sends \"reduce motion\", light / dark / high-contrast theme and accent color;\n * the page applies them to every `<usa-*>` component.\n *\n * Protocol (JSON, both directions):\n * - native → web `{ \"type\": \"usa:settings\", \"reducedMotion\": true, \"theme\": \"dark\", \"accent\": \"#0078d4\", \"sensitivity\": \"gentle\" }`\n * - web → native `{ \"type\": \"usa:ready\", \"version\": 1 }` on connect, `{ \"type\": \"usa:request-settings\" }`\n *\n * Hosts that can only run script call `window.usaNative.apply({...})`.\n * Samples: examples/native/{winui3,maui,flutter}.\n */\nimport { configureComponents, MOTION_SENSITIVITY_LEVELS, type MotionSensitivity } from '../base';\n\nexport type NativeHost = 'webview2' | 'maui' | 'flutter' | 'electron' | 'tauri' | 'browser';\nexport type NativeTheme = 'light' | 'dark' | 'high-contrast';\n\nexport interface NativeSettings {\n reducedMotion?: boolean;\n theme?: NativeTheme;\n /** CSS color (`#0078d4`, `rgb(…)`). */\n accent?: string;\n /** Optional finer level (4.4). */\n sensitivity?: MotionSensitivity;\n}\n\nexport interface NativeShellOptions {\n /** Element that gets `data-theme` / `color-scheme` / `--usa-accent` (default `<html>`). */\n root?: HTMLElement;\n /** Flutter JavaScriptChannel name (default `UsaBridge`). */\n channel?: string;\n /** Called after settings are applied. */\n onSettings?: (settings: NativeSettings, host: NativeHost) => void;\n}\n\nexport const BRIDGE_PROTOCOL_VERSION = 1;\n\ntype W = Record<string, any>;\nconst win = (): W | null => (typeof window === 'undefined' ? null : (window as unknown as W));\n\n/** Which native shell (if any) hosts this page. */\nexport function detectNativeHost(channel = 'UsaBridge'): NativeHost {\n const w = win();\n if (!w) return 'browser';\n if (w.chrome?.webview?.postMessage) return 'webview2';\n if (w.HybridWebView?.SendRawMessage || w.HybridWebView?.SendRawMessageToDotNet || /\\bMAUI\\b/i.test(w.navigator?.userAgent || '')) return 'maui';\n if (w.flutter_inappwebview?.callHandler || w[channel]?.postMessage) return 'flutter';\n if (w.__TAURI__ || w.__TAURI_INTERNALS__) return 'tauri';\n if (w.process?.versions?.electron || /Electron\\//.test(w.navigator?.userAgent || '')) return 'electron';\n return 'browser';\n}\n\n/** Send a JSON message to the native host (no-op in a plain browser). Returns whether it was sent. */\nexport function postToNative(message: Record<string, unknown>, channel = 'UsaBridge'): boolean {\n const w = win();\n if (!w) return false;\n const json = JSON.stringify(message);\n try {\n if (w.chrome?.webview?.postMessage) return w.chrome.webview.postMessage(message), true;\n if (w.HybridWebView?.SendRawMessage) return w.HybridWebView.SendRawMessage(json), true;\n if (w.HybridWebView?.SendRawMessageToDotNet) return w.HybridWebView.SendRawMessageToDotNet(json), true;\n if (w.flutter_inappwebview?.callHandler) return w.flutter_inappwebview.callHandler(channel, json), true;\n if (w[channel]?.postMessage) return w[channel].postMessage(json), true;\n } catch {\n /* host went away */\n }\n return false;\n}\n\nconst THEMES: NativeTheme[] = ['light', 'dark', 'high-contrast'];\nconst COLOR = /^(#[0-9a-f]{3,8}|rgba?\\([\\d\\s.,%]+\\)|hsla?\\([\\d\\s.,%deg]+\\))$/i;\n\n/** Validate an incoming message (string or object); unknown fields are dropped. */\nexport function parseNativeSettings(data: unknown): NativeSettings | null {\n let d: any = data;\n if (typeof d === 'string') {\n try {\n d = JSON.parse(d);\n } catch {\n return null;\n }\n }\n if (!d || typeof d !== 'object' || d.type !== 'usa:settings') return null;\n const out: NativeSettings = {};\n if (typeof d.reducedMotion === 'boolean') out.reducedMotion = d.reducedMotion;\n if (THEMES.includes(d.theme)) out.theme = d.theme;\n if (typeof d.accent === 'string' && COLOR.test(d.accent.trim())) out.accent = d.accent.trim();\n if (MOTION_SENSITIVITY_LEVELS.includes(d.sensitivity)) out.sensitivity = d.sensitivity;\n return out;\n}\n\n/**\n * Apply native settings: reduce motion → `configureComponents({ reducedMotion: 'reduce' })`\n * (`false` → follow the media query again); theme → `data-theme`, `data-usa-contrast`\n * and `color-scheme`; accent → `--usa-accent`; sensitivity → `motionSensitivity`.\n */\nexport function applyNativeSettings(s: NativeSettings, root?: HTMLElement): void {\n if (s.reducedMotion !== undefined) configureComponents({ reducedMotion: s.reducedMotion ? 'reduce' : 'user' });\n if (s.sensitivity) configureComponents({ motionSensitivity: s.sensitivity });\n const el = root || (typeof document !== 'undefined' ? document.documentElement : null);\n if (!el) return;\n if (s.theme) {\n el.setAttribute('data-theme', s.theme === 'high-contrast' ? 'dark' : s.theme);\n el.toggleAttribute('data-usa-contrast', s.theme === 'high-contrast');\n el.style.colorScheme = s.theme === 'light' ? 'light' : 'dark';\n }\n if (s.accent) el.style.setProperty('--usa-accent', s.accent);\n if (typeof document !== 'undefined') document.dispatchEvent(new CustomEvent('usa:native-settings', { detail: s }));\n}\n\n/**\n * Connect to the native shell: listens for `usa:settings` messages\n * (WebView2 `chrome.webview` messages, `window.postMessage`, or\n * `window.usaNative.apply()`), applies them, then announces `usa:ready` and\n * asks for the current settings. Returns `{ host, disconnect }`.\n */\nexport function connectNativeShell(options: NativeShellOptions = {}): { host: NativeHost; disconnect: () => void } {\n const w = win();\n const channel = options.channel || 'UsaBridge';\n const host = detectNativeHost(channel);\n if (!w) return { host, disconnect: () => undefined };\n const handle = (data: unknown) => {\n const s = parseNativeSettings(data);\n if (!s) return;\n applyNativeSettings(s, options.root);\n options.onSettings?.(s, host);\n };\n const onMessage = (e: MessageEvent) => handle(e.data);\n w.chrome?.webview?.addEventListener?.('message', onMessage);\n w.addEventListener?.('message', onMessage);\n const prev = w.usaNative;\n w.usaNative = { apply: (s: NativeSettings) => handle({ ...s, type: 'usa:settings' }), version: BRIDGE_PROTOCOL_VERSION, host };\n postToNative({ type: 'usa:ready', version: BRIDGE_PROTOCOL_VERSION }, channel);\n postToNative({ type: 'usa:request-settings' }, channel);\n return {\n host,\n disconnect: () => {\n w.chrome?.webview?.removeEventListener?.('message', onMessage);\n w.removeEventListener?.('message', onMessage);\n w.usaNative = prev;\n },\n };\n}\n"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ declare const COMPONENT_CATEGORIES: {
14
14
  readonly timeline: readonly ["usa-timeline"];
15
15
  readonly gesture: readonly ["usa-swipeable", "usa-pinch-zoom"];
16
16
  readonly svg: readonly ["usa-draw", "usa-morph", "usa-mask-reveal", "usa-anim-icon"];
17
- readonly webgl: readonly ["usa-shader", "usa-distort", "usa-liquid"];
17
+ readonly webgl: readonly ["usa-shader", "usa-distort", "usa-liquid", "usa-post-fx"];
18
18
  readonly depth: readonly ["usa-cube", "usa-depth"];
19
19
  readonly layout: readonly ["usa-auto-animate", "usa-masonry"];
20
20
  readonly packs: readonly ["usa-pack"];
@@ -14,7 +14,7 @@ declare const COMPONENT_CATEGORIES: {
14
14
  readonly timeline: readonly ["usa-timeline"];
15
15
  readonly gesture: readonly ["usa-swipeable", "usa-pinch-zoom"];
16
16
  readonly svg: readonly ["usa-draw", "usa-morph", "usa-mask-reveal", "usa-anim-icon"];
17
- readonly webgl: readonly ["usa-shader", "usa-distort", "usa-liquid"];
17
+ readonly webgl: readonly ["usa-shader", "usa-distort", "usa-liquid", "usa-post-fx"];
18
18
  readonly depth: readonly ["usa-cube", "usa-depth"];
19
19
  readonly layout: readonly ["usa-auto-animate", "usa-masonry"];
20
20
  readonly packs: readonly ["usa-pack"];
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var indexTags = require('../chunks/index-tags-BQh_uGqH.cjs');
3
+ var indexTags = require('../chunks/index-tags-CIRY2KnU.cjs');
4
4
 
5
5
  /**
6
6
  * use-scroll-animate/components/lazy — lazy, per-category registration (v2.9).
@@ -14,7 +14,7 @@ declare const COMPONENT_CATEGORIES: {
14
14
  readonly timeline: readonly ["usa-timeline"];
15
15
  readonly gesture: readonly ["usa-swipeable", "usa-pinch-zoom"];
16
16
  readonly svg: readonly ["usa-draw", "usa-morph", "usa-mask-reveal", "usa-anim-icon"];
17
- readonly webgl: readonly ["usa-shader", "usa-distort", "usa-liquid"];
17
+ readonly webgl: readonly ["usa-shader", "usa-distort", "usa-liquid", "usa-post-fx"];
18
18
  readonly depth: readonly ["usa-cube", "usa-depth"];
19
19
  readonly layout: readonly ["usa-auto-animate", "usa-masonry"];
20
20
  readonly packs: readonly ["usa-pack"];
@@ -14,7 +14,7 @@ declare const COMPONENT_CATEGORIES: {
14
14
  readonly timeline: readonly ["usa-timeline"];
15
15
  readonly gesture: readonly ["usa-swipeable", "usa-pinch-zoom"];
16
16
  readonly svg: readonly ["usa-draw", "usa-morph", "usa-mask-reveal", "usa-anim-icon"];
17
- readonly webgl: readonly ["usa-shader", "usa-distort", "usa-liquid"];
17
+ readonly webgl: readonly ["usa-shader", "usa-distort", "usa-liquid", "usa-post-fx"];
18
18
  readonly depth: readonly ["usa-cube", "usa-depth"];
19
19
  readonly layout: readonly ["usa-auto-animate", "usa-masonry"];
20
20
  readonly packs: readonly ["usa-pack"];
@@ -1,4 +1,4 @@
1
- import { C as COMPONENT_CATEGORIES } from '../chunks/index-tags-43Xtd01A.js';
1
+ import { C as COMPONENT_CATEGORIES } from '../chunks/index-tags-Dh8nwXqw.js';
2
2
 
3
3
  /**
4
4
  * use-scroll-animate/components/lazy — lazy, per-category registration (v2.9).