PageSourceSearch

https://au.seafolly.com/cdn/shop/t/611/assets/complete-the-look.js?v=92322647411574845901790236873

js seafolly.com collected 2026-09-24 18:35:34 UTC 17,712 bytes, 24 lines download raw bytes

1(()=>{"use strict";var __webpack_modules__={355:((__unused_webpack_module,__webpack_exports__2,__webpack_require__2)=>{__webpack_require__2.r(__webpack_exports__2);var regenerator_runtime_runtime_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__2(3),regenerator_runtime_runtime_js__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__2.n(regenerator_runtime_runtime_js__WEBPACK_IMPORTED_MODULE_0__),core_js_modules_web_timers_js__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__2(166),core_js_modules_web_timers_js__WEBPACK_IMPORTED_MODULE_1___default=__webpack_require__2.n(core_js_modules_web_timers_js__WEBPACK_IMPORTED_MODULE_1__),core_js_modules_es_parse_int_js__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__2(261),core_js_modules_es_parse_int_js__WEBPACK_IMPORTED_MODULE_2___default=__webpack_require__2.n(core_js_modules_es_parse_int_js__WEBPACK_IMPORTED_MODULE_2__),core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__2(116),core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3___default=__webpack_require__2.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_3__),core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__2(118),core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_4___default=__webpack_require__2.n(core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_4__),core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__2(4),core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_5___default=__webpack_require__2.n(core_js_modules_es_array_for_each_js__WEBPACK_IMPORTED_MODULE_5__),core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__2(61),core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_6___default=__webpack_require__2.n(core_js_modules_web_dom_collections_for_each_js__WEBPACK_IMPORTED_MODULE_6__),core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__2(63),core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_7___default=__webpack_require__2.n(core_js_modules_es_array_concat_js__WEBPACK_IMPORTED_MODULE_7__),core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__2(143),core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_8___default=__webpack_require__2.n(core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_8__),flickity__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__2(202),flickity__WEBPACK_IMPORTED_MODULE_9___default=__webpack_require__2.n(flickity__WEBPACK_IMPORTED_MODULE_9__);function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg),value=info.value}catch(error){reject(error);return}info.done?resolve(value):Promise.resolve(value).then(_next,_throw)}function _asyncToGenerator(fn){return function(){var self2=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self2,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(void 0)})}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){return protoProps&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),Constructor}var CompleteTheLook=(function(){function CompleteTheLook2(){var _this$modal,_this$modal2,_this$modal3,_this$modal4;_classCallCheck(this,CompleteTheLook2),this.section=document.querySelector(".complete-the-look"),this.section&&(this.slider=this.section.querySelector(".js-complete-the-look-slider"),this.modal=document.getElementById("completeTheLookModal"),this.modalClose=(_this$modal=this.modal)===null||_this$modal===void 0?void 0:_this$modal.querySelector(".complete-the-look__modal-close"),this.modalOverlay=(_this$modal2=this.modal)===null||_this$modal2===void 0?void 0:_this$modal2.querySelector(".complete-the-look__modal-overlay"),this.modalAddBtn=(_this$modal3=this.modal)===null||_this$modal3===void 0?void 0:_this$modal3.querySelector(".complete-the-look__modal-add-btn"),this.variantOptions=(_this$modal4=this.modal)===null||_this$modal4===void 0?void 0:_this$modal4.querySelector(".complete-the-look__variant-options"),this.selectedProduct=null,this.selectedVariant=null,this.init())}return _createClass(CompleteTheLook2,[{key:"init",value:function(){this.initializeSlider(),this.bindEvents(),this.checkCartItems(),this.setupCartListeners()}},{key:"initializeSlider",value:function(){if(this.slider){var isDesktop=window.matchMedia("(min-width: 990px)").matches;new(flickity__WEBPACK_IMPORTED_MODULE_9___default())(this.slider,{prevNextButtons:!0,pageDots:!1,imagesLoaded:!0,setGallerySize:!0,cellAlign:"left",groupCells:isDesktop?"80%":!1,watchCSS:!0,wrapAround:!1,contain:!0,freeScroll:isDesktop})}}},{key:"bindEvents",value:function(){var _this=this;this.section.addEventListener("click",function(e){e.target.classList.contains("complete-the-look__add-btn")&&_this.handleDirectAddToCart(e)}),this.section.addEventListener("click",function(e){e.target.classList.contains("complete-the-look__select-btn")&&_this.handleSizeSelection(e)}),this.modalClose&&this.modalClose.addEventListener("click",function(){return _this.closeModal()}),this.modalOverlay&&this.modalOverlay.addEventListener("click",function(){return _this.closeModal()}),this.modalAddBtn&&this.modalAddBtn.addEventListener("click",function(){return _this.handleModalAddToCart()}),document.addEventListener("keydown",function(e){var _this$modal5;e.key==="Escape"&&(_this$modal5=_this.modal)!==null&&_this$modal5!==void 0&&_this$modal5.classList.contains("active")&&_this.closeModal()})}},{key:"setupCartListeners",value:function(){var _this2=this;document.addEventListener("cart:updated",function(){return _this2.checkCartItems()}),document.addEventListener("cart:loaded",function(){return _this2.checkCartItems()}),setTimeout(function(){return _this2.checkCartItems()},100)}},{key:"checkCartItems",value:function(){}},{key:"handleDirectAddToCart",value:(function(){var _handleDirectAddToCart=_asyncToGenerator(regeneratorRuntime.mark(function _callee(e){var _this3=this,button,variantId,productHandle,productCard;return regeneratorRuntime.wrap(function(_context){for(;;)switch(_context.prev=_context.next){case 0:if(e.preventDefault(),button=e.target,variantId=button.dataset.variantId,productHandle=button.dataset.productHandle,variantId){_context.next=6;break}return _context.abrupt("return");case 6:return button.classList.add("loading"),button.disabled=!0,_context.prev=8,_context.next=11,this.addToCart(parseInt(variantId));case 11:productCard=button.closest(".complete-the-look__product-card"),setTimeout(function(){return _this3.checkCartItems()},100),_context.next=20;break;case 16:_context.prev=16,_context.t0=_context.catch(8),console.error("Error adding to cart:",_context.t0),this.showErrorMessage("Failed to add product to cart. Please try again.");case 20:return _context.prev=20,button.classList.remove("loading"),button.disabled=!1,_context.finish(20);case 24:case"end":return _context.stop()}},_callee,this,[[8,16,20,24]])}));function handleDirectAddToCart(_x){return _handleDirectAddToCart.apply(this,arguments)}return handleDirectAddToCart})()},{key:"handleSizeSelection",value:(function(){var _handleSizeSelection=_asyncToGenerator(regeneratorRuntime.mark(function _callee2(e){var button,productHandle,response,product;return regeneratorRuntime.wrap(function(_context2){for(;;)switch(_context2.prev=_context2.next){case 0:if(e.preventDefault(),button=e.target,productHandle=button.dataset.productHandle,productHandle){_context2.next=5;break}return _context2.abrupt("return");
1case 5:return button.classList.add("loading"),_context2.prev=6,_context2.next=9,fetch("/products/".concat(productHandle,".js"));case 9:return response=_context2.sent,_context2.next=12,response.json();case 12:product=_context2.sent,this.selectedProduct=product,this.showVariantModal(product),_context2.next=21;break;case 17:_context2.prev=17,_context2.t0=_context2.catch(6),console.error("Error fetching product:",_context2.t0),this.showErrorMessage("Failed to load product options. Please try again.");case 21:return _context2.prev=21,button.classList.remove("loading"),_context2.finish(21);case 24:case"end":return _context2.stop()}},_callee2,this,[[6,17,21,24]])}));function handleSizeSelection(_x2){return _handleSizeSelection.apply(this,arguments)}return handleSizeSelection})()},{key:"showVariantModal",value:function(product){var _this4=this;!this.modal||!this.variantOptions||(this.variantOptions.innerHTML="",this.selectedVariant=null,this.modalAddBtn.disabled=!0,product.variants.forEach(function(variant){var option=document.createElement("div");option.className="complete-the-look__variant-option ".concat(variant.available?"":"disabled");var radioId="variant-".concat(variant.id);option.innerHTML=`
2        <input 
3          type="radio" 
4          name="complete-the-look-variant" 
5          value="`.concat(variant.id,`" 
6          id="`).concat(radioId,`"
7          class="complete-the-look__variant-radio"
8          `).concat(variant.available?"":"disabled",`
9        />
10        <label for="`).concat(radioId,`" class="complete-the-look__variant-label">
11          `).concat(variant.option2," ").concat(variant.available?"":"- Sold Out",`
12        </label>
13      `),option.addEventListener("click",function(){return _this4.selectVariant(variant,option)}),_this4.variantOptions.appendChild(option)}),this.openModal())}},{key:"selectVariant",value:function(variant,optionElement){if(variant.available){var radio=optionElement.querySelector('input[type="radio"]');radio.checked=!0,this.selectedVariant=variant,this.variantOptions.querySelectorAll(".complete-the-look__variant-option").forEach(function(opt){opt.classList.remove("selected")}),optionElement.classList.add("selected"),this.modalAddBtn.disabled=!1}}},{key:"handleModalAddToCart",value:(function(){var _handleModalAddToCart=_asyncToGenerator(regeneratorRuntime.mark(function _callee3(){var _this$selectedVariant,_this5=this,productCard;return regeneratorRuntime.wrap(function(_context3){for(;;)switch(_context3.prev=_context3.next){case 0:if((_this$selectedVariant=this.selectedVariant)!==null&&_this$selectedVariant!==void 0&&_this$selectedVariant.available){_context3.next=2;break}return _context3.abrupt("return");case 2:return this.modalAddBtn.classList.add("loading"),this.modalAddBtn.disabled=!0,_context3.prev=4,_context3.next=7,this.addToCart(this.selectedVariant.id);case 7:productCard=this.section.querySelector('[data-product-handle="'.concat(this.selectedProduct.handle,'"]')),this.closeModal(),setTimeout(function(){return _this5.checkCartItems()},100),_context3.next=17;break;case 13:_context3.prev=13,_context3.t0=_context3.catch(4),console.error("Error adding to cart:",_context3.t0),this.showErrorMessage("Failed to add product sfsf to cart. Please try again.");case 17:return _context3.prev=17,this.modalAddBtn.classList.remove("loading"),this.modalAddBtn.disabled=!1,_context3.finish(17);case 21:case"end":return _context3.stop()}},_callee3,this,[[4,13,17,21]])}));function handleModalAddToCart(){return _handleModalAddToCart.apply(this,arguments)}return handleModalAddToCart})()},{key:"addToCart",value:(function(){var _addToCart=_asyncToGenerator(regeneratorRuntime.mark(function _callee4(variantId){var _window$sideCart,_window$theme,_window$theme$cart,_window$theme2,_window$theme2$cart,quantity,item,response,data,_args4=arguments;return regeneratorRuntime.wrap(function(_context4){for(;;)switch(_context4.prev=_context4.next){case 0:if(quantity=_args4.length>1&&_args4[1]!==void 0?_args4[1]:1,item={id:variantId,quantity,properties:{_complete_the_look:!0}},!((_window$sideCart=window.sideCart)!==null&&_window$sideCart!==void 0&&_window$sideCart.handleAddToCartEvent)){_context4.next=4;break}return _context4.abrupt("return",window.sideCart.handleAddToCartEvent([item],!0));case 4:if(!((_window$theme=window.theme)!==null&&_window$theme!==void 0&&(_window$theme$cart=_window$theme.cart)!==null&&_window$theme$cart!==void 0&&_window$theme$cart.addToCart)){_context4.next=6;break}return _context4.abrupt("return",window.theme.cart.addToCart(item));case 6:return _context4.next=8,fetch("/cart/add.js",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(item)});case 8:if(response=_context4.sent,response.ok){_context4.next=11;break}throw new Error("HTTP error! status: ".concat(response.status));case 11:return _context4.next=13,response.json();case 13:return data=_context4.sent,document.dispatchEvent(new CustomEvent("cart:updated",{detail:data})),(_window$theme2=window.theme)!==null&&_window$theme2!==void 0&&(_window$theme2$cart=_window$theme2.cart)!==null&&_window$theme2$cart!==void 0&&_window$theme2$cart.refreshCart&&window.theme.cart.refreshCart(),_context4.abrupt("return",data);case 17:case"end":return _context4.stop()}},_callee4)}));function addToCart(_x3){return _addToCart.apply(this,arguments)}return addToCart})()},{key:"openModal",value:function(){if(this.modal){this.modal.classList.add("active"),document.body.style.overflow="hidden";var firstInput=this.modal.querySelector('input[type="radio"]:not([disabled])');firstInput&&firstInput.focus()}}},{key:"closeModal",value:function(){this.modal&&(this.modal.classList.remove("active"),document.body.style.overflow="",this.selectedProduct=null,this.selectedVariant=null)}},{key:"showErrorMessage",value:function(message){var notification=document.createElement("div");
13notification.className="complete-the-look__error-notification",notification.textContent=message,notification.style.cssText=`
14      position: fixed;
15      top: 20px;
16      right: 20px;
17      background: #d32f2f;
18      color: white;
19      padding: 1rem;
20      border-radius: 4px;
21      z-index: 10000;
22      box-shadow: 0 4px 12px rgba(0,0,0,0.2);
23    `,document.body.appendChild(notification),setTimeout(function(){notification.remove()},3e3)}}]),CompleteTheLook2})();document.addEventListener("DOMContentLoaded",function(){new CompleteTheLook}),typeof window<"u"&&(window.CompleteTheLook=CompleteTheLook)})},__webpack_module_cache__={};function __webpack_require__(moduleId){var cachedModule=__webpack_module_cache__[moduleId];if(cachedModule!==void 0)return cachedModule.exports;var module=__webpack_module_cache__[moduleId]={exports:{}};return __webpack_modules__[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.exports}__webpack_require__.m=__webpack_modules__,(()=>{var deferred=[];__webpack_require__.O=(result,chunkIds,fn,priority)=>{if(chunkIds){priority=priority||0;for(var i=deferred.length;i>0&&deferred[i-1][2]>priority;i--)deferred[i]=deferred[i-1];deferred[i]=[chunkIds,fn,priority];return}for(var notFulfilled=1/0,i=0;i<deferred.length;i++){for(var[chunkIds,fn,priority]=deferred[i],fulfilled=!0,j=0;j<chunkIds.length;j++)(priority&!1||notFulfilled>=priority)&&Object.keys(__webpack_require__.O).every(key=>__webpack_require__.O[key](chunkIds[j]))?chunkIds.splice(j--,1):(fulfilled=!1,priority<notFulfilled&&(notFulfilled=priority));if(fulfilled){deferred.splice(i--,1);var r=fn();r!==void 0&&(result=r)}}return result}})(),__webpack_require__.n=module=>{var getter=module&&module.__esModule?()=>module.default:()=>module;return __webpack_require__.d(getter,{a:getter}),getter},__webpack_require__.d=(exports,definition)=>{for(var key in definition)__webpack_require__.o(definition,key)&&!__webpack_require__.o(exports,key)&&Object.defineProperty(exports,key,{enumerable:!0,get:definition[key]})},__webpack_require__.g=(function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}})(),__webpack_require__.o=(obj,prop)=>Object.prototype.hasOwnProperty.call(obj,prop),__webpack_require__.r=exports=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(exports,"__esModule",{value:!0})},(()=>{var installedChunks={1:0};__webpack_require__.O.j=chunkId=>installedChunks[chunkId]===0;var webpackJsonpCallback=(parentChunkLoadingFunction,data)=>{var[chunkIds,moreModules,runtime]=data,moduleId,chunkId,i=0;for(moduleId in moreModules)__webpack_require__.o(moreModules,moduleId)&&(__webpack_require__.m[moduleId]=moreModules[moduleId]);if(runtime)var result=runtime(__webpack_require__);for(parentChunkLoadingFunction&&parentChunkLoadingFunction(data);i<chunkIds.length;i++)chunkId=chunkIds[i],__webpack_require__.o(installedChunks,chunkId)&&installedChunks[chunkId]&&installedChunks[chunkId][0](),installedChunks[chunkIds[i]]=0;return __webpack_require__.O(result)},chunkLoadingGlobal=self.webpackChunkseafolly_theme=self.webpackChunkseafolly_theme||[];chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null,0)),chunkLoadingGlobal.push=webpackJsonpCallback.bind(null,chunkLoadingGlobal.push.bind(chunkLoadingGlobal))})();var __webpack_exports__=__webpack_require__.O(void 0,[28],()=>__webpack_require__(355));__webpack_exports__=__webpack_require__.O(__webpack_exports__)})();
24//# sourceMappingURL=/cdn/shop/t/611/assets/complete-the-look.js.map?v=92322647411574845901790236873

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.