| 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 |
}; |
| 1021 |
//# sourceMappingURL=index.js.map |
| 1022 |
|