"use strict"; (function () { function manageBreakdanceTabs() { const tabContentSelector = ".bde-advanced-tabs-content"; const tabsSelector = ".bde-advanced-tabs"; function getAdvancedTabsParent(selector) { return document.querySelector(selector)?.closest(tabsSelector); } function getAdvancedTabsNodeId(selector) { const advancedTabsElement = getAdvancedTabsParent(selector); if (advancedTabsElement) { return advancedTabsElement.dataset?.nodeId; } return null; } function alertIfTabLinkAndTabContentDontMatch(advancedTabsNodeId) { const advancedTabs = document.querySelector( `[data-node-id="${advancedTabsNodeId}"]` ); const tabsMenu = advancedTabs.querySelectorAll(".js-tab"); const tabsPanels = advancedTabs.querySelectorAll(".js-panel"); if (!tabsMenu || !tabsPanels) return; const tabLinksCount = tabsMenu.length; const tabContentsCount = tabsPanels.length; if (tabLinksCount > tabContentsCount) { const plural = tabLinksCount - tabContentsCount > 1 ? "s" : ""; window.parent.Breakdance.NotificationLogger.log.message( `You're missing ${ tabLinksCount - tabContentsCount } "Tab Content" element${plural} in a "Advanced Tabs" element. `, 8000 ); } if (tabLinksCount < tabContentsCount) { const plural = tabContentsCount - tabLinksCount > 1 ? "Tabs" : "Tab"; window.parent.Breakdance.NotificationLogger.log.message( `You're missing ${ tabContentsCount - tabLinksCount } "${plural}" in a "Advanced Tabs" element.`, 8000 ); } } function activateTabFromStructurePanel(selector) { const advancedTabsNodeId = getAdvancedTabsNodeId(selector); const tabsContentElement = document .querySelector(selector) ?.closest(tabContentSelector); if ( window.breakdanceTabsInstances && window.breakdanceTabsInstances[advancedTabsNodeId] ) { window.breakdanceTabsInstances[ advancedTabsNodeId ].updateAndActivateTabFromSelector(tabsContentElement); } } function update(selector) { const advancedTabsNodeId = getAdvancedTabsNodeId(selector); if ( window.breakdanceTabsInstances && window.breakdanceTabsInstances[advancedTabsNodeId] ) { window.breakdanceTabsInstances[advancedTabsNodeId].update(); } } return { alertIfTabLinkAndTabContentDontMatch, activateTabFromStructurePanel, update, }; } window.manageBreakdanceTabs = manageBreakdanceTabs; })();