define("@wsb/guac-widget-shared/c/ScrollWidgetConstants-0f351caa.js",["exports","~/c/OlsConfigStore","~/lib/common/ols-core/utils/ApiUtils","~/c/index"],(function(e,t,n,r){"use strict";var o=(global.keyMirror||guac.keymirror)({PRODUCT_LISTING:null,PRODUCT_DETAIL:null,CART:null,SEARCH_RESULTS:null}),a=(global.keyMirror||guac.keymirror)({SET_VIEW:null}),i=(global.keyMirror||guac.keymirror)({LOAD_PRODUCTS:null,PRODUCTS_WERE_LOADED:null,PRODUCT_DETAILS_WERE_LOADED:null,LOAD_DETAILED_PRODUCTS:null,SET_PRODUCT_SLUG:null,SET_PRODUCT_DETAIL_DATA:null,LOAD_PRODUCT:null,PRODUCT_WAS_LOADED:null,SET_PRODUCT_CONFIG:null,ERROR_LOADING_PRODUCTS_DATA:null,ERROR_LOADING_PRODUCT_DATA:null,LOAD_SIMILAR_PRODUCTS:null,LOAD_SIMILAR_PRODUCTS_LOADED:null,ERROR_LOADING_SIMILAR_PRODUCTS_DATA:null});class s extends t.E{constructor(){super(...arguments),this.state={fetching:!1,fetched:!1,error:null,errorRetryable:!1,count:0,totalCount:0,currentPage:0,perPage:12,pages:0,searchKeywords:null,sortOption:null,defaultPerPage:12,defaultSortOption:null,products:[],pagination:{}},this.register()}setState(e){(global._||guac.lodash).assign(this.state,e),this.emit("change")}getState(){return this.state}register(){this.dispatchToken=t.A.register((e=>{const{action:t}=e,{data:n}=t;switch(t.type){case i.LOAD_PRODUCTS:this.setState({fetching:!0,error:null,errorRetryable:!1,searchKeywords:n.searchKeywords,sortOption:n.sortOption});break;case i.PRODUCTS_WERE_LOADED:this.setState({fetching:!1,fetched:!0,count:n.count,totalCount:n.total_count,currentPage:n.current_page,perPage:n.per_page,pagination:n.pagination,pages:n.pages,products:n.products});break;case i.ERROR_LOADING_PRODUCTS_DATA:this.setState({fetching:!1,fetched:!0,error:t.error});break;case i.SET_PRODUCT_CONFIG:this.setState({defaultPerPage:n.defaultPerPage,perPage:n.defaultPerPage,defaultSortOption:n.defaultSortOption})}}))}}var c=new s,u=(global.keyMirror||guac.keymirror)({CART_CREATE:null,CART_LOAD:null,CART_WAS_LOADED:null,ERROR_CART_LOAD:null,CART_ITEM_ADD:null,CART_ITEM_WAS_ADDED:null,ERROR_CART_ITEM_ADD:null,CART_ITEM_MODIFY:null,CART_ITEM_WAS_MODIFIED:null,ERROR_CART_ITEM_MODIFY:null,CART_ITEM_REMOVE:null,CART_ITEM_WAS_REMOVED:null,ERROR_CART_ITEM_REMOVE:null,NO_CART_WAS_LOADED:null,APPLY_COUPON:null,COUPON_WAS_APPLIED:null,COUPON_WAS_INVALID:null}),l=(global.keyMirror||guac.keymirror)({SESSION_STARTED:null,SESSION_CANCELED:null,SESSION_FAILED:null,STRIPE_WAS_LOADED:null,POYNT_WAS_LOADED:null,AVAILABILITY_WAS_CHECKED:null,APPLE_PAY_IS_AVAILABLE:null,PAYMENT_REQUEST_IS_AVAILABLE:null,PAYMENT_REQUEST_BUTTON_CLICKED:null});class d extends t.E{constructor(){super(...arguments),this.state={fetching:!1,fetchingDetailedProducts:!1,error:null,errorRetryable:!1,slug:null,product:null,selectedVariantSku:null,paymentRequestButtonClicked:!1,similarProducts:[]},this.register()}setState(e){(global._||guac.lodash).assign(this.state,e),this.emit("change")}getState(){return this.state}register(){this.dispatchToken=t.A.register((e=>{const{action:t}=e;switch(t.type){case i.SET_PRODUCT_DETAIL_DATA:this.setState({slug:t.data.slug,selectedVariantSku:t.data.selectedVariantSku});break;case i.SET_PRODUCT_SLUG:this.setState({slug:t.data});break;case i.LOAD_PRODUCT:this.setState({fetching:!0,error:null,errorRetryable:!1,similarProducts:[]});break;case i.LOAD_DETAILED_PRODUCTS:this.setState({fetchingDetailedProducts:!0,productDetailList:[]});break;case i.PRODUCT_WAS_LOADED:this.setState({fetching:!1,product:t.data});break;case i.ERROR_LOADING_PRODUCT_DATA:this.setState({fetching:!1,error:t.error});break;case i.PRODUCT_DETAILS_WERE_LOADED:this.setState({fetchingDetailedProducts:!1,productDetailList:t.data});break;case i.LOAD_SIMILAR_PRODUCTS:this.setState({error:null,errorRetryable:!1});break;case i.LOAD_SIMILAR_PRODUCTS_LOADED:this.setState({similarProducts:t.data.products});break;case i.ERROR_LOADING_SIMILAR_PRODUCTS_DATA:this.setState({error:t.error});break;case u.ERROR_CART_ITEM_ADD:this.setState({fetching:!1,error:t.error});break;case l.SESSION_STARTED:this.setState({error:null});break;case l.SESSION_FAILED:this.setState({error:t.error});break;case l.PAYMENT_REQUEST_BUTTON_CLICKED:this.setState({paymentRequestButtonClicked:!0})}}))}}var _=new d;function O(e){return"undefined"!=typeof document&&e&&decodeURIComponent(document.cookie.replace(new RegExp("(?:(?:^|.*;)\\s*"+encodeURIComponent(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*([^;]*).*$)|^.*$"),"$1"))||null}function p(e,t,n){return"undefined"==typeof document?null:!!g(e)&&(document.cookie=encodeURIComponent(e)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT"+(n?"; domain="+n:"")+(t?"; path="+t:""),!0)}function g(e){return"undefined"==typeof document?null:!!e&&new RegExp("(?:^|;\\s*)"+encodeURIComponent(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=").test(document.cookie)}const R="OLS_CART_STORE",D={getHostname:()=>window.location.hostname};function T(){const e=t.O.getWebsiteId();return`${R}_${e}`}function A(){const e=R,t=T();let n=null,r=null;if(n=g(t)?O(t)||null:g(e)&&O(e)||null,n)try{r=JSON.parse(n)}catch(e){}return r}function E(){const e=T(),t=A();let n=null;t&&(n=t.domain||null),p(e,"/",n)}var f=function(e){return encodeURIComponent(e).replace(/[!'()*]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))},S="%[a-f0-9]{2}",h=new RegExp(S,"gi"),C=new RegExp("("+S+")+","gi");function I(e,t){try{return decodeURIComponent(e.join(""))}catch(e){}if(1===e.length)return e;t=t||1;var n=e.slice(0,t),r=e.slice(t);return Array.prototype.concat.call([],I(n),I(r))}function P(e){try{return decodeURIComponent(e)}catch(r){for(var t=e.match(h),n=1;n0&&void 0!==arguments[0]&&arguments[0];const n=t.O.getState(),r=n.fetchingConfig,o=n.configWasLoaded,a=n.error;r||a||!e&&o||(t.d({type:t.b.LOAD_CONFIG}),x().then((function(e){return function(e){t.a({type:t.b.CONFIG_WAS_LOADED,data:e})}(e)})).catch((function(e){return function(e){t.a({type:t.b.ERROR_LOADING_CONFIG,error:e})}(e.error||e,e.response),M()})))}function M(){const{provisionInProgress:e,provisionTried:r,renderMode:o}=t.O.getState();var a;-1===[N.EDIT,N.PREVIEW].indexOf(o)||e||r||(t.d({type:t.b.START_PROVISION_ACCOUNT}),(a=t.O.getState().websiteId,n.X.postRequest(`${v()}/api/global/accounts/${a}`,{},null,!0)).then((function(){return t.a({type:t.b.ACCOUNT_PROVISIONED}),w(!0)})).catch((function(e){return n=e.error||e,e.response,void t.a({type:t.b.ERROR_ACCOUNT_PROVISIONED,error:n});var n})))}var G={setConfig:function(e){const{configWasSet:n,i18n:r,websiteId:o}=t.O.getState();let a=e&&e.staticContent;a||(a=e&&e.i18n);const i=!o&&e.websiteId;(global._||guac.lodash).isObject(a)&&Object.keys(a).length&&!(global._||guac.lodash).isEqual((global._||guac.lodash).merge({...r},a),r)&&t.d({type:t.b.UPDATE_I18N,data:e}),n&&!i||t.d({type:t.b.SET_CONFIG,data:e})},clearError:function(){t.d({type:t.b.CLEAR_ERROR})},loadConfig:w,loadAccount:function(){const{fetchingAccount:e}=t.O.getState();var r;e||(t.d({type:t.b.LOAD_ACCOUNT_INFO}),(r=t.O.getState().websiteId,n.X.getRequest(`${v()}/api/global/accounts/${r}`)).then((function(e){return function(e){t.a({type:t.b.ACCOUNT_INFO_WAS_LOADED,data:e})}(e)})).catch((function(e){return n=e.error,void t.a({type:t.b.ERROR_LOADING_ACCOUNT_INFO,error:n});var n})))},provisionAccount:M,toggleProductSorting:function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];t.d({type:t.b.TOGGLE_PRODUCT_SORTING,data:e})}},W=(global.keyMirror||guac.keymirror)({LOAD_CATEGORIES:null,CATEGORIES_WERE_LOADED:null,ERROR_LOADING_CATEGORIES_DATA:null,SELECT_CATEGORY:null});const $=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];for(const n of t){const{permalink:t,name:r}=n,o={permalink:t,name:r};if((null==n?void 0:n.permalink)===e)return[o];const a=$(e,null==n?void 0:n.taxons);if(null!=a&&a.length)return[o,...a]}return[]};class F extends t.E{constructor(){super(...arguments),this.buildTaxonMap=this.buildTaxonMap.bind(this),this.state={fetching:!1,fetched:!1,error:null,errorRetryable:!1,count:0,totalCount:0,currentPage:0,perPage:1e4,pages:0,taxons:[],fetchTaxons:!1,taxonMap:{}},this.register()}setState(e){(global._||guac.lodash).assign(this.state,e),this.emit("change")}getState(){return this.state}getTaxonName(e){const{taxonMap:t}=this.state;return t[e].name}getTaxonInfo(e){const{taxonMap:t}=this.state,{name:n,description:r,image:o}=t[e]||{};return{name:n,description:r,image:o}}buildTaxonMap(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.forEach((e=>{const n=e.cover_image&&e.cover_image.length?e.cover_image[0].large_url:"",r={name:e.name};e.description&&(r.description=e.description),n&&(r.image=n),t[e.permalink]=r,e.taxons&&e.taxons.length>0&&this.buildTaxonMap(e.taxons,t)})),t}getTaxonListByPermalink(e){var t;return $(e,null===(t=this.state)||void 0===t?void 0:t.taxons)}register(){this.dispatchToken=t.A.register((e=>{const{action:n}=e,{data:r}=n;switch(n.type){case W.LOAD_CATEGORIES:this.setState({fetching:!0,error:null,errorRetryable:!1});break;case W.CATEGORIES_WERE_LOADED:this.setState({fetching:!1,fetched:!0,count:r.count,totalCount:r.total_count,currentPage:r.current_page,perPage:r.per_page,pages:r.pages,taxons:r.taxons,fetchTaxons:!1,taxonMap:this.buildTaxonMap(r.taxons)});break;case W.ERROR_LOADING_CATEGORIES_DATA:this.setState({fetching:!1,fetched:!0,error:n.error});break;case i.LOAD_PRODUCTS:this.setState({fetchTaxons:r.fetchTaxons});break;case t.b.CONFIG_WAS_LOADED:this.setState({fetchTaxons:!0})}}))}}var V=new F;class q extends t.E{constructor(){super(...arguments),this.state={currentView:o.PRODUCT_LISTING,taxonsWereLoaded:!1,selectedTaxonPermalink:null,searchKeywords:null,routePath:null,sortOption:null},this.register()}setState(e){(global._||guac.lodash).assign(this.state,e),this.emit("change")}getState(){return this.state}register(){this.dispatchToken=t.A.register((e=>{const{action:t}=e,{data:n}=t;switch(t.type){case a.SET_VIEW:this.setState({currentView:n});break;case i.SET_PRODUCT_DETAIL_DATA:case i.SET_PRODUCT_SLUG:this.setState({currentView:o.PRODUCT_DETAIL});break;case i.LOAD_PRODUCTS:this.setState({currentView:n.searchKeywords?o.SEARCH_RESULTS:o.PRODUCT_LISTING,selectedTaxonPermalink:n.selectedTaxonPermalink,searchKeywords:n.searchKeywords,sortOption:n.sortOption,routePath:n.routePath});break;case W.CATEGORIES_WERE_LOADED:setTimeout((()=>{this.setState({taxonsWereLoaded:!0})}),0)}}))}}var j=new q;function K(e){t.a({type:i.ERROR_LOADING_PRODUCT_DATA,error:e})}var B={loadProducts:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{page:r=1,taxonPermalink:o=null,searchKeywords:a,sortOption:s,routePath:u,tokenDirection:l="",pageToken:d=null}=e,{fetching:_,perPage:O,pagination:p,defaultSortOption:g}=c.getState(),{taxonsWereLoaded:R}=j.getState(),{renderMode:D}=t.O.getState(),{fetchTaxons:T}=V.getState();if(_)return;const A={selectedTaxonPermalink:o,searchKeywords:a,fetchTaxons:T,sortOption:s,routePath:u,tokenDirection:l,pageToken:d};"PUBLISH"===D&&R||(A.fetchTaxons=!0),t.d({type:i.LOAD_PRODUCTS,data:A});const E={page:r,per_page:O,pagination:p};o&&(E.taxon_permalink=o),d&&(E.pageToken=d),l&&(E.tokenDirection=l),a&&(E["q[keywords]"]=a,E["q[name_or_description_text_cont]"]=a),E[`q[${s||g||"descend_by_popularity"}]`]=!0,n.loadProducts(E).then((function(e){return function(e){const n=e.products[0];n&&n.currency!==t.O.getCurrentCurrency()&&G.loadConfig(!0);t.a({type:i.PRODUCTS_WERE_LOADED,data:e})}(e)})).then((()=>{window.dispatchEvent(new Event("finishLoadingProducts"))})).catch((function(e){return n=e.error,void t.a({type:i.ERROR_LOADING_PRODUCTS_DATA,error:n});var n}))},setProductSlug:function(e){t.d({type:i.SET_PRODUCT_SLUG,data:e})},setProductDetailData:function(e){let{slug:n,selectedVariantSku:r}=e;t.d({type:i.SET_PRODUCT_DETAIL_DATA,data:{slug:n,selectedVariantSku:r}})},setProductConfig:function(e){const n={defaultPerPage:e.defaultPerPage,defaultSortOption:e.defaultSortOption};t.d({type:i.SET_PRODUCT_CONFIG,data:n})},loadProduct:function(){const{slug:e,fetching:r}=_.getState();e&&!r&&(t.d({type:i.LOAD_PRODUCT}),n.loadProduct(e).then((function(e){return function(e){e.currency!==t.O.getCurrentCurrency()&&G.loadConfig(!0);t.a({type:i.PRODUCT_WAS_LOADED,data:e})}(e)})).catch((function(e){return K(e.error)})))},loadDetailedProducts:function(e){let{slugList:r}=e;if(r&&r.length>0)return t.a({type:i.LOAD_DETAILED_PRODUCTS}),void n.loadDetailedProducts(r).then((function(e){return function(e){t.a({type:i.PRODUCT_DETAILS_WERE_LOADED,data:e})}(e)})).catch((function(e){return K(e.error)}))},loadSimilarProducts:function(e){const r=e||_.getState().slug;r&&(t.a({type:i.LOAD_SIMILAR_PRODUCTS}),n.loadSimilarProducts(r).then((function(e){return function(e){t.a({type:i.LOAD_SIMILAR_PRODUCTS_LOADED,data:e})}(e)})).catch((function(e){return n=e.error,void t.a({type:i.ERROR_LOADING_SIMILAR_PRODUCTS_DATA,error:n});var n})))}};function X(){return t.O.getApiBaseUrl()}function Y(e){return n.X.postRequest(`${X()}/api/orders?app=vnext`,e)}function H(e){return{"X-Spree-Order-Token":e.token}}function J(e,t){let r=`${X()}/api/orders/${e.number}?app=vnext`;return t&&(r+="&destroyExpiredProducts=true"),n.X.getRequest(r,void 0,void 0,H(e))}function Q(e,r,o,a){const i=t.O.getState().requestTimeout.addToCart;return n.X.postRequest(`${X()}/api/orders/${e.number}/line_items`,{line_item:{variant_id:r,quantity:parseInt(o,10),options:a}},i,!1,H(e))}function z(e,t){const r={order:{line_items_attributes:t}};return n.X.patchRequest(`${X()}/api/orders/${e.number}/line_items/update_multiple`,r,void 0,H(e))}function Z(e,t){return n.X.deleteRequest(`${X()}/api/orders/${e.number}/line_items/${t}`,void 0,void 0,H(e))}function ee(e,t){const r={coupon_code:t};return n.X.putRequest(`${X()}/api/orders/${e.number}/apply_coupon_code`,r,void 0,H(e))}var te=Object.freeze({__proto__:null,getBaseUrl:X,createCart:Y,getHeaders:H,loadCart:J,addToCart:Q,addToOrder:function(e,r,o,a){const i=t.O.getState().requestTimeout.addToCart;return n.X.postRequest(`${X()}/api/orders/${e.number}/line_items?return_order=1&app=vnext`,{line_item:{variant_id:r,quantity:parseInt(o,10),options:a}},i,!1,H(e))},modifyCartLineItems:z,removeCartLineItem:Z,applyCoupon:ee}),ne=(global.keyMirror||guac.keymirror)({SCROLL_WIDGET:null});e.A=l,e.C=u,e.O=G,e.P=B,e.S=a,e.a=o,e.b=Q,e.c=Y,e.d=ee,e.e=E,e.f=ne,e.g=function(){return(A()||{}).order||null},e.h=V,e.i=W,e.j=j,e.k=te,e.l=J,e.m=z,e.n=H,e.o=i,e.p=_,e.q=k,e.r=Z,e.s=function(e){const t=D.getHostname().replace(/^www\./i,""),n=A(),r=T();n&&n.domain!==t&&p(r,"/",n.domain||null),function(e){if("undefined"==typeof document)return null;const{sKey:t,sValue:n,vEnd:r,sPath:o,sDomain:a,bSecure:i}=e;if(!t||/^(?:expires|max\-age|path|domain|secure)$/i.test(t))return!1;var s="";if(r)switch(r.constructor){case Number:s=r===1/0?"; expires=Fri, 31 Dec 9999 23:59:59 GMT":"; max-age="+r;break;case String:s="; expires="+r;break;case Date:s="; expires="+r.toUTCString()}document.cookie=encodeURIComponent(t)+"="+encodeURIComponent(n)+s+(a?"; domain="+a:"")+(o?"; path="+o:"")+(i?"; secure":"")}({sKey:r,sValue:JSON.stringify({order:{number:e.number,token:e.token},domain:t}),vEnd:null,sPath:"/",sDomain:t})},e.t=c})),"undefined"!=typeof window&&(window.global=window); //# sourceMappingURL=ScrollWidgetConstants-0f351caa.js.map