"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1452],{10187:(e,n,r)=>{r.d(n,{j:()=>c,y:()=>d});var t=r(23915),i=r(16203);let d=0===(0,t.Dk)().length?(0,t.Wp)({apiKey:"AIzaSyArzhmSuVQNCvq60YIBINwemRcnqoO0E08",appId:"1:260774426049:web:997394d794ae66c8392b40",authDomain:"canyon-ranch-app.firebaseapp.com",measurementId:"G-6VPD0953GG",messagingSenderId:"260774426049",projectId:"canyon-ranch-app",storageBucket:"canyon-ranch-app.firebasestorage.ap"}):(0,t.Sx)(),c=(0,i.xI)(d)},11452:(e,n,r)=>{r.d(n,{f:()=>y});var t=r(12115),i=r(31117),d=r(37165),c=r(43404),a=r(15933),s=r(36112);function o(){let e=(0,a._)(["\n mutation Mutation($input: AddToCartInput!) {\n addToCart(input: $input) {\n data {\n cartId\n coreServiceLines {\n id\n quantity\n merchandiseId\n productId\n title\n description\n medicalConsultRequired\n twoPartService\n linkProductId\n price\n duration\n serviceType\n startTime\n isPreReq\n preReqLinkId\n serviceId\n selectedGenderPreference\n selectedAddOns {\n id\n name\n price\n serviceId\n }\n selectedProvider {\n id\n name\n }\n dateOfBirth\n timeOfBirth\n stateOfBirth\n cityOfBirth\n lineItemId\n previousService\n lastUpdatedBy\n }\n electiveServiceLines {\n id\n quantity\n merchandiseId\n productId\n title\n description\n medicalConsultRequired\n twoPartService\n linkProductId\n price\n duration\n serviceType\n startTime\n serviceId\n isPreReq\n preReqLinkId\n selectedGenderPreference\n actualPriceByDate\n selectedAddOns {\n id\n name\n price\n serviceId\n }\n selectedProvider {\n id\n name\n }\n dateOfBirth\n timeOfBirth\n stateOfBirth\n cityOfBirth\n lineItemId\n previousService\n lastUpdatedBy\n }\n activitiesLines {\n id\n quantity\n merchandiseId\n productId\n title\n description\n medicalConsultRequired\n twoPartService\n linkProductId\n price\n duration\n serviceType\n startTime\n selectedSlots {\n appointmentId\n startDateTime\n endDateTime\n }\n serviceId\n isPreReq\n preReqLinkId\n selectedGenderPreference\n selectedAddOns {\n id\n name\n price\n serviceId\n }\n selectedProvider {\n id\n name\n }\n dateOfBirth\n timeOfBirth\n stateOfBirth\n cityOfBirth\n lineItemId\n previousService\n lastUpdatedBy\n }\n removeLines {\n id\n quantity\n merchandiseId\n productId\n title\n description\n medicalConsultRequired\n twoPartService\n linkProductId\n price\n duration\n serviceType\n startTime\n isPreReq\n serviceId\n preReqLinkId\n selectedGenderPreference\n selectedAddOns {\n id\n name\n price\n serviceId\n }\n selectedProvider {\n id\n name\n }\n dateOfBirth\n timeOfBirth\n stateOfBirth\n cityOfBirth\n lineItemId\n previousService\n lastUpdatedBy\n }\n totalPrice\n cartCount\n }\n success\n message\n }\n }\n"]);return o=function(){return e},e}let l=(0,s.J1)(o());function u(){let e=(0,a._)(["\n query GetServiceCart($cartId: String!) {\n getServiceCart(cartId: $cartId) {\n data {\n cartId\n coreServiceLines {\n id\n quantity\n merchandiseId\n productId\n title\n description\n medicalConsultRequired\n twoPartService\n linkProductId\n price\n duration\n serviceId\n serviceType\n startTime\n isPreReq\n preReqLinkId\n selectedGenderPreference\n selectedAddOns {\n id\n name\n price\n serviceId\n }\n selectedProvider {\n id\n name\n }\n }\n electiveServiceLines {\n id\n quantity\n merchandiseId\n productId\n title\n description\n medicalConsultRequired\n twoPartService\n linkProductId\n price\n duration\n serviceId\n serviceType\n startTime\n isPreReq\n preReqLinkId\n selectedGenderPreference\n actualPriceByDate\n selectedAddOns {\n id\n name\n price\n serviceId\n }\n selectedProvider {\n id\n name\n }\n }\n activitiesLines {\n id\n quantity\n merchandiseId\n productId\n title\n description\n medicalConsultRequired\n twoPartService\n linkProductId\n price\n serviceId\n duration\n serviceType\n startTime\n isPreReq\n preReqLinkId\n selectedGenderPreference\n selectedSlots {\n appointmentId\n startDateTime\n endDateTime\n }\n selectedAddOns {\n id\n name\n price\n serviceId\n }\n selectedProvider {\n id\n name\n }\n }\n removeLines {\n id\n quantity\n merchandiseId\n productId\n title\n description\n medicalConsultRequired\n twoPartService\n linkProductId\n price\n duration\n serviceId\n serviceType\n startTime\n isPreReq\n preReqLinkId\n selectedGenderPreference\n selectedAddOns {\n id\n name\n price\n serviceId\n }\n selectedProvider {\n id\n name\n }\n }\n totalPrice\n cartCount\n }\n success\n message\n }\n }\n"]);return u=function(){return e},e}let v=(0,s.J1)(u());function m(){let e=(0,a._)(["\n mutation Mutation($input: CartRemoveInput!) {\n removeFromCart(input: $input) {\n data {\n cartId\n coreServiceLines {\n id\n quantity\n merchandiseId\n productId\n title\n description\n medicalConsultRequired\n twoPartService\n linkProductId\n price\n duration\n serviceType\n serviceId\n startTime\n isPreReq\n preReqLinkId\n selectedGenderPreference\n selectedAddOns {\n id\n name\n price\n serviceId\n }\n selectedProvider {\n id\n name\n }\n }\n electiveServiceLines {\n id\n quantity\n merchandiseId\n productId\n title\n description\n medicalConsultRequired\n twoPartService\n linkProductId\n price\n duration\n serviceType\n serviceId\n startTime\n isPreReq\n preReqLinkId\n actualPriceByDate\n selectedGenderPreference\n selectedAddOns {\n id\n name\n price\n serviceId\n }\n selectedProvider {\n id\n name\n }\n }\n activitiesLines {\n id\n quantity\n merchandiseId\n productId\n title\n description\n medicalConsultRequired\n twoPartService\n linkProductId\n serviceId\n price\n duration\n serviceType\n startTime\n isPreReq\n preReqLinkId\n selectedGenderPreference\n selectedSlots {\n appointmentId\n startDateTime\n endDateTime\n }\n selectedAddOns {\n id\n name\n price\n serviceId\n }\n selectedProvider {\n id\n name\n }\n }\n removeLines {\n id\n quantity\n merchandiseId\n productId\n title\n description\n medicalConsultRequired\n twoPartService\n linkProductId\n serviceId\n price\n duration\n serviceType\n startTime\n isPreReq\n preReqLinkId\n selectedGenderPreference\n selectedAddOns {\n id\n name\n price\n serviceId\n }\n selectedProvider {\n id\n name\n }\n }\n totalPrice\n cartCount\n }\n }\n }\n"]);return m=function(){return e},e}let p=(0,s.J1)(m());function I(){let e=(0,a._)(["\n mutation UpdateCart($input: AddToCartInput!) {\n updateCart(input: $input) {\n data {\n cartId\n coreServiceLines {\n id\n quantity\n merchandiseId\n productId\n title\n description\n medicalConsultRequired\n twoPartService\n linkProductId\n price\n duration\n serviceId\n serviceType\n startTime\n isPreReq\n preReqLinkId\n selectedGenderPreference\n selectedAddOns {\n id\n name\n price\n serviceId\n }\n selectedProvider {\n id\n name\n }\n }\n electiveServiceLines {\n id\n quantity\n merchandiseId\n productId\n title\n description\n medicalConsultRequired\n twoPartService\n linkProductId\n serviceId\n price\n duration\n serviceType\n startTime\n isPreReq\n preReqLinkId\n selectedGenderPreference\n actualPriceByDate\n selectedAddOns {\n id\n name\n price\n serviceId\n }\n selectedProvider {\n id\n name\n }\n }\n activitiesLines {\n id\n quantity\n merchandiseId\n productId\n title\n description\n medicalConsultRequired\n twoPartService\n linkProductId\n serviceId\n price\n duration\n serviceType\n startTime\n isPreReq\n preReqLinkId\n selectedGenderPreference\n selectedSlots {\n appointmentId\n startDateTime\n endDateTime\n }\n selectedAddOns {\n id\n name\n price\n serviceId\n }\n selectedProvider {\n id\n name\n }\n }\n removeLines {\n id\n quantity\n merchandiseId\n productId\n title\n description\n medicalConsultRequired\n twoPartService\n linkProductId\n price\n duration\n serviceType\n serviceId\n startTime\n isPreReq\n preReqLinkId\n selectedGenderPreference\n selectedAddOns {\n id\n name\n price\n serviceId\n }\n selectedProvider {\n id\n name\n }\n }\n totalPrice\n cartCount\n }\n }\n }\n"]);return I=function(){return e},e}let P=(0,s.J1)(I()),f=(e,n)=>({[d.f[n]]:e}),y=()=>{let e=(0,i.m)(),{logAnalyticsEvent:n}=(0,c.s)();return{addToCart:async function(r,t,i){var d,c,a,s,o,u,v,m,p;let I=arguments.length>3&&void 0!==arguments[3]&&arguments[3],P=f(t,i),y=null;try{let n=await e.mutate({mutation:l,variables:{input:{cartId:r,...P}}});if((null===(d=n.errors)||void 0===d?void 0:d.length)||!1==!!(null===(c=n.data)||void 0===c?void 0:c.addToCart.data))throw y=(null===(s=n.errors)||void 0===s?void 0:s.map(e=>e.message).join(", "))||"Items not added to cart",Error(y);return null===(a=n.data)||void 0===a?void 0:a.addToCart.data}catch(e){throw Error(y=e instanceof Error?e.message:"Error adding items to cart")}finally{let e={cart_id:r,merchandise_id:null===(o=t[0])||void 0===o?void 0:o.merchandiseId,selected_add_ons:null===(u=t[0])||void 0===u?void 0:u.selectedAddOns,selected_provider_name:null!==(p=null===(m=t[0])||void 0===m?void 0:null===(v=m.selectedProvider)||void 0===v?void 0:v.name)&&void 0!==p?p:""};y&&(e.error=!0,e.error_msg=y),n(I?"web_appts_multi_guest_add_cart":"web_appts_add_to_cart",e)}},getServiceCart:(0,t.useCallback)(async function(n){let r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return(await e.query({query:v,variables:{cartId:n},fetchPolicy:r?"network-only":"cache-first"})).data.getServiceCart.data},[e]),removeFromCart:async function(r,t){var i,c,a,s,o;let l=arguments.length>2&&void 0!==arguments[2]&&arguments[2],u=f(t,d.w.Remove),v=null;try{let n=await e.mutate({mutation:p,variables:{input:{cartId:r,...u}}});if((null===(i=n.errors)||void 0===i?void 0:i.length)||!1==!!(null===(c=n.data)||void 0===c?void 0:c.removeFromCart.data))throw v=(null===(s=n.errors)||void 0===s?void 0:s.map(e=>e.message).join(", "))||"Items not removed from cart",Error(v);return null===(a=n.data)||void 0===a?void 0:a.removeFromCart.data}catch(e){throw v=e instanceof Error?e.message:"Error removing items from cart",Error("Error removing items from cart")}finally{let e={cart_id:r,error:v&&!0,error_msg:v||"",line_id:null===(o=t[0])||void 0===o?void 0:o.id};v&&(e.error=!0,e.error_msg=v),n(l?"web_appts_multi_guest_remove_cart":"web_appts_remove_cart",e)}},updateCart:async function(r,t,i){var d,c,a,s,o,l,u,v;let m=arguments.length>3&&void 0!==arguments[3]&&arguments[3],p=f(t,i),I=null;try{let n=await e.mutate({mutation:P,variables:{input:{cartId:r,...p}}});if((null===(d=n.errors)||void 0===d?void 0:d.length)||!1==!!(null===(c=n.data)||void 0===c?void 0:c.updateCart.data))throw I=(null===(s=n.errors)||void 0===s?void 0:s.map(e=>e.message).join(", "))||"Items not added to cart",Error(I);return null===(a=n.data)||void 0===a?void 0:a.updateCart.data}catch(e){throw I=e instanceof Error?e.message:"Error updatiing items from cart",Error("Error updatiing items from cart")}finally{let e={cart_id:r,error:I&&!0,error_msg:I||"",merchandise_id:null===(o=t[0])||void 0===o?void 0:o.merchandiseId,selected_add_ons:t[0].selectedAddOns,selected_provider_name:null!==(v=null===(u=t[0])||void 0===u?void 0:null===(l=u.selectedProvider)||void 0===l?void 0:l.name)&&void 0!==v?v:""};I&&(e.error=!0,e.error_msg=I),n(m?"web_appts_multi_guest_update_cart":"web_appts_update_cart",e)}}}}},37165:(e,n,r)=>{r.d(n,{f:()=>i,w:()=>t});var t=function(e){return e.Core="core",e.Elective="elective",e.Activity="activity",e.Remove="remove",e}({});let i={core:"coreServiceLines",elective:"electiveServiceLines",activity:"activitiesLines",remove:"removeLines"}},43404:(e,n,r)=>{r.d(n,{s:()=>c});var t=r(12115),i=r(86864),d=r(10187);let c=()=>{let[e,n]=(0,t.useState)(null);return(0,t.useEffect)(()=>{(0,i.TT)().then(e=>{e&&n((0,i.P5)(d.y))}).catch(e=>{throw Error("Analytics initialization failed:",e)})},[]),{logAnalyticsEvent:(n,r)=>{if(!e)return;let{error:t,...d}=r,c={success:+!t,...d};try{(0,i.$s)(e,n,c)}catch(e){throw Error("Error logging event")}}}}}}]);