mirror of
https://github.com/tiennm99/HugoBlox-kit.git
synced 2026-10-16 10:14:59 +00:00
BREAKING CHANGE Module paths moved to `github.com/HugoBlox/kit` with new names: - core `blox-tailwind` → `blox` - analytics → `analytics` - netlify → `integrations/netlify` - slides (reveal) → `slides` Update go.mod, module.yaml/params, scripts, tests, and v0.11 migration guide accordingly.
28 lines
1.2 KiB
JavaScript
28 lines
1.2 KiB
JavaScript
window.addEventListener("DOMContentLoaded", () => {
|
|
// Toggle language chooser sub-menu
|
|
const languageChoosers = document.querySelectorAll("[data-hb-language-chooser]");
|
|
languageChoosers.forEach((languageChooser) => {
|
|
languageChooser.addEventListener("click", (e) => {
|
|
e.preventDefault();
|
|
languageChooser.dataset.state = languageChooser.dataset.state === "open" ? "closed" : "open";
|
|
const languageOptions = languageChooser.nextElementSibling;
|
|
languageOptions.classList.toggle("hidden");
|
|
const languageChooserRect = languageChooser.getBoundingClientRect();
|
|
const translateY = languageChooserRect.bottom - window.innerHeight + 40;
|
|
languageOptions.style.transform = `translate3d(${languageChooserRect.left}px, ${translateY}px, 0)`;
|
|
languageOptions.style.minWidth = `${Math.max(languageChooserRect.width, 50)}px`;
|
|
});
|
|
});
|
|
|
|
// Handle clicks outside chooser
|
|
document.addEventListener("click", (e) => {
|
|
if (e.target.closest("[data-hb-language-chooser]") === null) {
|
|
languageChoosers.forEach((languageChooser) => {
|
|
languageChooser.dataset.state = "closed";
|
|
const languageOptions = languageChooser.nextElementSibling;
|
|
languageOptions.classList.add("hidden");
|
|
});
|
|
}
|
|
});
|
|
});
|