| [ 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"; 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 D = [], o = []; 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 o2; 347 C.ip() && (o2 = k(E2.slice(-1 === I2 ? A2 - 1 : A2, -1 === I2 ? Q2 + 1 : Q2))), D.push({ n: o2, 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), D2 = K2 ? K2[0] : ""; 351 o.push({ s: A2, e: Q2, ls: B2, le: g2, n: '"' === w2 || "'" === w2 ? k(I2) : I2, ln: '"' === D2 || "'" === D2 ? k(K2) : K2 }); 352 } 353 function k(A2) { 354 try { 355 return (0, eval)(A2); 356 } catch (A3) { 357 } 358 } 359 return [D, o, !!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 init = WebAssembly.compile((E = "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", "undefined" != typeof Buffer ? Buffer.from(E, "base64") : Uint8Array.from(atob(E), ((A2) => A2.charCodeAt(0))))).then(WebAssembly.instantiate).then((({ exports: A2 }) => { 376 C = A2; 377 })); 378 var E; 379 380 // packages/interactivity-router/build-module/assets/dynamic-importmap/fetch.mjs 381 var fetching = (url, parent) => { 382 return ` fetching $url}$parent ? ` from $parent}` : ""}`; 383 }; 384 var jsContentType = /^(text|application)\/(x-)?javascript(;|$)/; 385 async function fetchModule(url, fetchOpts, parent) { 386 let res; 387 try { 388 res = await fetch(url, fetchOpts); 389 } catch (e) { 390 throw Error(`Network error$fetching(url, parent)}.`); 391 } 392 if (!res.ok) { 393 throw Error(`Error $res.status}$fetching(url, parent)}.`); 394 } 395 const contentType = res.headers.get("content-type"); 396 if (!jsContentType.test(contentType)) { 397 throw Error( 398 `Bad Content-Type "$contentType}"$fetching(url, parent)}.` 399 ); 400 } 401 return { responseUrl: res.url, source: await res.text() }; 402 } 403 404 // packages/interactivity-router/build-module/assets/dynamic-importmap/loader.mjs 405 var initPromise = init; 406 var initialImportMapElement = window.document.querySelector( 407 "script#wp-importmap[type=importmap]" 408 ); 409 var initialImportMap = initialImportMapElement ? JSON.parse(initialImportMapElement.text) : { imports: {}, scopes: {} }; 410 var skip = (id) => Object.keys(initialImportMap.imports).includes(id); 411 var fetchCache = {}; 412 var registry = {}; 413 Object.keys(initialImportMap.imports).forEach((id) => { 414 registry[id] = { 415 blobUrl: id 416 }; 417 }); 418 async function loadAll(load, seen) { 419 if (load.blobUrl || seen[load.url]) { 420 return; 421 } 422 seen[load.url] = 1; 423 await load.linkPromise; 424 await Promise.all(load.deps.map((dep) => loadAll(dep, seen))); 425 } 426 function urlJsString(url) { 427 return `'$url.replace(/'/g, "\\'")}'`; 428 } 429 var createBlob = (source, type = "text/javascript") => URL.createObjectURL(new Blob([source], { type })); 430 function resolveDeps(load, seen) { 431 if (load.blobUrl || !seen[load.url]) { 432 return; 433 } 434 seen[load.url] = 0; 435 for (const dep of load.deps) { 436 resolveDeps(dep, seen); 437 } 438 const [imports, exports] = load.analysis; 439 const source = load.source; 440 let resolvedSource = ""; 441 if (!imports.length) { 442 resolvedSource += source; 443 } else { 444 let pushStringTo = function(originalIndex) { 445 while (dynamicImportEndStack.length && dynamicImportEndStack[dynamicImportEndStack.length - 1] < originalIndex) { 446 const dynamicImportEnd = dynamicImportEndStack.pop(); 447 resolvedSource += `$source.slice( 448 lastIndex, 449 dynamicImportEnd 450 )}, $urlJsString(load.responseUrl)}`; 451 lastIndex = dynamicImportEnd; 452 } 453 resolvedSource += source.slice(lastIndex, originalIndex); 454 lastIndex = originalIndex; 455 }; 456 let lastIndex = 0; 457 let depIndex = 0; 458 const dynamicImportEndStack = []; 459 for (const { 460 s: start, 461 ss: statementStart, 462 se: statementEnd, 463 d: dynamicImportIndex 464 } of imports) { 465 if (dynamicImportIndex === -1) { 466 const depLoad = load.deps[depIndex++]; 467 let blobUrl = depLoad.blobUrl; 468 const cycleShell = !blobUrl; 469 if (cycleShell) { 470 if (!(blobUrl = depLoad.shellUrl)) { 471 blobUrl = depLoad.shellUrl = createBlob( 472 `export function u$_(m){$depLoad.analysis[1].map(({ s, e }, i) => { 473 const q = depLoad.source[s] === '"' || depLoad.source[s] === "'"; 474 return `e$_$i}=m$q ? `[` : "."}$depLoad.source.slice(s, e)}$q ? `]` : ""}`; 475 }).join(",")}}$depLoad.analysis[1].length ? `let $depLoad.analysis[1].map((_, i) => `e$_$i}`).join(",")};` : ""}export {$depLoad.analysis[1].map( 476 ({ s, e }, i) => `e$_$i} as $depLoad.source.slice( 477 s, 478 e 479 )}` 480 ).join(",")}} 481 //# sourceURL=${depLoad.responseUrl}?cycle` 482 ); 483 } 484 } 485 pushStringTo(start - 1); 486 resolvedSource += `/*${source.slice( 487 start - 1, 488 statementEnd 489 )}*/$urlJsString(blobUrl)}`; 490 if (!cycleShell && depLoad.shellUrl) { 491 resolvedSource += `;import*as m$_$depIndex} from'$depLoad.blobUrl}';import{u$_ as u$_$depIndex}}from'$depLoad.shellUrl}';u$_$depIndex}(m$_$depIndex})`; 492 depLoad.shellUrl = void 0; 493 } 494 lastIndex = statementEnd; 495 } else if (dynamicImportIndex === -2) { 496 throw Error("The import.meta property is not supported."); 497 } else { 498 pushStringTo(statementStart); 499 resolvedSource += `wpInteractivityRouterImport(`; 500 dynamicImportEndStack.push(statementEnd - 1); 501 lastIndex = start; 502 } 503 } 504 if (load.shellUrl) { 505 resolvedSource += ` 506 ;import{u$_}from'$load.shellUrl}';try{u$_({$exports.filter((e) => e.ln).map(({ s, e, ln }) => `$source.slice(s, e)}:$ln}`).join(",")}})}catch(_){}; 507 `; 508 } 509 pushStringTo(source.length); 510 } 511 let hasSourceURL = false; 512 resolvedSource = resolvedSource.replace( 513 sourceMapURLRegEx, 514 (match, isMapping, url) => { 515 hasSourceURL = !isMapping; 516 return match.replace( 517 url, 518 () => new URL(url, load.responseUrl).toString() 519 ); 520 } 521 ); 522 if (!hasSourceURL) { 523 resolvedSource += "\n//# sourceURL=" + load.responseUrl; 524 } 525 load.blobUrl = createBlob(resolvedSource); 526 load.source = void 0; 527 } 528 var sourceMapURLRegEx = /\n\/\/# source(Mapping)?URL=([^\n]+)\s*((;|\/\/[^#][^\n]*)\s*)*$/; 529 function getOrCreateLoad(url, fetchOpts, parent) { 530 let load = registry[url]; 531 if (load) { 532 return load; 533 } 534 load = { url }; 535 if (registry[url]) { 536 let i = 0; 537 while (registry[load.url + ++i]) { 538 } 539 load.url += i; 540 } 541 registry[load.url] = load; 542 load.fetchPromise = (async () => { 543 let source; 544 ({ responseUrl: load.responseUrl, source } = await (fetchCache[url] || fetchModule(url, fetchOpts, parent))); 545 try { 546 load.analysis = parse(source, load.url); 547 } catch (e) { 548 console.error(e); 549 load.analysis = [[], [], false, false]; 550 } 551 load.source = source; 552 return load; 553 })(); 554 load.linkPromise = load.fetchPromise.then(async () => { 555 let childFetchOpts = fetchOpts; 556 load.deps = (await Promise.all( 557 load.analysis[0].map(async ({ n, d }) => { 558 if (d !== -1 || !n) { 559 return void 0; 560 } 561 const responseUrl = resolve( 562 n, 563 load.responseUrl || load.url 564 ); 565 if (skip && skip(responseUrl)) { 566 return { blobUrl: responseUrl }; 567 } 568 if (childFetchOpts.integrity) { 569 childFetchOpts = { 570 ...childFetchOpts, 571 integrity: void 0 572 }; 573 } 574 return getOrCreateLoad( 575 responseUrl, 576 childFetchOpts, 577 load.responseUrl 578 ).fetchPromise; 579 }) 580 )).filter((l) => l); 581 }); 582 return load; 583 } 584 var dynamicImport = (u) => import( 585 /* webpackIgnore: true */ 586 u 587 ); 588 async function preloadModule(url, fetchOpts) { 589 await initPromise; 590 const load = getOrCreateLoad(url, fetchOpts, null); 591 const seen = {}; 592 await loadAll(load, seen); 593 resolveDeps(load, seen); 594 await Promise.resolve(); 595 return load; 596 } 597 async function importPreloadedModule(load) { 598 const module = await dynamicImport(load.blobUrl); 599 if (load.shellUrl) { 600 (await dynamicImport(load.shellUrl)).u$_(module); 601 } 602 return module; 603 } 604 async function topLevelLoad(url, fetchOpts) { 605 const load = await preloadModule(url, fetchOpts); 606 return importPreloadedModule(load); 607 } 608 609 // packages/interactivity-router/build-module/assets/dynamic-importmap/index.mjs 610 var baseUrl2 = document.baseURI; 611 var pageBaseUrl2 = baseUrl2; 612 Object.defineProperty(self, "wpInteractivityRouterImport", { 613 value: importShim, 614 writable: false, 615 enumerable: false, 616 configurable: false 617 }); 618 async function importShim(id) { 619 await initPromise; 620 return topLevelLoad(resolve(id, pageBaseUrl2), { 621 credentials: "same-origin" 622 }); 623 } 624 async function preloadWithMap(id, importMapIn) { 625 addImportMap(importMapIn); 626 await initPromise; 627 return preloadModule(resolve(id, pageBaseUrl2), { 628 credentials: "same-origin" 629 }); 630 } 631 632 // packages/interactivity-router/build-module/assets/script-modules.mjs 633 var resolvedScriptModules = /* @__PURE__ */ new Set(); 634 var markScriptModuleAsResolved = (url) => { 635 resolvedScriptModules.add(url); 636 }; 637 var preloadScriptModules = (doc) => { 638 const importMapElement = doc.querySelector( 639 "script#wp-importmap[type=importmap]" 640 ); 641 const importMap2 = importMapElement ? JSON.parse(importMapElement.text) : { imports: {}, scopes: {} }; 642 for (const key in initialImportMap.imports) { 643 delete importMap2.imports[key]; 644 } 645 const moduleUrls = [ 646 ...doc.querySelectorAll( 647 "script[type=module][src][data-wp-router-options]" 648 ) 649 ].filter((script) => { 650 try { 651 const parsed = JSON.parse( 652 script.getAttribute("data-wp-router-options") 653 ); 654 return parsed?.loadOnClientNavigation === true; 655 } catch { 656 return false; 657 } 658 }).map((script) => script.src); 659 return moduleUrls.filter((url) => !resolvedScriptModules.has(url)).map((url) => preloadWithMap(url, importMap2)); 660 }; 661 var importScriptModules = (modules) => Promise.all(modules.map((m) => importPreloadedModule(m))); 662 663 // packages/interactivity-router/build-module/index.mjs 664 var { 665 getRegionRootFragment, 666 initialVdomPromise, 667 toVdom, 668 render, 669 parseServerData, 670 populateServerData, 671 batch, 672 routerRegions, 673 h: createElement, 674 navigationSignal, 675 sessionId, 676 warn 677 } = privateApis( 678 "I acknowledge that using private APIs means my theme or plugin will inevitably break in the next version of WordPress." 679 ); 680 var regionAttr = `data-wp-router-region`; 681 var interactiveAttr = `data-wp-interactive`; 682 var regionsSelector = `[$interactiveAttr}][$regionAttr}], [$interactiveAttr}] [$interactiveAttr}][$regionAttr}]`; 683 var pages = /* @__PURE__ */ new Map(); 684 var getPagePath = (url) => { 685 const u = new URL(url, window.location.href); 686 return u.pathname + u.search; 687 }; 688 var parseRegionAttribute = (region) => { 689 const value = region.getAttribute(regionAttr); 690 try { 691 const { id, attachTo } = JSON.parse(value); 692 return { id, attachTo }; 693 } catch (e) { 694 return { id: value }; 695 } 696 }; 697 var cloneRouterRegionContent = (vdom) => { 698 if (!vdom) { 699 return vdom; 700 } 701 const allPriorityLevels = vdom.props.priorityLevels; 702 const routerRegionLevel = allPriorityLevels.findIndex( 703 (level) => level.includes("router-region") 704 ); 705 const priorityLevels = routerRegionLevel !== -1 ? allPriorityLevels.slice(routerRegionLevel + 1) : allPriorityLevels; 706 return priorityLevels.length > 0 ? createElement(vdom.type, { 707 ...vdom.props, 708 priorityLevels 709 }) : vdom.props.element; 710 }; 711 var regionsToAttachByParent = /* @__PURE__ */ new WeakMap(); 712 var rootFragmentsByParent = /* @__PURE__ */ new WeakMap(); 713 var initialRegionsToAttach = /* @__PURE__ */ new Set(); 714 var fetchPage = async (url, { html }) => { 715 try { 716 if (!html) { 717 const res = await window.fetch(url); 718 if (res.status !== 200) { 719 return false; 720 } 721 html = await res.text(); 722 } 723 const dom = new window.DOMParser().parseFromString(html, "text/html"); 724 return await preparePage(url, dom); 725 } catch (e) { 726 return false; 727 } 728 }; 729 var preparePage = async (url, dom, { vdom } = {}) => { 730 dom.querySelectorAll("noscript").forEach((el) => el.remove()); 731 const regions = {}; 732 const regionsToAttach = {}; 733 dom.querySelectorAll(regionsSelector).forEach((region) => { 734 const { id, attachTo } = parseRegionAttribute(region); 735 if (region.parentElement.closest(`[$regionAttr}]`)) { 736 regions[id] = void 0; 737 } else { 738 regions[id] = vdom?.has(region) ? vdom.get(region) : toVdom(region); 739 } 740 if (attachTo && !initialRegionsToAttach.has(id)) { 741 regionsToAttach[id] = attachTo; 742 } 743 }); 744 const title = dom.querySelector("title")?.innerText; 745 const initialData = parseServerData(dom); 746 const [styles, scriptModules] = await Promise.all([ 747 Promise.all(preloadStyles(dom)), 748 Promise.all(preloadScriptModules(dom)) 749 ]); 750 return { 751 regions, 752 regionsToAttach, 753 styles, 754 scriptModules, 755 title, 756 initialData, 757 url 758 }; 759 }; 760 var renderPage = (page) => { 761 applyStyles(page.styles); 762 const regionsToAttach = { ...page.regionsToAttach }; 763 batch(() => { 764 populateServerData(page.initialData); 765 navigationSignal.value += 1; 766 routerRegions.forEach((signal) => { 767 signal.value = null; 768 }); 769 const parentsToUpdate = /* @__PURE__ */ new Set(); 770 for (const id in regionsToAttach) { 771 const parent = document.querySelector(regionsToAttach[id]); 772 if (!regionsToAttachByParent.has(parent)) { 773 regionsToAttachByParent.set(parent, []); 774 } 775 const regions = regionsToAttachByParent.get(parent); 776 if (!regions.includes(id)) { 777 regions.push(id); 778 parentsToUpdate.add(parent); 779 } 780 } 781 for (const id in page.regions) { 782 if (routerRegions.has(id)) { 783 routerRegions.get(id).value = cloneRouterRegionContent( 784 page.regions[id] 785 ); 786 } 787 } 788 parentsToUpdate.forEach((parent) => { 789 const ids = regionsToAttachByParent.get(parent); 790 const vdoms = ids.map((id) => page.regions[id]); 791 if (!rootFragmentsByParent.has(parent)) { 792 const regions = vdoms.map(({ props, type }) => { 793 const elementType = typeof type === "function" ? props.type : type; 794 const region = document.createElement(elementType); 795 parent.appendChild(region); 796 return region; 797 }); 798 rootFragmentsByParent.set( 799 parent, 800 getRegionRootFragment(regions) 801 ); 802 } 803 const fragment = rootFragmentsByParent.get(parent); 804 render(vdoms, fragment); 805 }); 806 }); 807 if (page.title) { 808 document.title = page.title; 809 } 810 }; 811 var forcePageReload = (href) => { 812 window.location.assign(href); 813 return new Promise(() => { 814 }); 815 }; 816 window.addEventListener("popstate", async () => { 817 const pagePath = getPagePath(window.location.href); 818 const page = pages.has(pagePath) && await pages.get(pagePath); 819 if (page) { 820 batch(() => { 821 state.url = window.location.href; 822 renderPage(page); 823 }); 824 } else { 825 window.location.reload(); 826 } 827 }); 828 document.querySelectorAll(regionsSelector).forEach((region) => { 829 const { id, attachTo } = parseRegionAttribute(region); 830 if (attachTo) { 831 initialRegionsToAttach.add(id); 832 } 833 }); 834 window.document.querySelectorAll("script[type=module][src]").forEach(({ src }) => markScriptModuleAsResolved(src)); 835 (async () => { 836 const initialVdomMap = await initialVdomPromise; 837 pages.set( 838 getPagePath(window.location.href), 839 Promise.resolve( 840 preparePage(getPagePath(window.location.href), document, { 841 vdom: initialVdomMap 842 }) 843 ) 844 ); 845 })(); 846 var navigatingTo = ""; 847 var hasLoadedNavigationTextsData = false; 848 var navigationTexts = { 849 loading: "Loading page, please wait.", 850 loaded: "Page Loaded." 851 }; 852 var { state: privateState } = store( 853 "core/router/private", 854 { 855 state: { 856 navigation: { 857 hasStarted: false, 858 hasFinished: false 859 } 860 } 861 }, 862 { lock: true } 863 ); 864 var { state, actions } = store("core/router", { 865 state: { 866 get navigation() { 867 if (true) { 868 warn( 869 `The usage of state.navigation.{hasStarted|hasFinished} from core/router is deprecated and will stop working in WordPress 7.1.` 870 ); 871 } 872 return privateState.navigation; 873 } 874 }, 875 actions: { 876 /** 877 * Navigates to the specified page. 878 * 879 * This function normalizes the passed href, fetches the page HTML if 880 * needed, and updates any interactive regions whose contents have 881 * changed. It also creates a new entry in the browser session history. 882 * 883 * @param href The page href. 884 * @param [options] Options object. 885 * @param [options.force] If true, it forces re-fetching the URL. 886 * @param [options.html] HTML string to be used instead of fetching the requested URL. 887 * @param [options.replace] If true, it replaces the current entry in the browser session history. 888 * @param [options.timeout] Time until the navigation is aborted, in milliseconds. Default is 10000. 889 * @param [options.loadingAnimation] Whether an animation should be shown while navigating. Default to `true`. 890 * @param [options.screenReaderAnnouncement] Whether a message for screen readers should be announced while navigating. Default to `true`. 891 * 892 * @return Promise that resolves once the navigation is completed or aborted. 893 */ 894 *navigate(href, options = {}) { 895 const { clientNavigationDisabled } = getConfig(); 896 if (clientNavigationDisabled) { 897 yield forcePageReload(href); 898 } 899 const pagePath = getPagePath(href); 900 const { navigation } = privateState; 901 const { 902 loadingAnimation = true, 903 screenReaderAnnouncement = true, 904 timeout = 1e4 905 } = options; 906 navigatingTo = href; 907 actions.prefetch(pagePath, options); 908 const timeoutPromise = new Promise( 909 (resolve2) => setTimeout(resolve2, timeout) 910 ); 911 const loadingTimeout = setTimeout(() => { 912 if (navigatingTo !== href) { 913 return; 914 } 915 if (loadingAnimation) { 916 navigation.hasStarted = true; 917 navigation.hasFinished = false; 918 } 919 if (screenReaderAnnouncement) { 920 a11ySpeak("loading"); 921 } 922 }, 400); 923 const page = yield Promise.race([ 924 pages.get(pagePath), 925 timeoutPromise 926 ]); 927 clearTimeout(loadingTimeout); 928 if (navigatingTo !== href) { 929 return; 930 } 931 if (page && !page.initialData?.config?.["core/router"]?.clientNavigationDisabled) { 932 yield importScriptModules(page.scriptModules); 933 batch(() => { 934 state.url = href; 935 if (loadingAnimation) { 936 navigation.hasStarted = false; 937 navigation.hasFinished = true; 938 } 939 renderPage(page); 940 }); 941 window.history[options.replace ? "replaceState" : "pushState"]({ wpInteractivityId: sessionId }, "", href); 942 if (screenReaderAnnouncement) { 943 a11ySpeak("loaded"); 944 } 945 const { hash } = new URL(href, window.location.href); 946 if (hash) { 947 document.querySelector(hash)?.scrollIntoView(); 948 } 949 } else { 950 yield forcePageReload(href); 951 } 952 }, 953 /** 954 * Prefetches the page with the passed URL. 955 * 956 * The function normalizes the URL and stores internally the fetch 957 * promise, to avoid triggering a second fetch for an ongoing request. 958 * 959 * @param url The page URL. 960 * @param [options] Options object. 961 * @param [options.force] Force fetching the URL again. 962 * @param [options.html] HTML string to be used instead of fetching the requested URL. 963 * 964 * @return Promise that resolves once the page has been fetched. 965 */ 966 *prefetch(url, options = {}) { 967 const { clientNavigationDisabled } = getConfig(); 968 if (clientNavigationDisabled) { 969 return; 970 } 971 const pagePath = getPagePath(url); 972 if (options.force || !pages.has(pagePath)) { 973 pages.set( 974 pagePath, 975 fetchPage(pagePath, { html: options.html }) 976 ); 977 } 978 yield pages.get(pagePath); 979 } 980 } 981 }); 982 state.url = state.url || window.location.href; 983 function a11ySpeak(messageKey) { 984 if (!hasLoadedNavigationTextsData) { 985 hasLoadedNavigationTextsData = true; 986 const content = document.getElementById( 987 "wp-script-module-data-@wordpress/interactivity-router" 988 )?.textContent; 989 if (content) { 990 try { 991 const parsed = JSON.parse(content); 992 if (typeof parsed?.i18n?.loading === "string") { 993 navigationTexts.loading = parsed.i18n.loading; 994 } 995 if (typeof parsed?.i18n?.loaded === "string") { 996 navigationTexts.loaded = parsed.i18n.loaded; 997 } 998 } catch { 999 } 1000 } else { 1001 if (state.navigation.texts?.loading) { 1002 navigationTexts.loading = state.navigation.texts.loading; 1003 } 1004 if (state.navigation.texts?.loaded) { 1005 navigationTexts.loaded = state.navigation.texts.loaded; 1006 } 1007 } 1008 } 1009 const message = navigationTexts[messageKey]; 1010 import("@wordpress/a11y").then( 1011 ({ speak }) => speak(message), 1012 // Ignore failures to load the a11y module. 1013 () => { 1014 } 1015 ); 1016 } 1017 export { 1018 actions, 1019 state 1020 };
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated : Tue Jun 23 08:20:11 2026 | Cross-referenced by PHPXref |