[ Index ]

PHP Cross Reference of WordPress Trunk (Updated Daily)

Search

title

Body

[close]

/wp-includes/js/dist/script-modules/interactivity-router/ -> index.js (source)

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


Generated : Wed Nov 11 08:20:02 2026 Cross-referenced by PHPXref