| [ 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/.store/es-module-lexer@1.7.0-gHi57fYnqFW7Bwxoq90PCA/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 pushStringTo2 = 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 var pushStringTo = pushStringTo2; 460 let lastIndex = 0; 461 let depIndex = 0; 462 const dynamicImportEndStack = []; 463 for (const { 464 s: start, 465 ss: statementStart, 466 se: statementEnd, 467 d: dynamicImportIndex 468 } of imports) { 469 if (dynamicImportIndex === -1) { 470 const depLoad = load.deps[depIndex++]; 471 let blobUrl = depLoad.blobUrl; 472 const cycleShell = !blobUrl; 473 if (cycleShell) { 474 if (!(blobUrl = depLoad.shellUrl)) { 475 blobUrl = depLoad.shellUrl = createBlob( 476 `export function u$_(m){$depLoad.analysis[1].map(({ s, e }, i) => { 477 const q = depLoad.source[s] === '"' || depLoad.source[s] === "'"; 478 return `e$_$i}=m$q ? `[` : "."}$depLoad.source.slice(s, e)}$q ? `]` : ""}`; 479 }).join(",")}}$depLoad.analysis[1].length ? `let $depLoad.analysis[1].map((_, i) => `e$_$i}`).join(",")};` : ""}export {$depLoad.analysis[1].map( 480 ({ s, e }, i) => `e$_$i} as $depLoad.source.slice( 481 s, 482 e 483 )}` 484 ).join(",")}} 485 //# sourceURL=${depLoad.responseUrl}?cycle` 486 ); 487 } 488 } 489 pushStringTo2(start - 1); 490 resolvedSource += `/*${source.slice( 491 start - 1, 492 statementEnd 493 )}*/$urlJsString(blobUrl)}`; 494 if (!cycleShell && depLoad.shellUrl) { 495 resolvedSource += `;import*as m$_$depIndex} from'$depLoad.blobUrl}';import{u$_ as u$_$depIndex}}from'$depLoad.shellUrl}';u$_$depIndex}(m$_$depIndex})`; 496 depLoad.shellUrl = void 0; 497 } 498 lastIndex = statementEnd; 499 } else if (dynamicImportIndex === -2) { 500 throw Error("The import.meta property is not supported."); 501 } else { 502 pushStringTo2(statementStart); 503 resolvedSource += `wpInteractivityRouterImport(`; 504 dynamicImportEndStack.push(statementEnd - 1); 505 lastIndex = start; 506 } 507 } 508 if (load.shellUrl) { 509 resolvedSource += ` 510 ;import{u$_}from'$load.shellUrl}';try{u$_({$exports.filter((e) => e.ln).map(({ s, e, ln }) => `$source.slice(s, e)}:$ln}`).join(",")}})}catch(_){}; 511 `; 512 } 513 pushStringTo2(source.length); 514 } 515 let hasSourceURL = false; 516 resolvedSource = resolvedSource.replace( 517 sourceMapURLRegEx, 518 (match, isMapping, url) => { 519 hasSourceURL = !isMapping; 520 return match.replace( 521 url, 522 () => new URL(url, load.responseUrl).toString() 523 ); 524 } 525 ); 526 if (!hasSourceURL) { 527 resolvedSource += "\n//# sourceURL=" + load.responseUrl; 528 } 529 load.blobUrl = createBlob(resolvedSource); 530 load.source = void 0; 531 } 532 var sourceMapURLRegEx = /\n\/\/# source(Mapping)?URL=([^\n]+)\s*((;|\/\/[^#][^\n]*)\s*)*$/; 533 function getOrCreateLoad(url, fetchOpts, parent) { 534 let load = registry[url]; 535 if (load) { 536 return load; 537 } 538 load = { url }; 539 if (registry[url]) { 540 let i = 0; 541 while (registry[load.url + ++i]) { 542 } 543 load.url += i; 544 } 545 registry[load.url] = load; 546 load.fetchPromise = (async () => { 547 let source; 548 ({ responseUrl: load.responseUrl, source } = await (fetchCache[url] || fetchModule(url, fetchOpts, parent))); 549 try { 550 load.analysis = parse(source, load.url); 551 } catch (e) { 552 console.error(e); 553 load.analysis = [[], [], false, false]; 554 } 555 load.source = source; 556 return load; 557 })(); 558 load.linkPromise = load.fetchPromise.then(async () => { 559 let childFetchOpts = fetchOpts; 560 load.deps = (await Promise.all( 561 load.analysis[0].map(async ({ n, d }) => { 562 if (d !== -1 || !n) { 563 return void 0; 564 } 565 const responseUrl = resolve( 566 n, 567 load.responseUrl || load.url 568 ); 569 if (skip && skip(responseUrl)) { 570 return { blobUrl: responseUrl }; 571 } 572 if (childFetchOpts.integrity) { 573 childFetchOpts = { 574 ...childFetchOpts, 575 integrity: void 0 576 }; 577 } 578 return getOrCreateLoad( 579 responseUrl, 580 childFetchOpts, 581 load.responseUrl 582 ).fetchPromise; 583 }) 584 )).filter((l) => l); 585 }); 586 return load; 587 } 588 var dynamicImport = (u) => import( 589 /* webpackIgnore: true */ 590 u 591 ); 592 async function preloadModule(url, fetchOpts) { 593 await initPromise; 594 const load = getOrCreateLoad(url, fetchOpts, null); 595 const seen = {}; 596 await loadAll(load, seen); 597 resolveDeps(load, seen); 598 await Promise.resolve(); 599 return load; 600 } 601 async function importPreloadedModule(load) { 602 const module = await dynamicImport(load.blobUrl); 603 if (load.shellUrl) { 604 (await dynamicImport(load.shellUrl)).u$_(module); 605 } 606 return module; 607 } 608 async function topLevelLoad(url, fetchOpts) { 609 const load = await preloadModule(url, fetchOpts); 610 return importPreloadedModule(load); 611 } 612 613 // packages/interactivity-router/build-module/assets/dynamic-importmap/index.mjs 614 var baseUrl2 = document.baseURI; 615 var pageBaseUrl2 = baseUrl2; 616 Object.defineProperty(self, "wpInteractivityRouterImport", { 617 value: importShim, 618 writable: false, 619 enumerable: false, 620 configurable: false 621 }); 622 async function importShim(id) { 623 await initPromise; 624 return topLevelLoad(resolve(id, pageBaseUrl2), { 625 credentials: "same-origin" 626 }); 627 } 628 async function preloadWithMap(id, importMapIn) { 629 addImportMap(importMapIn); 630 await initPromise; 631 return preloadModule(resolve(id, pageBaseUrl2), { 632 credentials: "same-origin" 633 }); 634 } 635 636 // packages/interactivity-router/build-module/assets/script-modules.mjs 637 var resolvedScriptModules = /* @__PURE__ */ new Set(); 638 var markScriptModuleAsResolved = (url) => { 639 resolvedScriptModules.add(url); 640 }; 641 var preloadScriptModules = (doc) => { 642 const importMapElement = doc.querySelector( 643 "script#wp-importmap[type=importmap]" 644 ); 645 const importMap2 = importMapElement ? JSON.parse(importMapElement.text) : { imports: {}, scopes: {} }; 646 for (const key in initialImportMap.imports) { 647 delete importMap2.imports[key]; 648 } 649 const moduleUrls = [ 650 ...doc.querySelectorAll( 651 "script[type=module][src][data-wp-router-options]" 652 ) 653 ].filter((script) => { 654 try { 655 const parsed = JSON.parse( 656 script.getAttribute("data-wp-router-options") 657 ); 658 return parsed?.loadOnClientNavigation === true; 659 } catch { 660 return false; 661 } 662 }).map((script) => script.src); 663 return moduleUrls.filter((url) => !resolvedScriptModules.has(url)).map((url) => preloadWithMap(url, importMap2)); 664 }; 665 var importScriptModules = (modules) => Promise.all(modules.map((m) => importPreloadedModule(m))); 666 667 // packages/interactivity-router/build-module/index.mjs 668 var { 669 getRegionRootFragment, 670 initialVdomPromise, 671 toVdom, 672 parseDirectiveValue, 673 render, 674 parseServerData, 675 populateServerData, 676 batch, 677 routerRegions, 678 h: createElement, 679 navigationSignal, 680 sessionId, 681 warn, 682 afterNextFrame, 683 getScope 684 } = privateApis( 685 "I acknowledge that using private APIs means my theme or plugin will inevitably break in the next version of WordPress." 686 ); 687 var regionAttr = `data-wp-router-region`; 688 var interactiveAttr = `data-wp-interactive`; 689 var regionsSelector = `[$interactiveAttr}][$regionAttr}], [$interactiveAttr}] [$interactiveAttr}][$regionAttr}]`; 690 var pages = /* @__PURE__ */ new Map(); 691 var getPagePath = (url) => { 692 const u = new URL(url, window.location.href); 693 return u.pathname + u.search; 694 }; 695 var parseRegionAttribute = (region) => { 696 const { value } = parseDirectiveValue( 697 region.getAttribute(regionAttr) ?? "" 698 ); 699 if (typeof value === "string") { 700 return { id: value }; 701 } 702 return { 703 id: value.id, 704 attachTo: value.attachTo 705 }; 706 }; 707 var parseRegionId = (value) => { 708 if (value === null) { 709 return null; 710 } 711 const { value: parsedValue } = parseDirectiveValue(value); 712 const id = typeof parsedValue === "string" ? parsedValue : parsedValue.id; 713 return typeof id === "string" && id ? id : null; 714 }; 715 var cloneRouterRegionContent = (vdom) => { 716 if (!vdom) { 717 return vdom; 718 } 719 const allPriorityLevels = vdom.props.priorityLevels; 720 const routerRegionLevel = allPriorityLevels.findIndex( 721 (level) => level.includes("router-region") 722 ); 723 const priorityLevels = routerRegionLevel !== -1 ? allPriorityLevels.slice(routerRegionLevel + 1) : allPriorityLevels; 724 return priorityLevels.length > 0 ? createElement(vdom.type, { 725 ...vdom.props, 726 priorityLevels 727 }) : vdom.props.element; 728 }; 729 var regionsToAttachByParent = /* @__PURE__ */ new WeakMap(); 730 var rootFragmentsByParent = /* @__PURE__ */ new WeakMap(); 731 var initialRegionsToAttach = /* @__PURE__ */ new Set(); 732 var fetchPage = async (url, { html }) => { 733 try { 734 if (!html) { 735 const res = await window.fetch(url); 736 if (res.status !== 200) { 737 return false; 738 } 739 html = await res.text(); 740 } 741 const dom = new window.DOMParser().parseFromString(html, "text/html"); 742 return await preparePage(url, dom); 743 } catch { 744 return false; 745 } 746 }; 747 var preparePage = async (url, dom, { vdom } = {}) => { 748 dom.querySelectorAll("noscript").forEach((el) => el.remove()); 749 const regions = /* @__PURE__ */ Object.create(null); 750 const regionsToAttach = /* @__PURE__ */ Object.create(null); 751 dom.querySelectorAll(regionsSelector).forEach((region) => { 752 const { id, attachTo } = parseRegionAttribute(region); 753 if (region.parentElement.closest(`[$regionAttr}]`)) { 754 regions[id] = void 0; 755 } else { 756 regions[id] = vdom?.has(region) ? vdom.get(region) : toVdom(region); 757 } 758 if (attachTo && !initialRegionsToAttach.has(id)) { 759 regionsToAttach[id] = attachTo; 760 } 761 }); 762 const title = dom.querySelector("title")?.innerText; 763 const initialData = parseServerData(dom); 764 const [styles, scriptModules] = await Promise.all([ 765 Promise.all(preloadStyles(dom)), 766 Promise.all(preloadScriptModules(dom)) 767 ]); 768 return { 769 regions, 770 regionsToAttach, 771 styles, 772 scriptModules, 773 title, 774 initialData, 775 url 776 }; 777 }; 778 var renderPage = (page) => { 779 applyStyles(page.styles); 780 const regionsToAttach = { ...page.regionsToAttach }; 781 batch(() => { 782 populateServerData(page.initialData); 783 navigationSignal.value += 1; 784 routerRegions.forEach((signal) => { 785 signal.value = null; 786 }); 787 const parentsToUpdate = /* @__PURE__ */ new Set(); 788 for (const id in regionsToAttach) { 789 const parent = document.querySelector(regionsToAttach[id]); 790 if (!regionsToAttachByParent.has(parent)) { 791 regionsToAttachByParent.set(parent, []); 792 } 793 const regions = regionsToAttachByParent.get(parent); 794 if (!regions.includes(id)) { 795 regions.push(id); 796 parentsToUpdate.add(parent); 797 } 798 } 799 for (const id in page.regions) { 800 if (routerRegions.has(id)) { 801 routerRegions.get(id).value = cloneRouterRegionContent( 802 page.regions[id] 803 ); 804 } 805 } 806 parentsToUpdate.forEach((parent) => { 807 const ids = regionsToAttachByParent.get(parent); 808 const vdoms = ids.map((id) => page.regions[id]); 809 if (!rootFragmentsByParent.has(parent)) { 810 const regions = vdoms.map(({ props, type }) => { 811 const elementType = typeof type === "function" ? props.type : type; 812 const region = document.createElement(elementType); 813 parent.appendChild(region); 814 return region; 815 }); 816 rootFragmentsByParent.set( 817 parent, 818 getRegionRootFragment(regions) 819 ); 820 } 821 const fragment = rootFragmentsByParent.get(parent); 822 render(vdoms, fragment); 823 }); 824 }); 825 if (page.title) { 826 document.title = page.title; 827 } 828 }; 829 var forcePageReload = (href) => { 830 window.location.assign(href); 831 return new Promise(() => { 832 }); 833 }; 834 var LIFECYCLE_RELEASE_BOUND = 1e4; 835 var reloadAndDischarge = (token) => { 836 try { 837 window.location.reload(); 838 } finally { 839 if (currentNavigationId === token && (state.navigating || state.initiator !== null && state.initiator !== void 0)) { 840 batch(() => { 841 if (state.navigating) { 842 state.navigating = false; 843 } 844 if (state.initiator !== null) { 845 state.initiator = null; 846 } 847 }); 848 } 849 } 850 }; 851 window.addEventListener("popstate", async () => { 852 const pagePath = getPagePath(window.location.href); 853 const token = ++navigationId; 854 currentNavigationId = token; 855 setTimeout(() => { 856 if (currentNavigationId === token && state.navigating) { 857 state.navigating = false; 858 } 859 }, LIFECYCLE_RELEASE_BOUND); 860 if (!pages.has(pagePath)) { 861 reloadAndDischarge(token); 862 return; 863 } 864 try { 865 if (state.initiator !== null && state.initiator !== void 0) { 866 state.initiator = null; 867 } 868 const page = await pages.get(pagePath); 869 if (!page) { 870 reloadAndDischarge(token); 871 return; 872 } 873 if (currentNavigationId === token) { 874 batch(() => { 875 state.navigating = true; 876 state.initiator = null; 877 }); 878 } 879 batch(() => { 880 state.url = window.location.href; 881 renderPage(page); 882 }); 883 if (currentNavigationId === token) { 884 afterNextFrame(() => { 885 if (currentNavigationId === token) { 886 state.navigating = false; 887 } 888 }); 889 } 890 } catch (error) { 891 if (currentNavigationId === token && state.navigating) { 892 afterNextFrame(() => { 893 if (currentNavigationId === token) { 894 state.navigating = false; 895 } 896 }); 897 } 898 throw error; 899 } 900 }); 901 document.querySelectorAll(regionsSelector).forEach((region) => { 902 const { id, attachTo } = parseRegionAttribute(region); 903 if (attachTo) { 904 initialRegionsToAttach.add(id); 905 } 906 }); 907 window.document.querySelectorAll("script[type=module][src]").forEach(({ src }) => markScriptModuleAsResolved(src)); 908 (async () => { 909 const initialVdomMap = await initialVdomPromise; 910 pages.set( 911 getPagePath(window.location.href), 912 Promise.resolve( 913 preparePage(getPagePath(window.location.href), document, { 914 vdom: initialVdomMap 915 }) 916 ) 917 ); 918 })(); 919 var navigatingTo = ""; 920 var navigationId = 0; 921 var currentNavigationId = 0; 922 var hasLoadedNavigationTextsData = false; 923 var navigationTexts = { 924 loading: "Loading page, please wait.", 925 loaded: "Page Loaded." 926 }; 927 var resolveInitiator = (declared) => { 928 if (typeof declared === "string" && declared !== "") { 929 return declared; 930 } 931 if (declared === null) { 932 return null; 933 } 934 if (declared === void 0) { 935 const scope = getScope(); 936 const element = scope?.ref?.current; 937 if (typeof element?.closest !== "function") { 938 return null; 939 } 940 const region = element.closest(`[$regionAttr}]`); 941 if (!region) { 942 return null; 943 } 944 return parseRegionId(region.getAttribute(regionAttr)); 945 } 946 if (true) { 947 warn( 948 "The `initiator` option of `actions.navigate()` must be a nonempty string or null. Ignoring the value." 949 ); 950 } 951 return null; 952 }; 953 var { state: privateState } = store( 954 "core/router/private", 955 { 956 state: { 957 navigation: { 958 hasStarted: false, 959 hasFinished: false 960 } 961 } 962 }, 963 { lock: true } 964 ); 965 var { state, actions } = store("core/router", { 966 state: { 967 // `navigating` and `initiator` are deliberately not declared here. 968 // Giving them an idle value would change a tracked signal from 969 // `undefined` to a value when the router module lazily loads, which 970 // would re-run every watcher already bound to them. 971 get navigation() { 972 if (true) { 973 warn( 974 `The usage of state.navigation.{hasStarted|hasFinished} from core/router is deprecated and will stop working in WordPress 7.1.` 975 ); 976 } 977 return privateState.navigation; 978 } 979 }, 980 actions: { 981 /** 982 * Navigates to the specified page. 983 * 984 * This function normalizes the passed href, fetches the page HTML if 985 * needed, and updates any interactive regions whose contents have 986 * changed. It also creates a new entry in the browser session history. 987 * 988 * @param href The page href. 989 * @param [options] Options object. 990 * @param [options.force] If true, it forces re-fetching the URL. 991 * @param [options.html] HTML string to be used instead of fetching the requested URL. 992 * @param [options.replace] If true, it replaces the current entry in the browser session history. 993 * @param [options.timeout] Time until the navigation is aborted, in milliseconds. Default is 10000. 994 * @param [options.loadingAnimation] Whether an animation should be shown while navigating. Default to `true`. 995 * @param [options.screenReaderAnnouncement] Whether a message for screen readers should be announced while navigating. Default to `true`. 996 * @param [options.initiator] Who started the navigation. A nonempty string is used as is; `null` suppresses attribution silently; omitting it derives the value from the directive scope. An empty string or any other invalid value warns when `SCRIPT_DEBUG` is enabled, resolves to `null`, and never derives an initiator. 997 * 998 * @return Promise that resolves once the navigation is completed or aborted. 999 */ 1000 *navigate(href, options = {}) { 1001 const { clientNavigationDisabled } = getConfig(); 1002 if (clientNavigationDisabled) { 1003 yield forcePageReload(href); 1004 } 1005 const initiator = resolveInitiator(options.initiator); 1006 const pagePath = getPagePath(href); 1007 const { navigation } = privateState; 1008 const { 1009 loadingAnimation = true, 1010 screenReaderAnnouncement = true, 1011 timeout = 1e4 1012 } = options; 1013 navigatingTo = href; 1014 actions.prefetch(pagePath, options); 1015 const timeoutPromise = new Promise( 1016 (resolve2) => setTimeout(resolve2, timeout) 1017 ); 1018 const loadingTimeout = setTimeout(() => { 1019 if (navigatingTo !== href) { 1020 return; 1021 } 1022 if (loadingAnimation) { 1023 navigation.hasStarted = true; 1024 navigation.hasFinished = false; 1025 } 1026 if (screenReaderAnnouncement) { 1027 a11ySpeak("loading"); 1028 } 1029 }, 400); 1030 const token = ++navigationId; 1031 currentNavigationId = token; 1032 try { 1033 batch(() => { 1034 state.navigating = true; 1035 state.initiator = initiator; 1036 }); 1037 const page = yield Promise.race([ 1038 pages.get(pagePath), 1039 timeoutPromise 1040 ]); 1041 clearTimeout(loadingTimeout); 1042 if (navigatingTo !== href) { 1043 return; 1044 } 1045 if (page && !page.initialData?.config?.["core/router"]?.clientNavigationDisabled) { 1046 yield importScriptModules(page.scriptModules); 1047 batch(() => { 1048 state.url = href; 1049 if (loadingAnimation) { 1050 navigation.hasStarted = false; 1051 navigation.hasFinished = true; 1052 } 1053 renderPage(page); 1054 }); 1055 window.history[options.replace ? "replaceState" : "pushState"]({ wpInteractivityId: sessionId }, "", href); 1056 if (screenReaderAnnouncement) { 1057 a11ySpeak("loaded"); 1058 } 1059 const { hash } = new URL(href, window.location.href); 1060 if (hash) { 1061 document.querySelector(hash)?.scrollIntoView(); 1062 } 1063 } else { 1064 setTimeout(() => { 1065 if (currentNavigationId === token && state.navigating) { 1066 state.navigating = false; 1067 } 1068 }, LIFECYCLE_RELEASE_BOUND); 1069 yield forcePageReload(href); 1070 } 1071 } finally { 1072 if (currentNavigationId === token) { 1073 afterNextFrame(() => { 1074 if (currentNavigationId === token) { 1075 state.navigating = false; 1076 } 1077 }); 1078 } 1079 } 1080 }, 1081 /** 1082 * Prefetches the page with the passed URL. 1083 * 1084 * The function normalizes the URL and stores internally the fetch 1085 * promise, to avoid triggering a second fetch for an ongoing request. 1086 * 1087 * @param url The page URL. 1088 * @param [options] Options object. 1089 * @param [options.force] Force fetching the URL again. 1090 * @param [options.html] HTML string to be used instead of fetching the requested URL. 1091 * 1092 * @return Promise that resolves once the page has been fetched. 1093 */ 1094 *prefetch(url, options = {}) { 1095 const { clientNavigationDisabled } = getConfig(); 1096 if (clientNavigationDisabled) { 1097 return; 1098 } 1099 const pagePath = getPagePath(url); 1100 if (options.force || !pages.has(pagePath)) { 1101 pages.set( 1102 pagePath, 1103 fetchPage(pagePath, { html: options.html }) 1104 ); 1105 } 1106 yield pages.get(pagePath); 1107 } 1108 } 1109 }); 1110 state.url = state.url || window.location.href; 1111 function a11ySpeak(messageKey) { 1112 if (!hasLoadedNavigationTextsData) { 1113 hasLoadedNavigationTextsData = true; 1114 const content = document.getElementById( 1115 "wp-script-module-data-@wordpress/interactivity-router" 1116 )?.textContent; 1117 if (content) { 1118 try { 1119 const parsed = JSON.parse(content); 1120 if (typeof parsed?.i18n?.loading === "string") { 1121 navigationTexts.loading = parsed.i18n.loading; 1122 } 1123 if (typeof parsed?.i18n?.loaded === "string") { 1124 navigationTexts.loaded = parsed.i18n.loaded; 1125 } 1126 } catch { 1127 } 1128 } else { 1129 if (state.navigation.texts?.loading) { 1130 navigationTexts.loading = state.navigation.texts.loading; 1131 } 1132 if (state.navigation.texts?.loaded) { 1133 navigationTexts.loaded = state.navigation.texts.loaded; 1134 } 1135 } 1136 } 1137 const message = navigationTexts[messageKey]; 1138 import("@wordpress/a11y").then( 1139 ({ speak }) => speak(message), 1140 // Ignore failures to load the a11y module. 1141 () => { 1142 } 1143 ); 1144 } 1145 export { 1146 actions, 1147 state 1148 };
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated : Wed Oct 28 08:20:35 2026 | Cross-referenced by PHPXref |