@voltro/web 0.52.0 → 0.54.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.
@@ -5,7 +5,7 @@ property of its respective copyright holders and is used under the terms of
5
5
  its license. This file is provided for attribution; it grants no rights in
6
6
  @voltro/web itself, which is proprietary (see LICENSE).
7
7
 
8
- Generated from the resolved runtime dependency closure (6 packages).
8
+ Generated from the resolved runtime dependency closure (16 packages).
9
9
 
10
10
  ---
11
11
 
@@ -37,6 +37,230 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
37
37
  SOFTWARE.
38
38
  ```
39
39
 
40
+ ## @standard-schema/spec@1.1.0
41
+
42
+ License: MIT
43
+
44
+ ```
45
+ MIT License
46
+
47
+ Copyright (c) 2024 Colin McDonnell
48
+
49
+ Permission is hereby granted, free of charge, to any person obtaining a copy
50
+ of this software and associated documentation files (the "Software"), to deal
51
+ in the Software without restriction, including without limitation the rights
52
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
53
+ copies of the Software, and to permit persons to whom the Software is
54
+ furnished to do so, subject to the following conditions:
55
+
56
+ The above copyright notice and this permission notice shall be included in all
57
+ copies or substantial portions of the Software.
58
+
59
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
60
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
61
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
62
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
63
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
64
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
65
+ SOFTWARE.
66
+ ```
67
+
68
+ ## @tanstack/devtools-event-client@0.4.4
69
+
70
+ License: MIT
71
+
72
+ ```
73
+ MIT License
74
+
75
+ Copyright (c) 2025 TanStack
76
+
77
+ Permission is hereby granted, free of charge, to any person obtaining a copy
78
+ of this software and associated documentation files (the "Software"), to deal
79
+ in the Software without restriction, including without limitation the rights
80
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
81
+ copies of the Software, and to permit persons to whom the Software is
82
+ furnished to do so, subject to the following conditions:
83
+
84
+ The above copyright notice and this permission notice shall be included in all
85
+ copies or substantial portions of the Software.
86
+
87
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
88
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
89
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
90
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
91
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
92
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
93
+ SOFTWARE.
94
+ ```
95
+
96
+ ## @tanstack/form-core@1.33.5
97
+
98
+ License: MIT
99
+
100
+ ```
101
+ MIT License
102
+
103
+ Copyright (c) 2021-present Tanner Linsley
104
+
105
+ Permission is hereby granted, free of charge, to any person obtaining a copy
106
+ of this software and associated documentation files (the "Software"), to deal
107
+ in the Software without restriction, including without limitation the rights
108
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
109
+ copies of the Software, and to permit persons to whom the Software is
110
+ furnished to do so, subject to the following conditions:
111
+
112
+ The above copyright notice and this permission notice shall be included in all
113
+ copies or substantial portions of the Software.
114
+
115
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
116
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
117
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
118
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
119
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
120
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
121
+ SOFTWARE.
122
+ ```
123
+
124
+ ## @tanstack/pacer-lite@0.1.1
125
+
126
+ License: MIT
127
+
128
+ ```
129
+ MIT License
130
+
131
+ Copyright (c) 2025 Tanner Linsley
132
+
133
+ Permission is hereby granted, free of charge, to any person obtaining a copy
134
+ of this software and associated documentation files (the "Software"), to deal
135
+ in the Software without restriction, including without limitation the rights
136
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
137
+ copies of the Software, and to permit persons to whom the Software is
138
+ furnished to do so, subject to the following conditions:
139
+
140
+ The above copyright notice and this permission notice shall be included in all
141
+ copies or substantial portions of the Software.
142
+
143
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
144
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
145
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
146
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
147
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
148
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
149
+ SOFTWARE.
150
+ ```
151
+
152
+ ## @tanstack/react-store@0.11.1
153
+
154
+ License: MIT
155
+
156
+ ```
157
+ MIT License
158
+
159
+ Copyright (c) 2021 Tanner Linsley
160
+
161
+ Permission is hereby granted, free of charge, to any person obtaining a copy
162
+ of this software and associated documentation files (the "Software"), to deal
163
+ in the Software without restriction, including without limitation the rights
164
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
165
+ copies of the Software, and to permit persons to whom the Software is
166
+ furnished to do so, subject to the following conditions:
167
+
168
+ The above copyright notice and this permission notice shall be included in all
169
+ copies or substantial portions of the Software.
170
+
171
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
172
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
173
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
174
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
175
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
176
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
177
+ SOFTWARE.
178
+ ```
179
+
180
+ ## @tanstack/store@0.11.1
181
+
182
+ License: MIT
183
+
184
+ ```
185
+ MIT License
186
+
187
+ Copyright (c) 2021 Tanner Linsley
188
+
189
+ Permission is hereby granted, free of charge, to any person obtaining a copy
190
+ of this software and associated documentation files (the "Software"), to deal
191
+ in the Software without restriction, including without limitation the rights
192
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
193
+ copies of the Software, and to permit persons to whom the Software is
194
+ furnished to do so, subject to the following conditions:
195
+
196
+ The above copyright notice and this permission notice shall be included in all
197
+ copies or substantial portions of the Software.
198
+
199
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
200
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
201
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
202
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
203
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
204
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
205
+ SOFTWARE.
206
+ ```
207
+
208
+ ## effect@3.22.0
209
+
210
+ License: MIT
211
+
212
+ ```
213
+ MIT License
214
+
215
+ Copyright (c) 2023 Effectful Technologies Inc
216
+
217
+ Permission is hereby granted, free of charge, to any person obtaining a copy
218
+ of this software and associated documentation files (the "Software"), to deal
219
+ in the Software without restriction, including without limitation the rights
220
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
221
+ copies of the Software, and to permit persons to whom the Software is
222
+ furnished to do so, subject to the following conditions:
223
+
224
+ The above copyright notice and this permission notice shall be included in all
225
+ copies or substantial portions of the Software.
226
+
227
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
228
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
229
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
230
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
231
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
232
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
233
+ SOFTWARE.
234
+ ```
235
+
236
+ ## fast-check@3.23.2
237
+
238
+ License: MIT
239
+
240
+ ```
241
+ MIT License
242
+
243
+ Copyright (c) 2017 Nicolas DUBIEN
244
+
245
+ Permission is hereby granted, free of charge, to any person obtaining a copy
246
+ of this software and associated documentation files (the "Software"), to deal
247
+ in the Software without restriction, including without limitation the rights
248
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
249
+ copies of the Software, and to permit persons to whom the Software is
250
+ furnished to do so, subject to the following conditions:
251
+
252
+ The above copyright notice and this permission notice shall be included in all
253
+ copies or substantial portions of the Software.
254
+
255
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
256
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
257
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
258
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
259
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
260
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
261
+ SOFTWARE.
262
+ ```
263
+
40
264
  ## jose@6.2.8
41
265
 
42
266
  License: MIT
@@ -93,6 +317,34 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
93
317
  SOFTWARE.
94
318
  ```
