@wordpress/interactivity-router 1.6.0 → 1.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.
- package/CHANGELOG.md +4 -0
- package/build/head.js +102 -0
- package/build/head.js.map +1 -0
- package/build/index.js +116 -23
- package/build/index.js.map +1 -1
- package/build-module/head.js +94 -0
- package/build-module/head.js.map +1 -0
- package/build-module/index.js +117 -22
- package/build-module/index.js.map +1 -1
- package/build-types/head.d.ts +3 -0
- package/build-types/head.d.ts.map +1 -0
- package/build-types/index.d.ts +1 -2
- package/build-types/index.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/head.js +97 -0
- package/src/index.js +137 -25
- package/tsconfig.tsbuildinfo +1 -1
package/src/index.js
CHANGED
|
@@ -3,6 +3,11 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { store, privateApis, getConfig } from '@wordpress/interactivity';
|
|
5
5
|
|
|
6
|
+
/**
|
|
7
|
+
* Internal dependencies
|
|
8
|
+
*/
|
|
9
|
+
import { fetchHeadAssets, updateHead } from './head';
|
|
10
|
+
|
|
6
11
|
const {
|
|
7
12
|
directivePrefix,
|
|
8
13
|
getRegionRootFragment,
|
|
@@ -16,8 +21,13 @@ const {
|
|
|
16
21
|
'I acknowledge that using private APIs means my theme or plugin will inevitably break in the next version of WordPress.'
|
|
17
22
|
);
|
|
18
23
|
|
|
19
|
-
//
|
|
24
|
+
// Check if the navigation mode is full page or region based.
|
|
25
|
+
const navigationMode =
|
|
26
|
+
getConfig( 'core/router' ).navigationMode ?? 'regionBased';
|
|
27
|
+
|
|
28
|
+
// The cache of visited and prefetched pages, stylesheets and scripts.
|
|
20
29
|
const pages = new Map();
|
|
30
|
+
const headElements = new Map();
|
|
21
31
|
|
|
22
32
|
// Helper to remove domain and hash from the URL. We are only interesting in
|
|
23
33
|
// caching the path and the query.
|
|
@@ -31,7 +41,9 @@ const fetchPage = async ( url, { html } ) => {
|
|
|
31
41
|
try {
|
|
32
42
|
if ( ! html ) {
|
|
33
43
|
const res = await window.fetch( url );
|
|
34
|
-
if ( res.status !== 200 )
|
|
44
|
+
if ( res.status !== 200 ) {
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
35
47
|
html = await res.text();
|
|
36
48
|
}
|
|
37
49
|
const dom = new window.DOMParser().parseFromString( html, 'text/html' );
|
|
@@ -43,30 +55,53 @@ const fetchPage = async ( url, { html } ) => {
|
|
|
43
55
|
|
|
44
56
|
// Return an object with VDOM trees of those HTML regions marked with a
|
|
45
57
|
// `router-region` directive.
|
|
46
|
-
const regionsToVdom = ( dom, { vdom } = {} ) => {
|
|
58
|
+
const regionsToVdom = async ( dom, { vdom } = {} ) => {
|
|
47
59
|
const regions = {};
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
60
|
+
let head;
|
|
61
|
+
if ( process.env.IS_GUTENBERG_PLUGIN ) {
|
|
62
|
+
if ( navigationMode === 'fullPage' ) {
|
|
63
|
+
head = await fetchHeadAssets( dom, headElements );
|
|
64
|
+
regions.body = vdom
|
|
65
|
+
? vdom.get( document.body )
|
|
66
|
+
: toVdom( dom.body );
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
if ( navigationMode === 'regionBased' ) {
|
|
70
|
+
const attrName = `data-${ directivePrefix }-router-region`;
|
|
71
|
+
dom.querySelectorAll( `[${ attrName }]` ).forEach( ( region ) => {
|
|
72
|
+
const id = region.getAttribute( attrName );
|
|
73
|
+
regions[ id ] = vdom?.has( region )
|
|
74
|
+
? vdom.get( region )
|
|
75
|
+
: toVdom( region );
|
|
76
|
+
} );
|
|
77
|
+
}
|
|
55
78
|
const title = dom.querySelector( 'title' )?.innerText;
|
|
56
79
|
const initialData = parseInitialData( dom );
|
|
57
|
-
return { regions, title, initialData };
|
|
80
|
+
return { regions, head, title, initialData };
|
|
58
81
|
};
|
|
59
82
|
|
|
60
83
|
// Render all interactive regions contained in the given page.
|
|
61
84
|
const renderRegions = ( page ) => {
|
|
62
85
|
batch( () => {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
86
|
+
if ( process.env.IS_GUTENBERG_PLUGIN ) {
|
|
87
|
+
if ( navigationMode === 'fullPage' ) {
|
|
88
|
+
// Once this code is tested and more mature, the head should be updated for region based navigation as well.
|
|
89
|
+
updateHead( page.head );
|
|
90
|
+
const fragment = getRegionRootFragment( document.body );
|
|
91
|
+
render( page.regions.body, fragment );
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
if ( navigationMode === 'regionBased' ) {
|
|
95
|
+
populateInitialData( page.initialData );
|
|
96
|
+
const attrName = `data-${ directivePrefix }-router-region`;
|
|
97
|
+
document
|
|
98
|
+
.querySelectorAll( `[${ attrName }]` )
|
|
99
|
+
.forEach( ( region ) => {
|
|
100
|
+
const id = region.getAttribute( attrName );
|
|
101
|
+
const fragment = getRegionRootFragment( region );
|
|
102
|
+
render( page.regions[ id ], fragment );
|
|
103
|
+
} );
|
|
104
|
+
}
|
|
70
105
|
if ( page.title ) {
|
|
71
106
|
document.title = page.title;
|
|
72
107
|
}
|
|
@@ -102,12 +137,47 @@ window.addEventListener( 'popstate', async () => {
|
|
|
102
137
|
}
|
|
103
138
|
} );
|
|
104
139
|
|
|
105
|
-
//
|
|
140
|
+
// Initialize the router and cache the initial page using the initial vDOM.
|
|
141
|
+
// Once this code is tested and more mature, the head should be updated for region based navigation as well.
|
|
142
|
+
if ( process.env.IS_GUTENBERG_PLUGIN ) {
|
|
143
|
+
if ( navigationMode === 'fullPage' ) {
|
|
144
|
+
// Cache the scripts. Has to be called before fetching the assets.
|
|
145
|
+
[].map.call( document.querySelectorAll( 'script[src]' ), ( script ) => {
|
|
146
|
+
headElements.set( script.getAttribute( 'src' ), {
|
|
147
|
+
tag: script,
|
|
148
|
+
text: script.textContent,
|
|
149
|
+
} );
|
|
150
|
+
} );
|
|
151
|
+
await fetchHeadAssets( document, headElements );
|
|
152
|
+
}
|
|
153
|
+
}
|
|
106
154
|
pages.set(
|
|
107
155
|
getPagePath( window.location ),
|
|
108
156
|
Promise.resolve( regionsToVdom( document, { vdom: initialVdom } ) )
|
|
109
157
|
);
|
|
110
158
|
|
|
159
|
+
// Check if the link is valid for client-side navigation.
|
|
160
|
+
const isValidLink = ( ref ) =>
|
|
161
|
+
ref &&
|
|
162
|
+
ref instanceof window.HTMLAnchorElement &&
|
|
163
|
+
ref.href &&
|
|
164
|
+
( ! ref.target || ref.target === '_self' ) &&
|
|
165
|
+
ref.origin === window.location.origin &&
|
|
166
|
+
! ref.pathname.startsWith( '/wp-admin' ) &&
|
|
167
|
+
! ref.pathname.startsWith( '/wp-login.php' ) &&
|
|
168
|
+
! ref.getAttribute( 'href' ).startsWith( '#' ) &&
|
|
169
|
+
! new URL( ref.href ).searchParams.has( '_wpnonce' );
|
|
170
|
+
|
|
171
|
+
// Check if the event is valid for client-side navigation.
|
|
172
|
+
const isValidEvent = ( event ) =>
|
|
173
|
+
event &&
|
|
174
|
+
event.button === 0 && // Left clicks only.
|
|
175
|
+
! event.metaKey && // Open in new tab (Mac).
|
|
176
|
+
! event.ctrlKey && // Open in new tab (Windows).
|
|
177
|
+
! event.altKey && // Download.
|
|
178
|
+
! event.shiftKey &&
|
|
179
|
+
! event.defaultPrevented;
|
|
180
|
+
|
|
111
181
|
// Variable to store the current navigation.
|
|
112
182
|
let navigatingTo = '';
|
|
113
183
|
|
|
@@ -164,7 +234,9 @@ export const { state, actions } = store( 'core/router', {
|
|
|
164
234
|
|
|
165
235
|
// Don't update the navigation status immediately, wait 400 ms.
|
|
166
236
|
const loadingTimeout = setTimeout( () => {
|
|
167
|
-
if ( navigatingTo !== href )
|
|
237
|
+
if ( navigatingTo !== href ) {
|
|
238
|
+
return;
|
|
239
|
+
}
|
|
168
240
|
|
|
169
241
|
if ( loadingAnimation ) {
|
|
170
242
|
navigation.hasStarted = true;
|
|
@@ -186,14 +258,16 @@ export const { state, actions } = store( 'core/router', {
|
|
|
186
258
|
// Once the page is fetched, the destination URL could have changed
|
|
187
259
|
// (e.g., by clicking another link in the meantime). If so, bail
|
|
188
260
|
// out, and let the newer execution to update the HTML.
|
|
189
|
-
if ( navigatingTo !== href )
|
|
261
|
+
if ( navigatingTo !== href ) {
|
|
262
|
+
return;
|
|
263
|
+
}
|
|
190
264
|
|
|
191
265
|
if (
|
|
192
266
|
page &&
|
|
193
267
|
! page.initialData?.config?.[ 'core/router' ]
|
|
194
268
|
?.clientNavigationDisabled
|
|
195
269
|
) {
|
|
196
|
-
renderRegions( page );
|
|
270
|
+
yield renderRegions( page );
|
|
197
271
|
window.history[
|
|
198
272
|
options.replace ? 'replaceState' : 'pushState'
|
|
199
273
|
]( {}, '', href );
|
|
@@ -218,6 +292,12 @@ export const { state, actions } = store( 'core/router', {
|
|
|
218
292
|
? '\u00A0'
|
|
219
293
|
: '' );
|
|
220
294
|
}
|
|
295
|
+
|
|
296
|
+
// Scroll to the anchor if exits in the link.
|
|
297
|
+
const { hash } = new URL( href, window.location );
|
|
298
|
+
if ( hash ) {
|
|
299
|
+
document.querySelector( hash )?.scrollIntoView();
|
|
300
|
+
}
|
|
221
301
|
} else {
|
|
222
302
|
yield forcePageReload( href );
|
|
223
303
|
}
|
|
@@ -232,12 +312,13 @@ export const { state, actions } = store( 'core/router', {
|
|
|
232
312
|
* @param {string} url The page URL.
|
|
233
313
|
* @param {Object} [options] Options object.
|
|
234
314
|
* @param {boolean} [options.force] Force fetching the URL again.
|
|
235
|
-
* @param {string} [options.html] HTML string to be used instead of
|
|
236
|
-
* fetching the requested URL.
|
|
315
|
+
* @param {string} [options.html] HTML string to be used instead of fetching the requested URL.
|
|
237
316
|
*/
|
|
238
317
|
prefetch( url, options = {} ) {
|
|
239
318
|
const { clientNavigationDisabled } = getConfig();
|
|
240
|
-
if ( clientNavigationDisabled )
|
|
319
|
+
if ( clientNavigationDisabled ) {
|
|
320
|
+
return;
|
|
321
|
+
}
|
|
241
322
|
|
|
242
323
|
const pagePath = getPagePath( url );
|
|
243
324
|
if ( options.force || ! pages.has( pagePath ) ) {
|
|
@@ -246,3 +327,34 @@ export const { state, actions } = store( 'core/router', {
|
|
|
246
327
|
},
|
|
247
328
|
},
|
|
248
329
|
} );
|
|
330
|
+
|
|
331
|
+
// Add click and prefetch to all links.
|
|
332
|
+
if ( process.env.IS_GUTENBERG_PLUGIN ) {
|
|
333
|
+
if ( navigationMode === 'fullPage' ) {
|
|
334
|
+
// Navigate on click.
|
|
335
|
+
document.addEventListener(
|
|
336
|
+
'click',
|
|
337
|
+
function ( event ) {
|
|
338
|
+
const ref = event.target.closest( 'a' );
|
|
339
|
+
if ( isValidLink( ref ) && isValidEvent( event ) ) {
|
|
340
|
+
event.preventDefault();
|
|
341
|
+
actions.navigate( ref.href );
|
|
342
|
+
}
|
|
343
|
+
},
|
|
344
|
+
true
|
|
345
|
+
);
|
|
346
|
+
// Prefetch on hover.
|
|
347
|
+
document.addEventListener(
|
|
348
|
+
'mouseenter',
|
|
349
|
+
function ( event ) {
|
|
350
|
+
if ( event.target?.nodeName === 'A' ) {
|
|
351
|
+
const ref = event.target.closest( 'a' );
|
|
352
|
+
if ( isValidLink( ref ) && isValidEvent( event ) ) {
|
|
353
|
+
actions.prefetch( ref.href );
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
},
|
|
357
|
+
true
|
|
358
|
+
);
|
|
359
|
+
}
|
|
360
|
+
}
|
package/tsconfig.tsbuildinfo
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/typescript/lib/lib.es2023.d.ts","../../node_modules/typescript/lib/lib.esnext.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../node_modules/typescript/lib/lib.esnext.collection.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../node_modules/typescript/lib/lib.esnext.promise.d.ts","../../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../node_modules/typescript/lib/lib.esnext.object.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../interactivity/build-types/store.d.ts","../interactivity/node_modules/preact/src/jsx.d.ts","../interactivity/node_modules/preact/src/index.d.ts","../interactivity/build-types/hooks.d.ts","../interactivity/node_modules/preact/hooks/src/index.d.ts","../interactivity/build-types/utils.d.ts","../interactivity/build-types/index.d.ts","./src/index.js"],"fileInfos":[{"version":"824cb491a40f7e8fdeb56f1df5edf91b23f3e3ee6b4cde84d4a99be32338faee","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","1c0cdb8dc619bc549c3e5020643e7cf7ae7940058e8c7e5aefa5871b6d86f44b","886e50ef125efb7878f744e86908884c0133e7a6d9d80013f421b0cd8fb2af94",{"version":"87d693a4920d794a73384b3c779cadcb8548ac6945aa7a925832fe2418c9527a","affectsGlobalScope":true},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"b20fe0eca9a4e405f1a5ae24a2b3290b37cf7f21eba6cbe4fc3fab979237d4f3","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"8073890e29d2f46fdbc19b8d6d2eb9ea58db9a2052f8640af20baff9afbc8640","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"d8670852241d4c6e03f2b89d67497a4bbefe29ecaa5a444e2c11a9b05e6fccc6","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"08a58483392df5fcc1db57d782e87734f77ae9eab42516028acbfe46f29a3ef7","affectsGlobalScope":true},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"15b98a533864d324e5f57cd3cfc0579b231df58c1c0f6063ea0fcb13c3c74ff9","affectsGlobalScope":true},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"015dd576f48f013c90da4b64be6e93f948f3a7c8deba94cd11adcea68d135ca2","290ae21b816c4ed479be7a08a86d99afcc2d200028ecdcf437f1776dfc94ed68","5ff856251ae237dbc86c112d2ef1060eebda755c708a1361904abfbb6fc6ea96","d4c72f5952ab35e2da60dcfdd0e4b743eb358b8393b032a034a2f71dac1f3ec2","414c9c77766f65ad0b2f005f8cca243df26eebe8a07ee58520365c7df060d37e","8980392ab2d5f98ddcc25b1a257343c7c5d26d625735dbc21e47885fef44948a","e52b70bda56de06a28c06416f83d16375020082eea0afab3e3b266ad17af6e7a",{"version":"66519b914fe79f5d058f2ab082815664b759de071ffae69e7425c75b8a602adc","signature":"a9323b72027425cfd3602300bbf1645f8a554ea548917c6419f6ca353674f97c"}],"root":[76],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"checkJs":false,"composite":true,"declaration":true,"declarationDir":"./build-types","declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":false,"jsx":1,"module":99,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"rootDir":"./src","strict":false,"target":99},"fileIdsList":[[75],[71],[69,72,73,74],[73],[70]],"referencedMap":[[76,1],[72,2],[75,3],[74,4],[73,2],[71,5],[70,2]],"exportedModulesMap":[[72,2],[75,3],[74,4],[73,2],[71,5],[70,2]],"semanticDiagnosticsPerFile":[67,68,12,14,13,2,15,16,17,18,19,20,21,22,3,23,4,24,28,25,26,27,29,30,31,5,32,33,34,35,6,39,36,37,38,40,7,41,46,47,42,43,44,45,8,51,48,49,50,52,9,53,54,55,58,56,57,59,60,10,1,61,11,65,63,62,66,64,76,72,75,69,74,73,71,70],"latestChangedDtsFile":"./build-types/index.d.ts"},"version":"5.4.5"}
|
|
1
|
+
{"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/typescript/lib/lib.es2023.d.ts","../../node_modules/typescript/lib/lib.esnext.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../node_modules/typescript/lib/lib.esnext.collection.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../node_modules/typescript/lib/lib.esnext.promise.d.ts","../../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../node_modules/typescript/lib/lib.esnext.object.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","./src/head.js","../interactivity/build-types/store.d.ts","../interactivity/node_modules/preact/src/jsx.d.ts","../interactivity/node_modules/preact/src/index.d.ts","../interactivity/build-types/hooks.d.ts","../interactivity/node_modules/preact/hooks/src/index.d.ts","../interactivity/build-types/utils.d.ts","../interactivity/build-types/index.d.ts","./src/index.js"],"fileInfos":[{"version":"824cb491a40f7e8fdeb56f1df5edf91b23f3e3ee6b4cde84d4a99be32338faee","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","1c0cdb8dc619bc549c3e5020643e7cf7ae7940058e8c7e5aefa5871b6d86f44b","886e50ef125efb7878f744e86908884c0133e7a6d9d80013f421b0cd8fb2af94",{"version":"87d693a4920d794a73384b3c779cadcb8548ac6945aa7a925832fe2418c9527a","affectsGlobalScope":true},{"version":"76f838d5d49b65de83bc345c04aa54c62a3cfdb72a477dc0c0fce89a30596c30","affectsGlobalScope":true},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"b20fe0eca9a4e405f1a5ae24a2b3290b37cf7f21eba6cbe4fc3fab979237d4f3","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"8073890e29d2f46fdbc19b8d6d2eb9ea58db9a2052f8640af20baff9afbc8640","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true},{"version":"d8670852241d4c6e03f2b89d67497a4bbefe29ecaa5a444e2c11a9b05e6fccc6","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"08a58483392df5fcc1db57d782e87734f77ae9eab42516028acbfe46f29a3ef7","affectsGlobalScope":true},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"15b98a533864d324e5f57cd3cfc0579b231df58c1c0f6063ea0fcb13c3c74ff9","affectsGlobalScope":true},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},{"version":"1acf9e2cd64188744ba654da8654bc622ea51bd59618a09dc04437b3218ea20b","signature":"6ad0090f01b5a08707f0f01884c98cfd171b3b9f962720627bd748537686efc7"},"015dd576f48f013c90da4b64be6e93f948f3a7c8deba94cd11adcea68d135ca2","290ae21b816c4ed479be7a08a86d99afcc2d200028ecdcf437f1776dfc94ed68","5ff856251ae237dbc86c112d2ef1060eebda755c708a1361904abfbb6fc6ea96","2b7b5b3af50dc9b6d31a93da165274871d33d30c617961b4587648d3aa865df0","414c9c77766f65ad0b2f005f8cca243df26eebe8a07ee58520365c7df060d37e","8980392ab2d5f98ddcc25b1a257343c7c5d26d625735dbc21e47885fef44948a","e52b70bda56de06a28c06416f83d16375020082eea0afab3e3b266ad17af6e7a",{"version":"12692ba5c92ca509dc9d7b48b4099e2c55f2d7945ca8184562ea6da8c4d15a93","signature":"6c3be568f193fca02d389e6e59f524f643e6ec6f13589d2bf7216280aabb5cf3"}],"root":[70,78],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"checkJs":false,"composite":true,"declaration":true,"declarationDir":"./build-types","declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":false,"jsx":1,"module":99,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"rootDir":"./src","strict":false,"target":99},"fileIdsList":[[70,77],[73],[71,74,75,76],[75],[72]],"referencedMap":[[78,1],[74,2],[77,3],[76,4],[75,2],[73,5],[72,2]],"exportedModulesMap":[[74,2],[77,3],[76,4],[75,2],[73,5],[72,2]],"semanticDiagnosticsPerFile":[68,69,12,13,15,14,2,16,17,18,19,20,21,22,23,3,24,4,25,29,26,27,28,30,31,32,5,33,34,35,36,6,40,37,38,39,41,7,42,47,48,43,44,45,46,8,52,49,50,51,53,9,54,55,56,59,57,58,60,61,10,1,62,11,66,64,63,67,65,70,78,74,77,71,76,75,73,72],"latestChangedDtsFile":"./build-types/index.d.ts"},"version":"5.4.5"}
|