{"version":3,"file":"static/chunks/app/c/sitemap/page-8ae97ae838acbd06.js","mappings":"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","sources":["webpack://_N_E/?4d96","webpack://_N_E/./contexts/reducers/GlobalReducer.js","webpack://_N_E/./lib/Constants/toastDefaults.js","webpack://_N_E/./contexts/GlobalContext.js","webpack://_N_E/./services/LocalStorage.service.js","webpack://_N_E/./thirdparty/Nosto/Nosto.helpers.js","webpack://_N_E/./thirdparty/Nosto/NostoEventTracker.jsx","webpack://_N_E/./thirdparty/Nosto/context/NostoContext.js","webpack://_N_E/./thirdparty/Nosto/helpers/GetCart.js","webpack://_N_E/./thirdparty/Nosto/hooks/useNostoEventTracker.js"],"sourcesContent":["import(/* webpackMode: \"eager\", webpackExports: [\"__esModule\",\"default\"] */ \"/codebuild/output/src1180146587/src/authenteak-3.0/node_modules/next/dist/client/app-dir/link.js\");\n;\nimport(/* webpackMode: \"eager\", webpackExports: [\"default\"] */ \"/codebuild/output/src1180146587/src/authenteak-3.0/thirdparty/Nosto/NostoEventTracker.jsx\");\n","/**\n* Global State Manager:\n* - only put things in here that are truly global (e.g. Cart & Customer Data, Theme)\n* otherwise make it a local state or pass it in a prop\n*/\n\n\n// use our initial state as a type of manifest for the Global State\nexport const initialState = {\n user: {\n isLoggedIn: false,\n email: \"\",\n customer_group_id: 5,\n exists: null,\n external_customer_id: 0,\n user_id: 0\n },\n cart: {},\n thirdParty: {\n zendesk: false,\n nostoSession: process.env.NODE_ENV === \"development\" ? \"64d25a2e95be7b70ae573a09\" : null\n },\n dynamicParams: {},\n widget:{\n isOpen: false,\n component: null,\n showBackdrop: true,\n page: {\n component: null,\n }\n }\n}\n\n\nexport const GlobalReducer = (state, action) => {\n switch(action.type){\n\n case \"setDynamicParams\": {\n return {\n ...state,\n dynamicParams: {\n ...state.dynamicParams,\n ...action.data\n }\n }\n }\n\n case \"closeWidget\":\n return{\n ...state,\n widget: {\n ...state.widget,\n isOpen: false,\n component: null,\n page: {\n component: null\n }\n }\n }\n\n case \"setWidgetPage\": \n return{\n ...state,\n widget: {\n ...state.widget,\n page: {\n ...action.data\n }\n }\n }\n\n case \"setWidget\":\n return{\n ...state,\n widget: {\n ...state.widget,\n ...action.data\n }\n }\n\n\n case \"nostoSession\":\n return{\n ...state,\n thirdParty:{\n ...state.thirdParty,\n nostoSession: action.data\n }\n }\n\n case \"zendeskInit\":\n return{\n ...state,\n thirdParty: {\n ...state.thirdParty,\n zendesk: action.data\n }\n }\n\n\n \n case \"login\":\n return{\n ...state,\n user: {\n ...state.user,\n isLoggedIn: true,\n ...action.data\n }\n };\n\n \n\n case \"setEmail\":\n return{\n ...state,\n user: {\n ...state.user,\n ...action.data\n }\n };\n\n\n \n case \"logout\":\n return{\n ...state,\n user: {\n ...state.user,\n isLoggedIn: false,\n data: {}\n }\n };\n \n\n default:\n throw new Error(\"Doh! You did not choose GlobalReducer method type to perform. Please try agin or go to GlobalContext.js for available types.\")\n }\n};\n","\n\n// Global Toast default Options\nexport const toastDefaults = {\n position: \"top-right\",\n autoClose: 5000,\n hideProgressBar: false,\n closeOnClick: true,\n pauseOnHover: true,\n draggable: true,\n progress: undefined,\n newestOnTop: true\n}\n\n","\"use client\"\n\nimport { useReducer, createContext } from 'react';\nimport { GlobalReducer, initialState } from './reducers/GlobalReducer';\nimport { ToastContainer } from 'react-toastify'\nimport { toastDefaults } from 'lib/Constants/toastDefaults';\n\n\nexport const GlobalContext = createContext();\n\n// Create our Provider with our Reducer as our state manager\nexport const GlobalContextProvider = props => {\n const [state, dispatch] = useReducer(GlobalReducer, initialState);\n\n return (\n \n {props.children}\n\n \n \n );\n};\n\n","\n\nexport const storageKeys = {\n persistedCart: \"TEAK_persisted_cart\",\n saveForLater: \"TEAK_saveForLater\",\n cart: \"TEAK_cart\",\n isMobile: \"TEAK_isMobile\",\n orderConfirmation: \"TEAK_orderConfirmation\",\n swatchCart: \"TEAK_swatchCart\",\n swatchOrderDate: \"TEAK_swatchOrderDate\",\n searchQueryID: \"TEAK_searchQueryID\",\n searchUserToken: \"TEAK_searchUserToken\",\n user: \"TEAK_user\",\n provider: \"TEAK_provider\",\n homeFallBack: \"TEAK_homeFallBack\",\n jwt: \"TEAK_jwt\",\n rejoiner: {\n rules: \"TEAK_rejoinerRules\",\n toaster: \"TEAK_rejoinerEmailToaster\",\n profile: \"TEAK_rejoinerCustomerProfile\"\n },\n nosto: {\n sessionID: \"TEAK_nostoSessionId\"\n },\n yotpo: {\n token: \"TEAK_yotpo_token\"\n }\n}\n\n\nexport const LocalStorage = {\n\n /**\n * Full storage setting of storage\n * @param {String} key \n * @param {Object} data \n * @param {String} type - the type of storage operation\n */\n\n setStorage(key, data, type){\n try{\n if (type === \"local\") {\n if (window?.localStorage) {\n window.localStorage.setItem(key, JSON.stringify(data));\n }\n\n } else {\n if (window.sessionStorage) {\n window.sessionStorage.setItem(key, JSON.stringify(data));\n }\n }\n\n }catch(err){}\n },\n\n \n\n /**\n * full service get storage\n * @param {String} key \n */\n\n getStorage(key){\n try{\n if ( window?.localStorage ) {\n let stored = window.sessionStorage ? window.sessionStorage.getItem(key) : null;\n\n if ( !stored ) {\n stored = window.localStorage ? window.localStorage.getItem(key) : {};\n }\n\n return stored !== \"undefined\" ? JSON.parse(stored) : {}\n }\n\n }catch(err){}\n },\n\n\n\n /**\n * Full service adding to existing storage\n * @param {String} key \n * @param {Object} data \n */\n\n addToStorage(key, data){\n try{\n let storedItems = this.getStorage(key);\n \n if (Array.isArray(storedItems)) {\n const newStoredItems = storedItems.filter(item => JSON.stringify(item) !== JSON.stringify(data));\n\n newStoredItems.push(data);\n this.setStorage(key, newStoredItems, \"local\");\n\n } else {\n let arr = [];\n\n arr.push(data);\n this.setStorage(key, arr, \"local\");\n }\n\n }catch(err){\n console.log(err)\n }\n },\n\n\n\n\n /**\n * Remove an single item from an array in storage\n * @param {string} key \n * @param {object} data \n */\n\n removeFromStorage(key, data){\n try{\n let storedItems = this.getStorage(key);\n \n if (Array.isArray(storedItems)) {\n const newStoredItems = storedItems.filter(item => JSON.stringify(item) !== JSON.stringify(data));\n this.setStorage(key, newStoredItems, \"local\");\n }\n\n }catch(err){\n console.log(err)\n }\n },\n\n\n \n\n /**\n * Clear out storage object of specified key\n * @param {string} key \n */\n\n remove(key){\n try{\n if( window ){\n window.localStorage.removeItem(key)\n window.sessionStorage.removeItem(key)\n }\n \n }catch(err){}\n },\n\n\n}","\n// merge all of the other placements with no custom category targets to make 1 call\nfunction bulkMergePlacements(placements){\n const merged = {\n placementIds: \"\",\n categoryTarget: null,\n categoryNameTaxonomy: null\n };\n\n let mergedPlacements = \"\"\n\n placements.forEach(placement => {\n mergedPlacements += `${placement.placementIds.includes(\",\") ? placement.placementIds.split(\",\").map(id => id.trim()) : placement.placementIds },`\n })\n\n mergedPlacements = mergedPlacements.slice(0, -1)\n mergedPlacements = mergedPlacements.split(\",\").map(id => id)\n\n merged.placementIds = mergedPlacements;\n\n return merged;\n}\n\n\n\n\nexport function getPlacementIdsFromBlocks({ blocks = [] }){\n if( Array.isArray(blocks) && blocks.length ){\n let slots = blocks.filter(block => Object.hasOwn(block, \"placementId\")).map(block => {\n return {\n placementIds: block?.placementId,\n categoryNameTaxonomy: block?.categoryNameTaxonomy ?? null,\n categoryTarget: block?.categoryTarget ?? null,\n id: block.id\n }\n }) \n\n slots = slots.filter(id => id.placementIds !== null && id.placementIds !== undefined && id.placementIds !== \"\")\n\n // pull out the targeted placements\n const targetedPlacements = slots.filter(slot => !!slot.categoryTarget)\n\n // pull out the placements with no targets\n const placements = slots.filter(slot => !slot.categoryTarget)\n\n // merge the placements with no targets to make 1 call\n const merged = bulkMergePlacements(placements)\n\n return [\n ...targetedPlacements,\n merged\n ] \n }\n}\n","\"use client\"\n\nimport { getPlacementIdsFromBlocks } from \"./Nosto.helpers\";\nimport useNostoEventTracker from \"./hooks/useNostoEventTracker\";\n\n\nfunction NostoEventTracker({ blocks, slotIds = null, trackerObject }){\n const placements = blocks && !slotIds ? getPlacementIdsFromBlocks({ blocks }) : slotIds;\n\n\tuseNostoEventTracker({\n ...trackerObject,\n placementIds: placements?.[0]?.placementIds ?? slotIds\n })\n\n return null\n}\n\nexport default NostoEventTracker;","import { createContext } from \"react\";\n\nexport const NostoContext = createContext({});\n","import { LocalStorage, storageKeys } from 'services/LocalStorage.service';\n\nexport const getCart = () => {\n const cartData = LocalStorage.getStorage(storageKeys.cart);\n\n if (cartData?.line_items?.physical_items || cartData?.line_items?.gift_certificates) {\n const cart = {\n id: cartData?.id,\n cart_amount: cartData?.cart_amount\n }\n\n // Cart Items to Nosto\n const physicalItems = cartData?.line_items?.physical_items.map((item) => {\n return {\n name: item.name,\n priceCurrencyCode: \"USD\",\n productId: item.product_id,\n quantity: item.quantity,\n skuId: item.sku,\n unitPrice: item.list_price\n }\n })\n const giftCertificates = cartData?.line_items?.gift_certificates.map((item) => {\n\t\t\t\treturn {\n\t\t\t\t\tname: item.name,\n\t\t\t\t\tpriceCurrencyCode: \"USD\",\n\t\t\t\t\tproductId: 'giftCertificate',\n\t\t\t\t\tquantity: item.quantity,\n\t\t\t\t\tskuId: 'giftCertificate',\n\t\t\t\t\tunitPrice: item.amount,\n\t\t\t\t};\n\t\t\t});\n return {...cart, items:[...physicalItems, ...giftCertificates] };\n\n } \n else {\n return [];\n }\n\n}","\"use client\"\n\n/* eslint-disable react-hooks/exhaustive-deps */\nimport { useContext, useEffect } from \"react\"\nimport { NostoContext } from \"../context/NostoContext\";\nimport { View404, ViewCart, ViewCategory, ViewFrontPage, ViewPage, ViewProduct, ViewSearch, ViewBlog, ViewOther } from \"../NostoEvents\"\nimport { GlobalContext } from \"contexts/GlobalContext\";\nimport { getCart } from \"../helpers/GetCart\";\n\nconst NostoEvent = {\n \"View404\": View404,\n \"ViewBlog\": ViewBlog,\n \"ViewCart\": ViewCart,\n \"ViewPage\": ViewPage,\n \"ViewOther\": ViewOther,\n \"ViewSearch\": ViewSearch,\n \"ViewProduct\": ViewProduct,\n \"ViewCategory\": ViewCategory,\n \"ViewFrontPage\": ViewFrontPage\n};\n\n\nfunction useNostoEventTracker({ event, placementIds=[], url, ...other }){\n const [ nostoState, dispatch ] = useContext(NostoContext)\n const [global, globalDispatch] = useContext(GlobalContext)\n const cartData = getCart();\n\n function callNostoEvent({ placement }) {\n NostoEvent[event].call(null, { \n placementIds: typeof placement === \"string\" ? placement : placement.placementIds,\n categoryTarget: placement?.categoryTarget ?? null,\n categoryNameTaxonomy: placement?.categoryNameTaxonomy ?? null,\n ...other,\n cart:cartData,\n session: global?.thirdParty?.nostoSession,\n callback: (data) => {\n const obj = {};\n\n if( Array.isArray(data) ){\n data.forEach(placement => {\n obj[placement?.resultId] = {\n ...placement\n }\n })\n dispatch({\n type: \"setRecommendations\",\n data: obj\n })\n }\n \n }\n })\n\n }\n\n\n useEffect(() => {\n if (event && placementIds && global?.thirdParty?.nostoSession) {\n const isLegacyPlacementArray = Array.isArray(placementIds) && placementIds.every(placement => typeof placement === \"string\")\n\n // if its just an array of placement ids, make 1 call\n if( isLegacyPlacementArray ){\n callNostoEvent({ placement: placementIds.join(\",\") })\n\n } else {\n // if we have an array of objects, make multiple calls\n placementIds.forEach(placement => {\n callNostoEvent({ placement })\n })\n }\n }\n\n }, [ event, global?.thirdParty?.nostoSession, url ])\n\n}\n\n\n\nexport default useNostoEventTracker"],"names":["initialState","user","isLoggedIn","email","customer_group_id","exists","external_customer_id","user_id","cart","thirdParty","zendesk","nostoSession","process","dynamicParams","widget","isOpen","component","showBackdrop","page","state","action","type","data","toastDefaults","position","autoClose","hideProgressBar","closeOnClick","pauseOnHover","draggable","progress","undefined","newestOnTop","createContext","props","dispatch","useReducer","GlobalReducer","GlobalContext","Provider","value","children","ToastContainer","stacked","storageKeys","persistedCart","saveForLater","isMobile","orderConfirmation","swatchCart","swatchOrderDate","searchQueryID","searchUserToken","provider","homeFallBack","jwt","rejoiner","rules","toaster","profile","nosto","sessionID","yotpo","token","setStorage","key","window","localStorage","setItem","JSON","stringify","sessionStorage","err","getStorage","stored","getItem","parse","addToStorage","storedItems","Array","isArray","newStoredItems","filter","item","push","arr","console","log","removeFromStorage","remove","removeItem","getPlacementIdsFromBlocks","blocks","length","slots","block","Object","hasOwn","map","placementIds","placementId","categoryNameTaxonomy","categoryTarget","id","slot","bulkMergePlacements","merged","placements","mergedPlacements","forEach","placement","includes","split","trim","slice","NostoEventTracker","slotIds","trackerObject","useNostoEventTracker","NostoContext","getCart","cartData","LocalStorage","line_items","physical_items","gift_certificates","cart_amount","physicalItems","name","priceCurrencyCode","productId","product_id","quantity","skuId","sku","unitPrice","list_price","giftCertificates","amount","items","View404","ViewBlog","ViewCart","ViewPage","ViewOther","ViewSearch","ViewProduct","ViewCategory","ViewFrontPage","event","url","other","nostoState","useContext","global","globalDispatch","callNostoEvent","NostoEvent","call","session","callback","obj","resultId","useEffect","every","join"],"sourceRoot":"","ignoreList":[]}