95
319
 
320
+ ## pure-rand@6.1.0
321
+
322
+ License: MIT
323
+
324
+ ```
325
+ MIT License
326
+
327
+ Copyright (c) 2018 Nicolas DUBIEN
328
+
329
+ Permission is hereby granted, free of charge, to any person obtaining a copy
330
+ of this software and associated documentation files (the "Software"), to deal
331
+ in the Software without restriction, including without limitation the rights
332
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
333
+ copies of the Software, and to permit persons to whom the Software is
334
+ furnished to do so, subject to the following conditions:
335
+
336
+ The above copyright notice and this permission notice shall be included in all
337
+ copies or substantial portions of the Software.
338
+
339
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
340
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
341
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
342
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
343
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
344
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
345
+ SOFTWARE.
346
+ ```
347
+
96
348
  ## typeid-js@1.2.0
97
349
 
98
350
  License: Apache-2.0
@@ -329,6 +581,34 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
329
581
  SOFTWARE.
330
582
  ```
331
583
 
584
+ ## use-sync-external-store@1.6.0
585
+
586
+ License: MIT
587
+
588
+ ```
589
+ MIT License
590
+
591
+ Copyright (c) Meta Platforms, Inc. and affiliates.
592
+
593
+ Permission is hereby granted, free of charge, to any person obtaining a copy
594
+ of this software and associated documentation files (the "Software"), to deal
595
+ in the Software without restriction, including without limitation the rights
596
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
597
+ copies of the Software, and to permit persons to whom the Software is
598
+ furnished to do so, subject to the following conditions:
599
+
600
+ The above copyright notice and this permission notice shall be included in all
601
+ copies or substantial portions of the Software.
602
+
603
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
604
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
605
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
606
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
607
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
608
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
609
+ SOFTWARE.
610
+ ```
611
+
332
612
  ## uuid@11.1.1
333
613
 
334
614
  License: MIT
package/dist/index.d.ts CHANGED
@@ -376,7 +376,7 @@ export declare type HydrateStrategy =
376
376
  * instead of hydrating. Astro's `client:only`. */
377
377
  | 'only';
378
378
 
379
- declare const Image_2: ({ src, alt, width, height, fill, sizes, priority, loader, placeholder, blurDataURL, style, ...rest }: ImageProps) => ReactElement;
379
+ declare const Image_2: ({ src, alt, width, height, fill, sizes, priority, loader, quality, placeholder, blurDataURL, style, ...rest }: ImageProps) => ReactElement;
380
380
  export { Image_2 as Image }
381
381
 
382
382
  /** App-level default loader for every `<Image>` below it. A per-image
@@ -388,14 +388,16 @@ export declare const ImageConfigProvider: ({ loader, children, }: {
388
388
 
389
389
  /** Maps a logical src + a target pixel width to a concrete URL. The hook
390
390
  * for on-the-fly resizing — e.g. `({src,width}) => \`${src}?w=${width}\``
