// Support FAB (Floating Action Button) for BCards (function () { 'use strict'; function initSupportFab() { const fabTrigger = document.getElementById('supportFabTrigger'); const fabMenu = document.getElementById('supportFabMenu'); if (!fabTrigger || !fabMenu) { return; } // Toggle menu on trigger click fabTrigger.addEventListener('click', function () { if (fabMenu.style.display === 'none' || fabMenu.style.display === '') { fabMenu.style.display = 'block'; fabTrigger.setAttribute('aria-expanded', 'true'); } else { fabMenu.style.display = 'none'; fabTrigger.setAttribute('aria-expanded', 'false'); } }); // Close menu when clicking outside document.addEventListener('click', function (event) { if (!fabTrigger.contains(event.target) && !fabMenu.contains(event.target)) { fabMenu.style.display = 'none'; fabTrigger.setAttribute('aria-expanded', 'false'); } }); // Close menu on ESC key document.addEventListener('keydown', function (event) { if (event.key === 'Escape' && fabMenu.style.display === 'block') { fabMenu.style.display = 'none'; fabTrigger.setAttribute('aria-expanded', 'false'); } }); // Close menu when clicking menu options const menuOptions = fabMenu.querySelectorAll('.support-fab-option'); menuOptions.forEach(function (option) { option.addEventListener('click', function () { fabMenu.style.display = 'none'; fabTrigger.setAttribute('aria-expanded', 'false'); }); }); } // Initialize on DOM ready if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initSupportFab); } else { initSupportFab(); } })();