{"version":3,"file":"static/chunks/4238.c84d967d0364e37b.js","mappings":"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","sources":["webpack://_N_E/./adapters/model/service/api/buyNowLite.js","webpack://_N_E/./components/ProductOverlay/ProductOverlay.js","webpack://_N_E/"],"sourcesContent":["import {BuyNowLiteConstants} from '../../../helpers/Constants';\n\nexport function generateHeader() {\n let header = new Headers();\n header.append(BuyNowLiteConstants.accessControlAllowOrigin, '*');\n header.append(BuyNowLiteConstants.xFunctionKey, process.env.BUY_NOW_LITE_FUNCTION_KEY);\n header.append(BuyNowLiteConstants.passKey, process.env.BUY_NOW_LITE_PASS_KEY);\n header.append(BuyNowLiteConstants.ocpApimSubscriptionKey, process.env.BUY_NOW_LITE_SUBSCRIPTION_KEY);\n\n return header;\n}\n\nexport const getBuyNowLiteRetailerList = (sku, onSuccess = function(){}, onFailure = function(){}) => {\n const header = generateHeader();\n\n const requestOptions = {\n method: 'GET',\n headers: header,\n };\n\n let url = process.env.BUY_NOW_LITE_URL.replace('{sku}', sku);\n\n fetch(url, requestOptions)\n .then(response => response.json())\n .then(data => {\n if(data.constructor === Array) {\n onSuccess(data);\n } else {\n onFailure();\n }\n })\n .catch(error => {\n console.error(error);\n onFailure();\n });\n}","import React, { useEffect, useRef, useState } from 'react';\nimport dynamic from 'next/dynamic';\nimport PropTypes from 'prop-types';\nimport throttle from 'lodash/throttle';\nimport Block from '../../adapters/helpers/Block';\nimport { toggleScroll } from '../../adapters/helpers/Utils';\nimport { ProductOverlayConstants } from '../../adapters/helpers/Constants';\nimport { loadScript } from '../../adapters/helpers/Utils';\n\nimport {getBuyNowLiteRetailerList} from '../../adapters/model/service/api/buyNowLite';\n\nconst Icon = dynamic(() => import('../Icon/Icon'));\n\nexport default function ProductOverlay(props) {\n const displayBuyNowLite = (process.env.ACTIVATE_BUY_NOW_LITE || false) === 'TRUE';\n\n const { customEvent, onClickCallback, states, extraAttributes } = props;\n const block = new Block(props);\n const [isOverlayOpen, setIsOverlayOpen] = useState(states.isOverlayOpen);\n const [lastButton, setLastButton] = useState(null);\n const [lastScroll, setLastScroll] = useState(0);\n const [productSku, setProductSku] = useState('');\n const KEYCODE_ESC = 27;\n const anchorId = block.getAnchorId();\n const productOverlayRef = useRef();\n const closeOverlayLabel = block.getFieldValue(ProductOverlayConstants.closeOverlayLabel)?.fields?.text;\n const buyNowLiteErrorLabel = block.getFieldValue(ProductOverlayConstants.buyNowLiteErrorLabel)?.fields?.text;\n let classNames = block.getFieldValue(ProductOverlayConstants.classNames) ? block.getFieldValue(ProductOverlayConstants.classNames) : ProductOverlayConstants.empty;\n classNames += `${anchorId}`;\n\n useEffect(() => {\n setLastScroll(window.pageYOffset);\n const productVariants = extraAttributes?.entity?.productOverview?.fields?.productVariants;\n const series = extraAttributes?.entity?.series;\n let initialSku = '';\n if (extraAttributes) {\n if (productVariants?.length > 0 && productVariants[0]?.fields?.sku) {\n\n initialSku = extraAttributes?.entity?.productOverview?.fields?.productVariants[0]?.fields?.sku;\n\n } else if (series?.length > 0 && series[0]?.fields?.featuredProduct?.fields?.productVariants?.length > 0 && series[0]?.fields?.featuredProduct?.fields?.productVariants[0]?.fields?.sku) {\n\n initialSku = extraAttributes?.entity?.series[0]?.fields?.featuredProduct?.fields?.productVariants[0]?.fields?.sku;\n\n }\n }\n setProductSku(initialSku);\n }, []);\n\n const onGetBuyNowLiteRetailerListSuccess = (data) => {\n const buyNowLiteContainer = document.querySelector('.buy-now-lite-container');\n for (const item of data) {\n let linkNode = document.createElement('a');\n linkNode.href = item.BuyNowUrl;\n linkNode.target = '_blank';\n linkNode.rel = 'noopener noreferrer';\n linkNode.className = 'buy-now-lite-link';\n\n let imgNode = document.createElement('img');\n imgNode.src = 'data:image/png;base64,' + item.Retailerlogo;\n imgNode.className = 'buy-now-lite-img';\n imgNode.alt = '';\n linkNode.appendChild(imgNode);\n\n buyNowLiteContainer.appendChild(linkNode);\n }\n\n openBuyNowLiteModal();\n };\n\n const onGetBuyNowLiteRetailerListFailure = () => {\n // close modal and remove buy now lite retailer images from modal.\n const buyNowLiteContainer = document.querySelector('.buy-now-lite-container');\n let paragraphNode = document.createElement('p');\n paragraphNode.className = 'buy-now-lite-error-message';\n paragraphNode.textContent = buyNowLiteErrorLabel;\n\n buyNowLiteContainer.appendChild(paragraphNode);\n\n openBuyNowLiteModal();\n };\n\n useEffect(() => {\n if (!customEvent?.event) {\n return;\n }\n if (customEvent.event instanceof HTMLElement || customEvent.event instanceof Node) {\n if (displayBuyNowLite) {\n customEvent.event.disabled = true;\n }\n const sku = customEvent?.event?.dataset?.sku ? customEvent.event.dataset.sku : '';\n let resetCountryCode = customEvent?.event?.dataset?.resetCountryCode ? customEvent.event.dataset.resetCountryCode : false;\n\n // ACTIVATE_BUY_NOW_LITE is true for japan\n if (process.env.ACTIVATE_BUY_NOW_LITE) {\n if(sku !== '') {\n // Ajax call to get retailer data.\n getBuyNowLiteRetailerList(sku, onGetBuyNowLiteRetailerListSuccess, onGetBuyNowLiteRetailerListFailure);\n } else {\n // If no sku, close modal and remove buy now lite retailer images from modal.\n const buyNowLiteContainer = document.querySelector('.buy-now-lite-container');\n buyNowLiteContainer.innerHTML = '';\n closeBuyNowLiteModal();\n }\n } else { // Price spider buy now case.\n if (sku !== '' && window.PriceSpider === undefined) {\n // script priceSpider with callback\n loadScript(ProductOverlayConstants.priceSpiderSource, (error) => {\n if (error) {\n console.log(ProductOverlayConstants.priceSpiderConsoleLogMessageError);\n } else {\n // script loaded successfully\n setProductSku(sku);\n setLastButton(customEvent.event);\n setIsOverlayOpen(true);\n }\n });\n } else if (sku !== '') {\n // script already loaded\n setProductSku(sku);\n setLastButton(customEvent.event);\n setIsOverlayOpen(true);\n } else {\n setProductSku('');\n setIsOverlayOpen(false);\n }\n\n if (resetCountryCode && window?.PriceSpider) {\n window.PriceSpider.reset();\n }\n }\n }\n }, [customEvent]);\n\n useEffect(() => {\n if (productSku !== '' && window?.PriceSpider) {\n window.PriceSpider.rebind();\n }\n }, [productSku]);\n\n useEffect(() => {\n if (productOverlayRef?.current) {\n toggleOverlay();\n productOverlayRef?.current?.addEventListener(ProductOverlayConstants.keydown, trapFocusInOverlay);\n return () => {\n productOverlayRef?.current?.removeEventListener(ProductOverlayConstants.keydown, trapFocusInOverlay)\n }\n }\n },[isOverlayOpen]);\n\n useEffect(() => {\n const handleScroll = throttle(() => {\n if (!document.body.classList.contains(ProductOverlayConstants.noScroll)) {\n setLastScroll(window.pageYOffset);\n }\n }, 100);\n window.addEventListener(ProductOverlayConstants.scroll, handleScroll);\n return () => {\n window.removeEventListener(ProductOverlayConstants.scroll, handleScroll);\n }\n },[lastScroll]);\n\n const closeBuyNowLiteModal = () => {\n setProductSku('');\n setIsOverlayOpen(false);\n }\n\n const openBuyNowLiteModal = () => {\n if (displayBuyNowLite) {\n customEvent.event.disabled = false;\n }\n setLastButton(customEvent.event);\n setIsOverlayOpen(true);\n }\n\n const toggleOverlay = () => {\n const productOverlayElem = productOverlayRef.current;\n let ele = document.getElementById('ob-product-subnav-scroll');\n\n if (isOverlayOpen) {\n if(ele) {\n ele.setAttribute('style', 'z-index:99 !important');\n }\n productOverlayElem.classList.add(ProductOverlayConstants.isActive);\n productOverlayElem.focus();\n } else {\n if(ele) {\n ele.setAttribute('style', 'z-index:999 !important');\n }\n productOverlayElem.classList.remove(ProductOverlayConstants.isActive);\n document.body.style.top = null;\n document.body.style.height = null;\n if (lastButton) {\n lastButton.focus();\n }\n }\n toggleScroll(isOverlayOpen, lastScroll);\n };\n\n const trapFocusInOverlay = event => {\n if (!isOverlayOpen) {\n return;\n }\n const element = event.currentTarget;\n const focusableElements = element.querySelectorAll(ProductOverlayConstants.querySelectorAll);\n const firstFocusableElement = focusableElements[0];\n const lastFocusableElement = focusableElements[focusableElements.length - 1];\n const KEYCODE_TAB = 9;\n\n const isTabPressed = (event.key === ProductOverlayConstants.Tab || event.keyCode === KEYCODE_TAB);\n\n handleEscapeKeyPress(event);\n\n if (!isTabPressed) {\n return;\n }\n\n if ( event.shiftKey ) /* shift + tab */ {\n if (document.activeElement === firstFocusableElement) {\n lastFocusableElement.focus();\n event.preventDefault();\n }\n } else /* tab */ {\n if (document.activeElement === lastFocusableElement) {\n firstFocusableElement.focus();\n event.preventDefault();\n }\n }\n };\n\n const handleBackgroundClick = event => {\n event.stopPropagation();\n if (event.target === document.querySelector('.ob-product-overlay')) {\n setIsOverlayOpen(false);\n\n if(displayBuyNowLite) {\n // When clicking in background remove buy now lite retailer.\n const buyNowLiteContainer = document.querySelector('.buy-now-lite-container');\n buyNowLiteContainer.innerHTML = '';\n }\n }\n };\n\n const handleEscapeKeyPress = event => {\n if (event.key === ProductOverlayConstants.Escape || event.keyCode === KEYCODE_ESC) {\n setIsOverlayOpen(false);\n }\n }\n\n return (\n
\n
\n {\n isOverlayOpen &&\n \n }\n
\n {displayBuyNowLite ?\n <>\n
\n\n
\n \n :\n <>\n
\n \n }\n\n\n
\n
\n
\n )\n}\n\nProductOverlay.defaultProps = {\n states: {isOverlayOpen: false}\n};\n\nProductOverlay.propTypes = {\n customEvent: PropTypes.object,\n onClickCallback: PropTypes.func,\n states: PropTypes.object,\n children: PropTypes.node,\n extraAttributes: PropTypes.object,\n};\n","\"use strict\";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4238],{14238:function(e,n,t){t.r(n),t.d(n,{default:function(){return w}});var r=t(67294),l=t(5152),o=t.n(l),i=t(23493),u=t.n(i),a=t(40483),c=t(8996),s=t(24036),d=t(34155);function f(){var e=new Headers;return e.append(s.t8.accessControlAllowOrigin,\"*\"),e.append(s.t8.xFunctionKey,d.env.BUY_NOW_LITE_FUNCTION_KEY),e.append(s.t8.passKey,d.env.BUY_NOW_LITE_PASS_KEY),e.append(s.t8.ocpApimSubscriptionKey,d.env.BUY_NOW_LITE_SUBSCRIPTION_KEY),e}var v=t(85893),p=t(34155);function y(e,n){var t=\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(!t){if(Array.isArray(e)||(t=function(e,n){if(!e)return;if(\"string\"==typeof e)return m(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===t&&e.constructor&&(t=e.constructor.name);if(\"Map\"===t||\"Set\"===t)return Array.from(e);if(\"Arguments\"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return m(e,n)}(e))||n&&e&&\"number\"==typeof e.length){t&&(e=t);var r=0,l=function(){};return{s:l,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:l}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var o,i=!0,u=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return i=e.done,e},e:function(e){u=!0,o=e},f:function(){try{i||null==t.return||t.return()}finally{if(u)throw o}}}}function m(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t0&&(null==(l=j[0])||null==(o=l.fields)?void 0:o.sku))k=null==g||null==(b=g.entity)||null==(w=b.productOverview)||null==(h=w.fields)||null==(E=h.productVariants[0])||null==(_=E.fields)?void 0:_.sku;else if((null==S?void 0:S.length)>0&&(null==(i=S[0])||null==(u=i.fields)||null==(a=u.featuredProduct)||null==(c=a.fields)||null==(s=c.productVariants)?void 0:s.length)>0&&(null==(d=S[0])||null==(f=d.fields)||null==(v=f.featuredProduct)||null==(p=v.fields)||null==(y=p.productVariants[0])||null==(m=y.fields)?void 0:m.sku)){var N,C,A,L,T,x,P;k=null==g||null==(N=g.entity)||null==(C=N.series[0])||null==(A=C.fields)||null==(L=A.featuredProduct)||null==(T=L.fields)||null==(x=T.productVariants[0])||null==(P=x.fields)?void 0:P.sku}I(k)}),[]);var F=function(e){var n,t=document.querySelector(\".buy-now-lite-container\"),r=y(e);try{for(r.s();!(n=r.n()).done;){var l=n.value,o=document.createElement(\"a\");o.href=l.BuyNowUrl,o.target=\"_blank\",o.rel=\"noopener noreferrer\",o.className=\"buy-now-lite-link\";var i=document.createElement(\"img\");i.src=\"data:image/png;base64,\"+l.Retailerlogo,i.className=\"buy-now-lite-img\",i.alt=\"\",o.appendChild(i),t.appendChild(o)}}catch(e){r.e(e)}finally{r.f()}W()},K=function(){var e=document.querySelector(\".buy-now-lite-container\"),n=document.createElement(\"p\");n.className=\"buy-now-lite-error-message\",n.textContent=Y,e.appendChild(n),W()};(0,r.useEffect)((function(){if((null==m?void 0:m.event)&&(m.event instanceof HTMLElement||m.event instanceof Node)){var e,n,t,r;i&&(m.event.disabled=!0);var l,o=(null==m||null==(e=m.event)||null==(n=e.dataset)?void 0:n.sku)?m.event.dataset.sku:\"\",u=!!(null==m||null==(t=m.event)||null==(r=t.dataset)?void 0:r.resetCountryCode)&&m.event.dataset.resetCountryCode;if(p.env.ACTIVATE_BUY_NOW_LITE)if(\"\"!==o)!function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){},t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=f(),l={method:\"GET\",headers:r},o=d.env.BUY_NOW_LITE_URL.replace(\"{sku}\",e);fetch(o,l).then((function(e){return e.json()})).then((function(e){e.constructor===Array?n(e):t()})).catch((function(e){console.error(e),t()}))}(o,F,K);else document.querySelector(\".buy-now-lite-container\").innerHTML=\"\",q();else\"\"!==o&&void 0===window.PriceSpider?(0,c.ve)(s.cj.priceSpiderSource,(function(e){e?console.log(s.cj.priceSpiderConsoleLogMessageError):(I(o),C(m.event),S(!0))})):\"\"!==o?(I(o),C(m.event),S(!0)):(I(\"\"),S(!1)),u&&(null==(l=window)?void 0:l.PriceSpider)&&window.PriceSpider.reset()}}),[m]),(0,r.useEffect)((function(){var e;\"\"!==x&&(null==(e=window)?void 0:e.PriceSpider)&&window.PriceSpider.rebind()}),[x]),(0,r.useEffect)((function(){var e;if(null==U?void 0:U.current)return M(),null==U||null==(e=U.current)||e.addEventListener(s.cj.keydown,R),function(){var e;null==U||null==(e=U.current)||e.removeEventListener(s.cj.keydown,R)}}),[j]),(0,r.useEffect)((function(){var e=u()((function(){document.body.classList.contains(s.cj.noScroll)||O(window.pageYOffset)}),100);return window.addEventListener(s.cj.scroll,e),function(){window.removeEventListener(s.cj.scroll,e)}}),[L]);var q=function(){I(\"\"),S(!1)},W=function(){i&&(m.event.disabled=!1),C(m.event),S(!0)},M=function(){var e=U.current,n=document.getElementById(\"ob-product-subnav-scroll\");j?(n&&n.setAttribute(\"style\",\"z-index:99 !important\"),e.classList.add(s.cj.isActive),e.focus()):(n&&n.setAttribute(\"style\",\"z-index:999 !important\"),e.classList.remove(s.cj.isActive),document.body.style.top=null,document.body.style.height=null,N&&N.focus()),(0,c.a9)(j,L)},R=function(e){if(j){var n=e.currentTarget.querySelectorAll(s.cj.querySelectorAll),t=n[0],r=n[n.length-1],l=e.key===s.cj.Tab||9===e.keyCode;H(e),l&&(e.shiftKey?document.activeElement===t&&(r.focus(),e.preventDefault()):document.activeElement===r&&(t.focus(),e.preventDefault()))}},H=function(e){e.key!==s.cj.Escape&&27!==e.keyCode||S(!1)};return(0,v.jsx)(\"div\",{role:\"presentation\",onClick:function(e){(e.stopPropagation(),e.target===document.querySelector(\".ob-product-overlay\"))&&(S(!1),i&&(document.querySelector(\".buy-now-lite-container\").innerHTML=\"\"))},onKeyDown:H,ref:U,className:\"ob-product-overlay \".concat(B),children:(0,v.jsxs)(\"div\",{className:\"ob-product-overlay__wrapper \".concat(i?\"ob-product-overlay__wrapper--buy-now-lite\":\"\"),children:[j&&(0,v.jsx)(\"button\",{\"aria-label\":V,className:\"ob-product-overlay__close-btn\",onClick:function(e){return w(e)},children:(0,v.jsx)(b,{name:s.cj.close,size:2})}),(0,v.jsx)(\"div\",{id:\"ob-product-overlay__content\",children:i?(0,v.jsx)(v.Fragment,{children:(0,v.jsx)(\"div\",{className:\"buy-now-lite-container\"})}):(0,v.jsx)(v.Fragment,{children:(0,v.jsx)(\"div\",{className:\"ps-widget\",\"ps-sku\":x,\"data-action-detail\":x})})})]})})}w.defaultProps={states:{isOverlayOpen:!1}}}}]);"],"names":["self","webpackChunk_N_E","push","e","n","t","r","d","default","w","l","o","i","u","a","c","s","v","p","m","length","b","Promise","resolve","then","bind","loadableGenerated","webpack","env","ACTIVATE_BUY_NOW_LITE","customEvent","onClickCallback","h","states","g","extraAttributes","E","Z","_","useState","isOverlayOpen","j","S","k","N","C","A","L","O","T","x","I","P","getAnchorId","U","useRef","V","getFieldValue","cj","closeOverlayLabel","fields","text","Y","buyNowLiteErrorLabel","B","classNames","empty","concat","useEffect","window","pageYOffset","f","y","entity","productOverview","productVariants","series","sku","featuredProduct","F","document","querySelector","Symbol","iterator","Array","isArray","Object","prototype","toString","call","slice","constructor","name","from","test","done","value","next","return","createElement","href","BuyNowUrl","target","rel","className","src","Retailerlogo","alt","appendChild","W","K","textContent","event","HTMLElement","Node","disabled","dataset","resetCountryCode","arguments","Headers","append","t8","accessControlAllowOrigin","xFunctionKey","BUY_NOW_LITE_FUNCTION_KEY","passKey","BUY_NOW_LITE_PASS_KEY","ocpApimSubscriptionKey","BUY_NOW_LITE_SUBSCRIPTION_KEY","BUY_NOW_LITE_URL","replace","fetch","method","headers","json","catch","console","error","innerHTML","q","PriceSpider","ve","priceSpiderSource","log","priceSpiderConsoleLogMessageError","reset","rebind","current","M","addEventListener","keydown","R","removeEventListener","body","classList","contains","noScroll","scroll","getElementById","setAttribute","add","isActive","focus","remove","style","top","height","a9","currentTarget","querySelectorAll","key","Tab","keyCode","H","shiftKey","activeElement","preventDefault","Escape","jsx","role","onClick","stopPropagation","onKeyDown","ref","children","jsxs","close","size","id","Fragment","defaultProps"],"sourceRoot":""}