{"version":3,"file":"tablist-tablist.chunk.959fdaf7d6357033bad3.js","mappings":"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","sources":["webpack:///./html/wp-content/themes/ls/src/js/main/components/tablist/tablist.ts","webpack:///./html/wp-content/themes/ls/src/js/utils/tracking/GA4/navigation/navTracking.ts"],"sourcesContent":["import { gtm } from 'root/utils/tracking/googleTagManagerDeprecated';\nimport { GoogleTagManager } from 'root/utils/tracking/GA4/googleTagManager';\nimport navTracking from 'root/utils/tracking/GA4/navigation/navTracking';\n\nclass TabList {\n #tabList: HTMLElement;\n #tabs: NodeListOf;\n #tabPanels: NodeListOf;\n #focusedTabIndex: number;\n\n constructor(el: HTMLElement) {\n this.#tabList = el;\n this.#tabs = this.#tabList.querySelectorAll('[role=\"tab\"]');\n this.#focusedTabIndex = 0; // keep track of which tab button should get focus, even when focus is elsewhere\n this.#tabPanels = document.querySelectorAll('[role=\"tabpanel\"]');\n }\n\n #changeTabIndexValues() {\n for (const tab of this.#tabs) {\n tab.setAttribute(\n 'tabindex',\n `${tab === this.#tabs[this.#focusedTabIndex] ? '0' : '-1'}`\n );\n }\n }\n addListeners() {\n for (const tab of this.#tabs) {\n tab.addEventListener('click', ({ currentTarget }) => {\n if (tab.getAttribute('aria-selected') === 'false') {\n // @ts-ignore\n gtm.tabClickForPanelChange(tab.innerText.toLowerCase()).sendEvent(\n 'tabs'\n );\n const GTMObject = navTracking(currentTarget as HTMLElement);\n GTMObject && GoogleTagManager.sendEvent(GTMObject);\n }\n\n const targetPanel =\n currentTarget instanceof Element\n ? document.querySelector(\n `#${currentTarget.getAttribute('aria-controls')}`\n )\n : null;\n\n this.#tabs.forEach((tab, index) => {\n tab.setAttribute('aria-selected', `${tab === currentTarget}`);\n if (tab === currentTarget) {\n this.#focusedTabIndex = index;\n }\n });\n this.#changeTabIndexValues();\n\n for (const panel of this.#tabPanels) {\n if (panel === targetPanel) {\n panel.removeAttribute('hidden');\n } else {\n panel.setAttribute('hidden', '');\n }\n }\n });\n }\n this.#tabList.addEventListener('keydown', event => {\n if (event.key === 'ArrowRight' || event.key === 'ArrowLeft') {\n event.preventDefault();\n if (event.key === 'ArrowRight') {\n this.#focusedTabIndex++;\n if (this.#focusedTabIndex >= this.#tabs.length) {\n this.#focusedTabIndex = 0;\n }\n } else if (event.key === 'ArrowLeft') {\n this.#focusedTabIndex--;\n if (this.#focusedTabIndex < 0) {\n this.#focusedTabIndex = this.#tabs.length - 1;\n }\n }\n this.#changeTabIndexValues();\n this.#tabs[this.#focusedTabIndex].focus();\n this.#tabs[this.#focusedTabIndex].click();\n }\n });\n }\n}\nexport default function tablist(tabLists: HTMLElement[]) {\n tabLists.forEach(tabList => {\n const tl = new TabList(tabList);\n tl.addListeners();\n });\n}\n","import { capitalize } from 'lodash';\nimport type { GTMEvent } from 'root/utils/tracking/GA4/googleTagManager';\nimport { PlacementEnums, PlacementType } from 'root/utils/tracking/GA4/types';\nimport { getDecodedValueFromSessionStorage } from 'root/utils/dom/sessionStorage';\nimport {\n sessionStartTimeKey,\n sessionScrolledKey,\n} from 'root/core/tracking/sessionTracking/sessionTracking';\n\nenum EventActionEnums {\n menuAction = 'click_menu',\n submenuAction = 'click_sub_menu',\n secondaryAction = 'click_secondary_menu',\n secondarySubmenuAction = 'click_secondary_sub_menu',\n}\n\nenum NavigationCategoryEnums {\n menuCat = 'menu_category',\n submenuCat = 'sub_menu_category',\n labelCat = 'label',\n}\n\nenum NavigationGroupEnums {\n main = 'main',\n secondary = 'secondary',\n}\nenum NavigationLevelEnums {\n parent = 'parent',\n child = 'child',\n grandchild = 'grandchild',\n}\nenum NavigationPlatformEnums {\n mobile = 'mobile',\n desktop = 'desktop',\n}\n\ntype EventActionType =\n | EventActionEnums.menuAction\n | EventActionEnums.submenuAction\n | EventActionEnums.secondaryAction\n | EventActionEnums.secondarySubmenuAction;\n\ntype NavigationGroupType =\n | NavigationGroupEnums.main\n | NavigationGroupEnums.secondary\n | undefined;\ntype NavigationLevelType =\n | NavigationLevelEnums.parent\n | NavigationLevelEnums.child\n | NavigationLevelEnums.grandchild\n | undefined;\ntype NavigationPlatformType =\n | NavigationPlatformEnums.mobile\n | NavigationPlatformEnums.desktop\n | undefined;\ninterface GTMNavigationEventInterface extends GTMEvent {\n event_action: EventActionType;\n placement: PlacementType;\n menu_category?: string;\n sub_menu_category?: string;\n label?: string;\n session_start_time?: string;\n scrolled_75?: string;\n}\n\nexport default function navTracking(el: HTMLElement) {\n const navigationLevelEl = el?.closest('[data-navigation-level]');\n const navigationPlatformEl = el?.closest('[data-navigation-platform]');\n const navigationGroupEl = el?.closest('[data-navigation-group]');\n\n const navigationLevel =\n navigationLevelEl &&\n (navigationLevelEl?.dataset.navigationLevel as NavigationLevelType);\n\n const navigationPlatform =\n navigationPlatformEl &&\n (navigationPlatformEl?.dataset.navigationPlatform as NavigationPlatformType);\n\n const navigationGroup =\n navigationGroupEl &&\n (navigationGroupEl?.dataset.navigationGroup as NavigationGroupType);\n\n const { parent, child, grandchild } = NavigationLevelEnums;\n const { main, secondary } = NavigationGroupEnums;\n const { mobile, desktop } = NavigationPlatformEnums;\n\n const navigationLevelAssertionMap: Record> = {\n parent: {\n isMainNavigation: navigationLevel === parent && navigationGroup === main,\n isSecondaryNavigation:\n (navigationLevel === parent &&\n navigationGroup === secondary &&\n navigationPlatform === desktop) ??\n false,\n isSecondaryNavigationMobile:\n (navigationLevel === parent &&\n navigationGroup === secondary &&\n navigationPlatform === mobile) ??\n false,\n isFooterNavigation:\n (el.closest('[data-footer-nav-column]') && navigationLevel === parent) ??\n false,\n isTabsNavigation: navigationLevel === parent ?? false,\n },\n child: {\n isSubNavigation:\n (navigationLevel === child && navigationGroup === main) ?? false,\n isSecondarySubNavigationMobile:\n (navigationLevel === child &&\n navigationGroup === secondary &&\n navigationPlatform === mobile) ??\n false,\n },\n grandchild: {\n isSubNavigationLabel:\n (navigationLevel === grandchild && navigationGroup === main) ?? false,\n\n isSecondaryLabelNavigation:\n (navigationLevel === grandchild &&\n navigationGroup === secondary &&\n navigationPlatform === desktop) ??\n false,\n\n isSecondaryLabelNavigationMobile:\n (navigationLevel === grandchild &&\n navigationGroup === secondary &&\n navigationPlatform === mobile) ??\n false,\n\n isFooterLabelNavigation:\n (el.closest('[data-footer-nav-column]') &&\n navigationLevel === grandchild) ??\n false,\n },\n };\n\n const getTabPlacement = (): PlacementType | null => {\n const { nav, hero, footer, body } = PlacementEnums;\n return [nav, hero, footer, body].includes(el?.dataset.placement as PlacementEnums)\n ? (el.dataset.placement as PlacementType)\n : null;\n };\n const getEventAction = (): EventActionType => {\n const { isSecondaryNavigation, isSecondaryNavigationMobile } =\n navigationLevelAssertionMap.parent;\n const { isSubNavigation, isSecondarySubNavigationMobile } =\n navigationLevelAssertionMap.child;\n const {\n isSubNavigationLabel,\n isSecondaryLabelNavigation,\n isSecondaryLabelNavigationMobile,\n } = navigationLevelAssertionMap.grandchild;\n if (isSubNavigation || isSubNavigationLabel) {\n return EventActionEnums.submenuAction;\n } else if (\n isSecondaryNavigation ||\n isSecondaryLabelNavigation ||\n isSecondaryNavigationMobile\n ) {\n return EventActionEnums.secondaryAction;\n } else if (isSecondarySubNavigationMobile || isSecondaryLabelNavigationMobile) {\n return EventActionEnums.secondarySubmenuAction;\n } else {\n return EventActionEnums.menuAction;\n }\n };\n const getEventPlacement = (): PlacementType => {\n const {\n isSecondaryNavigation,\n isSecondaryNavigationMobile,\n isFooterNavigation,\n isTabsNavigation,\n } = navigationLevelAssertionMap.parent;\n const { isSecondarySubNavigationMobile } = navigationLevelAssertionMap.child;\n const {\n isFooterLabelNavigation,\n isSecondaryLabelNavigation,\n isSecondaryLabelNavigationMobile,\n } = navigationLevelAssertionMap.grandchild;\n if (\n isSecondaryNavigation ||\n isSecondaryLabelNavigation ||\n isSecondaryNavigationMobile ||\n isSecondarySubNavigationMobile ||\n isSecondaryLabelNavigationMobile\n ) {\n return PlacementEnums.hero;\n } else if (isFooterNavigation || isFooterLabelNavigation) {\n return PlacementEnums.footer;\n } else if (isTabsNavigation && getTabPlacement()) {\n return getTabPlacement() as PlacementType;\n } else {\n return PlacementEnums.nav;\n }\n };\n\n const getNavigationCategories = (GTMObject: GTMNavigationEventInterface) => {\n const footerNavEl = el\n .closest('[data-footer-nav-column]')\n ?.querySelector('[data-navigation-level=parent]');\n\n const footerLabelEl = el.closest('[data-navigation-level=child]');\n\n const tabEl =\n (el.closest('[role=tab]')?.firstElementChild as HTMLElement | undefined) ||\n el.closest('[role=tab]');\n\n const navEl =\n (el.closest('[data-navigation-level=parent]')\n ?.firstElementChild as HTMLElement) ||\n el.closest('[data-navigation-level=parent]') ||\n tabEl ||\n footerNavEl;\n\n const subnavEl =\n (el.closest('[data-navigation-level=child]')\n ?.firstElementChild as HTMLElement) ||\n el.closest('[data-navigation-level=child]');\n const labelEl =\n (el.closest('[data-navigation-level=grandchild]')\n ?.firstElementChild as HTMLElement) ||\n el.closest('[data-navigation-level=grandchild]') ||\n footerLabelEl;\n\n const getCapitalizedInnerText = (element: HTMLElement) => {\n return capitalize(element?.innerText ?? '');\n };\n\n /*\n * this is a necessary exception in order to get the root text of the breadcrumb\n * when we have the following breadcrumb structure for the secondary mobile nav\n * root name > last selected item name (Example Retail > Payments)\n * Without this exception, if the user clicked on the \"last selected item name\" of the breadcrumb\n * the last selected item text will be sent instead of the root parent element text.\n * */\n const getSecondaryNavigationMobileBreadcrumbsRootText = (el: HTMLElement) => {\n const secondaryNavFirstChildMobile = el.closest(\n '.navigation-btf-mobile__menu__list[data-secondary-nav-header]'\n )?.firstElementChild;\n if (\n secondaryNavFirstChildMobile?.classList.contains(\n 'navigation-btf-mobile__item--breadcrumb-first'\n )\n ) {\n return (\n capitalize(secondaryNavFirstChildMobile?.textContent?.trim()) ?? ''\n );\n }\n };\n\n const getMenuCategory =\n getSecondaryNavigationMobileBreadcrumbsRootText(navEl) ||\n getCapitalizedInnerText(navEl);\n const getSubMenuCategory = getCapitalizedInnerText(subnavEl);\n const getLabel = getCapitalizedInnerText(labelEl);\n\n const isNav = Object.values(navigationLevelAssertionMap.parent).includes(true);\n const isSubnav = Object.values(navigationLevelAssertionMap.child).includes(true);\n const isLabel = Object.values(navigationLevelAssertionMap.grandchild).includes(\n true\n );\n\n const { menuCat, submenuCat, labelCat } = NavigationCategoryEnums;\n if (isNav) {\n getMenuCategory && (GTMObject[menuCat] = getMenuCategory);\n } else if (isSubnav) {\n getMenuCategory && (GTMObject[menuCat] = getMenuCategory);\n getSubMenuCategory && (GTMObject[submenuCat] = getSubMenuCategory);\n } else if (isLabel) {\n getMenuCategory && (GTMObject[menuCat] = getMenuCategory);\n getSubMenuCategory && (GTMObject[submenuCat] = getSubMenuCategory);\n getLabel && (GTMObject[labelCat] = getLabel);\n }\n\n return GTMObject;\n };\n\n const getGTMObject = (): GTMNavigationEventInterface => {\n const GTMObject: GTMNavigationEventInterface = {\n event_action: getEventAction(),\n placement: getEventPlacement(),\n scrolled_75: getDecodedValueFromSessionStorage(sessionScrolledKey) ?? 'false',\n session_start_time:\n getDecodedValueFromSessionStorage(sessionStartTimeKey) ?? '0',\n };\n getNavigationCategories(GTMObject);\n return GTMObject;\n };\n\n if (\n Object.values({\n ...navigationLevelAssertionMap.grandchild,\n ...navigationLevelAssertionMap.child,\n ...navigationLevelAssertionMap.parent,\n }).includes(true)\n ) {\n return getGTMObject();\n }\n}\n"],"names":["_tabList","WeakMap","_tabs","_tabPanels","_focusedTabIndex","_TabList_brand","WeakSet","TabList","_createClass","el","_classCallCheck","_classPrivateFieldInitSpec","_classPrivateFieldSet","this","_classPrivateFieldGet","querySelectorAll","document","key","value","_step","_this","_iterator","_createForOfIteratorHelper","_loop","tab","addEventListener","_ref","currentTarget","getAttribute","gtm","innerText","toLowerCase","sendEvent","GTMObject","navTracking","GoogleTagManager","targetPanel","Element","querySelector","concat","forEach","index","setAttribute","_assertClassBrand","_changeTabIndexValues","call","_step2","_iterator2","s","n","done","panel","removeAttribute","err","e","f","event","_this$focusedTabIndex","preventDefault","length","_this$focusedTabIndex3","focus","click","_step3","_iterator3","tablist","tabLists","tabList","addListeners","EventActionEnums","NavigationCategoryEnums","NavigationGroupEnums","NavigationLevelEnums","NavigationPlatformEnums","_ref2","_ref3","_ref4","_ref5","_ref6","_ref7","_ref8","_ref9","_ref10","_getDecodedValueFromS","_getDecodedValueFromS2","_navigationLevelAsser","isSecondaryNavigation","isSecondaryNavigationMobile","_navigationLevelAsser2","isSubNavigation","isSecondarySubNavigationMobile","_navigationLevelAsser3","isSubNavigationLabel","isSecondaryLabelNavigation","isSecondaryLabelNavigationMobile","navigationLevelEl","closest","navigationPlatformEl","navigationGroupEl","navigationLevel","dataset","navigationPlatform","navigationGroup","parent","child","grandchild","main","secondary","mobile","desktop","navigationLevelAssertionMap","isMainNavigation","isFooterNavigation","isTabsNavigation","isFooterLabelNavigation","getTabPlacement","PlacementEnums","includes","placement","Object","values","_objectSpread","_el$closest","_el$closest2","_el$closest3","_el$closest4","_el$closest5","footerNavEl","footerLabelEl","tabEl","firstElementChild","navEl","subnavEl","labelEl","getCapitalizedInnerText","element","_element$innerText","capitalize","getMenuCategory","_el$closest6","_capitalize","_secondaryNavFirstChi","secondaryNavFirstChildMobile","classList","contains","textContent","trim","getSecondaryNavigationMobileBreadcrumbsRootText","getSubMenuCategory","getLabel","isNav","isSubnav","isLabel","menuCat","submenuCat","labelCat","getNavigationCategories","event_action","submenuAction","secondaryAction","secondarySubmenuAction","menuAction","_navigationLevelAsser4","_navigationLevelAsser5","getEventPlacement","scrolled_75","getDecodedValueFromSessionStorage","sessionScrolledKey","session_start_time","sessionStartTimeKey"],"sourceRoot":""}