| [ Index ] |
PHP Cross Reference of WordPress Trunk (Updated Daily) |
[Summary view] [Print] [Text view]
1 // packages/interactivity-router/build-module/index.mjs 2 import { store, privateApis, getConfig } from "@wordpress/interactivity"; 3 4 // packages/interactivity-router/build-module/assets/scs.mjs 5 function shortestCommonSupersequence(X, Y, isEqual = (a, b) => a === b) { 6 const m = X.length; 7 const n = Y.length; 8 const dp = Array.from( 9 { length: m + 1 }, 10 () => Array(n + 1).fill(null) 11 ); 12 for (let i = 0; i <= m; i++) { 13 dp[i][0] = X.slice(0, i); 14 } 15 for (let j = 0; j <= n; j++) { 16 dp[0][j] = Y.slice(0, j); 17 } 18 for (let i = 1; i <= m; i++) { 19 for (let j = 1; j <= n; j++) { 20 if (isEqual(X[i - 1], Y[j - 1])) { 21 dp[i][j] = dp[i - 1][j - 1].concat(X[i - 1]); 22 } else { 23 const option1 = dp[i - 1][j].concat(X[i - 1]); 24 const option2 = dp[i][j - 1].concat(Y[j - 1]); 25 dp[i][j] = option1.length <= option2.length ? option1 : option2; 26 } 27 } 28 } 29 return dp[m][n]; 30 } 31 32 // packages/interactivity-router/build-module/assets/styles.mjs 33 var areNodesEqual = (a, b) => a.isEqualNode(b); 34 var normalizeMedia = (element) => { 35 element = element.cloneNode(true); 36 const media = element.media; 37 const { originalMedia } = element.dataset; 38 if (media === "preload") { 39 element.media = originalMedia || "all"; 40 element.removeAttribute("data-original-media"); 41 } else if (!element.media) { 42 element.media = "all"; 43 } 44 return element; 45 }; 46 function updateStylesWithSCS(X, Y, parent = window.document.head) { 47 if (X.length === 0) { 48 return Y.map((element) => { 49 const promise = prepareStylePromise(element); 50 parent.appendChild(element); 51 return promise; 52 }); 53 } 54 const xNormalized = X.map(normalizeMedia); 55 const yNormalized = Y.map(normalizeMedia); 56 const scs = shortestCommonSupersequence( 57 xNormalized, 58 yNormalized, 59 areNodesEqual 60 ); 61 const xLength = X.length; 62 const yLength = Y.length; 63 const promises = []; 64 let last = X[xLength - 1]; 65 let xIndex = 0; 66 let yIndex = 0; 67 for (const scsElement of scs) { 68 const xElement = X[xIndex]; 69 const yElement = Y[yIndex]; 70 const xNormEl = xNormalized[xIndex]; 71 const yNormEl = yNormalized[yIndex]; 72 if (xIndex < xLength && areNodesEqual(xNormEl, scsElement)) { 73 if (yIndex < yLength && areNodesEqual(yNormEl, scsElement)) { 74 promises.push(prepareStylePromise(xElement)); 75 yIndex++; 76 } 77 xIndex++; 78 } else { 79 promises.push(prepareStylePromise(yElement)); 80 if (xIndex < xLength) { 81 xElement.before(yElement); 82 } else { 83 last.after(yElement); 84 last = yElement; 85 } 86 yIndex++; 87 } 88 } 89 return promises; 90 } 91 var stylePromiseCache = /* @__PURE__ */ new WeakMap(); 92 var prepareStylePromise = (element) => { 93 if (stylePromiseCache.has(element)) { 94 return stylePromiseCache.get(element); 95 } 96 if (window.document.contains(element) && element.media !== "preload") { 97 const promise2 = Promise.resolve(element); 98 stylePromiseCache.set(element, promise2); 99 return promise2; 100 } 101 if (element.hasAttribute("media") && element.media !== "all") { 102 element.dataset.originalMedia = element.media; 103 } 104 element.media = "preload"; 105 if (element instanceof HTMLStyleElement) { 106 const promise2 = Promise.resolve(element); 107 stylePromiseCache.set(element, promise2); 108 return promise2; 109 } 110 const promise = new Promise((resolve2, reject) => { 111 element.addEventListener("load", () => resolve2(element)); 112 element.addEventListener("error", (event) => { 113 const { href } = event.target; 114 reject( 115 Error( 116 `The style sheet with the following URL failed to load: $href}` 117 ) 118 ); 119 }); 120 }); 121 stylePromiseCache.set(element, promise); 122 return promise; 123 }; 124 var preloadStyles = (doc) => { 125 const currentStyleElements = Array.from( 126 window.document.querySelectorAll( 127 "style,link[rel=stylesheet]" 128 ) 129 ); 130 const newStyleElements = Array.from( 131 doc.querySelectorAll("style,link[rel=stylesheet]") 132 ); 133 return updateStylesWithSCS(currentStyleElements, newStyleElements); 134 }; 135 var applyStyles = (styles) => { 136 window.document.querySelectorAll("style,link[rel=stylesheet]").forEach((el) => { 137 if (el.sheet) { 138 if (styles.includes(el)) { 139 if (el.sheet.media.mediaText === "preload") { 140 const { originalMedia = "all" } = el.dataset; 141 el.sheet.media.mediaText = originalMedia; 142 } 143 el.sheet.disabled = false; 144 } else { 145 el.sheet.disabled = true; 146 } 147 } 148 }); 149 }; 150 151 // packages/interactivity-router/build-module/assets/dynamic-importmap/resolver.mjs 152 var backslashRegEx = /\\/g; 153 function isURL(url) { 154 if (url.indexOf(":") === -1) { 155 return false; 156 } 157 try { 158 new URL(url); 159 return true; 160 } catch { 161 return false; 162 } 163 } 164 function resolveIfNotPlainOrUrl(relUrl, parentUrl) { 165 const hIdx = parentUrl.indexOf("#"), qIdx = parentUrl.indexOf("?"); 166 if (hIdx + qIdx > -2) { 167 parentUrl = parentUrl.slice( 168 0, 169 // eslint-disable-next-line no-nested-ternary 170 hIdx === -1 ? qIdx : qIdx === -1 || qIdx > hIdx ? hIdx : qIdx 171 ); 172 } 173 if (relUrl.indexOf("\\") !== -1) { 174 relUrl = relUrl.replace(backslashRegEx, "/"); 175 } 176 if (relUrl[0] === "/" && relUrl[1] === "/") { 177 return parentUrl.slice(0, parentUrl.indexOf(":") + 1) + relUrl; 178 } else if (relUrl[0] === "." && (relUrl[1] === "/" || relUrl[1] === "." && (relUrl[2] === "/" || relUrl.length === 2 && (relUrl += "/")) || relUrl.length === 1 && (relUrl += "/")) || relUrl[0] === "/") { 179 const parentProtocol = parentUrl.slice( 180 0, 181 parentUrl.indexOf(":") + 1 182 ); 183 let pathname; 184 if (parentUrl[parentProtocol.length + 1] === "/") { 185 if (parentProtocol !== "file:") { 186 pathname = parentUrl.slice(parentProtocol.length + 2); 187 pathname = pathname.slice(pathname.indexOf("/") + 1); 188 } else { 189 pathname = parentUrl.slice(8); 190 } 191 } else { 192 pathname = parentUrl.slice( 193 parentProtocol.length + (parentUrl[parentProtocol.length] === "/") 194 ); 195 } 196 if (relUrl[0] === "/") { 197 return parentUrl.slice(0, parentUrl.length - pathname.length - 1) + relUrl; 198 } 199 const segmented = pathname.slice(0, pathname.lastIndexOf("/") + 1) + relUrl; 200 const output = []; 201 let segmentIndex = -1; 202 for (let i = 0; i < segmented.length; i++) { 203 if (segmentIndex !== -1) { 204 if (segmented[i] === "/") { 205 output.push(segmented.slice(segmentIndex, i + 1)); 206 segmentIndex = -1; 207 } 208 continue; 209 } else if (segmented[i] === ".") { 210 if (segmented[i + 1] === "." && (segmented[i + 2] === "/" || i + 2 === segmented.length)) { 211 output.pop(); 212 i += 2; 213 continue; 214 } else if (segmented[i + 1] === "/" || i + 1 === segmented.length) { 215 i += 1; 216 continue; 217 } 218 } 219 while (segmented[i] === "/") { 220 i++; 221 } 222 segmentIndex = i; 223 } 224 if (segmentIndex !== -1) { 225 output.push(segmented.slice(segmentIndex)); 226 } 227 return parentUrl.slice(0, parentUrl.length - pathname.length) + output.join(""); 228 } 229 } 230 function resolveUrl(relUrl, parentUrl) { 231 return resolveIfNotPlainOrUrl(relUrl, parentUrl) || (isURL(relUrl) ? relUrl : resolveIfNotPlainOrUrl("./" + relUrl, parentUrl)); 232 } 233 function getMatch(path, matchObj) { 234 if (matchObj[path]) { 235 return path; 236 } 237 let sepIndex = path.length; 238 do { 239 const segment = path.slice(0, sepIndex + 1); 240 if (segment in matchObj) { 241 return segment; 242 } 243 } while ((sepIndex = path.lastIndexOf("/", sepIndex - 1)) !== -1); 244 } 245 function applyPackages(id, packages) { 246 const pkgName = getMatch(id, packages); 247 if (pkgName) { 248 const pkg = packages[pkgName]; 249 if (pkg === null) { 250 return; 251 } 252 return pkg + id.slice(pkgName.length); 253 } 254 } 255 function resolveImportMap(importMap2, resolvedOrPlain, parentUrl) { 256 let scopeUrl = parentUrl && getMatch(parentUrl, importMap2.scopes); 257 while (scopeUrl) { 258 const packageResolution = applyPackages( 259 resolvedOrPlain, 260 importMap2.scopes[scopeUrl] 261 ); 262 if (packageResolution) { 263 return packageResolution; 264 } 265 scopeUrl = getMatch( 266 scopeUrl.slice(0, scopeUrl.lastIndexOf("/")), 267 importMap2.scopes 268 ); 269 } 270 return applyPackages(resolvedOrPlain, importMap2.imports) || resolvedOrPlain.indexOf(":") !== -1 && resolvedOrPlain; 271 } 272 function resolveAndComposePackages(packages, outPackages, baseUrl22, parentMap) { 273 for (const p in packages) { 274 const resolvedLhs = resolveIfNotPlainOrUrl(p, baseUrl22) || p; 275 const target = packages[p]; 276 if (typeof target !== "string") { 277 continue; 278 } 279 const mapped = resolveImportMap( 280 parentMap, 281 resolveIfNotPlainOrUrl(target, baseUrl22) || target, 282 baseUrl22 283 ); 284 if (mapped) { 285 outPackages[resolvedLhs] = mapped; 286 continue; 287 } 288 } 289 } 290 function resolveAndComposeImportMap(json, baseUrl22, parentMap) { 291 const outMap = { 292 imports: Object.assign({}, parentMap.imports), 293 scopes: Object.assign({}, parentMap.scopes) 294 }; 295 if (json.imports) { 296 resolveAndComposePackages( 297 json.imports, 298 outMap.imports, 299 baseUrl22, 300 parentMap 301 ); 302 } 303 if (json.scopes) { 304 for (const s in json.scopes) { 305 const resolvedScope = resolveUrl(s, baseUrl22); 306 resolveAndComposePackages( 307 json.scopes[s], 308 outMap.scopes[resolvedScope] || (outMap.scopes[resolvedScope] = {}), 309 baseUrl22, 310 parentMap 311 ); 312 } 313 } 314 return outMap; 315 } 316 var importMap = { imports: {}, scopes: {} }; 317 var baseUrl = document.baseURI; 318 var pageBaseUrl = baseUrl; 319 function addImportMap(importMapIn) { 320 importMap = resolveAndComposeImportMap( 321 importMapIn, 322 pageBaseUrl, 323 importMap 324 ); 325 } 326 function resolve(id, parentUrl) { 327 const urlResolved = resolveIfNotPlainOrUrl(id, parentUrl); 328 return resolveImportMap(importMap, urlResolved || id, parentUrl) || id; 329 } 330 331 // node_modules/es-module-lexer/dist/lexer.js 332 var ImportType; 333 !(function(A2) { 334 A2[A2.Static = 1] = "Static", A2[A2.Dynamic = 2] = "Dynamic", A2[A2.ImportMeta = 3] = "ImportMeta", A2[A2.StaticSourcePhase = 4] = "StaticSourcePhase", A2[A2.DynamicSourcePhase = 5] = "DynamicSourcePhase", A2[A2.StaticDeferPhase = 6] = "StaticDeferPhase", A2[A2.DynamicDeferPhase = 7] = "DynamicDeferPhase"; 335 })(ImportType || (ImportType = {})); 336 var A = 1 === new Uint8Array(new Uint16Array([1]).buffer)[0]; 337 function parse(E2, g = "@") { 338 if (!C) return init.then((() => parse(E2))); 339 const I = E2.length + 1, w = (C.__heap_base.value || C.__heap_base) + 4 * I - C.memory.buffer.byteLength; 340 w > 0 && C.memory.grow(Math.ceil(w / 65536)); 341 const K = C.sa(I - 1); 342 if ((A ? B : Q)(E2, new Uint16Array(C.memory.buffer, K, I)), !C.parse()) throw Object.assign(new Error(`Parse error $g}:$E2.slice(0, C.e()).split("\n").length}:$C.e() - E2.lastIndexOf("\n", C.e() - 1)}`), { idx: C.e() }); 343 const o = [], D = []; 344 for (; C.ri(); ) { 345 const A2 = C.is(), Q2 = C.ie(), B2 = C.it(), g2 = C.ai(), I2 = C.id(), w2 = C.ss(), K2 = C.se(); 346 let D2; 347 C.ip() && (D2 = k(E2.slice(-1 === I2 ? A2 - 1 : A2, -1 === I2 ? Q2 + 1 : Q2))), o.push({ n: D2, t: B2, s: A2, e: Q2, ss: w2, se: K2, d: I2, a: g2 }); 348 } 349 for (; C.re(); ) { 350 const A2 = C.es(), Q2 = C.ee(), B2 = C.els(), g2 = C.ele(), I2 = E2.slice(A2, Q2), w2 = I2[0], K2 = B2 < 0 ? void 0 : E2.slice(B2, g2), o2 = K2 ? K2[0] : ""; 351 D.push({ s: A2, e: Q2, ls: B2, le: g2, n: '"' === w2 || "'" === w2 ? k(I2) : I2, ln: '"' === o2 || "'" === o2 ? k(K2) : K2 }); 352 } 353 function k(A2) { 354 try { 355 return (0, eval)(A2); 356 } catch (A3) { 357 } 358 } 359 return [o, D, !!C.f(), !!C.ms()]; 360 } 361 function Q(A2, Q2) { 362 const B2 = A2.length; 363 let C2 = 0; 364 for (; C2 < B2; ) { 365 const B3 = A2.charCodeAt(C2); 366 Q2[C2++] = (255 & B3) << 8 | B3 >>> 8; 367 } 368 } 369 function B(A2, Q2) { 370 const B2 = A2.length; 371 let C2 = 0; 372 for (; C2 < B2; ) Q2[C2] = A2.charCodeAt(C2++); 373 } 374 var C; 375 var E = () => { 376 return A2 = "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GzYCHAtBAEEAKAKwCkECajYCsAoCQAJAAkACQEEAECkiAUHhAEYNACABQfcARg0BQQAoArAKIQEMAgtBACgCsAoiAUECakHACEEKEC8NAUEGIQIMAgtBACgCsAoiAS8BAkHpAEcNACABLwEEQfQARw0AQQQhAiABLwEGQegARg0BC0EAIAFBfmo2ArAKDwtBACABIAJBAXRqNgKwCgJAQQEQKUH7AEYNAEEAIAE2ArAKDwtBACgCsAoiACECA0BBACACQQJqNgKwCgJAAkACQEEBECkiAkEiRg0AIAJBJ0cNAUEnEBpBAEEAKAKwCkECajYCsApBARApIQIMAgtBIhAaQQBBACgCsApBAmo2ArAKQQEQKSECDAELIAIQLCECCwJAIAJBOkYNAEEAIAE2ArAKDwtBAEEAKAKwCkECajYCsAoCQEEBECkiAkEiRg0AIAJBJ0YNAEEAIAE2ArAKDwsgAhAaQQBBACgCsApBAmo2ArAKAkACQEEBECkiAkEsRg0AIAJB/QBGDQFBACABNgKwCg8LQQBBACgCsApBAmo2ArAKQQEQKUH9AEYNAEEAKAKwCiECDAELC0EAKALwCSIBIAA2AhAgAUEAKAKwCkECajYCDAttAQJ/AkACQANAAkAgAEH//wNxIgFBd2oiAkEXSw0AQQEgAnRBn4CABHENAgsgAUGgAUYNASAAIQIgARAoDQJBACECQQBBACgCsAoiAEECajYCsAogAC8BAiIADQAMAgsLIAAhAgsgAkH//wNxC6sBAQR/AkACQEEAKAKwCiICLwEAIgNB4QBGDQAgASEEIAAhBQwBC0EAIAJBBGo2ArAKQQEQKSECQQAoArAKIQUCQAJAIAJBIkYNACACQSdGDQAgAhAsGkEAKAKwCiEEDAELIAIQGkEAQQAoArAKQQJqIgQ2ArAKC0EBECkhA0EAKAKwCiECCwJAIAIgBUYNACAFIARBACAAIAAgAUYiAhtBACABIAIbEAILIAMLcgEEf0EAKAKwCiEAQQAoArQKIQECQAJAA0AgAEECaiECIAAgAU8NAQJAAkAgAi8BACIDQaR/ag4CAQQACyACIQAgA0F2ag4EAgEBAgELIABBBGohAAwACwtBACACNgKwChAlQQAPC0EAIAI2ArAKQd0AC0kBA39BACEDAkAgAkUNAAJAA0AgAC0AACIEIAEtAAAiBUcNASABQQFqIQEgAEEBaiEAIAJBf2oiAg0ADAILCyAEIAVrIQMLIAMLC+wBAgBBgAgLzgEAAHgAcABvAHIAdABtAHAAbwByAHQAZgBvAHIAZQB0AGEAbwB1AHIAYwBlAHIAbwBtAHUAbgBjAHQAaQBvAG4AcwBzAGUAcgB0AHYAbwB5AGkAZQBkAGUAbABlAGMAbwBuAHQAaQBuAGkAbgBzAHQAYQBuAHQAeQBiAHIAZQBhAHIAZQB0AHUAcgBkAGUAYgB1AGcAZwBlAGEAdwBhAGkAdABoAHIAdwBoAGkAbABlAGkAZgBjAGEAdABjAGYAaQBuAGEAbABsAGUAbABzAABB0AkLEAEAAAACAAAAAAQAAEA5AAA=", "undefined" != typeof Buffer ? Buffer.from(A2, "base64") : Uint8Array.from(atob(A2), ((A3) => A3.charCodeAt(0))); 377 var A2; 378 }; 379 var init = WebAssembly.compile(E()).then(WebAssembly.instantiate).then((({ exports: A2 }) => { 380 C = A2; 381 })); 382 383 // packages/interactivity-router/build-module/assets/dynamic-importmap/fetch.mjs 384 var fetching = (url, parent) => { 385 return ` fetching $url}$parent ? ` from $parent}` : ""}`; 386 }; 387 var jsContentType = /^(text|application)\/(x-)?javascript(;|$)/; 388 async function fetchModule(url, fetchOpts, parent) { 389 let res; 390 try { 391 res = await fetch(url, fetchOpts); 392 } catch { 393 throw Error(`Network error$fetching(url, parent)}.`); 394 } 395 if (!res.ok) { 396 throw Error(`Error $res.status}$fetching(url, parent)}.`); 397 } 398 const contentType = res.headers.get("content-type"); 399 if (!jsContentType.test(contentType)) { 400 throw Error( 401 `Bad Content-Type "$contentType}"$fetching(url, parent)}.` 402 ); 403 } 404 return { responseUrl: res.url, source: await res.text() }; 405 } 406 407 // packages/interactivity-router/build-module/assets/dynamic-importmap/loader.mjs 408 var initPromise = init; 409 var initialImportMapElement = window.document.querySelector( 410 "script#wp-importmap[type=importmap]" 411 ); 412 var initialImportMap = initialImportMapElement ? JSON.parse(initialImportMapElement.text) : { imports: {}, scopes: {} }; 413 var skip = (id) => Object.keys(initialImportMap.imports).includes(id); 414 var fetchCache = {}; 415 var registry = {}; 416 Object.keys(initialImportMap.imports).forEach((id) => { 417 registry[id] = { 418 blobUrl: id 419 }; 420 }); 421 async function loadAll(load, seen) { 422 if (load.blobUrl || seen[load.url]) { 423 return; 424 } 425 seen[load.url] = 1; 426 await load.linkPromise; 427 await Promise.all(load.deps.map((dep) => loadAll(dep, seen))); 428 } 429 function urlJsString(url) { 430 return `'$url.replace(/'/g, "\\'")}'`; 431 } 432 var createBlob = (source, type = "text/javascript") => URL.createObjectURL(new Blob([source], { type })); 433 function resolveDeps(load, seen) { 434 if (load.blobUrl || !seen[load.url]) { 435 return; 436 } 437 seen[load.url] = 0; 438 for (const dep of load.deps) { 439 resolveDeps(dep, seen); 440 } 441 const [imports, exports] = load.analysis; 442 const source = load.source; 443 let resolvedSource = ""; 444 if (!imports.length) { 445 resolvedSource += source; 446 } else { 447 let pushStringTo = function(originalIndex) { 448 while (dynamicImportEndStack.length && dynamicImportEndStack[dynamicImportEndStack.length - 1] < originalIndex) { 449 const dynamicImportEnd = dynamicImportEndStack.pop(); 450 resolvedSource += `$source.slice( 451 lastIndex, 452 dynamicImportEnd 453 )}, $urlJsString(load.responseUrl)}`; 454 lastIndex = dynamicImportEnd; 455 } 456 resolvedSource += source.slice(lastIndex, originalIndex); 457 lastIndex = originalIndex; 458 }; 459 let lastIndex = 0; 460 let depIndex = 0; 461 const dynamicImportEndStack = []; 462 for (const { 463 s: start, 464 ss: statementStart, 465 se: statementEnd, 466 d: dynamicImportIndex 467 } of imports) { 468 if (dynamicImportIndex === -1) { 469 const depLoad = load.deps[depIndex++]; 470 let blobUrl = depLoad.blobUrl; 471 const cycleShell = !blobUrl; 472 if (cycleShell) { 473 if (!(blobUrl = depLoad.shellUrl)) { 474 blobUrl = depLoad.shellUrl = createBlob( 475 `export function u$_(m){$depLoad.analysis[1].map(({ s, e }, i) => { 476 const q = depLoad.source[s] === '"' || depLoad.source[s] === "'"; 477 return `e$_$i}=m$q ? `[` : "."}$depLoad.source.slice(s, e)}$q ? `]` : ""}`; 478 }).join(",")}}$depLoad.analysis[1].length ? `let $depLoad.analysis[1].map((_, i) => `e$_$i}`).join(",")};` : ""}export {$depLoad.analysis[1].map( 479 ({ s, e }, i) => `e$_$i} as $depLoad.source.slice( 480 s, 481 e 482 )}` 483 ).join(",")}} 484 //# sourceURL=${depLoad.responseUrl}?cycle` 485 ); 486 } 487 } 488 pushStringTo(start - 1); 489 resolvedSource += `/*${source.slice( 490 start - 1, 491 statementEnd 492 )}*/$urlJsString(blobUrl)}`; 493 if (!cycleShell && depLoad.shellUrl) { 494 resolvedSource += `;import*as m$_$depIndex} from'$depLoad.blobUrl}';import{u$_ as u$_$depIndex}}from'$depLoad.shellUrl}';u$_$depIndex}(m$_$depIndex})`; 495 depLoad.shellUrl = void 0; 496 } 497 lastIndex = statementEnd; 498 } else if (dynamicImportIndex === -2) { 499 throw Error("The import.meta property is not supported."); 500 } else { 501 pushStringTo(statementStart); 502 resolvedSource += `wpInteractivityRouterImport(`; 503 dynamicImportEndStack.push(statementEnd - 1); 504 lastIndex = start; 505 } 506 } 507 if (load.shellUrl) { 508 resolvedSource += ` 509 ;import{u$_}from'$load.shellUrl}';try{u$_({$exports.filter((e) => e.ln).map(({ s, e, ln }) => `$source.slice(s, e)}:$ln}`).join(",")}})}catch(_){}; 510 `; 511 } 512 pushStringTo(source.length); 513 } 514 let hasSourceURL = false; 515 resolvedSource = resolvedSource.replace( 516 sourceMapURLRegEx, 517 (match, isMapping, url) => { 518 hasSourceURL = !isMapping; 519 return match.replace( 520 url, 521 () => new URL(url, load.responseUrl).toString() 522 ); 523 } 524 ); 525 if (!hasSourceURL) { 526 resolvedSource += "\n//# sourceURL=" + load.responseUrl; 527 } 528 load.blobUrl = createBlob(resolvedSource); 529 load.source = void 0; 530 } 531 var sourceMapURLRegEx = /\n\/\/# source(Mapping)?URL=([^\n]+)\s*((;|\/\/[^#][^\n]*)\s*)*$/; 532 function getOrCreateLoad(url, fetchOpts, parent) { 533 let load = registry[url]; 534 if (load) { 535 return load; 536 } 537 load = { url }; 538 if (registry[url]) { 539 let i = 0; 540 while (registry[load.url + ++i]) { 541 } 542 load.url += i; 543 } 544 registry[load.url] = load; 545 load.fetchPromise = (async () => { 546 let source; 547 ({ responseUrl: load.responseUrl, source } = await (fetchCache[url] || fetchModule(url, fetchOpts, parent))); 548 try { 549 load.analysis = parse(source, load.url); 550 } catch (e) { 551 console.error(e); 552 load.analysis = [[], [], false, false]; 553 } 554 load.source = source; 555 return load; 556 })(); 557 load.linkPromise = load.fetchPromise.then(async () => { 558 let childFetchOpts = fetchOpts; 559 load.deps = (await Promise.all( 560 load.analysis[0].map(async ({ n, d }) => { 561 if (d !== -1 || !n) { 562 return void 0; 563 } 564 const responseUrl = resolve( 565 n, 566 load.responseUrl || load.url 567 ); 568 if (skip && skip(responseUrl)) { 569 return { blobUrl: responseUrl }; 570 } 571 if (childFetchOpts.integrity) { 572 childFetchOpts = { 573 ...childFetchOpts, 574 integrity: void 0 575 }; 576 } 577 return getOrCreateLoad( 578 responseUrl, 579 childFetchOpts, 580 load.responseUrl 581 ).fetchPromise; 582 }) 583 )).filter((l) => l); 584 }); 585 return load; 586 } 587 var dynamicImport = (u) => import( 588 /* webpackIgnore: true */ 589 u 590 ); 591 async function preloadModule(url, fetchOpts) { 592 await initPromise; 593 const load = getOrCreateLoad(url, fetchOpts, null); 594 const seen = {}; 595 await loadAll(load, seen); 596 resolveDeps(load, seen); 597 await Promise.resolve(); 598 return load; 599 } 600 async function importPreloadedModule(load) { 601 const module = await dynamicImport(load.blobUrl); 602 if (load.shellUrl) { 603 (await dynamicImport(load.shellUrl)).u$_(module); 604 } 605 return module; 606 } 607 async function topLevelLoad(url, fetchOpts) { 608 const load = await preloadModule(url, fetchOpts); 609 return importPreloadedModule(load); 610 } 611 612 // packages/interactivity-router/build-module/assets/dynamic-importmap/index.mjs 613 var baseUrl2 = document.baseURI; 614 var pageBaseUrl2 = baseUrl2; 615 Object.defineProperty(self, "wpInteractivityRouterImport", { 616 value: importShim, 617 writable: false, 618 enumerable: false, 619 configurable: false 620 }); 621 async function importShim(id) { 622 await initPromise; 623 return topLevelLoad(resolve(id, pageBaseUrl2), { 624 credentials: "same-origin" 625 }); 626 } 627 async function preloadWithMap(id, importMapIn) { 628 addImportMap(importMapIn); 629 await initPromise; 630 return preloadModule(resolve(id, pageBaseUrl2), { 631 credentials: "same-origin" 632 }); 633 } 634 635 // packages/interactivity-router/build-module/assets/script-modules.mjs 636 var resolvedScriptModules = /* @__PURE__ */ new Set(); 637 var markScriptModuleAsResolved = (url) => { 638 resolvedScriptModules.add(url); 639 }; 640 var preloadScriptModules = (doc) => { 641 const importMapElement = doc.querySelector( 642 "script#wp-importmap[type=importmap]" 643 ); 644 const importMap2 = importMapElement ? JSON.parse(importMapElement.text) : { imports: {}, scopes: {} }; 645 for (const key in initialImportMap.imports) { 646 delete importMap2.imports[key]; 647 } 648 const moduleUrls = [ 649 ...doc.querySelectorAll( 650 "script[type=module][src][data-wp-router-options]" 651 ) 652 ].filter((script) => { 653 try { 654 const parsed = JSON.parse( 655 script.getAttribute("data-wp-router-options") 656 ); 657 return parsed?.loadOnClientNavigation === true; 658 } catch { 659 return false; 660 } 661 }).map((script) => script.src); 662 return moduleUrls.filter((url) => !resolvedScriptModules.has(url)).map((url) => preloadWithMap(url, importMap2)); 663 }; 664 var importScriptModules = (modules) => Promise.all(modules.map((m) => importPreloadedModule(m))); 665 666 // packages/interactivity-router/build-module/index.mjs 667 var { 668 getRegionRootFragment, 669 initialVdomPromise, 670 toVdom, 671 render, 672 parseServerData, 673 populateServerData, 674 batch, 675 routerRegions, 676 h: createElement, 677 navigationSignal, 678 sessionId, 679 warn 680 } = privateApis( 681 "I acknowledge that using private APIs means my theme or plugin will inevitably break in the next version of WordPress." 682 ); 683 var regionAttr = `data-wp-router-region`; 684 var interactiveAttr = `data-wp-interactive`; 685 var regionsSelector = `[$interactiveAttr}][$regionAttr}], [$interactiveAttr}] [$interactiveAttr}][$regionAttr}]`; 686 var pages = /* @__PURE__ */ new Map(); 687 var getPagePath = (url) => { 688 const u = new URL(url, window.location.href); 689 return u.pathname + u.search; 690 }; 691 var parseRegionAttribute = (region) => { 692 const value = region.getAttribute(regionAttr); 693 try { 694 const { id, attachTo } = JSON.parse(value); 695 return { id, attachTo }; 696 } catch { 697 return { id: value }; 698 } 699 }; 700 var cloneRouterRegionContent = (vdom) => { 701 if (!vdom) { 702 return vdom; 703 } 704 const allPriorityLevels = vdom.props.priorityLevels; 705 const routerRegionLevel = allPriorityLevels.findIndex( 706 (level) => level.includes("router-region") 707 ); 708 const priorityLevels = routerRegionLevel !== -1 ? allPriorityLevels.slice(routerRegionLevel + 1) : allPriorityLevels; 709 return priorityLevels.length > 0 ? createElement(vdom.type, { 710 ...vdom.props, 711 priorityLevels 712 }) : vdom.props.element; 713 }; 714 var regionsToAttachByParent = /* @__PURE__ */ new WeakMap(); 715 var rootFragmentsByParent = /* @__PURE__ */ new WeakMap(); 716 var initialRegionsToAttach = /* @__PURE__ */ new Set(); 717 var fetchPage = async (url, { html }) => { 718 try { 719 if (!html) { 720 const res = await window.fetch(url); 721 if (res.status !== 200) { 722 return false; 723 } 724 html = await res.text(); 725 } 726 const dom = new window.DOMParser().parseFromString(html, "text/html"); 727 return await preparePage(url, dom); 728 } catch { 729 return false; 730 } 731 }; 732 var preparePage = async (url, dom, { vdom } = {}) => { 733 dom.querySelectorAll("noscript").forEach((el) => el.remove()); 734 const regions = {}; 735 const regionsToAttach = {}; 736 dom.querySelectorAll(regionsSelector).forEach((region) => { 737 const { id, attachTo } = parseRegionAttribute(region); 738 if (region.parentElement.closest(`[$regionAttr}]`)) { 739 regions[id] = void 0; 740 } else { 741 regions[id] = vdom?.has(region) ? vdom.get(region) : toVdom(region); 742 } 743 if (attachTo && !initialRegionsToAttach.has(id)) { 744 regionsToAttach[id] = attachTo; 745 } 746 }); 747 const title = dom.querySelector("title")?.innerText; 748 const initialData = parseServerData(dom); 749 const [styles, scriptModules] = await Promise.all([ 750 Promise.all(preloadStyles(dom)), 751 Promise.all(preloadScriptModules(dom)) 752 ]); 753 return { 754 regions, 755 regionsToAttach, 756 styles, 757 scriptModules, 758 title, 759 initialData, 760 url 761 }; 762 }; 763 var renderPage = (page) => { 764 applyStyles(page.styles); 765 const regionsToAttach = { ...page.regionsToAttach }; 766 batch(() => { 767 populateServerData(page.initialData); 768 navigationSignal.value += 1; 769 routerRegions.forEach((signal) => { 770 signal.value = null; 771 }); 772 const parentsToUpdate = /* @__PURE__ */ new Set(); 773 for (const id in regionsToAttach) { 774 const parent = document.querySelector(regionsToAttach[id]); 775 if (!regionsToAttachByParent.has(parent)) { 776 regionsToAttachByParent.set(parent, []); 777 } 778 const regions = regionsToAttachByParent.get(parent); 779 if (!regions.includes(id)) { 780 regions.push(id); 781 parentsToUpdate.add(parent); 782 } 783 } 784 for (const id in page.regions) { 785 if (routerRegions.has(id)) { 786 routerRegions.get(id).value = cloneRouterRegionContent( 787 page.regions[id] 788 ); 789 } 790 } 791 parentsToUpdate.forEach((parent) => { 792 const ids = regionsToAttachByParent.get(parent); 793 const vdoms = ids.map((id) => page.regions[id]); 794 if (!rootFragmentsByParent.has(parent)) { 795 const regions = vdoms.map(({ props, type }) => { 796 const elementType = typeof type === "function" ? props.type : type; 797 const region = document.createElement(elementType); 798 parent.appendChild(region); 799 return region; 800 }); 801 rootFragmentsByParent.set( 802 parent, 803 getRegionRootFragment(regions) 804 ); 805 } 806 const fragment = rootFragmentsByParent.get(parent); 807 render(vdoms, fragment); 808 }); 809 }); 810 if (page.title) { 811 document.title = page.title; 812 } 813 }; 814 var forcePageReload = (href) => { 815 window.location.assign(href); 816 return new Promise(() => { 817 }); 818 }; 819 window.addEventListener("popstate", async () => { 820 const pagePath = getPagePath(window.location.href); 821 const page = pages.has(pagePath) && await pages.get(pagePath); 822 if (page) { 823 batch(() => { 824 state.url = window.location.href; 825 renderPage(page); 826 }); 827 } else { 828 window.location.reload(); 829 } 830 }); 831 document.querySelectorAll(regionsSelector).forEach((region) => { 832 const { id, attachTo } = parseRegionAttribute(region); 833 if (attachTo) { 834 initialRegionsToAttach.add(id); 835 } 836 }); 837 window.document.querySelectorAll("script[type=module][src]").forEach(({ src }) => markScriptModuleAsResolved(src)); 838 (async () => { 839 const initialVdomMap = await initialVdomPromise; 840 pages.set( 841 getPagePath(window.location.href), 842 Promise.resolve( 843 preparePage(getPagePath(window.location.href), document, { 844 vdom: initialVdomMap 845 }) 846 ) 847 ); 848 })(); 849 var navigatingTo = ""; 850 var hasLoadedNavigationTextsData = false; 851 var navigationTexts = { 852 loading: "Loading page, please wait.", 853 loaded: "Page Loaded." 854 }; 855 var { state: privateState } = store( 856 "core/router/private", 857 { 858 state: { 859 navigation: { 860 hasStarted: false, 861 hasFinished: false 862 } 863 } 864 }, 865 { lock: true } 866 ); 867 var { state, actions } = store("core/router", { 868 state: { 869 get navigation() { 870 if (true) { 871 warn( 872 `The usage of state.navigation.{hasStarted|hasFinished} from core/router is deprecated and will stop working in WordPress 7.1.` 873 ); 874 } 875 return privateState.navigation; 876 } 877 }, 878 actions: { 879 /** 880 * Navigates to the specified page. 881 * 882 * This function normalizes the passed href, fetches the page HTML if 883 * needed, and updates any interactive regions whose contents have 884 * changed. It also creates a new entry in the browser session history. 885 * 886 * @param href The page href. 887 * @param [options] Options object. 888 * @param [options.force] If true, it forces re-fetching the URL. 889 * @param [options.html] HTML string to be used instead of fetching the requested URL. 890 * @param [options.replace] If true, it replaces the current entry in the browser session history. 891 * @param [options.timeout] Time until the navigation is aborted, in milliseconds. Default is 10000. 892 * @param [options.loadingAnimation] Whether an animation should be shown while navigating. Default to `true`. 893 * @param [options.screenReaderAnnouncement] Whether a message for screen readers should be announced while navigating. Default to `true`. 894 * 895 * @return Promise that resolves once the navigation is completed or aborted. 896 */ 897 *navigate(href, options = {}) { 898 const { clientNavigationDisabled } = getConfig(); 899 if (clientNavigationDisabled) { 900 yield forcePageReload(href); 901 } 902 const pagePath = getPagePath(href); 903 const { navigation } = privateState; 904 const { 905 loadingAnimation = true, 906 screenReaderAnnouncement = true, 907 timeout = 1e4 908 } = options; 909 navigatingTo = href; 910 actions.prefetch(pagePath, options); 911 const timeoutPromise = new Promise( 912 (resolve2) => setTimeout(resolve2, timeout) 913 ); 914 const loadingTimeout = setTimeout(() => { 915 if (navigatingTo !== href) { 916 return; 917 } 918 if (loadingAnimation) { 919 navigation.hasStarted = true; 920 navigation.hasFinished = false; 921 } 922 if (screenReaderAnnouncement) { 923 a11ySpeak("loading"); 924 } 925 }, 400); 926 const page = yield Promise.race([ 927 pages.get(pagePath), 928 timeoutPromise 929 ]); 930 clearTimeout(loadingTimeout); 931 if (navigatingTo !== href) { 932 return; 933 } 934 if (page && !page.initialData?.config?.["core/router"]?.clientNavigationDisabled) { 935 yield importScriptModules(page.scriptModules); 936 batch(() => { 937 state.url = href; 938 if (loadingAnimation) { 939 navigation.hasStarted = false; 940 navigation.hasFinished = true; 941 } 942 renderPage(page); 943 }); 944 window.history[options.replace ? "replaceState" : "pushState"]({ wpInteractivityId: sessionId }, "", href); 945 if (screenReaderAnnouncement) { 946 a11ySpeak("loaded"); 947 } 948 const { hash } = new URL(href, window.location.href); 949 if (hash) { 950 document.querySelector(hash)?.scrollIntoView(); 951 } 952 } else { 953 yield forcePageReload(href); 954 } 955 }, 956 /** 957 * Prefetches the page with the passed URL. 958 * 959 * The function normalizes the URL and stores internally the fetch 960 * promise, to avoid triggering a second fetch for an ongoing request. 961 * 962 * @param url The page URL. 963 * @param [options] Options object. 964 * @param [options.force] Force fetching the URL again. 965 * @param [options.html] HTML string to be used instead of fetching the requested URL. 966 * 967 * @return Promise that resolves once the page has been fetched. 968 */ 969 *prefetch(url, options = {}) { 970 const { clientNavigationDisabled } = getConfig(); 971 if (clientNavigationDisabled) { 972 return; 973 } 974 const pagePath = getPagePath(url); 975 if (options.force || !pages.has(pagePath)) { 976 pages.set( 977 pagePath, 978 fetchPage(pagePath, { html: options.html }) 979 ); 980 } 981 yield pages.get(pagePath); 982 } 983 } 984 }); 985 state.url = state.url || window.location.href; 986 function a11ySpeak(messageKey) { 987 if (!hasLoadedNavigationTextsData) { 988 hasLoadedNavigationTextsData = true; 989 const content = document.getElementById( 990 "wp-script-module-data-@wordpress/interactivity-router" 991 )?.textContent; 992 if (content) { 993 try { 994 const parsed = JSON.parse(content); 995 if (typeof parsed?.i18n?.loading === "string") { 996 navigationTexts.loading = parsed.i18n.loading; 997 } 998 if (typeof parsed?.i18n?.loaded === "string") { 999 navigationTexts.loaded = parsed.i18n.loaded; 1000 } 1001 } catch { 1002 } 1003 } else { 1004 if (state.navigation.texts?.loading) { 1005 navigationTexts.loading = state.navigation.texts.loading; 1006 } 1007 if (state.navigation.texts?.loaded) { 1008 navigationTexts.loaded = state.navigation.texts.loaded; 1009 } 1010 } 1011 } 1012 const message = navigationTexts[messageKey]; 1013 import("@wordpress/a11y").then( 1014 ({ speak }) => speak(message), 1015 // Ignore failures to load the a11y module. 1016 () => { 1017 } 1018 ); 1019 } 1020 export { 1021 actions, 1022 state 1023 };
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated : Tue Jul 21 08:20:16 2026 | Cross-referenced by PHPXref |