{"version":3,"file":"mainNavigation.a781fd621be18fec848d.js","mappings":"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","sources":["webpack://global-main/./Feature/Navigation/code/Views/Feature/Navigation/MainNavigation/mobile/Category.js","webpack://global-main/./Feature/Navigation/code/Views/Feature/Navigation/MainNavigation/inspiration.js","webpack://global-main/./Feature/Navigation/code/Views/Feature/Navigation/MainNavigation/mobile/LinkSection.js","webpack://global-main/./Feature/Navigation/code/Views/Feature/Navigation/MainNavigation/mobile/MenuPrimary.js","webpack://global-main/./Feature/Navigation/code/Views/Feature/Navigation/MainNavigation/actions/types/actionTypes.js","webpack://global-main/./Feature/Navigation/code/Views/Feature/Navigation/MainNavigation/actions/TopNavigationActions.js","webpack://global-main/./Foundation/Common/code/Utils/Extranet/Utils.js","webpack://global-main/./Foundation/React/code/Components/Extranet/Spinner.js","webpack://global-main/./Foundation/React/code/Components/Extranet/AddToCartButtonReact.js","webpack://global-main/./Feature/Navigation/code/Views/Feature/Navigation/MainNavigation/search.js","webpack://global-main/./Feature/Navigation/code/Views/Feature/Navigation/MainNavigation/QuickLinks.js","webpack://global-main/./Feature/Navigation/code/Views/Feature/Navigation/MainNavigation/desktop/MenuContent.js","webpack://global-main/./Feature/Navigation/code/Views/Feature/Navigation/MainNavigation/Logo.js","webpack://global-main/./Feature/Navigation/code/Views/Feature/Navigation/MainNavigation/reducers/TopNavigationReducer.js","webpack://global-main/./Feature/Navigation/code/Views/Feature/Navigation/MainNavigation/MainNavigation.js"],"sourcesContent":["import React from 'react';\n\nfunction Category({ menuSection, setSelectedMenuSection, selectedMenuSection, trackNavigation, menuItem }) {\n return (\n
\n {!selectedMenuSection && (\n <>\n \n \n )}\n\n {selectedMenuSection && selectedMenuSection == menuSection && (\n
\n \n trackNavigation(selectedMenuSection.Link, menuItem.EnglishTitle, selectedMenuSection.EnglishTitle, '')\n }\n >\n {selectedMenuSection.DiscoverAllText}\n \n {menuSection.SubCategories &&\n menuSection.SubCategories.map(function (subcategory, keyIndex) {\n return (\n \n trackNavigation(\n subcategory.Link,\n menuItem.EnglishTitle,\n subcategory.EnglishTitle,\n menuSection.EnglishTitle\n )\n }\n key={keyIndex}\n className=\"paragraph--lead text-color--gray80 py-4 text--truncate\"\n href={subcategory.Link}\n >\n {subcategory.Name}\n \n );\n })}\n
\n )}\n
\n );\n}\nexport default Category;\n","import React from 'react';\n\nfunction Inspiration({ selectedTopmenuItem }) {\n const trackInspiration = (labelName, parentLabel, url, imageSection) => {\n var values = {\n event: 'navigationPromotion',\n headerSection: selectedTopmenuItem.EnglishTitle,\n parentLabel: parentLabel,\n labelName: labelName,\n clickedurl: window.location.host + url,\n imageSection: imageSection,\n };\n\n google.tagmanager.add(values);\n };\n\n return (\n <>\n {selectedTopmenuItem.PromotionField && (\n
\n \n {selectedTopmenuItem.PromotionField.InfoTextHeaderField}\n

\n\n
\n {selectedTopmenuItem.PromotionField.LinksMultiselectField.map(function (link, keyIndex) {\n return (\n {\n trackInspiration(\n link.EnglishTitle,\n selectedTopmenuItem.PromotionField.EnglishInfoTextHeaderField,\n link.Link,\n 'No'\n );\n }}\n className=\"mb-5 paragraph--s text-color--gray80\"\n href={link.Link}\n key={`inspiration__links${keyIndex}`}\n >\n {link.DisplayName}\n \n );\n })}\n
\n
\n {selectedTopmenuItem.PromotionField.ImageURL && (\n {\n trackInspiration(\n selectedTopmenuItem.PromotionField.DisplayName,\n selectedTopmenuItem.PromotionField.EnglishInfoTextHeaderField,\n selectedTopmenuItem.PromotionField.PromotionAreaLinkURL,\n 'Yes'\n );\n }}\n href={selectedTopmenuItem.PromotionField.PromotionAreaLinkURL}\n >\n \n
\n

{selectedTopmenuItem.PromotionField.Header}

\n
\n \n )}\n
\n
\n )}\n \n );\n}\nexport default Inspiration;\n","import React from 'react';\n\nfunction LinkSection({ menuSection, trackNavigation, menuItem, setSelectedMenuSection, selectedMenuSection }) {\n const isSupportLayout =\n !menuItem.HasProductSection && menuItem?.LinkSections?.filter((x) => x.SubLinks?.length > 0).length > 0;\n return (\n
\n {isSupportLayout && !selectedMenuSection && (\n <>\n \n \n )}\n\n {!menuSection.SubLinks ||\n (menuSection.SubLinks.length === 0 && (\n trackNavigation(menuSection.Link, menuItem.EnglishTitle, menuSection.EnglishTitle, '')}\n className=\"paragraph--lead text-color--gray80 py-4\"\n data-label={menuSection.EnglishTitle}\n href={menuSection.Link}\n key={menuSection}\n >\n {menuSection.Title}\n \n ))}\n {selectedMenuSection &&\n selectedMenuSection == menuSection &&\n menuSection.SubLinks &&\n menuSection.SubLinks.map(function (subLink, keyIndex) {\n return (\n \n trackNavigation(subLink.Link, menuItem.EnglishTitle, subLink.EnglishTitle, menuSection.EnglishTitle)\n }\n className=\"paragraph--lead text-color--gray80 py-4\"\n data-label={subLink.EnglishTitle}\n href={subLink.Link}\n key={keyIndex}\n >\n {subLink.Title}\n \n );\n })}\n
\n );\n}\nexport default LinkSection;\n","import React, { useState, useEffect } from 'react';\nimport Category from './Category';\nimport Inspiration from '../inspiration';\nimport LinkSection from './LinkSection';\nfunction MenuPrimary({\n trackNavigation,\n trackSecondaryNavigation,\n TopMenu,\n MyAccountLandingPageURL,\n MobileMyAccountText,\n DealerLocatorPageURL,\n MobileDealerLocatorText,\n}) {\n const [selectedMenuSection, setSelectedMenuSection] = useState();\n const [selectedTopmenuItem, setSelectedTopmenuItem] = useState();\n const marketSelector = _THULEDATA._MainNavigation.MarketSelectorIcon;\n\n useEffect(() => {\n const mainContent = document.querySelector('.menuItem__mainContent.open');\n if (mainContent) {\n mainContent.scrollTop = 0;\n }\n }, [selectedMenuSection, selectedTopmenuItem]);\n\n const openLanguageSelector = () => {\n if (!_THULEDATA.isExtranet) {\n document.querySelector('button[data-bs-target=\"#marketSelector\"]')?.click();\n }\n };\n\n const goBack = () => {\n if (selectedTopmenuItem) {\n if (selectedMenuSection) {\n setSelectedMenuSection(null);\n } else setSelectedTopmenuItem(null);\n }\n };\n let vh = window.innerHeight * 0.01;\n document.documentElement.style.setProperty('--vh', `${vh}px`);\n return (\n \n );\n}\n\nexport default MenuPrimary;\n","export const TOGGLE_MAIN_MENU = 'TOGGLE_MAIN_MENU';\nexport const SET_CURRENT_MENU_LEVEL = 'SET_CURRENT_MENU_LEVEL';\nexport const SET_ACTIVE_MENU_SECTION = 'SET_ACTIVE_MENU_SECTION';\nexport const TOGGLE_CART_NOTIFICATION = 'TOGGLE_CART_NOTIFICATION';\nexport const SET_CART_TOTAL_QUANTITY = 'SET_CART_TOTAL_QUANTITY';\n","import * as actions from './types/actionTypes';\n\nexport const toggleCartNotification = (showCartNotification, quantityAddedToCart, productNameAddedToCart) => {\n return (dispatch) => {\n dispatch({\n type: actions.TOGGLE_CART_NOTIFICATION,\n payload: { showCartNotification, quantityAddedToCart, productNameAddedToCart },\n });\n };\n};\n\nexport const setTotalCartQuantity = (totalCartQuantity) => {\n return (dispatch) => {\n dispatch({\n type: actions.SET_CART_TOTAL_QUANTITY,\n payload: { totalCartQuantity },\n });\n };\n};\n","import { COOKIE_STORAGE, LOCAL_STORAGE, PAYMENT_TERM } from '../../../../React/code/Utilities/ExtranetConstants';\nimport Cookies from 'js-cookie';\nimport { DATE_FILTERS } from '../../../../../Feature/DmtUser/code/Views/Feature/DmtUser/MyAccount/Utils/OrderHistoryConstants';\nimport { setTotalCartQuantity } from '../../../../../Feature/Navigation/code/Views/Feature/Navigation/MainNavigation/actions/TopNavigationActions';\nimport { store } from '../../../../../Feature/Navigation/code/Views/Feature/Navigation/MainNavigation/MainNavigation';\n\nconst configForAddToCartBtn = (erpOutdoor, productType, date, priceListId, orderType) => {\n const user = JSON.parse(localStorage.getItem(LOCAL_STORAGE.EXTRANET_USER));\n if (user) {\n const retailer = user.CurrentSelectedRetailer;\n if (retailer && retailer.B2BEnable) {\n const useAmericasEndpoint = shouldUseAmericasEndpoint(retailer);\n const customerNumber = retailer.ErpId;\n const facility = retailer.Facility;\n const state = checkIfDropship() ? retailer.Dropship.State : retailer.Address.State;\n const lang = Cookies.get(COOKIE_STORAGE.LANGUAGE);\n const url = useAmericasEndpoint ? '/api/sitecore/itemdata/itemdataamericas' : '/api/sitecore/itemdata/itemdataerow';\n\n const quantity = 1;\n\n const body = useAmericasEndpoint\n ? JSON.stringify({\n CustomerNumber: customerNumber,\n ItemNumber: erpOutdoor,\n Facility: facility,\n Quantity: quantity,\n Language: lang,\n Date: date,\n StateOrProvince: state,\n ProductType: productType,\n PriceListId: priceListId,\n OrderType: orderType,\n })\n : JSON.stringify({\n CustomerNumber: customerNumber,\n ItemNumber: erpOutdoor,\n Facility: facility,\n Quantity: quantity,\n Language: lang,\n Date: date,\n });\n return { body, url };\n }\n }\n return undefined;\n};\n\nconst configForAddToCartBtnInBatches = (items, productType, date, priceListId, orderType) => {\n const user = JSON.parse(localStorage.getItem(LOCAL_STORAGE.EXTRANET_USER));\n if (user) {\n const retailer = user.CurrentSelectedRetailer;\n if (retailer) {\n const useAmericasEndpoint = shouldUseAmericasEndpoint(retailer);\n const customerNumber = retailer.ErpId;\n const facility = retailer.Facility;\n const state = checkIfDropship() ? retailer.Dropship.State : retailer.Address.State;\n const lang = Cookies.get(COOKIE_STORAGE.LANGUAGE);\n const url = useAmericasEndpoint\n ? '/api/sitecore/itemdata/itemdatabatchamericas'\n : '/api/sitecore/itemdata/itemdatabatcherow';\n\n const quantity = 1;\n\n const body = useAmericasEndpoint\n ? JSON.stringify({\n CustomerNumber: customerNumber,\n Items: items,\n Facility: facility,\n Quantity: quantity,\n Language: lang,\n Date: date,\n StateOrProvince: state,\n ProductType: productType,\n PriceListId: priceListId,\n OrderType: orderType,\n })\n : JSON.stringify({\n CustomerNumber: customerNumber,\n Items: items,\n Facility: facility,\n Quantity: quantity,\n Language: lang,\n Date: date,\n });\n return { body, url };\n }\n }\n return undefined;\n};\n\nexport function fetchDataForAddToCartButtonInBatches(\n items,\n onSuccess,\n onFailure,\n productType = '',\n date,\n abortSignal,\n priceListId,\n orderType,\n orderId\n) {\n const addToCartBtnData = configForAddToCartBtnInBatches(items, productType, date, priceListId, orderType);\n if (addToCartBtnData) {\n return fetch(addToCartBtnData.url, {\n method: 'POST',\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n body: addToCartBtnData.body,\n signal: abortSignal,\n })\n .then((response) => response.json())\n .then((data) => {\n onSuccess(data, items, orderId);\n })\n .catch((error) => {\n onFailure(error);\n });\n }\n}\n\nexport function fetchDataForAddToCartButton(\n erpOutdoor,\n onSuccess,\n onFailure,\n productType = '',\n date,\n abortSignal,\n priceListId,\n orderType\n) {\n const addToCartBtnData = configForAddToCartBtn(erpOutdoor, productType, date, priceListId, orderType);\n if (addToCartBtnData) {\n return fetch(addToCartBtnData.url, {\n method: 'POST',\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n body: addToCartBtnData.body,\n signal: abortSignal,\n })\n .then((response) => response.json())\n .then((data) => {\n onSuccess(data, erpOutdoor);\n })\n .catch((error) => {\n onFailure(error);\n });\n }\n}\n\nexport function fetchDataForBundleAddToCartButton(erpOutdoors, onSuccess, onFailure, productType = '') {\n return Promise.all(\n erpOutdoors.map(async (erpOutdoor) => {\n const productDataFromM3 = await fetchDataForAddToCartButton(erpOutdoor, onSuccess, onFailure, productType);\n return productDataFromM3;\n })\n )\n}\n\nexport function SolutionAddToCartBtn(erpOutdoor, abortSignal) {\n const addToCartBtnData = configForAddToCartBtn(erpOutdoor);\n if (addToCartBtnData) {\n return fetch(addToCartBtnData.url, {\n method: 'POST',\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n body: addToCartBtnData.body,\n signal: abortSignal,\n })\n .then((response) => response.json())\n .then((data) => {\n return data;\n })\n .catch((error) => {\n return error;\n });\n }\n}\n\nexport function CreatedOrder(\n onSuccess,\n onFailure,\n orderType,\n cartLines,\n reference,\n isFitKit,\n requestedDeliveryDate = '',\n freightCost,\n freightMethod,\n paymentTransactionId,\n yourRef,\n customDeliveryTerm,\n warehouse,\n isCustomerOrderRegistrationOrder\n) {\n let language = Cookies.get(COOKIE_STORAGE.LANGUAGE);\n let user = JSON.parse(localStorage.getItem(LOCAL_STORAGE.EXTRANET_USER));\n let currentSelectedRetailer = user.CurrentSelectedRetailer;\n let address = currentSelectedRetailer.Address;\n let dropShip = currentSelectedRetailer.Dropship;\n\n //Set default values if not Customer order registration order for orderType.\n if (!isCustomerOrderRegistrationOrder) {\n if (!orderType || !orderType.trim()) orderType = currentSelectedRetailer.OrderType;\n }\n if (!reference) reference = new Date().getTime();\n if (!warehouse || !warehouse.trim()) warehouse = currentSelectedRetailer.Warehouse;\n\n let body = {\n ErpId: currentSelectedRetailer.ErpId,\n ReferenceNumber: reference,\n OrderType: orderType,\n IsFitKit: isFitKit,\n DeliveryAddressId: address?.AddressM3Id,\n PaymentTerm: currentSelectedRetailer.PaymentTerm,\n DropshipAddress: dropShip,\n Facility: currentSelectedRetailer.Facility,\n Warehouse: warehouse,\n CartLines: cartLines,\n RequestedDeliveryDate: requestedDeliveryDate,\n FreightCost: freightCost,\n FreightMethod: freightMethod,\n PaymentTransactionId: paymentTransactionId, //empty string unless it's a Cenpos order. Then use Cenpos transaction id\n DeliveryTerm: currentSelectedRetailer.DeliveryTerm,\n CustomDeliveryTerm: customDeliveryTerm,\n Language: language,\n YourRef: yourRef,\n isCustomerOrderRegistrationOrder: isCustomerOrderRegistrationOrder,\n };\n\n fetch(`/api/sitecore/order/createorder`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(body),\n })\n .then((response) => response.json())\n .then((data) => onSuccess(data, reference))\n .catch((error) => onFailure(error));\n}\n\nexport function getCart(onSuccess, onFailure) {\n const cartIdentifier = localStorage.getItem(LOCAL_STORAGE.CART_IDENTIFIER);\n\n fetch('/api/sitecore/standalonecart/getcart?cartIdentifier=' + cartIdentifier, {\n method: 'GET',\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n })\n .then((response) => response.json())\n .then((data) => {\n onSuccess(data);\n })\n .catch((error) => {\n onFailure(error);\n });\n}\n\nexport const getTotalCartQuantity = () => {\n const cartIdentifier = localStorage.getItem(LOCAL_STORAGE.CART_IDENTIFIER);\n fetch('/api/sitecore/standalonecart/GetCartCount?cartIdentifier=' + cartIdentifier, {\n method: 'GET',\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n })\n .then((response) => response.json())\n .then((data) => {\n store.dispatch(setTotalCartQuantity(data));\n\n document.querySelectorAll('.cart-counter').forEach((currentNode) => {\n currentNode.innerHTML = data;\n currentNode.classList.toggle('d-none', data.TotalQuantity === 0);\n });\n })\n .catch((error) => {\n console.error('Error: ', error);\n });\n};\n\nconst gtmEvent = (event) => {\n window.google = window.google || {};\n dataLayer.push(event);\n};\n\nexport function addCartLines(productList, onSuccess, onFailure, gmtEventData = null) {\n fetch('/api/sitecore/standalonecart/addcartlines', {\n method: 'POST',\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n cartLines: productList,\n }),\n })\n .then((response) => response.json())\n .then((data) => {\n if (gmtEventData) {\n gtmEvent(gmtEventData);\n }\n getTotalCartQuantity();\n onSuccess(data);\n })\n .catch((error) => {\n onFailure(error);\n });\n}\n\nexport function removeCartLines(cartId, productId, quantity, onSuccess, onFailure, gmtEventData) {\n fetch('/api/sitecore/standalonecart/removecartlines', {\n method: 'POST',\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n cartLines: [\n {\n cartId: cartId,\n productId: productId,\n quantity: quantity,\n },\n ],\n }),\n })\n .then((response) => response.json())\n .then((data) => {\n if (gmtEventData) {\n gtmEvent(gmtEventData);\n }\n getTotalCartQuantity();\n onSuccess(data);\n })\n .catch((error) => {\n onFailure(error);\n });\n}\n\nexport function getFormattedPrice(price, onSuccess, abortSignal, onFail) {\n const language = Cookies.get(COOKIE_STORAGE.LANGUAGE);\n fetch(`/api/sitecore/retailers/getformattedprice?price=${price}&language=${language}`, {\n method: 'GET',\n signal: abortSignal,\n })\n .then((result) => {\n if (result.ok) return result.json();\n })\n .then((data) => {\n onSuccess(data);\n })\n .catch((error) => {\n console.log(error);\n if (onFail) onFail();\n });\n}\n\nexport function getFormattedPriceWithCurrencySymbol(price) {\n if (!price && price !== 0) return '';\n const language = Cookies.get(COOKIE_STORAGE.LANGUAGE);\n const currencyCode = _THULEDATA?.currencyCode;\n if (!language || !currencyCode) return '';\n return price.toLocaleString(language, { style: 'currency', currency: currencyCode, maximumFractionDigits: 2 });\n}\n\nexport function getFormattedPrices(prices, onSuccess, abortSignal, onFail) {\n const language = Cookies.get(COOKIE_STORAGE.LANGUAGE);\n fetch(`/api/sitecore/retailers/getformattedprices`, {\n method: 'POST',\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({ prices: prices, language: language }),\n signal: abortSignal,\n })\n .then((result) => {\n if (result.ok) return result.json();\n })\n .then((data) => {\n onSuccess(data);\n })\n .catch((error) => {\n console.log(error);\n if (onFail) onFail();\n });\n}\n\nexport function getRetailer() {\n let retailer = null;\n const user = getUser();\n if (user) {\n retailer = user.CurrentSelectedRetailer;\n }\n return retailer;\n}\n\nexport function getUser() {\n return JSON.parse(localStorage.getItem(LOCAL_STORAGE.EXTRANET_USER));\n}\n\nexport function getCurrentLanguage() {\n return Cookies.get(COOKIE_STORAGE.LANGUAGE);\n}\n\nexport function checkIfAmericas() {\n let isAmericas = false;\n const retailer = getRetailer();\n if (retailer) {\n const country = retailer.Country.Abbrevation;\n isAmericas = country === 'US' || country === 'CA';\n }\n return isAmericas;\n}\n\nexport function checkIfDropship() {\n let isDropship = false;\n const retailer = getRetailer();\n if (retailer) {\n if (retailer.Dropship) isDropship = true;\n }\n return isDropship;\n}\n\nexport function GetPaymentTermFromPaymentTermId(paymentTermId) {\n // Empty or null = Invoice\n if (!paymentTermId) return PAYMENT_TERM.INVOICE;\n\n // PaymentTerm , i.e 030 etc.. . = Invoice\n if (paymentTermId !== 'CC' && paymentTermId !== '000') return PAYMENT_TERM.INVOICE;\n\n // PaymentTerm equals CC = Credit card.\n if (paymentTermId === 'CC' || paymentTermId === '000') return PAYMENT_TERM.CREDIT_CARD;\n}\n\n//expects dateformat in string as YYYYMMMDD (20240110)\nexport const formatDateForSorting = (date) => {\n const year = date.substring(0, 4);\n const month = date.substring(4, 6);\n const day = date.substring(6, 8);\n\n return new Date(year, month - 1, day);\n};\n\n//Used to get a date in the past based on\n//date filter the user has selected\n//E.g. see orders starting from a certain date\nexport const getDateFrom = (clickedFilter) => {\n const dateTo = new Date();\n const year = dateTo.getFullYear();\n const month = dateTo.getMonth();\n const day = dateTo.getDate();\n\n let dateFrom = new Date();\n if (clickedFilter === DATE_FILTERS.ONE_YEAR) {\n dateFrom = new Date(year - 1, month, day);\n } else if (clickedFilter === DATE_FILTERS.THREE_MONTHS) {\n dateFrom = new Date(year, month - 3, day);\n } else {\n dateFrom = new Date(year, month - 1, day);\n }\n\n return dateFrom;\n};\n\nexport const downloadInvoice = (invoiceNumber, onSuccess, onFail, abortSignal) => {\n const user = JSON.parse(localStorage.getItem(LOCAL_STORAGE.EXTRANET_USER));\n const retailer = user?.CurrentSelectedRetailer;\n const facility = retailer?.Facility;\n fetch('/api/sitecore/invoice/downloadinvoice?invoiceNumber=' + invoiceNumber + '&facility=' + facility, {\n method: 'GET',\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n signal: abortSignal,\n })\n .then((resp) => resp.blob())\n .then((blob) => {\n onSuccess(blob);\n })\n .catch((error) => {\n onFail(error);\n });\n};\n\nexport const downloadFile = (blob, fileName) => {\n const url = window.URL.createObjectURL(blob);\n const a = document.createElement('a');\n a.style.display = 'none';\n a.href = url;\n //set the filename\n a.download = fileName;\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n window.URL.revokeObjectURL(url);\n};\n\nexport const openTutorialModal = () => {\n const background = document.querySelector('#tutorial-background');\n const component = document.querySelector('#tutorial-component');\n\n background.classList.add('d-block');\n component.classList.add('d-flex');\n\n background.classList.remove('d-none');\n component.classList.remove('d-none');\n};\n\nexport const formatProductId = (product, showEan) => {\n if (!product.ErpOutdoor) return product.ProductId;\n else if (showEan) return `${product.ErpOutdoor} / ${product.EAN ? product.EAN : ''}`;\n else if (product.ErpOutdoor === product.ThuleSku || !product.ThuleSku) return product.ErpOutdoor;\n else return `${product.ErpOutdoor} / ${product.ThuleSku}`;\n};\n\nexport const getM3FormattedDate = (date) => {\n if (!date) return '';\n const dateMatch = date.match(/\\d+/);\n if (dateMatch) {\n let newDate = new Date(+dateMatch[0]);\n newDate.setHours(12);\n return newDate.toISOString().slice(0, 10).replaceAll('-', '');\n }\n return '';\n};\n\nfunction shouldUseAmericasEndpoint(retailer) {\n if (retailer && retailer.B2BEnable) {\n const country = retailer.Country?.Abbrevation;\n return country === 'US' || country === 'CA' || retailer.Facility === '200';\n }\n return false;\n}","import React, { memo } from 'react';\n\nconst Spinner = ({ extraClasses = null }) => {\n return ;\n};\n\nexport default memo(Spinner);\n","import React, { useEffect, useState } from 'react';\nimport { store } from '../../../../../Feature/Navigation/code/Views/Feature/Navigation/MainNavigation/MainNavigation';\nimport { toggleCartNotification } from '../../../../../Feature/Navigation/code/Views/Feature/Navigation/MainNavigation/actions/TopNavigationActions';\nimport { addCartLines, fetchDataForAddToCartButton, fetchDataForAddToCartButtonInBatches } from '../../../../Common/code/Utils/Extranet/Utils';\nimport { LOCAL_STORAGE, PRODUCT_STATUS, ROLE_GUIDS } from '../../Utilities/ExtranetConstants';\nimport Spinner from './Spinner';\n\nconst AddToCartButtonReact = ({ className, productId, productData, productType }) => {\n const [user, setUser] = useState({});\n const [allowedToSeePrices, setAllowedToSeePrices] = useState(true);\n const [canBuyProducts, setCanBuyProducts] = useState(true);\n const [showSpinner, setShowSpinner] = useState(true);\n const [showAddToCartLoader, setShowAddToCartLoader] = useState(false);\n const [errorMessage, setErrorMessage] = useState('');\n const [amount, setAmount] = useState(1);\n const [showPriceSpinner, setShowPriceSpinner] = useState(true);\n const [showInStockSpinner, setShowInStockSpinner] = useState(true);\n const [m3ResponseData, setM3ResponseData] = useState({});\n const [hideDates, setHideDates] = useState(false);\n const abortController = new AbortController();\n const [showPrices, setShowPrices] = useState(localStorage.getItem('showPrices') === 'true');\n const showM3Date = productData.StatusErp !== 'Pending' && productData.StatusErp !== 'Launch ready' && !productData.UseLaunchDataB2B;\n const rrpText = window._THULEDATA._MainNavigation.RRPText;\n const deliveryLabel = window._THULEDATA.TopNavigation?.Translations.DeliveryLabel;\n const launchDateText = window._THULEDATA.TopNavigation?.Translations.LaunchDateText;\n const generalErrorText = window._THULEDATA.TopNavigation?.Translations.GeneralErrorText;\n const addToCartText = window._THULEDATA.TopNavigation?.Translations.AddToCartButtonText;\n const discontinuedText = window._THULEDATA.TopNavigation?.Translations.DiscontinuedText;\n\n useEffect(() => {\n window.addEventListener('toggleShowPrices', (e) => handleTogglePrices(e.detail));\n return () => {\n window.removeEventListener('toggleShowPrices', handleTogglePrices);\n };\n }, []);\n\n const handleTogglePrices = (show) => {\n setShowPrices(show);\n };\n\n useEffect(() => {\n setUser(JSON.parse(localStorage.getItem(LOCAL_STORAGE.EXTRANET_USER)));\n if (productData.ProductType === 'Spare part') {\n productType = 'Spare part';\n }\n if (productData.StatusErp !== PRODUCT_STATUS.DISCONTINUED && !productData.IsBundle) {\n fetchDataForAddToCartButton(productId, onSuccess, onFailure, productType, '', abortController.signal);\n return () => abortController.abort();\n } else if (productData.IsBundle) {\n const erpOutdoors = productData.ErpOutdoor.split(',');\n let products = [];\n erpOutdoors.forEach((erpOutdoor) => {\n products.push({ itemNumber: erpOutdoor.trim(), productType: productType, quantity: 1 });\n });\n fetchDataForAddToCartButtonInBatches(products, onSuccessBundle, onFailure, abortController.signal);\n return () => abortController.abort();\n }\n else {\n setErrorMessage(discontinuedText);\n setShowSpinner(false);\n setShowInStockSpinner(false);\n setShowPriceSpinner(false);\n }\n }, []);\n\n function onSuccessBundle(data) {\n if (data.HasInvalidItems) {\n const translatedErrorMessage = data.ItemResponses.find((item) => item.TranslatedErrorMessage !== null)?.TranslatedErrorMessage;\n setErrorMessage(translatedErrorMessage ?? generalErrorText);\n }\n else {\n const bundleData = { SalesPrice: data.TotalSalesPrice }\n productData.m3Data = bundleData;\n setM3ResponseData(bundleData);\n setHideDates(true);\n }\n setShowSpinner(false);\n setShowInStockSpinner(false);\n setShowPriceSpinner(false);\n }\n\n function onSuccess(data) {\n if (\n data.Error ||\n data.TranslatedErrorMessage ||\n !data.HasSalesPrice ||\n (showM3Date && !data.DeliveryDate) ||\n (!showM3Date && !productData.LaunchDate)\n ) {\n setErrorMessage(data.TranslatedErrorMessage ?? generalErrorText);\n } else {\n productData.m3Data = data;\n setM3ResponseData(data);\n }\n setShowSpinner(false);\n setShowInStockSpinner(false);\n setShowPriceSpinner(false);\n }\n\n useEffect(() => {\n const isDealerHidePrices = user.HighestRole?.Id === ROLE_GUIDS.DEALER_HIDE_PRICES;\n if (isDealerHidePrices) {\n setAllowedToSeePrices(false);\n setCanBuyProducts(false);\n }\n\n const isCustomerOrderRegistrationUser = user.HighestRole?.Id === ROLE_GUIDS.CUSTOMER_ORDER_REGISTRATION_USER;\n if (isCustomerOrderRegistrationUser) {\n setCanBuyProducts(false);\n }\n }, [user]);\n\n function onFailure(error) {\n console.error('Error:', error);\n }\n\n function addProductToCart(e) {\n e.preventDefault();\n if (!canBuyProducts) return;\n\n setShowAddToCartLoader(true);\n const cartId = localStorage.getItem(LOCAL_STORAGE.CART_IDENTIFIER);\n let products = [];\n\n if (productData.IsBundle) {\n productData.BundleProductIds.forEach((productId, index) => {\n products.push({ productId: productId, cartId: cartId, quantity: amount });\n });\n }\n else {\n products.push({ productId: productData.ProductId, cartId: cartId, quantity: amount });\n }\n\n addCartLines(products, onSuccess, onFailure);\n\n function onSuccess() {\n store.dispatch(toggleCartNotification(true, amount, productData.Name));\n window.dispatchEvent(new CustomEvent('triggerCartReload', { detail: Date.now() }));\n setShowAddToCartLoader(false);\n }\n\n function onFailure(error) {\n console.error('Error: ', error);\n setShowAddToCartLoader(false);\n }\n }\n\n function onBlurInput(qty) {\n if (isNaN(qty) || amount < 1) setAmount(1);\n else setAmount(Number.parseInt(qty));\n }\n\n return (\n
\n
\n
\n {!errorMessage && (\n
\n {\n e.preventDefault();\n setAmount(amount - 1);\n }}\n disabled={amount === 1}\n >\n -\n \n \n e.preventDefault()}\n onChange={(e) => {\n e.preventDefault();\n setAmount(e.currentTarget.value);\n }}\n onBlur={(e) => onBlurInput(e.currentTarget.value)}\n id={`quicksearch-product-qty-${productData.ErpOutdoor}`}\n />\n {\n e.preventDefault();\n setAmount(amount + 1);\n }}\n >\n +\n \n
\n )}\n {allowedToSeePrices &&\n showPrices &&\n (m3ResponseData.SalesPrice || productData.PriceContainer.PriceFormatted) && (\n
\n {showPriceSpinner ? :

{m3ResponseData.SalesPrice}

}\n

{`${rrpText} ${productData.PriceContainer.PriceFormatted}`}

\n
\n )}\n
\n
\n
\n
\n {showSpinner ? (\n \n ) : (\n <>\n {errorMessage ? (\n

{errorMessage}

\n ) : (\n <>\n
\n {canBuyProducts && (\n \n )}\n
\n {!hideDates && (\n <>\n {showM3Date && (\n

\n {showInStockSpinner ? (\n \n ) : (\n <>\n {m3ResponseData.IsAvailable && }\n {m3ResponseData.Availability}\n \n )}\n

\n )}\n

\n {showM3Date\n ? `${deliveryLabel} ${m3ResponseData.DeliveryDate}`\n : `${launchDateText} ${productData.LaunchDate}`}\n

\n \n )}\n \n )}\n \n )}\n
\n
\n
\n );\n};\n\nexport default AddToCartButtonReact;\n","import React, { useState, useEffect, useRef } from 'react';\nimport AddToCartButton from '/Foundation/React/code/Components/Extranet/AddToCartButtonReact';\nimport { getRetailer } from '/Foundation/Common/code/Utils/Extranet/Utils';\n\nconst Search = ({ setShowSearch }) => {\n const inputReference = useRef(null);\n const [searchProducts, setSearchProducts] = useState([]);\n const [searchInput, setSearchInput] = useState('');\n const [showExtranetAddToCart, setShowExtranetAddToCart] = useState(false);\n const searchTranslation = window._THULEDATA._MainNavigation.HeaderTranslations?.Search;\n const clearTranslation = window._THULEDATA._MainNavigation.HeaderTranslations?.Clear;\n const searchLandingPageURL = window._THULEDATA._MainNavigation.SearchLandingPageURL;\n const searchHitsMobile = window._THULEDATA._MainNavigation.SearchHitsMobile;\n const countryCode = window._THULEDATA.SitecoreLanguage;\n const productsText = window._THULEDATA._MainNavigation.SearchProductsText;\n const isExtranet = window._THULEDATA.isExtranet;\n\n const searchUrl =\n window._THULEDATA._MainNavigation.SearchApiUrl +\n `?query=${searchInput}&numberOfResults=${searchHitsMobile}&language=${countryCode}&imageSize=280`;\n\n useEffect(() => {\n const getSearchProducts = () => {\n setSearchProducts([]);\n const options = {\n method: 'POST',\n headers: new Headers({\n 'Content-Type': 'application/json',\n }),\n };\n fetch(searchUrl, { ...options, credentials: 'same-origin' })\n .then((response) => response.json())\n .then((data) => {\n if (data.length > 0) {\n setSearchProducts(data);\n }\n })\n .catch((e) => e);\n };\n\n if (searchInput.length >= 3) {\n const timer = setTimeout(() => {\n getSearchProducts();\n }, 500);\n return () => clearTimeout(timer);\n }\n }, [searchInput]);\n\n useEffect(() => {\n const retailer = getRetailer();\n if (retailer && retailer.B2BEnable && isExtranet) {\n setShowExtranetAddToCart(true);\n }\n else {\n setShowExtranetAddToCart(false);\n }\n }, []);\n\n const showSearchProduct = () =>\n searchProducts.map((item, i) => (\n
\n \n
\n
\n {item.Name}\n
\n\n
\n
\n {isExtranet && (\n
\n

{item.ErpOutdoor}

\n
\n )}\n

{item.Name}

\n {item.Webtitle2 &&

{item.Webtitle2}

}\n
\n
\n {showExtranetAddToCart && (\n \n )}\n
\n
\n
\n ));\n\n const clearSearch = () => {\n setSearchInput('');\n setSearchProducts([]);\n inputReference.current.focus();\n };\n const onSearchBtnClick = (e) => {\n e.preventDefault();\n if (searchInput.length === 0) return;\n const searchUrl = searchLandingPageURL + '?search=' + searchInput;\n return (window.location = searchUrl);\n };\n\n return (\n <>\n
\n
\n
\n \n
\n \n setSearchInput(e.target.value)}\n autoFocus\n >\n \n {searchInput && (\n
\n \n
\n )}\n
\n
\n \n
\n
\n
\n {searchProducts.length > 0 && (\n
\n

{productsText}

\n
{showSearchProduct()}
\n
\n )}\n
\n
\n \n );\n};\nexport default Search;\n","import React from 'react';\nimport Search from './search';\nfunction QuickLinks({\n setShowMenu,\n showMenu,\n showSearch,\n setShowSearch,\n renderAsMobile,\n cartQuantity,\n trackSecondaryNavigation,\n}) {\n const { MyAccountLandingPageURL, ShoppingCartLandingPageURL } = { ...window._THULEDATA._MainNavigation };\n\n const searchBtn = () => {\n return (\n {\n setShowSearch(true);\n trackSecondaryNavigation('Search');\n }}\n className=\"quickLinks__btn btn\"\n >\n \n Search\n \n );\n };\n\n const goToCartBtn = () => {\n return (\n (_THULEDATA.isB2CEnabled || (_THULEDATA.isExtranet && ShoppingCartLandingPageURL)) && (\n {\n trackSecondaryNavigation('Shoppingcart', ShoppingCartLandingPageURL);\n }}\n >\n {cartQuantity}\n \n Go to cart\n \n )\n );\n };\n\n const myAccountBtn = () => {\n return (\n (_THULEDATA.isB2CEnabled || _THULEDATA.isExtranet) && (\n {\n trackSecondaryNavigation('My Account', MyAccountLandingPageURL);\n }}\n href={MyAccountLandingPageURL}\n className=\"quickLinks__btn\"\n >\n \n My account\n \n )\n );\n };\n\n const toggleMenuBtn = () => {\n return (\n \n );\n };\n return (\n
\n {searchBtn()}\n {myAccountBtn()}\n {goToCartBtn()}\n {renderAsMobile && toggleMenuBtn()}\n {!renderAsMobile && showSearch && }\n
\n );\n}\nexport default QuickLinks;\n","import React from 'react';\nimport Inspiration from '../inspiration';\nfunction MenuContent({ menuItem, trackNavigation, onMenuMouseLeave }) {\n const isSupportLayout =\n !menuItem.HasProductSection && menuItem?.LinkSections?.filter((x) => x.SubLinks?.length > 0).length > 0;\n let showMore = false;\n let pls = [];\n let sls = [];\n\n const setupLinkSections = () => {\n if (isSupportLayout) {\n pls = menuItem?.LinkSections;\n } else {\n let imagecount = 0;\n menuItem?.LinkSections?.forEach(ls => {\n if (ls.ShowLinkImage && imagecount < 5) {\n pls.push(ls);\n imagecount++;\n } else {\n sls.push(ls);\n }\n });\n }\n showMore = !menuItem.HasProductSection && !isSupportLayout && sls && sls.length > 0;\n }\n\n setupLinkSections();\n\n return (\n {\n onMenuMouseLeave(e);\n }}\n >\n
\n \n {menuItem && menuItem.ProductSections && menuItem.HasProductSection && (\n <>\n {menuItem.ProductSections.map((productSection, keyIndex) => {\n return (\n \n {productSection.Categories.map((category, keyIndex) => {\n if (category.SubCategories != null && category.SubCategories.length > 0) {\n return (\n \n
\n {\n if (!_THULEDATA.isExtranet) {\n trackNavigation(category.Link, menuItem.EnglishTitle, category.EnglishTitle, '');\n }\n }}\n href={_THULEDATA.isExtranet ? '#' : category.Link}\n >\n {category.Name}\n \n {category.SubCategories.map((subcategory, keyIndex) => {\n return (\n \n {\n trackNavigation(\n subcategory.Link,\n menuItem.EnglishTitle,\n subcategory.EnglishTitle,\n category.EnglishTitle\n );\n }}\n href={subcategory.Link}\n >\n {subcategory.Name}\n \n \n );\n })}\n
\n
\n );\n }\n })}\n
\n );\n })}\n \n )}\n {pls && pls.map((linkSection, keyIndex) => {\n return (\n \n {\n
\n {isSupportLayout &&

{linkSection.Title}

}\n {!isSupportLayout && (\n {\n trackNavigation(\n linkSection.Link,\n menuItem.EnglishTitle,\n linkSection.EnglishTitle,\n '',\n true\n );\n }}\n >\n
\n {linkSection.ImageAlt}\n
\n {linkSection.Title}\n \n )}\n {linkSection.SubLinks &&\n linkSection.SubLinks.map((subLink, keyIndex) => {\n return (\n {\n trackNavigation(\n subLink.Link,\n menuItem.EnglishTitle,\n subLink.EnglishTitle,\n linkSection.EnglishTitle\n );\n }}\n >\n {subLink.Title}\n \n );\n })}\n
\n }\n
\n );\n })}\n {showMore && (\n
\n

{menuItem?.MoreContentHeader}

\n {sls && sls.map((linkSection, keyIndex) => {\n return (\n {\n trackNavigation(linkSection.Link, menuItem.EnglishTitle, linkSection.EnglishTitle, '');\n }}\n >\n {linkSection.Title}\n \n );\n })}\n
\n )}\n
\n \n \n \n );\n}\nexport default MenuContent;\n","import React, { memo } from 'react';\n\nfunction Logo({ trackSecondaryNavigation }) {\n const url = '/' + _THULEDATA.SitecoreLanguage?.toLowerCase() + '/';\n const isCaseLogic = window._THULEDATA.SitecoreSiteName.toLowerCase() === 'caselogic';\n return (\n {\n trackSecondaryNavigation('Logo', url);\n }}\n >\n \n \n );\n}\n\nexport default memo(Logo);\n","import * as actions from '../actions/types/actionTypes';\n\nconst initialValues = {\n showCartNotification: false,\n quantityAddedToCart: 0,\n productNameAddedToCart: '',\n totalCartQuantity: 0,\n};\n\nconst topNavigationReducer = (state = initialValues, action) => {\n switch (action.type) {\n case actions.TOGGLE_CART_NOTIFICATION: {\n return {\n ...state,\n showCartNotification: action.payload.showCartNotification,\n quantityAddedToCart: action.payload.quantityAddedToCart,\n productNameAddedToCart: action.payload.productNameAddedToCart,\n };\n }\n case actions.SET_CART_TOTAL_QUANTITY: {\n return {\n ...state,\n totalCartQuantity: action.payload.totalCartQuantity,\n };\n }\n default:\n break;\n }\n return state;\n};\n\nexport default topNavigationReducer;\n","import React, { useEffect, useState, useRef } from 'react';\nimport { createRoot } from 'react-dom/client';\nimport MenuPrimary from './mobile/MenuPrimary';\nimport Search from './search';\nimport QuickLinks from './QuickLinks';\nimport MenuContent from './desktop/MenuContent';\nimport Logo from './Logo';\nimport TopNavigationReducer from './reducers/TopNavigationReducer';\nimport { thunk } from 'redux-thunk';\nimport { legacy_createStore as createStore, applyMiddleware, compose, combineReducers } from 'redux';\nimport { Provider } from 'react-redux';\nimport { setTotalCartQuantity } from './actions/TopNavigationActions';\n\nfunction MainNavigation({ TopMenu }) {\n const [showMenu, setShowMenu] = useState(false);\n const [showSearch, setShowSearch] = useState(false);\n const [activeMenuContent, setActiveMenuContent] = useState();\n const [cartQuantity, setCartQuantity] = useState();\n const [animationClasses, setAnimationClasses] = useState('');\n const showSearchRef = useRef(showSearch);\n\n let lastScrollY = 0;\n let desktopMenuWrapper = null;\n let mobileMenuWrapper = null;\n\n useEffect(() => {\n showSearchRef.current = showSearch;\n }, [showSearch]);\n\n const onMenuMouseLeave = (e) => {\n if (\n !e.relatedTarget?.classList ||\n (!e.relatedTarget?.closest('.menuDesktop') && !e.relatedTarget?.closest('.menuContent'))\n ) {\n setShowMenu(false);\n setActiveMenuContent(null);\n }\n };\n const handleClickOutside = (e) => {\n if (e.target.classList.contains('btn--toggleMenu')) return;\n const isClickOnSearchOverlay = e.target.closest('.searchOverlay');\n if (isClickOnSearchOverlay) {\n setShowSearch(false);\n }\n if (!e.target.closest('.mainNavigation') && !e.target.closest('.search') && !e.target.closest('.menuContent')) {\n setShowMenu(false);\n setActiveMenuContent(null);\n }\n };\n\n useEffect(() => {\n setSlidingMenu();\n setTransparency();\n }, []);\n\n const setTransparency = () => {\n const rootElement = document.getElementById('REACT_mainnavigation');\n const hero = document.querySelector('.hero-component');\n if (hero) {\n rootElement.classList.add('transparent');\n rootElement.classList.add('position-absolute');\n document.addEventListener('scroll', (e) => {\n if (window.scrollY < hero.clientHeight * 0.25) {\n rootElement.classList.add('transparent');\n } else {\n rootElement.classList.remove('transparent');\n }\n });\n }\n };\n\n const setSlidingMenu = () => {\n lastScrollY = 0;\n desktopMenuWrapper = document.querySelector('.menu-wrapper.desktop');\n mobileMenuWrapper = document.querySelector('.menu-wrapper.mobile');\n\n if (!desktopMenuWrapper || !mobileMenuWrapper) return;\n\n document.addEventListener('scroll', (e) => {\n const menuWrapper = window.innerWidth < 992 ? mobileMenuWrapper : desktopMenuWrapper;\n const scrollDirectionUp = window.scrollY < lastScrollY;\n let contentHeightAboveMenu = document.querySelector('.hellobar-component ')?.clientHeight;\n if (!contentHeightAboveMenu) contentHeightAboveMenu = 0;\n\n if (scrollDirectionUp && window.scrollY > contentHeightAboveMenu + menuWrapper.clientHeight) {\n setAnimationClasses('expanded');\n } else if (!scrollDirectionUp || window.scrollY <= contentHeightAboveMenu) {\n if (window.scrollY <= contentHeightAboveMenu) {\n setAnimationClasses('');\n } else if (menuWrapper.classList.contains('expanded') && !showSearchRef.current) {\n setAnimationClasses('collapsed');\n }\n }\n if (window.scrollY >= contentHeightAboveMenu + menuWrapper.clientHeight) {\n menuWrapper.classList.add('idle');\n } else {\n menuWrapper.classList.remove('idle');\n }\n\n lastScrollY = window.scrollY;\n });\n };\n\n useEffect(() => {\n const scrollBarHideClass = 'overflow-hidden';\n if (showSearch && activeMenuContent) setActiveMenuContent(null);\n if (!showMenu && !showSearch) {\n document.documentElement.classList.remove(scrollBarHideClass);\n } else {\n document.documentElement.classList.add(scrollBarHideClass);\n }\n }, [showMenu, showSearch]);\n\n useEffect(() => {\n const rootElement = document.getElementById('REACT_mainnavigation');\n if (activeMenuContent || showMenu || showSearch) rootElement.classList.remove('transparent');\n }, [activeMenuContent, showMenu, showSearch]);\n\n useEffect(() => {\n minicart.loadQuantity();\n document.addEventListener('mouseup', handleClickOutside);\n return () => document.removeEventListener('mouseup', handleClickOutside);\n }, []);\n\n const trackNavigation = (link, headerSection, labelName, categoryLabel, isLinkWithImage) => {\n var values = {\n event: 'navigationMain',\n headerSection: headerSection,\n parentLabel: categoryLabel,\n labelName: labelName,\n clickedurl: window.location.host + link,\n navigationType: isLinkWithImage ? 'linkwithimage' : 'default',\n };\n google.tagmanager.add(values);\n };\n\n var minicart = (function () {\n var self = {\n loadQuantity: function () {\n if (!_THULEDATA.isB2CEnabled && !_THULEDATA.isExtranet) return;\n\n let cartQtyApiUrl = _THULEDATA._MainNavigation.CartQuantityApiUrl;\n if (_THULEDATA.isExtranet) {\n cartQtyApiUrl += localStorage.getItem('cartIdentifier');\n }\n fetch(cartQtyApiUrl)\n .then((response) => response.json())\n .then((data) => {\n setCartQuantity(data && data > 0 ? data : null);\n if (_THULEDATA.isExtranet) store.dispatch(setTotalCartQuantity(data));\n });\n },\n };\n return self;\n })();\n\n const trackSecondaryNavigation = (label, url) => {\n var values = {\n event: 'navigationSecondary',\n labelName: label,\n };\n if (url) values.clickedUrl = window.location.host + url;\n google.tagmanager.add(values);\n };\n const removeTransparency = () => {\n const rootElement = document.getElementById('REACT_mainnavigation');\n rootElement.classList.remove('transparent');\n };\n return (\n <>\n \n
\n \n \n
\n {showSearch && }\n {showMenu && (\n \n )}\n \n\n \n
\n \n \n
\n\n {activeMenuContent && (\n \n )}\n \n \n );\n}\n\nconst rootReducer = combineReducers({\n TopNavigationReducer,\n});\n\nlet preloadedData = {};\n\nconst composeEnhancers =\n typeof window === 'object' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__\n ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({})\n : compose;\nconst enhancer = composeEnhancers(applyMiddleware(thunk));\n\nexport const store = createStore(rootReducer, preloadedData, enhancer);\n\nconst rootElement = document.getElementById('REACT_mainnavigation');\nif (rootElement) {\n const root = createRoot(rootElement);\n root.render(\n \n \n \n );\n}\n"],"names":["_ref","menuSection","setSelectedMenuSection","selectedMenuSection","trackNavigation","menuItem","React","className","onClick","Name","href","Link","EnglishTitle","DiscoverAllText","SubCategories","map","subcategory","keyIndex","key","selectedTopmenuItem","trackInspiration","labelName","parentLabel","url","imageSection","values","event","headerSection","clickedurl","window","location","host","google","tagmanager","add","PromotionField","EnglishInfoTextHeaderField","InfoTextHeaderField","LinksMultiselectField","link","e","concat","DisplayName","ImageURL","PromotionAreaLinkURL","src","alt","ImageAltText","Header","_menuItem$LinkSection","isSupportLayout","HasProductSection","LinkSections","filter","x","_x$SubLinks","SubLinks","length","Title","subLink","trackSecondaryNavigation","TopMenu","MyAccountLandingPageURL","MobileMyAccountText","DealerLocatorPageURL","MobileDealerLocatorText","_useState2","_slicedToArray","useState","_useState4","setSelectedTopmenuItem","marketSelector","_THULEDATA","_MainNavigation","MarketSelectorIcon","useEffect","mainContent","document","querySelector","scrollTop","goBack","vh","innerHeight","documentElement","style","setProperty","id","hidden","ProductSections","productSection","Categories","category","Category","linkSection","LinkSection","Inspiration","isB2CEnabled","isExtranet","_document$querySelect","click","TOGGLE_CART_NOTIFICATION","SET_CART_TOTAL_QUANTITY","setTotalCartQuantity","totalCartQuantity","dispatch","type","actions","payload","fetchDataForAddToCartButton","erpOutdoor","onSuccess","onFailure","abortSignal","arguments","undefined","addToCartBtnData","productType","date","priceListId","orderType","user","JSON","parse","localStorage","getItem","LOCAL_STORAGE","EXTRANET_USER","retailer","CurrentSelectedRetailer","B2BEnable","useAmericasEndpoint","shouldUseAmericasEndpoint","customerNumber","ErpId","facility","Facility","state","checkIfDropship","Dropship","State","Address","lang","Cookies","get","COOKIE_STORAGE","LANGUAGE","body","stringify","CustomerNumber","ItemNumber","Quantity","Language","Date","StateOrProvince","ProductType","PriceListId","OrderType","configForAddToCartBtn","fetch","method","headers","Accept","signal","then","response","json","data","catch","error","getRetailer","isDropship","_retailer$Country","country","Country","Abbrevation","Spinner","_ref$extraClasses","extraClasses","memo","_window$_THULEDATA$To","_window$_THULEDATA$To2","_window$_THULEDATA$To3","_window$_THULEDATA$To4","_window$_THULEDATA$To5","productId","productData","setUser","allowedToSeePrices","setAllowedToSeePrices","_useState6","canBuyProducts","setCanBuyProducts","_useState8","showSpinner","setShowSpinner","_useState10","showAddToCartLoader","setShowAddToCartLoader","_useState12","errorMessage","setErrorMessage","_useState14","amount","setAmount","_useState16","showPriceSpinner","setShowPriceSpinner","_useState18","showInStockSpinner","setShowInStockSpinner","_useState20","m3ResponseData","setM3ResponseData","_useState22","hideDates","setHideDates","abortController","AbortController","_useState24","showPrices","setShowPrices","showM3Date","StatusErp","UseLaunchDataB2B","rrpText","RRPText","deliveryLabel","TopNavigation","Translations","DeliveryLabel","launchDateText","LaunchDateText","generalErrorText","GeneralErrorText","addToCartText","AddToCartButtonText","discontinuedText","DiscontinuedText","addEventListener","handleTogglePrices","detail","removeEventListener","show","onSuccessBundle","HasInvalidItems","_data$ItemResponses$f","translatedErrorMessage","ItemResponses","find","item","TranslatedErrorMessage","bundleData","SalesPrice","TotalSalesPrice","m3Data","_data$TranslatedError","Error","HasSalesPrice","DeliveryDate","LaunchDate","console","addProductToCart","preventDefault","cartId","CART_IDENTIFIER","products","IsBundle","BundleProductIds","forEach","index","push","quantity","ProductId","productList","gmtEventData","cartLines","cartIdentifier","dataLayer","store","querySelectorAll","currentNode","innerHTML","classList","toggle","TotalQuantity","addCartLines","quantityAddedToCart","productNameAddedToCart","showCartNotification","dispatchEvent","CustomEvent","now","PRODUCT_STATUS","DISCONTINUED","abort","erpOutdoors","ErpOutdoor","split","itemNumber","trim","items","orderId","Items","configForAddToCartBtnInBatches","fetchDataForAddToCartButtonInBatches","_user$HighestRole","_user$HighestRole2","HighestRole","Id","ROLE_GUIDS","DEALER_HIDE_PRICES","CUSTOMER_ORDER_REGISTRATION_USER","disabled","htmlFor","value","onChange","currentTarget","onBlur","qty","isNaN","Number","parseInt","PriceContainer","PriceFormatted","IsAvailable","Availability","_window$_THULEDATA$_M","_window$_THULEDATA$_M2","setShowSearch","inputReference","useRef","searchProducts","setSearchProducts","searchInput","setSearchInput","showExtranetAddToCart","setShowExtranetAddToCart","searchTranslation","HeaderTranslations","Search","clearTranslation","Clear","searchLandingPageURL","SearchLandingPageURL","searchHitsMobile","SearchHitsMobile","countryCode","SitecoreLanguage","productsText","SearchProductsText","searchUrl","SearchApiUrl","timer","setTimeout","options","Headers","_objectSpread","credentials","getSearchProducts","clearTimeout","autoComplete","onSubmit","ref","placeholder","name","target","autoFocus","current","focus","i","ProductImage","Webtitle2","AddToCartButton","setShowMenu","showMenu","showSearch","renderAsMobile","cartQuantity","ShoppingCartLandingPageURL","onMenuMouseLeave","showMore","pls","sls","_menuItem$LinkSection2","imagecount","ls","ShowLinkImage","setupLinkSections","onMouseLeave","loading","ImageUrl","ImageAlt","MoreContentHeader","Logo","_THULEDATA$SitecoreLa","toLowerCase","isCaseLogic","SitecoreSiteName","initialValues","MainNavigation","activeMenuContent","setActiveMenuContent","setCartQuantity","animationClasses","setAnimationClasses","showSearchRef","lastScrollY","desktopMenuWrapper","mobileMenuWrapper","_e$relatedTarget","_e$relatedTarget2","_e$relatedTarget3","relatedTarget","closest","handleClickOutside","contains","setSlidingMenu","setTransparency","rootElement","getElementById","hero","scrollY","clientHeight","remove","menuWrapper","innerWidth","scrollDirectionUp","contentHeightAboveMenu","scrollBarHideClass","minicart","loadQuantity","categoryLabel","isLinkWithImage","navigationType","cartQtyApiUrl","CartQuantityApiUrl","label","clickedUrl","QuickLinks","MenuPrimary","_extends","onMouseEnter","isCheckout","MenuContent","rootReducer","combineReducers","TopNavigationReducer","action","enhancer","_typeof","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","compose","applyMiddleware","thunk","createStore","createRoot","render","Provider"],"sourceRoot":""}