1(()=>{"use strict";var __webpack_modules__={
1"./src/js/features/sf9__free-shipping-motivator.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{eval(`__webpack_require__.r(__webpack_exports__); 2/* harmony export */ __webpack_require__.d(__webpack_exports__, { 3/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 4/* harmony export */ }); 5const freeShippingMotivator = function () { 6 function createCountdown() { 7 let countdownBlocks = document.querySelectorAll('.delivery-countdown-block'); 8 let themeAjaxCart = document.querySelector('.cart-drawer'); 9 if (countdownBlocks.length > 0 || themeAjaxCart.length > 0) { 10 if (typeof window.deliveryCountdownTargetAmount === 'undefined') { 11 window.deliveryCountdownTargetAmount = 0; 12 } 13 countdownBlocks = document.querySelectorAll('.delivery-countdown-block'); // redeclare to fix minicart rerender 14 15 if (countdownBlocks.length > 0) { 16 countdownBlocks.forEach(countdown => { 17 // free shipping motivator section vars 18 let deliveryCountdownMessage = countdown.querySelector('.delivery-countdown-message'); 19 let deliveryCountdownSuccess = countdown.querySelector('.delivery-countdown-success'); 20 let deliveryCountdownCounter = countdown.querySelector('.delivery-countdown-counter'); 21 let deliveryCountdownAmount = countdown.querySelector('.delivery-countdown-amount'); 22 let cartAmount = 0; 23 let cartItems = 0; 24 let cartAmountExcludingSpecialProducts = 0; 25 let bulkyItemInCart = false; 26 if (deliveryCountdownMessage && deliveryCountdownSuccess && deliveryCountdownCounter && deliveryCountdownAmount) { 27 let cartContents = fetch('/cart.js').then(response => response.json()).then(data => { 28 if (data.item_count > 0) { 29 const fetchPromises = []; 30 data.items.forEach(item => { 31 cartItems += 1; 32 let item_title = item.title.toLowerCase(); 33 // check if gift_card, ok to continue if false 34 if (item.gift_card == false && item_title.indexOf('gift card') === -1) { 35 fetchPromises.push( 36 // fetch product tags, check for collection only or bulky item 37 fetch('/products/' + item.handle + '?view=tag.json').then(productTagResponse => { 38 if (!productTagResponse.ok) { 39 throw new Error('Network response was not ok.'); 40 } 41 return productTagResponse.json(); 42 }).then(productTagResponse => { 43 const tags = productTagResponse.tags.map(tag => tag.toLowerCase()); 44 const collectionOnlyTag = 'collection_only'.toLowerCase(); 45 const bulkyItemTag = 'bulky_item'.toLowerCase(); 46 const warrantyTag = 'e:code:ME26'.toLowerCase(); 47 if (tags.includes(bulkyItemTag)) { 48 bulkyItemInCart = true; 49 } else if (!tags.includes(collectionOnlyTag) && !tags.includes(warrantyTag)) { 50 cartAmountExcludingSpecialProducts += item.final_line_price; 51 } 52 }).catch(err => { 53 throw new Error("Error: ".concat(err.message)); 54 })); 55 } 56 }); 57 58 // Calculate cartAmount after all fetch requests have completed 59 return Promise.all(fetchPromises).then(() => { 60 cartAmount = cartAmountExcludingSpecialProducts / 100; 61 if (bulkyItemInCart || cartAmount == 0) { 62 deliveryCountdownCounter.classList.add('hidden'); 63 deliveryCountdownSuccess.classList.add('hidden'); 64 deliveryCountdownMessage.classList.remove('hidden'); 65 return; 66 } else { 67 if (cartAmount >= window.deliveryCountdownTargetAmount) { 68 deliveryCountdownCounter.classList.add('hidden'); 69 deliveryCountdownMessage.classList.add('hidden'); 70 deliveryCountdownSuccess.classList.remove('hidden'); 71 } else { 72 const remainder = window.deliveryCountdownTargetAmount - cartAmount; 73 deliveryCountdownAmount.innerHTML = deliveryCountdownCurrency + remainder.toFixed(2); 74 deliveryCountdownMessage.classList.add('hidden'); 75 deliveryCountdownSuccess.classList.add('hidden'); 76 deliveryCountdownCounter.classList.remove('hidden'); 77 } 78 return data; 79 } 80 }); 81 } else { 82 deliveryCountdownCounter.classList.add('hidden'); 83 deliveryCountdownSuccess.classList.add('hidden'); 84 deliveryCountdownMessage.classList.remove('hidden'); 85 } 86 }); 87 } 88 }); 89 } 90 } 91 } 92 return { 93 countdownInit: createCountdown 94 }; 95}(); 96/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (freeShippingMotivator); 97 98//# sourceURL=webpack://project_workflow/./src/js/features/sf9__free-shipping-motivator.js?`)},
98"./src/js/features/sf9__shopify-chat-styles.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{eval(`__webpack_require__.r(__webpack_exports__); 99/* harmony export */ __webpack_require__.d(__webpack_exports__, { 100/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) 101/* harmony export */ }); 102const shopifyChatStyles = function () { 103 function updateStyles() { 104 const observer = new MutationObserver((mutations, observer) => { 105 const shadowHost = document.querySelector('#ShopifyChat'); 106 if (shadowHost && shadowHost.shadowRoot) { 107 const style = document.createElement('style'); 108 style.textContent = "\\n\\t\\t\\t\\t .interstitial-view.is-mobile .interstitial-view__instant-answers-list { display: none; }\\n\\t\\t\\t\\t .interstitial-view.is-mobile { height: auto !important;}\\n\\t\\t\\t\\t"; 109 shadowHost.shadowRoot.appendChild(style); 110 observer.disconnect(); 111 } 112 }); 113 observer.observe(document.documentElement, { 114 childList: true, 115 subtree: true 116 }); 117 } 118 return { 119 stylesInit: updateStyles 120 }; 121}(); 122/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (shopifyChatStyles); 123 124//# sourceURL=webpack://project_workflow/./src/js/features/sf9__shopify-chat-styles.js?`)},
124"./src/js/index.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{eval(`__webpack_require__.r(__webpack_exports__); 125/* harmony import */ var _features_sf9_free_shipping_motivator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./features/sf9__free-shipping-motivator */ "./src/js/features/sf9__free-shipping-motivator.js"); 126/* harmony import */ var _features_sf9_shopify_chat_styles__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./features/sf9__shopify-chat-styles */ "./src/js/features/sf9__shopify-chat-styles.js"); 127// Please use the Revealing Module Pattern for your javascript components 128// https://www.oreilly.com/library/view/learning-javascript-design/9781449334840/ch09s03.html 129// 130// Add Jest tests if possible. 131 132// import exampleComponent from './example-component'; 133 134// exampleComponent.run(); 135 136 137 138 139(function () { 140 window.addEventListener('load', event => { 141 _features_sf9_free_shipping_motivator__WEBPACK_IMPORTED_MODULE_0__["default"].countdownInit(); 142 if (document.querySelector('#shopify-chat')) { 143 _features_sf9_shopify_chat_styles__WEBPACK_IMPORTED_MODULE_1__["default"].stylesInit(); 144 } 145 }); 146 window.addEventListener('on:cart-drawer:after-open', event => { 147 _features_sf9_free_shipping_motivator__WEBPACK_IMPORTED_MODULE_0__["default"].countdownInit(); 148 }); 149 window.addEventListener('on:line-item:updated', event => { 150 _features_sf9_free_shipping_motivator__WEBPACK_IMPORTED_MODULE_0__["default"].countdownInit(); 151 }); 152})(); 153 154//# sourceURL=webpack://project_workflow/./src/js/index.js?`)}
154},__webpack_module_cache__={};function __webpack_require__(e){var n=__webpack_module_cache__[e];if(n!==void 0)return n.exports;var t=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](t,t.exports,__webpack_require__),t.exports}__webpack_require__.d=(e,n)=>{for(var t in n)__webpack_require__.o(n,t)&&!__webpack_require__.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},__webpack_require__.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),__webpack_require__.r=e=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__=__webpack_require__("./src/js/index.js")})(); 155//# sourceMappingURL=/cdn/shop/t/203/assets/index.js.map?v=145716557323775798901789639759
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.