{"version":3,"file":"js/2077.chunk.js?v=1742528680091","mappings":"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","sources":["webpack://fed-boilerplate/./src/3-components/search-uplift/c-search-uplift.js","webpack://fed-boilerplate/./src/4-sections/search-page-new/utils/getLocalisedData.js","webpack://fed-boilerplate/./node_modules/is-retry-allowed/index.js","webpack://fed-boilerplate/./node_modules/axios-retry/dist/esm/index.js"],"sourcesContent":["/* eslint-disable no-plusplus */\nimport $ from 'jquery';\nimport axios from 'axios';\nimport axiosRetry from 'axios-retry';\nimport { currentDomain } from '../../js/utils/apiKeys.js';\nimport { getLocalisedData } from '../../4-sections/search-page-new/utils/getLocalisedData.js';\n\nconst OPEN_CLASS = 'is-open';\nconst INPUT_CLASS = 'has-input';\nconst NO_RESULT_CLASS = 'no-result';\nconst NO_SUGGESTIONS_CLASS = 'no-suggestions';\n\nconst searchUpliftInit = () => {\n // Targeting Elements\n const $component = $('.c-search-uplift');\n if (!$component.length) {\n return;\n }\n const $closeMobile = $component.find('.close-mobile-search');\n const $inputField = $component.find('.open-search-panel');\n const $closePanel = $component.find('.close-search-btn');\n const $enterInput = $component.find('.enter-search-input');\n const $infoContainer = $component.find('.info-container');\n const $viewAllProducts = $component.find('.popular-products .view-all-btn');\n const $viewAllContent = $component.find('.popular-content .view-all-btn');\n const $popularContainer = $component.find('.popular-container');\n const $popularProducts = $component.find('.popular-products');\n const $popularContent = $component.find('.popular-content');\n const $popularProductsItems = $component.find('.popular-products-items');\n const $popularContentItems = $component.find('.popular-content-items');\n const $searchContainer = $component.find('.search-container');\n const $panelContainer = $component.find('.panel-container');\n const $noResultText = $component.find('.no-result-text');\n const $overlay = $component.find('.search-overlay');\n\n // APIs\n const searchUrl = $component.data('search-url');\n\n window.dataLayer = window.dataLayer || [];\n\n // Set Changeable Content\n let timeout = null;\n let dataFound = null;\n let totalSearchHits;\n let newProductListHtml = '';\n let newContentListHtml = '';\n let suggestedSearchListHtml = '';\n // const suggestedSearchTitle = `<div class=\"search-panel-header\"><span>Suggested Searches</span></div>`;\n\n const recentSearchClear = `<div class=\"clear-recent\">\n <button type=\"button\" class=\"clear-recent-btn\">\n <svg class=\"svg-icon clear-icon\" style=\"\"><use xlink:href=\"#bin\"></use></svg>\n <span class=\"close-text\">Clear recent searches</span>\n </button>\n </div>`;\n\n // Functions\n const resetData = () => {\n $popularProductsItems.empty();\n $popularContentItems.empty();\n $searchContainer.empty();\n newProductListHtml = '';\n newContentListHtml = '';\n suggestedSearchListHtml = '';\n };\n\n const appendData = () => {\n $popularProductsItems.append(newProductListHtml);\n $popularContentItems.append(newContentListHtml);\n dataFound = true;\n };\n\n const appendSuggestions = () => {\n $searchContainer.append(suggestedSearchListHtml, recentSearchClear);\n };\n\n // const obtainRandomData = (num, items, newArr) => {\n // for (let i = 0; i < num; i++) {\n // if (i <= items.length) {\n // const random = items.splice(\n // Math.floor(Math.random() * items.length),\n // 1\n // );\n // if (!newArr.includes(random)) {\n // newArr.push(random);\n // }\n // }\n // }\n // };\n\n // ensure top positioning of opened panel is correct to cover logo\n const checkSearchTopPositioning = addClass => {\n if (window.innerWidth > 768 && addClass) {\n $component.css({ top: 90 });\n } else {\n $component.css({ top: 0 });\n }\n };\n\n // ensure in case of iPad resizing that positioning doesn't glitch\n window.addEventListener('resize', () => {\n if (window.innerWidth > 768 && $component.hasClass(OPEN_CLASS)) {\n $component.css({ top: 90 });\n }\n if (window.innerWidth < 768 && $component.hasClass(OPEN_CLASS)) {\n $component.css({ top: 0 });\n }\n });\n\n // Events\n $closeMobile.on('click', e => {\n e.preventDefault();\n $component.removeClass(OPEN_CLASS);\n checkSearchTopPositioning(false);\n $infoContainer.removeClass(OPEN_CLASS);\n $panelContainer.removeClass(NO_RESULT_CLASS);\n $noResultText.html('');\n });\n\n $closePanel.on('click', e => {\n e.preventDefault();\n $component.removeClass(OPEN_CLASS);\n checkSearchTopPositioning(false);\n $infoContainer.removeClass(OPEN_CLASS);\n $panelContainer.removeClass(NO_RESULT_CLASS);\n $noResultText.html('');\n });\n\n $enterInput.on('click', e => {\n e.preventDefault();\n $inputField.val();\n window.open(`${searchUrl}q=${$inputField.val()}`, '_self');\n window.dataLayer.push({\n event: 'search',\n site_search_category: 'Federated Search',\n is_guided_search: false,\n site_search_keyword: $inputField.val(),\n refined_search: false,\n search_term: $inputField.val(),\n site_search_results: totalSearchHits,\n });\n });\n\n $overlay.on('click', () => {\n $component.removeClass(OPEN_CLASS);\n checkSearchTopPositioning(false);\n $infoContainer.removeClass(OPEN_CLASS);\n $panelContainer.removeClass(NO_RESULT_CLASS);\n $noResultText.html('');\n });\n\n $component.on('click', '.input-container', () => {\n $component.addClass(OPEN_CLASS);\n checkSearchTopPositioning(true);\n });\n\n $(document).scroll(() => {\n if ($component.hasClass(OPEN_CLASS)) {\n $component.css({ top: 0 });\n $component.removeClass(OPEN_CLASS);\n }\n });\n\n $component.on('click', '.search-option', function() {\n const id = $(this).attr('id');\n $inputField.val($(`#${id} span`).html()\n .trim()\n .toLowerCase());\n const suggestedSearch = $inputField.val();\n window.dataLayer.push({\n event: 'guided_search_click',\n guided_search_category: 'searchSuggestion',\n guided_search_keyword: suggestedSearch,\n });\n window.dataLayer.push({\n event: 'guided_search_click',\n guided_search_category: 'searchSuggestion',\n guided_search_keyword: suggestedSearch,\n });\n window.open(`${searchUrl}q=${suggestedSearch}`, '_self');\n });\n\n $component.on('click', '.spell-check-option', function() {\n const id = $(this).attr('id');\n $inputField.val($(`#${id} span`).html());\n $inputField.trigger('keyup');\n });\n\n $component.on('click', '.popular-product', () => {\n window.dataLayer.push({\n event: 'search',\n site_search_category: 'Federated Search',\n is_guided_search: true,\n site_search_keyword: $inputField.val(),\n refined_search: false,\n search_term: $inputField.val(),\n site_search_results: totalSearchHits,\n });\n window.dataLayer.push({\n event: 'guided_search_click',\n guided_search_category: 'Popular Product',\n guided_search_keyword: $inputField.val(),\n });\n window.dataLayer.push({\n event: 'search',\n site_search_category: 'Federated Search',\n is_guided_search: true,\n site_search_keywords: $inputField.val(),\n refined_search: false,\n site_search_results: totalSearchHits,\n });\n window.dataLayer.push({\n event: 'guided_search_click',\n guided_search_category: 'Popular Product',\n guided_search_keyword: $inputField.val(),\n });\n });\n\n $component.on('click', '.popular-content', () => {\n window.dataLayer.push({\n event: 'search',\n site_search_category: 'Federated Search',\n is_guided_search: true,\n site_search_keyword: $inputField.val(),\n refined_search: false,\n search_term: $inputField.val(),\n site_search_results: totalSearchHits,\n });\n window.dataLayer.push({\n event: 'guided_search_click',\n guided_search_category: 'Popular Content',\n guided_search_keyword: $inputField.val(),\n });\n window.dataLayer.push({\n event: 'search',\n site_search_category: 'Federated Search',\n is_guided_search: true,\n site_search_keywords: $inputField.val(),\n refined_search: false,\n site_search_results: totalSearchHits,\n });\n window.dataLayer.push({\n event: 'guided_search_click',\n guided_search_category: 'Popular Content',\n guided_search_keyword: $inputField.val(),\n });\n });\n\n $viewAllProducts.on('click', () => {\n window.dataLayer.push({\n event: 'search',\n site_search_category: 'Federated Search',\n is_guided_search: false,\n site_search_keyword: $inputField.val(),\n refined_search: true, // due to triggering same search but going to search results\n search_term: $inputField.val(),\n site_search_results: totalSearchHits,\n });\n });\n\n $viewAllContent.on('click', () => {\n window.dataLayer.push({\n event: 'search',\n site_search_category: 'Federated Search',\n is_guided_search: false,\n site_search_keyword: $inputField.val(),\n refined_search: true, // due to triggering same search but going to search results\n search_term: $inputField.val(),\n site_search_results: totalSearchHits,\n });\n });\n\n $component.on('click', '.clear-recent-btn', () => {\n $searchContainer.empty();\n });\n\n $inputField.on('keydown', e => {\n if (e.key === 'Enter' || e.key === 'Go') {\n e.preventDefault();\n $inputField.val();\n if ($inputField.val().length) {\n window.open(\n `${searchUrl}q=${$inputField.val().replace('&', 'and')}`,\n '_self'\n );\n window.dataLayer.push({\n event: 'search',\n site_search_category: 'Federated Search',\n is_guided_search: false,\n site_search_keyword: $inputField.val(),\n refined_search: false,\n search_term: $inputField.val(),\n site_search_results: totalSearchHits,\n });\n }\n }\n });\n\n // API Calls\n const callApi = () => {\n timeout = null;\n dataFound = null;\n axiosRetry(axios, { retries: 3 });\n\n $inputField.val();\n\n const productsData = {\n searcher: `${currentDomain === 'pdl' ? 'pdl/products' : 'clipsal/products'}`,\n term: $inputField.val(),\n country: `${currentDomain === 'pdl' ? 'NZ' : 'AU'}`,\n language: 'en',\n };\n\n const contentData = {\n searcher: `${currentDomain === 'pdl' ? 'pdl/content' : 'clipsal/content'}`,\n term: $inputField.val(),\n country: `${currentDomain === 'pdl' ? 'NZ' : 'AU'}`,\n language: 'en',\n };\n\n const requestProducts = axios.post('/webapi/v1/search', productsData, {\n header: {\n 'Content-Type': 'application/json',\n Accept: '*/*',\n },\n });\n const requestContent = axios.post('/webapi/v1/search', contentData, {\n header: {\n 'Content-Type': 'application/json',\n Accept: '*/*',\n },\n });\n // const requestSuggestions = axios.post('/webapi/vi/search', data);\n\n // 1. axios get for all 4 requests\n setTimeout(() => {\n axios\n .all([\n requestProducts,\n requestContent\n ])\n .then(\n axios.spread((...responses) => {\n const productsResponse = responses[0];\n const contentResponse = responses[1];\n\n if ($inputField.val().length) {\n $infoContainer.addClass(OPEN_CLASS);\n }\n\n if (\n $inputField.val().length &&\n (productsResponse.data.stats.totalHits !== 0 || contentResponse.data.stats.totalHits !== 0)\n ) {\n $panelContainer.removeClass(NO_RESULT_CLASS);\n $noResultText.html('');\n }\n\n // 2. resets populated data when new input entered, prevents over-population of data\n resetData();\n\n // 3. Render/populate data in panel\n const productItems =\n productsResponse.data.documents;\n const contentItems =\n contentResponse.data.documents;\n // const suggestedSearches =\n // suggestionsResponse.data.documents;\n const popularProducts = productItems.slice(0, 4);\n const popularContent = contentItems.slice(0, 2);\n // const suggestions = [];\n // totalSearchHits = searchResponse.data.stats.totalHits;\n\n // obtainRandomData(5, suggestedSearches, suggestions);\n\n // Render suggested searches\n // suggestedSearchListHtml = suggestedSearches.map(\n // (search, index) => {\n // let searchTerm = '';\n // if (index === 0) {\n // searchTerm = $inputField.val();\n // } else if (search.title_qc && index > 0) {\n // searchTerm = search.title_qc;\n // } else {\n // searchTerm = search.queryString_qc;\n // }\n\n // return `\n // <button type=\"button\" id=\"search-${index}\" class=\"search-option\">\n // <svg class=\"svg-icon search-btn\" style=\"\"><use xlink:href=\"#pictogram-search\"></use></svg>\n // <span>\n // ${searchTerm[0].toUpperCase() + searchTerm.slice(1).toLowerCase()}\n // </span>\n // </button>`;\n // }\n // );\n\n // if (!suggestedSearches.length) { // edit this\n $searchContainer.addClass(NO_RESULT_CLASS);\n $popularContainer.addClass(NO_SUGGESTIONS_CLASS);\n // } else {\n // $searchContainer.removeClass(NO_RESULT_CLASS);\n // $popularContainer.removeClass(NO_SUGGESTIONS_CLASS);\n // $searchContainer.append(suggestedSearchTitle);\n // }\n\n // Render the popular products\n if (!popularProducts[0]) {\n $popularProducts.addClass(NO_RESULT_CLASS);\n } else {\n $popularProducts.removeClass(NO_RESULT_CLASS);\n $viewAllProducts.html('');\n newProductListHtml = popularProducts.map(\n product => {\n const localisedItem = getLocalisedData(product);\n // ensures an image provided in markup as some have multiple images\n let productImage;\n if (localisedItem.images.length) {\n productImage = localisedItem.images[0].openUrl;\n } else {\n productImage = localisedItem.images.openUrl;\n }\n\n return (\n // eslint-disable-next-line implicit-arrow-linebreak\n `<a href=\"${localisedItem.openUrl}\" class=\"popular-product\">\n <div class=\"product-image-container\">\n <img class=\"product-image\" src=\"${productImage}\" alt=\"${localisedItem.title}\" />\n </div>\n <div class=\"product-details\">\n <div class=\"product-title\">${localisedItem.title}</div>\n <div class=\"product-cat-no\">${localisedItem.catalogueNumber}</div>\n <div class=\"product-category\">${localisedItem.rangeName || ''}</div>\n </div>\n </a>`\n );\n }\n );\n if (popularProducts.length > 1) {\n $viewAllProducts.html('View all');\n $viewAllProducts.attr(\n 'href',\n `${searchUrl}q=${$inputField\n .val()\n .replace(\n '&',\n 'and'\n )}&datasource=products`\n );\n }\n }\n\n // Render the panel content\n if (!popularContent[0]) {\n $popularContent.addClass(NO_RESULT_CLASS);\n $viewAllContent.html('');\n } else {\n $popularContent.removeClass(NO_RESULT_CLASS);\n newContentListHtml = popularContent.map(\n content => {\n const localisedItem = getLocalisedData(content);\n return `<a href=\"${localisedItem.openUrl}\">${localisedItem.title}</a>`;\n }\n );\n }\n\n if (!popularProducts[0] && !popularContent[0]) {\n $panelContainer.addClass(NO_RESULT_CLASS);\n if ($inputField.val().length) {\n $noResultText.html(\n `No matches for <b style=\"color: black\">'${$inputField.val()}'</b>`\n );\n }\n }\n\n appendSuggestions();\n\n appendData();\n })\n )\n .catch(error => {\n console.error(error);\n $component.addClass(OPEN_CLASS);\n checkSearchTopPositioning(true);\n $panelContainer.addClass(NO_RESULT_CLASS);\n if ($inputField.val().length) {\n $noResultText.html(\n `<b style=\"color: red\">'Sorry, an error occurred while processing your request.\n Please refresh your browser.'</b>`\n );\n }\n });\n }, 0);\n };\n\n $inputField.on('click', () => {\n if (\n !$component.hasClass(OPEN_CLASS) &&\n $inputField.val().length &&\n dataFound\n ) {\n $component.addClass(OPEN_CLASS);\n $infoContainer.addClass(OPEN_CLASS);\n } else if (\n !$component.hasClass(OPEN_CLASS) &&\n $inputField.val().length &&\n !dataFound\n ) {\n if (timeout !== null) {\n clearTimeout(timeout);\n }\n timeout = setTimeout(callApi, 1000);\n $enterInput.addClass(INPUT_CLASS);\n }\n });\n\n $inputField.keyup(() => {\n if ($inputField.val().trim().length < 3) {\n $enterInput.removeClass(INPUT_CLASS);\n } else {\n $enterInput.addClass(INPUT_CLASS);\n }\n if (timeout !== null) {\n clearTimeout(timeout);\n }\n if ($inputField.val().trim().length > 2) {\n timeout = setTimeout(callApi, 1000);\n }\n });\n};\n\n$(() => {\n searchUpliftInit();\n});\n","import { currentDomain } from '../../../js/utils/apiKeys';\n\nexport const getLocalisedData = item => {\n if (currentDomain === 'pdl') {\n return item.en_NZ;\n }\n return item.en_AU;\n};\n","'use strict';\n\nconst denyList = new Set([\n\t'ENOTFOUND',\n\t'ENETUNREACH',\n\n\t// SSL errors from https://github.com/nodejs/node/blob/fc8e3e2cdc521978351de257030db0076d79e0ab/src/crypto/crypto_common.cc#L301-L328\n\t'UNABLE_TO_GET_ISSUER_CERT',\n\t'UNABLE_TO_GET_CRL',\n\t'UNABLE_TO_DECRYPT_CERT_SIGNATURE',\n\t'UNABLE_TO_DECRYPT_CRL_SIGNATURE',\n\t'UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY',\n\t'CERT_SIGNATURE_FAILURE',\n\t'CRL_SIGNATURE_FAILURE',\n\t'CERT_NOT_YET_VALID',\n\t'CERT_HAS_EXPIRED',\n\t'CRL_NOT_YET_VALID',\n\t'CRL_HAS_EXPIRED',\n\t'ERROR_IN_CERT_NOT_BEFORE_FIELD',\n\t'ERROR_IN_CERT_NOT_AFTER_FIELD',\n\t'ERROR_IN_CRL_LAST_UPDATE_FIELD',\n\t'ERROR_IN_CRL_NEXT_UPDATE_FIELD',\n\t'OUT_OF_MEM',\n\t'DEPTH_ZERO_SELF_SIGNED_CERT',\n\t'SELF_SIGNED_CERT_IN_CHAIN',\n\t'UNABLE_TO_GET_ISSUER_CERT_LOCALLY',\n\t'UNABLE_TO_VERIFY_LEAF_SIGNATURE',\n\t'CERT_CHAIN_TOO_LONG',\n\t'CERT_REVOKED',\n\t'INVALID_CA',\n\t'PATH_LENGTH_EXCEEDED',\n\t'INVALID_PURPOSE',\n\t'CERT_UNTRUSTED',\n\t'CERT_REJECTED',\n\t'HOSTNAME_MISMATCH'\n]);\n\n// TODO: Use `error?.code` when targeting Node.js 14\nmodule.exports = error => !denyList.has(error && error.code);\n","import isRetryAllowed from 'is-retry-allowed';\nexport const namespace = 'axios-retry';\nexport function isNetworkError(error) {\n const CODE_EXCLUDE_LIST = ['ERR_CANCELED', 'ECONNABORTED'];\n if (error.response) {\n return false;\n }\n if (!error.code) {\n return false;\n }\n // Prevents retrying timed out & cancelled requests\n if (CODE_EXCLUDE_LIST.includes(error.code)) {\n return false;\n }\n // Prevents retrying unsafe errors\n return isRetryAllowed(error);\n}\nconst SAFE_HTTP_METHODS = ['get', 'head', 'options'];\nconst IDEMPOTENT_HTTP_METHODS = SAFE_HTTP_METHODS.concat(['put', 'delete']);\nexport function isRetryableError(error) {\n return (error.code !== 'ECONNABORTED' &&\n (!error.response ||\n error.response.status === 429 ||\n (error.response.status >= 500 && error.response.status <= 599)));\n}\nexport function isSafeRequestError(error) {\n if (!error.config?.method) {\n // Cannot determine if the request can be retried\n return false;\n }\n return isRetryableError(error) && SAFE_HTTP_METHODS.indexOf(error.config.method) !== -1;\n}\nexport function isIdempotentRequestError(error) {\n if (!error.config?.method) {\n // Cannot determine if the request can be retried\n return false;\n }\n return isRetryableError(error) && IDEMPOTENT_HTTP_METHODS.indexOf(error.config.method) !== -1;\n}\nexport function isNetworkOrIdempotentRequestError(error) {\n return isNetworkError(error) || isIdempotentRequestError(error);\n}\nexport function retryAfter(error = undefined) {\n const retryAfterHeader = error?.response?.headers['retry-after'];\n if (!retryAfterHeader) {\n return 0;\n }\n // if the retry after header is a number, convert it to milliseconds\n let retryAfterMs = (Number(retryAfterHeader) || 0) * 1000;\n // If the retry after header is a date, get the number of milliseconds until that date\n if (retryAfterMs === 0) {\n retryAfterMs = (new Date(retryAfterHeader).valueOf() || 0) - Date.now();\n }\n return Math.max(0, retryAfterMs);\n}\nfunction noDelay(_retryNumber = 0, error = undefined) {\n return Math.max(0, retryAfter(error));\n}\nexport function exponentialDelay(retryNumber = 0, error = undefined, delayFactor = 100) {\n const calculatedDelay = 2 ** retryNumber * delayFactor;\n const delay = Math.max(calculatedDelay, retryAfter(error));\n const randomSum = delay * 0.2 * Math.random(); // 0-20% of the delay\n return delay + randomSum;\n}\n/**\n * Linear delay\n * @param {number | undefined} delayFactor - delay factor in milliseconds (default: 100)\n * @returns {function} (retryNumber: number, error: AxiosError | undefined) => number\n */\nexport function linearDelay(delayFactor = 100) {\n return (retryNumber = 0, error = undefined) => {\n const delay = retryNumber * delayFactor;\n return Math.max(delay, retryAfter(error));\n };\n}\nexport const DEFAULT_OPTIONS = {\n retries: 3,\n retryCondition: isNetworkOrIdempotentRequestError,\n retryDelay: noDelay,\n shouldResetTimeout: false,\n onRetry: () => { },\n onMaxRetryTimesExceeded: () => { },\n validateResponse: null\n};\nfunction getRequestOptions(config, defaultOptions) {\n return { ...DEFAULT_OPTIONS, ...defaultOptions, ...config[namespace] };\n}\nfunction setCurrentState(config, defaultOptions, resetLastRequestTime = false) {\n const currentState = getRequestOptions(config, defaultOptions || {});\n currentState.retryCount = currentState.retryCount || 0;\n if (!currentState.lastRequestTime || resetLastRequestTime) {\n currentState.lastRequestTime = Date.now();\n }\n config[namespace] = currentState;\n return currentState;\n}\nfunction fixConfig(axiosInstance, config) {\n // @ts-ignore\n if (axiosInstance.defaults.agent === config.agent) {\n // @ts-ignore\n delete config.agent;\n }\n if (axiosInstance.defaults.httpAgent === config.httpAgent) {\n delete config.httpAgent;\n }\n if (axiosInstance.defaults.httpsAgent === config.httpsAgent) {\n delete config.httpsAgent;\n }\n}\nasync function shouldRetry(currentState, error) {\n const { retries, retryCondition } = currentState;\n const shouldRetryOrPromise = (currentState.retryCount || 0) < retries && retryCondition(error);\n // This could be a promise\n if (typeof shouldRetryOrPromise === 'object') {\n try {\n const shouldRetryPromiseResult = await shouldRetryOrPromise;\n // keep return true unless shouldRetryPromiseResult return false for compatibility\n return shouldRetryPromiseResult !== false;\n }\n catch (_err) {\n return false;\n }\n }\n return shouldRetryOrPromise;\n}\nasync function handleRetry(axiosInstance, currentState, error, config) {\n currentState.retryCount += 1;\n const { retryDelay, shouldResetTimeout, onRetry } = currentState;\n const delay = retryDelay(currentState.retryCount, error);\n // Axios fails merging this configuration to the default configuration because it has an issue\n // with circular structures: https://github.com/mzabriskie/axios/issues/370\n fixConfig(axiosInstance, config);\n if (!shouldResetTimeout && config.timeout && currentState.lastRequestTime) {\n const lastRequestDuration = Date.now() - currentState.lastRequestTime;\n const timeout = config.timeout - lastRequestDuration - delay;\n if (timeout <= 0) {\n return Promise.reject(error);\n }\n config.timeout = timeout;\n }\n config.transformRequest = [(data) => data];\n await onRetry(currentState.retryCount, error, config);\n if (config.signal?.aborted) {\n return Promise.resolve(axiosInstance(config));\n }\n return new Promise((resolve) => {\n const abortListener = () => {\n clearTimeout(timeout);\n resolve(axiosInstance(config));\n };\n const timeout = setTimeout(() => {\n resolve(axiosInstance(config));\n if (config.signal?.removeEventListener) {\n config.signal.removeEventListener('abort', abortListener);\n }\n }, delay);\n if (config.signal?.addEventListener) {\n config.signal.addEventListener('abort', abortListener, { once: true });\n }\n });\n}\nasync function handleMaxRetryTimesExceeded(currentState, error) {\n if (currentState.retryCount >= currentState.retries)\n await currentState.onMaxRetryTimesExceeded(error, currentState.retryCount);\n}\nconst axiosRetry = (axiosInstance, defaultOptions) => {\n const requestInterceptorId = axiosInstance.interceptors.request.use((config) => {\n setCurrentState(config, defaultOptions, true);\n if (config[namespace]?.validateResponse) {\n // by setting this, all HTTP responses will be go through the error interceptor first\n config.validateStatus = () => false;\n }\n return config;\n });\n const responseInterceptorId = axiosInstance.interceptors.response.use(null, async (error) => {\n const { config } = error;\n // If we have no information to retry the request\n if (!config) {\n return Promise.reject(error);\n }\n const currentState = setCurrentState(config, defaultOptions);\n if (error.response && currentState.validateResponse?.(error.response)) {\n // no issue with response\n return error.response;\n }\n if (await shouldRetry(currentState, error)) {\n return handleRetry(axiosInstance, currentState, error, config);\n }\n await handleMaxRetryTimesExceeded(currentState, error);\n return Promise.reject(error);\n });\n return { requestInterceptorId, responseInterceptorId };\n};\n// Compatibility with CommonJS\naxiosRetry.isNetworkError = isNetworkError;\naxiosRetry.isSafeRequestError = isSafeRequestError;\naxiosRetry.isIdempotentRequestError = isIdempotentRequestError;\naxiosRetry.isNetworkOrIdempotentRequestError = isNetworkOrIdempotentRequestError;\naxiosRetry.exponentialDelay = exponentialDelay;\naxiosRetry.linearDelay = linearDelay;\naxiosRetry.isRetryableError = isRetryableError;\nexport default axiosRetry;\n"],"names":["OPEN_CLASS","INPUT_CLASS","NO_RESULT_CLASS","$","$component","length","$closeMobile","find","$inputField","$closePanel","$enterInput","$infoContainer","$viewAllProducts","$viewAllContent","$popularContainer","$popularProducts","$popularContent","$popularProductsItems","$popularContentItems","$searchContainer","$panelContainer","$noResultText","$overlay","searchUrl","data","window","dataLayer","totalSearchHits","timeout","dataFound","newProductListHtml","newContentListHtml","suggestedSearchListHtml","checkSearchTopPositioning","addClass","innerWidth","css","top","addEventListener","hasClass","on","e","preventDefault","removeClass","html","val","open","concat","push","event","site_search_category","is_guided_search","site_search_keyword","refined_search","search_term","site_search_results","document","scroll","id","this","attr","trim","toLowerCase","suggestedSearch","guided_search_category","guided_search_keyword","trigger","site_search_keywords","empty","key","replace","callApi","axiosRetry","axios","retries","productsData","searcher","currentDomain","term","country","language","contentData","requestProducts","post","header","Accept","requestContent","setTimeout","all","then","spread","productsResponse","arguments","undefined","contentResponse","stats","totalHits","productItems","documents","contentItems","popularProducts","slice","popularContent","map","product","productImage","localisedItem","getLocalisedData","images","openUrl","title","catalogueNumber","rangeName","content","append","error","console","clearTimeout","keyup","searchUpliftInit","item","en_NZ","en_AU","denyList","Set","module","exports","has","code","namespace","isNetworkError","response","includes","SAFE_HTTP_METHODS","IDEMPOTENT_HTTP_METHODS","isRetryableError","status","isIdempotentRequestError","config","method","indexOf","isNetworkOrIdempotentRequestError","retryAfter","retryAfterHeader","headers","retryAfterMs","Number","Date","valueOf","now","Math","max","DEFAULT_OPTIONS","retryCondition","retryDelay","_retryNumber","shouldResetTimeout","onRetry","onMaxRetryTimesExceeded","validateResponse","setCurrentState","defaultOptions","resetLastRequestTime","currentState","getRequestOptions","retryCount","lastRequestTime","axiosInstance","requestInterceptorId","interceptors","request","use","validateStatus","responseInterceptorId","async","Promise","reject","shouldRetryOrPromise","_err","shouldRetry","delay","defaults","agent","httpAgent","httpsAgent","fixConfig","lastRequestDuration","transformRequest","signal","aborted","resolve","abortListener","removeEventListener","once","handleRetry","handleMaxRetryTimesExceeded","isSafeRequestError","exponentialDelay","retryNumber","delayFactor","calculatedDelay","random","linearDelay"],"sourceRoot":""}