(function () {
function setup(wrap) {
if (wrap.dataset.tooltipReady) return;
wrap.dataset.tooltipReady = "1";
const svg = wrap.querySelector("svg");
const tooltip = wrap.querySelector(".diagram-tooltip");
if (!svg || !tooltip) return;
svg.addEventListener("pointermove", (e) => {
const g = e.target.closest("g");
if (!g) return;
tooltip.textContent = g.getAttribute("data-name") || g.id || "Part";
tooltip.classList.add("is-visible");
const r = wrap.getBoundingClientRect();
tooltip.style.left = (e.clientX - r.left) + "px";
tooltip.style.top = (e.clientY - r.top) + "px";
});
svg.addEventListener("pointerleave", () => {
tooltip.classList.remove("is-visible");
});
}
const boot = () => document.querySelectorAll(".diagram-wrap").forEach(setup);
boot();
new MutationObserver(boot).observe(document.documentElement, {
childList: true,
subtree: true
});
})();