sirius-press/wp-includes/js/dist/script-modules/interactivity-router/full-page.js
Silent Mode 1f173de885 WordPress 7.1.1
Pristine upstream, unpacked from the official wordpress.org tarball.

  https://wordpress.org/wordpress-7.1.1.tar.gz
  sha1   2a9d68474e8703aa3a66f80427b325e0941b6a1e  (published by wordpress.org)
  sha256 3996fee13448ef12e07e9f0c77db2f655ffa1b7cde71c80a4965d3bf1fb956b3

This branch carries nothing but upstream releases, one commit each, and is
never edited. It is the other side of the git-subtree merge that brings
security releases into SiriusPress/wordpress/ — see
SiriusPress/docs/upstream-merges.md.
2026-09-21 02:53:57 +02:00

28 lines
1.3 KiB
JavaScript

// packages/interactivity-router/build-module/full-page.mjs
var isValidLink = (ref) => ref && ref instanceof window.HTMLAnchorElement && ref.href && (!ref.target || ref.target === "_self") && ref.origin === window.location.origin && !ref.pathname.startsWith("/wp-admin") && !ref.pathname.startsWith("/wp-login.php") && !ref.getAttribute("href").startsWith("#") && !new URL(ref.href).searchParams.has("_wpnonce");
var isValidEvent = (event) => event && event.button === 0 && // Left clicks only.
!event.metaKey && // Open in new tab (Mac).
!event.ctrlKey && // Open in new tab (Windows).
!event.altKey && // Download.
!event.shiftKey && !event.defaultPrevented;
document.addEventListener("click", async (event) => {
const ref = event.target.closest("a");
if (isValidLink(ref) && isValidEvent(event)) {
event.preventDefault();
const { actions } = await import("@wordpress/interactivity-router");
actions.navigate(ref.href);
}
});
document.addEventListener(
"mouseenter",
async (event) => {
if (event.target?.nodeName === "A") {
const ref = event.target.closest("a");
if (isValidLink(ref) && isValidEvent(event)) {
const { actions } = await import("@wordpress/interactivity-router");
actions.prefetch(ref.href);
}
}
},
true
);