391
- * against an image CDN or the storage serve endpoint. */
391
+ * against an image CDN or the storage serve endpoint. `quality` is set when
392
+ * the `<Image quality>` prop is — forward it if your CDN supports it. */
392
393
  export declare type ImageLoader = (params: {
393
394
  readonly src: string;
394
395
  readonly width: number;
396
+ readonly quality?: number;
395
397
  }) => string;
396
398
 
397
399
  export declare interface ImageProps extends Omit<ImgHTMLAttributes<HTMLImageElement>, 'src' | 'width' | 'height' | 'loading' | 'srcSet'> {
398
- readonly src: string;
400
+ readonly src: string | OptimizedImageAsset;
399
401
  /** Required — accessibility. Use `alt=""` for purely decorative images. */
400
402
  readonly alt: string;
401
403
  /** Intrinsic width in px. Required unless `fill`. */
@@ -412,7 +414,14 @@ export declare interface ImageProps extends Omit<ImgHTMLAttributes<HTMLImageElem
412
414
  readonly priority?: boolean;
413
415
  /** Per-image URL loader (overrides the ImageConfigProvider default). */
414
416
  readonly loader?: ImageLoader;
415
- /** `'blur'` paints `blurDataURL` behind the image until it loads. */
417
+ /** Encode quality hint 1–100 forwarded to the URL loader (a hero wants 90,
418
+ * a thumbnail 50). For a build-optimized `?image` asset the quality was
419
+ * baked at build time (`images.quality` in app.config.ts) — this prop
420
+ * applies to loader/CDN-resolved URLs. */
421
+ readonly quality?: number;
422
+ /** `'blur'` paints `blurDataURL` behind the image until it loads. A
423
+ * build-optimized asset carries its own blur and defaults to `'blur'`;
424
+ * pass `'empty'` to opt out. */
416
425
  readonly placeholder?: 'blur' | 'empty';
417
426
  readonly blurDataURL?: string;
418
427
  }
