Vue.component("fresh-credit",{delimiters:["${","}"],data:function(){return{allMyCredit:!1,cartNote:"",creditAmount:"",creditAmountToUse:null,creditPanel:!1,currencySymbol:"",customerFirstName:"",customerId:"",customization:{},displayLauncherButton:!1,doWeNeedToGetCustomization:!0,halfWindowHeight:0,inputLabelMouseOverStyle:{},inputMouseOverStyle:{},isCartFull:!1,logo:"",products:[],showWarning:!1,windowClick:"",windowHeight:window.innerHeight,windowWidth:window.innerWidth}},async mounted(){let t=await this.getCustomization;t&&(this.getLogo,this.setAllElements,this.returnCreditAmount,this.setWindowHeight(),sessionStorage.getItem("_freshCustomerId")&&sessionStorage.getItem("_freshCreditAmount")?(sessionStorage.setItem("_freshDisplayLauncherButton",!0),this.displayLauncherButton=!0):sessionStorage.getItem("_freshCustomerId")||this.getCustomer&&this.getCustomerCredit())},template:'\n \n \n ${ returnLauncherText }\n \n \n \n \n \n ${ returnCreditPanelTitleText }\n \n \n ${ customization.current_balance_text }\n ${ currencySymbol }${ returnCreditAmount.toFixed(2) }\n \n ${ customization.how_much_text }\n \n \n ${ customization.all_my_credit_checkbox_text }\n \n \n\n \n \n ${ currencySymbol }\n \n \n\n ${ customization.credit_amount_text_field_text}\n \n \n\n Whoops! You don\'t have that much credit\n \n \n ${ customization.cancel_button_text }\n ${ customization.continue_shopping_button_text }\n ${ customization.checkout_button_text }\n \n \n \n \n by: \n \n \n \n \n \n\n \n \n \n ',watch:{windowHeight(t,e){t!=e&&this.setWindowHeight()}},computed:{returnPanelBorderRadius(){return"shaped"==this.customization.panel_shape?"24px 4px":"square"==this.customization.panel_shape?"":"rounded"==this.customization.panel_shape?"6px":void 0},returnCreditAmount(){let t=parseFloat(this.creditAmount),e=this.creditAmountToUse?parseFloat(this.creditAmountToUse):0;return t-e},divStyle:()=>({display:"block"}),pStyle:()=>({display:"inline-block",verticalAlign:"middle"}),freshieImgStyle:()=>({display:"inline-block"}),imgStyle:()=>({display:"inline-block",verticalAlign:"middle",marginLeft:"5px"}),byStyle:()=>({color:"dark grey",textAlign:"center",fontSize:"13px",fontWeight:"500",margin:"20px auto",textAlign:"center",fontWeight:"500",lineHeight:"1.75rem",letterSpacing:".009375em !important"}),divAboveButtonsStyle:()=>({marginTop:"30px"}),warningStyle:()=>({color:"red",margin:"10px auto",textAlign:"center",fontSize:"14px",fontWeight:"500",lineHeight:"1.75rem",letterSpacing:".009375em !important"}),prefixStyle:()=>({fontWeight:"bold",fontSize:"18px",color:"black",display:"flex",alignItems:"center"}),textFieldInputStyle(){return{pointerEvents:this.allMyCredit?"none":"",fontSize:"18px",outline:"none",border:"1px solid gray",borderRadius:"5px",padding:"1rem 0.7rem",color:"gray",transition:"0.1s ease-out",boxShadow:"none",width:"auto"}},fieldSetStyle:()=>({fontSize:"18px",outline:"none",border:"1px solid gray",borderRadius:"5px",padding:"1px 1px 1px 15px",color:"grey",transition:"0.1s ease-out",boxShadow:"none",marginBottom:"10px",height:"70px"}),newInputStyle:()=>({border:"none",outline:"none",boxShadow:"none"}),textFieldLableStyle:()=>({position:"absolute",fontSize:"12px",left:"15px",top:"50%",transform:"translateY(-50%)",backgroundColor:"white",color:"gray",padding:"0 0.3rem",margin:"0 0.5rem",transformOrigin:"left top",pointerEvents:"none",top:"0"}),textFieldStyle:()=>({position:"relative"}),textFieldContainerStyle:()=>({height:"100%",display:"flex",justifyContent:"center",alignItems:"center",marginTop:"24px"}),checkboxLabelStyle:()=>({display:"inline-block",verticalAlign:"middle"}),checkboxStyle(){return{width:"20px",height:"20px",display:"inline-block",verticalAlign:"middle",accentColor:this.customization.checkbox_color}},bottomHrStyle:()=>({marginTop:"30px !important"}),hrStyle:()=>({display:"block",borderStyle:"inset",borderWidth:"1px",marginTop:"20px",marginLeft:"20px",marginRight:"20px"}),dollarAmountStyle:()=>({textAlign:"center",fontSize:"24px",fontWeight:"bold",lineHeight:"1.75rem",letterSpacing:".009375em !important",marginTop:"20px",color:"black"}),panelBodyTextStyle:()=>({color:"black",margin:"20px auto",textAlign:"center",fontSize:"18px",fontWeight:"500",lineHeight:"1.75rem",letterSpacing:".009375em !important"}),panelTitle:()=>({display:"block",fontSize:"24px",fontWeight:"bold",color:"white",letterSpacing:".0125em",lineHeight:"1.5rem",whiteSpace:"normal",margin:"0",marginLeft:"25px",position:"absolute",top:"50%","-ms-transform":"translateY(-50%)",transform:"translateY(-50%)"}),panelHeader(){return{height:"100px",width:"350px",backgroundColor:this.customization.header_color,position:"relative"}},secondPanelStyle:()=>({margin:"0px 15px",width:"320px",minHeight:"300px",position:"relative",borderRadius:"6px",overflow:"hidden",backgroundColor:"white",marginTop:"-20px!important",boxShadow:"0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12) !important"}),mainPanelStyle(){return{width:"350px",minHeight:"550px",position:"relative",borderRadius:this.returnPanelBorderRadius,overflow:"hidden",backgroundColor:"#FFF",boxShadow:"0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)!important"}},panelContainer(){return{position:"fixed",right:this.returnRightPanelPlacement(),top:this.returnTopLauncherPlacement(),left:this.returnLeftLauncherPlacement(),bottom:this.returnBottomPanelPlacement(),zIndex:"99999"}},buttonContainer(){return{position:"fixed",right:this.returnRightLauncherPlacement(),top:this.returnTopLauncherPlacement(),left:this.returnLeftLauncherPlacement(),bottom:this.returnBottomLauncherPlacement(),zIndex:"99999"}},checkoutButtonStyle(){return{"pointer-events":parseFloat(this.creditAmountToUse)>0?"":"none"}},continueShoppingButtonStyle(){return{"pointer-events":this.showWarning?"none":"",border:`${this.customization.continue_color} solid 1px`}},outlinedPanelButtonStyle(){return{height:"28px",minWidth:"50px",maxWidth:"250px",padding:"4px 12.4444444444px","font-size":"14px","font-weight":"500","text-transform":"uppercase",cursor:"pointer",color:"black","background-color":"white",border:`${this.customization.cancel_color} solid 1px`,"border-radius":"4px","margin-left":"5px"}},buttonStyle(){return{height:"circle"==this.customization.launcher_shape?"64px":"44px",width:"circle"==this.customization.launcher_shape?"64px":"","min-width":"circle"==this.customization.launcher_shape?"":"78px",padding:"0 19.5555555556px",paddingTop:"12px","font-size":1==this.customization.launcher_button_text.length?"34px":"16px","font-weight":"bold","text-transform":"uppercase",cursor:"pointer",color:this.customization.launcher_text_color,"background-color":this.customization.launcher_color,"box-shadow":"0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)!important","border-radius":this.returnButtonBorderRadius,display:"inline-block",textAlign:"center",letterSpacing:"normal",lineHeight:"normal"}},returnCreditPanelTitleText(){if(this.customization.add_name_to_credit_panel){if(this.customerFirstName){let t=this.customization.headline_text,e=t.replace("[[name]]",this.customerFirstName);return e}return this.customization.headline_text_if_customer_name_is_blank}return this.customization.headline_text},returnLauncherText(){if(this.customization.add_name_to_launcher){if(this.customerFirstName){let t=this.customization.launcher_button_text,e=t.replace("[[name]]",this.customerFirstName);return e}return this.customization.launcher_text_if_customer_name_is_blank}return this.customization.launcher_button_text},returnButtonBorderRadius(){return"circle"==this.customization.launcher_shape?"50%":"rounded"==this.customization.launcher_shape?"28px":"square"==this.customization.launcher_shape?"4px":void 0},setAllElements(){this.displayLauncherButton=sessionStorage.getItem("_freshDisplayLauncherButton"),this.customization=JSON.parse(sessionStorage.getItem("_freshCustomization")),this.customerId=sessionStorage.getItem("_freshCustomerId"),this.creditAmount=sessionStorage.getItem("_freshCreditAmount"),this.currencySymbol=sessionStorage.getItem("_freshCreditCurrencySymbol"),this.customerFirstName=sessionStorage.getItem("_freshCreditCustomerFirstName"),this.creditAmountToUse=JSON.parse(sessionStorage.getItem("_freshCreditAmountToUse")),this.allMyCredit=sessionStorage.getItem("_freshAllMyCredit"),this.logo=sessionStorage.getItem("_freshLogo"),this.products=JSON.parse(sessionStorage.getItem("_freshProducts")),this.isCartFull=sessionStorage.getItem("_freshIsCartFull")},async getLogo(){if(this.logo=sessionStorage.getItem("_freshLogo"),!this.logo){let t=await axios.post("/apps/fresh_credit_proxy",{type:"logo"});200==t.status&&(this.logo=t.data,sessionStorage.setItem("_freshLogo",this.logo))}},async getCustomization(){if(this.customization=JSON.parse(sessionStorage.getItem("_freshCustomization")),this.customization)return!0;{let t=await axios.post("/apps/fresh_credit_proxy",{type:"customization"});if(200==t.status)return this.customization=t.data.customization,sessionStorage.setItem("_freshCustomization",JSON.stringify(t.data.customization)),!0}},async getCustomer(){if(!window.ShopifyAnalytics.meta.page.customerId)return!1;{sessionStorage.setItem("_freshCustomerId",window.ShopifyAnalytics.meta.page.customerId),this.customerId=sessionStorage.getItem("_freshCustomerId");let t=await this.getCart();if(t)return!0}}},methods:{signOut(){this.displayLauncherButton=!1,sessionStorage.clear()},returnRightPanelPlacement(){return this.windowWidth<420?"10px":this.customization.launcher_placement.includes("right")?this.customization.launcher_side_pixels+"px":""},returnLeftPanelPlacement(){return this.windowWidth<420?"10px":this.customization.launcher_placement.includes("left")?this.customization.launcher_side_pixels+"px":""},returnRightLauncherPlacement(){return this.customization.launcher_placement.includes("right")?this.customization.launcher_side_pixels+"px":""},returnLeftLauncherPlacement(){return this.customization.launcher_placement.includes("left")?this.customization.launcher_side_pixels+"px":""},returnTopLauncherPlacement(){return this.customization.launcher_placement.includes("top")?this.customization.launcher_top_pixels+"px":""},returnBottomLauncherPlacement(){return this.customization.launcher_placement.includes("bottom")?this.customization.launcher_bottom_pixels+"px":this.customization.launcher_placement.includes("middle")?this.halfWindowHeight+"px":void 0},returnBottomPanelPlacement(){return this.customization.launcher_placement.includes("bottom")?this.customization.launcher_bottom_pixels+"px":this.customization.launcher_placement.includes("middle")?this.halfWindowHeight-200+"px":void 0},setWindowHeight(){this.halfWindowHeight=parseInt(window.innerHeight/2)},async getCart(){if(this.customerId=sessionStorage.getItem("_freshCustomerId"),this.customerId){let t=await axios.get("/cart.json");if(200==t.status)return this.isCartFull=t.data.items.length>0,sessionStorage.setItem("_freshIsCartFull",this.isCartFull),this.products=[],t.data.items.length>0&&(this.cartNote=t.data.note,this.totalCartPrice=t.data.total_price,t.data.items.forEach(t=>{let e={variant_id:t.variant_id,quantity:t.quantity,properties:t.properties};this.products.push(e)}),sessionStorage.setItem("_freshProducts",JSON.stringify(this.products)),!0)}},async getCustomerCredit(){let t=await axios.post("/apps/fresh_credit_proxy",{shopify_customer_id:this.customerId,type:"customer_credit"});200==t.status&&("no_credit"==t.data.customer_credit?this.displayLauncherButton=!1:(this.displayLauncherButton=!0,sessionStorage.setItem("_freshCreditAmount",t.data.customer_credit.current_credit_balance),sessionStorage.setItem("_freshCreditCurrencySymbol",t.data.customer_credit.country_currency_symbol),sessionStorage.setItem("_freshCreditCustomerFirstName",t.data.customer_credit.customer_first_name),this.creditAmount=sessionStorage.getItem("_freshCreditAmount"),this.currencySymbol=sessionStorage.getItem("_freshCreditCurrencySymbol"),this.customerFirstName=sessionStorage.getItem("_freshCreditCustomerFirstName")))},updateCreditAmountToUse(){let t=100*parseFloat(this.creditAmountToUse);t>this.totalCartPrice&&(this.creditAmountToUse=this.totalCartPrice/100),this.creditAmountToUse=Number(this.creditAmountToUse),this.creditAmount=Number(this.creditAmount),this.creditAmountToUse>this.creditAmount&&(this.creditAmountToUse=this.creditAmount),sessionStorage.setItem("_freshCreditAmountToUse",this.creditAmountToUse)},async createDraftOrder(t){if("shop"==t&&(this.creditAmountToUse=sessionStorage.getItem("_freshCreditAmountToUse")),this.creditAmountToUse&&"null"!==this.creditAmountToUse){this.customerId=sessionStorage.getItem("_freshCustomerId");let t=await this.getCart();if(t&&(this.products=JSON.parse(sessionStorage.getItem("_freshProducts")),this.customerId&&this.creditAmountToUse&&this.products)){this.updateCreditAmountToUse(),this.cartNote=sessionStorage.getItem("_freshCartNote");let t=await axios.post("/apps/fresh_credit_proxy",{type:"draft_order",shopify_customer_id:this.customerId,products:this.products,cart_note:this.cartNote,credit_amount:this.creditAmountToUse});200==t.status&&t.data.draft_order_url&&window.location.assign(t.data.draft_order_url)}}},continueShopping(){this.creditPanel=!1,sessionStorage.setItem("_freshCreditAmountToUse",this.creditAmountToUse),sessionStorage.setItem("_freshallMyCredit",this.allMyCredit)},cancelCreditPanel(){this.creditPanel=!1,this.allMyCredit=!1,this.creditAmountToUse=0,sessionStorage.setItem("_freshCreditAmountToUse",this.creditAmountToUse),sessionStorage.setItem("_freshallMyCredit",this.allMyCredit)},useAllMyCredit(){this.allMyCredit?(this.creditAmountToUse=this.creditAmount,sessionStorage.setItem("_freshCreditAmountToUse",this.creditAmountToUse),sessionStorage.setItem("_freshallMyCredit",this.allMyCredit)):(this.creditAmountToUse=0,sessionStorage.setItem("_freshCreditAmountToUse",this.creditAmountToUse),sessionStorage.setItem("_freshallMyCredit",this.allMyCredit))},async openCreditPanel(){let t=await axios.post("/apps/fresh_credit_proxy",{shopify_customer_id:this.customerId,type:"customer_credit"});200==t.status&&(sessionStorage.setItem("_freshCreditAmount",t.data.customer_credit.current_credit_balance),sessionStorage.setItem("_freshCreditCurrencySymbol",t.data.customer_credit.country_currency_symbol),sessionStorage.setItem("_freshCreditCustomerFirstName",t.data.customer_credit.customer_first_name),this.creditAmount=sessionStorage.getItem("_freshCreditAmount"),this.currencySymbol=sessionStorage.getItem("_freshCreditCurrencySymbol"),this.customerFirstName=sessionStorage.getItem("_freshCreditCustomerFirstName"),this.creditPanel=!0)},textFieldMouseOverStyle(){this.inputMouseOverStyle={borderColor:"#6200EE",color:"#6200EE"},this.inputLabelMouseOverStyle={color:"#6200EE"}},textFieldMouseOutStyle(){this.inputMouseOverStyle={borderColor:"#212121",color:"#212121"},this.inputLabelMouseOverStyle={color:"#212121"}},checkCreditAmount(){parseInt(this.creditAmountToUse)>parseInt(this.creditAmount)?this.showWarning=!0:this.showWarning=!1}}});var vueFreshie=new Vue({el:"#freshie"});window.addEventListener("load",t=>{(function(t,e){"function"==typeof e&&(t.fetch=function(){var t=e.apply(this,arguments);return t.then(({ok:t})=>{arguments[0].includes("/cart/add")&&vueFreshie.$options.components["fresh-credit"].options.methods.getCart()}),t})})(window,window.fetch)}),window.addEventListener("load",()=>{document.querySelectorAll('a[href="/account/logout"]').forEach(t=>{t.addEventListener("click",()=>{vueFreshie.$options.components["fresh-credit"].options.methods.signOut()})});const t=()=>{let t=sessionStorage.getItem("_freshCreditAmountToUse");sessionStorage.getItem("_freshCustomerId")&&t&&"null"!==t&&document.querySelectorAll("form[action='/cart']").forEach(t=>{t.addEventListener("submit",function(t){t.preventDefault(),vueFreshie.$options.components["fresh-credit"].options.methods.createDraftOrder("shop")})})};t(),document.querySelectorAll("button[name='checkout'], a[href$='checkout'], input[name='checkout']").forEach(e=>{e.addEventListener("click",()=>t())}),document.querySelector("[href='/cart']").addEventListener("click",()=>t()),document.querySelectorAll('button[name="add"]').forEach(e=>{e.addEventListener("click",()=>{const e=setInterval(()=>{const i=document.querySelector(".drawer.animate.active");i&&(t(),clearInterval(e))})})})});