{"version":3,"file":"AutoGlassReplacementForm.BZECAwU1.mjs","names":["DEFAULT_SUPABASE_URL","DEFAULT_SUPABASE_ANON_KEY","React.useState","THEME_COLOR_LIGHT","THEME_COLOR_DARK","THEME_COLOR","DEFAULT_SUPABASE_URL","DEFAULT_SUPABASE_ANON_KEY","React.useState","p","_Fragment","AutoGlassReplacementAuth"],"sources":["https:/framerusercontent.com/modules/ilCvDd6MHDQuo3XcHp4n/km0T7WjYGbnrK9CqPWEN/AutoGlassReplacementEmail.js","https:/framerusercontent.com/modules/DjF83EDkKdoKy9r9aldx/rN1FrL9S1FyY8AHFn07M/AutoGlassReplacementAuth.js","https:/framerusercontent.com/modules/Ezo6jQ8ofAtPoFgLuz2G/iXtMuBGLRpg6pnUEjpCi/AutoGlassReplacementForm.js"],"sourcesContent":["// AutoGlassReplacementEmail.tsx\n// Helper for sending SendGrid dynamic template emails via /functions/v1/email-send\n// Uses the same Supabase/anon key pattern as AutoGlassReplacementForm.\n//\n// Usage (inside AutoGlassReplacementForm AFTER a successful customer-intake call):\n//\n//   import { sendAutoGlassReplacementEmails } from \"./AutoGlassReplacementEmail\"\n//\n//   const payload = buildPayload()\n//   await sendAutoGlassReplacementEmails(payload, {\n//     supabaseUrl: props.supabaseUrl,\n//     anonKey: props.anonKey,\n//     apiKey: props.apiKey,\n//     customerTemplateId: \"d-fbd6a32704204de6a0ea61a718936c30\",\n//     internalTemplateId: \"d-fa8beb366b1c472885e6ca7bc47da174\",\n//   })\n//\n/** ---------------- Supabase & Edge Function Defaults ---------------- **/// Keep these in sync with your real project values.\n// You can override them via function options so they match the form component.\nconst DEFAULT_SUPABASE_URL=\"https://YOUR_PROJECT_REF.supabase.co\";const DEFAULT_SUPABASE_ANON_KEY=\"YOUR_PUBLIC_ANON_KEY\";// Derived default email edge function URL (same pattern as in AutoGlassReplacementForm)\nconst DEFAULT_EMAIL_EDGE_URL=DEFAULT_SUPABASE_URL.replace(/\\/+$/,\"\")+\"/functions/v1/email-send\";/** ---------------- Template & Internal Email Defaults ---------------- **/// Replace these with your real SendGrid dynamic template IDs\nconst DEFAULT_CUSTOMER_TEMPLATE_ID=\"d-fbd6a32704204de6a0ea61a718936c30\";const DEFAULT_INTERNAL_TEMPLATE_ID=\"d-fa8beb366b1c472885e6ca7bc47da174\";// Internal team recipients for new auto glass requests\nconst INTERNAL_RECIPIENTS=[\"bangautoglass@gmail.com\",\"daniisliving@gmail.com\"];/** ---------------- Core helper ---------------- **/export async function sendAutoGlassReplacementEmails(intake,options={}){const{customer,vehicle,appointment,raw_form_payload}=intake;const effectiveSupabaseUrl=(options.supabaseUrl?.trim()||DEFAULT_SUPABASE_URL).trim();let effectiveEmailUrl=options.emailFunctionUrl?.trim()||\"\";if(!effectiveEmailUrl){effectiveEmailUrl=effectiveSupabaseUrl.replace(/\\/+$/,\"\")+\"/functions/v1/email-send\";}const effectiveAnonKey=(options.anonKey?.trim()||DEFAULT_SUPABASE_ANON_KEY).trim();// Basic safety: refuse to send if still using placeholder values\nif(!effectiveSupabaseUrl||!effectiveAnonKey||effectiveSupabaseUrl.includes(\"YOUR_PROJECT_REF\")||effectiveAnonKey.includes(\"YOUR_PUBLIC_ANON_KEY\")){throw new Error(\"Email backend is not wired up yet. Please set your Supabase URL and anon key in AutoGlassReplacementEmail.\");}if(!effectiveEmailUrl){throw new Error(\"Email edge function URL is missing. Check your Supabase URL or emailFunctionUrl override.\");}const customerTemplateId=(options.customerTemplateId||DEFAULT_CUSTOMER_TEMPLATE_ID).trim();const internalTemplateId=(options.internalTemplateId||DEFAULT_INTERNAL_TEMPLATE_ID).trim();if(!customerTemplateId.startsWith(\"d-\")){console.warn(\"[AutoGlassReplacementEmail] Customer template ID does not look like a SendGrid dynamic template id (should start with 'd-').\");}if(!internalTemplateId.startsWith(\"d-\")){console.warn(\"[AutoGlassReplacementEmail] Internal template ID does not look like a SendGrid dynamic template id (should start with 'd-').\");}const jobNumber=options.jobNumber??intake.job_number??raw_form_payload?.job_number??null;const fullName=`${customer.first_name??\"\"} ${customer.last_name??\"\"}`.trim();const servicesList=Array.isArray(appointment.services)&&appointment.services.length?appointment.services.join(\", \"):\"\";// This object is what your SendGrid dynamic templates can reference:\n// {{first_name}}, {{vehicle_year}}, {{vehicle_make}}, {{vehicle_model}}, etc.\nconst dynamic_template_data={// customer\nfirst_name:customer.first_name||\"\",last_name:customer.last_name||\"\",full_name:fullName||\"\",email:customer.email||\"\",phone_number:customer.phone_number||\"\",// vehicle\nvehicle_year:typeof vehicle.year===\"number\"?vehicle.year:vehicle.year??\"\",vehicle_make:vehicle.make||\"\",vehicle_model:vehicle.model||\"\",vin:vehicle.vin||\"\",// appointment basics\nscheduled_date:appointment.scheduled_date||\"\",scheduling_date:appointment.scheduling_date||appointment.scheduled_date||\"\",preferred_time_frame:appointment.preferred_time_frame||appointment.scheduling_time||\"\",street_address:appointment.street_address||\"\",apt_suite:appointment.apt_suite||\"\",city:appointment.city||\"\",state:appointment.state||\"\",zip:appointment.zip||\"\",services:servicesList,notes:appointment.notes||\"\",// insurance\nuse_insurance:appointment.use_insurance??true,insurance_name:appointment.insurance_name||\"\",policy_number:appointment.policy_number||\"\",claim_number:appointment.claim_number||\"\",date_of_loss:appointment.date_of_loss||\"\",// custom time range (if used)\ncustom_start_time:appointment.custom_start_time??appointment.customStartTime??\"\",custom_end_time:appointment.custom_end_time??appointment.customEndTime??\"\",// job / meta\njob_number:jobNumber??\"\",raw_form_payload:raw_form_payload??null};const replyToEmail=(options.replyToEmail||customer.email||\"\").trim()||undefined;const headers={\"Content-Type\":\"application/json\",apikey:effectiveAnonKey};if(options.apiKey){headers[\"X-API-KEY\"]=options.apiKey;}const body={// Customer email\nto:customer.email,sg_dynamic_template_id:customerTemplateId,dynamic_template_data,// Let the edge function decide \"from\" via env vars; we only optionally set reply-to\n...replyToEmail?{reply_to:replyToEmail}:{},// Internal notification email\ninternal:{to:INTERNAL_RECIPIENTS,sg_dynamic_template_id:internalTemplateId,dynamic_template_data:{...dynamic_template_data,is_internal:true},subject:fullName?`New auto glass request from ${fullName}`:\"New auto glass request\"},// If you ever start using billing templates with jobs, this lets the edge\n// function update public.jobs billing flags\n...jobNumber?{job_number:jobNumber}:{}};const res=await fetch(effectiveEmailUrl,{method:\"POST\",headers,body:JSON.stringify(body)});const data=await res.json().catch(()=>({}));if(!res.ok||data&&data.error){throw new Error(data?.error||data?.details||\"Unable to send email right now.\");}return data;}export function AutoGlassReplacementEmail(_){return null;}export default AutoGlassReplacementEmail;\nexport const __FramerMetadata__ = {\"exports\":{\"AutoGlassReplacementEmail\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"EmailCustomer\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SendAutoGlassReplacementEmailOptions\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"AutoGlassReplacementEmailProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"AutoGlassIntakeEmailPayload\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"GlassService\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"sendAutoGlassReplacementEmails\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"EmailAppointment\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"EmailVehicle\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AutoGlassReplacementEmail.map","// AutoGlassReplacementAuth.tsx\n// Post-intake auth signup for Bang AutoGlass customers\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{createClient}from\"@supabase/supabase-js\";/**\n * HARD-CODED BACKEND CONFIG\n *\n * Update these two constants with your real Supabase project URL\n * and public anon key. After that, the component will work without\n * needing to set any Framer property controls.\n */const DEFAULT_SUPABASE_URL=\"https://YOUR_PROJECT_REF.supabase.co\";const DEFAULT_SUPABASE_ANON_KEY=\"YOUR_PUBLIC_ANON_KEY\";// Derived default edge function URL using Supabase pattern\nconst DEFAULT_AUTH_FUNCTION_URL=DEFAULT_SUPABASE_URL.replace(/\\/+$/,\"\")+\"/functions/v1/customer-auth\";// Theme color (Bang blues)\nconst THEME_COLOR=\"#0EA5E9\";const THEME_COLOR_LIGHT=\"#E0F2FE\";const THEME_COLOR_DARK=\"#0369A1\";export function AutoGlassReplacementAuth(props){const{title=\"Create your login\",subtitle=\"Save a password so you can manage your auto glass service online.\",submitButtonLabel=\"Save password\",skipButtonLabel=\"Skip for now\",authFunctionUrl,apiKey,customerUuid,redirectTo:redirectToProp}=props;const[email,setEmail]=React.useState(()=>props.email?.trim().toLowerCase()||\"\");const[password,setPassword]=React.useState(\"\");const[confirmPassword,setConfirmPassword]=React.useState(\"\");const[isSubmitting,setIsSubmitting]=React.useState(false);const[submitError,setSubmitError]=React.useState(null);const[submitSuccess,setSubmitSuccess]=React.useState(null);// Keep email in sync if parent passes it later\nReact.useEffect(()=>{if(props.email){setEmail(prev=>prev?prev:props.email.trim().toLowerCase());}},[props.email]);// ---------- UI STYLES ----------\nconst containerStyle={width:\"100%\",height:\"100%\",boxSizing:\"border-box\",display:\"flex\",alignItems:\"stretch\",justifyContent:\"stretch\"};const authBoxStyle={width:\"100%\",height:\"100%\",boxSizing:\"border-box\",borderRadius:16,border:\"1px solid #e5e7eb\",padding:16,backgroundColor:\"#f9fafb\",display:\"flex\",flexDirection:\"column\",gap:12};const headerTitleStyle={fontSize:16,fontWeight:600,color:\"#0f172a\",margin:0};const headerSubtitleStyle={margin:\"3px 0 0\",fontSize:13,color:\"#6b7280\",lineHeight:1.4};const fieldGroup={display:\"flex\",flexDirection:\"column\",gap:6};const labelStyle={fontSize:12,fontWeight:600,color:\"#111827\",textTransform:\"uppercase\",letterSpacing:\"0.06em\"};const helperTextStyle={fontSize:12,color:\"#6b7280\",marginTop:2};const inputBase={width:\"100%\",boxSizing:\"border-box\",borderRadius:999,border:\"1px solid #EDEDED\",padding:\"10px 16px\",fontSize:14,lineHeight:1.4,outline:\"none\",backgroundColor:\"#ffffff\",boxShadow:\"0 3px 8px rgba(15, 23, 42, 0.06)\",transition:\"box-shadow 0.15s ease, transform 0.05s ease\"};const readOnlyInput={...inputBase,backgroundColor:\"#e5e7eb\",cursor:\"not-allowed\"};const errorAlert={marginTop:4,padding:\"8px 10px\",borderRadius:14,fontSize:13,lineHeight:1.4,backgroundColor:\"#fef2f2\",border:\"1px solid #fecaca\",color:\"#b91c1c\"};const successAlert={marginTop:4,padding:\"8px 10px\",borderRadius:14,fontSize:13,lineHeight:1.4,backgroundColor:THEME_COLOR_LIGHT,border:`1px solid #bae6fd`,color:THEME_COLOR_DARK};const buttonRowStyle={marginTop:6,display:\"flex\",justifyContent:\"flex-end\",alignItems:\"center\",gap:8};const primaryButton={minWidth:120,padding:\"9px 22px\",borderRadius:999,border:\"none\",fontSize:13,fontWeight:600,cursor:\"pointer\",background:`linear-gradient(135deg, ${THEME_COLOR}, #38BDF8)`,color:\"#ffffff\",display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",gap:6,whiteSpace:\"nowrap\"};const primaryButtonDisabled={...primaryButton,cursor:\"default\",opacity:.6};const secondaryButton={padding:\"8px 16px\",borderRadius:999,border:\"1px solid #e5e7eb\",backgroundColor:\"#ffffff\",color:\"#6b7280\",fontSize:12,fontWeight:500,cursor:\"pointer\",display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",whiteSpace:\"nowrap\"};const isPrimaryDisabled=isSubmitting||!!submitSuccess;// ---------- HELPERS ----------\nconst validate=()=>{const trimmedEmail=email.trim().toLowerCase();const pwd=password.trim();const confirm=confirmPassword.trim();if(!trimmedEmail)return\"Please confirm your email address.\";if(!trimmedEmail.includes(\"@\"))return\"Please enter a valid email address.\";if(!pwd)return\"Please choose a password.\";if(pwd.length<8)return\"Password should be at least 8 characters long.\";if(!confirm)return\"Please re-enter your password to confirm.\";if(pwd!==confirm)return\"Passwords do not match. Please try again.\";return null;};const handleSubmit=async()=>{setSubmitError(null);setSubmitSuccess(null);const error=validate();if(error){setSubmitError(error);return;}const effectiveSupabaseUrl=(props.supabaseUrl?.trim()||DEFAULT_SUPABASE_URL).trim();let effectiveAuthUrl=authFunctionUrl?.trim()||\"\";if(!effectiveAuthUrl||effectiveAuthUrl===DEFAULT_AUTH_FUNCTION_URL){effectiveAuthUrl=effectiveSupabaseUrl.replace(/\\/+$/,\"\")+\"/functions/v1/customer-auth\";}const effectiveAnonKey=(props.anonKey?.trim()||DEFAULT_SUPABASE_ANON_KEY).trim();if(!effectiveSupabaseUrl||!effectiveAnonKey||effectiveSupabaseUrl.includes(\"YOUR_PROJECT_REF\")||effectiveAnonKey.includes(\"YOUR_PUBLIC_ANON_KEY\")){setSubmitError(\"Auth backend is not wired up yet. Please set your Supabase URL and anon key in AutoGlassReplacementAuth.\");return;}if(!effectiveAuthUrl){setSubmitError(\"Auth function URL is missing. Check your Supabase URL or Auth URL override.\");return;}setIsSubmitting(true);try{const headers={\"Content-Type\":\"application/json\",apikey:effectiveAnonKey};if(apiKey){headers[\"X-API-KEY\"]=apiKey;}const body={email:email.trim().toLowerCase(),password:password.trim(),first_name:props.firstName??null,last_name:props.lastName??null,phone_number:props.phoneNumber??null,customer_uuid:customerUuid??null,redirect_to:redirectToProp??null};// 1) Call customer-auth edge function to create/link auth user\nconst res=await fetch(effectiveAuthUrl,{method:\"POST\",headers,body:JSON.stringify(body)});const data=await res.json().catch(()=>({}));if(!res.ok||data?.error||data?.ok!==true){const message=data?.details||data?.login_error||data?.error||\"Unable to create or update your login right now.\";throw new Error(message);}// 2) Create Supabase client for browser session handling\nconst supabase=createClient(effectiveSupabaseUrl,effectiveAnonKey,{auth:{persistSession:true}});const backendSession=data?.session;let finalSession=null;// Prefer using the session returned by the edge function (if present)\nif(backendSession&&backendSession.access_token&&backendSession.refresh_token){const{data:setData,error:setError}=await supabase.auth.setSession({access_token:backendSession.access_token,refresh_token:backendSession.refresh_token});if(setError||!setData?.session){console.warn(\"[AutoGlassReplacementAuth] setSession failed, falling back to signInWithPassword\",setError);}else{finalSession=setData.session;}}// Fallback: sign in from the browser if needed\nif(!finalSession){const{data:signInData,error:signInError}=await supabase.auth.signInWithPassword({email:email.trim().toLowerCase(),password:password.trim()});if(signInError||!signInData?.session){console.error(\"[AutoGlassReplacementAuth] Auto-login failed\",signInError);throw new Error(\"Your password was saved, but we couldn’t log you in automatically. Please try signing in from the main login page.\");}finalSession=signInData.session;}setSubmitSuccess(\"Password saved — your account is ready to use.\");if(props.onAuthSuccess){props.onAuthSuccess(finalSession);}// 3) Redirect to the target returned by the function (or fallback)\nconst redirectToUrl=data&&typeof data.redirect_to===\"string\"&&data.redirect_to||redirectToProp||\"https://www.bangautoglass.com/customer/my-account\";if(typeof window!==\"undefined\"){window.location.href=redirectToUrl;}}catch(err){setSubmitError(err?.message||\"Something went wrong while saving your password. Please try again.\");}finally{setIsSubmitting(false);}};const handleSkip=()=>{if(props.onSkip){props.onSkip();}};// ---------- RENDER ----------\nreturn /*#__PURE__*/_jsx(\"div\",{style:containerStyle,children:/*#__PURE__*/_jsxs(\"div\",{style:authBoxStyle,children:[/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"h3\",{style:headerTitleStyle,children:title}),/*#__PURE__*/_jsx(\"p\",{style:headerSubtitleStyle,children:subtitle})]}),/*#__PURE__*/_jsxs(\"div\",{style:fieldGroup,children:[/*#__PURE__*/_jsx(\"label\",{style:labelStyle,children:\"Email\"}),/*#__PURE__*/_jsx(\"input\",{style:readOnlyInput,type:\"email\",value:email,readOnly:true,placeholder:\"name@email.com\"}),/*#__PURE__*/_jsx(\"div\",{style:helperTextStyle,children:\"This email comes from your service request and will be used as your login.\"})]}),/*#__PURE__*/_jsxs(\"div\",{style:fieldGroup,children:[/*#__PURE__*/_jsx(\"label\",{style:labelStyle,children:\"Password\"}),/*#__PURE__*/_jsx(\"input\",{style:inputBase,type:\"password\",value:password,onChange:e=>setPassword(e.target.value),placeholder:\"Create a password\"}),/*#__PURE__*/_jsx(\"div\",{style:helperTextStyle,children:\"At least 8 characters. This will be used to log into your account.\"})]}),/*#__PURE__*/_jsxs(\"div\",{style:fieldGroup,children:[/*#__PURE__*/_jsx(\"label\",{style:labelStyle,children:\"Verify password\"}),/*#__PURE__*/_jsx(\"input\",{style:inputBase,type:\"password\",value:confirmPassword,onChange:e=>setConfirmPassword(e.target.value),placeholder:\"Re-enter your password\"}),/*#__PURE__*/_jsx(\"div\",{style:helperTextStyle,children:\"Enter the same password again to confirm.\"})]}),submitError&&/*#__PURE__*/_jsx(\"div\",{style:errorAlert,children:submitError}),submitSuccess&&/*#__PURE__*/_jsx(\"div\",{style:successAlert,children:submitSuccess}),/*#__PURE__*/_jsxs(\"div\",{style:buttonRowStyle,children:[props.onSkip&&/*#__PURE__*/_jsx(\"button\",{type:\"button\",style:secondaryButton,onClick:handleSkip,disabled:isSubmitting,children:skipButtonLabel}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",style:isPrimaryDisabled?primaryButtonDisabled:primaryButton,disabled:isPrimaryDisabled,onClick:handleSubmit,children:isSubmitting?\"Saving...\":submitSuccess?\"Saved\":submitButtonLabel})]})]})});}// ---- Framer property controls (optional overrides only) ----\naddPropertyControls(AutoGlassReplacementAuth,{title:{type:ControlType.String,title:\"Title\",defaultValue:\"Create your login\"},subtitle:{type:ControlType.String,title:\"Subtitle\",defaultValue:\"Save a password so you can manage your auto glass service online.\"},submitButtonLabel:{type:ControlType.String,title:\"Submit label\",defaultValue:\"Save password\"},skipButtonLabel:{type:ControlType.String,title:\"Skip label\",defaultValue:\"Skip for now\"},email:{type:ControlType.String,title:\"Email (prefill)\",defaultValue:\"\"},firstName:{type:ControlType.String,title:\"First name\",defaultValue:\"\"},lastName:{type:ControlType.String,title:\"Last name\",defaultValue:\"\"},phoneNumber:{type:ControlType.String,title:\"Phone number\",defaultValue:\"\"},customerUuid:{type:ControlType.String,title:\"Customer UUID\",defaultValue:\"\"},authFunctionUrl:{type:ControlType.String,title:\"Auth URL\",defaultValue:DEFAULT_AUTH_FUNCTION_URL},apiKey:{type:ControlType.String,title:\"X-API-KEY\",defaultValue:\"\"},anonKey:{type:ControlType.String,title:\"Anon key\",defaultValue:DEFAULT_SUPABASE_ANON_KEY},supabaseUrl:{type:ControlType.String,title:\"Supabase URL\",defaultValue:DEFAULT_SUPABASE_URL},redirectTo:{type:ControlType.String,title:\"Redirect to\",defaultValue:\"\"}});AutoGlassReplacementAuth.defaultProps={width:480,height:260};AutoGlassReplacementAuth.displayName=\"AutoGlassReplacementAuth\";export default AutoGlassReplacementAuth;\nexport const __FramerMetadata__ = {\"exports\":{\"AutoGlassReplacementAuth\":{\"type\":\"reactComponent\",\"name\":\"AutoGlassReplacementAuth\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"AutoGlassReplacementAuth\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"AutoGlassReplacementAuthProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AutoGlassReplacementAuth.map","// AutoGlassReplacementForm.tsx\n// Multi-step intake form for Bang AutoGlass -> customer-intake edge function\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{decodeVinToYMM}from\"https://framerusercontent.com/modules/6B1iDcJj4BdO6bmid8sx/M6iyOMZtEtqvvsBbDfnL/VinDecoding.js\";import{sendAutoGlassReplacementEmails}from\"https://framerusercontent.com/modules/ilCvDd6MHDQuo3XcHp4n/km0T7WjYGbnrK9CqPWEN/AutoGlassReplacementEmail.js\";import AutoGlassReplacementAuth from\"https://framerusercontent.com/modules/DjF83EDkKdoKy9r9aldx/rN1FrL9S1FyY8AHFn07M/AutoGlassReplacementAuth.js\";/**\n * HARD-CODED BACKEND CONFIG\n *\n * Update these two constants with your real Supabase project URL\n * and public anon key. After that, the form will work without\n * needing to set any Framer property controls.\n */const DEFAULT_SUPABASE_URL=\"https://YOUR_PROJECT_REF.supabase.co\";const DEFAULT_SUPABASE_ANON_KEY=\"YOUR_PUBLIC_ANON_KEY\";// Derived default edge function URL using Supabase pattern\nconst DEFAULT_EDGE_FUNCTION_URL=DEFAULT_SUPABASE_URL.replace(/\\/+$/,\"\")+\"/functions/v1/customer-intake\";// Theme color (Bang blues)\nconst THEME_COLOR=\"#0EA5E9\";const THEME_COLOR_LIGHT=\"#E0F2FE\";const THEME_COLOR_DARK=\"#0369A1\";// Mirror the backend VIN regex to align with DB constraints\nconst VIN_REGEX=/^[A-HJ-NPR-Z0-9]{17}$/;const STEPS=[{id:1,label:\"Contact & vehicle\",description:\"Driver details and VIN\"},{id:2,label:\"Location & timing\",description:\"Where and when to service\"},{id:3,label:\"Insurance or self-pay\",description:\"Coverage and payment\"},{id:4,label:\"Review & submit\",description:\"Double-check your details\"}];const TIME_WINDOW_OPTIONS=[\"Morning: 8am-12pm\",\"Lunch: 10am-2pm\",\"Afternoon 1pm-5pm\",\"Anytime: 9am-5pm\",\"Custom\"];const GLASS_OPTIONS=[{label:\"Windshield Replacement\",value:\"Windshield Replacement\"},{label:\"Door Glass - Driver Front\",value:\"Door Glass - Driver Front\"},{label:\"Door Glass - Driver Rear\",value:\"Door Glass - Driver Rear\"},{label:\"Door Glass - Passenger Front\",value:\"Door Glass - Passenger Front\"},{label:\"Door Glass - Passenger Rear\",value:\"Door Glass - Passenger Rear\"},{label:\"Rear Glass Replacement\",value:\"Rear Glass Replacement\"},{label:\"Sunroof Glass Replacement\",value:\"Sunroof Glass Replacement\"},{label:\"Quarter Panel Glass Replacement\",value:\"Quarter Panel Glass Replacement\"}];export function AutoGlassReplacementForm(props){const{title=\"Schedule auto glass replacement\",subtitle=\"Fast mobile windshield replacement at your location\",submitButtonLabel=\"Submit\",edgeFunctionUrl,apiKey}=props;const[currentStep,setCurrentStep]=React.useState(0);// Page 1\nconst[firstName,setFirstName]=React.useState(\"\");const[lastName,setLastName]=React.useState(\"\");const[phone,setPhone]=React.useState(\"\");const[email,setEmail]=React.useState(\"\");const[vin,setVin]=React.useState(\"\");const[year,setYear]=React.useState(\"\");const[make,setMake]=React.useState(\"\");const[model,setModel]=React.useState(\"\");const[glassPieces,setGlassPieces]=React.useState([]);// Overlay for glass service selection\nconst[serviceOverlayMode,setServiceOverlayMode]=React.useState(null);// Page 2\nconst[scheduleDate,setScheduleDate]=React.useState(\"\");const[preferredTimeFrame,setPreferredTimeFrame]=React.useState(\"Anytime: 9am-5pm\");const[customStartTime,setCustomStartTime]=React.useState(\"\");const[customEndTime,setCustomEndTime]=React.useState(\"\");const[streetAddress,setStreetAddress]=React.useState(\"\");const[aptSuite,setAptSuite]=React.useState(\"\");const[city,setCity]=React.useState(\"\");const[state,setState]=React.useState(\"\");const[zip,setZip]=React.useState(\"\");const[notes,setNotes]=React.useState(\"\");// Page 3\nconst[insuranceCompany,setInsuranceCompany]=React.useState(\"\");const[policyNumber,setPolicyNumber]=React.useState(\"\");const[damageDate,setDamageDate]=React.useState(\"\");const[claimNumber,setClaimNumber]=React.useState(\"\");const[selfPay,setSelfPay]=React.useState(false);// Submit state\nconst[isSubmitting,setIsSubmitting]=React.useState(false);const[submitError,setSubmitError]=React.useState(null);const[submitSuccess,setSubmitSuccess]=React.useState(null);const[showAuthSignup,setShowAuthSignup]=React.useState(true);// VIN decode state\nconst[isDecodingVin,setIsDecodingVin]=React.useState(false);// Ensure default service is Windshield Replacement\nReact.useEffect(()=>{setGlassPieces(prev=>prev.length===0?[\"Windshield Replacement\"]:prev);},[]);// Auto-decode VIN when 17 characters are present\nReact.useEffect(()=>{const vinTrimmed=vin.trim();if(vinTrimmed.length!==17){return;}let cancelled=false;setIsDecodingVin(true);(async()=>{try{const result=await decodeVinToYMM(vinTrimmed,year);if(!result||cancelled)return;if(result.year)setYear(result.year);if(result.make)setMake(result.make);if(result.model)setModel(result.model);}catch{// Silent fail – keep manual inputs\n}finally{if(!cancelled)setIsDecodingVin(false);}})();return()=>{cancelled=true;};// eslint-disable-next-line react-hooks/exhaustive-deps\n},[vin]);// ---- Helpers ----\nconst vinChars=vin.trim().length;const maskPhone=raw=>{const digits=(raw.match(/\\d+/g)||[]).join(\"\");let ten=digits;if(ten.length>10&&ten.startsWith(\"1\")){ten=ten.slice(1);}if(ten.length<=3)return ten;if(ten.length<=6){return`(${ten.slice(0,3)}) ${ten.slice(3)}`;}return`(${ten.slice(0,3)}) ${ten.slice(3,6)}-${ten.slice(6,10)}`;};const handlePhoneChange=value=>{setPhone(maskPhone(value));};const handlePrimaryServiceSelect=value=>{setGlassPieces(prev=>{const others=prev.filter(p=>p!==value);return[value,...others];});};const handleAddServiceSelect=value=>{setGlassPieces(prev=>prev.includes(value)?prev:[...prev,value]);};const handleRemoveService=piece=>{setGlassPieces(prev=>{if(prev.length<=1)return prev;return prev.filter(p=>p!==piece);});};const validateStep=stepIndex=>{if(stepIndex===0){if(!firstName.trim())return\"Please enter your first name.\";if(!lastName.trim())return\"Please enter your last name.\";if(!email.trim())return\"Please enter your email.\";if(!phone.trim())return\"Please enter your phone number.\";const digitCount=(phone.match(/\\d/g)||[]).length;if(digitCount!==10)return\"Phone number must include 10 digits.\";const vinTrimmed=vin.trim().toUpperCase();if(!vinTrimmed)return\"Please enter your VIN.\";if(vinTrimmed.length!==17)return\"VIN must be exactly 17 characters.\";if(!VIN_REGEX.test(vinTrimmed)){return\"VIN must be 17 characters (A-H, J-N, P, R-Z, 0-9). Letters I, O, and Q are not allowed.\";}if(!year.trim())return\"Please enter your vehicle year.\";const numericYear=Number(year);if(!Number.isFinite(numericYear)||numericYear<1900||numericYear>2100){return\"Vehicle year must be between 1900 and 2100.\";}if(!make.trim())return\"Please enter your vehicle make.\";if(!model.trim())return\"Please enter your vehicle model.\";return null;}if(stepIndex===1){if(!scheduleDate)return\"Please choose a preferred service date.\";if(!streetAddress.trim())return\"Please enter the street address.\";if(!city.trim())return\"Please enter the city.\";if(!state.trim())return\"Please select the state.\";if(!zip.trim())return\"Please enter the ZIP code.\";if(preferredTimeFrame===\"Custom\"){if(!customStartTime.trim()||!customEndTime.trim()){return\"Please enter a custom start and end time.\";}if(customEndTime<=customStartTime){return\"Custom end time must be later than start time.\";}}return null;}if(stepIndex===2){if(!selfPay){if(!insuranceCompany.trim())return\"Please enter your insurance company.\";if(!policyNumber.trim())return\"Please enter your policy number.\";if(!damageDate)return\"Please enter the date you noticed damage.\";}return null;}return null;};const handleNext=()=>{setSubmitError(null);const error=validateStep(currentStep);if(error){setSubmitError(error);return;}setCurrentStep(prev=>Math.min(prev+1,STEPS.length-1));};const handleBack=()=>{setSubmitError(null);setCurrentStep(prev=>Math.max(prev-1,0));};const buildPayload=()=>{const customer={first_name:firstName.trim(),last_name:lastName.trim(),phone_number:phone.trim(),email:email.trim().toLowerCase()};const vehicle={year:year?Number(year):undefined,make:make.trim(),model:model.trim(),vin:vin.trim().toUpperCase()};const custom_start_time=preferredTimeFrame===\"Custom\"&&customStartTime?customStartTime:null;const custom_end_time=preferredTimeFrame===\"Custom\"&&customEndTime?customEndTime:null;const appointment={scheduled_date:scheduleDate||null,scheduling_date:scheduleDate||null,preferred_time_frame:preferredTimeFrame,scheduling_time:preferredTimeFrame,street_address:streetAddress.trim(),apt_suite:aptSuite.trim()||null,city:city.trim(),state:state.trim().toUpperCase(),zip:zip.trim(),notes:notes.trim()||null,use_insurance:!selfPay,insurance_name:selfPay?null:insuranceCompany.trim(),policy_number:selfPay?null:policyNumber.trim(),claim_number:selfPay?null:claimNumber.trim()||null,date_of_loss:selfPay?null:damageDate||null,services:glassPieces,services_json:glassPieces,// Custom window support for edge function\ncustom_start_time,custom_end_time,customStartTime:custom_start_time,customEndTime:custom_end_time};const raw_form_payload={step:currentStep+1,customer,vehicle,appointment,self_pay:selfPay};return{customer,vehicle,appointment,raw_form_payload};};const handleSubmit=async()=>{const error=validateStep(2);if(error){setSubmitError(error);setCurrentStep(2);return;}const effectiveSupabaseUrl=(props.supabaseUrl?.trim()||DEFAULT_SUPABASE_URL).trim();let effectiveEdgeUrl=edgeFunctionUrl?.trim()||\"\";if(!effectiveEdgeUrl||effectiveEdgeUrl===DEFAULT_EDGE_FUNCTION_URL){effectiveEdgeUrl=effectiveSupabaseUrl.replace(/\\/+$/,\"\")+\"/functions/v1/customer-intake\";}const effectiveAnonKey=(props.anonKey?.trim()||DEFAULT_SUPABASE_ANON_KEY).trim();if(!effectiveSupabaseUrl||!effectiveAnonKey||effectiveSupabaseUrl.includes(\"YOUR_PROJECT_REF\")||effectiveAnonKey.includes(\"YOUR_PUBLIC_ANON_KEY\")){setSubmitError(\"Form backend is not wired up yet. Please set your Supabase URL and anon key in AutoGlassReplacementForm.\");return;}if(!effectiveEdgeUrl){setSubmitError(\"Edge function URL is missing. Check your Supabase URL or Intake URL override.\");return;}const payload=buildPayload();setIsSubmitting(true);setSubmitError(null);setSubmitSuccess(null);setShowAuthSignup(true);try{const headers={\"Content-Type\":\"application/json\"};headers[\"apikey\"]=effectiveAnonKey;if(apiKey){headers[\"X-API-KEY\"]=apiKey;}const res=await fetch(effectiveEdgeUrl,{method:\"POST\",headers,body:JSON.stringify(payload)});const data=await res.json().catch(()=>({}));if(!res.ok||data?.error){throw new Error(data?.error??\"Unable to submit form right now.\");}setSubmitSuccess(\"Thanks — your request has been submitted.\");// Fire-and-forget email notifications; failures are logged but don't block the UX\nsendAutoGlassReplacementEmails(payload,{supabaseUrl:props.supabaseUrl,anonKey:props.anonKey,apiKey}).catch(emailErr=>{console.warn(\"[AutoGlassReplacementForm] Failed to send emails:\",emailErr);});if(props.onSubmitSuccess){props.onSubmitSuccess(data);}setCurrentStep(3);}catch(err){setSubmitError(err?.message||\"Something went wrong while submitting the form.\");}finally{setIsSubmitting(false);}};// ---------- UI STYLES ----------\nconst containerStyle={width:\"100%\",height:\"100%\",boxSizing:\"border-box\"};const cardStyle={position:\"relative\",width:\"100%\",height:\"100%\",maxWidth:\"100%\",maxHeight:\"100%\",boxSizing:\"border-box\",borderRadius:32,background:\"#ffffff\",boxShadow:\"0 16px 32px rgba(15, 23, 42, 0.18)\",padding:\"24px 20px 20px\",display:\"flex\",flexDirection:\"column\",overflow:\"hidden\"};const headerStyle={marginBottom:10,textAlign:\"center\"};const titleStyle={fontSize:26,lineHeight:1.3,fontWeight:700,letterSpacing:\"-0.03em\",color:\"#111827\",margin:0};const subtitleStyle={margin:\"5px 0 0\",fontSize:14,lineHeight:1.5,color:\"#6b7280\"};const progressBarWrapper={marginTop:12,marginBottom:8};const progressTrack={width:\"100%\",height:6,borderRadius:999,backgroundColor:\"#e5e7eb\",boxShadow:\"inset 0 1px 2px rgba(15, 23, 42, 0.06)\",overflow:\"hidden\"};const progressInner={height:\"100%\",borderRadius:999,background:`linear-gradient(90deg, ${THEME_COLOR}, #38BDF8)`,transition:\"width 0.25s ease\"};const progressLabelRow={marginTop:8,display:\"flex\",justifyContent:\"space-between\",fontSize:12,color:\"#6b7280\"};const contentWrapperStyle={flex:1,overflowY:\"auto\",paddingRight:4,paddingTop:8,paddingBottom:8};const formGrid={display:\"flex\",flexDirection:\"column\",gap:20};const rowGrid2={display:\"grid\",gridTemplateColumns:\"1fr 1fr\",gap:16};const rowGrid3Equal={display:\"grid\",gridTemplateColumns:\"1fr 1fr 1fr\",gap:16};const fieldGroup={display:\"flex\",flexDirection:\"column\",gap:6};const labelRow={display:\"flex\",alignItems:\"baseline\",justifyContent:\"space-between\",gap:8};const labelStyle={fontSize:12,fontWeight:600,color:\"#111827\",textTransform:\"uppercase\",letterSpacing:\"0.06em\"};const hintStyle={fontSize:11,color:\"#9ca3af\",fontWeight:400};const helperTextStyle={fontSize:12,color:\"#6b7280\",marginTop:4};const inputBase={width:\"100%\",boxSizing:\"border-box\",borderRadius:999,border:\"1px solid #EDEDED\",padding:\"12px 18px\",fontSize:14,lineHeight:1.4,outline:\"none\",backgroundColor:\"#ffffff\",boxShadow:\"0 3px 8px rgba(15, 23, 42, 0.08)\",transition:\"box-shadow 0.15s ease, transform 0.05s ease\"};const textareaStyle={...inputBase,borderRadius:20,resize:\"vertical\",minHeight:76,boxShadow:\"0 3px 8px rgba(15, 23, 42, 0.06)\"};const chipBase={width:\"100%\",borderRadius:999,border:\"1px solid #e5e7eb\",padding:\"11px 18px\",fontSize:13,fontWeight:500,textAlign:\"left\",display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",gap:8,background:\"#ffffff\",cursor:\"pointer\",boxShadow:\"0 3px 8px rgba(15, 23, 42, 0.08)\",transition:\"background-color 0.15s ease, box-shadow 0.15s ease, transform 0.05s ease\"};const chipCheck={width:22,height:22,borderRadius:\"999px\",border:\"2px solid #d1d5db\",boxSizing:\"border-box\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",fontSize:13,fontWeight:700};const glassMainButtonStyle={width:\"100%\",marginTop:8,borderRadius:999,border:\"1px solid #EDEDED\",padding:\"12px 18px\",fontSize:14,fontWeight:600,background:\"#ffffff\",color:\"#111827\",boxShadow:\"0 3px 8px rgba(15, 23, 42, 0.08)\",cursor:\"pointer\",display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",gap:12};const mostPopularBadge={display:\"inline-flex\",alignItems:\"center\",padding:\"3px 9px\",borderRadius:999,backgroundColor:\"#FEF3C7\",color:\"#92400E\",fontSize:11,fontWeight:600,letterSpacing:\"0.04em\",textTransform:\"uppercase\"};const selectedLabel={fontSize:11,color:\"#9ca3af\",textTransform:\"uppercase\",letterSpacing:\"0.08em\",fontWeight:600};const addGlassLinkStyle={marginTop:10,fontSize:13,color:THEME_COLOR_DARK,fontWeight:500,background:\"transparent\",border:\"none\",padding:0,cursor:\"pointer\",textDecoration:\"none\",alignSelf:\"flex-start\"};const extraGlassTagsRow={marginTop:10,display:\"flex\",flexWrap:\"wrap\",gap:6,fontSize:12};const extraGlassTag={padding:\"4px 10px\",borderRadius:999,backgroundColor:\"#f3f4f6\",color:\"#4b5563\",display:\"inline-flex\",alignItems:\"center\",gap:6};const extraGlassRemove={border:\"none\",background:\"transparent\",cursor:\"pointer\",fontSize:12,color:\"#9ca3af\"};const footerStyle={borderTop:\"1px solid #f1f5f9\",paddingTop:16,marginTop:8,display:\"flex\",justifyContent:\"center\"};const footerInnerStyle={display:\"flex\",flexDirection:\"column\",alignItems:\"center\",gap:8,width:\"100%\"};const buttonRowStyle={display:\"flex\",alignItems:\"center\",gap:12};const primaryButton={minWidth:120,padding:\"11px 28px\",borderRadius:999,border:\"none\",fontSize:14,fontWeight:600,cursor:\"pointer\",background:`linear-gradient(135deg, ${THEME_COLOR}, #38BDF8)`,color:\"#ffffff\",display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",gap:6};const primaryButtonDisabled={...primaryButton,cursor:\"default\",opacity:.6};const secondaryButton={minWidth:90,padding:\"10px 20px\",borderRadius:999,border:\"1px solid #e5e7eb\",backgroundColor:\"#f9fafb\",color:\"#6b7280\",fontSize:13,fontWeight:500,cursor:\"pointer\",display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\"};const pillToggleWrapper={display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",gap:12,padding:\"12px 14px\",borderRadius:18,border:\"1px solid #e5e7eb\",backgroundColor:\"#f9fafb\",boxShadow:\"0 3px 8px rgba(15, 23, 42, 0.05)\"};const pillToggleLabel={fontSize:13,color:\"#111827\",fontWeight:500};const pillToggleButton={padding:\"7px 14px\",borderRadius:999,border:\"none\",fontSize:11,fontWeight:700,cursor:\"pointer\",textTransform:\"uppercase\",letterSpacing:\"0.08em\"};const alertStyle={marginTop:12,padding:\"9px 11px\",borderRadius:14,fontSize:13,lineHeight:1.45};const errorAlert={...alertStyle,backgroundColor:\"#fef2f2\",border:\"1px solid #fecaca\",color:\"#b91c1c\"};const successAlert={...alertStyle,backgroundColor:THEME_COLOR_LIGHT,border:`1px solid #bae6fd`,color:THEME_COLOR_DARK};const orRowStyle={fontSize:11,color:\"#9ca3af\",textTransform:\"uppercase\",letterSpacing:\"0.16em\"};const selfPayFooterWrapper={...pillToggleWrapper,maxWidth:420};// Overlay styles\nconst overlayBackdrop={position:\"absolute\",inset:0,backgroundColor:\"rgba(15,23,42,0.45)\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",zIndex:20};const overlayCard={width:\"100%\",maxWidth:360,borderRadius:24,backgroundColor:\"#ffffff\",padding:20,boxShadow:\"0 18px 36px rgba(15,23,42,0.3)\",display:\"flex\",flexDirection:\"column\",gap:10};const overlayTitleStyle={fontSize:15,fontWeight:600,color:\"#111827\",marginBottom:2};const overlaySubtitleStyle={fontSize:13,color:\"#6b7280\",marginBottom:6};const overlayOptionsList={display:\"flex\",flexDirection:\"column\",gap:8,marginTop:6};const overlayOptionButton={...chipBase,boxShadow:\"0 2px 6px rgba(15,23,42,0.08)\"};const overlayFooterRow={marginTop:10,display:\"flex\",justifyContent:\"flex-end\",gap:8};const overlayModeLabel=serviceOverlayMode===\"primary\"?\"Choose your main glass service\":\"Add another piece of glass\";const primaryGlassService=glassPieces.length>0?glassPieces[0]:\"Windshield Replacement\";const availableExtraOptions=GLASS_OPTIONS.filter(opt=>!glassPieces.includes(opt.value));// ---------- STEP RENDERERS ----------\nconst renderStep1=()=>/*#__PURE__*/_jsxs(\"div\",{style:formGrid,children:[/*#__PURE__*/_jsxs(\"div\",{style:rowGrid2,children:[/*#__PURE__*/_jsxs(\"div\",{style:fieldGroup,children:[/*#__PURE__*/_jsx(\"label\",{style:labelStyle,children:\"First name\"}),/*#__PURE__*/_jsx(\"input\",{style:inputBase,value:firstName,onChange:e=>setFirstName(e.target.value),placeholder:\"First name\"})]}),/*#__PURE__*/_jsxs(\"div\",{style:fieldGroup,children:[/*#__PURE__*/_jsx(\"label\",{style:labelStyle,children:\"Last name\"}),/*#__PURE__*/_jsx(\"input\",{style:inputBase,value:lastName,onChange:e=>setLastName(e.target.value),placeholder:\"Last name\"})]})]}),/*#__PURE__*/_jsxs(\"div\",{style:rowGrid2,children:[/*#__PURE__*/_jsxs(\"div\",{style:fieldGroup,children:[/*#__PURE__*/_jsx(\"label\",{style:labelStyle,children:\"Phone number\"}),/*#__PURE__*/_jsx(\"input\",{style:inputBase,value:phone,onChange:e=>handlePhoneChange(e.target.value),placeholder:\"(555) 555-1234\"})]}),/*#__PURE__*/_jsxs(\"div\",{style:fieldGroup,children:[/*#__PURE__*/_jsx(\"label\",{style:labelStyle,children:\"Email\"}),/*#__PURE__*/_jsx(\"input\",{style:inputBase,type:\"email\",value:email,onChange:e=>setEmail(e.target.value),placeholder:\"name@email.com\"})]})]}),/*#__PURE__*/_jsxs(\"div\",{style:fieldGroup,children:[/*#__PURE__*/_jsxs(\"div\",{style:labelRow,children:[/*#__PURE__*/_jsx(\"span\",{style:labelStyle,children:\"VIN\"}),/*#__PURE__*/_jsxs(\"span\",{style:hintStyle,children:[vinChars,\"/17 characters\"]})]}),/*#__PURE__*/_jsx(\"input\",{style:inputBase,value:vin,onChange:e=>setVin(e.target.value.toUpperCase()),maxLength:17,placeholder:\"17-character Vehicle Identification Number\"}),/*#__PURE__*/_jsxs(\"div\",{style:helperTextStyle,children:[\"VIN will help auto-fill year, make, and model.\",isDecodingVin&&/*#__PURE__*/_jsx(\"span\",{style:{marginLeft:6,color:THEME_COLOR_DARK,fontWeight:500},children:\"Decoding VIN…\"})]})]}),/*#__PURE__*/_jsxs(\"div\",{style:rowGrid3Equal,children:[/*#__PURE__*/_jsxs(\"div\",{style:fieldGroup,children:[/*#__PURE__*/_jsx(\"label\",{style:labelStyle,children:\"Year\"}),/*#__PURE__*/_jsx(\"input\",{style:inputBase,type:\"number\",value:year,onChange:e=>setYear(e.target.value),placeholder:\"e.g. 2022\"})]}),/*#__PURE__*/_jsxs(\"div\",{style:fieldGroup,children:[/*#__PURE__*/_jsx(\"label\",{style:labelStyle,children:\"Make\"}),/*#__PURE__*/_jsx(\"input\",{style:inputBase,value:make,onChange:e=>setMake(e.target.value),placeholder:\"e.g. Toyota\"})]}),/*#__PURE__*/_jsxs(\"div\",{style:fieldGroup,children:[/*#__PURE__*/_jsx(\"label\",{style:labelStyle,children:\"Model\"}),/*#__PURE__*/_jsx(\"input\",{style:inputBase,value:model,onChange:e=>setModel(e.target.value),placeholder:\"e.g. Camry\"})]})]}),/*#__PURE__*/_jsxs(\"div\",{style:fieldGroup,children:[/*#__PURE__*/_jsx(\"span\",{style:labelStyle,children:\"Glass service\"}),/*#__PURE__*/_jsxs(\"button\",{type:\"button\",style:glassMainButtonStyle,onClick:()=>setServiceOverlayMode(\"primary\"),children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",alignItems:\"flex-start\",gap:4},children:[/*#__PURE__*/_jsx(\"span\",{children:primaryGlassService}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:8},children:[primaryGlassService===\"Windshield Replacement\"&&/*#__PURE__*/_jsx(\"span\",{style:mostPopularBadge,children:\"Most Popular\"}),/*#__PURE__*/_jsx(\"span\",{style:selectedLabel,children:\"Selected\"})]})]}),/*#__PURE__*/_jsx(\"span\",{style:{fontSize:18,color:\"#6b7280\"},children:\"▾\"})]}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",style:addGlassLinkStyle,onClick:()=>availableExtraOptions.length>0&&setServiceOverlayMode(\"add\"),disabled:availableExtraOptions.length===0,children:\"+ Add piece of glass\"}),glassPieces.length>1&&/*#__PURE__*/_jsx(\"div\",{style:extraGlassTagsRow,children:glassPieces.slice(1).map(piece=>/*#__PURE__*/_jsxs(\"span\",{style:extraGlassTag,children:[/*#__PURE__*/_jsx(\"span\",{children:piece}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",style:extraGlassRemove,onClick:()=>handleRemoveService(piece),children:\"\\xd7\"})]},piece))})]})]});const renderStep2=()=>/*#__PURE__*/_jsxs(\"div\",{style:formGrid,children:[/*#__PURE__*/_jsxs(\"div\",{style:rowGrid2,children:[/*#__PURE__*/_jsxs(\"div\",{style:fieldGroup,children:[/*#__PURE__*/_jsx(\"label\",{style:labelStyle,children:\"Schedule date\"}),/*#__PURE__*/_jsx(\"input\",{style:inputBase,type:\"date\",value:scheduleDate,onChange:e=>setScheduleDate(e.target.value)})]}),/*#__PURE__*/_jsxs(\"div\",{style:fieldGroup,children:[/*#__PURE__*/_jsx(\"label\",{style:labelStyle,children:\"Preferred time frame\"}),/*#__PURE__*/_jsx(\"select\",{style:inputBase,value:preferredTimeFrame,onChange:e=>setPreferredTimeFrame(e.target.value),children:TIME_WINDOW_OPTIONS.map(opt=>/*#__PURE__*/_jsx(\"option\",{value:opt,children:opt},opt))})]})]}),preferredTimeFrame===\"Custom\"&&/*#__PURE__*/_jsxs(\"div\",{style:rowGrid2,children:[/*#__PURE__*/_jsxs(\"div\",{style:fieldGroup,children:[/*#__PURE__*/_jsx(\"label\",{style:labelStyle,children:\"Custom start time\"}),/*#__PURE__*/_jsx(\"input\",{style:inputBase,type:\"time\",value:customStartTime,onChange:e=>setCustomStartTime(e.target.value),placeholder:\"09:00\"})]}),/*#__PURE__*/_jsxs(\"div\",{style:fieldGroup,children:[/*#__PURE__*/_jsx(\"label\",{style:labelStyle,children:\"Custom end time\"}),/*#__PURE__*/_jsx(\"input\",{style:inputBase,type:\"time\",value:customEndTime,onChange:e=>setCustomEndTime(e.target.value),placeholder:\"15:30\"})]})]}),/*#__PURE__*/_jsxs(\"div\",{style:rowGrid2,children:[/*#__PURE__*/_jsxs(\"div\",{style:fieldGroup,children:[/*#__PURE__*/_jsx(\"label\",{style:labelStyle,children:\"Street address\"}),/*#__PURE__*/_jsx(\"input\",{style:inputBase,value:streetAddress,onChange:e=>setStreetAddress(e.target.value),placeholder:\"Service location\"})]}),/*#__PURE__*/_jsxs(\"div\",{style:fieldGroup,children:[/*#__PURE__*/_jsxs(\"label\",{style:labelStyle,children:[\"Apt/Suite\",\" \",/*#__PURE__*/_jsx(\"span\",{style:{color:\"#9ca3af\",fontWeight:400},children:\"(optional)\"})]}),/*#__PURE__*/_jsx(\"input\",{style:inputBase,value:aptSuite,onChange:e=>setAptSuite(e.target.value),placeholder:\"Apt, Suite, Unit\"})]})]}),/*#__PURE__*/_jsxs(\"div\",{style:rowGrid3Equal,children:[/*#__PURE__*/_jsxs(\"div\",{style:fieldGroup,children:[/*#__PURE__*/_jsx(\"label\",{style:labelStyle,children:\"City\"}),/*#__PURE__*/_jsx(\"input\",{style:inputBase,value:city,onChange:e=>setCity(e.target.value),placeholder:\"City\"})]}),/*#__PURE__*/_jsxs(\"div\",{style:fieldGroup,children:[/*#__PURE__*/_jsx(\"label\",{style:labelStyle,children:\"State\"}),/*#__PURE__*/_jsxs(\"select\",{style:inputBase,value:state,onChange:e=>setState(e.target.value),children:[/*#__PURE__*/_jsx(\"option\",{value:\"\",children:\"Select state\"}),/*#__PURE__*/_jsx(\"option\",{value:\"AZ\",children:\"AZ\"}),/*#__PURE__*/_jsx(\"option\",{value:\"FL\",children:\"FL\"})]})]}),/*#__PURE__*/_jsxs(\"div\",{style:fieldGroup,children:[/*#__PURE__*/_jsx(\"label\",{style:labelStyle,children:\"Zip\"}),/*#__PURE__*/_jsx(\"input\",{style:inputBase,value:zip,onChange:e=>setZip(e.target.value),placeholder:\"ZIP code\"})]})]}),/*#__PURE__*/_jsxs(\"div\",{style:fieldGroup,children:[/*#__PURE__*/_jsxs(\"label\",{style:labelStyle,children:[\"Notes\",\" \",/*#__PURE__*/_jsx(\"span\",{style:{color:\"#9ca3af\",fontWeight:400},children:\"(optional)\"})]}),/*#__PURE__*/_jsx(\"textarea\",{style:textareaStyle,value:notes,onChange:e=>setNotes(e.target.value),placeholder:\"Anything else we should know about access, pets, or parking.\"})]})]});const renderStep3=()=>/*#__PURE__*/_jsxs(\"div\",{style:formGrid,children:[!selfPay&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(\"div\",{style:rowGrid2,children:[/*#__PURE__*/_jsxs(\"div\",{style:fieldGroup,children:[/*#__PURE__*/_jsx(\"label\",{style:labelStyle,children:\"Insurance company\"}),/*#__PURE__*/_jsx(\"input\",{style:inputBase,value:insuranceCompany,onChange:e=>setInsuranceCompany(e.target.value),placeholder:\"e.g. GEICO, Progressive\"})]}),/*#__PURE__*/_jsxs(\"div\",{style:fieldGroup,children:[/*#__PURE__*/_jsx(\"label\",{style:labelStyle,children:\"Policy number\"}),/*#__PURE__*/_jsx(\"input\",{style:inputBase,value:policyNumber,onChange:e=>setPolicyNumber(e.target.value),placeholder:\"Policy number\"})]})]}),/*#__PURE__*/_jsxs(\"div\",{style:rowGrid2,children:[/*#__PURE__*/_jsxs(\"div\",{style:fieldGroup,children:[/*#__PURE__*/_jsx(\"label\",{style:labelStyle,children:\"Date you noticed damage\"}),/*#__PURE__*/_jsx(\"input\",{style:inputBase,type:\"date\",value:damageDate,onChange:e=>setDamageDate(e.target.value)})]}),/*#__PURE__*/_jsxs(\"div\",{style:fieldGroup,children:[/*#__PURE__*/_jsxs(\"label\",{style:labelStyle,children:[\"Claim number\",\" \",/*#__PURE__*/_jsx(\"span\",{style:{color:\"#9ca3af\",fontWeight:400},children:\"(optional)\"})]}),/*#__PURE__*/_jsx(\"input\",{style:inputBase,value:claimNumber,onChange:e=>setClaimNumber(e.target.value),placeholder:\"If you already opened a claim\"})]})]})]}),selfPay&&/*#__PURE__*/_jsx(\"div\",{style:successAlert,children:\"You’ve chosen self-pay. We’ll still confirm details with you before any work is scheduled.\"})]});const renderStep4=()=>/*#__PURE__*/_jsxs(\"div\",{style:formGrid,children:[/*#__PURE__*/_jsxs(\"div\",{style:{...fieldGroup,marginBottom:4},children:[/*#__PURE__*/_jsx(\"h3\",{style:{margin:0,fontSize:18,fontWeight:600,color:\"#0f172a\"},children:\"Review your details\"}),/*#__PURE__*/_jsx(\"p\",{style:{margin:\"4px 0 0\",fontSize:14,color:\"#6b7280\"},children:\"Make sure everything looks accurate before you submit.\"})]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"grid\",gridTemplateColumns:\"minmax(0, 1.1fr) minmax(0, 1.1fr)\",gap:16},children:[/*#__PURE__*/_jsxs(\"div\",{style:{borderRadius:16,border:\"1px solid #e5e7eb\",padding:14,backgroundColor:\"#f9fafb\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:13,fontWeight:600,marginBottom:6},children:\"Contact\"}),/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:13,color:\"#4b5563\",lineHeight:1.5},children:[firstName,\" \",lastName,/*#__PURE__*/_jsx(\"br\",{}),email,/*#__PURE__*/_jsx(\"br\",{}),phone]})]}),/*#__PURE__*/_jsxs(\"div\",{style:{borderRadius:16,border:\"1px solid #e5e7eb\",padding:14,backgroundColor:\"#f9fafb\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:13,fontWeight:600,marginBottom:6},children:\"Vehicle\"}),/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:13,color:\"#4b5563\",lineHeight:1.5},children:[year,\" \",make,\" \",model,/*#__PURE__*/_jsx(\"br\",{}),\"VIN: \",vin,/*#__PURE__*/_jsx(\"br\",{}),\"Glass:\",\" \",glassPieces.length>0?glassPieces.join(\", \"):\"Not specified\"]})]}),/*#__PURE__*/_jsxs(\"div\",{style:{borderRadius:16,border:\"1px solid #e5e7eb\",padding:14,backgroundColor:\"#f9fafb\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:13,fontWeight:600,marginBottom:6},children:\"Location & timing\"}),/*#__PURE__*/_jsxs(\"div\",{style:{fontSize:13,color:\"#4b5563\",lineHeight:1.5},children:[streetAddress,aptSuite?`, ${aptSuite}`:\"\",/*#__PURE__*/_jsx(\"br\",{}),city,\", \",state,\" \",zip,/*#__PURE__*/_jsx(\"br\",{}),\"Date: \",scheduleDate||\"—\",/*#__PURE__*/_jsx(\"br\",{}),\"Time frame: \",preferredTimeFrame,preferredTimeFrame===\"Custom\"&&customStartTime&&customEndTime&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"br\",{}),\"Custom: \",customStartTime,\" – \",customEndTime]})]})]}),/*#__PURE__*/_jsxs(\"div\",{style:{borderRadius:16,border:\"1px solid #e5e7eb\",padding:14,backgroundColor:\"#f9fafb\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:13,fontWeight:600,marginBottom:6},children:\"Payment\"}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:13,color:\"#4b5563\",lineHeight:1.5},children:selfPay?/*#__PURE__*/_jsx(_Fragment,{children:\"Self-pay\"}):/*#__PURE__*/_jsxs(_Fragment,{children:[\"Insurance: \",insuranceCompany||\"—\",/*#__PURE__*/_jsx(\"br\",{}),\"Policy: \",policyNumber||\"—\",/*#__PURE__*/_jsx(\"br\",{}),\"Date of damage: \",damageDate||\"—\",/*#__PURE__*/_jsx(\"br\",{}),\"Claim #: \",claimNumber||\"—\"]})})]})]}),notes&&/*#__PURE__*/_jsxs(\"div\",{style:{borderRadius:16,border:\"1px solid #e5e7eb\",padding:14,backgroundColor:\"#f9fafb\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{fontSize:13,fontWeight:600,marginBottom:6},children:\"Notes to our team\"}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:13,color:\"#4b5563\",whiteSpace:\"pre-wrap\"},children:notes})]}),submitSuccess&&showAuthSignup&&/*#__PURE__*/_jsx(AutoGlassReplacementAuth,{email:email,firstName:firstName,lastName:lastName,phoneNumber:phone,supabaseUrl:props.supabaseUrl,anonKey:props.anonKey,apiKey:apiKey,onSkip:()=>setShowAuthSignup(false),onAuthSuccess:()=>setShowAuthSignup(false)})]});const isLastStep=currentStep===STEPS.length-1;const primaryActionLabel=currentStep<STEPS.length-1?\"Next\":submitButtonLabel||\"Submit\";const isPrimaryDisabled=isSubmitting||currentStep===3&&!!submitSuccess;const progressWidth=`${(currentStep+1)/STEPS.length*100}%`;const overlayOptions=serviceOverlayMode===\"primary\"?GLASS_OPTIONS:availableExtraOptions;// ---------- RENDER ROOT ----------\nreturn /*#__PURE__*/_jsx(\"div\",{style:containerStyle,children:/*#__PURE__*/_jsxs(\"div\",{style:cardStyle,children:[/*#__PURE__*/_jsxs(\"header\",{style:headerStyle,children:[/*#__PURE__*/_jsx(\"h2\",{style:titleStyle,children:title}),/*#__PURE__*/_jsx(\"p\",{style:subtitleStyle,children:subtitle}),/*#__PURE__*/_jsxs(\"div\",{style:progressBarWrapper,children:[/*#__PURE__*/_jsx(\"div\",{style:progressTrack,children:/*#__PURE__*/_jsx(\"div\",{style:{...progressInner,width:progressWidth}})}),/*#__PURE__*/_jsxs(\"div\",{style:progressLabelRow,children:[/*#__PURE__*/_jsx(\"span\",{children:`Step ${currentStep+1} of ${STEPS.length}`}),/*#__PURE__*/_jsx(\"span\",{children:STEPS[currentStep].label})]})]})]}),/*#__PURE__*/_jsxs(\"main\",{style:contentWrapperStyle,children:[currentStep===0&&renderStep1(),currentStep===1&&renderStep2(),currentStep===2&&renderStep3(),currentStep===3&&renderStep4(),submitError&&/*#__PURE__*/_jsx(\"div\",{style:errorAlert,children:submitError}),submitSuccess&&/*#__PURE__*/_jsx(\"div\",{style:successAlert,children:submitSuccess})]}),/*#__PURE__*/_jsx(\"footer\",{style:footerStyle,children:/*#__PURE__*/_jsxs(\"div\",{style:footerInnerStyle,children:[/*#__PURE__*/_jsxs(\"div\",{style:buttonRowStyle,children:[currentStep>0&&/*#__PURE__*/_jsx(\"button\",{type:\"button\",style:secondaryButton,onClick:handleBack,disabled:isSubmitting,children:\"Back\"}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",style:isPrimaryDisabled?primaryButtonDisabled:primaryButton,disabled:isPrimaryDisabled,onClick:isLastStep?handleSubmit:handleNext,children:isSubmitting?\"Submitting...\":submitSuccess&&currentStep===3?\"Submitted\":primaryActionLabel})]}),currentStep===2&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{style:orRowStyle,children:\"or\"}),/*#__PURE__*/_jsxs(\"div\",{style:selfPayFooterWrapper,children:[/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"div\",{style:pillToggleLabel,children:\"How would you like to pay?\"}),/*#__PURE__*/_jsx(\"div\",{style:{fontSize:12,color:\"#6b7280\",marginTop:2},children:\"Choose insurance details or select self-pay.\"})]}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:()=>setSelfPay(prev=>!prev),style:{...pillToggleButton,backgroundColor:selfPay?THEME_COLOR:\"#ffffff\",color:selfPay?\"#ffffff\":\"#4b5563\",border:selfPay?`1px solid ${THEME_COLOR}`:\"1px solid #d1d5db\"},children:selfPay?\"Self-pay selected\":\"Use self-pay\"})]})]})]})}),serviceOverlayMode&&/*#__PURE__*/_jsx(\"div\",{style:overlayBackdrop,children:/*#__PURE__*/_jsxs(\"div\",{style:overlayCard,children:[/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsx(\"div\",{style:overlayTitleStyle,children:overlayModeLabel}),/*#__PURE__*/_jsxs(\"div\",{style:overlaySubtitleStyle,children:[\"Tap a piece of glass to\",\" \",serviceOverlayMode===\"primary\"?\"set as your main service.\":\"add it to this appointment.\"]})]}),/*#__PURE__*/_jsxs(\"div\",{style:overlayOptionsList,children:[overlayOptions.map(opt=>{const isActive=serviceOverlayMode===\"primary\"?primaryGlassService===opt.value:glassPieces.includes(opt.value);return /*#__PURE__*/_jsxs(\"button\",{type:\"button\",style:{...overlayOptionButton,borderColor:isActive?THEME_COLOR:\"#e5e7eb\",color:isActive?THEME_COLOR_DARK:\"#111827\"},onClick:()=>{if(serviceOverlayMode===\"primary\"){handlePrimaryServiceSelect(opt.value);}else{handleAddServiceSelect(opt.value);}setServiceOverlayMode(null);},children:[/*#__PURE__*/_jsx(\"span\",{children:opt.label}),isActive&&/*#__PURE__*/_jsx(\"span\",{style:{...chipCheck,borderColor:THEME_COLOR,backgroundColor:THEME_COLOR,color:\"#ffffff\"},children:\"✓\"})]},opt.value);}),overlayOptions.length===0&&/*#__PURE__*/_jsx(\"div\",{style:{fontSize:13,color:\"#6b7280\",marginTop:4},children:\"All available pieces of glass are already added.\"})]}),/*#__PURE__*/_jsx(\"div\",{style:overlayFooterRow,children:/*#__PURE__*/_jsx(\"button\",{type:\"button\",style:secondaryButton,onClick:()=>setServiceOverlayMode(null),children:\"Cancel\"})})]})})]})});}// ---- Framer property controls (optional overrides only) ----\naddPropertyControls(AutoGlassReplacementForm,{title:{type:ControlType.String,title:\"Title\",defaultValue:\"Schedule auto glass replacement\"},subtitle:{type:ControlType.String,title:\"Subtitle\",defaultValue:\"Fast mobile windshield replacement at your location\"},submitButtonLabel:{type:ControlType.String,title:\"Submit label\",defaultValue:\"Submit request\"},edgeFunctionUrl:{type:ControlType.String,title:\"Intake URL\",defaultValue:DEFAULT_EDGE_FUNCTION_URL},apiKey:{type:ControlType.String,title:\"X-API-KEY\",defaultValue:\"\"},anonKey:{type:ControlType.String,title:\"Anon key\",defaultValue:DEFAULT_SUPABASE_ANON_KEY},supabaseUrl:{type:ControlType.String,title:\"Supabase URL\",defaultValue:DEFAULT_SUPABASE_URL}});AutoGlassReplacementForm.defaultProps={width:960,height:720};AutoGlassReplacementForm.displayName=\"AutoGlassReplacementForm\";export default AutoGlassReplacementForm;\nexport const __FramerMetadata__ = {\"exports\":{\"AutoGlassReplacementFormProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"AutoGlassReplacementForm\":{\"type\":\"reactComponent\",\"name\":\"AutoGlassReplacementForm\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"AutoGlassReplacementForm\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AutoGlassReplacementForm.map"],"mappings":"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"}