@@ -676,6 +685,21 @@ export declare type LoaderFn<T = unknown, Procedures = unknown> = (ctx: LoaderCo
676
685
  */
677
686
  export declare type LoaderQuery<Procedures = unknown> = Procedures extends ProcedureTypeMap ? <Tag extends keyof Procedures & string>(tag: Tag, ...input: Record<string, never> extends ProcedureInput<Procedures[Tag]> ? [input?: ProcedureInput<Procedures[Tag]>] : [input: ProcedureInput<Procedures[Tag]>]) => Promise<ProcedureOutput<Procedures[Tag]>> : <T = unknown>(tag: string, input?: Record<string, unknown>) => Promise<T>;
678
687
 
688
+ /**
689
+ * Reference a family declared in `app.config.ts` `fonts:`.
690
+ *
691
+ * const inter = localFont('Inter')
692
+ * <main style={{ fontFamily: inter.fontFamily }}>…</main>
693
+ */
694
+ export declare const localFont: (family: string) => LocalFontHandle;
695
+
696
+ export declare interface LocalFontHandle {
697
+ /** The CSS custom property the shell defines: `--font-<slug>`. */
698
+ readonly variable: string;
699
+ /** Ready-to-use `font-family` value: `var(--font-<slug>)`. */
700
+ readonly fontFamily: string;
701
+ }
702
+
679
703
  /** The URL path a logical page takes for a given locale under URL-prefix
680
704
  * routing: the default locale keeps the bare path, every other locale gets a
681
705
  * `/<locale>` prefix. `/about` @ `de` → `/de/about`; @ the default → `/about`. */
@@ -788,6 +812,31 @@ export declare class NotFoundError extends Error {
788
812
 
789
813
  export declare const noticeIslandsShipTheFullBundle: (isDev: boolean) => void;
790
814
 
815
+ /**
816
+ * A build-optimized static asset — what a `?image` import resolves to:
817
+ *
818
+ * import hero from './hero.jpg?image'
819
+ * <Image src={hero} alt="…" />
820
+ *
821
+ * The CLI's sharp pipeline produced the variants at build time (on demand in
822
+ * dev); `<Image>` renders them as a `<picture>` with one `<source>` per
823
+ * modern format and infers width/height/blur — the CLS-required intrinsic
824
+ * size stops being a hand-written prop for imported assets.
825
+ */
826
+ export declare interface OptimizedImageAsset {
827
+ readonly src: string;
828
+ readonly width: number;
829
+ readonly height: number;
830
+ readonly blurDataURL: string;
831
+ /** Fallback-format srcSet (jpeg/png). */
832
+ readonly srcSet: string;
833
+ /** Modern-format sources, in preference order (avif before webp). */
834
+ readonly sources: ReadonlyArray<{
835
+ readonly type: string;
836
+ readonly srcSet: string;
837
+ }>;
838
+ }
839
+
791
840
  export declare const PAGE_SLOT_ATTR = "data-voltro-page-slot";
792
841
 
793
842
  export declare interface PageDescriptor<TLoaderData = unknown> {
@@ -840,6 +889,19 @@ export declare interface PageDescriptor<TLoaderData = unknown> {
840
889
  * set this to `'islands'` so only marked interactive zones
841
890
  * hydrate; the rest stays pure static HTML. */
842
891
  readonly interactive?: InteractiveMode | undefined;
892
+ /**
893
+ * Intercepting route (modal-with-URL): when a SOFT navigation reaches this
894
+ * page FROM one of the `from` route patterns, the page renders as an
895
+ * OVERLAY above the still-mounted origin page instead of replacing it —
896
+ * URL changes, Back closes the overlay, a hard load of the same URL
897
+ * renders the page standalone. `from` is one or more route PATTERNS
898
+ * (`'/photos'`, `'/albums/[id]'`); a soft navigation from any other route
899
+ * renders standalone. Full-hydration pages only (`interactive: 'full'`) —
900
+ * islands/none pages have no client router to intercept with.
901
+ */
902
+ readonly intercept?: {
903
+ readonly from: string | ReadonlyArray<string>;
904
+ } | undefined;
843
905
  }
844
906
 
845
907
  export declare interface PageMeta {
@@ -1010,6 +1072,9 @@ export declare type RenderMode = (typeof RENDER_MODES)[number];
1010
1072
 
1011
1073
  /* Excluded from this release type: renderRouterProviderTree */
1012
1074
 
1075
+ /** Test seam. */
1076
+ export declare const resetScriptRegistryForTest: () => void;
1077
+
1013
1078
  /**
1014
1079
  * Decide whether a click on (or inside) an anchor should be handled by the
1015
1080
  * SPA router or left to the browser. Pure — no side effects, no
@@ -1136,6 +1201,40 @@ declare interface RouteSnapshot {
1136
1201
  readonly loaderData: unknown;
1137
1202
  }
1138
1203
 
1204
+ /**
1205
+ * Declarative third-party script. Renders NOTHING into the HTML — the tag is
1206
+ * injected client-side per `strategy`, deduplicated process-wide by `src`
1207
+ * (external) or `id` (inline). Behavior per `interactive` mode is decided,
1208
+ * not accidental: on an `interactive: 'none'` page the app bundle never runs,
1209
+ * so a `<Script>` never fires (the build warns by name); on an islands page
1210
+ * only `<Script>` INSIDE an island ever mounts — a `visible` island's script
1211
+ * loads when the island hydrates (the build warns about `<Script>` in the
1212
+ * static part).
1213
+ */
1214
+ export declare const Script: ({ src, children, id, strategy, onLoad, onError, nonce, attributes, }: ScriptProps) => ReactElement | null;
1215
+
1216
+ export declare interface ScriptProps {
1217
+ /** External script URL. Exactly one of `src` / `children` is required. */
1218
+ readonly src?: string;
1219
+ /** Inline script body. Requires `id` (the dedupe key — inline code has no
1220
+ * src to key on). */
1221
+ readonly children?: string;
1222
+ /** Dedupe key for inline scripts; optional label for external ones. */
1223
+ readonly id?: string;
1224
+ /** `afterInteractive` (default): inject once this component mounts —
1225
+ * i.e. after hydration. `lazyOnload`: wait for browser idle. */
1226
+ readonly strategy?: 'afterInteractive' | 'lazyOnload';
1227
+ /** Fires when the script has executed — ALSO on a re-mount of the same
1228
+ * script, answered from the registry (the script itself is never
1229
+ * re-fetched or re-run). */
1230
+ readonly onLoad?: () => void;
1231
+ readonly onError?: (error: unknown) => void;
1232
+ /** CSP nonce. Absent → the document's nonce is propagated when one exists. */
1233
+ readonly nonce?: string;
1234
+ /** Extra attributes for the tag (`data-*`, `crossorigin`, …). */
1235
+ readonly attributes?: Readonly<Record<string, string>>;
1236
+ }
1237
+
1139
1238
  declare const SEARCH_PARAMS_BRAND: unique symbol;
1140
1239
 
1141
1240
  /** The next search-params value: either the params object directly, or an