document.addEventListener('DOMContentLoaded', function () {
// Only run if tooltips are present
var tooltips = document.querySelectorAll('.js-tooltip');
if (tooltips.length === 0) {
return;
}
// Function to close all tooltips
function closeAllTooltips() {
tooltips.forEach(function (tooltip) {
tooltip.classList.remove('is-active');
});
}
tooltips.forEach(function (tooltip) {
var trigger = tooltip.querySelector('.c-tooltip__trigger');
trigger.addEventListener('click', function (event) {
// Don't close when clicking the trigger
event.stopPropagation();
// Check if this tooltip is already active
var isActive = tooltip.classList.contains('is-active');
// First, close all other tooltips
closeAllTooltips();
// If it wasn't active, activate it now
if (!isActive) {
tooltip.classList.add('is-active');
}
});
});
// Add a listener to the whole document to close tooltips when clicking outside
document.addEventListener('click', function () {
closeAllTooltips();
});
});