PageSourceSearch

https://www.giftcards.com/etc.clientlibs/bhn/components/page/clien…-ce01304d06ae16a404e72dd4c2347837-lc.min.js

js giftcards.com collected 2026-09-24 08:54:03 UTC 7,858 bytes, 16 lines download raw bytes

1function formatRegion(component,region,bhnCmpIndexEle){return component&&component.webInteraction&&component.webInteraction.region?component.webInteraction.region.replace("|"+region,"|"+region+"_"+bhnCmpIndexEle.getAttribute("data-bhn-cmp-index")):null}function formatRegionForSectionTitle(component,parentElement){return component&&component.webInteraction?component.webInteraction.region+"|"+parentElement.getAttribute("data-bhn-section-title"):null}
2function replaceSpaceWithDelimiter(component){var region=component&&component.webInteraction&&component.webInteraction.region?component.webInteraction.region:"";return region.toLowerCase().replace(/ /g,"_")}function debounce(func,delay){var timeoutId;return function(){var context=this;var args=arguments;clearTimeout(timeoutId);timeoutId=setTimeout(function(){func.apply(context,args)},delay)}}
3(function(){var dataLayerEnabled;var adobeDataLayer;var dataLayer;var bhnCmpIndex=[];function attachClickEventListener(element){element.addEventListener("click",addClickToDataLayer)}function getComponentObject(element){var component=getComponentData(element);if(component){var bhnCmpIndexEle=element.closest("[data-bhn-cmp-index]");if(bhnCmpIndexEle){var region=component&&component.webInteraction&&component.webInteraction.region?component.webInteraction.region.split("|")[2]:null;component.webInteraction.region=
4formatRegion(component,region,bhnCmpIndexEle)}var parentElement=element.closest("[data-bhn-section-title]");if(parentElement)component.webInteraction.region=formatRegionForSectionTitle(component,parentElement);component.webInteraction.region=replaceSpaceWithDelimiter(component)}return component}function extractProductData(productElement){try{var productDL=productElement.getAttribute("data-bhn-cmp-data-layer");var productData=JSON.parse(productDL);return productData.productListItems[0]||{}}catch(error){console.error(error);
5return{}}}function getListTitle(element){var list=element.closest("[data-bhn-list]");if(list){var listTitle=list.getAttribute("data-bhn-list-name");return listTitle!==null?listTitle:"List Name not configured"}return"NA"}function getProductId(element){var productCard=element.closest("[data-product-base-sku]");if(!productCard)return null;var productId=productCard.getAttribute("data-product-base-sku");if(!productId)return null;return productId}function addClickToDataLayer(event){var element=event.currentTarget;
6var componentObject=getComponentObject(element);adobeDataLayer.push({"event":"web.webinteraction.linkClicks","eventType":"web.webinteraction.linkClicks","web":componentObject});dataLayer.push({"event":"web.webinteraction.linkClicks","eventType":"web.webinteraction.linkClicks","web":componentObject})}function getComponentData(element){var dataLayerJson=element.dataset.bhnCmpDataLayer;if(dataLayerJson){var jsonData=JSON.parse(dataLayerJson);if(!jsonData.webInteraction)return{"webInteraction":jsonData};
7return jsonData}else return undefined}function storeProductList(productId,listTitle){try{var listTitleMap=JSON.parse(localStorage.getItem("productListTitles"))||{};listTitleMap[productId]=listTitle;localStorage.setItem("productListTitles",JSON.stringify(listTitleMap))}catch(error){console.error("Error storing product list:",error)}}function attachSelectEventListener(element){element.addEventListener("click",addSelectToDataLayer)}var initCarouselTracking=function(carousel){var impressionQueue=[];var sentImpressions=
8{};var sendImpressions=function(){if(impressionQueue.length===0)return;var listTitle=carousel.getAttribute("data-bhn-list-name");var region="carousel|main|product_carousel|"+listTitle;var listObject={"event":"view_item_list","commerce":{"_blackhawknet":{"listID":listTitle}},"web":{"webInteraction":{"region":region}},"productListItems":impressionQueue};adobeDataLayer.push(listObject);dataLayer.push(listObject);impressionQueue=[]};var sendDebouncedImpressions=debounce(sendImpressions,500);var handleImpression=
9function(entries){entries.forEach(function(entry){if(!entry.isIntersecting)return;var productCard=entry.target;var productId=productCard.getAttribute("data-product-base-sku");if(sentImpressions[productId])return;var productData=extractProductData(productCard);if(productData&&Object.keys(productData).length>0){sentImpressions[productId]=true;impressionQueue.push(productData)}sendDebouncedImpressions()})};var observer=new IntersectionObserver(handleImpression,{root:null,threshold:.5});var productCards=
10carousel.querySelectorAll("[data-bhn-is-product-card]");productCards.forEach(function(card){observer.observe(card)});var mutationObserver=new MutationObserver(function(carousel){carousel.forEach(function(mutation){if(mutation.type==="childList"&&mutation.addedNodes.length)mutation.addedNodes.forEac
10h(function(node){if(node.nodeType===1&&node.hasAttribute("data-bhn-is-product-card"))observer.observe(node)})})});mutationObserver.observe(carousel,{childList:true,subtree:true});function handleUnload(){if(impressionQueue.length>
110)sendImpressions();window.removeEventListener("beforeunload",handleUnload);mutationObserver.disconnect()}window.addEventListener("beforeunload",handleUnload)};function attachListEventListener(element){initCarouselTracking(element)}function addSelectToDataLayer(event){var element=event.currentTarget;var componentObject=getComponentObject(element);var listTitle=getListTitle(element);var productId=getProductId(element);if(productId)storeProductList(productId,listTitle);adobeDataLayer.push({"event":"select_item",
12"commerce":{"_blackhawknet":{"listID":listTitle}},"web":{"webInteraction":componentObject.webInteraction},"productListItems":componentObject.productListItems});dataLayer.push({"event":"select_item","commerce":{"_blackhawknet":{"listID":listTitle}},"web":{"webInteraction":componentObject.webInteraction},"productListItems":componentObject.productListItems})}function setBhnIndex(element){var dataCmpIsEle=element.closest("[data-cmp-is]");if(null!=dataCmpIsEle){var dataCmpIs=dataCmpIsEle.getAttribute("data-cmp-is");
13if(bhnCmpIndex[dataCmpIs]===undefined||null==bhnCmpIndex[dataCmpIs])bhnCmpIndex[dataCmpIs]=1;else if(dataCmpIsEle.getAttribute("data-bhn-cmp-index")===undefined||dataCmpIsEle.getAttribute("data-bhn-cmp-index")==null)bhnCmpIndex[dataCmpIs]+=1;dataCmpIsEle.setAttribute("data-bhn-cmp-index",bhnCmpIndex[dataCmpIs])}}function handleHydation(event){var randomDOMId=event.detail.randomDOMId;var component=document.querySelector("[data-bhn-dom-id\x3d"+randomDOMId+"]");if(component)initCarouselTracking(component,
14randomDOMId);else console.warn("Component not found for provided DOM id: "+randomDOMId,event)}function onDocumentReady(){dataLayerEnabled=document.body.hasAttribute("data-cmp-data-layer-enabled");adobeDataLayer=dataLayerEnabled?window.adobeDataLayer=window.adobeDataLayer||[]:undefined;dataLayer=dataLayerEnabled?window.dataLayer=window.dataLayer||[]:undefined;if(dataLayerEnabled){var clickableElements=document.querySelectorAll("[data-bhn-clickable]");var selectableElements=document.querySelectorAll("[data-bhn-selectable]");
15var addToCartElements=document.querySelectorAll("[data-bhn-cart]");var listElements=document.querySelectorAll("[data-bhn-list]");clickableElements.forEach(function(element){setBhnIndex(element);attachClickEventListener(element)});selectableElements.forEach(function(element){setBhnIndex(element);attachSelectEventListener(element)});addToCartElements.forEach(function(element){setBhnIndex(element);attachSelectEventListener(element)});listElements.forEach(function(element){setBhnIndex(element);attachListEventListener(element)})}if(!window._reactHydratedListenerAdded){window._reactHydratedListenerAdded=
16true;window.addEventListener("react-hydrated",handleHydation,{once:true})}}if(document.readyState!=="loading")onDocumentReady();else document.addEventListener("DOMContentLoaded",onDocumentReady)})();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.